From 210d5ec72bbc4ba426b21f69e6f65b6d75923d05 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 18 May 2019 01:27:54 +0200 Subject: Update examples to raylib 2.5 -WIP- Remove old examples --- examples/web/models/models_animation.c | 136 + examples/web/models/models_animation.exe | Bin 0 -> 868352 bytes examples/web/models/models_billboard.c | 15 +- examples/web/models/models_billboard.data | Bin 22439 -> 0 bytes examples/web/models/models_billboard.html | 240 - examples/web/models/models_billboard.js | 42358 ------------- examples/web/models/models_box_collisions.c | 15 +- examples/web/models/models_box_collisions.html | 240 - examples/web/models/models_box_collisions.js | 25655 -------- examples/web/models/models_cubicmap.c | 15 +- examples/web/models/models_cubicmap.data | Bin 37426 -> 0 bytes examples/web/models/models_cubicmap.html | 240 - examples/web/models/models_cubicmap.js | 44418 -------------- examples/web/models/models_first_person_maze.c | 165 + examples/web/models/models_first_person_maze.exe | Bin 0 -> 869376 bytes examples/web/models/models_geometric_shapes.c | 15 +- examples/web/models/models_geometric_shapes.html | 240 - examples/web/models/models_geometric_shapes.js | 25642 -------- examples/web/models/models_heightmap.c | 15 +- examples/web/models/models_heightmap.data | Bin 10920 -> 0 bytes examples/web/models/models_heightmap.html | 240 - examples/web/models/models_heightmap.js | 43634 -------------- examples/web/models/models_material_pbr.c | 15 +- examples/web/models/models_mesh_generation.c | 15 +- examples/web/models/models_mesh_generation.html | 240 - examples/web/models/models_mesh_generation.js | 32393 ---------- examples/web/models/models_mesh_picking.c | 15 +- examples/web/models/models_mesh_picking.data | 554 - examples/web/models/models_mesh_picking.html | 240 - examples/web/models/models_mesh_picking.js | 48960 --------------- examples/web/models/models_obj_loading.c | 15 +- examples/web/models/models_obj_loading.data | 60390 ------------------- examples/web/models/models_obj_loading.html | 240 - examples/web/models/models_obj_loading.js | 46720 -------------- examples/web/models/models_obj_viewer.c | 163 + examples/web/models/models_obj_viewer.exe | Bin 0 -> 869888 bytes .../web/models/models_orthographic_projection.c | 130 + .../web/models/models_orthographic_projection.exe | Bin 0 -> 868352 bytes examples/web/models/models_rlgl_solar_system.c | 188 + examples/web/models/models_skybox.c | 19 +- examples/web/models/models_yaw_pitch_roll.c | 15 +- examples/web/models/models_yaw_pitch_roll.data | 12570 ---- examples/web/models/models_yaw_pitch_roll.html | 240 - examples/web/models/models_yaw_pitch_roll.js | 48132 --------------- examples/web/models/resources/angle_gauge.png | Bin 11761 -> 12919 bytes examples/web/models/resources/dresden_square.hdr | Bin 0 -> 1524733 bytes examples/web/models/resources/guy/guy.blend | Bin 0 -> 665304 bytes examples/web/models/resources/guy/guy.iqm | Bin 0 -> 39408 bytes examples/web/models/resources/guy/guyanim.iqm | Bin 0 -> 18244 bytes examples/web/models/resources/guy/guytex.png | Bin 0 -> 302388 bytes examples/web/models/resources/model/dwarf.obj | 54966 ----------------- .../web/models/resources/model/dwarf_diffuse.png | Bin 1274623 -> 0 bytes .../web/models/resources/model/dwarf_normal.png | Bin 4053623 -> 0 bytes .../web/models/resources/model/dwarf_specular.png | Bin 2938756 -> 0 bytes examples/web/models/resources/models/bridge.obj | 1725 + .../web/models/resources/models/bridge_diffuse.png | Bin 0 -> 318869 bytes examples/web/models/resources/models/castle.obj | 12919 ++++ .../web/models/resources/models/castle_diffuse.png | Bin 0 -> 1538906 bytes examples/web/models/resources/models/cube.obj | 68 + .../web/models/resources/models/cube_diffuse.png | Bin 0 -> 24179 bytes examples/web/models/resources/models/house.obj | 4564 ++ .../web/models/resources/models/house_diffuse.png | Bin 0 -> 392943 bytes examples/web/models/resources/models/market.obj | 7301 +++ .../web/models/resources/models/market_diffuse.png | Bin 0 -> 389873 bytes examples/web/models/resources/models/turret.obj | 1888 + .../web/models/resources/models/turret_diffuse.png | Bin 0 -> 380535 bytes examples/web/models/resources/models/well.obj | 1030 + .../web/models/resources/models/well_diffuse.png | Bin 0 -> 342817 bytes examples/web/models/resources/pinetree.hdr | Bin 6139508 -> 0 bytes examples/web/models/resources/plane.png | Bin 4872 -> 4810 bytes examples/web/models/resources/shaders/brdf.fs | 75 +- examples/web/models/resources/shaders/cubemap.fs | 4 +- examples/web/models/resources/shaders/cubemap.vs | 4 +- .../web/models/resources/shaders/irradiance.fs | 4 +- examples/web/models/resources/shaders/pbr.vs | 12 +- examples/web/models/resources/shaders/prefilter.fs | 4 +- examples/web/models/resources/shaders/skybox.fs | 4 +- examples/web/models/resources/shaders/skybox.vs | 4 +- examples/web/models/resources/tower.obj | 456 - examples/web/models/resources/tower.png | Bin 24939 -> 0 bytes examples/web/models/rlgl.h | 4614 ++ examples/web/models/rlights.h | 177 + 82 files changed, 35133 insertions(+), 489223 deletions(-) create mode 100644 examples/web/models/models_animation.c create mode 100644 examples/web/models/models_animation.exe delete mode 100644 examples/web/models/models_billboard.data delete mode 100644 examples/web/models/models_billboard.html delete mode 100644 examples/web/models/models_billboard.js delete mode 100644 examples/web/models/models_box_collisions.html delete mode 100644 examples/web/models/models_box_collisions.js delete mode 100644 examples/web/models/models_cubicmap.data delete mode 100644 examples/web/models/models_cubicmap.html delete mode 100644 examples/web/models/models_cubicmap.js create mode 100644 examples/web/models/models_first_person_maze.c create mode 100644 examples/web/models/models_first_person_maze.exe delete mode 100644 examples/web/models/models_geometric_shapes.html delete mode 100644 examples/web/models/models_geometric_shapes.js delete mode 100644 examples/web/models/models_heightmap.data delete mode 100644 examples/web/models/models_heightmap.html delete mode 100644 examples/web/models/models_heightmap.js delete mode 100644 examples/web/models/models_mesh_generation.html delete mode 100644 examples/web/models/models_mesh_generation.js delete mode 100644 examples/web/models/models_mesh_picking.data delete mode 100644 examples/web/models/models_mesh_picking.html delete mode 100644 examples/web/models/models_mesh_picking.js delete mode 100644 examples/web/models/models_obj_loading.data delete mode 100644 examples/web/models/models_obj_loading.html delete mode 100644 examples/web/models/models_obj_loading.js create mode 100644 examples/web/models/models_obj_viewer.c create mode 100644 examples/web/models/models_obj_viewer.exe create mode 100644 examples/web/models/models_orthographic_projection.c create mode 100644 examples/web/models/models_orthographic_projection.exe create mode 100644 examples/web/models/models_rlgl_solar_system.c delete mode 100644 examples/web/models/models_yaw_pitch_roll.data delete mode 100644 examples/web/models/models_yaw_pitch_roll.html delete mode 100644 examples/web/models/models_yaw_pitch_roll.js create mode 100644 examples/web/models/resources/dresden_square.hdr create mode 100644 examples/web/models/resources/guy/guy.blend create mode 100644 examples/web/models/resources/guy/guy.iqm create mode 100644 examples/web/models/resources/guy/guyanim.iqm create mode 100644 examples/web/models/resources/guy/guytex.png delete mode 100644 examples/web/models/resources/model/dwarf.obj delete mode 100644 examples/web/models/resources/model/dwarf_diffuse.png delete mode 100644 examples/web/models/resources/model/dwarf_normal.png delete mode 100644 examples/web/models/resources/model/dwarf_specular.png create mode 100644 examples/web/models/resources/models/bridge.obj create mode 100644 examples/web/models/resources/models/bridge_diffuse.png create mode 100644 examples/web/models/resources/models/castle.obj create mode 100644 examples/web/models/resources/models/castle_diffuse.png create mode 100644 examples/web/models/resources/models/cube.obj create mode 100644 examples/web/models/resources/models/cube_diffuse.png create mode 100644 examples/web/models/resources/models/house.obj create mode 100644 examples/web/models/resources/models/house_diffuse.png create mode 100644 examples/web/models/resources/models/market.obj create mode 100644 examples/web/models/resources/models/market_diffuse.png create mode 100644 examples/web/models/resources/models/turret.obj create mode 100644 examples/web/models/resources/models/turret_diffuse.png create mode 100644 examples/web/models/resources/models/well.obj create mode 100644 examples/web/models/resources/models/well_diffuse.png delete mode 100644 examples/web/models/resources/pinetree.hdr delete mode 100644 examples/web/models/resources/tower.obj delete mode 100644 examples/web/models/resources/tower.png create mode 100644 examples/web/models/rlgl.h create mode 100644 examples/web/models/rlights.h (limited to 'examples/web/models') diff --git a/examples/web/models/models_animation.c b/examples/web/models/models_animation.c new file mode 100644 index 0000000..10e2425 --- /dev/null +++ b/examples/web/models/models_animation.c @@ -0,0 +1,136 @@ +/******************************************************************************************* +* +* raylib [models] example - Load 3d model with animations and play them +* +* This example has been created using raylib 2.5 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2019 Ramon Santamaria (@raysan5) and @culacant +* +********************************************************************************************/ + +#include "raylib.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +const int screenWidth = 800; +const int screenHeight = 450; + +// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +Camera camera = { 0 }; + +Model model = { 0 }; +Texture2D texture = { 0 }; + +Vector3 position = { 0.0f, 0.0f, 0.0f }; + +// Load animation data +int animsCount = 0; +ModelAnimation *anims = 0; +int animFrameCounter = 0; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Program Main Entry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib [models] example - model animation"); + + // Define the camera to look into our 3d world + camera.position = (Vector3){ 10.0f, 10.0f, 10.0f }; // Camera position + camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point + camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + camera.type = CAMERA_PERSPECTIVE; // Camera mode type + + model = LoadModel("resources/guy/guy.iqm"); // Load the animated model mesh and basic data + texture = LoadTexture("resources/guy/guytex.png"); // Load model texture and set material + SetMaterialTexture(&model.materials[0], MAP_DIFFUSE, texture); // Set model material map texture + + // Load animation data + anims = LoadModelAnimations("resources/guy/guyanim.iqm", &animsCount); + + SetCameraMode(camera, CAMERA_FREE); // Set free camera mode + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + // Unload model animations data + for (int i = 0; i < animsCount; i++) UnloadModelAnimation(anims[i]); + + UnloadModel(model); // Unload model + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera); + + // Play animation when spacebar is held down + if (IsKeyDown(KEY_SPACE)) + { + animFrameCounter++; + UpdateModelAnimation(model, anims[0], animFrameCounter); + if (animFrameCounter >= anims[0].frameCount) animFrameCounter = 0; + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + BeginMode3D(camera); + + DrawModelEx(model, position, (Vector3){ 1.0f, 0.0f, 0.0f }, -90.0f, (Vector3){ 1.0f, 1.0f, 1.0f }, WHITE); + + for (int i = 0; i < model.boneCount; i++) + { + DrawCube(anims[0].framePoses[animFrameCounter][i].translation, 0.2f, 0.2f, 0.2f, RED); + } + + DrawGrid(10, 1.0f); // Draw a grid + + EndMode3D(); + + DrawText("PRESS SPACE to PLAY MODEL ANIMATION", 10, 10, 20, MAROON); + DrawText("(c) Guy IQM 3D model by @culacant", screenWidth - 200, screenHeight - 20, 10, GRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} diff --git a/examples/web/models/models_animation.exe b/examples/web/models/models_animation.exe new file mode 100644 index 0000000..4bd3767 Binary files /dev/null and b/examples/web/models/models_animation.exe differ diff --git a/examples/web/models/models_billboard.c b/examples/web/models/models_billboard.c index 15e5cc4..ea64d03 100644 --- a/examples/web/models/models_billboard.c +++ b/examples/web/models/models_billboard.c @@ -15,10 +15,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -39,19 +35,11 @@ void UpdateDrawFrame(void); // Update and Draw one frame //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - drawing billboards"); -#endif bill = LoadTexture("resources/billboard.png"); // Our texture billboard @@ -76,9 +64,8 @@ int main(void) CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_billboard.data b/examples/web/models/models_billboard.data deleted file mode 100644 index e2fe398..0000000 Binary files a/examples/web/models/models_billboard.data and /dev/null differ diff --git a/examples/web/models/models_billboard.html b/examples/web/models/models_billboard.html deleted file mode 100644 index a124fce..0000000 --- a/examples/web/models/models_billboard.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
Downloading...
- - - - - -
- -
-
- -
- -
- - - - - - - \ No newline at end of file diff --git a/examples/web/models/models_billboard.js b/examples/web/models/models_billboard.js deleted file mode 100644 index 2322cec..0000000 --- a/examples/web/models/models_billboard.js +++ /dev/null @@ -1,42358 +0,0 @@ - -var Module; - -if (typeof Module === 'undefined') Module = {}; - -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'models/models_billboard.data'; - var REMOTE_PACKAGE_BASE = 'models_billboard.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - - var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; - var PACKAGE_UUID = metadata.package_uuid; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onerror = function(event) { - throw new Error("NetworkError for: " + packageName); - } - xhr.onload = function(event) { - if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - var packageData = xhr.response; - callback(packageData); - } else { - throw new Error(xhr.statusText + " : " + xhr.responseURL); - } - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetchedCallback = null; - var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; - - if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } -Module['FS_createPath']('/', 'resources', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - } - }; - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); - } - - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_models/models_billboard.data'); - - }; - Module['addRunDependency']('datafile_models/models_billboard.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 22439, "filename": "/resources/billboard.png"}], "remote_package_size": 22439, "package_uuid": "1ff4d646-0f51-4660-b9bb-3dc35c329efa"}); - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; - -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) - -if (Module['ENVIRONMENT']) { - if (Module['ENVIRONMENT'] === 'WEB') { - ENVIRONMENT_IS_WEB = true; - } else if (Module['ENVIRONMENT'] === 'WORKER') { - ENVIRONMENT_IS_WORKER = true; - } else if (Module['ENVIRONMENT'] === 'NODE') { - ENVIRONMENT_IS_NODE = true; - } else if (Module['ENVIRONMENT'] === 'SHELL') { - ENVIRONMENT_IS_SHELL = true; - } else { - throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); - } -} else { - ENVIRONMENT_IS_WEB = typeof window === 'object'; - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; - ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -} - - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function shell_read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(xhr.response); - }; - } - - 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)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function shell_print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = undefined; - - - -// {{PREAMBLE_ADDITIONS}} - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = Runtime.stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -/** @type {function(number, number, string, boolean=)} */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - -/** @type {function(number, string, boolean=)} */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -/** @type {function(number, number=)} */ -function Pointer_stringify(ptr, length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; -function UTF8ArrayToString(u8Array, idx) { - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - while (u8Array[endPtr]) ++endPtr; - - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; -function UTF16ToString(ptr) { - assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - while (HEAP16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - - -function UTF32ToString(ptr) { - assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - 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 : (x + ' [' + y + ']'); - }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - 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); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; -var ASMJS_PAGE_SIZE = 16777216; -var MIN_TOTAL_MEMORY = 16777216; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBuffer(buf) { - Module['buffer'] = buffer = buf; -} - -function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); -} - -var STATIC_BASE, STATICTOP, staticSealed; // static area -var STACK_BASE, STACKTOP, STACK_MAX; // stack area -var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk - - STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; - staticSealed = false; - - -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - assert((STACK_MAX & 3) == 0); - HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; - HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; -} - -function checkStackCookie() { - if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { - abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); - } - // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. - if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; -} - -function abortStackOverflow(allocSize) { - abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!'); -} - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; -if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, - 'JS engine does not provide full typed array support'); - - - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); -} else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); -} -updateGlobalBufferViews(); - - -function getTotalMemory() { - return TOTAL_MEMORY; -} - -// Endianness check (note: assumes compiler arch was little-endian) - HEAP32[0] = 0x63736d65; /* 'emsc' */ -HEAP16[1] = 0x6373; -if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Module['dynCall_v'](func); - } else { - Module['dynCall_vi'](func, callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - checkStackCookie(); - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - checkStackCookie(); - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated */ -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') - HEAP8.set(array, buffer); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]) }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = Runtime.GLOBAL_BASE; - -STATICTOP = STATIC_BASE + 23280; -/* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,160,64,0,0,128,64,0,0,160,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,0,0,0,0,64,0,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,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,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,15,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,15,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,15,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,15,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,15,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,15,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,15,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,15,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,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,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,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,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,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,205,204,12,64,0,0,128,63,0,0,128,63,46,186,232,62,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,128,191,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,227,86,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,100,114,97,119,105,110,103,32,98,105,108,108,98,111,97,114,100,115,0,114,101,115,111,117,114,99,101,115,47,98,105,108,108,98,111,97,114,100,46,112,110,103,0,5,5,4,0,2,3,7,0,3,3,11,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,46,103,105,102,0,114,98,0,46,104,100,114,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,111,110,108,121,32,51,32,99,104,97,110,110,101,108,32,51,50,32,98,105,116,32,102,108,111,97,116,115,41,0,46,100,100,115,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,111,117,116,111,102,109,101,109,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,35,63,82,65,68,73,65,78,67,69,0,35,63,82,71,66,69,0,110,111,116,32,72,68,82,0,70,79,82,77,65,84,61,51,50,45,98,105,116,95,114,108,101,95,114,103,98,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,111,114,109,97,116,0,45,89,32,0,117,110,115,117,112,112,111,114,116,101,100,32,100,97,116,97,32,108,97,121,111,117,116,0,43,88,32,0,105,110,118,97,108,105,100,32,100,101,99,111,100,101,100,32,115,99,97,110,108,105,110,101,32,108,101,110,103,116,104,0,99,111,114,114,117,112,116,0,35,63,82,65,68,73,65,78,67,69,10,0,35,63,82,71,66,69,10,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,37,50,105,32,70,80,83,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,56,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,59,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,0,99,111,108,68,105,102,102,117,115,101,0,116,101,120,116,117,114,101,48,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },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 frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - - - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - 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); }; - } - - // Extension available from Firefox 25 and WebKit - 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"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - 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 _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - 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); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var 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 { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - 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/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - 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++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },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 /* do not set timing and call scheduler, we will do it on the next lines */); - _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; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - 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; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - 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) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - 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(); // empty shim - 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); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - 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)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - 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) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - 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; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['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); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - 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) { - Module.printErr('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) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - 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 () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - 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(); - } // drop it on the floor otherwise, next interval will kick in - }, 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) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - 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); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - 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 () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['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; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function (event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function (event) { - GLFW.refreshJoysticks(); - },onKeydown:function (event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function (event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function (cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function () { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setDropCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.dropFunc = cbfun; - },onDrop:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data), { encoding: 'binary' }); - if (++written === count) { - Module['dynCall_viii'](GLFW.active.dropFunc, GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - 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 the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - 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) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - - var fd = process.stdin.fd; - if (isPosixPlatform) { - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - 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) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - 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') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - 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(); - // add the new node to the parent - 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; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - 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 = {}; - // device numbers reuse inode numbers. - 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); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - 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)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - 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) { - // reuse all of the core MEMFS functionality - 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) { - // check the cache first - 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; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var 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(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - 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); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - 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); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - // Issue 4254: Using curr as a node name will prevent the node - // from being found in FS.nameTable when FS.open is called on - // a path which holds a child of this node, - // given that all FS functions assume node names - // are just their corresponding parts within their given path, - // rather than incremental aggregates which include their parent's - // directories. - 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]; - } - // We also accept FileList here, by using Array.prototype - 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); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - 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(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=STATICTOP; STATICTOP += 16;; - - var _stdout=STATICTOP; STATICTOP += 16;; - - var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - 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) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - 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; // root node sets parent to itself - } - 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 = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - 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; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - 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); } - } - }); - } - // clone it, so we can return an instance of FSStream - 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); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(err) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(err); - } - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return doCallback(err); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - 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; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - 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 != ERRNO_CODES.EEXIST) throw e; - } - } - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - 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); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : 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) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - 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)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - 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)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - 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 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - 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'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - 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) { - // ignore EEXIST - } - 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; - } - // make sure we can write to the file - 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); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - 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() { - // Find length - 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; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - 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!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - 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; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - 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) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - 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); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - 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(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same 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; // no database to load from - 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; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - 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) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - - // Chromium does not fire the gamepadconnected event on reload, so we need to get the number of gamepads here as a workaround. - // See https://bugs.chromium.org/p/chromium/issues/detail?id=502824 - var firstState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null); - if (firstState) { - JSEvents.numGamepadsConnected = firstState.length; - } - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceMotionEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _glfwGetMouseButton(winid, button) { - return GLFW.getMouseButton(winid, button); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - 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 ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - 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 _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - // NOTE: offset_high is unused - Emscripten's off_t is 32-bit - var offset = offset_low; - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - 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 _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - 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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - - - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - - - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - - - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init(); -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 self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("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) }; -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; -JSEvents.staticInit();; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); - -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; - -staticSealed = true; // seal the static portion of memory - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { -'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_max=global.Math.max; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var enlargeMemory=env.enlargeMemory; - var getTotalMemory=env.getTotalMemory; - var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; - var abortStackOverflow=env.abortStackOverflow; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var ___syscall146=env.___syscall146; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _llvm_pow_f64=env._llvm_pow_f64; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var ___syscall221=env.___syscall221; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _glfwGetMouseButton=env._glfwGetMouseButton; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _glfwGetKey=env._glfwGetKey; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS - -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $0 = 0, $1 = 0, $2 = 0, $bill$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $bill$byval_copy = sp + 24|0; - $0 = sp; - $1 = HEAP32[2]|0; - $2 = HEAP32[3]|0; - _InitWindow($1,$2,4244); - _LoadTexture($0,4289); - ;HEAP32[17736>>2]=HEAP32[$0>>2]|0;HEAP32[17736+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[17736+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[17736+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[17736+16>>2]=HEAP32[$0+16>>2]|0; - dest=$bill$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetCameraMode($bill$byval_copy,2); - _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$bill$byval_copy>>2]=HEAP32[17736>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[17736+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[17736+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[17736+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[17736+16>>2]|0; - _UnloadTexture($bill$byval_copy); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $bill$byval_copy = 0, $billPosition$byval_copy = 0, $camera$byval_copy1 = 0, $tmpcast$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $tmpcast$byval_copy = sp + 80|0; - $billPosition$byval_copy = sp + 68|0; - $bill$byval_copy = sp + 48|0; - $camera$byval_copy1 = sp + 8|0; - $0 = sp + 120|0; - $1 = sp; - _UpdateCamera(16); - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $2 = ((($0)) + 1|0); - HEAP8[$2>>0] = -11; - $3 = ((($0)) + 2|0); - HEAP8[$3>>0] = -11; - $4 = ((($0)) + 3|0); - HEAP8[$4>>0] = -1; - ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($tmpcast$byval_copy); - dest=$tmpcast$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($tmpcast$byval_copy); - HEAP32[$1>>2] = -1; - dest=$camera$byval_copy1; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$bill$byval_copy>>2]=HEAP32[17736>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[17736+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[17736+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[17736+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[17736+16>>2]|0; - ;HEAP32[$billPosition$byval_copy>>2]=HEAP32[56>>2]|0;HEAP32[$billPosition$byval_copy+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$billPosition$byval_copy+8>>2]=HEAP32[56+8>>2]|0; - ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; - _DrawBillboard($camera$byval_copy1,$bill$byval_copy,$billPosition$byval_copy,2.0,$tmpcast$byval_copy); - _DrawGrid(10,1.0); - _End3dMode(); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; -} -function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; - var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; - var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; - var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; - var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; - var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; - var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; - var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; - var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; - var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; - var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; - var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; - var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; - var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; - var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; - var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; - var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; - var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; - var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; - var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; - var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; - var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; - var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; - var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; - var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; - var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; - var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; - var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; - var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; - var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; - var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; - var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; - var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; - var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; - var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; - var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; - var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; - var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; - var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; - var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; - var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; - var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; - var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; - var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; - var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; - var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; - var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; - var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; - var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; - var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; - var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; - var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; - var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; - var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; - var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; - var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; - var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; - var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; - var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; - var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; - var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; - var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; - var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; - var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; - var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; - var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; - var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; - var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; - var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; - var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; - var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; - var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; - var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; - var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; - var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; - var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $7 = sp + 64|0; - $8 = sp; - $9 = HEAP32[$2>>2]|0; - $10 = (($1) + ($9)|0); - $11 = HEAP32[$5>>2]|0; - $12 = (($4) + ($11)|0); - $13 = $6 & 4; - $14 = ($13|0)!=(0); - $15 = $4; - $16 = $3; - $17 = $16 ^ -1; - $18 = (($15) + ($17))|0; - $19 = (($18) + ($11))|0; - $$1753 = $14 ? -1 : $19; - $20 = (($$1753) + 1)|0; - $21 = $20 & $$1753; - $22 = ($21|0)!=(0); - $23 = ($4>>>0)<($3>>>0); - $or$cond1702 = $23 | $22; - if ($or$cond1702) { - HEAP32[$5>>2] = 0; - HEAP32[$2>>2] = 0; - $$0951 = -3; - STACKTOP = sp;return ($$0951|0); - } - $24 = ((($0)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 56|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($0)) + 60|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - L5: do { - switch ($36|0) { - case 0: { - $37 = ((($0)) + 12|0); - HEAP32[$37>>2] = 0; - $38 = ((($0)) + 8|0); - HEAP32[$38>>2] = 0; - $39 = ((($0)) + 28|0); - HEAP32[$39>>2] = 1; - $40 = ((($0)) + 16|0); - HEAP32[$40>>2] = 1; - $41 = $6 & 1; - $42 = ($41|0)==(0); - if ($42) { - $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; - label = 14; - } else { - $43 = ($9|0)<(1); - if ($43) { - $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; - label = 6; - } else { - $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; - label = 8; - } - } - break; - } - case 1: { - $46 = ($9|0)>(0); - if ($46) { - $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; - label = 8; - } else { - $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; - label = 6; - } - break; - } - case 2: { - $53 = ($9|0)>(0); - if ($53) { - $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; - label = 12; - } else { - $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; - label = 10; - } - break; - } - case 36: { - $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; - label = 243; - break; - } - case 3: { - $75 = ($9|0)>(0); - if ($75) { - $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; - label = 18; - } else { - $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; - label = 16; - } - break; - } - case 5: { - $90 = ($9|0)>(0); - if ($90) { - $91 = ((($1)) + 1|0); - $92 = HEAP8[$1>>0]|0; - $93 = $92&255; - $$01412 = $93;$$111518 = $91; - } else { - $88 = $6 & 2; - $89 = ($88|0)==(0); - if ($89) { - $$01412 = 0;$$111518 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; - label = 243; - break L5; - } - } - $94 = $$01412 << $25; - $95 = $94 | $27; - $96 = (($25) + 8)|0; - $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; - label = 25; - break; - } - case 6: { - $106 = ($9|0)>(0); - if ($106) { - $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; - label = 32; - } else { - $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; - label = 30; - } - break; - } - case 7: { - $120 = ($9|0)>(0); - if ($120) { - $121 = ((($1)) + 1|0); - $122 = HEAP8[$1>>0]|0; - $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; - label = 39; - } else { - $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; - label = 36; - } - break; - } - case 39: { - $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; - label = 43; - break; - } - case 51: { - $152 = ($9|0)>(0); - if ($152) { - $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; - label = 49; - } else { - $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; - label = 47; - } - break; - } - case 52: { - $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; - label = 52; - break; - } - case 9: { - $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; - label = 55; - break; - } - case 38: { - $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; - label = 56; - break; - } - case 40: { - $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; - label = 58; - break; - } - case 10: { - $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; - label = 60; - break; - } - case 11: { - $193 = ($9|0)>(0); - if ($193) { - $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; - label = 66; - } else { - $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; - label = 64; - } - break; - } - case 14: { - $224 = ($9|0)>(0); - if ($224) { - $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; - label = 75; - } else { - $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; - label = 73; - } - break; - } - case 35: { - $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; - label = 86; - break; - } - case 16: { - $452 = ($9|0)>(0); - if ($452) { - $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; - label = 116; - } else { - $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; - label = 114; - } - break; - } - case 17: { - $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; - label = 125; - break; - } - case 18: { - $503 = ($9|0)>(0); - if ($503) { - $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; - label = 130; - } else { - $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; - label = 128; - } - break; - } - case 21: { - $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; - label = 136; - break; - } - case 23: { - $572 = ($9|0)>(0); - if ($572) { - $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; - label = 153; - } else { - $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; - label = 151; - } - break; - } - case 24: { - $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; - label = 160; - break; - } - case 25: { - $696 = ($9|0)>(0); - if ($696) { - $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; - label = 182; - } else { - $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; - label = 180; - } - break; - } - case 26: { - $737 = ($9|0)>(0); - if ($737) { - $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; - label = 195; - } else { - $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; - label = 193; - } - break; - } - case 27: { - $784 = ($9|0)>(0); - if ($784) { - $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; - label = 206; - } else { - $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; - label = 204; - } - break; - } - case 37: { - $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; - label = 210; - break; - } - case 53: { - $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; - label = 213; - break; - } - case 32: { - $842 = ($9|0)>(0); - if ($842) { - $843 = ((($1)) + 1|0); - $844 = HEAP8[$1>>0]|0; - $845 = $844&255; - $$0949 = $845;$$881595 = $843; - } else { - $840 = $6 & 2; - $841 = ($840|0)==(0); - if ($841) { - $$0949 = 0;$$881595 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; - label = 243; - break L5; - } - } - $846 = $$0949 << $25; - $847 = $846 | $27; - $848 = (($25) + 8)|0; - $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; - label = 226; - break; - } - case 41: { - $858 = ($9|0)>(0); - if ($858) { - $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; - label = 233; - } else { - $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; - label = 231; - } - break; - } - case 42: { - $871 = ($9|0)>(0); - if ($871) { - $872 = ((($1)) + 1|0); - $873 = HEAP8[$1>>0]|0; - $874 = $873&255; - $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; - label = 241; - } else { - $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; - label = 237; - } - break; - } - case 34: { - $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; - label = 242; - break; - } - default: { - $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; - label = 244; - } - } - } while(0); - if ((label|0) == 6) { - $44 = $6 & 2; - $45 = ($44|0)==(0); - if ($45) { - $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; - label = 9; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; - label = 243; - } - } - else if ((label|0) == 8) { - $47 = ((($1)) + 1|0); - $48 = HEAP8[$1>>0]|0; - $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; - label = 9; - } - if ((label|0) == 9) { - $$sink3 = $$sink3$shrunk&255; - $49 = ((($0)) + 8|0); - HEAP32[$49>>2] = $$sink3; - $50 = ($$01507>>>0)<($10>>>0); - if ($50) { - $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; - label = 12; - } else { - $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; - label = 10; - } - } - if ((label|0) == 10) { - $51 = $6 & 2; - $52 = ($51|0)==(0); - if ($52) { - $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; - label = 13; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; - label = 243; - } - } - else if ((label|0) == 12) { - $54 = ((($$sink1705)) + 1|0); - $55 = HEAP8[$$sink1705>>0]|0; - $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; - label = 13; - } - if ((label|0) == 13) { - $$sink9 = $$sink9$shrunk&255; - $56 = ((($0)) + 12|0); - HEAP32[$56>>2] = $$sink9; - $57 = ((($0)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = $58 << 8; - $60 = $59 | $$sink9; - $61 = (($60>>>0) % 31)&-1; - $62 = $$sink9 & 32; - $63 = $61 | $62; - $64 = $58 & 15; - $65 = ($64|0)!=(8); - $not$ = ($63|0)!=(0); - $$1754 = $65 | $not$; - $66 = $58 >>> 4; - $67 = 256 << $66; - $68 = ($67>>>0)>(32768); - $69 = ($20>>>0)<($67>>>0); - $$ = $68 | $69; - $not$1755 = $14 ^ 1; - $70 = $$ & $not$1755; - $$31100$v = $70 | $$1754; - if ($$31100$v) { - $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; - label = 243; - } else { - $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; - label = 14; - } - } - L46: while(1) { - switch (label|0) { - case 14: { - label = 0; - $71 = ($$5>>>0)<(3); - if ($71) { - $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; - label = 15; - } else { - $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; - label = 20; - } - break; - } - case 16: { - label = 0; - $73 = $6 & 2; - $74 = ($73|0)==(0); - if ($74) { - $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; - label = 19; - } else { - $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; - label = 243; - continue L46; - } - break; - } - case 18: { - label = 0; - $76 = ((($$sink1710)) + 1|0); - $77 = HEAP8[$$sink1710>>0]|0; - $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; - label = 19; - break; - } - case 25: { - label = 0; - $97 = $$13 & 7; - $98 = $$131322 >>> $97; - $99 = (($$13) - ($97))|0; - $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; - label = 26; - break; - } - case 30: { - label = 0; - $104 = $6 & 2; - $105 = ($104|0)==(0); - if ($105) { - $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; - label = 33; - } else { - $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; - label = 243; - continue L46; - } - break; - } - case 32: { - label = 0; - $107 = ((($$sink1713)) + 1|0); - $108 = HEAP8[$$sink1713>>0]|0; - $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; - label = 33; - break; - } - case 36: { - label = 0; - $118 = $6 & 2; - $119 = ($118|0)==(0); - if ($119) { - $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; - label = 39; - continue L46; - } else { - $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; - label = 243; - continue L46; - } - break; - } - case 39: { - label = 0; - $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); - HEAP8[$$sink13>>0] = $$sink12; - $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; - label = 41; - break; - } - case 43: { - label = 0; - $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; - label = 243; - continue L46; - break; - } - case 47: { - label = 0; - $150 = $6 & 2; - $151 = ($150|0)==(0); - if ($151) { - $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; - label = 50; - } else { - $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; - label = 243; - continue L46; - } - break; - } - case 49: { - label = 0; - $153 = ((($$sink1716)) + 1|0); - $154 = HEAP8[$$sink1716>>0]|0; - $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; - label = 50; - break; - } - case 52: { - label = 0; - $162 = ($$231630>>>0)<($12>>>0); - if (!($162)) { - $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; - label = 243; - continue L46; - } - $163 = $$271018&255; - $164 = ((($$231630)) + 1|0); - HEAP8[$$231630>>0] = $163; - $165 = (($$271124) + -1)|0; - $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; - label = 44; - break; - } - case 55: { - label = 0; - $167 = ($$251632>>>0)<($12>>>0); - if ($167) { - $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; - label = 56; - continue L46; - } else { - $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; - label = 243; - continue L46; - } - break; - } - case 56: { - label = 0; - $168 = ($$301537>>>0)<($10>>>0); - if ($168) { - $171 = $12; - $172 = $$261633; - $173 = (($171) - ($172))|0; - $174 = $10; - $175 = $$301537; - $176 = (($174) - ($175))|0; - $177 = ($173>>>0)<($176>>>0); - $$sink17 = $177 ? $12 : $10; - $$sink16 = $177 ? $$261633 : $$301537; - $178 = $$sink17; - $179 = $$sink16; - $180 = (($178) - ($179))|0; - $181 = ($180>>>0)<($$301127>>>0); - $$$301127 = $181 ? $180 : $$301127; - _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; - $182 = (($$301537) + ($$$301127)|0); - $183 = (($$261633) + ($$$301127)|0); - $184 = (($$301127) - ($$$301127))|0; - $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; - label = 54; - break; - } else { - $169 = $6 & 2; - $170 = ($169|0)==(0); - if ($170) { - $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; - label = 58; - continue L46; - } else { - $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; - label = 243; - continue L46; - } - } - break; - } - case 58: { - label = 0; - $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; - label = 243; - continue L46; - break; - } - case 60: { - label = 0; - $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; - label = 243; - continue L46; - break; - } - case 64: { - label = 0; - $191 = $6 & 2; - $192 = ($191|0)==(0); - if ($192) { - $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; - label = 67; - } else { - $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; - label = 243; - continue L46; - } - break; - } - case 66: { - label = 0; - $194 = ((($$sink1719)) + 1|0); - $195 = HEAP8[$$sink1719>>0]|0; - $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; - label = 67; - break; - } - case 73: { - label = 0; - $222 = $6 & 2; - $223 = ($222|0)==(0); - if ($223) { - $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; - label = 76; - } else { - $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; - label = 243; - continue L46; - } - break; - } - case 75: { - label = 0; - $225 = ((($$sink1722)) + 1|0); - $226 = HEAP8[$$sink1722>>0]|0; - $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; - label = 76; - break; - } - case 86: { - label = 0; - $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; - label = 243; - continue L46; - break; - } - case 114: { - label = 0; - $450 = $6 & 2; - $451 = ($450|0)==(0); - if ($451) { - $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; - label = 117; - } else { - $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; - label = 243; - continue L46; - } - break; - } - case 116: { - label = 0; - $453 = ((($$sink1729)) + 1|0); - $454 = HEAP8[$$sink1729>>0]|0; - $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; - label = 117; - break; - } - case 125: { - label = 0; - $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; - label = 243; - continue L46; - break; - } - case 128: { - label = 0; - $501 = $6 & 2; - $502 = ($501|0)==(0); - if ($502) { - $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; - label = 131; - } else { - $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; - label = 243; - continue L46; - } - break; - } - case 130: { - label = 0; - $504 = ((($$sink1732)) + 1|0); - $505 = HEAP8[$$sink1732>>0]|0; - $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; - label = 131; - break; - } - case 136: { - label = 0; - $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; - label = 243; - continue L46; - break; - } - case 151: { - label = 0; - $570 = $6 & 2; - $571 = ($570|0)==(0); - if ($571) { - $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; - label = 154; - } else { - $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; - label = 243; - continue L46; - } - break; - } - case 153: { - label = 0; - $573 = ((($$sink1736)) + 1|0); - $574 = HEAP8[$$sink1736>>0]|0; - $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; - label = 154; - break; - } - case 160: { - label = 0; - $610 = ($$591666>>>0)<($12>>>0); - if (!($610)) { - $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; - label = 243; - continue L46; - } - $611 = $$621159&255; - $612 = ((($$591666)) + 1|0); - HEAP8[$$591666>>0] = $611; - $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; - label = 140; - break; - } - case 180: { - label = 0; - $694 = $6 & 2; - $695 = ($694|0)==(0); - if ($695) { - $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; - label = 183; - } else { - $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; - label = 243; - continue L46; - } - break; - } - case 182: { - label = 0; - $697 = ((($$sink1739)) + 1|0); - $698 = HEAP8[$$sink1739>>0]|0; - $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; - label = 183; - break; - } - case 193: { - label = 0; - $735 = $6 & 2; - $736 = ($735|0)==(0); - if ($736) { - $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; - label = 196; - } else { - $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; - label = 243; - continue L46; - } - break; - } - case 195: { - label = 0; - $738 = ((($$sink1743)) + 1|0); - $739 = HEAP8[$$sink1743>>0]|0; - $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; - label = 196; - break; - } - case 204: { - label = 0; - $782 = $6 & 2; - $783 = ($782|0)==(0); - if ($783) { - $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; - label = 207; - } else { - $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; - label = 243; - continue L46; - } - break; - } - case 206: { - label = 0; - $785 = ((($$sink1746)) + 1|0); - $786 = HEAP8[$$sink1746>>0]|0; - $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; - label = 207; - break; - } - case 210: { - label = 0; - $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; - label = 243; - continue L46; - break; - } - case 213: { - label = 0; - $809 = ($$781685>>>0)<($12>>>0); - if (!($809)) { - $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; - label = 243; - continue L46; - } - $810 = (($$751491) + 1)|0; - $811 = (($$751491) - ($$791070))|0; - $812 = $811 & $$1753; - $813 = (($3) + ($812)|0); - $814 = HEAP8[$813>>0]|0; - $815 = ((($$781685)) + 1|0); - HEAP8[$$781685>>0] = $814; - $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; - label = 212; - break; - } - case 226: { - label = 0; - $849 = $$90 & 7; - $850 = $$901399 >>> $849; - $851 = (($$90) - ($849))|0; - $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; - label = 227; - break; - } - case 231: { - label = 0; - $856 = $6 & 2; - $857 = ($856|0)==(0); - if ($857) { - $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; - label = 234; - } else { - $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; - label = 243; - continue L46; - } - break; - } - case 233: { - label = 0; - $859 = ((($$sink1750)) + 1|0); - $860 = HEAP8[$$sink1750>>0]|0; - $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; - label = 234; - break; - } - case 237: { - label = 0; - $869 = $6 & 2; - $870 = ($869|0)==(0); - if ($870) { - $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; - label = 241; - continue L46; - } else { - $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; - label = 243; - continue L46; - } - break; - } - case 241: { - label = 0; - $878 = ((($0)) + 16|0); - $879 = HEAP32[$878>>2]|0; - $880 = $879 << 8; - $881 = $880 | $$0948; - HEAP32[$878>>2] = $881; - $882 = (($$931190) + 1)|0; - $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; - label = 227; - break; - } - case 242: { - label = 0; - $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; - label = 243; - continue L46; - break; - } - case 243: { - label = 0; - HEAP32[$0>>2] = $$sink30; - $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; - label = 244; - continue L46; - break; - } - case 244: { - label = 0; - HEAP32[$24>>2] = $$100; - HEAP32[$26>>2] = $$1001409; - HEAP32[$28>>2] = $$941085; - HEAP32[$30>>2] = $$961193; - HEAP32[$32>>2] = $$961299; - HEAP32[$34>>2] = $$901506; - $883 = $$991606; - $884 = $1; - $885 = (($883) - ($884))|0; - HEAP32[$2>>2] = $885; - $886 = $$941701; - $887 = $4; - $888 = (($886) - ($887))|0; - HEAP32[$5>>2] = $888; - $889 = $6 & 9; - $890 = ($889|0)!=(0); - $891 = ($$1961|0)>(-1); - $or$cond29 = $890 & $891; - if ($or$cond29) { - break L46; - } else { - $$0951 = $$1961; - label = 258; - break L46; - } - break; - } - } - switch (label|0) { - case 19: { - label = 0; - $$01413 = $$01413$shrunk&255; - $78 = $$01413 << $$8; - $79 = $78 | $$81317; - $80 = (($$8) + 8)|0; - $81 = ($80>>>0)<(3); - if ($81) { - $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; - label = 15; - } else { - $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; - label = 20; - } - break; - } - case 33: { - label = 0; - $$01411 = $$01411$shrunk&255; - $109 = $$01411 << $$17; - $110 = $109 | $$171326; - $111 = (($$17) + 8)|0; - $112 = ($$17>>>0)>(4294967287); - if ($112) { - $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; - label = 29; - } else { - $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; - label = 34; - } - break; - } - case 50: { - label = 0; - $$01410 = $$01410$shrunk&255; - $155 = $$01410 << $$26; - $156 = $155 | $$261335; - $157 = (($$26) + 8)|0; - $158 = ($$26>>>0)>(4294967287); - if ($158) { - $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; - label = 46; - } else { - $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; - label = 51; - } - break; - } - case 67: { - label = 0; - $$01300 = $$01300$shrunk&255; - $196 = $$01300 << $$37; - $197 = $196 | $$371346; - $198 = (($$37) + 8)|0; - $199 = (4313 + ($$361133)|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200 << 24 >> 24; - $202 = ($198>>>0)<($201>>>0); - if ($202) { - $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; - label = 63; - } else { - $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; - label = 68; - } - break; - } - case 76: { - label = 0; - $$01202 = $$01202$shrunk&255; - $227 = $$01202 << $$42; - $228 = $227 | $$421351; - $229 = (($$42) + 8)|0; - $230 = ($229>>>0)<(3); - if ($230) { - $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; - label = 72; - } else { - $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; - label = 77; - } - break; - } - case 117: { - label = 0; - $$0980 = $$0980$shrunk&255; - $455 = $$0980 << $$49; - $456 = $455 | $$491358; - $457 = (($$49) + 8)|0; - $458 = ($457>>>0)<(15); - if ($458) { - $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; - label = 108; - } else { - $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; - label = 119; - } - break; - } - case 131: { - label = 0; - $$0979 = $$0979$shrunk&255; - $506 = $$0979 << $$54; - $507 = $506 | $$541363; - $508 = (($$54) + 8)|0; - $509 = ($508>>>0)<($$541257>>>0); - if ($509) { - $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; - label = 127; - } else { - $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; - label = 132; - } - break; - } - case 154: { - label = 0; - $$0971 = $$0971$shrunk&255; - $575 = $$0971 << $$62; - $576 = $575 | $$621371; - $577 = (($$62) + 8)|0; - $578 = ($577>>>0)<(15); - if ($578) { - $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; - label = 145; - } else { - $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; - label = 156; - } - break; - } - case 183: { - label = 0; - $$0959 = $$0959$shrunk&255; - $699 = $$0959 << $$71; - $700 = $699 | $$711380; - $701 = (($$71) + 8)|0; - $702 = ($701>>>0)<($$681271>>>0); - if ($702) { - $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; - label = 179; - } else { - $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; - label = 184; - } - break; - } - case 196: { - label = 0; - $$0952 = $$0952$shrunk&255; - $740 = $$0952 << $$76; - $741 = $740 | $$761385; - $742 = (($$76) + 8)|0; - $743 = ($742>>>0)<(15); - if ($743) { - $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; - label = 187; - } else { - $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; - label = 198; - } - break; - } - case 207: { - label = 0; - $$0950 = $$0950$shrunk&255; - $787 = $$0950 << $$80; - $788 = $787 | $$801389; - $789 = (($$80) + 8)|0; - $790 = ($789>>>0)<($$761279>>>0); - if ($790) { - $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; - label = 203; - } else { - $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; - label = 208; - } - break; - } - case 227: { - label = 0; - $852 = ($$871184>>>0)<(4); - if (!($852)) { - $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; - label = 242; - continue L46; - } - $853 = ($$91|0)==(0); - if (!($853)) { - $854 = ($$91>>>0)<(8); - if ($854) { - $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; - label = 230; - break; - } else { - $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; - label = 235; - break; - } - } - $868 = ($$901597>>>0)<($10>>>0); - if (!($868)) { - $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; - label = 237; - continue L46; - } - $875 = ((($$901597)) + 1|0); - $876 = HEAP8[$$901597>>0]|0; - $877 = $876&255; - $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; - label = 241; - continue L46; - break; - } - case 234: { - label = 0; - $$0947 = $$0947$shrunk&255; - $861 = $$0947 << $$94; - $862 = $861 | $$941403; - $863 = (($$94) + 8)|0; - $864 = ($$94>>>0)>(4294967287); - if ($864) { - $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; - label = 230; - } else { - $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; - label = 235; - } - break; - } - } - L119: do { - if ((label|0) == 15) { - label = 0; - $72 = ($$51512>>>0)<($10>>>0); - if ($72) { - $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; - label = 18; - continue L46; - } else { - $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; - label = 16; - continue L46; - } - } - else if ((label|0) == 20) { - label = 0; - $82 = $$91318 & 7; - $83 = ((($0)) + 20|0); - HEAP32[$83>>2] = $82; - $84 = $$91318 >>> 3; - $85 = (($$9) + -3)|0; - $86 = $82 >>> 1; - $87 = ((($0)) + 24|0); - HEAP32[$87>>2] = $86; - $trunc = $86&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; - label = 25; - continue L46; - break; - } - case 3: { - $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; - label = 60; - continue L46; - break; - } - case 1: { - break; - } - default: { - $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; - label = 61; - break L119; - } - } - $240 = ((($0)) + 44|0); - HEAP32[$240>>2] = 288; - $241 = ((($0)) + 48|0); - HEAP32[$241>>2] = 32; - $242 = ((($0)) + 3552|0); - ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; - $scevgep19611962 = ((($0)) + 64|0); - _memset(($scevgep19611962|0),8,144)|0; - $scevgep1959 = ((($0)) + 208|0); - dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1957 = ((($0)) + 320|0); - dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1955 = ((($0)) + 344|0); - $243 = $scevgep1955; - $244 = $243; - HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; - $245 = (($243) + 4)|0; - $246 = $245; - HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; - $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; - label = 80; - } - else if ((label|0) == 230) { - label = 0; - $855 = ($$911598>>>0)<($10>>>0); - if ($855) { - $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; - label = 233; - continue L46; - } else { - $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; - label = 231; - continue L46; - } - } - else if ((label|0) == 235) { - label = 0; - $865 = $$951404 & 255; - $866 = $$951404 >>> 8; - $867 = (($$95) + -8)|0; - $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; - label = 241; - continue L46; - } - } while(0); - L125: while(1) { - L126: switch (label|0) { - case 26: { - label = 0; - $100 = ($$131110>>>0)<(4); - if (!($100)) { - $127 = ((($0)) + 10528|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = ((($0)) + 10529|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 << 8; - $134 = $133 | $129; - $135 = ((($0)) + 10530|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = ((($0)) + 10531|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $140 << 8; - $142 = $141 | $137; - $143 = $142 ^ 65535; - $144 = ($134|0)==($143|0); - if ($144) { - $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; - label = 44; - continue L125; - } else { - $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; - label = 43; - continue L46; - } - } - $101 = ($$14|0)==(0); - if (!($101)) { - $102 = ($$14>>>0)<(8); - if ($102) { - $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; - label = 29; - continue L125; - } else { - $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; - label = 34; - continue L125; - } - } - $117 = ($$131520>>>0)<($10>>>0); - if (!($117)) { - $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; - label = 36; - continue L46; - } - $123 = ((($$131520)) + 1|0); - $124 = HEAP8[$$131520>>0]|0; - $125 = (((($0)) + 10528|0) + ($$131110)|0); - HEAP8[$125>>0] = $124; - $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; - label = 41; - continue L125; - break; - } - case 29: { - label = 0; - $103 = ($$141521>>>0)<($10>>>0); - if ($103) { - $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; - label = 32; - continue L46; - } else { - $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; - label = 30; - continue L46; - } - break; - } - case 34: { - label = 0; - $113 = $$181327&255; - $114 = (((($0)) + 10528|0) + ($$171114)|0); - HEAP8[$114>>0] = $113; - $115 = $$181327 >>> 8; - $116 = (($$18) + -8)|0; - $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; - label = 41; - continue L125; - break; - } - case 41: { - label = 0; - $126 = (($$201117) + 1)|0; - $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; - label = 26; - continue L125; - break; - } - case 44: { - label = 0; - $145 = ($$221119|0)!=(0); - $146 = ($$23|0)!=(0); - $147 = $145 & $146; - if (!($147)) { - $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; - label = 54; - continue L125; - } - $148 = ($$23>>>0)<(8); - if ($148) { - $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; - label = 46; - continue L125; - } else { - $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; - label = 51; - continue L125; - } - break; - } - case 46: { - label = 0; - $149 = ($$231530>>>0)<($10>>>0); - if ($149) { - $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; - label = 49; - continue L46; - } else { - $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; - label = 47; - continue L46; - } - break; - } - case 51: { - label = 0; - $159 = $$271336 & 255; - $160 = $$271336 >>> 8; - $161 = (($$27) + -8)|0; - $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; - label = 52; - continue L46; - break; - } - case 54: { - label = 0; - $166 = ($$281125|0)==(0); - if ($166) { - $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; - label = 220; - break L125; - } else { - $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; - label = 55; - continue L46; - } - break; - } - case 61: { - label = 0; - $185 = ($$331130>>>0)<(3); - if ($185) { - $186 = (4313 + ($$331130)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 << 24 >> 24; - $189 = ($$34>>>0)<($188>>>0); - if ($189) { - $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; - label = 63; - continue L125; - } else { - $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; - label = 68; - continue L125; - } - } else { - $216 = ((($0)) + 7040|0); - _memset(($216|0),0,288)|0; - $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; - label = 70; - break; - } - break; - } - case 63: { - label = 0; - $190 = ($$341541>>>0)<($10>>>0); - if ($190) { - $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; - label = 66; - continue L46; - } else { - $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; - label = 64; - continue L46; - } - break; - } - case 68: { - label = 0; - $203 = (4313 + ($$371134)|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204 << 24 >> 24; - $206 = 1 << $205; - $207 = (($206) + -1)|0; - $208 = $207 & $$381347; - $209 = (((($0)) + 44|0) + ($$371134<<2)|0); - $210 = $$381347 >>> $205; - $211 = (($$38) - ($205))|0; - $212 = (68 + ($$371134<<2)|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($208) + ($213))|0; - HEAP32[$209>>2] = $214; - $215 = (($$371134) + 1)|0; - $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; - label = 61; - continue L125; - break; - } - case 72: { - label = 0; - $221 = ($$391546>>>0)<($10>>>0); - if ($221) { - $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; - label = 75; - continue L46; - } else { - $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; - label = 73; - continue L46; - } - break; - } - case 77: { - label = 0; - $231 = $$431352 & 7; - $232 = $$431352 >>> 3; - $233 = (($$43) + -3)|0; - $234 = $231&255; - $235 = (7110 + ($$421139)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (((($0)) + 7040|0) + ($237)|0); - HEAP8[$238>>0] = $234; - $239 = (($$421139) + 1)|0; - $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; - label = 70; - break; - } - case 80: { - label = 0; - $247 = ((($0)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)>(-1); - if ($249) { - dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); - _memset(($250|0),0,3200)|0; - $251 = HEAP32[$247>>2]|0; - $252 = (((($0)) + 44|0) + ($251<<2)|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($253|0)==(0); - if (!($254)) { - $255 = HEAP32[$247>>2]|0; - $256 = (((($0)) + 44|0) + ($255<<2)|0); - $257 = HEAP32[$256>>2]|0; - $$010951864 = 0; - while(1) { - $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (($8) + ($260<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$261>>2] = $263; - $264 = (($$010951864) + 1)|0; - $265 = ($264>>>0)<($257>>>0); - if ($265) { - $$010951864 = $264; - } else { - break; - } - } - } - $266 = ((($7)) + 4|0); - HEAP32[$266>>2] = 0; - HEAP32[$7>>2] = 0; - $267 = ((($8)) + 4|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 << 1; - $270 = ((($7)) + 8|0); - HEAP32[$270>>2] = $269; - $271 = ((($8)) + 8|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) + ($268))|0; - $274 = (($272) + ($269))|0; - $275 = $274 << 1; - $276 = ((($7)) + 12|0); - HEAP32[$276>>2] = $275; - $277 = ((($8)) + 12|0); - $278 = HEAP32[$277>>2]|0; - $279 = (($278) + ($273))|0; - $280 = (($278) + ($275))|0; - $281 = $280 << 1; - $282 = ((($7)) + 16|0); - HEAP32[$282>>2] = $281; - $283 = ((($8)) + 16|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) + ($279))|0; - $286 = (($284) + ($281))|0; - $287 = $286 << 1; - $288 = ((($7)) + 20|0); - HEAP32[$288>>2] = $287; - $289 = ((($8)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + ($285))|0; - $292 = (($290) + ($287))|0; - $293 = $292 << 1; - $294 = ((($7)) + 24|0); - HEAP32[$294>>2] = $293; - $295 = ((($8)) + 24|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + ($291))|0; - $298 = (($296) + ($293))|0; - $299 = $298 << 1; - $300 = ((($7)) + 28|0); - HEAP32[$300>>2] = $299; - $301 = ((($8)) + 28|0); - $302 = HEAP32[$301>>2]|0; - $303 = (($302) + ($297))|0; - $304 = (($302) + ($299))|0; - $305 = $304 << 1; - $306 = ((($7)) + 32|0); - HEAP32[$306>>2] = $305; - $307 = ((($8)) + 32|0); - $308 = HEAP32[$307>>2]|0; - $309 = (($308) + ($303))|0; - $310 = (($308) + ($305))|0; - $311 = $310 << 1; - $312 = ((($7)) + 36|0); - HEAP32[$312>>2] = $311; - $313 = ((($8)) + 36|0); - $314 = HEAP32[$313>>2]|0; - $315 = (($314) + ($309))|0; - $316 = (($314) + ($311))|0; - $317 = $316 << 1; - $318 = ((($7)) + 40|0); - HEAP32[$318>>2] = $317; - $319 = ((($8)) + 40|0); - $320 = HEAP32[$319>>2]|0; - $321 = (($320) + ($315))|0; - $322 = (($320) + ($317))|0; - $323 = $322 << 1; - $324 = ((($7)) + 44|0); - HEAP32[$324>>2] = $323; - $325 = ((($8)) + 44|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($321))|0; - $328 = (($326) + ($323))|0; - $329 = $328 << 1; - $330 = ((($7)) + 48|0); - HEAP32[$330>>2] = $329; - $331 = ((($8)) + 48|0); - $332 = HEAP32[$331>>2]|0; - $333 = (($332) + ($327))|0; - $334 = (($332) + ($329))|0; - $335 = $334 << 1; - $336 = ((($7)) + 52|0); - HEAP32[$336>>2] = $335; - $337 = ((($8)) + 52|0); - $338 = HEAP32[$337>>2]|0; - $339 = (($338) + ($333))|0; - $340 = (($338) + ($335))|0; - $341 = $340 << 1; - $342 = ((($7)) + 56|0); - HEAP32[$342>>2] = $341; - $343 = ((($8)) + 56|0); - $344 = HEAP32[$343>>2]|0; - $345 = (($344) + ($339))|0; - $346 = (($344) + ($341))|0; - $347 = $346 << 1; - $348 = ((($7)) + 60|0); - HEAP32[$348>>2] = $347; - $349 = ((($8)) + 60|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) + ($345))|0; - $352 = (($350) + ($347))|0; - $353 = $352 << 1; - $354 = ((($7)) + 64|0); - HEAP32[$354>>2] = $353; - $355 = ($353|0)!=(65536); - $356 = ($351>>>0)>(1); - $or$cond = $355 & $356; - if ($or$cond) { - $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; - label = 86; - continue L46; - } - $357 = HEAP32[$247>>2]|0; - $358 = (((($0)) + 44|0) + ($357<<2)|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==(0); - if ($360) { - $$lcssa1779 = $357; - } else { - $$010911856 = 0;$$011971855 = -1; - while(1) { - $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($362<<24>>24)==(0); - L142: do { - if ($364) { - $$41201 = $$011971855; - } else { - $365 = (($7) + ($363<<2)|0); - $366 = HEAP32[$365>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$365>>2] = $367; - $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; - while(1) { - $368 = $$010881838 << 1; - $369 = $$010861840 & 1; - $370 = $369 | $368; - $371 = (($$010871839) + -1)|0; - $372 = $$010861840 >>> 1; - $373 = ($371|0)==(0); - if ($373) { - break; - } else { - $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; - } - } - $374 = ($362&255)<(11); - if ($374) { - $375 = $363 << 9; - $376 = $375 | $$010911856; - $377 = $376&65535; - $378 = ($370>>>0)<(1024); - if (!($378)) { - $$41201 = $$011971855; - break; - } - $379 = 1 << $363; - $$110891852 = $370; - while(1) { - $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); - HEAP16[$380>>1] = $377; - $381 = (($$110891852) + ($379))|0; - $382 = ($381>>>0)<(1024); - if ($382) { - $$110891852 = $381; - } else { - $$41201 = $$011971855; - break L142; - } - } - } - $383 = $370 & 1023; - $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); - $385 = HEAP16[$384>>1]|0; - $386 = $385 << 16 >> 16; - $387 = ($385<<16>>16)==(0); - if ($387) { - $388 = (($$011971855) + -2)|0; - $389 = $$011971855&65535; - HEAP16[$384>>1] = $389; - $$01194 = $$011971855;$$11198 = $388; - } else { - $$01194 = $386;$$11198 = $$011971855; - } - $390 = $$010881838 >>> 9; - $391 = ($362&255)>(11); - $392 = $390 & 1; - $393 = (($392) - ($$01194))|0; - $394 = (($393) + -1)|0; - if ($391) { - $395 = $390 & 4194303; - $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; - while(1) { - $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); - $398 = HEAP16[$396>>1]|0; - $399 = ($398<<16>>16)==(0); - if ($399) { - $400 = $$211991845&65535; - HEAP16[$396>>1] = $400; - $401 = (($$211991845) + -2)|0; - $$21196 = $$211991845;$$31200 = $401; - } else { - $402 = $398 << 16 >> 16; - $$21196 = $402;$$31200 = $$211991845; - } - $403 = (($$010941846) + -1)|0; - $404 = ($403>>>0)>(11); - $405 = $406 >>> 1; - $407 = $405 & 1; - $408 = (($407) - ($$21196))|0; - $409 = (($408) + -1)|0; - if ($404) { - $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; - } else { - $$21199$lcssa = $$31200;$$lcssa1778 = $409; - break; - } - } - } else { - $$21199$lcssa = $$11198;$$lcssa1778 = $394; - } - $410 = $$010911856&65535; - $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); - HEAP16[$411>>1] = $410; - $$41201 = $$21199$lcssa; - } - } while(0); - $412 = (($$010911856) + 1)|0; - $413 = HEAP32[$247>>2]|0; - $414 = (((($0)) + 44|0) + ($413<<2)|0); - $415 = HEAP32[$414>>2]|0; - $416 = ($412>>>0)<($415>>>0); - if ($416) { - $$010911856 = $412;$$011971855 = $$41201; - } else { - $$lcssa1779 = $413; - break; - } - } - } - $417 = ($$lcssa1779|0)==(2); - if ($417) { - $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; - label = 105; - } else { - $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; - label = 138; - } - } else { - $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; - label = 139; - } - break; - } - case 108: { - label = 0; - $429 = $$471356 & 1023; - $430 = (((($0)) + 7328|0) + ($429<<1)|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431 << 16 >> 16; - $433 = ($431<<16>>16)>(-1); - if ($433) { - $434 = $432 >> 9; - $435 = (($434) + -1)|0; - $436 = ($435>>>0)<($$47>>>0); - if ($436) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } else { - label = 113; - break L125; - } - } - $437 = ($$47>>>0)>(10); - if ($437) { - $$0981 = 10;$$0984 = $432; - } else { - label = 113; - break L125; - } - while(1) { - $438 = $$0984 ^ -1; - $439 = $$471356 >>> $$0981; - $440 = $439 & 1; - $441 = (($440) + ($438))|0; - $442 = (((($0)) + 9376|0) + ($441<<1)|0); - $443 = HEAP16[$442>>1]|0; - $444 = ($443<<16>>16)<(0); - if (!($444)) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } - $445 = (($$0981) + 1)|0; - $446 = $443 << 16 >> 16; - $447 = (($$0981) + 2)|0; - $448 = ($$47>>>0)<($447>>>0); - if ($448) { - label = 113; - break L125; - } else { - $$0981 = $445;$$0984 = $446; - } - } - break; - } - case 119: { - label = 0; - $471 = $$501359 & 1023; - $472 = (((($0)) + 7328|0) + ($471<<1)|0); - $473 = HEAP16[$472>>1]|0; - $474 = $473 << 16 >> 16; - $475 = ($473<<16>>16)>(-1); - if ($475) { - $476 = $474 >> 9; - $477 = $474 & 511; - $$2983 = $476;$$2986 = $477; - } else { - $$1982 = 10;$$1985 = $474; - while(1) { - $478 = $$1985 ^ -1; - $479 = (($$1982) + 1)|0; - $480 = $$501359 >>> $$1982; - $481 = $480 & 1; - $482 = (($481) + ($478))|0; - $483 = (((($0)) + 9376|0) + ($482<<1)|0); - $484 = HEAP16[$483>>1]|0; - $485 = $484 << 16 >> 16; - $486 = ($484<<16>>16)<(0); - if ($486) { - $$1982 = $479;$$1985 = $485; - } else { - $$2983 = $479;$$2986 = $485; - break; - } - } - } - $487 = $$501359 >>> $$2983; - $488 = (($$50) - ($$2983))|0; - $489 = ($$2986>>>0)<(16); - if ($489) { - $490 = $$2986&255; - $491 = (($$491146) + 1)|0; - $492 = (((($0)) + 10532|0) + ($$491146)|0); - HEAP8[$492>>0] = $490; - $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; - label = 105; - break; - } - $493 = ($$2986|0)!=(16); - $494 = ($$491146|0)!=(0); - $or$cond24 = $494 | $493; - if (!($or$cond24)) { - $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; - label = 125; - continue L46; - } - $495 = (($$2986) + -16)|0; - $496 = (4317 + ($495)|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497 << 24 >> 24; - $499 = ($488>>>0)<($498>>>0); - if ($499) { - $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; - label = 127; - continue L125; - } else { - $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; - label = 132; - continue L125; - } - break; - } - case 127: { - label = 0; - $500 = ($$511558>>>0)<($10>>>0); - if ($500) { - $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; - label = 130; - continue L46; - } else { - $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; - label = 128; - continue L46; - } - break; - } - case 132: { - label = 0; - $510 = 1 << $$551258; - $511 = (($510) + -1)|0; - $512 = $511 & $$551364; - $513 = $$551364 >>> $$551258; - $514 = (($$55) - ($$551258))|0; - $515 = (($$531044) + -16)|0; - $516 = (4321 + ($515)|0); - $517 = HEAP8[$516>>0]|0; - $518 = $517 << 24 >> 24; - $519 = (($518) + ($512))|0; - $520 = (((($0)) + 10532|0) + ($$541151)|0); - $521 = ($$531044|0)==(16); - if ($521) { - $522 = (($$541151) + -1)|0; - $523 = (((($0)) + 10532|0) + ($522)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - _memset(($520|0),($526|0),($519|0))|0; - $528 = (($519) + ($$541151))|0; - $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; - label = 105; - break; - } - case 140: { - label = 0; - $539 = $10; - $540 = $$581565$ph; - $541 = (($539) - ($540))|0; - $542 = ($541|0)<(4); - $543 = ($$59$ph>>>0)<(15); - L241: do { - if ($542) { - $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; - } else { - $544 = $12; - $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; - while(1) { - $545 = $$5416611868; - $546 = (($544) - ($545))|0; - $547 = ($546|0)<(2); - if ($547) { - $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; - break L241; - } - if ($965) { - $613 = HEAP8[$$5815651869>>0]|0; - $614 = $613&255; - $615 = ((($$5815651869)) + 1|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $618 = $617 << 8; - $619 = $618 | $614; - $620 = $619 << $$591872; - $621 = $620 | $$5913681870; - $622 = ((($$5815651869)) + 2|0); - $623 = (($$591872) + 16)|0; - $$641571 = $622;$$65 = $623;$$651374 = $621; - } else { - $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; - } - $624 = $$651374 & 1023; - $625 = (((($0)) + 352|0) + ($624<<1)|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626 << 16 >> 16; - $628 = ($626<<16>>16)>(-1); - if ($628) { - $629 = $627 >> 9; - $$1964 = $629;$$1968 = $627; - } else { - $$0963 = 10;$$0967 = $627; - while(1) { - $630 = $$0967 ^ -1; - $631 = (($$0963) + 1)|0; - $632 = $$651374 >>> $$0963; - $633 = $632 & 1; - $634 = (($633) + ($630))|0; - $635 = (((($0)) + 2400|0) + ($634<<1)|0); - $636 = HEAP16[$635>>1]|0; - $637 = $636 << 16 >> 16; - $638 = ($636<<16>>16)<(0); - if ($638) { - $$0963 = $631;$$0967 = $637; - } else { - $$1964 = $631;$$1968 = $637; - break; - } - } - } - $639 = $$651374 >>> $$1964; - $640 = (($$65) - ($$1964))|0; - $641 = $$1968 & 256; - $642 = ($641|0)==(0); - if (!($642)) { - $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; - label = 176; - break L126; - } - $643 = ($640>>>0)<(15); - if ($643) { - $644 = HEAP8[$$641571>>0]|0; - $645 = $644&255; - $646 = ((($$641571)) + 1|0); - $647 = HEAP8[$646>>0]|0; - $648 = $647&255; - $649 = $648 << 8; - $650 = $649 | $645; - $651 = $650 << $640; - $652 = $651 | $639; - $653 = ((($$641571)) + 2|0); - $654 = (($640) + 16)|0; - $$651572 = $653;$$66 = $654;$$661375 = $652; - } else { - $$651572 = $$641571;$$66 = $640;$$661375 = $639; - } - $655 = $$661375 & 1023; - $656 = (((($0)) + 352|0) + ($655<<1)|0); - $657 = HEAP16[$656>>1]|0; - $658 = $657 << 16 >> 16; - $659 = ($657<<16>>16)>(-1); - if ($659) { - $660 = $658 >> 9; - $$3966 = $660;$$3970 = $658; - } else { - $$2965 = 10;$$2969 = $658; - while(1) { - $661 = $$2969 ^ -1; - $662 = (($$2965) + 1)|0; - $663 = $$661375 >>> $$2965; - $664 = $663 & 1; - $665 = (($664) + ($661))|0; - $666 = (((($0)) + 2400|0) + ($665<<1)|0); - $667 = HEAP16[$666>>1]|0; - $668 = $667 << 16 >> 16; - $669 = ($667<<16>>16)<(0); - if ($669) { - $$2965 = $662;$$2969 = $668; - } else { - $$3966 = $662;$$3970 = $668; - break; - } - } - } - $670 = $$661375 >>> $$3966; - $671 = (($$66) - ($$3966))|0; - $672 = $$1968&255; - HEAP8[$$5416611868>>0] = $672; - $673 = $$3970 & 256; - $674 = ($673|0)==(0); - if (!($674)) { - break; - } - $676 = $$3970&255; - $677 = ((($$5416611868)) + 1|0); - HEAP8[$677>>0] = $676; - $678 = ((($$5416611868)) + 2|0); - $679 = $$651572; - $680 = (($539) - ($679))|0; - $681 = ($680|0)<(4); - $682 = ($671>>>0)<(15); - if ($681) { - $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; - break L241; - } else { - $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; - } - } - $675 = ((($$5416611868)) + 1|0); - $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; - label = 176; - break L126; - } - } while(0); - if (!($$lcssa1799)) { - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; - label = 156; - continue L125; - } - $548 = ($$lcssa1802|0)<(2); - if ($548) { - $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; - label = 145; - continue L125; - } - $579 = HEAP8[$$581565$lcssa>>0]|0; - $580 = $579&255; - $581 = $580 << $$59$lcssa; - $582 = ((($$581565$lcssa)) + 1|0); - $583 = HEAP8[$582>>0]|0; - $584 = $583&255; - $585 = (($$59$lcssa) + 8)|0; - $586 = $584 << $585; - $587 = $581 | $$591368$lcssa; - $588 = $587 | $586; - $589 = ((($$581565$lcssa)) + 2|0); - $590 = (($$59$lcssa) + 16)|0; - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; - label = 156; - continue L125; - break; - } - case 145: { - label = 0; - $549 = $$601369 & 1023; - $550 = (((($0)) + 352|0) + ($549<<1)|0); - $551 = HEAP16[$550>>1]|0; - $552 = $551 << 16 >> 16; - $553 = ($551<<16>>16)>(-1); - if ($553) { - $554 = $552 >> 9; - $555 = (($554) + -1)|0; - $556 = ($555>>>0)<($$60>>>0); - if ($556) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } else { - label = 150; - break L125; - } - } - $557 = ($$60>>>0)>(10); - if ($557) { - $$0972 = 10;$$0975 = $552; - } else { - label = 150; - break L125; - } - while(1) { - $558 = $$0975 ^ -1; - $559 = $$601369 >>> $$0972; - $560 = $559 & 1; - $561 = (($560) + ($558))|0; - $562 = (((($0)) + 2400|0) + ($561<<1)|0); - $563 = HEAP16[$562>>1]|0; - $564 = ($563<<16>>16)<(0); - if (!($564)) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } - $565 = (($$0972) + 1)|0; - $566 = $563 << 16 >> 16; - $567 = (($$0972) + 2)|0; - $568 = ($$60>>>0)<($567>>>0); - if ($568) { - label = 150; - break L125; - } else { - $$0972 = $565;$$0975 = $566; - } - } - break; - } - case 156: { - label = 0; - $591 = $$631372 & 1023; - $592 = (((($0)) + 352|0) + ($591<<1)|0); - $593 = HEAP16[$592>>1]|0; - $594 = $593 << 16 >> 16; - $595 = ($593<<16>>16)>(-1); - if ($595) { - $596 = $594 >> 9; - $597 = $594 & 511; - $$2974 = $596;$$2977 = $597; - } else { - $$1973 = 10;$$1976 = $594; - while(1) { - $598 = $$1976 ^ -1; - $599 = (($$1973) + 1)|0; - $600 = $$631372 >>> $$1973; - $601 = $600 & 1; - $602 = (($601) + ($598))|0; - $603 = (((($0)) + 2400|0) + ($602<<1)|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = ($604<<16>>16)<(0); - if ($606) { - $$1973 = $599;$$1976 = $605; - } else { - $$2974 = $599;$$2977 = $605; - break; - } - } - } - $607 = $$631372 >>> $$2974; - $608 = (($$63) - ($$2974))|0; - $609 = ($$2977>>>0)>(255); - if ($609) { - $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; - label = 176; - } else { - $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; - label = 160; - continue L46; - } - break; - } - case 179: { - label = 0; - $693 = ($$681575>>>0)<($10>>>0); - if ($693) { - $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; - label = 182; - continue L46; - } else { - $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; - label = 180; - continue L46; - } - break; - } - case 184: { - label = 0; - $703 = 1 << $$691272; - $704 = (($703) + -1)|0; - $705 = $704 & $$721381; - $706 = $$721381 >>> $$691272; - $707 = (($$72) - ($$691272))|0; - $708 = (($705) + ($$681165))|0; - $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; - label = 185; - break; - } - case 187: { - label = 0; - $714 = $$741383 & 1023; - $715 = (((($0)) + 3840|0) + ($714<<1)|0); - $716 = HEAP16[$715>>1]|0; - $717 = $716 << 16 >> 16; - $718 = ($716<<16>>16)>(-1); - if ($718) { - $719 = $717 >> 9; - $720 = (($719) + -1)|0; - $721 = ($720>>>0)<($$74>>>0); - if ($721) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } else { - label = 192; - break L125; - } - } - $722 = ($$74>>>0)>(10); - if ($722) { - $$0953 = 10;$$0956 = $717; - } else { - label = 192; - break L125; - } - while(1) { - $723 = $$0956 ^ -1; - $724 = $$741383 >>> $$0953; - $725 = $724 & 1; - $726 = (($725) + ($723))|0; - $727 = (((($0)) + 5888|0) + ($726<<1)|0); - $728 = HEAP16[$727>>1]|0; - $729 = ($728<<16>>16)<(0); - if (!($729)) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } - $730 = (($$0953) + 1)|0; - $731 = $728 << 16 >> 16; - $732 = (($$0953) + 2)|0; - $733 = ($$74>>>0)<($732>>>0); - if ($733) { - label = 192; - break L125; - } else { - $$0953 = $730;$$0956 = $731; - } - } - break; - } - case 198: { - label = 0; - $756 = $$771386 & 1023; - $757 = (((($0)) + 3840|0) + ($756<<1)|0); - $758 = HEAP16[$757>>1]|0; - $759 = $758 << 16 >> 16; - $760 = ($758<<16>>16)>(-1); - if ($760) { - $761 = $759 >> 9; - $762 = $759 & 511; - $$2955 = $761;$$2958 = $762; - } else { - $$1954 = 10;$$1957 = $759; - while(1) { - $763 = $$1957 ^ -1; - $764 = (($$1954) + 1)|0; - $765 = $$771386 >>> $$1954; - $766 = $765 & 1; - $767 = (($766) + ($763))|0; - $768 = (((($0)) + 5888|0) + ($767<<1)|0); - $769 = HEAP16[$768>>1]|0; - $770 = $769 << 16 >> 16; - $771 = ($769<<16>>16)<(0); - if ($771) { - $$1954 = $764;$$1957 = $770; - } else { - $$2955 = $764;$$2958 = $770; - break; - } - } - } - $772 = $$771386 >>> $$2955; - $773 = (($$77) - ($$2955))|0; - $774 = (3528 + ($$2958<<2)|0); - $775 = HEAP32[$774>>2]|0; - $776 = (3400 + ($$2958<<2)|0); - $777 = HEAP32[$776>>2]|0; - $778 = (($$2958) + -4)|0; - $779 = ($778>>>0)<(26); - if ($779) { - $780 = ($773>>>0)<($775>>>0); - if ($780) { - $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; - label = 203; - continue L125; - } else { - $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; - label = 208; - continue L125; - } - } else { - $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; - label = 209; - } - break; - } - case 203: { - label = 0; - $781 = ($$771584>>>0)<($10>>>0); - if ($781) { - $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; - label = 206; - continue L46; - } else { - $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; - label = 204; - continue L46; - } - break; - } - case 208: { - label = 0; - $791 = 1 << $$771280; - $792 = (($791) + -1)|0; - $793 = $792 & $$811390; - $794 = $$811390 >>> $$771280; - $795 = (($$81) - ($$771280))|0; - $796 = (($793) + ($$751066))|0; - $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; - label = 209; - break; - } - case 212: { - label = 0; - $807 = (($$801177) + -1)|0; - $808 = ($$801177|0)==(0); - if ($808) { - $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; - label = 139; - } else { - $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; - label = 213; - continue L46; - } - break; - } - } - do { - if ((label|0) == 70) { - label = 0; - $217 = ((($0)) + 52|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($$381135>>>0)<($218>>>0); - if ($219) { - $220 = ($$39>>>0)<(3); - if ($220) { - $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; - label = 72; - continue L125; - } else { - $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; - label = 77; - continue L125; - } - } else { - HEAP32[$217>>2] = 19; - $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; - label = 80; - continue L125; - } - } - else if ((label|0) == 105) { - label = 0; - $418 = ((($0)) + 44|0); - $419 = HEAP32[$418>>2]|0; - $420 = ((($0)) + 48|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + ($419))|0; - $423 = ($$451142>>>0)<($422>>>0); - if (!($423)) { - $529 = ($422|0)==($$451142|0); - if (!($529)) { - $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; - label = 136; - continue L46; - } - $530 = ((($0)) + 64|0); - $531 = ((($0)) + 10532|0); - _memcpy(($530|0),($531|0),($419|0))|0; - $532 = ((($0)) + 3552|0); - $533 = HEAP32[$418>>2]|0; - $534 = (((($0)) + 10532|0) + ($533)|0); - $535 = HEAP32[$420>>2]|0; - _memcpy(($532|0),($534|0),($535|0))|0; - $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; - label = 138; - break; - } - $424 = ($$46>>>0)<(15); - if (!($424)) { - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; - label = 119; - continue L125; - } - $425 = $10; - $426 = $$451552; - $427 = (($425) - ($426))|0; - $428 = ($427|0)<(2); - if ($428) { - $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; - label = 108; - continue L125; - } - $459 = HEAP8[$$451552>>0]|0; - $460 = $459&255; - $461 = $460 << $$46; - $462 = ((($$451552)) + 1|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = (($$46) + 8)|0; - $466 = $464 << $465; - $467 = $461 | $$461355; - $468 = $467 | $466; - $469 = ((($$451552)) + 2|0); - $470 = (($$46) + 16)|0; - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; - label = 119; - continue L125; - } - else if ((label|0) == 176) { - label = 0; - $683 = $$641161 & 511; - $684 = ($683|0)==(256); - if ($684) { - $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; - label = 220; - break L125; - } - $685 = (($683) + -257)|0; - $686 = (3276 + ($685<<2)|0); - $687 = HEAP32[$686>>2]|0; - $688 = (3152 + ($685<<2)|0); - $689 = HEAP32[$688>>2]|0; - $690 = (($683) + -265)|0; - $691 = ($690>>>0)<(20); - if ($691) { - $692 = ($$68>>>0)<($687>>>0); - if ($692) { - $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; - label = 179; - continue L125; - } else { - $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; - label = 184; - continue L125; - } - } else { - $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; - label = 185; - } - } - else if ((label|0) == 209) { - label = 0; - $797 = $$751682; - $798 = $3; - $799 = (($797) - ($798))|0; - $$not = ($799>>>0)>=($$761067>>>0); - $$not1747 = $14 ^ 1; - $brmerge = $$not | $$not1747; - if (!($brmerge)) { - $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; - label = 210; - continue L46; - } - $800 = (($799) - ($$761067))|0; - $801 = $800 & $$1753; - $802 = (($3) + ($801)|0); - $803 = ($$751682>>>0)>($802>>>0); - $804 = $803 ? $$751682 : $802; - $805 = (($804) + ($$781175)|0); - $806 = ($805>>>0)>($12>>>0); - if ($806) { - $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; - label = 212; - continue L125; - } else { - $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; - } - while(1) { - $816 = HEAP8[$$0978>>0]|0; - HEAP8[$$791686>>0] = $816; - $817 = ((($$0978)) + 1|0); - $818 = HEAP8[$817>>0]|0; - $819 = ((($$791686)) + 1|0); - HEAP8[$819>>0] = $818; - $820 = ((($$0978)) + 2|0); - $821 = HEAP8[$820>>0]|0; - $822 = ((($$791686)) + 2|0); - HEAP8[$822>>0] = $821; - $823 = ((($$791686)) + 3|0); - $824 = ((($$0978)) + 3|0); - $825 = (($$821179) + -3)|0; - $826 = ($825|0)>(2); - if ($826) { - $$0978 = $824;$$791686 = $823;$$821179 = $825; - } else { - break; - } - } - $827 = ($825|0)>(0); - if ($827) { - $828 = HEAP8[$824>>0]|0; - HEAP8[$823>>0] = $828; - $829 = ($825|0)==(1); - if (!($829)) { - $830 = ((($$0978)) + 4|0); - $831 = HEAP8[$830>>0]|0; - $832 = ((($$791686)) + 4|0); - HEAP8[$832>>0] = $831; - } - $833 = (($823) + ($825)|0); - $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } else { - $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } - } - } while(0); - if ((label|0) == 138) { - label = 0; - $536 = ((($0)) + 24|0); - $537 = HEAP32[$536>>2]|0; - $538 = (($537) + -1)|0; - HEAP32[$536>>2] = $538; - $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; - label = 80; - continue; - } - else if ((label|0) == 139) { - label = 0; - $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; - label = 140; - continue; - } - else if ((label|0) == 185) { - label = 0; - $709 = ($$73>>>0)<(15); - if (!($709)) { - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; - label = 198; - continue; - } - $710 = $10; - $711 = $$721579; - $712 = (($710) - ($711))|0; - $713 = ($712|0)<(2); - if ($713) { - $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; - label = 187; - continue; - } - $744 = HEAP8[$$721579>>0]|0; - $745 = $744&255; - $746 = $745 << $$73; - $747 = ((($$721579)) + 1|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748&255; - $750 = (($$73) + 8)|0; - $751 = $749 << $750; - $752 = $746 | $$731382; - $753 = $752 | $751; - $754 = ((($$721579)) + 2|0); - $755 = (($$73) + 16)|0; - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; - label = 198; - continue; - } - } - if ((label|0) == 113) { - label = 0; - $449 = ($$461553>>>0)<($10>>>0); - if ($449) { - $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; - label = 116; - continue; - } else { - $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; - label = 114; - continue; - } - } - else if ((label|0) == 150) { - label = 0; - $569 = ($$591566>>>0)<($10>>>0); - if ($569) { - $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; - label = 153; - continue; - } else { - $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; - label = 151; - continue; - } - } - else if ((label|0) == 192) { - label = 0; - $734 = ($$731580>>>0)<($10>>>0); - if ($734) { - $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; - label = 195; - continue; - } else { - $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; - label = 193; - continue; - } - } - else if ((label|0) == 220) { - label = 0; - $834 = ((($0)) + 20|0); - $835 = HEAP32[$834>>2]|0; - $836 = $835 & 1; - $837 = ($836|0)==(0); - if ($837) { - $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; - label = 14; - continue; - } - $838 = $6 & 1; - $839 = ($838|0)==(0); - if ($839) { - $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; - label = 242; - continue; - } else { - $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; - label = 226; - continue; - } - } - } - if ((label|0) == 258) { - STACKTOP = sp;return ($$0951|0); - } - $892 = ((($0)) + 28|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & 65535; - $895 = $893 >>> 16; - $896 = ($888|0)==(0); - if ($896) { - $$0937$lcssa = $895;$$0938$lcssa = $894; - } else { - $897 = (($888>>>0) % 5552)&-1; - $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; - while(1) { - $898 = ($$01834>>>0)>(7); - if ($898) { - $899 = (($$01834) + -8)|0; - $900 = $899 & -8; - $scevgep = ((($$09441830)) + 8|0); - $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; - while(1) { - $904 = HEAP8[$$19451815>>0]|0; - $905 = $904&255; - $906 = (($905) + ($$19391817))|0; - $907 = (($906) + ($$11818))|0; - $908 = ((($$19451815)) + 1|0); - $909 = HEAP8[$908>>0]|0; - $910 = $909&255; - $911 = (($906) + ($910))|0; - $912 = (($907) + ($911))|0; - $913 = ((($$19451815)) + 2|0); - $914 = HEAP8[$913>>0]|0; - $915 = $914&255; - $916 = (($911) + ($915))|0; - $917 = (($912) + ($916))|0; - $918 = ((($$19451815)) + 3|0); - $919 = HEAP8[$918>>0]|0; - $920 = $919&255; - $921 = (($916) + ($920))|0; - $922 = (($917) + ($921))|0; - $923 = ((($$19451815)) + 4|0); - $924 = HEAP8[$923>>0]|0; - $925 = $924&255; - $926 = (($921) + ($925))|0; - $927 = (($922) + ($926))|0; - $928 = ((($$19451815)) + 5|0); - $929 = HEAP8[$928>>0]|0; - $930 = $929&255; - $931 = (($926) + ($930))|0; - $932 = (($927) + ($931))|0; - $933 = ((($$19451815)) + 6|0); - $934 = HEAP8[$933>>0]|0; - $935 = $934&255; - $936 = (($931) + ($935))|0; - $937 = (($932) + ($936))|0; - $938 = ((($$19451815)) + 7|0); - $939 = HEAP8[$938>>0]|0; - $940 = $939&255; - $941 = (($936) + ($940))|0; - $942 = (($937) + ($941))|0; - $943 = (($$09411816) + 8)|0; - $944 = ((($$19451815)) + 8|0); - $945 = $943 | 7; - $946 = ($945>>>0)<($$01834>>>0); - if ($946) { - $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; - } else { - break; - } - } - $901 = (($900) + 8)|0; - $scevgep1947 = (($scevgep) + ($900)|0); - $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; - } else { - $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; - } - $902 = ($$01834>>>0)>($$0941$lcssa>>>0); - if ($902) { - $903 = (($$01834) - ($$0941$lcssa))|0; - $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; - while(1) { - $947 = ((($$29461822)) + 1|0); - $948 = HEAP8[$$29461822>>0]|0; - $949 = $948&255; - $950 = (($949) + ($$29401824))|0; - $951 = (($950) + ($$21825))|0; - $952 = (($$19421823) + 1)|0; - $exitcond = ($952|0)==($$01834|0); - if ($exitcond) { - break; - } else { - $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; - } - } - $scevgep1948 = (($$1945$lcssa) + ($903)|0); - $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; - } else { - $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; - } - $953 = (($$2940$lcssa>>>0) % 65521)&-1; - $954 = (($$2$lcssa>>>0) % 65521)&-1; - $955 = (($$09431831) - ($$01834))|0; - $956 = ($955|0)==(0); - if ($956) { - $$0937$lcssa = $954;$$0938$lcssa = $953; - break; - } else { - $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; - } - } - } - $957 = $$0937$lcssa << 16; - $958 = $957 | $$0938$lcssa; - HEAP32[$892>>2] = $958; - $959 = ($$1961|0)!=(0); - $960 = $6 & 1; - $961 = ($960|0)==(0); - $or$cond1752 = $961 | $959; - if ($or$cond1752) { - $$0951 = $$1961; - STACKTOP = sp;return ($$0951|0); - } else { - $962 = ((($0)) + 16|0); - $963 = HEAP32[$962>>2]|0; - $964 = ($958|0)==($963|0); - $$1961$ = $964 ? $$1961 : -2; - STACKTOP = sp;return ($$1961$|0); - } - return (0)|0; -} -function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); - $5 = sp + 11000|0; - $6 = sp; - $7 = sp + 8|0; - HEAP32[$5>>2] = $1; - HEAP32[$6>>2] = $3; - HEAP32[$7>>2] = 0; - $8 = $4 & -7; - $9 = $8 | 4; - $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); - $11 = ($10|0)!=(0); - $12 = HEAP32[$5>>2]|0; - $13 = $11 ? -1 : $12; - STACKTOP = sp;return ($13|0); -} -function _LoadResource($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$05664 = 0, $$05763 = 0, $$065 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0; - var $or$cond60 = 0, $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 64|0; - $3 = sp + 32|0; - $4 = (_fopen($0,5400)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(1,4325,$vararg_buffer); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - (_fread($2,1,1,$4)|0); - $6 = ((($2)) + 1|0); - (_fread($6,1,1,$4)|0); - $7 = ((($2)) + 2|0); - (_fread($7,1,1,$4)|0); - $8 = ((($2)) + 3|0); - (_fread($8,1,1,$4)|0); - $9 = ((($2)) + 4|0); - (_fread($9,2,1,$4)|0); - $10 = ((($2)) + 6|0); - (_fread($10,2,1,$4)|0); - $11 = HEAP8[$2>>0]|0; - $12 = ($11<<24>>24)==(114); - $13 = HEAP8[$6>>0]|0; - $14 = ($13<<24>>24)==(82); - $or$cond = $12 | $14; - $15 = HEAP8[$7>>0]|0; - $16 = ($15<<24>>24)==(69); - $or$cond60 = $or$cond | $16; - $17 = HEAP8[$8>>0]|0; - $18 = ($17<<24>>24)==(83); - $or$cond62 = $or$cond60 | $18; - if ($or$cond62) { - $19 = HEAP16[$10>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $$0$lcssa = 0; - } else { - $21 = ((($3)) + 7|0); - $22 = ((($3)) + 4|0); - $23 = ((($3)) + 16|0); - $24 = ((($3)) + 20|0); - $25 = ((($3)) + 24|0); - $26 = ((($3)) + 28|0); - $27 = ((($3)) + 8|0); - $28 = ((($3)) + 5|0); - $29 = ((($3)) + 12|0); - $30 = HEAP16[$10>>1]|0; - $31 = $30&65535; - $32 = ((($3)) + 8|0); - $$05664 = 0;$$065 = 0; - while(1) { - (_fread($3,32,1,$4)|0); - $36 = HEAP32[$3>>2]|0; - $37 = ($36|0)==($1|0); - if ($37) { - $38 = HEAP8[$21>>0]|0; - $39 = $38&255; - $40 = ($39*24)|0; - $41 = (_malloc($40)|0); - $42 = ($38<<24>>24)==(0); - if ($42) { - $$1 = $41; - } else { - $$05763 = 0; - while(1) { - $43 = HEAP8[$22>>0]|0; - $44 = $43&255; - $45 = (($41) + (($$05763*24)|0)|0); - HEAP32[$45>>2] = $44; - $46 = HEAP32[$23>>2]|0; - $47 = (((($41) + (($$05763*24)|0)|0)) + 4|0); - HEAP32[$47>>2] = $46; - $48 = HEAP32[$24>>2]|0; - $49 = (((($41) + (($$05763*24)|0)|0)) + 8|0); - HEAP32[$49>>2] = $48; - $50 = HEAP32[$25>>2]|0; - $51 = (((($41) + (($$05763*24)|0)|0)) + 12|0); - HEAP32[$51>>2] = $50; - $52 = HEAP32[$26>>2]|0; - $53 = (((($41) + (($$05763*24)|0)|0)) + 16|0); - HEAP32[$53>>2] = $52; - $54 = HEAP32[$27>>2]|0; - $55 = (_malloc($54)|0); - (_fread($55,$54,1,$4)|0); - $56 = HEAP8[$28>>0]|0; - $57 = ($56<<24>>24)==(1); - if ($57) { - $58 = HEAP32[$27>>2]|0; - $59 = HEAP32[$29>>2]|0; - $60 = (_DecompressData($55,$58,$59)|0); - $61 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$61>>2] = $60; - _free($55); - } else { - $62 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$62>>2] = $55; - } - $63 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $66; - _TraceLog(0,4422,$vararg_buffer4); - } - (_fread($3,32,1,$4)|0); - $67 = (($$05763) + 1)|0; - $68 = HEAP8[$21>>0]|0; - $69 = $68&255; - $70 = ($67|0)<($69|0); - if ($70) { - $$05763 = $67; - } else { - $$1 = $41; - break; - } - } - } - } else { - $71 = HEAP32[$32>>2]|0; - (_fseek($4,$71,1)|0); - $$1 = $$065; - } - $72 = (($$05664) + 1)|0; - $73 = ($72|0)<($31|0); - if ($73) { - $$05664 = $72;$$065 = $$1; - } else { - $$0$lcssa = $$1; - break; - } - } - } - $33 = ((($$0$lcssa)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$vararg_buffer8>>2] = $0; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(1,4468,$vararg_buffer8); - $$2 = $$0$lcssa; - } else { - $$2 = $$0$lcssa; - } - } else { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(1,4376,$vararg_buffer1); - $$2 = 0; - } - (_fclose($4)|0); - $$3 = $$2; - STACKTOP = sp;return ($$3|0); -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[17456>>0]=HEAP8[4773>>0]|0;HEAP8[17456+1>>0]=HEAP8[4773+1>>0]|0;HEAP8[17456+2>>0]=HEAP8[4773+2>>0]|0;HEAP8[17456+3>>0]=HEAP8[4773+3>>0]|0;HEAP8[17456+4>>0]=HEAP8[4773+4>>0]|0;HEAP8[17456+5>>0]=HEAP8[4773+5>>0]|0;HEAP8[17456+6>>0]=HEAP8[4773+6>>0]|0; - break; - } - case 2: { - $3 = 17456; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 1: { - dest=17456; src=4780; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 17456; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(17456,$1)|0); - $strlen = (_strlen(17456)|0); - $endptr = (17456 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(17456,$2)|0); - $12 = ($0|0)==(2); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _DecompressData($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = (_malloc($2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - _TraceLog(1,4518,$vararg_buffer); - STACKTOP = sp;return ($3|0); - } - $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); - $6 = ($5|0)==(-1); - if ($6) { - _TraceLog(1,4557,$vararg_buffer1); - _free($3); - } - $7 = ($5|0)==($2|0); - if (!($7)) { - _TraceLog(1,4583,$vararg_buffer3); - HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(1,4646,$vararg_buffer5); - HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(1,4681,$vararg_buffer7); - } - HEAP32[$vararg_buffer10>>2] = $1; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,4716,$vararg_buffer10); - STACKTOP = sp;return ($3|0); -} -function _UnloadResource($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - _free($2); - return; -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(17780)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (80 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[17756>>2]=HEAP32[$1>>2]|0;HEAP32[17756+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17756+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17756+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17756+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(17780)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(17784)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(17776)>>2] = $23; - $24 = HEAP32[4439]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4790,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(17760)>>2]|0; - $10 = HEAP32[(17780)>>2]|0; - $11 = HEAP32[(17784)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2128 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(17776)>>2] = $23; - $24 = HEAP32[4439]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4790,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(9); - $6 = ($1|0)<(9); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(1,5187,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $10; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(3,4835,$vararg_buffer); - HEAP32[$0>>2] = $11; - $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; - $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; - $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; - STACKTOP = sp;return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } - _free($1); - return; -} -function _rlLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[4447]|0; - $7 = ($6|0)==(0); - $$off = (($3) + -9)|0; - $8 = ($$off>>>0)<(4); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(1,4885,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[4448]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(13); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(1,4929,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[4449]|0; - $13 = ($12|0)==(0); - $14 = $3 | 1; - $15 = ($14|0)==(15); - $or$cond97 = $15 & $13; - if ($or$cond97) { - _TraceLog(1,4974,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $16 = HEAP32[4450]|0; - $17 = ($16|0)==(0); - $18 = ($14|0)==(17); - $or$cond99 = $18 & $17; - if ($or$cond99) { - _TraceLog(1,5019,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $19 = HEAP32[4451]|0; - $20 = ($19|0)==(0); - $21 = ($14|0)==(19); - $or$cond101 = $21 & $20; - if ($or$cond101) { - _TraceLog(1,5064,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $22 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($22|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $23 = HEAP32[4452]|0; - $24 = ($23|0)==(0); - if (!($24)) { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); - } - break; - } - case 9: { - $25 = HEAP32[4447]|0; - $26 = ($25|0)==(0); - if (!($26)) { - _LoadTextureCompressed($0,$1,$2,33776,$4); - } - break; - } - case 10: { - $27 = HEAP32[4447]|0; - $28 = ($27|0)==(0); - if (!($28)) { - _LoadTextureCompressed($0,$1,$2,33777,$4); - } - break; - } - case 11: { - $29 = HEAP32[4447]|0; - $30 = ($29|0)==(0); - if (!($30)) { - _LoadTextureCompressed($0,$1,$2,33778,$4); - } - break; - } - case 12: { - $31 = HEAP32[4447]|0; - $32 = ($31|0)==(0); - if (!($32)) { - _LoadTextureCompressed($0,$1,$2,33779,$4); - } - break; - } - case 13: { - $33 = HEAP32[4448]|0; - $34 = ($33|0)==(0); - if (!($34)) { - _LoadTextureCompressed($0,$1,$2,36196,$4); - } - break; - } - case 14: { - $35 = HEAP32[4449]|0; - $36 = ($35|0)==(0); - if (!($36)) { - _LoadTextureCompressed($0,$1,$2,37492,$4); - } - break; - } - case 15: { - $37 = HEAP32[4449]|0; - $38 = ($37|0)==(0); - if (!($38)) { - _LoadTextureCompressed($0,$1,$2,37496,$4); - } - break; - } - case 16: { - $39 = HEAP32[4450]|0; - $40 = ($39|0)==(0); - if (!($40)) { - _LoadTextureCompressed($0,$1,$2,35840,$4); - } - break; - } - case 17: { - $41 = HEAP32[4450]|0; - $42 = ($41|0)==(0); - if (!($42)) { - _LoadTextureCompressed($0,$1,$2,35842,$4); - } - break; - } - case 18: { - $43 = HEAP32[4451]|0; - $44 = ($43|0)==(0); - if (!($44)) { - _LoadTextureCompressed($0,$1,$2,37808,$4); - } - break; - } - case 19: { - $45 = HEAP32[4451]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _LoadTextureCompressed($0,$1,$2,37815,$4); - } - break; - } - default: { - _TraceLog(1,5109,$vararg_buffer9); - } - } - } while(0); - $47 = HEAP32[4453]|0; - $48 = ($47|0)==(0); - if ($48) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $49 = HEAP32[$5>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(1,7641,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $49; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5138,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadTextureCompressed($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($3|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($4|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($3|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($4|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(1,5241,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[17756>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17756+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17756+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17756+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17756+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(17784)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,5287,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[17756>>2]|0;HEAP32[$0+4>>2]=HEAP32[17756+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17756+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17756+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17756+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17756+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17756+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17756+28>>2]|0; - return; -} -function _IsFileExtension($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strrchr($0,46)|0); - $3 = ($2|0)==(0|0); - if ($3) { - return 0; - } else { - $4 = (_strcmp($2,$1)|0); - $5 = ($4|0)==(0); - $$ = $5&1; - return ($$|0); - } - return (0)|0; -} -function _LoadImagePro($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy = sp + 20|0; - $5 = sp; - HEAP32[$5>>2] = $1; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $2; - $7 = ((($5)) + 8|0); - HEAP32[$7>>2] = $3; - $8 = ((($5)) + 12|0); - HEAP32[$8>>2] = 1; - $9 = ((($5)) + 16|0); - HEAP32[$9>>2] = $4; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; - _ImageCopy($0,$$byval_copy); - STACKTOP = sp;return; -} -function _LoadImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $$byval_copy = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer7 = sp + 16|0; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - $6 = (_IsFileExtension($1,5337)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - $19 = (_IsFileExtension($1,5390)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_IsFileExtension($1,5395)|0); - $22 = ($21|0)==(0); - if ($22) { - $36 = (_IsFileExtension($1,5403)|0); - $37 = ($36|0)==(0); - if ($37) { - $46 = (_IsFileExtension($1,5475)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[$vararg_buffer4>>2] = $1; - _TraceLog(1,5480,$vararg_buffer4); - break; - } else { - _LoadDDS($2,$1); - break; - } - } - HEAP32[$3>>2] = 0; - $38 = (_fopen($1,5400)|0); - _stbi_set_flip_vertically_on_load(1); - $39 = ((($2)) + 4|0); - $40 = ((($2)) + 8|0); - $41 = (_stbi_loadf_from_file($38,$39,$40,$3,0)|0); - HEAP32[$2>>2] = $41; - _stbi_set_flip_vertically_on_load(0); - (_fclose($38)|0); - $42 = ((($2)) + 12|0); - HEAP32[$42>>2] = 1; - $43 = HEAP32[$3>>2]|0; - $44 = ($43|0)==(3); - if ($44) { - $45 = ((($2)) + 16|0); - HEAP32[$45>>2] = 8; - } else { - HEAP32[$$byval_copy>>2] = $1; - _TraceLog(1,5408,$$byval_copy); - ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; - _UnloadImage($$byval_copy); - } - break; - } - } - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$5>>2] = 0; - $23 = (_fopen($1,5400)|0); - $24 = ($23|0)==(0|0); - L17: do { - if (!($24)) { - $25 = (_stbi_load_from_file($23,$3,$4,$5,0)|0); - HEAP32[$2>>2] = $25; - (_fclose($23)|0); - $26 = HEAP32[$3>>2]|0; - $27 = ((($2)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$4>>2]|0; - $29 = ((($2)) + 8|0); - HEAP32[$29>>2] = $28; - $30 = ((($2)) + 12|0); - HEAP32[$30>>2] = 1; - $31 = HEAP32[$5>>2]|0; - switch ($31|0) { - case 1: { - $32 = ((($2)) + 16|0); - HEAP32[$32>>2] = 1; - break L17; - break; - } - case 2: { - $33 = ((($2)) + 16|0); - HEAP32[$33>>2] = 2; - break L17; - break; - } - case 3: { - $34 = ((($2)) + 16|0); - HEAP32[$34>>2] = 4; - break L17; - break; - } - case 4: { - $35 = ((($2)) + 16|0); - HEAP32[$35>>2] = 7; - break L17; - break; - } - default: { - break L17; - } - } - } - } while(0); - } else { - $8 = (_LoadResource($1,0)|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(1); - if ($10) { - $11 = ((($8)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($8)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($8)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($8)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _LoadImagePro($2,$12,$14,$16,$18); - } else { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5343,$vararg_buffer); - } - _UnloadResource($8); - } - } while(0); - $48 = HEAP32[$2>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - HEAP32[$vararg_buffer12>>2] = $1; - _TraceLog(1,5555,$vararg_buffer12); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - $50 = ((($2)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($2)) + 8|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $51; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $53; - _TraceLog(0,5516,$vararg_buffer7); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _stbi_load_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return ($6|0); - } - $8 = ((($5)) + 172|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($5)) + 168|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) - ($9))|0; - (_fseek($0,$12,1)|0); - STACKTOP = sp;return ($6|0); -} -function _stbi_set_flip_vertically_on_load($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4457] = $0; - return; -} -function _stbi_loadf_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__loadf_main($5,$1,$2,$3,$4)|0); - STACKTOP = sp;return ($6|0); -} -function _LoadDDS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$0101111 = 0, $$0102114 = 0, $$0103112 = 0, $$sink = 0, $$sink2 = 0, $$sroa$0$0 = 0, $$sroa$0$1 = 0, $$sroa$0$2 = 0, $$sroa$0$3 = 0, $$sroa$28$0 = 0, $$sroa$28$0$$sroa_idx61 = 0, $$sroa$28$1 = 0, $$sroa$42$0 = 0, $$sroa$42$0$$sroa_idx75 = 0, $$sroa$42$1 = 0, $$sroa$56$0 = 0, $$sroa$56$0$$sroa_idx89 = 0, $$sroa$56$1 = 0, $$sroa$57$0 = 0; - var $$sroa$57$0$$sroa_idx91 = 0, $$sroa$57$2 = 0, $$sroa$57$3 = 0, $$sroa$57$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $exitcond = 0, $exitcond117 = 0, $or$cond = 0, $or$cond106 = 0, $or$cond108 = 0, $switch = 0, $switch$split282D = 0, $switch$split2D = 0, $switch$split312D = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $vararg_buffer24 = sp + 56|0; - $vararg_buffer20 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 184|0; - $3 = sp + 60|0; - $4 = (_fopen($1,5400)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5586,$vararg_buffer); - $$sroa$0$3 = 0;$$sroa$28$1 = 0;$$sroa$42$1 = 0;$$sroa$56$1 = 0;$$sroa$57$4 = 0; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; - } - (_fread($2,4,1,$4)|0); - $6 = (_strncmp($2,5620,4)|0); - $7 = ($6|0)==(0); - if ($7) { - (_fread($3,124,1,$4)|0); - HEAP32[$vararg_buffer4>>2] = $1; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,5673,$vararg_buffer4); - $8 = ((($3)) + 72|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $9; - _TraceLog(3,5703,$vararg_buffer8); - $10 = ((($3)) + 76|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer12>>2] = $1; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $11; - _TraceLog(3,5739,$vararg_buffer12); - $12 = ((($3)) + 80|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer16>>2] = $1; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $13; - _TraceLog(3,5778,$vararg_buffer16); - $14 = ((($3)) + 84|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$vararg_buffer20>>2] = $1; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $15; - _TraceLog(3,5805,$vararg_buffer20); - $16 = ((($3)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($3)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $$sink = $22 ? 1 : $21; - $23 = HEAP32[$14>>2]|0; - $24 = ($23|0)==(16); - L7: do { - if ($24) { - $25 = HEAP32[$10>>2]|0; - switch ($25|0) { - case 64: { - $26 = $17 << 1; - $27 = Math_imul($26, $19)|0; - $28 = (_malloc($27)|0); - (_fread($28,$27,1,$4)|0); - $$sroa$0$0 = $28;$$sroa$57$0 = 3; - break L7; - break; - } - case 65: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $29 = ((($3)) + 100|0); - $30 = HEAP32[$29>>2]|0; - $switch$split2D = ($30|0)<(61440); - if ($switch$split2D) { - switch ($30|0) { - case 32768: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $31 = Math_imul($19, $17)|0; - $32 = $31 << 1; - $33 = (_malloc($32)|0); - (_fread($33,$32,1,$4)|0); - $34 = ($31|0)>(0); - if ($34) { - $$0103112 = 0; - } else { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } - while(1) { - $35 = (($33) + ($$0103112<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = ($36&65535) >>> 15; - $39 = $38&65535; - $40 = $37 << 1; - $41 = $40 | $39; - $42 = $41&65535; - HEAP16[$35>>1] = $42; - $43 = (($$0103112) + 1)|0; - $exitcond = ($43|0)==($31|0); - if ($exitcond) { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } else { - $$0103112 = $43; - } - } - } else { - switch ($30|0) { - case 61440: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $44 = Math_imul($19, $17)|0; - $45 = $44 << 1; - $46 = (_malloc($45)|0); - (_fread($46,$45,1,$4)|0); - $47 = ($44|0)>(0); - if ($47) { - $$0102114 = 0; - } else { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } - while(1) { - $48 = (($46) + ($$0102114<<1)|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = ($49&65535) >>> 12; - $52 = $51&65535; - $53 = $50 << 4; - $54 = $53 | $52; - $55 = $54&65535; - HEAP16[$48>>1] = $55; - $56 = (($$0102114) + 1)|0; - $exitcond117 = ($56|0)==($44|0); - if ($exitcond117) { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } else { - $$0102114 = $56; - } - } - } - } else { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - } - } while(0); - $57 = HEAP32[$10>>2]|0; - $58 = ($57|0)==(64); - $59 = HEAP32[$14>>2]|0; - $60 = ($59|0)==(24); - $or$cond = $58 & $60; - L22: do { - if ($or$cond) { - $61 = ($17*3)|0; - $62 = Math_imul($61, $19)|0; - $63 = (_malloc($62)|0); - (_fread($63,$62,1,$4)|0); - $$sroa$0$1 = $63;$$sroa$57$2 = 4; - } else { - $64 = ($57|0)==(65); - $65 = ($59|0)==(32); - $or$cond106 = $64 & $65; - if ($or$cond106) { - $66 = $17 << 2; - $67 = Math_imul($66, $19)|0; - $68 = (_malloc($67)|0); - (_fread($68,$67,1,$4)|0); - $69 = ($67|0)>(0); - if ($69) { - $$0101111 = 0; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break; - } - while(1) { - $70 = (($68) + ($$0101111)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $$0101111 | 2; - $73 = (($68) + ($72)|0); - $74 = HEAP8[$73>>0]|0; - HEAP8[$70>>0] = $74; - HEAP8[$73>>0] = $71; - $75 = (($$0101111) + 4)|0; - $76 = ($75|0)<($67|0); - if ($76) { - $$0101111 = $75; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break L22; - } - } - } - $77 = $57 & -2; - $switch = ($77|0)!=(4); - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)==(0); - $or$cond108 = $switch | $79; - if ($or$cond108) { - $$sroa$0$1 = $$sroa$0$0;$$sroa$57$2 = $$sroa$57$0; - } else { - $80 = HEAP32[$20>>2]|0; - $81 = ($80>>>0)>(1); - $82 = ((($3)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81&1; - $$0 = $83 << $84; - HEAP32[$vararg_buffer24>>2] = $83; - _TraceLog(3,5835,$vararg_buffer24); - $85 = (_malloc($$0)|0); - (_fread($85,$$0,1,$4)|0); - $86 = HEAP32[$12>>2]|0; - $switch$split282D = ($86|0)<(861165636); - if ($switch$split282D) { - switch ($86|0) { - case 827611204: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $87 = HEAP32[$10>>2]|0; - $88 = ($87|0)==(4); - $$sink2 = $88 ? 9 : 10; - $$sroa$0$1 = $85;$$sroa$57$2 = $$sink2; - break; - } - $switch$split312D = ($86|0)<(894720068); - if ($switch$split312D) { - switch ($86|0) { - case 861165636: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 11; - break; - } else { - switch ($86|0) { - case 894720068: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 12; - break; - } - } - } - } while(0); - $$sroa$0$2 = $$sroa$0$1;$$sroa$28$0 = $17;$$sroa$42$0 = $19;$$sroa$56$0 = $$sink;$$sroa$57$3 = $$sroa$57$2; - } else { - HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(1,5625,$vararg_buffer1); - $$sroa$0$2 = 0;$$sroa$28$0 = 0;$$sroa$42$0 = 0;$$sroa$56$0 = 0;$$sroa$57$3 = 0; - } - (_fclose($4)|0); - $$sroa$0$3 = $$sroa$0$2;$$sroa$28$1 = $$sroa$28$0;$$sroa$42$1 = $$sroa$42$0;$$sroa$56$1 = $$sroa$56$0;$$sroa$57$4 = $$sroa$57$3; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; -} -function _stbi__start_file($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($0,3656,$1); - return; -} -function _stbi__loadf_main($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__hdr_test($0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - _stbi__float_postprocess($7,$1,$2,$3,$4); - $$0 = $7; - return ($$0|0); - } - $9 = (_stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4)|0); - $10 = ($9|0)==(0|0); - if ($10) { - _stbi__err(5860); - $$0 = 0; - return ($$0|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ($4|0)==(0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = $14; - } else { - $15 = $4; - } - $16 = (_stbi__ldr_to_hdr($9,$11,$12,$15)|0); - $$0 = $16; - return ($$0|0); -} -function _stbi__hdr_test($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__hdr_test_core($0,7468)|0); - _stbi__rewind($0); - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = $1; - return ($$0|0); - } - $3 = (_stbi__hdr_test_core($0,7480)|0); - _stbi__rewind($0); - $$0 = $3; - return ($$0|0); -} -function _stbi__hdr_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$0142 = 0, $$014033 = 0, $$014253 = 0, $$014344 = 0, $$014538 = 0, $$0146 = 0, $$0150 = 0, $$114131 = 0, $$1144 = 0, $$1147 = 0, $$1151 = 0, $$2148 = 0, $$2152$be = 0, $$215236 = 0, $$3 = 0, $$314943 = 0, $$315332 = 0, $$430 = 0, $$540 = 0; - var $$lcssa29 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond87 = 0, $exitcond88 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 4|0; - $8 = sp + 8|0; - $9 = (_stbi__hdr_gettoken($0,$5)|0); - $10 = (_strcmp($9,7328)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $12 = (_strcmp($9,7339)|0); - $13 = ($12|0)==(0); - if (!($13)) { - _stbi__err(7346); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - } - $14 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $14; - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - $$014253 = 0;$17 = $5; - while(1) { - $18 = (_strcmp($17,7354)|0); - $19 = ($18|0)==(0); - $$$0142 = $19 ? 1 : $$014253; - $20 = (_stbi__hdr_gettoken($0,$5)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$014253 = $$$0142;$17 = $5; - } - } - HEAP32[$6>>2] = $20; - $23 = ($$$0142|0)==(0); - if (!($23)) { - $24 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $24; - $25 = (_strncmp($24,7396,3)|0); - $26 = ($25|0)==(0); - if (!($26)) { - _stbi__err(7400); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $27 = ((($5)) + 3|0); - HEAP32[$6>>2] = $27; - $28 = (_strtol($27,$6,10)|0); - $29 = HEAP32[$6>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(32); - if ($31) { - $33 = $29; - while(1) { - $32 = ((($33)) + 1|0); - $34 = HEAP8[$32>>0]|0; - $35 = ($34<<24>>24)==(32); - if ($35) { - $33 = $32; - } else { - break; - } - } - HEAP32[$6>>2] = $32; - $$lcssa29 = $32; - } else { - $$lcssa29 = $29; - } - $36 = (_strncmp($$lcssa29,7424,3)|0); - $37 = ($36|0)==(0); - if (!($37)) { - _stbi__err(7400); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $38 = ((($$lcssa29)) + 3|0); - HEAP32[$6>>2] = $38; - $39 = (_strtol($38,0,10)|0); - HEAP32[$1>>2] = $39; - HEAP32[$2>>2] = $28; - $40 = ($3|0)==(0|0); - if (!($40)) { - HEAP32[$3>>2] = 3; - } - $41 = ($4|0)==(0); - $$ = $41 ? 3 : $4; - $42 = (_stbi__mad4sizes_valid($39,$28,$$)|0); - $43 = ($42|0)==(0); - if ($43) { - _stbi__err(6086); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $44 = (_stbi__malloc_mad4($39,$28,$$)|0); - $45 = ($44|0)==(0|0); - if ($45) { - _stbi__err(5879); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $$off = (($39) + -8)|0; - $46 = ($$off>>>0)>(32759); - do { - if ($46) { - $$0146 = 0; - label = 23; - } else { - $47 = ($28|0)>(0); - if ($47) { - $$014344 = 0;$$314943 = 0; - } else { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - L39: while(1) { - $57 = (_stbi__get8($0)|0); - $58 = (_stbi__get8($0)|0); - $59 = (_stbi__get8($0)|0); - $60 = $59&255; - $notlhs = ($57<<24>>24)==(2); - $notrhs = ($58<<24>>24)==(2); - $or$cond3$not = $notlhs & $notrhs; - $61 = $60 & 128; - $62 = ($61|0)==(0); - $or$cond = $or$cond3$not & $62; - if (!($or$cond)) { - label = 28; - break; - } - $67 = $60 << 8; - $68 = (_stbi__get8($0)|0); - $69 = $68&255; - $70 = $69 | $67; - $71 = ($70|0)==($39|0); - if (!($71)) { - label = 30; - break; - } - $72 = ($$014344|0)==(0|0); - if ($72) { - $73 = (_stbi__malloc_mad2($39,4)|0); - $74 = ($73|0)==(0|0); - if ($74) { - label = 33; - break; - } else { - $$1144 = $73; - } - } else { - $$1144 = $$014344; - } - $$014538 = 0; - while(1) { - $$215236 = 0;$87 = $39; - while(1) { - $82 = (_stbi__get8($0)|0); - $79 = $82&255; - $83 = ($82&255)>(128); - do { - if ($83) { - $84 = (_stbi__get8($0)|0); - $85 = (($79) + 128)|0; - $77 = $85 & 255; - $86 = ($77|0)>($87|0); - if ($86) { - label = 43; - break L39; - } - $88 = ($77|0)==(0); - if ($88) { - $$2152$be = $$215236; - break; - } else { - $$014033 = 0;$$315332 = $$215236; - } - while(1) { - $89 = (($$315332) + 1)|0; - $90 = $$315332 << 2; - $91 = (($90) + ($$014538))|0; - $92 = (($$1144) + ($91)|0); - HEAP8[$92>>0] = $84; - $93 = (($$014033) + 1)|0; - $exitcond87 = ($93|0)==($77|0); - if ($exitcond87) { - break; - } else { - $$014033 = $93;$$315332 = $89; - } - } - $76 = (($$215236) + ($77))|0; - $$2152$be = $76; - } else { - $94 = ($79|0)>($87|0); - if ($94) { - label = 47; - break L39; - } - $95 = ($82<<24>>24)==(0); - if ($95) { - $$2152$be = $$215236; - break; - } else { - $$114131 = 0;$$430 = $$215236; - } - while(1) { - $96 = (_stbi__get8($0)|0); - $97 = (($$430) + 1)|0; - $98 = $$430 << 2; - $99 = (($98) + ($$014538))|0; - $100 = (($$1144) + ($99)|0); - HEAP8[$100>>0] = $96; - $101 = (($$114131) + 1)|0; - $exitcond = ($101|0)==($79|0); - if ($exitcond) { - break; - } else { - $$114131 = $101;$$430 = $97; - } - } - $78 = (($$215236) + ($79))|0; - $$2152$be = $78; - } - } while(0); - $80 = (($39) - ($$2152$be))|0; - $81 = ($80|0)>(0); - if ($81) { - $$215236 = $$2152$be;$87 = $80; - } else { - break; - } - } - $102 = (($$014538) + 1)|0; - $103 = ($102|0)<(4); - if ($103) { - $$014538 = $102; - } else { - break; - } - } - $75 = Math_imul($$314943, $39)|0; - $$540 = 0; - while(1) { - $104 = (($$540) + ($75))|0; - $105 = Math_imul($104, $$)|0; - $106 = (($44) + ($105<<2)|0); - $107 = $$540 << 2; - $108 = (($$1144) + ($107)|0); - _stbi__hdr_convert($106,$108,$$); - $109 = (($$540) + 1)|0; - $exitcond88 = ($109|0)==($39|0); - if ($exitcond88) { - break; - } else { - $$540 = $109; - } - } - $110 = (($$314943) + 1)|0; - $111 = ($110|0)<($28|0); - if ($111) { - $$014344 = $$1144;$$314943 = $110; - } else { - label = 52; - break; - } - } - if ((label|0) == 28) { - HEAP8[$8>>0] = $57; - $63 = ((($8)) + 1|0); - HEAP8[$63>>0] = $58; - $64 = ((($8)) + 2|0); - HEAP8[$64>>0] = $59; - $65 = (_stbi__get8($0)|0); - $66 = ((($8)) + 3|0); - HEAP8[$66>>0] = $65; - _stbi__hdr_convert($44,$8,$$); - _free($$014344); - $$1151 = 1;$$2148 = 0; - label = 25; - break; - } - else if ((label|0) == 30) { - _free($44); - _free($$014344); - _stbi__err(7428); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 33) { - _free($44); - _stbi__err(5879); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 43) { - _free($44); - _free($$1144); - _stbi__err(7460); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 47) { - _free($44); - _free($$1144); - _stbi__err(7460); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 52) { - $112 = ($$1144|0)==(0|0); - if ($112) { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - _free($$1144); - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - } - } while(0); - while(1) { - if ((label|0) == 23) { - label = 0; - $48 = ($$0146|0)<($28|0); - if ($48) { - $$0150 = 0;$$1147 = $$0146; - } else { - $$3 = $44; - break; - } - } - else if ((label|0) == 25) { - label = 0; - (_stbi__getn($0,$7,4)|0); - $50 = Math_imul($39, $$)|0; - $51 = Math_imul($50, $$2148)|0; - $52 = (($44) + ($51<<2)|0); - $53 = Math_imul($$1151, $$)|0; - $54 = (($52) + ($53<<2)|0); - _stbi__hdr_convert($54,$7,$$); - $55 = (($$1151) + 1)|0; - $$0150 = $55;$$1147 = $$2148; - } - $49 = ($$0150|0)<($39|0); - if ($49) { - $$1151 = $$0150;$$2148 = $$1147; - label = 25; - continue; - } - $56 = (($$1147) + 1)|0; - $$0146 = $56; - label = 23; - } - STACKTOP = sp;return ($$3|0); - } - } - _stbi__err(7377); - $$3 = 0; - STACKTOP = sp;return ($$3|0); -} -function _stbi__float_postprocess($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[4457]|0; - $6 = ($5|0)!=(0); - $7 = ($0|0)!=(0|0); - $or$cond = $7 & $6; - if (!($or$cond)) { - return; - } - $8 = ($4|0)==(0); - if ($8) { - $9 = HEAP32[$3>>2]|0; - $13 = $9; - } else { - $13 = $4; - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = $13 << 2; - _stbi__vertical_flip($0,$10,$11,$12); - return; -} -function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$023 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $5 = sp; - $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = HEAP32[$5>>2]|0; - switch ($8|0) { - case 8: { - $$023 = $6; - break; - } - case 16: { - label = 4; - break; - } - default: { - ___assert_fail((5888|0),(5914|0),1066,(5937|0)); - // unreachable; - } - } - if ((label|0) == 4) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($4|0)==(0); - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = $12; - } else { - $13 = $4; - } - $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); - HEAP32[$5>>2] = 8; - $$023 = $14; - } - $15 = HEAP32[4457]|0; - $16 = ($15|0)==(0); - if ($16) { - $$0 = $$023; - STACKTOP = sp;return ($$0|0); - } - $17 = ($4|0)==(0); - if ($17) { - $18 = HEAP32[$3>>2]|0; - $21 = $18; - } else { - $21 = $4; - } - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - _stbi__vertical_flip($$023,$19,$20,$21); - $$0 = $$023; - STACKTOP = sp;return ($$0|0); -} -function _stbi__ldr_to_hdr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$042 = 0, $$043$lcssa = 0, $$04345 = 0, $$04446 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond48 = 0, $sext = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__malloc_mad4($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(5879); - $$0 = 0; - return ($$0|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$042 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$042|0)>(0); - $11 = +HEAPF32[756]; - $12 = $11; - $13 = +HEAPF32[757]; - $14 = $13; - $$04446 = 0; - while(1) { - if ($10) { - $15 = Math_imul($$04446, $3)|0; - $$04345 = 0; - while(1) { - $16 = (($$04345) + ($15))|0; - $17 = (($0) + ($16)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 / 255.0; - $21 = $20; - $22 = (+Math_pow((+$21),(+$12))); - $23 = $22 * $14; - $24 = $23; - $25 = (($5) + ($16<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (($$04345) + 1)|0; - $exitcond = ($26|0)==($$042|0); - if ($exitcond) { - $$043$lcssa = $$042; - break; - } else { - $$04345 = $26; - } - } - } else { - $$043$lcssa = 0; - } - $27 = ($$043$lcssa|0)<($3|0); - $28 = Math_imul($$04446, $3)|0; - $29 = (($$043$lcssa) + ($28))|0; - if ($27) { - $30 = (($5) + ($29<<2)|0); - $31 = (($0) + ($29)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $33 / 255.0; - HEAPF32[$30>>2] = $34; - } - $35 = (($$04446) + 1)|0; - $exitcond48 = ($35|0)==($8|0); - if ($exitcond48) { - break; - } else { - $$04446 = $35; - } - } - } - _free($0); - $$0 = $5; - return ($$0|0); -} -function _stbi__err($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4456] = $0; - return; -} -function _stbi__malloc_mad4($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad4sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = $0 << 2; - $6 = Math_imul($5, $1)|0; - $7 = Math_imul($6, $2)|0; - $8 = (_stbi__malloc($7)|0); - $$0 = $8; - return ($$0|0); -} -function _stbi__mad4sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $15 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $15 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__mul2sizes_valid($8,4)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = $8 << 2; - $12 = (_stbi__addsizes_valid($11)|0); - $13 = ($12|0)!=(0); - $15 = $13; - } - } - } - $14 = $15&1; - return ($14|0); -} -function _stbi__malloc($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_malloc($0)|0); - return ($1|0); -} -function _stbi__mul2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 | $0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - } else { - $4 = ($1|0)==(0); - if ($4) { - $$0 = 1; - } else { - $5 = (2147483647 / ($1|0))&-1; - $6 = ($5|0)>=($0|0); - $7 = $6&1; - $$0 = $7; - } - } - return ($$0|0); -} -function _stbi__addsizes_valid($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 1; -} -function _stbi__load_main($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[$5>>2] = 8; - $6 = ((($5)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = ((($5)) + 4|0); - HEAP32[$7>>2] = 0; - $8 = (_stbi__png_test($0)|0); - $9 = ($8|0)==(0); - if (!($9)) { - $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); - $$0 = $10; - return ($$0|0); - } - $11 = (_stbi__hdr_test($0)|0); - $12 = ($11|0)==(0); - if ($12) { - _stbi__err(5860); - $$0 = 0; - return ($$0|0); - } - $13 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ($4|0)==(0); - if ($16) { - $17 = HEAP32[$3>>2]|0; - $18 = $17; - } else { - $18 = $4; - } - $19 = (_stbi__hdr_to_ldr($13,$14,$15,$18)|0); - $$0 = $19; - return ($$0|0); -} -function _stbi__convert_16_to_8($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = Math_imul($4, $3)|0; - $6 = (_stbi__malloc($5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - _stbi__err(5879); - $$0 = 0; - return ($$0|0); - } - $8 = ($5|0)>(0); - if ($8) { - $$01819 = 0; - while(1) { - $9 = (($0) + ($$01819<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10&65535) >>> 8; - $12 = $11&255; - $13 = (($6) + ($$01819)|0); - HEAP8[$13>>0] = $12; - $14 = (($$01819) + 1)|0; - $exitcond = ($14|0)==($5|0); - if ($exitcond) { - break; - } else { - $$01819 = $14; - } - } - } - _free($0); - $$0 = $6; - return ($$0|0); -} -function _stbi__vertical_flip($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$04553 = 0, $$04652 = 0, $$04751 = 0, $$054 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2048|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2048|0); - $4 = sp; - $5 = Math_imul($3, $1)|0; - $6 = $2 >> 1; - $7 = ($6|0)>(0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = (($2) + -1)|0; - $9 = ($5|0)==(0); - $$054 = 0; - while(1) { - if (!($9)) { - $10 = (($8) - ($$054))|0; - $11 = Math_imul($10, $5)|0; - $12 = (($0) + ($11)|0); - $13 = Math_imul($$054, $5)|0; - $14 = (($0) + ($13)|0); - $$04553 = $5;$$04652 = $12;$$04751 = $14; - while(1) { - $15 = ($$04553>>>0)<(2048); - $16 = $15 ? $$04553 : 2048; - _memcpy(($4|0),($$04751|0),($16|0))|0; - _memcpy(($$04751|0),($$04652|0),($16|0))|0; - _memcpy(($$04652|0),($4|0),($16|0))|0; - $17 = (($$04751) + ($16)|0); - $18 = (($$04652) + ($16)|0); - $19 = (($$04553) - ($16))|0; - $20 = ($19|0)==(0); - if ($20) { - break; - } else { - $$04553 = $19;$$04652 = $18;$$04751 = $17; - } - } - } - $21 = (($$054) + 1)|0; - $exitcond = ($21|0)==($6|0); - if ($exitcond) { - break; - } else { - $$054 = $21; - } - } - STACKTOP = sp;return; -} -function _stbi__png_test($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__check_png_header($0)|0); - _stbi__rewind($0); - return ($1|0); -} -function _stbi__png_load($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $6 = sp; - HEAP32[$6>>2] = $0; - $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); - STACKTOP = sp;return ($7|0); -} -function _stbi__hdr_to_ldr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0.0, $$052 = 0.0, $$054 = 0, $$055 = 0, $$056$lcssa = 0, $$05658 = 0, $$05759 = 0, $$1 = 0.0, $$153 = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0; - var $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond61 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$054 = 0; - return ($$054|0); - } - $5 = (_stbi__malloc_mad3($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(5879); - $$054 = 0; - return ($$054|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$055 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$055|0)>(0); - $11 = +HEAPF32[758]; - $12 = +HEAPF32[759]; - $13 = $12; - $$05759 = 0; - while(1) { - if ($10) { - $14 = Math_imul($$05759, $3)|0; - $$05658 = 0; - while(1) { - $15 = (($$05658) + ($14))|0; - $16 = (($0) + ($15<<2)|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 * $11; - $19 = $18; - $20 = (+Math_pow((+$19),(+$13))); - $21 = $20; - $22 = $21 * 255.0; - $23 = $22 + 0.5; - $24 = $23 < 0.0; - $$052 = $24 ? 0.0 : $23; - $25 = $$052 > 255.0; - $$153 = $25 ? 255.0 : $$052; - $26 = (~~(($$153))); - $27 = $26&255; - $28 = (($5) + ($15)|0); - HEAP8[$28>>0] = $27; - $29 = (($$05658) + 1)|0; - $exitcond = ($29|0)==($$055|0); - if ($exitcond) { - $$056$lcssa = $$055; - break; - } else { - $$05658 = $29; - } - } - } else { - $$056$lcssa = 0; - } - $30 = ($$056$lcssa|0)<($3|0); - if ($30) { - $31 = Math_imul($$05759, $3)|0; - $32 = (($$056$lcssa) + ($31))|0; - $33 = (($0) + ($32<<2)|0); - $34 = +HEAPF32[$33>>2]; - $35 = $34 * 255.0; - $36 = $35 + 0.5; - $37 = $36 < 0.0; - $$0 = $37 ? 0.0 : $36; - $38 = $$0 > 255.0; - $$1 = $38 ? 255.0 : $$0; - $39 = (~~(($$1))); - $40 = $39&255; - $41 = (($5) + ($32)|0); - HEAP8[$41>>0] = $40; - } - $42 = (($$05759) + 1)|0; - $exitcond61 = ($42|0)==($8|0); - if ($exitcond61) { - break; - } else { - $$05759 = $42; - } - } - } - _free($0); - $$054 = $5; - return ($$054|0); -} -function _stbi__malloc_mad3($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = Math_imul($1, $0)|0; - $6 = Math_imul($5, $2)|0; - $7 = (_stbi__malloc($6)|0); - $$0 = $7; - return ($$0|0); -} -function _stbi__mad3sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $12 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $12 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__addsizes_valid($8)|0); - $10 = ($9|0)!=(0); - $12 = $10; - } - } - $11 = $12&1; - return ($11|0); -} -function _stbi__do_png($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4>>>0)>(4); - if ($6) { - _stbi__err(5969); - $$045 = 0; - return ($$045|0); - } - $7 = (_stbi__parse_png_file($0,0,$4)|0); - $8 = ($7|0)==(0); - if ($8) { - $$2 = 0; - } else { - $9 = ((($0)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(8); - $$ = $11 ? $10 : 8; - HEAP32[$5>>2] = $$; - $12 = ((($0)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$12>>2] = 0; - $14 = ($4|0)==(0); - if ($14) { - $$1 = $13; - } else { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==($4|0); - if ($18) { - $$1 = $13; - } else { - $19 = HEAP32[$5>>2]|0; - $20 = ($19|0)==(8); - $21 = ((($15)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$15>>2]|0; - if ($20) { - $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); - $$0 = $24; - } else { - $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); - $$0 = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $4; - $28 = ($$0|0)==(0|0); - if ($28) { - $$045 = 0; - return ($$045|0); - } else { - $$1 = $$0; - } - } - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; - $31 = ((($29)) + 4|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$2>>2] = $32; - $33 = ($3|0)==(0|0); - if ($33) { - $$2 = $$1; - } else { - $34 = ((($29)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$3>>2] = $35; - $$2 = $$1; - } - } - $36 = ((($0)) + 12|0); - $37 = HEAP32[$36>>2]|0; - _free($37); - HEAP32[$36>>2] = 0; - $38 = ((($0)) + 8|0); - $39 = HEAP32[$38>>2]|0; - _free($39); - HEAP32[$38>>2] = 0; - $40 = ((($0)) + 4|0); - $41 = HEAP32[$40>>2]|0; - _free($41); - HEAP32[$40>>2] = 0; - $$045 = $$2; - return ($$045|0); -} -function _stbi__parse_png_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0219 = 0, $$0208 = 0, $$0213 = 0, $$0216 = 0, $$0219 = 0, $$0228595 = 0, $$0230 = 0, $$0233 = 0, $$0237 = 0, $$0241593 = 0, $$0243 = 0, $$0247 = 0, $$1209 = 0, $$1214 = 0, $$1217 = 0, $$1220 = 0, $$1229590 = 0, $$1231 = 0, $$1242591 = 0; - var $$1248 = 0, $$2221 = 0, $$2235 = 0, $$2239 = 0, $$2245 = 0, $$256 = 0, $$3211 = 0, $$3222 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; - var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; - var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; - var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; - var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond250 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $3 = sp + 32|0; - $4 = sp + 22|0; - $5 = sp + 16|0; - $6 = sp + 8|0; - $7 = sp; - $8 = HEAP32[$0>>2]|0; - $9 = ((($0)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($0)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = (_stbi__check_png_header($8)|0); - $13 = ($12|0)==(0); - if ($13) { - $$7 = 0; - STACKTOP = sp;return ($$7|0); - } - $14 = ($1|0)==(1); - if ($14) { - $$7 = 1; - STACKTOP = sp;return ($$7|0); - } - $15 = ((($6)) + 4|0); - $16 = ((($8)) + 4|0); - $17 = ((($0)) + 16|0); - $18 = ((($8)) + 8|0); - $19 = ($1|0)==(2); - $20 = ((($8)) + 8|0); - $21 = ((($8)) + 8|0); - $22 = ((($0)) + 16|0); - $23 = ($1|0)==(2); - $24 = ($1|0)==(2); - $$0208 = 0;$$0213 = 0;$$0216 = 0;$$0219 = 0;$$0230 = 0;$$0233 = 0;$$0237 = 0;$$0243 = 1;$$0247 = 0; - L7: while(1) { - _stbi__get_chunk_header($6,$8); - $25 = HEAP32[$15>>2]|0; - $switch$split2D = ($25|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split52D = ($25|0)<(1229209940); - if ($switch$split52D) { - switch ($25|0) { - case 1130840649: { - break; - } - default: { - label = 105; - break L9; - } - } - $26 = HEAP32[$6>>2]|0; - _stbi__skip($8,$26); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = 1;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - $switch$split112D = ($25|0)<(1229278788); - if (!($switch$split112D)) { - switch ($25|0) { - case 1229278788: { - label = 85; - break L7; - break; - } - default: { - label = 105; - break L9; - } - } - } - switch ($25|0) { - case 1229209940: { - break; - } - default: { - label = 105; - break L9; - } - } - $130 = ($$0243|0)==(0); - if (!($130)) { - label = 70; - break L7; - } - $131 = ($$0208<<24>>24)==(0); - $132 = ($$0247|0)!=(0); - $or$cond = $132 | $131; - if (!($or$cond)) { - label = 72; - break L7; - } - if ($24) { - label = 74; - break L7; - } - $135 = HEAP32[$6>>2]|0; - $136 = (($135) + ($$0216))|0; - $137 = ($136|0)<($$0216|0); - if ($137) { - $$6$ph = 0; - break L7; - } - $138 = ($136>>>0)>($$0219>>>0); - if ($138) { - $139 = ($$0219|0)==(0); - $140 = ($135>>>0)>(4096); - $141 = $140 ? $135 : 4096; - $$$0219 = $139 ? $141 : $$0219; - $142 = HEAP32[$6>>2]|0; - $143 = (($142) + ($$0216))|0; - $$1220 = $$$0219; - while(1) { - $144 = ($143>>>0)>($$1220>>>0); - $145 = $$1220 << 1; - if ($144) { - $$1220 = $145; - } else { - break; - } - } - $146 = HEAP32[$10>>2]|0; - $147 = (_realloc($146,$$1220)|0); - $148 = ($147|0)==(0|0); - if ($148) { - label = 81; - break L7; - } - HEAP32[$10>>2] = $147; - $$2221 = $$1220; - } else { - $$2221 = $$0219; - } - $149 = HEAP32[$10>>2]|0; - $150 = (($149) + ($$0216)|0); - $151 = HEAP32[$6>>2]|0; - $152 = (_stbi__getn($8,$150,$151)|0); - $153 = ($152|0)==(0); - if ($153) { - label = 83; - break L7; - } - $154 = HEAP32[$6>>2]|0; - $155 = (($154) + ($$0216))|0; - $$1214 = $$0213;$$1217 = $155;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$2221; - } else { - $switch$split82D = ($25|0)<(1347179589); - if ($switch$split82D) { - switch ($25|0) { - case 1229472850: { - break; - } - default: { - label = 105; - break L9; - } - } - $27 = ($$0243|0)==(0); - if ($27) { - label = 7; - break L7; - } - $28 = HEAP32[$6>>2]|0; - $29 = ($28|0)==(13); - if (!($29)) { - label = 9; - break L7; - } - $30 = (_stbi__get32be($8)|0); - HEAP32[$8>>2] = $30; - $31 = ($30>>>0)>(16777216); - if ($31) { - label = 11; - break L7; - } - $32 = (_stbi__get32be($8)|0); - HEAP32[$16>>2] = $32; - $33 = ($32>>>0)>(16777216); - if ($33) { - label = 13; - break L7; - } - $34 = (_stbi__get8($8)|0); - $35 = $34&255; - HEAP32[$17>>2] = $35; - switch ($34<<24>>24) { - case 16: case 8: case 4: case 2: case 1: { - break; - } - default: { - label = 15; - break L7; - } - } - $36 = (_stbi__get8($8)|0); - $37 = $36&255; - $38 = ($36&255)>(6); - if ($38) { - label = 17; - break L7; - } - $39 = ($36<<24>>24)==(3); - if ($39) { - $40 = HEAP32[$17>>2]|0; - $41 = ($40|0)==(16); - if ($41) { - label = 20; - break L7; - } else { - $$1209 = 3; - } - } else { - $42 = $37 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$1209 = $$0208; - } else { - label = 22; - break L7; - } - } - $44 = (_stbi__get8($8)|0); - $45 = ($44<<24>>24)==(0); - if (!($45)) { - label = 24; - break L7; - } - $46 = (_stbi__get8($8)|0); - $47 = ($46<<24>>24)==(0); - if (!($47)) { - label = 26; - break L7; - } - $48 = (_stbi__get8($8)|0); - $49 = $48&255; - $50 = ($48&255)>(1); - if ($50) { - label = 28; - break L7; - } - $51 = HEAP32[$8>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - label = 31; - break L7; - } - $53 = HEAP32[$16>>2]|0; - $54 = ($53|0)==(0); - if ($54) { - label = 31; - break L7; - } - $55 = ($$1209<<24>>24)==(0); - $56 = (1073741824 / ($51>>>0))&-1; - if (!($55)) { - HEAP32[$20>>2] = 1; - $63 = $56 >>> 2; - $64 = ($63>>>0)<($53>>>0); - if ($64) { - label = 37; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = $$1209;$$3222 = $$0219; - break; - } - } - $57 = $37 & 2; - $58 = $57 | 1; - $59 = $37 >>> 2; - $$lobit = $59 & 1; - $60 = (($58) + ($$lobit))|0; - HEAP32[$18>>2] = $60; - $61 = (($56>>>0) / ($60>>>0))&-1; - $62 = ($61>>>0)<($53>>>0); - if ($62) { - label = 34; - break L7; - } - if ($19) { - $$6$ph = 1; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - } - $switch$split142D = ($25|0)<(1951551059); - if ($switch$split142D) { - switch ($25|0) { - case 1347179589: { - break; - } - default: { - label = 105; - break L9; - } - } - $65 = ($$0243|0)==(0); - if (!($65)) { - label = 39; - break L7; - } - $66 = HEAP32[$6>>2]|0; - $67 = ($66>>>0)>(768); - if ($67) { - label = 41; - break L7; - } - $68 = (($66>>>0) / 3)&-1; - $69 = ($68*3)|0; - $70 = ($69|0)==($66|0); - if (!($70)) { - label = 44; - break L7; - } - $71 = ($66>>>0)>(2); - if ($71) { - $$0228595 = 0; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - break; - } - while(1) { - $72 = (_stbi__get8($8)|0); - $73 = $$0228595 << 2; - $74 = (($3) + ($73)|0); - HEAP8[$74>>0] = $72; - $75 = (_stbi__get8($8)|0); - $76 = $73 | 1; - $77 = (($3) + ($76)|0); - HEAP8[$77>>0] = $75; - $78 = (_stbi__get8($8)|0); - $79 = $73 | 2; - $80 = (($3) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = $73 | 3; - $82 = (($3) + ($81)|0); - HEAP8[$82>>0] = -1; - $83 = (($$0228595) + 1)|0; - $84 = ($83>>>0)<($68>>>0); - if ($84) { - $$0228595 = $83; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break L9; - } - } - } - switch ($25|0) { - case 1951551059: { - break; - } - default: { - label = 105; - break L9; - } - } - $85 = ($$0243|0)==(0); - if (!($85)) { - label = 47; - break L7; - } - $86 = HEAP32[$10>>2]|0; - $87 = ($86|0)==(0|0); - if (!($87)) { - label = 49; - break L7; - } - $88 = ($$0208<<24>>24)==(0); - if (!($88)) { - if ($23) { - label = 52; - break L7; - } - $90 = ($$0247|0)==(0); - if ($90) { - label = 54; - break L7; - } - $91 = HEAP32[$6>>2]|0; - $92 = ($91>>>0)>($$0247>>>0); - if ($92) { - label = 58; - break L7; - } - $93 = HEAP32[$6>>2]|0; - $94 = ($93|0)==(0); - if ($94) { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 4;$$3222 = $$0219; - break; - } - $95 = HEAP32[$6>>2]|0; - $$1229590 = 0; - while(1) { - $96 = (_stbi__get8($8)|0); - $97 = $$1229590 << 2; - $98 = $97 | 3; - $99 = (($3) + ($98)|0); - HEAP8[$99>>0] = $96; - $100 = (($$1229590) + 1)|0; - $101 = ($100>>>0)<($95>>>0); - if ($101) { - $$1229590 = $100; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = 4;$$3222 = $$0219; - break L9; - } - } - } - $102 = HEAP32[$21>>2]|0; - $103 = $102 & 1; - $104 = ($103|0)==(0); - if ($104) { - label = 61; - break L7; - } - $105 = HEAP32[$6>>2]|0; - $106 = $102 << 1; - $107 = ($105|0)==($106|0); - if (!($107)) { - label = 63; - break L7; - } - $108 = HEAP32[$22>>2]|0; - $109 = ($108|0)==(16); - $110 = HEAP32[$21>>2]|0; - $111 = ($110|0)>(0); - if ($109) { - if ($111) { - $$0241593 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $112 = (_stbi__get16be($8)|0); - $113 = $112&65535; - $114 = (($5) + ($$0241593<<1)|0); - HEAP16[$114>>1] = $113; - $115 = (($$0241593) + 1)|0; - $116 = HEAP32[$21>>2]|0; - $117 = ($115|0)<($116|0); - if ($117) { - $$0241593 = $115; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } else { - if ($111) { - $$1242591 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $118 = (_stbi__get16be($8)|0); - $119 = $118 & 255; - $120 = HEAP32[$22>>2]|0; - $121 = (6285 + ($120)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = Math_imul($123, $119)|0; - $125 = $124&255; - $126 = (($4) + ($$1242591)|0); - HEAP8[$126>>0] = $125; - $127 = (($$1242591) + 1)|0; - $128 = HEAP32[$21>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $$1242591 = $127; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } - } - } while(0); - if ((label|0) == 105) { - label = 0; - $205 = ($$0243|0)==(0); - if (!($205)) { - label = 106; - break; - } - $206 = $25 & 536870912; - $207 = ($206|0)==(0); - if ($207) { - label = 108; - break; - } - $216 = HEAP32[$6>>2]|0; - _stbi__skip($8,$216); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - } - (_stbi__get32be($8)|0); - $$0208 = $$3211;$$0213 = $$1214;$$0216 = $$1217;$$0219 = $$3222;$$0230 = $$1231;$$0233 = $$2235;$$0237 = $$2239;$$0243 = $$2245;$$0247 = $$1248; - } - switch (label|0) { - case 7: { - _stbi__err(6059); - $$6$ph = 0; - break; - } - case 9: { - _stbi__err(6073); - $$6$ph = 0; - break; - } - case 11: { - _stbi__err(6086); - $$6$ph = 0; - break; - } - case 13: { - _stbi__err(6086); - $$6$ph = 0; - break; - } - case 15: { - _stbi__err(6096); - $$6$ph = 0; - break; - } - case 17: { - _stbi__err(6116); - $$6$ph = 0; - break; - } - case 20: { - _stbi__err(6116); - $$6$ph = 0; - break; - } - case 22: { - _stbi__err(6116); - $$6$ph = 0; - break; - } - case 24: { - _stbi__err(6126); - $$6$ph = 0; - break; - } - case 26: { - _stbi__err(6142); - $$6$ph = 0; - break; - } - case 28: { - _stbi__err(6160); - $$6$ph = 0; - break; - } - case 31: { - _stbi__err(6181); - $$6$ph = 0; - break; - } - case 34: { - _stbi__err(6086); - $$6$ph = 0; - break; - } - case 37: { - _stbi__err(6086); - $$6$ph = 0; - break; - } - case 39: { - _stbi__err(6195); - $$6$ph = 0; - break; - } - case 41: { - _stbi__err(6210); - $$6$ph = 0; - break; - } - case 44: { - _stbi__err(6210); - $$6$ph = 0; - break; - } - case 47: { - _stbi__err(6195); - $$6$ph = 0; - break; - } - case 49: { - _stbi__err(6223); - $$6$ph = 0; - break; - } - case 52: { - $89 = ((($8)) + 8|0); - HEAP32[$89>>2] = 4; - $$6$ph = 1; - break; - } - case 54: { - _stbi__err(6239); - $$6$ph = 0; - break; - } - case 58: { - _stbi__err(6256); - $$6$ph = 0; - break; - } - case 61: { - _stbi__err(6269); - $$6$ph = 0; - break; - } - case 63: { - _stbi__err(6256); - $$6$ph = 0; - break; - } - case 70: { - _stbi__err(6195); - $$6$ph = 0; - break; - } - case 72: { - _stbi__err(6294); - $$6$ph = 0; - break; - } - case 74: { - $133 = $$0208&255; - $134 = ((($8)) + 8|0); - HEAP32[$134>>2] = $133; - $$6$ph = 1; - break; - } - case 81: { - _stbi__err(5879); - $$6$ph = 0; - break; - } - case 83: { - _stbi__err(6302); - $$6$ph = 0; - break; - } - case 85: { - $156 = ($$0243|0)==(0); - do { - if ($156) { - $157 = ($1|0)==(0); - if ($157) { - $158 = HEAP32[$10>>2]|0; - $159 = ($158|0)==(0|0); - if ($159) { - _stbi__err(6312); - $$4 = 0; - break; - } - $160 = HEAP32[$8>>2]|0; - $161 = ((($0)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = Math_imul($162, $160)|0; - $164 = (($163) + 7)|0; - $165 = $164 >>> 3; - $166 = ((($8)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = ((($8)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = Math_imul($169, $167)|0; - $171 = Math_imul($170, $165)|0; - $172 = (($171) + ($167))|0; - HEAP32[$7>>2] = $172; - $173 = ($$0230|0)!=(0); - $174 = $173 ^ 1; - $175 = $174&1; - $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0216,$172,$7,$175)|0); - HEAP32[$9>>2] = $176; - $177 = ($176|0)==(0|0); - if ($177) { - $$4 = 0; - } else { - $178 = HEAP32[$10>>2]|0; - _free($178); - HEAP32[$10>>2] = 0; - $179 = HEAP32[$168>>2]|0; - $180 = (($179) + 1)|0; - $notlhs = ($180|0)!=($2|0); - $notrhs = ($2|0)==(3); - $or$cond5$not = $notrhs | $notlhs; - $181 = ($$0208<<24>>24)!=(0); - $or$cond7 = $181 | $or$cond5$not; - $182 = ($$0213<<24>>24)==(0); - $or$cond250 = $182 & $or$cond7; - $$256 = $or$cond250 ? $179 : $180; - $183 = ((($8)) + 12|0); - HEAP32[$183>>2] = $$256; - $184 = HEAP32[$9>>2]|0; - $185 = HEAP32[$7>>2]|0; - $186 = HEAP32[$161>>2]|0; - $187 = (_stbi__create_png_image($0,$184,$185,$$256,$186,$$0233,$$0237)|0); - $188 = ($187|0)==(0); - if ($188) { - $$4 = 0; - } else { - $189 = ($$0213<<24>>24)!=(0); - do { - if ($189) { - $190 = HEAP32[$161>>2]|0; - $191 = ($190|0)==(16); - if ($191) { - $192 = HEAP32[$183>>2]|0; - _stbi__compute_transparency16($0,$5,$192); - break; - } else { - $193 = HEAP32[$183>>2]|0; - _stbi__compute_transparency($0,$4,$193); - break; - } - } - } while(0); - $194 = HEAP32[4458]|0; - $195 = ($194|0)!=(0); - $or$cond11 = $173 & $195; - if ($or$cond11) { - $196 = HEAP32[$183>>2]|0; - $197 = ($196|0)>(2); - if ($197) { - _stbi__de_iphone($0); - } - } - if ($181) { - $198 = $$0208&255; - HEAP32[$168>>2] = $198; - $199 = ($2|0)>(2); - $$ = $199 ? $2 : $198; - HEAP32[$183>>2] = $$; - $200 = (_stbi__expand_png_palette($0,$3,$$)|0); - $201 = ($200|0)==(0); - if ($201) { - $$4 = 0; - break; - } - } else { - if ($189) { - $202 = HEAP32[$168>>2]|0; - $203 = (($202) + 1)|0; - HEAP32[$168>>2] = $203; - } - } - $204 = HEAP32[$9>>2]|0; - _free($204); - HEAP32[$9>>2] = 0; - $$4 = 1; - } - } - } else { - $$4 = 1; - } - } else { - _stbi__err(6195); - $$4 = 0; - } - } while(0); - $$6$ph = $$4; - break; - } - case 106: { - _stbi__err(6195); - $$6$ph = 0; - break; - } - case 108: { - $208 = $25 >>> 24; - $209 = $208&255; - HEAP8[6320] = $209; - $210 = HEAP32[$15>>2]|0; - $211 = $210 >>> 16; - $212 = $211&255; - HEAP8[(6321)>>0] = $212; - $213 = $210 >>> 8; - $214 = $213&255; - HEAP8[(6322)>>0] = $214; - $215 = $210&255; - HEAP8[(6323)>>0] = $215; - _stbi__err(6320); - $$6$ph = 0; - break; - } - } - $$7 = $$6$ph; - STACKTOP = sp;return ($$7|0); -} -function _stbi__convert_format($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((5982|0),(5914|0),1477,(6038|0)); - // unreachable; - } - $7 = (_stbi__malloc_mad3($2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - _free($0); - _stbi__err(5879); - $$0163 = 0; - return ($$0163|0); - } - $9 = ($4|0)>(0); - L11: do { - if ($9) { - $10 = $1 << 3; - $11 = (($10) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $12 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $13 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $14 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $15 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $16 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $17 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $18 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $19 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $20 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $21 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $22 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $23 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $24 = Math_imul($$0164259, $3)|0; - $25 = Math_imul($24, $1)|0; - $26 = (($0) + ($25)|0); - $27 = Math_imul($24, $2)|0; - $28 = (($7) + ($27)|0); - do { - switch ($11|0) { - case 10: { - if ($12) { - $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; - while(1) { - $29 = HEAP8[$$0151255>>0]|0; - HEAP8[$$0256>>0] = $29; - $30 = ((($$0256)) + 1|0); - HEAP8[$30>>0] = -1; - $31 = ((($$0151255)) + 1|0); - $32 = ((($$0256)) + 2|0); - $$0165 = (($$0165257) + -1)|0; - $33 = ($$0165|0)>(-1); - if ($33) { - $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; - } else { - break; - } - } - } - break; - } - case 11: { - if ($13) { - $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; - while(1) { - $34 = HEAP8[$$1152250>>0]|0; - $35 = ((($$1251)) + 2|0); - HEAP8[$35>>0] = $34; - $36 = ((($$1251)) + 1|0); - HEAP8[$36>>0] = $34; - HEAP8[$$1251>>0] = $34; - $37 = ((($$1152250)) + 1|0); - $38 = ((($$1251)) + 3|0); - $$1166 = (($$1166252) + -1)|0; - $39 = ($$1166|0)>(-1); - if ($39) { - $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; - } else { - break; - } - } - } - break; - } - case 12: { - if ($14) { - $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; - while(1) { - $40 = HEAP8[$$2153245>>0]|0; - $41 = ((($$2246)) + 2|0); - HEAP8[$41>>0] = $40; - $42 = ((($$2246)) + 1|0); - HEAP8[$42>>0] = $40; - HEAP8[$$2246>>0] = $40; - $43 = ((($$2246)) + 3|0); - HEAP8[$43>>0] = -1; - $44 = ((($$2153245)) + 1|0); - $45 = ((($$2246)) + 4|0); - $$2167 = (($$2167247) + -1)|0; - $46 = ($$2167|0)>(-1); - if ($46) { - $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; - } else { - break; - } - } - } - break; - } - case 17: { - if ($15) { - $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; - while(1) { - $47 = HEAP8[$$3154240>>0]|0; - HEAP8[$$3241>>0] = $47; - $48 = ((($$3154240)) + 2|0); - $49 = ((($$3241)) + 1|0); - $$3168 = (($$3168242) + -1)|0; - $50 = ($$3168|0)>(-1); - if ($50) { - $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; - } else { - break; - } - } - } - break; - } - case 19: { - if ($16) { - $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; - while(1) { - $51 = HEAP8[$$4155235>>0]|0; - $52 = ((($$4236)) + 2|0); - HEAP8[$52>>0] = $51; - $53 = ((($$4236)) + 1|0); - HEAP8[$53>>0] = $51; - HEAP8[$$4236>>0] = $51; - $54 = ((($$4155235)) + 2|0); - $55 = ((($$4236)) + 3|0); - $$4169 = (($$4169237) + -1)|0; - $56 = ($$4169|0)>(-1); - if ($56) { - $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; - } else { - break; - } - } - } - break; - } - case 20: { - if ($17) { - $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; - while(1) { - $57 = HEAP8[$$5156230>>0]|0; - $58 = ((($$5231)) + 2|0); - HEAP8[$58>>0] = $57; - $59 = ((($$5231)) + 1|0); - HEAP8[$59>>0] = $57; - HEAP8[$$5231>>0] = $57; - $60 = ((($$5156230)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((($$5231)) + 3|0); - HEAP8[$62>>0] = $61; - $63 = ((($$5156230)) + 2|0); - $64 = ((($$5231)) + 4|0); - $$5170 = (($$5170232) + -1)|0; - $65 = ($$5170|0)>(-1); - if ($65) { - $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; - } else { - break; - } - } - } - break; - } - case 28: { - if ($18) { - $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; - while(1) { - $66 = HEAP8[$$6157225>>0]|0; - HEAP8[$$6226>>0] = $66; - $67 = ((($$6157225)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($$6226)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ((($$6226)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = ((($$6226)) + 3|0); - HEAP8[$73>>0] = -1; - $74 = ((($$6157225)) + 3|0); - $75 = ((($$6226)) + 4|0); - $$6171 = (($$6171227) + -1)|0; - $76 = ($$6171|0)>(-1); - if ($76) { - $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; - } else { - break; - } - } - } - break; - } - case 25: { - if ($19) { - $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; - while(1) { - $77 = HEAP8[$$7158220>>0]|0; - $78 = $77&255; - $79 = ((($$7158220)) + 1|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__compute_y($78,$81,$84)|0); - HEAP8[$$7221>>0] = $85; - $86 = ((($$7158220)) + 3|0); - $87 = ((($$7221)) + 1|0); - $$7172 = (($$7172222) + -1)|0; - $88 = ($$7172|0)>(-1); - if ($88) { - $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; - } else { - break; - } - } - } - break; - } - case 26: { - if ($20) { - $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; - while(1) { - $89 = HEAP8[$$8159215>>0]|0; - $90 = $89&255; - $91 = ((($$8159215)) + 1|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = (_stbi__compute_y($90,$93,$96)|0); - HEAP8[$$8216>>0] = $97; - $98 = ((($$8216)) + 1|0); - HEAP8[$98>>0] = -1; - $99 = ((($$8159215)) + 3|0); - $100 = ((($$8216)) + 2|0); - $$8173 = (($$8173217) + -1)|0; - $101 = ($$8173|0)>(-1); - if ($101) { - $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; - } else { - break; - } - } - } - break; - } - case 33: { - if ($21) { - $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; - while(1) { - $102 = HEAP8[$$9160210>>0]|0; - $103 = $102&255; - $104 = ((($$9160210)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (_stbi__compute_y($103,$106,$109)|0); - HEAP8[$$9211>>0] = $110; - $111 = ((($$9160210)) + 4|0); - $112 = ((($$9211)) + 1|0); - $$9174 = (($$9174212) + -1)|0; - $113 = ($$9174|0)>(-1); - if ($113) { - $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; - } else { - break; - } - } - } - break; - } - case 34: { - if ($22) { - $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; - while(1) { - $114 = HEAP8[$$10161205>>0]|0; - $115 = $114&255; - $116 = ((($$10161205)) + 1|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = (_stbi__compute_y($115,$118,$121)|0); - HEAP8[$$10206>>0] = $122; - $123 = ((($$10161205)) + 3|0); - $124 = HEAP8[$123>>0]|0; - $125 = ((($$10206)) + 1|0); - HEAP8[$125>>0] = $124; - $126 = ((($$10161205)) + 4|0); - $127 = ((($$10206)) + 2|0); - $$10175 = (($$10175207) + -1)|0; - $128 = ($$10175|0)>(-1); - if ($128) { - $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; - } else { - break; - } - } - } - break; - } - case 35: { - if ($23) { - $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; - while(1) { - $129 = HEAP8[$$11162201>>0]|0; - HEAP8[$$11202>>0] = $129; - $130 = ((($$11162201)) + 1|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($$11202)) + 1|0); - HEAP8[$132>>0] = $131; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP8[$133>>0]|0; - $135 = ((($$11202)) + 2|0); - HEAP8[$135>>0] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = ((($$11202)) + 3|0); - $$11176 = (($$11176203) + -1)|0; - $138 = ($$11176|0)>(-1); - if ($138) { - $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $139 = (($$0164259) + 1)|0; - $140 = ($139|0)<($4|0); - if ($140) { - $$0164259 = $139; - } else { - break L11; - } - } - ___assert_fail((6036|0),(5914|0),1506,(6038|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $7; - return ($$0163|0); -} -function _stbi__convert_format16($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((5982|0),(5914|0),1526,(6013|0)); - // unreachable; - } - $7 = $2 << 1; - $8 = Math_imul($7, $3)|0; - $9 = Math_imul($8, $4)|0; - $10 = (_stbi__malloc($9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($0); - _stbi__err(5879); - $$0163 = 0; - return ($$0163|0); - } - $12 = ($4|0)>(0); - L11: do { - if ($12) { - $13 = $1 << 3; - $14 = (($13) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $15 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $16 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $17 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $18 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $19 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $20 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $21 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $22 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $23 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $24 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $25 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $26 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $27 = Math_imul($$0164259, $3)|0; - $28 = Math_imul($27, $1)|0; - $29 = (($0) + ($28<<1)|0); - $30 = Math_imul($27, $2)|0; - $31 = (($10) + ($30<<1)|0); - do { - switch ($14|0) { - case 10: { - if ($15) { - $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; - while(1) { - $32 = HEAP16[$$0151255>>1]|0; - HEAP16[$$0256>>1] = $32; - $33 = ((($$0256)) + 2|0); - HEAP16[$33>>1] = -1; - $34 = ((($$0151255)) + 2|0); - $35 = ((($$0256)) + 4|0); - $$0165 = (($$0165257) + -1)|0; - $36 = ($$0165|0)>(-1); - if ($36) { - $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; - } else { - break; - } - } - } - break; - } - case 11: { - if ($16) { - $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; - while(1) { - $37 = HEAP16[$$1152250>>1]|0; - $38 = ((($$1251)) + 4|0); - HEAP16[$38>>1] = $37; - $39 = ((($$1251)) + 2|0); - HEAP16[$39>>1] = $37; - HEAP16[$$1251>>1] = $37; - $40 = ((($$1152250)) + 2|0); - $41 = ((($$1251)) + 6|0); - $$1166 = (($$1166252) + -1)|0; - $42 = ($$1166|0)>(-1); - if ($42) { - $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; - } else { - break; - } - } - } - break; - } - case 12: { - if ($17) { - $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; - while(1) { - $43 = HEAP16[$$2153245>>1]|0; - $44 = ((($$2246)) + 4|0); - HEAP16[$44>>1] = $43; - $45 = ((($$2246)) + 2|0); - HEAP16[$45>>1] = $43; - HEAP16[$$2246>>1] = $43; - $46 = ((($$2246)) + 6|0); - HEAP16[$46>>1] = -1; - $47 = ((($$2153245)) + 2|0); - $48 = ((($$2246)) + 8|0); - $$2167 = (($$2167247) + -1)|0; - $49 = ($$2167|0)>(-1); - if ($49) { - $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; - } else { - break; - } - } - } - break; - } - case 17: { - if ($18) { - $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; - while(1) { - $50 = HEAP16[$$3154240>>1]|0; - HEAP16[$$3241>>1] = $50; - $51 = ((($$3154240)) + 4|0); - $52 = ((($$3241)) + 2|0); - $$3168 = (($$3168242) + -1)|0; - $53 = ($$3168|0)>(-1); - if ($53) { - $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; - } else { - break; - } - } - } - break; - } - case 19: { - if ($19) { - $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; - while(1) { - $54 = HEAP16[$$4155235>>1]|0; - $55 = ((($$4236)) + 4|0); - HEAP16[$55>>1] = $54; - $56 = ((($$4236)) + 2|0); - HEAP16[$56>>1] = $54; - HEAP16[$$4236>>1] = $54; - $57 = ((($$4155235)) + 4|0); - $58 = ((($$4236)) + 6|0); - $$4169 = (($$4169237) + -1)|0; - $59 = ($$4169|0)>(-1); - if ($59) { - $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; - } else { - break; - } - } - } - break; - } - case 20: { - if ($20) { - $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; - while(1) { - $60 = HEAP16[$$5156230>>1]|0; - $61 = ((($$5231)) + 4|0); - HEAP16[$61>>1] = $60; - $62 = ((($$5231)) + 2|0); - HEAP16[$62>>1] = $60; - HEAP16[$$5231>>1] = $60; - $63 = ((($$5156230)) + 2|0); - $64 = HEAP16[$63>>1]|0; - $65 = ((($$5231)) + 6|0); - HEAP16[$65>>1] = $64; - $66 = ((($$5156230)) + 4|0); - $67 = ((($$5231)) + 8|0); - $$5170 = (($$5170232) + -1)|0; - $68 = ($$5170|0)>(-1); - if ($68) { - $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; - } else { - break; - } - } - } - break; - } - case 28: { - if ($21) { - $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; - while(1) { - $69 = HEAP16[$$6157225>>1]|0; - HEAP16[$$6226>>1] = $69; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP16[$70>>1]|0; - $72 = ((($$6226)) + 2|0); - HEAP16[$72>>1] = $71; - $73 = ((($$6157225)) + 4|0); - $74 = HEAP16[$73>>1]|0; - $75 = ((($$6226)) + 4|0); - HEAP16[$75>>1] = $74; - $76 = ((($$6226)) + 6|0); - HEAP16[$76>>1] = -1; - $77 = ((($$6157225)) + 6|0); - $78 = ((($$6226)) + 8|0); - $$6171 = (($$6171227) + -1)|0; - $79 = ($$6171|0)>(-1); - if ($79) { - $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; - } else { - break; - } - } - } - break; - } - case 25: { - if ($22) { - $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; - while(1) { - $80 = HEAP16[$$7158220>>1]|0; - $81 = $80&65535; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = ((($$7158220)) + 4|0); - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = (_stbi__compute_y_16($81,$84,$87)|0); - HEAP16[$$7221>>1] = $88; - $89 = ((($$7158220)) + 6|0); - $90 = ((($$7221)) + 2|0); - $$7172 = (($$7172222) + -1)|0; - $91 = ($$7172|0)>(-1); - if ($91) { - $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; - } else { - break; - } - } - } - break; - } - case 26: { - if ($23) { - $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; - while(1) { - $92 = HEAP16[$$8159215>>1]|0; - $93 = $92&65535; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = ((($$8159215)) + 4|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = (_stbi__compute_y_16($93,$96,$99)|0); - HEAP16[$$8216>>1] = $100; - $101 = ((($$8216)) + 2|0); - HEAP16[$101>>1] = -1; - $102 = ((($$8159215)) + 6|0); - $103 = ((($$8216)) + 4|0); - $$8173 = (($$8173217) + -1)|0; - $104 = ($$8173|0)>(-1); - if ($104) { - $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; - } else { - break; - } - } - } - break; - } - case 33: { - if ($24) { - $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; - while(1) { - $105 = HEAP16[$$9160210>>1]|0; - $106 = $105&65535; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - $110 = ((($$9160210)) + 4|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111&65535; - $113 = (_stbi__compute_y_16($106,$109,$112)|0); - HEAP16[$$9211>>1] = $113; - $114 = ((($$9160210)) + 8|0); - $115 = ((($$9211)) + 2|0); - $$9174 = (($$9174212) + -1)|0; - $116 = ($$9174|0)>(-1); - if ($116) { - $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; - } else { - break; - } - } - } - break; - } - case 34: { - if ($25) { - $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; - while(1) { - $117 = HEAP16[$$10161205>>1]|0; - $118 = $117&65535; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = ((($$10161205)) + 4|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = (_stbi__compute_y_16($118,$121,$124)|0); - HEAP16[$$10206>>1] = $125; - $126 = ((($$10161205)) + 6|0); - $127 = HEAP16[$126>>1]|0; - $128 = ((($$10206)) + 2|0); - HEAP16[$128>>1] = $127; - $129 = ((($$10161205)) + 8|0); - $130 = ((($$10206)) + 4|0); - $$10175 = (($$10175207) + -1)|0; - $131 = ($$10175|0)>(-1); - if ($131) { - $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; - } else { - break; - } - } - } - break; - } - case 35: { - if ($26) { - $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; - while(1) { - $132 = HEAP16[$$11162201>>1]|0; - HEAP16[$$11202>>1] = $132; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP16[$133>>1]|0; - $135 = ((($$11202)) + 2|0); - HEAP16[$135>>1] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = HEAP16[$136>>1]|0; - $138 = ((($$11202)) + 4|0); - HEAP16[$138>>1] = $137; - $139 = ((($$11162201)) + 8|0); - $140 = ((($$11202)) + 6|0); - $$11176 = (($$11176203) + -1)|0; - $141 = ($$11176|0)>(-1); - if ($141) { - $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $142 = (($$0164259) + 1)|0; - $143 = ($142|0)<($4|0); - if ($143) { - $$0164259 = $142; - } else { - break L11; - } - } - ___assert_fail((6036|0),(5914|0),1555,(6013|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $10; - return ($$0163|0); -} -function _stbi__compute_y_16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&65535; - return ($9|0); -} -function _stbi__compute_y($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&255; - return ($9|0); -} -function _stbi__check_png_header($0) { - $0 = $0|0; - var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = ($1<<24>>24)==(-119); - if ($2) { - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = (_stbi__get8($0)|0); - $6 = ($5<<24>>24)==(78); - if ($6) { - $7 = (_stbi__get8($0)|0); - $8 = ($7<<24>>24)==(71); - if ($8) { - $9 = (_stbi__get8($0)|0); - $10 = ($9<<24>>24)==(13); - if ($10) { - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $13 = (_stbi__get8($0)|0); - $14 = ($13<<24>>24)==(26); - if ($14) { - $15 = (_stbi__get8($0)|0); - $16 = ($15<<24>>24)==(10); - if ($16) { - $$05 = 1; - return ($$05|0); - } - } - } - } - } - } - } - } - _stbi__err(7316); - $$05 = 0; - return ($$05|0); -} -function _stbi__get_chunk_header($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__get32be($1)|0); - $3 = (_stbi__get32be($1)|0); - HEAP32[$0>>2] = $2; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; - return; -} -function _stbi__skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(0); - if ($2) { - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 168|0); - HEAP32[$5>>2] = $4; - return; - } - $6 = ((($0)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 168|0); - $12 = HEAP32[$11>>2]|0; - $13 = $10; - $14 = (($13) - ($12))|0; - $15 = ($14|0)<($1|0); - if ($15) { - HEAP32[$11>>2] = $10; - $16 = ((($0)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($1) - ($14))|0; - FUNCTION_TABLE_vii[$17 & 63]($19,$20); - return; - } - } - $21 = ((($0)) + 168|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($1)|0); - HEAP32[$21>>2] = $23; - return; -} -function _stbi__get32be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get16be($0)|0); - $2 = $1 << 16; - $3 = (_stbi__get16be($0)|0); - $4 = (($2) + ($3))|0; - return ($4|0); -} -function _stbi__get8($0) { - $0 = $0|0; - var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 168|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)<($4>>>0); - do { - if ($5) { - $$sink6 = $2; - } else { - $6 = ((($0)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - _stbi__refill_buffer($0); - $9 = HEAP32[$1>>2]|0; - $$sink6 = $9; - break; - } - } - } while(0); - $10 = ((($$sink6)) + 1|0); - HEAP32[$1>>2] = $10; - $11 = HEAP8[$$sink6>>0]|0; - $$0 = $11; - return ($$0|0); -} -function _stbi__get16be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = $1&255; - $3 = $2 << 8; - $4 = (_stbi__get8($0)|0); - $5 = $4&255; - $6 = $3 | $5; - return ($6|0); -} -function _stbi__getn($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($0)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 168|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - $11 = (($7) - ($10))|0; - $12 = ($11|0)<($2|0); - if ($12) { - _memcpy(($1|0),($9|0),($11|0))|0; - $13 = HEAP32[$3>>2]|0; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($1) + ($11)|0); - $17 = (($2) - ($11))|0; - $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); - $19 = ($18|0)==($17|0); - $20 = $19&1; - $21 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = $21; - $$1 = $20; - return ($$1|0); - } - } - $22 = ((($0)) + 168|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($2)|0); - $25 = ((($0)) + 172|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($24>>>0)>($26>>>0); - if ($27) { - $$1 = 0; - return ($$1|0); - } - _memcpy(($1|0),($23|0),($2|0))|0; - $28 = HEAP32[$22>>2]|0; - $29 = (($28) + ($2)|0); - HEAP32[$22>>2] = $29; - $$1 = 1; - return ($$1|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); - $5 = sp; - $6 = (_stbi__malloc($2)|0); - $7 = ($6|0)==(0|0); - do { - if ($7) { - $$0 = 0; - } else { - HEAP32[$5>>2] = $0; - $8 = (($0) + ($1)|0); - $9 = ((($5)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); - $11 = ($10|0)==(0); - $12 = ((($5)) + 20|0); - $13 = HEAP32[$12>>2]|0; - if ($11) { - _free($13); - $$0 = 0; - break; - } - $14 = ($3|0)==(0|0); - if ($14) { - $$0 = $13; - } else { - $15 = ((($5)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = $13; - $18 = (($16) - ($17))|0; - HEAP32[$3>>2] = $18; - $$0 = $13; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = ($4|0)==(16); - $8 = $7 ? 2 : 1; - $9 = Math_imul($8, $3)|0; - $10 = ($6|0)==(0); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($11)) + 4|0); - $14 = HEAP32[$13>>2]|0; - if ($10) { - $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); - $$4 = $15; - return ($$4|0); - } - $16 = (_stbi__malloc_mad3($12,$14,$9)|0); - $17 = ((($0)) + 12|0); - $18 = ((($0)) + 12|0); - $$0103117 = 0;$$095119 = $1;$$099118 = $2; - while(1) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (3040 + ($$0103117<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (3068 + ($$0103117<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($20) + -1)|0; - $26 = (($25) - ($22))|0; - $27 = (($26) + ($24))|0; - $28 = (($27>>>0) / ($24>>>0))&-1; - $29 = ((($19)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (3096 + ($$0103117<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (3124 + ($$0103117<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($30) + -1)|0; - $36 = (($35) - ($32))|0; - $37 = (($36) + ($34))|0; - $38 = (($37>>>0) / ($34>>>0))&-1; - $39 = ($24>>>0)<=($27>>>0); - $40 = ($34>>>0)<=($37>>>0); - $or$cond = $39 & $40; - if ($or$cond) { - $41 = ((($19)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = Math_imul($28, $4)|0; - $44 = Math_imul($43, $42)|0; - $45 = (($44) + 7)|0; - $46 = $45 >> 3; - $47 = (($46) + 1)|0; - $48 = Math_imul($47, $38)|0; - $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 13; - break; - } - $51 = ($38|0)>(0); - if ($51) { - $52 = ($28|0)>(0); - $$0106116 = 0; - while(1) { - if ($52) { - $53 = HEAP32[$33>>2]|0; - $54 = Math_imul($53, $$0106116)|0; - $55 = HEAP32[$31>>2]|0; - $56 = (($54) + ($55))|0; - $57 = HEAP32[$23>>2]|0; - $58 = HEAP32[$21>>2]|0; - $59 = Math_imul($56, $9)|0; - $60 = Math_imul($$0106116, $28)|0; - $$0107115 = 0; - while(1) { - $61 = Math_imul($57, $$0107115)|0; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($59, $64)|0; - $66 = (($16) + ($65)|0); - $67 = Math_imul($62, $9)|0; - $68 = (($66) + ($67)|0); - $69 = HEAP32[$18>>2]|0; - $70 = (($$0107115) + ($60))|0; - $71 = Math_imul($70, $9)|0; - $72 = (($69) + ($71)|0); - _memcpy(($68|0),($72|0),($9|0))|0; - $73 = (($$0107115) + 1)|0; - $74 = ($73|0)<($28|0); - if ($74) { - $$0107115 = $73; - } else { - break; - } - } - } - $75 = (($$0106116) + 1)|0; - $76 = ($75|0)<($38|0); - if ($76) { - $$0106116 = $75; - } else { - break; - } - } - } - $77 = HEAP32[$17>>2]|0; - _free($77); - $78 = (($$095119) + ($48)|0); - $79 = (($$099118) - ($48))|0; - $$3102$ph = $79;$$398$ph = $78; - } else { - $$3102$ph = $$099118;$$398$ph = $$095119; - } - $80 = (($$0103117) + 1)|0; - $81 = ($80|0)<(7); - if ($81) { - $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; - } else { - label = 15; - break; - } - } - if ((label|0) == 13) { - _free($16); - $$4 = 0; - return ($$4|0); - } - else if ((label|0) == 15) { - $82 = ((($0)) + 12|0); - HEAP32[$82>>2] = $16; - $$4 = 1; - return ($$4|0); - } - return (0)|0; -} -function _stbi__compute_transparency16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP16[$$04>>1]|0; - $15 = HEAP16[$1>>1]|0; - $not$ = ($14<<16>>16)!=($15<<16>>16); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 2|0); - HEAP16[$17>>1] = $16; - $18 = ((($$04)) + 4|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 2|0); - $12 = ((($1)) + 4|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP16[$$16>>1]|0; - $21 = HEAP16[$1>>1]|0; - $22 = ($20<<16>>16)==($21<<16>>16); - if ($22) { - $23 = ((($$16)) + 2|0); - $24 = HEAP16[$23>>1]|0; - $25 = HEAP16[$11>>1]|0; - $26 = ($24<<16>>16)==($25<<16>>16); - if ($26) { - $27 = ((($$16)) + 4|0); - $28 = HEAP16[$27>>1]|0; - $29 = HEAP16[$12>>1]|0; - $30 = ($28<<16>>16)==($29<<16>>16); - if ($30) { - $31 = ((($$16)) + 6|0); - HEAP16[$31>>1] = 0; - } - } - } - $32 = ((($$16)) + 8|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6379|0),(5914|0),4568,(6431|0)); - // unreachable; - } - } -} -function _stbi__compute_transparency($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP8[$$04>>0]|0; - $15 = HEAP8[$1>>0]|0; - $not$ = ($14<<24>>24)!=($15<<24>>24); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 1|0); - HEAP8[$17>>0] = $16; - $18 = ((($$04)) + 2|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 1|0); - $12 = ((($1)) + 2|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP8[$$16>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = ($20<<24>>24)==($21<<24>>24); - if ($22) { - $23 = ((($$16)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP8[$11>>0]|0; - $26 = ($24<<24>>24)==($25<<24>>24); - if ($26) { - $27 = ((($$16)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = HEAP8[$12>>0]|0; - $30 = ($28<<24>>24)==($29<<24>>24); - if ($30) { - $31 = ((($$16)) + 3|0); - HEAP8[$31>>0] = 0; - } - } - } - $32 = ((($$16)) + 4|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6379|0),(5914|0),4543,(6404|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($0) { - $0 = $0|0; - var $$05461 = 0, $$062 = 0, $$15566 = 0, $$167 = 0, $$25663 = 0, $$264 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $exitcond = 0, $exitcond71 = 0; - var $exitcond72 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = Math_imul($4, $2)|0; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($1)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($9|0) { - case 3: { - $10 = ($5|0)==(0); - if ($10) { - return; - } else { - $$05461 = $7;$$062 = 0; - } - while(1) { - $11 = HEAP8[$$05461>>0]|0; - $12 = ((($$05461)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$$05461>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($$05461)) + 3|0); - $15 = (($$062) + 1)|0; - $exitcond = ($15|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05461 = $14;$$062 = $15; - } - } - return; - break; - } - case 4: { - $16 = HEAP32[4459]|0; - $17 = ($16|0)==(0); - $18 = ($5|0)!=(0); - if ($17) { - if ($18) { - $$25663 = $7;$$264 = 0; - } else { - return; - } - while(1) { - $46 = HEAP8[$$25663>>0]|0; - $47 = ((($$25663)) + 2|0); - $48 = HEAP8[$47>>0]|0; - HEAP8[$$25663>>0] = $48; - HEAP8[$47>>0] = $46; - $49 = ((($$25663)) + 4|0); - $50 = (($$264) + 1)|0; - $exitcond71 = ($50|0)==($5|0); - if ($exitcond71) { - break; - } else { - $$25663 = $49;$$264 = $50; - } - } - return; - } - if ($18) { - $$15566 = $7;$$167 = 0; - } else { - return; - } - while(1) { - $19 = ((($$15566)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = HEAP8[$$15566>>0]|0; - $22 = ($20<<24>>24)==(0); - $23 = ((($$15566)) + 2|0); - $24 = HEAP8[$23>>0]|0; - if ($22) { - HEAP8[$$15566>>0] = $24; - $$sink = $21; - } else { - $25 = $20&255; - $div = ($20&255) >>> 1; - $26 = $24&255; - $27 = ($26*255)|0; - $28 = $div&255; - $29 = (($27) + ($28))|0; - $30 = (($29>>>0) / ($25>>>0))&-1; - $31 = $30&255; - HEAP8[$$15566>>0] = $31; - $32 = ((($$15566)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35) + ($28))|0; - $37 = (($36>>>0) / ($25>>>0))&-1; - $38 = $37&255; - HEAP8[$32>>0] = $38; - $39 = $21&255; - $40 = ($39*255)|0; - $41 = (($40) + ($28))|0; - $42 = (($41>>>0) / ($25>>>0))&-1; - $43 = $42&255; - $$sink = $43; - } - HEAP8[$23>>0] = $$sink; - $44 = ((($$15566)) + 4|0); - $45 = (($$167) + 1)|0; - $exitcond72 = ($45|0)==($5|0); - if ($exitcond72) { - break; - } else { - $$15566 = $44;$$167 = $45; - } - } - return; - break; - } - default: { - ___assert_fail((6345|0),(5914|0),4649,(6363|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_stbi__malloc_mad2($7,$2)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(5879); - $$0 = 0; - return ($$0|0); - } - $12 = ($2|0)==(3); - $13 = ($7|0)!=(0); - if ($12) { - if ($13) { - $$0574 = 0;$$0583 = $10; - while(1) { - $14 = (($9) + ($$0574)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($1) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$$0583>>0] = $19; - $20 = $17 | 1; - $21 = (($1) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($$0583)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($1) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($$0583)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($$0583)) + 3|0); - $29 = (($$0574) + 1)|0; - $exitcond = ($29|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0574 = $29;$$0583 = $28; - } - } - } - } else { - if ($13) { - $$1595 = $10;$$16 = 0; - while(1) { - $30 = (($9) + ($$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($1) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$$1595>>0] = $35; - $36 = $33 | 1; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($$1595)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($1) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($$1595)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($1) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($$1595)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($$1595)) + 4|0); - $49 = (($$16) + 1)|0; - $exitcond9 = ($49|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1595 = $48;$$16 = $49; - } - } - } - } - $50 = HEAP32[$8>>2]|0; - _free($50); - HEAP32[$8>>2] = $10; - $$0 = 1; - return ($$0|0); -} -function _stbi__malloc_mad2($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mad2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__malloc($4)|0); - $$0 = $5; - return ($$0|0); -} -function _stbi__mad2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mul2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $8 = 0; - $7 = $8&1; - return ($7|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__addsizes_valid($4)|0); - $6 = ($5|0)!=(0); - $8 = $6; - $7 = $8&1; - return ($7|0); -} -function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $$0562 = 0, $$0562718 = 0, $$0562719 = 0, $$0565$lcssa = 0, $$0565709 = 0, $$0568$lcssa = 0, $$0568708 = 0, $$0571811 = 0, $$0582 = 0, $$0591 = 0, $$0602810 = 0, $$0605809 = 0, $$0608 = 0, $$0608787 = 0, $$0608790 = 0, $$0617808 = 0, $$0619728 = 0, $$0725 = 0, $$1 = 0, $$10629758 = 0; - var $$11$ph = 0, $$11630749 = 0, $$12741 = 0, $$13733 = 0, $$14$lcssa = 0, $$14707 = 0, $$15$lcssa = 0, $$1566$lcssa = 0, $$1566701 = 0, $$1569$lcssa = 0, $$1569700 = 0, $$15699 = 0, $$1572 = 0, $$16$lcssa = 0, $$1603 = 0, $$1606 = 0, $$1609 = 0, $$1609779 = 0, $$1609782 = 0, $$1618721 = 0; - var $$1620806 = 0, $$16694 = 0, $$1715 = 0, $$1716 = 0, $$2 = 0, $$2567$lcssa = 0, $$2567696 = 0, $$2573789 = 0, $$2593788 = 0, $$2610 = 0, $$2610770 = 0, $$2610774 = 0, $$2621804 = 0, $$3574781 = 0, $$3586772 = 0, $$3594780 = 0, $$3611 = 0, $$3611761 = 0, $$3611765 = 0, $$3622802 = 0; - var $$4$lcssa = 0, $$4575773 = 0, $$4587763 = 0, $$4595771 = 0, $$4612 = 0, $$4612752 = 0, $$4612756 = 0, $$4623800 = 0, $$4695 = 0, $$5576764 = 0, $$5588754 = 0, $$5596762 = 0, $$5613 = 0, $$5613744 = 0, $$5613747 = 0, $$5624798 = 0, $$6577755 = 0, $$6597753 = 0, $$6614 = 0, $$6614736 = 0; - var $$6614739 = 0, $$6625796 = 0, $$7578746 = 0, $$7598745 = 0, $$7615792 = 0, $$7626784 = 0, $$8579738 = 0, $$8599737 = 0, $$8616723 = 0, $$8627776 = 0, $$9580 = 0, $$9600793 = 0, $$9628767 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink635 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; - var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; - var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; - var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; - var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; - var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; - var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; - var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; - var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; - var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; - var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge888 = 0; - var $exitcond = 0, $exitcond858 = 0, $exitcond859 = 0, $exitcond861 = 0, $exitcond863 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond874 = 0, $exitcond875 = 0, $exitcond876 = 0, $exitcond877 = 0, $exitcond878 = 0, $exitcond879 = 0, $exitcond880 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next843 = 0, $indvars$iv$next846 = 0; - var $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv842 = 0, $indvars$iv845 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $or$cond = 0, $scevgep = 0, $scevgep844 = 0, $scevgep847 = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep860 = 0, $scevgep862 = 0, $scevgep864 = 0, $scevgep866 = 0, $scevgep868 = 0; - var $scevgep870 = 0, $scevgep873 = 0, $trunc = 0, $trunc631 = 0, $trunc632 = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = ($6|0)==(16); - $9 = $8 ? 2 : 1; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($4, $3)|0; - $12 = Math_imul($9, $11)|0; - $13 = ((($10)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = Math_imul($9, $3)|0; - $16 = Math_imul($14, $9)|0; - $17 = ($14|0)==($3|0); - $18 = (($14) + 1)|0; - $19 = ($18|0)==($3|0); - $or$cond = $17 | $19; - if (!($or$cond)) { - ___assert_fail((6460|0),(5914|0),4294,(6501|0)); - // unreachable; - } - $20 = (_stbi__malloc_mad3($4,$5,$15)|0); - $21 = ((($0)) + 12|0); - HEAP32[$21>>2] = $20; - $22 = ($20|0)==(0|0); - if ($22) { - _stbi__err(5879); - $$2 = 0; - return ($$2|0); - } - $23 = Math_imul($14, $4)|0; - $24 = Math_imul($23, $6)|0; - $25 = (($24) + 7)|0; - $26 = $25 >>> 3; - $27 = (($26) + 1)|0; - $28 = Math_imul($27, $5)|0; - $29 = ($28>>>0)>($2>>>0); - if ($29) { - _stbi__err(6528); - $$2 = 0; - return ($$2|0); - } - $30 = ($5|0)==(0); - L12: do { - if (!($30)) { - $31 = ($6|0)<(8); - $32 = ($26>>>0)>($4>>>0); - $33 = (($11) - ($26))|0; - $34 = (0 - ($12))|0; - $35 = ($6|0)==(8); - $brmerge = $31 | $17; - $36 = ($4|0)==(0); - $$0608787 = (($4) + -1)|0; - $37 = ($$0608787|0)==(0); - $$1609779 = (($4) + -1)|0; - $38 = ($$1609779|0)==(0); - $$2610770 = (($4) + -1)|0; - $39 = ($$2610770|0)==(0); - $$3611761 = (($4) + -1)|0; - $40 = ($$3611761|0)==(0); - $$4612752 = (($4) + -1)|0; - $41 = ($$4612752|0)==(0); - $$5613744 = (($4) + -1)|0; - $42 = ($$5613744|0)==(0); - $$6614736 = (($4) + -1)|0; - $43 = ($$6614736|0)==(0); - $$not = $8 ^ 1; - $brmerge888 = $36 | $$not; - $$0571811 = $1;$$0602810 = $4;$$0605809 = $16;$$0617808 = 0; - while(1) { - $44 = HEAP32[$21>>2]|0; - $45 = Math_imul($$0617808, $12)|0; - $46 = (($44) + ($45)|0); - $47 = ((($$0571811)) + 1|0); - $48 = HEAP8[$$0571811>>0]|0; - $49 = $48&255; - $50 = ($48&255)>(4); - if ($50) { - label = 101; - break; - } - if ($31) { - if ($32) { - label = 12; - break; - } - $51 = (($46) + ($33)|0); - $$0591 = $51;$$1603 = $26;$$1606 = 1; - } else { - $$0591 = $46;$$1603 = $$0602810;$$1606 = $$0605809; - } - $52 = (($$0591) + ($34)|0); - $53 = ($$0617808|0)==(0); - if ($53) { - $54 = (6567 + ($49)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0582 = $56; - } else { - $$0582 = $49; - } - $57 = ($$1606|0)>(0); - L24: do { - if ($57) { - $trunc632 = $$0582&255; - $$0619728 = 0; - while(1) { - switch ($trunc632<<24>>24) { - case 0: { - $58 = (($47) + ($$0619728)|0); - $59 = HEAP8[$58>>0]|0; - $$sink = $59; - label = 26; - break; - } - case 1: { - $60 = (($47) + ($$0619728)|0); - $61 = HEAP8[$60>>0]|0; - $$sink = $61; - label = 26; - break; - } - case 2: { - $62 = (($47) + ($$0619728)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = (($52) + ($$0619728)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = (($67) + ($64))|0; - $69 = $68&255; - $$sink = $69; - label = 26; - break; - } - case 3: { - $70 = (($47) + ($$0619728)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = (($52) + ($$0619728)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $$sink = $78; - label = 26; - break; - } - case 4: { - $79 = (($47) + ($$0619728)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (($52) + ($$0619728)|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__paeth(0,$84,0)|0); - $86 = (($85) + ($81))|0; - $87 = $86&255; - $$sink = $87; - label = 26; - break; - } - case 5: { - $88 = (($47) + ($$0619728)|0); - $89 = HEAP8[$88>>0]|0; - $$sink = $89; - label = 26; - break; - } - case 6: { - $90 = (($47) + ($$0619728)|0); - $91 = HEAP8[$90>>0]|0; - $$sink = $91; - label = 26; - break; - } - default: { - } - } - if ((label|0) == 26) { - label = 0; - $$sink1 = (($$0591) + ($$0619728)|0); - HEAP8[$$sink1>>0] = $$sink; - } - $92 = (($$0619728) + 1)|0; - $exitcond858 = ($92|0)==($$1606|0); - if ($exitcond858) { - break L24; - } else { - $$0619728 = $92; - } - } - } - } while(0); - do { - if ($35) { - if (!($17)) { - $93 = (($$0591) + ($14)|0); - HEAP8[$93>>0] = -1; - } - $94 = (($47) + ($14)|0); - $$1572 = $94;$$sink635 = $3; - } else { - if (!($8)) { - $99 = ((($$0571811)) + 2|0); - $$1572 = $99;$$sink635 = 1; - break; - } - if (!($17)) { - $95 = (($$1606) + 1)|0; - $96 = (($$0591) + ($95)|0); - $97 = (($$0591) + ($$1606)|0); - HEAP8[$97>>0] = -1; - HEAP8[$96>>0] = -1; - } - $98 = (($47) + ($$1606)|0); - $$1572 = $98;$$sink635 = $15; - } - } while(0); - $100 = (($$0591) + ($$sink635)|0); - $101 = (($52) + ($$sink635)|0); - if ($brmerge) { - $102 = (($$1603) + -1)|0; - $103 = Math_imul($102, $$1606)|0; - $trunc631 = $$0582&255; - switch ($trunc631<<24>>24) { - case 0: { - _memcpy(($100|0),($$1572|0),($103|0))|0; - break; - } - case 1: { - $109 = ($103|0)>(0); - if ($109) { - $$1620806 = 0; - while(1) { - $110 = (($$1572) + ($$1620806)|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = (($$1620806) - ($$1606))|0; - $114 = (($100) + ($113)|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = (($116) + ($112))|0; - $118 = $117&255; - $119 = (($100) + ($$1620806)|0); - HEAP8[$119>>0] = $118; - $120 = (($$1620806) + 1)|0; - $exitcond880 = ($120|0)==($103|0); - if ($exitcond880) { - break; - } else { - $$1620806 = $120; - } - } - } - break; - } - case 2: { - $108 = ($103|0)>(0); - if ($108) { - $$2621804 = 0; - while(1) { - $121 = (($$1572) + ($$2621804)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = (($101) + ($$2621804)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = (($126) + ($123))|0; - $128 = $127&255; - $129 = (($100) + ($$2621804)|0); - HEAP8[$129>>0] = $128; - $130 = (($$2621804) + 1)|0; - $exitcond879 = ($130|0)==($103|0); - if ($exitcond879) { - break; - } else { - $$2621804 = $130; - } - } - } - break; - } - case 3: { - $107 = ($103|0)>(0); - if ($107) { - $$3622802 = 0; - while(1) { - $131 = (($$1572) + ($$3622802)|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = (($101) + ($$3622802)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = (($$3622802) - ($$1606))|0; - $138 = (($100) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = (($140) + ($136))|0; - $142 = $141 >>> 1; - $143 = (($142) + ($133))|0; - $144 = $143&255; - $145 = (($100) + ($$3622802)|0); - HEAP8[$145>>0] = $144; - $146 = (($$3622802) + 1)|0; - $exitcond878 = ($146|0)==($103|0); - if ($exitcond878) { - break; - } else { - $$3622802 = $146; - } - } - } - break; - } - case 4: { - $106 = ($103|0)>(0); - if ($106) { - $$4623800 = 0; - while(1) { - $147 = (($$1572) + ($$4623800)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($$4623800) - ($$1606))|0; - $151 = (($100) + ($150)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = (($101) + ($$4623800)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = (($101) + ($150)|0); - $158 = HEAP8[$157>>0]|0; - $159 = $158&255; - $160 = (_stbi__paeth($153,$156,$159)|0); - $161 = (($160) + ($149))|0; - $162 = $161&255; - $163 = (($100) + ($$4623800)|0); - HEAP8[$163>>0] = $162; - $164 = (($$4623800) + 1)|0; - $exitcond877 = ($164|0)==($103|0); - if ($exitcond877) { - break; - } else { - $$4623800 = $164; - } - } - } - break; - } - case 5: { - $105 = ($103|0)>(0); - if ($105) { - $$5624798 = 0; - while(1) { - $165 = (($$1572) + ($$5624798)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = (($$5624798) - ($$1606))|0; - $169 = (($100) + ($168)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = $171 >>> 1; - $173 = (($172) + ($167))|0; - $174 = $173&255; - $175 = (($100) + ($$5624798)|0); - HEAP8[$175>>0] = $174; - $176 = (($$5624798) + 1)|0; - $exitcond876 = ($176|0)==($103|0); - if ($exitcond876) { - break; - } else { - $$5624798 = $176; - } - } - } - break; - } - case 6: { - $104 = ($103|0)>(0); - if ($104) { - $$6625796 = 0; - while(1) { - $177 = (($$1572) + ($$6625796)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $180 = (($$6625796) - ($$1606))|0; - $181 = (($100) + ($180)|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = (_stbi__paeth($183,0,0)|0); - $185 = (($184) + ($179))|0; - $186 = $185&255; - $187 = (($100) + ($$6625796)|0); - HEAP8[$187>>0] = $186; - $188 = (($$6625796) + 1)|0; - $exitcond875 = ($188|0)==($103|0); - if ($exitcond875) { - break; - } else { - $$6625796 = $188; - } - } - } - break; - } - default: { - } - } - $189 = (($$1572) + ($103)|0); - $$11$ph = $189; - } else { - if (!($19)) { - label = 54; - break; - } - $trunc = $$0582&255; - switch ($trunc<<24>>24) { - case 0: { - if ($37) { - $$9580 = $$1572; - } else { - $202 = ($$1606|0)>(0); - $203 = Math_imul($$6614736, $$1606)|0; - $$0608790 = $$0608787;$$2573789 = $$1572;$$2593788 = $100; - while(1) { - if ($202) { - $$7626784 = 0; - while(1) { - $204 = (($$2573789) + ($$7626784)|0); - $205 = HEAP8[$204>>0]|0; - $206 = (($$2593788) + ($$7626784)|0); - HEAP8[$206>>0] = $205; - $207 = (($$7626784) + 1)|0; - $exitcond871 = ($207|0)==($$1606|0); - if ($exitcond871) { - break; - } else { - $$7626784 = $207; - } - } - } - $208 = (($$2593788) + ($$1606)|0); - HEAP8[$208>>0] = -1; - $209 = (($$2573789) + ($$1606)|0); - $210 = (($$2593788) + ($15)|0); - $$0608 = (($$0608790) + -1)|0; - $211 = ($$0608|0)==(0); - if ($211) { - break; - } else { - $$0608790 = $$0608;$$2573789 = $209;$$2593788 = $210; - } - } - $scevgep873 = (($$1572) + ($203)|0); - $$9580 = $scevgep873; - } - break; - } - case 1: { - if ($38) { - $$9580 = $$1572; - } else { - $200 = ($$1606|0)>(0); - $201 = Math_imul($$6614736, $$1606)|0; - $$1609782 = $$1609779;$$3574781 = $$1572;$$3594780 = $100; - while(1) { - if ($200) { - $$8627776 = 0; - while(1) { - $212 = (($$3574781) + ($$8627776)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = (($$8627776) - ($15))|0; - $216 = (($$3594780) + ($215)|0); - $217 = HEAP8[$216>>0]|0; - $218 = $217&255; - $219 = (($218) + ($214))|0; - $220 = $219&255; - $221 = (($$3594780) + ($$8627776)|0); - HEAP8[$221>>0] = $220; - $222 = (($$8627776) + 1)|0; - $exitcond869 = ($222|0)==($$1606|0); - if ($exitcond869) { - break; - } else { - $$8627776 = $222; - } - } - } - $223 = (($$3594780) + ($$1606)|0); - HEAP8[$223>>0] = -1; - $224 = (($$3574781) + ($$1606)|0); - $225 = (($$3594780) + ($15)|0); - $$1609 = (($$1609782) + -1)|0; - $226 = ($$1609|0)==(0); - if ($226) { - break; - } else { - $$1609782 = $$1609;$$3574781 = $224;$$3594780 = $225; - } - } - $scevgep870 = (($$1572) + ($201)|0); - $$9580 = $scevgep870; - } - break; - } - case 2: { - if ($39) { - $$9580 = $$1572; - } else { - $198 = ($$1606|0)>(0); - $199 = Math_imul($$6614736, $$1606)|0; - $$2610774 = $$2610770;$$3586772 = $101;$$4575773 = $$1572;$$4595771 = $100; - while(1) { - if ($198) { - $$9628767 = 0; - while(1) { - $227 = (($$4575773) + ($$9628767)|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = (($$3586772) + ($$9628767)|0); - $231 = HEAP8[$230>>0]|0; - $232 = $231&255; - $233 = (($232) + ($229))|0; - $234 = $233&255; - $235 = (($$4595771) + ($$9628767)|0); - HEAP8[$235>>0] = $234; - $236 = (($$9628767) + 1)|0; - $exitcond867 = ($236|0)==($$1606|0); - if ($exitcond867) { - break; - } else { - $$9628767 = $236; - } - } - } - $237 = (($$4595771) + ($$1606)|0); - HEAP8[$237>>0] = -1; - $238 = (($$4575773) + ($$1606)|0); - $239 = (($$4595771) + ($15)|0); - $240 = (($$3586772) + ($15)|0); - $$2610 = (($$2610774) + -1)|0; - $241 = ($$2610|0)==(0); - if ($241) { - break; - } else { - $$2610774 = $$2610;$$3586772 = $240;$$4575773 = $238;$$4595771 = $239; - } - } - $scevgep868 = (($$1572) + ($199)|0); - $$9580 = $scevgep868; - } - break; - } - case 3: { - if ($40) { - $$9580 = $$1572; - } else { - $196 = ($$1606|0)>(0); - $197 = Math_imul($$6614736, $$1606)|0; - $$3611765 = $$3611761;$$4587763 = $101;$$5576764 = $$1572;$$5596762 = $100; - while(1) { - if ($196) { - $$10629758 = 0; - while(1) { - $242 = (($$5576764) + ($$10629758)|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($$4587763) + ($$10629758)|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246&255; - $248 = (($$10629758) - ($15))|0; - $249 = (($$5596762) + ($248)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = (($251) + ($247))|0; - $253 = $252 >>> 1; - $254 = (($253) + ($244))|0; - $255 = $254&255; - $256 = (($$5596762) + ($$10629758)|0); - HEAP8[$256>>0] = $255; - $257 = (($$10629758) + 1)|0; - $exitcond865 = ($257|0)==($$1606|0); - if ($exitcond865) { - break; - } else { - $$10629758 = $257; - } - } - } - $258 = (($$5596762) + ($$1606)|0); - HEAP8[$258>>0] = -1; - $259 = (($$5576764) + ($$1606)|0); - $260 = (($$5596762) + ($15)|0); - $261 = (($$4587763) + ($15)|0); - $$3611 = (($$3611765) + -1)|0; - $262 = ($$3611|0)==(0); - if ($262) { - break; - } else { - $$3611765 = $$3611;$$4587763 = $261;$$5576764 = $259;$$5596762 = $260; - } - } - $scevgep866 = (($$1572) + ($197)|0); - $$9580 = $scevgep866; - } - break; - } - case 4: { - if ($41) { - $$9580 = $$1572; - } else { - $194 = ($$1606|0)>(0); - $195 = Math_imul($$6614736, $$1606)|0; - $$4612756 = $$4612752;$$5588754 = $101;$$6577755 = $$1572;$$6597753 = $100; - while(1) { - if ($194) { - $$11630749 = 0; - while(1) { - $263 = (($$6577755) + ($$11630749)|0); - $264 = HEAP8[$263>>0]|0; - $265 = $264&255; - $266 = (($$11630749) - ($15))|0; - $267 = (($$6597753) + ($266)|0); - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - $270 = (($$5588754) + ($$11630749)|0); - $271 = HEAP8[$270>>0]|0; - $272 = $271&255; - $273 = (($$5588754) + ($266)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = (_stbi__paeth($269,$272,$275)|0); - $277 = (($276) + ($265))|0; - $278 = $277&255; - $279 = (($$6597753) + ($$11630749)|0); - HEAP8[$279>>0] = $278; - $280 = (($$11630749) + 1)|0; - $exitcond863 = ($280|0)==($$1606|0); - if ($exitcond863) { - break; - } else { - $$11630749 = $280; - } - } - } - $281 = (($$6597753) + ($$1606)|0); - HEAP8[$281>>0] = -1; - $282 = (($$6577755) + ($$1606)|0); - $283 = (($$6597753) + ($15)|0); - $284 = (($$5588754) + ($15)|0); - $$4612 = (($$4612756) + -1)|0; - $285 = ($$4612|0)==(0); - if ($285) { - break; - } else { - $$4612756 = $$4612;$$5588754 = $284;$$6577755 = $282;$$6597753 = $283; - } - } - $scevgep864 = (($$1572) + ($195)|0); - $$9580 = $scevgep864; - } - break; - } - case 5: { - if ($42) { - $$9580 = $$1572; - } else { - $192 = ($$1606|0)>(0); - $193 = Math_imul($$6614736, $$1606)|0; - $$5613747 = $$5613744;$$7578746 = $$1572;$$7598745 = $100; - while(1) { - if ($192) { - $$12741 = 0; - while(1) { - $286 = (($$7578746) + ($$12741)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = (($$12741) - ($15))|0; - $290 = (($$7598745) + ($289)|0); - $291 = HEAP8[$290>>0]|0; - $292 = $291&255; - $293 = $292 >>> 1; - $294 = (($293) + ($288))|0; - $295 = $294&255; - $296 = (($$7598745) + ($$12741)|0); - HEAP8[$296>>0] = $295; - $297 = (($$12741) + 1)|0; - $exitcond861 = ($297|0)==($$1606|0); - if ($exitcond861) { - break; - } else { - $$12741 = $297; - } - } - } - $298 = (($$7598745) + ($$1606)|0); - HEAP8[$298>>0] = -1; - $299 = (($$7578746) + ($$1606)|0); - $300 = (($$7598745) + ($15)|0); - $$5613 = (($$5613747) + -1)|0; - $301 = ($$5613|0)==(0); - if ($301) { - break; - } else { - $$5613747 = $$5613;$$7578746 = $299;$$7598745 = $300; - } - } - $scevgep862 = (($$1572) + ($193)|0); - $$9580 = $scevgep862; - } - break; - } - case 6: { - if ($43) { - $$9580 = $$1572; - } else { - $190 = ($$1606|0)>(0); - $191 = Math_imul($$6614736, $$1606)|0; - $$6614739 = $$6614736;$$8579738 = $$1572;$$8599737 = $100; - while(1) { - if ($190) { - $$13733 = 0; - while(1) { - $302 = (($$8579738) + ($$13733)|0); - $303 = HEAP8[$302>>0]|0; - $304 = $303&255; - $305 = (($$13733) - ($15))|0; - $306 = (($$8599737) + ($305)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = (_stbi__paeth($308,0,0)|0); - $310 = (($309) + ($304))|0; - $311 = $310&255; - $312 = (($$8599737) + ($$13733)|0); - HEAP8[$312>>0] = $311; - $313 = (($$13733) + 1)|0; - $exitcond859 = ($313|0)==($$1606|0); - if ($exitcond859) { - break; - } else { - $$13733 = $313; - } - } - } - $314 = (($$8599737) + ($$1606)|0); - HEAP8[$314>>0] = -1; - $315 = (($$8579738) + ($$1606)|0); - $316 = (($$8599737) + ($15)|0); - $$6614 = (($$6614739) + -1)|0; - $317 = ($$6614|0)==(0); - if ($317) { - break; - } else { - $$6614739 = $$6614;$$8579738 = $315;$$8599737 = $316; - } - } - $scevgep860 = (($$1572) + ($191)|0); - $$9580 = $scevgep860; - } - break; - } - default: { - $$9580 = $$1572; - } - } - if ($brmerge888) { - $$11$ph = $$9580; - } else { - $318 = HEAP32[$21>>2]|0; - $319 = (($318) + ($45)|0); - $320 = (($$1606) + 1)|0; - $$7615792 = 0;$$9600793 = $319; - while(1) { - $321 = (($$9600793) + ($320)|0); - HEAP8[$321>>0] = -1; - $322 = (($$7615792) + 1)|0; - $323 = (($$9600793) + ($15)|0); - $exitcond874 = ($322|0)==($4|0); - if ($exitcond874) { - $$11$ph = $$9580; - break; - } else { - $$7615792 = $322;$$9600793 = $323; - } - } - } - } - $324 = (($$0617808) + 1)|0; - $325 = ($324>>>0)<($5>>>0); - if ($325) { - $$0571811 = $$11$ph;$$0602810 = $$1603;$$0605809 = $$1606;$$0617808 = $324; - } else { - break L12; - } - } - if ((label|0) == 12) { - ___assert_fail((6546|0),(5914|0),4314,(6501|0)); - // unreachable; - } - else if ((label|0) == 54) { - ___assert_fail((6572|0),(5914|0),4376,(6501|0)); - // unreachable; - } - else if ((label|0) == 101) { - _stbi__err(6589); - $$2 = 0; - return ($$2|0); - } - } - } while(0); - $326 = ($6|0)<(8); - if (!($326)) { - if (!($8)) { - $$2 = 1; - return ($$2|0); - } - $595 = Math_imul($4, $3)|0; - $596 = Math_imul($595, $5)|0; - $597 = ($596|0)==(0); - if ($597) { - $$2 = 1; - return ($$2|0); - } - $598 = HEAP32[$21>>2]|0; - $$0725 = $598;$$8616723 = 0; - while(1) { - $599 = HEAP8[$$0725>>0]|0; - $600 = $599&255; - $601 = $600 << 8; - $602 = ((($$0725)) + 1|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $605 = $601 | $604; - $606 = $605&65535; - HEAP16[$$0725>>1] = $606; - $607 = (($$8616723) + 1)|0; - $608 = ((($$0725)) + 2|0); - $exitcond = ($607|0)==($596|0); - if ($exitcond) { - $$2 = 1; - break; - } else { - $$0725 = $608;$$8616723 = $607; - } - } - return ($$2|0); - } - $327 = ($5|0)==(0); - if ($327) { - $$2 = 1; - return ($$2|0); - } - $328 = (0 - ($26))|0; - $329 = ($7|0)==(0); - $330 = (6285 + ($6)|0); - $$0562718 = (($4) + -1)|0; - $331 = ($$0562718|0)>(-1); - $$1715 = (($4) + -1)|0; - $332 = ($$1715|0)>(-1); - $333 = ($23|0)>(1); - $334 = ($23|0)>(3); - $335 = ($23|0)>(7); - $336 = (($23) + -8)|0; - $337 = $336 >>> 3; - $338 = $337 << 3; - $339 = (($338) + 8)|0; - $340 = (($336) - ($338))|0; - $341 = (($337) + ($11))|0; - $342 = (($341) + 1)|0; - $343 = (($342) - ($26))|0; - $344 = (($23) + -4)|0; - $345 = $344 >>> 2; - $346 = $345 << 2; - $347 = (($346) + 4)|0; - $348 = (($344) - ($346))|0; - $349 = (($345) + ($11))|0; - $350 = (($349) + 1)|0; - $351 = (($350) - ($26))|0; - $352 = (($23) + -2)|0; - $353 = $352 >>> 1; - $354 = $353 << 1; - $355 = (($354) + 2)|0; - $356 = (($352) - ($354))|0; - $357 = (($353) + ($11))|0; - $358 = (($357) + 1)|0; - $359 = (($358) - ($26))|0; - $$1618721 = 0;$indvars$iv = $339;$indvars$iv842 = $343;$indvars$iv845 = $347;$indvars$iv848 = $351;$indvars$iv851 = $355;$indvars$iv854 = $359; - L168: while(1) { - $360 = HEAP32[$21>>2]|0; - $361 = Math_imul($$1618721, $12)|0; - $362 = (($360) + ($361)|0); - $363 = (($362) + ($11)|0); - $364 = (($363) + ($328)|0); - if ($329) { - $365 = HEAP8[$330>>0]|0; - $366 = $365&255; - $371 = $366; - } else { - $371 = 1; - } - switch ($6|0) { - case 4: { - if ($333) { - $scevgep853 = (($360) + ($indvars$iv851)|0); - $$0565709 = $364;$$0568708 = $362;$$14707 = $23; - while(1) { - $367 = HEAP8[$$0565709>>0]|0; - $368 = $367&255; - $369 = $368 >>> 4; - $370 = Math_imul($369, $371)|0; - $372 = $370&255; - $373 = ((($$0568708)) + 1|0); - HEAP8[$$0568708>>0] = $372; - $374 = HEAP8[$$0565709>>0]|0; - $375 = $374 & 15; - $376 = $375&255; - $377 = Math_imul($376, $371)|0; - $378 = $377&255; - $379 = ((($$0568708)) + 2|0); - HEAP8[$373>>0] = $378; - $380 = (($$14707) + -2)|0; - $381 = ((($$0565709)) + 1|0); - $382 = ($380|0)>(1); - if ($382) { - $$0565709 = $381;$$0568708 = $379;$$14707 = $380; - } else { - break; - } - } - $scevgep856 = (($360) + ($indvars$iv854)|0); - $$0565$lcssa = $scevgep856;$$0568$lcssa = $scevgep853;$$14$lcssa = $356; - } else { - $$0565$lcssa = $364;$$0568$lcssa = $362;$$14$lcssa = $23; - } - $383 = ($$14$lcssa|0)==(1); - if ($383) { - $384 = HEAP8[$$0565$lcssa>>0]|0; - $385 = $384&255; - $386 = $385 >>> 4; - $387 = Math_imul($386, $371)|0; - $388 = $387&255; - HEAP8[$$0568$lcssa>>0] = $388; - } - break; - } - case 2: { - if ($334) { - $scevgep847 = (($360) + ($indvars$iv845)|0); - $$1566701 = $364;$$1569700 = $362;$$15699 = $23; - while(1) { - $389 = HEAP8[$$1566701>>0]|0; - $390 = $389&255; - $391 = $390 >>> 6; - $392 = Math_imul($391, $371)|0; - $393 = $392&255; - $394 = ((($$1569700)) + 1|0); - HEAP8[$$1569700>>0] = $393; - $395 = HEAP8[$$1566701>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = $397 & 3; - $399 = Math_imul($398, $371)|0; - $400 = $399&255; - $401 = ((($$1569700)) + 2|0); - HEAP8[$394>>0] = $400; - $402 = HEAP8[$$1566701>>0]|0; - $403 = $402&255; - $404 = $403 >>> 2; - $405 = $404 & 3; - $406 = Math_imul($405, $371)|0; - $407 = $406&255; - $408 = ((($$1569700)) + 3|0); - HEAP8[$401>>0] = $407; - $409 = HEAP8[$$1566701>>0]|0; - $410 = $409 & 3; - $411 = $410&255; - $412 = Math_imul($411, $371)|0; - $413 = $412&255; - $414 = ((($$1569700)) + 4|0); - HEAP8[$408>>0] = $413; - $415 = (($$15699) + -4)|0; - $416 = ((($$1566701)) + 1|0); - $417 = ($415|0)>(3); - if ($417) { - $$1566701 = $416;$$1569700 = $414;$$15699 = $415; - } else { - break; - } - } - $scevgep850 = (($360) + ($indvars$iv848)|0); - $$15$lcssa = $348;$$1566$lcssa = $scevgep850;$$1569$lcssa = $scevgep847; - } else { - $$15$lcssa = $23;$$1566$lcssa = $364;$$1569$lcssa = $362; - } - $418 = ($$15$lcssa|0)>(0); - if ($418) { - $419 = HEAP8[$$1566$lcssa>>0]|0; - $420 = $419&255; - $421 = $420 >>> 6; - $422 = Math_imul($421, $371)|0; - $423 = $422&255; - HEAP8[$$1569$lcssa>>0] = $423; - $424 = ($$15$lcssa|0)==(1); - if (!($424)) { - $425 = ((($$1569$lcssa)) + 1|0); - $426 = HEAP8[$$1566$lcssa>>0]|0; - $427 = $426&255; - $428 = $427 >>> 4; - $429 = $428 & 3; - $430 = Math_imul($429, $371)|0; - $431 = $430&255; - HEAP8[$425>>0] = $431; - $432 = ($$15$lcssa|0)>(2); - if ($432) { - $433 = ((($$1569$lcssa)) + 2|0); - $434 = HEAP8[$$1566$lcssa>>0]|0; - $435 = $434&255; - $436 = $435 >>> 2; - $437 = $436 & 3; - $438 = Math_imul($437, $371)|0; - $439 = $438&255; - HEAP8[$433>>0] = $439; - } - } - } - break; - } - case 1: { - if ($335) { - $scevgep = (($360) + ($indvars$iv)|0); - $$16694 = $23;$$2567696 = $364;$$4695 = $362; - while(1) { - $440 = HEAP8[$$2567696>>0]|0; - $441 = $440&255; - $442 = $441 >>> 7; - $443 = (0 - ($442))|0; - $444 = $371 & $443; - $445 = $444&255; - $446 = ((($$4695)) + 1|0); - HEAP8[$$4695>>0] = $445; - $447 = HEAP8[$$2567696>>0]|0; - $448 = $447&255; - $449 = $448 >>> 6; - $450 = $449 & 1; - $451 = (0 - ($450))|0; - $452 = $371 & $451; - $453 = $452&255; - $454 = ((($$4695)) + 2|0); - HEAP8[$446>>0] = $453; - $455 = HEAP8[$$2567696>>0]|0; - $456 = $455&255; - $457 = $456 >>> 5; - $458 = $457 & 1; - $459 = (0 - ($458))|0; - $460 = $371 & $459; - $461 = $460&255; - $462 = ((($$4695)) + 3|0); - HEAP8[$454>>0] = $461; - $463 = HEAP8[$$2567696>>0]|0; - $464 = $463&255; - $465 = $464 >>> 4; - $466 = $465 & 1; - $467 = (0 - ($466))|0; - $468 = $371 & $467; - $469 = $468&255; - $470 = ((($$4695)) + 4|0); - HEAP8[$462>>0] = $469; - $471 = HEAP8[$$2567696>>0]|0; - $472 = $471&255; - $473 = $472 >>> 3; - $474 = $473 & 1; - $475 = (0 - ($474))|0; - $476 = $371 & $475; - $477 = $476&255; - $478 = ((($$4695)) + 5|0); - HEAP8[$470>>0] = $477; - $479 = HEAP8[$$2567696>>0]|0; - $480 = $479&255; - $481 = $480 >>> 2; - $482 = $481 & 1; - $483 = (0 - ($482))|0; - $484 = $371 & $483; - $485 = $484&255; - $486 = ((($$4695)) + 6|0); - HEAP8[$478>>0] = $485; - $487 = HEAP8[$$2567696>>0]|0; - $488 = $487&255; - $489 = $488 >>> 1; - $490 = $489 & 1; - $491 = (0 - ($490))|0; - $492 = $371 & $491; - $493 = $492&255; - $494 = ((($$4695)) + 7|0); - HEAP8[$486>>0] = $493; - $495 = HEAP8[$$2567696>>0]|0; - $496 = $495 & 1; - $497 = $496&255; - $498 = (0 - ($497))|0; - $499 = $371 & $498; - $500 = $499&255; - $501 = ((($$4695)) + 8|0); - HEAP8[$494>>0] = $500; - $502 = (($$16694) + -8)|0; - $503 = ((($$2567696)) + 1|0); - $504 = ($502|0)>(7); - if ($504) { - $$16694 = $502;$$2567696 = $503;$$4695 = $501; - } else { - break; - } - } - $scevgep844 = (($360) + ($indvars$iv842)|0); - $$16$lcssa = $340;$$2567$lcssa = $scevgep844;$$4$lcssa = $scevgep; - } else { - $$16$lcssa = $23;$$2567$lcssa = $364;$$4$lcssa = $362; - } - $505 = ($$16$lcssa|0)>(0); - if ($505) { - $506 = HEAP8[$$2567$lcssa>>0]|0; - $507 = $506&255; - $508 = $507 >>> 7; - $509 = (0 - ($508))|0; - $510 = $371 & $509; - $511 = $510&255; - HEAP8[$$4$lcssa>>0] = $511; - $512 = ($$16$lcssa|0)==(1); - if (!($512)) { - $513 = ((($$4$lcssa)) + 1|0); - $514 = HEAP8[$$2567$lcssa>>0]|0; - $515 = $514&255; - $516 = $515 >>> 6; - $517 = $516 & 1; - $518 = (0 - ($517))|0; - $519 = $371 & $518; - $520 = $519&255; - HEAP8[$513>>0] = $520; - $521 = ($$16$lcssa|0)>(2); - if ($521) { - $522 = ((($$4$lcssa)) + 2|0); - $523 = HEAP8[$$2567$lcssa>>0]|0; - $524 = $523&255; - $525 = $524 >>> 5; - $526 = $525 & 1; - $527 = (0 - ($526))|0; - $528 = $371 & $527; - $529 = $528&255; - HEAP8[$522>>0] = $529; - $530 = ($$16$lcssa|0)==(3); - if (!($530)) { - $531 = ((($$4$lcssa)) + 3|0); - $532 = HEAP8[$$2567$lcssa>>0]|0; - $533 = $532&255; - $534 = $533 >>> 4; - $535 = $534 & 1; - $536 = (0 - ($535))|0; - $537 = $371 & $536; - $538 = $537&255; - HEAP8[$531>>0] = $538; - $539 = ($$16$lcssa|0)>(4); - if ($539) { - $540 = ((($$4$lcssa)) + 4|0); - $541 = HEAP8[$$2567$lcssa>>0]|0; - $542 = $541&255; - $543 = $542 >>> 3; - $544 = $543 & 1; - $545 = (0 - ($544))|0; - $546 = $371 & $545; - $547 = $546&255; - HEAP8[$540>>0] = $547; - $548 = ($$16$lcssa|0)==(5); - if (!($548)) { - $549 = ((($$4$lcssa)) + 5|0); - $550 = HEAP8[$$2567$lcssa>>0]|0; - $551 = $550&255; - $552 = $551 >>> 2; - $553 = $552 & 1; - $554 = (0 - ($553))|0; - $555 = $371 & $554; - $556 = $555&255; - HEAP8[$549>>0] = $556; - $557 = ($$16$lcssa|0)>(6); - if ($557) { - $558 = ((($$4$lcssa)) + 6|0); - $559 = HEAP8[$$2567$lcssa>>0]|0; - $560 = $559&255; - $561 = $560 >>> 1; - $562 = $561 & 1; - $563 = (0 - ($562))|0; - $564 = $371 & $563; - $565 = $564&255; - HEAP8[$558>>0] = $565; - } - } - } - } - } - } - } - break; - } - default: { - } - } - L207: do { - if (!($17)) { - $566 = HEAP32[$21>>2]|0; - $567 = (($566) + ($361)|0); - switch ($14|0) { - case 1: { - if ($331) { - $$0562719 = $$0562718; - } else { - break L207; - } - while(1) { - $568 = $$0562719 << 1; - $569 = $568 | 1; - $570 = (($567) + ($569)|0); - HEAP8[$570>>0] = -1; - $571 = (($567) + ($$0562719)|0); - $572 = HEAP8[$571>>0]|0; - $573 = (($567) + ($568)|0); - HEAP8[$573>>0] = $572; - $$0562 = (($$0562719) + -1)|0; - $574 = ($$0562|0)>(-1); - if ($574) { - $$0562719 = $$0562; - } else { - break; - } - } - break; - } - case 3: { - if ($332) { - $$1716 = $$1715; - } else { - break L207; - } - while(1) { - $575 = $$1716 << 2; - $576 = $575 | 3; - $577 = (($567) + ($576)|0); - HEAP8[$577>>0] = -1; - $578 = ($$1716*3)|0; - $579 = (($578) + 2)|0; - $580 = (($567) + ($579)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $575 | 2; - $583 = (($567) + ($582)|0); - HEAP8[$583>>0] = $581; - $584 = (($578) + 1)|0; - $585 = (($567) + ($584)|0); - $586 = HEAP8[$585>>0]|0; - $587 = $575 | 1; - $588 = (($567) + ($587)|0); - HEAP8[$588>>0] = $586; - $589 = (($567) + ($578)|0); - $590 = HEAP8[$589>>0]|0; - $591 = (($567) + ($575)|0); - HEAP8[$591>>0] = $590; - $$1 = (($$1716) + -1)|0; - $592 = ($$1|0)>(-1); - if ($592) { - $$1716 = $$1; - } else { - break; - } - } - break; - } - default: { - label = 140; - break L168; - } - } - } - } while(0); - $593 = (($$1618721) + 1)|0; - $594 = ($593>>>0)<($5>>>0); - $indvars$iv$next = (($indvars$iv) + ($12))|0; - $indvars$iv$next843 = (($indvars$iv842) + ($12))|0; - $indvars$iv$next846 = (($indvars$iv845) + ($12))|0; - $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; - $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; - $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; - if ($594) { - $$1618721 = $593;$indvars$iv = $indvars$iv$next;$indvars$iv842 = $indvars$iv$next843;$indvars$iv845 = $indvars$iv$next846;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855; - } else { - $$2 = 1; - label = 147; - break; - } - } - if ((label|0) == 140) { - ___assert_fail((6604|0),(5914|0),4465,(6501|0)); - // unreachable; - } - else if ((label|0) == 147) { - return ($$2|0); - } - return (0)|0; -} -function _stbi__paeth($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = (($1) + ($0))|0; - $4 = (($3) - ($2))|0; - $5 = (($4) - ($0))|0; - $ispos = ($5|0)>(-1); - $neg = (0 - ($5))|0; - $6 = $ispos ? $5 : $neg; - $7 = (($4) - ($1))|0; - $ispos26 = ($7|0)>(-1); - $neg27 = (0 - ($7))|0; - $8 = $ispos26 ? $7 : $neg27; - $9 = (($4) - ($2))|0; - $ispos28 = ($9|0)>(-1); - $neg29 = (0 - ($9))|0; - $10 = $ispos28 ? $9 : $neg29; - $11 = ($6|0)>($8|0); - $12 = ($6|0)>($10|0); - $or$cond = $11 | $12; - $13 = ($8|0)>($10|0); - $$ = $13 ? $2 : $1; - $$0 = $or$cond ? $$ : $0; - return ($$0|0); -} -function _stbi__do_zlib($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 20|0); - HEAP32[$5>>2] = $1; - $6 = ((($0)) + 16|0); - HEAP32[$6>>2] = $1; - $7 = (($1) + ($2)|0); - $8 = ((($0)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = ((($0)) + 28|0); - HEAP32[$9>>2] = $3; - $10 = (_stbi__parse_zlib($0,$4)|0); - return ($10|0); -} -function _stbi__parse_zlib($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - if (!($2)) { - $3 = (_stbi__parse_zlib_header($0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - } - $5 = ((($0)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = ((($0)) + 12|0); - HEAP32[$6>>2] = 0; - $7 = ((($0)) + 32|0); - $8 = ((($0)) + 2052|0); - L5: while(1) { - $9 = (_stbi__zreceive($0,1)|0); - $10 = (_stbi__zreceive($0,2)|0); - switch ($10|0) { - case 3: { - $$0 = 0; - label = 11; - break L5; - break; - } - case 0: { - $11 = (_stbi__parse_uncompressed_block($0)|0); - $12 = ($11|0)==(0); - if ($12) { - $$0 = 0; - label = 11; - break L5; - } - break; - } - case 1: { - $13 = (_stbi__zbuild_huffman($7,6615,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 11; - break L5; - } - $15 = (_stbi__zbuild_huffman($8,6903,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - break; - } - default: { - $17 = (_stbi__compute_huffman_codes($0)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - } - } - if ((label|0) == 9) { - label = 0; - $19 = (_stbi__parse_huffman_block($0)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 11; - break; - } - } - $21 = ($9|0)==(0); - if (!($21)) { - $$0 = 1; - label = 11; - break; - } - } - if ((label|0) == 11) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__zget8($0)|0); - $2 = $1&255; - $3 = $2 & 15; - $4 = (_stbi__zget8($0)|0); - $5 = $4&255; - $6 = $2 << 8; - $7 = $6 | $5; - $8 = (($7>>>0) % 31)&-1; - $9 = ($8|0)==(0); - if (!($9)) { - _stbi__err(7269); - $$0 = 0; - return ($$0|0); - } - $10 = $5 & 32; - $11 = ($10|0)==(0); - if (!($11)) { - _stbi__err(7285); - $$0 = 0; - return ($$0|0); - } - $12 = ($3|0)==(8); - if ($12) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(7300); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<($1|0); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = 1 << $1; - $8 = (($7) + -1)|0; - $9 = $6 & $8; - $10 = $6 >>> $1; - HEAP32[$5>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) - ($1))|0; - HEAP32[$2>>2] = $12; - return ($9|0); -} -function _stbi__parse_uncompressed_block($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & 7; - $5 = ($4|0)==(0); - if ($5) { - $$ph = $3; - } else { - (_stbi__zreceive($0,$4)|0); - $$pr = HEAP32[$2>>2]|0; - $$ph = $$pr; - } - $6 = ($$ph|0)>(0); - if ($6) { - $7 = ((($0)) + 12|0); - $$promoted = HEAP32[$7>>2]|0; - $8 = $$ph ^ -1; - $9 = ($8|0)>(-9); - $smax = $9 ? $8 : -9; - $10 = (($$ph) + ($smax))|0; - $11 = (($10) + 8)|0; - $12 = $11 >>> 3; - $13 = (($12) + 1)|0; - $14 = $12 << 3; - $$037 = 0;$16 = $$promoted; - while(1) { - $15 = $16&255; - $17 = (($$037) + 1)|0; - $18 = (($1) + ($$037)|0); - HEAP8[$18>>0] = $15; - $19 = $16 >>> 8; - $exitcond47 = ($17|0)==($13|0); - if ($exitcond47) { - break; - } else { - $$037 = $17;$16 = $19; - } - } - $20 = (($$ph) + -8)|0; - $21 = (($20) - ($14))|0; - HEAP32[$7>>2] = $19; - HEAP32[$2>>2] = $21; - $$0$lcssa = $13;$$lcssa = $21; - } else { - $$0$lcssa = 0;$$lcssa = $$ph; - } - $22 = ($$lcssa|0)==(0); - if (!($22)) { - ___assert_fail((7191|0),(5914|0),4033,(7208|0)); - // unreachable; - } - $23 = ($$0$lcssa|0)<(4); - if ($23) { - $$136 = $$0$lcssa; - while(1) { - $24 = (_stbi__zget8($0)|0); - $25 = (($$136) + 1)|0; - $26 = (($1) + ($$136)|0); - HEAP8[$26>>0] = $24; - $exitcond = ($25|0)==(4); - if ($exitcond) { - break; - } else { - $$136 = $25; - } - } - } - $27 = ((($1)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP8[$1>>0]|0; - $32 = $31&255; - $33 = $30 | $32; - $34 = ((($1)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 << 8; - $38 = ((($1)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $37 | $40; - $42 = $33 ^ 65535; - $43 = ($41|0)==($42|0); - if (!($43)) { - _stbi__err(7239); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($33)|0); - $46 = ((($0)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($45>>>0)>($47>>>0); - if ($48) { - _stbi__err(7252); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $49 = ((($0)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($33)|0); - $52 = ((($0)) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51>>>0)>($53>>>0); - if ($54) { - $55 = (_stbi__zexpand($0,$50,$33)|0); - $56 = ($55|0)==(0); - if ($56) { - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - } - $57 = HEAP32[$49>>2]|0; - $58 = HEAP32[$0>>2]|0; - _memcpy(($57|0),($58|0),($33|0))|0; - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + ($33)|0); - HEAP32[$0>>2] = $60; - $61 = HEAP32[$49>>2]|0; - $62 = (($61) + ($33)|0); - HEAP32[$49>>2] = $62; - $$034 = 1; - STACKTOP = sp;return ($$034|0); -} -function _stbi__zbuild_huffman($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $3 = sp + 72|0; - $4 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($0|0),0,1024)|0; - $5 = ($2|0)>(0); - if ($5) { - $$07688 = 0; - while(1) { - $6 = (($1) + ($$07688)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($4) + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = (($$07688) + 1)|0; - $exitcond91 = ($12|0)==($2|0); - if ($exitcond91) { - break; - } else { - $$07688 = $12; - } - } - } - HEAP32[$4>>2] = 0; - $16 = ((($4)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(2); - if (!($18)) { - $13 = ((($4)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(4); - if (!($15)) { - $69 = ((($4)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(8); - if (!($71)) { - $72 = ((($4)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(16); - if (!($74)) { - $75 = ((($4)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(32); - if (!($77)) { - $78 = ((($4)) + 24|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(64); - if (!($80)) { - $81 = ((($4)) + 28|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(128); - if (!($83)) { - $84 = ((($4)) + 32|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(256); - if (!($86)) { - $87 = ((($4)) + 36|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(512); - if (!($89)) { - $90 = ((($4)) + 40|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(1024); - if (!($92)) { - $93 = ((($4)) + 44|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(2048); - if (!($95)) { - $96 = ((($4)) + 48|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(4096); - if (!($98)) { - $99 = ((($4)) + 52|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(8192); - if (!($101)) { - $102 = ((($4)) + 56|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(16384); - if (!($104)) { - $105 = ((($4)) + 60|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)>(32768); - if (!($107)) { - $$07785 = 0;$$07884 = 0;$$286 = 1; - while(1) { - $19 = (($3) + ($$286<<2)|0); - HEAP32[$19>>2] = $$07884; - $20 = $$07884&65535; - $21 = (((($0)) + 1024|0) + ($$286<<1)|0); - HEAP16[$21>>1] = $20; - $22 = $$07785&65535; - $23 = (((($0)) + 1124|0) + ($$286<<1)|0); - HEAP16[$23>>1] = $22; - $24 = (($4) + ($$286<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($$07884))|0; - $27 = ($25|0)!=(0); - $28 = 1 << $$286; - $29 = ($26|0)>($28|0); - $or$cond = $27 & $29; - if ($or$cond) { - label = 7; - break; - } - $30 = (16 - ($$286))|0; - $31 = $26 << $30; - $32 = (((($0)) + 1056|0) + ($$286<<2)|0); - HEAP32[$32>>2] = $31; - $33 = $26 << 1; - $34 = (($25) + ($$07785))|0; - $35 = (($$286) + 1)|0; - $36 = ($35|0)<(16); - if ($36) { - $$07785 = $34;$$07884 = $33;$$286 = $35; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(7129); - $$075 = 0; - STACKTOP = sp;return ($$075|0); - } - $37 = ((($0)) + 1120|0); - HEAP32[$37>>2] = 65536; - $38 = ($2|0)>(0); - if ($38) { - $$382 = 0; - } else { - $$075 = 1; - STACKTOP = sp;return ($$075|0); - } - while(1) { - $39 = (($1) + ($$382)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ($40<<24>>24)==(0); - if (!($42)) { - $43 = (($3) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($0)) + 1024|0) + ($41<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) - ($47))|0; - $49 = (((($0)) + 1124|0) + ($41<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($48) + ($51))|0; - $53 = $41 << 9; - $54 = $53 | $$382; - $55 = $54&65535; - $56 = (((($0)) + 1156|0) + ($52)|0); - HEAP8[$56>>0] = $40; - $57 = $$382&65535; - $58 = (((($0)) + 1444|0) + ($52<<1)|0); - HEAP16[$58>>1] = $57; - $59 = ($40&255)<(10); - do { - if ($59) { - $60 = (_stbi__bit_reverse($44,$41)|0); - $61 = ($60|0)<(512); - if (!($61)) { - break; - } - $62 = 1 << $41; - $$081 = $60; - while(1) { - $63 = (($0) + ($$081<<1)|0); - HEAP16[$63>>1] = $55; - $64 = (($$081) + ($62))|0; - $65 = ($64|0)<(512); - if ($65) { - $$081 = $64; - } else { - break; - } - } - } - } while(0); - $66 = HEAP32[$43>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$43>>2] = $67; - } - $68 = (($$382) + 1)|0; - $exitcond = ($68|0)==($2|0); - if ($exitcond) { - $$075 = 1; - break; - } else { - $$382 = $68; - } - } - STACKTOP = sp;return ($$075|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(7181); - $$075 = 0; - STACKTOP = sp;return ($$075|0); -} -function _stbi__compute_huffman_codes($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); - $1 = sp; - $2 = sp + 2039|0; - $3 = sp + 2020|0; - $4 = (_stbi__zreceive($0,5)|0); - $5 = (($4) + 257)|0; - $6 = (_stbi__zreceive($0,5)|0); - $7 = (($6) + 1)|0; - $8 = (_stbi__zreceive($0,4)|0); - $9 = (($8) + 4)|0; - $10 = (($7) + ($5))|0; - dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $11 = ($9|0)>(0); - if ($11) { - $$06579 = 0; - while(1) { - $12 = (_stbi__zreceive($0,3)|0); - $13 = $12&255; - $14 = (7110 + ($$06579)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (($3) + ($16)|0); - HEAP8[$17>>0] = $13; - $18 = (($$06579) + 1)|0; - $exitcond = ($18|0)==($9|0); - if ($exitcond) { - break; - } else { - $$06579 = $18; - } - } - } - $19 = (_stbi__zbuild_huffman($1,$3,19)|0); - $20 = ($19|0)==(0); - if ($20) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = ($10|0)>(0); - L8: do { - if ($21) { - $$06678 = 0; - L9: while(1) { - $22 = (_stbi__zhuffman_decode($0,$1)|0); - $23 = ($22>>>0)>(18); - if ($23) { - label = 6; - break; - } - $24 = ($22|0)<(16); - if ($24) { - $25 = $22&255; - $26 = (($$06678) + 1)|0; - $27 = (($2) + ($$06678)|0); - HEAP8[$27>>0] = $25; - $$066$be = $26; - } else { - switch ($22|0) { - case 16: { - $28 = (_stbi__zreceive($0,2)|0); - $29 = ($$06678|0)==(0); - if ($29) { - label = 11; - break L9; - } - $30 = (($28) + 3)|0; - $31 = (($$06678) + -1)|0; - $32 = (($2) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $$0 = $33;$$061 = $30; - break; - } - case 17: { - $34 = (_stbi__zreceive($0,3)|0); - $35 = (($34) + 3)|0; - $$0 = 0;$$061 = $35; - break; - } - case 18: { - $36 = (_stbi__zreceive($0,7)|0); - $37 = (($36) + 11)|0; - $$0 = 0;$$061 = $37; - break; - } - default: { - label = 14; - break L9; - } - } - $38 = (($10) - ($$06678))|0; - $39 = ($38|0)<($$061|0); - if ($39) { - label = 17; - break; - } - $40 = (($2) + ($$06678)|0); - _memset(($40|0),($$0|0),($$061|0))|0; - $41 = (($$061) + ($$06678))|0; - $$066$be = $41; - } - $42 = ($10|0)>($$066$be|0); - if ($42) { - $$06678 = $$066$be; - } else { - $$066$lcssa = $$066$be; - break L8; - } - } - if ((label|0) == 6) { - _stbi__err(7129); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 11) { - _stbi__err(7129); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 14) { - ___assert_fail((7145|0),(5914|0),4006,(7153|0)); - // unreachable; - } - else if ((label|0) == 17) { - _stbi__err(7129); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } else { - $$066$lcssa = 0; - } - } while(0); - $43 = ($10|0)==($$066$lcssa|0); - if (!($43)) { - _stbi__err(7129); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $44 = ((($0)) + 32|0); - $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); - $46 = ($45|0)==(0); - if ($46) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $47 = ((($0)) + 2052|0); - $48 = (($2) + ($5)|0); - $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); - $not$ = ($49|0)!=(0); - $$ = $not$&1; - $$4 = $$; - STACKTOP = sp;return ($$4|0); -} -function _stbi__parse_huffman_block($0) { - $0 = $0|0; - var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 32|0); - $4 = ((($0)) + 24|0); - $5 = ((($0)) + 2052|0); - $6 = ((($0)) + 20|0); - $7 = ((($0)) + 24|0); - $$070 = $2; - while(1) { - $10 = (_stbi__zhuffman_decode($0,$3)|0); - $11 = ($10|0)<(256); - if ($11) { - $12 = ($10|0)<(0); - if ($12) { - label = 6; - break; - } - $13 = HEAP32[$4>>2]|0; - $14 = ($$070>>>0)<($13>>>0); - if ($14) { - $$171 = $$070; - } else { - $15 = (_stbi__zexpand($0,$$070,1)|0); - $16 = ($15|0)==(0); - if ($16) { - $$3$ph = 0; - label = 28; - break; - } - $17 = HEAP32[$1>>2]|0; - $$171 = $17; - } - $18 = $10&255; - $19 = ((($$171)) + 1|0); - HEAP8[$$171>>0] = $18; - $$070 = $19; - continue; - } - $20 = ($10|0)==(256); - if ($20) { - label = 12; - break; - } - $21 = (($10) + -257)|0; - $22 = (3152 + ($21<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($10) + -265)|0; - $25 = ($24>>>0)<(20); - if ($25) { - $26 = (3276 + ($21<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_stbi__zreceive($0,$27)|0); - $29 = (($28) + ($23))|0; - $$064 = $29; - } else { - $$064 = $23; - } - $30 = (_stbi__zhuffman_decode($0,$5)|0); - $31 = ($30|0)<(0); - if ($31) { - label = 16; - break; - } - $32 = (3400 + ($30<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($30) + -4)|0; - $35 = ($34>>>0)<(26); - if ($35) { - $36 = (3528 + ($30<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_stbi__zreceive($0,$37)|0); - $39 = (($38) + ($33))|0; - $$063 = $39; - } else { - $$063 = $33; - } - $40 = HEAP32[$6>>2]|0; - $41 = $$070; - $42 = (($41) - ($40))|0; - $43 = ($42|0)<($$063|0); - if ($43) { - label = 20; - break; - } - $44 = (($$070) + ($$064)|0); - $45 = HEAP32[$7>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($0,$$070,$$064)|0); - $48 = ($47|0)==(0); - if ($48) { - $$3$ph = 0; - label = 28; - break; - } - $49 = HEAP32[$1>>2]|0; - $$272 = $49; - } else { - $$272 = $$070; - } - $50 = (0 - ($$063))|0; - $9 = (($$272) + ($50)|0); - $51 = ($$063|0)==(1); - $52 = ($$064|0)!=(0); - if ($51) { - if (!($52)) { - $$070 = $$272; - continue; - } - $8 = HEAP8[$9>>0]|0; - _memset(($$272|0),($8|0),($$064|0))|0; - $scevgep92 = (($$272) + ($$064)|0); - $$070 = $scevgep92; - continue; - } - if ($52) { - $$067 = $9;$$266 = $$064;$$5 = $$272; - } else { - $$070 = $$272; - continue; - } - while(1) { - $53 = ((($$067)) + 1|0); - $54 = HEAP8[$$067>>0]|0; - $55 = ((($$5)) + 1|0); - HEAP8[$$5>>0] = $54; - $56 = (($$266) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $$067 = $53;$$266 = $56;$$5 = $55; - } - } - $scevgep = (($$272) + ($$064)|0); - $$070 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(6935); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 12) { - HEAP32[$1>>2] = $$070; - $$3$ph = 1; - return ($$3$ph|0); - } - else if ((label|0) == 16) { - _stbi__err(6935); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 20) { - _stbi__err(6952); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 28) { - return ($$3$ph|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(16); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 511; - $8 = (($1) + ($7<<1)|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($9<<16>>16)==(0); - if ($11) { - $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); - $$0 = $17; - return ($$0|0); - } else { - $12 = $10 >>> 9; - $13 = $6 >>> $12; - HEAP32[$5>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) - ($12))|0; - HEAP32[$2>>2] = $15; - $16 = $10 & 511; - $$0 = $16; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - HEAP32[$3>>2] = $1; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - _stbi__err(6961); - $$0 = 0; - return ($$0|0); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = $1; - $10 = $8; - $11 = (($9) - ($10))|0; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) - ($10))|0; - $15 = (($11) + ($2))|0; - $$029 = $14; - while(1) { - $16 = ($15|0)>($$029|0); - $17 = $$029 << 1; - if ($16) { - $$029 = $17; - } else { - break; - } - } - $18 = (_realloc($8,$$029)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(5879); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$7>>2] = $18; - $20 = (($18) + ($11)|0); - HEAP32[$3>>2] = $20; - $21 = (($18) + ($$029)|0); - HEAP32[$12>>2] = $21; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 12|0); - $2 = ((($0)) + 8|0); - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = 1 << $4; - $6 = ($3>>>0)<($5>>>0); - if (!($6)) { - label = 3; - break; - } - $7 = (_stbi__zget8($0)|0); - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = $8 << $9; - $11 = HEAP32[$1>>2]|0; - $12 = $11 | $10; - HEAP32[$1>>2] = $12; - $13 = (($9) + 8)|0; - HEAP32[$2>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((7057|0),(5914|0),3848,(7094|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_stbi__bit_reverse($3,16)|0); - $$025 = 10; - while(1) { - $5 = (((($1)) + 1056|0) + ($$025<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - $8 = (($$025) + 1)|0; - if ($7) { - break; - } else { - $$025 = $8; - } - } - $9 = ($$025|0)==(16); - if ($9) { - $$0 = -1; - return ($$0|0); - } - $10 = (16 - ($$025))|0; - $11 = $4 >> $10; - $12 = (((($1)) + 1024|0) + ($$025<<1)|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = (($11) - ($14))|0; - $16 = (((($1)) + 1124|0) + ($$025<<1)|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($15) + ($18))|0; - $20 = (((($1)) + 1156|0) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==($$025|0); - if (!($23)) { - ___assert_fail((6981|0),(5914|0),3876,(6997|0)); - // unreachable; - } - $24 = HEAP32[$2>>2]|0; - $25 = $24 >>> $$025; - HEAP32[$2>>2] = $25; - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) - ($$025))|0; - HEAP32[$26>>2] = $28; - $29 = (((($1)) + 1444|0) + ($19<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $$0 = $31; - return ($$0|0); -} -function _stbi__bit_reverse($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(17); - if ($2) { - $3 = (_stbi__bitreverse16($0)|0); - $4 = (16 - ($1))|0; - $5 = $3 >> $4; - return ($5|0); - } else { - ___assert_fail((7028|0),(5914|0),3766,(7039|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = $0 >>> 1; - $2 = $1 & 21845; - $3 = $0 << 1; - $4 = $3 & 43690; - $5 = $2 | $4; - $6 = $5 >>> 2; - $7 = $6 & 13107; - $8 = $5 << 2; - $9 = $8 & 52428; - $10 = $7 | $9; - $11 = $10 >>> 4; - $12 = $11 & 3855; - $13 = $10 << 4; - $14 = $13 & 61680; - $15 = $12 | $14; - $16 = $15 >>> 8; - $17 = $15 << 8; - $18 = $17 & 65280; - $19 = $18 | $16; - return ($19|0); -} -function _stbi__zget8($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); -} -function _stbi__refill_buffer($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 40|0); - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($0)) + 32|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 168|0); - HEAP32[$11>>2] = $5; - $12 = ((($0)) + 41|0); - $13 = ((($0)) + 172|0); - HEAP32[$13>>2] = $12; - HEAP8[$5>>0] = 0; - return; - } else { - $14 = ((($0)) + 168|0); - HEAP32[$14>>2] = $5; - $15 = (((($0)) + 40|0) + ($8)|0); - $16 = ((($0)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 176|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 168|0); - HEAP32[$3>>2] = $2; - $4 = ((($0)) + 180|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 172|0); - HEAP32[$6>>2] = $5; - return; -} -function _stbi__hdr_gettoken($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$014 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $$014 = 0; - while(1) { - $2 = (_stbi__get8($0)|0); - $3 = (_stbi__at_eof($0)|0); - $4 = ($3|0)!=(0); - $5 = ($2<<24>>24)==(10); - $or$cond = $5 | $4; - if ($or$cond) { - $$1 = $$014; - break; - } - $6 = (($$014) + 1)|0; - $7 = (($1) + ($$014)|0); - HEAP8[$7>>0] = $2; - $8 = ($6|0)==(1023); - if ($8) { - label = 4; - break; - } else { - $$014 = $6; - } - } - L4: do { - if ((label|0) == 4) { - while(1) { - label = 0; - $9 = (_stbi__at_eof($0)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $$1 = $6; - break L4; - } - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $$1 = $6; - break; - } else { - label = 4; - } - } - } - } while(0); - $13 = (($1) + ($$1)|0); - HEAP8[$13>>0] = 0; - return ($1|0); -} -function _stbi__hdr_convert($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0.0, $$sink1 = 0, $$sink30 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 3|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - switch ($2|0) { - case 4: { - $38 = ((($0)) + 12|0); - HEAPF32[$38>>2] = 1.0; - label = 10; - break; - } - case 3: { - label = 10; - break; - } - case 2: { - $$sink30 = 1.0; - label = 11; - break; - } - case 1: { - break; - } - default: { - return; - } - } - if ((label|0) == 10) { - $39 = ((($0)) + 8|0); - HEAPF32[$39>>2] = 0.0; - $$sink30 = 0.0; - label = 11; - } - if ((label|0) == 11) { - $40 = ((($0)) + 4|0); - HEAPF32[$40>>2] = $$sink30; - } - HEAPF32[$0>>2] = 0.0; - return; - } - $6 = $4&255; - $7 = (($6) + -136)|0; - $8 = (+_ldexp(1.0,$7)); - $9 = $8; - $10 = ($2|0)<(3); - $11 = HEAP8[$1>>0]|0; - if ($10) { - $12 = $11&255; - $13 = ((($1)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (($15) + ($12))|0; - $17 = ((($1)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = (($16) + ($19))|0; - $21 = (+($20|0)); - $22 = $9 * $21; - $23 = $22 / 3.0; - $$sink = $23;$$sink1 = $0; - } else { - $24 = (+($11&255)); - $25 = $9 * $24; - HEAPF32[$0>>2] = $25; - $26 = ((($1)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $9 * $28; - $30 = ((($0)) + 4|0); - HEAPF32[$30>>2] = $29; - $31 = ((($1)) + 2|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $9 * $33; - $35 = ((($0)) + 8|0); - $$sink = $34;$$sink1 = $35; - } - HEAPF32[$$sink1>>2] = $$sink; - switch ($2|0) { - case 2: { - $36 = ((($0)) + 4|0); - HEAPF32[$36>>2] = 1.0; - return; - break; - } - case 4: { - $37 = ((($0)) + 12|0); - HEAPF32[$37>>2] = 1.0; - return; - break; - } - default: { - return; - } - } -} -function _stbi__at_eof($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_ii[$5 & 15]($7)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); - } - $10 = ((($0)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $$0 = 1; - return ($$0|0); - } - } - $13 = ((($0)) + 168|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 172|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($14>>>0)>=($16>>>0); - $18 = $17&1; - $$0 = $18; - return ($$0|0); -} -function _stbi__hdr_test_core($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$07 = 0, $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - L1: do { - if (!($3)) { - $$08 = 0;$11 = $1; - while(1) { - $8 = (_stbi__get8($0)|0); - $9 = $8&255; - $10 = HEAP8[$11>>0]|0; - $12 = $10 << 24 >> 24; - $13 = ($9|0)==($12|0); - $5 = (($$08) + 1)|0; - if (!($13)) { - $$07 = 0; - break; - } - $4 = (($1) + ($5)|0); - $6 = HEAP8[$4>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - break L1; - } else { - $$08 = $5;$11 = $4; - } - } - return ($$07|0); - } - } while(0); - _stbi__rewind($0); - $$07 = 1; - return ($$07|0); -} -function _stbi__start_callbacks($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; - $4 = ((($0)) + 28|0); - HEAP32[$4>>2] = $2; - $5 = ((($0)) + 36|0); - HEAP32[$5>>2] = 128; - $6 = ((($0)) + 32|0); - HEAP32[$6>>2] = 1; - $7 = ((($0)) + 40|0); - $8 = ((($0)) + 176|0); - HEAP32[$8>>2] = $7; - _stbi__refill_buffer($0); - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 180|0); - HEAP32[$11>>2] = $10; - return; -} -function _stbi__stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fread($1,1,$2,$0)|0); - return ($3|0); -} -function _stbi__stdio_skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($0,$1,1)|0); - return; -} -function _stbi__stdio_eof($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_feof($0)|0); - return ($1|0); -} -function _ImageCopy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx11 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx13 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx15 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = Math_imul($5, $3)|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 18: case 15: case 12: case 11: case 1: { - $$0 = $6; - break; - } - case 6: case 5: case 3: case 2: { - $9 = $6 << 1; - $$0 = $9; - break; - } - case 4: { - $10 = ($6*3)|0; - $$0 = $10; - break; - } - case 7: { - $11 = $6 << 2; - $$0 = $11; - break; - } - case 8: { - $12 = ($6*12)|0; - $$0 = $12; - break; - } - case 17: case 16: case 14: case 13: case 10: case 9: { - $13 = (($6|0) / 2)&-1; - $$0 = $13; - break; - } - case 19: { - $14 = (($6|0) / 4)&-1; - $$0 = $14; - break; - } - default: { - _TraceLog(1,7488,$vararg_buffer); - $$0 = $6; - } - } - $15 = (_malloc($$0)|0); - $16 = ($15|0)==(0|0); - if ($16) { - $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; - } else { - $17 = HEAP32[$1>>2]|0; - _memcpy(($15|0),($17|0),($$0|0))|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = ((($1)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$7>>2]|0; - $$sroa$6$0 = $18;$$sroa$7$0 = $19;$$sroa$8$0 = $21;$$sroa$9$0 = $22; - } - HEAP32[$0>>2] = $15; - $$sroa$6$0$$sroa_idx11 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx11>>2] = $$sroa$6$0; - $$sroa$7$0$$sroa_idx13 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx13>>2] = $$sroa$7$0; - $$sroa$8$0$$sroa_idx15 = ((($0)) + 12|0); - HEAP32[$$sroa$8$0$$sroa_idx15>>2] = $$sroa$8$0; - $$sroa$9$0$$sroa_idx17 = ((($0)) + 16|0); - HEAP32[$$sroa$9$0$$sroa_idx17>>2] = $$sroa$9$0; - STACKTOP = sp;return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($23<<24>>24) { - case 10: { - $25 = HEAP32[$9>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = (($26) + ($25))|0; - $28 = (+($27|0)); - $29 = $12 * $28; - $30 = (~~(($29))); - $31 = (($30) + ($$05153))|0; - $$150 = 0;$$152 = $31;$$2 = $$055; - break; - } - case -62: { - $32 = (($$055) + 1)|0; - $33 = (($1) + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $$1 = $32;$$sink = $35; - label = 8; - break; - } - case -61: { - $36 = (($$055) + 1)|0; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($39) + 64)|0; - $$1 = $36;$$sink = $40; - label = 8; - break; - } - default: { - $$1 = $$055;$$sink = $24; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4507]|0; - $2 = HEAP32[4505]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - $10 = (($2) + 1)|0; - if ($9) { - HEAP32[4505] = $10; - $12 = $10; - } else { - $$pr = HEAP32[4505]|0; - $12 = $$pr; - } - $11 = ($12|0)>(255); - if ($11) { - _rlglDraw(); - HEAP32[4505] = 1; - } - $13 = HEAP32[4507]|0; - $14 = HEAP32[4505]|0; - $15 = (($14) + -1)|0; - $16 = (((($13) + (($15*144)|0)|0)) + 8|0); - HEAP32[$16>>2] = $0; - $17 = (($13) + (($15*144)|0)|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[4693]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(2,7595,$vararg_buffer); - } - $2 = HEAP32[4693]|0; - $3 = (18776 + ($2<<6)|0); - $4 = HEAP32[4950]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[4693]|0; - $6 = (($5) + 1)|0; - HEAP32[4693] = $6; - $7 = HEAP32[4955]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[4951] = 1; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - $5 = HEAP32[4950]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _Vector3Normalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[4950]|0; - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4954] = $0; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[4954]|0; - switch ($4|0) { - case 1: { - $$sink37 = (18040);$$sink38 = (18052); - break; - } - case 4: { - $$sink37 = (18088);$$sink38 = (18100); - break; - } - case 7: { - $$sink37 = (17848);$$sink38 = (17860); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[4954]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(17856)>>2]|0; - $5 = HEAP32[(17844)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(17844)>>2] = $10; - return; -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[917]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[4951]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4952]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[4953]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4950]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Vector3Transform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[4952]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[4951] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[4953]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[4952]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[4951] = 0; - } - HEAP32[4952] = 0; - } - $21 = HEAP32[4954]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[4508]|0; - $23 = HEAP32[(18040)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(18052)>>2]|0; - $28 = HEAP32[(18040)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(18052)>>2]|0; - $35 = HEAP32[(18040)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(18052)>>2]|0; - $43 = HEAP32[(18040)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(18052)>>2]|0; - $51 = HEAP32[(18040)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(18040)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(18040)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[4520]|0; - $62 = HEAP32[(18088)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(18100)>>2]|0; - $67 = HEAP32[(18088)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(18100)>>2]|0; - $74 = HEAP32[(18088)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(18100)>>2]|0; - $82 = HEAP32[(18088)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(18100)>>2]|0; - $90 = HEAP32[(18088)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(18088)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(18088)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[4460]|0; - $101 = HEAP32[(17848)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(17860)>>2]|0; - $106 = HEAP32[(17848)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(17860)>>2]|0; - $113 = HEAP32[(17848)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(17860)>>2]|0; - $121 = HEAP32[(17848)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(17860)>>2]|0; - $129 = HEAP32[(17848)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(17848)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(17848)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[4460]|0; - $140 = HEAP32[(17844)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(17856)>>2]|0; - $$promoted = HEAP32[(17844)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(17844)>>2] = $147; - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - } -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4693]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[4693]|0; - $3 = (($2) + -1)|0; - $4 = (18776 + ($3<<6)|0); - $5 = HEAP32[4950]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[4693] = $6; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4460]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateBuffersDefault(); - _DrawBuffersDefault(); - return; -} -function _UpdateBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4508]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[4565]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[4566]|0; - $5 = HEAP32[(18060)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(18064)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4508]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(18044)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18068)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18040)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(18052)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[4520]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[4565]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[4566]|0; - $19 = HEAP32[(18108)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(18112)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4520]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(18092)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18116)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18088)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(18100)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[4460]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[4565]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[4566]|0; - $33 = HEAP32[(17868)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(17872)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4460]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(17852)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(17876)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4460]|0; - $40 = $39 << 3; - $41 = HEAP32[(17856)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(17880)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4460]|0; - $44 = $43 << 2; - $45 = HEAP32[(17860)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[4565]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[4566]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawBuffersDefault() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=17888; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=17952; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4504]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[4508]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[4520]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[4460]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[4532]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17952; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=17888; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18156)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18176)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18188)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[4508]|0; - $20 = ($19|0)>(0); - if ($20) { - _glActiveTexture(33984); - $21 = HEAP32[4506]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[4565]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(18064)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18132)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18132)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18068)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18152)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18152)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[4566]|0; - $25 = HEAP32[(18060)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[4508]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4565]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[4520]|0; - $36 = ($35|0)>(0); - if ($36) { - _glActiveTexture(33984); - $37 = HEAP32[4506]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[4565]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(18112)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18132)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18132)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18116)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18152)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18152)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[4566]|0; - $41 = HEAP32[(18108)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[4520]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4565]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[4460]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[4565]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(17872)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18132)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18132)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(17876)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18136)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18136)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(17880)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18152)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18152)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(17884)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[4566]|0; - $56 = HEAP32[(17868)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[4505]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[4507]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - _glActiveTexture(33984); - $76 = HEAP32[4507]|0; - $77 = (((($76) + (($$031*144)|0)|0)) + 8|0); - $78 = HEAP32[$77>>2]|0; - _glBindTexture(3553,($78|0)); - $79 = $$02830 << 1; - $80 = $79; - _glDrawElements(4,($75|0),5123,($80|0)); - $81 = HEAP32[4507]|0; - $82 = (($81) + (($$031*144)|0)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83|0) / 4)&-1; - $85 = ($84*6)|0; - $86 = (($85) + ($$02830))|0; - $87 = (($$031) + 1)|0; - $88 = HEAP32[4505]|0; - $89 = ($87|0)<($88|0); - if ($89) { - $$02830 = $86;$$031 = $87; - } else { - break; - } - } - } - $69 = HEAP32[4565]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $90 = HEAP32[4565]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = HEAP32[4566]|0; - FUNCTION_TABLE_vi[$92 & 31](0); - } - _glUseProgram(0); - $93 = (($$02932) + 1)|0; - $94 = ($93|0)<($$|0); - if ($94) { - $$02932 = $93; - } else { - break; - } - } - HEAP32[4505] = 1; - $5 = HEAP32[4506]|0; - $6 = HEAP32[4507]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[4508] = 0; - HEAP32[(18040)>>2] = 0; - HEAP32[4520] = 0; - HEAP32[(18088)>>2] = 0; - HEAP32[4460] = 0; - HEAP32[(17844)>>2] = 0; - HEAP32[(17848)>>2] = 0; - HEAPF32[917] = -1.0; - dest=17888; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17952; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4583]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4584]|0; - _rlViewport($7,0,$8,$9); - $10 = (18644 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18516 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 * $4; - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($1)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($2)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($1)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($2)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($2)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($2)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($2)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($2)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($2)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($2)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($2)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($2)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($2)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($2)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($2)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($2)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($1)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($1)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($1)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($1)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($1)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($1)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($1)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($1)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($1)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($1)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($1)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($1)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixToFloat($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[4567] = $1; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(18272)>>2] = $3; - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(18276)>>2] = $5; - $6 = ((($0)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(18280)>>2] = $7; - $8 = ((($0)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(18284)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(18288)>>2] = $11; - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(18292)>>2] = $13; - $14 = ((($0)) + 52|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(18296)>>2] = $15; - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(18300)>>2] = $17; - $18 = ((($0)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(18304)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(18308)>>2] = $21; - $22 = ((($0)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(18312)>>2] = $23; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(18316)>>2] = $25; - $26 = ((($0)) + 28|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(18320)>>2] = $27; - $28 = ((($0)) + 44|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(18324)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(18328)>>2] = $31; - return (18268|0); -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=17952; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=17888; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Vector3Transform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = HEAP32[4951]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[4953]|0; - $6 = HEAP32[4952]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[4952] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[4954]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[4508]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(18044)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[4508] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(2,7516,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[4520]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(18092)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[4520] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(2,7541,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[4460]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(17852)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[4460] = $41; - $42 = HEAP32[4507]|0; - $43 = HEAP32[4505]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(2,7570,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _Vector3Normalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_Vector3Length($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _Vector3Length($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = 0.0; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = 0.0; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = 0.0; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $2; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = 0.0; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = 0.0; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = 0.0; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = 0.0; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = 0.0; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[4950]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _FormatText($0,$varargs) { - $0 = $0|0; - $varargs = $varargs|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $varargs; - (_vsprintf(20884,$0,$1)|0); - STACKTOP = sp;return (20884|0); -} -function _DrawFPS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - $2 = sp + 4|0; - $3 = HEAP32[4956]|0; - $4 = HEAP32[918]|0; - $5 = ($3|0)<($4|0); - if ($5) { - $6 = (($3) + 1)|0; - $$sink = $6; - } else { - $7 = (_GetFPS()|0); - HEAP32[4957] = $7; - HEAP32[918] = $7; - $$sink = 0; - } - HEAP32[4956] = $$sink; - $8 = HEAP32[4957]|0; - HEAP32[$$byval_copy>>2] = $8; - (_FormatText(7633,$$byval_copy)|0); - HEAP8[$2>>0] = 0; - $9 = ((($2)) + 1|0); - HEAP8[$9>>0] = -98; - $10 = ((($2)) + 2|0); - HEAP8[$10>>0] = 47; - $11 = ((($2)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(20884,$0,$1,20,$$byval_copy); - STACKTOP = sp;return; -} -function _GetFPS() { - var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_GetFrameTime()); - $1 = 1.0 / $0; - $2 = (~~(($1))); - return ($2|0); -} -function _GetFrameTime() { - var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF64[2198]; - $1 = $0; - return (+$1); -} -function _LoadTexture($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $2 = sp + 24|0; - $3 = sp + 4|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - _LoadImage($3,$1); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - _TraceLog(1,7641,$vararg_buffer); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _LoadTextureFromImage($2,$$byval_copy1); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _UnloadImage($$byval_copy1); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _DrawGrid($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0|0) / 2)&-1; - _rlBegin(1); - $3 = (0 - ($2))|0; - $4 = ($2|0)<($3|0); - if ($4) { - _rlEnd(); - return; - } - $5 = (+($3|0)); - $6 = $5 * $1; - $7 = (+($2|0)); - $8 = $7 * $1; - $$024 = $3; - while(1) { - $9 = ($$024|0)==(0); - if ($9) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $10 = (+($$024|0)); - $11 = $10 * $1; - _rlVertex3f($11,0.0,$6); - _rlVertex3f($11,0.0,$8); - _rlVertex3f($6,0.0,$11); - _rlVertex3f($8,0.0,$11); - $12 = (($$024) + 1)|0; - $13 = ($$024|0)<($2|0); - if ($13) { - $$024 = $12; - } else { - break; - } - } - _rlEnd(); - return; -} -function _rlColor3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $0 * 255.0; - $4 = (~~(($3))&255); - $5 = $1 * 255.0; - $6 = (~~(($5))&255); - $7 = $2 * 255.0; - $8 = (~~(($7))&255); - _rlColor4ub($4,$6,$8,-1); - return; -} -function _Vector3Subtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - HEAPF32[$12>>2] = $17; - return; -} -function _Vector3CrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _Vector3Scale($0,$1) { - $0 = $0|0; - $1 = +$1; - var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = $2 * $1; - HEAPF32[$0>>2] = $3; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $5 * $1; - HEAPF32[$4>>2] = $6; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $1; - HEAPF32[$7>>2] = $9; - return; -} -function _DrawBillboard($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy4 = sp + 108|0; - $$byval_copy3 = sp + 96|0; - $$byval_copy2 = sp + 80|0; - $$byval_copy1 = sp + 56|0; - $$byval_copy = sp + 16|0; - $5 = sp; - HEAP32[$5>>2] = 0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = 0; - $7 = ((($5)) + 8|0); - $8 = ((($1)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($5)) + 12|0); - $11 = ((($1)) + 8|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - dest=$$byval_copy; src=$0; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$5+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$4+3>>0]|0; - _DrawBillboardRec($$byval_copy,$$byval_copy1,$$byval_copy2,$$byval_copy3,$3,$$byval_copy4); - STACKTOP = sp;return; -} -function _DrawBillboardRec($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $$byval_copy = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0.0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0; - var $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0; - var $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $$byval_copy14 = sp + 176|0; - $$byval_copy13 = sp + 164|0; - $$byval_copy = sp + 152|0; - $6 = sp + 88|0; - $7 = sp + 72|0; - $8 = sp + 60|0; - $9 = sp + 48|0; - $10 = sp + 36|0; - $11 = sp + 24|0; - $12 = sp + 12|0; - $13 = sp; - $14 = ((($2)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = (+($15|0)); - $17 = $16 * $4; - $18 = ((($2)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = $17 / $20; - $22 = ((($0)) + 12|0); - $23 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy13>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$22+8>>2]|0; - ;HEAP32[$$byval_copy14>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$23+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$23+8>>2]|0; - _MatrixLookAt($6,$$byval_copy,$$byval_copy13,$$byval_copy14); - $24 = HEAP32[$6>>2]|0; - HEAP32[$$byval_copy>>2] = $24; - $25 = ((($$byval_copy)) + 4|0); - $26 = ((($6)) + 4|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($$byval_copy)) + 8|0); - $29 = ((($6)) + 8|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - ;HEAP32[$7>>2]=HEAP32[3676>>2]|0;HEAP32[$7+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[3676+8>>2]|0; - $31 = $4 * 0.5; - _Vector3Scale($$byval_copy,$31); - $32 = $21 * 0.5; - _Vector3Scale($7,$32); - ;HEAP32[$$byval_copy13>>2]=HEAP32[$$byval_copy>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$$byval_copy+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$$byval_copy+8>>2]|0; - ;HEAP32[$$byval_copy14>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$7+8>>2]|0; - _Vector3Add($8,$$byval_copy13,$$byval_copy14); - ;HEAP32[$$byval_copy13>>2]=HEAP32[$$byval_copy>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$$byval_copy+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$$byval_copy+8>>2]|0; - ;HEAP32[$$byval_copy14>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$7+8>>2]|0; - _Vector3Subtract($9,$$byval_copy13,$$byval_copy14); - ;HEAP32[$$byval_copy13>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy14>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$9+8>>2]|0; - _Vector3Subtract($10,$$byval_copy13,$$byval_copy14); - ;HEAP32[$$byval_copy13>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy14>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$8+8>>2]|0; - _Vector3Add($11,$$byval_copy13,$$byval_copy14); - ;HEAP32[$$byval_copy13>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy14>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$9+8>>2]|0; - _Vector3Add($12,$$byval_copy13,$$byval_copy14); - ;HEAP32[$$byval_copy13>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy14>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$8+8>>2]|0; - _Vector3Subtract($13,$$byval_copy13,$$byval_copy14); - $33 = HEAP32[$1>>2]|0; - _rlEnableTexture($33); - _rlBegin(7); - $34 = HEAP8[$5>>0]|0; - $35 = ((($5)) + 1|0); - $36 = HEAP8[$35>>0]|0; - $37 = ((($5)) + 2|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($5)) + 3|0); - $40 = HEAP8[$39>>0]|0; - _rlColor4ub($34,$36,$38,$40); - $41 = HEAP32[$2>>2]|0; - $42 = (+($41|0)); - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = $42 / $45; - $47 = ((($2)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = (+($48|0)); - $50 = ((($1)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = (+($51|0)); - $53 = $49 / $52; - _rlTexCoord2f($46,$53); - $54 = +HEAPF32[$10>>2]; - $55 = ((($10)) + 4|0); - $56 = +HEAPF32[$55>>2]; - $57 = ((($10)) + 8|0); - $58 = +HEAPF32[$57>>2]; - _rlVertex3f($54,$56,$58); - $59 = HEAP32[$2>>2]|0; - $60 = (+($59|0)); - $61 = HEAP32[$43>>2]|0; - $62 = (+($61|0)); - $63 = $60 / $62; - $64 = HEAP32[$47>>2]|0; - $65 = HEAP32[$14>>2]|0; - $66 = (($65) + ($64))|0; - $67 = (+($66|0)); - $68 = HEAP32[$50>>2]|0; - $69 = (+($68|0)); - $70 = $67 / $69; - _rlTexCoord2f($63,$70); - $71 = +HEAPF32[$13>>2]; - $72 = ((($13)) + 4|0); - $73 = +HEAPF32[$72>>2]; - $74 = ((($13)) + 8|0); - $75 = +HEAPF32[$74>>2]; - _rlVertex3f($71,$73,$75); - $76 = HEAP32[$2>>2]|0; - $77 = HEAP32[$18>>2]|0; - $78 = (($77) + ($76))|0; - $79 = (+($78|0)); - $80 = HEAP32[$43>>2]|0; - $81 = (+($80|0)); - $82 = $79 / $81; - $83 = HEAP32[$47>>2]|0; - $84 = HEAP32[$14>>2]|0; - $85 = (($84) + ($83))|0; - $86 = (+($85|0)); - $87 = HEAP32[$50>>2]|0; - $88 = (+($87|0)); - $89 = $86 / $88; - _rlTexCoord2f($82,$89); - $90 = +HEAPF32[$12>>2]; - $91 = ((($12)) + 4|0); - $92 = +HEAPF32[$91>>2]; - $93 = ((($12)) + 8|0); - $94 = +HEAPF32[$93>>2]; - _rlVertex3f($90,$92,$94); - $95 = HEAP32[$2>>2]|0; - $96 = HEAP32[$18>>2]|0; - $97 = (($96) + ($95))|0; - $98 = (+($97|0)); - $99 = HEAP32[$43>>2]|0; - $100 = (+($99|0)); - $101 = $98 / $100; - $102 = HEAP32[$47>>2]|0; - $103 = (+($102|0)); - $104 = HEAP32[$50>>2]|0; - $105 = (+($104|0)); - $106 = $103 / $105; - _rlTexCoord2f($101,$106); - $107 = +HEAPF32[$11>>2]; - $108 = ((($11)) + 4|0); - $109 = +HEAPF32[$108>>2]; - $110 = ((($11)) + 8|0); - $111 = +HEAPF32[$110>>2]; - _rlVertex3f($107,$109,$111); - _rlEnd(); - _rlDisableTexture(); - STACKTOP = sp;return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 116|0; - $$byval_copy4 = sp + 104|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($6,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($6); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($7,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($7); - $8 = HEAP32[$6>>2]|0; - HEAP32[$4>>2] = $8; - $9 = ((($6)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($4)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($4)) + 32|0); - HEAP32[$14>>2] = $13; - $15 = ((($4)) + 48|0); - HEAPF32[$15>>2] = 0.0; - $16 = HEAP32[$7>>2]|0; - $17 = ((($4)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = ((($7)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($4)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ((($7)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($4)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = ((($4)) + 52|0); - HEAPF32[$24>>2] = 0.0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($4)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = ((($5)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($4)) + 24|0); - HEAP32[$29>>2] = $28; - $30 = ((($5)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = $31; - $33 = ((($4)) + 56|0); - HEAPF32[$33>>2] = 0.0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($4)) + 12|0); - HEAP32[$35>>2] = $34; - $36 = ((($1)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($4)) + 28|0); - HEAP32[$38>>2] = $37; - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($4)) + 44|0); - HEAP32[$41>>2] = $40; - $42 = ((($4)) + 60|0); - HEAPF32[$42>>2] = 1.0; - _MatrixInvert($4); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _Vector3Add($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 + $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 + $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 + $16; - HEAPF32[$12>>2] = $17; - return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = $4 * $4; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = $10 * $10; - $12 = $5 + $11; - $13 = (+Math_sqrt((+$12))); - return (+$13); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _Vector3Zero($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 0.0; - $1 = ((($0)) + 4|0); - HEAPF32[$1>>2] = 0.0; - $2 = ((($0)) + 8|0); - HEAPF32[$2>>2] = 0.0; - return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[4994] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 17592; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 17632; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4408]; - $111 = +HEAPF32[4398]; - $112 = $110 - $111; - HEAPF32[4410] = $112; - $113 = +HEAPF32[(17636)>>2]; - $114 = +HEAPF32[(17596)>>2]; - $115 = $113 - $114; - HEAPF32[(17644)>>2] = $115; - HEAP32[4993] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17648+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4999] = $116; - $117 = 17624; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 17592; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 17648; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 17632; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 17624; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 17648; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4412]; - $160 = +HEAPF32[4406]; - $161 = $159 - $160; - HEAPF32[4410] = $161; - $162 = +HEAPF32[(17652)>>2]; - $163 = +HEAPF32[(17628)>>2]; - $164 = $162 - $163; - HEAPF32[(17644)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17624+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17632+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17648+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17648+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4999]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[4993] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17648+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[5000] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[4999] = 0.0; - HEAPF32[5000] = 0.0; - HEAPF32[4410] = 0.0; - HEAPF32[(17644)>>2] = 0.0; - HEAP32[4994] = 0; - HEAP32[4993] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[4995]|0; - $7 = (($6) + 1)|0; - HEAP32[4995] = $7; - $8 = HEAP32[4993]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[4993] = 2; - HEAP32[4995] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[4995] = 1; - HEAP32[4993] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 17592; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 17600; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 17608; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[922] = $34; - HEAPF32[4404] = 0.0; - HEAPF32[(17620)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[4993]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 17608; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17608>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17608+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[4996] = $49; - HEAP32[4997] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[922]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17608>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17608+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[4998] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[4996] = 0.0; - HEAPF32[4998] = 0.0; - $$sink10 = 0; - } - HEAP32[4993] = $$sink10; - HEAPF32[4400] = 0.0; - HEAPF32[(17604)>>2] = 0.0; - HEAP32[4994] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[4997]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[4997] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 17624; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[4993]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17624+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[4993] = 8; - } - } - $82 = +HEAPF32[4406]; - $83 = +HEAPF32[4400]; - $84 = $82 - $83; - HEAPF32[4404] = $84; - $85 = +HEAPF32[(17628)>>2]; - $86 = +HEAPF32[(17604)>>2]; - $87 = $85 - $86; - HEAPF32[(17620)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4993]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[4994]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[4993] = 4; - } - $4 = HEAP32[4993]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[4993] = 0; - return; -} -function _SetCameraMode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$off = 0, $$sroa$024$0$$sroa_idx = 0, $$sroa$024$0$copyload = 0.0, $$sroa$031$0$copyload = 0.0, $$sroa$4$0$$sroa_idx26 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$433$0$$sroa_idx34 = 0, $$sroa$433$0$copyload = 0.0, $$sroa$528$0$$sroa_idx29 = 0, $$sroa$528$0$copyload = 0.0, $$sroa$536$0$$sroa_idx37 = 0, $$sroa$536$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0; - var $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $$sroa$031$0$copyload = +HEAPF32[$0>>2]; - $$sroa$433$0$$sroa_idx34 = ((($0)) + 4|0); - $$sroa$433$0$copyload = +HEAPF32[$$sroa$433$0$$sroa_idx34>>2]; - $$sroa$536$0$$sroa_idx37 = ((($0)) + 8|0); - $$sroa$536$0$copyload = +HEAPF32[$$sroa$536$0$$sroa_idx37>>2]; - $$sroa$024$0$$sroa_idx = ((($0)) + 12|0); - $$sroa$024$0$copyload = +HEAPF32[$$sroa$024$0$$sroa_idx>>2]; - $$sroa$4$0$$sroa_idx26 = ((($0)) + 16|0); - $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx26>>2]; - $$sroa$528$0$$sroa_idx29 = ((($0)) + 20|0); - $$sroa$528$0$copyload = +HEAPF32[$$sroa$528$0$$sroa_idx29>>2]; - $2 = $$sroa$024$0$copyload - $$sroa$031$0$copyload; - $3 = $$sroa$4$0$copyload - $$sroa$433$0$copyload; - $4 = $$sroa$528$0$copyload - $$sroa$536$0$copyload; - $5 = $2 * $2; - $6 = $3 * $3; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $10 = (+Math_sqrt((+$9))); - HEAPF32[5001] = $10; - $11 = $5 + $8; - $12 = (+Math_sqrt((+$11))); - $13 = (+Math_sqrt((+$7))); - $14 = (+Math_abs((+$2))); - $15 = $14 / $12; - $16 = (+Math_asin((+$15))); - HEAPF32[5002] = $16; - $17 = (+Math_abs((+$3))); - $18 = $17 / $13; - $19 = (+Math_asin((+$18))); - $20 = -$19; - HEAPF32[5003] = $20; - $21 = HEAP32[$$sroa$433$0$$sroa_idx34>>2]|0; - HEAP32[923] = $21; - $$off = (($1) + -3)|0; - $22 = ($$off>>>0)<(2); - if ($22) { - _DisableCursor(); - HEAP32[5004] = $1; - return; - } else { - _EnableCursor(); - HEAP32[5004] = $1; - return; - } -} -function _DisableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5005] = 1; - HEAP32[5006] = 1; - return; -} -function _EnableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5005] = 1; - HEAP32[5006] = 0; - return; -} -function _UpdateCamera($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$not = 0, $$not170 = 0, $$pr = 0, $$pr172 = 0, $$sink = 0.0, $$sink15 = 0, $$sink20 = 0.0, $$sink20$p = 0.0, $$sink24 = 0.0, $$sink26 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0; - var $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0; - var $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0; - var $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0; - var $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0; - var $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0; - var $197 = 0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0.0; - var $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0.0; - var $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0; - var $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0; - var $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0, $285 = 0.0, $286 = 0.0; - var $287 = 0.0, $288 = 0, $289 = 0.0, $29 = 0.0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0.0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0.0; - var $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0; - var $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0, $329 = 0.0, $33 = 0.0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0.0, $34 = 0.0; - var $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0.0, $352 = 0, $353 = 0.0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0.0; - var $359 = 0.0, $36 = 0, $360 = 0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; - var $377 = 0, $378 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0; - var $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; - var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0; - var $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0, $99 = 0.0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond169 = 0, $or$cond171 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0; - var $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $1 = sp; - $2 = sp + 8|0; - _GetMousePosition($1); - $3 = (_GetMouseWheelMove()|0); - $4 = HEAP32[924]|0; - $5 = (_IsMouseButtonDown($4)|0); - $6 = HEAP32[925]|0; - $7 = (_IsKeyDown($6)|0); - $8 = HEAP32[926]|0; - $9 = (_IsKeyDown($8)|0); - $10 = HEAP32[927]|0; - $11 = (_IsKeyDown($10)|0); - HEAP32[$2>>2] = $11; - $12 = ((($2)) + 4|0); - $13 = HEAP32[928]|0; - $14 = (_IsKeyDown($13)|0); - HEAP32[$12>>2] = $14; - $15 = ((($2)) + 8|0); - $16 = HEAP32[929]|0; - $17 = (_IsKeyDown($16)|0); - HEAP32[$15>>2] = $17; - $18 = ((($2)) + 12|0); - $19 = HEAP32[930]|0; - $20 = (_IsKeyDown($19)|0); - HEAP32[$18>>2] = $20; - $21 = ((($2)) + 16|0); - $22 = HEAP32[931]|0; - $23 = (_IsKeyDown($22)|0); - HEAP32[$21>>2] = $23; - $24 = ((($2)) + 20|0); - $25 = HEAP32[932]|0; - $26 = (_IsKeyDown($25)|0); - HEAP32[$24>>2] = $26; - $27 = HEAP32[5004]|0; - $28 = ($27|0)==(0); - L1: do { - if ($28) { - label = 47; - } else { - $29 = +HEAPF32[$1>>2]; - $30 = +HEAPF32[4414]; - $31 = $29 - $30; - $32 = ((($1)) + 4|0); - $33 = +HEAPF32[$32>>2]; - $34 = +HEAPF32[(17660)>>2]; - $35 = $33 - $34; - $36 = $1; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = 17656; - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $$pr = HEAP32[5004]|0; - switch ($$pr|0) { - case 1: { - $46 = +HEAPF32[5001]; - $47 = $46 < 120.0; - $48 = ($3|0)<(0); - $or$cond = $48 & $47; - do { - if ($or$cond) { - $49 = (+($3|0)); - $50 = $49 * 1.5; - $51 = $46 - $50; - HEAPF32[5001] = $51; - $52 = $51 > 120.0; - if ($52) { - HEAPF32[5001] = 120.0; - } - } else { - $53 = ((($0)) + 4|0); - $54 = +HEAPF32[$53>>2]; - $55 = ((($0)) + 12|0); - $56 = ((($0)) + 16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 > $57; - $59 = $46 == 120.0; - $or$cond3 = $59 & $58; - $or$cond5 = $48 & $or$cond3; - if ($or$cond5) { - $60 = (+($3|0)); - $61 = +HEAPF32[$55>>2]; - $62 = +HEAPF32[$0>>2]; - $63 = $61 - $62; - $64 = $60 * $63; - $65 = $64 * 1.5; - $66 = $65 / $46; - $67 = $61 + $66; - HEAPF32[$55>>2] = $67; - $68 = $57 - $54; - $69 = $60 * $68; - $70 = $69 * 1.5; - $71 = $70 / $46; - $72 = $57 + $71; - HEAPF32[$56>>2] = $72; - $73 = ((($0)) + 20|0); - $74 = +HEAPF32[$73>>2]; - $75 = ((($0)) + 8|0); - $76 = +HEAPF32[$75>>2]; - $77 = $74 - $76; - $78 = $60 * $77; - $79 = $78 * 1.5; - $80 = $79 / $46; - $81 = $74 + $80; - HEAPF32[$73>>2] = $81; - break; - } - $$not = $58 ^ 1; - $82 = !($57 >= 0.0); - $or$cond169 = $82 | $$not; - if (!($or$cond169)) { - $83 = (+($3|0)); - $84 = +HEAPF32[$55>>2]; - $85 = +HEAPF32[$0>>2]; - $86 = $84 - $85; - $87 = $83 * $86; - $88 = $87 * 1.5; - $89 = $88 / $46; - $90 = $84 + $89; - HEAPF32[$55>>2] = $90; - $91 = $57 - $54; - $92 = $83 * $91; - $93 = $92 * 1.5; - $94 = $93 / $46; - $95 = $57 + $94; - HEAPF32[$56>>2] = $95; - $96 = ((($0)) + 20|0); - $97 = +HEAPF32[$96>>2]; - $98 = ((($0)) + 8|0); - $99 = +HEAPF32[$98>>2]; - $100 = $97 - $99; - $101 = $83 * $100; - $102 = $101 * 1.5; - $103 = $102 / $46; - $104 = $97 + $103; - HEAPF32[$96>>2] = $104; - break; - } - if ($58) { - $105 = $57 < 0.0; - $106 = ($3|0)>(0); - $or$cond7 = $106 & $105; - if ($or$cond7) { - $107 = (+($3|0)); - $108 = $107 * 1.5; - $109 = $46 - $108; - HEAPF32[5001] = $109; - $110 = $109 < 0.30000001192092896; - if (!($110)) { - break; - } - HEAPF32[5001] = 0.30000001192092896; - break; - } - } - $111 = $54 < $57; - $or$cond9 = $59 & $111; - $or$cond11 = $48 & $or$cond9; - $112 = +HEAPF32[$56>>2]; - $113 = +HEAPF32[$53>>2]; - if ($or$cond11) { - $114 = (+($3|0)); - $115 = +HEAPF32[$55>>2]; - $116 = +HEAPF32[$0>>2]; - $117 = $115 - $116; - $118 = $114 * $117; - $119 = $118 * 1.5; - $120 = $119 / $46; - $121 = $115 + $120; - HEAPF32[$55>>2] = $121; - $122 = $112 - $113; - $123 = $114 * $122; - $124 = $123 * 1.5; - $125 = +HEAPF32[5001]; - $126 = $124 / $125; - $127 = $112 + $126; - HEAPF32[$56>>2] = $127; - $128 = ((($0)) + 20|0); - $129 = +HEAPF32[$128>>2]; - $130 = ((($0)) + 8|0); - $131 = +HEAPF32[$130>>2]; - $132 = $129 - $131; - $133 = $114 * $132; - $134 = $133 * 1.5; - $135 = $134 / $125; - $136 = $129 + $135; - HEAPF32[$128>>2] = $136; - break; - } - $$not170 = $111 ^ 1; - $137 = !($57 <= 0.0); - $or$cond171 = $137 | $$not170; - if (!($or$cond171)) { - $138 = (+($3|0)); - $139 = +HEAPF32[$55>>2]; - $140 = +HEAPF32[$0>>2]; - $141 = $139 - $140; - $142 = $138 * $141; - $143 = $142 * 1.5; - $144 = $143 / $46; - $145 = $139 + $144; - HEAPF32[$55>>2] = $145; - $146 = $112 - $113; - $147 = $138 * $146; - $148 = $147 * 1.5; - $149 = +HEAPF32[5001]; - $150 = $148 / $149; - $151 = $112 + $150; - HEAPF32[$56>>2] = $151; - $152 = ((($0)) + 20|0); - $153 = +HEAPF32[$152>>2]; - $154 = ((($0)) + 8|0); - $155 = +HEAPF32[$154>>2]; - $156 = $153 - $155; - $157 = $138 * $156; - $158 = $157 * 1.5; - $159 = $158 / $149; - $160 = $153 + $159; - HEAPF32[$152>>2] = $160; - break; - } - $161 = $113 < $112; - if ($161) { - $162 = $112 > 0.0; - $163 = ($3|0)>(0); - $or$cond13 = $163 & $162; - if ($or$cond13) { - $164 = (+($3|0)); - $165 = $164 * 1.5; - $166 = +HEAPF32[5001]; - $167 = $166 - $165; - HEAPF32[5001] = $167; - $168 = $167 < 0.30000001192092896; - if ($168) { - HEAPF32[5001] = 0.30000001192092896; - } - } - } - } - } while(0); - $169 = ($5|0)==(0); - if ($169) { - label = 47; - break L1; - } - $170 = ($7|0)==(0); - if ($170) { - $183 = $31 * -0.0099999997764825821; - $184 = +HEAPF32[5002]; - $185 = (+Math_cos((+$184))); - $186 = $183 * $185; - $187 = $35 * 0.0099999997764825821; - $188 = (+Math_sin((+$184))); - $189 = $187 * $188; - $190 = +HEAPF32[5003]; - $191 = (+Math_sin((+$190))); - $192 = $189 * $191; - $193 = $186 + $192; - $194 = +HEAPF32[5001]; - $195 = $194 / 5.0999999046325684; - $196 = $193 * $195; - $197 = ((($0)) + 12|0); - $198 = +HEAPF32[$197>>2]; - $199 = $198 + $196; - HEAPF32[$197>>2] = $199; - $200 = (+Math_cos((+$190))); - $201 = $187 * $200; - $202 = $195 * $201; - $203 = ((($0)) + 16|0); - $204 = +HEAPF32[$203>>2]; - $205 = $204 + $202; - HEAPF32[$203>>2] = $205; - $206 = $31 * 0.0099999997764825821; - $207 = $206 * $188; - $208 = $187 * $185; - $209 = $208 * $191; - $210 = $207 + $209; - $211 = $210 * $195; - $212 = ((($0)) + 20|0); - $213 = +HEAPF32[$212>>2]; - $214 = $211 + $213; - HEAPF32[$212>>2] = $214; - label = 47; - break L1; - } - $171 = ($9|0)==(0); - if (!($171)) { - $172 = $35 * 0.05000000074505806; - $173 = +HEAPF32[5001]; - $174 = $172 + $173; - HEAPF32[5001] = $174; - label = 47; - break L1; - } - $175 = $31 * 0.0099999997764825821; - $176 = +HEAPF32[5002]; - $177 = $176 - $175; - HEAPF32[5002] = $177; - $178 = $35 * 0.0099999997764825821; - $179 = +HEAPF32[5003]; - $180 = $179 - $178; - HEAPF32[5003] = $180; - $181 = $180 > 1.483529806137085; - if ($181) { - HEAPF32[5003] = 1.483529806137085; - label = 47; - break L1; - } - $182 = $180 < -1.483529806137085; - if (!($182)) { - label = 47; - break L1; - } - HEAPF32[5003] = -1.483529806137085; - label = 47; - break L1; - break; - } - case 2: { - $215 = +HEAPF32[5002]; - $216 = $215 + 0.0099999997764825821; - HEAPF32[5002] = $216; - $217 = (+($3|0)); - $218 = $217 * 1.5; - $219 = +HEAPF32[5001]; - $220 = $219 - $218; - HEAPF32[5001] = $220; - $221 = $220 < 1.2000000476837158; - if (!($221)) { - label = 47; - break L1; - } - HEAPF32[5001] = 1.2000000476837158; - label = 47; - break L1; - break; - } - case 4: case 3: { - $225 = +HEAPF32[5002]; - $226 = (+Math_sin((+$225))); - $227 = HEAP32[$12>>2]|0; - $228 = (+($227>>>0)); - $229 = $226 * $228; - $230 = HEAP32[$2>>2]|0; - $231 = (+($230>>>0)); - $232 = $226 * $231; - $233 = $229 - $232; - $234 = (+Math_cos((+$225))); - $235 = HEAP32[$18>>2]|0; - $236 = (+($235>>>0)); - $237 = $234 * $236; - $238 = $233 - $237; - $239 = HEAP32[$15>>2]|0; - $240 = (+($239>>>0)); - $241 = $234 * $240; - $242 = $238 + $241; - $243 = $242 / 20.0; - $244 = +HEAPF32[$0>>2]; - $245 = $244 + $243; - HEAPF32[$0>>2] = $245; - $246 = +HEAPF32[5003]; - $247 = (+Math_sin((+$246))); - $248 = $231 * $247; - $249 = $228 * $247; - $250 = $248 - $249; - $251 = HEAP32[$21>>2]|0; - $252 = (+($251>>>0)); - $253 = $250 + $252; - $254 = HEAP32[$24>>2]|0; - $255 = (+($254>>>0)); - $256 = $253 - $255; - $257 = $256 / 20.0; - $258 = ((($0)) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = $259 + $257; - HEAPF32[$258>>2] = $260; - $261 = $228 * $234; - $262 = $234 * $231; - $263 = $261 - $262; - $264 = $226 * $236; - $265 = $263 + $264; - $266 = $226 * $240; - $267 = $265 - $266; - $268 = $267 / 20.0; - $269 = ((($0)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $268 + $270; - HEAPF32[$269>>2] = $271; - $272 = HEAP32[$2>>2]|0; - $273 = ($272|0)==(0); - if ($273) { - $222 = ((($2)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = ($223|0)==(0); - if ($224) { - $368 = ((($2)) + 8|0); - $369 = HEAP32[$368>>2]|0; - $370 = ($369|0)==(0); - if ($370) { - $371 = ((($2)) + 12|0); - $372 = HEAP32[$371>>2]|0; - $373 = ($372|0)==(0); - if ($373) { - $374 = ((($2)) + 16|0); - $375 = HEAP32[$374>>2]|0; - $376 = ($375|0)==(0); - if ($376) { - $377 = ((($2)) + 20|0); - $378 = HEAP32[$377>>2]|0; - $not$ = ($378|0)!=(0); - $$ = $not$&1; - $$0 = $$; - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - $274 = $31 * 0.0030000000260770321; - $275 = +HEAPF32[5002]; - $276 = $275 - $274; - HEAPF32[5002] = $276; - $277 = $35 * 0.0030000000260770321; - $278 = +HEAPF32[5003]; - $279 = $278 - $277; - HEAPF32[5003] = $279; - $280 = HEAP32[5004]|0; - $281 = ($280|0)==(4); - if ($281) { - $282 = $279 > 0.087266460061073303; - if ($282) { - $$sink24 = 0.087266460061073303; - label = 38; - } else { - $283 = $279 < -1.483529806137085; - if ($283) { - $$sink24 = -1.483529806137085; - label = 38; - } - } - if ((label|0) == 38) { - HEAPF32[5003] = $$sink24; - } - $284 = (+($3|0)); - $285 = $284 * 1.5; - $286 = +HEAPF32[5001]; - $287 = $286 - $285; - $288 = $287 < 1.2000000476837158; - $storemerge = $288 ? 1.2000000476837158 : $287; - HEAPF32[5001] = $storemerge; - $289 = +HEAPF32[$0>>2]; - $290 = +HEAPF32[5002]; - $291 = (+Math_cos((+$290))); - $292 = $291 * 0.40000000596046448; - $293 = $289 + $292; - $294 = (+Math_sin((+$290))); - $295 = $294 * 0.0; - $296 = $293 + $295; - $297 = ((($0)) + 12|0); - HEAPF32[$297>>2] = $296; - $298 = +HEAPF32[$258>>2]; - $299 = $298 + 0.0; - $300 = ((($0)) + 16|0); - HEAPF32[$300>>2] = $299; - $301 = +HEAPF32[$269>>2]; - $302 = $295 + $301; - $303 = $294 * 0.40000000596046448; - $304 = $302 - $303; - $$sink = $304;$$sink15 = $297; - } else { - $305 = $279 > 1.483529806137085; - if ($305) { - $$sink26 = 1.483529806137085; - label = 42; - } else { - $306 = $279 < -1.483529806137085; - if ($306) { - $$sink26 = -1.483529806137085; - label = 42; - } - } - if ((label|0) == 42) { - HEAPF32[5003] = $$sink26; - } - $307 = +HEAPF32[$0>>2]; - $308 = +HEAPF32[5002]; - $309 = (+Math_sin((+$308))); - $310 = $309 * 25.0; - $311 = $307 - $310; - $312 = ((($0)) + 12|0); - HEAPF32[$312>>2] = $311; - $313 = +HEAPF32[$258>>2]; - $314 = +HEAPF32[5003]; - $315 = (+Math_sin((+$314))); - $316 = $315 * 25.0; - $317 = $313 + $316; - $318 = ((($0)) + 16|0); - HEAPF32[$318>>2] = $317; - $319 = +HEAPF32[$269>>2]; - $320 = (+Math_cos((+$308))); - $321 = $320 * 25.0; - $322 = $319 - $321; - $323 = ((($0)) + 20|0); - HEAPF32[$323>>2] = $322; - $324 = ($$0|0)==(0); - if (!($324)) { - $325 = HEAP32[5007]|0; - $326 = (($325) + 1)|0; - HEAP32[5007] = $326; - } - $327 = +HEAPF32[923]; - $328 = HEAP32[5007]|0; - $329 = (+($328|0)); - $330 = $329 / 5.0; - $331 = (+Math_sin((+$330))); - $332 = $331 / 30.0; - $333 = $327 - $332; - HEAPF32[$258>>2] = $333; - $334 = $329 / 10.0; - $335 = (+Math_sin((+$334))); - $336 = $335 / 200.0; - $337 = ((($0)) + 24|0); - HEAPF32[$337>>2] = $336; - $338 = -$335; - $339 = $338 / 200.0; - $$sink = $339;$$sink15 = $337; - } - $340 = ((($$sink15)) + 8|0); - HEAPF32[$340>>2] = $$sink; - label = 47; - break L1; - break; - } - default: { - $341 = $$pr; - break L1; - } - } - } - } while(0); - if ((label|0) == 47) { - $$pr172 = HEAP32[5004]|0; - $341 = $$pr172; - } - switch ($341|0) { - case 1: case 2: case 4: { - break; - } - default: { - STACKTOP = sp;return; - } - } - $342 = +HEAPF32[5002]; - $343 = (+Math_sin((+$342))); - $344 = +HEAPF32[5001]; - $345 = $343 * $344; - $346 = +HEAPF32[5003]; - $347 = (+Math_cos((+$346))); - $348 = $345 * $347; - $349 = ((($0)) + 12|0); - $350 = +HEAPF32[$349>>2]; - $351 = $348 + $350; - HEAPF32[$0>>2] = $351; - $352 = !($346 <= 0.0); - $353 = (+Math_sin((+$346))); - $354 = +HEAPF32[5001]; - $355 = ((($0)) + 16|0); - $356 = +HEAPF32[$355>>2]; - $357 = $353 * $354; - $358 = $353 * $357; - $359 = -$358; - $$sink20$p = $352 ? $359 : $358; - $$sink20 = $356 + $$sink20$p; - $360 = ((($0)) + 4|0); - HEAPF32[$360>>2] = $$sink20; - $361 = (+Math_cos((+$342))); - $362 = $354 * $361; - $363 = $347 * $362; - $364 = ((($0)) + 20|0); - $365 = +HEAPF32[$364>>2]; - $366 = $365 + $363; - $367 = ((($0)) + 8|0); - HEAPF32[$367>>2] = $366; - STACKTOP = sp;return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 17664; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _GetMouseWheelMove() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5009]|0; - $1 = (($0|0) / 100)&-1; - return ($1|0); -} -function _IsMouseButtonDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetMouseButtonStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _IsKeyDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetKeyStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _GetKeyStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5008]|0; - $2 = (_glfwGetKey(($1|0),($0|0))|0); - return ($2|0); -} -function _GetMouseButtonStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5008]|0; - $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); - return ($2|0); -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _TraceLog(0,7670,$vararg_buffer); - HEAP32[5010] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_keypress_callback((7699|0),(0|0),1,(6|0))|0); - (_emscripten_set_click_callback((7699|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchstart_callback((7699|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchend_callback((7699|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchmove_callback((7699|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchcancel_callback((7699|0),(0|0),1,(8|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[5011]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[4416] = $5; - $6 = HEAP32[5012]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(17668)>>2] = $8; - $9 = HEAP32[5013]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[5011] = $0; - HEAP32[5012] = $1; - _MatrixIdentity($2); - dest=20072; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,7894,$vararg_buffer); - } - $6 = HEAP32[5011]|0; - HEAP32[5034] = $6; - $7 = HEAP32[5012]|0; - HEAP32[5035] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[20948]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[20948]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[20948]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,7920,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[5036]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[5011]|0; - $48 = HEAP32[5012]|0; - $49 = HEAP32[5010]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5008] = $50; - $51 = HEAP32[5011]|0; - HEAP32[5037] = $51; - $52 = HEAP32[5012]|0; - HEAP32[5038] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[5011]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5012]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[5034] = $31; - HEAP32[5035] = $34; - } - } while(0); - $38 = HEAP32[5034]|0; - $39 = HEAP32[5035]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(1,7945,$vararg_buffer3); - $40 = HEAP32[5034]|0; - $41 = HEAP32[5035]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[5034]|0; - $43 = HEAP32[5035]|0; - $44 = HEAP32[5010]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5008] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(2,7983,$vararg_buffer6); - } else { - _TraceLog(0,8016,$vararg_buffer8); - $55 = HEAP32[5037]|0; - $56 = HEAP32[5038]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,8056,$vararg_buffer10); - $57 = HEAP32[5011]|0; - $58 = HEAP32[5012]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,8077,$vararg_buffer14); - $59 = HEAP32[5039]|0; - $60 = HEAP32[5040]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,8098,$vararg_buffer18); - } - $61 = HEAP32[5008]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5008]|0; - (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5008]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5008]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5008]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5008]|0; - (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5008]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5008]|0; - (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5008]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[20948]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[5011]|0; - $74 = HEAP32[5012]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5037]|0; - $76 = HEAP32[5039]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5038]|0; - $80 = HEAP32[5040]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,8123,$vararg_buffer22); - $73 = HEAP32[5011]|0; - $74 = HEAP32[5012]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5037]|0; - $76 = HEAP32[5039]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5038]|0; - $80 = HEAP32[5040]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[2212] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,7827,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,7758,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,7751)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - $5 = HEAP32[5005]|0; - $6 = ($5|0)!=(0); - $or$cond = $4 & $6; - if (!($or$cond)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - HEAP32[5005] = 0; - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 17680; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (17688); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (20056 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ($0|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[2209] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,7707,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5013] = 0; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5011]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5012]|0; - return ($0|0); -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(1,11679,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[5011]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[5012]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[5037] = $3; - HEAP32[5038] = $5; - HEAP32[5039] = 0; - HEAP32[5040] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,11613,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[5011]|0; - $36 = (+($35|0)); - $37 = HEAP32[5012]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[5037] = $45; - HEAP32[5038] = $37; - $46 = (($45) - ($35))|0; - HEAP32[5039] = $46; - $$sink1 = 0; - } else { - HEAP32[5037] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[5038] = $42; - HEAP32[5039] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[5040] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[5012]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(1,11470,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[5011]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[5012]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[5037] = $23; - HEAP32[5038] = $1; - $24 = (($0) - ($23))|0; - HEAP32[5039] = $24; - $$sink = 0; - } else { - HEAP32[5037] = $0; - $17 = HEAP32[5012]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[5038] = $20; - HEAP32[5039] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[5040] = $$sink; - $25 = HEAP32[5037]|0; - $26 = (+($25|0)); - $27 = HEAP32[5011]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=20072; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5037] = $0; - HEAP32[5038] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(1,11548,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[5011] = $1; - HEAP32[5012] = $2; - HEAP32[5037] = $1; - HEAP32[5038] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[934]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (20955 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[933] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (20949 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 17680; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[933] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[5043] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[5042] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; - var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2528|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2396|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,8146,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,8164,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,8182,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,8200,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$063 = 0;$$sink64 = $14; - while(1) { - $15 = (_strtok($$sink64,8218)|0); - $16 = (($vararg_buffer7) + ($$063<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$063) + 1)|0; - if ($17) { - break; - } else { - $$063 = $18;$$sink64 = 0; - } - } - _free($14); - $19 = (($$063) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,8220,$vararg_buffer10); - $20 = ($$063|0)>(1); - if ($20) { - $$06268 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06268<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,8255)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[4565] = 1; - $27 = (_eglGetProcAddress((8282|0))|0); - HEAP32[4991] = $27; - $28 = (_eglGetProcAddress((8303|0))|0); - HEAP32[4566] = $28; - $29 = (_eglGetProcAddress((8324|0))|0); - HEAP32[4992] = $29; - } - $30 = (_strcmp($24,8348)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[4453] = 1; - } - $32 = (_strcmp($24,8368)|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP32[4452] = 1; - } - $34 = (_strcmp($24,8386)|0); - $35 = ($34|0)==(0); - if ($35) { - label = 14; - } else { - $36 = HEAP32[$23>>2]|0; - $37 = (_strcmp($36,8418)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 14; - } else { - $39 = (_strcmp($36,8451)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 14; - } - } - } - if ((label|0) == 14) { - label = 0; - HEAP32[4447] = 1; - } - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,8491)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 17; - } else { - $44 = (_strcmp($41,8527)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - HEAP32[4448] = 1; - } - $46 = (_strcmp($41,8560)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[4449] = 1; - } - $48 = HEAP32[$23>>2]|0; - $49 = (_strcmp($48,8585)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[4450] = 1; - } - $51 = (_strcmp($48,8618)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[4451] = 1; - } - $53 = (_strcmp($48,8654)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP32[5041] = 1; - _glGetFloatv(34047,(17820|0)); - } - $55 = (_strcmp($48,8688)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[4454] = 1; - } - $57 = (($$06268) + 1)|0; - $exitcond71 = ($57|0)==($19|0); - if ($exitcond71) { - break; - } else { - $$06268 = $57; - } - } - } - $21 = HEAP32[4565]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(1,8791,$vararg_buffer15); - } else { - _TraceLog(0,8716,$vararg_buffer13); - } - $58 = HEAP32[4453]|0; - $59 = ($58|0)==(0); - if ($59) { - _TraceLog(1,8927,$vararg_buffer19); - } else { - _TraceLog(0,8852,$vararg_buffer17); - } - $60 = HEAP32[4447]|0; - $61 = ($60|0)==(0); - if (!($61)) { - _TraceLog(0,9019,$vararg_buffer21); - } - $62 = HEAP32[4448]|0; - $63 = ($62|0)==(0); - if (!($63)) { - _TraceLog(0,9065,$vararg_buffer23); - } - $64 = HEAP32[4449]|0; - $65 = ($64|0)==(0); - if (!($65)) { - _TraceLog(0,9112,$vararg_buffer25); - } - $66 = HEAP32[4450]|0; - $67 = ($66|0)==(0); - if (!($67)) { - _TraceLog(0,9163,$vararg_buffer27); - } - $68 = HEAP32[4451]|0; - $69 = ($68|0)==(0); - if (!($69)) { - _TraceLog(0,9210,$vararg_buffer29); - } - $70 = HEAP32[5041]|0; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = +HEAPF32[4455]; - $73 = $72; - HEAPF64[$vararg_buffer31>>3] = $73; - _TraceLog(0,9257,$vararg_buffer31); - } - $74 = HEAP32[4454]|0; - $75 = ($74|0)==(0); - if (!($75)) { - _TraceLog(0,9323,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $76 = (_rlLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4506] = $76; - $77 = ($76|0)==(0); - if ($77) { - _TraceLog(1,9427,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $76; - _TraceLog(0,9376,$vararg_buffer36); - } - _LoadShaderDefault($2); - _memcpy((19832|0),($2|0),132)|0; - _memcpy((18128|0),($2|0),132)|0; - _LoadBuffersDefault(); - $78 = (_malloc(49152)|0); - HEAP32[4953] = $78; - $$06167 = 0; - while(1) { - $80 = HEAP32[4953]|0; - $81 = (($80) + (($$06167*12)|0)|0); - _Vector3Zero($3); - ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; - $82 = (($$06167) + 1)|0; - $exitcond70 = ($82|0)==(4096); - if ($exitcond70) { - break; - } else { - $$06167 = $82; - } - } - $79 = (_malloc(36864)|0); - HEAP32[4507] = $79; - $$06066 = 0; - while(1) { - $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($79) + (($$06066*144)|0)|0); - HEAP32[$84>>2] = 0; - $85 = (($$06066) + 1)|0; - $exitcond = ($85|0)==(256); - if ($exitcond) { - break; - } else { - $$06066 = $85; - } - } - HEAP32[4505] = 1; - $86 = HEAP32[4506]|0; - $87 = ((($79)) + 8|0); - HEAP32[$87>>2] = $86; - HEAP32[4954] = 4; - _MatrixIdentity($4); - dest=18776; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(18840); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(18904); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(18968); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19032); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19096); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19160); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19224); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19288); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19352); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19416); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19480); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19544); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19608); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19672); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19736); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=17888; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=17952; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4950] = 17952; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[4583] = $0; - HEAP32[4584] = $1; - _TraceLog(0,9466,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5039]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5040]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5037]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[5038]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 17888; - label = 3; - break; - } - case 5888: { - $modelview$sink = 17952; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[4950] = $modelview$sink; - } - HEAP32[4955] = $0; - return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[4950]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _LoadShaderDefault($0) { - $0 = $0|0; - var $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx9 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx11 = 0, $$sroa$14 = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$1415$0 = 0, $$sroa$1415$0$$sroa_idx16 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx18 = 0, $$sroa$16 = 0, $$sroa$16$0$$sroa_idx = 0, $$sroa$1622$0 = 0, $$sroa$1622$0$$sroa_idx23 = 0, $$sroa$1727$0 = 0, $$sroa$1727$0$$sroa_idx28 = 0, $$sroa$18 = 0, $$sroa$18$0$$sroa_idx = 0, $1 = 0, $10 = 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $$sroa$14 = sp + 96|0; - $$sroa$16 = sp + 80|0; - $$sroa$18 = sp + 12|0; - $1 = sp + 549|0; - $2 = sp + 108|0; - _memcpy(($1|0),(10042|0),483)|0; - _memcpy(($2|0),(10525|0),441)|0; - $3 = (_LoadShaderProgram($1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - HEAP32[$vararg_buffer1>>2] = $3; - _TraceLog(1,11080,$vararg_buffer1); - $$sroa$12$0 = 0;$$sroa$13$0 = 0;$$sroa$1415$0 = 0;$$sroa$15$0 = 0;$$sroa$1622$0 = 0;$$sroa$1727$0 = 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,10966,$vararg_buffer); - $5 = (_glGetAttribLocation(($3|0),(11014|0))|0); - $6 = (_glGetAttribLocation(($3|0),(11029|0))|0); - $7 = (_glGetAttribLocation(($3|0),(11044|0))|0); - $8 = (_glGetUniformLocation(($3|0),(11056|0))|0); - $9 = (_glGetUniformLocation(($3|0),(11060|0))|0); - $10 = (_glGetUniformLocation(($3|0),(11071|0))|0); - $$sroa$12$0 = $5;$$sroa$13$0 = $6;$$sroa$1415$0 = $7;$$sroa$15$0 = $8;$$sroa$1622$0 = $9;$$sroa$1727$0 = $10; - } - HEAP32[$0>>2] = $3; - $$sroa$12$0$$sroa_idx9 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx9>>2] = $$sroa$12$0; - $$sroa$13$0$$sroa_idx11 = ((($0)) + 8|0); - HEAP32[$$sroa$13$0$$sroa_idx11>>2] = $$sroa$13$0; - $$sroa$14$0$$sroa_idx = ((($0)) + 12|0); - ;HEAP32[$$sroa$14$0$$sroa_idx>>2]=HEAP32[$$sroa$14>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+4>>2]=HEAP32[$$sroa$14+4>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+8>>2]=HEAP32[$$sroa$14+8>>2]|0; - $$sroa$1415$0$$sroa_idx16 = ((($0)) + 24|0); - HEAP32[$$sroa$1415$0$$sroa_idx16>>2] = $$sroa$1415$0; - $$sroa$15$0$$sroa_idx18 = ((($0)) + 28|0); - HEAP32[$$sroa$15$0$$sroa_idx18>>2] = $$sroa$15$0; - $$sroa$16$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$$sroa$16$0$$sroa_idx>>2]=HEAP32[$$sroa$16>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+4>>2]=HEAP32[$$sroa$16+4>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+8>>2]=HEAP32[$$sroa$16+8>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+12>>2]=HEAP32[$$sroa$16+12>>2]|0; - $$sroa$1622$0$$sroa_idx23 = ((($0)) + 48|0); - HEAP32[$$sroa$1622$0$$sroa_idx23>>2] = $$sroa$1622$0; - $$sroa$1727$0$$sroa_idx28 = ((($0)) + 60|0); - HEAP32[$$sroa$1727$0$$sroa_idx28>>2] = $$sroa$1727$0; - $$sroa$18$0$$sroa_idx = ((($0)) + 64|0); - dest=$$sroa$18$0$$sroa_idx; src=$$sroa$18; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadBuffersDefault() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(18044)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(18052)>>2] = $1; - HEAP32[(18048)>>2] = 0; - HEAP32[(18056)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(18052)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[4508] = 0; - HEAP32[(18040)>>2] = 0; - HEAP32[(18036)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(18092)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(18100)>>2] = $6; - HEAP32[(18096)>>2] = 0; - HEAP32[(18104)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(18100)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[4520] = 0; - HEAP32[(18088)>>2] = 0; - HEAP32[(18084)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(17852)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(17856)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(17860)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(17864)>>2] = $13; - $14 = HEAP32[(17852)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(17856)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(17860)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(17864)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[4460] = 0; - HEAP32[(17844)>>2] = 0; - HEAP32[(17848)>>2] = 0; - _TraceLog(0,9513,$vararg_buffer); - $20 = HEAP32[4565]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[4991]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18060)); - $44 = HEAP32[4566]|0; - $45 = HEAP32[(18060)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((18064)|0)); - $46 = HEAP32[(18064)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18044)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18132)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18132)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18068)|0)); - $50 = HEAP32[(18068)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18052)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18152)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18152)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4565]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(18064)>>2]|0; - $58 = HEAP32[(18068)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,9651,$vararg_buffer3); - } else { - $56 = HEAP32[(18060)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,9586,$vararg_buffer1); - } - $59 = HEAP32[4565]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[4991]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18108)); - $62 = HEAP32[4566]|0; - $63 = HEAP32[(18108)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((18112)|0)); - $64 = HEAP32[(18112)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18092)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18132)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18132)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18116)|0)); - $68 = HEAP32[(18116)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18100)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18152)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18152)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4565]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(18112)>>2]|0; - $76 = HEAP32[(18116)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,9797,$vararg_buffer10); - } else { - $74 = HEAP32[(18108)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,9728,$vararg_buffer7); - } - $77 = HEAP32[4565]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[4991]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(17868)); - $80 = HEAP32[4566]|0; - $81 = HEAP32[(17868)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((17872)|0)); - $82 = HEAP32[(17872)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(17852)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18132)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18132)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((17876)|0)); - $86 = HEAP32[(17876)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(17856)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18136)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18136)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((17880)|0)); - $90 = HEAP32[(17880)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(17860)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18152)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18152)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((17884)|0)); - $94 = HEAP32[(17884)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(17864)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4565]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(17872)>>2]|0; - $100 = HEAP32[(17876)>>2]|0; - $101 = HEAP32[(17880)>>2]|0; - $102 = HEAP32[(17884)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,9943,$vararg_buffer17); - } else { - $98 = HEAP32[(17868)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,9878,$vararg_buffer14); - } - $103 = HEAP32[4565]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[4566]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,11180,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(1,11128,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,11177,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,11281,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(1,11230,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,11177,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(11014|0)); - _glBindAttribLocation(($20|0),1,(11029|0)); - _glBindAttribLocation(($20|0),2,(11333|0)); - _glBindAttribLocation(($20|0),3,(11044|0)); - _glBindAttribLocation(($20|0),4,(11346|0)); - _glBindAttribLocation(($20|0),5,(11360|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(1,11376,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,11177,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,11422,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (20949 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (20952 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (20949 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (20952 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[5008]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,11717,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadShaderDefault(); - _UnloadBuffersDefault(); - _glDeleteTextures(1,(18024|0)); - $0 = HEAP32[4506]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,11744,$vararg_buffer); - $1 = HEAP32[4507]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadShaderDefault() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[4958]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4565]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4566]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18064)|0)); - _glDeleteBuffers(1,((18068)|0)); - _glDeleteBuffers(1,((18112)|0)); - _glDeleteBuffers(1,((18116)|0)); - _glDeleteBuffers(1,((17872)|0)); - _glDeleteBuffers(1,((17876)|0)); - _glDeleteBuffers(1,((17880)|0)); - _glDeleteBuffers(1,((17884)|0)); - $3 = HEAP32[4565]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[4992]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18060)); - $6 = HEAP32[4992]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18108)); - $7 = HEAP32[4992]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(17868)); - } - $8 = HEAP32[(18044)>>2]|0; - _free($8); - $9 = HEAP32[(18052)>>2]|0; - _free($9); - $10 = HEAP32[(18092)>>2]|0; - _free($10); - $11 = HEAP32[(18100)>>2]|0; - _free($11); - $12 = HEAP32[(17852)>>2]|0; - _free($12); - $13 = HEAP32[(17856)>>2]|0; - _free($13); - $14 = HEAP32[(17860)>>2]|0; - _free($14); - $15 = HEAP32[(17864)>>2]|0; - _free($15); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[2213] = $0; - $1 = +HEAPF64[2212]; - $2 = $0 - $1; - HEAPF64[2214] = $2; - HEAPF64[2212] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=20072; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18268); - STACKTOP = sp;return; -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 32|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 48|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 52|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 24|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 56|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 12|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[4950]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[2213] = $0; - $1 = +HEAPF64[2212]; - $2 = $0 - $1; - HEAPF64[2215] = $2; - HEAPF64[2212] = $0; - $3 = +HEAPF64[2214]; - $4 = $2 + $3; - HEAPF64[2198] = $4; - $5 = +HEAPF64[2209]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[2213] = $10; - $11 = +HEAPF64[2212]; - $12 = $10 - $11; - HEAPF64[2212] = $10; - $13 = +HEAPF64[2198]; - $14 = $12 + $13; - HEAPF64[2198] = $14; - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5008]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[933] = -1; - HEAP32[935] = -1; - HEAP32[5044] = 0; - $3 = HEAP32[5008]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[4416] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(17668)>>2] = $7; - _memcpy((21467|0),(20955|0),512)|0; - ;HEAP8[20952>>0]=HEAP8[20949>>0]|0;HEAP8[20952+1>>0]=HEAP8[20949+1>>0]|0;HEAP8[20952+2>>0]=HEAP8[20949+2>>0]|0; - $8 = HEAP32[5043]|0; - HEAP32[5009] = $8; - HEAP32[5043] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (21979 + ($$05160<<5)|0); - $scevgep67 = (22107 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((22107 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[935] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((20180 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[5044] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[5011]|0; - $3 = (+($2|0)); - $4 = HEAP32[5012]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 0.5; - $11 = $10 * 0.01745329238474369; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(18268); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[4950]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11809)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11813)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11817)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11821)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11827)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11865)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 11884; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11897)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 11918; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11933)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 11948; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11963)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 11978; - } - } else { - HEAP32[$3>>2] = 11849; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11993)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12007)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 3; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12019)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 7; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12033)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 8; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12045)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 9; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12059)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 10; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12073)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 11; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12090)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12113)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12139)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12152)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12168)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12181)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 12; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12195)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12215)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12235)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12252)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12269)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 4; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12281)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 13; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12294)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 14; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12310)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12333)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12346)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12362)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 5; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12373)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 15; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12392)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 16; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12414)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 17; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12433)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12462)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 6; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12479)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12494)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12509)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12530)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12550)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12570)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12596)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12615)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12627)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12639)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12651)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12663)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 18; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12675)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12687)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12699)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12711)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12724)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12737)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12750)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12763)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12776)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12789)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12802)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12815)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12834)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12853)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12872)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 19; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12885)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 20; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12903)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 21; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12921)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 22; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12939)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 23; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12957)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12977)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11918)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 7; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12995)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13010)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13031)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13046)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13064)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13080)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13099)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13113)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13128)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 8; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11849)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13139)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11948)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 24; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11978)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 25; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13155)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13182)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13196)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11884)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13216)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13234)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 9; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13246)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13267)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 26; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13285)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 27; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13303)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 28; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13324)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13350)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13373)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13411)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 10; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13427)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13442)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13465)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13478)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 29; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13492)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 30; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13506)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13526)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13546)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13562)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13580)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13596)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13611)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13633)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 31; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13651)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 32; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13672)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13690)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13703)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13718)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13732)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13742)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13752)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13774)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13800)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13827)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13840)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13855)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13870)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13894)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13905)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 33; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13927)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13949)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13973)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13982)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13990)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14003)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14017)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14029)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14038)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14048)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14060)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14071)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14079)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14091)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14106)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14118)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14132)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 11; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14157)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14174)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14190)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14206)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 12; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14218)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 34; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14230)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 35; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14254)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14267)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14281)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 36; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14303)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 37; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14310)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14326)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14343)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14360)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14376)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14392)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14409)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14423)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14435)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14446)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14459)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14469)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14486)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14498)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14520)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14540)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14553)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14575)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14595)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14612)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14629)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14649)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 38; - break; - } - } else { - HEAP32[$1>>2] = 6; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ($0>>>0)<(245); - do { - if ($2) { - $3 = ($0>>>0)<(11); - $4 = (($0) + 11)|0; - $5 = $4 & -8; - $6 = $3 ? 16 : $5; - $7 = $6 >>> 3; - $8 = HEAP32[5077]|0; - $9 = $8 >>> $7; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if (!($11)) { - $12 = $9 & 1; - $13 = $12 ^ 1; - $14 = (($13) + ($7))|0; - $15 = $14 << 1; - $16 = (20348 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[5077] = $24; - } else { - $25 = HEAP32[(20324)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(20316)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (20348 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[5077] = $77; - $98 = $77; - } else { - $78 = HEAP32[(20324)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(20328)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (20348 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[5077] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(20324)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(20316)>>2] = $84; - HEAP32[(20328)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(20312)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (20612 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(20324)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (20612 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(20312)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(20324)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(20324)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(20324)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(20328)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (20348 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[5077] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(20324)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(20316)>>2] = $$0193$lcssa$i; - HEAP32[(20328)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(20312)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (20612 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (20612 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(20316)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(20324)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (20612 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(20312)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(20324)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(20324)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(20324)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (20348 + ($425<<2)|0); - $427 = HEAP32[5077]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[5077] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(20324)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (20612 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(20312)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(20324)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(20324)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(20316)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(20328)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(20328)>>2] = $511; - HEAP32[(20316)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(20316)>>2] = 0; - HEAP32[(20328)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(20320)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(20320)>>2] = $526; - $527 = HEAP32[(20332)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(20332)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[5195]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(20788)>>2] = 4096; - HEAP32[(20784)>>2] = 4096; - HEAP32[(20792)>>2] = -1; - HEAP32[(20796)>>2] = -1; - HEAP32[(20800)>>2] = 0; - HEAP32[(20752)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[5195] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(20788)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(20748)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(20740)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(20752)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(20332)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (20756); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(20784)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(20740)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(20748)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(20788)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(20752)>>2]|0; - $612 = $611 | 4; - HEAP32[(20752)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(20740)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(20740)>>2] = $627; - $628 = HEAP32[(20744)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(20744)>>2] = $627; - } - $630 = HEAP32[(20332)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(20324)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(20324)>>2] = $$749$i; - } - HEAP32[(20756)>>2] = $$749$i; - HEAP32[(20760)>>2] = $$723948$i; - HEAP32[(20768)>>2] = 0; - $635 = HEAP32[5195]|0; - HEAP32[(20344)>>2] = $635; - HEAP32[(20340)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (20348 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(20332)>>2] = $649; - HEAP32[(20320)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(20796)>>2]|0; - HEAP32[(20336)>>2] = $655; - } else { - $$024371$i = (20756); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(20320)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(20332)>>2] = $679; - HEAP32[(20320)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(20796)>>2]|0; - HEAP32[(20336)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(20324)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(20324)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (20756); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(20320)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(20320)>>2] = $727; - HEAP32[(20332)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(20328)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(20316)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(20316)>>2] = $733; - HEAP32[(20328)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (20348 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[5077]|0; - $760 = $759 & $758; - HEAP32[5077] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (20612 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(20312)>>2]|0; - $803 = $802 & $801; - HEAP32[(20312)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(20324)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(20324)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(20324)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (20348 + ($836<<2)|0); - $838 = HEAP32[5077]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[5077] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(20324)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (20612 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(20312)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(20312)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(20324)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(20324)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (20756); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(20332)>>2] = $946; - HEAP32[(20320)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(20796)>>2]|0; - HEAP32[(20336)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(20756)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20756)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20756)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20756)+12>>2]|0; - HEAP32[(20756)>>2] = $$749$i; - HEAP32[(20760)>>2] = $$723948$i; - HEAP32[(20768)>>2] = 0; - HEAP32[(20764)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (20348 + ($968<<2)|0); - $970 = HEAP32[5077]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[5077] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(20324)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (20612 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(20312)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(20312)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(20324)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(20324)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(20320)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(20320)>>2] = $1050; - $1051 = HEAP32[(20332)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(20332)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(20324)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(20328)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(20316)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (20348 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[5077]|0; - $38 = $37 & $36; - HEAP32[5077] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (20612 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(20312)>>2]|0; - $81 = $80 & $79; - HEAP32[(20312)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(20324)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(20324)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(20324)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(20332)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(20328)>>2]|0; - if ($121) { - $123 = HEAP32[(20320)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(20320)>>2] = $124; - HEAP32[(20332)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(20328)>>2] = 0; - HEAP32[(20316)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(20316)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(20316)>>2] = $130; - HEAP32[(20328)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (20348 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(20324)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[5077]|0; - $154 = $153 & $152; - HEAP32[5077] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(20324)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(20324)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(20324)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (20612 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(20312)>>2]|0; - $200 = $199 & $198; - HEAP32[(20312)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(20324)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(20324)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(20324)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(20328)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(20316)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (20348 + ($234<<2)|0); - $236 = HEAP32[5077]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[5077] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(20324)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (20612 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(20312)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(20312)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(20324)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(20324)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(20340)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(20340)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (20764); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(20340)>>2] = -1; - return; -} -function _realloc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = (_malloc($1)|0); - $$1 = $3; - return ($$1|0); - } - $4 = ($1>>>0)>(4294967231); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 12; - $$1 = 0; - return ($$1|0); - } - $6 = ($1>>>0)<(11); - $7 = (($1) + 11)|0; - $8 = $7 & -8; - $9 = $6 ? 16 : $8; - $10 = ((($0)) + -8|0); - $11 = (_try_realloc_chunk($10,$9)|0); - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = ((($11)) + 8|0); - $$1 = $13; - return ($$1|0); - } - $14 = (_malloc($1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$1 = 0; - return ($$1|0); - } - $16 = ((($0)) + -4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & -8; - $19 = $17 & 3; - $20 = ($19|0)==(0); - $21 = $20 ? 8 : 4; - $22 = (($18) - ($21))|0; - $23 = ($22>>>0)<($1>>>0); - $24 = $23 ? $22 : $1; - _memcpy(($14|0),($0|0),($24|0))|0; - _free($0); - $$1 = $14; - return ($$1|0); -} -function _try_realloc_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -8; - $5 = (($0) + ($4)|0); - $6 = HEAP32[(20324)>>2]|0; - $7 = $3 & 3; - $notlhs = ($0>>>0)>=($6>>>0); - $notrhs = ($7|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $8 = ($0>>>0)<($5>>>0); - $or$cond3 = $or$cond$not & $8; - if (!($or$cond3)) { - _abort(); - // unreachable; - } - $9 = ((($5)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($7|0)==(0); - if ($13) { - $14 = ($1>>>0)<(256); - if ($14) { - $$2 = 0; - return ($$2|0); - } - $15 = (($1) + 4)|0; - $16 = ($4>>>0)<($15>>>0); - if (!($16)) { - $17 = (($4) - ($1))|0; - $18 = HEAP32[(20788)>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $$2 = $0; - return ($$2|0); - } - } - $$2 = 0; - return ($$2|0); - } - $21 = ($4>>>0)<($1>>>0); - if (!($21)) { - $22 = (($4) - ($1))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $$2 = $0; - return ($$2|0); - } - $24 = (($0) + ($1)|0); - $25 = $3 & 1; - $26 = $25 | $1; - $27 = $26 | 2; - HEAP32[$2>>2] = $27; - $28 = ((($24)) + 4|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = (($24) + ($22)|0); - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - _dispose_chunk($24,$22); - $$2 = $0; - return ($$2|0); - } - $34 = HEAP32[(20332)>>2]|0; - $35 = ($5|0)==($34|0); - if ($35) { - $36 = HEAP32[(20320)>>2]|0; - $37 = (($36) + ($4))|0; - $38 = ($37>>>0)>($1>>>0); - $39 = (($37) - ($1))|0; - $40 = (($0) + ($1)|0); - if (!($38)) { - $$2 = 0; - return ($$2|0); - } - $41 = $39 | 1; - $42 = ((($40)) + 4|0); - $43 = $3 & 1; - $44 = $43 | $1; - $45 = $44 | 2; - HEAP32[$2>>2] = $45; - HEAP32[$42>>2] = $41; - HEAP32[(20332)>>2] = $40; - HEAP32[(20320)>>2] = $39; - $$2 = $0; - return ($$2|0); - } - $46 = HEAP32[(20328)>>2]|0; - $47 = ($5|0)==($46|0); - if ($47) { - $48 = HEAP32[(20316)>>2]|0; - $49 = (($48) + ($4))|0; - $50 = ($49>>>0)<($1>>>0); - if ($50) { - $$2 = 0; - return ($$2|0); - } - $51 = (($49) - ($1))|0; - $52 = ($51>>>0)>(15); - $53 = $3 & 1; - if ($52) { - $54 = (($0) + ($1)|0); - $55 = (($54) + ($51)|0); - $56 = $53 | $1; - $57 = $56 | 2; - HEAP32[$2>>2] = $57; - $58 = ((($54)) + 4|0); - $59 = $51 | 1; - HEAP32[$58>>2] = $59; - HEAP32[$55>>2] = $51; - $60 = ((($55)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 & -2; - HEAP32[$60>>2] = $62; - $storemerge = $54;$storemerge1 = $51; - } else { - $63 = $53 | $49; - $64 = $63 | 2; - HEAP32[$2>>2] = $64; - $65 = (($0) + ($49)|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | 1; - HEAP32[$66>>2] = $68; - $storemerge = 0;$storemerge1 = 0; - } - HEAP32[(20316)>>2] = $storemerge1; - HEAP32[(20328)>>2] = $storemerge; - $$2 = $0; - return ($$2|0); - } - $69 = $10 & 2; - $70 = ($69|0)==(0); - if (!($70)) { - $$2 = 0; - return ($$2|0); - } - $71 = $10 & -8; - $72 = (($71) + ($4))|0; - $73 = ($72>>>0)<($1>>>0); - if ($73) { - $$2 = 0; - return ($$2|0); - } - $74 = (($72) - ($1))|0; - $75 = $10 >>> 3; - $76 = ($10>>>0)<(256); - L49: do { - if ($76) { - $77 = ((($5)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($5)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = $75 << 1; - $82 = (20348 + ($81<<2)|0); - $83 = ($78|0)==($82|0); - if (!($83)) { - $84 = ($78>>>0)<($6>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($78)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==($5|0); - if (!($87)) { - _abort(); - // unreachable; - } - } - $88 = ($80|0)==($78|0); - if ($88) { - $89 = 1 << $75; - $90 = $89 ^ -1; - $91 = HEAP32[5077]|0; - $92 = $91 & $90; - HEAP32[5077] = $92; - break; - } - $93 = ($80|0)==($82|0); - if ($93) { - $$pre = ((($80)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $94 = ($80>>>0)<($6>>>0); - if ($94) { - _abort(); - // unreachable; - } - $95 = ((($80)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==($5|0); - if ($97) { - $$pre$phiZ2D = $95; - } else { - _abort(); - // unreachable; - } - } - $98 = ((($78)) + 12|0); - HEAP32[$98>>2] = $80; - HEAP32[$$pre$phiZ2D>>2] = $78; - } else { - $99 = ((($5)) + 24|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($5)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)==($5|0); - do { - if ($103) { - $113 = ((($5)) + 16|0); - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $117 = HEAP32[$113>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - $$3 = 0; - break; - } else { - $$1272 = $117;$$1275 = $113; - } - } else { - $$1272 = $115;$$1275 = $114; - } - while(1) { - $119 = ((($$1272)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)==(0|0); - if (!($121)) { - $$1272 = $120;$$1275 = $119; - continue; - } - $122 = ((($$1272)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break; - } else { - $$1272 = $123;$$1275 = $122; - } - } - $125 = ($$1275>>>0)<($6>>>0); - if ($125) { - _abort(); - // unreachable; - } else { - HEAP32[$$1275>>2] = 0; - $$3 = $$1272; - break; - } - } else { - $104 = ((($5)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105>>>0)<($6>>>0); - if ($106) { - _abort(); - // unreachable; - } - $107 = ((($105)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==($5|0); - if (!($109)) { - _abort(); - // unreachable; - } - $110 = ((($102)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==($5|0); - if ($112) { - HEAP32[$107>>2] = $102; - HEAP32[$110>>2] = $105; - $$3 = $102; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $126 = ($100|0)==(0|0); - if (!($126)) { - $127 = ((($5)) + 28|0); - $128 = HEAP32[$127>>2]|0; - $129 = (20612 + ($128<<2)|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($5|0)==($130|0); - do { - if ($131) { - HEAP32[$129>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $132 = 1 << $128; - $133 = $132 ^ -1; - $134 = HEAP32[(20312)>>2]|0; - $135 = $134 & $133; - HEAP32[(20312)>>2] = $135; - break L49; - } - } else { - $136 = HEAP32[(20324)>>2]|0; - $137 = ($100>>>0)<($136>>>0); - if ($137) { - _abort(); - // unreachable; - } else { - $138 = ((($100)) + 16|0); - $139 = HEAP32[$138>>2]|0; - $not$ = ($139|0)!=($5|0); - $$sink1 = $not$&1; - $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); - HEAP32[$140>>2] = $$3; - $141 = ($$3|0)==(0|0); - if ($141) { - break L49; - } else { - break; - } - } - } - } while(0); - $142 = HEAP32[(20324)>>2]|0; - $143 = ($$3>>>0)<($142>>>0); - if ($143) { - _abort(); - // unreachable; - } - $144 = ((($$3)) + 24|0); - HEAP32[$144>>2] = $100; - $145 = ((($5)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==(0|0); - do { - if (!($147)) { - $148 = ($146>>>0)<($142>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = ((($$3)) + 16|0); - HEAP32[$149>>2] = $146; - $150 = ((($146)) + 24|0); - HEAP32[$150>>2] = $$3; - break; - } - } - } while(0); - $151 = ((($145)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[(20324)>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = ((($$3)) + 20|0); - HEAP32[$156>>2] = $152; - $157 = ((($152)) + 24|0); - HEAP32[$157>>2] = $$3; - break; - } - } - } - } - } while(0); - $158 = ($74>>>0)<(16); - $159 = $3 & 1; - if ($158) { - $160 = $72 | $159; - $161 = $160 | 2; - HEAP32[$2>>2] = $161; - $162 = (($0) + ($72)|0); - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $$2 = $0; - return ($$2|0); - } else { - $166 = (($0) + ($1)|0); - $167 = $159 | $1; - $168 = $167 | 2; - HEAP32[$2>>2] = $168; - $169 = ((($166)) + 4|0); - $170 = $74 | 3; - HEAP32[$169>>2] = $170; - $171 = (($166) + ($74)|0); - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 | 1; - HEAP32[$172>>2] = $174; - _dispose_chunk($166,$74); - $$2 = $0; - return ($$2|0); - } - return (0)|0; -} -function _dispose_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; - var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0) + ($1)|0); - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = $4 & 3; - $9 = ($8|0)==(0); - if ($9) { - return; - } - $10 = (0 - ($7))|0; - $11 = (($0) + ($10)|0); - $12 = (($7) + ($1))|0; - $13 = HEAP32[(20324)>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - _abort(); - // unreachable; - } - $15 = HEAP32[(20328)>>2]|0; - $16 = ($11|0)==($15|0); - if ($16) { - $100 = ((($2)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$1 = $11;$$1418 = $12; - break; - } - $104 = (($11) + ($12)|0); - $105 = ((($11)) + 4|0); - $106 = $12 | 1; - $107 = $101 & -2; - HEAP32[(20316)>>2] = $12; - HEAP32[$100>>2] = $107; - HEAP32[$105>>2] = $106; - HEAP32[$104>>2] = $12; - return; - } - $17 = $7 >>> 3; - $18 = ($7>>>0)<(256); - if ($18) { - $19 = ((($11)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($11)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = $17 << 1; - $24 = (20348 + ($23<<2)|0); - $25 = ($20|0)==($24|0); - if (!($25)) { - $26 = ($20>>>0)<($13>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($11|0); - if (!($29)) { - _abort(); - // unreachable; - } - } - $30 = ($22|0)==($20|0); - if ($30) { - $31 = 1 << $17; - $32 = $31 ^ -1; - $33 = HEAP32[5077]|0; - $34 = $33 & $32; - HEAP32[5077] = $34; - $$1 = $11;$$1418 = $12; - break; - } - $35 = ($22|0)==($24|0); - if ($35) { - $$pre25 = ((($22)) + 8|0); - $$pre$phi26Z2D = $$pre25; - } else { - $36 = ($22>>>0)<($13>>>0); - if ($36) { - _abort(); - // unreachable; - } - $37 = ((($22)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==($11|0); - if ($39) { - $$pre$phi26Z2D = $37; - } else { - _abort(); - // unreachable; - } - } - $40 = ((($20)) + 12|0); - HEAP32[$40>>2] = $22; - HEAP32[$$pre$phi26Z2D>>2] = $20; - $$1 = $11;$$1418 = $12; - break; - } - $41 = ((($11)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($11)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==($11|0); - do { - if ($45) { - $55 = ((($11)) + 16|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $59 = HEAP32[$55>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - $$3 = 0; - break; - } else { - $$1426 = $59;$$1429 = $55; - } - } else { - $$1426 = $57;$$1429 = $56; - } - while(1) { - $61 = ((($$1426)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $$1426 = $62;$$1429 = $61; - continue; - } - $64 = ((($$1426)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - break; - } else { - $$1426 = $65;$$1429 = $64; - } - } - $67 = ($$1429>>>0)<($13>>>0); - if ($67) { - _abort(); - // unreachable; - } else { - HEAP32[$$1429>>2] = 0; - $$3 = $$1426; - break; - } - } else { - $46 = ((($11)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47>>>0)<($13>>>0); - if ($48) { - _abort(); - // unreachable; - } - $49 = ((($47)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==($11|0); - if (!($51)) { - _abort(); - // unreachable; - } - $52 = ((($44)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==($11|0); - if ($54) { - HEAP32[$49>>2] = $44; - HEAP32[$52>>2] = $47; - $$3 = $44; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $68 = ($42|0)==(0|0); - if ($68) { - $$1 = $11;$$1418 = $12; - } else { - $69 = ((($11)) + 28|0); - $70 = HEAP32[$69>>2]|0; - $71 = (20612 + ($70<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($11|0)==($72|0); - do { - if ($73) { - HEAP32[$71>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $74 = 1 << $70; - $75 = $74 ^ -1; - $76 = HEAP32[(20312)>>2]|0; - $77 = $76 & $75; - HEAP32[(20312)>>2] = $77; - $$1 = $11;$$1418 = $12; - break L1; - } - } else { - $78 = HEAP32[(20324)>>2]|0; - $79 = ($42>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } else { - $80 = ((($42)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $not$1 = ($81|0)!=($11|0); - $$sink2 = $not$1&1; - $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); - HEAP32[$82>>2] = $$3; - $83 = ($$3|0)==(0|0); - if ($83) { - $$1 = $11;$$1418 = $12; - break L1; - } else { - break; - } - } - } - } while(0); - $84 = HEAP32[(20324)>>2]|0; - $85 = ($$3>>>0)<($84>>>0); - if ($85) { - _abort(); - // unreachable; - } - $86 = ((($$3)) + 24|0); - HEAP32[$86>>2] = $42; - $87 = ((($11)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0|0); - do { - if (!($89)) { - $90 = ($88>>>0)<($84>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = ((($$3)) + 16|0); - HEAP32[$91>>2] = $88; - $92 = ((($88)) + 24|0); - HEAP32[$92>>2] = $$3; - break; - } - } - } while(0); - $93 = ((($87)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$1 = $11;$$1418 = $12; - } else { - $96 = HEAP32[(20324)>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = ((($$3)) + 20|0); - HEAP32[$98>>2] = $94; - $99 = ((($94)) + 24|0); - HEAP32[$99>>2] = $$3; - $$1 = $11;$$1418 = $12; - break; - } - } - } - } else { - $$1 = $0;$$1418 = $1; - } - } while(0); - $108 = HEAP32[(20324)>>2]|0; - $109 = ($2>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $110 = ((($2)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[(20332)>>2]|0; - $115 = ($2|0)==($114|0); - $116 = HEAP32[(20328)>>2]|0; - if ($115) { - $117 = HEAP32[(20320)>>2]|0; - $118 = (($117) + ($$1418))|0; - HEAP32[(20320)>>2] = $118; - HEAP32[(20332)>>2] = $$1; - $119 = $118 | 1; - $120 = ((($$1)) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ($$1|0)==($116|0); - if (!($121)) { - return; - } - HEAP32[(20328)>>2] = 0; - HEAP32[(20316)>>2] = 0; - return; - } - $122 = ($2|0)==($116|0); - if ($122) { - $123 = HEAP32[(20316)>>2]|0; - $124 = (($123) + ($$1418))|0; - HEAP32[(20316)>>2] = $124; - HEAP32[(20328)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = (($$1) + ($124)|0); - HEAP32[$127>>2] = $124; - return; - } - $128 = $111 & -8; - $129 = (($128) + ($$1418))|0; - $130 = $111 >>> 3; - $131 = ($111>>>0)<(256); - L96: do { - if ($131) { - $132 = ((($2)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = ((($2)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = $130 << 1; - $137 = (20348 + ($136<<2)|0); - $138 = ($133|0)==($137|0); - if (!($138)) { - $139 = ($133>>>0)<($108>>>0); - if ($139) { - _abort(); - // unreachable; - } - $140 = ((($133)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==($2|0); - if (!($142)) { - _abort(); - // unreachable; - } - } - $143 = ($135|0)==($133|0); - if ($143) { - $144 = 1 << $130; - $145 = $144 ^ -1; - $146 = HEAP32[5077]|0; - $147 = $146 & $145; - HEAP32[5077] = $147; - break; - } - $148 = ($135|0)==($137|0); - if ($148) { - $$pre23 = ((($135)) + 8|0); - $$pre$phi24Z2D = $$pre23; - } else { - $149 = ($135>>>0)<($108>>>0); - if ($149) { - _abort(); - // unreachable; - } - $150 = ((($135)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==($2|0); - if ($152) { - $$pre$phi24Z2D = $150; - } else { - _abort(); - // unreachable; - } - } - $153 = ((($133)) + 12|0); - HEAP32[$153>>2] = $135; - HEAP32[$$pre$phi24Z2D>>2] = $133; - } else { - $154 = ((($2)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = ((($2)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($2|0); - do { - if ($158) { - $168 = ((($2)) + 16|0); - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$168>>2]|0; - $173 = ($172|0)==(0|0); - if ($173) { - $$3435 = 0; - break; - } else { - $$1433 = $172;$$1437 = $168; - } - } else { - $$1433 = $170;$$1437 = $169; - } - while(1) { - $174 = ((($$1433)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==(0|0); - if (!($176)) { - $$1433 = $175;$$1437 = $174; - continue; - } - $177 = ((($$1433)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - break; - } else { - $$1433 = $178;$$1437 = $177; - } - } - $180 = ($$1437>>>0)<($108>>>0); - if ($180) { - _abort(); - // unreachable; - } else { - HEAP32[$$1437>>2] = 0; - $$3435 = $$1433; - break; - } - } else { - $159 = ((($2)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160>>>0)<($108>>>0); - if ($161) { - _abort(); - // unreachable; - } - $162 = ((($160)) + 12|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($2|0); - if (!($164)) { - _abort(); - // unreachable; - } - $165 = ((($157)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==($2|0); - if ($167) { - HEAP32[$162>>2] = $157; - HEAP32[$165>>2] = $160; - $$3435 = $157; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $181 = ($155|0)==(0|0); - if (!($181)) { - $182 = ((($2)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = (20612 + ($183<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($2|0)==($185|0); - do { - if ($186) { - HEAP32[$184>>2] = $$3435; - $cond17 = ($$3435|0)==(0|0); - if ($cond17) { - $187 = 1 << $183; - $188 = $187 ^ -1; - $189 = HEAP32[(20312)>>2]|0; - $190 = $189 & $188; - HEAP32[(20312)>>2] = $190; - break L96; - } - } else { - $191 = HEAP32[(20324)>>2]|0; - $192 = ($155>>>0)<($191>>>0); - if ($192) { - _abort(); - // unreachable; - } else { - $193 = ((($155)) + 16|0); - $194 = HEAP32[$193>>2]|0; - $not$ = ($194|0)!=($2|0); - $$sink4 = $not$&1; - $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); - HEAP32[$195>>2] = $$3435; - $196 = ($$3435|0)==(0|0); - if ($196) { - break L96; - } else { - break; - } - } - } - } while(0); - $197 = HEAP32[(20324)>>2]|0; - $198 = ($$3435>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($$3435)) + 24|0); - HEAP32[$199>>2] = $155; - $200 = ((($2)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($$3435)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $$3435; - break; - } - } - } while(0); - $206 = ((($200)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(20324)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($$3435)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $$3435; - break; - } - } - } - } - } while(0); - $213 = $129 | 1; - $214 = ((($$1)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$1) + ($129)|0); - HEAP32[$215>>2] = $129; - $216 = HEAP32[(20328)>>2]|0; - $217 = ($$1|0)==($216|0); - if ($217) { - HEAP32[(20316)>>2] = $129; - return; - } else { - $$2 = $129; - } - } else { - $218 = $111 & -2; - HEAP32[$110>>2] = $218; - $219 = $$1418 | 1; - $220 = ((($$1)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$1) + ($$1418)|0); - HEAP32[$221>>2] = $$1418; - $$2 = $$1418; - } - $222 = $$2 >>> 3; - $223 = ($$2>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (20348 + ($224<<2)|0); - $226 = HEAP32[5077]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[5077] = $230; - $$pre = ((($225)) + 8|0); - $$0438 = $225;$$pre$phiZ2D = $$pre; - } else { - $231 = ((($225)) + 8|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(20324)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$0438 = $232;$$pre$phiZ2D = $231; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $235 = ((($$0438)) + 12|0); - HEAP32[$235>>2] = $$1; - $236 = ((($$1)) + 8|0); - HEAP32[$236>>2] = $$0438; - $237 = ((($$1)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$2 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $$0431 = 0; - } else { - $240 = ($$2>>>0)>(16777215); - if ($240) { - $$0431 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$2 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $$0431 = $262; - } - } - $263 = (20612 + ($$0431<<2)|0); - $264 = ((($$1)) + 28|0); - HEAP32[$264>>2] = $$0431; - $265 = ((($$1)) + 16|0); - $266 = ((($$1)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(20312)>>2]|0; - $268 = 1 << $$0431; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(20312)>>2] = $271; - HEAP32[$263>>2] = $$1; - $272 = ((($$1)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$1)) + 12|0); - HEAP32[$273>>2] = $$1; - $274 = ((($$1)) + 8|0); - HEAP32[$274>>2] = $$1; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($$0431|0)==(31); - $277 = $$0431 >>> 1; - $278 = (25 - ($277))|0; - $279 = $276 ? 0 : $278; - $280 = $$2 << $279; - $$0419 = $280;$$0420 = $275; - while(1) { - $281 = ((($$0420)) + 4|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 & -8; - $284 = ($283|0)==($$2|0); - if ($284) { - label = 121; - break; - } - $285 = $$0419 >>> 31; - $286 = (((($$0420)) + 16|0) + ($285<<2)|0); - $287 = $$0419 << 1; - $288 = HEAP32[$286>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - label = 118; - break; - } else { - $$0419 = $287;$$0420 = $288; - } - } - if ((label|0) == 118) { - $290 = HEAP32[(20324)>>2]|0; - $291 = ($286>>>0)<($290>>>0); - if ($291) { - _abort(); - // unreachable; - } - HEAP32[$286>>2] = $$1; - $292 = ((($$1)) + 24|0); - HEAP32[$292>>2] = $$0420; - $293 = ((($$1)) + 12|0); - HEAP32[$293>>2] = $$1; - $294 = ((($$1)) + 8|0); - HEAP32[$294>>2] = $$1; - return; - } - else if ((label|0) == 121) { - $295 = ((($$0420)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(20324)>>2]|0; - $298 = ($296>>>0)>=($297>>>0); - $not$19 = ($$0420>>>0)>=($297>>>0); - $299 = $298 & $not$19; - if (!($299)) { - _abort(); - // unreachable; - } - $300 = ((($296)) + 12|0); - HEAP32[$300>>2] = $$1; - HEAP32[$295>>2] = $$1; - $301 = ((($$1)) + 8|0); - HEAP32[$301>>2] = $296; - $302 = ((($$1)) + 12|0); - HEAP32[$302>>2] = $$0420; - $303 = ((($$1)) + 24|0); - HEAP32[$303>>2] = 0; - return; - } -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (20804|0); -} -function ___stdio_close($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 60|0); - $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); - HEAP32[$vararg_buffer>>2] = $3; - $4 = (___syscall6(6,($vararg_buffer|0))|0); - $5 = (___syscall_ret($4)|0); - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $3 = sp + 32|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$3>>2] = $5; - $6 = ((($3)) + 4|0); - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - ($5))|0; - HEAP32[$6>>2] = $9; - $10 = ((($3)) + 8|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $2; - $12 = (($9) + ($2))|0; - $13 = ((($0)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = $3; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $16 = (___syscall146(146,($vararg_buffer|0))|0); - $17 = (___syscall_ret($16)|0); - $18 = ($12|0)==($17|0); - L1: do { - if ($18) { - label = 3; - } else { - $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; - while(1) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } while(0); - if ((label|0) == 3) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 16|0); - HEAP32[$24>>2] = $23; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|0); -} -function ___stdio_seek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 20|0; - $4 = ((($0)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $1; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $6; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $2; - $7 = (___syscall140(140,($vararg_buffer|0))|0); - $8 = (___syscall_ret($7)|0); - $9 = ($8|0)<(0); - if ($9) { - HEAP32[$3>>2] = -1; - $10 = -1; - } else { - $$pre = HEAP32[$3>>2]|0; - $10 = $$pre; - } - STACKTOP = sp;return ($10|0); -} -function ___syscall_ret($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0>>>0)>(4294963200); - if ($1) { - $2 = (0 - ($0))|0; - $3 = (___errno_location()|0); - HEAP32[$3>>2] = $2; - $$0 = -1; - } else { - $$0 = $0; - } - return ($$0|0); -} -function ___errno_location() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (3744|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - HEAP32[$3>>2] = $1; - $4 = ((($3)) + 4|0); - $5 = ((($0)) + 48|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = $7&1; - $9 = (($2) - ($8))|0; - HEAP32[$4>>2] = $9; - $10 = ((($3)) + 8|0); - $11 = ((($0)) + 44|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($3)) + 12|0); - HEAP32[$13>>2] = $6; - $14 = ((($0)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = $3; - HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $17 = (___syscall145(145,($vararg_buffer|0))|0); - $18 = (___syscall_ret($17)|0); - $19 = ($18|0)<(1); - if ($19) { - $20 = $18 & 48; - $21 = $20 ^ 16; - $22 = HEAP32[$0>>2]|0; - $23 = $22 | $21; - HEAP32[$0>>2] = $23; - $$0 = $18; - } else { - $24 = HEAP32[$4>>2]|0; - $25 = ($18>>>0)>($24>>>0); - if ($25) { - $26 = (($18) - ($24))|0; - $27 = HEAP32[$11>>2]|0; - $28 = ((($0)) + 4|0); - HEAP32[$28>>2] = $27; - $29 = (($27) + ($26)|0); - $30 = ((($0)) + 8|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = $2; - } else { - $33 = ((($27)) + 1|0); - HEAP32[$28>>2] = $33; - $34 = HEAP8[$27>>0]|0; - $35 = (($2) + -1)|0; - $36 = (($1) + ($35)|0); - HEAP8[$36>>0] = $34; - $$0 = $2; - } - } else { - $$0 = $18; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 10; - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 64; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = $3; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21523; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $11 = (___syscall54(54,($vararg_buffer|0))|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($0)) + 75|0); - HEAP8[$13>>0] = -1; - } - } - $14 = (___stdio_write($0,$1,$2)|0); - STACKTOP = sp;return ($14|0); -} -function _strtox_768($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $5 = sp; - HEAP32[$5>>2] = 0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $0; - $7 = ((($5)) + 44|0); - HEAP32[$7>>2] = $0; - $8 = ($0|0)<(0|0); - $9 = ((($0)) + 2147483647|0); - $$sink = $8 ? (-1) : $9; - $10 = ((($5)) + 8|0); - HEAP32[$10>>2] = $$sink; - $11 = ((($5)) + 76|0); - HEAP32[$11>>2] = -1; - ___shlim($5,0); - $12 = (___intscan($5,$2,1,$3,$4)|0); - $13 = tempRet0; - $14 = ($1|0)==(0|0); - if (!($14)) { - $15 = ((($5)) + 108|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$6>>2]|0; - $18 = HEAP32[$10>>2]|0; - $19 = (($17) + ($16))|0; - $20 = (($19) - ($18))|0; - $21 = (($0) + ($20)|0); - HEAP32[$1>>2] = $21; - } - tempRet0 = ($13); - STACKTOP = sp;return ($12|0); -} -function ___shlim($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 104|0); - HEAP32[$2>>2] = $1; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ((($0)) + 108|0); - HEAP32[$10>>2] = $9; - $11 = ($1|0)!=(0); - $12 = ($9|0)>($1|0); - $or$cond = $11 & $12; - $13 = (($6) + ($1)|0); - $$sink = $or$cond ? $13 : $4; - $14 = ((($0)) + 100|0); - HEAP32[$14>>2] = $$sink; - return; -} -function ___intscan($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; - var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; - var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; - var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; - var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; - var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; - var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; - var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; - var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($1>>>0)>(36); - L1: do { - if ($5) { - $8 = (___errno_location()|0); - HEAP32[$8>>2] = 22; - $289 = 0;$290 = 0; - } else { - $6 = ((($0)) + 4|0); - $7 = ((($0)) + 100|0); - while(1) { - $9 = HEAP32[$6>>2]|0; - $10 = HEAP32[$7>>2]|0; - $11 = ($9>>>0)<($10>>>0); - if ($11) { - $12 = ((($9)) + 1|0); - HEAP32[$6>>2] = $12; - $13 = HEAP8[$9>>0]|0; - $14 = $13&255; - $16 = $14; - } else { - $15 = (___shgetc($0)|0); - $16 = $15; - } - $17 = (_isspace($16)|0); - $18 = ($17|0)==(0); - if ($18) { - break; - } - } - L11: do { - switch ($16|0) { - case 43: case 45: { - $19 = ($16|0)==(45); - $20 = $19 << 31 >> 31; - $21 = HEAP32[$6>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$6>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$0157 = $20;$$0159 = $26; - break L11; - } else { - $27 = (___shgetc($0)|0); - $$0157 = $20;$$0159 = $27; - break L11; - } - break; - } - default: { - $$0157 = 0;$$0159 = $16; - } - } - } while(0); - $28 = ($1|0)==(0); - $29 = $1 | 16; - $30 = ($29|0)==(16); - $31 = ($$0159|0)==(48); - $or$cond5 = $30 & $31; - do { - if ($or$cond5) { - $32 = HEAP32[$6>>2]|0; - $33 = HEAP32[$7>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$6>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $40 = $37; - } else { - $38 = (___shgetc($0)|0); - $40 = $38; - } - $39 = $40 | 32; - $41 = ($39|0)==(120); - if (!($41)) { - if ($28) { - $$1160169 = $40;$$1165168 = 8; - label = 46; - break; - } else { - $$1160 = $40;$$1165 = $1; - label = 32; - break; - } - } - $42 = HEAP32[$6>>2]|0; - $43 = HEAP32[$7>>2]|0; - $44 = ($42>>>0)<($43>>>0); - if ($44) { - $45 = ((($42)) + 1|0); - HEAP32[$6>>2] = $45; - $46 = HEAP8[$42>>0]|0; - $47 = $46&255; - $50 = $47; - } else { - $48 = (___shgetc($0)|0); - $50 = $48; - } - $49 = ((14761) + ($50)|0); - $51 = HEAP8[$49>>0]|0; - $52 = ($51&255)>(15); - if ($52) { - $53 = HEAP32[$7>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - $55 = HEAP32[$6>>2]|0; - $56 = ((($55)) + -1|0); - HEAP32[$6>>2] = $56; - } - $57 = ($2|0)==(0); - if ($57) { - ___shlim($0,0); - $289 = 0;$290 = 0; - break L1; - } - if (!($54)) { - $289 = 0;$290 = 0; - break L1; - } - $58 = HEAP32[$6>>2]|0; - $59 = ((($58)) + -1|0); - HEAP32[$6>>2] = $59; - $289 = 0;$290 = 0; - break L1; - } else { - $$1160169 = $50;$$1165168 = 16; - label = 46; - } - } else { - $$166 = $28 ? 10 : $1; - $60 = ((14761) + ($$0159)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($62>>>0)<($$166>>>0); - if ($63) { - $$1160 = $$0159;$$1165 = $$166; - label = 32; - } else { - $64 = HEAP32[$7>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$6>>2]|0; - $67 = ((($66)) + -1|0); - HEAP32[$6>>2] = $67; - } - ___shlim($0,0); - $68 = (___errno_location()|0); - HEAP32[$68>>2] = 22; - $289 = 0;$290 = 0; - break L1; - } - } - } while(0); - L43: do { - if ((label|0) == 32) { - $69 = ($$1165|0)==(10); - if ($69) { - $70 = (($$1160) + -48)|0; - $71 = ($70>>>0)<(10); - if ($71) { - $$0154222 = 0;$74 = $70; - while(1) { - $72 = ($$0154222*10)|0; - $73 = (($72) + ($74))|0; - $75 = HEAP32[$6>>2]|0; - $76 = HEAP32[$7>>2]|0; - $77 = ($75>>>0)<($76>>>0); - if ($77) { - $78 = ((($75)) + 1|0); - HEAP32[$6>>2] = $78; - $79 = HEAP8[$75>>0]|0; - $80 = $79&255; - $$2161$be = $80; - } else { - $81 = (___shgetc($0)|0); - $$2161$be = $81; - } - $82 = (($$2161$be) + -48)|0; - $83 = ($82>>>0)<(10); - $84 = ($73>>>0)<(429496729); - $85 = $83 & $84; - if ($85) { - $$0154222 = $73;$74 = $82; - } else { - break; - } - } - $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; - } else { - $$2161$lcssa = $$1160;$291 = 0;$292 = 0; - } - $86 = (($$2161$lcssa) + -48)|0; - $87 = ($86>>>0)<(10); - if ($87) { - $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; - while(1) { - $90 = (___muldi3(($88|0),($89|0),10,0)|0); - $91 = tempRet0; - $92 = ($93|0)<(0); - $94 = $92 << 31 >> 31; - $95 = $93 ^ -1; - $96 = $94 ^ -1; - $97 = ($91>>>0)>($96>>>0); - $98 = ($90>>>0)>($95>>>0); - $99 = ($91|0)==($96|0); - $100 = $99 & $98; - $101 = $97 | $100; - if ($101) { - $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; - label = 72; - break L43; - } - $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); - $103 = tempRet0; - $104 = HEAP32[$6>>2]|0; - $105 = HEAP32[$7>>2]|0; - $106 = ($104>>>0)<($105>>>0); - if ($106) { - $107 = ((($104)) + 1|0); - HEAP32[$6>>2] = $107; - $108 = HEAP8[$104>>0]|0; - $109 = $108&255; - $$3162$be = $109; - } else { - $110 = (___shgetc($0)|0); - $$3162$be = $110; - } - $111 = (($$3162$be) + -48)|0; - $112 = ($111>>>0)<(10); - $113 = ($103>>>0)<(429496729); - $114 = ($102>>>0)<(2576980378); - $115 = ($103|0)==(429496729); - $116 = $115 & $114; - $117 = $113 | $116; - $or$cond7 = $112 & $117; - if ($or$cond7) { - $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; - } else { - break; - } - } - $118 = ($111>>>0)>(9); - if ($118) { - $$1158 = $$0157;$263 = $103;$265 = $102; - } else { - $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; - label = 72; - } - } else { - $$1158 = $$0157;$263 = $292;$265 = $291; - } - } else { - $$1160169 = $$1160;$$1165168 = $$1165; - label = 46; - } - } - } while(0); - L63: do { - if ((label|0) == 46) { - $119 = (($$1165168) + -1)|0; - $120 = $119 & $$1165168; - $121 = ($120|0)==(0); - if ($121) { - $126 = ($$1165168*23)|0; - $127 = $126 >>> 5; - $128 = $127 & 7; - $129 = (15017 + ($128)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 << 24 >> 24; - $132 = ((14761) + ($$1160169)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($134>>>0)<($$1165168>>>0); - if ($135) { - $$1155192 = 0;$138 = $134; - while(1) { - $136 = $$1155192 << $131; - $137 = $138 | $136; - $139 = HEAP32[$6>>2]|0; - $140 = HEAP32[$7>>2]|0; - $141 = ($139>>>0)<($140>>>0); - if ($141) { - $142 = ((($139)) + 1|0); - HEAP32[$6>>2] = $142; - $143 = HEAP8[$139>>0]|0; - $144 = $143&255; - $$4163$be = $144; - } else { - $145 = (___shgetc($0)|0); - $$4163$be = $145; - } - $146 = ((14761) + ($$4163$be)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = ($148>>>0)<($$1165168>>>0); - $150 = ($137>>>0)<(134217728); - $151 = $150 & $149; - if ($151) { - $$1155192 = $137;$138 = $148; - } else { - break; - } - } - $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; - } else { - $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; - } - $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); - $153 = tempRet0; - $154 = $155&255; - $156 = ($154>>>0)>=($$1165168>>>0); - $157 = ($158>>>0)>($153>>>0); - $159 = ($160>>>0)>($152>>>0); - $161 = ($158|0)==($153|0); - $162 = $161 & $159; - $163 = $157 | $162; - $or$cond187 = $156 | $163; - if ($or$cond187) { - $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; - label = 72; - break; - } else { - $164 = $160;$165 = $158;$169 = $155; - } - while(1) { - $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); - $167 = tempRet0; - $168 = $169&255; - $170 = $168 | $166; - $171 = HEAP32[$6>>2]|0; - $172 = HEAP32[$7>>2]|0; - $173 = ($171>>>0)<($172>>>0); - if ($173) { - $174 = ((($171)) + 1|0); - HEAP32[$6>>2] = $174; - $175 = HEAP8[$171>>0]|0; - $176 = $175&255; - $$5$be = $176; - } else { - $177 = (___shgetc($0)|0); - $$5$be = $177; - } - $178 = ((14761) + ($$5$be)|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = ($180>>>0)>=($$1165168>>>0); - $182 = ($167>>>0)>($153>>>0); - $183 = ($170>>>0)>($152>>>0); - $184 = ($167|0)==($153|0); - $185 = $184 & $183; - $186 = $182 | $185; - $or$cond = $181 | $186; - if ($or$cond) { - $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; - label = 72; - break L63; - } else { - $164 = $170;$165 = $167;$169 = $179; - } - } - } - $122 = ((14761) + ($$1160169)|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = ($124>>>0)<($$1165168>>>0); - if ($125) { - $$2156210 = 0;$189 = $124; - while(1) { - $187 = Math_imul($$2156210, $$1165168)|0; - $188 = (($189) + ($187))|0; - $190 = HEAP32[$6>>2]|0; - $191 = HEAP32[$7>>2]|0; - $192 = ($190>>>0)<($191>>>0); - if ($192) { - $193 = ((($190)) + 1|0); - HEAP32[$6>>2] = $193; - $194 = HEAP8[$190>>0]|0; - $195 = $194&255; - $$6$be = $195; - } else { - $196 = (___shgetc($0)|0); - $$6$be = $196; - } - $197 = ((14761) + ($$6$be)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199>>>0)<($$1165168>>>0); - $201 = ($188>>>0)<(119304647); - $202 = $201 & $200; - if ($202) { - $$2156210 = $188;$189 = $199; - } else { - break; - } - } - $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; - } else { - $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; - } - $203 = $204&255; - $205 = ($203>>>0)<($$1165168>>>0); - if ($205) { - $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); - $207 = tempRet0; - $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; - while(1) { - $208 = ($209>>>0)>($207>>>0); - $210 = ($211>>>0)>($206>>>0); - $212 = ($209|0)==($207|0); - $213 = $212 & $210; - $214 = $208 | $213; - if ($214) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); - $216 = tempRet0; - $217 = $218&255; - $219 = $217 ^ -1; - $220 = ($216>>>0)>(4294967295); - $221 = ($215>>>0)>($219>>>0); - $222 = ($216|0)==(-1); - $223 = $222 & $221; - $224 = $220 | $223; - if ($224) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); - $226 = tempRet0; - $227 = HEAP32[$6>>2]|0; - $228 = HEAP32[$7>>2]|0; - $229 = ($227>>>0)<($228>>>0); - if ($229) { - $230 = ((($227)) + 1|0); - HEAP32[$6>>2] = $230; - $231 = HEAP8[$227>>0]|0; - $232 = $231&255; - $$7$be = $232; - } else { - $233 = (___shgetc($0)|0); - $$7$be = $233; - } - $234 = ((14761) + ($$7$be)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = ($236>>>0)<($$1165168>>>0); - if ($237) { - $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; - } else { - $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; - label = 72; - break; - } - } - } else { - $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; - label = 72; - } - } - } while(0); - if ((label|0) == 72) { - $238 = ((14761) + ($$8)|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240>>>0)<($$1165167>>>0); - if ($241) { - while(1) { - $242 = HEAP32[$6>>2]|0; - $243 = HEAP32[$7>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - $245 = ((($242)) + 1|0); - HEAP32[$6>>2] = $245; - $246 = HEAP8[$242>>0]|0; - $247 = $246&255; - $$9$be = $247; - } else { - $248 = (___shgetc($0)|0); - $$9$be = $248; - } - $249 = ((14761) + ($$9$be)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251>>>0)<($$1165167>>>0); - if (!($252)) { - break; - } - } - $253 = (___errno_location()|0); - HEAP32[$253>>2] = 34; - $254 = $3 & 1; - $255 = ($254|0)==(0); - $256 = (0)==(0); - $257 = $255 & $256; - $$0157$ = $257 ? $$0157 : 0; - $$1158 = $$0157$;$263 = $4;$265 = $3; - } else { - $$1158 = $$0157;$263 = $294;$265 = $293; - } - } - $258 = HEAP32[$7>>2]|0; - $259 = ($258|0)==(0|0); - if (!($259)) { - $260 = HEAP32[$6>>2]|0; - $261 = ((($260)) + -1|0); - HEAP32[$6>>2] = $261; - } - $262 = ($263>>>0)<($4>>>0); - $264 = ($265>>>0)<($3>>>0); - $266 = ($263|0)==($4|0); - $267 = $266 & $264; - $268 = $262 | $267; - if (!($268)) { - $269 = $3 & 1; - $270 = ($269|0)!=(0); - $271 = (0)!=(0); - $272 = $270 | $271; - $273 = ($$1158|0)!=(0); - $or$cond12 = $272 | $273; - if (!($or$cond12)) { - $274 = (___errno_location()|0); - HEAP32[$274>>2] = 34; - $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); - $276 = tempRet0; - $289 = $276;$290 = $275; - break; - } - $277 = ($263>>>0)>($4>>>0); - $278 = ($265>>>0)>($3>>>0); - $279 = ($263|0)==($4|0); - $280 = $279 & $278; - $281 = $277 | $280; - if ($281) { - $282 = (___errno_location()|0); - HEAP32[$282>>2] = 34; - $289 = $4;$290 = $3; - break; - } - } - $283 = ($$1158|0)<(0); - $284 = $283 << 31 >> 31; - $285 = $265 ^ $$1158; - $286 = $263 ^ $284; - $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); - $288 = tempRet0; - $289 = $288;$290 = $287; - } - } while(0); - tempRet0 = ($289); - return ($290|0); -} -function ___shgetc($0) { - $0 = $0|0; - var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 104|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - label = 3; - } else { - $4 = ((($0)) + 108|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)<($2|0); - if ($6) { - label = 3; - } else { - label = 4; - } - } - if ((label|0) == 3) { - $7 = (___uflow($0)|0); - $8 = ($7|0)<(0); - if ($8) { - label = 4; - } else { - $10 = HEAP32[$1>>2]|0; - $11 = ($10|0)==(0); - $$phi$trans$insert = ((($0)) + 8|0); - if ($11) { - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); - $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; - $$pre35 = ((($0)) + 108|0); - $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; - } else { - $12 = HEAP32[$$phi$trans$insert>>2]|0; - $13 = ((($0)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $14; - $16 = (($12) - ($15))|0; - $17 = ((($0)) + 108|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($10) - ($18))|0; - $20 = ($16|0)<($19|0); - $21 = $12; - if ($20) { - $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; - } else { - $22 = (($19) + -1)|0; - $23 = (($14) + ($22)|0); - $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; - } - } - $24 = ((($0)) + 100|0); - HEAP32[$24>>2] = $$sink; - $25 = ($26|0)==(0|0); - if (!($25)) { - $27 = $26; - $28 = $29; - $30 = HEAP32[$$pre$phi34Z2D>>2]|0; - $31 = (($27) + 1)|0; - $32 = (($31) - ($28))|0; - $33 = (($32) + ($30))|0; - HEAP32[$$pre$phi34Z2D>>2] = $33; - } - $34 = ((($29)) + -1|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==($7|0); - if ($37) { - $$0 = $7; - } else { - $38 = $7&255; - HEAP8[$34>>0] = $38; - $$0 = $7; - } - } - } - if ((label|0) == 4) { - $9 = ((($0)) + 100|0); - HEAP32[$9>>2] = 0; - $$0 = -1; - } - return ($$0|0); -} -function _isspace($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(32); - $2 = (($0) + -9)|0; - $3 = ($2>>>0)<(5); - $4 = $1 | $3; - $5 = $4&1; - return ($5|0); -} -function ___uflow($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = (___toread($0)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); - $7 = ($6|0)==(1); - if ($7) { - $8 = HEAP8[$1>>0]|0; - $9 = $8&255; - $$0 = $9; - } else { - $$0 = -1; - } - } else { - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___toread($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($0)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($8>>>0)>($10>>>0); - if ($11) { - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); - } - $14 = ((($0)) + 16|0); - HEAP32[$14>>2] = 0; - HEAP32[$9>>2] = 0; - HEAP32[$7>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = $15 & 4; - $17 = ($16|0)==(0); - if ($17) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = $23; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = $23; - $26 = $15 << 27; - $sext = $26 >> 31; - $$0 = $sext; - } else { - $18 = $15 | 32; - HEAP32[$0>>2] = $18; - $$0 = -1; - } - return ($$0|0); -} -function _strtol($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_strtox_768($0,$1,$2,-2147483648,0)|0); - $4 = tempRet0; - return ($3|0); -} -function _strcmp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP8[$0>>0]|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($2<<24>>24)!=($3<<24>>24); - $5 = ($2<<24>>24)==(0); - $or$cond9 = $5 | $4; - if ($or$cond9) { - $$lcssa = $3;$$lcssa8 = $2; - } else { - $$011 = $1;$$0710 = $0; - while(1) { - $6 = ((($$0710)) + 1|0); - $7 = ((($$011)) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = HEAP8[$7>>0]|0; - $10 = ($8<<24>>24)!=($9<<24>>24); - $11 = ($8<<24>>24)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $$lcssa = $9;$$lcssa8 = $8; - break; - } else { - $$011 = $7;$$0710 = $6; - } - } - } - $12 = $$lcssa8&255; - $13 = $$lcssa&255; - $14 = (($12) - ($13))|0; - return ($14|0); -} -function _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _strncmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - if ($3) { - $$020 = 0; - } else { - $4 = HEAP8[$0>>0]|0; - $5 = $4&255; - $6 = ($4<<24>>24)==(0); - $7 = HEAP8[$1>>0]|0; - $8 = $7&255; - L3: do { - if ($6) { - $$lcssa = $8;$$lcssa22 = $5; - } else { - $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; - while(1) { - $$01926 = (($$01926$in) + -1)|0; - $9 = ($10<<24>>24)!=(0); - $11 = ($$01926|0)!=(0); - $or$cond = $11 & $9; - $12 = ($13<<24>>24)==($10<<24>>24); - $or$cond21 = $12 & $or$cond; - if (!($or$cond21)) { - $$lcssa = $22;$$lcssa22 = $23; - break L3; - } - $14 = ((($$01824)) + 1|0); - $15 = ((($$025)) + 1|0); - $16 = HEAP8[$14>>0]|0; - $17 = $16&255; - $18 = ($16<<24>>24)==(0); - $19 = HEAP8[$15>>0]|0; - $20 = $19&255; - if ($18) { - $$lcssa = $20;$$lcssa22 = $17; - break; - } else { - $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; - } - } - } - } while(0); - $21 = (($$lcssa22) - ($$lcssa))|0; - $$020 = $21; - } - return ($$020|0); -} -function _vsprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_vsnprintf($0,2147483647,$1,$2)|0); - return ($3|0); -} -function _vsnprintf($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $4 = sp + 124|0; - $5 = sp; - dest=$5; src=4120; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = (($1) + -1)|0; - $7 = ($6>>>0)>(2147483646); - if ($7) { - $8 = ($1|0)==(0); - if ($8) { - $$014 = $4;$$015 = 1; - label = 4; - } else { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 75; - $$0 = -1; - } - } else { - $$014 = $0;$$015 = $1; - label = 4; - } - if ((label|0) == 4) { - $10 = $$014; - $11 = (-2 - ($10))|0; - $12 = ($$015>>>0)>($11>>>0); - $$$015 = $12 ? $11 : $$015; - $13 = ((($5)) + 48|0); - HEAP32[$13>>2] = $$$015; - $14 = ((($5)) + 20|0); - HEAP32[$14>>2] = $$014; - $15 = ((($5)) + 44|0); - HEAP32[$15>>2] = $$014; - $16 = (($$014) + ($$$015)|0); - $17 = ((($5)) + 16|0); - HEAP32[$17>>2] = $16; - $18 = ((($5)) + 28|0); - HEAP32[$18>>2] = $16; - $19 = (_vfprintf($5,$2,$3)|0); - $20 = ($$$015|0)==(0); - if ($20) { - $$0 = $19; - } else { - $21 = HEAP32[$14>>2]|0; - $22 = HEAP32[$17>>2]|0; - $23 = ($21|0)==($22|0); - $24 = $23 << 31 >> 31; - $25 = (($21) + ($24)|0); - HEAP8[$25>>0] = 0; - $$0 = $19; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vfprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $3 = sp + 120|0; - $4 = sp + 80|0; - $5 = sp; - $6 = sp + 136|0; - dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = $vacopy_currentptr; - $7 = (_printf_core(0,$1,$3,$5,$4)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = -1; - } else { - $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(-1); - if ($11) { - $12 = (___lockfile($0)|0); - $40 = $12; - } else { - $40 = 0; - } - $13 = HEAP32[$0>>2]|0; - $14 = $13 & 32; - $15 = ((($0)) + 74|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)<(1); - if ($17) { - $18 = $13 & -33; - HEAP32[$0>>2] = $18; - } - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $23 = ((($0)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$23>>2] = $6; - $25 = ((($0)) + 28|0); - HEAP32[$25>>2] = $6; - $26 = ((($0)) + 20|0); - HEAP32[$26>>2] = $6; - HEAP32[$19>>2] = 80; - $27 = ((($6)) + 80|0); - $28 = ((($0)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = (_printf_core($0,$1,$3,$5,$4)|0); - $30 = ($24|0)==(0|0); - if ($30) { - $$1 = $29; - } else { - $31 = ((($0)) + 36|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); - $33 = HEAP32[$26>>2]|0; - $34 = ($33|0)==(0|0); - $$ = $34 ? -1 : $29; - HEAP32[$23>>2] = $24; - HEAP32[$19>>2] = 0; - HEAP32[$28>>2] = 0; - HEAP32[$25>>2] = 0; - HEAP32[$26>>2] = 0; - $$1 = $$; - } - } else { - $22 = (_printf_core($0,$1,$3,$5,$4)|0); - $$1 = $22; - } - $35 = HEAP32[$0>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - $$1$ = $37 ? $$1 : -1; - $38 = $35 | $14; - HEAP32[$0>>2] = $38; - $39 = ($40|0)==(0); - if (!($39)) { - ___unlockfile($0); - } - $$0 = $$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _printf_core($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; - var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 24|0; - $8 = sp + 8|0; - $9 = sp + 20|0; - HEAP32[$5>>2] = $1; - $10 = ($0|0)!=(0|0); - $11 = ((($7)) + 40|0); - $12 = $11; - $13 = ((($7)) + 39|0); - $14 = ((($8)) + 4|0); - $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; - L1: while(1) { - $15 = ($$0247|0)>(-1); - do { - if ($15) { - $16 = (2147483647 - ($$0247))|0; - $17 = ($$0243|0)>($16|0); - if ($17) { - $18 = (___errno_location()|0); - HEAP32[$18>>2] = 75; - $$1248 = -1; - break; - } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; - break; - } - } else { - $$1248 = $$0247; - } - } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; - break; - } - case 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; - break; - } - default: { - } - } - $24 = ((($25)) + 1|0); - HEAP32[$5>>2] = $24; - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = ((($27)) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$0249$lcssa = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $30;$27 = $31; - label = 9; - } else { - $$0249$lcssa = $30;$39 = $31; - break; - } - } - } - } while(0); - $34 = $$0249$lcssa; - $35 = $21; - $36 = (($34) - ($35))|0; - if ($10) { - _out($0,$21,$36); - } - $37 = ($36|0)==(0); - if (!($37)) { - $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; - continue; - } - $38 = ((($39)) + 1|0); - $40 = HEAP8[$38>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($39)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($39)) + 3|0); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } else { - $$0253 = -1;$$1270 = $$0269;$storemerge = $38; - } - HEAP32[$5>>2] = $storemerge; - $46 = HEAP8[$storemerge>>0]|0; - $47 = $46 << 24 >> 24; - $48 = (($47) + -32)|0; - $49 = ($48>>>0)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((15026 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15490;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15490;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 15490 : (15492); - $$$ = $238 ? $$ : (15491); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15490;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15490;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15500; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 15490;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (15490 + ($208)|0); - $$289 = $or$cond283 ? 15490 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15490;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; - $$0228$ = $or$cond ? $$0228 : $11; - $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; - } - else if ((label|0) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } else { - $$0 = $$1248; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___lockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _out($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = $3 & 32; - $5 = ($4|0)==(0); - if ($5) { - (___fwritex($1,$2,$0)|0); - } - return; -} -function _getint($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $isdigittmp4 = (($3) + -48)|0; - $isdigit5 = ($isdigittmp4>>>0)<(10); - if ($isdigit5) { - $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; - while(1) { - $4 = ($$06*10)|0; - $5 = (($isdigittmp7) + ($4))|0; - $6 = ((($7)) + 1|0); - HEAP32[$0>>2] = $6; - $8 = HEAP8[$6>>0]|0; - $9 = $8 << 24 >> 24; - $isdigittmp = (($9) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; - } else { - $$0$lcssa = $5; - break; - } - } - } else { - $$0$lcssa = 0; - } - return ($$0$lcssa|0); -} -function _pop_arg($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(20); - L1: do { - if (!($3)) { - do { - switch ($1|0) { - case 9: { - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded28 = $5; - $expanded = (($expanded28) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded32 = $7; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $8 = $6 & $expanded30; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - HEAP32[$0>>2] = $10; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$2>>2]|0; - $11 = $arglist_current2; - $12 = ((0) + 4|0); - $expanded35 = $12; - $expanded34 = (($expanded35) - 1)|0; - $13 = (($11) + ($expanded34))|0; - $14 = ((0) + 4|0); - $expanded39 = $14; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $15 = $13 & $expanded37; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $arglist_next3 = ((($16)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$2>>2]|0; - $24 = $arglist_current5; - $25 = ((0) + 4|0); - $expanded42 = $25; - $expanded41 = (($expanded42) - 1)|0; - $26 = (($24) + ($expanded41))|0; - $27 = ((0) + 4|0); - $expanded46 = $27; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $28 = $26 & $expanded44; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $arglist_next6 = ((($29)) + 4|0); - HEAP32[$2>>2] = $arglist_next6; - $31 = $0; - $32 = $31; - HEAP32[$32>>2] = $30; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$2>>2]|0; - $35 = $arglist_current8; - $36 = ((0) + 8|0); - $expanded49 = $36; - $expanded48 = (($expanded49) - 1)|0; - $37 = (($35) + ($expanded48))|0; - $38 = ((0) + 8|0); - $expanded53 = $38; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $39 = $37 & $expanded51; - $40 = $39; - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $arglist_next9 = ((($40)) + 8|0); - HEAP32[$2>>2] = $arglist_next9; - $47 = $0; - $48 = $47; - HEAP32[$48>>2] = $43; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$2>>2]|0; - $51 = $arglist_current11; - $52 = ((0) + 4|0); - $expanded56 = $52; - $expanded55 = (($expanded56) - 1)|0; - $53 = (($51) + ($expanded55))|0; - $54 = ((0) + 4|0); - $expanded60 = $54; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $55 = $53 & $expanded58; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $arglist_next12 = ((($56)) + 4|0); - HEAP32[$2>>2] = $arglist_next12; - $58 = $57&65535; - $59 = $58 << 16 >> 16; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = $0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$2>>2]|0; - $66 = $arglist_current14; - $67 = ((0) + 4|0); - $expanded63 = $67; - $expanded62 = (($expanded63) - 1)|0; - $68 = (($66) + ($expanded62))|0; - $69 = ((0) + 4|0); - $expanded67 = $69; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $70 = $68 & $expanded65; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $arglist_next15 = ((($71)) + 4|0); - HEAP32[$2>>2] = $arglist_next15; - $$mask31 = $72 & 65535; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $$mask31; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$2>>2]|0; - $77 = $arglist_current17; - $78 = ((0) + 4|0); - $expanded70 = $78; - $expanded69 = (($expanded70) - 1)|0; - $79 = (($77) + ($expanded69))|0; - $80 = ((0) + 4|0); - $expanded74 = $80; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $81 = $79 & $expanded72; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $arglist_next18 = ((($82)) + 4|0); - HEAP32[$2>>2] = $arglist_next18; - $84 = $83&255; - $85 = $84 << 24 >> 24; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$2>>2]|0; - $92 = $arglist_current20; - $93 = ((0) + 4|0); - $expanded77 = $93; - $expanded76 = (($expanded77) - 1)|0; - $94 = (($92) + ($expanded76))|0; - $95 = ((0) + 4|0); - $expanded81 = $95; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $96 = $94 & $expanded79; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next21 = ((($97)) + 4|0); - HEAP32[$2>>2] = $arglist_next21; - $$mask = $98 & 255; - $99 = $0; - $100 = $99; - HEAP32[$100>>2] = $$mask; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$2>>2]|0; - $103 = $arglist_current23; - $104 = ((0) + 8|0); - $expanded84 = $104; - $expanded83 = (($expanded84) - 1)|0; - $105 = (($103) + ($expanded83))|0; - $106 = ((0) + 8|0); - $expanded88 = $106; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $107 = $105 & $expanded86; - $108 = $107; - $109 = +HEAPF64[$108>>3]; - $arglist_next24 = ((($108)) + 8|0); - HEAP32[$2>>2] = $arglist_next24; - HEAPF64[$0>>3] = $109; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$2>>2]|0; - $110 = $arglist_current26; - $111 = ((0) + 8|0); - $expanded91 = $111; - $expanded90 = (($expanded91) - 1)|0; - $112 = (($110) + ($expanded90))|0; - $113 = ((0) + 8|0); - $expanded95 = $113; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $114 = $112 & $expanded93; - $115 = $114; - $116 = +HEAPF64[$115>>3]; - $arglist_next27 = ((($115)) + 8|0); - HEAP32[$2>>2] = $arglist_next27; - HEAPF64[$0>>3] = $116; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_x($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0); - $5 = ($1|0)==(0); - $6 = $4 & $5; - if ($6) { - $$05$lcssa = $2; - } else { - $$056 = $2;$15 = $1;$8 = $0; - while(1) { - $7 = $8 & 15; - $9 = (15542 + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 | $3; - $13 = $12&255; - $14 = ((($$056)) + -1|0); - HEAP8[$14>>0] = $13; - $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); - $17 = tempRet0; - $18 = ($16|0)==(0); - $19 = ($17|0)==(0); - $20 = $18 & $19; - if ($20) { - $$05$lcssa = $14; - break; - } else { - $$056 = $14;$15 = $17;$8 = $16; - } - } - } - return ($$05$lcssa|0); -} -function _fmt_o($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; - } else { - $$06 = $2;$11 = $1;$7 = $0; - while(1) { - $6 = $7&255; - $8 = $6 & 7; - $9 = $8 | 48; - $10 = ((($$06)) + -1|0); - HEAP8[$10>>0] = $9; - $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); - $13 = tempRet0; - $14 = ($12|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - if ($16) { - $$0$lcssa = $10; - break; - } else { - $$06 = $10;$11 = $13;$7 = $12; - } - } - } - return ($$0$lcssa|0); -} -function _fmt_u($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(0); - $4 = ($0>>>0)>(4294967295); - $5 = ($1|0)==(0); - $6 = $5 & $4; - $7 = $3 | $6; - if ($7) { - $$0914 = $2;$8 = $0;$9 = $1; - while(1) { - $10 = (___uremdi3(($8|0),($9|0),10,0)|0); - $11 = tempRet0; - $12 = $10&255; - $13 = $12 | 48; - $14 = ((($$0914)) + -1|0); - HEAP8[$14>>0] = $13; - $15 = (___udivdi3(($8|0),($9|0),10,0)|0); - $16 = tempRet0; - $17 = ($9>>>0)>(9); - $18 = ($8>>>0)>(4294967295); - $19 = ($9|0)==(9); - $20 = $19 & $18; - $21 = $17 | $20; - if ($21) { - $$0914 = $14;$8 = $15;$9 = $16; - } else { - break; - } - } - $$010$lcssa$off0 = $15;$$09$lcssa = $14; - } else { - $$010$lcssa$off0 = $0;$$09$lcssa = $2; - } - $22 = ($$010$lcssa$off0|0)==(0); - if ($22) { - $$1$lcssa = $$09$lcssa; - } else { - $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; - while(1) { - $23 = (($$012>>>0) % 10)&-1; - $24 = $23 | 48; - $25 = $24&255; - $26 = ((($$111)) + -1|0); - HEAP8[$26>>0] = $25; - $27 = (($$012>>>0) / 10)&-1; - $28 = ($$012>>>0)<(10); - if ($28) { - $$1$lcssa = $26; - break; - } else { - $$012 = $27;$$111 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _strerror($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___pthread_self_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|0); -} -function _memchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1 & 255; - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)!=(0); - $7 = ($2|0)!=(0); - $or$cond53 = $7 & $6; - L1: do { - if ($or$cond53) { - $8 = $1&255; - $$03555 = $0;$$03654 = $2; - while(1) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; - } - $11 = ((($$03555)) + 1|0); - $12 = (($$03654) + -1)|0; - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($12|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$03555 = $11;$$03654 = $12; - } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; - label = 6; - } else { - $$2 = $$035$lcssa;$$3 = 0; - } - } - L8: do { - if ((label|0) == 6) { - $17 = HEAP8[$$035$lcssa65>>0]|0; - $18 = $1&255; - $19 = ($17<<24>>24)==($18<<24>>24); - if ($19) { - $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; - } else { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; - while(1) { - $22 = HEAP32[$$046>>2]|0; - $23 = $22 ^ $20; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - break; - } - $29 = ((($$046)) + 4|0); - $30 = (($$13745) + -4)|0; - $31 = ($30>>>0)>(3); - if ($31) { - $$046 = $29;$$13745 = $30; - } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; - } - } - $$140 = $$046;$$23839 = $$13745; - } else { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; - } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; - } - } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; - } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; - } - } - } - } - } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); -} -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $5 = sp; - $6 = $4 & 73728; - $7 = ($6|0)==(0); - $8 = ($2|0)>($3|0); - $or$cond = $8 & $7; - if ($or$cond) { - $9 = (($2) - ($3))|0; - $10 = ($9>>>0)<(256); - $11 = $10 ? $9 : 256; - _memset(($5|0),($1|0),($11|0))|0; - $12 = ($9>>>0)>(255); - if ($12) { - $13 = (($2) - ($3))|0; - $$011 = $9; - while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; - } else { - break; - } - } - $16 = $13 & 255; - $$0$lcssa = $16; - } else { - $$0$lcssa = $9; - } - _out($0,$5,$$0$lcssa); - } - STACKTOP = sp;return; -} -function _wctomb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = (_wcrtomb($0,$1,0)|0); - $$0 = $3; - } - return ($$0|0); -} -function _fmt_fp($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; - var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 524|0; - $9 = $8; - $10 = sp + 512|0; - HEAP32[$7>>2] = 0; - $11 = ((($10)) + 12|0); - (___DOUBLE_BITS_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15507; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (15508) : (15513); - $$$ = $16 ? $$ : (15510); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (15542 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $85 = $84&255; - $86 = ((($$0523)) + 1|0); - HEAP8[$$0523>>0] = $85; - $87 = (+($80|0)); - $88 = $$2473 - $87; - $89 = $88 * 16.0; - $90 = $86; - $91 = (($90) - ($9))|0; - $92 = ($91|0)==(1); - if ($92) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$3501$lcssa; - $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; - } else { - $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; - } - $$7505 = $$7505$ph; - while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,15558,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,15558,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 15526 : 15530; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 15534 : 15538; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _frexpl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_frexp($0,$1)); - return (+$2); -} -function _frexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $5 = tempRet0; - $6 = $4&65535; - $trunc$clear = $6 & 2047; - switch ($trunc$clear<<16>>16) { - case 0: { - $7 = $0 != 0.0; - if ($7) { - $8 = $0 * 1.8446744073709552E+19; - $9 = (+_frexp($8,$1)); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + -64)|0; - $$016 = $9;$storemerge = $11; - } else { - $$016 = $0;$storemerge = 0; - } - HEAP32[$1>>2] = $storemerge; - $$0 = $$016; - break; - } - case 2047: { - $$0 = $0; - break; - } - default: { - $12 = $4 & 2047; - $13 = (($12) + -1022)|0; - HEAP32[$1>>2] = $13; - $14 = $3 & -2146435073; - $15 = $14 | 1071644672; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $16; - } - } - return (+$$0); -} -function _wcrtomb($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; - } else { - $4 = ($1>>>0)<(128); - if ($4) { - $5 = $1&255; - HEAP8[$0>>0] = $5; - $$0 = 1; - break; - } - $6 = (___pthread_self_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___strerror_l($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $$016 = 0; - while(1) { - $3 = (15560 + ($$016)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==($0|0); - if ($6) { - label = 2; - break; - } - $7 = (($$016) + 1)|0; - $8 = ($7|0)==(87); - if ($8) { - $$01214 = 15648;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 15648; - } else { - $$01214 = 15648;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; - while(1) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { - break; - } else { - $$113 = $11; - } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } - } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); -} -function ___lctrans($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); -} -function ___lctrans_impl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = HEAP32[$1>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (___mo_lookup($3,$5,$0)|0); - $$0 = $6; - } - $7 = ($$0|0)!=(0|0); - $8 = $7 ? $$0 : $0; - return ($8|0); -} -function ___mo_lookup($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 1794895138)|0; - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_swapc($6,$4)|0); - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_swapc($9,$4)|0); - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_swapc($12,$4)|0); - $14 = $1 >>> 2; - $15 = ($7>>>0)<($14>>>0); - L1: do { - if ($15) { - $16 = $7 << 2; - $17 = (($1) - ($16))|0; - $18 = ($10>>>0)<($17>>>0); - $19 = ($13>>>0)<($17>>>0); - $or$cond = $18 & $19; - if ($or$cond) { - $20 = $13 | $10; - $21 = $20 & 3; - $22 = ($21|0)==(0); - if ($22) { - $23 = $10 >>> 2; - $24 = $13 >>> 2; - $$090 = 0;$$094 = $7; - while(1) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_swapc($30,$4)|0); - $32 = (($28) + 1)|0; - $33 = (($0) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_swapc($34,$4)|0); - $36 = ($35>>>0)<($1>>>0); - $37 = (($1) - ($35))|0; - $38 = ($31>>>0)<($37>>>0); - $or$cond102 = $36 & $38; - if (!($or$cond102)) { - $$4 = 0; - break L1; - } - $39 = (($35) + ($31))|0; - $40 = (($0) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==(0); - if (!($42)) { - $$4 = 0; - break L1; - } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { - break; - } - $62 = ($$094|0)==(1); - $63 = ($44|0)<(0); - $64 = (($$094) - ($25))|0; - $$195 = $63 ? $25 : $64; - $$191 = $63 ? $$090 : $26; - if ($62) { - $$4 = 0; - break L1; - } else { - $$090 = $$191;$$094 = $$195; - } - } - $46 = (($27) + ($24))|0; - $47 = (($0) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_swapc($48,$4)|0); - $50 = (($46) + 1)|0; - $51 = (($0) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_swapc($52,$4)|0); - $54 = ($53>>>0)<($1>>>0); - $55 = (($1) - ($53))|0; - $56 = ($49>>>0)<($55>>>0); - $or$cond104 = $54 & $56; - if ($or$cond104) { - $57 = (($0) + ($53)|0); - $58 = (($53) + ($49))|0; - $59 = (($0) + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)==(0); - $$ = $61 ? $57 : 0; - $$4 = $$; - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } while(0); - return ($$4|0); -} -function _swapc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); -} -function ___fwritex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $7 = (___towrite($2)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$3>>2]|0; - $12 = $$pre; - label = 5; - } else { - $$1 = 0; - } - } else { - $6 = $4; - $12 = $6; - label = 5; - } - L5: do { - if ((label|0) == 5) { - $9 = ((($2)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($12) - ($10))|0; - $13 = ($11>>>0)<($1>>>0); - $14 = $10; - if ($13) { - $15 = ((($2)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); - $$1 = $17; - break; - } - $18 = ((($2)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)>(-1); - L10: do { - if ($20) { - $$038 = $1; - while(1) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; - } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { - break; - } else { - $$038 = $22; - } - } - $26 = ((($2)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); - $29 = ($28>>>0)<($$038>>>0); - if ($29) { - $$1 = $28; - break L5; - } - $30 = (($0) + ($$038)|0); - $$042 = (($1) - ($$038))|0; - $$pre47 = HEAP32[$9>>2]|0; - $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; - } else { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - } - } while(0); - _memcpy(($31|0),($$141|0),($$143|0))|0; - $32 = HEAP32[$9>>2]|0; - $33 = (($32) + ($$143)|0); - HEAP32[$9>>2] = $33; - $34 = (($$139) + ($$143))|0; - $$1 = $34; - } - } while(0); - return ($$1|0); -} -function ___towrite($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 8; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($0)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 28|0); - HEAP32[$15>>2] = $14; - $16 = ((($0)) + 20|0); - HEAP32[$16>>2] = $14; - $17 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _sn_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - $8 = (($4) - ($7))|0; - $9 = ($8>>>0)>($2>>>0); - $$ = $9 ? $2 : $8; - _memcpy(($6|0),($1|0),($$|0))|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + ($$)|0); - HEAP32[$5>>2] = $11; - return ($2|0); -} -function _scalbn($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; - var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)>(1023); - if ($2) { - $3 = $0 * 8.9884656743115795E+307; - $4 = (($1) + -1023)|0; - $5 = ($4|0)>(1023); - $6 = $3 * 8.9884656743115795E+307; - $7 = (($1) + -2046)|0; - $8 = ($7|0)<(1023); - $$ = $8 ? $7 : 1023; - $$$ = $5 ? $$ : $4; - $$21 = $5 ? $6 : $3; - $$0 = $$21;$$020 = $$$; - } else { - $9 = ($1|0)<(-1022); - if ($9) { - $10 = $0 * 2.2250738585072014E-308; - $11 = (($1) + 1022)|0; - $12 = ($11|0)<(-1022); - $13 = $10 * 2.2250738585072014E-308; - $14 = (($1) + 2044)|0; - $15 = ($14|0)>(-1022); - $$1 = $15 ? $14 : -1022; - $$1$ = $12 ? $$1 : $11; - $$22 = $12 ? $13 : $10; - $$0 = $$22;$$020 = $$1$; - } else { - $$0 = $0;$$020 = $1; - } - } - $16 = (($$020) + 1023)|0; - $17 = (_bitshift64Shl(($16|0),0,52)|0); - $18 = tempRet0; - HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; - $20 = $$0 * $19; - return (+$20); -} -function _strlen($0) { - $0 = $0|0; - var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1 & 3; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $$015$lcssa = $0; - label = 4; - } else { - $$01519 = $0;$23 = $1; - while(1) { - $4 = HEAP8[$$01519>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - $$sink = $23; - break L1; - } - $6 = ((($$01519)) + 1|0); - $7 = $6; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if ($9) { - $$015$lcssa = $6; - label = 4; - break; - } else { - $$01519 = $6;$23 = $7; - } - } - } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; - while(1) { - $10 = HEAP32[$$0>>2]|0; - $11 = (($10) + -16843009)|0; - $12 = $10 & -2139062144; - $13 = $12 ^ -2139062144; - $14 = $13 & $11; - $15 = ($14|0)==(0); - $16 = ((($$0)) + 4|0); - if ($15) { - $$0 = $16; - } else { - break; - } - } - $17 = $10&255; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$1$lcssa = $$0; - } else { - $$pn = $$0; - while(1) { - $19 = ((($$pn)) + 1|0); - $$pre = HEAP8[$19>>0]|0; - $20 = ($$pre<<24>>24)==(0); - if ($20) { - $$1$lcssa = $19; - break; - } else { - $$pn = $19; - } - } - } - $21 = $$1$lcssa; - $$sink = $21; - } - $22 = (($$sink) - ($1))|0; - return ($22|0); -} -function _strchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function _ldexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function ___unlist_locked_file($0) { - $0 = $0|0; - var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 68|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = ((($0)) + 116|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - $$pre = ((($0)) + 112|0); - if (!($6)) { - $7 = HEAP32[$$pre>>2]|0; - $8 = ((($5)) + 112|0); - HEAP32[$8>>2] = $7; - } - $9 = HEAP32[$$pre>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $12 = (___pthread_self_607()|0); - $13 = ((($12)) + 232|0); - $$sink = $13; - } else { - $11 = ((($9)) + 116|0); - $$sink = $11; - } - HEAP32[$$sink>>2] = $5; - } - return; -} -function ___pthread_self_607() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _fopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer8 = sp + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $memchr = (_memchr(17452,$3,4)|0); - $4 = ($memchr|0)==(0|0); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $$0 = 0; - } else { - $6 = (___fmodeflags($1)|0); - $7 = $0; - $8 = $6 | 32768; - HEAP32[$vararg_buffer>>2] = $7; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $9 = (___syscall5(5,($vararg_buffer|0))|0); - $10 = (___syscall_ret($9)|0); - $11 = ($10|0)<(0); - if ($11) { - $$0 = 0; - } else { - $12 = $6 & 524288; - $13 = ($12|0)==(0); - if (!($13)) { - HEAP32[$vararg_buffer3>>2] = $10; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 2; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 1; - (___syscall221(221,($vararg_buffer3|0))|0); - } - $14 = (___fdopen($10,$1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$vararg_buffer8>>2] = $10; - (___syscall6(6,($vararg_buffer8|0))|0); - $$0 = 0; - } else { - $$0 = $14; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($0) { - $0 = $0|0; - var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_strchr($0,43)|0); - $2 = ($1|0)==(0|0); - $3 = HEAP8[$0>>0]|0; - $not$ = ($3<<24>>24)!=(114); - $$ = $not$&1; - $$0 = $2 ? $$ : 2; - $4 = (_strchr($0,120)|0); - $5 = ($4|0)==(0|0); - $6 = $$0 | 128; - $$0$ = $5 ? $$0 : $6; - $7 = (_strchr($0,101)|0); - $8 = ($7|0)==(0|0); - $9 = $$0$ | 524288; - $$2 = $8 ? $$0$ : $9; - $10 = ($3<<24>>24)==(114); - $11 = $$2 | 64; - $$2$ = $10 ? $$2 : $11; - $12 = ($3<<24>>24)==(119); - $13 = $$2$ | 512; - $$4 = $12 ? $13 : $$2$; - $14 = ($3<<24>>24)==(97); - $15 = $$4 | 1024; - $$$4 = $14 ? $15 : $$4; - return ($$$4|0); -} -function ___fdopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 56|0; - $3 = HEAP8[$1>>0]|0; - $4 = $3 << 24 >> 24; - $memchr = (_memchr(17452,$4,4)|0); - $5 = ($memchr|0)==(0|0); - if ($5) { - $6 = (___errno_location()|0); - HEAP32[$6>>2] = 22; - $$0 = 0; - } else { - $7 = (_malloc(1156)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - } else { - dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $9 = (_strchr($1,43)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = ($3<<24>>24)==(114); - $12 = $11 ? 8 : 4; - HEAP32[$7>>2] = $12; - } - $13 = (_strchr($1,101)|0); - $14 = ($13|0)==(0|0); - if ($14) { - $16 = $3; - } else { - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$1>>0]|0; - $16 = $$pre; - } - $15 = ($16<<24>>24)==(97); - if ($15) { - HEAP32[$vararg_buffer3>>2] = $0; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $17 = (___syscall221(221,($vararg_buffer3|0))|0); - $18 = $17 & 1024; - $19 = ($18|0)==(0); - if ($19) { - $20 = $17 | 1024; - HEAP32[$vararg_buffer7>>2] = $0; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $20; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $21 = HEAP32[$7>>2]|0; - $22 = $21 | 128; - HEAP32[$7>>2] = $22; - $29 = $22; - } else { - $$pre31 = HEAP32[$7>>2]|0; - $29 = $$pre31; - } - $23 = ((($7)) + 60|0); - HEAP32[$23>>2] = $0; - $24 = ((($7)) + 132|0); - $25 = ((($7)) + 44|0); - HEAP32[$25>>2] = $24; - $26 = ((($7)) + 48|0); - HEAP32[$26>>2] = 1024; - $27 = ((($7)) + 75|0); - HEAP8[$27>>0] = -1; - $28 = $29 & 8; - $30 = ($28|0)==(0); - if ($30) { - $31 = $2; - HEAP32[$vararg_buffer12>>2] = $0; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21523; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $31; - $32 = (___syscall54(54,($vararg_buffer12|0))|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP8[$27>>0] = 10; - } - } - $34 = ((($7)) + 32|0); - HEAP32[$34>>2] = 11; - $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 10; - $36 = ((($7)) + 40|0); - HEAP32[$36>>2] = 3; - $37 = ((($7)) + 12|0); - HEAP32[$37>>2] = 2; - $38 = HEAP32[(20808)>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = ((($7)) + 76|0); - HEAP32[$40>>2] = -1; - } - $41 = (___ofl_add($7)|0); - $$0 = $7; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___ofl_add($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___ofl_lock()|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 56|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($4)) + 52|0); - HEAP32[$6>>2] = $0; - } - HEAP32[$1>>2] = $0; - ___ofl_unlock(); - return ($0|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((20868|0)); - return (20876|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((20868|0)); - return; -} -function _fclose($0) { - $0 = $0|0; - var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $29 = $4; - } else { - $29 = 0; - } - ___unlist_locked_file($0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 1; - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (___ofl_lock()|0); - $9 = ((($0)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $10; - $$pre = ((($0)) + 56|0); - if (!($11)) { - $13 = HEAP32[$$pre>>2]|0; - $14 = ((($10)) + 56|0); - HEAP32[$14>>2] = $13; - } - $15 = HEAP32[$$pre>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = ((($15)) + 52|0); - HEAP32[$17>>2] = $12; - } - $18 = HEAP32[$8>>2]|0; - $19 = ($18|0)==($0|0); - if ($19) { - HEAP32[$8>>2] = $15; - } - ___ofl_unlock(); - } - $20 = (_fflush($0)|0); - $21 = ((($0)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); - $24 = $23 | $20; - $25 = ((($0)) + 92|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - _free($26); - } - if ($7) { - $28 = ($29|0)==(0); - if (!($28)) { - ___unlockfile($0); - } - } else { - _free($0); - } - return ($24|0); -} -function _fflush($0) { - $0 = $0|0; - var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[1029]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[1029]|0; - $11 = (_fflush($10)|0); - $29 = $11; - } - $12 = (___ofl_lock()|0); - $$02325 = HEAP32[$12>>2]|0; - $13 = ($$02325|0)==(0|0); - if ($13) { - $$024$lcssa = $29; - } else { - $$02327 = $$02325;$$02426 = $29; - while(1) { - $14 = ((($$02327)) + 76|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(-1); - if ($16) { - $17 = (___lockfile($$02327)|0); - $26 = $17; - } else { - $26 = 0; - } - $18 = ((($$02327)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($$02327)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($19>>>0)>($21>>>0); - if ($22) { - $23 = (___fflush_unlocked($$02327)|0); - $24 = $23 | $$02426; - $$1 = $24; - } else { - $$1 = $$02426; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___unlockfile($$02327); - } - $27 = ((($$02327)) + 56|0); - $$023 = HEAP32[$27>>2]|0; - $28 = ($$023|0)==(0|0); - if ($28) { - $$024$lcssa = $$1; - break; - } else { - $$02327 = $$023;$$02426 = $$1; - } - } - } - ___ofl_unlock(); - $$0 = $$024$lcssa; - } else { - $2 = ((($0)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if (!($4)) { - $5 = (___fflush_unlocked($0)|0); - $$0 = $5; - break; - } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)>($4>>>0); - if ($5) { - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - $15 = $11; - $16 = $13; - $17 = (($15) - ($16))|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); - } - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$3>>2] = 0; - HEAP32[$1>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _feof($0) { - $0 = $0|0; - var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 >>> 4; - $$lobit = $8 & 1; - if ($phitmp) { - $$lobit9 = $$lobit; - } else { - ___unlockfile($0); - $$lobit9 = $$lobit; - } - } else { - $4 = HEAP32[$0>>2]|0; - $5 = $4 >>> 4; - $$lobit8 = $5 & 1; - $$lobit9 = $$lobit8; - } - return ($$lobit9|0); -} -function _fseek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (___fseeko($0,$1,$2)|0); - return ($3|0); -} -function ___fseeko($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $7 = (___lockfile($0)|0); - $phitmp = ($7|0)==(0); - $8 = (___fseeko_unlocked($0,$1,$2)|0); - if ($phitmp) { - $9 = $8; - } else { - ___unlockfile($0); - $9 = $8; - } - } else { - $6 = (___fseeko_unlocked($0,$1,$2)|0); - $9 = $6; - } - return ($9|0); -} -function ___fseeko_unlocked($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(1); - if ($3) { - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($1) - ($5))|0; - $9 = (($8) + ($7))|0; - $$019 = $9; - } else { - $$019 = $1; - } - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)>($13>>>0); - if ($14) { - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); - $17 = HEAP32[$10>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $19 = ((($0)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); - $23 = ($22|0)<(0); - if ($23) { - $$0 = -1; - } else { - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = 0; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = $26 & -17; - HEAP32[$0>>2] = $27; - $$0 = 0; - } - } - return ($$0|0); -} -function _strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strrchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($2) + 1)|0; - $4 = (___memrchr($0,$1,$3)|0); - return ($4|0); -} -function ___memrchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1&255; - $$09 = $2; - while(1) { - $4 = (($$09) + -1)|0; - $5 = ($$09|0)==(0); - if ($5) { - $$0 = 0; - break; - } - $6 = (($0) + ($4)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==($3<<24>>24); - if ($8) { - $$0 = $6; - break; - } else { - $$09 = $4; - } - } - return ($$0|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 17728; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _fread($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = ($1|0)==(0); - $$ = $5 ? 0 : $2; - $6 = ((($3)) + 76|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(-1); - if ($8) { - $9 = (___lockfile($3)|0); - $36 = $9; - } else { - $36 = 0; - } - $10 = ((($3)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ((($3)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19; - $21 = (($17) - ($20))|0; - $22 = ($21|0)>(0); - $23 = ($21>>>0)<($4>>>0); - $$57 = $23 ? $21 : $4; - if ($22) { - $24 = (($4) - ($$57))|0; - $25 = (($0) + ($$57)|0); - _memcpy(($0|0),($19|0),($$57|0))|0; - $26 = (($19) + ($$57)|0); - HEAP32[$18>>2] = $26; - $$054$ph = $24;$$056$ph = $25; - } else { - $$054$ph = $4;$$056$ph = $0; - } - $27 = ($$054$ph|0)==(0); - L7: do { - if ($27) { - label = 13; - } else { - $28 = ((($3)) + 32|0); - $$05460 = $$054$ph;$$05659 = $$056$ph; - while(1) { - $29 = (___toread($3)|0); - $30 = ($29|0)==(0); - if (!($30)) { - break; - } - $31 = HEAP32[$28>>2]|0; - $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); - $33 = (($32) + 1)|0; - $34 = ($33>>>0)<(2); - if ($34) { - break; - } - $39 = (($$05460) - ($32))|0; - $40 = (($$05659) + ($32)|0); - $41 = ($39|0)==(0); - if ($41) { - label = 13; - break L7; - } else { - $$05460 = $39;$$05659 = $40; - } - } - $35 = ($36|0)==(0); - if (!($35)) { - ___unlockfile($3); - } - $37 = (($4) - ($$05460))|0; - $38 = (($37>>>0) / ($1>>>0))&-1; - $$0 = $38; - } - } while(0); - if ((label|0) == 13) { - $42 = ($36|0)==(0); - if ($42) { - $$0 = $$; - } else { - ___unlockfile($3); - $$0 = $$; - } - } - return ($$0|0); -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[997]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = HEAP32[5220]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[5220] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[5220] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[5220] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[5220] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function runPostSets() { -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; - end = (ptr + num)|0; - - value = value & 0xff; - if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { - while ((ptr&3) != 0) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - - aligned_end = (end & -4)|0; - block_aligned_end = (aligned_end - 64)|0; - value4 = value | (value << 8) | (value << 16) | (value << 24); - - while((ptr|0) <= (block_aligned_end|0)) { - HEAP32[((ptr)>>2)]=value4; - HEAP32[(((ptr)+(4))>>2)]=value4; - HEAP32[(((ptr)+(8))>>2)]=value4; - HEAP32[(((ptr)+(12))>>2)]=value4; - HEAP32[(((ptr)+(16))>>2)]=value4; - HEAP32[(((ptr)+(20))>>2)]=value4; - HEAP32[(((ptr)+(24))>>2)]=value4; - HEAP32[(((ptr)+(28))>>2)]=value4; - HEAP32[(((ptr)+(32))>>2)]=value4; - HEAP32[(((ptr)+(36))>>2)]=value4; - HEAP32[(((ptr)+(40))>>2)]=value4; - HEAP32[(((ptr)+(44))>>2)]=value4; - HEAP32[(((ptr)+(48))>>2)]=value4; - HEAP32[(((ptr)+(52))>>2)]=value4; - HEAP32[(((ptr)+(56))>>2)]=value4; - HEAP32[(((ptr)+(60))>>2)]=value4; - ptr = (ptr + 64)|0; - } - - while ((ptr|0) < (aligned_end|0) ) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - // The remaining bytes. - while ((ptr|0) < (end|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (end-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - var aligned_dest_end = 0; - var block_aligned_dest_end = 0; - var dest_end = 0; - // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. - if ((num|0) >= - 8192 - ) { - return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - } - - ret = dest|0; - dest_end = (dest + num)|0; - if ((dest&3) == (src&3)) { - // The initial unaligned < 4-byte front. - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - aligned_dest_end = (dest_end & -4)|0; - block_aligned_dest_end = (aligned_dest_end - 64)|0; - while ((dest|0) <= (block_aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); - HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); - HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); - HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); - HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); - HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); - HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); - HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); - HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); - HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); - HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); - HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); - HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); - HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); - HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); - dest = (dest+64)|0; - src = (src+64)|0; - } - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } else { - // In the unaligned copy case, unroll a bit as well. - aligned_dest_end = (dest_end - 4)|0; - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); - HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); - HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } - // The remaining unaligned < 4 byte tail. - while ((dest|0) < (dest_end|0)) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _sbrk(increment) { - increment = increment|0; - var oldDynamicTop = 0; - var oldDynamicTopOnChange = 0; - var newDynamicTop = 0; - var totalMemory = 0; - increment = ((increment + 15) & -16)|0; - oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; - newDynamicTop = oldDynamicTop + increment | 0; - - if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. - | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. - abortOnCannotGrowMemory()|0; - ___setErrNo(12); - return -1; - } - - HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; - totalMemory = getTotalMemory()|0; - if ((newDynamicTop|0) > (totalMemory|0)) { - if ((enlargeMemory()|0) == 0) { - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - ___setErrNo(12); - return -1; - } - } - return oldDynamicTop|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _llvm_bswap_i32(x) { - x = x|0; - return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; -} - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _llvm_bswap_i32: _llvm_bswap_i32, _roundf: _roundf, _main: _main, dynCall_i: dynCall_i, stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, dynCall_vidddd: dynCall_vidddd, setThrew: setThrew, dynCall_viii: dynCall_viii, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, dynCall_iii: dynCall_iii, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, ___muldi3: ___muldi3, dynCall_vd: dynCall_vd, dynCall_vii: dynCall_vii, ___uremdi3: ___uremdi3, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_viiiiiii: dynCall_viiiiiii, getTempRet0: getTempRet0, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, dynCall_viid: dynCall_viid, dynCall_ii: dynCall_ii, _emscripten_GetProcAddress: _emscripten_GetProcAddress, dynCall_viiii: dynCall_viiii, ___errno_location: ___errno_location, dynCall_viiiii: dynCall_viiiii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, _memmove: _memmove, _strstr: _strstr, stackRestore: stackRestore, _malloc: _malloc, dynCall_vdi: dynCall_vdi, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__roundf.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackSave.apply(null, arguments); -}; - -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_getTempRet0.apply(null, arguments); -}; - -var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____udivdi3.apply(null, arguments); -}; - -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setThrew.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__fflush.apply(null, arguments); -}; - -var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__sbrk.apply(null, arguments); -}; - -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__llvm_bswap_i32.apply(null, arguments); -}; - -var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____muldi3.apply(null, arguments); -}; - -var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____uremdi3.apply(null, arguments); -}; - -var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackAlloc.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setTempRet0.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_GetProcAddress.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____errno_location.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__free.apply(null, arguments); -}; - -var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_establishStackSpace.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strstr.apply(null, arguments); -}; - -var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackRestore.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__malloc.apply(null, arguments); -}; -var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - - -/** - * @constructor - * @extends {Error} - */ -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 initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - Module.printErr('exception thrown: ' + toLog); - Module['quit'](1, e); - } - } finally { - calledMain = true; - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - writeStackCookie(); - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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(); - } - checkStackCookie(); -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - process['exit'](status); - } - Module['quit'](status, new ExitStatus(status)); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/examples/web/models/models_box_collisions.c b/examples/web/models/models_box_collisions.c index ea35d25..71fe55f 100644 --- a/examples/web/models/models_box_collisions.c +++ b/examples/web/models/models_box_collisions.c @@ -15,10 +15,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -49,19 +45,11 @@ void UpdateDrawFrame(void); // Update and Draw one frame //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - box collisions"); -#endif playerColor = GREEN; @@ -82,9 +70,8 @@ int main(void) //-------------------------------------------------------------------------------------- CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_box_collisions.html b/examples/web/models/models_box_collisions.html deleted file mode 100644 index e4a4ca8..0000000 --- a/examples/web/models/models_box_collisions.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
Downloading...
- - - - - -
- -
-
- -
- -
- - - - - - - \ No newline at end of file diff --git a/examples/web/models/models_box_collisions.js b/examples/web/models/models_box_collisions.js deleted file mode 100644 index ebf820c..0000000 --- a/examples/web/models/models_box_collisions.js +++ /dev/null @@ -1,25655 +0,0 @@ -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; - -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) - -if (Module['ENVIRONMENT']) { - if (Module['ENVIRONMENT'] === 'WEB') { - ENVIRONMENT_IS_WEB = true; - } else if (Module['ENVIRONMENT'] === 'WORKER') { - ENVIRONMENT_IS_WORKER = true; - } else if (Module['ENVIRONMENT'] === 'NODE') { - ENVIRONMENT_IS_NODE = true; - } else if (Module['ENVIRONMENT'] === 'SHELL') { - ENVIRONMENT_IS_SHELL = true; - } else { - throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); - } -} else { - ENVIRONMENT_IS_WEB = typeof window === 'object'; - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; - ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -} - - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function shell_read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(xhr.response); - }; - } - - 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)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function shell_print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = undefined; - - - -// {{PREAMBLE_ADDITIONS}} - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = Runtime.stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -/** @type {function(number, number, string, boolean=)} */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - -/** @type {function(number, string, boolean=)} */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -/** @type {function(number, number=)} */ -function Pointer_stringify(ptr, length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; -function UTF8ArrayToString(u8Array, idx) { - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - while (u8Array[endPtr]) ++endPtr; - - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; -function UTF16ToString(ptr) { - assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - while (HEAP16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - - -function UTF32ToString(ptr) { - assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - 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 : (x + ' [' + y + ']'); - }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - 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); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; -var ASMJS_PAGE_SIZE = 16777216; -var MIN_TOTAL_MEMORY = 16777216; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBuffer(buf) { - Module['buffer'] = buffer = buf; -} - -function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); -} - -var STATIC_BASE, STATICTOP, staticSealed; // static area -var STACK_BASE, STACKTOP, STACK_MAX; // stack area -var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk - - STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; - staticSealed = false; - - -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - assert((STACK_MAX & 3) == 0); - HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; - HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; -} - -function checkStackCookie() { - if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { - abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); - } - // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. - if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; -} - -function abortStackOverflow(allocSize) { - abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!'); -} - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; -if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, - 'JS engine does not provide full typed array support'); - - - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); -} else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); -} -updateGlobalBufferViews(); - - -function getTotalMemory() { - return TOTAL_MEMORY; -} - -// Endianness check (note: assumes compiler arch was little-endian) - HEAP32[0] = 0x63736d65; /* 'emsc' */ -HEAP16[1] = 0x6373; -if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Module['dynCall_v'](func); - } else { - Module['dynCall_vi'](func, callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - checkStackCookie(); - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - checkStackCookie(); - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated */ -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') - HEAP8.set(array, buffer); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - -var /* show errors on likely calls to FS when it was not included */ FS = { - error: function() { - abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1'); - }, - init: function() { FS.error() }, - createDataFile: function() { FS.error() }, - createPreloadedFile: function() { FS.error() }, - createLazyFile: function() { FS.error() }, - open: function() { FS.error() }, - mkdev: function() { FS.error() }, - registerDevice: function() { FS.error() }, - analyzePath: function() { FS.error() }, - loadFilesFromDB: function() { FS.error() }, - - ErrnoError: function ErrnoError() { FS.error() }, -}; -Module['FS_createDataFile'] = FS.createDataFile; -Module['FS_createPreloadedFile'] = FS.createPreloadedFile; - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]) }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = Runtime.GLOBAL_BASE; - -STATICTOP = STATIC_BASE + 19664; -/* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,0,0,0,0,32,65,0,0,32,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,63,0,0,0,64,0,0,128,63,0,0,128,192,0,0,128,63,0,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,128,64,0,0,0,0,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,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,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,15,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,15,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,15,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,15,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,15,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,15,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,15,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,15,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,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,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,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,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,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,0,0,128,191,20,0,0,0,255,255,255,255,255,255,255,255,0,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,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,8,13,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,199,72,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,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,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,98,111,120,32,99,111,108,108,105,115,105,111,110,115,0,77,111,118,101,32,112,108,97,121,101,114,32,119,105,116,104,32,99,117,114,115,111,114,115,32,116,111,32,99,111,108,108,105,100,101,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,37,50,105,32,70,80,83,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,56,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,59,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,0,99,111,108,68,105,102,102,117,115,101,0,116,101,120,116,117,114,101,48,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },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 frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - - - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - 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); }; - } - - // Extension available from Firefox 25 and WebKit - 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"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - 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 _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - 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); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var 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 { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - 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/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - 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++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },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 /* do not set timing and call scheduler, we will do it on the next lines */); - _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; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - 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; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - 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) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - 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(); // empty shim - 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); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - 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)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - 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) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - 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; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['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); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - 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) { - Module.printErr('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) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - 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 () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - 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(); - } // drop it on the floor otherwise, next interval will kick in - }, 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) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - 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); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - 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 () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['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; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function (event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function (event) { - GLFW.refreshJoysticks(); - },onKeydown:function (event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function (event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function (cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function () { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setDropCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.dropFunc = cbfun; - },onDrop:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data), { encoding: 'binary' }); - if (++written === count) { - Module['dynCall_viii'](GLFW.active.dropFunc, GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - var SYSCALLS={varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - - // Chromium does not fire the gamepadconnected event on reload, so we need to get the number of gamepads here as a workaround. - // See https://bugs.chromium.org/p/chromium/issues/detail?id=502824 - var firstState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null); - if (firstState) { - JSEvents.numGamepadsConnected = firstState.length; - } - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceMotionEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - 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 _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - // NOTE: offset_high is unused - Emscripten's off_t is 32-bit - var offset = offset_low; - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - // hack to support printf in NO_FILESYSTEM - var stream = SYSCALLS.get(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - var ret = 0; - if (!___syscall146.buffer) { - ___syscall146.buffers = [null, [], []]; // 1 => stdout, 2 => stderr - ___syscall146.printChar = function(stream, curr) { - var buffer = ___syscall146.buffers[stream]; - assert(buffer); - if (curr === 0 || curr === 10) { - (stream === 1 ? Module['print'] : Module['printErr'])(UTF8ArrayToString(buffer, 0)); - buffer.length = 0; - } else { - buffer.push(curr); - } - }; - } - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - for (var j = 0; j < len; j++) { - ___syscall146.printChar(stream, HEAPU8[ptr+j]); - } - ret += len; - } - return ret; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - - - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } -var GLctx; GL.init(); -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 self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("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) }; -JSEvents.staticInit();; -/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { var fflush = Module["_fflush"]; if (fflush) fflush(0); var printChar = ___syscall146.printChar; if (!printChar) return; var buffers = ___syscall146.buffers; if (buffers[1].length) printChar(1, 10); if (buffers[2].length) printChar(2, 10); });; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); - -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; - -staticSealed = true; // seal the static portion of memory - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { -'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_max=global.Math.max; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var enlargeMemory=env.enlargeMemory; - var getTotalMemory=env.getTotalMemory; - var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; - var abortStackOverflow=env.abortStackOverflow; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var ___syscall6=env.___syscall6; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var ___syscall146=env.___syscall146; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _glfwGetKey=env._glfwGetKey; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS - -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2]|0; - $1 = HEAP32[3]|0; - _InitWindow($0,$1,3588); - HEAP8[17268] = 0; - HEAP8[(17269)>>0] = -28; - HEAP8[(17270)>>0] = 48; - HEAP8[(17271)>>0] = -1; - _emscripten_set_main_loop((1|0),0,1); - _CloseWindow(); - return 0; -} -function _UpdateDrawFrame() { - var $$ = 0, $$10 = 0, $$11 = 0, $$byval_copy11 = 0, $$sink = 0, $$sink9 = 0.0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; - var $110 = 0, $111 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0; - var $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $playerPosition$byval_copy = 0, $playerSize$byval_copy = 0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0); - $$byval_copy11 = sp + 112|0; - $playerSize$byval_copy = sp + 88|0; - $playerPosition$byval_copy = sp + 72|0; - $0 = sp + 48|0; - $1 = sp + 24|0; - $2 = sp; - $3 = sp + 172|0; - $4 = sp + 168|0; - $5 = sp + 164|0; - $6 = sp + 160|0; - $7 = sp + 156|0; - $8 = sp + 152|0; - $9 = (_IsKeyDown(262)|0); - $10 = ($9|0)==(0); - if ($10) { - $11 = (_IsKeyDown(263)|0); - $12 = ($11|0)==(0); - if ($12) { - $13 = (_IsKeyDown(264)|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = (_IsKeyDown(265)|0); - $16 = ($15|0)==(0); - if (!($16)) { - $$sink = (64);$$sink9 = -0.20000000298023224; - label = 5; - } - } else { - $$sink = (64);$$sink9 = 0.20000000298023224; - label = 5; - } - } else { - $$sink = 56;$$sink9 = -0.20000000298023224; - label = 5; - } - } else { - $$sink = 56;$$sink9 = 0.20000000298023224; - label = 5; - } - if ((label|0) == 5) { - $17 = +HEAPF32[$$sink>>2]; - $18 = $$sink9 + $17; - HEAPF32[$$sink>>2] = $18; - } - HEAP32[3544] = 0; - $19 = +HEAPF32[14]; - $20 = +HEAPF32[17]; - $21 = $20 * 0.5; - $22 = $19 - $21; - HEAPF32[$0>>2] = $22; - $23 = ((($0)) + 4|0); - $24 = +HEAPF32[(60)>>2]; - $25 = +HEAPF32[(72)>>2]; - $26 = $25 * 0.5; - $27 = $24 - $26; - HEAPF32[$23>>2] = $27; - $28 = ((($0)) + 8|0); - $29 = +HEAPF32[(64)>>2]; - $30 = +HEAPF32[(76)>>2]; - $31 = $30 * 0.5; - $32 = $29 - $31; - HEAPF32[$28>>2] = $32; - $33 = ((($0)) + 12|0); - $34 = $19 + $21; - HEAPF32[$33>>2] = $34; - $35 = ((($0)) + 16|0); - $36 = $24 + $26; - HEAPF32[$35>>2] = $36; - $37 = ((($0)) + 20|0); - $38 = $29 + $31; - HEAPF32[$37>>2] = $38; - $39 = +HEAPF32[20]; - $40 = +HEAPF32[23]; - $41 = $40 * 0.5; - $42 = $39 - $41; - HEAPF32[$1>>2] = $42; - $43 = ((($1)) + 4|0); - $44 = +HEAPF32[(84)>>2]; - $45 = +HEAPF32[(96)>>2]; - $46 = $45 * 0.5; - $47 = $44 - $46; - HEAPF32[$43>>2] = $47; - $48 = ((($1)) + 8|0); - $49 = +HEAPF32[(88)>>2]; - $50 = +HEAPF32[(100)>>2]; - $51 = $50 * 0.5; - $52 = $49 - $51; - HEAPF32[$48>>2] = $52; - $53 = ((($1)) + 12|0); - $54 = $39 + $41; - HEAPF32[$53>>2] = $54; - $55 = ((($1)) + 16|0); - $56 = $44 + $46; - HEAPF32[$55>>2] = $56; - $57 = ((($1)) + 20|0); - $58 = $49 + $51; - HEAPF32[$57>>2] = $58; - ;HEAP32[$playerSize$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$playerSize$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$playerSize$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$playerSize$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$playerSize$byval_copy+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$playerSize$byval_copy+20>>2]=HEAP32[$0+20>>2]|0; - ;HEAP32[$$byval_copy11>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy11+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy11+20>>2]=HEAP32[$1+20>>2]|0; - $59 = (_CheckCollisionBoxes($playerSize$byval_copy,$$byval_copy11)|0); - $60 = ($59|0)==(0); - if (!($60)) { - HEAP32[3544] = 1; - } - $61 = +HEAPF32[14]; - $62 = +HEAPF32[17]; - $63 = $62 * 0.5; - $64 = $61 - $63; - HEAPF32[$2>>2] = $64; - $65 = ((($2)) + 4|0); - $66 = +HEAPF32[(60)>>2]; - $67 = +HEAPF32[(72)>>2]; - $68 = $67 * 0.5; - $69 = $66 - $68; - HEAPF32[$65>>2] = $69; - $70 = ((($2)) + 8|0); - $71 = +HEAPF32[(64)>>2]; - $72 = +HEAPF32[(76)>>2]; - $73 = $72 * 0.5; - $74 = $71 - $73; - HEAPF32[$70>>2] = $74; - $75 = ((($2)) + 12|0); - $76 = $61 + $63; - HEAPF32[$75>>2] = $76; - $77 = ((($2)) + 16|0); - $78 = $66 + $68; - HEAPF32[$77>>2] = $78; - $79 = ((($2)) + 20|0); - $80 = $71 + $73; - HEAPF32[$79>>2] = $80; - $81 = +HEAPF32[29]; - ;HEAP32[$playerSize$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$playerSize$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$playerSize$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$playerSize$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$playerSize$byval_copy+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$playerSize$byval_copy+20>>2]=HEAP32[$2+20>>2]|0; - ;HEAP32[$$byval_copy11>>2]=HEAP32[104>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[104+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[104+8>>2]|0; - $82 = (_CheckCollisionBoxSphere($playerSize$byval_copy,$$byval_copy11,$81)|0); - $83 = ($82|0)==(0); - if (!($83)) { - HEAP32[3544] = 1; - } - $84 = HEAP32[3544]|0; - $85 = ($84|0)==(0); - $$ = $85 ? 0 : -26; - $$10 = $85 ? -28 : 41; - $$11 = $85 ? 48 : 55; - HEAP8[17268] = $$; - HEAP8[(17269)>>0] = $$10; - HEAP8[(17270)>>0] = $$11; - HEAP8[(17271)>>0] = -1; - _BeginDrawing(); - HEAP8[$3>>0] = -11; - $86 = ((($3)) + 1|0); - HEAP8[$86>>0] = -11; - $87 = ((($3)) + 2|0); - HEAP8[$87>>0] = -11; - $88 = ((($3)) + 3|0); - HEAP8[$88>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy11); - dest=$$byval_copy11; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy11); - $89 = +HEAPF32[23]; - $90 = +HEAPF32[(96)>>2]; - $91 = +HEAPF32[(100)>>2]; - HEAP8[$4>>0] = -126; - $92 = ((($4)) + 1|0); - HEAP8[$92>>0] = -126; - $93 = ((($4)) + 2|0); - HEAP8[$93>>0] = -126; - $94 = ((($4)) + 3|0); - HEAP8[$94>>0] = -1; - ;HEAP32[$playerSize$byval_copy>>2]=HEAP32[80>>2]|0;HEAP32[$playerSize$byval_copy+4>>2]=HEAP32[80+4>>2]|0;HEAP32[$playerSize$byval_copy+8>>2]=HEAP32[80+8>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$4+3>>0]|0; - _DrawCube($playerSize$byval_copy,$89,$90,$91,$$byval_copy11); - $95 = +HEAPF32[23]; - $96 = +HEAPF32[(96)>>2]; - $97 = +HEAPF32[(100)>>2]; - HEAP8[$5>>0] = 80; - $98 = ((($5)) + 1|0); - HEAP8[$98>>0] = 80; - $99 = ((($5)) + 2|0); - HEAP8[$99>>0] = 80; - $100 = ((($5)) + 3|0); - HEAP8[$100>>0] = -1; - ;HEAP32[$playerSize$byval_copy>>2]=HEAP32[80>>2]|0;HEAP32[$playerSize$byval_copy+4>>2]=HEAP32[80+4>>2]|0;HEAP32[$playerSize$byval_copy+8>>2]=HEAP32[80+8>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$5+3>>0]|0; - _DrawCubeWires($playerSize$byval_copy,$95,$96,$97,$$byval_copy11); - $101 = +HEAPF32[29]; - HEAP8[$6>>0] = -126; - $102 = ((($6)) + 1|0); - HEAP8[$102>>0] = -126; - $103 = ((($6)) + 2|0); - HEAP8[$103>>0] = -126; - $104 = ((($6)) + 3|0); - HEAP8[$104>>0] = -1; - ;HEAP32[$playerSize$byval_copy>>2]=HEAP32[104>>2]|0;HEAP32[$playerSize$byval_copy+4>>2]=HEAP32[104+4>>2]|0;HEAP32[$playerSize$byval_copy+8>>2]=HEAP32[104+8>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$6+3>>0]|0; - _DrawSphere($playerSize$byval_copy,$101,$$byval_copy11); - $105 = +HEAPF32[29]; - HEAP8[$7>>0] = 80; - $106 = ((($7)) + 1|0); - HEAP8[$106>>0] = 80; - $107 = ((($7)) + 2|0); - HEAP8[$107>>0] = 80; - $108 = ((($7)) + 3|0); - HEAP8[$108>>0] = -1; - ;HEAP32[$playerSize$byval_copy>>2]=HEAP32[104>>2]|0;HEAP32[$playerSize$byval_copy+4>>2]=HEAP32[104+4>>2]|0;HEAP32[$playerSize$byval_copy+8>>2]=HEAP32[104+8>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$7+3>>0]|0; - _DrawSphereWires($playerSize$byval_copy,$105,16,16,$$byval_copy11); - ;HEAP32[$playerPosition$byval_copy>>2]=HEAP32[56>>2]|0;HEAP32[$playerPosition$byval_copy+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$playerPosition$byval_copy+8>>2]=HEAP32[56+8>>2]|0; - ;HEAP32[$playerSize$byval_copy>>2]=HEAP32[68>>2]|0;HEAP32[$playerSize$byval_copy+4>>2]=HEAP32[68+4>>2]|0;HEAP32[$playerSize$byval_copy+8>>2]=HEAP32[68+8>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[17268>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[17268+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[17268+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[17268+3>>0]|0; - _DrawCubeV($playerPosition$byval_copy,$playerSize$byval_copy,$$byval_copy11); - _DrawGrid(10,1.0); - _End3dMode(); - HEAP8[$8>>0] = -126; - $109 = ((($8)) + 1|0); - HEAP8[$109>>0] = -126; - $110 = ((($8)) + 2|0); - HEAP8[$110>>0] = -126; - $111 = ((($8)) + 3|0); - HEAP8[$111>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$8+3>>0]|0; - _DrawText(3629,220,40,20,$$byval_copy11); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[13904>>0]=HEAP8[3665>>0]|0;HEAP8[13904+1>>0]=HEAP8[3665+1>>0]|0;HEAP8[13904+2>>0]=HEAP8[3665+2>>0]|0;HEAP8[13904+3>>0]=HEAP8[3665+3>>0]|0;HEAP8[13904+4>>0]=HEAP8[3665+4>>0]|0;HEAP8[13904+5>>0]=HEAP8[3665+5>>0]|0;HEAP8[13904+6>>0]=HEAP8[3665+6>>0]|0; - break; - } - case 2: { - $3 = 13904; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 1: { - dest=13904; src=3672; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 13904; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(13904,$1)|0); - $strlen = (_strlen(13904)|0); - $endptr = (13904 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(13904,$2)|0); - $12 = ($0|0)==(2); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(14204)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (120 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[14180>>2]=HEAP32[$1>>2]|0;HEAP32[14180+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14180+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14180+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14180+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(14204)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(14208)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(14200)>>2] = $23; - $24 = HEAP32[3545]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3682,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(14184)>>2]|0; - $10 = HEAP32[(14204)>>2]|0; - $11 = HEAP32[(14208)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2168 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(14200)>>2] = $23; - $24 = HEAP32[3545]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3682,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(9); - $6 = ($1|0)<(9); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(1,4108,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $10; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(3,3727,$vararg_buffer); - HEAP32[$0>>2] = $11; - $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; - $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; - $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; - STACKTOP = sp;return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } - _free($1); - return; -} -function _rlLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[3553]|0; - $7 = ($6|0)==(0); - $$off = (($3) + -9)|0; - $8 = ($$off>>>0)<(4); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(1,3777,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[3554]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(13); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(1,3821,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[3555]|0; - $13 = ($12|0)==(0); - $14 = $3 | 1; - $15 = ($14|0)==(15); - $or$cond97 = $15 & $13; - if ($or$cond97) { - _TraceLog(1,3866,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $16 = HEAP32[3556]|0; - $17 = ($16|0)==(0); - $18 = ($14|0)==(17); - $or$cond99 = $18 & $17; - if ($or$cond99) { - _TraceLog(1,3911,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $19 = HEAP32[3557]|0; - $20 = ($19|0)==(0); - $21 = ($14|0)==(19); - $or$cond101 = $21 & $20; - if ($or$cond101) { - _TraceLog(1,3956,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $22 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($22|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $23 = HEAP32[3558]|0; - $24 = ($23|0)==(0); - if (!($24)) { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); - } - break; - } - case 9: { - $25 = HEAP32[3553]|0; - $26 = ($25|0)==(0); - if (!($26)) { - _LoadTextureCompressed($0,$1,$2,33776,$4); - } - break; - } - case 10: { - $27 = HEAP32[3553]|0; - $28 = ($27|0)==(0); - if (!($28)) { - _LoadTextureCompressed($0,$1,$2,33777,$4); - } - break; - } - case 11: { - $29 = HEAP32[3553]|0; - $30 = ($29|0)==(0); - if (!($30)) { - _LoadTextureCompressed($0,$1,$2,33778,$4); - } - break; - } - case 12: { - $31 = HEAP32[3553]|0; - $32 = ($31|0)==(0); - if (!($32)) { - _LoadTextureCompressed($0,$1,$2,33779,$4); - } - break; - } - case 13: { - $33 = HEAP32[3554]|0; - $34 = ($33|0)==(0); - if (!($34)) { - _LoadTextureCompressed($0,$1,$2,36196,$4); - } - break; - } - case 14: { - $35 = HEAP32[3555]|0; - $36 = ($35|0)==(0); - if (!($36)) { - _LoadTextureCompressed($0,$1,$2,37492,$4); - } - break; - } - case 15: { - $37 = HEAP32[3555]|0; - $38 = ($37|0)==(0); - if (!($38)) { - _LoadTextureCompressed($0,$1,$2,37496,$4); - } - break; - } - case 16: { - $39 = HEAP32[3556]|0; - $40 = ($39|0)==(0); - if (!($40)) { - _LoadTextureCompressed($0,$1,$2,35840,$4); - } - break; - } - case 17: { - $41 = HEAP32[3556]|0; - $42 = ($41|0)==(0); - if (!($42)) { - _LoadTextureCompressed($0,$1,$2,35842,$4); - } - break; - } - case 18: { - $43 = HEAP32[3557]|0; - $44 = ($43|0)==(0); - if (!($44)) { - _LoadTextureCompressed($0,$1,$2,37808,$4); - } - break; - } - case 19: { - $45 = HEAP32[3557]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _LoadTextureCompressed($0,$1,$2,37815,$4); - } - break; - } - default: { - _TraceLog(1,4001,$vararg_buffer9); - } - } - } while(0); - $47 = HEAP32[3559]|0; - $48 = ($47|0)==(0); - if ($48) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $49 = HEAP32[$5>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(1,4079,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $49; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,4030,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadTextureCompressed($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($3|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($4|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($3|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($4|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(1,4162,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[14180>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14180+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14180+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14180+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14180+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(14208)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,4208,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[14180>>2]|0;HEAP32[$0+4>>2]=HEAP32[14180+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14180+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14180+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14180+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14180+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14180+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14180+28>>2]|0; - return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($23<<24>>24) { - case 10: { - $25 = HEAP32[$9>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = (($26) + ($25))|0; - $28 = (+($27|0)); - $29 = $12 * $28; - $30 = (~~(($29))); - $31 = (($30) + ($$05153))|0; - $$150 = 0;$$152 = $31;$$2 = $$055; - break; - } - case -62: { - $32 = (($$055) + 1)|0; - $33 = (($1) + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $$1 = $32;$$sink = $35; - label = 8; - break; - } - case -61: { - $36 = (($$055) + 1)|0; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($39) + 64)|0; - $$1 = $36;$$sink = $40; - label = 8; - break; - } - default: { - $$1 = $$055;$$sink = $24; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[3609]|0; - $2 = HEAP32[3607]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - $10 = (($2) + 1)|0; - if ($9) { - HEAP32[3607] = $10; - $12 = $10; - } else { - $$pr = HEAP32[3607]|0; - $12 = $$pr; - } - $11 = ($12|0)>(255); - if ($11) { - _rlglDraw(); - HEAP32[3607] = 1; - } - $13 = HEAP32[3609]|0; - $14 = HEAP32[3607]|0; - $15 = (($14) + -1)|0; - $16 = (((($13) + (($15*144)|0)|0)) + 8|0); - HEAP32[$16>>2] = $0; - $17 = (($13) + (($15*144)|0)|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[3795]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(2,4337,$vararg_buffer); - } - $2 = HEAP32[3795]|0; - $3 = (15184 + ($2<<6)|0); - $4 = HEAP32[4052]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[3795]|0; - $6 = (($5) + 1)|0; - HEAP32[3795] = $6; - $7 = HEAP32[4057]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[4053] = 1; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - $5 = HEAP32[4052]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _Vector3Normalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[4052]|0; - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4056] = $0; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[4056]|0; - switch ($4|0) { - case 1: { - $$sink37 = (14448);$$sink38 = (14460); - break; - } - case 4: { - $$sink37 = (14496);$$sink38 = (14508); - break; - } - case 7: { - $$sink37 = (14256);$$sink38 = (14268); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[4056]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(14264)>>2]|0; - $5 = HEAP32[(14252)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(14252)>>2] = $10; - return; -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[766]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[4053]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4054]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[4055]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4052]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Vector3Transform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[4054]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[4053] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[4055]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[4054]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[4053] = 0; - } - HEAP32[4054] = 0; - } - $21 = HEAP32[4056]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[3610]|0; - $23 = HEAP32[(14448)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[766]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[766] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[766]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[766] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(14460)>>2]|0; - $28 = HEAP32[(14448)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(14460)>>2]|0; - $35 = HEAP32[(14448)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(14460)>>2]|0; - $43 = HEAP32[(14448)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(14460)>>2]|0; - $51 = HEAP32[(14448)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(14448)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(14448)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[766]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[766] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[3622]|0; - $62 = HEAP32[(14496)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[766]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[766] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[766]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[766] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(14508)>>2]|0; - $67 = HEAP32[(14496)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(14508)>>2]|0; - $74 = HEAP32[(14496)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(14508)>>2]|0; - $82 = HEAP32[(14496)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(14508)>>2]|0; - $90 = HEAP32[(14496)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(14496)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(14496)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[766]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[766] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[3562]|0; - $101 = HEAP32[(14256)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(14268)>>2]|0; - $106 = HEAP32[(14256)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(14268)>>2]|0; - $113 = HEAP32[(14256)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(14268)>>2]|0; - $121 = HEAP32[(14256)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(14268)>>2]|0; - $129 = HEAP32[(14256)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(14256)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(14256)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[3562]|0; - $140 = HEAP32[(14252)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[766]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[766] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(14264)>>2]|0; - $$promoted = HEAP32[(14252)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(14252)>>2] = $147; - $148 = +HEAPF32[766]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[766] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[766]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[766] = $149; - STACKTOP = sp;return; - } - } -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3795]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[3795]|0; - $3 = (($2) + -1)|0; - $4 = (15184 + ($3<<6)|0); - $5 = HEAP32[4052]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[3795] = $6; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3562]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateBuffersDefault(); - _DrawBuffersDefault(); - return; -} -function _UpdateBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3610]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[3667]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[3668]|0; - $5 = HEAP32[(14468)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(14472)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[3610]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(14452)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(14476)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(14448)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(14460)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[3622]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[3667]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[3668]|0; - $19 = HEAP32[(14516)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(14520)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[3622]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(14500)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(14524)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(14496)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(14508)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[3562]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[3667]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[3668]|0; - $33 = HEAP32[(14276)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(14280)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[3562]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(14260)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(14284)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[3562]|0; - $40 = $39 << 3; - $41 = HEAP32[(14264)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(14288)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[3562]|0; - $44 = $43 << 2; - $45 = HEAP32[(14268)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[3667]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[3668]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawBuffersDefault() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=14296; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=14360; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[3606]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[3610]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[3622]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[3562]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[3634]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=14360; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=14296; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(14564)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(14584)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(14596)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[3610]|0; - $20 = ($19|0)>(0); - if ($20) { - _glActiveTexture(33984); - $21 = HEAP32[3608]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[3667]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(14472)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(14540)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(14540)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(14476)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(14560)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(14560)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[3668]|0; - $25 = HEAP32[(14468)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[3610]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[3667]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[3622]|0; - $36 = ($35|0)>(0); - if ($36) { - _glActiveTexture(33984); - $37 = HEAP32[3608]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[3667]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(14520)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(14540)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(14540)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(14524)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(14560)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(14560)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[3668]|0; - $41 = HEAP32[(14516)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[3622]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[3667]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[3562]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[3667]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(14280)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(14540)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(14540)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(14284)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(14544)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(14544)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(14288)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(14560)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(14560)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(14292)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[3668]|0; - $56 = HEAP32[(14276)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[3607]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[3609]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - _glActiveTexture(33984); - $76 = HEAP32[3609]|0; - $77 = (((($76) + (($$031*144)|0)|0)) + 8|0); - $78 = HEAP32[$77>>2]|0; - _glBindTexture(3553,($78|0)); - $79 = $$02830 << 1; - $80 = $79; - _glDrawElements(4,($75|0),5123,($80|0)); - $81 = HEAP32[3609]|0; - $82 = (($81) + (($$031*144)|0)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83|0) / 4)&-1; - $85 = ($84*6)|0; - $86 = (($85) + ($$02830))|0; - $87 = (($$031) + 1)|0; - $88 = HEAP32[3607]|0; - $89 = ($87|0)<($88|0); - if ($89) { - $$02830 = $86;$$031 = $87; - } else { - break; - } - } - } - $69 = HEAP32[3667]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $90 = HEAP32[3667]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = HEAP32[3668]|0; - FUNCTION_TABLE_vi[$92 & 31](0); - } - _glUseProgram(0); - $93 = (($$02932) + 1)|0; - $94 = ($93|0)<($$|0); - if ($94) { - $$02932 = $93; - } else { - break; - } - } - HEAP32[3607] = 1; - $5 = HEAP32[3608]|0; - $6 = HEAP32[3609]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[3610] = 0; - HEAP32[(14448)>>2] = 0; - HEAP32[3622] = 0; - HEAP32[(14496)>>2] = 0; - HEAP32[3562] = 0; - HEAP32[(14252)>>2] = 0; - HEAP32[(14256)>>2] = 0; - HEAPF32[766] = -1.0; - dest=14296; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=14360; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[3685]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[3686]|0; - _rlViewport($7,0,$8,$9); - $10 = (15052 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (14924 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 * $4; - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($1)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($2)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($1)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($2)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($2)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($2)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($2)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($2)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($2)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($2)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($2)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($2)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($2)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($2)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($2)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($2)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($1)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($1)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($1)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($1)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($1)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($1)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($1)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($1)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($1)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($1)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($1)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($1)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixToFloat($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[3669] = $1; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(14680)>>2] = $3; - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(14684)>>2] = $5; - $6 = ((($0)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(14688)>>2] = $7; - $8 = ((($0)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(14692)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(14696)>>2] = $11; - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(14700)>>2] = $13; - $14 = ((($0)) + 52|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(14704)>>2] = $15; - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(14708)>>2] = $17; - $18 = ((($0)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(14712)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(14716)>>2] = $21; - $22 = ((($0)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(14720)>>2] = $23; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(14724)>>2] = $25; - $26 = ((($0)) + 28|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(14728)>>2] = $27; - $28 = ((($0)) + 44|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(14732)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(14736)>>2] = $31; - return (14676|0); -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=14360; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=14296; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Vector3Transform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = HEAP32[4053]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[4055]|0; - $6 = HEAP32[4054]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[4054] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[4056]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[3610]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(14452)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[3610] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(2,4258,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[3622]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(14500)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[3622] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(2,4283,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[3562]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(14260)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[3562] = $41; - $42 = HEAP32[3609]|0; - $43 = HEAP32[3607]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(2,4312,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _Vector3Normalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_Vector3Length($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _Vector3Length($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = 0.0; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = 0.0; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = 0.0; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $2; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = 0.0; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = 0.0; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = 0.0; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = 0.0; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = 0.0; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[4052]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _FormatText($0,$varargs) { - $0 = $0|0; - $varargs = $varargs|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $varargs; - (_vsprintf(17272,$0,$1)|0); - STACKTOP = sp;return (17272|0); -} -function _DrawFPS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - $2 = sp + 4|0; - $3 = HEAP32[4058]|0; - $4 = HEAP32[767]|0; - $5 = ($3|0)<($4|0); - if ($5) { - $6 = (($3) + 1)|0; - $$sink = $6; - } else { - $7 = (_GetFPS()|0); - HEAP32[4059] = $7; - HEAP32[767] = $7; - $$sink = 0; - } - HEAP32[4058] = $$sink; - $8 = HEAP32[4059]|0; - HEAP32[$$byval_copy>>2] = $8; - (_FormatText(4375,$$byval_copy)|0); - HEAP8[$2>>0] = 0; - $9 = ((($2)) + 1|0); - HEAP8[$9>>0] = -98; - $10 = ((($2)) + 2|0); - HEAP8[$10>>0] = 47; - $11 = ((($2)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(17272,$0,$1,20,$$byval_copy); - STACKTOP = sp;return; -} -function _GetFPS() { - var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_GetFrameTime()); - $1 = 1.0 / $0; - $2 = (~~(($1))); - return ($2|0); -} -function _GetFrameTime() { - var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF64[1754]; - $1 = $0; - return (+$1); -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _DrawCube($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlBegin(4); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = $1 * 0.5; - $18 = 0.0 - $17; - $19 = $2 * 0.5; - $20 = 0.0 - $19; - $21 = $3 * 0.5; - $22 = $21 + 0.0; - _rlVertex3f($18,$20,$22); - $23 = $17 + 0.0; - _rlVertex3f($23,$20,$22); - $24 = $19 + 0.0; - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$20,$22); - $25 = 0.0 - $21; - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($18,$20,$22); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$20,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$20,$25); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawCubeV($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy1 = sp + 12|0; - $$byval_copy = sp; - $3 = +HEAPF32[$1>>2]; - $4 = ((($1)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($1)) + 8|0); - $7 = +HEAPF32[$6>>2]; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP8[$$byval_copy1>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$2+3>>0]|0; - _DrawCube($$byval_copy,$3,$5,$7,$$byval_copy1); - STACKTOP = sp;return; -} -function _DrawCubeWires($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlBegin(1); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = $1 * 0.5; - $18 = 0.0 - $17; - $19 = $2 * 0.5; - $20 = 0.0 - $19; - $21 = $3 * 0.5; - $22 = $21 + 0.0; - _rlVertex3f($18,$20,$22); - $23 = $17 + 0.0; - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$22); - $24 = $19 + 0.0; - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$20,$22); - $25 = 0.0 - $21; - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$20,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$25); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawSphere($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy1 = sp + 12|0; - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP8[$$byval_copy1>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$2+3>>0]|0; - _DrawSphereEx($$byval_copy,$1,16,16,$$byval_copy1); - STACKTOP = sp;return; -} -function _DrawSphereEx($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$07173 = 0, $$072 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond76 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlScalef($1,$1,$1); - _rlBegin(4); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = ($2|0)>(-2); - if (!($17)) { - _rlEnd(); - _rlPopMatrix(); - return; - } - $18 = ($3|0)>(0); - $19 = (($2) + 1)|0; - $20 = (($2) + 1)|0; - $$07173 = 0; - while(1) { - if ($18) { - $21 = (($$07173) + 1)|0; - $$072 = 0; - while(1) { - $23 = (180 / ($19|0))&-1; - $24 = Math_imul($23, $$07173)|0; - $25 = (($24) + 270)|0; - $26 = (+($25|0)); - $27 = $26 * 0.01745329238474369; - $28 = (+Math_cos((+$27))); - $29 = ($$072*360)|0; - $30 = (($29|0) / ($3|0))&-1; - $31 = (+($30|0)); - $32 = $31 * 0.01745329238474369; - $33 = (+Math_sin((+$32))); - $34 = $28 * $33; - $35 = (+Math_sin((+$27))); - $36 = (+Math_cos((+$32))); - $37 = $28 * $36; - _rlVertex3f($34,$35,$37); - $38 = Math_imul($23, $21)|0; - $39 = (($38) + 270)|0; - $40 = (+($39|0)); - $41 = $40 * 0.01745329238474369; - $42 = (+Math_cos((+$41))); - $43 = (($$072) + 1)|0; - $44 = ($43*360)|0; - $45 = (($44|0) / ($3|0))&-1; - $46 = (+($45|0)); - $47 = $46 * 0.01745329238474369; - $48 = (+Math_sin((+$47))); - $49 = $42 * $48; - $50 = (+Math_sin((+$41))); - $51 = (+Math_cos((+$47))); - $52 = $42 * $51; - _rlVertex3f($49,$50,$52); - $53 = $33 * $42; - $54 = $36 * $42; - _rlVertex3f($53,$50,$54); - _rlVertex3f($34,$35,$37); - $55 = $28 * $48; - $56 = $28 * $51; - _rlVertex3f($55,$35,$56); - _rlVertex3f($49,$50,$52); - $exitcond = ($43|0)==($3|0); - if ($exitcond) { - break; - } else { - $$072 = $43; - } - } - } - $22 = (($$07173) + 1)|0; - $exitcond76 = ($$07173|0)==($20|0); - if ($exitcond76) { - break; - } else { - $$07173 = $22; - } - } - _rlEnd(); - _rlPopMatrix(); - return; -} -function _rlScalef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixScale($3,$0,$1,$2); - $5 = HEAP32[4052]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _DrawSphereWires($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$07173 = 0, $$072 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond76 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlScalef($1,$1,$1); - _rlBegin(1); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = ($2|0)>(-2); - if (!($17)) { - _rlEnd(); - _rlPopMatrix(); - return; - } - $18 = ($3|0)>(0); - $19 = (($2) + 1)|0; - $20 = (($2) + 1)|0; - $$07173 = 0; - while(1) { - if ($18) { - $21 = (($$07173) + 1)|0; - $$072 = 0; - while(1) { - $23 = (180 / ($19|0))&-1; - $24 = Math_imul($23, $$07173)|0; - $25 = (($24) + 270)|0; - $26 = (+($25|0)); - $27 = $26 * 0.01745329238474369; - $28 = (+Math_cos((+$27))); - $29 = ($$072*360)|0; - $30 = (($29|0) / ($3|0))&-1; - $31 = (+($30|0)); - $32 = $31 * 0.01745329238474369; - $33 = (+Math_sin((+$32))); - $34 = $28 * $33; - $35 = (+Math_sin((+$27))); - $36 = (+Math_cos((+$32))); - $37 = $28 * $36; - _rlVertex3f($34,$35,$37); - $38 = Math_imul($23, $21)|0; - $39 = (($38) + 270)|0; - $40 = (+($39|0)); - $41 = $40 * 0.01745329238474369; - $42 = (+Math_cos((+$41))); - $43 = (($$072) + 1)|0; - $44 = ($43*360)|0; - $45 = (($44|0) / ($3|0))&-1; - $46 = (+($45|0)); - $47 = $46 * 0.01745329238474369; - $48 = (+Math_sin((+$47))); - $49 = $42 * $48; - $50 = (+Math_sin((+$41))); - $51 = (+Math_cos((+$47))); - $52 = $42 * $51; - _rlVertex3f($49,$50,$52); - _rlVertex3f($49,$50,$52); - $53 = $33 * $42; - $54 = $36 * $42; - _rlVertex3f($53,$50,$54); - _rlVertex3f($53,$50,$54); - _rlVertex3f($34,$35,$37); - $exitcond = ($43|0)==($3|0); - if ($exitcond) { - break; - } else { - $$072 = $43; - } - } - } - $22 = (($$07173) + 1)|0; - $exitcond76 = ($$07173|0)==($20|0); - if ($exitcond76) { - break; - } else { - $$07173 = $22; - } - } - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawGrid($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0|0) / 2)&-1; - _rlBegin(1); - $3 = (0 - ($2))|0; - $4 = ($2|0)<($3|0); - if ($4) { - _rlEnd(); - return; - } - $5 = (+($3|0)); - $6 = $5 * $1; - $7 = (+($2|0)); - $8 = $7 * $1; - $$024 = $3; - while(1) { - $9 = ($$024|0)==(0); - if ($9) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $10 = (+($$024|0)); - $11 = $10 * $1; - _rlVertex3f($11,0.0,$6); - _rlVertex3f($11,0.0,$8); - _rlVertex3f($6,0.0,$11); - _rlVertex3f($8,0.0,$11); - $12 = (($$024) + 1)|0; - $13 = ($$024|0)<($2|0); - if ($13) { - $$024 = $12; - } else { - break; - } - } - _rlEnd(); - return; -} -function _rlColor3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $0 * 255.0; - $4 = (~~(($3))&255); - $5 = $1 * 255.0; - $6 = (~~(($5))&255); - $7 = $2 * 255.0; - $8 = (~~(($7))&255); - _rlColor4ub($4,$6,$8,-1); - return; -} -function _Vector3Subtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - HEAPF32[$12>>2] = $17; - return; -} -function _Vector3CrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 116|0; - $$byval_copy4 = sp + 104|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($6,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($6); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($7,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($7); - $8 = HEAP32[$6>>2]|0; - HEAP32[$4>>2] = $8; - $9 = ((($6)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($4)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($4)) + 32|0); - HEAP32[$14>>2] = $13; - $15 = ((($4)) + 48|0); - HEAPF32[$15>>2] = 0.0; - $16 = HEAP32[$7>>2]|0; - $17 = ((($4)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = ((($7)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($4)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ((($7)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($4)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = ((($4)) + 52|0); - HEAPF32[$24>>2] = 0.0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($4)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = ((($5)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($4)) + 24|0); - HEAP32[$29>>2] = $28; - $30 = ((($5)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = $31; - $33 = ((($4)) + 56|0); - HEAPF32[$33>>2] = 0.0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($4)) + 12|0); - HEAP32[$35>>2] = $34; - $36 = ((($1)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($4)) + 28|0); - HEAP32[$38>>2] = $37; - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($4)) + 44|0); - HEAP32[$41>>2] = $40; - $42 = ((($4)) + 60|0); - HEAPF32[$42>>2] = 1.0; - _MatrixInvert($4); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _CheckCollisionBoxes($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 12|0); - $3 = +HEAPF32[$2>>2]; - $4 = +HEAPF32[$1>>2]; - $5 = !($3 >= $4); - if ($5) { - $$1 = 0; - return ($$1|0); - } - $6 = +HEAPF32[$0>>2]; - $7 = ((($1)) + 12|0); - $8 = +HEAPF32[$7>>2]; - $9 = !($6 <= $8); - if ($9) { - $$1 = 0; - return ($$1|0); - } - $10 = ((($0)) + 16|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($1)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = $11 < $13; - if ($14) { - label = 5; - } else { - $15 = ((($0)) + 4|0); - $16 = +HEAPF32[$15>>2]; - $17 = ((($1)) + 16|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 > $18; - if ($19) { - label = 5; - } else { - $$0 = 1; - } - } - if ((label|0) == 5) { - $$0 = 0; - } - $20 = ((($0)) + 20|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($1)) + 8|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 < $23; - if (!($24)) { - $25 = ((($0)) + 8|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($1)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $26 > $28; - if (!($29)) { - $$1 = $$0; - return ($$1|0); - } - } - $$1 = 0; - return ($$1|0); -} -function _CheckCollisionBoxSphere($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$0 = 0.0, $$012 = 0, $$1 = 0.0, $$2 = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; - var $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $not$ = 0; - var $pow2 = 0.0, $pow213 = 0.0, $pow214 = 0.0, $pow215 = 0.0, $pow216 = 0.0, $pow217 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$0>>2]; - $5 = $3 < $4; - if ($5) { - $6 = $3 - $4; - $pow217 = $6 * $6; - $7 = $pow217 + 0.0; - $$0 = $7; - } else { - $8 = ((($0)) + 12|0); - $9 = +HEAPF32[$8>>2]; - $10 = $3 > $9; - $11 = $3 - $9; - if ($10) { - $pow216 = $11 * $11; - $12 = $pow216 + 0.0; - $$0 = $12; - } else { - $$0 = 0.0; - } - } - $13 = ((($1)) + 4|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($0)) + 4|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 < $16; - if ($17) { - $18 = $14 - $16; - $pow215 = $18 * $18; - $19 = $$0 + $pow215; - $$1 = $19; - } else { - $20 = ((($0)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $14 > $21; - $23 = $14 - $21; - if ($22) { - $pow214 = $23 * $23; - $24 = $$0 + $pow214; - $$1 = $24; - } else { - $$1 = $$0; - } - } - $25 = ((($1)) + 8|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($0)) + 8|0); - $28 = +HEAPF32[$27>>2]; - $29 = $26 < $28; - if ($29) { - $30 = $26 - $28; - $pow213 = $30 * $30; - $31 = $$1 + $pow213; - $$2 = $31; - $37 = $2 * $2; - $not$ = $$2 <= $37; - $$012 = $not$&1; - return ($$012|0); - } - $32 = ((($0)) + 20|0); - $33 = +HEAPF32[$32>>2]; - $34 = $26 > $33; - $35 = $26 - $33; - if (!($34)) { - $$2 = $$1; - $37 = $2 * $2; - $not$ = $$2 <= $37; - $$012 = $not$&1; - return ($$012|0); - } - $pow2 = $35 * $35; - $36 = $$1 + $pow2; - $$2 = $36; - $37 = $2 * $2; - $not$ = $$2 <= $37; - $$012 = $not$&1; - return ($$012|0); -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = $4 * $4; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = $10 * $10; - $12 = $5 + $11; - $13 = (+Math_sqrt((+$12))); - return (+$13); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _Vector3Zero($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 0.0; - $1 = ((($0)) + 4|0); - HEAPF32[$1>>2] = 0.0; - $2 = ((($0)) + 8|0); - HEAPF32[$2>>2] = 0.0; - return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[4096] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 14040; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 14080; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3520]; - $111 = +HEAPF32[3510]; - $112 = $110 - $111; - HEAPF32[3522] = $112; - $113 = +HEAPF32[(14084)>>2]; - $114 = +HEAPF32[(14044)>>2]; - $115 = $113 - $114; - HEAPF32[(14092)>>2] = $115; - HEAP32[4095] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14072+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4101] = $116; - $117 = 14072; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 14040; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 14096; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 14080; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 14072; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 14096; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3524]; - $160 = +HEAPF32[3518]; - $161 = $159 - $160; - HEAPF32[3522] = $161; - $162 = +HEAPF32[(14100)>>2]; - $163 = +HEAPF32[(14076)>>2]; - $164 = $162 - $163; - HEAPF32[(14092)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14072+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14080+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14072+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4101]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[4095] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14072+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[4102] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[4101] = 0.0; - HEAPF32[4102] = 0.0; - HEAPF32[3522] = 0.0; - HEAPF32[(14092)>>2] = 0.0; - HEAP32[4096] = 0; - HEAP32[4095] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[4097]|0; - $7 = (($6) + 1)|0; - HEAP32[4097] = $7; - $8 = HEAP32[4095]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[4095] = 2; - HEAP32[4097] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[4097] = 1; - HEAP32[4095] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 14040; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 14048; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 14056; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[768] = $34; - HEAPF32[3516] = 0.0; - HEAPF32[(14068)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[4095]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 14056; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[4098] = $49; - HEAP32[4099] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[768]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[4100] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[4098] = 0.0; - HEAPF32[4100] = 0.0; - $$sink10 = 0; - } - HEAP32[4095] = $$sink10; - HEAPF32[3512] = 0.0; - HEAPF32[(14052)>>2] = 0.0; - HEAP32[4096] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[4099]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[4099] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 14072; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[4095]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14072+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[4095] = 8; - } - } - $82 = +HEAPF32[3518]; - $83 = +HEAPF32[3512]; - $84 = $82 - $83; - HEAPF32[3516] = $84; - $85 = +HEAPF32[(14076)>>2]; - $86 = +HEAPF32[(14052)>>2]; - $87 = $85 - $86; - HEAPF32[(14068)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4095]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[4096]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[4095] = 4; - } - $4 = HEAP32[4095]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[4095] = 0; - return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 14104; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _IsKeyDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetKeyStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _GetKeyStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4104]|0; - $2 = (_glfwGetKey(($1|0),($0|0))|0); - return ($2|0); -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _TraceLog(0,4383,$vararg_buffer); - HEAP32[4106] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4412|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4412|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4412|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4412|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4412|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4412|0),(0|0),1,(7|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4107]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[3526] = $5; - $6 = HEAP32[4108]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(14108)>>2] = $8; - $9 = HEAP32[4109]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[4107] = $0; - HEAP32[4108] = $1; - _MatrixIdentity($2); - dest=16456; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((1|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,4607,$vararg_buffer); - } - $6 = HEAP32[4107]|0; - HEAP32[4130] = $6; - $7 = HEAP32[4108]|0; - HEAP32[4131] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[17336]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[17336]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[17336]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,4633,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[4132]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[4107]|0; - $48 = HEAP32[4108]|0; - $49 = HEAP32[4106]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4104] = $50; - $51 = HEAP32[4107]|0; - HEAP32[4133] = $51; - $52 = HEAP32[4108]|0; - HEAP32[4134] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[4107]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4108]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[4130] = $31; - HEAP32[4131] = $34; - } - } while(0); - $38 = HEAP32[4130]|0; - $39 = HEAP32[4131]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(1,4658,$vararg_buffer3); - $40 = HEAP32[4130]|0; - $41 = HEAP32[4131]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[4130]|0; - $43 = HEAP32[4131]|0; - $44 = HEAP32[4106]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4104] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(2,4696,$vararg_buffer6); - } else { - _TraceLog(0,4729,$vararg_buffer8); - $55 = HEAP32[4133]|0; - $56 = HEAP32[4134]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,4769,$vararg_buffer10); - $57 = HEAP32[4107]|0; - $58 = HEAP32[4108]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,4790,$vararg_buffer14); - $59 = HEAP32[4135]|0; - $60 = HEAP32[4136]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4811,$vararg_buffer18); - } - $61 = HEAP32[4104]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4104]|0; - (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[4104]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4104]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4104]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4104]|0; - (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[4104]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4104]|0; - (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[4104]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[17336]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[4107]|0; - $74 = HEAP32[4108]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[4133]|0; - $76 = HEAP32[4135]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[4134]|0; - $80 = HEAP32[4136]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,4836,$vararg_buffer22); - $73 = HEAP32[4107]|0; - $74 = HEAP32[4108]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[4133]|0; - $76 = HEAP32[4135]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[4134]|0; - $80 = HEAP32[4136]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[1767] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4540,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4471,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4464)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - $5 = HEAP32[4103]|0; - $6 = ($5|0)!=(0); - $or$cond = $4 & $6; - if (!($or$cond)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - HEAP32[4103] = 0; - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 14120; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (14128); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (16440 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ($0|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[1764] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4420,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4109] = 0; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4107]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4108]|0; - return ($0|0); -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(1,8392,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[4107]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[4108]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[4133] = $3; - HEAP32[4134] = $5; - HEAP32[4135] = 0; - HEAP32[4136] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8326,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[4107]|0; - $36 = (+($35|0)); - $37 = HEAP32[4108]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[4133] = $45; - HEAP32[4134] = $37; - $46 = (($45) - ($35))|0; - HEAP32[4135] = $46; - $$sink1 = 0; - } else { - HEAP32[4133] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[4134] = $42; - HEAP32[4135] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[4136] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[4108]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(1,8183,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[4107]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[4108]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[4133] = $23; - HEAP32[4134] = $1; - $24 = (($0) - ($23))|0; - HEAP32[4135] = $24; - $$sink = 0; - } else { - HEAP32[4133] = $0; - $17 = HEAP32[4108]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[4134] = $20; - HEAP32[4135] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[4136] = $$sink; - $25 = HEAP32[4133]|0; - $26 = (+($25|0)); - $27 = HEAP32[4107]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=16456; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4133] = $0; - HEAP32[4134] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(1,8261,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[4107] = $1; - HEAP32[4108] = $2; - HEAP32[4133] = $1; - HEAP32[4134] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[770]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (17343 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[769] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (17337 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 14120; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[769] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[4139] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[4138] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; - var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2528|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2396|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4859,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4877,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4895,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4913,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$063 = 0;$$sink64 = $14; - while(1) { - $15 = (_strtok($$sink64,4931)|0); - $16 = (($vararg_buffer7) + ($$063<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$063) + 1)|0; - if ($17) { - break; - } else { - $$063 = $18;$$sink64 = 0; - } - } - _free($14); - $19 = (($$063) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4933,$vararg_buffer10); - $20 = ($$063|0)>(1); - if ($20) { - $$06268 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06268<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,4968)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[3667] = 1; - $27 = (_eglGetProcAddress((4995|0))|0); - HEAP32[4093] = $27; - $28 = (_eglGetProcAddress((5016|0))|0); - HEAP32[3668] = $28; - $29 = (_eglGetProcAddress((5037|0))|0); - HEAP32[4094] = $29; - } - $30 = (_strcmp($24,5061)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[3559] = 1; - } - $32 = (_strcmp($24,5081)|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP32[3558] = 1; - } - $34 = (_strcmp($24,5099)|0); - $35 = ($34|0)==(0); - if ($35) { - label = 14; - } else { - $36 = HEAP32[$23>>2]|0; - $37 = (_strcmp($36,5131)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 14; - } else { - $39 = (_strcmp($36,5164)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 14; - } - } - } - if ((label|0) == 14) { - label = 0; - HEAP32[3553] = 1; - } - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,5204)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 17; - } else { - $44 = (_strcmp($41,5240)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - HEAP32[3554] = 1; - } - $46 = (_strcmp($41,5273)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[3555] = 1; - } - $48 = HEAP32[$23>>2]|0; - $49 = (_strcmp($48,5298)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[3556] = 1; - } - $51 = (_strcmp($48,5331)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[3557] = 1; - } - $53 = (_strcmp($48,5367)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP32[4137] = 1; - _glGetFloatv(34047,(14244|0)); - } - $55 = (_strcmp($48,5401)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[3560] = 1; - } - $57 = (($$06268) + 1)|0; - $exitcond71 = ($57|0)==($19|0); - if ($exitcond71) { - break; - } else { - $$06268 = $57; - } - } - } - $21 = HEAP32[3667]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(1,5504,$vararg_buffer15); - } else { - _TraceLog(0,5429,$vararg_buffer13); - } - $58 = HEAP32[3559]|0; - $59 = ($58|0)==(0); - if ($59) { - _TraceLog(1,5640,$vararg_buffer19); - } else { - _TraceLog(0,5565,$vararg_buffer17); - } - $60 = HEAP32[3553]|0; - $61 = ($60|0)==(0); - if (!($61)) { - _TraceLog(0,5732,$vararg_buffer21); - } - $62 = HEAP32[3554]|0; - $63 = ($62|0)==(0); - if (!($63)) { - _TraceLog(0,5778,$vararg_buffer23); - } - $64 = HEAP32[3555]|0; - $65 = ($64|0)==(0); - if (!($65)) { - _TraceLog(0,5825,$vararg_buffer25); - } - $66 = HEAP32[3556]|0; - $67 = ($66|0)==(0); - if (!($67)) { - _TraceLog(0,5876,$vararg_buffer27); - } - $68 = HEAP32[3557]|0; - $69 = ($68|0)==(0); - if (!($69)) { - _TraceLog(0,5923,$vararg_buffer29); - } - $70 = HEAP32[4137]|0; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = +HEAPF32[3561]; - $73 = $72; - HEAPF64[$vararg_buffer31>>3] = $73; - _TraceLog(0,5970,$vararg_buffer31); - } - $74 = HEAP32[3560]|0; - $75 = ($74|0)==(0); - if (!($75)) { - _TraceLog(0,6036,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $76 = (_rlLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[3608] = $76; - $77 = ($76|0)==(0); - if ($77) { - _TraceLog(1,6140,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $76; - _TraceLog(0,6089,$vararg_buffer36); - } - _LoadShaderDefault($2); - _memcpy((16240|0),($2|0),132)|0; - _memcpy((14536|0),($2|0),132)|0; - _LoadBuffersDefault(); - $78 = (_malloc(49152)|0); - HEAP32[4055] = $78; - $$06167 = 0; - while(1) { - $80 = HEAP32[4055]|0; - $81 = (($80) + (($$06167*12)|0)|0); - _Vector3Zero($3); - ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; - $82 = (($$06167) + 1)|0; - $exitcond70 = ($82|0)==(4096); - if ($exitcond70) { - break; - } else { - $$06167 = $82; - } - } - $79 = (_malloc(36864)|0); - HEAP32[3609] = $79; - $$06066 = 0; - while(1) { - $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($79) + (($$06066*144)|0)|0); - HEAP32[$84>>2] = 0; - $85 = (($$06066) + 1)|0; - $exitcond = ($85|0)==(256); - if ($exitcond) { - break; - } else { - $$06066 = $85; - } - } - HEAP32[3607] = 1; - $86 = HEAP32[3608]|0; - $87 = ((($79)) + 8|0); - HEAP32[$87>>2] = $86; - HEAP32[4056] = 4; - _MatrixIdentity($4); - dest=15184; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15248); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15312); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15376); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15440); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15504); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15568); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15632); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15696); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15760); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15824); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15888); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15952); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(16016); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(16080); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(16144); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=14296; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=14360; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4052] = 14360; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[3685] = $0; - HEAP32[3686] = $1; - _TraceLog(0,6179,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4135]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4136]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4133]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[4134]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 14296; - label = 3; - break; - } - case 5888: { - $modelview$sink = 14360; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[4052] = $modelview$sink; - } - HEAP32[4057] = $0; - return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[4052]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _LoadShaderDefault($0) { - $0 = $0|0; - var $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx9 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx11 = 0, $$sroa$14 = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$1415$0 = 0, $$sroa$1415$0$$sroa_idx16 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx18 = 0, $$sroa$16 = 0, $$sroa$16$0$$sroa_idx = 0, $$sroa$1622$0 = 0, $$sroa$1622$0$$sroa_idx23 = 0, $$sroa$1727$0 = 0, $$sroa$1727$0$$sroa_idx28 = 0, $$sroa$18 = 0, $$sroa$18$0$$sroa_idx = 0, $1 = 0, $10 = 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $$sroa$14 = sp + 96|0; - $$sroa$16 = sp + 80|0; - $$sroa$18 = sp + 12|0; - $1 = sp + 549|0; - $2 = sp + 108|0; - _memcpy(($1|0),(6755|0),483)|0; - _memcpy(($2|0),(7238|0),441)|0; - $3 = (_LoadShaderProgram($1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - HEAP32[$vararg_buffer1>>2] = $3; - _TraceLog(1,7793,$vararg_buffer1); - $$sroa$12$0 = 0;$$sroa$13$0 = 0;$$sroa$1415$0 = 0;$$sroa$15$0 = 0;$$sroa$1622$0 = 0;$$sroa$1727$0 = 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,7679,$vararg_buffer); - $5 = (_glGetAttribLocation(($3|0),(7727|0))|0); - $6 = (_glGetAttribLocation(($3|0),(7742|0))|0); - $7 = (_glGetAttribLocation(($3|0),(7757|0))|0); - $8 = (_glGetUniformLocation(($3|0),(7769|0))|0); - $9 = (_glGetUniformLocation(($3|0),(7773|0))|0); - $10 = (_glGetUniformLocation(($3|0),(7784|0))|0); - $$sroa$12$0 = $5;$$sroa$13$0 = $6;$$sroa$1415$0 = $7;$$sroa$15$0 = $8;$$sroa$1622$0 = $9;$$sroa$1727$0 = $10; - } - HEAP32[$0>>2] = $3; - $$sroa$12$0$$sroa_idx9 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx9>>2] = $$sroa$12$0; - $$sroa$13$0$$sroa_idx11 = ((($0)) + 8|0); - HEAP32[$$sroa$13$0$$sroa_idx11>>2] = $$sroa$13$0; - $$sroa$14$0$$sroa_idx = ((($0)) + 12|0); - ;HEAP32[$$sroa$14$0$$sroa_idx>>2]=HEAP32[$$sroa$14>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+4>>2]=HEAP32[$$sroa$14+4>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+8>>2]=HEAP32[$$sroa$14+8>>2]|0; - $$sroa$1415$0$$sroa_idx16 = ((($0)) + 24|0); - HEAP32[$$sroa$1415$0$$sroa_idx16>>2] = $$sroa$1415$0; - $$sroa$15$0$$sroa_idx18 = ((($0)) + 28|0); - HEAP32[$$sroa$15$0$$sroa_idx18>>2] = $$sroa$15$0; - $$sroa$16$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$$sroa$16$0$$sroa_idx>>2]=HEAP32[$$sroa$16>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+4>>2]=HEAP32[$$sroa$16+4>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+8>>2]=HEAP32[$$sroa$16+8>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+12>>2]=HEAP32[$$sroa$16+12>>2]|0; - $$sroa$1622$0$$sroa_idx23 = ((($0)) + 48|0); - HEAP32[$$sroa$1622$0$$sroa_idx23>>2] = $$sroa$1622$0; - $$sroa$1727$0$$sroa_idx28 = ((($0)) + 60|0); - HEAP32[$$sroa$1727$0$$sroa_idx28>>2] = $$sroa$1727$0; - $$sroa$18$0$$sroa_idx = ((($0)) + 64|0); - dest=$$sroa$18$0$$sroa_idx; src=$$sroa$18; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadBuffersDefault() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(14452)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(14460)>>2] = $1; - HEAP32[(14456)>>2] = 0; - HEAP32[(14464)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(14460)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[3610] = 0; - HEAP32[(14448)>>2] = 0; - HEAP32[(14444)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(14500)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(14508)>>2] = $6; - HEAP32[(14504)>>2] = 0; - HEAP32[(14512)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(14508)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[3622] = 0; - HEAP32[(14496)>>2] = 0; - HEAP32[(14492)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(14260)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(14264)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(14268)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(14272)>>2] = $13; - $14 = HEAP32[(14260)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(14264)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(14268)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(14272)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[3562] = 0; - HEAP32[(14252)>>2] = 0; - HEAP32[(14256)>>2] = 0; - _TraceLog(0,6226,$vararg_buffer); - $20 = HEAP32[3667]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[4093]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(14468)); - $44 = HEAP32[3668]|0; - $45 = HEAP32[(14468)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((14472)|0)); - $46 = HEAP32[(14472)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(14452)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(14540)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(14540)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((14476)|0)); - $50 = HEAP32[(14476)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(14460)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(14560)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(14560)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[3667]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(14472)>>2]|0; - $58 = HEAP32[(14476)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6364,$vararg_buffer3); - } else { - $56 = HEAP32[(14468)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,6299,$vararg_buffer1); - } - $59 = HEAP32[3667]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[4093]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(14516)); - $62 = HEAP32[3668]|0; - $63 = HEAP32[(14516)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((14520)|0)); - $64 = HEAP32[(14520)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(14500)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(14540)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(14540)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((14524)|0)); - $68 = HEAP32[(14524)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(14508)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(14560)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(14560)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[3667]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(14520)>>2]|0; - $76 = HEAP32[(14524)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6510,$vararg_buffer10); - } else { - $74 = HEAP32[(14516)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6441,$vararg_buffer7); - } - $77 = HEAP32[3667]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[4093]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(14276)); - $80 = HEAP32[3668]|0; - $81 = HEAP32[(14276)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((14280)|0)); - $82 = HEAP32[(14280)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(14260)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(14540)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(14540)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((14284)|0)); - $86 = HEAP32[(14284)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(14264)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(14544)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(14544)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((14288)|0)); - $90 = HEAP32[(14288)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(14268)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(14560)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(14560)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((14292)|0)); - $94 = HEAP32[(14292)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(14272)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[3667]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(14280)>>2]|0; - $100 = HEAP32[(14284)>>2]|0; - $101 = HEAP32[(14288)>>2]|0; - $102 = HEAP32[(14292)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6656,$vararg_buffer17); - } else { - $98 = HEAP32[(14276)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6591,$vararg_buffer14); - } - $103 = HEAP32[3667]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[3668]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7893,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(1,7841,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,7890,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7994,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(1,7943,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,7890,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(7727|0)); - _glBindAttribLocation(($20|0),1,(7742|0)); - _glBindAttribLocation(($20|0),2,(8046|0)); - _glBindAttribLocation(($20|0),3,(7757|0)); - _glBindAttribLocation(($20|0),4,(8059|0)); - _glBindAttribLocation(($20|0),5,(8073|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(1,8089,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,7890,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,8135,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (17337 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (17340 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (17337 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (17340 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[4104]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,8430,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadShaderDefault(); - _UnloadBuffersDefault(); - _glDeleteTextures(1,(14432|0)); - $0 = HEAP32[3608]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8457,$vararg_buffer); - $1 = HEAP32[3609]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadShaderDefault() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[4060]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3667]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[3668]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((14472)|0)); - _glDeleteBuffers(1,((14476)|0)); - _glDeleteBuffers(1,((14520)|0)); - _glDeleteBuffers(1,((14524)|0)); - _glDeleteBuffers(1,((14280)|0)); - _glDeleteBuffers(1,((14284)|0)); - _glDeleteBuffers(1,((14288)|0)); - _glDeleteBuffers(1,((14292)|0)); - $3 = HEAP32[3667]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[4094]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(14468)); - $6 = HEAP32[4094]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(14516)); - $7 = HEAP32[4094]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(14276)); - } - $8 = HEAP32[(14452)>>2]|0; - _free($8); - $9 = HEAP32[(14460)>>2]|0; - _free($9); - $10 = HEAP32[(14500)>>2]|0; - _free($10); - $11 = HEAP32[(14508)>>2]|0; - _free($11); - $12 = HEAP32[(14260)>>2]|0; - _free($12); - $13 = HEAP32[(14264)>>2]|0; - _free($13); - $14 = HEAP32[(14268)>>2]|0; - _free($14); - $15 = HEAP32[(14272)>>2]|0; - _free($15); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[1768] = $0; - $1 = +HEAPF64[1767]; - $2 = $0 - $1; - HEAPF64[1769] = $2; - HEAPF64[1767] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16456; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(14676); - STACKTOP = sp;return; -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 32|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 48|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 52|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 24|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 56|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 12|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[4052]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[1768] = $0; - $1 = +HEAPF64[1767]; - $2 = $0 - $1; - HEAPF64[1770] = $2; - HEAPF64[1767] = $0; - $3 = +HEAPF64[1769]; - $4 = $2 + $3; - HEAPF64[1754] = $4; - $5 = +HEAPF64[1764]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[1768] = $10; - $11 = +HEAPF64[1767]; - $12 = $10 - $11; - HEAPF64[1767] = $10; - $13 = +HEAPF64[1754]; - $14 = $12 + $13; - HEAPF64[1754] = $14; - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4104]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[769] = -1; - HEAP32[771] = -1; - HEAP32[4140] = 0; - $3 = HEAP32[4104]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[3526] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(14108)>>2] = $7; - _memcpy((17855|0),(17343|0),512)|0; - ;HEAP8[17340>>0]=HEAP8[17337>>0]|0;HEAP8[17340+1>>0]=HEAP8[17337+1>>0]|0;HEAP8[17340+2>>0]=HEAP8[17337+2>>0]|0; - $8 = HEAP32[4139]|0; - HEAP32[4105] = $8; - HEAP32[4139] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (18367 + ($$05160<<5)|0); - $scevgep67 = (18495 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((18495 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[771] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((16564 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[4140] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[4107]|0; - $3 = (+($2|0)); - $4 = HEAP32[4108]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 0.5; - $11 = $10 * 0.01745329238474369; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(14676); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[4052]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8522)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8526)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8530)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8534)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8540)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8578)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 8597; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8610)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 8631; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8646)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 8661; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8676)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 8691; - } - } else { - HEAP32[$3>>2] = 8562; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8706)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8720)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 2; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8732)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 6; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8746)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 7; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8758)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 8; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8772)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 9; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8786)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 10; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8803)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8826)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8852)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8865)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8881)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8894)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 11; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8908)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8928)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8948)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8965)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8982)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 3; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8994)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 12; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,9007)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 13; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,9023)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,9046)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,9059)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,9075)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 4; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,9086)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 14; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,9105)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 15; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,9127)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 16; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,9146)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,9175)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 5; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,9192)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,9207)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9222)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9243)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9263)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9283)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9309)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9328)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9340)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9352)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9364)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9376)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 17; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9388)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9400)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9412)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9424)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9437)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9450)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9463)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9476)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9489)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9502)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9515)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9528)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9547)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9566)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9585)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 18; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9598)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 19; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9616)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 20; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9634)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 21; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9652)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 22; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9670)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9690)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8631)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 6; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9708)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9723)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9744)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9759)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9777)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9793)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9812)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9826)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9841)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 7; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8562)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9852)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8661)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 23; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8691)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 24; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9868)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9895)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9909)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8597)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9929)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9947)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 8; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9959)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9980)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 25; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9998)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 26; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,10016)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 27; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,10037)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,10063)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,10086)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,10124)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 9; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,10140)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,10155)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,10178)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,10191)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 28; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,10205)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 29; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10219)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10239)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10259)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10275)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10293)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10309)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10324)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10346)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 30; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10364)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 31; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10385)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10403)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10416)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10431)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10445)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10455)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10465)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10487)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10513)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10540)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10553)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10568)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10583)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10607)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10618)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 32; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10640)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10662)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10686)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10695)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10703)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10716)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10730)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10742)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10751)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10761)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10773)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10784)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10792)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10804)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10819)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10831)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10845)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 10; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10870)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10887)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10903)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10919)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 11; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10931)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 33; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10943)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 34; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10967)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10980)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10994)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 35; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,11016)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 36; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,11023)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,11039)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,11056)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,11073)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,11089)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,11105)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,11122)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,11136)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,11148)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,11159)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,11172)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,11182)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,11199)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11211)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11233)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11253)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11266)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11288)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11308)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11325)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11342)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11362)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 37; - break; - } - } else { - HEAP32[$1>>2] = 5; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ($0>>>0)<(245); - do { - if ($2) { - $3 = ($0>>>0)<(11); - $4 = (($0) + 11)|0; - $5 = $4 & -8; - $6 = $3 ? 16 : $5; - $7 = $6 >>> 3; - $8 = HEAP32[4173]|0; - $9 = $8 >>> $7; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if (!($11)) { - $12 = $9 & 1; - $13 = $12 ^ 1; - $14 = (($13) + ($7))|0; - $15 = $14 << 1; - $16 = (16732 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[4173] = $24; - } else { - $25 = HEAP32[(16708)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(16700)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (16732 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[4173] = $77; - $98 = $77; - } else { - $78 = HEAP32[(16708)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(16712)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (16732 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[4173] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(16708)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(16700)>>2] = $84; - HEAP32[(16712)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(16696)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (16996 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(16708)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (16996 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(16696)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(16708)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(16708)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(16708)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(16712)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (16732 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[4173] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(16708)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(16700)>>2] = $$0193$lcssa$i; - HEAP32[(16712)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(16696)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (16996 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (16996 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(16700)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(16708)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (16996 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(16696)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(16708)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(16708)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(16708)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (16732 + ($425<<2)|0); - $427 = HEAP32[4173]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[4173] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(16708)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (16996 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(16696)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(16708)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(16708)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(16700)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(16712)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(16712)>>2] = $511; - HEAP32[(16700)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(16700)>>2] = 0; - HEAP32[(16712)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(16704)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(16704)>>2] = $526; - $527 = HEAP32[(16716)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(16716)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[4291]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(17172)>>2] = 4096; - HEAP32[(17168)>>2] = 4096; - HEAP32[(17176)>>2] = -1; - HEAP32[(17180)>>2] = -1; - HEAP32[(17184)>>2] = 0; - HEAP32[(17136)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[4291] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(17172)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(17132)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(17124)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(17136)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(16716)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (17140); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(17168)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(17124)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(17132)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(17172)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(17136)>>2]|0; - $612 = $611 | 4; - HEAP32[(17136)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(17124)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(17124)>>2] = $627; - $628 = HEAP32[(17128)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(17128)>>2] = $627; - } - $630 = HEAP32[(16716)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(16708)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(16708)>>2] = $$749$i; - } - HEAP32[(17140)>>2] = $$749$i; - HEAP32[(17144)>>2] = $$723948$i; - HEAP32[(17152)>>2] = 0; - $635 = HEAP32[4291]|0; - HEAP32[(16728)>>2] = $635; - HEAP32[(16724)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (16732 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(16716)>>2] = $649; - HEAP32[(16704)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(17180)>>2]|0; - HEAP32[(16720)>>2] = $655; - } else { - $$024371$i = (17140); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(16704)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(16716)>>2] = $679; - HEAP32[(16704)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(17180)>>2]|0; - HEAP32[(16720)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(16708)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(16708)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (17140); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(16704)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(16704)>>2] = $727; - HEAP32[(16716)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(16712)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(16700)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(16700)>>2] = $733; - HEAP32[(16712)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (16732 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[4173]|0; - $760 = $759 & $758; - HEAP32[4173] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (16996 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(16696)>>2]|0; - $803 = $802 & $801; - HEAP32[(16696)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(16708)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(16708)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(16708)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (16732 + ($836<<2)|0); - $838 = HEAP32[4173]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[4173] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(16708)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (16996 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(16696)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(16696)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(16708)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(16708)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (17140); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(16716)>>2] = $946; - HEAP32[(16704)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(17180)>>2]|0; - HEAP32[(16720)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(17140)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(17140)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(17140)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(17140)+12>>2]|0; - HEAP32[(17140)>>2] = $$749$i; - HEAP32[(17144)>>2] = $$723948$i; - HEAP32[(17152)>>2] = 0; - HEAP32[(17148)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (16732 + ($968<<2)|0); - $970 = HEAP32[4173]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[4173] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(16708)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (16996 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(16696)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(16696)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(16708)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(16708)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(16704)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(16704)>>2] = $1050; - $1051 = HEAP32[(16716)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(16716)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(16708)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(16712)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(16700)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (16732 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[4173]|0; - $38 = $37 & $36; - HEAP32[4173] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (16996 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(16696)>>2]|0; - $81 = $80 & $79; - HEAP32[(16696)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(16708)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(16708)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(16708)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(16716)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(16712)>>2]|0; - if ($121) { - $123 = HEAP32[(16704)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(16704)>>2] = $124; - HEAP32[(16716)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(16712)>>2] = 0; - HEAP32[(16700)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(16700)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(16700)>>2] = $130; - HEAP32[(16712)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (16732 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(16708)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[4173]|0; - $154 = $153 & $152; - HEAP32[4173] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(16708)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(16708)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(16708)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (16996 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(16696)>>2]|0; - $200 = $199 & $198; - HEAP32[(16696)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(16708)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(16708)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(16708)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(16712)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(16700)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (16732 + ($234<<2)|0); - $236 = HEAP32[4173]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[4173] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(16708)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (16996 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(16696)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(16696)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(16708)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(16708)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(16724)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(16724)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (17148); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(16724)>>2] = -1; - return; -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (17188|0); -} -function ___stdio_close($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 60|0); - $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); - HEAP32[$vararg_buffer>>2] = $3; - $4 = (___syscall6(6,($vararg_buffer|0))|0); - $5 = (___syscall_ret($4)|0); - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $3 = sp + 32|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$3>>2] = $5; - $6 = ((($3)) + 4|0); - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - ($5))|0; - HEAP32[$6>>2] = $9; - $10 = ((($3)) + 8|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $2; - $12 = (($9) + ($2))|0; - $13 = ((($0)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = $3; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $16 = (___syscall146(146,($vararg_buffer|0))|0); - $17 = (___syscall_ret($16)|0); - $18 = ($12|0)==($17|0); - L1: do { - if ($18) { - label = 3; - } else { - $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; - while(1) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } while(0); - if ((label|0) == 3) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 16|0); - HEAP32[$24>>2] = $23; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|0); -} -function ___stdio_seek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 20|0; - $4 = ((($0)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $1; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $6; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $2; - $7 = (___syscall140(140,($vararg_buffer|0))|0); - $8 = (___syscall_ret($7)|0); - $9 = ($8|0)<(0); - if ($9) { - HEAP32[$3>>2] = -1; - $10 = -1; - } else { - $$pre = HEAP32[$3>>2]|0; - $10 = $$pre; - } - STACKTOP = sp;return ($10|0); -} -function ___syscall_ret($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0>>>0)>(4294963200); - if ($1) { - $2 = (0 - ($0))|0; - $3 = (___errno_location()|0); - HEAP32[$3>>2] = $2; - $$0 = -1; - } else { - $$0 = $0; - } - return ($$0|0); -} -function ___errno_location() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (3088|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdout_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 9; - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 64; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = $3; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21523; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $11 = (___syscall54(54,($vararg_buffer|0))|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($0)) + 75|0); - HEAP8[$13>>0] = -1; - } - } - $14 = (___stdio_write($0,$1,$2)|0); - STACKTOP = sp;return ($14|0); -} -function _strcmp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP8[$0>>0]|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($2<<24>>24)!=($3<<24>>24); - $5 = ($2<<24>>24)==(0); - $or$cond9 = $5 | $4; - if ($or$cond9) { - $$lcssa = $3;$$lcssa8 = $2; - } else { - $$011 = $1;$$0710 = $0; - while(1) { - $6 = ((($$0710)) + 1|0); - $7 = ((($$011)) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = HEAP8[$7>>0]|0; - $10 = ($8<<24>>24)!=($9<<24>>24); - $11 = ($8<<24>>24)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $$lcssa = $9;$$lcssa8 = $8; - break; - } else { - $$011 = $7;$$0710 = $6; - } - } - } - $12 = $$lcssa8&255; - $13 = $$lcssa&255; - $14 = (($12) - ($13))|0; - return ($14|0); -} -function _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _vsprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_vsnprintf($0,2147483647,$1,$2)|0); - return ($3|0); -} -function _vsnprintf($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $4 = sp + 124|0; - $5 = sp; - dest=$5; src=3464; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = (($1) + -1)|0; - $7 = ($6>>>0)>(2147483646); - if ($7) { - $8 = ($1|0)==(0); - if ($8) { - $$014 = $4;$$015 = 1; - label = 4; - } else { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 75; - $$0 = -1; - } - } else { - $$014 = $0;$$015 = $1; - label = 4; - } - if ((label|0) == 4) { - $10 = $$014; - $11 = (-2 - ($10))|0; - $12 = ($$015>>>0)>($11>>>0); - $$$015 = $12 ? $11 : $$015; - $13 = ((($5)) + 48|0); - HEAP32[$13>>2] = $$$015; - $14 = ((($5)) + 20|0); - HEAP32[$14>>2] = $$014; - $15 = ((($5)) + 44|0); - HEAP32[$15>>2] = $$014; - $16 = (($$014) + ($$$015)|0); - $17 = ((($5)) + 16|0); - HEAP32[$17>>2] = $16; - $18 = ((($5)) + 28|0); - HEAP32[$18>>2] = $16; - $19 = (_vfprintf($5,$2,$3)|0); - $20 = ($$$015|0)==(0); - if ($20) { - $$0 = $19; - } else { - $21 = HEAP32[$14>>2]|0; - $22 = HEAP32[$17>>2]|0; - $23 = ($21|0)==($22|0); - $24 = $23 << 31 >> 31; - $25 = (($21) + ($24)|0); - HEAP8[$25>>0] = 0; - $$0 = $19; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vfprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $3 = sp + 120|0; - $4 = sp + 80|0; - $5 = sp; - $6 = sp + 136|0; - dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = $vacopy_currentptr; - $7 = (_printf_core(0,$1,$3,$5,$4)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = -1; - } else { - $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(-1); - if ($11) { - $12 = (___lockfile($0)|0); - $40 = $12; - } else { - $40 = 0; - } - $13 = HEAP32[$0>>2]|0; - $14 = $13 & 32; - $15 = ((($0)) + 74|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)<(1); - if ($17) { - $18 = $13 & -33; - HEAP32[$0>>2] = $18; - } - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $23 = ((($0)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$23>>2] = $6; - $25 = ((($0)) + 28|0); - HEAP32[$25>>2] = $6; - $26 = ((($0)) + 20|0); - HEAP32[$26>>2] = $6; - HEAP32[$19>>2] = 80; - $27 = ((($6)) + 80|0); - $28 = ((($0)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = (_printf_core($0,$1,$3,$5,$4)|0); - $30 = ($24|0)==(0|0); - if ($30) { - $$1 = $29; - } else { - $31 = ((($0)) + 36|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); - $33 = HEAP32[$26>>2]|0; - $34 = ($33|0)==(0|0); - $$ = $34 ? -1 : $29; - HEAP32[$23>>2] = $24; - HEAP32[$19>>2] = 0; - HEAP32[$28>>2] = 0; - HEAP32[$25>>2] = 0; - HEAP32[$26>>2] = 0; - $$1 = $$; - } - } else { - $22 = (_printf_core($0,$1,$3,$5,$4)|0); - $$1 = $22; - } - $35 = HEAP32[$0>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - $$1$ = $37 ? $$1 : -1; - $38 = $35 | $14; - HEAP32[$0>>2] = $38; - $39 = ($40|0)==(0); - if (!($39)) { - ___unlockfile($0); - } - $$0 = $$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _printf_core($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; - var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 24|0; - $8 = sp + 8|0; - $9 = sp + 20|0; - HEAP32[$5>>2] = $1; - $10 = ($0|0)!=(0|0); - $11 = ((($7)) + 40|0); - $12 = $11; - $13 = ((($7)) + 39|0); - $14 = ((($8)) + 4|0); - $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; - L1: while(1) { - $15 = ($$0247|0)>(-1); - do { - if ($15) { - $16 = (2147483647 - ($$0247))|0; - $17 = ($$0243|0)>($16|0); - if ($17) { - $18 = (___errno_location()|0); - HEAP32[$18>>2] = 75; - $$1248 = -1; - break; - } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; - break; - } - } else { - $$1248 = $$0247; - } - } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; - break; - } - case 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; - break; - } - default: { - } - } - $24 = ((($25)) + 1|0); - HEAP32[$5>>2] = $24; - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = ((($27)) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$0249$lcssa = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $30;$27 = $31; - label = 9; - } else { - $$0249$lcssa = $30;$39 = $31; - break; - } - } - } - } while(0); - $34 = $$0249$lcssa; - $35 = $21; - $36 = (($34) - ($35))|0; - if ($10) { - _out($0,$21,$36); - } - $37 = ($36|0)==(0); - if (!($37)) { - $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; - continue; - } - $38 = ((($39)) + 1|0); - $40 = HEAP8[$38>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($39)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($39)) + 3|0); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } else { - $$0253 = -1;$$1270 = $$0269;$storemerge = $38; - } - HEAP32[$5>>2] = $storemerge; - $46 = HEAP8[$storemerge>>0]|0; - $47 = $46 << 24 >> 24; - $48 = (($47) + -32)|0; - $49 = ($48>>>0)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((11473 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 11937;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 11937;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 11937 : (11939); - $$$ = $238 ? $$ : (11938); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 11937;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 11937;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 11947; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 11937;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (11937 + ($208)|0); - $$289 = $or$cond283 ? 11937 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 11937;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; - $$0228$ = $or$cond ? $$0228 : $11; - $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; - } - else if ((label|0) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } else { - $$0 = $$1248; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___lockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _out($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = $3 & 32; - $5 = ($4|0)==(0); - if ($5) { - (___fwritex($1,$2,$0)|0); - } - return; -} -function _getint($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $isdigittmp4 = (($3) + -48)|0; - $isdigit5 = ($isdigittmp4>>>0)<(10); - if ($isdigit5) { - $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; - while(1) { - $4 = ($$06*10)|0; - $5 = (($isdigittmp7) + ($4))|0; - $6 = ((($7)) + 1|0); - HEAP32[$0>>2] = $6; - $8 = HEAP8[$6>>0]|0; - $9 = $8 << 24 >> 24; - $isdigittmp = (($9) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; - } else { - $$0$lcssa = $5; - break; - } - } - } else { - $$0$lcssa = 0; - } - return ($$0$lcssa|0); -} -function _pop_arg($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(20); - L1: do { - if (!($3)) { - do { - switch ($1|0) { - case 9: { - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded28 = $5; - $expanded = (($expanded28) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded32 = $7; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $8 = $6 & $expanded30; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - HEAP32[$0>>2] = $10; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$2>>2]|0; - $11 = $arglist_current2; - $12 = ((0) + 4|0); - $expanded35 = $12; - $expanded34 = (($expanded35) - 1)|0; - $13 = (($11) + ($expanded34))|0; - $14 = ((0) + 4|0); - $expanded39 = $14; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $15 = $13 & $expanded37; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $arglist_next3 = ((($16)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$2>>2]|0; - $24 = $arglist_current5; - $25 = ((0) + 4|0); - $expanded42 = $25; - $expanded41 = (($expanded42) - 1)|0; - $26 = (($24) + ($expanded41))|0; - $27 = ((0) + 4|0); - $expanded46 = $27; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $28 = $26 & $expanded44; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $arglist_next6 = ((($29)) + 4|0); - HEAP32[$2>>2] = $arglist_next6; - $31 = $0; - $32 = $31; - HEAP32[$32>>2] = $30; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$2>>2]|0; - $35 = $arglist_current8; - $36 = ((0) + 8|0); - $expanded49 = $36; - $expanded48 = (($expanded49) - 1)|0; - $37 = (($35) + ($expanded48))|0; - $38 = ((0) + 8|0); - $expanded53 = $38; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $39 = $37 & $expanded51; - $40 = $39; - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $arglist_next9 = ((($40)) + 8|0); - HEAP32[$2>>2] = $arglist_next9; - $47 = $0; - $48 = $47; - HEAP32[$48>>2] = $43; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$2>>2]|0; - $51 = $arglist_current11; - $52 = ((0) + 4|0); - $expanded56 = $52; - $expanded55 = (($expanded56) - 1)|0; - $53 = (($51) + ($expanded55))|0; - $54 = ((0) + 4|0); - $expanded60 = $54; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $55 = $53 & $expanded58; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $arglist_next12 = ((($56)) + 4|0); - HEAP32[$2>>2] = $arglist_next12; - $58 = $57&65535; - $59 = $58 << 16 >> 16; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = $0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$2>>2]|0; - $66 = $arglist_current14; - $67 = ((0) + 4|0); - $expanded63 = $67; - $expanded62 = (($expanded63) - 1)|0; - $68 = (($66) + ($expanded62))|0; - $69 = ((0) + 4|0); - $expanded67 = $69; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $70 = $68 & $expanded65; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $arglist_next15 = ((($71)) + 4|0); - HEAP32[$2>>2] = $arglist_next15; - $$mask31 = $72 & 65535; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $$mask31; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$2>>2]|0; - $77 = $arglist_current17; - $78 = ((0) + 4|0); - $expanded70 = $78; - $expanded69 = (($expanded70) - 1)|0; - $79 = (($77) + ($expanded69))|0; - $80 = ((0) + 4|0); - $expanded74 = $80; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $81 = $79 & $expanded72; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $arglist_next18 = ((($82)) + 4|0); - HEAP32[$2>>2] = $arglist_next18; - $84 = $83&255; - $85 = $84 << 24 >> 24; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$2>>2]|0; - $92 = $arglist_current20; - $93 = ((0) + 4|0); - $expanded77 = $93; - $expanded76 = (($expanded77) - 1)|0; - $94 = (($92) + ($expanded76))|0; - $95 = ((0) + 4|0); - $expanded81 = $95; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $96 = $94 & $expanded79; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next21 = ((($97)) + 4|0); - HEAP32[$2>>2] = $arglist_next21; - $$mask = $98 & 255; - $99 = $0; - $100 = $99; - HEAP32[$100>>2] = $$mask; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$2>>2]|0; - $103 = $arglist_current23; - $104 = ((0) + 8|0); - $expanded84 = $104; - $expanded83 = (($expanded84) - 1)|0; - $105 = (($103) + ($expanded83))|0; - $106 = ((0) + 8|0); - $expanded88 = $106; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $107 = $105 & $expanded86; - $108 = $107; - $109 = +HEAPF64[$108>>3]; - $arglist_next24 = ((($108)) + 8|0); - HEAP32[$2>>2] = $arglist_next24; - HEAPF64[$0>>3] = $109; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$2>>2]|0; - $110 = $arglist_current26; - $111 = ((0) + 8|0); - $expanded91 = $111; - $expanded90 = (($expanded91) - 1)|0; - $112 = (($110) + ($expanded90))|0; - $113 = ((0) + 8|0); - $expanded95 = $113; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $114 = $112 & $expanded93; - $115 = $114; - $116 = +HEAPF64[$115>>3]; - $arglist_next27 = ((($115)) + 8|0); - HEAP32[$2>>2] = $arglist_next27; - HEAPF64[$0>>3] = $116; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_x($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0); - $5 = ($1|0)==(0); - $6 = $4 & $5; - if ($6) { - $$05$lcssa = $2; - } else { - $$056 = $2;$15 = $1;$8 = $0; - while(1) { - $7 = $8 & 15; - $9 = (11989 + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 | $3; - $13 = $12&255; - $14 = ((($$056)) + -1|0); - HEAP8[$14>>0] = $13; - $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); - $17 = tempRet0; - $18 = ($16|0)==(0); - $19 = ($17|0)==(0); - $20 = $18 & $19; - if ($20) { - $$05$lcssa = $14; - break; - } else { - $$056 = $14;$15 = $17;$8 = $16; - } - } - } - return ($$05$lcssa|0); -} -function _fmt_o($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; - } else { - $$06 = $2;$11 = $1;$7 = $0; - while(1) { - $6 = $7&255; - $8 = $6 & 7; - $9 = $8 | 48; - $10 = ((($$06)) + -1|0); - HEAP8[$10>>0] = $9; - $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); - $13 = tempRet0; - $14 = ($12|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - if ($16) { - $$0$lcssa = $10; - break; - } else { - $$06 = $10;$11 = $13;$7 = $12; - } - } - } - return ($$0$lcssa|0); -} -function _fmt_u($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(0); - $4 = ($0>>>0)>(4294967295); - $5 = ($1|0)==(0); - $6 = $5 & $4; - $7 = $3 | $6; - if ($7) { - $$0914 = $2;$8 = $0;$9 = $1; - while(1) { - $10 = (___uremdi3(($8|0),($9|0),10,0)|0); - $11 = tempRet0; - $12 = $10&255; - $13 = $12 | 48; - $14 = ((($$0914)) + -1|0); - HEAP8[$14>>0] = $13; - $15 = (___udivdi3(($8|0),($9|0),10,0)|0); - $16 = tempRet0; - $17 = ($9>>>0)>(9); - $18 = ($8>>>0)>(4294967295); - $19 = ($9|0)==(9); - $20 = $19 & $18; - $21 = $17 | $20; - if ($21) { - $$0914 = $14;$8 = $15;$9 = $16; - } else { - break; - } - } - $$010$lcssa$off0 = $15;$$09$lcssa = $14; - } else { - $$010$lcssa$off0 = $0;$$09$lcssa = $2; - } - $22 = ($$010$lcssa$off0|0)==(0); - if ($22) { - $$1$lcssa = $$09$lcssa; - } else { - $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; - while(1) { - $23 = (($$012>>>0) % 10)&-1; - $24 = $23 | 48; - $25 = $24&255; - $26 = ((($$111)) + -1|0); - HEAP8[$26>>0] = $25; - $27 = (($$012>>>0) / 10)&-1; - $28 = ($$012>>>0)<(10); - if ($28) { - $$1$lcssa = $26; - break; - } else { - $$012 = $27;$$111 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _strerror($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___pthread_self_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|0); -} -function _memchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1 & 255; - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)!=(0); - $7 = ($2|0)!=(0); - $or$cond53 = $7 & $6; - L1: do { - if ($or$cond53) { - $8 = $1&255; - $$03555 = $0;$$03654 = $2; - while(1) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; - } - $11 = ((($$03555)) + 1|0); - $12 = (($$03654) + -1)|0; - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($12|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$03555 = $11;$$03654 = $12; - } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; - label = 6; - } else { - $$2 = $$035$lcssa;$$3 = 0; - } - } - L8: do { - if ((label|0) == 6) { - $17 = HEAP8[$$035$lcssa65>>0]|0; - $18 = $1&255; - $19 = ($17<<24>>24)==($18<<24>>24); - if ($19) { - $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; - } else { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; - while(1) { - $22 = HEAP32[$$046>>2]|0; - $23 = $22 ^ $20; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - break; - } - $29 = ((($$046)) + 4|0); - $30 = (($$13745) + -4)|0; - $31 = ($30>>>0)>(3); - if ($31) { - $$046 = $29;$$13745 = $30; - } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; - } - } - $$140 = $$046;$$23839 = $$13745; - } else { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; - } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; - } - } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; - } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; - } - } - } - } - } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); -} -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $5 = sp; - $6 = $4 & 73728; - $7 = ($6|0)==(0); - $8 = ($2|0)>($3|0); - $or$cond = $8 & $7; - if ($or$cond) { - $9 = (($2) - ($3))|0; - $10 = ($9>>>0)<(256); - $11 = $10 ? $9 : 256; - _memset(($5|0),($1|0),($11|0))|0; - $12 = ($9>>>0)>(255); - if ($12) { - $13 = (($2) - ($3))|0; - $$011 = $9; - while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; - } else { - break; - } - } - $16 = $13 & 255; - $$0$lcssa = $16; - } else { - $$0$lcssa = $9; - } - _out($0,$5,$$0$lcssa); - } - STACKTOP = sp;return; -} -function _wctomb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = (_wcrtomb($0,$1,0)|0); - $$0 = $3; - } - return ($$0|0); -} -function _fmt_fp($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; - var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 524|0; - $9 = $8; - $10 = sp + 512|0; - HEAP32[$7>>2] = 0; - $11 = ((($10)) + 12|0); - (___DOUBLE_BITS_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 11954; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (11955) : (11960); - $$$ = $16 ? $$ : (11957); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (11989 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $85 = $84&255; - $86 = ((($$0523)) + 1|0); - HEAP8[$$0523>>0] = $85; - $87 = (+($80|0)); - $88 = $$2473 - $87; - $89 = $88 * 16.0; - $90 = $86; - $91 = (($90) - ($9))|0; - $92 = ($91|0)==(1); - if ($92) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$3501$lcssa; - $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; - } else { - $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; - } - $$7505 = $$7505$ph; - while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,12005,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,12005,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 11973 : 11977; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 11981 : 11985; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _frexpl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_frexp($0,$1)); - return (+$2); -} -function _frexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $5 = tempRet0; - $6 = $4&65535; - $trunc$clear = $6 & 2047; - switch ($trunc$clear<<16>>16) { - case 0: { - $7 = $0 != 0.0; - if ($7) { - $8 = $0 * 1.8446744073709552E+19; - $9 = (+_frexp($8,$1)); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + -64)|0; - $$016 = $9;$storemerge = $11; - } else { - $$016 = $0;$storemerge = 0; - } - HEAP32[$1>>2] = $storemerge; - $$0 = $$016; - break; - } - case 2047: { - $$0 = $0; - break; - } - default: { - $12 = $4 & 2047; - $13 = (($12) + -1022)|0; - HEAP32[$1>>2] = $13; - $14 = $3 & -2146435073; - $15 = $14 | 1071644672; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $16; - } - } - return (+$$0); -} -function _wcrtomb($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; - } else { - $4 = ($1>>>0)<(128); - if ($4) { - $5 = $1&255; - HEAP8[$0>>0] = $5; - $$0 = 1; - break; - } - $6 = (___pthread_self_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___strerror_l($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $$016 = 0; - while(1) { - $3 = (12007 + ($$016)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==($0|0); - if ($6) { - label = 2; - break; - } - $7 = (($$016) + 1)|0; - $8 = ($7|0)==(87); - if ($8) { - $$01214 = 12095;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 12095; - } else { - $$01214 = 12095;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; - while(1) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { - break; - } else { - $$113 = $11; - } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } - } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); -} -function ___lctrans($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); -} -function ___lctrans_impl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = HEAP32[$1>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (___mo_lookup($3,$5,$0)|0); - $$0 = $6; - } - $7 = ($$0|0)!=(0|0); - $8 = $7 ? $$0 : $0; - return ($8|0); -} -function ___mo_lookup($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 1794895138)|0; - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_swapc($6,$4)|0); - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_swapc($9,$4)|0); - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_swapc($12,$4)|0); - $14 = $1 >>> 2; - $15 = ($7>>>0)<($14>>>0); - L1: do { - if ($15) { - $16 = $7 << 2; - $17 = (($1) - ($16))|0; - $18 = ($10>>>0)<($17>>>0); - $19 = ($13>>>0)<($17>>>0); - $or$cond = $18 & $19; - if ($or$cond) { - $20 = $13 | $10; - $21 = $20 & 3; - $22 = ($21|0)==(0); - if ($22) { - $23 = $10 >>> 2; - $24 = $13 >>> 2; - $$090 = 0;$$094 = $7; - while(1) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_swapc($30,$4)|0); - $32 = (($28) + 1)|0; - $33 = (($0) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_swapc($34,$4)|0); - $36 = ($35>>>0)<($1>>>0); - $37 = (($1) - ($35))|0; - $38 = ($31>>>0)<($37>>>0); - $or$cond102 = $36 & $38; - if (!($or$cond102)) { - $$4 = 0; - break L1; - } - $39 = (($35) + ($31))|0; - $40 = (($0) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==(0); - if (!($42)) { - $$4 = 0; - break L1; - } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { - break; - } - $62 = ($$094|0)==(1); - $63 = ($44|0)<(0); - $64 = (($$094) - ($25))|0; - $$195 = $63 ? $25 : $64; - $$191 = $63 ? $$090 : $26; - if ($62) { - $$4 = 0; - break L1; - } else { - $$090 = $$191;$$094 = $$195; - } - } - $46 = (($27) + ($24))|0; - $47 = (($0) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_swapc($48,$4)|0); - $50 = (($46) + 1)|0; - $51 = (($0) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_swapc($52,$4)|0); - $54 = ($53>>>0)<($1>>>0); - $55 = (($1) - ($53))|0; - $56 = ($49>>>0)<($55>>>0); - $or$cond104 = $54 & $56; - if ($or$cond104) { - $57 = (($0) + ($53)|0); - $58 = (($53) + ($49))|0; - $59 = (($0) + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)==(0); - $$ = $61 ? $57 : 0; - $$4 = $$; - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } while(0); - return ($$4|0); -} -function _swapc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); -} -function ___fwritex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $7 = (___towrite($2)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$3>>2]|0; - $12 = $$pre; - label = 5; - } else { - $$1 = 0; - } - } else { - $6 = $4; - $12 = $6; - label = 5; - } - L5: do { - if ((label|0) == 5) { - $9 = ((($2)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($12) - ($10))|0; - $13 = ($11>>>0)<($1>>>0); - $14 = $10; - if ($13) { - $15 = ((($2)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); - $$1 = $17; - break; - } - $18 = ((($2)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)>(-1); - L10: do { - if ($20) { - $$038 = $1; - while(1) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; - } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { - break; - } else { - $$038 = $22; - } - } - $26 = ((($2)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); - $29 = ($28>>>0)<($$038>>>0); - if ($29) { - $$1 = $28; - break L5; - } - $30 = (($0) + ($$038)|0); - $$042 = (($1) - ($$038))|0; - $$pre47 = HEAP32[$9>>2]|0; - $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; - } else { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - } - } while(0); - _memcpy(($31|0),($$141|0),($$143|0))|0; - $32 = HEAP32[$9>>2]|0; - $33 = (($32) + ($$143)|0); - HEAP32[$9>>2] = $33; - $34 = (($$139) + ($$143))|0; - $$1 = $34; - } - } while(0); - return ($$1|0); -} -function ___towrite($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 8; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($0)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 28|0); - HEAP32[$15>>2] = $14; - $16 = ((($0)) + 20|0); - HEAP32[$16>>2] = $14; - $17 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _sn_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - $8 = (($4) - ($7))|0; - $9 = ($8>>>0)>($2>>>0); - $$ = $9 ? $2 : $8; - _memcpy(($6|0),($1|0),($$|0))|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + ($$)|0); - HEAP32[$5>>2] = $11; - return ($2|0); -} -function _strlen($0) { - $0 = $0|0; - var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1 & 3; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $$015$lcssa = $0; - label = 4; - } else { - $$01519 = $0;$23 = $1; - while(1) { - $4 = HEAP8[$$01519>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - $$sink = $23; - break L1; - } - $6 = ((($$01519)) + 1|0); - $7 = $6; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if ($9) { - $$015$lcssa = $6; - label = 4; - break; - } else { - $$01519 = $6;$23 = $7; - } - } - } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; - while(1) { - $10 = HEAP32[$$0>>2]|0; - $11 = (($10) + -16843009)|0; - $12 = $10 & -2139062144; - $13 = $12 ^ -2139062144; - $14 = $13 & $11; - $15 = ($14|0)==(0); - $16 = ((($$0)) + 4|0); - if ($15) { - $$0 = $16; - } else { - break; - } - } - $17 = $10&255; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$1$lcssa = $$0; - } else { - $$pn = $$0; - while(1) { - $19 = ((($$pn)) + 1|0); - $$pre = HEAP8[$19>>0]|0; - $20 = ($$pre<<24>>24)==(0); - if ($20) { - $$1$lcssa = $19; - break; - } else { - $$pn = $19; - } - } - } - $21 = $$1$lcssa; - $$sink = $21; - } - $22 = (($$sink) - ($1))|0; - return ($22|0); -} -function _strchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((17252|0)); - return (17260|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((17252|0)); - return; -} -function _fflush($0) { - $0 = $0|0; - var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[865]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[865]|0; - $11 = (_fflush($10)|0); - $29 = $11; - } - $12 = (___ofl_lock()|0); - $$02325 = HEAP32[$12>>2]|0; - $13 = ($$02325|0)==(0|0); - if ($13) { - $$024$lcssa = $29; - } else { - $$02327 = $$02325;$$02426 = $29; - while(1) { - $14 = ((($$02327)) + 76|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(-1); - if ($16) { - $17 = (___lockfile($$02327)|0); - $26 = $17; - } else { - $26 = 0; - } - $18 = ((($$02327)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($$02327)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($19>>>0)>($21>>>0); - if ($22) { - $23 = (___fflush_unlocked($$02327)|0); - $24 = $23 | $$02426; - $$1 = $24; - } else { - $$1 = $$02426; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___unlockfile($$02327); - } - $27 = ((($$02327)) + 56|0); - $$023 = HEAP32[$27>>2]|0; - $28 = ($$023|0)==(0|0); - if ($28) { - $$024$lcssa = $$1; - break; - } else { - $$02327 = $$023;$$02426 = $$1; - } - } - } - ___ofl_unlock(); - $$0 = $$024$lcssa; - } else { - $2 = ((($0)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if (!($4)) { - $5 = (___fflush_unlocked($0)|0); - $$0 = $5; - break; - } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)>($4>>>0); - if ($5) { - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - $15 = $11; - $16 = $13; - $17 = (($15) - ($16))|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); - } - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$3>>2] = 0; - HEAP32[$1>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 14168; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[833]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = HEAP32[4316]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[4316] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[4316] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[4316] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[4316] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function runPostSets() { -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; - end = (ptr + num)|0; - - value = value & 0xff; - if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { - while ((ptr&3) != 0) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - - aligned_end = (end & -4)|0; - block_aligned_end = (aligned_end - 64)|0; - value4 = value | (value << 8) | (value << 16) | (value << 24); - - while((ptr|0) <= (block_aligned_end|0)) { - HEAP32[((ptr)>>2)]=value4; - HEAP32[(((ptr)+(4))>>2)]=value4; - HEAP32[(((ptr)+(8))>>2)]=value4; - HEAP32[(((ptr)+(12))>>2)]=value4; - HEAP32[(((ptr)+(16))>>2)]=value4; - HEAP32[(((ptr)+(20))>>2)]=value4; - HEAP32[(((ptr)+(24))>>2)]=value4; - HEAP32[(((ptr)+(28))>>2)]=value4; - HEAP32[(((ptr)+(32))>>2)]=value4; - HEAP32[(((ptr)+(36))>>2)]=value4; - HEAP32[(((ptr)+(40))>>2)]=value4; - HEAP32[(((ptr)+(44))>>2)]=value4; - HEAP32[(((ptr)+(48))>>2)]=value4; - HEAP32[(((ptr)+(52))>>2)]=value4; - HEAP32[(((ptr)+(56))>>2)]=value4; - HEAP32[(((ptr)+(60))>>2)]=value4; - ptr = (ptr + 64)|0; - } - - while ((ptr|0) < (aligned_end|0) ) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - // The remaining bytes. - while ((ptr|0) < (end|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (end-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - var aligned_dest_end = 0; - var block_aligned_dest_end = 0; - var dest_end = 0; - // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. - if ((num|0) >= - 8192 - ) { - return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - } - - ret = dest|0; - dest_end = (dest + num)|0; - if ((dest&3) == (src&3)) { - // The initial unaligned < 4-byte front. - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - aligned_dest_end = (dest_end & -4)|0; - block_aligned_dest_end = (aligned_dest_end - 64)|0; - while ((dest|0) <= (block_aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); - HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); - HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); - HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); - HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); - HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); - HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); - HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); - HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); - HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); - HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); - HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); - HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); - HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); - HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); - dest = (dest+64)|0; - src = (src+64)|0; - } - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } else { - // In the unaligned copy case, unroll a bit as well. - aligned_dest_end = (dest_end - 4)|0; - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); - HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); - HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } - // The remaining unaligned < 4 byte tail. - while ((dest|0) < (dest_end|0)) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _sbrk(increment) { - increment = increment|0; - var oldDynamicTop = 0; - var oldDynamicTopOnChange = 0; - var newDynamicTop = 0; - var totalMemory = 0; - increment = ((increment + 15) & -16)|0; - oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; - newDynamicTop = oldDynamicTop + increment | 0; - - if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. - | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. - abortOnCannotGrowMemory()|0; - ___setErrNo(12); - return -1; - } - - HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; - totalMemory = getTotalMemory()|0; - if ((newDynamicTop|0) > (totalMemory|0)) { - if ((enlargeMemory()|0) == 0) { - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - ___setErrNo(12); - return -1; - } - } - return oldDynamicTop|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _llvm_bswap_i32(x) { - x = x|0; - return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; -} - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _llvm_bswap_i32: _llvm_bswap_i32, _roundf: _roundf, _main: _main, dynCall_i: dynCall_i, stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, dynCall_vidddd: dynCall_vidddd, setThrew: setThrew, dynCall_viii: dynCall_viii, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, dynCall_iii: dynCall_iii, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, dynCall_vd: dynCall_vd, dynCall_vii: dynCall_vii, ___uremdi3: ___uremdi3, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_viiiiiii: dynCall_viiiiiii, getTempRet0: getTempRet0, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, dynCall_viid: dynCall_viid, dynCall_ii: dynCall_ii, _emscripten_GetProcAddress: _emscripten_GetProcAddress, dynCall_viiii: dynCall_viiii, ___errno_location: ___errno_location, dynCall_viiiii: dynCall_viiiii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, _memmove: _memmove, _strstr: _strstr, stackRestore: stackRestore, _malloc: _malloc, dynCall_vdi: dynCall_vdi, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__llvm_bswap_i32.apply(null, arguments); -}; - -var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__roundf.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackSave.apply(null, arguments); -}; - -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_getTempRet0.apply(null, arguments); -}; - -var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____udivdi3.apply(null, arguments); -}; - -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setThrew.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__fflush.apply(null, arguments); -}; - -var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__sbrk.apply(null, arguments); -}; - -var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackAlloc.apply(null, arguments); -}; - -var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____uremdi3.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setTempRet0.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_GetProcAddress.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____errno_location.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__free.apply(null, arguments); -}; - -var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_establishStackSpace.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strstr.apply(null, arguments); -}; - -var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackRestore.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__malloc.apply(null, arguments); -}; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - - -/** - * @constructor - * @extends {Error} - */ -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 initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - Module.printErr('exception thrown: ' + toLog); - Module['quit'](1, e); - } - } finally { - calledMain = true; - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - writeStackCookie(); - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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(); - } - checkStackCookie(); -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - process['exit'](status); - } - Module['quit'](status, new ExitStatus(status)); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/examples/web/models/models_cubicmap.c b/examples/web/models/models_cubicmap.c index 8d5e69e..9f87992 100644 --- a/examples/web/models/models_cubicmap.c +++ b/examples/web/models/models_cubicmap.c @@ -15,10 +15,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -41,19 +37,11 @@ void UpdateDrawFrame(void); // Update and Draw one frame //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - cubesmap loading and drawing"); -#endif Image image = LoadImage("resources/cubicmap.png"); // Load cubicmap image (RAM) cubicmap = LoadTextureFromImage(image); // Convert image to texture to display (VRAM) @@ -90,9 +78,8 @@ int main(void) CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_cubicmap.data b/examples/web/models/models_cubicmap.data deleted file mode 100644 index c7df666..0000000 Binary files a/examples/web/models/models_cubicmap.data and /dev/null differ diff --git a/examples/web/models/models_cubicmap.html b/examples/web/models/models_cubicmap.html deleted file mode 100644 index 810e8ce..0000000 --- a/examples/web/models/models_cubicmap.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
Downloading...
- - - - - -
- -
-
- -
- -
- - - - - - - \ No newline at end of file diff --git a/examples/web/models/models_cubicmap.js b/examples/web/models/models_cubicmap.js deleted file mode 100644 index b952e75..0000000 --- a/examples/web/models/models_cubicmap.js +++ /dev/null @@ -1,44418 +0,0 @@ - -var Module; - -if (typeof Module === 'undefined') Module = {}; - -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'models/models_cubicmap.data'; - var REMOTE_PACKAGE_BASE = 'models_cubicmap.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - - var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; - var PACKAGE_UUID = metadata.package_uuid; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onerror = function(event) { - throw new Error("NetworkError for: " + packageName); - } - xhr.onload = function(event) { - if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - var packageData = xhr.response; - callback(packageData); - } else { - throw new Error(xhr.statusText + " : " + xhr.responseURL); - } - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetchedCallback = null; - var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; - - if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } -Module['FS_createPath']('/', 'resources', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - } - }; - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); - } - - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_models/models_cubicmap.data'); - - }; - Module['addRunDependency']('datafile_models/models_cubicmap.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 201, "filename": "/resources/cubicmap.png"}, {"audio": 0, "start": 201, "crunched": 0, "end": 37426, "filename": "/resources/cubicmap_atlas.png"}], "remote_package_size": 37426, "package_uuid": "2d86ee0f-d0ed-47f1-a685-84f876268302"}); - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; - -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) - -if (Module['ENVIRONMENT']) { - if (Module['ENVIRONMENT'] === 'WEB') { - ENVIRONMENT_IS_WEB = true; - } else if (Module['ENVIRONMENT'] === 'WORKER') { - ENVIRONMENT_IS_WORKER = true; - } else if (Module['ENVIRONMENT'] === 'NODE') { - ENVIRONMENT_IS_NODE = true; - } else if (Module['ENVIRONMENT'] === 'SHELL') { - ENVIRONMENT_IS_SHELL = true; - } else { - throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); - } -} else { - ENVIRONMENT_IS_WEB = typeof window === 'object'; - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; - ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -} - - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function shell_read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(xhr.response); - }; - } - - 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)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function shell_print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = undefined; - - - -// {{PREAMBLE_ADDITIONS}} - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = Runtime.stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -/** @type {function(number, number, string, boolean=)} */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - -/** @type {function(number, string, boolean=)} */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -/** @type {function(number, number=)} */ -function Pointer_stringify(ptr, length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; -function UTF8ArrayToString(u8Array, idx) { - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - while (u8Array[endPtr]) ++endPtr; - - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; -function UTF16ToString(ptr) { - assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - while (HEAP16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - - -function UTF32ToString(ptr) { - assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - 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 : (x + ' [' + y + ']'); - }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - 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); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; -var ASMJS_PAGE_SIZE = 16777216; -var MIN_TOTAL_MEMORY = 16777216; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBuffer(buf) { - Module['buffer'] = buffer = buf; -} - -function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); -} - -var STATIC_BASE, STATICTOP, staticSealed; // static area -var STACK_BASE, STACKTOP, STACK_MAX; // stack area -var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk - - STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; - staticSealed = false; - - -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - assert((STACK_MAX & 3) == 0); - HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; - HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; -} - -function checkStackCookie() { - if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { - abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); - } - // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. - if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; -} - -function abortStackOverflow(allocSize) { - abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!'); -} - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; -if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, - 'JS engine does not provide full typed array support'); - - - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); -} else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); -} -updateGlobalBufferViews(); - - -function getTotalMemory() { - return TOTAL_MEMORY; -} - -// Endianness check (note: assumes compiler arch was little-endian) - HEAP32[0] = 0x63736d65; /* 'emsc' */ -HEAP16[1] = 0x6373; -if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Module['dynCall_v'](func); - } else { - Module['dynCall_vi'](func, callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - checkStackCookie(); - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - checkStackCookie(); - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated */ -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') - HEAP8.set(array, buffer); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]) }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = Runtime.GLOBAL_BASE; - -STATICTOP = STATIC_BASE + 24368; -/* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,128,65,0,0,96,65,0,0,128,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,128,193,0,0,0,0,0,0,0,193,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,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,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,15,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,15,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,15,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,15,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,15,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,15,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,15,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,15,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,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,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,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,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,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,205,204,12,64,0,0,128,63,0,0,128,63,46,186,232,62,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,128,191,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,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,212,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,39,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,98,101,115,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,95,97,116,108,97,115,46,112,110,103,0,99,117,98,105,99,109,97,112,32,105,109,97,103,101,32,117,115,101,100,32,116,111,0,103,101,110,101,114,97,116,101,32,109,97,112,32,51,100,32,109,111,100,101,108,0,5,5,4,0,2,3,7,0,3,3,11,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,46,103,105,102,0,114,98,0,46,104,100,114,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,111,110,108,121,32,51,32,99,104,97,110,110,101,108,32,51,50,32,98,105,116,32,102,108,111,97,116,115,41,0,46,100,100,115,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,111,117,116,111,102,109,101,109,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,35,63,82,65,68,73,65,78,67,69,0,35,63,82,71,66,69,0,110,111,116,32,72,68,82,0,70,79,82,77,65,84,61,51,50,45,98,105,116,95,114,108,101,95,114,103,98,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,111,114,109,97,116,0,45,89,32,0,117,110,115,117,112,112,111,114,116,101,100,32,100,97,116,97,32,108,97,121,111,117,116,0,43,88,32,0,105,110,118,97,108,105,100,32,100,101,99,111,100,101,100,32,115,99,97,110,108,105,110,101,32,108,101,110,103,116,104,0,99,111,114,114,117,112,116,0,35,63,82,65,68,73,65,78,67,69,10,0,35,63,82,71,66,69,10,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,37,50,105,32,70,80,83,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,56,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,59,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,0,99,111,108,68,105,102,102,117,115,101,0,116,101,120,116,117,114,101,48,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },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 frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - - - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - 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); }; - } - - // Extension available from Firefox 25 and WebKit - 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"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - 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 _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - 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); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var 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 { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - 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/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - 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++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },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 /* do not set timing and call scheduler, we will do it on the next lines */); - _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; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - 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; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - 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) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - 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(); // empty shim - 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); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - 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)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - 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) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - 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; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['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); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - 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) { - Module.printErr('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) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - 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 () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - 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(); - } // drop it on the floor otherwise, next interval will kick in - }, 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) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - 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); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - 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 () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['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; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function (event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function (event) { - GLFW.refreshJoysticks(); - },onKeydown:function (event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function (event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function (cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function () { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setDropCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.dropFunc = cbfun; - },onDrop:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data), { encoding: 'binary' }); - if (++written === count) { - Module['dynCall_viii'](GLFW.active.dropFunc, GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - 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 the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - 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) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - - var fd = process.stdin.fd; - if (isPosixPlatform) { - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - 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) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - 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') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - 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(); - // add the new node to the parent - 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; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - 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 = {}; - // device numbers reuse inode numbers. - 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); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - 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)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - 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) { - // reuse all of the core MEMFS functionality - 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) { - // check the cache first - 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; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var 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(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - 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); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - 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); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - // Issue 4254: Using curr as a node name will prevent the node - // from being found in FS.nameTable when FS.open is called on - // a path which holds a child of this node, - // given that all FS functions assume node names - // are just their corresponding parts within their given path, - // rather than incremental aggregates which include their parent's - // directories. - 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]; - } - // We also accept FileList here, by using Array.prototype - 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); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - 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(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=STATICTOP; STATICTOP += 16;; - - var _stdout=STATICTOP; STATICTOP += 16;; - - var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - 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) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - 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; // root node sets parent to itself - } - 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 = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - 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; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - 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); } - } - }); - } - // clone it, so we can return an instance of FSStream - 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); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(err) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(err); - } - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return doCallback(err); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - 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; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - 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 != ERRNO_CODES.EEXIST) throw e; - } - } - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - 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); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : 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) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - 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)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - 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)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - 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 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - 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'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - 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) { - // ignore EEXIST - } - 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; - } - // make sure we can write to the file - 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); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - 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() { - // Find length - 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; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - 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!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - 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; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - 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) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - 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); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - 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(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same 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; // no database to load from - 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; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - 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) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - - // Chromium does not fire the gamepadconnected event on reload, so we need to get the number of gamepads here as a workaround. - // See https://bugs.chromium.org/p/chromium/issues/detail?id=502824 - var firstState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null); - if (firstState) { - JSEvents.numGamepadsConnected = firstState.length; - } - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceMotionEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _glfwGetMouseButton(winid, button) { - return GLFW.getMouseButton(winid, button); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - 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 ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - 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 _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - // NOTE: offset_high is unused - Emscripten's off_t is 32-bit - var offset = offset_low; - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - 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 ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - 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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - - - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - - - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - - - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init(); -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 self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("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) }; -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; -JSEvents.staticInit();; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); - -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; - -staticSealed = true; // seal the static portion of memory - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_glVertexAttrib4f": _glVertexAttrib4f, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_glVertexAttrib3f": _glVertexAttrib3f, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glVertexAttrib2f": _glVertexAttrib2f, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { -'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_max=global.Math.max; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var enlargeMemory=env.enlargeMemory; - var getTotalMemory=env.getTotalMemory; - var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; - var abortStackOverflow=env.abortStackOverflow; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _glVertexAttrib4f=env._glVertexAttrib4f; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _glVertexAttrib3f=env._glVertexAttrib3f; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var ___syscall146=env.___syscall146; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glVertexAttrib2f=env._glVertexAttrib2f; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _llvm_pow_f64=env._llvm_pow_f64; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var ___syscall221=env.___syscall221; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _glfwGetMouseButton=env._glfwGetMouseButton; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _glfwGetKey=env._glfwGetKey; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS - -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $map$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1360|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1360|0); - $map$byval_copy = sp + 744|0; - $$byval_copy1 = sp + 88|0; - $0 = sp + 68|0; - $1 = sp + 724|0; - $2 = sp; - $3 = sp + 712|0; - $4 = sp + 108|0; - $5 = HEAP32[2]|0; - $6 = HEAP32[3]|0; - _InitWindow($5,$6,4304); - _LoadImage($0,4359); - ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$map$byval_copy); - ;HEAP32[18224>>2]=HEAP32[$1>>2]|0;HEAP32[18224+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18224+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18224+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18224+16>>2]=HEAP32[$1+16>>2]|0; - HEAPF32[$3>>2] = 1.0; - $7 = ((($3)) + 4|0); - HEAPF32[$7>>2] = 1.0; - $8 = ((($3)) + 8|0); - HEAPF32[$8>>2] = 1.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$map$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$3+8>>2]|0; - _GenMeshCubicmap($2,$$byval_copy1,$map$byval_copy); - dest=$map$byval_copy; src=$2; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModelFromMesh($4,$map$byval_copy); - _memcpy((18244|0),($4|0),604)|0; - _LoadTexture($$byval_copy1,4382); - ;HEAP32[(18508)>>2]=HEAP32[$$byval_copy1>>2]|0;HEAP32[(18508)+4>>2]=HEAP32[$$byval_copy1+4>>2]|0;HEAP32[(18508)+8>>2]=HEAP32[$$byval_copy1+8>>2]|0;HEAP32[(18508)+12>>2]=HEAP32[$$byval_copy1+12>>2]|0;HEAP32[(18508)+16>>2]=HEAP32[$$byval_copy1+16>>2]|0; - ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($map$byval_copy); - dest=$map$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetCameraMode($map$byval_copy,2); - _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$map$byval_copy>>2]=HEAP32[18224>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[18224+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[18224+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[18224+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[18224+16>>2]|0; - _UnloadTexture($map$byval_copy); - ;HEAP32[$map$byval_copy>>2]=HEAP32[$$byval_copy1>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$$byval_copy1+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$$byval_copy1+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$$byval_copy1+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$$byval_copy1+16>>2]|0; - _UnloadTexture($map$byval_copy); - _memcpy(($map$byval_copy|0),(18244|0),604)|0; - _UnloadModel($map$byval_copy); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$byval_copy1 = 0, $$byval_copy4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cubicmap$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 688|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(688|0); - $$byval_copy4 = sp + 632|0; - $$byval_copy1 = sp + 620|0; - $cubicmap$byval_copy = sp + 4|0; - $0 = sp + 684|0; - $1 = sp + 616|0; - $2 = sp + 608|0; - $3 = sp; - $4 = sp + 680|0; - $5 = sp + 676|0; - $6 = sp + 672|0; - _UpdateCamera(16); - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $7 = ((($0)) + 1|0); - HEAP8[$7>>0] = -11; - $8 = ((($0)) + 2|0); - HEAP8[$8>>0] = -11; - $9 = ((($0)) + 3|0); - HEAP8[$9>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy4); - dest=$$byval_copy4; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy4); - HEAP32[$1>>2] = -1; - _memcpy(($cubicmap$byval_copy|0),(18244|0),604)|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[56>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[56+8>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$1+3>>0]|0; - _DrawModel($cubicmap$byval_copy,$$byval_copy1,1.0,$$byval_copy4); - _End3dMode(); - $10 = HEAP32[2]|0; - $11 = HEAP32[(18228)>>2]|0; - $12 = $11 << 2; - $13 = (($10) + -20)|0; - $14 = (($13) - ($12))|0; - $15 = (+($14|0)); - HEAPF32[$2>>2] = $15; - $16 = ((($2)) + 4|0); - HEAPF32[$16>>2] = 20.0; - HEAP32[$3>>2] = -1; - ;HEAP32[$cubicmap$byval_copy>>2]=HEAP32[18224>>2]|0;HEAP32[$cubicmap$byval_copy+4>>2]=HEAP32[18224+4>>2]|0;HEAP32[$cubicmap$byval_copy+8>>2]=HEAP32[18224+8>>2]|0;HEAP32[$cubicmap$byval_copy+12>>2]=HEAP32[18224+12>>2]|0;HEAP32[$cubicmap$byval_copy+16>>2]=HEAP32[18224+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawTextureEx($cubicmap$byval_copy,$$byval_copy1,0.0,4.0,$$byval_copy4); - $17 = HEAP32[2]|0; - $18 = HEAP32[(18228)>>2]|0; - $19 = $18 << 2; - $20 = (($17) + -20)|0; - $21 = (($20) - ($19))|0; - $22 = HEAP32[(18232)>>2]|0; - $23 = $22 << 2; - HEAP8[$4>>0] = 0; - $24 = ((($4)) + 1|0); - HEAP8[$24>>0] = -28; - $25 = ((($4)) + 2|0); - HEAP8[$25>>0] = 48; - $26 = ((($4)) + 3|0); - HEAP8[$26>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleLines($21,20,$19,$23,$$byval_copy4); - HEAP8[$5>>0] = -126; - $27 = ((($5)) + 1|0); - HEAP8[$27>>0] = -126; - $28 = ((($5)) + 2|0); - HEAP8[$28>>0] = -126; - $29 = ((($5)) + 3|0); - HEAP8[$29>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(4411,658,90,10,$$byval_copy4); - HEAP8[$6>>0] = -126; - $30 = ((($6)) + 1|0); - HEAP8[$30>>0] = -126; - $31 = ((($6)) + 2|0); - HEAP8[$31>>0] = -126; - $32 = ((($6)) + 3|0); - HEAP8[$32>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(4434,658,104,10,$$byval_copy4); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; -} -function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; - var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; - var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; - var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; - var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; - var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; - var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; - var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; - var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; - var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; - var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; - var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; - var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; - var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; - var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; - var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; - var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; - var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; - var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; - var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; - var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; - var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; - var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; - var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; - var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; - var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; - var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; - var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; - var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; - var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; - var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; - var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; - var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; - var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; - var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; - var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; - var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; - var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; - var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; - var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; - var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; - var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; - var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; - var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; - var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; - var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; - var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; - var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; - var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; - var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; - var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; - var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; - var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; - var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; - var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; - var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; - var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; - var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; - var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; - var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; - var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; - var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; - var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; - var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; - var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; - var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; - var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; - var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; - var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; - var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; - var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; - var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; - var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; - var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; - var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; - var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $7 = sp + 64|0; - $8 = sp; - $9 = HEAP32[$2>>2]|0; - $10 = (($1) + ($9)|0); - $11 = HEAP32[$5>>2]|0; - $12 = (($4) + ($11)|0); - $13 = $6 & 4; - $14 = ($13|0)!=(0); - $15 = $4; - $16 = $3; - $17 = $16 ^ -1; - $18 = (($15) + ($17))|0; - $19 = (($18) + ($11))|0; - $$1753 = $14 ? -1 : $19; - $20 = (($$1753) + 1)|0; - $21 = $20 & $$1753; - $22 = ($21|0)!=(0); - $23 = ($4>>>0)<($3>>>0); - $or$cond1702 = $23 | $22; - if ($or$cond1702) { - HEAP32[$5>>2] = 0; - HEAP32[$2>>2] = 0; - $$0951 = -3; - STACKTOP = sp;return ($$0951|0); - } - $24 = ((($0)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 56|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($0)) + 60|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - L5: do { - switch ($36|0) { - case 0: { - $37 = ((($0)) + 12|0); - HEAP32[$37>>2] = 0; - $38 = ((($0)) + 8|0); - HEAP32[$38>>2] = 0; - $39 = ((($0)) + 28|0); - HEAP32[$39>>2] = 1; - $40 = ((($0)) + 16|0); - HEAP32[$40>>2] = 1; - $41 = $6 & 1; - $42 = ($41|0)==(0); - if ($42) { - $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; - label = 14; - } else { - $43 = ($9|0)<(1); - if ($43) { - $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; - label = 6; - } else { - $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; - label = 8; - } - } - break; - } - case 1: { - $46 = ($9|0)>(0); - if ($46) { - $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; - label = 8; - } else { - $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; - label = 6; - } - break; - } - case 2: { - $53 = ($9|0)>(0); - if ($53) { - $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; - label = 12; - } else { - $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; - label = 10; - } - break; - } - case 36: { - $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; - label = 243; - break; - } - case 3: { - $75 = ($9|0)>(0); - if ($75) { - $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; - label = 18; - } else { - $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; - label = 16; - } - break; - } - case 5: { - $90 = ($9|0)>(0); - if ($90) { - $91 = ((($1)) + 1|0); - $92 = HEAP8[$1>>0]|0; - $93 = $92&255; - $$01412 = $93;$$111518 = $91; - } else { - $88 = $6 & 2; - $89 = ($88|0)==(0); - if ($89) { - $$01412 = 0;$$111518 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; - label = 243; - break L5; - } - } - $94 = $$01412 << $25; - $95 = $94 | $27; - $96 = (($25) + 8)|0; - $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; - label = 25; - break; - } - case 6: { - $106 = ($9|0)>(0); - if ($106) { - $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; - label = 32; - } else { - $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; - label = 30; - } - break; - } - case 7: { - $120 = ($9|0)>(0); - if ($120) { - $121 = ((($1)) + 1|0); - $122 = HEAP8[$1>>0]|0; - $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; - label = 39; - } else { - $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; - label = 36; - } - break; - } - case 39: { - $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; - label = 43; - break; - } - case 51: { - $152 = ($9|0)>(0); - if ($152) { - $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; - label = 49; - } else { - $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; - label = 47; - } - break; - } - case 52: { - $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; - label = 52; - break; - } - case 9: { - $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; - label = 55; - break; - } - case 38: { - $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; - label = 56; - break; - } - case 40: { - $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; - label = 58; - break; - } - case 10: { - $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; - label = 60; - break; - } - case 11: { - $193 = ($9|0)>(0); - if ($193) { - $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; - label = 66; - } else { - $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; - label = 64; - } - break; - } - case 14: { - $224 = ($9|0)>(0); - if ($224) { - $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; - label = 75; - } else { - $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; - label = 73; - } - break; - } - case 35: { - $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; - label = 86; - break; - } - case 16: { - $452 = ($9|0)>(0); - if ($452) { - $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; - label = 116; - } else { - $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; - label = 114; - } - break; - } - case 17: { - $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; - label = 125; - break; - } - case 18: { - $503 = ($9|0)>(0); - if ($503) { - $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; - label = 130; - } else { - $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; - label = 128; - } - break; - } - case 21: { - $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; - label = 136; - break; - } - case 23: { - $572 = ($9|0)>(0); - if ($572) { - $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; - label = 153; - } else { - $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; - label = 151; - } - break; - } - case 24: { - $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; - label = 160; - break; - } - case 25: { - $696 = ($9|0)>(0); - if ($696) { - $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; - label = 182; - } else { - $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; - label = 180; - } - break; - } - case 26: { - $737 = ($9|0)>(0); - if ($737) { - $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; - label = 195; - } else { - $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; - label = 193; - } - break; - } - case 27: { - $784 = ($9|0)>(0); - if ($784) { - $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; - label = 206; - } else { - $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; - label = 204; - } - break; - } - case 37: { - $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; - label = 210; - break; - } - case 53: { - $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; - label = 213; - break; - } - case 32: { - $842 = ($9|0)>(0); - if ($842) { - $843 = ((($1)) + 1|0); - $844 = HEAP8[$1>>0]|0; - $845 = $844&255; - $$0949 = $845;$$881595 = $843; - } else { - $840 = $6 & 2; - $841 = ($840|0)==(0); - if ($841) { - $$0949 = 0;$$881595 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; - label = 243; - break L5; - } - } - $846 = $$0949 << $25; - $847 = $846 | $27; - $848 = (($25) + 8)|0; - $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; - label = 226; - break; - } - case 41: { - $858 = ($9|0)>(0); - if ($858) { - $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; - label = 233; - } else { - $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; - label = 231; - } - break; - } - case 42: { - $871 = ($9|0)>(0); - if ($871) { - $872 = ((($1)) + 1|0); - $873 = HEAP8[$1>>0]|0; - $874 = $873&255; - $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; - label = 241; - } else { - $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; - label = 237; - } - break; - } - case 34: { - $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; - label = 242; - break; - } - default: { - $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; - label = 244; - } - } - } while(0); - if ((label|0) == 6) { - $44 = $6 & 2; - $45 = ($44|0)==(0); - if ($45) { - $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; - label = 9; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; - label = 243; - } - } - else if ((label|0) == 8) { - $47 = ((($1)) + 1|0); - $48 = HEAP8[$1>>0]|0; - $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; - label = 9; - } - if ((label|0) == 9) { - $$sink3 = $$sink3$shrunk&255; - $49 = ((($0)) + 8|0); - HEAP32[$49>>2] = $$sink3; - $50 = ($$01507>>>0)<($10>>>0); - if ($50) { - $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; - label = 12; - } else { - $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; - label = 10; - } - } - if ((label|0) == 10) { - $51 = $6 & 2; - $52 = ($51|0)==(0); - if ($52) { - $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; - label = 13; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; - label = 243; - } - } - else if ((label|0) == 12) { - $54 = ((($$sink1705)) + 1|0); - $55 = HEAP8[$$sink1705>>0]|0; - $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; - label = 13; - } - if ((label|0) == 13) { - $$sink9 = $$sink9$shrunk&255; - $56 = ((($0)) + 12|0); - HEAP32[$56>>2] = $$sink9; - $57 = ((($0)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = $58 << 8; - $60 = $59 | $$sink9; - $61 = (($60>>>0) % 31)&-1; - $62 = $$sink9 & 32; - $63 = $61 | $62; - $64 = $58 & 15; - $65 = ($64|0)!=(8); - $not$ = ($63|0)!=(0); - $$1754 = $65 | $not$; - $66 = $58 >>> 4; - $67 = 256 << $66; - $68 = ($67>>>0)>(32768); - $69 = ($20>>>0)<($67>>>0); - $$ = $68 | $69; - $not$1755 = $14 ^ 1; - $70 = $$ & $not$1755; - $$31100$v = $70 | $$1754; - if ($$31100$v) { - $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; - label = 243; - } else { - $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; - label = 14; - } - } - L46: while(1) { - switch (label|0) { - case 14: { - label = 0; - $71 = ($$5>>>0)<(3); - if ($71) { - $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; - label = 15; - } else { - $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; - label = 20; - } - break; - } - case 16: { - label = 0; - $73 = $6 & 2; - $74 = ($73|0)==(0); - if ($74) { - $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; - label = 19; - } else { - $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; - label = 243; - continue L46; - } - break; - } - case 18: { - label = 0; - $76 = ((($$sink1710)) + 1|0); - $77 = HEAP8[$$sink1710>>0]|0; - $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; - label = 19; - break; - } - case 25: { - label = 0; - $97 = $$13 & 7; - $98 = $$131322 >>> $97; - $99 = (($$13) - ($97))|0; - $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; - label = 26; - break; - } - case 30: { - label = 0; - $104 = $6 & 2; - $105 = ($104|0)==(0); - if ($105) { - $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; - label = 33; - } else { - $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; - label = 243; - continue L46; - } - break; - } - case 32: { - label = 0; - $107 = ((($$sink1713)) + 1|0); - $108 = HEAP8[$$sink1713>>0]|0; - $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; - label = 33; - break; - } - case 36: { - label = 0; - $118 = $6 & 2; - $119 = ($118|0)==(0); - if ($119) { - $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; - label = 39; - continue L46; - } else { - $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; - label = 243; - continue L46; - } - break; - } - case 39: { - label = 0; - $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); - HEAP8[$$sink13>>0] = $$sink12; - $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; - label = 41; - break; - } - case 43: { - label = 0; - $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; - label = 243; - continue L46; - break; - } - case 47: { - label = 0; - $150 = $6 & 2; - $151 = ($150|0)==(0); - if ($151) { - $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; - label = 50; - } else { - $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; - label = 243; - continue L46; - } - break; - } - case 49: { - label = 0; - $153 = ((($$sink1716)) + 1|0); - $154 = HEAP8[$$sink1716>>0]|0; - $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; - label = 50; - break; - } - case 52: { - label = 0; - $162 = ($$231630>>>0)<($12>>>0); - if (!($162)) { - $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; - label = 243; - continue L46; - } - $163 = $$271018&255; - $164 = ((($$231630)) + 1|0); - HEAP8[$$231630>>0] = $163; - $165 = (($$271124) + -1)|0; - $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; - label = 44; - break; - } - case 55: { - label = 0; - $167 = ($$251632>>>0)<($12>>>0); - if ($167) { - $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; - label = 56; - continue L46; - } else { - $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; - label = 243; - continue L46; - } - break; - } - case 56: { - label = 0; - $168 = ($$301537>>>0)<($10>>>0); - if ($168) { - $171 = $12; - $172 = $$261633; - $173 = (($171) - ($172))|0; - $174 = $10; - $175 = $$301537; - $176 = (($174) - ($175))|0; - $177 = ($173>>>0)<($176>>>0); - $$sink17 = $177 ? $12 : $10; - $$sink16 = $177 ? $$261633 : $$301537; - $178 = $$sink17; - $179 = $$sink16; - $180 = (($178) - ($179))|0; - $181 = ($180>>>0)<($$301127>>>0); - $$$301127 = $181 ? $180 : $$301127; - _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; - $182 = (($$301537) + ($$$301127)|0); - $183 = (($$261633) + ($$$301127)|0); - $184 = (($$301127) - ($$$301127))|0; - $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; - label = 54; - break; - } else { - $169 = $6 & 2; - $170 = ($169|0)==(0); - if ($170) { - $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; - label = 58; - continue L46; - } else { - $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; - label = 243; - continue L46; - } - } - break; - } - case 58: { - label = 0; - $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; - label = 243; - continue L46; - break; - } - case 60: { - label = 0; - $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; - label = 243; - continue L46; - break; - } - case 64: { - label = 0; - $191 = $6 & 2; - $192 = ($191|0)==(0); - if ($192) { - $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; - label = 67; - } else { - $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; - label = 243; - continue L46; - } - break; - } - case 66: { - label = 0; - $194 = ((($$sink1719)) + 1|0); - $195 = HEAP8[$$sink1719>>0]|0; - $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; - label = 67; - break; - } - case 73: { - label = 0; - $222 = $6 & 2; - $223 = ($222|0)==(0); - if ($223) { - $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; - label = 76; - } else { - $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; - label = 243; - continue L46; - } - break; - } - case 75: { - label = 0; - $225 = ((($$sink1722)) + 1|0); - $226 = HEAP8[$$sink1722>>0]|0; - $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; - label = 76; - break; - } - case 86: { - label = 0; - $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; - label = 243; - continue L46; - break; - } - case 114: { - label = 0; - $450 = $6 & 2; - $451 = ($450|0)==(0); - if ($451) { - $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; - label = 117; - } else { - $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; - label = 243; - continue L46; - } - break; - } - case 116: { - label = 0; - $453 = ((($$sink1729)) + 1|0); - $454 = HEAP8[$$sink1729>>0]|0; - $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; - label = 117; - break; - } - case 125: { - label = 0; - $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; - label = 243; - continue L46; - break; - } - case 128: { - label = 0; - $501 = $6 & 2; - $502 = ($501|0)==(0); - if ($502) { - $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; - label = 131; - } else { - $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; - label = 243; - continue L46; - } - break; - } - case 130: { - label = 0; - $504 = ((($$sink1732)) + 1|0); - $505 = HEAP8[$$sink1732>>0]|0; - $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; - label = 131; - break; - } - case 136: { - label = 0; - $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; - label = 243; - continue L46; - break; - } - case 151: { - label = 0; - $570 = $6 & 2; - $571 = ($570|0)==(0); - if ($571) { - $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; - label = 154; - } else { - $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; - label = 243; - continue L46; - } - break; - } - case 153: { - label = 0; - $573 = ((($$sink1736)) + 1|0); - $574 = HEAP8[$$sink1736>>0]|0; - $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; - label = 154; - break; - } - case 160: { - label = 0; - $610 = ($$591666>>>0)<($12>>>0); - if (!($610)) { - $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; - label = 243; - continue L46; - } - $611 = $$621159&255; - $612 = ((($$591666)) + 1|0); - HEAP8[$$591666>>0] = $611; - $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; - label = 140; - break; - } - case 180: { - label = 0; - $694 = $6 & 2; - $695 = ($694|0)==(0); - if ($695) { - $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; - label = 183; - } else { - $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; - label = 243; - continue L46; - } - break; - } - case 182: { - label = 0; - $697 = ((($$sink1739)) + 1|0); - $698 = HEAP8[$$sink1739>>0]|0; - $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; - label = 183; - break; - } - case 193: { - label = 0; - $735 = $6 & 2; - $736 = ($735|0)==(0); - if ($736) { - $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; - label = 196; - } else { - $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; - label = 243; - continue L46; - } - break; - } - case 195: { - label = 0; - $738 = ((($$sink1743)) + 1|0); - $739 = HEAP8[$$sink1743>>0]|0; - $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; - label = 196; - break; - } - case 204: { - label = 0; - $782 = $6 & 2; - $783 = ($782|0)==(0); - if ($783) { - $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; - label = 207; - } else { - $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; - label = 243; - continue L46; - } - break; - } - case 206: { - label = 0; - $785 = ((($$sink1746)) + 1|0); - $786 = HEAP8[$$sink1746>>0]|0; - $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; - label = 207; - break; - } - case 210: { - label = 0; - $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; - label = 243; - continue L46; - break; - } - case 213: { - label = 0; - $809 = ($$781685>>>0)<($12>>>0); - if (!($809)) { - $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; - label = 243; - continue L46; - } - $810 = (($$751491) + 1)|0; - $811 = (($$751491) - ($$791070))|0; - $812 = $811 & $$1753; - $813 = (($3) + ($812)|0); - $814 = HEAP8[$813>>0]|0; - $815 = ((($$781685)) + 1|0); - HEAP8[$$781685>>0] = $814; - $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; - label = 212; - break; - } - case 226: { - label = 0; - $849 = $$90 & 7; - $850 = $$901399 >>> $849; - $851 = (($$90) - ($849))|0; - $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; - label = 227; - break; - } - case 231: { - label = 0; - $856 = $6 & 2; - $857 = ($856|0)==(0); - if ($857) { - $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; - label = 234; - } else { - $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; - label = 243; - continue L46; - } - break; - } - case 233: { - label = 0; - $859 = ((($$sink1750)) + 1|0); - $860 = HEAP8[$$sink1750>>0]|0; - $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; - label = 234; - break; - } - case 237: { - label = 0; - $869 = $6 & 2; - $870 = ($869|0)==(0); - if ($870) { - $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; - label = 241; - continue L46; - } else { - $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; - label = 243; - continue L46; - } - break; - } - case 241: { - label = 0; - $878 = ((($0)) + 16|0); - $879 = HEAP32[$878>>2]|0; - $880 = $879 << 8; - $881 = $880 | $$0948; - HEAP32[$878>>2] = $881; - $882 = (($$931190) + 1)|0; - $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; - label = 227; - break; - } - case 242: { - label = 0; - $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; - label = 243; - continue L46; - break; - } - case 243: { - label = 0; - HEAP32[$0>>2] = $$sink30; - $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; - label = 244; - continue L46; - break; - } - case 244: { - label = 0; - HEAP32[$24>>2] = $$100; - HEAP32[$26>>2] = $$1001409; - HEAP32[$28>>2] = $$941085; - HEAP32[$30>>2] = $$961193; - HEAP32[$32>>2] = $$961299; - HEAP32[$34>>2] = $$901506; - $883 = $$991606; - $884 = $1; - $885 = (($883) - ($884))|0; - HEAP32[$2>>2] = $885; - $886 = $$941701; - $887 = $4; - $888 = (($886) - ($887))|0; - HEAP32[$5>>2] = $888; - $889 = $6 & 9; - $890 = ($889|0)!=(0); - $891 = ($$1961|0)>(-1); - $or$cond29 = $890 & $891; - if ($or$cond29) { - break L46; - } else { - $$0951 = $$1961; - label = 258; - break L46; - } - break; - } - } - switch (label|0) { - case 19: { - label = 0; - $$01413 = $$01413$shrunk&255; - $78 = $$01413 << $$8; - $79 = $78 | $$81317; - $80 = (($$8) + 8)|0; - $81 = ($80>>>0)<(3); - if ($81) { - $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; - label = 15; - } else { - $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; - label = 20; - } - break; - } - case 33: { - label = 0; - $$01411 = $$01411$shrunk&255; - $109 = $$01411 << $$17; - $110 = $109 | $$171326; - $111 = (($$17) + 8)|0; - $112 = ($$17>>>0)>(4294967287); - if ($112) { - $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; - label = 29; - } else { - $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; - label = 34; - } - break; - } - case 50: { - label = 0; - $$01410 = $$01410$shrunk&255; - $155 = $$01410 << $$26; - $156 = $155 | $$261335; - $157 = (($$26) + 8)|0; - $158 = ($$26>>>0)>(4294967287); - if ($158) { - $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; - label = 46; - } else { - $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; - label = 51; - } - break; - } - case 67: { - label = 0; - $$01300 = $$01300$shrunk&255; - $196 = $$01300 << $$37; - $197 = $196 | $$371346; - $198 = (($$37) + 8)|0; - $199 = (4456 + ($$361133)|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200 << 24 >> 24; - $202 = ($198>>>0)<($201>>>0); - if ($202) { - $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; - label = 63; - } else { - $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; - label = 68; - } - break; - } - case 76: { - label = 0; - $$01202 = $$01202$shrunk&255; - $227 = $$01202 << $$42; - $228 = $227 | $$421351; - $229 = (($$42) + 8)|0; - $230 = ($229>>>0)<(3); - if ($230) { - $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; - label = 72; - } else { - $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; - label = 77; - } - break; - } - case 117: { - label = 0; - $$0980 = $$0980$shrunk&255; - $455 = $$0980 << $$49; - $456 = $455 | $$491358; - $457 = (($$49) + 8)|0; - $458 = ($457>>>0)<(15); - if ($458) { - $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; - label = 108; - } else { - $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; - label = 119; - } - break; - } - case 131: { - label = 0; - $$0979 = $$0979$shrunk&255; - $506 = $$0979 << $$54; - $507 = $506 | $$541363; - $508 = (($$54) + 8)|0; - $509 = ($508>>>0)<($$541257>>>0); - if ($509) { - $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; - label = 127; - } else { - $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; - label = 132; - } - break; - } - case 154: { - label = 0; - $$0971 = $$0971$shrunk&255; - $575 = $$0971 << $$62; - $576 = $575 | $$621371; - $577 = (($$62) + 8)|0; - $578 = ($577>>>0)<(15); - if ($578) { - $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; - label = 145; - } else { - $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; - label = 156; - } - break; - } - case 183: { - label = 0; - $$0959 = $$0959$shrunk&255; - $699 = $$0959 << $$71; - $700 = $699 | $$711380; - $701 = (($$71) + 8)|0; - $702 = ($701>>>0)<($$681271>>>0); - if ($702) { - $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; - label = 179; - } else { - $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; - label = 184; - } - break; - } - case 196: { - label = 0; - $$0952 = $$0952$shrunk&255; - $740 = $$0952 << $$76; - $741 = $740 | $$761385; - $742 = (($$76) + 8)|0; - $743 = ($742>>>0)<(15); - if ($743) { - $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; - label = 187; - } else { - $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; - label = 198; - } - break; - } - case 207: { - label = 0; - $$0950 = $$0950$shrunk&255; - $787 = $$0950 << $$80; - $788 = $787 | $$801389; - $789 = (($$80) + 8)|0; - $790 = ($789>>>0)<($$761279>>>0); - if ($790) { - $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; - label = 203; - } else { - $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; - label = 208; - } - break; - } - case 227: { - label = 0; - $852 = ($$871184>>>0)<(4); - if (!($852)) { - $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; - label = 242; - continue L46; - } - $853 = ($$91|0)==(0); - if (!($853)) { - $854 = ($$91>>>0)<(8); - if ($854) { - $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; - label = 230; - break; - } else { - $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; - label = 235; - break; - } - } - $868 = ($$901597>>>0)<($10>>>0); - if (!($868)) { - $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; - label = 237; - continue L46; - } - $875 = ((($$901597)) + 1|0); - $876 = HEAP8[$$901597>>0]|0; - $877 = $876&255; - $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; - label = 241; - continue L46; - break; - } - case 234: { - label = 0; - $$0947 = $$0947$shrunk&255; - $861 = $$0947 << $$94; - $862 = $861 | $$941403; - $863 = (($$94) + 8)|0; - $864 = ($$94>>>0)>(4294967287); - if ($864) { - $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; - label = 230; - } else { - $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; - label = 235; - } - break; - } - } - L119: do { - if ((label|0) == 15) { - label = 0; - $72 = ($$51512>>>0)<($10>>>0); - if ($72) { - $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; - label = 18; - continue L46; - } else { - $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; - label = 16; - continue L46; - } - } - else if ((label|0) == 20) { - label = 0; - $82 = $$91318 & 7; - $83 = ((($0)) + 20|0); - HEAP32[$83>>2] = $82; - $84 = $$91318 >>> 3; - $85 = (($$9) + -3)|0; - $86 = $82 >>> 1; - $87 = ((($0)) + 24|0); - HEAP32[$87>>2] = $86; - $trunc = $86&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; - label = 25; - continue L46; - break; - } - case 3: { - $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; - label = 60; - continue L46; - break; - } - case 1: { - break; - } - default: { - $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; - label = 61; - break L119; - } - } - $240 = ((($0)) + 44|0); - HEAP32[$240>>2] = 288; - $241 = ((($0)) + 48|0); - HEAP32[$241>>2] = 32; - $242 = ((($0)) + 3552|0); - ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; - $scevgep19611962 = ((($0)) + 64|0); - _memset(($scevgep19611962|0),8,144)|0; - $scevgep1959 = ((($0)) + 208|0); - dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1957 = ((($0)) + 320|0); - dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1955 = ((($0)) + 344|0); - $243 = $scevgep1955; - $244 = $243; - HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; - $245 = (($243) + 4)|0; - $246 = $245; - HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; - $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; - label = 80; - } - else if ((label|0) == 230) { - label = 0; - $855 = ($$911598>>>0)<($10>>>0); - if ($855) { - $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; - label = 233; - continue L46; - } else { - $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; - label = 231; - continue L46; - } - } - else if ((label|0) == 235) { - label = 0; - $865 = $$951404 & 255; - $866 = $$951404 >>> 8; - $867 = (($$95) + -8)|0; - $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; - label = 241; - continue L46; - } - } while(0); - L125: while(1) { - L126: switch (label|0) { - case 26: { - label = 0; - $100 = ($$131110>>>0)<(4); - if (!($100)) { - $127 = ((($0)) + 10528|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = ((($0)) + 10529|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 << 8; - $134 = $133 | $129; - $135 = ((($0)) + 10530|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = ((($0)) + 10531|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $140 << 8; - $142 = $141 | $137; - $143 = $142 ^ 65535; - $144 = ($134|0)==($143|0); - if ($144) { - $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; - label = 44; - continue L125; - } else { - $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; - label = 43; - continue L46; - } - } - $101 = ($$14|0)==(0); - if (!($101)) { - $102 = ($$14>>>0)<(8); - if ($102) { - $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; - label = 29; - continue L125; - } else { - $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; - label = 34; - continue L125; - } - } - $117 = ($$131520>>>0)<($10>>>0); - if (!($117)) { - $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; - label = 36; - continue L46; - } - $123 = ((($$131520)) + 1|0); - $124 = HEAP8[$$131520>>0]|0; - $125 = (((($0)) + 10528|0) + ($$131110)|0); - HEAP8[$125>>0] = $124; - $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; - label = 41; - continue L125; - break; - } - case 29: { - label = 0; - $103 = ($$141521>>>0)<($10>>>0); - if ($103) { - $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; - label = 32; - continue L46; - } else { - $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; - label = 30; - continue L46; - } - break; - } - case 34: { - label = 0; - $113 = $$181327&255; - $114 = (((($0)) + 10528|0) + ($$171114)|0); - HEAP8[$114>>0] = $113; - $115 = $$181327 >>> 8; - $116 = (($$18) + -8)|0; - $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; - label = 41; - continue L125; - break; - } - case 41: { - label = 0; - $126 = (($$201117) + 1)|0; - $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; - label = 26; - continue L125; - break; - } - case 44: { - label = 0; - $145 = ($$221119|0)!=(0); - $146 = ($$23|0)!=(0); - $147 = $145 & $146; - if (!($147)) { - $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; - label = 54; - continue L125; - } - $148 = ($$23>>>0)<(8); - if ($148) { - $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; - label = 46; - continue L125; - } else { - $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; - label = 51; - continue L125; - } - break; - } - case 46: { - label = 0; - $149 = ($$231530>>>0)<($10>>>0); - if ($149) { - $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; - label = 49; - continue L46; - } else { - $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; - label = 47; - continue L46; - } - break; - } - case 51: { - label = 0; - $159 = $$271336 & 255; - $160 = $$271336 >>> 8; - $161 = (($$27) + -8)|0; - $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; - label = 52; - continue L46; - break; - } - case 54: { - label = 0; - $166 = ($$281125|0)==(0); - if ($166) { - $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; - label = 220; - break L125; - } else { - $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; - label = 55; - continue L46; - } - break; - } - case 61: { - label = 0; - $185 = ($$331130>>>0)<(3); - if ($185) { - $186 = (4456 + ($$331130)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 << 24 >> 24; - $189 = ($$34>>>0)<($188>>>0); - if ($189) { - $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; - label = 63; - continue L125; - } else { - $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; - label = 68; - continue L125; - } - } else { - $216 = ((($0)) + 7040|0); - _memset(($216|0),0,288)|0; - $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; - label = 70; - break; - } - break; - } - case 63: { - label = 0; - $190 = ($$341541>>>0)<($10>>>0); - if ($190) { - $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; - label = 66; - continue L46; - } else { - $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; - label = 64; - continue L46; - } - break; - } - case 68: { - label = 0; - $203 = (4456 + ($$371134)|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204 << 24 >> 24; - $206 = 1 << $205; - $207 = (($206) + -1)|0; - $208 = $207 & $$381347; - $209 = (((($0)) + 44|0) + ($$371134<<2)|0); - $210 = $$381347 >>> $205; - $211 = (($$38) - ($205))|0; - $212 = (68 + ($$371134<<2)|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($208) + ($213))|0; - HEAP32[$209>>2] = $214; - $215 = (($$371134) + 1)|0; - $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; - label = 61; - continue L125; - break; - } - case 72: { - label = 0; - $221 = ($$391546>>>0)<($10>>>0); - if ($221) { - $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; - label = 75; - continue L46; - } else { - $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; - label = 73; - continue L46; - } - break; - } - case 77: { - label = 0; - $231 = $$431352 & 7; - $232 = $$431352 >>> 3; - $233 = (($$43) + -3)|0; - $234 = $231&255; - $235 = (7253 + ($$421139)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (((($0)) + 7040|0) + ($237)|0); - HEAP8[$238>>0] = $234; - $239 = (($$421139) + 1)|0; - $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; - label = 70; - break; - } - case 80: { - label = 0; - $247 = ((($0)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)>(-1); - if ($249) { - dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); - _memset(($250|0),0,3200)|0; - $251 = HEAP32[$247>>2]|0; - $252 = (((($0)) + 44|0) + ($251<<2)|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($253|0)==(0); - if (!($254)) { - $255 = HEAP32[$247>>2]|0; - $256 = (((($0)) + 44|0) + ($255<<2)|0); - $257 = HEAP32[$256>>2]|0; - $$010951864 = 0; - while(1) { - $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (($8) + ($260<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$261>>2] = $263; - $264 = (($$010951864) + 1)|0; - $265 = ($264>>>0)<($257>>>0); - if ($265) { - $$010951864 = $264; - } else { - break; - } - } - } - $266 = ((($7)) + 4|0); - HEAP32[$266>>2] = 0; - HEAP32[$7>>2] = 0; - $267 = ((($8)) + 4|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 << 1; - $270 = ((($7)) + 8|0); - HEAP32[$270>>2] = $269; - $271 = ((($8)) + 8|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) + ($268))|0; - $274 = (($272) + ($269))|0; - $275 = $274 << 1; - $276 = ((($7)) + 12|0); - HEAP32[$276>>2] = $275; - $277 = ((($8)) + 12|0); - $278 = HEAP32[$277>>2]|0; - $279 = (($278) + ($273))|0; - $280 = (($278) + ($275))|0; - $281 = $280 << 1; - $282 = ((($7)) + 16|0); - HEAP32[$282>>2] = $281; - $283 = ((($8)) + 16|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) + ($279))|0; - $286 = (($284) + ($281))|0; - $287 = $286 << 1; - $288 = ((($7)) + 20|0); - HEAP32[$288>>2] = $287; - $289 = ((($8)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + ($285))|0; - $292 = (($290) + ($287))|0; - $293 = $292 << 1; - $294 = ((($7)) + 24|0); - HEAP32[$294>>2] = $293; - $295 = ((($8)) + 24|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + ($291))|0; - $298 = (($296) + ($293))|0; - $299 = $298 << 1; - $300 = ((($7)) + 28|0); - HEAP32[$300>>2] = $299; - $301 = ((($8)) + 28|0); - $302 = HEAP32[$301>>2]|0; - $303 = (($302) + ($297))|0; - $304 = (($302) + ($299))|0; - $305 = $304 << 1; - $306 = ((($7)) + 32|0); - HEAP32[$306>>2] = $305; - $307 = ((($8)) + 32|0); - $308 = HEAP32[$307>>2]|0; - $309 = (($308) + ($303))|0; - $310 = (($308) + ($305))|0; - $311 = $310 << 1; - $312 = ((($7)) + 36|0); - HEAP32[$312>>2] = $311; - $313 = ((($8)) + 36|0); - $314 = HEAP32[$313>>2]|0; - $315 = (($314) + ($309))|0; - $316 = (($314) + ($311))|0; - $317 = $316 << 1; - $318 = ((($7)) + 40|0); - HEAP32[$318>>2] = $317; - $319 = ((($8)) + 40|0); - $320 = HEAP32[$319>>2]|0; - $321 = (($320) + ($315))|0; - $322 = (($320) + ($317))|0; - $323 = $322 << 1; - $324 = ((($7)) + 44|0); - HEAP32[$324>>2] = $323; - $325 = ((($8)) + 44|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($321))|0; - $328 = (($326) + ($323))|0; - $329 = $328 << 1; - $330 = ((($7)) + 48|0); - HEAP32[$330>>2] = $329; - $331 = ((($8)) + 48|0); - $332 = HEAP32[$331>>2]|0; - $333 = (($332) + ($327))|0; - $334 = (($332) + ($329))|0; - $335 = $334 << 1; - $336 = ((($7)) + 52|0); - HEAP32[$336>>2] = $335; - $337 = ((($8)) + 52|0); - $338 = HEAP32[$337>>2]|0; - $339 = (($338) + ($333))|0; - $340 = (($338) + ($335))|0; - $341 = $340 << 1; - $342 = ((($7)) + 56|0); - HEAP32[$342>>2] = $341; - $343 = ((($8)) + 56|0); - $344 = HEAP32[$343>>2]|0; - $345 = (($344) + ($339))|0; - $346 = (($344) + ($341))|0; - $347 = $346 << 1; - $348 = ((($7)) + 60|0); - HEAP32[$348>>2] = $347; - $349 = ((($8)) + 60|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) + ($345))|0; - $352 = (($350) + ($347))|0; - $353 = $352 << 1; - $354 = ((($7)) + 64|0); - HEAP32[$354>>2] = $353; - $355 = ($353|0)!=(65536); - $356 = ($351>>>0)>(1); - $or$cond = $355 & $356; - if ($or$cond) { - $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; - label = 86; - continue L46; - } - $357 = HEAP32[$247>>2]|0; - $358 = (((($0)) + 44|0) + ($357<<2)|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==(0); - if ($360) { - $$lcssa1779 = $357; - } else { - $$010911856 = 0;$$011971855 = -1; - while(1) { - $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($362<<24>>24)==(0); - L142: do { - if ($364) { - $$41201 = $$011971855; - } else { - $365 = (($7) + ($363<<2)|0); - $366 = HEAP32[$365>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$365>>2] = $367; - $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; - while(1) { - $368 = $$010881838 << 1; - $369 = $$010861840 & 1; - $370 = $369 | $368; - $371 = (($$010871839) + -1)|0; - $372 = $$010861840 >>> 1; - $373 = ($371|0)==(0); - if ($373) { - break; - } else { - $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; - } - } - $374 = ($362&255)<(11); - if ($374) { - $375 = $363 << 9; - $376 = $375 | $$010911856; - $377 = $376&65535; - $378 = ($370>>>0)<(1024); - if (!($378)) { - $$41201 = $$011971855; - break; - } - $379 = 1 << $363; - $$110891852 = $370; - while(1) { - $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); - HEAP16[$380>>1] = $377; - $381 = (($$110891852) + ($379))|0; - $382 = ($381>>>0)<(1024); - if ($382) { - $$110891852 = $381; - } else { - $$41201 = $$011971855; - break L142; - } - } - } - $383 = $370 & 1023; - $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); - $385 = HEAP16[$384>>1]|0; - $386 = $385 << 16 >> 16; - $387 = ($385<<16>>16)==(0); - if ($387) { - $388 = (($$011971855) + -2)|0; - $389 = $$011971855&65535; - HEAP16[$384>>1] = $389; - $$01194 = $$011971855;$$11198 = $388; - } else { - $$01194 = $386;$$11198 = $$011971855; - } - $390 = $$010881838 >>> 9; - $391 = ($362&255)>(11); - $392 = $390 & 1; - $393 = (($392) - ($$01194))|0; - $394 = (($393) + -1)|0; - if ($391) { - $395 = $390 & 4194303; - $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; - while(1) { - $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); - $398 = HEAP16[$396>>1]|0; - $399 = ($398<<16>>16)==(0); - if ($399) { - $400 = $$211991845&65535; - HEAP16[$396>>1] = $400; - $401 = (($$211991845) + -2)|0; - $$21196 = $$211991845;$$31200 = $401; - } else { - $402 = $398 << 16 >> 16; - $$21196 = $402;$$31200 = $$211991845; - } - $403 = (($$010941846) + -1)|0; - $404 = ($403>>>0)>(11); - $405 = $406 >>> 1; - $407 = $405 & 1; - $408 = (($407) - ($$21196))|0; - $409 = (($408) + -1)|0; - if ($404) { - $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; - } else { - $$21199$lcssa = $$31200;$$lcssa1778 = $409; - break; - } - } - } else { - $$21199$lcssa = $$11198;$$lcssa1778 = $394; - } - $410 = $$010911856&65535; - $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); - HEAP16[$411>>1] = $410; - $$41201 = $$21199$lcssa; - } - } while(0); - $412 = (($$010911856) + 1)|0; - $413 = HEAP32[$247>>2]|0; - $414 = (((($0)) + 44|0) + ($413<<2)|0); - $415 = HEAP32[$414>>2]|0; - $416 = ($412>>>0)<($415>>>0); - if ($416) { - $$010911856 = $412;$$011971855 = $$41201; - } else { - $$lcssa1779 = $413; - break; - } - } - } - $417 = ($$lcssa1779|0)==(2); - if ($417) { - $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; - label = 105; - } else { - $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; - label = 138; - } - } else { - $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; - label = 139; - } - break; - } - case 108: { - label = 0; - $429 = $$471356 & 1023; - $430 = (((($0)) + 7328|0) + ($429<<1)|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431 << 16 >> 16; - $433 = ($431<<16>>16)>(-1); - if ($433) { - $434 = $432 >> 9; - $435 = (($434) + -1)|0; - $436 = ($435>>>0)<($$47>>>0); - if ($436) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } else { - label = 113; - break L125; - } - } - $437 = ($$47>>>0)>(10); - if ($437) { - $$0981 = 10;$$0984 = $432; - } else { - label = 113; - break L125; - } - while(1) { - $438 = $$0984 ^ -1; - $439 = $$471356 >>> $$0981; - $440 = $439 & 1; - $441 = (($440) + ($438))|0; - $442 = (((($0)) + 9376|0) + ($441<<1)|0); - $443 = HEAP16[$442>>1]|0; - $444 = ($443<<16>>16)<(0); - if (!($444)) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } - $445 = (($$0981) + 1)|0; - $446 = $443 << 16 >> 16; - $447 = (($$0981) + 2)|0; - $448 = ($$47>>>0)<($447>>>0); - if ($448) { - label = 113; - break L125; - } else { - $$0981 = $445;$$0984 = $446; - } - } - break; - } - case 119: { - label = 0; - $471 = $$501359 & 1023; - $472 = (((($0)) + 7328|0) + ($471<<1)|0); - $473 = HEAP16[$472>>1]|0; - $474 = $473 << 16 >> 16; - $475 = ($473<<16>>16)>(-1); - if ($475) { - $476 = $474 >> 9; - $477 = $474 & 511; - $$2983 = $476;$$2986 = $477; - } else { - $$1982 = 10;$$1985 = $474; - while(1) { - $478 = $$1985 ^ -1; - $479 = (($$1982) + 1)|0; - $480 = $$501359 >>> $$1982; - $481 = $480 & 1; - $482 = (($481) + ($478))|0; - $483 = (((($0)) + 9376|0) + ($482<<1)|0); - $484 = HEAP16[$483>>1]|0; - $485 = $484 << 16 >> 16; - $486 = ($484<<16>>16)<(0); - if ($486) { - $$1982 = $479;$$1985 = $485; - } else { - $$2983 = $479;$$2986 = $485; - break; - } - } - } - $487 = $$501359 >>> $$2983; - $488 = (($$50) - ($$2983))|0; - $489 = ($$2986>>>0)<(16); - if ($489) { - $490 = $$2986&255; - $491 = (($$491146) + 1)|0; - $492 = (((($0)) + 10532|0) + ($$491146)|0); - HEAP8[$492>>0] = $490; - $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; - label = 105; - break; - } - $493 = ($$2986|0)!=(16); - $494 = ($$491146|0)!=(0); - $or$cond24 = $494 | $493; - if (!($or$cond24)) { - $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; - label = 125; - continue L46; - } - $495 = (($$2986) + -16)|0; - $496 = (4460 + ($495)|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497 << 24 >> 24; - $499 = ($488>>>0)<($498>>>0); - if ($499) { - $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; - label = 127; - continue L125; - } else { - $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; - label = 132; - continue L125; - } - break; - } - case 127: { - label = 0; - $500 = ($$511558>>>0)<($10>>>0); - if ($500) { - $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; - label = 130; - continue L46; - } else { - $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; - label = 128; - continue L46; - } - break; - } - case 132: { - label = 0; - $510 = 1 << $$551258; - $511 = (($510) + -1)|0; - $512 = $511 & $$551364; - $513 = $$551364 >>> $$551258; - $514 = (($$55) - ($$551258))|0; - $515 = (($$531044) + -16)|0; - $516 = (4464 + ($515)|0); - $517 = HEAP8[$516>>0]|0; - $518 = $517 << 24 >> 24; - $519 = (($518) + ($512))|0; - $520 = (((($0)) + 10532|0) + ($$541151)|0); - $521 = ($$531044|0)==(16); - if ($521) { - $522 = (($$541151) + -1)|0; - $523 = (((($0)) + 10532|0) + ($522)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - _memset(($520|0),($526|0),($519|0))|0; - $528 = (($519) + ($$541151))|0; - $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; - label = 105; - break; - } - case 140: { - label = 0; - $539 = $10; - $540 = $$581565$ph; - $541 = (($539) - ($540))|0; - $542 = ($541|0)<(4); - $543 = ($$59$ph>>>0)<(15); - L241: do { - if ($542) { - $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; - } else { - $544 = $12; - $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; - while(1) { - $545 = $$5416611868; - $546 = (($544) - ($545))|0; - $547 = ($546|0)<(2); - if ($547) { - $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; - break L241; - } - if ($965) { - $613 = HEAP8[$$5815651869>>0]|0; - $614 = $613&255; - $615 = ((($$5815651869)) + 1|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $618 = $617 << 8; - $619 = $618 | $614; - $620 = $619 << $$591872; - $621 = $620 | $$5913681870; - $622 = ((($$5815651869)) + 2|0); - $623 = (($$591872) + 16)|0; - $$641571 = $622;$$65 = $623;$$651374 = $621; - } else { - $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; - } - $624 = $$651374 & 1023; - $625 = (((($0)) + 352|0) + ($624<<1)|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626 << 16 >> 16; - $628 = ($626<<16>>16)>(-1); - if ($628) { - $629 = $627 >> 9; - $$1964 = $629;$$1968 = $627; - } else { - $$0963 = 10;$$0967 = $627; - while(1) { - $630 = $$0967 ^ -1; - $631 = (($$0963) + 1)|0; - $632 = $$651374 >>> $$0963; - $633 = $632 & 1; - $634 = (($633) + ($630))|0; - $635 = (((($0)) + 2400|0) + ($634<<1)|0); - $636 = HEAP16[$635>>1]|0; - $637 = $636 << 16 >> 16; - $638 = ($636<<16>>16)<(0); - if ($638) { - $$0963 = $631;$$0967 = $637; - } else { - $$1964 = $631;$$1968 = $637; - break; - } - } - } - $639 = $$651374 >>> $$1964; - $640 = (($$65) - ($$1964))|0; - $641 = $$1968 & 256; - $642 = ($641|0)==(0); - if (!($642)) { - $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; - label = 176; - break L126; - } - $643 = ($640>>>0)<(15); - if ($643) { - $644 = HEAP8[$$641571>>0]|0; - $645 = $644&255; - $646 = ((($$641571)) + 1|0); - $647 = HEAP8[$646>>0]|0; - $648 = $647&255; - $649 = $648 << 8; - $650 = $649 | $645; - $651 = $650 << $640; - $652 = $651 | $639; - $653 = ((($$641571)) + 2|0); - $654 = (($640) + 16)|0; - $$651572 = $653;$$66 = $654;$$661375 = $652; - } else { - $$651572 = $$641571;$$66 = $640;$$661375 = $639; - } - $655 = $$661375 & 1023; - $656 = (((($0)) + 352|0) + ($655<<1)|0); - $657 = HEAP16[$656>>1]|0; - $658 = $657 << 16 >> 16; - $659 = ($657<<16>>16)>(-1); - if ($659) { - $660 = $658 >> 9; - $$3966 = $660;$$3970 = $658; - } else { - $$2965 = 10;$$2969 = $658; - while(1) { - $661 = $$2969 ^ -1; - $662 = (($$2965) + 1)|0; - $663 = $$661375 >>> $$2965; - $664 = $663 & 1; - $665 = (($664) + ($661))|0; - $666 = (((($0)) + 2400|0) + ($665<<1)|0); - $667 = HEAP16[$666>>1]|0; - $668 = $667 << 16 >> 16; - $669 = ($667<<16>>16)<(0); - if ($669) { - $$2965 = $662;$$2969 = $668; - } else { - $$3966 = $662;$$3970 = $668; - break; - } - } - } - $670 = $$661375 >>> $$3966; - $671 = (($$66) - ($$3966))|0; - $672 = $$1968&255; - HEAP8[$$5416611868>>0] = $672; - $673 = $$3970 & 256; - $674 = ($673|0)==(0); - if (!($674)) { - break; - } - $676 = $$3970&255; - $677 = ((($$5416611868)) + 1|0); - HEAP8[$677>>0] = $676; - $678 = ((($$5416611868)) + 2|0); - $679 = $$651572; - $680 = (($539) - ($679))|0; - $681 = ($680|0)<(4); - $682 = ($671>>>0)<(15); - if ($681) { - $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; - break L241; - } else { - $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; - } - } - $675 = ((($$5416611868)) + 1|0); - $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; - label = 176; - break L126; - } - } while(0); - if (!($$lcssa1799)) { - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; - label = 156; - continue L125; - } - $548 = ($$lcssa1802|0)<(2); - if ($548) { - $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; - label = 145; - continue L125; - } - $579 = HEAP8[$$581565$lcssa>>0]|0; - $580 = $579&255; - $581 = $580 << $$59$lcssa; - $582 = ((($$581565$lcssa)) + 1|0); - $583 = HEAP8[$582>>0]|0; - $584 = $583&255; - $585 = (($$59$lcssa) + 8)|0; - $586 = $584 << $585; - $587 = $581 | $$591368$lcssa; - $588 = $587 | $586; - $589 = ((($$581565$lcssa)) + 2|0); - $590 = (($$59$lcssa) + 16)|0; - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; - label = 156; - continue L125; - break; - } - case 145: { - label = 0; - $549 = $$601369 & 1023; - $550 = (((($0)) + 352|0) + ($549<<1)|0); - $551 = HEAP16[$550>>1]|0; - $552 = $551 << 16 >> 16; - $553 = ($551<<16>>16)>(-1); - if ($553) { - $554 = $552 >> 9; - $555 = (($554) + -1)|0; - $556 = ($555>>>0)<($$60>>>0); - if ($556) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } else { - label = 150; - break L125; - } - } - $557 = ($$60>>>0)>(10); - if ($557) { - $$0972 = 10;$$0975 = $552; - } else { - label = 150; - break L125; - } - while(1) { - $558 = $$0975 ^ -1; - $559 = $$601369 >>> $$0972; - $560 = $559 & 1; - $561 = (($560) + ($558))|0; - $562 = (((($0)) + 2400|0) + ($561<<1)|0); - $563 = HEAP16[$562>>1]|0; - $564 = ($563<<16>>16)<(0); - if (!($564)) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } - $565 = (($$0972) + 1)|0; - $566 = $563 << 16 >> 16; - $567 = (($$0972) + 2)|0; - $568 = ($$60>>>0)<($567>>>0); - if ($568) { - label = 150; - break L125; - } else { - $$0972 = $565;$$0975 = $566; - } - } - break; - } - case 156: { - label = 0; - $591 = $$631372 & 1023; - $592 = (((($0)) + 352|0) + ($591<<1)|0); - $593 = HEAP16[$592>>1]|0; - $594 = $593 << 16 >> 16; - $595 = ($593<<16>>16)>(-1); - if ($595) { - $596 = $594 >> 9; - $597 = $594 & 511; - $$2974 = $596;$$2977 = $597; - } else { - $$1973 = 10;$$1976 = $594; - while(1) { - $598 = $$1976 ^ -1; - $599 = (($$1973) + 1)|0; - $600 = $$631372 >>> $$1973; - $601 = $600 & 1; - $602 = (($601) + ($598))|0; - $603 = (((($0)) + 2400|0) + ($602<<1)|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = ($604<<16>>16)<(0); - if ($606) { - $$1973 = $599;$$1976 = $605; - } else { - $$2974 = $599;$$2977 = $605; - break; - } - } - } - $607 = $$631372 >>> $$2974; - $608 = (($$63) - ($$2974))|0; - $609 = ($$2977>>>0)>(255); - if ($609) { - $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; - label = 176; - } else { - $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; - label = 160; - continue L46; - } - break; - } - case 179: { - label = 0; - $693 = ($$681575>>>0)<($10>>>0); - if ($693) { - $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; - label = 182; - continue L46; - } else { - $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; - label = 180; - continue L46; - } - break; - } - case 184: { - label = 0; - $703 = 1 << $$691272; - $704 = (($703) + -1)|0; - $705 = $704 & $$721381; - $706 = $$721381 >>> $$691272; - $707 = (($$72) - ($$691272))|0; - $708 = (($705) + ($$681165))|0; - $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; - label = 185; - break; - } - case 187: { - label = 0; - $714 = $$741383 & 1023; - $715 = (((($0)) + 3840|0) + ($714<<1)|0); - $716 = HEAP16[$715>>1]|0; - $717 = $716 << 16 >> 16; - $718 = ($716<<16>>16)>(-1); - if ($718) { - $719 = $717 >> 9; - $720 = (($719) + -1)|0; - $721 = ($720>>>0)<($$74>>>0); - if ($721) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } else { - label = 192; - break L125; - } - } - $722 = ($$74>>>0)>(10); - if ($722) { - $$0953 = 10;$$0956 = $717; - } else { - label = 192; - break L125; - } - while(1) { - $723 = $$0956 ^ -1; - $724 = $$741383 >>> $$0953; - $725 = $724 & 1; - $726 = (($725) + ($723))|0; - $727 = (((($0)) + 5888|0) + ($726<<1)|0); - $728 = HEAP16[$727>>1]|0; - $729 = ($728<<16>>16)<(0); - if (!($729)) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } - $730 = (($$0953) + 1)|0; - $731 = $728 << 16 >> 16; - $732 = (($$0953) + 2)|0; - $733 = ($$74>>>0)<($732>>>0); - if ($733) { - label = 192; - break L125; - } else { - $$0953 = $730;$$0956 = $731; - } - } - break; - } - case 198: { - label = 0; - $756 = $$771386 & 1023; - $757 = (((($0)) + 3840|0) + ($756<<1)|0); - $758 = HEAP16[$757>>1]|0; - $759 = $758 << 16 >> 16; - $760 = ($758<<16>>16)>(-1); - if ($760) { - $761 = $759 >> 9; - $762 = $759 & 511; - $$2955 = $761;$$2958 = $762; - } else { - $$1954 = 10;$$1957 = $759; - while(1) { - $763 = $$1957 ^ -1; - $764 = (($$1954) + 1)|0; - $765 = $$771386 >>> $$1954; - $766 = $765 & 1; - $767 = (($766) + ($763))|0; - $768 = (((($0)) + 5888|0) + ($767<<1)|0); - $769 = HEAP16[$768>>1]|0; - $770 = $769 << 16 >> 16; - $771 = ($769<<16>>16)<(0); - if ($771) { - $$1954 = $764;$$1957 = $770; - } else { - $$2955 = $764;$$2958 = $770; - break; - } - } - } - $772 = $$771386 >>> $$2955; - $773 = (($$77) - ($$2955))|0; - $774 = (3528 + ($$2958<<2)|0); - $775 = HEAP32[$774>>2]|0; - $776 = (3400 + ($$2958<<2)|0); - $777 = HEAP32[$776>>2]|0; - $778 = (($$2958) + -4)|0; - $779 = ($778>>>0)<(26); - if ($779) { - $780 = ($773>>>0)<($775>>>0); - if ($780) { - $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; - label = 203; - continue L125; - } else { - $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; - label = 208; - continue L125; - } - } else { - $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; - label = 209; - } - break; - } - case 203: { - label = 0; - $781 = ($$771584>>>0)<($10>>>0); - if ($781) { - $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; - label = 206; - continue L46; - } else { - $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; - label = 204; - continue L46; - } - break; - } - case 208: { - label = 0; - $791 = 1 << $$771280; - $792 = (($791) + -1)|0; - $793 = $792 & $$811390; - $794 = $$811390 >>> $$771280; - $795 = (($$81) - ($$771280))|0; - $796 = (($793) + ($$751066))|0; - $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; - label = 209; - break; - } - case 212: { - label = 0; - $807 = (($$801177) + -1)|0; - $808 = ($$801177|0)==(0); - if ($808) { - $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; - label = 139; - } else { - $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; - label = 213; - continue L46; - } - break; - } - } - do { - if ((label|0) == 70) { - label = 0; - $217 = ((($0)) + 52|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($$381135>>>0)<($218>>>0); - if ($219) { - $220 = ($$39>>>0)<(3); - if ($220) { - $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; - label = 72; - continue L125; - } else { - $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; - label = 77; - continue L125; - } - } else { - HEAP32[$217>>2] = 19; - $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; - label = 80; - continue L125; - } - } - else if ((label|0) == 105) { - label = 0; - $418 = ((($0)) + 44|0); - $419 = HEAP32[$418>>2]|0; - $420 = ((($0)) + 48|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + ($419))|0; - $423 = ($$451142>>>0)<($422>>>0); - if (!($423)) { - $529 = ($422|0)==($$451142|0); - if (!($529)) { - $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; - label = 136; - continue L46; - } - $530 = ((($0)) + 64|0); - $531 = ((($0)) + 10532|0); - _memcpy(($530|0),($531|0),($419|0))|0; - $532 = ((($0)) + 3552|0); - $533 = HEAP32[$418>>2]|0; - $534 = (((($0)) + 10532|0) + ($533)|0); - $535 = HEAP32[$420>>2]|0; - _memcpy(($532|0),($534|0),($535|0))|0; - $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; - label = 138; - break; - } - $424 = ($$46>>>0)<(15); - if (!($424)) { - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; - label = 119; - continue L125; - } - $425 = $10; - $426 = $$451552; - $427 = (($425) - ($426))|0; - $428 = ($427|0)<(2); - if ($428) { - $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; - label = 108; - continue L125; - } - $459 = HEAP8[$$451552>>0]|0; - $460 = $459&255; - $461 = $460 << $$46; - $462 = ((($$451552)) + 1|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = (($$46) + 8)|0; - $466 = $464 << $465; - $467 = $461 | $$461355; - $468 = $467 | $466; - $469 = ((($$451552)) + 2|0); - $470 = (($$46) + 16)|0; - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; - label = 119; - continue L125; - } - else if ((label|0) == 176) { - label = 0; - $683 = $$641161 & 511; - $684 = ($683|0)==(256); - if ($684) { - $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; - label = 220; - break L125; - } - $685 = (($683) + -257)|0; - $686 = (3276 + ($685<<2)|0); - $687 = HEAP32[$686>>2]|0; - $688 = (3152 + ($685<<2)|0); - $689 = HEAP32[$688>>2]|0; - $690 = (($683) + -265)|0; - $691 = ($690>>>0)<(20); - if ($691) { - $692 = ($$68>>>0)<($687>>>0); - if ($692) { - $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; - label = 179; - continue L125; - } else { - $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; - label = 184; - continue L125; - } - } else { - $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; - label = 185; - } - } - else if ((label|0) == 209) { - label = 0; - $797 = $$751682; - $798 = $3; - $799 = (($797) - ($798))|0; - $$not = ($799>>>0)>=($$761067>>>0); - $$not1747 = $14 ^ 1; - $brmerge = $$not | $$not1747; - if (!($brmerge)) { - $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; - label = 210; - continue L46; - } - $800 = (($799) - ($$761067))|0; - $801 = $800 & $$1753; - $802 = (($3) + ($801)|0); - $803 = ($$751682>>>0)>($802>>>0); - $804 = $803 ? $$751682 : $802; - $805 = (($804) + ($$781175)|0); - $806 = ($805>>>0)>($12>>>0); - if ($806) { - $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; - label = 212; - continue L125; - } else { - $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; - } - while(1) { - $816 = HEAP8[$$0978>>0]|0; - HEAP8[$$791686>>0] = $816; - $817 = ((($$0978)) + 1|0); - $818 = HEAP8[$817>>0]|0; - $819 = ((($$791686)) + 1|0); - HEAP8[$819>>0] = $818; - $820 = ((($$0978)) + 2|0); - $821 = HEAP8[$820>>0]|0; - $822 = ((($$791686)) + 2|0); - HEAP8[$822>>0] = $821; - $823 = ((($$791686)) + 3|0); - $824 = ((($$0978)) + 3|0); - $825 = (($$821179) + -3)|0; - $826 = ($825|0)>(2); - if ($826) { - $$0978 = $824;$$791686 = $823;$$821179 = $825; - } else { - break; - } - } - $827 = ($825|0)>(0); - if ($827) { - $828 = HEAP8[$824>>0]|0; - HEAP8[$823>>0] = $828; - $829 = ($825|0)==(1); - if (!($829)) { - $830 = ((($$0978)) + 4|0); - $831 = HEAP8[$830>>0]|0; - $832 = ((($$791686)) + 4|0); - HEAP8[$832>>0] = $831; - } - $833 = (($823) + ($825)|0); - $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } else { - $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } - } - } while(0); - if ((label|0) == 138) { - label = 0; - $536 = ((($0)) + 24|0); - $537 = HEAP32[$536>>2]|0; - $538 = (($537) + -1)|0; - HEAP32[$536>>2] = $538; - $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; - label = 80; - continue; - } - else if ((label|0) == 139) { - label = 0; - $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; - label = 140; - continue; - } - else if ((label|0) == 185) { - label = 0; - $709 = ($$73>>>0)<(15); - if (!($709)) { - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; - label = 198; - continue; - } - $710 = $10; - $711 = $$721579; - $712 = (($710) - ($711))|0; - $713 = ($712|0)<(2); - if ($713) { - $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; - label = 187; - continue; - } - $744 = HEAP8[$$721579>>0]|0; - $745 = $744&255; - $746 = $745 << $$73; - $747 = ((($$721579)) + 1|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748&255; - $750 = (($$73) + 8)|0; - $751 = $749 << $750; - $752 = $746 | $$731382; - $753 = $752 | $751; - $754 = ((($$721579)) + 2|0); - $755 = (($$73) + 16)|0; - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; - label = 198; - continue; - } - } - if ((label|0) == 113) { - label = 0; - $449 = ($$461553>>>0)<($10>>>0); - if ($449) { - $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; - label = 116; - continue; - } else { - $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; - label = 114; - continue; - } - } - else if ((label|0) == 150) { - label = 0; - $569 = ($$591566>>>0)<($10>>>0); - if ($569) { - $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; - label = 153; - continue; - } else { - $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; - label = 151; - continue; - } - } - else if ((label|0) == 192) { - label = 0; - $734 = ($$731580>>>0)<($10>>>0); - if ($734) { - $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; - label = 195; - continue; - } else { - $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; - label = 193; - continue; - } - } - else if ((label|0) == 220) { - label = 0; - $834 = ((($0)) + 20|0); - $835 = HEAP32[$834>>2]|0; - $836 = $835 & 1; - $837 = ($836|0)==(0); - if ($837) { - $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; - label = 14; - continue; - } - $838 = $6 & 1; - $839 = ($838|0)==(0); - if ($839) { - $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; - label = 242; - continue; - } else { - $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; - label = 226; - continue; - } - } - } - if ((label|0) == 258) { - STACKTOP = sp;return ($$0951|0); - } - $892 = ((($0)) + 28|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & 65535; - $895 = $893 >>> 16; - $896 = ($888|0)==(0); - if ($896) { - $$0937$lcssa = $895;$$0938$lcssa = $894; - } else { - $897 = (($888>>>0) % 5552)&-1; - $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; - while(1) { - $898 = ($$01834>>>0)>(7); - if ($898) { - $899 = (($$01834) + -8)|0; - $900 = $899 & -8; - $scevgep = ((($$09441830)) + 8|0); - $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; - while(1) { - $904 = HEAP8[$$19451815>>0]|0; - $905 = $904&255; - $906 = (($905) + ($$19391817))|0; - $907 = (($906) + ($$11818))|0; - $908 = ((($$19451815)) + 1|0); - $909 = HEAP8[$908>>0]|0; - $910 = $909&255; - $911 = (($906) + ($910))|0; - $912 = (($907) + ($911))|0; - $913 = ((($$19451815)) + 2|0); - $914 = HEAP8[$913>>0]|0; - $915 = $914&255; - $916 = (($911) + ($915))|0; - $917 = (($912) + ($916))|0; - $918 = ((($$19451815)) + 3|0); - $919 = HEAP8[$918>>0]|0; - $920 = $919&255; - $921 = (($916) + ($920))|0; - $922 = (($917) + ($921))|0; - $923 = ((($$19451815)) + 4|0); - $924 = HEAP8[$923>>0]|0; - $925 = $924&255; - $926 = (($921) + ($925))|0; - $927 = (($922) + ($926))|0; - $928 = ((($$19451815)) + 5|0); - $929 = HEAP8[$928>>0]|0; - $930 = $929&255; - $931 = (($926) + ($930))|0; - $932 = (($927) + ($931))|0; - $933 = ((($$19451815)) + 6|0); - $934 = HEAP8[$933>>0]|0; - $935 = $934&255; - $936 = (($931) + ($935))|0; - $937 = (($932) + ($936))|0; - $938 = ((($$19451815)) + 7|0); - $939 = HEAP8[$938>>0]|0; - $940 = $939&255; - $941 = (($936) + ($940))|0; - $942 = (($937) + ($941))|0; - $943 = (($$09411816) + 8)|0; - $944 = ((($$19451815)) + 8|0); - $945 = $943 | 7; - $946 = ($945>>>0)<($$01834>>>0); - if ($946) { - $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; - } else { - break; - } - } - $901 = (($900) + 8)|0; - $scevgep1947 = (($scevgep) + ($900)|0); - $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; - } else { - $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; - } - $902 = ($$01834>>>0)>($$0941$lcssa>>>0); - if ($902) { - $903 = (($$01834) - ($$0941$lcssa))|0; - $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; - while(1) { - $947 = ((($$29461822)) + 1|0); - $948 = HEAP8[$$29461822>>0]|0; - $949 = $948&255; - $950 = (($949) + ($$29401824))|0; - $951 = (($950) + ($$21825))|0; - $952 = (($$19421823) + 1)|0; - $exitcond = ($952|0)==($$01834|0); - if ($exitcond) { - break; - } else { - $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; - } - } - $scevgep1948 = (($$1945$lcssa) + ($903)|0); - $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; - } else { - $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; - } - $953 = (($$2940$lcssa>>>0) % 65521)&-1; - $954 = (($$2$lcssa>>>0) % 65521)&-1; - $955 = (($$09431831) - ($$01834))|0; - $956 = ($955|0)==(0); - if ($956) { - $$0937$lcssa = $954;$$0938$lcssa = $953; - break; - } else { - $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; - } - } - } - $957 = $$0937$lcssa << 16; - $958 = $957 | $$0938$lcssa; - HEAP32[$892>>2] = $958; - $959 = ($$1961|0)!=(0); - $960 = $6 & 1; - $961 = ($960|0)==(0); - $or$cond1752 = $961 | $959; - if ($or$cond1752) { - $$0951 = $$1961; - STACKTOP = sp;return ($$0951|0); - } else { - $962 = ((($0)) + 16|0); - $963 = HEAP32[$962>>2]|0; - $964 = ($958|0)==($963|0); - $$1961$ = $964 ? $$1961 : -2; - STACKTOP = sp;return ($$1961$|0); - } - return (0)|0; -} -function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); - $5 = sp + 11000|0; - $6 = sp; - $7 = sp + 8|0; - HEAP32[$5>>2] = $1; - HEAP32[$6>>2] = $3; - HEAP32[$7>>2] = 0; - $8 = $4 & -7; - $9 = $8 | 4; - $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); - $11 = ($10|0)!=(0); - $12 = HEAP32[$5>>2]|0; - $13 = $11 ? -1 : $12; - STACKTOP = sp;return ($13|0); -} -function _LoadResource($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$05664 = 0, $$05763 = 0, $$065 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0; - var $or$cond60 = 0, $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 64|0; - $3 = sp + 32|0; - $4 = (_fopen($0,5543)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(1,4468,$vararg_buffer); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - (_fread($2,1,1,$4)|0); - $6 = ((($2)) + 1|0); - (_fread($6,1,1,$4)|0); - $7 = ((($2)) + 2|0); - (_fread($7,1,1,$4)|0); - $8 = ((($2)) + 3|0); - (_fread($8,1,1,$4)|0); - $9 = ((($2)) + 4|0); - (_fread($9,2,1,$4)|0); - $10 = ((($2)) + 6|0); - (_fread($10,2,1,$4)|0); - $11 = HEAP8[$2>>0]|0; - $12 = ($11<<24>>24)==(114); - $13 = HEAP8[$6>>0]|0; - $14 = ($13<<24>>24)==(82); - $or$cond = $12 | $14; - $15 = HEAP8[$7>>0]|0; - $16 = ($15<<24>>24)==(69); - $or$cond60 = $or$cond | $16; - $17 = HEAP8[$8>>0]|0; - $18 = ($17<<24>>24)==(83); - $or$cond62 = $or$cond60 | $18; - if ($or$cond62) { - $19 = HEAP16[$10>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $$0$lcssa = 0; - } else { - $21 = ((($3)) + 7|0); - $22 = ((($3)) + 4|0); - $23 = ((($3)) + 16|0); - $24 = ((($3)) + 20|0); - $25 = ((($3)) + 24|0); - $26 = ((($3)) + 28|0); - $27 = ((($3)) + 8|0); - $28 = ((($3)) + 5|0); - $29 = ((($3)) + 12|0); - $30 = HEAP16[$10>>1]|0; - $31 = $30&65535; - $32 = ((($3)) + 8|0); - $$05664 = 0;$$065 = 0; - while(1) { - (_fread($3,32,1,$4)|0); - $36 = HEAP32[$3>>2]|0; - $37 = ($36|0)==($1|0); - if ($37) { - $38 = HEAP8[$21>>0]|0; - $39 = $38&255; - $40 = ($39*24)|0; - $41 = (_malloc($40)|0); - $42 = ($38<<24>>24)==(0); - if ($42) { - $$1 = $41; - } else { - $$05763 = 0; - while(1) { - $43 = HEAP8[$22>>0]|0; - $44 = $43&255; - $45 = (($41) + (($$05763*24)|0)|0); - HEAP32[$45>>2] = $44; - $46 = HEAP32[$23>>2]|0; - $47 = (((($41) + (($$05763*24)|0)|0)) + 4|0); - HEAP32[$47>>2] = $46; - $48 = HEAP32[$24>>2]|0; - $49 = (((($41) + (($$05763*24)|0)|0)) + 8|0); - HEAP32[$49>>2] = $48; - $50 = HEAP32[$25>>2]|0; - $51 = (((($41) + (($$05763*24)|0)|0)) + 12|0); - HEAP32[$51>>2] = $50; - $52 = HEAP32[$26>>2]|0; - $53 = (((($41) + (($$05763*24)|0)|0)) + 16|0); - HEAP32[$53>>2] = $52; - $54 = HEAP32[$27>>2]|0; - $55 = (_malloc($54)|0); - (_fread($55,$54,1,$4)|0); - $56 = HEAP8[$28>>0]|0; - $57 = ($56<<24>>24)==(1); - if ($57) { - $58 = HEAP32[$27>>2]|0; - $59 = HEAP32[$29>>2]|0; - $60 = (_DecompressData($55,$58,$59)|0); - $61 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$61>>2] = $60; - _free($55); - } else { - $62 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$62>>2] = $55; - } - $63 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $66; - _TraceLog(0,4565,$vararg_buffer4); - } - (_fread($3,32,1,$4)|0); - $67 = (($$05763) + 1)|0; - $68 = HEAP8[$21>>0]|0; - $69 = $68&255; - $70 = ($67|0)<($69|0); - if ($70) { - $$05763 = $67; - } else { - $$1 = $41; - break; - } - } - } - } else { - $71 = HEAP32[$32>>2]|0; - (_fseek($4,$71,1)|0); - $$1 = $$065; - } - $72 = (($$05664) + 1)|0; - $73 = ($72|0)<($31|0); - if ($73) { - $$05664 = $72;$$065 = $$1; - } else { - $$0$lcssa = $$1; - break; - } - } - } - $33 = ((($$0$lcssa)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$vararg_buffer8>>2] = $0; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(1,4611,$vararg_buffer8); - $$2 = $$0$lcssa; - } else { - $$2 = $$0$lcssa; - } - } else { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(1,4519,$vararg_buffer1); - $$2 = 0; - } - (_fclose($4)|0); - $$3 = $$2; - STACKTOP = sp;return ($$3|0); -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[17944>>0]=HEAP8[4916>>0]|0;HEAP8[17944+1>>0]=HEAP8[4916+1>>0]|0;HEAP8[17944+2>>0]=HEAP8[4916+2>>0]|0;HEAP8[17944+3>>0]=HEAP8[4916+3>>0]|0;HEAP8[17944+4>>0]=HEAP8[4916+4>>0]|0;HEAP8[17944+5>>0]=HEAP8[4916+5>>0]|0;HEAP8[17944+6>>0]=HEAP8[4916+6>>0]|0; - break; - } - case 2: { - $3 = 17944; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 1: { - dest=17944; src=4923; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 17944; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(17944,$1)|0); - $strlen = (_strlen(17944)|0); - $endptr = (17944 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(17944,$2)|0); - $12 = ($0|0)==(2); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _DecompressData($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = (_malloc($2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - _TraceLog(1,4661,$vararg_buffer); - STACKTOP = sp;return ($3|0); - } - $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); - $6 = ($5|0)==(-1); - if ($6) { - _TraceLog(1,4700,$vararg_buffer1); - _free($3); - } - $7 = ($5|0)==($2|0); - if (!($7)) { - _TraceLog(1,4726,$vararg_buffer3); - HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(1,4789,$vararg_buffer5); - HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(1,4824,$vararg_buffer7); - } - HEAP32[$vararg_buffer10>>2] = $1; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,4859,$vararg_buffer10); - STACKTOP = sp;return ($3|0); -} -function _UnloadResource($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - _free($2); - return; -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(18872)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (80 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18848>>2]=HEAP32[$1>>2]|0;HEAP32[18848+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18848+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18848+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18848+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(18872)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(18876)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(18868)>>2] = $23; - $24 = HEAP32[4712]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4933,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(18852)>>2]|0; - $10 = HEAP32[(18872)>>2]|0; - $11 = HEAP32[(18876)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2128 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(18868)>>2] = $23; - $24 = HEAP32[4712]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4933,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(9); - $6 = ($1|0)<(9); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(1,5330,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $10; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(3,4978,$vararg_buffer); - HEAP32[$0>>2] = $11; - $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; - $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; - $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; - STACKTOP = sp;return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } - _free($1); - return; -} -function _rlLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[4720]|0; - $7 = ($6|0)==(0); - $$off = (($3) + -9)|0; - $8 = ($$off>>>0)<(4); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(1,5028,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[4721]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(13); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(1,5072,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[4722]|0; - $13 = ($12|0)==(0); - $14 = $3 | 1; - $15 = ($14|0)==(15); - $or$cond97 = $15 & $13; - if ($or$cond97) { - _TraceLog(1,5117,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $16 = HEAP32[4723]|0; - $17 = ($16|0)==(0); - $18 = ($14|0)==(17); - $or$cond99 = $18 & $17; - if ($or$cond99) { - _TraceLog(1,5162,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $19 = HEAP32[4724]|0; - $20 = ($19|0)==(0); - $21 = ($14|0)==(19); - $or$cond101 = $21 & $20; - if ($or$cond101) { - _TraceLog(1,5207,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $22 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($22|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $23 = HEAP32[4725]|0; - $24 = ($23|0)==(0); - if (!($24)) { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); - } - break; - } - case 9: { - $25 = HEAP32[4720]|0; - $26 = ($25|0)==(0); - if (!($26)) { - _LoadTextureCompressed($0,$1,$2,33776,$4); - } - break; - } - case 10: { - $27 = HEAP32[4720]|0; - $28 = ($27|0)==(0); - if (!($28)) { - _LoadTextureCompressed($0,$1,$2,33777,$4); - } - break; - } - case 11: { - $29 = HEAP32[4720]|0; - $30 = ($29|0)==(0); - if (!($30)) { - _LoadTextureCompressed($0,$1,$2,33778,$4); - } - break; - } - case 12: { - $31 = HEAP32[4720]|0; - $32 = ($31|0)==(0); - if (!($32)) { - _LoadTextureCompressed($0,$1,$2,33779,$4); - } - break; - } - case 13: { - $33 = HEAP32[4721]|0; - $34 = ($33|0)==(0); - if (!($34)) { - _LoadTextureCompressed($0,$1,$2,36196,$4); - } - break; - } - case 14: { - $35 = HEAP32[4722]|0; - $36 = ($35|0)==(0); - if (!($36)) { - _LoadTextureCompressed($0,$1,$2,37492,$4); - } - break; - } - case 15: { - $37 = HEAP32[4722]|0; - $38 = ($37|0)==(0); - if (!($38)) { - _LoadTextureCompressed($0,$1,$2,37496,$4); - } - break; - } - case 16: { - $39 = HEAP32[4723]|0; - $40 = ($39|0)==(0); - if (!($40)) { - _LoadTextureCompressed($0,$1,$2,35840,$4); - } - break; - } - case 17: { - $41 = HEAP32[4723]|0; - $42 = ($41|0)==(0); - if (!($42)) { - _LoadTextureCompressed($0,$1,$2,35842,$4); - } - break; - } - case 18: { - $43 = HEAP32[4724]|0; - $44 = ($43|0)==(0); - if (!($44)) { - _LoadTextureCompressed($0,$1,$2,37808,$4); - } - break; - } - case 19: { - $45 = HEAP32[4724]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _LoadTextureCompressed($0,$1,$2,37815,$4); - } - break; - } - default: { - _TraceLog(1,5252,$vararg_buffer9); - } - } - } while(0); - $47 = HEAP32[4726]|0; - $48 = ($47|0)==(0); - if ($48) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $49 = HEAP32[$5>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(1,7784,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $49; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5281,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadTextureCompressed($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($3|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($4|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($3|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($4|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(1,5384,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18848>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18848+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18848+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18848+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18848+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(18876)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,5430,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18848>>2]|0;HEAP32[$0+4>>2]=HEAP32[18848+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18848+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18848+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18848+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18848+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18848+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18848+28>>2]|0; - return; -} -function _IsFileExtension($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strrchr($0,46)|0); - $3 = ($2|0)==(0|0); - if ($3) { - return 0; - } else { - $4 = (_strcmp($2,$1)|0); - $5 = ($4|0)==(0); - $$ = $5&1; - return ($$|0); - } - return (0)|0; -} -function _LoadImagePro($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy = sp + 20|0; - $5 = sp; - HEAP32[$5>>2] = $1; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $2; - $7 = ((($5)) + 8|0); - HEAP32[$7>>2] = $3; - $8 = ((($5)) + 12|0); - HEAP32[$8>>2] = 1; - $9 = ((($5)) + 16|0); - HEAP32[$9>>2] = $4; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; - _ImageCopy($0,$$byval_copy); - STACKTOP = sp;return; -} -function _LoadImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $$byval_copy = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer7 = sp + 16|0; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - $6 = (_IsFileExtension($1,5480)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - $19 = (_IsFileExtension($1,5533)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_IsFileExtension($1,5538)|0); - $22 = ($21|0)==(0); - if ($22) { - $36 = (_IsFileExtension($1,5546)|0); - $37 = ($36|0)==(0); - if ($37) { - $46 = (_IsFileExtension($1,5618)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[$vararg_buffer4>>2] = $1; - _TraceLog(1,5623,$vararg_buffer4); - break; - } else { - _LoadDDS($2,$1); - break; - } - } - HEAP32[$3>>2] = 0; - $38 = (_fopen($1,5543)|0); - _stbi_set_flip_vertically_on_load(1); - $39 = ((($2)) + 4|0); - $40 = ((($2)) + 8|0); - $41 = (_stbi_loadf_from_file($38,$39,$40,$3,0)|0); - HEAP32[$2>>2] = $41; - _stbi_set_flip_vertically_on_load(0); - (_fclose($38)|0); - $42 = ((($2)) + 12|0); - HEAP32[$42>>2] = 1; - $43 = HEAP32[$3>>2]|0; - $44 = ($43|0)==(3); - if ($44) { - $45 = ((($2)) + 16|0); - HEAP32[$45>>2] = 8; - } else { - HEAP32[$$byval_copy>>2] = $1; - _TraceLog(1,5551,$$byval_copy); - ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; - _UnloadImage($$byval_copy); - } - break; - } - } - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$5>>2] = 0; - $23 = (_fopen($1,5543)|0); - $24 = ($23|0)==(0|0); - L17: do { - if (!($24)) { - $25 = (_stbi_load_from_file($23,$3,$4,$5,0)|0); - HEAP32[$2>>2] = $25; - (_fclose($23)|0); - $26 = HEAP32[$3>>2]|0; - $27 = ((($2)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$4>>2]|0; - $29 = ((($2)) + 8|0); - HEAP32[$29>>2] = $28; - $30 = ((($2)) + 12|0); - HEAP32[$30>>2] = 1; - $31 = HEAP32[$5>>2]|0; - switch ($31|0) { - case 1: { - $32 = ((($2)) + 16|0); - HEAP32[$32>>2] = 1; - break L17; - break; - } - case 2: { - $33 = ((($2)) + 16|0); - HEAP32[$33>>2] = 2; - break L17; - break; - } - case 3: { - $34 = ((($2)) + 16|0); - HEAP32[$34>>2] = 4; - break L17; - break; - } - case 4: { - $35 = ((($2)) + 16|0); - HEAP32[$35>>2] = 7; - break L17; - break; - } - default: { - break L17; - } - } - } - } while(0); - } else { - $8 = (_LoadResource($1,0)|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(1); - if ($10) { - $11 = ((($8)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($8)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($8)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($8)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _LoadImagePro($2,$12,$14,$16,$18); - } else { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5486,$vararg_buffer); - } - _UnloadResource($8); - } - } while(0); - $48 = HEAP32[$2>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - HEAP32[$vararg_buffer12>>2] = $1; - _TraceLog(1,5698,$vararg_buffer12); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - $50 = ((($2)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($2)) + 8|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $51; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $53; - _TraceLog(0,5659,$vararg_buffer7); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _stbi_load_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return ($6|0); - } - $8 = ((($5)) + 172|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($5)) + 168|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) - ($9))|0; - (_fseek($0,$12,1)|0); - STACKTOP = sp;return ($6|0); -} -function _stbi_set_flip_vertically_on_load($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4730] = $0; - return; -} -function _stbi_loadf_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__loadf_main($5,$1,$2,$3,$4)|0); - STACKTOP = sp;return ($6|0); -} -function _LoadDDS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$0101111 = 0, $$0102114 = 0, $$0103112 = 0, $$sink = 0, $$sink2 = 0, $$sroa$0$0 = 0, $$sroa$0$1 = 0, $$sroa$0$2 = 0, $$sroa$0$3 = 0, $$sroa$28$0 = 0, $$sroa$28$0$$sroa_idx61 = 0, $$sroa$28$1 = 0, $$sroa$42$0 = 0, $$sroa$42$0$$sroa_idx75 = 0, $$sroa$42$1 = 0, $$sroa$56$0 = 0, $$sroa$56$0$$sroa_idx89 = 0, $$sroa$56$1 = 0, $$sroa$57$0 = 0; - var $$sroa$57$0$$sroa_idx91 = 0, $$sroa$57$2 = 0, $$sroa$57$3 = 0, $$sroa$57$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $exitcond = 0, $exitcond117 = 0, $or$cond = 0, $or$cond106 = 0, $or$cond108 = 0, $switch = 0, $switch$split282D = 0, $switch$split2D = 0, $switch$split312D = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $vararg_buffer24 = sp + 56|0; - $vararg_buffer20 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 184|0; - $3 = sp + 60|0; - $4 = (_fopen($1,5543)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5729,$vararg_buffer); - $$sroa$0$3 = 0;$$sroa$28$1 = 0;$$sroa$42$1 = 0;$$sroa$56$1 = 0;$$sroa$57$4 = 0; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; - } - (_fread($2,4,1,$4)|0); - $6 = (_strncmp($2,5763,4)|0); - $7 = ($6|0)==(0); - if ($7) { - (_fread($3,124,1,$4)|0); - HEAP32[$vararg_buffer4>>2] = $1; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,5816,$vararg_buffer4); - $8 = ((($3)) + 72|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $9; - _TraceLog(3,5846,$vararg_buffer8); - $10 = ((($3)) + 76|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer12>>2] = $1; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $11; - _TraceLog(3,5882,$vararg_buffer12); - $12 = ((($3)) + 80|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer16>>2] = $1; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $13; - _TraceLog(3,5921,$vararg_buffer16); - $14 = ((($3)) + 84|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$vararg_buffer20>>2] = $1; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $15; - _TraceLog(3,5948,$vararg_buffer20); - $16 = ((($3)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($3)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $$sink = $22 ? 1 : $21; - $23 = HEAP32[$14>>2]|0; - $24 = ($23|0)==(16); - L7: do { - if ($24) { - $25 = HEAP32[$10>>2]|0; - switch ($25|0) { - case 64: { - $26 = $17 << 1; - $27 = Math_imul($26, $19)|0; - $28 = (_malloc($27)|0); - (_fread($28,$27,1,$4)|0); - $$sroa$0$0 = $28;$$sroa$57$0 = 3; - break L7; - break; - } - case 65: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $29 = ((($3)) + 100|0); - $30 = HEAP32[$29>>2]|0; - $switch$split2D = ($30|0)<(61440); - if ($switch$split2D) { - switch ($30|0) { - case 32768: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $31 = Math_imul($19, $17)|0; - $32 = $31 << 1; - $33 = (_malloc($32)|0); - (_fread($33,$32,1,$4)|0); - $34 = ($31|0)>(0); - if ($34) { - $$0103112 = 0; - } else { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } - while(1) { - $35 = (($33) + ($$0103112<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = ($36&65535) >>> 15; - $39 = $38&65535; - $40 = $37 << 1; - $41 = $40 | $39; - $42 = $41&65535; - HEAP16[$35>>1] = $42; - $43 = (($$0103112) + 1)|0; - $exitcond = ($43|0)==($31|0); - if ($exitcond) { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } else { - $$0103112 = $43; - } - } - } else { - switch ($30|0) { - case 61440: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $44 = Math_imul($19, $17)|0; - $45 = $44 << 1; - $46 = (_malloc($45)|0); - (_fread($46,$45,1,$4)|0); - $47 = ($44|0)>(0); - if ($47) { - $$0102114 = 0; - } else { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } - while(1) { - $48 = (($46) + ($$0102114<<1)|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = ($49&65535) >>> 12; - $52 = $51&65535; - $53 = $50 << 4; - $54 = $53 | $52; - $55 = $54&65535; - HEAP16[$48>>1] = $55; - $56 = (($$0102114) + 1)|0; - $exitcond117 = ($56|0)==($44|0); - if ($exitcond117) { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } else { - $$0102114 = $56; - } - } - } - } else { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - } - } while(0); - $57 = HEAP32[$10>>2]|0; - $58 = ($57|0)==(64); - $59 = HEAP32[$14>>2]|0; - $60 = ($59|0)==(24); - $or$cond = $58 & $60; - L22: do { - if ($or$cond) { - $61 = ($17*3)|0; - $62 = Math_imul($61, $19)|0; - $63 = (_malloc($62)|0); - (_fread($63,$62,1,$4)|0); - $$sroa$0$1 = $63;$$sroa$57$2 = 4; - } else { - $64 = ($57|0)==(65); - $65 = ($59|0)==(32); - $or$cond106 = $64 & $65; - if ($or$cond106) { - $66 = $17 << 2; - $67 = Math_imul($66, $19)|0; - $68 = (_malloc($67)|0); - (_fread($68,$67,1,$4)|0); - $69 = ($67|0)>(0); - if ($69) { - $$0101111 = 0; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break; - } - while(1) { - $70 = (($68) + ($$0101111)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $$0101111 | 2; - $73 = (($68) + ($72)|0); - $74 = HEAP8[$73>>0]|0; - HEAP8[$70>>0] = $74; - HEAP8[$73>>0] = $71; - $75 = (($$0101111) + 4)|0; - $76 = ($75|0)<($67|0); - if ($76) { - $$0101111 = $75; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break L22; - } - } - } - $77 = $57 & -2; - $switch = ($77|0)!=(4); - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)==(0); - $or$cond108 = $switch | $79; - if ($or$cond108) { - $$sroa$0$1 = $$sroa$0$0;$$sroa$57$2 = $$sroa$57$0; - } else { - $80 = HEAP32[$20>>2]|0; - $81 = ($80>>>0)>(1); - $82 = ((($3)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81&1; - $$0 = $83 << $84; - HEAP32[$vararg_buffer24>>2] = $83; - _TraceLog(3,5978,$vararg_buffer24); - $85 = (_malloc($$0)|0); - (_fread($85,$$0,1,$4)|0); - $86 = HEAP32[$12>>2]|0; - $switch$split282D = ($86|0)<(861165636); - if ($switch$split282D) { - switch ($86|0) { - case 827611204: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $87 = HEAP32[$10>>2]|0; - $88 = ($87|0)==(4); - $$sink2 = $88 ? 9 : 10; - $$sroa$0$1 = $85;$$sroa$57$2 = $$sink2; - break; - } - $switch$split312D = ($86|0)<(894720068); - if ($switch$split312D) { - switch ($86|0) { - case 861165636: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 11; - break; - } else { - switch ($86|0) { - case 894720068: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 12; - break; - } - } - } - } while(0); - $$sroa$0$2 = $$sroa$0$1;$$sroa$28$0 = $17;$$sroa$42$0 = $19;$$sroa$56$0 = $$sink;$$sroa$57$3 = $$sroa$57$2; - } else { - HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(1,5768,$vararg_buffer1); - $$sroa$0$2 = 0;$$sroa$28$0 = 0;$$sroa$42$0 = 0;$$sroa$56$0 = 0;$$sroa$57$3 = 0; - } - (_fclose($4)|0); - $$sroa$0$3 = $$sroa$0$2;$$sroa$28$1 = $$sroa$28$0;$$sroa$42$1 = $$sroa$42$0;$$sroa$56$1 = $$sroa$56$0;$$sroa$57$4 = $$sroa$57$3; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; -} -function _stbi__start_file($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($0,3656,$1); - return; -} -function _stbi__loadf_main($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__hdr_test($0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - _stbi__float_postprocess($7,$1,$2,$3,$4); - $$0 = $7; - return ($$0|0); - } - $9 = (_stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4)|0); - $10 = ($9|0)==(0|0); - if ($10) { - _stbi__err(6003); - $$0 = 0; - return ($$0|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ($4|0)==(0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = $14; - } else { - $15 = $4; - } - $16 = (_stbi__ldr_to_hdr($9,$11,$12,$15)|0); - $$0 = $16; - return ($$0|0); -} -function _stbi__hdr_test($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__hdr_test_core($0,7611)|0); - _stbi__rewind($0); - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = $1; - return ($$0|0); - } - $3 = (_stbi__hdr_test_core($0,7623)|0); - _stbi__rewind($0); - $$0 = $3; - return ($$0|0); -} -function _stbi__hdr_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$0142 = 0, $$014033 = 0, $$014253 = 0, $$014344 = 0, $$014538 = 0, $$0146 = 0, $$0150 = 0, $$114131 = 0, $$1144 = 0, $$1147 = 0, $$1151 = 0, $$2148 = 0, $$2152$be = 0, $$215236 = 0, $$3 = 0, $$314943 = 0, $$315332 = 0, $$430 = 0, $$540 = 0; - var $$lcssa29 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond87 = 0, $exitcond88 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 4|0; - $8 = sp + 8|0; - $9 = (_stbi__hdr_gettoken($0,$5)|0); - $10 = (_strcmp($9,7471)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $12 = (_strcmp($9,7482)|0); - $13 = ($12|0)==(0); - if (!($13)) { - _stbi__err(7489); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - } - $14 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $14; - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - $$014253 = 0;$17 = $5; - while(1) { - $18 = (_strcmp($17,7497)|0); - $19 = ($18|0)==(0); - $$$0142 = $19 ? 1 : $$014253; - $20 = (_stbi__hdr_gettoken($0,$5)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$014253 = $$$0142;$17 = $5; - } - } - HEAP32[$6>>2] = $20; - $23 = ($$$0142|0)==(0); - if (!($23)) { - $24 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $24; - $25 = (_strncmp($24,7539,3)|0); - $26 = ($25|0)==(0); - if (!($26)) { - _stbi__err(7543); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $27 = ((($5)) + 3|0); - HEAP32[$6>>2] = $27; - $28 = (_strtol($27,$6,10)|0); - $29 = HEAP32[$6>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(32); - if ($31) { - $33 = $29; - while(1) { - $32 = ((($33)) + 1|0); - $34 = HEAP8[$32>>0]|0; - $35 = ($34<<24>>24)==(32); - if ($35) { - $33 = $32; - } else { - break; - } - } - HEAP32[$6>>2] = $32; - $$lcssa29 = $32; - } else { - $$lcssa29 = $29; - } - $36 = (_strncmp($$lcssa29,7567,3)|0); - $37 = ($36|0)==(0); - if (!($37)) { - _stbi__err(7543); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $38 = ((($$lcssa29)) + 3|0); - HEAP32[$6>>2] = $38; - $39 = (_strtol($38,0,10)|0); - HEAP32[$1>>2] = $39; - HEAP32[$2>>2] = $28; - $40 = ($3|0)==(0|0); - if (!($40)) { - HEAP32[$3>>2] = 3; - } - $41 = ($4|0)==(0); - $$ = $41 ? 3 : $4; - $42 = (_stbi__mad4sizes_valid($39,$28,$$)|0); - $43 = ($42|0)==(0); - if ($43) { - _stbi__err(6229); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $44 = (_stbi__malloc_mad4($39,$28,$$)|0); - $45 = ($44|0)==(0|0); - if ($45) { - _stbi__err(6022); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $$off = (($39) + -8)|0; - $46 = ($$off>>>0)>(32759); - do { - if ($46) { - $$0146 = 0; - label = 23; - } else { - $47 = ($28|0)>(0); - if ($47) { - $$014344 = 0;$$314943 = 0; - } else { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - L39: while(1) { - $57 = (_stbi__get8($0)|0); - $58 = (_stbi__get8($0)|0); - $59 = (_stbi__get8($0)|0); - $60 = $59&255; - $notlhs = ($57<<24>>24)==(2); - $notrhs = ($58<<24>>24)==(2); - $or$cond3$not = $notlhs & $notrhs; - $61 = $60 & 128; - $62 = ($61|0)==(0); - $or$cond = $or$cond3$not & $62; - if (!($or$cond)) { - label = 28; - break; - } - $67 = $60 << 8; - $68 = (_stbi__get8($0)|0); - $69 = $68&255; - $70 = $69 | $67; - $71 = ($70|0)==($39|0); - if (!($71)) { - label = 30; - break; - } - $72 = ($$014344|0)==(0|0); - if ($72) { - $73 = (_stbi__malloc_mad2($39,4)|0); - $74 = ($73|0)==(0|0); - if ($74) { - label = 33; - break; - } else { - $$1144 = $73; - } - } else { - $$1144 = $$014344; - } - $$014538 = 0; - while(1) { - $$215236 = 0;$87 = $39; - while(1) { - $82 = (_stbi__get8($0)|0); - $79 = $82&255; - $83 = ($82&255)>(128); - do { - if ($83) { - $84 = (_stbi__get8($0)|0); - $85 = (($79) + 128)|0; - $77 = $85 & 255; - $86 = ($77|0)>($87|0); - if ($86) { - label = 43; - break L39; - } - $88 = ($77|0)==(0); - if ($88) { - $$2152$be = $$215236; - break; - } else { - $$014033 = 0;$$315332 = $$215236; - } - while(1) { - $89 = (($$315332) + 1)|0; - $90 = $$315332 << 2; - $91 = (($90) + ($$014538))|0; - $92 = (($$1144) + ($91)|0); - HEAP8[$92>>0] = $84; - $93 = (($$014033) + 1)|0; - $exitcond87 = ($93|0)==($77|0); - if ($exitcond87) { - break; - } else { - $$014033 = $93;$$315332 = $89; - } - } - $76 = (($$215236) + ($77))|0; - $$2152$be = $76; - } else { - $94 = ($79|0)>($87|0); - if ($94) { - label = 47; - break L39; - } - $95 = ($82<<24>>24)==(0); - if ($95) { - $$2152$be = $$215236; - break; - } else { - $$114131 = 0;$$430 = $$215236; - } - while(1) { - $96 = (_stbi__get8($0)|0); - $97 = (($$430) + 1)|0; - $98 = $$430 << 2; - $99 = (($98) + ($$014538))|0; - $100 = (($$1144) + ($99)|0); - HEAP8[$100>>0] = $96; - $101 = (($$114131) + 1)|0; - $exitcond = ($101|0)==($79|0); - if ($exitcond) { - break; - } else { - $$114131 = $101;$$430 = $97; - } - } - $78 = (($$215236) + ($79))|0; - $$2152$be = $78; - } - } while(0); - $80 = (($39) - ($$2152$be))|0; - $81 = ($80|0)>(0); - if ($81) { - $$215236 = $$2152$be;$87 = $80; - } else { - break; - } - } - $102 = (($$014538) + 1)|0; - $103 = ($102|0)<(4); - if ($103) { - $$014538 = $102; - } else { - break; - } - } - $75 = Math_imul($$314943, $39)|0; - $$540 = 0; - while(1) { - $104 = (($$540) + ($75))|0; - $105 = Math_imul($104, $$)|0; - $106 = (($44) + ($105<<2)|0); - $107 = $$540 << 2; - $108 = (($$1144) + ($107)|0); - _stbi__hdr_convert($106,$108,$$); - $109 = (($$540) + 1)|0; - $exitcond88 = ($109|0)==($39|0); - if ($exitcond88) { - break; - } else { - $$540 = $109; - } - } - $110 = (($$314943) + 1)|0; - $111 = ($110|0)<($28|0); - if ($111) { - $$014344 = $$1144;$$314943 = $110; - } else { - label = 52; - break; - } - } - if ((label|0) == 28) { - HEAP8[$8>>0] = $57; - $63 = ((($8)) + 1|0); - HEAP8[$63>>0] = $58; - $64 = ((($8)) + 2|0); - HEAP8[$64>>0] = $59; - $65 = (_stbi__get8($0)|0); - $66 = ((($8)) + 3|0); - HEAP8[$66>>0] = $65; - _stbi__hdr_convert($44,$8,$$); - _free($$014344); - $$1151 = 1;$$2148 = 0; - label = 25; - break; - } - else if ((label|0) == 30) { - _free($44); - _free($$014344); - _stbi__err(7571); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 33) { - _free($44); - _stbi__err(6022); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 43) { - _free($44); - _free($$1144); - _stbi__err(7603); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 47) { - _free($44); - _free($$1144); - _stbi__err(7603); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 52) { - $112 = ($$1144|0)==(0|0); - if ($112) { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - _free($$1144); - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - } - } while(0); - while(1) { - if ((label|0) == 23) { - label = 0; - $48 = ($$0146|0)<($28|0); - if ($48) { - $$0150 = 0;$$1147 = $$0146; - } else { - $$3 = $44; - break; - } - } - else if ((label|0) == 25) { - label = 0; - (_stbi__getn($0,$7,4)|0); - $50 = Math_imul($39, $$)|0; - $51 = Math_imul($50, $$2148)|0; - $52 = (($44) + ($51<<2)|0); - $53 = Math_imul($$1151, $$)|0; - $54 = (($52) + ($53<<2)|0); - _stbi__hdr_convert($54,$7,$$); - $55 = (($$1151) + 1)|0; - $$0150 = $55;$$1147 = $$2148; - } - $49 = ($$0150|0)<($39|0); - if ($49) { - $$1151 = $$0150;$$2148 = $$1147; - label = 25; - continue; - } - $56 = (($$1147) + 1)|0; - $$0146 = $56; - label = 23; - } - STACKTOP = sp;return ($$3|0); - } - } - _stbi__err(7520); - $$3 = 0; - STACKTOP = sp;return ($$3|0); -} -function _stbi__float_postprocess($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[4730]|0; - $6 = ($5|0)!=(0); - $7 = ($0|0)!=(0|0); - $or$cond = $7 & $6; - if (!($or$cond)) { - return; - } - $8 = ($4|0)==(0); - if ($8) { - $9 = HEAP32[$3>>2]|0; - $13 = $9; - } else { - $13 = $4; - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = $13 << 2; - _stbi__vertical_flip($0,$10,$11,$12); - return; -} -function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$023 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $5 = sp; - $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = HEAP32[$5>>2]|0; - switch ($8|0) { - case 8: { - $$023 = $6; - break; - } - case 16: { - label = 4; - break; - } - default: { - ___assert_fail((6031|0),(6057|0),1066,(6080|0)); - // unreachable; - } - } - if ((label|0) == 4) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($4|0)==(0); - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = $12; - } else { - $13 = $4; - } - $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); - HEAP32[$5>>2] = 8; - $$023 = $14; - } - $15 = HEAP32[4730]|0; - $16 = ($15|0)==(0); - if ($16) { - $$0 = $$023; - STACKTOP = sp;return ($$0|0); - } - $17 = ($4|0)==(0); - if ($17) { - $18 = HEAP32[$3>>2]|0; - $21 = $18; - } else { - $21 = $4; - } - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - _stbi__vertical_flip($$023,$19,$20,$21); - $$0 = $$023; - STACKTOP = sp;return ($$0|0); -} -function _stbi__ldr_to_hdr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$042 = 0, $$043$lcssa = 0, $$04345 = 0, $$04446 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond48 = 0, $sext = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__malloc_mad4($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(6022); - $$0 = 0; - return ($$0|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$042 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$042|0)>(0); - $11 = +HEAPF32[756]; - $12 = $11; - $13 = +HEAPF32[757]; - $14 = $13; - $$04446 = 0; - while(1) { - if ($10) { - $15 = Math_imul($$04446, $3)|0; - $$04345 = 0; - while(1) { - $16 = (($$04345) + ($15))|0; - $17 = (($0) + ($16)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 / 255.0; - $21 = $20; - $22 = (+Math_pow((+$21),(+$12))); - $23 = $22 * $14; - $24 = $23; - $25 = (($5) + ($16<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (($$04345) + 1)|0; - $exitcond = ($26|0)==($$042|0); - if ($exitcond) { - $$043$lcssa = $$042; - break; - } else { - $$04345 = $26; - } - } - } else { - $$043$lcssa = 0; - } - $27 = ($$043$lcssa|0)<($3|0); - $28 = Math_imul($$04446, $3)|0; - $29 = (($$043$lcssa) + ($28))|0; - if ($27) { - $30 = (($5) + ($29<<2)|0); - $31 = (($0) + ($29)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $33 / 255.0; - HEAPF32[$30>>2] = $34; - } - $35 = (($$04446) + 1)|0; - $exitcond48 = ($35|0)==($8|0); - if ($exitcond48) { - break; - } else { - $$04446 = $35; - } - } - } - _free($0); - $$0 = $5; - return ($$0|0); -} -function _stbi__err($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4729] = $0; - return; -} -function _stbi__malloc_mad4($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad4sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = $0 << 2; - $6 = Math_imul($5, $1)|0; - $7 = Math_imul($6, $2)|0; - $8 = (_stbi__malloc($7)|0); - $$0 = $8; - return ($$0|0); -} -function _stbi__mad4sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $15 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $15 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__mul2sizes_valid($8,4)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = $8 << 2; - $12 = (_stbi__addsizes_valid($11)|0); - $13 = ($12|0)!=(0); - $15 = $13; - } - } - } - $14 = $15&1; - return ($14|0); -} -function _stbi__malloc($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_malloc($0)|0); - return ($1|0); -} -function _stbi__mul2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 | $0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - } else { - $4 = ($1|0)==(0); - if ($4) { - $$0 = 1; - } else { - $5 = (2147483647 / ($1|0))&-1; - $6 = ($5|0)>=($0|0); - $7 = $6&1; - $$0 = $7; - } - } - return ($$0|0); -} -function _stbi__addsizes_valid($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 1; -} -function _stbi__load_main($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[$5>>2] = 8; - $6 = ((($5)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = ((($5)) + 4|0); - HEAP32[$7>>2] = 0; - $8 = (_stbi__png_test($0)|0); - $9 = ($8|0)==(0); - if (!($9)) { - $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); - $$0 = $10; - return ($$0|0); - } - $11 = (_stbi__hdr_test($0)|0); - $12 = ($11|0)==(0); - if ($12) { - _stbi__err(6003); - $$0 = 0; - return ($$0|0); - } - $13 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ($4|0)==(0); - if ($16) { - $17 = HEAP32[$3>>2]|0; - $18 = $17; - } else { - $18 = $4; - } - $19 = (_stbi__hdr_to_ldr($13,$14,$15,$18)|0); - $$0 = $19; - return ($$0|0); -} -function _stbi__convert_16_to_8($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = Math_imul($4, $3)|0; - $6 = (_stbi__malloc($5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - _stbi__err(6022); - $$0 = 0; - return ($$0|0); - } - $8 = ($5|0)>(0); - if ($8) { - $$01819 = 0; - while(1) { - $9 = (($0) + ($$01819<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10&65535) >>> 8; - $12 = $11&255; - $13 = (($6) + ($$01819)|0); - HEAP8[$13>>0] = $12; - $14 = (($$01819) + 1)|0; - $exitcond = ($14|0)==($5|0); - if ($exitcond) { - break; - } else { - $$01819 = $14; - } - } - } - _free($0); - $$0 = $6; - return ($$0|0); -} -function _stbi__vertical_flip($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$04553 = 0, $$04652 = 0, $$04751 = 0, $$054 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2048|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2048|0); - $4 = sp; - $5 = Math_imul($3, $1)|0; - $6 = $2 >> 1; - $7 = ($6|0)>(0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = (($2) + -1)|0; - $9 = ($5|0)==(0); - $$054 = 0; - while(1) { - if (!($9)) { - $10 = (($8) - ($$054))|0; - $11 = Math_imul($10, $5)|0; - $12 = (($0) + ($11)|0); - $13 = Math_imul($$054, $5)|0; - $14 = (($0) + ($13)|0); - $$04553 = $5;$$04652 = $12;$$04751 = $14; - while(1) { - $15 = ($$04553>>>0)<(2048); - $16 = $15 ? $$04553 : 2048; - _memcpy(($4|0),($$04751|0),($16|0))|0; - _memcpy(($$04751|0),($$04652|0),($16|0))|0; - _memcpy(($$04652|0),($4|0),($16|0))|0; - $17 = (($$04751) + ($16)|0); - $18 = (($$04652) + ($16)|0); - $19 = (($$04553) - ($16))|0; - $20 = ($19|0)==(0); - if ($20) { - break; - } else { - $$04553 = $19;$$04652 = $18;$$04751 = $17; - } - } - } - $21 = (($$054) + 1)|0; - $exitcond = ($21|0)==($6|0); - if ($exitcond) { - break; - } else { - $$054 = $21; - } - } - STACKTOP = sp;return; -} -function _stbi__png_test($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__check_png_header($0)|0); - _stbi__rewind($0); - return ($1|0); -} -function _stbi__png_load($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $6 = sp; - HEAP32[$6>>2] = $0; - $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); - STACKTOP = sp;return ($7|0); -} -function _stbi__hdr_to_ldr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0.0, $$052 = 0.0, $$054 = 0, $$055 = 0, $$056$lcssa = 0, $$05658 = 0, $$05759 = 0, $$1 = 0.0, $$153 = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0; - var $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond61 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$054 = 0; - return ($$054|0); - } - $5 = (_stbi__malloc_mad3($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(6022); - $$054 = 0; - return ($$054|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$055 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$055|0)>(0); - $11 = +HEAPF32[758]; - $12 = +HEAPF32[759]; - $13 = $12; - $$05759 = 0; - while(1) { - if ($10) { - $14 = Math_imul($$05759, $3)|0; - $$05658 = 0; - while(1) { - $15 = (($$05658) + ($14))|0; - $16 = (($0) + ($15<<2)|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 * $11; - $19 = $18; - $20 = (+Math_pow((+$19),(+$13))); - $21 = $20; - $22 = $21 * 255.0; - $23 = $22 + 0.5; - $24 = $23 < 0.0; - $$052 = $24 ? 0.0 : $23; - $25 = $$052 > 255.0; - $$153 = $25 ? 255.0 : $$052; - $26 = (~~(($$153))); - $27 = $26&255; - $28 = (($5) + ($15)|0); - HEAP8[$28>>0] = $27; - $29 = (($$05658) + 1)|0; - $exitcond = ($29|0)==($$055|0); - if ($exitcond) { - $$056$lcssa = $$055; - break; - } else { - $$05658 = $29; - } - } - } else { - $$056$lcssa = 0; - } - $30 = ($$056$lcssa|0)<($3|0); - if ($30) { - $31 = Math_imul($$05759, $3)|0; - $32 = (($$056$lcssa) + ($31))|0; - $33 = (($0) + ($32<<2)|0); - $34 = +HEAPF32[$33>>2]; - $35 = $34 * 255.0; - $36 = $35 + 0.5; - $37 = $36 < 0.0; - $$0 = $37 ? 0.0 : $36; - $38 = $$0 > 255.0; - $$1 = $38 ? 255.0 : $$0; - $39 = (~~(($$1))); - $40 = $39&255; - $41 = (($5) + ($32)|0); - HEAP8[$41>>0] = $40; - } - $42 = (($$05759) + 1)|0; - $exitcond61 = ($42|0)==($8|0); - if ($exitcond61) { - break; - } else { - $$05759 = $42; - } - } - } - _free($0); - $$054 = $5; - return ($$054|0); -} -function _stbi__malloc_mad3($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = Math_imul($1, $0)|0; - $6 = Math_imul($5, $2)|0; - $7 = (_stbi__malloc($6)|0); - $$0 = $7; - return ($$0|0); -} -function _stbi__mad3sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $12 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $12 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__addsizes_valid($8)|0); - $10 = ($9|0)!=(0); - $12 = $10; - } - } - $11 = $12&1; - return ($11|0); -} -function _stbi__do_png($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4>>>0)>(4); - if ($6) { - _stbi__err(6112); - $$045 = 0; - return ($$045|0); - } - $7 = (_stbi__parse_png_file($0,0,$4)|0); - $8 = ($7|0)==(0); - if ($8) { - $$2 = 0; - } else { - $9 = ((($0)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(8); - $$ = $11 ? $10 : 8; - HEAP32[$5>>2] = $$; - $12 = ((($0)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$12>>2] = 0; - $14 = ($4|0)==(0); - if ($14) { - $$1 = $13; - } else { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==($4|0); - if ($18) { - $$1 = $13; - } else { - $19 = HEAP32[$5>>2]|0; - $20 = ($19|0)==(8); - $21 = ((($15)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$15>>2]|0; - if ($20) { - $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); - $$0 = $24; - } else { - $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); - $$0 = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $4; - $28 = ($$0|0)==(0|0); - if ($28) { - $$045 = 0; - return ($$045|0); - } else { - $$1 = $$0; - } - } - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; - $31 = ((($29)) + 4|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$2>>2] = $32; - $33 = ($3|0)==(0|0); - if ($33) { - $$2 = $$1; - } else { - $34 = ((($29)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$3>>2] = $35; - $$2 = $$1; - } - } - $36 = ((($0)) + 12|0); - $37 = HEAP32[$36>>2]|0; - _free($37); - HEAP32[$36>>2] = 0; - $38 = ((($0)) + 8|0); - $39 = HEAP32[$38>>2]|0; - _free($39); - HEAP32[$38>>2] = 0; - $40 = ((($0)) + 4|0); - $41 = HEAP32[$40>>2]|0; - _free($41); - HEAP32[$40>>2] = 0; - $$045 = $$2; - return ($$045|0); -} -function _stbi__parse_png_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0219 = 0, $$0208 = 0, $$0213 = 0, $$0216 = 0, $$0219 = 0, $$0228595 = 0, $$0230 = 0, $$0233 = 0, $$0237 = 0, $$0241593 = 0, $$0243 = 0, $$0247 = 0, $$1209 = 0, $$1214 = 0, $$1217 = 0, $$1220 = 0, $$1229590 = 0, $$1231 = 0, $$1242591 = 0; - var $$1248 = 0, $$2221 = 0, $$2235 = 0, $$2239 = 0, $$2245 = 0, $$256 = 0, $$3211 = 0, $$3222 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; - var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; - var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; - var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; - var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond250 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $3 = sp + 32|0; - $4 = sp + 22|0; - $5 = sp + 16|0; - $6 = sp + 8|0; - $7 = sp; - $8 = HEAP32[$0>>2]|0; - $9 = ((($0)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($0)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = (_stbi__check_png_header($8)|0); - $13 = ($12|0)==(0); - if ($13) { - $$7 = 0; - STACKTOP = sp;return ($$7|0); - } - $14 = ($1|0)==(1); - if ($14) { - $$7 = 1; - STACKTOP = sp;return ($$7|0); - } - $15 = ((($6)) + 4|0); - $16 = ((($8)) + 4|0); - $17 = ((($0)) + 16|0); - $18 = ((($8)) + 8|0); - $19 = ($1|0)==(2); - $20 = ((($8)) + 8|0); - $21 = ((($8)) + 8|0); - $22 = ((($0)) + 16|0); - $23 = ($1|0)==(2); - $24 = ($1|0)==(2); - $$0208 = 0;$$0213 = 0;$$0216 = 0;$$0219 = 0;$$0230 = 0;$$0233 = 0;$$0237 = 0;$$0243 = 1;$$0247 = 0; - L7: while(1) { - _stbi__get_chunk_header($6,$8); - $25 = HEAP32[$15>>2]|0; - $switch$split2D = ($25|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split52D = ($25|0)<(1229209940); - if ($switch$split52D) { - switch ($25|0) { - case 1130840649: { - break; - } - default: { - label = 105; - break L9; - } - } - $26 = HEAP32[$6>>2]|0; - _stbi__skip($8,$26); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = 1;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - $switch$split112D = ($25|0)<(1229278788); - if (!($switch$split112D)) { - switch ($25|0) { - case 1229278788: { - label = 85; - break L7; - break; - } - default: { - label = 105; - break L9; - } - } - } - switch ($25|0) { - case 1229209940: { - break; - } - default: { - label = 105; - break L9; - } - } - $130 = ($$0243|0)==(0); - if (!($130)) { - label = 70; - break L7; - } - $131 = ($$0208<<24>>24)==(0); - $132 = ($$0247|0)!=(0); - $or$cond = $132 | $131; - if (!($or$cond)) { - label = 72; - break L7; - } - if ($24) { - label = 74; - break L7; - } - $135 = HEAP32[$6>>2]|0; - $136 = (($135) + ($$0216))|0; - $137 = ($136|0)<($$0216|0); - if ($137) { - $$6$ph = 0; - break L7; - } - $138 = ($136>>>0)>($$0219>>>0); - if ($138) { - $139 = ($$0219|0)==(0); - $140 = ($135>>>0)>(4096); - $141 = $140 ? $135 : 4096; - $$$0219 = $139 ? $141 : $$0219; - $142 = HEAP32[$6>>2]|0; - $143 = (($142) + ($$0216))|0; - $$1220 = $$$0219; - while(1) { - $144 = ($143>>>0)>($$1220>>>0); - $145 = $$1220 << 1; - if ($144) { - $$1220 = $145; - } else { - break; - } - } - $146 = HEAP32[$10>>2]|0; - $147 = (_realloc($146,$$1220)|0); - $148 = ($147|0)==(0|0); - if ($148) { - label = 81; - break L7; - } - HEAP32[$10>>2] = $147; - $$2221 = $$1220; - } else { - $$2221 = $$0219; - } - $149 = HEAP32[$10>>2]|0; - $150 = (($149) + ($$0216)|0); - $151 = HEAP32[$6>>2]|0; - $152 = (_stbi__getn($8,$150,$151)|0); - $153 = ($152|0)==(0); - if ($153) { - label = 83; - break L7; - } - $154 = HEAP32[$6>>2]|0; - $155 = (($154) + ($$0216))|0; - $$1214 = $$0213;$$1217 = $155;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$2221; - } else { - $switch$split82D = ($25|0)<(1347179589); - if ($switch$split82D) { - switch ($25|0) { - case 1229472850: { - break; - } - default: { - label = 105; - break L9; - } - } - $27 = ($$0243|0)==(0); - if ($27) { - label = 7; - break L7; - } - $28 = HEAP32[$6>>2]|0; - $29 = ($28|0)==(13); - if (!($29)) { - label = 9; - break L7; - } - $30 = (_stbi__get32be($8)|0); - HEAP32[$8>>2] = $30; - $31 = ($30>>>0)>(16777216); - if ($31) { - label = 11; - break L7; - } - $32 = (_stbi__get32be($8)|0); - HEAP32[$16>>2] = $32; - $33 = ($32>>>0)>(16777216); - if ($33) { - label = 13; - break L7; - } - $34 = (_stbi__get8($8)|0); - $35 = $34&255; - HEAP32[$17>>2] = $35; - switch ($34<<24>>24) { - case 16: case 8: case 4: case 2: case 1: { - break; - } - default: { - label = 15; - break L7; - } - } - $36 = (_stbi__get8($8)|0); - $37 = $36&255; - $38 = ($36&255)>(6); - if ($38) { - label = 17; - break L7; - } - $39 = ($36<<24>>24)==(3); - if ($39) { - $40 = HEAP32[$17>>2]|0; - $41 = ($40|0)==(16); - if ($41) { - label = 20; - break L7; - } else { - $$1209 = 3; - } - } else { - $42 = $37 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$1209 = $$0208; - } else { - label = 22; - break L7; - } - } - $44 = (_stbi__get8($8)|0); - $45 = ($44<<24>>24)==(0); - if (!($45)) { - label = 24; - break L7; - } - $46 = (_stbi__get8($8)|0); - $47 = ($46<<24>>24)==(0); - if (!($47)) { - label = 26; - break L7; - } - $48 = (_stbi__get8($8)|0); - $49 = $48&255; - $50 = ($48&255)>(1); - if ($50) { - label = 28; - break L7; - } - $51 = HEAP32[$8>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - label = 31; - break L7; - } - $53 = HEAP32[$16>>2]|0; - $54 = ($53|0)==(0); - if ($54) { - label = 31; - break L7; - } - $55 = ($$1209<<24>>24)==(0); - $56 = (1073741824 / ($51>>>0))&-1; - if (!($55)) { - HEAP32[$20>>2] = 1; - $63 = $56 >>> 2; - $64 = ($63>>>0)<($53>>>0); - if ($64) { - label = 37; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = $$1209;$$3222 = $$0219; - break; - } - } - $57 = $37 & 2; - $58 = $57 | 1; - $59 = $37 >>> 2; - $$lobit = $59 & 1; - $60 = (($58) + ($$lobit))|0; - HEAP32[$18>>2] = $60; - $61 = (($56>>>0) / ($60>>>0))&-1; - $62 = ($61>>>0)<($53>>>0); - if ($62) { - label = 34; - break L7; - } - if ($19) { - $$6$ph = 1; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - } - $switch$split142D = ($25|0)<(1951551059); - if ($switch$split142D) { - switch ($25|0) { - case 1347179589: { - break; - } - default: { - label = 105; - break L9; - } - } - $65 = ($$0243|0)==(0); - if (!($65)) { - label = 39; - break L7; - } - $66 = HEAP32[$6>>2]|0; - $67 = ($66>>>0)>(768); - if ($67) { - label = 41; - break L7; - } - $68 = (($66>>>0) / 3)&-1; - $69 = ($68*3)|0; - $70 = ($69|0)==($66|0); - if (!($70)) { - label = 44; - break L7; - } - $71 = ($66>>>0)>(2); - if ($71) { - $$0228595 = 0; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - break; - } - while(1) { - $72 = (_stbi__get8($8)|0); - $73 = $$0228595 << 2; - $74 = (($3) + ($73)|0); - HEAP8[$74>>0] = $72; - $75 = (_stbi__get8($8)|0); - $76 = $73 | 1; - $77 = (($3) + ($76)|0); - HEAP8[$77>>0] = $75; - $78 = (_stbi__get8($8)|0); - $79 = $73 | 2; - $80 = (($3) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = $73 | 3; - $82 = (($3) + ($81)|0); - HEAP8[$82>>0] = -1; - $83 = (($$0228595) + 1)|0; - $84 = ($83>>>0)<($68>>>0); - if ($84) { - $$0228595 = $83; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break L9; - } - } - } - switch ($25|0) { - case 1951551059: { - break; - } - default: { - label = 105; - break L9; - } - } - $85 = ($$0243|0)==(0); - if (!($85)) { - label = 47; - break L7; - } - $86 = HEAP32[$10>>2]|0; - $87 = ($86|0)==(0|0); - if (!($87)) { - label = 49; - break L7; - } - $88 = ($$0208<<24>>24)==(0); - if (!($88)) { - if ($23) { - label = 52; - break L7; - } - $90 = ($$0247|0)==(0); - if ($90) { - label = 54; - break L7; - } - $91 = HEAP32[$6>>2]|0; - $92 = ($91>>>0)>($$0247>>>0); - if ($92) { - label = 58; - break L7; - } - $93 = HEAP32[$6>>2]|0; - $94 = ($93|0)==(0); - if ($94) { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 4;$$3222 = $$0219; - break; - } - $95 = HEAP32[$6>>2]|0; - $$1229590 = 0; - while(1) { - $96 = (_stbi__get8($8)|0); - $97 = $$1229590 << 2; - $98 = $97 | 3; - $99 = (($3) + ($98)|0); - HEAP8[$99>>0] = $96; - $100 = (($$1229590) + 1)|0; - $101 = ($100>>>0)<($95>>>0); - if ($101) { - $$1229590 = $100; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = 4;$$3222 = $$0219; - break L9; - } - } - } - $102 = HEAP32[$21>>2]|0; - $103 = $102 & 1; - $104 = ($103|0)==(0); - if ($104) { - label = 61; - break L7; - } - $105 = HEAP32[$6>>2]|0; - $106 = $102 << 1; - $107 = ($105|0)==($106|0); - if (!($107)) { - label = 63; - break L7; - } - $108 = HEAP32[$22>>2]|0; - $109 = ($108|0)==(16); - $110 = HEAP32[$21>>2]|0; - $111 = ($110|0)>(0); - if ($109) { - if ($111) { - $$0241593 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $112 = (_stbi__get16be($8)|0); - $113 = $112&65535; - $114 = (($5) + ($$0241593<<1)|0); - HEAP16[$114>>1] = $113; - $115 = (($$0241593) + 1)|0; - $116 = HEAP32[$21>>2]|0; - $117 = ($115|0)<($116|0); - if ($117) { - $$0241593 = $115; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } else { - if ($111) { - $$1242591 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $118 = (_stbi__get16be($8)|0); - $119 = $118 & 255; - $120 = HEAP32[$22>>2]|0; - $121 = (6428 + ($120)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = Math_imul($123, $119)|0; - $125 = $124&255; - $126 = (($4) + ($$1242591)|0); - HEAP8[$126>>0] = $125; - $127 = (($$1242591) + 1)|0; - $128 = HEAP32[$21>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $$1242591 = $127; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } - } - } while(0); - if ((label|0) == 105) { - label = 0; - $205 = ($$0243|0)==(0); - if (!($205)) { - label = 106; - break; - } - $206 = $25 & 536870912; - $207 = ($206|0)==(0); - if ($207) { - label = 108; - break; - } - $216 = HEAP32[$6>>2]|0; - _stbi__skip($8,$216); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - } - (_stbi__get32be($8)|0); - $$0208 = $$3211;$$0213 = $$1214;$$0216 = $$1217;$$0219 = $$3222;$$0230 = $$1231;$$0233 = $$2235;$$0237 = $$2239;$$0243 = $$2245;$$0247 = $$1248; - } - switch (label|0) { - case 7: { - _stbi__err(6202); - $$6$ph = 0; - break; - } - case 9: { - _stbi__err(6216); - $$6$ph = 0; - break; - } - case 11: { - _stbi__err(6229); - $$6$ph = 0; - break; - } - case 13: { - _stbi__err(6229); - $$6$ph = 0; - break; - } - case 15: { - _stbi__err(6239); - $$6$ph = 0; - break; - } - case 17: { - _stbi__err(6259); - $$6$ph = 0; - break; - } - case 20: { - _stbi__err(6259); - $$6$ph = 0; - break; - } - case 22: { - _stbi__err(6259); - $$6$ph = 0; - break; - } - case 24: { - _stbi__err(6269); - $$6$ph = 0; - break; - } - case 26: { - _stbi__err(6285); - $$6$ph = 0; - break; - } - case 28: { - _stbi__err(6303); - $$6$ph = 0; - break; - } - case 31: { - _stbi__err(6324); - $$6$ph = 0; - break; - } - case 34: { - _stbi__err(6229); - $$6$ph = 0; - break; - } - case 37: { - _stbi__err(6229); - $$6$ph = 0; - break; - } - case 39: { - _stbi__err(6338); - $$6$ph = 0; - break; - } - case 41: { - _stbi__err(6353); - $$6$ph = 0; - break; - } - case 44: { - _stbi__err(6353); - $$6$ph = 0; - break; - } - case 47: { - _stbi__err(6338); - $$6$ph = 0; - break; - } - case 49: { - _stbi__err(6366); - $$6$ph = 0; - break; - } - case 52: { - $89 = ((($8)) + 8|0); - HEAP32[$89>>2] = 4; - $$6$ph = 1; - break; - } - case 54: { - _stbi__err(6382); - $$6$ph = 0; - break; - } - case 58: { - _stbi__err(6399); - $$6$ph = 0; - break; - } - case 61: { - _stbi__err(6412); - $$6$ph = 0; - break; - } - case 63: { - _stbi__err(6399); - $$6$ph = 0; - break; - } - case 70: { - _stbi__err(6338); - $$6$ph = 0; - break; - } - case 72: { - _stbi__err(6437); - $$6$ph = 0; - break; - } - case 74: { - $133 = $$0208&255; - $134 = ((($8)) + 8|0); - HEAP32[$134>>2] = $133; - $$6$ph = 1; - break; - } - case 81: { - _stbi__err(6022); - $$6$ph = 0; - break; - } - case 83: { - _stbi__err(6445); - $$6$ph = 0; - break; - } - case 85: { - $156 = ($$0243|0)==(0); - do { - if ($156) { - $157 = ($1|0)==(0); - if ($157) { - $158 = HEAP32[$10>>2]|0; - $159 = ($158|0)==(0|0); - if ($159) { - _stbi__err(6455); - $$4 = 0; - break; - } - $160 = HEAP32[$8>>2]|0; - $161 = ((($0)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = Math_imul($162, $160)|0; - $164 = (($163) + 7)|0; - $165 = $164 >>> 3; - $166 = ((($8)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = ((($8)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = Math_imul($169, $167)|0; - $171 = Math_imul($170, $165)|0; - $172 = (($171) + ($167))|0; - HEAP32[$7>>2] = $172; - $173 = ($$0230|0)!=(0); - $174 = $173 ^ 1; - $175 = $174&1; - $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0216,$172,$7,$175)|0); - HEAP32[$9>>2] = $176; - $177 = ($176|0)==(0|0); - if ($177) { - $$4 = 0; - } else { - $178 = HEAP32[$10>>2]|0; - _free($178); - HEAP32[$10>>2] = 0; - $179 = HEAP32[$168>>2]|0; - $180 = (($179) + 1)|0; - $notlhs = ($180|0)!=($2|0); - $notrhs = ($2|0)==(3); - $or$cond5$not = $notrhs | $notlhs; - $181 = ($$0208<<24>>24)!=(0); - $or$cond7 = $181 | $or$cond5$not; - $182 = ($$0213<<24>>24)==(0); - $or$cond250 = $182 & $or$cond7; - $$256 = $or$cond250 ? $179 : $180; - $183 = ((($8)) + 12|0); - HEAP32[$183>>2] = $$256; - $184 = HEAP32[$9>>2]|0; - $185 = HEAP32[$7>>2]|0; - $186 = HEAP32[$161>>2]|0; - $187 = (_stbi__create_png_image($0,$184,$185,$$256,$186,$$0233,$$0237)|0); - $188 = ($187|0)==(0); - if ($188) { - $$4 = 0; - } else { - $189 = ($$0213<<24>>24)!=(0); - do { - if ($189) { - $190 = HEAP32[$161>>2]|0; - $191 = ($190|0)==(16); - if ($191) { - $192 = HEAP32[$183>>2]|0; - _stbi__compute_transparency16($0,$5,$192); - break; - } else { - $193 = HEAP32[$183>>2]|0; - _stbi__compute_transparency($0,$4,$193); - break; - } - } - } while(0); - $194 = HEAP32[4731]|0; - $195 = ($194|0)!=(0); - $or$cond11 = $173 & $195; - if ($or$cond11) { - $196 = HEAP32[$183>>2]|0; - $197 = ($196|0)>(2); - if ($197) { - _stbi__de_iphone($0); - } - } - if ($181) { - $198 = $$0208&255; - HEAP32[$168>>2] = $198; - $199 = ($2|0)>(2); - $$ = $199 ? $2 : $198; - HEAP32[$183>>2] = $$; - $200 = (_stbi__expand_png_palette($0,$3,$$)|0); - $201 = ($200|0)==(0); - if ($201) { - $$4 = 0; - break; - } - } else { - if ($189) { - $202 = HEAP32[$168>>2]|0; - $203 = (($202) + 1)|0; - HEAP32[$168>>2] = $203; - } - } - $204 = HEAP32[$9>>2]|0; - _free($204); - HEAP32[$9>>2] = 0; - $$4 = 1; - } - } - } else { - $$4 = 1; - } - } else { - _stbi__err(6338); - $$4 = 0; - } - } while(0); - $$6$ph = $$4; - break; - } - case 106: { - _stbi__err(6338); - $$6$ph = 0; - break; - } - case 108: { - $208 = $25 >>> 24; - $209 = $208&255; - HEAP8[6463] = $209; - $210 = HEAP32[$15>>2]|0; - $211 = $210 >>> 16; - $212 = $211&255; - HEAP8[(6464)>>0] = $212; - $213 = $210 >>> 8; - $214 = $213&255; - HEAP8[(6465)>>0] = $214; - $215 = $210&255; - HEAP8[(6466)>>0] = $215; - _stbi__err(6463); - $$6$ph = 0; - break; - } - } - $$7 = $$6$ph; - STACKTOP = sp;return ($$7|0); -} -function _stbi__convert_format($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6125|0),(6057|0),1477,(6181|0)); - // unreachable; - } - $7 = (_stbi__malloc_mad3($2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - _free($0); - _stbi__err(6022); - $$0163 = 0; - return ($$0163|0); - } - $9 = ($4|0)>(0); - L11: do { - if ($9) { - $10 = $1 << 3; - $11 = (($10) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $12 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $13 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $14 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $15 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $16 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $17 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $18 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $19 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $20 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $21 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $22 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $23 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $24 = Math_imul($$0164259, $3)|0; - $25 = Math_imul($24, $1)|0; - $26 = (($0) + ($25)|0); - $27 = Math_imul($24, $2)|0; - $28 = (($7) + ($27)|0); - do { - switch ($11|0) { - case 10: { - if ($12) { - $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; - while(1) { - $29 = HEAP8[$$0151255>>0]|0; - HEAP8[$$0256>>0] = $29; - $30 = ((($$0256)) + 1|0); - HEAP8[$30>>0] = -1; - $31 = ((($$0151255)) + 1|0); - $32 = ((($$0256)) + 2|0); - $$0165 = (($$0165257) + -1)|0; - $33 = ($$0165|0)>(-1); - if ($33) { - $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; - } else { - break; - } - } - } - break; - } - case 11: { - if ($13) { - $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; - while(1) { - $34 = HEAP8[$$1152250>>0]|0; - $35 = ((($$1251)) + 2|0); - HEAP8[$35>>0] = $34; - $36 = ((($$1251)) + 1|0); - HEAP8[$36>>0] = $34; - HEAP8[$$1251>>0] = $34; - $37 = ((($$1152250)) + 1|0); - $38 = ((($$1251)) + 3|0); - $$1166 = (($$1166252) + -1)|0; - $39 = ($$1166|0)>(-1); - if ($39) { - $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; - } else { - break; - } - } - } - break; - } - case 12: { - if ($14) { - $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; - while(1) { - $40 = HEAP8[$$2153245>>0]|0; - $41 = ((($$2246)) + 2|0); - HEAP8[$41>>0] = $40; - $42 = ((($$2246)) + 1|0); - HEAP8[$42>>0] = $40; - HEAP8[$$2246>>0] = $40; - $43 = ((($$2246)) + 3|0); - HEAP8[$43>>0] = -1; - $44 = ((($$2153245)) + 1|0); - $45 = ((($$2246)) + 4|0); - $$2167 = (($$2167247) + -1)|0; - $46 = ($$2167|0)>(-1); - if ($46) { - $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; - } else { - break; - } - } - } - break; - } - case 17: { - if ($15) { - $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; - while(1) { - $47 = HEAP8[$$3154240>>0]|0; - HEAP8[$$3241>>0] = $47; - $48 = ((($$3154240)) + 2|0); - $49 = ((($$3241)) + 1|0); - $$3168 = (($$3168242) + -1)|0; - $50 = ($$3168|0)>(-1); - if ($50) { - $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; - } else { - break; - } - } - } - break; - } - case 19: { - if ($16) { - $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; - while(1) { - $51 = HEAP8[$$4155235>>0]|0; - $52 = ((($$4236)) + 2|0); - HEAP8[$52>>0] = $51; - $53 = ((($$4236)) + 1|0); - HEAP8[$53>>0] = $51; - HEAP8[$$4236>>0] = $51; - $54 = ((($$4155235)) + 2|0); - $55 = ((($$4236)) + 3|0); - $$4169 = (($$4169237) + -1)|0; - $56 = ($$4169|0)>(-1); - if ($56) { - $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; - } else { - break; - } - } - } - break; - } - case 20: { - if ($17) { - $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; - while(1) { - $57 = HEAP8[$$5156230>>0]|0; - $58 = ((($$5231)) + 2|0); - HEAP8[$58>>0] = $57; - $59 = ((($$5231)) + 1|0); - HEAP8[$59>>0] = $57; - HEAP8[$$5231>>0] = $57; - $60 = ((($$5156230)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((($$5231)) + 3|0); - HEAP8[$62>>0] = $61; - $63 = ((($$5156230)) + 2|0); - $64 = ((($$5231)) + 4|0); - $$5170 = (($$5170232) + -1)|0; - $65 = ($$5170|0)>(-1); - if ($65) { - $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; - } else { - break; - } - } - } - break; - } - case 28: { - if ($18) { - $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; - while(1) { - $66 = HEAP8[$$6157225>>0]|0; - HEAP8[$$6226>>0] = $66; - $67 = ((($$6157225)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($$6226)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ((($$6226)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = ((($$6226)) + 3|0); - HEAP8[$73>>0] = -1; - $74 = ((($$6157225)) + 3|0); - $75 = ((($$6226)) + 4|0); - $$6171 = (($$6171227) + -1)|0; - $76 = ($$6171|0)>(-1); - if ($76) { - $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; - } else { - break; - } - } - } - break; - } - case 25: { - if ($19) { - $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; - while(1) { - $77 = HEAP8[$$7158220>>0]|0; - $78 = $77&255; - $79 = ((($$7158220)) + 1|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__compute_y($78,$81,$84)|0); - HEAP8[$$7221>>0] = $85; - $86 = ((($$7158220)) + 3|0); - $87 = ((($$7221)) + 1|0); - $$7172 = (($$7172222) + -1)|0; - $88 = ($$7172|0)>(-1); - if ($88) { - $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; - } else { - break; - } - } - } - break; - } - case 26: { - if ($20) { - $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; - while(1) { - $89 = HEAP8[$$8159215>>0]|0; - $90 = $89&255; - $91 = ((($$8159215)) + 1|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = (_stbi__compute_y($90,$93,$96)|0); - HEAP8[$$8216>>0] = $97; - $98 = ((($$8216)) + 1|0); - HEAP8[$98>>0] = -1; - $99 = ((($$8159215)) + 3|0); - $100 = ((($$8216)) + 2|0); - $$8173 = (($$8173217) + -1)|0; - $101 = ($$8173|0)>(-1); - if ($101) { - $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; - } else { - break; - } - } - } - break; - } - case 33: { - if ($21) { - $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; - while(1) { - $102 = HEAP8[$$9160210>>0]|0; - $103 = $102&255; - $104 = ((($$9160210)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (_stbi__compute_y($103,$106,$109)|0); - HEAP8[$$9211>>0] = $110; - $111 = ((($$9160210)) + 4|0); - $112 = ((($$9211)) + 1|0); - $$9174 = (($$9174212) + -1)|0; - $113 = ($$9174|0)>(-1); - if ($113) { - $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; - } else { - break; - } - } - } - break; - } - case 34: { - if ($22) { - $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; - while(1) { - $114 = HEAP8[$$10161205>>0]|0; - $115 = $114&255; - $116 = ((($$10161205)) + 1|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = (_stbi__compute_y($115,$118,$121)|0); - HEAP8[$$10206>>0] = $122; - $123 = ((($$10161205)) + 3|0); - $124 = HEAP8[$123>>0]|0; - $125 = ((($$10206)) + 1|0); - HEAP8[$125>>0] = $124; - $126 = ((($$10161205)) + 4|0); - $127 = ((($$10206)) + 2|0); - $$10175 = (($$10175207) + -1)|0; - $128 = ($$10175|0)>(-1); - if ($128) { - $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; - } else { - break; - } - } - } - break; - } - case 35: { - if ($23) { - $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; - while(1) { - $129 = HEAP8[$$11162201>>0]|0; - HEAP8[$$11202>>0] = $129; - $130 = ((($$11162201)) + 1|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($$11202)) + 1|0); - HEAP8[$132>>0] = $131; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP8[$133>>0]|0; - $135 = ((($$11202)) + 2|0); - HEAP8[$135>>0] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = ((($$11202)) + 3|0); - $$11176 = (($$11176203) + -1)|0; - $138 = ($$11176|0)>(-1); - if ($138) { - $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $139 = (($$0164259) + 1)|0; - $140 = ($139|0)<($4|0); - if ($140) { - $$0164259 = $139; - } else { - break L11; - } - } - ___assert_fail((6179|0),(6057|0),1506,(6181|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $7; - return ($$0163|0); -} -function _stbi__convert_format16($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6125|0),(6057|0),1526,(6156|0)); - // unreachable; - } - $7 = $2 << 1; - $8 = Math_imul($7, $3)|0; - $9 = Math_imul($8, $4)|0; - $10 = (_stbi__malloc($9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($0); - _stbi__err(6022); - $$0163 = 0; - return ($$0163|0); - } - $12 = ($4|0)>(0); - L11: do { - if ($12) { - $13 = $1 << 3; - $14 = (($13) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $15 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $16 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $17 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $18 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $19 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $20 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $21 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $22 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $23 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $24 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $25 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $26 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $27 = Math_imul($$0164259, $3)|0; - $28 = Math_imul($27, $1)|0; - $29 = (($0) + ($28<<1)|0); - $30 = Math_imul($27, $2)|0; - $31 = (($10) + ($30<<1)|0); - do { - switch ($14|0) { - case 10: { - if ($15) { - $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; - while(1) { - $32 = HEAP16[$$0151255>>1]|0; - HEAP16[$$0256>>1] = $32; - $33 = ((($$0256)) + 2|0); - HEAP16[$33>>1] = -1; - $34 = ((($$0151255)) + 2|0); - $35 = ((($$0256)) + 4|0); - $$0165 = (($$0165257) + -1)|0; - $36 = ($$0165|0)>(-1); - if ($36) { - $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; - } else { - break; - } - } - } - break; - } - case 11: { - if ($16) { - $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; - while(1) { - $37 = HEAP16[$$1152250>>1]|0; - $38 = ((($$1251)) + 4|0); - HEAP16[$38>>1] = $37; - $39 = ((($$1251)) + 2|0); - HEAP16[$39>>1] = $37; - HEAP16[$$1251>>1] = $37; - $40 = ((($$1152250)) + 2|0); - $41 = ((($$1251)) + 6|0); - $$1166 = (($$1166252) + -1)|0; - $42 = ($$1166|0)>(-1); - if ($42) { - $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; - } else { - break; - } - } - } - break; - } - case 12: { - if ($17) { - $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; - while(1) { - $43 = HEAP16[$$2153245>>1]|0; - $44 = ((($$2246)) + 4|0); - HEAP16[$44>>1] = $43; - $45 = ((($$2246)) + 2|0); - HEAP16[$45>>1] = $43; - HEAP16[$$2246>>1] = $43; - $46 = ((($$2246)) + 6|0); - HEAP16[$46>>1] = -1; - $47 = ((($$2153245)) + 2|0); - $48 = ((($$2246)) + 8|0); - $$2167 = (($$2167247) + -1)|0; - $49 = ($$2167|0)>(-1); - if ($49) { - $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; - } else { - break; - } - } - } - break; - } - case 17: { - if ($18) { - $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; - while(1) { - $50 = HEAP16[$$3154240>>1]|0; - HEAP16[$$3241>>1] = $50; - $51 = ((($$3154240)) + 4|0); - $52 = ((($$3241)) + 2|0); - $$3168 = (($$3168242) + -1)|0; - $53 = ($$3168|0)>(-1); - if ($53) { - $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; - } else { - break; - } - } - } - break; - } - case 19: { - if ($19) { - $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; - while(1) { - $54 = HEAP16[$$4155235>>1]|0; - $55 = ((($$4236)) + 4|0); - HEAP16[$55>>1] = $54; - $56 = ((($$4236)) + 2|0); - HEAP16[$56>>1] = $54; - HEAP16[$$4236>>1] = $54; - $57 = ((($$4155235)) + 4|0); - $58 = ((($$4236)) + 6|0); - $$4169 = (($$4169237) + -1)|0; - $59 = ($$4169|0)>(-1); - if ($59) { - $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; - } else { - break; - } - } - } - break; - } - case 20: { - if ($20) { - $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; - while(1) { - $60 = HEAP16[$$5156230>>1]|0; - $61 = ((($$5231)) + 4|0); - HEAP16[$61>>1] = $60; - $62 = ((($$5231)) + 2|0); - HEAP16[$62>>1] = $60; - HEAP16[$$5231>>1] = $60; - $63 = ((($$5156230)) + 2|0); - $64 = HEAP16[$63>>1]|0; - $65 = ((($$5231)) + 6|0); - HEAP16[$65>>1] = $64; - $66 = ((($$5156230)) + 4|0); - $67 = ((($$5231)) + 8|0); - $$5170 = (($$5170232) + -1)|0; - $68 = ($$5170|0)>(-1); - if ($68) { - $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; - } else { - break; - } - } - } - break; - } - case 28: { - if ($21) { - $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; - while(1) { - $69 = HEAP16[$$6157225>>1]|0; - HEAP16[$$6226>>1] = $69; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP16[$70>>1]|0; - $72 = ((($$6226)) + 2|0); - HEAP16[$72>>1] = $71; - $73 = ((($$6157225)) + 4|0); - $74 = HEAP16[$73>>1]|0; - $75 = ((($$6226)) + 4|0); - HEAP16[$75>>1] = $74; - $76 = ((($$6226)) + 6|0); - HEAP16[$76>>1] = -1; - $77 = ((($$6157225)) + 6|0); - $78 = ((($$6226)) + 8|0); - $$6171 = (($$6171227) + -1)|0; - $79 = ($$6171|0)>(-1); - if ($79) { - $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; - } else { - break; - } - } - } - break; - } - case 25: { - if ($22) { - $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; - while(1) { - $80 = HEAP16[$$7158220>>1]|0; - $81 = $80&65535; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = ((($$7158220)) + 4|0); - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = (_stbi__compute_y_16($81,$84,$87)|0); - HEAP16[$$7221>>1] = $88; - $89 = ((($$7158220)) + 6|0); - $90 = ((($$7221)) + 2|0); - $$7172 = (($$7172222) + -1)|0; - $91 = ($$7172|0)>(-1); - if ($91) { - $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; - } else { - break; - } - } - } - break; - } - case 26: { - if ($23) { - $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; - while(1) { - $92 = HEAP16[$$8159215>>1]|0; - $93 = $92&65535; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = ((($$8159215)) + 4|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = (_stbi__compute_y_16($93,$96,$99)|0); - HEAP16[$$8216>>1] = $100; - $101 = ((($$8216)) + 2|0); - HEAP16[$101>>1] = -1; - $102 = ((($$8159215)) + 6|0); - $103 = ((($$8216)) + 4|0); - $$8173 = (($$8173217) + -1)|0; - $104 = ($$8173|0)>(-1); - if ($104) { - $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; - } else { - break; - } - } - } - break; - } - case 33: { - if ($24) { - $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; - while(1) { - $105 = HEAP16[$$9160210>>1]|0; - $106 = $105&65535; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - $110 = ((($$9160210)) + 4|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111&65535; - $113 = (_stbi__compute_y_16($106,$109,$112)|0); - HEAP16[$$9211>>1] = $113; - $114 = ((($$9160210)) + 8|0); - $115 = ((($$9211)) + 2|0); - $$9174 = (($$9174212) + -1)|0; - $116 = ($$9174|0)>(-1); - if ($116) { - $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; - } else { - break; - } - } - } - break; - } - case 34: { - if ($25) { - $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; - while(1) { - $117 = HEAP16[$$10161205>>1]|0; - $118 = $117&65535; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = ((($$10161205)) + 4|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = (_stbi__compute_y_16($118,$121,$124)|0); - HEAP16[$$10206>>1] = $125; - $126 = ((($$10161205)) + 6|0); - $127 = HEAP16[$126>>1]|0; - $128 = ((($$10206)) + 2|0); - HEAP16[$128>>1] = $127; - $129 = ((($$10161205)) + 8|0); - $130 = ((($$10206)) + 4|0); - $$10175 = (($$10175207) + -1)|0; - $131 = ($$10175|0)>(-1); - if ($131) { - $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; - } else { - break; - } - } - } - break; - } - case 35: { - if ($26) { - $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; - while(1) { - $132 = HEAP16[$$11162201>>1]|0; - HEAP16[$$11202>>1] = $132; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP16[$133>>1]|0; - $135 = ((($$11202)) + 2|0); - HEAP16[$135>>1] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = HEAP16[$136>>1]|0; - $138 = ((($$11202)) + 4|0); - HEAP16[$138>>1] = $137; - $139 = ((($$11162201)) + 8|0); - $140 = ((($$11202)) + 6|0); - $$11176 = (($$11176203) + -1)|0; - $141 = ($$11176|0)>(-1); - if ($141) { - $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $142 = (($$0164259) + 1)|0; - $143 = ($142|0)<($4|0); - if ($143) { - $$0164259 = $142; - } else { - break L11; - } - } - ___assert_fail((6179|0),(6057|0),1555,(6156|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $10; - return ($$0163|0); -} -function _stbi__compute_y_16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&65535; - return ($9|0); -} -function _stbi__compute_y($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&255; - return ($9|0); -} -function _stbi__check_png_header($0) { - $0 = $0|0; - var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = ($1<<24>>24)==(-119); - if ($2) { - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = (_stbi__get8($0)|0); - $6 = ($5<<24>>24)==(78); - if ($6) { - $7 = (_stbi__get8($0)|0); - $8 = ($7<<24>>24)==(71); - if ($8) { - $9 = (_stbi__get8($0)|0); - $10 = ($9<<24>>24)==(13); - if ($10) { - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $13 = (_stbi__get8($0)|0); - $14 = ($13<<24>>24)==(26); - if ($14) { - $15 = (_stbi__get8($0)|0); - $16 = ($15<<24>>24)==(10); - if ($16) { - $$05 = 1; - return ($$05|0); - } - } - } - } - } - } - } - } - _stbi__err(7459); - $$05 = 0; - return ($$05|0); -} -function _stbi__get_chunk_header($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__get32be($1)|0); - $3 = (_stbi__get32be($1)|0); - HEAP32[$0>>2] = $2; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; - return; -} -function _stbi__skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(0); - if ($2) { - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 168|0); - HEAP32[$5>>2] = $4; - return; - } - $6 = ((($0)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 168|0); - $12 = HEAP32[$11>>2]|0; - $13 = $10; - $14 = (($13) - ($12))|0; - $15 = ($14|0)<($1|0); - if ($15) { - HEAP32[$11>>2] = $10; - $16 = ((($0)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($1) - ($14))|0; - FUNCTION_TABLE_vii[$17 & 63]($19,$20); - return; - } - } - $21 = ((($0)) + 168|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($1)|0); - HEAP32[$21>>2] = $23; - return; -} -function _stbi__get32be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get16be($0)|0); - $2 = $1 << 16; - $3 = (_stbi__get16be($0)|0); - $4 = (($2) + ($3))|0; - return ($4|0); -} -function _stbi__get8($0) { - $0 = $0|0; - var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 168|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)<($4>>>0); - do { - if ($5) { - $$sink6 = $2; - } else { - $6 = ((($0)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - _stbi__refill_buffer($0); - $9 = HEAP32[$1>>2]|0; - $$sink6 = $9; - break; - } - } - } while(0); - $10 = ((($$sink6)) + 1|0); - HEAP32[$1>>2] = $10; - $11 = HEAP8[$$sink6>>0]|0; - $$0 = $11; - return ($$0|0); -} -function _stbi__get16be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = $1&255; - $3 = $2 << 8; - $4 = (_stbi__get8($0)|0); - $5 = $4&255; - $6 = $3 | $5; - return ($6|0); -} -function _stbi__getn($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($0)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 168|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - $11 = (($7) - ($10))|0; - $12 = ($11|0)<($2|0); - if ($12) { - _memcpy(($1|0),($9|0),($11|0))|0; - $13 = HEAP32[$3>>2]|0; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($1) + ($11)|0); - $17 = (($2) - ($11))|0; - $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); - $19 = ($18|0)==($17|0); - $20 = $19&1; - $21 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = $21; - $$1 = $20; - return ($$1|0); - } - } - $22 = ((($0)) + 168|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($2)|0); - $25 = ((($0)) + 172|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($24>>>0)>($26>>>0); - if ($27) { - $$1 = 0; - return ($$1|0); - } - _memcpy(($1|0),($23|0),($2|0))|0; - $28 = HEAP32[$22>>2]|0; - $29 = (($28) + ($2)|0); - HEAP32[$22>>2] = $29; - $$1 = 1; - return ($$1|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); - $5 = sp; - $6 = (_stbi__malloc($2)|0); - $7 = ($6|0)==(0|0); - do { - if ($7) { - $$0 = 0; - } else { - HEAP32[$5>>2] = $0; - $8 = (($0) + ($1)|0); - $9 = ((($5)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); - $11 = ($10|0)==(0); - $12 = ((($5)) + 20|0); - $13 = HEAP32[$12>>2]|0; - if ($11) { - _free($13); - $$0 = 0; - break; - } - $14 = ($3|0)==(0|0); - if ($14) { - $$0 = $13; - } else { - $15 = ((($5)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = $13; - $18 = (($16) - ($17))|0; - HEAP32[$3>>2] = $18; - $$0 = $13; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = ($4|0)==(16); - $8 = $7 ? 2 : 1; - $9 = Math_imul($8, $3)|0; - $10 = ($6|0)==(0); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($11)) + 4|0); - $14 = HEAP32[$13>>2]|0; - if ($10) { - $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); - $$4 = $15; - return ($$4|0); - } - $16 = (_stbi__malloc_mad3($12,$14,$9)|0); - $17 = ((($0)) + 12|0); - $18 = ((($0)) + 12|0); - $$0103117 = 0;$$095119 = $1;$$099118 = $2; - while(1) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (3040 + ($$0103117<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (3068 + ($$0103117<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($20) + -1)|0; - $26 = (($25) - ($22))|0; - $27 = (($26) + ($24))|0; - $28 = (($27>>>0) / ($24>>>0))&-1; - $29 = ((($19)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (3096 + ($$0103117<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (3124 + ($$0103117<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($30) + -1)|0; - $36 = (($35) - ($32))|0; - $37 = (($36) + ($34))|0; - $38 = (($37>>>0) / ($34>>>0))&-1; - $39 = ($24>>>0)<=($27>>>0); - $40 = ($34>>>0)<=($37>>>0); - $or$cond = $39 & $40; - if ($or$cond) { - $41 = ((($19)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = Math_imul($28, $4)|0; - $44 = Math_imul($43, $42)|0; - $45 = (($44) + 7)|0; - $46 = $45 >> 3; - $47 = (($46) + 1)|0; - $48 = Math_imul($47, $38)|0; - $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 13; - break; - } - $51 = ($38|0)>(0); - if ($51) { - $52 = ($28|0)>(0); - $$0106116 = 0; - while(1) { - if ($52) { - $53 = HEAP32[$33>>2]|0; - $54 = Math_imul($53, $$0106116)|0; - $55 = HEAP32[$31>>2]|0; - $56 = (($54) + ($55))|0; - $57 = HEAP32[$23>>2]|0; - $58 = HEAP32[$21>>2]|0; - $59 = Math_imul($56, $9)|0; - $60 = Math_imul($$0106116, $28)|0; - $$0107115 = 0; - while(1) { - $61 = Math_imul($57, $$0107115)|0; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($59, $64)|0; - $66 = (($16) + ($65)|0); - $67 = Math_imul($62, $9)|0; - $68 = (($66) + ($67)|0); - $69 = HEAP32[$18>>2]|0; - $70 = (($$0107115) + ($60))|0; - $71 = Math_imul($70, $9)|0; - $72 = (($69) + ($71)|0); - _memcpy(($68|0),($72|0),($9|0))|0; - $73 = (($$0107115) + 1)|0; - $74 = ($73|0)<($28|0); - if ($74) { - $$0107115 = $73; - } else { - break; - } - } - } - $75 = (($$0106116) + 1)|0; - $76 = ($75|0)<($38|0); - if ($76) { - $$0106116 = $75; - } else { - break; - } - } - } - $77 = HEAP32[$17>>2]|0; - _free($77); - $78 = (($$095119) + ($48)|0); - $79 = (($$099118) - ($48))|0; - $$3102$ph = $79;$$398$ph = $78; - } else { - $$3102$ph = $$099118;$$398$ph = $$095119; - } - $80 = (($$0103117) + 1)|0; - $81 = ($80|0)<(7); - if ($81) { - $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; - } else { - label = 15; - break; - } - } - if ((label|0) == 13) { - _free($16); - $$4 = 0; - return ($$4|0); - } - else if ((label|0) == 15) { - $82 = ((($0)) + 12|0); - HEAP32[$82>>2] = $16; - $$4 = 1; - return ($$4|0); - } - return (0)|0; -} -function _stbi__compute_transparency16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP16[$$04>>1]|0; - $15 = HEAP16[$1>>1]|0; - $not$ = ($14<<16>>16)!=($15<<16>>16); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 2|0); - HEAP16[$17>>1] = $16; - $18 = ((($$04)) + 4|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 2|0); - $12 = ((($1)) + 4|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP16[$$16>>1]|0; - $21 = HEAP16[$1>>1]|0; - $22 = ($20<<16>>16)==($21<<16>>16); - if ($22) { - $23 = ((($$16)) + 2|0); - $24 = HEAP16[$23>>1]|0; - $25 = HEAP16[$11>>1]|0; - $26 = ($24<<16>>16)==($25<<16>>16); - if ($26) { - $27 = ((($$16)) + 4|0); - $28 = HEAP16[$27>>1]|0; - $29 = HEAP16[$12>>1]|0; - $30 = ($28<<16>>16)==($29<<16>>16); - if ($30) { - $31 = ((($$16)) + 6|0); - HEAP16[$31>>1] = 0; - } - } - } - $32 = ((($$16)) + 8|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6522|0),(6057|0),4568,(6574|0)); - // unreachable; - } - } -} -function _stbi__compute_transparency($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP8[$$04>>0]|0; - $15 = HEAP8[$1>>0]|0; - $not$ = ($14<<24>>24)!=($15<<24>>24); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 1|0); - HEAP8[$17>>0] = $16; - $18 = ((($$04)) + 2|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 1|0); - $12 = ((($1)) + 2|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP8[$$16>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = ($20<<24>>24)==($21<<24>>24); - if ($22) { - $23 = ((($$16)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP8[$11>>0]|0; - $26 = ($24<<24>>24)==($25<<24>>24); - if ($26) { - $27 = ((($$16)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = HEAP8[$12>>0]|0; - $30 = ($28<<24>>24)==($29<<24>>24); - if ($30) { - $31 = ((($$16)) + 3|0); - HEAP8[$31>>0] = 0; - } - } - } - $32 = ((($$16)) + 4|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6522|0),(6057|0),4543,(6547|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($0) { - $0 = $0|0; - var $$05461 = 0, $$062 = 0, $$15566 = 0, $$167 = 0, $$25663 = 0, $$264 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $exitcond = 0, $exitcond71 = 0; - var $exitcond72 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = Math_imul($4, $2)|0; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($1)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($9|0) { - case 3: { - $10 = ($5|0)==(0); - if ($10) { - return; - } else { - $$05461 = $7;$$062 = 0; - } - while(1) { - $11 = HEAP8[$$05461>>0]|0; - $12 = ((($$05461)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$$05461>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($$05461)) + 3|0); - $15 = (($$062) + 1)|0; - $exitcond = ($15|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05461 = $14;$$062 = $15; - } - } - return; - break; - } - case 4: { - $16 = HEAP32[4732]|0; - $17 = ($16|0)==(0); - $18 = ($5|0)!=(0); - if ($17) { - if ($18) { - $$25663 = $7;$$264 = 0; - } else { - return; - } - while(1) { - $46 = HEAP8[$$25663>>0]|0; - $47 = ((($$25663)) + 2|0); - $48 = HEAP8[$47>>0]|0; - HEAP8[$$25663>>0] = $48; - HEAP8[$47>>0] = $46; - $49 = ((($$25663)) + 4|0); - $50 = (($$264) + 1)|0; - $exitcond71 = ($50|0)==($5|0); - if ($exitcond71) { - break; - } else { - $$25663 = $49;$$264 = $50; - } - } - return; - } - if ($18) { - $$15566 = $7;$$167 = 0; - } else { - return; - } - while(1) { - $19 = ((($$15566)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = HEAP8[$$15566>>0]|0; - $22 = ($20<<24>>24)==(0); - $23 = ((($$15566)) + 2|0); - $24 = HEAP8[$23>>0]|0; - if ($22) { - HEAP8[$$15566>>0] = $24; - $$sink = $21; - } else { - $25 = $20&255; - $div = ($20&255) >>> 1; - $26 = $24&255; - $27 = ($26*255)|0; - $28 = $div&255; - $29 = (($27) + ($28))|0; - $30 = (($29>>>0) / ($25>>>0))&-1; - $31 = $30&255; - HEAP8[$$15566>>0] = $31; - $32 = ((($$15566)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35) + ($28))|0; - $37 = (($36>>>0) / ($25>>>0))&-1; - $38 = $37&255; - HEAP8[$32>>0] = $38; - $39 = $21&255; - $40 = ($39*255)|0; - $41 = (($40) + ($28))|0; - $42 = (($41>>>0) / ($25>>>0))&-1; - $43 = $42&255; - $$sink = $43; - } - HEAP8[$23>>0] = $$sink; - $44 = ((($$15566)) + 4|0); - $45 = (($$167) + 1)|0; - $exitcond72 = ($45|0)==($5|0); - if ($exitcond72) { - break; - } else { - $$15566 = $44;$$167 = $45; - } - } - return; - break; - } - default: { - ___assert_fail((6488|0),(6057|0),4649,(6506|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_stbi__malloc_mad2($7,$2)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(6022); - $$0 = 0; - return ($$0|0); - } - $12 = ($2|0)==(3); - $13 = ($7|0)!=(0); - if ($12) { - if ($13) { - $$0574 = 0;$$0583 = $10; - while(1) { - $14 = (($9) + ($$0574)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($1) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$$0583>>0] = $19; - $20 = $17 | 1; - $21 = (($1) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($$0583)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($1) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($$0583)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($$0583)) + 3|0); - $29 = (($$0574) + 1)|0; - $exitcond = ($29|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0574 = $29;$$0583 = $28; - } - } - } - } else { - if ($13) { - $$1595 = $10;$$16 = 0; - while(1) { - $30 = (($9) + ($$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($1) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$$1595>>0] = $35; - $36 = $33 | 1; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($$1595)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($1) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($$1595)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($1) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($$1595)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($$1595)) + 4|0); - $49 = (($$16) + 1)|0; - $exitcond9 = ($49|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1595 = $48;$$16 = $49; - } - } - } - } - $50 = HEAP32[$8>>2]|0; - _free($50); - HEAP32[$8>>2] = $10; - $$0 = 1; - return ($$0|0); -} -function _stbi__malloc_mad2($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mad2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__malloc($4)|0); - $$0 = $5; - return ($$0|0); -} -function _stbi__mad2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mul2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $8 = 0; - $7 = $8&1; - return ($7|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__addsizes_valid($4)|0); - $6 = ($5|0)!=(0); - $8 = $6; - $7 = $8&1; - return ($7|0); -} -function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $$0562 = 0, $$0562718 = 0, $$0562719 = 0, $$0565$lcssa = 0, $$0565709 = 0, $$0568$lcssa = 0, $$0568708 = 0, $$0571811 = 0, $$0582 = 0, $$0591 = 0, $$0602810 = 0, $$0605809 = 0, $$0608 = 0, $$0608787 = 0, $$0608790 = 0, $$0617808 = 0, $$0619728 = 0, $$0725 = 0, $$1 = 0, $$10629758 = 0; - var $$11$ph = 0, $$11630749 = 0, $$12741 = 0, $$13733 = 0, $$14$lcssa = 0, $$14707 = 0, $$15$lcssa = 0, $$1566$lcssa = 0, $$1566701 = 0, $$1569$lcssa = 0, $$1569700 = 0, $$15699 = 0, $$1572 = 0, $$16$lcssa = 0, $$1603 = 0, $$1606 = 0, $$1609 = 0, $$1609779 = 0, $$1609782 = 0, $$1618721 = 0; - var $$1620806 = 0, $$16694 = 0, $$1715 = 0, $$1716 = 0, $$2 = 0, $$2567$lcssa = 0, $$2567696 = 0, $$2573789 = 0, $$2593788 = 0, $$2610 = 0, $$2610770 = 0, $$2610774 = 0, $$2621804 = 0, $$3574781 = 0, $$3586772 = 0, $$3594780 = 0, $$3611 = 0, $$3611761 = 0, $$3611765 = 0, $$3622802 = 0; - var $$4$lcssa = 0, $$4575773 = 0, $$4587763 = 0, $$4595771 = 0, $$4612 = 0, $$4612752 = 0, $$4612756 = 0, $$4623800 = 0, $$4695 = 0, $$5576764 = 0, $$5588754 = 0, $$5596762 = 0, $$5613 = 0, $$5613744 = 0, $$5613747 = 0, $$5624798 = 0, $$6577755 = 0, $$6597753 = 0, $$6614 = 0, $$6614736 = 0; - var $$6614739 = 0, $$6625796 = 0, $$7578746 = 0, $$7598745 = 0, $$7615792 = 0, $$7626784 = 0, $$8579738 = 0, $$8599737 = 0, $$8616723 = 0, $$8627776 = 0, $$9580 = 0, $$9600793 = 0, $$9628767 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink635 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; - var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; - var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; - var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; - var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; - var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; - var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; - var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; - var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; - var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; - var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge888 = 0; - var $exitcond = 0, $exitcond858 = 0, $exitcond859 = 0, $exitcond861 = 0, $exitcond863 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond874 = 0, $exitcond875 = 0, $exitcond876 = 0, $exitcond877 = 0, $exitcond878 = 0, $exitcond879 = 0, $exitcond880 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next843 = 0, $indvars$iv$next846 = 0; - var $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv842 = 0, $indvars$iv845 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $or$cond = 0, $scevgep = 0, $scevgep844 = 0, $scevgep847 = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep860 = 0, $scevgep862 = 0, $scevgep864 = 0, $scevgep866 = 0, $scevgep868 = 0; - var $scevgep870 = 0, $scevgep873 = 0, $trunc = 0, $trunc631 = 0, $trunc632 = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = ($6|0)==(16); - $9 = $8 ? 2 : 1; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($4, $3)|0; - $12 = Math_imul($9, $11)|0; - $13 = ((($10)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = Math_imul($9, $3)|0; - $16 = Math_imul($14, $9)|0; - $17 = ($14|0)==($3|0); - $18 = (($14) + 1)|0; - $19 = ($18|0)==($3|0); - $or$cond = $17 | $19; - if (!($or$cond)) { - ___assert_fail((6603|0),(6057|0),4294,(6644|0)); - // unreachable; - } - $20 = (_stbi__malloc_mad3($4,$5,$15)|0); - $21 = ((($0)) + 12|0); - HEAP32[$21>>2] = $20; - $22 = ($20|0)==(0|0); - if ($22) { - _stbi__err(6022); - $$2 = 0; - return ($$2|0); - } - $23 = Math_imul($14, $4)|0; - $24 = Math_imul($23, $6)|0; - $25 = (($24) + 7)|0; - $26 = $25 >>> 3; - $27 = (($26) + 1)|0; - $28 = Math_imul($27, $5)|0; - $29 = ($28>>>0)>($2>>>0); - if ($29) { - _stbi__err(6671); - $$2 = 0; - return ($$2|0); - } - $30 = ($5|0)==(0); - L12: do { - if (!($30)) { - $31 = ($6|0)<(8); - $32 = ($26>>>0)>($4>>>0); - $33 = (($11) - ($26))|0; - $34 = (0 - ($12))|0; - $35 = ($6|0)==(8); - $brmerge = $31 | $17; - $36 = ($4|0)==(0); - $$0608787 = (($4) + -1)|0; - $37 = ($$0608787|0)==(0); - $$1609779 = (($4) + -1)|0; - $38 = ($$1609779|0)==(0); - $$2610770 = (($4) + -1)|0; - $39 = ($$2610770|0)==(0); - $$3611761 = (($4) + -1)|0; - $40 = ($$3611761|0)==(0); - $$4612752 = (($4) + -1)|0; - $41 = ($$4612752|0)==(0); - $$5613744 = (($4) + -1)|0; - $42 = ($$5613744|0)==(0); - $$6614736 = (($4) + -1)|0; - $43 = ($$6614736|0)==(0); - $$not = $8 ^ 1; - $brmerge888 = $36 | $$not; - $$0571811 = $1;$$0602810 = $4;$$0605809 = $16;$$0617808 = 0; - while(1) { - $44 = HEAP32[$21>>2]|0; - $45 = Math_imul($$0617808, $12)|0; - $46 = (($44) + ($45)|0); - $47 = ((($$0571811)) + 1|0); - $48 = HEAP8[$$0571811>>0]|0; - $49 = $48&255; - $50 = ($48&255)>(4); - if ($50) { - label = 101; - break; - } - if ($31) { - if ($32) { - label = 12; - break; - } - $51 = (($46) + ($33)|0); - $$0591 = $51;$$1603 = $26;$$1606 = 1; - } else { - $$0591 = $46;$$1603 = $$0602810;$$1606 = $$0605809; - } - $52 = (($$0591) + ($34)|0); - $53 = ($$0617808|0)==(0); - if ($53) { - $54 = (6710 + ($49)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0582 = $56; - } else { - $$0582 = $49; - } - $57 = ($$1606|0)>(0); - L24: do { - if ($57) { - $trunc632 = $$0582&255; - $$0619728 = 0; - while(1) { - switch ($trunc632<<24>>24) { - case 0: { - $58 = (($47) + ($$0619728)|0); - $59 = HEAP8[$58>>0]|0; - $$sink = $59; - label = 26; - break; - } - case 1: { - $60 = (($47) + ($$0619728)|0); - $61 = HEAP8[$60>>0]|0; - $$sink = $61; - label = 26; - break; - } - case 2: { - $62 = (($47) + ($$0619728)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = (($52) + ($$0619728)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = (($67) + ($64))|0; - $69 = $68&255; - $$sink = $69; - label = 26; - break; - } - case 3: { - $70 = (($47) + ($$0619728)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = (($52) + ($$0619728)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $$sink = $78; - label = 26; - break; - } - case 4: { - $79 = (($47) + ($$0619728)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (($52) + ($$0619728)|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__paeth(0,$84,0)|0); - $86 = (($85) + ($81))|0; - $87 = $86&255; - $$sink = $87; - label = 26; - break; - } - case 5: { - $88 = (($47) + ($$0619728)|0); - $89 = HEAP8[$88>>0]|0; - $$sink = $89; - label = 26; - break; - } - case 6: { - $90 = (($47) + ($$0619728)|0); - $91 = HEAP8[$90>>0]|0; - $$sink = $91; - label = 26; - break; - } - default: { - } - } - if ((label|0) == 26) { - label = 0; - $$sink1 = (($$0591) + ($$0619728)|0); - HEAP8[$$sink1>>0] = $$sink; - } - $92 = (($$0619728) + 1)|0; - $exitcond858 = ($92|0)==($$1606|0); - if ($exitcond858) { - break L24; - } else { - $$0619728 = $92; - } - } - } - } while(0); - do { - if ($35) { - if (!($17)) { - $93 = (($$0591) + ($14)|0); - HEAP8[$93>>0] = -1; - } - $94 = (($47) + ($14)|0); - $$1572 = $94;$$sink635 = $3; - } else { - if (!($8)) { - $99 = ((($$0571811)) + 2|0); - $$1572 = $99;$$sink635 = 1; - break; - } - if (!($17)) { - $95 = (($$1606) + 1)|0; - $96 = (($$0591) + ($95)|0); - $97 = (($$0591) + ($$1606)|0); - HEAP8[$97>>0] = -1; - HEAP8[$96>>0] = -1; - } - $98 = (($47) + ($$1606)|0); - $$1572 = $98;$$sink635 = $15; - } - } while(0); - $100 = (($$0591) + ($$sink635)|0); - $101 = (($52) + ($$sink635)|0); - if ($brmerge) { - $102 = (($$1603) + -1)|0; - $103 = Math_imul($102, $$1606)|0; - $trunc631 = $$0582&255; - switch ($trunc631<<24>>24) { - case 0: { - _memcpy(($100|0),($$1572|0),($103|0))|0; - break; - } - case 1: { - $109 = ($103|0)>(0); - if ($109) { - $$1620806 = 0; - while(1) { - $110 = (($$1572) + ($$1620806)|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = (($$1620806) - ($$1606))|0; - $114 = (($100) + ($113)|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = (($116) + ($112))|0; - $118 = $117&255; - $119 = (($100) + ($$1620806)|0); - HEAP8[$119>>0] = $118; - $120 = (($$1620806) + 1)|0; - $exitcond880 = ($120|0)==($103|0); - if ($exitcond880) { - break; - } else { - $$1620806 = $120; - } - } - } - break; - } - case 2: { - $108 = ($103|0)>(0); - if ($108) { - $$2621804 = 0; - while(1) { - $121 = (($$1572) + ($$2621804)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = (($101) + ($$2621804)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = (($126) + ($123))|0; - $128 = $127&255; - $129 = (($100) + ($$2621804)|0); - HEAP8[$129>>0] = $128; - $130 = (($$2621804) + 1)|0; - $exitcond879 = ($130|0)==($103|0); - if ($exitcond879) { - break; - } else { - $$2621804 = $130; - } - } - } - break; - } - case 3: { - $107 = ($103|0)>(0); - if ($107) { - $$3622802 = 0; - while(1) { - $131 = (($$1572) + ($$3622802)|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = (($101) + ($$3622802)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = (($$3622802) - ($$1606))|0; - $138 = (($100) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = (($140) + ($136))|0; - $142 = $141 >>> 1; - $143 = (($142) + ($133))|0; - $144 = $143&255; - $145 = (($100) + ($$3622802)|0); - HEAP8[$145>>0] = $144; - $146 = (($$3622802) + 1)|0; - $exitcond878 = ($146|0)==($103|0); - if ($exitcond878) { - break; - } else { - $$3622802 = $146; - } - } - } - break; - } - case 4: { - $106 = ($103|0)>(0); - if ($106) { - $$4623800 = 0; - while(1) { - $147 = (($$1572) + ($$4623800)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($$4623800) - ($$1606))|0; - $151 = (($100) + ($150)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = (($101) + ($$4623800)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = (($101) + ($150)|0); - $158 = HEAP8[$157>>0]|0; - $159 = $158&255; - $160 = (_stbi__paeth($153,$156,$159)|0); - $161 = (($160) + ($149))|0; - $162 = $161&255; - $163 = (($100) + ($$4623800)|0); - HEAP8[$163>>0] = $162; - $164 = (($$4623800) + 1)|0; - $exitcond877 = ($164|0)==($103|0); - if ($exitcond877) { - break; - } else { - $$4623800 = $164; - } - } - } - break; - } - case 5: { - $105 = ($103|0)>(0); - if ($105) { - $$5624798 = 0; - while(1) { - $165 = (($$1572) + ($$5624798)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = (($$5624798) - ($$1606))|0; - $169 = (($100) + ($168)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = $171 >>> 1; - $173 = (($172) + ($167))|0; - $174 = $173&255; - $175 = (($100) + ($$5624798)|0); - HEAP8[$175>>0] = $174; - $176 = (($$5624798) + 1)|0; - $exitcond876 = ($176|0)==($103|0); - if ($exitcond876) { - break; - } else { - $$5624798 = $176; - } - } - } - break; - } - case 6: { - $104 = ($103|0)>(0); - if ($104) { - $$6625796 = 0; - while(1) { - $177 = (($$1572) + ($$6625796)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $180 = (($$6625796) - ($$1606))|0; - $181 = (($100) + ($180)|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = (_stbi__paeth($183,0,0)|0); - $185 = (($184) + ($179))|0; - $186 = $185&255; - $187 = (($100) + ($$6625796)|0); - HEAP8[$187>>0] = $186; - $188 = (($$6625796) + 1)|0; - $exitcond875 = ($188|0)==($103|0); - if ($exitcond875) { - break; - } else { - $$6625796 = $188; - } - } - } - break; - } - default: { - } - } - $189 = (($$1572) + ($103)|0); - $$11$ph = $189; - } else { - if (!($19)) { - label = 54; - break; - } - $trunc = $$0582&255; - switch ($trunc<<24>>24) { - case 0: { - if ($37) { - $$9580 = $$1572; - } else { - $202 = ($$1606|0)>(0); - $203 = Math_imul($$6614736, $$1606)|0; - $$0608790 = $$0608787;$$2573789 = $$1572;$$2593788 = $100; - while(1) { - if ($202) { - $$7626784 = 0; - while(1) { - $204 = (($$2573789) + ($$7626784)|0); - $205 = HEAP8[$204>>0]|0; - $206 = (($$2593788) + ($$7626784)|0); - HEAP8[$206>>0] = $205; - $207 = (($$7626784) + 1)|0; - $exitcond871 = ($207|0)==($$1606|0); - if ($exitcond871) { - break; - } else { - $$7626784 = $207; - } - } - } - $208 = (($$2593788) + ($$1606)|0); - HEAP8[$208>>0] = -1; - $209 = (($$2573789) + ($$1606)|0); - $210 = (($$2593788) + ($15)|0); - $$0608 = (($$0608790) + -1)|0; - $211 = ($$0608|0)==(0); - if ($211) { - break; - } else { - $$0608790 = $$0608;$$2573789 = $209;$$2593788 = $210; - } - } - $scevgep873 = (($$1572) + ($203)|0); - $$9580 = $scevgep873; - } - break; - } - case 1: { - if ($38) { - $$9580 = $$1572; - } else { - $200 = ($$1606|0)>(0); - $201 = Math_imul($$6614736, $$1606)|0; - $$1609782 = $$1609779;$$3574781 = $$1572;$$3594780 = $100; - while(1) { - if ($200) { - $$8627776 = 0; - while(1) { - $212 = (($$3574781) + ($$8627776)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = (($$8627776) - ($15))|0; - $216 = (($$3594780) + ($215)|0); - $217 = HEAP8[$216>>0]|0; - $218 = $217&255; - $219 = (($218) + ($214))|0; - $220 = $219&255; - $221 = (($$3594780) + ($$8627776)|0); - HEAP8[$221>>0] = $220; - $222 = (($$8627776) + 1)|0; - $exitcond869 = ($222|0)==($$1606|0); - if ($exitcond869) { - break; - } else { - $$8627776 = $222; - } - } - } - $223 = (($$3594780) + ($$1606)|0); - HEAP8[$223>>0] = -1; - $224 = (($$3574781) + ($$1606)|0); - $225 = (($$3594780) + ($15)|0); - $$1609 = (($$1609782) + -1)|0; - $226 = ($$1609|0)==(0); - if ($226) { - break; - } else { - $$1609782 = $$1609;$$3574781 = $224;$$3594780 = $225; - } - } - $scevgep870 = (($$1572) + ($201)|0); - $$9580 = $scevgep870; - } - break; - } - case 2: { - if ($39) { - $$9580 = $$1572; - } else { - $198 = ($$1606|0)>(0); - $199 = Math_imul($$6614736, $$1606)|0; - $$2610774 = $$2610770;$$3586772 = $101;$$4575773 = $$1572;$$4595771 = $100; - while(1) { - if ($198) { - $$9628767 = 0; - while(1) { - $227 = (($$4575773) + ($$9628767)|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = (($$3586772) + ($$9628767)|0); - $231 = HEAP8[$230>>0]|0; - $232 = $231&255; - $233 = (($232) + ($229))|0; - $234 = $233&255; - $235 = (($$4595771) + ($$9628767)|0); - HEAP8[$235>>0] = $234; - $236 = (($$9628767) + 1)|0; - $exitcond867 = ($236|0)==($$1606|0); - if ($exitcond867) { - break; - } else { - $$9628767 = $236; - } - } - } - $237 = (($$4595771) + ($$1606)|0); - HEAP8[$237>>0] = -1; - $238 = (($$4575773) + ($$1606)|0); - $239 = (($$4595771) + ($15)|0); - $240 = (($$3586772) + ($15)|0); - $$2610 = (($$2610774) + -1)|0; - $241 = ($$2610|0)==(0); - if ($241) { - break; - } else { - $$2610774 = $$2610;$$3586772 = $240;$$4575773 = $238;$$4595771 = $239; - } - } - $scevgep868 = (($$1572) + ($199)|0); - $$9580 = $scevgep868; - } - break; - } - case 3: { - if ($40) { - $$9580 = $$1572; - } else { - $196 = ($$1606|0)>(0); - $197 = Math_imul($$6614736, $$1606)|0; - $$3611765 = $$3611761;$$4587763 = $101;$$5576764 = $$1572;$$5596762 = $100; - while(1) { - if ($196) { - $$10629758 = 0; - while(1) { - $242 = (($$5576764) + ($$10629758)|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($$4587763) + ($$10629758)|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246&255; - $248 = (($$10629758) - ($15))|0; - $249 = (($$5596762) + ($248)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = (($251) + ($247))|0; - $253 = $252 >>> 1; - $254 = (($253) + ($244))|0; - $255 = $254&255; - $256 = (($$5596762) + ($$10629758)|0); - HEAP8[$256>>0] = $255; - $257 = (($$10629758) + 1)|0; - $exitcond865 = ($257|0)==($$1606|0); - if ($exitcond865) { - break; - } else { - $$10629758 = $257; - } - } - } - $258 = (($$5596762) + ($$1606)|0); - HEAP8[$258>>0] = -1; - $259 = (($$5576764) + ($$1606)|0); - $260 = (($$5596762) + ($15)|0); - $261 = (($$4587763) + ($15)|0); - $$3611 = (($$3611765) + -1)|0; - $262 = ($$3611|0)==(0); - if ($262) { - break; - } else { - $$3611765 = $$3611;$$4587763 = $261;$$5576764 = $259;$$5596762 = $260; - } - } - $scevgep866 = (($$1572) + ($197)|0); - $$9580 = $scevgep866; - } - break; - } - case 4: { - if ($41) { - $$9580 = $$1572; - } else { - $194 = ($$1606|0)>(0); - $195 = Math_imul($$6614736, $$1606)|0; - $$4612756 = $$4612752;$$5588754 = $101;$$6577755 = $$1572;$$6597753 = $100; - while(1) { - if ($194) { - $$11630749 = 0; - while(1) { - $263 = (($$6577755) + ($$11630749)|0); - $264 = HEAP8[$263>>0]|0; - $265 = $264&255; - $266 = (($$11630749) - ($15))|0; - $267 = (($$6597753) + ($266)|0); - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - $270 = (($$5588754) + ($$11630749)|0); - $271 = HEAP8[$270>>0]|0; - $272 = $271&255; - $273 = (($$5588754) + ($266)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = (_stbi__paeth($269,$272,$275)|0); - $277 = (($276) + ($265))|0; - $278 = $277&255; - $279 = (($$6597753) + ($$11630749)|0); - HEAP8[$279>>0] = $278; - $280 = (($$11630749) + 1)|0; - $exitcond863 = ($280|0)==($$1606|0); - if ($exitcond863) { - break; - } else { - $$11630749 = $280; - } - } - } - $281 = (($$6597753) + ($$1606)|0); - HEAP8[$281>>0] = -1; - $282 = (($$6577755) + ($$1606)|0); - $283 = (($$6597753) + ($15)|0); - $284 = (($$5588754) + ($15)|0); - $$4612 = (($$4612756) + -1)|0; - $285 = ($$4612|0)==(0); - if ($285) { - break; - } else { - $$4612756 = $$4612;$$5588754 = $284;$$6577755 = $282;$$6597753 = $283; - } - } - $scevgep864 = (($$1572) + ($195)|0); - $$9580 = $scevgep864; - } - break; - } - case 5: { - if ($42) { - $$9580 = $$1572; - } else { - $192 = ($$1606|0)>(0); - $193 = Math_imul($$6614736, $$1606)|0; - $$5613747 = $$5613744;$$7578746 = $$1572;$$7598745 = $100; - while(1) { - if ($192) { - $$12741 = 0; - while(1) { - $286 = (($$7578746) + ($$12741)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = (($$12741) - ($15))|0; - $290 = (($$7598745) + ($289)|0); - $291 = HEAP8[$290>>0]|0; - $292 = $291&255; - $293 = $292 >>> 1; - $294 = (($293) + ($288))|0; - $295 = $294&255; - $296 = (($$7598745) + ($$12741)|0); - HEAP8[$296>>0] = $295; - $297 = (($$12741) + 1)|0; - $exitcond861 = ($297|0)==($$1606|0); - if ($exitcond861) { - break; - } else { - $$12741 = $297; - } - } - } - $298 = (($$7598745) + ($$1606)|0); - HEAP8[$298>>0] = -1; - $299 = (($$7578746) + ($$1606)|0); - $300 = (($$7598745) + ($15)|0); - $$5613 = (($$5613747) + -1)|0; - $301 = ($$5613|0)==(0); - if ($301) { - break; - } else { - $$5613747 = $$5613;$$7578746 = $299;$$7598745 = $300; - } - } - $scevgep862 = (($$1572) + ($193)|0); - $$9580 = $scevgep862; - } - break; - } - case 6: { - if ($43) { - $$9580 = $$1572; - } else { - $190 = ($$1606|0)>(0); - $191 = Math_imul($$6614736, $$1606)|0; - $$6614739 = $$6614736;$$8579738 = $$1572;$$8599737 = $100; - while(1) { - if ($190) { - $$13733 = 0; - while(1) { - $302 = (($$8579738) + ($$13733)|0); - $303 = HEAP8[$302>>0]|0; - $304 = $303&255; - $305 = (($$13733) - ($15))|0; - $306 = (($$8599737) + ($305)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = (_stbi__paeth($308,0,0)|0); - $310 = (($309) + ($304))|0; - $311 = $310&255; - $312 = (($$8599737) + ($$13733)|0); - HEAP8[$312>>0] = $311; - $313 = (($$13733) + 1)|0; - $exitcond859 = ($313|0)==($$1606|0); - if ($exitcond859) { - break; - } else { - $$13733 = $313; - } - } - } - $314 = (($$8599737) + ($$1606)|0); - HEAP8[$314>>0] = -1; - $315 = (($$8579738) + ($$1606)|0); - $316 = (($$8599737) + ($15)|0); - $$6614 = (($$6614739) + -1)|0; - $317 = ($$6614|0)==(0); - if ($317) { - break; - } else { - $$6614739 = $$6614;$$8579738 = $315;$$8599737 = $316; - } - } - $scevgep860 = (($$1572) + ($191)|0); - $$9580 = $scevgep860; - } - break; - } - default: { - $$9580 = $$1572; - } - } - if ($brmerge888) { - $$11$ph = $$9580; - } else { - $318 = HEAP32[$21>>2]|0; - $319 = (($318) + ($45)|0); - $320 = (($$1606) + 1)|0; - $$7615792 = 0;$$9600793 = $319; - while(1) { - $321 = (($$9600793) + ($320)|0); - HEAP8[$321>>0] = -1; - $322 = (($$7615792) + 1)|0; - $323 = (($$9600793) + ($15)|0); - $exitcond874 = ($322|0)==($4|0); - if ($exitcond874) { - $$11$ph = $$9580; - break; - } else { - $$7615792 = $322;$$9600793 = $323; - } - } - } - } - $324 = (($$0617808) + 1)|0; - $325 = ($324>>>0)<($5>>>0); - if ($325) { - $$0571811 = $$11$ph;$$0602810 = $$1603;$$0605809 = $$1606;$$0617808 = $324; - } else { - break L12; - } - } - if ((label|0) == 12) { - ___assert_fail((6689|0),(6057|0),4314,(6644|0)); - // unreachable; - } - else if ((label|0) == 54) { - ___assert_fail((6715|0),(6057|0),4376,(6644|0)); - // unreachable; - } - else if ((label|0) == 101) { - _stbi__err(6732); - $$2 = 0; - return ($$2|0); - } - } - } while(0); - $326 = ($6|0)<(8); - if (!($326)) { - if (!($8)) { - $$2 = 1; - return ($$2|0); - } - $595 = Math_imul($4, $3)|0; - $596 = Math_imul($595, $5)|0; - $597 = ($596|0)==(0); - if ($597) { - $$2 = 1; - return ($$2|0); - } - $598 = HEAP32[$21>>2]|0; - $$0725 = $598;$$8616723 = 0; - while(1) { - $599 = HEAP8[$$0725>>0]|0; - $600 = $599&255; - $601 = $600 << 8; - $602 = ((($$0725)) + 1|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $605 = $601 | $604; - $606 = $605&65535; - HEAP16[$$0725>>1] = $606; - $607 = (($$8616723) + 1)|0; - $608 = ((($$0725)) + 2|0); - $exitcond = ($607|0)==($596|0); - if ($exitcond) { - $$2 = 1; - break; - } else { - $$0725 = $608;$$8616723 = $607; - } - } - return ($$2|0); - } - $327 = ($5|0)==(0); - if ($327) { - $$2 = 1; - return ($$2|0); - } - $328 = (0 - ($26))|0; - $329 = ($7|0)==(0); - $330 = (6428 + ($6)|0); - $$0562718 = (($4) + -1)|0; - $331 = ($$0562718|0)>(-1); - $$1715 = (($4) + -1)|0; - $332 = ($$1715|0)>(-1); - $333 = ($23|0)>(1); - $334 = ($23|0)>(3); - $335 = ($23|0)>(7); - $336 = (($23) + -8)|0; - $337 = $336 >>> 3; - $338 = $337 << 3; - $339 = (($338) + 8)|0; - $340 = (($336) - ($338))|0; - $341 = (($337) + ($11))|0; - $342 = (($341) + 1)|0; - $343 = (($342) - ($26))|0; - $344 = (($23) + -4)|0; - $345 = $344 >>> 2; - $346 = $345 << 2; - $347 = (($346) + 4)|0; - $348 = (($344) - ($346))|0; - $349 = (($345) + ($11))|0; - $350 = (($349) + 1)|0; - $351 = (($350) - ($26))|0; - $352 = (($23) + -2)|0; - $353 = $352 >>> 1; - $354 = $353 << 1; - $355 = (($354) + 2)|0; - $356 = (($352) - ($354))|0; - $357 = (($353) + ($11))|0; - $358 = (($357) + 1)|0; - $359 = (($358) - ($26))|0; - $$1618721 = 0;$indvars$iv = $339;$indvars$iv842 = $343;$indvars$iv845 = $347;$indvars$iv848 = $351;$indvars$iv851 = $355;$indvars$iv854 = $359; - L168: while(1) { - $360 = HEAP32[$21>>2]|0; - $361 = Math_imul($$1618721, $12)|0; - $362 = (($360) + ($361)|0); - $363 = (($362) + ($11)|0); - $364 = (($363) + ($328)|0); - if ($329) { - $365 = HEAP8[$330>>0]|0; - $366 = $365&255; - $371 = $366; - } else { - $371 = 1; - } - switch ($6|0) { - case 4: { - if ($333) { - $scevgep853 = (($360) + ($indvars$iv851)|0); - $$0565709 = $364;$$0568708 = $362;$$14707 = $23; - while(1) { - $367 = HEAP8[$$0565709>>0]|0; - $368 = $367&255; - $369 = $368 >>> 4; - $370 = Math_imul($369, $371)|0; - $372 = $370&255; - $373 = ((($$0568708)) + 1|0); - HEAP8[$$0568708>>0] = $372; - $374 = HEAP8[$$0565709>>0]|0; - $375 = $374 & 15; - $376 = $375&255; - $377 = Math_imul($376, $371)|0; - $378 = $377&255; - $379 = ((($$0568708)) + 2|0); - HEAP8[$373>>0] = $378; - $380 = (($$14707) + -2)|0; - $381 = ((($$0565709)) + 1|0); - $382 = ($380|0)>(1); - if ($382) { - $$0565709 = $381;$$0568708 = $379;$$14707 = $380; - } else { - break; - } - } - $scevgep856 = (($360) + ($indvars$iv854)|0); - $$0565$lcssa = $scevgep856;$$0568$lcssa = $scevgep853;$$14$lcssa = $356; - } else { - $$0565$lcssa = $364;$$0568$lcssa = $362;$$14$lcssa = $23; - } - $383 = ($$14$lcssa|0)==(1); - if ($383) { - $384 = HEAP8[$$0565$lcssa>>0]|0; - $385 = $384&255; - $386 = $385 >>> 4; - $387 = Math_imul($386, $371)|0; - $388 = $387&255; - HEAP8[$$0568$lcssa>>0] = $388; - } - break; - } - case 2: { - if ($334) { - $scevgep847 = (($360) + ($indvars$iv845)|0); - $$1566701 = $364;$$1569700 = $362;$$15699 = $23; - while(1) { - $389 = HEAP8[$$1566701>>0]|0; - $390 = $389&255; - $391 = $390 >>> 6; - $392 = Math_imul($391, $371)|0; - $393 = $392&255; - $394 = ((($$1569700)) + 1|0); - HEAP8[$$1569700>>0] = $393; - $395 = HEAP8[$$1566701>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = $397 & 3; - $399 = Math_imul($398, $371)|0; - $400 = $399&255; - $401 = ((($$1569700)) + 2|0); - HEAP8[$394>>0] = $400; - $402 = HEAP8[$$1566701>>0]|0; - $403 = $402&255; - $404 = $403 >>> 2; - $405 = $404 & 3; - $406 = Math_imul($405, $371)|0; - $407 = $406&255; - $408 = ((($$1569700)) + 3|0); - HEAP8[$401>>0] = $407; - $409 = HEAP8[$$1566701>>0]|0; - $410 = $409 & 3; - $411 = $410&255; - $412 = Math_imul($411, $371)|0; - $413 = $412&255; - $414 = ((($$1569700)) + 4|0); - HEAP8[$408>>0] = $413; - $415 = (($$15699) + -4)|0; - $416 = ((($$1566701)) + 1|0); - $417 = ($415|0)>(3); - if ($417) { - $$1566701 = $416;$$1569700 = $414;$$15699 = $415; - } else { - break; - } - } - $scevgep850 = (($360) + ($indvars$iv848)|0); - $$15$lcssa = $348;$$1566$lcssa = $scevgep850;$$1569$lcssa = $scevgep847; - } else { - $$15$lcssa = $23;$$1566$lcssa = $364;$$1569$lcssa = $362; - } - $418 = ($$15$lcssa|0)>(0); - if ($418) { - $419 = HEAP8[$$1566$lcssa>>0]|0; - $420 = $419&255; - $421 = $420 >>> 6; - $422 = Math_imul($421, $371)|0; - $423 = $422&255; - HEAP8[$$1569$lcssa>>0] = $423; - $424 = ($$15$lcssa|0)==(1); - if (!($424)) { - $425 = ((($$1569$lcssa)) + 1|0); - $426 = HEAP8[$$1566$lcssa>>0]|0; - $427 = $426&255; - $428 = $427 >>> 4; - $429 = $428 & 3; - $430 = Math_imul($429, $371)|0; - $431 = $430&255; - HEAP8[$425>>0] = $431; - $432 = ($$15$lcssa|0)>(2); - if ($432) { - $433 = ((($$1569$lcssa)) + 2|0); - $434 = HEAP8[$$1566$lcssa>>0]|0; - $435 = $434&255; - $436 = $435 >>> 2; - $437 = $436 & 3; - $438 = Math_imul($437, $371)|0; - $439 = $438&255; - HEAP8[$433>>0] = $439; - } - } - } - break; - } - case 1: { - if ($335) { - $scevgep = (($360) + ($indvars$iv)|0); - $$16694 = $23;$$2567696 = $364;$$4695 = $362; - while(1) { - $440 = HEAP8[$$2567696>>0]|0; - $441 = $440&255; - $442 = $441 >>> 7; - $443 = (0 - ($442))|0; - $444 = $371 & $443; - $445 = $444&255; - $446 = ((($$4695)) + 1|0); - HEAP8[$$4695>>0] = $445; - $447 = HEAP8[$$2567696>>0]|0; - $448 = $447&255; - $449 = $448 >>> 6; - $450 = $449 & 1; - $451 = (0 - ($450))|0; - $452 = $371 & $451; - $453 = $452&255; - $454 = ((($$4695)) + 2|0); - HEAP8[$446>>0] = $453; - $455 = HEAP8[$$2567696>>0]|0; - $456 = $455&255; - $457 = $456 >>> 5; - $458 = $457 & 1; - $459 = (0 - ($458))|0; - $460 = $371 & $459; - $461 = $460&255; - $462 = ((($$4695)) + 3|0); - HEAP8[$454>>0] = $461; - $463 = HEAP8[$$2567696>>0]|0; - $464 = $463&255; - $465 = $464 >>> 4; - $466 = $465 & 1; - $467 = (0 - ($466))|0; - $468 = $371 & $467; - $469 = $468&255; - $470 = ((($$4695)) + 4|0); - HEAP8[$462>>0] = $469; - $471 = HEAP8[$$2567696>>0]|0; - $472 = $471&255; - $473 = $472 >>> 3; - $474 = $473 & 1; - $475 = (0 - ($474))|0; - $476 = $371 & $475; - $477 = $476&255; - $478 = ((($$4695)) + 5|0); - HEAP8[$470>>0] = $477; - $479 = HEAP8[$$2567696>>0]|0; - $480 = $479&255; - $481 = $480 >>> 2; - $482 = $481 & 1; - $483 = (0 - ($482))|0; - $484 = $371 & $483; - $485 = $484&255; - $486 = ((($$4695)) + 6|0); - HEAP8[$478>>0] = $485; - $487 = HEAP8[$$2567696>>0]|0; - $488 = $487&255; - $489 = $488 >>> 1; - $490 = $489 & 1; - $491 = (0 - ($490))|0; - $492 = $371 & $491; - $493 = $492&255; - $494 = ((($$4695)) + 7|0); - HEAP8[$486>>0] = $493; - $495 = HEAP8[$$2567696>>0]|0; - $496 = $495 & 1; - $497 = $496&255; - $498 = (0 - ($497))|0; - $499 = $371 & $498; - $500 = $499&255; - $501 = ((($$4695)) + 8|0); - HEAP8[$494>>0] = $500; - $502 = (($$16694) + -8)|0; - $503 = ((($$2567696)) + 1|0); - $504 = ($502|0)>(7); - if ($504) { - $$16694 = $502;$$2567696 = $503;$$4695 = $501; - } else { - break; - } - } - $scevgep844 = (($360) + ($indvars$iv842)|0); - $$16$lcssa = $340;$$2567$lcssa = $scevgep844;$$4$lcssa = $scevgep; - } else { - $$16$lcssa = $23;$$2567$lcssa = $364;$$4$lcssa = $362; - } - $505 = ($$16$lcssa|0)>(0); - if ($505) { - $506 = HEAP8[$$2567$lcssa>>0]|0; - $507 = $506&255; - $508 = $507 >>> 7; - $509 = (0 - ($508))|0; - $510 = $371 & $509; - $511 = $510&255; - HEAP8[$$4$lcssa>>0] = $511; - $512 = ($$16$lcssa|0)==(1); - if (!($512)) { - $513 = ((($$4$lcssa)) + 1|0); - $514 = HEAP8[$$2567$lcssa>>0]|0; - $515 = $514&255; - $516 = $515 >>> 6; - $517 = $516 & 1; - $518 = (0 - ($517))|0; - $519 = $371 & $518; - $520 = $519&255; - HEAP8[$513>>0] = $520; - $521 = ($$16$lcssa|0)>(2); - if ($521) { - $522 = ((($$4$lcssa)) + 2|0); - $523 = HEAP8[$$2567$lcssa>>0]|0; - $524 = $523&255; - $525 = $524 >>> 5; - $526 = $525 & 1; - $527 = (0 - ($526))|0; - $528 = $371 & $527; - $529 = $528&255; - HEAP8[$522>>0] = $529; - $530 = ($$16$lcssa|0)==(3); - if (!($530)) { - $531 = ((($$4$lcssa)) + 3|0); - $532 = HEAP8[$$2567$lcssa>>0]|0; - $533 = $532&255; - $534 = $533 >>> 4; - $535 = $534 & 1; - $536 = (0 - ($535))|0; - $537 = $371 & $536; - $538 = $537&255; - HEAP8[$531>>0] = $538; - $539 = ($$16$lcssa|0)>(4); - if ($539) { - $540 = ((($$4$lcssa)) + 4|0); - $541 = HEAP8[$$2567$lcssa>>0]|0; - $542 = $541&255; - $543 = $542 >>> 3; - $544 = $543 & 1; - $545 = (0 - ($544))|0; - $546 = $371 & $545; - $547 = $546&255; - HEAP8[$540>>0] = $547; - $548 = ($$16$lcssa|0)==(5); - if (!($548)) { - $549 = ((($$4$lcssa)) + 5|0); - $550 = HEAP8[$$2567$lcssa>>0]|0; - $551 = $550&255; - $552 = $551 >>> 2; - $553 = $552 & 1; - $554 = (0 - ($553))|0; - $555 = $371 & $554; - $556 = $555&255; - HEAP8[$549>>0] = $556; - $557 = ($$16$lcssa|0)>(6); - if ($557) { - $558 = ((($$4$lcssa)) + 6|0); - $559 = HEAP8[$$2567$lcssa>>0]|0; - $560 = $559&255; - $561 = $560 >>> 1; - $562 = $561 & 1; - $563 = (0 - ($562))|0; - $564 = $371 & $563; - $565 = $564&255; - HEAP8[$558>>0] = $565; - } - } - } - } - } - } - } - break; - } - default: { - } - } - L207: do { - if (!($17)) { - $566 = HEAP32[$21>>2]|0; - $567 = (($566) + ($361)|0); - switch ($14|0) { - case 1: { - if ($331) { - $$0562719 = $$0562718; - } else { - break L207; - } - while(1) { - $568 = $$0562719 << 1; - $569 = $568 | 1; - $570 = (($567) + ($569)|0); - HEAP8[$570>>0] = -1; - $571 = (($567) + ($$0562719)|0); - $572 = HEAP8[$571>>0]|0; - $573 = (($567) + ($568)|0); - HEAP8[$573>>0] = $572; - $$0562 = (($$0562719) + -1)|0; - $574 = ($$0562|0)>(-1); - if ($574) { - $$0562719 = $$0562; - } else { - break; - } - } - break; - } - case 3: { - if ($332) { - $$1716 = $$1715; - } else { - break L207; - } - while(1) { - $575 = $$1716 << 2; - $576 = $575 | 3; - $577 = (($567) + ($576)|0); - HEAP8[$577>>0] = -1; - $578 = ($$1716*3)|0; - $579 = (($578) + 2)|0; - $580 = (($567) + ($579)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $575 | 2; - $583 = (($567) + ($582)|0); - HEAP8[$583>>0] = $581; - $584 = (($578) + 1)|0; - $585 = (($567) + ($584)|0); - $586 = HEAP8[$585>>0]|0; - $587 = $575 | 1; - $588 = (($567) + ($587)|0); - HEAP8[$588>>0] = $586; - $589 = (($567) + ($578)|0); - $590 = HEAP8[$589>>0]|0; - $591 = (($567) + ($575)|0); - HEAP8[$591>>0] = $590; - $$1 = (($$1716) + -1)|0; - $592 = ($$1|0)>(-1); - if ($592) { - $$1716 = $$1; - } else { - break; - } - } - break; - } - default: { - label = 140; - break L168; - } - } - } - } while(0); - $593 = (($$1618721) + 1)|0; - $594 = ($593>>>0)<($5>>>0); - $indvars$iv$next = (($indvars$iv) + ($12))|0; - $indvars$iv$next843 = (($indvars$iv842) + ($12))|0; - $indvars$iv$next846 = (($indvars$iv845) + ($12))|0; - $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; - $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; - $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; - if ($594) { - $$1618721 = $593;$indvars$iv = $indvars$iv$next;$indvars$iv842 = $indvars$iv$next843;$indvars$iv845 = $indvars$iv$next846;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855; - } else { - $$2 = 1; - label = 147; - break; - } - } - if ((label|0) == 140) { - ___assert_fail((6747|0),(6057|0),4465,(6644|0)); - // unreachable; - } - else if ((label|0) == 147) { - return ($$2|0); - } - return (0)|0; -} -function _stbi__paeth($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = (($1) + ($0))|0; - $4 = (($3) - ($2))|0; - $5 = (($4) - ($0))|0; - $ispos = ($5|0)>(-1); - $neg = (0 - ($5))|0; - $6 = $ispos ? $5 : $neg; - $7 = (($4) - ($1))|0; - $ispos26 = ($7|0)>(-1); - $neg27 = (0 - ($7))|0; - $8 = $ispos26 ? $7 : $neg27; - $9 = (($4) - ($2))|0; - $ispos28 = ($9|0)>(-1); - $neg29 = (0 - ($9))|0; - $10 = $ispos28 ? $9 : $neg29; - $11 = ($6|0)>($8|0); - $12 = ($6|0)>($10|0); - $or$cond = $11 | $12; - $13 = ($8|0)>($10|0); - $$ = $13 ? $2 : $1; - $$0 = $or$cond ? $$ : $0; - return ($$0|0); -} -function _stbi__do_zlib($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 20|0); - HEAP32[$5>>2] = $1; - $6 = ((($0)) + 16|0); - HEAP32[$6>>2] = $1; - $7 = (($1) + ($2)|0); - $8 = ((($0)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = ((($0)) + 28|0); - HEAP32[$9>>2] = $3; - $10 = (_stbi__parse_zlib($0,$4)|0); - return ($10|0); -} -function _stbi__parse_zlib($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - if (!($2)) { - $3 = (_stbi__parse_zlib_header($0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - } - $5 = ((($0)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = ((($0)) + 12|0); - HEAP32[$6>>2] = 0; - $7 = ((($0)) + 32|0); - $8 = ((($0)) + 2052|0); - L5: while(1) { - $9 = (_stbi__zreceive($0,1)|0); - $10 = (_stbi__zreceive($0,2)|0); - switch ($10|0) { - case 3: { - $$0 = 0; - label = 11; - break L5; - break; - } - case 0: { - $11 = (_stbi__parse_uncompressed_block($0)|0); - $12 = ($11|0)==(0); - if ($12) { - $$0 = 0; - label = 11; - break L5; - } - break; - } - case 1: { - $13 = (_stbi__zbuild_huffman($7,6758,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 11; - break L5; - } - $15 = (_stbi__zbuild_huffman($8,7046,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - break; - } - default: { - $17 = (_stbi__compute_huffman_codes($0)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - } - } - if ((label|0) == 9) { - label = 0; - $19 = (_stbi__parse_huffman_block($0)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 11; - break; - } - } - $21 = ($9|0)==(0); - if (!($21)) { - $$0 = 1; - label = 11; - break; - } - } - if ((label|0) == 11) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__zget8($0)|0); - $2 = $1&255; - $3 = $2 & 15; - $4 = (_stbi__zget8($0)|0); - $5 = $4&255; - $6 = $2 << 8; - $7 = $6 | $5; - $8 = (($7>>>0) % 31)&-1; - $9 = ($8|0)==(0); - if (!($9)) { - _stbi__err(7412); - $$0 = 0; - return ($$0|0); - } - $10 = $5 & 32; - $11 = ($10|0)==(0); - if (!($11)) { - _stbi__err(7428); - $$0 = 0; - return ($$0|0); - } - $12 = ($3|0)==(8); - if ($12) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(7443); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<($1|0); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = 1 << $1; - $8 = (($7) + -1)|0; - $9 = $6 & $8; - $10 = $6 >>> $1; - HEAP32[$5>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) - ($1))|0; - HEAP32[$2>>2] = $12; - return ($9|0); -} -function _stbi__parse_uncompressed_block($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & 7; - $5 = ($4|0)==(0); - if ($5) { - $$ph = $3; - } else { - (_stbi__zreceive($0,$4)|0); - $$pr = HEAP32[$2>>2]|0; - $$ph = $$pr; - } - $6 = ($$ph|0)>(0); - if ($6) { - $7 = ((($0)) + 12|0); - $$promoted = HEAP32[$7>>2]|0; - $8 = $$ph ^ -1; - $9 = ($8|0)>(-9); - $smax = $9 ? $8 : -9; - $10 = (($$ph) + ($smax))|0; - $11 = (($10) + 8)|0; - $12 = $11 >>> 3; - $13 = (($12) + 1)|0; - $14 = $12 << 3; - $$037 = 0;$16 = $$promoted; - while(1) { - $15 = $16&255; - $17 = (($$037) + 1)|0; - $18 = (($1) + ($$037)|0); - HEAP8[$18>>0] = $15; - $19 = $16 >>> 8; - $exitcond47 = ($17|0)==($13|0); - if ($exitcond47) { - break; - } else { - $$037 = $17;$16 = $19; - } - } - $20 = (($$ph) + -8)|0; - $21 = (($20) - ($14))|0; - HEAP32[$7>>2] = $19; - HEAP32[$2>>2] = $21; - $$0$lcssa = $13;$$lcssa = $21; - } else { - $$0$lcssa = 0;$$lcssa = $$ph; - } - $22 = ($$lcssa|0)==(0); - if (!($22)) { - ___assert_fail((7334|0),(6057|0),4033,(7351|0)); - // unreachable; - } - $23 = ($$0$lcssa|0)<(4); - if ($23) { - $$136 = $$0$lcssa; - while(1) { - $24 = (_stbi__zget8($0)|0); - $25 = (($$136) + 1)|0; - $26 = (($1) + ($$136)|0); - HEAP8[$26>>0] = $24; - $exitcond = ($25|0)==(4); - if ($exitcond) { - break; - } else { - $$136 = $25; - } - } - } - $27 = ((($1)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP8[$1>>0]|0; - $32 = $31&255; - $33 = $30 | $32; - $34 = ((($1)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 << 8; - $38 = ((($1)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $37 | $40; - $42 = $33 ^ 65535; - $43 = ($41|0)==($42|0); - if (!($43)) { - _stbi__err(7382); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($33)|0); - $46 = ((($0)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($45>>>0)>($47>>>0); - if ($48) { - _stbi__err(7395); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $49 = ((($0)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($33)|0); - $52 = ((($0)) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51>>>0)>($53>>>0); - if ($54) { - $55 = (_stbi__zexpand($0,$50,$33)|0); - $56 = ($55|0)==(0); - if ($56) { - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - } - $57 = HEAP32[$49>>2]|0; - $58 = HEAP32[$0>>2]|0; - _memcpy(($57|0),($58|0),($33|0))|0; - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + ($33)|0); - HEAP32[$0>>2] = $60; - $61 = HEAP32[$49>>2]|0; - $62 = (($61) + ($33)|0); - HEAP32[$49>>2] = $62; - $$034 = 1; - STACKTOP = sp;return ($$034|0); -} -function _stbi__zbuild_huffman($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $3 = sp + 72|0; - $4 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($0|0),0,1024)|0; - $5 = ($2|0)>(0); - if ($5) { - $$07688 = 0; - while(1) { - $6 = (($1) + ($$07688)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($4) + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = (($$07688) + 1)|0; - $exitcond91 = ($12|0)==($2|0); - if ($exitcond91) { - break; - } else { - $$07688 = $12; - } - } - } - HEAP32[$4>>2] = 0; - $16 = ((($4)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(2); - if (!($18)) { - $13 = ((($4)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(4); - if (!($15)) { - $69 = ((($4)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(8); - if (!($71)) { - $72 = ((($4)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(16); - if (!($74)) { - $75 = ((($4)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(32); - if (!($77)) { - $78 = ((($4)) + 24|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(64); - if (!($80)) { - $81 = ((($4)) + 28|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(128); - if (!($83)) { - $84 = ((($4)) + 32|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(256); - if (!($86)) { - $87 = ((($4)) + 36|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(512); - if (!($89)) { - $90 = ((($4)) + 40|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(1024); - if (!($92)) { - $93 = ((($4)) + 44|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(2048); - if (!($95)) { - $96 = ((($4)) + 48|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(4096); - if (!($98)) { - $99 = ((($4)) + 52|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(8192); - if (!($101)) { - $102 = ((($4)) + 56|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(16384); - if (!($104)) { - $105 = ((($4)) + 60|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)>(32768); - if (!($107)) { - $$07785 = 0;$$07884 = 0;$$286 = 1; - while(1) { - $19 = (($3) + ($$286<<2)|0); - HEAP32[$19>>2] = $$07884; - $20 = $$07884&65535; - $21 = (((($0)) + 1024|0) + ($$286<<1)|0); - HEAP16[$21>>1] = $20; - $22 = $$07785&65535; - $23 = (((($0)) + 1124|0) + ($$286<<1)|0); - HEAP16[$23>>1] = $22; - $24 = (($4) + ($$286<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($$07884))|0; - $27 = ($25|0)!=(0); - $28 = 1 << $$286; - $29 = ($26|0)>($28|0); - $or$cond = $27 & $29; - if ($or$cond) { - label = 7; - break; - } - $30 = (16 - ($$286))|0; - $31 = $26 << $30; - $32 = (((($0)) + 1056|0) + ($$286<<2)|0); - HEAP32[$32>>2] = $31; - $33 = $26 << 1; - $34 = (($25) + ($$07785))|0; - $35 = (($$286) + 1)|0; - $36 = ($35|0)<(16); - if ($36) { - $$07785 = $34;$$07884 = $33;$$286 = $35; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(7272); - $$075 = 0; - STACKTOP = sp;return ($$075|0); - } - $37 = ((($0)) + 1120|0); - HEAP32[$37>>2] = 65536; - $38 = ($2|0)>(0); - if ($38) { - $$382 = 0; - } else { - $$075 = 1; - STACKTOP = sp;return ($$075|0); - } - while(1) { - $39 = (($1) + ($$382)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ($40<<24>>24)==(0); - if (!($42)) { - $43 = (($3) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($0)) + 1024|0) + ($41<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) - ($47))|0; - $49 = (((($0)) + 1124|0) + ($41<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($48) + ($51))|0; - $53 = $41 << 9; - $54 = $53 | $$382; - $55 = $54&65535; - $56 = (((($0)) + 1156|0) + ($52)|0); - HEAP8[$56>>0] = $40; - $57 = $$382&65535; - $58 = (((($0)) + 1444|0) + ($52<<1)|0); - HEAP16[$58>>1] = $57; - $59 = ($40&255)<(10); - do { - if ($59) { - $60 = (_stbi__bit_reverse($44,$41)|0); - $61 = ($60|0)<(512); - if (!($61)) { - break; - } - $62 = 1 << $41; - $$081 = $60; - while(1) { - $63 = (($0) + ($$081<<1)|0); - HEAP16[$63>>1] = $55; - $64 = (($$081) + ($62))|0; - $65 = ($64|0)<(512); - if ($65) { - $$081 = $64; - } else { - break; - } - } - } - } while(0); - $66 = HEAP32[$43>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$43>>2] = $67; - } - $68 = (($$382) + 1)|0; - $exitcond = ($68|0)==($2|0); - if ($exitcond) { - $$075 = 1; - break; - } else { - $$382 = $68; - } - } - STACKTOP = sp;return ($$075|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(7324); - $$075 = 0; - STACKTOP = sp;return ($$075|0); -} -function _stbi__compute_huffman_codes($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); - $1 = sp; - $2 = sp + 2039|0; - $3 = sp + 2020|0; - $4 = (_stbi__zreceive($0,5)|0); - $5 = (($4) + 257)|0; - $6 = (_stbi__zreceive($0,5)|0); - $7 = (($6) + 1)|0; - $8 = (_stbi__zreceive($0,4)|0); - $9 = (($8) + 4)|0; - $10 = (($7) + ($5))|0; - dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $11 = ($9|0)>(0); - if ($11) { - $$06579 = 0; - while(1) { - $12 = (_stbi__zreceive($0,3)|0); - $13 = $12&255; - $14 = (7253 + ($$06579)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (($3) + ($16)|0); - HEAP8[$17>>0] = $13; - $18 = (($$06579) + 1)|0; - $exitcond = ($18|0)==($9|0); - if ($exitcond) { - break; - } else { - $$06579 = $18; - } - } - } - $19 = (_stbi__zbuild_huffman($1,$3,19)|0); - $20 = ($19|0)==(0); - if ($20) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = ($10|0)>(0); - L8: do { - if ($21) { - $$06678 = 0; - L9: while(1) { - $22 = (_stbi__zhuffman_decode($0,$1)|0); - $23 = ($22>>>0)>(18); - if ($23) { - label = 6; - break; - } - $24 = ($22|0)<(16); - if ($24) { - $25 = $22&255; - $26 = (($$06678) + 1)|0; - $27 = (($2) + ($$06678)|0); - HEAP8[$27>>0] = $25; - $$066$be = $26; - } else { - switch ($22|0) { - case 16: { - $28 = (_stbi__zreceive($0,2)|0); - $29 = ($$06678|0)==(0); - if ($29) { - label = 11; - break L9; - } - $30 = (($28) + 3)|0; - $31 = (($$06678) + -1)|0; - $32 = (($2) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $$0 = $33;$$061 = $30; - break; - } - case 17: { - $34 = (_stbi__zreceive($0,3)|0); - $35 = (($34) + 3)|0; - $$0 = 0;$$061 = $35; - break; - } - case 18: { - $36 = (_stbi__zreceive($0,7)|0); - $37 = (($36) + 11)|0; - $$0 = 0;$$061 = $37; - break; - } - default: { - label = 14; - break L9; - } - } - $38 = (($10) - ($$06678))|0; - $39 = ($38|0)<($$061|0); - if ($39) { - label = 17; - break; - } - $40 = (($2) + ($$06678)|0); - _memset(($40|0),($$0|0),($$061|0))|0; - $41 = (($$061) + ($$06678))|0; - $$066$be = $41; - } - $42 = ($10|0)>($$066$be|0); - if ($42) { - $$06678 = $$066$be; - } else { - $$066$lcssa = $$066$be; - break L8; - } - } - if ((label|0) == 6) { - _stbi__err(7272); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 11) { - _stbi__err(7272); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 14) { - ___assert_fail((7288|0),(6057|0),4006,(7296|0)); - // unreachable; - } - else if ((label|0) == 17) { - _stbi__err(7272); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } else { - $$066$lcssa = 0; - } - } while(0); - $43 = ($10|0)==($$066$lcssa|0); - if (!($43)) { - _stbi__err(7272); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $44 = ((($0)) + 32|0); - $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); - $46 = ($45|0)==(0); - if ($46) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $47 = ((($0)) + 2052|0); - $48 = (($2) + ($5)|0); - $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); - $not$ = ($49|0)!=(0); - $$ = $not$&1; - $$4 = $$; - STACKTOP = sp;return ($$4|0); -} -function _stbi__parse_huffman_block($0) { - $0 = $0|0; - var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 32|0); - $4 = ((($0)) + 24|0); - $5 = ((($0)) + 2052|0); - $6 = ((($0)) + 20|0); - $7 = ((($0)) + 24|0); - $$070 = $2; - while(1) { - $10 = (_stbi__zhuffman_decode($0,$3)|0); - $11 = ($10|0)<(256); - if ($11) { - $12 = ($10|0)<(0); - if ($12) { - label = 6; - break; - } - $13 = HEAP32[$4>>2]|0; - $14 = ($$070>>>0)<($13>>>0); - if ($14) { - $$171 = $$070; - } else { - $15 = (_stbi__zexpand($0,$$070,1)|0); - $16 = ($15|0)==(0); - if ($16) { - $$3$ph = 0; - label = 28; - break; - } - $17 = HEAP32[$1>>2]|0; - $$171 = $17; - } - $18 = $10&255; - $19 = ((($$171)) + 1|0); - HEAP8[$$171>>0] = $18; - $$070 = $19; - continue; - } - $20 = ($10|0)==(256); - if ($20) { - label = 12; - break; - } - $21 = (($10) + -257)|0; - $22 = (3152 + ($21<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($10) + -265)|0; - $25 = ($24>>>0)<(20); - if ($25) { - $26 = (3276 + ($21<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_stbi__zreceive($0,$27)|0); - $29 = (($28) + ($23))|0; - $$064 = $29; - } else { - $$064 = $23; - } - $30 = (_stbi__zhuffman_decode($0,$5)|0); - $31 = ($30|0)<(0); - if ($31) { - label = 16; - break; - } - $32 = (3400 + ($30<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($30) + -4)|0; - $35 = ($34>>>0)<(26); - if ($35) { - $36 = (3528 + ($30<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_stbi__zreceive($0,$37)|0); - $39 = (($38) + ($33))|0; - $$063 = $39; - } else { - $$063 = $33; - } - $40 = HEAP32[$6>>2]|0; - $41 = $$070; - $42 = (($41) - ($40))|0; - $43 = ($42|0)<($$063|0); - if ($43) { - label = 20; - break; - } - $44 = (($$070) + ($$064)|0); - $45 = HEAP32[$7>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($0,$$070,$$064)|0); - $48 = ($47|0)==(0); - if ($48) { - $$3$ph = 0; - label = 28; - break; - } - $49 = HEAP32[$1>>2]|0; - $$272 = $49; - } else { - $$272 = $$070; - } - $50 = (0 - ($$063))|0; - $9 = (($$272) + ($50)|0); - $51 = ($$063|0)==(1); - $52 = ($$064|0)!=(0); - if ($51) { - if (!($52)) { - $$070 = $$272; - continue; - } - $8 = HEAP8[$9>>0]|0; - _memset(($$272|0),($8|0),($$064|0))|0; - $scevgep92 = (($$272) + ($$064)|0); - $$070 = $scevgep92; - continue; - } - if ($52) { - $$067 = $9;$$266 = $$064;$$5 = $$272; - } else { - $$070 = $$272; - continue; - } - while(1) { - $53 = ((($$067)) + 1|0); - $54 = HEAP8[$$067>>0]|0; - $55 = ((($$5)) + 1|0); - HEAP8[$$5>>0] = $54; - $56 = (($$266) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $$067 = $53;$$266 = $56;$$5 = $55; - } - } - $scevgep = (($$272) + ($$064)|0); - $$070 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(7078); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 12) { - HEAP32[$1>>2] = $$070; - $$3$ph = 1; - return ($$3$ph|0); - } - else if ((label|0) == 16) { - _stbi__err(7078); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 20) { - _stbi__err(7095); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 28) { - return ($$3$ph|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(16); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 511; - $8 = (($1) + ($7<<1)|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($9<<16>>16)==(0); - if ($11) { - $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); - $$0 = $17; - return ($$0|0); - } else { - $12 = $10 >>> 9; - $13 = $6 >>> $12; - HEAP32[$5>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) - ($12))|0; - HEAP32[$2>>2] = $15; - $16 = $10 & 511; - $$0 = $16; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - HEAP32[$3>>2] = $1; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - _stbi__err(7104); - $$0 = 0; - return ($$0|0); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = $1; - $10 = $8; - $11 = (($9) - ($10))|0; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) - ($10))|0; - $15 = (($11) + ($2))|0; - $$029 = $14; - while(1) { - $16 = ($15|0)>($$029|0); - $17 = $$029 << 1; - if ($16) { - $$029 = $17; - } else { - break; - } - } - $18 = (_realloc($8,$$029)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(6022); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$7>>2] = $18; - $20 = (($18) + ($11)|0); - HEAP32[$3>>2] = $20; - $21 = (($18) + ($$029)|0); - HEAP32[$12>>2] = $21; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 12|0); - $2 = ((($0)) + 8|0); - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = 1 << $4; - $6 = ($3>>>0)<($5>>>0); - if (!($6)) { - label = 3; - break; - } - $7 = (_stbi__zget8($0)|0); - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = $8 << $9; - $11 = HEAP32[$1>>2]|0; - $12 = $11 | $10; - HEAP32[$1>>2] = $12; - $13 = (($9) + 8)|0; - HEAP32[$2>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((7200|0),(6057|0),3848,(7237|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_stbi__bit_reverse($3,16)|0); - $$025 = 10; - while(1) { - $5 = (((($1)) + 1056|0) + ($$025<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - $8 = (($$025) + 1)|0; - if ($7) { - break; - } else { - $$025 = $8; - } - } - $9 = ($$025|0)==(16); - if ($9) { - $$0 = -1; - return ($$0|0); - } - $10 = (16 - ($$025))|0; - $11 = $4 >> $10; - $12 = (((($1)) + 1024|0) + ($$025<<1)|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = (($11) - ($14))|0; - $16 = (((($1)) + 1124|0) + ($$025<<1)|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($15) + ($18))|0; - $20 = (((($1)) + 1156|0) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==($$025|0); - if (!($23)) { - ___assert_fail((7124|0),(6057|0),3876,(7140|0)); - // unreachable; - } - $24 = HEAP32[$2>>2]|0; - $25 = $24 >>> $$025; - HEAP32[$2>>2] = $25; - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) - ($$025))|0; - HEAP32[$26>>2] = $28; - $29 = (((($1)) + 1444|0) + ($19<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $$0 = $31; - return ($$0|0); -} -function _stbi__bit_reverse($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(17); - if ($2) { - $3 = (_stbi__bitreverse16($0)|0); - $4 = (16 - ($1))|0; - $5 = $3 >> $4; - return ($5|0); - } else { - ___assert_fail((7171|0),(6057|0),3766,(7182|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = $0 >>> 1; - $2 = $1 & 21845; - $3 = $0 << 1; - $4 = $3 & 43690; - $5 = $2 | $4; - $6 = $5 >>> 2; - $7 = $6 & 13107; - $8 = $5 << 2; - $9 = $8 & 52428; - $10 = $7 | $9; - $11 = $10 >>> 4; - $12 = $11 & 3855; - $13 = $10 << 4; - $14 = $13 & 61680; - $15 = $12 | $14; - $16 = $15 >>> 8; - $17 = $15 << 8; - $18 = $17 & 65280; - $19 = $18 | $16; - return ($19|0); -} -function _stbi__zget8($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); -} -function _stbi__refill_buffer($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 40|0); - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($0)) + 32|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 168|0); - HEAP32[$11>>2] = $5; - $12 = ((($0)) + 41|0); - $13 = ((($0)) + 172|0); - HEAP32[$13>>2] = $12; - HEAP8[$5>>0] = 0; - return; - } else { - $14 = ((($0)) + 168|0); - HEAP32[$14>>2] = $5; - $15 = (((($0)) + 40|0) + ($8)|0); - $16 = ((($0)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 176|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 168|0); - HEAP32[$3>>2] = $2; - $4 = ((($0)) + 180|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 172|0); - HEAP32[$6>>2] = $5; - return; -} -function _stbi__hdr_gettoken($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$014 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $$014 = 0; - while(1) { - $2 = (_stbi__get8($0)|0); - $3 = (_stbi__at_eof($0)|0); - $4 = ($3|0)!=(0); - $5 = ($2<<24>>24)==(10); - $or$cond = $5 | $4; - if ($or$cond) { - $$1 = $$014; - break; - } - $6 = (($$014) + 1)|0; - $7 = (($1) + ($$014)|0); - HEAP8[$7>>0] = $2; - $8 = ($6|0)==(1023); - if ($8) { - label = 4; - break; - } else { - $$014 = $6; - } - } - L4: do { - if ((label|0) == 4) { - while(1) { - label = 0; - $9 = (_stbi__at_eof($0)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $$1 = $6; - break L4; - } - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $$1 = $6; - break; - } else { - label = 4; - } - } - } - } while(0); - $13 = (($1) + ($$1)|0); - HEAP8[$13>>0] = 0; - return ($1|0); -} -function _stbi__hdr_convert($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0.0, $$sink1 = 0, $$sink30 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 3|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - switch ($2|0) { - case 4: { - $38 = ((($0)) + 12|0); - HEAPF32[$38>>2] = 1.0; - label = 10; - break; - } - case 3: { - label = 10; - break; - } - case 2: { - $$sink30 = 1.0; - label = 11; - break; - } - case 1: { - break; - } - default: { - return; - } - } - if ((label|0) == 10) { - $39 = ((($0)) + 8|0); - HEAPF32[$39>>2] = 0.0; - $$sink30 = 0.0; - label = 11; - } - if ((label|0) == 11) { - $40 = ((($0)) + 4|0); - HEAPF32[$40>>2] = $$sink30; - } - HEAPF32[$0>>2] = 0.0; - return; - } - $6 = $4&255; - $7 = (($6) + -136)|0; - $8 = (+_ldexp(1.0,$7)); - $9 = $8; - $10 = ($2|0)<(3); - $11 = HEAP8[$1>>0]|0; - if ($10) { - $12 = $11&255; - $13 = ((($1)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (($15) + ($12))|0; - $17 = ((($1)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = (($16) + ($19))|0; - $21 = (+($20|0)); - $22 = $9 * $21; - $23 = $22 / 3.0; - $$sink = $23;$$sink1 = $0; - } else { - $24 = (+($11&255)); - $25 = $9 * $24; - HEAPF32[$0>>2] = $25; - $26 = ((($1)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $9 * $28; - $30 = ((($0)) + 4|0); - HEAPF32[$30>>2] = $29; - $31 = ((($1)) + 2|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $9 * $33; - $35 = ((($0)) + 8|0); - $$sink = $34;$$sink1 = $35; - } - HEAPF32[$$sink1>>2] = $$sink; - switch ($2|0) { - case 2: { - $36 = ((($0)) + 4|0); - HEAPF32[$36>>2] = 1.0; - return; - break; - } - case 4: { - $37 = ((($0)) + 12|0); - HEAPF32[$37>>2] = 1.0; - return; - break; - } - default: { - return; - } - } -} -function _stbi__at_eof($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_ii[$5 & 15]($7)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); - } - $10 = ((($0)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $$0 = 1; - return ($$0|0); - } - } - $13 = ((($0)) + 168|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 172|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($14>>>0)>=($16>>>0); - $18 = $17&1; - $$0 = $18; - return ($$0|0); -} -function _stbi__hdr_test_core($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$07 = 0, $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - L1: do { - if (!($3)) { - $$08 = 0;$11 = $1; - while(1) { - $8 = (_stbi__get8($0)|0); - $9 = $8&255; - $10 = HEAP8[$11>>0]|0; - $12 = $10 << 24 >> 24; - $13 = ($9|0)==($12|0); - $5 = (($$08) + 1)|0; - if (!($13)) { - $$07 = 0; - break; - } - $4 = (($1) + ($5)|0); - $6 = HEAP8[$4>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - break L1; - } else { - $$08 = $5;$11 = $4; - } - } - return ($$07|0); - } - } while(0); - _stbi__rewind($0); - $$07 = 1; - return ($$07|0); -} -function _stbi__start_callbacks($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; - $4 = ((($0)) + 28|0); - HEAP32[$4>>2] = $2; - $5 = ((($0)) + 36|0); - HEAP32[$5>>2] = 128; - $6 = ((($0)) + 32|0); - HEAP32[$6>>2] = 1; - $7 = ((($0)) + 40|0); - $8 = ((($0)) + 176|0); - HEAP32[$8>>2] = $7; - _stbi__refill_buffer($0); - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 180|0); - HEAP32[$11>>2] = $10; - return; -} -function _stbi__stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fread($1,1,$2,$0)|0); - return ($3|0); -} -function _stbi__stdio_skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($0,$1,1)|0); - return; -} -function _stbi__stdio_eof($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_feof($0)|0); - return ($1|0); -} -function _ImageCopy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx11 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx13 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx15 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = Math_imul($5, $3)|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 18: case 15: case 12: case 11: case 1: { - $$0 = $6; - break; - } - case 6: case 5: case 3: case 2: { - $9 = $6 << 1; - $$0 = $9; - break; - } - case 4: { - $10 = ($6*3)|0; - $$0 = $10; - break; - } - case 7: { - $11 = $6 << 2; - $$0 = $11; - break; - } - case 8: { - $12 = ($6*12)|0; - $$0 = $12; - break; - } - case 17: case 16: case 14: case 13: case 10: case 9: { - $13 = (($6|0) / 2)&-1; - $$0 = $13; - break; - } - case 19: { - $14 = (($6|0) / 4)&-1; - $$0 = $14; - break; - } - default: { - _TraceLog(1,7631,$vararg_buffer); - $$0 = $6; - } - } - $15 = (_malloc($$0)|0); - $16 = ($15|0)==(0|0); - if ($16) { - $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; - } else { - $17 = HEAP32[$1>>2]|0; - _memcpy(($15|0),($17|0),($$0|0))|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = ((($1)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$7>>2]|0; - $$sroa$6$0 = $18;$$sroa$7$0 = $19;$$sroa$8$0 = $21;$$sroa$9$0 = $22; - } - HEAP32[$0>>2] = $15; - $$sroa$6$0$$sroa_idx11 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx11>>2] = $$sroa$6$0; - $$sroa$7$0$$sroa_idx13 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx13>>2] = $$sroa$7$0; - $$sroa$8$0$$sroa_idx15 = ((($0)) + 12|0); - HEAP32[$$sroa$8$0$$sroa_idx15>>2] = $$sroa$8$0; - $$sroa$9$0$$sroa_idx17 = ((($0)) + 16|0); - HEAP32[$$sroa$9$0$$sroa_idx17>>2] = $$sroa$9$0; - STACKTOP = sp;return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($23<<24>>24) { - case 10: { - $25 = HEAP32[$9>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = (($26) + ($25))|0; - $28 = (+($27|0)); - $29 = $12 * $28; - $30 = (~~(($29))); - $31 = (($30) + ($$05153))|0; - $$150 = 0;$$152 = $31;$$2 = $$055; - break; - } - case -62: { - $32 = (($$055) + 1)|0; - $33 = (($1) + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $$1 = $32;$$sink = $35; - label = 8; - break; - } - case -61: { - $36 = (($$055) + 1)|0; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($39) + 64)|0; - $$1 = $36;$$sink = $40; - label = 8; - break; - } - default: { - $$1 = $$055;$$sink = $24; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4780]|0; - $2 = HEAP32[4778]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - $10 = (($2) + 1)|0; - if ($9) { - HEAP32[4778] = $10; - $12 = $10; - } else { - $$pr = HEAP32[4778]|0; - $12 = $$pr; - } - $11 = ($12|0)>(255); - if ($11) { - _rlglDraw(); - HEAP32[4778] = 1; - } - $13 = HEAP32[4780]|0; - $14 = HEAP32[4778]|0; - $15 = (($14) + -1)|0; - $16 = (((($13) + (($15*144)|0)|0)) + 8|0); - HEAP32[$16>>2] = $0; - $17 = (($13) + (($15*144)|0)|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[4966]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(2,7738,$vararg_buffer); - } - $2 = HEAP32[4966]|0; - $3 = (19868 + ($2<<6)|0); - $4 = HEAP32[5223]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[4966]|0; - $6 = (($5) + 1)|0; - HEAP32[4966] = $6; - $7 = HEAP32[5228]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[5224] = 1; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - $5 = HEAP32[5223]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _Vector3Normalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[5223]|0; - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5227] = $0; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[5227]|0; - switch ($4|0) { - case 1: { - $$sink37 = (19132);$$sink38 = (19144); - break; - } - case 4: { - $$sink37 = (19180);$$sink38 = (19192); - break; - } - case 7: { - $$sink37 = (18940);$$sink38 = (18952); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[5227]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(18948)>>2]|0; - $5 = HEAP32[(18936)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(18936)>>2] = $10; - return; -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[917]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[5224]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5225]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[5226]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5223]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Vector3Transform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[5225]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[5224] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[5226]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[5225]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[5224] = 0; - } - HEAP32[5225] = 0; - } - $21 = HEAP32[5227]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[4781]|0; - $23 = HEAP32[(19132)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(19144)>>2]|0; - $28 = HEAP32[(19132)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(19144)>>2]|0; - $35 = HEAP32[(19132)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(19144)>>2]|0; - $43 = HEAP32[(19132)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(19144)>>2]|0; - $51 = HEAP32[(19132)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(19132)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(19132)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[4793]|0; - $62 = HEAP32[(19180)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(19192)>>2]|0; - $67 = HEAP32[(19180)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(19192)>>2]|0; - $74 = HEAP32[(19180)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(19192)>>2]|0; - $82 = HEAP32[(19180)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(19192)>>2]|0; - $90 = HEAP32[(19180)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(19180)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(19180)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[4733]|0; - $101 = HEAP32[(18940)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(18952)>>2]|0; - $106 = HEAP32[(18940)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(18952)>>2]|0; - $113 = HEAP32[(18940)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(18952)>>2]|0; - $121 = HEAP32[(18940)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(18952)>>2]|0; - $129 = HEAP32[(18940)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(18940)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(18940)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[4733]|0; - $140 = HEAP32[(18936)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(18948)>>2]|0; - $$promoted = HEAP32[(18936)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(18936)>>2] = $147; - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - } -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4966]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[4966]|0; - $3 = (($2) + -1)|0; - $4 = (19868 + ($3<<6)|0); - $5 = HEAP32[5223]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[4966] = $6; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4733]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateBuffersDefault(); - _DrawBuffersDefault(); - return; -} -function _UpdateBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4781]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[4838]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[4839]|0; - $5 = HEAP32[(19152)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(19156)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4781]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(19136)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19160)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19132)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(19144)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[4793]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[4838]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[4839]|0; - $19 = HEAP32[(19200)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(19204)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4793]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(19184)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19208)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19180)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(19192)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[4733]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[4838]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[4839]|0; - $33 = HEAP32[(18960)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(18964)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4733]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(18944)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18968)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4733]|0; - $40 = $39 << 3; - $41 = HEAP32[(18948)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18972)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4733]|0; - $44 = $43 << 2; - $45 = HEAP32[(18952)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[4838]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[4839]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawBuffersDefault() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=18980; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=19044; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4777]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[4781]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[4793]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[4733]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[4805]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19044; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=18980; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19248)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19268)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19280)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[4781]|0; - $20 = ($19|0)>(0); - if ($20) { - _glActiveTexture(33984); - $21 = HEAP32[4779]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[4838]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(19156)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19224)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19224)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19160)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19244)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19244)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[4839]|0; - $25 = HEAP32[(19152)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[4781]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4838]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[4793]|0; - $36 = ($35|0)>(0); - if ($36) { - _glActiveTexture(33984); - $37 = HEAP32[4779]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[4838]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(19204)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19224)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19224)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19208)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19244)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19244)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[4839]|0; - $41 = HEAP32[(19200)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[4793]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4838]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[4733]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[4838]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(18964)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19224)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19224)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18968)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19228)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19228)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18972)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19244)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19244)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18976)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[4839]|0; - $56 = HEAP32[(18960)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[4778]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[4780]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - _glActiveTexture(33984); - $76 = HEAP32[4780]|0; - $77 = (((($76) + (($$031*144)|0)|0)) + 8|0); - $78 = HEAP32[$77>>2]|0; - _glBindTexture(3553,($78|0)); - $79 = $$02830 << 1; - $80 = $79; - _glDrawElements(4,($75|0),5123,($80|0)); - $81 = HEAP32[4780]|0; - $82 = (($81) + (($$031*144)|0)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83|0) / 4)&-1; - $85 = ($84*6)|0; - $86 = (($85) + ($$02830))|0; - $87 = (($$031) + 1)|0; - $88 = HEAP32[4778]|0; - $89 = ($87|0)<($88|0); - if ($89) { - $$02830 = $86;$$031 = $87; - } else { - break; - } - } - } - $69 = HEAP32[4838]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $90 = HEAP32[4838]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = HEAP32[4839]|0; - FUNCTION_TABLE_vi[$92 & 31](0); - } - _glUseProgram(0); - $93 = (($$02932) + 1)|0; - $94 = ($93|0)<($$|0); - if ($94) { - $$02932 = $93; - } else { - break; - } - } - HEAP32[4778] = 1; - $5 = HEAP32[4779]|0; - $6 = HEAP32[4780]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[4781] = 0; - HEAP32[(19132)>>2] = 0; - HEAP32[4793] = 0; - HEAP32[(19180)>>2] = 0; - HEAP32[4733] = 0; - HEAP32[(18936)>>2] = 0; - HEAP32[(18940)>>2] = 0; - HEAPF32[917] = -1.0; - dest=18980; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19044; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4856]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4857]|0; - _rlViewport($7,0,$8,$9); - $10 = (19736 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (19608 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 * $4; - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($1)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($2)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($1)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($2)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($2)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($2)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($2)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($2)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($2)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($2)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($2)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($2)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($2)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($2)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($2)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($2)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($1)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($1)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($1)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($1)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($1)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($1)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($1)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($1)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($1)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($1)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($1)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($1)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixToFloat($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[4840] = $1; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(19364)>>2] = $3; - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(19368)>>2] = $5; - $6 = ((($0)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(19372)>>2] = $7; - $8 = ((($0)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(19376)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(19380)>>2] = $11; - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(19384)>>2] = $13; - $14 = ((($0)) + 52|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(19388)>>2] = $15; - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(19392)>>2] = $17; - $18 = ((($0)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(19396)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(19400)>>2] = $21; - $22 = ((($0)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(19404)>>2] = $23; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(19408)>>2] = $25; - $26 = ((($0)) + 28|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(19412)>>2] = $27; - $28 = ((($0)) + 44|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(19416)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(19420)>>2] = $31; - return (19360|0); -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=19044; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=18980; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Vector3Transform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = HEAP32[5224]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5226]|0; - $6 = HEAP32[5225]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[5225] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[5227]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[4781]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(19136)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[4781] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(2,7659,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[4793]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(19184)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[4793] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(2,7684,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[4733]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(18944)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[4733] = $41; - $42 = HEAP32[4780]|0; - $43 = HEAP32[4778]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(2,7713,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _Vector3Normalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_Vector3Length($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _Vector3Length($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = 0.0; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = 0.0; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = 0.0; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $2; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = 0.0; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = 0.0; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = 0.0; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = 0.0; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = 0.0; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[5223]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _FormatText($0,$varargs) { - $0 = $0|0; - $varargs = $varargs|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $varargs; - (_vsprintf(21976,$0,$1)|0); - STACKTOP = sp;return (21976|0); -} -function _DrawFPS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - $2 = sp + 4|0; - $3 = HEAP32[5229]|0; - $4 = HEAP32[918]|0; - $5 = ($3|0)<($4|0); - if ($5) { - $6 = (($3) + 1)|0; - $$sink = $6; - } else { - $7 = (_GetFPS()|0); - HEAP32[5230] = $7; - HEAP32[918] = $7; - $$sink = 0; - } - HEAP32[5229] = $$sink; - $8 = HEAP32[5230]|0; - HEAP32[$$byval_copy>>2] = $8; - (_FormatText(7776,$$byval_copy)|0); - HEAP8[$2>>0] = 0; - $9 = ((($2)) + 1|0); - HEAP8[$9>>0] = -98; - $10 = ((($2)) + 2|0); - HEAP8[$10>>0] = 47; - $11 = ((($2)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(21976,$0,$1,20,$$byval_copy); - STACKTOP = sp;return; -} -function _GetFPS() { - var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_GetFrameTime()); - $1 = 1.0 / $0; - $2 = (~~(($1))); - return ($2|0); -} -function _GetFrameTime() { - var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF64[2259]; - $1 = $0; - return (+$1); -} -function _LoadTexture($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $2 = sp + 24|0; - $3 = sp + 4|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - _LoadImage($3,$1); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - _TraceLog(1,7784,$vararg_buffer); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _LoadTextureFromImage($2,$$byval_copy1); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _UnloadImage($$byval_copy1); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _DrawTextureEx($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy3 = sp + 104|0; - $tmpcast$byval_copy = sp + 96|0; - $$byval_copy2 = sp + 80|0; - $$byval_copy1 = sp + 64|0; - $$byval_copy = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - HEAP32[$5>>2] = 0; - $8 = ((($5)) + 4|0); - HEAP32[$8>>2] = 0; - $9 = ((($5)) + 8|0); - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$9>>2] = $11; - $12 = ((($5)) + 12|0); - $13 = ((($0)) + 8|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$12>>2] = $14; - $15 = +HEAPF32[$1>>2]; - $16 = (~~(($15))); - HEAP32[$6>>2] = $16; - $17 = ((($6)) + 4|0); - $18 = ((($1)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = (~~(($19))); - HEAP32[$17>>2] = $20; - $21 = ((($6)) + 8|0); - $22 = HEAP32[$10>>2]|0; - $23 = (+($22|0)); - $24 = $23 * $3; - $25 = (~~(($24))); - HEAP32[$21>>2] = $25; - $26 = ((($6)) + 12|0); - $27 = HEAP32[$13>>2]|0; - $28 = (+($27|0)); - $29 = $28 * $3; - $30 = (~~(($29))); - HEAP32[$26>>2] = $30; - $31 = $7; - $32 = $31; - HEAP32[$32>>2] = 0; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$5+12>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,$2,$$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _LoadMaterialDefault($0) { - $0 = $0|0; - var $$sroa$05 = 0, $$sroa$05$132$sroa_idx = 0, $$sroa$10$0$$sroa_idx = 0, $$sroa$1014$0$$sroa_idx = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$6$0$$sroa_idx = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(304|0); - $$sroa$05 = sp + 152|0; - $1 = sp + 20|0; - $2 = sp; - _memset(($$sroa$05|0),0,152)|0; - _GetShaderDefault($1); - _memcpy(($$sroa$05|0),($1|0),132)|0; - _GetTextureDefault($2); - $$sroa$05$132$sroa_idx = ((($$sroa$05)) + 132|0); - ;HEAP32[$$sroa$05$132$sroa_idx>>2]=HEAP32[$2>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+16>>2]=HEAP32[$2+16>>2]|0; - _memcpy(($0|0),($$sroa$05|0),152)|0; - $$sroa$6$0$$sroa_idx = ((($0)) + 152|0); - $$sroa$10$0$$sroa_idx = ((($0)) + 156|0); - HEAP32[$$sroa$6$0$$sroa_idx>>2] = -1; - ;HEAP32[$$sroa$10$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+20>>2]=0|0; - $$sroa$1014$0$$sroa_idx = ((($0)) + 180|0); - $$sroa$14$0$$sroa_idx = ((($0)) + 184|0); - HEAP32[$$sroa$1014$0$$sroa_idx>>2] = -1; - _memset(($$sroa$14$0$$sroa_idx|0),0,288)|0; - STACKTOP = sp;return; -} -function _GetShaderDefault($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _memcpy(($0|0),(20924|0),132)|0; - return; -} -function _GetTextureDefault($0) { - $0 = $0|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4779]|0; - HEAP32[$0>>2] = $1; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; - return; -} -function _rlLoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = ((($0)) + 36|0); - $3 = ((($0)) + 40|0); - $4 = ((($0)) + 44|0); - $5 = ((($0)) + 48|0); - $6 = ((($0)) + 52|0); - $7 = ((($0)) + 56|0); - $8 = ((($0)) + 60|0); - $9 = ((($0)) + 64|0); - $10 = ($1|0)!=(0); - $$ = $10 ? 35048 : 35044; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $11 = HEAP32[4838]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = HEAP32[5264]|0; - FUNCTION_TABLE_vii[$13 & 63](1,$2); - $14 = HEAP32[4839]|0; - $15 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vi[$14 & 31]($15); - } - _glGenBuffers(1,($3|0)); - $16 = HEAP32[$3>>2]|0; - _glBindBuffer(34962,($16|0)); - $17 = HEAP32[$0>>2]|0; - $18 = ($17*12)|0; - $19 = ((($0)) + 8|0); - $20 = HEAP32[$19>>2]|0; - _glBufferData(34962,($18|0),($20|0),($$|0)); - _glVertexAttribPointer(0,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(0); - _glGenBuffers(1,($4|0)); - $21 = HEAP32[$4>>2]|0; - _glBindBuffer(34962,($21|0)); - $22 = HEAP32[$0>>2]|0; - $23 = $22 << 3; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - _glBufferData(34962,($23|0),($25|0),($$|0)); - _glVertexAttribPointer(1,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(1); - $26 = ((($0)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - _glVertexAttrib3f(2,1.0,1.0,1.0); - _glDisableVertexAttribArray(2); - } else { - _glGenBuffers(1,($5|0)); - $29 = HEAP32[$5>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[$0>>2]|0; - $31 = ($30*12)|0; - $32 = HEAP32[$26>>2]|0; - _glBufferData(34962,($31|0),($32|0),($$|0)); - _glVertexAttribPointer(2,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(2); - } - $33 = ((($0)) + 28|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - _glVertexAttrib4f(3,1.0,1.0,1.0,1.0); - _glDisableVertexAttribArray(3); - } else { - _glGenBuffers(1,($6|0)); - $36 = HEAP32[$6>>2]|0; - _glBindBuffer(34962,($36|0)); - $37 = HEAP32[$0>>2]|0; - $38 = $37 << 2; - $39 = HEAP32[$33>>2]|0; - _glBufferData(34962,($38|0),($39|0),($$|0)); - _glVertexAttribPointer(3,4,5121,1,0,(0|0)); - _glEnableVertexAttribArray(3); - } - $40 = ((($0)) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - _glVertexAttrib3f(4,0.0,0.0,0.0); - _glDisableVertexAttribArray(4); - } else { - _glGenBuffers(1,($7|0)); - $43 = HEAP32[$7>>2]|0; - _glBindBuffer(34962,($43|0)); - $44 = HEAP32[$0>>2]|0; - $45 = ($44*12)|0; - $46 = HEAP32[$40>>2]|0; - _glBufferData(34962,($45|0),($46|0),($$|0)); - _glVertexAttribPointer(4,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(4); - } - $47 = ((($0)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - _glVertexAttrib2f(5,0.0,0.0); - _glDisableVertexAttribArray(5); - } else { - _glGenBuffers(1,($8|0)); - $50 = HEAP32[$8>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[$0>>2]|0; - $52 = $51 << 3; - $53 = HEAP32[$47>>2]|0; - _glBufferData(34962,($52|0),($53|0),($$|0)); - _glVertexAttribPointer(5,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(5); - } - $54 = ((($0)) + 32|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==(0|0); - if (!($56)) { - _glGenBuffers(1,($9|0)); - $57 = HEAP32[$9>>2]|0; - _glBindBuffer(34963,($57|0)); - $58 = ((($0)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59*6)|0; - $61 = HEAP32[$54>>2]|0; - _glBufferData(34963,($60|0),($61|0),35044); - } - $62 = HEAP32[4838]|0; - $63 = ($62|0)==(0); - if ($63) { - _TraceLog(0,7907,$vararg_buffer3); - STACKTOP = sp;return; - } - $64 = HEAP32[$2>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - _TraceLog(1,7866,$vararg_buffer1); - STACKTOP = sp;return; - } else { - HEAP32[$vararg_buffer>>2] = $64; - _TraceLog(0,7813,$vararg_buffer); - STACKTOP = sp;return; - } -} -function _Vector3Subtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - HEAPF32[$12>>2] = $17; - return; -} -function _Vector3CrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _LoadModelFromMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1152|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1152|0); - $2 = sp + 536|0; - $3 = sp + 472|0; - $4 = sp; - $5 = ((($2)) + 68|0); - _memset(($5|0),0,536)|0; - dest=$2; src=$1; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = ((($2)) + 68|0); - _MatrixIdentity($3); - dest=$6; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $7 = ((($2)) + 132|0); - _LoadMaterialDefault($4); - _memcpy(($7|0),($4|0),472)|0; - _memcpy(($0|0),($2|0),604)|0; - STACKTOP = sp;return; -} -function _UnloadModel($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0); - $$byval_copy = sp + 8|0; - $vararg_buffer = sp; - _UnloadMesh($0); - $1 = ((($0)) + 132|0); - _memcpy(($$byval_copy|0),($1|0),472)|0; - _UnloadMaterial($$byval_copy); - _TraceLog(0,7955,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadMesh($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _rlUnloadMesh($0); - return; -} -function _UnloadMaterial($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp; - _memcpy(($$byval_copy|0),($0|0),132)|0; - _UnloadShader($$byval_copy); - $1 = ((($0)) + 132|0); - $2 = HEAP32[$1>>2]|0; - _rlDeleteTextures($2); - $3 = ((($0)) + 160|0); - $4 = HEAP32[$3>>2]|0; - _rlDeleteTextures($4); - $5 = ((($0)) + 188|0); - $6 = HEAP32[$5>>2]|0; - _rlDeleteTextures($6); - $7 = ((($0)) + 216|0); - $8 = HEAP32[$7>>2]|0; - _rlDeleteTextures($8); - $9 = ((($0)) + 244|0); - $10 = HEAP32[$9>>2]|0; - _rlDeleteTextures($10); - $11 = ((($0)) + 272|0); - $12 = HEAP32[$11>>2]|0; - _rlDeleteTextures($12); - $13 = ((($0)) + 300|0); - $14 = HEAP32[$13>>2]|0; - _rlDeleteTextures($14); - $15 = ((($0)) + 328|0); - $16 = HEAP32[$15>>2]|0; - _rlDeleteTextures($16); - $17 = ((($0)) + 356|0); - $18 = HEAP32[$17>>2]|0; - _rlDeleteTextures($18); - $19 = ((($0)) + 384|0); - $20 = HEAP32[$19>>2]|0; - _rlDeleteTextures($20); - $21 = ((($0)) + 412|0); - $22 = HEAP32[$21>>2]|0; - _rlDeleteTextures($22); - $23 = ((($0)) + 440|0); - $24 = HEAP32[$23>>2]|0; - _rlDeleteTextures($24); - STACKTOP = sp;return; -} -function _UnloadShader($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteShader($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8013,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteShader($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0); - if ($1) { - return; - } - _glDeleteProgram(($0|0)); - return; -} -function _rlUnloadMesh($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - _free($2); - } - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - _free($8); - } - $10 = ((($0)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if (!($12)) { - _free($11); - } - $13 = ((($0)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - _free($14); - } - $16 = ((($0)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _free($17); - } - $19 = ((($0)) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0|0); - if (!($21)) { - _free($20); - } - $22 = ((($0)) + 40|0); - $23 = HEAP32[$22>>2]|0; - _rlDeleteBuffers($23); - $24 = ((($0)) + 44|0); - $25 = HEAP32[$24>>2]|0; - _rlDeleteBuffers($25); - $26 = ((($0)) + 48|0); - $27 = HEAP32[$26>>2]|0; - _rlDeleteBuffers($27); - $28 = ((($0)) + 52|0); - $29 = HEAP32[$28>>2]|0; - _rlDeleteBuffers($29); - $30 = ((($0)) + 56|0); - $31 = HEAP32[$30>>2]|0; - _rlDeleteBuffers($31); - $32 = ((($0)) + 60|0); - $33 = HEAP32[$32>>2]|0; - _rlDeleteBuffers($33); - $34 = ((($0)) + 64|0); - $35 = HEAP32[$34>>2]|0; - _rlDeleteBuffers($35); - $36 = ((($0)) + 36|0); - $37 = HEAP32[$36>>2]|0; - _rlDeleteVertexArrays($37); - return; -} -function _rlDeleteBuffers($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4838]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - _TraceLog(0,8103,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteVertexArrays($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = HEAP32[4838]|0; - $3 = ($2|0)==(0); - if ($3) { - STACKTOP = sp;return; - } - $4 = ($0|0)==(0); - if (!($4)) { - $5 = HEAP32[5265]|0; - FUNCTION_TABLE_vii[$5 & 63](1,$1); - } - $6 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,8055,$vararg_buffer); - STACKTOP = sp;return; -} -function _GenMeshCubicmap($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$011181147 = 0, $$011191150 = 0, $$011201149 = 0, $$01121$lcssa = 0, $$011211166 = 0, $$01124$lcssa = 0, $$011241165 = 0, $$01130$lcssa = 0, $$011301164 = 0, $$011361162 = 0, $$011371153 = 0, $$01145 = 0, $$11122$lcssa = 0, $$111221157 = 0, $$11125$lcssa = 0, $$111251156 = 0, $$11131$lcssa = 0, $$111311155 = 0, $$11146 = 0, $$21123 = 0; - var $$21126 = 0, $$21132 = 0, $$21144 = 0, $$3 = 0, $$31127 = 0, $$31133 = 0, $$4 = 0, $$41128 = 0, $$41134 = 0, $$5 = 0, $$51129 = 0, $$51135 = 0, $$byval_copy = 0, $$old1 = 0, $$old3 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0100$0$$sroa_idx = 0, $$sroa$0103$0$$sroa_idx = 0, $$sroa$0106$0$$sroa_idx = 0, $$sroa$0109$0$$sroa_idx = 0; - var $$sroa$0112$0$$sroa_idx = 0, $$sroa$0115$0$$sroa_idx = 0, $$sroa$0118$0$$sroa_idx = 0, $$sroa$0121$0$$sroa_idx = 0, $$sroa$0124$0$$sroa_idx = 0, $$sroa$0127$0$$sroa_idx = 0, $$sroa$0130$0$$sroa_idx = 0, $$sroa$0133$0$$sroa_idx = 0, $$sroa$0136$0$$sroa_idx = 0, $$sroa$0139$0$$sroa_idx = 0, $$sroa$0142$0$$sroa_idx = 0, $$sroa$0145$0$$sroa_idx = 0, $$sroa$0148$0$$sroa_idx = 0, $$sroa$0151$0$$sroa_idx = 0, $$sroa$0154$0$$sroa_idx = 0, $$sroa$0157$0$$sroa_idx = 0, $$sroa$0160$0$$sroa_idx = 0, $$sroa$0163$0$$sroa_idx = 0, $$sroa$0166$0$$sroa_idx = 0, $$sroa$0169$0$$sroa_idx = 0; - var $$sroa$0172$0$$sroa_idx = 0, $$sroa$0175$0$$sroa_idx = 0, $$sroa$0178$0$$sroa_idx = 0, $$sroa$0178$0$$sroa_idx179 = 0, $$sroa$0178$0$$sroa_idx181 = 0, $$sroa$0178$0$$sroa_idx183 = 0, $$sroa$0178$0$$sroa_idx185 = 0, $$sroa$0178$0$$sroa_idx187 = 0, $$sroa$0178$0$$sroa_idx189 = 0, $$sroa$0220$0$$sroa_idx = 0, $$sroa$0220$0$$sroa_idx221 = 0, $$sroa$0220$0$$sroa_idx223 = 0, $$sroa$0220$0$$sroa_idx225 = 0, $$sroa$0220$0$$sroa_idx227 = 0, $$sroa$0220$0$$sroa_idx229 = 0, $$sroa$0257$0$$sroa_idx = 0, $$sroa$0257$0$$sroa_idx258 = 0, $$sroa$0257$0$$sroa_idx260 = 0, $$sroa$0257$0$$sroa_idx262 = 0, $$sroa$0257$0$$sroa_idx264 = 0; - var $$sroa$0257$0$$sroa_idx266 = 0, $$sroa$0295$0$$sroa_idx = 0, $$sroa$0295$0$$sroa_idx296 = 0, $$sroa$0295$0$$sroa_idx298 = 0, $$sroa$0295$0$$sroa_idx300 = 0, $$sroa$0295$0$$sroa_idx302 = 0, $$sroa$0326$0$$sroa_idx = 0, $$sroa$0326$0$$sroa_idx327 = 0, $$sroa$0326$0$$sroa_idx329 = 0, $$sroa$0326$0$$sroa_idx331 = 0, $$sroa$0326$0$$sroa_idx333 = 0, $$sroa$0358$0$$sroa_idx = 0, $$sroa$0358$0$$sroa_idx359 = 0, $$sroa$0358$0$$sroa_idx361 = 0, $$sroa$0358$0$$sroa_idx363 = 0, $$sroa$0358$0$$sroa_idx365 = 0, $$sroa$0358$0$$sroa_idx367 = 0, $$sroa$0358$0$$sroa_idx369 = 0, $$sroa$037$0$$sroa_idx = 0, $$sroa$040$0$$sroa_idx = 0; - var $$sroa$0402$0$$sroa_idx = 0, $$sroa$0402$0$$sroa_idx403 = 0, $$sroa$0402$0$$sroa_idx405 = 0, $$sroa$0402$0$$sroa_idx407 = 0, $$sroa$0427$0$$sroa_idx = 0, $$sroa$0427$0$$sroa_idx428 = 0, $$sroa$0427$0$$sroa_idx430 = 0, $$sroa$0427$0$$sroa_idx432 = 0, $$sroa$0427$0$$sroa_idx434 = 0, $$sroa$0427$0$$sroa_idx436 = 0, $$sroa$0427$0$$sroa_idx438 = 0, $$sroa$0427$0$$sroa_idx440 = 0, $$sroa$043$0$$sroa_idx = 0, $$sroa$046$0$$sroa_idx = 0, $$sroa$049$0$$sroa_idx = 0, $$sroa$052$0$$sroa_idx = 0, $$sroa$055$0$$sroa_idx = 0, $$sroa$058$0$$sroa_idx = 0, $$sroa$061$0$$sroa_idx = 0, $$sroa$064$0$$sroa_idx = 0; - var $$sroa$067$0$$sroa_idx = 0, $$sroa$070$0$$sroa_idx = 0, $$sroa$073$0$$sroa_idx = 0, $$sroa$076$0$$sroa_idx = 0, $$sroa$079$0$$sroa_idx = 0, $$sroa$082$0$$sroa_idx = 0, $$sroa$085$0$$sroa_idx = 0, $$sroa$088$0$$sroa_idx = 0, $$sroa$091$0$$sroa_idx = 0, $$sroa$094$0$$sroa_idx = 0, $$sroa$097$0$$sroa_idx = 0, $$sroa$10$0$$sroa_idx192 = 0, $$sroa$10$0$$sroa_idx193 = 0, $$sroa$10$0$$sroa_idx195 = 0, $$sroa$10$0$$sroa_idx197 = 0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$10$0$$sroa_idx201 = 0, $$sroa$10$0$$sroa_idx203 = 0, $$sroa$10244$0$$sroa_idx245 = 0, $$sroa$10244$0$$sroa_idx246 = 0; - var $$sroa$10244$0$$sroa_idx248 = 0, $$sroa$10244$0$$sroa_idx250 = 0, $$sroa$10244$0$$sroa_idx252 = 0, $$sroa$10244$0$$sroa_idx254 = 0, $$sroa$10282$0$$sroa_idx283 = 0, $$sroa$10282$0$$sroa_idx284 = 0, $$sroa$10282$0$$sroa_idx286 = 0, $$sroa$10282$0$$sroa_idx288 = 0, $$sroa$10282$0$$sroa_idx290 = 0, $$sroa$10282$0$$sroa_idx292 = 0, $$sroa$10372$0$$sroa_idx373 = 0, $$sroa$10372$0$$sroa_idx374 = 0, $$sroa$10372$0$$sroa_idx376 = 0, $$sroa$10372$0$$sroa_idx378 = 0, $$sroa$10372$0$$sroa_idx380 = 0, $$sroa$10372$0$$sroa_idx382 = 0, $$sroa$10372$0$$sroa_idx384 = 0, $$sroa$11$0$$sroa_idx206 = 0, $$sroa$11$0$$sroa_idx207 = 0, $$sroa$11$0$$sroa_idx209 = 0; - var $$sroa$11$0$$sroa_idx211 = 0, $$sroa$11$0$$sroa_idx213 = 0, $$sroa$11$0$$sroa_idx215 = 0, $$sroa$11$0$$sroa_idx217 = 0, $$sroa$11387$0$$sroa_idx388 = 0, $$sroa$11387$0$$sroa_idx389 = 0, $$sroa$11387$0$$sroa_idx391 = 0, $$sroa$11387$0$$sroa_idx393 = 0, $$sroa$11387$0$$sroa_idx395 = 0, $$sroa$11387$0$$sroa_idx397 = 0, $$sroa$11387$0$$sroa_idx399 = 0, $$sroa$11443$0$$sroa_idx444 = 0, $$sroa$11443$0$$sroa_idx445 = 0, $$sroa$11443$0$$sroa_idx447 = 0, $$sroa$11443$0$$sroa_idx449 = 0, $$sroa$11443$0$$sroa_idx451 = 0, $$sroa$11443$0$$sroa_idx453 = 0, $$sroa$11443$0$$sroa_idx455 = 0, $$sroa$11443$0$$sroa_idx457 = 0, $$sroa$12$0$$sroa_idx460 = 0; - var $$sroa$12$0$$sroa_idx461 = 0, $$sroa$12$0$$sroa_idx463 = 0, $$sroa$12$0$$sroa_idx465 = 0, $$sroa$12$0$$sroa_idx467 = 0, $$sroa$12$0$$sroa_idx469 = 0, $$sroa$12$0$$sroa_idx471 = 0, $$sroa$12$0$$sroa_idx473 = 0, $$sroa$2$0$$sroa_idx36 = 0, $$sroa$2101$0$$sroa_idx102 = 0, $$sroa$2104$0$$sroa_idx105 = 0, $$sroa$2107$0$$sroa_idx108 = 0, $$sroa$2110$0$$sroa_idx111 = 0, $$sroa$2113$0$$sroa_idx114 = 0, $$sroa$2116$0$$sroa_idx117 = 0, $$sroa$2119$0$$sroa_idx120 = 0, $$sroa$2122$0$$sroa_idx123 = 0, $$sroa$2125$0$$sroa_idx126 = 0, $$sroa$2128$0$$sroa_idx129 = 0, $$sroa$2131$0$$sroa_idx132 = 0, $$sroa$2134$0$$sroa_idx135 = 0; - var $$sroa$2137$0$$sroa_idx138 = 0, $$sroa$2140$0$$sroa_idx141 = 0, $$sroa$2143$0$$sroa_idx144 = 0, $$sroa$2146$0$$sroa_idx147 = 0, $$sroa$2149$0$$sroa_idx150 = 0, $$sroa$2152$0$$sroa_idx153 = 0, $$sroa$2155$0$$sroa_idx156 = 0, $$sroa$2158$0$$sroa_idx159 = 0, $$sroa$2161$0$$sroa_idx162 = 0, $$sroa$2164$0$$sroa_idx165 = 0, $$sroa$2167$0$$sroa_idx168 = 0, $$sroa$2170$0$$sroa_idx171 = 0, $$sroa$2173$0$$sroa_idx174 = 0, $$sroa$2176$0$$sroa_idx177 = 0, $$sroa$238$0$$sroa_idx39 = 0, $$sroa$241$0$$sroa_idx42 = 0, $$sroa$244$0$$sroa_idx45 = 0, $$sroa$247$0$$sroa_idx48 = 0, $$sroa$250$0$$sroa_idx51 = 0, $$sroa$253$0$$sroa_idx54 = 0; - var $$sroa$256$0$$sroa_idx57 = 0, $$sroa$259$0$$sroa_idx60 = 0, $$sroa$262$0$$sroa_idx63 = 0, $$sroa$265$0$$sroa_idx66 = 0, $$sroa$268$0$$sroa_idx69 = 0, $$sroa$271$0$$sroa_idx72 = 0, $$sroa$274$0$$sroa_idx75 = 0, $$sroa$277$0$$sroa_idx78 = 0, $$sroa$280$0$$sroa_idx81 = 0, $$sroa$283$0$$sroa_idx84 = 0, $$sroa$286$0$$sroa_idx87 = 0, $$sroa$289$0$$sroa_idx90 = 0, $$sroa$292$0$$sroa_idx93 = 0, $$sroa$295$0$$sroa_idx96 = 0, $$sroa$298$0$$sroa_idx99 = 0, $$sroa$7$0$$sroa_idx410 = 0, $$sroa$7$0$$sroa_idx411 = 0, $$sroa$7$0$$sroa_idx413 = 0, $$sroa$7$0$$sroa_idx415 = 0, $$sroa$8$0$$sroa_idx305 = 0; - var $$sroa$8$0$$sroa_idx306 = 0, $$sroa$8$0$$sroa_idx308 = 0, $$sroa$8$0$$sroa_idx310 = 0, $$sroa$8$0$$sroa_idx312 = 0, $$sroa$8336$0$$sroa_idx337 = 0, $$sroa$8336$0$$sroa_idx338 = 0, $$sroa$8336$0$$sroa_idx340 = 0, $$sroa$8336$0$$sroa_idx342 = 0, $$sroa$8336$0$$sroa_idx344 = 0, $$sroa$8418$0$$sroa_idx419 = 0, $$sroa$8418$0$$sroa_idx420 = 0, $$sroa$8418$0$$sroa_idx422 = 0, $$sroa$8418$0$$sroa_idx424 = 0, $$sroa$9$0$$sroa_idx232 = 0, $$sroa$9$0$$sroa_idx233 = 0, $$sroa$9$0$$sroa_idx235 = 0, $$sroa$9$0$$sroa_idx237 = 0, $$sroa$9$0$$sroa_idx239 = 0, $$sroa$9$0$$sroa_idx241 = 0, $$sroa$9269$0$$sroa_idx270 = 0; - var $$sroa$9269$0$$sroa_idx271 = 0, $$sroa$9269$0$$sroa_idx273 = 0, $$sroa$9269$0$$sroa_idx275 = 0, $$sroa$9269$0$$sroa_idx277 = 0, $$sroa$9269$0$$sroa_idx279 = 0, $$sroa$9315$0$$sroa_idx316 = 0, $$sroa$9315$0$$sroa_idx317 = 0, $$sroa$9315$0$$sroa_idx319 = 0, $$sroa$9315$0$$sroa_idx321 = 0, $$sroa$9315$0$$sroa_idx323 = 0, $$sroa$9347$0$$sroa_idx348 = 0, $$sroa$9347$0$$sroa_idx349 = 0, $$sroa$9347$0$$sroa_idx351 = 0, $$sroa$9347$0$$sroa_idx353 = 0, $$sroa$9347$0$$sroa_idx355 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0; - var $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0; - var $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0; - var $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0; - var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; - var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0.0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0; - var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; - var $25 = 0.0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0.0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; - var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; - var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0; - var $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond1171 = 0; - var $exitcond1172 = 0, $exitcond1173 = 0, $exitcond1174 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $$byval_copy = sp + 68|0; - $3 = sp; - dest=$3; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0; - $4 = (_GetImageData($$byval_copy)|0); - $5 = ((($1)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = Math_imul($8, $6)|0; - $10 = +HEAPF32[$2>>2]; - $11 = ((($2)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($9*432)|0; - $16 = (_malloc($15)|0); - $17 = ($9*288)|0; - $18 = (_malloc($17)|0); - $19 = (_malloc($15)|0); - $20 = ($8|0)>(0); - if ($20) { - $21 = ($6|0)>(0); - $$011211166 = 0;$$011241165 = 0;$$011301164 = 0;$$011361162 = 0; - while(1) { - if ($21) { - $22 = (+($$011361162|0)); - $23 = $22 + -0.5; - $24 = $12 * $23; - $25 = $22 + 0.5; - $26 = $12 * $25; - $27 = (($$011361162) + 1)|0; - $28 = ($$011361162|0)>(0); - $29 = (($$011361162) + -1)|0; - $$old1 = ($$011361162|0)==(0); - $$011371153 = 0;$$111221157 = $$011211166;$$111251156 = $$011241165;$$111311155 = $$011301164; - while(1) { - $43 = (+($$011371153|0)); - $44 = $43 + -0.5; - $45 = $10 * $44; - $46 = $43 + 0.5; - $47 = $10 * $46; - $48 = HEAP32[$5>>2]|0; - $49 = Math_imul($48, $$011361162)|0; - $50 = (($49) + ($$011371153))|0; - $51 = (($4) + ($50<<2)|0); - $52 = HEAP8[$51>>0]|0; - $53 = ($52<<24>>24)==(-1); - do { - if ($53) { - $54 = (((($4) + ($50<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)==(-1); - if ($56) { - $57 = (((($4) + ($50<<2)|0)) + 2|0); - $58 = HEAP8[$57>>0]|0; - $59 = ($58<<24>>24)==(-1); - if ($59) { - $$sroa$0427$0$$sroa_idx = (($16) + (($$111221157*12)|0)|0); - HEAPF32[$$sroa$0427$0$$sroa_idx>>2] = $45; - $$sroa$11443$0$$sroa_idx444 = (((($16) + (($$111221157*12)|0)|0)) + 4|0); - HEAP32[$$sroa$11443$0$$sroa_idx444>>2] = $14; - $$sroa$12$0$$sroa_idx460 = (((($16) + (($$111221157*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$12$0$$sroa_idx460>>2] = $24; - $60 = (($$111221157) + 1)|0; - $$sroa$0402$0$$sroa_idx = (($16) + (($60*12)|0)|0); - HEAPF32[$$sroa$0402$0$$sroa_idx>>2] = $45; - $$sroa$7$0$$sroa_idx410 = (((($16) + (($60*12)|0)|0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx410>>2] = $14; - $$sroa$8418$0$$sroa_idx419 = (((($16) + (($60*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$8418$0$$sroa_idx419>>2] = $26; - $61 = (($$111221157) + 2)|0; - $$sroa$0358$0$$sroa_idx = (($16) + (($61*12)|0)|0); - HEAPF32[$$sroa$0358$0$$sroa_idx>>2] = $47; - $$sroa$10372$0$$sroa_idx373 = (((($16) + (($61*12)|0)|0)) + 4|0); - HEAP32[$$sroa$10372$0$$sroa_idx373>>2] = $14; - $$sroa$11387$0$$sroa_idx388 = (((($16) + (($61*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11387$0$$sroa_idx388>>2] = $26; - $62 = (($$111221157) + 3)|0; - $$sroa$0427$0$$sroa_idx428 = (($16) + (($62*12)|0)|0); - HEAPF32[$$sroa$0427$0$$sroa_idx428>>2] = $45; - $$sroa$11443$0$$sroa_idx445 = (((($16) + (($62*12)|0)|0)) + 4|0); - HEAP32[$$sroa$11443$0$$sroa_idx445>>2] = $14; - $$sroa$12$0$$sroa_idx461 = (((($16) + (($62*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$12$0$$sroa_idx461>>2] = $24; - $63 = (($$111221157) + 4)|0; - $$sroa$0358$0$$sroa_idx359 = (($16) + (($63*12)|0)|0); - HEAPF32[$$sroa$0358$0$$sroa_idx359>>2] = $47; - $$sroa$10372$0$$sroa_idx374 = (((($16) + (($63*12)|0)|0)) + 4|0); - HEAP32[$$sroa$10372$0$$sroa_idx374>>2] = $14; - $$sroa$11387$0$$sroa_idx389 = (((($16) + (($63*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11387$0$$sroa_idx389>>2] = $26; - $64 = (($$111221157) + 5)|0; - $$sroa$0326$0$$sroa_idx = (($16) + (($64*12)|0)|0); - HEAPF32[$$sroa$0326$0$$sroa_idx>>2] = $47; - $$sroa$8336$0$$sroa_idx337 = (((($16) + (($64*12)|0)|0)) + 4|0); - HEAP32[$$sroa$8336$0$$sroa_idx337>>2] = $14; - $$sroa$9347$0$$sroa_idx348 = (((($16) + (($64*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9347$0$$sroa_idx348>>2] = $24; - $65 = (($$111221157) + 6)|0; - $66 = (($19) + (($$111311155*12)|0)|0); - ;HEAP32[$66>>2]=HEAP32[3676>>2]|0;HEAP32[$66+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$66+8>>2]=HEAP32[3676+8>>2]|0; - $67 = (($$111311155) + 1)|0; - $68 = (($19) + (($67*12)|0)|0); - ;HEAP32[$68>>2]=HEAP32[3676>>2]|0;HEAP32[$68+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$68+8>>2]=HEAP32[3676+8>>2]|0; - $69 = (($$111311155) + 2)|0; - $70 = (($19) + (($69*12)|0)|0); - ;HEAP32[$70>>2]=HEAP32[3676>>2]|0;HEAP32[$70+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$70+8>>2]=HEAP32[3676+8>>2]|0; - $71 = (($$111311155) + 3)|0; - $72 = (($19) + (($71*12)|0)|0); - ;HEAP32[$72>>2]=HEAP32[3676>>2]|0;HEAP32[$72+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$72+8>>2]=HEAP32[3676+8>>2]|0; - $73 = (($$111311155) + 4)|0; - $74 = (($19) + (($73*12)|0)|0); - ;HEAP32[$74>>2]=HEAP32[3676>>2]|0;HEAP32[$74+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$74+8>>2]=HEAP32[3676+8>>2]|0; - $75 = (($$111311155) + 5)|0; - $76 = (($19) + (($75*12)|0)|0); - ;HEAP32[$76>>2]=HEAP32[3676>>2]|0;HEAP32[$76+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$76+8>>2]=HEAP32[3676+8>>2]|0; - $77 = (($$111311155) + 6)|0; - $$sroa$0175$0$$sroa_idx = (($18) + ($$111251156<<3)|0); - HEAPF32[$$sroa$0175$0$$sroa_idx>>2] = 0.0; - $$sroa$2176$0$$sroa_idx177 = (((($18) + ($$111251156<<3)|0)) + 4|0); - HEAPF32[$$sroa$2176$0$$sroa_idx177>>2] = 0.5; - $78 = (($$111251156) + 1)|0; - $$sroa$0172$0$$sroa_idx = (($18) + ($78<<3)|0); - HEAPF32[$$sroa$0172$0$$sroa_idx>>2] = 0.0; - $$sroa$2173$0$$sroa_idx174 = (((($18) + ($78<<3)|0)) + 4|0); - HEAPF32[$$sroa$2173$0$$sroa_idx174>>2] = 1.0; - $79 = (($$111251156) + 2)|0; - $$sroa$0169$0$$sroa_idx = (($18) + ($79<<3)|0); - HEAPF32[$$sroa$0169$0$$sroa_idx>>2] = 0.5; - $$sroa$2170$0$$sroa_idx171 = (((($18) + ($79<<3)|0)) + 4|0); - HEAPF32[$$sroa$2170$0$$sroa_idx171>>2] = 1.0; - $80 = (($$111251156) + 3)|0; - $$sroa$0166$0$$sroa_idx = (($18) + ($80<<3)|0); - HEAPF32[$$sroa$0166$0$$sroa_idx>>2] = 0.0; - $$sroa$2167$0$$sroa_idx168 = (((($18) + ($80<<3)|0)) + 4|0); - HEAPF32[$$sroa$2167$0$$sroa_idx168>>2] = 0.5; - $81 = (($$111251156) + 4)|0; - $$sroa$0163$0$$sroa_idx = (($18) + ($81<<3)|0); - HEAPF32[$$sroa$0163$0$$sroa_idx>>2] = 0.5; - $$sroa$2164$0$$sroa_idx165 = (((($18) + ($81<<3)|0)) + 4|0); - HEAPF32[$$sroa$2164$0$$sroa_idx165>>2] = 1.0; - $82 = (($$111251156) + 5)|0; - $$sroa$0160$0$$sroa_idx = (($18) + ($82<<3)|0); - HEAPF32[$$sroa$0160$0$$sroa_idx>>2] = 0.5; - $$sroa$2161$0$$sroa_idx162 = (((($18) + ($82<<3)|0)) + 4|0); - HEAPF32[$$sroa$2161$0$$sroa_idx162>>2] = 0.5; - $83 = (($$111251156) + 6)|0; - $$sroa$0257$0$$sroa_idx = (($16) + (($65*12)|0)|0); - HEAPF32[$$sroa$0257$0$$sroa_idx>>2] = $45; - $$sroa$9269$0$$sroa_idx270 = (((($16) + (($65*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9269$0$$sroa_idx270>>2] = 0.0; - $$sroa$10282$0$$sroa_idx283 = (((($16) + (($65*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10282$0$$sroa_idx283>>2] = $24; - $84 = (($$111221157) + 7)|0; - $$sroa$0178$0$$sroa_idx = (($16) + (($84*12)|0)|0); - HEAPF32[$$sroa$0178$0$$sroa_idx>>2] = $47; - $$sroa$10$0$$sroa_idx192 = (((($16) + (($84*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$10$0$$sroa_idx192>>2] = 0.0; - $$sroa$11$0$$sroa_idx206 = (((($16) + (($84*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11$0$$sroa_idx206>>2] = $26; - $85 = (($$111221157) + 8)|0; - $$sroa$0220$0$$sroa_idx = (($16) + (($85*12)|0)|0); - HEAPF32[$$sroa$0220$0$$sroa_idx>>2] = $45; - $$sroa$9$0$$sroa_idx232 = (((($16) + (($85*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9$0$$sroa_idx232>>2] = 0.0; - $$sroa$10244$0$$sroa_idx245 = (((($16) + (($85*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10244$0$$sroa_idx245>>2] = $26; - $86 = (($$111221157) + 9)|0; - $$sroa$0257$0$$sroa_idx258 = (($16) + (($86*12)|0)|0); - HEAPF32[$$sroa$0257$0$$sroa_idx258>>2] = $45; - $$sroa$9269$0$$sroa_idx271 = (((($16) + (($86*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9269$0$$sroa_idx271>>2] = 0.0; - $$sroa$10282$0$$sroa_idx284 = (((($16) + (($86*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10282$0$$sroa_idx284>>2] = $24; - $87 = (($$111221157) + 10)|0; - $$sroa$0295$0$$sroa_idx = (($16) + (($87*12)|0)|0); - HEAPF32[$$sroa$0295$0$$sroa_idx>>2] = $47; - $$sroa$8$0$$sroa_idx305 = (((($16) + (($87*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$8$0$$sroa_idx305>>2] = 0.0; - $$sroa$9315$0$$sroa_idx316 = (((($16) + (($87*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9315$0$$sroa_idx316>>2] = $24; - $88 = (($$111221157) + 11)|0; - $$sroa$0178$0$$sroa_idx179 = (($16) + (($88*12)|0)|0); - HEAPF32[$$sroa$0178$0$$sroa_idx179>>2] = $47; - $$sroa$10$0$$sroa_idx193 = (((($16) + (($88*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$10$0$$sroa_idx193>>2] = 0.0; - $$sroa$11$0$$sroa_idx207 = (((($16) + (($88*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11$0$$sroa_idx207>>2] = $26; - $89 = (($$111221157) + 12)|0; - $90 = (($19) + (($77*12)|0)|0); - ;HEAP32[$90>>2]=HEAP32[3688>>2]|0;HEAP32[$90+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$90+8>>2]=HEAP32[3688+8>>2]|0; - $91 = (($$111311155) + 7)|0; - $92 = (($19) + (($91*12)|0)|0); - ;HEAP32[$92>>2]=HEAP32[3688>>2]|0;HEAP32[$92+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$92+8>>2]=HEAP32[3688+8>>2]|0; - $93 = (($$111311155) + 8)|0; - $94 = (($19) + (($93*12)|0)|0); - ;HEAP32[$94>>2]=HEAP32[3688>>2]|0;HEAP32[$94+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$94+8>>2]=HEAP32[3688+8>>2]|0; - $95 = (($$111311155) + 9)|0; - $96 = (($19) + (($95*12)|0)|0); - ;HEAP32[$96>>2]=HEAP32[3688>>2]|0;HEAP32[$96+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$96+8>>2]=HEAP32[3688+8>>2]|0; - $97 = (($$111311155) + 10)|0; - $98 = (($19) + (($97*12)|0)|0); - ;HEAP32[$98>>2]=HEAP32[3688>>2]|0;HEAP32[$98+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$98+8>>2]=HEAP32[3688+8>>2]|0; - $99 = (($$111311155) + 11)|0; - $100 = (($19) + (($99*12)|0)|0); - ;HEAP32[$100>>2]=HEAP32[3688>>2]|0;HEAP32[$100+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$100+8>>2]=HEAP32[3688+8>>2]|0; - $101 = (($$111311155) + 12)|0; - $$sroa$0157$0$$sroa_idx = (($18) + ($83<<3)|0); - HEAPF32[$$sroa$0157$0$$sroa_idx>>2] = 1.0; - $$sroa$2158$0$$sroa_idx159 = (((($18) + ($83<<3)|0)) + 4|0); - HEAPF32[$$sroa$2158$0$$sroa_idx159>>2] = 0.5; - $102 = (($$111251156) + 7)|0; - $$sroa$0154$0$$sroa_idx = (($18) + ($102<<3)|0); - HEAPF32[$$sroa$0154$0$$sroa_idx>>2] = 0.5; - $$sroa$2155$0$$sroa_idx156 = (((($18) + ($102<<3)|0)) + 4|0); - HEAPF32[$$sroa$2155$0$$sroa_idx156>>2] = 1.0; - $103 = (($$111251156) + 8)|0; - $$sroa$0151$0$$sroa_idx = (($18) + ($103<<3)|0); - HEAPF32[$$sroa$0151$0$$sroa_idx>>2] = 1.0; - $$sroa$2152$0$$sroa_idx153 = (((($18) + ($103<<3)|0)) + 4|0); - HEAPF32[$$sroa$2152$0$$sroa_idx153>>2] = 1.0; - $104 = (($$111251156) + 9)|0; - $$sroa$0148$0$$sroa_idx = (($18) + ($104<<3)|0); - HEAPF32[$$sroa$0148$0$$sroa_idx>>2] = 1.0; - $$sroa$2149$0$$sroa_idx150 = (((($18) + ($104<<3)|0)) + 4|0); - HEAPF32[$$sroa$2149$0$$sroa_idx150>>2] = 0.5; - $105 = (($$111251156) + 10)|0; - $$sroa$0145$0$$sroa_idx = (($18) + ($105<<3)|0); - HEAPF32[$$sroa$0145$0$$sroa_idx>>2] = 0.5; - $$sroa$2146$0$$sroa_idx147 = (((($18) + ($105<<3)|0)) + 4|0); - HEAPF32[$$sroa$2146$0$$sroa_idx147>>2] = 0.5; - $106 = (($$111251156) + 11)|0; - $$sroa$0142$0$$sroa_idx = (($18) + ($106<<3)|0); - HEAPF32[$$sroa$0142$0$$sroa_idx>>2] = 0.5; - $$sroa$2143$0$$sroa_idx144 = (((($18) + ($106<<3)|0)) + 4|0); - HEAPF32[$$sroa$2143$0$$sroa_idx144>>2] = 1.0; - $107 = (($$111251156) + 12)|0; - $108 = HEAP32[$7>>2]|0; - $109 = (($108) + -1)|0; - $110 = ($$011361162|0)<($109|0); - if ($110) { - $111 = HEAP32[$5>>2]|0; - $112 = Math_imul($111, $27)|0; - $113 = (($112) + ($$011371153))|0; - $114 = (($4) + ($113<<2)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($115<<24>>24)==(0); - if ($116) { - $117 = (((($4) + ($113<<2)|0)) + 1|0); - $118 = HEAP8[$117>>0]|0; - $119 = ($118<<24>>24)==(0); - if ($119) { - $120 = (((($4) + ($113<<2)|0)) + 2|0); - $121 = HEAP8[$120>>0]|0; - $122 = ($121<<24>>24)==(0); - if ($122) { - label = 16; - } else { - label = 15; - } - } else { - label = 15; - } - } else { - label = 15; - } - } else { - label = 15; - } - if ((label|0) == 15) { - label = 0; - $123 = HEAP32[$7>>2]|0; - $124 = (($123) + -1)|0; - $125 = ($$011361162|0)==($124|0); - if ($125) { - label = 16; - } else { - $$21123 = $89;$$21126 = $107;$$21132 = $101; - } - } - if ((label|0) == 16) { - label = 0; - $$sroa$0402$0$$sroa_idx403 = (($16) + (($89*12)|0)|0); - HEAPF32[$$sroa$0402$0$$sroa_idx403>>2] = $45; - $$sroa$7$0$$sroa_idx411 = (((($16) + (($89*12)|0)|0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx411>>2] = $14; - $$sroa$8418$0$$sroa_idx420 = (((($16) + (($89*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$8418$0$$sroa_idx420>>2] = $26; - $126 = (($$111221157) + 13)|0; - $$sroa$0220$0$$sroa_idx221 = (($16) + (($126*12)|0)|0); - HEAPF32[$$sroa$0220$0$$sroa_idx221>>2] = $45; - $$sroa$9$0$$sroa_idx233 = (((($16) + (($126*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9$0$$sroa_idx233>>2] = 0.0; - $$sroa$10244$0$$sroa_idx246 = (((($16) + (($126*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10244$0$$sroa_idx246>>2] = $26; - $127 = (($$111221157) + 14)|0; - $$sroa$0358$0$$sroa_idx361 = (($16) + (($127*12)|0)|0); - HEAPF32[$$sroa$0358$0$$sroa_idx361>>2] = $47; - $$sroa$10372$0$$sroa_idx376 = (((($16) + (($127*12)|0)|0)) + 4|0); - HEAP32[$$sroa$10372$0$$sroa_idx376>>2] = $14; - $$sroa$11387$0$$sroa_idx391 = (((($16) + (($127*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11387$0$$sroa_idx391>>2] = $26; - $128 = (($$111221157) + 15)|0; - $$sroa$0358$0$$sroa_idx363 = (($16) + (($128*12)|0)|0); - HEAPF32[$$sroa$0358$0$$sroa_idx363>>2] = $47; - $$sroa$10372$0$$sroa_idx378 = (((($16) + (($128*12)|0)|0)) + 4|0); - HEAP32[$$sroa$10372$0$$sroa_idx378>>2] = $14; - $$sroa$11387$0$$sroa_idx393 = (((($16) + (($128*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11387$0$$sroa_idx393>>2] = $26; - $129 = (($$111221157) + 16)|0; - $$sroa$0220$0$$sroa_idx223 = (($16) + (($129*12)|0)|0); - HEAPF32[$$sroa$0220$0$$sroa_idx223>>2] = $45; - $$sroa$9$0$$sroa_idx235 = (((($16) + (($129*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9$0$$sroa_idx235>>2] = 0.0; - $$sroa$10244$0$$sroa_idx248 = (((($16) + (($129*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10244$0$$sroa_idx248>>2] = $26; - $130 = (($$111221157) + 17)|0; - $$sroa$0178$0$$sroa_idx181 = (($16) + (($130*12)|0)|0); - HEAPF32[$$sroa$0178$0$$sroa_idx181>>2] = $47; - $$sroa$10$0$$sroa_idx195 = (((($16) + (($130*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$10$0$$sroa_idx195>>2] = 0.0; - $$sroa$11$0$$sroa_idx209 = (((($16) + (($130*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11$0$$sroa_idx209>>2] = $26; - $131 = (($$111221157) + 18)|0; - $132 = (($19) + (($101*12)|0)|0); - ;HEAP32[$132>>2]=HEAP32[3700>>2]|0;HEAP32[$132+4>>2]=HEAP32[3700+4>>2]|0;HEAP32[$132+8>>2]=HEAP32[3700+8>>2]|0; - $133 = (($$111311155) + 13)|0; - $134 = (($19) + (($133*12)|0)|0); - ;HEAP32[$134>>2]=HEAP32[3700>>2]|0;HEAP32[$134+4>>2]=HEAP32[3700+4>>2]|0;HEAP32[$134+8>>2]=HEAP32[3700+8>>2]|0; - $135 = (($$111311155) + 14)|0; - $136 = (($19) + (($135*12)|0)|0); - ;HEAP32[$136>>2]=HEAP32[3700>>2]|0;HEAP32[$136+4>>2]=HEAP32[3700+4>>2]|0;HEAP32[$136+8>>2]=HEAP32[3700+8>>2]|0; - $137 = (($$111311155) + 15)|0; - $138 = (($19) + (($137*12)|0)|0); - ;HEAP32[$138>>2]=HEAP32[3700>>2]|0;HEAP32[$138+4>>2]=HEAP32[3700+4>>2]|0;HEAP32[$138+8>>2]=HEAP32[3700+8>>2]|0; - $139 = (($$111311155) + 16)|0; - $140 = (($19) + (($139*12)|0)|0); - ;HEAP32[$140>>2]=HEAP32[3700>>2]|0;HEAP32[$140+4>>2]=HEAP32[3700+4>>2]|0;HEAP32[$140+8>>2]=HEAP32[3700+8>>2]|0; - $141 = (($$111311155) + 17)|0; - $142 = (($19) + (($141*12)|0)|0); - ;HEAP32[$142>>2]=HEAP32[3700>>2]|0;HEAP32[$142+4>>2]=HEAP32[3700+4>>2]|0;HEAP32[$142+8>>2]=HEAP32[3700+8>>2]|0; - $143 = (($$111311155) + 18)|0; - $$sroa$0139$0$$sroa_idx = (($18) + ($107<<3)|0); - HEAPF32[$$sroa$0139$0$$sroa_idx>>2] = 0.0; - $$sroa$2140$0$$sroa_idx141 = (((($18) + ($107<<3)|0)) + 4|0); - HEAPF32[$$sroa$2140$0$$sroa_idx141>>2] = 0.0; - $144 = (($$111251156) + 13)|0; - $$sroa$0136$0$$sroa_idx = (($18) + ($144<<3)|0); - HEAPF32[$$sroa$0136$0$$sroa_idx>>2] = 0.0; - $$sroa$2137$0$$sroa_idx138 = (((($18) + ($144<<3)|0)) + 4|0); - HEAPF32[$$sroa$2137$0$$sroa_idx138>>2] = 0.5; - $145 = (($$111251156) + 14)|0; - $$sroa$0133$0$$sroa_idx = (($18) + ($145<<3)|0); - HEAPF32[$$sroa$0133$0$$sroa_idx>>2] = 0.5; - $$sroa$2134$0$$sroa_idx135 = (((($18) + ($145<<3)|0)) + 4|0); - HEAPF32[$$sroa$2134$0$$sroa_idx135>>2] = 0.0; - $146 = (($$111251156) + 15)|0; - $$sroa$0130$0$$sroa_idx = (($18) + ($146<<3)|0); - HEAPF32[$$sroa$0130$0$$sroa_idx>>2] = 0.5; - $$sroa$2131$0$$sroa_idx132 = (((($18) + ($146<<3)|0)) + 4|0); - HEAPF32[$$sroa$2131$0$$sroa_idx132>>2] = 0.0; - $147 = (($$111251156) + 16)|0; - $$sroa$0127$0$$sroa_idx = (($18) + ($147<<3)|0); - HEAPF32[$$sroa$0127$0$$sroa_idx>>2] = 0.0; - $$sroa$2128$0$$sroa_idx129 = (((($18) + ($147<<3)|0)) + 4|0); - HEAPF32[$$sroa$2128$0$$sroa_idx129>>2] = 0.5; - $148 = (($$111251156) + 17)|0; - $$sroa$0124$0$$sroa_idx = (($18) + ($148<<3)|0); - HEAPF32[$$sroa$0124$0$$sroa_idx>>2] = 0.5; - $$sroa$2125$0$$sroa_idx126 = (((($18) + ($148<<3)|0)) + 4|0); - HEAPF32[$$sroa$2125$0$$sroa_idx126>>2] = 0.5; - $149 = (($$111251156) + 18)|0; - $$21123 = $131;$$21126 = $149;$$21132 = $143; - } - if ($28) { - $150 = HEAP32[$5>>2]|0; - $151 = Math_imul($150, $29)|0; - $152 = (($151) + ($$011371153))|0; - $153 = (($4) + ($152<<2)|0); - $154 = HEAP8[$153>>0]|0; - $155 = ($154<<24>>24)==(0); - if ($155) { - $156 = (((($4) + ($152<<2)|0)) + 1|0); - $157 = HEAP8[$156>>0]|0; - $158 = ($157<<24>>24)==(0); - if ($158) { - $159 = (((($4) + ($152<<2)|0)) + 2|0); - $160 = HEAP8[$159>>0]|0; - $161 = ($160<<24>>24)==(0); - if ($161) { - label = 22; - } else { - $$3 = $$21123;$$31127 = $$21126;$$31133 = $$21132; - } - } else { - $$3 = $$21123;$$31127 = $$21126;$$31133 = $$21132; - } - } else { - $$3 = $$21123;$$31127 = $$21126;$$31133 = $$21132; - } - } else { - if ($$old1) { - label = 22; - } else { - $$3 = $$21123;$$31127 = $$21126;$$31133 = $$21132; - } - } - if ((label|0) == 22) { - label = 0; - $$sroa$0427$0$$sroa_idx430 = (($16) + (($$21123*12)|0)|0); - HEAPF32[$$sroa$0427$0$$sroa_idx430>>2] = $45; - $$sroa$11443$0$$sroa_idx447 = (((($16) + (($$21123*12)|0)|0)) + 4|0); - HEAP32[$$sroa$11443$0$$sroa_idx447>>2] = $14; - $$sroa$12$0$$sroa_idx463 = (((($16) + (($$21123*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$12$0$$sroa_idx463>>2] = $24; - $162 = (($$21123) + 1)|0; - $$sroa$0295$0$$sroa_idx296 = (($16) + (($162*12)|0)|0); - HEAPF32[$$sroa$0295$0$$sroa_idx296>>2] = $47; - $$sroa$8$0$$sroa_idx306 = (((($16) + (($162*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$8$0$$sroa_idx306>>2] = 0.0; - $$sroa$9315$0$$sroa_idx317 = (((($16) + (($162*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9315$0$$sroa_idx317>>2] = $24; - $163 = (($$21123) + 2)|0; - $$sroa$0257$0$$sroa_idx260 = (($16) + (($163*12)|0)|0); - HEAPF32[$$sroa$0257$0$$sroa_idx260>>2] = $45; - $$sroa$9269$0$$sroa_idx273 = (((($16) + (($163*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9269$0$$sroa_idx273>>2] = 0.0; - $$sroa$10282$0$$sroa_idx286 = (((($16) + (($163*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10282$0$$sroa_idx286>>2] = $24; - $164 = (($$21123) + 3)|0; - $$sroa$0427$0$$sroa_idx432 = (($16) + (($164*12)|0)|0); - HEAPF32[$$sroa$0427$0$$sroa_idx432>>2] = $45; - $$sroa$11443$0$$sroa_idx449 = (((($16) + (($164*12)|0)|0)) + 4|0); - HEAP32[$$sroa$11443$0$$sroa_idx449>>2] = $14; - $$sroa$12$0$$sroa_idx465 = (((($16) + (($164*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$12$0$$sroa_idx465>>2] = $24; - $165 = (($$21123) + 4)|0; - $$sroa$0326$0$$sroa_idx327 = (($16) + (($165*12)|0)|0); - HEAPF32[$$sroa$0326$0$$sroa_idx327>>2] = $47; - $$sroa$8336$0$$sroa_idx338 = (((($16) + (($165*12)|0)|0)) + 4|0); - HEAP32[$$sroa$8336$0$$sroa_idx338>>2] = $14; - $$sroa$9347$0$$sroa_idx349 = (((($16) + (($165*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9347$0$$sroa_idx349>>2] = $24; - $166 = (($$21123) + 5)|0; - $$sroa$0295$0$$sroa_idx298 = (($16) + (($166*12)|0)|0); - HEAPF32[$$sroa$0295$0$$sroa_idx298>>2] = $47; - $$sroa$8$0$$sroa_idx308 = (((($16) + (($166*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$8$0$$sroa_idx308>>2] = 0.0; - $$sroa$9315$0$$sroa_idx319 = (((($16) + (($166*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9315$0$$sroa_idx319>>2] = $24; - $167 = (($$21123) + 6)|0; - $168 = (($19) + (($$21132*12)|0)|0); - ;HEAP32[$168>>2]=HEAP32[3712>>2]|0;HEAP32[$168+4>>2]=HEAP32[3712+4>>2]|0;HEAP32[$168+8>>2]=HEAP32[3712+8>>2]|0; - $169 = (($$21132) + 1)|0; - $170 = (($19) + (($169*12)|0)|0); - ;HEAP32[$170>>2]=HEAP32[3712>>2]|0;HEAP32[$170+4>>2]=HEAP32[3712+4>>2]|0;HEAP32[$170+8>>2]=HEAP32[3712+8>>2]|0; - $171 = (($$21132) + 2)|0; - $172 = (($19) + (($171*12)|0)|0); - ;HEAP32[$172>>2]=HEAP32[3712>>2]|0;HEAP32[$172+4>>2]=HEAP32[3712+4>>2]|0;HEAP32[$172+8>>2]=HEAP32[3712+8>>2]|0; - $173 = (($$21132) + 3)|0; - $174 = (($19) + (($173*12)|0)|0); - ;HEAP32[$174>>2]=HEAP32[3712>>2]|0;HEAP32[$174+4>>2]=HEAP32[3712+4>>2]|0;HEAP32[$174+8>>2]=HEAP32[3712+8>>2]|0; - $175 = (($$21132) + 4)|0; - $176 = (($19) + (($175*12)|0)|0); - ;HEAP32[$176>>2]=HEAP32[3712>>2]|0;HEAP32[$176+4>>2]=HEAP32[3712+4>>2]|0;HEAP32[$176+8>>2]=HEAP32[3712+8>>2]|0; - $177 = (($$21132) + 5)|0; - $178 = (($19) + (($177*12)|0)|0); - ;HEAP32[$178>>2]=HEAP32[3712>>2]|0;HEAP32[$178+4>>2]=HEAP32[3712+4>>2]|0;HEAP32[$178+8>>2]=HEAP32[3712+8>>2]|0; - $179 = (($$21132) + 6)|0; - $$sroa$0121$0$$sroa_idx = (($18) + ($$21126<<3)|0); - HEAPF32[$$sroa$0121$0$$sroa_idx>>2] = 1.0; - $$sroa$2122$0$$sroa_idx123 = (((($18) + ($$21126<<3)|0)) + 4|0); - HEAPF32[$$sroa$2122$0$$sroa_idx123>>2] = 0.0; - $180 = (($$21126) + 1)|0; - $$sroa$0118$0$$sroa_idx = (($18) + ($180<<3)|0); - HEAPF32[$$sroa$0118$0$$sroa_idx>>2] = 0.5; - $$sroa$2119$0$$sroa_idx120 = (((($18) + ($180<<3)|0)) + 4|0); - HEAPF32[$$sroa$2119$0$$sroa_idx120>>2] = 0.5; - $181 = (($$21126) + 2)|0; - $$sroa$0115$0$$sroa_idx = (($18) + ($181<<3)|0); - HEAPF32[$$sroa$0115$0$$sroa_idx>>2] = 1.0; - $$sroa$2116$0$$sroa_idx117 = (((($18) + ($181<<3)|0)) + 4|0); - HEAPF32[$$sroa$2116$0$$sroa_idx117>>2] = 0.5; - $182 = (($$21126) + 3)|0; - $$sroa$0112$0$$sroa_idx = (($18) + ($182<<3)|0); - HEAPF32[$$sroa$0112$0$$sroa_idx>>2] = 1.0; - $$sroa$2113$0$$sroa_idx114 = (((($18) + ($182<<3)|0)) + 4|0); - HEAPF32[$$sroa$2113$0$$sroa_idx114>>2] = 0.0; - $183 = (($$21126) + 4)|0; - $$sroa$0109$0$$sroa_idx = (($18) + ($183<<3)|0); - HEAPF32[$$sroa$0109$0$$sroa_idx>>2] = 0.5; - $$sroa$2110$0$$sroa_idx111 = (((($18) + ($183<<3)|0)) + 4|0); - HEAPF32[$$sroa$2110$0$$sroa_idx111>>2] = 0.0; - $184 = (($$21126) + 5)|0; - $$sroa$0106$0$$sroa_idx = (($18) + ($184<<3)|0); - HEAPF32[$$sroa$0106$0$$sroa_idx>>2] = 0.5; - $$sroa$2107$0$$sroa_idx108 = (((($18) + ($184<<3)|0)) + 4|0); - HEAPF32[$$sroa$2107$0$$sroa_idx108>>2] = 0.5; - $185 = (($$21126) + 6)|0; - $$3 = $167;$$31127 = $185;$$31133 = $179; - } - $186 = HEAP32[$5>>2]|0; - $187 = (($186) + -1)|0; - $188 = ($$011371153|0)<($187|0); - if ($188) { - $189 = Math_imul($186, $$011361162)|0; - $190 = (($$011371153) + 1)|0; - $191 = (($190) + ($189))|0; - $192 = (($4) + ($191<<2)|0); - $193 = HEAP8[$192>>0]|0; - $194 = ($193<<24>>24)==(0); - if ($194) { - $195 = (((($4) + ($191<<2)|0)) + 1|0); - $196 = HEAP8[$195>>0]|0; - $197 = ($196<<24>>24)==(0); - if ($197) { - $198 = (((($4) + ($191<<2)|0)) + 2|0); - $199 = HEAP8[$198>>0]|0; - $200 = ($199<<24>>24)==(0); - if ($200) { - label = 28; - } else { - label = 27; - } - } else { - label = 27; - } - } else { - label = 27; - } - } else { - label = 27; - } - if ((label|0) == 27) { - label = 0; - $201 = HEAP32[$5>>2]|0; - $202 = (($201) + -1)|0; - $203 = ($$011371153|0)==($202|0); - if ($203) { - label = 28; - } else { - $$4 = $$3;$$41128 = $$31127;$$41134 = $$31133; - } - } - if ((label|0) == 28) { - label = 0; - $$sroa$0358$0$$sroa_idx365 = (($16) + (($$3*12)|0)|0); - HEAPF32[$$sroa$0358$0$$sroa_idx365>>2] = $47; - $$sroa$10372$0$$sroa_idx380 = (((($16) + (($$3*12)|0)|0)) + 4|0); - HEAP32[$$sroa$10372$0$$sroa_idx380>>2] = $14; - $$sroa$11387$0$$sroa_idx395 = (((($16) + (($$3*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11387$0$$sroa_idx395>>2] = $26; - $204 = (($$3) + 1)|0; - $$sroa$0178$0$$sroa_idx183 = (($16) + (($204*12)|0)|0); - HEAPF32[$$sroa$0178$0$$sroa_idx183>>2] = $47; - $$sroa$10$0$$sroa_idx197 = (((($16) + (($204*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$10$0$$sroa_idx197>>2] = 0.0; - $$sroa$11$0$$sroa_idx211 = (((($16) + (($204*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11$0$$sroa_idx211>>2] = $26; - $205 = (($$3) + 2)|0; - $$sroa$0326$0$$sroa_idx329 = (($16) + (($205*12)|0)|0); - HEAPF32[$$sroa$0326$0$$sroa_idx329>>2] = $47; - $$sroa$8336$0$$sroa_idx340 = (((($16) + (($205*12)|0)|0)) + 4|0); - HEAP32[$$sroa$8336$0$$sroa_idx340>>2] = $14; - $$sroa$9347$0$$sroa_idx351 = (((($16) + (($205*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9347$0$$sroa_idx351>>2] = $24; - $206 = (($$3) + 3)|0; - $$sroa$0326$0$$sroa_idx331 = (($16) + (($206*12)|0)|0); - HEAPF32[$$sroa$0326$0$$sroa_idx331>>2] = $47; - $$sroa$8336$0$$sroa_idx342 = (((($16) + (($206*12)|0)|0)) + 4|0); - HEAP32[$$sroa$8336$0$$sroa_idx342>>2] = $14; - $$sroa$9347$0$$sroa_idx353 = (((($16) + (($206*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9347$0$$sroa_idx353>>2] = $24; - $207 = (($$3) + 4)|0; - $$sroa$0178$0$$sroa_idx185 = (($16) + (($207*12)|0)|0); - HEAPF32[$$sroa$0178$0$$sroa_idx185>>2] = $47; - $$sroa$10$0$$sroa_idx199 = (((($16) + (($207*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$10$0$$sroa_idx199>>2] = 0.0; - $$sroa$11$0$$sroa_idx213 = (((($16) + (($207*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11$0$$sroa_idx213>>2] = $26; - $208 = (($$3) + 5)|0; - $$sroa$0295$0$$sroa_idx300 = (($16) + (($208*12)|0)|0); - HEAPF32[$$sroa$0295$0$$sroa_idx300>>2] = $47; - $$sroa$8$0$$sroa_idx310 = (((($16) + (($208*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$8$0$$sroa_idx310>>2] = 0.0; - $$sroa$9315$0$$sroa_idx321 = (((($16) + (($208*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9315$0$$sroa_idx321>>2] = $24; - $209 = (($$3) + 6)|0; - $210 = (($19) + (($$31133*12)|0)|0); - ;HEAP32[$210>>2]=HEAP32[3724>>2]|0;HEAP32[$210+4>>2]=HEAP32[3724+4>>2]|0;HEAP32[$210+8>>2]=HEAP32[3724+8>>2]|0; - $211 = (($$31133) + 1)|0; - $212 = (($19) + (($211*12)|0)|0); - ;HEAP32[$212>>2]=HEAP32[3724>>2]|0;HEAP32[$212+4>>2]=HEAP32[3724+4>>2]|0;HEAP32[$212+8>>2]=HEAP32[3724+8>>2]|0; - $213 = (($$31133) + 2)|0; - $214 = (($19) + (($213*12)|0)|0); - ;HEAP32[$214>>2]=HEAP32[3724>>2]|0;HEAP32[$214+4>>2]=HEAP32[3724+4>>2]|0;HEAP32[$214+8>>2]=HEAP32[3724+8>>2]|0; - $215 = (($$31133) + 3)|0; - $216 = (($19) + (($215*12)|0)|0); - ;HEAP32[$216>>2]=HEAP32[3724>>2]|0;HEAP32[$216+4>>2]=HEAP32[3724+4>>2]|0;HEAP32[$216+8>>2]=HEAP32[3724+8>>2]|0; - $217 = (($$31133) + 4)|0; - $218 = (($19) + (($217*12)|0)|0); - ;HEAP32[$218>>2]=HEAP32[3724>>2]|0;HEAP32[$218+4>>2]=HEAP32[3724+4>>2]|0;HEAP32[$218+8>>2]=HEAP32[3724+8>>2]|0; - $219 = (($$31133) + 5)|0; - $220 = (($19) + (($219*12)|0)|0); - ;HEAP32[$220>>2]=HEAP32[3724>>2]|0;HEAP32[$220+4>>2]=HEAP32[3724+4>>2]|0;HEAP32[$220+8>>2]=HEAP32[3724+8>>2]|0; - $221 = (($$31133) + 6)|0; - $$sroa$0103$0$$sroa_idx = (($18) + ($$31127<<3)|0); - HEAPF32[$$sroa$0103$0$$sroa_idx>>2] = 0.0; - $$sroa$2104$0$$sroa_idx105 = (((($18) + ($$31127<<3)|0)) + 4|0); - HEAPF32[$$sroa$2104$0$$sroa_idx105>>2] = 0.0; - $222 = (($$31127) + 1)|0; - $$sroa$0100$0$$sroa_idx = (($18) + ($222<<3)|0); - HEAPF32[$$sroa$0100$0$$sroa_idx>>2] = 0.0; - $$sroa$2101$0$$sroa_idx102 = (((($18) + ($222<<3)|0)) + 4|0); - HEAPF32[$$sroa$2101$0$$sroa_idx102>>2] = 0.5; - $223 = (($$31127) + 2)|0; - $$sroa$097$0$$sroa_idx = (($18) + ($223<<3)|0); - HEAPF32[$$sroa$097$0$$sroa_idx>>2] = 0.5; - $$sroa$298$0$$sroa_idx99 = (((($18) + ($223<<3)|0)) + 4|0); - HEAPF32[$$sroa$298$0$$sroa_idx99>>2] = 0.0; - $224 = (($$31127) + 3)|0; - $$sroa$094$0$$sroa_idx = (($18) + ($224<<3)|0); - HEAPF32[$$sroa$094$0$$sroa_idx>>2] = 0.5; - $$sroa$295$0$$sroa_idx96 = (((($18) + ($224<<3)|0)) + 4|0); - HEAPF32[$$sroa$295$0$$sroa_idx96>>2] = 0.0; - $225 = (($$31127) + 4)|0; - $$sroa$091$0$$sroa_idx = (($18) + ($225<<3)|0); - HEAPF32[$$sroa$091$0$$sroa_idx>>2] = 0.0; - $$sroa$292$0$$sroa_idx93 = (((($18) + ($225<<3)|0)) + 4|0); - HEAPF32[$$sroa$292$0$$sroa_idx93>>2] = 0.5; - $226 = (($$31127) + 5)|0; - $$sroa$088$0$$sroa_idx = (($18) + ($226<<3)|0); - HEAPF32[$$sroa$088$0$$sroa_idx>>2] = 0.5; - $$sroa$289$0$$sroa_idx90 = (((($18) + ($226<<3)|0)) + 4|0); - HEAPF32[$$sroa$289$0$$sroa_idx90>>2] = 0.5; - $227 = (($$31127) + 6)|0; - $$4 = $209;$$41128 = $227;$$41134 = $221; - } - $228 = ($$011371153|0)>(0); - if ($228) { - $229 = HEAP32[$5>>2]|0; - $230 = Math_imul($229, $$011361162)|0; - $231 = (($$011371153) + -1)|0; - $232 = (($231) + ($230))|0; - $233 = (($4) + ($232<<2)|0); - $234 = HEAP8[$233>>0]|0; - $235 = ($234<<24>>24)==(0); - if (!($235)) { - $$5 = $$4;$$51129 = $$41128;$$51135 = $$41134; - break; - } - $236 = (((($4) + ($232<<2)|0)) + 1|0); - $237 = HEAP8[$236>>0]|0; - $238 = ($237<<24>>24)==(0); - if (!($238)) { - $$5 = $$4;$$51129 = $$41128;$$51135 = $$41134; - break; - } - $239 = (((($4) + ($232<<2)|0)) + 2|0); - $240 = HEAP8[$239>>0]|0; - $241 = ($240<<24>>24)==(0); - if (!($241)) { - $$5 = $$4;$$51129 = $$41128;$$51135 = $$41134; - break; - } - } else { - $$old3 = ($$011371153|0)==(0); - if (!($$old3)) { - $$5 = $$4;$$51129 = $$41128;$$51135 = $$41134; - break; - } - } - $$sroa$0427$0$$sroa_idx434 = (($16) + (($$4*12)|0)|0); - HEAPF32[$$sroa$0427$0$$sroa_idx434>>2] = $45; - $$sroa$11443$0$$sroa_idx451 = (((($16) + (($$4*12)|0)|0)) + 4|0); - HEAP32[$$sroa$11443$0$$sroa_idx451>>2] = $14; - $$sroa$12$0$$sroa_idx467 = (((($16) + (($$4*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$12$0$$sroa_idx467>>2] = $24; - $242 = (($$4) + 1)|0; - $$sroa$0220$0$$sroa_idx225 = (($16) + (($242*12)|0)|0); - HEAPF32[$$sroa$0220$0$$sroa_idx225>>2] = $45; - $$sroa$9$0$$sroa_idx237 = (((($16) + (($242*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9$0$$sroa_idx237>>2] = 0.0; - $$sroa$10244$0$$sroa_idx250 = (((($16) + (($242*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10244$0$$sroa_idx250>>2] = $26; - $243 = (($$4) + 2)|0; - $$sroa$0402$0$$sroa_idx405 = (($16) + (($243*12)|0)|0); - HEAPF32[$$sroa$0402$0$$sroa_idx405>>2] = $45; - $$sroa$7$0$$sroa_idx413 = (((($16) + (($243*12)|0)|0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx413>>2] = $14; - $$sroa$8418$0$$sroa_idx422 = (((($16) + (($243*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$8418$0$$sroa_idx422>>2] = $26; - $244 = (($$4) + 3)|0; - $$sroa$0427$0$$sroa_idx436 = (($16) + (($244*12)|0)|0); - HEAPF32[$$sroa$0427$0$$sroa_idx436>>2] = $45; - $$sroa$11443$0$$sroa_idx453 = (((($16) + (($244*12)|0)|0)) + 4|0); - HEAP32[$$sroa$11443$0$$sroa_idx453>>2] = $14; - $$sroa$12$0$$sroa_idx469 = (((($16) + (($244*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$12$0$$sroa_idx469>>2] = $24; - $245 = (($$4) + 4)|0; - $$sroa$0257$0$$sroa_idx262 = (($16) + (($245*12)|0)|0); - HEAPF32[$$sroa$0257$0$$sroa_idx262>>2] = $45; - $$sroa$9269$0$$sroa_idx275 = (((($16) + (($245*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9269$0$$sroa_idx275>>2] = 0.0; - $$sroa$10282$0$$sroa_idx288 = (((($16) + (($245*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10282$0$$sroa_idx288>>2] = $24; - $246 = (($$4) + 5)|0; - $$sroa$0220$0$$sroa_idx227 = (($16) + (($246*12)|0)|0); - HEAPF32[$$sroa$0220$0$$sroa_idx227>>2] = $45; - $$sroa$9$0$$sroa_idx239 = (((($16) + (($246*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9$0$$sroa_idx239>>2] = 0.0; - $$sroa$10244$0$$sroa_idx252 = (((($16) + (($246*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10244$0$$sroa_idx252>>2] = $26; - $247 = (($$4) + 6)|0; - $248 = (($19) + (($$41134*12)|0)|0); - ;HEAP32[$248>>2]=HEAP32[3736>>2]|0;HEAP32[$248+4>>2]=HEAP32[3736+4>>2]|0;HEAP32[$248+8>>2]=HEAP32[3736+8>>2]|0; - $249 = (($$41134) + 1)|0; - $250 = (($19) + (($249*12)|0)|0); - ;HEAP32[$250>>2]=HEAP32[3736>>2]|0;HEAP32[$250+4>>2]=HEAP32[3736+4>>2]|0;HEAP32[$250+8>>2]=HEAP32[3736+8>>2]|0; - $251 = (($$41134) + 2)|0; - $252 = (($19) + (($251*12)|0)|0); - ;HEAP32[$252>>2]=HEAP32[3736>>2]|0;HEAP32[$252+4>>2]=HEAP32[3736+4>>2]|0;HEAP32[$252+8>>2]=HEAP32[3736+8>>2]|0; - $253 = (($$41134) + 3)|0; - $254 = (($19) + (($253*12)|0)|0); - ;HEAP32[$254>>2]=HEAP32[3736>>2]|0;HEAP32[$254+4>>2]=HEAP32[3736+4>>2]|0;HEAP32[$254+8>>2]=HEAP32[3736+8>>2]|0; - $255 = (($$41134) + 4)|0; - $256 = (($19) + (($255*12)|0)|0); - ;HEAP32[$256>>2]=HEAP32[3736>>2]|0;HEAP32[$256+4>>2]=HEAP32[3736+4>>2]|0;HEAP32[$256+8>>2]=HEAP32[3736+8>>2]|0; - $257 = (($$41134) + 5)|0; - $258 = (($19) + (($257*12)|0)|0); - ;HEAP32[$258>>2]=HEAP32[3736>>2]|0;HEAP32[$258+4>>2]=HEAP32[3736+4>>2]|0;HEAP32[$258+8>>2]=HEAP32[3736+8>>2]|0; - $259 = (($$41134) + 6)|0; - $$sroa$085$0$$sroa_idx = (($18) + ($$41128<<3)|0); - HEAPF32[$$sroa$085$0$$sroa_idx>>2] = 0.5; - $$sroa$286$0$$sroa_idx87 = (((($18) + ($$41128<<3)|0)) + 4|0); - HEAPF32[$$sroa$286$0$$sroa_idx87>>2] = 0.0; - $260 = (($$41128) + 1)|0; - $$sroa$082$0$$sroa_idx = (($18) + ($260<<3)|0); - HEAPF32[$$sroa$082$0$$sroa_idx>>2] = 1.0; - $$sroa$283$0$$sroa_idx84 = (((($18) + ($260<<3)|0)) + 4|0); - HEAPF32[$$sroa$283$0$$sroa_idx84>>2] = 0.5; - $261 = (($$41128) + 2)|0; - $$sroa$079$0$$sroa_idx = (($18) + ($261<<3)|0); - HEAPF32[$$sroa$079$0$$sroa_idx>>2] = 1.0; - $$sroa$280$0$$sroa_idx81 = (((($18) + ($261<<3)|0)) + 4|0); - HEAPF32[$$sroa$280$0$$sroa_idx81>>2] = 0.0; - $262 = (($$41128) + 3)|0; - $$sroa$076$0$$sroa_idx = (($18) + ($262<<3)|0); - HEAPF32[$$sroa$076$0$$sroa_idx>>2] = 0.5; - $$sroa$277$0$$sroa_idx78 = (((($18) + ($262<<3)|0)) + 4|0); - HEAPF32[$$sroa$277$0$$sroa_idx78>>2] = 0.0; - $263 = (($$41128) + 4)|0; - $$sroa$073$0$$sroa_idx = (($18) + ($263<<3)|0); - HEAPF32[$$sroa$073$0$$sroa_idx>>2] = 0.5; - $$sroa$274$0$$sroa_idx75 = (((($18) + ($263<<3)|0)) + 4|0); - HEAPF32[$$sroa$274$0$$sroa_idx75>>2] = 0.5; - $264 = (($$41128) + 5)|0; - $$sroa$070$0$$sroa_idx = (($18) + ($264<<3)|0); - HEAPF32[$$sroa$070$0$$sroa_idx>>2] = 1.0; - $$sroa$271$0$$sroa_idx72 = (((($18) + ($264<<3)|0)) + 4|0); - HEAPF32[$$sroa$271$0$$sroa_idx72>>2] = 0.5; - $265 = (($$41128) + 6)|0; - $$5 = $247;$$51129 = $265;$$51135 = $259; - } else { - label = 35; - } - } else { - label = 35; - } - } else { - label = 35; - } - } while(0); - if ((label|0) == 35) { - label = 0; - $266 = HEAP32[$5>>2]|0; - $267 = Math_imul($266, $$011361162)|0; - $268 = (($267) + ($$011371153))|0; - $269 = (($4) + ($268<<2)|0); - $270 = HEAP8[$269>>0]|0; - $271 = ($270<<24>>24)==(0); - if ($271) { - $272 = (((($4) + ($268<<2)|0)) + 1|0); - $273 = HEAP8[$272>>0]|0; - $274 = ($273<<24>>24)==(0); - if ($274) { - $275 = (((($4) + ($268<<2)|0)) + 2|0); - $276 = HEAP8[$275>>0]|0; - $277 = ($276<<24>>24)==(0); - if ($277) { - $$sroa$0427$0$$sroa_idx438 = (($16) + (($$111221157*12)|0)|0); - HEAPF32[$$sroa$0427$0$$sroa_idx438>>2] = $45; - $$sroa$11443$0$$sroa_idx455 = (((($16) + (($$111221157*12)|0)|0)) + 4|0); - HEAP32[$$sroa$11443$0$$sroa_idx455>>2] = $14; - $$sroa$12$0$$sroa_idx471 = (((($16) + (($$111221157*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$12$0$$sroa_idx471>>2] = $24; - $278 = (($$111221157) + 1)|0; - $$sroa$0358$0$$sroa_idx367 = (($16) + (($278*12)|0)|0); - HEAPF32[$$sroa$0358$0$$sroa_idx367>>2] = $47; - $$sroa$10372$0$$sroa_idx382 = (((($16) + (($278*12)|0)|0)) + 4|0); - HEAP32[$$sroa$10372$0$$sroa_idx382>>2] = $14; - $$sroa$11387$0$$sroa_idx397 = (((($16) + (($278*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11387$0$$sroa_idx397>>2] = $26; - $279 = (($$111221157) + 2)|0; - $$sroa$0402$0$$sroa_idx407 = (($16) + (($279*12)|0)|0); - HEAPF32[$$sroa$0402$0$$sroa_idx407>>2] = $45; - $$sroa$7$0$$sroa_idx415 = (((($16) + (($279*12)|0)|0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx415>>2] = $14; - $$sroa$8418$0$$sroa_idx424 = (((($16) + (($279*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$8418$0$$sroa_idx424>>2] = $26; - $280 = (($$111221157) + 3)|0; - $$sroa$0427$0$$sroa_idx440 = (($16) + (($280*12)|0)|0); - HEAPF32[$$sroa$0427$0$$sroa_idx440>>2] = $45; - $$sroa$11443$0$$sroa_idx457 = (((($16) + (($280*12)|0)|0)) + 4|0); - HEAP32[$$sroa$11443$0$$sroa_idx457>>2] = $14; - $$sroa$12$0$$sroa_idx473 = (((($16) + (($280*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$12$0$$sroa_idx473>>2] = $24; - $281 = (($$111221157) + 4)|0; - $$sroa$0326$0$$sroa_idx333 = (($16) + (($281*12)|0)|0); - HEAPF32[$$sroa$0326$0$$sroa_idx333>>2] = $47; - $$sroa$8336$0$$sroa_idx344 = (((($16) + (($281*12)|0)|0)) + 4|0); - HEAP32[$$sroa$8336$0$$sroa_idx344>>2] = $14; - $$sroa$9347$0$$sroa_idx355 = (((($16) + (($281*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9347$0$$sroa_idx355>>2] = $24; - $282 = (($$111221157) + 5)|0; - $$sroa$0358$0$$sroa_idx369 = (($16) + (($282*12)|0)|0); - HEAPF32[$$sroa$0358$0$$sroa_idx369>>2] = $47; - $$sroa$10372$0$$sroa_idx384 = (((($16) + (($282*12)|0)|0)) + 4|0); - HEAP32[$$sroa$10372$0$$sroa_idx384>>2] = $14; - $$sroa$11387$0$$sroa_idx399 = (((($16) + (($282*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11387$0$$sroa_idx399>>2] = $26; - $283 = (($$111221157) + 6)|0; - $284 = (($19) + (($$111311155*12)|0)|0); - ;HEAP32[$284>>2]=HEAP32[3688>>2]|0;HEAP32[$284+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$284+8>>2]=HEAP32[3688+8>>2]|0; - $285 = (($$111311155) + 1)|0; - $286 = (($19) + (($285*12)|0)|0); - ;HEAP32[$286>>2]=HEAP32[3688>>2]|0;HEAP32[$286+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$286+8>>2]=HEAP32[3688+8>>2]|0; - $287 = (($$111311155) + 2)|0; - $288 = (($19) + (($287*12)|0)|0); - ;HEAP32[$288>>2]=HEAP32[3688>>2]|0;HEAP32[$288+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$288+8>>2]=HEAP32[3688+8>>2]|0; - $289 = (($$111311155) + 3)|0; - $290 = (($19) + (($289*12)|0)|0); - ;HEAP32[$290>>2]=HEAP32[3688>>2]|0;HEAP32[$290+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$290+8>>2]=HEAP32[3688+8>>2]|0; - $291 = (($$111311155) + 4)|0; - $292 = (($19) + (($291*12)|0)|0); - ;HEAP32[$292>>2]=HEAP32[3688>>2]|0;HEAP32[$292+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$292+8>>2]=HEAP32[3688+8>>2]|0; - $293 = (($$111311155) + 5)|0; - $294 = (($19) + (($293*12)|0)|0); - ;HEAP32[$294>>2]=HEAP32[3688>>2]|0;HEAP32[$294+4>>2]=HEAP32[3688+4>>2]|0;HEAP32[$294+8>>2]=HEAP32[3688+8>>2]|0; - $295 = (($$111311155) + 6)|0; - $$sroa$067$0$$sroa_idx = (($18) + ($$111251156<<3)|0); - HEAPF32[$$sroa$067$0$$sroa_idx>>2] = 0.0; - $$sroa$268$0$$sroa_idx69 = (((($18) + ($$111251156<<3)|0)) + 4|0); - HEAPF32[$$sroa$268$0$$sroa_idx69>>2] = 0.5; - $296 = (($$111251156) + 1)|0; - $$sroa$064$0$$sroa_idx = (($18) + ($296<<3)|0); - HEAPF32[$$sroa$064$0$$sroa_idx>>2] = 0.5; - $$sroa$265$0$$sroa_idx66 = (((($18) + ($296<<3)|0)) + 4|0); - HEAPF32[$$sroa$265$0$$sroa_idx66>>2] = 1.0; - $297 = (($$111251156) + 2)|0; - $$sroa$061$0$$sroa_idx = (($18) + ($297<<3)|0); - HEAPF32[$$sroa$061$0$$sroa_idx>>2] = 0.0; - $$sroa$262$0$$sroa_idx63 = (((($18) + ($297<<3)|0)) + 4|0); - HEAPF32[$$sroa$262$0$$sroa_idx63>>2] = 1.0; - $298 = (($$111251156) + 3)|0; - $$sroa$058$0$$sroa_idx = (($18) + ($298<<3)|0); - HEAPF32[$$sroa$058$0$$sroa_idx>>2] = 0.0; - $$sroa$259$0$$sroa_idx60 = (((($18) + ($298<<3)|0)) + 4|0); - HEAPF32[$$sroa$259$0$$sroa_idx60>>2] = 0.5; - $299 = (($$111251156) + 4)|0; - $$sroa$055$0$$sroa_idx = (($18) + ($299<<3)|0); - HEAPF32[$$sroa$055$0$$sroa_idx>>2] = 0.5; - $$sroa$256$0$$sroa_idx57 = (((($18) + ($299<<3)|0)) + 4|0); - HEAPF32[$$sroa$256$0$$sroa_idx57>>2] = 0.5; - $300 = (($$111251156) + 5)|0; - $$sroa$052$0$$sroa_idx = (($18) + ($300<<3)|0); - HEAPF32[$$sroa$052$0$$sroa_idx>>2] = 0.5; - $$sroa$253$0$$sroa_idx54 = (((($18) + ($300<<3)|0)) + 4|0); - HEAPF32[$$sroa$253$0$$sroa_idx54>>2] = 1.0; - $301 = (($$111251156) + 6)|0; - $$sroa$0257$0$$sroa_idx264 = (($16) + (($283*12)|0)|0); - HEAPF32[$$sroa$0257$0$$sroa_idx264>>2] = $45; - $$sroa$9269$0$$sroa_idx277 = (((($16) + (($283*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9269$0$$sroa_idx277>>2] = 0.0; - $$sroa$10282$0$$sroa_idx290 = (((($16) + (($283*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10282$0$$sroa_idx290>>2] = $24; - $302 = (($$111221157) + 7)|0; - $$sroa$0220$0$$sroa_idx229 = (($16) + (($302*12)|0)|0); - HEAPF32[$$sroa$0220$0$$sroa_idx229>>2] = $45; - $$sroa$9$0$$sroa_idx241 = (((($16) + (($302*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9$0$$sroa_idx241>>2] = 0.0; - $$sroa$10244$0$$sroa_idx254 = (((($16) + (($302*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10244$0$$sroa_idx254>>2] = $26; - $303 = (($$111221157) + 8)|0; - $$sroa$0178$0$$sroa_idx187 = (($16) + (($303*12)|0)|0); - HEAPF32[$$sroa$0178$0$$sroa_idx187>>2] = $47; - $$sroa$10$0$$sroa_idx201 = (((($16) + (($303*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$10$0$$sroa_idx201>>2] = 0.0; - $$sroa$11$0$$sroa_idx215 = (((($16) + (($303*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11$0$$sroa_idx215>>2] = $26; - $304 = (($$111221157) + 9)|0; - $$sroa$0257$0$$sroa_idx266 = (($16) + (($304*12)|0)|0); - HEAPF32[$$sroa$0257$0$$sroa_idx266>>2] = $45; - $$sroa$9269$0$$sroa_idx279 = (((($16) + (($304*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$9269$0$$sroa_idx279>>2] = 0.0; - $$sroa$10282$0$$sroa_idx292 = (((($16) + (($304*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$10282$0$$sroa_idx292>>2] = $24; - $305 = (($$111221157) + 10)|0; - $$sroa$0178$0$$sroa_idx189 = (($16) + (($305*12)|0)|0); - HEAPF32[$$sroa$0178$0$$sroa_idx189>>2] = $47; - $$sroa$10$0$$sroa_idx203 = (((($16) + (($305*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$10$0$$sroa_idx203>>2] = 0.0; - $$sroa$11$0$$sroa_idx217 = (((($16) + (($305*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$11$0$$sroa_idx217>>2] = $26; - $306 = (($$111221157) + 11)|0; - $$sroa$0295$0$$sroa_idx302 = (($16) + (($306*12)|0)|0); - HEAPF32[$$sroa$0295$0$$sroa_idx302>>2] = $47; - $$sroa$8$0$$sroa_idx312 = (((($16) + (($306*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$8$0$$sroa_idx312>>2] = 0.0; - $$sroa$9315$0$$sroa_idx323 = (((($16) + (($306*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$9315$0$$sroa_idx323>>2] = $24; - $307 = (($$111221157) + 12)|0; - $308 = (($19) + (($295*12)|0)|0); - ;HEAP32[$308>>2]=HEAP32[3676>>2]|0;HEAP32[$308+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$308+8>>2]=HEAP32[3676+8>>2]|0; - $309 = (($$111311155) + 7)|0; - $310 = (($19) + (($309*12)|0)|0); - ;HEAP32[$310>>2]=HEAP32[3676>>2]|0;HEAP32[$310+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$310+8>>2]=HEAP32[3676+8>>2]|0; - $311 = (($$111311155) + 8)|0; - $312 = (($19) + (($311*12)|0)|0); - ;HEAP32[$312>>2]=HEAP32[3676>>2]|0;HEAP32[$312+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$312+8>>2]=HEAP32[3676+8>>2]|0; - $313 = (($$111311155) + 9)|0; - $314 = (($19) + (($313*12)|0)|0); - ;HEAP32[$314>>2]=HEAP32[3676>>2]|0;HEAP32[$314+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$314+8>>2]=HEAP32[3676+8>>2]|0; - $315 = (($$111311155) + 10)|0; - $316 = (($19) + (($315*12)|0)|0); - ;HEAP32[$316>>2]=HEAP32[3676>>2]|0;HEAP32[$316+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$316+8>>2]=HEAP32[3676+8>>2]|0; - $317 = (($$111311155) + 11)|0; - $318 = (($19) + (($317*12)|0)|0); - ;HEAP32[$318>>2]=HEAP32[3676>>2]|0;HEAP32[$318+4>>2]=HEAP32[3676+4>>2]|0;HEAP32[$318+8>>2]=HEAP32[3676+8>>2]|0; - $319 = (($$111311155) + 12)|0; - $$sroa$049$0$$sroa_idx = (($18) + ($301<<3)|0); - HEAPF32[$$sroa$049$0$$sroa_idx>>2] = 1.0; - $$sroa$250$0$$sroa_idx51 = (((($18) + ($301<<3)|0)) + 4|0); - HEAPF32[$$sroa$250$0$$sroa_idx51>>2] = 0.5; - $320 = (($$111251156) + 7)|0; - $$sroa$046$0$$sroa_idx = (($18) + ($320<<3)|0); - HEAPF32[$$sroa$046$0$$sroa_idx>>2] = 1.0; - $$sroa$247$0$$sroa_idx48 = (((($18) + ($320<<3)|0)) + 4|0); - HEAPF32[$$sroa$247$0$$sroa_idx48>>2] = 1.0; - $321 = (($$111251156) + 8)|0; - $$sroa$043$0$$sroa_idx = (($18) + ($321<<3)|0); - HEAPF32[$$sroa$043$0$$sroa_idx>>2] = 0.5; - $$sroa$244$0$$sroa_idx45 = (((($18) + ($321<<3)|0)) + 4|0); - HEAPF32[$$sroa$244$0$$sroa_idx45>>2] = 1.0; - $322 = (($$111251156) + 9)|0; - $$sroa$040$0$$sroa_idx = (($18) + ($322<<3)|0); - HEAPF32[$$sroa$040$0$$sroa_idx>>2] = 1.0; - $$sroa$241$0$$sroa_idx42 = (((($18) + ($322<<3)|0)) + 4|0); - HEAPF32[$$sroa$241$0$$sroa_idx42>>2] = 0.5; - $323 = (($$111251156) + 10)|0; - $$sroa$037$0$$sroa_idx = (($18) + ($323<<3)|0); - HEAPF32[$$sroa$037$0$$sroa_idx>>2] = 0.5; - $$sroa$238$0$$sroa_idx39 = (((($18) + ($323<<3)|0)) + 4|0); - HEAPF32[$$sroa$238$0$$sroa_idx39>>2] = 1.0; - $324 = (($$111251156) + 11)|0; - $$sroa$0$0$$sroa_idx = (($18) + ($324<<3)|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.5; - $$sroa$2$0$$sroa_idx36 = (((($18) + ($324<<3)|0)) + 4|0); - HEAPF32[$$sroa$2$0$$sroa_idx36>>2] = 0.5; - $325 = (($$111251156) + 12)|0; - $$5 = $307;$$51129 = $325;$$51135 = $319; - } else { - $$5 = $$111221157;$$51129 = $$111251156;$$51135 = $$111311155; - } - } else { - $$5 = $$111221157;$$51129 = $$111251156;$$51135 = $$111311155; - } - } else { - $$5 = $$111221157;$$51129 = $$111251156;$$51135 = $$111311155; - } - } - $326 = (($$011371153) + 1)|0; - $exitcond1173 = ($326|0)==($6|0); - if ($exitcond1173) { - $$11122$lcssa = $$5;$$11125$lcssa = $$51129;$$11131$lcssa = $$51135; - break; - } else { - $$011371153 = $326;$$111221157 = $$5;$$111251156 = $$51129;$$111311155 = $$51135; - } - } - } else { - $$11122$lcssa = $$011211166;$$11125$lcssa = $$011241165;$$11131$lcssa = $$011301164; - } - $42 = (($$011361162) + 1)|0; - $exitcond1174 = ($42|0)==($8|0); - if ($exitcond1174) { - $$01121$lcssa = $$11122$lcssa;$$01124$lcssa = $$11125$lcssa;$$01130$lcssa = $$11131$lcssa; - break; - } else { - $$011211166 = $$11122$lcssa;$$011241165 = $$11125$lcssa;$$011301164 = $$11131$lcssa;$$011361162 = $42; - } - } - } else { - $$01121$lcssa = 0;$$01124$lcssa = 0;$$01130$lcssa = 0; - } - HEAP32[$3>>2] = $$01121$lcssa; - $30 = ($$01121$lcssa*12)|0; - $31 = (_malloc($30)|0); - $32 = ((($3)) + 8|0); - HEAP32[$32>>2] = $31; - $33 = (_malloc($30)|0); - $34 = ((($3)) + 20|0); - HEAP32[$34>>2] = $33; - $35 = HEAP32[$3>>2]|0; - $36 = $35 << 3; - $37 = (_malloc($36)|0); - $38 = ((($3)) + 12|0); - HEAP32[$38>>2] = $37; - $39 = ((($3)) + 28|0); - HEAP32[$39>>2] = 0; - $40 = ($$01121$lcssa|0)>(0); - if ($40) { - $41 = HEAP32[$32>>2]|0; - $$011191150 = 0;$$011201149 = 0; - while(1) { - $329 = (($16) + (($$011191150*12)|0)|0); - $330 = HEAP32[$329>>2]|0; - $331 = (($41) + ($$011201149<<2)|0); - HEAP32[$331>>2] = $330; - $332 = (((($16) + (($$011191150*12)|0)|0)) + 4|0); - $333 = HEAP32[$332>>2]|0; - $334 = (($$011201149) + 1)|0; - $335 = (($41) + ($334<<2)|0); - HEAP32[$335>>2] = $333; - $336 = (((($16) + (($$011191150*12)|0)|0)) + 8|0); - $337 = HEAP32[$336>>2]|0; - $338 = (($$011201149) + 2)|0; - $339 = (($41) + ($338<<2)|0); - HEAP32[$339>>2] = $337; - $340 = (($$011201149) + 3)|0; - $341 = (($$011191150) + 1)|0; - $exitcond1172 = ($341|0)==($$01121$lcssa|0); - if ($exitcond1172) { - break; - } else { - $$011191150 = $341;$$011201149 = $340; - } - } - } - $327 = ($$01130$lcssa|0)>(0); - if ($327) { - $328 = HEAP32[$34>>2]|0; - $$011181147 = 0;$$11146 = 0; - while(1) { - $344 = (($19) + (($$011181147*12)|0)|0); - $345 = HEAP32[$344>>2]|0; - $346 = (($328) + ($$11146<<2)|0); - HEAP32[$346>>2] = $345; - $347 = (((($19) + (($$011181147*12)|0)|0)) + 4|0); - $348 = HEAP32[$347>>2]|0; - $349 = (($$11146) + 1)|0; - $350 = (($328) + ($349<<2)|0); - HEAP32[$350>>2] = $348; - $351 = (((($19) + (($$011181147*12)|0)|0)) + 8|0); - $352 = HEAP32[$351>>2]|0; - $353 = (($$11146) + 2)|0; - $354 = (($328) + ($353<<2)|0); - HEAP32[$354>>2] = $352; - $355 = (($$11146) + 3)|0; - $356 = (($$011181147) + 1)|0; - $exitcond1171 = ($356|0)==($$01130$lcssa|0); - if ($exitcond1171) { - break; - } else { - $$011181147 = $356;$$11146 = $355; - } - } - } - $342 = ($$01124$lcssa|0)>(0); - if (!($342)) { - _free($16); - _free($19); - _free($18); - _free($4); - _rlLoadMesh($3,0); - dest=$0; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $343 = HEAP32[$38>>2]|0; - $$01145 = 0;$$21144 = 0; - while(1) { - $357 = (($18) + ($$01145<<3)|0); - $358 = HEAP32[$357>>2]|0; - $359 = (($343) + ($$21144<<2)|0); - HEAP32[$359>>2] = $358; - $360 = (((($18) + ($$01145<<3)|0)) + 4|0); - $361 = HEAP32[$360>>2]|0; - $362 = $$21144 | 1; - $363 = (($343) + ($362<<2)|0); - HEAP32[$363>>2] = $361; - $364 = (($$21144) + 2)|0; - $365 = (($$01145) + 1)|0; - $exitcond = ($365|0)==($$01124$lcssa|0); - if ($exitcond) { - break; - } else { - $$01145 = $365;$$21144 = $364; - } - } - _free($16); - _free($19); - _free($18); - _free($4); - _rlLoadMesh($3,0); - dest=$0; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _DrawModel($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy4 = sp + 664|0; - $$byval_copy3 = sp + 652|0; - $$byval_copy2 = sp + 640|0; - $$byval_copy1 = sp + 628|0; - $$byval_copy = sp + 24|0; - $4 = sp + 12|0; - $5 = sp; - HEAPF32[$4>>2] = $2; - $6 = ((($4)) + 4|0); - HEAPF32[$6>>2] = $2; - $7 = ((($4)) + 8|0); - HEAPF32[$7>>2] = $2; - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; - _memcpy(($$byval_copy|0),($0|0),604)|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawModelEx($$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$$byval_copy3,$$byval_copy4); - STACKTOP = sp;return; -} -function _DrawModelEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 992|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(992|0); - $$byval_copy9 = sp + 928|0; - $$byval_copy8 = sp + 456|0; - $$byval_copy7 = sp + 384|0; - $6 = sp + 192|0; - $7 = sp + 128|0; - $8 = sp + 64|0; - $9 = sp; - $10 = sp + 320|0; - $11 = sp + 256|0; - $12 = +HEAPF32[$4>>2]; - $13 = ((($4)) + 4|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($4)) + 8|0); - $16 = +HEAPF32[$15>>2]; - _MatrixScale($6,$12,$14,$16); - $17 = $3 * 0.01745329238474369; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$2+8>>2]|0; - _MatrixRotate($7,$$byval_copy9,$17); - $18 = +HEAPF32[$1>>2]; - $19 = ((($1)) + 4|0); - $20 = +HEAPF32[$19>>2]; - $21 = ((($1)) + 8|0); - $22 = +HEAPF32[$21>>2]; - _MatrixTranslate($8,$18,$20,$22); - dest=$$byval_copy8; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($10,$$byval_copy8,$$byval_copy9); - dest=$$byval_copy8; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($9,$$byval_copy8,$$byval_copy9); - $23 = ((($0)) + 68|0); - dest=$$byval_copy8; src=$23; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$9; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($11,$$byval_copy8,$$byval_copy9); - dest=$23; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $24 = ((($0)) + 132|0); - $25 = ((($0)) + 284|0); - $26 = HEAPU8[$5>>0]|(HEAPU8[$5+1>>0]<<8)|(HEAPU8[$5+2>>0]<<16)|(HEAPU8[$5+3>>0]<<24); - HEAP32[$25>>2] = $26; - dest=$$byval_copy7; src=$0; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _memcpy(($$byval_copy8|0),($24|0),472)|0; - dest=$$byval_copy9; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlDrawMesh($$byval_copy7,$$byval_copy8,$$byval_copy9); - STACKTOP = sp;return; -} -function _rlDrawMesh($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0$off = 0, $$03539 = 0, $$036$off = 0, $$03640 = 0, $$038 = 0, $$byval_copy10 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $exitcond = 0, $exitcond42 = 0, $modelview$byval_copy8 = 0, $switch = 0, $switch37 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(464|0); - $$byval_copy10 = sp + 392|0; - $modelview$byval_copy8 = sp + 256|0; - $3 = sp + 192|0; - $4 = sp + 128|0; - $5 = sp + 64|0; - $6 = sp; - $7 = HEAP32[$1>>2]|0; - _glUseProgram(($7|0)); - $8 = ((($1)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(-1); - if (!($10)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$9,$$byval_copy10); - } - $11 = ((($1)) + 48|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(-1); - if (!($13)) { - $14 = ((($1)) + 152|0); - $15 = HEAP8[$14>>0]|0; - $16 = (+($15&255)); - $17 = $16 / 255.0; - $18 = ((($1)) + 153|0); - $19 = HEAP8[$18>>0]|0; - $20 = (+($19&255)); - $21 = $20 / 255.0; - $22 = ((($1)) + 154|0); - $23 = HEAP8[$22>>0]|0; - $24 = (+($23&255)); - $25 = $24 / 255.0; - $26 = ((($1)) + 155|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 / 255.0; - _glUniform4f(($12|0),(+$17),(+$21),(+$25),(+$29)); - } - $30 = ((($1)) + 52|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(-1); - if (!($32)) { - $33 = ((($1)) + 180|0); - $34 = HEAP8[$33>>0]|0; - $35 = (+($34&255)); - $36 = $35 / 255.0; - $37 = ((($1)) + 181|0); - $38 = HEAP8[$37>>0]|0; - $39 = (+($38&255)); - $40 = $39 / 255.0; - $41 = ((($1)) + 182|0); - $42 = HEAP8[$41>>0]|0; - $43 = (+($42&255)); - $44 = $43 / 255.0; - $45 = ((($1)) + 183|0); - $46 = HEAP8[$45>>0]|0; - $47 = (+($46&255)); - $48 = $47 / 255.0; - _glUniform4f(($31|0),(+$36),(+$40),(+$44),(+$48)); - } - $49 = ((($1)) + 36|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(-1); - if (!($51)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=19044; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$50,$$byval_copy10); - } - $52 = ((($1)) + 40|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==(-1); - if (!($54)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=18980; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$53,$$byval_copy10); - } - dest=$3; src=19044; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=18980; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelview$byval_copy8; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=19044; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($5,$modelview$byval_copy8,$$byval_copy10); - $$03640 = 0; - while(1) { - $57 = (((($1)) + 132|0) + (($$03640*28)|0)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = (($$03640) + 33984)|0; - _glActiveTexture(($60|0)); - $61 = HEAP32[$57>>2]|0; - $$036$off = (($$03640) + -7)|0; - $switch = ($$036$off>>>0)<(3); - if ($switch) { - _glBindTexture(34067,($61|0)); - } else { - _glBindTexture(3553,($61|0)); - } - $62 = (($$03640) + 14)|0; - $63 = (((($1)) + 4|0) + ($62<<2)|0); - $64 = HEAP32[$63>>2]|0; - _glUniform1i(($64|0),($$03640|0)); - } - $65 = (($$03640) + 1)|0; - $exitcond42 = ($65|0)==(12); - if ($exitcond42) { - break; - } else { - $$03640 = $65; - } - } - $55 = HEAP32[4838]|0; - $56 = ($55|0)==(0); - if ($56) { - $69 = ((($0)) + 40|0); - $70 = HEAP32[$69>>2]|0; - _glBindBuffer(34962,($70|0)); - $71 = ((($1)) + 4|0); - $72 = HEAP32[$71>>2]|0; - _glVertexAttribPointer(($72|0),3,5126,0,0,(0|0)); - $73 = HEAP32[$71>>2]|0; - _glEnableVertexAttribArray(($73|0)); - $74 = ((($0)) + 44|0); - $75 = HEAP32[$74>>2]|0; - _glBindBuffer(34962,($75|0)); - $76 = ((($1)) + 8|0); - $77 = HEAP32[$76>>2]|0; - _glVertexAttribPointer(($77|0),2,5126,0,0,(0|0)); - $78 = HEAP32[$76>>2]|0; - _glEnableVertexAttribArray(($78|0)); - $79 = ((($1)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(-1); - if (!($81)) { - $82 = ((($0)) + 48|0); - $83 = HEAP32[$82>>2]|0; - _glBindBuffer(34962,($83|0)); - $84 = HEAP32[$79>>2]|0; - _glVertexAttribPointer(($84|0),3,5126,0,0,(0|0)); - $85 = HEAP32[$79>>2]|0; - _glEnableVertexAttribArray(($85|0)); - } - $86 = ((($1)) + 24|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(-1); - do { - if (!($88)) { - $89 = ((($0)) + 52|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - _glVertexAttrib4f(($87|0),1.0,1.0,1.0,1.0); - $94 = HEAP32[$86>>2]|0; - _glDisableVertexAttribArray(($94|0)); - break; - } else { - _glBindBuffer(34962,($90|0)); - $92 = HEAP32[$86>>2]|0; - _glVertexAttribPointer(($92|0),4,5121,1,0,(0|0)); - $93 = HEAP32[$86>>2]|0; - _glEnableVertexAttribArray(($93|0)); - break; - } - } - } while(0); - $95 = ((($1)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==(-1); - if (!($97)) { - $98 = ((($0)) + 56|0); - $99 = HEAP32[$98>>2]|0; - _glBindBuffer(34962,($99|0)); - $100 = HEAP32[$95>>2]|0; - _glVertexAttribPointer(($100|0),3,5126,0,0,(0|0)); - $101 = HEAP32[$95>>2]|0; - _glEnableVertexAttribArray(($101|0)); - } - $102 = ((($1)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)==(-1); - if (!($104)) { - $105 = ((($0)) + 60|0); - $106 = HEAP32[$105>>2]|0; - _glBindBuffer(34962,($106|0)); - $107 = HEAP32[$102>>2]|0; - _glVertexAttribPointer(($107|0),2,5126,0,0,(0|0)); - $108 = HEAP32[$102>>2]|0; - _glEnableVertexAttribArray(($108|0)); - } - $109 = ((($0)) + 32|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if (!($111)) { - $112 = ((($0)) + 64|0); - $113 = HEAP32[$112>>2]|0; - _glBindBuffer(34963,($113|0)); - } - } else { - $66 = HEAP32[4839]|0; - $67 = ((($0)) + 36|0); - $68 = HEAP32[$67>>2]|0; - FUNCTION_TABLE_vi[$66 & 31]($68); - } - $114 = HEAP32[4777]|0; - $115 = ($114|0)!=(0); - $$ = $115 ? 2 : 1; - $116 = ((($1)) + 28|0); - $117 = ((($0)) + 32|0); - $118 = HEAP32[$0>>2]|0; - $119 = ((($0)) + 4|0); - $$03539 = 0; - while(1) { - if ($115) { - dest=$modelview$byval_copy8; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$03539,$modelview$byval_copy8,$$byval_copy10); - } else { - dest=19044; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - dest=$modelview$byval_copy8; src=19044; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=18980; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($6,$modelview$byval_copy8,$$byval_copy10); - $120 = HEAP32[$116>>2]|0; - dest=$$byval_copy10; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $121 = (_MatrixToFloat($$byval_copy10)|0); - _glUniformMatrix4fv(($120|0),1,0,($121|0)); - $122 = HEAP32[$117>>2]|0; - $123 = ($122|0)==(0|0); - if ($123) { - _glDrawArrays(4,0,($118|0)); - } else { - $124 = HEAP32[$119>>2]|0; - $125 = ($124*3)|0; - _glDrawElements(4,($125|0),5123,(0|0)); - } - $126 = (($$03539) + 1)|0; - $127 = ($126|0)<($$|0); - if ($127) { - $$03539 = $126; - } else { - $$038 = 0; - break; - } - } - while(1) { - $130 = (($$038) + 33984)|0; - _glActiveTexture(($130|0)); - $$0$off = (($$038) + -7)|0; - $switch37 = ($$0$off>>>0)<(3); - if ($switch37) { - _glBindTexture(34067,0); - } else { - _glBindTexture(3553,0); - } - $131 = (($$038) + 1)|0; - $exitcond = ($131|0)==(12); - if ($exitcond) { - break; - } else { - $$038 = $131; - } - } - $128 = HEAP32[4838]|0; - $129 = ($128|0)==(0); - if (!($129)) { - $132 = HEAP32[4839]|0; - FUNCTION_TABLE_vi[$132 & 31](0); - _glUseProgram(0); - dest=18980; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19044; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34962,0); - $133 = ((($0)) + 32|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0|0); - if ($135) { - _glUseProgram(0); - dest=18980; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19044; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34963,0); - _glUseProgram(0); - dest=18980; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19044; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetShaderValueMatrix($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $3 = 0, $4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $3 = HEAP32[$0>>2]|0; - _glUseProgram(($3|0)); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $4 = (_MatrixToFloat($$byval_copy)|0); - _glUniformMatrix4fv(($1|0),1,0,($4|0)); - STACKTOP = sp;return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 116|0; - $$byval_copy4 = sp + 104|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($6,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($6); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($7,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($7); - $8 = HEAP32[$6>>2]|0; - HEAP32[$4>>2] = $8; - $9 = ((($6)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($4)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($4)) + 32|0); - HEAP32[$14>>2] = $13; - $15 = ((($4)) + 48|0); - HEAPF32[$15>>2] = 0.0; - $16 = HEAP32[$7>>2]|0; - $17 = ((($4)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = ((($7)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($4)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ((($7)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($4)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = ((($4)) + 52|0); - HEAPF32[$24>>2] = 0.0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($4)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = ((($5)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($4)) + 24|0); - HEAP32[$29>>2] = $28; - $30 = ((($5)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = $31; - $33 = ((($4)) + 56|0); - HEAPF32[$33>>2] = 0.0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($4)) + 12|0); - HEAP32[$35>>2] = $34; - $36 = ((($1)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($4)) + 28|0); - HEAP32[$38>>2] = $37; - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($4)) + 44|0); - HEAP32[$41>>2] = $40; - $42 = ((($4)) + 60|0); - HEAPF32[$42>>2] = 1.0; - _MatrixInvert($4); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _rlVertex2i($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+($0|0)); - $3 = (+($1|0)); - $4 = +HEAPF32[917]; - _rlVertex3f($2,$3,$4); - return; -} -function _DrawRectangle($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy2 = sp + 32|0; - $$byval_copy1 = sp + 24|0; - $$byval_copy = sp + 16|0; - $5 = sp + 8|0; - $6 = sp; - $7 = (+($0|0)); - HEAPF32[$5>>2] = $7; - $8 = ((($5)) + 4|0); - $9 = (+($1|0)); - HEAPF32[$8>>2] = $9; - $10 = (+($2|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($3|0)); - HEAPF32[$11>>2] = $12; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawRectangleV($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; - var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $3 = sp; - $4 = (_rlGetVersion()|0); - $5 = ($4|0)==(1); - if ($5) { - _rlBegin(4); - $6 = HEAP8[$2>>0]|0; - $7 = ((($2)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($2)) + 2|0); - $10 = HEAP8[$9>>0]|0; - $11 = ((($2)) + 3|0); - $12 = HEAP8[$11>>0]|0; - _rlColor4ub($6,$8,$10,$12); - $13 = +HEAPF32[$0>>2]; - $14 = (~~(($13))); - $15 = ((($0)) + 4|0); - $16 = +HEAPF32[$15>>2]; - $17 = (~~(($16))); - _rlVertex2i($14,$17); - $18 = ((($1)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $16 + $19; - $21 = (~~(($20))); - _rlVertex2i($14,$21); - $22 = +HEAPF32[$0>>2]; - $23 = +HEAPF32[$1>>2]; - $24 = $22 + $23; - $25 = (~~(($24))); - $26 = +HEAPF32[$15>>2]; - $27 = +HEAPF32[$18>>2]; - $28 = $26 + $27; - $29 = (~~(($28))); - _rlVertex2i($25,$29); - $30 = +HEAPF32[$0>>2]; - $31 = (~~(($30))); - $32 = +HEAPF32[$15>>2]; - $33 = (~~(($32))); - _rlVertex2i($31,$33); - $34 = +HEAPF32[$1>>2]; - $35 = $30 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$18>>2]; - $38 = $32 + $37; - $39 = (~~(($38))); - _rlVertex2i($36,$39); - $40 = +HEAPF32[$0>>2]; - $41 = +HEAPF32[$1>>2]; - $42 = $40 + $41; - $43 = (~~(($42))); - $44 = +HEAPF32[$15>>2]; - $45 = (~~(($44))); - _rlVertex2i($43,$45); - _rlEnd(); - STACKTOP = sp;return; - } - $46 = (_rlGetVersion()|0); - $47 = ($46|0)==(2); - if (!($47)) { - $48 = (_rlGetVersion()|0); - $49 = ($48|0)==(3); - if (!($49)) { - $50 = (_rlGetVersion()|0); - $51 = ($50|0)==(4); - if (!($51)) { - STACKTOP = sp;return; - } - } - } - _GetTextureDefault($3); - $52 = HEAP32[$3>>2]|0; - _rlEnableTexture($52); - _rlBegin(7); - $53 = HEAP8[$2>>0]|0; - $54 = ((($2)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = ((($2)) + 2|0); - $57 = HEAP8[$56>>0]|0; - $58 = ((($2)) + 3|0); - $59 = HEAP8[$58>>0]|0; - _rlColor4ub($53,$55,$57,$59); - _rlTexCoord2f(0.0,0.0); - $60 = +HEAPF32[$0>>2]; - $61 = ((($0)) + 4|0); - $62 = +HEAPF32[$61>>2]; - _rlVertex2f($60,$62); - _rlTexCoord2f(0.0,1.0); - $63 = ((($1)) + 4|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 + $64; - _rlVertex2f($60,$65); - _rlTexCoord2f(1.0,1.0); - $66 = +HEAPF32[$0>>2]; - $67 = +HEAPF32[$1>>2]; - $68 = $66 + $67; - $69 = +HEAPF32[$61>>2]; - $70 = +HEAPF32[$63>>2]; - $71 = $69 + $70; - _rlVertex2f($68,$71); - _rlTexCoord2f(1.0,0.0); - $72 = +HEAPF32[$0>>2]; - $73 = +HEAPF32[$1>>2]; - $74 = $72 + $73; - $75 = +HEAPF32[$61>>2]; - _rlVertex2f($74,$75); - _rlEnd(); - _rlDisableTexture(); - STACKTOP = sp;return; -} -function _DrawRectangleLines($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy3 = sp; - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(1); - if ($6) { - _rlBegin(1); - $7 = HEAP8[$4>>0]|0; - $8 = ((($4)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($4)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($4)) + 3|0); - $13 = HEAP8[$12>>0]|0; - _rlColor4ub($7,$9,$11,$13); - $14 = (($0) + 1)|0; - $15 = (($1) + 1)|0; - _rlVertex2i($14,$15); - $16 = (($2) + ($0))|0; - _rlVertex2i($16,$15); - _rlVertex2i($16,$15); - $17 = (($3) + ($1))|0; - _rlVertex2i($16,$17); - _rlVertex2i($16,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$15); - _rlEnd(); - STACKTOP = sp;return; - } - $18 = (_rlGetVersion()|0); - $19 = ($18|0)==(2); - if (!($19)) { - $20 = (_rlGetVersion()|0); - $21 = ($20|0)==(3); - if (!($21)) { - $22 = (_rlGetVersion()|0); - $23 = ($22|0)==(4); - if (!($23)) { - STACKTOP = sp;return; - } - } - } - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$1,$2,1,$$byval_copy3); - $24 = (($0) + -1)|0; - $25 = (($24) + ($2))|0; - $26 = (($1) + 1)|0; - $27 = (($3) + -2)|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($25,$26,1,$27,$$byval_copy3); - $28 = (($1) + -1)|0; - $29 = (($28) + ($3))|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$29,$2,1,$$byval_copy3); - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$26,1,$27,$$byval_copy3); - STACKTOP = sp;return; -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = $4 * $4; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = $10 * $10; - $12 = $5 + $11; - $13 = (+Math_sqrt((+$12))); - return (+$13); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _Vector3Zero($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 0.0; - $1 = ((($0)) + 4|0); - HEAPF32[$1>>2] = 0.0; - $2 = ((($0)) + 8|0); - HEAPF32[$2>>2] = 0.0; - return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[5267] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 18080; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 18120; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4530]; - $111 = +HEAPF32[4520]; - $112 = $110 - $111; - HEAPF32[4532] = $112; - $113 = +HEAPF32[(18124)>>2]; - $114 = +HEAPF32[(18084)>>2]; - $115 = $113 - $114; - HEAPF32[(18132)>>2] = $115; - HEAP32[5266] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18136+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5272] = $116; - $117 = 18112; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 18080; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 18136; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 18120; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 18112; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 18136; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4534]; - $160 = +HEAPF32[4528]; - $161 = $159 - $160; - HEAPF32[4532] = $161; - $162 = +HEAPF32[(18140)>>2]; - $163 = +HEAPF32[(18116)>>2]; - $164 = $162 - $163; - HEAPF32[(18132)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18080+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18120>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18120+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18136+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18136+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5272]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[5266] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18136+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[5273] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[5272] = 0.0; - HEAPF32[5273] = 0.0; - HEAPF32[4532] = 0.0; - HEAPF32[(18132)>>2] = 0.0; - HEAP32[5267] = 0; - HEAP32[5266] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[5268]|0; - $7 = (($6) + 1)|0; - HEAP32[5268] = $7; - $8 = HEAP32[5266]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18080+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[5266] = 2; - HEAP32[5268] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5268] = 1; - HEAP32[5266] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 18080; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 18088; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 18096; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[937] = $34; - HEAPF32[4526] = 0.0; - HEAPF32[(18108)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[5266]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 18096; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18080+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18096+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[5269] = $49; - HEAP32[5270] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[937]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18080+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18096+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[5271] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[5269] = 0.0; - HEAPF32[5271] = 0.0; - $$sink10 = 0; - } - HEAP32[5266] = $$sink10; - HEAPF32[4522] = 0.0; - HEAPF32[(18092)>>2] = 0.0; - HEAP32[5267] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[5270]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[5270] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 18112; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[5266]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18080+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[5266] = 8; - } - } - $82 = +HEAPF32[4528]; - $83 = +HEAPF32[4522]; - $84 = $82 - $83; - HEAPF32[4526] = $84; - $85 = +HEAPF32[(18116)>>2]; - $86 = +HEAPF32[(18092)>>2]; - $87 = $85 - $86; - HEAPF32[(18108)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5266]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5267]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5266] = 4; - } - $4 = HEAP32[5266]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[5266] = 0; - return; -} -function _SetCameraMode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$off = 0, $$sroa$024$0$$sroa_idx = 0, $$sroa$024$0$copyload = 0.0, $$sroa$031$0$copyload = 0.0, $$sroa$4$0$$sroa_idx26 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$433$0$$sroa_idx34 = 0, $$sroa$433$0$copyload = 0.0, $$sroa$528$0$$sroa_idx29 = 0, $$sroa$528$0$copyload = 0.0, $$sroa$536$0$$sroa_idx37 = 0, $$sroa$536$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0; - var $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $$sroa$031$0$copyload = +HEAPF32[$0>>2]; - $$sroa$433$0$$sroa_idx34 = ((($0)) + 4|0); - $$sroa$433$0$copyload = +HEAPF32[$$sroa$433$0$$sroa_idx34>>2]; - $$sroa$536$0$$sroa_idx37 = ((($0)) + 8|0); - $$sroa$536$0$copyload = +HEAPF32[$$sroa$536$0$$sroa_idx37>>2]; - $$sroa$024$0$$sroa_idx = ((($0)) + 12|0); - $$sroa$024$0$copyload = +HEAPF32[$$sroa$024$0$$sroa_idx>>2]; - $$sroa$4$0$$sroa_idx26 = ((($0)) + 16|0); - $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx26>>2]; - $$sroa$528$0$$sroa_idx29 = ((($0)) + 20|0); - $$sroa$528$0$copyload = +HEAPF32[$$sroa$528$0$$sroa_idx29>>2]; - $2 = $$sroa$024$0$copyload - $$sroa$031$0$copyload; - $3 = $$sroa$4$0$copyload - $$sroa$433$0$copyload; - $4 = $$sroa$528$0$copyload - $$sroa$536$0$copyload; - $5 = $2 * $2; - $6 = $3 * $3; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $10 = (+Math_sqrt((+$9))); - HEAPF32[5274] = $10; - $11 = $5 + $8; - $12 = (+Math_sqrt((+$11))); - $13 = (+Math_sqrt((+$7))); - $14 = (+Math_abs((+$2))); - $15 = $14 / $12; - $16 = (+Math_asin((+$15))); - HEAPF32[5275] = $16; - $17 = (+Math_abs((+$3))); - $18 = $17 / $13; - $19 = (+Math_asin((+$18))); - $20 = -$19; - HEAPF32[5276] = $20; - $21 = HEAP32[$$sroa$433$0$$sroa_idx34>>2]|0; - HEAP32[938] = $21; - $$off = (($1) + -3)|0; - $22 = ($$off>>>0)<(2); - if ($22) { - _DisableCursor(); - HEAP32[5277] = $1; - return; - } else { - _EnableCursor(); - HEAP32[5277] = $1; - return; - } -} -function _DisableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5278] = 1; - HEAP32[5279] = 1; - return; -} -function _EnableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5278] = 1; - HEAP32[5279] = 0; - return; -} -function _UpdateCamera($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$not = 0, $$not170 = 0, $$pr = 0, $$pr172 = 0, $$sink = 0.0, $$sink15 = 0, $$sink20 = 0.0, $$sink20$p = 0.0, $$sink24 = 0.0, $$sink26 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0; - var $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0; - var $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0; - var $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0; - var $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0; - var $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0; - var $197 = 0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0.0; - var $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0.0; - var $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0; - var $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0; - var $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0, $285 = 0.0, $286 = 0.0; - var $287 = 0.0, $288 = 0, $289 = 0.0, $29 = 0.0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0.0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0.0; - var $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0; - var $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0, $329 = 0.0, $33 = 0.0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0.0, $34 = 0.0; - var $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0.0, $352 = 0, $353 = 0.0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0.0; - var $359 = 0.0, $36 = 0, $360 = 0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; - var $377 = 0, $378 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0; - var $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; - var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0; - var $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0, $99 = 0.0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond169 = 0, $or$cond171 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0; - var $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $1 = sp; - $2 = sp + 8|0; - _GetMousePosition($1); - $3 = (_GetMouseWheelMove()|0); - $4 = HEAP32[939]|0; - $5 = (_IsMouseButtonDown($4)|0); - $6 = HEAP32[940]|0; - $7 = (_IsKeyDown($6)|0); - $8 = HEAP32[941]|0; - $9 = (_IsKeyDown($8)|0); - $10 = HEAP32[942]|0; - $11 = (_IsKeyDown($10)|0); - HEAP32[$2>>2] = $11; - $12 = ((($2)) + 4|0); - $13 = HEAP32[943]|0; - $14 = (_IsKeyDown($13)|0); - HEAP32[$12>>2] = $14; - $15 = ((($2)) + 8|0); - $16 = HEAP32[944]|0; - $17 = (_IsKeyDown($16)|0); - HEAP32[$15>>2] = $17; - $18 = ((($2)) + 12|0); - $19 = HEAP32[945]|0; - $20 = (_IsKeyDown($19)|0); - HEAP32[$18>>2] = $20; - $21 = ((($2)) + 16|0); - $22 = HEAP32[946]|0; - $23 = (_IsKeyDown($22)|0); - HEAP32[$21>>2] = $23; - $24 = ((($2)) + 20|0); - $25 = HEAP32[947]|0; - $26 = (_IsKeyDown($25)|0); - HEAP32[$24>>2] = $26; - $27 = HEAP32[5277]|0; - $28 = ($27|0)==(0); - L1: do { - if ($28) { - label = 47; - } else { - $29 = +HEAPF32[$1>>2]; - $30 = +HEAPF32[4536]; - $31 = $29 - $30; - $32 = ((($1)) + 4|0); - $33 = +HEAPF32[$32>>2]; - $34 = +HEAPF32[(18148)>>2]; - $35 = $33 - $34; - $36 = $1; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = 18144; - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $$pr = HEAP32[5277]|0; - switch ($$pr|0) { - case 1: { - $46 = +HEAPF32[5274]; - $47 = $46 < 120.0; - $48 = ($3|0)<(0); - $or$cond = $48 & $47; - do { - if ($or$cond) { - $49 = (+($3|0)); - $50 = $49 * 1.5; - $51 = $46 - $50; - HEAPF32[5274] = $51; - $52 = $51 > 120.0; - if ($52) { - HEAPF32[5274] = 120.0; - } - } else { - $53 = ((($0)) + 4|0); - $54 = +HEAPF32[$53>>2]; - $55 = ((($0)) + 12|0); - $56 = ((($0)) + 16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 > $57; - $59 = $46 == 120.0; - $or$cond3 = $59 & $58; - $or$cond5 = $48 & $or$cond3; - if ($or$cond5) { - $60 = (+($3|0)); - $61 = +HEAPF32[$55>>2]; - $62 = +HEAPF32[$0>>2]; - $63 = $61 - $62; - $64 = $60 * $63; - $65 = $64 * 1.5; - $66 = $65 / $46; - $67 = $61 + $66; - HEAPF32[$55>>2] = $67; - $68 = $57 - $54; - $69 = $60 * $68; - $70 = $69 * 1.5; - $71 = $70 / $46; - $72 = $57 + $71; - HEAPF32[$56>>2] = $72; - $73 = ((($0)) + 20|0); - $74 = +HEAPF32[$73>>2]; - $75 = ((($0)) + 8|0); - $76 = +HEAPF32[$75>>2]; - $77 = $74 - $76; - $78 = $60 * $77; - $79 = $78 * 1.5; - $80 = $79 / $46; - $81 = $74 + $80; - HEAPF32[$73>>2] = $81; - break; - } - $$not = $58 ^ 1; - $82 = !($57 >= 0.0); - $or$cond169 = $82 | $$not; - if (!($or$cond169)) { - $83 = (+($3|0)); - $84 = +HEAPF32[$55>>2]; - $85 = +HEAPF32[$0>>2]; - $86 = $84 - $85; - $87 = $83 * $86; - $88 = $87 * 1.5; - $89 = $88 / $46; - $90 = $84 + $89; - HEAPF32[$55>>2] = $90; - $91 = $57 - $54; - $92 = $83 * $91; - $93 = $92 * 1.5; - $94 = $93 / $46; - $95 = $57 + $94; - HEAPF32[$56>>2] = $95; - $96 = ((($0)) + 20|0); - $97 = +HEAPF32[$96>>2]; - $98 = ((($0)) + 8|0); - $99 = +HEAPF32[$98>>2]; - $100 = $97 - $99; - $101 = $83 * $100; - $102 = $101 * 1.5; - $103 = $102 / $46; - $104 = $97 + $103; - HEAPF32[$96>>2] = $104; - break; - } - if ($58) { - $105 = $57 < 0.0; - $106 = ($3|0)>(0); - $or$cond7 = $106 & $105; - if ($or$cond7) { - $107 = (+($3|0)); - $108 = $107 * 1.5; - $109 = $46 - $108; - HEAPF32[5274] = $109; - $110 = $109 < 0.30000001192092896; - if (!($110)) { - break; - } - HEAPF32[5274] = 0.30000001192092896; - break; - } - } - $111 = $54 < $57; - $or$cond9 = $59 & $111; - $or$cond11 = $48 & $or$cond9; - $112 = +HEAPF32[$56>>2]; - $113 = +HEAPF32[$53>>2]; - if ($or$cond11) { - $114 = (+($3|0)); - $115 = +HEAPF32[$55>>2]; - $116 = +HEAPF32[$0>>2]; - $117 = $115 - $116; - $118 = $114 * $117; - $119 = $118 * 1.5; - $120 = $119 / $46; - $121 = $115 + $120; - HEAPF32[$55>>2] = $121; - $122 = $112 - $113; - $123 = $114 * $122; - $124 = $123 * 1.5; - $125 = +HEAPF32[5274]; - $126 = $124 / $125; - $127 = $112 + $126; - HEAPF32[$56>>2] = $127; - $128 = ((($0)) + 20|0); - $129 = +HEAPF32[$128>>2]; - $130 = ((($0)) + 8|0); - $131 = +HEAPF32[$130>>2]; - $132 = $129 - $131; - $133 = $114 * $132; - $134 = $133 * 1.5; - $135 = $134 / $125; - $136 = $129 + $135; - HEAPF32[$128>>2] = $136; - break; - } - $$not170 = $111 ^ 1; - $137 = !($57 <= 0.0); - $or$cond171 = $137 | $$not170; - if (!($or$cond171)) { - $138 = (+($3|0)); - $139 = +HEAPF32[$55>>2]; - $140 = +HEAPF32[$0>>2]; - $141 = $139 - $140; - $142 = $138 * $141; - $143 = $142 * 1.5; - $144 = $143 / $46; - $145 = $139 + $144; - HEAPF32[$55>>2] = $145; - $146 = $112 - $113; - $147 = $138 * $146; - $148 = $147 * 1.5; - $149 = +HEAPF32[5274]; - $150 = $148 / $149; - $151 = $112 + $150; - HEAPF32[$56>>2] = $151; - $152 = ((($0)) + 20|0); - $153 = +HEAPF32[$152>>2]; - $154 = ((($0)) + 8|0); - $155 = +HEAPF32[$154>>2]; - $156 = $153 - $155; - $157 = $138 * $156; - $158 = $157 * 1.5; - $159 = $158 / $149; - $160 = $153 + $159; - HEAPF32[$152>>2] = $160; - break; - } - $161 = $113 < $112; - if ($161) { - $162 = $112 > 0.0; - $163 = ($3|0)>(0); - $or$cond13 = $163 & $162; - if ($or$cond13) { - $164 = (+($3|0)); - $165 = $164 * 1.5; - $166 = +HEAPF32[5274]; - $167 = $166 - $165; - HEAPF32[5274] = $167; - $168 = $167 < 0.30000001192092896; - if ($168) { - HEAPF32[5274] = 0.30000001192092896; - } - } - } - } - } while(0); - $169 = ($5|0)==(0); - if ($169) { - label = 47; - break L1; - } - $170 = ($7|0)==(0); - if ($170) { - $183 = $31 * -0.0099999997764825821; - $184 = +HEAPF32[5275]; - $185 = (+Math_cos((+$184))); - $186 = $183 * $185; - $187 = $35 * 0.0099999997764825821; - $188 = (+Math_sin((+$184))); - $189 = $187 * $188; - $190 = +HEAPF32[5276]; - $191 = (+Math_sin((+$190))); - $192 = $189 * $191; - $193 = $186 + $192; - $194 = +HEAPF32[5274]; - $195 = $194 / 5.0999999046325684; - $196 = $193 * $195; - $197 = ((($0)) + 12|0); - $198 = +HEAPF32[$197>>2]; - $199 = $198 + $196; - HEAPF32[$197>>2] = $199; - $200 = (+Math_cos((+$190))); - $201 = $187 * $200; - $202 = $195 * $201; - $203 = ((($0)) + 16|0); - $204 = +HEAPF32[$203>>2]; - $205 = $204 + $202; - HEAPF32[$203>>2] = $205; - $206 = $31 * 0.0099999997764825821; - $207 = $206 * $188; - $208 = $187 * $185; - $209 = $208 * $191; - $210 = $207 + $209; - $211 = $210 * $195; - $212 = ((($0)) + 20|0); - $213 = +HEAPF32[$212>>2]; - $214 = $211 + $213; - HEAPF32[$212>>2] = $214; - label = 47; - break L1; - } - $171 = ($9|0)==(0); - if (!($171)) { - $172 = $35 * 0.05000000074505806; - $173 = +HEAPF32[5274]; - $174 = $172 + $173; - HEAPF32[5274] = $174; - label = 47; - break L1; - } - $175 = $31 * 0.0099999997764825821; - $176 = +HEAPF32[5275]; - $177 = $176 - $175; - HEAPF32[5275] = $177; - $178 = $35 * 0.0099999997764825821; - $179 = +HEAPF32[5276]; - $180 = $179 - $178; - HEAPF32[5276] = $180; - $181 = $180 > 1.483529806137085; - if ($181) { - HEAPF32[5276] = 1.483529806137085; - label = 47; - break L1; - } - $182 = $180 < -1.483529806137085; - if (!($182)) { - label = 47; - break L1; - } - HEAPF32[5276] = -1.483529806137085; - label = 47; - break L1; - break; - } - case 2: { - $215 = +HEAPF32[5275]; - $216 = $215 + 0.0099999997764825821; - HEAPF32[5275] = $216; - $217 = (+($3|0)); - $218 = $217 * 1.5; - $219 = +HEAPF32[5274]; - $220 = $219 - $218; - HEAPF32[5274] = $220; - $221 = $220 < 1.2000000476837158; - if (!($221)) { - label = 47; - break L1; - } - HEAPF32[5274] = 1.2000000476837158; - label = 47; - break L1; - break; - } - case 4: case 3: { - $225 = +HEAPF32[5275]; - $226 = (+Math_sin((+$225))); - $227 = HEAP32[$12>>2]|0; - $228 = (+($227>>>0)); - $229 = $226 * $228; - $230 = HEAP32[$2>>2]|0; - $231 = (+($230>>>0)); - $232 = $226 * $231; - $233 = $229 - $232; - $234 = (+Math_cos((+$225))); - $235 = HEAP32[$18>>2]|0; - $236 = (+($235>>>0)); - $237 = $234 * $236; - $238 = $233 - $237; - $239 = HEAP32[$15>>2]|0; - $240 = (+($239>>>0)); - $241 = $234 * $240; - $242 = $238 + $241; - $243 = $242 / 20.0; - $244 = +HEAPF32[$0>>2]; - $245 = $244 + $243; - HEAPF32[$0>>2] = $245; - $246 = +HEAPF32[5276]; - $247 = (+Math_sin((+$246))); - $248 = $231 * $247; - $249 = $228 * $247; - $250 = $248 - $249; - $251 = HEAP32[$21>>2]|0; - $252 = (+($251>>>0)); - $253 = $250 + $252; - $254 = HEAP32[$24>>2]|0; - $255 = (+($254>>>0)); - $256 = $253 - $255; - $257 = $256 / 20.0; - $258 = ((($0)) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = $259 + $257; - HEAPF32[$258>>2] = $260; - $261 = $228 * $234; - $262 = $234 * $231; - $263 = $261 - $262; - $264 = $226 * $236; - $265 = $263 + $264; - $266 = $226 * $240; - $267 = $265 - $266; - $268 = $267 / 20.0; - $269 = ((($0)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $268 + $270; - HEAPF32[$269>>2] = $271; - $272 = HEAP32[$2>>2]|0; - $273 = ($272|0)==(0); - if ($273) { - $222 = ((($2)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = ($223|0)==(0); - if ($224) { - $368 = ((($2)) + 8|0); - $369 = HEAP32[$368>>2]|0; - $370 = ($369|0)==(0); - if ($370) { - $371 = ((($2)) + 12|0); - $372 = HEAP32[$371>>2]|0; - $373 = ($372|0)==(0); - if ($373) { - $374 = ((($2)) + 16|0); - $375 = HEAP32[$374>>2]|0; - $376 = ($375|0)==(0); - if ($376) { - $377 = ((($2)) + 20|0); - $378 = HEAP32[$377>>2]|0; - $not$ = ($378|0)!=(0); - $$ = $not$&1; - $$0 = $$; - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - $274 = $31 * 0.0030000000260770321; - $275 = +HEAPF32[5275]; - $276 = $275 - $274; - HEAPF32[5275] = $276; - $277 = $35 * 0.0030000000260770321; - $278 = +HEAPF32[5276]; - $279 = $278 - $277; - HEAPF32[5276] = $279; - $280 = HEAP32[5277]|0; - $281 = ($280|0)==(4); - if ($281) { - $282 = $279 > 0.087266460061073303; - if ($282) { - $$sink24 = 0.087266460061073303; - label = 38; - } else { - $283 = $279 < -1.483529806137085; - if ($283) { - $$sink24 = -1.483529806137085; - label = 38; - } - } - if ((label|0) == 38) { - HEAPF32[5276] = $$sink24; - } - $284 = (+($3|0)); - $285 = $284 * 1.5; - $286 = +HEAPF32[5274]; - $287 = $286 - $285; - $288 = $287 < 1.2000000476837158; - $storemerge = $288 ? 1.2000000476837158 : $287; - HEAPF32[5274] = $storemerge; - $289 = +HEAPF32[$0>>2]; - $290 = +HEAPF32[5275]; - $291 = (+Math_cos((+$290))); - $292 = $291 * 0.40000000596046448; - $293 = $289 + $292; - $294 = (+Math_sin((+$290))); - $295 = $294 * 0.0; - $296 = $293 + $295; - $297 = ((($0)) + 12|0); - HEAPF32[$297>>2] = $296; - $298 = +HEAPF32[$258>>2]; - $299 = $298 + 0.0; - $300 = ((($0)) + 16|0); - HEAPF32[$300>>2] = $299; - $301 = +HEAPF32[$269>>2]; - $302 = $295 + $301; - $303 = $294 * 0.40000000596046448; - $304 = $302 - $303; - $$sink = $304;$$sink15 = $297; - } else { - $305 = $279 > 1.483529806137085; - if ($305) { - $$sink26 = 1.483529806137085; - label = 42; - } else { - $306 = $279 < -1.483529806137085; - if ($306) { - $$sink26 = -1.483529806137085; - label = 42; - } - } - if ((label|0) == 42) { - HEAPF32[5276] = $$sink26; - } - $307 = +HEAPF32[$0>>2]; - $308 = +HEAPF32[5275]; - $309 = (+Math_sin((+$308))); - $310 = $309 * 25.0; - $311 = $307 - $310; - $312 = ((($0)) + 12|0); - HEAPF32[$312>>2] = $311; - $313 = +HEAPF32[$258>>2]; - $314 = +HEAPF32[5276]; - $315 = (+Math_sin((+$314))); - $316 = $315 * 25.0; - $317 = $313 + $316; - $318 = ((($0)) + 16|0); - HEAPF32[$318>>2] = $317; - $319 = +HEAPF32[$269>>2]; - $320 = (+Math_cos((+$308))); - $321 = $320 * 25.0; - $322 = $319 - $321; - $323 = ((($0)) + 20|0); - HEAPF32[$323>>2] = $322; - $324 = ($$0|0)==(0); - if (!($324)) { - $325 = HEAP32[5280]|0; - $326 = (($325) + 1)|0; - HEAP32[5280] = $326; - } - $327 = +HEAPF32[938]; - $328 = HEAP32[5280]|0; - $329 = (+($328|0)); - $330 = $329 / 5.0; - $331 = (+Math_sin((+$330))); - $332 = $331 / 30.0; - $333 = $327 - $332; - HEAPF32[$258>>2] = $333; - $334 = $329 / 10.0; - $335 = (+Math_sin((+$334))); - $336 = $335 / 200.0; - $337 = ((($0)) + 24|0); - HEAPF32[$337>>2] = $336; - $338 = -$335; - $339 = $338 / 200.0; - $$sink = $339;$$sink15 = $337; - } - $340 = ((($$sink15)) + 8|0); - HEAPF32[$340>>2] = $$sink; - label = 47; - break L1; - break; - } - default: { - $341 = $$pr; - break L1; - } - } - } - } while(0); - if ((label|0) == 47) { - $$pr172 = HEAP32[5277]|0; - $341 = $$pr172; - } - switch ($341|0) { - case 1: case 2: case 4: { - break; - } - default: { - STACKTOP = sp;return; - } - } - $342 = +HEAPF32[5275]; - $343 = (+Math_sin((+$342))); - $344 = +HEAPF32[5274]; - $345 = $343 * $344; - $346 = +HEAPF32[5276]; - $347 = (+Math_cos((+$346))); - $348 = $345 * $347; - $349 = ((($0)) + 12|0); - $350 = +HEAPF32[$349>>2]; - $351 = $348 + $350; - HEAPF32[$0>>2] = $351; - $352 = !($346 <= 0.0); - $353 = (+Math_sin((+$346))); - $354 = +HEAPF32[5274]; - $355 = ((($0)) + 16|0); - $356 = +HEAPF32[$355>>2]; - $357 = $353 * $354; - $358 = $353 * $357; - $359 = -$358; - $$sink20$p = $352 ? $359 : $358; - $$sink20 = $356 + $$sink20$p; - $360 = ((($0)) + 4|0); - HEAPF32[$360>>2] = $$sink20; - $361 = (+Math_cos((+$342))); - $362 = $354 * $361; - $363 = $347 * $362; - $364 = ((($0)) + 20|0); - $365 = +HEAPF32[$364>>2]; - $366 = $365 + $363; - $367 = ((($0)) + 8|0); - HEAPF32[$367>>2] = $366; - STACKTOP = sp;return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 18152; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _GetMouseWheelMove() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5282]|0; - $1 = (($0|0) / 100)&-1; - return ($1|0); -} -function _IsMouseButtonDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetMouseButtonStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _IsKeyDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetKeyStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _GetKeyStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5281]|0; - $2 = (_glfwGetKey(($1|0),($0|0))|0); - return ($2|0); -} -function _GetMouseButtonStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5281]|0; - $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); - return ($2|0); -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _TraceLog(0,8158,$vararg_buffer); - HEAP32[5283] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_keypress_callback((8187|0),(0|0),1,(6|0))|0); - (_emscripten_set_click_callback((8187|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchstart_callback((8187|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchend_callback((8187|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchmove_callback((8187|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchcancel_callback((8187|0),(0|0),1,(8|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[5284]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[4538] = $5; - $6 = HEAP32[5285]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(18156)>>2] = $8; - $9 = HEAP32[5286]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[5284] = $0; - HEAP32[5285] = $1; - _MatrixIdentity($2); - dest=21164; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,8382,$vararg_buffer); - } - $6 = HEAP32[5284]|0; - HEAP32[5307] = $6; - $7 = HEAP32[5285]|0; - HEAP32[5308] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[22040]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[22040]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[22040]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,8408,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[5309]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[5284]|0; - $48 = HEAP32[5285]|0; - $49 = HEAP32[5283]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5281] = $50; - $51 = HEAP32[5284]|0; - HEAP32[5310] = $51; - $52 = HEAP32[5285]|0; - HEAP32[5311] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[5284]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5285]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[5307] = $31; - HEAP32[5308] = $34; - } - } while(0); - $38 = HEAP32[5307]|0; - $39 = HEAP32[5308]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(1,8433,$vararg_buffer3); - $40 = HEAP32[5307]|0; - $41 = HEAP32[5308]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[5307]|0; - $43 = HEAP32[5308]|0; - $44 = HEAP32[5283]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5281] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(2,8471,$vararg_buffer6); - } else { - _TraceLog(0,8504,$vararg_buffer8); - $55 = HEAP32[5310]|0; - $56 = HEAP32[5311]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,8544,$vararg_buffer10); - $57 = HEAP32[5284]|0; - $58 = HEAP32[5285]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,8565,$vararg_buffer14); - $59 = HEAP32[5312]|0; - $60 = HEAP32[5313]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,8586,$vararg_buffer18); - } - $61 = HEAP32[5281]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5281]|0; - (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5281]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5281]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5281]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5281]|0; - (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5281]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5281]|0; - (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5281]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[22040]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[5284]|0; - $74 = HEAP32[5285]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5310]|0; - $76 = HEAP32[5312]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5311]|0; - $80 = HEAP32[5313]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,8611,$vararg_buffer22); - $73 = HEAP32[5284]|0; - $74 = HEAP32[5285]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5310]|0; - $76 = HEAP32[5312]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5311]|0; - $80 = HEAP32[5313]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[2273] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,8315,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,8246,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,8239)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - $5 = HEAP32[5278]|0; - $6 = ($5|0)!=(0); - $or$cond = $4 & $6; - if (!($or$cond)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - HEAP32[5278] = 0; - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 18168; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (18176); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (21148 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ($0|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[2270] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,8195,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5286] = 0; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5284]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5285]|0; - return ($0|0); -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(1,12167,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[5284]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[5285]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[5310] = $3; - HEAP32[5311] = $5; - HEAP32[5312] = 0; - HEAP32[5313] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,12101,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[5284]|0; - $36 = (+($35|0)); - $37 = HEAP32[5285]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[5310] = $45; - HEAP32[5311] = $37; - $46 = (($45) - ($35))|0; - HEAP32[5312] = $46; - $$sink1 = 0; - } else { - HEAP32[5310] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[5311] = $42; - HEAP32[5312] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[5313] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[5285]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(1,11958,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[5284]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[5285]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[5310] = $23; - HEAP32[5311] = $1; - $24 = (($0) - ($23))|0; - HEAP32[5312] = $24; - $$sink = 0; - } else { - HEAP32[5310] = $0; - $17 = HEAP32[5285]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[5311] = $20; - HEAP32[5312] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[5313] = $$sink; - $25 = HEAP32[5310]|0; - $26 = (+($25|0)); - $27 = HEAP32[5284]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=21164; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5310] = $0; - HEAP32[5311] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(1,12036,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[5284] = $1; - HEAP32[5285] = $2; - HEAP32[5310] = $1; - HEAP32[5311] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[949]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (22047 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[948] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (22041 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 18168; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[948] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[5316] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[5315] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; - var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2528|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2396|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,8634,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,8652,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,8670,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,8688,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$063 = 0;$$sink64 = $14; - while(1) { - $15 = (_strtok($$sink64,8706)|0); - $16 = (($vararg_buffer7) + ($$063<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$063) + 1)|0; - if ($17) { - break; - } else { - $$063 = $18;$$sink64 = 0; - } - } - _free($14); - $19 = (($$063) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,8708,$vararg_buffer10); - $20 = ($$063|0)>(1); - if ($20) { - $$06268 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06268<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,8743)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[4838] = 1; - $27 = (_eglGetProcAddress((8770|0))|0); - HEAP32[5264] = $27; - $28 = (_eglGetProcAddress((8791|0))|0); - HEAP32[4839] = $28; - $29 = (_eglGetProcAddress((8812|0))|0); - HEAP32[5265] = $29; - } - $30 = (_strcmp($24,8836)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[4726] = 1; - } - $32 = (_strcmp($24,8856)|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP32[4725] = 1; - } - $34 = (_strcmp($24,8874)|0); - $35 = ($34|0)==(0); - if ($35) { - label = 14; - } else { - $36 = HEAP32[$23>>2]|0; - $37 = (_strcmp($36,8906)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 14; - } else { - $39 = (_strcmp($36,8939)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 14; - } - } - } - if ((label|0) == 14) { - label = 0; - HEAP32[4720] = 1; - } - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,8979)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 17; - } else { - $44 = (_strcmp($41,9015)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - HEAP32[4721] = 1; - } - $46 = (_strcmp($41,9048)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[4722] = 1; - } - $48 = HEAP32[$23>>2]|0; - $49 = (_strcmp($48,9073)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[4723] = 1; - } - $51 = (_strcmp($48,9106)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[4724] = 1; - } - $53 = (_strcmp($48,9142)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP32[5314] = 1; - _glGetFloatv(34047,(18912|0)); - } - $55 = (_strcmp($48,9176)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[4727] = 1; - } - $57 = (($$06268) + 1)|0; - $exitcond71 = ($57|0)==($19|0); - if ($exitcond71) { - break; - } else { - $$06268 = $57; - } - } - } - $21 = HEAP32[4838]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(1,9279,$vararg_buffer15); - } else { - _TraceLog(0,9204,$vararg_buffer13); - } - $58 = HEAP32[4726]|0; - $59 = ($58|0)==(0); - if ($59) { - _TraceLog(1,9415,$vararg_buffer19); - } else { - _TraceLog(0,9340,$vararg_buffer17); - } - $60 = HEAP32[4720]|0; - $61 = ($60|0)==(0); - if (!($61)) { - _TraceLog(0,9507,$vararg_buffer21); - } - $62 = HEAP32[4721]|0; - $63 = ($62|0)==(0); - if (!($63)) { - _TraceLog(0,9553,$vararg_buffer23); - } - $64 = HEAP32[4722]|0; - $65 = ($64|0)==(0); - if (!($65)) { - _TraceLog(0,9600,$vararg_buffer25); - } - $66 = HEAP32[4723]|0; - $67 = ($66|0)==(0); - if (!($67)) { - _TraceLog(0,9651,$vararg_buffer27); - } - $68 = HEAP32[4724]|0; - $69 = ($68|0)==(0); - if (!($69)) { - _TraceLog(0,9698,$vararg_buffer29); - } - $70 = HEAP32[5314]|0; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = +HEAPF32[4728]; - $73 = $72; - HEAPF64[$vararg_buffer31>>3] = $73; - _TraceLog(0,9745,$vararg_buffer31); - } - $74 = HEAP32[4727]|0; - $75 = ($74|0)==(0); - if (!($75)) { - _TraceLog(0,9811,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $76 = (_rlLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4779] = $76; - $77 = ($76|0)==(0); - if ($77) { - _TraceLog(1,9915,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $76; - _TraceLog(0,9864,$vararg_buffer36); - } - _LoadShaderDefault($2); - _memcpy((20924|0),($2|0),132)|0; - _memcpy((19220|0),($2|0),132)|0; - _LoadBuffersDefault(); - $78 = (_malloc(49152)|0); - HEAP32[5226] = $78; - $$06167 = 0; - while(1) { - $80 = HEAP32[5226]|0; - $81 = (($80) + (($$06167*12)|0)|0); - _Vector3Zero($3); - ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; - $82 = (($$06167) + 1)|0; - $exitcond70 = ($82|0)==(4096); - if ($exitcond70) { - break; - } else { - $$06167 = $82; - } - } - $79 = (_malloc(36864)|0); - HEAP32[4780] = $79; - $$06066 = 0; - while(1) { - $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($79) + (($$06066*144)|0)|0); - HEAP32[$84>>2] = 0; - $85 = (($$06066) + 1)|0; - $exitcond = ($85|0)==(256); - if ($exitcond) { - break; - } else { - $$06066 = $85; - } - } - HEAP32[4778] = 1; - $86 = HEAP32[4779]|0; - $87 = ((($79)) + 8|0); - HEAP32[$87>>2] = $86; - HEAP32[5227] = 4; - _MatrixIdentity($4); - dest=19868; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19932); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19996); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20060); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20124); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20188); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20252); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20316); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20380); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20444); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20508); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20572); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20636); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20700); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20764); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20828); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=18980; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=19044; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5223] = 19044; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[4856] = $0; - HEAP32[4857] = $1; - _TraceLog(0,9954,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5312]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5313]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5310]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[5311]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 18980; - label = 3; - break; - } - case 5888: { - $modelview$sink = 19044; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[5223] = $modelview$sink; - } - HEAP32[5228] = $0; - return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5223]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _LoadShaderDefault($0) { - $0 = $0|0; - var $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx9 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx11 = 0, $$sroa$14 = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$1415$0 = 0, $$sroa$1415$0$$sroa_idx16 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx18 = 0, $$sroa$16 = 0, $$sroa$16$0$$sroa_idx = 0, $$sroa$1622$0 = 0, $$sroa$1622$0$$sroa_idx23 = 0, $$sroa$1727$0 = 0, $$sroa$1727$0$$sroa_idx28 = 0, $$sroa$18 = 0, $$sroa$18$0$$sroa_idx = 0, $1 = 0, $10 = 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $$sroa$14 = sp + 96|0; - $$sroa$16 = sp + 80|0; - $$sroa$18 = sp + 12|0; - $1 = sp + 549|0; - $2 = sp + 108|0; - _memcpy(($1|0),(10530|0),483)|0; - _memcpy(($2|0),(11013|0),441)|0; - $3 = (_LoadShaderProgram($1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - HEAP32[$vararg_buffer1>>2] = $3; - _TraceLog(1,11568,$vararg_buffer1); - $$sroa$12$0 = 0;$$sroa$13$0 = 0;$$sroa$1415$0 = 0;$$sroa$15$0 = 0;$$sroa$1622$0 = 0;$$sroa$1727$0 = 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,11454,$vararg_buffer); - $5 = (_glGetAttribLocation(($3|0),(11502|0))|0); - $6 = (_glGetAttribLocation(($3|0),(11517|0))|0); - $7 = (_glGetAttribLocation(($3|0),(11532|0))|0); - $8 = (_glGetUniformLocation(($3|0),(11544|0))|0); - $9 = (_glGetUniformLocation(($3|0),(11548|0))|0); - $10 = (_glGetUniformLocation(($3|0),(11559|0))|0); - $$sroa$12$0 = $5;$$sroa$13$0 = $6;$$sroa$1415$0 = $7;$$sroa$15$0 = $8;$$sroa$1622$0 = $9;$$sroa$1727$0 = $10; - } - HEAP32[$0>>2] = $3; - $$sroa$12$0$$sroa_idx9 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx9>>2] = $$sroa$12$0; - $$sroa$13$0$$sroa_idx11 = ((($0)) + 8|0); - HEAP32[$$sroa$13$0$$sroa_idx11>>2] = $$sroa$13$0; - $$sroa$14$0$$sroa_idx = ((($0)) + 12|0); - ;HEAP32[$$sroa$14$0$$sroa_idx>>2]=HEAP32[$$sroa$14>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+4>>2]=HEAP32[$$sroa$14+4>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+8>>2]=HEAP32[$$sroa$14+8>>2]|0; - $$sroa$1415$0$$sroa_idx16 = ((($0)) + 24|0); - HEAP32[$$sroa$1415$0$$sroa_idx16>>2] = $$sroa$1415$0; - $$sroa$15$0$$sroa_idx18 = ((($0)) + 28|0); - HEAP32[$$sroa$15$0$$sroa_idx18>>2] = $$sroa$15$0; - $$sroa$16$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$$sroa$16$0$$sroa_idx>>2]=HEAP32[$$sroa$16>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+4>>2]=HEAP32[$$sroa$16+4>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+8>>2]=HEAP32[$$sroa$16+8>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+12>>2]=HEAP32[$$sroa$16+12>>2]|0; - $$sroa$1622$0$$sroa_idx23 = ((($0)) + 48|0); - HEAP32[$$sroa$1622$0$$sroa_idx23>>2] = $$sroa$1622$0; - $$sroa$1727$0$$sroa_idx28 = ((($0)) + 60|0); - HEAP32[$$sroa$1727$0$$sroa_idx28>>2] = $$sroa$1727$0; - $$sroa$18$0$$sroa_idx = ((($0)) + 64|0); - dest=$$sroa$18$0$$sroa_idx; src=$$sroa$18; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadBuffersDefault() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(19136)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(19144)>>2] = $1; - HEAP32[(19140)>>2] = 0; - HEAP32[(19148)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(19144)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[4781] = 0; - HEAP32[(19132)>>2] = 0; - HEAP32[(19128)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(19184)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(19192)>>2] = $6; - HEAP32[(19188)>>2] = 0; - HEAP32[(19196)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(19192)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[4793] = 0; - HEAP32[(19180)>>2] = 0; - HEAP32[(19176)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(18944)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(18948)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(18952)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(18956)>>2] = $13; - $14 = HEAP32[(18944)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18948)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(18952)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(18956)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[4733] = 0; - HEAP32[(18936)>>2] = 0; - HEAP32[(18940)>>2] = 0; - _TraceLog(0,10001,$vararg_buffer); - $20 = HEAP32[4838]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[5264]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19152)); - $44 = HEAP32[4839]|0; - $45 = HEAP32[(19152)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((19156)|0)); - $46 = HEAP32[(19156)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19136)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19224)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19224)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19160)|0)); - $50 = HEAP32[(19160)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19144)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19244)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19244)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4838]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(19156)>>2]|0; - $58 = HEAP32[(19160)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,10139,$vararg_buffer3); - } else { - $56 = HEAP32[(19152)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,10074,$vararg_buffer1); - } - $59 = HEAP32[4838]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[5264]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19200)); - $62 = HEAP32[4839]|0; - $63 = HEAP32[(19200)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((19204)|0)); - $64 = HEAP32[(19204)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19184)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19224)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19224)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19208)|0)); - $68 = HEAP32[(19208)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19192)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19244)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19244)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4838]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(19204)>>2]|0; - $76 = HEAP32[(19208)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,10285,$vararg_buffer10); - } else { - $74 = HEAP32[(19200)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,10216,$vararg_buffer7); - } - $77 = HEAP32[4838]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[5264]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18960)); - $80 = HEAP32[4839]|0; - $81 = HEAP32[(18960)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((18964)|0)); - $82 = HEAP32[(18964)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18944)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19224)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19224)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18968)|0)); - $86 = HEAP32[(18968)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18948)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19228)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19228)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18972)|0)); - $90 = HEAP32[(18972)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18952)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19244)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19244)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18976)|0)); - $94 = HEAP32[(18976)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18956)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4838]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(18964)>>2]|0; - $100 = HEAP32[(18968)>>2]|0; - $101 = HEAP32[(18972)>>2]|0; - $102 = HEAP32[(18976)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,10431,$vararg_buffer17); - } else { - $98 = HEAP32[(18960)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,10366,$vararg_buffer14); - } - $103 = HEAP32[4838]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[4839]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,11668,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(1,11616,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,11665,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,11769,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(1,11718,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,11665,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(11502|0)); - _glBindAttribLocation(($20|0),1,(11517|0)); - _glBindAttribLocation(($20|0),2,(11821|0)); - _glBindAttribLocation(($20|0),3,(11532|0)); - _glBindAttribLocation(($20|0),4,(11834|0)); - _glBindAttribLocation(($20|0),5,(11848|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(1,11864,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,11665,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,11910,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22041 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22044 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22041 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22044 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[5281]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,12205,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadShaderDefault(); - _UnloadBuffersDefault(); - _glDeleteTextures(1,(19116|0)); - $0 = HEAP32[4779]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,12232,$vararg_buffer); - $1 = HEAP32[4780]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadShaderDefault() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[5231]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4838]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4839]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19156)|0)); - _glDeleteBuffers(1,((19160)|0)); - _glDeleteBuffers(1,((19204)|0)); - _glDeleteBuffers(1,((19208)|0)); - _glDeleteBuffers(1,((18964)|0)); - _glDeleteBuffers(1,((18968)|0)); - _glDeleteBuffers(1,((18972)|0)); - _glDeleteBuffers(1,((18976)|0)); - $3 = HEAP32[4838]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5265]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19152)); - $6 = HEAP32[5265]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19200)); - $7 = HEAP32[5265]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18960)); - } - $8 = HEAP32[(19136)>>2]|0; - _free($8); - $9 = HEAP32[(19144)>>2]|0; - _free($9); - $10 = HEAP32[(19184)>>2]|0; - _free($10); - $11 = HEAP32[(19192)>>2]|0; - _free($11); - $12 = HEAP32[(18944)>>2]|0; - _free($12); - $13 = HEAP32[(18948)>>2]|0; - _free($13); - $14 = HEAP32[(18952)>>2]|0; - _free($14); - $15 = HEAP32[(18956)>>2]|0; - _free($15); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[2274] = $0; - $1 = +HEAPF64[2273]; - $2 = $0 - $1; - HEAPF64[2275] = $2; - HEAPF64[2273] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=21164; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19360); - STACKTOP = sp;return; -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 32|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 48|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 52|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 24|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 56|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 12|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[5223]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[2274] = $0; - $1 = +HEAPF64[2273]; - $2 = $0 - $1; - HEAPF64[2276] = $2; - HEAPF64[2273] = $0; - $3 = +HEAPF64[2275]; - $4 = $2 + $3; - HEAPF64[2259] = $4; - $5 = +HEAPF64[2270]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[2274] = $10; - $11 = +HEAPF64[2273]; - $12 = $10 - $11; - HEAPF64[2273] = $10; - $13 = +HEAPF64[2259]; - $14 = $12 + $13; - HEAPF64[2259] = $14; - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5281]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[948] = -1; - HEAP32[950] = -1; - HEAP32[5317] = 0; - $3 = HEAP32[5281]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[4538] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(18156)>>2] = $7; - _memcpy((22559|0),(22047|0),512)|0; - ;HEAP8[22044>>0]=HEAP8[22041>>0]|0;HEAP8[22044+1>>0]=HEAP8[22041+1>>0]|0;HEAP8[22044+2>>0]=HEAP8[22041+2>>0]|0; - $8 = HEAP32[5316]|0; - HEAP32[5282] = $8; - HEAP32[5316] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (23071 + ($$05160<<5)|0); - $scevgep67 = (23199 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((23199 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[950] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((21272 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[5317] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[5284]|0; - $3 = (+($2|0)); - $4 = HEAP32[5285]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 0.5; - $11 = $10 * 0.01745329238474369; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(19360); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5223]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12297)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12301)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12305)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12309)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12315)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12353)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 12372; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12385)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 12406; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12421)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 12436; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12451)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 12466; - } - } else { - HEAP32[$3>>2] = 12337; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12481)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12495)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 3; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12507)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 7; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12521)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 8; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12533)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 9; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12547)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 10; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12561)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 11; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12578)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12601)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12627)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12640)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12656)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12669)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 12; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12683)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12703)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12723)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12740)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12757)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 4; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12769)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 13; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12782)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 14; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12798)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12821)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12834)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12850)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 5; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12861)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 15; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12880)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 16; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12902)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 17; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12921)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12950)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 6; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12967)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12982)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12997)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13018)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13038)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13058)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,13084)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,13103)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,13115)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,13127)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,13139)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13151)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 18; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13163)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13175)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13187)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13199)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13212)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13225)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13238)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13251)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13264)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13277)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13290)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13303)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13322)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13341)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13360)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 19; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13373)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 20; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13391)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 21; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13409)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 22; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13427)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 23; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13445)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13465)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12406)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 7; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13483)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13498)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13519)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13534)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13552)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13568)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13587)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13601)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13616)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 8; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12337)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13627)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12436)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 24; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12466)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 25; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13643)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13670)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13684)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12372)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13704)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13722)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 9; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13734)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13755)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 26; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13773)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 27; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13791)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 28; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13812)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13838)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13861)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13899)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 10; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13915)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13930)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13953)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13966)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 29; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13980)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 30; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13994)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14014)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14034)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14050)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,14068)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,14084)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,14099)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,14121)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 31; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,14139)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 32; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14160)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14178)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14191)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14206)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14220)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14230)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14240)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14262)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14288)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14315)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14328)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14343)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14358)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14382)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14393)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 33; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14415)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14437)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14461)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14470)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14478)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14491)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14505)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14517)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14526)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14536)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14548)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14559)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14567)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14579)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14594)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14606)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14620)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 11; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14645)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14662)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14678)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14694)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 12; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14706)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 34; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14718)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 35; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14742)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14755)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14769)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 36; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14791)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 37; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14798)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14814)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14831)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14848)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14864)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14880)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14897)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14911)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14923)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14934)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14947)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14957)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14974)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14986)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15008)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15028)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15041)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15063)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,15083)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,15100)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,15117)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,15137)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 38; - break; - } - } else { - HEAP32[$1>>2] = 6; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ($0>>>0)<(245); - do { - if ($2) { - $3 = ($0>>>0)<(11); - $4 = (($0) + 11)|0; - $5 = $4 & -8; - $6 = $3 ? 16 : $5; - $7 = $6 >>> 3; - $8 = HEAP32[5350]|0; - $9 = $8 >>> $7; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if (!($11)) { - $12 = $9 & 1; - $13 = $12 ^ 1; - $14 = (($13) + ($7))|0; - $15 = $14 << 1; - $16 = (21440 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[5350] = $24; - } else { - $25 = HEAP32[(21416)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(21408)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (21440 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[5350] = $77; - $98 = $77; - } else { - $78 = HEAP32[(21416)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(21420)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (21440 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[5350] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21416)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(21408)>>2] = $84; - HEAP32[(21420)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(21404)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (21704 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(21416)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (21704 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(21404)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(21416)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(21416)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(21416)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(21420)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (21440 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[5350] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21416)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(21408)>>2] = $$0193$lcssa$i; - HEAP32[(21420)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(21404)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (21704 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (21704 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(21408)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(21416)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (21704 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(21404)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(21416)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(21416)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(21416)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (21440 + ($425<<2)|0); - $427 = HEAP32[5350]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[5350] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21416)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (21704 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(21404)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(21416)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21416)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(21408)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21420)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(21420)>>2] = $511; - HEAP32[(21408)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(21408)>>2] = 0; - HEAP32[(21420)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(21412)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(21412)>>2] = $526; - $527 = HEAP32[(21424)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(21424)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[5468]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(21880)>>2] = 4096; - HEAP32[(21876)>>2] = 4096; - HEAP32[(21884)>>2] = -1; - HEAP32[(21888)>>2] = -1; - HEAP32[(21892)>>2] = 0; - HEAP32[(21844)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[5468] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(21880)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(21840)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(21832)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(21844)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(21424)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (21848); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(21876)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21832)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(21840)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(21880)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(21844)>>2]|0; - $612 = $611 | 4; - HEAP32[(21844)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(21832)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(21832)>>2] = $627; - $628 = HEAP32[(21836)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(21836)>>2] = $627; - } - $630 = HEAP32[(21424)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(21416)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(21416)>>2] = $$749$i; - } - HEAP32[(21848)>>2] = $$749$i; - HEAP32[(21852)>>2] = $$723948$i; - HEAP32[(21860)>>2] = 0; - $635 = HEAP32[5468]|0; - HEAP32[(21436)>>2] = $635; - HEAP32[(21432)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (21440 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(21424)>>2] = $649; - HEAP32[(21412)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(21888)>>2]|0; - HEAP32[(21428)>>2] = $655; - } else { - $$024371$i = (21848); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(21412)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(21424)>>2] = $679; - HEAP32[(21412)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(21888)>>2]|0; - HEAP32[(21428)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(21416)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(21416)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21848); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(21412)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(21412)>>2] = $727; - HEAP32[(21424)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(21420)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(21408)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(21408)>>2] = $733; - HEAP32[(21420)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (21440 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[5350]|0; - $760 = $759 & $758; - HEAP32[5350] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (21704 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(21404)>>2]|0; - $803 = $802 & $801; - HEAP32[(21404)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(21416)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(21416)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(21416)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (21440 + ($836<<2)|0); - $838 = HEAP32[5350]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[5350] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21416)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (21704 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(21404)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(21404)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(21416)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21416)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (21848); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(21424)>>2] = $946; - HEAP32[(21412)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(21888)>>2]|0; - HEAP32[(21428)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21848)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21848)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21848)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21848)+12>>2]|0; - HEAP32[(21848)>>2] = $$749$i; - HEAP32[(21852)>>2] = $$723948$i; - HEAP32[(21860)>>2] = 0; - HEAP32[(21856)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (21440 + ($968<<2)|0); - $970 = HEAP32[5350]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[5350] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21416)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (21704 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21404)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(21404)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(21416)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21416)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(21412)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(21412)>>2] = $1050; - $1051 = HEAP32[(21424)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(21424)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(21416)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(21420)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(21408)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (21440 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[5350]|0; - $38 = $37 & $36; - HEAP32[5350] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (21704 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(21404)>>2]|0; - $81 = $80 & $79; - HEAP32[(21404)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(21416)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(21416)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(21416)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(21424)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(21420)>>2]|0; - if ($121) { - $123 = HEAP32[(21412)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(21412)>>2] = $124; - HEAP32[(21424)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(21420)>>2] = 0; - HEAP32[(21408)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(21408)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(21408)>>2] = $130; - HEAP32[(21420)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (21440 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(21416)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[5350]|0; - $154 = $153 & $152; - HEAP32[5350] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(21416)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(21416)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21416)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (21704 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(21404)>>2]|0; - $200 = $199 & $198; - HEAP32[(21404)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(21416)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(21416)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(21416)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(21420)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(21408)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (21440 + ($234<<2)|0); - $236 = HEAP32[5350]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[5350] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21416)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (21704 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(21404)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(21404)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(21416)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21416)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(21432)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(21432)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (21856); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(21432)>>2] = -1; - return; -} -function _realloc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = (_malloc($1)|0); - $$1 = $3; - return ($$1|0); - } - $4 = ($1>>>0)>(4294967231); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 12; - $$1 = 0; - return ($$1|0); - } - $6 = ($1>>>0)<(11); - $7 = (($1) + 11)|0; - $8 = $7 & -8; - $9 = $6 ? 16 : $8; - $10 = ((($0)) + -8|0); - $11 = (_try_realloc_chunk($10,$9)|0); - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = ((($11)) + 8|0); - $$1 = $13; - return ($$1|0); - } - $14 = (_malloc($1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$1 = 0; - return ($$1|0); - } - $16 = ((($0)) + -4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & -8; - $19 = $17 & 3; - $20 = ($19|0)==(0); - $21 = $20 ? 8 : 4; - $22 = (($18) - ($21))|0; - $23 = ($22>>>0)<($1>>>0); - $24 = $23 ? $22 : $1; - _memcpy(($14|0),($0|0),($24|0))|0; - _free($0); - $$1 = $14; - return ($$1|0); -} -function _try_realloc_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -8; - $5 = (($0) + ($4)|0); - $6 = HEAP32[(21416)>>2]|0; - $7 = $3 & 3; - $notlhs = ($0>>>0)>=($6>>>0); - $notrhs = ($7|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $8 = ($0>>>0)<($5>>>0); - $or$cond3 = $or$cond$not & $8; - if (!($or$cond3)) { - _abort(); - // unreachable; - } - $9 = ((($5)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($7|0)==(0); - if ($13) { - $14 = ($1>>>0)<(256); - if ($14) { - $$2 = 0; - return ($$2|0); - } - $15 = (($1) + 4)|0; - $16 = ($4>>>0)<($15>>>0); - if (!($16)) { - $17 = (($4) - ($1))|0; - $18 = HEAP32[(21880)>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $$2 = $0; - return ($$2|0); - } - } - $$2 = 0; - return ($$2|0); - } - $21 = ($4>>>0)<($1>>>0); - if (!($21)) { - $22 = (($4) - ($1))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $$2 = $0; - return ($$2|0); - } - $24 = (($0) + ($1)|0); - $25 = $3 & 1; - $26 = $25 | $1; - $27 = $26 | 2; - HEAP32[$2>>2] = $27; - $28 = ((($24)) + 4|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = (($24) + ($22)|0); - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - _dispose_chunk($24,$22); - $$2 = $0; - return ($$2|0); - } - $34 = HEAP32[(21424)>>2]|0; - $35 = ($5|0)==($34|0); - if ($35) { - $36 = HEAP32[(21412)>>2]|0; - $37 = (($36) + ($4))|0; - $38 = ($37>>>0)>($1>>>0); - $39 = (($37) - ($1))|0; - $40 = (($0) + ($1)|0); - if (!($38)) { - $$2 = 0; - return ($$2|0); - } - $41 = $39 | 1; - $42 = ((($40)) + 4|0); - $43 = $3 & 1; - $44 = $43 | $1; - $45 = $44 | 2; - HEAP32[$2>>2] = $45; - HEAP32[$42>>2] = $41; - HEAP32[(21424)>>2] = $40; - HEAP32[(21412)>>2] = $39; - $$2 = $0; - return ($$2|0); - } - $46 = HEAP32[(21420)>>2]|0; - $47 = ($5|0)==($46|0); - if ($47) { - $48 = HEAP32[(21408)>>2]|0; - $49 = (($48) + ($4))|0; - $50 = ($49>>>0)<($1>>>0); - if ($50) { - $$2 = 0; - return ($$2|0); - } - $51 = (($49) - ($1))|0; - $52 = ($51>>>0)>(15); - $53 = $3 & 1; - if ($52) { - $54 = (($0) + ($1)|0); - $55 = (($54) + ($51)|0); - $56 = $53 | $1; - $57 = $56 | 2; - HEAP32[$2>>2] = $57; - $58 = ((($54)) + 4|0); - $59 = $51 | 1; - HEAP32[$58>>2] = $59; - HEAP32[$55>>2] = $51; - $60 = ((($55)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 & -2; - HEAP32[$60>>2] = $62; - $storemerge = $54;$storemerge1 = $51; - } else { - $63 = $53 | $49; - $64 = $63 | 2; - HEAP32[$2>>2] = $64; - $65 = (($0) + ($49)|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | 1; - HEAP32[$66>>2] = $68; - $storemerge = 0;$storemerge1 = 0; - } - HEAP32[(21408)>>2] = $storemerge1; - HEAP32[(21420)>>2] = $storemerge; - $$2 = $0; - return ($$2|0); - } - $69 = $10 & 2; - $70 = ($69|0)==(0); - if (!($70)) { - $$2 = 0; - return ($$2|0); - } - $71 = $10 & -8; - $72 = (($71) + ($4))|0; - $73 = ($72>>>0)<($1>>>0); - if ($73) { - $$2 = 0; - return ($$2|0); - } - $74 = (($72) - ($1))|0; - $75 = $10 >>> 3; - $76 = ($10>>>0)<(256); - L49: do { - if ($76) { - $77 = ((($5)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($5)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = $75 << 1; - $82 = (21440 + ($81<<2)|0); - $83 = ($78|0)==($82|0); - if (!($83)) { - $84 = ($78>>>0)<($6>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($78)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==($5|0); - if (!($87)) { - _abort(); - // unreachable; - } - } - $88 = ($80|0)==($78|0); - if ($88) { - $89 = 1 << $75; - $90 = $89 ^ -1; - $91 = HEAP32[5350]|0; - $92 = $91 & $90; - HEAP32[5350] = $92; - break; - } - $93 = ($80|0)==($82|0); - if ($93) { - $$pre = ((($80)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $94 = ($80>>>0)<($6>>>0); - if ($94) { - _abort(); - // unreachable; - } - $95 = ((($80)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==($5|0); - if ($97) { - $$pre$phiZ2D = $95; - } else { - _abort(); - // unreachable; - } - } - $98 = ((($78)) + 12|0); - HEAP32[$98>>2] = $80; - HEAP32[$$pre$phiZ2D>>2] = $78; - } else { - $99 = ((($5)) + 24|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($5)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)==($5|0); - do { - if ($103) { - $113 = ((($5)) + 16|0); - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $117 = HEAP32[$113>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - $$3 = 0; - break; - } else { - $$1272 = $117;$$1275 = $113; - } - } else { - $$1272 = $115;$$1275 = $114; - } - while(1) { - $119 = ((($$1272)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)==(0|0); - if (!($121)) { - $$1272 = $120;$$1275 = $119; - continue; - } - $122 = ((($$1272)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break; - } else { - $$1272 = $123;$$1275 = $122; - } - } - $125 = ($$1275>>>0)<($6>>>0); - if ($125) { - _abort(); - // unreachable; - } else { - HEAP32[$$1275>>2] = 0; - $$3 = $$1272; - break; - } - } else { - $104 = ((($5)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105>>>0)<($6>>>0); - if ($106) { - _abort(); - // unreachable; - } - $107 = ((($105)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==($5|0); - if (!($109)) { - _abort(); - // unreachable; - } - $110 = ((($102)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==($5|0); - if ($112) { - HEAP32[$107>>2] = $102; - HEAP32[$110>>2] = $105; - $$3 = $102; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $126 = ($100|0)==(0|0); - if (!($126)) { - $127 = ((($5)) + 28|0); - $128 = HEAP32[$127>>2]|0; - $129 = (21704 + ($128<<2)|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($5|0)==($130|0); - do { - if ($131) { - HEAP32[$129>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $132 = 1 << $128; - $133 = $132 ^ -1; - $134 = HEAP32[(21404)>>2]|0; - $135 = $134 & $133; - HEAP32[(21404)>>2] = $135; - break L49; - } - } else { - $136 = HEAP32[(21416)>>2]|0; - $137 = ($100>>>0)<($136>>>0); - if ($137) { - _abort(); - // unreachable; - } else { - $138 = ((($100)) + 16|0); - $139 = HEAP32[$138>>2]|0; - $not$ = ($139|0)!=($5|0); - $$sink1 = $not$&1; - $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); - HEAP32[$140>>2] = $$3; - $141 = ($$3|0)==(0|0); - if ($141) { - break L49; - } else { - break; - } - } - } - } while(0); - $142 = HEAP32[(21416)>>2]|0; - $143 = ($$3>>>0)<($142>>>0); - if ($143) { - _abort(); - // unreachable; - } - $144 = ((($$3)) + 24|0); - HEAP32[$144>>2] = $100; - $145 = ((($5)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==(0|0); - do { - if (!($147)) { - $148 = ($146>>>0)<($142>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = ((($$3)) + 16|0); - HEAP32[$149>>2] = $146; - $150 = ((($146)) + 24|0); - HEAP32[$150>>2] = $$3; - break; - } - } - } while(0); - $151 = ((($145)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[(21416)>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = ((($$3)) + 20|0); - HEAP32[$156>>2] = $152; - $157 = ((($152)) + 24|0); - HEAP32[$157>>2] = $$3; - break; - } - } - } - } - } while(0); - $158 = ($74>>>0)<(16); - $159 = $3 & 1; - if ($158) { - $160 = $72 | $159; - $161 = $160 | 2; - HEAP32[$2>>2] = $161; - $162 = (($0) + ($72)|0); - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $$2 = $0; - return ($$2|0); - } else { - $166 = (($0) + ($1)|0); - $167 = $159 | $1; - $168 = $167 | 2; - HEAP32[$2>>2] = $168; - $169 = ((($166)) + 4|0); - $170 = $74 | 3; - HEAP32[$169>>2] = $170; - $171 = (($166) + ($74)|0); - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 | 1; - HEAP32[$172>>2] = $174; - _dispose_chunk($166,$74); - $$2 = $0; - return ($$2|0); - } - return (0)|0; -} -function _dispose_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; - var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0) + ($1)|0); - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = $4 & 3; - $9 = ($8|0)==(0); - if ($9) { - return; - } - $10 = (0 - ($7))|0; - $11 = (($0) + ($10)|0); - $12 = (($7) + ($1))|0; - $13 = HEAP32[(21416)>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - _abort(); - // unreachable; - } - $15 = HEAP32[(21420)>>2]|0; - $16 = ($11|0)==($15|0); - if ($16) { - $100 = ((($2)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$1 = $11;$$1418 = $12; - break; - } - $104 = (($11) + ($12)|0); - $105 = ((($11)) + 4|0); - $106 = $12 | 1; - $107 = $101 & -2; - HEAP32[(21408)>>2] = $12; - HEAP32[$100>>2] = $107; - HEAP32[$105>>2] = $106; - HEAP32[$104>>2] = $12; - return; - } - $17 = $7 >>> 3; - $18 = ($7>>>0)<(256); - if ($18) { - $19 = ((($11)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($11)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = $17 << 1; - $24 = (21440 + ($23<<2)|0); - $25 = ($20|0)==($24|0); - if (!($25)) { - $26 = ($20>>>0)<($13>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($11|0); - if (!($29)) { - _abort(); - // unreachable; - } - } - $30 = ($22|0)==($20|0); - if ($30) { - $31 = 1 << $17; - $32 = $31 ^ -1; - $33 = HEAP32[5350]|0; - $34 = $33 & $32; - HEAP32[5350] = $34; - $$1 = $11;$$1418 = $12; - break; - } - $35 = ($22|0)==($24|0); - if ($35) { - $$pre25 = ((($22)) + 8|0); - $$pre$phi26Z2D = $$pre25; - } else { - $36 = ($22>>>0)<($13>>>0); - if ($36) { - _abort(); - // unreachable; - } - $37 = ((($22)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==($11|0); - if ($39) { - $$pre$phi26Z2D = $37; - } else { - _abort(); - // unreachable; - } - } - $40 = ((($20)) + 12|0); - HEAP32[$40>>2] = $22; - HEAP32[$$pre$phi26Z2D>>2] = $20; - $$1 = $11;$$1418 = $12; - break; - } - $41 = ((($11)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($11)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==($11|0); - do { - if ($45) { - $55 = ((($11)) + 16|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $59 = HEAP32[$55>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - $$3 = 0; - break; - } else { - $$1426 = $59;$$1429 = $55; - } - } else { - $$1426 = $57;$$1429 = $56; - } - while(1) { - $61 = ((($$1426)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $$1426 = $62;$$1429 = $61; - continue; - } - $64 = ((($$1426)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - break; - } else { - $$1426 = $65;$$1429 = $64; - } - } - $67 = ($$1429>>>0)<($13>>>0); - if ($67) { - _abort(); - // unreachable; - } else { - HEAP32[$$1429>>2] = 0; - $$3 = $$1426; - break; - } - } else { - $46 = ((($11)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47>>>0)<($13>>>0); - if ($48) { - _abort(); - // unreachable; - } - $49 = ((($47)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==($11|0); - if (!($51)) { - _abort(); - // unreachable; - } - $52 = ((($44)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==($11|0); - if ($54) { - HEAP32[$49>>2] = $44; - HEAP32[$52>>2] = $47; - $$3 = $44; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $68 = ($42|0)==(0|0); - if ($68) { - $$1 = $11;$$1418 = $12; - } else { - $69 = ((($11)) + 28|0); - $70 = HEAP32[$69>>2]|0; - $71 = (21704 + ($70<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($11|0)==($72|0); - do { - if ($73) { - HEAP32[$71>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $74 = 1 << $70; - $75 = $74 ^ -1; - $76 = HEAP32[(21404)>>2]|0; - $77 = $76 & $75; - HEAP32[(21404)>>2] = $77; - $$1 = $11;$$1418 = $12; - break L1; - } - } else { - $78 = HEAP32[(21416)>>2]|0; - $79 = ($42>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } else { - $80 = ((($42)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $not$1 = ($81|0)!=($11|0); - $$sink2 = $not$1&1; - $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); - HEAP32[$82>>2] = $$3; - $83 = ($$3|0)==(0|0); - if ($83) { - $$1 = $11;$$1418 = $12; - break L1; - } else { - break; - } - } - } - } while(0); - $84 = HEAP32[(21416)>>2]|0; - $85 = ($$3>>>0)<($84>>>0); - if ($85) { - _abort(); - // unreachable; - } - $86 = ((($$3)) + 24|0); - HEAP32[$86>>2] = $42; - $87 = ((($11)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0|0); - do { - if (!($89)) { - $90 = ($88>>>0)<($84>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = ((($$3)) + 16|0); - HEAP32[$91>>2] = $88; - $92 = ((($88)) + 24|0); - HEAP32[$92>>2] = $$3; - break; - } - } - } while(0); - $93 = ((($87)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$1 = $11;$$1418 = $12; - } else { - $96 = HEAP32[(21416)>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = ((($$3)) + 20|0); - HEAP32[$98>>2] = $94; - $99 = ((($94)) + 24|0); - HEAP32[$99>>2] = $$3; - $$1 = $11;$$1418 = $12; - break; - } - } - } - } else { - $$1 = $0;$$1418 = $1; - } - } while(0); - $108 = HEAP32[(21416)>>2]|0; - $109 = ($2>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $110 = ((($2)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[(21424)>>2]|0; - $115 = ($2|0)==($114|0); - $116 = HEAP32[(21420)>>2]|0; - if ($115) { - $117 = HEAP32[(21412)>>2]|0; - $118 = (($117) + ($$1418))|0; - HEAP32[(21412)>>2] = $118; - HEAP32[(21424)>>2] = $$1; - $119 = $118 | 1; - $120 = ((($$1)) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ($$1|0)==($116|0); - if (!($121)) { - return; - } - HEAP32[(21420)>>2] = 0; - HEAP32[(21408)>>2] = 0; - return; - } - $122 = ($2|0)==($116|0); - if ($122) { - $123 = HEAP32[(21408)>>2]|0; - $124 = (($123) + ($$1418))|0; - HEAP32[(21408)>>2] = $124; - HEAP32[(21420)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = (($$1) + ($124)|0); - HEAP32[$127>>2] = $124; - return; - } - $128 = $111 & -8; - $129 = (($128) + ($$1418))|0; - $130 = $111 >>> 3; - $131 = ($111>>>0)<(256); - L96: do { - if ($131) { - $132 = ((($2)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = ((($2)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = $130 << 1; - $137 = (21440 + ($136<<2)|0); - $138 = ($133|0)==($137|0); - if (!($138)) { - $139 = ($133>>>0)<($108>>>0); - if ($139) { - _abort(); - // unreachable; - } - $140 = ((($133)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==($2|0); - if (!($142)) { - _abort(); - // unreachable; - } - } - $143 = ($135|0)==($133|0); - if ($143) { - $144 = 1 << $130; - $145 = $144 ^ -1; - $146 = HEAP32[5350]|0; - $147 = $146 & $145; - HEAP32[5350] = $147; - break; - } - $148 = ($135|0)==($137|0); - if ($148) { - $$pre23 = ((($135)) + 8|0); - $$pre$phi24Z2D = $$pre23; - } else { - $149 = ($135>>>0)<($108>>>0); - if ($149) { - _abort(); - // unreachable; - } - $150 = ((($135)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==($2|0); - if ($152) { - $$pre$phi24Z2D = $150; - } else { - _abort(); - // unreachable; - } - } - $153 = ((($133)) + 12|0); - HEAP32[$153>>2] = $135; - HEAP32[$$pre$phi24Z2D>>2] = $133; - } else { - $154 = ((($2)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = ((($2)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($2|0); - do { - if ($158) { - $168 = ((($2)) + 16|0); - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$168>>2]|0; - $173 = ($172|0)==(0|0); - if ($173) { - $$3435 = 0; - break; - } else { - $$1433 = $172;$$1437 = $168; - } - } else { - $$1433 = $170;$$1437 = $169; - } - while(1) { - $174 = ((($$1433)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==(0|0); - if (!($176)) { - $$1433 = $175;$$1437 = $174; - continue; - } - $177 = ((($$1433)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - break; - } else { - $$1433 = $178;$$1437 = $177; - } - } - $180 = ($$1437>>>0)<($108>>>0); - if ($180) { - _abort(); - // unreachable; - } else { - HEAP32[$$1437>>2] = 0; - $$3435 = $$1433; - break; - } - } else { - $159 = ((($2)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160>>>0)<($108>>>0); - if ($161) { - _abort(); - // unreachable; - } - $162 = ((($160)) + 12|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($2|0); - if (!($164)) { - _abort(); - // unreachable; - } - $165 = ((($157)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==($2|0); - if ($167) { - HEAP32[$162>>2] = $157; - HEAP32[$165>>2] = $160; - $$3435 = $157; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $181 = ($155|0)==(0|0); - if (!($181)) { - $182 = ((($2)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = (21704 + ($183<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($2|0)==($185|0); - do { - if ($186) { - HEAP32[$184>>2] = $$3435; - $cond17 = ($$3435|0)==(0|0); - if ($cond17) { - $187 = 1 << $183; - $188 = $187 ^ -1; - $189 = HEAP32[(21404)>>2]|0; - $190 = $189 & $188; - HEAP32[(21404)>>2] = $190; - break L96; - } - } else { - $191 = HEAP32[(21416)>>2]|0; - $192 = ($155>>>0)<($191>>>0); - if ($192) { - _abort(); - // unreachable; - } else { - $193 = ((($155)) + 16|0); - $194 = HEAP32[$193>>2]|0; - $not$ = ($194|0)!=($2|0); - $$sink4 = $not$&1; - $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); - HEAP32[$195>>2] = $$3435; - $196 = ($$3435|0)==(0|0); - if ($196) { - break L96; - } else { - break; - } - } - } - } while(0); - $197 = HEAP32[(21416)>>2]|0; - $198 = ($$3435>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($$3435)) + 24|0); - HEAP32[$199>>2] = $155; - $200 = ((($2)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($$3435)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $$3435; - break; - } - } - } while(0); - $206 = ((($200)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(21416)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($$3435)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $$3435; - break; - } - } - } - } - } while(0); - $213 = $129 | 1; - $214 = ((($$1)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$1) + ($129)|0); - HEAP32[$215>>2] = $129; - $216 = HEAP32[(21420)>>2]|0; - $217 = ($$1|0)==($216|0); - if ($217) { - HEAP32[(21408)>>2] = $129; - return; - } else { - $$2 = $129; - } - } else { - $218 = $111 & -2; - HEAP32[$110>>2] = $218; - $219 = $$1418 | 1; - $220 = ((($$1)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$1) + ($$1418)|0); - HEAP32[$221>>2] = $$1418; - $$2 = $$1418; - } - $222 = $$2 >>> 3; - $223 = ($$2>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (21440 + ($224<<2)|0); - $226 = HEAP32[5350]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[5350] = $230; - $$pre = ((($225)) + 8|0); - $$0438 = $225;$$pre$phiZ2D = $$pre; - } else { - $231 = ((($225)) + 8|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21416)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$0438 = $232;$$pre$phiZ2D = $231; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $235 = ((($$0438)) + 12|0); - HEAP32[$235>>2] = $$1; - $236 = ((($$1)) + 8|0); - HEAP32[$236>>2] = $$0438; - $237 = ((($$1)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$2 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $$0431 = 0; - } else { - $240 = ($$2>>>0)>(16777215); - if ($240) { - $$0431 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$2 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $$0431 = $262; - } - } - $263 = (21704 + ($$0431<<2)|0); - $264 = ((($$1)) + 28|0); - HEAP32[$264>>2] = $$0431; - $265 = ((($$1)) + 16|0); - $266 = ((($$1)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(21404)>>2]|0; - $268 = 1 << $$0431; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(21404)>>2] = $271; - HEAP32[$263>>2] = $$1; - $272 = ((($$1)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$1)) + 12|0); - HEAP32[$273>>2] = $$1; - $274 = ((($$1)) + 8|0); - HEAP32[$274>>2] = $$1; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($$0431|0)==(31); - $277 = $$0431 >>> 1; - $278 = (25 - ($277))|0; - $279 = $276 ? 0 : $278; - $280 = $$2 << $279; - $$0419 = $280;$$0420 = $275; - while(1) { - $281 = ((($$0420)) + 4|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 & -8; - $284 = ($283|0)==($$2|0); - if ($284) { - label = 121; - break; - } - $285 = $$0419 >>> 31; - $286 = (((($$0420)) + 16|0) + ($285<<2)|0); - $287 = $$0419 << 1; - $288 = HEAP32[$286>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - label = 118; - break; - } else { - $$0419 = $287;$$0420 = $288; - } - } - if ((label|0) == 118) { - $290 = HEAP32[(21416)>>2]|0; - $291 = ($286>>>0)<($290>>>0); - if ($291) { - _abort(); - // unreachable; - } - HEAP32[$286>>2] = $$1; - $292 = ((($$1)) + 24|0); - HEAP32[$292>>2] = $$0420; - $293 = ((($$1)) + 12|0); - HEAP32[$293>>2] = $$1; - $294 = ((($$1)) + 8|0); - HEAP32[$294>>2] = $$1; - return; - } - else if ((label|0) == 121) { - $295 = ((($$0420)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21416)>>2]|0; - $298 = ($296>>>0)>=($297>>>0); - $not$19 = ($$0420>>>0)>=($297>>>0); - $299 = $298 & $not$19; - if (!($299)) { - _abort(); - // unreachable; - } - $300 = ((($296)) + 12|0); - HEAP32[$300>>2] = $$1; - HEAP32[$295>>2] = $$1; - $301 = ((($$1)) + 8|0); - HEAP32[$301>>2] = $296; - $302 = ((($$1)) + 12|0); - HEAP32[$302>>2] = $$0420; - $303 = ((($$1)) + 24|0); - HEAP32[$303>>2] = 0; - return; - } -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (21896|0); -} -function ___stdio_close($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 60|0); - $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); - HEAP32[$vararg_buffer>>2] = $3; - $4 = (___syscall6(6,($vararg_buffer|0))|0); - $5 = (___syscall_ret($4)|0); - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $3 = sp + 32|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$3>>2] = $5; - $6 = ((($3)) + 4|0); - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - ($5))|0; - HEAP32[$6>>2] = $9; - $10 = ((($3)) + 8|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $2; - $12 = (($9) + ($2))|0; - $13 = ((($0)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = $3; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $16 = (___syscall146(146,($vararg_buffer|0))|0); - $17 = (___syscall_ret($16)|0); - $18 = ($12|0)==($17|0); - L1: do { - if ($18) { - label = 3; - } else { - $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; - while(1) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } while(0); - if ((label|0) == 3) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 16|0); - HEAP32[$24>>2] = $23; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|0); -} -function ___stdio_seek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 20|0; - $4 = ((($0)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $1; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $6; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $2; - $7 = (___syscall140(140,($vararg_buffer|0))|0); - $8 = (___syscall_ret($7)|0); - $9 = ($8|0)<(0); - if ($9) { - HEAP32[$3>>2] = -1; - $10 = -1; - } else { - $$pre = HEAP32[$3>>2]|0; - $10 = $$pre; - } - STACKTOP = sp;return ($10|0); -} -function ___syscall_ret($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0>>>0)>(4294963200); - if ($1) { - $2 = (0 - ($0))|0; - $3 = (___errno_location()|0); - HEAP32[$3>>2] = $2; - $$0 = -1; - } else { - $$0 = $0; - } - return ($$0|0); -} -function ___errno_location() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (3804|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - HEAP32[$3>>2] = $1; - $4 = ((($3)) + 4|0); - $5 = ((($0)) + 48|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = $7&1; - $9 = (($2) - ($8))|0; - HEAP32[$4>>2] = $9; - $10 = ((($3)) + 8|0); - $11 = ((($0)) + 44|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($3)) + 12|0); - HEAP32[$13>>2] = $6; - $14 = ((($0)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = $3; - HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $17 = (___syscall145(145,($vararg_buffer|0))|0); - $18 = (___syscall_ret($17)|0); - $19 = ($18|0)<(1); - if ($19) { - $20 = $18 & 48; - $21 = $20 ^ 16; - $22 = HEAP32[$0>>2]|0; - $23 = $22 | $21; - HEAP32[$0>>2] = $23; - $$0 = $18; - } else { - $24 = HEAP32[$4>>2]|0; - $25 = ($18>>>0)>($24>>>0); - if ($25) { - $26 = (($18) - ($24))|0; - $27 = HEAP32[$11>>2]|0; - $28 = ((($0)) + 4|0); - HEAP32[$28>>2] = $27; - $29 = (($27) + ($26)|0); - $30 = ((($0)) + 8|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = $2; - } else { - $33 = ((($27)) + 1|0); - HEAP32[$28>>2] = $33; - $34 = HEAP8[$27>>0]|0; - $35 = (($2) + -1)|0; - $36 = (($1) + ($35)|0); - HEAP8[$36>>0] = $34; - $$0 = $2; - } - } else { - $$0 = $18; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 10; - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 64; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = $3; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21523; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $11 = (___syscall54(54,($vararg_buffer|0))|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($0)) + 75|0); - HEAP8[$13>>0] = -1; - } - } - $14 = (___stdio_write($0,$1,$2)|0); - STACKTOP = sp;return ($14|0); -} -function _strtox_768($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $5 = sp; - HEAP32[$5>>2] = 0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $0; - $7 = ((($5)) + 44|0); - HEAP32[$7>>2] = $0; - $8 = ($0|0)<(0|0); - $9 = ((($0)) + 2147483647|0); - $$sink = $8 ? (-1) : $9; - $10 = ((($5)) + 8|0); - HEAP32[$10>>2] = $$sink; - $11 = ((($5)) + 76|0); - HEAP32[$11>>2] = -1; - ___shlim($5,0); - $12 = (___intscan($5,$2,1,$3,$4)|0); - $13 = tempRet0; - $14 = ($1|0)==(0|0); - if (!($14)) { - $15 = ((($5)) + 108|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$6>>2]|0; - $18 = HEAP32[$10>>2]|0; - $19 = (($17) + ($16))|0; - $20 = (($19) - ($18))|0; - $21 = (($0) + ($20)|0); - HEAP32[$1>>2] = $21; - } - tempRet0 = ($13); - STACKTOP = sp;return ($12|0); -} -function ___shlim($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 104|0); - HEAP32[$2>>2] = $1; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ((($0)) + 108|0); - HEAP32[$10>>2] = $9; - $11 = ($1|0)!=(0); - $12 = ($9|0)>($1|0); - $or$cond = $11 & $12; - $13 = (($6) + ($1)|0); - $$sink = $or$cond ? $13 : $4; - $14 = ((($0)) + 100|0); - HEAP32[$14>>2] = $$sink; - return; -} -function ___intscan($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; - var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; - var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; - var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; - var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; - var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; - var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; - var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; - var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($1>>>0)>(36); - L1: do { - if ($5) { - $8 = (___errno_location()|0); - HEAP32[$8>>2] = 22; - $289 = 0;$290 = 0; - } else { - $6 = ((($0)) + 4|0); - $7 = ((($0)) + 100|0); - while(1) { - $9 = HEAP32[$6>>2]|0; - $10 = HEAP32[$7>>2]|0; - $11 = ($9>>>0)<($10>>>0); - if ($11) { - $12 = ((($9)) + 1|0); - HEAP32[$6>>2] = $12; - $13 = HEAP8[$9>>0]|0; - $14 = $13&255; - $16 = $14; - } else { - $15 = (___shgetc($0)|0); - $16 = $15; - } - $17 = (_isspace($16)|0); - $18 = ($17|0)==(0); - if ($18) { - break; - } - } - L11: do { - switch ($16|0) { - case 43: case 45: { - $19 = ($16|0)==(45); - $20 = $19 << 31 >> 31; - $21 = HEAP32[$6>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$6>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$0157 = $20;$$0159 = $26; - break L11; - } else { - $27 = (___shgetc($0)|0); - $$0157 = $20;$$0159 = $27; - break L11; - } - break; - } - default: { - $$0157 = 0;$$0159 = $16; - } - } - } while(0); - $28 = ($1|0)==(0); - $29 = $1 | 16; - $30 = ($29|0)==(16); - $31 = ($$0159|0)==(48); - $or$cond5 = $30 & $31; - do { - if ($or$cond5) { - $32 = HEAP32[$6>>2]|0; - $33 = HEAP32[$7>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$6>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $40 = $37; - } else { - $38 = (___shgetc($0)|0); - $40 = $38; - } - $39 = $40 | 32; - $41 = ($39|0)==(120); - if (!($41)) { - if ($28) { - $$1160169 = $40;$$1165168 = 8; - label = 46; - break; - } else { - $$1160 = $40;$$1165 = $1; - label = 32; - break; - } - } - $42 = HEAP32[$6>>2]|0; - $43 = HEAP32[$7>>2]|0; - $44 = ($42>>>0)<($43>>>0); - if ($44) { - $45 = ((($42)) + 1|0); - HEAP32[$6>>2] = $45; - $46 = HEAP8[$42>>0]|0; - $47 = $46&255; - $50 = $47; - } else { - $48 = (___shgetc($0)|0); - $50 = $48; - } - $49 = ((15249) + ($50)|0); - $51 = HEAP8[$49>>0]|0; - $52 = ($51&255)>(15); - if ($52) { - $53 = HEAP32[$7>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - $55 = HEAP32[$6>>2]|0; - $56 = ((($55)) + -1|0); - HEAP32[$6>>2] = $56; - } - $57 = ($2|0)==(0); - if ($57) { - ___shlim($0,0); - $289 = 0;$290 = 0; - break L1; - } - if (!($54)) { - $289 = 0;$290 = 0; - break L1; - } - $58 = HEAP32[$6>>2]|0; - $59 = ((($58)) + -1|0); - HEAP32[$6>>2] = $59; - $289 = 0;$290 = 0; - break L1; - } else { - $$1160169 = $50;$$1165168 = 16; - label = 46; - } - } else { - $$166 = $28 ? 10 : $1; - $60 = ((15249) + ($$0159)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($62>>>0)<($$166>>>0); - if ($63) { - $$1160 = $$0159;$$1165 = $$166; - label = 32; - } else { - $64 = HEAP32[$7>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$6>>2]|0; - $67 = ((($66)) + -1|0); - HEAP32[$6>>2] = $67; - } - ___shlim($0,0); - $68 = (___errno_location()|0); - HEAP32[$68>>2] = 22; - $289 = 0;$290 = 0; - break L1; - } - } - } while(0); - L43: do { - if ((label|0) == 32) { - $69 = ($$1165|0)==(10); - if ($69) { - $70 = (($$1160) + -48)|0; - $71 = ($70>>>0)<(10); - if ($71) { - $$0154222 = 0;$74 = $70; - while(1) { - $72 = ($$0154222*10)|0; - $73 = (($72) + ($74))|0; - $75 = HEAP32[$6>>2]|0; - $76 = HEAP32[$7>>2]|0; - $77 = ($75>>>0)<($76>>>0); - if ($77) { - $78 = ((($75)) + 1|0); - HEAP32[$6>>2] = $78; - $79 = HEAP8[$75>>0]|0; - $80 = $79&255; - $$2161$be = $80; - } else { - $81 = (___shgetc($0)|0); - $$2161$be = $81; - } - $82 = (($$2161$be) + -48)|0; - $83 = ($82>>>0)<(10); - $84 = ($73>>>0)<(429496729); - $85 = $83 & $84; - if ($85) { - $$0154222 = $73;$74 = $82; - } else { - break; - } - } - $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; - } else { - $$2161$lcssa = $$1160;$291 = 0;$292 = 0; - } - $86 = (($$2161$lcssa) + -48)|0; - $87 = ($86>>>0)<(10); - if ($87) { - $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; - while(1) { - $90 = (___muldi3(($88|0),($89|0),10,0)|0); - $91 = tempRet0; - $92 = ($93|0)<(0); - $94 = $92 << 31 >> 31; - $95 = $93 ^ -1; - $96 = $94 ^ -1; - $97 = ($91>>>0)>($96>>>0); - $98 = ($90>>>0)>($95>>>0); - $99 = ($91|0)==($96|0); - $100 = $99 & $98; - $101 = $97 | $100; - if ($101) { - $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; - label = 72; - break L43; - } - $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); - $103 = tempRet0; - $104 = HEAP32[$6>>2]|0; - $105 = HEAP32[$7>>2]|0; - $106 = ($104>>>0)<($105>>>0); - if ($106) { - $107 = ((($104)) + 1|0); - HEAP32[$6>>2] = $107; - $108 = HEAP8[$104>>0]|0; - $109 = $108&255; - $$3162$be = $109; - } else { - $110 = (___shgetc($0)|0); - $$3162$be = $110; - } - $111 = (($$3162$be) + -48)|0; - $112 = ($111>>>0)<(10); - $113 = ($103>>>0)<(429496729); - $114 = ($102>>>0)<(2576980378); - $115 = ($103|0)==(429496729); - $116 = $115 & $114; - $117 = $113 | $116; - $or$cond7 = $112 & $117; - if ($or$cond7) { - $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; - } else { - break; - } - } - $118 = ($111>>>0)>(9); - if ($118) { - $$1158 = $$0157;$263 = $103;$265 = $102; - } else { - $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; - label = 72; - } - } else { - $$1158 = $$0157;$263 = $292;$265 = $291; - } - } else { - $$1160169 = $$1160;$$1165168 = $$1165; - label = 46; - } - } - } while(0); - L63: do { - if ((label|0) == 46) { - $119 = (($$1165168) + -1)|0; - $120 = $119 & $$1165168; - $121 = ($120|0)==(0); - if ($121) { - $126 = ($$1165168*23)|0; - $127 = $126 >>> 5; - $128 = $127 & 7; - $129 = (15505 + ($128)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 << 24 >> 24; - $132 = ((15249) + ($$1160169)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($134>>>0)<($$1165168>>>0); - if ($135) { - $$1155192 = 0;$138 = $134; - while(1) { - $136 = $$1155192 << $131; - $137 = $138 | $136; - $139 = HEAP32[$6>>2]|0; - $140 = HEAP32[$7>>2]|0; - $141 = ($139>>>0)<($140>>>0); - if ($141) { - $142 = ((($139)) + 1|0); - HEAP32[$6>>2] = $142; - $143 = HEAP8[$139>>0]|0; - $144 = $143&255; - $$4163$be = $144; - } else { - $145 = (___shgetc($0)|0); - $$4163$be = $145; - } - $146 = ((15249) + ($$4163$be)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = ($148>>>0)<($$1165168>>>0); - $150 = ($137>>>0)<(134217728); - $151 = $150 & $149; - if ($151) { - $$1155192 = $137;$138 = $148; - } else { - break; - } - } - $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; - } else { - $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; - } - $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); - $153 = tempRet0; - $154 = $155&255; - $156 = ($154>>>0)>=($$1165168>>>0); - $157 = ($158>>>0)>($153>>>0); - $159 = ($160>>>0)>($152>>>0); - $161 = ($158|0)==($153|0); - $162 = $161 & $159; - $163 = $157 | $162; - $or$cond187 = $156 | $163; - if ($or$cond187) { - $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; - label = 72; - break; - } else { - $164 = $160;$165 = $158;$169 = $155; - } - while(1) { - $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); - $167 = tempRet0; - $168 = $169&255; - $170 = $168 | $166; - $171 = HEAP32[$6>>2]|0; - $172 = HEAP32[$7>>2]|0; - $173 = ($171>>>0)<($172>>>0); - if ($173) { - $174 = ((($171)) + 1|0); - HEAP32[$6>>2] = $174; - $175 = HEAP8[$171>>0]|0; - $176 = $175&255; - $$5$be = $176; - } else { - $177 = (___shgetc($0)|0); - $$5$be = $177; - } - $178 = ((15249) + ($$5$be)|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = ($180>>>0)>=($$1165168>>>0); - $182 = ($167>>>0)>($153>>>0); - $183 = ($170>>>0)>($152>>>0); - $184 = ($167|0)==($153|0); - $185 = $184 & $183; - $186 = $182 | $185; - $or$cond = $181 | $186; - if ($or$cond) { - $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; - label = 72; - break L63; - } else { - $164 = $170;$165 = $167;$169 = $179; - } - } - } - $122 = ((15249) + ($$1160169)|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = ($124>>>0)<($$1165168>>>0); - if ($125) { - $$2156210 = 0;$189 = $124; - while(1) { - $187 = Math_imul($$2156210, $$1165168)|0; - $188 = (($189) + ($187))|0; - $190 = HEAP32[$6>>2]|0; - $191 = HEAP32[$7>>2]|0; - $192 = ($190>>>0)<($191>>>0); - if ($192) { - $193 = ((($190)) + 1|0); - HEAP32[$6>>2] = $193; - $194 = HEAP8[$190>>0]|0; - $195 = $194&255; - $$6$be = $195; - } else { - $196 = (___shgetc($0)|0); - $$6$be = $196; - } - $197 = ((15249) + ($$6$be)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199>>>0)<($$1165168>>>0); - $201 = ($188>>>0)<(119304647); - $202 = $201 & $200; - if ($202) { - $$2156210 = $188;$189 = $199; - } else { - break; - } - } - $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; - } else { - $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; - } - $203 = $204&255; - $205 = ($203>>>0)<($$1165168>>>0); - if ($205) { - $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); - $207 = tempRet0; - $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; - while(1) { - $208 = ($209>>>0)>($207>>>0); - $210 = ($211>>>0)>($206>>>0); - $212 = ($209|0)==($207|0); - $213 = $212 & $210; - $214 = $208 | $213; - if ($214) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); - $216 = tempRet0; - $217 = $218&255; - $219 = $217 ^ -1; - $220 = ($216>>>0)>(4294967295); - $221 = ($215>>>0)>($219>>>0); - $222 = ($216|0)==(-1); - $223 = $222 & $221; - $224 = $220 | $223; - if ($224) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); - $226 = tempRet0; - $227 = HEAP32[$6>>2]|0; - $228 = HEAP32[$7>>2]|0; - $229 = ($227>>>0)<($228>>>0); - if ($229) { - $230 = ((($227)) + 1|0); - HEAP32[$6>>2] = $230; - $231 = HEAP8[$227>>0]|0; - $232 = $231&255; - $$7$be = $232; - } else { - $233 = (___shgetc($0)|0); - $$7$be = $233; - } - $234 = ((15249) + ($$7$be)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = ($236>>>0)<($$1165168>>>0); - if ($237) { - $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; - } else { - $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; - label = 72; - break; - } - } - } else { - $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; - label = 72; - } - } - } while(0); - if ((label|0) == 72) { - $238 = ((15249) + ($$8)|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240>>>0)<($$1165167>>>0); - if ($241) { - while(1) { - $242 = HEAP32[$6>>2]|0; - $243 = HEAP32[$7>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - $245 = ((($242)) + 1|0); - HEAP32[$6>>2] = $245; - $246 = HEAP8[$242>>0]|0; - $247 = $246&255; - $$9$be = $247; - } else { - $248 = (___shgetc($0)|0); - $$9$be = $248; - } - $249 = ((15249) + ($$9$be)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251>>>0)<($$1165167>>>0); - if (!($252)) { - break; - } - } - $253 = (___errno_location()|0); - HEAP32[$253>>2] = 34; - $254 = $3 & 1; - $255 = ($254|0)==(0); - $256 = (0)==(0); - $257 = $255 & $256; - $$0157$ = $257 ? $$0157 : 0; - $$1158 = $$0157$;$263 = $4;$265 = $3; - } else { - $$1158 = $$0157;$263 = $294;$265 = $293; - } - } - $258 = HEAP32[$7>>2]|0; - $259 = ($258|0)==(0|0); - if (!($259)) { - $260 = HEAP32[$6>>2]|0; - $261 = ((($260)) + -1|0); - HEAP32[$6>>2] = $261; - } - $262 = ($263>>>0)<($4>>>0); - $264 = ($265>>>0)<($3>>>0); - $266 = ($263|0)==($4|0); - $267 = $266 & $264; - $268 = $262 | $267; - if (!($268)) { - $269 = $3 & 1; - $270 = ($269|0)!=(0); - $271 = (0)!=(0); - $272 = $270 | $271; - $273 = ($$1158|0)!=(0); - $or$cond12 = $272 | $273; - if (!($or$cond12)) { - $274 = (___errno_location()|0); - HEAP32[$274>>2] = 34; - $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); - $276 = tempRet0; - $289 = $276;$290 = $275; - break; - } - $277 = ($263>>>0)>($4>>>0); - $278 = ($265>>>0)>($3>>>0); - $279 = ($263|0)==($4|0); - $280 = $279 & $278; - $281 = $277 | $280; - if ($281) { - $282 = (___errno_location()|0); - HEAP32[$282>>2] = 34; - $289 = $4;$290 = $3; - break; - } - } - $283 = ($$1158|0)<(0); - $284 = $283 << 31 >> 31; - $285 = $265 ^ $$1158; - $286 = $263 ^ $284; - $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); - $288 = tempRet0; - $289 = $288;$290 = $287; - } - } while(0); - tempRet0 = ($289); - return ($290|0); -} -function ___shgetc($0) { - $0 = $0|0; - var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 104|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - label = 3; - } else { - $4 = ((($0)) + 108|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)<($2|0); - if ($6) { - label = 3; - } else { - label = 4; - } - } - if ((label|0) == 3) { - $7 = (___uflow($0)|0); - $8 = ($7|0)<(0); - if ($8) { - label = 4; - } else { - $10 = HEAP32[$1>>2]|0; - $11 = ($10|0)==(0); - $$phi$trans$insert = ((($0)) + 8|0); - if ($11) { - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); - $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; - $$pre35 = ((($0)) + 108|0); - $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; - } else { - $12 = HEAP32[$$phi$trans$insert>>2]|0; - $13 = ((($0)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $14; - $16 = (($12) - ($15))|0; - $17 = ((($0)) + 108|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($10) - ($18))|0; - $20 = ($16|0)<($19|0); - $21 = $12; - if ($20) { - $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; - } else { - $22 = (($19) + -1)|0; - $23 = (($14) + ($22)|0); - $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; - } - } - $24 = ((($0)) + 100|0); - HEAP32[$24>>2] = $$sink; - $25 = ($26|0)==(0|0); - if (!($25)) { - $27 = $26; - $28 = $29; - $30 = HEAP32[$$pre$phi34Z2D>>2]|0; - $31 = (($27) + 1)|0; - $32 = (($31) - ($28))|0; - $33 = (($32) + ($30))|0; - HEAP32[$$pre$phi34Z2D>>2] = $33; - } - $34 = ((($29)) + -1|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==($7|0); - if ($37) { - $$0 = $7; - } else { - $38 = $7&255; - HEAP8[$34>>0] = $38; - $$0 = $7; - } - } - } - if ((label|0) == 4) { - $9 = ((($0)) + 100|0); - HEAP32[$9>>2] = 0; - $$0 = -1; - } - return ($$0|0); -} -function _isspace($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(32); - $2 = (($0) + -9)|0; - $3 = ($2>>>0)<(5); - $4 = $1 | $3; - $5 = $4&1; - return ($5|0); -} -function ___uflow($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = (___toread($0)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); - $7 = ($6|0)==(1); - if ($7) { - $8 = HEAP8[$1>>0]|0; - $9 = $8&255; - $$0 = $9; - } else { - $$0 = -1; - } - } else { - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___toread($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($0)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($8>>>0)>($10>>>0); - if ($11) { - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); - } - $14 = ((($0)) + 16|0); - HEAP32[$14>>2] = 0; - HEAP32[$9>>2] = 0; - HEAP32[$7>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = $15 & 4; - $17 = ($16|0)==(0); - if ($17) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = $23; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = $23; - $26 = $15 << 27; - $sext = $26 >> 31; - $$0 = $sext; - } else { - $18 = $15 | 32; - HEAP32[$0>>2] = $18; - $$0 = -1; - } - return ($$0|0); -} -function _strtol($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_strtox_768($0,$1,$2,-2147483648,0)|0); - $4 = tempRet0; - return ($3|0); -} -function _strcmp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP8[$0>>0]|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($2<<24>>24)!=($3<<24>>24); - $5 = ($2<<24>>24)==(0); - $or$cond9 = $5 | $4; - if ($or$cond9) { - $$lcssa = $3;$$lcssa8 = $2; - } else { - $$011 = $1;$$0710 = $0; - while(1) { - $6 = ((($$0710)) + 1|0); - $7 = ((($$011)) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = HEAP8[$7>>0]|0; - $10 = ($8<<24>>24)!=($9<<24>>24); - $11 = ($8<<24>>24)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $$lcssa = $9;$$lcssa8 = $8; - break; - } else { - $$011 = $7;$$0710 = $6; - } - } - } - $12 = $$lcssa8&255; - $13 = $$lcssa&255; - $14 = (($12) - ($13))|0; - return ($14|0); -} -function _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _strncmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - if ($3) { - $$020 = 0; - } else { - $4 = HEAP8[$0>>0]|0; - $5 = $4&255; - $6 = ($4<<24>>24)==(0); - $7 = HEAP8[$1>>0]|0; - $8 = $7&255; - L3: do { - if ($6) { - $$lcssa = $8;$$lcssa22 = $5; - } else { - $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; - while(1) { - $$01926 = (($$01926$in) + -1)|0; - $9 = ($10<<24>>24)!=(0); - $11 = ($$01926|0)!=(0); - $or$cond = $11 & $9; - $12 = ($13<<24>>24)==($10<<24>>24); - $or$cond21 = $12 & $or$cond; - if (!($or$cond21)) { - $$lcssa = $22;$$lcssa22 = $23; - break L3; - } - $14 = ((($$01824)) + 1|0); - $15 = ((($$025)) + 1|0); - $16 = HEAP8[$14>>0]|0; - $17 = $16&255; - $18 = ($16<<24>>24)==(0); - $19 = HEAP8[$15>>0]|0; - $20 = $19&255; - if ($18) { - $$lcssa = $20;$$lcssa22 = $17; - break; - } else { - $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; - } - } - } - } while(0); - $21 = (($$lcssa22) - ($$lcssa))|0; - $$020 = $21; - } - return ($$020|0); -} -function _vsprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_vsnprintf($0,2147483647,$1,$2)|0); - return ($3|0); -} -function _vsnprintf($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $4 = sp + 124|0; - $5 = sp; - dest=$5; src=4180; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = (($1) + -1)|0; - $7 = ($6>>>0)>(2147483646); - if ($7) { - $8 = ($1|0)==(0); - if ($8) { - $$014 = $4;$$015 = 1; - label = 4; - } else { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 75; - $$0 = -1; - } - } else { - $$014 = $0;$$015 = $1; - label = 4; - } - if ((label|0) == 4) { - $10 = $$014; - $11 = (-2 - ($10))|0; - $12 = ($$015>>>0)>($11>>>0); - $$$015 = $12 ? $11 : $$015; - $13 = ((($5)) + 48|0); - HEAP32[$13>>2] = $$$015; - $14 = ((($5)) + 20|0); - HEAP32[$14>>2] = $$014; - $15 = ((($5)) + 44|0); - HEAP32[$15>>2] = $$014; - $16 = (($$014) + ($$$015)|0); - $17 = ((($5)) + 16|0); - HEAP32[$17>>2] = $16; - $18 = ((($5)) + 28|0); - HEAP32[$18>>2] = $16; - $19 = (_vfprintf($5,$2,$3)|0); - $20 = ($$$015|0)==(0); - if ($20) { - $$0 = $19; - } else { - $21 = HEAP32[$14>>2]|0; - $22 = HEAP32[$17>>2]|0; - $23 = ($21|0)==($22|0); - $24 = $23 << 31 >> 31; - $25 = (($21) + ($24)|0); - HEAP8[$25>>0] = 0; - $$0 = $19; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vfprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $3 = sp + 120|0; - $4 = sp + 80|0; - $5 = sp; - $6 = sp + 136|0; - dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = $vacopy_currentptr; - $7 = (_printf_core(0,$1,$3,$5,$4)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = -1; - } else { - $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(-1); - if ($11) { - $12 = (___lockfile($0)|0); - $40 = $12; - } else { - $40 = 0; - } - $13 = HEAP32[$0>>2]|0; - $14 = $13 & 32; - $15 = ((($0)) + 74|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)<(1); - if ($17) { - $18 = $13 & -33; - HEAP32[$0>>2] = $18; - } - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $23 = ((($0)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$23>>2] = $6; - $25 = ((($0)) + 28|0); - HEAP32[$25>>2] = $6; - $26 = ((($0)) + 20|0); - HEAP32[$26>>2] = $6; - HEAP32[$19>>2] = 80; - $27 = ((($6)) + 80|0); - $28 = ((($0)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = (_printf_core($0,$1,$3,$5,$4)|0); - $30 = ($24|0)==(0|0); - if ($30) { - $$1 = $29; - } else { - $31 = ((($0)) + 36|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); - $33 = HEAP32[$26>>2]|0; - $34 = ($33|0)==(0|0); - $$ = $34 ? -1 : $29; - HEAP32[$23>>2] = $24; - HEAP32[$19>>2] = 0; - HEAP32[$28>>2] = 0; - HEAP32[$25>>2] = 0; - HEAP32[$26>>2] = 0; - $$1 = $$; - } - } else { - $22 = (_printf_core($0,$1,$3,$5,$4)|0); - $$1 = $22; - } - $35 = HEAP32[$0>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - $$1$ = $37 ? $$1 : -1; - $38 = $35 | $14; - HEAP32[$0>>2] = $38; - $39 = ($40|0)==(0); - if (!($39)) { - ___unlockfile($0); - } - $$0 = $$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _printf_core($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; - var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 24|0; - $8 = sp + 8|0; - $9 = sp + 20|0; - HEAP32[$5>>2] = $1; - $10 = ($0|0)!=(0|0); - $11 = ((($7)) + 40|0); - $12 = $11; - $13 = ((($7)) + 39|0); - $14 = ((($8)) + 4|0); - $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; - L1: while(1) { - $15 = ($$0247|0)>(-1); - do { - if ($15) { - $16 = (2147483647 - ($$0247))|0; - $17 = ($$0243|0)>($16|0); - if ($17) { - $18 = (___errno_location()|0); - HEAP32[$18>>2] = 75; - $$1248 = -1; - break; - } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; - break; - } - } else { - $$1248 = $$0247; - } - } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; - break; - } - case 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; - break; - } - default: { - } - } - $24 = ((($25)) + 1|0); - HEAP32[$5>>2] = $24; - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = ((($27)) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$0249$lcssa = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $30;$27 = $31; - label = 9; - } else { - $$0249$lcssa = $30;$39 = $31; - break; - } - } - } - } while(0); - $34 = $$0249$lcssa; - $35 = $21; - $36 = (($34) - ($35))|0; - if ($10) { - _out($0,$21,$36); - } - $37 = ($36|0)==(0); - if (!($37)) { - $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; - continue; - } - $38 = ((($39)) + 1|0); - $40 = HEAP8[$38>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($39)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($39)) + 3|0); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } else { - $$0253 = -1;$$1270 = $$0269;$storemerge = $38; - } - HEAP32[$5>>2] = $storemerge; - $46 = HEAP8[$storemerge>>0]|0; - $47 = $46 << 24 >> 24; - $48 = (($47) + -32)|0; - $49 = ($48>>>0)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((15514 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15978;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15978;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 15978 : (15980); - $$$ = $238 ? $$ : (15979); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15978;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15978;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15988; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 15978;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (15978 + ($208)|0); - $$289 = $or$cond283 ? 15978 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15978;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; - $$0228$ = $or$cond ? $$0228 : $11; - $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; - } - else if ((label|0) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } else { - $$0 = $$1248; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___lockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _out($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = $3 & 32; - $5 = ($4|0)==(0); - if ($5) { - (___fwritex($1,$2,$0)|0); - } - return; -} -function _getint($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $isdigittmp4 = (($3) + -48)|0; - $isdigit5 = ($isdigittmp4>>>0)<(10); - if ($isdigit5) { - $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; - while(1) { - $4 = ($$06*10)|0; - $5 = (($isdigittmp7) + ($4))|0; - $6 = ((($7)) + 1|0); - HEAP32[$0>>2] = $6; - $8 = HEAP8[$6>>0]|0; - $9 = $8 << 24 >> 24; - $isdigittmp = (($9) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; - } else { - $$0$lcssa = $5; - break; - } - } - } else { - $$0$lcssa = 0; - } - return ($$0$lcssa|0); -} -function _pop_arg($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(20); - L1: do { - if (!($3)) { - do { - switch ($1|0) { - case 9: { - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded28 = $5; - $expanded = (($expanded28) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded32 = $7; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $8 = $6 & $expanded30; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - HEAP32[$0>>2] = $10; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$2>>2]|0; - $11 = $arglist_current2; - $12 = ((0) + 4|0); - $expanded35 = $12; - $expanded34 = (($expanded35) - 1)|0; - $13 = (($11) + ($expanded34))|0; - $14 = ((0) + 4|0); - $expanded39 = $14; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $15 = $13 & $expanded37; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $arglist_next3 = ((($16)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$2>>2]|0; - $24 = $arglist_current5; - $25 = ((0) + 4|0); - $expanded42 = $25; - $expanded41 = (($expanded42) - 1)|0; - $26 = (($24) + ($expanded41))|0; - $27 = ((0) + 4|0); - $expanded46 = $27; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $28 = $26 & $expanded44; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $arglist_next6 = ((($29)) + 4|0); - HEAP32[$2>>2] = $arglist_next6; - $31 = $0; - $32 = $31; - HEAP32[$32>>2] = $30; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$2>>2]|0; - $35 = $arglist_current8; - $36 = ((0) + 8|0); - $expanded49 = $36; - $expanded48 = (($expanded49) - 1)|0; - $37 = (($35) + ($expanded48))|0; - $38 = ((0) + 8|0); - $expanded53 = $38; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $39 = $37 & $expanded51; - $40 = $39; - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $arglist_next9 = ((($40)) + 8|0); - HEAP32[$2>>2] = $arglist_next9; - $47 = $0; - $48 = $47; - HEAP32[$48>>2] = $43; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$2>>2]|0; - $51 = $arglist_current11; - $52 = ((0) + 4|0); - $expanded56 = $52; - $expanded55 = (($expanded56) - 1)|0; - $53 = (($51) + ($expanded55))|0; - $54 = ((0) + 4|0); - $expanded60 = $54; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $55 = $53 & $expanded58; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $arglist_next12 = ((($56)) + 4|0); - HEAP32[$2>>2] = $arglist_next12; - $58 = $57&65535; - $59 = $58 << 16 >> 16; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = $0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$2>>2]|0; - $66 = $arglist_current14; - $67 = ((0) + 4|0); - $expanded63 = $67; - $expanded62 = (($expanded63) - 1)|0; - $68 = (($66) + ($expanded62))|0; - $69 = ((0) + 4|0); - $expanded67 = $69; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $70 = $68 & $expanded65; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $arglist_next15 = ((($71)) + 4|0); - HEAP32[$2>>2] = $arglist_next15; - $$mask31 = $72 & 65535; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $$mask31; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$2>>2]|0; - $77 = $arglist_current17; - $78 = ((0) + 4|0); - $expanded70 = $78; - $expanded69 = (($expanded70) - 1)|0; - $79 = (($77) + ($expanded69))|0; - $80 = ((0) + 4|0); - $expanded74 = $80; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $81 = $79 & $expanded72; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $arglist_next18 = ((($82)) + 4|0); - HEAP32[$2>>2] = $arglist_next18; - $84 = $83&255; - $85 = $84 << 24 >> 24; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$2>>2]|0; - $92 = $arglist_current20; - $93 = ((0) + 4|0); - $expanded77 = $93; - $expanded76 = (($expanded77) - 1)|0; - $94 = (($92) + ($expanded76))|0; - $95 = ((0) + 4|0); - $expanded81 = $95; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $96 = $94 & $expanded79; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next21 = ((($97)) + 4|0); - HEAP32[$2>>2] = $arglist_next21; - $$mask = $98 & 255; - $99 = $0; - $100 = $99; - HEAP32[$100>>2] = $$mask; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$2>>2]|0; - $103 = $arglist_current23; - $104 = ((0) + 8|0); - $expanded84 = $104; - $expanded83 = (($expanded84) - 1)|0; - $105 = (($103) + ($expanded83))|0; - $106 = ((0) + 8|0); - $expanded88 = $106; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $107 = $105 & $expanded86; - $108 = $107; - $109 = +HEAPF64[$108>>3]; - $arglist_next24 = ((($108)) + 8|0); - HEAP32[$2>>2] = $arglist_next24; - HEAPF64[$0>>3] = $109; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$2>>2]|0; - $110 = $arglist_current26; - $111 = ((0) + 8|0); - $expanded91 = $111; - $expanded90 = (($expanded91) - 1)|0; - $112 = (($110) + ($expanded90))|0; - $113 = ((0) + 8|0); - $expanded95 = $113; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $114 = $112 & $expanded93; - $115 = $114; - $116 = +HEAPF64[$115>>3]; - $arglist_next27 = ((($115)) + 8|0); - HEAP32[$2>>2] = $arglist_next27; - HEAPF64[$0>>3] = $116; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_x($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0); - $5 = ($1|0)==(0); - $6 = $4 & $5; - if ($6) { - $$05$lcssa = $2; - } else { - $$056 = $2;$15 = $1;$8 = $0; - while(1) { - $7 = $8 & 15; - $9 = (16030 + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 | $3; - $13 = $12&255; - $14 = ((($$056)) + -1|0); - HEAP8[$14>>0] = $13; - $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); - $17 = tempRet0; - $18 = ($16|0)==(0); - $19 = ($17|0)==(0); - $20 = $18 & $19; - if ($20) { - $$05$lcssa = $14; - break; - } else { - $$056 = $14;$15 = $17;$8 = $16; - } - } - } - return ($$05$lcssa|0); -} -function _fmt_o($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; - } else { - $$06 = $2;$11 = $1;$7 = $0; - while(1) { - $6 = $7&255; - $8 = $6 & 7; - $9 = $8 | 48; - $10 = ((($$06)) + -1|0); - HEAP8[$10>>0] = $9; - $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); - $13 = tempRet0; - $14 = ($12|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - if ($16) { - $$0$lcssa = $10; - break; - } else { - $$06 = $10;$11 = $13;$7 = $12; - } - } - } - return ($$0$lcssa|0); -} -function _fmt_u($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(0); - $4 = ($0>>>0)>(4294967295); - $5 = ($1|0)==(0); - $6 = $5 & $4; - $7 = $3 | $6; - if ($7) { - $$0914 = $2;$8 = $0;$9 = $1; - while(1) { - $10 = (___uremdi3(($8|0),($9|0),10,0)|0); - $11 = tempRet0; - $12 = $10&255; - $13 = $12 | 48; - $14 = ((($$0914)) + -1|0); - HEAP8[$14>>0] = $13; - $15 = (___udivdi3(($8|0),($9|0),10,0)|0); - $16 = tempRet0; - $17 = ($9>>>0)>(9); - $18 = ($8>>>0)>(4294967295); - $19 = ($9|0)==(9); - $20 = $19 & $18; - $21 = $17 | $20; - if ($21) { - $$0914 = $14;$8 = $15;$9 = $16; - } else { - break; - } - } - $$010$lcssa$off0 = $15;$$09$lcssa = $14; - } else { - $$010$lcssa$off0 = $0;$$09$lcssa = $2; - } - $22 = ($$010$lcssa$off0|0)==(0); - if ($22) { - $$1$lcssa = $$09$lcssa; - } else { - $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; - while(1) { - $23 = (($$012>>>0) % 10)&-1; - $24 = $23 | 48; - $25 = $24&255; - $26 = ((($$111)) + -1|0); - HEAP8[$26>>0] = $25; - $27 = (($$012>>>0) / 10)&-1; - $28 = ($$012>>>0)<(10); - if ($28) { - $$1$lcssa = $26; - break; - } else { - $$012 = $27;$$111 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _strerror($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___pthread_self_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|0); -} -function _memchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1 & 255; - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)!=(0); - $7 = ($2|0)!=(0); - $or$cond53 = $7 & $6; - L1: do { - if ($or$cond53) { - $8 = $1&255; - $$03555 = $0;$$03654 = $2; - while(1) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; - } - $11 = ((($$03555)) + 1|0); - $12 = (($$03654) + -1)|0; - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($12|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$03555 = $11;$$03654 = $12; - } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; - label = 6; - } else { - $$2 = $$035$lcssa;$$3 = 0; - } - } - L8: do { - if ((label|0) == 6) { - $17 = HEAP8[$$035$lcssa65>>0]|0; - $18 = $1&255; - $19 = ($17<<24>>24)==($18<<24>>24); - if ($19) { - $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; - } else { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; - while(1) { - $22 = HEAP32[$$046>>2]|0; - $23 = $22 ^ $20; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - break; - } - $29 = ((($$046)) + 4|0); - $30 = (($$13745) + -4)|0; - $31 = ($30>>>0)>(3); - if ($31) { - $$046 = $29;$$13745 = $30; - } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; - } - } - $$140 = $$046;$$23839 = $$13745; - } else { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; - } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; - } - } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; - } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; - } - } - } - } - } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); -} -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $5 = sp; - $6 = $4 & 73728; - $7 = ($6|0)==(0); - $8 = ($2|0)>($3|0); - $or$cond = $8 & $7; - if ($or$cond) { - $9 = (($2) - ($3))|0; - $10 = ($9>>>0)<(256); - $11 = $10 ? $9 : 256; - _memset(($5|0),($1|0),($11|0))|0; - $12 = ($9>>>0)>(255); - if ($12) { - $13 = (($2) - ($3))|0; - $$011 = $9; - while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; - } else { - break; - } - } - $16 = $13 & 255; - $$0$lcssa = $16; - } else { - $$0$lcssa = $9; - } - _out($0,$5,$$0$lcssa); - } - STACKTOP = sp;return; -} -function _wctomb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = (_wcrtomb($0,$1,0)|0); - $$0 = $3; - } - return ($$0|0); -} -function _fmt_fp($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; - var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 524|0; - $9 = $8; - $10 = sp + 512|0; - HEAP32[$7>>2] = 0; - $11 = ((($10)) + 12|0); - (___DOUBLE_BITS_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15995; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (15996) : (16001); - $$$ = $16 ? $$ : (15998); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (16030 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $85 = $84&255; - $86 = ((($$0523)) + 1|0); - HEAP8[$$0523>>0] = $85; - $87 = (+($80|0)); - $88 = $$2473 - $87; - $89 = $88 * 16.0; - $90 = $86; - $91 = (($90) - ($9))|0; - $92 = ($91|0)==(1); - if ($92) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$3501$lcssa; - $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; - } else { - $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; - } - $$7505 = $$7505$ph; - while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,16046,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,16046,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 16014 : 16018; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 16022 : 16026; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _frexpl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_frexp($0,$1)); - return (+$2); -} -function _frexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $5 = tempRet0; - $6 = $4&65535; - $trunc$clear = $6 & 2047; - switch ($trunc$clear<<16>>16) { - case 0: { - $7 = $0 != 0.0; - if ($7) { - $8 = $0 * 1.8446744073709552E+19; - $9 = (+_frexp($8,$1)); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + -64)|0; - $$016 = $9;$storemerge = $11; - } else { - $$016 = $0;$storemerge = 0; - } - HEAP32[$1>>2] = $storemerge; - $$0 = $$016; - break; - } - case 2047: { - $$0 = $0; - break; - } - default: { - $12 = $4 & 2047; - $13 = (($12) + -1022)|0; - HEAP32[$1>>2] = $13; - $14 = $3 & -2146435073; - $15 = $14 | 1071644672; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $16; - } - } - return (+$$0); -} -function _wcrtomb($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; - } else { - $4 = ($1>>>0)<(128); - if ($4) { - $5 = $1&255; - HEAP8[$0>>0] = $5; - $$0 = 1; - break; - } - $6 = (___pthread_self_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___strerror_l($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $$016 = 0; - while(1) { - $3 = (16048 + ($$016)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==($0|0); - if ($6) { - label = 2; - break; - } - $7 = (($$016) + 1)|0; - $8 = ($7|0)==(87); - if ($8) { - $$01214 = 16136;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 16136; - } else { - $$01214 = 16136;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; - while(1) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { - break; - } else { - $$113 = $11; - } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } - } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); -} -function ___lctrans($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); -} -function ___lctrans_impl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = HEAP32[$1>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (___mo_lookup($3,$5,$0)|0); - $$0 = $6; - } - $7 = ($$0|0)!=(0|0); - $8 = $7 ? $$0 : $0; - return ($8|0); -} -function ___mo_lookup($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 1794895138)|0; - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_swapc($6,$4)|0); - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_swapc($9,$4)|0); - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_swapc($12,$4)|0); - $14 = $1 >>> 2; - $15 = ($7>>>0)<($14>>>0); - L1: do { - if ($15) { - $16 = $7 << 2; - $17 = (($1) - ($16))|0; - $18 = ($10>>>0)<($17>>>0); - $19 = ($13>>>0)<($17>>>0); - $or$cond = $18 & $19; - if ($or$cond) { - $20 = $13 | $10; - $21 = $20 & 3; - $22 = ($21|0)==(0); - if ($22) { - $23 = $10 >>> 2; - $24 = $13 >>> 2; - $$090 = 0;$$094 = $7; - while(1) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_swapc($30,$4)|0); - $32 = (($28) + 1)|0; - $33 = (($0) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_swapc($34,$4)|0); - $36 = ($35>>>0)<($1>>>0); - $37 = (($1) - ($35))|0; - $38 = ($31>>>0)<($37>>>0); - $or$cond102 = $36 & $38; - if (!($or$cond102)) { - $$4 = 0; - break L1; - } - $39 = (($35) + ($31))|0; - $40 = (($0) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==(0); - if (!($42)) { - $$4 = 0; - break L1; - } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { - break; - } - $62 = ($$094|0)==(1); - $63 = ($44|0)<(0); - $64 = (($$094) - ($25))|0; - $$195 = $63 ? $25 : $64; - $$191 = $63 ? $$090 : $26; - if ($62) { - $$4 = 0; - break L1; - } else { - $$090 = $$191;$$094 = $$195; - } - } - $46 = (($27) + ($24))|0; - $47 = (($0) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_swapc($48,$4)|0); - $50 = (($46) + 1)|0; - $51 = (($0) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_swapc($52,$4)|0); - $54 = ($53>>>0)<($1>>>0); - $55 = (($1) - ($53))|0; - $56 = ($49>>>0)<($55>>>0); - $or$cond104 = $54 & $56; - if ($or$cond104) { - $57 = (($0) + ($53)|0); - $58 = (($53) + ($49))|0; - $59 = (($0) + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)==(0); - $$ = $61 ? $57 : 0; - $$4 = $$; - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } while(0); - return ($$4|0); -} -function _swapc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); -} -function ___fwritex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $7 = (___towrite($2)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$3>>2]|0; - $12 = $$pre; - label = 5; - } else { - $$1 = 0; - } - } else { - $6 = $4; - $12 = $6; - label = 5; - } - L5: do { - if ((label|0) == 5) { - $9 = ((($2)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($12) - ($10))|0; - $13 = ($11>>>0)<($1>>>0); - $14 = $10; - if ($13) { - $15 = ((($2)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); - $$1 = $17; - break; - } - $18 = ((($2)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)>(-1); - L10: do { - if ($20) { - $$038 = $1; - while(1) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; - } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { - break; - } else { - $$038 = $22; - } - } - $26 = ((($2)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); - $29 = ($28>>>0)<($$038>>>0); - if ($29) { - $$1 = $28; - break L5; - } - $30 = (($0) + ($$038)|0); - $$042 = (($1) - ($$038))|0; - $$pre47 = HEAP32[$9>>2]|0; - $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; - } else { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - } - } while(0); - _memcpy(($31|0),($$141|0),($$143|0))|0; - $32 = HEAP32[$9>>2]|0; - $33 = (($32) + ($$143)|0); - HEAP32[$9>>2] = $33; - $34 = (($$139) + ($$143))|0; - $$1 = $34; - } - } while(0); - return ($$1|0); -} -function ___towrite($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 8; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($0)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 28|0); - HEAP32[$15>>2] = $14; - $16 = ((($0)) + 20|0); - HEAP32[$16>>2] = $14; - $17 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _sn_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - $8 = (($4) - ($7))|0; - $9 = ($8>>>0)>($2>>>0); - $$ = $9 ? $2 : $8; - _memcpy(($6|0),($1|0),($$|0))|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + ($$)|0); - HEAP32[$5>>2] = $11; - return ($2|0); -} -function _scalbn($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; - var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)>(1023); - if ($2) { - $3 = $0 * 8.9884656743115795E+307; - $4 = (($1) + -1023)|0; - $5 = ($4|0)>(1023); - $6 = $3 * 8.9884656743115795E+307; - $7 = (($1) + -2046)|0; - $8 = ($7|0)<(1023); - $$ = $8 ? $7 : 1023; - $$$ = $5 ? $$ : $4; - $$21 = $5 ? $6 : $3; - $$0 = $$21;$$020 = $$$; - } else { - $9 = ($1|0)<(-1022); - if ($9) { - $10 = $0 * 2.2250738585072014E-308; - $11 = (($1) + 1022)|0; - $12 = ($11|0)<(-1022); - $13 = $10 * 2.2250738585072014E-308; - $14 = (($1) + 2044)|0; - $15 = ($14|0)>(-1022); - $$1 = $15 ? $14 : -1022; - $$1$ = $12 ? $$1 : $11; - $$22 = $12 ? $13 : $10; - $$0 = $$22;$$020 = $$1$; - } else { - $$0 = $0;$$020 = $1; - } - } - $16 = (($$020) + 1023)|0; - $17 = (_bitshift64Shl(($16|0),0,52)|0); - $18 = tempRet0; - HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; - $20 = $$0 * $19; - return (+$20); -} -function _strlen($0) { - $0 = $0|0; - var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1 & 3; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $$015$lcssa = $0; - label = 4; - } else { - $$01519 = $0;$23 = $1; - while(1) { - $4 = HEAP8[$$01519>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - $$sink = $23; - break L1; - } - $6 = ((($$01519)) + 1|0); - $7 = $6; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if ($9) { - $$015$lcssa = $6; - label = 4; - break; - } else { - $$01519 = $6;$23 = $7; - } - } - } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; - while(1) { - $10 = HEAP32[$$0>>2]|0; - $11 = (($10) + -16843009)|0; - $12 = $10 & -2139062144; - $13 = $12 ^ -2139062144; - $14 = $13 & $11; - $15 = ($14|0)==(0); - $16 = ((($$0)) + 4|0); - if ($15) { - $$0 = $16; - } else { - break; - } - } - $17 = $10&255; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$1$lcssa = $$0; - } else { - $$pn = $$0; - while(1) { - $19 = ((($$pn)) + 1|0); - $$pre = HEAP8[$19>>0]|0; - $20 = ($$pre<<24>>24)==(0); - if ($20) { - $$1$lcssa = $19; - break; - } else { - $$pn = $19; - } - } - } - $21 = $$1$lcssa; - $$sink = $21; - } - $22 = (($$sink) - ($1))|0; - return ($22|0); -} -function _strchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function _ldexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function ___unlist_locked_file($0) { - $0 = $0|0; - var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 68|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = ((($0)) + 116|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - $$pre = ((($0)) + 112|0); - if (!($6)) { - $7 = HEAP32[$$pre>>2]|0; - $8 = ((($5)) + 112|0); - HEAP32[$8>>2] = $7; - } - $9 = HEAP32[$$pre>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $12 = (___pthread_self_607()|0); - $13 = ((($12)) + 232|0); - $$sink = $13; - } else { - $11 = ((($9)) + 116|0); - $$sink = $11; - } - HEAP32[$$sink>>2] = $5; - } - return; -} -function ___pthread_self_607() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _fopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer8 = sp + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $memchr = (_memchr(17940,$3,4)|0); - $4 = ($memchr|0)==(0|0); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $$0 = 0; - } else { - $6 = (___fmodeflags($1)|0); - $7 = $0; - $8 = $6 | 32768; - HEAP32[$vararg_buffer>>2] = $7; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $9 = (___syscall5(5,($vararg_buffer|0))|0); - $10 = (___syscall_ret($9)|0); - $11 = ($10|0)<(0); - if ($11) { - $$0 = 0; - } else { - $12 = $6 & 524288; - $13 = ($12|0)==(0); - if (!($13)) { - HEAP32[$vararg_buffer3>>2] = $10; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 2; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 1; - (___syscall221(221,($vararg_buffer3|0))|0); - } - $14 = (___fdopen($10,$1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$vararg_buffer8>>2] = $10; - (___syscall6(6,($vararg_buffer8|0))|0); - $$0 = 0; - } else { - $$0 = $14; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($0) { - $0 = $0|0; - var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_strchr($0,43)|0); - $2 = ($1|0)==(0|0); - $3 = HEAP8[$0>>0]|0; - $not$ = ($3<<24>>24)!=(114); - $$ = $not$&1; - $$0 = $2 ? $$ : 2; - $4 = (_strchr($0,120)|0); - $5 = ($4|0)==(0|0); - $6 = $$0 | 128; - $$0$ = $5 ? $$0 : $6; - $7 = (_strchr($0,101)|0); - $8 = ($7|0)==(0|0); - $9 = $$0$ | 524288; - $$2 = $8 ? $$0$ : $9; - $10 = ($3<<24>>24)==(114); - $11 = $$2 | 64; - $$2$ = $10 ? $$2 : $11; - $12 = ($3<<24>>24)==(119); - $13 = $$2$ | 512; - $$4 = $12 ? $13 : $$2$; - $14 = ($3<<24>>24)==(97); - $15 = $$4 | 1024; - $$$4 = $14 ? $15 : $$4; - return ($$$4|0); -} -function ___fdopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 56|0; - $3 = HEAP8[$1>>0]|0; - $4 = $3 << 24 >> 24; - $memchr = (_memchr(17940,$4,4)|0); - $5 = ($memchr|0)==(0|0); - if ($5) { - $6 = (___errno_location()|0); - HEAP32[$6>>2] = 22; - $$0 = 0; - } else { - $7 = (_malloc(1156)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - } else { - dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $9 = (_strchr($1,43)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = ($3<<24>>24)==(114); - $12 = $11 ? 8 : 4; - HEAP32[$7>>2] = $12; - } - $13 = (_strchr($1,101)|0); - $14 = ($13|0)==(0|0); - if ($14) { - $16 = $3; - } else { - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$1>>0]|0; - $16 = $$pre; - } - $15 = ($16<<24>>24)==(97); - if ($15) { - HEAP32[$vararg_buffer3>>2] = $0; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $17 = (___syscall221(221,($vararg_buffer3|0))|0); - $18 = $17 & 1024; - $19 = ($18|0)==(0); - if ($19) { - $20 = $17 | 1024; - HEAP32[$vararg_buffer7>>2] = $0; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $20; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $21 = HEAP32[$7>>2]|0; - $22 = $21 | 128; - HEAP32[$7>>2] = $22; - $29 = $22; - } else { - $$pre31 = HEAP32[$7>>2]|0; - $29 = $$pre31; - } - $23 = ((($7)) + 60|0); - HEAP32[$23>>2] = $0; - $24 = ((($7)) + 132|0); - $25 = ((($7)) + 44|0); - HEAP32[$25>>2] = $24; - $26 = ((($7)) + 48|0); - HEAP32[$26>>2] = 1024; - $27 = ((($7)) + 75|0); - HEAP8[$27>>0] = -1; - $28 = $29 & 8; - $30 = ($28|0)==(0); - if ($30) { - $31 = $2; - HEAP32[$vararg_buffer12>>2] = $0; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21523; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $31; - $32 = (___syscall54(54,($vararg_buffer12|0))|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP8[$27>>0] = 10; - } - } - $34 = ((($7)) + 32|0); - HEAP32[$34>>2] = 11; - $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 10; - $36 = ((($7)) + 40|0); - HEAP32[$36>>2] = 3; - $37 = ((($7)) + 12|0); - HEAP32[$37>>2] = 2; - $38 = HEAP32[(21900)>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = ((($7)) + 76|0); - HEAP32[$40>>2] = -1; - } - $41 = (___ofl_add($7)|0); - $$0 = $7; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___ofl_add($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___ofl_lock()|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 56|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($4)) + 52|0); - HEAP32[$6>>2] = $0; - } - HEAP32[$1>>2] = $0; - ___ofl_unlock(); - return ($0|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((21960|0)); - return (21968|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((21960|0)); - return; -} -function _fclose($0) { - $0 = $0|0; - var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $29 = $4; - } else { - $29 = 0; - } - ___unlist_locked_file($0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 1; - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (___ofl_lock()|0); - $9 = ((($0)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $10; - $$pre = ((($0)) + 56|0); - if (!($11)) { - $13 = HEAP32[$$pre>>2]|0; - $14 = ((($10)) + 56|0); - HEAP32[$14>>2] = $13; - } - $15 = HEAP32[$$pre>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = ((($15)) + 52|0); - HEAP32[$17>>2] = $12; - } - $18 = HEAP32[$8>>2]|0; - $19 = ($18|0)==($0|0); - if ($19) { - HEAP32[$8>>2] = $15; - } - ___ofl_unlock(); - } - $20 = (_fflush($0)|0); - $21 = ((($0)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); - $24 = $23 | $20; - $25 = ((($0)) + 92|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - _free($26); - } - if ($7) { - $28 = ($29|0)==(0); - if (!($28)) { - ___unlockfile($0); - } - } else { - _free($0); - } - return ($24|0); -} -function _fflush($0) { - $0 = $0|0; - var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[1044]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[1044]|0; - $11 = (_fflush($10)|0); - $29 = $11; - } - $12 = (___ofl_lock()|0); - $$02325 = HEAP32[$12>>2]|0; - $13 = ($$02325|0)==(0|0); - if ($13) { - $$024$lcssa = $29; - } else { - $$02327 = $$02325;$$02426 = $29; - while(1) { - $14 = ((($$02327)) + 76|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(-1); - if ($16) { - $17 = (___lockfile($$02327)|0); - $26 = $17; - } else { - $26 = 0; - } - $18 = ((($$02327)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($$02327)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($19>>>0)>($21>>>0); - if ($22) { - $23 = (___fflush_unlocked($$02327)|0); - $24 = $23 | $$02426; - $$1 = $24; - } else { - $$1 = $$02426; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___unlockfile($$02327); - } - $27 = ((($$02327)) + 56|0); - $$023 = HEAP32[$27>>2]|0; - $28 = ($$023|0)==(0|0); - if ($28) { - $$024$lcssa = $$1; - break; - } else { - $$02327 = $$023;$$02426 = $$1; - } - } - } - ___ofl_unlock(); - $$0 = $$024$lcssa; - } else { - $2 = ((($0)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if (!($4)) { - $5 = (___fflush_unlocked($0)|0); - $$0 = $5; - break; - } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)>($4>>>0); - if ($5) { - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - $15 = $11; - $16 = $13; - $17 = (($15) - ($16))|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); - } - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$3>>2] = 0; - HEAP32[$1>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _feof($0) { - $0 = $0|0; - var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 >>> 4; - $$lobit = $8 & 1; - if ($phitmp) { - $$lobit9 = $$lobit; - } else { - ___unlockfile($0); - $$lobit9 = $$lobit; - } - } else { - $4 = HEAP32[$0>>2]|0; - $5 = $4 >>> 4; - $$lobit8 = $5 & 1; - $$lobit9 = $$lobit8; - } - return ($$lobit9|0); -} -function _fseek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (___fseeko($0,$1,$2)|0); - return ($3|0); -} -function ___fseeko($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $7 = (___lockfile($0)|0); - $phitmp = ($7|0)==(0); - $8 = (___fseeko_unlocked($0,$1,$2)|0); - if ($phitmp) { - $9 = $8; - } else { - ___unlockfile($0); - $9 = $8; - } - } else { - $6 = (___fseeko_unlocked($0,$1,$2)|0); - $9 = $6; - } - return ($9|0); -} -function ___fseeko_unlocked($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(1); - if ($3) { - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($1) - ($5))|0; - $9 = (($8) + ($7))|0; - $$019 = $9; - } else { - $$019 = $1; - } - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)>($13>>>0); - if ($14) { - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); - $17 = HEAP32[$10>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $19 = ((($0)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); - $23 = ($22|0)<(0); - if ($23) { - $$0 = -1; - } else { - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = 0; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = $26 & -17; - HEAP32[$0>>2] = $27; - $$0 = 0; - } - } - return ($$0|0); -} -function _strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strrchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($2) + 1)|0; - $4 = (___memrchr($0,$1,$3)|0); - return ($4|0); -} -function ___memrchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1&255; - $$09 = $2; - while(1) { - $4 = (($$09) + -1)|0; - $5 = ($$09|0)==(0); - if ($5) { - $$0 = 0; - break; - } - $6 = (($0) + ($4)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==($3<<24>>24); - if ($8) { - $$0 = $6; - break; - } else { - $$09 = $4; - } - } - return ($$0|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 18216; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _fread($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = ($1|0)==(0); - $$ = $5 ? 0 : $2; - $6 = ((($3)) + 76|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(-1); - if ($8) { - $9 = (___lockfile($3)|0); - $36 = $9; - } else { - $36 = 0; - } - $10 = ((($3)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ((($3)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19; - $21 = (($17) - ($20))|0; - $22 = ($21|0)>(0); - $23 = ($21>>>0)<($4>>>0); - $$57 = $23 ? $21 : $4; - if ($22) { - $24 = (($4) - ($$57))|0; - $25 = (($0) + ($$57)|0); - _memcpy(($0|0),($19|0),($$57|0))|0; - $26 = (($19) + ($$57)|0); - HEAP32[$18>>2] = $26; - $$054$ph = $24;$$056$ph = $25; - } else { - $$054$ph = $4;$$056$ph = $0; - } - $27 = ($$054$ph|0)==(0); - L7: do { - if ($27) { - label = 13; - } else { - $28 = ((($3)) + 32|0); - $$05460 = $$054$ph;$$05659 = $$056$ph; - while(1) { - $29 = (___toread($3)|0); - $30 = ($29|0)==(0); - if (!($30)) { - break; - } - $31 = HEAP32[$28>>2]|0; - $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); - $33 = (($32) + 1)|0; - $34 = ($33>>>0)<(2); - if ($34) { - break; - } - $39 = (($$05460) - ($32))|0; - $40 = (($$05659) + ($32)|0); - $41 = ($39|0)==(0); - if ($41) { - label = 13; - break L7; - } else { - $$05460 = $39;$$05659 = $40; - } - } - $35 = ($36|0)==(0); - if (!($35)) { - ___unlockfile($3); - } - $37 = (($4) - ($$05460))|0; - $38 = (($37>>>0) / ($1>>>0))&-1; - $$0 = $38; - } - } while(0); - if ((label|0) == 13) { - $42 = ($36|0)==(0); - if ($42) { - $$0 = $$; - } else { - ___unlockfile($3); - $$0 = $$; - } - } - return ($$0|0); -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[1012]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = HEAP32[5493]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[5493] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[5493] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[5493] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[5493] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function runPostSets() { -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; - end = (ptr + num)|0; - - value = value & 0xff; - if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { - while ((ptr&3) != 0) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - - aligned_end = (end & -4)|0; - block_aligned_end = (aligned_end - 64)|0; - value4 = value | (value << 8) | (value << 16) | (value << 24); - - while((ptr|0) <= (block_aligned_end|0)) { - HEAP32[((ptr)>>2)]=value4; - HEAP32[(((ptr)+(4))>>2)]=value4; - HEAP32[(((ptr)+(8))>>2)]=value4; - HEAP32[(((ptr)+(12))>>2)]=value4; - HEAP32[(((ptr)+(16))>>2)]=value4; - HEAP32[(((ptr)+(20))>>2)]=value4; - HEAP32[(((ptr)+(24))>>2)]=value4; - HEAP32[(((ptr)+(28))>>2)]=value4; - HEAP32[(((ptr)+(32))>>2)]=value4; - HEAP32[(((ptr)+(36))>>2)]=value4; - HEAP32[(((ptr)+(40))>>2)]=value4; - HEAP32[(((ptr)+(44))>>2)]=value4; - HEAP32[(((ptr)+(48))>>2)]=value4; - HEAP32[(((ptr)+(52))>>2)]=value4; - HEAP32[(((ptr)+(56))>>2)]=value4; - HEAP32[(((ptr)+(60))>>2)]=value4; - ptr = (ptr + 64)|0; - } - - while ((ptr|0) < (aligned_end|0) ) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - // The remaining bytes. - while ((ptr|0) < (end|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (end-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - var aligned_dest_end = 0; - var block_aligned_dest_end = 0; - var dest_end = 0; - // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. - if ((num|0) >= - 8192 - ) { - return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - } - - ret = dest|0; - dest_end = (dest + num)|0; - if ((dest&3) == (src&3)) { - // The initial unaligned < 4-byte front. - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - aligned_dest_end = (dest_end & -4)|0; - block_aligned_dest_end = (aligned_dest_end - 64)|0; - while ((dest|0) <= (block_aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); - HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); - HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); - HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); - HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); - HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); - HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); - HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); - HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); - HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); - HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); - HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); - HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); - HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); - HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); - dest = (dest+64)|0; - src = (src+64)|0; - } - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } else { - // In the unaligned copy case, unroll a bit as well. - aligned_dest_end = (dest_end - 4)|0; - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); - HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); - HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } - // The remaining unaligned < 4 byte tail. - while ((dest|0) < (dest_end|0)) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _sbrk(increment) { - increment = increment|0; - var oldDynamicTop = 0; - var oldDynamicTopOnChange = 0; - var newDynamicTop = 0; - var totalMemory = 0; - increment = ((increment + 15) & -16)|0; - oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; - newDynamicTop = oldDynamicTop + increment | 0; - - if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. - | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. - abortOnCannotGrowMemory()|0; - ___setErrNo(12); - return -1; - } - - HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; - totalMemory = getTotalMemory()|0; - if ((newDynamicTop|0) > (totalMemory|0)) { - if ((enlargeMemory()|0) == 0) { - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - ___setErrNo(12); - return -1; - } - } - return oldDynamicTop|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _llvm_bswap_i32(x) { - x = x|0; - return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; -} - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _llvm_bswap_i32: _llvm_bswap_i32, _roundf: _roundf, _main: _main, dynCall_i: dynCall_i, stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, dynCall_vidddd: dynCall_vidddd, setThrew: setThrew, dynCall_viii: dynCall_viii, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, dynCall_iii: dynCall_iii, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, ___muldi3: ___muldi3, dynCall_vd: dynCall_vd, dynCall_vii: dynCall_vii, ___uremdi3: ___uremdi3, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_viiiiiii: dynCall_viiiiiii, getTempRet0: getTempRet0, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, dynCall_viid: dynCall_viid, dynCall_ii: dynCall_ii, _emscripten_GetProcAddress: _emscripten_GetProcAddress, dynCall_viiii: dynCall_viiii, ___errno_location: ___errno_location, dynCall_viiiii: dynCall_viiiii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, _memmove: _memmove, _strstr: _strstr, stackRestore: stackRestore, _malloc: _malloc, dynCall_vdi: dynCall_vdi, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__roundf.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackSave.apply(null, arguments); -}; - -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_getTempRet0.apply(null, arguments); -}; - -var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____udivdi3.apply(null, arguments); -}; - -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setThrew.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__fflush.apply(null, arguments); -}; - -var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__sbrk.apply(null, arguments); -}; - -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__llvm_bswap_i32.apply(null, arguments); -}; - -var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____muldi3.apply(null, arguments); -}; - -var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____uremdi3.apply(null, arguments); -}; - -var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackAlloc.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setTempRet0.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_GetProcAddress.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____errno_location.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__free.apply(null, arguments); -}; - -var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_establishStackSpace.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strstr.apply(null, arguments); -}; - -var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackRestore.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__malloc.apply(null, arguments); -}; -var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - - -/** - * @constructor - * @extends {Error} - */ -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 initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - Module.printErr('exception thrown: ' + toLog); - Module['quit'](1, e); - } - } finally { - calledMain = true; - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - writeStackCookie(); - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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(); - } - checkStackCookie(); -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - process['exit'](status); - } - Module['quit'](status, new ExitStatus(status)); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/examples/web/models/models_first_person_maze.c b/examples/web/models/models_first_person_maze.c new file mode 100644 index 0000000..9926f7e --- /dev/null +++ b/examples/web/models/models_first_person_maze.c @@ -0,0 +1,165 @@ +/******************************************************************************************* +* +* raylib [models] example - first person maze +* +* This example has been created using raylib 2.5 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2019 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#include // Required for: free() + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +const int screenWidth = 800; +const int screenHeight = 450; + +// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +Camera camera = { 0 }; + +Model model = { 0 }; +Texture2D cubicmap = { 0 }; +Texture2D texture = { 0 }; + +Color *mapPixels = NULL; + +Vector3 mapPosition = { -16.0f, 0.0f, -8.0f }; // Set model position +Vector3 playerPosition = { 0.0f }; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Program Main Entry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib [models] example - first person maze"); + + // Define the camera to look into our 3d world + camera = (Camera){{ 0.2f, 0.4f, 0.2f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f, 0 }; + + Image imMap = LoadImage("resources/cubicmap.png"); // Load cubicmap image (RAM) + cubicmap = LoadTextureFromImage(imMap); // Convert image to texture to display (VRAM) + Mesh mesh = GenMeshCubicmap(imMap, (Vector3){ 1.0f, 1.0f, 1.0f }); + model = LoadModelFromMesh(mesh); + + // NOTE: By default each cube is mapped to one part of texture atlas + texture = LoadTexture("resources/cubicmap_atlas.png"); // Load map texture + model.materials[0].maps[MAP_DIFFUSE].texture = texture; // Set map diffuse texture + + // Get map image data to be used for collision detection + mapPixels = GetImageData(imMap); + UnloadImage(imMap); // Unload image from RAM + + playerPosition = camera.position; // Set player position + + SetCameraMode(camera, CAMERA_FIRST_PERSON); // Set camera mode + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + free(mapPixels); // Unload color array + + UnloadTexture(cubicmap); // Unload cubicmap texture + UnloadTexture(texture); // Unload map texture + UnloadModel(model); // Unload map model + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + Vector3 oldCamPos = camera.position; // Store old camera position + + UpdateCamera(&camera); // Update camera + + // Check player collision (we simplify to 2D collision detection) + Vector2 playerPos = { camera.position.x, camera.position.z }; + float playerRadius = 0.1f; // Collision radius (player is modelled as a cilinder for collision) + + int playerCellX = (int)(playerPos.x - mapPosition.x + 0.5f); + int playerCellY = (int)(playerPos.y - mapPosition.z + 0.5f); + + // Out-of-limits security check + if (playerCellX < 0) playerCellX = 0; + else if (playerCellX >= cubicmap.width) playerCellX = cubicmap.width - 1; + + if (playerCellY < 0) playerCellY = 0; + else if (playerCellY >= cubicmap.height) playerCellY = cubicmap.height - 1; + + // Check map collisions using image data and player position + // TODO: Improvement: Just check player surrounding cells for collision + for (int y = 0; y < cubicmap.height; y++) + { + for (int x = 0; x < cubicmap.width; x++) + { + if ((mapPixels[y*cubicmap.width + x].r == 255) && // Collision: white pixel, only check R channel + (CheckCollisionCircleRec(playerPos, playerRadius, + (Rectangle){ mapPosition.x - 0.5f + x*1.0f, mapPosition.z - 0.5f + y*1.0f, 1.0f, 1.0f }))) + { + // Collision detected, reset camera position + camera.position = oldCamPos; + } + } + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + BeginMode3D(camera); + + DrawModel(model, mapPosition, 1.0f, WHITE); // Draw maze map + //DrawCubeV(playerPosition, (Vector3){ 0.2f, 0.4f, 0.2f }, RED); // Draw player + + EndMode3D(); + + DrawTextureEx(cubicmap, (Vector2){ GetScreenWidth() - cubicmap.width*4 - 20, 20 }, 0.0f, 4.0f, WHITE); + DrawRectangleLines(GetScreenWidth() - cubicmap.width*4 - 20, 20, cubicmap.width*4, cubicmap.height*4, GREEN); + + // Draw player position radar + DrawRectangle(GetScreenWidth() - cubicmap.width*4 - 20 + playerCellX*4, 20 + playerCellY*4, 4, 4, RED); + + DrawFPS(10, 10); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} diff --git a/examples/web/models/models_first_person_maze.exe b/examples/web/models/models_first_person_maze.exe new file mode 100644 index 0000000..06879ad Binary files /dev/null and b/examples/web/models/models_first_person_maze.exe differ diff --git a/examples/web/models/models_geometric_shapes.c b/examples/web/models/models_geometric_shapes.c index daaded4..a0f8a7f 100644 --- a/examples/web/models/models_geometric_shapes.c +++ b/examples/web/models/models_geometric_shapes.c @@ -15,10 +15,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -36,19 +32,11 @@ void UpdateDrawFrame(void); // Update and Draw one frame //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - geometric shapes"); -#endif #if defined(PLATFORM_WEB) emscripten_set_main_loop(UpdateDrawFrame, 0, 1); @@ -67,9 +55,8 @@ int main(void) //-------------------------------------------------------------------------------------- CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_geometric_shapes.html b/examples/web/models/models_geometric_shapes.html deleted file mode 100644 index 1769666..0000000 --- a/examples/web/models/models_geometric_shapes.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
Downloading...
- - - - - -
- -
-
- -
- -
- - - - - - - \ No newline at end of file diff --git a/examples/web/models/models_geometric_shapes.js b/examples/web/models/models_geometric_shapes.js deleted file mode 100644 index af340c4..0000000 --- a/examples/web/models/models_geometric_shapes.js +++ /dev/null @@ -1,25642 +0,0 @@ -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; - -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) - -if (Module['ENVIRONMENT']) { - if (Module['ENVIRONMENT'] === 'WEB') { - ENVIRONMENT_IS_WEB = true; - } else if (Module['ENVIRONMENT'] === 'WORKER') { - ENVIRONMENT_IS_WORKER = true; - } else if (Module['ENVIRONMENT'] === 'NODE') { - ENVIRONMENT_IS_NODE = true; - } else if (Module['ENVIRONMENT'] === 'SHELL') { - ENVIRONMENT_IS_SHELL = true; - } else { - throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); - } -} else { - ENVIRONMENT_IS_WEB = typeof window === 'object'; - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; - ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -} - - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function shell_read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(xhr.response); - }; - } - - 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)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function shell_print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = undefined; - - - -// {{PREAMBLE_ADDITIONS}} - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = Runtime.stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -/** @type {function(number, number, string, boolean=)} */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - -/** @type {function(number, string, boolean=)} */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -/** @type {function(number, number=)} */ -function Pointer_stringify(ptr, length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; -function UTF8ArrayToString(u8Array, idx) { - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - while (u8Array[endPtr]) ++endPtr; - - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; -function UTF16ToString(ptr) { - assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - while (HEAP16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - - -function UTF32ToString(ptr) { - assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - 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 : (x + ' [' + y + ']'); - }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - 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); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; -var ASMJS_PAGE_SIZE = 16777216; -var MIN_TOTAL_MEMORY = 16777216; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBuffer(buf) { - Module['buffer'] = buffer = buf; -} - -function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); -} - -var STATIC_BASE, STATICTOP, staticSealed; // static area -var STACK_BASE, STACKTOP, STACK_MAX; // stack area -var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk - - STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; - staticSealed = false; - - -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - assert((STACK_MAX & 3) == 0); - HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; - HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; -} - -function checkStackCookie() { - if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { - abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); - } - // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. - if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; -} - -function abortStackOverflow(allocSize) { - abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!'); -} - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; -if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, - 'JS engine does not provide full typed array support'); - - - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); -} else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); -} -updateGlobalBufferViews(); - - -function getTotalMemory() { - return TOTAL_MEMORY; -} - -// Endianness check (note: assumes compiler arch was little-endian) - HEAP32[0] = 0x63736d65; /* 'emsc' */ -HEAP16[1] = 0x6373; -if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Module['dynCall_v'](func); - } else { - Module['dynCall_vi'](func, callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - checkStackCookie(); - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - checkStackCookie(); - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated */ -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') - HEAP8.set(array, buffer); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - -var /* show errors on likely calls to FS when it was not included */ FS = { - error: function() { - abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1'); - }, - init: function() { FS.error() }, - createDataFile: function() { FS.error() }, - createPreloadedFile: function() { FS.error() }, - createLazyFile: function() { FS.error() }, - open: function() { FS.error() }, - mkdev: function() { FS.error() }, - registerDevice: function() { FS.error() }, - analyzePath: function() { FS.error() }, - loadFilesFromDB: function() { FS.error() }, - - ErrnoError: function ErrnoError() { FS.error() }, -}; -Module['FS_createDataFile'] = FS.createDataFile; -Module['FS_createPreloadedFile'] = FS.createPreloadedFile; - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]) }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = Runtime.GLOBAL_BASE; - -STATICTOP = STATIC_BASE + 19552; -/* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,0,0,0,0,32,65,0,0,32,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,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,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,15,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,15,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,15,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,15,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,15,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,15,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,15,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,15,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,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,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,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,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,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,0,0,128,191,20,0,0,0,255,255,255,255,255,255,255,255,0,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,95,72,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,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,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,103,101,111,109,101,116,114,105,99,32,115,104,97,112,101,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,37,50,105,32,70,80,83,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,56,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,59,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,0,99,111,108,68,105,102,102,117,115,101,0,116,101,120,116,117,114,101,48,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },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 frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - - - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - 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); }; - } - - // Extension available from Firefox 25 and WebKit - 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"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - 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 _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - 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); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var 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 { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - 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/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - 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++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },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 /* do not set timing and call scheduler, we will do it on the next lines */); - _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; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - 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; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - 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) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - 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(); // empty shim - 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); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - 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)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - 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) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - 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; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['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); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - 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) { - Module.printErr('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) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - 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 () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - 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(); - } // drop it on the floor otherwise, next interval will kick in - }, 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) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - 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); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - 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 () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['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; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function (event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function (event) { - GLFW.refreshJoysticks(); - },onKeydown:function (event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function (event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function (cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function () { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setDropCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.dropFunc = cbfun; - },onDrop:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data), { encoding: 'binary' }); - if (++written === count) { - Module['dynCall_viii'](GLFW.active.dropFunc, GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - var SYSCALLS={varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - - // Chromium does not fire the gamepadconnected event on reload, so we need to get the number of gamepads here as a workaround. - // See https://bugs.chromium.org/p/chromium/issues/detail?id=502824 - var firstState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null); - if (firstState) { - JSEvents.numGamepadsConnected = firstState.length; - } - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceMotionEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - 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 _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - // NOTE: offset_high is unused - Emscripten's off_t is 32-bit - var offset = offset_low; - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - // hack to support printf in NO_FILESYSTEM - var stream = SYSCALLS.get(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - var ret = 0; - if (!___syscall146.buffer) { - ___syscall146.buffers = [null, [], []]; // 1 => stdout, 2 => stderr - ___syscall146.printChar = function(stream, curr) { - var buffer = ___syscall146.buffers[stream]; - assert(buffer); - if (curr === 0 || curr === 10) { - (stream === 1 ? Module['print'] : Module['printErr'])(UTF8ArrayToString(buffer, 0)); - buffer.length = 0; - } else { - buffer.push(curr); - } - }; - } - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - for (var j = 0; j < len; j++) { - ___syscall146.printChar(stream, HEAPU8[ptr+j]); - } - ret += len; - } - return ret; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - - - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } -var GLctx; GL.init(); -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 self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("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) }; -JSEvents.staticInit();; -/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { var fflush = Module["_fflush"]; if (fflush) fflush(0); var printChar = ___syscall146.printChar; if (!printChar) return; var buffers = ___syscall146.buffers; if (buffers[1].length) printChar(1, 10); if (buffers[2].length) printChar(2, 10); });; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); - -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; - -staticSealed = true; // seal the static portion of memory - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { -'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_max=global.Math.max; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var enlargeMemory=env.enlargeMemory; - var getTotalMemory=env.getTotalMemory; - var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; - var abortStackOverflow=env.abortStackOverflow; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var ___syscall6=env.___syscall6; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var ___syscall146=env.___syscall146; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS - -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2]|0; - $1 = HEAP32[3]|0; - _InitWindow($0,$1,3524); - _emscripten_set_main_loop((1|0),0,1); - _CloseWindow(); - return 0; -} -function _UpdateDrawFrame() { - var $$byval_copy19 = 0, $$byval_copy20 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $$byval_copy20 = sp + 136|0; - $$byval_copy19 = sp + 120|0; - $0 = sp + 216|0; - $1 = sp + 108|0; - $2 = sp + 212|0; - $3 = sp + 96|0; - $4 = sp + 208|0; - $5 = sp + 84|0; - $6 = sp + 204|0; - $7 = sp + 72|0; - $8 = sp + 200|0; - $9 = sp + 60|0; - $10 = sp + 196|0; - $11 = sp + 48|0; - $12 = sp + 192|0; - $13 = sp + 36|0; - $14 = sp + 188|0; - $15 = sp + 24|0; - $16 = sp + 184|0; - $17 = sp + 12|0; - $18 = sp + 180|0; - $19 = sp; - $20 = sp + 176|0; - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $21 = ((($0)) + 1|0); - HEAP8[$21>>0] = -11; - $22 = ((($0)) + 2|0); - HEAP8[$22>>0] = -11; - $23 = ((($0)) + 3|0); - HEAP8[$23>>0] = -1; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy20); - dest=$$byval_copy20; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy20); - HEAPF32[$1>>2] = -4.0; - $24 = ((($1)) + 4|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($1)) + 8|0); - HEAPF32[$25>>2] = 2.0; - HEAP8[$2>>0] = -26; - $26 = ((($2)) + 1|0); - HEAP8[$26>>0] = 41; - $27 = ((($2)) + 2|0); - HEAP8[$27>>0] = 55; - $28 = ((($2)) + 3|0); - HEAP8[$28>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$2+3>>0]|0; - _DrawCube($$byval_copy19,2.0,5.0,2.0,$$byval_copy20); - HEAPF32[$3>>2] = -4.0; - $29 = ((($3)) + 4|0); - HEAPF32[$29>>2] = 0.0; - $30 = ((($3)) + 8|0); - HEAPF32[$30>>2] = 2.0; - HEAP8[$4>>0] = -1; - $31 = ((($4)) + 1|0); - HEAP8[$31>>0] = -53; - $32 = ((($4)) + 2|0); - HEAP8[$32>>0] = 0; - $33 = ((($4)) + 3|0); - HEAP8[$33>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$4+3>>0]|0; - _DrawCubeWires($$byval_copy19,2.0,5.0,2.0,$$byval_copy20); - HEAPF32[$5>>2] = -4.0; - $34 = ((($5)) + 4|0); - HEAPF32[$34>>2] = 0.0; - $35 = ((($5)) + 8|0); - HEAPF32[$35>>2] = -2.0; - HEAP8[$6>>0] = -66; - $36 = ((($6)) + 1|0); - HEAP8[$36>>0] = 33; - $37 = ((($6)) + 2|0); - HEAP8[$37>>0] = 55; - $38 = ((($6)) + 3|0); - HEAP8[$38>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$6+3>>0]|0; - _DrawCubeWires($$byval_copy19,3.0,6.0,2.0,$$byval_copy20); - HEAPF32[$7>>2] = -1.0; - $39 = ((($7)) + 4|0); - HEAPF32[$39>>2] = 0.0; - $40 = ((($7)) + 8|0); - HEAPF32[$40>>2] = -2.0; - HEAP8[$8>>0] = 0; - $41 = ((($8)) + 1|0); - HEAP8[$41>>0] = -28; - $42 = ((($8)) + 2|0); - HEAP8[$42>>0] = 48; - $43 = ((($8)) + 3|0); - HEAP8[$43>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$7+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$8+3>>0]|0; - _DrawSphere($$byval_copy19,1.0,$$byval_copy20); - HEAPF32[$9>>2] = 1.0; - $44 = ((($9)) + 4|0); - HEAPF32[$44>>2] = 0.0; - $45 = ((($9)) + 8|0); - HEAPF32[$45>>2] = 2.0; - HEAP8[$10>>0] = 0; - $46 = ((($10)) + 1|0); - HEAP8[$46>>0] = -98; - $47 = ((($10)) + 2|0); - HEAP8[$47>>0] = 47; - $48 = ((($10)) + 3|0); - HEAP8[$48>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$9+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$10+3>>0]|0; - _DrawSphereWires($$byval_copy19,2.0,16,16,$$byval_copy20); - HEAPF32[$11>>2] = 4.0; - $49 = ((($11)) + 4|0); - HEAPF32[$49>>2] = 0.0; - $50 = ((($11)) + 8|0); - HEAPF32[$50>>2] = -2.0; - HEAP8[$12>>0] = 102; - $51 = ((($12)) + 1|0); - HEAP8[$51>>0] = -65; - $52 = ((($12)) + 2|0); - HEAP8[$52>>0] = -1; - $53 = ((($12)) + 3|0); - HEAP8[$53>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$11+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$12+3>>0]|0; - _DrawCylinder($$byval_copy19,1.0,2.0,3.0,4,$$byval_copy20); - HEAPF32[$13>>2] = 4.0; - $54 = ((($13)) + 4|0); - HEAPF32[$54>>2] = 0.0; - $55 = ((($13)) + 8|0); - HEAPF32[$55>>2] = -2.0; - HEAP8[$14>>0] = 0; - $56 = ((($14)) + 1|0); - HEAP8[$56>>0] = 82; - $57 = ((($14)) + 2|0); - HEAP8[$57>>0] = -84; - $58 = ((($14)) + 3|0); - HEAP8[$58>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$13+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$14+3>>0]|0; - _DrawCylinderWires($$byval_copy19,1.0,2.0,3.0,4,$$byval_copy20); - HEAPF32[$15>>2] = 4.5; - $59 = ((($15)) + 4|0); - HEAPF32[$59>>2] = -1.0; - $60 = ((($15)) + 8|0); - HEAPF32[$60>>2] = 2.0; - HEAP8[$16>>0] = 127; - $61 = ((($16)) + 1|0); - HEAP8[$61>>0] = 106; - $62 = ((($16)) + 2|0); - HEAP8[$62>>0] = 79; - $63 = ((($16)) + 3|0); - HEAP8[$63>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$15+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$16+3>>0]|0; - _DrawCylinderWires($$byval_copy19,1.0,1.0,2.0,6,$$byval_copy20); - HEAPF32[$17>>2] = 1.0; - $64 = ((($17)) + 4|0); - HEAPF32[$64>>2] = 0.0; - $65 = ((($17)) + 8|0); - HEAPF32[$65>>2] = -4.0; - HEAP8[$18>>0] = -1; - $66 = ((($18)) + 1|0); - HEAP8[$66>>0] = -53; - $67 = ((($18)) + 2|0); - HEAP8[$67>>0] = 0; - $68 = ((($18)) + 3|0); - HEAP8[$68>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$17+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$18+3>>0]|0; - _DrawCylinder($$byval_copy19,0.0,1.5,3.0,8,$$byval_copy20); - HEAPF32[$19>>2] = 1.0; - $69 = ((($19)) + 4|0); - HEAPF32[$69>>2] = 0.0; - $70 = ((($19)) + 8|0); - HEAPF32[$70>>2] = -4.0; - HEAP8[$20>>0] = -1; - $71 = ((($20)) + 1|0); - HEAP8[$71>>0] = 109; - $72 = ((($20)) + 2|0); - HEAP8[$72>>0] = -62; - $73 = ((($20)) + 3|0); - HEAP8[$73>>0] = -1; - ;HEAP32[$$byval_copy19>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy19+8>>2]=HEAP32[$19+8>>2]|0; - ;HEAP8[$$byval_copy20>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$20+3>>0]|0; - _DrawCylinderWires($$byval_copy19,0.0,1.5,3.0,8,$$byval_copy20); - _DrawGrid(10,1.0); - _End3dMode(); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[13808>>0]=HEAP8[3567>>0]|0;HEAP8[13808+1>>0]=HEAP8[3567+1>>0]|0;HEAP8[13808+2>>0]=HEAP8[3567+2>>0]|0;HEAP8[13808+3>>0]=HEAP8[3567+3>>0]|0;HEAP8[13808+4>>0]=HEAP8[3567+4>>0]|0;HEAP8[13808+5>>0]=HEAP8[3567+5>>0]|0;HEAP8[13808+6>>0]=HEAP8[3567+6>>0]|0; - break; - } - case 2: { - $3 = 13808; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 1: { - dest=13808; src=3574; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 13808; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(13808,$1)|0); - $strlen = (_strlen(13808)|0); - $endptr = (13808 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(13808,$2)|0); - $12 = ($0|0)==(2); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(14104)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (56 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[14080>>2]=HEAP32[$1>>2]|0;HEAP32[14080+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14080+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14080+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14080+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(14104)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(14108)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(14100)>>2] = $23; - $24 = HEAP32[3520]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3584,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(14084)>>2]|0; - $10 = HEAP32[(14104)>>2]|0; - $11 = HEAP32[(14108)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2104 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(14100)>>2] = $23; - $24 = HEAP32[3520]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3584,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(9); - $6 = ($1|0)<(9); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(1,4010,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $10; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(3,3629,$vararg_buffer); - HEAP32[$0>>2] = $11; - $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; - $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; - $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; - STACKTOP = sp;return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } - _free($1); - return; -} -function _rlLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[3528]|0; - $7 = ($6|0)==(0); - $$off = (($3) + -9)|0; - $8 = ($$off>>>0)<(4); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(1,3679,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[3529]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(13); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(1,3723,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[3530]|0; - $13 = ($12|0)==(0); - $14 = $3 | 1; - $15 = ($14|0)==(15); - $or$cond97 = $15 & $13; - if ($or$cond97) { - _TraceLog(1,3768,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $16 = HEAP32[3531]|0; - $17 = ($16|0)==(0); - $18 = ($14|0)==(17); - $or$cond99 = $18 & $17; - if ($or$cond99) { - _TraceLog(1,3813,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $19 = HEAP32[3532]|0; - $20 = ($19|0)==(0); - $21 = ($14|0)==(19); - $or$cond101 = $21 & $20; - if ($or$cond101) { - _TraceLog(1,3858,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $22 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($22|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $23 = HEAP32[3533]|0; - $24 = ($23|0)==(0); - if (!($24)) { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); - } - break; - } - case 9: { - $25 = HEAP32[3528]|0; - $26 = ($25|0)==(0); - if (!($26)) { - _LoadTextureCompressed($0,$1,$2,33776,$4); - } - break; - } - case 10: { - $27 = HEAP32[3528]|0; - $28 = ($27|0)==(0); - if (!($28)) { - _LoadTextureCompressed($0,$1,$2,33777,$4); - } - break; - } - case 11: { - $29 = HEAP32[3528]|0; - $30 = ($29|0)==(0); - if (!($30)) { - _LoadTextureCompressed($0,$1,$2,33778,$4); - } - break; - } - case 12: { - $31 = HEAP32[3528]|0; - $32 = ($31|0)==(0); - if (!($32)) { - _LoadTextureCompressed($0,$1,$2,33779,$4); - } - break; - } - case 13: { - $33 = HEAP32[3529]|0; - $34 = ($33|0)==(0); - if (!($34)) { - _LoadTextureCompressed($0,$1,$2,36196,$4); - } - break; - } - case 14: { - $35 = HEAP32[3530]|0; - $36 = ($35|0)==(0); - if (!($36)) { - _LoadTextureCompressed($0,$1,$2,37492,$4); - } - break; - } - case 15: { - $37 = HEAP32[3530]|0; - $38 = ($37|0)==(0); - if (!($38)) { - _LoadTextureCompressed($0,$1,$2,37496,$4); - } - break; - } - case 16: { - $39 = HEAP32[3531]|0; - $40 = ($39|0)==(0); - if (!($40)) { - _LoadTextureCompressed($0,$1,$2,35840,$4); - } - break; - } - case 17: { - $41 = HEAP32[3531]|0; - $42 = ($41|0)==(0); - if (!($42)) { - _LoadTextureCompressed($0,$1,$2,35842,$4); - } - break; - } - case 18: { - $43 = HEAP32[3532]|0; - $44 = ($43|0)==(0); - if (!($44)) { - _LoadTextureCompressed($0,$1,$2,37808,$4); - } - break; - } - case 19: { - $45 = HEAP32[3532]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _LoadTextureCompressed($0,$1,$2,37815,$4); - } - break; - } - default: { - _TraceLog(1,3903,$vararg_buffer9); - } - } - } while(0); - $47 = HEAP32[3534]|0; - $48 = ($47|0)==(0); - if ($48) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $49 = HEAP32[$5>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(1,3981,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $49; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,3932,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadTextureCompressed($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($3|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($4|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($3|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($4|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(1,4064,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[14080>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14080+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14080+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14080+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14080+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(14108)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,4110,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[14080>>2]|0;HEAP32[$0+4>>2]=HEAP32[14080+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14080+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14080+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14080+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14080+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14080+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14080+28>>2]|0; - return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($23<<24>>24) { - case 10: { - $25 = HEAP32[$9>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = (($26) + ($25))|0; - $28 = (+($27|0)); - $29 = $12 * $28; - $30 = (~~(($29))); - $31 = (($30) + ($$05153))|0; - $$150 = 0;$$152 = $31;$$2 = $$055; - break; - } - case -62: { - $32 = (($$055) + 1)|0; - $33 = (($1) + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $$1 = $32;$$sink = $35; - label = 8; - break; - } - case -61: { - $36 = (($$055) + 1)|0; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($39) + 64)|0; - $$1 = $36;$$sink = $40; - label = 8; - break; - } - default: { - $$1 = $$055;$$sink = $24; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[3584]|0; - $2 = HEAP32[3582]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - $10 = (($2) + 1)|0; - if ($9) { - HEAP32[3582] = $10; - $12 = $10; - } else { - $$pr = HEAP32[3582]|0; - $12 = $$pr; - } - $11 = ($12|0)>(255); - if ($11) { - _rlglDraw(); - HEAP32[3582] = 1; - } - $13 = HEAP32[3584]|0; - $14 = HEAP32[3582]|0; - $15 = (($14) + -1)|0; - $16 = (((($13) + (($15*144)|0)|0)) + 8|0); - HEAP32[$16>>2] = $0; - $17 = (($13) + (($15*144)|0)|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[3770]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(2,4239,$vararg_buffer); - } - $2 = HEAP32[3770]|0; - $3 = (15084 + ($2<<6)|0); - $4 = HEAP32[4027]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[3770]|0; - $6 = (($5) + 1)|0; - HEAP32[3770] = $6; - $7 = HEAP32[4032]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[4028] = 1; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - $5 = HEAP32[4027]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _Vector3Normalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[4027]|0; - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4031] = $0; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[4031]|0; - switch ($4|0) { - case 1: { - $$sink37 = (14348);$$sink38 = (14360); - break; - } - case 4: { - $$sink37 = (14396);$$sink38 = (14408); - break; - } - case 7: { - $$sink37 = (14156);$$sink38 = (14168); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[4031]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(14164)>>2]|0; - $5 = HEAP32[(14152)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(14152)>>2] = $10; - return; -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[750]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[4028]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4029]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[4030]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4027]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Vector3Transform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[4029]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[4028] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[4030]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[4029]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[4028] = 0; - } - HEAP32[4029] = 0; - } - $21 = HEAP32[4031]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[3585]|0; - $23 = HEAP32[(14348)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(14360)>>2]|0; - $28 = HEAP32[(14348)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(14360)>>2]|0; - $35 = HEAP32[(14348)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(14360)>>2]|0; - $43 = HEAP32[(14348)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(14360)>>2]|0; - $51 = HEAP32[(14348)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(14348)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(14348)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[3597]|0; - $62 = HEAP32[(14396)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(14408)>>2]|0; - $67 = HEAP32[(14396)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(14408)>>2]|0; - $74 = HEAP32[(14396)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(14408)>>2]|0; - $82 = HEAP32[(14396)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(14408)>>2]|0; - $90 = HEAP32[(14396)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(14396)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(14396)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[3537]|0; - $101 = HEAP32[(14156)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(14168)>>2]|0; - $106 = HEAP32[(14156)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(14168)>>2]|0; - $113 = HEAP32[(14156)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(14168)>>2]|0; - $121 = HEAP32[(14156)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(14168)>>2]|0; - $129 = HEAP32[(14156)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(14156)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(14156)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[3537]|0; - $140 = HEAP32[(14152)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(14164)>>2]|0; - $$promoted = HEAP32[(14152)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(14152)>>2] = $147; - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - } -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3770]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[3770]|0; - $3 = (($2) + -1)|0; - $4 = (15084 + ($3<<6)|0); - $5 = HEAP32[4027]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[3770] = $6; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3537]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateBuffersDefault(); - _DrawBuffersDefault(); - return; -} -function _UpdateBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3585]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[3642]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[3643]|0; - $5 = HEAP32[(14368)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(14372)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[3585]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(14352)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(14376)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(14348)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(14360)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[3597]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[3642]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[3643]|0; - $19 = HEAP32[(14416)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(14420)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[3597]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(14400)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(14424)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(14396)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(14408)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[3537]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[3642]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[3643]|0; - $33 = HEAP32[(14176)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(14180)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[3537]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(14160)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(14184)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[3537]|0; - $40 = $39 << 3; - $41 = HEAP32[(14164)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(14188)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[3537]|0; - $44 = $43 << 2; - $45 = HEAP32[(14168)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[3642]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[3643]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawBuffersDefault() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=14196; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=14260; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[3581]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[3585]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[3597]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[3537]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[3609]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=14260; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=14196; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(14464)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(14484)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(14496)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[3585]|0; - $20 = ($19|0)>(0); - if ($20) { - _glActiveTexture(33984); - $21 = HEAP32[3583]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[3642]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(14372)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(14440)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(14440)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(14376)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(14460)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(14460)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[3643]|0; - $25 = HEAP32[(14368)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[3585]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[3642]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[3597]|0; - $36 = ($35|0)>(0); - if ($36) { - _glActiveTexture(33984); - $37 = HEAP32[3583]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[3642]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(14420)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(14440)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(14440)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(14424)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(14460)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(14460)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[3643]|0; - $41 = HEAP32[(14416)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[3597]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[3642]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[3537]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[3642]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(14180)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(14440)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(14440)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(14184)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(14444)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(14444)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(14188)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(14460)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(14460)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(14192)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[3643]|0; - $56 = HEAP32[(14176)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[3582]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[3584]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - _glActiveTexture(33984); - $76 = HEAP32[3584]|0; - $77 = (((($76) + (($$031*144)|0)|0)) + 8|0); - $78 = HEAP32[$77>>2]|0; - _glBindTexture(3553,($78|0)); - $79 = $$02830 << 1; - $80 = $79; - _glDrawElements(4,($75|0),5123,($80|0)); - $81 = HEAP32[3584]|0; - $82 = (($81) + (($$031*144)|0)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83|0) / 4)&-1; - $85 = ($84*6)|0; - $86 = (($85) + ($$02830))|0; - $87 = (($$031) + 1)|0; - $88 = HEAP32[3582]|0; - $89 = ($87|0)<($88|0); - if ($89) { - $$02830 = $86;$$031 = $87; - } else { - break; - } - } - } - $69 = HEAP32[3642]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $90 = HEAP32[3642]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = HEAP32[3643]|0; - FUNCTION_TABLE_vi[$92 & 31](0); - } - _glUseProgram(0); - $93 = (($$02932) + 1)|0; - $94 = ($93|0)<($$|0); - if ($94) { - $$02932 = $93; - } else { - break; - } - } - HEAP32[3582] = 1; - $5 = HEAP32[3583]|0; - $6 = HEAP32[3584]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[3585] = 0; - HEAP32[(14348)>>2] = 0; - HEAP32[3597] = 0; - HEAP32[(14396)>>2] = 0; - HEAP32[3537] = 0; - HEAP32[(14152)>>2] = 0; - HEAP32[(14156)>>2] = 0; - HEAPF32[750] = -1.0; - dest=14196; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=14260; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[3660]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[3661]|0; - _rlViewport($7,0,$8,$9); - $10 = (14952 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (14824 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 * $4; - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($1)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($2)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($1)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($2)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($2)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($2)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($2)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($2)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($2)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($2)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($2)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($2)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($2)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($2)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($2)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($2)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($1)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($1)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($1)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($1)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($1)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($1)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($1)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($1)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($1)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($1)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($1)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($1)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixToFloat($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[3644] = $1; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(14580)>>2] = $3; - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(14584)>>2] = $5; - $6 = ((($0)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(14588)>>2] = $7; - $8 = ((($0)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(14592)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(14596)>>2] = $11; - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(14600)>>2] = $13; - $14 = ((($0)) + 52|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(14604)>>2] = $15; - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(14608)>>2] = $17; - $18 = ((($0)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(14612)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(14616)>>2] = $21; - $22 = ((($0)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(14620)>>2] = $23; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(14624)>>2] = $25; - $26 = ((($0)) + 28|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(14628)>>2] = $27; - $28 = ((($0)) + 44|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(14632)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(14636)>>2] = $31; - return (14576|0); -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=14260; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=14196; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Vector3Transform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = HEAP32[4028]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[4030]|0; - $6 = HEAP32[4029]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[4029] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[4031]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[3585]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(14352)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[3585] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(2,4160,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[3597]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(14400)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[3597] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(2,4185,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[3537]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(14160)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[3537] = $41; - $42 = HEAP32[3584]|0; - $43 = HEAP32[3582]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(2,4214,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _Vector3Normalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_Vector3Length($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _Vector3Length($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = 0.0; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = 0.0; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = 0.0; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $2; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = 0.0; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = 0.0; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = 0.0; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = 0.0; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = 0.0; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[4027]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _FormatText($0,$varargs) { - $0 = $0|0; - $varargs = $varargs|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $varargs; - (_vsprintf(17168,$0,$1)|0); - STACKTOP = sp;return (17168|0); -} -function _DrawFPS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - $2 = sp + 4|0; - $3 = HEAP32[4033]|0; - $4 = HEAP32[751]|0; - $5 = ($3|0)<($4|0); - if ($5) { - $6 = (($3) + 1)|0; - $$sink = $6; - } else { - $7 = (_GetFPS()|0); - HEAP32[4034] = $7; - HEAP32[751] = $7; - $$sink = 0; - } - HEAP32[4033] = $$sink; - $8 = HEAP32[4034]|0; - HEAP32[$$byval_copy>>2] = $8; - (_FormatText(4277,$$byval_copy)|0); - HEAP8[$2>>0] = 0; - $9 = ((($2)) + 1|0); - HEAP8[$9>>0] = -98; - $10 = ((($2)) + 2|0); - HEAP8[$10>>0] = 47; - $11 = ((($2)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(17168,$0,$1,20,$$byval_copy); - STACKTOP = sp;return; -} -function _GetFPS() { - var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_GetFrameTime()); - $1 = 1.0 / $0; - $2 = (~~(($1))); - return ($2|0); -} -function _GetFrameTime() { - var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF64[1742]; - $1 = $0; - return (+$1); -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _DrawCube($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlBegin(4); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = $1 * 0.5; - $18 = 0.0 - $17; - $19 = $2 * 0.5; - $20 = 0.0 - $19; - $21 = $3 * 0.5; - $22 = $21 + 0.0; - _rlVertex3f($18,$20,$22); - $23 = $17 + 0.0; - _rlVertex3f($23,$20,$22); - $24 = $19 + 0.0; - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$20,$22); - $25 = 0.0 - $21; - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($18,$20,$22); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$20,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$20,$25); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawCubeWires($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlBegin(1); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = $1 * 0.5; - $18 = 0.0 - $17; - $19 = $2 * 0.5; - $20 = 0.0 - $19; - $21 = $3 * 0.5; - $22 = $21 + 0.0; - _rlVertex3f($18,$20,$22); - $23 = $17 + 0.0; - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$22); - $24 = $19 + 0.0; - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$20,$22); - $25 = 0.0 - $21; - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$20,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$25); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawSphere($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy1 = sp + 12|0; - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP8[$$byval_copy1>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$2+3>>0]|0; - _DrawSphereEx($$byval_copy,$1,16,16,$$byval_copy1); - STACKTOP = sp;return; -} -function _DrawSphereEx($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$07173 = 0, $$072 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond76 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlScalef($1,$1,$1); - _rlBegin(4); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = ($2|0)>(-2); - if (!($17)) { - _rlEnd(); - _rlPopMatrix(); - return; - } - $18 = ($3|0)>(0); - $19 = (($2) + 1)|0; - $20 = (($2) + 1)|0; - $$07173 = 0; - while(1) { - if ($18) { - $21 = (($$07173) + 1)|0; - $$072 = 0; - while(1) { - $23 = (180 / ($19|0))&-1; - $24 = Math_imul($23, $$07173)|0; - $25 = (($24) + 270)|0; - $26 = (+($25|0)); - $27 = $26 * 0.01745329238474369; - $28 = (+Math_cos((+$27))); - $29 = ($$072*360)|0; - $30 = (($29|0) / ($3|0))&-1; - $31 = (+($30|0)); - $32 = $31 * 0.01745329238474369; - $33 = (+Math_sin((+$32))); - $34 = $28 * $33; - $35 = (+Math_sin((+$27))); - $36 = (+Math_cos((+$32))); - $37 = $28 * $36; - _rlVertex3f($34,$35,$37); - $38 = Math_imul($23, $21)|0; - $39 = (($38) + 270)|0; - $40 = (+($39|0)); - $41 = $40 * 0.01745329238474369; - $42 = (+Math_cos((+$41))); - $43 = (($$072) + 1)|0; - $44 = ($43*360)|0; - $45 = (($44|0) / ($3|0))&-1; - $46 = (+($45|0)); - $47 = $46 * 0.01745329238474369; - $48 = (+Math_sin((+$47))); - $49 = $42 * $48; - $50 = (+Math_sin((+$41))); - $51 = (+Math_cos((+$47))); - $52 = $42 * $51; - _rlVertex3f($49,$50,$52); - $53 = $33 * $42; - $54 = $36 * $42; - _rlVertex3f($53,$50,$54); - _rlVertex3f($34,$35,$37); - $55 = $28 * $48; - $56 = $28 * $51; - _rlVertex3f($55,$35,$56); - _rlVertex3f($49,$50,$52); - $exitcond = ($43|0)==($3|0); - if ($exitcond) { - break; - } else { - $$072 = $43; - } - } - } - $22 = (($$07173) + 1)|0; - $exitcond76 = ($$07173|0)==($20|0); - if ($exitcond76) { - break; - } else { - $$07173 = $22; - } - } - _rlEnd(); - _rlPopMatrix(); - return; -} -function _rlScalef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixScale($3,$0,$1,$2); - $5 = HEAP32[4027]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _DrawSphereWires($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$07173 = 0, $$072 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond76 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlScalef($1,$1,$1); - _rlBegin(1); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = ($2|0)>(-2); - if (!($17)) { - _rlEnd(); - _rlPopMatrix(); - return; - } - $18 = ($3|0)>(0); - $19 = (($2) + 1)|0; - $20 = (($2) + 1)|0; - $$07173 = 0; - while(1) { - if ($18) { - $21 = (($$07173) + 1)|0; - $$072 = 0; - while(1) { - $23 = (180 / ($19|0))&-1; - $24 = Math_imul($23, $$07173)|0; - $25 = (($24) + 270)|0; - $26 = (+($25|0)); - $27 = $26 * 0.01745329238474369; - $28 = (+Math_cos((+$27))); - $29 = ($$072*360)|0; - $30 = (($29|0) / ($3|0))&-1; - $31 = (+($30|0)); - $32 = $31 * 0.01745329238474369; - $33 = (+Math_sin((+$32))); - $34 = $28 * $33; - $35 = (+Math_sin((+$27))); - $36 = (+Math_cos((+$32))); - $37 = $28 * $36; - _rlVertex3f($34,$35,$37); - $38 = Math_imul($23, $21)|0; - $39 = (($38) + 270)|0; - $40 = (+($39|0)); - $41 = $40 * 0.01745329238474369; - $42 = (+Math_cos((+$41))); - $43 = (($$072) + 1)|0; - $44 = ($43*360)|0; - $45 = (($44|0) / ($3|0))&-1; - $46 = (+($45|0)); - $47 = $46 * 0.01745329238474369; - $48 = (+Math_sin((+$47))); - $49 = $42 * $48; - $50 = (+Math_sin((+$41))); - $51 = (+Math_cos((+$47))); - $52 = $42 * $51; - _rlVertex3f($49,$50,$52); - _rlVertex3f($49,$50,$52); - $53 = $33 * $42; - $54 = $36 * $42; - _rlVertex3f($53,$50,$54); - _rlVertex3f($53,$50,$54); - _rlVertex3f($34,$35,$37); - $exitcond = ($43|0)==($3|0); - if ($exitcond) { - break; - } else { - $$072 = $43; - } - } - } - $22 = (($$07173) + 1)|0; - $exitcond76 = ($$07173|0)==($20|0); - if ($exitcond76) { - break; - } else { - $$07173 = $22; - } - } - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawCylinder($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$08797 = 0, $$08895 = 0, $$08996 = 0, $$094 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0; - var $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0; - var $82 = 0.0, $83 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4|0)>(3); - $$ = $6 ? $4 : 3; - _rlPushMatrix(); - $7 = +HEAPF32[$0>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 8|0); - $11 = +HEAPF32[$10>>2]; - _rlTranslatef($7,$9,$11); - _rlBegin(4); - $12 = HEAP8[$5>>0]|0; - $13 = ((($5)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($5)) + 2|0); - $16 = HEAP8[$15>>0]|0; - $17 = ((($5)) + 3|0); - $18 = HEAP8[$17>>0]|0; - _rlColor4ub($12,$14,$16,$18); - $19 = $1 > 0.0; - if ($19) { - $$08996 = 0; - while(1) { - $20 = (+($$08996|0)); - $21 = $20 * 0.01745329238474369; - $22 = (+Math_sin((+$21))); - $23 = $22 * $2; - $24 = (+Math_cos((+$21))); - $25 = $24 * $2; - _rlVertex3f($23,0.0,$25); - $26 = (360 / ($$>>>0))&-1; - $27 = (($26) + ($$08996))|0; - $28 = (+($27|0)); - $29 = $28 * 0.01745329238474369; - $30 = (+Math_sin((+$29))); - $31 = $30 * $2; - $32 = (+Math_cos((+$29))); - $33 = $32 * $2; - _rlVertex3f($31,0.0,$33); - $34 = $30 * $1; - $35 = $32 * $1; - _rlVertex3f($34,$3,$35); - $36 = $22 * $1; - $37 = $24 * $1; - _rlVertex3f($36,$3,$37); - _rlVertex3f($23,0.0,$25); - _rlVertex3f($34,$3,$35); - $38 = ($27|0)<(360); - if ($38) { - $$08996 = $27; - } else { - $$08895 = 0; - break; - } - } - while(1) { - _rlVertex3f(0.0,$3,0.0); - $39 = (+($$08895|0)); - $40 = $39 * 0.01745329238474369; - $41 = (+Math_sin((+$40))); - $42 = $41 * $1; - $43 = (+Math_cos((+$40))); - $44 = $43 * $1; - _rlVertex3f($42,$3,$44); - $45 = (360 / ($$>>>0))&-1; - $46 = (($45) + ($$08895))|0; - $47 = (+($46|0)); - $48 = $47 * 0.01745329238474369; - $49 = (+Math_sin((+$48))); - $50 = $49 * $1; - $51 = (+Math_cos((+$48))); - $52 = $51 * $1; - _rlVertex3f($50,$3,$52); - $53 = ($46|0)<(360); - if ($53) { - $$08895 = $46; - } else { - $$094 = 0; - break; - } - } - } else { - $$08797 = 0; - while(1) { - _rlVertex3f(0.0,$3,0.0); - $54 = (+($$08797|0)); - $55 = $54 * 0.01745329238474369; - $56 = (+Math_sin((+$55))); - $57 = $56 * $2; - $58 = (+Math_cos((+$55))); - $59 = $58 * $2; - _rlVertex3f($57,0.0,$59); - $60 = (360 / ($$>>>0))&-1; - $61 = (($60) + ($$08797))|0; - $62 = (+($61|0)); - $63 = $62 * 0.01745329238474369; - $64 = (+Math_sin((+$63))); - $65 = $64 * $2; - $66 = (+Math_cos((+$63))); - $67 = $66 * $2; - _rlVertex3f($65,0.0,$67); - $68 = ($61|0)<(360); - if ($68) { - $$08797 = $61; - } else { - $$094 = 0; - break; - } - } - } - while(1) { - _rlVertex3f(0.0,0.0,0.0); - $69 = (360 / ($$>>>0))&-1; - $70 = (($69) + ($$094))|0; - $71 = (+($70|0)); - $72 = $71 * 0.01745329238474369; - $73 = (+Math_sin((+$72))); - $74 = $73 * $2; - $75 = (+Math_cos((+$72))); - $76 = $75 * $2; - _rlVertex3f($74,0.0,$76); - $77 = (+($$094|0)); - $78 = $77 * 0.01745329238474369; - $79 = (+Math_sin((+$78))); - $80 = $79 * $2; - $81 = (+Math_cos((+$78))); - $82 = $81 * $2; - _rlVertex3f($80,0.0,$82); - $83 = ($70|0)<(360); - if ($83) { - $$094 = $70; - } else { - break; - } - } - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawCylinderWires($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$048 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0.0; - var $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4|0)>(3); - $$ = $6 ? $4 : 3; - _rlPushMatrix(); - $7 = +HEAPF32[$0>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 8|0); - $11 = +HEAPF32[$10>>2]; - _rlTranslatef($7,$9,$11); - _rlBegin(1); - $12 = HEAP8[$5>>0]|0; - $13 = ((($5)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($5)) + 2|0); - $16 = HEAP8[$15>>0]|0; - $17 = ((($5)) + 3|0); - $18 = HEAP8[$17>>0]|0; - _rlColor4ub($12,$14,$16,$18); - $$048 = 0; - while(1) { - $19 = (+($$048|0)); - $20 = $19 * 0.01745329238474369; - $21 = (+Math_sin((+$20))); - $22 = $21 * $2; - $23 = (+Math_cos((+$20))); - $24 = $23 * $2; - _rlVertex3f($22,0.0,$24); - $25 = (360 / ($$>>>0))&-1; - $26 = (($25) + ($$048))|0; - $27 = (+($26|0)); - $28 = $27 * 0.01745329238474369; - $29 = (+Math_sin((+$28))); - $30 = $29 * $2; - $31 = (+Math_cos((+$28))); - $32 = $31 * $2; - _rlVertex3f($30,0.0,$32); - _rlVertex3f($30,0.0,$32); - $33 = $29 * $1; - $34 = $31 * $1; - _rlVertex3f($33,$3,$34); - _rlVertex3f($33,$3,$34); - $35 = $21 * $1; - $36 = $23 * $1; - _rlVertex3f($35,$3,$36); - _rlVertex3f($35,$3,$36); - _rlVertex3f($22,0.0,$24); - $37 = ($26|0)<(360); - if ($37) { - $$048 = $26; - } else { - break; - } - } - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawGrid($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0|0) / 2)&-1; - _rlBegin(1); - $3 = (0 - ($2))|0; - $4 = ($2|0)<($3|0); - if ($4) { - _rlEnd(); - return; - } - $5 = (+($3|0)); - $6 = $5 * $1; - $7 = (+($2|0)); - $8 = $7 * $1; - $$024 = $3; - while(1) { - $9 = ($$024|0)==(0); - if ($9) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $10 = (+($$024|0)); - $11 = $10 * $1; - _rlVertex3f($11,0.0,$6); - _rlVertex3f($11,0.0,$8); - _rlVertex3f($6,0.0,$11); - _rlVertex3f($8,0.0,$11); - $12 = (($$024) + 1)|0; - $13 = ($$024|0)<($2|0); - if ($13) { - $$024 = $12; - } else { - break; - } - } - _rlEnd(); - return; -} -function _rlColor3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $0 * 255.0; - $4 = (~~(($3))&255); - $5 = $1 * 255.0; - $6 = (~~(($5))&255); - $7 = $2 * 255.0; - $8 = (~~(($7))&255); - _rlColor4ub($4,$6,$8,-1); - return; -} -function _Vector3Subtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - HEAPF32[$12>>2] = $17; - return; -} -function _Vector3CrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 116|0; - $$byval_copy4 = sp + 104|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($6,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($6); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($7,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($7); - $8 = HEAP32[$6>>2]|0; - HEAP32[$4>>2] = $8; - $9 = ((($6)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($4)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($4)) + 32|0); - HEAP32[$14>>2] = $13; - $15 = ((($4)) + 48|0); - HEAPF32[$15>>2] = 0.0; - $16 = HEAP32[$7>>2]|0; - $17 = ((($4)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = ((($7)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($4)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ((($7)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($4)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = ((($4)) + 52|0); - HEAPF32[$24>>2] = 0.0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($4)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = ((($5)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($4)) + 24|0); - HEAP32[$29>>2] = $28; - $30 = ((($5)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = $31; - $33 = ((($4)) + 56|0); - HEAPF32[$33>>2] = 0.0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($4)) + 12|0); - HEAP32[$35>>2] = $34; - $36 = ((($1)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($4)) + 28|0); - HEAP32[$38>>2] = $37; - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($4)) + 44|0); - HEAP32[$41>>2] = $40; - $42 = ((($4)) + 60|0); - HEAPF32[$42>>2] = 1.0; - _MatrixInvert($4); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = $4 * $4; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = $10 * $10; - $12 = $5 + $11; - $13 = (+Math_sqrt((+$12))); - return (+$13); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _Vector3Zero($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 0.0; - $1 = ((($0)) + 4|0); - HEAPF32[$1>>2] = 0.0; - $2 = ((($0)) + 8|0); - HEAPF32[$2>>2] = 0.0; - return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[4071] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 13944; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 13984; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3496]; - $111 = +HEAPF32[3486]; - $112 = $110 - $111; - HEAPF32[3498] = $112; - $113 = +HEAPF32[(13988)>>2]; - $114 = +HEAPF32[(13948)>>2]; - $115 = $113 - $114; - HEAPF32[(13996)>>2] = $115; - HEAP32[4070] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13976>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13976+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14000+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4076] = $116; - $117 = 13976; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 13944; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 14000; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 13984; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 13976; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 14000; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3500]; - $160 = +HEAPF32[3494]; - $161 = $159 - $160; - HEAPF32[3498] = $161; - $162 = +HEAPF32[(14004)>>2]; - $163 = +HEAPF32[(13980)>>2]; - $164 = $162 - $163; - HEAPF32[(13996)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13944>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13944+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13976>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13976+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13984>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13984+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14000+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13976>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13976+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14000+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4076]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[4070] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13976>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13976+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14000+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[4077] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[4076] = 0.0; - HEAPF32[4077] = 0.0; - HEAPF32[3498] = 0.0; - HEAPF32[(13996)>>2] = 0.0; - HEAP32[4071] = 0; - HEAP32[4070] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[4072]|0; - $7 = (($6) + 1)|0; - HEAP32[4072] = $7; - $8 = HEAP32[4070]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13944>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13944+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[4070] = 2; - HEAP32[4072] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[4072] = 1; - HEAP32[4070] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 13944; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 13952; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 13960; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[752] = $34; - HEAPF32[3492] = 0.0; - HEAPF32[(13972)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[4070]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 13960; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13944>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13944+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13960>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13960+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[4073] = $49; - HEAP32[4074] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[752]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13944>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13944+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13960>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13960+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[4075] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[4073] = 0.0; - HEAPF32[4075] = 0.0; - $$sink10 = 0; - } - HEAP32[4070] = $$sink10; - HEAPF32[3488] = 0.0; - HEAPF32[(13956)>>2] = 0.0; - HEAP32[4071] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[4074]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[4074] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 13976; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[4070]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13944>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13944+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13976>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13976+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[4070] = 8; - } - } - $82 = +HEAPF32[3494]; - $83 = +HEAPF32[3488]; - $84 = $82 - $83; - HEAPF32[3492] = $84; - $85 = +HEAPF32[(13980)>>2]; - $86 = +HEAPF32[(13956)>>2]; - $87 = $85 - $86; - HEAPF32[(13972)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4070]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[4071]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[4070] = 4; - } - $4 = HEAP32[4070]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[4070] = 0; - return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 14008; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _TraceLog(0,4285,$vararg_buffer); - HEAP32[4081] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4314|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4314|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4314|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4314|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4314|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4314|0),(0|0),1,(7|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4082]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[3502] = $5; - $6 = HEAP32[4083]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(14012)>>2] = $8; - $9 = HEAP32[4084]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[4082] = $0; - HEAP32[4083] = $1; - _MatrixIdentity($2); - dest=16356; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((1|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,4509,$vararg_buffer); - } - $6 = HEAP32[4082]|0; - HEAP32[4105] = $6; - $7 = HEAP32[4083]|0; - HEAP32[4106] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[17232]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[17232]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[17232]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,4535,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[4107]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[4082]|0; - $48 = HEAP32[4083]|0; - $49 = HEAP32[4081]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4079] = $50; - $51 = HEAP32[4082]|0; - HEAP32[4108] = $51; - $52 = HEAP32[4083]|0; - HEAP32[4109] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[4082]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4083]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[4105] = $31; - HEAP32[4106] = $34; - } - } while(0); - $38 = HEAP32[4105]|0; - $39 = HEAP32[4106]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(1,4560,$vararg_buffer3); - $40 = HEAP32[4105]|0; - $41 = HEAP32[4106]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[4105]|0; - $43 = HEAP32[4106]|0; - $44 = HEAP32[4081]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4079] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(2,4598,$vararg_buffer6); - } else { - _TraceLog(0,4631,$vararg_buffer8); - $55 = HEAP32[4108]|0; - $56 = HEAP32[4109]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,4671,$vararg_buffer10); - $57 = HEAP32[4082]|0; - $58 = HEAP32[4083]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,4692,$vararg_buffer14); - $59 = HEAP32[4110]|0; - $60 = HEAP32[4111]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4713,$vararg_buffer18); - } - $61 = HEAP32[4079]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4079]|0; - (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[4079]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4079]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4079]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4079]|0; - (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[4079]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4079]|0; - (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[4079]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[17232]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[4082]|0; - $74 = HEAP32[4083]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[4108]|0; - $76 = HEAP32[4110]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[4109]|0; - $80 = HEAP32[4111]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,4738,$vararg_buffer22); - $73 = HEAP32[4082]|0; - $74 = HEAP32[4083]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[4108]|0; - $76 = HEAP32[4110]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[4109]|0; - $80 = HEAP32[4111]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[1755] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4442,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4373,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4366)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - $5 = HEAP32[4078]|0; - $6 = ($5|0)!=(0); - $or$cond = $4 & $6; - if (!($or$cond)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - HEAP32[4078] = 0; - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 14024; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (14032); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (16340 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ($0|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[1752] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4322,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4084] = 0; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4082]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4083]|0; - return ($0|0); -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(1,8294,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[4082]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[4083]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[4108] = $3; - HEAP32[4109] = $5; - HEAP32[4110] = 0; - HEAP32[4111] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8228,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[4082]|0; - $36 = (+($35|0)); - $37 = HEAP32[4083]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[4108] = $45; - HEAP32[4109] = $37; - $46 = (($45) - ($35))|0; - HEAP32[4110] = $46; - $$sink1 = 0; - } else { - HEAP32[4108] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[4109] = $42; - HEAP32[4110] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[4111] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[4083]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(1,8085,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[4082]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[4083]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[4108] = $23; - HEAP32[4109] = $1; - $24 = (($0) - ($23))|0; - HEAP32[4110] = $24; - $$sink = 0; - } else { - HEAP32[4108] = $0; - $17 = HEAP32[4083]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[4109] = $20; - HEAP32[4110] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[4111] = $$sink; - $25 = HEAP32[4108]|0; - $26 = (+($25|0)); - $27 = HEAP32[4082]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=16356; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4108] = $0; - HEAP32[4109] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(1,8163,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[4082] = $1; - HEAP32[4083] = $2; - HEAP32[4108] = $1; - HEAP32[4109] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[754]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (17239 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[753] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (17233 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 14024; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[753] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[4114] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[4113] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; - var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2528|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2396|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4761,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4779,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4797,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4815,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$063 = 0;$$sink64 = $14; - while(1) { - $15 = (_strtok($$sink64,4833)|0); - $16 = (($vararg_buffer7) + ($$063<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$063) + 1)|0; - if ($17) { - break; - } else { - $$063 = $18;$$sink64 = 0; - } - } - _free($14); - $19 = (($$063) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4835,$vararg_buffer10); - $20 = ($$063|0)>(1); - if ($20) { - $$06268 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06268<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,4870)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[3642] = 1; - $27 = (_eglGetProcAddress((4897|0))|0); - HEAP32[4068] = $27; - $28 = (_eglGetProcAddress((4918|0))|0); - HEAP32[3643] = $28; - $29 = (_eglGetProcAddress((4939|0))|0); - HEAP32[4069] = $29; - } - $30 = (_strcmp($24,4963)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[3534] = 1; - } - $32 = (_strcmp($24,4983)|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP32[3533] = 1; - } - $34 = (_strcmp($24,5001)|0); - $35 = ($34|0)==(0); - if ($35) { - label = 14; - } else { - $36 = HEAP32[$23>>2]|0; - $37 = (_strcmp($36,5033)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 14; - } else { - $39 = (_strcmp($36,5066)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 14; - } - } - } - if ((label|0) == 14) { - label = 0; - HEAP32[3528] = 1; - } - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,5106)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 17; - } else { - $44 = (_strcmp($41,5142)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - HEAP32[3529] = 1; - } - $46 = (_strcmp($41,5175)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[3530] = 1; - } - $48 = HEAP32[$23>>2]|0; - $49 = (_strcmp($48,5200)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[3531] = 1; - } - $51 = (_strcmp($48,5233)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[3532] = 1; - } - $53 = (_strcmp($48,5269)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP32[4112] = 1; - _glGetFloatv(34047,(14144|0)); - } - $55 = (_strcmp($48,5303)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[3535] = 1; - } - $57 = (($$06268) + 1)|0; - $exitcond71 = ($57|0)==($19|0); - if ($exitcond71) { - break; - } else { - $$06268 = $57; - } - } - } - $21 = HEAP32[3642]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(1,5406,$vararg_buffer15); - } else { - _TraceLog(0,5331,$vararg_buffer13); - } - $58 = HEAP32[3534]|0; - $59 = ($58|0)==(0); - if ($59) { - _TraceLog(1,5542,$vararg_buffer19); - } else { - _TraceLog(0,5467,$vararg_buffer17); - } - $60 = HEAP32[3528]|0; - $61 = ($60|0)==(0); - if (!($61)) { - _TraceLog(0,5634,$vararg_buffer21); - } - $62 = HEAP32[3529]|0; - $63 = ($62|0)==(0); - if (!($63)) { - _TraceLog(0,5680,$vararg_buffer23); - } - $64 = HEAP32[3530]|0; - $65 = ($64|0)==(0); - if (!($65)) { - _TraceLog(0,5727,$vararg_buffer25); - } - $66 = HEAP32[3531]|0; - $67 = ($66|0)==(0); - if (!($67)) { - _TraceLog(0,5778,$vararg_buffer27); - } - $68 = HEAP32[3532]|0; - $69 = ($68|0)==(0); - if (!($69)) { - _TraceLog(0,5825,$vararg_buffer29); - } - $70 = HEAP32[4112]|0; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = +HEAPF32[3536]; - $73 = $72; - HEAPF64[$vararg_buffer31>>3] = $73; - _TraceLog(0,5872,$vararg_buffer31); - } - $74 = HEAP32[3535]|0; - $75 = ($74|0)==(0); - if (!($75)) { - _TraceLog(0,5938,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $76 = (_rlLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[3583] = $76; - $77 = ($76|0)==(0); - if ($77) { - _TraceLog(1,6042,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $76; - _TraceLog(0,5991,$vararg_buffer36); - } - _LoadShaderDefault($2); - _memcpy((16140|0),($2|0),132)|0; - _memcpy((14436|0),($2|0),132)|0; - _LoadBuffersDefault(); - $78 = (_malloc(49152)|0); - HEAP32[4030] = $78; - $$06167 = 0; - while(1) { - $80 = HEAP32[4030]|0; - $81 = (($80) + (($$06167*12)|0)|0); - _Vector3Zero($3); - ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; - $82 = (($$06167) + 1)|0; - $exitcond70 = ($82|0)==(4096); - if ($exitcond70) { - break; - } else { - $$06167 = $82; - } - } - $79 = (_malloc(36864)|0); - HEAP32[3584] = $79; - $$06066 = 0; - while(1) { - $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($79) + (($$06066*144)|0)|0); - HEAP32[$84>>2] = 0; - $85 = (($$06066) + 1)|0; - $exitcond = ($85|0)==(256); - if ($exitcond) { - break; - } else { - $$06066 = $85; - } - } - HEAP32[3582] = 1; - $86 = HEAP32[3583]|0; - $87 = ((($79)) + 8|0); - HEAP32[$87>>2] = $86; - HEAP32[4031] = 4; - _MatrixIdentity($4); - dest=15084; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15148); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15212); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15276); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15340); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15404); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15468); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15532); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15596); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15660); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15724); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15788); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15852); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15916); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(15980); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(16044); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=14196; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=14260; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4027] = 14260; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[3660] = $0; - HEAP32[3661] = $1; - _TraceLog(0,6081,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4110]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4111]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4108]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[4109]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 14196; - label = 3; - break; - } - case 5888: { - $modelview$sink = 14260; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[4027] = $modelview$sink; - } - HEAP32[4032] = $0; - return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[4027]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _LoadShaderDefault($0) { - $0 = $0|0; - var $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx9 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx11 = 0, $$sroa$14 = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$1415$0 = 0, $$sroa$1415$0$$sroa_idx16 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx18 = 0, $$sroa$16 = 0, $$sroa$16$0$$sroa_idx = 0, $$sroa$1622$0 = 0, $$sroa$1622$0$$sroa_idx23 = 0, $$sroa$1727$0 = 0, $$sroa$1727$0$$sroa_idx28 = 0, $$sroa$18 = 0, $$sroa$18$0$$sroa_idx = 0, $1 = 0, $10 = 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $$sroa$14 = sp + 96|0; - $$sroa$16 = sp + 80|0; - $$sroa$18 = sp + 12|0; - $1 = sp + 549|0; - $2 = sp + 108|0; - _memcpy(($1|0),(6657|0),483)|0; - _memcpy(($2|0),(7140|0),441)|0; - $3 = (_LoadShaderProgram($1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - HEAP32[$vararg_buffer1>>2] = $3; - _TraceLog(1,7695,$vararg_buffer1); - $$sroa$12$0 = 0;$$sroa$13$0 = 0;$$sroa$1415$0 = 0;$$sroa$15$0 = 0;$$sroa$1622$0 = 0;$$sroa$1727$0 = 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,7581,$vararg_buffer); - $5 = (_glGetAttribLocation(($3|0),(7629|0))|0); - $6 = (_glGetAttribLocation(($3|0),(7644|0))|0); - $7 = (_glGetAttribLocation(($3|0),(7659|0))|0); - $8 = (_glGetUniformLocation(($3|0),(7671|0))|0); - $9 = (_glGetUniformLocation(($3|0),(7675|0))|0); - $10 = (_glGetUniformLocation(($3|0),(7686|0))|0); - $$sroa$12$0 = $5;$$sroa$13$0 = $6;$$sroa$1415$0 = $7;$$sroa$15$0 = $8;$$sroa$1622$0 = $9;$$sroa$1727$0 = $10; - } - HEAP32[$0>>2] = $3; - $$sroa$12$0$$sroa_idx9 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx9>>2] = $$sroa$12$0; - $$sroa$13$0$$sroa_idx11 = ((($0)) + 8|0); - HEAP32[$$sroa$13$0$$sroa_idx11>>2] = $$sroa$13$0; - $$sroa$14$0$$sroa_idx = ((($0)) + 12|0); - ;HEAP32[$$sroa$14$0$$sroa_idx>>2]=HEAP32[$$sroa$14>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+4>>2]=HEAP32[$$sroa$14+4>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+8>>2]=HEAP32[$$sroa$14+8>>2]|0; - $$sroa$1415$0$$sroa_idx16 = ((($0)) + 24|0); - HEAP32[$$sroa$1415$0$$sroa_idx16>>2] = $$sroa$1415$0; - $$sroa$15$0$$sroa_idx18 = ((($0)) + 28|0); - HEAP32[$$sroa$15$0$$sroa_idx18>>2] = $$sroa$15$0; - $$sroa$16$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$$sroa$16$0$$sroa_idx>>2]=HEAP32[$$sroa$16>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+4>>2]=HEAP32[$$sroa$16+4>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+8>>2]=HEAP32[$$sroa$16+8>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+12>>2]=HEAP32[$$sroa$16+12>>2]|0; - $$sroa$1622$0$$sroa_idx23 = ((($0)) + 48|0); - HEAP32[$$sroa$1622$0$$sroa_idx23>>2] = $$sroa$1622$0; - $$sroa$1727$0$$sroa_idx28 = ((($0)) + 60|0); - HEAP32[$$sroa$1727$0$$sroa_idx28>>2] = $$sroa$1727$0; - $$sroa$18$0$$sroa_idx = ((($0)) + 64|0); - dest=$$sroa$18$0$$sroa_idx; src=$$sroa$18; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadBuffersDefault() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(14352)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(14360)>>2] = $1; - HEAP32[(14356)>>2] = 0; - HEAP32[(14364)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(14360)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[3585] = 0; - HEAP32[(14348)>>2] = 0; - HEAP32[(14344)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(14400)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(14408)>>2] = $6; - HEAP32[(14404)>>2] = 0; - HEAP32[(14412)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(14408)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[3597] = 0; - HEAP32[(14396)>>2] = 0; - HEAP32[(14392)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(14160)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(14164)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(14168)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(14172)>>2] = $13; - $14 = HEAP32[(14160)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(14164)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(14168)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(14172)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[3537] = 0; - HEAP32[(14152)>>2] = 0; - HEAP32[(14156)>>2] = 0; - _TraceLog(0,6128,$vararg_buffer); - $20 = HEAP32[3642]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[4068]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(14368)); - $44 = HEAP32[3643]|0; - $45 = HEAP32[(14368)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((14372)|0)); - $46 = HEAP32[(14372)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(14352)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(14440)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(14440)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((14376)|0)); - $50 = HEAP32[(14376)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(14360)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(14460)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(14460)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[3642]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(14372)>>2]|0; - $58 = HEAP32[(14376)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6266,$vararg_buffer3); - } else { - $56 = HEAP32[(14368)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,6201,$vararg_buffer1); - } - $59 = HEAP32[3642]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[4068]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(14416)); - $62 = HEAP32[3643]|0; - $63 = HEAP32[(14416)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((14420)|0)); - $64 = HEAP32[(14420)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(14400)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(14440)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(14440)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((14424)|0)); - $68 = HEAP32[(14424)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(14408)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(14460)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(14460)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[3642]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(14420)>>2]|0; - $76 = HEAP32[(14424)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6412,$vararg_buffer10); - } else { - $74 = HEAP32[(14416)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6343,$vararg_buffer7); - } - $77 = HEAP32[3642]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[4068]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(14176)); - $80 = HEAP32[3643]|0; - $81 = HEAP32[(14176)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((14180)|0)); - $82 = HEAP32[(14180)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(14160)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(14440)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(14440)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((14184)|0)); - $86 = HEAP32[(14184)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(14164)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(14444)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(14444)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((14188)|0)); - $90 = HEAP32[(14188)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(14168)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(14460)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(14460)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((14192)|0)); - $94 = HEAP32[(14192)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(14172)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[3642]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(14180)>>2]|0; - $100 = HEAP32[(14184)>>2]|0; - $101 = HEAP32[(14188)>>2]|0; - $102 = HEAP32[(14192)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6558,$vararg_buffer17); - } else { - $98 = HEAP32[(14176)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6493,$vararg_buffer14); - } - $103 = HEAP32[3642]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[3643]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7795,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(1,7743,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,7792,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7896,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(1,7845,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,7792,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(7629|0)); - _glBindAttribLocation(($20|0),1,(7644|0)); - _glBindAttribLocation(($20|0),2,(7948|0)); - _glBindAttribLocation(($20|0),3,(7659|0)); - _glBindAttribLocation(($20|0),4,(7961|0)); - _glBindAttribLocation(($20|0),5,(7975|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(1,7991,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,7792,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,8037,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (17233 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (17236 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (17233 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (17236 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[4079]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,8332,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadShaderDefault(); - _UnloadBuffersDefault(); - _glDeleteTextures(1,(14332|0)); - $0 = HEAP32[3583]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8359,$vararg_buffer); - $1 = HEAP32[3584]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadShaderDefault() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[4035]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3642]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[3643]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((14372)|0)); - _glDeleteBuffers(1,((14376)|0)); - _glDeleteBuffers(1,((14420)|0)); - _glDeleteBuffers(1,((14424)|0)); - _glDeleteBuffers(1,((14180)|0)); - _glDeleteBuffers(1,((14184)|0)); - _glDeleteBuffers(1,((14188)|0)); - _glDeleteBuffers(1,((14192)|0)); - $3 = HEAP32[3642]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[4069]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(14368)); - $6 = HEAP32[4069]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(14416)); - $7 = HEAP32[4069]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(14176)); - } - $8 = HEAP32[(14352)>>2]|0; - _free($8); - $9 = HEAP32[(14360)>>2]|0; - _free($9); - $10 = HEAP32[(14400)>>2]|0; - _free($10); - $11 = HEAP32[(14408)>>2]|0; - _free($11); - $12 = HEAP32[(14160)>>2]|0; - _free($12); - $13 = HEAP32[(14164)>>2]|0; - _free($13); - $14 = HEAP32[(14168)>>2]|0; - _free($14); - $15 = HEAP32[(14172)>>2]|0; - _free($15); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[1756] = $0; - $1 = +HEAPF64[1755]; - $2 = $0 - $1; - HEAPF64[1757] = $2; - HEAPF64[1755] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16356; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(14576); - STACKTOP = sp;return; -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 32|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 48|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 52|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 24|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 56|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 12|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[4027]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[1756] = $0; - $1 = +HEAPF64[1755]; - $2 = $0 - $1; - HEAPF64[1758] = $2; - HEAPF64[1755] = $0; - $3 = +HEAPF64[1757]; - $4 = $2 + $3; - HEAPF64[1742] = $4; - $5 = +HEAPF64[1752]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[1756] = $10; - $11 = +HEAPF64[1755]; - $12 = $10 - $11; - HEAPF64[1755] = $10; - $13 = +HEAPF64[1742]; - $14 = $12 + $13; - HEAPF64[1742] = $14; - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4079]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[753] = -1; - HEAP32[755] = -1; - HEAP32[4115] = 0; - $3 = HEAP32[4079]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[3502] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(14012)>>2] = $7; - _memcpy((17751|0),(17239|0),512)|0; - ;HEAP8[17236>>0]=HEAP8[17233>>0]|0;HEAP8[17236+1>>0]=HEAP8[17233+1>>0]|0;HEAP8[17236+2>>0]=HEAP8[17233+2>>0]|0; - $8 = HEAP32[4114]|0; - HEAP32[4080] = $8; - HEAP32[4114] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (18263 + ($$05160<<5)|0); - $scevgep67 = (18391 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((18391 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[755] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((16464 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[4115] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[4082]|0; - $3 = (+($2|0)); - $4 = HEAP32[4083]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 0.5; - $11 = $10 * 0.01745329238474369; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(14576); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[4027]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8424)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8428)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8432)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8436)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8442)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8480)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 8499; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8512)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 8533; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8548)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 8563; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8578)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 8593; - } - } else { - HEAP32[$3>>2] = 8464; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8608)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8622)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 2; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8634)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 6; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8648)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 7; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8660)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 8; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8674)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 9; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8688)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 10; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8705)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8728)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8754)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8767)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8783)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8796)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 11; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8810)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8830)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8850)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8867)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8884)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 3; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8896)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 12; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,8909)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 13; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,8925)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,8948)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,8961)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,8977)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 4; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,8988)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 14; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,9007)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 15; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,9029)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 16; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,9048)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,9077)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 5; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,9094)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,9109)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9124)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9145)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9165)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9185)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9211)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9230)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9242)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9254)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9266)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9278)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 17; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9290)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9302)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9314)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9326)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9339)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9352)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9365)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9378)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9391)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9404)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9417)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9430)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9449)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9468)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9487)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 18; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9500)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 19; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9518)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 20; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9536)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 21; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9554)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 22; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9572)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9592)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8533)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 6; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9610)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9625)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9646)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9661)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9679)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9695)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9714)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9728)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9743)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 7; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8464)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9754)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8563)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 23; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8593)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 24; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9770)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9797)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9811)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8499)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9831)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9849)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 8; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9861)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9882)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 25; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9900)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 26; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,9918)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 27; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,9939)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,9965)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,9988)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,10026)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 9; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,10042)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,10057)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,10080)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,10093)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 28; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,10107)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 29; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10121)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10141)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10161)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10177)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10195)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10211)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10226)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10248)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 30; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10266)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 31; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10287)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10305)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10318)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10333)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10347)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10357)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10367)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10389)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10415)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10442)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10455)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10470)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10485)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10509)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10520)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 32; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10542)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10564)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10588)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10597)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10605)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10618)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10632)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10644)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10653)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10663)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10675)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10686)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10694)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10706)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10721)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10733)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10747)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 10; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10772)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10789)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10805)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10821)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 11; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10833)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 33; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10845)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 34; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10869)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10882)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10896)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 35; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,10918)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 36; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,10925)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,10941)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,10958)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,10975)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,10991)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,11007)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,11024)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,11038)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,11050)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,11061)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,11074)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,11084)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,11101)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11113)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11135)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11155)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11168)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11190)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11210)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11227)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11244)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11264)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 37; - break; - } - } else { - HEAP32[$1>>2] = 5; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ($0>>>0)<(245); - do { - if ($2) { - $3 = ($0>>>0)<(11); - $4 = (($0) + 11)|0; - $5 = $4 & -8; - $6 = $3 ? 16 : $5; - $7 = $6 >>> 3; - $8 = HEAP32[4148]|0; - $9 = $8 >>> $7; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if (!($11)) { - $12 = $9 & 1; - $13 = $12 ^ 1; - $14 = (($13) + ($7))|0; - $15 = $14 << 1; - $16 = (16632 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[4148] = $24; - } else { - $25 = HEAP32[(16608)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(16600)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (16632 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[4148] = $77; - $98 = $77; - } else { - $78 = HEAP32[(16608)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(16612)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (16632 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[4148] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(16608)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(16600)>>2] = $84; - HEAP32[(16612)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(16596)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (16896 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(16608)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (16896 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(16596)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(16608)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(16608)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(16608)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(16612)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (16632 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[4148] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(16608)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(16600)>>2] = $$0193$lcssa$i; - HEAP32[(16612)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(16596)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (16896 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (16896 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(16600)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(16608)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (16896 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(16596)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(16608)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(16608)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(16608)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (16632 + ($425<<2)|0); - $427 = HEAP32[4148]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[4148] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(16608)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (16896 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(16596)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(16608)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(16608)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(16600)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(16612)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(16612)>>2] = $511; - HEAP32[(16600)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(16600)>>2] = 0; - HEAP32[(16612)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(16604)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(16604)>>2] = $526; - $527 = HEAP32[(16616)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(16616)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[4266]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(17072)>>2] = 4096; - HEAP32[(17068)>>2] = 4096; - HEAP32[(17076)>>2] = -1; - HEAP32[(17080)>>2] = -1; - HEAP32[(17084)>>2] = 0; - HEAP32[(17036)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[4266] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(17072)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(17032)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(17024)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(17036)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(16616)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (17040); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(17068)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(17024)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(17032)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(17072)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(17036)>>2]|0; - $612 = $611 | 4; - HEAP32[(17036)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(17024)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(17024)>>2] = $627; - $628 = HEAP32[(17028)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(17028)>>2] = $627; - } - $630 = HEAP32[(16616)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(16608)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(16608)>>2] = $$749$i; - } - HEAP32[(17040)>>2] = $$749$i; - HEAP32[(17044)>>2] = $$723948$i; - HEAP32[(17052)>>2] = 0; - $635 = HEAP32[4266]|0; - HEAP32[(16628)>>2] = $635; - HEAP32[(16624)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (16632 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(16616)>>2] = $649; - HEAP32[(16604)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(17080)>>2]|0; - HEAP32[(16620)>>2] = $655; - } else { - $$024371$i = (17040); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(16604)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(16616)>>2] = $679; - HEAP32[(16604)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(17080)>>2]|0; - HEAP32[(16620)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(16608)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(16608)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (17040); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(16604)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(16604)>>2] = $727; - HEAP32[(16616)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(16612)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(16600)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(16600)>>2] = $733; - HEAP32[(16612)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (16632 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[4148]|0; - $760 = $759 & $758; - HEAP32[4148] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (16896 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(16596)>>2]|0; - $803 = $802 & $801; - HEAP32[(16596)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(16608)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(16608)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(16608)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (16632 + ($836<<2)|0); - $838 = HEAP32[4148]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[4148] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(16608)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (16896 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(16596)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(16596)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(16608)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(16608)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (17040); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(16616)>>2] = $946; - HEAP32[(16604)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(17080)>>2]|0; - HEAP32[(16620)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(17040)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(17040)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(17040)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(17040)+12>>2]|0; - HEAP32[(17040)>>2] = $$749$i; - HEAP32[(17044)>>2] = $$723948$i; - HEAP32[(17052)>>2] = 0; - HEAP32[(17048)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (16632 + ($968<<2)|0); - $970 = HEAP32[4148]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[4148] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(16608)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (16896 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(16596)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(16596)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(16608)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(16608)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(16604)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(16604)>>2] = $1050; - $1051 = HEAP32[(16616)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(16616)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(16608)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(16612)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(16600)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (16632 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[4148]|0; - $38 = $37 & $36; - HEAP32[4148] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (16896 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(16596)>>2]|0; - $81 = $80 & $79; - HEAP32[(16596)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(16608)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(16608)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(16608)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(16616)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(16612)>>2]|0; - if ($121) { - $123 = HEAP32[(16604)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(16604)>>2] = $124; - HEAP32[(16616)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(16612)>>2] = 0; - HEAP32[(16600)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(16600)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(16600)>>2] = $130; - HEAP32[(16612)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (16632 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(16608)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[4148]|0; - $154 = $153 & $152; - HEAP32[4148] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(16608)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(16608)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(16608)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (16896 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(16596)>>2]|0; - $200 = $199 & $198; - HEAP32[(16596)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(16608)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(16608)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(16608)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(16612)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(16600)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (16632 + ($234<<2)|0); - $236 = HEAP32[4148]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[4148] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(16608)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (16896 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(16596)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(16596)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(16608)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(16608)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(16624)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(16624)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (17048); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(16624)>>2] = -1; - return; -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (17088|0); -} -function ___stdio_close($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 60|0); - $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); - HEAP32[$vararg_buffer>>2] = $3; - $4 = (___syscall6(6,($vararg_buffer|0))|0); - $5 = (___syscall_ret($4)|0); - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $3 = sp + 32|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$3>>2] = $5; - $6 = ((($3)) + 4|0); - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - ($5))|0; - HEAP32[$6>>2] = $9; - $10 = ((($3)) + 8|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $2; - $12 = (($9) + ($2))|0; - $13 = ((($0)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = $3; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $16 = (___syscall146(146,($vararg_buffer|0))|0); - $17 = (___syscall_ret($16)|0); - $18 = ($12|0)==($17|0); - L1: do { - if ($18) { - label = 3; - } else { - $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; - while(1) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } while(0); - if ((label|0) == 3) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 16|0); - HEAP32[$24>>2] = $23; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|0); -} -function ___stdio_seek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 20|0; - $4 = ((($0)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $1; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $6; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $2; - $7 = (___syscall140(140,($vararg_buffer|0))|0); - $8 = (___syscall_ret($7)|0); - $9 = ($8|0)<(0); - if ($9) { - HEAP32[$3>>2] = -1; - $10 = -1; - } else { - $$pre = HEAP32[$3>>2]|0; - $10 = $$pre; - } - STACKTOP = sp;return ($10|0); -} -function ___syscall_ret($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0>>>0)>(4294963200); - if ($1) { - $2 = (0 - ($0))|0; - $3 = (___errno_location()|0); - HEAP32[$3>>2] = $2; - $$0 = -1; - } else { - $$0 = $0; - } - return ($$0|0); -} -function ___errno_location() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (3024|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdout_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 9; - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 64; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = $3; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21523; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $11 = (___syscall54(54,($vararg_buffer|0))|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($0)) + 75|0); - HEAP8[$13>>0] = -1; - } - } - $14 = (___stdio_write($0,$1,$2)|0); - STACKTOP = sp;return ($14|0); -} -function _strcmp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP8[$0>>0]|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($2<<24>>24)!=($3<<24>>24); - $5 = ($2<<24>>24)==(0); - $or$cond9 = $5 | $4; - if ($or$cond9) { - $$lcssa = $3;$$lcssa8 = $2; - } else { - $$011 = $1;$$0710 = $0; - while(1) { - $6 = ((($$0710)) + 1|0); - $7 = ((($$011)) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = HEAP8[$7>>0]|0; - $10 = ($8<<24>>24)!=($9<<24>>24); - $11 = ($8<<24>>24)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $$lcssa = $9;$$lcssa8 = $8; - break; - } else { - $$011 = $7;$$0710 = $6; - } - } - } - $12 = $$lcssa8&255; - $13 = $$lcssa&255; - $14 = (($12) - ($13))|0; - return ($14|0); -} -function _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _vsprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_vsnprintf($0,2147483647,$1,$2)|0); - return ($3|0); -} -function _vsnprintf($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $4 = sp + 124|0; - $5 = sp; - dest=$5; src=3400; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = (($1) + -1)|0; - $7 = ($6>>>0)>(2147483646); - if ($7) { - $8 = ($1|0)==(0); - if ($8) { - $$014 = $4;$$015 = 1; - label = 4; - } else { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 75; - $$0 = -1; - } - } else { - $$014 = $0;$$015 = $1; - label = 4; - } - if ((label|0) == 4) { - $10 = $$014; - $11 = (-2 - ($10))|0; - $12 = ($$015>>>0)>($11>>>0); - $$$015 = $12 ? $11 : $$015; - $13 = ((($5)) + 48|0); - HEAP32[$13>>2] = $$$015; - $14 = ((($5)) + 20|0); - HEAP32[$14>>2] = $$014; - $15 = ((($5)) + 44|0); - HEAP32[$15>>2] = $$014; - $16 = (($$014) + ($$$015)|0); - $17 = ((($5)) + 16|0); - HEAP32[$17>>2] = $16; - $18 = ((($5)) + 28|0); - HEAP32[$18>>2] = $16; - $19 = (_vfprintf($5,$2,$3)|0); - $20 = ($$$015|0)==(0); - if ($20) { - $$0 = $19; - } else { - $21 = HEAP32[$14>>2]|0; - $22 = HEAP32[$17>>2]|0; - $23 = ($21|0)==($22|0); - $24 = $23 << 31 >> 31; - $25 = (($21) + ($24)|0); - HEAP8[$25>>0] = 0; - $$0 = $19; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vfprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $3 = sp + 120|0; - $4 = sp + 80|0; - $5 = sp; - $6 = sp + 136|0; - dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = $vacopy_currentptr; - $7 = (_printf_core(0,$1,$3,$5,$4)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = -1; - } else { - $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(-1); - if ($11) { - $12 = (___lockfile($0)|0); - $40 = $12; - } else { - $40 = 0; - } - $13 = HEAP32[$0>>2]|0; - $14 = $13 & 32; - $15 = ((($0)) + 74|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)<(1); - if ($17) { - $18 = $13 & -33; - HEAP32[$0>>2] = $18; - } - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $23 = ((($0)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$23>>2] = $6; - $25 = ((($0)) + 28|0); - HEAP32[$25>>2] = $6; - $26 = ((($0)) + 20|0); - HEAP32[$26>>2] = $6; - HEAP32[$19>>2] = 80; - $27 = ((($6)) + 80|0); - $28 = ((($0)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = (_printf_core($0,$1,$3,$5,$4)|0); - $30 = ($24|0)==(0|0); - if ($30) { - $$1 = $29; - } else { - $31 = ((($0)) + 36|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); - $33 = HEAP32[$26>>2]|0; - $34 = ($33|0)==(0|0); - $$ = $34 ? -1 : $29; - HEAP32[$23>>2] = $24; - HEAP32[$19>>2] = 0; - HEAP32[$28>>2] = 0; - HEAP32[$25>>2] = 0; - HEAP32[$26>>2] = 0; - $$1 = $$; - } - } else { - $22 = (_printf_core($0,$1,$3,$5,$4)|0); - $$1 = $22; - } - $35 = HEAP32[$0>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - $$1$ = $37 ? $$1 : -1; - $38 = $35 | $14; - HEAP32[$0>>2] = $38; - $39 = ($40|0)==(0); - if (!($39)) { - ___unlockfile($0); - } - $$0 = $$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _printf_core($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; - var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 24|0; - $8 = sp + 8|0; - $9 = sp + 20|0; - HEAP32[$5>>2] = $1; - $10 = ($0|0)!=(0|0); - $11 = ((($7)) + 40|0); - $12 = $11; - $13 = ((($7)) + 39|0); - $14 = ((($8)) + 4|0); - $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; - L1: while(1) { - $15 = ($$0247|0)>(-1); - do { - if ($15) { - $16 = (2147483647 - ($$0247))|0; - $17 = ($$0243|0)>($16|0); - if ($17) { - $18 = (___errno_location()|0); - HEAP32[$18>>2] = 75; - $$1248 = -1; - break; - } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; - break; - } - } else { - $$1248 = $$0247; - } - } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; - break; - } - case 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; - break; - } - default: { - } - } - $24 = ((($25)) + 1|0); - HEAP32[$5>>2] = $24; - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = ((($27)) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$0249$lcssa = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $30;$27 = $31; - label = 9; - } else { - $$0249$lcssa = $30;$39 = $31; - break; - } - } - } - } while(0); - $34 = $$0249$lcssa; - $35 = $21; - $36 = (($34) - ($35))|0; - if ($10) { - _out($0,$21,$36); - } - $37 = ($36|0)==(0); - if (!($37)) { - $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; - continue; - } - $38 = ((($39)) + 1|0); - $40 = HEAP8[$38>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($39)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($39)) + 3|0); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } else { - $$0253 = -1;$$1270 = $$0269;$storemerge = $38; - } - HEAP32[$5>>2] = $storemerge; - $46 = HEAP8[$storemerge>>0]|0; - $47 = $46 << 24 >> 24; - $48 = (($47) + -32)|0; - $49 = ($48>>>0)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((11375 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 11839;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 11839;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 11839 : (11841); - $$$ = $238 ? $$ : (11840); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 11839;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 11839;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 11849; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 11839;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (11839 + ($208)|0); - $$289 = $or$cond283 ? 11839 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 11839;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; - $$0228$ = $or$cond ? $$0228 : $11; - $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; - } - else if ((label|0) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } else { - $$0 = $$1248; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___lockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _out($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = $3 & 32; - $5 = ($4|0)==(0); - if ($5) { - (___fwritex($1,$2,$0)|0); - } - return; -} -function _getint($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $isdigittmp4 = (($3) + -48)|0; - $isdigit5 = ($isdigittmp4>>>0)<(10); - if ($isdigit5) { - $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; - while(1) { - $4 = ($$06*10)|0; - $5 = (($isdigittmp7) + ($4))|0; - $6 = ((($7)) + 1|0); - HEAP32[$0>>2] = $6; - $8 = HEAP8[$6>>0]|0; - $9 = $8 << 24 >> 24; - $isdigittmp = (($9) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; - } else { - $$0$lcssa = $5; - break; - } - } - } else { - $$0$lcssa = 0; - } - return ($$0$lcssa|0); -} -function _pop_arg($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(20); - L1: do { - if (!($3)) { - do { - switch ($1|0) { - case 9: { - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded28 = $5; - $expanded = (($expanded28) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded32 = $7; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $8 = $6 & $expanded30; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - HEAP32[$0>>2] = $10; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$2>>2]|0; - $11 = $arglist_current2; - $12 = ((0) + 4|0); - $expanded35 = $12; - $expanded34 = (($expanded35) - 1)|0; - $13 = (($11) + ($expanded34))|0; - $14 = ((0) + 4|0); - $expanded39 = $14; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $15 = $13 & $expanded37; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $arglist_next3 = ((($16)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$2>>2]|0; - $24 = $arglist_current5; - $25 = ((0) + 4|0); - $expanded42 = $25; - $expanded41 = (($expanded42) - 1)|0; - $26 = (($24) + ($expanded41))|0; - $27 = ((0) + 4|0); - $expanded46 = $27; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $28 = $26 & $expanded44; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $arglist_next6 = ((($29)) + 4|0); - HEAP32[$2>>2] = $arglist_next6; - $31 = $0; - $32 = $31; - HEAP32[$32>>2] = $30; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$2>>2]|0; - $35 = $arglist_current8; - $36 = ((0) + 8|0); - $expanded49 = $36; - $expanded48 = (($expanded49) - 1)|0; - $37 = (($35) + ($expanded48))|0; - $38 = ((0) + 8|0); - $expanded53 = $38; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $39 = $37 & $expanded51; - $40 = $39; - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $arglist_next9 = ((($40)) + 8|0); - HEAP32[$2>>2] = $arglist_next9; - $47 = $0; - $48 = $47; - HEAP32[$48>>2] = $43; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$2>>2]|0; - $51 = $arglist_current11; - $52 = ((0) + 4|0); - $expanded56 = $52; - $expanded55 = (($expanded56) - 1)|0; - $53 = (($51) + ($expanded55))|0; - $54 = ((0) + 4|0); - $expanded60 = $54; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $55 = $53 & $expanded58; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $arglist_next12 = ((($56)) + 4|0); - HEAP32[$2>>2] = $arglist_next12; - $58 = $57&65535; - $59 = $58 << 16 >> 16; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = $0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$2>>2]|0; - $66 = $arglist_current14; - $67 = ((0) + 4|0); - $expanded63 = $67; - $expanded62 = (($expanded63) - 1)|0; - $68 = (($66) + ($expanded62))|0; - $69 = ((0) + 4|0); - $expanded67 = $69; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $70 = $68 & $expanded65; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $arglist_next15 = ((($71)) + 4|0); - HEAP32[$2>>2] = $arglist_next15; - $$mask31 = $72 & 65535; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $$mask31; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$2>>2]|0; - $77 = $arglist_current17; - $78 = ((0) + 4|0); - $expanded70 = $78; - $expanded69 = (($expanded70) - 1)|0; - $79 = (($77) + ($expanded69))|0; - $80 = ((0) + 4|0); - $expanded74 = $80; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $81 = $79 & $expanded72; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $arglist_next18 = ((($82)) + 4|0); - HEAP32[$2>>2] = $arglist_next18; - $84 = $83&255; - $85 = $84 << 24 >> 24; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$2>>2]|0; - $92 = $arglist_current20; - $93 = ((0) + 4|0); - $expanded77 = $93; - $expanded76 = (($expanded77) - 1)|0; - $94 = (($92) + ($expanded76))|0; - $95 = ((0) + 4|0); - $expanded81 = $95; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $96 = $94 & $expanded79; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next21 = ((($97)) + 4|0); - HEAP32[$2>>2] = $arglist_next21; - $$mask = $98 & 255; - $99 = $0; - $100 = $99; - HEAP32[$100>>2] = $$mask; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$2>>2]|0; - $103 = $arglist_current23; - $104 = ((0) + 8|0); - $expanded84 = $104; - $expanded83 = (($expanded84) - 1)|0; - $105 = (($103) + ($expanded83))|0; - $106 = ((0) + 8|0); - $expanded88 = $106; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $107 = $105 & $expanded86; - $108 = $107; - $109 = +HEAPF64[$108>>3]; - $arglist_next24 = ((($108)) + 8|0); - HEAP32[$2>>2] = $arglist_next24; - HEAPF64[$0>>3] = $109; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$2>>2]|0; - $110 = $arglist_current26; - $111 = ((0) + 8|0); - $expanded91 = $111; - $expanded90 = (($expanded91) - 1)|0; - $112 = (($110) + ($expanded90))|0; - $113 = ((0) + 8|0); - $expanded95 = $113; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $114 = $112 & $expanded93; - $115 = $114; - $116 = +HEAPF64[$115>>3]; - $arglist_next27 = ((($115)) + 8|0); - HEAP32[$2>>2] = $arglist_next27; - HEAPF64[$0>>3] = $116; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_x($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0); - $5 = ($1|0)==(0); - $6 = $4 & $5; - if ($6) { - $$05$lcssa = $2; - } else { - $$056 = $2;$15 = $1;$8 = $0; - while(1) { - $7 = $8 & 15; - $9 = (11891 + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 | $3; - $13 = $12&255; - $14 = ((($$056)) + -1|0); - HEAP8[$14>>0] = $13; - $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); - $17 = tempRet0; - $18 = ($16|0)==(0); - $19 = ($17|0)==(0); - $20 = $18 & $19; - if ($20) { - $$05$lcssa = $14; - break; - } else { - $$056 = $14;$15 = $17;$8 = $16; - } - } - } - return ($$05$lcssa|0); -} -function _fmt_o($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; - } else { - $$06 = $2;$11 = $1;$7 = $0; - while(1) { - $6 = $7&255; - $8 = $6 & 7; - $9 = $8 | 48; - $10 = ((($$06)) + -1|0); - HEAP8[$10>>0] = $9; - $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); - $13 = tempRet0; - $14 = ($12|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - if ($16) { - $$0$lcssa = $10; - break; - } else { - $$06 = $10;$11 = $13;$7 = $12; - } - } - } - return ($$0$lcssa|0); -} -function _fmt_u($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(0); - $4 = ($0>>>0)>(4294967295); - $5 = ($1|0)==(0); - $6 = $5 & $4; - $7 = $3 | $6; - if ($7) { - $$0914 = $2;$8 = $0;$9 = $1; - while(1) { - $10 = (___uremdi3(($8|0),($9|0),10,0)|0); - $11 = tempRet0; - $12 = $10&255; - $13 = $12 | 48; - $14 = ((($$0914)) + -1|0); - HEAP8[$14>>0] = $13; - $15 = (___udivdi3(($8|0),($9|0),10,0)|0); - $16 = tempRet0; - $17 = ($9>>>0)>(9); - $18 = ($8>>>0)>(4294967295); - $19 = ($9|0)==(9); - $20 = $19 & $18; - $21 = $17 | $20; - if ($21) { - $$0914 = $14;$8 = $15;$9 = $16; - } else { - break; - } - } - $$010$lcssa$off0 = $15;$$09$lcssa = $14; - } else { - $$010$lcssa$off0 = $0;$$09$lcssa = $2; - } - $22 = ($$010$lcssa$off0|0)==(0); - if ($22) { - $$1$lcssa = $$09$lcssa; - } else { - $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; - while(1) { - $23 = (($$012>>>0) % 10)&-1; - $24 = $23 | 48; - $25 = $24&255; - $26 = ((($$111)) + -1|0); - HEAP8[$26>>0] = $25; - $27 = (($$012>>>0) / 10)&-1; - $28 = ($$012>>>0)<(10); - if ($28) { - $$1$lcssa = $26; - break; - } else { - $$012 = $27;$$111 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _strerror($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___pthread_self_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|0); -} -function _memchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1 & 255; - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)!=(0); - $7 = ($2|0)!=(0); - $or$cond53 = $7 & $6; - L1: do { - if ($or$cond53) { - $8 = $1&255; - $$03555 = $0;$$03654 = $2; - while(1) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; - } - $11 = ((($$03555)) + 1|0); - $12 = (($$03654) + -1)|0; - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($12|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$03555 = $11;$$03654 = $12; - } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; - label = 6; - } else { - $$2 = $$035$lcssa;$$3 = 0; - } - } - L8: do { - if ((label|0) == 6) { - $17 = HEAP8[$$035$lcssa65>>0]|0; - $18 = $1&255; - $19 = ($17<<24>>24)==($18<<24>>24); - if ($19) { - $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; - } else { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; - while(1) { - $22 = HEAP32[$$046>>2]|0; - $23 = $22 ^ $20; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - break; - } - $29 = ((($$046)) + 4|0); - $30 = (($$13745) + -4)|0; - $31 = ($30>>>0)>(3); - if ($31) { - $$046 = $29;$$13745 = $30; - } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; - } - } - $$140 = $$046;$$23839 = $$13745; - } else { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; - } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; - } - } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; - } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; - } - } - } - } - } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); -} -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $5 = sp; - $6 = $4 & 73728; - $7 = ($6|0)==(0); - $8 = ($2|0)>($3|0); - $or$cond = $8 & $7; - if ($or$cond) { - $9 = (($2) - ($3))|0; - $10 = ($9>>>0)<(256); - $11 = $10 ? $9 : 256; - _memset(($5|0),($1|0),($11|0))|0; - $12 = ($9>>>0)>(255); - if ($12) { - $13 = (($2) - ($3))|0; - $$011 = $9; - while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; - } else { - break; - } - } - $16 = $13 & 255; - $$0$lcssa = $16; - } else { - $$0$lcssa = $9; - } - _out($0,$5,$$0$lcssa); - } - STACKTOP = sp;return; -} -function _wctomb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = (_wcrtomb($0,$1,0)|0); - $$0 = $3; - } - return ($$0|0); -} -function _fmt_fp($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; - var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 524|0; - $9 = $8; - $10 = sp + 512|0; - HEAP32[$7>>2] = 0; - $11 = ((($10)) + 12|0); - (___DOUBLE_BITS_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 11856; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (11857) : (11862); - $$$ = $16 ? $$ : (11859); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (11891 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $85 = $84&255; - $86 = ((($$0523)) + 1|0); - HEAP8[$$0523>>0] = $85; - $87 = (+($80|0)); - $88 = $$2473 - $87; - $89 = $88 * 16.0; - $90 = $86; - $91 = (($90) - ($9))|0; - $92 = ($91|0)==(1); - if ($92) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$3501$lcssa; - $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; - } else { - $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; - } - $$7505 = $$7505$ph; - while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,11907,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,11907,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 11875 : 11879; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 11883 : 11887; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _frexpl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_frexp($0,$1)); - return (+$2); -} -function _frexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $5 = tempRet0; - $6 = $4&65535; - $trunc$clear = $6 & 2047; - switch ($trunc$clear<<16>>16) { - case 0: { - $7 = $0 != 0.0; - if ($7) { - $8 = $0 * 1.8446744073709552E+19; - $9 = (+_frexp($8,$1)); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + -64)|0; - $$016 = $9;$storemerge = $11; - } else { - $$016 = $0;$storemerge = 0; - } - HEAP32[$1>>2] = $storemerge; - $$0 = $$016; - break; - } - case 2047: { - $$0 = $0; - break; - } - default: { - $12 = $4 & 2047; - $13 = (($12) + -1022)|0; - HEAP32[$1>>2] = $13; - $14 = $3 & -2146435073; - $15 = $14 | 1071644672; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $16; - } - } - return (+$$0); -} -function _wcrtomb($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; - } else { - $4 = ($1>>>0)<(128); - if ($4) { - $5 = $1&255; - HEAP8[$0>>0] = $5; - $$0 = 1; - break; - } - $6 = (___pthread_self_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___strerror_l($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $$016 = 0; - while(1) { - $3 = (11909 + ($$016)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==($0|0); - if ($6) { - label = 2; - break; - } - $7 = (($$016) + 1)|0; - $8 = ($7|0)==(87); - if ($8) { - $$01214 = 11997;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 11997; - } else { - $$01214 = 11997;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; - while(1) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { - break; - } else { - $$113 = $11; - } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } - } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); -} -function ___lctrans($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); -} -function ___lctrans_impl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = HEAP32[$1>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (___mo_lookup($3,$5,$0)|0); - $$0 = $6; - } - $7 = ($$0|0)!=(0|0); - $8 = $7 ? $$0 : $0; - return ($8|0); -} -function ___mo_lookup($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 1794895138)|0; - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_swapc($6,$4)|0); - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_swapc($9,$4)|0); - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_swapc($12,$4)|0); - $14 = $1 >>> 2; - $15 = ($7>>>0)<($14>>>0); - L1: do { - if ($15) { - $16 = $7 << 2; - $17 = (($1) - ($16))|0; - $18 = ($10>>>0)<($17>>>0); - $19 = ($13>>>0)<($17>>>0); - $or$cond = $18 & $19; - if ($or$cond) { - $20 = $13 | $10; - $21 = $20 & 3; - $22 = ($21|0)==(0); - if ($22) { - $23 = $10 >>> 2; - $24 = $13 >>> 2; - $$090 = 0;$$094 = $7; - while(1) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_swapc($30,$4)|0); - $32 = (($28) + 1)|0; - $33 = (($0) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_swapc($34,$4)|0); - $36 = ($35>>>0)<($1>>>0); - $37 = (($1) - ($35))|0; - $38 = ($31>>>0)<($37>>>0); - $or$cond102 = $36 & $38; - if (!($or$cond102)) { - $$4 = 0; - break L1; - } - $39 = (($35) + ($31))|0; - $40 = (($0) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==(0); - if (!($42)) { - $$4 = 0; - break L1; - } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { - break; - } - $62 = ($$094|0)==(1); - $63 = ($44|0)<(0); - $64 = (($$094) - ($25))|0; - $$195 = $63 ? $25 : $64; - $$191 = $63 ? $$090 : $26; - if ($62) { - $$4 = 0; - break L1; - } else { - $$090 = $$191;$$094 = $$195; - } - } - $46 = (($27) + ($24))|0; - $47 = (($0) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_swapc($48,$4)|0); - $50 = (($46) + 1)|0; - $51 = (($0) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_swapc($52,$4)|0); - $54 = ($53>>>0)<($1>>>0); - $55 = (($1) - ($53))|0; - $56 = ($49>>>0)<($55>>>0); - $or$cond104 = $54 & $56; - if ($or$cond104) { - $57 = (($0) + ($53)|0); - $58 = (($53) + ($49))|0; - $59 = (($0) + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)==(0); - $$ = $61 ? $57 : 0; - $$4 = $$; - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } while(0); - return ($$4|0); -} -function _swapc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); -} -function ___fwritex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $7 = (___towrite($2)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$3>>2]|0; - $12 = $$pre; - label = 5; - } else { - $$1 = 0; - } - } else { - $6 = $4; - $12 = $6; - label = 5; - } - L5: do { - if ((label|0) == 5) { - $9 = ((($2)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($12) - ($10))|0; - $13 = ($11>>>0)<($1>>>0); - $14 = $10; - if ($13) { - $15 = ((($2)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); - $$1 = $17; - break; - } - $18 = ((($2)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)>(-1); - L10: do { - if ($20) { - $$038 = $1; - while(1) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; - } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { - break; - } else { - $$038 = $22; - } - } - $26 = ((($2)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); - $29 = ($28>>>0)<($$038>>>0); - if ($29) { - $$1 = $28; - break L5; - } - $30 = (($0) + ($$038)|0); - $$042 = (($1) - ($$038))|0; - $$pre47 = HEAP32[$9>>2]|0; - $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; - } else { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - } - } while(0); - _memcpy(($31|0),($$141|0),($$143|0))|0; - $32 = HEAP32[$9>>2]|0; - $33 = (($32) + ($$143)|0); - HEAP32[$9>>2] = $33; - $34 = (($$139) + ($$143))|0; - $$1 = $34; - } - } while(0); - return ($$1|0); -} -function ___towrite($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 8; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($0)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 28|0); - HEAP32[$15>>2] = $14; - $16 = ((($0)) + 20|0); - HEAP32[$16>>2] = $14; - $17 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _sn_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - $8 = (($4) - ($7))|0; - $9 = ($8>>>0)>($2>>>0); - $$ = $9 ? $2 : $8; - _memcpy(($6|0),($1|0),($$|0))|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + ($$)|0); - HEAP32[$5>>2] = $11; - return ($2|0); -} -function _strlen($0) { - $0 = $0|0; - var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1 & 3; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $$015$lcssa = $0; - label = 4; - } else { - $$01519 = $0;$23 = $1; - while(1) { - $4 = HEAP8[$$01519>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - $$sink = $23; - break L1; - } - $6 = ((($$01519)) + 1|0); - $7 = $6; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if ($9) { - $$015$lcssa = $6; - label = 4; - break; - } else { - $$01519 = $6;$23 = $7; - } - } - } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; - while(1) { - $10 = HEAP32[$$0>>2]|0; - $11 = (($10) + -16843009)|0; - $12 = $10 & -2139062144; - $13 = $12 ^ -2139062144; - $14 = $13 & $11; - $15 = ($14|0)==(0); - $16 = ((($$0)) + 4|0); - if ($15) { - $$0 = $16; - } else { - break; - } - } - $17 = $10&255; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$1$lcssa = $$0; - } else { - $$pn = $$0; - while(1) { - $19 = ((($$pn)) + 1|0); - $$pre = HEAP8[$19>>0]|0; - $20 = ($$pre<<24>>24)==(0); - if ($20) { - $$1$lcssa = $19; - break; - } else { - $$pn = $19; - } - } - } - $21 = $$1$lcssa; - $$sink = $21; - } - $22 = (($$sink) - ($1))|0; - return ($22|0); -} -function _strchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((17152|0)); - return (17160|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((17152|0)); - return; -} -function _fflush($0) { - $0 = $0|0; - var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[849]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[849]|0; - $11 = (_fflush($10)|0); - $29 = $11; - } - $12 = (___ofl_lock()|0); - $$02325 = HEAP32[$12>>2]|0; - $13 = ($$02325|0)==(0|0); - if ($13) { - $$024$lcssa = $29; - } else { - $$02327 = $$02325;$$02426 = $29; - while(1) { - $14 = ((($$02327)) + 76|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(-1); - if ($16) { - $17 = (___lockfile($$02327)|0); - $26 = $17; - } else { - $26 = 0; - } - $18 = ((($$02327)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($$02327)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($19>>>0)>($21>>>0); - if ($22) { - $23 = (___fflush_unlocked($$02327)|0); - $24 = $23 | $$02426; - $$1 = $24; - } else { - $$1 = $$02426; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___unlockfile($$02327); - } - $27 = ((($$02327)) + 56|0); - $$023 = HEAP32[$27>>2]|0; - $28 = ($$023|0)==(0|0); - if ($28) { - $$024$lcssa = $$1; - break; - } else { - $$02327 = $$023;$$02426 = $$1; - } - } - } - ___ofl_unlock(); - $$0 = $$024$lcssa; - } else { - $2 = ((($0)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if (!($4)) { - $5 = (___fflush_unlocked($0)|0); - $$0 = $5; - break; - } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)>($4>>>0); - if ($5) { - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - $15 = $11; - $16 = $13; - $17 = (($15) - ($16))|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); - } - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$3>>2] = 0; - HEAP32[$1>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 14072; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[817]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = HEAP32[4291]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[4291] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[4291] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[4291] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[4291] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function runPostSets() { -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; - end = (ptr + num)|0; - - value = value & 0xff; - if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { - while ((ptr&3) != 0) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - - aligned_end = (end & -4)|0; - block_aligned_end = (aligned_end - 64)|0; - value4 = value | (value << 8) | (value << 16) | (value << 24); - - while((ptr|0) <= (block_aligned_end|0)) { - HEAP32[((ptr)>>2)]=value4; - HEAP32[(((ptr)+(4))>>2)]=value4; - HEAP32[(((ptr)+(8))>>2)]=value4; - HEAP32[(((ptr)+(12))>>2)]=value4; - HEAP32[(((ptr)+(16))>>2)]=value4; - HEAP32[(((ptr)+(20))>>2)]=value4; - HEAP32[(((ptr)+(24))>>2)]=value4; - HEAP32[(((ptr)+(28))>>2)]=value4; - HEAP32[(((ptr)+(32))>>2)]=value4; - HEAP32[(((ptr)+(36))>>2)]=value4; - HEAP32[(((ptr)+(40))>>2)]=value4; - HEAP32[(((ptr)+(44))>>2)]=value4; - HEAP32[(((ptr)+(48))>>2)]=value4; - HEAP32[(((ptr)+(52))>>2)]=value4; - HEAP32[(((ptr)+(56))>>2)]=value4; - HEAP32[(((ptr)+(60))>>2)]=value4; - ptr = (ptr + 64)|0; - } - - while ((ptr|0) < (aligned_end|0) ) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - // The remaining bytes. - while ((ptr|0) < (end|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (end-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - var aligned_dest_end = 0; - var block_aligned_dest_end = 0; - var dest_end = 0; - // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. - if ((num|0) >= - 8192 - ) { - return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - } - - ret = dest|0; - dest_end = (dest + num)|0; - if ((dest&3) == (src&3)) { - // The initial unaligned < 4-byte front. - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - aligned_dest_end = (dest_end & -4)|0; - block_aligned_dest_end = (aligned_dest_end - 64)|0; - while ((dest|0) <= (block_aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); - HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); - HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); - HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); - HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); - HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); - HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); - HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); - HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); - HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); - HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); - HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); - HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); - HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); - HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); - dest = (dest+64)|0; - src = (src+64)|0; - } - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } else { - // In the unaligned copy case, unroll a bit as well. - aligned_dest_end = (dest_end - 4)|0; - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); - HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); - HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } - // The remaining unaligned < 4 byte tail. - while ((dest|0) < (dest_end|0)) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _sbrk(increment) { - increment = increment|0; - var oldDynamicTop = 0; - var oldDynamicTopOnChange = 0; - var newDynamicTop = 0; - var totalMemory = 0; - increment = ((increment + 15) & -16)|0; - oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; - newDynamicTop = oldDynamicTop + increment | 0; - - if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. - | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. - abortOnCannotGrowMemory()|0; - ___setErrNo(12); - return -1; - } - - HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; - totalMemory = getTotalMemory()|0; - if ((newDynamicTop|0) > (totalMemory|0)) { - if ((enlargeMemory()|0) == 0) { - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - ___setErrNo(12); - return -1; - } - } - return oldDynamicTop|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _llvm_bswap_i32(x) { - x = x|0; - return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; -} - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _llvm_bswap_i32: _llvm_bswap_i32, _roundf: _roundf, _main: _main, dynCall_i: dynCall_i, stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, dynCall_vidddd: dynCall_vidddd, setThrew: setThrew, dynCall_viii: dynCall_viii, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, dynCall_iii: dynCall_iii, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, dynCall_vd: dynCall_vd, dynCall_vii: dynCall_vii, ___uremdi3: ___uremdi3, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_viiiiiii: dynCall_viiiiiii, getTempRet0: getTempRet0, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, dynCall_viid: dynCall_viid, dynCall_ii: dynCall_ii, _emscripten_GetProcAddress: _emscripten_GetProcAddress, dynCall_viiii: dynCall_viiii, ___errno_location: ___errno_location, dynCall_viiiii: dynCall_viiiii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, _memmove: _memmove, _strstr: _strstr, stackRestore: stackRestore, _malloc: _malloc, dynCall_vdi: dynCall_vdi, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__llvm_bswap_i32.apply(null, arguments); -}; - -var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__roundf.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackSave.apply(null, arguments); -}; - -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_getTempRet0.apply(null, arguments); -}; - -var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____udivdi3.apply(null, arguments); -}; - -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setThrew.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__fflush.apply(null, arguments); -}; - -var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__sbrk.apply(null, arguments); -}; - -var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackAlloc.apply(null, arguments); -}; - -var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____uremdi3.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setTempRet0.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_GetProcAddress.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____errno_location.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__free.apply(null, arguments); -}; - -var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_establishStackSpace.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strstr.apply(null, arguments); -}; - -var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackRestore.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__malloc.apply(null, arguments); -}; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - - -/** - * @constructor - * @extends {Error} - */ -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 initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - Module.printErr('exception thrown: ' + toLog); - Module['quit'](1, e); - } - } finally { - calledMain = true; - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - writeStackCookie(); - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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(); - } - checkStackCookie(); -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - process['exit'](status); - } - Module['quit'](status, new ExitStatus(status)); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/examples/web/models/models_heightmap.c b/examples/web/models/models_heightmap.c index 1b9d619..009b50e 100644 --- a/examples/web/models/models_heightmap.c +++ b/examples/web/models/models_heightmap.c @@ -15,10 +15,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -41,19 +37,11 @@ void UpdateDrawFrame(void); // Update and Draw one frame //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - heightmap loading and drawing"); -#endif Image image = LoadImage("resources/heightmap.png"); // Load heightmap image (RAM) texture = LoadTextureFromImage(image); // Convert image to texture (VRAM) @@ -86,9 +74,8 @@ int main(void) CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_heightmap.data b/examples/web/models/models_heightmap.data deleted file mode 100644 index fe30f67..0000000 Binary files a/examples/web/models/models_heightmap.data and /dev/null differ diff --git a/examples/web/models/models_heightmap.html b/examples/web/models/models_heightmap.html deleted file mode 100644 index 0df068f..0000000 --- a/examples/web/models/models_heightmap.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
Downloading...
- - - - - -
- -
-
- -
- -
- - - - - - - \ No newline at end of file diff --git a/examples/web/models/models_heightmap.js b/examples/web/models/models_heightmap.js deleted file mode 100644 index b1b117c..0000000 --- a/examples/web/models/models_heightmap.js +++ /dev/null @@ -1,43634 +0,0 @@ - -var Module; - -if (typeof Module === 'undefined') Module = {}; - -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'models/models_heightmap.data'; - var REMOTE_PACKAGE_BASE = 'models_heightmap.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - - var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; - var PACKAGE_UUID = metadata.package_uuid; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onerror = function(event) { - throw new Error("NetworkError for: " + packageName); - } - xhr.onload = function(event) { - if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - var packageData = xhr.response; - callback(packageData); - } else { - throw new Error(xhr.statusText + " : " + xhr.responseURL); - } - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetchedCallback = null; - var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; - - if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } -Module['FS_createPath']('/', 'resources', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - } - }; - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); - } - - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_models/models_heightmap.data'); - - }; - Module['addRunDependency']('datafile_models/models_heightmap.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 10920, "filename": "/resources/heightmap.png"}], "remote_package_size": 10920, "package_uuid": "7004bdbe-83b3-4d91-aaa1-adbc2f2ee29b"}); - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; - -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) - -if (Module['ENVIRONMENT']) { - if (Module['ENVIRONMENT'] === 'WEB') { - ENVIRONMENT_IS_WEB = true; - } else if (Module['ENVIRONMENT'] === 'WORKER') { - ENVIRONMENT_IS_WORKER = true; - } else if (Module['ENVIRONMENT'] === 'NODE') { - ENVIRONMENT_IS_NODE = true; - } else if (Module['ENVIRONMENT'] === 'SHELL') { - ENVIRONMENT_IS_SHELL = true; - } else { - throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); - } -} else { - ENVIRONMENT_IS_WEB = typeof window === 'object'; - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; - ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -} - - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function shell_read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(xhr.response); - }; - } - - 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)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function shell_print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = undefined; - - - -// {{PREAMBLE_ADDITIONS}} - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = Runtime.stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -/** @type {function(number, number, string, boolean=)} */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - -/** @type {function(number, string, boolean=)} */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -/** @type {function(number, number=)} */ -function Pointer_stringify(ptr, length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; -function UTF8ArrayToString(u8Array, idx) { - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - while (u8Array[endPtr]) ++endPtr; - - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; -function UTF16ToString(ptr) { - assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - while (HEAP16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - - -function UTF32ToString(ptr) { - assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - 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 : (x + ' [' + y + ']'); - }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - 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); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; -var ASMJS_PAGE_SIZE = 16777216; -var MIN_TOTAL_MEMORY = 16777216; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBuffer(buf) { - Module['buffer'] = buffer = buf; -} - -function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); -} - -var STATIC_BASE, STATICTOP, staticSealed; // static area -var STACK_BASE, STACKTOP, STACK_MAX; // stack area -var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk - - STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; - staticSealed = false; - - -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - assert((STACK_MAX & 3) == 0); - HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; - HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; -} - -function checkStackCookie() { - if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { - abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); - } - // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. - if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; -} - -function abortStackOverflow(allocSize) { - abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!'); -} - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; -if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, - 'JS engine does not provide full typed array support'); - - - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); -} else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); -} -updateGlobalBufferViews(); - - -function getTotalMemory() { - return TOTAL_MEMORY; -} - -// Endianness check (note: assumes compiler arch was little-endian) - HEAP32[0] = 0x63736d65; /* 'emsc' */ -HEAP16[1] = 0x6373; -if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Module['dynCall_v'](func); - } else { - Module['dynCall_vi'](func, callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - checkStackCookie(); - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - checkStackCookie(); - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated */ -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') - HEAP8.set(array, buffer); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]) }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = Runtime.GLOBAL_BASE; - -STATICTOP = STATIC_BASE + 24224; -/* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,144,65,0,0,128,65,0,0,144,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,193,0,0,0,0,0,0,0,193,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,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,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,15,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,15,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,15,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,15,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,15,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,15,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,15,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,15,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,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,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,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,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,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,205,204,12,64,0,0,128,63,0,0,128,63,46,186,232,62,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,128,191,20,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,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,140,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,151,90,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,104,101,105,103,104,116,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,104,101,105,103,104,116,109,97,112,46,112,110,103,0,5,5,4,0,2,3,7,0,3,3,11,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,46,103,105,102,0,114,98,0,46,104,100,114,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,111,110,108,121,32,51,32,99,104,97,110,110,101,108,32,51,50,32,98,105,116,32,102,108,111,97,116,115,41,0,46,100,100,115,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,111,117,116,111,102,109,101,109,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,35,63,82,65,68,73,65,78,67,69,0,35,63,82,71,66,69,0,110,111,116,32,72,68,82,0,70,79,82,77,65,84,61,51,50,45,98,105,116,95,114,108,101,95,114,103,98,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,111,114,109,97,116,0,45,89,32,0,117,110,115,117,112,112,111,114,116,101,100,32,100,97,116,97,32,108,97,121,111,117,116,0,43,88,32,0,105,110,118,97,108,105,100,32,100,101,99,111,100,101,100,32,115,99,97,110,108,105,110,101,32,108,101,110,103,116,104,0,99,111,114,114,117,112,116,0,35,63,82,65,68,73,65,78,67,69,10,0,35,63,82,71,66,69,10,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,37,50,105,32,70,80,83,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,56,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,59,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,0,99,111,108,68,105,102,102,117,115,101,0,116,101,120,116,117,114,101,48,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },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 frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - - - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - 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); }; - } - - // Extension available from Firefox 25 and WebKit - 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"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - 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 _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - 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); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var 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 { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - 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/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - 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++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },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 /* do not set timing and call scheduler, we will do it on the next lines */); - _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; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - 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; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - 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) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - 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(); // empty shim - 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); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - 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)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - 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) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - 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; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['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); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - 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) { - Module.printErr('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) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - 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 () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - 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(); - } // drop it on the floor otherwise, next interval will kick in - }, 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) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - 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); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - 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 () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['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; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function (event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function (event) { - GLFW.refreshJoysticks(); - },onKeydown:function (event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function (event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function (cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function () { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setDropCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.dropFunc = cbfun; - },onDrop:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data), { encoding: 'binary' }); - if (++written === count) { - Module['dynCall_viii'](GLFW.active.dropFunc, GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - 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 the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - 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) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - - var fd = process.stdin.fd; - if (isPosixPlatform) { - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - 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) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - 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') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - 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(); - // add the new node to the parent - 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; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - 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 = {}; - // device numbers reuse inode numbers. - 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); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - 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)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - 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) { - // reuse all of the core MEMFS functionality - 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) { - // check the cache first - 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; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var 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(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - 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); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - 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); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - // Issue 4254: Using curr as a node name will prevent the node - // from being found in FS.nameTable when FS.open is called on - // a path which holds a child of this node, - // given that all FS functions assume node names - // are just their corresponding parts within their given path, - // rather than incremental aggregates which include their parent's - // directories. - 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]; - } - // We also accept FileList here, by using Array.prototype - 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); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - 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(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=STATICTOP; STATICTOP += 16;; - - var _stdout=STATICTOP; STATICTOP += 16;; - - var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - 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) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - 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; // root node sets parent to itself - } - 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 = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - 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; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - 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); } - } - }); - } - // clone it, so we can return an instance of FSStream - 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); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(err) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(err); - } - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return doCallback(err); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - 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; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - 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 != ERRNO_CODES.EEXIST) throw e; - } - } - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - 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); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : 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) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - 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)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - 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)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - 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 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - 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'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - 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) { - // ignore EEXIST - } - 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; - } - // make sure we can write to the file - 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); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - 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() { - // Find length - 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; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - 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!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - 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; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - 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) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - 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); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - 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(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same 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; // no database to load from - 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; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - 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) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - - // Chromium does not fire the gamepadconnected event on reload, so we need to get the number of gamepads here as a workaround. - // See https://bugs.chromium.org/p/chromium/issues/detail?id=502824 - var firstState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null); - if (firstState) { - JSEvents.numGamepadsConnected = firstState.length; - } - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceMotionEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _glfwGetMouseButton(winid, button) { - return GLFW.getMouseButton(winid, button); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - 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 ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - 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 _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - // NOTE: offset_high is unused - Emscripten's off_t is 32-bit - var offset = offset_low; - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - 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 ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - 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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - - - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - - - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - - - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init(); -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 self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("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) }; -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; -JSEvents.staticInit();; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); - -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; - -staticSealed = true; // seal the static portion of memory - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_glVertexAttrib4f": _glVertexAttrib4f, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_glVertexAttrib3f": _glVertexAttrib3f, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glVertexAttrib2f": _glVertexAttrib2f, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { -'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_max=global.Math.max; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var enlargeMemory=env.enlargeMemory; - var getTotalMemory=env.getTotalMemory; - var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; - var abortStackOverflow=env.abortStackOverflow; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _glVertexAttrib4f=env._glVertexAttrib4f; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _glVertexAttrib3f=env._glVertexAttrib3f; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var ___syscall146=env.___syscall146; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glVertexAttrib2f=env._glVertexAttrib2f; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _llvm_pow_f64=env._llvm_pow_f64; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var ___syscall221=env.___syscall221; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _glfwGetMouseButton=env._glfwGetMouseButton; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _glfwGetKey=env._glfwGetKey; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS - -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $map$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1360|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1360|0); - $map$byval_copy = sp + 744|0; - $$byval_copy1 = sp + 88|0; - $0 = sp + 68|0; - $1 = sp + 724|0; - $2 = sp; - $3 = sp + 712|0; - $4 = sp + 108|0; - $5 = HEAP32[2]|0; - $6 = HEAP32[3]|0; - _InitWindow($5,$6,4232); - _LoadImage($0,4288); - ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$map$byval_copy); - ;HEAP32[18080>>2]=HEAP32[$1>>2]|0;HEAP32[18080+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18080+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18080+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18080+16>>2]=HEAP32[$1+16>>2]|0; - HEAPF32[$3>>2] = 16.0; - $7 = ((($3)) + 4|0); - HEAPF32[$7>>2] = 8.0; - $8 = ((($3)) + 8|0); - HEAPF32[$8>>2] = 16.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$map$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$3+8>>2]|0; - _GenMeshHeightmap($2,$$byval_copy1,$map$byval_copy); - dest=$map$byval_copy; src=$2; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModelFromMesh($4,$map$byval_copy); - _memcpy((18100|0),($4|0),604)|0; - ;HEAP32[(18364)>>2]=HEAP32[18080>>2]|0;HEAP32[(18364)+4>>2]=HEAP32[18080+4>>2]|0;HEAP32[(18364)+8>>2]=HEAP32[18080+8>>2]|0;HEAP32[(18364)+12>>2]=HEAP32[18080+12>>2]|0;HEAP32[(18364)+16>>2]=HEAP32[18080+16>>2]|0; - ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($map$byval_copy); - dest=$map$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetCameraMode($map$byval_copy,2); - _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$map$byval_copy>>2]=HEAP32[18080>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[18080+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[18080+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[18080+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[18080+16>>2]|0; - _UnloadTexture($map$byval_copy); - _memcpy(($map$byval_copy|0),(18100|0),604)|0; - _UnloadModel($map$byval_copy); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $map$byval_copy = 0, $texture$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 688|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(688|0); - $$byval_copy2 = sp + 632|0; - $texture$byval_copy = sp + 608|0; - $map$byval_copy = sp; - $0 = sp + 680|0; - $1 = sp + 676|0; - $2 = sp + 604|0; - $3 = sp + 672|0; - _UpdateCamera(16); - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $4 = ((($0)) + 1|0); - HEAP8[$4>>0] = -11; - $5 = ((($0)) + 2|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 3|0); - HEAP8[$6>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy2); - dest=$$byval_copy2; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy2); - HEAP8[$1>>0] = -26; - $7 = ((($1)) + 1|0); - HEAP8[$7>>0] = 41; - $8 = ((($1)) + 2|0); - HEAP8[$8>>0] = 55; - $9 = ((($1)) + 3|0); - HEAP8[$9>>0] = -1; - _memcpy(($map$byval_copy|0),(18100|0),604)|0; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[56>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[56+8>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$1+3>>0]|0; - _DrawModel($map$byval_copy,$texture$byval_copy,1.0,$$byval_copy2); - _DrawGrid(20,1.0); - _End3dMode(); - $10 = HEAP32[2]|0; - $11 = HEAP32[(18084)>>2]|0; - $12 = (($10) + -20)|0; - $13 = (($12) - ($11))|0; - HEAP32[$2>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[18080>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[18080+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[18080+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[18080+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[18080+16>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$2+3>>0]|0; - _DrawTexture($texture$byval_copy,$13,20,$$byval_copy2); - $14 = HEAP32[2]|0; - $15 = HEAP32[(18084)>>2]|0; - $16 = (($14) + -20)|0; - $17 = (($16) - ($15))|0; - $18 = HEAP32[(18088)>>2]|0; - HEAP8[$3>>0] = 0; - $19 = ((($3)) + 1|0); - HEAP8[$19>>0] = -28; - $20 = ((($3)) + 2|0); - HEAP8[$20>>0] = 48; - $21 = ((($3)) + 3|0); - HEAP8[$21>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; - _DrawRectangleLines($17,20,$15,$18,$$byval_copy2); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; -} -function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; - var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; - var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; - var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; - var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; - var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; - var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; - var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; - var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; - var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; - var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; - var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; - var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; - var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; - var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; - var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; - var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; - var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; - var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; - var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; - var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; - var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; - var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; - var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; - var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; - var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; - var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; - var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; - var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; - var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; - var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; - var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; - var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; - var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; - var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; - var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; - var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; - var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; - var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; - var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; - var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; - var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; - var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; - var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; - var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; - var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; - var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; - var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; - var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; - var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; - var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; - var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; - var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; - var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; - var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; - var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; - var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; - var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; - var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; - var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; - var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; - var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; - var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; - var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; - var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; - var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; - var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; - var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; - var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; - var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; - var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; - var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; - var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; - var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; - var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; - var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $7 = sp + 64|0; - $8 = sp; - $9 = HEAP32[$2>>2]|0; - $10 = (($1) + ($9)|0); - $11 = HEAP32[$5>>2]|0; - $12 = (($4) + ($11)|0); - $13 = $6 & 4; - $14 = ($13|0)!=(0); - $15 = $4; - $16 = $3; - $17 = $16 ^ -1; - $18 = (($15) + ($17))|0; - $19 = (($18) + ($11))|0; - $$1753 = $14 ? -1 : $19; - $20 = (($$1753) + 1)|0; - $21 = $20 & $$1753; - $22 = ($21|0)!=(0); - $23 = ($4>>>0)<($3>>>0); - $or$cond1702 = $23 | $22; - if ($or$cond1702) { - HEAP32[$5>>2] = 0; - HEAP32[$2>>2] = 0; - $$0951 = -3; - STACKTOP = sp;return ($$0951|0); - } - $24 = ((($0)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 56|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($0)) + 60|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - L5: do { - switch ($36|0) { - case 0: { - $37 = ((($0)) + 12|0); - HEAP32[$37>>2] = 0; - $38 = ((($0)) + 8|0); - HEAP32[$38>>2] = 0; - $39 = ((($0)) + 28|0); - HEAP32[$39>>2] = 1; - $40 = ((($0)) + 16|0); - HEAP32[$40>>2] = 1; - $41 = $6 & 1; - $42 = ($41|0)==(0); - if ($42) { - $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; - label = 14; - } else { - $43 = ($9|0)<(1); - if ($43) { - $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; - label = 6; - } else { - $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; - label = 8; - } - } - break; - } - case 1: { - $46 = ($9|0)>(0); - if ($46) { - $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; - label = 8; - } else { - $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; - label = 6; - } - break; - } - case 2: { - $53 = ($9|0)>(0); - if ($53) { - $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; - label = 12; - } else { - $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; - label = 10; - } - break; - } - case 36: { - $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; - label = 243; - break; - } - case 3: { - $75 = ($9|0)>(0); - if ($75) { - $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; - label = 18; - } else { - $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; - label = 16; - } - break; - } - case 5: { - $90 = ($9|0)>(0); - if ($90) { - $91 = ((($1)) + 1|0); - $92 = HEAP8[$1>>0]|0; - $93 = $92&255; - $$01412 = $93;$$111518 = $91; - } else { - $88 = $6 & 2; - $89 = ($88|0)==(0); - if ($89) { - $$01412 = 0;$$111518 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; - label = 243; - break L5; - } - } - $94 = $$01412 << $25; - $95 = $94 | $27; - $96 = (($25) + 8)|0; - $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; - label = 25; - break; - } - case 6: { - $106 = ($9|0)>(0); - if ($106) { - $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; - label = 32; - } else { - $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; - label = 30; - } - break; - } - case 7: { - $120 = ($9|0)>(0); - if ($120) { - $121 = ((($1)) + 1|0); - $122 = HEAP8[$1>>0]|0; - $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; - label = 39; - } else { - $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; - label = 36; - } - break; - } - case 39: { - $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; - label = 43; - break; - } - case 51: { - $152 = ($9|0)>(0); - if ($152) { - $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; - label = 49; - } else { - $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; - label = 47; - } - break; - } - case 52: { - $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; - label = 52; - break; - } - case 9: { - $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; - label = 55; - break; - } - case 38: { - $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; - label = 56; - break; - } - case 40: { - $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; - label = 58; - break; - } - case 10: { - $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; - label = 60; - break; - } - case 11: { - $193 = ($9|0)>(0); - if ($193) { - $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; - label = 66; - } else { - $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; - label = 64; - } - break; - } - case 14: { - $224 = ($9|0)>(0); - if ($224) { - $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; - label = 75; - } else { - $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; - label = 73; - } - break; - } - case 35: { - $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; - label = 86; - break; - } - case 16: { - $452 = ($9|0)>(0); - if ($452) { - $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; - label = 116; - } else { - $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; - label = 114; - } - break; - } - case 17: { - $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; - label = 125; - break; - } - case 18: { - $503 = ($9|0)>(0); - if ($503) { - $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; - label = 130; - } else { - $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; - label = 128; - } - break; - } - case 21: { - $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; - label = 136; - break; - } - case 23: { - $572 = ($9|0)>(0); - if ($572) { - $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; - label = 153; - } else { - $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; - label = 151; - } - break; - } - case 24: { - $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; - label = 160; - break; - } - case 25: { - $696 = ($9|0)>(0); - if ($696) { - $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; - label = 182; - } else { - $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; - label = 180; - } - break; - } - case 26: { - $737 = ($9|0)>(0); - if ($737) { - $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; - label = 195; - } else { - $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; - label = 193; - } - break; - } - case 27: { - $784 = ($9|0)>(0); - if ($784) { - $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; - label = 206; - } else { - $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; - label = 204; - } - break; - } - case 37: { - $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; - label = 210; - break; - } - case 53: { - $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; - label = 213; - break; - } - case 32: { - $842 = ($9|0)>(0); - if ($842) { - $843 = ((($1)) + 1|0); - $844 = HEAP8[$1>>0]|0; - $845 = $844&255; - $$0949 = $845;$$881595 = $843; - } else { - $840 = $6 & 2; - $841 = ($840|0)==(0); - if ($841) { - $$0949 = 0;$$881595 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; - label = 243; - break L5; - } - } - $846 = $$0949 << $25; - $847 = $846 | $27; - $848 = (($25) + 8)|0; - $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; - label = 226; - break; - } - case 41: { - $858 = ($9|0)>(0); - if ($858) { - $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; - label = 233; - } else { - $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; - label = 231; - } - break; - } - case 42: { - $871 = ($9|0)>(0); - if ($871) { - $872 = ((($1)) + 1|0); - $873 = HEAP8[$1>>0]|0; - $874 = $873&255; - $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; - label = 241; - } else { - $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; - label = 237; - } - break; - } - case 34: { - $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; - label = 242; - break; - } - default: { - $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; - label = 244; - } - } - } while(0); - if ((label|0) == 6) { - $44 = $6 & 2; - $45 = ($44|0)==(0); - if ($45) { - $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; - label = 9; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; - label = 243; - } - } - else if ((label|0) == 8) { - $47 = ((($1)) + 1|0); - $48 = HEAP8[$1>>0]|0; - $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; - label = 9; - } - if ((label|0) == 9) { - $$sink3 = $$sink3$shrunk&255; - $49 = ((($0)) + 8|0); - HEAP32[$49>>2] = $$sink3; - $50 = ($$01507>>>0)<($10>>>0); - if ($50) { - $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; - label = 12; - } else { - $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; - label = 10; - } - } - if ((label|0) == 10) { - $51 = $6 & 2; - $52 = ($51|0)==(0); - if ($52) { - $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; - label = 13; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; - label = 243; - } - } - else if ((label|0) == 12) { - $54 = ((($$sink1705)) + 1|0); - $55 = HEAP8[$$sink1705>>0]|0; - $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; - label = 13; - } - if ((label|0) == 13) { - $$sink9 = $$sink9$shrunk&255; - $56 = ((($0)) + 12|0); - HEAP32[$56>>2] = $$sink9; - $57 = ((($0)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = $58 << 8; - $60 = $59 | $$sink9; - $61 = (($60>>>0) % 31)&-1; - $62 = $$sink9 & 32; - $63 = $61 | $62; - $64 = $58 & 15; - $65 = ($64|0)!=(8); - $not$ = ($63|0)!=(0); - $$1754 = $65 | $not$; - $66 = $58 >>> 4; - $67 = 256 << $66; - $68 = ($67>>>0)>(32768); - $69 = ($20>>>0)<($67>>>0); - $$ = $68 | $69; - $not$1755 = $14 ^ 1; - $70 = $$ & $not$1755; - $$31100$v = $70 | $$1754; - if ($$31100$v) { - $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; - label = 243; - } else { - $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; - label = 14; - } - } - L46: while(1) { - switch (label|0) { - case 14: { - label = 0; - $71 = ($$5>>>0)<(3); - if ($71) { - $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; - label = 15; - } else { - $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; - label = 20; - } - break; - } - case 16: { - label = 0; - $73 = $6 & 2; - $74 = ($73|0)==(0); - if ($74) { - $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; - label = 19; - } else { - $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; - label = 243; - continue L46; - } - break; - } - case 18: { - label = 0; - $76 = ((($$sink1710)) + 1|0); - $77 = HEAP8[$$sink1710>>0]|0; - $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; - label = 19; - break; - } - case 25: { - label = 0; - $97 = $$13 & 7; - $98 = $$131322 >>> $97; - $99 = (($$13) - ($97))|0; - $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; - label = 26; - break; - } - case 30: { - label = 0; - $104 = $6 & 2; - $105 = ($104|0)==(0); - if ($105) { - $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; - label = 33; - } else { - $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; - label = 243; - continue L46; - } - break; - } - case 32: { - label = 0; - $107 = ((($$sink1713)) + 1|0); - $108 = HEAP8[$$sink1713>>0]|0; - $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; - label = 33; - break; - } - case 36: { - label = 0; - $118 = $6 & 2; - $119 = ($118|0)==(0); - if ($119) { - $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; - label = 39; - continue L46; - } else { - $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; - label = 243; - continue L46; - } - break; - } - case 39: { - label = 0; - $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); - HEAP8[$$sink13>>0] = $$sink12; - $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; - label = 41; - break; - } - case 43: { - label = 0; - $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; - label = 243; - continue L46; - break; - } - case 47: { - label = 0; - $150 = $6 & 2; - $151 = ($150|0)==(0); - if ($151) { - $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; - label = 50; - } else { - $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; - label = 243; - continue L46; - } - break; - } - case 49: { - label = 0; - $153 = ((($$sink1716)) + 1|0); - $154 = HEAP8[$$sink1716>>0]|0; - $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; - label = 50; - break; - } - case 52: { - label = 0; - $162 = ($$231630>>>0)<($12>>>0); - if (!($162)) { - $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; - label = 243; - continue L46; - } - $163 = $$271018&255; - $164 = ((($$231630)) + 1|0); - HEAP8[$$231630>>0] = $163; - $165 = (($$271124) + -1)|0; - $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; - label = 44; - break; - } - case 55: { - label = 0; - $167 = ($$251632>>>0)<($12>>>0); - if ($167) { - $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; - label = 56; - continue L46; - } else { - $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; - label = 243; - continue L46; - } - break; - } - case 56: { - label = 0; - $168 = ($$301537>>>0)<($10>>>0); - if ($168) { - $171 = $12; - $172 = $$261633; - $173 = (($171) - ($172))|0; - $174 = $10; - $175 = $$301537; - $176 = (($174) - ($175))|0; - $177 = ($173>>>0)<($176>>>0); - $$sink17 = $177 ? $12 : $10; - $$sink16 = $177 ? $$261633 : $$301537; - $178 = $$sink17; - $179 = $$sink16; - $180 = (($178) - ($179))|0; - $181 = ($180>>>0)<($$301127>>>0); - $$$301127 = $181 ? $180 : $$301127; - _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; - $182 = (($$301537) + ($$$301127)|0); - $183 = (($$261633) + ($$$301127)|0); - $184 = (($$301127) - ($$$301127))|0; - $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; - label = 54; - break; - } else { - $169 = $6 & 2; - $170 = ($169|0)==(0); - if ($170) { - $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; - label = 58; - continue L46; - } else { - $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; - label = 243; - continue L46; - } - } - break; - } - case 58: { - label = 0; - $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; - label = 243; - continue L46; - break; - } - case 60: { - label = 0; - $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; - label = 243; - continue L46; - break; - } - case 64: { - label = 0; - $191 = $6 & 2; - $192 = ($191|0)==(0); - if ($192) { - $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; - label = 67; - } else { - $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; - label = 243; - continue L46; - } - break; - } - case 66: { - label = 0; - $194 = ((($$sink1719)) + 1|0); - $195 = HEAP8[$$sink1719>>0]|0; - $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; - label = 67; - break; - } - case 73: { - label = 0; - $222 = $6 & 2; - $223 = ($222|0)==(0); - if ($223) { - $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; - label = 76; - } else { - $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; - label = 243; - continue L46; - } - break; - } - case 75: { - label = 0; - $225 = ((($$sink1722)) + 1|0); - $226 = HEAP8[$$sink1722>>0]|0; - $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; - label = 76; - break; - } - case 86: { - label = 0; - $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; - label = 243; - continue L46; - break; - } - case 114: { - label = 0; - $450 = $6 & 2; - $451 = ($450|0)==(0); - if ($451) { - $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; - label = 117; - } else { - $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; - label = 243; - continue L46; - } - break; - } - case 116: { - label = 0; - $453 = ((($$sink1729)) + 1|0); - $454 = HEAP8[$$sink1729>>0]|0; - $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; - label = 117; - break; - } - case 125: { - label = 0; - $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; - label = 243; - continue L46; - break; - } - case 128: { - label = 0; - $501 = $6 & 2; - $502 = ($501|0)==(0); - if ($502) { - $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; - label = 131; - } else { - $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; - label = 243; - continue L46; - } - break; - } - case 130: { - label = 0; - $504 = ((($$sink1732)) + 1|0); - $505 = HEAP8[$$sink1732>>0]|0; - $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; - label = 131; - break; - } - case 136: { - label = 0; - $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; - label = 243; - continue L46; - break; - } - case 151: { - label = 0; - $570 = $6 & 2; - $571 = ($570|0)==(0); - if ($571) { - $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; - label = 154; - } else { - $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; - label = 243; - continue L46; - } - break; - } - case 153: { - label = 0; - $573 = ((($$sink1736)) + 1|0); - $574 = HEAP8[$$sink1736>>0]|0; - $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; - label = 154; - break; - } - case 160: { - label = 0; - $610 = ($$591666>>>0)<($12>>>0); - if (!($610)) { - $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; - label = 243; - continue L46; - } - $611 = $$621159&255; - $612 = ((($$591666)) + 1|0); - HEAP8[$$591666>>0] = $611; - $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; - label = 140; - break; - } - case 180: { - label = 0; - $694 = $6 & 2; - $695 = ($694|0)==(0); - if ($695) { - $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; - label = 183; - } else { - $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; - label = 243; - continue L46; - } - break; - } - case 182: { - label = 0; - $697 = ((($$sink1739)) + 1|0); - $698 = HEAP8[$$sink1739>>0]|0; - $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; - label = 183; - break; - } - case 193: { - label = 0; - $735 = $6 & 2; - $736 = ($735|0)==(0); - if ($736) { - $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; - label = 196; - } else { - $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; - label = 243; - continue L46; - } - break; - } - case 195: { - label = 0; - $738 = ((($$sink1743)) + 1|0); - $739 = HEAP8[$$sink1743>>0]|0; - $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; - label = 196; - break; - } - case 204: { - label = 0; - $782 = $6 & 2; - $783 = ($782|0)==(0); - if ($783) { - $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; - label = 207; - } else { - $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; - label = 243; - continue L46; - } - break; - } - case 206: { - label = 0; - $785 = ((($$sink1746)) + 1|0); - $786 = HEAP8[$$sink1746>>0]|0; - $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; - label = 207; - break; - } - case 210: { - label = 0; - $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; - label = 243; - continue L46; - break; - } - case 213: { - label = 0; - $809 = ($$781685>>>0)<($12>>>0); - if (!($809)) { - $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; - label = 243; - continue L46; - } - $810 = (($$751491) + 1)|0; - $811 = (($$751491) - ($$791070))|0; - $812 = $811 & $$1753; - $813 = (($3) + ($812)|0); - $814 = HEAP8[$813>>0]|0; - $815 = ((($$781685)) + 1|0); - HEAP8[$$781685>>0] = $814; - $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; - label = 212; - break; - } - case 226: { - label = 0; - $849 = $$90 & 7; - $850 = $$901399 >>> $849; - $851 = (($$90) - ($849))|0; - $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; - label = 227; - break; - } - case 231: { - label = 0; - $856 = $6 & 2; - $857 = ($856|0)==(0); - if ($857) { - $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; - label = 234; - } else { - $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; - label = 243; - continue L46; - } - break; - } - case 233: { - label = 0; - $859 = ((($$sink1750)) + 1|0); - $860 = HEAP8[$$sink1750>>0]|0; - $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; - label = 234; - break; - } - case 237: { - label = 0; - $869 = $6 & 2; - $870 = ($869|0)==(0); - if ($870) { - $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; - label = 241; - continue L46; - } else { - $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; - label = 243; - continue L46; - } - break; - } - case 241: { - label = 0; - $878 = ((($0)) + 16|0); - $879 = HEAP32[$878>>2]|0; - $880 = $879 << 8; - $881 = $880 | $$0948; - HEAP32[$878>>2] = $881; - $882 = (($$931190) + 1)|0; - $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; - label = 227; - break; - } - case 242: { - label = 0; - $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; - label = 243; - continue L46; - break; - } - case 243: { - label = 0; - HEAP32[$0>>2] = $$sink30; - $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; - label = 244; - continue L46; - break; - } - case 244: { - label = 0; - HEAP32[$24>>2] = $$100; - HEAP32[$26>>2] = $$1001409; - HEAP32[$28>>2] = $$941085; - HEAP32[$30>>2] = $$961193; - HEAP32[$32>>2] = $$961299; - HEAP32[$34>>2] = $$901506; - $883 = $$991606; - $884 = $1; - $885 = (($883) - ($884))|0; - HEAP32[$2>>2] = $885; - $886 = $$941701; - $887 = $4; - $888 = (($886) - ($887))|0; - HEAP32[$5>>2] = $888; - $889 = $6 & 9; - $890 = ($889|0)!=(0); - $891 = ($$1961|0)>(-1); - $or$cond29 = $890 & $891; - if ($or$cond29) { - break L46; - } else { - $$0951 = $$1961; - label = 258; - break L46; - } - break; - } - } - switch (label|0) { - case 19: { - label = 0; - $$01413 = $$01413$shrunk&255; - $78 = $$01413 << $$8; - $79 = $78 | $$81317; - $80 = (($$8) + 8)|0; - $81 = ($80>>>0)<(3); - if ($81) { - $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; - label = 15; - } else { - $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; - label = 20; - } - break; - } - case 33: { - label = 0; - $$01411 = $$01411$shrunk&255; - $109 = $$01411 << $$17; - $110 = $109 | $$171326; - $111 = (($$17) + 8)|0; - $112 = ($$17>>>0)>(4294967287); - if ($112) { - $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; - label = 29; - } else { - $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; - label = 34; - } - break; - } - case 50: { - label = 0; - $$01410 = $$01410$shrunk&255; - $155 = $$01410 << $$26; - $156 = $155 | $$261335; - $157 = (($$26) + 8)|0; - $158 = ($$26>>>0)>(4294967287); - if ($158) { - $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; - label = 46; - } else { - $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; - label = 51; - } - break; - } - case 67: { - label = 0; - $$01300 = $$01300$shrunk&255; - $196 = $$01300 << $$37; - $197 = $196 | $$371346; - $198 = (($$37) + 8)|0; - $199 = (4312 + ($$361133)|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200 << 24 >> 24; - $202 = ($198>>>0)<($201>>>0); - if ($202) { - $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; - label = 63; - } else { - $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; - label = 68; - } - break; - } - case 76: { - label = 0; - $$01202 = $$01202$shrunk&255; - $227 = $$01202 << $$42; - $228 = $227 | $$421351; - $229 = (($$42) + 8)|0; - $230 = ($229>>>0)<(3); - if ($230) { - $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; - label = 72; - } else { - $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; - label = 77; - } - break; - } - case 117: { - label = 0; - $$0980 = $$0980$shrunk&255; - $455 = $$0980 << $$49; - $456 = $455 | $$491358; - $457 = (($$49) + 8)|0; - $458 = ($457>>>0)<(15); - if ($458) { - $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; - label = 108; - } else { - $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; - label = 119; - } - break; - } - case 131: { - label = 0; - $$0979 = $$0979$shrunk&255; - $506 = $$0979 << $$54; - $507 = $506 | $$541363; - $508 = (($$54) + 8)|0; - $509 = ($508>>>0)<($$541257>>>0); - if ($509) { - $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; - label = 127; - } else { - $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; - label = 132; - } - break; - } - case 154: { - label = 0; - $$0971 = $$0971$shrunk&255; - $575 = $$0971 << $$62; - $576 = $575 | $$621371; - $577 = (($$62) + 8)|0; - $578 = ($577>>>0)<(15); - if ($578) { - $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; - label = 145; - } else { - $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; - label = 156; - } - break; - } - case 183: { - label = 0; - $$0959 = $$0959$shrunk&255; - $699 = $$0959 << $$71; - $700 = $699 | $$711380; - $701 = (($$71) + 8)|0; - $702 = ($701>>>0)<($$681271>>>0); - if ($702) { - $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; - label = 179; - } else { - $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; - label = 184; - } - break; - } - case 196: { - label = 0; - $$0952 = $$0952$shrunk&255; - $740 = $$0952 << $$76; - $741 = $740 | $$761385; - $742 = (($$76) + 8)|0; - $743 = ($742>>>0)<(15); - if ($743) { - $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; - label = 187; - } else { - $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; - label = 198; - } - break; - } - case 207: { - label = 0; - $$0950 = $$0950$shrunk&255; - $787 = $$0950 << $$80; - $788 = $787 | $$801389; - $789 = (($$80) + 8)|0; - $790 = ($789>>>0)<($$761279>>>0); - if ($790) { - $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; - label = 203; - } else { - $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; - label = 208; - } - break; - } - case 227: { - label = 0; - $852 = ($$871184>>>0)<(4); - if (!($852)) { - $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; - label = 242; - continue L46; - } - $853 = ($$91|0)==(0); - if (!($853)) { - $854 = ($$91>>>0)<(8); - if ($854) { - $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; - label = 230; - break; - } else { - $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; - label = 235; - break; - } - } - $868 = ($$901597>>>0)<($10>>>0); - if (!($868)) { - $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; - label = 237; - continue L46; - } - $875 = ((($$901597)) + 1|0); - $876 = HEAP8[$$901597>>0]|0; - $877 = $876&255; - $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; - label = 241; - continue L46; - break; - } - case 234: { - label = 0; - $$0947 = $$0947$shrunk&255; - $861 = $$0947 << $$94; - $862 = $861 | $$941403; - $863 = (($$94) + 8)|0; - $864 = ($$94>>>0)>(4294967287); - if ($864) { - $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; - label = 230; - } else { - $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; - label = 235; - } - break; - } - } - L119: do { - if ((label|0) == 15) { - label = 0; - $72 = ($$51512>>>0)<($10>>>0); - if ($72) { - $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; - label = 18; - continue L46; - } else { - $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; - label = 16; - continue L46; - } - } - else if ((label|0) == 20) { - label = 0; - $82 = $$91318 & 7; - $83 = ((($0)) + 20|0); - HEAP32[$83>>2] = $82; - $84 = $$91318 >>> 3; - $85 = (($$9) + -3)|0; - $86 = $82 >>> 1; - $87 = ((($0)) + 24|0); - HEAP32[$87>>2] = $86; - $trunc = $86&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; - label = 25; - continue L46; - break; - } - case 3: { - $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; - label = 60; - continue L46; - break; - } - case 1: { - break; - } - default: { - $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; - label = 61; - break L119; - } - } - $240 = ((($0)) + 44|0); - HEAP32[$240>>2] = 288; - $241 = ((($0)) + 48|0); - HEAP32[$241>>2] = 32; - $242 = ((($0)) + 3552|0); - ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; - $scevgep19611962 = ((($0)) + 64|0); - _memset(($scevgep19611962|0),8,144)|0; - $scevgep1959 = ((($0)) + 208|0); - dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1957 = ((($0)) + 320|0); - dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1955 = ((($0)) + 344|0); - $243 = $scevgep1955; - $244 = $243; - HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; - $245 = (($243) + 4)|0; - $246 = $245; - HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; - $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; - label = 80; - } - else if ((label|0) == 230) { - label = 0; - $855 = ($$911598>>>0)<($10>>>0); - if ($855) { - $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; - label = 233; - continue L46; - } else { - $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; - label = 231; - continue L46; - } - } - else if ((label|0) == 235) { - label = 0; - $865 = $$951404 & 255; - $866 = $$951404 >>> 8; - $867 = (($$95) + -8)|0; - $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; - label = 241; - continue L46; - } - } while(0); - L125: while(1) { - L126: switch (label|0) { - case 26: { - label = 0; - $100 = ($$131110>>>0)<(4); - if (!($100)) { - $127 = ((($0)) + 10528|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = ((($0)) + 10529|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 << 8; - $134 = $133 | $129; - $135 = ((($0)) + 10530|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = ((($0)) + 10531|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $140 << 8; - $142 = $141 | $137; - $143 = $142 ^ 65535; - $144 = ($134|0)==($143|0); - if ($144) { - $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; - label = 44; - continue L125; - } else { - $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; - label = 43; - continue L46; - } - } - $101 = ($$14|0)==(0); - if (!($101)) { - $102 = ($$14>>>0)<(8); - if ($102) { - $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; - label = 29; - continue L125; - } else { - $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; - label = 34; - continue L125; - } - } - $117 = ($$131520>>>0)<($10>>>0); - if (!($117)) { - $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; - label = 36; - continue L46; - } - $123 = ((($$131520)) + 1|0); - $124 = HEAP8[$$131520>>0]|0; - $125 = (((($0)) + 10528|0) + ($$131110)|0); - HEAP8[$125>>0] = $124; - $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; - label = 41; - continue L125; - break; - } - case 29: { - label = 0; - $103 = ($$141521>>>0)<($10>>>0); - if ($103) { - $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; - label = 32; - continue L46; - } else { - $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; - label = 30; - continue L46; - } - break; - } - case 34: { - label = 0; - $113 = $$181327&255; - $114 = (((($0)) + 10528|0) + ($$171114)|0); - HEAP8[$114>>0] = $113; - $115 = $$181327 >>> 8; - $116 = (($$18) + -8)|0; - $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; - label = 41; - continue L125; - break; - } - case 41: { - label = 0; - $126 = (($$201117) + 1)|0; - $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; - label = 26; - continue L125; - break; - } - case 44: { - label = 0; - $145 = ($$221119|0)!=(0); - $146 = ($$23|0)!=(0); - $147 = $145 & $146; - if (!($147)) { - $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; - label = 54; - continue L125; - } - $148 = ($$23>>>0)<(8); - if ($148) { - $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; - label = 46; - continue L125; - } else { - $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; - label = 51; - continue L125; - } - break; - } - case 46: { - label = 0; - $149 = ($$231530>>>0)<($10>>>0); - if ($149) { - $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; - label = 49; - continue L46; - } else { - $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; - label = 47; - continue L46; - } - break; - } - case 51: { - label = 0; - $159 = $$271336 & 255; - $160 = $$271336 >>> 8; - $161 = (($$27) + -8)|0; - $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; - label = 52; - continue L46; - break; - } - case 54: { - label = 0; - $166 = ($$281125|0)==(0); - if ($166) { - $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; - label = 220; - break L125; - } else { - $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; - label = 55; - continue L46; - } - break; - } - case 61: { - label = 0; - $185 = ($$331130>>>0)<(3); - if ($185) { - $186 = (4312 + ($$331130)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 << 24 >> 24; - $189 = ($$34>>>0)<($188>>>0); - if ($189) { - $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; - label = 63; - continue L125; - } else { - $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; - label = 68; - continue L125; - } - } else { - $216 = ((($0)) + 7040|0); - _memset(($216|0),0,288)|0; - $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; - label = 70; - break; - } - break; - } - case 63: { - label = 0; - $190 = ($$341541>>>0)<($10>>>0); - if ($190) { - $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; - label = 66; - continue L46; - } else { - $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; - label = 64; - continue L46; - } - break; - } - case 68: { - label = 0; - $203 = (4312 + ($$371134)|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204 << 24 >> 24; - $206 = 1 << $205; - $207 = (($206) + -1)|0; - $208 = $207 & $$381347; - $209 = (((($0)) + 44|0) + ($$371134<<2)|0); - $210 = $$381347 >>> $205; - $211 = (($$38) - ($205))|0; - $212 = (68 + ($$371134<<2)|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($208) + ($213))|0; - HEAP32[$209>>2] = $214; - $215 = (($$371134) + 1)|0; - $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; - label = 61; - continue L125; - break; - } - case 72: { - label = 0; - $221 = ($$391546>>>0)<($10>>>0); - if ($221) { - $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; - label = 75; - continue L46; - } else { - $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; - label = 73; - continue L46; - } - break; - } - case 77: { - label = 0; - $231 = $$431352 & 7; - $232 = $$431352 >>> 3; - $233 = (($$43) + -3)|0; - $234 = $231&255; - $235 = (7138 + ($$421139)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (((($0)) + 7040|0) + ($237)|0); - HEAP8[$238>>0] = $234; - $239 = (($$421139) + 1)|0; - $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; - label = 70; - break; - } - case 80: { - label = 0; - $247 = ((($0)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)>(-1); - if ($249) { - dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); - _memset(($250|0),0,3200)|0; - $251 = HEAP32[$247>>2]|0; - $252 = (((($0)) + 44|0) + ($251<<2)|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($253|0)==(0); - if (!($254)) { - $255 = HEAP32[$247>>2]|0; - $256 = (((($0)) + 44|0) + ($255<<2)|0); - $257 = HEAP32[$256>>2]|0; - $$010951864 = 0; - while(1) { - $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (($8) + ($260<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$261>>2] = $263; - $264 = (($$010951864) + 1)|0; - $265 = ($264>>>0)<($257>>>0); - if ($265) { - $$010951864 = $264; - } else { - break; - } - } - } - $266 = ((($7)) + 4|0); - HEAP32[$266>>2] = 0; - HEAP32[$7>>2] = 0; - $267 = ((($8)) + 4|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 << 1; - $270 = ((($7)) + 8|0); - HEAP32[$270>>2] = $269; - $271 = ((($8)) + 8|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) + ($268))|0; - $274 = (($272) + ($269))|0; - $275 = $274 << 1; - $276 = ((($7)) + 12|0); - HEAP32[$276>>2] = $275; - $277 = ((($8)) + 12|0); - $278 = HEAP32[$277>>2]|0; - $279 = (($278) + ($273))|0; - $280 = (($278) + ($275))|0; - $281 = $280 << 1; - $282 = ((($7)) + 16|0); - HEAP32[$282>>2] = $281; - $283 = ((($8)) + 16|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) + ($279))|0; - $286 = (($284) + ($281))|0; - $287 = $286 << 1; - $288 = ((($7)) + 20|0); - HEAP32[$288>>2] = $287; - $289 = ((($8)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + ($285))|0; - $292 = (($290) + ($287))|0; - $293 = $292 << 1; - $294 = ((($7)) + 24|0); - HEAP32[$294>>2] = $293; - $295 = ((($8)) + 24|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + ($291))|0; - $298 = (($296) + ($293))|0; - $299 = $298 << 1; - $300 = ((($7)) + 28|0); - HEAP32[$300>>2] = $299; - $301 = ((($8)) + 28|0); - $302 = HEAP32[$301>>2]|0; - $303 = (($302) + ($297))|0; - $304 = (($302) + ($299))|0; - $305 = $304 << 1; - $306 = ((($7)) + 32|0); - HEAP32[$306>>2] = $305; - $307 = ((($8)) + 32|0); - $308 = HEAP32[$307>>2]|0; - $309 = (($308) + ($303))|0; - $310 = (($308) + ($305))|0; - $311 = $310 << 1; - $312 = ((($7)) + 36|0); - HEAP32[$312>>2] = $311; - $313 = ((($8)) + 36|0); - $314 = HEAP32[$313>>2]|0; - $315 = (($314) + ($309))|0; - $316 = (($314) + ($311))|0; - $317 = $316 << 1; - $318 = ((($7)) + 40|0); - HEAP32[$318>>2] = $317; - $319 = ((($8)) + 40|0); - $320 = HEAP32[$319>>2]|0; - $321 = (($320) + ($315))|0; - $322 = (($320) + ($317))|0; - $323 = $322 << 1; - $324 = ((($7)) + 44|0); - HEAP32[$324>>2] = $323; - $325 = ((($8)) + 44|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($321))|0; - $328 = (($326) + ($323))|0; - $329 = $328 << 1; - $330 = ((($7)) + 48|0); - HEAP32[$330>>2] = $329; - $331 = ((($8)) + 48|0); - $332 = HEAP32[$331>>2]|0; - $333 = (($332) + ($327))|0; - $334 = (($332) + ($329))|0; - $335 = $334 << 1; - $336 = ((($7)) + 52|0); - HEAP32[$336>>2] = $335; - $337 = ((($8)) + 52|0); - $338 = HEAP32[$337>>2]|0; - $339 = (($338) + ($333))|0; - $340 = (($338) + ($335))|0; - $341 = $340 << 1; - $342 = ((($7)) + 56|0); - HEAP32[$342>>2] = $341; - $343 = ((($8)) + 56|0); - $344 = HEAP32[$343>>2]|0; - $345 = (($344) + ($339))|0; - $346 = (($344) + ($341))|0; - $347 = $346 << 1; - $348 = ((($7)) + 60|0); - HEAP32[$348>>2] = $347; - $349 = ((($8)) + 60|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) + ($345))|0; - $352 = (($350) + ($347))|0; - $353 = $352 << 1; - $354 = ((($7)) + 64|0); - HEAP32[$354>>2] = $353; - $355 = ($353|0)!=(65536); - $356 = ($351>>>0)>(1); - $or$cond = $355 & $356; - if ($or$cond) { - $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; - label = 86; - continue L46; - } - $357 = HEAP32[$247>>2]|0; - $358 = (((($0)) + 44|0) + ($357<<2)|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==(0); - if ($360) { - $$lcssa1779 = $357; - } else { - $$010911856 = 0;$$011971855 = -1; - while(1) { - $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($362<<24>>24)==(0); - L142: do { - if ($364) { - $$41201 = $$011971855; - } else { - $365 = (($7) + ($363<<2)|0); - $366 = HEAP32[$365>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$365>>2] = $367; - $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; - while(1) { - $368 = $$010881838 << 1; - $369 = $$010861840 & 1; - $370 = $369 | $368; - $371 = (($$010871839) + -1)|0; - $372 = $$010861840 >>> 1; - $373 = ($371|0)==(0); - if ($373) { - break; - } else { - $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; - } - } - $374 = ($362&255)<(11); - if ($374) { - $375 = $363 << 9; - $376 = $375 | $$010911856; - $377 = $376&65535; - $378 = ($370>>>0)<(1024); - if (!($378)) { - $$41201 = $$011971855; - break; - } - $379 = 1 << $363; - $$110891852 = $370; - while(1) { - $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); - HEAP16[$380>>1] = $377; - $381 = (($$110891852) + ($379))|0; - $382 = ($381>>>0)<(1024); - if ($382) { - $$110891852 = $381; - } else { - $$41201 = $$011971855; - break L142; - } - } - } - $383 = $370 & 1023; - $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); - $385 = HEAP16[$384>>1]|0; - $386 = $385 << 16 >> 16; - $387 = ($385<<16>>16)==(0); - if ($387) { - $388 = (($$011971855) + -2)|0; - $389 = $$011971855&65535; - HEAP16[$384>>1] = $389; - $$01194 = $$011971855;$$11198 = $388; - } else { - $$01194 = $386;$$11198 = $$011971855; - } - $390 = $$010881838 >>> 9; - $391 = ($362&255)>(11); - $392 = $390 & 1; - $393 = (($392) - ($$01194))|0; - $394 = (($393) + -1)|0; - if ($391) { - $395 = $390 & 4194303; - $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; - while(1) { - $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); - $398 = HEAP16[$396>>1]|0; - $399 = ($398<<16>>16)==(0); - if ($399) { - $400 = $$211991845&65535; - HEAP16[$396>>1] = $400; - $401 = (($$211991845) + -2)|0; - $$21196 = $$211991845;$$31200 = $401; - } else { - $402 = $398 << 16 >> 16; - $$21196 = $402;$$31200 = $$211991845; - } - $403 = (($$010941846) + -1)|0; - $404 = ($403>>>0)>(11); - $405 = $406 >>> 1; - $407 = $405 & 1; - $408 = (($407) - ($$21196))|0; - $409 = (($408) + -1)|0; - if ($404) { - $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; - } else { - $$21199$lcssa = $$31200;$$lcssa1778 = $409; - break; - } - } - } else { - $$21199$lcssa = $$11198;$$lcssa1778 = $394; - } - $410 = $$010911856&65535; - $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); - HEAP16[$411>>1] = $410; - $$41201 = $$21199$lcssa; - } - } while(0); - $412 = (($$010911856) + 1)|0; - $413 = HEAP32[$247>>2]|0; - $414 = (((($0)) + 44|0) + ($413<<2)|0); - $415 = HEAP32[$414>>2]|0; - $416 = ($412>>>0)<($415>>>0); - if ($416) { - $$010911856 = $412;$$011971855 = $$41201; - } else { - $$lcssa1779 = $413; - break; - } - } - } - $417 = ($$lcssa1779|0)==(2); - if ($417) { - $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; - label = 105; - } else { - $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; - label = 138; - } - } else { - $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; - label = 139; - } - break; - } - case 108: { - label = 0; - $429 = $$471356 & 1023; - $430 = (((($0)) + 7328|0) + ($429<<1)|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431 << 16 >> 16; - $433 = ($431<<16>>16)>(-1); - if ($433) { - $434 = $432 >> 9; - $435 = (($434) + -1)|0; - $436 = ($435>>>0)<($$47>>>0); - if ($436) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } else { - label = 113; - break L125; - } - } - $437 = ($$47>>>0)>(10); - if ($437) { - $$0981 = 10;$$0984 = $432; - } else { - label = 113; - break L125; - } - while(1) { - $438 = $$0984 ^ -1; - $439 = $$471356 >>> $$0981; - $440 = $439 & 1; - $441 = (($440) + ($438))|0; - $442 = (((($0)) + 9376|0) + ($441<<1)|0); - $443 = HEAP16[$442>>1]|0; - $444 = ($443<<16>>16)<(0); - if (!($444)) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } - $445 = (($$0981) + 1)|0; - $446 = $443 << 16 >> 16; - $447 = (($$0981) + 2)|0; - $448 = ($$47>>>0)<($447>>>0); - if ($448) { - label = 113; - break L125; - } else { - $$0981 = $445;$$0984 = $446; - } - } - break; - } - case 119: { - label = 0; - $471 = $$501359 & 1023; - $472 = (((($0)) + 7328|0) + ($471<<1)|0); - $473 = HEAP16[$472>>1]|0; - $474 = $473 << 16 >> 16; - $475 = ($473<<16>>16)>(-1); - if ($475) { - $476 = $474 >> 9; - $477 = $474 & 511; - $$2983 = $476;$$2986 = $477; - } else { - $$1982 = 10;$$1985 = $474; - while(1) { - $478 = $$1985 ^ -1; - $479 = (($$1982) + 1)|0; - $480 = $$501359 >>> $$1982; - $481 = $480 & 1; - $482 = (($481) + ($478))|0; - $483 = (((($0)) + 9376|0) + ($482<<1)|0); - $484 = HEAP16[$483>>1]|0; - $485 = $484 << 16 >> 16; - $486 = ($484<<16>>16)<(0); - if ($486) { - $$1982 = $479;$$1985 = $485; - } else { - $$2983 = $479;$$2986 = $485; - break; - } - } - } - $487 = $$501359 >>> $$2983; - $488 = (($$50) - ($$2983))|0; - $489 = ($$2986>>>0)<(16); - if ($489) { - $490 = $$2986&255; - $491 = (($$491146) + 1)|0; - $492 = (((($0)) + 10532|0) + ($$491146)|0); - HEAP8[$492>>0] = $490; - $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; - label = 105; - break; - } - $493 = ($$2986|0)!=(16); - $494 = ($$491146|0)!=(0); - $or$cond24 = $494 | $493; - if (!($or$cond24)) { - $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; - label = 125; - continue L46; - } - $495 = (($$2986) + -16)|0; - $496 = (4316 + ($495)|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497 << 24 >> 24; - $499 = ($488>>>0)<($498>>>0); - if ($499) { - $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; - label = 127; - continue L125; - } else { - $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; - label = 132; - continue L125; - } - break; - } - case 127: { - label = 0; - $500 = ($$511558>>>0)<($10>>>0); - if ($500) { - $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; - label = 130; - continue L46; - } else { - $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; - label = 128; - continue L46; - } - break; - } - case 132: { - label = 0; - $510 = 1 << $$551258; - $511 = (($510) + -1)|0; - $512 = $511 & $$551364; - $513 = $$551364 >>> $$551258; - $514 = (($$55) - ($$551258))|0; - $515 = (($$531044) + -16)|0; - $516 = (4320 + ($515)|0); - $517 = HEAP8[$516>>0]|0; - $518 = $517 << 24 >> 24; - $519 = (($518) + ($512))|0; - $520 = (((($0)) + 10532|0) + ($$541151)|0); - $521 = ($$531044|0)==(16); - if ($521) { - $522 = (($$541151) + -1)|0; - $523 = (((($0)) + 10532|0) + ($522)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - _memset(($520|0),($526|0),($519|0))|0; - $528 = (($519) + ($$541151))|0; - $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; - label = 105; - break; - } - case 140: { - label = 0; - $539 = $10; - $540 = $$581565$ph; - $541 = (($539) - ($540))|0; - $542 = ($541|0)<(4); - $543 = ($$59$ph>>>0)<(15); - L241: do { - if ($542) { - $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; - } else { - $544 = $12; - $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; - while(1) { - $545 = $$5416611868; - $546 = (($544) - ($545))|0; - $547 = ($546|0)<(2); - if ($547) { - $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; - break L241; - } - if ($965) { - $613 = HEAP8[$$5815651869>>0]|0; - $614 = $613&255; - $615 = ((($$5815651869)) + 1|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $618 = $617 << 8; - $619 = $618 | $614; - $620 = $619 << $$591872; - $621 = $620 | $$5913681870; - $622 = ((($$5815651869)) + 2|0); - $623 = (($$591872) + 16)|0; - $$641571 = $622;$$65 = $623;$$651374 = $621; - } else { - $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; - } - $624 = $$651374 & 1023; - $625 = (((($0)) + 352|0) + ($624<<1)|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626 << 16 >> 16; - $628 = ($626<<16>>16)>(-1); - if ($628) { - $629 = $627 >> 9; - $$1964 = $629;$$1968 = $627; - } else { - $$0963 = 10;$$0967 = $627; - while(1) { - $630 = $$0967 ^ -1; - $631 = (($$0963) + 1)|0; - $632 = $$651374 >>> $$0963; - $633 = $632 & 1; - $634 = (($633) + ($630))|0; - $635 = (((($0)) + 2400|0) + ($634<<1)|0); - $636 = HEAP16[$635>>1]|0; - $637 = $636 << 16 >> 16; - $638 = ($636<<16>>16)<(0); - if ($638) { - $$0963 = $631;$$0967 = $637; - } else { - $$1964 = $631;$$1968 = $637; - break; - } - } - } - $639 = $$651374 >>> $$1964; - $640 = (($$65) - ($$1964))|0; - $641 = $$1968 & 256; - $642 = ($641|0)==(0); - if (!($642)) { - $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; - label = 176; - break L126; - } - $643 = ($640>>>0)<(15); - if ($643) { - $644 = HEAP8[$$641571>>0]|0; - $645 = $644&255; - $646 = ((($$641571)) + 1|0); - $647 = HEAP8[$646>>0]|0; - $648 = $647&255; - $649 = $648 << 8; - $650 = $649 | $645; - $651 = $650 << $640; - $652 = $651 | $639; - $653 = ((($$641571)) + 2|0); - $654 = (($640) + 16)|0; - $$651572 = $653;$$66 = $654;$$661375 = $652; - } else { - $$651572 = $$641571;$$66 = $640;$$661375 = $639; - } - $655 = $$661375 & 1023; - $656 = (((($0)) + 352|0) + ($655<<1)|0); - $657 = HEAP16[$656>>1]|0; - $658 = $657 << 16 >> 16; - $659 = ($657<<16>>16)>(-1); - if ($659) { - $660 = $658 >> 9; - $$3966 = $660;$$3970 = $658; - } else { - $$2965 = 10;$$2969 = $658; - while(1) { - $661 = $$2969 ^ -1; - $662 = (($$2965) + 1)|0; - $663 = $$661375 >>> $$2965; - $664 = $663 & 1; - $665 = (($664) + ($661))|0; - $666 = (((($0)) + 2400|0) + ($665<<1)|0); - $667 = HEAP16[$666>>1]|0; - $668 = $667 << 16 >> 16; - $669 = ($667<<16>>16)<(0); - if ($669) { - $$2965 = $662;$$2969 = $668; - } else { - $$3966 = $662;$$3970 = $668; - break; - } - } - } - $670 = $$661375 >>> $$3966; - $671 = (($$66) - ($$3966))|0; - $672 = $$1968&255; - HEAP8[$$5416611868>>0] = $672; - $673 = $$3970 & 256; - $674 = ($673|0)==(0); - if (!($674)) { - break; - } - $676 = $$3970&255; - $677 = ((($$5416611868)) + 1|0); - HEAP8[$677>>0] = $676; - $678 = ((($$5416611868)) + 2|0); - $679 = $$651572; - $680 = (($539) - ($679))|0; - $681 = ($680|0)<(4); - $682 = ($671>>>0)<(15); - if ($681) { - $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; - break L241; - } else { - $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; - } - } - $675 = ((($$5416611868)) + 1|0); - $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; - label = 176; - break L126; - } - } while(0); - if (!($$lcssa1799)) { - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; - label = 156; - continue L125; - } - $548 = ($$lcssa1802|0)<(2); - if ($548) { - $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; - label = 145; - continue L125; - } - $579 = HEAP8[$$581565$lcssa>>0]|0; - $580 = $579&255; - $581 = $580 << $$59$lcssa; - $582 = ((($$581565$lcssa)) + 1|0); - $583 = HEAP8[$582>>0]|0; - $584 = $583&255; - $585 = (($$59$lcssa) + 8)|0; - $586 = $584 << $585; - $587 = $581 | $$591368$lcssa; - $588 = $587 | $586; - $589 = ((($$581565$lcssa)) + 2|0); - $590 = (($$59$lcssa) + 16)|0; - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; - label = 156; - continue L125; - break; - } - case 145: { - label = 0; - $549 = $$601369 & 1023; - $550 = (((($0)) + 352|0) + ($549<<1)|0); - $551 = HEAP16[$550>>1]|0; - $552 = $551 << 16 >> 16; - $553 = ($551<<16>>16)>(-1); - if ($553) { - $554 = $552 >> 9; - $555 = (($554) + -1)|0; - $556 = ($555>>>0)<($$60>>>0); - if ($556) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } else { - label = 150; - break L125; - } - } - $557 = ($$60>>>0)>(10); - if ($557) { - $$0972 = 10;$$0975 = $552; - } else { - label = 150; - break L125; - } - while(1) { - $558 = $$0975 ^ -1; - $559 = $$601369 >>> $$0972; - $560 = $559 & 1; - $561 = (($560) + ($558))|0; - $562 = (((($0)) + 2400|0) + ($561<<1)|0); - $563 = HEAP16[$562>>1]|0; - $564 = ($563<<16>>16)<(0); - if (!($564)) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } - $565 = (($$0972) + 1)|0; - $566 = $563 << 16 >> 16; - $567 = (($$0972) + 2)|0; - $568 = ($$60>>>0)<($567>>>0); - if ($568) { - label = 150; - break L125; - } else { - $$0972 = $565;$$0975 = $566; - } - } - break; - } - case 156: { - label = 0; - $591 = $$631372 & 1023; - $592 = (((($0)) + 352|0) + ($591<<1)|0); - $593 = HEAP16[$592>>1]|0; - $594 = $593 << 16 >> 16; - $595 = ($593<<16>>16)>(-1); - if ($595) { - $596 = $594 >> 9; - $597 = $594 & 511; - $$2974 = $596;$$2977 = $597; - } else { - $$1973 = 10;$$1976 = $594; - while(1) { - $598 = $$1976 ^ -1; - $599 = (($$1973) + 1)|0; - $600 = $$631372 >>> $$1973; - $601 = $600 & 1; - $602 = (($601) + ($598))|0; - $603 = (((($0)) + 2400|0) + ($602<<1)|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = ($604<<16>>16)<(0); - if ($606) { - $$1973 = $599;$$1976 = $605; - } else { - $$2974 = $599;$$2977 = $605; - break; - } - } - } - $607 = $$631372 >>> $$2974; - $608 = (($$63) - ($$2974))|0; - $609 = ($$2977>>>0)>(255); - if ($609) { - $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; - label = 176; - } else { - $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; - label = 160; - continue L46; - } - break; - } - case 179: { - label = 0; - $693 = ($$681575>>>0)<($10>>>0); - if ($693) { - $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; - label = 182; - continue L46; - } else { - $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; - label = 180; - continue L46; - } - break; - } - case 184: { - label = 0; - $703 = 1 << $$691272; - $704 = (($703) + -1)|0; - $705 = $704 & $$721381; - $706 = $$721381 >>> $$691272; - $707 = (($$72) - ($$691272))|0; - $708 = (($705) + ($$681165))|0; - $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; - label = 185; - break; - } - case 187: { - label = 0; - $714 = $$741383 & 1023; - $715 = (((($0)) + 3840|0) + ($714<<1)|0); - $716 = HEAP16[$715>>1]|0; - $717 = $716 << 16 >> 16; - $718 = ($716<<16>>16)>(-1); - if ($718) { - $719 = $717 >> 9; - $720 = (($719) + -1)|0; - $721 = ($720>>>0)<($$74>>>0); - if ($721) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } else { - label = 192; - break L125; - } - } - $722 = ($$74>>>0)>(10); - if ($722) { - $$0953 = 10;$$0956 = $717; - } else { - label = 192; - break L125; - } - while(1) { - $723 = $$0956 ^ -1; - $724 = $$741383 >>> $$0953; - $725 = $724 & 1; - $726 = (($725) + ($723))|0; - $727 = (((($0)) + 5888|0) + ($726<<1)|0); - $728 = HEAP16[$727>>1]|0; - $729 = ($728<<16>>16)<(0); - if (!($729)) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } - $730 = (($$0953) + 1)|0; - $731 = $728 << 16 >> 16; - $732 = (($$0953) + 2)|0; - $733 = ($$74>>>0)<($732>>>0); - if ($733) { - label = 192; - break L125; - } else { - $$0953 = $730;$$0956 = $731; - } - } - break; - } - case 198: { - label = 0; - $756 = $$771386 & 1023; - $757 = (((($0)) + 3840|0) + ($756<<1)|0); - $758 = HEAP16[$757>>1]|0; - $759 = $758 << 16 >> 16; - $760 = ($758<<16>>16)>(-1); - if ($760) { - $761 = $759 >> 9; - $762 = $759 & 511; - $$2955 = $761;$$2958 = $762; - } else { - $$1954 = 10;$$1957 = $759; - while(1) { - $763 = $$1957 ^ -1; - $764 = (($$1954) + 1)|0; - $765 = $$771386 >>> $$1954; - $766 = $765 & 1; - $767 = (($766) + ($763))|0; - $768 = (((($0)) + 5888|0) + ($767<<1)|0); - $769 = HEAP16[$768>>1]|0; - $770 = $769 << 16 >> 16; - $771 = ($769<<16>>16)<(0); - if ($771) { - $$1954 = $764;$$1957 = $770; - } else { - $$2955 = $764;$$2958 = $770; - break; - } - } - } - $772 = $$771386 >>> $$2955; - $773 = (($$77) - ($$2955))|0; - $774 = (3528 + ($$2958<<2)|0); - $775 = HEAP32[$774>>2]|0; - $776 = (3400 + ($$2958<<2)|0); - $777 = HEAP32[$776>>2]|0; - $778 = (($$2958) + -4)|0; - $779 = ($778>>>0)<(26); - if ($779) { - $780 = ($773>>>0)<($775>>>0); - if ($780) { - $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; - label = 203; - continue L125; - } else { - $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; - label = 208; - continue L125; - } - } else { - $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; - label = 209; - } - break; - } - case 203: { - label = 0; - $781 = ($$771584>>>0)<($10>>>0); - if ($781) { - $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; - label = 206; - continue L46; - } else { - $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; - label = 204; - continue L46; - } - break; - } - case 208: { - label = 0; - $791 = 1 << $$771280; - $792 = (($791) + -1)|0; - $793 = $792 & $$811390; - $794 = $$811390 >>> $$771280; - $795 = (($$81) - ($$771280))|0; - $796 = (($793) + ($$751066))|0; - $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; - label = 209; - break; - } - case 212: { - label = 0; - $807 = (($$801177) + -1)|0; - $808 = ($$801177|0)==(0); - if ($808) { - $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; - label = 139; - } else { - $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; - label = 213; - continue L46; - } - break; - } - } - do { - if ((label|0) == 70) { - label = 0; - $217 = ((($0)) + 52|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($$381135>>>0)<($218>>>0); - if ($219) { - $220 = ($$39>>>0)<(3); - if ($220) { - $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; - label = 72; - continue L125; - } else { - $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; - label = 77; - continue L125; - } - } else { - HEAP32[$217>>2] = 19; - $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; - label = 80; - continue L125; - } - } - else if ((label|0) == 105) { - label = 0; - $418 = ((($0)) + 44|0); - $419 = HEAP32[$418>>2]|0; - $420 = ((($0)) + 48|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + ($419))|0; - $423 = ($$451142>>>0)<($422>>>0); - if (!($423)) { - $529 = ($422|0)==($$451142|0); - if (!($529)) { - $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; - label = 136; - continue L46; - } - $530 = ((($0)) + 64|0); - $531 = ((($0)) + 10532|0); - _memcpy(($530|0),($531|0),($419|0))|0; - $532 = ((($0)) + 3552|0); - $533 = HEAP32[$418>>2]|0; - $534 = (((($0)) + 10532|0) + ($533)|0); - $535 = HEAP32[$420>>2]|0; - _memcpy(($532|0),($534|0),($535|0))|0; - $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; - label = 138; - break; - } - $424 = ($$46>>>0)<(15); - if (!($424)) { - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; - label = 119; - continue L125; - } - $425 = $10; - $426 = $$451552; - $427 = (($425) - ($426))|0; - $428 = ($427|0)<(2); - if ($428) { - $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; - label = 108; - continue L125; - } - $459 = HEAP8[$$451552>>0]|0; - $460 = $459&255; - $461 = $460 << $$46; - $462 = ((($$451552)) + 1|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = (($$46) + 8)|0; - $466 = $464 << $465; - $467 = $461 | $$461355; - $468 = $467 | $466; - $469 = ((($$451552)) + 2|0); - $470 = (($$46) + 16)|0; - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; - label = 119; - continue L125; - } - else if ((label|0) == 176) { - label = 0; - $683 = $$641161 & 511; - $684 = ($683|0)==(256); - if ($684) { - $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; - label = 220; - break L125; - } - $685 = (($683) + -257)|0; - $686 = (3276 + ($685<<2)|0); - $687 = HEAP32[$686>>2]|0; - $688 = (3152 + ($685<<2)|0); - $689 = HEAP32[$688>>2]|0; - $690 = (($683) + -265)|0; - $691 = ($690>>>0)<(20); - if ($691) { - $692 = ($$68>>>0)<($687>>>0); - if ($692) { - $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; - label = 179; - continue L125; - } else { - $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; - label = 184; - continue L125; - } - } else { - $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; - label = 185; - } - } - else if ((label|0) == 209) { - label = 0; - $797 = $$751682; - $798 = $3; - $799 = (($797) - ($798))|0; - $$not = ($799>>>0)>=($$761067>>>0); - $$not1747 = $14 ^ 1; - $brmerge = $$not | $$not1747; - if (!($brmerge)) { - $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; - label = 210; - continue L46; - } - $800 = (($799) - ($$761067))|0; - $801 = $800 & $$1753; - $802 = (($3) + ($801)|0); - $803 = ($$751682>>>0)>($802>>>0); - $804 = $803 ? $$751682 : $802; - $805 = (($804) + ($$781175)|0); - $806 = ($805>>>0)>($12>>>0); - if ($806) { - $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; - label = 212; - continue L125; - } else { - $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; - } - while(1) { - $816 = HEAP8[$$0978>>0]|0; - HEAP8[$$791686>>0] = $816; - $817 = ((($$0978)) + 1|0); - $818 = HEAP8[$817>>0]|0; - $819 = ((($$791686)) + 1|0); - HEAP8[$819>>0] = $818; - $820 = ((($$0978)) + 2|0); - $821 = HEAP8[$820>>0]|0; - $822 = ((($$791686)) + 2|0); - HEAP8[$822>>0] = $821; - $823 = ((($$791686)) + 3|0); - $824 = ((($$0978)) + 3|0); - $825 = (($$821179) + -3)|0; - $826 = ($825|0)>(2); - if ($826) { - $$0978 = $824;$$791686 = $823;$$821179 = $825; - } else { - break; - } - } - $827 = ($825|0)>(0); - if ($827) { - $828 = HEAP8[$824>>0]|0; - HEAP8[$823>>0] = $828; - $829 = ($825|0)==(1); - if (!($829)) { - $830 = ((($$0978)) + 4|0); - $831 = HEAP8[$830>>0]|0; - $832 = ((($$791686)) + 4|0); - HEAP8[$832>>0] = $831; - } - $833 = (($823) + ($825)|0); - $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } else { - $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } - } - } while(0); - if ((label|0) == 138) { - label = 0; - $536 = ((($0)) + 24|0); - $537 = HEAP32[$536>>2]|0; - $538 = (($537) + -1)|0; - HEAP32[$536>>2] = $538; - $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; - label = 80; - continue; - } - else if ((label|0) == 139) { - label = 0; - $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; - label = 140; - continue; - } - else if ((label|0) == 185) { - label = 0; - $709 = ($$73>>>0)<(15); - if (!($709)) { - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; - label = 198; - continue; - } - $710 = $10; - $711 = $$721579; - $712 = (($710) - ($711))|0; - $713 = ($712|0)<(2); - if ($713) { - $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; - label = 187; - continue; - } - $744 = HEAP8[$$721579>>0]|0; - $745 = $744&255; - $746 = $745 << $$73; - $747 = ((($$721579)) + 1|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748&255; - $750 = (($$73) + 8)|0; - $751 = $749 << $750; - $752 = $746 | $$731382; - $753 = $752 | $751; - $754 = ((($$721579)) + 2|0); - $755 = (($$73) + 16)|0; - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; - label = 198; - continue; - } - } - if ((label|0) == 113) { - label = 0; - $449 = ($$461553>>>0)<($10>>>0); - if ($449) { - $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; - label = 116; - continue; - } else { - $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; - label = 114; - continue; - } - } - else if ((label|0) == 150) { - label = 0; - $569 = ($$591566>>>0)<($10>>>0); - if ($569) { - $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; - label = 153; - continue; - } else { - $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; - label = 151; - continue; - } - } - else if ((label|0) == 192) { - label = 0; - $734 = ($$731580>>>0)<($10>>>0); - if ($734) { - $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; - label = 195; - continue; - } else { - $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; - label = 193; - continue; - } - } - else if ((label|0) == 220) { - label = 0; - $834 = ((($0)) + 20|0); - $835 = HEAP32[$834>>2]|0; - $836 = $835 & 1; - $837 = ($836|0)==(0); - if ($837) { - $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; - label = 14; - continue; - } - $838 = $6 & 1; - $839 = ($838|0)==(0); - if ($839) { - $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; - label = 242; - continue; - } else { - $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; - label = 226; - continue; - } - } - } - if ((label|0) == 258) { - STACKTOP = sp;return ($$0951|0); - } - $892 = ((($0)) + 28|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & 65535; - $895 = $893 >>> 16; - $896 = ($888|0)==(0); - if ($896) { - $$0937$lcssa = $895;$$0938$lcssa = $894; - } else { - $897 = (($888>>>0) % 5552)&-1; - $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; - while(1) { - $898 = ($$01834>>>0)>(7); - if ($898) { - $899 = (($$01834) + -8)|0; - $900 = $899 & -8; - $scevgep = ((($$09441830)) + 8|0); - $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; - while(1) { - $904 = HEAP8[$$19451815>>0]|0; - $905 = $904&255; - $906 = (($905) + ($$19391817))|0; - $907 = (($906) + ($$11818))|0; - $908 = ((($$19451815)) + 1|0); - $909 = HEAP8[$908>>0]|0; - $910 = $909&255; - $911 = (($906) + ($910))|0; - $912 = (($907) + ($911))|0; - $913 = ((($$19451815)) + 2|0); - $914 = HEAP8[$913>>0]|0; - $915 = $914&255; - $916 = (($911) + ($915))|0; - $917 = (($912) + ($916))|0; - $918 = ((($$19451815)) + 3|0); - $919 = HEAP8[$918>>0]|0; - $920 = $919&255; - $921 = (($916) + ($920))|0; - $922 = (($917) + ($921))|0; - $923 = ((($$19451815)) + 4|0); - $924 = HEAP8[$923>>0]|0; - $925 = $924&255; - $926 = (($921) + ($925))|0; - $927 = (($922) + ($926))|0; - $928 = ((($$19451815)) + 5|0); - $929 = HEAP8[$928>>0]|0; - $930 = $929&255; - $931 = (($926) + ($930))|0; - $932 = (($927) + ($931))|0; - $933 = ((($$19451815)) + 6|0); - $934 = HEAP8[$933>>0]|0; - $935 = $934&255; - $936 = (($931) + ($935))|0; - $937 = (($932) + ($936))|0; - $938 = ((($$19451815)) + 7|0); - $939 = HEAP8[$938>>0]|0; - $940 = $939&255; - $941 = (($936) + ($940))|0; - $942 = (($937) + ($941))|0; - $943 = (($$09411816) + 8)|0; - $944 = ((($$19451815)) + 8|0); - $945 = $943 | 7; - $946 = ($945>>>0)<($$01834>>>0); - if ($946) { - $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; - } else { - break; - } - } - $901 = (($900) + 8)|0; - $scevgep1947 = (($scevgep) + ($900)|0); - $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; - } else { - $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; - } - $902 = ($$01834>>>0)>($$0941$lcssa>>>0); - if ($902) { - $903 = (($$01834) - ($$0941$lcssa))|0; - $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; - while(1) { - $947 = ((($$29461822)) + 1|0); - $948 = HEAP8[$$29461822>>0]|0; - $949 = $948&255; - $950 = (($949) + ($$29401824))|0; - $951 = (($950) + ($$21825))|0; - $952 = (($$19421823) + 1)|0; - $exitcond = ($952|0)==($$01834|0); - if ($exitcond) { - break; - } else { - $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; - } - } - $scevgep1948 = (($$1945$lcssa) + ($903)|0); - $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; - } else { - $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; - } - $953 = (($$2940$lcssa>>>0) % 65521)&-1; - $954 = (($$2$lcssa>>>0) % 65521)&-1; - $955 = (($$09431831) - ($$01834))|0; - $956 = ($955|0)==(0); - if ($956) { - $$0937$lcssa = $954;$$0938$lcssa = $953; - break; - } else { - $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; - } - } - } - $957 = $$0937$lcssa << 16; - $958 = $957 | $$0938$lcssa; - HEAP32[$892>>2] = $958; - $959 = ($$1961|0)!=(0); - $960 = $6 & 1; - $961 = ($960|0)==(0); - $or$cond1752 = $961 | $959; - if ($or$cond1752) { - $$0951 = $$1961; - STACKTOP = sp;return ($$0951|0); - } else { - $962 = ((($0)) + 16|0); - $963 = HEAP32[$962>>2]|0; - $964 = ($958|0)==($963|0); - $$1961$ = $964 ? $$1961 : -2; - STACKTOP = sp;return ($$1961$|0); - } - return (0)|0; -} -function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); - $5 = sp + 11000|0; - $6 = sp; - $7 = sp + 8|0; - HEAP32[$5>>2] = $1; - HEAP32[$6>>2] = $3; - HEAP32[$7>>2] = 0; - $8 = $4 & -7; - $9 = $8 | 4; - $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); - $11 = ($10|0)!=(0); - $12 = HEAP32[$5>>2]|0; - $13 = $11 ? -1 : $12; - STACKTOP = sp;return ($13|0); -} -function _LoadResource($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$05664 = 0, $$05763 = 0, $$065 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0; - var $or$cond60 = 0, $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 64|0; - $3 = sp + 32|0; - $4 = (_fopen($0,5428)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(1,4324,$vararg_buffer); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - (_fread($2,1,1,$4)|0); - $6 = ((($2)) + 1|0); - (_fread($6,1,1,$4)|0); - $7 = ((($2)) + 2|0); - (_fread($7,1,1,$4)|0); - $8 = ((($2)) + 3|0); - (_fread($8,1,1,$4)|0); - $9 = ((($2)) + 4|0); - (_fread($9,2,1,$4)|0); - $10 = ((($2)) + 6|0); - (_fread($10,2,1,$4)|0); - $11 = HEAP8[$2>>0]|0; - $12 = ($11<<24>>24)==(114); - $13 = HEAP8[$6>>0]|0; - $14 = ($13<<24>>24)==(82); - $or$cond = $12 | $14; - $15 = HEAP8[$7>>0]|0; - $16 = ($15<<24>>24)==(69); - $or$cond60 = $or$cond | $16; - $17 = HEAP8[$8>>0]|0; - $18 = ($17<<24>>24)==(83); - $or$cond62 = $or$cond60 | $18; - if ($or$cond62) { - $19 = HEAP16[$10>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $$0$lcssa = 0; - } else { - $21 = ((($3)) + 7|0); - $22 = ((($3)) + 4|0); - $23 = ((($3)) + 16|0); - $24 = ((($3)) + 20|0); - $25 = ((($3)) + 24|0); - $26 = ((($3)) + 28|0); - $27 = ((($3)) + 8|0); - $28 = ((($3)) + 5|0); - $29 = ((($3)) + 12|0); - $30 = HEAP16[$10>>1]|0; - $31 = $30&65535; - $32 = ((($3)) + 8|0); - $$05664 = 0;$$065 = 0; - while(1) { - (_fread($3,32,1,$4)|0); - $36 = HEAP32[$3>>2]|0; - $37 = ($36|0)==($1|0); - if ($37) { - $38 = HEAP8[$21>>0]|0; - $39 = $38&255; - $40 = ($39*24)|0; - $41 = (_malloc($40)|0); - $42 = ($38<<24>>24)==(0); - if ($42) { - $$1 = $41; - } else { - $$05763 = 0; - while(1) { - $43 = HEAP8[$22>>0]|0; - $44 = $43&255; - $45 = (($41) + (($$05763*24)|0)|0); - HEAP32[$45>>2] = $44; - $46 = HEAP32[$23>>2]|0; - $47 = (((($41) + (($$05763*24)|0)|0)) + 4|0); - HEAP32[$47>>2] = $46; - $48 = HEAP32[$24>>2]|0; - $49 = (((($41) + (($$05763*24)|0)|0)) + 8|0); - HEAP32[$49>>2] = $48; - $50 = HEAP32[$25>>2]|0; - $51 = (((($41) + (($$05763*24)|0)|0)) + 12|0); - HEAP32[$51>>2] = $50; - $52 = HEAP32[$26>>2]|0; - $53 = (((($41) + (($$05763*24)|0)|0)) + 16|0); - HEAP32[$53>>2] = $52; - $54 = HEAP32[$27>>2]|0; - $55 = (_malloc($54)|0); - (_fread($55,$54,1,$4)|0); - $56 = HEAP8[$28>>0]|0; - $57 = ($56<<24>>24)==(1); - if ($57) { - $58 = HEAP32[$27>>2]|0; - $59 = HEAP32[$29>>2]|0; - $60 = (_DecompressData($55,$58,$59)|0); - $61 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$61>>2] = $60; - _free($55); - } else { - $62 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$62>>2] = $55; - } - $63 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $66; - _TraceLog(0,4421,$vararg_buffer4); - } - (_fread($3,32,1,$4)|0); - $67 = (($$05763) + 1)|0; - $68 = HEAP8[$21>>0]|0; - $69 = $68&255; - $70 = ($67|0)<($69|0); - if ($70) { - $$05763 = $67; - } else { - $$1 = $41; - break; - } - } - } - } else { - $71 = HEAP32[$32>>2]|0; - (_fseek($4,$71,1)|0); - $$1 = $$065; - } - $72 = (($$05664) + 1)|0; - $73 = ($72|0)<($31|0); - if ($73) { - $$05664 = $72;$$065 = $$1; - } else { - $$0$lcssa = $$1; - break; - } - } - } - $33 = ((($$0$lcssa)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$vararg_buffer8>>2] = $0; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(1,4467,$vararg_buffer8); - $$2 = $$0$lcssa; - } else { - $$2 = $$0$lcssa; - } - } else { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(1,4375,$vararg_buffer1); - $$2 = 0; - } - (_fclose($4)|0); - $$3 = $$2; - STACKTOP = sp;return ($$3|0); -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[17800>>0]=HEAP8[4772>>0]|0;HEAP8[17800+1>>0]=HEAP8[4772+1>>0]|0;HEAP8[17800+2>>0]=HEAP8[4772+2>>0]|0;HEAP8[17800+3>>0]=HEAP8[4772+3>>0]|0;HEAP8[17800+4>>0]=HEAP8[4772+4>>0]|0;HEAP8[17800+5>>0]=HEAP8[4772+5>>0]|0;HEAP8[17800+6>>0]=HEAP8[4772+6>>0]|0; - break; - } - case 2: { - $3 = 17800; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 1: { - dest=17800; src=4779; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 17800; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(17800,$1)|0); - $strlen = (_strlen(17800)|0); - $endptr = (17800 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(17800,$2)|0); - $12 = ($0|0)==(2); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _DecompressData($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = (_malloc($2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - _TraceLog(1,4517,$vararg_buffer); - STACKTOP = sp;return ($3|0); - } - $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); - $6 = ($5|0)==(-1); - if ($6) { - _TraceLog(1,4556,$vararg_buffer1); - _free($3); - } - $7 = ($5|0)==($2|0); - if (!($7)) { - _TraceLog(1,4582,$vararg_buffer3); - HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(1,4645,$vararg_buffer5); - HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(1,4680,$vararg_buffer7); - } - HEAP32[$vararg_buffer10>>2] = $1; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,4715,$vararg_buffer10); - STACKTOP = sp;return ($3|0); -} -function _UnloadResource($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - _free($2); - return; -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(18728)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (80 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18704>>2]=HEAP32[$1>>2]|0;HEAP32[18704+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18704+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18704+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18704+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(18728)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(18732)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(18724)>>2] = $23; - $24 = HEAP32[4676]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4789,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(18708)>>2]|0; - $10 = HEAP32[(18728)>>2]|0; - $11 = HEAP32[(18732)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2128 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(18724)>>2] = $23; - $24 = HEAP32[4676]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4789,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(9); - $6 = ($1|0)<(9); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(1,5215,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $10; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(3,4834,$vararg_buffer); - HEAP32[$0>>2] = $11; - $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; - $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; - $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; - STACKTOP = sp;return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } - _free($1); - return; -} -function _rlLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[4684]|0; - $7 = ($6|0)==(0); - $$off = (($3) + -9)|0; - $8 = ($$off>>>0)<(4); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(1,4884,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[4685]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(13); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(1,4928,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[4686]|0; - $13 = ($12|0)==(0); - $14 = $3 | 1; - $15 = ($14|0)==(15); - $or$cond97 = $15 & $13; - if ($or$cond97) { - _TraceLog(1,4973,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $16 = HEAP32[4687]|0; - $17 = ($16|0)==(0); - $18 = ($14|0)==(17); - $or$cond99 = $18 & $17; - if ($or$cond99) { - _TraceLog(1,5018,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $19 = HEAP32[4688]|0; - $20 = ($19|0)==(0); - $21 = ($14|0)==(19); - $or$cond101 = $21 & $20; - if ($or$cond101) { - _TraceLog(1,5063,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $22 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($22|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $23 = HEAP32[4689]|0; - $24 = ($23|0)==(0); - if (!($24)) { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); - } - break; - } - case 9: { - $25 = HEAP32[4684]|0; - $26 = ($25|0)==(0); - if (!($26)) { - _LoadTextureCompressed($0,$1,$2,33776,$4); - } - break; - } - case 10: { - $27 = HEAP32[4684]|0; - $28 = ($27|0)==(0); - if (!($28)) { - _LoadTextureCompressed($0,$1,$2,33777,$4); - } - break; - } - case 11: { - $29 = HEAP32[4684]|0; - $30 = ($29|0)==(0); - if (!($30)) { - _LoadTextureCompressed($0,$1,$2,33778,$4); - } - break; - } - case 12: { - $31 = HEAP32[4684]|0; - $32 = ($31|0)==(0); - if (!($32)) { - _LoadTextureCompressed($0,$1,$2,33779,$4); - } - break; - } - case 13: { - $33 = HEAP32[4685]|0; - $34 = ($33|0)==(0); - if (!($34)) { - _LoadTextureCompressed($0,$1,$2,36196,$4); - } - break; - } - case 14: { - $35 = HEAP32[4686]|0; - $36 = ($35|0)==(0); - if (!($36)) { - _LoadTextureCompressed($0,$1,$2,37492,$4); - } - break; - } - case 15: { - $37 = HEAP32[4686]|0; - $38 = ($37|0)==(0); - if (!($38)) { - _LoadTextureCompressed($0,$1,$2,37496,$4); - } - break; - } - case 16: { - $39 = HEAP32[4687]|0; - $40 = ($39|0)==(0); - if (!($40)) { - _LoadTextureCompressed($0,$1,$2,35840,$4); - } - break; - } - case 17: { - $41 = HEAP32[4687]|0; - $42 = ($41|0)==(0); - if (!($42)) { - _LoadTextureCompressed($0,$1,$2,35842,$4); - } - break; - } - case 18: { - $43 = HEAP32[4688]|0; - $44 = ($43|0)==(0); - if (!($44)) { - _LoadTextureCompressed($0,$1,$2,37808,$4); - } - break; - } - case 19: { - $45 = HEAP32[4688]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _LoadTextureCompressed($0,$1,$2,37815,$4); - } - break; - } - default: { - _TraceLog(1,5108,$vararg_buffer9); - } - } - } while(0); - $47 = HEAP32[4690]|0; - $48 = ($47|0)==(0); - if ($48) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $49 = HEAP32[$5>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(1,5186,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $49; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5137,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadTextureCompressed($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($3|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($4|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($3|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($4|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(1,5269,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18704>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18704+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18704+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18704+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18704+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(18732)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,5315,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18704>>2]|0;HEAP32[$0+4>>2]=HEAP32[18704+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18704+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18704+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18704+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18704+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18704+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18704+28>>2]|0; - return; -} -function _IsFileExtension($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strrchr($0,46)|0); - $3 = ($2|0)==(0|0); - if ($3) { - return 0; - } else { - $4 = (_strcmp($2,$1)|0); - $5 = ($4|0)==(0); - $$ = $5&1; - return ($$|0); - } - return (0)|0; -} -function _LoadImagePro($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy = sp + 20|0; - $5 = sp; - HEAP32[$5>>2] = $1; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $2; - $7 = ((($5)) + 8|0); - HEAP32[$7>>2] = $3; - $8 = ((($5)) + 12|0); - HEAP32[$8>>2] = 1; - $9 = ((($5)) + 16|0); - HEAP32[$9>>2] = $4; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; - _ImageCopy($0,$$byval_copy); - STACKTOP = sp;return; -} -function _LoadImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $$byval_copy = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer7 = sp + 16|0; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - $6 = (_IsFileExtension($1,5365)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - $19 = (_IsFileExtension($1,5418)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_IsFileExtension($1,5423)|0); - $22 = ($21|0)==(0); - if ($22) { - $36 = (_IsFileExtension($1,5431)|0); - $37 = ($36|0)==(0); - if ($37) { - $46 = (_IsFileExtension($1,5503)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[$vararg_buffer4>>2] = $1; - _TraceLog(1,5508,$vararg_buffer4); - break; - } else { - _LoadDDS($2,$1); - break; - } - } - HEAP32[$3>>2] = 0; - $38 = (_fopen($1,5428)|0); - _stbi_set_flip_vertically_on_load(1); - $39 = ((($2)) + 4|0); - $40 = ((($2)) + 8|0); - $41 = (_stbi_loadf_from_file($38,$39,$40,$3,0)|0); - HEAP32[$2>>2] = $41; - _stbi_set_flip_vertically_on_load(0); - (_fclose($38)|0); - $42 = ((($2)) + 12|0); - HEAP32[$42>>2] = 1; - $43 = HEAP32[$3>>2]|0; - $44 = ($43|0)==(3); - if ($44) { - $45 = ((($2)) + 16|0); - HEAP32[$45>>2] = 8; - } else { - HEAP32[$$byval_copy>>2] = $1; - _TraceLog(1,5436,$$byval_copy); - ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; - _UnloadImage($$byval_copy); - } - break; - } - } - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$5>>2] = 0; - $23 = (_fopen($1,5428)|0); - $24 = ($23|0)==(0|0); - L17: do { - if (!($24)) { - $25 = (_stbi_load_from_file($23,$3,$4,$5,0)|0); - HEAP32[$2>>2] = $25; - (_fclose($23)|0); - $26 = HEAP32[$3>>2]|0; - $27 = ((($2)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$4>>2]|0; - $29 = ((($2)) + 8|0); - HEAP32[$29>>2] = $28; - $30 = ((($2)) + 12|0); - HEAP32[$30>>2] = 1; - $31 = HEAP32[$5>>2]|0; - switch ($31|0) { - case 1: { - $32 = ((($2)) + 16|0); - HEAP32[$32>>2] = 1; - break L17; - break; - } - case 2: { - $33 = ((($2)) + 16|0); - HEAP32[$33>>2] = 2; - break L17; - break; - } - case 3: { - $34 = ((($2)) + 16|0); - HEAP32[$34>>2] = 4; - break L17; - break; - } - case 4: { - $35 = ((($2)) + 16|0); - HEAP32[$35>>2] = 7; - break L17; - break; - } - default: { - break L17; - } - } - } - } while(0); - } else { - $8 = (_LoadResource($1,0)|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(1); - if ($10) { - $11 = ((($8)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($8)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($8)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($8)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _LoadImagePro($2,$12,$14,$16,$18); - } else { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5371,$vararg_buffer); - } - _UnloadResource($8); - } - } while(0); - $48 = HEAP32[$2>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - HEAP32[$vararg_buffer12>>2] = $1; - _TraceLog(1,5583,$vararg_buffer12); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - $50 = ((($2)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($2)) + 8|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $51; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $53; - _TraceLog(0,5544,$vararg_buffer7); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _stbi_load_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return ($6|0); - } - $8 = ((($5)) + 172|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($5)) + 168|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) - ($9))|0; - (_fseek($0,$12,1)|0); - STACKTOP = sp;return ($6|0); -} -function _stbi_set_flip_vertically_on_load($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4694] = $0; - return; -} -function _stbi_loadf_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__loadf_main($5,$1,$2,$3,$4)|0); - STACKTOP = sp;return ($6|0); -} -function _LoadDDS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$0101111 = 0, $$0102114 = 0, $$0103112 = 0, $$sink = 0, $$sink2 = 0, $$sroa$0$0 = 0, $$sroa$0$1 = 0, $$sroa$0$2 = 0, $$sroa$0$3 = 0, $$sroa$28$0 = 0, $$sroa$28$0$$sroa_idx61 = 0, $$sroa$28$1 = 0, $$sroa$42$0 = 0, $$sroa$42$0$$sroa_idx75 = 0, $$sroa$42$1 = 0, $$sroa$56$0 = 0, $$sroa$56$0$$sroa_idx89 = 0, $$sroa$56$1 = 0, $$sroa$57$0 = 0; - var $$sroa$57$0$$sroa_idx91 = 0, $$sroa$57$2 = 0, $$sroa$57$3 = 0, $$sroa$57$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $exitcond = 0, $exitcond117 = 0, $or$cond = 0, $or$cond106 = 0, $or$cond108 = 0, $switch = 0, $switch$split282D = 0, $switch$split2D = 0, $switch$split312D = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $vararg_buffer24 = sp + 56|0; - $vararg_buffer20 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 184|0; - $3 = sp + 60|0; - $4 = (_fopen($1,5428)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5614,$vararg_buffer); - $$sroa$0$3 = 0;$$sroa$28$1 = 0;$$sroa$42$1 = 0;$$sroa$56$1 = 0;$$sroa$57$4 = 0; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; - } - (_fread($2,4,1,$4)|0); - $6 = (_strncmp($2,5648,4)|0); - $7 = ($6|0)==(0); - if ($7) { - (_fread($3,124,1,$4)|0); - HEAP32[$vararg_buffer4>>2] = $1; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,5701,$vararg_buffer4); - $8 = ((($3)) + 72|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $9; - _TraceLog(3,5731,$vararg_buffer8); - $10 = ((($3)) + 76|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer12>>2] = $1; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $11; - _TraceLog(3,5767,$vararg_buffer12); - $12 = ((($3)) + 80|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer16>>2] = $1; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $13; - _TraceLog(3,5806,$vararg_buffer16); - $14 = ((($3)) + 84|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$vararg_buffer20>>2] = $1; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $15; - _TraceLog(3,5833,$vararg_buffer20); - $16 = ((($3)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($3)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $$sink = $22 ? 1 : $21; - $23 = HEAP32[$14>>2]|0; - $24 = ($23|0)==(16); - L7: do { - if ($24) { - $25 = HEAP32[$10>>2]|0; - switch ($25|0) { - case 64: { - $26 = $17 << 1; - $27 = Math_imul($26, $19)|0; - $28 = (_malloc($27)|0); - (_fread($28,$27,1,$4)|0); - $$sroa$0$0 = $28;$$sroa$57$0 = 3; - break L7; - break; - } - case 65: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $29 = ((($3)) + 100|0); - $30 = HEAP32[$29>>2]|0; - $switch$split2D = ($30|0)<(61440); - if ($switch$split2D) { - switch ($30|0) { - case 32768: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $31 = Math_imul($19, $17)|0; - $32 = $31 << 1; - $33 = (_malloc($32)|0); - (_fread($33,$32,1,$4)|0); - $34 = ($31|0)>(0); - if ($34) { - $$0103112 = 0; - } else { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } - while(1) { - $35 = (($33) + ($$0103112<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = ($36&65535) >>> 15; - $39 = $38&65535; - $40 = $37 << 1; - $41 = $40 | $39; - $42 = $41&65535; - HEAP16[$35>>1] = $42; - $43 = (($$0103112) + 1)|0; - $exitcond = ($43|0)==($31|0); - if ($exitcond) { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } else { - $$0103112 = $43; - } - } - } else { - switch ($30|0) { - case 61440: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $44 = Math_imul($19, $17)|0; - $45 = $44 << 1; - $46 = (_malloc($45)|0); - (_fread($46,$45,1,$4)|0); - $47 = ($44|0)>(0); - if ($47) { - $$0102114 = 0; - } else { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } - while(1) { - $48 = (($46) + ($$0102114<<1)|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = ($49&65535) >>> 12; - $52 = $51&65535; - $53 = $50 << 4; - $54 = $53 | $52; - $55 = $54&65535; - HEAP16[$48>>1] = $55; - $56 = (($$0102114) + 1)|0; - $exitcond117 = ($56|0)==($44|0); - if ($exitcond117) { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } else { - $$0102114 = $56; - } - } - } - } else { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - } - } while(0); - $57 = HEAP32[$10>>2]|0; - $58 = ($57|0)==(64); - $59 = HEAP32[$14>>2]|0; - $60 = ($59|0)==(24); - $or$cond = $58 & $60; - L22: do { - if ($or$cond) { - $61 = ($17*3)|0; - $62 = Math_imul($61, $19)|0; - $63 = (_malloc($62)|0); - (_fread($63,$62,1,$4)|0); - $$sroa$0$1 = $63;$$sroa$57$2 = 4; - } else { - $64 = ($57|0)==(65); - $65 = ($59|0)==(32); - $or$cond106 = $64 & $65; - if ($or$cond106) { - $66 = $17 << 2; - $67 = Math_imul($66, $19)|0; - $68 = (_malloc($67)|0); - (_fread($68,$67,1,$4)|0); - $69 = ($67|0)>(0); - if ($69) { - $$0101111 = 0; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break; - } - while(1) { - $70 = (($68) + ($$0101111)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $$0101111 | 2; - $73 = (($68) + ($72)|0); - $74 = HEAP8[$73>>0]|0; - HEAP8[$70>>0] = $74; - HEAP8[$73>>0] = $71; - $75 = (($$0101111) + 4)|0; - $76 = ($75|0)<($67|0); - if ($76) { - $$0101111 = $75; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break L22; - } - } - } - $77 = $57 & -2; - $switch = ($77|0)!=(4); - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)==(0); - $or$cond108 = $switch | $79; - if ($or$cond108) { - $$sroa$0$1 = $$sroa$0$0;$$sroa$57$2 = $$sroa$57$0; - } else { - $80 = HEAP32[$20>>2]|0; - $81 = ($80>>>0)>(1); - $82 = ((($3)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81&1; - $$0 = $83 << $84; - HEAP32[$vararg_buffer24>>2] = $83; - _TraceLog(3,5863,$vararg_buffer24); - $85 = (_malloc($$0)|0); - (_fread($85,$$0,1,$4)|0); - $86 = HEAP32[$12>>2]|0; - $switch$split282D = ($86|0)<(861165636); - if ($switch$split282D) { - switch ($86|0) { - case 827611204: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $87 = HEAP32[$10>>2]|0; - $88 = ($87|0)==(4); - $$sink2 = $88 ? 9 : 10; - $$sroa$0$1 = $85;$$sroa$57$2 = $$sink2; - break; - } - $switch$split312D = ($86|0)<(894720068); - if ($switch$split312D) { - switch ($86|0) { - case 861165636: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 11; - break; - } else { - switch ($86|0) { - case 894720068: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 12; - break; - } - } - } - } while(0); - $$sroa$0$2 = $$sroa$0$1;$$sroa$28$0 = $17;$$sroa$42$0 = $19;$$sroa$56$0 = $$sink;$$sroa$57$3 = $$sroa$57$2; - } else { - HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(1,5653,$vararg_buffer1); - $$sroa$0$2 = 0;$$sroa$28$0 = 0;$$sroa$42$0 = 0;$$sroa$56$0 = 0;$$sroa$57$3 = 0; - } - (_fclose($4)|0); - $$sroa$0$3 = $$sroa$0$2;$$sroa$28$1 = $$sroa$28$0;$$sroa$42$1 = $$sroa$42$0;$$sroa$56$1 = $$sroa$56$0;$$sroa$57$4 = $$sroa$57$3; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; -} -function _stbi__start_file($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($0,3656,$1); - return; -} -function _stbi__loadf_main($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__hdr_test($0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - _stbi__float_postprocess($7,$1,$2,$3,$4); - $$0 = $7; - return ($$0|0); - } - $9 = (_stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4)|0); - $10 = ($9|0)==(0|0); - if ($10) { - _stbi__err(5888); - $$0 = 0; - return ($$0|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ($4|0)==(0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = $14; - } else { - $15 = $4; - } - $16 = (_stbi__ldr_to_hdr($9,$11,$12,$15)|0); - $$0 = $16; - return ($$0|0); -} -function _stbi__hdr_test($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__hdr_test_core($0,7496)|0); - _stbi__rewind($0); - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = $1; - return ($$0|0); - } - $3 = (_stbi__hdr_test_core($0,7508)|0); - _stbi__rewind($0); - $$0 = $3; - return ($$0|0); -} -function _stbi__hdr_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$0142 = 0, $$014033 = 0, $$014253 = 0, $$014344 = 0, $$014538 = 0, $$0146 = 0, $$0150 = 0, $$114131 = 0, $$1144 = 0, $$1147 = 0, $$1151 = 0, $$2148 = 0, $$2152$be = 0, $$215236 = 0, $$3 = 0, $$314943 = 0, $$315332 = 0, $$430 = 0, $$540 = 0; - var $$lcssa29 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond87 = 0, $exitcond88 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 4|0; - $8 = sp + 8|0; - $9 = (_stbi__hdr_gettoken($0,$5)|0); - $10 = (_strcmp($9,7356)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $12 = (_strcmp($9,7367)|0); - $13 = ($12|0)==(0); - if (!($13)) { - _stbi__err(7374); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - } - $14 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $14; - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - $$014253 = 0;$17 = $5; - while(1) { - $18 = (_strcmp($17,7382)|0); - $19 = ($18|0)==(0); - $$$0142 = $19 ? 1 : $$014253; - $20 = (_stbi__hdr_gettoken($0,$5)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$014253 = $$$0142;$17 = $5; - } - } - HEAP32[$6>>2] = $20; - $23 = ($$$0142|0)==(0); - if (!($23)) { - $24 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $24; - $25 = (_strncmp($24,7424,3)|0); - $26 = ($25|0)==(0); - if (!($26)) { - _stbi__err(7428); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $27 = ((($5)) + 3|0); - HEAP32[$6>>2] = $27; - $28 = (_strtol($27,$6,10)|0); - $29 = HEAP32[$6>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(32); - if ($31) { - $33 = $29; - while(1) { - $32 = ((($33)) + 1|0); - $34 = HEAP8[$32>>0]|0; - $35 = ($34<<24>>24)==(32); - if ($35) { - $33 = $32; - } else { - break; - } - } - HEAP32[$6>>2] = $32; - $$lcssa29 = $32; - } else { - $$lcssa29 = $29; - } - $36 = (_strncmp($$lcssa29,7452,3)|0); - $37 = ($36|0)==(0); - if (!($37)) { - _stbi__err(7428); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $38 = ((($$lcssa29)) + 3|0); - HEAP32[$6>>2] = $38; - $39 = (_strtol($38,0,10)|0); - HEAP32[$1>>2] = $39; - HEAP32[$2>>2] = $28; - $40 = ($3|0)==(0|0); - if (!($40)) { - HEAP32[$3>>2] = 3; - } - $41 = ($4|0)==(0); - $$ = $41 ? 3 : $4; - $42 = (_stbi__mad4sizes_valid($39,$28,$$)|0); - $43 = ($42|0)==(0); - if ($43) { - _stbi__err(6114); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $44 = (_stbi__malloc_mad4($39,$28,$$)|0); - $45 = ($44|0)==(0|0); - if ($45) { - _stbi__err(5907); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $$off = (($39) + -8)|0; - $46 = ($$off>>>0)>(32759); - do { - if ($46) { - $$0146 = 0; - label = 23; - } else { - $47 = ($28|0)>(0); - if ($47) { - $$014344 = 0;$$314943 = 0; - } else { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - L39: while(1) { - $57 = (_stbi__get8($0)|0); - $58 = (_stbi__get8($0)|0); - $59 = (_stbi__get8($0)|0); - $60 = $59&255; - $notlhs = ($57<<24>>24)==(2); - $notrhs = ($58<<24>>24)==(2); - $or$cond3$not = $notlhs & $notrhs; - $61 = $60 & 128; - $62 = ($61|0)==(0); - $or$cond = $or$cond3$not & $62; - if (!($or$cond)) { - label = 28; - break; - } - $67 = $60 << 8; - $68 = (_stbi__get8($0)|0); - $69 = $68&255; - $70 = $69 | $67; - $71 = ($70|0)==($39|0); - if (!($71)) { - label = 30; - break; - } - $72 = ($$014344|0)==(0|0); - if ($72) { - $73 = (_stbi__malloc_mad2($39,4)|0); - $74 = ($73|0)==(0|0); - if ($74) { - label = 33; - break; - } else { - $$1144 = $73; - } - } else { - $$1144 = $$014344; - } - $$014538 = 0; - while(1) { - $$215236 = 0;$87 = $39; - while(1) { - $82 = (_stbi__get8($0)|0); - $79 = $82&255; - $83 = ($82&255)>(128); - do { - if ($83) { - $84 = (_stbi__get8($0)|0); - $85 = (($79) + 128)|0; - $77 = $85 & 255; - $86 = ($77|0)>($87|0); - if ($86) { - label = 43; - break L39; - } - $88 = ($77|0)==(0); - if ($88) { - $$2152$be = $$215236; - break; - } else { - $$014033 = 0;$$315332 = $$215236; - } - while(1) { - $89 = (($$315332) + 1)|0; - $90 = $$315332 << 2; - $91 = (($90) + ($$014538))|0; - $92 = (($$1144) + ($91)|0); - HEAP8[$92>>0] = $84; - $93 = (($$014033) + 1)|0; - $exitcond87 = ($93|0)==($77|0); - if ($exitcond87) { - break; - } else { - $$014033 = $93;$$315332 = $89; - } - } - $76 = (($$215236) + ($77))|0; - $$2152$be = $76; - } else { - $94 = ($79|0)>($87|0); - if ($94) { - label = 47; - break L39; - } - $95 = ($82<<24>>24)==(0); - if ($95) { - $$2152$be = $$215236; - break; - } else { - $$114131 = 0;$$430 = $$215236; - } - while(1) { - $96 = (_stbi__get8($0)|0); - $97 = (($$430) + 1)|0; - $98 = $$430 << 2; - $99 = (($98) + ($$014538))|0; - $100 = (($$1144) + ($99)|0); - HEAP8[$100>>0] = $96; - $101 = (($$114131) + 1)|0; - $exitcond = ($101|0)==($79|0); - if ($exitcond) { - break; - } else { - $$114131 = $101;$$430 = $97; - } - } - $78 = (($$215236) + ($79))|0; - $$2152$be = $78; - } - } while(0); - $80 = (($39) - ($$2152$be))|0; - $81 = ($80|0)>(0); - if ($81) { - $$215236 = $$2152$be;$87 = $80; - } else { - break; - } - } - $102 = (($$014538) + 1)|0; - $103 = ($102|0)<(4); - if ($103) { - $$014538 = $102; - } else { - break; - } - } - $75 = Math_imul($$314943, $39)|0; - $$540 = 0; - while(1) { - $104 = (($$540) + ($75))|0; - $105 = Math_imul($104, $$)|0; - $106 = (($44) + ($105<<2)|0); - $107 = $$540 << 2; - $108 = (($$1144) + ($107)|0); - _stbi__hdr_convert($106,$108,$$); - $109 = (($$540) + 1)|0; - $exitcond88 = ($109|0)==($39|0); - if ($exitcond88) { - break; - } else { - $$540 = $109; - } - } - $110 = (($$314943) + 1)|0; - $111 = ($110|0)<($28|0); - if ($111) { - $$014344 = $$1144;$$314943 = $110; - } else { - label = 52; - break; - } - } - if ((label|0) == 28) { - HEAP8[$8>>0] = $57; - $63 = ((($8)) + 1|0); - HEAP8[$63>>0] = $58; - $64 = ((($8)) + 2|0); - HEAP8[$64>>0] = $59; - $65 = (_stbi__get8($0)|0); - $66 = ((($8)) + 3|0); - HEAP8[$66>>0] = $65; - _stbi__hdr_convert($44,$8,$$); - _free($$014344); - $$1151 = 1;$$2148 = 0; - label = 25; - break; - } - else if ((label|0) == 30) { - _free($44); - _free($$014344); - _stbi__err(7456); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 33) { - _free($44); - _stbi__err(5907); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 43) { - _free($44); - _free($$1144); - _stbi__err(7488); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 47) { - _free($44); - _free($$1144); - _stbi__err(7488); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 52) { - $112 = ($$1144|0)==(0|0); - if ($112) { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - _free($$1144); - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - } - } while(0); - while(1) { - if ((label|0) == 23) { - label = 0; - $48 = ($$0146|0)<($28|0); - if ($48) { - $$0150 = 0;$$1147 = $$0146; - } else { - $$3 = $44; - break; - } - } - else if ((label|0) == 25) { - label = 0; - (_stbi__getn($0,$7,4)|0); - $50 = Math_imul($39, $$)|0; - $51 = Math_imul($50, $$2148)|0; - $52 = (($44) + ($51<<2)|0); - $53 = Math_imul($$1151, $$)|0; - $54 = (($52) + ($53<<2)|0); - _stbi__hdr_convert($54,$7,$$); - $55 = (($$1151) + 1)|0; - $$0150 = $55;$$1147 = $$2148; - } - $49 = ($$0150|0)<($39|0); - if ($49) { - $$1151 = $$0150;$$2148 = $$1147; - label = 25; - continue; - } - $56 = (($$1147) + 1)|0; - $$0146 = $56; - label = 23; - } - STACKTOP = sp;return ($$3|0); - } - } - _stbi__err(7405); - $$3 = 0; - STACKTOP = sp;return ($$3|0); -} -function _stbi__float_postprocess($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[4694]|0; - $6 = ($5|0)!=(0); - $7 = ($0|0)!=(0|0); - $or$cond = $7 & $6; - if (!($or$cond)) { - return; - } - $8 = ($4|0)==(0); - if ($8) { - $9 = HEAP32[$3>>2]|0; - $13 = $9; - } else { - $13 = $4; - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = $13 << 2; - _stbi__vertical_flip($0,$10,$11,$12); - return; -} -function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$023 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $5 = sp; - $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = HEAP32[$5>>2]|0; - switch ($8|0) { - case 8: { - $$023 = $6; - break; - } - case 16: { - label = 4; - break; - } - default: { - ___assert_fail((5916|0),(5942|0),1066,(5965|0)); - // unreachable; - } - } - if ((label|0) == 4) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($4|0)==(0); - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = $12; - } else { - $13 = $4; - } - $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); - HEAP32[$5>>2] = 8; - $$023 = $14; - } - $15 = HEAP32[4694]|0; - $16 = ($15|0)==(0); - if ($16) { - $$0 = $$023; - STACKTOP = sp;return ($$0|0); - } - $17 = ($4|0)==(0); - if ($17) { - $18 = HEAP32[$3>>2]|0; - $21 = $18; - } else { - $21 = $4; - } - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - _stbi__vertical_flip($$023,$19,$20,$21); - $$0 = $$023; - STACKTOP = sp;return ($$0|0); -} -function _stbi__ldr_to_hdr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$042 = 0, $$043$lcssa = 0, $$04345 = 0, $$04446 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond48 = 0, $sext = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__malloc_mad4($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(5907); - $$0 = 0; - return ($$0|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$042 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$042|0)>(0); - $11 = +HEAPF32[756]; - $12 = $11; - $13 = +HEAPF32[757]; - $14 = $13; - $$04446 = 0; - while(1) { - if ($10) { - $15 = Math_imul($$04446, $3)|0; - $$04345 = 0; - while(1) { - $16 = (($$04345) + ($15))|0; - $17 = (($0) + ($16)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 / 255.0; - $21 = $20; - $22 = (+Math_pow((+$21),(+$12))); - $23 = $22 * $14; - $24 = $23; - $25 = (($5) + ($16<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (($$04345) + 1)|0; - $exitcond = ($26|0)==($$042|0); - if ($exitcond) { - $$043$lcssa = $$042; - break; - } else { - $$04345 = $26; - } - } - } else { - $$043$lcssa = 0; - } - $27 = ($$043$lcssa|0)<($3|0); - $28 = Math_imul($$04446, $3)|0; - $29 = (($$043$lcssa) + ($28))|0; - if ($27) { - $30 = (($5) + ($29<<2)|0); - $31 = (($0) + ($29)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $33 / 255.0; - HEAPF32[$30>>2] = $34; - } - $35 = (($$04446) + 1)|0; - $exitcond48 = ($35|0)==($8|0); - if ($exitcond48) { - break; - } else { - $$04446 = $35; - } - } - } - _free($0); - $$0 = $5; - return ($$0|0); -} -function _stbi__err($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4693] = $0; - return; -} -function _stbi__malloc_mad4($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad4sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = $0 << 2; - $6 = Math_imul($5, $1)|0; - $7 = Math_imul($6, $2)|0; - $8 = (_stbi__malloc($7)|0); - $$0 = $8; - return ($$0|0); -} -function _stbi__mad4sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $15 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $15 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__mul2sizes_valid($8,4)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = $8 << 2; - $12 = (_stbi__addsizes_valid($11)|0); - $13 = ($12|0)!=(0); - $15 = $13; - } - } - } - $14 = $15&1; - return ($14|0); -} -function _stbi__malloc($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_malloc($0)|0); - return ($1|0); -} -function _stbi__mul2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 | $0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - } else { - $4 = ($1|0)==(0); - if ($4) { - $$0 = 1; - } else { - $5 = (2147483647 / ($1|0))&-1; - $6 = ($5|0)>=($0|0); - $7 = $6&1; - $$0 = $7; - } - } - return ($$0|0); -} -function _stbi__addsizes_valid($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 1; -} -function _stbi__load_main($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[$5>>2] = 8; - $6 = ((($5)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = ((($5)) + 4|0); - HEAP32[$7>>2] = 0; - $8 = (_stbi__png_test($0)|0); - $9 = ($8|0)==(0); - if (!($9)) { - $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); - $$0 = $10; - return ($$0|0); - } - $11 = (_stbi__hdr_test($0)|0); - $12 = ($11|0)==(0); - if ($12) { - _stbi__err(5888); - $$0 = 0; - return ($$0|0); - } - $13 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ($4|0)==(0); - if ($16) { - $17 = HEAP32[$3>>2]|0; - $18 = $17; - } else { - $18 = $4; - } - $19 = (_stbi__hdr_to_ldr($13,$14,$15,$18)|0); - $$0 = $19; - return ($$0|0); -} -function _stbi__convert_16_to_8($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = Math_imul($4, $3)|0; - $6 = (_stbi__malloc($5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - _stbi__err(5907); - $$0 = 0; - return ($$0|0); - } - $8 = ($5|0)>(0); - if ($8) { - $$01819 = 0; - while(1) { - $9 = (($0) + ($$01819<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10&65535) >>> 8; - $12 = $11&255; - $13 = (($6) + ($$01819)|0); - HEAP8[$13>>0] = $12; - $14 = (($$01819) + 1)|0; - $exitcond = ($14|0)==($5|0); - if ($exitcond) { - break; - } else { - $$01819 = $14; - } - } - } - _free($0); - $$0 = $6; - return ($$0|0); -} -function _stbi__vertical_flip($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$04553 = 0, $$04652 = 0, $$04751 = 0, $$054 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2048|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2048|0); - $4 = sp; - $5 = Math_imul($3, $1)|0; - $6 = $2 >> 1; - $7 = ($6|0)>(0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = (($2) + -1)|0; - $9 = ($5|0)==(0); - $$054 = 0; - while(1) { - if (!($9)) { - $10 = (($8) - ($$054))|0; - $11 = Math_imul($10, $5)|0; - $12 = (($0) + ($11)|0); - $13 = Math_imul($$054, $5)|0; - $14 = (($0) + ($13)|0); - $$04553 = $5;$$04652 = $12;$$04751 = $14; - while(1) { - $15 = ($$04553>>>0)<(2048); - $16 = $15 ? $$04553 : 2048; - _memcpy(($4|0),($$04751|0),($16|0))|0; - _memcpy(($$04751|0),($$04652|0),($16|0))|0; - _memcpy(($$04652|0),($4|0),($16|0))|0; - $17 = (($$04751) + ($16)|0); - $18 = (($$04652) + ($16)|0); - $19 = (($$04553) - ($16))|0; - $20 = ($19|0)==(0); - if ($20) { - break; - } else { - $$04553 = $19;$$04652 = $18;$$04751 = $17; - } - } - } - $21 = (($$054) + 1)|0; - $exitcond = ($21|0)==($6|0); - if ($exitcond) { - break; - } else { - $$054 = $21; - } - } - STACKTOP = sp;return; -} -function _stbi__png_test($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__check_png_header($0)|0); - _stbi__rewind($0); - return ($1|0); -} -function _stbi__png_load($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $6 = sp; - HEAP32[$6>>2] = $0; - $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); - STACKTOP = sp;return ($7|0); -} -function _stbi__hdr_to_ldr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0.0, $$052 = 0.0, $$054 = 0, $$055 = 0, $$056$lcssa = 0, $$05658 = 0, $$05759 = 0, $$1 = 0.0, $$153 = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0; - var $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond61 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$054 = 0; - return ($$054|0); - } - $5 = (_stbi__malloc_mad3($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(5907); - $$054 = 0; - return ($$054|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$055 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$055|0)>(0); - $11 = +HEAPF32[758]; - $12 = +HEAPF32[759]; - $13 = $12; - $$05759 = 0; - while(1) { - if ($10) { - $14 = Math_imul($$05759, $3)|0; - $$05658 = 0; - while(1) { - $15 = (($$05658) + ($14))|0; - $16 = (($0) + ($15<<2)|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 * $11; - $19 = $18; - $20 = (+Math_pow((+$19),(+$13))); - $21 = $20; - $22 = $21 * 255.0; - $23 = $22 + 0.5; - $24 = $23 < 0.0; - $$052 = $24 ? 0.0 : $23; - $25 = $$052 > 255.0; - $$153 = $25 ? 255.0 : $$052; - $26 = (~~(($$153))); - $27 = $26&255; - $28 = (($5) + ($15)|0); - HEAP8[$28>>0] = $27; - $29 = (($$05658) + 1)|0; - $exitcond = ($29|0)==($$055|0); - if ($exitcond) { - $$056$lcssa = $$055; - break; - } else { - $$05658 = $29; - } - } - } else { - $$056$lcssa = 0; - } - $30 = ($$056$lcssa|0)<($3|0); - if ($30) { - $31 = Math_imul($$05759, $3)|0; - $32 = (($$056$lcssa) + ($31))|0; - $33 = (($0) + ($32<<2)|0); - $34 = +HEAPF32[$33>>2]; - $35 = $34 * 255.0; - $36 = $35 + 0.5; - $37 = $36 < 0.0; - $$0 = $37 ? 0.0 : $36; - $38 = $$0 > 255.0; - $$1 = $38 ? 255.0 : $$0; - $39 = (~~(($$1))); - $40 = $39&255; - $41 = (($5) + ($32)|0); - HEAP8[$41>>0] = $40; - } - $42 = (($$05759) + 1)|0; - $exitcond61 = ($42|0)==($8|0); - if ($exitcond61) { - break; - } else { - $$05759 = $42; - } - } - } - _free($0); - $$054 = $5; - return ($$054|0); -} -function _stbi__malloc_mad3($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = Math_imul($1, $0)|0; - $6 = Math_imul($5, $2)|0; - $7 = (_stbi__malloc($6)|0); - $$0 = $7; - return ($$0|0); -} -function _stbi__mad3sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $12 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $12 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__addsizes_valid($8)|0); - $10 = ($9|0)!=(0); - $12 = $10; - } - } - $11 = $12&1; - return ($11|0); -} -function _stbi__do_png($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4>>>0)>(4); - if ($6) { - _stbi__err(5997); - $$045 = 0; - return ($$045|0); - } - $7 = (_stbi__parse_png_file($0,0,$4)|0); - $8 = ($7|0)==(0); - if ($8) { - $$2 = 0; - } else { - $9 = ((($0)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(8); - $$ = $11 ? $10 : 8; - HEAP32[$5>>2] = $$; - $12 = ((($0)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$12>>2] = 0; - $14 = ($4|0)==(0); - if ($14) { - $$1 = $13; - } else { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==($4|0); - if ($18) { - $$1 = $13; - } else { - $19 = HEAP32[$5>>2]|0; - $20 = ($19|0)==(8); - $21 = ((($15)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$15>>2]|0; - if ($20) { - $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); - $$0 = $24; - } else { - $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); - $$0 = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $4; - $28 = ($$0|0)==(0|0); - if ($28) { - $$045 = 0; - return ($$045|0); - } else { - $$1 = $$0; - } - } - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; - $31 = ((($29)) + 4|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$2>>2] = $32; - $33 = ($3|0)==(0|0); - if ($33) { - $$2 = $$1; - } else { - $34 = ((($29)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$3>>2] = $35; - $$2 = $$1; - } - } - $36 = ((($0)) + 12|0); - $37 = HEAP32[$36>>2]|0; - _free($37); - HEAP32[$36>>2] = 0; - $38 = ((($0)) + 8|0); - $39 = HEAP32[$38>>2]|0; - _free($39); - HEAP32[$38>>2] = 0; - $40 = ((($0)) + 4|0); - $41 = HEAP32[$40>>2]|0; - _free($41); - HEAP32[$40>>2] = 0; - $$045 = $$2; - return ($$045|0); -} -function _stbi__parse_png_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0219 = 0, $$0208 = 0, $$0213 = 0, $$0216 = 0, $$0219 = 0, $$0228595 = 0, $$0230 = 0, $$0233 = 0, $$0237 = 0, $$0241593 = 0, $$0243 = 0, $$0247 = 0, $$1209 = 0, $$1214 = 0, $$1217 = 0, $$1220 = 0, $$1229590 = 0, $$1231 = 0, $$1242591 = 0; - var $$1248 = 0, $$2221 = 0, $$2235 = 0, $$2239 = 0, $$2245 = 0, $$256 = 0, $$3211 = 0, $$3222 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; - var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; - var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; - var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; - var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond250 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $3 = sp + 32|0; - $4 = sp + 22|0; - $5 = sp + 16|0; - $6 = sp + 8|0; - $7 = sp; - $8 = HEAP32[$0>>2]|0; - $9 = ((($0)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($0)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = (_stbi__check_png_header($8)|0); - $13 = ($12|0)==(0); - if ($13) { - $$7 = 0; - STACKTOP = sp;return ($$7|0); - } - $14 = ($1|0)==(1); - if ($14) { - $$7 = 1; - STACKTOP = sp;return ($$7|0); - } - $15 = ((($6)) + 4|0); - $16 = ((($8)) + 4|0); - $17 = ((($0)) + 16|0); - $18 = ((($8)) + 8|0); - $19 = ($1|0)==(2); - $20 = ((($8)) + 8|0); - $21 = ((($8)) + 8|0); - $22 = ((($0)) + 16|0); - $23 = ($1|0)==(2); - $24 = ($1|0)==(2); - $$0208 = 0;$$0213 = 0;$$0216 = 0;$$0219 = 0;$$0230 = 0;$$0233 = 0;$$0237 = 0;$$0243 = 1;$$0247 = 0; - L7: while(1) { - _stbi__get_chunk_header($6,$8); - $25 = HEAP32[$15>>2]|0; - $switch$split2D = ($25|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split52D = ($25|0)<(1229209940); - if ($switch$split52D) { - switch ($25|0) { - case 1130840649: { - break; - } - default: { - label = 105; - break L9; - } - } - $26 = HEAP32[$6>>2]|0; - _stbi__skip($8,$26); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = 1;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - $switch$split112D = ($25|0)<(1229278788); - if (!($switch$split112D)) { - switch ($25|0) { - case 1229278788: { - label = 85; - break L7; - break; - } - default: { - label = 105; - break L9; - } - } - } - switch ($25|0) { - case 1229209940: { - break; - } - default: { - label = 105; - break L9; - } - } - $130 = ($$0243|0)==(0); - if (!($130)) { - label = 70; - break L7; - } - $131 = ($$0208<<24>>24)==(0); - $132 = ($$0247|0)!=(0); - $or$cond = $132 | $131; - if (!($or$cond)) { - label = 72; - break L7; - } - if ($24) { - label = 74; - break L7; - } - $135 = HEAP32[$6>>2]|0; - $136 = (($135) + ($$0216))|0; - $137 = ($136|0)<($$0216|0); - if ($137) { - $$6$ph = 0; - break L7; - } - $138 = ($136>>>0)>($$0219>>>0); - if ($138) { - $139 = ($$0219|0)==(0); - $140 = ($135>>>0)>(4096); - $141 = $140 ? $135 : 4096; - $$$0219 = $139 ? $141 : $$0219; - $142 = HEAP32[$6>>2]|0; - $143 = (($142) + ($$0216))|0; - $$1220 = $$$0219; - while(1) { - $144 = ($143>>>0)>($$1220>>>0); - $145 = $$1220 << 1; - if ($144) { - $$1220 = $145; - } else { - break; - } - } - $146 = HEAP32[$10>>2]|0; - $147 = (_realloc($146,$$1220)|0); - $148 = ($147|0)==(0|0); - if ($148) { - label = 81; - break L7; - } - HEAP32[$10>>2] = $147; - $$2221 = $$1220; - } else { - $$2221 = $$0219; - } - $149 = HEAP32[$10>>2]|0; - $150 = (($149) + ($$0216)|0); - $151 = HEAP32[$6>>2]|0; - $152 = (_stbi__getn($8,$150,$151)|0); - $153 = ($152|0)==(0); - if ($153) { - label = 83; - break L7; - } - $154 = HEAP32[$6>>2]|0; - $155 = (($154) + ($$0216))|0; - $$1214 = $$0213;$$1217 = $155;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$2221; - } else { - $switch$split82D = ($25|0)<(1347179589); - if ($switch$split82D) { - switch ($25|0) { - case 1229472850: { - break; - } - default: { - label = 105; - break L9; - } - } - $27 = ($$0243|0)==(0); - if ($27) { - label = 7; - break L7; - } - $28 = HEAP32[$6>>2]|0; - $29 = ($28|0)==(13); - if (!($29)) { - label = 9; - break L7; - } - $30 = (_stbi__get32be($8)|0); - HEAP32[$8>>2] = $30; - $31 = ($30>>>0)>(16777216); - if ($31) { - label = 11; - break L7; - } - $32 = (_stbi__get32be($8)|0); - HEAP32[$16>>2] = $32; - $33 = ($32>>>0)>(16777216); - if ($33) { - label = 13; - break L7; - } - $34 = (_stbi__get8($8)|0); - $35 = $34&255; - HEAP32[$17>>2] = $35; - switch ($34<<24>>24) { - case 16: case 8: case 4: case 2: case 1: { - break; - } - default: { - label = 15; - break L7; - } - } - $36 = (_stbi__get8($8)|0); - $37 = $36&255; - $38 = ($36&255)>(6); - if ($38) { - label = 17; - break L7; - } - $39 = ($36<<24>>24)==(3); - if ($39) { - $40 = HEAP32[$17>>2]|0; - $41 = ($40|0)==(16); - if ($41) { - label = 20; - break L7; - } else { - $$1209 = 3; - } - } else { - $42 = $37 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$1209 = $$0208; - } else { - label = 22; - break L7; - } - } - $44 = (_stbi__get8($8)|0); - $45 = ($44<<24>>24)==(0); - if (!($45)) { - label = 24; - break L7; - } - $46 = (_stbi__get8($8)|0); - $47 = ($46<<24>>24)==(0); - if (!($47)) { - label = 26; - break L7; - } - $48 = (_stbi__get8($8)|0); - $49 = $48&255; - $50 = ($48&255)>(1); - if ($50) { - label = 28; - break L7; - } - $51 = HEAP32[$8>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - label = 31; - break L7; - } - $53 = HEAP32[$16>>2]|0; - $54 = ($53|0)==(0); - if ($54) { - label = 31; - break L7; - } - $55 = ($$1209<<24>>24)==(0); - $56 = (1073741824 / ($51>>>0))&-1; - if (!($55)) { - HEAP32[$20>>2] = 1; - $63 = $56 >>> 2; - $64 = ($63>>>0)<($53>>>0); - if ($64) { - label = 37; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = $$1209;$$3222 = $$0219; - break; - } - } - $57 = $37 & 2; - $58 = $57 | 1; - $59 = $37 >>> 2; - $$lobit = $59 & 1; - $60 = (($58) + ($$lobit))|0; - HEAP32[$18>>2] = $60; - $61 = (($56>>>0) / ($60>>>0))&-1; - $62 = ($61>>>0)<($53>>>0); - if ($62) { - label = 34; - break L7; - } - if ($19) { - $$6$ph = 1; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - } - $switch$split142D = ($25|0)<(1951551059); - if ($switch$split142D) { - switch ($25|0) { - case 1347179589: { - break; - } - default: { - label = 105; - break L9; - } - } - $65 = ($$0243|0)==(0); - if (!($65)) { - label = 39; - break L7; - } - $66 = HEAP32[$6>>2]|0; - $67 = ($66>>>0)>(768); - if ($67) { - label = 41; - break L7; - } - $68 = (($66>>>0) / 3)&-1; - $69 = ($68*3)|0; - $70 = ($69|0)==($66|0); - if (!($70)) { - label = 44; - break L7; - } - $71 = ($66>>>0)>(2); - if ($71) { - $$0228595 = 0; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - break; - } - while(1) { - $72 = (_stbi__get8($8)|0); - $73 = $$0228595 << 2; - $74 = (($3) + ($73)|0); - HEAP8[$74>>0] = $72; - $75 = (_stbi__get8($8)|0); - $76 = $73 | 1; - $77 = (($3) + ($76)|0); - HEAP8[$77>>0] = $75; - $78 = (_stbi__get8($8)|0); - $79 = $73 | 2; - $80 = (($3) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = $73 | 3; - $82 = (($3) + ($81)|0); - HEAP8[$82>>0] = -1; - $83 = (($$0228595) + 1)|0; - $84 = ($83>>>0)<($68>>>0); - if ($84) { - $$0228595 = $83; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break L9; - } - } - } - switch ($25|0) { - case 1951551059: { - break; - } - default: { - label = 105; - break L9; - } - } - $85 = ($$0243|0)==(0); - if (!($85)) { - label = 47; - break L7; - } - $86 = HEAP32[$10>>2]|0; - $87 = ($86|0)==(0|0); - if (!($87)) { - label = 49; - break L7; - } - $88 = ($$0208<<24>>24)==(0); - if (!($88)) { - if ($23) { - label = 52; - break L7; - } - $90 = ($$0247|0)==(0); - if ($90) { - label = 54; - break L7; - } - $91 = HEAP32[$6>>2]|0; - $92 = ($91>>>0)>($$0247>>>0); - if ($92) { - label = 58; - break L7; - } - $93 = HEAP32[$6>>2]|0; - $94 = ($93|0)==(0); - if ($94) { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 4;$$3222 = $$0219; - break; - } - $95 = HEAP32[$6>>2]|0; - $$1229590 = 0; - while(1) { - $96 = (_stbi__get8($8)|0); - $97 = $$1229590 << 2; - $98 = $97 | 3; - $99 = (($3) + ($98)|0); - HEAP8[$99>>0] = $96; - $100 = (($$1229590) + 1)|0; - $101 = ($100>>>0)<($95>>>0); - if ($101) { - $$1229590 = $100; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = 4;$$3222 = $$0219; - break L9; - } - } - } - $102 = HEAP32[$21>>2]|0; - $103 = $102 & 1; - $104 = ($103|0)==(0); - if ($104) { - label = 61; - break L7; - } - $105 = HEAP32[$6>>2]|0; - $106 = $102 << 1; - $107 = ($105|0)==($106|0); - if (!($107)) { - label = 63; - break L7; - } - $108 = HEAP32[$22>>2]|0; - $109 = ($108|0)==(16); - $110 = HEAP32[$21>>2]|0; - $111 = ($110|0)>(0); - if ($109) { - if ($111) { - $$0241593 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $112 = (_stbi__get16be($8)|0); - $113 = $112&65535; - $114 = (($5) + ($$0241593<<1)|0); - HEAP16[$114>>1] = $113; - $115 = (($$0241593) + 1)|0; - $116 = HEAP32[$21>>2]|0; - $117 = ($115|0)<($116|0); - if ($117) { - $$0241593 = $115; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } else { - if ($111) { - $$1242591 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $118 = (_stbi__get16be($8)|0); - $119 = $118 & 255; - $120 = HEAP32[$22>>2]|0; - $121 = (6313 + ($120)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = Math_imul($123, $119)|0; - $125 = $124&255; - $126 = (($4) + ($$1242591)|0); - HEAP8[$126>>0] = $125; - $127 = (($$1242591) + 1)|0; - $128 = HEAP32[$21>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $$1242591 = $127; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } - } - } while(0); - if ((label|0) == 105) { - label = 0; - $205 = ($$0243|0)==(0); - if (!($205)) { - label = 106; - break; - } - $206 = $25 & 536870912; - $207 = ($206|0)==(0); - if ($207) { - label = 108; - break; - } - $216 = HEAP32[$6>>2]|0; - _stbi__skip($8,$216); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - } - (_stbi__get32be($8)|0); - $$0208 = $$3211;$$0213 = $$1214;$$0216 = $$1217;$$0219 = $$3222;$$0230 = $$1231;$$0233 = $$2235;$$0237 = $$2239;$$0243 = $$2245;$$0247 = $$1248; - } - switch (label|0) { - case 7: { - _stbi__err(6087); - $$6$ph = 0; - break; - } - case 9: { - _stbi__err(6101); - $$6$ph = 0; - break; - } - case 11: { - _stbi__err(6114); - $$6$ph = 0; - break; - } - case 13: { - _stbi__err(6114); - $$6$ph = 0; - break; - } - case 15: { - _stbi__err(6124); - $$6$ph = 0; - break; - } - case 17: { - _stbi__err(6144); - $$6$ph = 0; - break; - } - case 20: { - _stbi__err(6144); - $$6$ph = 0; - break; - } - case 22: { - _stbi__err(6144); - $$6$ph = 0; - break; - } - case 24: { - _stbi__err(6154); - $$6$ph = 0; - break; - } - case 26: { - _stbi__err(6170); - $$6$ph = 0; - break; - } - case 28: { - _stbi__err(6188); - $$6$ph = 0; - break; - } - case 31: { - _stbi__err(6209); - $$6$ph = 0; - break; - } - case 34: { - _stbi__err(6114); - $$6$ph = 0; - break; - } - case 37: { - _stbi__err(6114); - $$6$ph = 0; - break; - } - case 39: { - _stbi__err(6223); - $$6$ph = 0; - break; - } - case 41: { - _stbi__err(6238); - $$6$ph = 0; - break; - } - case 44: { - _stbi__err(6238); - $$6$ph = 0; - break; - } - case 47: { - _stbi__err(6223); - $$6$ph = 0; - break; - } - case 49: { - _stbi__err(6251); - $$6$ph = 0; - break; - } - case 52: { - $89 = ((($8)) + 8|0); - HEAP32[$89>>2] = 4; - $$6$ph = 1; - break; - } - case 54: { - _stbi__err(6267); - $$6$ph = 0; - break; - } - case 58: { - _stbi__err(6284); - $$6$ph = 0; - break; - } - case 61: { - _stbi__err(6297); - $$6$ph = 0; - break; - } - case 63: { - _stbi__err(6284); - $$6$ph = 0; - break; - } - case 70: { - _stbi__err(6223); - $$6$ph = 0; - break; - } - case 72: { - _stbi__err(6322); - $$6$ph = 0; - break; - } - case 74: { - $133 = $$0208&255; - $134 = ((($8)) + 8|0); - HEAP32[$134>>2] = $133; - $$6$ph = 1; - break; - } - case 81: { - _stbi__err(5907); - $$6$ph = 0; - break; - } - case 83: { - _stbi__err(6330); - $$6$ph = 0; - break; - } - case 85: { - $156 = ($$0243|0)==(0); - do { - if ($156) { - $157 = ($1|0)==(0); - if ($157) { - $158 = HEAP32[$10>>2]|0; - $159 = ($158|0)==(0|0); - if ($159) { - _stbi__err(6340); - $$4 = 0; - break; - } - $160 = HEAP32[$8>>2]|0; - $161 = ((($0)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = Math_imul($162, $160)|0; - $164 = (($163) + 7)|0; - $165 = $164 >>> 3; - $166 = ((($8)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = ((($8)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = Math_imul($169, $167)|0; - $171 = Math_imul($170, $165)|0; - $172 = (($171) + ($167))|0; - HEAP32[$7>>2] = $172; - $173 = ($$0230|0)!=(0); - $174 = $173 ^ 1; - $175 = $174&1; - $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0216,$172,$7,$175)|0); - HEAP32[$9>>2] = $176; - $177 = ($176|0)==(0|0); - if ($177) { - $$4 = 0; - } else { - $178 = HEAP32[$10>>2]|0; - _free($178); - HEAP32[$10>>2] = 0; - $179 = HEAP32[$168>>2]|0; - $180 = (($179) + 1)|0; - $notlhs = ($180|0)!=($2|0); - $notrhs = ($2|0)==(3); - $or$cond5$not = $notrhs | $notlhs; - $181 = ($$0208<<24>>24)!=(0); - $or$cond7 = $181 | $or$cond5$not; - $182 = ($$0213<<24>>24)==(0); - $or$cond250 = $182 & $or$cond7; - $$256 = $or$cond250 ? $179 : $180; - $183 = ((($8)) + 12|0); - HEAP32[$183>>2] = $$256; - $184 = HEAP32[$9>>2]|0; - $185 = HEAP32[$7>>2]|0; - $186 = HEAP32[$161>>2]|0; - $187 = (_stbi__create_png_image($0,$184,$185,$$256,$186,$$0233,$$0237)|0); - $188 = ($187|0)==(0); - if ($188) { - $$4 = 0; - } else { - $189 = ($$0213<<24>>24)!=(0); - do { - if ($189) { - $190 = HEAP32[$161>>2]|0; - $191 = ($190|0)==(16); - if ($191) { - $192 = HEAP32[$183>>2]|0; - _stbi__compute_transparency16($0,$5,$192); - break; - } else { - $193 = HEAP32[$183>>2]|0; - _stbi__compute_transparency($0,$4,$193); - break; - } - } - } while(0); - $194 = HEAP32[4695]|0; - $195 = ($194|0)!=(0); - $or$cond11 = $173 & $195; - if ($or$cond11) { - $196 = HEAP32[$183>>2]|0; - $197 = ($196|0)>(2); - if ($197) { - _stbi__de_iphone($0); - } - } - if ($181) { - $198 = $$0208&255; - HEAP32[$168>>2] = $198; - $199 = ($2|0)>(2); - $$ = $199 ? $2 : $198; - HEAP32[$183>>2] = $$; - $200 = (_stbi__expand_png_palette($0,$3,$$)|0); - $201 = ($200|0)==(0); - if ($201) { - $$4 = 0; - break; - } - } else { - if ($189) { - $202 = HEAP32[$168>>2]|0; - $203 = (($202) + 1)|0; - HEAP32[$168>>2] = $203; - } - } - $204 = HEAP32[$9>>2]|0; - _free($204); - HEAP32[$9>>2] = 0; - $$4 = 1; - } - } - } else { - $$4 = 1; - } - } else { - _stbi__err(6223); - $$4 = 0; - } - } while(0); - $$6$ph = $$4; - break; - } - case 106: { - _stbi__err(6223); - $$6$ph = 0; - break; - } - case 108: { - $208 = $25 >>> 24; - $209 = $208&255; - HEAP8[6348] = $209; - $210 = HEAP32[$15>>2]|0; - $211 = $210 >>> 16; - $212 = $211&255; - HEAP8[(6349)>>0] = $212; - $213 = $210 >>> 8; - $214 = $213&255; - HEAP8[(6350)>>0] = $214; - $215 = $210&255; - HEAP8[(6351)>>0] = $215; - _stbi__err(6348); - $$6$ph = 0; - break; - } - } - $$7 = $$6$ph; - STACKTOP = sp;return ($$7|0); -} -function _stbi__convert_format($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6010|0),(5942|0),1477,(6066|0)); - // unreachable; - } - $7 = (_stbi__malloc_mad3($2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - _free($0); - _stbi__err(5907); - $$0163 = 0; - return ($$0163|0); - } - $9 = ($4|0)>(0); - L11: do { - if ($9) { - $10 = $1 << 3; - $11 = (($10) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $12 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $13 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $14 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $15 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $16 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $17 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $18 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $19 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $20 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $21 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $22 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $23 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $24 = Math_imul($$0164259, $3)|0; - $25 = Math_imul($24, $1)|0; - $26 = (($0) + ($25)|0); - $27 = Math_imul($24, $2)|0; - $28 = (($7) + ($27)|0); - do { - switch ($11|0) { - case 10: { - if ($12) { - $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; - while(1) { - $29 = HEAP8[$$0151255>>0]|0; - HEAP8[$$0256>>0] = $29; - $30 = ((($$0256)) + 1|0); - HEAP8[$30>>0] = -1; - $31 = ((($$0151255)) + 1|0); - $32 = ((($$0256)) + 2|0); - $$0165 = (($$0165257) + -1)|0; - $33 = ($$0165|0)>(-1); - if ($33) { - $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; - } else { - break; - } - } - } - break; - } - case 11: { - if ($13) { - $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; - while(1) { - $34 = HEAP8[$$1152250>>0]|0; - $35 = ((($$1251)) + 2|0); - HEAP8[$35>>0] = $34; - $36 = ((($$1251)) + 1|0); - HEAP8[$36>>0] = $34; - HEAP8[$$1251>>0] = $34; - $37 = ((($$1152250)) + 1|0); - $38 = ((($$1251)) + 3|0); - $$1166 = (($$1166252) + -1)|0; - $39 = ($$1166|0)>(-1); - if ($39) { - $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; - } else { - break; - } - } - } - break; - } - case 12: { - if ($14) { - $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; - while(1) { - $40 = HEAP8[$$2153245>>0]|0; - $41 = ((($$2246)) + 2|0); - HEAP8[$41>>0] = $40; - $42 = ((($$2246)) + 1|0); - HEAP8[$42>>0] = $40; - HEAP8[$$2246>>0] = $40; - $43 = ((($$2246)) + 3|0); - HEAP8[$43>>0] = -1; - $44 = ((($$2153245)) + 1|0); - $45 = ((($$2246)) + 4|0); - $$2167 = (($$2167247) + -1)|0; - $46 = ($$2167|0)>(-1); - if ($46) { - $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; - } else { - break; - } - } - } - break; - } - case 17: { - if ($15) { - $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; - while(1) { - $47 = HEAP8[$$3154240>>0]|0; - HEAP8[$$3241>>0] = $47; - $48 = ((($$3154240)) + 2|0); - $49 = ((($$3241)) + 1|0); - $$3168 = (($$3168242) + -1)|0; - $50 = ($$3168|0)>(-1); - if ($50) { - $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; - } else { - break; - } - } - } - break; - } - case 19: { - if ($16) { - $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; - while(1) { - $51 = HEAP8[$$4155235>>0]|0; - $52 = ((($$4236)) + 2|0); - HEAP8[$52>>0] = $51; - $53 = ((($$4236)) + 1|0); - HEAP8[$53>>0] = $51; - HEAP8[$$4236>>0] = $51; - $54 = ((($$4155235)) + 2|0); - $55 = ((($$4236)) + 3|0); - $$4169 = (($$4169237) + -1)|0; - $56 = ($$4169|0)>(-1); - if ($56) { - $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; - } else { - break; - } - } - } - break; - } - case 20: { - if ($17) { - $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; - while(1) { - $57 = HEAP8[$$5156230>>0]|0; - $58 = ((($$5231)) + 2|0); - HEAP8[$58>>0] = $57; - $59 = ((($$5231)) + 1|0); - HEAP8[$59>>0] = $57; - HEAP8[$$5231>>0] = $57; - $60 = ((($$5156230)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((($$5231)) + 3|0); - HEAP8[$62>>0] = $61; - $63 = ((($$5156230)) + 2|0); - $64 = ((($$5231)) + 4|0); - $$5170 = (($$5170232) + -1)|0; - $65 = ($$5170|0)>(-1); - if ($65) { - $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; - } else { - break; - } - } - } - break; - } - case 28: { - if ($18) { - $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; - while(1) { - $66 = HEAP8[$$6157225>>0]|0; - HEAP8[$$6226>>0] = $66; - $67 = ((($$6157225)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($$6226)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ((($$6226)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = ((($$6226)) + 3|0); - HEAP8[$73>>0] = -1; - $74 = ((($$6157225)) + 3|0); - $75 = ((($$6226)) + 4|0); - $$6171 = (($$6171227) + -1)|0; - $76 = ($$6171|0)>(-1); - if ($76) { - $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; - } else { - break; - } - } - } - break; - } - case 25: { - if ($19) { - $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; - while(1) { - $77 = HEAP8[$$7158220>>0]|0; - $78 = $77&255; - $79 = ((($$7158220)) + 1|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__compute_y($78,$81,$84)|0); - HEAP8[$$7221>>0] = $85; - $86 = ((($$7158220)) + 3|0); - $87 = ((($$7221)) + 1|0); - $$7172 = (($$7172222) + -1)|0; - $88 = ($$7172|0)>(-1); - if ($88) { - $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; - } else { - break; - } - } - } - break; - } - case 26: { - if ($20) { - $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; - while(1) { - $89 = HEAP8[$$8159215>>0]|0; - $90 = $89&255; - $91 = ((($$8159215)) + 1|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = (_stbi__compute_y($90,$93,$96)|0); - HEAP8[$$8216>>0] = $97; - $98 = ((($$8216)) + 1|0); - HEAP8[$98>>0] = -1; - $99 = ((($$8159215)) + 3|0); - $100 = ((($$8216)) + 2|0); - $$8173 = (($$8173217) + -1)|0; - $101 = ($$8173|0)>(-1); - if ($101) { - $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; - } else { - break; - } - } - } - break; - } - case 33: { - if ($21) { - $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; - while(1) { - $102 = HEAP8[$$9160210>>0]|0; - $103 = $102&255; - $104 = ((($$9160210)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (_stbi__compute_y($103,$106,$109)|0); - HEAP8[$$9211>>0] = $110; - $111 = ((($$9160210)) + 4|0); - $112 = ((($$9211)) + 1|0); - $$9174 = (($$9174212) + -1)|0; - $113 = ($$9174|0)>(-1); - if ($113) { - $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; - } else { - break; - } - } - } - break; - } - case 34: { - if ($22) { - $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; - while(1) { - $114 = HEAP8[$$10161205>>0]|0; - $115 = $114&255; - $116 = ((($$10161205)) + 1|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = (_stbi__compute_y($115,$118,$121)|0); - HEAP8[$$10206>>0] = $122; - $123 = ((($$10161205)) + 3|0); - $124 = HEAP8[$123>>0]|0; - $125 = ((($$10206)) + 1|0); - HEAP8[$125>>0] = $124; - $126 = ((($$10161205)) + 4|0); - $127 = ((($$10206)) + 2|0); - $$10175 = (($$10175207) + -1)|0; - $128 = ($$10175|0)>(-1); - if ($128) { - $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; - } else { - break; - } - } - } - break; - } - case 35: { - if ($23) { - $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; - while(1) { - $129 = HEAP8[$$11162201>>0]|0; - HEAP8[$$11202>>0] = $129; - $130 = ((($$11162201)) + 1|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($$11202)) + 1|0); - HEAP8[$132>>0] = $131; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP8[$133>>0]|0; - $135 = ((($$11202)) + 2|0); - HEAP8[$135>>0] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = ((($$11202)) + 3|0); - $$11176 = (($$11176203) + -1)|0; - $138 = ($$11176|0)>(-1); - if ($138) { - $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $139 = (($$0164259) + 1)|0; - $140 = ($139|0)<($4|0); - if ($140) { - $$0164259 = $139; - } else { - break L11; - } - } - ___assert_fail((6064|0),(5942|0),1506,(6066|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $7; - return ($$0163|0); -} -function _stbi__convert_format16($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6010|0),(5942|0),1526,(6041|0)); - // unreachable; - } - $7 = $2 << 1; - $8 = Math_imul($7, $3)|0; - $9 = Math_imul($8, $4)|0; - $10 = (_stbi__malloc($9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($0); - _stbi__err(5907); - $$0163 = 0; - return ($$0163|0); - } - $12 = ($4|0)>(0); - L11: do { - if ($12) { - $13 = $1 << 3; - $14 = (($13) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $15 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $16 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $17 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $18 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $19 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $20 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $21 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $22 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $23 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $24 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $25 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $26 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $27 = Math_imul($$0164259, $3)|0; - $28 = Math_imul($27, $1)|0; - $29 = (($0) + ($28<<1)|0); - $30 = Math_imul($27, $2)|0; - $31 = (($10) + ($30<<1)|0); - do { - switch ($14|0) { - case 10: { - if ($15) { - $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; - while(1) { - $32 = HEAP16[$$0151255>>1]|0; - HEAP16[$$0256>>1] = $32; - $33 = ((($$0256)) + 2|0); - HEAP16[$33>>1] = -1; - $34 = ((($$0151255)) + 2|0); - $35 = ((($$0256)) + 4|0); - $$0165 = (($$0165257) + -1)|0; - $36 = ($$0165|0)>(-1); - if ($36) { - $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; - } else { - break; - } - } - } - break; - } - case 11: { - if ($16) { - $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; - while(1) { - $37 = HEAP16[$$1152250>>1]|0; - $38 = ((($$1251)) + 4|0); - HEAP16[$38>>1] = $37; - $39 = ((($$1251)) + 2|0); - HEAP16[$39>>1] = $37; - HEAP16[$$1251>>1] = $37; - $40 = ((($$1152250)) + 2|0); - $41 = ((($$1251)) + 6|0); - $$1166 = (($$1166252) + -1)|0; - $42 = ($$1166|0)>(-1); - if ($42) { - $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; - } else { - break; - } - } - } - break; - } - case 12: { - if ($17) { - $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; - while(1) { - $43 = HEAP16[$$2153245>>1]|0; - $44 = ((($$2246)) + 4|0); - HEAP16[$44>>1] = $43; - $45 = ((($$2246)) + 2|0); - HEAP16[$45>>1] = $43; - HEAP16[$$2246>>1] = $43; - $46 = ((($$2246)) + 6|0); - HEAP16[$46>>1] = -1; - $47 = ((($$2153245)) + 2|0); - $48 = ((($$2246)) + 8|0); - $$2167 = (($$2167247) + -1)|0; - $49 = ($$2167|0)>(-1); - if ($49) { - $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; - } else { - break; - } - } - } - break; - } - case 17: { - if ($18) { - $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; - while(1) { - $50 = HEAP16[$$3154240>>1]|0; - HEAP16[$$3241>>1] = $50; - $51 = ((($$3154240)) + 4|0); - $52 = ((($$3241)) + 2|0); - $$3168 = (($$3168242) + -1)|0; - $53 = ($$3168|0)>(-1); - if ($53) { - $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; - } else { - break; - } - } - } - break; - } - case 19: { - if ($19) { - $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; - while(1) { - $54 = HEAP16[$$4155235>>1]|0; - $55 = ((($$4236)) + 4|0); - HEAP16[$55>>1] = $54; - $56 = ((($$4236)) + 2|0); - HEAP16[$56>>1] = $54; - HEAP16[$$4236>>1] = $54; - $57 = ((($$4155235)) + 4|0); - $58 = ((($$4236)) + 6|0); - $$4169 = (($$4169237) + -1)|0; - $59 = ($$4169|0)>(-1); - if ($59) { - $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; - } else { - break; - } - } - } - break; - } - case 20: { - if ($20) { - $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; - while(1) { - $60 = HEAP16[$$5156230>>1]|0; - $61 = ((($$5231)) + 4|0); - HEAP16[$61>>1] = $60; - $62 = ((($$5231)) + 2|0); - HEAP16[$62>>1] = $60; - HEAP16[$$5231>>1] = $60; - $63 = ((($$5156230)) + 2|0); - $64 = HEAP16[$63>>1]|0; - $65 = ((($$5231)) + 6|0); - HEAP16[$65>>1] = $64; - $66 = ((($$5156230)) + 4|0); - $67 = ((($$5231)) + 8|0); - $$5170 = (($$5170232) + -1)|0; - $68 = ($$5170|0)>(-1); - if ($68) { - $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; - } else { - break; - } - } - } - break; - } - case 28: { - if ($21) { - $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; - while(1) { - $69 = HEAP16[$$6157225>>1]|0; - HEAP16[$$6226>>1] = $69; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP16[$70>>1]|0; - $72 = ((($$6226)) + 2|0); - HEAP16[$72>>1] = $71; - $73 = ((($$6157225)) + 4|0); - $74 = HEAP16[$73>>1]|0; - $75 = ((($$6226)) + 4|0); - HEAP16[$75>>1] = $74; - $76 = ((($$6226)) + 6|0); - HEAP16[$76>>1] = -1; - $77 = ((($$6157225)) + 6|0); - $78 = ((($$6226)) + 8|0); - $$6171 = (($$6171227) + -1)|0; - $79 = ($$6171|0)>(-1); - if ($79) { - $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; - } else { - break; - } - } - } - break; - } - case 25: { - if ($22) { - $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; - while(1) { - $80 = HEAP16[$$7158220>>1]|0; - $81 = $80&65535; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = ((($$7158220)) + 4|0); - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = (_stbi__compute_y_16($81,$84,$87)|0); - HEAP16[$$7221>>1] = $88; - $89 = ((($$7158220)) + 6|0); - $90 = ((($$7221)) + 2|0); - $$7172 = (($$7172222) + -1)|0; - $91 = ($$7172|0)>(-1); - if ($91) { - $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; - } else { - break; - } - } - } - break; - } - case 26: { - if ($23) { - $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; - while(1) { - $92 = HEAP16[$$8159215>>1]|0; - $93 = $92&65535; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = ((($$8159215)) + 4|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = (_stbi__compute_y_16($93,$96,$99)|0); - HEAP16[$$8216>>1] = $100; - $101 = ((($$8216)) + 2|0); - HEAP16[$101>>1] = -1; - $102 = ((($$8159215)) + 6|0); - $103 = ((($$8216)) + 4|0); - $$8173 = (($$8173217) + -1)|0; - $104 = ($$8173|0)>(-1); - if ($104) { - $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; - } else { - break; - } - } - } - break; - } - case 33: { - if ($24) { - $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; - while(1) { - $105 = HEAP16[$$9160210>>1]|0; - $106 = $105&65535; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - $110 = ((($$9160210)) + 4|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111&65535; - $113 = (_stbi__compute_y_16($106,$109,$112)|0); - HEAP16[$$9211>>1] = $113; - $114 = ((($$9160210)) + 8|0); - $115 = ((($$9211)) + 2|0); - $$9174 = (($$9174212) + -1)|0; - $116 = ($$9174|0)>(-1); - if ($116) { - $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; - } else { - break; - } - } - } - break; - } - case 34: { - if ($25) { - $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; - while(1) { - $117 = HEAP16[$$10161205>>1]|0; - $118 = $117&65535; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = ((($$10161205)) + 4|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = (_stbi__compute_y_16($118,$121,$124)|0); - HEAP16[$$10206>>1] = $125; - $126 = ((($$10161205)) + 6|0); - $127 = HEAP16[$126>>1]|0; - $128 = ((($$10206)) + 2|0); - HEAP16[$128>>1] = $127; - $129 = ((($$10161205)) + 8|0); - $130 = ((($$10206)) + 4|0); - $$10175 = (($$10175207) + -1)|0; - $131 = ($$10175|0)>(-1); - if ($131) { - $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; - } else { - break; - } - } - } - break; - } - case 35: { - if ($26) { - $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; - while(1) { - $132 = HEAP16[$$11162201>>1]|0; - HEAP16[$$11202>>1] = $132; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP16[$133>>1]|0; - $135 = ((($$11202)) + 2|0); - HEAP16[$135>>1] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = HEAP16[$136>>1]|0; - $138 = ((($$11202)) + 4|0); - HEAP16[$138>>1] = $137; - $139 = ((($$11162201)) + 8|0); - $140 = ((($$11202)) + 6|0); - $$11176 = (($$11176203) + -1)|0; - $141 = ($$11176|0)>(-1); - if ($141) { - $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $142 = (($$0164259) + 1)|0; - $143 = ($142|0)<($4|0); - if ($143) { - $$0164259 = $142; - } else { - break L11; - } - } - ___assert_fail((6064|0),(5942|0),1555,(6041|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $10; - return ($$0163|0); -} -function _stbi__compute_y_16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&65535; - return ($9|0); -} -function _stbi__compute_y($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&255; - return ($9|0); -} -function _stbi__check_png_header($0) { - $0 = $0|0; - var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = ($1<<24>>24)==(-119); - if ($2) { - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = (_stbi__get8($0)|0); - $6 = ($5<<24>>24)==(78); - if ($6) { - $7 = (_stbi__get8($0)|0); - $8 = ($7<<24>>24)==(71); - if ($8) { - $9 = (_stbi__get8($0)|0); - $10 = ($9<<24>>24)==(13); - if ($10) { - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $13 = (_stbi__get8($0)|0); - $14 = ($13<<24>>24)==(26); - if ($14) { - $15 = (_stbi__get8($0)|0); - $16 = ($15<<24>>24)==(10); - if ($16) { - $$05 = 1; - return ($$05|0); - } - } - } - } - } - } - } - } - _stbi__err(7344); - $$05 = 0; - return ($$05|0); -} -function _stbi__get_chunk_header($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__get32be($1)|0); - $3 = (_stbi__get32be($1)|0); - HEAP32[$0>>2] = $2; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; - return; -} -function _stbi__skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(0); - if ($2) { - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 168|0); - HEAP32[$5>>2] = $4; - return; - } - $6 = ((($0)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 168|0); - $12 = HEAP32[$11>>2]|0; - $13 = $10; - $14 = (($13) - ($12))|0; - $15 = ($14|0)<($1|0); - if ($15) { - HEAP32[$11>>2] = $10; - $16 = ((($0)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($1) - ($14))|0; - FUNCTION_TABLE_vii[$17 & 63]($19,$20); - return; - } - } - $21 = ((($0)) + 168|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($1)|0); - HEAP32[$21>>2] = $23; - return; -} -function _stbi__get32be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get16be($0)|0); - $2 = $1 << 16; - $3 = (_stbi__get16be($0)|0); - $4 = (($2) + ($3))|0; - return ($4|0); -} -function _stbi__get8($0) { - $0 = $0|0; - var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 168|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)<($4>>>0); - do { - if ($5) { - $$sink6 = $2; - } else { - $6 = ((($0)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - _stbi__refill_buffer($0); - $9 = HEAP32[$1>>2]|0; - $$sink6 = $9; - break; - } - } - } while(0); - $10 = ((($$sink6)) + 1|0); - HEAP32[$1>>2] = $10; - $11 = HEAP8[$$sink6>>0]|0; - $$0 = $11; - return ($$0|0); -} -function _stbi__get16be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = $1&255; - $3 = $2 << 8; - $4 = (_stbi__get8($0)|0); - $5 = $4&255; - $6 = $3 | $5; - return ($6|0); -} -function _stbi__getn($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($0)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 168|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - $11 = (($7) - ($10))|0; - $12 = ($11|0)<($2|0); - if ($12) { - _memcpy(($1|0),($9|0),($11|0))|0; - $13 = HEAP32[$3>>2]|0; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($1) + ($11)|0); - $17 = (($2) - ($11))|0; - $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); - $19 = ($18|0)==($17|0); - $20 = $19&1; - $21 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = $21; - $$1 = $20; - return ($$1|0); - } - } - $22 = ((($0)) + 168|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($2)|0); - $25 = ((($0)) + 172|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($24>>>0)>($26>>>0); - if ($27) { - $$1 = 0; - return ($$1|0); - } - _memcpy(($1|0),($23|0),($2|0))|0; - $28 = HEAP32[$22>>2]|0; - $29 = (($28) + ($2)|0); - HEAP32[$22>>2] = $29; - $$1 = 1; - return ($$1|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); - $5 = sp; - $6 = (_stbi__malloc($2)|0); - $7 = ($6|0)==(0|0); - do { - if ($7) { - $$0 = 0; - } else { - HEAP32[$5>>2] = $0; - $8 = (($0) + ($1)|0); - $9 = ((($5)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); - $11 = ($10|0)==(0); - $12 = ((($5)) + 20|0); - $13 = HEAP32[$12>>2]|0; - if ($11) { - _free($13); - $$0 = 0; - break; - } - $14 = ($3|0)==(0|0); - if ($14) { - $$0 = $13; - } else { - $15 = ((($5)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = $13; - $18 = (($16) - ($17))|0; - HEAP32[$3>>2] = $18; - $$0 = $13; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = ($4|0)==(16); - $8 = $7 ? 2 : 1; - $9 = Math_imul($8, $3)|0; - $10 = ($6|0)==(0); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($11)) + 4|0); - $14 = HEAP32[$13>>2]|0; - if ($10) { - $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); - $$4 = $15; - return ($$4|0); - } - $16 = (_stbi__malloc_mad3($12,$14,$9)|0); - $17 = ((($0)) + 12|0); - $18 = ((($0)) + 12|0); - $$0103117 = 0;$$095119 = $1;$$099118 = $2; - while(1) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (3040 + ($$0103117<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (3068 + ($$0103117<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($20) + -1)|0; - $26 = (($25) - ($22))|0; - $27 = (($26) + ($24))|0; - $28 = (($27>>>0) / ($24>>>0))&-1; - $29 = ((($19)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (3096 + ($$0103117<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (3124 + ($$0103117<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($30) + -1)|0; - $36 = (($35) - ($32))|0; - $37 = (($36) + ($34))|0; - $38 = (($37>>>0) / ($34>>>0))&-1; - $39 = ($24>>>0)<=($27>>>0); - $40 = ($34>>>0)<=($37>>>0); - $or$cond = $39 & $40; - if ($or$cond) { - $41 = ((($19)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = Math_imul($28, $4)|0; - $44 = Math_imul($43, $42)|0; - $45 = (($44) + 7)|0; - $46 = $45 >> 3; - $47 = (($46) + 1)|0; - $48 = Math_imul($47, $38)|0; - $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 13; - break; - } - $51 = ($38|0)>(0); - if ($51) { - $52 = ($28|0)>(0); - $$0106116 = 0; - while(1) { - if ($52) { - $53 = HEAP32[$33>>2]|0; - $54 = Math_imul($53, $$0106116)|0; - $55 = HEAP32[$31>>2]|0; - $56 = (($54) + ($55))|0; - $57 = HEAP32[$23>>2]|0; - $58 = HEAP32[$21>>2]|0; - $59 = Math_imul($56, $9)|0; - $60 = Math_imul($$0106116, $28)|0; - $$0107115 = 0; - while(1) { - $61 = Math_imul($57, $$0107115)|0; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($59, $64)|0; - $66 = (($16) + ($65)|0); - $67 = Math_imul($62, $9)|0; - $68 = (($66) + ($67)|0); - $69 = HEAP32[$18>>2]|0; - $70 = (($$0107115) + ($60))|0; - $71 = Math_imul($70, $9)|0; - $72 = (($69) + ($71)|0); - _memcpy(($68|0),($72|0),($9|0))|0; - $73 = (($$0107115) + 1)|0; - $74 = ($73|0)<($28|0); - if ($74) { - $$0107115 = $73; - } else { - break; - } - } - } - $75 = (($$0106116) + 1)|0; - $76 = ($75|0)<($38|0); - if ($76) { - $$0106116 = $75; - } else { - break; - } - } - } - $77 = HEAP32[$17>>2]|0; - _free($77); - $78 = (($$095119) + ($48)|0); - $79 = (($$099118) - ($48))|0; - $$3102$ph = $79;$$398$ph = $78; - } else { - $$3102$ph = $$099118;$$398$ph = $$095119; - } - $80 = (($$0103117) + 1)|0; - $81 = ($80|0)<(7); - if ($81) { - $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; - } else { - label = 15; - break; - } - } - if ((label|0) == 13) { - _free($16); - $$4 = 0; - return ($$4|0); - } - else if ((label|0) == 15) { - $82 = ((($0)) + 12|0); - HEAP32[$82>>2] = $16; - $$4 = 1; - return ($$4|0); - } - return (0)|0; -} -function _stbi__compute_transparency16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP16[$$04>>1]|0; - $15 = HEAP16[$1>>1]|0; - $not$ = ($14<<16>>16)!=($15<<16>>16); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 2|0); - HEAP16[$17>>1] = $16; - $18 = ((($$04)) + 4|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 2|0); - $12 = ((($1)) + 4|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP16[$$16>>1]|0; - $21 = HEAP16[$1>>1]|0; - $22 = ($20<<16>>16)==($21<<16>>16); - if ($22) { - $23 = ((($$16)) + 2|0); - $24 = HEAP16[$23>>1]|0; - $25 = HEAP16[$11>>1]|0; - $26 = ($24<<16>>16)==($25<<16>>16); - if ($26) { - $27 = ((($$16)) + 4|0); - $28 = HEAP16[$27>>1]|0; - $29 = HEAP16[$12>>1]|0; - $30 = ($28<<16>>16)==($29<<16>>16); - if ($30) { - $31 = ((($$16)) + 6|0); - HEAP16[$31>>1] = 0; - } - } - } - $32 = ((($$16)) + 8|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6407|0),(5942|0),4568,(6459|0)); - // unreachable; - } - } -} -function _stbi__compute_transparency($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP8[$$04>>0]|0; - $15 = HEAP8[$1>>0]|0; - $not$ = ($14<<24>>24)!=($15<<24>>24); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 1|0); - HEAP8[$17>>0] = $16; - $18 = ((($$04)) + 2|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 1|0); - $12 = ((($1)) + 2|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP8[$$16>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = ($20<<24>>24)==($21<<24>>24); - if ($22) { - $23 = ((($$16)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP8[$11>>0]|0; - $26 = ($24<<24>>24)==($25<<24>>24); - if ($26) { - $27 = ((($$16)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = HEAP8[$12>>0]|0; - $30 = ($28<<24>>24)==($29<<24>>24); - if ($30) { - $31 = ((($$16)) + 3|0); - HEAP8[$31>>0] = 0; - } - } - } - $32 = ((($$16)) + 4|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6407|0),(5942|0),4543,(6432|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($0) { - $0 = $0|0; - var $$05461 = 0, $$062 = 0, $$15566 = 0, $$167 = 0, $$25663 = 0, $$264 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $exitcond = 0, $exitcond71 = 0; - var $exitcond72 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = Math_imul($4, $2)|0; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($1)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($9|0) { - case 3: { - $10 = ($5|0)==(0); - if ($10) { - return; - } else { - $$05461 = $7;$$062 = 0; - } - while(1) { - $11 = HEAP8[$$05461>>0]|0; - $12 = ((($$05461)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$$05461>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($$05461)) + 3|0); - $15 = (($$062) + 1)|0; - $exitcond = ($15|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05461 = $14;$$062 = $15; - } - } - return; - break; - } - case 4: { - $16 = HEAP32[4696]|0; - $17 = ($16|0)==(0); - $18 = ($5|0)!=(0); - if ($17) { - if ($18) { - $$25663 = $7;$$264 = 0; - } else { - return; - } - while(1) { - $46 = HEAP8[$$25663>>0]|0; - $47 = ((($$25663)) + 2|0); - $48 = HEAP8[$47>>0]|0; - HEAP8[$$25663>>0] = $48; - HEAP8[$47>>0] = $46; - $49 = ((($$25663)) + 4|0); - $50 = (($$264) + 1)|0; - $exitcond71 = ($50|0)==($5|0); - if ($exitcond71) { - break; - } else { - $$25663 = $49;$$264 = $50; - } - } - return; - } - if ($18) { - $$15566 = $7;$$167 = 0; - } else { - return; - } - while(1) { - $19 = ((($$15566)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = HEAP8[$$15566>>0]|0; - $22 = ($20<<24>>24)==(0); - $23 = ((($$15566)) + 2|0); - $24 = HEAP8[$23>>0]|0; - if ($22) { - HEAP8[$$15566>>0] = $24; - $$sink = $21; - } else { - $25 = $20&255; - $div = ($20&255) >>> 1; - $26 = $24&255; - $27 = ($26*255)|0; - $28 = $div&255; - $29 = (($27) + ($28))|0; - $30 = (($29>>>0) / ($25>>>0))&-1; - $31 = $30&255; - HEAP8[$$15566>>0] = $31; - $32 = ((($$15566)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35) + ($28))|0; - $37 = (($36>>>0) / ($25>>>0))&-1; - $38 = $37&255; - HEAP8[$32>>0] = $38; - $39 = $21&255; - $40 = ($39*255)|0; - $41 = (($40) + ($28))|0; - $42 = (($41>>>0) / ($25>>>0))&-1; - $43 = $42&255; - $$sink = $43; - } - HEAP8[$23>>0] = $$sink; - $44 = ((($$15566)) + 4|0); - $45 = (($$167) + 1)|0; - $exitcond72 = ($45|0)==($5|0); - if ($exitcond72) { - break; - } else { - $$15566 = $44;$$167 = $45; - } - } - return; - break; - } - default: { - ___assert_fail((6373|0),(5942|0),4649,(6391|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_stbi__malloc_mad2($7,$2)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(5907); - $$0 = 0; - return ($$0|0); - } - $12 = ($2|0)==(3); - $13 = ($7|0)!=(0); - if ($12) { - if ($13) { - $$0574 = 0;$$0583 = $10; - while(1) { - $14 = (($9) + ($$0574)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($1) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$$0583>>0] = $19; - $20 = $17 | 1; - $21 = (($1) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($$0583)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($1) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($$0583)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($$0583)) + 3|0); - $29 = (($$0574) + 1)|0; - $exitcond = ($29|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0574 = $29;$$0583 = $28; - } - } - } - } else { - if ($13) { - $$1595 = $10;$$16 = 0; - while(1) { - $30 = (($9) + ($$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($1) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$$1595>>0] = $35; - $36 = $33 | 1; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($$1595)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($1) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($$1595)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($1) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($$1595)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($$1595)) + 4|0); - $49 = (($$16) + 1)|0; - $exitcond9 = ($49|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1595 = $48;$$16 = $49; - } - } - } - } - $50 = HEAP32[$8>>2]|0; - _free($50); - HEAP32[$8>>2] = $10; - $$0 = 1; - return ($$0|0); -} -function _stbi__malloc_mad2($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mad2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__malloc($4)|0); - $$0 = $5; - return ($$0|0); -} -function _stbi__mad2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mul2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $8 = 0; - $7 = $8&1; - return ($7|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__addsizes_valid($4)|0); - $6 = ($5|0)!=(0); - $8 = $6; - $7 = $8&1; - return ($7|0); -} -function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $$0562 = 0, $$0562718 = 0, $$0562719 = 0, $$0565$lcssa = 0, $$0565709 = 0, $$0568$lcssa = 0, $$0568708 = 0, $$0571811 = 0, $$0582 = 0, $$0591 = 0, $$0602810 = 0, $$0605809 = 0, $$0608 = 0, $$0608787 = 0, $$0608790 = 0, $$0617808 = 0, $$0619728 = 0, $$0725 = 0, $$1 = 0, $$10629758 = 0; - var $$11$ph = 0, $$11630749 = 0, $$12741 = 0, $$13733 = 0, $$14$lcssa = 0, $$14707 = 0, $$15$lcssa = 0, $$1566$lcssa = 0, $$1566701 = 0, $$1569$lcssa = 0, $$1569700 = 0, $$15699 = 0, $$1572 = 0, $$16$lcssa = 0, $$1603 = 0, $$1606 = 0, $$1609 = 0, $$1609779 = 0, $$1609782 = 0, $$1618721 = 0; - var $$1620806 = 0, $$16694 = 0, $$1715 = 0, $$1716 = 0, $$2 = 0, $$2567$lcssa = 0, $$2567696 = 0, $$2573789 = 0, $$2593788 = 0, $$2610 = 0, $$2610770 = 0, $$2610774 = 0, $$2621804 = 0, $$3574781 = 0, $$3586772 = 0, $$3594780 = 0, $$3611 = 0, $$3611761 = 0, $$3611765 = 0, $$3622802 = 0; - var $$4$lcssa = 0, $$4575773 = 0, $$4587763 = 0, $$4595771 = 0, $$4612 = 0, $$4612752 = 0, $$4612756 = 0, $$4623800 = 0, $$4695 = 0, $$5576764 = 0, $$5588754 = 0, $$5596762 = 0, $$5613 = 0, $$5613744 = 0, $$5613747 = 0, $$5624798 = 0, $$6577755 = 0, $$6597753 = 0, $$6614 = 0, $$6614736 = 0; - var $$6614739 = 0, $$6625796 = 0, $$7578746 = 0, $$7598745 = 0, $$7615792 = 0, $$7626784 = 0, $$8579738 = 0, $$8599737 = 0, $$8616723 = 0, $$8627776 = 0, $$9580 = 0, $$9600793 = 0, $$9628767 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink635 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; - var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; - var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; - var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; - var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; - var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; - var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; - var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; - var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; - var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; - var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge888 = 0; - var $exitcond = 0, $exitcond858 = 0, $exitcond859 = 0, $exitcond861 = 0, $exitcond863 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond874 = 0, $exitcond875 = 0, $exitcond876 = 0, $exitcond877 = 0, $exitcond878 = 0, $exitcond879 = 0, $exitcond880 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next843 = 0, $indvars$iv$next846 = 0; - var $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv842 = 0, $indvars$iv845 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $or$cond = 0, $scevgep = 0, $scevgep844 = 0, $scevgep847 = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep860 = 0, $scevgep862 = 0, $scevgep864 = 0, $scevgep866 = 0, $scevgep868 = 0; - var $scevgep870 = 0, $scevgep873 = 0, $trunc = 0, $trunc631 = 0, $trunc632 = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = ($6|0)==(16); - $9 = $8 ? 2 : 1; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($4, $3)|0; - $12 = Math_imul($9, $11)|0; - $13 = ((($10)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = Math_imul($9, $3)|0; - $16 = Math_imul($14, $9)|0; - $17 = ($14|0)==($3|0); - $18 = (($14) + 1)|0; - $19 = ($18|0)==($3|0); - $or$cond = $17 | $19; - if (!($or$cond)) { - ___assert_fail((6488|0),(5942|0),4294,(6529|0)); - // unreachable; - } - $20 = (_stbi__malloc_mad3($4,$5,$15)|0); - $21 = ((($0)) + 12|0); - HEAP32[$21>>2] = $20; - $22 = ($20|0)==(0|0); - if ($22) { - _stbi__err(5907); - $$2 = 0; - return ($$2|0); - } - $23 = Math_imul($14, $4)|0; - $24 = Math_imul($23, $6)|0; - $25 = (($24) + 7)|0; - $26 = $25 >>> 3; - $27 = (($26) + 1)|0; - $28 = Math_imul($27, $5)|0; - $29 = ($28>>>0)>($2>>>0); - if ($29) { - _stbi__err(6556); - $$2 = 0; - return ($$2|0); - } - $30 = ($5|0)==(0); - L12: do { - if (!($30)) { - $31 = ($6|0)<(8); - $32 = ($26>>>0)>($4>>>0); - $33 = (($11) - ($26))|0; - $34 = (0 - ($12))|0; - $35 = ($6|0)==(8); - $brmerge = $31 | $17; - $36 = ($4|0)==(0); - $$0608787 = (($4) + -1)|0; - $37 = ($$0608787|0)==(0); - $$1609779 = (($4) + -1)|0; - $38 = ($$1609779|0)==(0); - $$2610770 = (($4) + -1)|0; - $39 = ($$2610770|0)==(0); - $$3611761 = (($4) + -1)|0; - $40 = ($$3611761|0)==(0); - $$4612752 = (($4) + -1)|0; - $41 = ($$4612752|0)==(0); - $$5613744 = (($4) + -1)|0; - $42 = ($$5613744|0)==(0); - $$6614736 = (($4) + -1)|0; - $43 = ($$6614736|0)==(0); - $$not = $8 ^ 1; - $brmerge888 = $36 | $$not; - $$0571811 = $1;$$0602810 = $4;$$0605809 = $16;$$0617808 = 0; - while(1) { - $44 = HEAP32[$21>>2]|0; - $45 = Math_imul($$0617808, $12)|0; - $46 = (($44) + ($45)|0); - $47 = ((($$0571811)) + 1|0); - $48 = HEAP8[$$0571811>>0]|0; - $49 = $48&255; - $50 = ($48&255)>(4); - if ($50) { - label = 101; - break; - } - if ($31) { - if ($32) { - label = 12; - break; - } - $51 = (($46) + ($33)|0); - $$0591 = $51;$$1603 = $26;$$1606 = 1; - } else { - $$0591 = $46;$$1603 = $$0602810;$$1606 = $$0605809; - } - $52 = (($$0591) + ($34)|0); - $53 = ($$0617808|0)==(0); - if ($53) { - $54 = (6595 + ($49)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0582 = $56; - } else { - $$0582 = $49; - } - $57 = ($$1606|0)>(0); - L24: do { - if ($57) { - $trunc632 = $$0582&255; - $$0619728 = 0; - while(1) { - switch ($trunc632<<24>>24) { - case 0: { - $58 = (($47) + ($$0619728)|0); - $59 = HEAP8[$58>>0]|0; - $$sink = $59; - label = 26; - break; - } - case 1: { - $60 = (($47) + ($$0619728)|0); - $61 = HEAP8[$60>>0]|0; - $$sink = $61; - label = 26; - break; - } - case 2: { - $62 = (($47) + ($$0619728)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = (($52) + ($$0619728)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = (($67) + ($64))|0; - $69 = $68&255; - $$sink = $69; - label = 26; - break; - } - case 3: { - $70 = (($47) + ($$0619728)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = (($52) + ($$0619728)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $$sink = $78; - label = 26; - break; - } - case 4: { - $79 = (($47) + ($$0619728)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (($52) + ($$0619728)|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__paeth(0,$84,0)|0); - $86 = (($85) + ($81))|0; - $87 = $86&255; - $$sink = $87; - label = 26; - break; - } - case 5: { - $88 = (($47) + ($$0619728)|0); - $89 = HEAP8[$88>>0]|0; - $$sink = $89; - label = 26; - break; - } - case 6: { - $90 = (($47) + ($$0619728)|0); - $91 = HEAP8[$90>>0]|0; - $$sink = $91; - label = 26; - break; - } - default: { - } - } - if ((label|0) == 26) { - label = 0; - $$sink1 = (($$0591) + ($$0619728)|0); - HEAP8[$$sink1>>0] = $$sink; - } - $92 = (($$0619728) + 1)|0; - $exitcond858 = ($92|0)==($$1606|0); - if ($exitcond858) { - break L24; - } else { - $$0619728 = $92; - } - } - } - } while(0); - do { - if ($35) { - if (!($17)) { - $93 = (($$0591) + ($14)|0); - HEAP8[$93>>0] = -1; - } - $94 = (($47) + ($14)|0); - $$1572 = $94;$$sink635 = $3; - } else { - if (!($8)) { - $99 = ((($$0571811)) + 2|0); - $$1572 = $99;$$sink635 = 1; - break; - } - if (!($17)) { - $95 = (($$1606) + 1)|0; - $96 = (($$0591) + ($95)|0); - $97 = (($$0591) + ($$1606)|0); - HEAP8[$97>>0] = -1; - HEAP8[$96>>0] = -1; - } - $98 = (($47) + ($$1606)|0); - $$1572 = $98;$$sink635 = $15; - } - } while(0); - $100 = (($$0591) + ($$sink635)|0); - $101 = (($52) + ($$sink635)|0); - if ($brmerge) { - $102 = (($$1603) + -1)|0; - $103 = Math_imul($102, $$1606)|0; - $trunc631 = $$0582&255; - switch ($trunc631<<24>>24) { - case 0: { - _memcpy(($100|0),($$1572|0),($103|0))|0; - break; - } - case 1: { - $109 = ($103|0)>(0); - if ($109) { - $$1620806 = 0; - while(1) { - $110 = (($$1572) + ($$1620806)|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = (($$1620806) - ($$1606))|0; - $114 = (($100) + ($113)|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = (($116) + ($112))|0; - $118 = $117&255; - $119 = (($100) + ($$1620806)|0); - HEAP8[$119>>0] = $118; - $120 = (($$1620806) + 1)|0; - $exitcond880 = ($120|0)==($103|0); - if ($exitcond880) { - break; - } else { - $$1620806 = $120; - } - } - } - break; - } - case 2: { - $108 = ($103|0)>(0); - if ($108) { - $$2621804 = 0; - while(1) { - $121 = (($$1572) + ($$2621804)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = (($101) + ($$2621804)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = (($126) + ($123))|0; - $128 = $127&255; - $129 = (($100) + ($$2621804)|0); - HEAP8[$129>>0] = $128; - $130 = (($$2621804) + 1)|0; - $exitcond879 = ($130|0)==($103|0); - if ($exitcond879) { - break; - } else { - $$2621804 = $130; - } - } - } - break; - } - case 3: { - $107 = ($103|0)>(0); - if ($107) { - $$3622802 = 0; - while(1) { - $131 = (($$1572) + ($$3622802)|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = (($101) + ($$3622802)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = (($$3622802) - ($$1606))|0; - $138 = (($100) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = (($140) + ($136))|0; - $142 = $141 >>> 1; - $143 = (($142) + ($133))|0; - $144 = $143&255; - $145 = (($100) + ($$3622802)|0); - HEAP8[$145>>0] = $144; - $146 = (($$3622802) + 1)|0; - $exitcond878 = ($146|0)==($103|0); - if ($exitcond878) { - break; - } else { - $$3622802 = $146; - } - } - } - break; - } - case 4: { - $106 = ($103|0)>(0); - if ($106) { - $$4623800 = 0; - while(1) { - $147 = (($$1572) + ($$4623800)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($$4623800) - ($$1606))|0; - $151 = (($100) + ($150)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = (($101) + ($$4623800)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = (($101) + ($150)|0); - $158 = HEAP8[$157>>0]|0; - $159 = $158&255; - $160 = (_stbi__paeth($153,$156,$159)|0); - $161 = (($160) + ($149))|0; - $162 = $161&255; - $163 = (($100) + ($$4623800)|0); - HEAP8[$163>>0] = $162; - $164 = (($$4623800) + 1)|0; - $exitcond877 = ($164|0)==($103|0); - if ($exitcond877) { - break; - } else { - $$4623800 = $164; - } - } - } - break; - } - case 5: { - $105 = ($103|0)>(0); - if ($105) { - $$5624798 = 0; - while(1) { - $165 = (($$1572) + ($$5624798)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = (($$5624798) - ($$1606))|0; - $169 = (($100) + ($168)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = $171 >>> 1; - $173 = (($172) + ($167))|0; - $174 = $173&255; - $175 = (($100) + ($$5624798)|0); - HEAP8[$175>>0] = $174; - $176 = (($$5624798) + 1)|0; - $exitcond876 = ($176|0)==($103|0); - if ($exitcond876) { - break; - } else { - $$5624798 = $176; - } - } - } - break; - } - case 6: { - $104 = ($103|0)>(0); - if ($104) { - $$6625796 = 0; - while(1) { - $177 = (($$1572) + ($$6625796)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $180 = (($$6625796) - ($$1606))|0; - $181 = (($100) + ($180)|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = (_stbi__paeth($183,0,0)|0); - $185 = (($184) + ($179))|0; - $186 = $185&255; - $187 = (($100) + ($$6625796)|0); - HEAP8[$187>>0] = $186; - $188 = (($$6625796) + 1)|0; - $exitcond875 = ($188|0)==($103|0); - if ($exitcond875) { - break; - } else { - $$6625796 = $188; - } - } - } - break; - } - default: { - } - } - $189 = (($$1572) + ($103)|0); - $$11$ph = $189; - } else { - if (!($19)) { - label = 54; - break; - } - $trunc = $$0582&255; - switch ($trunc<<24>>24) { - case 0: { - if ($37) { - $$9580 = $$1572; - } else { - $202 = ($$1606|0)>(0); - $203 = Math_imul($$6614736, $$1606)|0; - $$0608790 = $$0608787;$$2573789 = $$1572;$$2593788 = $100; - while(1) { - if ($202) { - $$7626784 = 0; - while(1) { - $204 = (($$2573789) + ($$7626784)|0); - $205 = HEAP8[$204>>0]|0; - $206 = (($$2593788) + ($$7626784)|0); - HEAP8[$206>>0] = $205; - $207 = (($$7626784) + 1)|0; - $exitcond871 = ($207|0)==($$1606|0); - if ($exitcond871) { - break; - } else { - $$7626784 = $207; - } - } - } - $208 = (($$2593788) + ($$1606)|0); - HEAP8[$208>>0] = -1; - $209 = (($$2573789) + ($$1606)|0); - $210 = (($$2593788) + ($15)|0); - $$0608 = (($$0608790) + -1)|0; - $211 = ($$0608|0)==(0); - if ($211) { - break; - } else { - $$0608790 = $$0608;$$2573789 = $209;$$2593788 = $210; - } - } - $scevgep873 = (($$1572) + ($203)|0); - $$9580 = $scevgep873; - } - break; - } - case 1: { - if ($38) { - $$9580 = $$1572; - } else { - $200 = ($$1606|0)>(0); - $201 = Math_imul($$6614736, $$1606)|0; - $$1609782 = $$1609779;$$3574781 = $$1572;$$3594780 = $100; - while(1) { - if ($200) { - $$8627776 = 0; - while(1) { - $212 = (($$3574781) + ($$8627776)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = (($$8627776) - ($15))|0; - $216 = (($$3594780) + ($215)|0); - $217 = HEAP8[$216>>0]|0; - $218 = $217&255; - $219 = (($218) + ($214))|0; - $220 = $219&255; - $221 = (($$3594780) + ($$8627776)|0); - HEAP8[$221>>0] = $220; - $222 = (($$8627776) + 1)|0; - $exitcond869 = ($222|0)==($$1606|0); - if ($exitcond869) { - break; - } else { - $$8627776 = $222; - } - } - } - $223 = (($$3594780) + ($$1606)|0); - HEAP8[$223>>0] = -1; - $224 = (($$3574781) + ($$1606)|0); - $225 = (($$3594780) + ($15)|0); - $$1609 = (($$1609782) + -1)|0; - $226 = ($$1609|0)==(0); - if ($226) { - break; - } else { - $$1609782 = $$1609;$$3574781 = $224;$$3594780 = $225; - } - } - $scevgep870 = (($$1572) + ($201)|0); - $$9580 = $scevgep870; - } - break; - } - case 2: { - if ($39) { - $$9580 = $$1572; - } else { - $198 = ($$1606|0)>(0); - $199 = Math_imul($$6614736, $$1606)|0; - $$2610774 = $$2610770;$$3586772 = $101;$$4575773 = $$1572;$$4595771 = $100; - while(1) { - if ($198) { - $$9628767 = 0; - while(1) { - $227 = (($$4575773) + ($$9628767)|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = (($$3586772) + ($$9628767)|0); - $231 = HEAP8[$230>>0]|0; - $232 = $231&255; - $233 = (($232) + ($229))|0; - $234 = $233&255; - $235 = (($$4595771) + ($$9628767)|0); - HEAP8[$235>>0] = $234; - $236 = (($$9628767) + 1)|0; - $exitcond867 = ($236|0)==($$1606|0); - if ($exitcond867) { - break; - } else { - $$9628767 = $236; - } - } - } - $237 = (($$4595771) + ($$1606)|0); - HEAP8[$237>>0] = -1; - $238 = (($$4575773) + ($$1606)|0); - $239 = (($$4595771) + ($15)|0); - $240 = (($$3586772) + ($15)|0); - $$2610 = (($$2610774) + -1)|0; - $241 = ($$2610|0)==(0); - if ($241) { - break; - } else { - $$2610774 = $$2610;$$3586772 = $240;$$4575773 = $238;$$4595771 = $239; - } - } - $scevgep868 = (($$1572) + ($199)|0); - $$9580 = $scevgep868; - } - break; - } - case 3: { - if ($40) { - $$9580 = $$1572; - } else { - $196 = ($$1606|0)>(0); - $197 = Math_imul($$6614736, $$1606)|0; - $$3611765 = $$3611761;$$4587763 = $101;$$5576764 = $$1572;$$5596762 = $100; - while(1) { - if ($196) { - $$10629758 = 0; - while(1) { - $242 = (($$5576764) + ($$10629758)|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($$4587763) + ($$10629758)|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246&255; - $248 = (($$10629758) - ($15))|0; - $249 = (($$5596762) + ($248)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = (($251) + ($247))|0; - $253 = $252 >>> 1; - $254 = (($253) + ($244))|0; - $255 = $254&255; - $256 = (($$5596762) + ($$10629758)|0); - HEAP8[$256>>0] = $255; - $257 = (($$10629758) + 1)|0; - $exitcond865 = ($257|0)==($$1606|0); - if ($exitcond865) { - break; - } else { - $$10629758 = $257; - } - } - } - $258 = (($$5596762) + ($$1606)|0); - HEAP8[$258>>0] = -1; - $259 = (($$5576764) + ($$1606)|0); - $260 = (($$5596762) + ($15)|0); - $261 = (($$4587763) + ($15)|0); - $$3611 = (($$3611765) + -1)|0; - $262 = ($$3611|0)==(0); - if ($262) { - break; - } else { - $$3611765 = $$3611;$$4587763 = $261;$$5576764 = $259;$$5596762 = $260; - } - } - $scevgep866 = (($$1572) + ($197)|0); - $$9580 = $scevgep866; - } - break; - } - case 4: { - if ($41) { - $$9580 = $$1572; - } else { - $194 = ($$1606|0)>(0); - $195 = Math_imul($$6614736, $$1606)|0; - $$4612756 = $$4612752;$$5588754 = $101;$$6577755 = $$1572;$$6597753 = $100; - while(1) { - if ($194) { - $$11630749 = 0; - while(1) { - $263 = (($$6577755) + ($$11630749)|0); - $264 = HEAP8[$263>>0]|0; - $265 = $264&255; - $266 = (($$11630749) - ($15))|0; - $267 = (($$6597753) + ($266)|0); - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - $270 = (($$5588754) + ($$11630749)|0); - $271 = HEAP8[$270>>0]|0; - $272 = $271&255; - $273 = (($$5588754) + ($266)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = (_stbi__paeth($269,$272,$275)|0); - $277 = (($276) + ($265))|0; - $278 = $277&255; - $279 = (($$6597753) + ($$11630749)|0); - HEAP8[$279>>0] = $278; - $280 = (($$11630749) + 1)|0; - $exitcond863 = ($280|0)==($$1606|0); - if ($exitcond863) { - break; - } else { - $$11630749 = $280; - } - } - } - $281 = (($$6597753) + ($$1606)|0); - HEAP8[$281>>0] = -1; - $282 = (($$6577755) + ($$1606)|0); - $283 = (($$6597753) + ($15)|0); - $284 = (($$5588754) + ($15)|0); - $$4612 = (($$4612756) + -1)|0; - $285 = ($$4612|0)==(0); - if ($285) { - break; - } else { - $$4612756 = $$4612;$$5588754 = $284;$$6577755 = $282;$$6597753 = $283; - } - } - $scevgep864 = (($$1572) + ($195)|0); - $$9580 = $scevgep864; - } - break; - } - case 5: { - if ($42) { - $$9580 = $$1572; - } else { - $192 = ($$1606|0)>(0); - $193 = Math_imul($$6614736, $$1606)|0; - $$5613747 = $$5613744;$$7578746 = $$1572;$$7598745 = $100; - while(1) { - if ($192) { - $$12741 = 0; - while(1) { - $286 = (($$7578746) + ($$12741)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = (($$12741) - ($15))|0; - $290 = (($$7598745) + ($289)|0); - $291 = HEAP8[$290>>0]|0; - $292 = $291&255; - $293 = $292 >>> 1; - $294 = (($293) + ($288))|0; - $295 = $294&255; - $296 = (($$7598745) + ($$12741)|0); - HEAP8[$296>>0] = $295; - $297 = (($$12741) + 1)|0; - $exitcond861 = ($297|0)==($$1606|0); - if ($exitcond861) { - break; - } else { - $$12741 = $297; - } - } - } - $298 = (($$7598745) + ($$1606)|0); - HEAP8[$298>>0] = -1; - $299 = (($$7578746) + ($$1606)|0); - $300 = (($$7598745) + ($15)|0); - $$5613 = (($$5613747) + -1)|0; - $301 = ($$5613|0)==(0); - if ($301) { - break; - } else { - $$5613747 = $$5613;$$7578746 = $299;$$7598745 = $300; - } - } - $scevgep862 = (($$1572) + ($193)|0); - $$9580 = $scevgep862; - } - break; - } - case 6: { - if ($43) { - $$9580 = $$1572; - } else { - $190 = ($$1606|0)>(0); - $191 = Math_imul($$6614736, $$1606)|0; - $$6614739 = $$6614736;$$8579738 = $$1572;$$8599737 = $100; - while(1) { - if ($190) { - $$13733 = 0; - while(1) { - $302 = (($$8579738) + ($$13733)|0); - $303 = HEAP8[$302>>0]|0; - $304 = $303&255; - $305 = (($$13733) - ($15))|0; - $306 = (($$8599737) + ($305)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = (_stbi__paeth($308,0,0)|0); - $310 = (($309) + ($304))|0; - $311 = $310&255; - $312 = (($$8599737) + ($$13733)|0); - HEAP8[$312>>0] = $311; - $313 = (($$13733) + 1)|0; - $exitcond859 = ($313|0)==($$1606|0); - if ($exitcond859) { - break; - } else { - $$13733 = $313; - } - } - } - $314 = (($$8599737) + ($$1606)|0); - HEAP8[$314>>0] = -1; - $315 = (($$8579738) + ($$1606)|0); - $316 = (($$8599737) + ($15)|0); - $$6614 = (($$6614739) + -1)|0; - $317 = ($$6614|0)==(0); - if ($317) { - break; - } else { - $$6614739 = $$6614;$$8579738 = $315;$$8599737 = $316; - } - } - $scevgep860 = (($$1572) + ($191)|0); - $$9580 = $scevgep860; - } - break; - } - default: { - $$9580 = $$1572; - } - } - if ($brmerge888) { - $$11$ph = $$9580; - } else { - $318 = HEAP32[$21>>2]|0; - $319 = (($318) + ($45)|0); - $320 = (($$1606) + 1)|0; - $$7615792 = 0;$$9600793 = $319; - while(1) { - $321 = (($$9600793) + ($320)|0); - HEAP8[$321>>0] = -1; - $322 = (($$7615792) + 1)|0; - $323 = (($$9600793) + ($15)|0); - $exitcond874 = ($322|0)==($4|0); - if ($exitcond874) { - $$11$ph = $$9580; - break; - } else { - $$7615792 = $322;$$9600793 = $323; - } - } - } - } - $324 = (($$0617808) + 1)|0; - $325 = ($324>>>0)<($5>>>0); - if ($325) { - $$0571811 = $$11$ph;$$0602810 = $$1603;$$0605809 = $$1606;$$0617808 = $324; - } else { - break L12; - } - } - if ((label|0) == 12) { - ___assert_fail((6574|0),(5942|0),4314,(6529|0)); - // unreachable; - } - else if ((label|0) == 54) { - ___assert_fail((6600|0),(5942|0),4376,(6529|0)); - // unreachable; - } - else if ((label|0) == 101) { - _stbi__err(6617); - $$2 = 0; - return ($$2|0); - } - } - } while(0); - $326 = ($6|0)<(8); - if (!($326)) { - if (!($8)) { - $$2 = 1; - return ($$2|0); - } - $595 = Math_imul($4, $3)|0; - $596 = Math_imul($595, $5)|0; - $597 = ($596|0)==(0); - if ($597) { - $$2 = 1; - return ($$2|0); - } - $598 = HEAP32[$21>>2]|0; - $$0725 = $598;$$8616723 = 0; - while(1) { - $599 = HEAP8[$$0725>>0]|0; - $600 = $599&255; - $601 = $600 << 8; - $602 = ((($$0725)) + 1|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $605 = $601 | $604; - $606 = $605&65535; - HEAP16[$$0725>>1] = $606; - $607 = (($$8616723) + 1)|0; - $608 = ((($$0725)) + 2|0); - $exitcond = ($607|0)==($596|0); - if ($exitcond) { - $$2 = 1; - break; - } else { - $$0725 = $608;$$8616723 = $607; - } - } - return ($$2|0); - } - $327 = ($5|0)==(0); - if ($327) { - $$2 = 1; - return ($$2|0); - } - $328 = (0 - ($26))|0; - $329 = ($7|0)==(0); - $330 = (6313 + ($6)|0); - $$0562718 = (($4) + -1)|0; - $331 = ($$0562718|0)>(-1); - $$1715 = (($4) + -1)|0; - $332 = ($$1715|0)>(-1); - $333 = ($23|0)>(1); - $334 = ($23|0)>(3); - $335 = ($23|0)>(7); - $336 = (($23) + -8)|0; - $337 = $336 >>> 3; - $338 = $337 << 3; - $339 = (($338) + 8)|0; - $340 = (($336) - ($338))|0; - $341 = (($337) + ($11))|0; - $342 = (($341) + 1)|0; - $343 = (($342) - ($26))|0; - $344 = (($23) + -4)|0; - $345 = $344 >>> 2; - $346 = $345 << 2; - $347 = (($346) + 4)|0; - $348 = (($344) - ($346))|0; - $349 = (($345) + ($11))|0; - $350 = (($349) + 1)|0; - $351 = (($350) - ($26))|0; - $352 = (($23) + -2)|0; - $353 = $352 >>> 1; - $354 = $353 << 1; - $355 = (($354) + 2)|0; - $356 = (($352) - ($354))|0; - $357 = (($353) + ($11))|0; - $358 = (($357) + 1)|0; - $359 = (($358) - ($26))|0; - $$1618721 = 0;$indvars$iv = $339;$indvars$iv842 = $343;$indvars$iv845 = $347;$indvars$iv848 = $351;$indvars$iv851 = $355;$indvars$iv854 = $359; - L168: while(1) { - $360 = HEAP32[$21>>2]|0; - $361 = Math_imul($$1618721, $12)|0; - $362 = (($360) + ($361)|0); - $363 = (($362) + ($11)|0); - $364 = (($363) + ($328)|0); - if ($329) { - $365 = HEAP8[$330>>0]|0; - $366 = $365&255; - $371 = $366; - } else { - $371 = 1; - } - switch ($6|0) { - case 4: { - if ($333) { - $scevgep853 = (($360) + ($indvars$iv851)|0); - $$0565709 = $364;$$0568708 = $362;$$14707 = $23; - while(1) { - $367 = HEAP8[$$0565709>>0]|0; - $368 = $367&255; - $369 = $368 >>> 4; - $370 = Math_imul($369, $371)|0; - $372 = $370&255; - $373 = ((($$0568708)) + 1|0); - HEAP8[$$0568708>>0] = $372; - $374 = HEAP8[$$0565709>>0]|0; - $375 = $374 & 15; - $376 = $375&255; - $377 = Math_imul($376, $371)|0; - $378 = $377&255; - $379 = ((($$0568708)) + 2|0); - HEAP8[$373>>0] = $378; - $380 = (($$14707) + -2)|0; - $381 = ((($$0565709)) + 1|0); - $382 = ($380|0)>(1); - if ($382) { - $$0565709 = $381;$$0568708 = $379;$$14707 = $380; - } else { - break; - } - } - $scevgep856 = (($360) + ($indvars$iv854)|0); - $$0565$lcssa = $scevgep856;$$0568$lcssa = $scevgep853;$$14$lcssa = $356; - } else { - $$0565$lcssa = $364;$$0568$lcssa = $362;$$14$lcssa = $23; - } - $383 = ($$14$lcssa|0)==(1); - if ($383) { - $384 = HEAP8[$$0565$lcssa>>0]|0; - $385 = $384&255; - $386 = $385 >>> 4; - $387 = Math_imul($386, $371)|0; - $388 = $387&255; - HEAP8[$$0568$lcssa>>0] = $388; - } - break; - } - case 2: { - if ($334) { - $scevgep847 = (($360) + ($indvars$iv845)|0); - $$1566701 = $364;$$1569700 = $362;$$15699 = $23; - while(1) { - $389 = HEAP8[$$1566701>>0]|0; - $390 = $389&255; - $391 = $390 >>> 6; - $392 = Math_imul($391, $371)|0; - $393 = $392&255; - $394 = ((($$1569700)) + 1|0); - HEAP8[$$1569700>>0] = $393; - $395 = HEAP8[$$1566701>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = $397 & 3; - $399 = Math_imul($398, $371)|0; - $400 = $399&255; - $401 = ((($$1569700)) + 2|0); - HEAP8[$394>>0] = $400; - $402 = HEAP8[$$1566701>>0]|0; - $403 = $402&255; - $404 = $403 >>> 2; - $405 = $404 & 3; - $406 = Math_imul($405, $371)|0; - $407 = $406&255; - $408 = ((($$1569700)) + 3|0); - HEAP8[$401>>0] = $407; - $409 = HEAP8[$$1566701>>0]|0; - $410 = $409 & 3; - $411 = $410&255; - $412 = Math_imul($411, $371)|0; - $413 = $412&255; - $414 = ((($$1569700)) + 4|0); - HEAP8[$408>>0] = $413; - $415 = (($$15699) + -4)|0; - $416 = ((($$1566701)) + 1|0); - $417 = ($415|0)>(3); - if ($417) { - $$1566701 = $416;$$1569700 = $414;$$15699 = $415; - } else { - break; - } - } - $scevgep850 = (($360) + ($indvars$iv848)|0); - $$15$lcssa = $348;$$1566$lcssa = $scevgep850;$$1569$lcssa = $scevgep847; - } else { - $$15$lcssa = $23;$$1566$lcssa = $364;$$1569$lcssa = $362; - } - $418 = ($$15$lcssa|0)>(0); - if ($418) { - $419 = HEAP8[$$1566$lcssa>>0]|0; - $420 = $419&255; - $421 = $420 >>> 6; - $422 = Math_imul($421, $371)|0; - $423 = $422&255; - HEAP8[$$1569$lcssa>>0] = $423; - $424 = ($$15$lcssa|0)==(1); - if (!($424)) { - $425 = ((($$1569$lcssa)) + 1|0); - $426 = HEAP8[$$1566$lcssa>>0]|0; - $427 = $426&255; - $428 = $427 >>> 4; - $429 = $428 & 3; - $430 = Math_imul($429, $371)|0; - $431 = $430&255; - HEAP8[$425>>0] = $431; - $432 = ($$15$lcssa|0)>(2); - if ($432) { - $433 = ((($$1569$lcssa)) + 2|0); - $434 = HEAP8[$$1566$lcssa>>0]|0; - $435 = $434&255; - $436 = $435 >>> 2; - $437 = $436 & 3; - $438 = Math_imul($437, $371)|0; - $439 = $438&255; - HEAP8[$433>>0] = $439; - } - } - } - break; - } - case 1: { - if ($335) { - $scevgep = (($360) + ($indvars$iv)|0); - $$16694 = $23;$$2567696 = $364;$$4695 = $362; - while(1) { - $440 = HEAP8[$$2567696>>0]|0; - $441 = $440&255; - $442 = $441 >>> 7; - $443 = (0 - ($442))|0; - $444 = $371 & $443; - $445 = $444&255; - $446 = ((($$4695)) + 1|0); - HEAP8[$$4695>>0] = $445; - $447 = HEAP8[$$2567696>>0]|0; - $448 = $447&255; - $449 = $448 >>> 6; - $450 = $449 & 1; - $451 = (0 - ($450))|0; - $452 = $371 & $451; - $453 = $452&255; - $454 = ((($$4695)) + 2|0); - HEAP8[$446>>0] = $453; - $455 = HEAP8[$$2567696>>0]|0; - $456 = $455&255; - $457 = $456 >>> 5; - $458 = $457 & 1; - $459 = (0 - ($458))|0; - $460 = $371 & $459; - $461 = $460&255; - $462 = ((($$4695)) + 3|0); - HEAP8[$454>>0] = $461; - $463 = HEAP8[$$2567696>>0]|0; - $464 = $463&255; - $465 = $464 >>> 4; - $466 = $465 & 1; - $467 = (0 - ($466))|0; - $468 = $371 & $467; - $469 = $468&255; - $470 = ((($$4695)) + 4|0); - HEAP8[$462>>0] = $469; - $471 = HEAP8[$$2567696>>0]|0; - $472 = $471&255; - $473 = $472 >>> 3; - $474 = $473 & 1; - $475 = (0 - ($474))|0; - $476 = $371 & $475; - $477 = $476&255; - $478 = ((($$4695)) + 5|0); - HEAP8[$470>>0] = $477; - $479 = HEAP8[$$2567696>>0]|0; - $480 = $479&255; - $481 = $480 >>> 2; - $482 = $481 & 1; - $483 = (0 - ($482))|0; - $484 = $371 & $483; - $485 = $484&255; - $486 = ((($$4695)) + 6|0); - HEAP8[$478>>0] = $485; - $487 = HEAP8[$$2567696>>0]|0; - $488 = $487&255; - $489 = $488 >>> 1; - $490 = $489 & 1; - $491 = (0 - ($490))|0; - $492 = $371 & $491; - $493 = $492&255; - $494 = ((($$4695)) + 7|0); - HEAP8[$486>>0] = $493; - $495 = HEAP8[$$2567696>>0]|0; - $496 = $495 & 1; - $497 = $496&255; - $498 = (0 - ($497))|0; - $499 = $371 & $498; - $500 = $499&255; - $501 = ((($$4695)) + 8|0); - HEAP8[$494>>0] = $500; - $502 = (($$16694) + -8)|0; - $503 = ((($$2567696)) + 1|0); - $504 = ($502|0)>(7); - if ($504) { - $$16694 = $502;$$2567696 = $503;$$4695 = $501; - } else { - break; - } - } - $scevgep844 = (($360) + ($indvars$iv842)|0); - $$16$lcssa = $340;$$2567$lcssa = $scevgep844;$$4$lcssa = $scevgep; - } else { - $$16$lcssa = $23;$$2567$lcssa = $364;$$4$lcssa = $362; - } - $505 = ($$16$lcssa|0)>(0); - if ($505) { - $506 = HEAP8[$$2567$lcssa>>0]|0; - $507 = $506&255; - $508 = $507 >>> 7; - $509 = (0 - ($508))|0; - $510 = $371 & $509; - $511 = $510&255; - HEAP8[$$4$lcssa>>0] = $511; - $512 = ($$16$lcssa|0)==(1); - if (!($512)) { - $513 = ((($$4$lcssa)) + 1|0); - $514 = HEAP8[$$2567$lcssa>>0]|0; - $515 = $514&255; - $516 = $515 >>> 6; - $517 = $516 & 1; - $518 = (0 - ($517))|0; - $519 = $371 & $518; - $520 = $519&255; - HEAP8[$513>>0] = $520; - $521 = ($$16$lcssa|0)>(2); - if ($521) { - $522 = ((($$4$lcssa)) + 2|0); - $523 = HEAP8[$$2567$lcssa>>0]|0; - $524 = $523&255; - $525 = $524 >>> 5; - $526 = $525 & 1; - $527 = (0 - ($526))|0; - $528 = $371 & $527; - $529 = $528&255; - HEAP8[$522>>0] = $529; - $530 = ($$16$lcssa|0)==(3); - if (!($530)) { - $531 = ((($$4$lcssa)) + 3|0); - $532 = HEAP8[$$2567$lcssa>>0]|0; - $533 = $532&255; - $534 = $533 >>> 4; - $535 = $534 & 1; - $536 = (0 - ($535))|0; - $537 = $371 & $536; - $538 = $537&255; - HEAP8[$531>>0] = $538; - $539 = ($$16$lcssa|0)>(4); - if ($539) { - $540 = ((($$4$lcssa)) + 4|0); - $541 = HEAP8[$$2567$lcssa>>0]|0; - $542 = $541&255; - $543 = $542 >>> 3; - $544 = $543 & 1; - $545 = (0 - ($544))|0; - $546 = $371 & $545; - $547 = $546&255; - HEAP8[$540>>0] = $547; - $548 = ($$16$lcssa|0)==(5); - if (!($548)) { - $549 = ((($$4$lcssa)) + 5|0); - $550 = HEAP8[$$2567$lcssa>>0]|0; - $551 = $550&255; - $552 = $551 >>> 2; - $553 = $552 & 1; - $554 = (0 - ($553))|0; - $555 = $371 & $554; - $556 = $555&255; - HEAP8[$549>>0] = $556; - $557 = ($$16$lcssa|0)>(6); - if ($557) { - $558 = ((($$4$lcssa)) + 6|0); - $559 = HEAP8[$$2567$lcssa>>0]|0; - $560 = $559&255; - $561 = $560 >>> 1; - $562 = $561 & 1; - $563 = (0 - ($562))|0; - $564 = $371 & $563; - $565 = $564&255; - HEAP8[$558>>0] = $565; - } - } - } - } - } - } - } - break; - } - default: { - } - } - L207: do { - if (!($17)) { - $566 = HEAP32[$21>>2]|0; - $567 = (($566) + ($361)|0); - switch ($14|0) { - case 1: { - if ($331) { - $$0562719 = $$0562718; - } else { - break L207; - } - while(1) { - $568 = $$0562719 << 1; - $569 = $568 | 1; - $570 = (($567) + ($569)|0); - HEAP8[$570>>0] = -1; - $571 = (($567) + ($$0562719)|0); - $572 = HEAP8[$571>>0]|0; - $573 = (($567) + ($568)|0); - HEAP8[$573>>0] = $572; - $$0562 = (($$0562719) + -1)|0; - $574 = ($$0562|0)>(-1); - if ($574) { - $$0562719 = $$0562; - } else { - break; - } - } - break; - } - case 3: { - if ($332) { - $$1716 = $$1715; - } else { - break L207; - } - while(1) { - $575 = $$1716 << 2; - $576 = $575 | 3; - $577 = (($567) + ($576)|0); - HEAP8[$577>>0] = -1; - $578 = ($$1716*3)|0; - $579 = (($578) + 2)|0; - $580 = (($567) + ($579)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $575 | 2; - $583 = (($567) + ($582)|0); - HEAP8[$583>>0] = $581; - $584 = (($578) + 1)|0; - $585 = (($567) + ($584)|0); - $586 = HEAP8[$585>>0]|0; - $587 = $575 | 1; - $588 = (($567) + ($587)|0); - HEAP8[$588>>0] = $586; - $589 = (($567) + ($578)|0); - $590 = HEAP8[$589>>0]|0; - $591 = (($567) + ($575)|0); - HEAP8[$591>>0] = $590; - $$1 = (($$1716) + -1)|0; - $592 = ($$1|0)>(-1); - if ($592) { - $$1716 = $$1; - } else { - break; - } - } - break; - } - default: { - label = 140; - break L168; - } - } - } - } while(0); - $593 = (($$1618721) + 1)|0; - $594 = ($593>>>0)<($5>>>0); - $indvars$iv$next = (($indvars$iv) + ($12))|0; - $indvars$iv$next843 = (($indvars$iv842) + ($12))|0; - $indvars$iv$next846 = (($indvars$iv845) + ($12))|0; - $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; - $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; - $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; - if ($594) { - $$1618721 = $593;$indvars$iv = $indvars$iv$next;$indvars$iv842 = $indvars$iv$next843;$indvars$iv845 = $indvars$iv$next846;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855; - } else { - $$2 = 1; - label = 147; - break; - } - } - if ((label|0) == 140) { - ___assert_fail((6632|0),(5942|0),4465,(6529|0)); - // unreachable; - } - else if ((label|0) == 147) { - return ($$2|0); - } - return (0)|0; -} -function _stbi__paeth($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = (($1) + ($0))|0; - $4 = (($3) - ($2))|0; - $5 = (($4) - ($0))|0; - $ispos = ($5|0)>(-1); - $neg = (0 - ($5))|0; - $6 = $ispos ? $5 : $neg; - $7 = (($4) - ($1))|0; - $ispos26 = ($7|0)>(-1); - $neg27 = (0 - ($7))|0; - $8 = $ispos26 ? $7 : $neg27; - $9 = (($4) - ($2))|0; - $ispos28 = ($9|0)>(-1); - $neg29 = (0 - ($9))|0; - $10 = $ispos28 ? $9 : $neg29; - $11 = ($6|0)>($8|0); - $12 = ($6|0)>($10|0); - $or$cond = $11 | $12; - $13 = ($8|0)>($10|0); - $$ = $13 ? $2 : $1; - $$0 = $or$cond ? $$ : $0; - return ($$0|0); -} -function _stbi__do_zlib($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 20|0); - HEAP32[$5>>2] = $1; - $6 = ((($0)) + 16|0); - HEAP32[$6>>2] = $1; - $7 = (($1) + ($2)|0); - $8 = ((($0)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = ((($0)) + 28|0); - HEAP32[$9>>2] = $3; - $10 = (_stbi__parse_zlib($0,$4)|0); - return ($10|0); -} -function _stbi__parse_zlib($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - if (!($2)) { - $3 = (_stbi__parse_zlib_header($0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - } - $5 = ((($0)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = ((($0)) + 12|0); - HEAP32[$6>>2] = 0; - $7 = ((($0)) + 32|0); - $8 = ((($0)) + 2052|0); - L5: while(1) { - $9 = (_stbi__zreceive($0,1)|0); - $10 = (_stbi__zreceive($0,2)|0); - switch ($10|0) { - case 3: { - $$0 = 0; - label = 11; - break L5; - break; - } - case 0: { - $11 = (_stbi__parse_uncompressed_block($0)|0); - $12 = ($11|0)==(0); - if ($12) { - $$0 = 0; - label = 11; - break L5; - } - break; - } - case 1: { - $13 = (_stbi__zbuild_huffman($7,6643,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 11; - break L5; - } - $15 = (_stbi__zbuild_huffman($8,6931,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - break; - } - default: { - $17 = (_stbi__compute_huffman_codes($0)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - } - } - if ((label|0) == 9) { - label = 0; - $19 = (_stbi__parse_huffman_block($0)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 11; - break; - } - } - $21 = ($9|0)==(0); - if (!($21)) { - $$0 = 1; - label = 11; - break; - } - } - if ((label|0) == 11) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__zget8($0)|0); - $2 = $1&255; - $3 = $2 & 15; - $4 = (_stbi__zget8($0)|0); - $5 = $4&255; - $6 = $2 << 8; - $7 = $6 | $5; - $8 = (($7>>>0) % 31)&-1; - $9 = ($8|0)==(0); - if (!($9)) { - _stbi__err(7297); - $$0 = 0; - return ($$0|0); - } - $10 = $5 & 32; - $11 = ($10|0)==(0); - if (!($11)) { - _stbi__err(7313); - $$0 = 0; - return ($$0|0); - } - $12 = ($3|0)==(8); - if ($12) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(7328); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<($1|0); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = 1 << $1; - $8 = (($7) + -1)|0; - $9 = $6 & $8; - $10 = $6 >>> $1; - HEAP32[$5>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) - ($1))|0; - HEAP32[$2>>2] = $12; - return ($9|0); -} -function _stbi__parse_uncompressed_block($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & 7; - $5 = ($4|0)==(0); - if ($5) { - $$ph = $3; - } else { - (_stbi__zreceive($0,$4)|0); - $$pr = HEAP32[$2>>2]|0; - $$ph = $$pr; - } - $6 = ($$ph|0)>(0); - if ($6) { - $7 = ((($0)) + 12|0); - $$promoted = HEAP32[$7>>2]|0; - $8 = $$ph ^ -1; - $9 = ($8|0)>(-9); - $smax = $9 ? $8 : -9; - $10 = (($$ph) + ($smax))|0; - $11 = (($10) + 8)|0; - $12 = $11 >>> 3; - $13 = (($12) + 1)|0; - $14 = $12 << 3; - $$037 = 0;$16 = $$promoted; - while(1) { - $15 = $16&255; - $17 = (($$037) + 1)|0; - $18 = (($1) + ($$037)|0); - HEAP8[$18>>0] = $15; - $19 = $16 >>> 8; - $exitcond47 = ($17|0)==($13|0); - if ($exitcond47) { - break; - } else { - $$037 = $17;$16 = $19; - } - } - $20 = (($$ph) + -8)|0; - $21 = (($20) - ($14))|0; - HEAP32[$7>>2] = $19; - HEAP32[$2>>2] = $21; - $$0$lcssa = $13;$$lcssa = $21; - } else { - $$0$lcssa = 0;$$lcssa = $$ph; - } - $22 = ($$lcssa|0)==(0); - if (!($22)) { - ___assert_fail((7219|0),(5942|0),4033,(7236|0)); - // unreachable; - } - $23 = ($$0$lcssa|0)<(4); - if ($23) { - $$136 = $$0$lcssa; - while(1) { - $24 = (_stbi__zget8($0)|0); - $25 = (($$136) + 1)|0; - $26 = (($1) + ($$136)|0); - HEAP8[$26>>0] = $24; - $exitcond = ($25|0)==(4); - if ($exitcond) { - break; - } else { - $$136 = $25; - } - } - } - $27 = ((($1)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP8[$1>>0]|0; - $32 = $31&255; - $33 = $30 | $32; - $34 = ((($1)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 << 8; - $38 = ((($1)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $37 | $40; - $42 = $33 ^ 65535; - $43 = ($41|0)==($42|0); - if (!($43)) { - _stbi__err(7267); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($33)|0); - $46 = ((($0)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($45>>>0)>($47>>>0); - if ($48) { - _stbi__err(7280); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $49 = ((($0)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($33)|0); - $52 = ((($0)) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51>>>0)>($53>>>0); - if ($54) { - $55 = (_stbi__zexpand($0,$50,$33)|0); - $56 = ($55|0)==(0); - if ($56) { - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - } - $57 = HEAP32[$49>>2]|0; - $58 = HEAP32[$0>>2]|0; - _memcpy(($57|0),($58|0),($33|0))|0; - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + ($33)|0); - HEAP32[$0>>2] = $60; - $61 = HEAP32[$49>>2]|0; - $62 = (($61) + ($33)|0); - HEAP32[$49>>2] = $62; - $$034 = 1; - STACKTOP = sp;return ($$034|0); -} -function _stbi__zbuild_huffman($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $3 = sp + 72|0; - $4 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($0|0),0,1024)|0; - $5 = ($2|0)>(0); - if ($5) { - $$07688 = 0; - while(1) { - $6 = (($1) + ($$07688)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($4) + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = (($$07688) + 1)|0; - $exitcond91 = ($12|0)==($2|0); - if ($exitcond91) { - break; - } else { - $$07688 = $12; - } - } - } - HEAP32[$4>>2] = 0; - $16 = ((($4)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(2); - if (!($18)) { - $13 = ((($4)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(4); - if (!($15)) { - $69 = ((($4)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(8); - if (!($71)) { - $72 = ((($4)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(16); - if (!($74)) { - $75 = ((($4)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(32); - if (!($77)) { - $78 = ((($4)) + 24|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(64); - if (!($80)) { - $81 = ((($4)) + 28|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(128); - if (!($83)) { - $84 = ((($4)) + 32|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(256); - if (!($86)) { - $87 = ((($4)) + 36|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(512); - if (!($89)) { - $90 = ((($4)) + 40|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(1024); - if (!($92)) { - $93 = ((($4)) + 44|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(2048); - if (!($95)) { - $96 = ((($4)) + 48|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(4096); - if (!($98)) { - $99 = ((($4)) + 52|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(8192); - if (!($101)) { - $102 = ((($4)) + 56|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(16384); - if (!($104)) { - $105 = ((($4)) + 60|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)>(32768); - if (!($107)) { - $$07785 = 0;$$07884 = 0;$$286 = 1; - while(1) { - $19 = (($3) + ($$286<<2)|0); - HEAP32[$19>>2] = $$07884; - $20 = $$07884&65535; - $21 = (((($0)) + 1024|0) + ($$286<<1)|0); - HEAP16[$21>>1] = $20; - $22 = $$07785&65535; - $23 = (((($0)) + 1124|0) + ($$286<<1)|0); - HEAP16[$23>>1] = $22; - $24 = (($4) + ($$286<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($$07884))|0; - $27 = ($25|0)!=(0); - $28 = 1 << $$286; - $29 = ($26|0)>($28|0); - $or$cond = $27 & $29; - if ($or$cond) { - label = 7; - break; - } - $30 = (16 - ($$286))|0; - $31 = $26 << $30; - $32 = (((($0)) + 1056|0) + ($$286<<2)|0); - HEAP32[$32>>2] = $31; - $33 = $26 << 1; - $34 = (($25) + ($$07785))|0; - $35 = (($$286) + 1)|0; - $36 = ($35|0)<(16); - if ($36) { - $$07785 = $34;$$07884 = $33;$$286 = $35; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(7157); - $$075 = 0; - STACKTOP = sp;return ($$075|0); - } - $37 = ((($0)) + 1120|0); - HEAP32[$37>>2] = 65536; - $38 = ($2|0)>(0); - if ($38) { - $$382 = 0; - } else { - $$075 = 1; - STACKTOP = sp;return ($$075|0); - } - while(1) { - $39 = (($1) + ($$382)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ($40<<24>>24)==(0); - if (!($42)) { - $43 = (($3) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($0)) + 1024|0) + ($41<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) - ($47))|0; - $49 = (((($0)) + 1124|0) + ($41<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($48) + ($51))|0; - $53 = $41 << 9; - $54 = $53 | $$382; - $55 = $54&65535; - $56 = (((($0)) + 1156|0) + ($52)|0); - HEAP8[$56>>0] = $40; - $57 = $$382&65535; - $58 = (((($0)) + 1444|0) + ($52<<1)|0); - HEAP16[$58>>1] = $57; - $59 = ($40&255)<(10); - do { - if ($59) { - $60 = (_stbi__bit_reverse($44,$41)|0); - $61 = ($60|0)<(512); - if (!($61)) { - break; - } - $62 = 1 << $41; - $$081 = $60; - while(1) { - $63 = (($0) + ($$081<<1)|0); - HEAP16[$63>>1] = $55; - $64 = (($$081) + ($62))|0; - $65 = ($64|0)<(512); - if ($65) { - $$081 = $64; - } else { - break; - } - } - } - } while(0); - $66 = HEAP32[$43>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$43>>2] = $67; - } - $68 = (($$382) + 1)|0; - $exitcond = ($68|0)==($2|0); - if ($exitcond) { - $$075 = 1; - break; - } else { - $$382 = $68; - } - } - STACKTOP = sp;return ($$075|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(7209); - $$075 = 0; - STACKTOP = sp;return ($$075|0); -} -function _stbi__compute_huffman_codes($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); - $1 = sp; - $2 = sp + 2039|0; - $3 = sp + 2020|0; - $4 = (_stbi__zreceive($0,5)|0); - $5 = (($4) + 257)|0; - $6 = (_stbi__zreceive($0,5)|0); - $7 = (($6) + 1)|0; - $8 = (_stbi__zreceive($0,4)|0); - $9 = (($8) + 4)|0; - $10 = (($7) + ($5))|0; - dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $11 = ($9|0)>(0); - if ($11) { - $$06579 = 0; - while(1) { - $12 = (_stbi__zreceive($0,3)|0); - $13 = $12&255; - $14 = (7138 + ($$06579)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (($3) + ($16)|0); - HEAP8[$17>>0] = $13; - $18 = (($$06579) + 1)|0; - $exitcond = ($18|0)==($9|0); - if ($exitcond) { - break; - } else { - $$06579 = $18; - } - } - } - $19 = (_stbi__zbuild_huffman($1,$3,19)|0); - $20 = ($19|0)==(0); - if ($20) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = ($10|0)>(0); - L8: do { - if ($21) { - $$06678 = 0; - L9: while(1) { - $22 = (_stbi__zhuffman_decode($0,$1)|0); - $23 = ($22>>>0)>(18); - if ($23) { - label = 6; - break; - } - $24 = ($22|0)<(16); - if ($24) { - $25 = $22&255; - $26 = (($$06678) + 1)|0; - $27 = (($2) + ($$06678)|0); - HEAP8[$27>>0] = $25; - $$066$be = $26; - } else { - switch ($22|0) { - case 16: { - $28 = (_stbi__zreceive($0,2)|0); - $29 = ($$06678|0)==(0); - if ($29) { - label = 11; - break L9; - } - $30 = (($28) + 3)|0; - $31 = (($$06678) + -1)|0; - $32 = (($2) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $$0 = $33;$$061 = $30; - break; - } - case 17: { - $34 = (_stbi__zreceive($0,3)|0); - $35 = (($34) + 3)|0; - $$0 = 0;$$061 = $35; - break; - } - case 18: { - $36 = (_stbi__zreceive($0,7)|0); - $37 = (($36) + 11)|0; - $$0 = 0;$$061 = $37; - break; - } - default: { - label = 14; - break L9; - } - } - $38 = (($10) - ($$06678))|0; - $39 = ($38|0)<($$061|0); - if ($39) { - label = 17; - break; - } - $40 = (($2) + ($$06678)|0); - _memset(($40|0),($$0|0),($$061|0))|0; - $41 = (($$061) + ($$06678))|0; - $$066$be = $41; - } - $42 = ($10|0)>($$066$be|0); - if ($42) { - $$06678 = $$066$be; - } else { - $$066$lcssa = $$066$be; - break L8; - } - } - if ((label|0) == 6) { - _stbi__err(7157); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 11) { - _stbi__err(7157); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 14) { - ___assert_fail((7173|0),(5942|0),4006,(7181|0)); - // unreachable; - } - else if ((label|0) == 17) { - _stbi__err(7157); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } else { - $$066$lcssa = 0; - } - } while(0); - $43 = ($10|0)==($$066$lcssa|0); - if (!($43)) { - _stbi__err(7157); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $44 = ((($0)) + 32|0); - $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); - $46 = ($45|0)==(0); - if ($46) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $47 = ((($0)) + 2052|0); - $48 = (($2) + ($5)|0); - $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); - $not$ = ($49|0)!=(0); - $$ = $not$&1; - $$4 = $$; - STACKTOP = sp;return ($$4|0); -} -function _stbi__parse_huffman_block($0) { - $0 = $0|0; - var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 32|0); - $4 = ((($0)) + 24|0); - $5 = ((($0)) + 2052|0); - $6 = ((($0)) + 20|0); - $7 = ((($0)) + 24|0); - $$070 = $2; - while(1) { - $10 = (_stbi__zhuffman_decode($0,$3)|0); - $11 = ($10|0)<(256); - if ($11) { - $12 = ($10|0)<(0); - if ($12) { - label = 6; - break; - } - $13 = HEAP32[$4>>2]|0; - $14 = ($$070>>>0)<($13>>>0); - if ($14) { - $$171 = $$070; - } else { - $15 = (_stbi__zexpand($0,$$070,1)|0); - $16 = ($15|0)==(0); - if ($16) { - $$3$ph = 0; - label = 28; - break; - } - $17 = HEAP32[$1>>2]|0; - $$171 = $17; - } - $18 = $10&255; - $19 = ((($$171)) + 1|0); - HEAP8[$$171>>0] = $18; - $$070 = $19; - continue; - } - $20 = ($10|0)==(256); - if ($20) { - label = 12; - break; - } - $21 = (($10) + -257)|0; - $22 = (3152 + ($21<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($10) + -265)|0; - $25 = ($24>>>0)<(20); - if ($25) { - $26 = (3276 + ($21<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_stbi__zreceive($0,$27)|0); - $29 = (($28) + ($23))|0; - $$064 = $29; - } else { - $$064 = $23; - } - $30 = (_stbi__zhuffman_decode($0,$5)|0); - $31 = ($30|0)<(0); - if ($31) { - label = 16; - break; - } - $32 = (3400 + ($30<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($30) + -4)|0; - $35 = ($34>>>0)<(26); - if ($35) { - $36 = (3528 + ($30<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_stbi__zreceive($0,$37)|0); - $39 = (($38) + ($33))|0; - $$063 = $39; - } else { - $$063 = $33; - } - $40 = HEAP32[$6>>2]|0; - $41 = $$070; - $42 = (($41) - ($40))|0; - $43 = ($42|0)<($$063|0); - if ($43) { - label = 20; - break; - } - $44 = (($$070) + ($$064)|0); - $45 = HEAP32[$7>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($0,$$070,$$064)|0); - $48 = ($47|0)==(0); - if ($48) { - $$3$ph = 0; - label = 28; - break; - } - $49 = HEAP32[$1>>2]|0; - $$272 = $49; - } else { - $$272 = $$070; - } - $50 = (0 - ($$063))|0; - $9 = (($$272) + ($50)|0); - $51 = ($$063|0)==(1); - $52 = ($$064|0)!=(0); - if ($51) { - if (!($52)) { - $$070 = $$272; - continue; - } - $8 = HEAP8[$9>>0]|0; - _memset(($$272|0),($8|0),($$064|0))|0; - $scevgep92 = (($$272) + ($$064)|0); - $$070 = $scevgep92; - continue; - } - if ($52) { - $$067 = $9;$$266 = $$064;$$5 = $$272; - } else { - $$070 = $$272; - continue; - } - while(1) { - $53 = ((($$067)) + 1|0); - $54 = HEAP8[$$067>>0]|0; - $55 = ((($$5)) + 1|0); - HEAP8[$$5>>0] = $54; - $56 = (($$266) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $$067 = $53;$$266 = $56;$$5 = $55; - } - } - $scevgep = (($$272) + ($$064)|0); - $$070 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(6963); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 12) { - HEAP32[$1>>2] = $$070; - $$3$ph = 1; - return ($$3$ph|0); - } - else if ((label|0) == 16) { - _stbi__err(6963); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 20) { - _stbi__err(6980); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 28) { - return ($$3$ph|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(16); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 511; - $8 = (($1) + ($7<<1)|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($9<<16>>16)==(0); - if ($11) { - $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); - $$0 = $17; - return ($$0|0); - } else { - $12 = $10 >>> 9; - $13 = $6 >>> $12; - HEAP32[$5>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) - ($12))|0; - HEAP32[$2>>2] = $15; - $16 = $10 & 511; - $$0 = $16; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - HEAP32[$3>>2] = $1; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - _stbi__err(6989); - $$0 = 0; - return ($$0|0); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = $1; - $10 = $8; - $11 = (($9) - ($10))|0; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) - ($10))|0; - $15 = (($11) + ($2))|0; - $$029 = $14; - while(1) { - $16 = ($15|0)>($$029|0); - $17 = $$029 << 1; - if ($16) { - $$029 = $17; - } else { - break; - } - } - $18 = (_realloc($8,$$029)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(5907); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$7>>2] = $18; - $20 = (($18) + ($11)|0); - HEAP32[$3>>2] = $20; - $21 = (($18) + ($$029)|0); - HEAP32[$12>>2] = $21; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 12|0); - $2 = ((($0)) + 8|0); - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = 1 << $4; - $6 = ($3>>>0)<($5>>>0); - if (!($6)) { - label = 3; - break; - } - $7 = (_stbi__zget8($0)|0); - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = $8 << $9; - $11 = HEAP32[$1>>2]|0; - $12 = $11 | $10; - HEAP32[$1>>2] = $12; - $13 = (($9) + 8)|0; - HEAP32[$2>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((7085|0),(5942|0),3848,(7122|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_stbi__bit_reverse($3,16)|0); - $$025 = 10; - while(1) { - $5 = (((($1)) + 1056|0) + ($$025<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - $8 = (($$025) + 1)|0; - if ($7) { - break; - } else { - $$025 = $8; - } - } - $9 = ($$025|0)==(16); - if ($9) { - $$0 = -1; - return ($$0|0); - } - $10 = (16 - ($$025))|0; - $11 = $4 >> $10; - $12 = (((($1)) + 1024|0) + ($$025<<1)|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = (($11) - ($14))|0; - $16 = (((($1)) + 1124|0) + ($$025<<1)|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($15) + ($18))|0; - $20 = (((($1)) + 1156|0) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==($$025|0); - if (!($23)) { - ___assert_fail((7009|0),(5942|0),3876,(7025|0)); - // unreachable; - } - $24 = HEAP32[$2>>2]|0; - $25 = $24 >>> $$025; - HEAP32[$2>>2] = $25; - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) - ($$025))|0; - HEAP32[$26>>2] = $28; - $29 = (((($1)) + 1444|0) + ($19<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $$0 = $31; - return ($$0|0); -} -function _stbi__bit_reverse($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(17); - if ($2) { - $3 = (_stbi__bitreverse16($0)|0); - $4 = (16 - ($1))|0; - $5 = $3 >> $4; - return ($5|0); - } else { - ___assert_fail((7056|0),(5942|0),3766,(7067|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = $0 >>> 1; - $2 = $1 & 21845; - $3 = $0 << 1; - $4 = $3 & 43690; - $5 = $2 | $4; - $6 = $5 >>> 2; - $7 = $6 & 13107; - $8 = $5 << 2; - $9 = $8 & 52428; - $10 = $7 | $9; - $11 = $10 >>> 4; - $12 = $11 & 3855; - $13 = $10 << 4; - $14 = $13 & 61680; - $15 = $12 | $14; - $16 = $15 >>> 8; - $17 = $15 << 8; - $18 = $17 & 65280; - $19 = $18 | $16; - return ($19|0); -} -function _stbi__zget8($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); -} -function _stbi__refill_buffer($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 40|0); - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($0)) + 32|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 168|0); - HEAP32[$11>>2] = $5; - $12 = ((($0)) + 41|0); - $13 = ((($0)) + 172|0); - HEAP32[$13>>2] = $12; - HEAP8[$5>>0] = 0; - return; - } else { - $14 = ((($0)) + 168|0); - HEAP32[$14>>2] = $5; - $15 = (((($0)) + 40|0) + ($8)|0); - $16 = ((($0)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 176|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 168|0); - HEAP32[$3>>2] = $2; - $4 = ((($0)) + 180|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 172|0); - HEAP32[$6>>2] = $5; - return; -} -function _stbi__hdr_gettoken($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$014 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $$014 = 0; - while(1) { - $2 = (_stbi__get8($0)|0); - $3 = (_stbi__at_eof($0)|0); - $4 = ($3|0)!=(0); - $5 = ($2<<24>>24)==(10); - $or$cond = $5 | $4; - if ($or$cond) { - $$1 = $$014; - break; - } - $6 = (($$014) + 1)|0; - $7 = (($1) + ($$014)|0); - HEAP8[$7>>0] = $2; - $8 = ($6|0)==(1023); - if ($8) { - label = 4; - break; - } else { - $$014 = $6; - } - } - L4: do { - if ((label|0) == 4) { - while(1) { - label = 0; - $9 = (_stbi__at_eof($0)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $$1 = $6; - break L4; - } - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $$1 = $6; - break; - } else { - label = 4; - } - } - } - } while(0); - $13 = (($1) + ($$1)|0); - HEAP8[$13>>0] = 0; - return ($1|0); -} -function _stbi__hdr_convert($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0.0, $$sink1 = 0, $$sink30 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 3|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - switch ($2|0) { - case 4: { - $38 = ((($0)) + 12|0); - HEAPF32[$38>>2] = 1.0; - label = 10; - break; - } - case 3: { - label = 10; - break; - } - case 2: { - $$sink30 = 1.0; - label = 11; - break; - } - case 1: { - break; - } - default: { - return; - } - } - if ((label|0) == 10) { - $39 = ((($0)) + 8|0); - HEAPF32[$39>>2] = 0.0; - $$sink30 = 0.0; - label = 11; - } - if ((label|0) == 11) { - $40 = ((($0)) + 4|0); - HEAPF32[$40>>2] = $$sink30; - } - HEAPF32[$0>>2] = 0.0; - return; - } - $6 = $4&255; - $7 = (($6) + -136)|0; - $8 = (+_ldexp(1.0,$7)); - $9 = $8; - $10 = ($2|0)<(3); - $11 = HEAP8[$1>>0]|0; - if ($10) { - $12 = $11&255; - $13 = ((($1)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (($15) + ($12))|0; - $17 = ((($1)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = (($16) + ($19))|0; - $21 = (+($20|0)); - $22 = $9 * $21; - $23 = $22 / 3.0; - $$sink = $23;$$sink1 = $0; - } else { - $24 = (+($11&255)); - $25 = $9 * $24; - HEAPF32[$0>>2] = $25; - $26 = ((($1)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $9 * $28; - $30 = ((($0)) + 4|0); - HEAPF32[$30>>2] = $29; - $31 = ((($1)) + 2|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $9 * $33; - $35 = ((($0)) + 8|0); - $$sink = $34;$$sink1 = $35; - } - HEAPF32[$$sink1>>2] = $$sink; - switch ($2|0) { - case 2: { - $36 = ((($0)) + 4|0); - HEAPF32[$36>>2] = 1.0; - return; - break; - } - case 4: { - $37 = ((($0)) + 12|0); - HEAPF32[$37>>2] = 1.0; - return; - break; - } - default: { - return; - } - } -} -function _stbi__at_eof($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_ii[$5 & 15]($7)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); - } - $10 = ((($0)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $$0 = 1; - return ($$0|0); - } - } - $13 = ((($0)) + 168|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 172|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($14>>>0)>=($16>>>0); - $18 = $17&1; - $$0 = $18; - return ($$0|0); -} -function _stbi__hdr_test_core($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$07 = 0, $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - L1: do { - if (!($3)) { - $$08 = 0;$11 = $1; - while(1) { - $8 = (_stbi__get8($0)|0); - $9 = $8&255; - $10 = HEAP8[$11>>0]|0; - $12 = $10 << 24 >> 24; - $13 = ($9|0)==($12|0); - $5 = (($$08) + 1)|0; - if (!($13)) { - $$07 = 0; - break; - } - $4 = (($1) + ($5)|0); - $6 = HEAP8[$4>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - break L1; - } else { - $$08 = $5;$11 = $4; - } - } - return ($$07|0); - } - } while(0); - _stbi__rewind($0); - $$07 = 1; - return ($$07|0); -} -function _stbi__start_callbacks($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; - $4 = ((($0)) + 28|0); - HEAP32[$4>>2] = $2; - $5 = ((($0)) + 36|0); - HEAP32[$5>>2] = 128; - $6 = ((($0)) + 32|0); - HEAP32[$6>>2] = 1; - $7 = ((($0)) + 40|0); - $8 = ((($0)) + 176|0); - HEAP32[$8>>2] = $7; - _stbi__refill_buffer($0); - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 180|0); - HEAP32[$11>>2] = $10; - return; -} -function _stbi__stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fread($1,1,$2,$0)|0); - return ($3|0); -} -function _stbi__stdio_skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($0,$1,1)|0); - return; -} -function _stbi__stdio_eof($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_feof($0)|0); - return ($1|0); -} -function _ImageCopy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx11 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx13 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx15 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = Math_imul($5, $3)|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 18: case 15: case 12: case 11: case 1: { - $$0 = $6; - break; - } - case 6: case 5: case 3: case 2: { - $9 = $6 << 1; - $$0 = $9; - break; - } - case 4: { - $10 = ($6*3)|0; - $$0 = $10; - break; - } - case 7: { - $11 = $6 << 2; - $$0 = $11; - break; - } - case 8: { - $12 = ($6*12)|0; - $$0 = $12; - break; - } - case 17: case 16: case 14: case 13: case 10: case 9: { - $13 = (($6|0) / 2)&-1; - $$0 = $13; - break; - } - case 19: { - $14 = (($6|0) / 4)&-1; - $$0 = $14; - break; - } - default: { - _TraceLog(1,7516,$vararg_buffer); - $$0 = $6; - } - } - $15 = (_malloc($$0)|0); - $16 = ($15|0)==(0|0); - if ($16) { - $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; - } else { - $17 = HEAP32[$1>>2]|0; - _memcpy(($15|0),($17|0),($$0|0))|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = ((($1)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$7>>2]|0; - $$sroa$6$0 = $18;$$sroa$7$0 = $19;$$sroa$8$0 = $21;$$sroa$9$0 = $22; - } - HEAP32[$0>>2] = $15; - $$sroa$6$0$$sroa_idx11 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx11>>2] = $$sroa$6$0; - $$sroa$7$0$$sroa_idx13 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx13>>2] = $$sroa$7$0; - $$sroa$8$0$$sroa_idx15 = ((($0)) + 12|0); - HEAP32[$$sroa$8$0$$sroa_idx15>>2] = $$sroa$8$0; - $$sroa$9$0$$sroa_idx17 = ((($0)) + 16|0); - HEAP32[$$sroa$9$0$$sroa_idx17>>2] = $$sroa$9$0; - STACKTOP = sp;return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($23<<24>>24) { - case 10: { - $25 = HEAP32[$9>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = (($26) + ($25))|0; - $28 = (+($27|0)); - $29 = $12 * $28; - $30 = (~~(($29))); - $31 = (($30) + ($$05153))|0; - $$150 = 0;$$152 = $31;$$2 = $$055; - break; - } - case -62: { - $32 = (($$055) + 1)|0; - $33 = (($1) + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $$1 = $32;$$sink = $35; - label = 8; - break; - } - case -61: { - $36 = (($$055) + 1)|0; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($39) + 64)|0; - $$1 = $36;$$sink = $40; - label = 8; - break; - } - default: { - $$1 = $$055;$$sink = $24; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4744]|0; - $2 = HEAP32[4742]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - $10 = (($2) + 1)|0; - if ($9) { - HEAP32[4742] = $10; - $12 = $10; - } else { - $$pr = HEAP32[4742]|0; - $12 = $$pr; - } - $11 = ($12|0)>(255); - if ($11) { - _rlglDraw(); - HEAP32[4742] = 1; - } - $13 = HEAP32[4744]|0; - $14 = HEAP32[4742]|0; - $15 = (($14) + -1)|0; - $16 = (((($13) + (($15*144)|0)|0)) + 8|0); - HEAP32[$16>>2] = $0; - $17 = (($13) + (($15*144)|0)|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[4930]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(2,7623,$vararg_buffer); - } - $2 = HEAP32[4930]|0; - $3 = (19724 + ($2<<6)|0); - $4 = HEAP32[5187]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[4930]|0; - $6 = (($5) + 1)|0; - HEAP32[4930] = $6; - $7 = HEAP32[5192]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[5188] = 1; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - $5 = HEAP32[5187]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _Vector3Normalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[5187]|0; - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5191] = $0; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[5191]|0; - switch ($4|0) { - case 1: { - $$sink37 = (18988);$$sink38 = (19000); - break; - } - case 4: { - $$sink37 = (19036);$$sink38 = (19048); - break; - } - case 7: { - $$sink37 = (18796);$$sink38 = (18808); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[5191]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(18804)>>2]|0; - $5 = HEAP32[(18792)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(18792)>>2] = $10; - return; -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[917]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[5188]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5189]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[5190]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5187]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Vector3Transform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[5189]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[5188] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[5190]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[5189]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[5188] = 0; - } - HEAP32[5189] = 0; - } - $21 = HEAP32[5191]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[4745]|0; - $23 = HEAP32[(18988)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(19000)>>2]|0; - $28 = HEAP32[(18988)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(19000)>>2]|0; - $35 = HEAP32[(18988)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(19000)>>2]|0; - $43 = HEAP32[(18988)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(19000)>>2]|0; - $51 = HEAP32[(18988)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(18988)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(18988)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[4757]|0; - $62 = HEAP32[(19036)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(19048)>>2]|0; - $67 = HEAP32[(19036)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(19048)>>2]|0; - $74 = HEAP32[(19036)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(19048)>>2]|0; - $82 = HEAP32[(19036)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(19048)>>2]|0; - $90 = HEAP32[(19036)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(19036)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(19036)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[4697]|0; - $101 = HEAP32[(18796)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(18808)>>2]|0; - $106 = HEAP32[(18796)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(18808)>>2]|0; - $113 = HEAP32[(18796)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(18808)>>2]|0; - $121 = HEAP32[(18796)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(18808)>>2]|0; - $129 = HEAP32[(18796)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(18796)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(18796)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[4697]|0; - $140 = HEAP32[(18792)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(18804)>>2]|0; - $$promoted = HEAP32[(18792)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(18792)>>2] = $147; - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[917]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[917] = $149; - STACKTOP = sp;return; - } - } -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4930]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[4930]|0; - $3 = (($2) + -1)|0; - $4 = (19724 + ($3<<6)|0); - $5 = HEAP32[5187]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[4930] = $6; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4697]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateBuffersDefault(); - _DrawBuffersDefault(); - return; -} -function _UpdateBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4745]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[4802]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[4803]|0; - $5 = HEAP32[(19008)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(19012)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4745]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(18992)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19016)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18988)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(19000)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[4757]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[4802]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[4803]|0; - $19 = HEAP32[(19056)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(19060)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4757]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(19040)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19064)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19036)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(19048)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[4697]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[4802]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[4803]|0; - $33 = HEAP32[(18816)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(18820)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4697]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(18800)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18824)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4697]|0; - $40 = $39 << 3; - $41 = HEAP32[(18804)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18828)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4697]|0; - $44 = $43 << 2; - $45 = HEAP32[(18808)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[4802]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[4803]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawBuffersDefault() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=18836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=18900; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4741]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[4745]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[4757]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[4697]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[4769]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=18900; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=18836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19104)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19124)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19136)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[4745]|0; - $20 = ($19|0)>(0); - if ($20) { - _glActiveTexture(33984); - $21 = HEAP32[4743]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[4802]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(19012)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19080)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19080)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19016)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19100)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19100)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[4803]|0; - $25 = HEAP32[(19008)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[4745]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4802]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[4757]|0; - $36 = ($35|0)>(0); - if ($36) { - _glActiveTexture(33984); - $37 = HEAP32[4743]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[4802]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(19060)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19080)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19080)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19064)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19100)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19100)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[4803]|0; - $41 = HEAP32[(19056)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[4757]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4802]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[4697]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[4802]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(18820)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19080)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19080)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18824)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19084)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19084)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18828)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19100)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19100)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18832)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[4803]|0; - $56 = HEAP32[(18816)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[4742]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[4744]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - _glActiveTexture(33984); - $76 = HEAP32[4744]|0; - $77 = (((($76) + (($$031*144)|0)|0)) + 8|0); - $78 = HEAP32[$77>>2]|0; - _glBindTexture(3553,($78|0)); - $79 = $$02830 << 1; - $80 = $79; - _glDrawElements(4,($75|0),5123,($80|0)); - $81 = HEAP32[4744]|0; - $82 = (($81) + (($$031*144)|0)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83|0) / 4)&-1; - $85 = ($84*6)|0; - $86 = (($85) + ($$02830))|0; - $87 = (($$031) + 1)|0; - $88 = HEAP32[4742]|0; - $89 = ($87|0)<($88|0); - if ($89) { - $$02830 = $86;$$031 = $87; - } else { - break; - } - } - } - $69 = HEAP32[4802]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $90 = HEAP32[4802]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = HEAP32[4803]|0; - FUNCTION_TABLE_vi[$92 & 31](0); - } - _glUseProgram(0); - $93 = (($$02932) + 1)|0; - $94 = ($93|0)<($$|0); - if ($94) { - $$02932 = $93; - } else { - break; - } - } - HEAP32[4742] = 1; - $5 = HEAP32[4743]|0; - $6 = HEAP32[4744]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[4745] = 0; - HEAP32[(18988)>>2] = 0; - HEAP32[4757] = 0; - HEAP32[(19036)>>2] = 0; - HEAP32[4697] = 0; - HEAP32[(18792)>>2] = 0; - HEAP32[(18796)>>2] = 0; - HEAPF32[917] = -1.0; - dest=18836; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18900; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4820]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4821]|0; - _rlViewport($7,0,$8,$9); - $10 = (19592 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (19464 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 * $4; - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($1)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($2)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($1)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($2)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($2)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($2)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($2)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($2)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($2)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($2)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($2)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($2)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($2)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($2)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($2)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($2)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($1)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($1)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($1)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($1)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($1)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($1)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($1)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($1)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($1)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($1)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($1)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($1)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixToFloat($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[4804] = $1; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(19220)>>2] = $3; - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(19224)>>2] = $5; - $6 = ((($0)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(19228)>>2] = $7; - $8 = ((($0)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(19232)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(19236)>>2] = $11; - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(19240)>>2] = $13; - $14 = ((($0)) + 52|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(19244)>>2] = $15; - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(19248)>>2] = $17; - $18 = ((($0)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(19252)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(19256)>>2] = $21; - $22 = ((($0)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(19260)>>2] = $23; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(19264)>>2] = $25; - $26 = ((($0)) + 28|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(19268)>>2] = $27; - $28 = ((($0)) + 44|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(19272)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(19276)>>2] = $31; - return (19216|0); -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=18900; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=18836; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Vector3Transform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = HEAP32[5188]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5190]|0; - $6 = HEAP32[5189]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[5189] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[5191]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[4745]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(18992)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[4745] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(2,7544,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[4757]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(19040)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[4757] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(2,7569,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[4697]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(18800)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[4697] = $41; - $42 = HEAP32[4744]|0; - $43 = HEAP32[4742]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(2,7598,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _Vector3Normalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_Vector3Length($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _Vector3Length($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = 0.0; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = 0.0; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = 0.0; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $2; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = 0.0; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = 0.0; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = 0.0; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = 0.0; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = 0.0; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[5187]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _FormatText($0,$varargs) { - $0 = $0|0; - $varargs = $varargs|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $varargs; - (_vsprintf(21832,$0,$1)|0); - STACKTOP = sp;return (21832|0); -} -function _DrawFPS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - $2 = sp + 4|0; - $3 = HEAP32[5193]|0; - $4 = HEAP32[918]|0; - $5 = ($3|0)<($4|0); - if ($5) { - $6 = (($3) + 1)|0; - $$sink = $6; - } else { - $7 = (_GetFPS()|0); - HEAP32[5194] = $7; - HEAP32[918] = $7; - $$sink = 0; - } - HEAP32[5193] = $$sink; - $8 = HEAP32[5194]|0; - HEAP32[$$byval_copy>>2] = $8; - (_FormatText(7661,$$byval_copy)|0); - HEAP8[$2>>0] = 0; - $9 = ((($2)) + 1|0); - HEAP8[$9>>0] = -98; - $10 = ((($2)) + 2|0); - HEAP8[$10>>0] = 47; - $11 = ((($2)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(21832,$0,$1,20,$$byval_copy); - STACKTOP = sp;return; -} -function _GetFPS() { - var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_GetFrameTime()); - $1 = 1.0 / $0; - $2 = (~~(($1))); - return ($2|0); -} -function _GetFrameTime() { - var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF64[2241]; - $1 = $0; - return (+$1); -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _DrawTexture($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy2 = sp + 40|0; - $$byval_copy1 = sp + 32|0; - $$byval_copy = sp + 8|0; - $4 = sp; - $5 = (+($1|0)); - HEAPF32[$4>>2] = $5; - $6 = ((($4)) + 4|0); - $7 = (+($2|0)); - HEAPF32[$6>>2] = $7; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; - _DrawTextureEx($$byval_copy,$$byval_copy1,0.0,1.0,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextureEx($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy3 = sp + 104|0; - $tmpcast$byval_copy = sp + 96|0; - $$byval_copy2 = sp + 80|0; - $$byval_copy1 = sp + 64|0; - $$byval_copy = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - HEAP32[$5>>2] = 0; - $8 = ((($5)) + 4|0); - HEAP32[$8>>2] = 0; - $9 = ((($5)) + 8|0); - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$9>>2] = $11; - $12 = ((($5)) + 12|0); - $13 = ((($0)) + 8|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$12>>2] = $14; - $15 = +HEAPF32[$1>>2]; - $16 = (~~(($15))); - HEAP32[$6>>2] = $16; - $17 = ((($6)) + 4|0); - $18 = ((($1)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = (~~(($19))); - HEAP32[$17>>2] = $20; - $21 = ((($6)) + 8|0); - $22 = HEAP32[$10>>2]|0; - $23 = (+($22|0)); - $24 = $23 * $3; - $25 = (~~(($24))); - HEAP32[$21>>2] = $25; - $26 = ((($6)) + 12|0); - $27 = HEAP32[$13>>2]|0; - $28 = (+($27|0)); - $29 = $28 * $3; - $30 = (~~(($29))); - HEAP32[$26>>2] = $30; - $31 = $7; - $32 = $31; - HEAP32[$32>>2] = 0; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$5+12>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,$2,$$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _DrawGrid($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0|0) / 2)&-1; - _rlBegin(1); - $3 = (0 - ($2))|0; - $4 = ($2|0)<($3|0); - if ($4) { - _rlEnd(); - return; - } - $5 = (+($3|0)); - $6 = $5 * $1; - $7 = (+($2|0)); - $8 = $7 * $1; - $$024 = $3; - while(1) { - $9 = ($$024|0)==(0); - if ($9) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $10 = (+($$024|0)); - $11 = $10 * $1; - _rlVertex3f($11,0.0,$6); - _rlVertex3f($11,0.0,$8); - _rlVertex3f($6,0.0,$11); - _rlVertex3f($8,0.0,$11); - $12 = (($$024) + 1)|0; - $13 = ($$024|0)<($2|0); - if ($13) { - $$024 = $12; - } else { - break; - } - } - _rlEnd(); - return; -} -function _rlColor3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $0 * 255.0; - $4 = (~~(($3))&255); - $5 = $1 * 255.0; - $6 = (~~(($5))&255); - $7 = $2 * 255.0; - $8 = (~~(($7))&255); - _rlColor4ub($4,$6,$8,-1); - return; -} -function _LoadMaterialDefault($0) { - $0 = $0|0; - var $$sroa$05 = 0, $$sroa$05$132$sroa_idx = 0, $$sroa$10$0$$sroa_idx = 0, $$sroa$1014$0$$sroa_idx = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$6$0$$sroa_idx = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(304|0); - $$sroa$05 = sp + 152|0; - $1 = sp + 20|0; - $2 = sp; - _memset(($$sroa$05|0),0,152)|0; - _GetShaderDefault($1); - _memcpy(($$sroa$05|0),($1|0),132)|0; - _GetTextureDefault($2); - $$sroa$05$132$sroa_idx = ((($$sroa$05)) + 132|0); - ;HEAP32[$$sroa$05$132$sroa_idx>>2]=HEAP32[$2>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+16>>2]=HEAP32[$2+16>>2]|0; - _memcpy(($0|0),($$sroa$05|0),152)|0; - $$sroa$6$0$$sroa_idx = ((($0)) + 152|0); - $$sroa$10$0$$sroa_idx = ((($0)) + 156|0); - HEAP32[$$sroa$6$0$$sroa_idx>>2] = -1; - ;HEAP32[$$sroa$10$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+20>>2]=0|0; - $$sroa$1014$0$$sroa_idx = ((($0)) + 180|0); - $$sroa$14$0$$sroa_idx = ((($0)) + 184|0); - HEAP32[$$sroa$1014$0$$sroa_idx>>2] = -1; - _memset(($$sroa$14$0$$sroa_idx|0),0,288)|0; - STACKTOP = sp;return; -} -function _GetShaderDefault($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _memcpy(($0|0),(20780|0),132)|0; - return; -} -function _GetTextureDefault($0) { - $0 = $0|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4743]|0; - HEAP32[$0>>2] = $1; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; - return; -} -function _rlLoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = ((($0)) + 36|0); - $3 = ((($0)) + 40|0); - $4 = ((($0)) + 44|0); - $5 = ((($0)) + 48|0); - $6 = ((($0)) + 52|0); - $7 = ((($0)) + 56|0); - $8 = ((($0)) + 60|0); - $9 = ((($0)) + 64|0); - $10 = ($1|0)!=(0); - $$ = $10 ? 35048 : 35044; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $11 = HEAP32[4802]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = HEAP32[5228]|0; - FUNCTION_TABLE_vii[$13 & 63](1,$2); - $14 = HEAP32[4803]|0; - $15 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vi[$14 & 31]($15); - } - _glGenBuffers(1,($3|0)); - $16 = HEAP32[$3>>2]|0; - _glBindBuffer(34962,($16|0)); - $17 = HEAP32[$0>>2]|0; - $18 = ($17*12)|0; - $19 = ((($0)) + 8|0); - $20 = HEAP32[$19>>2]|0; - _glBufferData(34962,($18|0),($20|0),($$|0)); - _glVertexAttribPointer(0,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(0); - _glGenBuffers(1,($4|0)); - $21 = HEAP32[$4>>2]|0; - _glBindBuffer(34962,($21|0)); - $22 = HEAP32[$0>>2]|0; - $23 = $22 << 3; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - _glBufferData(34962,($23|0),($25|0),($$|0)); - _glVertexAttribPointer(1,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(1); - $26 = ((($0)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - _glVertexAttrib3f(2,1.0,1.0,1.0); - _glDisableVertexAttribArray(2); - } else { - _glGenBuffers(1,($5|0)); - $29 = HEAP32[$5>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[$0>>2]|0; - $31 = ($30*12)|0; - $32 = HEAP32[$26>>2]|0; - _glBufferData(34962,($31|0),($32|0),($$|0)); - _glVertexAttribPointer(2,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(2); - } - $33 = ((($0)) + 28|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - _glVertexAttrib4f(3,1.0,1.0,1.0,1.0); - _glDisableVertexAttribArray(3); - } else { - _glGenBuffers(1,($6|0)); - $36 = HEAP32[$6>>2]|0; - _glBindBuffer(34962,($36|0)); - $37 = HEAP32[$0>>2]|0; - $38 = $37 << 2; - $39 = HEAP32[$33>>2]|0; - _glBufferData(34962,($38|0),($39|0),($$|0)); - _glVertexAttribPointer(3,4,5121,1,0,(0|0)); - _glEnableVertexAttribArray(3); - } - $40 = ((($0)) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - _glVertexAttrib3f(4,0.0,0.0,0.0); - _glDisableVertexAttribArray(4); - } else { - _glGenBuffers(1,($7|0)); - $43 = HEAP32[$7>>2]|0; - _glBindBuffer(34962,($43|0)); - $44 = HEAP32[$0>>2]|0; - $45 = ($44*12)|0; - $46 = HEAP32[$40>>2]|0; - _glBufferData(34962,($45|0),($46|0),($$|0)); - _glVertexAttribPointer(4,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(4); - } - $47 = ((($0)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - _glVertexAttrib2f(5,0.0,0.0); - _glDisableVertexAttribArray(5); - } else { - _glGenBuffers(1,($8|0)); - $50 = HEAP32[$8>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[$0>>2]|0; - $52 = $51 << 3; - $53 = HEAP32[$47>>2]|0; - _glBufferData(34962,($52|0),($53|0),($$|0)); - _glVertexAttribPointer(5,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(5); - } - $54 = ((($0)) + 32|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==(0|0); - if (!($56)) { - _glGenBuffers(1,($9|0)); - $57 = HEAP32[$9>>2]|0; - _glBindBuffer(34963,($57|0)); - $58 = ((($0)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59*6)|0; - $61 = HEAP32[$54>>2]|0; - _glBufferData(34963,($60|0),($61|0),35044); - } - $62 = HEAP32[4802]|0; - $63 = ($62|0)==(0); - if ($63) { - _TraceLog(0,7763,$vararg_buffer3); - STACKTOP = sp;return; - } - $64 = HEAP32[$2>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - _TraceLog(1,7722,$vararg_buffer1); - STACKTOP = sp;return; - } else { - HEAP32[$vararg_buffer>>2] = $64; - _TraceLog(0,7669,$vararg_buffer); - STACKTOP = sp;return; - } -} -function _Vector3Subtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - HEAPF32[$12>>2] = $17; - return; -} -function _Vector3CrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _LoadModelFromMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1152|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1152|0); - $2 = sp + 536|0; - $3 = sp + 472|0; - $4 = sp; - $5 = ((($2)) + 68|0); - _memset(($5|0),0,536)|0; - dest=$2; src=$1; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = ((($2)) + 68|0); - _MatrixIdentity($3); - dest=$6; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $7 = ((($2)) + 132|0); - _LoadMaterialDefault($4); - _memcpy(($7|0),($4|0),472)|0; - _memcpy(($0|0),($2|0),604)|0; - STACKTOP = sp;return; -} -function _UnloadModel($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0); - $$byval_copy = sp + 8|0; - $vararg_buffer = sp; - _UnloadMesh($0); - $1 = ((($0)) + 132|0); - _memcpy(($$byval_copy|0),($1|0),472)|0; - _UnloadMaterial($$byval_copy); - _TraceLog(0,7811,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadMesh($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _rlUnloadMesh($0); - return; -} -function _UnloadMaterial($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp; - _memcpy(($$byval_copy|0),($0|0),132)|0; - _UnloadShader($$byval_copy); - $1 = ((($0)) + 132|0); - $2 = HEAP32[$1>>2]|0; - _rlDeleteTextures($2); - $3 = ((($0)) + 160|0); - $4 = HEAP32[$3>>2]|0; - _rlDeleteTextures($4); - $5 = ((($0)) + 188|0); - $6 = HEAP32[$5>>2]|0; - _rlDeleteTextures($6); - $7 = ((($0)) + 216|0); - $8 = HEAP32[$7>>2]|0; - _rlDeleteTextures($8); - $9 = ((($0)) + 244|0); - $10 = HEAP32[$9>>2]|0; - _rlDeleteTextures($10); - $11 = ((($0)) + 272|0); - $12 = HEAP32[$11>>2]|0; - _rlDeleteTextures($12); - $13 = ((($0)) + 300|0); - $14 = HEAP32[$13>>2]|0; - _rlDeleteTextures($14); - $15 = ((($0)) + 328|0); - $16 = HEAP32[$15>>2]|0; - _rlDeleteTextures($16); - $17 = ((($0)) + 356|0); - $18 = HEAP32[$17>>2]|0; - _rlDeleteTextures($18); - $19 = ((($0)) + 384|0); - $20 = HEAP32[$19>>2]|0; - _rlDeleteTextures($20); - $21 = ((($0)) + 412|0); - $22 = HEAP32[$21>>2]|0; - _rlDeleteTextures($22); - $23 = ((($0)) + 440|0); - $24 = HEAP32[$23>>2]|0; - _rlDeleteTextures($24); - STACKTOP = sp;return; -} -function _UnloadShader($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteShader($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,7869,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteShader($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0); - if ($1) { - return; - } - _glDeleteProgram(($0|0)); - return; -} -function _rlUnloadMesh($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - _free($2); - } - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - _free($8); - } - $10 = ((($0)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if (!($12)) { - _free($11); - } - $13 = ((($0)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - _free($14); - } - $16 = ((($0)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _free($17); - } - $19 = ((($0)) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0|0); - if (!($21)) { - _free($20); - } - $22 = ((($0)) + 40|0); - $23 = HEAP32[$22>>2]|0; - _rlDeleteBuffers($23); - $24 = ((($0)) + 44|0); - $25 = HEAP32[$24>>2]|0; - _rlDeleteBuffers($25); - $26 = ((($0)) + 48|0); - $27 = HEAP32[$26>>2]|0; - _rlDeleteBuffers($27); - $28 = ((($0)) + 52|0); - $29 = HEAP32[$28>>2]|0; - _rlDeleteBuffers($29); - $30 = ((($0)) + 56|0); - $31 = HEAP32[$30>>2]|0; - _rlDeleteBuffers($31); - $32 = ((($0)) + 60|0); - $33 = HEAP32[$32>>2]|0; - _rlDeleteBuffers($33); - $34 = ((($0)) + 64|0); - $35 = HEAP32[$34>>2]|0; - _rlDeleteBuffers($35); - $36 = ((($0)) + 36|0); - $37 = HEAP32[$36>>2]|0; - _rlDeleteVertexArrays($37); - return; -} -function _rlDeleteBuffers($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4802]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - _TraceLog(0,7959,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteVertexArrays($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = HEAP32[4802]|0; - $3 = ($2|0)==(0); - if ($3) { - STACKTOP = sp;return; - } - $4 = ($0|0)==(0); - if (!($4)) { - $5 = HEAP32[5229]|0; - FUNCTION_TABLE_vii[$5 & 63](1,$1); - } - $6 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,7911,$vararg_buffer); - STACKTOP = sp;return; -} -function _GenMeshHeightmap($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0168182 = 0, $$0169191 = 0, $$0170190 = 0, $$0171189 = 0, $$0173188 = 0, $$1$lcssa = 0, $$1172$lcssa = 0, $$1172180 = 0, $$1174$lcssa = 0, $$1174179 = 0, $$1181 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0; - var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; - var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; - var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; - var $161 = 0.0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0; - var $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0; - var $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond195 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $$byval_copy = sp + 68|0; - $3 = sp; - $4 = ((($3)) + 4|0); - dest=$4; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $5 = ((($1)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 8|0); - $8 = HEAP32[$7>>2]|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0; - $9 = (_GetImageData($$byval_copy)|0); - $10 = (($6) + -1)|0; - $11 = (($8) + -1)|0; - $12 = Math_imul($11, $10)|0; - $13 = ($12*6)|0; - HEAP32[$3>>2] = $13; - $14 = ($12*72)|0; - $15 = (_malloc($14)|0); - $16 = ((($3)) + 8|0); - HEAP32[$16>>2] = $15; - $17 = (_malloc($14)|0); - $18 = ((($3)) + 20|0); - HEAP32[$18>>2] = $17; - $19 = HEAP32[$3>>2]|0; - $20 = $19 << 3; - $21 = (_malloc($20)|0); - $22 = ((($3)) + 12|0); - HEAP32[$22>>2] = $21; - $23 = ((($3)) + 28|0); - HEAP32[$23>>2] = 0; - $24 = +HEAPF32[$2>>2]; - $25 = (+($6|0)); - $26 = $24 / $25; - $27 = ((($2)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = $28 / 255.0; - $30 = ((($2)) + 8|0); - $31 = +HEAPF32[$30>>2]; - $32 = (+($8|0)); - $33 = $31 / $32; - $34 = ($8|0)>(1); - if (!($34)) { - _free($9); - _rlLoadMesh($3,0); - dest=$0; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $35 = ($6|0)>(1); - $36 = HEAP32[$16>>2]|0; - $37 = (+($10|0)); - $38 = HEAP32[$22>>2]|0; - $39 = (+($11|0)); - $40 = HEAP32[$18>>2]|0; - $41 = ($6*18)|0; - $42 = (($41) + -18)|0; - $43 = ($6*12)|0; - $44 = (($43) + -12)|0; - $45 = (($41) + -18)|0; - $$0169191 = 0;$$0170190 = 0;$$0171189 = 0;$$0173188 = 0; - while(1) { - $47 = (($$0169191) + 1)|0; - if ($35) { - $48 = Math_imul($$0169191, $6)|0; - $49 = (+($$0169191|0)); - $50 = $33 * $49; - $51 = Math_imul($47, $6)|0; - $52 = (+($47|0)); - $53 = $33 * $52; - $54 = $49 / $39; - $55 = $52 / $39; - $56 = (($42) + ($$0170190))|0; - $57 = (($45) + ($$0173188))|0; - $$0168182 = 0;$$1172180 = $$0171189;$$1174179 = $$0173188;$$1181 = $$0170190; - while(1) { - $58 = (+($$0168182|0)); - $59 = $26 * $58; - $60 = (($36) + ($$1181<<2)|0); - HEAPF32[$60>>2] = $59; - $61 = (($$0168182) + ($48))|0; - $62 = (($9) + ($61<<2)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = (((($9) + ($61<<2)|0)) + 1|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = (($67) + ($64))|0; - $69 = (((($9) + ($61<<2)|0)) + 2|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = (($68) + ($71))|0; - $73 = (($72>>>0) / 3)&-1; - $74 = (+($73|0)); - $75 = $29 * $74; - $76 = (($$1181) + 1)|0; - $77 = (($36) + ($76<<2)|0); - HEAPF32[$77>>2] = $75; - $78 = (($$1181) + 2)|0; - $79 = (($36) + ($78<<2)|0); - HEAPF32[$79>>2] = $50; - $80 = (($$1181) + 3)|0; - $81 = (($36) + ($80<<2)|0); - HEAPF32[$81>>2] = $59; - $82 = (($$0168182) + ($51))|0; - $83 = (($9) + ($82<<2)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = (((($9) + ($82<<2)|0)) + 1|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = (($88) + ($85))|0; - $90 = (((($9) + ($82<<2)|0)) + 2|0); - $91 = HEAP8[$90>>0]|0; - $92 = $91&255; - $93 = (($89) + ($92))|0; - $94 = (($93>>>0) / 3)&-1; - $95 = (+($94|0)); - $96 = $29 * $95; - $97 = (($$1181) + 4)|0; - $98 = (($36) + ($97<<2)|0); - HEAPF32[$98>>2] = $96; - $99 = (($$1181) + 5)|0; - $100 = (($36) + ($99<<2)|0); - HEAPF32[$100>>2] = $53; - $101 = (($$0168182) + 1)|0; - $102 = (+($101|0)); - $103 = $26 * $102; - $104 = (($$1181) + 6)|0; - $105 = (($36) + ($104<<2)|0); - HEAPF32[$105>>2] = $103; - $106 = (($101) + ($48))|0; - $107 = (($9) + ($106<<2)|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (((($9) + ($106<<2)|0)) + 1|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = (($112) + ($109))|0; - $114 = (((($9) + ($106<<2)|0)) + 2|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = (($113) + ($116))|0; - $118 = (($117>>>0) / 3)&-1; - $119 = (+($118|0)); - $120 = $29 * $119; - $121 = (($$1181) + 7)|0; - $122 = (($36) + ($121<<2)|0); - HEAPF32[$122>>2] = $120; - $123 = (($$1181) + 8)|0; - $124 = (($36) + ($123<<2)|0); - HEAPF32[$124>>2] = $50; - $125 = HEAP32[$105>>2]|0; - $126 = (($$1181) + 9)|0; - $127 = (($36) + ($126<<2)|0); - HEAP32[$127>>2] = $125; - $128 = HEAP32[$122>>2]|0; - $129 = (($$1181) + 10)|0; - $130 = (($36) + ($129<<2)|0); - HEAP32[$130>>2] = $128; - $131 = HEAP32[$124>>2]|0; - $132 = (($$1181) + 11)|0; - $133 = (($36) + ($132<<2)|0); - HEAP32[$133>>2] = $131; - $134 = (($36) + ($80<<2)|0); - $135 = HEAP32[$134>>2]|0; - $136 = (($$1181) + 12)|0; - $137 = (($36) + ($136<<2)|0); - HEAP32[$137>>2] = $135; - $138 = (($36) + ($97<<2)|0); - $139 = HEAP32[$138>>2]|0; - $140 = (($$1181) + 13)|0; - $141 = (($36) + ($140<<2)|0); - HEAP32[$141>>2] = $139; - $142 = (($36) + ($99<<2)|0); - $143 = HEAP32[$142>>2]|0; - $144 = (($$1181) + 14)|0; - $145 = (($36) + ($144<<2)|0); - HEAP32[$145>>2] = $143; - $146 = (($$1181) + 15)|0; - $147 = (($36) + ($146<<2)|0); - HEAPF32[$147>>2] = $103; - $148 = (($101) + ($51))|0; - $149 = (($9) + ($148<<2)|0); - $150 = HEAP8[$149>>0]|0; - $151 = $150&255; - $152 = (((($9) + ($148<<2)|0)) + 1|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = (($154) + ($151))|0; - $156 = (((($9) + ($148<<2)|0)) + 2|0); - $157 = HEAP8[$156>>0]|0; - $158 = $157&255; - $159 = (($155) + ($158))|0; - $160 = (($159>>>0) / 3)&-1; - $161 = (+($160|0)); - $162 = $29 * $161; - $163 = (($$1181) + 16)|0; - $164 = (($36) + ($163<<2)|0); - HEAPF32[$164>>2] = $162; - $165 = (($$1181) + 17)|0; - $166 = (($36) + ($165<<2)|0); - HEAPF32[$166>>2] = $53; - $167 = $58 / $37; - $168 = (($38) + ($$1172180<<2)|0); - HEAPF32[$168>>2] = $167; - $169 = (($$1172180) + 1)|0; - $170 = (($38) + ($169<<2)|0); - HEAPF32[$170>>2] = $54; - $171 = (($$1172180) + 2)|0; - $172 = (($38) + ($171<<2)|0); - HEAPF32[$172>>2] = $167; - $173 = (($$1172180) + 3)|0; - $174 = (($38) + ($173<<2)|0); - HEAPF32[$174>>2] = $55; - $175 = $102 / $37; - $176 = (($$1172180) + 4)|0; - $177 = (($38) + ($176<<2)|0); - HEAPF32[$177>>2] = $175; - $178 = (($$1172180) + 5)|0; - $179 = (($38) + ($178<<2)|0); - HEAPF32[$179>>2] = $54; - $180 = (($$1172180) + 6)|0; - $181 = (($38) + ($180<<2)|0); - HEAPF32[$181>>2] = $175; - $182 = (($$1172180) + 7)|0; - $183 = (($38) + ($182<<2)|0); - HEAPF32[$183>>2] = $54; - $184 = (($38) + ($171<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = (($$1172180) + 8)|0; - $187 = (($38) + ($186<<2)|0); - HEAP32[$187>>2] = $185; - $188 = (($38) + ($173<<2)|0); - $189 = HEAP32[$188>>2]|0; - $190 = (($$1172180) + 9)|0; - $191 = (($38) + ($190<<2)|0); - HEAP32[$191>>2] = $189; - $192 = (($$1172180) + 10)|0; - $193 = (($38) + ($192<<2)|0); - HEAPF32[$193>>2] = $175; - $194 = (($$1172180) + 11)|0; - $195 = (($38) + ($194<<2)|0); - HEAPF32[$195>>2] = $55; - $196 = (($40) + ($$1174179<<2)|0); - HEAPF32[$196>>2] = 0.0; - $197 = (($$1174179) + 1)|0; - $198 = (($40) + ($197<<2)|0); - HEAPF32[$198>>2] = 1.0; - $199 = (($$1174179) + 2)|0; - $200 = (($40) + ($199<<2)|0); - HEAPF32[$200>>2] = 0.0; - $201 = (($$1174179) + 3)|0; - $202 = (($40) + ($201<<2)|0); - HEAPF32[$202>>2] = 0.0; - $203 = (($$1174179) + 4)|0; - $204 = (($40) + ($203<<2)|0); - HEAPF32[$204>>2] = 1.0; - $205 = (($$1174179) + 5)|0; - $206 = (($40) + ($205<<2)|0); - HEAPF32[$206>>2] = 0.0; - $207 = (($$1174179) + 6)|0; - $208 = (($40) + ($207<<2)|0); - HEAPF32[$208>>2] = 0.0; - $209 = (($$1174179) + 7)|0; - $210 = (($40) + ($209<<2)|0); - HEAPF32[$210>>2] = 1.0; - $211 = (($$1174179) + 8)|0; - $212 = (($40) + ($211<<2)|0); - HEAPF32[$212>>2] = 0.0; - $213 = (($$1174179) + 9)|0; - $214 = (($40) + ($213<<2)|0); - HEAPF32[$214>>2] = 0.0; - $215 = (($$1174179) + 10)|0; - $216 = (($40) + ($215<<2)|0); - HEAPF32[$216>>2] = 1.0; - $217 = (($$1174179) + 11)|0; - $218 = (($40) + ($217<<2)|0); - HEAPF32[$218>>2] = 0.0; - $219 = (($$1174179) + 12)|0; - $220 = (($40) + ($219<<2)|0); - HEAPF32[$220>>2] = 0.0; - $221 = (($$1174179) + 13)|0; - $222 = (($40) + ($221<<2)|0); - HEAPF32[$222>>2] = 1.0; - $223 = (($$1174179) + 14)|0; - $224 = (($40) + ($223<<2)|0); - HEAPF32[$224>>2] = 0.0; - $225 = (($$1174179) + 15)|0; - $226 = (($40) + ($225<<2)|0); - HEAPF32[$226>>2] = 0.0; - $227 = (($$1174179) + 16)|0; - $228 = (($40) + ($227<<2)|0); - HEAPF32[$228>>2] = 1.0; - $229 = (($$1174179) + 17)|0; - $230 = (($40) + ($229<<2)|0); - HEAPF32[$230>>2] = 0.0; - $231 = (($$1181) + 18)|0; - $232 = (($$1172180) + 12)|0; - $233 = (($$1174179) + 18)|0; - $exitcond = ($101|0)==($10|0); - if ($exitcond) { - break; - } else { - $$0168182 = $101;$$1172180 = $232;$$1174179 = $233;$$1181 = $231; - } - } - $46 = (($44) + ($$0171189))|0; - $$1$lcssa = $56;$$1172$lcssa = $46;$$1174$lcssa = $57; - } else { - $$1$lcssa = $$0170190;$$1172$lcssa = $$0171189;$$1174$lcssa = $$0173188; - } - $exitcond195 = ($47|0)==($11|0); - if ($exitcond195) { - break; - } else { - $$0169191 = $47;$$0170190 = $$1$lcssa;$$0171189 = $$1172$lcssa;$$0173188 = $$1174$lcssa; - } - } - _free($9); - _rlLoadMesh($3,0); - dest=$0; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _DrawModel($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy4 = sp + 664|0; - $$byval_copy3 = sp + 652|0; - $$byval_copy2 = sp + 640|0; - $$byval_copy1 = sp + 628|0; - $$byval_copy = sp + 24|0; - $4 = sp + 12|0; - $5 = sp; - HEAPF32[$4>>2] = $2; - $6 = ((($4)) + 4|0); - HEAPF32[$6>>2] = $2; - $7 = ((($4)) + 8|0); - HEAPF32[$7>>2] = $2; - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; - _memcpy(($$byval_copy|0),($0|0),604)|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawModelEx($$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$$byval_copy3,$$byval_copy4); - STACKTOP = sp;return; -} -function _DrawModelEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 992|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(992|0); - $$byval_copy9 = sp + 928|0; - $$byval_copy8 = sp + 456|0; - $$byval_copy7 = sp + 384|0; - $6 = sp + 192|0; - $7 = sp + 128|0; - $8 = sp + 64|0; - $9 = sp; - $10 = sp + 320|0; - $11 = sp + 256|0; - $12 = +HEAPF32[$4>>2]; - $13 = ((($4)) + 4|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($4)) + 8|0); - $16 = +HEAPF32[$15>>2]; - _MatrixScale($6,$12,$14,$16); - $17 = $3 * 0.01745329238474369; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$2+8>>2]|0; - _MatrixRotate($7,$$byval_copy9,$17); - $18 = +HEAPF32[$1>>2]; - $19 = ((($1)) + 4|0); - $20 = +HEAPF32[$19>>2]; - $21 = ((($1)) + 8|0); - $22 = +HEAPF32[$21>>2]; - _MatrixTranslate($8,$18,$20,$22); - dest=$$byval_copy8; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($10,$$byval_copy8,$$byval_copy9); - dest=$$byval_copy8; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($9,$$byval_copy8,$$byval_copy9); - $23 = ((($0)) + 68|0); - dest=$$byval_copy8; src=$23; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$9; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($11,$$byval_copy8,$$byval_copy9); - dest=$23; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $24 = ((($0)) + 132|0); - $25 = ((($0)) + 284|0); - $26 = HEAPU8[$5>>0]|(HEAPU8[$5+1>>0]<<8)|(HEAPU8[$5+2>>0]<<16)|(HEAPU8[$5+3>>0]<<24); - HEAP32[$25>>2] = $26; - dest=$$byval_copy7; src=$0; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _memcpy(($$byval_copy8|0),($24|0),472)|0; - dest=$$byval_copy9; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlDrawMesh($$byval_copy7,$$byval_copy8,$$byval_copy9); - STACKTOP = sp;return; -} -function _rlDrawMesh($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0$off = 0, $$03539 = 0, $$036$off = 0, $$03640 = 0, $$038 = 0, $$byval_copy10 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $exitcond = 0, $exitcond42 = 0, $modelview$byval_copy8 = 0, $switch = 0, $switch37 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(464|0); - $$byval_copy10 = sp + 392|0; - $modelview$byval_copy8 = sp + 256|0; - $3 = sp + 192|0; - $4 = sp + 128|0; - $5 = sp + 64|0; - $6 = sp; - $7 = HEAP32[$1>>2]|0; - _glUseProgram(($7|0)); - $8 = ((($1)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(-1); - if (!($10)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$9,$$byval_copy10); - } - $11 = ((($1)) + 48|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(-1); - if (!($13)) { - $14 = ((($1)) + 152|0); - $15 = HEAP8[$14>>0]|0; - $16 = (+($15&255)); - $17 = $16 / 255.0; - $18 = ((($1)) + 153|0); - $19 = HEAP8[$18>>0]|0; - $20 = (+($19&255)); - $21 = $20 / 255.0; - $22 = ((($1)) + 154|0); - $23 = HEAP8[$22>>0]|0; - $24 = (+($23&255)); - $25 = $24 / 255.0; - $26 = ((($1)) + 155|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 / 255.0; - _glUniform4f(($12|0),(+$17),(+$21),(+$25),(+$29)); - } - $30 = ((($1)) + 52|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(-1); - if (!($32)) { - $33 = ((($1)) + 180|0); - $34 = HEAP8[$33>>0]|0; - $35 = (+($34&255)); - $36 = $35 / 255.0; - $37 = ((($1)) + 181|0); - $38 = HEAP8[$37>>0]|0; - $39 = (+($38&255)); - $40 = $39 / 255.0; - $41 = ((($1)) + 182|0); - $42 = HEAP8[$41>>0]|0; - $43 = (+($42&255)); - $44 = $43 / 255.0; - $45 = ((($1)) + 183|0); - $46 = HEAP8[$45>>0]|0; - $47 = (+($46&255)); - $48 = $47 / 255.0; - _glUniform4f(($31|0),(+$36),(+$40),(+$44),(+$48)); - } - $49 = ((($1)) + 36|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(-1); - if (!($51)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=18900; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$50,$$byval_copy10); - } - $52 = ((($1)) + 40|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==(-1); - if (!($54)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=18836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$53,$$byval_copy10); - } - dest=$3; src=18900; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=18836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelview$byval_copy8; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=18900; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($5,$modelview$byval_copy8,$$byval_copy10); - $$03640 = 0; - while(1) { - $57 = (((($1)) + 132|0) + (($$03640*28)|0)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = (($$03640) + 33984)|0; - _glActiveTexture(($60|0)); - $61 = HEAP32[$57>>2]|0; - $$036$off = (($$03640) + -7)|0; - $switch = ($$036$off>>>0)<(3); - if ($switch) { - _glBindTexture(34067,($61|0)); - } else { - _glBindTexture(3553,($61|0)); - } - $62 = (($$03640) + 14)|0; - $63 = (((($1)) + 4|0) + ($62<<2)|0); - $64 = HEAP32[$63>>2]|0; - _glUniform1i(($64|0),($$03640|0)); - } - $65 = (($$03640) + 1)|0; - $exitcond42 = ($65|0)==(12); - if ($exitcond42) { - break; - } else { - $$03640 = $65; - } - } - $55 = HEAP32[4802]|0; - $56 = ($55|0)==(0); - if ($56) { - $69 = ((($0)) + 40|0); - $70 = HEAP32[$69>>2]|0; - _glBindBuffer(34962,($70|0)); - $71 = ((($1)) + 4|0); - $72 = HEAP32[$71>>2]|0; - _glVertexAttribPointer(($72|0),3,5126,0,0,(0|0)); - $73 = HEAP32[$71>>2]|0; - _glEnableVertexAttribArray(($73|0)); - $74 = ((($0)) + 44|0); - $75 = HEAP32[$74>>2]|0; - _glBindBuffer(34962,($75|0)); - $76 = ((($1)) + 8|0); - $77 = HEAP32[$76>>2]|0; - _glVertexAttribPointer(($77|0),2,5126,0,0,(0|0)); - $78 = HEAP32[$76>>2]|0; - _glEnableVertexAttribArray(($78|0)); - $79 = ((($1)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(-1); - if (!($81)) { - $82 = ((($0)) + 48|0); - $83 = HEAP32[$82>>2]|0; - _glBindBuffer(34962,($83|0)); - $84 = HEAP32[$79>>2]|0; - _glVertexAttribPointer(($84|0),3,5126,0,0,(0|0)); - $85 = HEAP32[$79>>2]|0; - _glEnableVertexAttribArray(($85|0)); - } - $86 = ((($1)) + 24|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(-1); - do { - if (!($88)) { - $89 = ((($0)) + 52|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - _glVertexAttrib4f(($87|0),1.0,1.0,1.0,1.0); - $94 = HEAP32[$86>>2]|0; - _glDisableVertexAttribArray(($94|0)); - break; - } else { - _glBindBuffer(34962,($90|0)); - $92 = HEAP32[$86>>2]|0; - _glVertexAttribPointer(($92|0),4,5121,1,0,(0|0)); - $93 = HEAP32[$86>>2]|0; - _glEnableVertexAttribArray(($93|0)); - break; - } - } - } while(0); - $95 = ((($1)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==(-1); - if (!($97)) { - $98 = ((($0)) + 56|0); - $99 = HEAP32[$98>>2]|0; - _glBindBuffer(34962,($99|0)); - $100 = HEAP32[$95>>2]|0; - _glVertexAttribPointer(($100|0),3,5126,0,0,(0|0)); - $101 = HEAP32[$95>>2]|0; - _glEnableVertexAttribArray(($101|0)); - } - $102 = ((($1)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)==(-1); - if (!($104)) { - $105 = ((($0)) + 60|0); - $106 = HEAP32[$105>>2]|0; - _glBindBuffer(34962,($106|0)); - $107 = HEAP32[$102>>2]|0; - _glVertexAttribPointer(($107|0),2,5126,0,0,(0|0)); - $108 = HEAP32[$102>>2]|0; - _glEnableVertexAttribArray(($108|0)); - } - $109 = ((($0)) + 32|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if (!($111)) { - $112 = ((($0)) + 64|0); - $113 = HEAP32[$112>>2]|0; - _glBindBuffer(34963,($113|0)); - } - } else { - $66 = HEAP32[4803]|0; - $67 = ((($0)) + 36|0); - $68 = HEAP32[$67>>2]|0; - FUNCTION_TABLE_vi[$66 & 31]($68); - } - $114 = HEAP32[4741]|0; - $115 = ($114|0)!=(0); - $$ = $115 ? 2 : 1; - $116 = ((($1)) + 28|0); - $117 = ((($0)) + 32|0); - $118 = HEAP32[$0>>2]|0; - $119 = ((($0)) + 4|0); - $$03539 = 0; - while(1) { - if ($115) { - dest=$modelview$byval_copy8; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$03539,$modelview$byval_copy8,$$byval_copy10); - } else { - dest=18900; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - dest=$modelview$byval_copy8; src=18900; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=18836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($6,$modelview$byval_copy8,$$byval_copy10); - $120 = HEAP32[$116>>2]|0; - dest=$$byval_copy10; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $121 = (_MatrixToFloat($$byval_copy10)|0); - _glUniformMatrix4fv(($120|0),1,0,($121|0)); - $122 = HEAP32[$117>>2]|0; - $123 = ($122|0)==(0|0); - if ($123) { - _glDrawArrays(4,0,($118|0)); - } else { - $124 = HEAP32[$119>>2]|0; - $125 = ($124*3)|0; - _glDrawElements(4,($125|0),5123,(0|0)); - } - $126 = (($$03539) + 1)|0; - $127 = ($126|0)<($$|0); - if ($127) { - $$03539 = $126; - } else { - $$038 = 0; - break; - } - } - while(1) { - $130 = (($$038) + 33984)|0; - _glActiveTexture(($130|0)); - $$0$off = (($$038) + -7)|0; - $switch37 = ($$0$off>>>0)<(3); - if ($switch37) { - _glBindTexture(34067,0); - } else { - _glBindTexture(3553,0); - } - $131 = (($$038) + 1)|0; - $exitcond = ($131|0)==(12); - if ($exitcond) { - break; - } else { - $$038 = $131; - } - } - $128 = HEAP32[4802]|0; - $129 = ($128|0)==(0); - if (!($129)) { - $132 = HEAP32[4803]|0; - FUNCTION_TABLE_vi[$132 & 31](0); - _glUseProgram(0); - dest=18836; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18900; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34962,0); - $133 = ((($0)) + 32|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0|0); - if ($135) { - _glUseProgram(0); - dest=18836; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18900; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34963,0); - _glUseProgram(0); - dest=18836; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18900; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetShaderValueMatrix($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $3 = 0, $4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $3 = HEAP32[$0>>2]|0; - _glUseProgram(($3|0)); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $4 = (_MatrixToFloat($$byval_copy)|0); - _glUniformMatrix4fv(($1|0),1,0,($4|0)); - STACKTOP = sp;return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 116|0; - $$byval_copy4 = sp + 104|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($6,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($6); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($7,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($7); - $8 = HEAP32[$6>>2]|0; - HEAP32[$4>>2] = $8; - $9 = ((($6)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($4)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($4)) + 32|0); - HEAP32[$14>>2] = $13; - $15 = ((($4)) + 48|0); - HEAPF32[$15>>2] = 0.0; - $16 = HEAP32[$7>>2]|0; - $17 = ((($4)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = ((($7)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($4)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ((($7)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($4)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = ((($4)) + 52|0); - HEAPF32[$24>>2] = 0.0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($4)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = ((($5)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($4)) + 24|0); - HEAP32[$29>>2] = $28; - $30 = ((($5)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = $31; - $33 = ((($4)) + 56|0); - HEAPF32[$33>>2] = 0.0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($4)) + 12|0); - HEAP32[$35>>2] = $34; - $36 = ((($1)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($4)) + 28|0); - HEAP32[$38>>2] = $37; - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($4)) + 44|0); - HEAP32[$41>>2] = $40; - $42 = ((($4)) + 60|0); - HEAPF32[$42>>2] = 1.0; - _MatrixInvert($4); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _rlVertex2i($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+($0|0)); - $3 = (+($1|0)); - $4 = +HEAPF32[917]; - _rlVertex3f($2,$3,$4); - return; -} -function _DrawRectangle($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy2 = sp + 32|0; - $$byval_copy1 = sp + 24|0; - $$byval_copy = sp + 16|0; - $5 = sp + 8|0; - $6 = sp; - $7 = (+($0|0)); - HEAPF32[$5>>2] = $7; - $8 = ((($5)) + 4|0); - $9 = (+($1|0)); - HEAPF32[$8>>2] = $9; - $10 = (+($2|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($3|0)); - HEAPF32[$11>>2] = $12; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawRectangleV($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; - var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $3 = sp; - $4 = (_rlGetVersion()|0); - $5 = ($4|0)==(1); - if ($5) { - _rlBegin(4); - $6 = HEAP8[$2>>0]|0; - $7 = ((($2)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($2)) + 2|0); - $10 = HEAP8[$9>>0]|0; - $11 = ((($2)) + 3|0); - $12 = HEAP8[$11>>0]|0; - _rlColor4ub($6,$8,$10,$12); - $13 = +HEAPF32[$0>>2]; - $14 = (~~(($13))); - $15 = ((($0)) + 4|0); - $16 = +HEAPF32[$15>>2]; - $17 = (~~(($16))); - _rlVertex2i($14,$17); - $18 = ((($1)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $16 + $19; - $21 = (~~(($20))); - _rlVertex2i($14,$21); - $22 = +HEAPF32[$0>>2]; - $23 = +HEAPF32[$1>>2]; - $24 = $22 + $23; - $25 = (~~(($24))); - $26 = +HEAPF32[$15>>2]; - $27 = +HEAPF32[$18>>2]; - $28 = $26 + $27; - $29 = (~~(($28))); - _rlVertex2i($25,$29); - $30 = +HEAPF32[$0>>2]; - $31 = (~~(($30))); - $32 = +HEAPF32[$15>>2]; - $33 = (~~(($32))); - _rlVertex2i($31,$33); - $34 = +HEAPF32[$1>>2]; - $35 = $30 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$18>>2]; - $38 = $32 + $37; - $39 = (~~(($38))); - _rlVertex2i($36,$39); - $40 = +HEAPF32[$0>>2]; - $41 = +HEAPF32[$1>>2]; - $42 = $40 + $41; - $43 = (~~(($42))); - $44 = +HEAPF32[$15>>2]; - $45 = (~~(($44))); - _rlVertex2i($43,$45); - _rlEnd(); - STACKTOP = sp;return; - } - $46 = (_rlGetVersion()|0); - $47 = ($46|0)==(2); - if (!($47)) { - $48 = (_rlGetVersion()|0); - $49 = ($48|0)==(3); - if (!($49)) { - $50 = (_rlGetVersion()|0); - $51 = ($50|0)==(4); - if (!($51)) { - STACKTOP = sp;return; - } - } - } - _GetTextureDefault($3); - $52 = HEAP32[$3>>2]|0; - _rlEnableTexture($52); - _rlBegin(7); - $53 = HEAP8[$2>>0]|0; - $54 = ((($2)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = ((($2)) + 2|0); - $57 = HEAP8[$56>>0]|0; - $58 = ((($2)) + 3|0); - $59 = HEAP8[$58>>0]|0; - _rlColor4ub($53,$55,$57,$59); - _rlTexCoord2f(0.0,0.0); - $60 = +HEAPF32[$0>>2]; - $61 = ((($0)) + 4|0); - $62 = +HEAPF32[$61>>2]; - _rlVertex2f($60,$62); - _rlTexCoord2f(0.0,1.0); - $63 = ((($1)) + 4|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 + $64; - _rlVertex2f($60,$65); - _rlTexCoord2f(1.0,1.0); - $66 = +HEAPF32[$0>>2]; - $67 = +HEAPF32[$1>>2]; - $68 = $66 + $67; - $69 = +HEAPF32[$61>>2]; - $70 = +HEAPF32[$63>>2]; - $71 = $69 + $70; - _rlVertex2f($68,$71); - _rlTexCoord2f(1.0,0.0); - $72 = +HEAPF32[$0>>2]; - $73 = +HEAPF32[$1>>2]; - $74 = $72 + $73; - $75 = +HEAPF32[$61>>2]; - _rlVertex2f($74,$75); - _rlEnd(); - _rlDisableTexture(); - STACKTOP = sp;return; -} -function _DrawRectangleLines($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy3 = sp; - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(1); - if ($6) { - _rlBegin(1); - $7 = HEAP8[$4>>0]|0; - $8 = ((($4)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($4)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($4)) + 3|0); - $13 = HEAP8[$12>>0]|0; - _rlColor4ub($7,$9,$11,$13); - $14 = (($0) + 1)|0; - $15 = (($1) + 1)|0; - _rlVertex2i($14,$15); - $16 = (($2) + ($0))|0; - _rlVertex2i($16,$15); - _rlVertex2i($16,$15); - $17 = (($3) + ($1))|0; - _rlVertex2i($16,$17); - _rlVertex2i($16,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$15); - _rlEnd(); - STACKTOP = sp;return; - } - $18 = (_rlGetVersion()|0); - $19 = ($18|0)==(2); - if (!($19)) { - $20 = (_rlGetVersion()|0); - $21 = ($20|0)==(3); - if (!($21)) { - $22 = (_rlGetVersion()|0); - $23 = ($22|0)==(4); - if (!($23)) { - STACKTOP = sp;return; - } - } - } - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$1,$2,1,$$byval_copy3); - $24 = (($0) + -1)|0; - $25 = (($24) + ($2))|0; - $26 = (($1) + 1)|0; - $27 = (($3) + -2)|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($25,$26,1,$27,$$byval_copy3); - $28 = (($1) + -1)|0; - $29 = (($28) + ($3))|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$29,$2,1,$$byval_copy3); - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$26,1,$27,$$byval_copy3); - STACKTOP = sp;return; -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = $4 * $4; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = $10 * $10; - $12 = $5 + $11; - $13 = (+Math_sqrt((+$12))); - return (+$13); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _Vector3Zero($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 0.0; - $1 = ((($0)) + 4|0); - HEAPF32[$1>>2] = 0.0; - $2 = ((($0)) + 8|0); - HEAPF32[$2>>2] = 0.0; - return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[5231] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 17936; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 17976; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4494]; - $111 = +HEAPF32[4484]; - $112 = $110 - $111; - HEAPF32[4496] = $112; - $113 = +HEAPF32[(17980)>>2]; - $114 = +HEAPF32[(17940)>>2]; - $115 = $113 - $114; - HEAPF32[(17988)>>2] = $115; - HEAP32[5230] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17968>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17968+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17992>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17992+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5236] = $116; - $117 = 17968; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 17936; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 17992; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 17976; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 17968; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 17992; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4498]; - $160 = +HEAPF32[4492]; - $161 = $159 - $160; - HEAPF32[4496] = $161; - $162 = +HEAPF32[(17996)>>2]; - $163 = +HEAPF32[(17972)>>2]; - $164 = $162 - $163; - HEAPF32[(17988)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17936>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17936+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17968>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17968+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17976>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17976+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17992>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17992+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17968>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17968+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17992>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17992+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5236]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[5230] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17968>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17968+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17992>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17992+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[5237] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[5236] = 0.0; - HEAPF32[5237] = 0.0; - HEAPF32[4496] = 0.0; - HEAPF32[(17988)>>2] = 0.0; - HEAP32[5231] = 0; - HEAP32[5230] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[5232]|0; - $7 = (($6) + 1)|0; - HEAP32[5232] = $7; - $8 = HEAP32[5230]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17936>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17936+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[5230] = 2; - HEAP32[5232] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5232] = 1; - HEAP32[5230] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 17936; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 17944; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 17952; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[919] = $34; - HEAPF32[4490] = 0.0; - HEAPF32[(17964)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[5230]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 17952; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17936>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17936+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17952+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[5233] = $49; - HEAP32[5234] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[919]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17936>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17936+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17952+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[5235] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[5233] = 0.0; - HEAPF32[5235] = 0.0; - $$sink10 = 0; - } - HEAP32[5230] = $$sink10; - HEAPF32[4486] = 0.0; - HEAPF32[(17948)>>2] = 0.0; - HEAP32[5231] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[5234]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[5234] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 17968; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[5230]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17936>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17936+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17968>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17968+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[5230] = 8; - } - } - $82 = +HEAPF32[4492]; - $83 = +HEAPF32[4486]; - $84 = $82 - $83; - HEAPF32[4490] = $84; - $85 = +HEAPF32[(17972)>>2]; - $86 = +HEAPF32[(17948)>>2]; - $87 = $85 - $86; - HEAPF32[(17964)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5230]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5231]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5230] = 4; - } - $4 = HEAP32[5230]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[5230] = 0; - return; -} -function _SetCameraMode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$off = 0, $$sroa$024$0$$sroa_idx = 0, $$sroa$024$0$copyload = 0.0, $$sroa$031$0$copyload = 0.0, $$sroa$4$0$$sroa_idx26 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$433$0$$sroa_idx34 = 0, $$sroa$433$0$copyload = 0.0, $$sroa$528$0$$sroa_idx29 = 0, $$sroa$528$0$copyload = 0.0, $$sroa$536$0$$sroa_idx37 = 0, $$sroa$536$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0; - var $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $$sroa$031$0$copyload = +HEAPF32[$0>>2]; - $$sroa$433$0$$sroa_idx34 = ((($0)) + 4|0); - $$sroa$433$0$copyload = +HEAPF32[$$sroa$433$0$$sroa_idx34>>2]; - $$sroa$536$0$$sroa_idx37 = ((($0)) + 8|0); - $$sroa$536$0$copyload = +HEAPF32[$$sroa$536$0$$sroa_idx37>>2]; - $$sroa$024$0$$sroa_idx = ((($0)) + 12|0); - $$sroa$024$0$copyload = +HEAPF32[$$sroa$024$0$$sroa_idx>>2]; - $$sroa$4$0$$sroa_idx26 = ((($0)) + 16|0); - $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx26>>2]; - $$sroa$528$0$$sroa_idx29 = ((($0)) + 20|0); - $$sroa$528$0$copyload = +HEAPF32[$$sroa$528$0$$sroa_idx29>>2]; - $2 = $$sroa$024$0$copyload - $$sroa$031$0$copyload; - $3 = $$sroa$4$0$copyload - $$sroa$433$0$copyload; - $4 = $$sroa$528$0$copyload - $$sroa$536$0$copyload; - $5 = $2 * $2; - $6 = $3 * $3; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $10 = (+Math_sqrt((+$9))); - HEAPF32[5238] = $10; - $11 = $5 + $8; - $12 = (+Math_sqrt((+$11))); - $13 = (+Math_sqrt((+$7))); - $14 = (+Math_abs((+$2))); - $15 = $14 / $12; - $16 = (+Math_asin((+$15))); - HEAPF32[5239] = $16; - $17 = (+Math_abs((+$3))); - $18 = $17 / $13; - $19 = (+Math_asin((+$18))); - $20 = -$19; - HEAPF32[5240] = $20; - $21 = HEAP32[$$sroa$433$0$$sroa_idx34>>2]|0; - HEAP32[920] = $21; - $$off = (($1) + -3)|0; - $22 = ($$off>>>0)<(2); - if ($22) { - _DisableCursor(); - HEAP32[5241] = $1; - return; - } else { - _EnableCursor(); - HEAP32[5241] = $1; - return; - } -} -function _DisableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5242] = 1; - HEAP32[5243] = 1; - return; -} -function _EnableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5242] = 1; - HEAP32[5243] = 0; - return; -} -function _UpdateCamera($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$not = 0, $$not170 = 0, $$pr = 0, $$pr172 = 0, $$sink = 0.0, $$sink15 = 0, $$sink20 = 0.0, $$sink20$p = 0.0, $$sink24 = 0.0, $$sink26 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0; - var $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0; - var $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0; - var $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0; - var $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0; - var $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0; - var $197 = 0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0.0; - var $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0.0; - var $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0; - var $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0; - var $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0, $285 = 0.0, $286 = 0.0; - var $287 = 0.0, $288 = 0, $289 = 0.0, $29 = 0.0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0.0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0.0; - var $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0; - var $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0, $329 = 0.0, $33 = 0.0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0.0, $34 = 0.0; - var $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0.0, $352 = 0, $353 = 0.0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0.0; - var $359 = 0.0, $36 = 0, $360 = 0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; - var $377 = 0, $378 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0; - var $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; - var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0; - var $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0, $99 = 0.0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond169 = 0, $or$cond171 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0; - var $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $1 = sp; - $2 = sp + 8|0; - _GetMousePosition($1); - $3 = (_GetMouseWheelMove()|0); - $4 = HEAP32[921]|0; - $5 = (_IsMouseButtonDown($4)|0); - $6 = HEAP32[922]|0; - $7 = (_IsKeyDown($6)|0); - $8 = HEAP32[923]|0; - $9 = (_IsKeyDown($8)|0); - $10 = HEAP32[924]|0; - $11 = (_IsKeyDown($10)|0); - HEAP32[$2>>2] = $11; - $12 = ((($2)) + 4|0); - $13 = HEAP32[925]|0; - $14 = (_IsKeyDown($13)|0); - HEAP32[$12>>2] = $14; - $15 = ((($2)) + 8|0); - $16 = HEAP32[926]|0; - $17 = (_IsKeyDown($16)|0); - HEAP32[$15>>2] = $17; - $18 = ((($2)) + 12|0); - $19 = HEAP32[927]|0; - $20 = (_IsKeyDown($19)|0); - HEAP32[$18>>2] = $20; - $21 = ((($2)) + 16|0); - $22 = HEAP32[928]|0; - $23 = (_IsKeyDown($22)|0); - HEAP32[$21>>2] = $23; - $24 = ((($2)) + 20|0); - $25 = HEAP32[929]|0; - $26 = (_IsKeyDown($25)|0); - HEAP32[$24>>2] = $26; - $27 = HEAP32[5241]|0; - $28 = ($27|0)==(0); - L1: do { - if ($28) { - label = 47; - } else { - $29 = +HEAPF32[$1>>2]; - $30 = +HEAPF32[4500]; - $31 = $29 - $30; - $32 = ((($1)) + 4|0); - $33 = +HEAPF32[$32>>2]; - $34 = +HEAPF32[(18004)>>2]; - $35 = $33 - $34; - $36 = $1; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = 18000; - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $$pr = HEAP32[5241]|0; - switch ($$pr|0) { - case 1: { - $46 = +HEAPF32[5238]; - $47 = $46 < 120.0; - $48 = ($3|0)<(0); - $or$cond = $48 & $47; - do { - if ($or$cond) { - $49 = (+($3|0)); - $50 = $49 * 1.5; - $51 = $46 - $50; - HEAPF32[5238] = $51; - $52 = $51 > 120.0; - if ($52) { - HEAPF32[5238] = 120.0; - } - } else { - $53 = ((($0)) + 4|0); - $54 = +HEAPF32[$53>>2]; - $55 = ((($0)) + 12|0); - $56 = ((($0)) + 16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 > $57; - $59 = $46 == 120.0; - $or$cond3 = $59 & $58; - $or$cond5 = $48 & $or$cond3; - if ($or$cond5) { - $60 = (+($3|0)); - $61 = +HEAPF32[$55>>2]; - $62 = +HEAPF32[$0>>2]; - $63 = $61 - $62; - $64 = $60 * $63; - $65 = $64 * 1.5; - $66 = $65 / $46; - $67 = $61 + $66; - HEAPF32[$55>>2] = $67; - $68 = $57 - $54; - $69 = $60 * $68; - $70 = $69 * 1.5; - $71 = $70 / $46; - $72 = $57 + $71; - HEAPF32[$56>>2] = $72; - $73 = ((($0)) + 20|0); - $74 = +HEAPF32[$73>>2]; - $75 = ((($0)) + 8|0); - $76 = +HEAPF32[$75>>2]; - $77 = $74 - $76; - $78 = $60 * $77; - $79 = $78 * 1.5; - $80 = $79 / $46; - $81 = $74 + $80; - HEAPF32[$73>>2] = $81; - break; - } - $$not = $58 ^ 1; - $82 = !($57 >= 0.0); - $or$cond169 = $82 | $$not; - if (!($or$cond169)) { - $83 = (+($3|0)); - $84 = +HEAPF32[$55>>2]; - $85 = +HEAPF32[$0>>2]; - $86 = $84 - $85; - $87 = $83 * $86; - $88 = $87 * 1.5; - $89 = $88 / $46; - $90 = $84 + $89; - HEAPF32[$55>>2] = $90; - $91 = $57 - $54; - $92 = $83 * $91; - $93 = $92 * 1.5; - $94 = $93 / $46; - $95 = $57 + $94; - HEAPF32[$56>>2] = $95; - $96 = ((($0)) + 20|0); - $97 = +HEAPF32[$96>>2]; - $98 = ((($0)) + 8|0); - $99 = +HEAPF32[$98>>2]; - $100 = $97 - $99; - $101 = $83 * $100; - $102 = $101 * 1.5; - $103 = $102 / $46; - $104 = $97 + $103; - HEAPF32[$96>>2] = $104; - break; - } - if ($58) { - $105 = $57 < 0.0; - $106 = ($3|0)>(0); - $or$cond7 = $106 & $105; - if ($or$cond7) { - $107 = (+($3|0)); - $108 = $107 * 1.5; - $109 = $46 - $108; - HEAPF32[5238] = $109; - $110 = $109 < 0.30000001192092896; - if (!($110)) { - break; - } - HEAPF32[5238] = 0.30000001192092896; - break; - } - } - $111 = $54 < $57; - $or$cond9 = $59 & $111; - $or$cond11 = $48 & $or$cond9; - $112 = +HEAPF32[$56>>2]; - $113 = +HEAPF32[$53>>2]; - if ($or$cond11) { - $114 = (+($3|0)); - $115 = +HEAPF32[$55>>2]; - $116 = +HEAPF32[$0>>2]; - $117 = $115 - $116; - $118 = $114 * $117; - $119 = $118 * 1.5; - $120 = $119 / $46; - $121 = $115 + $120; - HEAPF32[$55>>2] = $121; - $122 = $112 - $113; - $123 = $114 * $122; - $124 = $123 * 1.5; - $125 = +HEAPF32[5238]; - $126 = $124 / $125; - $127 = $112 + $126; - HEAPF32[$56>>2] = $127; - $128 = ((($0)) + 20|0); - $129 = +HEAPF32[$128>>2]; - $130 = ((($0)) + 8|0); - $131 = +HEAPF32[$130>>2]; - $132 = $129 - $131; - $133 = $114 * $132; - $134 = $133 * 1.5; - $135 = $134 / $125; - $136 = $129 + $135; - HEAPF32[$128>>2] = $136; - break; - } - $$not170 = $111 ^ 1; - $137 = !($57 <= 0.0); - $or$cond171 = $137 | $$not170; - if (!($or$cond171)) { - $138 = (+($3|0)); - $139 = +HEAPF32[$55>>2]; - $140 = +HEAPF32[$0>>2]; - $141 = $139 - $140; - $142 = $138 * $141; - $143 = $142 * 1.5; - $144 = $143 / $46; - $145 = $139 + $144; - HEAPF32[$55>>2] = $145; - $146 = $112 - $113; - $147 = $138 * $146; - $148 = $147 * 1.5; - $149 = +HEAPF32[5238]; - $150 = $148 / $149; - $151 = $112 + $150; - HEAPF32[$56>>2] = $151; - $152 = ((($0)) + 20|0); - $153 = +HEAPF32[$152>>2]; - $154 = ((($0)) + 8|0); - $155 = +HEAPF32[$154>>2]; - $156 = $153 - $155; - $157 = $138 * $156; - $158 = $157 * 1.5; - $159 = $158 / $149; - $160 = $153 + $159; - HEAPF32[$152>>2] = $160; - break; - } - $161 = $113 < $112; - if ($161) { - $162 = $112 > 0.0; - $163 = ($3|0)>(0); - $or$cond13 = $163 & $162; - if ($or$cond13) { - $164 = (+($3|0)); - $165 = $164 * 1.5; - $166 = +HEAPF32[5238]; - $167 = $166 - $165; - HEAPF32[5238] = $167; - $168 = $167 < 0.30000001192092896; - if ($168) { - HEAPF32[5238] = 0.30000001192092896; - } - } - } - } - } while(0); - $169 = ($5|0)==(0); - if ($169) { - label = 47; - break L1; - } - $170 = ($7|0)==(0); - if ($170) { - $183 = $31 * -0.0099999997764825821; - $184 = +HEAPF32[5239]; - $185 = (+Math_cos((+$184))); - $186 = $183 * $185; - $187 = $35 * 0.0099999997764825821; - $188 = (+Math_sin((+$184))); - $189 = $187 * $188; - $190 = +HEAPF32[5240]; - $191 = (+Math_sin((+$190))); - $192 = $189 * $191; - $193 = $186 + $192; - $194 = +HEAPF32[5238]; - $195 = $194 / 5.0999999046325684; - $196 = $193 * $195; - $197 = ((($0)) + 12|0); - $198 = +HEAPF32[$197>>2]; - $199 = $198 + $196; - HEAPF32[$197>>2] = $199; - $200 = (+Math_cos((+$190))); - $201 = $187 * $200; - $202 = $195 * $201; - $203 = ((($0)) + 16|0); - $204 = +HEAPF32[$203>>2]; - $205 = $204 + $202; - HEAPF32[$203>>2] = $205; - $206 = $31 * 0.0099999997764825821; - $207 = $206 * $188; - $208 = $187 * $185; - $209 = $208 * $191; - $210 = $207 + $209; - $211 = $210 * $195; - $212 = ((($0)) + 20|0); - $213 = +HEAPF32[$212>>2]; - $214 = $211 + $213; - HEAPF32[$212>>2] = $214; - label = 47; - break L1; - } - $171 = ($9|0)==(0); - if (!($171)) { - $172 = $35 * 0.05000000074505806; - $173 = +HEAPF32[5238]; - $174 = $172 + $173; - HEAPF32[5238] = $174; - label = 47; - break L1; - } - $175 = $31 * 0.0099999997764825821; - $176 = +HEAPF32[5239]; - $177 = $176 - $175; - HEAPF32[5239] = $177; - $178 = $35 * 0.0099999997764825821; - $179 = +HEAPF32[5240]; - $180 = $179 - $178; - HEAPF32[5240] = $180; - $181 = $180 > 1.483529806137085; - if ($181) { - HEAPF32[5240] = 1.483529806137085; - label = 47; - break L1; - } - $182 = $180 < -1.483529806137085; - if (!($182)) { - label = 47; - break L1; - } - HEAPF32[5240] = -1.483529806137085; - label = 47; - break L1; - break; - } - case 2: { - $215 = +HEAPF32[5239]; - $216 = $215 + 0.0099999997764825821; - HEAPF32[5239] = $216; - $217 = (+($3|0)); - $218 = $217 * 1.5; - $219 = +HEAPF32[5238]; - $220 = $219 - $218; - HEAPF32[5238] = $220; - $221 = $220 < 1.2000000476837158; - if (!($221)) { - label = 47; - break L1; - } - HEAPF32[5238] = 1.2000000476837158; - label = 47; - break L1; - break; - } - case 4: case 3: { - $225 = +HEAPF32[5239]; - $226 = (+Math_sin((+$225))); - $227 = HEAP32[$12>>2]|0; - $228 = (+($227>>>0)); - $229 = $226 * $228; - $230 = HEAP32[$2>>2]|0; - $231 = (+($230>>>0)); - $232 = $226 * $231; - $233 = $229 - $232; - $234 = (+Math_cos((+$225))); - $235 = HEAP32[$18>>2]|0; - $236 = (+($235>>>0)); - $237 = $234 * $236; - $238 = $233 - $237; - $239 = HEAP32[$15>>2]|0; - $240 = (+($239>>>0)); - $241 = $234 * $240; - $242 = $238 + $241; - $243 = $242 / 20.0; - $244 = +HEAPF32[$0>>2]; - $245 = $244 + $243; - HEAPF32[$0>>2] = $245; - $246 = +HEAPF32[5240]; - $247 = (+Math_sin((+$246))); - $248 = $231 * $247; - $249 = $228 * $247; - $250 = $248 - $249; - $251 = HEAP32[$21>>2]|0; - $252 = (+($251>>>0)); - $253 = $250 + $252; - $254 = HEAP32[$24>>2]|0; - $255 = (+($254>>>0)); - $256 = $253 - $255; - $257 = $256 / 20.0; - $258 = ((($0)) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = $259 + $257; - HEAPF32[$258>>2] = $260; - $261 = $228 * $234; - $262 = $234 * $231; - $263 = $261 - $262; - $264 = $226 * $236; - $265 = $263 + $264; - $266 = $226 * $240; - $267 = $265 - $266; - $268 = $267 / 20.0; - $269 = ((($0)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $268 + $270; - HEAPF32[$269>>2] = $271; - $272 = HEAP32[$2>>2]|0; - $273 = ($272|0)==(0); - if ($273) { - $222 = ((($2)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = ($223|0)==(0); - if ($224) { - $368 = ((($2)) + 8|0); - $369 = HEAP32[$368>>2]|0; - $370 = ($369|0)==(0); - if ($370) { - $371 = ((($2)) + 12|0); - $372 = HEAP32[$371>>2]|0; - $373 = ($372|0)==(0); - if ($373) { - $374 = ((($2)) + 16|0); - $375 = HEAP32[$374>>2]|0; - $376 = ($375|0)==(0); - if ($376) { - $377 = ((($2)) + 20|0); - $378 = HEAP32[$377>>2]|0; - $not$ = ($378|0)!=(0); - $$ = $not$&1; - $$0 = $$; - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - $274 = $31 * 0.0030000000260770321; - $275 = +HEAPF32[5239]; - $276 = $275 - $274; - HEAPF32[5239] = $276; - $277 = $35 * 0.0030000000260770321; - $278 = +HEAPF32[5240]; - $279 = $278 - $277; - HEAPF32[5240] = $279; - $280 = HEAP32[5241]|0; - $281 = ($280|0)==(4); - if ($281) { - $282 = $279 > 0.087266460061073303; - if ($282) { - $$sink24 = 0.087266460061073303; - label = 38; - } else { - $283 = $279 < -1.483529806137085; - if ($283) { - $$sink24 = -1.483529806137085; - label = 38; - } - } - if ((label|0) == 38) { - HEAPF32[5240] = $$sink24; - } - $284 = (+($3|0)); - $285 = $284 * 1.5; - $286 = +HEAPF32[5238]; - $287 = $286 - $285; - $288 = $287 < 1.2000000476837158; - $storemerge = $288 ? 1.2000000476837158 : $287; - HEAPF32[5238] = $storemerge; - $289 = +HEAPF32[$0>>2]; - $290 = +HEAPF32[5239]; - $291 = (+Math_cos((+$290))); - $292 = $291 * 0.40000000596046448; - $293 = $289 + $292; - $294 = (+Math_sin((+$290))); - $295 = $294 * 0.0; - $296 = $293 + $295; - $297 = ((($0)) + 12|0); - HEAPF32[$297>>2] = $296; - $298 = +HEAPF32[$258>>2]; - $299 = $298 + 0.0; - $300 = ((($0)) + 16|0); - HEAPF32[$300>>2] = $299; - $301 = +HEAPF32[$269>>2]; - $302 = $295 + $301; - $303 = $294 * 0.40000000596046448; - $304 = $302 - $303; - $$sink = $304;$$sink15 = $297; - } else { - $305 = $279 > 1.483529806137085; - if ($305) { - $$sink26 = 1.483529806137085; - label = 42; - } else { - $306 = $279 < -1.483529806137085; - if ($306) { - $$sink26 = -1.483529806137085; - label = 42; - } - } - if ((label|0) == 42) { - HEAPF32[5240] = $$sink26; - } - $307 = +HEAPF32[$0>>2]; - $308 = +HEAPF32[5239]; - $309 = (+Math_sin((+$308))); - $310 = $309 * 25.0; - $311 = $307 - $310; - $312 = ((($0)) + 12|0); - HEAPF32[$312>>2] = $311; - $313 = +HEAPF32[$258>>2]; - $314 = +HEAPF32[5240]; - $315 = (+Math_sin((+$314))); - $316 = $315 * 25.0; - $317 = $313 + $316; - $318 = ((($0)) + 16|0); - HEAPF32[$318>>2] = $317; - $319 = +HEAPF32[$269>>2]; - $320 = (+Math_cos((+$308))); - $321 = $320 * 25.0; - $322 = $319 - $321; - $323 = ((($0)) + 20|0); - HEAPF32[$323>>2] = $322; - $324 = ($$0|0)==(0); - if (!($324)) { - $325 = HEAP32[5244]|0; - $326 = (($325) + 1)|0; - HEAP32[5244] = $326; - } - $327 = +HEAPF32[920]; - $328 = HEAP32[5244]|0; - $329 = (+($328|0)); - $330 = $329 / 5.0; - $331 = (+Math_sin((+$330))); - $332 = $331 / 30.0; - $333 = $327 - $332; - HEAPF32[$258>>2] = $333; - $334 = $329 / 10.0; - $335 = (+Math_sin((+$334))); - $336 = $335 / 200.0; - $337 = ((($0)) + 24|0); - HEAPF32[$337>>2] = $336; - $338 = -$335; - $339 = $338 / 200.0; - $$sink = $339;$$sink15 = $337; - } - $340 = ((($$sink15)) + 8|0); - HEAPF32[$340>>2] = $$sink; - label = 47; - break L1; - break; - } - default: { - $341 = $$pr; - break L1; - } - } - } - } while(0); - if ((label|0) == 47) { - $$pr172 = HEAP32[5241]|0; - $341 = $$pr172; - } - switch ($341|0) { - case 1: case 2: case 4: { - break; - } - default: { - STACKTOP = sp;return; - } - } - $342 = +HEAPF32[5239]; - $343 = (+Math_sin((+$342))); - $344 = +HEAPF32[5238]; - $345 = $343 * $344; - $346 = +HEAPF32[5240]; - $347 = (+Math_cos((+$346))); - $348 = $345 * $347; - $349 = ((($0)) + 12|0); - $350 = +HEAPF32[$349>>2]; - $351 = $348 + $350; - HEAPF32[$0>>2] = $351; - $352 = !($346 <= 0.0); - $353 = (+Math_sin((+$346))); - $354 = +HEAPF32[5238]; - $355 = ((($0)) + 16|0); - $356 = +HEAPF32[$355>>2]; - $357 = $353 * $354; - $358 = $353 * $357; - $359 = -$358; - $$sink20$p = $352 ? $359 : $358; - $$sink20 = $356 + $$sink20$p; - $360 = ((($0)) + 4|0); - HEAPF32[$360>>2] = $$sink20; - $361 = (+Math_cos((+$342))); - $362 = $354 * $361; - $363 = $347 * $362; - $364 = ((($0)) + 20|0); - $365 = +HEAPF32[$364>>2]; - $366 = $365 + $363; - $367 = ((($0)) + 8|0); - HEAPF32[$367>>2] = $366; - STACKTOP = sp;return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 18008; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _GetMouseWheelMove() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5246]|0; - $1 = (($0|0) / 100)&-1; - return ($1|0); -} -function _IsMouseButtonDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetMouseButtonStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _IsKeyDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetKeyStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _GetKeyStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5245]|0; - $2 = (_glfwGetKey(($1|0),($0|0))|0); - return ($2|0); -} -function _GetMouseButtonStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5245]|0; - $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); - return ($2|0); -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _TraceLog(0,8014,$vararg_buffer); - HEAP32[5247] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_keypress_callback((8043|0),(0|0),1,(6|0))|0); - (_emscripten_set_click_callback((8043|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchstart_callback((8043|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchend_callback((8043|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchmove_callback((8043|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchcancel_callback((8043|0),(0|0),1,(8|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[5248]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[4502] = $5; - $6 = HEAP32[5249]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(18012)>>2] = $8; - $9 = HEAP32[5250]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[5248] = $0; - HEAP32[5249] = $1; - _MatrixIdentity($2); - dest=21020; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,8238,$vararg_buffer); - } - $6 = HEAP32[5248]|0; - HEAP32[5271] = $6; - $7 = HEAP32[5249]|0; - HEAP32[5272] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[21896]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[21896]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[21896]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,8264,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[5273]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[5248]|0; - $48 = HEAP32[5249]|0; - $49 = HEAP32[5247]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5245] = $50; - $51 = HEAP32[5248]|0; - HEAP32[5274] = $51; - $52 = HEAP32[5249]|0; - HEAP32[5275] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[5248]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5249]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[5271] = $31; - HEAP32[5272] = $34; - } - } while(0); - $38 = HEAP32[5271]|0; - $39 = HEAP32[5272]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(1,8289,$vararg_buffer3); - $40 = HEAP32[5271]|0; - $41 = HEAP32[5272]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[5271]|0; - $43 = HEAP32[5272]|0; - $44 = HEAP32[5247]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5245] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(2,8327,$vararg_buffer6); - } else { - _TraceLog(0,8360,$vararg_buffer8); - $55 = HEAP32[5274]|0; - $56 = HEAP32[5275]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,8400,$vararg_buffer10); - $57 = HEAP32[5248]|0; - $58 = HEAP32[5249]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,8421,$vararg_buffer14); - $59 = HEAP32[5276]|0; - $60 = HEAP32[5277]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,8442,$vararg_buffer18); - } - $61 = HEAP32[5245]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5245]|0; - (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5245]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5245]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5245]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5245]|0; - (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5245]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5245]|0; - (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5245]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[21896]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[5248]|0; - $74 = HEAP32[5249]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5274]|0; - $76 = HEAP32[5276]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5275]|0; - $80 = HEAP32[5277]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,8467,$vararg_buffer22); - $73 = HEAP32[5248]|0; - $74 = HEAP32[5249]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5274]|0; - $76 = HEAP32[5276]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5275]|0; - $80 = HEAP32[5277]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[2255] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,8171,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,8102,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,8095)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - $5 = HEAP32[5242]|0; - $6 = ($5|0)!=(0); - $or$cond = $4 & $6; - if (!($or$cond)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - HEAP32[5242] = 0; - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 18024; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (18032); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (21004 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ($0|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[2252] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,8051,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5250] = 0; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5248]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5249]|0; - return ($0|0); -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(1,12023,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[5248]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[5249]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[5274] = $3; - HEAP32[5275] = $5; - HEAP32[5276] = 0; - HEAP32[5277] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,11957,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[5248]|0; - $36 = (+($35|0)); - $37 = HEAP32[5249]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[5274] = $45; - HEAP32[5275] = $37; - $46 = (($45) - ($35))|0; - HEAP32[5276] = $46; - $$sink1 = 0; - } else { - HEAP32[5274] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[5275] = $42; - HEAP32[5276] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[5277] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[5249]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(1,11814,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[5248]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[5249]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[5274] = $23; - HEAP32[5275] = $1; - $24 = (($0) - ($23))|0; - HEAP32[5276] = $24; - $$sink = 0; - } else { - HEAP32[5274] = $0; - $17 = HEAP32[5249]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[5275] = $20; - HEAP32[5276] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[5277] = $$sink; - $25 = HEAP32[5274]|0; - $26 = (+($25|0)); - $27 = HEAP32[5248]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=21020; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5274] = $0; - HEAP32[5275] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(1,11892,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[5248] = $1; - HEAP32[5249] = $2; - HEAP32[5274] = $1; - HEAP32[5275] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[931]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (21903 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[930] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (21897 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 18024; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[930] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[5280] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[5279] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; - var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2528|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2396|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,8490,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,8508,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,8526,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,8544,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$063 = 0;$$sink64 = $14; - while(1) { - $15 = (_strtok($$sink64,8562)|0); - $16 = (($vararg_buffer7) + ($$063<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$063) + 1)|0; - if ($17) { - break; - } else { - $$063 = $18;$$sink64 = 0; - } - } - _free($14); - $19 = (($$063) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,8564,$vararg_buffer10); - $20 = ($$063|0)>(1); - if ($20) { - $$06268 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06268<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,8599)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[4802] = 1; - $27 = (_eglGetProcAddress((8626|0))|0); - HEAP32[5228] = $27; - $28 = (_eglGetProcAddress((8647|0))|0); - HEAP32[4803] = $28; - $29 = (_eglGetProcAddress((8668|0))|0); - HEAP32[5229] = $29; - } - $30 = (_strcmp($24,8692)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[4690] = 1; - } - $32 = (_strcmp($24,8712)|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP32[4689] = 1; - } - $34 = (_strcmp($24,8730)|0); - $35 = ($34|0)==(0); - if ($35) { - label = 14; - } else { - $36 = HEAP32[$23>>2]|0; - $37 = (_strcmp($36,8762)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 14; - } else { - $39 = (_strcmp($36,8795)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 14; - } - } - } - if ((label|0) == 14) { - label = 0; - HEAP32[4684] = 1; - } - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,8835)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 17; - } else { - $44 = (_strcmp($41,8871)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - HEAP32[4685] = 1; - } - $46 = (_strcmp($41,8904)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[4686] = 1; - } - $48 = HEAP32[$23>>2]|0; - $49 = (_strcmp($48,8929)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[4687] = 1; - } - $51 = (_strcmp($48,8962)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[4688] = 1; - } - $53 = (_strcmp($48,8998)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP32[5278] = 1; - _glGetFloatv(34047,(18768|0)); - } - $55 = (_strcmp($48,9032)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[4691] = 1; - } - $57 = (($$06268) + 1)|0; - $exitcond71 = ($57|0)==($19|0); - if ($exitcond71) { - break; - } else { - $$06268 = $57; - } - } - } - $21 = HEAP32[4802]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(1,9135,$vararg_buffer15); - } else { - _TraceLog(0,9060,$vararg_buffer13); - } - $58 = HEAP32[4690]|0; - $59 = ($58|0)==(0); - if ($59) { - _TraceLog(1,9271,$vararg_buffer19); - } else { - _TraceLog(0,9196,$vararg_buffer17); - } - $60 = HEAP32[4684]|0; - $61 = ($60|0)==(0); - if (!($61)) { - _TraceLog(0,9363,$vararg_buffer21); - } - $62 = HEAP32[4685]|0; - $63 = ($62|0)==(0); - if (!($63)) { - _TraceLog(0,9409,$vararg_buffer23); - } - $64 = HEAP32[4686]|0; - $65 = ($64|0)==(0); - if (!($65)) { - _TraceLog(0,9456,$vararg_buffer25); - } - $66 = HEAP32[4687]|0; - $67 = ($66|0)==(0); - if (!($67)) { - _TraceLog(0,9507,$vararg_buffer27); - } - $68 = HEAP32[4688]|0; - $69 = ($68|0)==(0); - if (!($69)) { - _TraceLog(0,9554,$vararg_buffer29); - } - $70 = HEAP32[5278]|0; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = +HEAPF32[4692]; - $73 = $72; - HEAPF64[$vararg_buffer31>>3] = $73; - _TraceLog(0,9601,$vararg_buffer31); - } - $74 = HEAP32[4691]|0; - $75 = ($74|0)==(0); - if (!($75)) { - _TraceLog(0,9667,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $76 = (_rlLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4743] = $76; - $77 = ($76|0)==(0); - if ($77) { - _TraceLog(1,9771,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $76; - _TraceLog(0,9720,$vararg_buffer36); - } - _LoadShaderDefault($2); - _memcpy((20780|0),($2|0),132)|0; - _memcpy((19076|0),($2|0),132)|0; - _LoadBuffersDefault(); - $78 = (_malloc(49152)|0); - HEAP32[5190] = $78; - $$06167 = 0; - while(1) { - $80 = HEAP32[5190]|0; - $81 = (($80) + (($$06167*12)|0)|0); - _Vector3Zero($3); - ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; - $82 = (($$06167) + 1)|0; - $exitcond70 = ($82|0)==(4096); - if ($exitcond70) { - break; - } else { - $$06167 = $82; - } - } - $79 = (_malloc(36864)|0); - HEAP32[4744] = $79; - $$06066 = 0; - while(1) { - $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($79) + (($$06066*144)|0)|0); - HEAP32[$84>>2] = 0; - $85 = (($$06066) + 1)|0; - $exitcond = ($85|0)==(256); - if ($exitcond) { - break; - } else { - $$06066 = $85; - } - } - HEAP32[4742] = 1; - $86 = HEAP32[4743]|0; - $87 = ((($79)) + 8|0); - HEAP32[$87>>2] = $86; - HEAP32[5191] = 4; - _MatrixIdentity($4); - dest=19724; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19788); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19852); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19916); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19980); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20044); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20108); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20172); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20236); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20300); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20364); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20428); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20492); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20556); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20620); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20684); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=18836; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=18900; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5187] = 18900; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[4820] = $0; - HEAP32[4821] = $1; - _TraceLog(0,9810,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5276]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5277]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5274]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[5275]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 18836; - label = 3; - break; - } - case 5888: { - $modelview$sink = 18900; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[5187] = $modelview$sink; - } - HEAP32[5192] = $0; - return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5187]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _LoadShaderDefault($0) { - $0 = $0|0; - var $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx9 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx11 = 0, $$sroa$14 = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$1415$0 = 0, $$sroa$1415$0$$sroa_idx16 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx18 = 0, $$sroa$16 = 0, $$sroa$16$0$$sroa_idx = 0, $$sroa$1622$0 = 0, $$sroa$1622$0$$sroa_idx23 = 0, $$sroa$1727$0 = 0, $$sroa$1727$0$$sroa_idx28 = 0, $$sroa$18 = 0, $$sroa$18$0$$sroa_idx = 0, $1 = 0, $10 = 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $$sroa$14 = sp + 96|0; - $$sroa$16 = sp + 80|0; - $$sroa$18 = sp + 12|0; - $1 = sp + 549|0; - $2 = sp + 108|0; - _memcpy(($1|0),(10386|0),483)|0; - _memcpy(($2|0),(10869|0),441)|0; - $3 = (_LoadShaderProgram($1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - HEAP32[$vararg_buffer1>>2] = $3; - _TraceLog(1,11424,$vararg_buffer1); - $$sroa$12$0 = 0;$$sroa$13$0 = 0;$$sroa$1415$0 = 0;$$sroa$15$0 = 0;$$sroa$1622$0 = 0;$$sroa$1727$0 = 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,11310,$vararg_buffer); - $5 = (_glGetAttribLocation(($3|0),(11358|0))|0); - $6 = (_glGetAttribLocation(($3|0),(11373|0))|0); - $7 = (_glGetAttribLocation(($3|0),(11388|0))|0); - $8 = (_glGetUniformLocation(($3|0),(11400|0))|0); - $9 = (_glGetUniformLocation(($3|0),(11404|0))|0); - $10 = (_glGetUniformLocation(($3|0),(11415|0))|0); - $$sroa$12$0 = $5;$$sroa$13$0 = $6;$$sroa$1415$0 = $7;$$sroa$15$0 = $8;$$sroa$1622$0 = $9;$$sroa$1727$0 = $10; - } - HEAP32[$0>>2] = $3; - $$sroa$12$0$$sroa_idx9 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx9>>2] = $$sroa$12$0; - $$sroa$13$0$$sroa_idx11 = ((($0)) + 8|0); - HEAP32[$$sroa$13$0$$sroa_idx11>>2] = $$sroa$13$0; - $$sroa$14$0$$sroa_idx = ((($0)) + 12|0); - ;HEAP32[$$sroa$14$0$$sroa_idx>>2]=HEAP32[$$sroa$14>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+4>>2]=HEAP32[$$sroa$14+4>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+8>>2]=HEAP32[$$sroa$14+8>>2]|0; - $$sroa$1415$0$$sroa_idx16 = ((($0)) + 24|0); - HEAP32[$$sroa$1415$0$$sroa_idx16>>2] = $$sroa$1415$0; - $$sroa$15$0$$sroa_idx18 = ((($0)) + 28|0); - HEAP32[$$sroa$15$0$$sroa_idx18>>2] = $$sroa$15$0; - $$sroa$16$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$$sroa$16$0$$sroa_idx>>2]=HEAP32[$$sroa$16>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+4>>2]=HEAP32[$$sroa$16+4>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+8>>2]=HEAP32[$$sroa$16+8>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+12>>2]=HEAP32[$$sroa$16+12>>2]|0; - $$sroa$1622$0$$sroa_idx23 = ((($0)) + 48|0); - HEAP32[$$sroa$1622$0$$sroa_idx23>>2] = $$sroa$1622$0; - $$sroa$1727$0$$sroa_idx28 = ((($0)) + 60|0); - HEAP32[$$sroa$1727$0$$sroa_idx28>>2] = $$sroa$1727$0; - $$sroa$18$0$$sroa_idx = ((($0)) + 64|0); - dest=$$sroa$18$0$$sroa_idx; src=$$sroa$18; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadBuffersDefault() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(18992)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(19000)>>2] = $1; - HEAP32[(18996)>>2] = 0; - HEAP32[(19004)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(19000)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[4745] = 0; - HEAP32[(18988)>>2] = 0; - HEAP32[(18984)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(19040)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(19048)>>2] = $6; - HEAP32[(19044)>>2] = 0; - HEAP32[(19052)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(19048)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[4757] = 0; - HEAP32[(19036)>>2] = 0; - HEAP32[(19032)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(18800)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(18804)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(18808)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(18812)>>2] = $13; - $14 = HEAP32[(18800)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18804)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(18808)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(18812)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[4697] = 0; - HEAP32[(18792)>>2] = 0; - HEAP32[(18796)>>2] = 0; - _TraceLog(0,9857,$vararg_buffer); - $20 = HEAP32[4802]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[5228]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19008)); - $44 = HEAP32[4803]|0; - $45 = HEAP32[(19008)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((19012)|0)); - $46 = HEAP32[(19012)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18992)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19080)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19080)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19016)|0)); - $50 = HEAP32[(19016)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19000)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19100)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19100)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4802]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(19012)>>2]|0; - $58 = HEAP32[(19016)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,9995,$vararg_buffer3); - } else { - $56 = HEAP32[(19008)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,9930,$vararg_buffer1); - } - $59 = HEAP32[4802]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[5228]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19056)); - $62 = HEAP32[4803]|0; - $63 = HEAP32[(19056)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((19060)|0)); - $64 = HEAP32[(19060)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19040)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19080)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19080)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19064)|0)); - $68 = HEAP32[(19064)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19048)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19100)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19100)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4802]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(19060)>>2]|0; - $76 = HEAP32[(19064)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,10141,$vararg_buffer10); - } else { - $74 = HEAP32[(19056)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,10072,$vararg_buffer7); - } - $77 = HEAP32[4802]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[5228]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18816)); - $80 = HEAP32[4803]|0; - $81 = HEAP32[(18816)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((18820)|0)); - $82 = HEAP32[(18820)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18800)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19080)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19080)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18824)|0)); - $86 = HEAP32[(18824)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18804)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19084)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19084)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18828)|0)); - $90 = HEAP32[(18828)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18808)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19100)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19100)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18832)|0)); - $94 = HEAP32[(18832)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18812)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4802]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(18820)>>2]|0; - $100 = HEAP32[(18824)>>2]|0; - $101 = HEAP32[(18828)>>2]|0; - $102 = HEAP32[(18832)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,10287,$vararg_buffer17); - } else { - $98 = HEAP32[(18816)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,10222,$vararg_buffer14); - } - $103 = HEAP32[4802]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[4803]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,11524,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(1,11472,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,11521,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,11625,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(1,11574,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,11521,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(11358|0)); - _glBindAttribLocation(($20|0),1,(11373|0)); - _glBindAttribLocation(($20|0),2,(11677|0)); - _glBindAttribLocation(($20|0),3,(11388|0)); - _glBindAttribLocation(($20|0),4,(11690|0)); - _glBindAttribLocation(($20|0),5,(11704|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(1,11720,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,11521,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,11766,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (21897 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (21900 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (21897 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (21900 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[5245]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,12061,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadShaderDefault(); - _UnloadBuffersDefault(); - _glDeleteTextures(1,(18972|0)); - $0 = HEAP32[4743]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,12088,$vararg_buffer); - $1 = HEAP32[4744]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadShaderDefault() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[5195]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4802]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4803]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19012)|0)); - _glDeleteBuffers(1,((19016)|0)); - _glDeleteBuffers(1,((19060)|0)); - _glDeleteBuffers(1,((19064)|0)); - _glDeleteBuffers(1,((18820)|0)); - _glDeleteBuffers(1,((18824)|0)); - _glDeleteBuffers(1,((18828)|0)); - _glDeleteBuffers(1,((18832)|0)); - $3 = HEAP32[4802]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5229]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19008)); - $6 = HEAP32[5229]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19056)); - $7 = HEAP32[5229]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18816)); - } - $8 = HEAP32[(18992)>>2]|0; - _free($8); - $9 = HEAP32[(19000)>>2]|0; - _free($9); - $10 = HEAP32[(19040)>>2]|0; - _free($10); - $11 = HEAP32[(19048)>>2]|0; - _free($11); - $12 = HEAP32[(18800)>>2]|0; - _free($12); - $13 = HEAP32[(18804)>>2]|0; - _free($13); - $14 = HEAP32[(18808)>>2]|0; - _free($14); - $15 = HEAP32[(18812)>>2]|0; - _free($15); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[2256] = $0; - $1 = +HEAPF64[2255]; - $2 = $0 - $1; - HEAPF64[2257] = $2; - HEAPF64[2255] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=21020; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19216); - STACKTOP = sp;return; -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 32|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 48|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 52|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 24|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 56|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 12|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[5187]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[2256] = $0; - $1 = +HEAPF64[2255]; - $2 = $0 - $1; - HEAPF64[2258] = $2; - HEAPF64[2255] = $0; - $3 = +HEAPF64[2257]; - $4 = $2 + $3; - HEAPF64[2241] = $4; - $5 = +HEAPF64[2252]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[2256] = $10; - $11 = +HEAPF64[2255]; - $12 = $10 - $11; - HEAPF64[2255] = $10; - $13 = +HEAPF64[2241]; - $14 = $12 + $13; - HEAPF64[2241] = $14; - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5245]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[930] = -1; - HEAP32[932] = -1; - HEAP32[5281] = 0; - $3 = HEAP32[5245]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[4502] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(18012)>>2] = $7; - _memcpy((22415|0),(21903|0),512)|0; - ;HEAP8[21900>>0]=HEAP8[21897>>0]|0;HEAP8[21900+1>>0]=HEAP8[21897+1>>0]|0;HEAP8[21900+2>>0]=HEAP8[21897+2>>0]|0; - $8 = HEAP32[5280]|0; - HEAP32[5246] = $8; - HEAP32[5280] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (22927 + ($$05160<<5)|0); - $scevgep67 = (23055 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((23055 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[932] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((21128 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[5281] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[5248]|0; - $3 = (+($2|0)); - $4 = HEAP32[5249]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 0.5; - $11 = $10 * 0.01745329238474369; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(19216); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5187]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12153)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12157)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12161)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12165)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12171)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12209)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 12228; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12241)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 12262; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12277)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 12292; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12307)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 12322; - } - } else { - HEAP32[$3>>2] = 12193; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12337)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12351)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 3; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12363)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 7; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12377)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 8; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12389)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 9; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12403)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 10; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12417)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 11; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12434)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12457)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12483)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12496)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12512)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12525)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 12; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12539)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12559)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12579)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12596)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12613)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 4; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12625)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 13; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12638)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 14; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12654)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12677)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12690)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12706)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 5; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12717)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 15; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12736)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 16; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12758)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 17; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12777)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12806)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 6; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12823)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12838)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12853)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12874)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12894)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12914)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12940)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12959)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12971)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12983)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12995)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13007)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 18; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13019)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13031)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13043)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13055)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13068)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13081)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13094)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13107)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13120)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13133)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13146)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13159)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13178)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13197)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13216)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 19; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13229)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 20; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13247)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 21; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13265)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 22; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13283)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 23; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13301)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13321)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12262)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 7; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13339)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13354)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13375)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13390)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13408)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13424)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13443)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13457)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13472)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 8; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12193)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13483)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12292)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 24; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12322)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 25; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13499)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13526)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13540)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12228)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13560)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13578)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 9; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13590)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13611)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 26; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13629)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 27; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13647)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 28; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13668)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13694)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13717)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13755)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 10; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13771)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13786)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13809)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13822)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 29; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13836)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 30; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13850)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13870)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13890)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13906)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13924)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13940)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13955)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13977)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 31; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13995)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 32; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14016)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14034)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14047)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14062)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14076)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14086)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14096)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14118)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14144)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14171)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14184)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14199)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14214)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14238)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14249)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 33; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14271)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14293)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14317)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14326)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14334)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14347)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14361)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14373)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14382)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14392)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14404)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14415)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14423)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14435)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14450)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14462)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14476)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 11; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14501)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14518)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14534)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14550)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 12; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14562)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 34; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14574)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 35; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14598)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14611)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14625)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 36; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14647)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 37; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14654)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14670)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14687)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14704)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14720)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14736)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14753)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14767)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14779)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14790)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14803)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14813)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14830)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14842)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14864)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14884)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14897)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14919)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14939)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14956)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14973)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14993)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 38; - break; - } - } else { - HEAP32[$1>>2] = 6; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ($0>>>0)<(245); - do { - if ($2) { - $3 = ($0>>>0)<(11); - $4 = (($0) + 11)|0; - $5 = $4 & -8; - $6 = $3 ? 16 : $5; - $7 = $6 >>> 3; - $8 = HEAP32[5314]|0; - $9 = $8 >>> $7; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if (!($11)) { - $12 = $9 & 1; - $13 = $12 ^ 1; - $14 = (($13) + ($7))|0; - $15 = $14 << 1; - $16 = (21296 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[5314] = $24; - } else { - $25 = HEAP32[(21272)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(21264)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (21296 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[5314] = $77; - $98 = $77; - } else { - $78 = HEAP32[(21272)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(21276)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (21296 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[5314] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21272)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(21264)>>2] = $84; - HEAP32[(21276)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(21260)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (21560 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(21272)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (21560 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(21260)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(21272)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(21272)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(21272)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(21276)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (21296 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[5314] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21272)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(21264)>>2] = $$0193$lcssa$i; - HEAP32[(21276)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(21260)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (21560 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (21560 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(21264)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(21272)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (21560 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(21260)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(21272)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(21272)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(21272)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (21296 + ($425<<2)|0); - $427 = HEAP32[5314]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[5314] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21272)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (21560 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(21260)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(21272)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21272)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(21264)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21276)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(21276)>>2] = $511; - HEAP32[(21264)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(21264)>>2] = 0; - HEAP32[(21276)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(21268)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(21268)>>2] = $526; - $527 = HEAP32[(21280)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(21280)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[5432]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(21736)>>2] = 4096; - HEAP32[(21732)>>2] = 4096; - HEAP32[(21740)>>2] = -1; - HEAP32[(21744)>>2] = -1; - HEAP32[(21748)>>2] = 0; - HEAP32[(21700)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[5432] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(21736)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(21696)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(21688)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(21700)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(21280)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (21704); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(21732)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21688)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(21696)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(21736)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(21700)>>2]|0; - $612 = $611 | 4; - HEAP32[(21700)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(21688)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(21688)>>2] = $627; - $628 = HEAP32[(21692)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(21692)>>2] = $627; - } - $630 = HEAP32[(21280)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(21272)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(21272)>>2] = $$749$i; - } - HEAP32[(21704)>>2] = $$749$i; - HEAP32[(21708)>>2] = $$723948$i; - HEAP32[(21716)>>2] = 0; - $635 = HEAP32[5432]|0; - HEAP32[(21292)>>2] = $635; - HEAP32[(21288)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (21296 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(21280)>>2] = $649; - HEAP32[(21268)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(21744)>>2]|0; - HEAP32[(21284)>>2] = $655; - } else { - $$024371$i = (21704); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(21268)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(21280)>>2] = $679; - HEAP32[(21268)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(21744)>>2]|0; - HEAP32[(21284)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(21272)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(21272)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21704); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(21268)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(21268)>>2] = $727; - HEAP32[(21280)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(21276)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(21264)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(21264)>>2] = $733; - HEAP32[(21276)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (21296 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[5314]|0; - $760 = $759 & $758; - HEAP32[5314] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (21560 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(21260)>>2]|0; - $803 = $802 & $801; - HEAP32[(21260)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(21272)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(21272)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(21272)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (21296 + ($836<<2)|0); - $838 = HEAP32[5314]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[5314] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21272)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (21560 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(21260)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(21260)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(21272)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21272)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (21704); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(21280)>>2] = $946; - HEAP32[(21268)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(21744)>>2]|0; - HEAP32[(21284)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21704)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21704)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21704)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21704)+12>>2]|0; - HEAP32[(21704)>>2] = $$749$i; - HEAP32[(21708)>>2] = $$723948$i; - HEAP32[(21716)>>2] = 0; - HEAP32[(21712)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (21296 + ($968<<2)|0); - $970 = HEAP32[5314]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[5314] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21272)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (21560 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21260)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(21260)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(21272)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21272)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(21268)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(21268)>>2] = $1050; - $1051 = HEAP32[(21280)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(21280)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(21272)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(21276)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(21264)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (21296 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[5314]|0; - $38 = $37 & $36; - HEAP32[5314] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (21560 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(21260)>>2]|0; - $81 = $80 & $79; - HEAP32[(21260)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(21272)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(21272)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(21272)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(21280)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(21276)>>2]|0; - if ($121) { - $123 = HEAP32[(21268)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(21268)>>2] = $124; - HEAP32[(21280)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(21276)>>2] = 0; - HEAP32[(21264)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(21264)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(21264)>>2] = $130; - HEAP32[(21276)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (21296 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(21272)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[5314]|0; - $154 = $153 & $152; - HEAP32[5314] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(21272)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(21272)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21272)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (21560 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(21260)>>2]|0; - $200 = $199 & $198; - HEAP32[(21260)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(21272)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(21272)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(21272)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(21276)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(21264)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (21296 + ($234<<2)|0); - $236 = HEAP32[5314]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[5314] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21272)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (21560 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(21260)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(21260)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(21272)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21272)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(21288)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(21288)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (21712); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(21288)>>2] = -1; - return; -} -function _realloc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = (_malloc($1)|0); - $$1 = $3; - return ($$1|0); - } - $4 = ($1>>>0)>(4294967231); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 12; - $$1 = 0; - return ($$1|0); - } - $6 = ($1>>>0)<(11); - $7 = (($1) + 11)|0; - $8 = $7 & -8; - $9 = $6 ? 16 : $8; - $10 = ((($0)) + -8|0); - $11 = (_try_realloc_chunk($10,$9)|0); - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = ((($11)) + 8|0); - $$1 = $13; - return ($$1|0); - } - $14 = (_malloc($1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$1 = 0; - return ($$1|0); - } - $16 = ((($0)) + -4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & -8; - $19 = $17 & 3; - $20 = ($19|0)==(0); - $21 = $20 ? 8 : 4; - $22 = (($18) - ($21))|0; - $23 = ($22>>>0)<($1>>>0); - $24 = $23 ? $22 : $1; - _memcpy(($14|0),($0|0),($24|0))|0; - _free($0); - $$1 = $14; - return ($$1|0); -} -function _try_realloc_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -8; - $5 = (($0) + ($4)|0); - $6 = HEAP32[(21272)>>2]|0; - $7 = $3 & 3; - $notlhs = ($0>>>0)>=($6>>>0); - $notrhs = ($7|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $8 = ($0>>>0)<($5>>>0); - $or$cond3 = $or$cond$not & $8; - if (!($or$cond3)) { - _abort(); - // unreachable; - } - $9 = ((($5)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($7|0)==(0); - if ($13) { - $14 = ($1>>>0)<(256); - if ($14) { - $$2 = 0; - return ($$2|0); - } - $15 = (($1) + 4)|0; - $16 = ($4>>>0)<($15>>>0); - if (!($16)) { - $17 = (($4) - ($1))|0; - $18 = HEAP32[(21736)>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $$2 = $0; - return ($$2|0); - } - } - $$2 = 0; - return ($$2|0); - } - $21 = ($4>>>0)<($1>>>0); - if (!($21)) { - $22 = (($4) - ($1))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $$2 = $0; - return ($$2|0); - } - $24 = (($0) + ($1)|0); - $25 = $3 & 1; - $26 = $25 | $1; - $27 = $26 | 2; - HEAP32[$2>>2] = $27; - $28 = ((($24)) + 4|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = (($24) + ($22)|0); - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - _dispose_chunk($24,$22); - $$2 = $0; - return ($$2|0); - } - $34 = HEAP32[(21280)>>2]|0; - $35 = ($5|0)==($34|0); - if ($35) { - $36 = HEAP32[(21268)>>2]|0; - $37 = (($36) + ($4))|0; - $38 = ($37>>>0)>($1>>>0); - $39 = (($37) - ($1))|0; - $40 = (($0) + ($1)|0); - if (!($38)) { - $$2 = 0; - return ($$2|0); - } - $41 = $39 | 1; - $42 = ((($40)) + 4|0); - $43 = $3 & 1; - $44 = $43 | $1; - $45 = $44 | 2; - HEAP32[$2>>2] = $45; - HEAP32[$42>>2] = $41; - HEAP32[(21280)>>2] = $40; - HEAP32[(21268)>>2] = $39; - $$2 = $0; - return ($$2|0); - } - $46 = HEAP32[(21276)>>2]|0; - $47 = ($5|0)==($46|0); - if ($47) { - $48 = HEAP32[(21264)>>2]|0; - $49 = (($48) + ($4))|0; - $50 = ($49>>>0)<($1>>>0); - if ($50) { - $$2 = 0; - return ($$2|0); - } - $51 = (($49) - ($1))|0; - $52 = ($51>>>0)>(15); - $53 = $3 & 1; - if ($52) { - $54 = (($0) + ($1)|0); - $55 = (($54) + ($51)|0); - $56 = $53 | $1; - $57 = $56 | 2; - HEAP32[$2>>2] = $57; - $58 = ((($54)) + 4|0); - $59 = $51 | 1; - HEAP32[$58>>2] = $59; - HEAP32[$55>>2] = $51; - $60 = ((($55)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 & -2; - HEAP32[$60>>2] = $62; - $storemerge = $54;$storemerge1 = $51; - } else { - $63 = $53 | $49; - $64 = $63 | 2; - HEAP32[$2>>2] = $64; - $65 = (($0) + ($49)|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | 1; - HEAP32[$66>>2] = $68; - $storemerge = 0;$storemerge1 = 0; - } - HEAP32[(21264)>>2] = $storemerge1; - HEAP32[(21276)>>2] = $storemerge; - $$2 = $0; - return ($$2|0); - } - $69 = $10 & 2; - $70 = ($69|0)==(0); - if (!($70)) { - $$2 = 0; - return ($$2|0); - } - $71 = $10 & -8; - $72 = (($71) + ($4))|0; - $73 = ($72>>>0)<($1>>>0); - if ($73) { - $$2 = 0; - return ($$2|0); - } - $74 = (($72) - ($1))|0; - $75 = $10 >>> 3; - $76 = ($10>>>0)<(256); - L49: do { - if ($76) { - $77 = ((($5)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($5)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = $75 << 1; - $82 = (21296 + ($81<<2)|0); - $83 = ($78|0)==($82|0); - if (!($83)) { - $84 = ($78>>>0)<($6>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($78)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==($5|0); - if (!($87)) { - _abort(); - // unreachable; - } - } - $88 = ($80|0)==($78|0); - if ($88) { - $89 = 1 << $75; - $90 = $89 ^ -1; - $91 = HEAP32[5314]|0; - $92 = $91 & $90; - HEAP32[5314] = $92; - break; - } - $93 = ($80|0)==($82|0); - if ($93) { - $$pre = ((($80)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $94 = ($80>>>0)<($6>>>0); - if ($94) { - _abort(); - // unreachable; - } - $95 = ((($80)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==($5|0); - if ($97) { - $$pre$phiZ2D = $95; - } else { - _abort(); - // unreachable; - } - } - $98 = ((($78)) + 12|0); - HEAP32[$98>>2] = $80; - HEAP32[$$pre$phiZ2D>>2] = $78; - } else { - $99 = ((($5)) + 24|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($5)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)==($5|0); - do { - if ($103) { - $113 = ((($5)) + 16|0); - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $117 = HEAP32[$113>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - $$3 = 0; - break; - } else { - $$1272 = $117;$$1275 = $113; - } - } else { - $$1272 = $115;$$1275 = $114; - } - while(1) { - $119 = ((($$1272)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)==(0|0); - if (!($121)) { - $$1272 = $120;$$1275 = $119; - continue; - } - $122 = ((($$1272)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break; - } else { - $$1272 = $123;$$1275 = $122; - } - } - $125 = ($$1275>>>0)<($6>>>0); - if ($125) { - _abort(); - // unreachable; - } else { - HEAP32[$$1275>>2] = 0; - $$3 = $$1272; - break; - } - } else { - $104 = ((($5)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105>>>0)<($6>>>0); - if ($106) { - _abort(); - // unreachable; - } - $107 = ((($105)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==($5|0); - if (!($109)) { - _abort(); - // unreachable; - } - $110 = ((($102)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==($5|0); - if ($112) { - HEAP32[$107>>2] = $102; - HEAP32[$110>>2] = $105; - $$3 = $102; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $126 = ($100|0)==(0|0); - if (!($126)) { - $127 = ((($5)) + 28|0); - $128 = HEAP32[$127>>2]|0; - $129 = (21560 + ($128<<2)|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($5|0)==($130|0); - do { - if ($131) { - HEAP32[$129>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $132 = 1 << $128; - $133 = $132 ^ -1; - $134 = HEAP32[(21260)>>2]|0; - $135 = $134 & $133; - HEAP32[(21260)>>2] = $135; - break L49; - } - } else { - $136 = HEAP32[(21272)>>2]|0; - $137 = ($100>>>0)<($136>>>0); - if ($137) { - _abort(); - // unreachable; - } else { - $138 = ((($100)) + 16|0); - $139 = HEAP32[$138>>2]|0; - $not$ = ($139|0)!=($5|0); - $$sink1 = $not$&1; - $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); - HEAP32[$140>>2] = $$3; - $141 = ($$3|0)==(0|0); - if ($141) { - break L49; - } else { - break; - } - } - } - } while(0); - $142 = HEAP32[(21272)>>2]|0; - $143 = ($$3>>>0)<($142>>>0); - if ($143) { - _abort(); - // unreachable; - } - $144 = ((($$3)) + 24|0); - HEAP32[$144>>2] = $100; - $145 = ((($5)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==(0|0); - do { - if (!($147)) { - $148 = ($146>>>0)<($142>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = ((($$3)) + 16|0); - HEAP32[$149>>2] = $146; - $150 = ((($146)) + 24|0); - HEAP32[$150>>2] = $$3; - break; - } - } - } while(0); - $151 = ((($145)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[(21272)>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = ((($$3)) + 20|0); - HEAP32[$156>>2] = $152; - $157 = ((($152)) + 24|0); - HEAP32[$157>>2] = $$3; - break; - } - } - } - } - } while(0); - $158 = ($74>>>0)<(16); - $159 = $3 & 1; - if ($158) { - $160 = $72 | $159; - $161 = $160 | 2; - HEAP32[$2>>2] = $161; - $162 = (($0) + ($72)|0); - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $$2 = $0; - return ($$2|0); - } else { - $166 = (($0) + ($1)|0); - $167 = $159 | $1; - $168 = $167 | 2; - HEAP32[$2>>2] = $168; - $169 = ((($166)) + 4|0); - $170 = $74 | 3; - HEAP32[$169>>2] = $170; - $171 = (($166) + ($74)|0); - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 | 1; - HEAP32[$172>>2] = $174; - _dispose_chunk($166,$74); - $$2 = $0; - return ($$2|0); - } - return (0)|0; -} -function _dispose_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; - var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0) + ($1)|0); - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = $4 & 3; - $9 = ($8|0)==(0); - if ($9) { - return; - } - $10 = (0 - ($7))|0; - $11 = (($0) + ($10)|0); - $12 = (($7) + ($1))|0; - $13 = HEAP32[(21272)>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - _abort(); - // unreachable; - } - $15 = HEAP32[(21276)>>2]|0; - $16 = ($11|0)==($15|0); - if ($16) { - $100 = ((($2)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$1 = $11;$$1418 = $12; - break; - } - $104 = (($11) + ($12)|0); - $105 = ((($11)) + 4|0); - $106 = $12 | 1; - $107 = $101 & -2; - HEAP32[(21264)>>2] = $12; - HEAP32[$100>>2] = $107; - HEAP32[$105>>2] = $106; - HEAP32[$104>>2] = $12; - return; - } - $17 = $7 >>> 3; - $18 = ($7>>>0)<(256); - if ($18) { - $19 = ((($11)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($11)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = $17 << 1; - $24 = (21296 + ($23<<2)|0); - $25 = ($20|0)==($24|0); - if (!($25)) { - $26 = ($20>>>0)<($13>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($11|0); - if (!($29)) { - _abort(); - // unreachable; - } - } - $30 = ($22|0)==($20|0); - if ($30) { - $31 = 1 << $17; - $32 = $31 ^ -1; - $33 = HEAP32[5314]|0; - $34 = $33 & $32; - HEAP32[5314] = $34; - $$1 = $11;$$1418 = $12; - break; - } - $35 = ($22|0)==($24|0); - if ($35) { - $$pre25 = ((($22)) + 8|0); - $$pre$phi26Z2D = $$pre25; - } else { - $36 = ($22>>>0)<($13>>>0); - if ($36) { - _abort(); - // unreachable; - } - $37 = ((($22)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==($11|0); - if ($39) { - $$pre$phi26Z2D = $37; - } else { - _abort(); - // unreachable; - } - } - $40 = ((($20)) + 12|0); - HEAP32[$40>>2] = $22; - HEAP32[$$pre$phi26Z2D>>2] = $20; - $$1 = $11;$$1418 = $12; - break; - } - $41 = ((($11)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($11)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==($11|0); - do { - if ($45) { - $55 = ((($11)) + 16|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $59 = HEAP32[$55>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - $$3 = 0; - break; - } else { - $$1426 = $59;$$1429 = $55; - } - } else { - $$1426 = $57;$$1429 = $56; - } - while(1) { - $61 = ((($$1426)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $$1426 = $62;$$1429 = $61; - continue; - } - $64 = ((($$1426)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - break; - } else { - $$1426 = $65;$$1429 = $64; - } - } - $67 = ($$1429>>>0)<($13>>>0); - if ($67) { - _abort(); - // unreachable; - } else { - HEAP32[$$1429>>2] = 0; - $$3 = $$1426; - break; - } - } else { - $46 = ((($11)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47>>>0)<($13>>>0); - if ($48) { - _abort(); - // unreachable; - } - $49 = ((($47)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==($11|0); - if (!($51)) { - _abort(); - // unreachable; - } - $52 = ((($44)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==($11|0); - if ($54) { - HEAP32[$49>>2] = $44; - HEAP32[$52>>2] = $47; - $$3 = $44; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $68 = ($42|0)==(0|0); - if ($68) { - $$1 = $11;$$1418 = $12; - } else { - $69 = ((($11)) + 28|0); - $70 = HEAP32[$69>>2]|0; - $71 = (21560 + ($70<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($11|0)==($72|0); - do { - if ($73) { - HEAP32[$71>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $74 = 1 << $70; - $75 = $74 ^ -1; - $76 = HEAP32[(21260)>>2]|0; - $77 = $76 & $75; - HEAP32[(21260)>>2] = $77; - $$1 = $11;$$1418 = $12; - break L1; - } - } else { - $78 = HEAP32[(21272)>>2]|0; - $79 = ($42>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } else { - $80 = ((($42)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $not$1 = ($81|0)!=($11|0); - $$sink2 = $not$1&1; - $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); - HEAP32[$82>>2] = $$3; - $83 = ($$3|0)==(0|0); - if ($83) { - $$1 = $11;$$1418 = $12; - break L1; - } else { - break; - } - } - } - } while(0); - $84 = HEAP32[(21272)>>2]|0; - $85 = ($$3>>>0)<($84>>>0); - if ($85) { - _abort(); - // unreachable; - } - $86 = ((($$3)) + 24|0); - HEAP32[$86>>2] = $42; - $87 = ((($11)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0|0); - do { - if (!($89)) { - $90 = ($88>>>0)<($84>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = ((($$3)) + 16|0); - HEAP32[$91>>2] = $88; - $92 = ((($88)) + 24|0); - HEAP32[$92>>2] = $$3; - break; - } - } - } while(0); - $93 = ((($87)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$1 = $11;$$1418 = $12; - } else { - $96 = HEAP32[(21272)>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = ((($$3)) + 20|0); - HEAP32[$98>>2] = $94; - $99 = ((($94)) + 24|0); - HEAP32[$99>>2] = $$3; - $$1 = $11;$$1418 = $12; - break; - } - } - } - } else { - $$1 = $0;$$1418 = $1; - } - } while(0); - $108 = HEAP32[(21272)>>2]|0; - $109 = ($2>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $110 = ((($2)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[(21280)>>2]|0; - $115 = ($2|0)==($114|0); - $116 = HEAP32[(21276)>>2]|0; - if ($115) { - $117 = HEAP32[(21268)>>2]|0; - $118 = (($117) + ($$1418))|0; - HEAP32[(21268)>>2] = $118; - HEAP32[(21280)>>2] = $$1; - $119 = $118 | 1; - $120 = ((($$1)) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ($$1|0)==($116|0); - if (!($121)) { - return; - } - HEAP32[(21276)>>2] = 0; - HEAP32[(21264)>>2] = 0; - return; - } - $122 = ($2|0)==($116|0); - if ($122) { - $123 = HEAP32[(21264)>>2]|0; - $124 = (($123) + ($$1418))|0; - HEAP32[(21264)>>2] = $124; - HEAP32[(21276)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = (($$1) + ($124)|0); - HEAP32[$127>>2] = $124; - return; - } - $128 = $111 & -8; - $129 = (($128) + ($$1418))|0; - $130 = $111 >>> 3; - $131 = ($111>>>0)<(256); - L96: do { - if ($131) { - $132 = ((($2)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = ((($2)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = $130 << 1; - $137 = (21296 + ($136<<2)|0); - $138 = ($133|0)==($137|0); - if (!($138)) { - $139 = ($133>>>0)<($108>>>0); - if ($139) { - _abort(); - // unreachable; - } - $140 = ((($133)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==($2|0); - if (!($142)) { - _abort(); - // unreachable; - } - } - $143 = ($135|0)==($133|0); - if ($143) { - $144 = 1 << $130; - $145 = $144 ^ -1; - $146 = HEAP32[5314]|0; - $147 = $146 & $145; - HEAP32[5314] = $147; - break; - } - $148 = ($135|0)==($137|0); - if ($148) { - $$pre23 = ((($135)) + 8|0); - $$pre$phi24Z2D = $$pre23; - } else { - $149 = ($135>>>0)<($108>>>0); - if ($149) { - _abort(); - // unreachable; - } - $150 = ((($135)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==($2|0); - if ($152) { - $$pre$phi24Z2D = $150; - } else { - _abort(); - // unreachable; - } - } - $153 = ((($133)) + 12|0); - HEAP32[$153>>2] = $135; - HEAP32[$$pre$phi24Z2D>>2] = $133; - } else { - $154 = ((($2)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = ((($2)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($2|0); - do { - if ($158) { - $168 = ((($2)) + 16|0); - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$168>>2]|0; - $173 = ($172|0)==(0|0); - if ($173) { - $$3435 = 0; - break; - } else { - $$1433 = $172;$$1437 = $168; - } - } else { - $$1433 = $170;$$1437 = $169; - } - while(1) { - $174 = ((($$1433)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==(0|0); - if (!($176)) { - $$1433 = $175;$$1437 = $174; - continue; - } - $177 = ((($$1433)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - break; - } else { - $$1433 = $178;$$1437 = $177; - } - } - $180 = ($$1437>>>0)<($108>>>0); - if ($180) { - _abort(); - // unreachable; - } else { - HEAP32[$$1437>>2] = 0; - $$3435 = $$1433; - break; - } - } else { - $159 = ((($2)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160>>>0)<($108>>>0); - if ($161) { - _abort(); - // unreachable; - } - $162 = ((($160)) + 12|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($2|0); - if (!($164)) { - _abort(); - // unreachable; - } - $165 = ((($157)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==($2|0); - if ($167) { - HEAP32[$162>>2] = $157; - HEAP32[$165>>2] = $160; - $$3435 = $157; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $181 = ($155|0)==(0|0); - if (!($181)) { - $182 = ((($2)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = (21560 + ($183<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($2|0)==($185|0); - do { - if ($186) { - HEAP32[$184>>2] = $$3435; - $cond17 = ($$3435|0)==(0|0); - if ($cond17) { - $187 = 1 << $183; - $188 = $187 ^ -1; - $189 = HEAP32[(21260)>>2]|0; - $190 = $189 & $188; - HEAP32[(21260)>>2] = $190; - break L96; - } - } else { - $191 = HEAP32[(21272)>>2]|0; - $192 = ($155>>>0)<($191>>>0); - if ($192) { - _abort(); - // unreachable; - } else { - $193 = ((($155)) + 16|0); - $194 = HEAP32[$193>>2]|0; - $not$ = ($194|0)!=($2|0); - $$sink4 = $not$&1; - $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); - HEAP32[$195>>2] = $$3435; - $196 = ($$3435|0)==(0|0); - if ($196) { - break L96; - } else { - break; - } - } - } - } while(0); - $197 = HEAP32[(21272)>>2]|0; - $198 = ($$3435>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($$3435)) + 24|0); - HEAP32[$199>>2] = $155; - $200 = ((($2)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($$3435)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $$3435; - break; - } - } - } while(0); - $206 = ((($200)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(21272)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($$3435)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $$3435; - break; - } - } - } - } - } while(0); - $213 = $129 | 1; - $214 = ((($$1)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$1) + ($129)|0); - HEAP32[$215>>2] = $129; - $216 = HEAP32[(21276)>>2]|0; - $217 = ($$1|0)==($216|0); - if ($217) { - HEAP32[(21264)>>2] = $129; - return; - } else { - $$2 = $129; - } - } else { - $218 = $111 & -2; - HEAP32[$110>>2] = $218; - $219 = $$1418 | 1; - $220 = ((($$1)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$1) + ($$1418)|0); - HEAP32[$221>>2] = $$1418; - $$2 = $$1418; - } - $222 = $$2 >>> 3; - $223 = ($$2>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (21296 + ($224<<2)|0); - $226 = HEAP32[5314]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[5314] = $230; - $$pre = ((($225)) + 8|0); - $$0438 = $225;$$pre$phiZ2D = $$pre; - } else { - $231 = ((($225)) + 8|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21272)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$0438 = $232;$$pre$phiZ2D = $231; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $235 = ((($$0438)) + 12|0); - HEAP32[$235>>2] = $$1; - $236 = ((($$1)) + 8|0); - HEAP32[$236>>2] = $$0438; - $237 = ((($$1)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$2 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $$0431 = 0; - } else { - $240 = ($$2>>>0)>(16777215); - if ($240) { - $$0431 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$2 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $$0431 = $262; - } - } - $263 = (21560 + ($$0431<<2)|0); - $264 = ((($$1)) + 28|0); - HEAP32[$264>>2] = $$0431; - $265 = ((($$1)) + 16|0); - $266 = ((($$1)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(21260)>>2]|0; - $268 = 1 << $$0431; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(21260)>>2] = $271; - HEAP32[$263>>2] = $$1; - $272 = ((($$1)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$1)) + 12|0); - HEAP32[$273>>2] = $$1; - $274 = ((($$1)) + 8|0); - HEAP32[$274>>2] = $$1; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($$0431|0)==(31); - $277 = $$0431 >>> 1; - $278 = (25 - ($277))|0; - $279 = $276 ? 0 : $278; - $280 = $$2 << $279; - $$0419 = $280;$$0420 = $275; - while(1) { - $281 = ((($$0420)) + 4|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 & -8; - $284 = ($283|0)==($$2|0); - if ($284) { - label = 121; - break; - } - $285 = $$0419 >>> 31; - $286 = (((($$0420)) + 16|0) + ($285<<2)|0); - $287 = $$0419 << 1; - $288 = HEAP32[$286>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - label = 118; - break; - } else { - $$0419 = $287;$$0420 = $288; - } - } - if ((label|0) == 118) { - $290 = HEAP32[(21272)>>2]|0; - $291 = ($286>>>0)<($290>>>0); - if ($291) { - _abort(); - // unreachable; - } - HEAP32[$286>>2] = $$1; - $292 = ((($$1)) + 24|0); - HEAP32[$292>>2] = $$0420; - $293 = ((($$1)) + 12|0); - HEAP32[$293>>2] = $$1; - $294 = ((($$1)) + 8|0); - HEAP32[$294>>2] = $$1; - return; - } - else if ((label|0) == 121) { - $295 = ((($$0420)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21272)>>2]|0; - $298 = ($296>>>0)>=($297>>>0); - $not$19 = ($$0420>>>0)>=($297>>>0); - $299 = $298 & $not$19; - if (!($299)) { - _abort(); - // unreachable; - } - $300 = ((($296)) + 12|0); - HEAP32[$300>>2] = $$1; - HEAP32[$295>>2] = $$1; - $301 = ((($$1)) + 8|0); - HEAP32[$301>>2] = $296; - $302 = ((($$1)) + 12|0); - HEAP32[$302>>2] = $$0420; - $303 = ((($$1)) + 24|0); - HEAP32[$303>>2] = 0; - return; - } -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (21752|0); -} -function ___stdio_close($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 60|0); - $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); - HEAP32[$vararg_buffer>>2] = $3; - $4 = (___syscall6(6,($vararg_buffer|0))|0); - $5 = (___syscall_ret($4)|0); - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $3 = sp + 32|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$3>>2] = $5; - $6 = ((($3)) + 4|0); - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - ($5))|0; - HEAP32[$6>>2] = $9; - $10 = ((($3)) + 8|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $2; - $12 = (($9) + ($2))|0; - $13 = ((($0)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = $3; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $16 = (___syscall146(146,($vararg_buffer|0))|0); - $17 = (___syscall_ret($16)|0); - $18 = ($12|0)==($17|0); - L1: do { - if ($18) { - label = 3; - } else { - $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; - while(1) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } while(0); - if ((label|0) == 3) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 16|0); - HEAP32[$24>>2] = $23; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|0); -} -function ___stdio_seek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 20|0; - $4 = ((($0)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $1; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $6; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $2; - $7 = (___syscall140(140,($vararg_buffer|0))|0); - $8 = (___syscall_ret($7)|0); - $9 = ($8|0)<(0); - if ($9) { - HEAP32[$3>>2] = -1; - $10 = -1; - } else { - $$pre = HEAP32[$3>>2]|0; - $10 = $$pre; - } - STACKTOP = sp;return ($10|0); -} -function ___syscall_ret($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0>>>0)>(4294963200); - if ($1) { - $2 = (0 - ($0))|0; - $3 = (___errno_location()|0); - HEAP32[$3>>2] = $2; - $$0 = -1; - } else { - $$0 = $0; - } - return ($$0|0); -} -function ___errno_location() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (3732|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - HEAP32[$3>>2] = $1; - $4 = ((($3)) + 4|0); - $5 = ((($0)) + 48|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = $7&1; - $9 = (($2) - ($8))|0; - HEAP32[$4>>2] = $9; - $10 = ((($3)) + 8|0); - $11 = ((($0)) + 44|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($3)) + 12|0); - HEAP32[$13>>2] = $6; - $14 = ((($0)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = $3; - HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $17 = (___syscall145(145,($vararg_buffer|0))|0); - $18 = (___syscall_ret($17)|0); - $19 = ($18|0)<(1); - if ($19) { - $20 = $18 & 48; - $21 = $20 ^ 16; - $22 = HEAP32[$0>>2]|0; - $23 = $22 | $21; - HEAP32[$0>>2] = $23; - $$0 = $18; - } else { - $24 = HEAP32[$4>>2]|0; - $25 = ($18>>>0)>($24>>>0); - if ($25) { - $26 = (($18) - ($24))|0; - $27 = HEAP32[$11>>2]|0; - $28 = ((($0)) + 4|0); - HEAP32[$28>>2] = $27; - $29 = (($27) + ($26)|0); - $30 = ((($0)) + 8|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = $2; - } else { - $33 = ((($27)) + 1|0); - HEAP32[$28>>2] = $33; - $34 = HEAP8[$27>>0]|0; - $35 = (($2) + -1)|0; - $36 = (($1) + ($35)|0); - HEAP8[$36>>0] = $34; - $$0 = $2; - } - } else { - $$0 = $18; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 10; - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 64; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = $3; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21523; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $11 = (___syscall54(54,($vararg_buffer|0))|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($0)) + 75|0); - HEAP8[$13>>0] = -1; - } - } - $14 = (___stdio_write($0,$1,$2)|0); - STACKTOP = sp;return ($14|0); -} -function _strtox_768($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $5 = sp; - HEAP32[$5>>2] = 0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $0; - $7 = ((($5)) + 44|0); - HEAP32[$7>>2] = $0; - $8 = ($0|0)<(0|0); - $9 = ((($0)) + 2147483647|0); - $$sink = $8 ? (-1) : $9; - $10 = ((($5)) + 8|0); - HEAP32[$10>>2] = $$sink; - $11 = ((($5)) + 76|0); - HEAP32[$11>>2] = -1; - ___shlim($5,0); - $12 = (___intscan($5,$2,1,$3,$4)|0); - $13 = tempRet0; - $14 = ($1|0)==(0|0); - if (!($14)) { - $15 = ((($5)) + 108|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$6>>2]|0; - $18 = HEAP32[$10>>2]|0; - $19 = (($17) + ($16))|0; - $20 = (($19) - ($18))|0; - $21 = (($0) + ($20)|0); - HEAP32[$1>>2] = $21; - } - tempRet0 = ($13); - STACKTOP = sp;return ($12|0); -} -function ___shlim($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 104|0); - HEAP32[$2>>2] = $1; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ((($0)) + 108|0); - HEAP32[$10>>2] = $9; - $11 = ($1|0)!=(0); - $12 = ($9|0)>($1|0); - $or$cond = $11 & $12; - $13 = (($6) + ($1)|0); - $$sink = $or$cond ? $13 : $4; - $14 = ((($0)) + 100|0); - HEAP32[$14>>2] = $$sink; - return; -} -function ___intscan($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; - var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; - var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; - var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; - var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; - var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; - var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; - var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; - var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($1>>>0)>(36); - L1: do { - if ($5) { - $8 = (___errno_location()|0); - HEAP32[$8>>2] = 22; - $289 = 0;$290 = 0; - } else { - $6 = ((($0)) + 4|0); - $7 = ((($0)) + 100|0); - while(1) { - $9 = HEAP32[$6>>2]|0; - $10 = HEAP32[$7>>2]|0; - $11 = ($9>>>0)<($10>>>0); - if ($11) { - $12 = ((($9)) + 1|0); - HEAP32[$6>>2] = $12; - $13 = HEAP8[$9>>0]|0; - $14 = $13&255; - $16 = $14; - } else { - $15 = (___shgetc($0)|0); - $16 = $15; - } - $17 = (_isspace($16)|0); - $18 = ($17|0)==(0); - if ($18) { - break; - } - } - L11: do { - switch ($16|0) { - case 43: case 45: { - $19 = ($16|0)==(45); - $20 = $19 << 31 >> 31; - $21 = HEAP32[$6>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$6>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$0157 = $20;$$0159 = $26; - break L11; - } else { - $27 = (___shgetc($0)|0); - $$0157 = $20;$$0159 = $27; - break L11; - } - break; - } - default: { - $$0157 = 0;$$0159 = $16; - } - } - } while(0); - $28 = ($1|0)==(0); - $29 = $1 | 16; - $30 = ($29|0)==(16); - $31 = ($$0159|0)==(48); - $or$cond5 = $30 & $31; - do { - if ($or$cond5) { - $32 = HEAP32[$6>>2]|0; - $33 = HEAP32[$7>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$6>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $40 = $37; - } else { - $38 = (___shgetc($0)|0); - $40 = $38; - } - $39 = $40 | 32; - $41 = ($39|0)==(120); - if (!($41)) { - if ($28) { - $$1160169 = $40;$$1165168 = 8; - label = 46; - break; - } else { - $$1160 = $40;$$1165 = $1; - label = 32; - break; - } - } - $42 = HEAP32[$6>>2]|0; - $43 = HEAP32[$7>>2]|0; - $44 = ($42>>>0)<($43>>>0); - if ($44) { - $45 = ((($42)) + 1|0); - HEAP32[$6>>2] = $45; - $46 = HEAP8[$42>>0]|0; - $47 = $46&255; - $50 = $47; - } else { - $48 = (___shgetc($0)|0); - $50 = $48; - } - $49 = ((15105) + ($50)|0); - $51 = HEAP8[$49>>0]|0; - $52 = ($51&255)>(15); - if ($52) { - $53 = HEAP32[$7>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - $55 = HEAP32[$6>>2]|0; - $56 = ((($55)) + -1|0); - HEAP32[$6>>2] = $56; - } - $57 = ($2|0)==(0); - if ($57) { - ___shlim($0,0); - $289 = 0;$290 = 0; - break L1; - } - if (!($54)) { - $289 = 0;$290 = 0; - break L1; - } - $58 = HEAP32[$6>>2]|0; - $59 = ((($58)) + -1|0); - HEAP32[$6>>2] = $59; - $289 = 0;$290 = 0; - break L1; - } else { - $$1160169 = $50;$$1165168 = 16; - label = 46; - } - } else { - $$166 = $28 ? 10 : $1; - $60 = ((15105) + ($$0159)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($62>>>0)<($$166>>>0); - if ($63) { - $$1160 = $$0159;$$1165 = $$166; - label = 32; - } else { - $64 = HEAP32[$7>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$6>>2]|0; - $67 = ((($66)) + -1|0); - HEAP32[$6>>2] = $67; - } - ___shlim($0,0); - $68 = (___errno_location()|0); - HEAP32[$68>>2] = 22; - $289 = 0;$290 = 0; - break L1; - } - } - } while(0); - L43: do { - if ((label|0) == 32) { - $69 = ($$1165|0)==(10); - if ($69) { - $70 = (($$1160) + -48)|0; - $71 = ($70>>>0)<(10); - if ($71) { - $$0154222 = 0;$74 = $70; - while(1) { - $72 = ($$0154222*10)|0; - $73 = (($72) + ($74))|0; - $75 = HEAP32[$6>>2]|0; - $76 = HEAP32[$7>>2]|0; - $77 = ($75>>>0)<($76>>>0); - if ($77) { - $78 = ((($75)) + 1|0); - HEAP32[$6>>2] = $78; - $79 = HEAP8[$75>>0]|0; - $80 = $79&255; - $$2161$be = $80; - } else { - $81 = (___shgetc($0)|0); - $$2161$be = $81; - } - $82 = (($$2161$be) + -48)|0; - $83 = ($82>>>0)<(10); - $84 = ($73>>>0)<(429496729); - $85 = $83 & $84; - if ($85) { - $$0154222 = $73;$74 = $82; - } else { - break; - } - } - $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; - } else { - $$2161$lcssa = $$1160;$291 = 0;$292 = 0; - } - $86 = (($$2161$lcssa) + -48)|0; - $87 = ($86>>>0)<(10); - if ($87) { - $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; - while(1) { - $90 = (___muldi3(($88|0),($89|0),10,0)|0); - $91 = tempRet0; - $92 = ($93|0)<(0); - $94 = $92 << 31 >> 31; - $95 = $93 ^ -1; - $96 = $94 ^ -1; - $97 = ($91>>>0)>($96>>>0); - $98 = ($90>>>0)>($95>>>0); - $99 = ($91|0)==($96|0); - $100 = $99 & $98; - $101 = $97 | $100; - if ($101) { - $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; - label = 72; - break L43; - } - $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); - $103 = tempRet0; - $104 = HEAP32[$6>>2]|0; - $105 = HEAP32[$7>>2]|0; - $106 = ($104>>>0)<($105>>>0); - if ($106) { - $107 = ((($104)) + 1|0); - HEAP32[$6>>2] = $107; - $108 = HEAP8[$104>>0]|0; - $109 = $108&255; - $$3162$be = $109; - } else { - $110 = (___shgetc($0)|0); - $$3162$be = $110; - } - $111 = (($$3162$be) + -48)|0; - $112 = ($111>>>0)<(10); - $113 = ($103>>>0)<(429496729); - $114 = ($102>>>0)<(2576980378); - $115 = ($103|0)==(429496729); - $116 = $115 & $114; - $117 = $113 | $116; - $or$cond7 = $112 & $117; - if ($or$cond7) { - $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; - } else { - break; - } - } - $118 = ($111>>>0)>(9); - if ($118) { - $$1158 = $$0157;$263 = $103;$265 = $102; - } else { - $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; - label = 72; - } - } else { - $$1158 = $$0157;$263 = $292;$265 = $291; - } - } else { - $$1160169 = $$1160;$$1165168 = $$1165; - label = 46; - } - } - } while(0); - L63: do { - if ((label|0) == 46) { - $119 = (($$1165168) + -1)|0; - $120 = $119 & $$1165168; - $121 = ($120|0)==(0); - if ($121) { - $126 = ($$1165168*23)|0; - $127 = $126 >>> 5; - $128 = $127 & 7; - $129 = (15361 + ($128)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 << 24 >> 24; - $132 = ((15105) + ($$1160169)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($134>>>0)<($$1165168>>>0); - if ($135) { - $$1155192 = 0;$138 = $134; - while(1) { - $136 = $$1155192 << $131; - $137 = $138 | $136; - $139 = HEAP32[$6>>2]|0; - $140 = HEAP32[$7>>2]|0; - $141 = ($139>>>0)<($140>>>0); - if ($141) { - $142 = ((($139)) + 1|0); - HEAP32[$6>>2] = $142; - $143 = HEAP8[$139>>0]|0; - $144 = $143&255; - $$4163$be = $144; - } else { - $145 = (___shgetc($0)|0); - $$4163$be = $145; - } - $146 = ((15105) + ($$4163$be)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = ($148>>>0)<($$1165168>>>0); - $150 = ($137>>>0)<(134217728); - $151 = $150 & $149; - if ($151) { - $$1155192 = $137;$138 = $148; - } else { - break; - } - } - $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; - } else { - $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; - } - $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); - $153 = tempRet0; - $154 = $155&255; - $156 = ($154>>>0)>=($$1165168>>>0); - $157 = ($158>>>0)>($153>>>0); - $159 = ($160>>>0)>($152>>>0); - $161 = ($158|0)==($153|0); - $162 = $161 & $159; - $163 = $157 | $162; - $or$cond187 = $156 | $163; - if ($or$cond187) { - $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; - label = 72; - break; - } else { - $164 = $160;$165 = $158;$169 = $155; - } - while(1) { - $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); - $167 = tempRet0; - $168 = $169&255; - $170 = $168 | $166; - $171 = HEAP32[$6>>2]|0; - $172 = HEAP32[$7>>2]|0; - $173 = ($171>>>0)<($172>>>0); - if ($173) { - $174 = ((($171)) + 1|0); - HEAP32[$6>>2] = $174; - $175 = HEAP8[$171>>0]|0; - $176 = $175&255; - $$5$be = $176; - } else { - $177 = (___shgetc($0)|0); - $$5$be = $177; - } - $178 = ((15105) + ($$5$be)|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = ($180>>>0)>=($$1165168>>>0); - $182 = ($167>>>0)>($153>>>0); - $183 = ($170>>>0)>($152>>>0); - $184 = ($167|0)==($153|0); - $185 = $184 & $183; - $186 = $182 | $185; - $or$cond = $181 | $186; - if ($or$cond) { - $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; - label = 72; - break L63; - } else { - $164 = $170;$165 = $167;$169 = $179; - } - } - } - $122 = ((15105) + ($$1160169)|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = ($124>>>0)<($$1165168>>>0); - if ($125) { - $$2156210 = 0;$189 = $124; - while(1) { - $187 = Math_imul($$2156210, $$1165168)|0; - $188 = (($189) + ($187))|0; - $190 = HEAP32[$6>>2]|0; - $191 = HEAP32[$7>>2]|0; - $192 = ($190>>>0)<($191>>>0); - if ($192) { - $193 = ((($190)) + 1|0); - HEAP32[$6>>2] = $193; - $194 = HEAP8[$190>>0]|0; - $195 = $194&255; - $$6$be = $195; - } else { - $196 = (___shgetc($0)|0); - $$6$be = $196; - } - $197 = ((15105) + ($$6$be)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199>>>0)<($$1165168>>>0); - $201 = ($188>>>0)<(119304647); - $202 = $201 & $200; - if ($202) { - $$2156210 = $188;$189 = $199; - } else { - break; - } - } - $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; - } else { - $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; - } - $203 = $204&255; - $205 = ($203>>>0)<($$1165168>>>0); - if ($205) { - $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); - $207 = tempRet0; - $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; - while(1) { - $208 = ($209>>>0)>($207>>>0); - $210 = ($211>>>0)>($206>>>0); - $212 = ($209|0)==($207|0); - $213 = $212 & $210; - $214 = $208 | $213; - if ($214) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); - $216 = tempRet0; - $217 = $218&255; - $219 = $217 ^ -1; - $220 = ($216>>>0)>(4294967295); - $221 = ($215>>>0)>($219>>>0); - $222 = ($216|0)==(-1); - $223 = $222 & $221; - $224 = $220 | $223; - if ($224) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); - $226 = tempRet0; - $227 = HEAP32[$6>>2]|0; - $228 = HEAP32[$7>>2]|0; - $229 = ($227>>>0)<($228>>>0); - if ($229) { - $230 = ((($227)) + 1|0); - HEAP32[$6>>2] = $230; - $231 = HEAP8[$227>>0]|0; - $232 = $231&255; - $$7$be = $232; - } else { - $233 = (___shgetc($0)|0); - $$7$be = $233; - } - $234 = ((15105) + ($$7$be)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = ($236>>>0)<($$1165168>>>0); - if ($237) { - $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; - } else { - $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; - label = 72; - break; - } - } - } else { - $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; - label = 72; - } - } - } while(0); - if ((label|0) == 72) { - $238 = ((15105) + ($$8)|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240>>>0)<($$1165167>>>0); - if ($241) { - while(1) { - $242 = HEAP32[$6>>2]|0; - $243 = HEAP32[$7>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - $245 = ((($242)) + 1|0); - HEAP32[$6>>2] = $245; - $246 = HEAP8[$242>>0]|0; - $247 = $246&255; - $$9$be = $247; - } else { - $248 = (___shgetc($0)|0); - $$9$be = $248; - } - $249 = ((15105) + ($$9$be)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251>>>0)<($$1165167>>>0); - if (!($252)) { - break; - } - } - $253 = (___errno_location()|0); - HEAP32[$253>>2] = 34; - $254 = $3 & 1; - $255 = ($254|0)==(0); - $256 = (0)==(0); - $257 = $255 & $256; - $$0157$ = $257 ? $$0157 : 0; - $$1158 = $$0157$;$263 = $4;$265 = $3; - } else { - $$1158 = $$0157;$263 = $294;$265 = $293; - } - } - $258 = HEAP32[$7>>2]|0; - $259 = ($258|0)==(0|0); - if (!($259)) { - $260 = HEAP32[$6>>2]|0; - $261 = ((($260)) + -1|0); - HEAP32[$6>>2] = $261; - } - $262 = ($263>>>0)<($4>>>0); - $264 = ($265>>>0)<($3>>>0); - $266 = ($263|0)==($4|0); - $267 = $266 & $264; - $268 = $262 | $267; - if (!($268)) { - $269 = $3 & 1; - $270 = ($269|0)!=(0); - $271 = (0)!=(0); - $272 = $270 | $271; - $273 = ($$1158|0)!=(0); - $or$cond12 = $272 | $273; - if (!($or$cond12)) { - $274 = (___errno_location()|0); - HEAP32[$274>>2] = 34; - $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); - $276 = tempRet0; - $289 = $276;$290 = $275; - break; - } - $277 = ($263>>>0)>($4>>>0); - $278 = ($265>>>0)>($3>>>0); - $279 = ($263|0)==($4|0); - $280 = $279 & $278; - $281 = $277 | $280; - if ($281) { - $282 = (___errno_location()|0); - HEAP32[$282>>2] = 34; - $289 = $4;$290 = $3; - break; - } - } - $283 = ($$1158|0)<(0); - $284 = $283 << 31 >> 31; - $285 = $265 ^ $$1158; - $286 = $263 ^ $284; - $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); - $288 = tempRet0; - $289 = $288;$290 = $287; - } - } while(0); - tempRet0 = ($289); - return ($290|0); -} -function ___shgetc($0) { - $0 = $0|0; - var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 104|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - label = 3; - } else { - $4 = ((($0)) + 108|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)<($2|0); - if ($6) { - label = 3; - } else { - label = 4; - } - } - if ((label|0) == 3) { - $7 = (___uflow($0)|0); - $8 = ($7|0)<(0); - if ($8) { - label = 4; - } else { - $10 = HEAP32[$1>>2]|0; - $11 = ($10|0)==(0); - $$phi$trans$insert = ((($0)) + 8|0); - if ($11) { - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); - $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; - $$pre35 = ((($0)) + 108|0); - $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; - } else { - $12 = HEAP32[$$phi$trans$insert>>2]|0; - $13 = ((($0)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $14; - $16 = (($12) - ($15))|0; - $17 = ((($0)) + 108|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($10) - ($18))|0; - $20 = ($16|0)<($19|0); - $21 = $12; - if ($20) { - $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; - } else { - $22 = (($19) + -1)|0; - $23 = (($14) + ($22)|0); - $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; - } - } - $24 = ((($0)) + 100|0); - HEAP32[$24>>2] = $$sink; - $25 = ($26|0)==(0|0); - if (!($25)) { - $27 = $26; - $28 = $29; - $30 = HEAP32[$$pre$phi34Z2D>>2]|0; - $31 = (($27) + 1)|0; - $32 = (($31) - ($28))|0; - $33 = (($32) + ($30))|0; - HEAP32[$$pre$phi34Z2D>>2] = $33; - } - $34 = ((($29)) + -1|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==($7|0); - if ($37) { - $$0 = $7; - } else { - $38 = $7&255; - HEAP8[$34>>0] = $38; - $$0 = $7; - } - } - } - if ((label|0) == 4) { - $9 = ((($0)) + 100|0); - HEAP32[$9>>2] = 0; - $$0 = -1; - } - return ($$0|0); -} -function _isspace($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(32); - $2 = (($0) + -9)|0; - $3 = ($2>>>0)<(5); - $4 = $1 | $3; - $5 = $4&1; - return ($5|0); -} -function ___uflow($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = (___toread($0)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); - $7 = ($6|0)==(1); - if ($7) { - $8 = HEAP8[$1>>0]|0; - $9 = $8&255; - $$0 = $9; - } else { - $$0 = -1; - } - } else { - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___toread($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($0)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($8>>>0)>($10>>>0); - if ($11) { - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); - } - $14 = ((($0)) + 16|0); - HEAP32[$14>>2] = 0; - HEAP32[$9>>2] = 0; - HEAP32[$7>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = $15 & 4; - $17 = ($16|0)==(0); - if ($17) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = $23; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = $23; - $26 = $15 << 27; - $sext = $26 >> 31; - $$0 = $sext; - } else { - $18 = $15 | 32; - HEAP32[$0>>2] = $18; - $$0 = -1; - } - return ($$0|0); -} -function _strtol($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_strtox_768($0,$1,$2,-2147483648,0)|0); - $4 = tempRet0; - return ($3|0); -} -function _strcmp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP8[$0>>0]|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($2<<24>>24)!=($3<<24>>24); - $5 = ($2<<24>>24)==(0); - $or$cond9 = $5 | $4; - if ($or$cond9) { - $$lcssa = $3;$$lcssa8 = $2; - } else { - $$011 = $1;$$0710 = $0; - while(1) { - $6 = ((($$0710)) + 1|0); - $7 = ((($$011)) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = HEAP8[$7>>0]|0; - $10 = ($8<<24>>24)!=($9<<24>>24); - $11 = ($8<<24>>24)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $$lcssa = $9;$$lcssa8 = $8; - break; - } else { - $$011 = $7;$$0710 = $6; - } - } - } - $12 = $$lcssa8&255; - $13 = $$lcssa&255; - $14 = (($12) - ($13))|0; - return ($14|0); -} -function _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _strncmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - if ($3) { - $$020 = 0; - } else { - $4 = HEAP8[$0>>0]|0; - $5 = $4&255; - $6 = ($4<<24>>24)==(0); - $7 = HEAP8[$1>>0]|0; - $8 = $7&255; - L3: do { - if ($6) { - $$lcssa = $8;$$lcssa22 = $5; - } else { - $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; - while(1) { - $$01926 = (($$01926$in) + -1)|0; - $9 = ($10<<24>>24)!=(0); - $11 = ($$01926|0)!=(0); - $or$cond = $11 & $9; - $12 = ($13<<24>>24)==($10<<24>>24); - $or$cond21 = $12 & $or$cond; - if (!($or$cond21)) { - $$lcssa = $22;$$lcssa22 = $23; - break L3; - } - $14 = ((($$01824)) + 1|0); - $15 = ((($$025)) + 1|0); - $16 = HEAP8[$14>>0]|0; - $17 = $16&255; - $18 = ($16<<24>>24)==(0); - $19 = HEAP8[$15>>0]|0; - $20 = $19&255; - if ($18) { - $$lcssa = $20;$$lcssa22 = $17; - break; - } else { - $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; - } - } - } - } while(0); - $21 = (($$lcssa22) - ($$lcssa))|0; - $$020 = $21; - } - return ($$020|0); -} -function _vsprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_vsnprintf($0,2147483647,$1,$2)|0); - return ($3|0); -} -function _vsnprintf($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $4 = sp + 124|0; - $5 = sp; - dest=$5; src=4108; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = (($1) + -1)|0; - $7 = ($6>>>0)>(2147483646); - if ($7) { - $8 = ($1|0)==(0); - if ($8) { - $$014 = $4;$$015 = 1; - label = 4; - } else { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 75; - $$0 = -1; - } - } else { - $$014 = $0;$$015 = $1; - label = 4; - } - if ((label|0) == 4) { - $10 = $$014; - $11 = (-2 - ($10))|0; - $12 = ($$015>>>0)>($11>>>0); - $$$015 = $12 ? $11 : $$015; - $13 = ((($5)) + 48|0); - HEAP32[$13>>2] = $$$015; - $14 = ((($5)) + 20|0); - HEAP32[$14>>2] = $$014; - $15 = ((($5)) + 44|0); - HEAP32[$15>>2] = $$014; - $16 = (($$014) + ($$$015)|0); - $17 = ((($5)) + 16|0); - HEAP32[$17>>2] = $16; - $18 = ((($5)) + 28|0); - HEAP32[$18>>2] = $16; - $19 = (_vfprintf($5,$2,$3)|0); - $20 = ($$$015|0)==(0); - if ($20) { - $$0 = $19; - } else { - $21 = HEAP32[$14>>2]|0; - $22 = HEAP32[$17>>2]|0; - $23 = ($21|0)==($22|0); - $24 = $23 << 31 >> 31; - $25 = (($21) + ($24)|0); - HEAP8[$25>>0] = 0; - $$0 = $19; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vfprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $3 = sp + 120|0; - $4 = sp + 80|0; - $5 = sp; - $6 = sp + 136|0; - dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = $vacopy_currentptr; - $7 = (_printf_core(0,$1,$3,$5,$4)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = -1; - } else { - $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(-1); - if ($11) { - $12 = (___lockfile($0)|0); - $40 = $12; - } else { - $40 = 0; - } - $13 = HEAP32[$0>>2]|0; - $14 = $13 & 32; - $15 = ((($0)) + 74|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)<(1); - if ($17) { - $18 = $13 & -33; - HEAP32[$0>>2] = $18; - } - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $23 = ((($0)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$23>>2] = $6; - $25 = ((($0)) + 28|0); - HEAP32[$25>>2] = $6; - $26 = ((($0)) + 20|0); - HEAP32[$26>>2] = $6; - HEAP32[$19>>2] = 80; - $27 = ((($6)) + 80|0); - $28 = ((($0)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = (_printf_core($0,$1,$3,$5,$4)|0); - $30 = ($24|0)==(0|0); - if ($30) { - $$1 = $29; - } else { - $31 = ((($0)) + 36|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); - $33 = HEAP32[$26>>2]|0; - $34 = ($33|0)==(0|0); - $$ = $34 ? -1 : $29; - HEAP32[$23>>2] = $24; - HEAP32[$19>>2] = 0; - HEAP32[$28>>2] = 0; - HEAP32[$25>>2] = 0; - HEAP32[$26>>2] = 0; - $$1 = $$; - } - } else { - $22 = (_printf_core($0,$1,$3,$5,$4)|0); - $$1 = $22; - } - $35 = HEAP32[$0>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - $$1$ = $37 ? $$1 : -1; - $38 = $35 | $14; - HEAP32[$0>>2] = $38; - $39 = ($40|0)==(0); - if (!($39)) { - ___unlockfile($0); - } - $$0 = $$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _printf_core($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; - var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 24|0; - $8 = sp + 8|0; - $9 = sp + 20|0; - HEAP32[$5>>2] = $1; - $10 = ($0|0)!=(0|0); - $11 = ((($7)) + 40|0); - $12 = $11; - $13 = ((($7)) + 39|0); - $14 = ((($8)) + 4|0); - $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; - L1: while(1) { - $15 = ($$0247|0)>(-1); - do { - if ($15) { - $16 = (2147483647 - ($$0247))|0; - $17 = ($$0243|0)>($16|0); - if ($17) { - $18 = (___errno_location()|0); - HEAP32[$18>>2] = 75; - $$1248 = -1; - break; - } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; - break; - } - } else { - $$1248 = $$0247; - } - } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; - break; - } - case 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; - break; - } - default: { - } - } - $24 = ((($25)) + 1|0); - HEAP32[$5>>2] = $24; - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = ((($27)) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$0249$lcssa = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $30;$27 = $31; - label = 9; - } else { - $$0249$lcssa = $30;$39 = $31; - break; - } - } - } - } while(0); - $34 = $$0249$lcssa; - $35 = $21; - $36 = (($34) - ($35))|0; - if ($10) { - _out($0,$21,$36); - } - $37 = ($36|0)==(0); - if (!($37)) { - $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; - continue; - } - $38 = ((($39)) + 1|0); - $40 = HEAP8[$38>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($39)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($39)) + 3|0); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } else { - $$0253 = -1;$$1270 = $$0269;$storemerge = $38; - } - HEAP32[$5>>2] = $storemerge; - $46 = HEAP8[$storemerge>>0]|0; - $47 = $46 << 24 >> 24; - $48 = (($47) + -32)|0; - $49 = ($48>>>0)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((15370 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15834;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15834;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 15834 : (15836); - $$$ = $238 ? $$ : (15835); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15834;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15834;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15844; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 15834;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (15834 + ($208)|0); - $$289 = $or$cond283 ? 15834 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15834;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; - $$0228$ = $or$cond ? $$0228 : $11; - $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; - } - else if ((label|0) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } else { - $$0 = $$1248; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___lockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _out($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = $3 & 32; - $5 = ($4|0)==(0); - if ($5) { - (___fwritex($1,$2,$0)|0); - } - return; -} -function _getint($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $isdigittmp4 = (($3) + -48)|0; - $isdigit5 = ($isdigittmp4>>>0)<(10); - if ($isdigit5) { - $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; - while(1) { - $4 = ($$06*10)|0; - $5 = (($isdigittmp7) + ($4))|0; - $6 = ((($7)) + 1|0); - HEAP32[$0>>2] = $6; - $8 = HEAP8[$6>>0]|0; - $9 = $8 << 24 >> 24; - $isdigittmp = (($9) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; - } else { - $$0$lcssa = $5; - break; - } - } - } else { - $$0$lcssa = 0; - } - return ($$0$lcssa|0); -} -function _pop_arg($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(20); - L1: do { - if (!($3)) { - do { - switch ($1|0) { - case 9: { - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded28 = $5; - $expanded = (($expanded28) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded32 = $7; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $8 = $6 & $expanded30; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - HEAP32[$0>>2] = $10; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$2>>2]|0; - $11 = $arglist_current2; - $12 = ((0) + 4|0); - $expanded35 = $12; - $expanded34 = (($expanded35) - 1)|0; - $13 = (($11) + ($expanded34))|0; - $14 = ((0) + 4|0); - $expanded39 = $14; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $15 = $13 & $expanded37; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $arglist_next3 = ((($16)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$2>>2]|0; - $24 = $arglist_current5; - $25 = ((0) + 4|0); - $expanded42 = $25; - $expanded41 = (($expanded42) - 1)|0; - $26 = (($24) + ($expanded41))|0; - $27 = ((0) + 4|0); - $expanded46 = $27; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $28 = $26 & $expanded44; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $arglist_next6 = ((($29)) + 4|0); - HEAP32[$2>>2] = $arglist_next6; - $31 = $0; - $32 = $31; - HEAP32[$32>>2] = $30; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$2>>2]|0; - $35 = $arglist_current8; - $36 = ((0) + 8|0); - $expanded49 = $36; - $expanded48 = (($expanded49) - 1)|0; - $37 = (($35) + ($expanded48))|0; - $38 = ((0) + 8|0); - $expanded53 = $38; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $39 = $37 & $expanded51; - $40 = $39; - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $arglist_next9 = ((($40)) + 8|0); - HEAP32[$2>>2] = $arglist_next9; - $47 = $0; - $48 = $47; - HEAP32[$48>>2] = $43; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$2>>2]|0; - $51 = $arglist_current11; - $52 = ((0) + 4|0); - $expanded56 = $52; - $expanded55 = (($expanded56) - 1)|0; - $53 = (($51) + ($expanded55))|0; - $54 = ((0) + 4|0); - $expanded60 = $54; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $55 = $53 & $expanded58; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $arglist_next12 = ((($56)) + 4|0); - HEAP32[$2>>2] = $arglist_next12; - $58 = $57&65535; - $59 = $58 << 16 >> 16; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = $0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$2>>2]|0; - $66 = $arglist_current14; - $67 = ((0) + 4|0); - $expanded63 = $67; - $expanded62 = (($expanded63) - 1)|0; - $68 = (($66) + ($expanded62))|0; - $69 = ((0) + 4|0); - $expanded67 = $69; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $70 = $68 & $expanded65; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $arglist_next15 = ((($71)) + 4|0); - HEAP32[$2>>2] = $arglist_next15; - $$mask31 = $72 & 65535; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $$mask31; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$2>>2]|0; - $77 = $arglist_current17; - $78 = ((0) + 4|0); - $expanded70 = $78; - $expanded69 = (($expanded70) - 1)|0; - $79 = (($77) + ($expanded69))|0; - $80 = ((0) + 4|0); - $expanded74 = $80; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $81 = $79 & $expanded72; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $arglist_next18 = ((($82)) + 4|0); - HEAP32[$2>>2] = $arglist_next18; - $84 = $83&255; - $85 = $84 << 24 >> 24; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$2>>2]|0; - $92 = $arglist_current20; - $93 = ((0) + 4|0); - $expanded77 = $93; - $expanded76 = (($expanded77) - 1)|0; - $94 = (($92) + ($expanded76))|0; - $95 = ((0) + 4|0); - $expanded81 = $95; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $96 = $94 & $expanded79; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next21 = ((($97)) + 4|0); - HEAP32[$2>>2] = $arglist_next21; - $$mask = $98 & 255; - $99 = $0; - $100 = $99; - HEAP32[$100>>2] = $$mask; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$2>>2]|0; - $103 = $arglist_current23; - $104 = ((0) + 8|0); - $expanded84 = $104; - $expanded83 = (($expanded84) - 1)|0; - $105 = (($103) + ($expanded83))|0; - $106 = ((0) + 8|0); - $expanded88 = $106; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $107 = $105 & $expanded86; - $108 = $107; - $109 = +HEAPF64[$108>>3]; - $arglist_next24 = ((($108)) + 8|0); - HEAP32[$2>>2] = $arglist_next24; - HEAPF64[$0>>3] = $109; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$2>>2]|0; - $110 = $arglist_current26; - $111 = ((0) + 8|0); - $expanded91 = $111; - $expanded90 = (($expanded91) - 1)|0; - $112 = (($110) + ($expanded90))|0; - $113 = ((0) + 8|0); - $expanded95 = $113; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $114 = $112 & $expanded93; - $115 = $114; - $116 = +HEAPF64[$115>>3]; - $arglist_next27 = ((($115)) + 8|0); - HEAP32[$2>>2] = $arglist_next27; - HEAPF64[$0>>3] = $116; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_x($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0); - $5 = ($1|0)==(0); - $6 = $4 & $5; - if ($6) { - $$05$lcssa = $2; - } else { - $$056 = $2;$15 = $1;$8 = $0; - while(1) { - $7 = $8 & 15; - $9 = (15886 + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 | $3; - $13 = $12&255; - $14 = ((($$056)) + -1|0); - HEAP8[$14>>0] = $13; - $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); - $17 = tempRet0; - $18 = ($16|0)==(0); - $19 = ($17|0)==(0); - $20 = $18 & $19; - if ($20) { - $$05$lcssa = $14; - break; - } else { - $$056 = $14;$15 = $17;$8 = $16; - } - } - } - return ($$05$lcssa|0); -} -function _fmt_o($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; - } else { - $$06 = $2;$11 = $1;$7 = $0; - while(1) { - $6 = $7&255; - $8 = $6 & 7; - $9 = $8 | 48; - $10 = ((($$06)) + -1|0); - HEAP8[$10>>0] = $9; - $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); - $13 = tempRet0; - $14 = ($12|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - if ($16) { - $$0$lcssa = $10; - break; - } else { - $$06 = $10;$11 = $13;$7 = $12; - } - } - } - return ($$0$lcssa|0); -} -function _fmt_u($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(0); - $4 = ($0>>>0)>(4294967295); - $5 = ($1|0)==(0); - $6 = $5 & $4; - $7 = $3 | $6; - if ($7) { - $$0914 = $2;$8 = $0;$9 = $1; - while(1) { - $10 = (___uremdi3(($8|0),($9|0),10,0)|0); - $11 = tempRet0; - $12 = $10&255; - $13 = $12 | 48; - $14 = ((($$0914)) + -1|0); - HEAP8[$14>>0] = $13; - $15 = (___udivdi3(($8|0),($9|0),10,0)|0); - $16 = tempRet0; - $17 = ($9>>>0)>(9); - $18 = ($8>>>0)>(4294967295); - $19 = ($9|0)==(9); - $20 = $19 & $18; - $21 = $17 | $20; - if ($21) { - $$0914 = $14;$8 = $15;$9 = $16; - } else { - break; - } - } - $$010$lcssa$off0 = $15;$$09$lcssa = $14; - } else { - $$010$lcssa$off0 = $0;$$09$lcssa = $2; - } - $22 = ($$010$lcssa$off0|0)==(0); - if ($22) { - $$1$lcssa = $$09$lcssa; - } else { - $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; - while(1) { - $23 = (($$012>>>0) % 10)&-1; - $24 = $23 | 48; - $25 = $24&255; - $26 = ((($$111)) + -1|0); - HEAP8[$26>>0] = $25; - $27 = (($$012>>>0) / 10)&-1; - $28 = ($$012>>>0)<(10); - if ($28) { - $$1$lcssa = $26; - break; - } else { - $$012 = $27;$$111 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _strerror($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___pthread_self_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|0); -} -function _memchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1 & 255; - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)!=(0); - $7 = ($2|0)!=(0); - $or$cond53 = $7 & $6; - L1: do { - if ($or$cond53) { - $8 = $1&255; - $$03555 = $0;$$03654 = $2; - while(1) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; - } - $11 = ((($$03555)) + 1|0); - $12 = (($$03654) + -1)|0; - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($12|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$03555 = $11;$$03654 = $12; - } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; - label = 6; - } else { - $$2 = $$035$lcssa;$$3 = 0; - } - } - L8: do { - if ((label|0) == 6) { - $17 = HEAP8[$$035$lcssa65>>0]|0; - $18 = $1&255; - $19 = ($17<<24>>24)==($18<<24>>24); - if ($19) { - $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; - } else { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; - while(1) { - $22 = HEAP32[$$046>>2]|0; - $23 = $22 ^ $20; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - break; - } - $29 = ((($$046)) + 4|0); - $30 = (($$13745) + -4)|0; - $31 = ($30>>>0)>(3); - if ($31) { - $$046 = $29;$$13745 = $30; - } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; - } - } - $$140 = $$046;$$23839 = $$13745; - } else { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; - } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; - } - } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; - } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; - } - } - } - } - } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); -} -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $5 = sp; - $6 = $4 & 73728; - $7 = ($6|0)==(0); - $8 = ($2|0)>($3|0); - $or$cond = $8 & $7; - if ($or$cond) { - $9 = (($2) - ($3))|0; - $10 = ($9>>>0)<(256); - $11 = $10 ? $9 : 256; - _memset(($5|0),($1|0),($11|0))|0; - $12 = ($9>>>0)>(255); - if ($12) { - $13 = (($2) - ($3))|0; - $$011 = $9; - while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; - } else { - break; - } - } - $16 = $13 & 255; - $$0$lcssa = $16; - } else { - $$0$lcssa = $9; - } - _out($0,$5,$$0$lcssa); - } - STACKTOP = sp;return; -} -function _wctomb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = (_wcrtomb($0,$1,0)|0); - $$0 = $3; - } - return ($$0|0); -} -function _fmt_fp($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; - var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 524|0; - $9 = $8; - $10 = sp + 512|0; - HEAP32[$7>>2] = 0; - $11 = ((($10)) + 12|0); - (___DOUBLE_BITS_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15851; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (15852) : (15857); - $$$ = $16 ? $$ : (15854); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (15886 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $85 = $84&255; - $86 = ((($$0523)) + 1|0); - HEAP8[$$0523>>0] = $85; - $87 = (+($80|0)); - $88 = $$2473 - $87; - $89 = $88 * 16.0; - $90 = $86; - $91 = (($90) - ($9))|0; - $92 = ($91|0)==(1); - if ($92) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$3501$lcssa; - $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; - } else { - $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; - } - $$7505 = $$7505$ph; - while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,15902,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,15902,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 15870 : 15874; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 15878 : 15882; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _frexpl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_frexp($0,$1)); - return (+$2); -} -function _frexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $5 = tempRet0; - $6 = $4&65535; - $trunc$clear = $6 & 2047; - switch ($trunc$clear<<16>>16) { - case 0: { - $7 = $0 != 0.0; - if ($7) { - $8 = $0 * 1.8446744073709552E+19; - $9 = (+_frexp($8,$1)); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + -64)|0; - $$016 = $9;$storemerge = $11; - } else { - $$016 = $0;$storemerge = 0; - } - HEAP32[$1>>2] = $storemerge; - $$0 = $$016; - break; - } - case 2047: { - $$0 = $0; - break; - } - default: { - $12 = $4 & 2047; - $13 = (($12) + -1022)|0; - HEAP32[$1>>2] = $13; - $14 = $3 & -2146435073; - $15 = $14 | 1071644672; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $16; - } - } - return (+$$0); -} -function _wcrtomb($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; - } else { - $4 = ($1>>>0)<(128); - if ($4) { - $5 = $1&255; - HEAP8[$0>>0] = $5; - $$0 = 1; - break; - } - $6 = (___pthread_self_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___strerror_l($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $$016 = 0; - while(1) { - $3 = (15904 + ($$016)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==($0|0); - if ($6) { - label = 2; - break; - } - $7 = (($$016) + 1)|0; - $8 = ($7|0)==(87); - if ($8) { - $$01214 = 15992;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 15992; - } else { - $$01214 = 15992;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; - while(1) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { - break; - } else { - $$113 = $11; - } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } - } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); -} -function ___lctrans($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); -} -function ___lctrans_impl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = HEAP32[$1>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (___mo_lookup($3,$5,$0)|0); - $$0 = $6; - } - $7 = ($$0|0)!=(0|0); - $8 = $7 ? $$0 : $0; - return ($8|0); -} -function ___mo_lookup($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 1794895138)|0; - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_swapc($6,$4)|0); - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_swapc($9,$4)|0); - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_swapc($12,$4)|0); - $14 = $1 >>> 2; - $15 = ($7>>>0)<($14>>>0); - L1: do { - if ($15) { - $16 = $7 << 2; - $17 = (($1) - ($16))|0; - $18 = ($10>>>0)<($17>>>0); - $19 = ($13>>>0)<($17>>>0); - $or$cond = $18 & $19; - if ($or$cond) { - $20 = $13 | $10; - $21 = $20 & 3; - $22 = ($21|0)==(0); - if ($22) { - $23 = $10 >>> 2; - $24 = $13 >>> 2; - $$090 = 0;$$094 = $7; - while(1) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_swapc($30,$4)|0); - $32 = (($28) + 1)|0; - $33 = (($0) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_swapc($34,$4)|0); - $36 = ($35>>>0)<($1>>>0); - $37 = (($1) - ($35))|0; - $38 = ($31>>>0)<($37>>>0); - $or$cond102 = $36 & $38; - if (!($or$cond102)) { - $$4 = 0; - break L1; - } - $39 = (($35) + ($31))|0; - $40 = (($0) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==(0); - if (!($42)) { - $$4 = 0; - break L1; - } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { - break; - } - $62 = ($$094|0)==(1); - $63 = ($44|0)<(0); - $64 = (($$094) - ($25))|0; - $$195 = $63 ? $25 : $64; - $$191 = $63 ? $$090 : $26; - if ($62) { - $$4 = 0; - break L1; - } else { - $$090 = $$191;$$094 = $$195; - } - } - $46 = (($27) + ($24))|0; - $47 = (($0) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_swapc($48,$4)|0); - $50 = (($46) + 1)|0; - $51 = (($0) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_swapc($52,$4)|0); - $54 = ($53>>>0)<($1>>>0); - $55 = (($1) - ($53))|0; - $56 = ($49>>>0)<($55>>>0); - $or$cond104 = $54 & $56; - if ($or$cond104) { - $57 = (($0) + ($53)|0); - $58 = (($53) + ($49))|0; - $59 = (($0) + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)==(0); - $$ = $61 ? $57 : 0; - $$4 = $$; - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } while(0); - return ($$4|0); -} -function _swapc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); -} -function ___fwritex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $7 = (___towrite($2)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$3>>2]|0; - $12 = $$pre; - label = 5; - } else { - $$1 = 0; - } - } else { - $6 = $4; - $12 = $6; - label = 5; - } - L5: do { - if ((label|0) == 5) { - $9 = ((($2)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($12) - ($10))|0; - $13 = ($11>>>0)<($1>>>0); - $14 = $10; - if ($13) { - $15 = ((($2)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); - $$1 = $17; - break; - } - $18 = ((($2)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)>(-1); - L10: do { - if ($20) { - $$038 = $1; - while(1) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; - } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { - break; - } else { - $$038 = $22; - } - } - $26 = ((($2)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); - $29 = ($28>>>0)<($$038>>>0); - if ($29) { - $$1 = $28; - break L5; - } - $30 = (($0) + ($$038)|0); - $$042 = (($1) - ($$038))|0; - $$pre47 = HEAP32[$9>>2]|0; - $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; - } else { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - } - } while(0); - _memcpy(($31|0),($$141|0),($$143|0))|0; - $32 = HEAP32[$9>>2]|0; - $33 = (($32) + ($$143)|0); - HEAP32[$9>>2] = $33; - $34 = (($$139) + ($$143))|0; - $$1 = $34; - } - } while(0); - return ($$1|0); -} -function ___towrite($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 8; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($0)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 28|0); - HEAP32[$15>>2] = $14; - $16 = ((($0)) + 20|0); - HEAP32[$16>>2] = $14; - $17 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _sn_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - $8 = (($4) - ($7))|0; - $9 = ($8>>>0)>($2>>>0); - $$ = $9 ? $2 : $8; - _memcpy(($6|0),($1|0),($$|0))|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + ($$)|0); - HEAP32[$5>>2] = $11; - return ($2|0); -} -function _scalbn($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; - var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)>(1023); - if ($2) { - $3 = $0 * 8.9884656743115795E+307; - $4 = (($1) + -1023)|0; - $5 = ($4|0)>(1023); - $6 = $3 * 8.9884656743115795E+307; - $7 = (($1) + -2046)|0; - $8 = ($7|0)<(1023); - $$ = $8 ? $7 : 1023; - $$$ = $5 ? $$ : $4; - $$21 = $5 ? $6 : $3; - $$0 = $$21;$$020 = $$$; - } else { - $9 = ($1|0)<(-1022); - if ($9) { - $10 = $0 * 2.2250738585072014E-308; - $11 = (($1) + 1022)|0; - $12 = ($11|0)<(-1022); - $13 = $10 * 2.2250738585072014E-308; - $14 = (($1) + 2044)|0; - $15 = ($14|0)>(-1022); - $$1 = $15 ? $14 : -1022; - $$1$ = $12 ? $$1 : $11; - $$22 = $12 ? $13 : $10; - $$0 = $$22;$$020 = $$1$; - } else { - $$0 = $0;$$020 = $1; - } - } - $16 = (($$020) + 1023)|0; - $17 = (_bitshift64Shl(($16|0),0,52)|0); - $18 = tempRet0; - HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; - $20 = $$0 * $19; - return (+$20); -} -function _strlen($0) { - $0 = $0|0; - var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1 & 3; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $$015$lcssa = $0; - label = 4; - } else { - $$01519 = $0;$23 = $1; - while(1) { - $4 = HEAP8[$$01519>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - $$sink = $23; - break L1; - } - $6 = ((($$01519)) + 1|0); - $7 = $6; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if ($9) { - $$015$lcssa = $6; - label = 4; - break; - } else { - $$01519 = $6;$23 = $7; - } - } - } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; - while(1) { - $10 = HEAP32[$$0>>2]|0; - $11 = (($10) + -16843009)|0; - $12 = $10 & -2139062144; - $13 = $12 ^ -2139062144; - $14 = $13 & $11; - $15 = ($14|0)==(0); - $16 = ((($$0)) + 4|0); - if ($15) { - $$0 = $16; - } else { - break; - } - } - $17 = $10&255; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$1$lcssa = $$0; - } else { - $$pn = $$0; - while(1) { - $19 = ((($$pn)) + 1|0); - $$pre = HEAP8[$19>>0]|0; - $20 = ($$pre<<24>>24)==(0); - if ($20) { - $$1$lcssa = $19; - break; - } else { - $$pn = $19; - } - } - } - $21 = $$1$lcssa; - $$sink = $21; - } - $22 = (($$sink) - ($1))|0; - return ($22|0); -} -function _strchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function _ldexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function ___unlist_locked_file($0) { - $0 = $0|0; - var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 68|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = ((($0)) + 116|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - $$pre = ((($0)) + 112|0); - if (!($6)) { - $7 = HEAP32[$$pre>>2]|0; - $8 = ((($5)) + 112|0); - HEAP32[$8>>2] = $7; - } - $9 = HEAP32[$$pre>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $12 = (___pthread_self_607()|0); - $13 = ((($12)) + 232|0); - $$sink = $13; - } else { - $11 = ((($9)) + 116|0); - $$sink = $11; - } - HEAP32[$$sink>>2] = $5; - } - return; -} -function ___pthread_self_607() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _fopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer8 = sp + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $memchr = (_memchr(17796,$3,4)|0); - $4 = ($memchr|0)==(0|0); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $$0 = 0; - } else { - $6 = (___fmodeflags($1)|0); - $7 = $0; - $8 = $6 | 32768; - HEAP32[$vararg_buffer>>2] = $7; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $9 = (___syscall5(5,($vararg_buffer|0))|0); - $10 = (___syscall_ret($9)|0); - $11 = ($10|0)<(0); - if ($11) { - $$0 = 0; - } else { - $12 = $6 & 524288; - $13 = ($12|0)==(0); - if (!($13)) { - HEAP32[$vararg_buffer3>>2] = $10; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 2; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 1; - (___syscall221(221,($vararg_buffer3|0))|0); - } - $14 = (___fdopen($10,$1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$vararg_buffer8>>2] = $10; - (___syscall6(6,($vararg_buffer8|0))|0); - $$0 = 0; - } else { - $$0 = $14; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($0) { - $0 = $0|0; - var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_strchr($0,43)|0); - $2 = ($1|0)==(0|0); - $3 = HEAP8[$0>>0]|0; - $not$ = ($3<<24>>24)!=(114); - $$ = $not$&1; - $$0 = $2 ? $$ : 2; - $4 = (_strchr($0,120)|0); - $5 = ($4|0)==(0|0); - $6 = $$0 | 128; - $$0$ = $5 ? $$0 : $6; - $7 = (_strchr($0,101)|0); - $8 = ($7|0)==(0|0); - $9 = $$0$ | 524288; - $$2 = $8 ? $$0$ : $9; - $10 = ($3<<24>>24)==(114); - $11 = $$2 | 64; - $$2$ = $10 ? $$2 : $11; - $12 = ($3<<24>>24)==(119); - $13 = $$2$ | 512; - $$4 = $12 ? $13 : $$2$; - $14 = ($3<<24>>24)==(97); - $15 = $$4 | 1024; - $$$4 = $14 ? $15 : $$4; - return ($$$4|0); -} -function ___fdopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 56|0; - $3 = HEAP8[$1>>0]|0; - $4 = $3 << 24 >> 24; - $memchr = (_memchr(17796,$4,4)|0); - $5 = ($memchr|0)==(0|0); - if ($5) { - $6 = (___errno_location()|0); - HEAP32[$6>>2] = 22; - $$0 = 0; - } else { - $7 = (_malloc(1156)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - } else { - dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $9 = (_strchr($1,43)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = ($3<<24>>24)==(114); - $12 = $11 ? 8 : 4; - HEAP32[$7>>2] = $12; - } - $13 = (_strchr($1,101)|0); - $14 = ($13|0)==(0|0); - if ($14) { - $16 = $3; - } else { - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$1>>0]|0; - $16 = $$pre; - } - $15 = ($16<<24>>24)==(97); - if ($15) { - HEAP32[$vararg_buffer3>>2] = $0; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $17 = (___syscall221(221,($vararg_buffer3|0))|0); - $18 = $17 & 1024; - $19 = ($18|0)==(0); - if ($19) { - $20 = $17 | 1024; - HEAP32[$vararg_buffer7>>2] = $0; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $20; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $21 = HEAP32[$7>>2]|0; - $22 = $21 | 128; - HEAP32[$7>>2] = $22; - $29 = $22; - } else { - $$pre31 = HEAP32[$7>>2]|0; - $29 = $$pre31; - } - $23 = ((($7)) + 60|0); - HEAP32[$23>>2] = $0; - $24 = ((($7)) + 132|0); - $25 = ((($7)) + 44|0); - HEAP32[$25>>2] = $24; - $26 = ((($7)) + 48|0); - HEAP32[$26>>2] = 1024; - $27 = ((($7)) + 75|0); - HEAP8[$27>>0] = -1; - $28 = $29 & 8; - $30 = ($28|0)==(0); - if ($30) { - $31 = $2; - HEAP32[$vararg_buffer12>>2] = $0; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21523; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $31; - $32 = (___syscall54(54,($vararg_buffer12|0))|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP8[$27>>0] = 10; - } - } - $34 = ((($7)) + 32|0); - HEAP32[$34>>2] = 11; - $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 10; - $36 = ((($7)) + 40|0); - HEAP32[$36>>2] = 3; - $37 = ((($7)) + 12|0); - HEAP32[$37>>2] = 2; - $38 = HEAP32[(21756)>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = ((($7)) + 76|0); - HEAP32[$40>>2] = -1; - } - $41 = (___ofl_add($7)|0); - $$0 = $7; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___ofl_add($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___ofl_lock()|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 56|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($4)) + 52|0); - HEAP32[$6>>2] = $0; - } - HEAP32[$1>>2] = $0; - ___ofl_unlock(); - return ($0|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((21816|0)); - return (21824|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((21816|0)); - return; -} -function _fclose($0) { - $0 = $0|0; - var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $29 = $4; - } else { - $29 = 0; - } - ___unlist_locked_file($0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 1; - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (___ofl_lock()|0); - $9 = ((($0)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $10; - $$pre = ((($0)) + 56|0); - if (!($11)) { - $13 = HEAP32[$$pre>>2]|0; - $14 = ((($10)) + 56|0); - HEAP32[$14>>2] = $13; - } - $15 = HEAP32[$$pre>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = ((($15)) + 52|0); - HEAP32[$17>>2] = $12; - } - $18 = HEAP32[$8>>2]|0; - $19 = ($18|0)==($0|0); - if ($19) { - HEAP32[$8>>2] = $15; - } - ___ofl_unlock(); - } - $20 = (_fflush($0)|0); - $21 = ((($0)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); - $24 = $23 | $20; - $25 = ((($0)) + 92|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - _free($26); - } - if ($7) { - $28 = ($29|0)==(0); - if (!($28)) { - ___unlockfile($0); - } - } else { - _free($0); - } - return ($24|0); -} -function _fflush($0) { - $0 = $0|0; - var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[1026]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[1026]|0; - $11 = (_fflush($10)|0); - $29 = $11; - } - $12 = (___ofl_lock()|0); - $$02325 = HEAP32[$12>>2]|0; - $13 = ($$02325|0)==(0|0); - if ($13) { - $$024$lcssa = $29; - } else { - $$02327 = $$02325;$$02426 = $29; - while(1) { - $14 = ((($$02327)) + 76|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(-1); - if ($16) { - $17 = (___lockfile($$02327)|0); - $26 = $17; - } else { - $26 = 0; - } - $18 = ((($$02327)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($$02327)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($19>>>0)>($21>>>0); - if ($22) { - $23 = (___fflush_unlocked($$02327)|0); - $24 = $23 | $$02426; - $$1 = $24; - } else { - $$1 = $$02426; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___unlockfile($$02327); - } - $27 = ((($$02327)) + 56|0); - $$023 = HEAP32[$27>>2]|0; - $28 = ($$023|0)==(0|0); - if ($28) { - $$024$lcssa = $$1; - break; - } else { - $$02327 = $$023;$$02426 = $$1; - } - } - } - ___ofl_unlock(); - $$0 = $$024$lcssa; - } else { - $2 = ((($0)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if (!($4)) { - $5 = (___fflush_unlocked($0)|0); - $$0 = $5; - break; - } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)>($4>>>0); - if ($5) { - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - $15 = $11; - $16 = $13; - $17 = (($15) - ($16))|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); - } - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$3>>2] = 0; - HEAP32[$1>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _feof($0) { - $0 = $0|0; - var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 >>> 4; - $$lobit = $8 & 1; - if ($phitmp) { - $$lobit9 = $$lobit; - } else { - ___unlockfile($0); - $$lobit9 = $$lobit; - } - } else { - $4 = HEAP32[$0>>2]|0; - $5 = $4 >>> 4; - $$lobit8 = $5 & 1; - $$lobit9 = $$lobit8; - } - return ($$lobit9|0); -} -function _fseek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (___fseeko($0,$1,$2)|0); - return ($3|0); -} -function ___fseeko($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $7 = (___lockfile($0)|0); - $phitmp = ($7|0)==(0); - $8 = (___fseeko_unlocked($0,$1,$2)|0); - if ($phitmp) { - $9 = $8; - } else { - ___unlockfile($0); - $9 = $8; - } - } else { - $6 = (___fseeko_unlocked($0,$1,$2)|0); - $9 = $6; - } - return ($9|0); -} -function ___fseeko_unlocked($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(1); - if ($3) { - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($1) - ($5))|0; - $9 = (($8) + ($7))|0; - $$019 = $9; - } else { - $$019 = $1; - } - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)>($13>>>0); - if ($14) { - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); - $17 = HEAP32[$10>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $19 = ((($0)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); - $23 = ($22|0)<(0); - if ($23) { - $$0 = -1; - } else { - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = 0; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = $26 & -17; - HEAP32[$0>>2] = $27; - $$0 = 0; - } - } - return ($$0|0); -} -function _strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strrchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($2) + 1)|0; - $4 = (___memrchr($0,$1,$3)|0); - return ($4|0); -} -function ___memrchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1&255; - $$09 = $2; - while(1) { - $4 = (($$09) + -1)|0; - $5 = ($$09|0)==(0); - if ($5) { - $$0 = 0; - break; - } - $6 = (($0) + ($4)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==($3<<24>>24); - if ($8) { - $$0 = $6; - break; - } else { - $$09 = $4; - } - } - return ($$0|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 18072; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _fread($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = ($1|0)==(0); - $$ = $5 ? 0 : $2; - $6 = ((($3)) + 76|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(-1); - if ($8) { - $9 = (___lockfile($3)|0); - $36 = $9; - } else { - $36 = 0; - } - $10 = ((($3)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ((($3)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19; - $21 = (($17) - ($20))|0; - $22 = ($21|0)>(0); - $23 = ($21>>>0)<($4>>>0); - $$57 = $23 ? $21 : $4; - if ($22) { - $24 = (($4) - ($$57))|0; - $25 = (($0) + ($$57)|0); - _memcpy(($0|0),($19|0),($$57|0))|0; - $26 = (($19) + ($$57)|0); - HEAP32[$18>>2] = $26; - $$054$ph = $24;$$056$ph = $25; - } else { - $$054$ph = $4;$$056$ph = $0; - } - $27 = ($$054$ph|0)==(0); - L7: do { - if ($27) { - label = 13; - } else { - $28 = ((($3)) + 32|0); - $$05460 = $$054$ph;$$05659 = $$056$ph; - while(1) { - $29 = (___toread($3)|0); - $30 = ($29|0)==(0); - if (!($30)) { - break; - } - $31 = HEAP32[$28>>2]|0; - $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); - $33 = (($32) + 1)|0; - $34 = ($33>>>0)<(2); - if ($34) { - break; - } - $39 = (($$05460) - ($32))|0; - $40 = (($$05659) + ($32)|0); - $41 = ($39|0)==(0); - if ($41) { - label = 13; - break L7; - } else { - $$05460 = $39;$$05659 = $40; - } - } - $35 = ($36|0)==(0); - if (!($35)) { - ___unlockfile($3); - } - $37 = (($4) - ($$05460))|0; - $38 = (($37>>>0) / ($1>>>0))&-1; - $$0 = $38; - } - } while(0); - if ((label|0) == 13) { - $42 = ($36|0)==(0); - if ($42) { - $$0 = $$; - } else { - ___unlockfile($3); - $$0 = $$; - } - } - return ($$0|0); -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[994]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = HEAP32[5457]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[5457] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[5457] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[5457] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[5457] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function runPostSets() { -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; - end = (ptr + num)|0; - - value = value & 0xff; - if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { - while ((ptr&3) != 0) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - - aligned_end = (end & -4)|0; - block_aligned_end = (aligned_end - 64)|0; - value4 = value | (value << 8) | (value << 16) | (value << 24); - - while((ptr|0) <= (block_aligned_end|0)) { - HEAP32[((ptr)>>2)]=value4; - HEAP32[(((ptr)+(4))>>2)]=value4; - HEAP32[(((ptr)+(8))>>2)]=value4; - HEAP32[(((ptr)+(12))>>2)]=value4; - HEAP32[(((ptr)+(16))>>2)]=value4; - HEAP32[(((ptr)+(20))>>2)]=value4; - HEAP32[(((ptr)+(24))>>2)]=value4; - HEAP32[(((ptr)+(28))>>2)]=value4; - HEAP32[(((ptr)+(32))>>2)]=value4; - HEAP32[(((ptr)+(36))>>2)]=value4; - HEAP32[(((ptr)+(40))>>2)]=value4; - HEAP32[(((ptr)+(44))>>2)]=value4; - HEAP32[(((ptr)+(48))>>2)]=value4; - HEAP32[(((ptr)+(52))>>2)]=value4; - HEAP32[(((ptr)+(56))>>2)]=value4; - HEAP32[(((ptr)+(60))>>2)]=value4; - ptr = (ptr + 64)|0; - } - - while ((ptr|0) < (aligned_end|0) ) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - // The remaining bytes. - while ((ptr|0) < (end|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (end-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - var aligned_dest_end = 0; - var block_aligned_dest_end = 0; - var dest_end = 0; - // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. - if ((num|0) >= - 8192 - ) { - return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - } - - ret = dest|0; - dest_end = (dest + num)|0; - if ((dest&3) == (src&3)) { - // The initial unaligned < 4-byte front. - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - aligned_dest_end = (dest_end & -4)|0; - block_aligned_dest_end = (aligned_dest_end - 64)|0; - while ((dest|0) <= (block_aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); - HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); - HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); - HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); - HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); - HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); - HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); - HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); - HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); - HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); - HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); - HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); - HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); - HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); - HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); - dest = (dest+64)|0; - src = (src+64)|0; - } - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } else { - // In the unaligned copy case, unroll a bit as well. - aligned_dest_end = (dest_end - 4)|0; - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); - HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); - HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } - // The remaining unaligned < 4 byte tail. - while ((dest|0) < (dest_end|0)) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _sbrk(increment) { - increment = increment|0; - var oldDynamicTop = 0; - var oldDynamicTopOnChange = 0; - var newDynamicTop = 0; - var totalMemory = 0; - increment = ((increment + 15) & -16)|0; - oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; - newDynamicTop = oldDynamicTop + increment | 0; - - if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. - | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. - abortOnCannotGrowMemory()|0; - ___setErrNo(12); - return -1; - } - - HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; - totalMemory = getTotalMemory()|0; - if ((newDynamicTop|0) > (totalMemory|0)) { - if ((enlargeMemory()|0) == 0) { - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - ___setErrNo(12); - return -1; - } - } - return oldDynamicTop|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _llvm_bswap_i32(x) { - x = x|0; - return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; -} - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _llvm_bswap_i32: _llvm_bswap_i32, _roundf: _roundf, _main: _main, dynCall_i: dynCall_i, stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, dynCall_vidddd: dynCall_vidddd, setThrew: setThrew, dynCall_viii: dynCall_viii, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, dynCall_iii: dynCall_iii, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, ___muldi3: ___muldi3, dynCall_vd: dynCall_vd, dynCall_vii: dynCall_vii, ___uremdi3: ___uremdi3, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_viiiiiii: dynCall_viiiiiii, getTempRet0: getTempRet0, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, dynCall_viid: dynCall_viid, dynCall_ii: dynCall_ii, _emscripten_GetProcAddress: _emscripten_GetProcAddress, dynCall_viiii: dynCall_viiii, ___errno_location: ___errno_location, dynCall_viiiii: dynCall_viiiii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, _memmove: _memmove, _strstr: _strstr, stackRestore: stackRestore, _malloc: _malloc, dynCall_vdi: dynCall_vdi, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__roundf.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackSave.apply(null, arguments); -}; - -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_getTempRet0.apply(null, arguments); -}; - -var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____udivdi3.apply(null, arguments); -}; - -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setThrew.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__fflush.apply(null, arguments); -}; - -var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__sbrk.apply(null, arguments); -}; - -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__llvm_bswap_i32.apply(null, arguments); -}; - -var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____muldi3.apply(null, arguments); -}; - -var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____uremdi3.apply(null, arguments); -}; - -var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackAlloc.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setTempRet0.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_GetProcAddress.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____errno_location.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__free.apply(null, arguments); -}; - -var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_establishStackSpace.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strstr.apply(null, arguments); -}; - -var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackRestore.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__malloc.apply(null, arguments); -}; -var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - - -/** - * @constructor - * @extends {Error} - */ -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 initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - Module.printErr('exception thrown: ' + toLog); - Module['quit'](1, e); - } - } finally { - calledMain = true; - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - writeStackCookie(); - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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(); - } - checkStackCookie(); -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - process['exit'](status); - } - Module['quit'](status, new ExitStatus(status)); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/examples/web/models/models_material_pbr.c b/examples/web/models/models_material_pbr.c index 768bc73..b2b7ac6 100644 --- a/examples/web/models/models_material_pbr.c +++ b/examples/web/models/models_material_pbr.c @@ -19,10 +19,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - #define CUBEMAP_SIZE 512 // Cubemap texture size #define IRRADIANCE_SIZE 32 // Irradiance texture size #define PREFILTERED_SIZE 256 // Prefiltered HDR environment texture size @@ -50,20 +46,12 @@ static Material LoadMaterialPBR(Color albedo, float metalness, float roughness); //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- SetConfigFlags(FLAG_MSAA_4X_HINT); // Enable Multi Sampling Anti Aliasing 4x (if available) -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - pbr material"); -#endif // Load model and PBR material model = LoadModel("resources/pbr/trooper.obj"); @@ -99,9 +87,8 @@ int main(void) CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_mesh_generation.c b/examples/web/models/models_mesh_generation.c index 9c3cf07..32060ca 100644 --- a/examples/web/models/models_mesh_generation.c +++ b/examples/web/models/models_mesh_generation.c @@ -15,10 +15,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - #define NUM_MODELS 7 // We generate 7 parametric 3d shapes //---------------------------------------------------------------------------------- @@ -45,19 +41,11 @@ void UpdateDrawFrame(void); // Update and Draw one frame //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - mesh generation"); -#endif // We generate a checked image for texturing Image checked = GenImageChecked(2, 2, 1, 1, RED, GREEN); @@ -97,9 +85,8 @@ int main(void) CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_mesh_generation.html b/examples/web/models/models_mesh_generation.html deleted file mode 100644 index eb16c54..0000000 --- a/examples/web/models/models_mesh_generation.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
Downloading...
- - - - - -
- -
-
- -
- -
- - - - - - - \ No newline at end of file diff --git a/examples/web/models/models_mesh_generation.js b/examples/web/models/models_mesh_generation.js deleted file mode 100644 index a159902..0000000 --- a/examples/web/models/models_mesh_generation.js +++ /dev/null @@ -1,32393 +0,0 @@ -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; - -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) - -if (Module['ENVIRONMENT']) { - if (Module['ENVIRONMENT'] === 'WEB') { - ENVIRONMENT_IS_WEB = true; - } else if (Module['ENVIRONMENT'] === 'WORKER') { - ENVIRONMENT_IS_WORKER = true; - } else if (Module['ENVIRONMENT'] === 'NODE') { - ENVIRONMENT_IS_NODE = true; - } else if (Module['ENVIRONMENT'] === 'SHELL') { - ENVIRONMENT_IS_SHELL = true; - } else { - throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); - } -} else { - ENVIRONMENT_IS_WEB = typeof window === 'object'; - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; - ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -} - - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function shell_read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(xhr.response); - }; - } - - 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)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function shell_print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = undefined; - - - -// {{PREAMBLE_ADDITIONS}} - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = Runtime.stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -/** @type {function(number, number, string, boolean=)} */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - -/** @type {function(number, string, boolean=)} */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -/** @type {function(number, number=)} */ -function Pointer_stringify(ptr, length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; -function UTF8ArrayToString(u8Array, idx) { - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - while (u8Array[endPtr]) ++endPtr; - - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; -function UTF16ToString(ptr) { - assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - while (HEAP16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - - -function UTF32ToString(ptr) { - assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - 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 : (x + ' [' + y + ']'); - }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - 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); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; -var ASMJS_PAGE_SIZE = 16777216; -var MIN_TOTAL_MEMORY = 16777216; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBuffer(buf) { - Module['buffer'] = buffer = buf; -} - -function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); -} - -var STATIC_BASE, STATICTOP, staticSealed; // static area -var STACK_BASE, STACKTOP, STACK_MAX; // stack area -var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk - - STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; - staticSealed = false; - - -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - assert((STACK_MAX & 3) == 0); - HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; - HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; -} - -function checkStackCookie() { - if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { - abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); - } - // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. - if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; -} - -function abortStackOverflow(allocSize) { - abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!'); -} - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; -if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, - 'JS engine does not provide full typed array support'); - - - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); -} else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); -} -updateGlobalBufferViews(); - - -function getTotalMemory() { - return TOTAL_MEMORY; -} - -// Endianness check (note: assumes compiler arch was little-endian) - HEAP32[0] = 0x63736d65; /* 'emsc' */ -HEAP16[1] = 0x6373; -if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Module['dynCall_v'](func); - } else { - Module['dynCall_vi'](func, callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - checkStackCookie(); - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - checkStackCookie(); - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated */ -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') - HEAP8.set(array, buffer); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - -var /* show errors on likely calls to FS when it was not included */ FS = { - error: function() { - abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1'); - }, - init: function() { FS.error() }, - createDataFile: function() { FS.error() }, - createPreloadedFile: function() { FS.error() }, - createLazyFile: function() { FS.error() }, - open: function() { FS.error() }, - mkdev: function() { FS.error() }, - registerDevice: function() { FS.error() }, - analyzePath: function() { FS.error() }, - loadFilesFromDB: function() { FS.error() }, - - ErrnoError: function ErrnoError() { FS.error() }, -}; -Module['FS_createDataFile'] = FS.createDataFile; -Module['FS_createPreloadedFile'] = FS.createPreloadedFile; - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]) }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = Runtime.GLOBAL_BASE; - -STATICTOP = STATIC_BASE + 25008; -/* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,160,64,0,0,160,64,0,0,160,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,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,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,15,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,15,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,15,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,15,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,15,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,15,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,15,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,15,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,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,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,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,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,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,128,63,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,14,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,171,93,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,14,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,109,101,115,104,32,103,101,110,101,114,97,116,105,111,110,0,77,79,85,83,69,32,76,69,70,84,32,66,85,84,84,79,78,32,116,111,32,67,89,67,76,69,32,80,82,79,67,69,68,85,82,65,76,32,77,79,68,69,76,83,0,80,76,65,78,69,0,67,85,66,69,0,83,80,72,69,82,69,0,72,69,77,73,83,80,72,69,82,69,0,67,89,76,73,78,68,69,82,0,84,79,82,85,83,0,75,78,79,84,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,69,112,115,105,108,111,110,32,118,97,108,117,101,32,105,115,32,116,111,111,32,108,97,114,103,101,46,0,99,105,32,61,61,32,110,112,111,105,110,116,115,0,46,47,101,120,116,101,114,110,97,108,47,112,97,114,95,115,104,97,112,101,115,46,104,0,112,97,114,95,115,104,97,112,101,115,95,95,119,101,108,100,95,112,111,105,110,116,115,0,114,97,100,105,117,115,32,60,61,32,49,46,48,32,38,38,32,34,85,115,101,32,115,109,97,108,108,101,114,32,114,97,100,105,117,115,32,116,111,32,97,118,111,105,100,32,115,101,108,102,45,105,110,116,101,114,115,101,99,116,105,111,110,46,34,0,112,97,114,95,115,104,97,112,101,115,95,99,114,101,97,116,101,95,116,111,114,117,115,0,114,97,100,105,117,115,32,62,61,32,48,46,49,32,38,38,32,34,85,115,101,32,108,97,114,103,101,114,32,114,97,100,105,117,115,32,116,111,32,97,118,111,105,100,32,115,101,108,102,45,105,110,116,101,114,115,101,99,116,105,111,110,46,34,0,114,97,100,105,117,115,32,60,61,32,51,46,48,32,38,38,32,34,85,115,101,32,115,109,97,108,108,101,114,32,114,97,100,105,117,115,32,116,111,32,97,118,111,105,100,32,115,101,108,102,45,105,110,116,101,114,115,101,99,116,105,111,110,46,34,0,112,97,114,95,115,104,97,112,101,115,95,99,114,101,97,116,101,95,116,114,101,102,111,105,108,95,107,110,111,116,0,114,97,100,105,117,115,32,62,61,32,48,46,53,32,38,38,32,34,85,115,101,32,108,97,114,103,101,114,32,114,97,100,105,117,115,32,116,111,32,97,118,111,105,100,32,115,101,108,102,45,105,110,116,101,114,115,101,99,116,105,111,110,46,34,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,56,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,59,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,0,99,111,108,68,105,102,102,117,115,101,0,116,101,120,116,117,114,101,48,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },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 frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - - - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - 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); }; - } - - // Extension available from Firefox 25 and WebKit - 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"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - 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 _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - 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); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var 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 { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - 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/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - 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++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },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 /* do not set timing and call scheduler, we will do it on the next lines */); - _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; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - 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; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - 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) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - 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(); // empty shim - 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); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - 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)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - 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) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - 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; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['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); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - 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) { - Module.printErr('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) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - 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 () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - 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(); - } // drop it on the floor otherwise, next interval will kick in - }, 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) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - 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); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - 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 () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['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; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function (event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function (event) { - GLFW.refreshJoysticks(); - },onKeydown:function (event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function (event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function (cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function () { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setDropCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.dropFunc = cbfun; - },onDrop:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data), { encoding: 'binary' }); - if (++written === count) { - Module['dynCall_viii'](GLFW.active.dropFunc, GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - var SYSCALLS={varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - - // Chromium does not fire the gamepadconnected event on reload, so we need to get the number of gamepads here as a workaround. - // See https://bugs.chromium.org/p/chromium/issues/detail?id=502824 - var firstState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null); - if (firstState) { - JSEvents.numGamepadsConnected = firstState.length; - } - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceMotionEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _glfwGetMouseButton(winid, button) { - return GLFW.getMouseButton(winid, button); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - 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 _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - // NOTE: offset_high is unused - Emscripten's off_t is 32-bit - var offset = offset_low; - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - // hack to support printf in NO_FILESYSTEM - var stream = SYSCALLS.get(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - var ret = 0; - if (!___syscall146.buffer) { - ___syscall146.buffers = [null, [], []]; // 1 => stdout, 2 => stderr - ___syscall146.printChar = function(stream, curr) { - var buffer = ___syscall146.buffers[stream]; - assert(buffer); - if (curr === 0 || curr === 10) { - (stream === 1 ? Module['print'] : Module['printErr'])(UTF8ArrayToString(buffer, 0)); - buffer.length = 0; - } else { - buffer.push(curr); - } - }; - } - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - for (var j = 0; j < len; j++) { - ___syscall146.printChar(stream, HEAPU8[ptr+j]); - } - ret += len; - } - return ret; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - - - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } -var GLctx; GL.init(); -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 self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("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) }; -JSEvents.staticInit();; -/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { var fflush = Module["_fflush"]; if (fflush) fflush(0); var printChar = ___syscall146.printChar; if (!printChar) return; var buffers = ___syscall146.buffers; if (buffers[1].length) printChar(1, 10); if (buffers[2].length) printChar(2, 10); });; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); - -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; - -staticSealed = true; // seal the static portion of memory - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_glVertexAttrib4f": _glVertexAttrib4f, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_glVertexAttrib3f": _glVertexAttrib3f, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glVertexAttrib2f": _glVertexAttrib2f, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { -'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_max=global.Math.max; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var enlargeMemory=env.enlargeMemory; - var getTotalMemory=env.getTotalMemory; - var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; - var abortStackOverflow=env.abortStackOverflow; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _glVertexAttrib4f=env._glVertexAttrib4f; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _glVertexAttrib3f=env._glVertexAttrib3f; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var ___syscall146=env.___syscall146; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glVertexAttrib2f=env._glVertexAttrib2f; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var ___syscall6=env.___syscall6; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _glfwGetMouseButton=env._glfwGetMouseButton; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _glfwGetKey=env._glfwGetKey; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS - -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $$byval_copy = 0, $$byval_copy17 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 5360|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(5360|0); - $$byval_copy17 = sp + 4744|0; - $$byval_copy = sp + 20|0; - $0 = sp; - $1 = sp + 5352|0; - $2 = sp + 5348|0; - $3 = sp + 4676|0; - $4 = sp + 4072|0; - $5 = sp + 4004|0; - $6 = sp + 3400|0; - $7 = sp + 3332|0; - $8 = sp + 2728|0; - $9 = sp + 2660|0; - $10 = sp + 2056|0; - $11 = sp + 1988|0; - $12 = sp + 1384|0; - $13 = sp + 1316|0; - $14 = sp + 712|0; - $15 = sp + 644|0; - $16 = sp + 40|0; - $17 = HEAP32[2]|0; - $18 = HEAP32[3]|0; - _InitWindow($17,$18,3928); - HEAP8[$1>>0] = -26; - $19 = ((($1)) + 1|0); - HEAP8[$19>>0] = 41; - $20 = ((($1)) + 2|0); - HEAP8[$20>>0] = 55; - $21 = ((($1)) + 3|0); - HEAP8[$21>>0] = -1; - HEAP8[$2>>0] = 0; - $22 = ((($2)) + 1|0); - HEAP8[$22>>0] = -28; - $23 = ((($2)) + 2|0); - HEAP8[$23>>0] = 48; - $24 = ((($2)) + 3|0); - HEAP8[$24>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; - ;HEAP8[$$byval_copy17>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy17+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy17+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy17+3>>0]=HEAP8[$2+3>>0]|0; - _GenImageChecked($0,2,2,1,1,$$byval_copy,$$byval_copy17); - ;HEAP32[$$byval_copy17>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy17+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy17+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy17+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($$byval_copy,$$byval_copy17); - ;HEAP32[$$byval_copy17>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy17+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy17+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy17+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy17); - _GenMeshPlane($3,2.0,2.0,5,5); - dest=$$byval_copy17; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModelFromMesh($4,$$byval_copy17); - _memcpy((15344|0),($4|0),604)|0; - _GenMeshCube($5,2.0,1.0,2.0); - dest=$$byval_copy17; src=$5; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModelFromMesh($6,$$byval_copy17); - _memcpy(((15948)|0),($6|0),604)|0; - _GenMeshSphere($7,2.0,32,32); - dest=$$byval_copy17; src=$7; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModelFromMesh($8,$$byval_copy17); - _memcpy(((16552)|0),($8|0),604)|0; - _GenMeshHemiSphere($9,2.0,16,16); - dest=$$byval_copy17; src=$9; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModelFromMesh($10,$$byval_copy17); - _memcpy(((17156)|0),($10|0),604)|0; - _GenMeshCylinder($11,1.0,2.0,16); - dest=$$byval_copy17; src=$11; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModelFromMesh($12,$$byval_copy17); - _memcpy(((17760)|0),($12|0),604)|0; - _GenMeshTorus($13,0.25,4.0,16,32); - dest=$$byval_copy17; src=$13; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModelFromMesh($14,$$byval_copy17); - _memcpy(((18364)|0),($14|0),604)|0; - _GenMeshKnot($15,1.0,2.0,16,128); - dest=$$byval_copy17; src=$15; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModelFromMesh($16,$$byval_copy17); - _memcpy(((18968)|0),($16|0),604)|0; - ;HEAP32[(15608)>>2]=HEAP32[$$byval_copy>>2]|0;HEAP32[(15608)+4>>2]=HEAP32[$$byval_copy+4>>2]|0;HEAP32[(15608)+8>>2]=HEAP32[$$byval_copy+8>>2]|0;HEAP32[(15608)+12>>2]=HEAP32[$$byval_copy+12>>2]|0;HEAP32[(15608)+16>>2]=HEAP32[$$byval_copy+16>>2]|0; - ;HEAP32[(16212)>>2]=HEAP32[$$byval_copy>>2]|0;HEAP32[(16212)+4>>2]=HEAP32[$$byval_copy+4>>2]|0;HEAP32[(16212)+8>>2]=HEAP32[$$byval_copy+8>>2]|0;HEAP32[(16212)+12>>2]=HEAP32[$$byval_copy+12>>2]|0;HEAP32[(16212)+16>>2]=HEAP32[$$byval_copy+16>>2]|0; - ;HEAP32[(16816)>>2]=HEAP32[$$byval_copy>>2]|0;HEAP32[(16816)+4>>2]=HEAP32[$$byval_copy+4>>2]|0;HEAP32[(16816)+8>>2]=HEAP32[$$byval_copy+8>>2]|0;HEAP32[(16816)+12>>2]=HEAP32[$$byval_copy+12>>2]|0;HEAP32[(16816)+16>>2]=HEAP32[$$byval_copy+16>>2]|0; - ;HEAP32[(17420)>>2]=HEAP32[$$byval_copy>>2]|0;HEAP32[(17420)+4>>2]=HEAP32[$$byval_copy+4>>2]|0;HEAP32[(17420)+8>>2]=HEAP32[$$byval_copy+8>>2]|0;HEAP32[(17420)+12>>2]=HEAP32[$$byval_copy+12>>2]|0;HEAP32[(17420)+16>>2]=HEAP32[$$byval_copy+16>>2]|0; - ;HEAP32[(18024)>>2]=HEAP32[$$byval_copy>>2]|0;HEAP32[(18024)+4>>2]=HEAP32[$$byval_copy+4>>2]|0;HEAP32[(18024)+8>>2]=HEAP32[$$byval_copy+8>>2]|0;HEAP32[(18024)+12>>2]=HEAP32[$$byval_copy+12>>2]|0;HEAP32[(18024)+16>>2]=HEAP32[$$byval_copy+16>>2]|0; - ;HEAP32[(18628)>>2]=HEAP32[$$byval_copy>>2]|0;HEAP32[(18628)+4>>2]=HEAP32[$$byval_copy+4>>2]|0;HEAP32[(18628)+8>>2]=HEAP32[$$byval_copy+8>>2]|0;HEAP32[(18628)+12>>2]=HEAP32[$$byval_copy+12>>2]|0;HEAP32[(18628)+16>>2]=HEAP32[$$byval_copy+16>>2]|0; - ;HEAP32[(19232)>>2]=HEAP32[$$byval_copy>>2]|0;HEAP32[(19232)+4>>2]=HEAP32[$$byval_copy+4>>2]|0;HEAP32[(19232)+8>>2]=HEAP32[$$byval_copy+8>>2]|0;HEAP32[(19232)+12>>2]=HEAP32[$$byval_copy+12>>2]|0;HEAP32[(19232)+16>>2]=HEAP32[$$byval_copy+16>>2]|0; - dest=$$byval_copy17; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetCameraMode($$byval_copy17,2); - _emscripten_set_main_loop((1|0),0,1); - _memcpy(($$byval_copy17|0),(15344|0),604)|0; - _UnloadModel($$byval_copy17); - _memcpy(($$byval_copy17|0),((15948)|0),604)|0; - _UnloadModel($$byval_copy17); - _memcpy(($$byval_copy17|0),((16552)|0),604)|0; - _UnloadModel($$byval_copy17); - _memcpy(($$byval_copy17|0),((17156)|0),604)|0; - _UnloadModel($$byval_copy17); - _memcpy(($$byval_copy17|0),((17760)|0),604)|0; - _UnloadModel($$byval_copy17); - _memcpy(($$byval_copy17|0),((18364)|0),604)|0; - _UnloadModel($$byval_copy17); - _memcpy(($$byval_copy17|0),((18968)|0),604)|0; - _UnloadModel($$byval_copy17); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$byval_copy1 = 0, $$byval_copy13 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $position$byval_copy = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 720|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(720|0); - $$byval_copy13 = sp + 624|0; - $position$byval_copy = sp + 604|0; - $$byval_copy1 = sp; - $0 = sp + 712|0; - $1 = sp + 616|0; - $2 = sp + 708|0; - $3 = sp + 704|0; - $4 = sp + 700|0; - $5 = sp + 696|0; - $6 = sp + 692|0; - $7 = sp + 688|0; - $8 = sp + 684|0; - $9 = sp + 680|0; - $10 = sp + 676|0; - $11 = sp + 672|0; - $12 = sp + 668|0; - $13 = sp + 664|0; - _UpdateCamera(16); - $14 = (_IsMouseButtonPressed(0)|0); - $15 = ($14|0)==(0); - if (!($15)) { - $16 = HEAP32[3835]|0; - $17 = (($16) + 1)|0; - $18 = (($17|0) % 7)&-1; - HEAP32[3835] = $18; - } - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $19 = ((($0)) + 1|0); - HEAP8[$19>>0] = -11; - $20 = ((($0)) + 2|0); - HEAP8[$20>>0] = -11; - $21 = ((($0)) + 3|0); - HEAP8[$21>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy13); - dest=$$byval_copy13; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy13); - $22 = HEAP32[3835]|0; - $23 = (15344 + (($22*604)|0)|0); - HEAP32[$1>>2] = -1; - _memcpy(($$byval_copy1|0),($23|0),604)|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[15328>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[15328+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[15328+8>>2]|0; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$1+3>>0]|0; - _DrawModel($$byval_copy1,$position$byval_copy,1.0,$$byval_copy13); - _DrawGrid(10,1.0); - _End3dMode(); - HEAP8[$3>>0] = 102; - $24 = ((($3)) + 1|0); - HEAP8[$24>>0] = -65; - $25 = ((($3)) + 2|0); - HEAP8[$25>>0] = -1; - $26 = ((($3)) + 3|0); - HEAP8[$26>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$3+3>>0]|0; - _Fade($2,$$byval_copy13,0.5); - ;HEAP8[$$byval_copy13>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangle(30,400,310,30,$$byval_copy13); - HEAP8[$5>>0] = 0; - $27 = ((($5)) + 1|0); - HEAP8[$27>>0] = 82; - $28 = ((($5)) + 2|0); - HEAP8[$28>>0] = -84; - $29 = ((($5)) + 3|0); - HEAP8[$29>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$5+3>>0]|0; - _Fade($4,$$byval_copy13,0.5); - ;HEAP8[$$byval_copy13>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleLines(30,400,310,30,$$byval_copy13); - HEAP8[$6>>0] = 0; - $30 = ((($6)) + 1|0); - HEAP8[$30>>0] = 121; - $31 = ((($6)) + 2|0); - HEAP8[$31>>0] = -15; - $32 = ((($6)) + 3|0); - HEAP8[$32>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(3970,40,410,10,$$byval_copy13); - $33 = HEAP32[3835]|0; - switch ($33|0) { - case 0: { - HEAP8[$7>>0] = 0; - $34 = ((($7)) + 1|0); - HEAP8[$34>>0] = 82; - $35 = ((($7)) + 2|0); - HEAP8[$35>>0] = -84; - $36 = ((($7)) + 3|0); - HEAP8[$36>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$7+3>>0]|0; - _DrawText(4015,680,10,20,$$byval_copy13); - _EndDrawing(); - STACKTOP = sp;return; - break; - } - case 1: { - HEAP8[$8>>0] = 0; - $37 = ((($8)) + 1|0); - HEAP8[$37>>0] = 82; - $38 = ((($8)) + 2|0); - HEAP8[$38>>0] = -84; - $39 = ((($8)) + 3|0); - HEAP8[$39>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$8+3>>0]|0; - _DrawText(4021,680,10,20,$$byval_copy13); - _EndDrawing(); - STACKTOP = sp;return; - break; - } - case 2: { - HEAP8[$9>>0] = 0; - $40 = ((($9)) + 1|0); - HEAP8[$40>>0] = 82; - $41 = ((($9)) + 2|0); - HEAP8[$41>>0] = -84; - $42 = ((($9)) + 3|0); - HEAP8[$42>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$9+3>>0]|0; - _DrawText(4026,680,10,20,$$byval_copy13); - _EndDrawing(); - STACKTOP = sp;return; - break; - } - case 3: { - HEAP8[$10>>0] = 0; - $43 = ((($10)) + 1|0); - HEAP8[$43>>0] = 82; - $44 = ((($10)) + 2|0); - HEAP8[$44>>0] = -84; - $45 = ((($10)) + 3|0); - HEAP8[$45>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$10+3>>0]|0; - _DrawText(4033,640,10,20,$$byval_copy13); - _EndDrawing(); - STACKTOP = sp;return; - break; - } - case 4: { - HEAP8[$11>>0] = 0; - $46 = ((($11)) + 1|0); - HEAP8[$46>>0] = 82; - $47 = ((($11)) + 2|0); - HEAP8[$47>>0] = -84; - $48 = ((($11)) + 3|0); - HEAP8[$48>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$11+3>>0]|0; - _DrawText(4044,680,10,20,$$byval_copy13); - _EndDrawing(); - STACKTOP = sp;return; - break; - } - case 5: { - HEAP8[$12>>0] = 0; - $49 = ((($12)) + 1|0); - HEAP8[$49>>0] = 82; - $50 = ((($12)) + 2|0); - HEAP8[$50>>0] = -84; - $51 = ((($12)) + 3|0); - HEAP8[$51>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$12+3>>0]|0; - _DrawText(4053,680,10,20,$$byval_copy13); - _EndDrawing(); - STACKTOP = sp;return; - break; - } - case 6: { - HEAP8[$13>>0] = 0; - $52 = ((($13)) + 1|0); - HEAP8[$52>>0] = 82; - $53 = ((($13)) + 2|0); - HEAP8[$53>>0] = -84; - $54 = ((($13)) + 3|0); - HEAP8[$54>>0] = -1; - ;HEAP8[$$byval_copy13>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$13+3>>0]|0; - _DrawText(4059,680,10,20,$$byval_copy13); - _EndDrawing(); - STACKTOP = sp;return; - break; - } - default: { - _EndDrawing(); - STACKTOP = sp;return; - } - } -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[15048>>0]=HEAP8[4064>>0]|0;HEAP8[15048+1>>0]=HEAP8[4064+1>>0]|0;HEAP8[15048+2>>0]=HEAP8[4064+2>>0]|0;HEAP8[15048+3>>0]=HEAP8[4064+3>>0]|0;HEAP8[15048+4>>0]=HEAP8[4064+4>>0]|0;HEAP8[15048+5>>0]=HEAP8[4064+5>>0]|0;HEAP8[15048+6>>0]=HEAP8[4064+6>>0]|0; - break; - } - case 2: { - $3 = 15048; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 1: { - dest=15048; src=4071; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 15048; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(15048,$1)|0); - $strlen = (_strlen(15048)|0); - $endptr = (15048 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(15048,$2)|0); - $12 = ($0|0)==(2); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(19596)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (56 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19572>>2]=HEAP32[$1>>2]|0;HEAP32[19572+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19572+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19572+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19572+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(19596)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(19600)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(19592)>>2] = $23; - $24 = HEAP32[4893]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4081,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(19576)>>2]|0; - $10 = HEAP32[(19596)>>2]|0; - $11 = HEAP32[(19600)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2104 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(19592)>>2] = $23; - $24 = HEAP32[4893]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4081,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(9); - $6 = ($1|0)<(9); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(1,4507,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $10; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(3,4126,$vararg_buffer); - HEAP32[$0>>2] = $11; - $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; - $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; - $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; - STACKTOP = sp;return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } - _free($1); - return; -} -function _rlLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[4901]|0; - $7 = ($6|0)==(0); - $$off = (($3) + -9)|0; - $8 = ($$off>>>0)<(4); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(1,4176,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[4902]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(13); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(1,4220,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[4903]|0; - $13 = ($12|0)==(0); - $14 = $3 | 1; - $15 = ($14|0)==(15); - $or$cond97 = $15 & $13; - if ($or$cond97) { - _TraceLog(1,4265,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $16 = HEAP32[4904]|0; - $17 = ($16|0)==(0); - $18 = ($14|0)==(17); - $or$cond99 = $18 & $17; - if ($or$cond99) { - _TraceLog(1,4310,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $19 = HEAP32[4905]|0; - $20 = ($19|0)==(0); - $21 = ($14|0)==(19); - $or$cond101 = $21 & $20; - if ($or$cond101) { - _TraceLog(1,4355,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $22 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($22|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $23 = HEAP32[4906]|0; - $24 = ($23|0)==(0); - if (!($24)) { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); - } - break; - } - case 9: { - $25 = HEAP32[4901]|0; - $26 = ($25|0)==(0); - if (!($26)) { - _LoadTextureCompressed($0,$1,$2,33776,$4); - } - break; - } - case 10: { - $27 = HEAP32[4901]|0; - $28 = ($27|0)==(0); - if (!($28)) { - _LoadTextureCompressed($0,$1,$2,33777,$4); - } - break; - } - case 11: { - $29 = HEAP32[4901]|0; - $30 = ($29|0)==(0); - if (!($30)) { - _LoadTextureCompressed($0,$1,$2,33778,$4); - } - break; - } - case 12: { - $31 = HEAP32[4901]|0; - $32 = ($31|0)==(0); - if (!($32)) { - _LoadTextureCompressed($0,$1,$2,33779,$4); - } - break; - } - case 13: { - $33 = HEAP32[4902]|0; - $34 = ($33|0)==(0); - if (!($34)) { - _LoadTextureCompressed($0,$1,$2,36196,$4); - } - break; - } - case 14: { - $35 = HEAP32[4903]|0; - $36 = ($35|0)==(0); - if (!($36)) { - _LoadTextureCompressed($0,$1,$2,37492,$4); - } - break; - } - case 15: { - $37 = HEAP32[4903]|0; - $38 = ($37|0)==(0); - if (!($38)) { - _LoadTextureCompressed($0,$1,$2,37496,$4); - } - break; - } - case 16: { - $39 = HEAP32[4904]|0; - $40 = ($39|0)==(0); - if (!($40)) { - _LoadTextureCompressed($0,$1,$2,35840,$4); - } - break; - } - case 17: { - $41 = HEAP32[4904]|0; - $42 = ($41|0)==(0); - if (!($42)) { - _LoadTextureCompressed($0,$1,$2,35842,$4); - } - break; - } - case 18: { - $43 = HEAP32[4905]|0; - $44 = ($43|0)==(0); - if (!($44)) { - _LoadTextureCompressed($0,$1,$2,37808,$4); - } - break; - } - case 19: { - $45 = HEAP32[4905]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _LoadTextureCompressed($0,$1,$2,37815,$4); - } - break; - } - default: { - _TraceLog(1,4400,$vararg_buffer9); - } - } - } while(0); - $47 = HEAP32[4907]|0; - $48 = ($47|0)==(0); - if ($48) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $49 = HEAP32[$5>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(1,4478,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $49; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,4429,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadTextureCompressed($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($3|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($4|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($3|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($4|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(1,4561,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19572>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19572+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19572+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19572+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19572+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(19600)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,4607,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19572>>2]|0;HEAP32[$0+4>>2]=HEAP32[19572+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19572+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19572+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19572+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19572+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19572+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19572+28>>2]|0; - return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($23<<24>>24) { - case 10: { - $25 = HEAP32[$9>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = (($26) + ($25))|0; - $28 = (+($27|0)); - $29 = $12 * $28; - $30 = (~~(($29))); - $31 = (($30) + ($$05153))|0; - $$150 = 0;$$152 = $31;$$2 = $$055; - break; - } - case -62: { - $32 = (($$055) + 1)|0; - $33 = (($1) + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $$1 = $32;$$sink = $35; - label = 8; - break; - } - case -61: { - $36 = (($$055) + 1)|0; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($39) + 64)|0; - $$1 = $36;$$sink = $40; - label = 8; - break; - } - default: { - $$1 = $$055;$$sink = $24; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4957]|0; - $2 = HEAP32[4955]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - $10 = (($2) + 1)|0; - if ($9) { - HEAP32[4955] = $10; - $12 = $10; - } else { - $$pr = HEAP32[4955]|0; - $12 = $$pr; - } - $11 = ($12|0)>(255); - if ($11) { - _rlglDraw(); - HEAP32[4955] = 1; - } - $13 = HEAP32[4957]|0; - $14 = HEAP32[4955]|0; - $15 = (($14) + -1)|0; - $16 = (((($13) + (($15*144)|0)|0)) + 8|0); - HEAP32[$16>>2] = $0; - $17 = (($13) + (($15*144)|0)|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[5143]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(2,4736,$vararg_buffer); - } - $2 = HEAP32[5143]|0; - $3 = (20576 + ($2<<6)|0); - $4 = HEAP32[5400]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[5143]|0; - $6 = (($5) + 1)|0; - HEAP32[5143] = $6; - $7 = HEAP32[5405]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[5401] = 1; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - $5 = HEAP32[5400]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _Vector3Normalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[5400]|0; - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5404] = $0; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[5404]|0; - switch ($4|0) { - case 1: { - $$sink37 = (19840);$$sink38 = (19852); - break; - } - case 4: { - $$sink37 = (19888);$$sink38 = (19900); - break; - } - case 7: { - $$sink37 = (19648);$$sink38 = (19660); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[5404]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(19656)>>2]|0; - $5 = HEAP32[(19644)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(19644)>>2] = $10; - return; -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[750]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[5401]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5402]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[5403]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5400]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Vector3Transform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[5402]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[5401] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[5403]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[5402]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[5401] = 0; - } - HEAP32[5402] = 0; - } - $21 = HEAP32[5404]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[4958]|0; - $23 = HEAP32[(19840)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(19852)>>2]|0; - $28 = HEAP32[(19840)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(19852)>>2]|0; - $35 = HEAP32[(19840)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(19852)>>2]|0; - $43 = HEAP32[(19840)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(19852)>>2]|0; - $51 = HEAP32[(19840)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(19840)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(19840)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[4970]|0; - $62 = HEAP32[(19888)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(19900)>>2]|0; - $67 = HEAP32[(19888)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(19900)>>2]|0; - $74 = HEAP32[(19888)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(19900)>>2]|0; - $82 = HEAP32[(19888)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(19900)>>2]|0; - $90 = HEAP32[(19888)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(19888)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(19888)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[4910]|0; - $101 = HEAP32[(19648)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(19660)>>2]|0; - $106 = HEAP32[(19648)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(19660)>>2]|0; - $113 = HEAP32[(19648)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(19660)>>2]|0; - $121 = HEAP32[(19648)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(19660)>>2]|0; - $129 = HEAP32[(19648)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(19648)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(19648)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[4910]|0; - $140 = HEAP32[(19644)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(19656)>>2]|0; - $$promoted = HEAP32[(19644)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(19644)>>2] = $147; - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[750]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[750] = $149; - STACKTOP = sp;return; - } - } -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5143]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[5143]|0; - $3 = (($2) + -1)|0; - $4 = (20576 + ($3<<6)|0); - $5 = HEAP32[5400]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[5143] = $6; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4910]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateBuffersDefault(); - _DrawBuffersDefault(); - return; -} -function _UpdateBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4958]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[5015]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[5016]|0; - $5 = HEAP32[(19860)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(19864)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4958]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(19844)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19868)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19840)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(19852)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[4970]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[5015]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[5016]|0; - $19 = HEAP32[(19908)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(19912)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4970]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(19892)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19916)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19888)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(19900)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[4910]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[5015]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[5016]|0; - $33 = HEAP32[(19668)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(19672)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4910]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(19652)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19676)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4910]|0; - $40 = $39 << 3; - $41 = HEAP32[(19656)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19680)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4910]|0; - $44 = $43 << 2; - $45 = HEAP32[(19660)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[5015]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[5016]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawBuffersDefault() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=19688; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=19752; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4954]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[4958]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[4970]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[4910]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[4982]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19752; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=19688; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19956)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19976)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19988)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[4958]|0; - $20 = ($19|0)>(0); - if ($20) { - _glActiveTexture(33984); - $21 = HEAP32[4956]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[5015]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(19864)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19932)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19932)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19868)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19952)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19952)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[5016]|0; - $25 = HEAP32[(19860)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[4958]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[5015]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[4970]|0; - $36 = ($35|0)>(0); - if ($36) { - _glActiveTexture(33984); - $37 = HEAP32[4956]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[5015]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(19912)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19932)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19932)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19916)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19952)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19952)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[5016]|0; - $41 = HEAP32[(19908)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[4970]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[5015]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[4910]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[5015]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(19672)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19932)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19932)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19676)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19936)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19936)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19680)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19952)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19952)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19684)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[5016]|0; - $56 = HEAP32[(19668)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[4955]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[4957]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - _glActiveTexture(33984); - $76 = HEAP32[4957]|0; - $77 = (((($76) + (($$031*144)|0)|0)) + 8|0); - $78 = HEAP32[$77>>2]|0; - _glBindTexture(3553,($78|0)); - $79 = $$02830 << 1; - $80 = $79; - _glDrawElements(4,($75|0),5123,($80|0)); - $81 = HEAP32[4957]|0; - $82 = (($81) + (($$031*144)|0)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83|0) / 4)&-1; - $85 = ($84*6)|0; - $86 = (($85) + ($$02830))|0; - $87 = (($$031) + 1)|0; - $88 = HEAP32[4955]|0; - $89 = ($87|0)<($88|0); - if ($89) { - $$02830 = $86;$$031 = $87; - } else { - break; - } - } - } - $69 = HEAP32[5015]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $90 = HEAP32[5015]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = HEAP32[5016]|0; - FUNCTION_TABLE_vi[$92 & 31](0); - } - _glUseProgram(0); - $93 = (($$02932) + 1)|0; - $94 = ($93|0)<($$|0); - if ($94) { - $$02932 = $93; - } else { - break; - } - } - HEAP32[4955] = 1; - $5 = HEAP32[4956]|0; - $6 = HEAP32[4957]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[4958] = 0; - HEAP32[(19840)>>2] = 0; - HEAP32[4970] = 0; - HEAP32[(19888)>>2] = 0; - HEAP32[4910] = 0; - HEAP32[(19644)>>2] = 0; - HEAP32[(19648)>>2] = 0; - HEAPF32[750] = -1.0; - dest=19688; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19752; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5033]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5034]|0; - _rlViewport($7,0,$8,$9); - $10 = (20444 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20316 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 * $4; - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($1)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($2)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($1)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($2)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($2)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($2)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($2)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($2)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($2)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($2)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($2)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($2)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($2)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($2)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($2)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($2)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($1)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($1)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($1)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($1)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($1)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($1)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($1)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($1)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($1)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($1)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($1)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($1)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixToFloat($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[5017] = $1; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(20072)>>2] = $3; - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(20076)>>2] = $5; - $6 = ((($0)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(20080)>>2] = $7; - $8 = ((($0)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(20084)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(20088)>>2] = $11; - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(20092)>>2] = $13; - $14 = ((($0)) + 52|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(20096)>>2] = $15; - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(20100)>>2] = $17; - $18 = ((($0)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(20104)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(20108)>>2] = $21; - $22 = ((($0)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(20112)>>2] = $23; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(20116)>>2] = $25; - $26 = ((($0)) + 28|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(20120)>>2] = $27; - $28 = ((($0)) + 44|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(20124)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(20128)>>2] = $31; - return (20068|0); -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=19752; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=19688; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Vector3Transform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = HEAP32[5401]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5403]|0; - $6 = HEAP32[5402]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[5402] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[5404]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[4958]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(19844)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[4958] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(2,4657,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[4970]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(19892)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[4970] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(2,4682,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[4910]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(19652)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[4910] = $41; - $42 = HEAP32[4957]|0; - $43 = HEAP32[4955]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(2,4711,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _Vector3Normalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_Vector3Length($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _Vector3Length($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = 0.0; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = 0.0; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = 0.0; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $2; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = 0.0; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = 0.0; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = 0.0; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = 0.0; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = 0.0; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[5400]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _GenImageChecked($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$02428 = 0, $$027 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; - var $exitcond30 = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $1 << 2; - $8 = Math_imul($7, $2)|0; - $9 = (_malloc($8)|0); - $10 = ($2|0)>(0); - if (!($10)) { - _LoadImageEx($0,$9,$1,$2); - _free($9); - return; - } - $11 = ($1|0)>(0); - $$02428 = 0; - while(1) { - if ($11) { - $12 = (($$02428|0) / ($4|0))&-1; - $13 = Math_imul($$02428, $1)|0; - $$027 = 0; - while(1) { - $15 = (($$027|0) / ($3|0))&-1; - $16 = (($12) + ($15))|0; - $17 = $16 & 1; - $18 = ($17|0)==(0); - $19 = (($$027) + ($13))|0; - $20 = (($9) + ($19<<2)|0); - $$sink = $18 ? $5 : $6; - $21 = HEAPU8[$$sink>>0]|(HEAPU8[$$sink+1>>0]<<8)|(HEAPU8[$$sink+2>>0]<<16)|(HEAPU8[$$sink+3>>0]<<24); - HEAP8[$20>>0]=$21&255;HEAP8[$20+1>>0]=($21>>8)&255;HEAP8[$20+2>>0]=($21>>16)&255;HEAP8[$20+3>>0]=$21>>24; - $22 = (($$027) + 1)|0; - $exitcond = ($22|0)==($1|0); - if ($exitcond) { - break; - } else { - $$027 = $22; - } - } - } - $14 = (($$02428) + 1)|0; - $exitcond30 = ($14|0)==($2|0); - if ($exitcond30) { - break; - } else { - $$02428 = $14; - } - } - _LoadImageEx($0,$9,$1,$2); - _free($9); - return; -} -function _par_shapes_create_cylinder($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)<(3); - $3 = ($1|0)<(1); - $or$cond = $2 | $3; - if ($or$cond) { - $$0 = 0; - return ($$0|0); - } - $4 = (_par_shapes_create_parametric(1,$0,$1,0)|0); - $$0 = $4; - return ($$0|0); -} -function _par_shapes__cylinder($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * 2.0; - $6 = $5; - $7 = $6 * 3.1415926535900001; - $8 = $7; - $9 = (+Math_sin((+$8))); - HEAPF32[$1>>2] = $9; - $10 = (+Math_cos((+$8))); - $11 = ((($1)) + 4|0); - HEAPF32[$11>>2] = $10; - $12 = HEAP32[$0>>2]|0; - $13 = ((($1)) + 8|0); - HEAP32[$13>>2] = $12; - return; -} -function _par_shapes_create_parametric($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0100109 = 0, $$0101115 = 0, $$0102121 = 0, $$0103120 = 0, $$0105125 = 0, $$0106131 = 0, $$0132 = 0, $$096108 = 0, $$097112 = 0, $$098111 = 0, $$1$lcssa = 0, $$1104$lcssa = 0, $$1104114 = 0, $$1126 = 0, $$199$lcssa = 0, $$199107 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0; - var $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0; - var $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $exitcond = 0, $exitcond138 = 0, $exitcond140 = 0, $exitcond141 = 0, $exitcond143 = 0; - var $exitcond144 = 0, $scevgep = 0, $scevgep139 = 0, $scevgep142 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $4 = sp + 16|0; - $5 = sp; - $6 = (_calloc(24,1)|0); - $7 = (($1) + 1)|0; - $8 = (($2) + 1)|0; - $9 = Math_imul($8, $7)|0; - $10 = ((($6)) + 4|0); - HEAP32[$10>>2] = $9; - $11 = ($9*12)|0; - $12 = (_calloc($11,1)|0); - HEAP32[$6>>2] = $12; - $13 = ($2|0)<(0); - if (!($13)) { - $14 = (+($2|0)); - $15 = ($1|0)<(0); - $16 = (+($1|0)); - $17 = ((($4)) + 4|0); - $18 = ((($5)) + 4|0); - $19 = ((($5)) + 8|0); - $20 = ($1*3)|0; - $21 = (($20) + 3)|0; - $$0106131 = 0;$$0132 = $12; - while(1) { - $33 = (+($$0106131|0)); - $34 = $33 / $14; - HEAPF32[$4>>2] = $34; - if ($15) { - $$1$lcssa = $$0132; - } else { - $$0105125 = 0;$$1126 = $$0132; - while(1) { - $36 = (+($$0105125|0)); - $37 = $36 / $16; - HEAPF32[$17>>2] = $37; - FUNCTION_TABLE_viii[$0 & 63]($4,$5,$3); - $38 = HEAP32[$5>>2]|0; - $39 = ((($$1126)) + 4|0); - HEAP32[$$1126>>2] = $38; - $40 = HEAP32[$18>>2]|0; - $41 = ((($$1126)) + 8|0); - HEAP32[$39>>2] = $40; - $42 = HEAP32[$19>>2]|0; - $43 = ((($$1126)) + 12|0); - HEAP32[$41>>2] = $42; - $44 = (($$0105125) + 1)|0; - $exitcond143 = ($44|0)==($7|0); - if ($exitcond143) { - break; - } else { - $$0105125 = $44;$$1126 = $43; - } - } - $scevgep142 = (($$0132) + ($21<<2)|0); - $$1$lcssa = $scevgep142; - } - $35 = (($$0106131) + 1)|0; - $exitcond144 = ($$0106131|0)==($2|0); - if ($exitcond144) { - break; - } else { - $$0106131 = $35;$$0132 = $$1$lcssa; - } - } - } - $22 = HEAP32[$10>>2]|0; - $23 = $22 << 3; - $24 = (_calloc($23,1)|0); - $25 = ((($6)) + 20|0); - HEAP32[$25>>2] = $24; - $26 = ($2|0)<(0); - if (!($26)) { - $27 = (+($2|0)); - $28 = ($1|0)<(0); - $29 = (+($1|0)); - $30 = ((($4)) + 4|0); - $31 = $1 << 1; - $32 = (($31) + 2)|0; - $$0102121 = 0;$$0103120 = $24; - while(1) { - $56 = (+($$0102121|0)); - $57 = $56 / $27; - HEAPF32[$4>>2] = $57; - if ($28) { - $$1104$lcssa = $$0103120; - } else { - $$0101115 = 0;$$1104114 = $$0103120; - while(1) { - $59 = (+($$0101115|0)); - $60 = $59 / $29; - HEAPF32[$30>>2] = $60; - $61 = HEAP32[$4>>2]|0; - $62 = ((($$1104114)) + 4|0); - HEAP32[$$1104114>>2] = $61; - $63 = HEAP32[$30>>2]|0; - $64 = ((($$1104114)) + 8|0); - HEAP32[$62>>2] = $63; - $65 = (($$0101115) + 1)|0; - $exitcond140 = ($65|0)==($7|0); - if ($exitcond140) { - break; - } else { - $$0101115 = $65;$$1104114 = $64; - } - } - $scevgep139 = (($$0103120) + ($32<<2)|0); - $$1104$lcssa = $scevgep139; - } - $58 = (($$0102121) + 1)|0; - $exitcond141 = ($$0102121|0)==($2|0); - if ($exitcond141) { - break; - } else { - $$0102121 = $58;$$0103120 = $$1104$lcssa; - } - } - } - $45 = $1 << 1; - $46 = Math_imul($45, $2)|0; - $47 = ((($6)) + 12|0); - HEAP32[$47>>2] = $46; - $48 = ($46*6)|0; - $49 = (_calloc($48,1)|0); - $50 = ((($6)) + 8|0); - HEAP32[$50>>2] = $49; - $51 = ($2|0)>(0); - if (!($51)) { - _par_shapes__compute_welded_normals($6); - STACKTOP = sp;return ($6|0); - } - $52 = ($1|0)>(0); - $53 = (($1) + 1)|0; - $54 = (($1) + 1)|0; - $55 = ($1*6)|0; - $$0100109 = 0;$$097112 = 0;$$098111 = $49; - while(1) { - if ($52) { - $$096108 = 0;$$199107 = $$098111; - while(1) { - $68 = (($$096108) + 1)|0; - $69 = (($$096108) + ($$0100109))|0; - $70 = (($53) + ($69))|0; - $71 = $70&65535; - $72 = ((($$199107)) + 2|0); - HEAP16[$$199107>>1] = $71; - $73 = (($68) + ($$0100109))|0; - $74 = $73&65535; - $75 = ((($$199107)) + 4|0); - HEAP16[$72>>1] = $74; - $76 = $69&65535; - $77 = ((($$199107)) + 6|0); - HEAP16[$75>>1] = $76; - $78 = ((($$199107)) + 8|0); - HEAP16[$77>>1] = $71; - $79 = (($54) + ($73))|0; - $80 = $79&65535; - $81 = ((($$199107)) + 10|0); - HEAP16[$78>>1] = $80; - $82 = ((($$199107)) + 12|0); - HEAP16[$81>>1] = $74; - $exitcond = ($68|0)==($1|0); - if ($exitcond) { - break; - } else { - $$096108 = $68;$$199107 = $82; - } - } - $scevgep = (($$098111) + ($55<<1)|0); - $$199$lcssa = $scevgep; - } else { - $$199$lcssa = $$098111; - } - $66 = (($$0100109) + ($7))|0; - $67 = (($$097112) + 1)|0; - $exitcond138 = ($67|0)==($2|0); - if ($exitcond138) { - break; - } else { - $$0100109 = $66;$$097112 = $67;$$098111 = $$199$lcssa; - } - } - _par_shapes__compute_welded_normals($6); - STACKTOP = sp;return ($6|0); -} -function _par_shapes__compute_welded_normals($0) { - $0 = $0|0; - var $$03334 = 0, $$035 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2*12)|0; - $4 = (_malloc($3)|0); - $5 = ((($0)) + 16|0); - HEAP32[$5>>2] = $4; - $6 = $2 << 1; - $7 = (_malloc($6)|0); - $8 = (_par_shapes_weld($0,0.0099999997764825821,$7)|0); - _par_shapes_compute_normals($8); - $9 = HEAP32[$1>>2]|0; - $10 = ($9|0)>(0); - if (!($10)) { - _free($7); - _par_shapes_free_mesh($8); - return; - } - $11 = HEAP32[$5>>2]|0; - $12 = ((($8)) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - $$03334 = 0;$$035 = $11; - while(1) { - $15 = (($7) + ($$03334<<1)|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = ($17*3)|0; - $19 = (($13) + ($18<<2)|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$$035>>2] = $20; - $21 = ((($19)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($$035)) + 4|0); - HEAP32[$23>>2] = $22; - $24 = ((($19)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($$035)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = (($$03334) + 1)|0; - $28 = ((($$035)) + 12|0); - $29 = ($27|0)<($14|0); - if ($29) { - $$03334 = $27;$$035 = $28; - } else { - break; - } - } - _free($7); - _par_shapes_free_mesh($8); - return; -} -function _par_shapes_weld($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - var $$063 = 0, $$06467 = 0, $$065 = 0, $$066 = 0, $$lcssa = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0; - var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0; - var $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $3 = sp; - $4 = (_par_shapes_clone($0,0)|0); - _par_shapes_compute_aabb($4,$3); - $5 = ((($3)) + 12|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$3>>2]; - $8 = $6 == $7; - $9 = $6 - $7; - $10 = 19.0 / $9; - $11 = $8 ? 1.0 : $10; - $12 = ((($3)) + 16|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($3)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 == $15; - $17 = $13 - $15; - $18 = 19.0 / $17; - $19 = $16 ? 1.0 : $18; - $20 = ((($3)) + 20|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($3)) + 8|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 == $23; - $25 = $21 - $23; - $26 = 19.0 / $25; - $27 = $24 ? 1.0 : $26; - $28 = +HEAPF32[$3>>2]; - $29 = -$28; - $30 = -$15; - $31 = -$23; - _par_shapes_translate($4,$29,$30,$31); - _par_shapes_scale($4,$11,$19,$27); - $32 = ((($0)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = $33 << 1; - $35 = (_malloc($34)|0); - _par_shapes__sort_points($4,$35); - $36 = ($2|0)==(0|0); - if ($36) { - $37 = HEAP32[$32>>2]|0; - $38 = $37 << 1; - $39 = (_malloc($38)|0); - $$063 = $39;$$065 = 1; - } else { - $$063 = $2;$$065 = 0; - } - $40 = HEAP32[$32>>2]|0; - $41 = ($40|0)>(0); - if ($41) { - $42 = HEAP32[$32>>2]|0; - $$06467 = 0; - while(1) { - $44 = $$06467&65535; - $45 = (($$063) + ($$06467<<1)|0); - HEAP16[$45>>1] = $44; - $46 = (($$06467) + 1)|0; - $47 = ($46|0)<($42|0); - if ($47) { - $$06467 = $46; - } else { - break; - } - } - } - _par_shapes__weld_points($4,$1,$$063); - $43 = ($$065|0)==(0); - if (!($43)) { - _free($$063); - _free($35); - $62 = 1.0 / $11; - $63 = 1.0 / $19; - $64 = 1.0 / $27; - _par_shapes_scale($4,$62,$63,$64); - $65 = +HEAPF32[$3>>2]; - $66 = +HEAPF32[$14>>2]; - $67 = +HEAPF32[$22>>2]; - _par_shapes_translate($4,$65,$66,$67); - STACKTOP = sp;return ($4|0); - } - $48 = HEAP32[$32>>2]|0; - $49 = $48 << 1; - $50 = (_malloc($49)|0); - $51 = ($48|0)>(0); - if ($51) { - $52 = HEAP32[$32>>2]|0; - $$066 = 0; - while(1) { - $54 = (($35) + ($$066<<1)|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55&65535; - $57 = (($$063) + ($56<<1)|0); - $58 = HEAP16[$57>>1]|0; - $59 = (($50) + ($$066<<1)|0); - HEAP16[$59>>1] = $58; - $60 = (($$066) + 1)|0; - $61 = ($60|0)<($52|0); - if ($61) { - $$066 = $60; - } else { - $$lcssa = $52; - break; - } - } - } else { - $$lcssa = $48; - } - $53 = $$lcssa << 1; - _memcpy(($$063|0),($50|0),($53|0))|0; - _free($50); - _free($35); - $62 = 1.0 / $11; - $63 = 1.0 / $19; - $64 = 1.0 / $27; - _par_shapes_scale($4,$62,$63,$64); - $65 = +HEAPF32[$3>>2]; - $66 = +HEAPF32[$14>>2]; - $67 = +HEAPF32[$22>>2]; - _par_shapes_translate($4,$65,$66,$67); - STACKTOP = sp;return ($4|0); -} -function _par_shapes_compute_normals($0) { - $0 = $0|0; - var $$05053 = 0, $$05156 = 0, $$05255 = 0, $$054 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $1 = sp + 24|0; - $2 = sp + 12|0; - $3 = sp; - $4 = ((($0)) + 16|0); - $5 = HEAP32[$4>>2]|0; - _free($5); - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7*12)|0; - $9 = (_calloc($8,1)|0); - HEAP32[$4>>2] = $9; - $10 = ((($0)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(0); - if ($14) { - $$05156 = $11;$$05255 = 0; - while(1) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP16[$$05156>>1]|0; - $20 = $19&65535; - $21 = ($20*3)|0; - $22 = (($18) + ($21<<2)|0); - $23 = ((($$05156)) + 2|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24&65535; - $26 = ($25*3)|0; - $27 = (($18) + ($26<<2)|0); - $28 = ((($$05156)) + 4|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = ($30*3)|0; - $32 = (($18) + ($31<<2)|0); - _par_shapes__copy3($1,$27); - _par_shapes__subtract3($1,$22); - _par_shapes__copy3($2,$32); - _par_shapes__subtract3($2,$22); - _par_shapes__cross3($3,$1,$2); - $33 = HEAP32[$4>>2]|0; - $34 = HEAP16[$$05156>>1]|0; - $35 = $34&65535; - $36 = ($35*3)|0; - $37 = (($33) + ($36<<2)|0); - _par_shapes__add3($37,$3); - _par_shapes__copy3($1,$32); - _par_shapes__subtract3($1,$27); - _par_shapes__copy3($2,$22); - _par_shapes__subtract3($2,$27); - _par_shapes__cross3($3,$1,$2); - $38 = HEAP32[$4>>2]|0; - $39 = HEAP16[$23>>1]|0; - $40 = $39&65535; - $41 = ($40*3)|0; - $42 = (($38) + ($41<<2)|0); - _par_shapes__add3($42,$3); - _par_shapes__copy3($1,$22); - _par_shapes__subtract3($1,$32); - _par_shapes__copy3($2,$27); - _par_shapes__subtract3($2,$32); - _par_shapes__cross3($3,$1,$2); - $43 = HEAP32[$4>>2]|0; - $44 = HEAP16[$28>>1]|0; - $45 = $44&65535; - $46 = ($45*3)|0; - $47 = (($43) + ($46<<2)|0); - _par_shapes__add3($47,$3); - $48 = (($$05255) + 1)|0; - $49 = ((($$05156)) + 6|0); - $50 = HEAP32[$12>>2]|0; - $51 = ($48|0)<($50|0); - if ($51) { - $$05156 = $49;$$05255 = $48; - } else { - break; - } - } - } - $15 = HEAP32[$6>>2]|0; - $16 = ($15|0)>(0); - if (!($16)) { - STACKTOP = sp;return; - } - $17 = HEAP32[$4>>2]|0; - $$05053 = $17;$$054 = 0; - while(1) { - _par_shapes__normalize3($$05053); - $52 = (($$054) + 1)|0; - $53 = ((($$05053)) + 12|0); - $54 = HEAP32[$6>>2]|0; - $55 = ($52|0)<($54|0); - if ($55) { - $$05053 = $53;$$054 = $52; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _par_shapes_free_mesh($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - _free($1); - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - _free($3); - $4 = ((($0)) + 16|0); - $5 = HEAP32[$4>>2]|0; - _free($5); - $6 = ((($0)) + 20|0); - $7 = HEAP32[$6>>2]|0; - _free($7); - _free($0); - return; -} -function _par_shapes__copy3($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[$1>>2]|0; - HEAP32[$0>>2] = $2; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 8|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 8|0); - HEAP32[$8>>2] = $7; - return; -} -function _par_shapes__subtract3($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $3 - $2; - HEAPF32[$0>>2] = $4; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 - $6; - HEAPF32[$7>>2] = $9; - $10 = ((($1)) + 8|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 8|0); - $13 = +HEAPF32[$12>>2]; - $14 = $13 - $11; - HEAPF32[$12>>2] = $14; - return; -} -function _par_shapes__cross3($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $22 = ((($0)) + 4|0); - HEAPF32[$22>>2] = $18; - $23 = ((($0)) + 8|0); - HEAPF32[$23>>2] = $21; - return; -} -function _par_shapes__add3($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 + $3; - HEAPF32[$0>>2] = $4; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 + $8; - HEAPF32[$7>>2] = $9; - $10 = ((($1)) + 8|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 8|0); - $13 = +HEAPF32[$12>>2]; - $14 = $11 + $13; - HEAPF32[$12>>2] = $14; - return; -} -function _par_shapes__normalize3($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $sqrtf = (+Math_sqrt((+$10))); - $11 = $sqrtf > 0.0; - if (!($11)) { - return; - } - $12 = 1.0 / $sqrtf; - _par_shapes__scale3($0,$12); - return; -} -function _par_shapes__scale3($0,$1) { - $0 = $0|0; - $1 = +$1; - var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = $2 * $1; - HEAPF32[$0>>2] = $3; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $5 * $1; - HEAPF32[$4>>2] = $6; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $1; - HEAPF32[$7>>2] = $9; - return; -} -function _par_shapes_clone($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (_calloc(24,1)|0); - $$0 = $3; - } else { - $$0 = $1; - } - $4 = ((($0)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($$0)) + 4|0); - HEAP32[$6>>2] = $5; - $7 = HEAP32[$$0>>2]|0; - $8 = ($5*12)|0; - $9 = (_realloc($7,$8)|0); - HEAP32[$$0>>2] = $9; - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$6>>2]|0; - $12 = ($11*12)|0; - _memcpy(($9|0),($10|0),($12|0))|0; - $13 = ((($0)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($$0)) + 12|0); - HEAP32[$15>>2] = $14; - $16 = ((($$0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($14*6)|0; - $19 = (_realloc($17,$18)|0); - HEAP32[$16>>2] = $19; - $20 = ((($0)) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$15>>2]|0; - $23 = ($22*6)|0; - _memcpy(($19|0),($21|0),($23|0))|0; - $24 = ((($0)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0|0); - if (!($26)) { - $27 = ((($$0)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP32[$6>>2]|0; - $30 = ($29*12)|0; - $31 = (_realloc($28,$30)|0); - HEAP32[$27>>2] = $31; - $32 = HEAP32[$24>>2]|0; - $33 = HEAP32[$6>>2]|0; - $34 = ($33*12)|0; - _memcpy(($31|0),($32|0),($34|0))|0; - } - $35 = ((($0)) + 20|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==(0|0); - if ($37) { - return ($$0|0); - } - $38 = ((($$0)) + 20|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$6>>2]|0; - $41 = $40 << 3; - $42 = (_realloc($39,$41)|0); - HEAP32[$38>>2] = $42; - $43 = HEAP32[$35>>2]|0; - $44 = HEAP32[$6>>2]|0; - $45 = $44 << 3; - _memcpy(($42|0),($43|0),($45|0))|0; - return ($$0|0); -} -function _par_shapes_compute_aabb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$05256 = 0, $$055 = 0, $$pn = 0, $$sink = 0, $$sink1 = 0, $$sink2 = 0, $$sink3 = 0, $$sink4 = 0, $$sink5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 12|0); - HEAP32[$4>>2] = $3; - HEAP32[$1>>2] = $3; - $5 = ((($2)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - HEAP32[$7>>2] = $6; - $8 = ((($1)) + 4|0); - HEAP32[$8>>2] = $6; - $9 = ((($2)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 20|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 8|0); - HEAP32[$12>>2] = $10; - $13 = ((($0)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(1); - if (!($15)) { - return; - } - $16 = HEAP32[$13>>2]|0; - $$055 = 1;$$pn = $2; - while(1) { - $$05256 = ((($$pn)) + 12|0); - $17 = +HEAPF32[$$05256>>2]; - $18 = +HEAPF32[$1>>2]; - $19 = $17 > $18; - $$sink1 = $19 ? $1 : $$05256; - $20 = HEAP32[$$sink1>>2]|0; - HEAP32[$1>>2] = $20; - $21 = ((($$pn)) + 16|0); - $22 = +HEAPF32[$21>>2]; - $23 = +HEAPF32[$8>>2]; - $24 = $22 > $23; - $$sink2 = $24 ? $1 : $$05256; - $25 = ((($$sink2)) + 4|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[$8>>2] = $26; - $27 = ((($$pn)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = +HEAPF32[$12>>2]; - $30 = $28 > $29; - $$sink3 = $30 ? $1 : $$05256; - $31 = ((($$sink3)) + 8|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$12>>2] = $32; - $33 = +HEAPF32[$$05256>>2]; - $34 = +HEAPF32[$4>>2]; - $35 = $33 > $34; - $$sink = $35 ? $$05256 : $4; - $36 = HEAP32[$$sink>>2]|0; - HEAP32[$4>>2] = $36; - $37 = +HEAPF32[$21>>2]; - $38 = +HEAPF32[$7>>2]; - $39 = $37 > $38; - $$sink4 = $39 ? $21 : $7; - $40 = HEAP32[$$sink4>>2]|0; - HEAP32[$7>>2] = $40; - $41 = +HEAPF32[$27>>2]; - $42 = +HEAPF32[$11>>2]; - $43 = $41 > $42; - $$sink5 = $43 ? $27 : $11; - $44 = HEAP32[$$sink5>>2]|0; - HEAP32[$11>>2] = $44; - $45 = (($$055) + 1)|0; - $46 = ($45|0)<($16|0); - if ($46) { - $$055 = $45;$$pn = $$05256; - } else { - break; - } - } - return; -} -function _par_shapes_translate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$01213 = 0, $$014 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($0)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - return; - } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$4>>2]|0; - $$01213 = $7;$$014 = 0; - while(1) { - $9 = ((($$01213)) + 4|0); - $10 = +HEAPF32[$$01213>>2]; - $11 = $10 + $1; - HEAPF32[$$01213>>2] = $11; - $12 = ((($$01213)) + 8|0); - $13 = +HEAPF32[$9>>2]; - $14 = $13 + $2; - HEAPF32[$9>>2] = $14; - $15 = ((($$01213)) + 12|0); - $16 = +HEAPF32[$12>>2]; - $17 = $16 + $3; - HEAPF32[$12>>2] = $17; - $18 = (($$014) + 1)|0; - $19 = ($18|0)<($8|0); - if ($19) { - $$01213 = $15;$$014 = $18; - } else { - break; - } - } - return; -} -function _par_shapes_scale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$01213 = 0, $$014 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($0)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - return; - } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$4>>2]|0; - $$01213 = $7;$$014 = 0; - while(1) { - $9 = ((($$01213)) + 4|0); - $10 = +HEAPF32[$$01213>>2]; - $11 = $10 * $1; - HEAPF32[$$01213>>2] = $11; - $12 = ((($$01213)) + 8|0); - $13 = +HEAPF32[$9>>2]; - $14 = $13 * $2; - HEAPF32[$9>>2] = $14; - $15 = ((($$01213)) + 12|0); - $16 = +HEAPF32[$12>>2]; - $17 = $16 * $3; - HEAPF32[$12>>2] = $17; - $18 = (($$014) + 1)|0; - $19 = ($18|0)<($8|0); - if ($19) { - $$01213 = $15;$$014 = $18; - } else { - break; - } - } - return; -} -function _par_shapes__sort_points($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$05 = 0, $$0664 = 0, $$0673 = 0, $$06811 = 0, $$0697 = 0, $$0706 = 0, $$lcssa = 0, $$lcssa1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if ($4) { - $5 = HEAP32[$2>>2]|0; - $$06811 = 0; - while(1) { - $16 = $$06811&65535; - $17 = (($1) + ($$06811<<1)|0); - HEAP16[$17>>1] = $16; - $18 = (($$06811) + 1)|0; - $19 = ($18|0)<($5|0); - if ($19) { - $$06811 = $18; - } else { - $$lcssa1 = $5; - break; - } - } - } else { - $$lcssa1 = $3; - } - HEAP32[5406] = 20; - $6 = HEAP32[$0>>2]|0; - HEAP32[5407] = $6; - _qsort($1,$$lcssa1,2,1); - $7 = HEAP32[$2>>2]|0; - $8 = ($7*12)|0; - $9 = (_malloc($8)|0); - $10 = $7 << 1; - $11 = (_malloc($10)|0); - $12 = ($7|0)>(0); - $13 = HEAP32[$0>>2]|0; - if ($12) { - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$0>>2]|0; - $$0697 = $9;$$0706 = 0;$36 = $13; - while(1) { - $29 = $$0706&65535; - $30 = (($1) + ($$0706<<1)|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = (($11) + ($32<<1)|0); - HEAP16[$33>>1] = $29; - $34 = ($32*3)|0; - $35 = (($36) + ($34<<2)|0); - $37 = ((($35)) + 4|0); - $38 = HEAP32[$35>>2]|0; - $39 = ((($$0697)) + 4|0); - HEAP32[$$0697>>2] = $38; - $40 = ((($37)) + 4|0); - $41 = HEAP32[$37>>2]|0; - $42 = ((($$0697)) + 8|0); - HEAP32[$39>>2] = $41; - $43 = HEAP32[$40>>2]|0; - $44 = ((($$0697)) + 12|0); - HEAP32[$42>>2] = $43; - $45 = (($$0706) + 1)|0; - $46 = ($45|0)<($14|0); - if ($46) { - $$0697 = $44;$$0706 = $45;$36 = $15; - } else { - $$lcssa = $15; - break; - } - } - } else { - $$lcssa = $13; - } - _free($$lcssa); - HEAP32[$0>>2] = $9; - $20 = ((($0)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21*6)|0; - $23 = (_malloc($22)|0); - $24 = ((($0)) + 8|0); - $25 = ($21|0)>(0); - if (!($25)) { - $47 = HEAP32[$24>>2]|0; - _free($47); - HEAP32[$24>>2] = $23; - $48 = HEAP32[$2>>2]|0; - $49 = $48 << 1; - _memcpy(($1|0),($11|0),($49|0))|0; - _free($11); - return; - } - $26 = HEAP32[$24>>2]|0; - $27 = HEAP32[$20>>2]|0; - $28 = ($27*3)|0; - $$05 = 0;$$0664 = $26;$$0673 = $23; - while(1) { - $50 = ((($$0664)) + 2|0); - $51 = HEAP16[$$0664>>1]|0; - $52 = $51&65535; - $53 = (($11) + ($52<<1)|0); - $54 = HEAP16[$53>>1]|0; - $55 = ((($$0673)) + 2|0); - HEAP16[$$0673>>1] = $54; - $56 = (($$05) + 1)|0; - $57 = ($56|0)<($28|0); - if ($57) { - $$05 = $56;$$0664 = $50;$$0673 = $55; - } else { - break; - } - } - $47 = HEAP32[$24>>2]|0; - _free($47); - HEAP32[$24>>2] = $23; - $48 = HEAP32[$2>>2]|0; - $49 = $48 << 1; - _memcpy(($1|0),($11|0),($49|0))|0; - _free($11); - return; -} -function _par_shapes__weld_points($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - var $$024955 = 0, $$025049 = 0, $$025111 = 0, $$0252$lcssa = 0, $$025210 = 0, $$02539 = 0, $$02558 = 0, $$025617 = 0, $$0257$lcssa = 0, $$025716 = 0, $$025915 = 0, $$026014 = 0, $$0262$lcssa = 0, $$026248 = 0, $$026413 = 0, $$026645 = 0, $$026936 = 0, $$027634 = 0, $$027728 = 0, $$027823 = 0; - var $$027940 = 0, $$0280 = 0, $$056 = 0, $$1 = 0, $$1254 = 0, $$1258 = 0, $$1261 = 0, $$1263$lcssa = 0, $$126341 = 0, $$1265 = 0, $$1270$lcssa = 0, $$127029 = 0, $$2 = 0, $$227124 = 0, $$4 = 0, $$4273$ph = 0, $$5 = 0, $$5274 = 0, $$pr = 0, $10 = 0; - var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0.0, $115 = 0, $116 = 0, $117 = 0, $118 = 0; - var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0, $126 = 0, $127 = 0.0, $128 = 0, $129 = 0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0; - var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0; - var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0; - var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0; - var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0; - var $71 = 0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, $or$cond1 = 0, $storemerge = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp + 24|0; - $4 = sp + 12|0; - $5 = sp; - $6 = (_calloc(16000,1)|0); - $7 = ((($0)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$7>>2]|0; - $$024955 = 0;$$056 = -1; - while(1) { - $21 = ($$024955*3)|0; - $22 = (($10) + ($21<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = (~~(($23))); - $25 = ((($22)) + 4|0); - $26 = +HEAPF32[$25>>2]; - $27 = (~~(($26))); - $28 = ((($22)) + 8|0); - $29 = +HEAPF32[$28>>2]; - $30 = (~~(($29))); - $31 = ($27*20)|0; - $32 = (($31) + ($24))|0; - $33 = ($30*400)|0; - $34 = (($32) + ($33))|0; - $35 = ($34|0)==($$056|0); - $36 = (($$024955) + 1)|0; - if (!($35)) { - $38 = (($6) + ($34<<1)|0); - $39 = $36&65535; - HEAP16[$38>>1] = $39; - } - $37 = ($36|0)<($11|0); - if ($37) { - $$024955 = $36;$$056 = $34; - } else { - break; - } - } - $$pr = HEAP32[$7>>2]|0; - $12 = ($$pr|0)>(0); - if ($12) { - $13 = ((($4)) + 4|0); - $14 = ((($5)) + 4|0); - $15 = ((($4)) + 8|0); - $16 = ((($5)) + 8|0); - $17 = ((($4)) + 4|0); - $18 = ((($5)) + 4|0); - $19 = ((($4)) + 8|0); - $20 = ((($5)) + 8|0); - $$025049 = $10;$$026248 = 0;$$026645 = 0; - while(1) { - $50 = (($2) + ($$026645<<1)|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51&65535; - $53 = ($52|0)==($$026645|0); - if ($53) { - $61 = +HEAPF32[$$025049>>2]; - $62 = $61 - $1; - $63 = (~~(($62))); - HEAP32[$4>>2] = $63; - $64 = $61 + $1; - $65 = (~~(($64))); - HEAP32[$5>>2] = $65; - $66 = ((($$025049)) + 4|0); - $67 = +HEAPF32[$66>>2]; - $68 = $67 - $1; - $69 = (~~(($68))); - HEAP32[$17>>2] = $69; - $70 = $67 + $1; - $71 = (~~(($70))); - HEAP32[$18>>2] = $71; - $72 = ((($$025049)) + 8|0); - $73 = +HEAPF32[$72>>2]; - $74 = $73 - $1; - $75 = (~~(($74))); - HEAP32[$19>>2] = $75; - $76 = $73 + $1; - $77 = (~~(($76))); - HEAP32[$20>>2] = $77; - $78 = HEAP32[$4>>2]|0; - $79 = HEAP32[$5>>2]|0; - $80 = ($78|0)>($79|0); - if ($80) { - $$1263$lcssa = $$026248; - } else { - $54 = HEAP32[$13>>2]|0; - $55 = HEAP32[$14>>2]|0; - $56 = ($54|0)>($55|0); - $57 = HEAP32[$5>>2]|0; - $58 = HEAP32[$15>>2]|0; - $59 = HEAP32[$16>>2]|0; - $60 = ($58|0)>($59|0); - $$026936 = 0;$$027634 = $78; - while(1) { - if ($56) { - $$1270$lcssa = $$026936; - } else { - $$027728 = $54;$$127029 = $$026936; - while(1) { - L21: do { - if ($60) { - $$5274 = $$127029; - } else { - $85 = ($$027728*20)|0; - $86 = (($85) + ($$027634))|0; - $$027823 = $58;$$227124 = $$127029; - while(1) { - $87 = ($$027823*400)|0; - $88 = (($86) + ($87))|0; - $89 = (($6) + ($88<<1)|0); - $90 = HEAP16[$89>>1]|0; - $91 = ($90<<16>>16)==(0); - if ($91) { - $$4273$ph = $$227124; - } else { - $92 = ($$227124|0)==(8); - if ($92) { - break; - } - $93 = (($$227124) + 1)|0; - $94 = (($3) + ($$227124<<2)|0); - HEAP32[$94>>2] = $88; - $$4273$ph = $93; - } - $95 = (($$027823) + 1)|0; - $96 = ($$027823|0)<($59|0); - if ($96) { - $$027823 = $95;$$227124 = $$4273$ph; - } else { - $$5274 = $$4273$ph; - break L21; - } - } - (_puts(4774)|0); - $$5274 = 8; - } - } while(0); - $97 = (($$027728) + 1)|0; - $98 = ($$027728|0)<($55|0); - if ($98) { - $$027728 = $97;$$127029 = $$5274; - } else { - $$1270$lcssa = $$5274; - break; - } - } - } - $83 = (($$027634) + 1)|0; - $84 = ($$027634|0)<($57|0); - if ($84) { - $$026936 = $$1270$lcssa;$$027634 = $83; - } else { - break; - } - } - $81 = ($$1270$lcssa|0)>(0); - if ($81) { - $82 = $$026645&65535; - $$027940 = 0;$$126341 = $$026248; - while(1) { - $99 = (($3) + ($$027940<<2)|0); - $100 = HEAP32[$99>>2]|0; - $101 = (($6) + ($100<<1)|0); - $102 = HEAP16[$101>>1]|0; - $103 = $102&65535; - $104 = (($103) + 65535)|0; - $105 = $104&65535; - $$0280 = $105;$$2 = $$126341; - while(1) { - $106 = $$0280&65535; - $107 = ($106|0)==($$026645|0); - if ($107) { - $$4 = $$2; - } else { - $108 = (($2) + ($106<<1)|0); - $109 = HEAP16[$108>>1]|0; - $110 = ($109<<16>>16)==($$0280<<16>>16); - if ($110) { - $111 = HEAP32[$0>>2]|0; - $112 = ($106*3)|0; - $113 = (($111) + ($112<<2)|0); - $114 = (+_par_shapes__sqrdist3($113,$$025049)); - $115 = $114 < $1; - if ($115) { - $116 = (($$2) + 1)|0; - HEAP16[$108>>1] = $82; - $$4 = $116; - } else { - $$4 = $$2; - } - } else { - $$4 = $$2; - } - } - $117 = (($$0280) + 1)<<16>>16; - $118 = $117&65535; - $119 = HEAP32[$7>>2]|0; - $120 = ($118|0)<($119|0); - if (!($120)) { - break; - } - $121 = HEAP32[$0>>2]|0; - $122 = ($118*3)|0; - $123 = (($121) + ($122<<2)|0); - $124 = +HEAPF32[$123>>2]; - $125 = (~~(($124))); - $126 = ((($123)) + 4|0); - $127 = +HEAPF32[$126>>2]; - $128 = (~~(($127))); - $129 = ((($123)) + 8|0); - $130 = +HEAPF32[$129>>2]; - $131 = (~~(($130))); - $132 = ($128*20)|0; - $133 = (($132) + ($125))|0; - $134 = ($131*400)|0; - $135 = (($133) + ($134))|0; - $136 = ($135|0)==($100|0); - if ($136) { - $$0280 = $117;$$2 = $$4; - } else { - break; - } - } - $137 = (($$027940) + 1)|0; - $exitcond = ($137|0)==($$1270$lcssa|0); - if ($exitcond) { - $$1263$lcssa = $$4; - break; - } else { - $$027940 = $137;$$126341 = $$4; - } - } - } else { - $$1263$lcssa = $$026248; - } - } - $$5 = $$1263$lcssa; - } else { - $$5 = $$026248; - } - $138 = (($$026645) + 1)|0; - $139 = ((($$025049)) + 12|0); - $140 = HEAP32[$7>>2]|0; - $141 = ($138|0)<($140|0); - if ($141) { - $$025049 = $139;$$026248 = $$5;$$026645 = $138; - } else { - $$0262$lcssa = $$5; - break; - } - } - } else { - $$0262$lcssa = 0; - } - } else { - $$0262$lcssa = 0; - } - _free($6); - $40 = HEAP32[$7>>2]|0; - $41 = (($40) - ($$0262$lcssa))|0; - $42 = ($41*12)|0; - $43 = (_malloc($42)|0); - $44 = $40 << 1; - $45 = (_malloc($44)|0); - $46 = HEAP32[$7>>2]|0; - $47 = ($46|0)>(0); - if ($47) { - $48 = HEAP32[$0>>2]|0; - $49 = HEAP32[$7>>2]|0; - $$025617 = 0;$$025716 = 0;$$025915 = $48;$$026014 = $45;$$026413 = $43; - while(1) { - $143 = (($2) + ($$025617<<1)|0); - $144 = HEAP16[$143>>1]|0; - $145 = $144&65535; - $146 = ($145|0)==($$025617|0); - if ($146) { - $147 = HEAP32[$$025915>>2]|0; - $148 = ((($$026413)) + 4|0); - HEAP32[$$026413>>2] = $147; - $149 = ((($$025915)) + 4|0); - $150 = HEAP32[$149>>2]|0; - $151 = ((($$026413)) + 8|0); - HEAP32[$148>>2] = $150; - $152 = ((($$025915)) + 8|0); - $153 = HEAP32[$152>>2]|0; - $154 = ((($$026413)) + 12|0); - HEAP32[$151>>2] = $153; - $155 = (($$025716) + 1)|0; - $156 = $$025716&65535; - $$1258 = $155;$$1265 = $154;$storemerge = $156; - } else { - $157 = (($45) + ($145<<1)|0); - $158 = HEAP16[$157>>1]|0; - $$1258 = $$025716;$$1265 = $$026413;$storemerge = $158; - } - $$1261 = ((($$026014)) + 2|0); - HEAP16[$$026014>>1] = $storemerge; - $159 = (($$025617) + 1)|0; - $160 = ((($$025915)) + 12|0); - $161 = ($159|0)<($49|0); - if ($161) { - $$025617 = $159;$$025716 = $$1258;$$025915 = $160;$$026014 = $$1261;$$026413 = $$1265; - } else { - $$0257$lcssa = $$1258; - break; - } - } - } else { - $$0257$lcssa = 0; - } - $142 = ($$0257$lcssa|0)==($41|0); - if (!($142)) { - ___assert_fail((4802|0),(4816|0),1685,(4840|0)); - // unreachable; - } - $162 = HEAP32[$0>>2]|0; - _free($162); - $163 = HEAP32[$7>>2]|0; - $164 = $163 << 1; - _memcpy(($2|0),($45|0),($164|0))|0; - _free($45); - HEAP32[$0>>2] = $43; - HEAP32[$7>>2] = $41; - $165 = ((($0)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ((($0)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)>(0); - if (!($169)) { - $$0252$lcssa = 0; - HEAP32[$167>>2] = $$0252$lcssa; - STACKTOP = sp;return; - } - $170 = HEAP32[$167>>2]|0; - $$025111 = 0;$$025210 = 0;$$02539 = $166;$$02558 = $166; - while(1) { - $171 = HEAP16[$$02558>>1]|0; - $172 = $171&65535; - $173 = (($2) + ($172<<1)|0); - $174 = HEAP16[$173>>1]|0; - $175 = ((($$02558)) + 2|0); - $176 = HEAP16[$175>>1]|0; - $177 = $176&65535; - $178 = (($2) + ($177<<1)|0); - $179 = HEAP16[$178>>1]|0; - $180 = ((($$02558)) + 4|0); - $181 = HEAP16[$180>>1]|0; - $182 = $181&65535; - $183 = (($2) + ($182<<1)|0); - $184 = HEAP16[$183>>1]|0; - $185 = ($174<<16>>16)==($179<<16>>16); - $186 = ($174<<16>>16)==($184<<16>>16); - $or$cond = $185 | $186; - $187 = ($179<<16>>16)==($184<<16>>16); - $or$cond1 = $187 | $or$cond; - if ($or$cond1) { - $$1 = $$025210;$$1254 = $$02539; - } else { - $188 = (($$025210) + 1)|0; - $189 = ((($$02539)) + 6|0); - $190 = ((($$02539)) + 4|0); - $191 = ((($$02539)) + 2|0); - HEAP16[$$02539>>1] = $174; - HEAP16[$191>>1] = $179; - HEAP16[$190>>1] = $184; - $$1 = $188;$$1254 = $189; - } - $192 = (($$025111) + 1)|0; - $193 = ((($$02558)) + 6|0); - $194 = ($192|0)<($170|0); - if ($194) { - $$025111 = $192;$$025210 = $$1;$$02539 = $$1254;$$02558 = $193; - } else { - $$0252$lcssa = $$1; - break; - } - } - HEAP32[$167>>2] = $$0252$lcssa; - STACKTOP = sp;return; -} -function _par_shapes__sqrdist3($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = ((($0)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = ((($0)) + 8|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($1)) + 8|0); - $13 = +HEAPF32[$12>>2]; - $14 = $11 - $13; - $15 = $4 * $4; - $16 = $9 * $9; - $17 = $15 + $16; - $18 = $14 * $14; - $19 = $17 + $18; - return (+$19); -} -function _par_shapes__cmp1($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP32[5406]|0; - $3 = HEAP16[$0>>1]|0; - $4 = HEAP32[5407]|0; - $5 = $3&65535; - $6 = ($5*3)|0; - $7 = (($4) + ($6<<2)|0); - $8 = +HEAPF32[$7>>2]; - $9 = (~~(($8))); - $10 = ((($7)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = (~~(($11))); - $13 = ((($7)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = (~~(($14))); - $16 = Math_imul($12, $2)|0; - $17 = (($16) + ($9))|0; - $18 = Math_imul($2, $2)|0; - $19 = Math_imul($15, $18)|0; - $20 = (($17) + ($19))|0; - $21 = HEAP16[$1>>1]|0; - $22 = $21&65535; - $23 = ($22*3)|0; - $24 = (($4) + ($23<<2)|0); - $25 = +HEAPF32[$24>>2]; - $26 = (~~(($25))); - $27 = ((($24)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = (~~(($28))); - $30 = ((($24)) + 8|0); - $31 = +HEAPF32[$30>>2]; - $32 = (~~(($31))); - $33 = Math_imul($29, $2)|0; - $34 = (($33) + ($26))|0; - $35 = Math_imul($32, $18)|0; - $36 = (($34) + ($35))|0; - $37 = ($20|0)<($36|0); - $38 = ($20|0)>($36|0); - $$ = $38&1; - $$0 = $37 ? -1 : $$; - return ($$0|0); -} -function _par_shapes_create_parametric_sphere($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)<(3); - $3 = ($1|0)<(3); - $or$cond = $2 | $3; - if ($or$cond) { - $$0 = 0; - return ($$0|0); - } - $4 = (_par_shapes_create_parametric(2,$0,$1,0)|0); - _par_shapes_remove_degenerate($4,9.9999997473787516E-5); - $$0 = $4; - return ($$0|0); -} -function _par_shapes__sphere($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$0>>2]; - $4 = $3; - $5 = $4 * 3.1415926535900001; - $6 = $5; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * 2.0; - $10 = $9; - $11 = $10 * 3.1415926535900001; - $12 = $11; - $13 = (+Math_cos((+$12))); - $14 = (+Math_sin((+$6))); - $15 = $13 * $14; - HEAPF32[$1>>2] = $15; - $16 = (+Math_sin((+$12))); - $17 = $14 * $16; - $18 = ((($1)) + 4|0); - HEAPF32[$18>>2] = $17; - $19 = (+Math_cos((+$6))); - $20 = ((($1)) + 8|0); - HEAPF32[$20>>2] = $19; - return; -} -function _par_shapes_remove_degenerate($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$0$lcssa = 0, $$05157 = 0, $$05356 = 0, $$05455 = 0, $$058 = 0, $$1 = 0, $$152 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $2 = sp + 24|0; - $3 = sp + 12|0; - $4 = sp; - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6*6)|0; - $8 = (_malloc($7)|0); - $9 = ((($0)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = $1 * 2.0; - $12 = $11 * $11; - $13 = HEAP32[$5>>2]|0; - $14 = ($13|0)>(0); - if (!($14)) { - $$0$lcssa = 0; - HEAP32[$5>>2] = $$0$lcssa; - $15 = HEAP32[$9>>2]|0; - _free($15); - HEAP32[$9>>2] = $8; - STACKTOP = sp;return; - } - $$05157 = $8;$$05356 = $10;$$05455 = 0;$$058 = 0; - while(1) { - $16 = HEAP32[$0>>2]|0; - $17 = HEAP16[$$05356>>1]|0; - $18 = $17&65535; - $19 = ($18*3)|0; - $20 = (($16) + ($19<<2)|0); - $21 = ((($$05356)) + 2|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = ($23*3)|0; - $25 = (($16) + ($24<<2)|0); - $26 = ((($$05356)) + 4|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27&65535; - $29 = ($28*3)|0; - $30 = (($16) + ($29<<2)|0); - _par_shapes__copy3($2,$25); - _par_shapes__subtract3($2,$20); - _par_shapes__copy3($3,$30); - _par_shapes__subtract3($3,$20); - _par_shapes__cross3($4,$2,$3); - $31 = (+_par_shapes__dot3($4,$4)); - $32 = !($31 >= $12); - if ($32) { - $$1 = $$058;$$152 = $$05157; - } else { - $33 = HEAP16[$$05356>>1]|0; - $34 = ((($$05157)) + 2|0); - HEAP16[$$05157>>1] = $33; - $35 = HEAP16[$21>>1]|0; - $36 = ((($$05157)) + 4|0); - HEAP16[$34>>1] = $35; - $37 = HEAP16[$26>>1]|0; - $38 = ((($$05157)) + 6|0); - HEAP16[$36>>1] = $37; - $39 = (($$058) + 1)|0; - $$1 = $39;$$152 = $38; - } - $40 = (($$05455) + 1)|0; - $41 = ((($$05356)) + 6|0); - $42 = HEAP32[$5>>2]|0; - $43 = ($40|0)<($42|0); - if ($43) { - $$05157 = $$152;$$05356 = $41;$$05455 = $40;$$058 = $$1; - } else { - $$0$lcssa = $$1; - break; - } - } - HEAP32[$5>>2] = $$0$lcssa; - $15 = HEAP32[$9>>2]|0; - _free($15); - HEAP32[$9>>2] = $8; - STACKTOP = sp;return; -} -function _par_shapes__dot3($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 * $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 * $8; - $10 = $4 + $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($0)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 * $14; - $16 = $10 + $15; - return (+$16); -} -function _par_shapes_create_hemisphere($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)<(3); - $3 = ($1|0)<(3); - $or$cond = $2 | $3; - if ($or$cond) { - $$0 = 0; - return ($$0|0); - } - $4 = (_par_shapes_create_parametric(3,$0,$1,0)|0); - _par_shapes_remove_degenerate($4,9.9999997473787516E-5); - $$0 = $4; - return ($$0|0); -} -function _par_shapes__hemisphere($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$0>>2]; - $4 = $3; - $5 = $4 * 3.1415926535900001; - $6 = $5; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 3.1415926535900001; - $11 = $10; - $12 = (+Math_cos((+$11))); - $13 = (+Math_sin((+$6))); - $14 = $12 * $13; - HEAPF32[$1>>2] = $14; - $15 = (+Math_sin((+$11))); - $16 = $13 * $15; - $17 = ((($1)) + 4|0); - HEAPF32[$17>>2] = $16; - $18 = (+Math_cos((+$6))); - $19 = ((($1)) + 8|0); - HEAPF32[$19>>2] = $18; - return; -} -function _par_shapes_create_torus($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $3 = sp; - HEAPF32[$3>>2] = $2; - $4 = ($0|0)<(3); - $5 = ($1|0)<(3); - $or$cond = $4 | $5; - if ($or$cond) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = !($2 <= 1.0); - if ($6) { - ___assert_fail((4864|0),(4816|0),355,(4930|0)); - // unreachable; - } - $7 = $2; - $8 = !($7 >= 0.10000000000000001); - if ($8) { - ___assert_fail((4954|0),(4816|0),356,(4930|0)); - // unreachable; - } - $9 = (_par_shapes_create_parametric(4,$0,$1,$3)|0); - $$0 = $9; - STACKTOP = sp;return ($$0|0); -} -function _par_shapes__torus($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0; - var $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$2>>2]; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * 2.0; - $6 = $5; - $7 = $6 * 3.1415926535900001; - $8 = $7; - $9 = ((($0)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $10 * 2.0; - $12 = $11; - $13 = $12 * 3.1415926535900001; - $14 = $13; - $15 = (+Math_cos((+$14))); - $16 = $3 * $15; - $17 = $16 + 1.0; - $18 = (+Math_cos((+$8))); - $19 = $18 * $17; - HEAPF32[$1>>2] = $19; - $20 = (+Math_sin((+$8))); - $21 = $17 * $20; - $22 = ((($1)) + 4|0); - HEAPF32[$22>>2] = $21; - $23 = (+Math_sin((+$14))); - $24 = $3 * $23; - $25 = ((($1)) + 8|0); - HEAPF32[$25>>2] = $24; - return; -} -function _par_shapes_create_trefoil_knot($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $3 = sp; - HEAPF32[$3>>2] = $2; - $4 = ($0|0)<(3); - $5 = ($1|0)<(3); - $or$cond = $4 | $5; - if ($or$cond) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = !($2 <= 3.0); - if ($6) { - ___assert_fail((5019|0),(4816|0),387,(5085|0)); - // unreachable; - } - $7 = !($2 >= 0.5); - if ($7) { - ___assert_fail((5116|0),(4816|0),388,(5085|0)); - // unreachable; - } - $8 = (_par_shapes_create_parametric(5,$0,$1,$3)|0); - $$0 = $8; - STACKTOP = sp;return ($$0|0); -} -function _par_shapes__trefoil($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0; - var $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0; - var $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0; - var $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $3 = sp + 24|0; - $4 = sp + 12|0; - $5 = sp; - $6 = +HEAPF32[$2>>2]; - $7 = $6 * 0.10000000149011612; - $8 = +HEAPF32[$0>>2]; - $9 = 1.0 - $8; - $10 = $9 * 4.0; - $11 = $10; - $12 = $11 * 3.1415926535900001; - $13 = $12; - $14 = ((($0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = $15 * 2.0; - $17 = $16; - $18 = $17 * 3.1415926535900001; - $19 = $18; - $20 = $13 * 1.5; - $21 = $20; - $22 = (+Math_cos((+$21))); - $23 = $22 * 0.30000001192092896; - $24 = $23 + 0.5; - $25 = $24; - $26 = $25; - $27 = $13; - $28 = (+Math_cos((+$27))); - $29 = $28 * $26; - $30 = $29; - $31 = (+Math_sin((+$27))); - $32 = $31 * $26; - $33 = $32; - $34 = (+Math_sin((+$21))); - $35 = $34 * 0.5; - $36 = $35; - $37 = $34 * -0.45000001788139343; - $38 = $28 * $37; - $39 = $24 * $31; - $40 = $38 - $39; - $41 = $40; - HEAPF32[$3>>2] = $41; - $42 = $31 * $37; - $43 = $28 * $24; - $44 = $43 + $42; - $45 = $44; - $46 = ((($3)) + 4|0); - HEAPF32[$46>>2] = $45; - $47 = $22 * 0.75; - $48 = $47; - $49 = ((($3)) + 8|0); - HEAPF32[$49>>2] = $48; - _par_shapes__normalize3($3); - $50 = HEAP32[$46>>2]|0; - HEAP32[$4>>2] = $50; - $51 = ((($4)) + 4|0); - $52 = +HEAPF32[$3>>2]; - $53 = -$52; - HEAPF32[$51>>2] = $53; - $54 = ((($4)) + 8|0); - HEAPF32[$54>>2] = 0.0; - _par_shapes__normalize3($4); - _par_shapes__cross3($5,$3,$4); - $55 = $30; - $56 = $7; - $57 = +HEAPF32[$4>>2]; - $58 = $57; - $59 = $19; - $60 = (+Math_cos((+$59))); - $61 = $58 * $60; - $62 = +HEAPF32[$5>>2]; - $63 = $62; - $64 = (+Math_sin((+$59))); - $65 = $63 * $64; - $66 = $61 + $65; - $67 = $56 * $66; - $68 = $55 + $67; - $69 = $68; - HEAPF32[$1>>2] = $69; - $70 = $33; - $71 = +HEAPF32[$51>>2]; - $72 = $71; - $73 = $60 * $72; - $74 = ((($5)) + 4|0); - $75 = +HEAPF32[$74>>2]; - $76 = $75; - $77 = $64 * $76; - $78 = $73 + $77; - $79 = $56 * $78; - $80 = $70 + $79; - $81 = $80; - $82 = ((($1)) + 4|0); - HEAPF32[$82>>2] = $81; - $83 = $36; - $84 = ((($5)) + 8|0); - $85 = +HEAPF32[$84>>2]; - $86 = $7 * $85; - $87 = $86; - $88 = $64 * $87; - $89 = $83 + $88; - $90 = $89; - $91 = ((($1)) + 8|0); - HEAPF32[$91>>2] = $90; - STACKTOP = sp;return; -} -function _par_shapes_merge($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$07175 = 0, $$07274 = 0, $$076 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $9 = 0, $or$cond = 0, $or$cond73 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($3))|0; - $7 = HEAP32[$0>>2]|0; - $8 = ($6*12)|0; - $9 = (_realloc($7,$8)|0); - HEAP32[$0>>2] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = ($10*3)|0; - $12 = (($9) + ($11<<2)|0); - $13 = HEAP32[$1>>2]|0; - $14 = HEAP32[$4>>2]|0; - $15 = ($14*12)|0; - _memcpy(($12|0),($13|0),($15|0))|0; - HEAP32[$2>>2] = $6; - $16 = ((($1)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - $19 = ((($0)) + 16|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0|0); - $or$cond = $18 & $21; - if (!($or$cond)) { - $22 = (_realloc($20,$8)|0); - HEAP32[$19>>2] = $22; - $23 = HEAP32[$16>>2]|0; - $24 = ($23|0)==(0|0); - if (!($24)) { - $25 = $3 & 65535; - $26 = ($25*3)|0; - $27 = (($22) + ($26<<2)|0); - $28 = HEAP32[$4>>2]|0; - $29 = ($28*12)|0; - _memcpy(($27|0),($23|0),($29|0))|0; - } - } - $30 = ((($1)) + 20|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(0|0); - $33 = ((($0)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - $or$cond73 = $32 & $35; - if (!($or$cond73)) { - $36 = $6 << 3; - $37 = (_realloc($34,$36)|0); - HEAP32[$33>>2] = $37; - $38 = HEAP32[$30>>2]|0; - $39 = ($38|0)==(0|0); - if (!($39)) { - $40 = $3 << 1; - $41 = $40 & 131070; - $42 = (($37) + ($41<<2)|0); - $43 = HEAP32[$4>>2]|0; - $44 = $43 << 3; - _memcpy(($42|0),($38|0),($44|0))|0; - } - } - $45 = ((($0)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($1)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($46))|0; - $50 = ((($0)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($49*6)|0; - $53 = (_realloc($51,$52)|0); - HEAP32[$50>>2] = $53; - $54 = HEAP32[$47>>2]|0; - $55 = ($54|0)>(0); - if (!($55)) { - HEAP32[$45>>2] = $49; - return; - } - $56 = ((($1)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = HEAP32[$45>>2]|0; - $59 = ($58*3)|0; - $60 = (($53) + ($59<<1)|0); - $61 = HEAP32[$47>>2]|0; - $$07175 = $57;$$07274 = $60;$$076 = 0; - while(1) { - $62 = ((($$07175)) + 2|0); - $63 = HEAP16[$$07175>>1]|0; - $64 = $63&65535; - $65 = (($64) + ($3))|0; - $66 = $65&65535; - $67 = ((($$07274)) + 2|0); - HEAP16[$$07274>>1] = $66; - $68 = ((($$07175)) + 4|0); - $69 = HEAP16[$62>>1]|0; - $70 = $69&65535; - $71 = (($70) + ($3))|0; - $72 = $71&65535; - $73 = ((($$07274)) + 4|0); - HEAP16[$67>>1] = $72; - $74 = ((($$07175)) + 6|0); - $75 = HEAP16[$68>>1]|0; - $76 = $75&65535; - $77 = (($76) + ($3))|0; - $78 = $77&65535; - $79 = ((($$07274)) + 6|0); - HEAP16[$73>>1] = $78; - $80 = (($$076) + 1)|0; - $81 = ($80|0)<($61|0); - if ($81) { - $$07175 = $74;$$07274 = $79;$$076 = $80; - } else { - break; - } - } - HEAP32[$45>>2] = $49; - return; -} -function _par_shapes_create_disk($0,$1,$2,$3) { - $0 = +$0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$06671 = 0, $$06774 = 0, $$06873 = 0, $$06979 = 0, $$07078 = 0, $$072 = 0, $$op = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0; - var $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0; - var $exitcond = 0, $exitcond83 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $4 = sp + 24|0; - $5 = sp + 12|0; - $6 = sp; - $7 = (_calloc(24,1)|0); - $8 = (($1) + 1)|0; - $9 = ((($7)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = ($8*12)|0; - $11 = (_malloc($10)|0); - HEAP32[$7>>2] = $11; - $12 = ((($11)) + 4|0); - HEAPF32[$11>>2] = 0.0; - $13 = ((($11)) + 8|0); - HEAPF32[$12>>2] = 0.0; - HEAPF32[$13>>2] = 0.0; - $14 = ($1|0)>(0); - if ($14) { - $15 = ((($11)) + 12|0); - $16 = (+($1|0)); - $17 = $0; - $$06979 = $15;$$07078 = 0; - while(1) { - $33 = (+($$07078|0)); - $34 = $33 * 3.1415926535900001; - $35 = $34 * 2.0; - $36 = $35 / $16; - $37 = $36; - $38 = $37; - $39 = (+Math_cos((+$38))); - $40 = $17 * $39; - $41 = $40; - $42 = ((($$06979)) + 4|0); - HEAPF32[$$06979>>2] = $41; - $43 = (+Math_sin((+$38))); - $44 = $17 * $43; - $45 = $44; - $46 = ((($$06979)) + 8|0); - HEAPF32[$42>>2] = $45; - $47 = ((($$06979)) + 12|0); - HEAPF32[$46>>2] = 0.0; - $48 = (($$07078) + 1)|0; - $exitcond83 = ($48|0)==($1|0); - if ($exitcond83) { - break; - } else { - $$06979 = $47;$$07078 = $48; - } - } - } - $18 = HEAP32[$3>>2]|0; - HEAP32[$4>>2] = $18; - $19 = ((($4)) + 4|0); - $20 = ((($3)) + 4|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($4)) + 8|0); - $23 = ((($3)) + 8|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - _par_shapes__normalize3($4); - $25 = HEAP32[$9>>2]|0; - $26 = ($25*12)|0; - $27 = (_malloc($26)|0); - $28 = ((($7)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = ($25|0)>(0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - $31 = HEAP32[$19>>2]|0; - $32 = HEAP32[$9>>2]|0; - $$06774 = 0;$$06873 = $27; - while(1) { - $54 = ((($$06873)) + 4|0); - HEAP32[$$06873>>2] = $30; - $55 = ((($$06873)) + 8|0); - HEAP32[$54>>2] = $31; - $56 = HEAP32[$22>>2]|0; - $57 = ((($$06873)) + 12|0); - HEAP32[$55>>2] = $56; - $58 = (($$06774) + 1)|0; - $59 = ($58|0)<($32|0); - if ($59) { - $$06774 = $58;$$06873 = $57; - } else { - break; - } - } - } - $49 = ((($7)) + 12|0); - HEAP32[$49>>2] = $1; - $50 = ($1*6)|0; - $51 = (_malloc($50)|0); - $52 = ((($7)) + 8|0); - HEAP32[$52>>2] = $51; - $53 = ($1|0)>(0); - if (!($53)) { - ;HEAP32[$5>>2]=HEAP32[3004>>2]|0;HEAP32[$5+4>>2]=HEAP32[3004+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[3004+8>>2]|0; - _par_shapes__cross3($6,$4,$5); - _par_shapes__normalize3($6); - $60 = +HEAPF32[$22>>2]; - $61 = $60; - $62 = (+Math_acos((+$61))); - $63 = $62; - _par_shapes_rotate($7,$63,$6); - $64 = +HEAPF32[$2>>2]; - $65 = ((($2)) + 4|0); - $66 = +HEAPF32[$65>>2]; - $67 = ((($2)) + 8|0); - $68 = +HEAPF32[$67>>2]; - _par_shapes_translate($7,$64,$66,$68); - STACKTOP = sp;return ($7|0); - } - $$06671 = $51;$$072 = 0; - while(1) { - $69 = ((($$06671)) + 2|0); - HEAP16[$$06671>>1] = 0; - $70 = (($$072) + 1)|0; - $71 = $70&65535; - $72 = ((($$06671)) + 4|0); - HEAP16[$69>>1] = $71; - $73 = ($70|0)==($1|0); - $$op = (($$072) + 2)|0; - $74 = $$op&65535; - $75 = $73 ? 1 : $74; - $76 = ((($$06671)) + 6|0); - HEAP16[$72>>1] = $75; - $exitcond = ($70|0)==($1|0); - if ($exitcond) { - break; - } else { - $$06671 = $76;$$072 = $70; - } - } - ;HEAP32[$5>>2]=HEAP32[3004>>2]|0;HEAP32[$5+4>>2]=HEAP32[3004+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[3004+8>>2]|0; - _par_shapes__cross3($6,$4,$5); - _par_shapes__normalize3($6); - $60 = +HEAPF32[$22>>2]; - $61 = $60; - $62 = (+Math_acos((+$61))); - $63 = $62; - _par_shapes_rotate($7,$63,$6); - $64 = +HEAPF32[$2>>2]; - $65 = ((($2)) + 4|0); - $66 = +HEAPF32[$65>>2]; - $67 = ((($2)) + 8|0); - $68 = +HEAPF32[$67>>2]; - _par_shapes_translate($7,$64,$66,$68); - STACKTOP = sp;return ($7|0); -} -function _par_shapes_rotate($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - var $$0147151 = 0, $$0148149 = 0, $$0152 = 0, $$1150 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; - var $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; - var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (+Math_sin((+$1))); - $4 = (+Math_cos((+$1))); - $5 = +HEAPF32[$2>>2]; - $6 = ((($2)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = $5 * $7; - $11 = $7 * $9; - $12 = $5 * $9; - $13 = 1.0 - $4; - $14 = $5 * $5; - $15 = $13 * $14; - $16 = $4 + $15; - $17 = $13 * $10; - $18 = $3 * $9; - $19 = $17 + $18; - $20 = $13 * $12; - $21 = $3 * $7; - $22 = $20 - $21; - $23 = $17 - $18; - $24 = $7 * $7; - $25 = $13 * $24; - $26 = $4 + $25; - $27 = $13 * $11; - $28 = $3 * $5; - $29 = $28 + $27; - $30 = $21 + $20; - $31 = $27 - $28; - $32 = $9 * $9; - $33 = $13 * $32; - $34 = $4 + $33; - $35 = ((($0)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)>(0); - if (!($37)) { - return; - } - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$35>>2]|0; - $$0147151 = 0;$$0152 = $38; - while(1) { - $44 = +HEAPF32[$$0152>>2]; - $45 = $16 * $44; - $46 = ((($$0152)) + 4|0); - $47 = +HEAPF32[$46>>2]; - $48 = $23 * $47; - $49 = $45 + $48; - $50 = ((($$0152)) + 8|0); - $51 = +HEAPF32[$50>>2]; - $52 = $30 * $51; - $53 = $49 + $52; - $54 = $19 * $44; - $55 = $26 * $47; - $56 = $54 + $55; - $57 = $31 * $51; - $58 = $56 + $57; - $59 = $22 * $44; - $60 = $29 * $47; - $61 = $59 + $60; - $62 = $34 * $51; - $63 = $61 + $62; - HEAPF32[$$0152>>2] = $53; - HEAPF32[$46>>2] = $58; - HEAPF32[$50>>2] = $63; - $64 = (($$0147151) + 1)|0; - $65 = ((($$0152)) + 12|0); - $66 = ($64|0)<($39|0); - if ($66) { - $$0147151 = $64;$$0152 = $65; - } else { - break; - } - } - $40 = ((($0)) + 16|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)!=(0|0); - $43 = ($39|0)>(0); - $or$cond = $42 & $43; - if ($or$cond) { - $$0148149 = 0;$$1150 = $41; - } else { - return; - } - while(1) { - $67 = +HEAPF32[$$1150>>2]; - $68 = $16 * $67; - $69 = ((($$1150)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $23 * $70; - $72 = $68 + $71; - $73 = ((($$1150)) + 8|0); - $74 = +HEAPF32[$73>>2]; - $75 = $30 * $74; - $76 = $72 + $75; - $77 = $19 * $67; - $78 = $26 * $70; - $79 = $77 + $78; - $80 = $31 * $74; - $81 = $79 + $80; - $82 = $22 * $67; - $83 = $29 * $70; - $84 = $82 + $83; - $85 = $34 * $74; - $86 = $84 + $85; - HEAPF32[$$1150>>2] = $76; - HEAPF32[$69>>2] = $81; - HEAPF32[$73>>2] = $86; - $87 = (($$0148149) + 1)|0; - $88 = ((($$1150)) + 12|0); - $exitcond = ($87|0)==($39|0); - if ($exitcond) { - break; - } else { - $$0148149 = $87;$$1150 = $88; - } - } - return; -} -function _par_shapes_merge_and_free($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _par_shapes_merge($0,$1); - _par_shapes_free_mesh($1); - return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _DrawGrid($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0|0) / 2)&-1; - _rlBegin(1); - $3 = (0 - ($2))|0; - $4 = ($2|0)<($3|0); - if ($4) { - _rlEnd(); - return; - } - $5 = (+($3|0)); - $6 = $5 * $1; - $7 = (+($2|0)); - $8 = $7 * $1; - $$024 = $3; - while(1) { - $9 = ($$024|0)==(0); - if ($9) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $10 = (+($$024|0)); - $11 = $10 * $1; - _rlVertex3f($11,0.0,$6); - _rlVertex3f($11,0.0,$8); - _rlVertex3f($6,0.0,$11); - _rlVertex3f($8,0.0,$11); - $12 = (($$024) + 1)|0; - $13 = ($$024|0)<($2|0); - if ($13) { - $$024 = $12; - } else { - break; - } - } - _rlEnd(); - return; -} -function _rlColor3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $0 * 255.0; - $4 = (~~(($3))&255); - $5 = $1 * 255.0; - $6 = (~~(($5))&255); - $7 = $2 * 255.0; - $8 = (~~(($7))&255); - _rlColor4ub($4,$6,$8,-1); - return; -} -function _LoadMaterialDefault($0) { - $0 = $0|0; - var $$sroa$05 = 0, $$sroa$05$132$sroa_idx = 0, $$sroa$10$0$$sroa_idx = 0, $$sroa$1014$0$$sroa_idx = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$6$0$$sroa_idx = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(304|0); - $$sroa$05 = sp + 152|0; - $1 = sp + 20|0; - $2 = sp; - _memset(($$sroa$05|0),0,152)|0; - _GetShaderDefault($1); - _memcpy(($$sroa$05|0),($1|0),132)|0; - _GetTextureDefault($2); - $$sroa$05$132$sroa_idx = ((($$sroa$05)) + 132|0); - ;HEAP32[$$sroa$05$132$sroa_idx>>2]=HEAP32[$2>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+16>>2]=HEAP32[$2+16>>2]|0; - _memcpy(($0|0),($$sroa$05|0),152)|0; - $$sroa$6$0$$sroa_idx = ((($0)) + 152|0); - $$sroa$10$0$$sroa_idx = ((($0)) + 156|0); - HEAP32[$$sroa$6$0$$sroa_idx>>2] = -1; - ;HEAP32[$$sroa$10$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+20>>2]=0|0; - $$sroa$1014$0$$sroa_idx = ((($0)) + 180|0); - $$sroa$14$0$$sroa_idx = ((($0)) + 184|0); - HEAP32[$$sroa$1014$0$$sroa_idx>>2] = -1; - _memset(($$sroa$14$0$$sroa_idx|0),0,288)|0; - STACKTOP = sp;return; -} -function _GetShaderDefault($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _memcpy(($0|0),(21632|0),132)|0; - return; -} -function _GetTextureDefault($0) { - $0 = $0|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4956]|0; - HEAP32[$0>>2] = $1; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; - return; -} -function _rlLoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = ((($0)) + 36|0); - $3 = ((($0)) + 40|0); - $4 = ((($0)) + 44|0); - $5 = ((($0)) + 48|0); - $6 = ((($0)) + 52|0); - $7 = ((($0)) + 56|0); - $8 = ((($0)) + 60|0); - $9 = ((($0)) + 64|0); - $10 = ($1|0)!=(0); - $$ = $10 ? 35048 : 35044; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $11 = HEAP32[5015]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = HEAP32[5441]|0; - FUNCTION_TABLE_vii[$13 & 63](1,$2); - $14 = HEAP32[5016]|0; - $15 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vi[$14 & 31]($15); - } - _glGenBuffers(1,($3|0)); - $16 = HEAP32[$3>>2]|0; - _glBindBuffer(34962,($16|0)); - $17 = HEAP32[$0>>2]|0; - $18 = ($17*12)|0; - $19 = ((($0)) + 8|0); - $20 = HEAP32[$19>>2]|0; - _glBufferData(34962,($18|0),($20|0),($$|0)); - _glVertexAttribPointer(0,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(0); - _glGenBuffers(1,($4|0)); - $21 = HEAP32[$4>>2]|0; - _glBindBuffer(34962,($21|0)); - $22 = HEAP32[$0>>2]|0; - $23 = $22 << 3; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - _glBufferData(34962,($23|0),($25|0),($$|0)); - _glVertexAttribPointer(1,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(1); - $26 = ((($0)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - _glVertexAttrib3f(2,1.0,1.0,1.0); - _glDisableVertexAttribArray(2); - } else { - _glGenBuffers(1,($5|0)); - $29 = HEAP32[$5>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[$0>>2]|0; - $31 = ($30*12)|0; - $32 = HEAP32[$26>>2]|0; - _glBufferData(34962,($31|0),($32|0),($$|0)); - _glVertexAttribPointer(2,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(2); - } - $33 = ((($0)) + 28|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - _glVertexAttrib4f(3,1.0,1.0,1.0,1.0); - _glDisableVertexAttribArray(3); - } else { - _glGenBuffers(1,($6|0)); - $36 = HEAP32[$6>>2]|0; - _glBindBuffer(34962,($36|0)); - $37 = HEAP32[$0>>2]|0; - $38 = $37 << 2; - $39 = HEAP32[$33>>2]|0; - _glBufferData(34962,($38|0),($39|0),($$|0)); - _glVertexAttribPointer(3,4,5121,1,0,(0|0)); - _glEnableVertexAttribArray(3); - } - $40 = ((($0)) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - _glVertexAttrib3f(4,0.0,0.0,0.0); - _glDisableVertexAttribArray(4); - } else { - _glGenBuffers(1,($7|0)); - $43 = HEAP32[$7>>2]|0; - _glBindBuffer(34962,($43|0)); - $44 = HEAP32[$0>>2]|0; - $45 = ($44*12)|0; - $46 = HEAP32[$40>>2]|0; - _glBufferData(34962,($45|0),($46|0),($$|0)); - _glVertexAttribPointer(4,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(4); - } - $47 = ((($0)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - _glVertexAttrib2f(5,0.0,0.0); - _glDisableVertexAttribArray(5); - } else { - _glGenBuffers(1,($8|0)); - $50 = HEAP32[$8>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[$0>>2]|0; - $52 = $51 << 3; - $53 = HEAP32[$47>>2]|0; - _glBufferData(34962,($52|0),($53|0),($$|0)); - _glVertexAttribPointer(5,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(5); - } - $54 = ((($0)) + 32|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==(0|0); - if (!($56)) { - _glGenBuffers(1,($9|0)); - $57 = HEAP32[$9>>2]|0; - _glBindBuffer(34963,($57|0)); - $58 = ((($0)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59*6)|0; - $61 = HEAP32[$54>>2]|0; - _glBufferData(34963,($60|0),($61|0),35044); - } - $62 = HEAP32[5015]|0; - $63 = ($62|0)==(0); - if ($63) { - _TraceLog(0,5275,$vararg_buffer3); - STACKTOP = sp;return; - } - $64 = HEAP32[$2>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - _TraceLog(1,5234,$vararg_buffer1); - STACKTOP = sp;return; - } else { - HEAP32[$vararg_buffer>>2] = $64; - _TraceLog(0,5181,$vararg_buffer); - STACKTOP = sp;return; - } -} -function _Vector3Subtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - HEAPF32[$12>>2] = $17; - return; -} -function _Vector3CrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _LoadModelFromMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1152|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1152|0); - $2 = sp + 536|0; - $3 = sp + 472|0; - $4 = sp; - $5 = ((($2)) + 68|0); - _memset(($5|0),0,536)|0; - dest=$2; src=$1; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = ((($2)) + 68|0); - _MatrixIdentity($3); - dest=$6; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $7 = ((($2)) + 132|0); - _LoadMaterialDefault($4); - _memcpy(($7|0),($4|0),472)|0; - _memcpy(($0|0),($2|0),604)|0; - STACKTOP = sp;return; -} -function _UnloadModel($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0); - $$byval_copy = sp + 8|0; - $vararg_buffer = sp; - _UnloadMesh($0); - $1 = ((($0)) + 132|0); - _memcpy(($$byval_copy|0),($1|0),472)|0; - _UnloadMaterial($$byval_copy); - _TraceLog(0,5323,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadMesh($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _rlUnloadMesh($0); - return; -} -function _UnloadMaterial($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp; - _memcpy(($$byval_copy|0),($0|0),132)|0; - _UnloadShader($$byval_copy); - $1 = ((($0)) + 132|0); - $2 = HEAP32[$1>>2]|0; - _rlDeleteTextures($2); - $3 = ((($0)) + 160|0); - $4 = HEAP32[$3>>2]|0; - _rlDeleteTextures($4); - $5 = ((($0)) + 188|0); - $6 = HEAP32[$5>>2]|0; - _rlDeleteTextures($6); - $7 = ((($0)) + 216|0); - $8 = HEAP32[$7>>2]|0; - _rlDeleteTextures($8); - $9 = ((($0)) + 244|0); - $10 = HEAP32[$9>>2]|0; - _rlDeleteTextures($10); - $11 = ((($0)) + 272|0); - $12 = HEAP32[$11>>2]|0; - _rlDeleteTextures($12); - $13 = ((($0)) + 300|0); - $14 = HEAP32[$13>>2]|0; - _rlDeleteTextures($14); - $15 = ((($0)) + 328|0); - $16 = HEAP32[$15>>2]|0; - _rlDeleteTextures($16); - $17 = ((($0)) + 356|0); - $18 = HEAP32[$17>>2]|0; - _rlDeleteTextures($18); - $19 = ((($0)) + 384|0); - $20 = HEAP32[$19>>2]|0; - _rlDeleteTextures($20); - $21 = ((($0)) + 412|0); - $22 = HEAP32[$21>>2]|0; - _rlDeleteTextures($22); - $23 = ((($0)) + 440|0); - $24 = HEAP32[$23>>2]|0; - _rlDeleteTextures($24); - STACKTOP = sp;return; -} -function _UnloadShader($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteShader($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,5381,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteShader($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0); - if ($1) { - return; - } - _glDeleteProgram(($0|0)); - return; -} -function _rlUnloadMesh($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - _free($2); - } - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - _free($8); - } - $10 = ((($0)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if (!($12)) { - _free($11); - } - $13 = ((($0)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - _free($14); - } - $16 = ((($0)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _free($17); - } - $19 = ((($0)) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0|0); - if (!($21)) { - _free($20); - } - $22 = ((($0)) + 40|0); - $23 = HEAP32[$22>>2]|0; - _rlDeleteBuffers($23); - $24 = ((($0)) + 44|0); - $25 = HEAP32[$24>>2]|0; - _rlDeleteBuffers($25); - $26 = ((($0)) + 48|0); - $27 = HEAP32[$26>>2]|0; - _rlDeleteBuffers($27); - $28 = ((($0)) + 52|0); - $29 = HEAP32[$28>>2]|0; - _rlDeleteBuffers($29); - $30 = ((($0)) + 56|0); - $31 = HEAP32[$30>>2]|0; - _rlDeleteBuffers($31); - $32 = ((($0)) + 60|0); - $33 = HEAP32[$32>>2]|0; - _rlDeleteBuffers($33); - $34 = ((($0)) + 64|0); - $35 = HEAP32[$34>>2]|0; - _rlDeleteBuffers($35); - $36 = ((($0)) + 36|0); - $37 = HEAP32[$36>>2]|0; - _rlDeleteVertexArrays($37); - return; -} -function _rlDeleteBuffers($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[5015]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - _TraceLog(0,5471,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteVertexArrays($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = HEAP32[5015]|0; - $3 = ($2|0)==(0); - if ($3) { - STACKTOP = sp;return; - } - $4 = ($0|0)==(0); - if (!($4)) { - $5 = HEAP32[5442]|0; - FUNCTION_TABLE_vii[$5 & 63](1,$1); - } - $6 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,5423,$vararg_buffer); - STACKTOP = sp;return; -} -function _GenMeshPlane($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = $3|0; - $4 = $4|0; - var $$0165179 = 0, $$0166181 = 0, $$0167183 = 0, $$0168187 = 0, $$0169186 = 0, $$0170204 = 0, $$0171200 = 0, $$0172191 = 0, $$0173194 = 0, $$0174196 = 0, $$0178 = 0, $$pr = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0104$0$$sroa_idx = 0, $$sroa$088$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx69 = 0, $$sroa$2105$0$$sroa_idx106 = 0, $$sroa$289$0$$sroa_idx90 = 0, $$sroa$3$0$$sroa_idx91 = 0, $$sroa$3107$0$$sroa_idx108 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0; - var $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond208 = 0, $exitcond209 = 0; - var $exitcond210 = 0, $exitcond211 = 0, $exitcond212 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $5 = sp; - dest=$5; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = (($3) + 1)|0; - $7 = (($4) + 1)|0; - $8 = Math_imul($7, $6)|0; - $9 = ($8*6)|0; - $10 = ($8*72)|0; - $11 = (_malloc($10)|0); - $12 = ($4|0)<(0); - if (!($12)) { - $13 = (+($4|0)); - $14 = ($3|0)<(0); - $15 = (+($3|0)); - $$0170204 = 0; - while(1) { - $18 = (+($$0170204|0)); - $19 = $18 / $13; - $20 = $19 + -0.5; - $21 = $20 * $2; - if (!($14)) { - $22 = Math_imul($$0170204, $6)|0; - $$0171200 = 0; - while(1) { - $24 = (+($$0171200|0)); - $25 = $24 / $15; - $26 = $25 + -0.5; - $27 = $26 * $1; - $28 = (($$0171200) + ($22))|0; - $$sroa$0104$0$$sroa_idx = (($11) + (($28*12)|0)|0); - HEAPF32[$$sroa$0104$0$$sroa_idx>>2] = $27; - $$sroa$2105$0$$sroa_idx106 = (((($11) + (($28*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$2105$0$$sroa_idx106>>2] = 0.0; - $$sroa$3107$0$$sroa_idx108 = (((($11) + (($28*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$3107$0$$sroa_idx108>>2] = $21; - $29 = (($$0171200) + 1)|0; - $exitcond211 = ($29|0)==($6|0); - if ($exitcond211) { - break; - } else { - $$0171200 = $29; - } - } - } - $23 = (($$0170204) + 1)|0; - $exitcond212 = ($23|0)==($7|0); - if ($exitcond212) { - break; - } else { - $$0170204 = $23; - } - } - } - $16 = (_malloc($10)|0); - $17 = ($8|0)>(0); - if ($17) { - $$0174196 = 0; - while(1) { - $$sroa$088$0$$sroa_idx = (($16) + (($$0174196*12)|0)|0); - HEAPF32[$$sroa$088$0$$sroa_idx>>2] = 0.0; - $$sroa$289$0$$sroa_idx90 = (((($16) + (($$0174196*12)|0)|0)) + 4|0); - HEAPF32[$$sroa$289$0$$sroa_idx90>>2] = 1.0; - $$sroa$3$0$$sroa_idx91 = (((($16) + (($$0174196*12)|0)|0)) + 8|0); - HEAPF32[$$sroa$3$0$$sroa_idx91>>2] = 0.0; - $36 = (($$0174196) + 1)|0; - $37 = ($36|0)<($9|0); - if ($37) { - $$0174196 = $36; - } else { - break; - } - } - } - $30 = ($8*48)|0; - $31 = (_malloc($30)|0); - $32 = ($4|0)<(0); - if (!($32)) { - $33 = ($3|0)<(0); - $34 = (+($3|0)); - $35 = (+($4|0)); - $$0173194 = 0; - while(1) { - if (!($33)) { - $38 = Math_imul($$0173194, $6)|0; - $39 = (+($$0173194|0)); - $40 = $39 / $35; - $$0172191 = 0; - while(1) { - $46 = (($$0172191) + ($38))|0; - $47 = (+($$0172191|0)); - $48 = $47 / $34; - $$sroa$0$0$$sroa_idx = (($31) + ($46<<3)|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $48; - $$sroa$2$0$$sroa_idx69 = (((($31) + ($46<<3)|0)) + 4|0); - HEAPF32[$$sroa$2$0$$sroa_idx69>>2] = $40; - $49 = (($$0172191) + 1)|0; - $exitcond209 = ($49|0)==($6|0); - if ($exitcond209) { - break; - } else { - $$0172191 = $49; - } - } - } - $45 = (($$0173194) + 1)|0; - $exitcond210 = ($$0173194|0)==($4|0); - if ($exitcond210) { - break; - } else { - $$0173194 = $45; - } - } - } - $41 = Math_imul($4, $3)|0; - $42 = ($41*24)|0; - $43 = (_malloc($42)|0); - $44 = ($41|0)>(0); - if ($44) { - $$0168187 = 0;$$0169186 = 0; - while(1) { - $69 = (($$0168187|0) % ($3|0))&-1; - $70 = (($$0168187|0) / ($4|0))&-1; - $71 = Math_imul($70, $6)|0; - $72 = (($71) + ($69))|0; - $73 = (($72) + ($6))|0; - $74 = $$0169186 | 1; - $75 = (($43) + ($$0169186<<2)|0); - HEAP32[$75>>2] = $73; - $76 = (($72) + 1)|0; - $77 = (($$0169186) + 2)|0; - $78 = (($43) + ($74<<2)|0); - HEAP32[$78>>2] = $76; - $79 = (($$0169186) + 3)|0; - $80 = (($43) + ($77<<2)|0); - HEAP32[$80>>2] = $72; - $81 = (($$0169186) + 4)|0; - $82 = (($43) + ($79<<2)|0); - HEAP32[$82>>2] = $73; - $83 = (($73) + 1)|0; - $84 = (($$0169186) + 5)|0; - $85 = (($43) + ($81<<2)|0); - HEAP32[$85>>2] = $83; - $86 = (($$0169186) + 6)|0; - $87 = (($43) + ($84<<2)|0); - HEAP32[$87>>2] = $76; - $88 = (($$0168187) + 1)|0; - $exitcond208 = ($88|0)==($41|0); - if ($exitcond208) { - break; - } else { - $$0168187 = $88;$$0169186 = $86; - } - } - } - HEAP32[$5>>2] = $9; - $50 = $41 << 1; - $51 = ((($5)) + 4|0); - HEAP32[$51>>2] = $50; - $52 = (_malloc($10)|0); - $53 = ((($5)) + 8|0); - HEAP32[$53>>2] = $52; - $54 = HEAP32[$5>>2]|0; - $55 = $54 << 3; - $56 = (_malloc($55)|0); - $57 = ((($5)) + 12|0); - HEAP32[$57>>2] = $56; - $58 = ($54*12)|0; - $59 = (_malloc($58)|0); - $60 = ((($5)) + 20|0); - HEAP32[$60>>2] = $59; - $61 = HEAP32[$51>>2]|0; - $62 = ($61*6)|0; - $63 = (_malloc($62)|0); - $64 = ((($5)) + 32|0); - HEAP32[$64>>2] = $63; - $65 = HEAP32[$5>>2]|0; - $66 = ($65|0)>(0); - if ($66) { - $67 = HEAP32[$53>>2]|0; - $68 = HEAP32[$5>>2]|0; - $$0167183 = 0; - while(1) { - $91 = (($11) + (($$0167183*12)|0)|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($$0167183*3)|0; - $94 = (($67) + ($93<<2)|0); - HEAP32[$94>>2] = $92; - $95 = (((($11) + (($$0167183*12)|0)|0)) + 4|0); - $96 = HEAP32[$95>>2]|0; - $97 = (($93) + 1)|0; - $98 = (($67) + ($97<<2)|0); - HEAP32[$98>>2] = $96; - $99 = (((($11) + (($$0167183*12)|0)|0)) + 8|0); - $100 = HEAP32[$99>>2]|0; - $101 = (($93) + 2)|0; - $102 = (($67) + ($101<<2)|0); - HEAP32[$102>>2] = $100; - $103 = (($$0167183) + 1)|0; - $104 = ($103|0)<($68|0); - if ($104) { - $$0167183 = $103; - } else { - break; - } - } - $89 = ($68|0)>(0); - if ($89) { - $90 = HEAP32[$57>>2]|0; - $$0166181 = 0; - while(1) { - $108 = (($31) + ($$0166181<<3)|0); - $109 = HEAP32[$108>>2]|0; - $110 = $$0166181 << 1; - $111 = (($90) + ($110<<2)|0); - HEAP32[$111>>2] = $109; - $112 = (((($31) + ($$0166181<<3)|0)) + 4|0); - $113 = HEAP32[$112>>2]|0; - $114 = $110 | 1; - $115 = (($90) + ($114<<2)|0); - HEAP32[$115>>2] = $113; - $116 = (($$0166181) + 1)|0; - $exitcond = ($116|0)==($68|0); - if ($exitcond) { - break; - } else { - $$0166181 = $116; - } - } - } - $$pr = HEAP32[$5>>2]|0; - $105 = ($$pr|0)>(0); - if ($105) { - $106 = HEAP32[$60>>2]|0; - $107 = HEAP32[$5>>2]|0; - $$0165179 = 0; - while(1) { - $122 = (($16) + (($$0165179*12)|0)|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($$0165179*3)|0; - $125 = (($106) + ($124<<2)|0); - HEAP32[$125>>2] = $123; - $126 = (((($16) + (($$0165179*12)|0)|0)) + 4|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($124) + 1)|0; - $129 = (($106) + ($128<<2)|0); - HEAP32[$129>>2] = $127; - $130 = (((($16) + (($$0165179*12)|0)|0)) + 8|0); - $131 = HEAP32[$130>>2]|0; - $132 = (($124) + 2)|0; - $133 = (($106) + ($132<<2)|0); - HEAP32[$133>>2] = $131; - $134 = (($$0165179) + 1)|0; - $135 = ($134|0)<($107|0); - if ($135) { - $$0165179 = $134; - } else { - break; - } - } - } - } - $117 = HEAP32[$51>>2]|0; - $118 = ($117|0)>(0); - if (!($118)) { - _free($11); - _free($16); - _free($31); - _free($43); - _rlLoadMesh($5,0); - dest=$0; src=$5; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $119 = HEAP32[$64>>2]|0; - $120 = HEAP32[$51>>2]|0; - $121 = ($120*3)|0; - $$0178 = 0; - while(1) { - $136 = (($43) + ($$0178<<2)|0); - $137 = HEAP32[$136>>2]|0; - $138 = $137&65535; - $139 = (($119) + ($$0178<<1)|0); - HEAP16[$139>>1] = $138; - $140 = (($$0178) + 1)|0; - $141 = ($140|0)<($121|0); - if ($141) { - $$0178 = $140; - } else { - break; - } - } - _free($11); - _free($16); - _free($31); - _free($43); - _rlLoadMesh($5,0); - dest=$0; src=$5; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _GenMeshCube($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx36 = 0, $$sroa$11$0$$sroa_idx38 = 0, $$sroa$12$0$$sroa_idx40 = 0, $$sroa$13$0$$sroa_idx42 = 0, $$sroa$14$0$$sroa_idx44 = 0, $$sroa$15$0$$sroa_idx46 = 0, $$sroa$16$0$$sroa_idx48 = 0, $$sroa$17$0$$sroa_idx50 = 0, $$sroa$18$0$$sroa_idx52 = 0, $$sroa$19$0$$sroa_idx54 = 0, $$sroa$20$0$$sroa_idx56 = 0, $$sroa$21$0$$sroa_idx58 = 0, $$sroa$22$0$$sroa_idx60 = 0, $$sroa$23$0$$sroa_idx62 = 0, $$sroa$24$0$$sroa_idx64 = 0, $$sroa$25$0$$sroa_idx66 = 0, $$sroa$26$0$$sroa_idx68 = 0, $$sroa$27$0$$sroa_idx70 = 0, $$sroa$28$0$$sroa_idx72 = 0, $$sroa$29$0$$sroa_idx74 = 0; - var $$sroa$30$0$$sroa_idx76 = 0, $$sroa$31$0$$sroa_idx78 = 0, $$sroa$32$0$$sroa_idx80 = 0, $$sroa$33$0$$sroa_idx82 = 0, $$sroa$34$0$$sroa_idx84 = 0, $$sroa$35$0$$sroa_idx86 = 0, $$sroa$36$0$$sroa_idx88 = 0, $$sroa$37$0$$sroa_idx90 = 0, $$sroa$38$0$$sroa_idx92 = 0, $$sroa$39$0$$sroa_idx94 = 0, $$sroa$4$0$$sroa_idx24 = 0, $$sroa$40$0$$sroa_idx96 = 0, $$sroa$41$0$$sroa_idx98 = 0, $$sroa$42$0$$sroa_idx100 = 0, $$sroa$43$0$$sroa_idx102 = 0, $$sroa$44$0$$sroa_idx104 = 0, $$sroa$45$0$$sroa_idx106 = 0, $$sroa$46$0$$sroa_idx108 = 0, $$sroa$47$0$$sroa_idx110 = 0, $$sroa$48$0$$sroa_idx112 = 0; - var $$sroa$49$0$$sroa_idx114 = 0, $$sroa$5$0$$sroa_idx26 = 0, $$sroa$50$0$$sroa_idx116 = 0, $$sroa$51$0$$sroa_idx118 = 0, $$sroa$52$0$$sroa_idx120 = 0, $$sroa$53$0$$sroa_idx122 = 0, $$sroa$54$0$$sroa_idx124 = 0, $$sroa$55$0$$sroa_idx126 = 0, $$sroa$56$0$$sroa_idx128 = 0, $$sroa$57$0$$sroa_idx130 = 0, $$sroa$58$0$$sroa_idx132 = 0, $$sroa$59$0$$sroa_idx134 = 0, $$sroa$6$0$$sroa_idx28 = 0, $$sroa$60$0$$sroa_idx136 = 0, $$sroa$61$0$$sroa_idx138 = 0, $$sroa$62$0$$sroa_idx140 = 0, $$sroa$63$0$$sroa_idx142 = 0, $$sroa$64$0$$sroa_idx144 = 0, $$sroa$65$0$$sroa_idx146 = 0, $$sroa$66$0$$sroa_idx148 = 0; - var $$sroa$67$0$$sroa_idx150 = 0, $$sroa$68$0$$sroa_idx152 = 0, $$sroa$69$0$$sroa_idx154 = 0, $$sroa$7$0$$sroa_idx30 = 0, $$sroa$70$0$$sroa_idx156 = 0, $$sroa$71$0$$sroa_idx158 = 0, $$sroa$72$0$$sroa_idx160 = 0, $$sroa$73$0$$sroa_idx162 = 0, $$sroa$74$0$$sroa_idx164 = 0, $$sroa$8$0$$sroa_idx32 = 0, $$sroa$9$0$$sroa_idx34 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0.0, $7 = 0.0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $4 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $5 = $1 * -0.5; - $6 = $2 * -0.5; - $7 = $3 * 0.5; - $8 = $1 * 0.5; - $9 = $2 * 0.5; - $10 = $3 * -0.5; - $11 = (_malloc(288)|0); - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = $11; - HEAPF32[$11>>2] = $5; - $$sroa$4$0$$sroa_idx24 = ((($11)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx24>>2] = $6; - $$sroa$5$0$$sroa_idx26 = ((($11)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx26>>2] = $7; - $$sroa$6$0$$sroa_idx28 = ((($11)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx28>>2] = $8; - $$sroa$7$0$$sroa_idx30 = ((($11)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx30>>2] = $6; - $$sroa$8$0$$sroa_idx32 = ((($11)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx32>>2] = $7; - $$sroa$9$0$$sroa_idx34 = ((($11)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx34>>2] = $8; - $$sroa$10$0$$sroa_idx36 = ((($11)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx36>>2] = $9; - $$sroa$11$0$$sroa_idx38 = ((($11)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx38>>2] = $7; - $$sroa$12$0$$sroa_idx40 = ((($11)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx40>>2] = $5; - $$sroa$13$0$$sroa_idx42 = ((($11)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx42>>2] = $9; - $$sroa$14$0$$sroa_idx44 = ((($11)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx44>>2] = $7; - $$sroa$15$0$$sroa_idx46 = ((($11)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx46>>2] = $5; - $$sroa$16$0$$sroa_idx48 = ((($11)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx48>>2] = $6; - $$sroa$17$0$$sroa_idx50 = ((($11)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx50>>2] = $10; - $$sroa$18$0$$sroa_idx52 = ((($11)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx52>>2] = $5; - $$sroa$19$0$$sroa_idx54 = ((($11)) + 64|0); - HEAPF32[$$sroa$19$0$$sroa_idx54>>2] = $9; - $$sroa$20$0$$sroa_idx56 = ((($11)) + 68|0); - HEAPF32[$$sroa$20$0$$sroa_idx56>>2] = $10; - $$sroa$21$0$$sroa_idx58 = ((($11)) + 72|0); - HEAPF32[$$sroa$21$0$$sroa_idx58>>2] = $8; - $$sroa$22$0$$sroa_idx60 = ((($11)) + 76|0); - HEAPF32[$$sroa$22$0$$sroa_idx60>>2] = $9; - $$sroa$23$0$$sroa_idx62 = ((($11)) + 80|0); - HEAPF32[$$sroa$23$0$$sroa_idx62>>2] = $10; - $$sroa$24$0$$sroa_idx64 = ((($11)) + 84|0); - HEAPF32[$$sroa$24$0$$sroa_idx64>>2] = $8; - $$sroa$25$0$$sroa_idx66 = ((($11)) + 88|0); - HEAPF32[$$sroa$25$0$$sroa_idx66>>2] = $6; - $$sroa$26$0$$sroa_idx68 = ((($11)) + 92|0); - HEAPF32[$$sroa$26$0$$sroa_idx68>>2] = $10; - $$sroa$27$0$$sroa_idx70 = ((($11)) + 96|0); - HEAPF32[$$sroa$27$0$$sroa_idx70>>2] = $5; - $$sroa$28$0$$sroa_idx72 = ((($11)) + 100|0); - HEAPF32[$$sroa$28$0$$sroa_idx72>>2] = $9; - $$sroa$29$0$$sroa_idx74 = ((($11)) + 104|0); - HEAPF32[$$sroa$29$0$$sroa_idx74>>2] = $10; - $$sroa$30$0$$sroa_idx76 = ((($11)) + 108|0); - HEAPF32[$$sroa$30$0$$sroa_idx76>>2] = $5; - $$sroa$31$0$$sroa_idx78 = ((($11)) + 112|0); - HEAPF32[$$sroa$31$0$$sroa_idx78>>2] = $9; - $$sroa$32$0$$sroa_idx80 = ((($11)) + 116|0); - HEAPF32[$$sroa$32$0$$sroa_idx80>>2] = $7; - $$sroa$33$0$$sroa_idx82 = ((($11)) + 120|0); - HEAPF32[$$sroa$33$0$$sroa_idx82>>2] = $8; - $$sroa$34$0$$sroa_idx84 = ((($11)) + 124|0); - HEAPF32[$$sroa$34$0$$sroa_idx84>>2] = $9; - $$sroa$35$0$$sroa_idx86 = ((($11)) + 128|0); - HEAPF32[$$sroa$35$0$$sroa_idx86>>2] = $7; - $$sroa$36$0$$sroa_idx88 = ((($11)) + 132|0); - HEAPF32[$$sroa$36$0$$sroa_idx88>>2] = $8; - $$sroa$37$0$$sroa_idx90 = ((($11)) + 136|0); - HEAPF32[$$sroa$37$0$$sroa_idx90>>2] = $9; - $$sroa$38$0$$sroa_idx92 = ((($11)) + 140|0); - HEAPF32[$$sroa$38$0$$sroa_idx92>>2] = $10; - $$sroa$39$0$$sroa_idx94 = ((($11)) + 144|0); - HEAPF32[$$sroa$39$0$$sroa_idx94>>2] = $5; - $$sroa$40$0$$sroa_idx96 = ((($11)) + 148|0); - HEAPF32[$$sroa$40$0$$sroa_idx96>>2] = $6; - $$sroa$41$0$$sroa_idx98 = ((($11)) + 152|0); - HEAPF32[$$sroa$41$0$$sroa_idx98>>2] = $10; - $$sroa$42$0$$sroa_idx100 = ((($11)) + 156|0); - HEAPF32[$$sroa$42$0$$sroa_idx100>>2] = $8; - $$sroa$43$0$$sroa_idx102 = ((($11)) + 160|0); - HEAPF32[$$sroa$43$0$$sroa_idx102>>2] = $6; - $$sroa$44$0$$sroa_idx104 = ((($11)) + 164|0); - HEAPF32[$$sroa$44$0$$sroa_idx104>>2] = $10; - $$sroa$45$0$$sroa_idx106 = ((($11)) + 168|0); - HEAPF32[$$sroa$45$0$$sroa_idx106>>2] = $8; - $$sroa$46$0$$sroa_idx108 = ((($11)) + 172|0); - HEAPF32[$$sroa$46$0$$sroa_idx108>>2] = $6; - $$sroa$47$0$$sroa_idx110 = ((($11)) + 176|0); - HEAPF32[$$sroa$47$0$$sroa_idx110>>2] = $7; - $$sroa$48$0$$sroa_idx112 = ((($11)) + 180|0); - HEAPF32[$$sroa$48$0$$sroa_idx112>>2] = $5; - $$sroa$49$0$$sroa_idx114 = ((($11)) + 184|0); - HEAPF32[$$sroa$49$0$$sroa_idx114>>2] = $6; - $$sroa$50$0$$sroa_idx116 = ((($11)) + 188|0); - HEAPF32[$$sroa$50$0$$sroa_idx116>>2] = $7; - $$sroa$51$0$$sroa_idx118 = ((($11)) + 192|0); - HEAPF32[$$sroa$51$0$$sroa_idx118>>2] = $8; - $$sroa$52$0$$sroa_idx120 = ((($11)) + 196|0); - HEAPF32[$$sroa$52$0$$sroa_idx120>>2] = $6; - $$sroa$53$0$$sroa_idx122 = ((($11)) + 200|0); - HEAPF32[$$sroa$53$0$$sroa_idx122>>2] = $10; - $$sroa$54$0$$sroa_idx124 = ((($11)) + 204|0); - HEAPF32[$$sroa$54$0$$sroa_idx124>>2] = $8; - $$sroa$55$0$$sroa_idx126 = ((($11)) + 208|0); - HEAPF32[$$sroa$55$0$$sroa_idx126>>2] = $9; - $$sroa$56$0$$sroa_idx128 = ((($11)) + 212|0); - HEAPF32[$$sroa$56$0$$sroa_idx128>>2] = $10; - $$sroa$57$0$$sroa_idx130 = ((($11)) + 216|0); - HEAPF32[$$sroa$57$0$$sroa_idx130>>2] = $8; - $$sroa$58$0$$sroa_idx132 = ((($11)) + 220|0); - HEAPF32[$$sroa$58$0$$sroa_idx132>>2] = $9; - $$sroa$59$0$$sroa_idx134 = ((($11)) + 224|0); - HEAPF32[$$sroa$59$0$$sroa_idx134>>2] = $7; - $$sroa$60$0$$sroa_idx136 = ((($11)) + 228|0); - HEAPF32[$$sroa$60$0$$sroa_idx136>>2] = $8; - $$sroa$61$0$$sroa_idx138 = ((($11)) + 232|0); - HEAPF32[$$sroa$61$0$$sroa_idx138>>2] = $6; - $$sroa$62$0$$sroa_idx140 = ((($11)) + 236|0); - HEAPF32[$$sroa$62$0$$sroa_idx140>>2] = $7; - $$sroa$63$0$$sroa_idx142 = ((($11)) + 240|0); - HEAPF32[$$sroa$63$0$$sroa_idx142>>2] = $5; - $$sroa$64$0$$sroa_idx144 = ((($11)) + 244|0); - HEAPF32[$$sroa$64$0$$sroa_idx144>>2] = $6; - $$sroa$65$0$$sroa_idx146 = ((($11)) + 248|0); - HEAPF32[$$sroa$65$0$$sroa_idx146>>2] = $10; - $$sroa$66$0$$sroa_idx148 = ((($11)) + 252|0); - HEAPF32[$$sroa$66$0$$sroa_idx148>>2] = $5; - $$sroa$67$0$$sroa_idx150 = ((($11)) + 256|0); - HEAPF32[$$sroa$67$0$$sroa_idx150>>2] = $6; - $$sroa$68$0$$sroa_idx152 = ((($11)) + 260|0); - HEAPF32[$$sroa$68$0$$sroa_idx152>>2] = $7; - $$sroa$69$0$$sroa_idx154 = ((($11)) + 264|0); - HEAPF32[$$sroa$69$0$$sroa_idx154>>2] = $5; - $$sroa$70$0$$sroa_idx156 = ((($11)) + 268|0); - HEAPF32[$$sroa$70$0$$sroa_idx156>>2] = $9; - $$sroa$71$0$$sroa_idx158 = ((($11)) + 272|0); - HEAPF32[$$sroa$71$0$$sroa_idx158>>2] = $7; - $$sroa$72$0$$sroa_idx160 = ((($11)) + 276|0); - HEAPF32[$$sroa$72$0$$sroa_idx160>>2] = $5; - $$sroa$73$0$$sroa_idx162 = ((($11)) + 280|0); - HEAPF32[$$sroa$73$0$$sroa_idx162>>2] = $9; - $$sroa$74$0$$sroa_idx164 = ((($11)) + 284|0); - HEAPF32[$$sroa$74$0$$sroa_idx164>>2] = $10; - $13 = (_malloc(192)|0); - $14 = ((($4)) + 12|0); - HEAP32[$14>>2] = $13; - _memcpy(($13|0),(3016|0),192)|0; - $15 = (_malloc(288)|0); - $16 = ((($4)) + 20|0); - HEAP32[$16>>2] = $15; - _memcpy(($15|0),(3208|0),288)|0; - $17 = (_malloc(72)|0); - $18 = ((($4)) + 32|0); - HEAP32[$18>>2] = $17; - HEAP16[$17>>1] = 0; - $19 = ((($17)) + 2|0); - HEAP16[$19>>1] = 1; - $20 = ((($17)) + 4|0); - HEAP16[$20>>1] = 2; - $21 = ((($17)) + 6|0); - HEAP16[$21>>1] = 0; - $22 = ((($17)) + 8|0); - HEAP16[$22>>1] = 2; - $23 = ((($17)) + 10|0); - HEAP16[$23>>1] = 3; - $24 = ((($17)) + 12|0); - HEAP16[$24>>1] = 4; - $25 = ((($17)) + 14|0); - HEAP16[$25>>1] = 5; - $26 = ((($17)) + 16|0); - HEAP16[$26>>1] = 6; - $27 = ((($17)) + 18|0); - HEAP16[$27>>1] = 4; - $28 = ((($17)) + 20|0); - HEAP16[$28>>1] = 6; - $29 = ((($17)) + 22|0); - HEAP16[$29>>1] = 7; - $30 = ((($17)) + 24|0); - HEAP16[$30>>1] = 8; - $31 = ((($17)) + 26|0); - HEAP16[$31>>1] = 9; - $32 = ((($17)) + 28|0); - HEAP16[$32>>1] = 10; - $33 = ((($17)) + 30|0); - HEAP16[$33>>1] = 8; - $34 = ((($17)) + 32|0); - HEAP16[$34>>1] = 10; - $35 = ((($17)) + 34|0); - HEAP16[$35>>1] = 11; - $36 = ((($17)) + 36|0); - HEAP16[$36>>1] = 12; - $37 = ((($17)) + 38|0); - HEAP16[$37>>1] = 13; - $38 = ((($17)) + 40|0); - HEAP16[$38>>1] = 14; - $39 = ((($17)) + 42|0); - HEAP16[$39>>1] = 12; - $40 = ((($17)) + 44|0); - HEAP16[$40>>1] = 14; - $41 = ((($17)) + 46|0); - HEAP16[$41>>1] = 15; - $42 = ((($17)) + 48|0); - HEAP16[$42>>1] = 16; - $43 = ((($17)) + 50|0); - HEAP16[$43>>1] = 17; - $44 = ((($17)) + 52|0); - HEAP16[$44>>1] = 18; - $45 = ((($17)) + 54|0); - HEAP16[$45>>1] = 16; - $46 = ((($17)) + 56|0); - HEAP16[$46>>1] = 18; - $47 = ((($17)) + 58|0); - HEAP16[$47>>1] = 19; - $48 = ((($17)) + 60|0); - HEAP16[$48>>1] = 20; - $49 = ((($17)) + 62|0); - HEAP16[$49>>1] = 21; - $50 = ((($17)) + 64|0); - HEAP16[$50>>1] = 22; - $51 = ((($17)) + 66|0); - HEAP16[$51>>1] = 20; - $52 = ((($17)) + 68|0); - HEAP16[$52>>1] = 22; - $53 = ((($17)) + 70|0); - HEAP16[$53>>1] = 23; - HEAP32[$4>>2] = 24; - $54 = ((($4)) + 4|0); - HEAP32[$54>>2] = 12; - _rlLoadMesh($4,0); - dest=$0; src=$4; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _GenMeshSphere($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - var $$048 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $4 = sp; - $5 = ((($4)) + 16|0); - dest=$5; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = (_par_shapes_create_parametric_sphere($3,$2)|0); - _par_shapes_scale($6,$1,$1,$1); - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8*36)|0; - $10 = (_malloc($9)|0); - $11 = ((($4)) + 8|0); - HEAP32[$11>>2] = $10; - $12 = ($8*24)|0; - $13 = (_malloc($12)|0); - $14 = ((($4)) + 12|0); - HEAP32[$14>>2] = $13; - $15 = HEAP32[$7>>2]|0; - $16 = ($15*36)|0; - $17 = (_malloc($16)|0); - $18 = ((($4)) + 20|0); - HEAP32[$18>>2] = $17; - $19 = ($15*3)|0; - HEAP32[$4>>2] = $19; - $20 = ((($4)) + 4|0); - HEAP32[$20>>2] = $15; - $21 = ($15|0)>(0); - if (!($21)) { - _par_shapes_free_mesh($6); - _rlLoadMesh($4,0); - dest=$0; src=$4; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $22 = HEAP32[$6>>2]|0; - $23 = ((($6)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$11>>2]|0; - $26 = ((($6)) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$18>>2]|0; - $29 = ((($6)) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$14>>2]|0; - $32 = HEAP32[$4>>2]|0; - $$048 = 0; - while(1) { - $33 = (($24) + ($$048<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - $36 = ($35*3)|0; - $37 = (($22) + ($36<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($$048*3)|0; - $40 = (($25) + ($39<<2)|0); - HEAP32[$40>>2] = $38; - $41 = (($36) + 1)|0; - $42 = (($22) + ($41<<2)|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($39) + 1)|0; - $45 = (($25) + ($44<<2)|0); - HEAP32[$45>>2] = $43; - $46 = (($36) + 2)|0; - $47 = (($22) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($39) + 2)|0; - $50 = (($25) + ($49<<2)|0); - HEAP32[$50>>2] = $48; - $51 = (($27) + ($36<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($28) + ($39<<2)|0); - HEAP32[$53>>2] = $52; - $54 = (($27) + ($41<<2)|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($28) + ($44<<2)|0); - HEAP32[$56>>2] = $55; - $57 = (($27) + ($46<<2)|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($28) + ($49<<2)|0); - HEAP32[$59>>2] = $58; - $60 = $35 << 1; - $61 = (($30) + ($60<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = $$048 << 1; - $64 = (($31) + ($63<<2)|0); - HEAP32[$64>>2] = $62; - $65 = $60 | 1; - $66 = (($30) + ($65<<2)|0); - $67 = HEAP32[$66>>2]|0; - $68 = $63 | 1; - $69 = (($31) + ($68<<2)|0); - HEAP32[$69>>2] = $67; - $70 = (($$048) + 1)|0; - $71 = ($70|0)<($32|0); - if ($71) { - $$048 = $70; - } else { - break; - } - } - _par_shapes_free_mesh($6); - _rlLoadMesh($4,0); - dest=$0; src=$4; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _GenMeshHemiSphere($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - var $$048 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $4 = sp; - $5 = ((($4)) + 16|0); - dest=$5; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = (_par_shapes_create_hemisphere($3,$2)|0); - _par_shapes_scale($6,$1,$1,$1); - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8*36)|0; - $10 = (_malloc($9)|0); - $11 = ((($4)) + 8|0); - HEAP32[$11>>2] = $10; - $12 = ($8*24)|0; - $13 = (_malloc($12)|0); - $14 = ((($4)) + 12|0); - HEAP32[$14>>2] = $13; - $15 = HEAP32[$7>>2]|0; - $16 = ($15*36)|0; - $17 = (_malloc($16)|0); - $18 = ((($4)) + 20|0); - HEAP32[$18>>2] = $17; - $19 = ($15*3)|0; - HEAP32[$4>>2] = $19; - $20 = ((($4)) + 4|0); - HEAP32[$20>>2] = $15; - $21 = ($15|0)>(0); - if (!($21)) { - _par_shapes_free_mesh($6); - _rlLoadMesh($4,0); - dest=$0; src=$4; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $22 = HEAP32[$6>>2]|0; - $23 = ((($6)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = HEAP32[$11>>2]|0; - $26 = ((($6)) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$18>>2]|0; - $29 = ((($6)) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$14>>2]|0; - $32 = HEAP32[$4>>2]|0; - $$048 = 0; - while(1) { - $33 = (($24) + ($$048<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - $36 = ($35*3)|0; - $37 = (($22) + ($36<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($$048*3)|0; - $40 = (($25) + ($39<<2)|0); - HEAP32[$40>>2] = $38; - $41 = (($36) + 1)|0; - $42 = (($22) + ($41<<2)|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($39) + 1)|0; - $45 = (($25) + ($44<<2)|0); - HEAP32[$45>>2] = $43; - $46 = (($36) + 2)|0; - $47 = (($22) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($39) + 2)|0; - $50 = (($25) + ($49<<2)|0); - HEAP32[$50>>2] = $48; - $51 = (($27) + ($36<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($28) + ($39<<2)|0); - HEAP32[$53>>2] = $52; - $54 = (($27) + ($41<<2)|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($28) + ($44<<2)|0); - HEAP32[$56>>2] = $55; - $57 = (($27) + ($46<<2)|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($28) + ($49<<2)|0); - HEAP32[$59>>2] = $58; - $60 = $35 << 1; - $61 = (($30) + ($60<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = $$048 << 1; - $64 = (($31) + ($63<<2)|0); - HEAP32[$64>>2] = $62; - $65 = $60 | 1; - $66 = (($30) + ($65<<2)|0); - $67 = HEAP32[$66>>2]|0; - $68 = $63 | 1; - $69 = (($31) + ($68<<2)|0); - HEAP32[$69>>2] = $67; - $70 = (($$048) + 1)|0; - $71 = ($70|0)<($32|0); - if ($71) { - $$048 = $70; - } else { - break; - } - } - _par_shapes_free_mesh($6); - _rlLoadMesh($4,0); - dest=$0; src=$4; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _GenMeshCylinder($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = $3|0; - var $$08285 = 0, $$084 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $smax = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $4 = sp + 84|0; - $5 = sp + 72|0; - $6 = sp + 60|0; - $7 = sp + 48|0; - $8 = sp + 36|0; - $9 = sp + 24|0; - $10 = sp + 12|0; - $11 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $12 = (_par_shapes_create_cylinder($3,8)|0); - _par_shapes_scale($12,$1,$1,$2); - HEAPF32[$5>>2] = 1.0; - $13 = ((($5)) + 4|0); - HEAPF32[$13>>2] = 0.0; - $14 = ((($5)) + 8|0); - HEAPF32[$14>>2] = 0.0; - _par_shapes_rotate($12,-1.5707963705062866,$5); - HEAPF32[$6>>2] = 0.0; - $15 = ((($6)) + 4|0); - HEAPF32[$15>>2] = 0.0; - $16 = ((($6)) + 8|0); - HEAPF32[$16>>2] = 0.0; - HEAPF32[$7>>2] = 0.0; - $17 = ((($7)) + 4|0); - HEAPF32[$17>>2] = 0.0; - $18 = ((($7)) + 8|0); - HEAPF32[$18>>2] = 1.0; - $19 = (_par_shapes_create_disk($1,$3,$6,$7)|0); - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = $21 << 3; - $23 = (_malloc($22)|0); - $24 = ((($19)) + 20|0); - HEAP32[$24>>2] = $23; - $25 = ($21|0)>(0); - if ($25) { - $26 = HEAP32[$24>>2]|0; - $27 = HEAP32[$20>>2]|0; - $28 = $27 << 1; - $29 = ($28|0)>(1); - $smax = $29 ? $28 : 1; - $30 = $smax << 2; - _memset(($26|0),0,($30|0))|0; - } - HEAPF32[$8>>2] = 1.0; - $31 = ((($8)) + 4|0); - HEAPF32[$31>>2] = 0.0; - $32 = ((($8)) + 8|0); - HEAPF32[$32>>2] = 0.0; - _par_shapes_rotate($19,-1.5707963705062866,$8); - _par_shapes_translate($19,0.0,$2,0.0); - HEAPF32[$9>>2] = 0.0; - $33 = ((($9)) + 4|0); - HEAPF32[$33>>2] = 0.0; - $34 = ((($9)) + 8|0); - HEAPF32[$34>>2] = 0.0; - HEAPF32[$10>>2] = 0.0; - $35 = ((($10)) + 4|0); - HEAPF32[$35>>2] = 0.0; - $36 = ((($10)) + 8|0); - HEAPF32[$36>>2] = -1.0; - $37 = (_par_shapes_create_disk($1,$3,$9,$10)|0); - $38 = ((($37)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = $39 << 3; - $41 = (_malloc($40)|0); - $42 = ((($37)) + 20|0); - HEAP32[$42>>2] = $41; - $43 = ($39|0)>(0); - if ($43) { - $44 = HEAP32[$42>>2]|0; - $45 = HEAP32[$38>>2]|0; - $46 = $45 << 1; - $$08285 = 0; - while(1) { - $75 = (($44) + ($$08285<<2)|0); - HEAPF32[$75>>2] = 0.94999998807907104; - $76 = (($$08285) + 1)|0; - $77 = ($76|0)<($46|0); - if ($77) { - $$08285 = $76; - } else { - break; - } - } - } - HEAPF32[$11>>2] = 1.0; - $47 = ((($11)) + 4|0); - HEAPF32[$47>>2] = 0.0; - $48 = ((($11)) + 8|0); - HEAPF32[$48>>2] = 0.0; - _par_shapes_rotate($37,1.5707963705062866,$11); - _par_shapes_merge_and_free($12,$19); - _par_shapes_merge_and_free($12,$37); - $49 = ((($12)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50*36)|0; - $52 = (_malloc($51)|0); - $53 = ((($4)) + 8|0); - HEAP32[$53>>2] = $52; - $54 = ($50*24)|0; - $55 = (_malloc($54)|0); - $56 = ((($4)) + 12|0); - HEAP32[$56>>2] = $55; - $57 = HEAP32[$49>>2]|0; - $58 = ($57*36)|0; - $59 = (_malloc($58)|0); - $60 = ((($4)) + 20|0); - HEAP32[$60>>2] = $59; - $61 = ($57*3)|0; - HEAP32[$4>>2] = $61; - $62 = ((($4)) + 4|0); - HEAP32[$62>>2] = $57; - $63 = ($57|0)>(0); - if (!($63)) { - _par_shapes_free_mesh($12); - _rlLoadMesh($4,0); - dest=$0; src=$4; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $64 = HEAP32[$12>>2]|0; - $65 = ((($12)) + 8|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$53>>2]|0; - $68 = ((($12)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$60>>2]|0; - $71 = ((($12)) + 20|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$56>>2]|0; - $74 = HEAP32[$4>>2]|0; - $$084 = 0; - while(1) { - $78 = (($66) + ($$084<<1)|0); - $79 = HEAP16[$78>>1]|0; - $80 = $79&65535; - $81 = ($80*3)|0; - $82 = (($64) + ($81<<2)|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($$084*3)|0; - $85 = (($67) + ($84<<2)|0); - HEAP32[$85>>2] = $83; - $86 = (($81) + 1)|0; - $87 = (($64) + ($86<<2)|0); - $88 = HEAP32[$87>>2]|0; - $89 = (($84) + 1)|0; - $90 = (($67) + ($89<<2)|0); - HEAP32[$90>>2] = $88; - $91 = (($81) + 2)|0; - $92 = (($64) + ($91<<2)|0); - $93 = HEAP32[$92>>2]|0; - $94 = (($84) + 2)|0; - $95 = (($67) + ($94<<2)|0); - HEAP32[$95>>2] = $93; - $96 = (($69) + ($81<<2)|0); - $97 = HEAP32[$96>>2]|0; - $98 = (($70) + ($84<<2)|0); - HEAP32[$98>>2] = $97; - $99 = (($69) + ($86<<2)|0); - $100 = HEAP32[$99>>2]|0; - $101 = (($70) + ($89<<2)|0); - HEAP32[$101>>2] = $100; - $102 = (($69) + ($91<<2)|0); - $103 = HEAP32[$102>>2]|0; - $104 = (($70) + ($94<<2)|0); - HEAP32[$104>>2] = $103; - $105 = $80 << 1; - $106 = (($72) + ($105<<2)|0); - $107 = HEAP32[$106>>2]|0; - $108 = $$084 << 1; - $109 = (($73) + ($108<<2)|0); - HEAP32[$109>>2] = $107; - $110 = $105 | 1; - $111 = (($72) + ($110<<2)|0); - $112 = HEAP32[$111>>2]|0; - $113 = $108 | 1; - $114 = (($73) + ($113<<2)|0); - HEAP32[$114>>2] = $112; - $115 = (($$084) + 1)|0; - $116 = ($115|0)<($74|0); - if ($116) { - $$084 = $115; - } else { - break; - } - } - _par_shapes_free_mesh($12); - _rlLoadMesh($4,0); - dest=$0; src=$4; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _GenMeshTorus($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = $3|0; - $4 = $4|0; - var $$051 = 0.0, $$052 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $5 = sp; - dest=$5; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = $1 > 1.0; - if ($6) { - $$051 = 1.0; - } else { - $7 = $1 < 0.10000000149011612; - if ($7) { - $$051 = 0.10000000149011612; - } else { - $$051 = $1; - } - } - $8 = (_par_shapes_create_torus($3,$4,$$051)|0); - $9 = $2 * 0.5; - _par_shapes_scale($8,$9,$9,$9); - $10 = ((($8)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11*36)|0; - $13 = (_malloc($12)|0); - $14 = ((($5)) + 8|0); - HEAP32[$14>>2] = $13; - $15 = ($11*24)|0; - $16 = (_malloc($15)|0); - $17 = ((($5)) + 12|0); - HEAP32[$17>>2] = $16; - $18 = HEAP32[$10>>2]|0; - $19 = ($18*36)|0; - $20 = (_malloc($19)|0); - $21 = ((($5)) + 20|0); - HEAP32[$21>>2] = $20; - $22 = ($18*3)|0; - HEAP32[$5>>2] = $22; - $23 = ((($5)) + 4|0); - HEAP32[$23>>2] = $18; - $24 = ($18|0)>(0); - if (!($24)) { - _par_shapes_free_mesh($8); - _rlLoadMesh($5,0); - dest=$0; src=$5; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $25 = HEAP32[$8>>2]|0; - $26 = ((($8)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$14>>2]|0; - $29 = ((($8)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$21>>2]|0; - $32 = ((($8)) + 20|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$17>>2]|0; - $35 = HEAP32[$5>>2]|0; - $$052 = 0; - while(1) { - $36 = (($27) + ($$052<<1)|0); - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $39 = ($38*3)|0; - $40 = (($25) + ($39<<2)|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($$052*3)|0; - $43 = (($28) + ($42<<2)|0); - HEAP32[$43>>2] = $41; - $44 = (($39) + 1)|0; - $45 = (($25) + ($44<<2)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($42) + 1)|0; - $48 = (($28) + ($47<<2)|0); - HEAP32[$48>>2] = $46; - $49 = (($39) + 2)|0; - $50 = (($25) + ($49<<2)|0); - $51 = HEAP32[$50>>2]|0; - $52 = (($42) + 2)|0; - $53 = (($28) + ($52<<2)|0); - HEAP32[$53>>2] = $51; - $54 = (($30) + ($39<<2)|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($31) + ($42<<2)|0); - HEAP32[$56>>2] = $55; - $57 = (($30) + ($44<<2)|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($31) + ($47<<2)|0); - HEAP32[$59>>2] = $58; - $60 = (($30) + ($49<<2)|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($31) + ($52<<2)|0); - HEAP32[$62>>2] = $61; - $63 = $38 << 1; - $64 = (($33) + ($63<<2)|0); - $65 = HEAP32[$64>>2]|0; - $66 = $$052 << 1; - $67 = (($34) + ($66<<2)|0); - HEAP32[$67>>2] = $65; - $68 = $63 | 1; - $69 = (($33) + ($68<<2)|0); - $70 = HEAP32[$69>>2]|0; - $71 = $66 | 1; - $72 = (($34) + ($71<<2)|0); - HEAP32[$72>>2] = $70; - $73 = (($$052) + 1)|0; - $74 = ($73|0)<($35|0); - if ($74) { - $$052 = $73; - } else { - break; - } - } - _par_shapes_free_mesh($8); - _rlLoadMesh($5,0); - dest=$0; src=$5; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _GenMeshKnot($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = $3|0; - $4 = $4|0; - var $$051 = 0.0, $$052 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $5 = sp; - dest=$5; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = $1 > 3.0; - if ($6) { - $$051 = 3.0; - } else { - $7 = $1 < 0.5; - if ($7) { - $$051 = 0.5; - } else { - $$051 = $1; - } - } - $8 = (_par_shapes_create_trefoil_knot($3,$4,$$051)|0); - _par_shapes_scale($8,$2,$2,$2); - $9 = ((($8)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10*36)|0; - $12 = (_malloc($11)|0); - $13 = ((($5)) + 8|0); - HEAP32[$13>>2] = $12; - $14 = ($10*24)|0; - $15 = (_malloc($14)|0); - $16 = ((($5)) + 12|0); - HEAP32[$16>>2] = $15; - $17 = HEAP32[$9>>2]|0; - $18 = ($17*36)|0; - $19 = (_malloc($18)|0); - $20 = ((($5)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ($17*3)|0; - HEAP32[$5>>2] = $21; - $22 = ((($5)) + 4|0); - HEAP32[$22>>2] = $17; - $23 = ($17|0)>(0); - if (!($23)) { - _par_shapes_free_mesh($8); - _rlLoadMesh($5,0); - dest=$0; src=$5; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $24 = HEAP32[$8>>2]|0; - $25 = ((($8)) + 8|0); - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[$13>>2]|0; - $28 = ((($8)) + 16|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$20>>2]|0; - $31 = ((($8)) + 20|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP32[$16>>2]|0; - $34 = HEAP32[$5>>2]|0; - $$052 = 0; - while(1) { - $35 = (($26) + ($$052<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = ($37*3)|0; - $39 = (($24) + ($38<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($$052*3)|0; - $42 = (($27) + ($41<<2)|0); - HEAP32[$42>>2] = $40; - $43 = (($38) + 1)|0; - $44 = (($24) + ($43<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($41) + 1)|0; - $47 = (($27) + ($46<<2)|0); - HEAP32[$47>>2] = $45; - $48 = (($38) + 2)|0; - $49 = (($24) + ($48<<2)|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($41) + 2)|0; - $52 = (($27) + ($51<<2)|0); - HEAP32[$52>>2] = $50; - $53 = (($29) + ($38<<2)|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($30) + ($41<<2)|0); - HEAP32[$55>>2] = $54; - $56 = (($29) + ($43<<2)|0); - $57 = HEAP32[$56>>2]|0; - $58 = (($30) + ($46<<2)|0); - HEAP32[$58>>2] = $57; - $59 = (($29) + ($48<<2)|0); - $60 = HEAP32[$59>>2]|0; - $61 = (($30) + ($51<<2)|0); - HEAP32[$61>>2] = $60; - $62 = $37 << 1; - $63 = (($32) + ($62<<2)|0); - $64 = HEAP32[$63>>2]|0; - $65 = $$052 << 1; - $66 = (($33) + ($65<<2)|0); - HEAP32[$66>>2] = $64; - $67 = $62 | 1; - $68 = (($32) + ($67<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = $65 | 1; - $71 = (($33) + ($70<<2)|0); - HEAP32[$71>>2] = $69; - $72 = (($$052) + 1)|0; - $73 = ($72|0)<($34|0); - if ($73) { - $$052 = $72; - } else { - break; - } - } - _par_shapes_free_mesh($8); - _rlLoadMesh($5,0); - dest=$0; src=$5; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _DrawModel($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy4 = sp + 664|0; - $$byval_copy3 = sp + 652|0; - $$byval_copy2 = sp + 640|0; - $$byval_copy1 = sp + 628|0; - $$byval_copy = sp + 24|0; - $4 = sp + 12|0; - $5 = sp; - HEAPF32[$4>>2] = $2; - $6 = ((($4)) + 4|0); - HEAPF32[$6>>2] = $2; - $7 = ((($4)) + 8|0); - HEAPF32[$7>>2] = $2; - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; - _memcpy(($$byval_copy|0),($0|0),604)|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawModelEx($$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$$byval_copy3,$$byval_copy4); - STACKTOP = sp;return; -} -function _DrawModelEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 992|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(992|0); - $$byval_copy9 = sp + 928|0; - $$byval_copy8 = sp + 456|0; - $$byval_copy7 = sp + 384|0; - $6 = sp + 192|0; - $7 = sp + 128|0; - $8 = sp + 64|0; - $9 = sp; - $10 = sp + 320|0; - $11 = sp + 256|0; - $12 = +HEAPF32[$4>>2]; - $13 = ((($4)) + 4|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($4)) + 8|0); - $16 = +HEAPF32[$15>>2]; - _MatrixScale($6,$12,$14,$16); - $17 = $3 * 0.01745329238474369; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$2+8>>2]|0; - _MatrixRotate($7,$$byval_copy9,$17); - $18 = +HEAPF32[$1>>2]; - $19 = ((($1)) + 4|0); - $20 = +HEAPF32[$19>>2]; - $21 = ((($1)) + 8|0); - $22 = +HEAPF32[$21>>2]; - _MatrixTranslate($8,$18,$20,$22); - dest=$$byval_copy8; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($10,$$byval_copy8,$$byval_copy9); - dest=$$byval_copy8; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($9,$$byval_copy8,$$byval_copy9); - $23 = ((($0)) + 68|0); - dest=$$byval_copy8; src=$23; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$9; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($11,$$byval_copy8,$$byval_copy9); - dest=$23; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $24 = ((($0)) + 132|0); - $25 = ((($0)) + 284|0); - $26 = HEAPU8[$5>>0]|(HEAPU8[$5+1>>0]<<8)|(HEAPU8[$5+2>>0]<<16)|(HEAPU8[$5+3>>0]<<24); - HEAP32[$25>>2] = $26; - dest=$$byval_copy7; src=$0; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _memcpy(($$byval_copy8|0),($24|0),472)|0; - dest=$$byval_copy9; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlDrawMesh($$byval_copy7,$$byval_copy8,$$byval_copy9); - STACKTOP = sp;return; -} -function _rlDrawMesh($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0$off = 0, $$03539 = 0, $$036$off = 0, $$03640 = 0, $$038 = 0, $$byval_copy10 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $exitcond = 0, $exitcond42 = 0, $modelview$byval_copy8 = 0, $switch = 0, $switch37 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(464|0); - $$byval_copy10 = sp + 392|0; - $modelview$byval_copy8 = sp + 256|0; - $3 = sp + 192|0; - $4 = sp + 128|0; - $5 = sp + 64|0; - $6 = sp; - $7 = HEAP32[$1>>2]|0; - _glUseProgram(($7|0)); - $8 = ((($1)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(-1); - if (!($10)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$9,$$byval_copy10); - } - $11 = ((($1)) + 48|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(-1); - if (!($13)) { - $14 = ((($1)) + 152|0); - $15 = HEAP8[$14>>0]|0; - $16 = (+($15&255)); - $17 = $16 / 255.0; - $18 = ((($1)) + 153|0); - $19 = HEAP8[$18>>0]|0; - $20 = (+($19&255)); - $21 = $20 / 255.0; - $22 = ((($1)) + 154|0); - $23 = HEAP8[$22>>0]|0; - $24 = (+($23&255)); - $25 = $24 / 255.0; - $26 = ((($1)) + 155|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 / 255.0; - _glUniform4f(($12|0),(+$17),(+$21),(+$25),(+$29)); - } - $30 = ((($1)) + 52|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(-1); - if (!($32)) { - $33 = ((($1)) + 180|0); - $34 = HEAP8[$33>>0]|0; - $35 = (+($34&255)); - $36 = $35 / 255.0; - $37 = ((($1)) + 181|0); - $38 = HEAP8[$37>>0]|0; - $39 = (+($38&255)); - $40 = $39 / 255.0; - $41 = ((($1)) + 182|0); - $42 = HEAP8[$41>>0]|0; - $43 = (+($42&255)); - $44 = $43 / 255.0; - $45 = ((($1)) + 183|0); - $46 = HEAP8[$45>>0]|0; - $47 = (+($46&255)); - $48 = $47 / 255.0; - _glUniform4f(($31|0),(+$36),(+$40),(+$44),(+$48)); - } - $49 = ((($1)) + 36|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(-1); - if (!($51)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=19752; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$50,$$byval_copy10); - } - $52 = ((($1)) + 40|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==(-1); - if (!($54)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=19688; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$53,$$byval_copy10); - } - dest=$3; src=19752; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=19688; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelview$byval_copy8; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=19752; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($5,$modelview$byval_copy8,$$byval_copy10); - $$03640 = 0; - while(1) { - $57 = (((($1)) + 132|0) + (($$03640*28)|0)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = (($$03640) + 33984)|0; - _glActiveTexture(($60|0)); - $61 = HEAP32[$57>>2]|0; - $$036$off = (($$03640) + -7)|0; - $switch = ($$036$off>>>0)<(3); - if ($switch) { - _glBindTexture(34067,($61|0)); - } else { - _glBindTexture(3553,($61|0)); - } - $62 = (($$03640) + 14)|0; - $63 = (((($1)) + 4|0) + ($62<<2)|0); - $64 = HEAP32[$63>>2]|0; - _glUniform1i(($64|0),($$03640|0)); - } - $65 = (($$03640) + 1)|0; - $exitcond42 = ($65|0)==(12); - if ($exitcond42) { - break; - } else { - $$03640 = $65; - } - } - $55 = HEAP32[5015]|0; - $56 = ($55|0)==(0); - if ($56) { - $69 = ((($0)) + 40|0); - $70 = HEAP32[$69>>2]|0; - _glBindBuffer(34962,($70|0)); - $71 = ((($1)) + 4|0); - $72 = HEAP32[$71>>2]|0; - _glVertexAttribPointer(($72|0),3,5126,0,0,(0|0)); - $73 = HEAP32[$71>>2]|0; - _glEnableVertexAttribArray(($73|0)); - $74 = ((($0)) + 44|0); - $75 = HEAP32[$74>>2]|0; - _glBindBuffer(34962,($75|0)); - $76 = ((($1)) + 8|0); - $77 = HEAP32[$76>>2]|0; - _glVertexAttribPointer(($77|0),2,5126,0,0,(0|0)); - $78 = HEAP32[$76>>2]|0; - _glEnableVertexAttribArray(($78|0)); - $79 = ((($1)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(-1); - if (!($81)) { - $82 = ((($0)) + 48|0); - $83 = HEAP32[$82>>2]|0; - _glBindBuffer(34962,($83|0)); - $84 = HEAP32[$79>>2]|0; - _glVertexAttribPointer(($84|0),3,5126,0,0,(0|0)); - $85 = HEAP32[$79>>2]|0; - _glEnableVertexAttribArray(($85|0)); - } - $86 = ((($1)) + 24|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(-1); - do { - if (!($88)) { - $89 = ((($0)) + 52|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - _glVertexAttrib4f(($87|0),1.0,1.0,1.0,1.0); - $94 = HEAP32[$86>>2]|0; - _glDisableVertexAttribArray(($94|0)); - break; - } else { - _glBindBuffer(34962,($90|0)); - $92 = HEAP32[$86>>2]|0; - _glVertexAttribPointer(($92|0),4,5121,1,0,(0|0)); - $93 = HEAP32[$86>>2]|0; - _glEnableVertexAttribArray(($93|0)); - break; - } - } - } while(0); - $95 = ((($1)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==(-1); - if (!($97)) { - $98 = ((($0)) + 56|0); - $99 = HEAP32[$98>>2]|0; - _glBindBuffer(34962,($99|0)); - $100 = HEAP32[$95>>2]|0; - _glVertexAttribPointer(($100|0),3,5126,0,0,(0|0)); - $101 = HEAP32[$95>>2]|0; - _glEnableVertexAttribArray(($101|0)); - } - $102 = ((($1)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)==(-1); - if (!($104)) { - $105 = ((($0)) + 60|0); - $106 = HEAP32[$105>>2]|0; - _glBindBuffer(34962,($106|0)); - $107 = HEAP32[$102>>2]|0; - _glVertexAttribPointer(($107|0),2,5126,0,0,(0|0)); - $108 = HEAP32[$102>>2]|0; - _glEnableVertexAttribArray(($108|0)); - } - $109 = ((($0)) + 32|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if (!($111)) { - $112 = ((($0)) + 64|0); - $113 = HEAP32[$112>>2]|0; - _glBindBuffer(34963,($113|0)); - } - } else { - $66 = HEAP32[5016]|0; - $67 = ((($0)) + 36|0); - $68 = HEAP32[$67>>2]|0; - FUNCTION_TABLE_vi[$66 & 31]($68); - } - $114 = HEAP32[4954]|0; - $115 = ($114|0)!=(0); - $$ = $115 ? 2 : 1; - $116 = ((($1)) + 28|0); - $117 = ((($0)) + 32|0); - $118 = HEAP32[$0>>2]|0; - $119 = ((($0)) + 4|0); - $$03539 = 0; - while(1) { - if ($115) { - dest=$modelview$byval_copy8; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$03539,$modelview$byval_copy8,$$byval_copy10); - } else { - dest=19752; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - dest=$modelview$byval_copy8; src=19752; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=19688; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($6,$modelview$byval_copy8,$$byval_copy10); - $120 = HEAP32[$116>>2]|0; - dest=$$byval_copy10; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $121 = (_MatrixToFloat($$byval_copy10)|0); - _glUniformMatrix4fv(($120|0),1,0,($121|0)); - $122 = HEAP32[$117>>2]|0; - $123 = ($122|0)==(0|0); - if ($123) { - _glDrawArrays(4,0,($118|0)); - } else { - $124 = HEAP32[$119>>2]|0; - $125 = ($124*3)|0; - _glDrawElements(4,($125|0),5123,(0|0)); - } - $126 = (($$03539) + 1)|0; - $127 = ($126|0)<($$|0); - if ($127) { - $$03539 = $126; - } else { - $$038 = 0; - break; - } - } - while(1) { - $130 = (($$038) + 33984)|0; - _glActiveTexture(($130|0)); - $$0$off = (($$038) + -7)|0; - $switch37 = ($$0$off>>>0)<(3); - if ($switch37) { - _glBindTexture(34067,0); - } else { - _glBindTexture(3553,0); - } - $131 = (($$038) + 1)|0; - $exitcond = ($131|0)==(12); - if ($exitcond) { - break; - } else { - $$038 = $131; - } - } - $128 = HEAP32[5015]|0; - $129 = ($128|0)==(0); - if (!($129)) { - $132 = HEAP32[5016]|0; - FUNCTION_TABLE_vi[$132 & 31](0); - _glUseProgram(0); - dest=19688; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19752; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34962,0); - $133 = ((($0)) + 32|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0|0); - if ($135) { - _glUseProgram(0); - dest=19688; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19752; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34963,0); - _glUseProgram(0); - dest=19688; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19752; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetShaderValueMatrix($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $3 = 0, $4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $3 = HEAP32[$0>>2]|0; - _glUseProgram(($3|0)); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $4 = (_MatrixToFloat($$byval_copy)|0); - _glUniformMatrix4fv(($1|0),1,0,($4|0)); - STACKTOP = sp;return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 116|0; - $$byval_copy4 = sp + 104|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($6,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($6); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($7,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($7); - $8 = HEAP32[$6>>2]|0; - HEAP32[$4>>2] = $8; - $9 = ((($6)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($4)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($4)) + 32|0); - HEAP32[$14>>2] = $13; - $15 = ((($4)) + 48|0); - HEAPF32[$15>>2] = 0.0; - $16 = HEAP32[$7>>2]|0; - $17 = ((($4)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = ((($7)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($4)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ((($7)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($4)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = ((($4)) + 52|0); - HEAPF32[$24>>2] = 0.0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($4)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = ((($5)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($4)) + 24|0); - HEAP32[$29>>2] = $28; - $30 = ((($5)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = $31; - $33 = ((($4)) + 56|0); - HEAPF32[$33>>2] = 0.0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($4)) + 12|0); - HEAP32[$35>>2] = $34; - $36 = ((($1)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($4)) + 28|0); - HEAP32[$38>>2] = $37; - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($4)) + 44|0); - HEAP32[$41>>2] = $40; - $42 = ((($4)) + 60|0); - HEAPF32[$42>>2] = 1.0; - _MatrixInvert($4); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _rlVertex2i($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+($0|0)); - $3 = (+($1|0)); - $4 = +HEAPF32[750]; - _rlVertex3f($2,$3,$4); - return; -} -function _DrawRectangle($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy2 = sp + 32|0; - $$byval_copy1 = sp + 24|0; - $$byval_copy = sp + 16|0; - $5 = sp + 8|0; - $6 = sp; - $7 = (+($0|0)); - HEAPF32[$5>>2] = $7; - $8 = ((($5)) + 4|0); - $9 = (+($1|0)); - HEAPF32[$8>>2] = $9; - $10 = (+($2|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($3|0)); - HEAPF32[$11>>2] = $12; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawRectangleV($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; - var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $3 = sp; - $4 = (_rlGetVersion()|0); - $5 = ($4|0)==(1); - if ($5) { - _rlBegin(4); - $6 = HEAP8[$2>>0]|0; - $7 = ((($2)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($2)) + 2|0); - $10 = HEAP8[$9>>0]|0; - $11 = ((($2)) + 3|0); - $12 = HEAP8[$11>>0]|0; - _rlColor4ub($6,$8,$10,$12); - $13 = +HEAPF32[$0>>2]; - $14 = (~~(($13))); - $15 = ((($0)) + 4|0); - $16 = +HEAPF32[$15>>2]; - $17 = (~~(($16))); - _rlVertex2i($14,$17); - $18 = ((($1)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $16 + $19; - $21 = (~~(($20))); - _rlVertex2i($14,$21); - $22 = +HEAPF32[$0>>2]; - $23 = +HEAPF32[$1>>2]; - $24 = $22 + $23; - $25 = (~~(($24))); - $26 = +HEAPF32[$15>>2]; - $27 = +HEAPF32[$18>>2]; - $28 = $26 + $27; - $29 = (~~(($28))); - _rlVertex2i($25,$29); - $30 = +HEAPF32[$0>>2]; - $31 = (~~(($30))); - $32 = +HEAPF32[$15>>2]; - $33 = (~~(($32))); - _rlVertex2i($31,$33); - $34 = +HEAPF32[$1>>2]; - $35 = $30 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$18>>2]; - $38 = $32 + $37; - $39 = (~~(($38))); - _rlVertex2i($36,$39); - $40 = +HEAPF32[$0>>2]; - $41 = +HEAPF32[$1>>2]; - $42 = $40 + $41; - $43 = (~~(($42))); - $44 = +HEAPF32[$15>>2]; - $45 = (~~(($44))); - _rlVertex2i($43,$45); - _rlEnd(); - STACKTOP = sp;return; - } - $46 = (_rlGetVersion()|0); - $47 = ($46|0)==(2); - if (!($47)) { - $48 = (_rlGetVersion()|0); - $49 = ($48|0)==(3); - if (!($49)) { - $50 = (_rlGetVersion()|0); - $51 = ($50|0)==(4); - if (!($51)) { - STACKTOP = sp;return; - } - } - } - _GetTextureDefault($3); - $52 = HEAP32[$3>>2]|0; - _rlEnableTexture($52); - _rlBegin(7); - $53 = HEAP8[$2>>0]|0; - $54 = ((($2)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = ((($2)) + 2|0); - $57 = HEAP8[$56>>0]|0; - $58 = ((($2)) + 3|0); - $59 = HEAP8[$58>>0]|0; - _rlColor4ub($53,$55,$57,$59); - _rlTexCoord2f(0.0,0.0); - $60 = +HEAPF32[$0>>2]; - $61 = ((($0)) + 4|0); - $62 = +HEAPF32[$61>>2]; - _rlVertex2f($60,$62); - _rlTexCoord2f(0.0,1.0); - $63 = ((($1)) + 4|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 + $64; - _rlVertex2f($60,$65); - _rlTexCoord2f(1.0,1.0); - $66 = +HEAPF32[$0>>2]; - $67 = +HEAPF32[$1>>2]; - $68 = $66 + $67; - $69 = +HEAPF32[$61>>2]; - $70 = +HEAPF32[$63>>2]; - $71 = $69 + $70; - _rlVertex2f($68,$71); - _rlTexCoord2f(1.0,0.0); - $72 = +HEAPF32[$0>>2]; - $73 = +HEAPF32[$1>>2]; - $74 = $72 + $73; - $75 = +HEAPF32[$61>>2]; - _rlVertex2f($74,$75); - _rlEnd(); - _rlDisableTexture(); - STACKTOP = sp;return; -} -function _DrawRectangleLines($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy3 = sp; - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(1); - if ($6) { - _rlBegin(1); - $7 = HEAP8[$4>>0]|0; - $8 = ((($4)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($4)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($4)) + 3|0); - $13 = HEAP8[$12>>0]|0; - _rlColor4ub($7,$9,$11,$13); - $14 = (($0) + 1)|0; - $15 = (($1) + 1)|0; - _rlVertex2i($14,$15); - $16 = (($2) + ($0))|0; - _rlVertex2i($16,$15); - _rlVertex2i($16,$15); - $17 = (($3) + ($1))|0; - _rlVertex2i($16,$17); - _rlVertex2i($16,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$15); - _rlEnd(); - STACKTOP = sp;return; - } - $18 = (_rlGetVersion()|0); - $19 = ($18|0)==(2); - if (!($19)) { - $20 = (_rlGetVersion()|0); - $21 = ($20|0)==(3); - if (!($21)) { - $22 = (_rlGetVersion()|0); - $23 = ($22|0)==(4); - if (!($23)) { - STACKTOP = sp;return; - } - } - } - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$1,$2,1,$$byval_copy3); - $24 = (($0) + -1)|0; - $25 = (($24) + ($2))|0; - $26 = (($1) + 1)|0; - $27 = (($3) + -2)|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($25,$26,1,$27,$$byval_copy3); - $28 = (($1) + -1)|0; - $29 = (($28) + ($3))|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$29,$2,1,$$byval_copy3); - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$26,1,$27,$$byval_copy3); - STACKTOP = sp;return; -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = $4 * $4; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = $10 * $10; - $12 = $5 + $11; - $13 = (+Math_sqrt((+$12))); - return (+$13); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _Vector3Zero($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 0.0; - $1 = ((($0)) + 4|0); - HEAPF32[$1>>2] = 0.0; - $2 = ((($0)) + 8|0); - HEAPF32[$2>>2] = 0.0; - return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[5444] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 15184; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 15224; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3806]; - $111 = +HEAPF32[3796]; - $112 = $110 - $111; - HEAPF32[3808] = $112; - $113 = +HEAPF32[(15228)>>2]; - $114 = +HEAPF32[(15188)>>2]; - $115 = $113 - $114; - HEAPF32[(15236)>>2] = $115; - HEAP32[5443] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[15216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[15216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[15240>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[15240+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5449] = $116; - $117 = 15216; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 15184; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 15240; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 15224; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 15216; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 15240; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3810]; - $160 = +HEAPF32[3804]; - $161 = $159 - $160; - HEAPF32[3808] = $161; - $162 = +HEAPF32[(15244)>>2]; - $163 = +HEAPF32[(15220)>>2]; - $164 = $162 - $163; - HEAPF32[(15236)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[15184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[15184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[15216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[15216+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[15224>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[15224+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[15240>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[15240+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[15216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[15216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[15240>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[15240+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5449]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[5443] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[15216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[15216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[15240>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[15240+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[5450] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[5449] = 0.0; - HEAPF32[5450] = 0.0; - HEAPF32[3808] = 0.0; - HEAPF32[(15236)>>2] = 0.0; - HEAP32[5444] = 0; - HEAP32[5443] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[5445]|0; - $7 = (($6) + 1)|0; - HEAP32[5445] = $7; - $8 = HEAP32[5443]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[15184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[15184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[5443] = 2; - HEAP32[5445] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5445] = 1; - HEAP32[5443] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 15184; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 15192; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 15200; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[874] = $34; - HEAPF32[3802] = 0.0; - HEAPF32[(15212)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[5443]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 15200; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[15184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[15184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[15200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[15200+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[5446] = $49; - HEAP32[5447] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[874]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[15184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[15184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[15200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[15200+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[5448] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[5446] = 0.0; - HEAPF32[5448] = 0.0; - $$sink10 = 0; - } - HEAP32[5443] = $$sink10; - HEAPF32[3798] = 0.0; - HEAPF32[(15196)>>2] = 0.0; - HEAP32[5444] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[5447]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[5447] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 15216; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[5443]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[15184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[15184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[15216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[15216+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[5443] = 8; - } - } - $82 = +HEAPF32[3804]; - $83 = +HEAPF32[3798]; - $84 = $82 - $83; - HEAPF32[3802] = $84; - $85 = +HEAPF32[(15220)>>2]; - $86 = +HEAPF32[(15196)>>2]; - $87 = $85 - $86; - HEAPF32[(15212)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5443]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5444]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5443] = 4; - } - $4 = HEAP32[5443]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[5443] = 0; - return; -} -function _SetCameraMode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$off = 0, $$sroa$024$0$$sroa_idx = 0, $$sroa$024$0$copyload = 0.0, $$sroa$031$0$copyload = 0.0, $$sroa$4$0$$sroa_idx26 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$433$0$$sroa_idx34 = 0, $$sroa$433$0$copyload = 0.0, $$sroa$528$0$$sroa_idx29 = 0, $$sroa$528$0$copyload = 0.0, $$sroa$536$0$$sroa_idx37 = 0, $$sroa$536$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0; - var $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $$sroa$031$0$copyload = +HEAPF32[$0>>2]; - $$sroa$433$0$$sroa_idx34 = ((($0)) + 4|0); - $$sroa$433$0$copyload = +HEAPF32[$$sroa$433$0$$sroa_idx34>>2]; - $$sroa$536$0$$sroa_idx37 = ((($0)) + 8|0); - $$sroa$536$0$copyload = +HEAPF32[$$sroa$536$0$$sroa_idx37>>2]; - $$sroa$024$0$$sroa_idx = ((($0)) + 12|0); - $$sroa$024$0$copyload = +HEAPF32[$$sroa$024$0$$sroa_idx>>2]; - $$sroa$4$0$$sroa_idx26 = ((($0)) + 16|0); - $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx26>>2]; - $$sroa$528$0$$sroa_idx29 = ((($0)) + 20|0); - $$sroa$528$0$copyload = +HEAPF32[$$sroa$528$0$$sroa_idx29>>2]; - $2 = $$sroa$024$0$copyload - $$sroa$031$0$copyload; - $3 = $$sroa$4$0$copyload - $$sroa$433$0$copyload; - $4 = $$sroa$528$0$copyload - $$sroa$536$0$copyload; - $5 = $2 * $2; - $6 = $3 * $3; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $10 = (+Math_sqrt((+$9))); - HEAPF32[5451] = $10; - $11 = $5 + $8; - $12 = (+Math_sqrt((+$11))); - $13 = (+Math_sqrt((+$7))); - $14 = (+Math_abs((+$2))); - $15 = $14 / $12; - $16 = (+Math_asin((+$15))); - HEAPF32[5452] = $16; - $17 = (+Math_abs((+$3))); - $18 = $17 / $13; - $19 = (+Math_asin((+$18))); - $20 = -$19; - HEAPF32[5453] = $20; - $21 = HEAP32[$$sroa$433$0$$sroa_idx34>>2]|0; - HEAP32[875] = $21; - $$off = (($1) + -3)|0; - $22 = ($$off>>>0)<(2); - if ($22) { - _DisableCursor(); - HEAP32[5454] = $1; - return; - } else { - _EnableCursor(); - HEAP32[5454] = $1; - return; - } -} -function _DisableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5455] = 1; - HEAP32[5456] = 1; - return; -} -function _EnableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5455] = 1; - HEAP32[5456] = 0; - return; -} -function _UpdateCamera($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$not = 0, $$not170 = 0, $$pr = 0, $$pr172 = 0, $$sink = 0.0, $$sink15 = 0, $$sink20 = 0.0, $$sink20$p = 0.0, $$sink24 = 0.0, $$sink26 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0; - var $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0; - var $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0; - var $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0; - var $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0; - var $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0; - var $197 = 0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0.0; - var $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0.0; - var $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0; - var $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0; - var $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0, $285 = 0.0, $286 = 0.0; - var $287 = 0.0, $288 = 0, $289 = 0.0, $29 = 0.0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0.0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0.0; - var $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0; - var $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0, $329 = 0.0, $33 = 0.0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0.0, $34 = 0.0; - var $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0.0, $352 = 0, $353 = 0.0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0.0; - var $359 = 0.0, $36 = 0, $360 = 0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; - var $377 = 0, $378 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0; - var $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; - var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0; - var $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0, $99 = 0.0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond169 = 0, $or$cond171 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0; - var $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $1 = sp; - $2 = sp + 8|0; - _GetMousePosition($1); - $3 = (_GetMouseWheelMove()|0); - $4 = HEAP32[876]|0; - $5 = (_IsMouseButtonDown($4)|0); - $6 = HEAP32[877]|0; - $7 = (_IsKeyDown($6)|0); - $8 = HEAP32[878]|0; - $9 = (_IsKeyDown($8)|0); - $10 = HEAP32[879]|0; - $11 = (_IsKeyDown($10)|0); - HEAP32[$2>>2] = $11; - $12 = ((($2)) + 4|0); - $13 = HEAP32[880]|0; - $14 = (_IsKeyDown($13)|0); - HEAP32[$12>>2] = $14; - $15 = ((($2)) + 8|0); - $16 = HEAP32[881]|0; - $17 = (_IsKeyDown($16)|0); - HEAP32[$15>>2] = $17; - $18 = ((($2)) + 12|0); - $19 = HEAP32[882]|0; - $20 = (_IsKeyDown($19)|0); - HEAP32[$18>>2] = $20; - $21 = ((($2)) + 16|0); - $22 = HEAP32[883]|0; - $23 = (_IsKeyDown($22)|0); - HEAP32[$21>>2] = $23; - $24 = ((($2)) + 20|0); - $25 = HEAP32[884]|0; - $26 = (_IsKeyDown($25)|0); - HEAP32[$24>>2] = $26; - $27 = HEAP32[5454]|0; - $28 = ($27|0)==(0); - L1: do { - if ($28) { - label = 47; - } else { - $29 = +HEAPF32[$1>>2]; - $30 = +HEAPF32[3812]; - $31 = $29 - $30; - $32 = ((($1)) + 4|0); - $33 = +HEAPF32[$32>>2]; - $34 = +HEAPF32[(15252)>>2]; - $35 = $33 - $34; - $36 = $1; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = 15248; - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $$pr = HEAP32[5454]|0; - switch ($$pr|0) { - case 1: { - $46 = +HEAPF32[5451]; - $47 = $46 < 120.0; - $48 = ($3|0)<(0); - $or$cond = $48 & $47; - do { - if ($or$cond) { - $49 = (+($3|0)); - $50 = $49 * 1.5; - $51 = $46 - $50; - HEAPF32[5451] = $51; - $52 = $51 > 120.0; - if ($52) { - HEAPF32[5451] = 120.0; - } - } else { - $53 = ((($0)) + 4|0); - $54 = +HEAPF32[$53>>2]; - $55 = ((($0)) + 12|0); - $56 = ((($0)) + 16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 > $57; - $59 = $46 == 120.0; - $or$cond3 = $59 & $58; - $or$cond5 = $48 & $or$cond3; - if ($or$cond5) { - $60 = (+($3|0)); - $61 = +HEAPF32[$55>>2]; - $62 = +HEAPF32[$0>>2]; - $63 = $61 - $62; - $64 = $60 * $63; - $65 = $64 * 1.5; - $66 = $65 / $46; - $67 = $61 + $66; - HEAPF32[$55>>2] = $67; - $68 = $57 - $54; - $69 = $60 * $68; - $70 = $69 * 1.5; - $71 = $70 / $46; - $72 = $57 + $71; - HEAPF32[$56>>2] = $72; - $73 = ((($0)) + 20|0); - $74 = +HEAPF32[$73>>2]; - $75 = ((($0)) + 8|0); - $76 = +HEAPF32[$75>>2]; - $77 = $74 - $76; - $78 = $60 * $77; - $79 = $78 * 1.5; - $80 = $79 / $46; - $81 = $74 + $80; - HEAPF32[$73>>2] = $81; - break; - } - $$not = $58 ^ 1; - $82 = !($57 >= 0.0); - $or$cond169 = $82 | $$not; - if (!($or$cond169)) { - $83 = (+($3|0)); - $84 = +HEAPF32[$55>>2]; - $85 = +HEAPF32[$0>>2]; - $86 = $84 - $85; - $87 = $83 * $86; - $88 = $87 * 1.5; - $89 = $88 / $46; - $90 = $84 + $89; - HEAPF32[$55>>2] = $90; - $91 = $57 - $54; - $92 = $83 * $91; - $93 = $92 * 1.5; - $94 = $93 / $46; - $95 = $57 + $94; - HEAPF32[$56>>2] = $95; - $96 = ((($0)) + 20|0); - $97 = +HEAPF32[$96>>2]; - $98 = ((($0)) + 8|0); - $99 = +HEAPF32[$98>>2]; - $100 = $97 - $99; - $101 = $83 * $100; - $102 = $101 * 1.5; - $103 = $102 / $46; - $104 = $97 + $103; - HEAPF32[$96>>2] = $104; - break; - } - if ($58) { - $105 = $57 < 0.0; - $106 = ($3|0)>(0); - $or$cond7 = $106 & $105; - if ($or$cond7) { - $107 = (+($3|0)); - $108 = $107 * 1.5; - $109 = $46 - $108; - HEAPF32[5451] = $109; - $110 = $109 < 0.30000001192092896; - if (!($110)) { - break; - } - HEAPF32[5451] = 0.30000001192092896; - break; - } - } - $111 = $54 < $57; - $or$cond9 = $59 & $111; - $or$cond11 = $48 & $or$cond9; - $112 = +HEAPF32[$56>>2]; - $113 = +HEAPF32[$53>>2]; - if ($or$cond11) { - $114 = (+($3|0)); - $115 = +HEAPF32[$55>>2]; - $116 = +HEAPF32[$0>>2]; - $117 = $115 - $116; - $118 = $114 * $117; - $119 = $118 * 1.5; - $120 = $119 / $46; - $121 = $115 + $120; - HEAPF32[$55>>2] = $121; - $122 = $112 - $113; - $123 = $114 * $122; - $124 = $123 * 1.5; - $125 = +HEAPF32[5451]; - $126 = $124 / $125; - $127 = $112 + $126; - HEAPF32[$56>>2] = $127; - $128 = ((($0)) + 20|0); - $129 = +HEAPF32[$128>>2]; - $130 = ((($0)) + 8|0); - $131 = +HEAPF32[$130>>2]; - $132 = $129 - $131; - $133 = $114 * $132; - $134 = $133 * 1.5; - $135 = $134 / $125; - $136 = $129 + $135; - HEAPF32[$128>>2] = $136; - break; - } - $$not170 = $111 ^ 1; - $137 = !($57 <= 0.0); - $or$cond171 = $137 | $$not170; - if (!($or$cond171)) { - $138 = (+($3|0)); - $139 = +HEAPF32[$55>>2]; - $140 = +HEAPF32[$0>>2]; - $141 = $139 - $140; - $142 = $138 * $141; - $143 = $142 * 1.5; - $144 = $143 / $46; - $145 = $139 + $144; - HEAPF32[$55>>2] = $145; - $146 = $112 - $113; - $147 = $138 * $146; - $148 = $147 * 1.5; - $149 = +HEAPF32[5451]; - $150 = $148 / $149; - $151 = $112 + $150; - HEAPF32[$56>>2] = $151; - $152 = ((($0)) + 20|0); - $153 = +HEAPF32[$152>>2]; - $154 = ((($0)) + 8|0); - $155 = +HEAPF32[$154>>2]; - $156 = $153 - $155; - $157 = $138 * $156; - $158 = $157 * 1.5; - $159 = $158 / $149; - $160 = $153 + $159; - HEAPF32[$152>>2] = $160; - break; - } - $161 = $113 < $112; - if ($161) { - $162 = $112 > 0.0; - $163 = ($3|0)>(0); - $or$cond13 = $163 & $162; - if ($or$cond13) { - $164 = (+($3|0)); - $165 = $164 * 1.5; - $166 = +HEAPF32[5451]; - $167 = $166 - $165; - HEAPF32[5451] = $167; - $168 = $167 < 0.30000001192092896; - if ($168) { - HEAPF32[5451] = 0.30000001192092896; - } - } - } - } - } while(0); - $169 = ($5|0)==(0); - if ($169) { - label = 47; - break L1; - } - $170 = ($7|0)==(0); - if ($170) { - $183 = $31 * -0.0099999997764825821; - $184 = +HEAPF32[5452]; - $185 = (+Math_cos((+$184))); - $186 = $183 * $185; - $187 = $35 * 0.0099999997764825821; - $188 = (+Math_sin((+$184))); - $189 = $187 * $188; - $190 = +HEAPF32[5453]; - $191 = (+Math_sin((+$190))); - $192 = $189 * $191; - $193 = $186 + $192; - $194 = +HEAPF32[5451]; - $195 = $194 / 5.0999999046325684; - $196 = $193 * $195; - $197 = ((($0)) + 12|0); - $198 = +HEAPF32[$197>>2]; - $199 = $198 + $196; - HEAPF32[$197>>2] = $199; - $200 = (+Math_cos((+$190))); - $201 = $187 * $200; - $202 = $195 * $201; - $203 = ((($0)) + 16|0); - $204 = +HEAPF32[$203>>2]; - $205 = $204 + $202; - HEAPF32[$203>>2] = $205; - $206 = $31 * 0.0099999997764825821; - $207 = $206 * $188; - $208 = $187 * $185; - $209 = $208 * $191; - $210 = $207 + $209; - $211 = $210 * $195; - $212 = ((($0)) + 20|0); - $213 = +HEAPF32[$212>>2]; - $214 = $211 + $213; - HEAPF32[$212>>2] = $214; - label = 47; - break L1; - } - $171 = ($9|0)==(0); - if (!($171)) { - $172 = $35 * 0.05000000074505806; - $173 = +HEAPF32[5451]; - $174 = $172 + $173; - HEAPF32[5451] = $174; - label = 47; - break L1; - } - $175 = $31 * 0.0099999997764825821; - $176 = +HEAPF32[5452]; - $177 = $176 - $175; - HEAPF32[5452] = $177; - $178 = $35 * 0.0099999997764825821; - $179 = +HEAPF32[5453]; - $180 = $179 - $178; - HEAPF32[5453] = $180; - $181 = $180 > 1.483529806137085; - if ($181) { - HEAPF32[5453] = 1.483529806137085; - label = 47; - break L1; - } - $182 = $180 < -1.483529806137085; - if (!($182)) { - label = 47; - break L1; - } - HEAPF32[5453] = -1.483529806137085; - label = 47; - break L1; - break; - } - case 2: { - $215 = +HEAPF32[5452]; - $216 = $215 + 0.0099999997764825821; - HEAPF32[5452] = $216; - $217 = (+($3|0)); - $218 = $217 * 1.5; - $219 = +HEAPF32[5451]; - $220 = $219 - $218; - HEAPF32[5451] = $220; - $221 = $220 < 1.2000000476837158; - if (!($221)) { - label = 47; - break L1; - } - HEAPF32[5451] = 1.2000000476837158; - label = 47; - break L1; - break; - } - case 4: case 3: { - $225 = +HEAPF32[5452]; - $226 = (+Math_sin((+$225))); - $227 = HEAP32[$12>>2]|0; - $228 = (+($227>>>0)); - $229 = $226 * $228; - $230 = HEAP32[$2>>2]|0; - $231 = (+($230>>>0)); - $232 = $226 * $231; - $233 = $229 - $232; - $234 = (+Math_cos((+$225))); - $235 = HEAP32[$18>>2]|0; - $236 = (+($235>>>0)); - $237 = $234 * $236; - $238 = $233 - $237; - $239 = HEAP32[$15>>2]|0; - $240 = (+($239>>>0)); - $241 = $234 * $240; - $242 = $238 + $241; - $243 = $242 / 20.0; - $244 = +HEAPF32[$0>>2]; - $245 = $244 + $243; - HEAPF32[$0>>2] = $245; - $246 = +HEAPF32[5453]; - $247 = (+Math_sin((+$246))); - $248 = $231 * $247; - $249 = $228 * $247; - $250 = $248 - $249; - $251 = HEAP32[$21>>2]|0; - $252 = (+($251>>>0)); - $253 = $250 + $252; - $254 = HEAP32[$24>>2]|0; - $255 = (+($254>>>0)); - $256 = $253 - $255; - $257 = $256 / 20.0; - $258 = ((($0)) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = $259 + $257; - HEAPF32[$258>>2] = $260; - $261 = $228 * $234; - $262 = $234 * $231; - $263 = $261 - $262; - $264 = $226 * $236; - $265 = $263 + $264; - $266 = $226 * $240; - $267 = $265 - $266; - $268 = $267 / 20.0; - $269 = ((($0)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $268 + $270; - HEAPF32[$269>>2] = $271; - $272 = HEAP32[$2>>2]|0; - $273 = ($272|0)==(0); - if ($273) { - $222 = ((($2)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = ($223|0)==(0); - if ($224) { - $368 = ((($2)) + 8|0); - $369 = HEAP32[$368>>2]|0; - $370 = ($369|0)==(0); - if ($370) { - $371 = ((($2)) + 12|0); - $372 = HEAP32[$371>>2]|0; - $373 = ($372|0)==(0); - if ($373) { - $374 = ((($2)) + 16|0); - $375 = HEAP32[$374>>2]|0; - $376 = ($375|0)==(0); - if ($376) { - $377 = ((($2)) + 20|0); - $378 = HEAP32[$377>>2]|0; - $not$ = ($378|0)!=(0); - $$ = $not$&1; - $$0 = $$; - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - $274 = $31 * 0.0030000000260770321; - $275 = +HEAPF32[5452]; - $276 = $275 - $274; - HEAPF32[5452] = $276; - $277 = $35 * 0.0030000000260770321; - $278 = +HEAPF32[5453]; - $279 = $278 - $277; - HEAPF32[5453] = $279; - $280 = HEAP32[5454]|0; - $281 = ($280|0)==(4); - if ($281) { - $282 = $279 > 0.087266460061073303; - if ($282) { - $$sink24 = 0.087266460061073303; - label = 38; - } else { - $283 = $279 < -1.483529806137085; - if ($283) { - $$sink24 = -1.483529806137085; - label = 38; - } - } - if ((label|0) == 38) { - HEAPF32[5453] = $$sink24; - } - $284 = (+($3|0)); - $285 = $284 * 1.5; - $286 = +HEAPF32[5451]; - $287 = $286 - $285; - $288 = $287 < 1.2000000476837158; - $storemerge = $288 ? 1.2000000476837158 : $287; - HEAPF32[5451] = $storemerge; - $289 = +HEAPF32[$0>>2]; - $290 = +HEAPF32[5452]; - $291 = (+Math_cos((+$290))); - $292 = $291 * 0.40000000596046448; - $293 = $289 + $292; - $294 = (+Math_sin((+$290))); - $295 = $294 * 0.0; - $296 = $293 + $295; - $297 = ((($0)) + 12|0); - HEAPF32[$297>>2] = $296; - $298 = +HEAPF32[$258>>2]; - $299 = $298 + 0.0; - $300 = ((($0)) + 16|0); - HEAPF32[$300>>2] = $299; - $301 = +HEAPF32[$269>>2]; - $302 = $295 + $301; - $303 = $294 * 0.40000000596046448; - $304 = $302 - $303; - $$sink = $304;$$sink15 = $297; - } else { - $305 = $279 > 1.483529806137085; - if ($305) { - $$sink26 = 1.483529806137085; - label = 42; - } else { - $306 = $279 < -1.483529806137085; - if ($306) { - $$sink26 = -1.483529806137085; - label = 42; - } - } - if ((label|0) == 42) { - HEAPF32[5453] = $$sink26; - } - $307 = +HEAPF32[$0>>2]; - $308 = +HEAPF32[5452]; - $309 = (+Math_sin((+$308))); - $310 = $309 * 25.0; - $311 = $307 - $310; - $312 = ((($0)) + 12|0); - HEAPF32[$312>>2] = $311; - $313 = +HEAPF32[$258>>2]; - $314 = +HEAPF32[5453]; - $315 = (+Math_sin((+$314))); - $316 = $315 * 25.0; - $317 = $313 + $316; - $318 = ((($0)) + 16|0); - HEAPF32[$318>>2] = $317; - $319 = +HEAPF32[$269>>2]; - $320 = (+Math_cos((+$308))); - $321 = $320 * 25.0; - $322 = $319 - $321; - $323 = ((($0)) + 20|0); - HEAPF32[$323>>2] = $322; - $324 = ($$0|0)==(0); - if (!($324)) { - $325 = HEAP32[5457]|0; - $326 = (($325) + 1)|0; - HEAP32[5457] = $326; - } - $327 = +HEAPF32[875]; - $328 = HEAP32[5457]|0; - $329 = (+($328|0)); - $330 = $329 / 5.0; - $331 = (+Math_sin((+$330))); - $332 = $331 / 30.0; - $333 = $327 - $332; - HEAPF32[$258>>2] = $333; - $334 = $329 / 10.0; - $335 = (+Math_sin((+$334))); - $336 = $335 / 200.0; - $337 = ((($0)) + 24|0); - HEAPF32[$337>>2] = $336; - $338 = -$335; - $339 = $338 / 200.0; - $$sink = $339;$$sink15 = $337; - } - $340 = ((($$sink15)) + 8|0); - HEAPF32[$340>>2] = $$sink; - label = 47; - break L1; - break; - } - default: { - $341 = $$pr; - break L1; - } - } - } - } while(0); - if ((label|0) == 47) { - $$pr172 = HEAP32[5454]|0; - $341 = $$pr172; - } - switch ($341|0) { - case 1: case 2: case 4: { - break; - } - default: { - STACKTOP = sp;return; - } - } - $342 = +HEAPF32[5452]; - $343 = (+Math_sin((+$342))); - $344 = +HEAPF32[5451]; - $345 = $343 * $344; - $346 = +HEAPF32[5453]; - $347 = (+Math_cos((+$346))); - $348 = $345 * $347; - $349 = ((($0)) + 12|0); - $350 = +HEAPF32[$349>>2]; - $351 = $348 + $350; - HEAPF32[$0>>2] = $351; - $352 = !($346 <= 0.0); - $353 = (+Math_sin((+$346))); - $354 = +HEAPF32[5451]; - $355 = ((($0)) + 16|0); - $356 = +HEAPF32[$355>>2]; - $357 = $353 * $354; - $358 = $353 * $357; - $359 = -$358; - $$sink20$p = $352 ? $359 : $358; - $$sink20 = $356 + $$sink20$p; - $360 = ((($0)) + 4|0); - HEAPF32[$360>>2] = $$sink20; - $361 = (+Math_cos((+$342))); - $362 = $354 * $361; - $363 = $347 * $362; - $364 = ((($0)) + 20|0); - $365 = +HEAPF32[$364>>2]; - $366 = $365 + $363; - $367 = ((($0)) + 8|0); - HEAPF32[$367>>2] = $366; - STACKTOP = sp;return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 15256; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _GetMouseWheelMove() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5459]|0; - $1 = (($0|0) / 100)&-1; - return ($1|0); -} -function _IsMouseButtonDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetMouseButtonStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _IsKeyDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetKeyStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _GetKeyStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5458]|0; - $2 = (_glfwGetKey(($1|0),($0|0))|0); - return ($2|0); -} -function _GetMouseButtonStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5458]|0; - $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); - return ($2|0); -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _TraceLog(0,5526,$vararg_buffer); - HEAP32[5460] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); - (_emscripten_set_keypress_callback((5555|0),(0|0),1,(4|0))|0); - (_emscripten_set_click_callback((5555|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchstart_callback((5555|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchend_callback((5555|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchmove_callback((5555|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchcancel_callback((5555|0),(0|0),1,(6|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); - $3 = HEAP32[5461]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[3814] = $5; - $6 = HEAP32[5462]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(15260)>>2] = $8; - $9 = HEAP32[5463]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[5461] = $0; - HEAP32[5462] = $1; - _MatrixIdentity($2); - dest=21872; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((1|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,5750,$vararg_buffer); - } - $6 = HEAP32[5461]|0; - HEAP32[5484] = $6; - $7 = HEAP32[5462]|0; - HEAP32[5485] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[22684]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[22684]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[22684]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,5776,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[5486]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[5461]|0; - $48 = HEAP32[5462]|0; - $49 = HEAP32[5460]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5458] = $50; - $51 = HEAP32[5461]|0; - HEAP32[5487] = $51; - $52 = HEAP32[5462]|0; - HEAP32[5488] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[5461]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5462]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[5484] = $31; - HEAP32[5485] = $34; - } - } while(0); - $38 = HEAP32[5484]|0; - $39 = HEAP32[5485]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(1,5801,$vararg_buffer3); - $40 = HEAP32[5484]|0; - $41 = HEAP32[5485]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[5484]|0; - $43 = HEAP32[5485]|0; - $44 = HEAP32[5460]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5458] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(2,5839,$vararg_buffer6); - } else { - _TraceLog(0,5872,$vararg_buffer8); - $55 = HEAP32[5487]|0; - $56 = HEAP32[5488]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5912,$vararg_buffer10); - $57 = HEAP32[5461]|0; - $58 = HEAP32[5462]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,5933,$vararg_buffer14); - $59 = HEAP32[5489]|0; - $60 = HEAP32[5490]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,5954,$vararg_buffer18); - } - $61 = HEAP32[5458]|0; - (_glfwSetWindowSizeCallback(($61|0),(6|0))|0); - $62 = HEAP32[5458]|0; - (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[5458]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5458]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5458]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5458]|0; - (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[5458]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5458]|0; - (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[5458]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[22684]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[5461]|0; - $74 = HEAP32[5462]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5487]|0; - $76 = HEAP32[5489]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5488]|0; - $80 = HEAP32[5490]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,5979,$vararg_buffer22); - $73 = HEAP32[5461]|0; - $74 = HEAP32[5462]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5487]|0; - $76 = HEAP32[5489]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5488]|0; - $80 = HEAP32[5490]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[1911] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,5683,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,5614,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,5607)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - $5 = HEAP32[5455]|0; - $6 = ($5|0)!=(0); - $or$cond = $4 & $6; - if (!($or$cond)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - HEAP32[5455] = 0; - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 15272; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (15280); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (21856 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ($0|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[1908] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,5563,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5463] = 0; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5461]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5462]|0; - return ($0|0); -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(1,9535,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[5461]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[5462]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[5487] = $3; - HEAP32[5488] = $5; - HEAP32[5489] = 0; - HEAP32[5490] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,9469,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[5461]|0; - $36 = (+($35|0)); - $37 = HEAP32[5462]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[5487] = $45; - HEAP32[5488] = $37; - $46 = (($45) - ($35))|0; - HEAP32[5489] = $46; - $$sink1 = 0; - } else { - HEAP32[5487] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[5488] = $42; - HEAP32[5489] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[5490] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[5462]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(1,9326,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[5461]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[5462]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[5487] = $23; - HEAP32[5488] = $1; - $24 = (($0) - ($23))|0; - HEAP32[5489] = $24; - $$sink = 0; - } else { - HEAP32[5487] = $0; - $17 = HEAP32[5462]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[5488] = $20; - HEAP32[5489] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[5490] = $$sink; - $25 = HEAP32[5487]|0; - $26 = (+($25|0)); - $27 = HEAP32[5461]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=21872; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5487] = $0; - HEAP32[5488] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(1,9404,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[5461] = $1; - HEAP32[5462] = $2; - HEAP32[5487] = $1; - HEAP32[5488] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[886]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (22691 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[885] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (22685 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 15272; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[885] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[5493] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[5492] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; - var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2528|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2396|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,6002,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,6020,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,6038,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,6056,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$063 = 0;$$sink64 = $14; - while(1) { - $15 = (_strtok($$sink64,6074)|0); - $16 = (($vararg_buffer7) + ($$063<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$063) + 1)|0; - if ($17) { - break; - } else { - $$063 = $18;$$sink64 = 0; - } - } - _free($14); - $19 = (($$063) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,6076,$vararg_buffer10); - $20 = ($$063|0)>(1); - if ($20) { - $$06268 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06268<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,6111)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[5015] = 1; - $27 = (_eglGetProcAddress((6138|0))|0); - HEAP32[5441] = $27; - $28 = (_eglGetProcAddress((6159|0))|0); - HEAP32[5016] = $28; - $29 = (_eglGetProcAddress((6180|0))|0); - HEAP32[5442] = $29; - } - $30 = (_strcmp($24,6204)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[4907] = 1; - } - $32 = (_strcmp($24,6224)|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP32[4906] = 1; - } - $34 = (_strcmp($24,6242)|0); - $35 = ($34|0)==(0); - if ($35) { - label = 14; - } else { - $36 = HEAP32[$23>>2]|0; - $37 = (_strcmp($36,6274)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 14; - } else { - $39 = (_strcmp($36,6307)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 14; - } - } - } - if ((label|0) == 14) { - label = 0; - HEAP32[4901] = 1; - } - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,6347)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 17; - } else { - $44 = (_strcmp($41,6383)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - HEAP32[4902] = 1; - } - $46 = (_strcmp($41,6416)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[4903] = 1; - } - $48 = HEAP32[$23>>2]|0; - $49 = (_strcmp($48,6441)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[4904] = 1; - } - $51 = (_strcmp($48,6474)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[4905] = 1; - } - $53 = (_strcmp($48,6510)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP32[5491] = 1; - _glGetFloatv(34047,(19636|0)); - } - $55 = (_strcmp($48,6544)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[4908] = 1; - } - $57 = (($$06268) + 1)|0; - $exitcond71 = ($57|0)==($19|0); - if ($exitcond71) { - break; - } else { - $$06268 = $57; - } - } - } - $21 = HEAP32[5015]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(1,6647,$vararg_buffer15); - } else { - _TraceLog(0,6572,$vararg_buffer13); - } - $58 = HEAP32[4907]|0; - $59 = ($58|0)==(0); - if ($59) { - _TraceLog(1,6783,$vararg_buffer19); - } else { - _TraceLog(0,6708,$vararg_buffer17); - } - $60 = HEAP32[4901]|0; - $61 = ($60|0)==(0); - if (!($61)) { - _TraceLog(0,6875,$vararg_buffer21); - } - $62 = HEAP32[4902]|0; - $63 = ($62|0)==(0); - if (!($63)) { - _TraceLog(0,6921,$vararg_buffer23); - } - $64 = HEAP32[4903]|0; - $65 = ($64|0)==(0); - if (!($65)) { - _TraceLog(0,6968,$vararg_buffer25); - } - $66 = HEAP32[4904]|0; - $67 = ($66|0)==(0); - if (!($67)) { - _TraceLog(0,7019,$vararg_buffer27); - } - $68 = HEAP32[4905]|0; - $69 = ($68|0)==(0); - if (!($69)) { - _TraceLog(0,7066,$vararg_buffer29); - } - $70 = HEAP32[5491]|0; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = +HEAPF32[4909]; - $73 = $72; - HEAPF64[$vararg_buffer31>>3] = $73; - _TraceLog(0,7113,$vararg_buffer31); - } - $74 = HEAP32[4908]|0; - $75 = ($74|0)==(0); - if (!($75)) { - _TraceLog(0,7179,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $76 = (_rlLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4956] = $76; - $77 = ($76|0)==(0); - if ($77) { - _TraceLog(1,7283,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $76; - _TraceLog(0,7232,$vararg_buffer36); - } - _LoadShaderDefault($2); - _memcpy((21632|0),($2|0),132)|0; - _memcpy((19928|0),($2|0),132)|0; - _LoadBuffersDefault(); - $78 = (_malloc(49152)|0); - HEAP32[5403] = $78; - $$06167 = 0; - while(1) { - $80 = HEAP32[5403]|0; - $81 = (($80) + (($$06167*12)|0)|0); - _Vector3Zero($3); - ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; - $82 = (($$06167) + 1)|0; - $exitcond70 = ($82|0)==(4096); - if ($exitcond70) { - break; - } else { - $$06167 = $82; - } - } - $79 = (_malloc(36864)|0); - HEAP32[4957] = $79; - $$06066 = 0; - while(1) { - $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($79) + (($$06066*144)|0)|0); - HEAP32[$84>>2] = 0; - $85 = (($$06066) + 1)|0; - $exitcond = ($85|0)==(256); - if ($exitcond) { - break; - } else { - $$06066 = $85; - } - } - HEAP32[4955] = 1; - $86 = HEAP32[4956]|0; - $87 = ((($79)) + 8|0); - HEAP32[$87>>2] = $86; - HEAP32[5404] = 4; - _MatrixIdentity($4); - dest=20576; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20640); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20704); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20768); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20832); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20896); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20960); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21024); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21088); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21152); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21216); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21280); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21344); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21408); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21472); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21536); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=19688; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=19752; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5400] = 19752; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[5033] = $0; - HEAP32[5034] = $1; - _TraceLog(0,7322,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5489]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5490]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5487]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[5488]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 19688; - label = 3; - break; - } - case 5888: { - $modelview$sink = 19752; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[5400] = $modelview$sink; - } - HEAP32[5405] = $0; - return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5400]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _LoadShaderDefault($0) { - $0 = $0|0; - var $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx9 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx11 = 0, $$sroa$14 = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$1415$0 = 0, $$sroa$1415$0$$sroa_idx16 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx18 = 0, $$sroa$16 = 0, $$sroa$16$0$$sroa_idx = 0, $$sroa$1622$0 = 0, $$sroa$1622$0$$sroa_idx23 = 0, $$sroa$1727$0 = 0, $$sroa$1727$0$$sroa_idx28 = 0, $$sroa$18 = 0, $$sroa$18$0$$sroa_idx = 0, $1 = 0, $10 = 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $$sroa$14 = sp + 96|0; - $$sroa$16 = sp + 80|0; - $$sroa$18 = sp + 12|0; - $1 = sp + 549|0; - $2 = sp + 108|0; - _memcpy(($1|0),(7898|0),483)|0; - _memcpy(($2|0),(8381|0),441)|0; - $3 = (_LoadShaderProgram($1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - HEAP32[$vararg_buffer1>>2] = $3; - _TraceLog(1,8936,$vararg_buffer1); - $$sroa$12$0 = 0;$$sroa$13$0 = 0;$$sroa$1415$0 = 0;$$sroa$15$0 = 0;$$sroa$1622$0 = 0;$$sroa$1727$0 = 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8822,$vararg_buffer); - $5 = (_glGetAttribLocation(($3|0),(8870|0))|0); - $6 = (_glGetAttribLocation(($3|0),(8885|0))|0); - $7 = (_glGetAttribLocation(($3|0),(8900|0))|0); - $8 = (_glGetUniformLocation(($3|0),(8912|0))|0); - $9 = (_glGetUniformLocation(($3|0),(8916|0))|0); - $10 = (_glGetUniformLocation(($3|0),(8927|0))|0); - $$sroa$12$0 = $5;$$sroa$13$0 = $6;$$sroa$1415$0 = $7;$$sroa$15$0 = $8;$$sroa$1622$0 = $9;$$sroa$1727$0 = $10; - } - HEAP32[$0>>2] = $3; - $$sroa$12$0$$sroa_idx9 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx9>>2] = $$sroa$12$0; - $$sroa$13$0$$sroa_idx11 = ((($0)) + 8|0); - HEAP32[$$sroa$13$0$$sroa_idx11>>2] = $$sroa$13$0; - $$sroa$14$0$$sroa_idx = ((($0)) + 12|0); - ;HEAP32[$$sroa$14$0$$sroa_idx>>2]=HEAP32[$$sroa$14>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+4>>2]=HEAP32[$$sroa$14+4>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+8>>2]=HEAP32[$$sroa$14+8>>2]|0; - $$sroa$1415$0$$sroa_idx16 = ((($0)) + 24|0); - HEAP32[$$sroa$1415$0$$sroa_idx16>>2] = $$sroa$1415$0; - $$sroa$15$0$$sroa_idx18 = ((($0)) + 28|0); - HEAP32[$$sroa$15$0$$sroa_idx18>>2] = $$sroa$15$0; - $$sroa$16$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$$sroa$16$0$$sroa_idx>>2]=HEAP32[$$sroa$16>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+4>>2]=HEAP32[$$sroa$16+4>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+8>>2]=HEAP32[$$sroa$16+8>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+12>>2]=HEAP32[$$sroa$16+12>>2]|0; - $$sroa$1622$0$$sroa_idx23 = ((($0)) + 48|0); - HEAP32[$$sroa$1622$0$$sroa_idx23>>2] = $$sroa$1622$0; - $$sroa$1727$0$$sroa_idx28 = ((($0)) + 60|0); - HEAP32[$$sroa$1727$0$$sroa_idx28>>2] = $$sroa$1727$0; - $$sroa$18$0$$sroa_idx = ((($0)) + 64|0); - dest=$$sroa$18$0$$sroa_idx; src=$$sroa$18; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadBuffersDefault() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(19844)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(19852)>>2] = $1; - HEAP32[(19848)>>2] = 0; - HEAP32[(19856)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(19852)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[4958] = 0; - HEAP32[(19840)>>2] = 0; - HEAP32[(19836)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(19892)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(19900)>>2] = $6; - HEAP32[(19896)>>2] = 0; - HEAP32[(19904)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(19900)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[4970] = 0; - HEAP32[(19888)>>2] = 0; - HEAP32[(19884)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(19652)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(19656)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(19660)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(19664)>>2] = $13; - $14 = HEAP32[(19652)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19656)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(19660)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(19664)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[4910] = 0; - HEAP32[(19644)>>2] = 0; - HEAP32[(19648)>>2] = 0; - _TraceLog(0,7369,$vararg_buffer); - $20 = HEAP32[5015]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[5441]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19860)); - $44 = HEAP32[5016]|0; - $45 = HEAP32[(19860)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((19864)|0)); - $46 = HEAP32[(19864)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19844)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19932)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19932)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19868)|0)); - $50 = HEAP32[(19868)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19852)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19952)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19952)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[5015]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(19864)>>2]|0; - $58 = HEAP32[(19868)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,7507,$vararg_buffer3); - } else { - $56 = HEAP32[(19860)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,7442,$vararg_buffer1); - } - $59 = HEAP32[5015]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[5441]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19908)); - $62 = HEAP32[5016]|0; - $63 = HEAP32[(19908)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((19912)|0)); - $64 = HEAP32[(19912)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19892)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19932)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19932)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19916)|0)); - $68 = HEAP32[(19916)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19900)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19952)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19952)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[5015]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(19912)>>2]|0; - $76 = HEAP32[(19916)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,7653,$vararg_buffer10); - } else { - $74 = HEAP32[(19908)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,7584,$vararg_buffer7); - } - $77 = HEAP32[5015]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[5441]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19668)); - $80 = HEAP32[5016]|0; - $81 = HEAP32[(19668)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((19672)|0)); - $82 = HEAP32[(19672)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19652)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19932)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19932)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19676)|0)); - $86 = HEAP32[(19676)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19656)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19936)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19936)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19680)|0)); - $90 = HEAP32[(19680)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19660)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19952)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19952)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19684)|0)); - $94 = HEAP32[(19684)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19664)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[5015]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(19672)>>2]|0; - $100 = HEAP32[(19676)>>2]|0; - $101 = HEAP32[(19680)>>2]|0; - $102 = HEAP32[(19684)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,7799,$vararg_buffer17); - } else { - $98 = HEAP32[(19668)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,7734,$vararg_buffer14); - } - $103 = HEAP32[5015]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[5016]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,9036,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(1,8984,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,9033,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,9137,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(1,9086,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,9033,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8870|0)); - _glBindAttribLocation(($20|0),1,(8885|0)); - _glBindAttribLocation(($20|0),2,(9189|0)); - _glBindAttribLocation(($20|0),3,(8900|0)); - _glBindAttribLocation(($20|0),4,(9202|0)); - _glBindAttribLocation(($20|0),5,(9216|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(1,9232,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,9033,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,9278,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22685 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22688 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22685 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22688 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[5458]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,9573,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadShaderDefault(); - _UnloadBuffersDefault(); - _glDeleteTextures(1,(19824|0)); - $0 = HEAP32[4956]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,9600,$vararg_buffer); - $1 = HEAP32[4957]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadShaderDefault() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[5408]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5015]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5016]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19864)|0)); - _glDeleteBuffers(1,((19868)|0)); - _glDeleteBuffers(1,((19912)|0)); - _glDeleteBuffers(1,((19916)|0)); - _glDeleteBuffers(1,((19672)|0)); - _glDeleteBuffers(1,((19676)|0)); - _glDeleteBuffers(1,((19680)|0)); - _glDeleteBuffers(1,((19684)|0)); - $3 = HEAP32[5015]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5442]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19860)); - $6 = HEAP32[5442]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19908)); - $7 = HEAP32[5442]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19668)); - } - $8 = HEAP32[(19844)>>2]|0; - _free($8); - $9 = HEAP32[(19852)>>2]|0; - _free($9); - $10 = HEAP32[(19892)>>2]|0; - _free($10); - $11 = HEAP32[(19900)>>2]|0; - _free($11); - $12 = HEAP32[(19652)>>2]|0; - _free($12); - $13 = HEAP32[(19656)>>2]|0; - _free($13); - $14 = HEAP32[(19660)>>2]|0; - _free($14); - $15 = HEAP32[(19664)>>2]|0; - _free($15); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[1912] = $0; - $1 = +HEAPF64[1911]; - $2 = $0 - $1; - HEAPF64[1913] = $2; - HEAPF64[1911] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=21872; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20068); - STACKTOP = sp;return; -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 32|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 48|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 52|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 24|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 56|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 12|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[5400]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[1912] = $0; - $1 = +HEAPF64[1911]; - $2 = $0 - $1; - HEAPF64[1914] = $2; - HEAPF64[1911] = $0; - $3 = +HEAPF64[1913]; - $4 = $2 + $3; - HEAPF64[1897] = $4; - $5 = +HEAPF64[1908]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[1912] = $10; - $11 = +HEAPF64[1911]; - $12 = $10 - $11; - HEAPF64[1911] = $10; - $13 = +HEAPF64[1897]; - $14 = $12 + $13; - HEAPF64[1897] = $14; - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5458]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[885] = -1; - HEAP32[887] = -1; - HEAP32[5494] = 0; - $3 = HEAP32[5458]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[3814] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(15260)>>2] = $7; - _memcpy((23203|0),(22691|0),512)|0; - ;HEAP8[22688>>0]=HEAP8[22685>>0]|0;HEAP8[22688+1>>0]=HEAP8[22685+1>>0]|0;HEAP8[22688+2>>0]=HEAP8[22685+2>>0]|0; - $8 = HEAP32[5493]|0; - HEAP32[5459] = $8; - HEAP32[5493] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (23715 + ($$05160<<5)|0); - $scevgep67 = (23843 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((23843 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[887] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((21980 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[5494] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[5461]|0; - $3 = (+($2|0)); - $4 = HEAP32[5462]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 0.5; - $11 = $10 * 0.01745329238474369; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20068); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5400]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _Fade($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 < 0.0; - if ($3) { - $$0 = 0.0; - } else { - $4 = $2 > 1.0; - if ($4) { - $$0 = 1.0; - } else { - $$0 = $2; - } - } - $5 = ((($1)) + 3|0); - $6 = HEAP8[$5>>0]|0; - $7 = (+($6&255)); - $8 = $$0 * $7; - $9 = HEAP8[$1>>0]|0; - HEAP8[$0>>0] = $9; - $10 = ((($0)) + 1|0); - $11 = ((($1)) + 1|0); - $12 = HEAP8[$11>>0]|0; - HEAP8[$10>>0] = $12; - $13 = ((($0)) + 2|0); - $14 = ((($1)) + 2|0); - $15 = HEAP8[$14>>0]|0; - HEAP8[$13>>0] = $15; - $16 = ((($0)) + 3|0); - $17 = (~~(($8))&255); - HEAP8[$16>>0] = $17; - return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,9665)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,9669)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,9673)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,9677)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,9683)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,9721)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 9740; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,9753)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 9774; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,9789)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 9804; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,9819)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 9834; - } - } else { - HEAP32[$3>>2] = 9705; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,9849)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,9863)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 2; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,9875)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 6; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,9889)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 7; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,9901)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 8; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,9915)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 9; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,9929)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 10; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,9946)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,9969)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,9995)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,10008)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,10024)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,10037)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 11; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,10051)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 7; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,10071)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 8; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,10091)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 9; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,10108)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 10; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,10125)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 3; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,10137)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 12; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,10150)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 13; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,10166)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 11; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,10189)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,10202)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,10218)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 4; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,10229)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 14; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,10248)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 15; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,10270)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 16; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,10289)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 12; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,10318)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 5; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,10335)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 13; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,10350)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 14; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,10365)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 2; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,10386)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 15; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,10406)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 16; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,10426)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 17; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,10452)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,10471)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,10483)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,10495)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,10507)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,10519)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 17; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,10531)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 18; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,10543)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,10555)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,10567)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 19; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,10580)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 20; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,10593)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 21; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,10606)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 22; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,10619)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 23; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,10632)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 24; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,10645)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 25; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,10658)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 26; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,10671)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,10690)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,10709)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,10728)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 18; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,10741)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 19; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,10759)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 20; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,10777)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 21; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,10795)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 22; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,10813)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 3; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,10833)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,9774)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 6; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,10851)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,10866)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,10887)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,10902)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,10920)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,10936)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,10955)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 27; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,10969)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 28; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,10984)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 7; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,9705)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,10995)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,9804)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 23; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,9834)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 24; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,11011)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,11038)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,11052)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,9740)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,11072)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,11090)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 8; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,11102)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 29; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,11123)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 25; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,11141)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 26; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,11159)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 27; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,11180)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,11206)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,11229)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,11267)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 9; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,11283)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,11298)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 30; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,11321)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,11334)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 28; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,11348)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 29; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,11362)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,11382)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,11402)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,11418)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,11436)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 31; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,11452)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,11467)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,11489)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 30; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,11507)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 31; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,11528)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,11546)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,11559)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,11574)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,11588)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,11598)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,11608)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,11630)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,11656)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,11683)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 32; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,11696)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,11711)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,11726)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,11750)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,11761)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 32; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,11783)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,11805)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,11829)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,11838)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,11846)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,11859)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,11873)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,11885)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,11894)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,11904)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,11916)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,11927)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,11935)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,11947)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,11962)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,11974)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,11988)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 10; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,12013)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,12030)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,12046)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,12062)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 11; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,12074)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 33; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,12086)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 34; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,12110)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,12123)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,12137)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 35; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,12159)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 36; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,12166)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,12182)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,12199)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,12216)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 33; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,12232)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,12248)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,12265)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 34; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,12279)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 35; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,12291)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,12302)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,12315)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,12325)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,12342)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,12354)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,12376)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,12396)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,12409)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,12431)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,12451)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,12468)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,12485)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,12505)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 37; - break; - } - } else { - HEAP32[$1>>2] = 5; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ($0>>>0)<(245); - do { - if ($2) { - $3 = ($0>>>0)<(11); - $4 = (($0) + 11)|0; - $5 = $4 & -8; - $6 = $3 ? 16 : $5; - $7 = $6 >>> 3; - $8 = HEAP32[5527]|0; - $9 = $8 >>> $7; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if (!($11)) { - $12 = $9 & 1; - $13 = $12 ^ 1; - $14 = (($13) + ($7))|0; - $15 = $14 << 1; - $16 = (22148 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[5527] = $24; - } else { - $25 = HEAP32[(22124)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(22116)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (22148 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[5527] = $77; - $98 = $77; - } else { - $78 = HEAP32[(22124)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(22128)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (22148 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[5527] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(22124)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(22116)>>2] = $84; - HEAP32[(22128)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(22112)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (22412 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(22124)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (22412 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(22112)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(22124)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(22124)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(22124)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(22128)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (22148 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[5527] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(22124)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(22116)>>2] = $$0193$lcssa$i; - HEAP32[(22128)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(22112)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (22412 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (22412 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(22116)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(22124)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (22412 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(22112)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(22124)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(22124)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(22124)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (22148 + ($425<<2)|0); - $427 = HEAP32[5527]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[5527] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(22124)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (22412 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(22112)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(22124)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(22124)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(22116)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(22128)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(22128)>>2] = $511; - HEAP32[(22116)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(22116)>>2] = 0; - HEAP32[(22128)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(22120)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(22120)>>2] = $526; - $527 = HEAP32[(22132)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(22132)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[5645]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(22588)>>2] = 4096; - HEAP32[(22584)>>2] = 4096; - HEAP32[(22592)>>2] = -1; - HEAP32[(22596)>>2] = -1; - HEAP32[(22600)>>2] = 0; - HEAP32[(22552)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[5645] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(22588)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(22548)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(22540)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(22552)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(22132)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (22556); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(22584)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22540)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(22548)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(22588)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(22552)>>2]|0; - $612 = $611 | 4; - HEAP32[(22552)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(22540)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(22540)>>2] = $627; - $628 = HEAP32[(22544)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(22544)>>2] = $627; - } - $630 = HEAP32[(22132)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(22124)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(22124)>>2] = $$749$i; - } - HEAP32[(22556)>>2] = $$749$i; - HEAP32[(22560)>>2] = $$723948$i; - HEAP32[(22568)>>2] = 0; - $635 = HEAP32[5645]|0; - HEAP32[(22144)>>2] = $635; - HEAP32[(22140)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (22148 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(22132)>>2] = $649; - HEAP32[(22120)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(22596)>>2]|0; - HEAP32[(22136)>>2] = $655; - } else { - $$024371$i = (22556); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(22120)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(22132)>>2] = $679; - HEAP32[(22120)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(22596)>>2]|0; - HEAP32[(22136)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(22124)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(22124)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22556); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(22120)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(22120)>>2] = $727; - HEAP32[(22132)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(22128)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(22116)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(22116)>>2] = $733; - HEAP32[(22128)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (22148 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[5527]|0; - $760 = $759 & $758; - HEAP32[5527] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (22412 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(22112)>>2]|0; - $803 = $802 & $801; - HEAP32[(22112)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(22124)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(22124)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(22124)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (22148 + ($836<<2)|0); - $838 = HEAP32[5527]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[5527] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(22124)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (22412 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(22112)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(22112)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(22124)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(22124)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (22556); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(22132)>>2] = $946; - HEAP32[(22120)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(22596)>>2]|0; - HEAP32[(22136)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22556)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22556)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22556)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22556)+12>>2]|0; - HEAP32[(22556)>>2] = $$749$i; - HEAP32[(22560)>>2] = $$723948$i; - HEAP32[(22568)>>2] = 0; - HEAP32[(22564)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (22148 + ($968<<2)|0); - $970 = HEAP32[5527]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[5527] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(22124)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (22412 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(22112)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(22112)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(22124)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(22124)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(22120)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(22120)>>2] = $1050; - $1051 = HEAP32[(22132)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(22132)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(22124)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(22128)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(22116)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (22148 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[5527]|0; - $38 = $37 & $36; - HEAP32[5527] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (22412 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(22112)>>2]|0; - $81 = $80 & $79; - HEAP32[(22112)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(22124)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(22124)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(22124)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(22132)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(22128)>>2]|0; - if ($121) { - $123 = HEAP32[(22120)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(22120)>>2] = $124; - HEAP32[(22132)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(22128)>>2] = 0; - HEAP32[(22116)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(22116)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(22116)>>2] = $130; - HEAP32[(22128)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (22148 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(22124)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[5527]|0; - $154 = $153 & $152; - HEAP32[5527] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(22124)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(22124)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(22124)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (22412 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(22112)>>2]|0; - $200 = $199 & $198; - HEAP32[(22112)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(22124)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(22124)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(22124)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(22128)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(22116)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (22148 + ($234<<2)|0); - $236 = HEAP32[5527]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[5527] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(22124)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (22412 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(22112)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(22112)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(22124)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(22124)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(22140)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(22140)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (22564); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(22140)>>2] = -1; - return; -} -function _calloc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0); - if ($2) { - $$0 = 0; - } else { - $3 = Math_imul($1, $0)|0; - $4 = $1 | $0; - $5 = ($4>>>0)>(65535); - if ($5) { - $6 = (($3>>>0) / ($0>>>0))&-1; - $7 = ($6|0)==($1|0); - $$ = $7 ? $3 : -1; - $$0 = $$; - } else { - $$0 = $3; - } - } - $8 = (_malloc($$0)|0); - $9 = ($8|0)==(0|0); - if ($9) { - return ($8|0); - } - $10 = ((($8)) + -4|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11 & 3; - $13 = ($12|0)==(0); - if ($13) { - return ($8|0); - } - _memset(($8|0),0,($$0|0))|0; - return ($8|0); -} -function _realloc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = (_malloc($1)|0); - $$1 = $3; - return ($$1|0); - } - $4 = ($1>>>0)>(4294967231); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 12; - $$1 = 0; - return ($$1|0); - } - $6 = ($1>>>0)<(11); - $7 = (($1) + 11)|0; - $8 = $7 & -8; - $9 = $6 ? 16 : $8; - $10 = ((($0)) + -8|0); - $11 = (_try_realloc_chunk($10,$9)|0); - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = ((($11)) + 8|0); - $$1 = $13; - return ($$1|0); - } - $14 = (_malloc($1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$1 = 0; - return ($$1|0); - } - $16 = ((($0)) + -4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & -8; - $19 = $17 & 3; - $20 = ($19|0)==(0); - $21 = $20 ? 8 : 4; - $22 = (($18) - ($21))|0; - $23 = ($22>>>0)<($1>>>0); - $24 = $23 ? $22 : $1; - _memcpy(($14|0),($0|0),($24|0))|0; - _free($0); - $$1 = $14; - return ($$1|0); -} -function _try_realloc_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -8; - $5 = (($0) + ($4)|0); - $6 = HEAP32[(22124)>>2]|0; - $7 = $3 & 3; - $notlhs = ($0>>>0)>=($6>>>0); - $notrhs = ($7|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $8 = ($0>>>0)<($5>>>0); - $or$cond3 = $or$cond$not & $8; - if (!($or$cond3)) { - _abort(); - // unreachable; - } - $9 = ((($5)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($7|0)==(0); - if ($13) { - $14 = ($1>>>0)<(256); - if ($14) { - $$2 = 0; - return ($$2|0); - } - $15 = (($1) + 4)|0; - $16 = ($4>>>0)<($15>>>0); - if (!($16)) { - $17 = (($4) - ($1))|0; - $18 = HEAP32[(22588)>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $$2 = $0; - return ($$2|0); - } - } - $$2 = 0; - return ($$2|0); - } - $21 = ($4>>>0)<($1>>>0); - if (!($21)) { - $22 = (($4) - ($1))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $$2 = $0; - return ($$2|0); - } - $24 = (($0) + ($1)|0); - $25 = $3 & 1; - $26 = $25 | $1; - $27 = $26 | 2; - HEAP32[$2>>2] = $27; - $28 = ((($24)) + 4|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = (($24) + ($22)|0); - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - _dispose_chunk($24,$22); - $$2 = $0; - return ($$2|0); - } - $34 = HEAP32[(22132)>>2]|0; - $35 = ($5|0)==($34|0); - if ($35) { - $36 = HEAP32[(22120)>>2]|0; - $37 = (($36) + ($4))|0; - $38 = ($37>>>0)>($1>>>0); - $39 = (($37) - ($1))|0; - $40 = (($0) + ($1)|0); - if (!($38)) { - $$2 = 0; - return ($$2|0); - } - $41 = $39 | 1; - $42 = ((($40)) + 4|0); - $43 = $3 & 1; - $44 = $43 | $1; - $45 = $44 | 2; - HEAP32[$2>>2] = $45; - HEAP32[$42>>2] = $41; - HEAP32[(22132)>>2] = $40; - HEAP32[(22120)>>2] = $39; - $$2 = $0; - return ($$2|0); - } - $46 = HEAP32[(22128)>>2]|0; - $47 = ($5|0)==($46|0); - if ($47) { - $48 = HEAP32[(22116)>>2]|0; - $49 = (($48) + ($4))|0; - $50 = ($49>>>0)<($1>>>0); - if ($50) { - $$2 = 0; - return ($$2|0); - } - $51 = (($49) - ($1))|0; - $52 = ($51>>>0)>(15); - $53 = $3 & 1; - if ($52) { - $54 = (($0) + ($1)|0); - $55 = (($54) + ($51)|0); - $56 = $53 | $1; - $57 = $56 | 2; - HEAP32[$2>>2] = $57; - $58 = ((($54)) + 4|0); - $59 = $51 | 1; - HEAP32[$58>>2] = $59; - HEAP32[$55>>2] = $51; - $60 = ((($55)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 & -2; - HEAP32[$60>>2] = $62; - $storemerge = $54;$storemerge1 = $51; - } else { - $63 = $53 | $49; - $64 = $63 | 2; - HEAP32[$2>>2] = $64; - $65 = (($0) + ($49)|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | 1; - HEAP32[$66>>2] = $68; - $storemerge = 0;$storemerge1 = 0; - } - HEAP32[(22116)>>2] = $storemerge1; - HEAP32[(22128)>>2] = $storemerge; - $$2 = $0; - return ($$2|0); - } - $69 = $10 & 2; - $70 = ($69|0)==(0); - if (!($70)) { - $$2 = 0; - return ($$2|0); - } - $71 = $10 & -8; - $72 = (($71) + ($4))|0; - $73 = ($72>>>0)<($1>>>0); - if ($73) { - $$2 = 0; - return ($$2|0); - } - $74 = (($72) - ($1))|0; - $75 = $10 >>> 3; - $76 = ($10>>>0)<(256); - L49: do { - if ($76) { - $77 = ((($5)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($5)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = $75 << 1; - $82 = (22148 + ($81<<2)|0); - $83 = ($78|0)==($82|0); - if (!($83)) { - $84 = ($78>>>0)<($6>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($78)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==($5|0); - if (!($87)) { - _abort(); - // unreachable; - } - } - $88 = ($80|0)==($78|0); - if ($88) { - $89 = 1 << $75; - $90 = $89 ^ -1; - $91 = HEAP32[5527]|0; - $92 = $91 & $90; - HEAP32[5527] = $92; - break; - } - $93 = ($80|0)==($82|0); - if ($93) { - $$pre = ((($80)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $94 = ($80>>>0)<($6>>>0); - if ($94) { - _abort(); - // unreachable; - } - $95 = ((($80)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==($5|0); - if ($97) { - $$pre$phiZ2D = $95; - } else { - _abort(); - // unreachable; - } - } - $98 = ((($78)) + 12|0); - HEAP32[$98>>2] = $80; - HEAP32[$$pre$phiZ2D>>2] = $78; - } else { - $99 = ((($5)) + 24|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($5)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)==($5|0); - do { - if ($103) { - $113 = ((($5)) + 16|0); - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $117 = HEAP32[$113>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - $$3 = 0; - break; - } else { - $$1272 = $117;$$1275 = $113; - } - } else { - $$1272 = $115;$$1275 = $114; - } - while(1) { - $119 = ((($$1272)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)==(0|0); - if (!($121)) { - $$1272 = $120;$$1275 = $119; - continue; - } - $122 = ((($$1272)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break; - } else { - $$1272 = $123;$$1275 = $122; - } - } - $125 = ($$1275>>>0)<($6>>>0); - if ($125) { - _abort(); - // unreachable; - } else { - HEAP32[$$1275>>2] = 0; - $$3 = $$1272; - break; - } - } else { - $104 = ((($5)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105>>>0)<($6>>>0); - if ($106) { - _abort(); - // unreachable; - } - $107 = ((($105)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==($5|0); - if (!($109)) { - _abort(); - // unreachable; - } - $110 = ((($102)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==($5|0); - if ($112) { - HEAP32[$107>>2] = $102; - HEAP32[$110>>2] = $105; - $$3 = $102; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $126 = ($100|0)==(0|0); - if (!($126)) { - $127 = ((($5)) + 28|0); - $128 = HEAP32[$127>>2]|0; - $129 = (22412 + ($128<<2)|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($5|0)==($130|0); - do { - if ($131) { - HEAP32[$129>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $132 = 1 << $128; - $133 = $132 ^ -1; - $134 = HEAP32[(22112)>>2]|0; - $135 = $134 & $133; - HEAP32[(22112)>>2] = $135; - break L49; - } - } else { - $136 = HEAP32[(22124)>>2]|0; - $137 = ($100>>>0)<($136>>>0); - if ($137) { - _abort(); - // unreachable; - } else { - $138 = ((($100)) + 16|0); - $139 = HEAP32[$138>>2]|0; - $not$ = ($139|0)!=($5|0); - $$sink1 = $not$&1; - $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); - HEAP32[$140>>2] = $$3; - $141 = ($$3|0)==(0|0); - if ($141) { - break L49; - } else { - break; - } - } - } - } while(0); - $142 = HEAP32[(22124)>>2]|0; - $143 = ($$3>>>0)<($142>>>0); - if ($143) { - _abort(); - // unreachable; - } - $144 = ((($$3)) + 24|0); - HEAP32[$144>>2] = $100; - $145 = ((($5)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==(0|0); - do { - if (!($147)) { - $148 = ($146>>>0)<($142>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = ((($$3)) + 16|0); - HEAP32[$149>>2] = $146; - $150 = ((($146)) + 24|0); - HEAP32[$150>>2] = $$3; - break; - } - } - } while(0); - $151 = ((($145)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[(22124)>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = ((($$3)) + 20|0); - HEAP32[$156>>2] = $152; - $157 = ((($152)) + 24|0); - HEAP32[$157>>2] = $$3; - break; - } - } - } - } - } while(0); - $158 = ($74>>>0)<(16); - $159 = $3 & 1; - if ($158) { - $160 = $72 | $159; - $161 = $160 | 2; - HEAP32[$2>>2] = $161; - $162 = (($0) + ($72)|0); - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $$2 = $0; - return ($$2|0); - } else { - $166 = (($0) + ($1)|0); - $167 = $159 | $1; - $168 = $167 | 2; - HEAP32[$2>>2] = $168; - $169 = ((($166)) + 4|0); - $170 = $74 | 3; - HEAP32[$169>>2] = $170; - $171 = (($166) + ($74)|0); - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 | 1; - HEAP32[$172>>2] = $174; - _dispose_chunk($166,$74); - $$2 = $0; - return ($$2|0); - } - return (0)|0; -} -function _dispose_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; - var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0) + ($1)|0); - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = $4 & 3; - $9 = ($8|0)==(0); - if ($9) { - return; - } - $10 = (0 - ($7))|0; - $11 = (($0) + ($10)|0); - $12 = (($7) + ($1))|0; - $13 = HEAP32[(22124)>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - _abort(); - // unreachable; - } - $15 = HEAP32[(22128)>>2]|0; - $16 = ($11|0)==($15|0); - if ($16) { - $100 = ((($2)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$1 = $11;$$1418 = $12; - break; - } - $104 = (($11) + ($12)|0); - $105 = ((($11)) + 4|0); - $106 = $12 | 1; - $107 = $101 & -2; - HEAP32[(22116)>>2] = $12; - HEAP32[$100>>2] = $107; - HEAP32[$105>>2] = $106; - HEAP32[$104>>2] = $12; - return; - } - $17 = $7 >>> 3; - $18 = ($7>>>0)<(256); - if ($18) { - $19 = ((($11)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($11)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = $17 << 1; - $24 = (22148 + ($23<<2)|0); - $25 = ($20|0)==($24|0); - if (!($25)) { - $26 = ($20>>>0)<($13>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($11|0); - if (!($29)) { - _abort(); - // unreachable; - } - } - $30 = ($22|0)==($20|0); - if ($30) { - $31 = 1 << $17; - $32 = $31 ^ -1; - $33 = HEAP32[5527]|0; - $34 = $33 & $32; - HEAP32[5527] = $34; - $$1 = $11;$$1418 = $12; - break; - } - $35 = ($22|0)==($24|0); - if ($35) { - $$pre25 = ((($22)) + 8|0); - $$pre$phi26Z2D = $$pre25; - } else { - $36 = ($22>>>0)<($13>>>0); - if ($36) { - _abort(); - // unreachable; - } - $37 = ((($22)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==($11|0); - if ($39) { - $$pre$phi26Z2D = $37; - } else { - _abort(); - // unreachable; - } - } - $40 = ((($20)) + 12|0); - HEAP32[$40>>2] = $22; - HEAP32[$$pre$phi26Z2D>>2] = $20; - $$1 = $11;$$1418 = $12; - break; - } - $41 = ((($11)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($11)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==($11|0); - do { - if ($45) { - $55 = ((($11)) + 16|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $59 = HEAP32[$55>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - $$3 = 0; - break; - } else { - $$1426 = $59;$$1429 = $55; - } - } else { - $$1426 = $57;$$1429 = $56; - } - while(1) { - $61 = ((($$1426)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $$1426 = $62;$$1429 = $61; - continue; - } - $64 = ((($$1426)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - break; - } else { - $$1426 = $65;$$1429 = $64; - } - } - $67 = ($$1429>>>0)<($13>>>0); - if ($67) { - _abort(); - // unreachable; - } else { - HEAP32[$$1429>>2] = 0; - $$3 = $$1426; - break; - } - } else { - $46 = ((($11)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47>>>0)<($13>>>0); - if ($48) { - _abort(); - // unreachable; - } - $49 = ((($47)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==($11|0); - if (!($51)) { - _abort(); - // unreachable; - } - $52 = ((($44)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==($11|0); - if ($54) { - HEAP32[$49>>2] = $44; - HEAP32[$52>>2] = $47; - $$3 = $44; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $68 = ($42|0)==(0|0); - if ($68) { - $$1 = $11;$$1418 = $12; - } else { - $69 = ((($11)) + 28|0); - $70 = HEAP32[$69>>2]|0; - $71 = (22412 + ($70<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($11|0)==($72|0); - do { - if ($73) { - HEAP32[$71>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $74 = 1 << $70; - $75 = $74 ^ -1; - $76 = HEAP32[(22112)>>2]|0; - $77 = $76 & $75; - HEAP32[(22112)>>2] = $77; - $$1 = $11;$$1418 = $12; - break L1; - } - } else { - $78 = HEAP32[(22124)>>2]|0; - $79 = ($42>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } else { - $80 = ((($42)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $not$1 = ($81|0)!=($11|0); - $$sink2 = $not$1&1; - $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); - HEAP32[$82>>2] = $$3; - $83 = ($$3|0)==(0|0); - if ($83) { - $$1 = $11;$$1418 = $12; - break L1; - } else { - break; - } - } - } - } while(0); - $84 = HEAP32[(22124)>>2]|0; - $85 = ($$3>>>0)<($84>>>0); - if ($85) { - _abort(); - // unreachable; - } - $86 = ((($$3)) + 24|0); - HEAP32[$86>>2] = $42; - $87 = ((($11)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0|0); - do { - if (!($89)) { - $90 = ($88>>>0)<($84>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = ((($$3)) + 16|0); - HEAP32[$91>>2] = $88; - $92 = ((($88)) + 24|0); - HEAP32[$92>>2] = $$3; - break; - } - } - } while(0); - $93 = ((($87)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$1 = $11;$$1418 = $12; - } else { - $96 = HEAP32[(22124)>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = ((($$3)) + 20|0); - HEAP32[$98>>2] = $94; - $99 = ((($94)) + 24|0); - HEAP32[$99>>2] = $$3; - $$1 = $11;$$1418 = $12; - break; - } - } - } - } else { - $$1 = $0;$$1418 = $1; - } - } while(0); - $108 = HEAP32[(22124)>>2]|0; - $109 = ($2>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $110 = ((($2)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[(22132)>>2]|0; - $115 = ($2|0)==($114|0); - $116 = HEAP32[(22128)>>2]|0; - if ($115) { - $117 = HEAP32[(22120)>>2]|0; - $118 = (($117) + ($$1418))|0; - HEAP32[(22120)>>2] = $118; - HEAP32[(22132)>>2] = $$1; - $119 = $118 | 1; - $120 = ((($$1)) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ($$1|0)==($116|0); - if (!($121)) { - return; - } - HEAP32[(22128)>>2] = 0; - HEAP32[(22116)>>2] = 0; - return; - } - $122 = ($2|0)==($116|0); - if ($122) { - $123 = HEAP32[(22116)>>2]|0; - $124 = (($123) + ($$1418))|0; - HEAP32[(22116)>>2] = $124; - HEAP32[(22128)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = (($$1) + ($124)|0); - HEAP32[$127>>2] = $124; - return; - } - $128 = $111 & -8; - $129 = (($128) + ($$1418))|0; - $130 = $111 >>> 3; - $131 = ($111>>>0)<(256); - L96: do { - if ($131) { - $132 = ((($2)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = ((($2)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = $130 << 1; - $137 = (22148 + ($136<<2)|0); - $138 = ($133|0)==($137|0); - if (!($138)) { - $139 = ($133>>>0)<($108>>>0); - if ($139) { - _abort(); - // unreachable; - } - $140 = ((($133)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==($2|0); - if (!($142)) { - _abort(); - // unreachable; - } - } - $143 = ($135|0)==($133|0); - if ($143) { - $144 = 1 << $130; - $145 = $144 ^ -1; - $146 = HEAP32[5527]|0; - $147 = $146 & $145; - HEAP32[5527] = $147; - break; - } - $148 = ($135|0)==($137|0); - if ($148) { - $$pre23 = ((($135)) + 8|0); - $$pre$phi24Z2D = $$pre23; - } else { - $149 = ($135>>>0)<($108>>>0); - if ($149) { - _abort(); - // unreachable; - } - $150 = ((($135)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==($2|0); - if ($152) { - $$pre$phi24Z2D = $150; - } else { - _abort(); - // unreachable; - } - } - $153 = ((($133)) + 12|0); - HEAP32[$153>>2] = $135; - HEAP32[$$pre$phi24Z2D>>2] = $133; - } else { - $154 = ((($2)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = ((($2)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($2|0); - do { - if ($158) { - $168 = ((($2)) + 16|0); - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$168>>2]|0; - $173 = ($172|0)==(0|0); - if ($173) { - $$3435 = 0; - break; - } else { - $$1433 = $172;$$1437 = $168; - } - } else { - $$1433 = $170;$$1437 = $169; - } - while(1) { - $174 = ((($$1433)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==(0|0); - if (!($176)) { - $$1433 = $175;$$1437 = $174; - continue; - } - $177 = ((($$1433)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - break; - } else { - $$1433 = $178;$$1437 = $177; - } - } - $180 = ($$1437>>>0)<($108>>>0); - if ($180) { - _abort(); - // unreachable; - } else { - HEAP32[$$1437>>2] = 0; - $$3435 = $$1433; - break; - } - } else { - $159 = ((($2)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160>>>0)<($108>>>0); - if ($161) { - _abort(); - // unreachable; - } - $162 = ((($160)) + 12|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($2|0); - if (!($164)) { - _abort(); - // unreachable; - } - $165 = ((($157)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==($2|0); - if ($167) { - HEAP32[$162>>2] = $157; - HEAP32[$165>>2] = $160; - $$3435 = $157; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $181 = ($155|0)==(0|0); - if (!($181)) { - $182 = ((($2)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = (22412 + ($183<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($2|0)==($185|0); - do { - if ($186) { - HEAP32[$184>>2] = $$3435; - $cond17 = ($$3435|0)==(0|0); - if ($cond17) { - $187 = 1 << $183; - $188 = $187 ^ -1; - $189 = HEAP32[(22112)>>2]|0; - $190 = $189 & $188; - HEAP32[(22112)>>2] = $190; - break L96; - } - } else { - $191 = HEAP32[(22124)>>2]|0; - $192 = ($155>>>0)<($191>>>0); - if ($192) { - _abort(); - // unreachable; - } else { - $193 = ((($155)) + 16|0); - $194 = HEAP32[$193>>2]|0; - $not$ = ($194|0)!=($2|0); - $$sink4 = $not$&1; - $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); - HEAP32[$195>>2] = $$3435; - $196 = ($$3435|0)==(0|0); - if ($196) { - break L96; - } else { - break; - } - } - } - } while(0); - $197 = HEAP32[(22124)>>2]|0; - $198 = ($$3435>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($$3435)) + 24|0); - HEAP32[$199>>2] = $155; - $200 = ((($2)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($$3435)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $$3435; - break; - } - } - } while(0); - $206 = ((($200)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(22124)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($$3435)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $$3435; - break; - } - } - } - } - } while(0); - $213 = $129 | 1; - $214 = ((($$1)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$1) + ($129)|0); - HEAP32[$215>>2] = $129; - $216 = HEAP32[(22128)>>2]|0; - $217 = ($$1|0)==($216|0); - if ($217) { - HEAP32[(22116)>>2] = $129; - return; - } else { - $$2 = $129; - } - } else { - $218 = $111 & -2; - HEAP32[$110>>2] = $218; - $219 = $$1418 | 1; - $220 = ((($$1)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$1) + ($$1418)|0); - HEAP32[$221>>2] = $$1418; - $$2 = $$1418; - } - $222 = $$2 >>> 3; - $223 = ($$2>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (22148 + ($224<<2)|0); - $226 = HEAP32[5527]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[5527] = $230; - $$pre = ((($225)) + 8|0); - $$0438 = $225;$$pre$phiZ2D = $$pre; - } else { - $231 = ((($225)) + 8|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(22124)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$0438 = $232;$$pre$phiZ2D = $231; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $235 = ((($$0438)) + 12|0); - HEAP32[$235>>2] = $$1; - $236 = ((($$1)) + 8|0); - HEAP32[$236>>2] = $$0438; - $237 = ((($$1)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$2 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $$0431 = 0; - } else { - $240 = ($$2>>>0)>(16777215); - if ($240) { - $$0431 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$2 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $$0431 = $262; - } - } - $263 = (22412 + ($$0431<<2)|0); - $264 = ((($$1)) + 28|0); - HEAP32[$264>>2] = $$0431; - $265 = ((($$1)) + 16|0); - $266 = ((($$1)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(22112)>>2]|0; - $268 = 1 << $$0431; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(22112)>>2] = $271; - HEAP32[$263>>2] = $$1; - $272 = ((($$1)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$1)) + 12|0); - HEAP32[$273>>2] = $$1; - $274 = ((($$1)) + 8|0); - HEAP32[$274>>2] = $$1; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($$0431|0)==(31); - $277 = $$0431 >>> 1; - $278 = (25 - ($277))|0; - $279 = $276 ? 0 : $278; - $280 = $$2 << $279; - $$0419 = $280;$$0420 = $275; - while(1) { - $281 = ((($$0420)) + 4|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 & -8; - $284 = ($283|0)==($$2|0); - if ($284) { - label = 121; - break; - } - $285 = $$0419 >>> 31; - $286 = (((($$0420)) + 16|0) + ($285<<2)|0); - $287 = $$0419 << 1; - $288 = HEAP32[$286>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - label = 118; - break; - } else { - $$0419 = $287;$$0420 = $288; - } - } - if ((label|0) == 118) { - $290 = HEAP32[(22124)>>2]|0; - $291 = ($286>>>0)<($290>>>0); - if ($291) { - _abort(); - // unreachable; - } - HEAP32[$286>>2] = $$1; - $292 = ((($$1)) + 24|0); - HEAP32[$292>>2] = $$0420; - $293 = ((($$1)) + 12|0); - HEAP32[$293>>2] = $$1; - $294 = ((($$1)) + 8|0); - HEAP32[$294>>2] = $$1; - return; - } - else if ((label|0) == 121) { - $295 = ((($$0420)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(22124)>>2]|0; - $298 = ($296>>>0)>=($297>>>0); - $not$19 = ($$0420>>>0)>=($297>>>0); - $299 = $298 & $not$19; - if (!($299)) { - _abort(); - // unreachable; - } - $300 = ((($296)) + 12|0); - HEAP32[$300>>2] = $$1; - HEAP32[$295>>2] = $$1; - $301 = ((($$1)) + 8|0); - HEAP32[$301>>2] = $296; - $302 = ((($$1)) + 12|0); - HEAP32[$302>>2] = $$0420; - $303 = ((($$1)) + 24|0); - HEAP32[$303>>2] = 0; - return; - } -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (22604|0); -} -function ___stdio_close($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 60|0); - $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); - HEAP32[$vararg_buffer>>2] = $3; - $4 = (___syscall6(6,($vararg_buffer|0))|0); - $5 = (___syscall_ret($4)|0); - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $3 = sp + 32|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$3>>2] = $5; - $6 = ((($3)) + 4|0); - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - ($5))|0; - HEAP32[$6>>2] = $9; - $10 = ((($3)) + 8|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $2; - $12 = (($9) + ($2))|0; - $13 = ((($0)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = $3; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $16 = (___syscall146(146,($vararg_buffer|0))|0); - $17 = (___syscall_ret($16)|0); - $18 = ($12|0)==($17|0); - L1: do { - if ($18) { - label = 3; - } else { - $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; - while(1) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } while(0); - if ((label|0) == 3) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 16|0); - HEAP32[$24>>2] = $23; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|0); -} -function ___stdio_seek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 20|0; - $4 = ((($0)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $1; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $6; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $2; - $7 = (___syscall140(140,($vararg_buffer|0))|0); - $8 = (___syscall_ret($7)|0); - $9 = ($8|0)<(0); - if ($9) { - HEAP32[$3>>2] = -1; - $10 = -1; - } else { - $$pre = HEAP32[$3>>2]|0; - $10 = $$pre; - } - STACKTOP = sp;return ($10|0); -} -function ___syscall_ret($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0>>>0)>(4294963200); - if ($1) { - $2 = (0 - ($0))|0; - $3 = (___errno_location()|0); - HEAP32[$3>>2] = $2; - $$0 = -1; - } else { - $$0 = $0; - } - return ($$0|0); -} -function ___errno_location() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (3552|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdout_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 8; - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 64; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = $3; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21523; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $11 = (___syscall54(54,($vararg_buffer|0))|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($0)) + 75|0); - HEAP8[$13>>0] = -1; - } - } - $14 = (___stdio_write($0,$1,$2)|0); - STACKTOP = sp;return ($14|0); -} -function _strcmp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP8[$0>>0]|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($2<<24>>24)!=($3<<24>>24); - $5 = ($2<<24>>24)==(0); - $or$cond9 = $5 | $4; - if ($or$cond9) { - $$lcssa = $3;$$lcssa8 = $2; - } else { - $$011 = $1;$$0710 = $0; - while(1) { - $6 = ((($$0710)) + 1|0); - $7 = ((($$011)) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = HEAP8[$7>>0]|0; - $10 = ($8<<24>>24)!=($9<<24>>24); - $11 = ($8<<24>>24)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $$lcssa = $9;$$lcssa8 = $8; - break; - } else { - $$011 = $7;$$0710 = $6; - } - } - } - $12 = $$lcssa8&255; - $13 = $$lcssa&255; - $14 = (($12) - ($13))|0; - return ($14|0); -} -function _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _vfprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $3 = sp + 120|0; - $4 = sp + 80|0; - $5 = sp; - $6 = sp + 136|0; - dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = $vacopy_currentptr; - $7 = (_printf_core(0,$1,$3,$5,$4)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = -1; - } else { - $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(-1); - if ($11) { - $12 = (___lockfile($0)|0); - $40 = $12; - } else { - $40 = 0; - } - $13 = HEAP32[$0>>2]|0; - $14 = $13 & 32; - $15 = ((($0)) + 74|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)<(1); - if ($17) { - $18 = $13 & -33; - HEAP32[$0>>2] = $18; - } - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $23 = ((($0)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$23>>2] = $6; - $25 = ((($0)) + 28|0); - HEAP32[$25>>2] = $6; - $26 = ((($0)) + 20|0); - HEAP32[$26>>2] = $6; - HEAP32[$19>>2] = 80; - $27 = ((($6)) + 80|0); - $28 = ((($0)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = (_printf_core($0,$1,$3,$5,$4)|0); - $30 = ($24|0)==(0|0); - if ($30) { - $$1 = $29; - } else { - $31 = ((($0)) + 36|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); - $33 = HEAP32[$26>>2]|0; - $34 = ($33|0)==(0|0); - $$ = $34 ? -1 : $29; - HEAP32[$23>>2] = $24; - HEAP32[$19>>2] = 0; - HEAP32[$28>>2] = 0; - HEAP32[$25>>2] = 0; - HEAP32[$26>>2] = 0; - $$1 = $$; - } - } else { - $22 = (_printf_core($0,$1,$3,$5,$4)|0); - $$1 = $22; - } - $35 = HEAP32[$0>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - $$1$ = $37 ? $$1 : -1; - $38 = $35 | $14; - HEAP32[$0>>2] = $38; - $39 = ($40|0)==(0); - if (!($39)) { - ___unlockfile($0); - } - $$0 = $$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _printf_core($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; - var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 24|0; - $8 = sp + 8|0; - $9 = sp + 20|0; - HEAP32[$5>>2] = $1; - $10 = ($0|0)!=(0|0); - $11 = ((($7)) + 40|0); - $12 = $11; - $13 = ((($7)) + 39|0); - $14 = ((($8)) + 4|0); - $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; - L1: while(1) { - $15 = ($$0247|0)>(-1); - do { - if ($15) { - $16 = (2147483647 - ($$0247))|0; - $17 = ($$0243|0)>($16|0); - if ($17) { - $18 = (___errno_location()|0); - HEAP32[$18>>2] = 75; - $$1248 = -1; - break; - } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; - break; - } - } else { - $$1248 = $$0247; - } - } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; - break; - } - case 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; - break; - } - default: { - } - } - $24 = ((($25)) + 1|0); - HEAP32[$5>>2] = $24; - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = ((($27)) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$0249$lcssa = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $30;$27 = $31; - label = 9; - } else { - $$0249$lcssa = $30;$39 = $31; - break; - } - } - } - } while(0); - $34 = $$0249$lcssa; - $35 = $21; - $36 = (($34) - ($35))|0; - if ($10) { - _out($0,$21,$36); - } - $37 = ($36|0)==(0); - if (!($37)) { - $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; - continue; - } - $38 = ((($39)) + 1|0); - $40 = HEAP8[$38>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($39)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($39)) + 3|0); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } else { - $$0253 = -1;$$1270 = $$0269;$storemerge = $38; - } - HEAP32[$5>>2] = $storemerge; - $46 = HEAP8[$storemerge>>0]|0; - $47 = $46 << 24 >> 24; - $48 = (($47) + -32)|0; - $49 = ($48>>>0)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((12616 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 13080;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 13080;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 13080 : (13082); - $$$ = $238 ? $$ : (13081); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 13080;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 13080;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 13090; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 13080;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (13080 + ($208)|0); - $$289 = $or$cond283 ? 13080 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 13080;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; - $$0228$ = $or$cond ? $$0228 : $11; - $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; - } - else if ((label|0) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } else { - $$0 = $$1248; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___lockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _out($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = $3 & 32; - $5 = ($4|0)==(0); - if ($5) { - (___fwritex($1,$2,$0)|0); - } - return; -} -function _getint($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $isdigittmp4 = (($3) + -48)|0; - $isdigit5 = ($isdigittmp4>>>0)<(10); - if ($isdigit5) { - $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; - while(1) { - $4 = ($$06*10)|0; - $5 = (($isdigittmp7) + ($4))|0; - $6 = ((($7)) + 1|0); - HEAP32[$0>>2] = $6; - $8 = HEAP8[$6>>0]|0; - $9 = $8 << 24 >> 24; - $isdigittmp = (($9) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; - } else { - $$0$lcssa = $5; - break; - } - } - } else { - $$0$lcssa = 0; - } - return ($$0$lcssa|0); -} -function _pop_arg($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(20); - L1: do { - if (!($3)) { - do { - switch ($1|0) { - case 9: { - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded28 = $5; - $expanded = (($expanded28) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded32 = $7; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $8 = $6 & $expanded30; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - HEAP32[$0>>2] = $10; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$2>>2]|0; - $11 = $arglist_current2; - $12 = ((0) + 4|0); - $expanded35 = $12; - $expanded34 = (($expanded35) - 1)|0; - $13 = (($11) + ($expanded34))|0; - $14 = ((0) + 4|0); - $expanded39 = $14; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $15 = $13 & $expanded37; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $arglist_next3 = ((($16)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$2>>2]|0; - $24 = $arglist_current5; - $25 = ((0) + 4|0); - $expanded42 = $25; - $expanded41 = (($expanded42) - 1)|0; - $26 = (($24) + ($expanded41))|0; - $27 = ((0) + 4|0); - $expanded46 = $27; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $28 = $26 & $expanded44; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $arglist_next6 = ((($29)) + 4|0); - HEAP32[$2>>2] = $arglist_next6; - $31 = $0; - $32 = $31; - HEAP32[$32>>2] = $30; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$2>>2]|0; - $35 = $arglist_current8; - $36 = ((0) + 8|0); - $expanded49 = $36; - $expanded48 = (($expanded49) - 1)|0; - $37 = (($35) + ($expanded48))|0; - $38 = ((0) + 8|0); - $expanded53 = $38; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $39 = $37 & $expanded51; - $40 = $39; - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $arglist_next9 = ((($40)) + 8|0); - HEAP32[$2>>2] = $arglist_next9; - $47 = $0; - $48 = $47; - HEAP32[$48>>2] = $43; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$2>>2]|0; - $51 = $arglist_current11; - $52 = ((0) + 4|0); - $expanded56 = $52; - $expanded55 = (($expanded56) - 1)|0; - $53 = (($51) + ($expanded55))|0; - $54 = ((0) + 4|0); - $expanded60 = $54; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $55 = $53 & $expanded58; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $arglist_next12 = ((($56)) + 4|0); - HEAP32[$2>>2] = $arglist_next12; - $58 = $57&65535; - $59 = $58 << 16 >> 16; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = $0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$2>>2]|0; - $66 = $arglist_current14; - $67 = ((0) + 4|0); - $expanded63 = $67; - $expanded62 = (($expanded63) - 1)|0; - $68 = (($66) + ($expanded62))|0; - $69 = ((0) + 4|0); - $expanded67 = $69; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $70 = $68 & $expanded65; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $arglist_next15 = ((($71)) + 4|0); - HEAP32[$2>>2] = $arglist_next15; - $$mask31 = $72 & 65535; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $$mask31; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$2>>2]|0; - $77 = $arglist_current17; - $78 = ((0) + 4|0); - $expanded70 = $78; - $expanded69 = (($expanded70) - 1)|0; - $79 = (($77) + ($expanded69))|0; - $80 = ((0) + 4|0); - $expanded74 = $80; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $81 = $79 & $expanded72; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $arglist_next18 = ((($82)) + 4|0); - HEAP32[$2>>2] = $arglist_next18; - $84 = $83&255; - $85 = $84 << 24 >> 24; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$2>>2]|0; - $92 = $arglist_current20; - $93 = ((0) + 4|0); - $expanded77 = $93; - $expanded76 = (($expanded77) - 1)|0; - $94 = (($92) + ($expanded76))|0; - $95 = ((0) + 4|0); - $expanded81 = $95; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $96 = $94 & $expanded79; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next21 = ((($97)) + 4|0); - HEAP32[$2>>2] = $arglist_next21; - $$mask = $98 & 255; - $99 = $0; - $100 = $99; - HEAP32[$100>>2] = $$mask; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$2>>2]|0; - $103 = $arglist_current23; - $104 = ((0) + 8|0); - $expanded84 = $104; - $expanded83 = (($expanded84) - 1)|0; - $105 = (($103) + ($expanded83))|0; - $106 = ((0) + 8|0); - $expanded88 = $106; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $107 = $105 & $expanded86; - $108 = $107; - $109 = +HEAPF64[$108>>3]; - $arglist_next24 = ((($108)) + 8|0); - HEAP32[$2>>2] = $arglist_next24; - HEAPF64[$0>>3] = $109; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$2>>2]|0; - $110 = $arglist_current26; - $111 = ((0) + 8|0); - $expanded91 = $111; - $expanded90 = (($expanded91) - 1)|0; - $112 = (($110) + ($expanded90))|0; - $113 = ((0) + 8|0); - $expanded95 = $113; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $114 = $112 & $expanded93; - $115 = $114; - $116 = +HEAPF64[$115>>3]; - $arglist_next27 = ((($115)) + 8|0); - HEAP32[$2>>2] = $arglist_next27; - HEAPF64[$0>>3] = $116; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_x($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0); - $5 = ($1|0)==(0); - $6 = $4 & $5; - if ($6) { - $$05$lcssa = $2; - } else { - $$056 = $2;$15 = $1;$8 = $0; - while(1) { - $7 = $8 & 15; - $9 = (13132 + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 | $3; - $13 = $12&255; - $14 = ((($$056)) + -1|0); - HEAP8[$14>>0] = $13; - $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); - $17 = tempRet0; - $18 = ($16|0)==(0); - $19 = ($17|0)==(0); - $20 = $18 & $19; - if ($20) { - $$05$lcssa = $14; - break; - } else { - $$056 = $14;$15 = $17;$8 = $16; - } - } - } - return ($$05$lcssa|0); -} -function _fmt_o($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; - } else { - $$06 = $2;$11 = $1;$7 = $0; - while(1) { - $6 = $7&255; - $8 = $6 & 7; - $9 = $8 | 48; - $10 = ((($$06)) + -1|0); - HEAP8[$10>>0] = $9; - $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); - $13 = tempRet0; - $14 = ($12|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - if ($16) { - $$0$lcssa = $10; - break; - } else { - $$06 = $10;$11 = $13;$7 = $12; - } - } - } - return ($$0$lcssa|0); -} -function _fmt_u($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(0); - $4 = ($0>>>0)>(4294967295); - $5 = ($1|0)==(0); - $6 = $5 & $4; - $7 = $3 | $6; - if ($7) { - $$0914 = $2;$8 = $0;$9 = $1; - while(1) { - $10 = (___uremdi3(($8|0),($9|0),10,0)|0); - $11 = tempRet0; - $12 = $10&255; - $13 = $12 | 48; - $14 = ((($$0914)) + -1|0); - HEAP8[$14>>0] = $13; - $15 = (___udivdi3(($8|0),($9|0),10,0)|0); - $16 = tempRet0; - $17 = ($9>>>0)>(9); - $18 = ($8>>>0)>(4294967295); - $19 = ($9|0)==(9); - $20 = $19 & $18; - $21 = $17 | $20; - if ($21) { - $$0914 = $14;$8 = $15;$9 = $16; - } else { - break; - } - } - $$010$lcssa$off0 = $15;$$09$lcssa = $14; - } else { - $$010$lcssa$off0 = $0;$$09$lcssa = $2; - } - $22 = ($$010$lcssa$off0|0)==(0); - if ($22) { - $$1$lcssa = $$09$lcssa; - } else { - $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; - while(1) { - $23 = (($$012>>>0) % 10)&-1; - $24 = $23 | 48; - $25 = $24&255; - $26 = ((($$111)) + -1|0); - HEAP8[$26>>0] = $25; - $27 = (($$012>>>0) / 10)&-1; - $28 = ($$012>>>0)<(10); - if ($28) { - $$1$lcssa = $26; - break; - } else { - $$012 = $27;$$111 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _strerror($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___pthread_self_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|0); -} -function _memchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1 & 255; - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)!=(0); - $7 = ($2|0)!=(0); - $or$cond53 = $7 & $6; - L1: do { - if ($or$cond53) { - $8 = $1&255; - $$03555 = $0;$$03654 = $2; - while(1) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; - } - $11 = ((($$03555)) + 1|0); - $12 = (($$03654) + -1)|0; - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($12|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$03555 = $11;$$03654 = $12; - } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; - label = 6; - } else { - $$2 = $$035$lcssa;$$3 = 0; - } - } - L8: do { - if ((label|0) == 6) { - $17 = HEAP8[$$035$lcssa65>>0]|0; - $18 = $1&255; - $19 = ($17<<24>>24)==($18<<24>>24); - if ($19) { - $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; - } else { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; - while(1) { - $22 = HEAP32[$$046>>2]|0; - $23 = $22 ^ $20; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - break; - } - $29 = ((($$046)) + 4|0); - $30 = (($$13745) + -4)|0; - $31 = ($30>>>0)>(3); - if ($31) { - $$046 = $29;$$13745 = $30; - } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; - } - } - $$140 = $$046;$$23839 = $$13745; - } else { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; - } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; - } - } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; - } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; - } - } - } - } - } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); -} -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $5 = sp; - $6 = $4 & 73728; - $7 = ($6|0)==(0); - $8 = ($2|0)>($3|0); - $or$cond = $8 & $7; - if ($or$cond) { - $9 = (($2) - ($3))|0; - $10 = ($9>>>0)<(256); - $11 = $10 ? $9 : 256; - _memset(($5|0),($1|0),($11|0))|0; - $12 = ($9>>>0)>(255); - if ($12) { - $13 = (($2) - ($3))|0; - $$011 = $9; - while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; - } else { - break; - } - } - $16 = $13 & 255; - $$0$lcssa = $16; - } else { - $$0$lcssa = $9; - } - _out($0,$5,$$0$lcssa); - } - STACKTOP = sp;return; -} -function _wctomb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = (_wcrtomb($0,$1,0)|0); - $$0 = $3; - } - return ($$0|0); -} -function _fmt_fp($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; - var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 524|0; - $9 = $8; - $10 = sp + 512|0; - HEAP32[$7>>2] = 0; - $11 = ((($10)) + 12|0); - (___DOUBLE_BITS_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 13097; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (13098) : (13103); - $$$ = $16 ? $$ : (13100); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (13132 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $85 = $84&255; - $86 = ((($$0523)) + 1|0); - HEAP8[$$0523>>0] = $85; - $87 = (+($80|0)); - $88 = $$2473 - $87; - $89 = $88 * 16.0; - $90 = $86; - $91 = (($90) - ($9))|0; - $92 = ($91|0)==(1); - if ($92) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$3501$lcssa; - $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; - } else { - $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; - } - $$7505 = $$7505$ph; - while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,13148,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,13148,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 13116 : 13120; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 13124 : 13128; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _frexpl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_frexp($0,$1)); - return (+$2); -} -function _frexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $5 = tempRet0; - $6 = $4&65535; - $trunc$clear = $6 & 2047; - switch ($trunc$clear<<16>>16) { - case 0: { - $7 = $0 != 0.0; - if ($7) { - $8 = $0 * 1.8446744073709552E+19; - $9 = (+_frexp($8,$1)); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + -64)|0; - $$016 = $9;$storemerge = $11; - } else { - $$016 = $0;$storemerge = 0; - } - HEAP32[$1>>2] = $storemerge; - $$0 = $$016; - break; - } - case 2047: { - $$0 = $0; - break; - } - default: { - $12 = $4 & 2047; - $13 = (($12) + -1022)|0; - HEAP32[$1>>2] = $13; - $14 = $3 & -2146435073; - $15 = $14 | 1071644672; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $16; - } - } - return (+$$0); -} -function _wcrtomb($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; - } else { - $4 = ($1>>>0)<(128); - if ($4) { - $5 = $1&255; - HEAP8[$0>>0] = $5; - $$0 = 1; - break; - } - $6 = (___pthread_self_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___strerror_l($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $$016 = 0; - while(1) { - $3 = (13150 + ($$016)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==($0|0); - if ($6) { - label = 2; - break; - } - $7 = (($$016) + 1)|0; - $8 = ($7|0)==(87); - if ($8) { - $$01214 = 13238;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 13238; - } else { - $$01214 = 13238;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; - while(1) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { - break; - } else { - $$113 = $11; - } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } - } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); -} -function ___lctrans($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); -} -function ___lctrans_impl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = HEAP32[$1>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (___mo_lookup($3,$5,$0)|0); - $$0 = $6; - } - $7 = ($$0|0)!=(0|0); - $8 = $7 ? $$0 : $0; - return ($8|0); -} -function ___mo_lookup($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 1794895138)|0; - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_swapc($6,$4)|0); - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_swapc($9,$4)|0); - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_swapc($12,$4)|0); - $14 = $1 >>> 2; - $15 = ($7>>>0)<($14>>>0); - L1: do { - if ($15) { - $16 = $7 << 2; - $17 = (($1) - ($16))|0; - $18 = ($10>>>0)<($17>>>0); - $19 = ($13>>>0)<($17>>>0); - $or$cond = $18 & $19; - if ($or$cond) { - $20 = $13 | $10; - $21 = $20 & 3; - $22 = ($21|0)==(0); - if ($22) { - $23 = $10 >>> 2; - $24 = $13 >>> 2; - $$090 = 0;$$094 = $7; - while(1) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_swapc($30,$4)|0); - $32 = (($28) + 1)|0; - $33 = (($0) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_swapc($34,$4)|0); - $36 = ($35>>>0)<($1>>>0); - $37 = (($1) - ($35))|0; - $38 = ($31>>>0)<($37>>>0); - $or$cond102 = $36 & $38; - if (!($or$cond102)) { - $$4 = 0; - break L1; - } - $39 = (($35) + ($31))|0; - $40 = (($0) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==(0); - if (!($42)) { - $$4 = 0; - break L1; - } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { - break; - } - $62 = ($$094|0)==(1); - $63 = ($44|0)<(0); - $64 = (($$094) - ($25))|0; - $$195 = $63 ? $25 : $64; - $$191 = $63 ? $$090 : $26; - if ($62) { - $$4 = 0; - break L1; - } else { - $$090 = $$191;$$094 = $$195; - } - } - $46 = (($27) + ($24))|0; - $47 = (($0) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_swapc($48,$4)|0); - $50 = (($46) + 1)|0; - $51 = (($0) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_swapc($52,$4)|0); - $54 = ($53>>>0)<($1>>>0); - $55 = (($1) - ($53))|0; - $56 = ($49>>>0)<($55>>>0); - $or$cond104 = $54 & $56; - if ($or$cond104) { - $57 = (($0) + ($53)|0); - $58 = (($53) + ($49))|0; - $59 = (($0) + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)==(0); - $$ = $61 ? $57 : 0; - $$4 = $$; - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } while(0); - return ($$4|0); -} -function _swapc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); -} -function ___fwritex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $7 = (___towrite($2)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$3>>2]|0; - $12 = $$pre; - label = 5; - } else { - $$1 = 0; - } - } else { - $6 = $4; - $12 = $6; - label = 5; - } - L5: do { - if ((label|0) == 5) { - $9 = ((($2)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($12) - ($10))|0; - $13 = ($11>>>0)<($1>>>0); - $14 = $10; - if ($13) { - $15 = ((($2)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); - $$1 = $17; - break; - } - $18 = ((($2)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)>(-1); - L10: do { - if ($20) { - $$038 = $1; - while(1) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; - } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { - break; - } else { - $$038 = $22; - } - } - $26 = ((($2)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); - $29 = ($28>>>0)<($$038>>>0); - if ($29) { - $$1 = $28; - break L5; - } - $30 = (($0) + ($$038)|0); - $$042 = (($1) - ($$038))|0; - $$pre47 = HEAP32[$9>>2]|0; - $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; - } else { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - } - } while(0); - _memcpy(($31|0),($$141|0),($$143|0))|0; - $32 = HEAP32[$9>>2]|0; - $33 = (($32) + ($$143)|0); - HEAP32[$9>>2] = $33; - $34 = (($$139) + ($$143))|0; - $$1 = $34; - } - } while(0); - return ($$1|0); -} -function ___towrite($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 8; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($0)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 28|0); - HEAP32[$15>>2] = $14; - $16 = ((($0)) + 20|0); - HEAP32[$16>>2] = $14; - $17 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _qsort($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$067$lcssa = 0, $$06772 = 0, $$068$lcssa = 0, $$06871 = 0, $$1 = 0, $$169 = 0, $$2 = 0, $$pre$pre = 0, $$pre76 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $15$phi = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0); - $4 = sp + 8|0; - $5 = sp; - $6 = Math_imul($2, $1)|0; - $7 = $5; - $8 = $7; - HEAP32[$8>>2] = 1; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 0; - $11 = ($6|0)==(0); - L1: do { - if (!($11)) { - $12 = (0 - ($2))|0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = $2; - HEAP32[$4>>2] = $2; - $$0 = 2;$15 = $2;$17 = $2; - while(1) { - $14 = (($15) + ($2))|0; - $16 = (($14) + ($17))|0; - $18 = (($4) + ($$0<<2)|0); - HEAP32[$18>>2] = $16; - $19 = ($16>>>0)<($6>>>0); - $20 = (($$0) + 1)|0; - if ($19) { - $15$phi = $17;$$0 = $20;$17 = $16;$15 = $15$phi; - } else { - break; - } - } - $21 = (($0) + ($6)|0); - $22 = (($21) + ($12)|0); - $23 = ($22>>>0)>($0>>>0); - if ($23) { - $24 = $22; - $$06772 = 1;$$06871 = $0;$26 = 1; - while(1) { - $25 = $26 & 3; - $27 = ($25|0)==(3); - do { - if ($27) { - _sift($$06871,$2,$3,$$06772,$4); - _shr($5,2); - $28 = (($$06772) + 2)|0; - $$1 = $28; - } else { - $29 = (($$06772) + -1)|0; - $30 = (($4) + ($29<<2)|0); - $31 = HEAP32[$30>>2]|0; - $32 = $$06871; - $33 = (($24) - ($32))|0; - $34 = ($31>>>0)<($33>>>0); - if ($34) { - _sift($$06871,$2,$3,$$06772,$4); - } else { - _trinkle($$06871,$2,$3,$5,$$06772,0,$4); - } - $35 = ($$06772|0)==(1); - if ($35) { - _shl($5,1); - $$1 = 0; - break; - } else { - _shl($5,$29); - $$1 = 1; - break; - } - } - } while(0); - $36 = HEAP32[$5>>2]|0; - $37 = $36 | 1; - HEAP32[$5>>2] = $37; - $38 = (($$06871) + ($2)|0); - $39 = ($38>>>0)<($22>>>0); - if ($39) { - $$06772 = $$1;$$06871 = $38;$26 = $37; - } else { - $$067$lcssa = $$1;$$068$lcssa = $38;$61 = $37; - break; - } - } - } else { - $$067$lcssa = 1;$$068$lcssa = $0;$61 = 1; - } - _trinkle($$068$lcssa,$2,$3,$5,$$067$lcssa,0,$4); - $40 = ((($5)) + 4|0); - $$169 = $$068$lcssa;$$2 = $$067$lcssa;$43 = $61; - while(1) { - $41 = ($$2|0)==(1); - $42 = ($43|0)==(1); - $or$cond = $41 & $42; - if ($or$cond) { - $44 = HEAP32[$40>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - break L1; - } - } else { - $46 = ($$2|0)<(2); - if (!($46)) { - _shl($5,2); - $49 = (($$2) + -2)|0; - $50 = HEAP32[$5>>2]|0; - $51 = $50 ^ 7; - HEAP32[$5>>2] = $51; - _shr($5,1); - $52 = (($4) + ($49<<2)|0); - $53 = HEAP32[$52>>2]|0; - $54 = (0 - ($53))|0; - $55 = (($$169) + ($54)|0); - $56 = (($55) + ($12)|0); - $57 = (($$2) + -1)|0; - _trinkle($56,$2,$3,$5,$57,1,$4); - _shl($5,1); - $58 = HEAP32[$5>>2]|0; - $59 = $58 | 1; - HEAP32[$5>>2] = $59; - $60 = (($$169) + ($12)|0); - _trinkle($60,$2,$3,$5,$49,1,$4); - $$169 = $60;$$2 = $49;$43 = $59; - continue; - } - } - $47 = (_pntz($5)|0); - _shr($5,$47); - $48 = (($47) + ($$2))|0; - $$pre$pre = HEAP32[$5>>2]|0; - $$pre76 = (($$169) + ($12)|0); - $$169 = $$pre76;$$2 = $48;$43 = $$pre$pre; - } - } - } while(0); - STACKTOP = sp;return; -} -function _sift($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$029$be = 0, $$02932 = 0, $$030$be = 0, $$03031 = 0, $$033 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); - $5 = sp; - HEAP32[$5>>2] = $0; - $6 = ($3|0)>(1); - L1: do { - if ($6) { - $7 = (0 - ($1))|0; - $$02932 = $0;$$03031 = $3;$$033 = 1;$14 = $0; - while(1) { - $8 = (($$02932) + ($7)|0); - $9 = (($$03031) + -2)|0; - $10 = (($4) + ($9<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (0 - ($11))|0; - $13 = (($8) + ($12)|0); - $15 = (FUNCTION_TABLE_iii[$2 & 3]($14,$13)|0); - $16 = ($15|0)>(-1); - if ($16) { - $17 = (FUNCTION_TABLE_iii[$2 & 3]($14,$8)|0); - $18 = ($17|0)>(-1); - if ($18) { - $$0$lcssa = $$033; - break L1; - } - } - $19 = (FUNCTION_TABLE_iii[$2 & 3]($13,$8)|0); - $20 = ($19|0)>(-1); - $21 = (($$033) + 1)|0; - $22 = (($5) + ($$033<<2)|0); - if ($20) { - HEAP32[$22>>2] = $13; - $23 = (($$03031) + -1)|0; - $$029$be = $13;$$030$be = $23; - } else { - HEAP32[$22>>2] = $8; - $$029$be = $8;$$030$be = $9; - } - $24 = ($$030$be|0)>(1); - if (!($24)) { - $$0$lcssa = $21; - break L1; - } - $$pre = HEAP32[$5>>2]|0; - $$02932 = $$029$be;$$03031 = $$030$be;$$033 = $21;$14 = $$pre; - } - } else { - $$0$lcssa = 1; - } - } while(0); - _cycle($1,$5,$$0$lcssa); - STACKTOP = sp;return; -} -function _shr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(31); - $3 = ((($0)) + 4|0); - if ($2) { - $4 = (($1) + -32)|0; - $5 = HEAP32[$3>>2]|0; - HEAP32[$0>>2] = $5; - HEAP32[$3>>2] = 0; - $$0 = $4;$10 = 0;$7 = $5; - } else { - $$pre = HEAP32[$0>>2]|0; - $$pre11 = HEAP32[$3>>2]|0; - $$0 = $1;$10 = $$pre11;$7 = $$pre; - } - $6 = $7 >>> $$0; - $8 = (32 - ($$0))|0; - $9 = $10 << $8; - $11 = $9 | $6; - HEAP32[$0>>2] = $11; - $12 = $10 >>> $$0; - HEAP32[$3>>2] = $12; - return; -} -function _trinkle($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$0$lcssa = 0, $$045$lcssa = 0, $$04551 = 0, $$0455780 = 0, $$046$lcssa = 0, $$04653 = 0, $$0465681 = 0, $$047$lcssa = 0, $$0475582 = 0, $$049 = 0, $$05879 = 0, $$05879$phi = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); - $7 = sp + 232|0; - $8 = sp; - $9 = HEAP32[$3>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($3)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($7)) + 4|0); - HEAP32[$12>>2] = $11; - HEAP32[$8>>2] = $0; - $13 = ($9|0)!=(1); - $14 = ($11|0)!=(0); - $15 = $13 | $14; - L1: do { - if ($15) { - $16 = (0 - ($1))|0; - $17 = (($6) + ($4<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = (0 - ($18))|0; - $20 = (($0) + ($19)|0); - $21 = (FUNCTION_TABLE_iii[$2 & 3]($20,$0)|0); - $22 = ($21|0)<(1); - if ($22) { - $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; - label = 9; - } else { - $phitmp = ($5|0)==(0); - $$0455780 = 1;$$0465681 = $4;$$0475582 = $phitmp;$$05879 = $0;$28 = $20; - while(1) { - $23 = ($$0465681|0)>(1); - $or$cond = $$0475582 & $23; - if ($or$cond) { - $24 = (($$05879) + ($16)|0); - $25 = (($$0465681) + -2)|0; - $26 = (($6) + ($25<<2)|0); - $27 = HEAP32[$26>>2]|0; - $29 = (FUNCTION_TABLE_iii[$2 & 3]($24,$28)|0); - $30 = ($29|0)>(-1); - if ($30) { - $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; - label = 10; - break L1; - } - $31 = (0 - ($27))|0; - $32 = (($24) + ($31)|0); - $33 = (FUNCTION_TABLE_iii[$2 & 3]($32,$28)|0); - $34 = ($33|0)>(-1); - if ($34) { - $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; - label = 10; - break L1; - } - } - $35 = (($$0455780) + 1)|0; - $36 = (($8) + ($$0455780<<2)|0); - HEAP32[$36>>2] = $28; - $37 = (_pntz($7)|0); - _shr($7,$37); - $38 = (($37) + ($$0465681))|0; - $39 = HEAP32[$7>>2]|0; - $40 = ($39|0)!=(1); - $41 = HEAP32[$12>>2]|0; - $42 = ($41|0)!=(0); - $43 = $40 | $42; - if (!($43)) { - $$04551 = $35;$$04653 = $38;$$049 = $28; - label = 10; - break L1; - } - $$pre = HEAP32[$8>>2]|0; - $44 = (($6) + ($38<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = (0 - ($45))|0; - $47 = (($28) + ($46)|0); - $48 = (FUNCTION_TABLE_iii[$2 & 3]($47,$$pre)|0); - $49 = ($48|0)<(1); - if ($49) { - $$0$lcssa = $28;$$045$lcssa = $35;$$046$lcssa = $38;$$047$lcssa = 0; - label = 9; - break; - } else { - $$05879$phi = $28;$$0455780 = $35;$$0465681 = $38;$$0475582 = 1;$28 = $47;$$05879 = $$05879$phi; - } - } - } - } else { - $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; - label = 9; - } - } while(0); - if ((label|0) == 9) { - $50 = ($$047$lcssa|0)==(0); - if ($50) { - $$04551 = $$045$lcssa;$$04653 = $$046$lcssa;$$049 = $$0$lcssa; - label = 10; - } - } - if ((label|0) == 10) { - _cycle($1,$8,$$04551); - _sift($$049,$1,$2,$$04653,$6); - } - STACKTOP = sp;return; -} -function _shl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(31); - $3 = ((($0)) + 4|0); - if ($2) { - $4 = (($1) + -32)|0; - $5 = HEAP32[$0>>2]|0; - HEAP32[$3>>2] = $5; - HEAP32[$0>>2] = 0; - $$0 = $4;$10 = 0;$7 = $5; - } else { - $$pre = HEAP32[$3>>2]|0; - $$pre11 = HEAP32[$0>>2]|0; - $$0 = $1;$10 = $$pre11;$7 = $$pre; - } - $6 = $7 << $$0; - $8 = (32 - ($$0))|0; - $9 = $10 >>> $8; - $11 = $9 | $6; - HEAP32[$3>>2] = $11; - $12 = $10 << $$0; - HEAP32[$0>>2] = $12; - return; -} -function _pntz($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + -1)|0; - $3 = (_a_ctz_l_763($2)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_a_ctz_l_763($6)|0); - $8 = (($7) + 32)|0; - $9 = ($7|0)==(0); - $$ = $9 ? 0 : $8; - return ($$|0); - } else { - return ($3|0); - } - return (0)|0; -} -function _a_ctz_l_763($0) { - $0 = $0|0; - var $$068 = 0, $$07 = 0, $$09 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0); - if ($1) { - $$07 = 32; - } else { - $2 = $0 & 1; - $3 = ($2|0)==(0); - if ($3) { - $$068 = $0;$$09 = 0; - while(1) { - $4 = (($$09) + 1)|0; - $5 = $$068 >>> 1; - $6 = $5 & 1; - $7 = ($6|0)==(0); - if ($7) { - $$068 = $5;$$09 = $4; - } else { - $$07 = $4; - break; - } - } - } else { - $$07 = 0; - } - } - return ($$07|0); -} -function _cycle($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$02527 = 0, $$026 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $3 = sp; - $4 = ($2|0)<(2); - L1: do { - if (!($4)) { - $5 = (($1) + ($2<<2)|0); - HEAP32[$5>>2] = $3; - $6 = ($0|0)==(0); - if (!($6)) { - $$02527 = $0;$10 = $3; - while(1) { - $7 = ($$02527>>>0)<(256); - $8 = $7 ? $$02527 : 256; - $9 = HEAP32[$1>>2]|0; - _memcpy(($10|0),($9|0),($8|0))|0; - $$026 = 0; - while(1) { - $11 = (($1) + ($$026<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($$026) + 1)|0; - $14 = (($1) + ($13<<2)|0); - $15 = HEAP32[$14>>2]|0; - _memcpy(($12|0),($15|0),($8|0))|0; - $16 = HEAP32[$11>>2]|0; - $17 = (($16) + ($8)|0); - HEAP32[$11>>2] = $17; - $exitcond = ($13|0)==($2|0); - if ($exitcond) { - break; - } else { - $$026 = $13; - } - } - $18 = (($$02527) - ($8))|0; - $19 = ($18|0)==(0); - if ($19) { - break L1; - } - $$pre = HEAP32[$5>>2]|0; - $$02527 = $18;$10 = $$pre; - } - } - } - } while(0); - STACKTOP = sp;return; -} -function _strlen($0) { - $0 = $0|0; - var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1 & 3; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $$015$lcssa = $0; - label = 4; - } else { - $$01519 = $0;$23 = $1; - while(1) { - $4 = HEAP8[$$01519>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - $$sink = $23; - break L1; - } - $6 = ((($$01519)) + 1|0); - $7 = $6; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if ($9) { - $$015$lcssa = $6; - label = 4; - break; - } else { - $$01519 = $6;$23 = $7; - } - } - } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; - while(1) { - $10 = HEAP32[$$0>>2]|0; - $11 = (($10) + -16843009)|0; - $12 = $10 & -2139062144; - $13 = $12 ^ -2139062144; - $14 = $13 & $11; - $15 = ($14|0)==(0); - $16 = ((($$0)) + 4|0); - if ($15) { - $$0 = $16; - } else { - break; - } - } - $17 = $10&255; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$1$lcssa = $$0; - } else { - $$pn = $$0; - while(1) { - $19 = ((($$pn)) + 1|0); - $$pre = HEAP8[$19>>0]|0; - $20 = ($$pre<<24>>24)==(0); - if ($20) { - $$1$lcssa = $19; - break; - } else { - $$pn = $19; - } - } - } - $21 = $$1$lcssa; - $$sink = $21; - } - $22 = (($$sink) - ($1))|0; - return ($22|0); -} -function _strchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function _fputs($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (_fwrite($0,1,$2,$1)|0); - $not$ = ($3|0)!=($2|0); - $4 = $not$ << 31 >> 31; - return ($4|0); -} -function _fwrite($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = ($1|0)==(0); - $$ = $5 ? 0 : $2; - $6 = ((($3)) + 76|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(-1); - if ($8) { - $10 = (___lockfile($3)|0); - $phitmp = ($10|0)==(0); - $11 = (___fwritex($0,$4,$3)|0); - if ($phitmp) { - $13 = $11; - } else { - ___unlockfile($3); - $13 = $11; - } - } else { - $9 = (___fwritex($0,$4,$3)|0); - $13 = $9; - } - $12 = ($13|0)==($4|0); - if ($12) { - $15 = $$; - } else { - $14 = (($13>>>0) / ($1>>>0))&-1; - $15 = $14; - } - return ($15|0); -} -function ___overflow($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - $3 = $1&255; - HEAP8[$2>>0] = $3; - $4 = ((($0)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - $7 = (___towrite($0)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$4>>2]|0; - $12 = $$pre; - label = 4; - } else { - $$0 = -1; - } - } else { - $12 = $5; - label = 4; - } - do { - if ((label|0) == 4) { - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10>>>0)<($12>>>0); - if ($11) { - $13 = $1 & 255; - $14 = ((($0)) + 75|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15 << 24 >> 24; - $17 = ($13|0)==($16|0); - if (!($17)) { - $18 = ((($10)) + 1|0); - HEAP32[$9>>2] = $18; - HEAP8[$10>>0] = $3; - $$0 = $13; - break; - } - } - $19 = ((($0)) + 36|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_iiii[$20 & 15]($0,$2,1)|0); - $22 = ($21|0)==(1); - if ($22) { - $23 = HEAP8[$2>>0]|0; - $24 = $23&255; - $$0 = $24; - } else { - $$0 = -1; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((22668|0)); - return (22676|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((22668|0)); - return; -} -function _fflush($0) { - $0 = $0|0; - var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[981]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[981]|0; - $11 = (_fflush($10)|0); - $29 = $11; - } - $12 = (___ofl_lock()|0); - $$02325 = HEAP32[$12>>2]|0; - $13 = ($$02325|0)==(0|0); - if ($13) { - $$024$lcssa = $29; - } else { - $$02327 = $$02325;$$02426 = $29; - while(1) { - $14 = ((($$02327)) + 76|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(-1); - if ($16) { - $17 = (___lockfile($$02327)|0); - $26 = $17; - } else { - $26 = 0; - } - $18 = ((($$02327)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($$02327)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($19>>>0)>($21>>>0); - if ($22) { - $23 = (___fflush_unlocked($$02327)|0); - $24 = $23 | $$02426; - $$1 = $24; - } else { - $$1 = $$02426; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___unlockfile($$02327); - } - $27 = ((($$02327)) + 56|0); - $$023 = HEAP32[$27>>2]|0; - $28 = ($$023|0)==(0|0); - if ($28) { - $$024$lcssa = $$1; - break; - } else { - $$02327 = $$023;$$02426 = $$1; - } - } - } - ___ofl_unlock(); - $$0 = $$024$lcssa; - } else { - $2 = ((($0)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if (!($4)) { - $5 = (___fflush_unlocked($0)|0); - $$0 = $5; - break; - } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)>($4>>>0); - if ($5) { - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - $15 = $11; - $16 = $13; - $17 = (($15) - ($16))|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); - } - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$3>>2] = 0; - HEAP32[$1>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 15320; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _puts($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[949]|0; - $2 = ((($1)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if ($4) { - $5 = (___lockfile($1)|0); - $21 = $5; - } else { - $21 = 0; - } - $6 = (_fputs($0,$1)|0); - $7 = ($6|0)<(0); - do { - if ($7) { - $19 = 1; - } else { - $8 = ((($1)) + 75|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(10); - if (!($10)) { - $11 = ((($1)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($1)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($12>>>0)<($14>>>0); - if ($15) { - $16 = ((($12)) + 1|0); - HEAP32[$11>>2] = $16; - HEAP8[$12>>0] = 10; - $19 = 0; - break; - } - } - $17 = (___overflow($1,10)|0); - $phitmp = ($17|0)<(0); - $19 = $phitmp; - } - } while(0); - $18 = $19 << 31 >> 31; - $20 = ($21|0)==(0); - if (!($20)) { - ___unlockfile($1); - } - return ($18|0); -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[949]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = HEAP32[5670]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[5670] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[5670] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[5670] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[5670] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function runPostSets() { -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; - end = (ptr + num)|0; - - value = value & 0xff; - if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { - while ((ptr&3) != 0) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - - aligned_end = (end & -4)|0; - block_aligned_end = (aligned_end - 64)|0; - value4 = value | (value << 8) | (value << 16) | (value << 24); - - while((ptr|0) <= (block_aligned_end|0)) { - HEAP32[((ptr)>>2)]=value4; - HEAP32[(((ptr)+(4))>>2)]=value4; - HEAP32[(((ptr)+(8))>>2)]=value4; - HEAP32[(((ptr)+(12))>>2)]=value4; - HEAP32[(((ptr)+(16))>>2)]=value4; - HEAP32[(((ptr)+(20))>>2)]=value4; - HEAP32[(((ptr)+(24))>>2)]=value4; - HEAP32[(((ptr)+(28))>>2)]=value4; - HEAP32[(((ptr)+(32))>>2)]=value4; - HEAP32[(((ptr)+(36))>>2)]=value4; - HEAP32[(((ptr)+(40))>>2)]=value4; - HEAP32[(((ptr)+(44))>>2)]=value4; - HEAP32[(((ptr)+(48))>>2)]=value4; - HEAP32[(((ptr)+(52))>>2)]=value4; - HEAP32[(((ptr)+(56))>>2)]=value4; - HEAP32[(((ptr)+(60))>>2)]=value4; - ptr = (ptr + 64)|0; - } - - while ((ptr|0) < (aligned_end|0) ) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - // The remaining bytes. - while ((ptr|0) < (end|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (end-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - var aligned_dest_end = 0; - var block_aligned_dest_end = 0; - var dest_end = 0; - // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. - if ((num|0) >= - 8192 - ) { - return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - } - - ret = dest|0; - dest_end = (dest + num)|0; - if ((dest&3) == (src&3)) { - // The initial unaligned < 4-byte front. - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - aligned_dest_end = (dest_end & -4)|0; - block_aligned_dest_end = (aligned_dest_end - 64)|0; - while ((dest|0) <= (block_aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); - HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); - HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); - HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); - HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); - HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); - HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); - HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); - HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); - HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); - HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); - HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); - HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); - HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); - HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); - dest = (dest+64)|0; - src = (src+64)|0; - } - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } else { - // In the unaligned copy case, unroll a bit as well. - aligned_dest_end = (dest_end - 4)|0; - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); - HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); - HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } - // The remaining unaligned < 4 byte tail. - while ((dest|0) < (dest_end|0)) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _sbrk(increment) { - increment = increment|0; - var oldDynamicTop = 0; - var oldDynamicTopOnChange = 0; - var newDynamicTop = 0; - var totalMemory = 0; - increment = ((increment + 15) & -16)|0; - oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; - newDynamicTop = oldDynamicTop + increment | 0; - - if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. - | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. - abortOnCannotGrowMemory()|0; - ___setErrNo(12); - return -1; - } - - HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; - totalMemory = getTotalMemory()|0; - if ((newDynamicTop|0) > (totalMemory|0)) { - if ((enlargeMemory()|0) == 0) { - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - ___setErrNo(12); - return -1; - } - } - return oldDynamicTop|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _llvm_bswap_i32(x) { - x = x|0; - return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; -} - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&63](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_par_shapes__cylinder,_par_shapes__sphere,_par_shapes__hemisphere,_par_shapes__torus,_par_shapes__trefoil,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11,b11 -,b11,b11,b11,b11,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_par_shapes__cmp1,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _llvm_bswap_i32: _llvm_bswap_i32, _roundf: _roundf, _main: _main, dynCall_i: dynCall_i, stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, dynCall_vidddd: dynCall_vidddd, setThrew: setThrew, dynCall_viii: dynCall_viii, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, dynCall_iii: dynCall_iii, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, dynCall_vd: dynCall_vd, dynCall_vii: dynCall_vii, ___uremdi3: ___uremdi3, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_viiiiiii: dynCall_viiiiiii, getTempRet0: getTempRet0, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, dynCall_viid: dynCall_viid, dynCall_ii: dynCall_ii, _emscripten_GetProcAddress: _emscripten_GetProcAddress, dynCall_viiii: dynCall_viiii, ___errno_location: ___errno_location, dynCall_viiiii: dynCall_viiiii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, _memmove: _memmove, _strstr: _strstr, stackRestore: stackRestore, _malloc: _malloc, dynCall_vdi: dynCall_vdi, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__llvm_bswap_i32.apply(null, arguments); -}; - -var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__roundf.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackSave.apply(null, arguments); -}; - -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_getTempRet0.apply(null, arguments); -}; - -var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____udivdi3.apply(null, arguments); -}; - -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setThrew.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__fflush.apply(null, arguments); -}; - -var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__sbrk.apply(null, arguments); -}; - -var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackAlloc.apply(null, arguments); -}; - -var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____uremdi3.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setTempRet0.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_GetProcAddress.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____errno_location.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__free.apply(null, arguments); -}; - -var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_establishStackSpace.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strstr.apply(null, arguments); -}; - -var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackRestore.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__malloc.apply(null, arguments); -}; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - - -/** - * @constructor - * @extends {Error} - */ -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 initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - Module.printErr('exception thrown: ' + toLog); - Module['quit'](1, e); - } - } finally { - calledMain = true; - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - writeStackCookie(); - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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(); - } - checkStackCookie(); -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - process['exit'](status); - } - Module['quit'](status, new ExitStatus(status)); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/examples/web/models/models_mesh_picking.c b/examples/web/models/models_mesh_picking.c index 3a85221..9a0400b 100644 --- a/examples/web/models/models_mesh_picking.c +++ b/examples/web/models/models_mesh_picking.c @@ -19,10 +19,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -59,19 +55,11 @@ void UpdateDrawFrame(void); // Update and Draw one frame //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - 3d mesh picking"); -#endif // Define the camera to look into our 3d world camera.position = (Vector3){ 10.0f, 8.0f, 10.0f }; // Camera position @@ -110,9 +98,8 @@ int main(void) CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_mesh_picking.data b/examples/web/models/models_mesh_picking.data deleted file mode 100644 index 3e8be3b..0000000 --- a/examples/web/models/models_mesh_picking.data +++ /dev/null @@ -1,554 +0,0 @@ -# Blender v2.78 (sub 0) OBJ File: 'lowpoly-tower.blend' -# www.blender.org -o Grid -v -4.000000 0.000000 4.000000 -v -2.327363 0.000000 4.654725 -v 0.000000 0.000000 4.654725 -v 2.327363 0.000000 4.654725 -v 4.000000 0.000000 4.000000 -v -4.654725 0.955085 2.327363 -v -2.000000 0.815050 2.000000 -v 0.000000 0.476341 2.423448 -v 2.000000 0.476341 2.000000 -v 4.654725 0.000000 2.327363 -v -4.654725 1.649076 0.000000 -v -2.423448 1.092402 0.000000 -v 2.423448 0.198579 0.000000 -v 4.654725 0.000000 0.000000 -v -4.654725 1.649076 -2.327363 -v -2.000000 1.092402 -2.000000 -v 0.000000 0.476341 -2.423448 -v 2.000000 -0.012791 -2.000000 -v 4.654725 0.000000 -2.612731 -v -4.000000 0.955085 -4.000000 -v -2.327363 0.955085 -4.654725 -v 0.000000 0.955085 -4.654725 -v 2.327363 0.000000 -4.654725 -v 4.000000 0.000000 -4.000000 -v 2.423448 0.682825 0.000000 -v 2.000000 0.565423 -2.000000 -v -4.654725 -0.020560 2.327363 -v -4.654725 0.000000 0.000000 -v -4.654725 0.000000 -2.327363 -v -4.000000 0.000000 -4.000000 -v -2.327363 0.000000 -4.654725 -v 0.000000 -0.020560 -4.654725 -v 0.000000 0.709880 -1.230535 -v -0.000000 7.395413 0.000000 -v 0.962071 0.709880 -0.767226 -v -0.533909 0.709880 1.108674 -v -1.199683 0.709880 0.273820 -v -0.962071 0.709880 -0.767226 -v 1.506076 0.859071 1.325337 -v 1.199683 0.709880 0.273820 -v 0.533909 0.709880 1.108674 -v 0.000000 1.875340 -1.177842 -v -0.000000 2.293973 -0.649884 -v -0.000000 4.365648 -0.627970 -v 0.000000 6.167194 -0.942957 -v 0.000000 6.232434 -1.708677 -v 1.335898 6.232434 -1.065343 -v 0.737233 6.167195 -0.587924 -v 0.490966 4.365648 -0.391533 -v 0.508100 2.293973 -0.405196 -v 0.920874 1.875340 -0.734372 -v -0.741367 6.232434 1.539465 -v -0.409133 6.167195 0.849574 -v -0.272466 4.365648 0.565781 -v -0.281974 2.293973 0.585526 -v -0.511047 1.875340 1.061199 -v -1.665837 6.232434 0.380217 -v -0.919314 6.167195 0.209828 -v -0.612225 4.365648 0.139736 -v -0.633590 2.293973 0.144613 -v -1.148311 1.875340 0.262095 -v -1.335898 6.232434 -1.065343 -v -0.737233 6.167195 -0.587924 -v -0.490967 4.365648 -0.391533 -v -0.508100 2.293973 -0.405196 -v -0.920874 1.875340 -0.734372 -v 1.665837 6.232434 0.380216 -v 0.919315 6.167195 0.209828 -v 0.612225 4.365648 0.139736 -v 0.633590 2.293973 0.144613 -v 1.148311 1.875340 0.262095 -v 0.741367 6.232434 1.539465 -v 0.409133 6.167195 0.849575 -v 0.272466 4.365648 0.565781 -v 0.281974 2.293973 0.585526 -v 0.511046 1.875340 1.061199 -v 0.000000 5.012550 -0.969733 -v 0.758168 5.012550 -0.604618 -v -0.420751 5.012550 0.873699 -v -0.945419 5.012550 0.215786 -v -0.758168 5.012550 -0.604618 -v 0.945419 5.012550 0.215786 -v 0.420751 5.012550 0.873699 -vt 0.0523 0.5444 -vt 0.1817 0.4284 -vt 0.1641 0.5859 -vt 0.0177 0.4451 -vt 0.1526 0.3090 -vt 0.0189 0.1737 -vt 0.0188 0.3088 -vt 0.0561 0.0762 -vt 0.1757 0.1924 -vt 0.3024 0.4534 -vt 0.3071 0.5902 -vt 0.3413 0.2459 -vt 0.2906 0.1614 -vt 0.4116 0.1801 -vt 0.2834 0.3774 -vt 0.1526 0.0362 -vt 0.2917 0.1622 -vt 0.4446 0.5865 -vt 0.4443 0.2989 -vt 0.3711 0.3021 -vt 0.4396 0.0275 -vt 0.4094 0.1829 -vt 0.4219 0.4255 -vt 0.5474 0.5381 -vt 0.5811 0.4376 -vt 0.5715 0.1505 -vt 0.5811 0.2997 -vt 0.5272 0.0533 -vt 0.2208 0.2194 -vt 0.3456 0.3610 -vt 0.2878 0.0321 -vt 0.2321 0.3392 -vt 0.4432 0.0177 -vt 0.7347 0.7934 -vt 0.7382 0.7595 -vt 0.8982 0.7768 -vt 0.6169 0.7595 -vt 0.6139 0.7879 -vt 0.4951 0.7634 -vt 0.1551 0.6832 -vt 0.2925 0.6268 -vt 0.2925 0.6832 -vt 0.7795 0.6832 -vt 0.6421 0.6268 -vt 0.7795 0.6255 -vt 0.5046 0.7241 -vt 0.6421 0.7241 -vt 0.3986 0.6268 -vt 0.3986 0.6832 -vt 0.5046 0.6268 -vt 0.0177 0.6268 -vt 0.1551 0.6255 -vt 0.8856 0.6268 -vt 0.1899 0.9579 -vt 0.1194 0.8696 -vt 0.2324 0.8696 -vt 0.1899 0.7813 -vt 0.0943 0.7595 -vt 0.0177 0.8206 -vt 0.0177 0.9186 -vt 0.0943 0.9797 -vt 0.2793 0.2349 -vt 0.2304 0.2758 -vt 0.6597 0.0177 -vt 0.6954 0.0993 -vt 0.6367 0.0768 -vt 0.7558 0.0777 -vt 0.7238 0.0440 -vt 0.8840 0.1330 -vt 0.7385 0.1141 -vt 0.9157 0.0886 -vt 0.9781 0.1232 -vt 0.9224 0.1276 -vt 0.2677 0.8141 -vt 0.3463 0.8037 -vt 0.3086 0.8339 -vt 0.6387 0.3550 -vt 0.7130 0.3801 -vt 0.6596 0.4053 -vt 0.7245 0.3245 -vt 0.6919 0.3383 -vt 0.8655 0.3566 -vt 0.7351 0.3577 -vt 0.9770 0.3365 -vt 0.9078 0.3751 -vt 0.9174 0.3282 -vt 0.2677 0.9018 -vt 0.3086 0.8821 -vt 0.6803 0.2948 -vt 0.6251 0.3035 -vt 0.7194 0.2854 -vt 0.8764 0.2832 -vt 0.9221 0.2861 -vt 0.3363 0.9565 -vt 0.3464 0.9122 -vt 0.6751 0.2482 -vt 0.6178 0.2499 -vt 0.7179 0.2431 -vt 0.9823 0.2484 -vt 0.9247 0.2452 -vt 0.3935 0.9014 -vt 0.6755 0.1996 -vt 0.6164 0.1941 -vt 0.7201 0.1992 -vt 0.8793 0.2446 -vt 0.9823 0.2060 -vt 0.9257 0.2051 -vt 0.4598 0.8580 -vt 0.4144 0.8579 -vt 0.6819 0.1498 -vt 0.6222 0.1361 -vt 0.7266 0.1555 -vt 0.8831 0.1684 -vt 0.9252 0.1659 -vt 0.4218 0.7790 -vt 0.3934 0.8145 -vt 0.3363 0.7595 -vt 0.8815 0.2060 -vt 0.8720 0.3208 -vt 0.8825 0.1012 -vt 0.9735 0.0816 -vt 0.9718 0.3817 -vt 0.9807 0.2918 -vt 0.4218 0.9370 -vt 0.9810 0.1644 -vn 0.1035 0.8806 0.4623 -vn 0.0964 0.9481 0.3030 -vn 0.0000 0.9780 0.2088 -vn 0.0659 0.9835 0.1683 -vn 0.2325 0.9320 0.2779 -vn 0.0553 0.9960 -0.0702 -vn 0.2827 0.9564 0.0728 -vn 0.1873 0.9776 -0.0961 -vn 0.2421 0.9703 0.0000 -vn 0.0921 0.9772 -0.1913 -vn -0.0277 0.9947 -0.0993 -vn 0.2308 0.9274 -0.2944 -vn 0.2771 0.9572 -0.0837 -vn 0.3724 0.9074 0.1947 -vn 0.0777 0.9770 -0.1985 -vn -0.1094 0.9539 0.2794 -vn 0.0364 0.9844 0.1721 -vn 0.1683 0.9835 0.0659 -vn 0.0674 0.9901 0.1230 -vn 0.4338 0.8823 0.1829 -vn 0.2845 0.9565 0.0649 -vn 0.0886 0.9961 0.0000 -vn 0.2000 0.9789 0.0424 -vn 0.1417 0.9830 0.1171 -vn 0.3021 0.9524 0.0412 -vn -0.0193 0.9986 -0.0493 -vn 0.0000 0.9777 0.2098 -vn 0.0005 0.9781 -0.2083 -vn 0.1879 0.9782 -0.0887 -vn 0.2249 0.0000 0.9744 -vn 0.9783 0.0000 -0.2071 -vn 0.9783 0.0000 0.2071 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 -vn -0.3645 0.0000 -0.9312 -vn -0.9312 0.0000 -0.3645 -vn -0.9312 0.0000 0.3645 -vn 0.2615 0.7979 -0.5431 -vn 0.5877 0.7979 -0.1341 -vn 0.4713 0.7979 0.3758 -vn -0.0000 0.7979 0.6028 -vn -0.4713 0.7979 0.3758 -vn -0.5877 0.7979 -0.1341 -vn -0.2615 0.7979 -0.5431 -vn -0.1285 0.9864 -0.1025 -vn 0.0929 0.8937 0.4389 -vn -0.4335 0.0407 -0.9002 -vn -0.2867 0.7507 -0.5952 -vn -0.4339 0.0095 -0.9009 -vn -0.4338 0.0209 -0.9008 -vn -0.0408 -0.9956 -0.0848 -vn -0.9741 0.0407 -0.2223 -vn -0.6441 0.7507 -0.1470 -vn -0.9749 0.0095 -0.2225 -vn -0.9747 0.0209 -0.2225 -vn -0.0918 -0.9956 -0.0209 -vn -0.7812 0.0407 0.6230 -vn -0.5165 0.7507 0.4119 -vn -0.7818 0.0095 0.6235 -vn -0.7817 0.0209 0.6234 -vn -0.0736 -0.9956 0.0587 -vn -0.0000 0.0407 0.9992 -vn 0.0000 0.7507 0.6607 -vn 0.0000 0.0095 1.0000 -vn -0.0000 0.0209 0.9998 -vn -0.0000 -0.9956 0.0941 -vn 0.7812 0.0407 0.6230 -vn 0.5165 0.7507 0.4119 -vn 0.7818 0.0095 0.6235 -vn 0.7817 0.0209 0.6234 -vn 0.0736 -0.9956 0.0587 -vn 0.9741 0.0407 -0.2223 -vn 0.6441 0.7507 -0.1470 -vn 0.9749 0.0095 -0.2225 -vn 0.9747 0.0209 -0.2225 -vn 0.0918 -0.9956 -0.0209 -vn 0.4335 0.0407 -0.9002 -vn 0.2867 0.7507 -0.5952 -vn 0.4339 0.0095 -0.9009 -vn 0.4338 0.0209 -0.9008 -vn 0.0408 -0.9956 -0.0848 -vn 0.3918 -0.4298 -0.8135 -vn 0.8803 -0.4298 -0.2009 -vn 0.7059 -0.4298 0.5630 -vn -0.0000 -0.4298 0.9029 -vn -0.7059 -0.4298 0.5630 -vn -0.8803 -0.4298 -0.2009 -vn -0.3918 -0.4298 -0.8135 -vn 0.0210 0.9998 -0.0048 -vn 0.0482 0.9981 -0.0385 -vn -0.0166 0.9914 -0.1301 -vn -0.0090 0.9904 -0.1379 -vn 0.2820 0.9576 0.0597 -vn -0.0000 0.9846 0.1749 -vn -0.0921 0.9772 -0.1913 -vn -0.1734 0.9794 0.1036 -s off -f 1/1/1 7/2/1 6/3/1 -f 2/4/2 8/5/2 7/2/2 -f 4/6/3 8/5/3 3/7/3 -f 5/8/4 9/9/4 4/6/4 -f 6/3/5 12/10/5 11/11/5 -f 35/12/6 25/13/6 26/14/6 -f 7/2/7 37/15/7 12/10/7 -f 10/16/8 13/17/8 9/9/8 -f 12/10/9 15/18/9 11/11/9 -f 35/12/10 17/19/10 33/20/10 -f 13/17/11 19/21/11 18/22/11 -f 16/23/12 20/24/12 15/18/12 -f 17/19/13 21/25/13 16/23/13 -f 17/19/14 23/26/14 22/27/14 -f 26/14/15 24/28/15 23/26/15 -f 1/1/16 2/4/16 7/2/16 -f 2/4/3 3/7/3 8/5/3 -f 4/6/17 9/9/17 8/5/17 -f 5/8/18 10/16/18 9/9/18 -f 6/3/19 7/2/19 12/10/19 -f 25/13/20 39/29/20 9/9/20 -f 38/30/21 12/10/21 37/15/21 -f 10/16/22 14/31/22 13/17/22 -f 12/10/23 16/23/23 15/18/23 -f 8/5/24 36/32/24 7/2/24 -f 38/30/25 17/19/25 16/23/25 -f 13/17/22 14/31/22 19/21/22 -f 16/23/26 21/25/26 20/24/26 -f 17/19/27 22/27/27 21/25/27 -f 17/19/28 26/14/28 23/26/28 -f 26/14/29 19/33/29 24/28/29 -f 26/34/30 18/35/30 19/36/30 -f 26/34/31 13/37/31 18/35/31 -f 25/38/32 9/39/32 13/37/32 -f 22/40/33 31/41/33 21/42/33 -f 6/43/34 28/44/34 27/45/34 -f 15/46/34 28/44/34 11/47/34 -f 21/42/35 30/48/35 20/49/35 -f 20/49/36 29/50/36 15/46/36 -f 22/40/33 23/51/33 32/52/33 -f 6/43/37 27/45/37 1/53/37 -f 46/54/38 34/55/38 47/56/38 -f 47/56/39 34/55/39 67/57/39 -f 67/57/40 34/55/40 72/58/40 -f 72/58/41 34/55/41 52/59/41 -f 52/59/42 34/55/42 57/60/42 -f 57/60/43 34/55/43 62/61/43 -f 62/61/44 34/55/44 46/54/44 -f 40/62/45 41/63/45 39/29/45 -f 39/29/46 8/5/46 9/9/46 -f 38/64/47 42/65/47 33/66/47 -f 65/67/48 42/65/48 66/68/48 -f 65/67/49 44/69/49 43/70/49 -f 81/71/50 45/72/50 77/73/50 -f 62/74/51 45/75/51 63/76/51 -f 37/77/52 66/78/52 38/79/52 -f 60/80/53 66/78/53 61/81/53 -f 60/80/54 64/82/54 65/83/54 -f 58/84/55 81/85/55 80/86/55 -f 57/87/56 63/76/56 58/88/56 -f 56/89/57 37/77/57 36/90/57 -f 55/91/58 61/81/58 56/89/58 -f 54/92/59 60/80/59 55/91/59 -f 79/93/60 58/84/60 80/86/60 -f 52/94/61 58/88/61 53/95/61 -f 76/96/62 36/90/62 41/97/62 -f 75/98/63 56/89/63 76/96/63 -f 75/98/64 54/92/64 55/91/64 -f 73/99/65 79/93/65 83/100/65 -f 73/101/66 52/94/66 53/95/66 -f 71/102/67 41/97/67 40/103/67 -f 70/104/68 76/96/68 71/102/68 -f 70/104/69 74/105/69 75/98/69 -f 68/106/70 83/100/70 82/107/70 -f 67/108/71 73/101/71 68/109/71 -f 51/110/72 40/103/72 35/111/72 -f 50/112/73 71/102/73 51/110/73 -f 49/113/74 70/104/74 50/112/74 -f 78/114/75 68/106/75 82/107/75 -f 47/115/76 68/109/76 48/116/76 -f 42/65/77 35/111/77 33/66/77 -f 43/70/78 51/110/78 42/65/78 -f 44/69/79 50/112/79 43/70/79 -f 45/72/80 78/114/80 77/73/80 -f 46/117/81 48/116/81 45/75/81 -f 44/69/82 78/114/82 49/113/82 -f 49/113/83 82/107/83 69/118/83 -f 82/107/84 74/105/84 69/118/84 -f 83/100/85 54/92/85 74/105/85 -f 79/93/86 59/119/86 54/92/86 -f 80/86/87 64/82/87 59/119/87 -f 64/120/88 77/73/88 44/69/88 -f 35/12/89 40/62/89 25/13/89 -f 7/2/90 36/32/90 37/15/90 -f 35/12/91 26/14/91 17/19/91 -f 25/13/92 40/62/92 39/29/92 -f 38/30/93 16/23/93 12/10/93 -f 8/5/94 41/63/94 36/32/94 -f 38/30/95 33/20/95 17/19/95 -f 26/34/31 25/38/31 13/37/31 -f 22/40/33 32/52/33 31/41/33 -f 6/43/34 11/47/34 28/44/34 -f 15/46/34 29/50/34 28/44/34 -f 21/42/35 31/41/35 30/48/35 -f 20/49/36 30/48/36 29/50/36 -f 39/29/96 41/63/96 8/5/96 -f 38/64/47 66/68/47 42/65/47 -f 65/67/48 43/70/48 42/65/48 -f 65/67/49 64/120/49 44/69/49 -f 81/71/50 63/121/50 45/72/50 -f 62/74/51 46/117/51 45/75/51 -f 37/77/52 61/81/52 66/78/52 -f 60/80/53 65/83/53 66/78/53 -f 60/80/54 59/119/54 64/82/54 -f 58/84/55 63/122/55 81/85/55 -f 57/87/56 62/74/56 63/76/56 -f 56/89/57 61/81/57 37/77/57 -f 55/91/58 60/80/58 61/81/58 -f 54/92/59 59/119/59 60/80/59 -f 79/93/60 53/123/60 58/84/60 -f 52/94/61 57/87/61 58/88/61 -f 76/96/62 56/89/62 36/90/62 -f 75/98/63 55/91/63 56/89/63 -f 75/98/64 74/105/64 54/92/64 -f 73/99/65 53/123/65 79/93/65 -f 73/101/66 72/124/66 52/94/66 -f 71/102/67 76/96/67 41/97/67 -f 70/104/68 75/98/68 76/96/68 -f 70/104/69 69/118/69 74/105/69 -f 68/106/70 73/99/70 83/100/70 -f 67/108/71 72/124/71 73/101/71 -f 51/110/72 71/102/72 40/103/72 -f 50/112/73 70/104/73 71/102/73 -f 49/113/74 69/118/74 70/104/74 -f 78/114/75 48/125/75 68/106/75 -f 47/115/76 67/108/76 68/109/76 -f 42/65/77 51/110/77 35/111/77 -f 43/70/78 50/112/78 51/110/78 -f 44/69/79 49/113/79 50/112/79 -f 45/72/80 48/125/80 78/114/80 -f 46/117/81 47/115/81 48/116/81 -f 44/69/82 77/73/82 78/114/82 -f 49/113/83 78/114/83 82/107/83 -f 82/107/84 83/100/84 74/105/84 -f 83/100/85 79/93/85 54/92/85 -f 79/93/86 80/86/86 59/119/86 -f 80/86/87 81/85/87 64/82/87 -f 64/120/88 81/71/88 77/73/88 -‰PNG - - IHDR€€Ã>aËgAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDùC» pHYs  ÒÝ~ü`ÏIDATxÚíýw|ÕÕø¿ïÙ]­$Iq/˜^L %„FB³Mo JBË“'l“„BǸH¶!FèƒcŒ«Ü­.IVï[fæ~ÿ¸3³»’lLyžäùü~çõ²µ;mïÜsîéç\±öÓ‡¥P(”R @‘ô÷K€@€!BH÷¯`óæ-ìܱó°÷:Ê@ -‰aC ‘úŽ›ÓùúÃÁ5×\û¥Æÿÿ*È/¼B4ú?žg}¥9òâßöâ ¼ðoûíÿ$0ä"\ò;›öšå\ôs›´ìóüs/?`~Á½‡A¾ø÷À¢… ¹êê«ÿ­cø"$.ô?ïSot:ßúƱ)ß3.\Ÿò}û=3üÏãæ­êt¿øB\òˆEûÁå8±i9©}+å;¤…‡l!»Fþ¦M›¾”R`˜Æ×R$˜ß*$#߃d"èˆ|<"HF¾‰à EÀ%¤²}Ló?{ÈOþ©}‹ïþü5~ü¥ÿͱR"¥Ôàk¬ü#Aì‘@2òAs‚ÿ4è -ù‡;ÞºB~—sq¸“ÉÈ÷9×ÿœ¼Ú“¡+‚ÉOu4‘¯œ#[­yØ<“÷O.z?Ïÿ Wÿ—…ŽÈ÷à?‘þ7 KÞqÕ{ìß#»=hBHÉè™à‡Zõ‘Hä°\ü¾MfzM)Ç›ÿOÿsÆào£p¸êlã{þoèß4HÑ1ß¹óMá½{gûŸ”ϑڷˆÔ¾EZÎ>GHæ žI¿ÞY‡ýñƒrðàÁCž*÷ À¡¥­”"c&À.MP¥X´Â扅¯ñä¢×yrÑëä½o'½è<ðŸÃ ºRøwü«‚ôY3ù$#»#Dj×%Ëþd‚¨Ú÷*%[ÿJ¿ÞYàÒ?u6!Ç¢­­½ËßÐȇÌp´ã!*ñ ×;Aú „EÒ¶÷íâ˜y–á¾ä‘!߃ÿT"èø½£ÆŸ|¬+¿«c¦4$w,ŒSZaÓ w)åÛ_"@†Â¾5e¿™Ñ=å -èÝ+ hN9^}°!ÊÑHó”¼gòÏ«*x…ŒAg»ŠƒJZýB€jE‘Fë¾wõ!×·à—E¾ÿ)â #Òïz#Ãÿü‡ [»$ºBxG0ò”‰KÀNAöq—R]]$Ÿ¬ ôÌè@mM 9½z±wž~`ä'Õ[,¹-¡v´´µ!…Ä‘ŽOyt D…^ý"ˆR6®2é¤AýQ$Ÿ9ø;,^¡¸ú\þã`Ù²e\~ùå_xíŽÈØGÊüO—,è¼h_¹ÆHù~Á­IùþÖoOJù.ò·|¦®ÍsèÕ'D]«â@~-ÐYñK CÆ]Jey•ÿ=§W/ªö½J¸Ÿ^­í•+>áG”lý+=ží@sS#«WLKK O,|[®ºEïEÉ ÷¤¥½T„Ö}º¿ Hï?åD2LÛ ‰ãŽ™NÛ5>d :„@rõ¹©"¾¤ :{ÖU޽ÿþ -¥¶DZm'ÁÁ|1ä8؎²mP`;¶mƒJŒA&ÓDJ‰”R„!Àˆ³ïîrL W”Q^ÕÄ¡À#‚ŽÈïŠLÃOST7+úåt£u 4—l cðÑ´îÝMûÁå)&àq—úŸ=Ö_KBùk¯\A¸ßÙ„ûM¿ÞY>òö¯àŠÇÏfém&ݺ÷ ©9ñO-zCOÜ€ÓÈ÷ µ=BúÀ“iÛÿ1(EÛ„ûG©¸|¥´íÿûZQ”Z_A.·¹æšŒÁG©~€êê:bÍøß#µoaE>ö¿{«4H™Š$Þ£Gw”£|… õÀjZÛ»¼áŒc Îgð³§qáÙSùÎÙÇrþ¤1¤8ÞÕb L­{ßäÏóÿ…D{¿Ì?„ÔÈÿ&@}¹àÙáàŠã"_ÿ!.H€¦â þ­kWÑmø4ÿ{·áÓ¡Rd¨”pŸs}½ ÌŒî PY]$ˆ Üïll.{LkóÙ99½{ -Z÷ˆÂ§…ôS÷ŸÌ…gO…$…N ‘.;ÿÁy'Þ¨JEiÝ÷>­{ߢmïÛ‰5 7qäÿ‚À76ÑðÒÀ7xâ„fñ݆O£¹$A2TJ19@‚#˜Ý}¹ŸŒh*«ë©¬®÷9Iѳ‡V$3KßÑ—è.§lÛÿ1m6¢TŒ3Æ88NçÙKUð%ˆ .Gðe±üñ¹¿!_êß7I‡Ã½ú -.î+û¾Óåñ+ú$ˆ¾£Â×Õ1±sÇ&uIžã#z 3غvN˜AiUs -)DÑ^Y’‚ìdðÄ@òyïXF¿³q€Wî0Yºt)ÿø4“–H 8QPqmû>åpö©ã‘.U©W½ …@š†ôl}xåÍO½×ÒÿDÂ,DÀ]7ÿˆ#CšôêÕ Ó4| ÚŽíæGpäJ ­° å€e[ÙIJ Ó@JÃ0S”@謯ø}'bR]°–‹¾sd1Ÿ!µ ¨ßMéï^_±…Mú€´ì}–½o$½©–—Úõ¬”ƒRR$,’×ÌÒ1—ñ‹Q— ƒä{õþÓâ…ã.¨CÔ/¦?ä»ç£ˆ¦¬rðï­~€ýP]]ã ·} ÷±óú³Fú€ãQ¶%·WlåŸ>À[жëHx*Aë¾÷ɬã^\àP¹„ wï¾G<¯ZS¤’À‘ƒrßG p…£Àø¦Sãƒ|^}õ5.¾ø"¤i˜˜?ÏäýÛ‡ø%¯ð®ä¿'û“¯÷þfOœ"ï“?{0xÈ`ù×_Þ!nëj[ƒf€"Œ£[’­d>ð$×Äa1ð @Ѻo9B˜apÕ9]§­KCÒ«W/ä—E€Ò"Hüb™#eŽã …dÍš ¬ß°…Í›·}“1¢#B¾'ûö•(Ó0SdÓ>PôouCBö{Ÿ=sÐ;ï]Û^QâßÿΓSž··¼”wÞy‡ÖÖÖ”ãÏ/sÃÎJ镬â(ógYGþ }àÉNp!Èx­ûWê¯2[‡ƒ»`Ý{ô ;+;1w¾0O\l¦OoÚÂT¼÷þ*„X–E$Á²ºIW¥€ÙòÞ¿}ˆOÉîJö -²Æ $Ü7'j!\ßy2„Óºµ -)¸þŠóY¶*îê’Ö½ïº'ahŒÊPJž`ëþ•îÊ׎¥…Ëã "ú–C!__"p€ï¯ö-„à¦ËNgóÚXS$]½M1ûÓyã¥W)h óè‚÷9aˆƒ±-Û¸æGÓqXð×uضE³eã8J»‡]¢8óøQ˜¦dùÇ»±,Eck›N“S[†$É éÕÚµŸ˜8Nj0éØiSø2 ª*÷}!étÅ º"ˆŽÇþ2Cñ½DxùÛÚÔs'…>xÿ]òó;ë~˜O9,[eѺÿý”Óƒ¾å]ˆAZö¾î}ãÖ뾋RJ#ÿœ$äýûõ#ìlî½»beÊwÇqR¢”âšKNbçç‰ÙÔÔ·SÞÖ;8Nc]Ÿï—8ŽBÊ„µm!ã{iñPÕ¥¢5„ãè¨f<gˆLF5–{  ZÚ"Ô´÷ wz¦!ÙצƒCîs Ãt‰Á3ǧá¯Ã¾2t„¿žÙY›±Û¶PŽF~G"Xùþ{lÉÏïüƒBjVœÄþæ¿ô®‹|OYÔù€×|+¨‘¦´‚•âÛLbûG9ŠÑ£GÑÖÚJcS3¹yÁ0 #U4éîèÔ-`D÷6ÍÆ‡½­ÝÜÕ­¹@O»šòÖBŸU{«QÉèqªÚ¢ØÊ¡¾-ŒãØØ¶ƒãØŒÞh4JÏî™Äí8Óà`kj>¥5‚IÇ…B>/Hó×ÐŽ„’‰ÀC~WïŠÇÖŠL"¨>XAMÍA - Š(,êZHЃàùeËÉt.3ÏL Ì«LÉüí ÑÄСC»ôï·µ¶bÛ6õ 45¶ø:@,#·B" Áªפp.¥ñ¸E4ᤧ£…£×±ä°ö³MþuÁ{Ÿ½ï¡PˆÙ¦”Á I¿ǧ¼‹örêrº@À$ -!…8t4ðKÁÅ_täðU@)…í8 -Øq8p œh¤=e õuõ”••¥‚G^j–”tòê}}”^õGm­­457ÛD"jjê|Ðï’—åXÄb1,+ŽmÙ8v(|îeÙ6ñXŒ¸'·ˆD¢DÛcØ -ÒÒÒHO ƒús0pxFg-E·:B"ðüGTþu@kª’ýûЉ´·u9¸¬ì,²²³:t(5µµ444RZRê#ÿËB·ŒL&NOVvöß“ž‘AzF"ç~ôè/ÿ®e¥¥´G¢Äc1ªkk©©IMŸóœˆíþÕQ¹)ç ½ŠŽR|Ht8,xȇÿA(//Ʋb8¶ƒeYGTÙëÀ¨‘#4W(.=¢ßëÞ³;ÙYYdf¤Ó§oÒÓ3Žè¾?=öÄW~ÇŸßþ³”ç$ï»ví¦©±‘ææÊö©½“XPI)qÁ[åžpX8 $#@|ºæ}Ã0éÑ#‹=¾Ø7ž 55UÔÖTaA¥ï—…úºzêêêinn¢¤´ŒáÆ&B¶fìììCÆð_ñG -‡#¶mßAVÏž 8€Ý»öÐØÜLKS –mû"À4 LÓÄ0ÍNp¨Œ Žâ #òÄÊÞH¹Û³×¥‚P'¢8p œÖÖfâñ8ÿ—à釂#!†ŽPXPD}C‘H;iá0ñx !Œ#'ð‰ +äCÐåEID!ÿ#+ý -¾é×_¬…ýó¯t:wßìqþç9‹·ö]Ý(ø*Ä ¥¥e´4·Ð‰¹JöáQx¸´°#"€ÿKðeVùõ¦WOíG¨iˆ¥ ÑC~MC¬Ó}Þu‡»ÿHáë@YY9ÑhÔ÷a$é§ž~Ø{¿Q%ð©§Ÿ#‹ùΕäÁÜvëOè‡Cà¡&뫬òäÕí!¹ãJî -ùá‹®ù"îÐqì_… †rÈsÕÕ•ô>„ë¾!ðøŸŸD†i¥ÜBåÇØº,ìøßù$¯ÞŽP”ŸHŽ9qÚ!Ÿ™ŒÐC!Øãt¼¦#‡éxþ›à Ép("øZàñ??é¶…ûj}<„åoàýâîG|ßó¯t‰ìdHF¼÷ì÷‹Œnuù_Ä9¾È¬ü²p(Nð•8@W,7y’“‘”Œ8 yÉ÷n"õìäs_Eþ~U¢:ܳŽd‡âJ‡‚o’:Á—"€#•µÉÈ>ä%OÂáXöáîïøüÃý®gH”§w<ß×8«ÿ2× -Ùu’®®û¦!™¾P -éGºzï;«öŽœ8‘¿xÅv|Ž–ç‰£ãï{1râ4â ;ôëÿõîë(ÿ»ºîpc9kDSÊØ=ÄW”nN¹¿+ÝÂÃÅ×%„dq`ÌžuÙwuÑŸ{‚µk×ùƒ™6&‡ »¾íž±R²ûð?—Ô‡è+¥¾Jg–z/髯ªHAÀ´19L“ãß 0Í­<ö (%õ¡NÇë«*(©±aW.™(’Çæ‘åœÓÇûǽß‘eDVÔ÷†]u7yL -r´Þþ³½çt…ü¢ü ŒÈŠvùNÞ8¼s×_<šÆÊ­DÉöŸŸ És~ýÅ£ýÏk×®ãÄŽÿZDÐÖÖBFFfg¬Ø’µäŽ+̃¯#ŸµÊ“¶®¾ƒG|º8°Áûá8‰V5R=ÇvRß/Öç=äw¥Hv5ÎäEðEÜ£ã<&s…o‚TWW&t€;wFرcõõuÄã©}G–”Ì.5™‡R²ÎÑÔå}Þñ®®ïÉ_ 'ûuÝ¡®=’gy×é˜;.œ#YH_•©‰G­« òò§ÇžèRq;ܤH)8c˜®žxÑýG<ޝ ?¿ýgßÈïtŒþoŒûëÂÿs®àÿ?9ôîÝï›Ï0 ÝíâHë’ÕWÜw'/Î{ŒAƒ‡é²oÇáŠn'Þ=üƒ:Ôëýñç¿pëîðcîÿÆý)þãÀ³¾2˜†‰4 î}á ¦ï,6n\OmÁÎün§S›’J$Ìž2–Û,áñ«/gñÆ]‰ón»ÿá3&SS´ŸÌ1þ°æïÄ"QâÑ8Ç̘ÀÎíÛ¨/?È)œÙ)3RšŽ­Ó±¯€Ù£G"uÚKõúãú2{ê8oÚÉc×\Éí –pû‚%8@Îè<~õ~š˜‚[]"˜:e*­ -~ÿ³«6rÓÓ¹mþjŠ+‰†æÓŽaÑçÛ‘~}¢ƒ@2sÊQ,ú\§`Ízë˜|ÒtWö'W”ãpùoîw¯Ä¥ÿõ{Âá @ÑÞÖêZÿwápÈåeE©ú´<ºöo˜Á€O³§ŒãÖ¹ q°ÑÍ’Y“ÇøDP¤œtî Ý}Iòó·ÐTY¯kýæÜÍ¢»´n°As€Í›ÖSSP¡•=±KçÞI}«Vú®¿w~Êœ??÷r?LxŤ”ºžÏ|òÎ*”ã LÉóÞÀïs?Ðà(Š }$7UÔŠ ÇO¥´¬Dw¦stAGs•»CIï,ýõïñ;y¹¥Ú‘H›î÷÷N_„ü. `Þê¿ ˜Áf0à#ù¶KAÀŸ=pçnÚÂ5ñ.õŸoi§¶¸Šd™l¤i•cÙÜ»Ám/hÎQSTŽF:À÷>J¯Ñý‰4¸½„KVÊ¡¾ü (½òÁÕ]\ÂÙµ{§¿³©pK¨šÔ¸mu?!„Ö?Åön9†ËÍZ6¢l›1SuW“¹×ü,ùÞ_¥±Xä?–Žù)pÙ“÷ø'Nœì¯ÄgGîæ]š\O2Õ/à$ Å -Ø´~‚ÊüR̽¥lîžÿþpý¹oÉë‰{îʇ¥ßÁâ »™=íh.¿÷€"ÞE8ù¼3ýn;wo§®ô >~ÁÙHt5®°}ûVw‰M%÷ê=‰ËFÙº'Ñ AƒÙµakBìU;fÊx¤!QŽbîµ·v‰|¿±RÄbÑ#+ØøC~ -ˆmà®ç½ý0nüD¤”ÜxÚ±)D0eÒT¿bkÖ”±>Ø´q#¨.8€ÝeÁÜ[È[[€‚+ŽMî§{˜uâhÂÁLr7ìfóæÔV°ì‘_à8ÁâM{ÀcÅõMìØ¦«‡9fœŸþüéòU à™‡®eÉGE¦ÉÇo­ð‘~Ê…çàÄãÄcqª -Ê)++E9ýû¶¥»ƒ¨Ð"«¿þTVUÒZÓ(ÌP1S'h¢QŠy×ÝvHä'ÿÅ¢ÿv"ø2ÈO!€y«ÿÂÌ´ù—LãÇOG±»dO¢y“€)S¦ú„²qãÆÕ ,˜{3Br×ìÑ2Ö])ÁÌ0üCw¼^:÷~¾Coc;ÁʶùlµÞƒÀqãÆŽ÷ÙÌÎ]ÛýÏÂ)^Á±cÇaÇ-¬hœX{„ƒ%(/+¥èÓ««Ýk‘PYQRŠ~ýû M“ªÊ -ÚZ5q¬~]Gñ»›~Þ%Â}δ¡¶eYÿ6"ø²ÈïD€O(ÅÕ÷>™`ïá cÇ2|ïûÒ9w±xó.ÚZøð_ï‚„…snÁql–¬-ÒÍ–]™ýñ»«X6÷.­ßÉUÇŽaÑú]Zv;ºfîóOÖ€£xøú YúI©–­XóÞÊ”ž{Ž;J‰6禜r<Ñæ6â±8õû²Ÿn\Ñ»W­õ»]5ªÝ-ërzõF55RÐVßÊè‰cüVnŽãðè­w'íœî"ÝÇ}âs]}ÕÕ5Äb1úôéCŸ>=þS®#È[ýykµf·f73O<Šìý|ìÖWbGc¼üè} $·-XJmaÂà/ιËõñëU’5¼/õ%zo¡¼µEÌ:ñ(¼áê=ä ÜU¿Àå¶e# ÉÖm[|âZúq)ÊQ)صgÙƒûP·¯šçç\ÊaÉšR¶mÛBma%Žemi'Q·¿ -'në>€‹ã(…²mª««ýδŽeQ}°ÊßàZÙ6±ö(FÀÀ±t|Á/ní€ð޽%Å%ìÚSH}m.ï’qãÇÒ»W/úôéMNNß4|òW¬xWû8”âÜsÏO9'ÊËŠTòêÏ[[ ÿ®Ùͪ×Þõ/TœþÝsB÷ѹùôc¹má2ª µïŹ¿ðÝÄ -h«oþë=²†÷áw×~%Ÿúıeóf$ ‚&f(ˆ”ºËF]q¥&< ÒØÚée$а¿Æ·oÞïIjí}+Çñ9€θè[þ5žÌw”bwqµ…®˜û ”c#¤Ám –pÔÐQlݾ €ú’JÕd臷ªæ^ýmr?* šì*ÚÀc×ü˜…ëvÑXU‹a˜(Çbö™c¸çù×@Aý^í 8õü³Èß²I·linǶlêÊ¢b:úgÇ,‚™izµ;*ÉœÓë6;+›ú†ä&‚ììlwÏ ­`ÖÕ×RääôB)øÓÝ÷p(xï½÷)(*ô9€4$†ašÍÂ00¤ Ó3«'á4¯+HbGÃp·Ž“RwH7B¾·ÔóÀ: -tÝR¾˜xpî¹çc^þä½þºb·Ï¯”äoË'{D?êŠ+9ã¢o¥ Ý (xø² ¸oé›ÔWpÙ=¿óBÿ8 -*·–’5¼ŸÛyIßfÛ6¿»öb®¾ç) ÃàºûæsÊygbÇl*·•‡P8nŸ>°m‹@0Èâ•{wÌx>~çýp)øèͺ5K$Žã8ØÑ8ʲôÙzwì¬l•G›Ûè?d‡o²³r¨««u?gûÄ¡Ô×UëHH¸ -¥á¬>HAQa§ãRhõÔC¾aº×1R¹þfãòåow¯zý½NŽ‘|×÷¨`üø‰ú£übþ?p”âŹ¿ð#ƒ¹›v°qã¢-íÔ'šGÏøF,;FÞšz€·´gÏm»š5´ßH)¥÷R`[†i²m[>YCûø¦¨p”Eœ0} -íM-”aEc <ˆh{»vþ8YYÙÔ)E¬¹]ÿ†.“qài†Bø@­ $õ,êöîÝ×ù ñ†HA¾ÞÖt_m[ÛoÌ?\§÷йkþß|yïƒ;Q¸î‡¾Ât×scÛ¶|7l«'å7þˆ–ö:þ¶£’YSŽF90eÒTÖ­Y“˜T‹>Ü…Ô j - ˜A+j¹s&xjùzÍ \:ܱS+—åÕ88H¯úØÖ~…É'K¤µÝm«ªh­i"+³§«ˆ$êçcÍîFÕ.këjñº£øà·öOhú½z÷ê|¾Ôvì$ÑûItÛÑICbˆÄ>Gòk®~Ï2úZ÷©–»!xÄàMÔ®ÿykv'lýd¢•‚ß]ó¯Ù(fž0šÜ-»™9e4y[ -7v<ùÑ8 ûjyaÎXv”eŸ•ÆõJêËjä ýY^+e»rÎÏ -r8ùÜE±s÷Nj ö³qõg3eV4޲Òº‡‰Çb®¦ÛÇÏ!Ø-L¬¹¶×óŸˆWxPW_çŸ9ü–/PUU™Âþ¥kNJ†B&o®¬ï8_ù‡#‚#Ý4ÛôÚŽ-YWÈ §j—oÀmd<÷Š }ŸÀb—PÆŸèß¼Ímò¨‘0!7àØ6[·mEM²†÷åîþ¡u†«.à¾ç_óçóù‡®eáÊÝìܹ¬!}¨/;Hmq…¿1ƒ0 ”¼I²†Ö˜R‚º$ݲql›öúVzdêžA]uϨ««%ÚÜN¨[˜h‹û·©Š¦¶ÔŽÌnؘ^ åѲ;W@ïÜÕE¾¾§È¹«ßC¾p•:¤üD@Ç„8ùúÌqå8ˆ[–>œ2CiÝ2Ù¸q½ÚõGïј:e*ï½¢·`q’"@vL—:ç ë«#€R§oi/‹Ãï®ÿw?ÿw½aS2B”­ãöj(¯æ” Ï&ùr೫ýë½( ÖÛóó©Þ³Ÿ£Ç¥¥®½eå81‹ݺ»I¢êêR~:ÖÜNÿ¡Z¬«Oì^’rMKâOù{ôî„Ò PSSÍ?^ýWÊ1C˜f3h‡ ƒ¤ƒCo  -¥Ñ½[f0˜‚¾/cØ–ívGÐ÷yVèrýX,F{{{—V€rl¥þ¦;.ˈ4·Pëfù¼8÷¼8ïôvÓ½6nÚHΨþäŒ@ï£Ð{Tzî bƒ<}ëuüåO÷Ò÷˜¡‚"-Ì»îb}´›y×|ן]Dz†À±,œX\‚­WÙG¯½Çå'ñ.‘tÐ e+Ž?ç4-çmå§|×—é|?oÿ>e;´Õ7k-¾¾Žúº:êêë|–™Õ#+±Èý›Y=³ÉÊÊ!++‡ììbÍíZ_PPQºO_ïO^ê¶#»vw^ýz:…»Ñ•V=ä®OÀ0Œ¯ÌþãpbýðµÕõ/xÈ·ãqÌüüÍ)Ï”¦ ‹óò£÷³xÓðøÕWø¡àÇ®¾Ü߈ñ¶Kt’§ÐnàÖnášã'0yÒd6oÙL´)BS[OÉ"oMcÇcÇ68rè(¼È[<Ó”=Fñéò•Üò«\Ž;ãd®8m¿^¤÷è> ›;v¸ ÂÂç>=dmi§´¸«]A¨[˜ººZßå‰îìžÙ]¹³äÏVRz€¢ßÔÕ×ùJãòý p9A2¬®a÷®Ý¤ÎVJæFц¿ë™Î†2 S·“RÇF¾"xDíHP†ÛFRH ¶î^.…ÀN¹'ü¸mc>zÝ%̾çqrð“;æ/ÞOî¦nògbêoØðøÕ—sÙ½ðgôÚã'ðÂg[™uìQ %bqîûã¿;i"JÁž]; vOmàkÕ+ Ó`Ƕ­ô؋ƽ5\~Ê~5_G ›ö×ù,Ü]À½Ñرц6¬h Dz ¤“&U,;+ÕÿknG•åûé7x`Êó’õÁ`·0ˆµF¨«ÓJáU÷þ’E®K¸¤¤Гì(IKá[€" <ù¤góÒG~Àt·ŠM²º–ä_ Žkátl!*]%*YÏèˆ|+f!s?ÓÊ]î¼ÛÈÞŸ^#û“ãfîþøÎ‡ý›§N -n_ø¢O}‹7ïâÅy¿@Çã 7ìDš&K6o¸=‚u8W)TkjeHÿÁšý»ñv+naE£Zk·lº÷Ïâ¿^XŽr åÕD›[;q<“Ž?–égžÄäeÚé'’Ö=L $" ѳg–ïª6·wB¾‡ØP7Ýl²¢|_¢K'PßXç{ÿPŠììÒzdø;J ©·‹‘¶oßáçEH!BS! }ë+´oZŠi˜ÂpW¾á¶}Ot)ÿ: ÷´Ùëø»Ÿ%ƒÞgÙÝaÝ‹šºÉ¯òcñX´xí.&LšÈ¬ãŽbö}Oø,±½©O?–Åvd${$ÈâM;è=z ·>»„IS¦`L¼±ÔW‚|¶üC²‡÷ó£r—5”eïéÕH ¢”Þ»iÜ_›x1GaEb´Õ6Ò«woö¬ÙB "-#LFv**`Ç,â­ºgtÃ1CºøÃ¶RŒºŠò}ô20iÇ.MàÅ~•åû“ª€Bß' 'ÇõøÃ¿Ôiìuµ¾(†/ ¦»Ó© ´}ò,¦€ìsîÂ0Á ·ï±D}6[!…ÛkØQ`$XBj·¬l@96V<|+niÈ]«C¸³O8šÜµ»é5¼¿ëÏÕ¡Ðg?ZOZfz2}±ióFÊ”µeÙÌ÷Ù¯³éå:–¤¶é¥¡C¿¿}ö=† nc©¢¢Zk›q,‡É§‡R…kóiFéžÙxLOT<§½©…Æê:ššš†DÙñ@š6i\÷tvVõ õþ*h3QHI}]!×L(ÊÝÔ1Ô-¬W¾Ç9„Dš þꉋªªªRÛnmB.—0Ü¿-ïÿ€¬Ï%”¦Çë¸ÄöuÜÁÊq°ÓmYoø²ÀjºBÝ_ï%â@TAÔÐI7bÙ. $³Ž?ŠÅkw1ûø£™ýêr5¬,I„„` ¼[øFb¹$í`ðè¬1ó?*î½ ƒiHâÑf €—aëùêKKŠQŽ"‰1á¸)Ôî­ tÓ®DÚ¹”ÇÑ™?.ïu,‡Œô š››êkkéÙ3Ëw)ƒ gžTíÓnâ:j}B".è?d ;‰zÅWìÝO´¹þCùéãÒ˜“ä@4E&InÃ]ñA –‚4 a÷´‡’ xõ^‚3Ÿ¢½½Ý÷oã {€w|ßPXNœ–Å·’¾£GA›1GÏr‘o±X å(L/±3wí.¶nÍçÎ-ùäŒìÏ£×ýÈ•¥p÷ ¯ø?j¦§ù&Ñã×\Ém –€<~Õe,ܰ“oýðÛ\:q(wÌ…š"íKx纞aØQ#()*ı¢­ ûj5QØŽÎà9P­÷ÌñB³.çJo©÷ r0ý”,ACCƒGøþ²ö8€Fœ–…Ñæ6—½p9ƒÂ0õ¶/iÝÓAéí_„¡moÃËŽöí"+‰bBOòθÛÈi¤ÇØJhŽÐ?¨YqkÞ-¨ï?âÛå]¡_#·kÂðR4¾ò‹ndŽ `íŠc¸Î ÃýívG@‹ Κùd;Kß“üàÚ¢ -;ïV¯Ýíûûkܬ€3¾ó-nœ1”Ãâ Úiû§Ù?fáçÛ¹rÊ(L3È Ÿnõ‹-–EŸïpwÐHXž†ÀQŠïŸÙŸ¿½·Ÿö¦ͪmšuûÍgðöšƒ(ÇÁŠÅ{ò$Ä‹—»ƒÖÑ<JÏX÷î=RGÙ@@Ï=uÒ‰‹ìÁ£‡ƒRÔÖÕinÓç(©·lC@zV&í­(ÛÇ£F`†‚A‚á4D¾_Çrl¼‰šÆ¶­Í~“zUJF¬ˆ{ˆ8þFf…fÓ!‘b…‚åÅ&,¾™€ÔHxEB{\sGAÆø4,KÁÞ8jLÀÝQI?×TZ49àr¸$óS¸ wín?³Ç‹ÕUQSRåï˜iiõµýÛ.cц] u‹yð,¸ó…¿2ûÄQ¬« £l;n3tðPìxœÌ>=˜ÿò_¤xYéü.Áö¤á&=˜†iúÖ‚f‰$  ©¹Y#/-D(=@Z@Zˆ@8ˆ4 ÒÒÃÃ!Ò2Ó ¤¨k¬ÇÈìÓaJö—葉±ž´néÓôs‚á4L3H]]=Ã$`˜nk'-Mpò©aN:3̉ç„ñöƒöø9—€)!œ©‘å!E¸¹'¡;—e…𑵼$@Ô-jñˆÃ­‰¥Û„4ºOJÃ0 ²Us0ÓÐD—ê.ašB\0`bfj, «÷w˜8i²¿‰¦î9GçzM˜8”bå¿–c„Rä[?ü—NÆÌ{þä³ÿ«ï{m)(„r4h¥EŤônøÉ±üí­bj÷Wmis}zäÒ0Ü>Ä .ä}÷²ˆµ}®‰¤±¹ #``¦…0p FÐtW­dÿý´Ö4"Œ?åØHÃàÀ­¯(ËFM„´7´"M£SÐÆjkçÛÓNGÑ´i -èa*¦ž«9czº aí?Z9ó‡pà#ìöF(h„& -SèÏ’„œ x¯$Ày#ã¾"únq€óGÆi™FtgÓÕ7R?£×ÄöŽ8–{}ÄѲ¿ÙÖ2OÓý…Ä©¿ü±òV¾7¹ÈÞÔ–T¤AýòmÀQ,œs ÷.}Ã/ö©Ú¥S°?| ¹k ˜uÂhîxîe”uEûqlå·{I$Fè—íÕ=›Úý‰¶ºà^c˜¦»H0·ùƒ÷×¶÷ZƒPz˜æH+fZ@#SH†4$ÅE^øÛÖÈN\gIÃ`è°a!¤§QVZ‚ -ÐT™ˆõ÷˜CU~ ß9îZ6äêãf‚å{H<ñ’ &NÏ@JÁªGª°hj‚š¨k®»Èw\«Á®½î.]S€)o8xÜO÷ú $ÀŒáqÚG§ÛA -Èœ˜æ­]²L›øŽ8qŒQâ6ÄâPß­UZ7P@·3nG¬+ü›˜}NVÌÞßGpÛÌ!÷‘[ý=pAr÷ £¦è çÜÂ’Ï -¹ìØaüê¥w¨.ÚŠ;,ž{‹?Ýå³sÛŠ³5 ŽRÔìÚ‡‚úSQQ‘P΀°ÑT]ç€aÈ€™‹IáZ/sW&¯P=û÷&gP_ÔTººÔ•Wã³åЭ_MIB¥˜xÒ±H)1CAœ¸E0"QX\€ã(ÆŒËýç_É;ï¼ÁŽ»hߘë²lèfê•’úŸ.¾n„1ô%WØooå㥭V—´"©èÆttÁ‹ T¼QàÛ#âü«(ÀwFÆy»8ÀE#ㄎ SÓ ý0¡ ¨mQ ='ˆÅ@о=Ží@«m64zà,]ìb.^»›ÙÇÍ¢9?sY]b½ÏºçÏÚ"X³ËŸy¥¸î‡Ü5ÿ„\qü–|VÌÃW\Àuÿõ<‹æü”EkvúȰã 7aù·€R\ñý‰¼ÿi5JA¿~š´i­D†ÃDZZÝ]b¥Ÿ¢y8ž#BsÃ4Iï™I÷>Ùô1ˆíù[PJ‘3¢/Ò4ÁQŒ}v,{|'Òƒ5ú(Á -E0D 4MMÃ4!¦ ¹z 8Ò] ’šÄm -v¼Q…R‰AþZ8õÊ gÀŠC8,Üì(ýÝ Àƒ÷ê7NpÊÍ™LiÕc:0Œ ›6; ˆïŒÐ¦À‚8P·9NE Œê¡9‘z,Ñ.üÎâæä|fŸt´6ÑžÁ;çÿ•ß_ýCr×îFx|ËVlݺ…ß_÷C­Ñ^D)$«^]Ž ,|èr?+p‹G%ñ¨.žÌ߸‰Ú¢ -úôêBh‰ÜÁþýûSUXî‰t°…E -@Jé‹!%é=2ÉЛ`8»gŸÎ’OJغi3f(ÈØñ°ã1½Õªƒo.®[µ”ƒ†ïxnÎ ,]S®ÝÛý¡ŽŸ “a2ò«p°Ùö÷X -Ò%= Žé, 4K¸ðv¨Þäš`6lüH‰'Ÿ=‚ÙTdâ`½W²!5—:þÚ ’sa6/jÑD" ¿\Wiø–ô•?ÏúP -úž&º¦¸û;­®üo°|T“yÆíZ œu‚Fºç -žuÂÑ(G‘»n[·æSSTÁŸ›”(غu35E•ÌpÓÅÛfÕëïú¬ìôï| Ã4Ù²E»Œ•å`Å-j÷ìÇŠ[Ñ65Ð_ˆ°G1¶m¥¬üŽÄ`šž3S`dõïE·ÞY>Çè7jkÞù€ìáýùýMßgá*MÜŽ¥³m+Žm;íÁA—ÅûöÚÜ«)®LÉ®¹tâi`hðqºu7èÞMðø¯Z'™U&pçã¬*ƒ!'¶Rº&ƒAǵ²Y—;tE„gÇïÜÄpÔ 8Aו±ko€qCb¾[9æùýyϾ ÃΑ¾w2`„†„pbŸµw´ùG‹€:K_\AÆÉ7{±€Ý!µùç~÷ó lGûìDEœðÔW7mJ 5õœáý5—p`ë¶-Úÿo~]¾ äŒÀÁº€¢¢²‚þý$°éM^ @ -Hïá¨,ÜÛ)KÙ¿\yîb0éÑ'›ÌœžºÒH¶¬YO0$ÒÐFãþjþ²i/·œ3•Eë4ךyì(–m.ãý¾í'À& ->Ç3B&yÝÎâõšxzT -LÓ¤öãf$Œ;/‹;çfbHM0¡ Øtï®ó÷}–P¾.ƒ lõMAÏGà¥8h~©ØVdÒ˜ïÒ+—•+ø{ƒŒ¢w b[#ÚÂPš›dÎûÜÈÖ Ç=ßhéw X1Lßô&N˜˜²9±PSêz'è'¯zõ$¬zu¹ž-GéŒ]a°àáq”âÚûŸq›8)N6%“Nš†ã(º÷ë‰íÀUÇÅ¢u{ÉUÇÅâõàh‹Gºf̯»”ÅŸïÆ0 6mØ@mY%yÝNÞÆ_Ù º-«Á¬¨×.WÓ[‰ÚÏþœ~—ë/Q‚eæ+ž¾³E›€® çà†˜÷ ر7¨d]V`%¦­åÁ„ûyr˜XLÑ#M‚¶ÏÛéÙ'€Èl'Ò’$ТÉVž×Q$¹‚XùêrrFö§¶¨‚œ‘ýýœ{>çýü¢¹·à1;ÛŽñ‹…ÿDÙŠÚ’ -ν…ÅŸîæòéÃÈÞeë"»vr̘c°¢1ßüÃ/³ÒüVZ÷À0 z@Åž²”J'ý€Q83Œ¬î„»wÓ .ûßòézüõ…<ð› tï—ÅmϼÌc7þ) ~þÂËx -…‡üG¯ý1K6b˜F’e!1Œ ß«°~_¶Ù—–·!%xnOƇL+Iv{Iš8ð_75rÙù·>žíœ4±¸¯„àØ°ãÕZ&þ(‡ÿ¬eÜ÷9 Þ;{°üµ6"›u¦s\@`Z˜Ð´0Á@BÏp\N`h±´øÑé˜óÑë~ÀóÿªM@wžkŠ*|¦¼hÎϘ}Ÿn~¬­‚Ý\yü(ò>ÝÃÌbâøIZ”Žcsåq#Éû´y×|—ëîÎ-ËqÌXÍž À¶-úôîã"U`¦¹øŒ¼ùIµÏ†Ó{dÊH#ÒÜ–Ò¥CJISsiÝ3À‰rÛ•cùÛò*ßV–æüö»(åÐc@ûkiª¨gfÙŸ]7®LH yßFîúfO?š%› -ÙðùçS·>›ÇŸo¸’EwÑPYݯqG#Ê”Zæ*ôg—9ù„áE{•ÂÍ+»_¯Ócu{N9Jsï)`Ç?ts»û×oh¢ëo(ÙœNh:¤M#%Ä6µÓ¶¡°† ÍÍêTN Ðz“ï œu‚.ÜœåúrçÞêSš§ þþêï“÷Y3MÞg…~ý¼÷†«^{ǶÒà´ ÏÖ8”bÛÖ|êËvÜ¡­¦eÙXÑ8Ã¥“5„NIïÙÝíâ5 I´=ƾíEØñ¸Op', õÈðë„)¹ûº“†¼ôÖ>ŠKŠ]~#GŽ¢¨¨EÖˆLš<äoÝìѼþRp 3ÈmÏ-C˜F¢!ºÁÕ¥wÍå§g}ŸöŽtOsY««|Aâïñn©…—œ¬løåM&?ú–fæ¦tWR¨Y† ÂŒž¦Óå”rM—Rº9a“ÛØgêÕnÛšƒÄ6êP÷èKzpðF¢Íš`Úl­?Tǵ%àÝO¹YóñY®öïAî¼[Éýl7¹k÷¸¬Úgf …ßGÀµíf¶Ì¸èrFô'{x_}©‘P§{éE½üR+„ ³OOVUQu°’ªª*×Ço¸fòÙWZFÝûdÑÔÒLSS#½‡ä¾Îg챓‘A3B¸Ëï¿~û&?ù!Å%Å.•käÛ¶î ÖTYOÙ§;¸ê8Mð'Lö5÷;æ¿Ì þÊmÏ-`ò¤ÉœýýóÉq‹X.¿ï÷)šALCÛÿ^$Ï[ù†Ë¦ÿ ±šÍ}|w…‚î½ë>OÓæ¨û€Oצ¡€¸…;î»,Ú¤ÝÌÅ›4ò 7†Qh/_tS;Ñ혓µhÛÔH ¤ÓÖ,–ˆ[µmûãMª ˜uüÑ \çÏ\M³Ž?šÜÏv£m÷£`„I -&Í›7Q[Råj´zV[‡vË$ÇÍ8ØSJyi)ÊVØq eÙà ⟞ÃKËK±âq7l«sÛöî/§½¾…´ìLî»ñL^yŸ®¾qƒC‘Ö6JKK@š+êüÉäá‹ùËÛû±mýöe{KQŽÃ°¡Ã:y †ÛdZJ‰0[6mB˜“'Mvi^úbàû½'²kç.¢Ÿü„FfЀ´ ”m3rš^Ç^œd¼léƒuŒ®üû‡ý PÌͰ\‹Àñ¶ãæ$ÐL7±C$Ípº"²¹Ý·*V¸äØ8­ÍšF¨‰C.Ä"óä1 SGï–m*!‰ÑkdfÝ«‰`ñg.Wðd&[·mõWµ£`ÒÄIlÉßB}IR -ι…Ã5÷>CöPF®-©ÄŽY|öÁ'æÉHi0dèPËÁ¶möïÛ‡cÙÓCüaÉ' ê;È_>(-/ÕNž^:þŸ‚|Wp–#M‰º÷Ïöý÷ËÞØË á¥7;o -AÙ–Ýüæú‹È]_ˆã8~¥8Ø–íG6ãѸ>ù•Џûv¤1aZ™š‚’á%¶õÁPë 6d kçœkzùר6x¾.!HAz (Ü„Z0MA4ªuñ‡e+G÷_­$Åä0€oý<‡à#ml+”œ~A[»"³NQÿiÄgê¦í¹š,‡Ù'Í[óé5²?³ïý3‹æüŒ¼u{øàË} à€®¾ï)@°²ø]—· Íý) ?Ú,xøF¬Þ…°Õvüæ mvýÆ6 6”œA}).+Áj‹Pº·,%­É˜. Üý ^Y¹ŸK΄ðÊÊÈHÊD9rÊQ+ESe½|)%ñ˜ESEÈ¯Ü -f––¦ÐÅ’y?gñºÝÁ€ÎETp€»ÿ……{° ¥`à1„€òü0#§´ûÕdWÔæ±›£‚Vø>ú4À€^5¸þ+zNË¢yc==§gQ»®SB÷iY´l¬G9Uv\4¦;'®ùh[€L'45Ý×= hЂöùÇßO¥µ~7ç\>“?ò“B€DJ@îg»™0i"[]ßÀì{žðŸ;÷VÇ&ï³Îý)¿˜ÿ7t_…sÊnQé#W—»_ø'ãÆÇŽÇu´ÍÑ)]5û*E[CŽm3ð˜‘sô˜cؾ)3`€Ò9LÓÐÖš”€`΂¹ÿú3˜»pµßôÁKÕ¾÷æÓxùý‰v°À/ï•É'«µô€A÷þÙ~âªW˜‘=2±Ã€ -`ÇâÁ€ß/±#(ûv¦‘}lÄ7Ýá4]M{[Ô¤ƒÈ-}°'è¦ÞÄ÷œ–EýúzßP÷y½ÏÒ[·ÔãmgÐôy}‚ý› Ï¡£4G1MMdÍëÛÈDÜß9Eç% µ¥Öc ½¶œ©Ç) š\Èß’¯#€I¡arsçÝÊâOv1ó„£É][€÷éÆ3ŽÕo~Àb7`ô‡ë~ÈϾÂ/æÿ!«_;æ…Z%MûªÙT~ô~YL=å8̀ɕgŽbÉ…È€ŸŸêfèѣ)-+ÕZ¾¾µ0gþ*7ö/ü•ñë›Îaá?w&8•Rtï—•R#„ð9Àä“§'¢•¶CIi)HÁ•÷=Ƌ܅mÅX’_ÊUÓDzà³mÌ>öhçá6wðôc¯u 7±1Ë5å\G‘°µÕQ:J÷æŸÚ9å4hÚP”°á“4¦¬}ú=¦eÓ°®ÇJp”쳩_§Åší>3î€é¦þx™BÞyoL×g®å”k ¢±ÄãPS/|î!…ÔpòÀÒGîÄvâ¾0ºó¹¿¢Åì“ǰxÍ.0óøÑä®-`ÛÎíþ}3OÍâw2iò„€•ÿÔÏì9¤ 剷´‘Þ§'ÒÍé»ú¼1†ÉOï_Ì“ÏàWóßöS°¥)™uþh^ú ÄNÈË+÷" IaaOJáwôHë–A¤¥•˾=˜‡ž,¦¥²Žnýu9˜‚¢â"ºÈöµkÛvÜ.ɨ‘#<é(¶åçsÛsËøÓu?aöÔ£Èݸ å(­ÛÅÝ'Op+“•»Óšý›ön ”P²1Œ‚‘V¥b°½'ʉÁ®ž('±os€!Ý ÜÕê-9iP¶Q/ÙAŠô‘)(ÛÒÝwqën•ë{˜ -¡ÉéfB‡øäÉZÖî ðÝiqÊ_ÓîäV7)ÄJÖWnY6Wåço¦¶¨‚Å®ö?ó¸£È[·‡YÇͬ{ݦFnzX¯á®‡Ð·ð çþ”¼µ8–ÅÌG“»F7•\ù÷·iÚ{Ì~ÙwΩÒ`í!‘~e«ÆÖ ž~p¿|üUF9Š‚Ý{hØ_Ë£¿¹„?(G9Ž›†? …º²é×7œRŠöx ?±J‹ ÷Þx2¯¼[J±yÍç€Û%Üm[ãe)¥°,›ÓÆêØn2ûÐmÜ1ÿe–Üô0[¶l$Vr5B ->Ë‹òí;õÄR`š Ï^ŸþALÓï¿…R`+‡y7U2àÇ?íÆËO6sé­ÝüöÒHÈv› $ 5w1 ýþ¶®ö ¦¶,kõ™r2!ƒˆ»–ÛM1U±„@ܲl®ZùOÝ5jñ¼[AîÚ]¾·H§‚áŠüáºK¸kÁßpl‡ºÒ*^øí ,[_•ǻ}•"? íõÍ2Òp,‡ nÕ±­”¸ÎÎ];¨+Ó±†gºš¼ÕÅ!hoj¡ @Àóc–}Pæ"Ü|¹”SP¸G럦A}y ±"WTèe2÷¡‹yùíý'6Ž1|D"µÚ½Î¶¤!(**¤×È ¤ë t)Ý÷¥ƒ£¾¾‘¡ò÷`+¶-o¥›ë¸Ö@Àõ·O?Ï•÷ã j£þ{ílƒkµ5¢5÷ÆrC¼Ó®éƆ…Íçþ•À±×wcÃüfv–7<–Ð'®½‘±Iá„Ê íl'Õ 6›]P—lÞsê™uüQ̾çq?+àŒïÊI¤Š»J`îg»ùÃ5?ô»ˆ\û_ϱðaÝØ/ædÀĎƱ£qj÷V`Åâô5ÛŠëÄ WvJÃàéßÎfÉêb¤ÇÖÒ”wþ÷ËüéÁKYö¾Ž zý“³GŽE¡›¨E¬­àŸÎƒO¬Í•õ¾á\Œ—ŽßúÆç,RR[ZEÖ°¾L7!]o¡ûsÕ«AÀ¦÷Z€Dñ‡Rpôºá((ü‡.X9°&“'·øî^v¥Høé-.dËÒä¶aa³O›æëÏÊe¸~I€…ï kÛ }fRÀ'êš–f’ié%’&›š¢¼¼X=²ú%f¹É»fâ²?^ûc~ªÍ;3``Åm@;‡jŠªHתøÓ?Áv, i²hù”²±ã6ŽåDé;b0Ûvl¥¾ì Ï?|yù"‰âØ»wï¢q zðR–®(ãÊs†óâePS kúúöî£ÓÊ#1*++ õÈLŽ×Ÿ¦œ|›>YG÷94¨óEþ ß ¿èÆ+ôŠ -iKவ_wþü§hùàw¬¨è†át¼ØÑÃw)6¿ÔLÈ€ã·}»Dà*e‘(<ð'ƒË§Ø)5 =ˆ^1‰·Ò󋃘®œò‰akQÐËÏÅV:ÝËC ú©{½~ò5÷>ÍOÈ則f²äƒbÁ–¥wñ ¨0ë?^CÃÞ]Z¸"M«Ätÿ_wf~þ«—P–®Ú´úSÅBlË&-3]Ç ”¢wïÞL:ï¶|¾!#GŒv·”ÓYÆÓÏ:•x{†¤¨¸È_Q#GŒ¤¨¨…¢é@å[÷0tòÑ~"¿o°;+dê¡® ê…Dℌ„ÏÞ‚c¡a»NÍ2Ýsò=D¶—}OŸ»¹úáKˆb[ú¼Ppùo‚è*;…£ ºVÛý! WVµO´èç+ýLËË+ð‡ÒV@Þ:íñË[·›œQýýUÚî¿óù—-•¥AnݺUGÑæÝÎÂO¶ëèàZ]î•3¼/•ÛËøÙKyâ¡+xà©7t¯/ô«FÈD ùÕ%¼ô~9?8µ/°×cLìÎßæ²|­Ì¡€x‘+ƒ€B6Cn™´»¥ki×VEbaLOölZ«QŽbú™'DiªÐ\AÁæOÖR Ÿ>žHS ±hÔç(>ût'Q%Aò9€A§5Ó¸ö¯ÎôWç±91¶•˜®,7]exæoCX174.5QD£W> n9\úë†kžnÑfŸ‚m{ƒÔXŠqƒâ~È ;€ŸfæqÏŒt”ƒ‰Ì<îò>ßÍæ-©-¬ wÞíØ¶Eîº=˜†Á„ “µs°l;Ål´m‹+ŽE®ÛD -ã'N"ÒÒFÃÞj~ö@O>4 Û±p‡_?»„ qo RJ~ùð?øÓoÂÒ÷J˜yÁhz~RÄÛã„{¦£”âçWÄ?WVðƒsò÷w÷ûr»´¬D¿ ) .q›; ¡k+iw¡7Žƒâ’bz ì…rllËÁ …˜6ãDŠK -IÓþŒ@€Ò ;HëžÉšê5LÏ:6EÚeÄZˆ„»óýAM”ì ¢œ{ÊB8À D;í§&q#ï?ã²3xùÙV®øY/>ÙÊÌÛ3°b›¶b+xa‹Áµ“l-ÃÝØ­tÂȸÁ ä38ÆÚÒ™SÂþê7 ˆoj÷%›åŠ•¦¸V3 M`±o_©8÷ç³ü[4çg,ÝPÌåS‡“»v/÷“‰À4 Þûû[,xèf­ý'‹R ¥®‰µËWñäÜY,ý D'p$­ +na˜kßýG)ÿí¥üfÁ¾Ѱ·†Ç~{9uMµ¼üN¹ïóP¶æB%…:$=tè0½;hÌ"ÚÖNc´™Œ>=˜wËwyò¯\ÅTwÿ..)BÙ6ê8öŒ“ü±;–ͦ×u -ÂL9õx~óÃëBðÑêUìß¿_sÁ¥”Zö.’.¸ÖÄ B0 }”KlÌmÀQP_©Ã±Þj5Hdy«WÊ‚Ló >¶–™0$ÆÎ½AÆ Žé|BtzXµ¥8vHÜO˘ÆÌo÷W›­‰§>µV"o1ý¬Ÿ'<ë¯-®BJƒ™ÓG“·n·N’TfÀÀ¶lÜDM‰›)¤×Þÿ§]x³N<ŠÜµ€bÅËoê×ò2v“hölŠ@H·ré9¸ ûj¸ã¿_IÍù—i˜¬Ø%”æ{§öæo+ÝÄQÃÐ"ÓÀ±l~rÁ0þòV)e%º­}FŸžHÃà¾g^Ãq\{*¿þóû.Bl„iðèÜñÒ{ûAAQQNØ‹Æý5‰’J±é£Ï?º€æ–f’áòIFÎ2q-MÒÒ`ÃßÚèlß|£†$ê÷¬¶DưNJ‘(!‹8:ÃxC¹F¾W` - KÜûl-ÛmÓ/0È´Á45[cD6¶Ó#ø Ð9ˆ首ù¢ÁèšäÍ»ƒÜu;™yÜÑZ?pS¦,ÛæÃ½‹£‹æÜÀ]Ïý5µ ˆºÍöé¶îOÑÜA¸¾îw 6CëI9†ö‹7ÔUÁ^¥QÄÑÉ 5VR¿‚³îLp€³~ðm_˜yÏ9ëûç',‚¤íܹï1óœ‘,û°!`÷îZpóÇŒqw&kÞû[~•‹‚'œÍó¯nFH£ÍÕHCò«ŸžÍƒO®ÐŒ!`ºA'ƒgæÌ"oe){’Óh€¨Û”ªû ^ghÚWÃÔ'êlçÙÈÛ¶nÁ‹ž†N¿•æUÆÂB]¤.¸+ÎïÙgC{(Kgm, Ro+®»_+uÞÏ[np'ÓLÎ ,{(Îe÷ç=ãÚµ6-Û"”36@Τ Öö -=.¯Q„÷ª^Bˆrlľ½%þ[^ö´n‚X[XÑ é>òçÜÂâ5ÚjHòŠmÛ·‚•;ÊyjÎL–®Ò!%;wí@xø¦ Èû ”={vú "¥xvÎÕ,ù°8%áQÁÎÛhØ[À“ͦ%RÏož|¥M•uüáÁbÅ-–½S†cYí) ÒÔN 3̳ó®fñ -ÝÂUºÞ–-ë6д¿Æÿi3N`ƒ»Ò¥˜~ÆI)Aý +uÏ㇮¹™-[¶ê-mphþP×íw3µýa™pÈxÕ¸­õ!š£ÊwéÎ|0@,ËŸmõ‹C=Nb»©Û'Á}δÙäç¶úÄrƒÙ@ËQiH©«ƒ “Ķ·ûÙ@Q×ö·”Ö<è6ãVŒ;î¸ý¿½EÑZúõíÇϺˆJJHÏîF{] þ) =vÔp–¼½’]k·0ôè‘~3¯¶oÇÚ-´7´àX6ž=‰IÃ{’_Ú¨‰ªF'z~°¾€ºú:Êijã™y×±fÏ^Î:öh¶”Ö1ëÌQl)©ó½Š½ûô¥Åj'ÒÔÊ[+7³â£Ý´Õ7mi!x÷ƒœwöx¶5‚ôÈìACC=ñ–vÞúhƒGÓáf÷0Ó‚3iF ñ¹Ö€aƒiµ"ÄšÛ©(ÝÇ€áƒý‰ª(ÕæéÏ>ÒÒR­£ °Ê× ùt?ûI—ÀÎýnù}ˆãÎ5ºdÚÙq 6.h¥ÉÖÈö¼|¸÷˜®Žà%‹@Å á'Ÿz-_ÐRe!«-‚Ò0ú˜Dò#~i¹×ÂFsvGÎ<åfÇ9ÔîáŽæ@î¼;Èû|w‚¿;=¢_B!q3Xó·å“3L7…ªÜQŠ’¼÷‹}>8fÌXvíÞ4 æÜp‘Ÿ -ž÷¡^¡7ß¿§¾Š¼•Ez§OËñ9€0 zéËœ¿Í’UÅHCÒ\Ý@AÑ÷×òÒ»:ÛÇ jSpè°an×}†fŸ5Š%û“‹€Pf˜Ù gÉ[e~2J1zÔh -\1 o<±€>×›I¸+¾ç™·Ó¼ò1ÿ:/Ê&= \ uøüÙVßOà)v=Lh¶´þ Ü•n$ü Ê5ßPAH -lÇ!î(?O0® `€Ñ㈭Bû¬Dø‚¸ÒÏVè`âVÜ §ä/IfN?š;^xÉ· -ò>ßub¬yc•¿’VW¢€Ó/ú«^{7U”z£‚+g %oE±Öê¥ÁÃ×›¼• ëÀQ!ÉÖ—[î_ÄÓsôV0÷=û†¦6i¸¦£¾ßƒŒ^=H«É é@B -]Ðé&Ã!0´÷î¦{rÒy3°-Gû Üf¦åeàŠó³ôír - - :!?ZÛÚH2jü ÐÚõ®mÎç_ -›_oãïΑÆuÐÖ@3I…8.E¢Óˆ¶î hP^7P÷Û¿»öÀô!q¿~Pívª^â…Q -[Ù9€wËW—ªÇÆÉß–O]q%9ö¨+®dõëï%öp•;÷ò̼Ùä½_ÌÌ3G÷§h·ÛwG¿À§ oeR -ÆŒËÎ;è9¤/7ÿjQÂvQŠgæ]ÃÒÕ%\qÚp–|Xˆt—Çá—Ÿ;„eï”û›<A“¡Ã‡Í€º²ƒºàÒ‹¸¸3wïS¯1çæ iÖ³ä­2HZùÓÎ8ÉÇß|ÿZÿsSSS'¢(ª øòúŒ‹LºwÓ9{[ßmóëÿ¼Êo¯4Ë+!»|?î*Œ{ü!á·˜;éÇSj“w-±âÑxÇV†Á–?ü’©Cb>qH‘Xý^*X²jÛ¥è5B's:Ž"?³¿•L]I•íó`a’9Xë–‘ÝtÏbž™3 ÌѶÒÝ”ÉQÏÌ»€%«ŠÙ¹sÇ3–;wmi§ÉíTêYÊ^yå%êuWN”[bîиn1¶£È04ƒö|^ë— „âŠçŽÐíÛ¢Ž µìø¼<Èø[Äv-®®ÀÛª#ÐmããÄâ -‡€$0 Ÿâ±8íÑ6š[¨©®!øÏQ¨\þTb7,ÇQÔH ÝýÁ¼5‰âoG±…ó~æ_õÚ»ÄÚ"xNçæ]ƒ—Äqã=/0ÿw7ûQWœ<Œ%« -Ù±kG -1Ϲé"–­)EÅ-®8}J9Ü|ßB@1ÿw7·â!¹é¾’ í¡N9y:»vìÀ‰ZÓ œ¥ƒ0õeyfÞÕ,ù°$•+¸ï¶sÇvªwïK!€dä<óìS>Ò•Û™S9Š–K($Êïýc-Ë!aæTøöÈ8(ÁÖ½šÝOûÕ477cÅuë–¯Bq·+0 ¥%€EÌœ1’Ü•…¾öïÁÇo¬@9ŠcgœÈ¯¿{uÊ»,½io?ºþ¡iürÆ¥„dÀÿ×ø[É¡EƒD÷ÿõÙ²€ÜÕE(ËÆ0MlKç8{²þ™‡®á¥5¥(¥Xúq)Â4?~<ÂX– -–|Xˆ²-®<}¤^õ®9ïú‹È]]ÄÌSF¤Œ©¡´Šº¢J~wó÷ÈÌîNz·ÄÞÏÌ»!$Wž>¼k¥7~ùÅïý¦“ÉÚvcCƒ»õŠê°gHRã4wµÇí{÷‚1Ç5ÑÙ9ão}h¤+C9Ž»Â¥K ‡VB^§µŽÈ÷"¯Žr‰ «Eöí+UšBº^ݬz)‘ïä>0yOaÀW?xõMWH²ñì(ž™s-KW1ûŒ£ô*v54‰æsn¸Ð©1~òö*0óç^ïr|ñ$+OÉ/Ÿy•ºòƒ<ýà,r?(ÆhÏÊÎ;˜{óEä­*ÒD€V=ð«ó®LLœÛtÒqÓÉ”R,^¼ºúúÎïþܵlù  HsƒCeU®†åm†D’´´4ÒÃaÂia–mÅü8ƒ0¾„°}4ŒÁ Þ£Ø¶¶'ÓÚÖJcc Ä¢±”±›‡C>À/g\ŠW¦8oÕ‹þŽ¢ÔWrõ½O=´Ž»s§‡™z7ëwþ\NÕì^ËvŸ…w ú{Ÿ}±ÇŒí4–¬a}¨ß[Âú ®pu ;wîH9³dUqÊ÷dä{ì5ˆp‡-[6PW[×å<ùÛ¶¸AÕAÓ L¿ô&½CºRÒmŠõ7qptûY B}‘Éw(Hˆo,É·-y8äw„_θ”Ë]Å/<‚¨)<À³^Cî* òÉÛ+|iÊUX–|X„Hêþy$P_v¤`Ö©# r?*ÒŠ ¥AÞªÂäßûôk̽Y»¡—¬*æó®<äV°ÉDÐØØô…ÈW8¤û!¥+ÿÉQßú¡kŽtSCŸWŽÀ‘Û¶p7ZÓ;„ÒÜj£#Ç…?N™è”š Þx¿¿bÛÖõª[÷ž‡¿Èëˆâü;´µðöùç½cŽãðÆïæû)[É“é,‰e‡¬B.ûÓ=A·Îé4Ž+ÿ|õ{«yû QJ1gÅ‹)"Àvl۪Ǫà˜1ÇtZýsnº¡i'w[W ”âÝåo³~ÆÃ"ßñ -€ijm<  -¥låo gJ‚áp˜p8ìÎoÒÜ¡ðæS -o“ª€x˲ˆÅb´´¶ÒÒÜÒ¥øÿÊ'«:NbZIEND®B`‚ \ No newline at end of file diff --git a/examples/web/models/models_mesh_picking.html b/examples/web/models/models_mesh_picking.html deleted file mode 100644 index cf3321a..0000000 --- a/examples/web/models/models_mesh_picking.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
Downloading...
- - - - - -
- -
-
- -
- -
- - - - - - - \ No newline at end of file diff --git a/examples/web/models/models_mesh_picking.js b/examples/web/models/models_mesh_picking.js deleted file mode 100644 index 27ad893..0000000 --- a/examples/web/models/models_mesh_picking.js +++ /dev/null @@ -1,48960 +0,0 @@ - -var Module; - -if (typeof Module === 'undefined') Module = {}; - -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'models/models_mesh_picking.data'; - var REMOTE_PACKAGE_BASE = 'models_mesh_picking.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - - var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; - var PACKAGE_UUID = metadata.package_uuid; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onerror = function(event) { - throw new Error("NetworkError for: " + packageName); - } - xhr.onload = function(event) { - if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - var packageData = xhr.response; - callback(packageData); - } else { - throw new Error(xhr.statusText + " : " + xhr.responseURL); - } - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetchedCallback = null; - var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; - - if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } -Module['FS_createPath']('/', 'resources', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - } - }; - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); - } - - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_models/models_mesh_picking.data'); - - }; - Module['addRunDependency']('datafile_models/models_mesh_picking.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 11848, "filename": "/resources/tower.obj"}, {"audio": 0, "start": 11848, "crunched": 0, "end": 36787, "filename": "/resources/tower.png"}], "remote_package_size": 36787, "package_uuid": "305fbb0b-6c71-413d-8f1f-74eaa5a62180"}); - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; - -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) - -if (Module['ENVIRONMENT']) { - if (Module['ENVIRONMENT'] === 'WEB') { - ENVIRONMENT_IS_WEB = true; - } else if (Module['ENVIRONMENT'] === 'WORKER') { - ENVIRONMENT_IS_WORKER = true; - } else if (Module['ENVIRONMENT'] === 'NODE') { - ENVIRONMENT_IS_NODE = true; - } else if (Module['ENVIRONMENT'] === 'SHELL') { - ENVIRONMENT_IS_SHELL = true; - } else { - throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); - } -} else { - ENVIRONMENT_IS_WEB = typeof window === 'object'; - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; - ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -} - - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function shell_read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(xhr.response); - }; - } - - 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)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function shell_print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = undefined; - - - -// {{PREAMBLE_ADDITIONS}} - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = Runtime.stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -/** @type {function(number, number, string, boolean=)} */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - -/** @type {function(number, string, boolean=)} */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -/** @type {function(number, number=)} */ -function Pointer_stringify(ptr, length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; -function UTF8ArrayToString(u8Array, idx) { - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - while (u8Array[endPtr]) ++endPtr; - - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; -function UTF16ToString(ptr) { - assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - while (HEAP16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - - -function UTF32ToString(ptr) { - assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - 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 : (x + ' [' + y + ']'); - }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - 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); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; -var ASMJS_PAGE_SIZE = 16777216; -var MIN_TOTAL_MEMORY = 16777216; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBuffer(buf) { - Module['buffer'] = buffer = buf; -} - -function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); -} - -var STATIC_BASE, STATICTOP, staticSealed; // static area -var STACK_BASE, STACKTOP, STACK_MAX; // stack area -var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk - - STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; - staticSealed = false; - - -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - assert((STACK_MAX & 3) == 0); - HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; - HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; -} - -function checkStackCookie() { - if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { - abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); - } - // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. - if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; -} - -function abortStackOverflow(allocSize) { - abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!'); -} - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; -if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, - 'JS engine does not provide full typed array support'); - - - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); -} else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); -} -updateGlobalBufferViews(); - - -function getTotalMemory() { - return TOTAL_MEMORY; -} - -// Endianness check (note: assumes compiler arch was little-endian) - HEAP32[0] = 0x63736d65; /* 'emsc' */ -HEAP16[1] = 0x6373; -if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Module['dynCall_v'](func); - } else { - Module['dynCall_vi'](func, callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - checkStackCookie(); - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - checkStackCookie(); - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated */ -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') - HEAP8.set(array, buffer); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]) }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = Runtime.GLOBAL_BASE; - -STATICTOP = STATIC_BASE + 25168; -/* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([0,0,200,193,0,0,0,63,0,0,0,0,0,0,128,192,0,0,32,64,0,0,128,63,0,0,0,193,0,0,208,64,0,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,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,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,15,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,15,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,15,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,15,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,15,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,15,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,15,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,15,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,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,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,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,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,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,205,204,12,64,0,0,128,63,0,0,128,63,46,186,232,62,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,128,191,20,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,67,94,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,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,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,51,100,32,109,101,115,104,32,112,105,99,107,105,110,103,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,112,110,103,0,78,111,110,101,0,71,114,111,117,110,100,0,84,114,105,97,110,103,108,101,0,77,101,115,104,0,72,105,116,32,79,98,106,101,99,116,58,32,37,115,0,68,105,115,116,97,110,99,101,58,32,37,51,46,50,102,0,72,105,116,32,80,111,115,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,72,105,116,32,78,111,114,109,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,66,97,114,121,99,101,110,116,101,114,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,85,115,101,32,77,111,117,115,101,32,116,111,32,77,111,118,101,32,67,97,109,101,114,97,0,5,5,4,0,2,3,7,0,3,3,11,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,46,103,105,102,0,114,98,0,46,104,100,114,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,111,110,108,121,32,51,32,99,104,97,110,110,101,108,32,51,50,32,98,105,116,32,102,108,111,97,116,115,41,0,46,100,100,115,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,111,117,116,111,102,109,101,109,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,35,63,82,65,68,73,65,78,67,69,0,35,63,82,71,66,69,0,110,111,116,32,72,68,82,0,70,79,82,77,65,84,61,51,50,45,98,105,116,95,114,108,101,95,114,103,98,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,111,114,109,97,116,0,45,89,32,0,117,110,115,117,112,112,111,114,116,101,100,32,100,97,116,97,32,108,97,121,111,117,116,0,43,88,32,0,105,110,118,97,108,105,100,32,100,101,99,111,100,101,100,32,115,99,97,110,108,105,110,101,32,108,101,110,103,116,104,0,99,111,114,114,117,112,116,0,35,63,82,65,68,73,65,78,67,69,10,0,35,63,82,71,66,69,10,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,37,50,105,32,70,80,83,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,56,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,59,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,0,99,111,108,68,105,102,102,117,115,101,0,116,101,120,116,117,114,101,48,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,68,101,118,105,99,101,32,99,111,111,114,100,105,110,97,116,101,115,58,32,40,37,102,44,32,37,102,44,32,37,102,41,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },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 frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - - - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - 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); }; - } - - // Extension available from Firefox 25 and WebKit - 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"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - 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 _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - 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); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var 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 { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - 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/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - 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++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },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 /* do not set timing and call scheduler, we will do it on the next lines */); - _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; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - 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; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - 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) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - 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(); // empty shim - 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); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - 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)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - 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) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - 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; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['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); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - 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) { - Module.printErr('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) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - 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 () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - 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(); - } // drop it on the floor otherwise, next interval will kick in - }, 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) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - 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); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - 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 () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['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; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function (event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function (event) { - GLFW.refreshJoysticks(); - },onKeydown:function (event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function (event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function (cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function () { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setDropCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.dropFunc = cbfun; - },onDrop:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data), { encoding: 'binary' }); - if (++written === count) { - Module['dynCall_viii'](GLFW.active.dropFunc, GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - 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 the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - 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) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - - var fd = process.stdin.fd; - if (isPosixPlatform) { - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - 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) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - 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') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - 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(); - // add the new node to the parent - 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; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - 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 = {}; - // device numbers reuse inode numbers. - 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); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - 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)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - 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) { - // reuse all of the core MEMFS functionality - 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) { - // check the cache first - 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; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var 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(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - 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); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - 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); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - // Issue 4254: Using curr as a node name will prevent the node - // from being found in FS.nameTable when FS.open is called on - // a path which holds a child of this node, - // given that all FS functions assume node names - // are just their corresponding parts within their given path, - // rather than incremental aggregates which include their parent's - // directories. - 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]; - } - // We also accept FileList here, by using Array.prototype - 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); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - 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(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=STATICTOP; STATICTOP += 16;; - - var _stdout=STATICTOP; STATICTOP += 16;; - - var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - 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) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - 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; // root node sets parent to itself - } - 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 = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - 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; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - 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); } - } - }); - } - // clone it, so we can return an instance of FSStream - 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); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(err) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(err); - } - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return doCallback(err); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - 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; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - 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 != ERRNO_CODES.EEXIST) throw e; - } - } - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - 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); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : 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) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - 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)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - 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)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - 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 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - 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'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - 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) { - // ignore EEXIST - } - 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; - } - // make sure we can write to the file - 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); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - 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() { - // Find length - 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; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - 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!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - 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; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - 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) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - 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); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - 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(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same 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; // no database to load from - 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; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - 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) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - - // Chromium does not fire the gamepadconnected event on reload, so we need to get the number of gamepads here as a workaround. - // See https://bugs.chromium.org/p/chromium/issues/detail?id=502824 - var firstState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null); - if (firstState) { - JSEvents.numGamepadsConnected = firstState.length; - } - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceMotionEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _glfwGetMouseButton(winid, button) { - return GLFW.getMouseButton(winid, button); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - 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 ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - 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 _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - // NOTE: offset_high is unused - Emscripten's off_t is 32-bit - var offset = offset_low; - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - 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 ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - 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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - - - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - - - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - - - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init(); -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 self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("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) }; -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; -JSEvents.staticInit();; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); - -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; - -staticSealed = true; // seal the static portion of memory - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_glVertexAttrib4f": _glVertexAttrib4f, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_glVertexAttrib3f": _glVertexAttrib3f, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glVertexAttrib2f": _glVertexAttrib2f, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { -'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_max=global.Math.max; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var enlargeMemory=env.enlargeMemory; - var getTotalMemory=env.getTotalMemory; - var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; - var abortStackOverflow=env.abortStackOverflow; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _glVertexAttrib4f=env._glVertexAttrib4f; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _glVertexAttrib3f=env._glVertexAttrib3f; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var ___syscall146=env.___syscall146; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glVertexAttrib2f=env._glVertexAttrib2f; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _llvm_pow_f64=env._llvm_pow_f64; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var ___syscall221=env.___syscall221; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _glfwGetMouseButton=env._glfwGetMouseButton; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _glfwGetKey=env._glfwGetKey; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS - -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $0 = 0, $1 = 0, $2 = 0, $texture$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1264|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1264|0); - $texture$byval_copy = sp + 648|0; - $0 = sp + 44|0; - $1 = sp + 24|0; - $2 = sp; - _InitWindow(800,450,4452); - HEAPF32[4732] = 10.0; - HEAPF32[(18932)>>2] = 8.0; - HEAPF32[(18936)>>2] = 10.0; - HEAPF32[(18940)>>2] = 0.0; - HEAPF32[(18944)>>2] = 2.2999999523162842; - HEAPF32[(18948)>>2] = 0.0; - HEAPF32[(18952)>>2] = 0.0; - HEAPF32[(18956)>>2] = 1.6000000238418579; - HEAPF32[(18960)>>2] = 0.0; - HEAPF32[(18964)>>2] = 45.0; - _LoadModel($0,4494); - _memcpy((18968|0),($0|0),604)|0; - _LoadTexture($1,4514); - ;HEAP32[19572>>2]=HEAP32[$1>>2]|0;HEAP32[19572+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19572+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19572+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19572+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(19232)>>2]=HEAP32[$1>>2]|0;HEAP32[(19232)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(19232)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(19232)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(19232)+16>>2]=HEAP32[$1+16>>2]|0; - dest=$texture$byval_copy; src=18968; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _CalculateBoundingBox($2,$texture$byval_copy); - ;HEAP32[19592>>2]=HEAP32[$2>>2]|0;HEAP32[19592+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[19592+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[19592+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[19592+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[19592+20>>2]=HEAP32[$2+20>>2]|0; - dest=$texture$byval_copy; src=18928; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetCameraMode($texture$byval_copy,1); - _SetTargetFPS(60); - _emscripten_set_main_loop((1|0),0,1); - _memcpy(($texture$byval_copy|0),(18968|0),604)|0; - _UnloadModel($texture$byval_copy); - ;HEAP32[$texture$byval_copy>>2]=HEAP32[19572>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[19572+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[19572+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[19572+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[19572+16>>2]|0; - _UnloadTexture($texture$byval_copy); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy20 = 0, $$byval_copy42 = 0, $$byval_copy52 = 0, $$sink = 0, $$sroa$05$0$copyload = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$221$0$$sroa_idx = 0, $$sroa$225$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$322$0$$sroa_idx = 0, $$sroa$326$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$423$0$$sroa_idx = 0, $$sroa$427$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx9 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$6$0$$sroa_idx = 0; - var $$sroa$6$0$$sroa_idx14 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0.0; - var $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0; - var $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0; - var $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $or$cond = 0, $ray$byval_copy45 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $$byval_copy52 = sp + 952|0; - $ray$byval_copy45 = sp + 928|0; - $$byval_copy42 = sp + 320|0; - $$byval_copy20 = sp + 88|0; - $vararg_buffer14 = sp + 64|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 200|0; - $1 = sp + 192|0; - $2 = sp + 312|0; - $3 = sp + 288|0; - $4 = sp + 160|0; - $5 = sp + 128|0; - $6 = sp + 272|0; - $7 = sp + 240|0; - $8 = sp + 1044|0; - $9 = sp + 232|0; - $10 = sp + 1040|0; - $11 = sp + 1036|0; - $12 = sp + 1032|0; - $13 = sp + 1028|0; - $14 = sp + 1024|0; - $15 = sp + 112|0; - $16 = sp + 1020|0; - $17 = sp + 1016|0; - $18 = sp + 1012|0; - $19 = sp + 1008|0; - $20 = sp + 1004|0; - $21 = sp + 1000|0; - $22 = sp + 996|0; - $23 = sp + 992|0; - _UpdateCamera(18928); - $24 = ((($0)) + 4|0); - HEAPF32[$24>>2] = 3.4028234663852886E+38; - HEAP32[$0>>2] = 0; - HEAP32[$1>>2] = -1; - _GetMousePosition($2); - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$2>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$2+4>>2]|0; - dest=$$byval_copy52; src=18928; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _GetMouseRay($3,$ray$byval_copy45,$$byval_copy52); - ;HEAP32[19616>>2]=HEAP32[$3>>2]|0;HEAP32[19616+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[19616+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[19616+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[19616+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[19616+20>>2]=HEAP32[$3+20>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$3+20>>2]|0; - _GetCollisionRayGround($4,$$byval_copy52,0.0); - $25 = HEAP32[$4>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - $$0 = 4534; - } else { - $27 = ((($4)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = +HEAPF32[$24>>2]; - $30 = $28 < $29; - if ($30) { - ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$4+28>>2]|0; - HEAP8[$1>>0] = 0; - $$sroa$225$0$$sroa_idx = ((($1)) + 1|0); - HEAP8[$$sroa$225$0$$sroa_idx>>0] = -28; - $$sroa$326$0$$sroa_idx = ((($1)) + 2|0); - HEAP8[$$sroa$326$0$$sroa_idx>>0] = 48; - $$sroa$427$0$$sroa_idx = ((($1)) + 3|0); - HEAP8[$$sroa$427$0$$sroa_idx>>0] = -1; - $$0 = 4539; - } else { - $$0 = 4534; - } - } - ;HEAP32[$$byval_copy20>>2]=HEAP32[19616>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[19616+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[19616+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[19616+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[19616+16>>2]|0;HEAP32[$$byval_copy20+20>>2]=HEAP32[19616+20>>2]|0; - ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[32+8>>2]|0; - _GetCollisionRayTriangle($5,$$byval_copy20,$$byval_copy42,$ray$byval_copy45,$$byval_copy52); - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$1 = $$0;$$sink = 0; - } else { - $33 = ((($5)) + 4|0); - $34 = +HEAPF32[$33>>2]; - $35 = +HEAPF32[$24>>2]; - $36 = $34 < $35; - if ($36) { - ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$5+28>>2]|0; - HEAP8[$1>>0] = -56; - $$sroa$221$0$$sroa_idx = ((($1)) + 1|0); - HEAP8[$$sroa$221$0$$sroa_idx>>0] = 122; - $$sroa$322$0$$sroa_idx = ((($1)) + 2|0); - HEAP8[$$sroa$322$0$$sroa_idx>>0] = -1; - $$sroa$423$0$$sroa_idx = ((($1)) + 3|0); - HEAP8[$$sroa$423$0$$sroa_idx>>0] = -1; - $37 = ((($0)) + 8|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$37+8>>2]|0; - ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[32+8>>2]|0; - _Vector3Barycenter($6,$$byval_copy20,$$byval_copy42,$ray$byval_copy45,$$byval_copy52); - ;HEAP32[18916>>2]=HEAP32[$6>>2]|0;HEAP32[18916+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[18916+8>>2]=HEAP32[$6+8>>2]|0; - $$1 = 4546;$$sink = 1; - } else { - $$1 = $$0;$$sink = 0; - } - } - HEAP32[4728] = $$sink; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[19616>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[19616+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[19616+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[19616+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[19616+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[19616+20>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[19592>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[19592+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[19592+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[19592+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[19592+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[19592+20>>2]|0; - $38 = (_CheckCollisionRayBox($ray$byval_copy45,$$byval_copy52)|0); - $39 = ($38|0)==(0); - if ($39) { - $$2 = $$1; - } else { - HEAP32[4727] = 1; - ;HEAP32[$$byval_copy52>>2]=HEAP32[19616>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[19616+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[19616+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[19616+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[19616+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[19616+20>>2]|0; - _GetCollisionRayMesh($7,$$byval_copy52,18968); - $$sroa$05$0$copyload = HEAP32[$7>>2]|0; - $$sroa$5$0$$sroa_idx9 = ((($7)) + 4|0); - $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx9>>2]; - $$sroa$6$0$$sroa_idx = ((($7)) + 8|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$$sroa$6$0$$sroa_idx>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$$sroa$6$0$$sroa_idx+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$$sroa$6$0$$sroa_idx+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[$$sroa$6$0$$sroa_idx+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[$$sroa$6$0$$sroa_idx+16>>2]|0;HEAP32[$$byval_copy20+20>>2]=HEAP32[$$sroa$6$0$$sroa_idx+20>>2]|0; - $40 = ($$sroa$05$0$copyload|0)!=(0); - $41 = +HEAPF32[$24>>2]; - $42 = $$sroa$5$0$copyload < $41; - $or$cond = $40 & $42; - if ($or$cond) { - HEAP32[$0>>2] = $$sroa$05$0$copyload; - HEAPF32[$24>>2] = $$sroa$5$0$copyload; - $$sroa$6$0$$sroa_idx14 = ((($0)) + 8|0); - ;HEAP32[$$sroa$6$0$$sroa_idx14>>2]=HEAP32[$$byval_copy20>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+4>>2]=HEAP32[$$byval_copy20+4>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+8>>2]=HEAP32[$$byval_copy20+8>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+12>>2]=HEAP32[$$byval_copy20+12>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+16>>2]=HEAP32[$$byval_copy20+16>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+20>>2]=HEAP32[$$byval_copy20+20>>2]|0; - HEAP8[$1>>0] = -1; - $$sroa$2$0$$sroa_idx = ((($1)) + 1|0); - HEAP8[$$sroa$2$0$$sroa_idx>>0] = -95; - $$sroa$3$0$$sroa_idx = ((($1)) + 2|0); - HEAP8[$$sroa$3$0$$sroa_idx>>0] = 0; - $$sroa$4$0$$sroa_idx = ((($1)) + 3|0); - HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; - $$2 = 4555; - } else { - $$2 = $$1; - } - } - HEAP32[4727] = 0; - _BeginDrawing(); - HEAP8[$8>>0] = -11; - $43 = ((($8)) + 1|0); - HEAP8[$43>>0] = -11; - $44 = ((($8)) + 2|0); - HEAP8[$44>>0] = -11; - $45 = ((($8)) + 3|0); - HEAP8[$45>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$8+3>>0]|0; - _ClearBackground($$byval_copy52); - dest=$$byval_copy52; src=18928; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy52); - HEAP32[$9>>2] = -1; - _memcpy(($$byval_copy42|0),(18968|0),604)|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18896>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18896+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18896+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$9+3>>0]|0; - _DrawModel($$byval_copy42,$ray$byval_copy45,1.0,$$byval_copy52); - HEAP8[$10>>0] = -56; - $46 = ((($10)) + 1|0); - HEAP8[$46>>0] = 122; - $47 = ((($10)) + 2|0); - HEAP8[$47>>0] = -1; - $48 = ((($10)) + 3|0); - HEAP8[$48>>0] = -1; - ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$10+3>>0]|0; - _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); - HEAP8[$11>>0] = -56; - $49 = ((($11)) + 1|0); - HEAP8[$49>>0] = 122; - $50 = ((($11)) + 2|0); - HEAP8[$50>>0] = -1; - $51 = ((($11)) + 3|0); - HEAP8[$51>>0] = -1; - ;HEAP32[$$byval_copy42>>2]=HEAP32[20>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[20+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[32>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[32+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$11+3>>0]|0; - _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); - HEAP8[$12>>0] = -56; - $52 = ((($12)) + 1|0); - HEAP8[$52>>0] = 122; - $53 = ((($12)) + 2|0); - HEAP8[$53>>0] = -1; - $54 = ((($12)) + 3|0); - HEAP8[$54>>0] = -1; - ;HEAP32[$$byval_copy42>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[32+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[8>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[8+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$12+3>>0]|0; - _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); - $55 = HEAP32[4727]|0; - $56 = ($55|0)==(0); - if (!($56)) { - HEAP8[$13>>0] = 0; - $57 = ((($13)) + 1|0); - HEAP8[$57>>0] = -98; - $58 = ((($13)) + 2|0); - HEAP8[$58>>0] = 47; - $59 = ((($13)) + 3|0); - HEAP8[$59>>0] = -1; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[19592>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[19592+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[19592+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[19592+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[19592+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[19592+20>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$13+3>>0]|0; - _DrawBoundingBox($ray$byval_copy45,$$byval_copy52); - } - $60 = HEAP32[$0>>2]|0; - $61 = ($60|0)==(0); - if (!($61)) { - $62 = ((($0)) + 8|0); - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$62>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[$62+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$1+3>>0]|0; - _DrawCube($ray$byval_copy45,0.5,0.5,0.5,$$byval_copy52); - HEAP8[$14>>0] = -3; - $63 = ((($14)) + 1|0); - HEAP8[$63>>0] = -7; - $64 = ((($14)) + 2|0); - HEAP8[$64>>0] = 0; - $65 = ((($14)) + 3|0); - HEAP8[$65>>0] = -1; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$62>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[$62+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$14+3>>0]|0; - _DrawCubeWires($ray$byval_copy45,0.5,0.5,0.5,$$byval_copy52); - $66 = +HEAPF32[$62>>2]; - $67 = ((($0)) + 20|0); - $68 = +HEAPF32[$67>>2]; - $69 = $66 + $68; - HEAPF32[$15>>2] = $69; - $70 = ((($0)) + 12|0); - $71 = +HEAPF32[$70>>2]; - $72 = ((($0)) + 24|0); - $73 = +HEAPF32[$72>>2]; - $74 = $71 + $73; - $75 = ((($15)) + 4|0); - HEAPF32[$75>>2] = $74; - $76 = ((($0)) + 16|0); - $77 = +HEAPF32[$76>>2]; - $78 = ((($0)) + 28|0); - $79 = +HEAPF32[$78>>2]; - $80 = $77 + $79; - $81 = ((($15)) + 8|0); - HEAPF32[$81>>2] = $80; - HEAP8[$16>>0] = -3; - $82 = ((($16)) + 1|0); - HEAP8[$82>>0] = -7; - $83 = ((($16)) + 2|0); - HEAP8[$83>>0] = 0; - $84 = ((($16)) + 3|0); - HEAP8[$84>>0] = -1; - ;HEAP32[$$byval_copy42>>2]=HEAP32[$62>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[$62+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$15>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[$15+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$16+3>>0]|0; - _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); - } - HEAP8[$17>>0] = -66; - $85 = ((($17)) + 1|0); - HEAP8[$85>>0] = 33; - $86 = ((($17)) + 2|0); - HEAP8[$86>>0] = 55; - $87 = ((($17)) + 3|0); - HEAP8[$87>>0] = -1; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[19616>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[19616+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[19616+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[19616+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[19616+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[19616+20>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$17+3>>0]|0; - _DrawRay($ray$byval_copy45,$$byval_copy52); - _DrawGrid(100,1.0); - _End3dMode(); - HEAP32[$vararg_buffer>>2] = $$2; - $88 = (_FormatText(4560,$vararg_buffer)|0); - HEAP8[$18>>0] = 0; - $89 = ((($18)) + 1|0); - HEAP8[$89>>0] = 0; - $90 = ((($18)) + 2|0); - HEAP8[$90>>0] = 0; - $91 = ((($18)) + 3|0); - HEAP8[$91>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$18+3>>0]|0; - _DrawText($88,10,50,10,$$byval_copy52); - $92 = HEAP32[$0>>2]|0; - $93 = ($92|0)==(0); - if ($93) { - HEAP8[$23>>0] = -126; - $138 = ((($23)) + 1|0); - HEAP8[$138>>0] = -126; - $139 = ((($23)) + 2|0); - HEAP8[$139>>0] = -126; - $140 = ((($23)) + 3|0); - HEAP8[$140>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(4676,10,430,10,$$byval_copy52); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; - } - $94 = +HEAPF32[$24>>2]; - $95 = $94; - HEAPF64[$vararg_buffer1>>3] = $95; - $96 = (_FormatText(4575,$vararg_buffer1)|0); - HEAP8[$19>>0] = 0; - $97 = ((($19)) + 1|0); - HEAP8[$97>>0] = 0; - $98 = ((($19)) + 2|0); - HEAP8[$98>>0] = 0; - $99 = ((($19)) + 3|0); - HEAP8[$99>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$19+3>>0]|0; - _DrawText($96,10,70,10,$$byval_copy52); - $100 = ((($0)) + 8|0); - $101 = +HEAPF32[$100>>2]; - $102 = $101; - $103 = ((($0)) + 12|0); - $104 = +HEAPF32[$103>>2]; - $105 = $104; - $106 = ((($0)) + 16|0); - $107 = +HEAPF32[$106>>2]; - $108 = $107; - HEAPF64[$vararg_buffer4>>3] = $102; - $vararg_ptr7 = ((($vararg_buffer4)) + 8|0); - HEAPF64[$vararg_ptr7>>3] = $105; - $vararg_ptr8 = ((($vararg_buffer4)) + 16|0); - HEAPF64[$vararg_ptr8>>3] = $108; - $109 = (_FormatText(4591,$vararg_buffer4)|0); - HEAP8[$20>>0] = 0; - $110 = ((($20)) + 1|0); - HEAP8[$110>>0] = 0; - $111 = ((($20)) + 2|0); - HEAP8[$111>>0] = 0; - $112 = ((($20)) + 3|0); - HEAP8[$112>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$20+3>>0]|0; - _DrawText($109,10,85,10,$$byval_copy52); - $113 = ((($0)) + 20|0); - $114 = +HEAPF32[$113>>2]; - $115 = $114; - $116 = ((($0)) + 24|0); - $117 = +HEAPF32[$116>>2]; - $118 = $117; - $119 = ((($0)) + 28|0); - $120 = +HEAPF32[$119>>2]; - $121 = $120; - HEAPF64[$vararg_buffer9>>3] = $115; - $vararg_ptr12 = ((($vararg_buffer9)) + 8|0); - HEAPF64[$vararg_ptr12>>3] = $118; - $vararg_ptr13 = ((($vararg_buffer9)) + 16|0); - HEAPF64[$vararg_ptr13>>3] = $121; - $122 = (_FormatText(4618,$vararg_buffer9)|0); - HEAP8[$21>>0] = 0; - $123 = ((($21)) + 1|0); - HEAP8[$123>>0] = 0; - $124 = ((($21)) + 2|0); - HEAP8[$124>>0] = 0; - $125 = ((($21)) + 3|0); - HEAP8[$125>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$21+3>>0]|0; - _DrawText($122,10,100,10,$$byval_copy52); - $126 = HEAP32[4728]|0; - $127 = ($126|0)==(0); - if ($127) { - HEAP8[$23>>0] = -126; - $138 = ((($23)) + 1|0); - HEAP8[$138>>0] = -126; - $139 = ((($23)) + 2|0); - HEAP8[$139>>0] = -126; - $140 = ((($23)) + 3|0); - HEAP8[$140>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(4676,10,430,10,$$byval_copy52); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; - } - $128 = +HEAPF32[4729]; - $129 = $128; - $130 = +HEAPF32[(18920)>>2]; - $131 = $130; - $132 = +HEAPF32[(18924)>>2]; - $133 = $132; - HEAPF64[$vararg_buffer14>>3] = $129; - $vararg_ptr17 = ((($vararg_buffer14)) + 8|0); - HEAPF64[$vararg_ptr17>>3] = $131; - $vararg_ptr18 = ((($vararg_buffer14)) + 16|0); - HEAPF64[$vararg_ptr18>>3] = $133; - $134 = (_FormatText(4646,$vararg_buffer14)|0); - HEAP8[$22>>0] = 0; - $135 = ((($22)) + 1|0); - HEAP8[$135>>0] = 0; - $136 = ((($22)) + 2|0); - HEAP8[$136>>0] = 0; - $137 = ((($22)) + 3|0); - HEAP8[$137>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$22+3>>0]|0; - _DrawText($134,10,115,10,$$byval_copy52); - HEAP8[$23>>0] = -126; - $138 = ((($23)) + 1|0); - HEAP8[$138>>0] = -126; - $139 = ((($23)) + 2|0); - HEAP8[$139>>0] = -126; - $140 = ((($23)) + 3|0); - HEAP8[$140>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(4676,10,430,10,$$byval_copy52); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; -} -function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; - var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; - var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; - var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; - var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; - var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; - var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; - var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; - var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; - var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; - var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; - var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; - var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; - var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; - var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; - var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; - var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; - var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; - var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; - var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; - var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; - var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; - var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; - var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; - var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; - var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; - var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; - var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; - var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; - var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; - var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; - var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; - var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; - var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; - var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; - var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; - var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; - var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; - var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; - var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; - var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; - var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; - var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; - var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; - var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; - var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; - var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; - var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; - var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; - var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; - var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; - var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; - var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; - var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; - var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; - var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; - var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; - var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; - var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; - var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; - var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; - var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; - var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; - var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; - var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; - var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; - var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; - var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; - var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; - var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; - var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; - var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; - var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; - var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; - var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; - var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $7 = sp + 64|0; - $8 = sp; - $9 = HEAP32[$2>>2]|0; - $10 = (($1) + ($9)|0); - $11 = HEAP32[$5>>2]|0; - $12 = (($4) + ($11)|0); - $13 = $6 & 4; - $14 = ($13|0)!=(0); - $15 = $4; - $16 = $3; - $17 = $16 ^ -1; - $18 = (($15) + ($17))|0; - $19 = (($18) + ($11))|0; - $$1753 = $14 ? -1 : $19; - $20 = (($$1753) + 1)|0; - $21 = $20 & $$1753; - $22 = ($21|0)!=(0); - $23 = ($4>>>0)<($3>>>0); - $or$cond1702 = $23 | $22; - if ($or$cond1702) { - HEAP32[$5>>2] = 0; - HEAP32[$2>>2] = 0; - $$0951 = -3; - STACKTOP = sp;return ($$0951|0); - } - $24 = ((($0)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 56|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($0)) + 60|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - L5: do { - switch ($36|0) { - case 0: { - $37 = ((($0)) + 12|0); - HEAP32[$37>>2] = 0; - $38 = ((($0)) + 8|0); - HEAP32[$38>>2] = 0; - $39 = ((($0)) + 28|0); - HEAP32[$39>>2] = 1; - $40 = ((($0)) + 16|0); - HEAP32[$40>>2] = 1; - $41 = $6 & 1; - $42 = ($41|0)==(0); - if ($42) { - $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; - label = 14; - } else { - $43 = ($9|0)<(1); - if ($43) { - $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; - label = 6; - } else { - $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; - label = 8; - } - } - break; - } - case 1: { - $46 = ($9|0)>(0); - if ($46) { - $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; - label = 8; - } else { - $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; - label = 6; - } - break; - } - case 2: { - $53 = ($9|0)>(0); - if ($53) { - $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; - label = 12; - } else { - $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; - label = 10; - } - break; - } - case 36: { - $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; - label = 243; - break; - } - case 3: { - $75 = ($9|0)>(0); - if ($75) { - $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; - label = 18; - } else { - $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; - label = 16; - } - break; - } - case 5: { - $90 = ($9|0)>(0); - if ($90) { - $91 = ((($1)) + 1|0); - $92 = HEAP8[$1>>0]|0; - $93 = $92&255; - $$01412 = $93;$$111518 = $91; - } else { - $88 = $6 & 2; - $89 = ($88|0)==(0); - if ($89) { - $$01412 = 0;$$111518 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; - label = 243; - break L5; - } - } - $94 = $$01412 << $25; - $95 = $94 | $27; - $96 = (($25) + 8)|0; - $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; - label = 25; - break; - } - case 6: { - $106 = ($9|0)>(0); - if ($106) { - $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; - label = 32; - } else { - $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; - label = 30; - } - break; - } - case 7: { - $120 = ($9|0)>(0); - if ($120) { - $121 = ((($1)) + 1|0); - $122 = HEAP8[$1>>0]|0; - $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; - label = 39; - } else { - $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; - label = 36; - } - break; - } - case 39: { - $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; - label = 43; - break; - } - case 51: { - $152 = ($9|0)>(0); - if ($152) { - $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; - label = 49; - } else { - $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; - label = 47; - } - break; - } - case 52: { - $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; - label = 52; - break; - } - case 9: { - $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; - label = 55; - break; - } - case 38: { - $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; - label = 56; - break; - } - case 40: { - $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; - label = 58; - break; - } - case 10: { - $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; - label = 60; - break; - } - case 11: { - $193 = ($9|0)>(0); - if ($193) { - $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; - label = 66; - } else { - $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; - label = 64; - } - break; - } - case 14: { - $224 = ($9|0)>(0); - if ($224) { - $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; - label = 75; - } else { - $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; - label = 73; - } - break; - } - case 35: { - $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; - label = 86; - break; - } - case 16: { - $452 = ($9|0)>(0); - if ($452) { - $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; - label = 116; - } else { - $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; - label = 114; - } - break; - } - case 17: { - $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; - label = 125; - break; - } - case 18: { - $503 = ($9|0)>(0); - if ($503) { - $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; - label = 130; - } else { - $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; - label = 128; - } - break; - } - case 21: { - $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; - label = 136; - break; - } - case 23: { - $572 = ($9|0)>(0); - if ($572) { - $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; - label = 153; - } else { - $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; - label = 151; - } - break; - } - case 24: { - $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; - label = 160; - break; - } - case 25: { - $696 = ($9|0)>(0); - if ($696) { - $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; - label = 182; - } else { - $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; - label = 180; - } - break; - } - case 26: { - $737 = ($9|0)>(0); - if ($737) { - $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; - label = 195; - } else { - $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; - label = 193; - } - break; - } - case 27: { - $784 = ($9|0)>(0); - if ($784) { - $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; - label = 206; - } else { - $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; - label = 204; - } - break; - } - case 37: { - $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; - label = 210; - break; - } - case 53: { - $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; - label = 213; - break; - } - case 32: { - $842 = ($9|0)>(0); - if ($842) { - $843 = ((($1)) + 1|0); - $844 = HEAP8[$1>>0]|0; - $845 = $844&255; - $$0949 = $845;$$881595 = $843; - } else { - $840 = $6 & 2; - $841 = ($840|0)==(0); - if ($841) { - $$0949 = 0;$$881595 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; - label = 243; - break L5; - } - } - $846 = $$0949 << $25; - $847 = $846 | $27; - $848 = (($25) + 8)|0; - $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; - label = 226; - break; - } - case 41: { - $858 = ($9|0)>(0); - if ($858) { - $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; - label = 233; - } else { - $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; - label = 231; - } - break; - } - case 42: { - $871 = ($9|0)>(0); - if ($871) { - $872 = ((($1)) + 1|0); - $873 = HEAP8[$1>>0]|0; - $874 = $873&255; - $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; - label = 241; - } else { - $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; - label = 237; - } - break; - } - case 34: { - $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; - label = 242; - break; - } - default: { - $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; - label = 244; - } - } - } while(0); - if ((label|0) == 6) { - $44 = $6 & 2; - $45 = ($44|0)==(0); - if ($45) { - $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; - label = 9; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; - label = 243; - } - } - else if ((label|0) == 8) { - $47 = ((($1)) + 1|0); - $48 = HEAP8[$1>>0]|0; - $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; - label = 9; - } - if ((label|0) == 9) { - $$sink3 = $$sink3$shrunk&255; - $49 = ((($0)) + 8|0); - HEAP32[$49>>2] = $$sink3; - $50 = ($$01507>>>0)<($10>>>0); - if ($50) { - $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; - label = 12; - } else { - $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; - label = 10; - } - } - if ((label|0) == 10) { - $51 = $6 & 2; - $52 = ($51|0)==(0); - if ($52) { - $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; - label = 13; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; - label = 243; - } - } - else if ((label|0) == 12) { - $54 = ((($$sink1705)) + 1|0); - $55 = HEAP8[$$sink1705>>0]|0; - $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; - label = 13; - } - if ((label|0) == 13) { - $$sink9 = $$sink9$shrunk&255; - $56 = ((($0)) + 12|0); - HEAP32[$56>>2] = $$sink9; - $57 = ((($0)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = $58 << 8; - $60 = $59 | $$sink9; - $61 = (($60>>>0) % 31)&-1; - $62 = $$sink9 & 32; - $63 = $61 | $62; - $64 = $58 & 15; - $65 = ($64|0)!=(8); - $not$ = ($63|0)!=(0); - $$1754 = $65 | $not$; - $66 = $58 >>> 4; - $67 = 256 << $66; - $68 = ($67>>>0)>(32768); - $69 = ($20>>>0)<($67>>>0); - $$ = $68 | $69; - $not$1755 = $14 ^ 1; - $70 = $$ & $not$1755; - $$31100$v = $70 | $$1754; - if ($$31100$v) { - $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; - label = 243; - } else { - $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; - label = 14; - } - } - L46: while(1) { - switch (label|0) { - case 14: { - label = 0; - $71 = ($$5>>>0)<(3); - if ($71) { - $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; - label = 15; - } else { - $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; - label = 20; - } - break; - } - case 16: { - label = 0; - $73 = $6 & 2; - $74 = ($73|0)==(0); - if ($74) { - $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; - label = 19; - } else { - $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; - label = 243; - continue L46; - } - break; - } - case 18: { - label = 0; - $76 = ((($$sink1710)) + 1|0); - $77 = HEAP8[$$sink1710>>0]|0; - $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; - label = 19; - break; - } - case 25: { - label = 0; - $97 = $$13 & 7; - $98 = $$131322 >>> $97; - $99 = (($$13) - ($97))|0; - $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; - label = 26; - break; - } - case 30: { - label = 0; - $104 = $6 & 2; - $105 = ($104|0)==(0); - if ($105) { - $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; - label = 33; - } else { - $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; - label = 243; - continue L46; - } - break; - } - case 32: { - label = 0; - $107 = ((($$sink1713)) + 1|0); - $108 = HEAP8[$$sink1713>>0]|0; - $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; - label = 33; - break; - } - case 36: { - label = 0; - $118 = $6 & 2; - $119 = ($118|0)==(0); - if ($119) { - $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; - label = 39; - continue L46; - } else { - $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; - label = 243; - continue L46; - } - break; - } - case 39: { - label = 0; - $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); - HEAP8[$$sink13>>0] = $$sink12; - $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; - label = 41; - break; - } - case 43: { - label = 0; - $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; - label = 243; - continue L46; - break; - } - case 47: { - label = 0; - $150 = $6 & 2; - $151 = ($150|0)==(0); - if ($151) { - $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; - label = 50; - } else { - $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; - label = 243; - continue L46; - } - break; - } - case 49: { - label = 0; - $153 = ((($$sink1716)) + 1|0); - $154 = HEAP8[$$sink1716>>0]|0; - $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; - label = 50; - break; - } - case 52: { - label = 0; - $162 = ($$231630>>>0)<($12>>>0); - if (!($162)) { - $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; - label = 243; - continue L46; - } - $163 = $$271018&255; - $164 = ((($$231630)) + 1|0); - HEAP8[$$231630>>0] = $163; - $165 = (($$271124) + -1)|0; - $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; - label = 44; - break; - } - case 55: { - label = 0; - $167 = ($$251632>>>0)<($12>>>0); - if ($167) { - $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; - label = 56; - continue L46; - } else { - $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; - label = 243; - continue L46; - } - break; - } - case 56: { - label = 0; - $168 = ($$301537>>>0)<($10>>>0); - if ($168) { - $171 = $12; - $172 = $$261633; - $173 = (($171) - ($172))|0; - $174 = $10; - $175 = $$301537; - $176 = (($174) - ($175))|0; - $177 = ($173>>>0)<($176>>>0); - $$sink17 = $177 ? $12 : $10; - $$sink16 = $177 ? $$261633 : $$301537; - $178 = $$sink17; - $179 = $$sink16; - $180 = (($178) - ($179))|0; - $181 = ($180>>>0)<($$301127>>>0); - $$$301127 = $181 ? $180 : $$301127; - _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; - $182 = (($$301537) + ($$$301127)|0); - $183 = (($$261633) + ($$$301127)|0); - $184 = (($$301127) - ($$$301127))|0; - $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; - label = 54; - break; - } else { - $169 = $6 & 2; - $170 = ($169|0)==(0); - if ($170) { - $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; - label = 58; - continue L46; - } else { - $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; - label = 243; - continue L46; - } - } - break; - } - case 58: { - label = 0; - $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; - label = 243; - continue L46; - break; - } - case 60: { - label = 0; - $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; - label = 243; - continue L46; - break; - } - case 64: { - label = 0; - $191 = $6 & 2; - $192 = ($191|0)==(0); - if ($192) { - $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; - label = 67; - } else { - $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; - label = 243; - continue L46; - } - break; - } - case 66: { - label = 0; - $194 = ((($$sink1719)) + 1|0); - $195 = HEAP8[$$sink1719>>0]|0; - $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; - label = 67; - break; - } - case 73: { - label = 0; - $222 = $6 & 2; - $223 = ($222|0)==(0); - if ($223) { - $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; - label = 76; - } else { - $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; - label = 243; - continue L46; - } - break; - } - case 75: { - label = 0; - $225 = ((($$sink1722)) + 1|0); - $226 = HEAP8[$$sink1722>>0]|0; - $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; - label = 76; - break; - } - case 86: { - label = 0; - $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; - label = 243; - continue L46; - break; - } - case 114: { - label = 0; - $450 = $6 & 2; - $451 = ($450|0)==(0); - if ($451) { - $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; - label = 117; - } else { - $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; - label = 243; - continue L46; - } - break; - } - case 116: { - label = 0; - $453 = ((($$sink1729)) + 1|0); - $454 = HEAP8[$$sink1729>>0]|0; - $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; - label = 117; - break; - } - case 125: { - label = 0; - $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; - label = 243; - continue L46; - break; - } - case 128: { - label = 0; - $501 = $6 & 2; - $502 = ($501|0)==(0); - if ($502) { - $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; - label = 131; - } else { - $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; - label = 243; - continue L46; - } - break; - } - case 130: { - label = 0; - $504 = ((($$sink1732)) + 1|0); - $505 = HEAP8[$$sink1732>>0]|0; - $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; - label = 131; - break; - } - case 136: { - label = 0; - $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; - label = 243; - continue L46; - break; - } - case 151: { - label = 0; - $570 = $6 & 2; - $571 = ($570|0)==(0); - if ($571) { - $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; - label = 154; - } else { - $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; - label = 243; - continue L46; - } - break; - } - case 153: { - label = 0; - $573 = ((($$sink1736)) + 1|0); - $574 = HEAP8[$$sink1736>>0]|0; - $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; - label = 154; - break; - } - case 160: { - label = 0; - $610 = ($$591666>>>0)<($12>>>0); - if (!($610)) { - $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; - label = 243; - continue L46; - } - $611 = $$621159&255; - $612 = ((($$591666)) + 1|0); - HEAP8[$$591666>>0] = $611; - $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; - label = 140; - break; - } - case 180: { - label = 0; - $694 = $6 & 2; - $695 = ($694|0)==(0); - if ($695) { - $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; - label = 183; - } else { - $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; - label = 243; - continue L46; - } - break; - } - case 182: { - label = 0; - $697 = ((($$sink1739)) + 1|0); - $698 = HEAP8[$$sink1739>>0]|0; - $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; - label = 183; - break; - } - case 193: { - label = 0; - $735 = $6 & 2; - $736 = ($735|0)==(0); - if ($736) { - $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; - label = 196; - } else { - $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; - label = 243; - continue L46; - } - break; - } - case 195: { - label = 0; - $738 = ((($$sink1743)) + 1|0); - $739 = HEAP8[$$sink1743>>0]|0; - $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; - label = 196; - break; - } - case 204: { - label = 0; - $782 = $6 & 2; - $783 = ($782|0)==(0); - if ($783) { - $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; - label = 207; - } else { - $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; - label = 243; - continue L46; - } - break; - } - case 206: { - label = 0; - $785 = ((($$sink1746)) + 1|0); - $786 = HEAP8[$$sink1746>>0]|0; - $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; - label = 207; - break; - } - case 210: { - label = 0; - $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; - label = 243; - continue L46; - break; - } - case 213: { - label = 0; - $809 = ($$781685>>>0)<($12>>>0); - if (!($809)) { - $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; - label = 243; - continue L46; - } - $810 = (($$751491) + 1)|0; - $811 = (($$751491) - ($$791070))|0; - $812 = $811 & $$1753; - $813 = (($3) + ($812)|0); - $814 = HEAP8[$813>>0]|0; - $815 = ((($$781685)) + 1|0); - HEAP8[$$781685>>0] = $814; - $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; - label = 212; - break; - } - case 226: { - label = 0; - $849 = $$90 & 7; - $850 = $$901399 >>> $849; - $851 = (($$90) - ($849))|0; - $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; - label = 227; - break; - } - case 231: { - label = 0; - $856 = $6 & 2; - $857 = ($856|0)==(0); - if ($857) { - $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; - label = 234; - } else { - $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; - label = 243; - continue L46; - } - break; - } - case 233: { - label = 0; - $859 = ((($$sink1750)) + 1|0); - $860 = HEAP8[$$sink1750>>0]|0; - $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; - label = 234; - break; - } - case 237: { - label = 0; - $869 = $6 & 2; - $870 = ($869|0)==(0); - if ($870) { - $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; - label = 241; - continue L46; - } else { - $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; - label = 243; - continue L46; - } - break; - } - case 241: { - label = 0; - $878 = ((($0)) + 16|0); - $879 = HEAP32[$878>>2]|0; - $880 = $879 << 8; - $881 = $880 | $$0948; - HEAP32[$878>>2] = $881; - $882 = (($$931190) + 1)|0; - $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; - label = 227; - break; - } - case 242: { - label = 0; - $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; - label = 243; - continue L46; - break; - } - case 243: { - label = 0; - HEAP32[$0>>2] = $$sink30; - $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; - label = 244; - continue L46; - break; - } - case 244: { - label = 0; - HEAP32[$24>>2] = $$100; - HEAP32[$26>>2] = $$1001409; - HEAP32[$28>>2] = $$941085; - HEAP32[$30>>2] = $$961193; - HEAP32[$32>>2] = $$961299; - HEAP32[$34>>2] = $$901506; - $883 = $$991606; - $884 = $1; - $885 = (($883) - ($884))|0; - HEAP32[$2>>2] = $885; - $886 = $$941701; - $887 = $4; - $888 = (($886) - ($887))|0; - HEAP32[$5>>2] = $888; - $889 = $6 & 9; - $890 = ($889|0)!=(0); - $891 = ($$1961|0)>(-1); - $or$cond29 = $890 & $891; - if ($or$cond29) { - break L46; - } else { - $$0951 = $$1961; - label = 258; - break L46; - } - break; - } - } - switch (label|0) { - case 19: { - label = 0; - $$01413 = $$01413$shrunk&255; - $78 = $$01413 << $$8; - $79 = $78 | $$81317; - $80 = (($$8) + 8)|0; - $81 = ($80>>>0)<(3); - if ($81) { - $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; - label = 15; - } else { - $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; - label = 20; - } - break; - } - case 33: { - label = 0; - $$01411 = $$01411$shrunk&255; - $109 = $$01411 << $$17; - $110 = $109 | $$171326; - $111 = (($$17) + 8)|0; - $112 = ($$17>>>0)>(4294967287); - if ($112) { - $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; - label = 29; - } else { - $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; - label = 34; - } - break; - } - case 50: { - label = 0; - $$01410 = $$01410$shrunk&255; - $155 = $$01410 << $$26; - $156 = $155 | $$261335; - $157 = (($$26) + 8)|0; - $158 = ($$26>>>0)>(4294967287); - if ($158) { - $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; - label = 46; - } else { - $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; - label = 51; - } - break; - } - case 67: { - label = 0; - $$01300 = $$01300$shrunk&255; - $196 = $$01300 << $$37; - $197 = $196 | $$371346; - $198 = (($$37) + 8)|0; - $199 = (4701 + ($$361133)|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200 << 24 >> 24; - $202 = ($198>>>0)<($201>>>0); - if ($202) { - $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; - label = 63; - } else { - $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; - label = 68; - } - break; - } - case 76: { - label = 0; - $$01202 = $$01202$shrunk&255; - $227 = $$01202 << $$42; - $228 = $227 | $$421351; - $229 = (($$42) + 8)|0; - $230 = ($229>>>0)<(3); - if ($230) { - $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; - label = 72; - } else { - $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; - label = 77; - } - break; - } - case 117: { - label = 0; - $$0980 = $$0980$shrunk&255; - $455 = $$0980 << $$49; - $456 = $455 | $$491358; - $457 = (($$49) + 8)|0; - $458 = ($457>>>0)<(15); - if ($458) { - $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; - label = 108; - } else { - $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; - label = 119; - } - break; - } - case 131: { - label = 0; - $$0979 = $$0979$shrunk&255; - $506 = $$0979 << $$54; - $507 = $506 | $$541363; - $508 = (($$54) + 8)|0; - $509 = ($508>>>0)<($$541257>>>0); - if ($509) { - $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; - label = 127; - } else { - $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; - label = 132; - } - break; - } - case 154: { - label = 0; - $$0971 = $$0971$shrunk&255; - $575 = $$0971 << $$62; - $576 = $575 | $$621371; - $577 = (($$62) + 8)|0; - $578 = ($577>>>0)<(15); - if ($578) { - $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; - label = 145; - } else { - $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; - label = 156; - } - break; - } - case 183: { - label = 0; - $$0959 = $$0959$shrunk&255; - $699 = $$0959 << $$71; - $700 = $699 | $$711380; - $701 = (($$71) + 8)|0; - $702 = ($701>>>0)<($$681271>>>0); - if ($702) { - $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; - label = 179; - } else { - $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; - label = 184; - } - break; - } - case 196: { - label = 0; - $$0952 = $$0952$shrunk&255; - $740 = $$0952 << $$76; - $741 = $740 | $$761385; - $742 = (($$76) + 8)|0; - $743 = ($742>>>0)<(15); - if ($743) { - $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; - label = 187; - } else { - $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; - label = 198; - } - break; - } - case 207: { - label = 0; - $$0950 = $$0950$shrunk&255; - $787 = $$0950 << $$80; - $788 = $787 | $$801389; - $789 = (($$80) + 8)|0; - $790 = ($789>>>0)<($$761279>>>0); - if ($790) { - $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; - label = 203; - } else { - $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; - label = 208; - } - break; - } - case 227: { - label = 0; - $852 = ($$871184>>>0)<(4); - if (!($852)) { - $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; - label = 242; - continue L46; - } - $853 = ($$91|0)==(0); - if (!($853)) { - $854 = ($$91>>>0)<(8); - if ($854) { - $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; - label = 230; - break; - } else { - $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; - label = 235; - break; - } - } - $868 = ($$901597>>>0)<($10>>>0); - if (!($868)) { - $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; - label = 237; - continue L46; - } - $875 = ((($$901597)) + 1|0); - $876 = HEAP8[$$901597>>0]|0; - $877 = $876&255; - $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; - label = 241; - continue L46; - break; - } - case 234: { - label = 0; - $$0947 = $$0947$shrunk&255; - $861 = $$0947 << $$94; - $862 = $861 | $$941403; - $863 = (($$94) + 8)|0; - $864 = ($$94>>>0)>(4294967287); - if ($864) { - $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; - label = 230; - } else { - $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; - label = 235; - } - break; - } - } - L119: do { - if ((label|0) == 15) { - label = 0; - $72 = ($$51512>>>0)<($10>>>0); - if ($72) { - $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; - label = 18; - continue L46; - } else { - $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; - label = 16; - continue L46; - } - } - else if ((label|0) == 20) { - label = 0; - $82 = $$91318 & 7; - $83 = ((($0)) + 20|0); - HEAP32[$83>>2] = $82; - $84 = $$91318 >>> 3; - $85 = (($$9) + -3)|0; - $86 = $82 >>> 1; - $87 = ((($0)) + 24|0); - HEAP32[$87>>2] = $86; - $trunc = $86&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; - label = 25; - continue L46; - break; - } - case 3: { - $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; - label = 60; - continue L46; - break; - } - case 1: { - break; - } - default: { - $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; - label = 61; - break L119; - } - } - $240 = ((($0)) + 44|0); - HEAP32[$240>>2] = 288; - $241 = ((($0)) + 48|0); - HEAP32[$241>>2] = 32; - $242 = ((($0)) + 3552|0); - ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; - $scevgep19611962 = ((($0)) + 64|0); - _memset(($scevgep19611962|0),8,144)|0; - $scevgep1959 = ((($0)) + 208|0); - dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1957 = ((($0)) + 320|0); - dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1955 = ((($0)) + 344|0); - $243 = $scevgep1955; - $244 = $243; - HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; - $245 = (($243) + 4)|0; - $246 = $245; - HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; - $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; - label = 80; - } - else if ((label|0) == 230) { - label = 0; - $855 = ($$911598>>>0)<($10>>>0); - if ($855) { - $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; - label = 233; - continue L46; - } else { - $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; - label = 231; - continue L46; - } - } - else if ((label|0) == 235) { - label = 0; - $865 = $$951404 & 255; - $866 = $$951404 >>> 8; - $867 = (($$95) + -8)|0; - $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; - label = 241; - continue L46; - } - } while(0); - L125: while(1) { - L126: switch (label|0) { - case 26: { - label = 0; - $100 = ($$131110>>>0)<(4); - if (!($100)) { - $127 = ((($0)) + 10528|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = ((($0)) + 10529|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 << 8; - $134 = $133 | $129; - $135 = ((($0)) + 10530|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = ((($0)) + 10531|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $140 << 8; - $142 = $141 | $137; - $143 = $142 ^ 65535; - $144 = ($134|0)==($143|0); - if ($144) { - $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; - label = 44; - continue L125; - } else { - $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; - label = 43; - continue L46; - } - } - $101 = ($$14|0)==(0); - if (!($101)) { - $102 = ($$14>>>0)<(8); - if ($102) { - $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; - label = 29; - continue L125; - } else { - $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; - label = 34; - continue L125; - } - } - $117 = ($$131520>>>0)<($10>>>0); - if (!($117)) { - $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; - label = 36; - continue L46; - } - $123 = ((($$131520)) + 1|0); - $124 = HEAP8[$$131520>>0]|0; - $125 = (((($0)) + 10528|0) + ($$131110)|0); - HEAP8[$125>>0] = $124; - $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; - label = 41; - continue L125; - break; - } - case 29: { - label = 0; - $103 = ($$141521>>>0)<($10>>>0); - if ($103) { - $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; - label = 32; - continue L46; - } else { - $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; - label = 30; - continue L46; - } - break; - } - case 34: { - label = 0; - $113 = $$181327&255; - $114 = (((($0)) + 10528|0) + ($$171114)|0); - HEAP8[$114>>0] = $113; - $115 = $$181327 >>> 8; - $116 = (($$18) + -8)|0; - $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; - label = 41; - continue L125; - break; - } - case 41: { - label = 0; - $126 = (($$201117) + 1)|0; - $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; - label = 26; - continue L125; - break; - } - case 44: { - label = 0; - $145 = ($$221119|0)!=(0); - $146 = ($$23|0)!=(0); - $147 = $145 & $146; - if (!($147)) { - $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; - label = 54; - continue L125; - } - $148 = ($$23>>>0)<(8); - if ($148) { - $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; - label = 46; - continue L125; - } else { - $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; - label = 51; - continue L125; - } - break; - } - case 46: { - label = 0; - $149 = ($$231530>>>0)<($10>>>0); - if ($149) { - $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; - label = 49; - continue L46; - } else { - $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; - label = 47; - continue L46; - } - break; - } - case 51: { - label = 0; - $159 = $$271336 & 255; - $160 = $$271336 >>> 8; - $161 = (($$27) + -8)|0; - $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; - label = 52; - continue L46; - break; - } - case 54: { - label = 0; - $166 = ($$281125|0)==(0); - if ($166) { - $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; - label = 220; - break L125; - } else { - $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; - label = 55; - continue L46; - } - break; - } - case 61: { - label = 0; - $185 = ($$331130>>>0)<(3); - if ($185) { - $186 = (4701 + ($$331130)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 << 24 >> 24; - $189 = ($$34>>>0)<($188>>>0); - if ($189) { - $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; - label = 63; - continue L125; - } else { - $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; - label = 68; - continue L125; - } - } else { - $216 = ((($0)) + 7040|0); - _memset(($216|0),0,288)|0; - $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; - label = 70; - break; - } - break; - } - case 63: { - label = 0; - $190 = ($$341541>>>0)<($10>>>0); - if ($190) { - $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; - label = 66; - continue L46; - } else { - $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; - label = 64; - continue L46; - } - break; - } - case 68: { - label = 0; - $203 = (4701 + ($$371134)|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204 << 24 >> 24; - $206 = 1 << $205; - $207 = (($206) + -1)|0; - $208 = $207 & $$381347; - $209 = (((($0)) + 44|0) + ($$371134<<2)|0); - $210 = $$381347 >>> $205; - $211 = (($$38) - ($205))|0; - $212 = (44 + ($$371134<<2)|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($208) + ($213))|0; - HEAP32[$209>>2] = $214; - $215 = (($$371134) + 1)|0; - $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; - label = 61; - continue L125; - break; - } - case 72: { - label = 0; - $221 = ($$391546>>>0)<($10>>>0); - if ($221) { - $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; - label = 75; - continue L46; - } else { - $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; - label = 73; - continue L46; - } - break; - } - case 77: { - label = 0; - $231 = $$431352 & 7; - $232 = $$431352 >>> 3; - $233 = (($$43) + -3)|0; - $234 = $231&255; - $235 = (7498 + ($$421139)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (((($0)) + 7040|0) + ($237)|0); - HEAP8[$238>>0] = $234; - $239 = (($$421139) + 1)|0; - $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; - label = 70; - break; - } - case 80: { - label = 0; - $247 = ((($0)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)>(-1); - if ($249) { - dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); - _memset(($250|0),0,3200)|0; - $251 = HEAP32[$247>>2]|0; - $252 = (((($0)) + 44|0) + ($251<<2)|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($253|0)==(0); - if (!($254)) { - $255 = HEAP32[$247>>2]|0; - $256 = (((($0)) + 44|0) + ($255<<2)|0); - $257 = HEAP32[$256>>2]|0; - $$010951864 = 0; - while(1) { - $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (($8) + ($260<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$261>>2] = $263; - $264 = (($$010951864) + 1)|0; - $265 = ($264>>>0)<($257>>>0); - if ($265) { - $$010951864 = $264; - } else { - break; - } - } - } - $266 = ((($7)) + 4|0); - HEAP32[$266>>2] = 0; - HEAP32[$7>>2] = 0; - $267 = ((($8)) + 4|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 << 1; - $270 = ((($7)) + 8|0); - HEAP32[$270>>2] = $269; - $271 = ((($8)) + 8|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) + ($268))|0; - $274 = (($272) + ($269))|0; - $275 = $274 << 1; - $276 = ((($7)) + 12|0); - HEAP32[$276>>2] = $275; - $277 = ((($8)) + 12|0); - $278 = HEAP32[$277>>2]|0; - $279 = (($278) + ($273))|0; - $280 = (($278) + ($275))|0; - $281 = $280 << 1; - $282 = ((($7)) + 16|0); - HEAP32[$282>>2] = $281; - $283 = ((($8)) + 16|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) + ($279))|0; - $286 = (($284) + ($281))|0; - $287 = $286 << 1; - $288 = ((($7)) + 20|0); - HEAP32[$288>>2] = $287; - $289 = ((($8)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + ($285))|0; - $292 = (($290) + ($287))|0; - $293 = $292 << 1; - $294 = ((($7)) + 24|0); - HEAP32[$294>>2] = $293; - $295 = ((($8)) + 24|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + ($291))|0; - $298 = (($296) + ($293))|0; - $299 = $298 << 1; - $300 = ((($7)) + 28|0); - HEAP32[$300>>2] = $299; - $301 = ((($8)) + 28|0); - $302 = HEAP32[$301>>2]|0; - $303 = (($302) + ($297))|0; - $304 = (($302) + ($299))|0; - $305 = $304 << 1; - $306 = ((($7)) + 32|0); - HEAP32[$306>>2] = $305; - $307 = ((($8)) + 32|0); - $308 = HEAP32[$307>>2]|0; - $309 = (($308) + ($303))|0; - $310 = (($308) + ($305))|0; - $311 = $310 << 1; - $312 = ((($7)) + 36|0); - HEAP32[$312>>2] = $311; - $313 = ((($8)) + 36|0); - $314 = HEAP32[$313>>2]|0; - $315 = (($314) + ($309))|0; - $316 = (($314) + ($311))|0; - $317 = $316 << 1; - $318 = ((($7)) + 40|0); - HEAP32[$318>>2] = $317; - $319 = ((($8)) + 40|0); - $320 = HEAP32[$319>>2]|0; - $321 = (($320) + ($315))|0; - $322 = (($320) + ($317))|0; - $323 = $322 << 1; - $324 = ((($7)) + 44|0); - HEAP32[$324>>2] = $323; - $325 = ((($8)) + 44|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($321))|0; - $328 = (($326) + ($323))|0; - $329 = $328 << 1; - $330 = ((($7)) + 48|0); - HEAP32[$330>>2] = $329; - $331 = ((($8)) + 48|0); - $332 = HEAP32[$331>>2]|0; - $333 = (($332) + ($327))|0; - $334 = (($332) + ($329))|0; - $335 = $334 << 1; - $336 = ((($7)) + 52|0); - HEAP32[$336>>2] = $335; - $337 = ((($8)) + 52|0); - $338 = HEAP32[$337>>2]|0; - $339 = (($338) + ($333))|0; - $340 = (($338) + ($335))|0; - $341 = $340 << 1; - $342 = ((($7)) + 56|0); - HEAP32[$342>>2] = $341; - $343 = ((($8)) + 56|0); - $344 = HEAP32[$343>>2]|0; - $345 = (($344) + ($339))|0; - $346 = (($344) + ($341))|0; - $347 = $346 << 1; - $348 = ((($7)) + 60|0); - HEAP32[$348>>2] = $347; - $349 = ((($8)) + 60|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) + ($345))|0; - $352 = (($350) + ($347))|0; - $353 = $352 << 1; - $354 = ((($7)) + 64|0); - HEAP32[$354>>2] = $353; - $355 = ($353|0)!=(65536); - $356 = ($351>>>0)>(1); - $or$cond = $355 & $356; - if ($or$cond) { - $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; - label = 86; - continue L46; - } - $357 = HEAP32[$247>>2]|0; - $358 = (((($0)) + 44|0) + ($357<<2)|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==(0); - if ($360) { - $$lcssa1779 = $357; - } else { - $$010911856 = 0;$$011971855 = -1; - while(1) { - $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($362<<24>>24)==(0); - L142: do { - if ($364) { - $$41201 = $$011971855; - } else { - $365 = (($7) + ($363<<2)|0); - $366 = HEAP32[$365>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$365>>2] = $367; - $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; - while(1) { - $368 = $$010881838 << 1; - $369 = $$010861840 & 1; - $370 = $369 | $368; - $371 = (($$010871839) + -1)|0; - $372 = $$010861840 >>> 1; - $373 = ($371|0)==(0); - if ($373) { - break; - } else { - $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; - } - } - $374 = ($362&255)<(11); - if ($374) { - $375 = $363 << 9; - $376 = $375 | $$010911856; - $377 = $376&65535; - $378 = ($370>>>0)<(1024); - if (!($378)) { - $$41201 = $$011971855; - break; - } - $379 = 1 << $363; - $$110891852 = $370; - while(1) { - $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); - HEAP16[$380>>1] = $377; - $381 = (($$110891852) + ($379))|0; - $382 = ($381>>>0)<(1024); - if ($382) { - $$110891852 = $381; - } else { - $$41201 = $$011971855; - break L142; - } - } - } - $383 = $370 & 1023; - $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); - $385 = HEAP16[$384>>1]|0; - $386 = $385 << 16 >> 16; - $387 = ($385<<16>>16)==(0); - if ($387) { - $388 = (($$011971855) + -2)|0; - $389 = $$011971855&65535; - HEAP16[$384>>1] = $389; - $$01194 = $$011971855;$$11198 = $388; - } else { - $$01194 = $386;$$11198 = $$011971855; - } - $390 = $$010881838 >>> 9; - $391 = ($362&255)>(11); - $392 = $390 & 1; - $393 = (($392) - ($$01194))|0; - $394 = (($393) + -1)|0; - if ($391) { - $395 = $390 & 4194303; - $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; - while(1) { - $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); - $398 = HEAP16[$396>>1]|0; - $399 = ($398<<16>>16)==(0); - if ($399) { - $400 = $$211991845&65535; - HEAP16[$396>>1] = $400; - $401 = (($$211991845) + -2)|0; - $$21196 = $$211991845;$$31200 = $401; - } else { - $402 = $398 << 16 >> 16; - $$21196 = $402;$$31200 = $$211991845; - } - $403 = (($$010941846) + -1)|0; - $404 = ($403>>>0)>(11); - $405 = $406 >>> 1; - $407 = $405 & 1; - $408 = (($407) - ($$21196))|0; - $409 = (($408) + -1)|0; - if ($404) { - $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; - } else { - $$21199$lcssa = $$31200;$$lcssa1778 = $409; - break; - } - } - } else { - $$21199$lcssa = $$11198;$$lcssa1778 = $394; - } - $410 = $$010911856&65535; - $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); - HEAP16[$411>>1] = $410; - $$41201 = $$21199$lcssa; - } - } while(0); - $412 = (($$010911856) + 1)|0; - $413 = HEAP32[$247>>2]|0; - $414 = (((($0)) + 44|0) + ($413<<2)|0); - $415 = HEAP32[$414>>2]|0; - $416 = ($412>>>0)<($415>>>0); - if ($416) { - $$010911856 = $412;$$011971855 = $$41201; - } else { - $$lcssa1779 = $413; - break; - } - } - } - $417 = ($$lcssa1779|0)==(2); - if ($417) { - $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; - label = 105; - } else { - $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; - label = 138; - } - } else { - $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; - label = 139; - } - break; - } - case 108: { - label = 0; - $429 = $$471356 & 1023; - $430 = (((($0)) + 7328|0) + ($429<<1)|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431 << 16 >> 16; - $433 = ($431<<16>>16)>(-1); - if ($433) { - $434 = $432 >> 9; - $435 = (($434) + -1)|0; - $436 = ($435>>>0)<($$47>>>0); - if ($436) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } else { - label = 113; - break L125; - } - } - $437 = ($$47>>>0)>(10); - if ($437) { - $$0981 = 10;$$0984 = $432; - } else { - label = 113; - break L125; - } - while(1) { - $438 = $$0984 ^ -1; - $439 = $$471356 >>> $$0981; - $440 = $439 & 1; - $441 = (($440) + ($438))|0; - $442 = (((($0)) + 9376|0) + ($441<<1)|0); - $443 = HEAP16[$442>>1]|0; - $444 = ($443<<16>>16)<(0); - if (!($444)) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } - $445 = (($$0981) + 1)|0; - $446 = $443 << 16 >> 16; - $447 = (($$0981) + 2)|0; - $448 = ($$47>>>0)<($447>>>0); - if ($448) { - label = 113; - break L125; - } else { - $$0981 = $445;$$0984 = $446; - } - } - break; - } - case 119: { - label = 0; - $471 = $$501359 & 1023; - $472 = (((($0)) + 7328|0) + ($471<<1)|0); - $473 = HEAP16[$472>>1]|0; - $474 = $473 << 16 >> 16; - $475 = ($473<<16>>16)>(-1); - if ($475) { - $476 = $474 >> 9; - $477 = $474 & 511; - $$2983 = $476;$$2986 = $477; - } else { - $$1982 = 10;$$1985 = $474; - while(1) { - $478 = $$1985 ^ -1; - $479 = (($$1982) + 1)|0; - $480 = $$501359 >>> $$1982; - $481 = $480 & 1; - $482 = (($481) + ($478))|0; - $483 = (((($0)) + 9376|0) + ($482<<1)|0); - $484 = HEAP16[$483>>1]|0; - $485 = $484 << 16 >> 16; - $486 = ($484<<16>>16)<(0); - if ($486) { - $$1982 = $479;$$1985 = $485; - } else { - $$2983 = $479;$$2986 = $485; - break; - } - } - } - $487 = $$501359 >>> $$2983; - $488 = (($$50) - ($$2983))|0; - $489 = ($$2986>>>0)<(16); - if ($489) { - $490 = $$2986&255; - $491 = (($$491146) + 1)|0; - $492 = (((($0)) + 10532|0) + ($$491146)|0); - HEAP8[$492>>0] = $490; - $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; - label = 105; - break; - } - $493 = ($$2986|0)!=(16); - $494 = ($$491146|0)!=(0); - $or$cond24 = $494 | $493; - if (!($or$cond24)) { - $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; - label = 125; - continue L46; - } - $495 = (($$2986) + -16)|0; - $496 = (4705 + ($495)|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497 << 24 >> 24; - $499 = ($488>>>0)<($498>>>0); - if ($499) { - $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; - label = 127; - continue L125; - } else { - $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; - label = 132; - continue L125; - } - break; - } - case 127: { - label = 0; - $500 = ($$511558>>>0)<($10>>>0); - if ($500) { - $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; - label = 130; - continue L46; - } else { - $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; - label = 128; - continue L46; - } - break; - } - case 132: { - label = 0; - $510 = 1 << $$551258; - $511 = (($510) + -1)|0; - $512 = $511 & $$551364; - $513 = $$551364 >>> $$551258; - $514 = (($$55) - ($$551258))|0; - $515 = (($$531044) + -16)|0; - $516 = (4709 + ($515)|0); - $517 = HEAP8[$516>>0]|0; - $518 = $517 << 24 >> 24; - $519 = (($518) + ($512))|0; - $520 = (((($0)) + 10532|0) + ($$541151)|0); - $521 = ($$531044|0)==(16); - if ($521) { - $522 = (($$541151) + -1)|0; - $523 = (((($0)) + 10532|0) + ($522)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - _memset(($520|0),($526|0),($519|0))|0; - $528 = (($519) + ($$541151))|0; - $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; - label = 105; - break; - } - case 140: { - label = 0; - $539 = $10; - $540 = $$581565$ph; - $541 = (($539) - ($540))|0; - $542 = ($541|0)<(4); - $543 = ($$59$ph>>>0)<(15); - L241: do { - if ($542) { - $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; - } else { - $544 = $12; - $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; - while(1) { - $545 = $$5416611868; - $546 = (($544) - ($545))|0; - $547 = ($546|0)<(2); - if ($547) { - $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; - break L241; - } - if ($965) { - $613 = HEAP8[$$5815651869>>0]|0; - $614 = $613&255; - $615 = ((($$5815651869)) + 1|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $618 = $617 << 8; - $619 = $618 | $614; - $620 = $619 << $$591872; - $621 = $620 | $$5913681870; - $622 = ((($$5815651869)) + 2|0); - $623 = (($$591872) + 16)|0; - $$641571 = $622;$$65 = $623;$$651374 = $621; - } else { - $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; - } - $624 = $$651374 & 1023; - $625 = (((($0)) + 352|0) + ($624<<1)|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626 << 16 >> 16; - $628 = ($626<<16>>16)>(-1); - if ($628) { - $629 = $627 >> 9; - $$1964 = $629;$$1968 = $627; - } else { - $$0963 = 10;$$0967 = $627; - while(1) { - $630 = $$0967 ^ -1; - $631 = (($$0963) + 1)|0; - $632 = $$651374 >>> $$0963; - $633 = $632 & 1; - $634 = (($633) + ($630))|0; - $635 = (((($0)) + 2400|0) + ($634<<1)|0); - $636 = HEAP16[$635>>1]|0; - $637 = $636 << 16 >> 16; - $638 = ($636<<16>>16)<(0); - if ($638) { - $$0963 = $631;$$0967 = $637; - } else { - $$1964 = $631;$$1968 = $637; - break; - } - } - } - $639 = $$651374 >>> $$1964; - $640 = (($$65) - ($$1964))|0; - $641 = $$1968 & 256; - $642 = ($641|0)==(0); - if (!($642)) { - $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; - label = 176; - break L126; - } - $643 = ($640>>>0)<(15); - if ($643) { - $644 = HEAP8[$$641571>>0]|0; - $645 = $644&255; - $646 = ((($$641571)) + 1|0); - $647 = HEAP8[$646>>0]|0; - $648 = $647&255; - $649 = $648 << 8; - $650 = $649 | $645; - $651 = $650 << $640; - $652 = $651 | $639; - $653 = ((($$641571)) + 2|0); - $654 = (($640) + 16)|0; - $$651572 = $653;$$66 = $654;$$661375 = $652; - } else { - $$651572 = $$641571;$$66 = $640;$$661375 = $639; - } - $655 = $$661375 & 1023; - $656 = (((($0)) + 352|0) + ($655<<1)|0); - $657 = HEAP16[$656>>1]|0; - $658 = $657 << 16 >> 16; - $659 = ($657<<16>>16)>(-1); - if ($659) { - $660 = $658 >> 9; - $$3966 = $660;$$3970 = $658; - } else { - $$2965 = 10;$$2969 = $658; - while(1) { - $661 = $$2969 ^ -1; - $662 = (($$2965) + 1)|0; - $663 = $$661375 >>> $$2965; - $664 = $663 & 1; - $665 = (($664) + ($661))|0; - $666 = (((($0)) + 2400|0) + ($665<<1)|0); - $667 = HEAP16[$666>>1]|0; - $668 = $667 << 16 >> 16; - $669 = ($667<<16>>16)<(0); - if ($669) { - $$2965 = $662;$$2969 = $668; - } else { - $$3966 = $662;$$3970 = $668; - break; - } - } - } - $670 = $$661375 >>> $$3966; - $671 = (($$66) - ($$3966))|0; - $672 = $$1968&255; - HEAP8[$$5416611868>>0] = $672; - $673 = $$3970 & 256; - $674 = ($673|0)==(0); - if (!($674)) { - break; - } - $676 = $$3970&255; - $677 = ((($$5416611868)) + 1|0); - HEAP8[$677>>0] = $676; - $678 = ((($$5416611868)) + 2|0); - $679 = $$651572; - $680 = (($539) - ($679))|0; - $681 = ($680|0)<(4); - $682 = ($671>>>0)<(15); - if ($681) { - $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; - break L241; - } else { - $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; - } - } - $675 = ((($$5416611868)) + 1|0); - $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; - label = 176; - break L126; - } - } while(0); - if (!($$lcssa1799)) { - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; - label = 156; - continue L125; - } - $548 = ($$lcssa1802|0)<(2); - if ($548) { - $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; - label = 145; - continue L125; - } - $579 = HEAP8[$$581565$lcssa>>0]|0; - $580 = $579&255; - $581 = $580 << $$59$lcssa; - $582 = ((($$581565$lcssa)) + 1|0); - $583 = HEAP8[$582>>0]|0; - $584 = $583&255; - $585 = (($$59$lcssa) + 8)|0; - $586 = $584 << $585; - $587 = $581 | $$591368$lcssa; - $588 = $587 | $586; - $589 = ((($$581565$lcssa)) + 2|0); - $590 = (($$59$lcssa) + 16)|0; - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; - label = 156; - continue L125; - break; - } - case 145: { - label = 0; - $549 = $$601369 & 1023; - $550 = (((($0)) + 352|0) + ($549<<1)|0); - $551 = HEAP16[$550>>1]|0; - $552 = $551 << 16 >> 16; - $553 = ($551<<16>>16)>(-1); - if ($553) { - $554 = $552 >> 9; - $555 = (($554) + -1)|0; - $556 = ($555>>>0)<($$60>>>0); - if ($556) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } else { - label = 150; - break L125; - } - } - $557 = ($$60>>>0)>(10); - if ($557) { - $$0972 = 10;$$0975 = $552; - } else { - label = 150; - break L125; - } - while(1) { - $558 = $$0975 ^ -1; - $559 = $$601369 >>> $$0972; - $560 = $559 & 1; - $561 = (($560) + ($558))|0; - $562 = (((($0)) + 2400|0) + ($561<<1)|0); - $563 = HEAP16[$562>>1]|0; - $564 = ($563<<16>>16)<(0); - if (!($564)) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } - $565 = (($$0972) + 1)|0; - $566 = $563 << 16 >> 16; - $567 = (($$0972) + 2)|0; - $568 = ($$60>>>0)<($567>>>0); - if ($568) { - label = 150; - break L125; - } else { - $$0972 = $565;$$0975 = $566; - } - } - break; - } - case 156: { - label = 0; - $591 = $$631372 & 1023; - $592 = (((($0)) + 352|0) + ($591<<1)|0); - $593 = HEAP16[$592>>1]|0; - $594 = $593 << 16 >> 16; - $595 = ($593<<16>>16)>(-1); - if ($595) { - $596 = $594 >> 9; - $597 = $594 & 511; - $$2974 = $596;$$2977 = $597; - } else { - $$1973 = 10;$$1976 = $594; - while(1) { - $598 = $$1976 ^ -1; - $599 = (($$1973) + 1)|0; - $600 = $$631372 >>> $$1973; - $601 = $600 & 1; - $602 = (($601) + ($598))|0; - $603 = (((($0)) + 2400|0) + ($602<<1)|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = ($604<<16>>16)<(0); - if ($606) { - $$1973 = $599;$$1976 = $605; - } else { - $$2974 = $599;$$2977 = $605; - break; - } - } - } - $607 = $$631372 >>> $$2974; - $608 = (($$63) - ($$2974))|0; - $609 = ($$2977>>>0)>(255); - if ($609) { - $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; - label = 176; - } else { - $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; - label = 160; - continue L46; - } - break; - } - case 179: { - label = 0; - $693 = ($$681575>>>0)<($10>>>0); - if ($693) { - $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; - label = 182; - continue L46; - } else { - $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; - label = 180; - continue L46; - } - break; - } - case 184: { - label = 0; - $703 = 1 << $$691272; - $704 = (($703) + -1)|0; - $705 = $704 & $$721381; - $706 = $$721381 >>> $$691272; - $707 = (($$72) - ($$691272))|0; - $708 = (($705) + ($$681165))|0; - $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; - label = 185; - break; - } - case 187: { - label = 0; - $714 = $$741383 & 1023; - $715 = (((($0)) + 3840|0) + ($714<<1)|0); - $716 = HEAP16[$715>>1]|0; - $717 = $716 << 16 >> 16; - $718 = ($716<<16>>16)>(-1); - if ($718) { - $719 = $717 >> 9; - $720 = (($719) + -1)|0; - $721 = ($720>>>0)<($$74>>>0); - if ($721) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } else { - label = 192; - break L125; - } - } - $722 = ($$74>>>0)>(10); - if ($722) { - $$0953 = 10;$$0956 = $717; - } else { - label = 192; - break L125; - } - while(1) { - $723 = $$0956 ^ -1; - $724 = $$741383 >>> $$0953; - $725 = $724 & 1; - $726 = (($725) + ($723))|0; - $727 = (((($0)) + 5888|0) + ($726<<1)|0); - $728 = HEAP16[$727>>1]|0; - $729 = ($728<<16>>16)<(0); - if (!($729)) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } - $730 = (($$0953) + 1)|0; - $731 = $728 << 16 >> 16; - $732 = (($$0953) + 2)|0; - $733 = ($$74>>>0)<($732>>>0); - if ($733) { - label = 192; - break L125; - } else { - $$0953 = $730;$$0956 = $731; - } - } - break; - } - case 198: { - label = 0; - $756 = $$771386 & 1023; - $757 = (((($0)) + 3840|0) + ($756<<1)|0); - $758 = HEAP16[$757>>1]|0; - $759 = $758 << 16 >> 16; - $760 = ($758<<16>>16)>(-1); - if ($760) { - $761 = $759 >> 9; - $762 = $759 & 511; - $$2955 = $761;$$2958 = $762; - } else { - $$1954 = 10;$$1957 = $759; - while(1) { - $763 = $$1957 ^ -1; - $764 = (($$1954) + 1)|0; - $765 = $$771386 >>> $$1954; - $766 = $765 & 1; - $767 = (($766) + ($763))|0; - $768 = (((($0)) + 5888|0) + ($767<<1)|0); - $769 = HEAP16[$768>>1]|0; - $770 = $769 << 16 >> 16; - $771 = ($769<<16>>16)<(0); - if ($771) { - $$1954 = $764;$$1957 = $770; - } else { - $$2955 = $764;$$2958 = $770; - break; - } - } - } - $772 = $$771386 >>> $$2955; - $773 = (($$77) - ($$2955))|0; - $774 = (3504 + ($$2958<<2)|0); - $775 = HEAP32[$774>>2]|0; - $776 = (3376 + ($$2958<<2)|0); - $777 = HEAP32[$776>>2]|0; - $778 = (($$2958) + -4)|0; - $779 = ($778>>>0)<(26); - if ($779) { - $780 = ($773>>>0)<($775>>>0); - if ($780) { - $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; - label = 203; - continue L125; - } else { - $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; - label = 208; - continue L125; - } - } else { - $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; - label = 209; - } - break; - } - case 203: { - label = 0; - $781 = ($$771584>>>0)<($10>>>0); - if ($781) { - $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; - label = 206; - continue L46; - } else { - $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; - label = 204; - continue L46; - } - break; - } - case 208: { - label = 0; - $791 = 1 << $$771280; - $792 = (($791) + -1)|0; - $793 = $792 & $$811390; - $794 = $$811390 >>> $$771280; - $795 = (($$81) - ($$771280))|0; - $796 = (($793) + ($$751066))|0; - $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; - label = 209; - break; - } - case 212: { - label = 0; - $807 = (($$801177) + -1)|0; - $808 = ($$801177|0)==(0); - if ($808) { - $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; - label = 139; - } else { - $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; - label = 213; - continue L46; - } - break; - } - } - do { - if ((label|0) == 70) { - label = 0; - $217 = ((($0)) + 52|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($$381135>>>0)<($218>>>0); - if ($219) { - $220 = ($$39>>>0)<(3); - if ($220) { - $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; - label = 72; - continue L125; - } else { - $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; - label = 77; - continue L125; - } - } else { - HEAP32[$217>>2] = 19; - $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; - label = 80; - continue L125; - } - } - else if ((label|0) == 105) { - label = 0; - $418 = ((($0)) + 44|0); - $419 = HEAP32[$418>>2]|0; - $420 = ((($0)) + 48|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + ($419))|0; - $423 = ($$451142>>>0)<($422>>>0); - if (!($423)) { - $529 = ($422|0)==($$451142|0); - if (!($529)) { - $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; - label = 136; - continue L46; - } - $530 = ((($0)) + 64|0); - $531 = ((($0)) + 10532|0); - _memcpy(($530|0),($531|0),($419|0))|0; - $532 = ((($0)) + 3552|0); - $533 = HEAP32[$418>>2]|0; - $534 = (((($0)) + 10532|0) + ($533)|0); - $535 = HEAP32[$420>>2]|0; - _memcpy(($532|0),($534|0),($535|0))|0; - $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; - label = 138; - break; - } - $424 = ($$46>>>0)<(15); - if (!($424)) { - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; - label = 119; - continue L125; - } - $425 = $10; - $426 = $$451552; - $427 = (($425) - ($426))|0; - $428 = ($427|0)<(2); - if ($428) { - $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; - label = 108; - continue L125; - } - $459 = HEAP8[$$451552>>0]|0; - $460 = $459&255; - $461 = $460 << $$46; - $462 = ((($$451552)) + 1|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = (($$46) + 8)|0; - $466 = $464 << $465; - $467 = $461 | $$461355; - $468 = $467 | $466; - $469 = ((($$451552)) + 2|0); - $470 = (($$46) + 16)|0; - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; - label = 119; - continue L125; - } - else if ((label|0) == 176) { - label = 0; - $683 = $$641161 & 511; - $684 = ($683|0)==(256); - if ($684) { - $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; - label = 220; - break L125; - } - $685 = (($683) + -257)|0; - $686 = (3252 + ($685<<2)|0); - $687 = HEAP32[$686>>2]|0; - $688 = (3128 + ($685<<2)|0); - $689 = HEAP32[$688>>2]|0; - $690 = (($683) + -265)|0; - $691 = ($690>>>0)<(20); - if ($691) { - $692 = ($$68>>>0)<($687>>>0); - if ($692) { - $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; - label = 179; - continue L125; - } else { - $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; - label = 184; - continue L125; - } - } else { - $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; - label = 185; - } - } - else if ((label|0) == 209) { - label = 0; - $797 = $$751682; - $798 = $3; - $799 = (($797) - ($798))|0; - $$not = ($799>>>0)>=($$761067>>>0); - $$not1747 = $14 ^ 1; - $brmerge = $$not | $$not1747; - if (!($brmerge)) { - $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; - label = 210; - continue L46; - } - $800 = (($799) - ($$761067))|0; - $801 = $800 & $$1753; - $802 = (($3) + ($801)|0); - $803 = ($$751682>>>0)>($802>>>0); - $804 = $803 ? $$751682 : $802; - $805 = (($804) + ($$781175)|0); - $806 = ($805>>>0)>($12>>>0); - if ($806) { - $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; - label = 212; - continue L125; - } else { - $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; - } - while(1) { - $816 = HEAP8[$$0978>>0]|0; - HEAP8[$$791686>>0] = $816; - $817 = ((($$0978)) + 1|0); - $818 = HEAP8[$817>>0]|0; - $819 = ((($$791686)) + 1|0); - HEAP8[$819>>0] = $818; - $820 = ((($$0978)) + 2|0); - $821 = HEAP8[$820>>0]|0; - $822 = ((($$791686)) + 2|0); - HEAP8[$822>>0] = $821; - $823 = ((($$791686)) + 3|0); - $824 = ((($$0978)) + 3|0); - $825 = (($$821179) + -3)|0; - $826 = ($825|0)>(2); - if ($826) { - $$0978 = $824;$$791686 = $823;$$821179 = $825; - } else { - break; - } - } - $827 = ($825|0)>(0); - if ($827) { - $828 = HEAP8[$824>>0]|0; - HEAP8[$823>>0] = $828; - $829 = ($825|0)==(1); - if (!($829)) { - $830 = ((($$0978)) + 4|0); - $831 = HEAP8[$830>>0]|0; - $832 = ((($$791686)) + 4|0); - HEAP8[$832>>0] = $831; - } - $833 = (($823) + ($825)|0); - $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } else { - $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } - } - } while(0); - if ((label|0) == 138) { - label = 0; - $536 = ((($0)) + 24|0); - $537 = HEAP32[$536>>2]|0; - $538 = (($537) + -1)|0; - HEAP32[$536>>2] = $538; - $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; - label = 80; - continue; - } - else if ((label|0) == 139) { - label = 0; - $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; - label = 140; - continue; - } - else if ((label|0) == 185) { - label = 0; - $709 = ($$73>>>0)<(15); - if (!($709)) { - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; - label = 198; - continue; - } - $710 = $10; - $711 = $$721579; - $712 = (($710) - ($711))|0; - $713 = ($712|0)<(2); - if ($713) { - $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; - label = 187; - continue; - } - $744 = HEAP8[$$721579>>0]|0; - $745 = $744&255; - $746 = $745 << $$73; - $747 = ((($$721579)) + 1|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748&255; - $750 = (($$73) + 8)|0; - $751 = $749 << $750; - $752 = $746 | $$731382; - $753 = $752 | $751; - $754 = ((($$721579)) + 2|0); - $755 = (($$73) + 16)|0; - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; - label = 198; - continue; - } - } - if ((label|0) == 113) { - label = 0; - $449 = ($$461553>>>0)<($10>>>0); - if ($449) { - $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; - label = 116; - continue; - } else { - $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; - label = 114; - continue; - } - } - else if ((label|0) == 150) { - label = 0; - $569 = ($$591566>>>0)<($10>>>0); - if ($569) { - $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; - label = 153; - continue; - } else { - $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; - label = 151; - continue; - } - } - else if ((label|0) == 192) { - label = 0; - $734 = ($$731580>>>0)<($10>>>0); - if ($734) { - $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; - label = 195; - continue; - } else { - $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; - label = 193; - continue; - } - } - else if ((label|0) == 220) { - label = 0; - $834 = ((($0)) + 20|0); - $835 = HEAP32[$834>>2]|0; - $836 = $835 & 1; - $837 = ($836|0)==(0); - if ($837) { - $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; - label = 14; - continue; - } - $838 = $6 & 1; - $839 = ($838|0)==(0); - if ($839) { - $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; - label = 242; - continue; - } else { - $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; - label = 226; - continue; - } - } - } - if ((label|0) == 258) { - STACKTOP = sp;return ($$0951|0); - } - $892 = ((($0)) + 28|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & 65535; - $895 = $893 >>> 16; - $896 = ($888|0)==(0); - if ($896) { - $$0937$lcssa = $895;$$0938$lcssa = $894; - } else { - $897 = (($888>>>0) % 5552)&-1; - $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; - while(1) { - $898 = ($$01834>>>0)>(7); - if ($898) { - $899 = (($$01834) + -8)|0; - $900 = $899 & -8; - $scevgep = ((($$09441830)) + 8|0); - $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; - while(1) { - $904 = HEAP8[$$19451815>>0]|0; - $905 = $904&255; - $906 = (($905) + ($$19391817))|0; - $907 = (($906) + ($$11818))|0; - $908 = ((($$19451815)) + 1|0); - $909 = HEAP8[$908>>0]|0; - $910 = $909&255; - $911 = (($906) + ($910))|0; - $912 = (($907) + ($911))|0; - $913 = ((($$19451815)) + 2|0); - $914 = HEAP8[$913>>0]|0; - $915 = $914&255; - $916 = (($911) + ($915))|0; - $917 = (($912) + ($916))|0; - $918 = ((($$19451815)) + 3|0); - $919 = HEAP8[$918>>0]|0; - $920 = $919&255; - $921 = (($916) + ($920))|0; - $922 = (($917) + ($921))|0; - $923 = ((($$19451815)) + 4|0); - $924 = HEAP8[$923>>0]|0; - $925 = $924&255; - $926 = (($921) + ($925))|0; - $927 = (($922) + ($926))|0; - $928 = ((($$19451815)) + 5|0); - $929 = HEAP8[$928>>0]|0; - $930 = $929&255; - $931 = (($926) + ($930))|0; - $932 = (($927) + ($931))|0; - $933 = ((($$19451815)) + 6|0); - $934 = HEAP8[$933>>0]|0; - $935 = $934&255; - $936 = (($931) + ($935))|0; - $937 = (($932) + ($936))|0; - $938 = ((($$19451815)) + 7|0); - $939 = HEAP8[$938>>0]|0; - $940 = $939&255; - $941 = (($936) + ($940))|0; - $942 = (($937) + ($941))|0; - $943 = (($$09411816) + 8)|0; - $944 = ((($$19451815)) + 8|0); - $945 = $943 | 7; - $946 = ($945>>>0)<($$01834>>>0); - if ($946) { - $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; - } else { - break; - } - } - $901 = (($900) + 8)|0; - $scevgep1947 = (($scevgep) + ($900)|0); - $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; - } else { - $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; - } - $902 = ($$01834>>>0)>($$0941$lcssa>>>0); - if ($902) { - $903 = (($$01834) - ($$0941$lcssa))|0; - $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; - while(1) { - $947 = ((($$29461822)) + 1|0); - $948 = HEAP8[$$29461822>>0]|0; - $949 = $948&255; - $950 = (($949) + ($$29401824))|0; - $951 = (($950) + ($$21825))|0; - $952 = (($$19421823) + 1)|0; - $exitcond = ($952|0)==($$01834|0); - if ($exitcond) { - break; - } else { - $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; - } - } - $scevgep1948 = (($$1945$lcssa) + ($903)|0); - $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; - } else { - $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; - } - $953 = (($$2940$lcssa>>>0) % 65521)&-1; - $954 = (($$2$lcssa>>>0) % 65521)&-1; - $955 = (($$09431831) - ($$01834))|0; - $956 = ($955|0)==(0); - if ($956) { - $$0937$lcssa = $954;$$0938$lcssa = $953; - break; - } else { - $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; - } - } - } - $957 = $$0937$lcssa << 16; - $958 = $957 | $$0938$lcssa; - HEAP32[$892>>2] = $958; - $959 = ($$1961|0)!=(0); - $960 = $6 & 1; - $961 = ($960|0)==(0); - $or$cond1752 = $961 | $959; - if ($or$cond1752) { - $$0951 = $$1961; - STACKTOP = sp;return ($$0951|0); - } else { - $962 = ((($0)) + 16|0); - $963 = HEAP32[$962>>2]|0; - $964 = ($958|0)==($963|0); - $$1961$ = $964 ? $$1961 : -2; - STACKTOP = sp;return ($$1961$|0); - } - return (0)|0; -} -function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); - $5 = sp + 11000|0; - $6 = sp; - $7 = sp + 8|0; - HEAP32[$5>>2] = $1; - HEAP32[$6>>2] = $3; - HEAP32[$7>>2] = 0; - $8 = $4 & -7; - $9 = $8 | 4; - $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); - $11 = ($10|0)!=(0); - $12 = HEAP32[$5>>2]|0; - $13 = $11 ? -1 : $12; - STACKTOP = sp;return ($13|0); -} -function _LoadResource($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$05664 = 0, $$05763 = 0, $$065 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0; - var $or$cond60 = 0, $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 64|0; - $3 = sp + 32|0; - $4 = (_fopen($0,5788)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(1,4713,$vararg_buffer); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - (_fread($2,1,1,$4)|0); - $6 = ((($2)) + 1|0); - (_fread($6,1,1,$4)|0); - $7 = ((($2)) + 2|0); - (_fread($7,1,1,$4)|0); - $8 = ((($2)) + 3|0); - (_fread($8,1,1,$4)|0); - $9 = ((($2)) + 4|0); - (_fread($9,2,1,$4)|0); - $10 = ((($2)) + 6|0); - (_fread($10,2,1,$4)|0); - $11 = HEAP8[$2>>0]|0; - $12 = ($11<<24>>24)==(114); - $13 = HEAP8[$6>>0]|0; - $14 = ($13<<24>>24)==(82); - $or$cond = $12 | $14; - $15 = HEAP8[$7>>0]|0; - $16 = ($15<<24>>24)==(69); - $or$cond60 = $or$cond | $16; - $17 = HEAP8[$8>>0]|0; - $18 = ($17<<24>>24)==(83); - $or$cond62 = $or$cond60 | $18; - if ($or$cond62) { - $19 = HEAP16[$10>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $$0$lcssa = 0; - } else { - $21 = ((($3)) + 7|0); - $22 = ((($3)) + 4|0); - $23 = ((($3)) + 16|0); - $24 = ((($3)) + 20|0); - $25 = ((($3)) + 24|0); - $26 = ((($3)) + 28|0); - $27 = ((($3)) + 8|0); - $28 = ((($3)) + 5|0); - $29 = ((($3)) + 12|0); - $30 = HEAP16[$10>>1]|0; - $31 = $30&65535; - $32 = ((($3)) + 8|0); - $$05664 = 0;$$065 = 0; - while(1) { - (_fread($3,32,1,$4)|0); - $36 = HEAP32[$3>>2]|0; - $37 = ($36|0)==($1|0); - if ($37) { - $38 = HEAP8[$21>>0]|0; - $39 = $38&255; - $40 = ($39*24)|0; - $41 = (_malloc($40)|0); - $42 = ($38<<24>>24)==(0); - if ($42) { - $$1 = $41; - } else { - $$05763 = 0; - while(1) { - $43 = HEAP8[$22>>0]|0; - $44 = $43&255; - $45 = (($41) + (($$05763*24)|0)|0); - HEAP32[$45>>2] = $44; - $46 = HEAP32[$23>>2]|0; - $47 = (((($41) + (($$05763*24)|0)|0)) + 4|0); - HEAP32[$47>>2] = $46; - $48 = HEAP32[$24>>2]|0; - $49 = (((($41) + (($$05763*24)|0)|0)) + 8|0); - HEAP32[$49>>2] = $48; - $50 = HEAP32[$25>>2]|0; - $51 = (((($41) + (($$05763*24)|0)|0)) + 12|0); - HEAP32[$51>>2] = $50; - $52 = HEAP32[$26>>2]|0; - $53 = (((($41) + (($$05763*24)|0)|0)) + 16|0); - HEAP32[$53>>2] = $52; - $54 = HEAP32[$27>>2]|0; - $55 = (_malloc($54)|0); - (_fread($55,$54,1,$4)|0); - $56 = HEAP8[$28>>0]|0; - $57 = ($56<<24>>24)==(1); - if ($57) { - $58 = HEAP32[$27>>2]|0; - $59 = HEAP32[$29>>2]|0; - $60 = (_DecompressData($55,$58,$59)|0); - $61 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$61>>2] = $60; - _free($55); - } else { - $62 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$62>>2] = $55; - } - $63 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $66; - _TraceLog(0,4810,$vararg_buffer4); - } - (_fread($3,32,1,$4)|0); - $67 = (($$05763) + 1)|0; - $68 = HEAP8[$21>>0]|0; - $69 = $68&255; - $70 = ($67|0)<($69|0); - if ($70) { - $$05763 = $67; - } else { - $$1 = $41; - break; - } - } - } - } else { - $71 = HEAP32[$32>>2]|0; - (_fseek($4,$71,1)|0); - $$1 = $$065; - } - $72 = (($$05664) + 1)|0; - $73 = ($72|0)<($31|0); - if ($73) { - $$05664 = $72;$$065 = $$1; - } else { - $$0$lcssa = $$1; - break; - } - } - } - $33 = ((($$0$lcssa)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$vararg_buffer8>>2] = $0; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(1,4856,$vararg_buffer8); - $$2 = $$0$lcssa; - } else { - $$2 = $$0$lcssa; - } - } else { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(1,4764,$vararg_buffer1); - $$2 = 0; - } - (_fclose($4)|0); - $$3 = $$2; - STACKTOP = sp;return ($$3|0); -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[18616>>0]=HEAP8[5161>>0]|0;HEAP8[18616+1>>0]=HEAP8[5161+1>>0]|0;HEAP8[18616+2>>0]=HEAP8[5161+2>>0]|0;HEAP8[18616+3>>0]=HEAP8[5161+3>>0]|0;HEAP8[18616+4>>0]=HEAP8[5161+4>>0]|0;HEAP8[18616+5>>0]=HEAP8[5161+5>>0]|0;HEAP8[18616+6>>0]=HEAP8[5161+6>>0]|0; - break; - } - case 2: { - $3 = 18616; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 1: { - dest=18616; src=5168; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 18616; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(18616,$1)|0); - $strlen = (_strlen(18616)|0); - $endptr = (18616 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(18616,$2)|0); - $12 = ($0|0)==(2); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _DecompressData($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = (_malloc($2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - _TraceLog(1,4906,$vararg_buffer); - STACKTOP = sp;return ($3|0); - } - $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); - $6 = ($5|0)==(-1); - if ($6) { - _TraceLog(1,4945,$vararg_buffer1); - _free($3); - } - $7 = ($5|0)==($2|0); - if (!($7)) { - _TraceLog(1,4971,$vararg_buffer3); - HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(1,5034,$vararg_buffer5); - HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(1,5069,$vararg_buffer7); - } - HEAP32[$vararg_buffer10>>2] = $1; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,5104,$vararg_buffer10); - STACKTOP = sp;return ($3|0); -} -function _UnloadResource($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - _free($2); - return; -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(19664)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (56 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19640>>2]=HEAP32[$1>>2]|0;HEAP32[19640+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19640+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19640+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19640+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(19664)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(19668)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(19660)>>2] = $23; - $24 = HEAP32[4910]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5178,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(19644)>>2]|0; - $10 = HEAP32[(19664)>>2]|0; - $11 = HEAP32[(19668)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2104 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(19660)>>2] = $23; - $24 = HEAP32[4910]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5178,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(9); - $6 = ($1|0)<(9); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(1,5575,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $10; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(3,5223,$vararg_buffer); - HEAP32[$0>>2] = $11; - $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; - $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; - $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; - STACKTOP = sp;return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } - _free($1); - return; -} -function _rlLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[4918]|0; - $7 = ($6|0)==(0); - $$off = (($3) + -9)|0; - $8 = ($$off>>>0)<(4); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(1,5273,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[4919]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(13); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(1,5317,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[4920]|0; - $13 = ($12|0)==(0); - $14 = $3 | 1; - $15 = ($14|0)==(15); - $or$cond97 = $15 & $13; - if ($or$cond97) { - _TraceLog(1,5362,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $16 = HEAP32[4921]|0; - $17 = ($16|0)==(0); - $18 = ($14|0)==(17); - $or$cond99 = $18 & $17; - if ($or$cond99) { - _TraceLog(1,5407,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $19 = HEAP32[4922]|0; - $20 = ($19|0)==(0); - $21 = ($14|0)==(19); - $or$cond101 = $21 & $20; - if ($or$cond101) { - _TraceLog(1,5452,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $22 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($22|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $23 = HEAP32[4923]|0; - $24 = ($23|0)==(0); - if (!($24)) { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); - } - break; - } - case 9: { - $25 = HEAP32[4918]|0; - $26 = ($25|0)==(0); - if (!($26)) { - _LoadTextureCompressed($0,$1,$2,33776,$4); - } - break; - } - case 10: { - $27 = HEAP32[4918]|0; - $28 = ($27|0)==(0); - if (!($28)) { - _LoadTextureCompressed($0,$1,$2,33777,$4); - } - break; - } - case 11: { - $29 = HEAP32[4918]|0; - $30 = ($29|0)==(0); - if (!($30)) { - _LoadTextureCompressed($0,$1,$2,33778,$4); - } - break; - } - case 12: { - $31 = HEAP32[4918]|0; - $32 = ($31|0)==(0); - if (!($32)) { - _LoadTextureCompressed($0,$1,$2,33779,$4); - } - break; - } - case 13: { - $33 = HEAP32[4919]|0; - $34 = ($33|0)==(0); - if (!($34)) { - _LoadTextureCompressed($0,$1,$2,36196,$4); - } - break; - } - case 14: { - $35 = HEAP32[4920]|0; - $36 = ($35|0)==(0); - if (!($36)) { - _LoadTextureCompressed($0,$1,$2,37492,$4); - } - break; - } - case 15: { - $37 = HEAP32[4920]|0; - $38 = ($37|0)==(0); - if (!($38)) { - _LoadTextureCompressed($0,$1,$2,37496,$4); - } - break; - } - case 16: { - $39 = HEAP32[4921]|0; - $40 = ($39|0)==(0); - if (!($40)) { - _LoadTextureCompressed($0,$1,$2,35840,$4); - } - break; - } - case 17: { - $41 = HEAP32[4921]|0; - $42 = ($41|0)==(0); - if (!($42)) { - _LoadTextureCompressed($0,$1,$2,35842,$4); - } - break; - } - case 18: { - $43 = HEAP32[4922]|0; - $44 = ($43|0)==(0); - if (!($44)) { - _LoadTextureCompressed($0,$1,$2,37808,$4); - } - break; - } - case 19: { - $45 = HEAP32[4922]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _LoadTextureCompressed($0,$1,$2,37815,$4); - } - break; - } - default: { - _TraceLog(1,5497,$vararg_buffer9); - } - } - } while(0); - $47 = HEAP32[4924]|0; - $48 = ($47|0)==(0); - if ($48) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $49 = HEAP32[$5>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(1,8029,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $49; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5526,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadTextureCompressed($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($3|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($4|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($3|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($4|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(1,5629,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19640>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19640+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19640+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19640+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19640+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(19668)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,5675,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19640>>2]|0;HEAP32[$0+4>>2]=HEAP32[19640+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19640+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19640+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19640+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19640+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19640+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19640+28>>2]|0; - return; -} -function _IsFileExtension($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strrchr($0,46)|0); - $3 = ($2|0)==(0|0); - if ($3) { - return 0; - } else { - $4 = (_strcmp($2,$1)|0); - $5 = ($4|0)==(0); - $$ = $5&1; - return ($$|0); - } - return (0)|0; -} -function _LoadImagePro($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy = sp + 20|0; - $5 = sp; - HEAP32[$5>>2] = $1; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $2; - $7 = ((($5)) + 8|0); - HEAP32[$7>>2] = $3; - $8 = ((($5)) + 12|0); - HEAP32[$8>>2] = 1; - $9 = ((($5)) + 16|0); - HEAP32[$9>>2] = $4; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; - _ImageCopy($0,$$byval_copy); - STACKTOP = sp;return; -} -function _LoadImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $$byval_copy = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer7 = sp + 16|0; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - $6 = (_IsFileExtension($1,5725)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - $19 = (_IsFileExtension($1,5778)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_IsFileExtension($1,5783)|0); - $22 = ($21|0)==(0); - if ($22) { - $36 = (_IsFileExtension($1,5791)|0); - $37 = ($36|0)==(0); - if ($37) { - $46 = (_IsFileExtension($1,5863)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[$vararg_buffer4>>2] = $1; - _TraceLog(1,5868,$vararg_buffer4); - break; - } else { - _LoadDDS($2,$1); - break; - } - } - HEAP32[$3>>2] = 0; - $38 = (_fopen($1,5788)|0); - _stbi_set_flip_vertically_on_load(1); - $39 = ((($2)) + 4|0); - $40 = ((($2)) + 8|0); - $41 = (_stbi_loadf_from_file($38,$39,$40,$3,0)|0); - HEAP32[$2>>2] = $41; - _stbi_set_flip_vertically_on_load(0); - (_fclose($38)|0); - $42 = ((($2)) + 12|0); - HEAP32[$42>>2] = 1; - $43 = HEAP32[$3>>2]|0; - $44 = ($43|0)==(3); - if ($44) { - $45 = ((($2)) + 16|0); - HEAP32[$45>>2] = 8; - } else { - HEAP32[$$byval_copy>>2] = $1; - _TraceLog(1,5796,$$byval_copy); - ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; - _UnloadImage($$byval_copy); - } - break; - } - } - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$5>>2] = 0; - $23 = (_fopen($1,5788)|0); - $24 = ($23|0)==(0|0); - L17: do { - if (!($24)) { - $25 = (_stbi_load_from_file($23,$3,$4,$5,0)|0); - HEAP32[$2>>2] = $25; - (_fclose($23)|0); - $26 = HEAP32[$3>>2]|0; - $27 = ((($2)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$4>>2]|0; - $29 = ((($2)) + 8|0); - HEAP32[$29>>2] = $28; - $30 = ((($2)) + 12|0); - HEAP32[$30>>2] = 1; - $31 = HEAP32[$5>>2]|0; - switch ($31|0) { - case 1: { - $32 = ((($2)) + 16|0); - HEAP32[$32>>2] = 1; - break L17; - break; - } - case 2: { - $33 = ((($2)) + 16|0); - HEAP32[$33>>2] = 2; - break L17; - break; - } - case 3: { - $34 = ((($2)) + 16|0); - HEAP32[$34>>2] = 4; - break L17; - break; - } - case 4: { - $35 = ((($2)) + 16|0); - HEAP32[$35>>2] = 7; - break L17; - break; - } - default: { - break L17; - } - } - } - } while(0); - } else { - $8 = (_LoadResource($1,0)|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(1); - if ($10) { - $11 = ((($8)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($8)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($8)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($8)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _LoadImagePro($2,$12,$14,$16,$18); - } else { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5731,$vararg_buffer); - } - _UnloadResource($8); - } - } while(0); - $48 = HEAP32[$2>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - HEAP32[$vararg_buffer12>>2] = $1; - _TraceLog(1,5943,$vararg_buffer12); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - $50 = ((($2)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($2)) + 8|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $51; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $53; - _TraceLog(0,5904,$vararg_buffer7); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _stbi_load_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return ($6|0); - } - $8 = ((($5)) + 172|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($5)) + 168|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) - ($9))|0; - (_fseek($0,$12,1)|0); - STACKTOP = sp;return ($6|0); -} -function _stbi_set_flip_vertically_on_load($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4928] = $0; - return; -} -function _stbi_loadf_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__loadf_main($5,$1,$2,$3,$4)|0); - STACKTOP = sp;return ($6|0); -} -function _LoadDDS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$0101111 = 0, $$0102114 = 0, $$0103112 = 0, $$sink = 0, $$sink2 = 0, $$sroa$0$0 = 0, $$sroa$0$1 = 0, $$sroa$0$2 = 0, $$sroa$0$3 = 0, $$sroa$28$0 = 0, $$sroa$28$0$$sroa_idx61 = 0, $$sroa$28$1 = 0, $$sroa$42$0 = 0, $$sroa$42$0$$sroa_idx75 = 0, $$sroa$42$1 = 0, $$sroa$56$0 = 0, $$sroa$56$0$$sroa_idx89 = 0, $$sroa$56$1 = 0, $$sroa$57$0 = 0; - var $$sroa$57$0$$sroa_idx91 = 0, $$sroa$57$2 = 0, $$sroa$57$3 = 0, $$sroa$57$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $exitcond = 0, $exitcond117 = 0, $or$cond = 0, $or$cond106 = 0, $or$cond108 = 0, $switch = 0, $switch$split282D = 0, $switch$split2D = 0, $switch$split312D = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $vararg_buffer24 = sp + 56|0; - $vararg_buffer20 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 184|0; - $3 = sp + 60|0; - $4 = (_fopen($1,5788)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5974,$vararg_buffer); - $$sroa$0$3 = 0;$$sroa$28$1 = 0;$$sroa$42$1 = 0;$$sroa$56$1 = 0;$$sroa$57$4 = 0; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; - } - (_fread($2,4,1,$4)|0); - $6 = (_strncmp($2,6008,4)|0); - $7 = ($6|0)==(0); - if ($7) { - (_fread($3,124,1,$4)|0); - HEAP32[$vararg_buffer4>>2] = $1; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,6061,$vararg_buffer4); - $8 = ((($3)) + 72|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $9; - _TraceLog(3,6091,$vararg_buffer8); - $10 = ((($3)) + 76|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer12>>2] = $1; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $11; - _TraceLog(3,6127,$vararg_buffer12); - $12 = ((($3)) + 80|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer16>>2] = $1; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $13; - _TraceLog(3,6166,$vararg_buffer16); - $14 = ((($3)) + 84|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$vararg_buffer20>>2] = $1; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $15; - _TraceLog(3,6193,$vararg_buffer20); - $16 = ((($3)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($3)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $$sink = $22 ? 1 : $21; - $23 = HEAP32[$14>>2]|0; - $24 = ($23|0)==(16); - L7: do { - if ($24) { - $25 = HEAP32[$10>>2]|0; - switch ($25|0) { - case 64: { - $26 = $17 << 1; - $27 = Math_imul($26, $19)|0; - $28 = (_malloc($27)|0); - (_fread($28,$27,1,$4)|0); - $$sroa$0$0 = $28;$$sroa$57$0 = 3; - break L7; - break; - } - case 65: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $29 = ((($3)) + 100|0); - $30 = HEAP32[$29>>2]|0; - $switch$split2D = ($30|0)<(61440); - if ($switch$split2D) { - switch ($30|0) { - case 32768: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $31 = Math_imul($19, $17)|0; - $32 = $31 << 1; - $33 = (_malloc($32)|0); - (_fread($33,$32,1,$4)|0); - $34 = ($31|0)>(0); - if ($34) { - $$0103112 = 0; - } else { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } - while(1) { - $35 = (($33) + ($$0103112<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = ($36&65535) >>> 15; - $39 = $38&65535; - $40 = $37 << 1; - $41 = $40 | $39; - $42 = $41&65535; - HEAP16[$35>>1] = $42; - $43 = (($$0103112) + 1)|0; - $exitcond = ($43|0)==($31|0); - if ($exitcond) { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } else { - $$0103112 = $43; - } - } - } else { - switch ($30|0) { - case 61440: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $44 = Math_imul($19, $17)|0; - $45 = $44 << 1; - $46 = (_malloc($45)|0); - (_fread($46,$45,1,$4)|0); - $47 = ($44|0)>(0); - if ($47) { - $$0102114 = 0; - } else { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } - while(1) { - $48 = (($46) + ($$0102114<<1)|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = ($49&65535) >>> 12; - $52 = $51&65535; - $53 = $50 << 4; - $54 = $53 | $52; - $55 = $54&65535; - HEAP16[$48>>1] = $55; - $56 = (($$0102114) + 1)|0; - $exitcond117 = ($56|0)==($44|0); - if ($exitcond117) { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } else { - $$0102114 = $56; - } - } - } - } else { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - } - } while(0); - $57 = HEAP32[$10>>2]|0; - $58 = ($57|0)==(64); - $59 = HEAP32[$14>>2]|0; - $60 = ($59|0)==(24); - $or$cond = $58 & $60; - L22: do { - if ($or$cond) { - $61 = ($17*3)|0; - $62 = Math_imul($61, $19)|0; - $63 = (_malloc($62)|0); - (_fread($63,$62,1,$4)|0); - $$sroa$0$1 = $63;$$sroa$57$2 = 4; - } else { - $64 = ($57|0)==(65); - $65 = ($59|0)==(32); - $or$cond106 = $64 & $65; - if ($or$cond106) { - $66 = $17 << 2; - $67 = Math_imul($66, $19)|0; - $68 = (_malloc($67)|0); - (_fread($68,$67,1,$4)|0); - $69 = ($67|0)>(0); - if ($69) { - $$0101111 = 0; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break; - } - while(1) { - $70 = (($68) + ($$0101111)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $$0101111 | 2; - $73 = (($68) + ($72)|0); - $74 = HEAP8[$73>>0]|0; - HEAP8[$70>>0] = $74; - HEAP8[$73>>0] = $71; - $75 = (($$0101111) + 4)|0; - $76 = ($75|0)<($67|0); - if ($76) { - $$0101111 = $75; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break L22; - } - } - } - $77 = $57 & -2; - $switch = ($77|0)!=(4); - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)==(0); - $or$cond108 = $switch | $79; - if ($or$cond108) { - $$sroa$0$1 = $$sroa$0$0;$$sroa$57$2 = $$sroa$57$0; - } else { - $80 = HEAP32[$20>>2]|0; - $81 = ($80>>>0)>(1); - $82 = ((($3)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81&1; - $$0 = $83 << $84; - HEAP32[$vararg_buffer24>>2] = $83; - _TraceLog(3,6223,$vararg_buffer24); - $85 = (_malloc($$0)|0); - (_fread($85,$$0,1,$4)|0); - $86 = HEAP32[$12>>2]|0; - $switch$split282D = ($86|0)<(861165636); - if ($switch$split282D) { - switch ($86|0) { - case 827611204: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $87 = HEAP32[$10>>2]|0; - $88 = ($87|0)==(4); - $$sink2 = $88 ? 9 : 10; - $$sroa$0$1 = $85;$$sroa$57$2 = $$sink2; - break; - } - $switch$split312D = ($86|0)<(894720068); - if ($switch$split312D) { - switch ($86|0) { - case 861165636: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 11; - break; - } else { - switch ($86|0) { - case 894720068: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 12; - break; - } - } - } - } while(0); - $$sroa$0$2 = $$sroa$0$1;$$sroa$28$0 = $17;$$sroa$42$0 = $19;$$sroa$56$0 = $$sink;$$sroa$57$3 = $$sroa$57$2; - } else { - HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(1,6013,$vararg_buffer1); - $$sroa$0$2 = 0;$$sroa$28$0 = 0;$$sroa$42$0 = 0;$$sroa$56$0 = 0;$$sroa$57$3 = 0; - } - (_fclose($4)|0); - $$sroa$0$3 = $$sroa$0$2;$$sroa$28$1 = $$sroa$28$0;$$sroa$42$1 = $$sroa$42$0;$$sroa$56$1 = $$sroa$56$0;$$sroa$57$4 = $$sroa$57$3; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; -} -function _stbi__start_file($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($0,3632,$1); - return; -} -function _stbi__loadf_main($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__hdr_test($0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - _stbi__float_postprocess($7,$1,$2,$3,$4); - $$0 = $7; - return ($$0|0); - } - $9 = (_stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4)|0); - $10 = ($9|0)==(0|0); - if ($10) { - _stbi__err(6248); - $$0 = 0; - return ($$0|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ($4|0)==(0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = $14; - } else { - $15 = $4; - } - $16 = (_stbi__ldr_to_hdr($9,$11,$12,$15)|0); - $$0 = $16; - return ($$0|0); -} -function _stbi__hdr_test($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__hdr_test_core($0,7856)|0); - _stbi__rewind($0); - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = $1; - return ($$0|0); - } - $3 = (_stbi__hdr_test_core($0,7868)|0); - _stbi__rewind($0); - $$0 = $3; - return ($$0|0); -} -function _stbi__hdr_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$0142 = 0, $$014033 = 0, $$014253 = 0, $$014344 = 0, $$014538 = 0, $$0146 = 0, $$0150 = 0, $$114131 = 0, $$1144 = 0, $$1147 = 0, $$1151 = 0, $$2148 = 0, $$2152$be = 0, $$215236 = 0, $$3 = 0, $$314943 = 0, $$315332 = 0, $$430 = 0, $$540 = 0; - var $$lcssa29 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond87 = 0, $exitcond88 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 4|0; - $8 = sp + 8|0; - $9 = (_stbi__hdr_gettoken($0,$5)|0); - $10 = (_strcmp($9,7716)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $12 = (_strcmp($9,7727)|0); - $13 = ($12|0)==(0); - if (!($13)) { - _stbi__err(7734); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - } - $14 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $14; - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - $$014253 = 0;$17 = $5; - while(1) { - $18 = (_strcmp($17,7742)|0); - $19 = ($18|0)==(0); - $$$0142 = $19 ? 1 : $$014253; - $20 = (_stbi__hdr_gettoken($0,$5)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$014253 = $$$0142;$17 = $5; - } - } - HEAP32[$6>>2] = $20; - $23 = ($$$0142|0)==(0); - if (!($23)) { - $24 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $24; - $25 = (_strncmp($24,7784,3)|0); - $26 = ($25|0)==(0); - if (!($26)) { - _stbi__err(7788); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $27 = ((($5)) + 3|0); - HEAP32[$6>>2] = $27; - $28 = (_strtol($27,$6,10)|0); - $29 = HEAP32[$6>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(32); - if ($31) { - $33 = $29; - while(1) { - $32 = ((($33)) + 1|0); - $34 = HEAP8[$32>>0]|0; - $35 = ($34<<24>>24)==(32); - if ($35) { - $33 = $32; - } else { - break; - } - } - HEAP32[$6>>2] = $32; - $$lcssa29 = $32; - } else { - $$lcssa29 = $29; - } - $36 = (_strncmp($$lcssa29,7812,3)|0); - $37 = ($36|0)==(0); - if (!($37)) { - _stbi__err(7788); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $38 = ((($$lcssa29)) + 3|0); - HEAP32[$6>>2] = $38; - $39 = (_strtol($38,0,10)|0); - HEAP32[$1>>2] = $39; - HEAP32[$2>>2] = $28; - $40 = ($3|0)==(0|0); - if (!($40)) { - HEAP32[$3>>2] = 3; - } - $41 = ($4|0)==(0); - $$ = $41 ? 3 : $4; - $42 = (_stbi__mad4sizes_valid($39,$28,$$)|0); - $43 = ($42|0)==(0); - if ($43) { - _stbi__err(6474); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $44 = (_stbi__malloc_mad4($39,$28,$$)|0); - $45 = ($44|0)==(0|0); - if ($45) { - _stbi__err(6267); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $$off = (($39) + -8)|0; - $46 = ($$off>>>0)>(32759); - do { - if ($46) { - $$0146 = 0; - label = 23; - } else { - $47 = ($28|0)>(0); - if ($47) { - $$014344 = 0;$$314943 = 0; - } else { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - L39: while(1) { - $57 = (_stbi__get8($0)|0); - $58 = (_stbi__get8($0)|0); - $59 = (_stbi__get8($0)|0); - $60 = $59&255; - $notlhs = ($57<<24>>24)==(2); - $notrhs = ($58<<24>>24)==(2); - $or$cond3$not = $notlhs & $notrhs; - $61 = $60 & 128; - $62 = ($61|0)==(0); - $or$cond = $or$cond3$not & $62; - if (!($or$cond)) { - label = 28; - break; - } - $67 = $60 << 8; - $68 = (_stbi__get8($0)|0); - $69 = $68&255; - $70 = $69 | $67; - $71 = ($70|0)==($39|0); - if (!($71)) { - label = 30; - break; - } - $72 = ($$014344|0)==(0|0); - if ($72) { - $73 = (_stbi__malloc_mad2($39,4)|0); - $74 = ($73|0)==(0|0); - if ($74) { - label = 33; - break; - } else { - $$1144 = $73; - } - } else { - $$1144 = $$014344; - } - $$014538 = 0; - while(1) { - $$215236 = 0;$87 = $39; - while(1) { - $82 = (_stbi__get8($0)|0); - $79 = $82&255; - $83 = ($82&255)>(128); - do { - if ($83) { - $84 = (_stbi__get8($0)|0); - $85 = (($79) + 128)|0; - $77 = $85 & 255; - $86 = ($77|0)>($87|0); - if ($86) { - label = 43; - break L39; - } - $88 = ($77|0)==(0); - if ($88) { - $$2152$be = $$215236; - break; - } else { - $$014033 = 0;$$315332 = $$215236; - } - while(1) { - $89 = (($$315332) + 1)|0; - $90 = $$315332 << 2; - $91 = (($90) + ($$014538))|0; - $92 = (($$1144) + ($91)|0); - HEAP8[$92>>0] = $84; - $93 = (($$014033) + 1)|0; - $exitcond87 = ($93|0)==($77|0); - if ($exitcond87) { - break; - } else { - $$014033 = $93;$$315332 = $89; - } - } - $76 = (($$215236) + ($77))|0; - $$2152$be = $76; - } else { - $94 = ($79|0)>($87|0); - if ($94) { - label = 47; - break L39; - } - $95 = ($82<<24>>24)==(0); - if ($95) { - $$2152$be = $$215236; - break; - } else { - $$114131 = 0;$$430 = $$215236; - } - while(1) { - $96 = (_stbi__get8($0)|0); - $97 = (($$430) + 1)|0; - $98 = $$430 << 2; - $99 = (($98) + ($$014538))|0; - $100 = (($$1144) + ($99)|0); - HEAP8[$100>>0] = $96; - $101 = (($$114131) + 1)|0; - $exitcond = ($101|0)==($79|0); - if ($exitcond) { - break; - } else { - $$114131 = $101;$$430 = $97; - } - } - $78 = (($$215236) + ($79))|0; - $$2152$be = $78; - } - } while(0); - $80 = (($39) - ($$2152$be))|0; - $81 = ($80|0)>(0); - if ($81) { - $$215236 = $$2152$be;$87 = $80; - } else { - break; - } - } - $102 = (($$014538) + 1)|0; - $103 = ($102|0)<(4); - if ($103) { - $$014538 = $102; - } else { - break; - } - } - $75 = Math_imul($$314943, $39)|0; - $$540 = 0; - while(1) { - $104 = (($$540) + ($75))|0; - $105 = Math_imul($104, $$)|0; - $106 = (($44) + ($105<<2)|0); - $107 = $$540 << 2; - $108 = (($$1144) + ($107)|0); - _stbi__hdr_convert($106,$108,$$); - $109 = (($$540) + 1)|0; - $exitcond88 = ($109|0)==($39|0); - if ($exitcond88) { - break; - } else { - $$540 = $109; - } - } - $110 = (($$314943) + 1)|0; - $111 = ($110|0)<($28|0); - if ($111) { - $$014344 = $$1144;$$314943 = $110; - } else { - label = 52; - break; - } - } - if ((label|0) == 28) { - HEAP8[$8>>0] = $57; - $63 = ((($8)) + 1|0); - HEAP8[$63>>0] = $58; - $64 = ((($8)) + 2|0); - HEAP8[$64>>0] = $59; - $65 = (_stbi__get8($0)|0); - $66 = ((($8)) + 3|0); - HEAP8[$66>>0] = $65; - _stbi__hdr_convert($44,$8,$$); - _free($$014344); - $$1151 = 1;$$2148 = 0; - label = 25; - break; - } - else if ((label|0) == 30) { - _free($44); - _free($$014344); - _stbi__err(7816); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 33) { - _free($44); - _stbi__err(6267); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 43) { - _free($44); - _free($$1144); - _stbi__err(7848); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 47) { - _free($44); - _free($$1144); - _stbi__err(7848); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 52) { - $112 = ($$1144|0)==(0|0); - if ($112) { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - _free($$1144); - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - } - } while(0); - while(1) { - if ((label|0) == 23) { - label = 0; - $48 = ($$0146|0)<($28|0); - if ($48) { - $$0150 = 0;$$1147 = $$0146; - } else { - $$3 = $44; - break; - } - } - else if ((label|0) == 25) { - label = 0; - (_stbi__getn($0,$7,4)|0); - $50 = Math_imul($39, $$)|0; - $51 = Math_imul($50, $$2148)|0; - $52 = (($44) + ($51<<2)|0); - $53 = Math_imul($$1151, $$)|0; - $54 = (($52) + ($53<<2)|0); - _stbi__hdr_convert($54,$7,$$); - $55 = (($$1151) + 1)|0; - $$0150 = $55;$$1147 = $$2148; - } - $49 = ($$0150|0)<($39|0); - if ($49) { - $$1151 = $$0150;$$2148 = $$1147; - label = 25; - continue; - } - $56 = (($$1147) + 1)|0; - $$0146 = $56; - label = 23; - } - STACKTOP = sp;return ($$3|0); - } - } - _stbi__err(7765); - $$3 = 0; - STACKTOP = sp;return ($$3|0); -} -function _stbi__float_postprocess($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[4928]|0; - $6 = ($5|0)!=(0); - $7 = ($0|0)!=(0|0); - $or$cond = $7 & $6; - if (!($or$cond)) { - return; - } - $8 = ($4|0)==(0); - if ($8) { - $9 = HEAP32[$3>>2]|0; - $13 = $9; - } else { - $13 = $4; - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = $13 << 2; - _stbi__vertical_flip($0,$10,$11,$12); - return; -} -function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$023 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $5 = sp; - $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = HEAP32[$5>>2]|0; - switch ($8|0) { - case 8: { - $$023 = $6; - break; - } - case 16: { - label = 4; - break; - } - default: { - ___assert_fail((6276|0),(6302|0),1066,(6325|0)); - // unreachable; - } - } - if ((label|0) == 4) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($4|0)==(0); - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = $12; - } else { - $13 = $4; - } - $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); - HEAP32[$5>>2] = 8; - $$023 = $14; - } - $15 = HEAP32[4928]|0; - $16 = ($15|0)==(0); - if ($16) { - $$0 = $$023; - STACKTOP = sp;return ($$0|0); - } - $17 = ($4|0)==(0); - if ($17) { - $18 = HEAP32[$3>>2]|0; - $21 = $18; - } else { - $21 = $4; - } - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - _stbi__vertical_flip($$023,$19,$20,$21); - $$0 = $$023; - STACKTOP = sp;return ($$0|0); -} -function _stbi__ldr_to_hdr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$042 = 0, $$043$lcssa = 0, $$04345 = 0, $$04446 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond48 = 0, $sext = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__malloc_mad4($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(6267); - $$0 = 0; - return ($$0|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$042 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$042|0)>(0); - $11 = +HEAPF32[750]; - $12 = $11; - $13 = +HEAPF32[751]; - $14 = $13; - $$04446 = 0; - while(1) { - if ($10) { - $15 = Math_imul($$04446, $3)|0; - $$04345 = 0; - while(1) { - $16 = (($$04345) + ($15))|0; - $17 = (($0) + ($16)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 / 255.0; - $21 = $20; - $22 = (+Math_pow((+$21),(+$12))); - $23 = $22 * $14; - $24 = $23; - $25 = (($5) + ($16<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (($$04345) + 1)|0; - $exitcond = ($26|0)==($$042|0); - if ($exitcond) { - $$043$lcssa = $$042; - break; - } else { - $$04345 = $26; - } - } - } else { - $$043$lcssa = 0; - } - $27 = ($$043$lcssa|0)<($3|0); - $28 = Math_imul($$04446, $3)|0; - $29 = (($$043$lcssa) + ($28))|0; - if ($27) { - $30 = (($5) + ($29<<2)|0); - $31 = (($0) + ($29)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $33 / 255.0; - HEAPF32[$30>>2] = $34; - } - $35 = (($$04446) + 1)|0; - $exitcond48 = ($35|0)==($8|0); - if ($exitcond48) { - break; - } else { - $$04446 = $35; - } - } - } - _free($0); - $$0 = $5; - return ($$0|0); -} -function _stbi__err($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4927] = $0; - return; -} -function _stbi__malloc_mad4($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad4sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = $0 << 2; - $6 = Math_imul($5, $1)|0; - $7 = Math_imul($6, $2)|0; - $8 = (_stbi__malloc($7)|0); - $$0 = $8; - return ($$0|0); -} -function _stbi__mad4sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $15 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $15 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__mul2sizes_valid($8,4)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = $8 << 2; - $12 = (_stbi__addsizes_valid($11)|0); - $13 = ($12|0)!=(0); - $15 = $13; - } - } - } - $14 = $15&1; - return ($14|0); -} -function _stbi__malloc($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_malloc($0)|0); - return ($1|0); -} -function _stbi__mul2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 | $0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - } else { - $4 = ($1|0)==(0); - if ($4) { - $$0 = 1; - } else { - $5 = (2147483647 / ($1|0))&-1; - $6 = ($5|0)>=($0|0); - $7 = $6&1; - $$0 = $7; - } - } - return ($$0|0); -} -function _stbi__addsizes_valid($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 1; -} -function _stbi__load_main($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[$5>>2] = 8; - $6 = ((($5)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = ((($5)) + 4|0); - HEAP32[$7>>2] = 0; - $8 = (_stbi__png_test($0)|0); - $9 = ($8|0)==(0); - if (!($9)) { - $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); - $$0 = $10; - return ($$0|0); - } - $11 = (_stbi__hdr_test($0)|0); - $12 = ($11|0)==(0); - if ($12) { - _stbi__err(6248); - $$0 = 0; - return ($$0|0); - } - $13 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ($4|0)==(0); - if ($16) { - $17 = HEAP32[$3>>2]|0; - $18 = $17; - } else { - $18 = $4; - } - $19 = (_stbi__hdr_to_ldr($13,$14,$15,$18)|0); - $$0 = $19; - return ($$0|0); -} -function _stbi__convert_16_to_8($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = Math_imul($4, $3)|0; - $6 = (_stbi__malloc($5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - _stbi__err(6267); - $$0 = 0; - return ($$0|0); - } - $8 = ($5|0)>(0); - if ($8) { - $$01819 = 0; - while(1) { - $9 = (($0) + ($$01819<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10&65535) >>> 8; - $12 = $11&255; - $13 = (($6) + ($$01819)|0); - HEAP8[$13>>0] = $12; - $14 = (($$01819) + 1)|0; - $exitcond = ($14|0)==($5|0); - if ($exitcond) { - break; - } else { - $$01819 = $14; - } - } - } - _free($0); - $$0 = $6; - return ($$0|0); -} -function _stbi__vertical_flip($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$04553 = 0, $$04652 = 0, $$04751 = 0, $$054 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2048|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2048|0); - $4 = sp; - $5 = Math_imul($3, $1)|0; - $6 = $2 >> 1; - $7 = ($6|0)>(0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = (($2) + -1)|0; - $9 = ($5|0)==(0); - $$054 = 0; - while(1) { - if (!($9)) { - $10 = (($8) - ($$054))|0; - $11 = Math_imul($10, $5)|0; - $12 = (($0) + ($11)|0); - $13 = Math_imul($$054, $5)|0; - $14 = (($0) + ($13)|0); - $$04553 = $5;$$04652 = $12;$$04751 = $14; - while(1) { - $15 = ($$04553>>>0)<(2048); - $16 = $15 ? $$04553 : 2048; - _memcpy(($4|0),($$04751|0),($16|0))|0; - _memcpy(($$04751|0),($$04652|0),($16|0))|0; - _memcpy(($$04652|0),($4|0),($16|0))|0; - $17 = (($$04751) + ($16)|0); - $18 = (($$04652) + ($16)|0); - $19 = (($$04553) - ($16))|0; - $20 = ($19|0)==(0); - if ($20) { - break; - } else { - $$04553 = $19;$$04652 = $18;$$04751 = $17; - } - } - } - $21 = (($$054) + 1)|0; - $exitcond = ($21|0)==($6|0); - if ($exitcond) { - break; - } else { - $$054 = $21; - } - } - STACKTOP = sp;return; -} -function _stbi__png_test($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__check_png_header($0)|0); - _stbi__rewind($0); - return ($1|0); -} -function _stbi__png_load($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $6 = sp; - HEAP32[$6>>2] = $0; - $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); - STACKTOP = sp;return ($7|0); -} -function _stbi__hdr_to_ldr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0.0, $$052 = 0.0, $$054 = 0, $$055 = 0, $$056$lcssa = 0, $$05658 = 0, $$05759 = 0, $$1 = 0.0, $$153 = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0; - var $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond61 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$054 = 0; - return ($$054|0); - } - $5 = (_stbi__malloc_mad3($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(6267); - $$054 = 0; - return ($$054|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$055 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$055|0)>(0); - $11 = +HEAPF32[752]; - $12 = +HEAPF32[753]; - $13 = $12; - $$05759 = 0; - while(1) { - if ($10) { - $14 = Math_imul($$05759, $3)|0; - $$05658 = 0; - while(1) { - $15 = (($$05658) + ($14))|0; - $16 = (($0) + ($15<<2)|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 * $11; - $19 = $18; - $20 = (+Math_pow((+$19),(+$13))); - $21 = $20; - $22 = $21 * 255.0; - $23 = $22 + 0.5; - $24 = $23 < 0.0; - $$052 = $24 ? 0.0 : $23; - $25 = $$052 > 255.0; - $$153 = $25 ? 255.0 : $$052; - $26 = (~~(($$153))); - $27 = $26&255; - $28 = (($5) + ($15)|0); - HEAP8[$28>>0] = $27; - $29 = (($$05658) + 1)|0; - $exitcond = ($29|0)==($$055|0); - if ($exitcond) { - $$056$lcssa = $$055; - break; - } else { - $$05658 = $29; - } - } - } else { - $$056$lcssa = 0; - } - $30 = ($$056$lcssa|0)<($3|0); - if ($30) { - $31 = Math_imul($$05759, $3)|0; - $32 = (($$056$lcssa) + ($31))|0; - $33 = (($0) + ($32<<2)|0); - $34 = +HEAPF32[$33>>2]; - $35 = $34 * 255.0; - $36 = $35 + 0.5; - $37 = $36 < 0.0; - $$0 = $37 ? 0.0 : $36; - $38 = $$0 > 255.0; - $$1 = $38 ? 255.0 : $$0; - $39 = (~~(($$1))); - $40 = $39&255; - $41 = (($5) + ($32)|0); - HEAP8[$41>>0] = $40; - } - $42 = (($$05759) + 1)|0; - $exitcond61 = ($42|0)==($8|0); - if ($exitcond61) { - break; - } else { - $$05759 = $42; - } - } - } - _free($0); - $$054 = $5; - return ($$054|0); -} -function _stbi__malloc_mad3($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = Math_imul($1, $0)|0; - $6 = Math_imul($5, $2)|0; - $7 = (_stbi__malloc($6)|0); - $$0 = $7; - return ($$0|0); -} -function _stbi__mad3sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $12 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $12 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__addsizes_valid($8)|0); - $10 = ($9|0)!=(0); - $12 = $10; - } - } - $11 = $12&1; - return ($11|0); -} -function _stbi__do_png($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4>>>0)>(4); - if ($6) { - _stbi__err(6357); - $$045 = 0; - return ($$045|0); - } - $7 = (_stbi__parse_png_file($0,0,$4)|0); - $8 = ($7|0)==(0); - if ($8) { - $$2 = 0; - } else { - $9 = ((($0)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(8); - $$ = $11 ? $10 : 8; - HEAP32[$5>>2] = $$; - $12 = ((($0)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$12>>2] = 0; - $14 = ($4|0)==(0); - if ($14) { - $$1 = $13; - } else { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==($4|0); - if ($18) { - $$1 = $13; - } else { - $19 = HEAP32[$5>>2]|0; - $20 = ($19|0)==(8); - $21 = ((($15)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$15>>2]|0; - if ($20) { - $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); - $$0 = $24; - } else { - $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); - $$0 = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $4; - $28 = ($$0|0)==(0|0); - if ($28) { - $$045 = 0; - return ($$045|0); - } else { - $$1 = $$0; - } - } - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; - $31 = ((($29)) + 4|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$2>>2] = $32; - $33 = ($3|0)==(0|0); - if ($33) { - $$2 = $$1; - } else { - $34 = ((($29)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$3>>2] = $35; - $$2 = $$1; - } - } - $36 = ((($0)) + 12|0); - $37 = HEAP32[$36>>2]|0; - _free($37); - HEAP32[$36>>2] = 0; - $38 = ((($0)) + 8|0); - $39 = HEAP32[$38>>2]|0; - _free($39); - HEAP32[$38>>2] = 0; - $40 = ((($0)) + 4|0); - $41 = HEAP32[$40>>2]|0; - _free($41); - HEAP32[$40>>2] = 0; - $$045 = $$2; - return ($$045|0); -} -function _stbi__parse_png_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0219 = 0, $$0208 = 0, $$0213 = 0, $$0216 = 0, $$0219 = 0, $$0228595 = 0, $$0230 = 0, $$0233 = 0, $$0237 = 0, $$0241593 = 0, $$0243 = 0, $$0247 = 0, $$1209 = 0, $$1214 = 0, $$1217 = 0, $$1220 = 0, $$1229590 = 0, $$1231 = 0, $$1242591 = 0; - var $$1248 = 0, $$2221 = 0, $$2235 = 0, $$2239 = 0, $$2245 = 0, $$256 = 0, $$3211 = 0, $$3222 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; - var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; - var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; - var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; - var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond250 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $3 = sp + 32|0; - $4 = sp + 22|0; - $5 = sp + 16|0; - $6 = sp + 8|0; - $7 = sp; - $8 = HEAP32[$0>>2]|0; - $9 = ((($0)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($0)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = (_stbi__check_png_header($8)|0); - $13 = ($12|0)==(0); - if ($13) { - $$7 = 0; - STACKTOP = sp;return ($$7|0); - } - $14 = ($1|0)==(1); - if ($14) { - $$7 = 1; - STACKTOP = sp;return ($$7|0); - } - $15 = ((($6)) + 4|0); - $16 = ((($8)) + 4|0); - $17 = ((($0)) + 16|0); - $18 = ((($8)) + 8|0); - $19 = ($1|0)==(2); - $20 = ((($8)) + 8|0); - $21 = ((($8)) + 8|0); - $22 = ((($0)) + 16|0); - $23 = ($1|0)==(2); - $24 = ($1|0)==(2); - $$0208 = 0;$$0213 = 0;$$0216 = 0;$$0219 = 0;$$0230 = 0;$$0233 = 0;$$0237 = 0;$$0243 = 1;$$0247 = 0; - L7: while(1) { - _stbi__get_chunk_header($6,$8); - $25 = HEAP32[$15>>2]|0; - $switch$split2D = ($25|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split52D = ($25|0)<(1229209940); - if ($switch$split52D) { - switch ($25|0) { - case 1130840649: { - break; - } - default: { - label = 105; - break L9; - } - } - $26 = HEAP32[$6>>2]|0; - _stbi__skip($8,$26); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = 1;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - $switch$split112D = ($25|0)<(1229278788); - if (!($switch$split112D)) { - switch ($25|0) { - case 1229278788: { - label = 85; - break L7; - break; - } - default: { - label = 105; - break L9; - } - } - } - switch ($25|0) { - case 1229209940: { - break; - } - default: { - label = 105; - break L9; - } - } - $130 = ($$0243|0)==(0); - if (!($130)) { - label = 70; - break L7; - } - $131 = ($$0208<<24>>24)==(0); - $132 = ($$0247|0)!=(0); - $or$cond = $132 | $131; - if (!($or$cond)) { - label = 72; - break L7; - } - if ($24) { - label = 74; - break L7; - } - $135 = HEAP32[$6>>2]|0; - $136 = (($135) + ($$0216))|0; - $137 = ($136|0)<($$0216|0); - if ($137) { - $$6$ph = 0; - break L7; - } - $138 = ($136>>>0)>($$0219>>>0); - if ($138) { - $139 = ($$0219|0)==(0); - $140 = ($135>>>0)>(4096); - $141 = $140 ? $135 : 4096; - $$$0219 = $139 ? $141 : $$0219; - $142 = HEAP32[$6>>2]|0; - $143 = (($142) + ($$0216))|0; - $$1220 = $$$0219; - while(1) { - $144 = ($143>>>0)>($$1220>>>0); - $145 = $$1220 << 1; - if ($144) { - $$1220 = $145; - } else { - break; - } - } - $146 = HEAP32[$10>>2]|0; - $147 = (_realloc($146,$$1220)|0); - $148 = ($147|0)==(0|0); - if ($148) { - label = 81; - break L7; - } - HEAP32[$10>>2] = $147; - $$2221 = $$1220; - } else { - $$2221 = $$0219; - } - $149 = HEAP32[$10>>2]|0; - $150 = (($149) + ($$0216)|0); - $151 = HEAP32[$6>>2]|0; - $152 = (_stbi__getn($8,$150,$151)|0); - $153 = ($152|0)==(0); - if ($153) { - label = 83; - break L7; - } - $154 = HEAP32[$6>>2]|0; - $155 = (($154) + ($$0216))|0; - $$1214 = $$0213;$$1217 = $155;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$2221; - } else { - $switch$split82D = ($25|0)<(1347179589); - if ($switch$split82D) { - switch ($25|0) { - case 1229472850: { - break; - } - default: { - label = 105; - break L9; - } - } - $27 = ($$0243|0)==(0); - if ($27) { - label = 7; - break L7; - } - $28 = HEAP32[$6>>2]|0; - $29 = ($28|0)==(13); - if (!($29)) { - label = 9; - break L7; - } - $30 = (_stbi__get32be($8)|0); - HEAP32[$8>>2] = $30; - $31 = ($30>>>0)>(16777216); - if ($31) { - label = 11; - break L7; - } - $32 = (_stbi__get32be($8)|0); - HEAP32[$16>>2] = $32; - $33 = ($32>>>0)>(16777216); - if ($33) { - label = 13; - break L7; - } - $34 = (_stbi__get8($8)|0); - $35 = $34&255; - HEAP32[$17>>2] = $35; - switch ($34<<24>>24) { - case 16: case 8: case 4: case 2: case 1: { - break; - } - default: { - label = 15; - break L7; - } - } - $36 = (_stbi__get8($8)|0); - $37 = $36&255; - $38 = ($36&255)>(6); - if ($38) { - label = 17; - break L7; - } - $39 = ($36<<24>>24)==(3); - if ($39) { - $40 = HEAP32[$17>>2]|0; - $41 = ($40|0)==(16); - if ($41) { - label = 20; - break L7; - } else { - $$1209 = 3; - } - } else { - $42 = $37 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$1209 = $$0208; - } else { - label = 22; - break L7; - } - } - $44 = (_stbi__get8($8)|0); - $45 = ($44<<24>>24)==(0); - if (!($45)) { - label = 24; - break L7; - } - $46 = (_stbi__get8($8)|0); - $47 = ($46<<24>>24)==(0); - if (!($47)) { - label = 26; - break L7; - } - $48 = (_stbi__get8($8)|0); - $49 = $48&255; - $50 = ($48&255)>(1); - if ($50) { - label = 28; - break L7; - } - $51 = HEAP32[$8>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - label = 31; - break L7; - } - $53 = HEAP32[$16>>2]|0; - $54 = ($53|0)==(0); - if ($54) { - label = 31; - break L7; - } - $55 = ($$1209<<24>>24)==(0); - $56 = (1073741824 / ($51>>>0))&-1; - if (!($55)) { - HEAP32[$20>>2] = 1; - $63 = $56 >>> 2; - $64 = ($63>>>0)<($53>>>0); - if ($64) { - label = 37; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = $$1209;$$3222 = $$0219; - break; - } - } - $57 = $37 & 2; - $58 = $57 | 1; - $59 = $37 >>> 2; - $$lobit = $59 & 1; - $60 = (($58) + ($$lobit))|0; - HEAP32[$18>>2] = $60; - $61 = (($56>>>0) / ($60>>>0))&-1; - $62 = ($61>>>0)<($53>>>0); - if ($62) { - label = 34; - break L7; - } - if ($19) { - $$6$ph = 1; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - } - $switch$split142D = ($25|0)<(1951551059); - if ($switch$split142D) { - switch ($25|0) { - case 1347179589: { - break; - } - default: { - label = 105; - break L9; - } - } - $65 = ($$0243|0)==(0); - if (!($65)) { - label = 39; - break L7; - } - $66 = HEAP32[$6>>2]|0; - $67 = ($66>>>0)>(768); - if ($67) { - label = 41; - break L7; - } - $68 = (($66>>>0) / 3)&-1; - $69 = ($68*3)|0; - $70 = ($69|0)==($66|0); - if (!($70)) { - label = 44; - break L7; - } - $71 = ($66>>>0)>(2); - if ($71) { - $$0228595 = 0; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - break; - } - while(1) { - $72 = (_stbi__get8($8)|0); - $73 = $$0228595 << 2; - $74 = (($3) + ($73)|0); - HEAP8[$74>>0] = $72; - $75 = (_stbi__get8($8)|0); - $76 = $73 | 1; - $77 = (($3) + ($76)|0); - HEAP8[$77>>0] = $75; - $78 = (_stbi__get8($8)|0); - $79 = $73 | 2; - $80 = (($3) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = $73 | 3; - $82 = (($3) + ($81)|0); - HEAP8[$82>>0] = -1; - $83 = (($$0228595) + 1)|0; - $84 = ($83>>>0)<($68>>>0); - if ($84) { - $$0228595 = $83; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break L9; - } - } - } - switch ($25|0) { - case 1951551059: { - break; - } - default: { - label = 105; - break L9; - } - } - $85 = ($$0243|0)==(0); - if (!($85)) { - label = 47; - break L7; - } - $86 = HEAP32[$10>>2]|0; - $87 = ($86|0)==(0|0); - if (!($87)) { - label = 49; - break L7; - } - $88 = ($$0208<<24>>24)==(0); - if (!($88)) { - if ($23) { - label = 52; - break L7; - } - $90 = ($$0247|0)==(0); - if ($90) { - label = 54; - break L7; - } - $91 = HEAP32[$6>>2]|0; - $92 = ($91>>>0)>($$0247>>>0); - if ($92) { - label = 58; - break L7; - } - $93 = HEAP32[$6>>2]|0; - $94 = ($93|0)==(0); - if ($94) { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 4;$$3222 = $$0219; - break; - } - $95 = HEAP32[$6>>2]|0; - $$1229590 = 0; - while(1) { - $96 = (_stbi__get8($8)|0); - $97 = $$1229590 << 2; - $98 = $97 | 3; - $99 = (($3) + ($98)|0); - HEAP8[$99>>0] = $96; - $100 = (($$1229590) + 1)|0; - $101 = ($100>>>0)<($95>>>0); - if ($101) { - $$1229590 = $100; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = 4;$$3222 = $$0219; - break L9; - } - } - } - $102 = HEAP32[$21>>2]|0; - $103 = $102 & 1; - $104 = ($103|0)==(0); - if ($104) { - label = 61; - break L7; - } - $105 = HEAP32[$6>>2]|0; - $106 = $102 << 1; - $107 = ($105|0)==($106|0); - if (!($107)) { - label = 63; - break L7; - } - $108 = HEAP32[$22>>2]|0; - $109 = ($108|0)==(16); - $110 = HEAP32[$21>>2]|0; - $111 = ($110|0)>(0); - if ($109) { - if ($111) { - $$0241593 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $112 = (_stbi__get16be($8)|0); - $113 = $112&65535; - $114 = (($5) + ($$0241593<<1)|0); - HEAP16[$114>>1] = $113; - $115 = (($$0241593) + 1)|0; - $116 = HEAP32[$21>>2]|0; - $117 = ($115|0)<($116|0); - if ($117) { - $$0241593 = $115; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } else { - if ($111) { - $$1242591 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $118 = (_stbi__get16be($8)|0); - $119 = $118 & 255; - $120 = HEAP32[$22>>2]|0; - $121 = (6673 + ($120)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = Math_imul($123, $119)|0; - $125 = $124&255; - $126 = (($4) + ($$1242591)|0); - HEAP8[$126>>0] = $125; - $127 = (($$1242591) + 1)|0; - $128 = HEAP32[$21>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $$1242591 = $127; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } - } - } while(0); - if ((label|0) == 105) { - label = 0; - $205 = ($$0243|0)==(0); - if (!($205)) { - label = 106; - break; - } - $206 = $25 & 536870912; - $207 = ($206|0)==(0); - if ($207) { - label = 108; - break; - } - $216 = HEAP32[$6>>2]|0; - _stbi__skip($8,$216); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - } - (_stbi__get32be($8)|0); - $$0208 = $$3211;$$0213 = $$1214;$$0216 = $$1217;$$0219 = $$3222;$$0230 = $$1231;$$0233 = $$2235;$$0237 = $$2239;$$0243 = $$2245;$$0247 = $$1248; - } - switch (label|0) { - case 7: { - _stbi__err(6447); - $$6$ph = 0; - break; - } - case 9: { - _stbi__err(6461); - $$6$ph = 0; - break; - } - case 11: { - _stbi__err(6474); - $$6$ph = 0; - break; - } - case 13: { - _stbi__err(6474); - $$6$ph = 0; - break; - } - case 15: { - _stbi__err(6484); - $$6$ph = 0; - break; - } - case 17: { - _stbi__err(6504); - $$6$ph = 0; - break; - } - case 20: { - _stbi__err(6504); - $$6$ph = 0; - break; - } - case 22: { - _stbi__err(6504); - $$6$ph = 0; - break; - } - case 24: { - _stbi__err(6514); - $$6$ph = 0; - break; - } - case 26: { - _stbi__err(6530); - $$6$ph = 0; - break; - } - case 28: { - _stbi__err(6548); - $$6$ph = 0; - break; - } - case 31: { - _stbi__err(6569); - $$6$ph = 0; - break; - } - case 34: { - _stbi__err(6474); - $$6$ph = 0; - break; - } - case 37: { - _stbi__err(6474); - $$6$ph = 0; - break; - } - case 39: { - _stbi__err(6583); - $$6$ph = 0; - break; - } - case 41: { - _stbi__err(6598); - $$6$ph = 0; - break; - } - case 44: { - _stbi__err(6598); - $$6$ph = 0; - break; - } - case 47: { - _stbi__err(6583); - $$6$ph = 0; - break; - } - case 49: { - _stbi__err(6611); - $$6$ph = 0; - break; - } - case 52: { - $89 = ((($8)) + 8|0); - HEAP32[$89>>2] = 4; - $$6$ph = 1; - break; - } - case 54: { - _stbi__err(6627); - $$6$ph = 0; - break; - } - case 58: { - _stbi__err(6644); - $$6$ph = 0; - break; - } - case 61: { - _stbi__err(6657); - $$6$ph = 0; - break; - } - case 63: { - _stbi__err(6644); - $$6$ph = 0; - break; - } - case 70: { - _stbi__err(6583); - $$6$ph = 0; - break; - } - case 72: { - _stbi__err(6682); - $$6$ph = 0; - break; - } - case 74: { - $133 = $$0208&255; - $134 = ((($8)) + 8|0); - HEAP32[$134>>2] = $133; - $$6$ph = 1; - break; - } - case 81: { - _stbi__err(6267); - $$6$ph = 0; - break; - } - case 83: { - _stbi__err(6690); - $$6$ph = 0; - break; - } - case 85: { - $156 = ($$0243|0)==(0); - do { - if ($156) { - $157 = ($1|0)==(0); - if ($157) { - $158 = HEAP32[$10>>2]|0; - $159 = ($158|0)==(0|0); - if ($159) { - _stbi__err(6700); - $$4 = 0; - break; - } - $160 = HEAP32[$8>>2]|0; - $161 = ((($0)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = Math_imul($162, $160)|0; - $164 = (($163) + 7)|0; - $165 = $164 >>> 3; - $166 = ((($8)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = ((($8)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = Math_imul($169, $167)|0; - $171 = Math_imul($170, $165)|0; - $172 = (($171) + ($167))|0; - HEAP32[$7>>2] = $172; - $173 = ($$0230|0)!=(0); - $174 = $173 ^ 1; - $175 = $174&1; - $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0216,$172,$7,$175)|0); - HEAP32[$9>>2] = $176; - $177 = ($176|0)==(0|0); - if ($177) { - $$4 = 0; - } else { - $178 = HEAP32[$10>>2]|0; - _free($178); - HEAP32[$10>>2] = 0; - $179 = HEAP32[$168>>2]|0; - $180 = (($179) + 1)|0; - $notlhs = ($180|0)!=($2|0); - $notrhs = ($2|0)==(3); - $or$cond5$not = $notrhs | $notlhs; - $181 = ($$0208<<24>>24)!=(0); - $or$cond7 = $181 | $or$cond5$not; - $182 = ($$0213<<24>>24)==(0); - $or$cond250 = $182 & $or$cond7; - $$256 = $or$cond250 ? $179 : $180; - $183 = ((($8)) + 12|0); - HEAP32[$183>>2] = $$256; - $184 = HEAP32[$9>>2]|0; - $185 = HEAP32[$7>>2]|0; - $186 = HEAP32[$161>>2]|0; - $187 = (_stbi__create_png_image($0,$184,$185,$$256,$186,$$0233,$$0237)|0); - $188 = ($187|0)==(0); - if ($188) { - $$4 = 0; - } else { - $189 = ($$0213<<24>>24)!=(0); - do { - if ($189) { - $190 = HEAP32[$161>>2]|0; - $191 = ($190|0)==(16); - if ($191) { - $192 = HEAP32[$183>>2]|0; - _stbi__compute_transparency16($0,$5,$192); - break; - } else { - $193 = HEAP32[$183>>2]|0; - _stbi__compute_transparency($0,$4,$193); - break; - } - } - } while(0); - $194 = HEAP32[4929]|0; - $195 = ($194|0)!=(0); - $or$cond11 = $173 & $195; - if ($or$cond11) { - $196 = HEAP32[$183>>2]|0; - $197 = ($196|0)>(2); - if ($197) { - _stbi__de_iphone($0); - } - } - if ($181) { - $198 = $$0208&255; - HEAP32[$168>>2] = $198; - $199 = ($2|0)>(2); - $$ = $199 ? $2 : $198; - HEAP32[$183>>2] = $$; - $200 = (_stbi__expand_png_palette($0,$3,$$)|0); - $201 = ($200|0)==(0); - if ($201) { - $$4 = 0; - break; - } - } else { - if ($189) { - $202 = HEAP32[$168>>2]|0; - $203 = (($202) + 1)|0; - HEAP32[$168>>2] = $203; - } - } - $204 = HEAP32[$9>>2]|0; - _free($204); - HEAP32[$9>>2] = 0; - $$4 = 1; - } - } - } else { - $$4 = 1; - } - } else { - _stbi__err(6583); - $$4 = 0; - } - } while(0); - $$6$ph = $$4; - break; - } - case 106: { - _stbi__err(6583); - $$6$ph = 0; - break; - } - case 108: { - $208 = $25 >>> 24; - $209 = $208&255; - HEAP8[6708] = $209; - $210 = HEAP32[$15>>2]|0; - $211 = $210 >>> 16; - $212 = $211&255; - HEAP8[(6709)>>0] = $212; - $213 = $210 >>> 8; - $214 = $213&255; - HEAP8[(6710)>>0] = $214; - $215 = $210&255; - HEAP8[(6711)>>0] = $215; - _stbi__err(6708); - $$6$ph = 0; - break; - } - } - $$7 = $$6$ph; - STACKTOP = sp;return ($$7|0); -} -function _stbi__convert_format($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6370|0),(6302|0),1477,(6426|0)); - // unreachable; - } - $7 = (_stbi__malloc_mad3($2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - _free($0); - _stbi__err(6267); - $$0163 = 0; - return ($$0163|0); - } - $9 = ($4|0)>(0); - L11: do { - if ($9) { - $10 = $1 << 3; - $11 = (($10) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $12 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $13 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $14 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $15 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $16 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $17 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $18 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $19 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $20 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $21 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $22 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $23 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $24 = Math_imul($$0164259, $3)|0; - $25 = Math_imul($24, $1)|0; - $26 = (($0) + ($25)|0); - $27 = Math_imul($24, $2)|0; - $28 = (($7) + ($27)|0); - do { - switch ($11|0) { - case 10: { - if ($12) { - $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; - while(1) { - $29 = HEAP8[$$0151255>>0]|0; - HEAP8[$$0256>>0] = $29; - $30 = ((($$0256)) + 1|0); - HEAP8[$30>>0] = -1; - $31 = ((($$0151255)) + 1|0); - $32 = ((($$0256)) + 2|0); - $$0165 = (($$0165257) + -1)|0; - $33 = ($$0165|0)>(-1); - if ($33) { - $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; - } else { - break; - } - } - } - break; - } - case 11: { - if ($13) { - $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; - while(1) { - $34 = HEAP8[$$1152250>>0]|0; - $35 = ((($$1251)) + 2|0); - HEAP8[$35>>0] = $34; - $36 = ((($$1251)) + 1|0); - HEAP8[$36>>0] = $34; - HEAP8[$$1251>>0] = $34; - $37 = ((($$1152250)) + 1|0); - $38 = ((($$1251)) + 3|0); - $$1166 = (($$1166252) + -1)|0; - $39 = ($$1166|0)>(-1); - if ($39) { - $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; - } else { - break; - } - } - } - break; - } - case 12: { - if ($14) { - $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; - while(1) { - $40 = HEAP8[$$2153245>>0]|0; - $41 = ((($$2246)) + 2|0); - HEAP8[$41>>0] = $40; - $42 = ((($$2246)) + 1|0); - HEAP8[$42>>0] = $40; - HEAP8[$$2246>>0] = $40; - $43 = ((($$2246)) + 3|0); - HEAP8[$43>>0] = -1; - $44 = ((($$2153245)) + 1|0); - $45 = ((($$2246)) + 4|0); - $$2167 = (($$2167247) + -1)|0; - $46 = ($$2167|0)>(-1); - if ($46) { - $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; - } else { - break; - } - } - } - break; - } - case 17: { - if ($15) { - $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; - while(1) { - $47 = HEAP8[$$3154240>>0]|0; - HEAP8[$$3241>>0] = $47; - $48 = ((($$3154240)) + 2|0); - $49 = ((($$3241)) + 1|0); - $$3168 = (($$3168242) + -1)|0; - $50 = ($$3168|0)>(-1); - if ($50) { - $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; - } else { - break; - } - } - } - break; - } - case 19: { - if ($16) { - $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; - while(1) { - $51 = HEAP8[$$4155235>>0]|0; - $52 = ((($$4236)) + 2|0); - HEAP8[$52>>0] = $51; - $53 = ((($$4236)) + 1|0); - HEAP8[$53>>0] = $51; - HEAP8[$$4236>>0] = $51; - $54 = ((($$4155235)) + 2|0); - $55 = ((($$4236)) + 3|0); - $$4169 = (($$4169237) + -1)|0; - $56 = ($$4169|0)>(-1); - if ($56) { - $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; - } else { - break; - } - } - } - break; - } - case 20: { - if ($17) { - $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; - while(1) { - $57 = HEAP8[$$5156230>>0]|0; - $58 = ((($$5231)) + 2|0); - HEAP8[$58>>0] = $57; - $59 = ((($$5231)) + 1|0); - HEAP8[$59>>0] = $57; - HEAP8[$$5231>>0] = $57; - $60 = ((($$5156230)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((($$5231)) + 3|0); - HEAP8[$62>>0] = $61; - $63 = ((($$5156230)) + 2|0); - $64 = ((($$5231)) + 4|0); - $$5170 = (($$5170232) + -1)|0; - $65 = ($$5170|0)>(-1); - if ($65) { - $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; - } else { - break; - } - } - } - break; - } - case 28: { - if ($18) { - $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; - while(1) { - $66 = HEAP8[$$6157225>>0]|0; - HEAP8[$$6226>>0] = $66; - $67 = ((($$6157225)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($$6226)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ((($$6226)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = ((($$6226)) + 3|0); - HEAP8[$73>>0] = -1; - $74 = ((($$6157225)) + 3|0); - $75 = ((($$6226)) + 4|0); - $$6171 = (($$6171227) + -1)|0; - $76 = ($$6171|0)>(-1); - if ($76) { - $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; - } else { - break; - } - } - } - break; - } - case 25: { - if ($19) { - $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; - while(1) { - $77 = HEAP8[$$7158220>>0]|0; - $78 = $77&255; - $79 = ((($$7158220)) + 1|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__compute_y($78,$81,$84)|0); - HEAP8[$$7221>>0] = $85; - $86 = ((($$7158220)) + 3|0); - $87 = ((($$7221)) + 1|0); - $$7172 = (($$7172222) + -1)|0; - $88 = ($$7172|0)>(-1); - if ($88) { - $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; - } else { - break; - } - } - } - break; - } - case 26: { - if ($20) { - $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; - while(1) { - $89 = HEAP8[$$8159215>>0]|0; - $90 = $89&255; - $91 = ((($$8159215)) + 1|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = (_stbi__compute_y($90,$93,$96)|0); - HEAP8[$$8216>>0] = $97; - $98 = ((($$8216)) + 1|0); - HEAP8[$98>>0] = -1; - $99 = ((($$8159215)) + 3|0); - $100 = ((($$8216)) + 2|0); - $$8173 = (($$8173217) + -1)|0; - $101 = ($$8173|0)>(-1); - if ($101) { - $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; - } else { - break; - } - } - } - break; - } - case 33: { - if ($21) { - $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; - while(1) { - $102 = HEAP8[$$9160210>>0]|0; - $103 = $102&255; - $104 = ((($$9160210)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (_stbi__compute_y($103,$106,$109)|0); - HEAP8[$$9211>>0] = $110; - $111 = ((($$9160210)) + 4|0); - $112 = ((($$9211)) + 1|0); - $$9174 = (($$9174212) + -1)|0; - $113 = ($$9174|0)>(-1); - if ($113) { - $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; - } else { - break; - } - } - } - break; - } - case 34: { - if ($22) { - $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; - while(1) { - $114 = HEAP8[$$10161205>>0]|0; - $115 = $114&255; - $116 = ((($$10161205)) + 1|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = (_stbi__compute_y($115,$118,$121)|0); - HEAP8[$$10206>>0] = $122; - $123 = ((($$10161205)) + 3|0); - $124 = HEAP8[$123>>0]|0; - $125 = ((($$10206)) + 1|0); - HEAP8[$125>>0] = $124; - $126 = ((($$10161205)) + 4|0); - $127 = ((($$10206)) + 2|0); - $$10175 = (($$10175207) + -1)|0; - $128 = ($$10175|0)>(-1); - if ($128) { - $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; - } else { - break; - } - } - } - break; - } - case 35: { - if ($23) { - $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; - while(1) { - $129 = HEAP8[$$11162201>>0]|0; - HEAP8[$$11202>>0] = $129; - $130 = ((($$11162201)) + 1|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($$11202)) + 1|0); - HEAP8[$132>>0] = $131; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP8[$133>>0]|0; - $135 = ((($$11202)) + 2|0); - HEAP8[$135>>0] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = ((($$11202)) + 3|0); - $$11176 = (($$11176203) + -1)|0; - $138 = ($$11176|0)>(-1); - if ($138) { - $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $139 = (($$0164259) + 1)|0; - $140 = ($139|0)<($4|0); - if ($140) { - $$0164259 = $139; - } else { - break L11; - } - } - ___assert_fail((6424|0),(6302|0),1506,(6426|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $7; - return ($$0163|0); -} -function _stbi__convert_format16($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6370|0),(6302|0),1526,(6401|0)); - // unreachable; - } - $7 = $2 << 1; - $8 = Math_imul($7, $3)|0; - $9 = Math_imul($8, $4)|0; - $10 = (_stbi__malloc($9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($0); - _stbi__err(6267); - $$0163 = 0; - return ($$0163|0); - } - $12 = ($4|0)>(0); - L11: do { - if ($12) { - $13 = $1 << 3; - $14 = (($13) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $15 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $16 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $17 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $18 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $19 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $20 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $21 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $22 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $23 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $24 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $25 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $26 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $27 = Math_imul($$0164259, $3)|0; - $28 = Math_imul($27, $1)|0; - $29 = (($0) + ($28<<1)|0); - $30 = Math_imul($27, $2)|0; - $31 = (($10) + ($30<<1)|0); - do { - switch ($14|0) { - case 10: { - if ($15) { - $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; - while(1) { - $32 = HEAP16[$$0151255>>1]|0; - HEAP16[$$0256>>1] = $32; - $33 = ((($$0256)) + 2|0); - HEAP16[$33>>1] = -1; - $34 = ((($$0151255)) + 2|0); - $35 = ((($$0256)) + 4|0); - $$0165 = (($$0165257) + -1)|0; - $36 = ($$0165|0)>(-1); - if ($36) { - $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; - } else { - break; - } - } - } - break; - } - case 11: { - if ($16) { - $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; - while(1) { - $37 = HEAP16[$$1152250>>1]|0; - $38 = ((($$1251)) + 4|0); - HEAP16[$38>>1] = $37; - $39 = ((($$1251)) + 2|0); - HEAP16[$39>>1] = $37; - HEAP16[$$1251>>1] = $37; - $40 = ((($$1152250)) + 2|0); - $41 = ((($$1251)) + 6|0); - $$1166 = (($$1166252) + -1)|0; - $42 = ($$1166|0)>(-1); - if ($42) { - $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; - } else { - break; - } - } - } - break; - } - case 12: { - if ($17) { - $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; - while(1) { - $43 = HEAP16[$$2153245>>1]|0; - $44 = ((($$2246)) + 4|0); - HEAP16[$44>>1] = $43; - $45 = ((($$2246)) + 2|0); - HEAP16[$45>>1] = $43; - HEAP16[$$2246>>1] = $43; - $46 = ((($$2246)) + 6|0); - HEAP16[$46>>1] = -1; - $47 = ((($$2153245)) + 2|0); - $48 = ((($$2246)) + 8|0); - $$2167 = (($$2167247) + -1)|0; - $49 = ($$2167|0)>(-1); - if ($49) { - $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; - } else { - break; - } - } - } - break; - } - case 17: { - if ($18) { - $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; - while(1) { - $50 = HEAP16[$$3154240>>1]|0; - HEAP16[$$3241>>1] = $50; - $51 = ((($$3154240)) + 4|0); - $52 = ((($$3241)) + 2|0); - $$3168 = (($$3168242) + -1)|0; - $53 = ($$3168|0)>(-1); - if ($53) { - $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; - } else { - break; - } - } - } - break; - } - case 19: { - if ($19) { - $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; - while(1) { - $54 = HEAP16[$$4155235>>1]|0; - $55 = ((($$4236)) + 4|0); - HEAP16[$55>>1] = $54; - $56 = ((($$4236)) + 2|0); - HEAP16[$56>>1] = $54; - HEAP16[$$4236>>1] = $54; - $57 = ((($$4155235)) + 4|0); - $58 = ((($$4236)) + 6|0); - $$4169 = (($$4169237) + -1)|0; - $59 = ($$4169|0)>(-1); - if ($59) { - $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; - } else { - break; - } - } - } - break; - } - case 20: { - if ($20) { - $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; - while(1) { - $60 = HEAP16[$$5156230>>1]|0; - $61 = ((($$5231)) + 4|0); - HEAP16[$61>>1] = $60; - $62 = ((($$5231)) + 2|0); - HEAP16[$62>>1] = $60; - HEAP16[$$5231>>1] = $60; - $63 = ((($$5156230)) + 2|0); - $64 = HEAP16[$63>>1]|0; - $65 = ((($$5231)) + 6|0); - HEAP16[$65>>1] = $64; - $66 = ((($$5156230)) + 4|0); - $67 = ((($$5231)) + 8|0); - $$5170 = (($$5170232) + -1)|0; - $68 = ($$5170|0)>(-1); - if ($68) { - $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; - } else { - break; - } - } - } - break; - } - case 28: { - if ($21) { - $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; - while(1) { - $69 = HEAP16[$$6157225>>1]|0; - HEAP16[$$6226>>1] = $69; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP16[$70>>1]|0; - $72 = ((($$6226)) + 2|0); - HEAP16[$72>>1] = $71; - $73 = ((($$6157225)) + 4|0); - $74 = HEAP16[$73>>1]|0; - $75 = ((($$6226)) + 4|0); - HEAP16[$75>>1] = $74; - $76 = ((($$6226)) + 6|0); - HEAP16[$76>>1] = -1; - $77 = ((($$6157225)) + 6|0); - $78 = ((($$6226)) + 8|0); - $$6171 = (($$6171227) + -1)|0; - $79 = ($$6171|0)>(-1); - if ($79) { - $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; - } else { - break; - } - } - } - break; - } - case 25: { - if ($22) { - $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; - while(1) { - $80 = HEAP16[$$7158220>>1]|0; - $81 = $80&65535; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = ((($$7158220)) + 4|0); - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = (_stbi__compute_y_16($81,$84,$87)|0); - HEAP16[$$7221>>1] = $88; - $89 = ((($$7158220)) + 6|0); - $90 = ((($$7221)) + 2|0); - $$7172 = (($$7172222) + -1)|0; - $91 = ($$7172|0)>(-1); - if ($91) { - $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; - } else { - break; - } - } - } - break; - } - case 26: { - if ($23) { - $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; - while(1) { - $92 = HEAP16[$$8159215>>1]|0; - $93 = $92&65535; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = ((($$8159215)) + 4|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = (_stbi__compute_y_16($93,$96,$99)|0); - HEAP16[$$8216>>1] = $100; - $101 = ((($$8216)) + 2|0); - HEAP16[$101>>1] = -1; - $102 = ((($$8159215)) + 6|0); - $103 = ((($$8216)) + 4|0); - $$8173 = (($$8173217) + -1)|0; - $104 = ($$8173|0)>(-1); - if ($104) { - $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; - } else { - break; - } - } - } - break; - } - case 33: { - if ($24) { - $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; - while(1) { - $105 = HEAP16[$$9160210>>1]|0; - $106 = $105&65535; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - $110 = ((($$9160210)) + 4|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111&65535; - $113 = (_stbi__compute_y_16($106,$109,$112)|0); - HEAP16[$$9211>>1] = $113; - $114 = ((($$9160210)) + 8|0); - $115 = ((($$9211)) + 2|0); - $$9174 = (($$9174212) + -1)|0; - $116 = ($$9174|0)>(-1); - if ($116) { - $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; - } else { - break; - } - } - } - break; - } - case 34: { - if ($25) { - $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; - while(1) { - $117 = HEAP16[$$10161205>>1]|0; - $118 = $117&65535; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = ((($$10161205)) + 4|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = (_stbi__compute_y_16($118,$121,$124)|0); - HEAP16[$$10206>>1] = $125; - $126 = ((($$10161205)) + 6|0); - $127 = HEAP16[$126>>1]|0; - $128 = ((($$10206)) + 2|0); - HEAP16[$128>>1] = $127; - $129 = ((($$10161205)) + 8|0); - $130 = ((($$10206)) + 4|0); - $$10175 = (($$10175207) + -1)|0; - $131 = ($$10175|0)>(-1); - if ($131) { - $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; - } else { - break; - } - } - } - break; - } - case 35: { - if ($26) { - $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; - while(1) { - $132 = HEAP16[$$11162201>>1]|0; - HEAP16[$$11202>>1] = $132; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP16[$133>>1]|0; - $135 = ((($$11202)) + 2|0); - HEAP16[$135>>1] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = HEAP16[$136>>1]|0; - $138 = ((($$11202)) + 4|0); - HEAP16[$138>>1] = $137; - $139 = ((($$11162201)) + 8|0); - $140 = ((($$11202)) + 6|0); - $$11176 = (($$11176203) + -1)|0; - $141 = ($$11176|0)>(-1); - if ($141) { - $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $142 = (($$0164259) + 1)|0; - $143 = ($142|0)<($4|0); - if ($143) { - $$0164259 = $142; - } else { - break L11; - } - } - ___assert_fail((6424|0),(6302|0),1555,(6401|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $10; - return ($$0163|0); -} -function _stbi__compute_y_16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&65535; - return ($9|0); -} -function _stbi__compute_y($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&255; - return ($9|0); -} -function _stbi__check_png_header($0) { - $0 = $0|0; - var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = ($1<<24>>24)==(-119); - if ($2) { - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = (_stbi__get8($0)|0); - $6 = ($5<<24>>24)==(78); - if ($6) { - $7 = (_stbi__get8($0)|0); - $8 = ($7<<24>>24)==(71); - if ($8) { - $9 = (_stbi__get8($0)|0); - $10 = ($9<<24>>24)==(13); - if ($10) { - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $13 = (_stbi__get8($0)|0); - $14 = ($13<<24>>24)==(26); - if ($14) { - $15 = (_stbi__get8($0)|0); - $16 = ($15<<24>>24)==(10); - if ($16) { - $$05 = 1; - return ($$05|0); - } - } - } - } - } - } - } - } - _stbi__err(7704); - $$05 = 0; - return ($$05|0); -} -function _stbi__get_chunk_header($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__get32be($1)|0); - $3 = (_stbi__get32be($1)|0); - HEAP32[$0>>2] = $2; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; - return; -} -function _stbi__skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(0); - if ($2) { - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 168|0); - HEAP32[$5>>2] = $4; - return; - } - $6 = ((($0)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 168|0); - $12 = HEAP32[$11>>2]|0; - $13 = $10; - $14 = (($13) - ($12))|0; - $15 = ($14|0)<($1|0); - if ($15) { - HEAP32[$11>>2] = $10; - $16 = ((($0)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($1) - ($14))|0; - FUNCTION_TABLE_vii[$17 & 63]($19,$20); - return; - } - } - $21 = ((($0)) + 168|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($1)|0); - HEAP32[$21>>2] = $23; - return; -} -function _stbi__get32be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get16be($0)|0); - $2 = $1 << 16; - $3 = (_stbi__get16be($0)|0); - $4 = (($2) + ($3))|0; - return ($4|0); -} -function _stbi__get8($0) { - $0 = $0|0; - var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 168|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)<($4>>>0); - do { - if ($5) { - $$sink6 = $2; - } else { - $6 = ((($0)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - _stbi__refill_buffer($0); - $9 = HEAP32[$1>>2]|0; - $$sink6 = $9; - break; - } - } - } while(0); - $10 = ((($$sink6)) + 1|0); - HEAP32[$1>>2] = $10; - $11 = HEAP8[$$sink6>>0]|0; - $$0 = $11; - return ($$0|0); -} -function _stbi__get16be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = $1&255; - $3 = $2 << 8; - $4 = (_stbi__get8($0)|0); - $5 = $4&255; - $6 = $3 | $5; - return ($6|0); -} -function _stbi__getn($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($0)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 168|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - $11 = (($7) - ($10))|0; - $12 = ($11|0)<($2|0); - if ($12) { - _memcpy(($1|0),($9|0),($11|0))|0; - $13 = HEAP32[$3>>2]|0; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($1) + ($11)|0); - $17 = (($2) - ($11))|0; - $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); - $19 = ($18|0)==($17|0); - $20 = $19&1; - $21 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = $21; - $$1 = $20; - return ($$1|0); - } - } - $22 = ((($0)) + 168|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($2)|0); - $25 = ((($0)) + 172|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($24>>>0)>($26>>>0); - if ($27) { - $$1 = 0; - return ($$1|0); - } - _memcpy(($1|0),($23|0),($2|0))|0; - $28 = HEAP32[$22>>2]|0; - $29 = (($28) + ($2)|0); - HEAP32[$22>>2] = $29; - $$1 = 1; - return ($$1|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); - $5 = sp; - $6 = (_stbi__malloc($2)|0); - $7 = ($6|0)==(0|0); - do { - if ($7) { - $$0 = 0; - } else { - HEAP32[$5>>2] = $0; - $8 = (($0) + ($1)|0); - $9 = ((($5)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); - $11 = ($10|0)==(0); - $12 = ((($5)) + 20|0); - $13 = HEAP32[$12>>2]|0; - if ($11) { - _free($13); - $$0 = 0; - break; - } - $14 = ($3|0)==(0|0); - if ($14) { - $$0 = $13; - } else { - $15 = ((($5)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = $13; - $18 = (($16) - ($17))|0; - HEAP32[$3>>2] = $18; - $$0 = $13; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = ($4|0)==(16); - $8 = $7 ? 2 : 1; - $9 = Math_imul($8, $3)|0; - $10 = ($6|0)==(0); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($11)) + 4|0); - $14 = HEAP32[$13>>2]|0; - if ($10) { - $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); - $$4 = $15; - return ($$4|0); - } - $16 = (_stbi__malloc_mad3($12,$14,$9)|0); - $17 = ((($0)) + 12|0); - $18 = ((($0)) + 12|0); - $$0103117 = 0;$$095119 = $1;$$099118 = $2; - while(1) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (3016 + ($$0103117<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (3044 + ($$0103117<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($20) + -1)|0; - $26 = (($25) - ($22))|0; - $27 = (($26) + ($24))|0; - $28 = (($27>>>0) / ($24>>>0))&-1; - $29 = ((($19)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (3072 + ($$0103117<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (3100 + ($$0103117<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($30) + -1)|0; - $36 = (($35) - ($32))|0; - $37 = (($36) + ($34))|0; - $38 = (($37>>>0) / ($34>>>0))&-1; - $39 = ($24>>>0)<=($27>>>0); - $40 = ($34>>>0)<=($37>>>0); - $or$cond = $39 & $40; - if ($or$cond) { - $41 = ((($19)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = Math_imul($28, $4)|0; - $44 = Math_imul($43, $42)|0; - $45 = (($44) + 7)|0; - $46 = $45 >> 3; - $47 = (($46) + 1)|0; - $48 = Math_imul($47, $38)|0; - $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 13; - break; - } - $51 = ($38|0)>(0); - if ($51) { - $52 = ($28|0)>(0); - $$0106116 = 0; - while(1) { - if ($52) { - $53 = HEAP32[$33>>2]|0; - $54 = Math_imul($53, $$0106116)|0; - $55 = HEAP32[$31>>2]|0; - $56 = (($54) + ($55))|0; - $57 = HEAP32[$23>>2]|0; - $58 = HEAP32[$21>>2]|0; - $59 = Math_imul($56, $9)|0; - $60 = Math_imul($$0106116, $28)|0; - $$0107115 = 0; - while(1) { - $61 = Math_imul($57, $$0107115)|0; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($59, $64)|0; - $66 = (($16) + ($65)|0); - $67 = Math_imul($62, $9)|0; - $68 = (($66) + ($67)|0); - $69 = HEAP32[$18>>2]|0; - $70 = (($$0107115) + ($60))|0; - $71 = Math_imul($70, $9)|0; - $72 = (($69) + ($71)|0); - _memcpy(($68|0),($72|0),($9|0))|0; - $73 = (($$0107115) + 1)|0; - $74 = ($73|0)<($28|0); - if ($74) { - $$0107115 = $73; - } else { - break; - } - } - } - $75 = (($$0106116) + 1)|0; - $76 = ($75|0)<($38|0); - if ($76) { - $$0106116 = $75; - } else { - break; - } - } - } - $77 = HEAP32[$17>>2]|0; - _free($77); - $78 = (($$095119) + ($48)|0); - $79 = (($$099118) - ($48))|0; - $$3102$ph = $79;$$398$ph = $78; - } else { - $$3102$ph = $$099118;$$398$ph = $$095119; - } - $80 = (($$0103117) + 1)|0; - $81 = ($80|0)<(7); - if ($81) { - $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; - } else { - label = 15; - break; - } - } - if ((label|0) == 13) { - _free($16); - $$4 = 0; - return ($$4|0); - } - else if ((label|0) == 15) { - $82 = ((($0)) + 12|0); - HEAP32[$82>>2] = $16; - $$4 = 1; - return ($$4|0); - } - return (0)|0; -} -function _stbi__compute_transparency16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP16[$$04>>1]|0; - $15 = HEAP16[$1>>1]|0; - $not$ = ($14<<16>>16)!=($15<<16>>16); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 2|0); - HEAP16[$17>>1] = $16; - $18 = ((($$04)) + 4|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 2|0); - $12 = ((($1)) + 4|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP16[$$16>>1]|0; - $21 = HEAP16[$1>>1]|0; - $22 = ($20<<16>>16)==($21<<16>>16); - if ($22) { - $23 = ((($$16)) + 2|0); - $24 = HEAP16[$23>>1]|0; - $25 = HEAP16[$11>>1]|0; - $26 = ($24<<16>>16)==($25<<16>>16); - if ($26) { - $27 = ((($$16)) + 4|0); - $28 = HEAP16[$27>>1]|0; - $29 = HEAP16[$12>>1]|0; - $30 = ($28<<16>>16)==($29<<16>>16); - if ($30) { - $31 = ((($$16)) + 6|0); - HEAP16[$31>>1] = 0; - } - } - } - $32 = ((($$16)) + 8|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6767|0),(6302|0),4568,(6819|0)); - // unreachable; - } - } -} -function _stbi__compute_transparency($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP8[$$04>>0]|0; - $15 = HEAP8[$1>>0]|0; - $not$ = ($14<<24>>24)!=($15<<24>>24); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 1|0); - HEAP8[$17>>0] = $16; - $18 = ((($$04)) + 2|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 1|0); - $12 = ((($1)) + 2|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP8[$$16>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = ($20<<24>>24)==($21<<24>>24); - if ($22) { - $23 = ((($$16)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP8[$11>>0]|0; - $26 = ($24<<24>>24)==($25<<24>>24); - if ($26) { - $27 = ((($$16)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = HEAP8[$12>>0]|0; - $30 = ($28<<24>>24)==($29<<24>>24); - if ($30) { - $31 = ((($$16)) + 3|0); - HEAP8[$31>>0] = 0; - } - } - } - $32 = ((($$16)) + 4|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6767|0),(6302|0),4543,(6792|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($0) { - $0 = $0|0; - var $$05461 = 0, $$062 = 0, $$15566 = 0, $$167 = 0, $$25663 = 0, $$264 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $exitcond = 0, $exitcond71 = 0; - var $exitcond72 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = Math_imul($4, $2)|0; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($1)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($9|0) { - case 3: { - $10 = ($5|0)==(0); - if ($10) { - return; - } else { - $$05461 = $7;$$062 = 0; - } - while(1) { - $11 = HEAP8[$$05461>>0]|0; - $12 = ((($$05461)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$$05461>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($$05461)) + 3|0); - $15 = (($$062) + 1)|0; - $exitcond = ($15|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05461 = $14;$$062 = $15; - } - } - return; - break; - } - case 4: { - $16 = HEAP32[4930]|0; - $17 = ($16|0)==(0); - $18 = ($5|0)!=(0); - if ($17) { - if ($18) { - $$25663 = $7;$$264 = 0; - } else { - return; - } - while(1) { - $46 = HEAP8[$$25663>>0]|0; - $47 = ((($$25663)) + 2|0); - $48 = HEAP8[$47>>0]|0; - HEAP8[$$25663>>0] = $48; - HEAP8[$47>>0] = $46; - $49 = ((($$25663)) + 4|0); - $50 = (($$264) + 1)|0; - $exitcond71 = ($50|0)==($5|0); - if ($exitcond71) { - break; - } else { - $$25663 = $49;$$264 = $50; - } - } - return; - } - if ($18) { - $$15566 = $7;$$167 = 0; - } else { - return; - } - while(1) { - $19 = ((($$15566)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = HEAP8[$$15566>>0]|0; - $22 = ($20<<24>>24)==(0); - $23 = ((($$15566)) + 2|0); - $24 = HEAP8[$23>>0]|0; - if ($22) { - HEAP8[$$15566>>0] = $24; - $$sink = $21; - } else { - $25 = $20&255; - $div = ($20&255) >>> 1; - $26 = $24&255; - $27 = ($26*255)|0; - $28 = $div&255; - $29 = (($27) + ($28))|0; - $30 = (($29>>>0) / ($25>>>0))&-1; - $31 = $30&255; - HEAP8[$$15566>>0] = $31; - $32 = ((($$15566)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35) + ($28))|0; - $37 = (($36>>>0) / ($25>>>0))&-1; - $38 = $37&255; - HEAP8[$32>>0] = $38; - $39 = $21&255; - $40 = ($39*255)|0; - $41 = (($40) + ($28))|0; - $42 = (($41>>>0) / ($25>>>0))&-1; - $43 = $42&255; - $$sink = $43; - } - HEAP8[$23>>0] = $$sink; - $44 = ((($$15566)) + 4|0); - $45 = (($$167) + 1)|0; - $exitcond72 = ($45|0)==($5|0); - if ($exitcond72) { - break; - } else { - $$15566 = $44;$$167 = $45; - } - } - return; - break; - } - default: { - ___assert_fail((6733|0),(6302|0),4649,(6751|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_stbi__malloc_mad2($7,$2)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(6267); - $$0 = 0; - return ($$0|0); - } - $12 = ($2|0)==(3); - $13 = ($7|0)!=(0); - if ($12) { - if ($13) { - $$0574 = 0;$$0583 = $10; - while(1) { - $14 = (($9) + ($$0574)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($1) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$$0583>>0] = $19; - $20 = $17 | 1; - $21 = (($1) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($$0583)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($1) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($$0583)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($$0583)) + 3|0); - $29 = (($$0574) + 1)|0; - $exitcond = ($29|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0574 = $29;$$0583 = $28; - } - } - } - } else { - if ($13) { - $$1595 = $10;$$16 = 0; - while(1) { - $30 = (($9) + ($$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($1) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$$1595>>0] = $35; - $36 = $33 | 1; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($$1595)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($1) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($$1595)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($1) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($$1595)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($$1595)) + 4|0); - $49 = (($$16) + 1)|0; - $exitcond9 = ($49|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1595 = $48;$$16 = $49; - } - } - } - } - $50 = HEAP32[$8>>2]|0; - _free($50); - HEAP32[$8>>2] = $10; - $$0 = 1; - return ($$0|0); -} -function _stbi__malloc_mad2($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mad2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__malloc($4)|0); - $$0 = $5; - return ($$0|0); -} -function _stbi__mad2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mul2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $8 = 0; - $7 = $8&1; - return ($7|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__addsizes_valid($4)|0); - $6 = ($5|0)!=(0); - $8 = $6; - $7 = $8&1; - return ($7|0); -} -function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $$0562 = 0, $$0562718 = 0, $$0562719 = 0, $$0565$lcssa = 0, $$0565709 = 0, $$0568$lcssa = 0, $$0568708 = 0, $$0571811 = 0, $$0582 = 0, $$0591 = 0, $$0602810 = 0, $$0605809 = 0, $$0608 = 0, $$0608787 = 0, $$0608790 = 0, $$0617808 = 0, $$0619728 = 0, $$0725 = 0, $$1 = 0, $$10629758 = 0; - var $$11$ph = 0, $$11630749 = 0, $$12741 = 0, $$13733 = 0, $$14$lcssa = 0, $$14707 = 0, $$15$lcssa = 0, $$1566$lcssa = 0, $$1566701 = 0, $$1569$lcssa = 0, $$1569700 = 0, $$15699 = 0, $$1572 = 0, $$16$lcssa = 0, $$1603 = 0, $$1606 = 0, $$1609 = 0, $$1609779 = 0, $$1609782 = 0, $$1618721 = 0; - var $$1620806 = 0, $$16694 = 0, $$1715 = 0, $$1716 = 0, $$2 = 0, $$2567$lcssa = 0, $$2567696 = 0, $$2573789 = 0, $$2593788 = 0, $$2610 = 0, $$2610770 = 0, $$2610774 = 0, $$2621804 = 0, $$3574781 = 0, $$3586772 = 0, $$3594780 = 0, $$3611 = 0, $$3611761 = 0, $$3611765 = 0, $$3622802 = 0; - var $$4$lcssa = 0, $$4575773 = 0, $$4587763 = 0, $$4595771 = 0, $$4612 = 0, $$4612752 = 0, $$4612756 = 0, $$4623800 = 0, $$4695 = 0, $$5576764 = 0, $$5588754 = 0, $$5596762 = 0, $$5613 = 0, $$5613744 = 0, $$5613747 = 0, $$5624798 = 0, $$6577755 = 0, $$6597753 = 0, $$6614 = 0, $$6614736 = 0; - var $$6614739 = 0, $$6625796 = 0, $$7578746 = 0, $$7598745 = 0, $$7615792 = 0, $$7626784 = 0, $$8579738 = 0, $$8599737 = 0, $$8616723 = 0, $$8627776 = 0, $$9580 = 0, $$9600793 = 0, $$9628767 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink635 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; - var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; - var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; - var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; - var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; - var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; - var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; - var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; - var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; - var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; - var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge888 = 0; - var $exitcond = 0, $exitcond858 = 0, $exitcond859 = 0, $exitcond861 = 0, $exitcond863 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond874 = 0, $exitcond875 = 0, $exitcond876 = 0, $exitcond877 = 0, $exitcond878 = 0, $exitcond879 = 0, $exitcond880 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next843 = 0, $indvars$iv$next846 = 0; - var $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv842 = 0, $indvars$iv845 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $or$cond = 0, $scevgep = 0, $scevgep844 = 0, $scevgep847 = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep860 = 0, $scevgep862 = 0, $scevgep864 = 0, $scevgep866 = 0, $scevgep868 = 0; - var $scevgep870 = 0, $scevgep873 = 0, $trunc = 0, $trunc631 = 0, $trunc632 = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = ($6|0)==(16); - $9 = $8 ? 2 : 1; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($4, $3)|0; - $12 = Math_imul($9, $11)|0; - $13 = ((($10)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = Math_imul($9, $3)|0; - $16 = Math_imul($14, $9)|0; - $17 = ($14|0)==($3|0); - $18 = (($14) + 1)|0; - $19 = ($18|0)==($3|0); - $or$cond = $17 | $19; - if (!($or$cond)) { - ___assert_fail((6848|0),(6302|0),4294,(6889|0)); - // unreachable; - } - $20 = (_stbi__malloc_mad3($4,$5,$15)|0); - $21 = ((($0)) + 12|0); - HEAP32[$21>>2] = $20; - $22 = ($20|0)==(0|0); - if ($22) { - _stbi__err(6267); - $$2 = 0; - return ($$2|0); - } - $23 = Math_imul($14, $4)|0; - $24 = Math_imul($23, $6)|0; - $25 = (($24) + 7)|0; - $26 = $25 >>> 3; - $27 = (($26) + 1)|0; - $28 = Math_imul($27, $5)|0; - $29 = ($28>>>0)>($2>>>0); - if ($29) { - _stbi__err(6916); - $$2 = 0; - return ($$2|0); - } - $30 = ($5|0)==(0); - L12: do { - if (!($30)) { - $31 = ($6|0)<(8); - $32 = ($26>>>0)>($4>>>0); - $33 = (($11) - ($26))|0; - $34 = (0 - ($12))|0; - $35 = ($6|0)==(8); - $brmerge = $31 | $17; - $36 = ($4|0)==(0); - $$0608787 = (($4) + -1)|0; - $37 = ($$0608787|0)==(0); - $$1609779 = (($4) + -1)|0; - $38 = ($$1609779|0)==(0); - $$2610770 = (($4) + -1)|0; - $39 = ($$2610770|0)==(0); - $$3611761 = (($4) + -1)|0; - $40 = ($$3611761|0)==(0); - $$4612752 = (($4) + -1)|0; - $41 = ($$4612752|0)==(0); - $$5613744 = (($4) + -1)|0; - $42 = ($$5613744|0)==(0); - $$6614736 = (($4) + -1)|0; - $43 = ($$6614736|0)==(0); - $$not = $8 ^ 1; - $brmerge888 = $36 | $$not; - $$0571811 = $1;$$0602810 = $4;$$0605809 = $16;$$0617808 = 0; - while(1) { - $44 = HEAP32[$21>>2]|0; - $45 = Math_imul($$0617808, $12)|0; - $46 = (($44) + ($45)|0); - $47 = ((($$0571811)) + 1|0); - $48 = HEAP8[$$0571811>>0]|0; - $49 = $48&255; - $50 = ($48&255)>(4); - if ($50) { - label = 101; - break; - } - if ($31) { - if ($32) { - label = 12; - break; - } - $51 = (($46) + ($33)|0); - $$0591 = $51;$$1603 = $26;$$1606 = 1; - } else { - $$0591 = $46;$$1603 = $$0602810;$$1606 = $$0605809; - } - $52 = (($$0591) + ($34)|0); - $53 = ($$0617808|0)==(0); - if ($53) { - $54 = (6955 + ($49)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0582 = $56; - } else { - $$0582 = $49; - } - $57 = ($$1606|0)>(0); - L24: do { - if ($57) { - $trunc632 = $$0582&255; - $$0619728 = 0; - while(1) { - switch ($trunc632<<24>>24) { - case 0: { - $58 = (($47) + ($$0619728)|0); - $59 = HEAP8[$58>>0]|0; - $$sink = $59; - label = 26; - break; - } - case 1: { - $60 = (($47) + ($$0619728)|0); - $61 = HEAP8[$60>>0]|0; - $$sink = $61; - label = 26; - break; - } - case 2: { - $62 = (($47) + ($$0619728)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = (($52) + ($$0619728)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = (($67) + ($64))|0; - $69 = $68&255; - $$sink = $69; - label = 26; - break; - } - case 3: { - $70 = (($47) + ($$0619728)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = (($52) + ($$0619728)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $$sink = $78; - label = 26; - break; - } - case 4: { - $79 = (($47) + ($$0619728)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (($52) + ($$0619728)|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__paeth(0,$84,0)|0); - $86 = (($85) + ($81))|0; - $87 = $86&255; - $$sink = $87; - label = 26; - break; - } - case 5: { - $88 = (($47) + ($$0619728)|0); - $89 = HEAP8[$88>>0]|0; - $$sink = $89; - label = 26; - break; - } - case 6: { - $90 = (($47) + ($$0619728)|0); - $91 = HEAP8[$90>>0]|0; - $$sink = $91; - label = 26; - break; - } - default: { - } - } - if ((label|0) == 26) { - label = 0; - $$sink1 = (($$0591) + ($$0619728)|0); - HEAP8[$$sink1>>0] = $$sink; - } - $92 = (($$0619728) + 1)|0; - $exitcond858 = ($92|0)==($$1606|0); - if ($exitcond858) { - break L24; - } else { - $$0619728 = $92; - } - } - } - } while(0); - do { - if ($35) { - if (!($17)) { - $93 = (($$0591) + ($14)|0); - HEAP8[$93>>0] = -1; - } - $94 = (($47) + ($14)|0); - $$1572 = $94;$$sink635 = $3; - } else { - if (!($8)) { - $99 = ((($$0571811)) + 2|0); - $$1572 = $99;$$sink635 = 1; - break; - } - if (!($17)) { - $95 = (($$1606) + 1)|0; - $96 = (($$0591) + ($95)|0); - $97 = (($$0591) + ($$1606)|0); - HEAP8[$97>>0] = -1; - HEAP8[$96>>0] = -1; - } - $98 = (($47) + ($$1606)|0); - $$1572 = $98;$$sink635 = $15; - } - } while(0); - $100 = (($$0591) + ($$sink635)|0); - $101 = (($52) + ($$sink635)|0); - if ($brmerge) { - $102 = (($$1603) + -1)|0; - $103 = Math_imul($102, $$1606)|0; - $trunc631 = $$0582&255; - switch ($trunc631<<24>>24) { - case 0: { - _memcpy(($100|0),($$1572|0),($103|0))|0; - break; - } - case 1: { - $109 = ($103|0)>(0); - if ($109) { - $$1620806 = 0; - while(1) { - $110 = (($$1572) + ($$1620806)|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = (($$1620806) - ($$1606))|0; - $114 = (($100) + ($113)|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = (($116) + ($112))|0; - $118 = $117&255; - $119 = (($100) + ($$1620806)|0); - HEAP8[$119>>0] = $118; - $120 = (($$1620806) + 1)|0; - $exitcond880 = ($120|0)==($103|0); - if ($exitcond880) { - break; - } else { - $$1620806 = $120; - } - } - } - break; - } - case 2: { - $108 = ($103|0)>(0); - if ($108) { - $$2621804 = 0; - while(1) { - $121 = (($$1572) + ($$2621804)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = (($101) + ($$2621804)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = (($126) + ($123))|0; - $128 = $127&255; - $129 = (($100) + ($$2621804)|0); - HEAP8[$129>>0] = $128; - $130 = (($$2621804) + 1)|0; - $exitcond879 = ($130|0)==($103|0); - if ($exitcond879) { - break; - } else { - $$2621804 = $130; - } - } - } - break; - } - case 3: { - $107 = ($103|0)>(0); - if ($107) { - $$3622802 = 0; - while(1) { - $131 = (($$1572) + ($$3622802)|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = (($101) + ($$3622802)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = (($$3622802) - ($$1606))|0; - $138 = (($100) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = (($140) + ($136))|0; - $142 = $141 >>> 1; - $143 = (($142) + ($133))|0; - $144 = $143&255; - $145 = (($100) + ($$3622802)|0); - HEAP8[$145>>0] = $144; - $146 = (($$3622802) + 1)|0; - $exitcond878 = ($146|0)==($103|0); - if ($exitcond878) { - break; - } else { - $$3622802 = $146; - } - } - } - break; - } - case 4: { - $106 = ($103|0)>(0); - if ($106) { - $$4623800 = 0; - while(1) { - $147 = (($$1572) + ($$4623800)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($$4623800) - ($$1606))|0; - $151 = (($100) + ($150)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = (($101) + ($$4623800)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = (($101) + ($150)|0); - $158 = HEAP8[$157>>0]|0; - $159 = $158&255; - $160 = (_stbi__paeth($153,$156,$159)|0); - $161 = (($160) + ($149))|0; - $162 = $161&255; - $163 = (($100) + ($$4623800)|0); - HEAP8[$163>>0] = $162; - $164 = (($$4623800) + 1)|0; - $exitcond877 = ($164|0)==($103|0); - if ($exitcond877) { - break; - } else { - $$4623800 = $164; - } - } - } - break; - } - case 5: { - $105 = ($103|0)>(0); - if ($105) { - $$5624798 = 0; - while(1) { - $165 = (($$1572) + ($$5624798)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = (($$5624798) - ($$1606))|0; - $169 = (($100) + ($168)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = $171 >>> 1; - $173 = (($172) + ($167))|0; - $174 = $173&255; - $175 = (($100) + ($$5624798)|0); - HEAP8[$175>>0] = $174; - $176 = (($$5624798) + 1)|0; - $exitcond876 = ($176|0)==($103|0); - if ($exitcond876) { - break; - } else { - $$5624798 = $176; - } - } - } - break; - } - case 6: { - $104 = ($103|0)>(0); - if ($104) { - $$6625796 = 0; - while(1) { - $177 = (($$1572) + ($$6625796)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $180 = (($$6625796) - ($$1606))|0; - $181 = (($100) + ($180)|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = (_stbi__paeth($183,0,0)|0); - $185 = (($184) + ($179))|0; - $186 = $185&255; - $187 = (($100) + ($$6625796)|0); - HEAP8[$187>>0] = $186; - $188 = (($$6625796) + 1)|0; - $exitcond875 = ($188|0)==($103|0); - if ($exitcond875) { - break; - } else { - $$6625796 = $188; - } - } - } - break; - } - default: { - } - } - $189 = (($$1572) + ($103)|0); - $$11$ph = $189; - } else { - if (!($19)) { - label = 54; - break; - } - $trunc = $$0582&255; - switch ($trunc<<24>>24) { - case 0: { - if ($37) { - $$9580 = $$1572; - } else { - $202 = ($$1606|0)>(0); - $203 = Math_imul($$6614736, $$1606)|0; - $$0608790 = $$0608787;$$2573789 = $$1572;$$2593788 = $100; - while(1) { - if ($202) { - $$7626784 = 0; - while(1) { - $204 = (($$2573789) + ($$7626784)|0); - $205 = HEAP8[$204>>0]|0; - $206 = (($$2593788) + ($$7626784)|0); - HEAP8[$206>>0] = $205; - $207 = (($$7626784) + 1)|0; - $exitcond871 = ($207|0)==($$1606|0); - if ($exitcond871) { - break; - } else { - $$7626784 = $207; - } - } - } - $208 = (($$2593788) + ($$1606)|0); - HEAP8[$208>>0] = -1; - $209 = (($$2573789) + ($$1606)|0); - $210 = (($$2593788) + ($15)|0); - $$0608 = (($$0608790) + -1)|0; - $211 = ($$0608|0)==(0); - if ($211) { - break; - } else { - $$0608790 = $$0608;$$2573789 = $209;$$2593788 = $210; - } - } - $scevgep873 = (($$1572) + ($203)|0); - $$9580 = $scevgep873; - } - break; - } - case 1: { - if ($38) { - $$9580 = $$1572; - } else { - $200 = ($$1606|0)>(0); - $201 = Math_imul($$6614736, $$1606)|0; - $$1609782 = $$1609779;$$3574781 = $$1572;$$3594780 = $100; - while(1) { - if ($200) { - $$8627776 = 0; - while(1) { - $212 = (($$3574781) + ($$8627776)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = (($$8627776) - ($15))|0; - $216 = (($$3594780) + ($215)|0); - $217 = HEAP8[$216>>0]|0; - $218 = $217&255; - $219 = (($218) + ($214))|0; - $220 = $219&255; - $221 = (($$3594780) + ($$8627776)|0); - HEAP8[$221>>0] = $220; - $222 = (($$8627776) + 1)|0; - $exitcond869 = ($222|0)==($$1606|0); - if ($exitcond869) { - break; - } else { - $$8627776 = $222; - } - } - } - $223 = (($$3594780) + ($$1606)|0); - HEAP8[$223>>0] = -1; - $224 = (($$3574781) + ($$1606)|0); - $225 = (($$3594780) + ($15)|0); - $$1609 = (($$1609782) + -1)|0; - $226 = ($$1609|0)==(0); - if ($226) { - break; - } else { - $$1609782 = $$1609;$$3574781 = $224;$$3594780 = $225; - } - } - $scevgep870 = (($$1572) + ($201)|0); - $$9580 = $scevgep870; - } - break; - } - case 2: { - if ($39) { - $$9580 = $$1572; - } else { - $198 = ($$1606|0)>(0); - $199 = Math_imul($$6614736, $$1606)|0; - $$2610774 = $$2610770;$$3586772 = $101;$$4575773 = $$1572;$$4595771 = $100; - while(1) { - if ($198) { - $$9628767 = 0; - while(1) { - $227 = (($$4575773) + ($$9628767)|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = (($$3586772) + ($$9628767)|0); - $231 = HEAP8[$230>>0]|0; - $232 = $231&255; - $233 = (($232) + ($229))|0; - $234 = $233&255; - $235 = (($$4595771) + ($$9628767)|0); - HEAP8[$235>>0] = $234; - $236 = (($$9628767) + 1)|0; - $exitcond867 = ($236|0)==($$1606|0); - if ($exitcond867) { - break; - } else { - $$9628767 = $236; - } - } - } - $237 = (($$4595771) + ($$1606)|0); - HEAP8[$237>>0] = -1; - $238 = (($$4575773) + ($$1606)|0); - $239 = (($$4595771) + ($15)|0); - $240 = (($$3586772) + ($15)|0); - $$2610 = (($$2610774) + -1)|0; - $241 = ($$2610|0)==(0); - if ($241) { - break; - } else { - $$2610774 = $$2610;$$3586772 = $240;$$4575773 = $238;$$4595771 = $239; - } - } - $scevgep868 = (($$1572) + ($199)|0); - $$9580 = $scevgep868; - } - break; - } - case 3: { - if ($40) { - $$9580 = $$1572; - } else { - $196 = ($$1606|0)>(0); - $197 = Math_imul($$6614736, $$1606)|0; - $$3611765 = $$3611761;$$4587763 = $101;$$5576764 = $$1572;$$5596762 = $100; - while(1) { - if ($196) { - $$10629758 = 0; - while(1) { - $242 = (($$5576764) + ($$10629758)|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($$4587763) + ($$10629758)|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246&255; - $248 = (($$10629758) - ($15))|0; - $249 = (($$5596762) + ($248)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = (($251) + ($247))|0; - $253 = $252 >>> 1; - $254 = (($253) + ($244))|0; - $255 = $254&255; - $256 = (($$5596762) + ($$10629758)|0); - HEAP8[$256>>0] = $255; - $257 = (($$10629758) + 1)|0; - $exitcond865 = ($257|0)==($$1606|0); - if ($exitcond865) { - break; - } else { - $$10629758 = $257; - } - } - } - $258 = (($$5596762) + ($$1606)|0); - HEAP8[$258>>0] = -1; - $259 = (($$5576764) + ($$1606)|0); - $260 = (($$5596762) + ($15)|0); - $261 = (($$4587763) + ($15)|0); - $$3611 = (($$3611765) + -1)|0; - $262 = ($$3611|0)==(0); - if ($262) { - break; - } else { - $$3611765 = $$3611;$$4587763 = $261;$$5576764 = $259;$$5596762 = $260; - } - } - $scevgep866 = (($$1572) + ($197)|0); - $$9580 = $scevgep866; - } - break; - } - case 4: { - if ($41) { - $$9580 = $$1572; - } else { - $194 = ($$1606|0)>(0); - $195 = Math_imul($$6614736, $$1606)|0; - $$4612756 = $$4612752;$$5588754 = $101;$$6577755 = $$1572;$$6597753 = $100; - while(1) { - if ($194) { - $$11630749 = 0; - while(1) { - $263 = (($$6577755) + ($$11630749)|0); - $264 = HEAP8[$263>>0]|0; - $265 = $264&255; - $266 = (($$11630749) - ($15))|0; - $267 = (($$6597753) + ($266)|0); - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - $270 = (($$5588754) + ($$11630749)|0); - $271 = HEAP8[$270>>0]|0; - $272 = $271&255; - $273 = (($$5588754) + ($266)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = (_stbi__paeth($269,$272,$275)|0); - $277 = (($276) + ($265))|0; - $278 = $277&255; - $279 = (($$6597753) + ($$11630749)|0); - HEAP8[$279>>0] = $278; - $280 = (($$11630749) + 1)|0; - $exitcond863 = ($280|0)==($$1606|0); - if ($exitcond863) { - break; - } else { - $$11630749 = $280; - } - } - } - $281 = (($$6597753) + ($$1606)|0); - HEAP8[$281>>0] = -1; - $282 = (($$6577755) + ($$1606)|0); - $283 = (($$6597753) + ($15)|0); - $284 = (($$5588754) + ($15)|0); - $$4612 = (($$4612756) + -1)|0; - $285 = ($$4612|0)==(0); - if ($285) { - break; - } else { - $$4612756 = $$4612;$$5588754 = $284;$$6577755 = $282;$$6597753 = $283; - } - } - $scevgep864 = (($$1572) + ($195)|0); - $$9580 = $scevgep864; - } - break; - } - case 5: { - if ($42) { - $$9580 = $$1572; - } else { - $192 = ($$1606|0)>(0); - $193 = Math_imul($$6614736, $$1606)|0; - $$5613747 = $$5613744;$$7578746 = $$1572;$$7598745 = $100; - while(1) { - if ($192) { - $$12741 = 0; - while(1) { - $286 = (($$7578746) + ($$12741)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = (($$12741) - ($15))|0; - $290 = (($$7598745) + ($289)|0); - $291 = HEAP8[$290>>0]|0; - $292 = $291&255; - $293 = $292 >>> 1; - $294 = (($293) + ($288))|0; - $295 = $294&255; - $296 = (($$7598745) + ($$12741)|0); - HEAP8[$296>>0] = $295; - $297 = (($$12741) + 1)|0; - $exitcond861 = ($297|0)==($$1606|0); - if ($exitcond861) { - break; - } else { - $$12741 = $297; - } - } - } - $298 = (($$7598745) + ($$1606)|0); - HEAP8[$298>>0] = -1; - $299 = (($$7578746) + ($$1606)|0); - $300 = (($$7598745) + ($15)|0); - $$5613 = (($$5613747) + -1)|0; - $301 = ($$5613|0)==(0); - if ($301) { - break; - } else { - $$5613747 = $$5613;$$7578746 = $299;$$7598745 = $300; - } - } - $scevgep862 = (($$1572) + ($193)|0); - $$9580 = $scevgep862; - } - break; - } - case 6: { - if ($43) { - $$9580 = $$1572; - } else { - $190 = ($$1606|0)>(0); - $191 = Math_imul($$6614736, $$1606)|0; - $$6614739 = $$6614736;$$8579738 = $$1572;$$8599737 = $100; - while(1) { - if ($190) { - $$13733 = 0; - while(1) { - $302 = (($$8579738) + ($$13733)|0); - $303 = HEAP8[$302>>0]|0; - $304 = $303&255; - $305 = (($$13733) - ($15))|0; - $306 = (($$8599737) + ($305)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = (_stbi__paeth($308,0,0)|0); - $310 = (($309) + ($304))|0; - $311 = $310&255; - $312 = (($$8599737) + ($$13733)|0); - HEAP8[$312>>0] = $311; - $313 = (($$13733) + 1)|0; - $exitcond859 = ($313|0)==($$1606|0); - if ($exitcond859) { - break; - } else { - $$13733 = $313; - } - } - } - $314 = (($$8599737) + ($$1606)|0); - HEAP8[$314>>0] = -1; - $315 = (($$8579738) + ($$1606)|0); - $316 = (($$8599737) + ($15)|0); - $$6614 = (($$6614739) + -1)|0; - $317 = ($$6614|0)==(0); - if ($317) { - break; - } else { - $$6614739 = $$6614;$$8579738 = $315;$$8599737 = $316; - } - } - $scevgep860 = (($$1572) + ($191)|0); - $$9580 = $scevgep860; - } - break; - } - default: { - $$9580 = $$1572; - } - } - if ($brmerge888) { - $$11$ph = $$9580; - } else { - $318 = HEAP32[$21>>2]|0; - $319 = (($318) + ($45)|0); - $320 = (($$1606) + 1)|0; - $$7615792 = 0;$$9600793 = $319; - while(1) { - $321 = (($$9600793) + ($320)|0); - HEAP8[$321>>0] = -1; - $322 = (($$7615792) + 1)|0; - $323 = (($$9600793) + ($15)|0); - $exitcond874 = ($322|0)==($4|0); - if ($exitcond874) { - $$11$ph = $$9580; - break; - } else { - $$7615792 = $322;$$9600793 = $323; - } - } - } - } - $324 = (($$0617808) + 1)|0; - $325 = ($324>>>0)<($5>>>0); - if ($325) { - $$0571811 = $$11$ph;$$0602810 = $$1603;$$0605809 = $$1606;$$0617808 = $324; - } else { - break L12; - } - } - if ((label|0) == 12) { - ___assert_fail((6934|0),(6302|0),4314,(6889|0)); - // unreachable; - } - else if ((label|0) == 54) { - ___assert_fail((6960|0),(6302|0),4376,(6889|0)); - // unreachable; - } - else if ((label|0) == 101) { - _stbi__err(6977); - $$2 = 0; - return ($$2|0); - } - } - } while(0); - $326 = ($6|0)<(8); - if (!($326)) { - if (!($8)) { - $$2 = 1; - return ($$2|0); - } - $595 = Math_imul($4, $3)|0; - $596 = Math_imul($595, $5)|0; - $597 = ($596|0)==(0); - if ($597) { - $$2 = 1; - return ($$2|0); - } - $598 = HEAP32[$21>>2]|0; - $$0725 = $598;$$8616723 = 0; - while(1) { - $599 = HEAP8[$$0725>>0]|0; - $600 = $599&255; - $601 = $600 << 8; - $602 = ((($$0725)) + 1|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $605 = $601 | $604; - $606 = $605&65535; - HEAP16[$$0725>>1] = $606; - $607 = (($$8616723) + 1)|0; - $608 = ((($$0725)) + 2|0); - $exitcond = ($607|0)==($596|0); - if ($exitcond) { - $$2 = 1; - break; - } else { - $$0725 = $608;$$8616723 = $607; - } - } - return ($$2|0); - } - $327 = ($5|0)==(0); - if ($327) { - $$2 = 1; - return ($$2|0); - } - $328 = (0 - ($26))|0; - $329 = ($7|0)==(0); - $330 = (6673 + ($6)|0); - $$0562718 = (($4) + -1)|0; - $331 = ($$0562718|0)>(-1); - $$1715 = (($4) + -1)|0; - $332 = ($$1715|0)>(-1); - $333 = ($23|0)>(1); - $334 = ($23|0)>(3); - $335 = ($23|0)>(7); - $336 = (($23) + -8)|0; - $337 = $336 >>> 3; - $338 = $337 << 3; - $339 = (($338) + 8)|0; - $340 = (($336) - ($338))|0; - $341 = (($337) + ($11))|0; - $342 = (($341) + 1)|0; - $343 = (($342) - ($26))|0; - $344 = (($23) + -4)|0; - $345 = $344 >>> 2; - $346 = $345 << 2; - $347 = (($346) + 4)|0; - $348 = (($344) - ($346))|0; - $349 = (($345) + ($11))|0; - $350 = (($349) + 1)|0; - $351 = (($350) - ($26))|0; - $352 = (($23) + -2)|0; - $353 = $352 >>> 1; - $354 = $353 << 1; - $355 = (($354) + 2)|0; - $356 = (($352) - ($354))|0; - $357 = (($353) + ($11))|0; - $358 = (($357) + 1)|0; - $359 = (($358) - ($26))|0; - $$1618721 = 0;$indvars$iv = $339;$indvars$iv842 = $343;$indvars$iv845 = $347;$indvars$iv848 = $351;$indvars$iv851 = $355;$indvars$iv854 = $359; - L168: while(1) { - $360 = HEAP32[$21>>2]|0; - $361 = Math_imul($$1618721, $12)|0; - $362 = (($360) + ($361)|0); - $363 = (($362) + ($11)|0); - $364 = (($363) + ($328)|0); - if ($329) { - $365 = HEAP8[$330>>0]|0; - $366 = $365&255; - $371 = $366; - } else { - $371 = 1; - } - switch ($6|0) { - case 4: { - if ($333) { - $scevgep853 = (($360) + ($indvars$iv851)|0); - $$0565709 = $364;$$0568708 = $362;$$14707 = $23; - while(1) { - $367 = HEAP8[$$0565709>>0]|0; - $368 = $367&255; - $369 = $368 >>> 4; - $370 = Math_imul($369, $371)|0; - $372 = $370&255; - $373 = ((($$0568708)) + 1|0); - HEAP8[$$0568708>>0] = $372; - $374 = HEAP8[$$0565709>>0]|0; - $375 = $374 & 15; - $376 = $375&255; - $377 = Math_imul($376, $371)|0; - $378 = $377&255; - $379 = ((($$0568708)) + 2|0); - HEAP8[$373>>0] = $378; - $380 = (($$14707) + -2)|0; - $381 = ((($$0565709)) + 1|0); - $382 = ($380|0)>(1); - if ($382) { - $$0565709 = $381;$$0568708 = $379;$$14707 = $380; - } else { - break; - } - } - $scevgep856 = (($360) + ($indvars$iv854)|0); - $$0565$lcssa = $scevgep856;$$0568$lcssa = $scevgep853;$$14$lcssa = $356; - } else { - $$0565$lcssa = $364;$$0568$lcssa = $362;$$14$lcssa = $23; - } - $383 = ($$14$lcssa|0)==(1); - if ($383) { - $384 = HEAP8[$$0565$lcssa>>0]|0; - $385 = $384&255; - $386 = $385 >>> 4; - $387 = Math_imul($386, $371)|0; - $388 = $387&255; - HEAP8[$$0568$lcssa>>0] = $388; - } - break; - } - case 2: { - if ($334) { - $scevgep847 = (($360) + ($indvars$iv845)|0); - $$1566701 = $364;$$1569700 = $362;$$15699 = $23; - while(1) { - $389 = HEAP8[$$1566701>>0]|0; - $390 = $389&255; - $391 = $390 >>> 6; - $392 = Math_imul($391, $371)|0; - $393 = $392&255; - $394 = ((($$1569700)) + 1|0); - HEAP8[$$1569700>>0] = $393; - $395 = HEAP8[$$1566701>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = $397 & 3; - $399 = Math_imul($398, $371)|0; - $400 = $399&255; - $401 = ((($$1569700)) + 2|0); - HEAP8[$394>>0] = $400; - $402 = HEAP8[$$1566701>>0]|0; - $403 = $402&255; - $404 = $403 >>> 2; - $405 = $404 & 3; - $406 = Math_imul($405, $371)|0; - $407 = $406&255; - $408 = ((($$1569700)) + 3|0); - HEAP8[$401>>0] = $407; - $409 = HEAP8[$$1566701>>0]|0; - $410 = $409 & 3; - $411 = $410&255; - $412 = Math_imul($411, $371)|0; - $413 = $412&255; - $414 = ((($$1569700)) + 4|0); - HEAP8[$408>>0] = $413; - $415 = (($$15699) + -4)|0; - $416 = ((($$1566701)) + 1|0); - $417 = ($415|0)>(3); - if ($417) { - $$1566701 = $416;$$1569700 = $414;$$15699 = $415; - } else { - break; - } - } - $scevgep850 = (($360) + ($indvars$iv848)|0); - $$15$lcssa = $348;$$1566$lcssa = $scevgep850;$$1569$lcssa = $scevgep847; - } else { - $$15$lcssa = $23;$$1566$lcssa = $364;$$1569$lcssa = $362; - } - $418 = ($$15$lcssa|0)>(0); - if ($418) { - $419 = HEAP8[$$1566$lcssa>>0]|0; - $420 = $419&255; - $421 = $420 >>> 6; - $422 = Math_imul($421, $371)|0; - $423 = $422&255; - HEAP8[$$1569$lcssa>>0] = $423; - $424 = ($$15$lcssa|0)==(1); - if (!($424)) { - $425 = ((($$1569$lcssa)) + 1|0); - $426 = HEAP8[$$1566$lcssa>>0]|0; - $427 = $426&255; - $428 = $427 >>> 4; - $429 = $428 & 3; - $430 = Math_imul($429, $371)|0; - $431 = $430&255; - HEAP8[$425>>0] = $431; - $432 = ($$15$lcssa|0)>(2); - if ($432) { - $433 = ((($$1569$lcssa)) + 2|0); - $434 = HEAP8[$$1566$lcssa>>0]|0; - $435 = $434&255; - $436 = $435 >>> 2; - $437 = $436 & 3; - $438 = Math_imul($437, $371)|0; - $439 = $438&255; - HEAP8[$433>>0] = $439; - } - } - } - break; - } - case 1: { - if ($335) { - $scevgep = (($360) + ($indvars$iv)|0); - $$16694 = $23;$$2567696 = $364;$$4695 = $362; - while(1) { - $440 = HEAP8[$$2567696>>0]|0; - $441 = $440&255; - $442 = $441 >>> 7; - $443 = (0 - ($442))|0; - $444 = $371 & $443; - $445 = $444&255; - $446 = ((($$4695)) + 1|0); - HEAP8[$$4695>>0] = $445; - $447 = HEAP8[$$2567696>>0]|0; - $448 = $447&255; - $449 = $448 >>> 6; - $450 = $449 & 1; - $451 = (0 - ($450))|0; - $452 = $371 & $451; - $453 = $452&255; - $454 = ((($$4695)) + 2|0); - HEAP8[$446>>0] = $453; - $455 = HEAP8[$$2567696>>0]|0; - $456 = $455&255; - $457 = $456 >>> 5; - $458 = $457 & 1; - $459 = (0 - ($458))|0; - $460 = $371 & $459; - $461 = $460&255; - $462 = ((($$4695)) + 3|0); - HEAP8[$454>>0] = $461; - $463 = HEAP8[$$2567696>>0]|0; - $464 = $463&255; - $465 = $464 >>> 4; - $466 = $465 & 1; - $467 = (0 - ($466))|0; - $468 = $371 & $467; - $469 = $468&255; - $470 = ((($$4695)) + 4|0); - HEAP8[$462>>0] = $469; - $471 = HEAP8[$$2567696>>0]|0; - $472 = $471&255; - $473 = $472 >>> 3; - $474 = $473 & 1; - $475 = (0 - ($474))|0; - $476 = $371 & $475; - $477 = $476&255; - $478 = ((($$4695)) + 5|0); - HEAP8[$470>>0] = $477; - $479 = HEAP8[$$2567696>>0]|0; - $480 = $479&255; - $481 = $480 >>> 2; - $482 = $481 & 1; - $483 = (0 - ($482))|0; - $484 = $371 & $483; - $485 = $484&255; - $486 = ((($$4695)) + 6|0); - HEAP8[$478>>0] = $485; - $487 = HEAP8[$$2567696>>0]|0; - $488 = $487&255; - $489 = $488 >>> 1; - $490 = $489 & 1; - $491 = (0 - ($490))|0; - $492 = $371 & $491; - $493 = $492&255; - $494 = ((($$4695)) + 7|0); - HEAP8[$486>>0] = $493; - $495 = HEAP8[$$2567696>>0]|0; - $496 = $495 & 1; - $497 = $496&255; - $498 = (0 - ($497))|0; - $499 = $371 & $498; - $500 = $499&255; - $501 = ((($$4695)) + 8|0); - HEAP8[$494>>0] = $500; - $502 = (($$16694) + -8)|0; - $503 = ((($$2567696)) + 1|0); - $504 = ($502|0)>(7); - if ($504) { - $$16694 = $502;$$2567696 = $503;$$4695 = $501; - } else { - break; - } - } - $scevgep844 = (($360) + ($indvars$iv842)|0); - $$16$lcssa = $340;$$2567$lcssa = $scevgep844;$$4$lcssa = $scevgep; - } else { - $$16$lcssa = $23;$$2567$lcssa = $364;$$4$lcssa = $362; - } - $505 = ($$16$lcssa|0)>(0); - if ($505) { - $506 = HEAP8[$$2567$lcssa>>0]|0; - $507 = $506&255; - $508 = $507 >>> 7; - $509 = (0 - ($508))|0; - $510 = $371 & $509; - $511 = $510&255; - HEAP8[$$4$lcssa>>0] = $511; - $512 = ($$16$lcssa|0)==(1); - if (!($512)) { - $513 = ((($$4$lcssa)) + 1|0); - $514 = HEAP8[$$2567$lcssa>>0]|0; - $515 = $514&255; - $516 = $515 >>> 6; - $517 = $516 & 1; - $518 = (0 - ($517))|0; - $519 = $371 & $518; - $520 = $519&255; - HEAP8[$513>>0] = $520; - $521 = ($$16$lcssa|0)>(2); - if ($521) { - $522 = ((($$4$lcssa)) + 2|0); - $523 = HEAP8[$$2567$lcssa>>0]|0; - $524 = $523&255; - $525 = $524 >>> 5; - $526 = $525 & 1; - $527 = (0 - ($526))|0; - $528 = $371 & $527; - $529 = $528&255; - HEAP8[$522>>0] = $529; - $530 = ($$16$lcssa|0)==(3); - if (!($530)) { - $531 = ((($$4$lcssa)) + 3|0); - $532 = HEAP8[$$2567$lcssa>>0]|0; - $533 = $532&255; - $534 = $533 >>> 4; - $535 = $534 & 1; - $536 = (0 - ($535))|0; - $537 = $371 & $536; - $538 = $537&255; - HEAP8[$531>>0] = $538; - $539 = ($$16$lcssa|0)>(4); - if ($539) { - $540 = ((($$4$lcssa)) + 4|0); - $541 = HEAP8[$$2567$lcssa>>0]|0; - $542 = $541&255; - $543 = $542 >>> 3; - $544 = $543 & 1; - $545 = (0 - ($544))|0; - $546 = $371 & $545; - $547 = $546&255; - HEAP8[$540>>0] = $547; - $548 = ($$16$lcssa|0)==(5); - if (!($548)) { - $549 = ((($$4$lcssa)) + 5|0); - $550 = HEAP8[$$2567$lcssa>>0]|0; - $551 = $550&255; - $552 = $551 >>> 2; - $553 = $552 & 1; - $554 = (0 - ($553))|0; - $555 = $371 & $554; - $556 = $555&255; - HEAP8[$549>>0] = $556; - $557 = ($$16$lcssa|0)>(6); - if ($557) { - $558 = ((($$4$lcssa)) + 6|0); - $559 = HEAP8[$$2567$lcssa>>0]|0; - $560 = $559&255; - $561 = $560 >>> 1; - $562 = $561 & 1; - $563 = (0 - ($562))|0; - $564 = $371 & $563; - $565 = $564&255; - HEAP8[$558>>0] = $565; - } - } - } - } - } - } - } - break; - } - default: { - } - } - L207: do { - if (!($17)) { - $566 = HEAP32[$21>>2]|0; - $567 = (($566) + ($361)|0); - switch ($14|0) { - case 1: { - if ($331) { - $$0562719 = $$0562718; - } else { - break L207; - } - while(1) { - $568 = $$0562719 << 1; - $569 = $568 | 1; - $570 = (($567) + ($569)|0); - HEAP8[$570>>0] = -1; - $571 = (($567) + ($$0562719)|0); - $572 = HEAP8[$571>>0]|0; - $573 = (($567) + ($568)|0); - HEAP8[$573>>0] = $572; - $$0562 = (($$0562719) + -1)|0; - $574 = ($$0562|0)>(-1); - if ($574) { - $$0562719 = $$0562; - } else { - break; - } - } - break; - } - case 3: { - if ($332) { - $$1716 = $$1715; - } else { - break L207; - } - while(1) { - $575 = $$1716 << 2; - $576 = $575 | 3; - $577 = (($567) + ($576)|0); - HEAP8[$577>>0] = -1; - $578 = ($$1716*3)|0; - $579 = (($578) + 2)|0; - $580 = (($567) + ($579)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $575 | 2; - $583 = (($567) + ($582)|0); - HEAP8[$583>>0] = $581; - $584 = (($578) + 1)|0; - $585 = (($567) + ($584)|0); - $586 = HEAP8[$585>>0]|0; - $587 = $575 | 1; - $588 = (($567) + ($587)|0); - HEAP8[$588>>0] = $586; - $589 = (($567) + ($578)|0); - $590 = HEAP8[$589>>0]|0; - $591 = (($567) + ($575)|0); - HEAP8[$591>>0] = $590; - $$1 = (($$1716) + -1)|0; - $592 = ($$1|0)>(-1); - if ($592) { - $$1716 = $$1; - } else { - break; - } - } - break; - } - default: { - label = 140; - break L168; - } - } - } - } while(0); - $593 = (($$1618721) + 1)|0; - $594 = ($593>>>0)<($5>>>0); - $indvars$iv$next = (($indvars$iv) + ($12))|0; - $indvars$iv$next843 = (($indvars$iv842) + ($12))|0; - $indvars$iv$next846 = (($indvars$iv845) + ($12))|0; - $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; - $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; - $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; - if ($594) { - $$1618721 = $593;$indvars$iv = $indvars$iv$next;$indvars$iv842 = $indvars$iv$next843;$indvars$iv845 = $indvars$iv$next846;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855; - } else { - $$2 = 1; - label = 147; - break; - } - } - if ((label|0) == 140) { - ___assert_fail((6992|0),(6302|0),4465,(6889|0)); - // unreachable; - } - else if ((label|0) == 147) { - return ($$2|0); - } - return (0)|0; -} -function _stbi__paeth($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = (($1) + ($0))|0; - $4 = (($3) - ($2))|0; - $5 = (($4) - ($0))|0; - $ispos = ($5|0)>(-1); - $neg = (0 - ($5))|0; - $6 = $ispos ? $5 : $neg; - $7 = (($4) - ($1))|0; - $ispos26 = ($7|0)>(-1); - $neg27 = (0 - ($7))|0; - $8 = $ispos26 ? $7 : $neg27; - $9 = (($4) - ($2))|0; - $ispos28 = ($9|0)>(-1); - $neg29 = (0 - ($9))|0; - $10 = $ispos28 ? $9 : $neg29; - $11 = ($6|0)>($8|0); - $12 = ($6|0)>($10|0); - $or$cond = $11 | $12; - $13 = ($8|0)>($10|0); - $$ = $13 ? $2 : $1; - $$0 = $or$cond ? $$ : $0; - return ($$0|0); -} -function _stbi__do_zlib($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 20|0); - HEAP32[$5>>2] = $1; - $6 = ((($0)) + 16|0); - HEAP32[$6>>2] = $1; - $7 = (($1) + ($2)|0); - $8 = ((($0)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = ((($0)) + 28|0); - HEAP32[$9>>2] = $3; - $10 = (_stbi__parse_zlib($0,$4)|0); - return ($10|0); -} -function _stbi__parse_zlib($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - if (!($2)) { - $3 = (_stbi__parse_zlib_header($0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - } - $5 = ((($0)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = ((($0)) + 12|0); - HEAP32[$6>>2] = 0; - $7 = ((($0)) + 32|0); - $8 = ((($0)) + 2052|0); - L5: while(1) { - $9 = (_stbi__zreceive($0,1)|0); - $10 = (_stbi__zreceive($0,2)|0); - switch ($10|0) { - case 3: { - $$0 = 0; - label = 11; - break L5; - break; - } - case 0: { - $11 = (_stbi__parse_uncompressed_block($0)|0); - $12 = ($11|0)==(0); - if ($12) { - $$0 = 0; - label = 11; - break L5; - } - break; - } - case 1: { - $13 = (_stbi__zbuild_huffman($7,7003,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 11; - break L5; - } - $15 = (_stbi__zbuild_huffman($8,7291,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - break; - } - default: { - $17 = (_stbi__compute_huffman_codes($0)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - } - } - if ((label|0) == 9) { - label = 0; - $19 = (_stbi__parse_huffman_block($0)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 11; - break; - } - } - $21 = ($9|0)==(0); - if (!($21)) { - $$0 = 1; - label = 11; - break; - } - } - if ((label|0) == 11) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__zget8($0)|0); - $2 = $1&255; - $3 = $2 & 15; - $4 = (_stbi__zget8($0)|0); - $5 = $4&255; - $6 = $2 << 8; - $7 = $6 | $5; - $8 = (($7>>>0) % 31)&-1; - $9 = ($8|0)==(0); - if (!($9)) { - _stbi__err(7657); - $$0 = 0; - return ($$0|0); - } - $10 = $5 & 32; - $11 = ($10|0)==(0); - if (!($11)) { - _stbi__err(7673); - $$0 = 0; - return ($$0|0); - } - $12 = ($3|0)==(8); - if ($12) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(7688); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<($1|0); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = 1 << $1; - $8 = (($7) + -1)|0; - $9 = $6 & $8; - $10 = $6 >>> $1; - HEAP32[$5>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) - ($1))|0; - HEAP32[$2>>2] = $12; - return ($9|0); -} -function _stbi__parse_uncompressed_block($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & 7; - $5 = ($4|0)==(0); - if ($5) { - $$ph = $3; - } else { - (_stbi__zreceive($0,$4)|0); - $$pr = HEAP32[$2>>2]|0; - $$ph = $$pr; - } - $6 = ($$ph|0)>(0); - if ($6) { - $7 = ((($0)) + 12|0); - $$promoted = HEAP32[$7>>2]|0; - $8 = $$ph ^ -1; - $9 = ($8|0)>(-9); - $smax = $9 ? $8 : -9; - $10 = (($$ph) + ($smax))|0; - $11 = (($10) + 8)|0; - $12 = $11 >>> 3; - $13 = (($12) + 1)|0; - $14 = $12 << 3; - $$037 = 0;$16 = $$promoted; - while(1) { - $15 = $16&255; - $17 = (($$037) + 1)|0; - $18 = (($1) + ($$037)|0); - HEAP8[$18>>0] = $15; - $19 = $16 >>> 8; - $exitcond47 = ($17|0)==($13|0); - if ($exitcond47) { - break; - } else { - $$037 = $17;$16 = $19; - } - } - $20 = (($$ph) + -8)|0; - $21 = (($20) - ($14))|0; - HEAP32[$7>>2] = $19; - HEAP32[$2>>2] = $21; - $$0$lcssa = $13;$$lcssa = $21; - } else { - $$0$lcssa = 0;$$lcssa = $$ph; - } - $22 = ($$lcssa|0)==(0); - if (!($22)) { - ___assert_fail((7579|0),(6302|0),4033,(7596|0)); - // unreachable; - } - $23 = ($$0$lcssa|0)<(4); - if ($23) { - $$136 = $$0$lcssa; - while(1) { - $24 = (_stbi__zget8($0)|0); - $25 = (($$136) + 1)|0; - $26 = (($1) + ($$136)|0); - HEAP8[$26>>0] = $24; - $exitcond = ($25|0)==(4); - if ($exitcond) { - break; - } else { - $$136 = $25; - } - } - } - $27 = ((($1)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP8[$1>>0]|0; - $32 = $31&255; - $33 = $30 | $32; - $34 = ((($1)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 << 8; - $38 = ((($1)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $37 | $40; - $42 = $33 ^ 65535; - $43 = ($41|0)==($42|0); - if (!($43)) { - _stbi__err(7627); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($33)|0); - $46 = ((($0)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($45>>>0)>($47>>>0); - if ($48) { - _stbi__err(7640); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $49 = ((($0)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($33)|0); - $52 = ((($0)) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51>>>0)>($53>>>0); - if ($54) { - $55 = (_stbi__zexpand($0,$50,$33)|0); - $56 = ($55|0)==(0); - if ($56) { - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - } - $57 = HEAP32[$49>>2]|0; - $58 = HEAP32[$0>>2]|0; - _memcpy(($57|0),($58|0),($33|0))|0; - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + ($33)|0); - HEAP32[$0>>2] = $60; - $61 = HEAP32[$49>>2]|0; - $62 = (($61) + ($33)|0); - HEAP32[$49>>2] = $62; - $$034 = 1; - STACKTOP = sp;return ($$034|0); -} -function _stbi__zbuild_huffman($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $3 = sp + 72|0; - $4 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($0|0),0,1024)|0; - $5 = ($2|0)>(0); - if ($5) { - $$07688 = 0; - while(1) { - $6 = (($1) + ($$07688)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($4) + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = (($$07688) + 1)|0; - $exitcond91 = ($12|0)==($2|0); - if ($exitcond91) { - break; - } else { - $$07688 = $12; - } - } - } - HEAP32[$4>>2] = 0; - $16 = ((($4)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(2); - if (!($18)) { - $13 = ((($4)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(4); - if (!($15)) { - $69 = ((($4)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(8); - if (!($71)) { - $72 = ((($4)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(16); - if (!($74)) { - $75 = ((($4)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(32); - if (!($77)) { - $78 = ((($4)) + 24|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(64); - if (!($80)) { - $81 = ((($4)) + 28|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(128); - if (!($83)) { - $84 = ((($4)) + 32|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(256); - if (!($86)) { - $87 = ((($4)) + 36|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(512); - if (!($89)) { - $90 = ((($4)) + 40|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(1024); - if (!($92)) { - $93 = ((($4)) + 44|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(2048); - if (!($95)) { - $96 = ((($4)) + 48|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(4096); - if (!($98)) { - $99 = ((($4)) + 52|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(8192); - if (!($101)) { - $102 = ((($4)) + 56|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(16384); - if (!($104)) { - $105 = ((($4)) + 60|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)>(32768); - if (!($107)) { - $$07785 = 0;$$07884 = 0;$$286 = 1; - while(1) { - $19 = (($3) + ($$286<<2)|0); - HEAP32[$19>>2] = $$07884; - $20 = $$07884&65535; - $21 = (((($0)) + 1024|0) + ($$286<<1)|0); - HEAP16[$21>>1] = $20; - $22 = $$07785&65535; - $23 = (((($0)) + 1124|0) + ($$286<<1)|0); - HEAP16[$23>>1] = $22; - $24 = (($4) + ($$286<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($$07884))|0; - $27 = ($25|0)!=(0); - $28 = 1 << $$286; - $29 = ($26|0)>($28|0); - $or$cond = $27 & $29; - if ($or$cond) { - label = 7; - break; - } - $30 = (16 - ($$286))|0; - $31 = $26 << $30; - $32 = (((($0)) + 1056|0) + ($$286<<2)|0); - HEAP32[$32>>2] = $31; - $33 = $26 << 1; - $34 = (($25) + ($$07785))|0; - $35 = (($$286) + 1)|0; - $36 = ($35|0)<(16); - if ($36) { - $$07785 = $34;$$07884 = $33;$$286 = $35; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(7517); - $$075 = 0; - STACKTOP = sp;return ($$075|0); - } - $37 = ((($0)) + 1120|0); - HEAP32[$37>>2] = 65536; - $38 = ($2|0)>(0); - if ($38) { - $$382 = 0; - } else { - $$075 = 1; - STACKTOP = sp;return ($$075|0); - } - while(1) { - $39 = (($1) + ($$382)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ($40<<24>>24)==(0); - if (!($42)) { - $43 = (($3) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($0)) + 1024|0) + ($41<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) - ($47))|0; - $49 = (((($0)) + 1124|0) + ($41<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($48) + ($51))|0; - $53 = $41 << 9; - $54 = $53 | $$382; - $55 = $54&65535; - $56 = (((($0)) + 1156|0) + ($52)|0); - HEAP8[$56>>0] = $40; - $57 = $$382&65535; - $58 = (((($0)) + 1444|0) + ($52<<1)|0); - HEAP16[$58>>1] = $57; - $59 = ($40&255)<(10); - do { - if ($59) { - $60 = (_stbi__bit_reverse($44,$41)|0); - $61 = ($60|0)<(512); - if (!($61)) { - break; - } - $62 = 1 << $41; - $$081 = $60; - while(1) { - $63 = (($0) + ($$081<<1)|0); - HEAP16[$63>>1] = $55; - $64 = (($$081) + ($62))|0; - $65 = ($64|0)<(512); - if ($65) { - $$081 = $64; - } else { - break; - } - } - } - } while(0); - $66 = HEAP32[$43>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$43>>2] = $67; - } - $68 = (($$382) + 1)|0; - $exitcond = ($68|0)==($2|0); - if ($exitcond) { - $$075 = 1; - break; - } else { - $$382 = $68; - } - } - STACKTOP = sp;return ($$075|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(7569); - $$075 = 0; - STACKTOP = sp;return ($$075|0); -} -function _stbi__compute_huffman_codes($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); - $1 = sp; - $2 = sp + 2039|0; - $3 = sp + 2020|0; - $4 = (_stbi__zreceive($0,5)|0); - $5 = (($4) + 257)|0; - $6 = (_stbi__zreceive($0,5)|0); - $7 = (($6) + 1)|0; - $8 = (_stbi__zreceive($0,4)|0); - $9 = (($8) + 4)|0; - $10 = (($7) + ($5))|0; - dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $11 = ($9|0)>(0); - if ($11) { - $$06579 = 0; - while(1) { - $12 = (_stbi__zreceive($0,3)|0); - $13 = $12&255; - $14 = (7498 + ($$06579)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (($3) + ($16)|0); - HEAP8[$17>>0] = $13; - $18 = (($$06579) + 1)|0; - $exitcond = ($18|0)==($9|0); - if ($exitcond) { - break; - } else { - $$06579 = $18; - } - } - } - $19 = (_stbi__zbuild_huffman($1,$3,19)|0); - $20 = ($19|0)==(0); - if ($20) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = ($10|0)>(0); - L8: do { - if ($21) { - $$06678 = 0; - L9: while(1) { - $22 = (_stbi__zhuffman_decode($0,$1)|0); - $23 = ($22>>>0)>(18); - if ($23) { - label = 6; - break; - } - $24 = ($22|0)<(16); - if ($24) { - $25 = $22&255; - $26 = (($$06678) + 1)|0; - $27 = (($2) + ($$06678)|0); - HEAP8[$27>>0] = $25; - $$066$be = $26; - } else { - switch ($22|0) { - case 16: { - $28 = (_stbi__zreceive($0,2)|0); - $29 = ($$06678|0)==(0); - if ($29) { - label = 11; - break L9; - } - $30 = (($28) + 3)|0; - $31 = (($$06678) + -1)|0; - $32 = (($2) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $$0 = $33;$$061 = $30; - break; - } - case 17: { - $34 = (_stbi__zreceive($0,3)|0); - $35 = (($34) + 3)|0; - $$0 = 0;$$061 = $35; - break; - } - case 18: { - $36 = (_stbi__zreceive($0,7)|0); - $37 = (($36) + 11)|0; - $$0 = 0;$$061 = $37; - break; - } - default: { - label = 14; - break L9; - } - } - $38 = (($10) - ($$06678))|0; - $39 = ($38|0)<($$061|0); - if ($39) { - label = 17; - break; - } - $40 = (($2) + ($$06678)|0); - _memset(($40|0),($$0|0),($$061|0))|0; - $41 = (($$061) + ($$06678))|0; - $$066$be = $41; - } - $42 = ($10|0)>($$066$be|0); - if ($42) { - $$06678 = $$066$be; - } else { - $$066$lcssa = $$066$be; - break L8; - } - } - if ((label|0) == 6) { - _stbi__err(7517); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 11) { - _stbi__err(7517); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 14) { - ___assert_fail((7533|0),(6302|0),4006,(7541|0)); - // unreachable; - } - else if ((label|0) == 17) { - _stbi__err(7517); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } else { - $$066$lcssa = 0; - } - } while(0); - $43 = ($10|0)==($$066$lcssa|0); - if (!($43)) { - _stbi__err(7517); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $44 = ((($0)) + 32|0); - $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); - $46 = ($45|0)==(0); - if ($46) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $47 = ((($0)) + 2052|0); - $48 = (($2) + ($5)|0); - $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); - $not$ = ($49|0)!=(0); - $$ = $not$&1; - $$4 = $$; - STACKTOP = sp;return ($$4|0); -} -function _stbi__parse_huffman_block($0) { - $0 = $0|0; - var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 32|0); - $4 = ((($0)) + 24|0); - $5 = ((($0)) + 2052|0); - $6 = ((($0)) + 20|0); - $7 = ((($0)) + 24|0); - $$070 = $2; - while(1) { - $10 = (_stbi__zhuffman_decode($0,$3)|0); - $11 = ($10|0)<(256); - if ($11) { - $12 = ($10|0)<(0); - if ($12) { - label = 6; - break; - } - $13 = HEAP32[$4>>2]|0; - $14 = ($$070>>>0)<($13>>>0); - if ($14) { - $$171 = $$070; - } else { - $15 = (_stbi__zexpand($0,$$070,1)|0); - $16 = ($15|0)==(0); - if ($16) { - $$3$ph = 0; - label = 28; - break; - } - $17 = HEAP32[$1>>2]|0; - $$171 = $17; - } - $18 = $10&255; - $19 = ((($$171)) + 1|0); - HEAP8[$$171>>0] = $18; - $$070 = $19; - continue; - } - $20 = ($10|0)==(256); - if ($20) { - label = 12; - break; - } - $21 = (($10) + -257)|0; - $22 = (3128 + ($21<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($10) + -265)|0; - $25 = ($24>>>0)<(20); - if ($25) { - $26 = (3252 + ($21<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_stbi__zreceive($0,$27)|0); - $29 = (($28) + ($23))|0; - $$064 = $29; - } else { - $$064 = $23; - } - $30 = (_stbi__zhuffman_decode($0,$5)|0); - $31 = ($30|0)<(0); - if ($31) { - label = 16; - break; - } - $32 = (3376 + ($30<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($30) + -4)|0; - $35 = ($34>>>0)<(26); - if ($35) { - $36 = (3504 + ($30<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_stbi__zreceive($0,$37)|0); - $39 = (($38) + ($33))|0; - $$063 = $39; - } else { - $$063 = $33; - } - $40 = HEAP32[$6>>2]|0; - $41 = $$070; - $42 = (($41) - ($40))|0; - $43 = ($42|0)<($$063|0); - if ($43) { - label = 20; - break; - } - $44 = (($$070) + ($$064)|0); - $45 = HEAP32[$7>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($0,$$070,$$064)|0); - $48 = ($47|0)==(0); - if ($48) { - $$3$ph = 0; - label = 28; - break; - } - $49 = HEAP32[$1>>2]|0; - $$272 = $49; - } else { - $$272 = $$070; - } - $50 = (0 - ($$063))|0; - $9 = (($$272) + ($50)|0); - $51 = ($$063|0)==(1); - $52 = ($$064|0)!=(0); - if ($51) { - if (!($52)) { - $$070 = $$272; - continue; - } - $8 = HEAP8[$9>>0]|0; - _memset(($$272|0),($8|0),($$064|0))|0; - $scevgep92 = (($$272) + ($$064)|0); - $$070 = $scevgep92; - continue; - } - if ($52) { - $$067 = $9;$$266 = $$064;$$5 = $$272; - } else { - $$070 = $$272; - continue; - } - while(1) { - $53 = ((($$067)) + 1|0); - $54 = HEAP8[$$067>>0]|0; - $55 = ((($$5)) + 1|0); - HEAP8[$$5>>0] = $54; - $56 = (($$266) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $$067 = $53;$$266 = $56;$$5 = $55; - } - } - $scevgep = (($$272) + ($$064)|0); - $$070 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(7323); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 12) { - HEAP32[$1>>2] = $$070; - $$3$ph = 1; - return ($$3$ph|0); - } - else if ((label|0) == 16) { - _stbi__err(7323); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 20) { - _stbi__err(7340); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 28) { - return ($$3$ph|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(16); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 511; - $8 = (($1) + ($7<<1)|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($9<<16>>16)==(0); - if ($11) { - $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); - $$0 = $17; - return ($$0|0); - } else { - $12 = $10 >>> 9; - $13 = $6 >>> $12; - HEAP32[$5>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) - ($12))|0; - HEAP32[$2>>2] = $15; - $16 = $10 & 511; - $$0 = $16; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - HEAP32[$3>>2] = $1; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - _stbi__err(7349); - $$0 = 0; - return ($$0|0); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = $1; - $10 = $8; - $11 = (($9) - ($10))|0; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) - ($10))|0; - $15 = (($11) + ($2))|0; - $$029 = $14; - while(1) { - $16 = ($15|0)>($$029|0); - $17 = $$029 << 1; - if ($16) { - $$029 = $17; - } else { - break; - } - } - $18 = (_realloc($8,$$029)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(6267); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$7>>2] = $18; - $20 = (($18) + ($11)|0); - HEAP32[$3>>2] = $20; - $21 = (($18) + ($$029)|0); - HEAP32[$12>>2] = $21; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 12|0); - $2 = ((($0)) + 8|0); - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = 1 << $4; - $6 = ($3>>>0)<($5>>>0); - if (!($6)) { - label = 3; - break; - } - $7 = (_stbi__zget8($0)|0); - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = $8 << $9; - $11 = HEAP32[$1>>2]|0; - $12 = $11 | $10; - HEAP32[$1>>2] = $12; - $13 = (($9) + 8)|0; - HEAP32[$2>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((7445|0),(6302|0),3848,(7482|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_stbi__bit_reverse($3,16)|0); - $$025 = 10; - while(1) { - $5 = (((($1)) + 1056|0) + ($$025<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - $8 = (($$025) + 1)|0; - if ($7) { - break; - } else { - $$025 = $8; - } - } - $9 = ($$025|0)==(16); - if ($9) { - $$0 = -1; - return ($$0|0); - } - $10 = (16 - ($$025))|0; - $11 = $4 >> $10; - $12 = (((($1)) + 1024|0) + ($$025<<1)|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = (($11) - ($14))|0; - $16 = (((($1)) + 1124|0) + ($$025<<1)|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($15) + ($18))|0; - $20 = (((($1)) + 1156|0) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==($$025|0); - if (!($23)) { - ___assert_fail((7369|0),(6302|0),3876,(7385|0)); - // unreachable; - } - $24 = HEAP32[$2>>2]|0; - $25 = $24 >>> $$025; - HEAP32[$2>>2] = $25; - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) - ($$025))|0; - HEAP32[$26>>2] = $28; - $29 = (((($1)) + 1444|0) + ($19<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $$0 = $31; - return ($$0|0); -} -function _stbi__bit_reverse($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(17); - if ($2) { - $3 = (_stbi__bitreverse16($0)|0); - $4 = (16 - ($1))|0; - $5 = $3 >> $4; - return ($5|0); - } else { - ___assert_fail((7416|0),(6302|0),3766,(7427|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = $0 >>> 1; - $2 = $1 & 21845; - $3 = $0 << 1; - $4 = $3 & 43690; - $5 = $2 | $4; - $6 = $5 >>> 2; - $7 = $6 & 13107; - $8 = $5 << 2; - $9 = $8 & 52428; - $10 = $7 | $9; - $11 = $10 >>> 4; - $12 = $11 & 3855; - $13 = $10 << 4; - $14 = $13 & 61680; - $15 = $12 | $14; - $16 = $15 >>> 8; - $17 = $15 << 8; - $18 = $17 & 65280; - $19 = $18 | $16; - return ($19|0); -} -function _stbi__zget8($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); -} -function _stbi__refill_buffer($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 40|0); - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($0)) + 32|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 168|0); - HEAP32[$11>>2] = $5; - $12 = ((($0)) + 41|0); - $13 = ((($0)) + 172|0); - HEAP32[$13>>2] = $12; - HEAP8[$5>>0] = 0; - return; - } else { - $14 = ((($0)) + 168|0); - HEAP32[$14>>2] = $5; - $15 = (((($0)) + 40|0) + ($8)|0); - $16 = ((($0)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 176|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 168|0); - HEAP32[$3>>2] = $2; - $4 = ((($0)) + 180|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 172|0); - HEAP32[$6>>2] = $5; - return; -} -function _stbi__hdr_gettoken($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$014 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $$014 = 0; - while(1) { - $2 = (_stbi__get8($0)|0); - $3 = (_stbi__at_eof($0)|0); - $4 = ($3|0)!=(0); - $5 = ($2<<24>>24)==(10); - $or$cond = $5 | $4; - if ($or$cond) { - $$1 = $$014; - break; - } - $6 = (($$014) + 1)|0; - $7 = (($1) + ($$014)|0); - HEAP8[$7>>0] = $2; - $8 = ($6|0)==(1023); - if ($8) { - label = 4; - break; - } else { - $$014 = $6; - } - } - L4: do { - if ((label|0) == 4) { - while(1) { - label = 0; - $9 = (_stbi__at_eof($0)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $$1 = $6; - break L4; - } - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $$1 = $6; - break; - } else { - label = 4; - } - } - } - } while(0); - $13 = (($1) + ($$1)|0); - HEAP8[$13>>0] = 0; - return ($1|0); -} -function _stbi__hdr_convert($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0.0, $$sink1 = 0, $$sink30 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 3|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - switch ($2|0) { - case 4: { - $38 = ((($0)) + 12|0); - HEAPF32[$38>>2] = 1.0; - label = 10; - break; - } - case 3: { - label = 10; - break; - } - case 2: { - $$sink30 = 1.0; - label = 11; - break; - } - case 1: { - break; - } - default: { - return; - } - } - if ((label|0) == 10) { - $39 = ((($0)) + 8|0); - HEAPF32[$39>>2] = 0.0; - $$sink30 = 0.0; - label = 11; - } - if ((label|0) == 11) { - $40 = ((($0)) + 4|0); - HEAPF32[$40>>2] = $$sink30; - } - HEAPF32[$0>>2] = 0.0; - return; - } - $6 = $4&255; - $7 = (($6) + -136)|0; - $8 = (+_ldexp(1.0,$7)); - $9 = $8; - $10 = ($2|0)<(3); - $11 = HEAP8[$1>>0]|0; - if ($10) { - $12 = $11&255; - $13 = ((($1)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (($15) + ($12))|0; - $17 = ((($1)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = (($16) + ($19))|0; - $21 = (+($20|0)); - $22 = $9 * $21; - $23 = $22 / 3.0; - $$sink = $23;$$sink1 = $0; - } else { - $24 = (+($11&255)); - $25 = $9 * $24; - HEAPF32[$0>>2] = $25; - $26 = ((($1)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $9 * $28; - $30 = ((($0)) + 4|0); - HEAPF32[$30>>2] = $29; - $31 = ((($1)) + 2|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $9 * $33; - $35 = ((($0)) + 8|0); - $$sink = $34;$$sink1 = $35; - } - HEAPF32[$$sink1>>2] = $$sink; - switch ($2|0) { - case 2: { - $36 = ((($0)) + 4|0); - HEAPF32[$36>>2] = 1.0; - return; - break; - } - case 4: { - $37 = ((($0)) + 12|0); - HEAPF32[$37>>2] = 1.0; - return; - break; - } - default: { - return; - } - } -} -function _stbi__at_eof($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_ii[$5 & 15]($7)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); - } - $10 = ((($0)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $$0 = 1; - return ($$0|0); - } - } - $13 = ((($0)) + 168|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 172|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($14>>>0)>=($16>>>0); - $18 = $17&1; - $$0 = $18; - return ($$0|0); -} -function _stbi__hdr_test_core($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$07 = 0, $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - L1: do { - if (!($3)) { - $$08 = 0;$11 = $1; - while(1) { - $8 = (_stbi__get8($0)|0); - $9 = $8&255; - $10 = HEAP8[$11>>0]|0; - $12 = $10 << 24 >> 24; - $13 = ($9|0)==($12|0); - $5 = (($$08) + 1)|0; - if (!($13)) { - $$07 = 0; - break; - } - $4 = (($1) + ($5)|0); - $6 = HEAP8[$4>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - break L1; - } else { - $$08 = $5;$11 = $4; - } - } - return ($$07|0); - } - } while(0); - _stbi__rewind($0); - $$07 = 1; - return ($$07|0); -} -function _stbi__start_callbacks($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; - $4 = ((($0)) + 28|0); - HEAP32[$4>>2] = $2; - $5 = ((($0)) + 36|0); - HEAP32[$5>>2] = 128; - $6 = ((($0)) + 32|0); - HEAP32[$6>>2] = 1; - $7 = ((($0)) + 40|0); - $8 = ((($0)) + 176|0); - HEAP32[$8>>2] = $7; - _stbi__refill_buffer($0); - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 180|0); - HEAP32[$11>>2] = $10; - return; -} -function _stbi__stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fread($1,1,$2,$0)|0); - return ($3|0); -} -function _stbi__stdio_skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($0,$1,1)|0); - return; -} -function _stbi__stdio_eof($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_feof($0)|0); - return ($1|0); -} -function _ImageCopy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx11 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx13 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx15 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = Math_imul($5, $3)|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 18: case 15: case 12: case 11: case 1: { - $$0 = $6; - break; - } - case 6: case 5: case 3: case 2: { - $9 = $6 << 1; - $$0 = $9; - break; - } - case 4: { - $10 = ($6*3)|0; - $$0 = $10; - break; - } - case 7: { - $11 = $6 << 2; - $$0 = $11; - break; - } - case 8: { - $12 = ($6*12)|0; - $$0 = $12; - break; - } - case 17: case 16: case 14: case 13: case 10: case 9: { - $13 = (($6|0) / 2)&-1; - $$0 = $13; - break; - } - case 19: { - $14 = (($6|0) / 4)&-1; - $$0 = $14; - break; - } - default: { - _TraceLog(1,7876,$vararg_buffer); - $$0 = $6; - } - } - $15 = (_malloc($$0)|0); - $16 = ($15|0)==(0|0); - if ($16) { - $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; - } else { - $17 = HEAP32[$1>>2]|0; - _memcpy(($15|0),($17|0),($$0|0))|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = ((($1)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$7>>2]|0; - $$sroa$6$0 = $18;$$sroa$7$0 = $19;$$sroa$8$0 = $21;$$sroa$9$0 = $22; - } - HEAP32[$0>>2] = $15; - $$sroa$6$0$$sroa_idx11 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx11>>2] = $$sroa$6$0; - $$sroa$7$0$$sroa_idx13 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx13>>2] = $$sroa$7$0; - $$sroa$8$0$$sroa_idx15 = ((($0)) + 12|0); - HEAP32[$$sroa$8$0$$sroa_idx15>>2] = $$sroa$8$0; - $$sroa$9$0$$sroa_idx17 = ((($0)) + 16|0); - HEAP32[$$sroa$9$0$$sroa_idx17>>2] = $$sroa$9$0; - STACKTOP = sp;return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($23<<24>>24) { - case 10: { - $25 = HEAP32[$9>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = (($26) + ($25))|0; - $28 = (+($27|0)); - $29 = $12 * $28; - $30 = (~~(($29))); - $31 = (($30) + ($$05153))|0; - $$150 = 0;$$152 = $31;$$2 = $$055; - break; - } - case -62: { - $32 = (($$055) + 1)|0; - $33 = (($1) + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $$1 = $32;$$sink = $35; - label = 8; - break; - } - case -61: { - $36 = (($$055) + 1)|0; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($39) + 64)|0; - $$1 = $36;$$sink = $40; - label = 8; - break; - } - default: { - $$1 = $$055;$$sink = $24; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4978]|0; - $2 = HEAP32[4976]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - $10 = (($2) + 1)|0; - if ($9) { - HEAP32[4976] = $10; - $12 = $10; - } else { - $$pr = HEAP32[4976]|0; - $12 = $$pr; - } - $11 = ($12|0)>(255); - if ($11) { - _rlglDraw(); - HEAP32[4976] = 1; - } - $13 = HEAP32[4978]|0; - $14 = HEAP32[4976]|0; - $15 = (($14) + -1)|0; - $16 = (((($13) + (($15*144)|0)|0)) + 8|0); - HEAP32[$16>>2] = $0; - $17 = (($13) + (($15*144)|0)|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[5164]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(2,7983,$vararg_buffer); - } - $2 = HEAP32[5164]|0; - $3 = (20660 + ($2<<6)|0); - $4 = HEAP32[5421]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[5164]|0; - $6 = (($5) + 1)|0; - HEAP32[5164] = $6; - $7 = HEAP32[5426]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[5422] = 1; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - $5 = HEAP32[5421]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _Vector3Normalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[5421]|0; - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5425] = $0; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[5425]|0; - switch ($4|0) { - case 1: { - $$sink37 = (19924);$$sink38 = (19936); - break; - } - case 4: { - $$sink37 = (19972);$$sink38 = (19984); - break; - } - case 7: { - $$sink37 = (19732);$$sink38 = (19744); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[5425]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(19740)>>2]|0; - $5 = HEAP32[(19728)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(19728)>>2] = $10; - return; -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[911]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[5422]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5423]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[5424]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5421]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Vector3Transform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[5423]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[5422] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[5424]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[5423]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[5422] = 0; - } - HEAP32[5423] = 0; - } - $21 = HEAP32[5425]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[4979]|0; - $23 = HEAP32[(19924)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[911]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[911] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[911]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[911] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(19936)>>2]|0; - $28 = HEAP32[(19924)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(19936)>>2]|0; - $35 = HEAP32[(19924)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(19936)>>2]|0; - $43 = HEAP32[(19924)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(19936)>>2]|0; - $51 = HEAP32[(19924)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(19924)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(19924)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[911]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[911] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[4991]|0; - $62 = HEAP32[(19972)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[911]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[911] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[911]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[911] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(19984)>>2]|0; - $67 = HEAP32[(19972)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(19984)>>2]|0; - $74 = HEAP32[(19972)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(19984)>>2]|0; - $82 = HEAP32[(19972)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(19984)>>2]|0; - $90 = HEAP32[(19972)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(19972)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(19972)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[911]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[911] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[4931]|0; - $101 = HEAP32[(19732)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(19744)>>2]|0; - $106 = HEAP32[(19732)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(19744)>>2]|0; - $113 = HEAP32[(19732)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(19744)>>2]|0; - $121 = HEAP32[(19732)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(19744)>>2]|0; - $129 = HEAP32[(19732)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(19732)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(19732)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[4931]|0; - $140 = HEAP32[(19728)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[911]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[911] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(19740)>>2]|0; - $$promoted = HEAP32[(19728)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(19728)>>2] = $147; - $148 = +HEAPF32[911]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[911] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[911]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[911] = $149; - STACKTOP = sp;return; - } - } -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5164]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[5164]|0; - $3 = (($2) + -1)|0; - $4 = (20660 + ($3<<6)|0); - $5 = HEAP32[5421]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[5164] = $6; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4931]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateBuffersDefault(); - _DrawBuffersDefault(); - return; -} -function _UpdateBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4979]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[5036]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[5037]|0; - $5 = HEAP32[(19944)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(19948)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4979]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(19928)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19952)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19924)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(19936)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[4991]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[5036]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[5037]|0; - $19 = HEAP32[(19992)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(19996)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4991]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(19976)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20000)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19972)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(19984)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[4931]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[5036]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[5037]|0; - $33 = HEAP32[(19752)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(19756)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4931]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(19736)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19760)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4931]|0; - $40 = $39 << 3; - $41 = HEAP32[(19740)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19764)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4931]|0; - $44 = $43 << 2; - $45 = HEAP32[(19744)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[5036]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[5037]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawBuffersDefault() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=19772; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=19836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4975]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[4979]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[4991]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[4931]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[5003]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=19772; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(20040)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(20060)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(20072)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[4979]|0; - $20 = ($19|0)>(0); - if ($20) { - _glActiveTexture(33984); - $21 = HEAP32[4977]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[5036]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(19948)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(20016)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(20016)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19952)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(20036)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(20036)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[5037]|0; - $25 = HEAP32[(19944)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[4979]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[5036]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[4991]|0; - $36 = ($35|0)>(0); - if ($36) { - _glActiveTexture(33984); - $37 = HEAP32[4977]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[5036]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(19996)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(20016)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(20016)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20000)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(20036)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(20036)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[5037]|0; - $41 = HEAP32[(19992)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[4991]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[5036]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[4931]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[5036]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(19756)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(20016)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(20016)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19760)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(20020)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(20020)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19764)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(20036)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(20036)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19768)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[5037]|0; - $56 = HEAP32[(19752)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[4976]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[4978]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - _glActiveTexture(33984); - $76 = HEAP32[4978]|0; - $77 = (((($76) + (($$031*144)|0)|0)) + 8|0); - $78 = HEAP32[$77>>2]|0; - _glBindTexture(3553,($78|0)); - $79 = $$02830 << 1; - $80 = $79; - _glDrawElements(4,($75|0),5123,($80|0)); - $81 = HEAP32[4978]|0; - $82 = (($81) + (($$031*144)|0)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83|0) / 4)&-1; - $85 = ($84*6)|0; - $86 = (($85) + ($$02830))|0; - $87 = (($$031) + 1)|0; - $88 = HEAP32[4976]|0; - $89 = ($87|0)<($88|0); - if ($89) { - $$02830 = $86;$$031 = $87; - } else { - break; - } - } - } - $69 = HEAP32[5036]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $90 = HEAP32[5036]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = HEAP32[5037]|0; - FUNCTION_TABLE_vi[$92 & 31](0); - } - _glUseProgram(0); - $93 = (($$02932) + 1)|0; - $94 = ($93|0)<($$|0); - if ($94) { - $$02932 = $93; - } else { - break; - } - } - HEAP32[4976] = 1; - $5 = HEAP32[4977]|0; - $6 = HEAP32[4978]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[4979] = 0; - HEAP32[(19924)>>2] = 0; - HEAP32[4991] = 0; - HEAP32[(19972)>>2] = 0; - HEAP32[4931] = 0; - HEAP32[(19728)>>2] = 0; - HEAP32[(19732)>>2] = 0; - HEAPF32[911] = -1.0; - dest=19772; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19836; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5054]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5055]|0; - _rlViewport($7,0,$8,$9); - $10 = (20528 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20400 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 * $4; - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($1)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($2)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($1)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($2)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($2)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($2)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($2)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($2)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($2)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($2)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($2)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($2)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($2)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($2)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($2)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($2)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($1)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($1)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($1)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($1)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($1)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($1)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($1)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($1)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($1)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($1)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($1)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($1)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixToFloat($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[5038] = $1; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(20156)>>2] = $3; - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(20160)>>2] = $5; - $6 = ((($0)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(20164)>>2] = $7; - $8 = ((($0)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(20168)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(20172)>>2] = $11; - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(20176)>>2] = $13; - $14 = ((($0)) + 52|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(20180)>>2] = $15; - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(20184)>>2] = $17; - $18 = ((($0)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(20188)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(20192)>>2] = $21; - $22 = ((($0)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(20196)>>2] = $23; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(20200)>>2] = $25; - $26 = ((($0)) + 28|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(20204)>>2] = $27; - $28 = ((($0)) + 44|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(20208)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(20212)>>2] = $31; - return (20152|0); -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=19836; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=19772; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Vector3Transform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = HEAP32[5422]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5424]|0; - $6 = HEAP32[5423]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[5423] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[5425]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[4979]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(19928)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[4979] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(2,7904,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[4991]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(19976)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[4991] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(2,7929,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[4931]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(19736)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[4931] = $41; - $42 = HEAP32[4978]|0; - $43 = HEAP32[4976]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(2,7958,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _Vector3Normalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_Vector3Length($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _Vector3Length($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = 0.0; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = 0.0; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = 0.0; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $2; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = 0.0; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = 0.0; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = 0.0; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = 0.0; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = 0.0; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[5421]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _FormatText($0,$varargs) { - $0 = $0|0; - $varargs = $varargs|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $varargs; - (_vsprintf(22772,$0,$1)|0); - STACKTOP = sp;return (22772|0); -} -function _DrawFPS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - $2 = sp + 4|0; - $3 = HEAP32[5427]|0; - $4 = HEAP32[912]|0; - $5 = ($3|0)<($4|0); - if ($5) { - $6 = (($3) + 1)|0; - $$sink = $6; - } else { - $7 = (_GetFPS()|0); - HEAP32[5428] = $7; - HEAP32[912] = $7; - $$sink = 0; - } - HEAP32[5427] = $$sink; - $8 = HEAP32[5428]|0; - HEAP32[$$byval_copy>>2] = $8; - (_FormatText(8021,$$byval_copy)|0); - HEAP8[$2>>0] = 0; - $9 = ((($2)) + 1|0); - HEAP8[$9>>0] = -98; - $10 = ((($2)) + 2|0); - HEAP8[$10>>0] = 47; - $11 = ((($2)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(22772,$0,$1,20,$$byval_copy); - STACKTOP = sp;return; -} -function _GetFPS() { - var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_GetFrameTime()); - $1 = 1.0 / $0; - $2 = (~~(($1))); - return ($2|0); -} -function _GetFrameTime() { - var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF64[2343]; - $1 = $0; - return (+$1); -} -function _LoadTexture($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $2 = sp + 24|0; - $3 = sp + 4|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - _LoadImage($3,$1); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - _TraceLog(1,8029,$vararg_buffer); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _LoadTextureFromImage($2,$$byval_copy1); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _UnloadImage($$byval_copy1); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _DrawLine3D($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $3 = HEAP8[$2>>0]|0; - $4 = ((($2)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($2)) + 2|0); - $7 = HEAP8[$6>>0]|0; - $8 = ((($2)) + 3|0); - $9 = HEAP8[$8>>0]|0; - _rlColor4ub($3,$5,$7,$9); - $10 = +HEAPF32[$0>>2]; - $11 = ((($0)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($0)) + 8|0); - $14 = +HEAPF32[$13>>2]; - _rlVertex3f($10,$12,$14); - $15 = +HEAPF32[$1>>2]; - $16 = ((($1)) + 4|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($1)) + 8|0); - $19 = +HEAPF32[$18>>2]; - _rlVertex3f($15,$17,$19); - _rlEnd(); - return; -} -function _DrawCube($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlBegin(4); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = $1 * 0.5; - $18 = 0.0 - $17; - $19 = $2 * 0.5; - $20 = 0.0 - $19; - $21 = $3 * 0.5; - $22 = $21 + 0.0; - _rlVertex3f($18,$20,$22); - $23 = $17 + 0.0; - _rlVertex3f($23,$20,$22); - $24 = $19 + 0.0; - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$20,$22); - $25 = 0.0 - $21; - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($18,$20,$22); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$20,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$20,$25); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawCubeWires($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlBegin(1); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = $1 * 0.5; - $18 = 0.0 - $17; - $19 = $2 * 0.5; - $20 = 0.0 - $19; - $21 = $3 * 0.5; - $22 = $21 + 0.0; - _rlVertex3f($18,$20,$22); - $23 = $17 + 0.0; - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$22); - $24 = $19 + 0.0; - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$20,$22); - $25 = 0.0 - $21; - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$20,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$25); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _DrawRay($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $2 = HEAP8[$1>>0]|0; - $3 = ((($1)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($1)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($1)) + 3|0); - $8 = HEAP8[$7>>0]|0; - _rlColor4ub($2,$4,$6,$8); - $9 = HEAP8[$1>>0]|0; - $10 = HEAP8[$3>>0]|0; - _rlColor4ub($9,$10,$6,$8); - $11 = +HEAPF32[$0>>2]; - $12 = ((($0)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 8|0); - $15 = +HEAPF32[$14>>2]; - _rlVertex3f($11,$13,$15); - $16 = ((($0)) + 12|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 * 1.0E+4; - $19 = $11 + $18; - $20 = +HEAPF32[$12>>2]; - $21 = ((($0)) + 16|0); - $22 = +HEAPF32[$21>>2]; - $23 = $22 * 1.0E+4; - $24 = $20 + $23; - $25 = +HEAPF32[$14>>2]; - $26 = ((($0)) + 20|0); - $27 = +HEAPF32[$26>>2]; - $28 = $27 * 1.0E+4; - $29 = $25 + $28; - _rlVertex3f($19,$24,$29); - _rlEnd(); - return; -} -function _DrawGrid($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0|0) / 2)&-1; - _rlBegin(1); - $3 = (0 - ($2))|0; - $4 = ($2|0)<($3|0); - if ($4) { - _rlEnd(); - return; - } - $5 = (+($3|0)); - $6 = $5 * $1; - $7 = (+($2|0)); - $8 = $7 * $1; - $$024 = $3; - while(1) { - $9 = ($$024|0)==(0); - if ($9) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $10 = (+($$024|0)); - $11 = $10 * $1; - _rlVertex3f($11,0.0,$6); - _rlVertex3f($11,0.0,$8); - _rlVertex3f($6,0.0,$11); - _rlVertex3f($8,0.0,$11); - $12 = (($$024) + 1)|0; - $13 = ($$024|0)<($2|0); - if ($13) { - $$024 = $12; - } else { - break; - } - } - _rlEnd(); - return; -} -function _rlColor3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $0 * 255.0; - $4 = (~~(($3))&255); - $5 = $1 * 255.0; - $6 = (~~(($5))&255); - $7 = $2 * 255.0; - $8 = (~~(($7))&255); - _rlColor4ub($4,$6,$8,-1); - return; -} -function _LoadModel($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1152|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1152|0); - $2 = sp + 536|0; - $3 = sp + 472|0; - $4 = sp; - _memset(($2|0),0,604)|0; - _LoadMesh($2,$1); - $5 = ((($2)) + 68|0); - _MatrixIdentity($3); - dest=$5; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = ((($2)) + 132|0); - _LoadMaterialDefault($4); - _memcpy(($6|0),($4|0),472)|0; - _memcpy(($0|0),($2|0),604)|0; - STACKTOP = sp;return; -} -function _LoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 4|0; - dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,8058)|0); - $5 = ($4|0)==(0); - if (!($5)) { - _LoadOBJ($3,$1); - dest=$2; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - _TraceLog(1,8063,$vararg_buffer); - } else { - _rlLoadMesh($2,0); - } - dest=$0; src=$2; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadMaterialDefault($0) { - $0 = $0|0; - var $$sroa$05 = 0, $$sroa$05$132$sroa_idx = 0, $$sroa$10$0$$sroa_idx = 0, $$sroa$1014$0$$sroa_idx = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$6$0$$sroa_idx = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(304|0); - $$sroa$05 = sp + 152|0; - $1 = sp + 20|0; - $2 = sp; - _memset(($$sroa$05|0),0,152)|0; - _GetShaderDefault($1); - _memcpy(($$sroa$05|0),($1|0),132)|0; - _GetTextureDefault($2); - $$sroa$05$132$sroa_idx = ((($$sroa$05)) + 132|0); - ;HEAP32[$$sroa$05$132$sroa_idx>>2]=HEAP32[$2>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+16>>2]=HEAP32[$2+16>>2]|0; - _memcpy(($0|0),($$sroa$05|0),152)|0; - $$sroa$6$0$$sroa_idx = ((($0)) + 152|0); - $$sroa$10$0$$sroa_idx = ((($0)) + 156|0); - HEAP32[$$sroa$6$0$$sroa_idx>>2] = -1; - ;HEAP32[$$sroa$10$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+20>>2]=0|0; - $$sroa$1014$0$$sroa_idx = ((($0)) + 180|0); - $$sroa$14$0$$sroa_idx = ((($0)) + 184|0); - HEAP32[$$sroa$1014$0$$sroa_idx>>2] = -1; - _memset(($$sroa$14$0$$sroa_idx|0),0,288)|0; - STACKTOP = sp;return; -} -function _GetShaderDefault($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _memcpy(($0|0),(21716|0),132)|0; - return; -} -function _GetTextureDefault($0) { - $0 = $0|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4977]|0; - HEAP32[$0>>2] = $1; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; - return; -} -function _LoadOBJ($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$ph374433 = 0, $$0$ph377422 = 0, $$0$ph379$lcssa386 = 0, $$0$ph379412 = 0, $$0$ph445 = 0, $$0344$ph373432 = 0, $$0344$ph376$lcssa388 = 0, $$0344$ph376421 = 0, $$0344$ph444 = 0, $$0345$ph372$lcssa389 = 0, $$0345$ph372431 = 0, $$0345$ph443 = 0, $$0346$ph$lcssa = 0, $$0346$ph442 = 0, $$0347392 = 0, $$0348391 = 0, $$0350$ph = 0, $$0350$ph$ph = 0, $$0351$ph$ph = 0, $$0352$ph = 0; - var $$0352$ph$ph = 0, $$0353$ph365399 = 0, $$0353$ph367397 = 0, $$0353$ph402 = 0, $$0354$ph364398 = 0, $$0354$ph401 = 0, $$0355$ph400 = 0, $$0356 = 0, $$0357 = 0, $$1 = 0, $$byval_copy102 = 0, $$byval_copy103 = 0, $$sroa$12$0$$sroa_idx244 = 0, $$sroa$12247$0$$sroa_idx249 = 0, $$sroa$31$0$$sroa_idx270 = 0, $$sroa$45$0$$sroa_idx286 = 0, $$sroa$45289$0$$sroa_idx291 = 0, $$sroa$64$0 = 0, $$sroa$64$0$$sroa_idx312 = 0, $$sroa$74$0$$sroa_idx324 = 0; - var $$sroa$75 = 0, $$sroa$75$0$$sroa_idx = 0, $$sroa$75$0$$sroa_idx328 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0.0; - var $26 = 0, $260 = 0.0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0.0, $312 = 0; - var $313 = 0, $314 = 0.0, $315 = 0, $316 = 0, $317 = 0.0, $318 = 0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0; - var $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0.0, $338 = 0.0, $339 = 0.0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer29 = 0, $vararg_buffer33 = 0, $vararg_buffer36 = 0; - var $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer52 = 0, $vararg_buffer55 = 0, $vararg_buffer58 = 0, $vararg_buffer63 = 0, $vararg_buffer7 = 0, $vararg_buffer71 = 0, $vararg_buffer79 = 0, $vararg_buffer90 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr22 = 0, $vararg_ptr32 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr47 = 0; - var $vararg_ptr48 = 0, $vararg_ptr61 = 0, $vararg_ptr62 = 0, $vararg_ptr66 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, $vararg_ptr69 = 0, $vararg_ptr70 = 0, $vararg_ptr74 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr82 = 0, $vararg_ptr83 = 0, $vararg_ptr84 = 0, $vararg_ptr85 = 0, $vararg_ptr86 = 0, $vararg_ptr87 = 0, $vararg_ptr88 = 0; - var $vararg_ptr89 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy103 = sp + 320|0; - $$byval_copy102 = sp + 304|0; - $vararg_buffer90 = sp + 296|0; - $vararg_buffer79 = sp + 256|0; - $vararg_buffer71 = sp + 232|0; - $vararg_buffer63 = sp + 208|0; - $vararg_buffer58 = sp + 192|0; - $vararg_buffer55 = sp + 184|0; - $vararg_buffer52 = sp + 176|0; - $vararg_buffer49 = sp + 168|0; - $vararg_buffer44 = sp + 152|0; - $vararg_buffer41 = sp + 144|0; - $vararg_buffer36 = sp + 128|0; - $vararg_buffer33 = sp + 120|0; - $vararg_buffer29 = sp + 112|0; - $vararg_buffer26 = sp + 104|0; - $vararg_buffer23 = sp + 96|0; - $vararg_buffer11 = sp + 80|0; - $vararg_buffer7 = sp + 64|0; - $vararg_buffer4 = sp + 56|0; - $vararg_buffer1 = sp + 48|0; - $vararg_buffer = sp + 40|0; - $$sroa$75 = sp; - $2 = sp + 664|0; - $3 = sp + 464|0; - $4 = sp + 428|0; - $5 = sp + 416|0; - $6 = sp + 452|0; - $7 = sp + 440|0; - $8 = sp + 404|0; - $9 = sp + 392|0; - $10 = sp + 380|0; - $11 = sp + 368|0; - $12 = sp + 356|0; - $13 = sp + 344|0; - $14 = sp + 332|0; - dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,8230)|0); - $16 = ($15|0)==(0|0); - if ($16) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,8233,$vararg_buffer); - $$sroa$75$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; - dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $17 = (_feof($15)|0); - $18 = ($17|0)==(0); - L5: do { - if ($18) { - $$0$ph445 = 0;$$0344$ph444 = 0;$$0345$ph443 = 0;$$0346$ph442 = 0; - while(1) { - $$0$ph374433 = $$0$ph445;$$0344$ph373432 = $$0344$ph444;$$0345$ph372431 = $$0345$ph443; - L8: while(1) { - $$0$ph377422 = $$0$ph374433;$$0344$ph376421 = $$0344$ph373432; - L10: while(1) { - $$0$ph379412 = $$0$ph377422; - L12: while(1) { - L14: while(1) { - HEAP8[$2>>0] = 0; - HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,8267,$vararg_buffer1)|0); - $19 = HEAP8[$2>>0]|0; - $20 = $19 << 24 >> 24; - switch ($20|0) { - case 102: { - break L8; - break; - } - case 118: { - break L14; - break; - } - case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $21 = (_feof($15)|0); - $22 = ($21|0)==(0); - if (!($22)) { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,8267,$vararg_buffer4)|0); - $23 = HEAP8[$2>>0]|0; - switch ($23<<24>>24) { - case 116: { - break L10; - break; - } - case 110: { - break L12; - break; - } - default: { - } - } - $30 = (($$0$ph379412) + 1)|0; - (_fgets($3,200,$15)|0); - $31 = (_feof($15)|0); - $32 = ($31|0)==(0); - if ($32) { - $$0$ph379412 = $30; - } else { - $$0$ph379$lcssa386 = $30;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $27 = (($$0344$ph376421) + 1)|0; - (_fgets($3,200,$15)|0); - $28 = (_feof($15)|0); - $29 = ($28|0)==(0); - if ($29) { - $$0$ph377422 = $$0$ph379412;$$0344$ph376421 = $27; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $27;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $24 = (($$0345$ph372431) + 1)|0; - (_fgets($3,200,$15)|0); - $25 = (_feof($15)|0); - $26 = ($25|0)==(0); - if ($26) { - $$0$ph374433 = $$0$ph379412;$$0344$ph373432 = $$0344$ph376421;$$0345$ph372431 = $24; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $24;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $33 = (($$0346$ph442) + 1)|0; - (_fgets($3,200,$15)|0); - $34 = (_feof($15)|0); - $35 = ($34|0)==(0); - if ($35) { - $$0$ph445 = $$0$ph379412;$$0344$ph444 = $$0344$ph376421;$$0345$ph443 = $$0345$ph372431;$$0346$ph442 = $33; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $33; - break; - } - } - } else { - $$0$ph379$lcssa386 = 0;$$0344$ph376$lcssa388 = 0;$$0345$ph372$lcssa389 = 0;$$0346$ph$lcssa = 0; - } - } while(0); - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,8270,$vararg_buffer7); - HEAP32[$vararg_buffer11>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,8294,$vararg_buffer11); - HEAP32[$$byval_copy102>>2] = $1; - $vararg_ptr18 = ((($$byval_copy102)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,8319,$$byval_copy102); - HEAP32[$$byval_copy103>>2] = $1; - $vararg_ptr22 = ((($$byval_copy103)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,8342,$$byval_copy103); - $36 = ($$0$ph379$lcssa386*12)|0; - $37 = (_malloc($36)|0); - $38 = ($$0344$ph376$lcssa388|0)>(0); - if ($38) { - $39 = ($$0344$ph376$lcssa388*12)|0; - $40 = (_malloc($39)|0); - $$0357 = $40;$369 = $40; - } else { - $$0357 = 0;$369 = 0; - } - $41 = ($$0345$ph372$lcssa389|0)>(0); - if ($41) { - $42 = $$0345$ph372$lcssa389 << 3; - $43 = (_malloc($42)|0); - $$0356 = $43;$370 = $43; - } else { - $$0356 = 0;$370 = 0; - } - _rewind($15); - $44 = (_feof($15)|0); - $45 = ($44|0)==(0); - L31: do { - if ($45) { - $$0353$ph402 = 0;$$0354$ph401 = 0;$$0355$ph400 = 0; - while(1) { - $$0353$ph365399 = $$0353$ph402;$$0354$ph364398 = $$0354$ph401; - L34: while(1) { - $$0353$ph367397 = $$0353$ph365399; - L36: while(1) { - L38: while(1) { - HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,8267,$vararg_buffer23)|0); - $46 = HEAP8[$2>>0]|0; - $47 = $46 << 24 >> 24; - switch ($47|0) { - case 118: { - break L38; - break; - } - case 102: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $48 = (_feof($15)|0); - $49 = ($48|0)==(0); - if (!($49)) { - break L31; - } - } - HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,8267,$vararg_buffer26)|0); - $50 = HEAP8[$2>>0]|0; - switch ($50<<24>>24) { - case 110: { - break L36; - break; - } - case 116: { - break; - } - default: { - break L34; - } - } - $51 = (($$0356) + ($$0353$ph367397<<3)|0); - $52 = (((($$0356) + ($$0353$ph367397<<3)|0)) + 4|0); - HEAP32[$vararg_buffer29>>2] = $51; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,8367,$vararg_buffer29)|0); - $53 = (($$0353$ph367397) + 1)|0; - HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,8267,$vararg_buffer33)|0); - $54 = (_feof($15)|0); - $55 = ($54|0)==(0); - if ($55) { - $$0353$ph367397 = $53; - } else { - break L31; - } - } - $56 = (($$0357) + (($$0354$ph364398*12)|0)|0); - $57 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 4|0); - $58 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer36>>2] = $56; - $vararg_ptr39 = ((($vararg_buffer36)) + 4|0); - HEAP32[$vararg_ptr39>>2] = $57; - $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); - HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,8381,$vararg_buffer36)|0); - $59 = (($$0354$ph364398) + 1)|0; - HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,8267,$vararg_buffer41)|0); - $60 = (_feof($15)|0); - $61 = ($60|0)==(0); - if ($61) { - $$0353$ph365399 = $$0353$ph367397;$$0354$ph364398 = $59; - } else { - break L31; - } - } - $62 = (($37) + (($$0355$ph400*12)|0)|0); - $63 = (((($37) + (($$0355$ph400*12)|0)|0)) + 4|0); - $64 = (((($37) + (($$0355$ph400*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer44>>2] = $62; - $vararg_ptr47 = ((($vararg_buffer44)) + 4|0); - HEAP32[$vararg_ptr47>>2] = $63; - $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); - HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,8381,$vararg_buffer44)|0); - $65 = (($$0355$ph400) + 1)|0; - HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,8267,$vararg_buffer49)|0); - $66 = (_feof($15)|0); - $67 = ($66|0)==(0); - if ($67) { - $$0353$ph402 = $$0353$ph367397;$$0354$ph401 = $$0354$ph364398;$$0355$ph400 = $65; - } else { - break; - } - } - } - } while(0); - $68 = ($$0346$ph$lcssa*3)|0; - $69 = ($$0346$ph$lcssa*9)|0; - $70 = ($$0346$ph$lcssa*36)|0; - $71 = (_malloc($70)|0); - $72 = ($$0346$ph$lcssa*6)|0; - $73 = ($$0346$ph$lcssa*24)|0; - $74 = (_malloc($73)|0); - $75 = (_malloc($70)|0); - _rewind($15); - $76 = ($$0344$ph376$lcssa388|0)==(0); - if ($76) { - HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,8390,$vararg_buffer52); - } - $77 = ($$0345$ph372$lcssa389|0)==(0); - $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; - $79 = ($78|0)==(0); - $80 = ((($vararg_buffer11)) + 4|0); - $81 = ((($vararg_buffer11)) + 8|0); - $82 = ((($vararg_buffer11)) + 4|0); - $83 = ((($vararg_buffer11)) + 8|0); - $84 = ((($4)) + 4|0); - $85 = ((($4)) + 8|0); - $86 = ((($5)) + 4|0); - $87 = ((($5)) + 8|0); - $88 = ((($vararg_buffer11)) + 4|0); - $89 = ((($vararg_buffer7)) + 4|0); - $90 = ((($vararg_buffer11)) + 8|0); - $91 = ((($vararg_buffer7)) + 8|0); - $92 = ((($vararg_buffer11)) + 4|0); - $93 = ((($4)) + 4|0); - $94 = ((($vararg_buffer11)) + 8|0); - $95 = ((($4)) + 8|0); - $96 = ((($vararg_buffer11)) + 4|0); - $97 = ((($vararg_buffer7)) + 4|0); - $98 = ((($4)) + 4|0); - $99 = ((($vararg_buffer11)) + 8|0); - $100 = ((($vararg_buffer7)) + 8|0); - $101 = ((($4)) + 8|0); - $102 = ((($vararg_buffer7)) + 4|0); - $103 = ((($vararg_buffer7)) + 8|0); - $$0350$ph$ph = 0;$$0351$ph$ph = 0;$$0352$ph$ph = 0; - L51: while(1) { - $$0350$ph = $$0350$ph$ph;$$0352$ph = $$0352$ph$ph; - while(1) { - $104 = (_feof($15)|0); - $105 = ($104|0)==(0); - if (!($105)) { - break L51; - } - L55: while(1) { - HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,8267,$vararg_buffer55)|0); - $106 = HEAP8[$2>>0]|0; - $107 = $106 << 24 >> 24; - switch ($107|0) { - case 102: { - break L55; - break; - } - case 118: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $108 = (_feof($15)|0); - $109 = ($108|0)==(0); - if (!($109)) { - break L51; - } - } - do { - if ($79) { - HEAP32[$vararg_buffer58>>2] = $vararg_buffer11; - $vararg_ptr61 = ((($vararg_buffer58)) + 4|0); - HEAP32[$vararg_ptr61>>2] = $80; - $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); - HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,8461,$vararg_buffer58)|0); - } else { - if ($76) { - HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; - $vararg_ptr66 = ((($vararg_buffer63)) + 4|0); - HEAP32[$vararg_ptr66>>2] = $vararg_buffer7; - $vararg_ptr67 = ((($vararg_buffer63)) + 8|0); - HEAP32[$vararg_ptr67>>2] = $88; - $vararg_ptr68 = ((($vararg_buffer63)) + 12|0); - HEAP32[$vararg_ptr68>>2] = $89; - $vararg_ptr69 = ((($vararg_buffer63)) + 16|0); - HEAP32[$vararg_ptr69>>2] = $90; - $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); - HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,8470,$vararg_buffer63)|0); - break; - } - if ($77) { - HEAP32[$vararg_buffer71>>2] = $vararg_buffer11; - $vararg_ptr74 = ((($vararg_buffer71)) + 4|0); - HEAP32[$vararg_ptr74>>2] = $4; - $vararg_ptr75 = ((($vararg_buffer71)) + 8|0); - HEAP32[$vararg_ptr75>>2] = $92; - $vararg_ptr76 = ((($vararg_buffer71)) + 12|0); - HEAP32[$vararg_ptr76>>2] = $93; - $vararg_ptr77 = ((($vararg_buffer71)) + 16|0); - HEAP32[$vararg_ptr77>>2] = $94; - $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); - HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,8488,$vararg_buffer71)|0); - break; - } else { - HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; - $vararg_ptr82 = ((($vararg_buffer79)) + 4|0); - HEAP32[$vararg_ptr82>>2] = $vararg_buffer7; - $vararg_ptr83 = ((($vararg_buffer79)) + 8|0); - HEAP32[$vararg_ptr83>>2] = $4; - $vararg_ptr84 = ((($vararg_buffer79)) + 12|0); - HEAP32[$vararg_ptr84>>2] = $96; - $vararg_ptr85 = ((($vararg_buffer79)) + 16|0); - HEAP32[$vararg_ptr85>>2] = $97; - $vararg_ptr86 = ((($vararg_buffer79)) + 20|0); - HEAP32[$vararg_ptr86>>2] = $98; - $vararg_ptr87 = ((($vararg_buffer79)) + 24|0); - HEAP32[$vararg_ptr87>>2] = $99; - $vararg_ptr88 = ((($vararg_buffer79)) + 28|0); - HEAP32[$vararg_ptr88>>2] = $100; - $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); - HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,8509,$vararg_buffer79)|0); - break; - } - } - } while(0); - $110 = HEAP32[$vararg_buffer11>>2]|0; - $111 = (($110) + -1)|0; - $112 = (($37) + (($111*12)|0)|0); - $113 = HEAP32[$112>>2]|0; - $114 = (($71) + ($$0352$ph<<2)|0); - HEAP32[$114>>2] = $113; - $115 = (((($37) + (($111*12)|0)|0)) + 4|0); - $116 = HEAP32[$115>>2]|0; - $117 = (($$0352$ph) + 1)|0; - $118 = (($71) + ($117<<2)|0); - HEAP32[$118>>2] = $116; - $119 = (((($37) + (($111*12)|0)|0)) + 8|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($$0352$ph) + 2)|0; - $122 = (($71) + ($121<<2)|0); - HEAP32[$122>>2] = $120; - $123 = (($$0352$ph) + 3)|0; - $124 = HEAP32[$82>>2]|0; - $125 = (($124) + -1)|0; - $126 = (($37) + (($125*12)|0)|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($71) + ($123<<2)|0); - HEAP32[$128>>2] = $127; - $129 = (((($37) + (($125*12)|0)|0)) + 4|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($$0352$ph) + 4)|0; - $132 = (($71) + ($131<<2)|0); - HEAP32[$132>>2] = $130; - $133 = (((($37) + (($125*12)|0)|0)) + 8|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($$0352$ph) + 5)|0; - $136 = (($71) + ($135<<2)|0); - HEAP32[$136>>2] = $134; - $137 = (($$0352$ph) + 6)|0; - $138 = HEAP32[$83>>2]|0; - $139 = (($138) + -1)|0; - $140 = (($37) + (($139*12)|0)|0); - $141 = HEAP32[$140>>2]|0; - $142 = (($71) + ($137<<2)|0); - HEAP32[$142>>2] = $141; - $143 = (((($37) + (($139*12)|0)|0)) + 4|0); - $144 = HEAP32[$143>>2]|0; - $145 = (($$0352$ph) + 7)|0; - $146 = (($71) + ($145<<2)|0); - HEAP32[$146>>2] = $144; - $147 = (((($37) + (($139*12)|0)|0)) + 8|0); - $148 = HEAP32[$147>>2]|0; - $149 = (($$0352$ph) + 8)|0; - $150 = (($71) + ($149<<2)|0); - HEAP32[$150>>2] = $148; - $151 = (($$0352$ph) + 9)|0; - if ($38) { - $152 = HEAP32[$4>>2]|0; - $153 = (($152) + -1)|0; - $154 = (($$0357) + (($153*12)|0)|0); - $155 = HEAP32[$154>>2]|0; - $156 = (($75) + ($$0350$ph<<2)|0); - HEAP32[$156>>2] = $155; - $157 = (((($$0357) + (($153*12)|0)|0)) + 4|0); - $158 = HEAP32[$157>>2]|0; - $159 = (($$0350$ph) + 1)|0; - $160 = (($75) + ($159<<2)|0); - HEAP32[$160>>2] = $158; - $161 = (((($$0357) + (($153*12)|0)|0)) + 8|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($$0350$ph) + 2)|0; - $164 = (($75) + ($163<<2)|0); - HEAP32[$164>>2] = $162; - $165 = (($$0350$ph) + 3)|0; - $166 = HEAP32[$84>>2]|0; - $167 = (($166) + -1)|0; - $168 = (($$0357) + (($167*12)|0)|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($75) + ($165<<2)|0); - HEAP32[$170>>2] = $169; - $171 = (((($$0357) + (($167*12)|0)|0)) + 4|0); - $172 = HEAP32[$171>>2]|0; - $173 = (($$0350$ph) + 4)|0; - $174 = (($75) + ($173<<2)|0); - HEAP32[$174>>2] = $172; - $175 = (((($$0357) + (($167*12)|0)|0)) + 8|0); - $176 = HEAP32[$175>>2]|0; - $177 = (($$0350$ph) + 5)|0; - $178 = (($75) + ($177<<2)|0); - HEAP32[$178>>2] = $176; - $179 = (($$0350$ph) + 6)|0; - $180 = HEAP32[$85>>2]|0; - $181 = (($180) + -1)|0; - $182 = (($$0357) + (($181*12)|0)|0); - $183 = HEAP32[$182>>2]|0; - $184 = (($75) + ($179<<2)|0); - HEAP32[$184>>2] = $183; - $185 = (((($$0357) + (($181*12)|0)|0)) + 4|0); - $186 = HEAP32[$185>>2]|0; - $187 = (($$0350$ph) + 7)|0; - $188 = (($75) + ($187<<2)|0); - HEAP32[$188>>2] = $186; - $189 = (((($$0357) + (($181*12)|0)|0)) + 8|0); - $190 = HEAP32[$189>>2]|0; - $191 = (($$0350$ph) + 8)|0; - $192 = (($75) + ($191<<2)|0); - HEAP32[$192>>2] = $190; - } else { - $193 = HEAP32[$82>>2]|0; - $194 = (($193) + -1)|0; - $195 = (($37) + (($194*12)|0)|0); - $196 = HEAP32[$vararg_buffer11>>2]|0; - $197 = (($196) + -1)|0; - $198 = (($37) + (($197*12)|0)|0); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$195>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$195+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$195+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$198>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$198+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$198+8>>2]|0; - _Vector3Subtract($6,$$byval_copy102,$$byval_copy103); - $199 = HEAP32[$83>>2]|0; - $200 = (($199) + -1)|0; - $201 = (($37) + (($200*12)|0)|0); - $202 = HEAP32[$vararg_buffer11>>2]|0; - $203 = (($202) + -1)|0; - $204 = (($37) + (($203*12)|0)|0); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$201>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$201+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$201+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$204>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$204+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$204+8>>2]|0; - _Vector3Subtract($7,$$byval_copy102,$$byval_copy103); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$6+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$7+8>>2]|0; - _Vector3CrossProduct($5,$$byval_copy102,$$byval_copy103); - _Vector3Normalize($5); - $205 = HEAP32[$5>>2]|0; - $206 = (($75) + ($$0350$ph<<2)|0); - HEAP32[$206>>2] = $205; - $207 = HEAP32[$86>>2]|0; - $208 = (($$0350$ph) + 1)|0; - $209 = (($75) + ($208<<2)|0); - HEAP32[$209>>2] = $207; - $210 = HEAP32[$87>>2]|0; - $211 = (($$0350$ph) + 2)|0; - $212 = (($75) + ($211<<2)|0); - HEAP32[$212>>2] = $210; - $213 = (($$0350$ph) + 3)|0; - $214 = HEAP32[$5>>2]|0; - $215 = (($75) + ($213<<2)|0); - HEAP32[$215>>2] = $214; - $216 = HEAP32[$86>>2]|0; - $217 = (($$0350$ph) + 4)|0; - $218 = (($75) + ($217<<2)|0); - HEAP32[$218>>2] = $216; - $219 = HEAP32[$87>>2]|0; - $220 = (($$0350$ph) + 5)|0; - $221 = (($75) + ($220<<2)|0); - HEAP32[$221>>2] = $219; - $222 = (($$0350$ph) + 6)|0; - $223 = HEAP32[$5>>2]|0; - $224 = (($75) + ($222<<2)|0); - HEAP32[$224>>2] = $223; - $225 = HEAP32[$86>>2]|0; - $226 = (($$0350$ph) + 7)|0; - $227 = (($75) + ($226<<2)|0); - HEAP32[$227>>2] = $225; - $228 = HEAP32[$87>>2]|0; - $229 = (($$0350$ph) + 8)|0; - $230 = (($75) + ($229<<2)|0); - HEAP32[$230>>2] = $228; - } - $$1 = (($$0350$ph) + 9)|0; - if ($41) { - break; - } else { - $$0350$ph = $$1;$$0352$ph = $151; - } - } - $231 = HEAP32[$vararg_buffer7>>2]|0; - $232 = (($231) + -1)|0; - $233 = (($$0356) + ($232<<3)|0); - $234 = HEAP32[$233>>2]|0; - $235 = (($74) + ($$0351$ph$ph<<2)|0); - HEAP32[$235>>2] = $234; - $236 = (((($$0356) + ($232<<3)|0)) + 4|0); - $237 = +HEAPF32[$236>>2]; - $238 = 1.0 - $237; - $239 = $$0351$ph$ph | 1; - $240 = (($74) + ($239<<2)|0); - HEAPF32[$240>>2] = $238; - $241 = (($$0351$ph$ph) + 2)|0; - $242 = HEAP32[$102>>2]|0; - $243 = (($242) + -1)|0; - $244 = (($$0356) + ($243<<3)|0); - $245 = HEAP32[$244>>2]|0; - $246 = (($74) + ($241<<2)|0); - HEAP32[$246>>2] = $245; - $247 = (((($$0356) + ($243<<3)|0)) + 4|0); - $248 = +HEAPF32[$247>>2]; - $249 = 1.0 - $248; - $250 = (($$0351$ph$ph) + 3)|0; - $251 = (($74) + ($250<<2)|0); - HEAPF32[$251>>2] = $249; - $252 = (($$0351$ph$ph) + 4)|0; - $253 = HEAP32[$103>>2]|0; - $254 = (($253) + -1)|0; - $255 = (($$0356) + ($254<<3)|0); - $256 = HEAP32[$255>>2]|0; - $257 = (($74) + ($252<<2)|0); - HEAP32[$257>>2] = $256; - $258 = (((($$0356) + ($254<<3)|0)) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = 1.0 - $259; - $261 = (($$0351$ph$ph) + 5)|0; - $262 = (($74) + ($261<<2)|0); - HEAPF32[$262>>2] = $260; - $263 = (($$0351$ph$ph) + 6)|0; - $$0350$ph$ph = $$1;$$0351$ph$ph = $263;$$0352$ph$ph = $151; - } - (_fclose($15)|0); - $264 = ($$0345$ph372$lcssa389|0)==(0); - if ($264) { - $265 = ($72|0)>(0); - if ($265) { - $368 = ($$0346$ph$lcssa*24)|0; - _memset(($74|0),0,($368|0))|0; - $$sroa$64$0 = 0; - } else { - $$sroa$64$0 = 0; - } - } else { - $266 = (_malloc($70)|0); - $267 = ($69|0)>(0); - if ($267) { - $268 = ((($5)) + 4|0); - $269 = ((($5)) + 8|0); - $270 = ((($8)) + 4|0); - $271 = ((($8)) + 8|0); - $272 = ((($9)) + 4|0); - $273 = ((($9)) + 8|0); - $274 = ((($12)) + 4|0); - $275 = ((($10)) + 4|0); - $276 = ((($12)) + 8|0); - $277 = ((($10)) + 8|0); - $278 = ((($13)) + 4|0); - $279 = ((($11)) + 4|0); - $280 = ((($13)) + 8|0); - $281 = ((($11)) + 8|0); - $282 = ((($14)) + 4|0); - $283 = ((($14)) + 8|0); - $$0347392 = 0;$$0348391 = 0; - while(1) { - $284 = (($71) + ($$0348391<<2)|0); - $285 = HEAP32[$284>>2]|0; - HEAP32[$5>>2] = $285; - $286 = (($$0348391) + 1)|0; - $287 = (($71) + ($286<<2)|0); - $288 = HEAP32[$287>>2]|0; - HEAP32[$268>>2] = $288; - $289 = (($$0348391) + 2)|0; - $290 = (($71) + ($289<<2)|0); - $291 = HEAP32[$290>>2]|0; - HEAP32[$269>>2] = $291; - $292 = (($$0348391) + 3)|0; - $293 = (($71) + ($292<<2)|0); - $294 = HEAP32[$293>>2]|0; - HEAP32[$8>>2] = $294; - $295 = (($$0348391) + 4)|0; - $296 = (($71) + ($295<<2)|0); - $297 = HEAP32[$296>>2]|0; - HEAP32[$270>>2] = $297; - $298 = (($$0348391) + 5)|0; - $299 = (($71) + ($298<<2)|0); - $300 = HEAP32[$299>>2]|0; - HEAP32[$271>>2] = $300; - $301 = (($$0348391) + 6)|0; - $302 = (($71) + ($301<<2)|0); - $303 = HEAP32[$302>>2]|0; - HEAP32[$9>>2] = $303; - $304 = (($$0348391) + 7)|0; - $305 = (($71) + ($304<<2)|0); - $306 = HEAP32[$305>>2]|0; - HEAP32[$272>>2] = $306; - $307 = (($$0348391) + 8)|0; - $308 = (($71) + ($307<<2)|0); - $309 = HEAP32[$308>>2]|0; - HEAP32[$273>>2] = $309; - $310 = (($74) + ($$0347392<<2)|0); - $311 = +HEAPF32[$310>>2]; - $312 = $$0347392 | 1; - $313 = (($74) + ($312<<2)|0); - $314 = +HEAPF32[$313>>2]; - $315 = (($$0347392) + 2)|0; - $316 = (($74) + ($315<<2)|0); - $317 = +HEAPF32[$316>>2]; - $318 = (($$0347392) + 3)|0; - $319 = (($74) + ($318<<2)|0); - $320 = +HEAPF32[$319>>2]; - $321 = (($$0347392) + 4)|0; - $322 = (($74) + ($321<<2)|0); - $323 = +HEAPF32[$322>>2]; - $324 = (($$0347392) + 5)|0; - $325 = (($74) + ($324<<2)|0); - $326 = +HEAPF32[$325>>2]; - ;HEAP32[$$byval_copy102>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$8+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3Subtract($10,$$byval_copy102,$$byval_copy103); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$9+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3Subtract($11,$$byval_copy102,$$byval_copy103); - $327 = $317 - $311; - $328 = $320 - $314; - $329 = $323 - $311; - $330 = $326 - $314; - $331 = $327 * $330; - $332 = $328 * $329; - $333 = $331 - $332; - $334 = 1.0 / $333; - $335 = +HEAPF32[$10>>2]; - $336 = $330 * $335; - HEAPF32[$12>>2] = $336; - $337 = +HEAPF32[$275>>2]; - $338 = $330 * $337; - HEAPF32[$274>>2] = $338; - $339 = +HEAPF32[$277>>2]; - $340 = $330 * $339; - HEAPF32[$276>>2] = $340; - $341 = +HEAPF32[$11>>2]; - $342 = $328 * $341; - HEAPF32[$13>>2] = $342; - $343 = +HEAPF32[$279>>2]; - $344 = $328 * $343; - HEAPF32[$278>>2] = $344; - $345 = +HEAPF32[$281>>2]; - $346 = $328 * $345; - HEAPF32[$280>>2] = $346; - ;HEAP32[$$byval_copy102>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$12+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$13+8>>2]|0; - _Vector3Subtract($14,$$byval_copy102,$$byval_copy103); - _Vector3Scale($14,$334); - $347 = HEAP32[$14>>2]|0; - $348 = (($266) + ($$0348391<<2)|0); - HEAP32[$348>>2] = $347; - $349 = HEAP32[$282>>2]|0; - $350 = (($266) + ($286<<2)|0); - HEAP32[$350>>2] = $349; - $351 = HEAP32[$283>>2]|0; - $352 = (($266) + ($289<<2)|0); - HEAP32[$352>>2] = $351; - $353 = HEAP32[$14>>2]|0; - $354 = (($266) + ($292<<2)|0); - HEAP32[$354>>2] = $353; - $355 = HEAP32[$282>>2]|0; - $356 = (($266) + ($295<<2)|0); - HEAP32[$356>>2] = $355; - $357 = HEAP32[$283>>2]|0; - $358 = (($266) + ($298<<2)|0); - HEAP32[$358>>2] = $357; - $359 = HEAP32[$14>>2]|0; - $360 = (($266) + ($301<<2)|0); - HEAP32[$360>>2] = $359; - $361 = HEAP32[$282>>2]|0; - $362 = (($266) + ($304<<2)|0); - HEAP32[$362>>2] = $361; - $363 = HEAP32[$283>>2]|0; - $364 = (($266) + ($307<<2)|0); - HEAP32[$364>>2] = $363; - $365 = (($$0348391) + 9)|0; - $366 = (($$0347392) + 6)|0; - $367 = ($365|0)<($69|0); - if ($367) { - $$0347392 = $366;$$0348391 = $365; - } else { - $$sroa$64$0 = $266; - break; - } - } - } else { - $$sroa$64$0 = $266; - } - } - _free($37); - _free($369); - _free($370); - HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,8536,$vararg_buffer90); - HEAP32[$0>>2] = $68; - $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; - $$sroa$12247$0$$sroa_idx249 = ((($0)) + 8|0); - HEAP32[$$sroa$12247$0$$sroa_idx249>>2] = $71; - $$sroa$31$0$$sroa_idx270 = ((($0)) + 12|0); - HEAP32[$$sroa$31$0$$sroa_idx270>>2] = $74; - $$sroa$45$0$$sroa_idx286 = ((($0)) + 16|0); - HEAP32[$$sroa$45$0$$sroa_idx286>>2] = 0; - $$sroa$45289$0$$sroa_idx291 = ((($0)) + 20|0); - HEAP32[$$sroa$45289$0$$sroa_idx291>>2] = $75; - $$sroa$64$0$$sroa_idx312 = ((($0)) + 24|0); - HEAP32[$$sroa$64$0$$sroa_idx312>>2] = $$sroa$64$0; - $$sroa$74$0$$sroa_idx324 = ((($0)) + 28|0); - HEAP32[$$sroa$74$0$$sroa_idx324>>2] = 0; - $$sroa$75$0$$sroa_idx328 = ((($0)) + 32|0); - dest=$$sroa$75$0$$sroa_idx328; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlLoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = ((($0)) + 36|0); - $3 = ((($0)) + 40|0); - $4 = ((($0)) + 44|0); - $5 = ((($0)) + 48|0); - $6 = ((($0)) + 52|0); - $7 = ((($0)) + 56|0); - $8 = ((($0)) + 60|0); - $9 = ((($0)) + 64|0); - $10 = ($1|0)!=(0); - $$ = $10 ? 35048 : 35044; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $11 = HEAP32[5036]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = HEAP32[5462]|0; - FUNCTION_TABLE_vii[$13 & 63](1,$2); - $14 = HEAP32[5037]|0; - $15 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vi[$14 & 31]($15); - } - _glGenBuffers(1,($3|0)); - $16 = HEAP32[$3>>2]|0; - _glBindBuffer(34962,($16|0)); - $17 = HEAP32[$0>>2]|0; - $18 = ($17*12)|0; - $19 = ((($0)) + 8|0); - $20 = HEAP32[$19>>2]|0; - _glBufferData(34962,($18|0),($20|0),($$|0)); - _glVertexAttribPointer(0,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(0); - _glGenBuffers(1,($4|0)); - $21 = HEAP32[$4>>2]|0; - _glBindBuffer(34962,($21|0)); - $22 = HEAP32[$0>>2]|0; - $23 = $22 << 3; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - _glBufferData(34962,($23|0),($25|0),($$|0)); - _glVertexAttribPointer(1,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(1); - $26 = ((($0)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - _glVertexAttrib3f(2,1.0,1.0,1.0); - _glDisableVertexAttribArray(2); - } else { - _glGenBuffers(1,($5|0)); - $29 = HEAP32[$5>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[$0>>2]|0; - $31 = ($30*12)|0; - $32 = HEAP32[$26>>2]|0; - _glBufferData(34962,($31|0),($32|0),($$|0)); - _glVertexAttribPointer(2,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(2); - } - $33 = ((($0)) + 28|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - _glVertexAttrib4f(3,1.0,1.0,1.0,1.0); - _glDisableVertexAttribArray(3); - } else { - _glGenBuffers(1,($6|0)); - $36 = HEAP32[$6>>2]|0; - _glBindBuffer(34962,($36|0)); - $37 = HEAP32[$0>>2]|0; - $38 = $37 << 2; - $39 = HEAP32[$33>>2]|0; - _glBufferData(34962,($38|0),($39|0),($$|0)); - _glVertexAttribPointer(3,4,5121,1,0,(0|0)); - _glEnableVertexAttribArray(3); - } - $40 = ((($0)) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - _glVertexAttrib3f(4,0.0,0.0,0.0); - _glDisableVertexAttribArray(4); - } else { - _glGenBuffers(1,($7|0)); - $43 = HEAP32[$7>>2]|0; - _glBindBuffer(34962,($43|0)); - $44 = HEAP32[$0>>2]|0; - $45 = ($44*12)|0; - $46 = HEAP32[$40>>2]|0; - _glBufferData(34962,($45|0),($46|0),($$|0)); - _glVertexAttribPointer(4,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(4); - } - $47 = ((($0)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - _glVertexAttrib2f(5,0.0,0.0); - _glDisableVertexAttribArray(5); - } else { - _glGenBuffers(1,($8|0)); - $50 = HEAP32[$8>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[$0>>2]|0; - $52 = $51 << 3; - $53 = HEAP32[$47>>2]|0; - _glBufferData(34962,($52|0),($53|0),($$|0)); - _glVertexAttribPointer(5,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(5); - } - $54 = ((($0)) + 32|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==(0|0); - if (!($56)) { - _glGenBuffers(1,($9|0)); - $57 = HEAP32[$9>>2]|0; - _glBindBuffer(34963,($57|0)); - $58 = ((($0)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59*6)|0; - $61 = HEAP32[$54>>2]|0; - _glBufferData(34963,($60|0),($61|0),35044); - } - $62 = HEAP32[5036]|0; - $63 = ($62|0)==(0); - if ($63) { - _TraceLog(0,8182,$vararg_buffer3); - STACKTOP = sp;return; - } - $64 = HEAP32[$2>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - _TraceLog(1,8141,$vararg_buffer1); - STACKTOP = sp;return; - } else { - HEAP32[$vararg_buffer>>2] = $64; - _TraceLog(0,8088,$vararg_buffer); - STACKTOP = sp;return; - } -} -function _Vector3Subtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - HEAPF32[$12>>2] = $17; - return; -} -function _Vector3CrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _Vector3Scale($0,$1) { - $0 = $0|0; - $1 = +$1; - var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = $2 * $1; - HEAPF32[$0>>2] = $3; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $5 * $1; - HEAPF32[$4>>2] = $6; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $1; - HEAPF32[$7>>2] = $9; - return; -} -function _UnloadModel($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0); - $$byval_copy = sp + 8|0; - $vararg_buffer = sp; - _UnloadMesh($0); - $1 = ((($0)) + 132|0); - _memcpy(($$byval_copy|0),($1|0),472)|0; - _UnloadMaterial($$byval_copy); - _TraceLog(0,8580,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadMesh($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _rlUnloadMesh($0); - return; -} -function _UnloadMaterial($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp; - _memcpy(($$byval_copy|0),($0|0),132)|0; - _UnloadShader($$byval_copy); - $1 = ((($0)) + 132|0); - $2 = HEAP32[$1>>2]|0; - _rlDeleteTextures($2); - $3 = ((($0)) + 160|0); - $4 = HEAP32[$3>>2]|0; - _rlDeleteTextures($4); - $5 = ((($0)) + 188|0); - $6 = HEAP32[$5>>2]|0; - _rlDeleteTextures($6); - $7 = ((($0)) + 216|0); - $8 = HEAP32[$7>>2]|0; - _rlDeleteTextures($8); - $9 = ((($0)) + 244|0); - $10 = HEAP32[$9>>2]|0; - _rlDeleteTextures($10); - $11 = ((($0)) + 272|0); - $12 = HEAP32[$11>>2]|0; - _rlDeleteTextures($12); - $13 = ((($0)) + 300|0); - $14 = HEAP32[$13>>2]|0; - _rlDeleteTextures($14); - $15 = ((($0)) + 328|0); - $16 = HEAP32[$15>>2]|0; - _rlDeleteTextures($16); - $17 = ((($0)) + 356|0); - $18 = HEAP32[$17>>2]|0; - _rlDeleteTextures($18); - $19 = ((($0)) + 384|0); - $20 = HEAP32[$19>>2]|0; - _rlDeleteTextures($20); - $21 = ((($0)) + 412|0); - $22 = HEAP32[$21>>2]|0; - _rlDeleteTextures($22); - $23 = ((($0)) + 440|0); - $24 = HEAP32[$23>>2]|0; - _rlDeleteTextures($24); - STACKTOP = sp;return; -} -function _UnloadShader($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteShader($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8638,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteShader($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0); - if ($1) { - return; - } - _glDeleteProgram(($0|0)); - return; -} -function _rlUnloadMesh($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - _free($2); - } - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - _free($8); - } - $10 = ((($0)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if (!($12)) { - _free($11); - } - $13 = ((($0)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - _free($14); - } - $16 = ((($0)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _free($17); - } - $19 = ((($0)) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0|0); - if (!($21)) { - _free($20); - } - $22 = ((($0)) + 40|0); - $23 = HEAP32[$22>>2]|0; - _rlDeleteBuffers($23); - $24 = ((($0)) + 44|0); - $25 = HEAP32[$24>>2]|0; - _rlDeleteBuffers($25); - $26 = ((($0)) + 48|0); - $27 = HEAP32[$26>>2]|0; - _rlDeleteBuffers($27); - $28 = ((($0)) + 52|0); - $29 = HEAP32[$28>>2]|0; - _rlDeleteBuffers($29); - $30 = ((($0)) + 56|0); - $31 = HEAP32[$30>>2]|0; - _rlDeleteBuffers($31); - $32 = ((($0)) + 60|0); - $33 = HEAP32[$32>>2]|0; - _rlDeleteBuffers($33); - $34 = ((($0)) + 64|0); - $35 = HEAP32[$34>>2]|0; - _rlDeleteBuffers($35); - $36 = ((($0)) + 36|0); - $37 = HEAP32[$36>>2]|0; - _rlDeleteVertexArrays($37); - return; -} -function _rlDeleteBuffers($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[5036]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - _TraceLog(0,8728,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteVertexArrays($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = HEAP32[5036]|0; - $3 = ($2|0)==(0); - if ($3) { - STACKTOP = sp;return; - } - $4 = ($0|0)==(0); - if (!($4)) { - $5 = HEAP32[5463]|0; - FUNCTION_TABLE_vii[$5 & 63](1,$1); - } - $6 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,8680,$vararg_buffer); - STACKTOP = sp;return; -} -function _DrawModel($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy4 = sp + 664|0; - $$byval_copy3 = sp + 652|0; - $$byval_copy2 = sp + 640|0; - $$byval_copy1 = sp + 628|0; - $$byval_copy = sp + 24|0; - $4 = sp + 12|0; - $5 = sp; - HEAPF32[$4>>2] = $2; - $6 = ((($4)) + 4|0); - HEAPF32[$6>>2] = $2; - $7 = ((($4)) + 8|0); - HEAPF32[$7>>2] = $2; - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; - _memcpy(($$byval_copy|0),($0|0),604)|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawModelEx($$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$$byval_copy3,$$byval_copy4); - STACKTOP = sp;return; -} -function _DrawModelEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 992|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(992|0); - $$byval_copy9 = sp + 928|0; - $$byval_copy8 = sp + 456|0; - $$byval_copy7 = sp + 384|0; - $6 = sp + 192|0; - $7 = sp + 128|0; - $8 = sp + 64|0; - $9 = sp; - $10 = sp + 320|0; - $11 = sp + 256|0; - $12 = +HEAPF32[$4>>2]; - $13 = ((($4)) + 4|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($4)) + 8|0); - $16 = +HEAPF32[$15>>2]; - _MatrixScale($6,$12,$14,$16); - $17 = $3 * 0.01745329238474369; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$2+8>>2]|0; - _MatrixRotate($7,$$byval_copy9,$17); - $18 = +HEAPF32[$1>>2]; - $19 = ((($1)) + 4|0); - $20 = +HEAPF32[$19>>2]; - $21 = ((($1)) + 8|0); - $22 = +HEAPF32[$21>>2]; - _MatrixTranslate($8,$18,$20,$22); - dest=$$byval_copy8; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($10,$$byval_copy8,$$byval_copy9); - dest=$$byval_copy8; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($9,$$byval_copy8,$$byval_copy9); - $23 = ((($0)) + 68|0); - dest=$$byval_copy8; src=$23; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$9; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($11,$$byval_copy8,$$byval_copy9); - dest=$23; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $24 = ((($0)) + 132|0); - $25 = ((($0)) + 284|0); - $26 = HEAPU8[$5>>0]|(HEAPU8[$5+1>>0]<<8)|(HEAPU8[$5+2>>0]<<16)|(HEAPU8[$5+3>>0]<<24); - HEAP32[$25>>2] = $26; - dest=$$byval_copy7; src=$0; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _memcpy(($$byval_copy8|0),($24|0),472)|0; - dest=$$byval_copy9; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlDrawMesh($$byval_copy7,$$byval_copy8,$$byval_copy9); - STACKTOP = sp;return; -} -function _rlDrawMesh($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0$off = 0, $$03539 = 0, $$036$off = 0, $$03640 = 0, $$038 = 0, $$byval_copy10 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $exitcond = 0, $exitcond42 = 0, $modelview$byval_copy8 = 0, $switch = 0, $switch37 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(464|0); - $$byval_copy10 = sp + 392|0; - $modelview$byval_copy8 = sp + 256|0; - $3 = sp + 192|0; - $4 = sp + 128|0; - $5 = sp + 64|0; - $6 = sp; - $7 = HEAP32[$1>>2]|0; - _glUseProgram(($7|0)); - $8 = ((($1)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(-1); - if (!($10)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$9,$$byval_copy10); - } - $11 = ((($1)) + 48|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(-1); - if (!($13)) { - $14 = ((($1)) + 152|0); - $15 = HEAP8[$14>>0]|0; - $16 = (+($15&255)); - $17 = $16 / 255.0; - $18 = ((($1)) + 153|0); - $19 = HEAP8[$18>>0]|0; - $20 = (+($19&255)); - $21 = $20 / 255.0; - $22 = ((($1)) + 154|0); - $23 = HEAP8[$22>>0]|0; - $24 = (+($23&255)); - $25 = $24 / 255.0; - $26 = ((($1)) + 155|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 / 255.0; - _glUniform4f(($12|0),(+$17),(+$21),(+$25),(+$29)); - } - $30 = ((($1)) + 52|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(-1); - if (!($32)) { - $33 = ((($1)) + 180|0); - $34 = HEAP8[$33>>0]|0; - $35 = (+($34&255)); - $36 = $35 / 255.0; - $37 = ((($1)) + 181|0); - $38 = HEAP8[$37>>0]|0; - $39 = (+($38&255)); - $40 = $39 / 255.0; - $41 = ((($1)) + 182|0); - $42 = HEAP8[$41>>0]|0; - $43 = (+($42&255)); - $44 = $43 / 255.0; - $45 = ((($1)) + 183|0); - $46 = HEAP8[$45>>0]|0; - $47 = (+($46&255)); - $48 = $47 / 255.0; - _glUniform4f(($31|0),(+$36),(+$40),(+$44),(+$48)); - } - $49 = ((($1)) + 36|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(-1); - if (!($51)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=19836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$50,$$byval_copy10); - } - $52 = ((($1)) + 40|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==(-1); - if (!($54)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=19772; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$53,$$byval_copy10); - } - dest=$3; src=19836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=19772; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelview$byval_copy8; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=19836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($5,$modelview$byval_copy8,$$byval_copy10); - $$03640 = 0; - while(1) { - $57 = (((($1)) + 132|0) + (($$03640*28)|0)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = (($$03640) + 33984)|0; - _glActiveTexture(($60|0)); - $61 = HEAP32[$57>>2]|0; - $$036$off = (($$03640) + -7)|0; - $switch = ($$036$off>>>0)<(3); - if ($switch) { - _glBindTexture(34067,($61|0)); - } else { - _glBindTexture(3553,($61|0)); - } - $62 = (($$03640) + 14)|0; - $63 = (((($1)) + 4|0) + ($62<<2)|0); - $64 = HEAP32[$63>>2]|0; - _glUniform1i(($64|0),($$03640|0)); - } - $65 = (($$03640) + 1)|0; - $exitcond42 = ($65|0)==(12); - if ($exitcond42) { - break; - } else { - $$03640 = $65; - } - } - $55 = HEAP32[5036]|0; - $56 = ($55|0)==(0); - if ($56) { - $69 = ((($0)) + 40|0); - $70 = HEAP32[$69>>2]|0; - _glBindBuffer(34962,($70|0)); - $71 = ((($1)) + 4|0); - $72 = HEAP32[$71>>2]|0; - _glVertexAttribPointer(($72|0),3,5126,0,0,(0|0)); - $73 = HEAP32[$71>>2]|0; - _glEnableVertexAttribArray(($73|0)); - $74 = ((($0)) + 44|0); - $75 = HEAP32[$74>>2]|0; - _glBindBuffer(34962,($75|0)); - $76 = ((($1)) + 8|0); - $77 = HEAP32[$76>>2]|0; - _glVertexAttribPointer(($77|0),2,5126,0,0,(0|0)); - $78 = HEAP32[$76>>2]|0; - _glEnableVertexAttribArray(($78|0)); - $79 = ((($1)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(-1); - if (!($81)) { - $82 = ((($0)) + 48|0); - $83 = HEAP32[$82>>2]|0; - _glBindBuffer(34962,($83|0)); - $84 = HEAP32[$79>>2]|0; - _glVertexAttribPointer(($84|0),3,5126,0,0,(0|0)); - $85 = HEAP32[$79>>2]|0; - _glEnableVertexAttribArray(($85|0)); - } - $86 = ((($1)) + 24|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(-1); - do { - if (!($88)) { - $89 = ((($0)) + 52|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - _glVertexAttrib4f(($87|0),1.0,1.0,1.0,1.0); - $94 = HEAP32[$86>>2]|0; - _glDisableVertexAttribArray(($94|0)); - break; - } else { - _glBindBuffer(34962,($90|0)); - $92 = HEAP32[$86>>2]|0; - _glVertexAttribPointer(($92|0),4,5121,1,0,(0|0)); - $93 = HEAP32[$86>>2]|0; - _glEnableVertexAttribArray(($93|0)); - break; - } - } - } while(0); - $95 = ((($1)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==(-1); - if (!($97)) { - $98 = ((($0)) + 56|0); - $99 = HEAP32[$98>>2]|0; - _glBindBuffer(34962,($99|0)); - $100 = HEAP32[$95>>2]|0; - _glVertexAttribPointer(($100|0),3,5126,0,0,(0|0)); - $101 = HEAP32[$95>>2]|0; - _glEnableVertexAttribArray(($101|0)); - } - $102 = ((($1)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)==(-1); - if (!($104)) { - $105 = ((($0)) + 60|0); - $106 = HEAP32[$105>>2]|0; - _glBindBuffer(34962,($106|0)); - $107 = HEAP32[$102>>2]|0; - _glVertexAttribPointer(($107|0),2,5126,0,0,(0|0)); - $108 = HEAP32[$102>>2]|0; - _glEnableVertexAttribArray(($108|0)); - } - $109 = ((($0)) + 32|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if (!($111)) { - $112 = ((($0)) + 64|0); - $113 = HEAP32[$112>>2]|0; - _glBindBuffer(34963,($113|0)); - } - } else { - $66 = HEAP32[5037]|0; - $67 = ((($0)) + 36|0); - $68 = HEAP32[$67>>2]|0; - FUNCTION_TABLE_vi[$66 & 31]($68); - } - $114 = HEAP32[4975]|0; - $115 = ($114|0)!=(0); - $$ = $115 ? 2 : 1; - $116 = ((($1)) + 28|0); - $117 = ((($0)) + 32|0); - $118 = HEAP32[$0>>2]|0; - $119 = ((($0)) + 4|0); - $$03539 = 0; - while(1) { - if ($115) { - dest=$modelview$byval_copy8; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$03539,$modelview$byval_copy8,$$byval_copy10); - } else { - dest=19836; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - dest=$modelview$byval_copy8; src=19836; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=19772; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($6,$modelview$byval_copy8,$$byval_copy10); - $120 = HEAP32[$116>>2]|0; - dest=$$byval_copy10; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $121 = (_MatrixToFloat($$byval_copy10)|0); - _glUniformMatrix4fv(($120|0),1,0,($121|0)); - $122 = HEAP32[$117>>2]|0; - $123 = ($122|0)==(0|0); - if ($123) { - _glDrawArrays(4,0,($118|0)); - } else { - $124 = HEAP32[$119>>2]|0; - $125 = ($124*3)|0; - _glDrawElements(4,($125|0),5123,(0|0)); - } - $126 = (($$03539) + 1)|0; - $127 = ($126|0)<($$|0); - if ($127) { - $$03539 = $126; - } else { - $$038 = 0; - break; - } - } - while(1) { - $130 = (($$038) + 33984)|0; - _glActiveTexture(($130|0)); - $$0$off = (($$038) + -7)|0; - $switch37 = ($$0$off>>>0)<(3); - if ($switch37) { - _glBindTexture(34067,0); - } else { - _glBindTexture(3553,0); - } - $131 = (($$038) + 1)|0; - $exitcond = ($131|0)==(12); - if ($exitcond) { - break; - } else { - $$038 = $131; - } - } - $128 = HEAP32[5036]|0; - $129 = ($128|0)==(0); - if (!($129)) { - $132 = HEAP32[5037]|0; - FUNCTION_TABLE_vi[$132 & 31](0); - _glUseProgram(0); - dest=19772; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19836; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34962,0); - $133 = ((($0)) + 32|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0|0); - if ($135) { - _glUseProgram(0); - dest=19772; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19836; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34963,0); - _glUseProgram(0); - dest=19772; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19836; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetShaderValueMatrix($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $3 = 0, $4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $3 = HEAP32[$0>>2]|0; - _glUseProgram(($3|0)); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $4 = (_MatrixToFloat($$byval_copy)|0); - _glUniformMatrix4fv(($1|0),1,0,($4|0)); - STACKTOP = sp;return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 116|0; - $$byval_copy4 = sp + 104|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($6,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($6); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($7,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($7); - $8 = HEAP32[$6>>2]|0; - HEAP32[$4>>2] = $8; - $9 = ((($6)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($4)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($4)) + 32|0); - HEAP32[$14>>2] = $13; - $15 = ((($4)) + 48|0); - HEAPF32[$15>>2] = 0.0; - $16 = HEAP32[$7>>2]|0; - $17 = ((($4)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = ((($7)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($4)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ((($7)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($4)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = ((($4)) + 52|0); - HEAPF32[$24>>2] = 0.0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($4)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = ((($5)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($4)) + 24|0); - HEAP32[$29>>2] = $28; - $30 = ((($5)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = $31; - $33 = ((($4)) + 56|0); - HEAPF32[$33>>2] = 0.0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($4)) + 12|0); - HEAP32[$35>>2] = $34; - $36 = ((($1)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($4)) + 28|0); - HEAP32[$38>>2] = $37; - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($4)) + 44|0); - HEAP32[$41>>2] = $40; - $42 = ((($4)) + 60|0); - HEAPF32[$42>>2] = 1.0; - _MatrixInvert($4); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _Vector3Add($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 + $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 + $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 + $16; - HEAPF32[$12>>2] = $17; - return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _DrawBoundingBox($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy1 = sp + 24|0; - $$byval_copy = sp + 12|0; - $2 = sp; - $3 = ((($0)) + 12|0); - $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$0>>2]; - $6 = $4 - $5; - $7 = (+Math_abs((+$6))); - $8 = ((($0)) + 16|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 - $11; - $13 = (+Math_abs((+$12))); - $14 = ((($0)) + 20|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = $15 - $17; - $19 = (+Math_abs((+$18))); - $20 = +HEAPF32[$0>>2]; - $21 = $7 * 0.5; - $22 = $21 + $20; - HEAPF32[$2>>2] = $22; - $23 = ((($2)) + 4|0); - $24 = +HEAPF32[$10>>2]; - $25 = $13 * 0.5; - $26 = $25 + $24; - HEAPF32[$23>>2] = $26; - $27 = ((($2)) + 8|0); - $28 = +HEAPF32[$16>>2]; - $29 = $19 * 0.5; - $30 = $29 + $28; - HEAPF32[$27>>2] = $30; - ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; - _DrawCubeWires($$byval_copy,$7,$13,$19,$$byval_copy1); - STACKTOP = sp;return; -} -function _Vector3DotProduct($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 * $3; - $5 = ((($0)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 * $8; - $10 = $4 + $9; - $11 = ((($0)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 * $14; - $16 = $10 + $15; - return (+$16); -} -function _CheckCollisionRayBox($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; - var $29 = 0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $fmaxf = 0.0, $fmaxf19 = 0.0, $fmaxf20 = 0.0; - var $fmaxf21 = 0.0, $fmaxf23 = 0.0, $fminf = 0.0, $fminf17 = 0.0, $fminf18 = 0.0, $fminf22 = 0.0, $fminf24 = 0.0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($0)) + 12|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 / $6; - $8 = ((($1)) + 12|0); - $9 = +HEAPF32[$8>>2]; - $10 = $9 - $3; - $11 = $10 / $6; - $12 = ((($1)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 - $15; - $17 = ((($0)) + 16|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 / $18; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $21 - $15; - $23 = $22 / $18; - $24 = ((($1)) + 8|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 8|0); - $27 = +HEAPF32[$26>>2]; - $28 = $25 - $27; - $29 = ((($0)) + 20|0); - $30 = +HEAPF32[$29>>2]; - $31 = $28 / $30; - $32 = ((($1)) + 20|0); - $33 = +HEAPF32[$32>>2]; - $34 = $33 - $27; - $35 = $34 / $30; - $fmaxf20 = (+_fmaxf($7,$11)); - $fmaxf21 = (+_fmaxf($19,$23)); - $fminf22 = (+_fminf($fmaxf20,$fmaxf21)); - $fmaxf23 = (+_fmaxf($31,$35)); - $fminf24 = (+_fminf($fminf22,$fmaxf23)); - $36 = $fminf24 < 0.0; - if ($36) { - $38 = 0; - $37 = $38&1; - return ($37|0); - } - $fminf = (+_fminf($7,$11)); - $fminf17 = (+_fminf($19,$23)); - $fmaxf = (+_fmaxf($fminf,$fminf17)); - $fminf18 = (+_fminf($31,$35)); - $fmaxf19 = (+_fmaxf($fmaxf,$fminf18)); - $phitmp = !($fmaxf19 > $fminf24); - $38 = $phitmp; - $37 = $38&1; - return ($37|0); -} -function _GetCollisionRayMesh($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$051 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0$lcssa = 0, $$sroa$0$050 = 0, $$sroa$0$1 = 0, $$sroa$7$0$$sroa_idx23 = 0, $$sroa$7$0$$sroa_idx26 = 0, $$sroa$7$0$lcssa = 0.0, $$sroa$7$052 = 0.0, $$sroa$7$1 = 0.0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx31 = 0, $$sroa$8$0$$sroa_idx34 = 0, $10 = 0, $11 = 0, $12 = 0; - var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 144|0; - $$byval_copy2 = sp + 132|0; - $$byval_copy1 = sp + 120|0; - $$byval_copy = sp + 96|0; - $$sroa$8 = sp; - $3 = sp + 80|0; - $4 = sp + 68|0; - $5 = sp + 56|0; - $6 = sp + 24|0; - ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0; - $7 = ((($2)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$0>>2] = 0; - $$sroa$7$0$$sroa_idx23 = ((($0)) + 4|0); - HEAPF32[$$sroa$7$0$$sroa_idx23>>2] = 0.0; - $$sroa$8$0$$sroa_idx = ((($0)) + 8|0); - ;HEAP32[$$sroa$8$0$$sroa_idx>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+20>>2]=HEAP32[$$sroa$8+20>>2]|0; - STACKTOP = sp;return; - } - $10 = HEAP32[$2>>2]|0; - $11 = (($10|0) / 3)&-1; - $12 = ($10|0)>(2); - if ($12) { - $13 = ((($2)) + 32|0); - $14 = ((($6)) + 4|0); - $$sroa$8$0$$sroa_idx31 = ((($6)) + 8|0); - $$051 = 0;$$sroa$0$050 = 0;$$sroa$7$052 = 0.0; - while(1) { - $15 = HEAP32[$7>>2]|0; - $16 = HEAP32[$13>>2]|0; - $17 = ($16|0)==(0|0); - $18 = ($$051*3)|0; - if ($17) { - $35 = (($15) + (($18*12)|0)|0); - ;HEAP32[$3>>2]=HEAP32[$35>>2]|0;HEAP32[$3+4>>2]=HEAP32[$35+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$35+8>>2]|0; - $36 = (($18) + 1)|0; - $37 = (($15) + (($36*12)|0)|0); - ;HEAP32[$4>>2]=HEAP32[$37>>2]|0;HEAP32[$4+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$37+8>>2]|0; - $38 = (($18) + 2)|0; - $39 = (($15) + (($38*12)|0)|0); - ;HEAP32[$5>>2]=HEAP32[$39>>2]|0;HEAP32[$5+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$39+8>>2]|0; - } else { - $19 = (($16) + ($18<<1)|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = (($15) + (($21*12)|0)|0); - ;HEAP32[$3>>2]=HEAP32[$22>>2]|0;HEAP32[$3+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$22+8>>2]|0; - $23 = HEAP32[$13>>2]|0; - $24 = (($18) + 1)|0; - $25 = (($23) + ($24<<1)|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = (($15) + (($27*12)|0)|0); - ;HEAP32[$4>>2]=HEAP32[$28>>2]|0;HEAP32[$4+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$28+8>>2]|0; - $29 = HEAP32[$13>>2]|0; - $30 = (($18) + 2)|0; - $31 = (($29) + ($30<<1)|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32&65535; - $34 = (($15) + (($33*12)|0)|0); - ;HEAP32[$5>>2]=HEAP32[$34>>2]|0;HEAP32[$5+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$34+8>>2]|0; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$5+8>>2]|0; - _GetCollisionRayTriangle($6,$$byval_copy,$$byval_copy1,$$byval_copy2,$$byval_copy3); - $40 = HEAP32[$6>>2]|0; - $41 = ($40|0)==(0); - if ($41) { - $$sroa$0$1 = $$sroa$0$050;$$sroa$7$1 = $$sroa$7$052; - } else { - $42 = ($$sroa$0$050|0)==(0); - $43 = +HEAPF32[$14>>2]; - $44 = $$sroa$7$052 > $43; - $or$cond = $42 | $44; - if ($or$cond) { - ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx31>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+20>>2]|0; - $$sroa$0$1 = $40;$$sroa$7$1 = $43; - } else { - $$sroa$0$1 = $$sroa$0$050;$$sroa$7$1 = $$sroa$7$052; - } - } - $45 = (($$051) + 1)|0; - $46 = ($45|0)<($11|0); - if ($46) { - $$051 = $45;$$sroa$0$050 = $$sroa$0$1;$$sroa$7$052 = $$sroa$7$1; - } else { - $$sroa$0$0$lcssa = $$sroa$0$1;$$sroa$7$0$lcssa = $$sroa$7$1; - break; - } - } - } else { - $$sroa$0$0$lcssa = 0;$$sroa$7$0$lcssa = 0.0; - } - HEAP32[$0>>2] = $$sroa$0$0$lcssa; - $$sroa$7$0$$sroa_idx26 = ((($0)) + 4|0); - HEAPF32[$$sroa$7$0$$sroa_idx26>>2] = $$sroa$7$0$lcssa; - $$sroa$8$0$$sroa_idx34 = ((($0)) + 8|0); - ;HEAP32[$$sroa$8$0$$sroa_idx34>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+20>>2]=HEAP32[$$sroa$8+20>>2]|0; - STACKTOP = sp;return; -} -function _GetCollisionRayTriangle($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy20 = 0, $$byval_copy21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0; - var $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond24 = 0; - var $or$cond26 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $$byval_copy21 = sp + 204|0; - $$byval_copy20 = sp + 192|0; - $5 = sp + 96|0; - $6 = sp + 84|0; - $7 = sp + 72|0; - $8 = sp + 60|0; - $9 = sp + 48|0; - $10 = sp + 16|0; - $11 = sp + 180|0; - $12 = sp + 168|0; - $13 = sp + 156|0; - $14 = sp + 144|0; - $15 = sp + 132|0; - $16 = sp + 120|0; - $17 = sp; - $18 = sp + 108|0; - ;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0;HEAP32[$10+12>>2]=0|0;HEAP32[$10+16>>2]=0|0;HEAP32[$10+20>>2]=0|0;HEAP32[$10+24>>2]=0|0;HEAP32[$10+28>>2]=0|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($11,$$byval_copy20,$$byval_copy21); - ;HEAP32[$5>>2]=HEAP32[$11>>2]|0;HEAP32[$5+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$11+8>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($12,$$byval_copy20,$$byval_copy21); - ;HEAP32[$6>>2]=HEAP32[$12>>2]|0;HEAP32[$6+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$12+8>>2]|0; - $19 = ((($1)) + 12|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$19+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$12+8>>2]|0; - _Vector3CrossProduct($13,$$byval_copy20,$$byval_copy21); - ;HEAP32[$7>>2]=HEAP32[$13>>2]|0;HEAP32[$7+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$13+8>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$13+8>>2]|0; - $20 = (+_Vector3DotProduct($$byval_copy20,$$byval_copy21)); - $21 = $20; - $22 = $21 > -9.9999999999999995E-7; - $23 = $21 < 9.9999999999999995E-7; - $or$cond24 = $22 & $23; - if ($or$cond24) { - ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; - STACKTOP = sp;return; - } - $24 = 1.0 / $20; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($14,$$byval_copy20,$$byval_copy21); - ;HEAP32[$9>>2]=HEAP32[$14>>2]|0;HEAP32[$9+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$14+8>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$14+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$7+8>>2]|0; - $25 = (+_Vector3DotProduct($$byval_copy20,$$byval_copy21)); - $26 = $24 * $25; - $27 = $26 < 0.0; - $28 = $26 > 1.0; - $or$cond = $27 | $28; - if ($or$cond) { - ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy20>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$9+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($15,$$byval_copy20,$$byval_copy21); - ;HEAP32[$8>>2]=HEAP32[$15>>2]|0;HEAP32[$8+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$15+8>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$19+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$15+8>>2]|0; - $29 = (+_Vector3DotProduct($$byval_copy20,$$byval_copy21)); - $30 = $24 * $29; - $31 = $30 < 0.0; - $32 = $26 + $30; - $33 = $32 > 1.0; - $or$cond26 = $31 | $33; - if ($or$cond26) { - ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy20>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$6+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$8+8>>2]|0; - $34 = (+_Vector3DotProduct($$byval_copy20,$$byval_copy21)); - $35 = $24 * $34; - $36 = $35; - $37 = $36 > 9.9999999999999995E-7; - if ($37) { - $38 = ((($10)) + 4|0); - HEAPF32[$38>>2] = $35; - HEAP32[$10>>2] = 1; - $39 = ((($10)) + 20|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($16,$$byval_copy20,$$byval_copy21); - ;HEAP32[$39>>2]=HEAP32[$16>>2]|0;HEAP32[$39+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$39+8>>2]=HEAP32[$16+8>>2]|0; - _Vector3Normalize($39); - ;HEAP32[$17>>2]=HEAP32[$19>>2]|0;HEAP32[$17+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$17+8>>2]=HEAP32[$19+8>>2]|0; - _Vector3Scale($17,$35); - $40 = ((($10)) + 8|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$17+8>>2]|0; - _Vector3Add($18,$$byval_copy20,$$byval_copy21); - ;HEAP32[$40>>2]=HEAP32[$18>>2]|0;HEAP32[$40+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$40+8>>2]=HEAP32[$18+8>>2]|0; - } - ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; - STACKTOP = sp;return; -} -function _GetCollisionRayGround($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$06$1 = 0, $$sroa$5$0$$sroa_idx8 = 0, $$sroa$5$1 = 0.0, $$sroa$6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$7$0$$sroa_idx13 = 0, $$sroa$8$0$$sroa_idx15 = 0, $$sroa$8$1 = 0.0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 48|0; - $$byval_copy = sp + 36|0; - $$sroa$6 = sp; - $3 = sp + 24|0; - $4 = sp + 12|0; - ;HEAP32[$$sroa$6>>2]=0|0;HEAP32[$$sroa$6+4>>2]=0|0;HEAP32[$$sroa$6+8>>2]=0|0; - $5 = ((($1)) + 12|0); - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = (+Math_abs((+$7))); - $9 = $8; - $10 = $9 > 9.9999999999999995E-7; - if ($10) { - $11 = ((($1)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $12 - $2; - $14 = -$7; - $15 = $13 / $14; - $16 = !($15 >= 0.0); - if ($16) { - $$sroa$06$1 = 0;$$sroa$5$1 = 0.0;$$sroa$8$1 = 0.0; - } else { - ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3Scale($3,$15); - ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; - _Vector3Add($4,$$byval_copy,$$byval_copy1); - ;HEAP32[$$sroa$6>>2]=HEAP32[$4>>2]|0;HEAP32[$$sroa$6+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$sroa$6+8>>2]=HEAP32[$4+8>>2]|0; - $$sroa$06$1 = 1;$$sroa$5$1 = $15;$$sroa$8$1 = 1.0; - } - } else { - $$sroa$06$1 = 0;$$sroa$5$1 = 0.0;$$sroa$8$1 = 0.0; - } - HEAP32[$0>>2] = $$sroa$06$1; - $$sroa$5$0$$sroa_idx8 = ((($0)) + 4|0); - HEAPF32[$$sroa$5$0$$sroa_idx8>>2] = $$sroa$5$1; - $$sroa$6$0$$sroa_idx = ((($0)) + 8|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=HEAP32[$$sroa$6>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=HEAP32[$$sroa$6+4>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=HEAP32[$$sroa$6+8>>2]|0; - $$sroa$7$0$$sroa_idx13 = ((($0)) + 20|0); - HEAPF32[$$sroa$7$0$$sroa_idx13>>2] = 0.0; - $$sroa$8$0$$sroa_idx15 = ((($0)) + 24|0); - HEAPF32[$$sroa$8$0$$sroa_idx15>>2] = $$sroa$8$1; - $$sroa$9$0$$sroa_idx17 = ((($0)) + 28|0); - HEAPF32[$$sroa$9$0$$sroa_idx17>>2] = 0.0; - STACKTOP = sp;return; -} -function _CalculateBoundingBox($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$020 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$2$0$$sroa_idx11 = 0, $$sroa$214$0$$sroa_idx15 = 0, $$sroa$3$0$$sroa_idx12 = 0, $$sroa$316$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy2 = sp + 72|0; - $2 = sp + 60|0; - $3 = sp + 24|0; - $4 = sp + 48|0; - $5 = sp + 36|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0; - ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0; - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = HEAP32[$9>>2]|0; - $12 = ((($9)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($9)) + 8|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$2>>2] = $11; - $$sroa$214$0$$sroa_idx15 = ((($2)) + 4|0); - HEAP32[$$sroa$214$0$$sroa_idx15>>2] = $13; - $$sroa$316$0$$sroa_idx17 = ((($2)) + 8|0); - HEAP32[$$sroa$316$0$$sroa_idx17>>2] = $15; - $16 = HEAP32[$8>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ((($16)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($16)) + 8|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$3>>2] = $17; - $$sroa$2$0$$sroa_idx11 = ((($3)) + 4|0); - HEAP32[$$sroa$2$0$$sroa_idx11>>2] = $19; - $$sroa$3$0$$sroa_idx12 = ((($3)) + 8|0); - HEAP32[$$sroa$3$0$$sroa_idx12>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = ($22|0)>(1); - if ($23) { - $24 = ((($4)) + 4|0); - $25 = ((($4)) + 8|0); - $26 = ((($6)) + 4|0); - $27 = ((($6)) + 8|0); - $28 = HEAP32[$1>>2]|0; - $$020 = 1; - while(1) { - $29 = ($$020*3)|0; - $30 = (($16) + ($29<<2)|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$4>>2] = $31; - $32 = (($29) + 1)|0; - $33 = (($16) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$24>>2] = $34; - $35 = (($29) + 2)|0; - $36 = (($16) + ($35<<2)|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$25>>2] = $37; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; - _Vector3Min($5,$$byval_copy2,$$byval_copy3); - ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0; - $38 = HEAP32[$8>>2]|0; - $39 = (($38) + ($29<<2)|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$6>>2] = $40; - $41 = (($38) + ($32<<2)|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$26>>2] = $42; - $43 = HEAP32[$8>>2]|0; - $44 = (($43) + ($35<<2)|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$27>>2] = $45; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3Max($7,$$byval_copy2,$$byval_copy3); - ;HEAP32[$3>>2]=HEAP32[$7>>2]|0;HEAP32[$3+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$7+8>>2]|0; - $46 = (($$020) + 1)|0; - $47 = ($46|0)<($28|0); - if ($47) { - $$020 = $46; - } else { - break; - } - } - } - } - ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0; - $48 = ((($$byval_copy3)) + 12|0); - ;HEAP32[$48>>2]=HEAP32[$3>>2]|0;HEAP32[$48+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$0>>2]=HEAP32[$$byval_copy3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$byval_copy3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$byval_copy3+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$byval_copy3+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$byval_copy3+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$$byval_copy3+20>>2]|0; - STACKTOP = sp;return; -} -function _Vector3Min($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = (+_fminf($3,$4)); - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = (+_fminf($7,$9)); - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = (+_fminf($12,$14)); - HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; - return; -} -function _Vector3Max($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = (+_fmaxf($3,$4)); - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = (+_fmaxf($7,$9)); - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = (+_fmaxf($12,$14)); - HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; - return; -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = $4 * $4; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = $10 * $10; - $12 = $5 + $11; - $13 = (+Math_sqrt((+$12))); - return (+$13); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _Vector3Zero($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 0.0; - $1 = ((($0)) + 4|0); - HEAPF32[$1>>2] = 0.0; - $2 = ((($0)) + 8|0); - HEAPF32[$2>>2] = 0.0; - return; -} -function _Vector3Barycenter($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy14 = 0, $$byval_copy15 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$6$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy15 = sp + 48|0; - $$byval_copy14 = sp + 36|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy14>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy14,$$byval_copy15); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($6,$$byval_copy14,$$byval_copy15); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($7,$$byval_copy14,$$byval_copy15); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$5+8>>2]|0; - $8 = (+_Vector3DotProduct($$byval_copy14,$$byval_copy15)); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$6+8>>2]|0; - $9 = (+_Vector3DotProduct($$byval_copy14,$$byval_copy15)); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$6+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$6+8>>2]|0; - $10 = (+_Vector3DotProduct($$byval_copy14,$$byval_copy15)); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$7+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$5+8>>2]|0; - $11 = (+_Vector3DotProduct($$byval_copy14,$$byval_copy15)); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$7+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$6+8>>2]|0; - $12 = (+_Vector3DotProduct($$byval_copy14,$$byval_copy15)); - $13 = $8 * $10; - $14 = $9 * $9; - $15 = $13 - $14; - $16 = $10 * $11; - $17 = $9 * $12; - $18 = $16 - $17; - $19 = $18 / $15; - $20 = $8 * $12; - $21 = $9 * $11; - $22 = $20 - $21; - $23 = $22 / $15; - $24 = $23 + $19; - $25 = 1.0 - $24; - HEAPF32[$0>>2] = $25; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $19; - $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$6$0$$sroa_idx4>>2] = $23; - STACKTOP = sp;return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixPerspective($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - var $10 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $5 = $1 * 0.5; - $6 = (+Math_tan((+$5))); - $7 = $6 * $3; - $8 = $7 * $2; - $9 = -$8; - $10 = -$7; - _MatrixFrustum($0,$9,$8,$10,$7,$3,$4); - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _QuaternionTransform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0; - var $65 = 0.0, $66 = 0.0, $67 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 12|0); - $8 = +HEAPF32[$7>>2]; - $9 = +HEAPF32[$1>>2]; - $10 = $2 * $9; - $11 = ((($1)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = ((($1)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $6 * $16; - $18 = $14 + $17; - $19 = ((($1)) + 12|0); - $20 = +HEAPF32[$19>>2]; - $21 = $8 * $20; - $22 = $18 + $21; - HEAPF32[$0>>2] = $22; - $23 = ((($1)) + 16|0); - $24 = +HEAPF32[$23>>2]; - $25 = $2 * $24; - $26 = ((($1)) + 20|0); - $27 = +HEAPF32[$26>>2]; - $28 = $4 * $27; - $29 = $25 + $28; - $30 = ((($1)) + 24|0); - $31 = +HEAPF32[$30>>2]; - $32 = $6 * $31; - $33 = $29 + $32; - $34 = ((($1)) + 28|0); - $35 = +HEAPF32[$34>>2]; - $36 = $8 * $35; - $37 = $33 + $36; - HEAPF32[$3>>2] = $37; - $38 = ((($1)) + 32|0); - $39 = +HEAPF32[$38>>2]; - $40 = $2 * $39; - $41 = ((($1)) + 36|0); - $42 = +HEAPF32[$41>>2]; - $43 = $4 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 40|0); - $46 = +HEAPF32[$45>>2]; - $47 = $6 * $46; - $48 = $44 + $47; - $49 = ((($1)) + 44|0); - $50 = +HEAPF32[$49>>2]; - $51 = $8 * $50; - $52 = $48 + $51; - HEAPF32[$5>>2] = $52; - $53 = ((($1)) + 48|0); - $54 = +HEAPF32[$53>>2]; - $55 = $2 * $54; - $56 = ((($1)) + 52|0); - $57 = +HEAPF32[$56>>2]; - $58 = $4 * $57; - $59 = $55 + $58; - $60 = ((($1)) + 56|0); - $61 = +HEAPF32[$60>>2]; - $62 = $6 * $61; - $63 = $59 + $62; - $64 = ((($1)) + 60|0); - $65 = +HEAPF32[$64>>2]; - $66 = $8 * $65; - $67 = $63 + $66; - HEAPF32[$7>>2] = $67; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[5465] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 18752; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 18792; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4698]; - $111 = +HEAPF32[4688]; - $112 = $110 - $111; - HEAPF32[4700] = $112; - $113 = +HEAPF32[(18796)>>2]; - $114 = +HEAPF32[(18756)>>2]; - $115 = $113 - $114; - HEAPF32[(18804)>>2] = $115; - HEAP32[5464] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18784>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18784+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18808>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18808+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5470] = $116; - $117 = 18784; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 18752; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 18808; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 18792; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 18784; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 18808; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4702]; - $160 = +HEAPF32[4696]; - $161 = $159 - $160; - HEAPF32[4700] = $161; - $162 = +HEAPF32[(18812)>>2]; - $163 = +HEAPF32[(18788)>>2]; - $164 = $162 - $163; - HEAPF32[(18804)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18752>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18752+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18784>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18784+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18808>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18808+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18784>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18784+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18808>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18808+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5470]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[5464] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18784>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18784+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18808>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18808+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[5471] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[5470] = 0.0; - HEAPF32[5471] = 0.0; - HEAPF32[4700] = 0.0; - HEAPF32[(18804)>>2] = 0.0; - HEAP32[5465] = 0; - HEAP32[5464] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[5466]|0; - $7 = (($6) + 1)|0; - HEAP32[5466] = $7; - $8 = HEAP32[5464]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18752>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18752+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[5464] = 2; - HEAP32[5466] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5466] = 1; - HEAP32[5464] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 18752; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 18760; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 18768; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[913] = $34; - HEAPF32[4694] = 0.0; - HEAPF32[(18780)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[5464]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 18768; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18752>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18752+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18768+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[5467] = $49; - HEAP32[5468] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[913]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18752>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18752+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18768+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[5469] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[5467] = 0.0; - HEAPF32[5469] = 0.0; - $$sink10 = 0; - } - HEAP32[5464] = $$sink10; - HEAPF32[4690] = 0.0; - HEAPF32[(18764)>>2] = 0.0; - HEAP32[5465] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[5468]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[5468] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 18784; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[5464]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18752>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18752+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18784>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18784+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[5464] = 8; - } - } - $82 = +HEAPF32[4696]; - $83 = +HEAPF32[4690]; - $84 = $82 - $83; - HEAPF32[4694] = $84; - $85 = +HEAPF32[(18788)>>2]; - $86 = +HEAPF32[(18764)>>2]; - $87 = $85 - $86; - HEAPF32[(18780)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5464]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5465]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5464] = 4; - } - $4 = HEAP32[5464]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[5464] = 0; - return; -} -function _SetCameraMode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$off = 0, $$sroa$024$0$$sroa_idx = 0, $$sroa$024$0$copyload = 0.0, $$sroa$031$0$copyload = 0.0, $$sroa$4$0$$sroa_idx26 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$433$0$$sroa_idx34 = 0, $$sroa$433$0$copyload = 0.0, $$sroa$528$0$$sroa_idx29 = 0, $$sroa$528$0$copyload = 0.0, $$sroa$536$0$$sroa_idx37 = 0, $$sroa$536$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0; - var $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $$sroa$031$0$copyload = +HEAPF32[$0>>2]; - $$sroa$433$0$$sroa_idx34 = ((($0)) + 4|0); - $$sroa$433$0$copyload = +HEAPF32[$$sroa$433$0$$sroa_idx34>>2]; - $$sroa$536$0$$sroa_idx37 = ((($0)) + 8|0); - $$sroa$536$0$copyload = +HEAPF32[$$sroa$536$0$$sroa_idx37>>2]; - $$sroa$024$0$$sroa_idx = ((($0)) + 12|0); - $$sroa$024$0$copyload = +HEAPF32[$$sroa$024$0$$sroa_idx>>2]; - $$sroa$4$0$$sroa_idx26 = ((($0)) + 16|0); - $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx26>>2]; - $$sroa$528$0$$sroa_idx29 = ((($0)) + 20|0); - $$sroa$528$0$copyload = +HEAPF32[$$sroa$528$0$$sroa_idx29>>2]; - $2 = $$sroa$024$0$copyload - $$sroa$031$0$copyload; - $3 = $$sroa$4$0$copyload - $$sroa$433$0$copyload; - $4 = $$sroa$528$0$copyload - $$sroa$536$0$copyload; - $5 = $2 * $2; - $6 = $3 * $3; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $10 = (+Math_sqrt((+$9))); - HEAPF32[5472] = $10; - $11 = $5 + $8; - $12 = (+Math_sqrt((+$11))); - $13 = (+Math_sqrt((+$7))); - $14 = (+Math_abs((+$2))); - $15 = $14 / $12; - $16 = (+Math_asin((+$15))); - HEAPF32[5473] = $16; - $17 = (+Math_abs((+$3))); - $18 = $17 / $13; - $19 = (+Math_asin((+$18))); - $20 = -$19; - HEAPF32[5474] = $20; - $21 = HEAP32[$$sroa$433$0$$sroa_idx34>>2]|0; - HEAP32[914] = $21; - $$off = (($1) + -3)|0; - $22 = ($$off>>>0)<(2); - if ($22) { - _DisableCursor(); - HEAP32[5475] = $1; - return; - } else { - _EnableCursor(); - HEAP32[5475] = $1; - return; - } -} -function _DisableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5476] = 1; - HEAP32[5477] = 1; - return; -} -function _EnableCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5476] = 1; - HEAP32[5477] = 0; - return; -} -function _UpdateCamera($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$not = 0, $$not170 = 0, $$pr = 0, $$pr172 = 0, $$sink = 0.0, $$sink15 = 0, $$sink20 = 0.0, $$sink20$p = 0.0, $$sink24 = 0.0, $$sink26 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0; - var $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0; - var $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0; - var $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0; - var $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0; - var $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0; - var $197 = 0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0.0; - var $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0.0; - var $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0; - var $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0; - var $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0, $285 = 0.0, $286 = 0.0; - var $287 = 0.0, $288 = 0, $289 = 0.0, $29 = 0.0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0.0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0.0; - var $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0; - var $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0, $329 = 0.0, $33 = 0.0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0.0, $34 = 0.0; - var $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0.0, $352 = 0, $353 = 0.0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0.0; - var $359 = 0.0, $36 = 0, $360 = 0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; - var $377 = 0, $378 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0; - var $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; - var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0; - var $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0, $99 = 0.0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond169 = 0, $or$cond171 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0; - var $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $1 = sp; - $2 = sp + 8|0; - _GetMousePosition($1); - $3 = (_GetMouseWheelMove()|0); - $4 = HEAP32[915]|0; - $5 = (_IsMouseButtonDown($4)|0); - $6 = HEAP32[916]|0; - $7 = (_IsKeyDown($6)|0); - $8 = HEAP32[917]|0; - $9 = (_IsKeyDown($8)|0); - $10 = HEAP32[918]|0; - $11 = (_IsKeyDown($10)|0); - HEAP32[$2>>2] = $11; - $12 = ((($2)) + 4|0); - $13 = HEAP32[919]|0; - $14 = (_IsKeyDown($13)|0); - HEAP32[$12>>2] = $14; - $15 = ((($2)) + 8|0); - $16 = HEAP32[920]|0; - $17 = (_IsKeyDown($16)|0); - HEAP32[$15>>2] = $17; - $18 = ((($2)) + 12|0); - $19 = HEAP32[921]|0; - $20 = (_IsKeyDown($19)|0); - HEAP32[$18>>2] = $20; - $21 = ((($2)) + 16|0); - $22 = HEAP32[922]|0; - $23 = (_IsKeyDown($22)|0); - HEAP32[$21>>2] = $23; - $24 = ((($2)) + 20|0); - $25 = HEAP32[923]|0; - $26 = (_IsKeyDown($25)|0); - HEAP32[$24>>2] = $26; - $27 = HEAP32[5475]|0; - $28 = ($27|0)==(0); - L1: do { - if ($28) { - label = 47; - } else { - $29 = +HEAPF32[$1>>2]; - $30 = +HEAPF32[4704]; - $31 = $29 - $30; - $32 = ((($1)) + 4|0); - $33 = +HEAPF32[$32>>2]; - $34 = +HEAPF32[(18820)>>2]; - $35 = $33 - $34; - $36 = $1; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = 18816; - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $$pr = HEAP32[5475]|0; - switch ($$pr|0) { - case 1: { - $46 = +HEAPF32[5472]; - $47 = $46 < 120.0; - $48 = ($3|0)<(0); - $or$cond = $48 & $47; - do { - if ($or$cond) { - $49 = (+($3|0)); - $50 = $49 * 1.5; - $51 = $46 - $50; - HEAPF32[5472] = $51; - $52 = $51 > 120.0; - if ($52) { - HEAPF32[5472] = 120.0; - } - } else { - $53 = ((($0)) + 4|0); - $54 = +HEAPF32[$53>>2]; - $55 = ((($0)) + 12|0); - $56 = ((($0)) + 16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 > $57; - $59 = $46 == 120.0; - $or$cond3 = $59 & $58; - $or$cond5 = $48 & $or$cond3; - if ($or$cond5) { - $60 = (+($3|0)); - $61 = +HEAPF32[$55>>2]; - $62 = +HEAPF32[$0>>2]; - $63 = $61 - $62; - $64 = $60 * $63; - $65 = $64 * 1.5; - $66 = $65 / $46; - $67 = $61 + $66; - HEAPF32[$55>>2] = $67; - $68 = $57 - $54; - $69 = $60 * $68; - $70 = $69 * 1.5; - $71 = $70 / $46; - $72 = $57 + $71; - HEAPF32[$56>>2] = $72; - $73 = ((($0)) + 20|0); - $74 = +HEAPF32[$73>>2]; - $75 = ((($0)) + 8|0); - $76 = +HEAPF32[$75>>2]; - $77 = $74 - $76; - $78 = $60 * $77; - $79 = $78 * 1.5; - $80 = $79 / $46; - $81 = $74 + $80; - HEAPF32[$73>>2] = $81; - break; - } - $$not = $58 ^ 1; - $82 = !($57 >= 0.0); - $or$cond169 = $82 | $$not; - if (!($or$cond169)) { - $83 = (+($3|0)); - $84 = +HEAPF32[$55>>2]; - $85 = +HEAPF32[$0>>2]; - $86 = $84 - $85; - $87 = $83 * $86; - $88 = $87 * 1.5; - $89 = $88 / $46; - $90 = $84 + $89; - HEAPF32[$55>>2] = $90; - $91 = $57 - $54; - $92 = $83 * $91; - $93 = $92 * 1.5; - $94 = $93 / $46; - $95 = $57 + $94; - HEAPF32[$56>>2] = $95; - $96 = ((($0)) + 20|0); - $97 = +HEAPF32[$96>>2]; - $98 = ((($0)) + 8|0); - $99 = +HEAPF32[$98>>2]; - $100 = $97 - $99; - $101 = $83 * $100; - $102 = $101 * 1.5; - $103 = $102 / $46; - $104 = $97 + $103; - HEAPF32[$96>>2] = $104; - break; - } - if ($58) { - $105 = $57 < 0.0; - $106 = ($3|0)>(0); - $or$cond7 = $106 & $105; - if ($or$cond7) { - $107 = (+($3|0)); - $108 = $107 * 1.5; - $109 = $46 - $108; - HEAPF32[5472] = $109; - $110 = $109 < 0.30000001192092896; - if (!($110)) { - break; - } - HEAPF32[5472] = 0.30000001192092896; - break; - } - } - $111 = $54 < $57; - $or$cond9 = $59 & $111; - $or$cond11 = $48 & $or$cond9; - $112 = +HEAPF32[$56>>2]; - $113 = +HEAPF32[$53>>2]; - if ($or$cond11) { - $114 = (+($3|0)); - $115 = +HEAPF32[$55>>2]; - $116 = +HEAPF32[$0>>2]; - $117 = $115 - $116; - $118 = $114 * $117; - $119 = $118 * 1.5; - $120 = $119 / $46; - $121 = $115 + $120; - HEAPF32[$55>>2] = $121; - $122 = $112 - $113; - $123 = $114 * $122; - $124 = $123 * 1.5; - $125 = +HEAPF32[5472]; - $126 = $124 / $125; - $127 = $112 + $126; - HEAPF32[$56>>2] = $127; - $128 = ((($0)) + 20|0); - $129 = +HEAPF32[$128>>2]; - $130 = ((($0)) + 8|0); - $131 = +HEAPF32[$130>>2]; - $132 = $129 - $131; - $133 = $114 * $132; - $134 = $133 * 1.5; - $135 = $134 / $125; - $136 = $129 + $135; - HEAPF32[$128>>2] = $136; - break; - } - $$not170 = $111 ^ 1; - $137 = !($57 <= 0.0); - $or$cond171 = $137 | $$not170; - if (!($or$cond171)) { - $138 = (+($3|0)); - $139 = +HEAPF32[$55>>2]; - $140 = +HEAPF32[$0>>2]; - $141 = $139 - $140; - $142 = $138 * $141; - $143 = $142 * 1.5; - $144 = $143 / $46; - $145 = $139 + $144; - HEAPF32[$55>>2] = $145; - $146 = $112 - $113; - $147 = $138 * $146; - $148 = $147 * 1.5; - $149 = +HEAPF32[5472]; - $150 = $148 / $149; - $151 = $112 + $150; - HEAPF32[$56>>2] = $151; - $152 = ((($0)) + 20|0); - $153 = +HEAPF32[$152>>2]; - $154 = ((($0)) + 8|0); - $155 = +HEAPF32[$154>>2]; - $156 = $153 - $155; - $157 = $138 * $156; - $158 = $157 * 1.5; - $159 = $158 / $149; - $160 = $153 + $159; - HEAPF32[$152>>2] = $160; - break; - } - $161 = $113 < $112; - if ($161) { - $162 = $112 > 0.0; - $163 = ($3|0)>(0); - $or$cond13 = $163 & $162; - if ($or$cond13) { - $164 = (+($3|0)); - $165 = $164 * 1.5; - $166 = +HEAPF32[5472]; - $167 = $166 - $165; - HEAPF32[5472] = $167; - $168 = $167 < 0.30000001192092896; - if ($168) { - HEAPF32[5472] = 0.30000001192092896; - } - } - } - } - } while(0); - $169 = ($5|0)==(0); - if ($169) { - label = 47; - break L1; - } - $170 = ($7|0)==(0); - if ($170) { - $183 = $31 * -0.0099999997764825821; - $184 = +HEAPF32[5473]; - $185 = (+Math_cos((+$184))); - $186 = $183 * $185; - $187 = $35 * 0.0099999997764825821; - $188 = (+Math_sin((+$184))); - $189 = $187 * $188; - $190 = +HEAPF32[5474]; - $191 = (+Math_sin((+$190))); - $192 = $189 * $191; - $193 = $186 + $192; - $194 = +HEAPF32[5472]; - $195 = $194 / 5.0999999046325684; - $196 = $193 * $195; - $197 = ((($0)) + 12|0); - $198 = +HEAPF32[$197>>2]; - $199 = $198 + $196; - HEAPF32[$197>>2] = $199; - $200 = (+Math_cos((+$190))); - $201 = $187 * $200; - $202 = $195 * $201; - $203 = ((($0)) + 16|0); - $204 = +HEAPF32[$203>>2]; - $205 = $204 + $202; - HEAPF32[$203>>2] = $205; - $206 = $31 * 0.0099999997764825821; - $207 = $206 * $188; - $208 = $187 * $185; - $209 = $208 * $191; - $210 = $207 + $209; - $211 = $210 * $195; - $212 = ((($0)) + 20|0); - $213 = +HEAPF32[$212>>2]; - $214 = $211 + $213; - HEAPF32[$212>>2] = $214; - label = 47; - break L1; - } - $171 = ($9|0)==(0); - if (!($171)) { - $172 = $35 * 0.05000000074505806; - $173 = +HEAPF32[5472]; - $174 = $172 + $173; - HEAPF32[5472] = $174; - label = 47; - break L1; - } - $175 = $31 * 0.0099999997764825821; - $176 = +HEAPF32[5473]; - $177 = $176 - $175; - HEAPF32[5473] = $177; - $178 = $35 * 0.0099999997764825821; - $179 = +HEAPF32[5474]; - $180 = $179 - $178; - HEAPF32[5474] = $180; - $181 = $180 > 1.483529806137085; - if ($181) { - HEAPF32[5474] = 1.483529806137085; - label = 47; - break L1; - } - $182 = $180 < -1.483529806137085; - if (!($182)) { - label = 47; - break L1; - } - HEAPF32[5474] = -1.483529806137085; - label = 47; - break L1; - break; - } - case 2: { - $215 = +HEAPF32[5473]; - $216 = $215 + 0.0099999997764825821; - HEAPF32[5473] = $216; - $217 = (+($3|0)); - $218 = $217 * 1.5; - $219 = +HEAPF32[5472]; - $220 = $219 - $218; - HEAPF32[5472] = $220; - $221 = $220 < 1.2000000476837158; - if (!($221)) { - label = 47; - break L1; - } - HEAPF32[5472] = 1.2000000476837158; - label = 47; - break L1; - break; - } - case 4: case 3: { - $225 = +HEAPF32[5473]; - $226 = (+Math_sin((+$225))); - $227 = HEAP32[$12>>2]|0; - $228 = (+($227>>>0)); - $229 = $226 * $228; - $230 = HEAP32[$2>>2]|0; - $231 = (+($230>>>0)); - $232 = $226 * $231; - $233 = $229 - $232; - $234 = (+Math_cos((+$225))); - $235 = HEAP32[$18>>2]|0; - $236 = (+($235>>>0)); - $237 = $234 * $236; - $238 = $233 - $237; - $239 = HEAP32[$15>>2]|0; - $240 = (+($239>>>0)); - $241 = $234 * $240; - $242 = $238 + $241; - $243 = $242 / 20.0; - $244 = +HEAPF32[$0>>2]; - $245 = $244 + $243; - HEAPF32[$0>>2] = $245; - $246 = +HEAPF32[5474]; - $247 = (+Math_sin((+$246))); - $248 = $231 * $247; - $249 = $228 * $247; - $250 = $248 - $249; - $251 = HEAP32[$21>>2]|0; - $252 = (+($251>>>0)); - $253 = $250 + $252; - $254 = HEAP32[$24>>2]|0; - $255 = (+($254>>>0)); - $256 = $253 - $255; - $257 = $256 / 20.0; - $258 = ((($0)) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = $259 + $257; - HEAPF32[$258>>2] = $260; - $261 = $228 * $234; - $262 = $234 * $231; - $263 = $261 - $262; - $264 = $226 * $236; - $265 = $263 + $264; - $266 = $226 * $240; - $267 = $265 - $266; - $268 = $267 / 20.0; - $269 = ((($0)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $268 + $270; - HEAPF32[$269>>2] = $271; - $272 = HEAP32[$2>>2]|0; - $273 = ($272|0)==(0); - if ($273) { - $222 = ((($2)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = ($223|0)==(0); - if ($224) { - $368 = ((($2)) + 8|0); - $369 = HEAP32[$368>>2]|0; - $370 = ($369|0)==(0); - if ($370) { - $371 = ((($2)) + 12|0); - $372 = HEAP32[$371>>2]|0; - $373 = ($372|0)==(0); - if ($373) { - $374 = ((($2)) + 16|0); - $375 = HEAP32[$374>>2]|0; - $376 = ($375|0)==(0); - if ($376) { - $377 = ((($2)) + 20|0); - $378 = HEAP32[$377>>2]|0; - $not$ = ($378|0)!=(0); - $$ = $not$&1; - $$0 = $$; - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - $274 = $31 * 0.0030000000260770321; - $275 = +HEAPF32[5473]; - $276 = $275 - $274; - HEAPF32[5473] = $276; - $277 = $35 * 0.0030000000260770321; - $278 = +HEAPF32[5474]; - $279 = $278 - $277; - HEAPF32[5474] = $279; - $280 = HEAP32[5475]|0; - $281 = ($280|0)==(4); - if ($281) { - $282 = $279 > 0.087266460061073303; - if ($282) { - $$sink24 = 0.087266460061073303; - label = 38; - } else { - $283 = $279 < -1.483529806137085; - if ($283) { - $$sink24 = -1.483529806137085; - label = 38; - } - } - if ((label|0) == 38) { - HEAPF32[5474] = $$sink24; - } - $284 = (+($3|0)); - $285 = $284 * 1.5; - $286 = +HEAPF32[5472]; - $287 = $286 - $285; - $288 = $287 < 1.2000000476837158; - $storemerge = $288 ? 1.2000000476837158 : $287; - HEAPF32[5472] = $storemerge; - $289 = +HEAPF32[$0>>2]; - $290 = +HEAPF32[5473]; - $291 = (+Math_cos((+$290))); - $292 = $291 * 0.40000000596046448; - $293 = $289 + $292; - $294 = (+Math_sin((+$290))); - $295 = $294 * 0.0; - $296 = $293 + $295; - $297 = ((($0)) + 12|0); - HEAPF32[$297>>2] = $296; - $298 = +HEAPF32[$258>>2]; - $299 = $298 + 0.0; - $300 = ((($0)) + 16|0); - HEAPF32[$300>>2] = $299; - $301 = +HEAPF32[$269>>2]; - $302 = $295 + $301; - $303 = $294 * 0.40000000596046448; - $304 = $302 - $303; - $$sink = $304;$$sink15 = $297; - } else { - $305 = $279 > 1.483529806137085; - if ($305) { - $$sink26 = 1.483529806137085; - label = 42; - } else { - $306 = $279 < -1.483529806137085; - if ($306) { - $$sink26 = -1.483529806137085; - label = 42; - } - } - if ((label|0) == 42) { - HEAPF32[5474] = $$sink26; - } - $307 = +HEAPF32[$0>>2]; - $308 = +HEAPF32[5473]; - $309 = (+Math_sin((+$308))); - $310 = $309 * 25.0; - $311 = $307 - $310; - $312 = ((($0)) + 12|0); - HEAPF32[$312>>2] = $311; - $313 = +HEAPF32[$258>>2]; - $314 = +HEAPF32[5474]; - $315 = (+Math_sin((+$314))); - $316 = $315 * 25.0; - $317 = $313 + $316; - $318 = ((($0)) + 16|0); - HEAPF32[$318>>2] = $317; - $319 = +HEAPF32[$269>>2]; - $320 = (+Math_cos((+$308))); - $321 = $320 * 25.0; - $322 = $319 - $321; - $323 = ((($0)) + 20|0); - HEAPF32[$323>>2] = $322; - $324 = ($$0|0)==(0); - if (!($324)) { - $325 = HEAP32[5478]|0; - $326 = (($325) + 1)|0; - HEAP32[5478] = $326; - } - $327 = +HEAPF32[914]; - $328 = HEAP32[5478]|0; - $329 = (+($328|0)); - $330 = $329 / 5.0; - $331 = (+Math_sin((+$330))); - $332 = $331 / 30.0; - $333 = $327 - $332; - HEAPF32[$258>>2] = $333; - $334 = $329 / 10.0; - $335 = (+Math_sin((+$334))); - $336 = $335 / 200.0; - $337 = ((($0)) + 24|0); - HEAPF32[$337>>2] = $336; - $338 = -$335; - $339 = $338 / 200.0; - $$sink = $339;$$sink15 = $337; - } - $340 = ((($$sink15)) + 8|0); - HEAPF32[$340>>2] = $$sink; - label = 47; - break L1; - break; - } - default: { - $341 = $$pr; - break L1; - } - } - } - } while(0); - if ((label|0) == 47) { - $$pr172 = HEAP32[5475]|0; - $341 = $$pr172; - } - switch ($341|0) { - case 1: case 2: case 4: { - break; - } - default: { - STACKTOP = sp;return; - } - } - $342 = +HEAPF32[5473]; - $343 = (+Math_sin((+$342))); - $344 = +HEAPF32[5472]; - $345 = $343 * $344; - $346 = +HEAPF32[5474]; - $347 = (+Math_cos((+$346))); - $348 = $345 * $347; - $349 = ((($0)) + 12|0); - $350 = +HEAPF32[$349>>2]; - $351 = $348 + $350; - HEAPF32[$0>>2] = $351; - $352 = !($346 <= 0.0); - $353 = (+Math_sin((+$346))); - $354 = +HEAPF32[5472]; - $355 = ((($0)) + 16|0); - $356 = +HEAPF32[$355>>2]; - $357 = $353 * $354; - $358 = $353 * $357; - $359 = -$358; - $$sink20$p = $352 ? $359 : $358; - $$sink20 = $356 + $$sink20$p; - $360 = ((($0)) + 4|0); - HEAPF32[$360>>2] = $$sink20; - $361 = (+Math_cos((+$342))); - $362 = $354 * $361; - $363 = $347 * $362; - $364 = ((($0)) + 20|0); - $365 = +HEAPF32[$364>>2]; - $366 = $365 + $363; - $367 = ((($0)) + 8|0); - HEAPF32[$367>>2] = $366; - STACKTOP = sp;return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 18824; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _GetMouseWheelMove() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5480]|0; - $1 = (($0|0) / 100)&-1; - return ($1|0); -} -function _IsMouseButtonDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetMouseButtonStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _IsKeyDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetKeyStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _GetKeyStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5479]|0; - $2 = (_glfwGetKey(($1|0),($0|0))|0); - return ($2|0); -} -function _GetMouseButtonStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5479]|0; - $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); - return ($2|0); -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _TraceLog(0,8783,$vararg_buffer); - HEAP32[5481] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_keypress_callback((8812|0),(0|0),1,(6|0))|0); - (_emscripten_set_click_callback((8812|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchstart_callback((8812|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchend_callback((8812|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchmove_callback((8812|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchcancel_callback((8812|0),(0|0),1,(8|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[5482]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[4706] = $5; - $6 = HEAP32[5483]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(18828)>>2] = $8; - $9 = HEAP32[5484]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[5482] = $0; - HEAP32[5483] = $1; - _MatrixIdentity($2); - dest=21956; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,9007,$vararg_buffer); - } - $6 = HEAP32[5482]|0; - HEAP32[5505] = $6; - $7 = HEAP32[5483]|0; - HEAP32[5506] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[22836]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[22836]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[22836]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,9033,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[5507]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[5482]|0; - $48 = HEAP32[5483]|0; - $49 = HEAP32[5481]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5479] = $50; - $51 = HEAP32[5482]|0; - HEAP32[5508] = $51; - $52 = HEAP32[5483]|0; - HEAP32[5509] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[5482]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5483]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[5505] = $31; - HEAP32[5506] = $34; - } - } while(0); - $38 = HEAP32[5505]|0; - $39 = HEAP32[5506]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(1,9058,$vararg_buffer3); - $40 = HEAP32[5505]|0; - $41 = HEAP32[5506]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[5505]|0; - $43 = HEAP32[5506]|0; - $44 = HEAP32[5481]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5479] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(2,9096,$vararg_buffer6); - } else { - _TraceLog(0,9129,$vararg_buffer8); - $55 = HEAP32[5508]|0; - $56 = HEAP32[5509]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,9169,$vararg_buffer10); - $57 = HEAP32[5482]|0; - $58 = HEAP32[5483]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,9190,$vararg_buffer14); - $59 = HEAP32[5510]|0; - $60 = HEAP32[5511]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,9211,$vararg_buffer18); - } - $61 = HEAP32[5479]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5479]|0; - (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5479]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5479]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5479]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5479]|0; - (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5479]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5479]|0; - (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5479]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[22836]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[5482]|0; - $74 = HEAP32[5483]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5508]|0; - $76 = HEAP32[5510]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5509]|0; - $80 = HEAP32[5511]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,9236,$vararg_buffer22); - $73 = HEAP32[5482]|0; - $74 = HEAP32[5483]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5508]|0; - $76 = HEAP32[5510]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5509]|0; - $80 = HEAP32[5511]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[2357] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,8940,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,8871,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,8864)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - $5 = HEAP32[5476]|0; - $6 = ($5|0)!=(0); - $or$cond = $4 & $6; - if (!($or$cond)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - HEAP32[5476] = 0; - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 18840; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (18848); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (21940 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ($0|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[2354] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,8820,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5484] = 0; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5482]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5483]|0; - return ($0|0); -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(1,12792,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[5482]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[5483]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[5508] = $3; - HEAP32[5509] = $5; - HEAP32[5510] = 0; - HEAP32[5511] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,12726,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[5482]|0; - $36 = (+($35|0)); - $37 = HEAP32[5483]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[5508] = $45; - HEAP32[5509] = $37; - $46 = (($45) - ($35))|0; - HEAP32[5510] = $46; - $$sink1 = 0; - } else { - HEAP32[5508] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[5509] = $42; - HEAP32[5510] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[5511] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[5483]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(1,12583,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[5482]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[5483]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[5508] = $23; - HEAP32[5509] = $1; - $24 = (($0) - ($23))|0; - HEAP32[5510] = $24; - $$sink = 0; - } else { - HEAP32[5508] = $0; - $17 = HEAP32[5483]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[5509] = $20; - HEAP32[5510] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[5511] = $$sink; - $25 = HEAP32[5508]|0; - $26 = (+($25|0)); - $27 = HEAP32[5482]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=21956; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5508] = $0; - HEAP32[5509] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(1,12661,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[5482] = $1; - HEAP32[5483] = $2; - HEAP32[5508] = $1; - HEAP32[5509] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[925]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (22843 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[924] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (22837 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 18840; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[924] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[5514] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[5513] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; - var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2528|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2396|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,9259,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,9277,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,9295,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,9313,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$063 = 0;$$sink64 = $14; - while(1) { - $15 = (_strtok($$sink64,9331)|0); - $16 = (($vararg_buffer7) + ($$063<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$063) + 1)|0; - if ($17) { - break; - } else { - $$063 = $18;$$sink64 = 0; - } - } - _free($14); - $19 = (($$063) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,9333,$vararg_buffer10); - $20 = ($$063|0)>(1); - if ($20) { - $$06268 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06268<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,9368)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[5036] = 1; - $27 = (_eglGetProcAddress((9395|0))|0); - HEAP32[5462] = $27; - $28 = (_eglGetProcAddress((9416|0))|0); - HEAP32[5037] = $28; - $29 = (_eglGetProcAddress((9437|0))|0); - HEAP32[5463] = $29; - } - $30 = (_strcmp($24,9461)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[4924] = 1; - } - $32 = (_strcmp($24,9481)|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP32[4923] = 1; - } - $34 = (_strcmp($24,9499)|0); - $35 = ($34|0)==(0); - if ($35) { - label = 14; - } else { - $36 = HEAP32[$23>>2]|0; - $37 = (_strcmp($36,9531)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 14; - } else { - $39 = (_strcmp($36,9564)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 14; - } - } - } - if ((label|0) == 14) { - label = 0; - HEAP32[4918] = 1; - } - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,9604)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 17; - } else { - $44 = (_strcmp($41,9640)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - HEAP32[4919] = 1; - } - $46 = (_strcmp($41,9673)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[4920] = 1; - } - $48 = HEAP32[$23>>2]|0; - $49 = (_strcmp($48,9698)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[4921] = 1; - } - $51 = (_strcmp($48,9731)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[4922] = 1; - } - $53 = (_strcmp($48,9767)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP32[5512] = 1; - _glGetFloatv(34047,(19704|0)); - } - $55 = (_strcmp($48,9801)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[4925] = 1; - } - $57 = (($$06268) + 1)|0; - $exitcond71 = ($57|0)==($19|0); - if ($exitcond71) { - break; - } else { - $$06268 = $57; - } - } - } - $21 = HEAP32[5036]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(1,9904,$vararg_buffer15); - } else { - _TraceLog(0,9829,$vararg_buffer13); - } - $58 = HEAP32[4924]|0; - $59 = ($58|0)==(0); - if ($59) { - _TraceLog(1,10040,$vararg_buffer19); - } else { - _TraceLog(0,9965,$vararg_buffer17); - } - $60 = HEAP32[4918]|0; - $61 = ($60|0)==(0); - if (!($61)) { - _TraceLog(0,10132,$vararg_buffer21); - } - $62 = HEAP32[4919]|0; - $63 = ($62|0)==(0); - if (!($63)) { - _TraceLog(0,10178,$vararg_buffer23); - } - $64 = HEAP32[4920]|0; - $65 = ($64|0)==(0); - if (!($65)) { - _TraceLog(0,10225,$vararg_buffer25); - } - $66 = HEAP32[4921]|0; - $67 = ($66|0)==(0); - if (!($67)) { - _TraceLog(0,10276,$vararg_buffer27); - } - $68 = HEAP32[4922]|0; - $69 = ($68|0)==(0); - if (!($69)) { - _TraceLog(0,10323,$vararg_buffer29); - } - $70 = HEAP32[5512]|0; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = +HEAPF32[4926]; - $73 = $72; - HEAPF64[$vararg_buffer31>>3] = $73; - _TraceLog(0,10370,$vararg_buffer31); - } - $74 = HEAP32[4925]|0; - $75 = ($74|0)==(0); - if (!($75)) { - _TraceLog(0,10436,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $76 = (_rlLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4977] = $76; - $77 = ($76|0)==(0); - if ($77) { - _TraceLog(1,10540,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $76; - _TraceLog(0,10489,$vararg_buffer36); - } - _LoadShaderDefault($2); - _memcpy((21716|0),($2|0),132)|0; - _memcpy((20012|0),($2|0),132)|0; - _LoadBuffersDefault(); - $78 = (_malloc(49152)|0); - HEAP32[5424] = $78; - $$06167 = 0; - while(1) { - $80 = HEAP32[5424]|0; - $81 = (($80) + (($$06167*12)|0)|0); - _Vector3Zero($3); - ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; - $82 = (($$06167) + 1)|0; - $exitcond70 = ($82|0)==(4096); - if ($exitcond70) { - break; - } else { - $$06167 = $82; - } - } - $79 = (_malloc(36864)|0); - HEAP32[4978] = $79; - $$06066 = 0; - while(1) { - $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($79) + (($$06066*144)|0)|0); - HEAP32[$84>>2] = 0; - $85 = (($$06066) + 1)|0; - $exitcond = ($85|0)==(256); - if ($exitcond) { - break; - } else { - $$06066 = $85; - } - } - HEAP32[4976] = 1; - $86 = HEAP32[4977]|0; - $87 = ((($79)) + 8|0); - HEAP32[$87>>2] = $86; - HEAP32[5425] = 4; - _MatrixIdentity($4); - dest=20660; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20724); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20788); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20852); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20916); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20980); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21044); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21108); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21172); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21236); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21300); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21364); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21428); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21492); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21556); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21620); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=19772; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=19836; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5421] = 19836; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[5054] = $0; - HEAP32[5055] = $1; - _TraceLog(0,10579,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5510]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5511]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5508]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[5509]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 19772; - label = 3; - break; - } - case 5888: { - $modelview$sink = 19836; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[5421] = $modelview$sink; - } - HEAP32[5426] = $0; - return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5421]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _LoadShaderDefault($0) { - $0 = $0|0; - var $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx9 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx11 = 0, $$sroa$14 = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$1415$0 = 0, $$sroa$1415$0$$sroa_idx16 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx18 = 0, $$sroa$16 = 0, $$sroa$16$0$$sroa_idx = 0, $$sroa$1622$0 = 0, $$sroa$1622$0$$sroa_idx23 = 0, $$sroa$1727$0 = 0, $$sroa$1727$0$$sroa_idx28 = 0, $$sroa$18 = 0, $$sroa$18$0$$sroa_idx = 0, $1 = 0, $10 = 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $$sroa$14 = sp + 96|0; - $$sroa$16 = sp + 80|0; - $$sroa$18 = sp + 12|0; - $1 = sp + 549|0; - $2 = sp + 108|0; - _memcpy(($1|0),(11155|0),483)|0; - _memcpy(($2|0),(11638|0),441)|0; - $3 = (_LoadShaderProgram($1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - HEAP32[$vararg_buffer1>>2] = $3; - _TraceLog(1,12193,$vararg_buffer1); - $$sroa$12$0 = 0;$$sroa$13$0 = 0;$$sroa$1415$0 = 0;$$sroa$15$0 = 0;$$sroa$1622$0 = 0;$$sroa$1727$0 = 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,12079,$vararg_buffer); - $5 = (_glGetAttribLocation(($3|0),(12127|0))|0); - $6 = (_glGetAttribLocation(($3|0),(12142|0))|0); - $7 = (_glGetAttribLocation(($3|0),(12157|0))|0); - $8 = (_glGetUniformLocation(($3|0),(12169|0))|0); - $9 = (_glGetUniformLocation(($3|0),(12173|0))|0); - $10 = (_glGetUniformLocation(($3|0),(12184|0))|0); - $$sroa$12$0 = $5;$$sroa$13$0 = $6;$$sroa$1415$0 = $7;$$sroa$15$0 = $8;$$sroa$1622$0 = $9;$$sroa$1727$0 = $10; - } - HEAP32[$0>>2] = $3; - $$sroa$12$0$$sroa_idx9 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx9>>2] = $$sroa$12$0; - $$sroa$13$0$$sroa_idx11 = ((($0)) + 8|0); - HEAP32[$$sroa$13$0$$sroa_idx11>>2] = $$sroa$13$0; - $$sroa$14$0$$sroa_idx = ((($0)) + 12|0); - ;HEAP32[$$sroa$14$0$$sroa_idx>>2]=HEAP32[$$sroa$14>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+4>>2]=HEAP32[$$sroa$14+4>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+8>>2]=HEAP32[$$sroa$14+8>>2]|0; - $$sroa$1415$0$$sroa_idx16 = ((($0)) + 24|0); - HEAP32[$$sroa$1415$0$$sroa_idx16>>2] = $$sroa$1415$0; - $$sroa$15$0$$sroa_idx18 = ((($0)) + 28|0); - HEAP32[$$sroa$15$0$$sroa_idx18>>2] = $$sroa$15$0; - $$sroa$16$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$$sroa$16$0$$sroa_idx>>2]=HEAP32[$$sroa$16>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+4>>2]=HEAP32[$$sroa$16+4>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+8>>2]=HEAP32[$$sroa$16+8>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+12>>2]=HEAP32[$$sroa$16+12>>2]|0; - $$sroa$1622$0$$sroa_idx23 = ((($0)) + 48|0); - HEAP32[$$sroa$1622$0$$sroa_idx23>>2] = $$sroa$1622$0; - $$sroa$1727$0$$sroa_idx28 = ((($0)) + 60|0); - HEAP32[$$sroa$1727$0$$sroa_idx28>>2] = $$sroa$1727$0; - $$sroa$18$0$$sroa_idx = ((($0)) + 64|0); - dest=$$sroa$18$0$$sroa_idx; src=$$sroa$18; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadBuffersDefault() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(19928)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(19936)>>2] = $1; - HEAP32[(19932)>>2] = 0; - HEAP32[(19940)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(19936)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[4979] = 0; - HEAP32[(19924)>>2] = 0; - HEAP32[(19920)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(19976)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(19984)>>2] = $6; - HEAP32[(19980)>>2] = 0; - HEAP32[(19988)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(19984)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[4991] = 0; - HEAP32[(19972)>>2] = 0; - HEAP32[(19968)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(19736)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(19740)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(19744)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(19748)>>2] = $13; - $14 = HEAP32[(19736)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19740)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(19744)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(19748)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[4931] = 0; - HEAP32[(19728)>>2] = 0; - HEAP32[(19732)>>2] = 0; - _TraceLog(0,10626,$vararg_buffer); - $20 = HEAP32[5036]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[5462]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19944)); - $44 = HEAP32[5037]|0; - $45 = HEAP32[(19944)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((19948)|0)); - $46 = HEAP32[(19948)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19928)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(20016)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(20016)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19952)|0)); - $50 = HEAP32[(19952)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19936)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(20036)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(20036)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[5036]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(19948)>>2]|0; - $58 = HEAP32[(19952)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,10764,$vararg_buffer3); - } else { - $56 = HEAP32[(19944)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,10699,$vararg_buffer1); - } - $59 = HEAP32[5036]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[5462]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19992)); - $62 = HEAP32[5037]|0; - $63 = HEAP32[(19992)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((19996)|0)); - $64 = HEAP32[(19996)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19976)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(20016)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(20016)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20000)|0)); - $68 = HEAP32[(20000)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19984)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(20036)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(20036)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[5036]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(19996)>>2]|0; - $76 = HEAP32[(20000)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,10910,$vararg_buffer10); - } else { - $74 = HEAP32[(19992)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,10841,$vararg_buffer7); - } - $77 = HEAP32[5036]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[5462]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19752)); - $80 = HEAP32[5037]|0; - $81 = HEAP32[(19752)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((19756)|0)); - $82 = HEAP32[(19756)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19736)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(20016)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(20016)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19760)|0)); - $86 = HEAP32[(19760)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19740)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(20020)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(20020)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19764)|0)); - $90 = HEAP32[(19764)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19744)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(20036)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(20036)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19768)|0)); - $94 = HEAP32[(19768)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19748)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[5036]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(19756)>>2]|0; - $100 = HEAP32[(19760)>>2]|0; - $101 = HEAP32[(19764)>>2]|0; - $102 = HEAP32[(19768)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,11056,$vararg_buffer17); - } else { - $98 = HEAP32[(19752)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,10991,$vararg_buffer14); - } - $103 = HEAP32[5036]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[5037]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,12293,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(1,12241,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,12290,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,12394,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(1,12343,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,12290,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(12127|0)); - _glBindAttribLocation(($20|0),1,(12142|0)); - _glBindAttribLocation(($20|0),2,(12446|0)); - _glBindAttribLocation(($20|0),3,(12157|0)); - _glBindAttribLocation(($20|0),4,(12459|0)); - _glBindAttribLocation(($20|0),5,(12473|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(1,12489,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,12290,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,12535,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22837 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22840 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22837 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22840 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[5479]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,12830,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadShaderDefault(); - _UnloadBuffersDefault(); - _glDeleteTextures(1,(19908|0)); - $0 = HEAP32[4977]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,12857,$vararg_buffer); - $1 = HEAP32[4978]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadShaderDefault() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[5429]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5036]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5037]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19948)|0)); - _glDeleteBuffers(1,((19952)|0)); - _glDeleteBuffers(1,((19996)|0)); - _glDeleteBuffers(1,((20000)|0)); - _glDeleteBuffers(1,((19756)|0)); - _glDeleteBuffers(1,((19760)|0)); - _glDeleteBuffers(1,((19764)|0)); - _glDeleteBuffers(1,((19768)|0)); - $3 = HEAP32[5036]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5463]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19944)); - $6 = HEAP32[5463]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19992)); - $7 = HEAP32[5463]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19752)); - } - $8 = HEAP32[(19928)>>2]|0; - _free($8); - $9 = HEAP32[(19936)>>2]|0; - _free($9); - $10 = HEAP32[(19976)>>2]|0; - _free($10); - $11 = HEAP32[(19984)>>2]|0; - _free($11); - $12 = HEAP32[(19736)>>2]|0; - _free($12); - $13 = HEAP32[(19740)>>2]|0; - _free($13); - $14 = HEAP32[(19744)>>2]|0; - _free($14); - $15 = HEAP32[(19748)>>2]|0; - _free($15); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[2358] = $0; - $1 = +HEAPF64[2357]; - $2 = $0 - $1; - HEAPF64[2359] = $2; - HEAPF64[2357] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=21956; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20152); - STACKTOP = sp;return; -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 32|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 48|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 52|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 24|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 56|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 12|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[5421]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[2358] = $0; - $1 = +HEAPF64[2357]; - $2 = $0 - $1; - HEAPF64[2360] = $2; - HEAPF64[2357] = $0; - $3 = +HEAPF64[2359]; - $4 = $2 + $3; - HEAPF64[2343] = $4; - $5 = +HEAPF64[2354]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[2358] = $10; - $11 = +HEAPF64[2357]; - $12 = $10 - $11; - HEAPF64[2357] = $10; - $13 = +HEAPF64[2343]; - $14 = $12 + $13; - HEAPF64[2343] = $14; - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5479]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[924] = -1; - HEAP32[926] = -1; - HEAP32[5515] = 0; - $3 = HEAP32[5479]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[4706] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(18828)>>2] = $7; - _memcpy((23355|0),(22843|0),512)|0; - ;HEAP8[22840>>0]=HEAP8[22837>>0]|0;HEAP8[22840+1>>0]=HEAP8[22837+1>>0]|0;HEAP8[22840+2>>0]=HEAP8[22837+2>>0]|0; - $8 = HEAP32[5514]|0; - HEAP32[5480] = $8; - HEAP32[5514] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (23867 + ($$05160<<5)|0); - $scevgep67 = (23995 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((23995 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[926] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((22064 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[5515] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[5482]|0; - $3 = (+($2|0)); - $4 = HEAP32[5483]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 0.5; - $11 = $10 * 0.01745329238474369; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20152); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5421]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _GetMouseRay($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy8 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 352|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(352|0); - $$byval_copy12 = sp; - $$byval_copy11 = sp + 280|0; - $$byval_copy8 = sp + 264|0; - $3 = sp + 216|0; - $4 = sp + 152|0; - $5 = sp + 88|0; - $6 = sp + 76|0; - $7 = sp + 252|0; - $8 = sp + 64|0; - $9 = sp + 240|0; - $10 = +HEAPF32[$1>>2]; - $11 = $10 * 2.0; - $12 = (_GetScreenWidth()|0); - $13 = (+($12|0)); - $14 = $11 / $13; - $15 = $14 + -1.0; - $16 = ((($1)) + 4|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 * 2.0; - $19 = (_GetScreenHeight()|0); - $20 = (+($19|0)); - $21 = $18 / $20; - $22 = 1.0 - $21; - $23 = $15; - $24 = $22; - HEAPF64[$$byval_copy12>>3] = $23; - $vararg_ptr1 = ((($$byval_copy12)) + 8|0); - HEAPF64[$vararg_ptr1>>3] = $24; - $vararg_ptr2 = ((($$byval_copy12)) + 16|0); - HEAPF64[$vararg_ptr2>>3] = 1.0; - _TraceLog(3,12922,$$byval_copy12); - $25 = ((($2)) + 36|0); - $26 = +HEAPF32[$25>>2]; - $27 = $26 * 0.01745329238474369; - $28 = $27; - $29 = (_GetScreenWidth()|0); - $30 = (+($29|0)); - $31 = (_GetScreenHeight()|0); - $32 = (+($31|0)); - $33 = $30 / $32; - _MatrixPerspective($4,$28,$33,0.01,1000.0); - $34 = ((($2)) + 12|0); - $35 = ((($2)) + 24|0); - ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP32[$$byval_copy11>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[$34+8>>2]|0; - ;HEAP32[$$byval_copy12>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$35+4>>2]|0;HEAP32[$$byval_copy12+8>>2]=HEAP32[$35+8>>2]|0; - _MatrixLookAt($5,$$byval_copy8,$$byval_copy11,$$byval_copy12); - HEAPF32[$7>>2] = $15; - $36 = ((($7)) + 4|0); - HEAPF32[$36>>2] = $22; - $37 = ((($7)) + 8|0); - HEAPF32[$37>>2] = 0.0; - ;HEAP32[$$byval_copy8>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[$7+8>>2]|0; - dest=$$byval_copy11; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy12; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlUnproject($6,$$byval_copy8,$$byval_copy11,$$byval_copy12); - HEAPF32[$9>>2] = $15; - $38 = ((($9)) + 4|0); - HEAPF32[$38>>2] = $22; - $39 = ((($9)) + 8|0); - HEAPF32[$39>>2] = 1.0; - ;HEAP32[$$byval_copy8>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[$9+8>>2]|0; - dest=$$byval_copy11; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy12; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlUnproject($8,$$byval_copy8,$$byval_copy11,$$byval_copy12); - ;HEAP32[$$byval_copy11>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[$8+8>>2]|0; - ;HEAP32[$$byval_copy12>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy12+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3Subtract($$byval_copy8,$$byval_copy11,$$byval_copy12); - _Vector3Normalize($$byval_copy8); - ;HEAP32[$3>>2]=HEAP32[$2>>2]|0;HEAP32[$3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$2+8>>2]|0; - $40 = ((($3)) + 12|0); - ;HEAP32[$40>>2]=HEAP32[$$byval_copy8>>2]|0;HEAP32[$40+4>>2]=HEAP32[$$byval_copy8+4>>2]|0;HEAP32[$40+8>>2]=HEAP32[$$byval_copy8+8>>2]|0; - ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$3+20>>2]|0; - STACKTOP = sp;return; -} -function _rlUnproject($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$6$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $$byval_copy2 = sp + 128|0; - $$byval_copy = sp + 64|0; - $4 = sp; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy2); - _MatrixInvert($4); - $5 = HEAP32[$1>>2]|0; - HEAP32[$$byval_copy>>2] = $5; - $6 = ((($$byval_copy)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$6>>2] = $8; - $9 = ((($$byval_copy)) + 8|0); - $10 = ((($1)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$9>>2] = $11; - $12 = ((($$byval_copy)) + 12|0); - HEAPF32[$12>>2] = 1.0; - dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _QuaternionTransform($$byval_copy,$$byval_copy2); - $13 = +HEAPF32[$$byval_copy>>2]; - $14 = +HEAPF32[$12>>2]; - $15 = $13 / $14; - $16 = +HEAPF32[$6>>2]; - $17 = $16 / $14; - $18 = +HEAPF32[$9>>2]; - $19 = $18 / $14; - HEAPF32[$0>>2] = $15; - $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$5$0$$sroa_idx2>>2] = $17; - $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$6$0$$sroa_idx4>>2] = $19; - STACKTOP = sp;return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12955)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12959)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12963)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12967)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12973)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13011)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 13030; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13043)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 13064; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13079)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 13094; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13109)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 13124; - } - } else { - HEAP32[$3>>2] = 12995; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,13139)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,13153)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 3; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,13165)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 7; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,13179)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 8; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,13191)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 9; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,13205)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 10; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,13219)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 11; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,13236)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,13259)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,13285)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,13298)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,13314)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,13327)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 12; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,13341)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,13361)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,13381)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,13398)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13415)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 4; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13427)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 13; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13440)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 14; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13456)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,13479)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,13492)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,13508)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 5; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,13519)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 15; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13538)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 16; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13560)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 17; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13579)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13608)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 6; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13625)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13640)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13655)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13676)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13696)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13716)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,13742)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,13761)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,13773)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,13785)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,13797)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13809)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 18; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13821)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13833)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13845)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13857)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13870)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13883)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13896)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13909)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13922)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13935)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13948)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13961)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13980)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13999)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14018)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 19; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14031)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 20; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14049)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 21; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14067)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 22; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14085)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 23; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14103)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,14123)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13064)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 7; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,14141)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,14156)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,14177)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,14192)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,14210)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,14226)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,14245)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,14259)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,14274)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 8; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12995)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,14285)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13094)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 24; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,13124)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 25; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,14301)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,14328)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,14342)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13030)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,14362)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,14380)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 9; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,14392)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14413)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 26; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14431)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 27; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14449)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 28; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,14470)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,14496)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,14519)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14557)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 10; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14573)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14588)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14611)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14624)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 29; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14638)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 30; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14652)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14672)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14692)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14708)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,14726)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,14742)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,14757)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,14779)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 31; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,14797)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 32; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14818)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14836)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14849)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14864)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14878)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14888)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14898)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14920)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14946)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14973)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14986)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15001)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15016)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15040)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15051)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 33; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15073)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15095)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15119)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,15128)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,15136)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,15149)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,15163)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,15175)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,15184)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,15194)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,15206)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,15217)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,15225)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,15237)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,15252)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,15264)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,15278)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 11; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,15303)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,15320)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,15336)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,15352)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 12; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,15364)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 34; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,15376)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 35; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,15400)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15413)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15427)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 36; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15449)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 37; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15456)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,15472)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,15489)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,15506)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15522)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15538)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15555)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15569)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15581)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15592)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15605)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15615)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15632)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15644)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15666)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15686)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15699)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15721)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,15741)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,15758)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,15775)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,15795)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 38; - break; - } - } else { - HEAP32[$1>>2] = 6; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ($0>>>0)<(245); - do { - if ($2) { - $3 = ($0>>>0)<(11); - $4 = (($0) + 11)|0; - $5 = $4 & -8; - $6 = $3 ? 16 : $5; - $7 = $6 >>> 3; - $8 = HEAP32[5548]|0; - $9 = $8 >>> $7; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if (!($11)) { - $12 = $9 & 1; - $13 = $12 ^ 1; - $14 = (($13) + ($7))|0; - $15 = $14 << 1; - $16 = (22232 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[5548] = $24; - } else { - $25 = HEAP32[(22208)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(22200)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (22232 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[5548] = $77; - $98 = $77; - } else { - $78 = HEAP32[(22208)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(22212)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (22232 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[5548] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(22208)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(22200)>>2] = $84; - HEAP32[(22212)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(22196)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (22496 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(22208)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (22496 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(22196)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(22208)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(22208)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(22208)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(22212)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (22232 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[5548] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(22208)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(22200)>>2] = $$0193$lcssa$i; - HEAP32[(22212)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(22196)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (22496 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (22496 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(22200)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(22208)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (22496 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(22196)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(22208)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(22208)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(22208)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (22232 + ($425<<2)|0); - $427 = HEAP32[5548]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[5548] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(22208)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (22496 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(22196)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(22208)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(22208)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(22200)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(22212)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(22212)>>2] = $511; - HEAP32[(22200)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(22200)>>2] = 0; - HEAP32[(22212)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(22204)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(22204)>>2] = $526; - $527 = HEAP32[(22216)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(22216)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[5666]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(22672)>>2] = 4096; - HEAP32[(22668)>>2] = 4096; - HEAP32[(22676)>>2] = -1; - HEAP32[(22680)>>2] = -1; - HEAP32[(22684)>>2] = 0; - HEAP32[(22636)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[5666] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(22672)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(22632)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(22624)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(22636)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(22216)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (22640); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(22668)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22624)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(22632)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(22672)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(22636)>>2]|0; - $612 = $611 | 4; - HEAP32[(22636)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(22624)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(22624)>>2] = $627; - $628 = HEAP32[(22628)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(22628)>>2] = $627; - } - $630 = HEAP32[(22216)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(22208)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(22208)>>2] = $$749$i; - } - HEAP32[(22640)>>2] = $$749$i; - HEAP32[(22644)>>2] = $$723948$i; - HEAP32[(22652)>>2] = 0; - $635 = HEAP32[5666]|0; - HEAP32[(22228)>>2] = $635; - HEAP32[(22224)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (22232 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(22216)>>2] = $649; - HEAP32[(22204)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(22680)>>2]|0; - HEAP32[(22220)>>2] = $655; - } else { - $$024371$i = (22640); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(22204)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(22216)>>2] = $679; - HEAP32[(22204)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(22680)>>2]|0; - HEAP32[(22220)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(22208)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(22208)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22640); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(22204)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(22204)>>2] = $727; - HEAP32[(22216)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(22212)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(22200)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(22200)>>2] = $733; - HEAP32[(22212)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (22232 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[5548]|0; - $760 = $759 & $758; - HEAP32[5548] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (22496 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(22196)>>2]|0; - $803 = $802 & $801; - HEAP32[(22196)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(22208)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(22208)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(22208)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (22232 + ($836<<2)|0); - $838 = HEAP32[5548]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[5548] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(22208)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (22496 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(22196)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(22196)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(22208)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(22208)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (22640); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(22216)>>2] = $946; - HEAP32[(22204)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(22680)>>2]|0; - HEAP32[(22220)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22640)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22640)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22640)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22640)+12>>2]|0; - HEAP32[(22640)>>2] = $$749$i; - HEAP32[(22644)>>2] = $$723948$i; - HEAP32[(22652)>>2] = 0; - HEAP32[(22648)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (22232 + ($968<<2)|0); - $970 = HEAP32[5548]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[5548] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(22208)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (22496 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(22196)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(22196)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(22208)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(22208)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(22204)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(22204)>>2] = $1050; - $1051 = HEAP32[(22216)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(22216)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(22208)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(22212)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(22200)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (22232 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[5548]|0; - $38 = $37 & $36; - HEAP32[5548] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (22496 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(22196)>>2]|0; - $81 = $80 & $79; - HEAP32[(22196)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(22208)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(22208)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(22208)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(22216)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(22212)>>2]|0; - if ($121) { - $123 = HEAP32[(22204)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(22204)>>2] = $124; - HEAP32[(22216)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(22212)>>2] = 0; - HEAP32[(22200)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(22200)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(22200)>>2] = $130; - HEAP32[(22212)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (22232 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(22208)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[5548]|0; - $154 = $153 & $152; - HEAP32[5548] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(22208)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(22208)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(22208)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (22496 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(22196)>>2]|0; - $200 = $199 & $198; - HEAP32[(22196)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(22208)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(22208)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(22208)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(22212)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(22200)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (22232 + ($234<<2)|0); - $236 = HEAP32[5548]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[5548] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(22208)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (22496 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(22196)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(22196)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(22208)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(22208)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(22224)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(22224)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (22648); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(22224)>>2] = -1; - return; -} -function _realloc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = (_malloc($1)|0); - $$1 = $3; - return ($$1|0); - } - $4 = ($1>>>0)>(4294967231); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 12; - $$1 = 0; - return ($$1|0); - } - $6 = ($1>>>0)<(11); - $7 = (($1) + 11)|0; - $8 = $7 & -8; - $9 = $6 ? 16 : $8; - $10 = ((($0)) + -8|0); - $11 = (_try_realloc_chunk($10,$9)|0); - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = ((($11)) + 8|0); - $$1 = $13; - return ($$1|0); - } - $14 = (_malloc($1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$1 = 0; - return ($$1|0); - } - $16 = ((($0)) + -4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & -8; - $19 = $17 & 3; - $20 = ($19|0)==(0); - $21 = $20 ? 8 : 4; - $22 = (($18) - ($21))|0; - $23 = ($22>>>0)<($1>>>0); - $24 = $23 ? $22 : $1; - _memcpy(($14|0),($0|0),($24|0))|0; - _free($0); - $$1 = $14; - return ($$1|0); -} -function _try_realloc_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -8; - $5 = (($0) + ($4)|0); - $6 = HEAP32[(22208)>>2]|0; - $7 = $3 & 3; - $notlhs = ($0>>>0)>=($6>>>0); - $notrhs = ($7|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $8 = ($0>>>0)<($5>>>0); - $or$cond3 = $or$cond$not & $8; - if (!($or$cond3)) { - _abort(); - // unreachable; - } - $9 = ((($5)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($7|0)==(0); - if ($13) { - $14 = ($1>>>0)<(256); - if ($14) { - $$2 = 0; - return ($$2|0); - } - $15 = (($1) + 4)|0; - $16 = ($4>>>0)<($15>>>0); - if (!($16)) { - $17 = (($4) - ($1))|0; - $18 = HEAP32[(22672)>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $$2 = $0; - return ($$2|0); - } - } - $$2 = 0; - return ($$2|0); - } - $21 = ($4>>>0)<($1>>>0); - if (!($21)) { - $22 = (($4) - ($1))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $$2 = $0; - return ($$2|0); - } - $24 = (($0) + ($1)|0); - $25 = $3 & 1; - $26 = $25 | $1; - $27 = $26 | 2; - HEAP32[$2>>2] = $27; - $28 = ((($24)) + 4|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = (($24) + ($22)|0); - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - _dispose_chunk($24,$22); - $$2 = $0; - return ($$2|0); - } - $34 = HEAP32[(22216)>>2]|0; - $35 = ($5|0)==($34|0); - if ($35) { - $36 = HEAP32[(22204)>>2]|0; - $37 = (($36) + ($4))|0; - $38 = ($37>>>0)>($1>>>0); - $39 = (($37) - ($1))|0; - $40 = (($0) + ($1)|0); - if (!($38)) { - $$2 = 0; - return ($$2|0); - } - $41 = $39 | 1; - $42 = ((($40)) + 4|0); - $43 = $3 & 1; - $44 = $43 | $1; - $45 = $44 | 2; - HEAP32[$2>>2] = $45; - HEAP32[$42>>2] = $41; - HEAP32[(22216)>>2] = $40; - HEAP32[(22204)>>2] = $39; - $$2 = $0; - return ($$2|0); - } - $46 = HEAP32[(22212)>>2]|0; - $47 = ($5|0)==($46|0); - if ($47) { - $48 = HEAP32[(22200)>>2]|0; - $49 = (($48) + ($4))|0; - $50 = ($49>>>0)<($1>>>0); - if ($50) { - $$2 = 0; - return ($$2|0); - } - $51 = (($49) - ($1))|0; - $52 = ($51>>>0)>(15); - $53 = $3 & 1; - if ($52) { - $54 = (($0) + ($1)|0); - $55 = (($54) + ($51)|0); - $56 = $53 | $1; - $57 = $56 | 2; - HEAP32[$2>>2] = $57; - $58 = ((($54)) + 4|0); - $59 = $51 | 1; - HEAP32[$58>>2] = $59; - HEAP32[$55>>2] = $51; - $60 = ((($55)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 & -2; - HEAP32[$60>>2] = $62; - $storemerge = $54;$storemerge1 = $51; - } else { - $63 = $53 | $49; - $64 = $63 | 2; - HEAP32[$2>>2] = $64; - $65 = (($0) + ($49)|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | 1; - HEAP32[$66>>2] = $68; - $storemerge = 0;$storemerge1 = 0; - } - HEAP32[(22200)>>2] = $storemerge1; - HEAP32[(22212)>>2] = $storemerge; - $$2 = $0; - return ($$2|0); - } - $69 = $10 & 2; - $70 = ($69|0)==(0); - if (!($70)) { - $$2 = 0; - return ($$2|0); - } - $71 = $10 & -8; - $72 = (($71) + ($4))|0; - $73 = ($72>>>0)<($1>>>0); - if ($73) { - $$2 = 0; - return ($$2|0); - } - $74 = (($72) - ($1))|0; - $75 = $10 >>> 3; - $76 = ($10>>>0)<(256); - L49: do { - if ($76) { - $77 = ((($5)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($5)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = $75 << 1; - $82 = (22232 + ($81<<2)|0); - $83 = ($78|0)==($82|0); - if (!($83)) { - $84 = ($78>>>0)<($6>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($78)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==($5|0); - if (!($87)) { - _abort(); - // unreachable; - } - } - $88 = ($80|0)==($78|0); - if ($88) { - $89 = 1 << $75; - $90 = $89 ^ -1; - $91 = HEAP32[5548]|0; - $92 = $91 & $90; - HEAP32[5548] = $92; - break; - } - $93 = ($80|0)==($82|0); - if ($93) { - $$pre = ((($80)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $94 = ($80>>>0)<($6>>>0); - if ($94) { - _abort(); - // unreachable; - } - $95 = ((($80)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==($5|0); - if ($97) { - $$pre$phiZ2D = $95; - } else { - _abort(); - // unreachable; - } - } - $98 = ((($78)) + 12|0); - HEAP32[$98>>2] = $80; - HEAP32[$$pre$phiZ2D>>2] = $78; - } else { - $99 = ((($5)) + 24|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($5)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)==($5|0); - do { - if ($103) { - $113 = ((($5)) + 16|0); - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $117 = HEAP32[$113>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - $$3 = 0; - break; - } else { - $$1272 = $117;$$1275 = $113; - } - } else { - $$1272 = $115;$$1275 = $114; - } - while(1) { - $119 = ((($$1272)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)==(0|0); - if (!($121)) { - $$1272 = $120;$$1275 = $119; - continue; - } - $122 = ((($$1272)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break; - } else { - $$1272 = $123;$$1275 = $122; - } - } - $125 = ($$1275>>>0)<($6>>>0); - if ($125) { - _abort(); - // unreachable; - } else { - HEAP32[$$1275>>2] = 0; - $$3 = $$1272; - break; - } - } else { - $104 = ((($5)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105>>>0)<($6>>>0); - if ($106) { - _abort(); - // unreachable; - } - $107 = ((($105)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==($5|0); - if (!($109)) { - _abort(); - // unreachable; - } - $110 = ((($102)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==($5|0); - if ($112) { - HEAP32[$107>>2] = $102; - HEAP32[$110>>2] = $105; - $$3 = $102; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $126 = ($100|0)==(0|0); - if (!($126)) { - $127 = ((($5)) + 28|0); - $128 = HEAP32[$127>>2]|0; - $129 = (22496 + ($128<<2)|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($5|0)==($130|0); - do { - if ($131) { - HEAP32[$129>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $132 = 1 << $128; - $133 = $132 ^ -1; - $134 = HEAP32[(22196)>>2]|0; - $135 = $134 & $133; - HEAP32[(22196)>>2] = $135; - break L49; - } - } else { - $136 = HEAP32[(22208)>>2]|0; - $137 = ($100>>>0)<($136>>>0); - if ($137) { - _abort(); - // unreachable; - } else { - $138 = ((($100)) + 16|0); - $139 = HEAP32[$138>>2]|0; - $not$ = ($139|0)!=($5|0); - $$sink1 = $not$&1; - $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); - HEAP32[$140>>2] = $$3; - $141 = ($$3|0)==(0|0); - if ($141) { - break L49; - } else { - break; - } - } - } - } while(0); - $142 = HEAP32[(22208)>>2]|0; - $143 = ($$3>>>0)<($142>>>0); - if ($143) { - _abort(); - // unreachable; - } - $144 = ((($$3)) + 24|0); - HEAP32[$144>>2] = $100; - $145 = ((($5)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==(0|0); - do { - if (!($147)) { - $148 = ($146>>>0)<($142>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = ((($$3)) + 16|0); - HEAP32[$149>>2] = $146; - $150 = ((($146)) + 24|0); - HEAP32[$150>>2] = $$3; - break; - } - } - } while(0); - $151 = ((($145)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[(22208)>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = ((($$3)) + 20|0); - HEAP32[$156>>2] = $152; - $157 = ((($152)) + 24|0); - HEAP32[$157>>2] = $$3; - break; - } - } - } - } - } while(0); - $158 = ($74>>>0)<(16); - $159 = $3 & 1; - if ($158) { - $160 = $72 | $159; - $161 = $160 | 2; - HEAP32[$2>>2] = $161; - $162 = (($0) + ($72)|0); - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $$2 = $0; - return ($$2|0); - } else { - $166 = (($0) + ($1)|0); - $167 = $159 | $1; - $168 = $167 | 2; - HEAP32[$2>>2] = $168; - $169 = ((($166)) + 4|0); - $170 = $74 | 3; - HEAP32[$169>>2] = $170; - $171 = (($166) + ($74)|0); - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 | 1; - HEAP32[$172>>2] = $174; - _dispose_chunk($166,$74); - $$2 = $0; - return ($$2|0); - } - return (0)|0; -} -function _dispose_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; - var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0) + ($1)|0); - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = $4 & 3; - $9 = ($8|0)==(0); - if ($9) { - return; - } - $10 = (0 - ($7))|0; - $11 = (($0) + ($10)|0); - $12 = (($7) + ($1))|0; - $13 = HEAP32[(22208)>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - _abort(); - // unreachable; - } - $15 = HEAP32[(22212)>>2]|0; - $16 = ($11|0)==($15|0); - if ($16) { - $100 = ((($2)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$1 = $11;$$1418 = $12; - break; - } - $104 = (($11) + ($12)|0); - $105 = ((($11)) + 4|0); - $106 = $12 | 1; - $107 = $101 & -2; - HEAP32[(22200)>>2] = $12; - HEAP32[$100>>2] = $107; - HEAP32[$105>>2] = $106; - HEAP32[$104>>2] = $12; - return; - } - $17 = $7 >>> 3; - $18 = ($7>>>0)<(256); - if ($18) { - $19 = ((($11)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($11)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = $17 << 1; - $24 = (22232 + ($23<<2)|0); - $25 = ($20|0)==($24|0); - if (!($25)) { - $26 = ($20>>>0)<($13>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($11|0); - if (!($29)) { - _abort(); - // unreachable; - } - } - $30 = ($22|0)==($20|0); - if ($30) { - $31 = 1 << $17; - $32 = $31 ^ -1; - $33 = HEAP32[5548]|0; - $34 = $33 & $32; - HEAP32[5548] = $34; - $$1 = $11;$$1418 = $12; - break; - } - $35 = ($22|0)==($24|0); - if ($35) { - $$pre25 = ((($22)) + 8|0); - $$pre$phi26Z2D = $$pre25; - } else { - $36 = ($22>>>0)<($13>>>0); - if ($36) { - _abort(); - // unreachable; - } - $37 = ((($22)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==($11|0); - if ($39) { - $$pre$phi26Z2D = $37; - } else { - _abort(); - // unreachable; - } - } - $40 = ((($20)) + 12|0); - HEAP32[$40>>2] = $22; - HEAP32[$$pre$phi26Z2D>>2] = $20; - $$1 = $11;$$1418 = $12; - break; - } - $41 = ((($11)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($11)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==($11|0); - do { - if ($45) { - $55 = ((($11)) + 16|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $59 = HEAP32[$55>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - $$3 = 0; - break; - } else { - $$1426 = $59;$$1429 = $55; - } - } else { - $$1426 = $57;$$1429 = $56; - } - while(1) { - $61 = ((($$1426)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $$1426 = $62;$$1429 = $61; - continue; - } - $64 = ((($$1426)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - break; - } else { - $$1426 = $65;$$1429 = $64; - } - } - $67 = ($$1429>>>0)<($13>>>0); - if ($67) { - _abort(); - // unreachable; - } else { - HEAP32[$$1429>>2] = 0; - $$3 = $$1426; - break; - } - } else { - $46 = ((($11)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47>>>0)<($13>>>0); - if ($48) { - _abort(); - // unreachable; - } - $49 = ((($47)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==($11|0); - if (!($51)) { - _abort(); - // unreachable; - } - $52 = ((($44)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==($11|0); - if ($54) { - HEAP32[$49>>2] = $44; - HEAP32[$52>>2] = $47; - $$3 = $44; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $68 = ($42|0)==(0|0); - if ($68) { - $$1 = $11;$$1418 = $12; - } else { - $69 = ((($11)) + 28|0); - $70 = HEAP32[$69>>2]|0; - $71 = (22496 + ($70<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($11|0)==($72|0); - do { - if ($73) { - HEAP32[$71>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $74 = 1 << $70; - $75 = $74 ^ -1; - $76 = HEAP32[(22196)>>2]|0; - $77 = $76 & $75; - HEAP32[(22196)>>2] = $77; - $$1 = $11;$$1418 = $12; - break L1; - } - } else { - $78 = HEAP32[(22208)>>2]|0; - $79 = ($42>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } else { - $80 = ((($42)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $not$1 = ($81|0)!=($11|0); - $$sink2 = $not$1&1; - $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); - HEAP32[$82>>2] = $$3; - $83 = ($$3|0)==(0|0); - if ($83) { - $$1 = $11;$$1418 = $12; - break L1; - } else { - break; - } - } - } - } while(0); - $84 = HEAP32[(22208)>>2]|0; - $85 = ($$3>>>0)<($84>>>0); - if ($85) { - _abort(); - // unreachable; - } - $86 = ((($$3)) + 24|0); - HEAP32[$86>>2] = $42; - $87 = ((($11)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0|0); - do { - if (!($89)) { - $90 = ($88>>>0)<($84>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = ((($$3)) + 16|0); - HEAP32[$91>>2] = $88; - $92 = ((($88)) + 24|0); - HEAP32[$92>>2] = $$3; - break; - } - } - } while(0); - $93 = ((($87)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$1 = $11;$$1418 = $12; - } else { - $96 = HEAP32[(22208)>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = ((($$3)) + 20|0); - HEAP32[$98>>2] = $94; - $99 = ((($94)) + 24|0); - HEAP32[$99>>2] = $$3; - $$1 = $11;$$1418 = $12; - break; - } - } - } - } else { - $$1 = $0;$$1418 = $1; - } - } while(0); - $108 = HEAP32[(22208)>>2]|0; - $109 = ($2>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $110 = ((($2)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[(22216)>>2]|0; - $115 = ($2|0)==($114|0); - $116 = HEAP32[(22212)>>2]|0; - if ($115) { - $117 = HEAP32[(22204)>>2]|0; - $118 = (($117) + ($$1418))|0; - HEAP32[(22204)>>2] = $118; - HEAP32[(22216)>>2] = $$1; - $119 = $118 | 1; - $120 = ((($$1)) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ($$1|0)==($116|0); - if (!($121)) { - return; - } - HEAP32[(22212)>>2] = 0; - HEAP32[(22200)>>2] = 0; - return; - } - $122 = ($2|0)==($116|0); - if ($122) { - $123 = HEAP32[(22200)>>2]|0; - $124 = (($123) + ($$1418))|0; - HEAP32[(22200)>>2] = $124; - HEAP32[(22212)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = (($$1) + ($124)|0); - HEAP32[$127>>2] = $124; - return; - } - $128 = $111 & -8; - $129 = (($128) + ($$1418))|0; - $130 = $111 >>> 3; - $131 = ($111>>>0)<(256); - L96: do { - if ($131) { - $132 = ((($2)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = ((($2)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = $130 << 1; - $137 = (22232 + ($136<<2)|0); - $138 = ($133|0)==($137|0); - if (!($138)) { - $139 = ($133>>>0)<($108>>>0); - if ($139) { - _abort(); - // unreachable; - } - $140 = ((($133)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==($2|0); - if (!($142)) { - _abort(); - // unreachable; - } - } - $143 = ($135|0)==($133|0); - if ($143) { - $144 = 1 << $130; - $145 = $144 ^ -1; - $146 = HEAP32[5548]|0; - $147 = $146 & $145; - HEAP32[5548] = $147; - break; - } - $148 = ($135|0)==($137|0); - if ($148) { - $$pre23 = ((($135)) + 8|0); - $$pre$phi24Z2D = $$pre23; - } else { - $149 = ($135>>>0)<($108>>>0); - if ($149) { - _abort(); - // unreachable; - } - $150 = ((($135)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==($2|0); - if ($152) { - $$pre$phi24Z2D = $150; - } else { - _abort(); - // unreachable; - } - } - $153 = ((($133)) + 12|0); - HEAP32[$153>>2] = $135; - HEAP32[$$pre$phi24Z2D>>2] = $133; - } else { - $154 = ((($2)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = ((($2)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($2|0); - do { - if ($158) { - $168 = ((($2)) + 16|0); - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$168>>2]|0; - $173 = ($172|0)==(0|0); - if ($173) { - $$3435 = 0; - break; - } else { - $$1433 = $172;$$1437 = $168; - } - } else { - $$1433 = $170;$$1437 = $169; - } - while(1) { - $174 = ((($$1433)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==(0|0); - if (!($176)) { - $$1433 = $175;$$1437 = $174; - continue; - } - $177 = ((($$1433)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - break; - } else { - $$1433 = $178;$$1437 = $177; - } - } - $180 = ($$1437>>>0)<($108>>>0); - if ($180) { - _abort(); - // unreachable; - } else { - HEAP32[$$1437>>2] = 0; - $$3435 = $$1433; - break; - } - } else { - $159 = ((($2)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160>>>0)<($108>>>0); - if ($161) { - _abort(); - // unreachable; - } - $162 = ((($160)) + 12|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($2|0); - if (!($164)) { - _abort(); - // unreachable; - } - $165 = ((($157)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==($2|0); - if ($167) { - HEAP32[$162>>2] = $157; - HEAP32[$165>>2] = $160; - $$3435 = $157; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $181 = ($155|0)==(0|0); - if (!($181)) { - $182 = ((($2)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = (22496 + ($183<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($2|0)==($185|0); - do { - if ($186) { - HEAP32[$184>>2] = $$3435; - $cond17 = ($$3435|0)==(0|0); - if ($cond17) { - $187 = 1 << $183; - $188 = $187 ^ -1; - $189 = HEAP32[(22196)>>2]|0; - $190 = $189 & $188; - HEAP32[(22196)>>2] = $190; - break L96; - } - } else { - $191 = HEAP32[(22208)>>2]|0; - $192 = ($155>>>0)<($191>>>0); - if ($192) { - _abort(); - // unreachable; - } else { - $193 = ((($155)) + 16|0); - $194 = HEAP32[$193>>2]|0; - $not$ = ($194|0)!=($2|0); - $$sink4 = $not$&1; - $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); - HEAP32[$195>>2] = $$3435; - $196 = ($$3435|0)==(0|0); - if ($196) { - break L96; - } else { - break; - } - } - } - } while(0); - $197 = HEAP32[(22208)>>2]|0; - $198 = ($$3435>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($$3435)) + 24|0); - HEAP32[$199>>2] = $155; - $200 = ((($2)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($$3435)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $$3435; - break; - } - } - } while(0); - $206 = ((($200)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(22208)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($$3435)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $$3435; - break; - } - } - } - } - } while(0); - $213 = $129 | 1; - $214 = ((($$1)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$1) + ($129)|0); - HEAP32[$215>>2] = $129; - $216 = HEAP32[(22212)>>2]|0; - $217 = ($$1|0)==($216|0); - if ($217) { - HEAP32[(22200)>>2] = $129; - return; - } else { - $$2 = $129; - } - } else { - $218 = $111 & -2; - HEAP32[$110>>2] = $218; - $219 = $$1418 | 1; - $220 = ((($$1)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$1) + ($$1418)|0); - HEAP32[$221>>2] = $$1418; - $$2 = $$1418; - } - $222 = $$2 >>> 3; - $223 = ($$2>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (22232 + ($224<<2)|0); - $226 = HEAP32[5548]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[5548] = $230; - $$pre = ((($225)) + 8|0); - $$0438 = $225;$$pre$phiZ2D = $$pre; - } else { - $231 = ((($225)) + 8|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(22208)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$0438 = $232;$$pre$phiZ2D = $231; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $235 = ((($$0438)) + 12|0); - HEAP32[$235>>2] = $$1; - $236 = ((($$1)) + 8|0); - HEAP32[$236>>2] = $$0438; - $237 = ((($$1)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$2 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $$0431 = 0; - } else { - $240 = ($$2>>>0)>(16777215); - if ($240) { - $$0431 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$2 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $$0431 = $262; - } - } - $263 = (22496 + ($$0431<<2)|0); - $264 = ((($$1)) + 28|0); - HEAP32[$264>>2] = $$0431; - $265 = ((($$1)) + 16|0); - $266 = ((($$1)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(22196)>>2]|0; - $268 = 1 << $$0431; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(22196)>>2] = $271; - HEAP32[$263>>2] = $$1; - $272 = ((($$1)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$1)) + 12|0); - HEAP32[$273>>2] = $$1; - $274 = ((($$1)) + 8|0); - HEAP32[$274>>2] = $$1; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($$0431|0)==(31); - $277 = $$0431 >>> 1; - $278 = (25 - ($277))|0; - $279 = $276 ? 0 : $278; - $280 = $$2 << $279; - $$0419 = $280;$$0420 = $275; - while(1) { - $281 = ((($$0420)) + 4|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 & -8; - $284 = ($283|0)==($$2|0); - if ($284) { - label = 121; - break; - } - $285 = $$0419 >>> 31; - $286 = (((($$0420)) + 16|0) + ($285<<2)|0); - $287 = $$0419 << 1; - $288 = HEAP32[$286>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - label = 118; - break; - } else { - $$0419 = $287;$$0420 = $288; - } - } - if ((label|0) == 118) { - $290 = HEAP32[(22208)>>2]|0; - $291 = ($286>>>0)<($290>>>0); - if ($291) { - _abort(); - // unreachable; - } - HEAP32[$286>>2] = $$1; - $292 = ((($$1)) + 24|0); - HEAP32[$292>>2] = $$0420; - $293 = ((($$1)) + 12|0); - HEAP32[$293>>2] = $$1; - $294 = ((($$1)) + 8|0); - HEAP32[$294>>2] = $$1; - return; - } - else if ((label|0) == 121) { - $295 = ((($$0420)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(22208)>>2]|0; - $298 = ($296>>>0)>=($297>>>0); - $not$19 = ($$0420>>>0)>=($297>>>0); - $299 = $298 & $not$19; - if (!($299)) { - _abort(); - // unreachable; - } - $300 = ((($296)) + 12|0); - HEAP32[$300>>2] = $$1; - HEAP32[$295>>2] = $$1; - $301 = ((($$1)) + 8|0); - HEAP32[$301>>2] = $296; - $302 = ((($$1)) + 12|0); - HEAP32[$302>>2] = $$0420; - $303 = ((($$1)) + 24|0); - HEAP32[$303>>2] = 0; - return; - } -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (22688|0); -} -function ___stdio_close($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 60|0); - $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); - HEAP32[$vararg_buffer>>2] = $3; - $4 = (___syscall6(6,($vararg_buffer|0))|0); - $5 = (___syscall_ret($4)|0); - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $3 = sp + 32|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$3>>2] = $5; - $6 = ((($3)) + 4|0); - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - ($5))|0; - HEAP32[$6>>2] = $9; - $10 = ((($3)) + 8|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $2; - $12 = (($9) + ($2))|0; - $13 = ((($0)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = $3; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $16 = (___syscall146(146,($vararg_buffer|0))|0); - $17 = (___syscall_ret($16)|0); - $18 = ($12|0)==($17|0); - L1: do { - if ($18) { - label = 3; - } else { - $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; - while(1) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } while(0); - if ((label|0) == 3) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 16|0); - HEAP32[$24>>2] = $23; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|0); -} -function ___stdio_seek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 20|0; - $4 = ((($0)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $1; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $6; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $2; - $7 = (___syscall140(140,($vararg_buffer|0))|0); - $8 = (___syscall_ret($7)|0); - $9 = ($8|0)<(0); - if ($9) { - HEAP32[$3>>2] = -1; - $10 = -1; - } else { - $$pre = HEAP32[$3>>2]|0; - $10 = $$pre; - } - STACKTOP = sp;return ($10|0); -} -function ___syscall_ret($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0>>>0)>(4294963200); - if ($1) { - $2 = (0 - ($0))|0; - $3 = (___errno_location()|0); - HEAP32[$3>>2] = $2; - $$0 = -1; - } else { - $$0 = $0; - } - return ($$0|0); -} -function ___errno_location() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (3912|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - HEAP32[$3>>2] = $1; - $4 = ((($3)) + 4|0); - $5 = ((($0)) + 48|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = $7&1; - $9 = (($2) - ($8))|0; - HEAP32[$4>>2] = $9; - $10 = ((($3)) + 8|0); - $11 = ((($0)) + 44|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($3)) + 12|0); - HEAP32[$13>>2] = $6; - $14 = ((($0)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = $3; - HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $17 = (___syscall145(145,($vararg_buffer|0))|0); - $18 = (___syscall_ret($17)|0); - $19 = ($18|0)<(1); - if ($19) { - $20 = $18 & 48; - $21 = $20 ^ 16; - $22 = HEAP32[$0>>2]|0; - $23 = $22 | $21; - HEAP32[$0>>2] = $23; - $$0 = $18; - } else { - $24 = HEAP32[$4>>2]|0; - $25 = ($18>>>0)>($24>>>0); - if ($25) { - $26 = (($18) - ($24))|0; - $27 = HEAP32[$11>>2]|0; - $28 = ((($0)) + 4|0); - HEAP32[$28>>2] = $27; - $29 = (($27) + ($26)|0); - $30 = ((($0)) + 8|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = $2; - } else { - $33 = ((($27)) + 1|0); - HEAP32[$28>>2] = $33; - $34 = HEAP8[$27>>0]|0; - $35 = (($2) + -1)|0; - $36 = (($1) + ($35)|0); - HEAP8[$36>>0] = $34; - $$0 = $2; - } - } else { - $$0 = $18; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 10; - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 64; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = $3; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21523; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $11 = (___syscall54(54,($vararg_buffer|0))|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($0)) + 75|0); - HEAP8[$13>>0] = -1; - } - } - $14 = (___stdio_write($0,$1,$2)|0); - STACKTOP = sp;return ($14|0); -} -function _strtox_768($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $5 = sp; - HEAP32[$5>>2] = 0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $0; - $7 = ((($5)) + 44|0); - HEAP32[$7>>2] = $0; - $8 = ($0|0)<(0|0); - $9 = ((($0)) + 2147483647|0); - $$sink = $8 ? (-1) : $9; - $10 = ((($5)) + 8|0); - HEAP32[$10>>2] = $$sink; - $11 = ((($5)) + 76|0); - HEAP32[$11>>2] = -1; - ___shlim($5,0); - $12 = (___intscan($5,$2,1,$3,$4)|0); - $13 = tempRet0; - $14 = ($1|0)==(0|0); - if (!($14)) { - $15 = ((($5)) + 108|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$6>>2]|0; - $18 = HEAP32[$10>>2]|0; - $19 = (($17) + ($16))|0; - $20 = (($19) - ($18))|0; - $21 = (($0) + ($20)|0); - HEAP32[$1>>2] = $21; - } - tempRet0 = ($13); - STACKTOP = sp;return ($12|0); -} -function ___shlim($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 104|0); - HEAP32[$2>>2] = $1; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ((($0)) + 108|0); - HEAP32[$10>>2] = $9; - $11 = ($1|0)!=(0); - $12 = ($9|0)>($1|0); - $or$cond = $11 & $12; - $13 = (($6) + ($1)|0); - $$sink = $or$cond ? $13 : $4; - $14 = ((($0)) + 100|0); - HEAP32[$14>>2] = $$sink; - return; -} -function ___intscan($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; - var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; - var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; - var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; - var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; - var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; - var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; - var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; - var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($1>>>0)>(36); - L1: do { - if ($5) { - $8 = (___errno_location()|0); - HEAP32[$8>>2] = 22; - $289 = 0;$290 = 0; - } else { - $6 = ((($0)) + 4|0); - $7 = ((($0)) + 100|0); - while(1) { - $9 = HEAP32[$6>>2]|0; - $10 = HEAP32[$7>>2]|0; - $11 = ($9>>>0)<($10>>>0); - if ($11) { - $12 = ((($9)) + 1|0); - HEAP32[$6>>2] = $12; - $13 = HEAP8[$9>>0]|0; - $14 = $13&255; - $16 = $14; - } else { - $15 = (___shgetc($0)|0); - $16 = $15; - } - $17 = (_isspace($16)|0); - $18 = ($17|0)==(0); - if ($18) { - break; - } - } - L11: do { - switch ($16|0) { - case 43: case 45: { - $19 = ($16|0)==(45); - $20 = $19 << 31 >> 31; - $21 = HEAP32[$6>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$6>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$0157 = $20;$$0159 = $26; - break L11; - } else { - $27 = (___shgetc($0)|0); - $$0157 = $20;$$0159 = $27; - break L11; - } - break; - } - default: { - $$0157 = 0;$$0159 = $16; - } - } - } while(0); - $28 = ($1|0)==(0); - $29 = $1 | 16; - $30 = ($29|0)==(16); - $31 = ($$0159|0)==(48); - $or$cond5 = $30 & $31; - do { - if ($or$cond5) { - $32 = HEAP32[$6>>2]|0; - $33 = HEAP32[$7>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$6>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $40 = $37; - } else { - $38 = (___shgetc($0)|0); - $40 = $38; - } - $39 = $40 | 32; - $41 = ($39|0)==(120); - if (!($41)) { - if ($28) { - $$1160169 = $40;$$1165168 = 8; - label = 46; - break; - } else { - $$1160 = $40;$$1165 = $1; - label = 32; - break; - } - } - $42 = HEAP32[$6>>2]|0; - $43 = HEAP32[$7>>2]|0; - $44 = ($42>>>0)<($43>>>0); - if ($44) { - $45 = ((($42)) + 1|0); - HEAP32[$6>>2] = $45; - $46 = HEAP8[$42>>0]|0; - $47 = $46&255; - $50 = $47; - } else { - $48 = (___shgetc($0)|0); - $50 = $48; - } - $49 = ((15907) + ($50)|0); - $51 = HEAP8[$49>>0]|0; - $52 = ($51&255)>(15); - if ($52) { - $53 = HEAP32[$7>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - $55 = HEAP32[$6>>2]|0; - $56 = ((($55)) + -1|0); - HEAP32[$6>>2] = $56; - } - $57 = ($2|0)==(0); - if ($57) { - ___shlim($0,0); - $289 = 0;$290 = 0; - break L1; - } - if (!($54)) { - $289 = 0;$290 = 0; - break L1; - } - $58 = HEAP32[$6>>2]|0; - $59 = ((($58)) + -1|0); - HEAP32[$6>>2] = $59; - $289 = 0;$290 = 0; - break L1; - } else { - $$1160169 = $50;$$1165168 = 16; - label = 46; - } - } else { - $$166 = $28 ? 10 : $1; - $60 = ((15907) + ($$0159)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($62>>>0)<($$166>>>0); - if ($63) { - $$1160 = $$0159;$$1165 = $$166; - label = 32; - } else { - $64 = HEAP32[$7>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$6>>2]|0; - $67 = ((($66)) + -1|0); - HEAP32[$6>>2] = $67; - } - ___shlim($0,0); - $68 = (___errno_location()|0); - HEAP32[$68>>2] = 22; - $289 = 0;$290 = 0; - break L1; - } - } - } while(0); - L43: do { - if ((label|0) == 32) { - $69 = ($$1165|0)==(10); - if ($69) { - $70 = (($$1160) + -48)|0; - $71 = ($70>>>0)<(10); - if ($71) { - $$0154222 = 0;$74 = $70; - while(1) { - $72 = ($$0154222*10)|0; - $73 = (($72) + ($74))|0; - $75 = HEAP32[$6>>2]|0; - $76 = HEAP32[$7>>2]|0; - $77 = ($75>>>0)<($76>>>0); - if ($77) { - $78 = ((($75)) + 1|0); - HEAP32[$6>>2] = $78; - $79 = HEAP8[$75>>0]|0; - $80 = $79&255; - $$2161$be = $80; - } else { - $81 = (___shgetc($0)|0); - $$2161$be = $81; - } - $82 = (($$2161$be) + -48)|0; - $83 = ($82>>>0)<(10); - $84 = ($73>>>0)<(429496729); - $85 = $83 & $84; - if ($85) { - $$0154222 = $73;$74 = $82; - } else { - break; - } - } - $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; - } else { - $$2161$lcssa = $$1160;$291 = 0;$292 = 0; - } - $86 = (($$2161$lcssa) + -48)|0; - $87 = ($86>>>0)<(10); - if ($87) { - $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; - while(1) { - $90 = (___muldi3(($88|0),($89|0),10,0)|0); - $91 = tempRet0; - $92 = ($93|0)<(0); - $94 = $92 << 31 >> 31; - $95 = $93 ^ -1; - $96 = $94 ^ -1; - $97 = ($91>>>0)>($96>>>0); - $98 = ($90>>>0)>($95>>>0); - $99 = ($91|0)==($96|0); - $100 = $99 & $98; - $101 = $97 | $100; - if ($101) { - $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; - label = 72; - break L43; - } - $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); - $103 = tempRet0; - $104 = HEAP32[$6>>2]|0; - $105 = HEAP32[$7>>2]|0; - $106 = ($104>>>0)<($105>>>0); - if ($106) { - $107 = ((($104)) + 1|0); - HEAP32[$6>>2] = $107; - $108 = HEAP8[$104>>0]|0; - $109 = $108&255; - $$3162$be = $109; - } else { - $110 = (___shgetc($0)|0); - $$3162$be = $110; - } - $111 = (($$3162$be) + -48)|0; - $112 = ($111>>>0)<(10); - $113 = ($103>>>0)<(429496729); - $114 = ($102>>>0)<(2576980378); - $115 = ($103|0)==(429496729); - $116 = $115 & $114; - $117 = $113 | $116; - $or$cond7 = $112 & $117; - if ($or$cond7) { - $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; - } else { - break; - } - } - $118 = ($111>>>0)>(9); - if ($118) { - $$1158 = $$0157;$263 = $103;$265 = $102; - } else { - $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; - label = 72; - } - } else { - $$1158 = $$0157;$263 = $292;$265 = $291; - } - } else { - $$1160169 = $$1160;$$1165168 = $$1165; - label = 46; - } - } - } while(0); - L63: do { - if ((label|0) == 46) { - $119 = (($$1165168) + -1)|0; - $120 = $119 & $$1165168; - $121 = ($120|0)==(0); - if ($121) { - $126 = ($$1165168*23)|0; - $127 = $126 >>> 5; - $128 = $127 & 7; - $129 = (16163 + ($128)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 << 24 >> 24; - $132 = ((15907) + ($$1160169)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($134>>>0)<($$1165168>>>0); - if ($135) { - $$1155192 = 0;$138 = $134; - while(1) { - $136 = $$1155192 << $131; - $137 = $138 | $136; - $139 = HEAP32[$6>>2]|0; - $140 = HEAP32[$7>>2]|0; - $141 = ($139>>>0)<($140>>>0); - if ($141) { - $142 = ((($139)) + 1|0); - HEAP32[$6>>2] = $142; - $143 = HEAP8[$139>>0]|0; - $144 = $143&255; - $$4163$be = $144; - } else { - $145 = (___shgetc($0)|0); - $$4163$be = $145; - } - $146 = ((15907) + ($$4163$be)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = ($148>>>0)<($$1165168>>>0); - $150 = ($137>>>0)<(134217728); - $151 = $150 & $149; - if ($151) { - $$1155192 = $137;$138 = $148; - } else { - break; - } - } - $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; - } else { - $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; - } - $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); - $153 = tempRet0; - $154 = $155&255; - $156 = ($154>>>0)>=($$1165168>>>0); - $157 = ($158>>>0)>($153>>>0); - $159 = ($160>>>0)>($152>>>0); - $161 = ($158|0)==($153|0); - $162 = $161 & $159; - $163 = $157 | $162; - $or$cond187 = $156 | $163; - if ($or$cond187) { - $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; - label = 72; - break; - } else { - $164 = $160;$165 = $158;$169 = $155; - } - while(1) { - $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); - $167 = tempRet0; - $168 = $169&255; - $170 = $168 | $166; - $171 = HEAP32[$6>>2]|0; - $172 = HEAP32[$7>>2]|0; - $173 = ($171>>>0)<($172>>>0); - if ($173) { - $174 = ((($171)) + 1|0); - HEAP32[$6>>2] = $174; - $175 = HEAP8[$171>>0]|0; - $176 = $175&255; - $$5$be = $176; - } else { - $177 = (___shgetc($0)|0); - $$5$be = $177; - } - $178 = ((15907) + ($$5$be)|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = ($180>>>0)>=($$1165168>>>0); - $182 = ($167>>>0)>($153>>>0); - $183 = ($170>>>0)>($152>>>0); - $184 = ($167|0)==($153|0); - $185 = $184 & $183; - $186 = $182 | $185; - $or$cond = $181 | $186; - if ($or$cond) { - $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; - label = 72; - break L63; - } else { - $164 = $170;$165 = $167;$169 = $179; - } - } - } - $122 = ((15907) + ($$1160169)|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = ($124>>>0)<($$1165168>>>0); - if ($125) { - $$2156210 = 0;$189 = $124; - while(1) { - $187 = Math_imul($$2156210, $$1165168)|0; - $188 = (($189) + ($187))|0; - $190 = HEAP32[$6>>2]|0; - $191 = HEAP32[$7>>2]|0; - $192 = ($190>>>0)<($191>>>0); - if ($192) { - $193 = ((($190)) + 1|0); - HEAP32[$6>>2] = $193; - $194 = HEAP8[$190>>0]|0; - $195 = $194&255; - $$6$be = $195; - } else { - $196 = (___shgetc($0)|0); - $$6$be = $196; - } - $197 = ((15907) + ($$6$be)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199>>>0)<($$1165168>>>0); - $201 = ($188>>>0)<(119304647); - $202 = $201 & $200; - if ($202) { - $$2156210 = $188;$189 = $199; - } else { - break; - } - } - $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; - } else { - $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; - } - $203 = $204&255; - $205 = ($203>>>0)<($$1165168>>>0); - if ($205) { - $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); - $207 = tempRet0; - $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; - while(1) { - $208 = ($209>>>0)>($207>>>0); - $210 = ($211>>>0)>($206>>>0); - $212 = ($209|0)==($207|0); - $213 = $212 & $210; - $214 = $208 | $213; - if ($214) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); - $216 = tempRet0; - $217 = $218&255; - $219 = $217 ^ -1; - $220 = ($216>>>0)>(4294967295); - $221 = ($215>>>0)>($219>>>0); - $222 = ($216|0)==(-1); - $223 = $222 & $221; - $224 = $220 | $223; - if ($224) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); - $226 = tempRet0; - $227 = HEAP32[$6>>2]|0; - $228 = HEAP32[$7>>2]|0; - $229 = ($227>>>0)<($228>>>0); - if ($229) { - $230 = ((($227)) + 1|0); - HEAP32[$6>>2] = $230; - $231 = HEAP8[$227>>0]|0; - $232 = $231&255; - $$7$be = $232; - } else { - $233 = (___shgetc($0)|0); - $$7$be = $233; - } - $234 = ((15907) + ($$7$be)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = ($236>>>0)<($$1165168>>>0); - if ($237) { - $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; - } else { - $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; - label = 72; - break; - } - } - } else { - $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; - label = 72; - } - } - } while(0); - if ((label|0) == 72) { - $238 = ((15907) + ($$8)|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240>>>0)<($$1165167>>>0); - if ($241) { - while(1) { - $242 = HEAP32[$6>>2]|0; - $243 = HEAP32[$7>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - $245 = ((($242)) + 1|0); - HEAP32[$6>>2] = $245; - $246 = HEAP8[$242>>0]|0; - $247 = $246&255; - $$9$be = $247; - } else { - $248 = (___shgetc($0)|0); - $$9$be = $248; - } - $249 = ((15907) + ($$9$be)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251>>>0)<($$1165167>>>0); - if (!($252)) { - break; - } - } - $253 = (___errno_location()|0); - HEAP32[$253>>2] = 34; - $254 = $3 & 1; - $255 = ($254|0)==(0); - $256 = (0)==(0); - $257 = $255 & $256; - $$0157$ = $257 ? $$0157 : 0; - $$1158 = $$0157$;$263 = $4;$265 = $3; - } else { - $$1158 = $$0157;$263 = $294;$265 = $293; - } - } - $258 = HEAP32[$7>>2]|0; - $259 = ($258|0)==(0|0); - if (!($259)) { - $260 = HEAP32[$6>>2]|0; - $261 = ((($260)) + -1|0); - HEAP32[$6>>2] = $261; - } - $262 = ($263>>>0)<($4>>>0); - $264 = ($265>>>0)<($3>>>0); - $266 = ($263|0)==($4|0); - $267 = $266 & $264; - $268 = $262 | $267; - if (!($268)) { - $269 = $3 & 1; - $270 = ($269|0)!=(0); - $271 = (0)!=(0); - $272 = $270 | $271; - $273 = ($$1158|0)!=(0); - $or$cond12 = $272 | $273; - if (!($or$cond12)) { - $274 = (___errno_location()|0); - HEAP32[$274>>2] = 34; - $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); - $276 = tempRet0; - $289 = $276;$290 = $275; - break; - } - $277 = ($263>>>0)>($4>>>0); - $278 = ($265>>>0)>($3>>>0); - $279 = ($263|0)==($4|0); - $280 = $279 & $278; - $281 = $277 | $280; - if ($281) { - $282 = (___errno_location()|0); - HEAP32[$282>>2] = 34; - $289 = $4;$290 = $3; - break; - } - } - $283 = ($$1158|0)<(0); - $284 = $283 << 31 >> 31; - $285 = $265 ^ $$1158; - $286 = $263 ^ $284; - $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); - $288 = tempRet0; - $289 = $288;$290 = $287; - } - } while(0); - tempRet0 = ($289); - return ($290|0); -} -function ___shgetc($0) { - $0 = $0|0; - var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 104|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - label = 3; - } else { - $4 = ((($0)) + 108|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)<($2|0); - if ($6) { - label = 3; - } else { - label = 4; - } - } - if ((label|0) == 3) { - $7 = (___uflow($0)|0); - $8 = ($7|0)<(0); - if ($8) { - label = 4; - } else { - $10 = HEAP32[$1>>2]|0; - $11 = ($10|0)==(0); - $$phi$trans$insert = ((($0)) + 8|0); - if ($11) { - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); - $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; - $$pre35 = ((($0)) + 108|0); - $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; - } else { - $12 = HEAP32[$$phi$trans$insert>>2]|0; - $13 = ((($0)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $14; - $16 = (($12) - ($15))|0; - $17 = ((($0)) + 108|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($10) - ($18))|0; - $20 = ($16|0)<($19|0); - $21 = $12; - if ($20) { - $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; - } else { - $22 = (($19) + -1)|0; - $23 = (($14) + ($22)|0); - $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; - } - } - $24 = ((($0)) + 100|0); - HEAP32[$24>>2] = $$sink; - $25 = ($26|0)==(0|0); - if (!($25)) { - $27 = $26; - $28 = $29; - $30 = HEAP32[$$pre$phi34Z2D>>2]|0; - $31 = (($27) + 1)|0; - $32 = (($31) - ($28))|0; - $33 = (($32) + ($30))|0; - HEAP32[$$pre$phi34Z2D>>2] = $33; - } - $34 = ((($29)) + -1|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==($7|0); - if ($37) { - $$0 = $7; - } else { - $38 = $7&255; - HEAP8[$34>>0] = $38; - $$0 = $7; - } - } - } - if ((label|0) == 4) { - $9 = ((($0)) + 100|0); - HEAP32[$9>>2] = 0; - $$0 = -1; - } - return ($$0|0); -} -function _isspace($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(32); - $2 = (($0) + -9)|0; - $3 = ($2>>>0)<(5); - $4 = $1 | $3; - $5 = $4&1; - return ($5|0); -} -function ___uflow($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = (___toread($0)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); - $7 = ($6|0)==(1); - if ($7) { - $8 = HEAP8[$1>>0]|0; - $9 = $8&255; - $$0 = $9; - } else { - $$0 = -1; - } - } else { - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___toread($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($0)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($8>>>0)>($10>>>0); - if ($11) { - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); - } - $14 = ((($0)) + 16|0); - HEAP32[$14>>2] = 0; - HEAP32[$9>>2] = 0; - HEAP32[$7>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = $15 & 4; - $17 = ($16|0)==(0); - if ($17) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = $23; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = $23; - $26 = $15 << 27; - $sext = $26 >> 31; - $$0 = $sext; - } else { - $18 = $15 | 32; - HEAP32[$0>>2] = $18; - $$0 = -1; - } - return ($$0|0); -} -function _strtol($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_strtox_768($0,$1,$2,-2147483648,0)|0); - $4 = tempRet0; - return ($3|0); -} -function _copysign($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = $3 & 2147483647; - $7 = $5 & -2147483648; - $8 = $7 | $6; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; - return (+$9); -} -function _strcmp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP8[$0>>0]|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($2<<24>>24)!=($3<<24>>24); - $5 = ($2<<24>>24)==(0); - $or$cond9 = $5 | $4; - if ($or$cond9) { - $$lcssa = $3;$$lcssa8 = $2; - } else { - $$011 = $1;$$0710 = $0; - while(1) { - $6 = ((($$0710)) + 1|0); - $7 = ((($$011)) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = HEAP8[$7>>0]|0; - $10 = ($8<<24>>24)!=($9<<24>>24); - $11 = ($8<<24>>24)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $$lcssa = $9;$$lcssa8 = $8; - break; - } else { - $$011 = $7;$$0710 = $6; - } - } - } - $12 = $$lcssa8&255; - $13 = $$lcssa&255; - $14 = (($12) - ($13))|0; - return ($14|0); -} -function _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _strncmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - if ($3) { - $$020 = 0; - } else { - $4 = HEAP8[$0>>0]|0; - $5 = $4&255; - $6 = ($4<<24>>24)==(0); - $7 = HEAP8[$1>>0]|0; - $8 = $7&255; - L3: do { - if ($6) { - $$lcssa = $8;$$lcssa22 = $5; - } else { - $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; - while(1) { - $$01926 = (($$01926$in) + -1)|0; - $9 = ($10<<24>>24)!=(0); - $11 = ($$01926|0)!=(0); - $or$cond = $11 & $9; - $12 = ($13<<24>>24)==($10<<24>>24); - $or$cond21 = $12 & $or$cond; - if (!($or$cond21)) { - $$lcssa = $22;$$lcssa22 = $23; - break L3; - } - $14 = ((($$01824)) + 1|0); - $15 = ((($$025)) + 1|0); - $16 = HEAP8[$14>>0]|0; - $17 = $16&255; - $18 = ($16<<24>>24)==(0); - $19 = HEAP8[$15>>0]|0; - $20 = $19&255; - if ($18) { - $$lcssa = $20;$$lcssa22 = $17; - break; - } else { - $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; - } - } - } - } while(0); - $21 = (($$lcssa22) - ($$lcssa))|0; - $$020 = $21; - } - return ($$020|0); -} -function _vsprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_vsnprintf($0,2147483647,$1,$2)|0); - return ($3|0); -} -function _vsnprintf($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $4 = sp + 124|0; - $5 = sp; - dest=$5; src=4288; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = (($1) + -1)|0; - $7 = ($6>>>0)>(2147483646); - if ($7) { - $8 = ($1|0)==(0); - if ($8) { - $$014 = $4;$$015 = 1; - label = 4; - } else { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 75; - $$0 = -1; - } - } else { - $$014 = $0;$$015 = $1; - label = 4; - } - if ((label|0) == 4) { - $10 = $$014; - $11 = (-2 - ($10))|0; - $12 = ($$015>>>0)>($11>>>0); - $$$015 = $12 ? $11 : $$015; - $13 = ((($5)) + 48|0); - HEAP32[$13>>2] = $$$015; - $14 = ((($5)) + 20|0); - HEAP32[$14>>2] = $$014; - $15 = ((($5)) + 44|0); - HEAP32[$15>>2] = $$014; - $16 = (($$014) + ($$$015)|0); - $17 = ((($5)) + 16|0); - HEAP32[$17>>2] = $16; - $18 = ((($5)) + 28|0); - HEAP32[$18>>2] = $16; - $19 = (_vfprintf($5,$2,$3)|0); - $20 = ($$$015|0)==(0); - if ($20) { - $$0 = $19; - } else { - $21 = HEAP32[$14>>2]|0; - $22 = HEAP32[$17>>2]|0; - $23 = ($21|0)==($22|0); - $24 = $23 << 31 >> 31; - $25 = (($21) + ($24)|0); - HEAP8[$25>>0] = 0; - $$0 = $19; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vfprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $3 = sp + 120|0; - $4 = sp + 80|0; - $5 = sp; - $6 = sp + 136|0; - dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = $vacopy_currentptr; - $7 = (_printf_core(0,$1,$3,$5,$4)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = -1; - } else { - $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(-1); - if ($11) { - $12 = (___lockfile($0)|0); - $40 = $12; - } else { - $40 = 0; - } - $13 = HEAP32[$0>>2]|0; - $14 = $13 & 32; - $15 = ((($0)) + 74|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)<(1); - if ($17) { - $18 = $13 & -33; - HEAP32[$0>>2] = $18; - } - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $23 = ((($0)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$23>>2] = $6; - $25 = ((($0)) + 28|0); - HEAP32[$25>>2] = $6; - $26 = ((($0)) + 20|0); - HEAP32[$26>>2] = $6; - HEAP32[$19>>2] = 80; - $27 = ((($6)) + 80|0); - $28 = ((($0)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = (_printf_core($0,$1,$3,$5,$4)|0); - $30 = ($24|0)==(0|0); - if ($30) { - $$1 = $29; - } else { - $31 = ((($0)) + 36|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); - $33 = HEAP32[$26>>2]|0; - $34 = ($33|0)==(0|0); - $$ = $34 ? -1 : $29; - HEAP32[$23>>2] = $24; - HEAP32[$19>>2] = 0; - HEAP32[$28>>2] = 0; - HEAP32[$25>>2] = 0; - HEAP32[$26>>2] = 0; - $$1 = $$; - } - } else { - $22 = (_printf_core($0,$1,$3,$5,$4)|0); - $$1 = $22; - } - $35 = HEAP32[$0>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - $$1$ = $37 ? $$1 : -1; - $38 = $35 | $14; - HEAP32[$0>>2] = $38; - $39 = ($40|0)==(0); - if (!($39)) { - ___unlockfile($0); - } - $$0 = $$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _printf_core($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; - var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 24|0; - $8 = sp + 8|0; - $9 = sp + 20|0; - HEAP32[$5>>2] = $1; - $10 = ($0|0)!=(0|0); - $11 = ((($7)) + 40|0); - $12 = $11; - $13 = ((($7)) + 39|0); - $14 = ((($8)) + 4|0); - $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; - L1: while(1) { - $15 = ($$0247|0)>(-1); - do { - if ($15) { - $16 = (2147483647 - ($$0247))|0; - $17 = ($$0243|0)>($16|0); - if ($17) { - $18 = (___errno_location()|0); - HEAP32[$18>>2] = 75; - $$1248 = -1; - break; - } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; - break; - } - } else { - $$1248 = $$0247; - } - } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; - break; - } - case 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; - break; - } - default: { - } - } - $24 = ((($25)) + 1|0); - HEAP32[$5>>2] = $24; - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = ((($27)) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$0249$lcssa = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $30;$27 = $31; - label = 9; - } else { - $$0249$lcssa = $30;$39 = $31; - break; - } - } - } - } while(0); - $34 = $$0249$lcssa; - $35 = $21; - $36 = (($34) - ($35))|0; - if ($10) { - _out($0,$21,$36); - } - $37 = ($36|0)==(0); - if (!($37)) { - $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; - continue; - } - $38 = ((($39)) + 1|0); - $40 = HEAP8[$38>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($39)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($39)) + 3|0); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } else { - $$0253 = -1;$$1270 = $$0269;$storemerge = $38; - } - HEAP32[$5>>2] = $storemerge; - $46 = HEAP8[$storemerge>>0]|0; - $47 = $46 << 24 >> 24; - $48 = (($47) + -32)|0; - $49 = ($48>>>0)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((16172 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16636;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16636;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 16636 : (16638); - $$$ = $238 ? $$ : (16637); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16636;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16636;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16646; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 16636;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (16636 + ($208)|0); - $$289 = $or$cond283 ? 16636 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16636;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; - $$0228$ = $or$cond ? $$0228 : $11; - $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; - } - else if ((label|0) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } else { - $$0 = $$1248; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___lockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _out($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = $3 & 32; - $5 = ($4|0)==(0); - if ($5) { - (___fwritex($1,$2,$0)|0); - } - return; -} -function _getint($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $isdigittmp4 = (($3) + -48)|0; - $isdigit5 = ($isdigittmp4>>>0)<(10); - if ($isdigit5) { - $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; - while(1) { - $4 = ($$06*10)|0; - $5 = (($isdigittmp7) + ($4))|0; - $6 = ((($7)) + 1|0); - HEAP32[$0>>2] = $6; - $8 = HEAP8[$6>>0]|0; - $9 = $8 << 24 >> 24; - $isdigittmp = (($9) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; - } else { - $$0$lcssa = $5; - break; - } - } - } else { - $$0$lcssa = 0; - } - return ($$0$lcssa|0); -} -function _pop_arg($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(20); - L1: do { - if (!($3)) { - do { - switch ($1|0) { - case 9: { - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded28 = $5; - $expanded = (($expanded28) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded32 = $7; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $8 = $6 & $expanded30; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - HEAP32[$0>>2] = $10; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$2>>2]|0; - $11 = $arglist_current2; - $12 = ((0) + 4|0); - $expanded35 = $12; - $expanded34 = (($expanded35) - 1)|0; - $13 = (($11) + ($expanded34))|0; - $14 = ((0) + 4|0); - $expanded39 = $14; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $15 = $13 & $expanded37; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $arglist_next3 = ((($16)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$2>>2]|0; - $24 = $arglist_current5; - $25 = ((0) + 4|0); - $expanded42 = $25; - $expanded41 = (($expanded42) - 1)|0; - $26 = (($24) + ($expanded41))|0; - $27 = ((0) + 4|0); - $expanded46 = $27; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $28 = $26 & $expanded44; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $arglist_next6 = ((($29)) + 4|0); - HEAP32[$2>>2] = $arglist_next6; - $31 = $0; - $32 = $31; - HEAP32[$32>>2] = $30; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$2>>2]|0; - $35 = $arglist_current8; - $36 = ((0) + 8|0); - $expanded49 = $36; - $expanded48 = (($expanded49) - 1)|0; - $37 = (($35) + ($expanded48))|0; - $38 = ((0) + 8|0); - $expanded53 = $38; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $39 = $37 & $expanded51; - $40 = $39; - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $arglist_next9 = ((($40)) + 8|0); - HEAP32[$2>>2] = $arglist_next9; - $47 = $0; - $48 = $47; - HEAP32[$48>>2] = $43; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$2>>2]|0; - $51 = $arglist_current11; - $52 = ((0) + 4|0); - $expanded56 = $52; - $expanded55 = (($expanded56) - 1)|0; - $53 = (($51) + ($expanded55))|0; - $54 = ((0) + 4|0); - $expanded60 = $54; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $55 = $53 & $expanded58; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $arglist_next12 = ((($56)) + 4|0); - HEAP32[$2>>2] = $arglist_next12; - $58 = $57&65535; - $59 = $58 << 16 >> 16; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = $0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$2>>2]|0; - $66 = $arglist_current14; - $67 = ((0) + 4|0); - $expanded63 = $67; - $expanded62 = (($expanded63) - 1)|0; - $68 = (($66) + ($expanded62))|0; - $69 = ((0) + 4|0); - $expanded67 = $69; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $70 = $68 & $expanded65; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $arglist_next15 = ((($71)) + 4|0); - HEAP32[$2>>2] = $arglist_next15; - $$mask31 = $72 & 65535; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $$mask31; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$2>>2]|0; - $77 = $arglist_current17; - $78 = ((0) + 4|0); - $expanded70 = $78; - $expanded69 = (($expanded70) - 1)|0; - $79 = (($77) + ($expanded69))|0; - $80 = ((0) + 4|0); - $expanded74 = $80; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $81 = $79 & $expanded72; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $arglist_next18 = ((($82)) + 4|0); - HEAP32[$2>>2] = $arglist_next18; - $84 = $83&255; - $85 = $84 << 24 >> 24; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$2>>2]|0; - $92 = $arglist_current20; - $93 = ((0) + 4|0); - $expanded77 = $93; - $expanded76 = (($expanded77) - 1)|0; - $94 = (($92) + ($expanded76))|0; - $95 = ((0) + 4|0); - $expanded81 = $95; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $96 = $94 & $expanded79; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next21 = ((($97)) + 4|0); - HEAP32[$2>>2] = $arglist_next21; - $$mask = $98 & 255; - $99 = $0; - $100 = $99; - HEAP32[$100>>2] = $$mask; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$2>>2]|0; - $103 = $arglist_current23; - $104 = ((0) + 8|0); - $expanded84 = $104; - $expanded83 = (($expanded84) - 1)|0; - $105 = (($103) + ($expanded83))|0; - $106 = ((0) + 8|0); - $expanded88 = $106; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $107 = $105 & $expanded86; - $108 = $107; - $109 = +HEAPF64[$108>>3]; - $arglist_next24 = ((($108)) + 8|0); - HEAP32[$2>>2] = $arglist_next24; - HEAPF64[$0>>3] = $109; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$2>>2]|0; - $110 = $arglist_current26; - $111 = ((0) + 8|0); - $expanded91 = $111; - $expanded90 = (($expanded91) - 1)|0; - $112 = (($110) + ($expanded90))|0; - $113 = ((0) + 8|0); - $expanded95 = $113; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $114 = $112 & $expanded93; - $115 = $114; - $116 = +HEAPF64[$115>>3]; - $arglist_next27 = ((($115)) + 8|0); - HEAP32[$2>>2] = $arglist_next27; - HEAPF64[$0>>3] = $116; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_x($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0); - $5 = ($1|0)==(0); - $6 = $4 & $5; - if ($6) { - $$05$lcssa = $2; - } else { - $$056 = $2;$15 = $1;$8 = $0; - while(1) { - $7 = $8 & 15; - $9 = (16684 + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 | $3; - $13 = $12&255; - $14 = ((($$056)) + -1|0); - HEAP8[$14>>0] = $13; - $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); - $17 = tempRet0; - $18 = ($16|0)==(0); - $19 = ($17|0)==(0); - $20 = $18 & $19; - if ($20) { - $$05$lcssa = $14; - break; - } else { - $$056 = $14;$15 = $17;$8 = $16; - } - } - } - return ($$05$lcssa|0); -} -function _fmt_o($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; - } else { - $$06 = $2;$11 = $1;$7 = $0; - while(1) { - $6 = $7&255; - $8 = $6 & 7; - $9 = $8 | 48; - $10 = ((($$06)) + -1|0); - HEAP8[$10>>0] = $9; - $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); - $13 = tempRet0; - $14 = ($12|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - if ($16) { - $$0$lcssa = $10; - break; - } else { - $$06 = $10;$11 = $13;$7 = $12; - } - } - } - return ($$0$lcssa|0); -} -function _fmt_u($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(0); - $4 = ($0>>>0)>(4294967295); - $5 = ($1|0)==(0); - $6 = $5 & $4; - $7 = $3 | $6; - if ($7) { - $$0914 = $2;$8 = $0;$9 = $1; - while(1) { - $10 = (___uremdi3(($8|0),($9|0),10,0)|0); - $11 = tempRet0; - $12 = $10&255; - $13 = $12 | 48; - $14 = ((($$0914)) + -1|0); - HEAP8[$14>>0] = $13; - $15 = (___udivdi3(($8|0),($9|0),10,0)|0); - $16 = tempRet0; - $17 = ($9>>>0)>(9); - $18 = ($8>>>0)>(4294967295); - $19 = ($9|0)==(9); - $20 = $19 & $18; - $21 = $17 | $20; - if ($21) { - $$0914 = $14;$8 = $15;$9 = $16; - } else { - break; - } - } - $$010$lcssa$off0 = $15;$$09$lcssa = $14; - } else { - $$010$lcssa$off0 = $0;$$09$lcssa = $2; - } - $22 = ($$010$lcssa$off0|0)==(0); - if ($22) { - $$1$lcssa = $$09$lcssa; - } else { - $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; - while(1) { - $23 = (($$012>>>0) % 10)&-1; - $24 = $23 | 48; - $25 = $24&255; - $26 = ((($$111)) + -1|0); - HEAP8[$26>>0] = $25; - $27 = (($$012>>>0) / 10)&-1; - $28 = ($$012>>>0)<(10); - if ($28) { - $$1$lcssa = $26; - break; - } else { - $$012 = $27;$$111 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _strerror($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___pthread_self_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|0); -} -function _memchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1 & 255; - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)!=(0); - $7 = ($2|0)!=(0); - $or$cond53 = $7 & $6; - L1: do { - if ($or$cond53) { - $8 = $1&255; - $$03555 = $0;$$03654 = $2; - while(1) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; - } - $11 = ((($$03555)) + 1|0); - $12 = (($$03654) + -1)|0; - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($12|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$03555 = $11;$$03654 = $12; - } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; - label = 6; - } else { - $$2 = $$035$lcssa;$$3 = 0; - } - } - L8: do { - if ((label|0) == 6) { - $17 = HEAP8[$$035$lcssa65>>0]|0; - $18 = $1&255; - $19 = ($17<<24>>24)==($18<<24>>24); - if ($19) { - $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; - } else { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; - while(1) { - $22 = HEAP32[$$046>>2]|0; - $23 = $22 ^ $20; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - break; - } - $29 = ((($$046)) + 4|0); - $30 = (($$13745) + -4)|0; - $31 = ($30>>>0)>(3); - if ($31) { - $$046 = $29;$$13745 = $30; - } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; - } - } - $$140 = $$046;$$23839 = $$13745; - } else { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; - } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; - } - } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; - } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; - } - } - } - } - } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); -} -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $5 = sp; - $6 = $4 & 73728; - $7 = ($6|0)==(0); - $8 = ($2|0)>($3|0); - $or$cond = $8 & $7; - if ($or$cond) { - $9 = (($2) - ($3))|0; - $10 = ($9>>>0)<(256); - $11 = $10 ? $9 : 256; - _memset(($5|0),($1|0),($11|0))|0; - $12 = ($9>>>0)>(255); - if ($12) { - $13 = (($2) - ($3))|0; - $$011 = $9; - while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; - } else { - break; - } - } - $16 = $13 & 255; - $$0$lcssa = $16; - } else { - $$0$lcssa = $9; - } - _out($0,$5,$$0$lcssa); - } - STACKTOP = sp;return; -} -function _wctomb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = (_wcrtomb($0,$1,0)|0); - $$0 = $3; - } - return ($$0|0); -} -function _fmt_fp($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; - var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 524|0; - $9 = $8; - $10 = sp + 512|0; - HEAP32[$7>>2] = 0; - $11 = ((($10)) + 12|0); - (___DOUBLE_BITS_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16653; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (16654) : (16659); - $$$ = $16 ? $$ : (16656); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (16684 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $85 = $84&255; - $86 = ((($$0523)) + 1|0); - HEAP8[$$0523>>0] = $85; - $87 = (+($80|0)); - $88 = $$2473 - $87; - $89 = $88 * 16.0; - $90 = $86; - $91 = (($90) - ($9))|0; - $92 = ($91|0)==(1); - if ($92) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$3501$lcssa; - $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; - } else { - $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; - } - $$7505 = $$7505$ph; - while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,16700,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,16700,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 16672 : 16676; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18603 : 16680; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _frexpl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_frexp($0,$1)); - return (+$2); -} -function _frexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $5 = tempRet0; - $6 = $4&65535; - $trunc$clear = $6 & 2047; - switch ($trunc$clear<<16>>16) { - case 0: { - $7 = $0 != 0.0; - if ($7) { - $8 = $0 * 1.8446744073709552E+19; - $9 = (+_frexp($8,$1)); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + -64)|0; - $$016 = $9;$storemerge = $11; - } else { - $$016 = $0;$storemerge = 0; - } - HEAP32[$1>>2] = $storemerge; - $$0 = $$016; - break; - } - case 2047: { - $$0 = $0; - break; - } - default: { - $12 = $4 & 2047; - $13 = (($12) + -1022)|0; - HEAP32[$1>>2] = $13; - $14 = $3 & -2146435073; - $15 = $14 | 1071644672; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $16; - } - } - return (+$$0); -} -function _wcrtomb($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; - } else { - $4 = ($1>>>0)<(128); - if ($4) { - $5 = $1&255; - HEAP8[$0>>0] = $5; - $$0 = 1; - break; - } - $6 = (___pthread_self_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___strerror_l($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $$016 = 0; - while(1) { - $3 = (16702 + ($$016)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==($0|0); - if ($6) { - label = 2; - break; - } - $7 = (($$016) + 1)|0; - $8 = ($7|0)==(87); - if ($8) { - $$01214 = 16790;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 16790; - } else { - $$01214 = 16790;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; - while(1) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { - break; - } else { - $$113 = $11; - } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } - } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); -} -function ___lctrans($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); -} -function ___lctrans_impl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = HEAP32[$1>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (___mo_lookup($3,$5,$0)|0); - $$0 = $6; - } - $7 = ($$0|0)!=(0|0); - $8 = $7 ? $$0 : $0; - return ($8|0); -} -function ___mo_lookup($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 1794895138)|0; - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_swapc($6,$4)|0); - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_swapc($9,$4)|0); - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_swapc($12,$4)|0); - $14 = $1 >>> 2; - $15 = ($7>>>0)<($14>>>0); - L1: do { - if ($15) { - $16 = $7 << 2; - $17 = (($1) - ($16))|0; - $18 = ($10>>>0)<($17>>>0); - $19 = ($13>>>0)<($17>>>0); - $or$cond = $18 & $19; - if ($or$cond) { - $20 = $13 | $10; - $21 = $20 & 3; - $22 = ($21|0)==(0); - if ($22) { - $23 = $10 >>> 2; - $24 = $13 >>> 2; - $$090 = 0;$$094 = $7; - while(1) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_swapc($30,$4)|0); - $32 = (($28) + 1)|0; - $33 = (($0) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_swapc($34,$4)|0); - $36 = ($35>>>0)<($1>>>0); - $37 = (($1) - ($35))|0; - $38 = ($31>>>0)<($37>>>0); - $or$cond102 = $36 & $38; - if (!($or$cond102)) { - $$4 = 0; - break L1; - } - $39 = (($35) + ($31))|0; - $40 = (($0) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==(0); - if (!($42)) { - $$4 = 0; - break L1; - } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { - break; - } - $62 = ($$094|0)==(1); - $63 = ($44|0)<(0); - $64 = (($$094) - ($25))|0; - $$195 = $63 ? $25 : $64; - $$191 = $63 ? $$090 : $26; - if ($62) { - $$4 = 0; - break L1; - } else { - $$090 = $$191;$$094 = $$195; - } - } - $46 = (($27) + ($24))|0; - $47 = (($0) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_swapc($48,$4)|0); - $50 = (($46) + 1)|0; - $51 = (($0) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_swapc($52,$4)|0); - $54 = ($53>>>0)<($1>>>0); - $55 = (($1) - ($53))|0; - $56 = ($49>>>0)<($55>>>0); - $or$cond104 = $54 & $56; - if ($or$cond104) { - $57 = (($0) + ($53)|0); - $58 = (($53) + ($49))|0; - $59 = (($0) + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)==(0); - $$ = $61 ? $57 : 0; - $$4 = $$; - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } while(0); - return ($$4|0); -} -function _swapc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); -} -function ___fwritex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $7 = (___towrite($2)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$3>>2]|0; - $12 = $$pre; - label = 5; - } else { - $$1 = 0; - } - } else { - $6 = $4; - $12 = $6; - label = 5; - } - L5: do { - if ((label|0) == 5) { - $9 = ((($2)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($12) - ($10))|0; - $13 = ($11>>>0)<($1>>>0); - $14 = $10; - if ($13) { - $15 = ((($2)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); - $$1 = $17; - break; - } - $18 = ((($2)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)>(-1); - L10: do { - if ($20) { - $$038 = $1; - while(1) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; - } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { - break; - } else { - $$038 = $22; - } - } - $26 = ((($2)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); - $29 = ($28>>>0)<($$038>>>0); - if ($29) { - $$1 = $28; - break L5; - } - $30 = (($0) + ($$038)|0); - $$042 = (($1) - ($$038))|0; - $$pre47 = HEAP32[$9>>2]|0; - $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; - } else { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - } - } while(0); - _memcpy(($31|0),($$141|0),($$143|0))|0; - $32 = HEAP32[$9>>2]|0; - $33 = (($32) + ($$143)|0); - HEAP32[$9>>2] = $33; - $34 = (($$139) + ($$143))|0; - $$1 = $34; - } - } while(0); - return ($$1|0); -} -function ___towrite($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 8; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($0)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 28|0); - HEAP32[$15>>2] = $14; - $16 = ((($0)) + 20|0); - HEAP32[$16>>2] = $14; - $17 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _sn_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - $8 = (($4) - ($7))|0; - $9 = ($8>>>0)>($2>>>0); - $$ = $9 ? $2 : $8; - _memcpy(($6|0),($1|0),($$|0))|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + ($$)|0); - HEAP32[$5>>2] = $11; - return ($2|0); -} -function ___floatscan($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($1|0) { - case 0: { - $$0105$ph = -149;$$0106$ph = 24; - label = 4; - break; - } - case 1: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - case 2: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - default: { - $$0114 = 0.0; - } - } - L4: do { - if ((label|0) == 4) { - $3 = ((($0)) + 4|0); - $4 = ((($0)) + 100|0); - while(1) { - $5 = HEAP32[$3>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = ($5>>>0)<($6>>>0); - if ($7) { - $8 = ((($5)) + 1|0); - HEAP32[$3>>2] = $8; - $9 = HEAP8[$5>>0]|0; - $10 = $9&255; - $12 = $10; - } else { - $11 = (___shgetc($0)|0); - $12 = $11; - } - $13 = (_isspace($12)|0); - $14 = ($13|0)==(0); - if ($14) { - break; - } - } - L13: do { - switch ($12|0) { - case 43: case 45: { - $15 = ($12|0)==(45); - $16 = $15&1; - $17 = $16 << 1; - $18 = (1 - ($17))|0; - $19 = HEAP32[$3>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ($19>>>0)<($20>>>0); - if ($21) { - $22 = ((($19)) + 1|0); - HEAP32[$3>>2] = $22; - $23 = HEAP8[$19>>0]|0; - $24 = $23&255; - $$0 = $24;$$0113 = $18; - break L13; - } else { - $25 = (___shgetc($0)|0); - $$0 = $25;$$0113 = $18; - break L13; - } - break; - } - default: { - $$0 = $12;$$0113 = 1; - } - } - } while(0); - $$0107127 = 0;$$1128 = $$0; - while(1) { - $26 = $$1128 | 32; - $27 = (18594 + ($$0107127)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($26|0)==($29|0); - if (!($30)) { - $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; - break; - } - $31 = ($$0107127>>>0)<(7); - do { - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP32[$4>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$3>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $$2 = $37; - break; - } else { - $38 = (___shgetc($0)|0); - $$2 = $38; - break; - } - } else { - $$2 = $$1128; - } - } while(0); - $39 = (($$0107127) + 1)|0; - $40 = ($39>>>0)<(8); - if ($40) { - $$0107127 = $39;$$1128 = $$2; - } else { - $$0107$lcssa = $39;$$1$lcssa = $$2; - break; - } - } - L29: do { - switch ($$0107$lcssa|0) { - case 8: { - break; - } - case 3: { - label = 23; - break; - } - default: { - $41 = ($$0107$lcssa>>>0)>(3); - $42 = ($2|0)!=(0); - $or$cond5 = $42 & $41; - if ($or$cond5) { - $43 = ($$0107$lcssa|0)==(8); - if ($43) { - break L29; - } else { - label = 23; - break L29; - } - } - $56 = ($$0107$lcssa|0)==(0); - L34: do { - if ($56) { - $$2109125 = 0;$$3126 = $$1$lcssa; - while(1) { - $57 = $$3126 | 32; - $58 = (18603 + ($$2109125)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - $61 = ($57|0)==($60|0); - if (!($61)) { - $$3110 = $$2109125;$$5 = $$3126; - break L34; - } - $62 = ($$2109125>>>0)<(2); - do { - if ($62) { - $63 = HEAP32[$3>>2]|0; - $64 = HEAP32[$4>>2]|0; - $65 = ($63>>>0)<($64>>>0); - if ($65) { - $66 = ((($63)) + 1|0); - HEAP32[$3>>2] = $66; - $67 = HEAP8[$63>>0]|0; - $68 = $67&255; - $$4 = $68; - break; - } else { - $69 = (___shgetc($0)|0); - $$4 = $69; - break; - } - } else { - $$4 = $$3126; - } - } while(0); - $70 = (($$2109125) + 1)|0; - $71 = ($70>>>0)<(3); - if ($71) { - $$2109125 = $70;$$3126 = $$4; - } else { - $$3110 = $70;$$5 = $$4; - break; - } - } - } else { - $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; - } - } while(0); - switch ($$3110|0) { - case 3: { - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = ($72>>>0)<($73>>>0); - if ($74) { - $75 = ((($72)) + 1|0); - HEAP32[$3>>2] = $75; - $76 = HEAP8[$72>>0]|0; - $77 = $76&255; - $80 = $77; - } else { - $78 = (___shgetc($0)|0); - $80 = $78; - } - $79 = ($80|0)==(40); - if ($79) { - $$4111 = 1; - } else { - $81 = HEAP32[$4>>2]|0; - $82 = ($81|0)==(0|0); - if ($82) { - $$0114 = nan; - break L4; - } - $83 = HEAP32[$3>>2]|0; - $84 = ((($83)) + -1|0); - HEAP32[$3>>2] = $84; - $$0114 = nan; - break L4; - } - while(1) { - $85 = HEAP32[$3>>2]|0; - $86 = HEAP32[$4>>2]|0; - $87 = ($85>>>0)<($86>>>0); - if ($87) { - $88 = ((($85)) + 1|0); - HEAP32[$3>>2] = $88; - $89 = HEAP8[$85>>0]|0; - $90 = $89&255; - $93 = $90; - } else { - $91 = (___shgetc($0)|0); - $93 = $91; - } - $92 = (($93) + -48)|0; - $94 = ($92>>>0)<(10); - $95 = (($93) + -65)|0; - $96 = ($95>>>0)<(26); - $or$cond = $94 | $96; - if (!($or$cond)) { - $97 = (($93) + -97)|0; - $98 = ($97>>>0)<(26); - $99 = ($93|0)==(95); - $or$cond7 = $99 | $98; - if (!($or$cond7)) { - break; - } - } - $111 = (($$4111) + 1)|0; - $$4111 = $111; - } - $100 = ($93|0)==(41); - if ($100) { - $$0114 = nan; - break L4; - } - $101 = HEAP32[$4>>2]|0; - $102 = ($101|0)==(0|0); - if (!($102)) { - $103 = HEAP32[$3>>2]|0; - $104 = ((($103)) + -1|0); - HEAP32[$3>>2] = $104; - } - if (!($42)) { - $106 = (___errno_location()|0); - HEAP32[$106>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - $105 = ($$4111|0)==(0); - if ($105) { - $$0114 = nan; - break L4; - } else { - $$in = $$4111; - } - while(1) { - $107 = (($$in) + -1)|0; - if (!($102)) { - $108 = HEAP32[$3>>2]|0; - $109 = ((($108)) + -1|0); - HEAP32[$3>>2] = $109; - } - $110 = ($107|0)==(0); - if ($110) { - $$0114 = nan; - break L4; - } else { - $$in = $107; - } - } - break; - } - case 0: { - $117 = ($$5|0)==(48); - if ($117) { - $118 = HEAP32[$3>>2]|0; - $119 = HEAP32[$4>>2]|0; - $120 = ($118>>>0)<($119>>>0); - if ($120) { - $121 = ((($118)) + 1|0); - HEAP32[$3>>2] = $121; - $122 = HEAP8[$118>>0]|0; - $123 = $122&255; - $126 = $123; - } else { - $124 = (___shgetc($0)|0); - $126 = $124; - } - $125 = $126 | 32; - $127 = ($125|0)==(120); - if ($127) { - $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $128; - break L4; - } - $129 = HEAP32[$4>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$6 = 48; - } else { - $131 = HEAP32[$3>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$3>>2] = $132; - $$6 = 48; - } - } else { - $$6 = $$5; - } - $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $133; - break L4; - break; - } - default: { - $112 = HEAP32[$4>>2]|0; - $113 = ($112|0)==(0|0); - if (!($113)) { - $114 = HEAP32[$3>>2]|0; - $115 = ((($114)) + -1|0); - HEAP32[$3>>2] = $115; - } - $116 = (___errno_location()|0); - HEAP32[$116>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - } - } - } - } while(0); - if ((label|0) == 23) { - $44 = HEAP32[$4>>2]|0; - $45 = ($44|0)==(0|0); - if (!($45)) { - $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + -1|0); - HEAP32[$3>>2] = $47; - } - $48 = ($2|0)!=(0); - $49 = ($$0107$lcssa>>>0)>(3); - $or$cond9 = $48 & $49; - if ($or$cond9) { - $$1108 = $$0107$lcssa; - while(1) { - if (!($45)) { - $50 = HEAP32[$3>>2]|0; - $51 = ((($50)) + -1|0); - HEAP32[$3>>2] = $51; - } - $52 = (($$1108) + -1)|0; - $$old8 = ($52>>>0)>(3); - if ($$old8) { - $$1108 = $52; - } else { - break; - } - } - } - } - $53 = (+($$0113|0)); - $54 = $53 * inf; - $55 = $54; - $$0114 = $55; - } - } while(0); - return (+$$0114); -} -function _hexfloat($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; - var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; - var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; - var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0; - var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; - var $or$cond6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 100|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)<($8>>>0); - if ($9) { - $10 = ((($6)) + 1|0); - HEAP32[$5>>2] = $10; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $$0 = $12;$$0142 = 0; - } else { - $13 = (___shgetc($0)|0); - $$0 = $13;$$0142 = 0; - } - L4: while(1) { - switch ($$0|0) { - case 46: { - label = 8; - break L4; - break; - } - case 48: { - break; - } - default: { - $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - break L4; - } - } - $14 = HEAP32[$5>>2]|0; - $15 = HEAP32[$7>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$5>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $$0 = $19;$$0142 = 1; - continue; - } else { - $20 = (___shgetc($0)|0); - $$0 = $20;$$0142 = 1; - continue; - } - } - if ((label|0) == 8) { - $21 = HEAP32[$5>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$5>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$1$ph = $26; - } else { - $27 = (___shgetc($0)|0); - $$1$ph = $27; - } - $28 = ($$1$ph|0)==(48); - if ($28) { - $36 = 0;$37 = 0; - while(1) { - $29 = HEAP32[$5>>2]|0; - $30 = HEAP32[$7>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$5>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $41 = $34; - } else { - $35 = (___shgetc($0)|0); - $41 = $35; - } - $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); - $39 = tempRet0; - $40 = ($41|0)==(48); - if ($40) { - $36 = $38;$37 = $39; - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; - break; - } - } - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - } - } - while(1) { - $42 = (($$2) + -48)|0; - $43 = ($42>>>0)<(10); - $44 = ($$2|0)==(46); - if (!($43)) { - $45 = $$2 | 32; - $46 = (($45) + -97)|0; - $47 = ($46>>>0)<(6); - $or$cond6 = $44 | $47; - if (!($or$cond6)) { - $$2$lcssa = $$2; - break; - } - } - if ($44) { - $48 = ($$0146|0)==(0); - if ($48) { - $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; - } else { - $$2$lcssa = 46; - break; - } - } else { - $49 = ($$2|0)>(57); - $50 = $$2 | 32; - $51 = (($50) + -87)|0; - $$0133 = $49 ? $51 : $42; - $52 = ($53|0)<(0); - $54 = ($55>>>0)<(8); - $56 = ($53|0)==(0); - $57 = $56 & $54; - $58 = $52 | $57; - do { - if ($58) { - $59 = $$0159 << 4; - $60 = (($$0133) + ($59))|0; - $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; - } else { - $61 = ($53|0)<(0); - $62 = ($55>>>0)<(14); - $63 = ($53|0)==(0); - $64 = $63 & $62; - $65 = $61 | $64; - if ($65) { - $66 = (+($$0133|0)); - $67 = $$0152 * 0.0625; - $68 = $67 * $66; - $69 = $$0155 + $68; - $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; - break; - } else { - $70 = ($$0133|0)==(0); - $71 = ($$0148|0)!=(0); - $or$cond = $71 | $70; - $72 = $$0152 * 0.5; - $73 = $$0155 + $72; - $$0155$ = $or$cond ? $$0155 : $73; - $$0148$ = $or$cond ? $$0148 : 1; - $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; - break; - } - } - } while(0); - $74 = (_i64Add(($55|0),($53|0),1,0)|0); - $75 = tempRet0; - $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; - } - $76 = HEAP32[$5>>2]|0; - $77 = HEAP32[$7>>2]|0; - $78 = ($76>>>0)<($77>>>0); - if ($78) { - $79 = ((($76)) + 1|0); - HEAP32[$5>>2] = $79; - $80 = HEAP8[$76>>0]|0; - $81 = $80&255; - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } else { - $82 = (___shgetc($0)|0); - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } - } - $83 = ($$2144|0)==(0); - do { - if ($83) { - $84 = HEAP32[$7>>2]|0; - $85 = ($84|0)!=(0|0); - if ($85) { - $86 = HEAP32[$5>>2]|0; - $87 = ((($86)) + -1|0); - HEAP32[$5>>2] = $87; - } - $88 = ($4|0)==(0); - if ($88) { - ___shlim($0,0); - } else { - if ($85) { - $89 = HEAP32[$5>>2]|0; - $90 = ((($89)) + -1|0); - HEAP32[$5>>2] = $90; - } - $91 = ($$0146|0)==(0); - $92 = ($84|0)==(0|0); - $or$cond206 = $91 | $92; - if (!($or$cond206)) { - $93 = HEAP32[$5>>2]|0; - $94 = ((($93)) + -1|0); - HEAP32[$5>>2] = $94; - } - } - $95 = (+($3|0)); - $96 = $95 * 0.0; - $$0165 = $96; - } else { - $97 = ($$0146|0)==(0); - $98 = $97 ? $55 : $99; - $100 = $97 ? $53 : $101; - $102 = ($53|0)<(0); - $103 = ($55>>>0)<(8); - $104 = ($53|0)==(0); - $105 = $104 & $103; - $106 = $102 | $105; - if ($106) { - $$3162183 = $$0159;$108 = $55;$109 = $53; - while(1) { - $107 = $$3162183 << 4; - $110 = (_i64Add(($108|0),($109|0),1,0)|0); - $111 = tempRet0; - $112 = ($111|0)<(0); - $113 = ($110>>>0)<(8); - $114 = ($111|0)==(0); - $115 = $114 & $113; - $116 = $112 | $115; - if ($116) { - $$3162183 = $107;$108 = $110;$109 = $111; - } else { - $$3162$lcssa = $107; - break; - } - } - } else { - $$3162$lcssa = $$0159; - } - $117 = $$2$lcssa | 32; - $118 = ($117|0)==(112); - if ($118) { - $119 = (_scanexp($0,$4)|0); - $120 = tempRet0; - $121 = ($119|0)==(0); - $122 = ($120|0)==(-2147483648); - $123 = $121 & $122; - if ($123) { - $124 = ($4|0)==(0); - if ($124) { - ___shlim($0,0); - $$0165 = 0.0; - break; - } - $125 = HEAP32[$7>>2]|0; - $126 = ($125|0)==(0|0); - if ($126) { - $137 = 0;$138 = 0; - } else { - $127 = HEAP32[$5>>2]|0; - $128 = ((($127)) + -1|0); - HEAP32[$5>>2] = $128; - $137 = 0;$138 = 0; - } - } else { - $137 = $119;$138 = $120; - } - } else { - $129 = HEAP32[$7>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $137 = 0;$138 = 0; - } else { - $131 = HEAP32[$5>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$5>>2] = $132; - $137 = 0;$138 = 0; - } - } - $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); - $134 = tempRet0; - $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); - $136 = tempRet0; - $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); - $140 = tempRet0; - $141 = ($$3162$lcssa|0)==(0); - if ($141) { - $142 = (+($3|0)); - $143 = $142 * 0.0; - $$0165 = $143; - break; - } - $144 = (0 - ($2))|0; - $145 = ($144|0)<(0); - $146 = $145 << 31 >> 31; - $147 = ($140|0)>($146|0); - $148 = ($139>>>0)>($144>>>0); - $149 = ($140|0)==($146|0); - $150 = $149 & $148; - $151 = $147 | $150; - if ($151) { - $152 = (___errno_location()|0); - HEAP32[$152>>2] = 34; - $153 = (+($3|0)); - $154 = $153 * 1.7976931348623157E+308; - $155 = $154 * 1.7976931348623157E+308; - $$0165 = $155; - break; - } - $156 = (($2) + -106)|0; - $157 = ($156|0)<(0); - $158 = $157 << 31 >> 31; - $159 = ($140|0)<($158|0); - $160 = ($139>>>0)<($156>>>0); - $161 = ($140|0)==($158|0); - $162 = $161 & $160; - $163 = $159 | $162; - if ($163) { - $165 = (___errno_location()|0); - HEAP32[$165>>2] = 34; - $166 = (+($3|0)); - $167 = $166 * 2.2250738585072014E-308; - $168 = $167 * 2.2250738585072014E-308; - $$0165 = $168; - break; - } - $164 = ($$3162$lcssa|0)>(-1); - if ($164) { - $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; - while(1) { - $169 = !($$3158179 >= 0.5); - $170 = $$4163178 << 1; - $171 = $$3158179 + -1.0; - $not$ = $169 ^ 1; - $172 = $not$&1; - $$5164 = $170 | $172; - $$pn = $169 ? $$3158179 : $171; - $$4 = $$3158179 + $$pn; - $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); - $176 = tempRet0; - $177 = ($$5164|0)>(-1); - if ($177) { - $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; - } else { - $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; - break; - } - } - } else { - $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; - } - $178 = ($1|0)<(0); - $179 = $178 << 31 >> 31; - $180 = ($2|0)<(0); - $181 = $180 << 31 >> 31; - $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); - $183 = tempRet0; - $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); - $187 = tempRet0; - $188 = ($179|0)>($187|0); - $189 = ($1>>>0)>($186>>>0); - $190 = ($179|0)==($187|0); - $191 = $190 & $189; - $192 = $188 | $191; - if ($192) { - $193 = ($186|0)>(0); - if ($193) { - $$0166 = $186; - label = 59; - } else { - $$0166170 = 0;$197 = 84; - label = 61; - } - } else { - $$0166 = $1; - label = 59; - } - if ((label|0) == 59) { - $194 = ($$0166|0)<(53); - $195 = (84 - ($$0166))|0; - if ($194) { - $$0166170 = $$0166;$197 = $195; - label = 61; - } else { - $$pre = (+($3|0)); - $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; - } - } - if ((label|0) == 61) { - $196 = (+($3|0)); - $198 = (+_scalbn(1.0,$197)); - $199 = (+_copysignl($198,$196)); - $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; - } - $200 = ($$0166169|0)<(32); - $201 = $$3158$lcssa != 0.0; - $or$cond4 = $201 & $200; - $202 = $$4163$lcssa & 1; - $203 = ($202|0)==(0); - $or$cond168 = $203 & $or$cond4; - $204 = $or$cond168&1; - $$6 = (($204) + ($$4163$lcssa))|0; - $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; - $205 = (+($$6>>>0)); - $206 = $$pre$phiZ2D * $205; - $207 = $$0151 + $206; - $208 = $$pre$phiZ2D * $$5; - $209 = $208 + $207; - $210 = $209 - $$0151; - $211 = $210 != 0.0; - if (!($211)) { - $212 = (___errno_location()|0); - HEAP32[$212>>2] = 34; - } - $213 = (+_scalbnl($210,$184)); - $$0165 = $213; - } - } while(0); - return (+$$0165); -} -function _decfloat($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; - var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; - var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; - var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; - var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; - var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; - var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); - $6 = sp; - $sum = (($3) + ($2))|0; - $7 = (0 - ($sum))|0; - $8 = ((($0)) + 4|0); - $9 = ((($0)) + 100|0); - $$0329 = $1;$$0396 = 0; - L1: while(1) { - switch ($$0329|0) { - case 46: { - label = 6; - break L1; - break; - } - case 48: { - break; - } - default: { - $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; - break L1; - } - } - $10 = HEAP32[$8>>2]|0; - $11 = HEAP32[$9>>2]|0; - $12 = ($10>>>0)<($11>>>0); - if ($12) { - $13 = ((($10)) + 1|0); - HEAP32[$8>>2] = $13; - $14 = HEAP8[$10>>0]|0; - $15 = $14&255; - $$0329 = $15;$$0396 = 1; - continue; - } else { - $16 = (___shgetc($0)|0); - $$0329 = $16;$$0396 = 1; - continue; - } - } - if ((label|0) == 6) { - $17 = HEAP32[$8>>2]|0; - $18 = HEAP32[$9>>2]|0; - $19 = ($17>>>0)<($18>>>0); - if ($19) { - $20 = ((($17)) + 1|0); - HEAP32[$8>>2] = $20; - $21 = HEAP8[$17>>0]|0; - $22 = $21&255; - $$1330$ph = $22; - } else { - $23 = (___shgetc($0)|0); - $$1330$ph = $23; - } - $24 = ($$1330$ph|0)==(48); - if ($24) { - $25 = 0;$26 = 0; - while(1) { - $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); - $28 = tempRet0; - $29 = HEAP32[$8>>2]|0; - $30 = HEAP32[$9>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$8>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $$1330$be = $34; - } else { - $35 = (___shgetc($0)|0); - $$1330$be = $35; - } - $36 = ($$1330$be|0)==(48); - if ($36) { - $25 = $27;$26 = $28; - } else { - $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; - break; - } - } - } else { - $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; - } - } - HEAP32[$6>>2] = 0; - $37 = (($$2) + -48)|0; - $38 = ($37>>>0)<(10); - $39 = ($$2|0)==(46); - $40 = $39 | $38; - L20: do { - if ($40) { - $41 = ((($6)) + 496|0); - $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; - L22: while(1) { - do { - if ($368) { - $cond = ($$1394511|0)==(0); - if ($cond) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; - } else { - break L22; - } - } else { - $43 = ($$0345512|0)<(125); - $46 = (_i64Add(($44|0),($45|0),1,0)|0); - $47 = tempRet0; - $48 = ($$3514|0)!=(48); - if (!($43)) { - if (!($48)) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $57 = HEAP32[$41>>2]|0; - $58 = $57 | 1; - HEAP32[$41>>2] = $58; - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $$$0401 = $48 ? $46 : $$0401509; - $49 = ($$0341513|0)==(0); - $$pre = (($6) + ($$0345512<<2)|0); - if ($49) { - $$sink = $369; - } else { - $50 = HEAP32[$$pre>>2]|0; - $51 = ($50*10)|0; - $52 = (($$3514) + -48)|0; - $53 = (($52) + ($51))|0; - $$sink = $53; - } - HEAP32[$$pre>>2] = $$sink; - $54 = (($$0341513) + 1)|0; - $55 = ($54|0)==(9); - $56 = $55&1; - $$$0345 = (($56) + ($$0345512))|0; - $$413 = $55 ? 0 : $54; - $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - } - } while(0); - $59 = HEAP32[$8>>2]|0; - $60 = HEAP32[$9>>2]|0; - $61 = ($59>>>0)<($60>>>0); - if ($61) { - $62 = ((($59)) + 1|0); - HEAP32[$8>>2] = $62; - $63 = HEAP8[$59>>0]|0; - $64 = $63&255; - $$3$be = $64; - } else { - $65 = (___shgetc($0)|0); - $$3$be = $65; - } - $66 = (($$3$be) + -48)|0; - $67 = ($66>>>0)<(10); - $68 = ($$3$be|0)==(46); - $69 = $68 | $67; - if ($69) { - $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; - } else { - $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; - label = 29; - break L20; - } - } - $42 = ($$3399510|0)!=(0); - $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; - label = 37; - } else { - $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; - label = 29; - } - } while(0); - do { - if ((label|0) == 29) { - $70 = ($$1394$lcssa|0)==(0); - $71 = $70 ? $73 : $72; - $74 = $70 ? $76 : $75; - $77 = ($$3399$lcssa|0)!=(0); - $78 = $$3$lcssa | 32; - $79 = ($78|0)==(101); - $or$cond415 = $77 & $79; - if (!($or$cond415)) { - $94 = ($$3$lcssa|0)>(-1); - if ($94) { - $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; - label = 37; - break; - } else { - $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; - label = 39; - break; - } - } - $80 = (_scanexp($0,$5)|0); - $81 = tempRet0; - $82 = ($80|0)==(0); - $83 = ($81|0)==(-2147483648); - $84 = $82 & $83; - if ($84) { - $85 = ($5|0)==(0); - if ($85) { - ___shlim($0,0); - $$1 = 0.0; - break; - } - $86 = HEAP32[$9>>2]|0; - $87 = ($86|0)==(0|0); - if ($87) { - $90 = 0;$91 = 0; - } else { - $88 = HEAP32[$8>>2]|0; - $89 = ((($88)) + -1|0); - HEAP32[$8>>2] = $89; - $90 = 0;$91 = 0; - } - } else { - $90 = $80;$91 = $81; - } - $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); - $93 = tempRet0; - $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; - label = 41; - } - } while(0); - if ((label|0) == 37) { - $95 = HEAP32[$9>>2]|0; - $96 = ($95|0)==(0|0); - if ($96) { - $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; - label = 39; - } else { - $97 = HEAP32[$8>>2]|0; - $98 = ((($97)) + -1|0); - HEAP32[$8>>2] = $98; - if ($380) { - $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; - label = 41; - } else { - label = 40; - } - } - } - if ((label|0) == 39) { - if ($383) { - $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; - label = 41; - } else { - label = 40; - } - } - do { - if ((label|0) == 40) { - $99 = (___errno_location()|0); - HEAP32[$99>>2] = 22; - ___shlim($0,0); - $$1 = 0.0; - } - else if ((label|0) == 41) { - $100 = HEAP32[$6>>2]|0; - $101 = ($100|0)==(0); - if ($101) { - $102 = (+($4|0)); - $103 = $102 * 0.0; - $$1 = $103; - break; - } - $104 = ($105|0)==($106|0); - $107 = ($108|0)==($109|0); - $110 = $104 & $107; - $111 = ($109|0)<(0); - $112 = ($106>>>0)<(10); - $113 = ($109|0)==(0); - $114 = $113 & $112; - $115 = $111 | $114; - $or$cond = $115 & $110; - if ($or$cond) { - $116 = ($2|0)>(30); - $117 = $100 >>> $2; - $118 = ($117|0)==(0); - $or$cond417 = $116 | $118; - if ($or$cond417) { - $119 = (+($4|0)); - $120 = (+($100>>>0)); - $121 = $119 * $120; - $$1 = $121; - break; - } - } - $122 = (($3|0) / -2)&-1; - $123 = ($122|0)<(0); - $124 = $123 << 31 >> 31; - $125 = ($108|0)>($124|0); - $126 = ($105>>>0)>($122>>>0); - $127 = ($108|0)==($124|0); - $128 = $127 & $126; - $129 = $125 | $128; - if ($129) { - $130 = (___errno_location()|0); - HEAP32[$130>>2] = 34; - $131 = (+($4|0)); - $132 = $131 * 1.7976931348623157E+308; - $133 = $132 * 1.7976931348623157E+308; - $$1 = $133; - break; - } - $134 = (($3) + -106)|0; - $135 = ($134|0)<(0); - $136 = $135 << 31 >> 31; - $137 = ($108|0)<($136|0); - $138 = ($105>>>0)<($134>>>0); - $139 = ($108|0)==($136|0); - $140 = $139 & $138; - $141 = $137 | $140; - if ($141) { - $142 = (___errno_location()|0); - HEAP32[$142>>2] = 34; - $143 = (+($4|0)); - $144 = $143 * 2.2250738585072014E-308; - $145 = $144 * 2.2250738585072014E-308; - $$1 = $145; - break; - } - $146 = ($$0341463|0)==(0); - if ($146) { - $$3348 = $$0345467; - } else { - $147 = ($$0341463|0)<(9); - if ($147) { - $148 = (($6) + ($$0345467<<2)|0); - $$promoted = HEAP32[$148>>2]|0; - $$3344503 = $$0341463;$150 = $$promoted; - while(1) { - $149 = ($150*10)|0; - $151 = (($$3344503) + 1)|0; - $exitcond551 = ($151|0)==(9); - if ($exitcond551) { - break; - } else { - $$3344503 = $151;$150 = $149; - } - } - HEAP32[$148>>2] = $149; - } - $152 = (($$0345467) + 1)|0; - $$3348 = $152; - } - $153 = ($$0401473|0)<(9); - if ($153) { - $154 = ($$0401473|0)<=($105|0); - $155 = ($105|0)<(18); - $or$cond5 = $154 & $155; - if ($or$cond5) { - $156 = ($105|0)==(9); - $157 = HEAP32[$6>>2]|0; - if ($156) { - $158 = (+($4|0)); - $159 = (+($157>>>0)); - $160 = $158 * $159; - $$1 = $160; - break; - } - $161 = ($105|0)<(9); - if ($161) { - $162 = (+($4|0)); - $163 = (+($157>>>0)); - $164 = $162 * $163; - $165 = (8 - ($105))|0; - $166 = (4412 + ($165<<2)|0); - $167 = HEAP32[$166>>2]|0; - $168 = (+($167|0)); - $169 = $164 / $168; - $$1 = $169; - break; - } - $$neg442 = Math_imul($105, -3)|0; - $$neg443 = (($2) + 27)|0; - $170 = (($$neg443) + ($$neg442))|0; - $171 = ($170|0)>(30); - $172 = $157 >>> $170; - $173 = ($172|0)==(0); - $or$cond419 = $171 | $173; - if ($or$cond419) { - $174 = (($105) + -10)|0; - $175 = (4412 + ($174<<2)|0); - $176 = (+($4|0)); - $177 = (+($157>>>0)); - $178 = $176 * $177; - $179 = HEAP32[$175>>2]|0; - $180 = (+($179|0)); - $181 = $178 * $180; - $$1 = $181; - break; - } - } - } - $182 = (($105|0) % 9)&-1; - $183 = ($182|0)==(0); - if ($183) { - $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; - } else { - $184 = ($105|0)>(-1); - $185 = (($182) + 9)|0; - $186 = $184 ? $182 : $185; - $187 = (8 - ($186))|0; - $188 = (4412 + ($187<<2)|0); - $189 = HEAP32[$188>>2]|0; - $190 = ($$3348|0)==(0); - if ($190) { - $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; - } else { - $191 = (1000000000 / ($189|0))&-1; - $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; - while(1) { - $192 = (($6) + ($$4349495<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193>>>0) % ($189>>>0))&-1; - $195 = (($193>>>0) / ($189>>>0))&-1; - $196 = (($195) + ($$0340496))|0; - HEAP32[$192>>2] = $196; - $197 = Math_imul($191, $194)|0; - $198 = ($$4349495|0)==($$0350494|0); - $199 = ($196|0)==(0); - $or$cond420 = $198 & $199; - $200 = (($$0350494) + 1)|0; - $201 = $200 & 127; - $202 = (($$0385493) + -9)|0; - $$$0385 = $or$cond420 ? $202 : $$0385493; - $$$0350 = $or$cond420 ? $201 : $$0350494; - $203 = (($$4349495) + 1)|0; - $204 = ($203|0)==($$3348|0); - if ($204) { - break; - } else { - $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; - } - } - $205 = ($197|0)==(0); - if ($205) { - $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; - } else { - $206 = (($6) + ($$3348<<2)|0); - $207 = (($$3348) + 1)|0; - HEAP32[$206>>2] = $197; - $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; - } - } - $208 = (9 - ($186))|0; - $209 = (($208) + ($$0385$lcssa553))|0; - $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; - } - L101: while(1) { - $210 = ($$2387$ph447|0)<(18); - $211 = ($$2387$ph447|0)==(18); - $212 = (($6) + ($$2352$ph449<<2)|0); - $$0380 = $$0380$ph;$$1373 = $$1373$ph448; - while(1) { - if (!($210)) { - if (!($211)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; - break L101; - } - $213 = HEAP32[$212>>2]|0; - $214 = ($213>>>0)<(9007199); - if (!($214)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; - break L101; - } - } - $215 = (($$1373) + 127)|0; - $$0334 = 0;$$2374 = $$1373;$$5$in = $215; - while(1) { - $$5 = $$5$in & 127; - $216 = (($6) + ($$5<<2)|0); - $217 = HEAP32[$216>>2]|0; - $218 = (_bitshift64Shl(($217|0),0,29)|0); - $219 = tempRet0; - $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); - $221 = tempRet0; - $222 = ($221>>>0)>(0); - $223 = ($220>>>0)>(1000000000); - $224 = ($221|0)==(0); - $225 = $224 & $223; - $226 = $222 | $225; - if ($226) { - $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); - $228 = tempRet0; - $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); - $230 = tempRet0; - $$1335 = $227;$$sink421$off0 = $229; - } else { - $$1335 = 0;$$sink421$off0 = $220; - } - HEAP32[$216>>2] = $$sink421$off0; - $231 = (($$2374) + 127)|0; - $232 = $231 & 127; - $233 = ($$5|0)!=($232|0); - $234 = ($$5|0)==($$2352$ph449|0); - $or$cond422 = $233 | $234; - $or$cond422$not = $or$cond422 ^ 1; - $235 = ($$sink421$off0|0)==(0); - $or$cond423 = $235 & $or$cond422$not; - $$3375 = $or$cond423 ? $$5 : $$2374; - $236 = (($$5) + -1)|0; - if ($234) { - break; - } else { - $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; - } - } - $237 = (($$0380) + -29)|0; - $238 = ($$1335|0)==(0); - if ($238) { - $$0380 = $237;$$1373 = $$3375; - } else { - break; - } - } - $239 = (($$2387$ph447) + 9)|0; - $240 = (($$2352$ph449) + 127)|0; - $241 = $240 & 127; - $242 = ($241|0)==($$3375|0); - $243 = (($$3375) + 127)|0; - $244 = $243 & 127; - $245 = (($$3375) + 126)|0; - $246 = $245 & 127; - $247 = (($6) + ($246<<2)|0); - if ($242) { - $248 = (($6) + ($244<<2)|0); - $249 = HEAP32[$248>>2]|0; - $250 = HEAP32[$247>>2]|0; - $251 = $250 | $249; - HEAP32[$247>>2] = $251; - $$4376 = $244; - } else { - $$4376 = $$3375; - } - $252 = (($6) + ($241<<2)|0); - HEAP32[$252>>2] = $$1335; - $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; - } - L119: while(1) { - $289 = (($$6378$ph) + 1)|0; - $287 = $289 & 127; - $290 = (($$6378$ph) + 127)|0; - $291 = $290 & 127; - $292 = (($6) + ($291<<2)|0); - $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; - while(1) { - $265 = ($$4389$ph|0)==(18); - $293 = ($$4389$ph|0)>(27); - $$425 = $293 ? 9 : 1; - $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; - while(1) { - $$0336486 = 0; - while(1) { - $253 = (($$0336486) + ($$4354))|0; - $254 = $253 & 127; - $255 = ($254|0)==($$6378$ph|0); - if ($255) { - $$1337 = 2; - label = 88; - break; - } - $256 = (($6) + ($254<<2)|0); - $257 = HEAP32[$256>>2]|0; - $258 = (4444 + ($$0336486<<2)|0); - $259 = HEAP32[$258>>2]|0; - $260 = ($257>>>0)<($259>>>0); - if ($260) { - $$1337 = 2; - label = 88; - break; - } - $261 = ($257>>>0)>($259>>>0); - if ($261) { - break; - } - $262 = (($$0336486) + 1)|0; - $263 = ($262|0)<(2); - if ($263) { - $$0336486 = $262; - } else { - $$1337 = $262; - label = 88; - break; - } - } - if ((label|0) == 88) { - label = 0; - $264 = ($$1337|0)==(2); - $or$cond11 = $265 & $264; - if ($or$cond11) { - $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; - break L119; - } - } - $266 = (($$425) + ($$1381))|0; - $267 = ($$4354|0)==($$6378$ph|0); - if ($267) { - $$1381 = $266;$$4354 = $$6378$ph; - } else { - break; - } - } - $268 = 1 << $$425; - $269 = (($268) + -1)|0; - $270 = 1000000000 >>> $$425; - $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; - while(1) { - $271 = (($6) + ($$6489<<2)|0); - $272 = HEAP32[$271>>2]|0; - $273 = $272 & $269; - $274 = $272 >>> $$425; - $275 = (($274) + ($$0332490))|0; - HEAP32[$271>>2] = $275; - $276 = Math_imul($273, $270)|0; - $277 = ($$6489|0)==($$5355488|0); - $278 = ($275|0)==(0); - $or$cond426 = $277 & $278; - $279 = (($$5355488) + 1)|0; - $280 = $279 & 127; - $281 = (($$5390487) + -9)|0; - $$$5390 = $or$cond426 ? $281 : $$5390487; - $$$5355 = $or$cond426 ? $280 : $$5355488; - $282 = (($$6489) + 1)|0; - $283 = $282 & 127; - $284 = ($283|0)==($$6378$ph|0); - if ($284) { - break; - } else { - $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; - } - } - $285 = ($276|0)==(0); - if ($285) { - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - continue; - } - $286 = ($287|0)==($$$5355|0); - if (!($286)) { - break; - } - $294 = HEAP32[$292>>2]|0; - $295 = $294 | 1; - HEAP32[$292>>2] = $295; - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - } - $288 = (($6) + ($$6378$ph<<2)|0); - HEAP32[$288>>2] = $276; - $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; - } - while(1) { - $296 = (($$4485) + ($$4354))|0; - $297 = $296 & 127; - $298 = ($297|0)==($$9483|0); - $299 = (($$9483) + 1)|0; - $300 = $299 & 127; - if ($298) { - $301 = (($300) + -1)|0; - $302 = (($6) + ($301<<2)|0); - HEAP32[$302>>2] = 0; - $$10 = $300; - } else { - $$10 = $$9483; - } - $303 = $$0365484 * 1.0E+9; - $304 = (($6) + ($297<<2)|0); - $305 = HEAP32[$304>>2]|0; - $306 = (+($305>>>0)); - $307 = $303 + $306; - $308 = (($$4485) + 1)|0; - $exitcond = ($308|0)==(2); - if ($exitcond) { - break; - } else { - $$0365484 = $307;$$4485 = $308;$$9483 = $$10; - } - } - $309 = (+($4|0)); - $310 = $309 * $307; - $311 = (($$1381) + 53)|0; - $312 = (($311) - ($3))|0; - $313 = ($312|0)<($2|0); - $314 = ($312|0)>(0); - $$ = $314 ? $312 : 0; - $$0333 = $313 ? $$ : $2; - $315 = ($$0333|0)<(53); - if ($315) { - $316 = (105 - ($$0333))|0; - $317 = (+_scalbn(1.0,$316)); - $318 = (+_copysignl($317,$310)); - $319 = (53 - ($$0333))|0; - $320 = (+_scalbn(1.0,$319)); - $321 = (+_fmodl($310,$320)); - $322 = $310 - $321; - $323 = $318 + $322; - $$0360 = $318;$$0361 = $321;$$1366 = $323; - } else { - $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; - } - $324 = (($$4354) + 2)|0; - $325 = $324 & 127; - $326 = ($325|0)==($$10|0); - if ($326) { - $$3364 = $$0361; - } else { - $327 = (($6) + ($325<<2)|0); - $328 = HEAP32[$327>>2]|0; - $329 = ($328>>>0)<(500000000); - do { - if ($329) { - $330 = ($328|0)==(0); - if ($330) { - $331 = (($$4354) + 3)|0; - $332 = $331 & 127; - $333 = ($332|0)==($$10|0); - if ($333) { - $$1362 = $$0361; - break; - } - } - $334 = $309 * 0.25; - $335 = $334 + $$0361; - $$1362 = $335; - } else { - $336 = ($328|0)==(500000000); - if (!($336)) { - $337 = $309 * 0.75; - $338 = $337 + $$0361; - $$1362 = $338; - break; - } - $339 = (($$4354) + 3)|0; - $340 = $339 & 127; - $341 = ($340|0)==($$10|0); - if ($341) { - $342 = $309 * 0.5; - $343 = $342 + $$0361; - $$1362 = $343; - break; - } else { - $344 = $309 * 0.75; - $345 = $344 + $$0361; - $$1362 = $345; - break; - } - } - } while(0); - $346 = (53 - ($$0333))|0; - $347 = ($346|0)>(1); - if ($347) { - $348 = (+_fmodl($$1362,1.0)); - $349 = $348 != 0.0; - if ($349) { - $$3364 = $$1362; - } else { - $350 = $$1362 + 1.0; - $$3364 = $350; - } - } else { - $$3364 = $$1362; - } - } - $351 = $$1366 + $$3364; - $352 = $351 - $$0360; - $353 = $311 & 2147483647; - $354 = (-2 - ($sum))|0; - $355 = ($353|0)>($354|0); - do { - if ($355) { - $356 = (+Math_abs((+$352))); - $357 = !($356 >= 9007199254740992.0); - $358 = $352 * 0.5; - $not$ = $357 ^ 1; - $359 = $not$&1; - $$3383 = (($359) + ($$1381))|0; - $$2367 = $357 ? $352 : $358; - $360 = (($$3383) + 50)|0; - $361 = ($360|0)>($7|0); - if (!($361)) { - $362 = ($$0333|0)!=($312|0); - $narrow = $362 | $357; - $$2371$v = $313 & $narrow; - $363 = $$3364 != 0.0; - $or$cond14 = $363 & $$2371$v; - if (!($or$cond14)) { - $$3368 = $$2367;$$4384 = $$3383; - break; - } - } - $364 = (___errno_location()|0); - HEAP32[$364>>2] = 34; - $$3368 = $$2367;$$4384 = $$3383; - } else { - $$3368 = $352;$$4384 = $$1381; - } - } while(0); - $365 = (+_scalbnl($$3368,$$4384)); - $$1 = $365; - } - } while(0); - STACKTOP = sp;return (+$$1); -} -function _scanexp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($0)) + 100|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - $7 = ((($3)) + 1|0); - HEAP32[$2>>2] = $7; - $8 = HEAP8[$3>>0]|0; - $9 = $8&255; - $11 = $9; - } else { - $10 = (___shgetc($0)|0); - $11 = $10; - } - switch ($11|0) { - case 43: case 45: { - $12 = ($11|0)==(45); - $13 = $12&1; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$4>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$2>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $22 = $19; - } else { - $20 = (___shgetc($0)|0); - $22 = $20; - } - $21 = (($22) + -48)|0; - $23 = ($21>>>0)>(9); - $24 = ($1|0)!=(0); - $or$cond3 = $24 & $23; - if ($or$cond3) { - $25 = HEAP32[$4>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - $$0 = $13;$$049 = $22; - } else { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + -1|0); - HEAP32[$2>>2] = $28; - $$0 = $13;$$049 = $22; - } - } else { - $$0 = $13;$$049 = $22; - } - break; - } - default: { - $$0 = 0;$$049 = $11; - } - } - $29 = (($$049) + -48)|0; - $30 = ($29>>>0)>(9); - if ($30) { - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)==(0|0); - if ($32) { - $100 = -2147483648;$101 = 0; - } else { - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + -1|0); - HEAP32[$2>>2] = $34; - $100 = -2147483648;$101 = 0; - } - } else { - $$04861 = 0;$$160 = $$049; - while(1) { - $35 = ($$04861*10)|0; - $36 = (($$160) + -48)|0; - $37 = (($36) + ($35))|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$4>>2]|0; - $40 = ($38>>>0)<($39>>>0); - if ($40) { - $41 = ((($38)) + 1|0); - HEAP32[$2>>2] = $41; - $42 = HEAP8[$38>>0]|0; - $43 = $42&255; - $$1$be = $43; - } else { - $44 = (___shgetc($0)|0); - $$1$be = $44; - } - $45 = (($$1$be) + -48)|0; - $46 = ($45>>>0)<(10); - $47 = ($37|0)<(214748364); - $48 = $46 & $47; - if ($48) { - $$04861 = $37;$$160 = $$1$be; - } else { - break; - } - } - $49 = ($37|0)<(0); - $50 = $49 << 31 >> 31; - $51 = (($$1$be) + -48)|0; - $52 = ($51>>>0)<(10); - if ($52) { - $$254 = $$1$be;$56 = $37;$57 = $50; - while(1) { - $58 = (___muldi3(($56|0),($57|0),10,0)|0); - $59 = tempRet0; - $60 = ($$254|0)<(0); - $61 = $60 << 31 >> 31; - $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); - $63 = tempRet0; - $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); - $65 = tempRet0; - $66 = HEAP32[$2>>2]|0; - $67 = HEAP32[$4>>2]|0; - $68 = ($66>>>0)<($67>>>0); - if ($68) { - $69 = ((($66)) + 1|0); - HEAP32[$2>>2] = $69; - $70 = HEAP8[$66>>0]|0; - $71 = $70&255; - $$2$be = $71; - } else { - $72 = (___shgetc($0)|0); - $$2$be = $72; - } - $73 = (($$2$be) + -48)|0; - $74 = ($73>>>0)<(10); - $75 = ($65|0)<(21474836); - $76 = ($64>>>0)<(2061584302); - $77 = ($65|0)==(21474836); - $78 = $77 & $76; - $79 = $75 | $78; - $80 = $74 & $79; - if ($80) { - $$254 = $$2$be;$56 = $64;$57 = $65; - } else { - $$2$lcssa = $$2$be;$94 = $64;$95 = $65; - break; - } - } - } else { - $$2$lcssa = $$1$be;$94 = $37;$95 = $50; - } - $53 = (($$2$lcssa) + -48)|0; - $54 = ($53>>>0)<(10); - $55 = HEAP32[$4>>2]|0; - if ($54) { - $83 = $55; - while(1) { - $81 = HEAP32[$2>>2]|0; - $82 = ($81>>>0)<($83>>>0); - if ($82) { - $84 = ((($81)) + 1|0); - HEAP32[$2>>2] = $84; - $85 = HEAP8[$81>>0]|0; - $86 = $85&255; - $$3$be = $86;$102 = $83; - } else { - $87 = (___shgetc($0)|0); - $$pre = HEAP32[$4>>2]|0; - $$3$be = $87;$102 = $$pre; - } - $88 = (($$3$be) + -48)|0; - $89 = ($88>>>0)<(10); - if ($89) { - $83 = $102; - } else { - $$lcssa = $102; - break; - } - } - } else { - $$lcssa = $55; - } - $90 = ($$lcssa|0)==(0|0); - if (!($90)) { - $91 = HEAP32[$2>>2]|0; - $92 = ((($91)) + -1|0); - HEAP32[$2>>2] = $92; - } - $93 = ($$0|0)!=(0); - $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); - $97 = tempRet0; - $98 = $93 ? $96 : $94; - $99 = $93 ? $97 : $95; - $100 = $99;$101 = $98; - } - tempRet0 = ($100); - return ($101|0); -} -function _scalbn($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; - var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)>(1023); - if ($2) { - $3 = $0 * 8.9884656743115795E+307; - $4 = (($1) + -1023)|0; - $5 = ($4|0)>(1023); - $6 = $3 * 8.9884656743115795E+307; - $7 = (($1) + -2046)|0; - $8 = ($7|0)<(1023); - $$ = $8 ? $7 : 1023; - $$$ = $5 ? $$ : $4; - $$21 = $5 ? $6 : $3; - $$0 = $$21;$$020 = $$$; - } else { - $9 = ($1|0)<(-1022); - if ($9) { - $10 = $0 * 2.2250738585072014E-308; - $11 = (($1) + 1022)|0; - $12 = ($11|0)<(-1022); - $13 = $10 * 2.2250738585072014E-308; - $14 = (($1) + 2044)|0; - $15 = ($14|0)>(-1022); - $$1 = $15 ? $14 : -1022; - $$1$ = $12 ? $$1 : $11; - $$22 = $12 ? $13 : $10; - $$0 = $$22;$$020 = $$1$; - } else { - $$0 = $0;$$020 = $1; - } - } - $16 = (($$020) + 1023)|0; - $17 = (_bitshift64Shl(($16|0),0,52)|0); - $18 = tempRet0; - HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; - $20 = $$0 * $19; - return (+$20); -} -function _copysignl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_copysign($0,$1)); - return (+$2); -} -function _fmodl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_fmod($0,$1)); - return (+$2); -} -function _scalbnl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function _fmod($0,$1) { - $0 = +$0; - $1 = +$1; - var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $7 = tempRet0; - $8 = $6 & 2047; - $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); - $10 = tempRet0; - $11 = $9 & 2047; - $12 = $3 & -2147483648; - $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); - $14 = tempRet0; - $15 = ($13|0)==(0); - $16 = ($14|0)==(0); - $17 = $15 & $16; - L1: do { - if ($17) { - label = 3; - } else { - $18 = (___DOUBLE_BITS_272($1)|0); - $19 = tempRet0; - $20 = $19 & 2147483647; - $21 = ($20>>>0)>(2146435072); - $22 = ($18>>>0)>(0); - $23 = ($20|0)==(2146435072); - $24 = $23 & $22; - $25 = $21 | $24; - $26 = ($8|0)==(2047); - $or$cond = $26 | $25; - if ($or$cond) { - label = 3; - } else { - $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); - $30 = tempRet0; - $31 = ($30>>>0)>($14>>>0); - $32 = ($29>>>0)>($13>>>0); - $33 = ($30|0)==($14|0); - $34 = $33 & $32; - $35 = $31 | $34; - if (!($35)) { - $36 = ($29|0)==($13|0); - $37 = ($30|0)==($14|0); - $38 = $36 & $37; - $39 = $0 * 0.0; - $$ = $38 ? $39 : $0; - return (+$$); - } - $40 = ($8|0)==(0); - if ($40) { - $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); - $42 = tempRet0; - $43 = ($42|0)>(-1); - $44 = ($41>>>0)>(4294967295); - $45 = ($42|0)==(-1); - $46 = $45 & $44; - $47 = $43 | $46; - if ($47) { - $$073100 = 0;$49 = $41;$50 = $42; - while(1) { - $48 = (($$073100) + -1)|0; - $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); - $52 = tempRet0; - $53 = ($52|0)>(-1); - $54 = ($51>>>0)>(4294967295); - $55 = ($52|0)==(-1); - $56 = $55 & $54; - $57 = $53 | $56; - if ($57) { - $$073100 = $48;$49 = $51;$50 = $52; - } else { - $$073$lcssa = $48; - break; - } - } - } else { - $$073$lcssa = 0; - } - $58 = (1 - ($$073$lcssa))|0; - $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); - $60 = tempRet0; - $$174 = $$073$lcssa;$87 = $59;$88 = $60; - } else { - $61 = $3 & 1048575; - $62 = $61 | 1048576; - $$174 = $8;$87 = $2;$88 = $62; - } - $63 = ($11|0)==(0); - if ($63) { - $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); - $65 = tempRet0; - $66 = ($65|0)>(-1); - $67 = ($64>>>0)>(4294967295); - $68 = ($65|0)==(-1); - $69 = $68 & $67; - $70 = $66 | $69; - if ($70) { - $$07194 = 0;$72 = $64;$73 = $65; - while(1) { - $71 = (($$07194) + -1)|0; - $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); - $75 = tempRet0; - $76 = ($75|0)>(-1); - $77 = ($74>>>0)>(4294967295); - $78 = ($75|0)==(-1); - $79 = $78 & $77; - $80 = $76 | $79; - if ($80) { - $$07194 = $71;$72 = $74;$73 = $75; - } else { - $$071$lcssa = $71; - break; - } - } - } else { - $$071$lcssa = 0; - } - $81 = (1 - ($$071$lcssa))|0; - $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); - $83 = tempRet0; - $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; - } else { - $84 = $5 & 1048575; - $85 = $84 | 1048576; - $$172$ph = $11;$89 = $4;$90 = $85; - } - $86 = ($$174|0)>($$172$ph|0); - $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); - $92 = tempRet0; - $93 = ($92|0)>(-1); - $94 = ($91>>>0)>(4294967295); - $95 = ($92|0)==(-1); - $96 = $95 & $94; - $97 = $93 | $96; - L23: do { - if ($86) { - $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; - while(1) { - if ($156) { - $98 = ($99|0)==(0); - $100 = ($101|0)==(0); - $102 = $98 & $100; - if ($102) { - break; - } else { - $104 = $99;$105 = $101; - } - } else { - $104 = $157;$105 = $158; - } - $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); - $107 = tempRet0; - $108 = (($$27586) + -1)|0; - $109 = ($108|0)>($$172$ph|0); - $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); - $111 = tempRet0; - $112 = ($111|0)>(-1); - $113 = ($110>>>0)>(4294967295); - $114 = ($111|0)==(-1); - $115 = $114 & $113; - $116 = $112 | $115; - if ($109) { - $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; - } else { - $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; - break L23; - } - } - $103 = $0 * 0.0; - $$070 = $103; - break L1; - } else { - $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; - } - } while(0); - if ($$lcssa) { - $117 = ($118|0)==(0); - $119 = ($120|0)==(0); - $121 = $117 & $119; - if ($121) { - $129 = $0 * 0.0; - $$070 = $129; - break; - } else { - $123 = $120;$125 = $118; - } - } else { - $123 = $160;$125 = $159; - } - $122 = ($123>>>0)<(1048576); - $124 = ($125>>>0)<(0); - $126 = ($123|0)==(1048576); - $127 = $126 & $124; - $128 = $122 | $127; - if ($128) { - $$37683 = $$275$lcssa;$130 = $125;$131 = $123; - while(1) { - $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); - $133 = tempRet0; - $134 = (($$37683) + -1)|0; - $135 = ($133>>>0)<(1048576); - $136 = ($132>>>0)<(0); - $137 = ($133|0)==(1048576); - $138 = $137 & $136; - $139 = $135 | $138; - if ($139) { - $$37683 = $134;$130 = $132;$131 = $133; - } else { - $$376$lcssa = $134;$141 = $132;$142 = $133; - break; - } - } - } else { - $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; - } - $140 = ($$376$lcssa|0)>(0); - if ($140) { - $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); - $144 = tempRet0; - $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); - $146 = tempRet0; - $147 = $143 | $145; - $148 = $144 | $146; - $153 = $148;$155 = $147; - } else { - $149 = (1 - ($$376$lcssa))|0; - $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); - $151 = tempRet0; - $153 = $151;$155 = $150; - } - $152 = $153 | $12; - HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; - $$070 = $154; - } - } - } while(0); - if ((label|0) == 3) { - $27 = $0 * $1; - $28 = $27 / $27; - $$070 = $28; - } - return (+$$070); -} -function ___DOUBLE_BITS_272($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _strlen($0) { - $0 = $0|0; - var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1 & 3; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $$015$lcssa = $0; - label = 4; - } else { - $$01519 = $0;$23 = $1; - while(1) { - $4 = HEAP8[$$01519>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - $$sink = $23; - break L1; - } - $6 = ((($$01519)) + 1|0); - $7 = $6; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if ($9) { - $$015$lcssa = $6; - label = 4; - break; - } else { - $$01519 = $6;$23 = $7; - } - } - } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; - while(1) { - $10 = HEAP32[$$0>>2]|0; - $11 = (($10) + -16843009)|0; - $12 = $10 & -2139062144; - $13 = $12 ^ -2139062144; - $14 = $13 & $11; - $15 = ($14|0)==(0); - $16 = ((($$0)) + 4|0); - if ($15) { - $$0 = $16; - } else { - break; - } - } - $17 = $10&255; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$1$lcssa = $$0; - } else { - $$pn = $$0; - while(1) { - $19 = ((($$pn)) + 1|0); - $$pre = HEAP8[$19>>0]|0; - $20 = ($$pre<<24>>24)==(0); - if ($20) { - $$1$lcssa = $19; - break; - } else { - $$pn = $19; - } - } - } - $21 = $$1$lcssa; - $$sink = $21; - } - $22 = (($$sink) - ($1))|0; - return ($22|0); -} -function _strchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _mbrtowc($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $4 = sp; - $5 = ($3|0)==(0|0); - $$ = $5 ? 22752 : $3; - $6 = HEAP32[$$>>2]|0; - $7 = ($1|0)==(0|0); - L1: do { - if ($7) { - $8 = ($6|0)==(0); - if ($8) { - $$0 = 0; - } else { - label = 17; - } - } else { - $9 = ($0|0)==(0|0); - $$47 = $9 ? $4 : $0; - $10 = ($2|0)==(0); - if ($10) { - $$0 = -2; - } else { - $11 = ($6|0)==(0); - if ($11) { - $12 = HEAP8[$1>>0]|0; - $13 = ($12<<24>>24)>(-1); - if ($13) { - $14 = $12&255; - HEAP32[$$47>>2] = $14; - $15 = ($12<<24>>24)!=(0); - $16 = $15&1; - $$0 = $16; - break; - } - $17 = (___pthread_self_439()|0); - $18 = ((($17)) + 188|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$19>>2]|0; - $not$ = ($20|0)==(0|0); - $21 = HEAP8[$1>>0]|0; - if ($not$) { - $22 = $21 << 24 >> 24; - $23 = $22 & 57343; - HEAP32[$$47>>2] = $23; - $$0 = 1; - break; - } - $24 = $21&255; - $25 = (($24) + -194)|0; - $26 = ($25>>>0)>(50); - if ($26) { - label = 17; - break; - } - $27 = ((($1)) + 1|0); - $28 = (3708 + ($25<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($2) + -1)|0; - $31 = ($30|0)==(0); - if ($31) { - $$2 = $29; - } else { - $$03952 = $27;$$04051 = $29;$$04350 = $30; - label = 11; - } - } else { - $$03952 = $1;$$04051 = $6;$$04350 = $2; - label = 11; - } - L14: do { - if ((label|0) == 11) { - $32 = HEAP8[$$03952>>0]|0; - $33 = $32&255; - $34 = $33 >>> 3; - $35 = (($34) + -16)|0; - $36 = $$04051 >> 26; - $37 = (($34) + ($36))|0; - $38 = $35 | $37; - $39 = ($38>>>0)>(7); - if ($39) { - label = 17; - break L1; - } else { - $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; - } - while(1) { - $40 = $$141 << 6; - $41 = ((($$1)) + 1|0); - $42 = $43&255; - $44 = (($42) + -128)|0; - $45 = $44 | $40; - $46 = (($$144) + -1)|0; - $47 = ($45|0)<(0); - if (!($47)) { - break; - } - $49 = ($46|0)==(0); - if ($49) { - $$2 = $45; - break L14; - } - $50 = HEAP8[$41>>0]|0; - $51 = $50 & -64; - $52 = ($51<<24>>24)==(-128); - if ($52) { - $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; - } else { - label = 17; - break L1; - } - } - HEAP32[$$>>2] = 0; - HEAP32[$$47>>2] = $45; - $48 = (($2) - ($46))|0; - $$0 = $48; - break L1; - } - } while(0); - HEAP32[$$>>2] = $$2; - $$0 = -2; - } - } - } while(0); - if ((label|0) == 17) { - HEAP32[$$>>2] = 0; - $53 = (___errno_location()|0); - HEAP32[$53>>2] = 84; - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___pthread_self_439() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function _fmaxf($0,$1) { - $0 = +$0; - $1 = +$1; - var $$0 = 0.0, $$unshifted = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___FLOAT_BITS_269($0)|0); - $3 = $2 & 2147483647; - $4 = ($3>>>0)>(2139095040); - do { - if ($4) { - $$0 = $1; - } else { - $5 = (___FLOAT_BITS_269($1)|0); - $6 = $5 & 2147483647; - $7 = ($6>>>0)>(2139095040); - if ($7) { - $$0 = $0; - } else { - $$unshifted = $5 ^ $2; - $8 = ($$unshifted|0)<(0); - if ($8) { - $9 = ($2|0)<(0); - $10 = $9 ? $1 : $0; - $$0 = $10; - break; - } else { - $11 = $0 < $1; - $12 = $11 ? $1 : $0; - $$0 = $12; - break; - } - } - } - } while(0); - return (+$$0); -} -function ___FLOAT_BITS_269($0) { - $0 = +$0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0); - return ($1|0); -} -function _fminf($0,$1) { - $0 = +$0; - $1 = +$1; - var $$0 = 0.0, $$unshifted = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___FLOAT_BITS_271($0)|0); - $3 = $2 & 2147483647; - $4 = ($3>>>0)>(2139095040); - do { - if ($4) { - $$0 = $1; - } else { - $5 = (___FLOAT_BITS_271($1)|0); - $6 = $5 & 2147483647; - $7 = ($6>>>0)>(2139095040); - if ($7) { - $$0 = $0; - } else { - $$unshifted = $5 ^ $2; - $8 = ($$unshifted|0)<(0); - if ($8) { - $9 = ($2|0)<(0); - $10 = $9 ? $0 : $1; - $$0 = $10; - break; - } else { - $11 = $0 < $1; - $12 = $11 ? $0 : $1; - $$0 = $12; - break; - } - } - } - } while(0); - return (+$$0); -} -function ___FLOAT_BITS_271($0) { - $0 = +$0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0); - return ($1|0); -} -function _ldexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function ___unlist_locked_file($0) { - $0 = $0|0; - var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 68|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = ((($0)) + 116|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - $$pre = ((($0)) + 112|0); - if (!($6)) { - $7 = HEAP32[$$pre>>2]|0; - $8 = ((($5)) + 112|0); - HEAP32[$8>>2] = $7; - } - $9 = HEAP32[$$pre>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $12 = (___pthread_self_607()|0); - $13 = ((($12)) + 232|0); - $$sink = $13; - } else { - $11 = ((($9)) + 116|0); - $$sink = $11; - } - HEAP32[$$sink>>2] = $5; - } - return; -} -function ___pthread_self_607() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _fopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer8 = sp + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $memchr = (_memchr(18607,$3,4)|0); - $4 = ($memchr|0)==(0|0); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $$0 = 0; - } else { - $6 = (___fmodeflags($1)|0); - $7 = $0; - $8 = $6 | 32768; - HEAP32[$vararg_buffer>>2] = $7; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $9 = (___syscall5(5,($vararg_buffer|0))|0); - $10 = (___syscall_ret($9)|0); - $11 = ($10|0)<(0); - if ($11) { - $$0 = 0; - } else { - $12 = $6 & 524288; - $13 = ($12|0)==(0); - if (!($13)) { - HEAP32[$vararg_buffer3>>2] = $10; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 2; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 1; - (___syscall221(221,($vararg_buffer3|0))|0); - } - $14 = (___fdopen($10,$1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$vararg_buffer8>>2] = $10; - (___syscall6(6,($vararg_buffer8|0))|0); - $$0 = 0; - } else { - $$0 = $14; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($0) { - $0 = $0|0; - var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_strchr($0,43)|0); - $2 = ($1|0)==(0|0); - $3 = HEAP8[$0>>0]|0; - $not$ = ($3<<24>>24)!=(114); - $$ = $not$&1; - $$0 = $2 ? $$ : 2; - $4 = (_strchr($0,120)|0); - $5 = ($4|0)==(0|0); - $6 = $$0 | 128; - $$0$ = $5 ? $$0 : $6; - $7 = (_strchr($0,101)|0); - $8 = ($7|0)==(0|0); - $9 = $$0$ | 524288; - $$2 = $8 ? $$0$ : $9; - $10 = ($3<<24>>24)==(114); - $11 = $$2 | 64; - $$2$ = $10 ? $$2 : $11; - $12 = ($3<<24>>24)==(119); - $13 = $$2$ | 512; - $$4 = $12 ? $13 : $$2$; - $14 = ($3<<24>>24)==(97); - $15 = $$4 | 1024; - $$$4 = $14 ? $15 : $$4; - return ($$$4|0); -} -function ___fdopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 56|0; - $3 = HEAP8[$1>>0]|0; - $4 = $3 << 24 >> 24; - $memchr = (_memchr(18607,$4,4)|0); - $5 = ($memchr|0)==(0|0); - if ($5) { - $6 = (___errno_location()|0); - HEAP32[$6>>2] = 22; - $$0 = 0; - } else { - $7 = (_malloc(1156)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - } else { - dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $9 = (_strchr($1,43)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = ($3<<24>>24)==(114); - $12 = $11 ? 8 : 4; - HEAP32[$7>>2] = $12; - } - $13 = (_strchr($1,101)|0); - $14 = ($13|0)==(0|0); - if ($14) { - $16 = $3; - } else { - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$1>>0]|0; - $16 = $$pre; - } - $15 = ($16<<24>>24)==(97); - if ($15) { - HEAP32[$vararg_buffer3>>2] = $0; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $17 = (___syscall221(221,($vararg_buffer3|0))|0); - $18 = $17 & 1024; - $19 = ($18|0)==(0); - if ($19) { - $20 = $17 | 1024; - HEAP32[$vararg_buffer7>>2] = $0; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $20; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $21 = HEAP32[$7>>2]|0; - $22 = $21 | 128; - HEAP32[$7>>2] = $22; - $29 = $22; - } else { - $$pre31 = HEAP32[$7>>2]|0; - $29 = $$pre31; - } - $23 = ((($7)) + 60|0); - HEAP32[$23>>2] = $0; - $24 = ((($7)) + 132|0); - $25 = ((($7)) + 44|0); - HEAP32[$25>>2] = $24; - $26 = ((($7)) + 48|0); - HEAP32[$26>>2] = 1024; - $27 = ((($7)) + 75|0); - HEAP8[$27>>0] = -1; - $28 = $29 & 8; - $30 = ($28|0)==(0); - if ($30) { - $31 = $2; - HEAP32[$vararg_buffer12>>2] = $0; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21523; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $31; - $32 = (___syscall54(54,($vararg_buffer12|0))|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP8[$27>>0] = 10; - } - } - $34 = ((($7)) + 32|0); - HEAP32[$34>>2] = 11; - $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 10; - $36 = ((($7)) + 40|0); - HEAP32[$36>>2] = 3; - $37 = ((($7)) + 12|0); - HEAP32[$37>>2] = 2; - $38 = HEAP32[(22692)>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = ((($7)) + 76|0); - HEAP32[$40>>2] = -1; - } - $41 = (___ofl_add($7)|0); - $$0 = $7; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___ofl_add($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___ofl_lock()|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 56|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($4)) + 52|0); - HEAP32[$6>>2] = $0; - } - HEAP32[$1>>2] = $0; - ___ofl_unlock(); - return ($0|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((22756|0)); - return (22764|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((22756|0)); - return; -} -function _fclose($0) { - $0 = $0|0; - var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $29 = $4; - } else { - $29 = 0; - } - ___unlist_locked_file($0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 1; - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (___ofl_lock()|0); - $9 = ((($0)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $10; - $$pre = ((($0)) + 56|0); - if (!($11)) { - $13 = HEAP32[$$pre>>2]|0; - $14 = ((($10)) + 56|0); - HEAP32[$14>>2] = $13; - } - $15 = HEAP32[$$pre>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = ((($15)) + 52|0); - HEAP32[$17>>2] = $12; - } - $18 = HEAP32[$8>>2]|0; - $19 = ($18|0)==($0|0); - if ($19) { - HEAP32[$8>>2] = $15; - } - ___ofl_unlock(); - } - $20 = (_fflush($0)|0); - $21 = ((($0)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); - $24 = $23 | $20; - $25 = ((($0)) + 92|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - _free($26); - } - if ($7) { - $28 = ($29|0)==(0); - if (!($28)) { - ___unlockfile($0); - } - } else { - _free($0); - } - return ($24|0); -} -function _fflush($0) { - $0 = $0|0; - var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[1071]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[1071]|0; - $11 = (_fflush($10)|0); - $29 = $11; - } - $12 = (___ofl_lock()|0); - $$02325 = HEAP32[$12>>2]|0; - $13 = ($$02325|0)==(0|0); - if ($13) { - $$024$lcssa = $29; - } else { - $$02327 = $$02325;$$02426 = $29; - while(1) { - $14 = ((($$02327)) + 76|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(-1); - if ($16) { - $17 = (___lockfile($$02327)|0); - $26 = $17; - } else { - $26 = 0; - } - $18 = ((($$02327)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($$02327)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($19>>>0)>($21>>>0); - if ($22) { - $23 = (___fflush_unlocked($$02327)|0); - $24 = $23 | $$02426; - $$1 = $24; - } else { - $$1 = $$02426; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___unlockfile($$02327); - } - $27 = ((($$02327)) + 56|0); - $$023 = HEAP32[$27>>2]|0; - $28 = ($$023|0)==(0|0); - if ($28) { - $$024$lcssa = $$1; - break; - } else { - $$02327 = $$023;$$02426 = $$1; - } - } - } - ___ofl_unlock(); - $$0 = $$024$lcssa; - } else { - $2 = ((($0)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if (!($4)) { - $5 = (___fflush_unlocked($0)|0); - $$0 = $5; - break; - } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)>($4>>>0); - if ($5) { - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - $15 = $11; - $16 = $13; - $17 = (($15) - ($16))|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); - } - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$3>>2] = 0; - HEAP32[$1>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _fgets($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; - var $sext$mask = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $6 = (___lockfile($2)|0); - $17 = $6; - } else { - $17 = 0; - } - $7 = (($1) + -1)|0; - $8 = ($1|0)<(2); - $9 = ($7|0)!=(0); - if ($8) { - $10 = ((($2)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ($17|0)==(0); - if (!($16)) { - ___unlockfile($2); - } - if ($9) { - $$0 = 0; - } else { - HEAP8[$0>>0] = 0; - $$0 = $0; - } - } else { - L11: do { - if ($9) { - $18 = ((($2)) + 4|0); - $19 = ((($2)) + 8|0); - $$063 = $7;$$064 = $0; - while(1) { - $20 = HEAP32[$18>>2]|0; - $21 = HEAP32[$19>>2]|0; - $22 = $20; - $23 = (($21) - ($22))|0; - $24 = (_memchr($20,10,$23)|0); - $25 = ($24|0)==(0|0); - $26 = $24; - $27 = (1 - ($22))|0; - $28 = (($27) + ($26))|0; - $29 = $25 ? $23 : $28; - $30 = ($29>>>0)<($$063>>>0); - $31 = $30 ? $29 : $$063; - _memcpy(($$064|0),($20|0),($31|0))|0; - $32 = HEAP32[$18>>2]|0; - $33 = (($32) + ($31)|0); - HEAP32[$18>>2] = $33; - $34 = (($$064) + ($31)|0); - $35 = (($$063) - ($31))|0; - $36 = ($35|0)!=(0); - $or$cond = $25 & $36; - if (!($or$cond)) { - $$1 = $34; - label = 17; - break L11; - } - $37 = HEAP32[$19>>2]|0; - $38 = ($33>>>0)<($37>>>0); - if ($38) { - $39 = ((($33)) + 1|0); - HEAP32[$18>>2] = $39; - $40 = HEAP8[$33>>0]|0; - $41 = $40&255; - $50 = $41; - } else { - $42 = (___uflow($2)|0); - $43 = ($42|0)<(0); - if ($43) { - break; - } else { - $50 = $42; - } - } - $48 = (($35) + -1)|0; - $49 = $50&255; - $51 = ((($34)) + 1|0); - HEAP8[$34>>0] = $49; - $sext$mask = $50 & 255; - $52 = ($sext$mask|0)!=(10); - $53 = ($48|0)!=(0); - $or$cond3 = $53 & $52; - if ($or$cond3) { - $$063 = $48;$$064 = $51; - } else { - $$1 = $51; - label = 17; - break L11; - } - } - $44 = ($34|0)==($0|0); - if ($44) { - $$06266 = 0; - } else { - $45 = HEAP32[$2>>2]|0; - $46 = $45 & 16; - $47 = ($46|0)==(0); - if ($47) { - $$06266 = 0; - } else { - $$1 = $34; - label = 17; - } - } - } else { - $$1 = $0; - label = 17; - } - } while(0); - if ((label|0) == 17) { - $54 = ($0|0)==(0|0); - if ($54) { - $$06266 = 0; - } else { - HEAP8[$$1>>0] = 0; - $$06266 = $0; - } - } - $55 = ($17|0)==(0); - if ($55) { - $$0 = $$06266; - } else { - ___unlockfile($2); - $$0 = $$06266; - } - } - return ($$0|0); -} -function _feof($0) { - $0 = $0|0; - var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 >>> 4; - $$lobit = $8 & 1; - if ($phitmp) { - $$lobit9 = $$lobit; - } else { - ___unlockfile($0); - $$lobit9 = $$lobit; - } - } else { - $4 = HEAP32[$0>>2]|0; - $5 = $4 >>> 4; - $$lobit8 = $5 & 1; - $$lobit9 = $$lobit8; - } - return ($$lobit9|0); -} -function _fscanf($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - HEAP32[$2>>2] = $varargs; - $3 = (_vfscanf($0,$1,$2)|0); - STACKTOP = sp;return ($3|0); -} -function _vfscanf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; - var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; - var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; - var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; - var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; - var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; - var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; - var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; - var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; - var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); - $3 = sp + 8|0; - $4 = sp + 17|0; - $5 = sp; - $6 = sp + 16|0; - $7 = ((($0)) + 76|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(-1); - if ($9) { - $10 = (___lockfile($0)|0); - $306 = $10; - } else { - $306 = 0; - } - $11 = HEAP8[$1>>0]|0; - $12 = ($11<<24>>24)==(0); - L4: do { - if ($12) { - $$3291 = 0; - } else { - $13 = ((($0)) + 4|0); - $14 = ((($0)) + 100|0); - $15 = ((($0)) + 108|0); - $16 = ((($0)) + 8|0); - $17 = ((($4)) + 10|0); - $18 = ((($4)) + 33|0); - $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); - $19 = ((($4)) + 46|0); - $20 = ((($4)) + 94|0); - $21 = ((($4)) + 1|0); - $22 = ((($4)) + 1|0); - $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; - L6: while(1) { - $23 = $24&255; - $25 = (_isspace($23)|0); - $26 = ($25|0)==(0); - L8: do { - if ($26) { - $53 = ($24<<24>>24)==(37); - L10: do { - if ($53) { - $54 = ((($$0273429)) + 1|0); - $55 = HEAP8[$54>>0]|0; - L12: do { - switch ($55<<24>>24) { - case 37: { - break L10; - break; - } - case 42: { - $76 = ((($$0273429)) + 2|0); - $$0293 = 0;$$2275 = $76; - break; - } - default: { - $77 = $55&255; - $isdigittmp = (($77) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $78 = ((($$0273429)) + 2|0); - $79 = HEAP8[$78>>0]|0; - $80 = ($79<<24>>24)==(36); - if ($80) { - $81 = (_arg_n($2,$isdigittmp)|0); - $82 = ((($$0273429)) + 3|0); - $$0293 = $81;$$2275 = $82; - break L12; - } - } - $arglist_current = HEAP32[$2>>2]|0; - $83 = $arglist_current; - $84 = ((0) + 4|0); - $expanded1 = $84; - $expanded = (($expanded1) - 1)|0; - $85 = (($83) + ($expanded))|0; - $86 = ((0) + 4|0); - $expanded5 = $86; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $87 = $85 & $expanded3; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $arglist_next = ((($88)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0293 = $89;$$2275 = $54; - } - } - } while(0); - $90 = HEAP8[$$2275>>0]|0; - $91 = $90&255; - $isdigittmp315414 = (($91) + -48)|0; - $isdigit316415 = ($isdigittmp315414>>>0)<(10); - if ($isdigit316415) { - $$0266417 = 0;$$3416 = $$2275;$95 = $91; - while(1) { - $92 = ($$0266417*10)|0; - $93 = (($92) + -48)|0; - $94 = (($93) + ($95))|0; - $96 = ((($$3416)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = $97&255; - $isdigittmp315 = (($98) + -48)|0; - $isdigit316 = ($isdigittmp315>>>0)<(10); - if ($isdigit316) { - $$0266417 = $94;$$3416 = $96;$95 = $98; - } else { - $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; - break; - } - } - } else { - $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; - } - $99 = ($$lcssa355<<24>>24)==(109); - $100 = ($$0293|0)!=(0|0); - $101 = ((($$3$lcssa)) + 1|0); - $$$0305 = $99 ? 0 : $$0305423; - $$327 = $99 ? 0 : $102; - $$$3 = $99 ? $101 : $$3$lcssa; - $narrow = $100 & $99; - $103 = ((($$$3)) + 1|0); - $104 = HEAP8[$$$3>>0]|0; - switch ($104<<24>>24) { - case 104: { - $105 = HEAP8[$103>>0]|0; - $106 = ($105<<24>>24)==(104); - $107 = ((($$$3)) + 2|0); - $$319 = $106 ? $107 : $103; - $$320 = $106 ? -2 : -1; - $$0268 = $$320;$$5 = $$319; - break; - } - case 108: { - $108 = HEAP8[$103>>0]|0; - $109 = ($108<<24>>24)==(108); - $110 = ((($$$3)) + 2|0); - $$321 = $109 ? $110 : $103; - $$322 = $109 ? 3 : 1; - $$0268 = $$322;$$5 = $$321; - break; - } - case 106: { - $$0268 = 3;$$5 = $103; - break; - } - case 116: case 122: { - $$0268 = 1;$$5 = $103; - break; - } - case 76: { - $$0268 = 2;$$5 = $103; - 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: { - $$0268 = 0;$$5 = $$$3; - break; - } - default: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - } - $111 = HEAP8[$$5>>0]|0; - $112 = $111&255; - $113 = $112 & 47; - $114 = ($113|0)==(3); - $115 = $112 | 32; - $$ = $114 ? $115 : $112; - $$$0268 = $114 ? 1 : $$0268; - $trunc = $$&255; - switch ($trunc<<24>>24) { - case 99: { - $116 = ($$0266$lcssa|0)>(1); - $$$0266 = $116 ? $$0266$lcssa : 1; - $$1267 = $$$0266;$$1284 = $$0283428; - break; - } - case 91: { - $$1267 = $$0266$lcssa;$$1284 = $$0283428; - break; - } - case 110: { - $117 = ($$0283428|0)<(0); - $118 = $117 << 31 >> 31; - _store_int($$0293,$$$0268,$$0283428,$118); - $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; - break L8; - break; - } - default: { - ___shlim($0,0); - while(1) { - $119 = HEAP32[$13>>2]|0; - $120 = HEAP32[$14>>2]|0; - $121 = ($119>>>0)<($120>>>0); - if ($121) { - $122 = ((($119)) + 1|0); - HEAP32[$13>>2] = $122; - $123 = HEAP8[$119>>0]|0; - $124 = $123&255; - $126 = $124; - } else { - $125 = (___shgetc($0)|0); - $126 = $125; - } - $127 = (_isspace($126)|0); - $128 = ($127|0)==(0); - if ($128) { - break; - } - } - $129 = HEAP32[$14>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$pre507 = HEAP32[$13>>2]|0; - $138 = $$pre507; - } else { - $131 = HEAP32[$13>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$13>>2] = $132; - $133 = $132; - $138 = $133; - } - $134 = HEAP32[$15>>2]|0; - $135 = HEAP32[$16>>2]|0; - $136 = (($134) + ($$0283428))|0; - $137 = (($136) + ($138))|0; - $139 = (($137) - ($135))|0; - $$1267 = $$0266$lcssa;$$1284 = $139; - } - } - ___shlim($0,$$1267); - $140 = HEAP32[$13>>2]|0; - $141 = HEAP32[$14>>2]|0; - $142 = ($140>>>0)<($141>>>0); - if ($142) { - $143 = ((($140)) + 1|0); - HEAP32[$13>>2] = $143; - $147 = $141; - } else { - $144 = (___shgetc($0)|0); - $145 = ($144|0)<(0); - if ($145) { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - $$pre509 = HEAP32[$14>>2]|0; - $147 = $$pre509; - } - $146 = ($147|0)==(0|0); - if (!($146)) { - $148 = HEAP32[$13>>2]|0; - $149 = ((($148)) + -1|0); - HEAP32[$13>>2] = $149; - } - L55: do { - switch ($trunc<<24>>24) { - case 91: case 99: case 115: { - $150 = ($$|0)==(99); - $151 = $$ | 16; - $152 = ($151|0)==(115); - L57: do { - if ($152) { - $153 = ($$|0)==(115); - _memset(($21|0),-1,256)|0; - HEAP8[$4>>0] = 0; - if ($153) { - HEAP8[$18>>0] = 0; - ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; - $$9 = $$5; - } else { - $$9 = $$5; - } - } else { - $154 = ((($$5)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = ($155<<24>>24)==(94); - $157 = ((($$5)) + 2|0); - $$0292 = $156&1; - $$6 = $156 ? $157 : $154; - $158 = $156&1; - _memset(($22|0),($158|0),256)|0; - HEAP8[$4>>0] = 0; - $159 = HEAP8[$$6>>0]|0; - switch ($159<<24>>24) { - case 45: { - $$sink443 = $19; - label = 64; - break; - } - case 93: { - $$sink443 = $20; - label = 64; - break; - } - default: { - $$pre514 = $$0292 ^ 1; - $$pre515 = $$pre514&255; - $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; - } - } - if ((label|0) == 64) { - label = 0; - $160 = ((($$6)) + 1|0); - $161 = $$0292 ^ 1; - $162 = $161&255; - HEAP8[$$sink443>>0] = $162; - $$7$ph = $160;$$pre$phi516Z2D = $162; - } - $$7 = $$7$ph; - while(1) { - $163 = HEAP8[$$7>>0]|0; - L69: do { - switch ($163<<24>>24) { - case 0: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case 93: { - $$9 = $$7; - break L57; - break; - } - case 45: { - $164 = ((($$7)) + 1|0); - $165 = HEAP8[$164>>0]|0; - switch ($165<<24>>24) { - case 93: case 0: { - $$8 = $$7;$176 = 45; - break L69; - break; - } - default: { - } - } - $166 = ((($$7)) + -1|0); - $167 = HEAP8[$166>>0]|0; - $168 = ($167&255)<($165&255); - if ($168) { - $169 = $167&255; - $$0286420 = $169; - while(1) { - $170 = (($$0286420) + 1)|0; - $171 = (($4) + ($170)|0); - HEAP8[$171>>0] = $$pre$phi516Z2D; - $172 = HEAP8[$164>>0]|0; - $173 = $172&255; - $174 = ($170|0)<($173|0); - if ($174) { - $$0286420 = $170; - } else { - $$8 = $164;$176 = $172; - break; - } - } - } else { - $$8 = $164;$176 = $165; - } - break; - } - default: { - $$8 = $$7;$176 = $163; - } - } - } while(0); - $175 = $176&255; - $177 = (($175) + 1)|0; - $178 = (($4) + ($177)|0); - HEAP8[$178>>0] = $$pre$phi516Z2D; - $179 = ((($$8)) + 1|0); - $$7 = $179; - } - } - } while(0); - $180 = (($$1267) + 1)|0; - $181 = $150 ? $180 : 31; - $182 = ($$$0268|0)==(1); - L77: do { - if ($182) { - if ($narrow) { - $183 = $181 << 2; - $184 = (_malloc($183)|0); - $185 = ($184|0)==(0|0); - if ($185) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $311 = $184; - } - } else { - $311 = $$0293; - } - HEAP32[$3>>2] = 0; - HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; - $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; - L82: while(1) { - $186 = ($$ph|0)==(0|0); - $$0278$ph336 = $$0278$ph; - while(1) { - L86: while(1) { - $187 = HEAP32[$13>>2]|0; - $188 = HEAP32[$14>>2]|0; - $189 = ($187>>>0)<($188>>>0); - if ($189) { - $190 = ((($187)) + 1|0); - HEAP32[$13>>2] = $190; - $191 = HEAP8[$187>>0]|0; - $192 = $191&255; - $195 = $192; - } else { - $193 = (___shgetc($0)|0); - $195 = $193; - } - $194 = (($195) + 1)|0; - $196 = (($4) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = ($197<<24>>24)==(0); - if ($198) { - break L82; - } - $199 = $195&255; - HEAP8[$6>>0] = $199; - $200 = (_mbrtowc($5,$6,1,$3)|0); - switch ($200|0) { - case -1: { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case -2: { - break; - } - default: { - break L86; - } - } - } - if ($186) { - $$1279 = $$0278$ph336; - } else { - $201 = (($$ph) + ($$0278$ph336<<2)|0); - $202 = (($$0278$ph336) + 1)|0; - $203 = HEAP32[$5>>2]|0; - HEAP32[$201>>2] = $203; - $$1279 = $202; - } - $204 = ($$1279|0)==($$0276$ph|0); - $or$cond = $narrow & $204; - if ($or$cond) { - break; - } else { - $$0278$ph336 = $$1279; - } - } - $factor331 = $$0276$ph << 1; - $205 = $factor331 | 1; - $206 = $205 << 2; - $207 = (_realloc($$ph,$206)|0); - $208 = ($207|0)==(0|0); - if ($208) { - $$7312 = 0;$309 = $$ph;$narrow469 = 1; - label = 137; - break L6; - } else { - $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; - } - } - $209 = (_mbsinit($3)|0); - $210 = ($209|0)==(0); - if ($210) { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - } else { - $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; - } - } else { - if ($narrow) { - $211 = (_malloc($181)|0); - $212 = ($211|0)==(0|0); - if ($212) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; - } - while(1) { - $$2280 = $$2280$ph; - while(1) { - $213 = HEAP32[$13>>2]|0; - $214 = HEAP32[$14>>2]|0; - $215 = ($213>>>0)<($214>>>0); - if ($215) { - $216 = ((($213)) + 1|0); - HEAP32[$13>>2] = $216; - $217 = HEAP8[$213>>0]|0; - $218 = $217&255; - $221 = $218; - } else { - $219 = (___shgetc($0)|0); - $221 = $219; - } - $220 = (($221) + 1)|0; - $222 = (($4) + ($220)|0); - $223 = HEAP8[$222>>0]|0; - $224 = ($223<<24>>24)==(0); - if ($224) { - $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; - break L77; - } - $225 = $221&255; - $226 = (($$2280) + 1)|0; - $227 = (($$2307$ph) + ($$2280)|0); - HEAP8[$227>>0] = $225; - $228 = ($226|0)==($$1277$ph|0); - if ($228) { - break; - } else { - $$2280 = $226; - } - } - $factor = $$1277$ph << 1; - $229 = $factor | 1; - $230 = (_realloc($$2307$ph,$229)|0); - $231 = ($230|0)==(0|0); - if ($231) { - $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; - } - } - } - $232 = ($$0293|0)==(0|0); - if ($232) { - $250 = $147; - while(1) { - $248 = HEAP32[$13>>2]|0; - $249 = ($248>>>0)<($250>>>0); - if ($249) { - $251 = ((($248)) + 1|0); - HEAP32[$13>>2] = $251; - $252 = HEAP8[$248>>0]|0; - $253 = $252&255; - $256 = $253; - } else { - $254 = (___shgetc($0)|0); - $256 = $254; - } - $255 = (($256) + 1)|0; - $257 = (($4) + ($255)|0); - $258 = HEAP8[$257>>0]|0; - $259 = ($258<<24>>24)==(0); - if ($259) { - $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; - break L77; - } - $$pre512 = HEAP32[$14>>2]|0; - $250 = $$pre512; - } - } else { - $$3281 = 0;$235 = $147; - while(1) { - $233 = HEAP32[$13>>2]|0; - $234 = ($233>>>0)<($235>>>0); - if ($234) { - $236 = ((($233)) + 1|0); - HEAP32[$13>>2] = $236; - $237 = HEAP8[$233>>0]|0; - $238 = $237&255; - $241 = $238; - } else { - $239 = (___shgetc($0)|0); - $241 = $239; - } - $240 = (($241) + 1)|0; - $242 = (($4) + ($240)|0); - $243 = HEAP8[$242>>0]|0; - $244 = ($243<<24>>24)==(0); - if ($244) { - $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; - break L77; - } - $245 = $241&255; - $246 = (($$3281) + 1)|0; - $247 = (($$0293) + ($$3281)|0); - HEAP8[$247>>0] = $245; - $$pre511 = HEAP32[$14>>2]|0; - $$3281 = $246;$235 = $$pre511; - } - } - } - } while(0); - $260 = HEAP32[$14>>2]|0; - $261 = ($260|0)==(0|0); - if ($261) { - $$pre513 = HEAP32[$13>>2]|0; - $268 = $$pre513; - } else { - $262 = HEAP32[$13>>2]|0; - $263 = ((($262)) + -1|0); - HEAP32[$13>>2] = $263; - $264 = $263; - $268 = $264; - } - $265 = HEAP32[$15>>2]|0; - $266 = HEAP32[$16>>2]|0; - $267 = (($268) - ($266))|0; - $269 = (($267) + ($265))|0; - $270 = ($269|0)==(0); - if ($270) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - $$not = $150 ^ 1; - $271 = ($269|0)==($$1267|0); - $or$cond318 = $271 | $$not; - if (!($or$cond318)) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - do { - if ($narrow) { - if ($182) { - HEAP32[$$0293>>2] = $$5299; - break; - } else { - HEAP32[$$0293>>2] = $$4309; - break; - } - } - } while(0); - if ($150) { - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } else { - $272 = ($$5299|0)==(0|0); - if (!($272)) { - $273 = (($$5299) + ($$4282<<2)|0); - HEAP32[$273>>2] = 0; - } - $274 = ($$4309|0)==(0|0); - if ($274) { - $$10 = $$9;$$5310 = 0;$310 = $312; - break L55; - } - $275 = (($$4309) + ($$4282)|0); - HEAP8[$275>>0] = 0; - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } - break; - } - case 120: case 88: case 112: { - $$0272 = 16; - label = 125; - break; - } - case 111: { - $$0272 = 8; - label = 125; - break; - } - case 117: case 100: { - $$0272 = 10; - label = 125; - break; - } - case 105: { - $$0272 = 0; - label = 125; - break; - } - case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { - $285 = (+___floatscan($0,$$$0268,0)); - $286 = HEAP32[$15>>2]|0; - $287 = HEAP32[$13>>2]|0; - $288 = HEAP32[$16>>2]|0; - $289 = (($288) - ($287))|0; - $290 = ($286|0)==($289|0); - if ($290) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $291 = ($$0293|0)==(0|0); - if ($291) { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } else { - switch ($$$0268|0) { - case 0: { - $292 = $285; - HEAPF32[$$0293>>2] = $292; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 1: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 2: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - } - } - } - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } - } - } while(0); - do { - if ((label|0) == 125) { - label = 0; - $276 = (___intscan($0,$$0272,0,-1,-1)|0); - $277 = tempRet0; - $278 = HEAP32[$15>>2]|0; - $279 = HEAP32[$13>>2]|0; - $280 = HEAP32[$16>>2]|0; - $281 = (($280) - ($279))|0; - $282 = ($278|0)==($281|0); - if ($282) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $283 = ($$|0)==(112); - $or$cond3 = $100 & $283; - if ($or$cond3) { - $284 = $276; - HEAP32[$$0293>>2] = $284; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } else { - _store_int($$0293,$$$0268,$276,$277); - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } - } - } while(0); - $293 = HEAP32[$15>>2]|0; - $294 = HEAP32[$13>>2]|0; - $295 = HEAP32[$16>>2]|0; - $296 = (($293) + ($$1284))|0; - $297 = (($296) + ($294))|0; - $298 = (($297) - ($295))|0; - $299 = $100&1; - $$0288$ = (($299) + ($$0288425))|0; - $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; - break L8; - } - } while(0); - $56 = $53&1; - $57 = (($$0273429) + ($56)|0); - ___shlim($0,0); - $58 = HEAP32[$13>>2]|0; - $59 = HEAP32[$14>>2]|0; - $60 = ($58>>>0)<($59>>>0); - if ($60) { - $61 = ((($58)) + 1|0); - HEAP32[$13>>2] = $61; - $62 = HEAP8[$58>>0]|0; - $63 = $62&255; - $68 = $63; - } else { - $64 = (___shgetc($0)|0); - $68 = $64; - } - $65 = HEAP8[$57>>0]|0; - $66 = $65&255; - $67 = ($68|0)==($66|0); - if (!($67)) { - label = 22; - break L6; - } - $75 = (($$0283428) + 1)|0; - $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; - } else { - $$1274 = $$0273429; - while(1) { - $27 = ((($$1274)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = (_isspace($29)|0); - $31 = ($30|0)==(0); - if ($31) { - break; - } else { - $$1274 = $27; - } - } - ___shlim($0,0); - while(1) { - $32 = HEAP32[$13>>2]|0; - $33 = HEAP32[$14>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$13>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $39 = $37; - } else { - $38 = (___shgetc($0)|0); - $39 = $38; - } - $40 = (_isspace($39)|0); - $41 = ($40|0)==(0); - if ($41) { - break; - } - } - $42 = HEAP32[$14>>2]|0; - $43 = ($42|0)==(0|0); - if ($43) { - $$pre = HEAP32[$13>>2]|0; - $51 = $$pre; - } else { - $44 = HEAP32[$13>>2]|0; - $45 = ((($44)) + -1|0); - HEAP32[$13>>2] = $45; - $46 = $45; - $51 = $46; - } - $47 = HEAP32[$15>>2]|0; - $48 = HEAP32[$16>>2]|0; - $49 = (($47) + ($$0283428))|0; - $50 = (($49) + ($51))|0; - $52 = (($50) - ($48))|0; - $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; - } - } while(0); - $300 = ((($$11)) + 1|0); - $301 = HEAP8[$300>>0]|0; - $302 = ($301<<24>>24)==(0); - if ($302) { - $$3291 = $$1289; - break L4; - } else { - $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; - } - } - if ((label|0) == 22) { - $69 = HEAP32[$14>>2]|0; - $70 = ($69|0)==(0|0); - if (!($70)) { - $71 = HEAP32[$13>>2]|0; - $72 = ((($71)) + -1|0); - HEAP32[$13>>2] = $72; - } - $73 = ($68|0)>(-1); - $74 = ($$0288425|0)!=(0); - $or$cond5 = $74 | $73; - if ($or$cond5) { - $$3291 = $$0288425; - break; - } else { - $$1271 = 0;$$8313 = $$0305423;$308 = $102; - label = 138; - } - } - else if ((label|0) == 137) { - $$328$le441 = $narrow469&1; - $$old4 = ($$0288425|0)==(0); - if ($$old4) { - $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; - label = 138; - } else { - $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; - } - } - else if ((label|0) == 139) { - $$328$le439 = $narrow&1; - $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; - } - if ((label|0) == 138) { - $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; - } - $303 = ($$2|0)==(0); - if ($303) { - $$3291 = $$2290; - } else { - _free($$9314); - _free($304); - $$3291 = $$2290; - } - } - } while(0); - $305 = ($306|0)==(0); - if (!($305)) { - ___unlockfile($0); - } - STACKTOP = sp;return ($$3291|0); -} -function _arg_n($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - $vacopy_currentptr = HEAP32[$0>>2]|0; - HEAP32[$2>>2] = $vacopy_currentptr; - $$0 = $1; - while(1) { - $3 = ($$0>>>0)>(1); - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded1 = $5; - $expanded = (($expanded1) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded5 = $7; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $8 = $6 & $expanded3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $11 = (($$0) + -1)|0; - if ($3) { - $$0 = $11; - } else { - break; - } - } - STACKTOP = sp;return ($10|0); -} -function _store_int($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - L1: do { - if (!($4)) { - switch ($1|0) { - case -2: { - $5 = $2&255; - HEAP8[$0>>0] = $5; - break L1; - break; - } - case -1: { - $6 = $2&65535; - HEAP16[$0>>1] = $6; - break L1; - break; - } - case 0: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 1: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 3: { - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $2; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $3; - break L1; - break; - } - default: { - break L1; - } - } - } - } while(0); - return; -} -function _mbsinit($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - $5 = 1; - } else { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(0); - $5 = $3; - } - $4 = $5&1; - return ($4|0); -} -function _fseek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (___fseeko($0,$1,$2)|0); - return ($3|0); -} -function ___fseeko($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $7 = (___lockfile($0)|0); - $phitmp = ($7|0)==(0); - $8 = (___fseeko_unlocked($0,$1,$2)|0); - if ($phitmp) { - $9 = $8; - } else { - ___unlockfile($0); - $9 = $8; - } - } else { - $6 = (___fseeko_unlocked($0,$1,$2)|0); - $9 = $6; - } - return ($9|0); -} -function ___fseeko_unlocked($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(1); - if ($3) { - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($1) - ($5))|0; - $9 = (($8) + ($7))|0; - $$019 = $9; - } else { - $$019 = $1; - } - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)>($13>>>0); - if ($14) { - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); - $17 = HEAP32[$10>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $19 = ((($0)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); - $23 = ($22|0)<(0); - if ($23) { - $$0 = -1; - } else { - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = 0; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = $26 & -17; - HEAP32[$0>>2] = $27; - $$0 = 0; - } - } - return ($$0|0); -} -function _strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strrchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($2) + 1)|0; - $4 = (___memrchr($0,$1,$3)|0); - return ($4|0); -} -function ___memrchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1&255; - $$09 = $2; - while(1) { - $4 = (($$09) + -1)|0; - $5 = ($$09|0)==(0); - if ($5) { - $$0 = 0; - break; - } - $6 = (($0) + ($4)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==($3<<24>>24); - if ($8) { - $$0 = $6; - break; - } else { - $$09 = $4; - } - } - return ($$0|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 18888; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _fread($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = ($1|0)==(0); - $$ = $5 ? 0 : $2; - $6 = ((($3)) + 76|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(-1); - if ($8) { - $9 = (___lockfile($3)|0); - $36 = $9; - } else { - $36 = 0; - } - $10 = ((($3)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ((($3)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19; - $21 = (($17) - ($20))|0; - $22 = ($21|0)>(0); - $23 = ($21>>>0)<($4>>>0); - $$57 = $23 ? $21 : $4; - if ($22) { - $24 = (($4) - ($$57))|0; - $25 = (($0) + ($$57)|0); - _memcpy(($0|0),($19|0),($$57|0))|0; - $26 = (($19) + ($$57)|0); - HEAP32[$18>>2] = $26; - $$054$ph = $24;$$056$ph = $25; - } else { - $$054$ph = $4;$$056$ph = $0; - } - $27 = ($$054$ph|0)==(0); - L7: do { - if ($27) { - label = 13; - } else { - $28 = ((($3)) + 32|0); - $$05460 = $$054$ph;$$05659 = $$056$ph; - while(1) { - $29 = (___toread($3)|0); - $30 = ($29|0)==(0); - if (!($30)) { - break; - } - $31 = HEAP32[$28>>2]|0; - $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); - $33 = (($32) + 1)|0; - $34 = ($33>>>0)<(2); - if ($34) { - break; - } - $39 = (($$05460) - ($32))|0; - $40 = (($$05659) + ($32)|0); - $41 = ($39|0)==(0); - if ($41) { - label = 13; - break L7; - } else { - $$05460 = $39;$$05659 = $40; - } - } - $35 = ($36|0)==(0); - if (!($35)) { - ___unlockfile($3); - } - $37 = (($4) - ($$05460))|0; - $38 = (($37>>>0) / ($1>>>0))&-1; - $$0 = $38; - } - } while(0); - if ((label|0) == 13) { - $42 = ($36|0)==(0); - if ($42) { - $$0 = $$; - } else { - ___unlockfile($3); - $$0 = $$; - } - } - return ($$0|0); -} -function _rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $phitmp = ($4|0)==(0); - (___fseeko_unlocked($0,0,0)|0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & -33; - HEAP32[$0>>2] = $6; - if (!($phitmp)) { - ___unlockfile($0); - } - } else { - (___fseeko_unlocked($0,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 & -33; - HEAP32[$0>>2] = $8; - } - return; -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[1039]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = HEAP32[5692]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[5692] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[5692] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[5692] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[5692] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function runPostSets() { -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; - end = (ptr + num)|0; - - value = value & 0xff; - if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { - while ((ptr&3) != 0) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - - aligned_end = (end & -4)|0; - block_aligned_end = (aligned_end - 64)|0; - value4 = value | (value << 8) | (value << 16) | (value << 24); - - while((ptr|0) <= (block_aligned_end|0)) { - HEAP32[((ptr)>>2)]=value4; - HEAP32[(((ptr)+(4))>>2)]=value4; - HEAP32[(((ptr)+(8))>>2)]=value4; - HEAP32[(((ptr)+(12))>>2)]=value4; - HEAP32[(((ptr)+(16))>>2)]=value4; - HEAP32[(((ptr)+(20))>>2)]=value4; - HEAP32[(((ptr)+(24))>>2)]=value4; - HEAP32[(((ptr)+(28))>>2)]=value4; - HEAP32[(((ptr)+(32))>>2)]=value4; - HEAP32[(((ptr)+(36))>>2)]=value4; - HEAP32[(((ptr)+(40))>>2)]=value4; - HEAP32[(((ptr)+(44))>>2)]=value4; - HEAP32[(((ptr)+(48))>>2)]=value4; - HEAP32[(((ptr)+(52))>>2)]=value4; - HEAP32[(((ptr)+(56))>>2)]=value4; - HEAP32[(((ptr)+(60))>>2)]=value4; - ptr = (ptr + 64)|0; - } - - while ((ptr|0) < (aligned_end|0) ) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - // The remaining bytes. - while ((ptr|0) < (end|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (end-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - var aligned_dest_end = 0; - var block_aligned_dest_end = 0; - var dest_end = 0; - // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. - if ((num|0) >= - 8192 - ) { - return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - } - - ret = dest|0; - dest_end = (dest + num)|0; - if ((dest&3) == (src&3)) { - // The initial unaligned < 4-byte front. - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - aligned_dest_end = (dest_end & -4)|0; - block_aligned_dest_end = (aligned_dest_end - 64)|0; - while ((dest|0) <= (block_aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); - HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); - HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); - HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); - HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); - HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); - HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); - HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); - HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); - HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); - HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); - HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); - HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); - HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); - HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); - dest = (dest+64)|0; - src = (src+64)|0; - } - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } else { - // In the unaligned copy case, unroll a bit as well. - aligned_dest_end = (dest_end - 4)|0; - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); - HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); - HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } - // The remaining unaligned < 4 byte tail. - while ((dest|0) < (dest_end|0)) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _sbrk(increment) { - increment = increment|0; - var oldDynamicTop = 0; - var oldDynamicTopOnChange = 0; - var newDynamicTop = 0; - var totalMemory = 0; - increment = ((increment + 15) & -16)|0; - oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; - newDynamicTop = oldDynamicTop + increment | 0; - - if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. - | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. - abortOnCannotGrowMemory()|0; - ___setErrNo(12); - return -1; - } - - HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; - totalMemory = getTotalMemory()|0; - if ((newDynamicTop|0) > (totalMemory|0)) { - if ((enlargeMemory()|0) == 0) { - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - ___setErrNo(12); - return -1; - } - } - return oldDynamicTop|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _llvm_bswap_i32(x) { - x = x|0; - return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; -} - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _llvm_bswap_i32: _llvm_bswap_i32, _roundf: _roundf, _main: _main, dynCall_i: dynCall_i, stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, dynCall_vidddd: dynCall_vidddd, setThrew: setThrew, dynCall_viii: dynCall_viii, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, dynCall_iii: dynCall_iii, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, ___muldi3: ___muldi3, dynCall_vd: dynCall_vd, dynCall_vii: dynCall_vii, ___uremdi3: ___uremdi3, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_viiiiiii: dynCall_viiiiiii, getTempRet0: getTempRet0, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, dynCall_viid: dynCall_viid, dynCall_ii: dynCall_ii, _emscripten_GetProcAddress: _emscripten_GetProcAddress, dynCall_viiii: dynCall_viiii, ___errno_location: ___errno_location, dynCall_viiiii: dynCall_viiiii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, _memmove: _memmove, _strstr: _strstr, stackRestore: stackRestore, _malloc: _malloc, dynCall_vdi: dynCall_vdi, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__roundf.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackSave.apply(null, arguments); -}; - -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_getTempRet0.apply(null, arguments); -}; - -var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____udivdi3.apply(null, arguments); -}; - -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setThrew.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__fflush.apply(null, arguments); -}; - -var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__sbrk.apply(null, arguments); -}; - -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__llvm_bswap_i32.apply(null, arguments); -}; - -var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____muldi3.apply(null, arguments); -}; - -var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____uremdi3.apply(null, arguments); -}; - -var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackAlloc.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setTempRet0.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_GetProcAddress.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____errno_location.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__free.apply(null, arguments); -}; - -var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_establishStackSpace.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strstr.apply(null, arguments); -}; - -var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackRestore.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__malloc.apply(null, arguments); -}; -var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - - -/** - * @constructor - * @extends {Error} - */ -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 initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - Module.printErr('exception thrown: ' + toLog); - Module['quit'](1, e); - } - } finally { - calledMain = true; - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - writeStackCookie(); - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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(); - } - checkStackCookie(); -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - process['exit'](status); - } - Module['quit'](status, new ExitStatus(status)); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/examples/web/models/models_obj_loading.c b/examples/web/models/models_obj_loading.c index 1e11bdd..c6a8429 100644 --- a/examples/web/models/models_obj_loading.c +++ b/examples/web/models/models_obj_loading.c @@ -15,10 +15,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -41,19 +37,11 @@ void UpdateDrawFrame(void); // Update and Draw one frame //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - obj model loading"); -#endif dwarf = LoadModel("resources/model/dwarf.obj"); // Load OBJ model texture = LoadTexture("resources/model/dwarf_diffuse.png"); // Load model texture @@ -79,9 +67,8 @@ int main(void) CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_obj_loading.data b/examples/web/models/models_obj_loading.data deleted file mode 100644 index 2a09e7b..0000000 --- a/examples/web/models/models_obj_loading.data +++ /dev/null @@ -1,60390 +0,0 @@ -# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware -# File Created: 28.05.2015 21:59:00 - -mtllib Enano_Final_001.mtl - -# -# object Box001 -# - -v 0.387459278107 0.001037180424 -0.000000000000 -v 0.357966661453 0.000561296940 -0.148274183273 -v 0.273977041245 0.000000000000 -0.273975044489 -v 0.148276805878 -0.000561356544 -0.357965648174 -v 0.000002622604 -0.001037240028 -0.387459248304 -v -0.148271799088 -0.001355171204 -0.357965648174 -v -0.273973226547 -0.001466870308 -0.273975044489 -v -0.357964754105 -0.001355171204 -0.148274242878 -v -0.387459278107 -0.001037240028 -0.000000059605 -v -0.357966899872 -0.000561356544 0.148274183273 -v -0.273977279663 -0.000000059605 0.273975014687 -v -0.148276805878 0.000561296940 0.357965707779 -v -0.000002861023 0.001037180424 0.387459278107 -v 0.148271799088 0.001355111599 0.357965588570 -v 0.273973226547 0.001466810703 0.273974895477 -v 0.357964634895 0.001355111599 0.148274123669 -v 0.387031078339 0.161010622978 -0.000428199768 -v 0.357538461685 0.160534739494 -0.148702442646 -v 0.273548841476 0.159973442554 -0.274403274059 -v 0.147848606110 0.159412086010 -0.358393877745 -v -0.000425577164 0.158936202526 -0.387887477875 -v -0.148699998856 0.158618271351 -0.358393877745 -v -0.274401426315 0.158506572247 -0.274403274059 -v -0.358391761780 0.158147990704 -0.148701190948 -v -0.387881040573 0.156506061554 -0.000421762466 -v -0.358393907547 0.158941805363 0.147847235203 -v -0.274405479431 0.159973382950 0.273546814919 -v -0.148705244064 0.160534739494 0.357537508011 -v -0.000431060791 0.161010622978 0.387031078339 -v 0.147843360901 0.161328554153 0.357537388802 -v 0.273545026779 0.161440253258 0.273546695709 -v 0.357536435127 0.161328554153 0.147845864296 -v 0.353100299835 0.160919785500 -0.000428199768 -v 0.326190590858 0.160485565662 -0.135717749596 -v 0.249556064606 0.159973442554 -0.250410705805 -v 0.134863615036 0.159461259842 -0.327046126127 -v -0.000425815582 0.159027040005 -0.353956878185 -v -0.135715484619 0.158736944199 -0.327046126127 -v -0.250409126282 0.158635079861 -0.250410705805 -v -0.327044963837 0.158685207367 -0.135717630386 -v -0.353955745697 0.158622086048 -0.000427186489 -v -0.327047109604 0.159409523010 0.134861409664 -v -0.250412702560 0.159973382950 0.249554216862 -v -0.135720252991 0.160485565662 0.326189637184 -v -0.000430822372 0.160919785500 0.353100419044 -v 0.134859085083 0.161209881306 0.326189637184 -v 0.249552488327 0.161311805248 0.249554157257 -v 0.326188802719 0.161209881306 0.134861171246 -v 0.353296518326 0.087664961815 -0.000232100487 -v 0.326386690140 0.087230741978 -0.135521650314 -v 0.249752044678 0.086718618870 -0.250214606524 -v 0.135059833527 0.086206436157 -0.326850026846 -v -0.000229597092 0.085772216320 -0.353760749102 -v -0.135519504547 0.085482120514 -0.326850026846 -v -0.250212907791 0.085380256176 -0.250214606524 -v -0.326848983765 0.085482120514 -0.135521650314 -v -0.353760719299 0.085772216320 -0.000232160091 -v -0.326851129532 0.086206436157 0.135057389736 -v -0.250216484070 0.086718559265 0.249750316143 -v -0.135524034500 0.087230741978 0.326385736465 -v -0.000234603882 0.087664961815 0.353296518326 -v 0.135055065155 0.087955057621 0.326385736465 -v 0.249748706818 0.088056981564 0.249750256538 -v 0.326384902000 0.087955057621 0.135057270527 -v 0.375676870346 0.177378296852 -0.000472128391 -v 0.364366769791 0.177348017693 -0.000472128391 -v 0.347045183182 0.176916301250 -0.144418120384 -v 0.336596012115 0.176899909973 -0.140089869499 -v 0.265507221222 0.176371395588 -0.266449689865 -v 0.257509708405 0.176371395588 -0.258452177048 -v 0.143476247787 0.175826430321 -0.347988516092 -v 0.139147996902 0.175842821598 -0.337539315224 -v -0.000469446182 0.175364434719 -0.376621156931 -v -0.000469684601 0.175394713879 -0.365310996771 -v -0.144415855408 0.175055742264 -0.347988516092 -v -0.140087604523 0.175095319748 -0.337539315224 -v -0.266447782516 0.174947381020 -0.266449689865 -v -0.258450269699 0.174990177155 -0.258452177048 -v -0.347987651825 0.175055742264 -0.144418120384 -v -0.337538242340 0.175095319748 -0.140089929104 -v -0.376621246338 0.175364434719 -0.000472187996 -v -0.365311145782 0.175394713879 -0.000472187996 -v -0.347989559174 0.175826430321 0.143473863602 -v -0.337540388107 0.175842821598 0.139145612717 -v -0.266451835632 0.176371335983 0.265505313873 -v -0.258454084396 0.176371335983 0.257507801056 -v -0.144420623779 0.176916301250 0.347044229507 -v -0.140092372894 0.176899909973 0.336595058441 -v -0.000474929810 0.177378296852 0.375676870346 -v -0.000474691391 0.177348017693 0.364366769791 -v 0.143471479416 0.177686989307 0.347044229507 -v 0.139143228531 0.177647411823 0.336595058441 -v 0.265503644943 0.177795350552 0.265505313873 -v 0.257506132126 0.177752554417 0.257507801056 -v 0.347043275833 0.177686989307 0.143473744392 -v 0.336594104767 0.177647411823 0.139145493507 -v -0.260723114014 0.157754421234 -0.259547352791 -v 0.188534498215 0.162128329277 0.220312714577 -v 0.150835990906 0.255903840065 -0.122018277645 -v -0.367745399475 0.145474791527 -0.000509381294 -v 0.326006412506 0.188046872616 0.061991870403 -v -0.140351295471 0.145963966846 0.338536977768 -v -0.092543125153 0.133517801762 0.209983170033 -v -0.045091629028 0.219104647636 0.071014165878 -v 0.117162466049 0.138920009136 0.148487687111 -v 0.094516038895 0.211338222027 0.006093084812 -v 0.141849040985 0.167456209660 -0.338641077280 -v -0.132145881653 0.224308967590 -0.168267190456 -v -0.290617465973 0.153861880302 0.041577756405 -v 0.232747793198 0.220157623291 -0.020193576813 -v -0.104435920715 0.156720459461 0.107542216778 -v 0.261220932007 0.215893089771 0.140530586243 -v 0.339339137077 0.144055008888 0.139837384224 -v 0.232198715210 0.238567829132 -0.074207901955 -v 0.139328241348 0.221993207932 -0.251845806837 -v 0.001096725464 0.115566849709 0.232506930828 -v 0.235008478165 0.183093011379 -0.224647879601 -v 0.025869607925 0.220658242702 0.010586977005 -v -0.260028839111 0.142340183258 0.258761763573 -v 0.149353027344 0.195868253708 0.071023166180 -v -0.312650203705 0.150955259800 0.143607854843 -v -0.012047052383 0.257859528065 -0.223151683807 -v -0.092512130737 0.135187923908 0.292060732841 -v -0.015312671661 0.255189657211 -0.138771057129 -v 0.137337684631 0.183658897877 -0.296297132969 -v -0.172811269760 0.177352190018 -0.007483303547 -v 0.223266124725 0.217488348484 0.090728402138 -v 0.064405202866 0.252335906029 -0.226450979710 -v -0.188626766205 0.189203381538 -0.061699330807 -v 0.016028881073 0.124756276608 0.299646496773 -v 0.089669704437 0.233257532120 -0.075778305531 -v 0.139914751053 0.137555956841 0.338332772255 -v 0.284914731979 0.198863744736 -0.022770822048 -v 0.304054975510 0.196833968163 0.028051853180 -v -0.097067356110 0.222885787487 -0.054254412651 -v -0.237313508987 0.144842386246 0.232705712318 -v 0.269050121307 0.216346383095 0.051027357578 -v -0.120793342590 0.202318608761 0.021182298660 -v -0.339625835419 0.138534486294 0.138899505138 -v 0.037177801132 0.231764197350 -0.090419173241 -v 0.143469810486 0.149774491787 0.195432603359 -v 0.293514966965 0.187747895718 -0.097219467163 -v -0.168785572052 0.151870310307 0.060518741608 -v 0.020806550980 0.266882598400 -0.172512531281 -v 0.259666919708 0.145984232426 0.258646607399 -v 0.034334182739 0.252145409584 -0.135116934776 -v -0.140362977982 0.156036436558 -0.339551180601 -v 0.032037258148 0.132924497128 0.150658845901 -v 0.366469740868 0.153844237328 -0.000785291195 -v -0.013993501663 0.172754645348 0.088831484318 -v 0.075382471085 0.258517682552 -0.122498214245 -v -0.144392013550 0.200841248035 -0.234057486057 -v 0.200603008270 0.174400389194 0.172962725163 -v -0.017191648483 0.226316809654 0.000772595406 -v 0.077378988266 0.224100291729 -0.039400041103 -v -0.000497341156 0.134032607079 0.366490840912 -v 0.338284015656 0.156314671040 -0.141668856144 -v -0.153885364532 0.204451203346 -0.099687397480 -v 0.195820569992 0.205458104610 0.131933152676 -v 0.216483592987 0.239142835140 -0.141529560089 -v -0.048132896423 0.252258181572 -0.187425732613 -v 0.048329114914 0.181412041187 0.058874249458 -v 0.297631740570 0.188538789749 0.118461728096 -v 0.094685554504 0.275856882334 -0.177895724773 -v 0.291773080826 0.176003396511 0.168679654598 -v 0.258277654648 0.169047772884 -0.258827954531 -v -0.025267601013 0.222986042500 -0.080369651318 -v -0.082452535629 0.196722209454 -0.287426501513 -v -0.052076101303 0.149037420750 0.130536139011 -v 0.078437328339 0.166446685791 -0.351232022047 -v -0.079320430756 0.196040034294 0.077153921127 -v 0.147503852844 0.252151966095 -0.186089634895 -v -0.237520694733 0.165661454201 -0.003286302090 -v -0.029679536819 0.118149220943 0.186804175377 -v 0.181889533997 0.212109684944 -0.008958518505 -v -0.094622135162 0.229876041412 -0.137650251389 -v 0.069519281387 0.135161101818 0.174413204193 -v 0.278537750244 0.214016139507 0.012907266617 -v -0.000745296478 0.139973580837 0.130587935448 -v 0.161170482635 0.208140671253 0.035515487194 -v -0.166126012802 0.139393448830 0.192975401878 -v 0.290117979050 0.177705764771 -0.146035611629 -v 0.020158529282 0.206230044365 0.052492976189 -v -0.134399890900 0.143064141273 0.142413377762 -v -0.266332864761 0.169014453888 -0.063792705536 -v 0.132324457169 0.250333786011 -0.097359597683 -v 0.001193761826 0.159170746803 -0.367280960083 -v -0.188598394394 0.189268946648 -0.191226005554 -v 0.097879648209 0.156538784504 0.109527528286 -v 0.203623294830 0.224369049072 -0.037161529064 -v -0.129595041275 0.211527705193 -0.041961491108 -v -0.339376449585 0.143820405006 -0.140513777733 -v 0.205133199692 0.213180243969 -0.004063129425 -v 0.233246803284 0.214453101158 -0.008401036263 -v 0.206484079361 0.212388336658 0.016018033028 -v 0.242507219315 0.213977515697 0.010456264019 -v 0.209819316864 0.211635589600 0.041306018829 -v 0.251682043076 0.213515639305 0.034897506237 -v 0.219023942947 0.211915493011 0.102876901627 -v 0.255498886108 0.213328659534 0.102843940258 -v 0.209807872772 0.211321473122 0.073793649673 -v 0.260978460312 0.213306427002 0.070012688637 -v 0.218056917191 0.213957488537 -0.009956002235 -v 0.237318038940 0.212719857693 0.106576442719 -v 0.201871395111 0.223009884357 -0.005214691162 -v 0.234170436859 0.224603056908 -0.010290384293 -v 0.201443910599 0.221436142921 0.017751872540 -v 0.247167825699 0.223902463913 0.009773075581 -v 0.204860687256 0.220546007156 0.042006075382 -v 0.256182670593 0.223231375217 0.033681809902 -v 0.217150449753 0.220006823540 0.104498565197 -v 0.257226705551 0.222062766552 0.105154514313 -v 0.202792167664 0.219771981239 0.074708163738 -v 0.266690969467 0.222605288029 0.069311499596 -v 0.216041564941 0.224303185940 -0.016883432865 -v 0.236886978149 0.220857679844 0.113419055939 -v 0.201165676117 0.241792380810 -0.002464711666 -v 0.235595226288 0.243774831295 -0.008793592453 -v 0.200091838837 0.239008307457 0.019165515900 -v 0.248582601547 0.241591095924 0.009618818760 -v 0.203350067139 0.236650824547 0.041424393654 -v 0.256637573242 0.239299356937 0.032281756401 -v 0.218260288239 0.230036914349 0.104059219360 -v 0.253784656525 0.232075154781 0.103391885757 -v 0.206028461456 0.232413649559 0.076064765453 -v 0.216443300247 0.243729174137 -0.014796018600 -v 0.236021757126 0.231211543083 0.111301779747 -v 0.247812032700 0.238879442215 0.099651157856 -v 0.235158205032 0.239502251148 0.103205502033 -v 0.262071609497 0.235375046730 0.069712936878 -v 0.252540349960 0.260097324848 0.055052101612 -v 0.222467422485 0.237549602985 0.101014792919 -v 0.212550878525 0.258014202118 0.062277555466 -v 0.201892614365 0.345312535763 0.008776485920 -v 0.242216825485 0.349303513765 0.009433805943 -v 0.191249847412 0.342574447393 0.028094410896 -v 0.255865812302 0.346988528967 0.028772234917 -v 0.196735858917 0.339674323797 0.052435636520 -v 0.258110046387 0.343376874924 0.052006244659 -v 0.221249341965 0.348548620939 0.002917945385 -v 0.222075462341 0.356713175774 0.034231722355 -v 0.229865312576 0.337269216776 0.076513707638 -v 0.232888221741 0.263725697994 0.063763737679 -v 0.204312324524 0.270660489798 0.003390491009 -v 0.236067295074 0.272651731968 -0.001152694225 -v 0.200947046280 0.266749739647 0.023094773293 -v 0.249783754349 0.268808007240 0.012558996677 -v 0.202597379684 0.262279391289 0.042629957199 -v 0.255157470703 0.263839781284 0.032649099827 -v 0.218951225281 0.272833973169 -0.005811095238 -v 0.248102664948 0.339510381222 0.071823954582 -v 0.211038351059 0.337233841419 0.072277426720 -v 0.212896347046 0.211532533169 0.087992787361 -v 0.260196208954 0.213362693787 0.086466848850 -v 0.206652641296 0.219657599926 0.088583350182 -v 0.265573501587 0.222268044949 0.086174011230 -v 0.208487510681 0.231236219406 0.089933633804 -v 0.261114358902 0.233485519886 0.086178541183 -v 0.249599456787 0.241804718971 0.087328910828 -v 0.218761682510 0.240887939930 0.090320706367 -v 0.234282970428 0.244165539742 0.089901387691 -v 0.249197959900 0.245250940323 0.071763932705 -v 0.233741044998 0.248610019684 0.075530111790 -v 0.218100309372 0.243478000164 0.076156377792 -v 0.259891033173 0.237450182438 0.052915513515 -v 0.262217521667 0.222825467587 0.053764879704 -v 0.257991552353 0.213336646557 0.054791927338 -v 0.209878206253 0.211354732513 0.060339868069 -v 0.203500509262 0.219918906689 0.060940921307 -v 0.205494880676 0.234648823738 0.060976922512 -v 0.232362031937 0.296486437321 0.068670928478 -v 0.247957706451 0.297481447458 0.058879435062 -v 0.214935302734 0.296461522579 0.063020169735 -v 0.256248474121 0.300734728575 0.041230976582 -v 0.205139160156 0.308436393738 0.010030686855 -v 0.238288879395 0.311282992363 0.009258210659 -v 0.199443340302 0.304088622332 0.028930902481 -v 0.251448392868 0.306685805321 0.022934615612 -v 0.202795028687 0.299219369888 0.047689616680 -v 0.221186876297 0.311318457127 0.002745151520 -v 0.225008487701 0.352216601372 0.053049981594 -v 0.202267408371 0.358467698097 0.014773547649 -v 0.193837165833 0.356905907393 0.031560063362 -v 0.200456142426 0.354091018438 0.051699697971 -v 0.214915990829 0.351570516825 0.066617071629 -v 0.227507829666 0.352972269058 0.069517612457 -v 0.240033149719 0.354288905859 0.067502856255 -v 0.247437715530 0.356183379889 0.048327982426 -v 0.255626201630 0.361346334219 0.031195163727 -v 0.243300676346 0.363204896450 0.016159296036 -v 0.220804214478 0.361127465963 0.011520028114 -v -0.006412744522 0.219254732132 -0.070368289948 -v -0.034497737885 0.219416260719 -0.075179994106 -v -0.007551431656 0.219255983829 -0.050698041916 -v -0.043589591980 0.219416618347 -0.056793034077 -v -0.010588407516 0.219317317009 -0.025610864162 -v -0.052551269531 0.219525873661 -0.032343029976 -v -0.019434452057 0.219501733780 0.036931097507 -v -0.056055307388 0.219407021999 0.036677896976 -v -0.010255813599 0.219376742840 0.007310867310 -v -0.061593055725 0.219416677952 0.003298044205 -v -0.019374847412 0.219313621521 -0.076339542866 -v -0.037804126740 0.219456374645 0.040600121021 -v -0.003419399261 0.229272305965 -0.072110950947 -v -0.035720348358 0.229651033878 -0.077736675739 -v -0.002564668655 0.228819966316 -0.049440383911 -v -0.048538923264 0.229538142681 -0.058115601540 -v -0.005802154541 0.228773951530 -0.025171041489 -v -0.057313680649 0.229480981827 -0.033867120743 -v -0.017800569534 0.228000402451 0.038410604000 -v -0.058048009872 0.228443384171 0.038873791695 -v -0.003192663193 0.228343427181 0.008078634739 -v -0.067610979080 0.228918552399 0.002470076084 -v -0.017654657364 0.229513227940 -0.083801627159 -v -0.037597417831 0.228035628796 0.047402024269 -v -0.003135919571 0.248828172684 -0.071072876453 -v -0.037687301636 0.249413430691 -0.078146457672 -v -0.001599311829 0.247187077999 -0.049244463444 -v -0.050426006317 0.247864484787 -0.059458792210 -v -0.004717350006 0.245696306229 -0.026384413242 -v -0.058178663254 0.246295332909 -0.035779118538 -v -0.019185543060 0.238504111767 0.037673413754 -v -0.054839372635 0.239117026329 0.036907553673 -v -0.006999969482 0.241730749607 0.009231150150 -v -0.018567800522 0.249538004398 -0.083647012711 -v -0.037009954453 0.238889813423 0.044985234737 -v -0.049028873444 0.246678113937 0.033095300198 -v -0.036361932755 0.247815668583 0.036695182323 -v -0.063289403915 0.242662429810 0.002855598927 -v -0.054507970810 0.268849194050 -0.014230966568 -v -0.023601055145 0.246319174767 0.034479141235 -v -0.014294147491 0.268415987492 -0.006592750549 -v -0.007125854492 0.352546513081 -0.070307731628 -v -0.047215461731 0.354491233826 -0.074513196945 -v 0.003531694412 0.351069599390 -0.050791621208 -v -0.060627460480 0.352100074291 -0.057532072067 -v -0.001306772232 0.349359750748 -0.028730213642 -v -0.062292337418 0.349174886942 -0.036085724831 -v -0.026328802109 0.354579001665 -0.078574538231 -v -0.027374744415 0.363825768232 -0.050758659840 -v -0.033916950226 0.346315592527 -0.004494011402 -v -0.034796714783 0.273458153009 -0.005827486515 -v -0.007123708725 0.278406739235 -0.068862497807 -v -0.038926839828 0.278996378183 -0.074869096279 -v -0.003371477127 0.275840729475 -0.048226654530 -v -0.052319049835 0.275491327047 -0.060075223446 -v -0.004662275314 0.272252291441 -0.027530074120 -v -0.057320117950 0.271499335766 -0.038320362568 -v -0.021856307983 0.279480308294 -0.079001605511 -v -0.051886796951 0.346334606409 -0.018019616604 -v -0.015472888947 0.347499132156 -0.012708246708 -v -0.013341426849 0.219453394413 0.021781980991 -v -0.060760498047 0.219377577305 0.020002603531 -v -0.007234573364 0.228128254414 0.022226035595 -v -0.066421747208 0.228480756283 0.019553661346 -v -0.009428262711 0.240280926228 0.023335456848 -v -0.062236309052 0.240545749664 0.019495189190 -v -0.050906419754 0.249981880188 0.020713865757 -v -0.019988298416 0.250182330608 0.023671388626 -v -0.035615205765 0.253143727779 0.023297965527 -v -0.050571680069 0.253851354122 0.004940390587 -v -0.035207986832 0.258085966110 0.008688688278 -v -0.019476890564 0.253200232983 0.009263873100 -v -0.061208486557 0.244841516018 -0.014327108860 -v -0.063190460205 0.229270637035 -0.013317525387 -v -0.058711767197 0.219515621662 -0.012146055698 -v -0.010442733765 0.219379901886 -0.006376981735 -v -0.004127025604 0.228489577770 -0.005963206291 -v -0.006670236588 0.244056880474 -0.006213486195 -v -0.035041809082 0.306504577398 -0.012205660343 -v -0.050817012787 0.305917531252 -0.022203505039 -v -0.017575979233 0.306866586208 -0.015941679478 -v -0.059380531311 0.307994395494 -0.039807379246 -v -0.009127378464 0.316277623177 -0.068142294884 -v -0.042343616486 0.317533701658 -0.072862088680 -v -0.003009557724 0.313361108303 -0.048151373863 -v -0.055118322372 0.313115835190 -0.059049367905 -v -0.005843162537 0.309433162212 -0.029619455338 -v -0.025185585022 0.317963033915 -0.077642977238 -v -0.029360532761 0.360437393188 -0.033840239048 -v -0.013695001602 0.365091145039 -0.063374280930 -v -0.005713224411 0.364561080933 -0.049769103527 -v -0.006861448288 0.363386452198 -0.031659960747 -v -0.019543409348 0.360915482044 -0.018560290337 -v -0.032689571381 0.360493153334 -0.010817825794 -v -0.045087814331 0.359358161688 -0.021629929543 -v -0.058130502701 0.362013280392 -0.034903645515 -v -0.055710792542 0.363338232040 -0.056892096996 -v -0.040955543518 0.367505073547 -0.065858364105 -v -0.026666879654 0.366931766272 -0.066344976425 -v 0.019335746765 0.891146719456 0.147463440895 -v 0.077193498611 0.876855552197 -0.156872689724 -v 0.077016353607 0.674709022045 -0.110481500626 -v 0.026651859283 0.777218222618 0.134643375874 -v 0.027640104294 0.662163913250 0.117864131927 -v 0.092115879059 0.819933474064 0.165385544300 -v 0.022340536118 0.851363182068 0.150859296322 -v 0.081831455231 0.861464142799 0.176887631416 -v 0.145524740219 0.883852779865 0.172923028469 -v 0.158493518829 0.841617703438 0.157872855663 -v 0.277504920959 1.007843017578 0.047269701958 -v 0.272853851318 1.025377511978 0.051120281219 -v 0.286534786224 1.034585952759 0.047402620316 -v 0.302318572998 0.995641767979 0.049039125443 -v 0.262354612350 0.997510433197 0.039628624916 -v 0.254748582840 1.029515981674 0.052300691605 -v 0.286922931671 0.964170455933 0.051867485046 -v 0.263444900513 0.934777021408 -0.010773301125 -v 0.278232336044 0.898669064045 -0.017279744148 -v 0.282225131989 0.895403862000 -0.048148393631 -v 0.268206119537 0.922013401985 -0.048899114132 -v 0.263873815536 0.932216346264 -0.047488868237 -v 0.249542474747 0.950950801373 -0.014343142509 -v 0.242866039276 0.973144650459 0.013231754303 -v 0.257011651993 0.958706617355 0.025045931339 -v 0.272060394287 0.937663674355 0.036257743835 -v 0.267414808273 0.922991752625 0.012871444225 -v 0.282770156860 0.902756571770 0.011130094528 -v 0.123666524887 0.582465767860 -0.075673460960 -v 0.149766921997 0.525964796543 -0.038310170174 -v 0.177918195724 0.547954797745 -0.041567981243 -v 0.164103984833 0.607049584389 -0.064459025860 -v 0.103845834732 0.528503477573 -0.026832699776 -v 0.132575511932 0.506744384766 -0.010294854641 -v 0.262545824051 0.962624549866 -0.120018243790 -v 0.277079582214 0.942464232445 -0.121075093746 -v 0.283565044403 0.978037595749 -0.130021154881 -v 0.242907762527 1.002508759499 -0.135505557060 -v 0.261280298233 0.944051027298 -0.092559337616 -v 0.272555112839 0.925887763500 -0.087273895741 -v 0.231066703796 0.961506426334 -0.136641144753 -v 0.218405961990 0.840843498707 0.091216206551 -v 0.210432529449 0.794565856457 0.084894001484 -v 0.186074256897 0.768438935280 0.106157541275 -v 0.168217658997 0.802124977112 0.130858242512 -v 0.239678859711 0.831269502640 0.040043413639 -v 0.225566387177 0.781253993511 0.055830478668 -v 0.209580659866 0.882061362267 0.132225513458 -v 0.155940294266 0.740337014198 0.119884729385 -v 0.106715440750 0.770864248276 0.151021718979 -v 0.178981781006 0.699676811695 0.084566056728 -v 0.182432651520 0.725065171719 0.095114350319 -v 0.204370975494 0.743299126625 0.076818108559 -v 0.213043212891 0.707077801228 0.041539013386 -v 0.136242151260 0.711864829063 0.109547138214 -v 0.155378341675 0.589013695717 0.109423935413 -v 0.137723207474 0.638659536839 0.112122654915 -v 0.171539545059 0.636296868324 0.090351223946 -v 0.201073408127 0.608585000038 0.070430636406 -v 0.217098474503 0.565734565258 0.062991678715 -v 0.191636562347 0.555289149284 0.088190674782 -v 0.150764703751 1.090515971184 0.031594216824 -v 0.133168458939 1.064684152603 0.068517208099 -v 0.107606649399 1.083139657974 0.037304639816 -v 0.119329452515 1.104554176331 0.014675736427 -v 0.187176704407 1.110415458679 0.029244542122 -v 0.202834844589 1.080092191696 0.052686989307 -v 0.179083585739 1.058245539665 0.064180791378 -v 0.160923242569 1.034242868423 0.096240758896 -v 0.254607439041 1.061115264893 0.052536368370 -v 0.220592498779 1.047652482986 0.058174490929 -v 0.231979370117 1.086294531822 0.047397136688 -v 0.231719017029 1.019516706467 0.049612939358 -v 0.293545246124 0.912459313869 0.040535092354 -v 0.235724687576 1.107659101486 0.028177142143 -v 0.274882793427 1.085638523102 0.028672218323 -v 0.096796751022 0.524665117264 0.020752966404 -v 0.121049642563 1.164031744003 -0.039851784706 -v 0.109050750732 1.171761870384 -0.060386240482 -v 0.151132822037 1.143172383308 -0.073541879654 -v 0.162862539291 1.139242529869 -0.047275900841 -v 0.166463375092 1.129762411118 -0.013145327568 -v 0.125269412994 1.148490905762 -0.022257208824 -v 0.222014427185 1.136164307594 -0.085919082165 -v 0.229552507401 1.134870767593 -0.049831032753 -v 0.233881950378 1.128509044647 -0.008981227875 -v 0.281436681747 1.108168125153 -0.051254689693 -v 0.281991004944 1.102712631226 -0.009698688984 -v 0.317685604095 1.067490458488 -0.049807429314 -v 0.317203044891 1.065495610237 -0.009583413601 -v 0.306344747543 1.052000999451 0.026935875416 -v 0.343569040298 1.024486541748 -0.007518947124 -v 0.329200625420 1.013627648354 0.025783419609 -v 0.366793274879 0.985834360123 -0.007350325584 -v 0.354122877121 0.976988136768 0.026278495789 -v 0.334745645523 0.958747029305 0.052049517632 -v 0.379283428192 0.947536230087 0.020861685276 -v 0.362321138382 0.928932666779 0.043664336205 -v 0.342812895775 0.907195210457 0.044864654541 -v 0.314275741577 0.935671687126 0.057043790817 -v 0.319790363312 0.888074278831 0.029314041138 -v 0.379310607910 0.902640283108 0.024499237537 -v 0.358928322792 0.880074322224 0.019105792046 -v 0.338169336319 0.861247479916 0.001740396023 -v 0.400299787521 0.877586364746 0.025739133358 -v 0.380050063133 0.852149724960 0.022235631943 -v 0.363364696503 0.827350735664 0.010587811470 -v 0.362974047661 0.811894834042 -0.017841279507 -v 0.332549810410 0.850514173508 -0.031367659569 -v 0.376002192497 0.802355408669 -0.049095809460 -v 0.339113950729 0.838486850262 -0.071368515491 -v 0.312850952148 0.871554672718 -0.076692581177 -v 0.306100845337 0.872793436050 -0.043697237968 -v 0.402581334114 0.810562849045 -0.068494379520 -v 0.367998600006 0.846436321735 -0.105324327946 -v 0.326204538345 0.882910430431 -0.107103466988 -v 0.432064533234 0.831387817860 -0.069692969322 -v 0.409785628319 0.862663328648 -0.103722870350 -v 0.452204942703 0.860042333603 -0.057465374470 -v 0.432444095612 0.890474557877 -0.088653087616 -v 0.403483510017 0.924710273743 -0.103032827377 -v 0.390702843666 0.900007128716 -0.125450611115 -v 0.458554625511 0.884764671326 -0.038810074329 -v 0.440712213516 0.916401028633 -0.064721584320 -v 0.409626007080 0.946123480797 -0.076701641083 -v 0.377049446106 0.978414773941 -0.079899370670 -v 0.369030594826 0.959930837154 -0.107197761536 -v 0.434939265251 0.931571722031 -0.036256074905 -v 0.403420209885 0.955381631851 -0.043758153915 -v 0.375007867813 0.986278414726 -0.043334543705 -v 0.346902847290 1.024103283882 -0.045506417751 -v 0.346037387848 1.015392422676 -0.082815170288 -v 0.391106963158 0.955277502537 -0.011757612228 -v 0.418347239494 0.931938529015 -0.009633421898 -v 0.398629426956 0.921277165413 0.011540293694 -v 0.441792011261 0.907627224922 0.005505323410 -v 0.420485854149 0.897287666798 0.019965410233 -v 0.454711556435 0.901762425900 -0.017239570618 -v 0.312911748886 1.057415366173 -0.085565030575 -v 0.301878452301 1.036462783813 -0.110103130341 -v 0.341517090797 0.998458266258 -0.115687966347 -v 0.291906356812 1.012423157692 -0.127237200737 -v 0.328496098518 0.970709323883 -0.136209249496 -v 0.354727029800 0.934686720371 -0.121113419533 -v 0.311561107635 0.939342975616 -0.134227514267 -v 0.340052127838 0.908680558205 -0.124131619930 -v 0.367459774017 0.884051918983 -0.123385787010 -v 0.297220230103 0.911664009094 -0.117913901806 -v 0.289204835892 0.899315834045 -0.083201110363 -v 0.250025033951 1.053760290146 -0.137834787369 -v 0.264823913574 1.083865046501 -0.119606435299 -v 0.201839447021 1.117434144020 -0.118024945259 -v 0.189693689346 1.079212427139 -0.142952740192 -v 0.277281999588 1.102975010872 -0.089239239693 -v 0.120431184769 1.085181832314 -0.138198077679 -v 0.121253252029 1.037931799889 -0.155860960484 -v 0.184354066849 1.029958724976 -0.157751560211 -v 0.119925260544 1.132153749466 -0.108325600624 -v 0.123482465744 0.987731099129 -0.170279264450 -v 0.180538892746 0.979573845863 -0.163978517056 -v 0.125545501709 0.932765841484 -0.173250615597 -v 0.179258108139 0.925383329391 -0.162734568119 -v 0.227316141129 0.914090216160 -0.128659784794 -v 0.178707361221 0.866539001465 -0.151616394520 -v 0.224370002747 0.859528779984 -0.116147398949 -v 0.256502151489 0.857412219048 -0.071282267570 -v 0.259006500244 0.905853331089 -0.084065675735 -v 0.258020401001 0.867200314999 -0.023059964180 -v 0.263725519180 0.906981647015 -0.038188934326 -v 0.246686458588 0.885027527809 0.019917786121 -v 0.248519420624 0.927023947239 0.000404238701 -v 0.239131689072 0.904338777065 0.060729622841 -v 0.241918325424 0.948883771896 0.032647311687 -v 0.229748249054 0.932023048401 0.094542920589 -v 0.231833934784 0.972128450871 0.056386351585 -v 0.237094879150 0.996514856815 0.032092094421 -v 0.225894212723 0.997993648052 0.079689145088 -v 0.216531753540 0.964301168919 0.116260170937 -v 0.190495014191 0.998777031898 0.114465355873 -v 0.204521656036 1.026806235313 0.079624712467 -v 0.192690134048 0.921263933182 0.150567412376 -v 0.164333105087 0.961874485016 0.145105898380 -v 0.135314941406 1.002291202545 0.123882234097 -v 0.122396469116 0.928251743317 0.165373027325 -v 0.099461555481 0.973314642906 0.142395615578 -v 0.080953598022 1.017653703690 0.112643778324 -v 0.110545635223 1.040468931198 0.096353948116 -v 0.067555904388 1.051582455635 0.072920858860 -v 0.089736461639 1.065327763557 0.058615803719 -v 0.057373523712 0.952757716179 0.147553682327 -v 0.047913312912 1.000822305679 0.117389440536 -v 0.042551279068 1.041895747185 0.078767657280 -v 0.069515228271 0.905283331871 0.168992578983 -v 0.244445800781 0.817365288734 -0.006311953068 -v 0.244346380234 0.804270505905 -0.054641485214 -v 0.217851400375 0.751652359962 -0.033641099930 -v 0.227277755737 0.763818323612 0.012114584446 -v 0.197771310806 0.745314657688 -0.074247181416 -v 0.188985824585 0.683782935143 -0.054120063782 -v 0.209798336029 0.693763196468 -0.014226317406 -v 0.216273546219 0.801639676094 -0.098835766315 -v 0.174543857574 0.806066751480 -0.130712211132 -v 0.165594577789 0.745285034180 -0.103144109249 -v 0.123121976852 0.748481452465 -0.116453528404 -v 0.120306491852 0.673266887665 -0.099647700787 -v 0.158249378204 0.678283751011 -0.080645978451 -v 0.126316308975 0.812821507454 -0.142758727074 -v 0.126960277557 0.873750686646 -0.163805663586 -v 0.068856477737 0.984705030918 -0.177298188210 -v 0.055420398712 1.084348678589 -0.154314756393 -v 0.046322107315 1.128087520599 -0.128710865974 -v 0.075109720230 0.593776226044 -0.089249253273 -v 0.192573547363 0.621916353703 -0.036496400833 -v 0.203611850739 0.571760535240 -0.021339297295 -v 0.217868804932 0.595229387283 0.017003238201 -v 0.213207960129 0.638992846012 0.003613412380 -v 0.204703092575 0.652575969696 0.048748970032 -v 0.170325040817 0.665199697018 0.078543841839 -v 0.130563020706 0.677610635757 0.104269742966 -v 0.083450555801 0.650120198727 0.126545190811 -v 0.081408262253 0.691678225994 0.131133735180 -v 0.086372137070 0.729118704796 0.137566983700 -v 0.026894569397 0.740492343903 0.127000212669 -v 0.088793277740 0.606545627117 0.116948366165 -v 0.091482639313 0.568313062191 0.093596041203 -v 0.093423366547 0.540040552616 0.060054659843 -v 0.137021780014 0.550631523132 0.090929865837 -v 0.129982471466 0.524636745453 0.061635315418 -v 0.129219055176 0.512163639069 0.027145802975 -v 0.155890464783 0.512163281441 0.061540365219 -v 0.151852607727 0.501129508018 0.032996356487 -v 0.151466369629 0.490233093500 0.004889369011 -v 0.164501428604 0.473722547293 0.017774462700 -v 0.166211366653 0.483703285456 0.041170895100 -v 0.176519632339 0.462068229914 0.050208270550 -v 0.178006410599 0.457004278898 0.029782295227 -v 0.190201759338 0.459076434374 0.014697730541 -v 0.178750276566 0.478803396225 0.000907838345 -v 0.166320323944 0.497839301825 -0.015286624432 -v 0.207526922226 0.465957105160 0.009304404259 -v 0.199348926544 0.490522235632 -0.004005312920 -v 0.189775466919 0.514920592308 -0.020356297493 -v 0.225358963013 0.475811570883 0.017339110374 -v 0.221742391586 0.505469441414 0.004819691181 -v 0.213993549347 0.536153674126 -0.007584154606 -v 0.236834526062 0.485237836838 0.038113415241 -v 0.233140468597 0.520117580891 0.029869019985 -v 0.226602554321 0.556548476219 0.023947119713 -v 0.239451885223 0.491162627935 0.065631270409 -v 0.229833841324 0.528143048286 0.060667395592 -v 0.239911079407 0.454511433840 0.042522192001 -v 0.245521306992 0.457225382328 0.067053318024 -v 0.237636566162 0.455539733171 0.084717154503 -v 0.226967334747 0.489047199488 0.082951843739 -v 0.211964607239 0.523329734802 0.080300390720 -v 0.217800378799 0.450385510921 0.087392747402 -v 0.206350564957 0.480243116617 0.084223449230 -v 0.190374135971 0.509804129601 0.078286647797 -v 0.183592557907 0.468741506338 0.072134256363 -v 0.173839807510 0.494874238968 0.062670707703 -v 0.168895244598 0.532966911793 0.083921194077 -v 0.194311380386 0.443297296762 0.078714847565 -v 0.186420440674 0.440069437027 0.057327508926 -v 0.193065404892 0.417387604713 0.057190775871 -v 0.203305721283 0.417975842953 0.076225996017 -v 0.205404996872 0.391247153282 0.066273987293 -v 0.194074869156 0.392329305410 0.049775362015 -v 0.190062761307 0.393557667732 0.030566751957 -v 0.192551136017 0.417236864567 0.037556171417 -v 0.188753843307 0.438155025244 0.037616431713 -v 0.199758052826 0.395951777697 0.012652158737 -v 0.201189756393 0.418664783239 0.020802915096 -v 0.198827505112 0.439186781645 0.022741913795 -v 0.220117330551 0.398994356394 0.008019566536 -v 0.217715263367 0.422239899635 0.015295565128 -v 0.213492631912 0.443650007248 0.018471002579 -v 0.236896991730 0.400686651468 0.011681675911 -v 0.232114553452 0.425558745861 0.022678315639 -v 0.227942943573 0.449451982975 0.025451838970 -v 0.247877597809 0.399994522333 0.024417579174 -v 0.242132186890 0.427206337452 0.038007915020 -v 0.250198125839 0.367911368608 0.023290991783 -v 0.239138841629 0.370674878359 0.011764705181 -v 0.234215259552 0.326959192753 0.024860799313 -v 0.239667415619 0.325394153595 0.032651007175 -v 0.239298582077 0.323285490274 0.041500747204 -v 0.250197172165 0.363285213709 0.041953921318 -v 0.248555660248 0.397186785936 0.044638574123 -v 0.236860036850 0.320421725512 0.050307810307 -v 0.239134788513 0.358723700047 0.058663964272 -v 0.239214897156 0.393967717886 0.063256323338 -v 0.230540990829 0.316507697105 0.058507502079 -v 0.225771665573 0.354905188084 0.069335877895 -v 0.224077701569 0.390892267227 0.075807273388 -v 0.220066547394 0.317402213812 0.054555177689 -v 0.211529970169 0.357036679983 0.059551179409 -v 0.212295293808 0.320155978203 0.044720351696 -v 0.198891878128 0.359852999449 0.045892953873 -v 0.208841085434 0.323172211647 0.033653140068 -v 0.194800376892 0.364280372858 0.028407096863 -v 0.212930202484 0.325841575861 0.024493038654 -v 0.203210353851 0.368161261082 0.013654232025 -v 0.223614931107 0.327202796936 0.020913243294 -v 0.221999883652 0.371129333973 0.011114120483 -v 0.299593925476 0.875928103924 -0.016731262207 -v 0.305377960205 0.881739974022 0.006167829037 -v 0.124761581421 1.127089619637 -0.005370020866 -v 0.144920587540 1.114051818848 -0.000504493713 -v 0.320274353027 0.867451727390 -0.003048002720 -v 0.317344665527 0.863656222820 -0.015280425549 -v 0.081691741943 1.171155452728 -0.082533001900 -v 0.489620566368 0.754746913910 0.055047810078 -v 0.492703795433 0.744488835335 0.057417750359 -v 0.500872254372 0.748085975647 0.052790284157 -v 0.503330826759 0.759612381458 0.050021946430 -v 0.455907583237 0.767686963081 0.180662214756 -v 0.448605775833 0.763490140438 0.179388940334 -v 0.454131126404 0.774452686310 0.183209419250 -v 0.512239336967 0.719803869724 0.108971118927 -v 0.513665318489 0.712346911430 0.098931610584 -v 0.501137852669 0.723156571388 0.088684141636 -v 0.498448848724 0.729723930359 0.098093867302 -v 0.506369471550 0.735136747360 0.129543185234 -v 0.510510444641 0.727772593498 0.119067549706 -v 0.495698451996 0.736607313156 0.107330560684 -v 0.491642713547 0.742265939713 0.117717981339 -v 0.492995619774 0.730934858322 0.070337891579 -v 0.488109588623 0.732578217983 0.080537736416 -v 0.505285978317 0.719612061977 0.078231096268 -v 0.525172829628 0.681995272636 0.167945027351 -v 0.521392345428 0.683978497982 0.175799846649 -v 0.521812319756 0.691806197166 0.180061340332 -v 0.519139647484 0.787753224373 0.090079247952 -v 0.529436826706 0.773348331451 0.102756619453 -v 0.523522257805 0.779470205307 0.115589499474 -v 0.511284351349 0.795331001282 0.102586388588 -v 0.539867997169 0.729618787766 0.089468300343 -v 0.531417727470 0.747590124607 0.073452115059 -v 0.527307748795 0.738277912140 0.066966652870 -v 0.535834193230 0.725835144520 0.077996909618 -v 0.523569345474 0.720503687859 0.128831326962 -v 0.526804924011 0.719818413258 0.135298848152 -v 0.537645578384 0.725556254387 0.133212625980 -v 0.540601491928 0.730802595615 0.123283326626 -v 0.534850597382 0.748413085938 0.143720269203 -v 0.533050775528 0.738149583340 0.147188425064 -v 0.521691203117 0.732560038567 0.148685574532 -v 0.515544414520 0.738024771214 0.147808253765 -v 0.521300554276 0.711467444897 0.118006944656 -v 0.506483316422 0.747644484043 0.153991520405 -v 0.502677559853 0.742156207561 0.140237092972 -v 0.501390576363 0.751134574413 0.149526238441 -v 0.541826605797 0.742310583591 0.123451471329 -v 0.541710376740 0.746488988400 0.128475904465 -v 0.540703296661 0.751621305943 0.123491525650 -v 0.541983366013 0.746656119823 0.119618058205 -v 0.532743930817 0.764434099197 0.148749291897 -v 0.529609441757 0.768829822540 0.144122123718 -v 0.533065080643 0.763605058193 0.139945745468 -v 0.534711122513 0.759675085545 0.143647730350 -v 0.519114732742 0.724147796631 0.142600655556 -v 0.515840530396 0.728727519512 0.137992262840 -v 0.540112376213 0.734770715237 0.138869524002 -v 0.540696740150 0.740617036819 0.133606433868 -v 0.522036075592 0.709590852261 0.079642355442 -v 0.515752315521 0.708322763443 0.088428199291 -v 0.523067712784 0.698891818523 0.096575498581 -v 0.528108596802 0.700006604195 0.087751507759 -v 0.538988947868 0.715688526630 0.081110537052 -v 0.540867447853 0.712676644325 0.084093391895 -v 0.543041229248 0.715164959431 0.088397443295 -v 0.540838479996 0.719581723213 0.084006726742 -v 0.506251692772 0.761048257351 0.153887510300 -v 0.509725928307 0.757334053516 0.158531010151 -v 0.525017738342 0.770337998867 0.149724423885 -v 0.527247309685 0.767623901367 0.152778089046 -v 0.526124477386 0.703662514687 0.107429325581 -v 0.541818618774 0.721548616886 0.089130938053 -v 0.543096542358 0.717609286308 0.092653989792 -v 0.514024734497 0.685954689980 0.172047317028 -v 0.515303611755 0.692099928856 0.177232980728 -v 0.518338084221 0.682923436165 0.165953993797 -v 0.535277485847 0.708344936371 0.147681176662 -v 0.524157166481 0.704845070839 0.148237943649 -v 0.523532152176 0.699540019035 0.152397453785 -v 0.534913420677 0.702481508255 0.152555465698 -v 0.519562959671 0.716747760773 0.161118566990 -v 0.530426263809 0.720963180065 0.161624073982 -v 0.530594706535 0.714648783207 0.166401624680 -v 0.519082903862 0.711292505264 0.165497899055 -v 0.516831398010 0.709372937679 0.154453039169 -v 0.516183376312 0.703925609589 0.158576548100 -v 0.538677573204 0.715157747269 0.155361831188 -v 0.538471341133 0.711140751839 0.158608913422 -v 0.533556699753 0.693566560745 0.159267961979 -v 0.521171927452 0.692192018032 0.156506180763 -v 0.519478797913 0.686819851398 0.160811662674 -v 0.531105518341 0.687699437141 0.163550257683 -v 0.516932487488 0.704223155975 0.170683681965 -v 0.529407978058 0.705302298069 0.173214852810 -v 0.527298688889 0.699028372765 0.177262067795 -v 0.515662312508 0.698305785656 0.174661695957 -v 0.512620925903 0.697871327400 0.162089228630 -v 0.511643767357 0.691746532917 0.166646361351 -v 0.537143468857 0.698810040951 0.168046832085 -v 0.535217404366 0.695275962353 0.170467853546 -v 0.537539839745 0.719420015812 0.138411521912 -v 0.526125192642 0.715106844902 0.139984965324 -v 0.524770259857 0.710178494453 0.144071102142 -v 0.534347414970 0.711749315262 0.141898036003 -v 0.521291613579 0.727184534073 0.152451038361 -v 0.531763315201 0.732593894005 0.152449965477 -v 0.526586532593 0.727051615715 0.158230066299 -v 0.519834280014 0.721794843674 0.156188130379 -v 0.519172072411 0.719282746315 0.146682977676 -v 0.518319606781 0.714717566967 0.150376081467 -v 0.542425036430 0.726674139500 0.146438956261 -v 0.541626691818 0.720945656300 0.142000854015 -v 0.540896654129 0.716939508915 0.144021809101 -v 0.542814254761 0.723198592663 0.149447917938 -v 0.538549065590 0.730741381645 0.152049660683 -v 0.537324070930 0.727843642235 0.155685722828 -v 0.540292024612 0.714531242847 0.147353291512 -v 0.541417002678 0.719230473042 0.152375280857 -v 0.537661671638 0.723493218422 0.157489120960 -v 0.522315740585 0.696558475494 0.153652429581 -v 0.532957553864 0.696634590626 0.154145359993 -v 0.526823282242 0.710777997971 0.170685768127 -v 0.517996311188 0.707997262478 0.167178988457 -v 0.514600038528 0.702156662941 0.159258484840 -v 0.540738582611 0.708825647831 0.160881042480 -v 0.539718866348 0.703809440136 0.156380772591 -v 0.539808750153 0.700395345688 0.157848179340 -v 0.541602373123 0.705698668957 0.163604915142 -v 0.537238717079 0.712285995483 0.166008591652 -v 0.536659955978 0.709942877293 0.169121146202 -v 0.539298772812 0.698089897633 0.160789132118 -v 0.540274739265 0.702055811882 0.166186392307 -v 0.536662101746 0.706197261810 0.170638501644 -v 0.540821313858 0.729771852493 0.143572688103 -v 0.534619212151 0.690335750580 0.174641072750 -v 0.534919500351 0.687159657478 0.171165943146 -v 0.534467816353 0.684770822525 0.172516167164 -v 0.533648490906 0.687150001526 0.176869094372 -v 0.533669948578 0.692957580090 0.178517937660 -v 0.532203197479 0.690804123878 0.179874420166 -v 0.528633236885 0.684847950935 0.177231550217 -v 0.531227588654 0.682927608490 0.170618474483 -v 0.534844160080 0.687096238136 0.168217778206 -v 0.534787893295 0.692861855030 0.172489643097 -v 0.532088637352 0.695515155792 0.178507089615 -v 0.528244614601 0.691161870956 0.180853903294 -v 0.542320370674 0.728663325310 0.099375784397 -v 0.542763829231 0.724370181561 0.102947711945 -v 0.543692111969 0.728317677975 0.108140170574 -v 0.543245792389 0.733878433704 0.103289365768 -v 0.539205074310 0.750491321087 0.133062005043 -v 0.538523197174 0.754346132278 0.129205644131 -v 0.543280839920 0.732618570328 0.112749457359 -v 0.543036103249 0.737028181553 0.108903169632 -v 0.531576871872 0.715822875500 0.076436996460 -v 0.537781238556 0.706454157829 0.084965169430 -v 0.516264319420 0.770024180412 0.150568723679 -v 0.521349906921 0.763900756836 0.157923758030 -v 0.548167467117 0.667905509472 0.148447632790 -v 0.546362757683 0.670237898827 0.157298624516 -v 0.545064449310 0.678077816963 0.161700785160 -v 0.530092954636 0.702552258968 0.114723563194 -v 0.540755271912 0.707639873028 0.112147867680 -v 0.542485356331 0.714294910431 0.102276742458 -v 0.538369178772 0.719116032124 0.127693057060 -v 0.527642726898 0.713942587376 0.130929112434 -v 0.524290800095 0.705752372742 0.123955726624 -v 0.543419122696 0.722295403481 0.112965941429 -v 0.543574094772 0.715997815132 0.118450582027 -v 0.538602828979 0.668676257133 0.156609654427 -v 0.538909435272 0.675573229790 0.161329925060 -v 0.541661739349 0.665838003159 0.149098932743 -v 0.544516205788 0.691595375538 0.125912368298 -v 0.534333825111 0.686268508434 0.128116250038 -v 0.535755872726 0.680908918381 0.132590770721 -v 0.546100020409 0.686485588551 0.130807101727 -v 0.530930757523 0.697768330574 0.144220829010 -v 0.540539383888 0.703372836113 0.142738342285 -v 0.542316913605 0.698138594627 0.147101879120 -v 0.532684803009 0.692637383938 0.148399233818 -v 0.528201103210 0.689944863319 0.137334823608 -v 0.529621005058 0.684429168701 0.141547918320 -v 0.547267079353 0.699201166630 0.134586215019 -v 0.548285603523 0.695777177811 0.137413918972 -v 0.549032688141 0.678514897823 0.138707518578 -v 0.538316488266 0.672254383564 0.139705061913 -v 0.539997816086 0.668147265911 0.143931210041 -v 0.549917817116 0.673808932304 0.142802059650 -v 0.535045385361 0.684714317322 0.155533432961 -v 0.545179843903 0.690104901791 0.154163777828 -v 0.546261072159 0.685271203518 0.157988131046 -v 0.536641716957 0.680283010006 0.159242749214 -v 0.531511306763 0.676025629044 0.148519396782 -v 0.533580183983 0.671684741974 0.152756392956 -v 0.551849842072 0.686028897762 0.146424531937 -v 0.552071809769 0.683168113232 0.148839414120 -v 0.542264461517 0.702010095119 0.117023289204 -v 0.531574487686 0.696618914604 0.119827747345 -v 0.533209562302 0.691803276539 0.124981045723 -v 0.542015671730 0.694402575493 0.120017051697 -v 0.527886033058 0.708098948002 0.135989665985 -v 0.538574695587 0.713628768921 0.133871257305 -v 0.536827564240 0.708746492863 0.140737891197 -v 0.529211044312 0.702663362026 0.140047073364 -v 0.525272846222 0.700050890446 0.129155695438 -v 0.527511239052 0.695425748825 0.133208036423 -v 0.547236084938 0.709693551064 0.126150548458 -v 0.546826839447 0.704466640949 0.120804965496 -v 0.547609567642 0.700840175152 0.122550547123 -v 0.548392534256 0.706934809685 0.128966629505 -v 0.544142603874 0.712298274040 0.132492303848 -v 0.544166088104 0.709887802601 0.136017978191 -v 0.548007726669 0.698595046997 0.125999212265 -v 0.548170447350 0.703358292580 0.131739497185 -v 0.545077085495 0.706430852413 0.137581646442 -v 0.536803126335 0.676721870899 0.136981487274 -v 0.546262025833 0.680178046227 0.133575916290 -v 0.541578054428 0.694177865982 0.152556836605 -v 0.533885598183 0.688042283058 0.151733100414 -v 0.530973911285 0.680204808712 0.144950151443 -v 0.550747156143 0.694574475288 0.139328360558 -v 0.550565600395 0.689205110073 0.134101927280 -v 0.551587820053 0.686272799969 0.135594725609 -v 0.551995396614 0.692323207855 0.141612648964 -v 0.547929286957 0.697340607643 0.145395517349 -v 0.548542022705 0.695518493652 0.148347735405 -v 0.552347660065 0.684621572495 0.138660132885 -v 0.552754878998 0.689439475536 0.144070029259 -v 0.549746870995 0.692574083805 0.149577498436 -v 0.544905066490 0.711640059948 0.123353600502 -v 0.554090023041 0.679983973503 0.152069270611 -v 0.554366350174 0.676740288734 0.148733615875 -v 0.555369496346 0.674915611744 0.149775743484 -v 0.555078744888 0.677470684052 0.154006123543 -v 0.553590416908 0.682599842548 0.155873715878 -v 0.553566455841 0.680583536625 0.157422304153 -v 0.552198171616 0.673865497112 0.155969619751 -v 0.553200006485 0.671683013439 0.148962199688 -v 0.553523778915 0.675942182541 0.146138072014 -v 0.552976369858 0.681672930717 0.150468468666 -v 0.551427602768 0.684173226357 0.156823754311 -v 0.550627708435 0.679804623127 0.159817218781 -v 0.561773300171 0.667005836964 0.108489274979 -v 0.562437891960 0.667055547237 0.116291821003 -v 0.561485767365 0.672465205193 0.121660053730 -v 0.532580971718 0.693629801273 0.092338800430 -v 0.540351271629 0.699979722500 0.089606344700 -v 0.542522072792 0.705165266991 0.104129672050 -v 0.533750057220 0.698765039444 0.106722295284 -v 0.530255436897 0.693876147270 0.100649118423 -v 0.544795274734 0.705484151840 0.095455408096 -v 0.543451189995 0.710095763206 0.092419564724 -v 0.556688308716 0.663857758045 0.117876172066 -v 0.557191729546 0.668581724167 0.123596191406 -v 0.557321429253 0.663886785507 0.110297203064 -v 0.550040364265 0.687514245510 0.096655666828 -v 0.542815566063 0.681384682655 0.099399805069 -v 0.546362757683 0.677153646946 0.101630270481 -v 0.552957534790 0.683309435844 0.099402546883 -v 0.543991684914 0.686676859856 0.113965272903 -v 0.550568699837 0.692732572556 0.109966218472 -v 0.552548170090 0.688747942448 0.112151980400 -v 0.546415090561 0.682839512825 0.116651713848 -v 0.540330171585 0.681044578552 0.107999801636 -v 0.543417692184 0.676724195480 0.110768854618 -v 0.553754329681 0.691745519638 0.102674782276 -v 0.555277824402 0.688932120800 0.104441046715 -v 0.558210253716 0.676781058311 0.102892100811 -v 0.551411271095 0.670395851135 0.105135142803 -v 0.554313540459 0.666436553001 0.107223451138 -v 0.560604929924 0.672852039337 0.104644954205 -v 0.551035642624 0.676183104515 0.121510207653 -v 0.557325959206 0.682806491852 0.115938246250 -v 0.559729456902 0.679148495197 0.118263065815 -v 0.554118156433 0.672260820866 0.123688340187 -v 0.547722101212 0.669512152672 0.114816784859 -v 0.551224112511 0.665718138218 0.116806447506 -v 0.561138749123 0.681422650814 0.108677029610 -v 0.562478303909 0.679623842239 0.109518647194 -v 0.544580936432 0.695759892464 0.091603696346 -v 0.536828517914 0.688898324966 0.094865858555 -v 0.539610147476 0.684746026993 0.097163736820 -v 0.545929908752 0.689909696579 0.093230366707 -v 0.538297772408 0.693749725819 0.109103918076 -v 0.546232938766 0.700979232788 0.105687260628 -v 0.547426342964 0.696206927299 0.109800815582 -v 0.541006326675 0.689810454845 0.111045122147 -v 0.534368872643 0.688101053238 0.103304982185 -v 0.538012027740 0.685010075569 0.105363309383 -v 0.550858020782 0.700949549675 0.097763538361 -v 0.549491643906 0.697909832001 0.093589007854 -v 0.550813794136 0.695187926292 0.094435930252 -v 0.552393674850 0.698510527611 0.099156975746 -v 0.550143718719 0.701255559921 0.102890193462 -v 0.551577091217 0.699175059795 0.104868292809 -v 0.552265882492 0.693053603172 0.096573829651 -v 0.553521633148 0.695399820805 0.100726366043 -v 0.552729487419 0.696392178535 0.105458736420 -v 0.549271106720 0.673505485058 0.104050397873 -v 0.554521441460 0.678445816040 0.100325822830 -v 0.553958654404 0.685331046581 0.116456747055 -v 0.548520803452 0.679022014141 0.118942022324 -v 0.546076059341 0.673519492149 0.112744927406 -v 0.557391166687 0.687807381153 0.105319499969 -v 0.556760072708 0.685200691223 0.101653337479 -v 0.558141469955 0.683105111122 0.102121174335 -v 0.559174299240 0.686151802540 0.106331229210 -v 0.556374430656 0.688750267029 0.109533429146 -v 0.557712197304 0.687251687050 0.111271739006 -v 0.559688806534 0.681563556194 0.103728890419 -v 0.560254931450 0.683878600597 0.107563853264 -v 0.559006214142 0.685161352158 0.111566960812 -v 0.547902107239 0.702368199825 0.096936225891 -v 0.564785003662 0.677279114723 0.110871613026 -v 0.565037727356 0.675400853157 0.107921242714 -v 0.566116333008 0.673743724823 0.108678221703 -v 0.566264390945 0.674956560135 0.112121045589 -v 0.564288020134 0.678330838680 0.113956749439 -v 0.565272808075 0.676626622677 0.115107536316 -v 0.565854787827 0.671615004539 0.113909065723 -v 0.565153121948 0.671011805534 0.108082771301 -v 0.564292907715 0.675019502640 0.105877757072 -v 0.563846707344 0.678827285767 0.109954953194 -v 0.563235521317 0.679445624352 0.115319430828 -v 0.564523458481 0.675631463528 0.117880046368 -v 0.508027791977 0.705808162689 0.185932517052 -v 0.503305912018 0.708674609661 0.193543970585 -v 0.504237651825 0.716933488846 0.197534382343 -v 0.514192581177 0.739058196545 0.152600765228 -v 0.527436256409 0.742018103600 0.152551293373 -v 0.521233081818 0.757511794567 0.163559794426 -v 0.510088562965 0.753134310246 0.162780582905 -v 0.506630778313 0.744708418846 0.157582461834 -v 0.531264781952 0.752472937107 0.158268332481 -v 0.532356500626 0.758174300194 0.153628230095 -v 0.496481537819 0.711037337780 0.188681483269 -v 0.497926712036 0.717670679092 0.193979084492 -v 0.501640081406 0.707217693329 0.182956755161 -v 0.524531006813 0.727519810200 0.166848421097 -v 0.513245224953 0.726689815521 0.165383756161 -v 0.511902570724 0.722795486450 0.168308913708 -v 0.523548841476 0.723003327847 0.171342372894 -v 0.509620904922 0.739431321621 0.176361441612 -v 0.520829081535 0.741701781750 0.179257631302 -v 0.519819498062 0.736979722977 0.183732628822 -v 0.508016705513 0.736198961735 0.179792046547 -v 0.506378054619 0.732324659824 0.169591844082 -v 0.504464268684 0.729115188122 0.172098159790 -v 0.528473019600 0.734543383121 0.174971342087 -v 0.527720928192 0.731290459633 0.178188145161 -v 0.518843531609 0.715346276760 0.178183495998 -v 0.507250308990 0.715426683426 0.173481583595 -v 0.504154086113 0.710596859455 0.177767276764 -v 0.515055418015 0.710507869720 0.182130753994 -v 0.502767324448 0.729494333267 0.186172127724 -v 0.514684081078 0.728843152523 0.190630316734 -v 0.510843634605 0.723370432854 0.194603562355 -v 0.499645948410 0.723829448223 0.190759420395 -v 0.498818874359 0.722565889359 0.177140593529 -v 0.495809078217 0.716866850853 0.182247757912 -v 0.521199822426 0.721097052097 0.187072217464 -v 0.518935918808 0.718163132668 0.189251482487 -v 0.525767803192 0.736793160439 0.157169640064 -v 0.513168215752 0.734809756279 0.157476186752 -v 0.513290882111 0.730967700481 0.161826848984 -v 0.522656917572 0.730214118958 0.160739362240 -v 0.510023117065 0.747913599014 0.168063998222 -v 0.522023916245 0.752246916294 0.169538915157 -v 0.518543243408 0.747491836548 0.175433754921 -v 0.509775161743 0.743234395981 0.172257661819 -v 0.506842017174 0.740149796009 0.162537455559 -v 0.507179975510 0.736026167870 0.166410088539 -v 0.533026695251 0.745195150375 0.165490031242 -v 0.531216979027 0.738591969013 0.161130785942 -v 0.530287504196 0.734632968903 0.163438796997 -v 0.532566308975 0.741663217545 0.168802976608 -v 0.529102921486 0.749674737453 0.170213341713 -v 0.527972817421 0.746949017048 0.173987030983 -v 0.529739618301 0.732569515705 0.167208254337 -v 0.531125068665 0.737987637520 0.172155261040 -v 0.527689337730 0.742842078209 0.176281332970 -v 0.509422302246 0.719553887844 0.170410692692 -v 0.519722938538 0.717905282974 0.172781825066 -v 0.514890789986 0.734458565712 0.187463164330 -v 0.505210161209 0.733366072178 0.182220578194 -v 0.502490282059 0.726530313492 0.174150884151 -v 0.528773427010 0.728935301304 0.181077003479 -v 0.527782201767 0.723789393902 0.176339983940 -v 0.526475429535 0.720672547817 0.177816569805 -v 0.527674317360 0.726253092289 0.183694541454 -v 0.525176644325 0.733416676521 0.184952259064 -v 0.523093461990 0.731555163860 0.187405228615 -v 0.524735569954 0.719069778919 0.180645465851 -v 0.525143027306 0.723502397537 0.185845911503 -v 0.521940231323 0.728395640850 0.189189791679 -v 0.531512737274 0.747916936874 0.162386298180 -v 0.516651630402 0.713900744915 0.192825019360 -v 0.516959309578 0.710621714592 0.189882099628 -v 0.516236543655 0.708358943462 0.191311597824 -v 0.515579700470 0.710943758488 0.195346117020 -v 0.515369772911 0.716586649418 0.195921123028 -v 0.514391779900 0.714817166328 0.197931408882 -v 0.510539889336 0.709055662155 0.195576369762 -v 0.513627529144 0.706451058388 0.189301311970 -v 0.517277002335 0.710314393044 0.187095999718 -v 0.517525792122 0.716093361378 0.190888464451 -v 0.514751195908 0.719347119331 0.196116745472 -v 0.510549068451 0.715662777424 0.198681712151 -v 0.533120870590 0.762782216072 0.130480825901 -v 0.524248719215 0.772845745087 0.138786017895 -v 0.540866613388 0.746797680855 0.109364151955 -v 0.537410974503 0.759103238583 0.116162776947 -v 0.540438890457 0.742126762867 0.095553338528 -v 0.520689725876 0.728452146053 0.065447509289 -v 0.512445688248 0.721606135368 0.069535374641 -v 0.484276175499 0.737580657005 0.089107573032 -v 0.532676100731 0.765493094921 0.091823399067 -v 0.533045768738 0.757094204426 0.081643581390 -v 0.514222741127 0.784138381481 0.129911184311 -v 0.490095019341 0.767989397049 0.145252108574 -v 0.479055404663 0.768541455269 0.143870294094 -v 0.488378524780 0.780031323433 0.144005358219 -v 0.498183012009 0.777795016766 0.142598867416 -v 0.481902122498 0.759345829487 0.139733493328 -v 0.467978596687 0.763386905193 0.133951485157 -v 0.455418944359 0.777963399887 0.119988799095 -v 0.451926827431 0.777264595032 0.134350359440 -v 0.458689928055 0.767885684967 0.141088008881 -v 0.468816995621 0.769495069981 0.148243069649 -v 0.476413726807 0.779487848282 0.150034487247 -v 0.438565135002 0.771156847477 0.177375793457 -v 0.441770315170 0.764434158802 0.175460696220 -v 0.444827079773 0.770441770554 0.183847427368 -v 0.469913721085 0.779009222984 0.155741333961 -v 0.463364720345 0.769138574600 0.153375625610 -v 0.460401535034 0.767174780369 0.158601582050 -v 0.467330098152 0.775935709476 0.162042737007 -v 0.453510165215 0.769425153732 0.147249221802 -v 0.450202226639 0.768634498119 0.153188824654 -v 0.467652678490 0.791541039944 0.152924060822 -v 0.464564323425 0.787662565708 0.161086738110 -v 0.456722617149 0.792148888111 0.148283004761 -v 0.454262137413 0.790213525295 0.153603911400 -v 0.449564695358 0.782195746899 0.142867326736 -v 0.445333719254 0.781309008598 0.150482535362 -v 0.462369918823 0.796061277390 0.131073176861 -v 0.470566511154 0.799281775951 0.136529088020 -v 0.469121217728 0.797714054585 0.143102586269 -v 0.460547566414 0.795852959156 0.138329267502 -v 0.455207109451 0.789058446884 0.126723527908 -v 0.453316926956 0.788498997688 0.133789181709 -v 0.477501153946 0.792452573776 0.146006584167 -v 0.465461015701 0.796401441097 0.147136926651 -v 0.458685755730 0.794838547707 0.143734753132 -v 0.453046441078 0.789503097534 0.139946758747 -v 0.477824330330 0.801583707333 0.131692588329 -v 0.462747812271 0.795654177666 0.121492981911 -v 0.461746931076 0.769132852554 0.174213290215 -v 0.453706622124 0.761957705021 0.170404195786 -v 0.443747997284 0.765161931515 0.166959524155 -v 0.460104227066 0.781512916088 0.175598621368 -v 0.445243358612 0.784041821957 0.176206707954 -v 0.449878454208 0.784194827080 0.178927242756 -v 0.448585391045 0.782106339931 0.182242095470 -v 0.443793654442 0.781242489815 0.181344807148 -v 0.440421819687 0.782552838326 0.174964666367 -v 0.439622640610 0.780634343624 0.178736805916 -v 0.438029885292 0.777883410454 0.165846407413 -v 0.457392096519 0.764703154564 0.162105917931 -v 0.465457439423 0.772188305855 0.166752159595 -v 0.447040438652 0.767057418823 0.158573865891 -v 0.465133786201 0.783054172993 0.168668568134 -v 0.452129364014 0.790718674660 0.158209085464 -v 0.459192514420 0.790737628937 0.162641108036 -v 0.459162950516 0.789255976677 0.167319536209 -v 0.450338006020 0.789745509624 0.162790656090 -v 0.445508122444 0.787147641182 0.154866278172 -v 0.442550182343 0.785621106625 0.158436417580 -v 0.440964460373 0.777064740658 0.156837046146 -v 0.456962108612 0.787429749966 0.170820236206 -v 0.448460698128 0.787783861160 0.167056441307 -v 0.441197395325 0.784746885300 0.163089811802 -v 0.447333574295 0.785258412361 0.169726729393 -v 0.443022251129 0.777300119400 0.184506356716 -v 0.450631856918 0.780292212963 0.183982253075 -v 0.453623771667 0.784703671932 0.178378582001 -v 0.445952057838 0.786179065704 0.172527611256 -v 0.438473701477 0.781861722469 0.171767473221 -v 0.437908291817 0.777420401573 0.178881585598 -v 0.492766499519 0.755644321442 0.143515646458 -v 0.486923098564 0.747458815575 0.130217909813 -v 0.466797590256 0.757182359695 0.099651396275 -v 0.472083091736 0.750997185707 0.089635670185 -v 0.469869136810 0.760206878185 0.083161294460 -v 0.463792681694 0.773227989674 0.097641050816 -v 0.480604887009 0.743164718151 0.097418367863 -v 0.509183526039 0.740819334984 0.056642234325 -v 0.515854835510 0.750867664814 0.056534111500 -v 0.500680327415 0.800476849079 0.113281011581 -v 0.480252742767 0.809417188168 0.104322493076 -v 0.496218204498 0.805853843689 0.093608915806 -v 0.494943737984 0.789026916027 0.136653363705 -v 0.501828312874 0.788901865482 0.133081078529 -v 0.507851958275 0.797888576984 0.081428110600 -v 0.522942423820 0.779709160328 0.077857553959 -v 0.499507188797 0.765030682087 0.148840188980 -v 0.507470130920 0.774820327759 0.144708752632 -v 0.476036071777 0.746732592583 0.106510400772 -v 0.493361711502 0.803006708622 0.122841835022 -v 0.478899002075 0.807841002941 0.117558896542 -v 0.463644027710 0.796741485596 0.111424744129 -v 0.465716123581 0.794997811317 0.103478550911 -v 0.458229780197 0.777908682823 0.107420504093 -v 0.462887525558 0.761031866074 0.109043002129 -v 0.471899509430 0.750320196152 0.116126954556 -v 0.478152394295 0.753174483776 0.131771326065 -v 0.468824982643 0.755779623985 0.124225437641 -v 0.461404800415 0.763227701187 0.116893410683 -v 0.489722132683 0.797489106655 0.133335888386 -v 0.486714601517 0.789863348007 0.141924619675 -v 0.484797358513 0.741189062595 0.067133903503 -v 0.478503465652 0.751935124397 0.068854808807 -v 0.500882506371 0.734169185162 0.061571240425 -v 0.477385044098 0.744656562805 0.080763101578 -v 0.481624126434 0.739364206791 0.075847864151 -v 0.500677943230 0.775840044022 0.048178792000 -v 0.488707780838 0.765670180321 0.051871418953 -v 0.477584242821 0.762718737125 0.063034832478 -v 0.467450737953 0.766845524311 0.076912343502 -v 0.461498498917 0.778625905514 0.089994966984 -v 0.461806297302 0.795562386513 0.096759736538 -v 0.470135807991 0.809676170349 0.096153378487 -v 0.483797073364 0.812756240368 0.088045477867 -v 0.497678637505 0.805696189404 0.075719475746 -v 0.504785418510 0.791619062424 0.059249997139 -v 0.513334751129 0.788233518600 0.068128407001 -v 0.511568665504 0.770020723343 0.053026437759 -v 0.520908117294 0.761221706867 0.061087131500 -v 0.497784495354 0.788155913353 0.046932697296 -v 0.488117575645 0.775684356689 0.047841131687 -v 0.475840330124 0.770089447498 0.057217180729 -v 0.463661313057 0.771884500980 0.069685220718 -v 0.455235481262 0.782279491425 0.081061065197 -v 0.454746246338 0.798582255840 0.087480664253 -v 0.461082696915 0.812864422798 0.088064253330 -v 0.473519444466 0.820378422737 0.082788586617 -v 0.488731861115 0.816120684147 0.070775330067 -v 0.498112678528 0.803522765636 0.056562244892 -v 0.494563221931 0.799096226692 0.042310714722 -v 0.486902475357 0.808524429798 0.030907094479 -v 0.478900671005 0.793341755867 0.029809832573 -v 0.486203432083 0.785064756870 0.041563153267 -v 0.464779496193 0.783073127270 0.035595595837 -v 0.472564697266 0.777089834213 0.049066007137 -v 0.450284838676 0.780604720116 0.044155120850 -v 0.458022236824 0.776483118534 0.058857560158 -v 0.440367698669 0.784753084183 0.049066960812 -v 0.443802475929 0.787280976772 0.064302384853 -v 0.444123268127 0.804896831512 0.073245406151 -v 0.451916456223 0.821180701256 0.076650619507 -v 0.464986562729 0.832542598248 0.073360800743 -v 0.480245232582 0.831362009048 0.059292852879 -v 0.481340765953 0.834166049957 0.044129669666 -v 0.492998480797 0.814772903919 0.050042569637 -v 0.486271023750 0.822800278664 0.037332177162 -v 0.523271918297 0.770754814148 0.068353176117 -v 0.514518499374 0.778774738312 0.058889150620 -v 0.507184267044 0.776329338551 0.050279438496 -v 0.508969664574 0.781902492046 0.054183304310 -v 0.244488239288 0.426662117243 0.058280527592 -v 0.238626718521 0.424758225679 0.073367774487 -v 0.224532604218 0.421156793833 0.082624495029 -v 0.024168014526 0.813921332359 0.149686336517 -v -0.045492410660 0.811454951763 0.138143301010 -v -0.043429851532 0.849619209766 0.152232885361 -v -0.103686809540 0.858773767948 0.124039173126 -v -0.105726003647 0.821566998959 0.105698108673 -v -0.216044902802 1.015913844109 -0.065555334091 -v -0.209439516068 0.999427437782 -0.058619439602 -v -0.211006164551 0.987861990929 -0.064142704010 -v -0.230187892914 0.988817870617 -0.073895573616 -v -0.197565555573 0.993671536446 -0.052417397499 -v -0.196903944016 0.968688607216 -0.066415429115 -v -0.226006031036 0.954002797604 -0.069144666195 -v -0.186616420746 0.850906968117 -0.171889841557 -v -0.197167158127 0.860019028187 -0.140617847443 -v -0.179961204529 0.897772192955 -0.115278422832 -v -0.166189670563 0.875091910362 -0.153516530991 -v -0.148694753647 0.880870044231 -0.136985838413 -v -0.150884389877 0.907215118408 -0.104235470295 -v -0.157392501831 0.931122899055 -0.078570246696 -v -0.191499710083 0.929601490498 -0.075881302357 -v -0.215350627899 0.919599175453 -0.078258514404 -v -0.203397989273 0.897285580635 -0.100253224373 -v -0.217379808426 0.875960350037 -0.118124604225 -v -0.029005050659 0.571525335312 -0.088107168674 -v 0.002735614777 0.548631310463 -0.070256829262 -v 0.027010679245 0.590999245644 -0.090317308903 -v -0.018280744553 0.620064198971 -0.103850007057 -v 0.018197059631 0.528473854065 -0.041200280190 -v 0.039121389389 0.542406558990 -0.043555021286 -v -0.148338317871 0.925767302513 -0.247407793999 -v -0.147905111313 0.887462854385 -0.231083989143 -v -0.130671024323 0.907526671886 -0.214898705482 -v -0.110074996948 0.950674951077 -0.223033547401 -v -0.158329963684 0.874756038189 -0.191096603870 -v -0.134732007980 0.893178164959 -0.177285671234 -v -0.090615749359 0.914829909801 -0.207994282246 -v -0.112192392349 0.762768864632 0.047738432884 -v -0.126791477203 0.781367957592 0.019289433956 -v -0.137742519379 0.815532445908 0.021429121494 -v -0.104435205460 0.789754331112 0.077099800110 -v -0.129538536072 0.770201504230 -0.012699365616 -v -0.138639211655 0.806268036366 -0.033546984196 -v -0.147496223450 0.848499417305 0.061839640141 -v -0.089931488037 0.741834282875 0.071407139301 -v -0.054453372955 0.767961084843 0.118939399719 -v -0.098224401474 0.709381341934 0.028533697128 -v -0.111907958984 0.714046895504 -0.023087024689 -v -0.118014335632 0.742692947388 0.013800978661 -v -0.105286121368 0.729441761971 0.038245499134 -v -0.068748474121 0.719616711140 0.068620622158 -v -0.085082054138 0.653443753719 0.027877748013 -v -0.058162212372 0.656390905380 0.056895077229 -v -0.050686836243 0.607604086399 0.047678053379 -v -0.099447727203 0.621420621872 0.005962431431 -v -0.068820476532 0.563984632492 0.037404358387 -v -0.093855857849 0.573501050472 0.006214916706 -v -0.061287641525 1.064289569855 0.001488387585 -v -0.092086315155 1.040367364883 0.017865002155 -v -0.100042343140 1.063028454781 -0.025874853134 -v -0.068414211273 1.083276271820 -0.024904131889 -v -0.152829885483 1.043263196945 -0.030532896519 -v -0.132411718369 1.076464056969 -0.043527424335 -v -0.132525444031 1.024463057518 -0.009899616241 -v -0.121130466461 1.003944158554 0.032351315022 -v -0.171019792557 1.007393002510 -0.034520506859 -v -0.196717739105 1.027601242065 -0.048720419407 -v -0.173523902893 1.051656365395 -0.044109880924 -v -0.172769784927 0.976805567741 -0.047324657440 -v -0.238524913788 0.893932402134 -0.094456076622 -v -0.167498588562 1.074029922485 -0.061905801296 -v -0.199609756470 1.058331489563 -0.076546132565 -v 0.035741090775 0.537817895412 0.004574596882 -v 0.063968896866 0.537479221821 0.012407362461 -v 0.069581508636 0.543589949608 -0.037130057812 -v -0.067850828171 1.115831255913 -0.122188806534 -v -0.044815301895 1.153640151024 -0.091253459454 -v -0.061902284622 1.142533540726 -0.076420962811 -v -0.087494134903 1.110044360161 -0.101176381111 -v -0.102974891663 1.099434852600 -0.071468591690 -v -0.069273948669 1.125692009926 -0.061185836792 -v -0.110057592392 1.099711656570 -0.165807723999 -v -0.129351377487 1.099599599838 -0.132730364799 -v -0.150191068649 1.093798398972 -0.095395982265 -v -0.167793750763 1.074134111404 -0.162128686905 -v -0.187201261520 1.073685646057 -0.118393898010 -v -0.200552225113 1.044490218163 -0.186491847038 -v -0.215443849564 1.052723646164 -0.141018509865 -v -0.222080469131 1.039790749550 -0.094145119190 -v -0.239657878876 1.022207856178 -0.158943414688 -v -0.241830825806 1.013184070587 -0.110611021519 -v -0.260427713394 0.986940979958 -0.176530241966 -v -0.263617753983 0.981970906258 -0.132411062717 -v -0.260305166245 0.958638668060 -0.098890125751 -v -0.278702974319 0.955592036247 -0.163595557213 -v -0.278200626373 0.932817518711 -0.130598545074 -v -0.271001577377 0.901743829250 -0.119967401028 -v -0.252998113632 0.927197396755 -0.088302910328 -v -0.255738973618 0.872728466988 -0.122977674007 -v -0.288134813309 0.917696714401 -0.166244506836 -v -0.280348777771 0.886196553707 -0.155893802643 -v -0.267940998077 0.855949759483 -0.158157467842 -v -0.322344541550 0.899317681789 -0.184273540974 -v -0.314202308655 0.871414363384 -0.169530987740 -v -0.304754018784 0.841402471066 -0.163097262383 -v -0.351705789566 0.865829944611 -0.176985263824 -v -0.346288204193 0.842895746231 -0.165701746941 -v -0.342967510223 0.821778357029 -0.172056436539 -v -0.297340869904 0.818372488022 -0.180801868439 -v -0.255311727524 0.834150016308 -0.184277534485 -v -0.344840049744 0.807662725449 -0.190519332886 -v -0.298639774323 0.802460789680 -0.209736287594 -v -0.253891229630 0.813284337521 -0.222991466522 -v -0.215986251831 0.835866868496 -0.183695673943 -v -0.214768171310 0.830051660538 -0.219524562359 -v -0.309920310974 0.802444458008 -0.240571200848 -v -0.261218309402 0.820708096027 -0.265693724155 -v -0.202613115311 0.844021797180 -0.252863943577 -v -0.351272106171 0.804853558540 -0.214755058289 -v -0.361089944839 0.814315497875 -0.239227890968 -v -0.324601888657 0.821000874043 -0.263598829508 -v -0.283481359482 0.848797678947 -0.284017473459 -v -0.368223667145 0.837127387524 -0.253749161959 -v -0.336348056793 0.853153288364 -0.277962535620 -v -0.297395467758 0.883530080318 -0.294476032257 -v -0.240055322647 0.874735951424 -0.304646462202 -v -0.264170885086 0.907689154148 -0.292484790087 -v -0.343079566956 0.886833965778 -0.280547678471 -v -0.304080247879 0.919566035271 -0.288546800613 -v -0.274107933044 0.937634170055 -0.272911608219 -v -0.237725257874 0.939036250114 -0.275381207466 -v -0.246447801590 0.963879764080 -0.250892400742 -v -0.299230575562 0.941379368305 -0.261109113693 -v -0.274475336075 0.952009916306 -0.239782989025 -v -0.254629850388 0.977320313454 -0.217426180840 -v -0.217944860458 0.993275702000 -0.236558616161 -v -0.229768037796 1.010393023491 -0.203123748302 -v -0.274976491928 0.958194017410 -0.204134941101 -v -0.294450044632 0.945626258850 -0.227268993855 -v -0.291128396988 0.938337326050 -0.193792879581 -v -0.336385011673 0.927444577217 -0.237453699112 -v -0.328366279602 0.918976187706 -0.207168340683 -v -0.373788356781 0.900349020958 -0.237839400768 -v -0.367165803909 0.902696073055 -0.212942600250 -v -0.358767509460 0.887838721275 -0.192018508911 -v -0.399082183838 0.886386156082 -0.210687160492 -v -0.391416311264 0.878774166107 -0.190892636776 -v -0.385291337967 0.862347722054 -0.175807774067 -v -0.380799770355 0.844238936901 -0.168828010559 -v -0.377043247223 0.828504204750 -0.168903589249 -v -0.378103971481 0.815952479839 -0.178110599518 -v -0.382728338242 0.809657692909 -0.196520686150 -v -0.389034032822 0.812136590481 -0.218078017235 -v -0.393783569336 0.826233685017 -0.232942044735 -v -0.374763011932 0.861356377602 -0.261329650879 -v -0.397455453873 0.845723807812 -0.239633858204 -v -0.401363134384 0.864607393742 -0.240126490593 -v -0.377741813660 0.885030388832 -0.257234215736 -v -0.342441082001 0.914424657822 -0.266438513994 -v -0.402511835098 0.878381252289 -0.229500651360 -v -0.170168876648 1.000604867935 -0.237006545067 -v -0.184483528137 1.026935815811 -0.219662249088 -v -0.204886913300 0.972634196281 -0.262749642134 -v -0.159294366837 0.967827081680 -0.247309863567 -v -0.191198587418 0.937436878681 -0.281654030085 -v -0.222276926041 0.905950903893 -0.284064441919 -v -0.177347660065 0.896951436996 -0.278299987316 -v -0.199582099915 0.874506413937 -0.276412338018 -v -0.219844818115 0.853652238846 -0.284712314606 -v -0.174687385559 0.863596737385 -0.250282466412 -v -0.181549310684 0.849696934223 -0.207981944084 -v -0.116446971893 1.003559350967 -0.234433829784 -v -0.131599664688 1.042656898499 -0.224299788475 -v -0.063884496689 1.038912057877 -0.210333466530 -v -0.085042953491 1.078667521477 -0.191534459591 -v -0.149874925613 1.067245244980 -0.198640346527 -v 0.006145715714 1.018314838409 -0.186279118061 -v -0.007123947144 1.064264893532 -0.171564280987 -v -0.048004388809 0.991492629051 -0.217727243900 -v -0.026478528976 1.111588954926 -0.142706692219 -v 0.017360448837 0.970607042313 -0.195879101753 -v -0.035747051239 0.945858657360 -0.214797735214 -v 0.026816844940 0.918899655342 -0.194363832474 -v -0.025933980942 0.897993922234 -0.206000804901 -v -0.080864667892 0.874895334244 -0.192031383514 -v -0.018188714981 0.847238957882 -0.190483808517 -v -0.072869777679 0.831310868263 -0.174542069435 -v -0.116947174072 0.821985781193 -0.144294202328 -v -0.121940612793 0.859033942223 -0.160447001457 -v -0.136636972427 0.828852474689 -0.101162433624 -v -0.142194747925 0.857307851315 -0.121078729630 -v -0.143414735794 0.845660209656 -0.058004975319 -v -0.144388198853 0.880819320679 -0.082161068916 -v -0.153039455414 0.862532734871 -0.018098533154 -v -0.153266906738 0.903006434441 -0.052416980267 -v -0.161772251129 0.888247668743 0.014432668686 -v -0.160099267960 0.926342248917 -0.032119214535 -v -0.164556503296 0.953284680843 -0.062894344330 -v -0.171996355057 0.952526032925 -0.012361943722 -v -0.164795875549 0.921657145023 0.036377131939 -v -0.147756576538 0.961669743061 0.040470600128 -v -0.158525466919 0.986356794834 -0.006434679031 -v -0.145291805267 0.885101556778 0.083670973778 -v -0.126105070114 0.929664313793 0.086600899696 -v -0.100680828094 0.976286113262 0.074836552143 -v -0.088333368301 0.904943823814 0.124103307724 -v -0.068841934204 0.954400718212 0.109162628651 -v -0.050687789917 1.002869248390 0.086499452591 -v -0.076419353485 1.019973993301 0.056980848312 -v -0.031089067459 1.040452837944 0.053422629833 -v -0.048895835876 1.049849748611 0.030142068863 -v -0.028286457062 0.943060517311 0.130822718143 -v -0.018934726715 0.993253171444 0.104324102402 -v -0.008577823639 1.036106586456 0.068773925304 -v 0.016984224319 0.938255190849 0.132273197174 -v 0.016255617142 0.988211154938 0.106916069984 -v 0.017256975174 1.034857988358 0.074777126312 -v -0.037022590637 0.893554985523 0.148184359074 -v -0.125862836838 0.795052647591 -0.077642142773 -v -0.088509559631 0.748381972313 -0.091158628464 -v -0.106392145157 0.784361839294 -0.120982527733 -v -0.114890336990 0.757017672062 -0.053101658821 -v -0.051238536835 0.693981826305 -0.101675391197 -v -0.053010225296 0.743843674660 -0.121231853962 -v -0.086938619614 0.703561365604 -0.072716116905 -v -0.064249753952 0.786670446396 -0.151442766190 -v -0.010465383530 0.743931651115 -0.136873304844 -v -0.013234376907 0.796020328999 -0.166346788406 -v 0.032855987549 0.676068127155 -0.117384016514 -v 0.034677505493 0.748068869114 -0.133399724960 -v -0.010420322418 0.684079170227 -0.115326344967 -v 0.036463499069 0.808236598969 -0.159694790840 -v 0.077756881714 0.752460122108 -0.118776857853 -v 0.079266071320 0.817305207253 -0.140415549278 -v 0.034280061722 0.864266276360 -0.182166934013 -v 0.072944402695 0.932042717934 -0.169168591499 -v 0.063047170639 1.036345005035 -0.171650230885 -v -0.058959484100 0.640669405460 -0.090303719044 -v -0.066095590591 0.592738807201 -0.077589452267 -v -0.097780227661 0.609835147858 -0.045422494411 -v -0.095155477524 0.656358480453 -0.060826182365 -v -0.105790376663 0.668013811111 -0.016322851181 -v -0.087153911591 0.680714309216 0.023537695408 -v -0.060539484024 0.690345466137 0.063132166862 -v -0.022153139114 0.659986138344 0.099782228470 -v -0.026333808899 0.697329998016 0.108290851116 -v -0.032596349716 0.731493532658 0.113822937012 -v 0.026883125305 0.702849328518 0.121817588806 -v -0.007471561432 0.622038125992 0.083720922470 -v 0.033208370209 0.620859384537 0.106691539288 -v 0.010722160339 0.584229052067 0.067391037941 -v 0.046667098999 0.584562242031 0.083252370358 -v 0.025924444199 0.553159415722 0.041892528534 -v 0.057153224945 0.554712772369 0.051456034184 -v -0.020308732986 0.569664835930 0.051660239697 -v 0.001250267029 0.543498456478 0.031863629818 -v 0.013638973236 0.532003760338 -0.001672267914 -v -0.000382900238 0.520153343678 -0.005273222923 -v -0.012644290924 0.528460025787 0.023336231709 -v 0.006472110748 0.512750744820 -0.036196351051 -v -0.007425308228 0.474734485149 -0.000116705894 -v -0.005846261978 0.500033557415 -0.004471659660 -v 0.000211715698 0.494048833847 -0.030069172382 -v -0.006864786148 0.472749769688 -0.022261261940 -v -0.018941164017 0.475434243679 -0.039400577545 -v -0.014056682587 0.499557584524 -0.049792110920 -v -0.007712841034 0.522083699703 -0.061311900616 -v -0.037567615509 0.480722934008 -0.046939432621 -v -0.037078142166 0.509507179260 -0.057908356190 -v -0.034726858139 0.538039565086 -0.071861624718 -v -0.058244705200 0.486637681723 -0.040571570396 -v -0.064287900925 0.519816040993 -0.052058398724 -v -0.066971778870 0.554416954517 -0.064069986343 -v -0.073494434357 0.490894377232 -0.019915223122 -v -0.083090543747 0.529140114784 -0.027455270290 -v -0.092357873917 0.568181574345 -0.034658551216 -v -0.079753637314 0.491208374500 0.009451150894 -v -0.086676597595 0.532695353031 0.006102561951 -v -0.073581457138 0.454350113869 0.007979691029 -v -0.066380023956 0.457608014345 -0.017444491386 -v -0.067813158035 0.488057374954 0.029619216919 -v -0.066108465195 0.450441658497 0.027257204056 -v -0.069606781006 0.527580559254 0.030218899250 -v -0.044326543808 0.482478886843 0.033305048943 -v -0.044793844223 0.448259085417 0.031902611256 -v -0.042425155640 0.517599105835 0.031794846058 -v -0.017328262329 0.477021217346 0.022542297840 -v -0.018852710724 0.507313489914 0.017633438110 -v -0.037883758545 0.545025348663 0.042228996754 -v -0.019141912460 0.447015106678 0.024648547173 -v -0.009853363037 0.448897719383 0.002969503403 -v -0.010138511658 0.424218118191 -0.001672625542 -v -0.006133556366 0.399529516697 -0.015495121479 -v -0.017596960068 0.394342869520 -0.000591039658 -v -0.020816802979 0.419395595789 0.016798019409 -v -0.009426116943 0.427912145853 -0.021588802338 -v -0.001868963242 0.404415190220 -0.034041702747 -v -0.011332273483 0.450134307146 -0.017913401127 -v -0.018124103546 0.431156426668 -0.039218008518 -v -0.011564016342 0.408847093582 -0.052631855011 -v -0.021310806274 0.452264279127 -0.034315645695 -v -0.035163879395 0.433271795511 -0.046046972275 -v -0.032569646835 0.410334706306 -0.058933556080 -v -0.036829233170 0.455296754837 -0.040022969246 -v -0.050311565399 0.433117091656 -0.039737045765 -v -0.049625396729 0.409451037645 -0.056582272053 -v -0.052719354630 0.457712709904 -0.034135818481 -v -0.060839176178 0.430344671011 -0.025123417377 -v -0.060647249222 0.405378311872 -0.044947326183 -v -0.039075374603 0.333637267351 -0.059441745281 -v -0.046819448471 0.377576559782 -0.066945731640 -v -0.057845830917 0.373610943556 -0.056396543980 -v -0.044396162033 0.332225650549 -0.051878690720 -v -0.043912887573 0.330512613058 -0.042705893517 -v -0.057412862778 0.368281006813 -0.038785338402 -v -0.061007261276 0.399160534143 -0.025505304337 -v -0.041280269623 0.328136712313 -0.033087968826 -v -0.046390056610 0.364219039679 -0.022349596024 -v -0.051404714584 0.393975228071 -0.006930351257 -v -0.035102367401 0.325139790773 -0.023742496967 -v -0.033584117889 0.360739827156 -0.011030375957 -v -0.036393165588 0.389957576990 0.006403863430 -v -0.024703979492 0.326273173094 -0.026353597641 -v -0.019546747208 0.364557057619 -0.018281936646 -v -0.016890287399 0.328833460808 -0.035211801529 -v -0.006627321243 0.368008077145 -0.028945624828 -v -0.013489007950 0.331431388855 -0.046256422997 -v -0.002036094666 0.373024463654 -0.045083582401 -v -0.017686605453 0.333469033241 -0.056734740734 -v -0.010092020035 0.377158254385 -0.060950160027 -v -0.028373241425 0.334166795015 -0.062248706818 -v -0.029481172562 0.378683656454 -0.066067218781 -v -0.219955444336 0.842094063759 -0.154961943626 -v -0.235270023346 0.857862532139 -0.137915790081 -v -0.087909221649 1.087654352188 -0.050910711288 -v -0.070798635483 1.104470491409 -0.045316457748 -v -0.247585058212 0.849854946136 -0.153714001179 -v -0.240604400635 0.840870857239 -0.163044929504 -v -0.011443376541 1.160188794136 -0.101308941841 -v 0.036525011063 1.165561199188 -0.098447144032 -v -0.447368383408 0.797736108303 -0.173693537712 -v -0.447412490845 0.796239554882 -0.162157893181 -v -0.443197250366 0.802235960960 -0.155865490437 -v -0.438388586044 0.805791616440 -0.164553344250 -v -0.494693517685 0.893587052822 -0.106214702129 -v -0.495902061462 0.900918126106 -0.105787515640 -v -0.493417978287 0.900910675526 -0.096440255642 -v -0.491146326065 0.891790270805 -0.099022448063 -v -0.489644289017 0.821257293224 -0.123335301876 -v -0.471888542175 0.823015093803 -0.132293999195 -v -0.468766212463 0.813135862350 -0.129689037800 -v -0.484895229340 0.811676740646 -0.120194315910 -v -0.476134061813 0.841621756554 -0.135791420937 -v -0.474495887756 0.832299590111 -0.135184764862 -v -0.494080066681 0.831160485744 -0.126861453056 -v -0.496844291687 0.842333674431 -0.129078328609 -v -0.451151609421 0.806489586830 -0.139960348606 -v -0.466060161591 0.802223086357 -0.129936814308 -v -0.452974319458 0.816859483719 -0.137552082539 -v -0.485681533813 0.851063311100 -0.187404632568 -v -0.502808094025 0.846567988396 -0.173310935497 -v -0.499794721603 0.830486893654 -0.174043655396 -v -0.483735561371 0.833467781544 -0.188756585121 -v -0.491135358810 0.786839187145 -0.137906074524 -v -0.477485179901 0.788113296032 -0.152600586414 -v -0.484442234039 0.794747292995 -0.160152792931 -v -0.501042604446 0.794560611248 -0.139316618443 -v -0.508388519287 0.830364823341 -0.119966745377 -v -0.521482229233 0.819912433624 -0.130728006363 -v -0.523111343384 0.828098714352 -0.121222257614 -v -0.512018680573 0.834384858608 -0.118249833584 -v -0.514605045319 0.853373050690 -0.127098441124 -v -0.517944812775 0.850607991219 -0.124822854996 -v -0.530208826065 0.845044076443 -0.127292752266 -v -0.531853437424 0.844683170319 -0.137332379818 -v -0.500032663345 0.821590065956 -0.116037189960 -v -0.509562015533 0.864964723587 -0.132301747799 -v -0.504422664642 0.864491283894 -0.132351279259 -v -0.500204324722 0.853452622890 -0.129730045795 -v -0.520584106445 0.822443604469 -0.147195518017 -v -0.522242069244 0.828122496605 -0.150109887123 -v -0.526848316193 0.828633189201 -0.143665313721 -v -0.523217201233 0.823370218277 -0.141705751419 -v -0.528179168701 0.850113034248 -0.151596605778 -v -0.527724266052 0.857582092285 -0.153711855412 -v -0.533334732056 0.857348978519 -0.147594749928 -v -0.531985759735 0.850167274475 -0.146348357201 -v -0.507945299149 0.843233942986 -0.123751223087 -v -0.509826183319 0.844902992249 -0.121303021908 -v -0.529620647430 0.830736279488 -0.135385751724 -v -0.531349182129 0.833562910557 -0.126550495625 -v -0.487643718719 0.804054796696 -0.111395001411 -v -0.480391025543 0.801913261414 -0.119697570801 -v -0.480456352234 0.792149066925 -0.122189939022 -v -0.488045692444 0.794178664684 -0.112424015999 -v -0.495940208435 0.784620106220 -0.126145541668 -v -0.499251127243 0.786586403847 -0.129543840885 -v -0.504209518433 0.787554085255 -0.123033821583 -v -0.499408006668 0.785145521164 -0.121613442898 -v -0.510551452637 0.871032297611 -0.138833642006 -v -0.515317440033 0.871675372124 -0.137129485607 -v -0.526596546173 0.864687561989 -0.151889979839 -v -0.530538082123 0.864613473415 -0.148025453091 -v -0.497328281403 0.811198830605 -0.112283110619 -v -0.503155469894 0.790419399738 -0.130545675755 -v -0.506678104401 0.791445076466 -0.125318050385 -v -0.493824243546 0.871466159821 -0.085897326469 -v -0.490470170975 0.869438707829 -0.092285215855 -v -0.485040903091 0.863280296326 -0.091263115406 -v -0.487308979034 0.865945041180 -0.082743287086 -v -0.485924720764 0.855860471725 -0.088013470173 -v -0.489061117172 0.856862902641 -0.081349372864 -v -0.520172119141 0.836955487728 -0.100135803223 -v -0.515067815781 0.840695142746 -0.093722283840 -v -0.506313800812 0.841244280338 -0.101609706879 -v -0.510276794434 0.838908553123 -0.105833172798 -v -0.512242078781 0.857203602791 -0.107409000397 -v -0.522161960602 0.857336878777 -0.099027633667 -v -0.526552677155 0.854199707508 -0.105519115925 -v -0.515424251556 0.854900300503 -0.111687183380 -v -0.508421897888 0.847175776958 -0.111868441105 -v -0.505060672760 0.849078774452 -0.108070075512 -v -0.524366140366 0.847588360310 -0.093832015991 -v -0.527771949768 0.845007956028 -0.098792850971 -v -0.504534959793 0.847885608673 -0.086177408695 -v -0.498050689697 0.852172255516 -0.082087755203 -v -0.490575790405 0.850792109966 -0.091464221478 -v -0.496593952179 0.846407592297 -0.095529913902 -v -0.496419668198 0.867350459099 -0.096872746944 -v -0.503741264343 0.868512868881 -0.087242722511 -v -0.511126995087 0.864330530167 -0.091117858887 -v -0.503080606461 0.863209724426 -0.101341784000 -v -0.495740175247 0.854071259499 -0.103795528412 -v -0.489275217056 0.858667314053 -0.098730802536 -v -0.510396480560 0.857069015503 -0.083190023899 -v -0.506175994873 0.859634041786 -0.081316232681 -v -0.511812210083 0.838328003883 -0.109384715557 -v -0.512324810028 0.836986780167 -0.113109648228 -v -0.523508548737 0.831316888332 -0.112718701363 -v -0.519570350647 0.833538651466 -0.105941951275 -v -0.527900457382 0.853996634483 -0.113405644894 -v -0.530893802643 0.848428845406 -0.119828045368 -v -0.517930030823 0.852390527725 -0.120005369186 -v -0.516858100891 0.853576421738 -0.115721166134 -v -0.510461807251 0.846561253071 -0.116781532764 -v -0.510272741318 0.846948623657 -0.114067971706 -v -0.528704881668 0.833988189697 -0.105706632137 -v -0.529921531677 0.832707405090 -0.110456645489 -v -0.535176277161 0.837255477905 -0.113185763359 -v -0.535221815109 0.839498996735 -0.107395589352 -v -0.535897016525 0.844757020473 -0.115204930305 -v -0.535224437714 0.848018705845 -0.110409140587 -v -0.527960300446 0.836800575256 -0.101769506931 -v -0.532390594482 0.842326819897 -0.102183938026 -v -0.532948493958 0.849078893661 -0.105126917362 -v -0.501554489136 0.843218922615 -0.099216759205 -v -0.507042169571 0.842735946178 -0.091056108475 -v -0.515851497650 0.862206101418 -0.097064733505 -v -0.508196115494 0.859079062939 -0.104793012142 -v -0.501304626465 0.850616335869 -0.106691837311 -v -0.514235734940 0.845977485180 -0.086078166962 -v -0.518186092377 0.844501137733 -0.088461101055 -v -0.522804021835 0.849747896194 -0.088824689388 -v -0.519546508789 0.852388918400 -0.085314571857 -v -0.523418426514 0.855972528458 -0.091820836067 -v -0.520101308823 0.859155178070 -0.089708983898 -v -0.511596202850 0.849000573158 -0.083929896355 -v -0.515213012695 0.854938268661 -0.083392798901 -v -0.516395092010 0.860537409782 -0.087069749832 -v -0.532750368118 0.836167395115 -0.118552982807 -v -0.497567176819 0.865602970123 -0.074603199959 -v -0.496635437012 0.860588312149 -0.074069917202 -v -0.499092817307 0.859558403492 -0.075726687908 -v -0.501167774200 0.863645672798 -0.076683282852 -v -0.499398469925 0.869491815567 -0.076963126659 -v -0.502336740494 0.868161380291 -0.077675879002 -v -0.493256807327 0.858881592751 -0.076175630093 -v -0.492352008820 0.866495013237 -0.076975762844 -v -0.499328136444 0.856431543827 -0.076817274094 -v -0.503676176071 0.861703813076 -0.079042315483 -v -0.503543376923 0.868796229362 -0.080610632896 -v -0.497124195099 0.871228098869 -0.080048918724 -v -0.508443832397 0.800419390202 -0.136265814304 -v -0.511143684387 0.804700791836 -0.140411615372 -v -0.514699935913 0.806024491787 -0.133704960346 -v -0.511139869690 0.801549851894 -0.131215751171 -v -0.524834394455 0.834584176540 -0.149969577789 -v -0.528397083282 0.835094690323 -0.144962668419 -v -0.514429330826 0.810142576694 -0.141759753227 -v -0.517162799835 0.811100900173 -0.136384963989 -v -0.496298074722 0.786881387234 -0.115870833397 -v -0.486750125885 0.785451531410 -0.128098964691 -v -0.527594327927 0.869485437870 -0.141907572746 -v -0.518058300018 0.869149982929 -0.149671852589 -v -0.510817766190 0.799105167389 -0.121699333191 -v -0.512484073639 0.806650936604 -0.113031685352 -v -0.502429008484 0.813118338585 -0.111305117607 -v -0.508829832077 0.828153192997 -0.116886317730 -v -0.518706083298 0.822669982910 -0.117713034153 -v -0.501774787903 0.822176635265 -0.114453732967 -v -0.519619703293 0.812057256699 -0.116438627243 -v -0.517436027527 0.808292090893 -0.126053214073 -v -0.483708858490 0.853024780750 -0.088355422020 -v -0.481112241745 0.850262880325 -0.093426942825 -v -0.475982189178 0.844028592110 -0.091422438622 -v -0.477612257004 0.847269892693 -0.084727108479 -v -0.475871086121 0.837056696415 -0.086321115494 -v -0.478466987610 0.838783323765 -0.080502748489 -v -0.504234790802 0.817612648010 -0.093765556812 -v -0.500945329666 0.822281956673 -0.087224364281 -v -0.490716695786 0.824029862881 -0.093403875828 -v -0.494282245636 0.819924414158 -0.099487662315 -v -0.496157646179 0.841752350330 -0.100961446762 -v -0.505415439606 0.841348707676 -0.095487833023 -v -0.508846998215 0.836988449097 -0.101620197296 -v -0.499357938766 0.838020980358 -0.106621682644 -v -0.492764949799 0.830117106438 -0.105411946774 -v -0.489102363586 0.833834648132 -0.099696338177 -v -0.508481979370 0.830541670322 -0.089690744877 -v -0.510588169098 0.827774941921 -0.093720853329 -v -0.492753744125 0.831151664257 -0.079553246498 -v -0.486364841461 0.835210800171 -0.078461050987 -v -0.479637861252 0.832388997078 -0.086949884892 -v -0.484333038330 0.829082310200 -0.088134169579 -v -0.485946178436 0.848959863186 -0.095764815807 -v -0.492048025131 0.851611673832 -0.087720692158 -v -0.497788429260 0.848133265972 -0.089569866657 -v -0.490402221680 0.846298635006 -0.097313344479 -v -0.483847379684 0.837090373039 -0.096990287304 -v -0.479485511780 0.840040266514 -0.095492541790 -v -0.497706413269 0.841334342957 -0.080382227898 -v -0.493602514267 0.843913137913 -0.079816043377 -v -0.498492002487 0.817435145378 -0.105219185352 -v -0.501165628433 0.814163446426 -0.109083890915 -v -0.511910438538 0.809615671635 -0.104608774185 -v -0.505473136902 0.811411023140 -0.099508881569 -v -0.510790824890 0.835031032562 -0.109548807144 -v -0.516519069672 0.828535556793 -0.111123204231 -v -0.506266832352 0.830387651920 -0.115914404392 -v -0.502544403076 0.833584547043 -0.112453937531 -v -0.499927043915 0.823450028896 -0.114233195782 -v -0.497344493866 0.826164782047 -0.110643565655 -v -0.513412475586 0.815074205399 -0.096650004387 -v -0.516290664673 0.813745021820 -0.099655687809 -v -0.519789934158 0.819998562336 -0.101308584213 -v -0.517743349075 0.822623610497 -0.098065078259 -v -0.519121646881 0.827042996883 -0.104812145233 -v -0.516560077667 0.830451726913 -0.103179037571 -v -0.511471986771 0.818441748619 -0.094288408756 -v -0.514646053314 0.825179815292 -0.095527946949 -v -0.514303207397 0.831783711910 -0.099781036377 -v -0.487943172455 0.827379703522 -0.090247273445 -v -0.495469808578 0.824954450130 -0.082411110401 -v -0.500364780426 0.846157968044 -0.094868063927 -v -0.493069171906 0.843513786793 -0.098693013191 -v -0.487038612366 0.835436344147 -0.097534894943 -v -0.502112865448 0.828593492508 -0.079975128174 -v -0.504857540131 0.826588690281 -0.083056867123 -v -0.508306980133 0.833120644093 -0.085304498672 -v -0.506083965302 0.836166918278 -0.082021951675 -v -0.507864236832 0.840063154697 -0.089241921902 -v -0.505406856537 0.843329131603 -0.087880432606 -v -0.499519109726 0.832336187363 -0.078415036201 -v -0.502271652222 0.839114248753 -0.080325365067 -v -0.502671241760 0.844747602940 -0.085275530815 -v -0.520011425018 0.816879510880 -0.107176601887 -v -0.485849618912 0.848793625832 -0.077213406563 -v -0.484879255295 0.844172120094 -0.075477480888 -v -0.486962318420 0.843352615833 -0.076518177986 -v -0.488926410675 0.847343027592 -0.078180730343 -v -0.487652778625 0.852373063564 -0.079998552799 -v -0.490156412125 0.851481437683 -0.079959809780 -v -0.482032775879 0.841814160347 -0.076701343060 -v -0.481650590897 0.848758876324 -0.079696655273 -v -0.487200260162 0.840355038643 -0.076348960400 -v -0.491241216660 0.845820188522 -0.079050183296 -v -0.491406917572 0.852079093456 -0.082417190075 -v -0.486078977585 0.853447556496 -0.083156108856 -v -0.498555898666 0.789247334003 -0.110209047794 -v -0.490535259247 0.795914649963 -0.107083380222 -v -0.499561071396 0.808594465256 -0.109262883663 -v -0.509321451187 0.801345944405 -0.113677084446 -v -0.491660594940 0.804835021496 -0.106762707233 -v -0.506342411041 0.790087342262 -0.117207169533 -v -0.507618427277 0.792013823986 -0.113375782967 -v -0.489049196243 0.826286792755 -0.079535543919 -v -0.485815525055 0.826620817184 -0.084511041641 -v -0.480561256409 0.821815013885 -0.084118247032 -v -0.483257293701 0.822232902050 -0.077751755714 -v -0.479671239853 0.815304994583 -0.082047581673 -v -0.482170104980 0.815054416656 -0.077047288418 -v -0.498437404633 0.795974731445 -0.094222247601 -v -0.495993852615 0.799155712128 -0.089099407196 -v -0.488581657410 0.803750157356 -0.092741906643 -v -0.489798069000 0.801814615726 -0.097452342510 -v -0.499174118042 0.816335558891 -0.095021665096 -v -0.505331993103 0.810285627842 -0.091094553471 -v -0.508020877838 0.806802392006 -0.096497237682 -v -0.500244140625 0.813882708549 -0.098373711109 -v -0.491198301315 0.810434281826 -0.099174976349 -v -0.490566730499 0.812255382538 -0.095983982086 -v -0.504388093948 0.801935672760 -0.089532196522 -v -0.506303787231 0.799559772015 -0.093178451061 -v -0.490227460861 0.806715846062 -0.080041587353 -v -0.486819744110 0.810494184494 -0.077443838120 -v -0.481586694717 0.811227262020 -0.084623336792 -v -0.484838962555 0.807765960693 -0.087508916855 -v -0.489450216293 0.825551927090 -0.087533473969 -v -0.494817018509 0.822417318821 -0.080430269241 -v -0.498338937759 0.818705558777 -0.082634210587 -v -0.493239879608 0.822486460209 -0.090337991714 -v -0.485663890839 0.816083729267 -0.092872619629 -v -0.482256412506 0.819070279598 -0.089587986469 -v -0.495429277420 0.813326537609 -0.077522575855 -v -0.493692398071 0.815349698067 -0.076042175293 -v -0.490639209747 0.799663007259 -0.100690245628 -v -0.491382598877 0.797495901585 -0.103254914284 -v -0.500654220581 0.789737641811 -0.104475378990 -v -0.497671604156 0.792602598667 -0.098903775215 -v -0.509530782700 0.806396782398 -0.102260172367 -v -0.511167049408 0.801594376564 -0.108417809010 -v -0.500758171082 0.809814274311 -0.105136036873 -v -0.500140190125 0.811406195164 -0.101884782314 -v -0.491745948792 0.806727945805 -0.103401362896 -v -0.492305278778 0.808004617691 -0.101605892181 -v -0.505864143372 0.790762722492 -0.098364591599 -v -0.506949424744 0.789222061634 -0.102397680283 -v -0.511898517609 0.792011439800 -0.104481697083 -v -0.511413574219 0.793921768665 -0.099860727787 -v -0.513942241669 0.797082841396 -0.105452656746 -v -0.513425111771 0.799474656582 -0.101383924484 -v -0.505221366882 0.793554723263 -0.095338940620 -v -0.509412050247 0.796497941017 -0.095882833004 -v -0.511485099792 0.800802588463 -0.097495257854 -v -0.487203598022 0.805865585804 -0.089809119701 -v -0.491508483887 0.801817178726 -0.084747970104 -v -0.501916170120 0.816967248917 -0.087054252625 -v -0.496026515961 0.819197714329 -0.092714369297 -v -0.489030599594 0.813616871834 -0.094238102436 -v -0.496573925018 0.803260147572 -0.081626772881 -v -0.499391555786 0.800740122795 -0.084920167923 -v -0.503435134888 0.803725183010 -0.085128188133 -v -0.500617980957 0.807261526585 -0.080836713314 -v -0.505204677582 0.808161199093 -0.085975766182 -v -0.502797126770 0.812113285065 -0.082701086998 -v -0.494894981384 0.806727290154 -0.079006910324 -v -0.497905254364 0.810785889626 -0.078416407108 -v -0.500154018402 0.814402937889 -0.080199837685 -v -0.509780406952 0.792054593563 -0.109013736248 -v -0.489554882050 0.819736123085 -0.072930335999 -v -0.487940311432 0.816487431526 -0.072609961033 -v -0.489381313324 0.815415918827 -0.073478043079 -v -0.491574764252 0.818117618561 -0.074059128761 -v -0.491600751877 0.822124600410 -0.074348628521 -v -0.493067026138 0.820745110512 -0.075044274330 -v -0.485497951508 0.815698802471 -0.073549985886 -v -0.486885070801 0.821202099323 -0.073756098747 -v -0.488751888275 0.812952458858 -0.073907077312 -v -0.492937803268 0.816626131535 -0.074767291546 -v -0.494431257248 0.821339190006 -0.076288044453 -v -0.491227149963 0.824168622494 -0.075623750687 -v -0.527001857758 0.853478670120 -0.125246942043 -v -0.513896465302 0.857641816139 -0.126969873905 -v -0.517309665680 0.873407602310 -0.133468151093 -v -0.529544591904 0.871562659740 -0.133002638817 -v -0.510344266891 0.866749882698 -0.130797505379 -v -0.535715341568 0.858517348766 -0.139212429523 -v -0.535772323608 0.861216902733 -0.129334509373 -v -0.490445613861 0.890650033951 -0.100051939487 -v -0.488363265991 0.888513207436 -0.107455074787 -v -0.485354423523 0.880579829216 -0.108673691750 -v -0.485455274582 0.882985472679 -0.099698960781 -v -0.487403631210 0.872754931450 -0.105823457241 -v -0.488933801651 0.873876035213 -0.098851382732 -v -0.518436908722 0.863012790680 -0.108661413193 -v -0.512920618057 0.866162419319 -0.104191660881 -v -0.507155895233 0.865417718887 -0.113856613636 -v -0.510566711426 0.863865315914 -0.116527736187 -v -0.512574672699 0.881888926029 -0.117601990700 -v -0.519688844681 0.883390605450 -0.107507109642 -v -0.524630069733 0.880152225494 -0.113091707230 -v -0.515925884247 0.879324555397 -0.120808780193 -v -0.509762763977 0.871237039566 -0.122120618820 -v -0.506671428680 0.872891902924 -0.120059609413 -v -0.521101236343 0.874487102032 -0.101826131344 -v -0.524887323380 0.872092723846 -0.105790376663 -v -0.502747774124 0.870004713535 -0.100400567055 -v -0.497266054153 0.871715247631 -0.097897529602 -v -0.492583751678 0.869514763355 -0.108082056046 -v -0.498463630676 0.867662549019 -0.110751748085 -v -0.494890928268 0.888140499592 -0.110826432705 -v -0.499839544296 0.889504313469 -0.100029766560 -v -0.507523536682 0.887580394745 -0.102457940578 -v -0.502919435501 0.885920166969 -0.114045023918 -v -0.498455524445 0.875417351723 -0.118292808533 -v -0.491332054138 0.877597153187 -0.115070879459 -v -0.506424903870 0.879839777946 -0.096214175224 -v -0.503129482269 0.880639374256 -0.095109224319 -v -0.512672424316 0.862300992012 -0.120484471321 -v -0.513113737106 0.860535264015 -0.123115837574 -v -0.525039196014 0.856878221035 -0.118569016457 -v -0.519091129303 0.858681201935 -0.114477872849 -v -0.526840448380 0.879119575024 -0.120443284512 -v -0.530992031097 0.874435842037 -0.125046432018 -v -0.518256187439 0.875537931919 -0.128518223763 -v -0.517742633820 0.876998245716 -0.124922633171 -v -0.511662721634 0.868683815002 -0.127072453499 -v -0.511864900589 0.869614481926 -0.124864697456 -v -0.530849933624 0.860190629959 -0.111503541470 -v -0.533360242844 0.859168589115 -0.115616202354 -v -0.536691904068 0.865351617336 -0.116629421711 -v -0.534475564957 0.867561042309 -0.111754179001 -v -0.535916090012 0.871988415718 -0.118930697441 -v -0.533593416214 0.874997556210 -0.115182757378 -v -0.527114391327 0.863506555557 -0.108078002930 -v -0.529962301254 0.869924604893 -0.107841134071 -v -0.530357837677 0.875990808010 -0.111109972000 -v -0.503102540970 0.866510391235 -0.113218367100 -v -0.505452632904 0.866206705570 -0.104708135128 -v -0.513443470001 0.887060940266 -0.106990933418 -v -0.508520841599 0.883631944656 -0.116348564625 -v -0.503959178925 0.873957514763 -0.119046747684 -v -0.510499000549 0.870763242245 -0.097471833229 -v -0.514724016190 0.870366811752 -0.098390698433 -v -0.518878698349 0.876383900642 -0.097725093365 -v -0.514991760254 0.878054201603 -0.095596671104 -v -0.519540309906 0.882226943970 -0.100633978844 -v -0.515974521637 0.884334146976 -0.099541544914 -v -0.507736682892 0.872971475124 -0.096328496933 -v -0.510526895523 0.879325091839 -0.095016777515 -v -0.511901855469 0.884887933731 -0.097839653492 -v -0.535580873489 0.863515138626 -0.121753752232 -v -0.494115114212 0.883353888988 -0.090229034424 -v -0.494159221649 0.878465473652 -0.090765476227 -v -0.496655464172 0.878225266933 -0.091974556446 -v -0.497776508331 0.882385611534 -0.092055082321 -v -0.494970798492 0.887757301331 -0.091351509094 -v -0.497639894485 0.886616647243 -0.092495083809 -v -0.491739749908 0.876264393330 -0.093018054962 -v -0.489335536957 0.883648872375 -0.093107581139 -v -0.497393131256 0.875543773174 -0.093272686005 -v -0.500410795212 0.881527364254 -0.093731045723 -v -0.499048471451 0.888204634190 -0.094248950481 -v -0.492660522461 0.889721930027 -0.094091176987 -v -0.521483898163 0.842776119709 -0.155532121658 -v -0.518549919128 0.858851313591 -0.158480763435 -v -0.513115406036 0.815885305405 -0.150368809700 -v -0.514750003815 0.828490138054 -0.158624708652 -v -0.504255294800 0.803942263126 -0.149980843067 -v -0.471243858337 0.786971271038 -0.142925024033 -v -0.466823101044 0.792440652847 -0.134708881378 -v -0.454370021820 0.826037108898 -0.138828337193 -v -0.495823860168 0.816522121429 -0.171279489994 -v -0.490122318268 0.804616093636 -0.166800975800 -v -0.501922845840 0.864825129509 -0.167882800102 -v -0.488729238510 0.869901716709 -0.140693187714 -v -0.494021654129 0.873752593994 -0.152330935001 -v -0.487847566605 0.878740549088 -0.152684986591 -v -0.480398416519 0.872110724449 -0.138898909092 -v -0.463868141174 0.866027951241 -0.132292509079 -v -0.478146791458 0.862194061279 -0.133633494377 -v -0.463702440262 0.875368595123 -0.127856612206 -v -0.453201293945 0.882918894291 -0.131946742535 -v -0.446355819702 0.873552322388 -0.141134619713 -v -0.483682394028 0.883540391922 -0.145150899887 -v -0.476632833481 0.876343607903 -0.133325040340 -v -0.484167098999 0.901457369328 -0.093008697033 -v -0.485260963440 0.893595635891 -0.095105886459 -v -0.483138322830 0.889306485653 -0.131258606911 -v -0.477747440338 0.882396876812 -0.121179759502 -v -0.476070404053 0.880022823811 -0.127019524574 -v -0.481888771057 0.887317419052 -0.138192296028 -v -0.468255043030 0.884616315365 -0.116226017475 -v -0.464697837830 0.881538629532 -0.122920870781 -v -0.479435443878 0.900566041470 -0.136166751385 -v -0.477606296539 0.898043036461 -0.145556926727 -v -0.468045234680 0.902096092701 -0.133089959621 -v -0.465980529785 0.900569677353 -0.139554977417 -v -0.462095737457 0.895440816879 -0.121656596661 -v -0.457749605179 0.892096400261 -0.130192101002 -v -0.470758438110 0.897547125816 -0.155327796936 -v -0.466237306595 0.894115865231 -0.159044146538 -v -0.457171916962 0.892076790333 -0.153369426727 -v -0.461186885834 0.897225439548 -0.149793088436 -v -0.450381755829 0.887220442295 -0.144794583321 -v -0.453635215759 0.891810834408 -0.140942871571 -v -0.480525970459 0.891566216946 -0.156198561192 -v -0.471389532089 0.900366127491 -0.149930894375 -v -0.463864564896 0.900258302689 -0.145290255547 -v -0.457410335541 0.896189451218 -0.139161109924 -v -0.469795703888 0.888008773327 -0.165396869183 -v -0.452988624573 0.883881807327 -0.157703280449 -v -0.491194486618 0.891927838326 -0.114754319191 -v -0.486534357071 0.885707378387 -0.106756806374 -v -0.479014396667 0.889679074287 -0.100693225861 -v -0.489616870880 0.903515696526 -0.117441117764 -v -0.487568616867 0.908877730370 -0.099188625813 -v -0.490461826324 0.908248662949 -0.103589415550 -v -0.486899375916 0.906276345253 -0.106632411480 -v -0.481706142426 0.906772732735 -0.103209018707 -v -0.484368562698 0.908297657967 -0.096467256546 -v -0.480246782303 0.906286239624 -0.099046111107 -v -0.472922801971 0.901211500168 -0.101609766483 -v -0.481368541718 0.883780658245 -0.114653468132 -v -0.486560106277 0.890575349331 -0.123603880405 -v -0.473132371902 0.886498153210 -0.109143614769 -v -0.485536098480 0.901406943798 -0.128164887428 -v -0.480238437653 0.907655954361 -0.126654922962 -v -0.476631164551 0.906661093235 -0.131565809250 -v -0.469987869263 0.906214416027 -0.128223299980 -v -0.473164319992 0.908138692379 -0.122179150581 -v -0.465127468109 0.902755975723 -0.122632205486 -v -0.467630147934 0.903878688812 -0.116376280785 -v -0.467125654221 0.895816802979 -0.111212134361 -v -0.482595682144 0.906823217869 -0.120295464993 -v -0.477108955383 0.906865596771 -0.115525126457 -v -0.472041606903 0.904061913490 -0.110747873783 -v -0.477966785431 0.905460000038 -0.110133111477 -v -0.493883132935 0.907011985779 -0.104439914227 -v -0.491958379745 0.907425343990 -0.096913754940 -v -0.489140272141 0.905874848366 -0.111298918724 -v -0.479014158249 0.906400084496 -0.107349276543 -v -0.476996898651 0.905042469501 -0.099129199982 -v -0.484606742859 0.906890451908 -0.093938052654 -v -0.491485834122 0.862887859344 -0.133998870850 -v -0.478189468384 0.851019322872 -0.133088052273 -v -0.436126470566 0.836560726166 -0.156523883343 -v -0.442461729050 0.835687577724 -0.147658109665 -v -0.441426515579 0.845188915730 -0.148403167725 -v -0.437577724457 0.854609191418 -0.159161508083 -v -0.454926490784 0.834215760231 -0.140588104725 -v -0.462005615234 0.792235910892 -0.166105270386 -v -0.456657409668 0.791631460190 -0.155758082867 -v -0.483422994614 0.867121934891 -0.181242167950 -v -0.468945980072 0.855017066002 -0.193509101868 -v -0.462913751602 0.870561540127 -0.183496356010 -v -0.491529464722 0.874752402306 -0.165132880211 -v -0.487841367722 0.878770470619 -0.162872314453 -v -0.468900203705 0.836523592472 -0.196922063828 -v -0.479998111725 0.818049311638 -0.186679184437 -v -0.499879121780 0.870677828789 -0.139983534813 -v -0.504315376282 0.871536970139 -0.151580274105 -v -0.454349756241 0.840840578079 -0.139953255653 -v -0.480731725693 0.877718329430 -0.174314856529 -v -0.464861869812 0.879262804985 -0.174113869667 -v -0.446362018585 0.868979811668 -0.170653223991 -v -0.449486732483 0.874917387962 -0.165948867798 -v -0.440111875534 0.863788783550 -0.154974460602 -v -0.441115617752 0.851662218571 -0.146024465561 -v -0.454034090042 0.845933496952 -0.138140499592 -v -0.456007719040 0.854448795319 -0.133829414845 -v -0.469702482224 0.854526937008 -0.132327675819 -v -0.444778442383 0.858243584633 -0.139310777187 -v -0.481812000275 0.882776081562 -0.167174339294 -v -0.484746932983 0.884817302227 -0.160003304482 -v -0.442131519318 0.811856746674 -0.148359179497 -v -0.436752319336 0.819676995277 -0.155522286892 -v -0.452622652054 0.797102570534 -0.146845281124 -v -0.443253278732 0.825838088989 -0.145939826965 -v -0.444576740265 0.818954288960 -0.143559813499 -v -0.433326005936 0.807289421558 -0.173588871956 -v -0.441542625427 0.803750753403 -0.187457442284 -v -0.430660247803 0.819438576698 -0.164661586285 -v -0.430188417435 0.836086511612 -0.162424981594 -v -0.432472229004 0.853630959988 -0.163688778877 -v -0.439163208008 0.866289258003 -0.172386646271 -v -0.448523044586 0.868499755859 -0.185838401318 -v -0.454426765442 0.857727229595 -0.197017431259 -v -0.454931259155 0.839325785637 -0.202164053917 -v -0.465736627579 0.819396853447 -0.194947898388 -v -0.450971364975 0.817552566528 -0.198323130608 -v -0.456123352051 0.800768375397 -0.183851480484 -v -0.468741416931 0.797707617283 -0.175054907799 -v -0.425196409225 0.807017326355 -0.182153224945 -v -0.429808616638 0.808018207550 -0.197672486305 -v -0.423538684845 0.817356407642 -0.170044660568 -v -0.423536777496 0.833735704422 -0.165797650814 -v -0.425173997879 0.851301014423 -0.165531635284 -v -0.430070877075 0.863844513893 -0.173078656197 -v -0.436095714569 0.867850482464 -0.187229573727 -v -0.440057992935 0.861827850342 -0.201652050018 -v -0.439754009247 0.844789445400 -0.210174918175 -v -0.435653448105 0.823165953159 -0.207971274853 -v -0.419240474701 0.811311781406 -0.205702304840 -v -0.414561510086 0.807009160519 -0.189636647701 -v -0.403192281723 0.809433162212 -0.199932932854 -v -0.409330129623 0.817718327045 -0.216658353806 -v -0.413339853287 0.815283596516 -0.174596428871 -v -0.399246454239 0.813498079777 -0.181282222271 -v -0.413203001022 0.829875349998 -0.168070018291 -v -0.397543668747 0.824719786644 -0.171226143837 -v -0.395318984985 0.834834337234 -0.168890595436 -v -0.408400058746 0.846953988075 -0.167888164520 -v -0.413450241089 0.863622665405 -0.173395872116 -v -0.419510841370 0.872239351273 -0.188069701195 -v -0.424756288528 0.871203422546 -0.206108510494 -v -0.424194335938 0.854732930660 -0.219132661819 -v -0.414286136627 0.851325511932 -0.227738976479 -v -0.424114227295 0.828399658203 -0.215525388718 -v -0.413206815720 0.834980130196 -0.225028336048 -v -0.474735736847 0.806489527225 -0.181779563427 -v -0.461838483810 0.807741761208 -0.190207779408 -v -0.450213432312 0.803499877453 -0.189132690430 -v -0.453882694244 0.808152139187 -0.192983090878 -v -0.063398599625 0.425415545702 -0.004801809788 -v -0.057441711426 0.421231210232 0.011059165001 -v -0.042950868607 0.417842894793 0.021519958973 -v 0.144121408463 0.511780261993 0.077085554600 -v 0.108297348022 0.528908789158 0.076607823372 -v 0.103316783905 0.511069953442 0.013130068779 -v 0.120876550674 0.499709635973 0.015783727169 -v 0.143322706223 0.510246276855 0.023608624935 -v 0.161252737045 0.523530781269 0.064749538898 -v 0.152065515518 0.501725971699 -0.009824156761 -v 0.140231609344 0.498346298933 -0.030532300472 -v 0.192918300629 0.507425546646 -0.030843675137 -v 0.185611486435 0.508959054947 -0.011636078358 -v 0.187336921692 0.531630814075 -0.041304111481 -v 0.124450206757 0.523272991180 -0.047710359097 -v 0.227248430252 0.552403509617 -0.004147112370 -v 0.228659629822 0.532396197319 -0.002932310104 -v 0.227637529373 0.592922449112 0.034270524979 -v 0.233801364899 0.565752506256 0.035560011864 -v 0.223552703857 0.587897717953 -0.008055388927 -v 0.221391916275 0.630149424076 0.032777488232 -v 0.188503026962 0.624325811863 0.092208683491 -v 0.197622060776 0.591138243675 0.090726375580 -v 0.214549303055 0.686934411526 0.045682489872 -v 0.187195301056 0.673267960548 0.099526941776 -v 0.216737031937 0.692575335503 -0.008495330811 -v 0.199777126312 0.701083362103 -0.008754312992 -v 0.194094419479 0.686676740646 0.034240126610 -v 0.220711708069 0.636359512806 -0.020351350307 -v 0.182755708694 0.725424706936 -0.089372277260 -v 0.179335832596 0.729352295399 -0.071519851685 -v 0.187209367752 0.650559663773 -0.072877883911 -v 0.166259288788 0.675132751465 0.078442573547 -v 0.195732593536 0.668351173401 0.035658538342 -v 0.165970325470 0.662057161331 0.079006195068 -v 0.184274196625 0.697052001953 -0.025637030602 -v 0.136685848236 0.621061325073 0.124828457832 -v 0.146819353104 0.581296682358 0.115078270435 -v 0.209793090820 0.565983176231 0.086855173111 -v 0.165661096573 0.548517227173 0.104174733162 -v 0.134027719498 0.671311855316 0.129685342312 -v 0.078870058060 0.624179244041 0.127473473549 -v 0.088960170746 0.573084473610 0.105961620808 -v 0.077410221100 0.682400047779 0.141914546490 -v 0.184307813644 0.588923692703 -0.058013796806 -v 0.129453897476 0.595893144608 -0.086390793324 -v 0.133975744247 0.663929998875 -0.106234252453 -v 0.236451148987 0.552949547768 0.037623882294 -v 0.224511861801 0.541902184486 0.036363959312 -v 0.211948394775 0.525437772274 0.006383121014 -v 0.214318037033 0.545253038406 0.069983601570 -v 0.212549924850 0.552964806557 0.068517923355 -v 0.224463939667 0.549749970436 0.033728003502 -v 0.218957901001 0.557131946087 0.083203673363 -v 0.187869310379 0.532874941826 0.092133939266 -v 0.187714338303 0.534057557583 0.080063939095 -v 0.181240797043 0.545281291008 0.081068098545 -v 0.146420955658 0.531102359295 0.067861676216 -v 0.212937355042 0.534900724888 0.000919044018 -v 0.184135675430 0.516894340515 -0.018340229988 -v 0.071259021759 0.544855475426 -0.057795166969 -v 0.062549352646 0.523616433144 0.002657234669 -v 0.072495937347 0.605195105076 -0.099032998085 -v 0.012754201889 0.670661449432 -0.129763662815 -v 0.074255228043 0.671743631363 -0.122924923897 -v 0.016004562378 0.604284882545 -0.108093738556 -v -0.047175407410 0.665716767311 -0.120963096619 -v -0.047187089920 0.735366821289 -0.127462327480 -v 0.014084577560 0.746303260326 -0.145008087158 -v -0.093496322632 0.661609470844 -0.084233760834 -v -0.096379756927 0.725130677223 -0.084452211857 -v -0.035370826721 0.739451408386 -0.115991532803 -v 0.016326665878 0.748082160950 -0.129412829876 -v -0.076249361038 0.729390442371 -0.078382790089 -v -0.043362140656 0.605586290359 -0.104780077934 -v -0.089107990265 0.608498692513 -0.073513865471 -v -0.114396095276 0.659402668476 -0.028737843037 -v -0.114691495895 0.720096588135 -0.025828123093 -v -0.112749338150 0.613461971283 -0.024391472340 -v 0.026057243347 0.539770305157 -0.068712770939 -v -0.036364793777 0.558640837669 -0.091128528118 -v 0.081735372543 0.748860776424 -0.142071723938 -v 0.138632535934 0.742601990700 -0.123913228512 -v 0.074531555176 0.752696514130 -0.124717712402 -v 0.130490541458 0.744501113892 -0.108744025230 -v 0.031629323959 0.521139383316 -0.005045592785 -v 0.039030313492 0.551695644855 0.056075632572 -v -0.001458644867 0.553142666817 0.050433158875 -v 0.022727251053 0.514308512211 -0.007078170776 -v 0.018694400787 0.521275639534 -0.064219474792 -v -0.013375759125 0.545891344547 0.025897085667 -v 0.010625362396 0.528762698174 -0.008753895760 -v -0.013785123825 0.537784159184 0.044802665710 -v -0.003431797028 0.556365251541 0.031631588936 -v 0.021438360214 0.537024855614 -0.007674217224 -v -0.044837236404 0.555213034153 0.041083216667 -v -0.037632226944 0.567453145981 0.046529829502 -v -0.051511764526 0.550408124924 0.056568264961 -v -0.049501657486 0.569334208965 0.059367895126 -v -0.012590885162 0.593995332718 0.081816494465 -v -0.056488513947 0.606606721878 0.067150175571 -v 0.028929233551 0.585341632366 0.093791067600 -v 0.008466243744 0.527554392815 -0.046013593674 -v 0.015324592590 0.539409756660 -0.046251296997 -v -0.025128364563 0.548998892307 -0.059863686562 -v -0.028495788574 0.536334693432 -0.059524655342 -v -0.034542560577 0.529292702675 -0.083323836327 -v 0.145991802216 0.508340239525 -0.014416158199 -v 0.131390333176 0.516479372978 0.021855235100 -v 0.026699304581 0.634563446045 0.117274522781 -v -0.020232677460 0.642315804958 0.100721597672 -v -0.026278018951 0.702590823174 0.111697435379 -v -0.068937778473 0.706630170345 0.078983545303 -v -0.064911603928 0.651495337486 0.071269571781 -v -0.015012741089 0.704616785049 0.095527708530 -v -0.054348468781 0.709064245224 0.065617680550 -v 0.026480436325 0.697825789452 0.111364364624 -v 0.025828838348 0.691604137421 0.109849214554 -v -0.014955997467 0.698180437088 0.094332814217 -v 0.071362495422 0.688030838966 0.115027904510 -v 0.069956779480 0.677348077297 0.113705933094 -v 0.121142864227 0.674957156181 0.104752779007 -v 0.119457006454 0.664903819561 0.103474259377 -v 0.021538257599 0.694689214230 0.131033778191 -v -0.053185701370 0.703009426594 0.064263105392 -v -0.084846496582 0.713242530823 0.025584518909 -v -0.102933645248 0.712332844734 0.035015225410 -v -0.095738649368 0.717043399811 -0.024513781071 -v -0.100670337677 0.658007621765 0.027561366558 -v -0.096192121506 0.614809751511 0.028727471828 -v -0.093750953674 0.575753808022 0.032837092876 -v -0.107775926590 0.575954735279 -0.015404582024 -v -0.076748132706 0.721031785011 -0.079203486443 -v -0.095304489136 0.708831727505 -0.024215877056 -v -0.035797357559 0.727729797363 -0.117839038372 -v 0.016345024109 0.738378584385 -0.135166823864 -v -0.084352016449 0.707949042320 0.025263905525 -v -0.074731111526 0.537435054779 -0.053000748158 -v -0.060385465622 0.543911695480 -0.041588306427 -v -0.085829257965 0.563987195492 -0.064947962761 -v -0.100173950195 0.556139528751 -0.010330975056 -v -0.076323747635 0.554702341557 -0.007672071457 -v -0.072488784790 0.558982849121 0.027619063854 -v -0.093396186829 0.559440493584 0.031786739826 -v -0.076028823853 0.564334809780 -0.006530702114 -v -0.068377733231 0.567896723747 0.030334770679 -v -0.061259269714 0.555227398872 -0.041971862316 -v 0.073889255524 0.745370209217 -0.123060703278 -v 0.128804206848 0.738630473614 -0.107519149780 -v 0.170720815659 0.713177621365 -0.074004113674 -v 0.014654159546 0.516860008240 -0.008520841599 -v 0.013562679291 0.518869280815 -0.057164371014 -v -0.016606330872 0.536776065826 0.037213981152 -v -0.049576044083 0.547559082508 0.050266206264 -v -0.032561779022 0.526100814342 -0.075417101383 -v -0.081507205963 0.541957616806 -0.059140264988 -v -0.090506315231 0.551226019859 -0.008307635784 -v -0.086373806000 0.554394304752 0.030092954636 -v 0.154227733612 0.513570308685 0.073047876358 -v 0.132213592529 0.500396609306 0.018915951252 -v 0.146581411362 0.496055126190 -0.020876288414 -v 0.191246986389 0.503775417805 -0.022085011005 -v 0.222658157349 0.525225639343 0.000867187977 -v 0.230988979340 0.543813467026 0.037524938583 -v 0.219683170319 0.549111723900 0.076172590256 -v 0.182136535645 0.536433517933 0.100669324398 -v 0.046369791031 0.719563126564 0.135822176933 -v 0.042241811752 0.721289813519 0.120435237885 -v -0.003053903580 0.735716164112 0.113252401352 -v -0.001557350159 0.734151005745 0.128390729427 -v 0.048724651337 0.693842947483 0.145092248917 -v 0.088016271591 0.680101275444 0.143559694290 -v 0.088751792908 0.712511181831 0.134645402431 -v -0.005078792572 0.687308907509 0.133116126060 -v 0.005204916000 0.678244352341 0.114929139614 -v 0.045290470123 0.679847002029 0.130735397339 -v -0.046638011932 0.679906129837 0.107797205448 -v -0.036025047302 0.673013865948 0.093445062637 -v -0.047019481659 0.748887658119 0.117437124252 -v -0.043670654297 0.749698400497 0.105795860291 -v -0.083326578140 0.758892953396 0.081229805946 -v -0.092339754105 0.758642017841 0.089627742767 -v -0.084635972977 0.674705922604 0.074784040451 -v -0.118670225143 0.769500553608 0.044728934765 -v -0.110567569733 0.675210475922 0.032601892948 -v -0.073696851730 0.668749451637 0.062748491764 -v -0.096913099289 0.669786691666 0.024165332317 -v -0.136384248734 0.778806865215 -0.006764948368 -v -0.125165224075 0.685560584068 -0.010455846786 -v -0.128728628159 0.779637575150 -0.004121005535 -v -0.123834848404 0.788750588894 -0.051987946033 -v -0.134121894836 0.787187457085 -0.055941343307 -v -0.112501621246 0.770408868790 0.043770790100 -v -0.125114917755 0.696647584438 -0.048348546028 -v 0.088402271271 0.679888308048 0.132619023323 -v 0.127837419510 0.673484921455 0.119722843170 -v 0.132176876068 0.673645257950 0.122276902199 -v 0.162997484207 0.673051953316 0.104590058327 -v 0.168073177338 0.673548042774 0.111319541931 -v 0.194190502167 0.675714135170 0.075663864613 -v 0.201750755310 0.681370317936 0.081253111362 -v 0.160883426666 0.700167834759 0.107342004776 -v 0.126739978790 0.702453672886 0.123044371605 -v 0.196573019028 0.701241195202 0.081610202789 -v 0.218851804733 0.692234337330 0.023782670498 -v 0.218031644821 0.722697138786 0.022761344910 -v 0.211975812912 0.697270512581 -0.019005358219 -v 0.210978746414 0.684415698051 0.022575974464 -v 0.206652164459 0.696023881435 -0.015635728836 -v 0.217346906662 0.742312967777 -0.024935722351 -v 0.212719678879 0.723642468452 0.022974371910 -v 0.189186811447 0.703710496426 0.071625590324 -v 0.151532173157 0.701240718365 0.096213757992 -v 0.119452953339 0.703918457031 0.109877347946 -v 0.084906578064 0.714441061020 0.121117770672 -v -0.109468936920 0.675620913506 -0.013445198536 -v -0.102214574814 0.688136637211 -0.049785196781 -v -0.112360954285 0.709139764309 -0.096938610077 -v -0.090363025665 0.703007459641 -0.084746301174 -v -0.079424858093 0.723271906376 -0.131462454796 -v -0.063344240189 0.716237366199 -0.108357429504 -v -0.031183481216 0.732107281685 -0.152232766151 -v -0.028877019882 0.723726272583 -0.136132776737 -v 0.020634174347 0.744759976864 -0.156958043575 -v 0.014694929123 0.733487784863 -0.142659604549 -v 0.069174766541 0.743137419224 -0.152602612972 -v 0.061331748962 0.735695242882 -0.140975654125 -v 0.110146522522 0.735085666180 -0.144149661064 -v 0.103978872299 0.731820046902 -0.132717370987 -v 0.077984094620 0.798910439014 -0.141461968422 -v 0.119859457016 0.790866315365 -0.137311816216 -v 0.074426889420 0.802294850349 -0.135301411152 -v 0.116223812103 0.793579339981 -0.130329132080 -v 0.161331653595 0.781449317932 -0.127611219883 -v 0.152729034424 0.728924751282 -0.130435585976 -v 0.157443046570 0.783650875092 -0.121536970139 -v 0.016957759857 0.807849287987 -0.168082594872 -v 0.013961553574 0.810384929180 -0.162219345570 -v 0.142093658447 0.720312654972 -0.115514278412 -v 0.183982133865 0.712360918522 -0.110098004341 -v 0.172728776932 0.703007578850 -0.095244884491 -v 0.204134464264 0.694908976555 -0.070124804974 -v 0.194279670715 0.698028326035 -0.065750300884 -v 0.193339109421 0.770651638508 -0.104809045792 -v 0.212558984756 0.760952532291 -0.071953296661 -v -0.037868022919 0.804407358170 -0.172462224960 -v -0.085999965668 0.798096537590 -0.150223016739 -v -0.079912900925 0.801035761833 -0.145433545113 -v -0.039311408997 0.806997716427 -0.165538191795 -v -0.114581584930 0.791720926762 -0.122836530209 -v -0.107570171356 0.793677270412 -0.103108108044 -v 0.188315153122 0.773532092571 -0.101306200027 -v 0.206870555878 0.763117253780 -0.069325089455 -v 0.211477041245 0.744883477688 -0.024265110493 -v 0.042490959167 0.714094579220 0.143952012062 -v 0.087229490280 0.708064198494 0.141458809376 -v -0.003680706024 0.725511908531 0.134795546532 -v -0.046833276749 0.736211478710 0.117370963097 -v -0.090959787369 0.743731617928 0.091760039330 -v -0.118830442429 0.753062367439 0.045624971390 -v -0.137614011765 0.761805653572 -0.004316985607 -v -0.138007164001 0.771108925343 -0.055927753448 -v 0.164827346802 0.696167469025 0.115181803703 -v 0.129087686539 0.698045313358 0.129442453384 -v 0.202077627182 0.697257161140 0.083701729774 -v 0.223474979401 0.716901838779 0.021489858627 -v 0.219713687897 0.734807431698 -0.024288654327 -v 0.116148948669 0.780359745026 -0.140539228916 -v 0.075758695602 0.788216233253 -0.143896400928 -v 0.158277511597 0.770472466946 -0.130922555923 -v 0.016254663467 0.794478595257 -0.169810354710 -v 0.214664697647 0.750561535358 -0.070789575577 -v 0.193098306656 0.760572731495 -0.107543230057 -v -0.038340330124 0.789423942566 -0.169972777367 -v -0.089158058167 0.786127924919 -0.148080706596 -v -0.117129564285 0.774500608444 -0.117468833923 -v 0.042947053909 0.680678486824 0.141971707344 -v 0.088331699371 0.690217196941 0.148079514503 -v 0.003902912140 0.677657604218 0.129070520401 -v -0.041256189346 0.671179771423 0.103981673717 -v -0.082117557526 0.666609048843 0.067920327187 -v -0.102604150772 0.668240845203 0.030974626541 -v -0.117699861526 0.673860788345 -0.010850131512 -v -0.117666482925 0.687893807888 -0.057794094086 -v 0.130661725998 0.680747628212 0.129106581211 -v 0.167012929916 0.680982887745 0.119741201401 -v 0.203903198242 0.687600016594 0.084002554417 -v 0.223474740982 0.696553647518 0.024260759354 -v 0.218124628067 0.702928543091 -0.021467387676 -v -0.105328559875 0.700765669346 -0.090611577034 -v -0.074398279190 0.714329957962 -0.125499725342 -v -0.027653694153 0.722540020943 -0.144668102264 -v 0.022192239761 0.732428669930 -0.150135040283 -v 0.065891504288 0.733176171780 -0.148831009865 -v 0.109828948975 0.726947844028 -0.140057563782 -v 0.145726919174 0.717888236046 -0.127151072025 -v 0.178150177002 0.702635169029 -0.105906605721 -v 0.208762645721 0.699994683266 -0.072454273701 -v 0.474818944931 0.829751849174 0.080761909485 -v 0.447371721268 0.827144682407 0.082335829735 -v 0.436402082443 0.801355779171 0.076726853848 -v 0.437137126923 0.782028198242 0.062518715858 -v 0.449114084244 0.774479269981 0.043720185757 -v 0.466235399246 0.780543923378 0.026742458344 -v 0.482433199883 0.796503424644 0.020002663136 -v 0.497534036636 0.817176282406 0.030400276184 -v 0.490592956543 0.825681328773 0.062343478203 -v 0.416083812714 0.856479287148 0.063238620758 -v 0.397818565369 0.822540879250 0.058679580688 -v 0.394402980804 0.790257930756 0.037392973900 -v 0.409307241440 0.778394103050 -0.000016272068 -v 0.435056686401 0.793707430363 -0.030144393444 -v 0.461454987526 0.821685552597 -0.037738919258 -v 0.478555798531 0.853732824326 -0.014944911003 -v 0.468921065331 0.879577338696 0.027264356613 -v 0.445375442505 0.880728542805 0.053184807301 -v 0.466699838638 0.886996567249 -0.046786844730 -v 0.444378852844 0.847988784313 -0.076629161835 -v 0.406841993332 0.809575557709 -0.076438903809 -v 0.371905088425 0.787828385830 -0.042897462845 -v 0.357719540596 0.804510772228 0.005992591381 -v 0.362805366516 0.843034982681 0.036714971066 -v 0.391008257866 0.879716992378 0.041662096977 -v 0.425895571709 0.907973527908 0.033029556274 -v 0.459516048431 0.908767938614 0.004759609699 -v 0.474973201752 0.818710982800 0.074997305870 -v 0.461808919907 0.809670209885 0.079118371010 -v 0.456480264664 0.798067808151 0.076258957386 -v 0.455782771111 0.786437451839 0.067734181881 -v 0.461717367172 0.781551599503 0.053859353065 -v 0.471699953079 0.783859133720 0.044202029705 -v 0.482946038246 0.793918967247 0.038748741150 -v 0.489899158478 0.805950462818 0.046118319035 -v 0.486937761307 0.816467463970 0.063097000122 -v 0.441228270531 0.887848794460 -0.051129221916 -v 0.419926643372 0.855345606804 -0.080606341362 -v 0.393717527390 0.828494906425 -0.076067388058 -v 0.370517253876 0.811828851700 -0.047418713570 -v 0.361316323280 0.823268711567 -0.005200862885 -v 0.369323611259 0.850542843342 0.018845379353 -v 0.388053059578 0.882371962070 0.021297752857 -v 0.414115905762 0.906186938286 0.015702068806 -v 0.435689449310 0.907421112061 -0.006201267242 -v 0.457625389099 0.893979549408 -0.053317129612 -v 0.432103991508 0.851549267769 -0.084864497185 -v 0.397927403450 0.816684424877 -0.084416866302 -v 0.365631699562 0.796897709370 -0.048830389977 -v 0.351232051849 0.811093628407 -0.000877141953 -v 0.357836484909 0.846324503422 0.031680703163 -v 0.384871840477 0.884247660637 0.031613469124 -v 0.419532299042 0.913497269154 0.023943066597 -v 0.448849439621 0.918320059776 -0.001152694225 -v 0.468704581261 0.841255605221 0.076112985611 -v 0.455493927002 0.817524373531 0.086187958717 -v 0.447009682655 0.798206448555 0.080420792103 -v 0.444962501526 0.781422913074 0.068031430244 -v 0.455179333687 0.774285674095 0.049756467342 -v 0.471616744995 0.778853714466 0.036065757275 -v 0.486483812332 0.790827751160 0.029048442841 -v 0.496397018433 0.808861613274 0.039405584335 -v 0.487864613533 0.835947692394 0.054146111012 -v 0.153582811356 1.146741271019 -0.023735761642 -v 0.146487712860 1.131359100342 -0.001364409924 -v 0.166741371155 1.124185800552 0.018122673035 -v 0.193145751953 1.149736404419 -0.011541187763 -v 0.155054807663 1.159122467041 -0.049359142780 -v 0.204403400421 1.165102362633 -0.054153501987 -v 0.122463703156 1.154211997986 -0.012223064899 -v 0.122359752655 1.165279030800 -0.031655430794 -v 0.111874103546 1.145521163940 -0.014831602573 -v 0.108873367310 1.130098581314 0.001646161079 -v 0.118844747543 1.140482068062 0.008030056953 -v 0.112039089203 1.157532334328 -0.030208945274 -v 0.117567777634 1.174703359604 -0.051419258118 -v 0.107257843018 1.165954709053 -0.045900940895 -v 0.104554653168 1.179394125938 -0.069682717323 -v 0.096223115921 1.169898509979 -0.061130762100 -v 0.078921318054 1.169709205627 -0.074586033821 -v 0.084147691727 1.179101228714 -0.084845960140 -v 0.060791492462 1.176911592484 -0.095880866051 -v 0.057977199554 1.167713642120 -0.084590315819 -v 0.036164999008 1.174309372902 -0.102829873562 -v 0.034911155701 1.165031433105 -0.090920388699 -v 0.010727643967 1.171227931976 -0.105658352375 -v 0.011106491089 1.162466049194 -0.093655586243 -v 0.043484210968 1.148231267929 -0.125569045544 -v 0.015298843384 1.144926548004 -0.130406677723 -v 0.071163892746 1.151486396790 -0.119160473347 -v 0.099195003510 1.154577970505 -0.109847664833 -v 0.129453897476 1.156361937523 -0.098611533642 -v 0.148039340973 1.161061882973 -0.075409770012 -v 0.194738388062 1.157809615135 -0.093097984791 -v 0.166496038437 1.133596062660 -0.120083212852 -v 0.241148471832 1.147128343582 -0.110760331154 -v 0.205090999603 1.108767747879 -0.138120114803 -v 0.296813964844 1.119970321655 -0.113083600998 -v 0.248097181320 1.079767704010 -0.139568984509 -v 0.314052343369 1.139110684395 -0.062264442444 -v 0.255768775940 1.160152196884 -0.056023120880 -v 0.125734090805 1.143847703934 -0.100883603096 -v 0.157966852188 1.121018052101 -0.115687131882 -v 0.195927619934 1.096690416336 -0.130942702293 -v 0.102578163147 1.110636472702 0.020105242729 -v 0.110338211060 1.120410561562 0.029318034649 -v 0.135500192642 1.112133264542 0.027387619019 -v 0.121419668198 1.085264921188 0.053761780262 -v 0.096231937408 1.096061944962 0.048072874546 -v 0.121106386185 1.072343826294 0.043408513069 -v 0.135016918182 1.098165869713 0.015953302383 -v 0.146015644073 1.118869185448 -0.003721117973 -v 0.161901235580 1.110084056854 0.008137762547 -v 0.196237564087 1.113056898117 0.041670143604 -v 0.231638908386 1.147067785263 0.005591809750 -v 0.187341213226 1.099266767502 0.029134333134 -v 0.101557731628 1.063514590263 0.082820892334 -v 0.102081298828 1.052370190620 0.074180006981 -v 0.079520702362 1.077967882156 0.068052530289 -v 0.091128826141 1.087718725204 0.037324488163 -v 0.076925516129 1.069971561432 0.055388748646 -v 0.073636531830 1.045414447784 0.104310035706 -v 0.060042619705 1.063298940659 0.085158526897 -v 0.060029506683 1.056650996208 0.070179820061 -v 0.076045036316 1.035140991211 0.095563471317 -v 0.043664932251 1.024097084999 0.109484314919 -v 0.049406528473 1.016946673393 0.102544367313 -v -0.092731475830 1.104547619820 -0.051223099232 -v -0.113844156265 1.093252182007 -0.044122219086 -v -0.106844902039 1.081219434738 -0.051757276058 -v -0.089383363724 1.092386722565 -0.054474711418 -v -0.142742395401 1.079518079758 -0.034633517265 -v -0.133426666260 1.067001342773 -0.045482337475 -v -0.184802770615 1.058834671974 -0.039483308792 -v -0.173303604126 1.048474073410 -0.050417959690 -v -0.212892293930 1.028311491013 -0.072805166245 -v -0.225590705872 1.036243677139 -0.063136100769 -v -0.252138376236 1.016947031021 -0.094444274902 -v -0.238336086273 1.010701894760 -0.105198681355 -v -0.261181116104 1.009418725967 -0.139634251595 -v -0.249701499939 1.001395821571 -0.147045373917 -v -0.236275196075 1.050160169601 -0.116216957569 -v -0.220269918442 1.051454544067 -0.180383503437 -v -0.255511283875 1.006905913353 -0.191586971283 -v -0.200874567032 1.088705539703 -0.091722786427 -v -0.183070182800 1.090037822723 -0.163334965706 -v -0.194282293320 1.042732954025 -0.226393222809 -v -0.229079723358 1.004474639893 -0.227474808693 -v -0.159255266190 1.014430284500 -0.241221547127 -v -0.196877479553 1.004197716713 -0.243847310543 -v -0.161328792572 1.084260106087 -0.219420254230 -v -0.119579792023 1.036281943321 -0.230625808239 -v -0.244533061981 0.997296631336 -0.191611886024 -v -0.223453521729 0.995631098747 -0.221788883209 -v -0.153653621674 1.110693693161 -0.078140616417 -v -0.146693229675 1.116624593735 -0.140892207623 -v -0.119409322739 1.117959380150 -0.075315594673 -v -0.110646963120 1.127498865128 -0.118036568165 -v -0.091603517532 1.119367361069 -0.072633266449 -v -0.084799051285 1.131223559380 -0.097159922123 -v -0.115998268127 1.108692765236 -0.190854609013 -v -0.089858293533 1.122802376747 -0.153536438942 -v -0.082515239716 1.073935151100 -0.031460642815 -v -0.089494943619 1.087044239044 -0.020607233047 -v -0.073734283447 1.050684690475 0.000546932220 -v -0.080284357071 1.062893509865 0.010187029839 -v -0.068449974060 1.044618606567 0.047623455524 -v -0.062891244888 1.033905506134 0.039388358593 -v -0.047109127045 1.031812429428 0.080443978310 -v -0.031396150589 1.052964568138 0.067215263844 -v -0.045845985413 1.064046025276 0.042960286140 -v -0.017226934433 1.017256498337 0.097646474838 -v -0.012994289398 1.040772914886 0.082050144672 -v -0.024281263351 1.047124743462 0.053621292114 -v -0.036925554276 1.057082414627 0.032743573189 -v -0.047004699707 1.072139143944 0.009349822998 -v -0.057619094849 1.078983664513 0.016488373280 -v -0.069085836411 1.100236415863 -0.007317364216 -v -0.056204557419 1.092651844025 -0.012012958527 -v -0.059460639954 1.110859036446 -0.031832396984 -v -0.073314666748 1.118509888649 -0.030457615852 -v -0.059396266937 1.125840187073 -0.048513889313 -v -0.072108268738 1.131877303123 -0.050584912300 -v -0.009020328522 1.040055990219 0.067265510559 -v -0.008279085159 1.048065781593 0.086258769035 -v -0.001708984375 1.044293761253 0.063691854477 -v -0.011102437973 1.013419628143 0.107842206955 -v 0.012402534485 1.014568805695 0.111340701580 -v -0.007885932922 1.000435948372 0.096706688404 -v 0.016772985458 0.998014330864 0.098615229130 -v -0.018301010132 1.009325742722 0.089410901070 -v 0.012949943542 1.049798607826 0.088101744652 -v 0.018573284149 1.045927882195 0.061640202999 -v 0.036473512650 1.048622608185 0.071156620979 -v 0.042591094971 1.045850872993 0.077319562435 -v 0.032891273499 1.053035736084 0.094713449478 -v -0.043589353561 1.021625638008 0.071766734123 -v -0.062194108963 1.102410316467 -0.172938823700 -v -0.045767784119 1.134480834007 -0.135547220707 -v -0.039524316788 1.122236609459 -0.136410057545 -v -0.056471109390 1.089962005615 -0.166750788689 -v -0.069718599319 1.135420084000 -0.119947195053 -v -0.057276010513 1.154541730881 -0.085973024368 -v -0.039468765259 1.162768602371 -0.098182201385 -v -0.047900676727 1.148107647896 -0.076298177242 -v -0.032938718796 1.155064463615 -0.086415827274 -v -0.067025423050 1.143415451050 -0.068977236748 -v -0.056419372559 1.138137459755 -0.063298463821 -v -0.015136957169 1.167805433273 -0.104464530945 -v -0.012070894241 1.159346342087 -0.092343151569 -v -0.014311790466 1.140978336334 -0.133057236671 -v -0.011669158936 1.129227042198 -0.125870227814 -v 0.016017198563 1.133123755455 -0.120839774609 -v 0.042919397354 1.136187195778 -0.116020321846 -v 0.069320917130 1.139438748360 -0.110212624073 -v 0.096272230148 1.142657041550 -0.103571355343 -v -0.084033012390 1.068661570549 -0.209112644196 -v -0.079619884491 1.055715084076 -0.200545787811 -v -0.114229202271 1.024448990822 -0.220436096191 -v -0.152589321136 1.005478620529 -0.229532003403 -v -0.190863609314 0.997435450554 -0.232511520386 -v 0.283624172211 1.127811551094 0.019655466080 -v 0.238133430481 1.093801021576 0.054984629154 -v 0.281615972519 1.070061683655 0.051802158356 -v 0.324586987495 1.083217859268 0.015623211861 -v 0.317109346390 1.049089670181 0.037077486515 -v 0.344853520393 1.035368323326 0.004752695560 -v 0.272841930389 1.062416911125 0.039141774178 -v 0.309236288071 1.042762875557 0.023036181927 -v 0.228971004486 1.083329319954 0.041944861412 -v 0.336932301521 1.026821017265 -0.005697131157 -v 0.352009296417 1.016058206558 -0.045218408108 -v 0.363454222679 1.025239586830 -0.041483044624 -v 0.350228548050 1.082829117775 -0.050576865673 -v 0.331254720688 1.069567441940 -0.102947354317 -v 0.354001879692 1.020647644997 -0.085915803909 -v 0.344488024712 1.012196183205 -0.082506895065 -v 0.291500329971 1.049303770065 -0.131860733032 -v 0.316508769989 1.020089149475 -0.108288466930 -v 0.278244972229 1.045682430267 -0.121770381927 -v 0.329316139221 1.025645136833 -0.117285430431 -v 0.237555980682 1.070979237556 -0.131267666817 -v 0.035062551498 1.018665790558 0.116485953331 -v 0.040465593338 1.046646237373 0.092548847198 -v 0.039201974869 1.005905747414 0.105759739876 -v 0.407534599304 1.049324989319 -0.053019642830 -v 0.407415151596 1.048302650452 -0.055281043053 -v 0.409241080284 1.045540690422 -0.054215550423 -v 0.409348964691 1.045631766319 -0.052197813988 -v 0.407567024231 1.045038938522 -0.053497850895 -v 0.408619165421 1.045577406883 -0.051431357861 -v 0.405469179153 1.048570752144 -0.051153659821 -v 0.405564785004 1.047778606415 -0.056019663811 -v 0.403634786606 1.047237396240 -0.053114891052 -v 0.403636693954 1.047934293747 -0.055059254169 -v 0.400758862495 1.061518907547 -0.057837843895 -v 0.404543042183 1.054217815399 -0.054585695267 -v 0.403454065323 1.053356051445 -0.050477862358 -v 0.400370597839 1.052134513855 -0.054630398750 -v 0.400712847710 1.052084445953 -0.049256503582 -v 0.390304088593 1.109333515167 -0.057016730309 -v 0.388536572456 1.106098771095 -0.056595444679 -v 0.390356302261 1.105766057968 -0.046931087971 -v 0.392881512642 1.108199954033 -0.046167612076 -v 0.386311173439 1.096173763275 -0.029934227467 -v 0.384410738945 1.113091945648 -0.026496827602 -v 0.389004111290 1.130117177963 -0.037221312523 -v 0.392682909966 1.108635425568 -0.037295579910 -v 0.393145322800 1.127447843552 -0.052910566330 -v 0.390158653259 1.094229102135 -0.034627795219 -v 0.365346193314 1.095366001129 -0.075250387192 -v 0.361508131027 1.084615111351 -0.066927909851 -v 0.372699022293 1.087730288506 -0.066918432713 -v 0.371014833450 1.094595193863 -0.072323203087 -v 0.361182332039 1.096700906754 -0.029368877411 -v 0.354959249496 1.107748985291 -0.019379496574 -v 0.363673329353 1.110366463661 -0.021963655949 -v 0.367691278458 1.100643992424 -0.026672244072 -v 0.374418973923 1.110103130341 -0.023161590099 -v 0.377149462700 1.091655015945 -0.026055395603 -v 0.373545646667 1.081293344498 -0.038487195969 -v 0.338927745819 1.093048810959 -0.023161709309 -v 0.335716485977 1.096756339073 -0.022189855576 -v 0.333831310272 1.101293921471 -0.015252113342 -v 0.339010357857 1.099372625351 -0.015726268291 -v 0.336115360260 1.103556871414 -0.011844396591 -v 0.344871759415 1.091088294983 -0.023372709751 -v 0.330793619156 1.106926560402 -0.018525958061 -v 0.326990127563 1.115554690361 -0.016181170940 -v 0.328750967979 1.092396497726 -0.021561920643 -v 0.325265884399 1.098267674446 -0.019644141197 -v 0.346914052963 1.103241682053 -0.017480194569 -v 0.338825702667 1.108204364777 -0.011111140251 -v 0.344290256500 1.120107769966 -0.013092637062 -v 0.340465307236 1.136773347855 -0.015785038471 -v 0.324753522873 1.125427603722 -0.015070736408 -v 0.325292944908 1.136361837387 -0.017429172993 -v 0.329348087311 1.116966009140 -0.013588488102 -v 0.332792520523 1.118334770203 -0.096988618374 -v 0.332243442535 1.122267842293 -0.094619393349 -v 0.323136806488 1.125333309174 -0.083494544029 -v 0.327710032463 1.113504409790 -0.092576861382 -v 0.341573119164 1.120945453644 -0.094311773777 -v 0.335590600967 1.131715416908 -0.092355489731 -v 0.328661322594 1.133670330048 -0.089798271656 -v 0.324473619461 1.135583043098 -0.085328757763 -v 0.353020310402 1.126932740211 -0.091999888420 -v 0.346932053566 1.140344977379 -0.090539395809 -v 0.324019074440 1.120222568512 -0.017995357513 -v 0.289908170700 1.127960801125 -0.085108101368 -v 0.304053783417 1.121056914330 -0.078729987144 -v 0.358429908752 1.193968534470 -0.088134527206 -v 0.357683658600 1.184876799583 -0.100257873535 -v 0.363889813423 1.171106338501 -0.087482929230 -v 0.366210937500 1.176288127899 -0.080222189426 -v 0.368631839752 1.159053325653 -0.078640401363 -v 0.373743414879 1.167661428452 -0.066681802273 -v 0.375433444977 1.182421684265 -0.018816709518 -v 0.371500611305 1.164965748787 -0.026864171028 -v 0.360645771027 1.163048863411 -0.020475804806 -v 0.365925073624 1.182272315025 -0.013802051544 -v 0.355728268623 1.168922543526 -0.016866326332 -v 0.365192413330 1.144321084023 -0.023384571075 -v 0.351355433464 1.141466021538 -0.019072234631 -v 0.347202420235 1.153388857841 -0.018843293190 -v 0.341611385345 1.160166978836 -0.015560805798 -v 0.308113574982 1.139430522919 -0.086172342300 -v 0.313164234161 1.145732045174 -0.091821610928 -v 0.344058752060 1.152563452721 -0.093004882336 -v 0.359626531601 1.152780056000 -0.086724877357 -v 0.353022336960 1.166682362556 -0.092923939228 -v 0.347189664841 1.169834375381 -0.094244897366 -v 0.342811346054 1.158735275269 -0.094510555267 -v 0.353778600693 1.178154706955 -0.104299247265 -v 0.348872900009 1.177428722382 -0.102648377419 -v 0.331777811050 1.146316647530 -0.093712210655 -v 0.320755481720 1.145852565765 -0.098560571671 -v 0.323286175728 1.148737668991 -0.101337194443 -v 0.333321571350 1.152906417847 -0.097986042500 -v 0.326210260391 1.151933670044 -0.103993952274 -v 0.320780992508 1.131242513657 -0.019613742828 -v 0.316488265991 1.137263059616 -0.026703536510 -v 0.320133447647 1.137962102890 -0.020618379116 -v 0.337424993515 1.147775053978 -0.018649101257 -v 0.334059238434 1.153875350952 -0.016800880432 -v 0.332339167595 1.160215377808 -0.011005222797 -v 0.333034753799 1.162801146507 -0.010488092899 -v 0.342080116272 1.164801001549 -0.014642059803 -v 0.329650044441 1.156030654907 -0.012940168381 -v 0.320695400238 1.147234559059 -0.025550961494 -v 0.324349880219 1.148427605629 -0.021465837955 -v 0.324996113777 1.144489049911 -0.022029399872 -v 0.319767236710 1.142206072807 -0.025610327721 -v 0.316439867020 1.145988821983 -0.028391957283 -v 0.314030408859 1.140980482101 -0.030016005039 -v 0.306605100632 1.136893630028 -0.031398415565 -v 0.311094760895 1.138293743134 -0.030661761761 -v 0.314454317093 1.133188128471 -0.029211819172 -v 0.307747125626 1.131512522697 -0.031591475010 -v 0.291517019272 1.138318657875 -0.033916234970 -v 0.304842948914 1.122800350189 -0.030405402184 -v 0.289185523987 1.130287408829 -0.033323228359 -v 0.286009788513 1.137142181396 -0.090150713921 -v 0.292701721191 1.141978979111 -0.107457876205 -v 0.304615020752 1.142538189888 -0.102706909180 -v 0.309559822083 1.150496006012 -0.024630010128 -v 0.318125486374 1.150960326195 -0.022390007973 -v 0.317887067795 1.153405547142 -0.009570956230 -v 0.321745395660 1.151527643204 -0.017602443695 -v 0.312289476395 1.154029130936 -0.016137778759 -v 0.300724506378 1.151372194290 -0.025900006294 -v 0.302543878555 1.155046701431 -0.016855716705 -v 0.311131477356 1.148434042931 -0.121525228024 -v 0.314778566360 1.145795822144 -0.111356735229 -v 0.318232536316 1.148830175400 -0.113018929958 -v 0.316641569138 1.155373811722 -0.125974237919 -v 0.310946226120 1.160884141922 -0.130396544933 -v 0.305948495865 1.152399063110 -0.128264009953 -v 0.322793602943 1.153211474419 -0.114452242851 -v 0.319596290588 1.160681724548 -0.123025000095 -v 0.319034099579 1.171830296516 0.017393767834 -v 0.317905664444 1.160627365112 0.008475244045 -v 0.311162710190 1.163662672043 0.014921247959 -v 0.310447931290 1.172396779060 0.019649803638 -v 0.309610843658 1.159015893936 0.012034296989 -v 0.310906410217 1.144272089005 -0.107071161270 -v 0.306469917297 1.144841670990 -0.117874324322 -v 0.302479743958 1.143570303917 -0.114495694637 -v 0.301431417465 1.147624731064 -0.126265466213 -v 0.295472621918 1.145630240440 -0.120796620846 -v 0.288472175598 1.148880720139 -0.025115370750 -v 0.301652908325 1.141206622124 -0.031471252441 -v 0.309620141983 1.142498731613 -0.029031515121 -v 0.273790359497 1.148244857788 -0.025866985321 -v 0.272537946701 1.142426609993 -0.030830979347 -v 0.272406339645 1.134789586067 -0.032956182957 -v 0.291519165039 1.153991341591 -0.016412615776 -v 0.305040836334 1.167021632195 0.019629895687 -v 0.307030200958 1.163709878922 0.017679572105 -v 0.305133104324 1.161130547523 0.017725169659 -v 0.303712606430 1.163359761238 0.020457804203 -v 0.294210910797 1.150454163551 -0.129565417767 -v 0.297544717789 1.151566028595 -0.131443619728 -v 0.299007177353 1.157061815262 -0.131160855293 -v 0.289251804352 1.162134289742 -0.127951741219 -v 0.300848484039 1.162901401520 0.020725965500 -v 0.299931526184 1.168733119965 0.019787251949 -v 0.302267789841 1.160912990570 0.017476558685 -v 0.284586906433 1.155997037888 -0.118712186813 -v 0.320478677750 1.183388590813 0.019893288612 -v 0.315504550934 1.185158967972 0.021765649319 -v 0.304894447327 1.174435973167 0.020509123802 -v 0.311547279358 1.187007069588 0.021684288979 -v 0.294510126114 1.164358973503 0.015730142593 -v 0.295584678650 1.166682958603 0.018493294716 -v 0.298225879669 1.162472367287 0.019704580307 -v 0.296677112579 1.161968946457 0.018077135086 -v 0.299949407578 1.160799622536 0.016491711140 -v 0.297479152679 1.160787940025 0.014298200607 -v 0.295337200165 1.162495613098 0.013063669205 -v 0.297493457794 1.159226298332 0.006240844727 -v 0.292984724045 1.162090659142 0.007228136063 -v 0.289747714996 1.165970087051 0.009980738163 -v 0.293587207794 1.173587322235 0.017361879349 -v 0.295882701874 1.184546113014 0.019877433777 -v 0.289324522018 1.170376300812 0.013289868832 -v 0.304202318192 1.163235664368 -0.131868004799 -v 0.295037984848 1.173500776291 -0.132903218269 -v 0.339935421944 1.204928994179 0.011042654514 -v 0.323164343834 1.198740124702 0.019174516201 -v 0.319356679916 1.202640295029 0.017888188362 -v 0.333619713783 1.216896772385 0.006251335144 -v 0.316392660141 1.223941683769 0.004564166069 -v 0.318291187286 1.236307144165 -0.009308457375 -v 0.339412450790 1.232521295547 -0.013116896152 -v 0.309664726257 1.210659503937 0.013969600201 -v 0.320227146149 1.235717296600 -0.089737355709 -v 0.315104484558 1.228830337524 -0.112790822983 -v 0.326388478279 1.222050905228 -0.113814830780 -v 0.333210706711 1.227595806122 -0.095670104027 -v 0.337775707245 1.211602926254 -0.112435698509 -v 0.344557762146 1.216145873070 -0.082126915455 -v 0.326203584671 1.226114869118 -0.064788460732 -v 0.278375148773 1.164562225342 0.002692937851 -v 0.286962032318 1.159514427185 -0.002162218094 -v 0.278234004974 1.155510902405 -0.013907790184 -v 0.260844707489 1.160049319267 -0.009037494659 -v 0.253694772720 1.171441078186 0.002056777477 -v 0.274199008942 1.172616839409 0.009002089500 -v 0.241376399994 1.164381980896 -0.022117018700 -v 0.236744165421 1.171596884727 -0.017185091972 -v 0.257408142090 1.154074668884 -0.020835101604 -v 0.240831613541 1.161932706833 -0.027496337891 -v 0.272498369217 1.184606671333 0.015063345432 -v 0.283818006516 1.195466637611 0.018259227276 -v 0.251496076584 1.179788351059 0.004774987698 -v 0.280345439911 1.187177538872 -0.130770325661 -v 0.278849363327 1.200135588646 -0.128845155239 -v 0.264022827148 1.197203159332 -0.124487996101 -v 0.263042688370 1.188585639000 -0.125758051872 -v 0.247735500336 1.194719552994 -0.112018883228 -v 0.248827695847 1.181841850281 -0.113283038139 -v 0.269680976868 1.173762202263 -0.124203026295 -v 0.254821300507 1.213196992874 -0.005989432335 -v 0.259692907333 1.217268109322 -0.002873539925 -v 0.264866352081 1.212918281555 0.006526708603 -v 0.262398242950 1.203422427177 0.007279813290 -v 0.274141788483 1.213083267212 0.013194501400 -v 0.276415348053 1.206676006317 0.013642489910 -v 0.247564315796 1.194469571114 -0.000649333000 -v 0.245563030243 1.205689191818 -0.011326313019 -v 0.232998371124 1.204849720001 -0.033008277416 -v 0.242313385010 1.215915679932 -0.027005612850 -v 0.237220525742 1.198678970337 -0.018567323685 -v 0.235009908676 1.188932180405 -0.016125142574 -v 0.229682207108 1.194204092026 -0.034655272961 -v 0.280081987381 1.256208896637 -0.019527673721 -v 0.266340732574 1.257276535034 -0.021893620491 -v 0.272911071777 1.248642563820 -0.034798681736 -v 0.289152145386 1.246002078056 -0.035115897655 -v 0.308747768402 1.234785199165 -0.048455655575 -v 0.315008163452 1.240252733231 -0.028551578522 -v 0.295452594757 1.246342897415 -0.017771065235 -v 0.291768074036 1.252464294434 -0.011624932289 -v 0.272852182388 1.246320486069 0.026719093323 -v 0.274995565414 1.244897484779 0.026039719582 -v 0.270889520645 1.239411234856 0.026342213154 -v 0.269581317902 1.240408897400 0.026497364044 -v 0.264169454575 1.234132766724 0.025929450989 -v 0.263763427734 1.235451221466 0.026660978794 -v 0.263376712799 1.240142583847 0.021522641182 -v 0.268235921860 1.245139122009 0.023626983166 -v 0.227350234985 1.201413989067 -0.060404598713 -v 0.226505756378 1.187961101532 -0.062663376331 -v 0.232470035553 1.193228960037 -0.089262902737 -v 0.238893508911 1.210202097893 -0.088255286217 -v 0.253223896027 1.206307768822 -0.110778868198 -v 0.239593505859 1.224539875984 -0.073748230934 -v 0.232012033463 1.216619491577 -0.053089022636 -v 0.252145767212 1.219983339310 -0.097832560539 -v 0.250634193420 1.229226589203 -0.085364758968 -v 0.252376794815 1.238263368607 -0.057780742645 -v 0.267105579376 1.240937113762 -0.056898772717 -v 0.258289337158 1.241248607635 -0.051965177059 -v 0.252767086029 1.235920786858 -0.034247636795 -v 0.247609376907 1.233851552010 -0.039491355419 -v 0.265551090240 1.267001390457 0.009194791317 -v 0.272844314575 1.261870384216 0.012323737144 -v 0.270809888840 1.260163426399 0.015809416771 -v 0.262974262238 1.263656973839 0.012956202030 -v 0.268976211548 1.265585422516 0.000393331051 -v 0.258705377579 1.266561031342 -0.002085030079 -v 0.261866092682 1.261532545090 -0.010348796844 -v 0.274395465851 1.261371612549 -0.009189963341 -v 0.238660573959 1.248261332512 0.003617167473 -v 0.232067346573 1.245571255684 0.001219451427 -v 0.233589172363 1.253527522087 -0.000213980675 -v 0.238280773163 1.252982854843 0.002291560173 -v 0.241975069046 1.261794805527 0.000397861004 -v 0.244624614716 1.256234288216 0.001851916313 -v 0.222787380219 1.257822632790 -0.151930749416 -v 0.228422880173 1.254693269730 -0.147209823132 -v 0.230664730072 1.257706403732 -0.153383851051 -v 0.225557327271 1.260083436966 -0.156076908112 -v 0.224181652069 1.269489765167 -0.164974153042 -v 0.218438386917 1.260652661324 -0.156715095043 -v 0.235471725464 1.260826349258 -0.157907843590 -v 0.216721296310 1.261644721031 -0.151875853539 -v 0.215643405914 1.258587121964 -0.150196969509 -v 0.234998703003 1.261462807655 -0.124403178692 -v 0.224088907242 1.267516016960 -0.134056270123 -v 0.228742599487 1.274905562401 -0.138475537300 -v 0.243557214737 1.273823022842 -0.127884268761 -v 0.218826293945 1.271217346191 -0.139695227146 -v 0.223790407181 1.282513380051 -0.156298041344 -v 0.229401111603 1.281741142273 -0.159395992756 -v 0.243339538574 1.285583496094 -0.155722141266 -v 0.240149497986 1.285640001297 -0.147173225880 -v 0.263746500015 1.284044027328 -0.144365310669 -v 0.256647109985 1.283450603485 -0.135616004467 -v 0.249143123627 1.278396368027 -0.130899667740 -v 0.231034517288 1.281445980072 -0.142535567284 -v 0.228749275208 1.279866695404 -0.162645876408 -v 0.225111246109 1.280306816101 -0.161672592163 -v 0.326325416565 1.095832467079 -0.026897907257 -v 0.328660488129 1.092162013054 -0.027155876160 -v 0.334224581718 1.083390593529 -0.031802475452 -v 0.331976652145 1.086985468864 -0.036189317703 -v 0.244880199432 1.142374873161 -0.073979854584 -v 0.242966175079 1.142764568329 -0.078356206417 -v 0.235785722733 1.146784543991 -0.078433096409 -v 0.238635778427 1.145627975464 -0.074249148369 -v 0.232438325882 1.149214863777 -0.073069214821 -v 0.236898422241 1.147114753723 -0.069623470306 -v 0.255175828934 1.136546134949 -0.077648699284 -v 0.255682229996 1.136946439743 -0.070239722729 -v 0.269840002060 1.141850829124 -0.088529407978 -v 0.257449388504 1.150468826294 -0.085283041000 -v 0.282135963440 1.148957133293 -0.107223212719 -v 0.262875080109 1.157893180847 -0.106579840183 -v 0.264955282211 1.164611697197 -0.115844190121 -v 0.244687318802 1.169971346855 -0.105285048485 -v 0.246577739716 1.164339303970 -0.095911860466 -v 0.234338521957 1.172934412956 -0.084621906281 -v 0.237678050995 1.167568325996 -0.080495774746 -v 0.230271100998 1.181651115417 -0.088845074177 -v 0.227655649185 1.178839325905 -0.062708079815 -v 0.231756448746 1.172751188278 -0.062062919140 -v 0.229456424713 1.177902221680 -0.036529541016 -v 0.232846736908 1.170946717262 -0.038640320301 -v 0.227507114410 1.182419776917 -0.036165595055 -v 0.234830379486 1.176739931107 -0.015439331532 -v 0.235546827316 1.166122555733 -0.040820002556 -v 0.235387325287 1.167956709862 -0.061342179775 -v 0.236512184143 1.160708308220 -0.043142557144 -v 0.237915754318 1.161495804787 -0.059940874577 -v 0.241000175476 1.156659126282 -0.029682040215 -v 0.256223201752 1.147885084152 -0.025309741497 -v 0.252270221710 1.141531467438 -0.026705861092 -v 0.236812353134 1.148920893669 -0.030205547810 -v 0.290362834930 1.128957509995 -0.035883367062 -v 0.271513700485 1.134885430336 -0.035297334194 -v 0.306781768799 1.119673848152 -0.033734023571 -v 0.317042827606 1.112375974655 -0.022598922253 -v 0.317406177521 1.108932733536 -0.028873980045 -v 0.332089543343 1.094723105431 -0.085125267506 -v 0.322933316231 1.108649253845 -0.085476875305 -v 0.319103002548 1.109926819801 -0.080069780350 -v 0.329759955406 1.096952438354 -0.079336047173 -v 0.334635496140 1.087565541267 -0.070015192032 -v 0.337785124779 1.084333658218 -0.074962139130 -v 0.336755514145 1.081413388252 -0.053044438362 -v 0.338276147842 1.079147696495 -0.053146123886 -v 0.346428036690 1.085549473763 -0.069611251354 -v 0.343625307083 1.093718051910 -0.081809461117 -v 0.333607673645 1.104474425316 -0.090680718422 -v 0.343541741371 1.081957101822 -0.052684903145 -v 0.353684067726 1.082917213440 -0.067507863045 -v 0.358879923820 1.093483090401 -0.077935218811 -v 0.351037502289 1.092784404755 -0.080610275269 -v 0.360334396362 1.102306008339 -0.085941970348 -v 0.347621440887 1.101400613785 -0.092805027962 -v 0.345952153206 1.079882979393 -0.052633166313 -v 0.355161905289 1.077038049698 -0.051688134670 -v 0.343386173248 1.084547519684 -0.034452319145 -v 0.352032899857 1.082792043686 -0.035345792770 -v 0.340294599533 1.086036086082 -0.034663975239 -v 0.321768999100 1.104483842850 -0.020316779613 -v 0.326095461845 1.115695357323 -0.020195245743 -v 0.319353103638 1.123223304749 -0.025029301643 -v 0.322834372520 1.101128458977 -0.027329206467 -v 0.321851253510 1.127054452896 -0.022767901421 -v 0.353766679764 1.095177173615 -0.026385903358 -v 0.359876632690 1.086948037148 -0.037192046642 -v 0.368791699409 1.081473231316 -0.054299533367 -v 0.366416454315 1.085834145546 -0.039678335190 -v 0.375720381737 1.077826261520 -0.054867923260 -v 0.385641813278 1.069572925568 -0.047519683838 -v 0.386780261993 1.068247556686 -0.054583191872 -v 0.379089593887 1.078935027122 -0.064835965633 -v 0.387892365456 1.068310856819 -0.060149490833 -v 0.394519090652 1.059546113014 -0.055611908436 -v 0.389144182205 1.068464994431 -0.063209295273 -v 0.381745100021 1.079965829849 -0.068755567074 -v 0.395897269249 1.059724450111 -0.058292984962 -v 0.397762775421 1.058734893799 -0.060246050358 -v 0.390513181686 1.068549633026 -0.065918266773 -v 0.401293635368 1.052220582962 -0.057137370110 -v 0.402930855751 1.052381992340 -0.058841645718 -v 0.399328708649 1.059069991112 -0.062133789063 -v 0.404549121857 1.052707433701 -0.057922661304 -v 0.400724768639 1.060495495796 -0.061055362225 -v 0.394371271133 1.071512341499 -0.065981507301 -v 0.392708420753 1.069672346115 -0.067366063595 -v 0.394284963608 1.071869850159 -0.062373280525 -v 0.388498425484 1.083336234093 -0.066320896149 -v 0.388929486275 1.082942962646 -0.069176137447 -v 0.389878511429 1.092170119286 -0.038135766983 -v 0.392562985420 1.073132753372 -0.038371622562 -v 0.393902897835 1.072458386421 -0.036485314369 -v 0.400479316711 1.060284376144 -0.040919661522 -v 0.400619268417 1.059895157814 -0.042878329754 -v 0.392677068710 1.071635484695 -0.034626603127 -v 0.399963617325 1.058247804642 -0.039560496807 -v 0.389219284058 1.072089076042 -0.033550858498 -v 0.398481249809 1.057546377182 -0.040394842625 -v 0.385063409805 1.070487856865 -0.035343050957 -v 0.395586490631 1.058170080185 -0.044803380966 -v 0.402001142502 1.052767753601 -0.042411684990 -v 0.388577699661 1.095486879349 -0.066482841969 -v 0.387288451195 1.094378232956 -0.064481914043 -v 0.389545917511 1.108287096024 -0.069271624088 -v 0.387219429016 1.094375610352 -0.071040332317 -v 0.390260934830 1.124660015106 -0.067944049835 -v 0.383810281754 1.146947145462 -0.036770582199 -v 0.387935638428 1.145303487778 -0.049735426903 -v 0.385385751724 1.144845247269 -0.066654205322 -v 0.379234194756 1.167300224304 -0.047699809074 -v 0.378260374069 1.142871618271 -0.078380703926 -v 0.384638786316 1.121478676796 -0.079748928547 -v 0.371328830719 1.114236831665 -0.083621263504 -v 0.366134643555 1.134753823280 -0.086642682552 -v 0.358268737793 1.111678957939 -0.091841936111 -v 0.384584784508 1.105457901955 -0.077077627182 -v 0.377453684807 1.103823542595 -0.078171491623 -v 0.383101344109 1.092535972595 -0.074570477009 -v 0.376216292381 1.093980312347 -0.073397576809 -v 0.384114503860 1.080561161041 -0.071538448334 -v 0.387168884277 1.081826567650 -0.071408987045 -v 0.378217101097 1.166335225105 -0.036741614342 -v 0.376491785049 1.185984611511 -0.027371287346 -v 0.375539779663 1.191256642342 -0.040807008743 -v 0.376024484634 1.146698236465 -0.028571903706 -v 0.380968809128 1.128817915916 -0.027356445789 -v 0.372819066048 1.124244213104 -0.021395444870 -v 0.357726931572 1.123675107956 -0.019232869148 -v 0.363764047623 1.199695229530 -0.003253161907 -v 0.359092354774 1.192318797112 -0.001357376575 -v 0.363418817520 1.207986116409 -0.009030759335 -v 0.363287687302 1.216881036758 -0.024423658848 -v 0.353446960449 1.214913725853 -0.051911473274 -v 0.367811679840 1.192584276199 -0.062469363213 -v 0.335019469261 1.232254981995 -0.039931237698 -v 0.341472268105 1.196155428886 0.010244071484 -v 0.354283452034 1.192304849625 -0.001765370369 -v 0.339673757553 1.196221947670 0.007006824017 -v 0.363298535347 1.182292938232 -0.012944102287 -v 0.354795575142 1.171777725220 -0.016488790512 -v 0.327435612679 1.161281824112 -0.002656698227 -v 0.324092507362 1.165798902512 0.006462395191 -v 0.322525382042 1.168064355850 0.004236161709 -v 0.326949238777 1.164337635040 -0.003446638584 -v 0.325284123421 1.158543467522 -0.003361463547 -v 0.322180032730 1.162310838699 0.007995128632 -v 0.320963859558 1.172976732254 0.015366852283 -v 0.319886207581 1.174322366714 0.011200785637 -v 0.321480035782 1.183079004288 0.017309784889 -v 0.326878428459 1.193821310997 0.018233954906 -v 0.327511191368 1.192236304283 0.015911042690 -v 0.303445339203 1.120934963226 -0.074148416519 -v 0.251810550690 1.141942739487 -0.031309187412 -v 0.241466999054 1.146666526794 -0.036401212215 -v 0.236400604248 1.148872971535 -0.047140300274 -v 0.230206489563 1.152073264122 -0.044595956802 -v 0.229574203491 1.151367187500 -0.061807334423 -v 0.239748239517 1.160202145576 -0.073878407478 -v 0.247816801071 1.157876133919 -0.081561207771 -v 0.234130144119 1.149081230164 -0.061738610268 -v 0.224230289459 1.281635522842 -0.153767704964 -v 0.223762512207 1.278146028519 -0.159069538116 -v 0.219611406326 1.279417753220 -0.152326762676 -v 0.213749408722 1.273561835289 -0.144396305084 -v 0.217382907867 1.273008942604 -0.147697806358 -v 0.221839427948 1.275884628296 -0.154915273190 -v 0.210401773453 1.265159130096 -0.141010046005 -v 0.213674545288 1.265947461128 -0.146045088768 -v 0.217527627945 1.274109721184 -0.141741633415 -v 0.215512275696 1.264181613922 -0.138061285019 -v 0.220313549042 1.262314796448 -0.135805130005 -v 0.220573663712 1.257741451263 -0.138237059116 -v 0.216372489929 1.257721900940 -0.141187667847 -v 0.212907791138 1.258577108383 -0.145352184772 -v 0.233858585358 1.256473422050 -0.125267803669 -v 0.234248638153 1.251918315887 -0.127823233604 -v 0.246033430099 1.251870393753 -0.112772464752 -v 0.246748685837 1.247483968735 -0.115507006645 -v 0.247130870819 1.256455659866 -0.111137330532 -v 0.258541584015 1.245236992836 -0.084437072277 -v 0.256093978882 1.239906072617 -0.086883187294 -v 0.257097005844 1.266151666641 -0.110764563084 -v 0.266882419586 1.251339793205 -0.085104942322 -v 0.267502307892 1.270240545273 -0.112958729267 -v 0.275364637375 1.256015896797 -0.091180860996 -v 0.275161266327 1.274131059647 -0.118503391743 -v 0.285532474518 1.258744239807 -0.098316013813 -v 0.281810045242 1.273761987686 -0.128352165222 -v 0.294841051102 1.259177684784 -0.109563946724 -v 0.285378694534 1.267878890038 -0.136893749237 -v 0.299645662308 1.256075739861 -0.122435271740 -v 0.267150640488 1.279207229614 -0.152110457420 -v 0.266644477844 1.272503018379 -0.155482232571 -v 0.285328865051 1.260385632515 -0.145259499550 -v 0.245440483093 1.281306147575 -0.162130832672 -v 0.247352838516 1.277317881584 -0.164401888847 -v 0.226536273956 1.277150392532 -0.165146172047 -v 0.244216680527 1.272458314896 -0.165734708309 -v 0.265185594559 1.264242410660 -0.158591628075 -v 0.225196361542 1.271236658096 -0.164832949638 -v 0.240829467773 1.264716506004 -0.164158344269 -v 0.256122827530 1.256213188171 -0.158023118973 -v 0.249283313751 1.251091122627 -0.154383540154 -v 0.264867782593 1.238259196281 -0.149782478809 -v 0.271236419678 1.243698835373 -0.152746677399 -v 0.242131233215 1.248456358910 -0.149258136749 -v 0.259697437286 1.235559821129 -0.143175721169 -v 0.238021850586 1.246404170990 -0.140355885029 -v 0.255519628525 1.235976219177 -0.134220600128 -v 0.235714912415 1.248224496841 -0.132601261139 -v 0.249901533127 1.242415428162 -0.121484637260 -v 0.225628137589 1.255354166031 -0.141528964043 -v 0.219279289246 1.256212234497 -0.146652877331 -v 0.261144638062 1.227618336678 -0.105385541916 -v 0.265067815781 1.218194127083 -0.118982553482 -v 0.255488157272 1.234093666077 -0.095165371895 -v 0.257819652557 1.237515091896 -0.082652032375 -v 0.256304979324 1.231330990791 -0.090660393238 -v 0.261433124542 1.242497920990 -0.080974459648 -v 0.269018650055 1.247485637665 -0.080007076263 -v 0.276544094086 1.249154090881 -0.084097981453 -v 0.286174535751 1.250129461288 -0.091734588146 -v 0.297051906586 1.250920057297 -0.101950109005 -v 0.304772377014 1.248518705368 -0.115050077438 -v 0.297762155533 1.245796918869 -0.131601870060 -v 0.303509950638 1.239294528961 -0.125708818436 -v 0.278063774109 1.251515507698 -0.150501132011 -v 0.292453289032 1.234364628792 -0.138768732548 -v 0.285548925400 1.222070693970 -0.138958930969 -v 0.275888442993 1.216582298279 -0.135062336922 -v 0.269642829895 1.214331030846 -0.127090573311 -v 0.265042543411 1.214603662491 -0.116683065891 -v 0.270244359970 1.211904883385 -0.125036418438 -v 0.259296417236 1.223366022110 -0.101866900921 -v 0.260845899582 1.212415218353 -0.112328946590 -v 0.266552209854 1.205083847046 -0.122853875160 -v 0.268821239471 1.210025906563 -0.123203098774 -v 0.277948856354 1.207428336143 -0.128034055233 -v 0.277915716171 1.211367130280 -0.128684759140 -v 0.288717508316 1.213802814484 -0.129420161247 -v 0.287309169769 1.217238068581 -0.130407452583 -v 0.277626991272 1.213335871696 -0.130287289619 -v 0.286727428436 1.219543695450 -0.133292317390 -v 0.297491550446 1.224069118500 -0.127825796604 -v 0.295832872391 1.229104042053 -0.133770406246 -v 0.299275398254 1.222613096237 -0.126457333565 -v 0.306288719177 1.231516838074 -0.115943133831 -v 0.303650856018 1.233008384705 -0.119831323624 -v 0.304522037506 1.218244671822 -0.125307500362 -v 0.291501283646 1.207969903946 -0.129891932011 -v 0.295377254486 1.198327302933 -0.132311940193 -v 0.312335252762 1.210624575615 -0.126865327358 -v 0.307499647141 1.182762622833 -0.133446455002 -v 0.321811676025 1.199660181999 -0.127626895905 -v 0.313686370850 1.178631782532 -0.132702827454 -v 0.327832698822 1.190094709396 -0.127820491791 -v 0.318174362183 1.174999833107 -0.130550682545 -v 0.329443216324 1.184651136398 -0.126586496830 -v 0.320348262787 1.172263383865 -0.127011775970 -v 0.329268336296 1.182359218597 -0.124253869057 -v 0.319159746170 1.172549962997 -0.124517083168 -v 0.327510595322 1.181082725525 -0.121122121811 -v 0.341977953911 1.186866998672 -0.119443237782 -v 0.340240001678 1.181673407555 -0.114829957485 -v 0.342066526413 1.190820455551 -0.118938207626 -v 0.343557119370 1.197325468063 -0.114280879498 -v 0.308367967606 1.238885641098 -0.100797057152 -v 0.302496671677 1.241308212280 -0.108589589596 -v 0.297030925751 1.244460582733 -0.094559252262 -v 0.288425922394 1.242414832115 -0.070966482162 -v 0.300933361053 1.241560339928 -0.084082663059 -v 0.287242650986 1.245997667313 -0.082513213158 -v 0.276428461075 1.242347240448 -0.063216865063 -v 0.276814937592 1.246329665184 -0.074558973312 -v 0.262533426285 1.248234033585 -0.033080637455 -v 0.268426895142 1.245181202888 -0.070157289505 -v 0.255537271500 1.244341135025 -0.030193269253 -v 0.255340337753 1.255470871925 -0.021258711815 -v 0.248293161392 1.248656272888 -0.019238531590 -v 0.246406555176 1.241610646248 -0.014172136784 -v 0.252004623413 1.238135337830 -0.023450851440 -v 0.240248918533 1.252865195274 -0.008260846138 -v 0.236009836197 1.244751214981 -0.002041816711 -v 0.250643014908 1.260913610458 -0.006915748119 -v 0.241449356079 1.238094210625 0.000856995583 -v 0.248243808746 1.235244989395 -0.007029771805 -v 0.236295223236 1.238589763641 0.006947577000 -v 0.244088888168 1.237448453903 0.010651528835 -v 0.245872020721 1.235504984856 0.007974743843 -v 0.240644693375 1.243501543999 0.007078409195 -v 0.245250463486 1.240480542183 0.010777413845 -v 0.252675771713 1.233302831650 0.020247042179 -v 0.254426479340 1.231533646584 0.017972588539 -v 0.254062652588 1.237539768219 0.019096493721 -v 0.276159763336 1.255128741264 0.018554508686 -v 0.275947093964 1.249229311943 0.022302091122 -v 0.272867918015 1.249667882919 0.024674117565 -v 0.271744251251 1.251732468605 0.021295309067 -v 0.283636093140 1.255234718323 0.014072477818 -v 0.280255317688 1.247575402260 0.019362986088 -v 0.276215314865 1.261920690536 0.008904576302 -v 0.278604030609 1.259399175644 0.004241228104 -v 0.285460472107 1.252817630768 0.010138630867 -v 0.266534566879 1.266445875168 0.005049049854 -v 0.258428096771 1.268704891205 0.002973020077 -v 0.254645347595 1.267239928246 0.003869831562 -v 0.287663459778 1.258239984512 -0.004414916039 -v 0.298110485077 1.250542998314 0.003384351730 -v 0.298449993134 1.244361400604 -0.001860737801 -v 0.299829959869 1.234122157097 0.006569683552 -v 0.298758268356 1.238474845886 0.010709106922 -v 0.303976297379 1.239164352417 -0.006211340427 -v 0.305155038834 1.229295969009 0.004372239113 -v 0.300870895386 1.218429088593 0.011674880981 -v 0.295304775238 1.223464488983 0.011802554131 -v 0.293110609055 1.205903887749 0.015846788883 -v 0.286343812943 1.213704109192 0.013587355614 -v 0.302354812622 1.196681976318 0.018828034401 -v 0.283874988556 1.219200730324 0.015126287937 -v 0.293270826340 1.227752089500 0.015739440918 -v 0.283052444458 1.240837812424 0.023119628429 -v 0.276622056961 1.233630180359 0.024268507957 -v 0.286540031433 1.246751070023 0.017804086208 -v 0.272910356522 1.237592816353 0.025359690189 -v 0.278305053711 1.243288516998 0.024740695953 -v 0.267666101456 1.227963447571 0.022224366665 -v 0.264769792557 1.232656955719 0.024754941463 -v 0.260413408279 1.224851250648 0.011581957340 -v 0.257379055023 1.225758671761 -0.000789821148 -v 0.253545045853 1.232021093369 -0.012868225574 -v 0.254851341248 1.226656675339 -0.018729388714 -v 0.251304626465 1.230217099190 0.003005683422 -v 0.256979942322 1.228909850121 0.014670252800 -v 0.250156402588 1.223106861115 -0.021990776062 -v 0.239892244339 1.227292776108 -0.045880913734 -v 0.245432853699 1.234084725380 -0.064319491386 -v 0.254643917084 1.237128496170 -0.077797412872 -v 0.259204149246 1.241605043411 -0.074413061142 -v 0.253374576569 1.265572071075 0.004234373569 -v 0.252619743347 1.259510278702 0.004528701305 -v 0.295717954636 1.157437562943 -0.004984855652 -v 0.302157163620 1.158133268356 0.007280886173 -v 0.303221464157 1.155419707298 -0.004480600357 -v 0.306118011475 1.158186078072 0.009157180786 -v 0.309594392776 1.154529452324 -0.002081036568 -v 0.317309141159 1.145281672478 -0.095512390137 -v 0.342793583870 1.111549854279 -0.096035361290 -v 0.370063781738 1.103682756424 -0.078702569008 -v 0.223846435547 1.280663371086 -0.149150192738 -v 0.262922763824 1.260004043579 0.011266469955 -v 0.278262376785 1.128904223442 -0.071313738823 -v 0.278782129288 1.129065513611 -0.078170895576 -v 0.214526414871 1.261890172958 -0.147512257099 -v 0.403749704361 1.053897500038 -0.044087231159 -v -0.173335313797 1.189228773117 -0.074161946774 -v -0.172501087189 1.194711208344 -0.077600002289 -v -0.156718730927 1.200044989586 -0.067752003670 -v -0.159983634949 1.195769190788 -0.064942240715 -v -0.157345533371 1.192241907120 -0.064338445663 -v -0.176035165787 1.182665348053 -0.074862539768 -v -0.153723001480 1.198203325272 -0.067141354084 -v -0.154419660568 1.185277462006 -0.061343967915 -v -0.174031734467 1.176616787910 -0.076530218124 -v -0.153948068619 1.192448616028 -0.066138029099 -v -0.152566671371 1.196974277496 -0.068748712540 -v -0.149900436401 1.188096642494 -0.064178586006 -v -0.167804479599 1.171906828880 -0.078679144382 -v -0.151026010513 1.177392482758 -0.069037199020 -v -0.159547805786 1.170724391937 -0.081492185593 -v -0.137443780899 1.179318189621 -0.071261107922 -v -0.151052713394 1.171566128731 -0.090630888939 -v -0.145410776138 1.202758073807 -0.074415385723 -v -0.146416664124 1.204916477203 -0.073959469795 -v -0.142997503281 1.206828117371 -0.075007200241 -v -0.139394283295 1.203434348106 -0.075942695141 -v -0.143990516663 1.207095742226 -0.077334642410 -v -0.152405261993 1.204598784447 -0.072375178337 -v -0.150315523148 1.201716780663 -0.070241928101 -v -0.169452428818 1.199298620224 -0.083030939102 -v -0.163226604462 1.203215003014 -0.090547025204 -v -0.193114757538 1.175109863281 -0.086916208267 -v -0.185326576233 1.171366214752 -0.082843124866 -v -0.186292409897 1.165282964706 -0.088589191437 -v -0.200573444366 1.166569828987 -0.092627763748 -v -0.138775825500 1.205187916756 -0.076617836952 -v -0.135615825653 1.203529238701 -0.077090024948 -v -0.155732393265 1.203607797623 -0.096656978130 -v -0.149366855621 1.200804471970 -0.100724101067 -v -0.137942790985 1.205677509308 -0.079242825508 -v -0.131234407425 1.203546047211 -0.080529451370 -v -0.130687952042 1.197476148605 -0.079052925110 -v -0.130004167557 1.197584390640 -0.081454098225 -v -0.129281997681 1.189852356911 -0.077395677567 -v -0.131329774857 1.190665483475 -0.076595366001 -v -0.141457080841 1.192768573761 -0.102260649204 -v -0.127812385559 1.196197390556 -0.082319319248 -v -0.144458770752 1.197188854218 -0.101949512959 -v -0.177466392517 1.161493182182 -0.094907760620 -v -0.163338899612 1.165530800819 -0.106261909008 -v -0.128491640091 1.187958240509 -0.082086682320 -v -0.140712261200 1.182583570480 -0.100011527538 -v -0.210927009583 1.107810139656 -0.110981822014 -v -0.211072683334 1.103303790092 -0.109917879105 -v -0.213212490082 1.101778507233 -0.109918236732 -v -0.214309692383 1.109030246735 -0.111766934395 -v -0.204130172729 1.105494737625 -0.113910675049 -v -0.205763339996 1.099799871445 -0.112921178341 -v -0.223363876343 1.117204904556 -0.114630222321 -v -0.214059114456 1.124341964722 -0.111509382725 -v -0.219065189362 1.105570316315 -0.114096760750 -v -0.238481521606 1.129768848419 -0.130072593689 -v -0.234876394272 1.134552240372 -0.130008339882 -v -0.223749637604 1.136018037796 -0.118461847305 -v -0.207642078400 1.120860934258 -0.111469984055 -v -0.208950042725 1.096844553947 -0.112857937813 -v -0.215140581131 1.098256349564 -0.112100958824 -v -0.209567785263 1.147545337677 -0.113711655140 -v -0.197745561600 1.140209794044 -0.107432365417 -v -0.193334102631 1.132169842720 -0.107758402824 -v -0.193572998047 1.150783538818 -0.107727050781 -v -0.203800201416 1.156490325928 -0.111603617668 -v -0.175592660904 1.145561695099 -0.106927514076 -v -0.172769784927 1.138006210327 -0.105781555176 -v -0.177102327347 1.152362346649 -0.109004378319 -v -0.203049182892 1.103446960449 -0.115947484970 -v -0.205771446228 1.097857356071 -0.116888880730 -v -0.200581550598 1.109675526619 -0.119850099087 -v -0.202297449112 1.114114880562 -0.116474270821 -v -0.205280303955 1.096752166748 -0.122693479061 -v -0.225318193436 1.093360424042 -0.128429234028 -v -0.225040435791 1.096657991409 -0.123039066792 -v -0.220809221268 1.096151828766 -0.119270980358 -v -0.221869707108 1.091606855392 -0.126757025719 -v -0.228603363037 1.095641136169 -0.129044175148 -v -0.228597879410 1.101918220520 -0.122385978699 -v -0.224291801453 1.103944659233 -0.118215620518 -v -0.247853517532 1.125877380371 -0.145480275154 -v -0.241319656372 1.134932279587 -0.146954476833 -v -0.224902391434 1.146563768387 -0.131057977676 -v -0.189874410629 1.125573754311 -0.113757431507 -v -0.188519477844 1.120980858803 -0.117558717728 -v -0.197483062744 1.107985734940 -0.124557018280 -v -0.203064918518 1.094104051590 -0.134538710117 -v -0.212108135223 1.091883540154 -0.125092267990 -v -0.146539926529 1.190650701523 -0.114794254303 -v -0.146754264832 1.180134177208 -0.115530133247 -v -0.152557849884 1.174678444862 -0.113840103149 -v -0.143783569336 1.177394032478 -0.097335398197 -v -0.152518033981 1.177743196487 -0.127124845982 -v -0.154675722122 1.168212413788 -0.123611927032 -v -0.152200698853 1.192405939102 -0.124226093292 -v -0.149080038071 1.190506696701 -0.121930062771 -v -0.149870634079 1.194133043289 -0.115894854069 -v -0.152212619781 1.190471172333 -0.127474963665 -v -0.152487754822 1.182887434959 -0.127529799938 -v -0.154866933823 1.185299873352 -0.129990160465 -v -0.154926300049 1.181805968285 -0.133388638496 -v -0.233518838882 1.051918983459 -0.153825461864 -v -0.234681367874 1.048460602760 -0.154123127460 -v -0.235526800156 1.045760154724 -0.156687140465 -v -0.238681077957 1.048464179039 -0.156781077385 -v -0.229362010956 1.049855709076 -0.154987037182 -v -0.227258443832 1.057394742966 -0.153537988663 -v -0.231667280197 1.046329975128 -0.156813800335 -v -0.223042964935 1.088201880455 -0.145084559917 -v -0.215483188629 1.087337613106 -0.146565556526 -v -0.215860605240 1.081712245941 -0.155044794083 -v -0.226407766342 1.085251331329 -0.153320491314 -v -0.235337972641 1.090702056885 -0.156869351864 -v -0.226635932922 1.075340270996 -0.153673052788 -v -0.235593795776 1.084217786789 -0.159696042538 -v -0.230427265167 1.064726591110 -0.154860198498 -v -0.235838890076 1.056318044662 -0.154584050179 -v -0.244804859161 1.037203311920 -0.166494607925 -v -0.242951393127 1.043129205704 -0.159860074520 -v -0.236907005310 1.041309475899 -0.161783397198 -v -0.243432760239 1.035140395164 -0.168893754482 -v -0.224668979645 1.052752375603 -0.157276332378 -v -0.230270862579 1.046147704124 -0.159191727638 -v -0.159595966339 1.184921741486 -0.135831117630 -v -0.160187005997 1.181343317032 -0.141996622086 -v -0.153135061264 1.179491877556 -0.142091393471 -v -0.169377088547 1.185044288635 -0.136880159378 -v -0.170533895493 1.181570768356 -0.151052296162 -v -0.160138130188 1.174441456795 -0.159372687340 -v -0.222903490067 1.065987110138 -0.152610003948 -v -0.210915327072 1.058199882507 -0.158076643944 -v -0.219084739685 1.052546024323 -0.157240092754 -v -0.209656953812 1.069716095924 -0.156206488609 -v -0.242612361908 1.097414970398 -0.161309957504 -v -0.247563600540 1.103350877762 -0.164090692997 -v -0.248119831085 1.110607266426 -0.158350706100 -v -0.241690874100 1.101655244827 -0.159433066845 -v -0.244697809219 1.092168807983 -0.164222717285 -v -0.251339673996 1.101027250290 -0.169793009758 -v -0.253261089325 1.111646056175 -0.160615861416 -v -0.246266365051 1.039236307144 -0.166336178780 -v -0.249294042587 1.037806272507 -0.168891787529 -v -0.250867843628 1.039080262184 -0.168178379536 -v -0.247174024582 1.041245818138 -0.164608359337 -v -0.252528667450 1.034430623055 -0.174002289772 -v -0.255876541138 1.036398887634 -0.174964785576 -v -0.248456478119 1.035744786263 -0.171986579895 -v -0.207899332047 1.087407350540 -0.147547543049 -v -0.209868431091 1.082488656044 -0.153715491295 -v -0.206011295319 1.082607984543 -0.148635447025 -v -0.207342624664 1.075194835663 -0.155124664307 -v -0.252168178558 1.045034170151 -0.165443241596 -v -0.258034706116 1.046116113663 -0.173089325428 -v -0.262003183365 1.051245570183 -0.178000867367 -v -0.252234935760 1.049173116684 -0.164762079716 -v -0.252549409866 1.041483521461 -0.167263507843 -v -0.259843349457 1.041425228119 -0.177599608898 -v -0.270201206207 1.045489907265 -0.187091112137 -v -0.276372432709 1.040201425552 -0.192463517189 -v -0.278449535370 1.034975290298 -0.196169674397 -v -0.284775257111 1.029717683792 -0.197532415390 -v -0.284212112427 1.040760636330 -0.193028330803 -v -0.271418571472 1.038434147835 -0.194264531136 -v -0.273589372635 1.034032583237 -0.199454545975 -v -0.281298398972 1.027353167534 -0.202217400074 -v -0.285241842270 1.052183389664 -0.197862207890 -v -0.287758827209 1.044720053673 -0.200536787510 -v -0.285270452499 1.052050352097 -0.209925532341 -v -0.284770965576 1.056814908981 -0.208144426346 -v -0.286429882050 1.041720151901 -0.204202711582 -v -0.282965183258 1.049952030182 -0.209141969681 -v -0.281043052673 1.048063278198 -0.188708662987 -v -0.144400358200 1.176907896996 -0.151417970657 -v -0.135134458542 1.175758123398 -0.166907787323 -v -0.129020690918 1.170335769653 -0.138893842697 -v -0.141971826553 1.174503087997 -0.135131359100 -v -0.119428634644 1.164143443108 -0.165285944939 -v -0.116199493408 1.159146547318 -0.141210973263 -v -0.142082691193 1.176310896873 -0.178735315800 -v -0.151244163513 1.175081014633 -0.169050514698 -v -0.125181674957 1.176591157913 -0.177203238010 -v -0.130443096161 1.183761119843 -0.186303555965 -v -0.245208501816 1.111506700516 -0.205009043217 -v -0.232599973679 1.125318527222 -0.206095397472 -v -0.240747690201 1.128869056702 -0.186226844788 -v -0.252095937729 1.110360264778 -0.190840721130 -v -0.230934619904 1.112748980522 -0.219200611115 -v -0.201740980148 1.135213136673 -0.227704524994 -v -0.210019588470 1.145615220070 -0.203961193562 -v -0.256554365158 1.026075959206 -0.197485446930 -v -0.252297163010 1.025413274765 -0.206123828888 -v -0.262440681458 1.028629183769 -0.203707456589 -v -0.262872934341 1.028875350952 -0.197542905807 -v -0.253294944763 1.027410507202 -0.211396694183 -v -0.259093761444 1.029339194298 -0.211079478264 -v -0.246476411819 1.024986743927 -0.206110835075 -v -0.252317905426 1.024993419647 -0.197774946690 -v -0.311765909195 0.993130266666 -0.226933717728 -v -0.310108184814 0.996098339558 -0.225180983543 -v -0.310272455215 0.995082259178 -0.224124073982 -v -0.309615135193 0.992788553238 -0.226431727409 -v -0.307722568512 0.995178222656 -0.223333239555 -v -0.308899879456 0.997443914413 -0.225597083569 -v -0.306552886963 0.996318519115 -0.226082086563 -v -0.301561355591 0.999858021736 -0.221365690231 -v -0.301273822784 0.999540150166 -0.223513543606 -v -0.300451040268 0.999494612217 -0.225161433220 -v -0.291275262833 1.008644461632 -0.219689548016 -v -0.289765357971 1.008863568306 -0.223312497139 -v -0.303882122040 1.002618789673 -0.222436308861 -v -0.245472908020 1.029212474823 -0.216191470623 -v -0.251756668091 1.032742142677 -0.216125905514 -v -0.240088224411 1.029202461243 -0.212740898132 -v -0.305489063263 0.996842980385 -0.228073120117 -v -0.301641464233 1.000535249710 -0.226922750473 -v -0.297816038132 1.000618338585 -0.226435422897 -v -0.304344177246 0.995790660381 -0.228550374508 -v -0.307172536850 0.993706703186 -0.230047941208 -v -0.308262586594 0.994648814201 -0.229670286179 -v -0.308869600296 0.993044137955 -0.230499446392 -v -0.308663368225 0.993162393570 -0.231502115726 -v -0.309333801270 0.993721485138 -0.231109619141 -v -0.308087825775 0.994998931885 -0.231224834919 -v -0.103364944458 1.130733013153 -0.165089964867 -v -0.107626914978 1.133225798607 -0.140607297421 -v -0.110349178314 1.147431254387 -0.169585108757 -v -0.118245124817 1.140465259552 -0.188436806202 -v -0.112480401993 1.127350330353 -0.185356020927 -v -0.119234800339 1.154477119446 -0.179611444473 -v -0.122121334076 1.162646651268 -0.173162460327 -v -0.123259067535 1.147673130035 -0.192043066025 -v -0.307780742645 0.994723260403 -0.231847167015 -v -0.307749986649 0.993669688702 -0.231788516045 -v -0.306983709335 0.993704020977 -0.230996787548 -v -0.193033456802 1.081855773926 -0.203872740269 -v -0.194959878922 1.074067234993 -0.206613779068 -v -0.192106723785 1.074653506279 -0.197215080261 -v -0.189585685730 1.081505656242 -0.199741780758 -v -0.181468963623 1.087621688843 -0.203916847706 -v -0.182246923447 1.086801290512 -0.208190560341 -v -0.180797338486 1.080666303635 -0.200190067291 -v -0.238004446030 1.038412332535 -0.221756696701 -v -0.255303144455 1.040868282318 -0.221722602844 -v -0.259346246719 1.034848093987 -0.217119097710 -v -0.226242780685 1.046014308929 -0.223912119865 -v -0.243605136871 1.045503258705 -0.225179314613 -v -0.229806661606 1.033677101135 -0.221885204315 -v -0.128174781799 1.188377022743 -0.200627446175 -v -0.148290157318 1.179109573364 -0.194076895714 -v -0.271722316742 1.054550886154 -0.227642059326 -v -0.274076938629 1.049859046936 -0.228212535381 -v -0.270540475845 1.041400551796 -0.231285452843 -v -0.265389442444 1.048523783684 -0.231947541237 -v -0.279670238495 1.057693004608 -0.219425976276 -v -0.279539346695 1.051576972008 -0.220776438713 -v -0.275705814362 1.041727423668 -0.228427529335 -v -0.199706077576 1.055555105209 -0.210151553154 -v -0.194469451904 1.055464029312 -0.201491832733 -v -0.188562631607 1.062397480011 -0.194959938526 -v -0.193209409714 1.067214727402 -0.202750325203 -v -0.197559595108 1.061594724655 -0.212190330029 -v -0.199322462082 1.054384827614 -0.212732195854 -v -0.264539003372 1.034891843796 -0.224602222443 -v -0.264505386353 1.033686161041 -0.220391511917 -v -0.259446859360 1.043034553528 -0.228882968426 -v -0.253154993057 1.049899816513 -0.229087173939 -v -0.192896127701 1.083252668381 -0.207294523716 -v -0.205631494522 1.076366066933 -0.214735269547 -v -0.194759368896 1.084827780724 -0.212751626968 -v -0.223470926285 1.074144601822 -0.221447348595 -v -0.204793214798 1.086842775345 -0.216361939907 -v -0.216625213623 1.087888479233 -0.219625651836 -v -0.195574283600 1.087720632553 -0.216327428818 -v -0.220762968063 1.036061048508 -0.216470956802 -v -0.213054895401 1.035783767700 -0.213620066643 -v -0.201663494110 1.045588612556 -0.206914484501 -v -0.209848642349 1.043720960617 -0.214580178261 -v -0.216307878494 1.038053512573 -0.218539953232 -v -0.226351261139 1.035285830498 -0.218240320683 -v -0.205461740494 1.046299815178 -0.217294871807 -v -0.213101387024 1.042110800743 -0.219072997570 -v -0.220921278000 1.039087295532 -0.221290767193 -v -0.220387458801 1.042260169983 -0.223516404629 -v -0.213362932205 1.046354770660 -0.223494648933 -v -0.166803121567 1.090283155441 -0.212349832058 -v -0.172270536423 1.087766289711 -0.218560039997 -v -0.183573484421 1.086018800735 -0.212494730949 -v -0.167399406433 1.091666579247 -0.207822561264 -v -0.158848285675 1.093401670456 -0.218638300896 -v -0.162909030914 1.089765548706 -0.223327994347 -v -0.030130147934 1.186614990234 -0.177592396736 -v -0.028016805649 1.185017704964 -0.176330447197 -v -0.027128219604 1.182949185371 -0.177097141743 -v -0.030794620514 1.185065984726 -0.177214145660 -v -0.027263402939 1.185469865799 -0.176604092121 -v -0.029033184052 1.187615036964 -0.178278744221 -v -0.025565147400 1.183858990669 -0.176834225655 -v -0.026248216629 1.187106251717 -0.178503096104 -v -0.155820369720 1.101422905922 -0.208842039108 -v -0.143939018250 1.110964536667 -0.203809499741 -v -0.147772073746 1.116233944893 -0.210553169250 -v -0.153800964355 1.103918313980 -0.216478586197 -v -0.151521444321 1.110116600990 -0.224545180798 -v -0.153570175171 1.098989486694 -0.229076087475 -v -0.153712034225 1.098475694656 -0.221522092819 -v -0.143598556519 1.121090412140 -0.215590834618 -v -0.025197982788 1.179040908813 -0.178160905838 -v -0.028691530228 1.180666327477 -0.177641034126 -v -0.024049282074 1.180395364761 -0.178064346313 -v -0.023061275482 1.183145642281 -0.176922082901 -v -0.024633884430 1.187012076378 -0.180191814899 -v -0.022006034851 1.183752536774 -0.176543354988 -v -0.023281335831 1.181692600250 -0.177503108978 -v -0.041700124741 1.194597840309 -0.188832759857 -v -0.040053844452 1.195041775703 -0.191445589066 -v -0.038641691208 1.194105863571 -0.194117784500 -v -0.021546125412 1.184016108513 -0.178950071335 -v -0.023211956024 1.185567021370 -0.181426763535 -v -0.020884990692 1.182555675507 -0.179597258568 -v -0.155306577682 1.094101190567 -0.223596096039 -v -0.153067588806 1.095505952835 -0.230197072029 -v -0.024875402451 1.176557660103 -0.180157959461 -v -0.029001712799 1.177595734596 -0.180325567722 -v -0.022265434265 1.178601741791 -0.180594265461 -v -0.022731781006 1.183528065681 -0.182420313358 -v -0.129092454910 1.126704692841 -0.201514482498 -v -0.129842519760 1.138575315475 -0.203304290771 -v -0.140452623367 1.137107372284 -0.216508805752 -v -0.143960952759 1.126296997070 -0.219137907028 -v -0.154357194901 1.127161264420 -0.228255271912 -v -0.149726629257 1.136419534683 -0.223747491837 -v -0.174418687820 1.142764806747 -0.223434805870 -v -0.169390678406 1.132646441460 -0.235435843468 -v -0.159634113312 1.138588905334 -0.227177619934 -v -0.183374881744 1.151468753815 -0.210604786873 -v -0.202531337738 1.122591972351 -0.235654771328 -v -0.174713850021 1.123547434807 -0.239896833897 -v -0.026677846909 1.177809119225 -0.182901620865 -v -0.028857231140 1.177586197853 -0.182363390923 -v -0.180840730667 1.098434567451 -0.228965997696 -v -0.177192926407 1.093732595444 -0.232580184937 -v -0.174651861191 1.104560375214 -0.238290369511 -v -0.178368806839 1.106090188026 -0.233393609524 -v -0.168076038361 1.097283363342 -0.234453976154 -v -0.169014692307 1.107891798019 -0.237803101540 -v -0.176104545593 1.089681625366 -0.227148771286 -v -0.167286634445 1.091750741005 -0.230993151665 -v -0.157043457031 1.091841936111 -0.227160215378 -v -0.159157276154 1.091518163681 -0.229555249214 -v -0.155268907547 1.095846176147 -0.231792688370 -v -0.160398960114 1.094118118286 -0.232700586319 -v -0.161424636841 1.113683462143 -0.233527243137 -v -0.153696537018 1.112774372101 -0.227253794670 -v -0.160377740860 1.100663542747 -0.232878029346 -v -0.155321598053 1.101318359375 -0.229982614517 -v -0.129415988922 1.121230006218 -0.195909500122 -v -0.115429162979 1.119397759438 -0.179361224174 -v -0.130902051926 1.117012500763 -0.191515922546 -v -0.115962266922 1.118604898453 -0.176315546036 -v -0.110272169113 1.120705842972 -0.160776674747 -v -0.113960504532 1.119729280472 -0.159553110600 -v -0.120643854141 1.123042941093 -0.142679691315 -v -0.116504192352 1.124894142151 -0.141778171062 -v -0.116237640381 1.119012355804 -0.159137606621 -v -0.121575117111 1.122238159180 -0.143324553967 -v -0.133432149887 1.123821258545 -0.128500640392 -v -0.129076957703 1.126407384872 -0.125177204609 -v -0.133791923523 1.122404217720 -0.126223802567 -v -0.151261806488 1.118286848068 -0.116750955582 -v -0.150382995605 1.123445391655 -0.118158876896 -v -0.165156841278 1.112223029137 -0.114312648773 -v -0.168798208237 1.119785189629 -0.114506125450 -v -0.146946668625 1.111286401749 -0.115677714348 -v -0.159301757813 1.103829860687 -0.112823069096 -v -0.169470071793 1.095391631126 -0.113259613514 -v -0.176546573639 1.104174375534 -0.116012811661 -v -0.181593179703 1.086678743362 -0.119435906410 -v -0.187299728394 1.095249652863 -0.122014880180 -v -0.192334890366 1.079224348068 -0.132685303688 -v -0.196459770203 1.086544990540 -0.133203148842 -v -0.167187929153 1.093284368515 -0.118592262268 -v -0.158042192459 1.100373268127 -0.117775142193 -v -0.177332639694 1.085744619370 -0.124823093414 -v -0.188689470291 1.078408122063 -0.135257482529 -v -0.133802890778 1.114060878754 -0.127829909325 -v -0.147693157196 1.107499122620 -0.121569573879 -v -0.130974292755 1.116622328758 -0.124757289886 -v -0.118712902069 1.116385936737 -0.142161726952 -v -0.114444732666 1.114831447601 -0.156344830990 -v -0.116871118546 1.115381836891 -0.173745512962 -v -0.127918481827 1.112462520599 -0.189754128456 -v -0.140444517136 1.105615377426 -0.201572239399 -v -0.153226137161 1.096442341805 -0.206420838833 -v -0.166574478149 1.087847948074 -0.204887628555 -v -0.148325681686 1.084455490112 -0.202776551247 -v -0.132059097290 1.095326542854 -0.197568535805 -v -0.118970394135 1.104256153107 -0.183249711990 -v -0.113605022430 1.110781550407 -0.171092212200 -v -0.119467735291 1.110980629921 -0.156059205532 -v -0.118595600128 1.107293367386 -0.167004108429 -v -0.122451543808 1.113593697548 -0.145232379436 -v -0.123160123825 1.101921558380 -0.179320454597 -v -0.134120464325 1.093572258949 -0.190831780434 -v -0.149135828018 1.083696126938 -0.196358323097 -v -0.164771795273 1.075974822044 -0.199542462826 -v -0.178263664246 1.069347739220 -0.194986939430 -v -0.178308486938 1.067918300629 -0.193336069584 -v -0.187574863434 1.061674833298 -0.193846702576 -v -0.165014982224 1.074935913086 -0.195628762245 -v -0.203114748001 1.047059774399 -0.203367710114 -v -0.194963455200 1.055162310600 -0.198111474514 -v -0.211767911911 1.036029338837 -0.208810448647 -v -0.212155818939 1.037373661995 -0.206103205681 -v -0.226508617401 1.025479078293 -0.212446689606 -v -0.223773002625 1.027394175529 -0.209277987480 -v -0.234503984451 1.028979897499 -0.212858796120 -v -0.240490436554 1.019392728806 -0.204267203808 -v -0.244890213013 1.018656373024 -0.196853935719 -v -0.253900766373 1.026709318161 -0.190710783005 -v -0.246401309967 1.020783185959 -0.188246011734 -v -0.252592563629 1.030183553696 -0.180509030819 -v -0.245979547501 1.024557352066 -0.179143786430 -v -0.256746768951 1.027064442635 -0.190641164780 -v -0.255533695221 1.030755162239 -0.181877255440 -v -0.261640310287 1.031444549561 -0.191453814507 -v -0.259487628937 1.033203363419 -0.183249652386 -v -0.265381097794 1.035956144333 -0.193069219589 -v -0.262969732285 1.038062810898 -0.186465203762 -v -0.266802787781 1.033626079559 -0.198642969131 -v -0.266010284424 1.031839489937 -0.204385280609 -v -0.270675420761 1.031339287758 -0.205536782742 -v -0.263313770294 1.031893968582 -0.211139619350 -v -0.266834974289 1.031145095825 -0.212556302547 -v -0.272355556488 1.027421116829 -0.214405179024 -v -0.271020889282 1.027558326721 -0.222151696682 -v -0.277619600296 1.026623606682 -0.207558810711 -v -0.287308216095 1.017905473709 -0.209584236145 -v -0.281747341156 1.017393589020 -0.217522501945 -v -0.290399074554 1.018112540245 -0.206793189049 -v -0.296507358551 1.008396148682 -0.213786959648 -v -0.293893098831 1.008637905121 -0.215864181519 -v -0.293311119080 1.018383622169 -0.204794526100 -v -0.298957824707 1.008759021759 -0.211997389793 -v -0.304624319077 1.000485181808 -0.218563914299 -v -0.302252292633 1.000493049622 -0.219046711922 -v -0.300442457199 1.010485529900 -0.212966322899 -v -0.295816421509 1.020895838737 -0.206146836281 -v -0.304791212082 1.002254843712 -0.220315814018 -v -0.298930644989 1.011639118195 -0.215272247791 -v -0.294509649277 1.021376132965 -0.208923101425 -v -0.305289983749 0.996663510799 -0.231430888176 -v -0.299525260925 1.002564072609 -0.230026721954 -v -0.304598808289 0.995765805244 -0.231520950794 -v -0.298396825790 1.001657962799 -0.230945348740 -v -0.303261518478 0.995977520943 -0.230365991592 -v -0.297660827637 1.000682115555 -0.229683041573 -v -0.297706365585 1.000391125679 -0.228264808655 -v -0.289501190186 1.008563995361 -0.227962017059 -v -0.289624452591 1.008912801743 -0.230370998383 -v -0.289333820343 1.008850455284 -0.225851535797 -v -0.279825210571 1.017765641212 -0.226271927357 -v -0.280007839203 1.018149375916 -0.228962600231 -v -0.279944658279 1.017497062683 -0.223519802094 -v -0.270844221115 1.027772903442 -0.226072430611 -v -0.271415948868 1.028410196304 -0.229272961617 -v -0.265730381012 1.036768198013 -0.229641437531 -v -0.273293256760 1.029914379120 -0.231202602386 -v -0.281020164490 1.019194722176 -0.231097579002 -v -0.275867462158 1.031501293182 -0.230385065079 -v -0.282980203629 1.020815610886 -0.230529665947 -v -0.276958703995 1.032087326050 -0.227720260620 -v -0.283688306808 1.021362662315 -0.227996766567 -v -0.275023937225 1.041705608368 -0.224775314331 -v -0.277465105057 1.049158096313 -0.218947708607 -v -0.292066335678 1.011417031288 -0.228806972504 -v -0.291158199310 1.010475993156 -0.230765581131 -v -0.289323091507 1.031211256981 -0.203581392765 -v -0.290323972702 1.031991720200 -0.200689315796 -v -0.239644289017 1.023190736771 -0.194890260696 -v -0.243260860443 1.023399710655 -0.188031911850 -v -0.234212636948 1.023423552513 -0.201564133167 -v -0.236090183258 1.021491050720 -0.202814877033 -v -0.199890851974 1.066753745079 -0.155146598816 -v -0.198434829712 1.067134857178 -0.156990110874 -v -0.202668666840 1.063336849213 -0.159977316856 -v -0.203597068787 1.063326001167 -0.157728374004 -v -0.194704532623 1.071926832199 -0.149038195610 -v -0.198426008224 1.071671962738 -0.146451592445 -v -0.204805612564 1.071662425995 -0.154704451561 -v -0.202652454376 1.077832579613 -0.147649407387 -v -0.199759483337 1.090992927551 -0.134201765060 -v -0.193034887314 1.103491783142 -0.123884439468 -v -0.185172319412 1.115739107132 -0.117173492908 -v -0.169998168945 1.124291777611 -0.114598035812 -v -0.171854734421 1.130073547363 -0.107446432114 -v -0.148004770279 1.133014440536 -0.109064579010 -v -0.149436950684 1.126783370972 -0.117963194847 -v -0.150363683701 1.141389131546 -0.109232008457 -v -0.129365682602 1.151356697083 -0.121360957623 -v -0.122787952423 1.133342862129 -0.118729412556 -v -0.155005455017 1.151965379715 -0.112209022045 -v -0.138591766357 1.161190986633 -0.122988164425 -v -0.160556554794 1.158395051956 -0.114823222160 -v -0.147845268250 1.166557192802 -0.123666226864 -v -0.164972066879 1.160841345787 -0.116209328175 -v -0.178743362427 1.155038595200 -0.107457756996 -v -0.193982124329 1.154866933823 -0.105260729790 -v -0.203804731369 1.162194013596 -0.107664465904 -v -0.203792333603 1.170711994171 -0.114600837231 -v -0.206958532333 1.165179967880 -0.118471503258 -v -0.199360370636 1.174407482147 -0.126586496830 -v -0.196566343307 1.177967667580 -0.121480822563 -v -0.211217403412 1.155824661255 -0.123464763165 -v -0.203953742981 1.165765166283 -0.134148895741 -v -0.217429161072 1.159095644951 -0.144569456577 -v -0.199710369110 1.170780539513 -0.160428583622 -v -0.189121007919 1.175161838531 -0.143832862377 -v -0.234441280365 1.145398378372 -0.158812522888 -v -0.208461523056 1.159196853638 -0.180670976639 -v -0.252185583115 1.116116285324 -0.170371294022 -v -0.254233121872 1.105154395103 -0.180382847786 -v -0.260434627533 1.096214771271 -0.185628652573 -v -0.256431102753 1.092083334923 -0.177367925644 -v -0.260645627975 1.097700595856 -0.194319903851 -v -0.270902156830 1.083015918732 -0.199528574944 -v -0.269893407822 1.081749439240 -0.189446091652 -v -0.256181478500 1.098464727402 -0.206231713295 -v -0.266798496246 1.083191156387 -0.212066352367 -v -0.273687601089 1.068179607391 -0.216568171978 -v -0.278900146484 1.067694902420 -0.202702641487 -v -0.258903264999 1.083254337311 -0.220462024212 -v -0.247154474258 1.097606897354 -0.216386973858 -v -0.265223979950 1.066669940948 -0.225265324116 -v -0.269017219543 1.059843063354 -0.226757824421 -v -0.277544975281 1.061369776726 -0.218553006649 -v -0.256574153900 1.063487887383 -0.228868722916 -v -0.250155687332 1.081251740456 -0.223481357098 -v -0.261117696762 1.055521845818 -0.231173992157 -v -0.248385906219 1.057556748390 -0.228811144829 -v -0.238748550415 1.076548695564 -0.223608195782 -v -0.234692811966 1.056388735771 -0.223354101181 -v -0.211627244949 1.056368947029 -0.221282124519 -v -0.228275060654 1.091947317123 -0.220990777016 -v -0.238418102264 1.094660639763 -0.219326555729 -v -0.216057777405 1.107417821884 -0.225473523140 -v -0.224503517151 1.109220266342 -0.227116346359 -v -0.211361885071 1.098301529884 -0.220512151718 -v -0.212726354599 1.104912161827 -0.221194267273 -v -0.207950830460 1.100727200508 -0.218157291412 -v -0.203674316406 1.092759370804 -0.219182014465 -v -0.202742576599 1.096199750900 -0.218188643456 -v -0.196501970291 1.090510606766 -0.218953371048 -v -0.196993589401 1.093491673470 -0.220363080502 -v -0.187599182129 1.091245770454 -0.224233686924 -v -0.188641786575 1.095030307770 -0.223733663559 -v -0.186239719391 1.088770151138 -0.220787882805 -v -0.185178756714 1.086016893387 -0.216318964958 -v -0.174246788025 1.087175607681 -0.223291456699 -v -0.165641307831 1.089258909225 -0.227088153362 -v -0.211334466934 1.109454154968 -0.224141299725 -v -0.196863412857 1.116337895393 -0.232053399086 -v -0.198950290680 1.117026805878 -0.234745264053 -v -0.180886983871 1.115268468857 -0.233694016933 -v -0.180615663528 1.115485668182 -0.236742198467 -v -0.177260398865 1.118756055832 -0.240124464035 -v -0.201287984848 1.117602467537 -0.238141715527 -v -0.282895326614 1.060189247131 -0.204914152622 -v -0.282418012619 1.057005047798 -0.194644689560 -v -0.277503967285 1.065804839134 -0.192061483860 -v -0.270702600479 1.064300417900 -0.181479215622 -v -0.276010751724 1.054841160774 -0.184064984322 -v -0.264964342117 1.078153371811 -0.180190920830 -v -0.254631042480 1.068855047226 -0.170619845390 -v -0.259245395660 1.057962894440 -0.174149036407 -v -0.248440742493 1.082378029823 -0.167859196663 -v -0.239177227020 1.074390888214 -0.160453259945 -v -0.243740320206 1.063062429428 -0.160507678986 -v -0.249438762665 1.055111646652 -0.162672996521 -v -0.241800546646 1.051291108131 -0.157198011875 -v -0.245920419693 1.046977758408 -0.160051584244 -v -0.247624635696 1.043250799179 -0.161501169205 -v -0.185623407364 1.163547277451 -0.191922187805 -v -0.178851366043 1.168696165085 -0.170140326023 -v -0.171039104462 1.162240505219 -0.197747766972 -v -0.167164564133 1.171891689301 -0.179815948009 -v -0.169514179230 1.153752446175 -0.212879836559 -v -0.163647174835 1.155890226364 -0.217210114002 -v -0.164894342422 1.163555622101 -0.203335464001 -v -0.162951707840 1.147874236107 -0.221974015236 -v -0.158002376556 1.151909351349 -0.223278760910 -v -0.154706716537 1.144289135933 -0.224242210388 -v -0.152066946030 1.148701906204 -0.224407970905 -v -0.146767616272 1.142306327820 -0.221583485603 -v -0.143728017807 1.146293640137 -0.221992492676 -v -0.138458013535 1.141785860062 -0.215267539024 -v -0.135710000992 1.144933223724 -0.215805530548 -v -0.130891323090 1.143802881241 -0.204370617867 -v -0.129570007324 1.146505594254 -0.206188857555 -v -0.125153064728 1.151684284210 -0.194277405739 -v -0.120690345764 1.156343221664 -0.196658849716 -v -0.123557567596 1.151302337646 -0.207581400871 -v -0.123983860016 1.158541202545 -0.182885527611 -v -0.120908975601 1.161676406860 -0.185635268688 -v -0.127824783325 1.167345404625 -0.175681769848 -v -0.122528076172 1.169641494751 -0.178976297379 -v -0.113455295563 1.165868759155 -0.187700688839 -v -0.108748197556 1.163328170776 -0.198548078537 -v -0.110469579697 1.173360347748 -0.185494899750 -v -0.091323852539 1.179773807526 -0.191483795643 -v -0.090184450150 1.176342606544 -0.194954812527 -v -0.111765384674 1.178711295128 -0.185415387154 -v -0.092939138412 1.184199452400 -0.190637469292 -v -0.113289833069 1.182440042496 -0.187966227531 -v -0.095153093338 1.187181711197 -0.191652655602 -v -0.073956251144 1.192005038261 -0.192678928375 -v -0.073637962341 1.188065290451 -0.191455483437 -v -0.099256277084 1.190625190735 -0.194961786270 -v -0.073813676834 1.195713639259 -0.195692181587 -v -0.096777915955 1.196445703506 -0.206112921238 -v -0.072917699814 1.198483467102 -0.200721621513 -v -0.095563650131 1.196424365044 -0.214924454689 -v -0.071158885956 1.198626756668 -0.206956505775 -v -0.129826784134 1.190738201141 -0.212317109108 -v -0.157343387604 1.172712326050 -0.208674550056 -v -0.128477811813 1.186428785324 -0.221658170223 -v -0.093955516815 1.193287849426 -0.221389353275 -v -0.154647350311 1.168583154678 -0.219737291336 -v -0.149827718735 1.162814021111 -0.225700199604 -v -0.124877214432 1.179793953896 -0.226911485195 -v -0.144460201263 1.156676888466 -0.227152824402 -v -0.120687484741 1.171841144562 -0.228286266327 -v -0.139381647110 1.150594115257 -0.223807334900 -v -0.117116689682 1.165078282356 -0.225237190723 -v -0.128769636154 1.149663209915 -0.217538893223 -v -0.111747980118 1.161472201347 -0.217855334282 -v -0.109767198563 1.161700129509 -0.209116935730 -v -0.088203907013 1.172519445419 -0.211088180542 -v -0.088263034821 1.173820972443 -0.218165874481 -v -0.089234113693 1.173993110657 -0.201246440411 -v -0.071101665497 1.179669737816 -0.199828505516 -v -0.069531917572 1.179702758789 -0.205872833729 -v -0.072219848633 1.181545853615 -0.195242881775 -v -0.056831598282 1.183016300201 -0.193188905716 -v -0.055566310883 1.181527018547 -0.196716129780 -v -0.073021411896 1.184370517731 -0.192374467850 -v -0.057552337646 1.185418963432 -0.190718352795 -v -0.057724237442 1.188611626625 -0.189705491066 -v -0.045343875885 1.186881065369 -0.185175061226 -v -0.045280933380 1.183866500854 -0.186353206635 -v -0.057383060455 1.192056655884 -0.190340936184 -v -0.044640541077 1.190080165863 -0.185317754745 -v -0.056554079056 1.195130228996 -0.192540347576 -v -0.043342113495 1.192810654640 -0.186669468880 -v -0.055220603943 1.197255134583 -0.196023941040 -v -0.053610086441 1.197649002075 -0.200031757355 -v -0.052100419998 1.196197032928 -0.203523576260 -v -0.069370269775 1.196292161942 -0.211897075176 -v -0.068021297455 1.192861676216 -0.214833736420 -v -0.050945520401 1.193327188492 -0.205915927887 -v -0.092361450195 1.188226699829 -0.224879384041 -v -0.090728044510 1.182599067688 -0.225352346897 -v -0.067334413528 1.188707113266 -0.215543806553 -v -0.089248895645 1.177467584610 -0.223018467426 -v -0.067439317703 1.184669256210 -0.214068412781 -v -0.068172216415 1.181514143944 -0.210815250874 -v -0.052105903625 1.183036804199 -0.204133033752 -v -0.050871849060 1.185964107513 -0.206329762936 -v -0.053818464279 1.181404590607 -0.200728774071 -v -0.041506052017 1.180616259575 -0.193893551826 -v -0.039731979370 1.182307600975 -0.196195423603 -v -0.043209075928 1.180416822433 -0.191138744354 -v -0.044537305832 1.181544065475 -0.188471496105 -v -0.031432151794 1.183127760887 -0.177642107010 -v -0.023880004883 1.179421424866 -0.182783424854 -v -0.023120403290 1.181398153305 -0.182788312435 -v -0.038379907608 1.185227513313 -0.197383880615 -v -0.021365642548 1.180629491806 -0.180217981339 -v -0.037654399872 1.188567876816 -0.197493553162 -v -0.037757396698 1.191774725914 -0.196288704872 -v -0.050418376923 1.189674615860 -0.206975281239 -v -0.158075809479 1.171878576279 -0.187048196793 -v -0.184828758240 1.181181192398 -0.133212804794 -v -0.183850765228 1.183899402618 -0.127866744995 -v -0.169936895370 1.187874436378 -0.131015658379 -v -0.160047531128 1.187471389771 -0.131462752819 -v -0.157574653625 1.192477464676 -0.129109740257 -v -0.170529127121 1.193306446075 -0.127960264683 -v -0.157630920410 1.193547725677 -0.127042472363 -v -0.168020248413 1.194449782372 -0.126551985741 -v -0.155678272247 1.197181582451 -0.117395758629 -v -0.168904304504 1.200421571732 -0.116072595119 -v -0.177747726440 1.199375391006 -0.109128236771 -v -0.186355590820 1.196253895760 -0.100548923016 -v -0.188017368317 1.190521001816 -0.119188547134 -v -0.194039821625 1.188312888145 -0.112169504166 -v -0.203054904938 1.179349541664 -0.106702864170 -v -0.192745685577 1.189022660255 -0.093927919865 -v -0.195131540298 1.185600280762 -0.119000375271 -v -0.185272932053 1.190236568451 -0.123825550079 -v -0.202980279922 1.177518606186 -0.111484885216 -v -0.206887245178 1.169745087624 -0.105333983898 -v -0.206416130066 1.174813270569 -0.101252019405 -v -0.199194669724 1.162851572037 -0.099504411221 -v -0.197700738907 1.180861234665 -0.091671824455 -v -0.150561571121 1.174575209618 -0.132039248943 -v -0.209591627121 1.058356404305 -0.160460770130 -v -0.217305183411 1.052603721619 -0.160649895668 -v -0.238281965256 1.033112168312 -0.170957684517 -v -0.244051933289 1.025660991669 -0.180232465267 -v -0.239808082581 1.032481074333 -0.169264376163 -v -0.232315063477 1.036808967590 -0.161297738552 -v -0.230905294418 1.037472367287 -0.163685441017 -v -0.225137472153 1.044082164764 -0.158028185368 -v -0.223443984985 1.044231295586 -0.160395681858 -v -0.223054885864 1.028931379318 -0.207141757011 -v -0.210240125656 1.094408273697 -0.117802858353 -v -0.226145267487 1.091406583786 -0.144528210163 -v -0.228773593903 1.093539595604 -0.144238770008 -v -0.229978561401 1.091392636299 -0.150956988335 -v -0.231330394745 1.094696521759 -0.150297284126 -v -0.228517770767 1.097494721413 -0.144955992699 -v -0.229495048523 1.099721908569 -0.131893873215 -v -0.229601860046 1.105694532394 -0.127975225449 -v -0.230824470520 1.112782955170 -0.126599431038 -v -0.231130123138 1.112404465675 -0.120916366577 -v -0.238191127777 1.121705651283 -0.135489940643 -v -0.240043640137 1.121748328209 -0.132544755936 -v -0.242587566376 1.117125391960 -0.144999742508 -v -0.246487855911 1.119711399078 -0.144290924072 -v -0.241481542587 1.113143205643 -0.153935611248 -v -0.245183229446 1.112014532089 -0.156490027905 -v -0.238260984421 1.105642080307 -0.157133936882 -v -0.240424156189 1.103380203247 -0.159065842628 -v -0.233463764191 1.100573539734 -0.154703736305 -v -0.235453605652 1.097964048386 -0.155216693878 -v -0.235904932022 1.095326662064 -0.155326545238 -v -0.230455398560 1.097877264023 -0.150153517723 -v -0.249421119690 1.121675491333 -0.144378840923 -v -0.240281105042 1.124884128571 -0.131052792072 -v -0.227780818939 1.113982677460 -0.117298245430 -v -0.130397796631 1.182343721390 -0.076600074768 -v -0.129862308502 1.183777570724 -0.072378516197 -v -0.136162042618 1.179548740387 -0.069244503975 -v -0.137062549591 1.183297991753 -0.068274199963 -v -0.133409261703 1.184647083282 -0.072437226772 -v -0.144817352295 1.180659770966 -0.065627694130 -v -0.142683744431 1.184700131416 -0.066475808620 -v -0.271175146103 1.039876699448 -0.190005302429 -v -0.301822423935 1.001146674156 -0.225157797337 -v 0.040446281433 1.266857385635 0.129650652409 -v 0.045840978622 1.267236709595 0.128639698029 -v 0.042178869247 1.272785186768 0.116086125374 -v 0.035976171494 1.262238383293 0.125946938992 -v -0.000801801682 1.292400956154 0.102130472660 -v -0.000761747360 1.303220987320 0.093628942966 -v 0.015448331833 1.314785122871 0.084255039692 -v 0.030528545380 1.315371155739 0.082960784435 -v 0.019721984863 1.301102638245 0.098109424114 -v 0.034617424011 1.303159475327 0.095117151737 -v -0.001373052597 1.277826786041 0.111266195774 -v -0.001722097397 1.284371614456 0.109198451042 -v 0.011536121368 1.282118082047 0.111050844193 -v 0.009827852249 1.276010155678 0.111163258553 -v 0.008899927139 1.272522568703 0.108775258064 -v 0.007982730865 1.269812107086 0.108590006828 -v -0.013120889664 1.280258178711 0.103836178780 -v -0.013952493668 1.287459611893 0.096029043198 -v -0.010375499725 1.274148821831 0.106453537941 -v -0.007061481476 1.270083665848 0.105696380138 -v 0.000071287155 1.273618578911 0.108782231808 -v -0.005353450775 1.267195701599 0.105669260025 -v -0.003715276718 1.265943884850 0.104040384293 -v -0.004131793976 1.253381729126 0.104748189449 -v -0.003669261932 1.256071329117 0.105417490005 -v -0.002878904343 1.257432699203 0.105259358883 -v -0.013543844223 1.267071247101 0.099097788334 -v -0.009968519211 1.265434265137 0.100078165531 -v -0.008393764496 1.263895630836 0.101276814938 -v -0.006794929504 1.262893676758 0.101056635380 -v -0.010854721069 1.252157211304 0.098580598831 -v -0.008997440338 1.255574226379 0.100211143494 -v -0.010912179947 1.258270978928 0.096816718578 -v -0.011093616486 1.261292099953 0.096696496010 -v -0.007898807526 1.257424354553 0.101626813412 -v -0.009550809860 1.259004950523 0.098516225815 -v -0.009840488434 1.260907649994 0.098658919334 -v -0.006556272507 1.258249044418 0.101993978024 -v -0.008103132248 1.259290218353 0.099143624306 -v -0.008106708527 1.260651588440 0.098746120930 -v 0.000634908676 1.269962787628 0.108458042145 -v 0.001318454742 1.268399953842 0.106259763241 -v 0.007476329803 1.268658280373 0.106844902039 -v 0.003443002701 1.252889513969 0.108284533024 -v 0.002853155136 1.255975246429 0.108673334122 -v 0.002923965454 1.257455945015 0.107795357704 -v 0.011467933655 1.255045294762 0.108669996262 -v 0.009955406189 1.257626056671 0.108927190304 -v 0.009441614151 1.258421897888 0.107399821281 -v 0.014464855194 1.289756536484 0.104732036591 -v 0.025943517685 1.283508300781 0.107297778130 -v 0.039303779602 1.279110550880 0.106710374355 -v 0.036115169525 1.278290748596 0.107457518578 -v 0.042536735535 1.278733968735 0.105807304382 -v 0.030768871307 1.288198709488 0.104064941406 -v 0.037350654602 1.289890766144 0.102047562599 -v 0.032482862473 1.275633811951 0.108351588249 -v 0.028729915619 1.263514757156 0.113653242588 -v 0.018857955933 1.271643638611 0.108702600002 -v 0.016063928604 1.269024133682 0.106653332710 -v 0.028270483017 1.270699024200 0.108028233051 -v 0.022220373154 1.277044057846 0.110479056835 -v 0.019372463226 1.258092880249 0.110031247139 -v 0.023556232452 1.262869477272 0.107618689537 -v 0.035057067871 1.268901348114 0.115687489510 -v 0.039037466049 1.272062182426 0.116605579853 -v 0.014039754868 1.267450094223 0.106931269169 -v 0.012716054916 1.266707539558 0.106147646904 -v 0.017132282257 1.259011745453 0.106750369072 -v 0.020047903061 1.262408375740 0.104903697968 -v 0.019694805145 1.265416860580 0.105079472065 -v 0.017275571823 1.264821529388 0.105033516884 -v 0.017734289169 1.262517094612 0.104454278946 -v 0.015003919601 1.260491371155 0.107061386108 -v 0.015677213669 1.264597892761 0.104555845261 -v 0.016396999359 1.262519359589 0.103408336639 -v 0.014380216599 1.260196924210 0.104527294636 -v 0.023535966873 1.267078399658 0.106167256832 -v -0.012151002884 1.235135316849 0.109545886517 -v -0.016305923462 1.224170684814 0.110445380211 -v -0.010377168655 1.200674295425 0.124419331551 -v -0.006423950195 1.185832023621 0.138172209263 -v -0.010899543762 1.192893743515 0.129531621933 -v -0.017629623413 1.210340738297 0.107257723808 -v -0.026541233063 1.185374736786 0.118990361691 -v -0.022340297699 1.197549104691 0.109548330307 -v 0.035350084305 1.248472332954 0.142883300781 -v 0.051932334900 1.253603696823 0.148347139359 -v 0.041118383408 1.258031487465 0.142182707787 -v 0.049641847610 1.260149955750 0.141103088856 -v 0.044825792313 1.252733945847 0.148908674717 -v 0.042319774628 1.246564269066 0.148949384689 -v 0.041991710663 1.241669535637 0.144866228104 -v 0.052286386490 1.246867418289 0.148005247116 -v 0.051711082458 1.241842269897 0.144327402115 -v 0.035593986511 1.255735874176 0.134251892567 -v 0.029677391052 1.244845509529 0.136716425419 -v 0.033319473267 1.250971555710 0.137745916843 -v 0.031243801117 1.242845058441 0.136967241764 -v 0.030688762665 1.256210803986 0.122289538383 -v 0.030338525772 1.250825643539 0.129136621952 -v 0.028740406036 1.247478961945 0.134274959564 -v 0.033815860748 1.242522120476 0.134662628174 -v 0.036343336105 1.243577361107 0.131516873837 -v 0.035639047623 1.243583917618 0.141259193420 -v 0.038025856018 1.243572592735 0.136724710464 -v 0.038744688034 1.229243755341 0.136170148849 -v 0.024222373962 1.241967678070 0.129807054996 -v 0.026626348495 1.240379929543 0.132212758064 -v 0.025287628174 1.233862161636 0.128705739975 -v 0.029455423355 1.240218400955 0.133426547050 -v 0.032053232193 1.237096786499 0.129116058350 -v 0.032113552094 1.241108894348 0.132747650146 -v 0.035292625427 1.241956233978 0.129371285439 -v 0.030912876129 1.229870319366 0.131015717983 -v 0.030648946762 1.224499464035 0.134449362755 -v 0.044306993484 1.238245844841 0.135809302330 -v 0.043252468109 1.240461349487 0.139098584652 -v 0.042135715485 1.240919113159 0.133995532990 -v 0.041716814041 1.241783857346 0.135482788086 -v 0.039429187775 1.243738889694 0.133056044579 -v 0.050420999527 1.240142822266 0.139068543911 -v 0.044756889343 1.234812498093 0.136098802090 -v 0.045078516006 1.231711387634 0.137417495251 -v 0.049524068832 1.238426923752 0.135339796543 -v 0.049675464630 1.235311508179 0.135039925575 -v 0.049990892410 1.232141256332 0.135455429554 -v 0.050583839417 1.228020906448 0.136361002922 -v 0.039813756943 1.238145470619 0.129698514938 -v 0.039825677872 1.242085576057 0.130345582962 -v 0.038737535477 1.233376264572 0.133297681808 -v 0.021462440491 1.217258930206 0.132264912128 -v 0.022056579590 1.212752580643 0.133517026901 -v 0.018235683441 1.205214858055 0.139099240303 -v 0.020352602005 1.209083795547 0.136137485504 -v 0.026568651199 1.202765941620 0.148095548153 -v 0.023966073990 1.192803263664 0.152344107628 -v 0.016592502594 1.199261784554 0.141214609146 -v 0.012834787369 1.191551685333 0.144409120083 -v 0.037743806839 1.215576529503 0.149055123329 -v 0.045881509781 1.225828409195 0.145537972450 -v 0.052435159683 1.227740526199 0.144624948502 -v 0.046445846558 1.218936204910 0.150274634361 -v 0.053923368454 1.220834851265 0.149113297462 -v 0.037250757217 1.206232309341 0.152749001980 -v 0.035874843597 1.194463729858 0.157640993595 -v 0.046791553497 1.196104288101 0.159853577614 -v 0.056510210037 1.197567701340 0.158931136131 -v 0.046874284744 1.208952426910 0.154512763023 -v 0.055248498917 1.210875630379 0.153577446938 -v 0.029203891754 1.216282963753 0.141427814960 -v 0.038281440735 1.222136378288 0.144550740719 -v 0.039469957352 1.224807739258 0.138187825680 -v 0.027691841125 1.210708260536 0.145226716995 -v 0.031136751175 1.219664812088 0.136600375175 -v 0.045809268951 1.227646589279 0.138405919075 -v 0.014129638672 1.249409794807 0.115332782269 -v 0.012882471085 1.252357363701 0.110826134682 -v 0.003088235855 1.244774341583 0.113203525543 -v 0.015806198120 1.243852615356 0.119367957115 -v 0.002343654633 1.237422823906 0.117558121681 -v 0.001748561859 1.226236939430 0.122058868408 -v 0.018728971481 1.236750602722 0.120574116707 -v 0.013330936432 1.222983598709 0.124980926514 -v 0.020515918732 1.223115921021 0.129145741463 -v -0.008113384247 1.243763685226 0.107061862946 -v -0.005330562592 1.249330997467 0.104984104633 -v 0.003616333008 1.249160528183 0.109515726566 -v 0.024304866791 1.250104308128 0.120198249817 -v 0.023406744003 1.245513081551 0.126008749008 -v 0.022205352783 1.255663037300 0.115017294884 -v 0.022286176682 1.233654975891 0.123781740665 -v 0.005661487579 1.202055335045 0.129107356071 -v -0.006587982178 1.211276650429 0.122517585754 -v 0.004577875137 1.210666298866 0.126435041428 -v 0.000176429749 1.201238393784 0.127685189247 -v 0.010596990585 1.210288167000 0.128963351250 -v 0.011595726013 1.201239705086 0.133424997330 -v 0.008545637131 1.200110793114 0.130007266998 -v 0.008605241776 1.202653884888 0.129701614380 -v 0.013861179352 1.203346967697 0.131477773190 -v 0.010287761688 1.201593160629 0.130020737648 -v 0.010378360748 1.202918767929 0.129963099957 -v 0.013339757919 1.208619117737 0.130371451378 -v 0.014328479767 1.206321358681 0.130973219872 -v 0.004492282867 1.192520976067 0.136268198490 -v 0.005780458450 1.198042392731 0.130144894123 -v 0.000226497650 1.195833086967 0.130556583405 -v 0.009120702744 1.197683811188 0.134836256504 -v -0.030488014221 1.283267021179 0.061819374561 -v -0.020040273666 1.274581432343 0.086394488811 -v -0.024308919907 1.279701232910 0.074724912643 -v -0.023217916489 1.261051177979 0.081465482712 -v -0.028754949570 1.261417388916 0.070602059364 -v -0.036482095718 1.283128738403 0.047661483288 -v -0.035109758377 1.260555624962 0.058661758900 -v -0.041009902954 1.257912158966 0.046594083309 -v -0.021064043045 1.302900314331 0.072026371956 -v -0.003322601318 1.312586545944 0.080484449863 -v -0.016522645950 1.296046495438 0.085470199585 -v -0.025208473206 1.303212285042 0.054149925709 -v -0.007358551025 1.313477158546 0.060375809669 -v 0.010043859482 1.317523241043 0.063381493092 -v 0.024682044983 1.319341421127 0.062246799469 -v -0.017404079437 1.270059585571 0.095172524452 -v -0.018391847610 1.253546833992 0.091046571732 -v -0.013947963715 1.256553530693 0.094790697098 -v -0.014717340469 1.261037349701 0.094909310341 -v -0.018908500671 1.260896086693 0.090010643005 -v -0.020776271820 1.238931417465 0.095742464066 -v -0.023503780365 1.249016761780 0.084496319294 -v -0.025747776031 1.229195833206 0.091487228870 -v -0.028454780579 1.243663668633 0.075471043587 -v -0.028841972351 1.217222690582 0.085641384125 -v -0.036760330200 1.200345516205 0.081055641174 -v -0.043103218079 1.175856351852 0.098108768463 -v -0.034443616867 1.237311244011 0.066220164299 -v -0.040151596069 1.230180382729 0.055966675282 -v -0.047009706497 1.225324869156 0.042491793633 -v -0.047743082047 1.194535493851 0.058303952217 -v -0.054014205933 1.190686464310 0.040780961514 -v -0.015044689178 1.246884107590 0.097714483738 -v 0.051012039185 1.267523407936 0.126842677593 -v 0.053725004196 1.263754844666 0.121200740337 -v 0.044191360474 1.316711425781 0.076770126820 -v 0.049160242081 1.303004741669 0.090367913246 -v 0.070050954819 1.296021223068 0.083691716194 -v 0.064377546310 1.307411193848 0.076644003391 -v 0.044227600098 1.289105176926 0.100519239902 -v 0.046434164047 1.276561975479 0.104707181454 -v 0.050604581833 1.285138130188 0.100853264332 -v 0.058474540710 1.292474508286 0.093251526356 -v 0.065127134323 1.284862875938 0.097177326679 -v 0.048618316650 1.269841313362 0.112119197845 -v 0.045237541199 1.272487878799 0.114981353283 -v 0.053706645966 1.265324115753 0.107027411461 -v 0.050548315048 1.272162795067 0.102230787277 -v 0.056096792221 1.279160976410 0.101499915123 -v 0.055377244949 1.264985799789 0.099373936653 -v 0.058884382248 1.273606300354 0.098348557949 -v 0.060819864273 1.270249724388 0.095299720764 -v 0.067456960678 1.278015136719 0.096721053123 -v 0.067724943161 1.273309826851 0.094431757927 -v 0.068783521652 1.270277500153 0.094106316566 -v 0.060762882233 1.261790990829 0.099568009377 -v 0.054175376892 1.268918275833 0.098160982132 -v 0.062816143036 1.268297910690 0.094869017601 -v 0.063694953918 1.267551422119 0.093782484531 -v 0.068581581116 1.269197702408 0.092460989952 -v 0.061268568039 1.263207793236 0.095967531204 -v 0.057333707809 1.264688968658 0.095514893532 -v 0.057271957397 1.267230391502 0.095370531082 -v 0.059454441071 1.266519188881 0.094323635101 -v 0.059153795242 1.264902830124 0.094141185284 -v 0.062749862671 1.265080451965 0.095315635204 -v 0.060599803925 1.266317009926 0.093307375908 -v 0.059796094894 1.264950871468 0.092611730099 -v 0.062308549881 1.264286756516 0.092826724052 -v 0.067521333694 1.262562036514 0.095242917538 -v 0.068541765213 1.265034556389 0.094969451427 -v 0.068204641342 1.265207529068 0.093506395817 -v 0.077112913132 1.279425144196 0.091373026371 -v 0.075383424759 1.286835432053 0.089299082756 -v 0.082441329956 1.283947467804 0.079257071018 -v 0.078902959824 1.292372465134 0.071949005127 -v 0.075701475143 1.271097064018 0.090313911438 -v 0.074272155762 1.269963860512 0.088880062103 -v 0.080384016037 1.272943258286 0.083734631538 -v 0.075593948364 1.274363636971 0.090127468109 -v 0.079707145691 1.270199537277 0.084501504898 -v 0.077773094177 1.269171714783 0.084009110928 -v 0.074470520020 1.262153863907 0.091184914112 -v 0.074804306030 1.264805197716 0.091423273087 -v 0.074141263962 1.265561819077 0.090759217739 -v 0.079296112061 1.262190818787 0.084158301353 -v 0.078951358795 1.264721870422 0.085185348988 -v 0.078058242798 1.265552878380 0.085563898087 -v 0.080155134201 1.268244743347 0.078729867935 -v 0.078858852386 1.267360806465 0.079410076141 -v 0.080429077148 1.264863848686 0.079188346863 -v 0.080001354218 1.264985084534 0.075401127338 -v 0.080117464066 1.266297817230 0.075324594975 -v 0.079468488693 1.265514373779 0.080408871174 -v 0.079141855240 1.265153050423 0.076866209507 -v 0.078771829605 1.266029000282 0.076456785202 -v 0.082354784012 1.277361154556 0.082759082317 -v 0.082641601563 1.272576570511 0.074128508568 -v 0.080540895462 1.270089030266 0.076882600784 -v 0.081943511963 1.258766055107 0.074625015259 -v 0.080802440643 1.262812852859 0.077187001705 -v 0.080394029617 1.264332532883 0.073039591312 -v 0.080169439316 1.266933917999 0.072909772396 -v 0.057654857635 1.259309649467 0.137847244740 -v 0.058503150940 1.253966927528 0.145442008972 -v 0.064238071442 1.251279354095 0.135221183300 -v 0.061223030090 1.248335599899 0.143793106079 -v 0.060226678848 1.243742227554 0.139886677265 -v 0.058931112289 1.258131980896 0.127938270569 -v 0.063202142715 1.254297494888 0.129694104195 -v 0.065549135208 1.247506380081 0.127456486225 -v 0.057339906693 1.259414553642 0.114988744259 -v 0.062293052673 1.246687650681 0.126744151115 -v 0.058286666870 1.246920347214 0.125443816185 -v 0.066583871841 1.249766945839 0.126530528069 -v 0.061671018600 1.255462884903 0.120306611061 -v 0.065866470337 1.252713918686 0.123935759068 -v 0.054228067398 1.239598989487 0.133096814156 -v 0.056482315063 1.242153167725 0.135511994362 -v 0.054856777191 1.242565155029 0.130528688431 -v 0.055840969086 1.243560433388 0.131651639938 -v 0.056303262711 1.246041178703 0.128419876099 -v 0.063732147217 1.246660113335 0.133645892143 -v 0.059375524521 1.246311187744 0.130905628204 -v 0.054415225983 1.236288070679 0.133475065231 -v 0.055111885071 1.233415126801 0.134682297707 -v 0.059905767441 1.232897996902 0.130329132080 -v 0.055068492889 1.240468859673 0.125481486320 -v 0.054852485657 1.244311332703 0.126182913780 -v 0.061526775360 1.241811394691 0.120923161507 -v 0.062999248505 1.245989322662 0.124036252499 -v 0.058302879333 1.245635032654 0.122877240181 -v 0.058226346970 1.236359000206 0.127980589867 -v 0.068130016327 1.248301506042 0.117564380169 -v 0.067496299744 1.246428251266 0.120817005634 -v 0.067075014114 1.240431427956 0.117183685303 -v 0.065690279007 1.245734214783 0.123227000237 -v 0.063593864441 1.235562324524 0.122017323971 -v 0.065532922745 1.231557369232 0.124712467194 -v 0.058642148972 1.228264093399 0.141964733601 -v 0.060995340347 1.221785545349 0.146217465401 -v 0.067803859711 1.221554160118 0.140724539757 -v 0.065596818924 1.198537349701 0.155037641525 -v 0.063088893890 1.211889743805 0.150147914886 -v 0.070540428162 1.212059378624 0.143783211708 -v 0.074363708496 1.199054241180 0.147871077061 -v 0.055469512939 1.229463577271 0.135724365711 -v 0.064706325531 1.227428913116 0.137217521667 -v 0.060773849487 1.229086875916 0.132322847843 -v 0.070334196091 1.226015686989 0.129881024361 -v 0.073707818985 1.221224188805 0.132331371307 -v 0.066503286362 1.228003025055 0.126726925373 -v 0.071586132050 1.228841543198 0.118208587170 -v 0.071873664856 1.225707650185 0.119430422783 -v 0.077915668488 1.220404744148 0.122084975243 -v 0.074536085129 1.223444819450 0.120662927628 -v 0.076755285263 1.212785243988 0.134442687035 -v 0.081811666489 1.200371980667 0.137430131435 -v 0.080988883972 1.214165449142 0.123166322708 -v 0.086687803268 1.203819513321 0.124526441097 -v 0.062492609024 1.254801988602 0.109791696072 -v 0.066610813141 1.251634597778 0.113950848579 -v 0.061021566391 1.259107947350 0.104773223400 -v 0.068827152252 1.254087090492 0.101265370846 -v 0.067484378815 1.258732795715 0.097137033939 -v 0.069918870926 1.248601675034 0.105034232140 -v 0.067322969437 1.240279912949 0.111719012260 -v 0.068537473679 1.242500543594 0.107286572456 -v 0.075018405914 1.232970237732 0.108255088329 -v 0.070877790451 1.232767581940 0.115252256393 -v 0.077867746353 1.249896764755 0.094340682030 -v 0.081087350845 1.242408514023 0.097182273865 -v 0.083758115768 1.234669685364 0.100204110146 -v 0.075211763382 1.256941318512 0.091831862926 -v 0.080814123154 1.256867170334 0.083383440971 -v 0.084712028503 1.249413847923 0.083412945271 -v 0.090125322342 1.240862131119 0.083279728889 -v 0.094750881195 1.231421947479 0.081762373447 -v 0.077249050140 1.224474191666 0.112283647060 -v 0.076828718185 1.222699880600 0.113141000271 -v 0.078745365143 1.225707769394 0.109818100929 -v 0.080643415451 1.218926310539 0.113611519337 -v 0.081604242325 1.218360304832 0.109059333801 -v 0.081132650375 1.220607519150 0.109011828899 -v 0.077664852142 1.220381379128 0.113147377968 -v 0.080033540726 1.219517707825 0.110023081303 -v 0.079794406891 1.220654487610 0.110094487667 -v 0.083391666412 1.220073938370 0.107060670853 -v 0.082854270935 1.225638270378 0.104710161686 -v 0.087911605835 1.218507766724 0.103260695934 -v 0.091594696045 1.224019408226 0.096191704273 -v 0.096889257431 1.214898347855 0.095897138119 -v 0.083808422089 1.215420007706 0.113558650017 -v 0.089332103729 1.208635091782 0.112731575966 -v 0.084277868271 1.216469287872 0.107762217522 -v 0.089827299118 1.213289976120 0.105555117130 -v 0.101368904114 1.198026537895 0.110524892807 -v 0.100582122803 1.206828474998 0.100248575211 -v 0.095614671707 1.219149708748 0.078378736973 -v 0.110302448273 1.196131229401 0.085673749447 -v 0.101401090622 1.207566261292 0.078618407249 -v 0.038086652756 1.319437146187 0.056139290333 -v 0.058758258820 1.316738009453 0.064338445663 -v 0.052024126053 1.317465305328 0.045089304447 -v 0.071031332016 1.309057235718 0.048146665096 -v 0.074790716171 1.301920175552 0.061692059040 -v 0.065555095673 1.309342384338 0.030936956406 -v 0.076519966125 1.290452003479 0.034301042557 -v 0.081107854843 1.281051397324 0.059998869896 -v 0.083610057831 1.276207208633 0.068830192089 -v 0.084535121918 1.260300159454 0.064144432545 -v 0.082194328308 1.262906312943 0.069637179375 -v 0.082393407822 1.267321228981 0.069480359554 -v 0.083597660065 1.267654538155 0.063186764717 -v 0.078208923340 1.286485910416 0.048090279102 -v 0.083045482635 1.268104314804 0.053750872612 -v 0.082231521606 1.268839240074 0.041879594326 -v 0.074455499649 1.290663003922 0.019667565823 -v 0.081685543060 1.268450379372 0.028919160366 -v 0.080770254135 1.266295671463 0.016477346420 -v 0.085688114166 1.253255128860 0.071567714214 -v 0.090450763702 1.245868682861 0.066874861717 -v 0.086171150208 1.256250977516 0.055930197239 -v 0.086350440979 1.251328825951 0.045859992504 -v 0.093620538712 1.236952662468 0.060706198215 -v 0.094166755676 1.225640654564 0.054646670818 -v 0.099492788315 1.210208415985 0.048777282238 -v 0.114588975906 1.187431573868 0.062622427940 -v 0.087287187576 1.245572805405 0.035482227802 -v 0.087604761124 1.239173889160 0.025138556957 -v 0.087361097336 1.235268592834 0.012534439564 -v 0.098117351532 1.205789446831 0.027765154839 -v 0.095893383026 1.203208208084 0.014717459679 -v -0.011510133743 1.163360238075 0.149067997932 -v -0.004560947418 1.134804606438 0.155196785927 -v -0.023927450180 1.173175573349 0.133506655693 -v -0.025471687317 1.141367435455 0.137405753136 -v 0.017634153366 1.178678154945 0.157647490501 -v 0.025628328323 1.157846570015 0.168135166168 -v 0.003703117371 1.180795431137 0.148849606514 -v 0.006724596024 1.158563613892 0.161044716835 -v 0.032204389572 1.178767085075 0.163424730301 -v 0.045523643494 1.179651737213 0.165940761566 -v 0.057294130325 1.180637598038 0.164849698544 -v 0.042539596558 1.158673048019 0.171049177647 -v 0.056924104691 1.159794092178 0.170381605625 -v 0.017149686813 1.133303642273 0.166976332664 -v 0.037201642990 1.133634090424 0.172211468220 -v 0.054214477539 1.134839653969 0.171566545963 -v -0.010805606842 1.115299701691 0.134994447231 -v -0.012533187866 1.105522513390 0.110044121742 -v 0.010537385941 1.112756729126 0.149111986160 -v 0.047211885452 1.112629652023 0.157582700253 -v 0.030074119568 1.112287878990 0.156457722187 -v 0.006142139435 1.103373646736 0.121430158615 -v 0.022053003311 1.103733062744 0.127525568008 -v 0.036193370819 1.104734897614 0.128820121288 -v -0.040673494339 1.155994772911 0.117093861103 -v -0.049955368042 1.141332268715 0.095714688301 -v -0.032525300980 1.123396158218 0.116316258907 -v -0.032552003860 1.114442110062 0.094371557236 -v -0.031067371368 1.110062003136 0.075444519520 -v -0.052037954330 1.167015790939 0.075356423855 -v -0.056231737137 1.161347627640 0.056636929512 -v -0.059476852417 1.156821727753 0.039392709732 -v -0.059850692749 1.140776157379 0.039435088634 -v -0.061575651169 1.141006946564 0.028368413448 -v -0.050864934921 1.133266210556 0.076295912266 -v -0.056070089340 1.117838740349 0.039700746536 -v -0.049790382385 1.128654956818 0.061231255531 -v -0.052109718323 1.122534751892 0.050932705402 -v -0.034054994583 1.104509353638 0.060616970062 -v -0.043396234512 1.096928238869 0.048614859581 -v -0.048959255219 1.091627120972 0.033554553986 -v -0.056957721710 1.112890362740 0.023788034916 -v -0.035567522049 1.043387889862 0.047449171543 -v -0.039433956146 1.039121747017 0.052413821220 -v -0.064744234085 1.050780534744 0.014951646328 -v -0.038980245590 1.074284434319 0.043637633324 -v -0.041082859039 1.069077014923 0.029278635979 -v -0.034406661987 1.055065155029 0.043360531330 -v -0.047071218491 1.085974812508 0.015686988831 -v -0.049998521805 1.061222076416 0.019102632999 -v -0.053887367249 1.043840646744 0.036689996719 -v -0.042478322983 1.050164461136 0.036054790020 -v -0.014271974564 1.099223375320 0.086969316006 -v 0.000830411911 1.094314455986 0.095309138298 -v -0.019607543945 1.090406298637 0.068407773972 -v -0.029613494873 1.080608129501 0.054361045361 -v -0.005763530731 1.081238627434 0.073860049248 -v -0.027546405792 1.059183478355 0.053171813488 -v -0.013939142227 1.067626953125 0.057299792767 -v 0.014307975769 1.093263268471 0.099898755550 -v 0.027014970779 1.094081640244 0.101382076740 -v 0.021053075790 1.074604153633 0.082123875618 -v 0.007202863693 1.075435996056 0.078675389290 -v -0.027371644974 1.043602824211 0.054658472538 -v -0.017439126968 1.044979572296 0.062561631203 -v -0.024429798126 1.035316348076 0.064470529556 -v -0.010132312775 1.032010316849 0.071531534195 -v 0.004372358322 1.030398845673 0.073763489723 -v 0.017338514328 1.031093001366 0.076553463936 -v 0.000297546387 1.051457285881 0.063539087772 -v 0.017464637756 1.050814867020 0.071853816509 -v 0.068420410156 1.181527853012 0.160425603390 -v 0.079635143280 1.182518243790 0.152125537395 -v 0.070542097092 1.160900115967 0.164953768253 -v 0.085201978683 1.162357091904 0.154878497124 -v 0.090045928955 1.184562206268 0.140001475811 -v 0.098061561584 1.189689755440 0.125387966633 -v 0.099827289581 1.165438413620 0.139908611774 -v 0.070614814758 1.136290311813 0.165854871273 -v 0.088030338287 1.138740301132 0.153091609478 -v 0.104446411133 1.143034815788 0.133147954941 -v 0.097229003906 1.124236106873 0.117044687271 -v 0.083167791367 1.114722371101 0.099347352982 -v 0.111231565475 1.172423601151 0.120619416237 -v 0.114904880524 1.183718919754 0.100513756275 -v 0.116925716400 1.151993751526 0.107569992542 -v 0.063422679901 1.115132212639 0.151529729366 -v 0.080619335175 1.118611931801 0.138225674629 -v 0.050387620926 1.106717824936 0.125205457211 -v 0.066112041473 1.109486579895 0.115795731544 -v 0.086173295975 1.122708439827 0.068399488926 -v 0.080250263214 1.118033289909 0.063007235527 -v 0.082655668259 1.112149238586 0.061163365841 -v 0.121577978134 1.167878985405 0.081856548786 -v 0.119044303894 1.154315471649 0.063807129860 -v 0.111441612244 1.134985923767 0.090731918812 -v 0.098887205124 1.126488447189 0.077325224876 -v 0.111427545547 1.179712891579 0.043127000332 -v 0.106110334396 1.175122380257 0.031305313110 -v 0.102075576782 1.172155618668 0.024685502052 -v 0.102116584778 1.157317161560 0.033418297768 -v 0.101032018661 1.158340215683 0.029302597046 -v 0.100531339645 1.143308043480 0.048263728619 -v 0.097441434860 1.138330459595 0.048066020012 -v 0.109502553940 1.146957397461 0.052747786045 -v 0.096754789352 1.134839057922 0.047012090683 -v 0.085198402405 1.107511401176 0.055232167244 -v 0.094857692719 1.130478262901 0.041637301445 -v 0.040197134018 1.096347808838 0.099944472313 -v 0.054687500000 1.100618243217 0.094639301300 -v 0.048788309097 1.088074207306 0.078770637512 -v 0.035143613815 1.078818082809 0.081493318081 -v 0.048858642578 1.075313687325 0.068564772606 -v 0.070461988449 1.108810186386 0.084021329880 -v 0.064486742020 1.100866556168 0.073438167572 -v 0.065836668015 1.092562913895 0.068579912186 -v 0.060715675354 1.069221019745 0.070371031761 -v 0.030231714249 1.033327579498 0.078828334808 -v 0.035176753998 1.055608034134 0.070235610008 -v 0.043811559677 1.038117885590 0.082073748112 -v 0.050953388214 1.052722811699 0.075931191444 -v 0.063144207001 1.053842663765 0.072386682034 -v 0.073226213455 1.055658340454 0.068940043449 -v 0.075714349747 1.052077531815 0.075281441212 -v 0.058623790741 1.044714212418 0.080729842186 -v 0.072857141495 1.087235689163 0.064580619335 -v 0.071193933487 1.066993713379 0.064158737659 -v 0.079437494278 1.082699298859 0.053134381771 -v 0.086660146713 1.101273775101 0.041690945625 -v 0.092396974564 1.077137112617 0.048476576805 -v 0.108497619629 1.069890260696 0.052235901356 -v 0.082067012787 1.064140319824 0.061126887798 -v 0.093047380447 1.060159802437 0.067036211491 -v -0.040343284607 1.237436652184 -0.032936990261 -v -0.052459239960 1.221552133560 0.028179645538 -v -0.056158065796 1.218947887421 0.012705385685 -v -0.055384397507 1.217468619347 -0.008952379227 -v -0.058702945709 1.188291907310 0.024425923824 -v -0.061626672745 1.162003040314 0.018809258938 -v -0.061149597168 1.186267733574 0.006660997868 -v -0.059507608414 1.179691553116 -0.010669171810 -v -0.055477380753 1.198352456093 -0.021095275879 -v -0.052834749222 1.169609308243 -0.030598759651 -v -0.042055368423 1.195482850075 -0.042439877987 -v -0.019744396210 1.243911266327 -0.053574860096 -v 0.005693435669 1.249059438705 -0.062779784203 -v -0.040396451950 1.167162179947 -0.069658398628 -v -0.015247583389 1.206512212753 -0.057519495487 -v 0.014311552048 1.212281465530 -0.062326133251 -v -0.013623714447 1.176701664925 -0.078638434410 -v 0.025074958801 1.182491421700 -0.078897595406 -v 0.055553436279 1.246190905571 -0.042324364185 -v 0.072591066360 1.207378625870 -0.039697229862 -v 0.085914134979 1.232458949089 0.001026153564 -v 0.083698034286 1.230814695358 -0.009619951248 -v 0.077988386154 1.229747176170 -0.023236691952 -v 0.094089031219 1.202184319496 0.005038857460 -v 0.098302841187 1.178545475006 0.013474762440 -v 0.091052532196 1.195588827133 -0.011169850826 -v 0.092413902283 1.201389551163 -0.004166901112 -v 0.082178831100 1.212141036987 -0.025714099407 -v 0.089784622192 1.185250520706 -0.019735872746 -v 0.032395839691 1.248675107956 -0.057501971722 -v 0.044507265091 1.212738394737 -0.056064784527 -v 0.063519954681 1.185031294823 -0.068458735943 -v 0.090191364288 1.181271433830 -0.050654113293 -v -0.059590101242 1.158144712448 0.001819372177 -v -0.060241460800 1.136449337006 0.012746274471 -v -0.055771827698 1.128415822983 -0.007795572281 -v -0.056196689606 1.149477005005 -0.018423438072 -v -0.059613704681 1.094871759415 -0.017021775246 -v -0.052507877350 1.106217026711 0.003190934658 -v -0.061356782913 1.135336041451 -0.044591844082 -v -0.055210590363 1.152688622475 -0.057234942913 -v -0.061703920364 1.115628957748 -0.031736850739 -v -0.076354265213 1.118670940399 -0.068626523018 -v -0.078945398331 1.100923299789 -0.053504228592 -v -0.072272777557 1.063135385513 -0.010518550873 -v -0.077728748322 1.081091284752 -0.034207820892 -v -0.055848836899 1.076079010963 0.000701248646 -v -0.070124626160 1.134061932564 -0.082705259323 -v -0.052391529083 1.145668983459 -0.097816407681 -v -0.014596939087 1.152688741684 -0.108650863171 -v 0.038563251495 1.158075928688 -0.105544686317 -v 0.095056056976 1.175324201584 0.007279813290 -v 0.097741365433 1.154363512993 0.024574756622 -v 0.096329450607 1.145889043808 0.014402627945 -v 0.095551252365 1.166598796844 -0.001544177532 -v 0.092842340469 1.122950792313 0.029080450535 -v 0.106817960739 1.113699555397 0.016706228256 -v 0.110495090485 1.154946565628 -0.013335943222 -v 0.104727029800 1.170523405075 -0.031004786491 -v 0.110179185867 1.135258436203 0.001379370689 -v 0.134946107864 1.143305301666 -0.026512145996 -v 0.134920597076 1.125534772873 -0.009499669075 -v 0.100990295410 1.093693971634 0.033296287060 -v 0.121155023575 1.084573626518 0.031806349754 -v 0.130618572235 1.104586720467 0.010483145714 -v 0.088234901428 1.164701461792 -0.088147342205 -v 0.131562232971 1.157645463943 -0.042793512344 -v 0.118981122971 1.165749549866 -0.063742041588 -v 0.061493158340 1.307609081268 0.082881748676 -v 0.060327529907 1.318495154381 0.079182028770 -v 0.072385311127 1.317370176315 0.066087126732 -v 0.075205326080 1.306590318680 0.068933367729 -v 0.076874732971 1.311258077621 0.048126757145 -v 0.079223632813 1.301067113876 0.051980793476 -v 0.079833984375 1.300073146820 0.031079173088 -v 0.080294847488 1.289757966995 0.038935780525 -v 0.084419488907 1.282017230988 0.020341932774 -v 0.084472656250 1.274614810944 0.031600832939 -v 0.089787960052 1.257214426994 0.028529644012 -v 0.093410491943 1.257125258446 0.016011953354 -v 0.093643188477 1.237569332123 0.028812587261 -v 0.099745988846 1.236010193825 0.015180408955 -v 0.101211547852 1.209712862968 0.029784440994 -v 0.105703353882 1.216141939163 0.016078948975 -v 0.107604503632 1.206364512444 0.004519283772 -v 0.106831312180 1.196551799774 0.008540511131 -v 0.103477239609 1.200936555862 -0.016821682453 -v 0.102436780930 1.189777612686 -0.016660988331 -v 0.094894409180 1.201877832413 -0.033474504948 -v 0.091467142105 1.192241907120 -0.033644795418 -v 0.081027984619 1.205593347549 -0.044518053532 -v 0.078697204590 1.196267604828 -0.045972108841 -v 0.030203104019 1.317878961563 0.092599034309 -v 0.031599044800 1.306848764420 0.096550464630 -v 0.000533103943 1.315608501434 0.092406988144 -v 0.001453638077 1.304747343063 0.097599565983 -v -0.019915580750 1.309429168701 0.081647753716 -v -0.018998622894 1.298553228378 0.086916089058 -v -0.033011198044 1.297790884972 0.064219474792 -v -0.029258489609 1.289492845535 0.072676897049 -v -0.041879415512 1.274564981461 0.053379595280 -v -0.035678148270 1.269248962402 0.063527703285 -v -0.049278259277 1.251981019974 0.053342640400 -v -0.040801525116 1.249933481216 0.062599599361 -v -0.052246570587 1.230650424957 0.054706454277 -v -0.042381286621 1.229251742363 0.063888192177 -v -0.056648731232 1.206089735031 0.058673679829 -v -0.047176122665 1.203041553497 0.068685829639 -v -0.063978195190 1.193070888519 0.045640826225 -v -0.059770822525 1.182946562767 0.046971440315 -v -0.068000316620 1.188966512680 0.023967921734 -v -0.064295291901 1.178698301315 0.022614359856 -v -0.068785667419 1.192012310028 0.001784324646 -v -0.065010547638 1.183354616165 -0.002156734467 -v -0.066419363022 1.198132634163 -0.014372169971 -v -0.061841726303 1.189954519272 -0.018084764481 -v -0.056248426437 1.205180168152 -0.032190322876 -v -0.050663232803 1.196324706078 -0.035794079304 -v -0.035155773163 1.208442568779 -0.053844273090 -v -0.033224582672 1.197817921638 -0.051412761211 -v -0.008906602859 1.210032224655 -0.066920220852 -v -0.007337331772 1.200033903122 -0.065757989883 -v 0.025993824005 1.211974382401 -0.073480010033 -v 0.026358604431 1.201002120972 -0.069385886192 -v 0.049157142639 1.212844133377 -0.068056046963 -v 0.048957347870 1.202935099602 -0.064820349216 -v 0.065938234329 1.210010766983 -0.056550920010 -v 0.063969373703 1.200293183327 -0.057101726532 -v 0.026063919067 1.253668546677 -0.073655724525 -v -0.009798765182 1.251827239990 -0.066984713078 -v -0.036081075668 1.251029968262 -0.053802967072 -v -0.053255796432 1.248492121696 -0.030867159367 -v -0.061401128769 1.237682819366 -0.006527304649 -v -0.065071582794 1.235451579094 0.005308210850 -v -0.066051959991 1.232313632965 0.024793028831 -v -0.063958168030 1.215806245804 0.036684691906 -v -0.058470249176 1.244234442711 0.038768827915 -v -0.056696653366 1.254055619240 0.036476075649 -v 0.047235488892 1.252357602119 -0.067458629608 -v 0.065943956375 1.248579740524 -0.052758038044 -v 0.082094430923 1.242822408676 -0.039423704147 -v 0.101416587830 1.234602212906 0.000243604183 -v 0.095574378967 1.254433631897 -0.000831246376 -v 0.081856250763 1.282060623169 0.002210915089 -v 0.070363283157 1.305048108101 0.002756774426 -v 0.064732551575 1.325939893723 0.037348568439 -v 0.059475421906 1.330581545830 0.056172847748 -v 0.051770687103 1.331991195679 0.066862940788 -v 0.026969909668 1.331480026245 0.080155074596 -v 0.000534296036 1.328585267067 0.078154027462 -v -0.016364336014 1.321949958801 0.068262755871 -v -0.032131671906 1.307672977448 0.049133062363 -v -0.046026468277 1.281006813049 0.033047616482 -v -0.057170391083 1.264941453934 0.018052995205 -v -0.059194087982 1.260551929474 0.005703926086 -v -0.056351184845 1.267251372337 -0.005363285542 -v -0.049419403076 1.281430959702 0.018636167049 -v -0.050104856491 1.281523466110 -0.026480972767 -v -0.032762527466 1.285117030144 -0.046894788742 -v -0.006237030029 1.288429498672 -0.060750246048 -v 0.045986413956 1.285272717476 -0.059156835079 -v 0.060814857483 1.282638311386 -0.047715902328 -v 0.081722974777 1.278753519058 -0.015161991119 -v 0.093460798264 1.257528543472 -0.016839504242 -v 0.099166631699 1.234176397324 -0.016934752464 -v 0.080812215805 1.267979621887 -0.031077861786 -v 0.066226243973 1.297156810760 -0.022842288017 -v 0.025224208832 1.286554098129 -0.066509544849 -v 0.046222925186 1.308892011642 -0.040655016899 -v 0.025389671326 1.311321735382 -0.048380911350 -v -0.002219676971 1.312392711639 -0.044137835503 -v -0.024477481842 1.309771776199 -0.033741474152 -v -0.040723323822 1.304569959641 -0.014032125473 -v -0.038681983948 1.307122945786 0.022028684616 -v -0.033923625946 1.316653251648 0.007554233074 -v -0.022377967834 1.325628161430 0.032776713371 -v -0.011242151260 1.334012389183 0.047734975815 -v 0.005346775055 1.339532971382 0.057651221752 -v 0.023217439651 1.341475963593 0.059436559677 -v 0.043385505676 1.340054035187 0.050687074661 -v 0.050596475601 1.337354063988 0.041210770607 -v 0.055289745331 1.331090807915 0.023640811443 -v 0.054258584976 1.323943614960 -0.003970444202 -v 0.035431385040 1.330586671829 -0.015784919262 -v 0.002865314484 1.329736113548 -0.018387377262 -v -0.017127513885 1.325981378555 -0.009942293167 -v -0.009388685226 1.335545063019 0.010651230812 -v 0.008429527283 1.339061737061 0.003008246422 -v 0.036308050156 1.338485956192 0.004922389984 -v 0.036141872406 1.342529535294 0.023647129536 -v 0.034445047379 1.343819022179 0.035101830959 -v 0.020200014114 1.344961047173 0.038254320621 -v 0.006144762039 1.343188524246 0.040450692177 -v -0.003520011902 1.340352535248 0.030388653278 -v 0.015350580215 1.343349337578 0.023720622063 -v 0.002131700516 1.294373512268 0.084310173988 -v 0.032253980637 1.296369910240 0.083501935005 -v 0.053240537643 1.297918319702 0.073384404182 -v 0.063632249832 1.297773361206 0.063727974892 -v 0.066441297531 1.292367458344 0.051250755787 -v 0.069464921951 1.284128427505 0.042113184929 -v 0.072947740555 1.268516302109 0.036393523216 -v 0.077996730804 1.254851579666 0.034342646599 -v 0.082294940948 1.238687992096 0.033778369427 -v 0.096078634262 1.210922002792 0.033141076565 -v 0.093547344208 1.197418689728 0.010111808777 -v 0.088402271271 1.190471649170 -0.012344717979 -v 0.079278945923 1.192068338394 -0.027221798897 -v 0.067305803299 1.196002244949 -0.037115812302 -v 0.056254863739 1.199710249901 -0.045009076595 -v 0.043886661530 1.202761530876 -0.050360381603 -v 0.028577089310 1.203777551651 -0.055042266846 -v 0.000556945801 1.202123761177 -0.054026365280 -v -0.022556543350 1.199745535851 -0.042454838753 -v -0.037118673325 1.196506142616 -0.027604460716 -v -0.044364452362 1.191485524178 -0.013580024242 -v -0.048760175705 1.185310840607 0.001701295376 -v -0.049472093582 1.181732654572 0.018289864063 -v -0.043260574341 1.188125729561 0.041829228401 -v -0.042436599731 1.200907945633 0.067196130753 -v -0.029914379120 1.229040384293 0.062778651714 -v -0.028822183609 1.249405384064 0.061480879784 -v -0.026416063309 1.267934322357 0.062469124794 -v -0.020500183105 1.284778714180 0.069266617298 -v -0.011813879013 1.290825963020 0.077379345894 -v -0.036173343658 1.205227851868 0.065852403641 -v 0.089926242828 1.212391614914 0.033588826656 -v 0.086484670639 1.264750957489 -0.025318682194 -v 0.090276241302 1.249650478363 -0.029009580612 -v 0.093374252319 1.235239744186 -0.028121829033 -v -0.680430412292 1.393068790436 -0.320257246494 -v -0.698494911194 1.408102989197 -0.328137785196 -v -0.705596685410 1.403319478035 -0.332353264093 -v -0.702425003052 1.401414155960 -0.341219663620 -v -0.693487405777 1.401706576347 -0.345480948687 -v -0.677313804626 1.388596534729 -0.332979142666 -v -0.696997642517 1.407511115074 -0.337174981833 -v -0.689204931259 1.409341335297 -0.330315768719 -v -0.693303585052 1.391095876694 -0.314780384302 -v -0.703037500381 1.384432554245 -0.323003411293 -v -0.699735164642 1.379808068275 -0.336086094379 -v -0.686516761780 1.382108569145 -0.341215163469 -v -0.688117027283 1.406664133072 -0.339293509722 -v -0.671191692352 1.325040817261 -0.285161167383 -v -0.653577566147 1.274054050446 -0.263464331627 -v -0.622252702713 1.186689734459 -0.227236688137 -v -0.589787960052 1.099176168442 -0.192291796207 -v -0.552791118622 1.003217101097 -0.157474160194 -v -0.510915994644 0.897739231586 -0.121878385544 -v -0.492876291275 0.902821123600 -0.129963815212 -v -0.535413742065 1.007634758949 -0.164884626865 -v -0.573541641235 1.102779388428 -0.199071943760 -v -0.606878757477 1.189758062363 -0.233704805374 -v -0.639323711395 1.276522159576 -0.269631683826 -v -0.656749725342 1.327616810799 -0.290879905224 -v -0.681891918182 1.317631244659 -0.293967366219 -v -0.664569854736 1.266501188278 -0.272399932146 -v -0.634156942368 1.178615331650 -0.236648023129 -v -0.601839542389 1.090810775757 -0.202318966389 -v -0.566227912903 0.994425058365 -0.168143510818 -v -0.525188207626 0.888482391834 -0.133112192154 -v -0.678204059601 1.312798857689 -0.308455199003 -v -0.660619258881 1.261751770973 -0.287267655134 -v -0.630073070526 1.173742771149 -0.252752542496 -v -0.597980260849 1.085862278938 -0.219300508499 -v -0.562275886536 0.989962458611 -0.186343669891 -v -0.521363496780 0.884423673153 -0.152287662029 -v -0.663713693619 1.315396070480 -0.314257442951 -v -0.645992040634 1.264471530914 -0.293223381042 -v -0.614400863647 1.176954030991 -0.259143769741 -v -0.581530570984 1.089387059212 -0.226521193981 -v -0.544843912125 0.994354009628 -0.193900704384 -v -0.503242254257 0.889585494995 -0.160271108150 -v -0.653139591217 1.322819709778 -0.305283248425 -v -0.635165929794 1.272057771683 -0.284064382315 -v -0.603127479553 1.184988617897 -0.249243974686 -v -0.569592237473 1.097936868668 -0.215854406357 -v -0.531643867493 1.003189921379 -0.182969391346 -v -0.488971471786 0.898870944977 -0.149086236954 -v -0.484921455383 0.834170520306 -0.089892804623 -v -0.460219383240 0.840958893299 -0.100384473801 -v -0.511497497559 0.901323735714 -0.132468283176 -v -0.501404762268 0.904189109802 -0.136912345886 -v -0.472644090652 0.759641647339 -0.086778938770 -v -0.504419326782 0.821840167046 -0.105421543121 -v -0.519470214844 0.896225512028 -0.138695955276 -v -0.467942714691 0.754820764065 -0.108005642891 -v -0.499197244644 0.815808892250 -0.131774783134 -v -0.517336845398 0.893964409828 -0.149376213551 -v -0.448551177979 0.760925114155 -0.116835474968 -v -0.474140167236 0.822419762611 -0.142395973206 -v -0.507234096527 0.896824002266 -0.153811216354 -v -0.433065176010 0.771692276001 -0.104480087757 -v -0.455140352249 0.835817098618 -0.126966357231 -v -0.499275684357 0.901945590973 -0.147596955299 -v -0.459559202194 0.773626148701 -0.068398654461 -v -0.433999776840 0.781386613846 -0.079760193825 -v -0.427901983261 0.774820268154 -0.107565879822 -v -0.447791576385 0.760745763779 -0.123485684395 -v -0.472889900208 0.752940356731 -0.112041771412 -v -0.479088068008 0.758860111237 -0.084373116493 -v -0.491303682327 0.910904347897 -0.129152178764 -v -0.514250516891 0.904531538486 -0.118242800236 -v -0.533769607544 0.893227875233 -0.132516324520 -v -0.528328418732 0.887990593910 -0.157591700554 -v -0.504444837570 0.894635677338 -0.168278694153 -v -0.485826730728 0.906584739685 -0.153679370880 -v -0.461875915527 0.779266953468 -0.070306479931 -v -0.436331748962 0.787207782269 -0.081280946732 -v -0.430136680603 0.780604958534 -0.109252929688 -v -0.449860572815 0.765928268433 -0.125815510750 -v -0.475796222687 0.757836759090 -0.114095747471 -v -0.482009410858 0.764635562897 -0.085911035538 -v -0.487102031708 0.905195295811 -0.125341534615 -v -0.511810302734 0.898107171059 -0.114347636700 -v -0.531330347061 0.885510385036 -0.129618883133 -v -0.526210784912 0.880015254021 -0.155877709389 -v -0.501423597336 0.887129247189 -0.166869044304 -v -0.482195377350 0.899640679359 -0.151460170746 -v -0.462564945221 0.780975162983 -0.071647465229 -v -0.437812328339 0.788343131542 -0.082418143749 -v -0.431942939758 0.781991302967 -0.109270632267 -v -0.450904846191 0.768045961857 -0.124982774258 -v -0.475512504578 0.760414898396 -0.113783419132 -v -0.481489181519 0.767017781734 -0.087105572224 -v -0.487062454224 0.902436256409 -0.125205695629 -v -0.510672807693 0.895664632320 -0.114782571793 -v -0.529201984406 0.883543848991 -0.129371404648 -v -0.524323225021 0.878087401390 -0.154505074024 -v -0.500638008118 0.884852886200 -0.164988815784 -v -0.482070446014 0.897029280663 -0.150350451469 -v -0.424216270447 0.726895034313 -0.088332355022 -v -0.433250427246 0.720961630344 -0.097859382629 -v -0.445126295090 0.718145370483 -0.091281771660 -v -0.435346364975 0.722274005413 -0.082853138447 -v -0.449822902679 0.721979498863 -0.078244268894 -v -0.438974618912 0.728516280651 -0.071362376213 -v -0.426059484482 0.732701241970 -0.075176239014 -v -0.425045013428 0.742575645447 -0.074277520180 -v -0.443370342255 0.737635374069 -0.066380739212 -v -0.452912092209 0.722330808640 -0.097539663315 -v -0.434735298157 0.726553499699 -0.105409443378 -v -0.457568168640 0.770726919174 -0.074224233627 -v -0.438102483749 0.776775538921 -0.083273649216 -v -0.457084417343 0.727426528931 -0.078251421452 -v -0.421734809875 0.737034559250 -0.093638539314 -v -0.440868854523 0.726467907429 -0.079293847084 -v -0.441762924194 0.723804175854 -0.084031581879 -v -0.437235593796 0.723723113537 -0.086625933647 -v -0.433544158936 0.726360797882 -0.083503544331 -v -0.435790300369 0.728097319603 -0.078992664814 -v -0.435076475143 0.716530799866 -0.078679621220 -v -0.436748027802 0.715161144733 -0.083459377289 -v -0.433470964432 0.717130362988 -0.086149096489 -v -0.429803609848 0.719704866409 -0.082996487617 -v -0.430795431137 0.719356417656 -0.078405201435 -v -0.426370620728 0.708177804947 -0.082949578762 -v -0.429102659225 0.708031177521 -0.087148606777 -v -0.427751302719 0.711654126644 -0.088896811008 -v -0.424102544785 0.714181125164 -0.085791230202 -v -0.423462867737 0.712011873722 -0.082427322865 -v -0.417178869247 0.705715954304 -0.092401742935 -v -0.421164512634 0.705772161484 -0.095329344273 -v -0.421780347824 0.710141003132 -0.095210850239 -v -0.418033361435 0.712694764137 -0.092156529427 -v -0.415308475494 0.709888398647 -0.090527355671 -v -0.411131381989 0.710895836353 -0.103977918625 -v -0.416023015976 0.710323870182 -0.105279445648 -v -0.418101072311 0.713830649853 -0.102593660355 -v -0.414386272430 0.716481685638 -0.099799752235 -v -0.409998416901 0.714512467384 -0.100628316402 -v -0.412442445755 0.723457217216 -0.112111985683 -v -0.417440891266 0.721303761005 -0.112163603306 -v -0.419823646545 0.722338557243 -0.107104063034 -v -0.416396379471 0.725583493710 -0.104684352875 -v -0.411242246628 0.725655853748 -0.107722580433 -v -0.419799089432 0.736344456673 -0.113022804260 -v -0.424517631531 0.732703447342 -0.112453818321 -v -0.425635576248 0.730973005295 -0.106811225414 -v -0.422138690948 0.734303593636 -0.103965282440 -v -0.418025732040 0.737095832825 -0.108072340488 -v -0.427905082703 0.742825925350 -0.108273148537 -v -0.431505441666 0.737993359566 -0.108103752136 -v -0.431043863297 0.735172092915 -0.103496670723 -v -0.427010297775 0.737998902798 -0.100774705410 -v -0.425103187561 0.742438733578 -0.103610634804 -v -0.434395790100 0.745493888855 -0.102516651154 -v -0.437351465225 0.740055739880 -0.103321194649 -v -0.434785366058 0.735876679420 -0.100580215454 -v -0.429973125458 0.739280521870 -0.096914887428 -v -0.430575609207 0.744815766811 -0.098116934299 -v -0.638014793396 1.230491757393 -0.244978487492 -v -0.622946262360 1.233280658722 -0.251465588808 -v -0.649592638016 1.222546815872 -0.254358708858 -v -0.645442724228 1.217762947083 -0.269892901182 -v -0.630394697189 1.220943450928 -0.275375068188 -v -0.619070529938 1.228546142578 -0.266649246216 -v -0.606110572815 1.143009781837 -0.209524273872 -v -0.590292215347 1.146337389946 -0.216171145439 -v -0.617876529694 1.134744167328 -0.219516158104 -v -0.614089488983 1.129821658134 -0.235923349857 -v -0.598005294800 1.133176445961 -0.242772758007 -v -0.586416721344 1.141480803490 -0.232462942600 -v -0.572516918182 1.054052591324 -0.175565481186 -v -0.555697917938 1.058142900467 -0.182277798653 -v -0.585446357727 1.045498132706 -0.185521006584 -v -0.581245422363 1.040752649307 -0.203099846840 -v -0.564207553864 1.044691920280 -0.210411846638 -v -0.551835060120 1.053359389305 -0.199682593346 -v -0.530359745026 0.946404516697 -0.139006793499 -v -0.512903213501 0.951150536537 -0.146695137024 -v -0.544089317322 0.937598705292 -0.149761617184 -v -0.540381193161 0.933445930481 -0.168263316154 -v -0.522706985474 0.938259720802 -0.175991654396 -v -0.508960247040 0.947188973427 -0.165071189404 -v -0.473415136337 0.870537042618 -0.112968623638 -v -0.496746063232 0.863225281239 -0.101937651634 -v -0.516067743301 0.851110696793 -0.117046415806 -v -0.510797500610 0.845018565655 -0.142522931099 -v -0.486820697784 0.852223873138 -0.153340578079 -v -0.467840671539 0.864946663380 -0.138649642467 -v -0.447163105011 0.810840010643 -0.089115977287 -v -0.472838640213 0.805846035480 -0.079120457172 -v -0.492668628693 0.793564498425 -0.095415353775 -v -0.486189365387 0.784938633442 -0.121517777443 -v -0.460333108902 0.791131556034 -0.131569087505 -v -0.440885305405 0.803529441357 -0.115472018719 -v -0.450312852859 0.753731548786 -0.070098817348 -v -0.431421279907 0.759420990944 -0.078914582729 -v -0.465086460114 0.742805838585 -0.082118272781 -v -0.460514783859 0.737773180008 -0.103004276752 -v -0.441336154938 0.743454098701 -0.111343443394 -v -0.426443099976 0.754368603230 -0.099310636520 -v -0.731904268265 1.409023046494 -0.283832073212 -v -0.731420993805 1.409527540207 -0.277567297220 -v -0.769669771194 1.473773002625 -0.284856706858 -v -0.769919872284 1.473968267441 -0.288533568382 -v -0.807954311371 1.532006978989 -0.292883962393 -v -0.809309005737 1.532471895218 -0.288937449455 -v -0.723148822784 1.397814750671 -0.277460843325 -v -0.725734949112 1.400135159492 -0.284406632185 -v -0.701467037201 1.393261909485 -0.299498915672 -v -0.702801704407 1.394067406654 -0.304610729218 -v -0.697797775269 1.322681307793 -0.245903372765 -v -0.678847789764 1.325425028801 -0.269638597965 -v -0.699045181274 1.318197965622 -0.247449636459 -v -0.679080247879 1.320086479187 -0.270336747169 -v -0.698448657990 1.258418440819 -0.191542923450 -v -0.699070453644 1.255869746208 -0.195368707180 -v -0.698896884918 1.187084913254 -0.134619593620 -v -0.700427770615 1.184316277504 -0.138689637184 -v -0.701871871948 1.162669658661 -0.121972262859 -v -0.711782455444 1.180882930756 -0.144968867302 -v -0.710798740387 1.249737977982 -0.202855288982 -v -0.711197614670 1.311830759048 -0.256590962410 -v -0.690308570862 1.311554193497 -0.279663801193 -v -0.713588476181 1.315556406975 -0.259247243404 -v -0.693629026413 1.312055587769 -0.281306147575 -v -0.714844465256 1.249986529350 -0.202514290810 -v -0.714670181274 1.182743430138 -0.144470751286 -v -0.703557968140 1.160912275314 -0.124656915665 -v -0.734780550003 1.184387803078 -0.107548713684 -v -0.803620576859 1.413166880608 -0.193729162216 -v -0.844019651413 1.455053806305 -0.184393405914 -v -0.807727098465 1.321138620377 -0.116503834724 -v -0.837025165558 1.372961163521 -0.126379728317 -v -0.771314382553 1.244080543518 -0.100617885590 -v -0.793653011322 1.271091222763 -0.097309827805 -v -0.731769084930 1.187012553215 -0.105778515339 -v -0.778274536133 1.234176158905 -0.089952230453 -v -0.774795055389 1.242721438408 -0.096917808056 -v -0.802556514740 1.267426371574 -0.087716221809 -v -0.781018733978 1.239013910294 -0.089828252792 -v -0.831202745438 1.315947771072 -0.093698978424 -v -0.857189416885 1.373258233070 -0.109514474869 -v -0.872247457504 1.439273834229 -0.146919488907 -v -0.862528800964 1.441547393799 -0.156704366207 -v -0.872767448425 1.465386867523 -0.168636918068 -v -0.871892452240 1.446012973785 -0.152757167816 -v -0.870913505554 1.465698003769 -0.171075582504 -v -0.872616052628 1.496040582657 -0.196074187756 -v -0.873492717743 1.469481587410 -0.172275424004 -v -0.844311237335 1.563365578651 -0.288278520107 -v -0.867714643478 1.493918657303 -0.196815609932 -v -0.870485305786 1.498056888580 -0.198610186577 -v -0.873506069183 1.498218655586 -0.200232744217 -v -0.873781919479 1.495349645615 -0.197271823883 -v -0.868160724640 1.436191439629 -0.160237908363 -v -0.874623298645 1.443897843361 -0.155241250992 -v -0.875429630280 1.468093872070 -0.173968076706 -v -0.875430583954 1.464208483696 -0.170832037926 -v -0.861469507217 1.539059877396 -0.244808673859 -v -0.864252090454 1.538134932518 -0.246580541134 -v -0.846224308014 1.561979532242 -0.289737492800 -v -0.836484193802 1.567539691925 -0.300393223763 -v -0.837390184402 1.566413164139 -0.303441166878 -v -0.780709743500 1.232831001282 -0.092110395432 -v -0.770603179932 1.241312861443 -0.120023488998 -v -0.805193901062 1.265119791031 -0.089168965816 -v -0.783527612686 1.236857414246 -0.091316342354 -v -0.834095478058 1.314088821411 -0.095762848854 -v -0.860008001328 1.371434450150 -0.112266540527 -v -0.874962329865 1.439385414124 -0.149586439133 -v -0.845883846283 1.368828058243 -0.133463740349 -v -0.873351573944 1.462928771973 -0.173678338528 -v -0.871895790100 1.493336915970 -0.199328541756 -v -0.840737104416 1.510570049286 -0.263315886259 -v -0.833376646042 1.531134724617 -0.288762927055 -v -0.817931175232 1.526331186295 -0.300622344017 -v -0.746751785278 1.402173876762 -0.290421187878 -v -0.796869993210 1.488108158112 -0.299173355103 -v -0.803301095963 1.423126697540 -0.242137193680 -v -0.853743076324 1.448746681213 -0.194176614285 -v -0.821331739426 1.314145565033 -0.119208931923 -v -0.793041229248 1.273641824722 -0.120415627956 -v -0.779705524445 1.238341212273 -0.096930265427 -v -0.758402109146 1.325504183769 -0.214042127132 -v -0.734133243561 1.393293976784 -0.292042940855 -v -0.736127614975 1.383604526520 -0.289822369814 -v -0.747549772263 1.393516778946 -0.284139096737 -v -0.713304281235 1.387033820152 -0.312869518995 -v -0.716605424881 1.378824830055 -0.315402686596 -v -0.667083024979 1.332947969437 -0.272325456142 -v -0.686036825180 1.396254181862 -0.300350457430 -v -0.652807712555 1.335969448090 -0.279133826494 -v -0.671698808670 1.397094845772 -0.306801915169 -v -0.641156673431 1.331952333450 -0.292787551880 -v -0.662131309509 1.392925381660 -0.323805451393 -v -0.665781974792 1.324501156807 -0.274403363466 -v -0.653313159943 1.326481461525 -0.280657827854 -v -0.643545627594 1.325591325760 -0.292931616306 -v -0.687883615494 1.396928071976 -0.306693255901 -v -0.677305936813 1.397392749786 -0.311640799046 -v -0.668898105621 1.393209457397 -0.326097100973 -v -0.639791965485 1.324838161469 -0.306407392025 -v -0.661513090134 1.386579990387 -0.338125854731 -v -0.642078876495 1.321270823479 -0.304058849812 -v -0.667977333069 1.387650251389 -0.338719785213 -v -0.640511274338 1.320248246193 -0.313241720200 -v -0.661991596222 1.385642766953 -0.342326313257 -v -0.643562793732 1.316686630249 -0.313483148813 -v -0.666442394257 1.385178923607 -0.344291776419 -v -0.716503143311 1.372074604034 -0.326735794544 -v -0.694771766663 1.309220075607 -0.296694934368 -v -0.710252761841 1.365118026733 -0.340708762407 -v -0.689024686813 1.304324030876 -0.313677370548 -v -0.695271492004 1.365952491760 -0.350932478905 -v -0.673334360123 1.305315852165 -0.323754280806 -v -0.676507711411 1.373834609985 -0.354276686907 -v -0.657118558884 1.312539339066 -0.327110052109 -v -0.713317871094 1.378292798996 -0.329542458057 -v -0.708588600159 1.374512910843 -0.340065002441 -v -0.695788145065 1.374732732773 -0.347389072180 -v -0.678169250488 1.378413438797 -0.351348221302 -v -0.690240859985 1.306376218796 -0.295807123184 -v -0.685710668564 1.302699327469 -0.310207158327 -v -0.671741962433 1.304181456566 -0.319831520319 -v -0.655930995941 1.309202790260 -0.323127806187 -v -0.634047985077 1.305329561234 -0.344313293695 -v -0.623847723007 1.313705205917 -0.334188282490 -v -0.622318029404 1.319812774658 -0.335038781166 -v -0.636306285858 1.308283686638 -0.347529143095 -v -0.657687187195 1.368595123291 -0.372926771641 -v -0.657169342041 1.375516891479 -0.371039777994 -v -0.642990112305 1.381778359413 -0.362855851650 -v -0.649636030197 1.380834460258 -0.366766542196 -v -0.621777534485 1.454902648926 -0.452792227268 -v -0.627440929413 1.456566333771 -0.455327212811 -v -0.631230592728 1.454094767570 -0.456920742989 -v -0.635877132416 1.447454333305 -0.459561079741 -v -0.624344110489 1.466953277588 -0.470377117395 -v -0.627939224243 1.463238477707 -0.473223686218 -v -0.611341238022 1.455082416534 -0.477429419756 -v -0.615406513214 1.452845573425 -0.479317456484 -v -0.596461057663 1.429937839508 -0.461888015270 -v -0.585901737213 1.430440187454 -0.486534267664 -v -0.568025112152 1.390513300896 -0.463041514158 -v -0.556784152985 1.394706368446 -0.490542352200 -v -0.620961666107 1.366299271584 -0.374592006207 -v -0.602149963379 1.328221082687 -0.365407556295 -v -0.554142475128 1.359774947166 -0.457094848156 -v -0.544462203979 1.367879867554 -0.489594697952 -v -0.554653167725 1.386860847473 -0.492153495550 -v -0.540938138962 1.330043315887 -0.446610987186 -v -0.526558876038 1.326992034912 -0.474644184113 -v -0.532519340515 1.298381805420 -0.428922235966 -v -0.517386436462 1.295669794083 -0.456924021244 -v -0.517901897430 1.258272409439 -0.422607213259 -v -0.512837409973 1.254708290100 -0.429519742727 -v -0.540863037109 1.262001872063 -0.384749233723 -v -0.516560077667 1.256026744843 -0.420525699854 -v -0.516956090927 1.229684472084 -0.400133073330 -v -0.512316942215 1.247911930084 -0.421232968569 -v -0.543984174728 1.231948614120 -0.360431998968 -v -0.536952972412 1.211765289307 -0.364224553108 -v -0.613957405090 1.310405731201 -0.337616801262 -v -0.617177486420 1.305488467216 -0.336197882891 -v -0.547671794891 1.226849794388 -0.359812885523 -v -0.623764514923 1.295241832733 -0.345131874084 -v -0.550174236298 1.224074363708 -0.363058030605 -v -0.611073017120 1.422493457794 -0.469076097012 -v -0.633231639862 1.343430519104 -0.382424205542 -v -0.617163181305 1.313082218170 -0.376247048378 -v -0.627777338028 1.298094511032 -0.349091798067 -v -0.587876319885 1.425273895264 -0.487512648106 -v -0.559880733490 1.391711711884 -0.492971718311 -v -0.546575784683 1.364702701569 -0.491101324558 -v -0.556817054749 1.384633302689 -0.494335830212 -v -0.581263065338 1.378509998322 -0.469431370497 -v -0.528251409531 1.325081706047 -0.475629925728 -v -0.562163352966 1.334616303444 -0.456040829420 -v -0.519301652908 1.293952107430 -0.458499312401 -v -0.546352624893 1.291024565697 -0.436513841152 -v -0.514696121216 1.253158092499 -0.430215626955 -v -0.520211696625 1.255135059357 -0.424808651209 -v -0.520582675934 1.251160979271 -0.424345523119 -v -0.549528598785 1.249001860619 -0.397651523352 -v -0.514673948288 1.245489358902 -0.423131406307 -v -0.518534421921 1.226596713066 -0.399023622274 -v -0.549133777618 1.221839308739 -0.366844773293 -v -0.538474559784 1.209404468536 -0.364824950695 -v -0.528185606003 1.214612126350 -0.376569181681 -v -0.529793500900 1.213744163513 -0.379284560680 -v -0.549133777618 1.221839308739 -0.366844773293 -v -0.752520561218 1.404311418533 -0.285495400429 -v -0.799973726273 1.489697456360 -0.296636253595 -v 0.070177555084 1.274966716766 0.089686870575 -v 0.067983150482 1.274402737617 0.090926527977 -v 0.066224336624 1.272931575775 0.092114746571 -v 0.065168857574 1.270776987076 0.093070566654 -v 0.064977169037 1.268267154694 0.093648433685 -v 0.065678596497 1.265784263611 0.093760550022 -v 0.067166328430 1.263706088066 0.093389570713 -v 0.069213867188 1.262349128723 0.092592179775 -v 0.071509599686 1.261919736862 0.091489672661 -v 0.073703765869 1.262483835220 0.090249955654 -v 0.075462818146 1.263954997063 0.089061796665 -v 0.076518297195 1.266109466553 0.088105916977 -v 0.076709985733 1.268619298935 0.087528049946 -v 0.076008558273 1.271102190018 0.087416052818 -v 0.074520826340 1.273180484772 0.087786972523 -v 0.072473287582 1.274537563324 0.088584363461 -v 0.068333148956 1.278423786163 0.086334288120 -v 0.064796447754 1.277514934540 0.088332414627 -v 0.061961412430 1.275143623352 0.090247511864 -v 0.060260057449 1.271671056747 0.091788053513 -v 0.059951066971 1.267625689507 0.092719554901 -v 0.061081647873 1.263623714447 0.092900037766 -v 0.063479423523 1.260274052620 0.092302203178 -v 0.066779851913 1.258086919785 0.091017007828 -v 0.070479869843 1.257395267487 0.089240074158 -v 0.074016571045 1.258304119110 0.087241888046 -v 0.076851606369 1.260675430298 0.085326790810 -v 0.078552961349 1.264147996902 0.083786249161 -v 0.078861951828 1.268193244934 0.082854807377 -v 0.077731370926 1.272195339203 0.082674264908 -v 0.075333595276 1.275544881821 0.083272099495 -v 0.072033166885 1.277732014656 0.084557354450 -v 0.065737485886 1.280808687210 0.081495702267 -v 0.061116695404 1.279621124268 0.084106385708 -v 0.057412624359 1.276522874832 0.086608529091 -v 0.055189609528 1.271985650063 0.088621377945 -v 0.054785966873 1.266700267792 0.089838445187 -v 0.056262969971 1.261471390724 0.090074300766 -v 0.059396028519 1.257094979286 0.089293181896 -v 0.063708066940 1.254237174988 0.087613999844 -v 0.068542480469 1.253333449364 0.085292279720 -v 0.073163509369 1.254521012306 0.082681596279 -v 0.076867341995 1.257619142532 0.080179393291 -v 0.079090595245 1.262156486511 0.078166604042 -v 0.079494237900 1.267441749573 0.076949536800 -v 0.078016996384 1.272670745850 0.076713681221 -v 0.074883937836 1.277047157288 0.077494800091 -v 0.070571899414 1.279904842377 0.079174041748 -v 0.062948465347 1.280951499939 0.076157152653 -v 0.057946681976 1.279666066170 0.078983008862 -v 0.053937673569 1.276312589645 0.081691384315 -v 0.051531553268 1.271401524544 0.083870053291 -v 0.051094532013 1.265680670738 0.085187315941 -v 0.052693367004 1.260020971298 0.085442662239 -v 0.056084394455 1.255283951759 0.084597170353 -v 0.060751676559 1.252190828323 0.082779586315 -v 0.065984487534 1.251212596893 0.080266594887 -v 0.070986270905 1.252498149872 0.077440857887 -v 0.074995517731 1.255851507187 0.074732422829 -v 0.077401638031 1.260762453079 0.072553753853 -v 0.077838659286 1.266483306885 0.071236491203 -v 0.076239824295 1.272143006325 0.070981144905 -v 0.072848558426 1.276880025864 0.071826636791 -v 0.068181276321 1.279973268509 0.073644220829 -v 0.060390472412 1.278830766678 0.071131527424 -v 0.055769443512 1.277642965317 0.073742210865 -v 0.052065610886 1.274544715881 0.076244413853 -v 0.049842596054 1.270007610321 0.078257262707 -v 0.049438953400 1.264722228050 0.079474270344 -v 0.050915956497 1.259493350983 0.079710185528 -v 0.054049015045 1.255116820335 0.078929066658 -v 0.058361053467 1.252259254456 0.077249825001 -v 0.063195466995 1.251355409622 0.074928104877 -v 0.067816495895 1.252542972565 0.072317481041 -v 0.071520328522 1.255641222000 0.069815278053 -v 0.073743581772 1.260178327560 0.067802429199 -v 0.074147224426 1.265463709831 0.066585421562 -v 0.072669982910 1.270692825317 0.066349506378 -v 0.069536924362 1.275068998337 0.067130684853 -v 0.065225124359 1.277926802635 0.068809866905 -v 0.067524909973 1.268451929092 0.093102991581 -v 0.069175004959 1.268501400948 0.092242240906 -v 0.071127653122 1.268560051918 0.091223716736 -v 0.073080301285 1.268618583679 0.090205192566 -v 0.074730157852 1.268668174744 0.089344441891 -v 0.070652723312 1.273131608963 0.090560674667 -v 0.068799734116 1.272726535797 0.091593861580 -v 0.067301273346 1.271686553955 0.092565476894 -v 0.066444635391 1.270407199860 0.093231320381 -v 0.066426753998 1.268414258957 0.093641161919 -v 0.066850900650 1.266429066658 0.093780994415 -v 0.067962169647 1.265214204788 0.093459844589 -v 0.069663047791 1.264270186424 0.092762410641 -v 0.071587085724 1.263978362083 0.091825425625 -v 0.073440074921 1.264383435249 0.090792238712 -v 0.074938535690 1.265423536301 0.089820683002 -v 0.075786352158 1.266697168350 0.089119791985 -v 0.075813055038 1.268695831299 0.088744938374 -v 0.075380325317 1.270675182343 0.088570117950 -v 0.074277639389 1.271895647049 0.088926315308 -v 0.072576761246 1.272839784622 0.089623689651 -v 0.004819393158 1.270663738251 0.106835365295 -v 0.004348754883 1.274211406708 0.103122293949 -v 0.008491754532 1.273808002472 0.103105425835 -v 0.007389783859 1.270413398743 0.106824874878 -v 0.012167453766 1.271865367889 0.103312313557 -v 0.009670257568 1.269208192825 0.106953203678 -v 0.014816045761 1.268679141998 0.103711485863 -v 0.011313676834 1.267231464386 0.107200860977 -v 0.016034841537 1.264734506607 0.104242146015 -v 0.012069702148 1.264783978462 0.107530117035 -v 0.015637636185 1.260631918907 0.104823470116 -v 0.011823415756 1.262238621712 0.107890844345 -v 0.013685464859 1.256995797157 0.105367064476 -v 0.010612010956 1.259982705116 0.108228087425 -v 0.010475158691 1.254379987717 0.105790019035 -v 0.008620262146 1.258359789848 0.108490467072 -v 0.006495475769 1.253182649612 0.106028079987 -v 0.006151199341 1.257616877556 0.108638167381 -v 0.002352476120 1.253586053848 0.106044888496 -v 0.003580808640 1.257867097855 0.108648657799 -v -0.001322984695 1.255528688431 0.105838000774 -v 0.001300334930 1.259072422981 0.108520269394 -v -0.003971815109 1.258714914322 0.105438828468 -v -0.000343084335 1.261049270630 0.108272612095 -v -0.005190372467 1.262659549713 0.104908168316 -v -0.001099109650 1.263496637344 0.107943356037 -v -0.004793405533 1.266762256622 0.104326844215 -v -0.000852823257 1.266042113304 0.107582688332 -v -0.002841234207 1.270398139954 0.103783249855 -v 0.000358581543 1.268298029900 0.107245445251 -v 0.000369071960 1.273014068604 0.103360295296 -v 0.002350330353 1.269920825958 0.106983006001 -v 0.003931760788 1.276739597321 0.097712039948 -v 0.009344816208 1.276212692261 0.097690045834 -v 0.014147281647 1.273674488068 0.097960352898 -v 0.017608165741 1.269511461258 0.098481893539 -v 0.019200325012 1.264357566833 0.099175214767 -v 0.018681526184 1.258997201920 0.099934816360 -v 0.016130685806 1.254246473312 0.100645005703 -v 0.011936426163 1.250828742981 0.101197659969 -v 0.006736755371 1.249264478683 0.101508677006 -v 0.001323699951 1.249791383743 0.101530730724 -v -0.003478765488 1.252329587936 0.101260423660 -v -0.006939411163 1.256492614746 0.100738883018 -v -0.008531808853 1.261646509171 0.100045561790 -v -0.008013010025 1.267006874084 0.099285960197 -v -0.005462169647 1.271757602692 0.098575711250 -v -0.001267671585 1.275175333023 0.098023056984 -v 0.003712654114 1.277051687241 0.091699361801 -v 0.009571552277 1.276481389999 0.091675460339 -v 0.014769792557 1.273733854294 0.091968059540 -v 0.018515825272 1.269227981567 0.092532575130 -v 0.020239114761 1.263649225235 0.093283057213 -v 0.019677639008 1.257847428322 0.094105184078 -v 0.016916751862 1.252705335617 0.094873905182 -v 0.012376546860 1.249006032944 0.095472097397 -v 0.006748676300 1.247312784195 0.095808684826 -v 0.000889539719 1.247883200645 0.095832526684 -v -0.004308462143 1.250630378723 0.095539927483 -v -0.008054494858 1.255136489868 0.094975411892 -v -0.009777784348 1.260715007782 0.094224989414 -v -0.009216308594 1.266516923904 0.093402862549 -v -0.006455421448 1.271659016609 0.092634141445 -v -0.001915454865 1.275358438492 0.092035949230 -v 0.003724575043 1.275099992752 0.085999369621 -v 0.009137630463 1.274572968483 0.085977315903 -v 0.013940095901 1.272034764290 0.086247682571 -v 0.017400741577 1.267871737480 0.086769223213 -v 0.018993139267 1.262717843056 0.087462544441 -v 0.018474340439 1.257357597351 0.088222086430 -v 0.015923500061 1.252606868744 0.088932335377 -v 0.011729001999 1.249189138412 0.089484930038 -v 0.006529569626 1.247624635696 0.089795947075 -v 0.001116514206 1.248151659966 0.089817941189 -v -0.003685951233 1.250689744949 0.089547634125 -v -0.007146835327 1.254852890968 0.089026153088 -v -0.008738994598 1.260006904602 0.088332772255 -v -0.008220195770 1.265367150307 0.087573230267 -v -0.005669355392 1.270117759705 0.086863040924 -v -0.001475095749 1.273535490036 0.086310386658 -v 0.000261068344 1.263721823692 0.108568012714 -v 0.000306606293 1.265732765198 0.108267664909 -v 0.001283168793 1.267090082169 0.108078360558 -v 0.001492738724 1.263846516609 0.108560204506 -v 0.005061388016 1.268813371658 0.107770264149 -v 0.007216453552 1.268672227859 0.107751905918 -v 0.007727861404 1.264456152916 0.108364582062 -v 0.005536317825 1.264241814613 0.108433365822 -v 0.002977371216 1.268257856369 0.107884883881 -v 0.003344774246 1.264027595520 0.108502089977 -v 0.009113311768 1.267855644226 0.107832670212 -v 0.009579896927 1.264637112617 0.108306467533 -v 0.010335683823 1.266713142395 0.107952952385 -v 0.010796070099 1.264751791954 0.108237385750 -v 0.010741710663 1.262735128403 0.108502686024 -v 0.009773969650 1.261383295059 0.108727037907 -v 0.008079767227 1.260215759277 0.108920395374 -v 0.005995750427 1.259660124779 0.109035074711 -v 0.003840684891 1.259801387787 0.109053432941 -v 0.001943826675 1.260617733002 0.108972728252 -v 0.000712633133 1.261754751205 0.108817398548 -v -0.090843439102 0.711956977844 -0.100321829319 -v -0.097157239914 0.660702586174 -0.115609467030 -v -0.006523370743 0.676110148430 -0.150974154472 -v -0.006254673004 0.734257340431 -0.141055881977 -v -0.106460332870 0.595456779003 -0.120525121689 -v -0.013854026794 0.609138488770 -0.144045293331 -v 0.159080028534 0.595945835114 -0.117241799831 -v 0.082373142242 0.601140439510 -0.140979409218 -v 0.217724084854 0.633673191071 -0.043690085411 -v 0.161948204041 0.658787310123 -0.116667926311 -v 0.161992549896 0.716392397881 -0.109141111374 -v 0.200988769531 0.700885295868 -0.057521402836 -v 0.082037210464 0.736163735390 -0.142028212547 -v 0.083940982819 0.671887874603 -0.145761489868 -v -0.052839994431 0.668570876122 -0.136453270912 -v -0.051985740662 0.724966228008 -0.126949429512 -v -0.060494899750 0.603041768074 -0.130789637566 -v 0.039752244949 0.676460027695 -0.152075648308 -v 0.039582014084 0.736532151699 -0.145459830761 -v 0.035222053528 0.606680989265 -0.146267235279 -v 0.123104095459 0.599229633808 -0.133650958538 -v 0.124687910080 0.666198194027 -0.136043965816 -v 0.123418569565 0.728347480297 -0.130160868168 -v 0.192488431931 0.646883368492 -0.081060171127 -v 0.192901372910 0.580796957016 -0.078956365585 -v 0.191608905792 0.708395838737 -0.080889344215 -v -0.110157966614 0.521872341633 -0.123427271843 -v -0.020442485809 0.542563259602 -0.144708812237 -v -0.109526634216 0.464789211750 -0.130063176155 -v -0.029718160629 0.474508851767 -0.155036568642 -v 0.068801403046 0.477472692728 -0.140547931194 -v 0.076097488403 0.537705183029 -0.135993599892 -v 0.162404775620 0.526327550411 -0.118127703667 -v 0.165109157562 0.450441986322 -0.139342069626 -v 0.228643178940 0.555671572685 -0.027355194092 -v 0.238083362579 0.474860131741 -0.044692456722 -v -0.066143035889 0.532799482346 -0.133282661438 -v -0.084163904190 0.454995065928 -0.141852140427 -v 0.016598701477 0.487684130669 -0.148972153664 -v 0.027564287186 0.544286847115 -0.143417119980 -v 0.122592210770 0.530475378036 -0.130063533783 -v 0.122491121292 0.461961984634 -0.139939665794 -v 0.199285984039 0.507649183273 -0.092158377171 -v 0.206475257874 0.438298881054 -0.125071763992 -v 0.236012935638 0.432352960110 -0.098448753357 -v -0.090003728867 0.713547110558 -0.098060905933 -v -0.096627950668 0.660236895084 -0.111967146397 -v -0.006083011627 0.675602138042 -0.146969020367 -v -0.005826711655 0.733766078949 -0.137710273266 -v -0.104192733765 0.594722390175 -0.114763200283 -v -0.013294696808 0.609091877937 -0.139524400234 -v 0.157139778137 0.595473289490 -0.113379478455 -v 0.081852197647 0.601088523865 -0.137477576733 -v 0.215976238251 0.632654249668 -0.042290151119 -v 0.160015106201 0.658218741417 -0.113578557968 -v 0.160174369812 0.716303348541 -0.106486916542 -v 0.199095010757 0.698588788509 -0.055205583572 -v 0.081353425980 0.736018717289 -0.138786435127 -v 0.083306312561 0.671617090702 -0.142443776131 -v -0.051246881485 0.668073892593 -0.131973326206 -v -0.051016092300 0.724832594395 -0.123342573643 -v -0.058906555176 0.602810740471 -0.125979125500 -v 0.039349555969 0.676087617874 -0.148158311844 -v 0.039282560349 0.736191391945 -0.142057716846 -v 0.034797668457 0.606659471989 -0.142599940300 -v 0.122372865677 0.599070608616 -0.130384206772 -v 0.123716592789 0.665827274323 -0.132826924324 -v 0.122337818146 0.727991521358 -0.127091944218 -v 0.189619779587 0.645916223526 -0.078319907188 -v 0.190189838409 0.580016136169 -0.076071262360 -v 0.189076185226 0.708024799824 -0.078644990921 -v -0.109309196472 0.521241247654 -0.119572401047 -v -0.019951820374 0.542360663414 -0.139999091625 -v -0.107759237289 0.462610036135 -0.125670790672 -v -0.029715299606 0.473200440407 -0.152146577835 -v 0.068043947220 0.475595116615 -0.137133598328 -v 0.075683832169 0.537864387035 -0.132634162903 -v 0.160769462585 0.526261806488 -0.115079045296 -v 0.163467884064 0.450367748737 -0.135400056839 -v 0.221496105194 0.555388748646 -0.030082941055 -v 0.230763673782 0.473996579647 -0.045731902122 -v -0.064914464951 0.532697319984 -0.129568278790 -v -0.083212852478 0.454447656870 -0.137265324593 -v 0.015990495682 0.486549288034 -0.145901143551 -v 0.027146339417 0.544277787209 -0.140076875687 -v 0.121834754944 0.530655384064 -0.126233458519 -v 0.121745109558 0.460826694965 -0.136413335800 -v 0.196135759354 0.507262945175 -0.088767468929 -v 0.203240156174 0.436599731445 -0.122523009777 -v 0.234281539917 0.431487858295 -0.096786618233 -v -0.090369224548 0.714081227779 -0.101824402809 -v -0.097647190094 0.660447895527 -0.114232182503 -v -0.108165264130 0.595181941986 -0.117026686668 -v 0.217889308929 0.634391546249 -0.045080006123 -v 0.200847625732 0.698190927505 -0.056285917759 -v -0.110817670822 0.521583199501 -0.122230708599 -v -0.109757661819 0.463707029819 -0.127314388752 -v -0.029812097549 0.473399698734 -0.154148936272 -v 0.068494558334 0.476215690374 -0.139647960663 -v 0.164371013641 0.449653983116 -0.137532711029 -v 0.229068279266 0.556188762188 -0.032200336456 -v 0.238276958466 0.475655049086 -0.049598276615 -v -0.083764553070 0.453088641167 -0.140538215637 -v 0.016265869141 0.486640363932 -0.148057878017 -v 0.122293949127 0.461069822311 -0.137957692146 -v 0.204746484756 0.437017977238 -0.123723983765 -v 0.236302852631 0.434788256884 -0.099483311176 -# 5612 vertices - -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.999996423721 0.002676663222 -0.000000290167 -vn 0.999996423721 0.002676663222 -0.000000290167 -vn 0.923878908157 0.001448502531 -0.382682144642 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.923878908157 0.001448502531 -0.382682144642 -vn 0.923878908157 0.001448502531 -0.382682144642 -vn 0.707109510899 -0.000000117219 -0.707104086876 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.707109510899 -0.000000117219 -0.707104086876 -vn 0.707109510899 -0.000000117219 -0.707104086876 -vn 0.382688552141 -0.001448765281 -0.923876285553 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn 0.382688552141 -0.001448765281 -0.923876285553 -vn 0.382688552141 -0.001448765281 -0.923876285553 -vn 0.000007046216 -0.002676850883 -0.999996423721 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn 0.000007046216 -0.002676850883 -0.999996423721 -vn 0.000007046216 -0.002676850883 -0.999996423721 -vn -0.382675558329 -0.003497409867 -0.923876166344 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.382675558329 -0.003497409867 -0.923876166344 -vn -0.382675558329 -0.003497409867 -0.923876166344 -vn -0.707099020481 -0.003785590874 -0.707104384899 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.707099020481 -0.003785590874 -0.707104384899 -vn -0.707099020481 -0.003785590874 -0.707104384899 -vn -0.923873543739 -0.003497653874 -0.382681846619 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.923873543739 -0.003497653874 -0.382681846619 -vn -0.923873543739 -0.003497653874 -0.382681846619 -vn -0.999996423721 -0.002677109092 -0.000000101558 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.999996423721 -0.002677109092 -0.000000101558 -vn -0.999996423721 -0.002677109092 -0.000000101558 -vn -0.923879206181 -0.001448904164 0.382681488991 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.923879206181 -0.001448904164 0.382681488991 -vn -0.923879206181 -0.001448904164 0.382681488991 -vn -0.707109510899 -0.000000233324 0.707104027271 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.707109510899 -0.000000233324 0.707104027271 -vn -0.707109510899 -0.000000233324 0.707104027271 -vn -0.382688343525 0.001448100782 0.923876345158 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.000775693450 0.289909631014 0.957053720951 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.382688343525 0.001448100782 0.923876345158 -vn -0.382688343525 0.001448100782 0.923876345158 -vn -0.000006930147 0.002676741453 0.999996423721 -vn -0.000775693450 0.289909631014 0.957053720951 -vn 0.365767657757 0.290692329407 0.884144783020 -vn -0.000775693450 0.289909631014 0.957053720951 -vn -0.000006930147 0.002676741453 0.999996423721 -vn -0.000006930147 0.002676741453 0.999996423721 -vn 0.382675796747 0.003497589612 0.923876047134 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.382675796747 0.003497589612 0.923876047134 -vn 0.382675796747 0.003497589612 0.923876047134 -vn 0.707099556923 0.003785443027 0.707103908062 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.707099556923 0.003785443027 0.707103908062 -vn 0.707099556923 0.003785443027 0.707103908062 -vn 0.923873484135 0.003497370984 0.382681995630 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.923873484135 0.003497370984 0.382681995630 -vn 0.923873484135 0.003497370984 0.382681995630 -vn 0.999996423721 0.002676663222 -0.000000290167 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn -0.387655943632 0.908313095570 0.157131060958 -vn -0.387655943632 0.908313095570 0.157131060958 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn -0.297270774841 0.908917307854 0.292402744293 -vn -0.297270774841 0.908917307854 0.292402744293 -vn -0.387655943632 0.908313095570 0.157131060958 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.297270774841 0.908917307854 0.292402744293 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.161999627948 0.909521639347 0.382787853479 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn 0.157127469778 0.910376429558 0.382786720991 -vn 0.157127469778 0.910376429558 0.382786720991 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn 0.292393177748 0.910480380058 0.292458146811 -vn 0.292393177748 0.910480380058 0.292458146811 -vn 0.157127469778 0.910376429558 0.382786720991 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn 0.383436083794 0.909999251366 0.157727986574 -vn 0.383436083794 0.909999251366 0.157727986574 -vn 0.292393177748 0.910480380058 0.292458146811 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn 0.383436083794 0.909999251366 0.157727986574 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn -0.478781968355 0.856518745422 0.192726433277 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn -0.478781968355 0.856518745422 0.192726433277 -vn -0.362025827169 0.861238956451 0.356657683849 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn -0.478781968355 0.856518745422 0.192726433277 -vn -0.362025827169 0.861238956451 0.356657683849 -vn -0.196696266532 0.862110078335 0.466986924410 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn -0.362025827169 0.861238956451 0.356657683849 -vn -0.196696266532 0.862110078335 0.466986924410 -vn -0.002309706295 0.862733006477 0.505654513836 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn -0.196696266532 0.862110078335 0.466986924410 -vn -0.002309706295 0.862733006477 0.505654513836 -vn 0.192080840468 0.863147914410 0.466991037130 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn -0.002309706295 0.862733006477 0.505654513836 -vn 0.192080840468 0.863147914410 0.466991037130 -vn 0.356875717640 0.863294601440 0.356878399849 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn 0.192080840468 0.863147914410 0.466991037130 -vn 0.356875717640 0.863294601440 0.356878399849 -vn 0.466988563538 0.863148868084 0.192082583904 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn 0.356875717640 0.863294601440 0.356878399849 -vn 0.466988563538 0.863148868084 0.192082583904 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn 0.466988563538 0.863148868084 0.192082583904 -vn -0.923878908157 -0.001449008239 0.382682144642 -vn -0.999996423721 -0.002678310033 0.000000691564 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.923878908157 -0.001449008239 0.382682144642 -vn -0.707109570503 0.000000921165 0.707103967667 -vn -0.923878908157 -0.001449008239 0.382682144642 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.707109570503 0.000000921165 0.707103967667 -vn -0.382688790560 0.001448393799 0.923876166344 -vn -0.707109570503 0.000000921165 0.707103967667 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.382688790560 0.001448393799 0.923876166344 -vn -0.000007515317 0.002677260898 0.999996423721 -vn -0.382688790560 0.001448393799 0.923876166344 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.000007515317 0.002677260898 0.999996423721 -vn 0.382675856352 0.003497111378 0.923876047134 -vn -0.000007515317 0.002677260898 0.999996423721 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.000832362915 0.310922086239 0.950435042381 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.382675856352 0.003497111378 0.923876047134 -vn 0.707099318504 0.003786612069 0.707104086876 -vn 0.382675856352 0.003497111378 0.923876047134 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.707099318504 0.003786612069 0.707104086876 -vn 0.923873662949 0.003498079954 0.382681578398 -vn 0.707099318504 0.003786612069 0.707104086876 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.923873662949 0.003498079954 0.382681578398 -vn 0.999996423721 0.002677112818 0.000000715744 -vn 0.923873662949 0.003498079954 0.382681578398 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.999996423721 0.002677112818 0.000000715744 -vn 0.923879086971 0.001448885887 -0.382681787014 -vn 0.999996423721 0.002677112818 0.000000715744 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.923879086971 0.001448885887 -0.382681787014 -vn 0.707109153271 0.000000960799 -0.707104384899 -vn 0.923879086971 0.001448885887 -0.382681787014 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.707109153271 0.000000960799 -0.707104384899 -vn 0.382688552141 -0.001448108349 -0.923876285553 -vn 0.707109153271 0.000000960799 -0.707104384899 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.382688552141 -0.001448108349 -0.923876285553 -vn 0.000006867277 -0.002676919103 -0.999996423721 -vn 0.382688552141 -0.001448108349 -0.923876285553 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn 0.000006867277 -0.002676919103 -0.999996423721 -vn -0.382675290108 -0.003497047350 -0.923876285553 -vn 0.000006867277 -0.002676919103 -0.999996423721 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.382675290108 -0.003497047350 -0.923876285553 -vn -0.707099556923 -0.003786611836 -0.707103848457 -vn -0.382675290108 -0.003497047350 -0.923876285553 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.707099556923 -0.003786611836 -0.707103848457 -vn -0.923873543739 -0.003497794271 -0.382681936026 -vn -0.707099556923 -0.003786611836 -0.707103848457 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.923873543739 -0.003497794271 -0.382681936026 -vn -0.999996423721 -0.002678310033 0.000000691564 -vn -0.923873543739 -0.003497794271 -0.382681936026 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.999996423721 -0.002678310033 0.000000691564 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn -0.387655943632 0.908313095570 0.157131060958 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn -0.387655943632 0.908313095570 0.157131060958 -vn -0.297270774841 0.908917307854 0.292402744293 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.387655943632 0.908313095570 0.157131060958 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn -0.297270774841 0.908917307854 0.292402744293 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.297270774841 0.908917307854 0.292402744293 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.002435945906 0.910033643246 0.414527237415 -vn 0.157127469778 0.910376429558 0.382786720991 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.363199502230 0.311703413725 0.878024518490 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn 0.157127469778 0.910376429558 0.382786720991 -vn 0.292393177748 0.910480380058 0.292458146811 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.157127469778 0.910376429558 0.382786720991 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn 0.292393177748 0.910480380058 0.292458146811 -vn 0.383436083794 0.909999251366 0.157727986574 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.292393177748 0.910480380058 0.292458146811 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn 0.383436083794 0.909999251366 0.157727986574 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.383436083794 0.909999251366 0.157727986574 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn -0.478781968355 0.856518745422 0.192726433277 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.478781968355 0.856518745422 0.192726433277 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn -0.362025827169 0.861238956451 0.356657683849 -vn -0.478781968355 0.856518745422 0.192726433277 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.362025827169 0.861238956451 0.356657683849 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn -0.196696266532 0.862110078335 0.466986924410 -vn -0.362025827169 0.861238956451 0.356657683849 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.196696266532 0.862110078335 0.466986924410 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn -0.002309706295 0.862733006477 0.505654513836 -vn -0.196696266532 0.862110078335 0.466986924410 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.000775693450 0.289909631014 0.957053720951 -vn -0.002309706295 0.862733006477 0.505654513836 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn 0.192080840468 0.863147914410 0.466991037130 -vn -0.002309706295 0.862733006477 0.505654513836 -vn -0.000775693450 0.289909631014 0.957053720951 -vn -0.000775693450 0.289909631014 0.957053720951 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.192080840468 0.863147914410 0.466991037130 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn 0.356875717640 0.863294601440 0.356878399849 -vn 0.192080840468 0.863147914410 0.466991037130 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.356875717640 0.863294601440 0.356878399849 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn 0.466988563538 0.863148868084 0.192082583904 -vn 0.356875717640 0.863294601440 0.356878399849 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.466988563538 0.863148868084 0.192082583904 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn 0.466988563538 0.863148868084 0.192082583904 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.183472141623 0.979701697826 0.080762445927 -vn 0.169224634767 0.977109313011 0.128920063376 -vn -0.042956437916 0.949172854424 0.311810165644 -vn 0.332912445068 0.935498297215 0.118373312056 -vn -0.140165805817 0.920780718327 0.364028096199 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.086222581565 0.921112477779 0.379628002644 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn 0.704381942749 0.650786757469 0.283412605524 -vn 0.561204314232 -0.064809150994 0.825136005878 -vn 0.047306902707 0.969304382801 0.241269692779 -vn -0.072743989527 0.993828594685 0.083743982017 -vn -0.236780017614 0.949869990349 0.204162240028 -vn 0.058749053627 0.997522294521 0.038701053709 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.021251596510 0.999252557755 0.032289963216 -vn 0.083970263600 0.986458778381 -0.140883311629 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.183472141623 0.979701697826 0.080762445927 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.231376439333 0.864601671696 0.446014404297 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.190288290381 0.690781593323 0.697575151920 -vn 0.397790223360 0.740713775158 0.541392683983 -vn 0.190288290381 0.690781593323 0.697575151920 -vn 0.052971653640 0.880331635475 0.471391826868 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.182488054037 0.870233118534 0.457594156265 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.227070003748 0.845175921917 -0.483856230974 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.265035003424 0.962137639523 -0.063620537519 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.299751222134 0.938948035240 -0.168895721436 -vn -0.265035003424 0.962137639523 -0.063620537519 -vn -0.199486538768 0.979446530342 0.029826447368 -vn -0.248550355434 0.968081712723 0.032257635146 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.665100693703 0.708603322506 0.235631942749 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.132732138038 0.979921698570 0.148780390620 -vn -0.125670656562 0.990344762802 0.058515954763 -vn -0.208323746920 0.938979506493 0.273712754250 -vn 0.058749053627 0.997522294521 0.038701053709 -vn -0.026919174939 0.987045407295 0.158166885376 -vn 0.091195181012 0.875910937786 0.473775774240 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.129505842924 0.973472297192 0.188626378775 -vn 0.522200107574 0.730581760406 0.439951479435 -vn 0.561204314232 -0.064809150994 0.825136005878 -vn 0.704381942749 0.650786757469 0.283412605524 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.439923584461 0.807062745094 0.393848896027 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.332912445068 0.935498297215 0.118373312056 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.285025328398 0.782720506191 -0.553271353245 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.285025328398 0.782720506191 -0.553271353245 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.118587732315 0.931522011757 -0.343807578087 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn 0.266191989183 0.936656773090 -0.227631047368 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.266191989183 0.936656773090 -0.227631047368 -vn 0.266191989183 0.936656773090 -0.227631047368 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn 0.452575981617 0.878102481365 -0.155277132988 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.397790223360 0.740713775158 0.541392683983 -vn 0.165170222521 0.957066774368 0.238205745816 -vn -0.086222581565 0.921112477779 0.379628002644 -vn 0.014983816072 0.979317367077 0.201774612069 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.199486538768 0.979446530342 0.029826447368 -vn -0.236780017614 0.949869990349 0.204162240028 -vn -0.072743989527 0.993828594685 0.083743982017 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.182488054037 0.870233118534 0.457594156265 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.079861029983 0.974357426167 0.210356533527 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.132732138038 0.979921698570 0.148780390620 -vn -0.236780017614 0.949869990349 0.204162240028 -vn 0.005805051886 0.998719394207 0.050258178264 -vn 0.058749053627 0.997522294521 0.038701053709 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.105120658875 0.848330736160 -0.518926382065 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn 0.058749053627 0.997522294521 0.038701053709 -vn 0.005805051886 0.998719394207 0.050258178264 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn 0.169224634767 0.977109313011 0.128920063376 -vn -0.005251220893 0.929640710354 0.368429929018 -vn -0.042956437916 0.949172854424 0.311810165644 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.081451788545 0.994412124157 0.067157849669 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.285025328398 0.782720506191 -0.553271353245 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn -0.289651811123 0.940054774284 0.179996877909 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.072743989527 0.993828594685 0.083743982017 -vn 0.058749053627 0.997522294521 0.038701053709 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.125670656562 0.990344762802 0.058515954763 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.263052493334 0.964336454868 0.029301045462 -vn -0.439923584461 0.807062745094 0.393848896027 -vn -0.456301867962 0.849555730820 0.264657646418 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn -0.081451788545 0.994412124157 0.067157849669 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn -0.289651811123 0.940054774284 0.179996877909 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.375906050205 0.924689590931 0.060363583267 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn 0.083970263600 0.986458778381 -0.140883311629 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn -0.015371610411 0.996984004974 -0.076069392264 -vn -0.005251220893 0.929640710354 0.368429929018 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.042956437916 0.949172854424 0.311810165644 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.125670656562 0.990344762802 0.058515954763 -vn 0.263052493334 0.964336454868 0.029301045462 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn 0.083970263600 0.986458778381 -0.140883311629 -vn -0.015371610411 0.996984004974 -0.076069392264 -vn 0.207886472344 0.974640905857 0.082815110683 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.332912445068 0.935498297215 0.118373312056 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn -0.299751222134 0.938948035240 -0.168895721436 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.209413021803 0.874598622322 -0.437291055918 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.227070003748 0.845175921917 -0.483856230974 -vn -0.042956437916 0.949172854424 0.311810165644 -vn -0.079861029983 0.974357426167 0.210356533527 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.207886472344 0.974640905857 0.082815110683 -vn 0.412922382355 0.903982520103 -0.110953569412 -vn -0.183472141623 0.979701697826 0.080762445927 -vn 0.042343866080 0.998464703560 0.035709671676 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.316314905882 0.721284568310 0.616192698479 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.005805051886 0.998719394207 0.050258178264 -vn -0.021251596510 0.999252557755 0.032289963216 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.410649836063 0.890585064888 0.195512071252 -vn -0.021251596510 0.999252557755 0.032289963216 -vn 0.005805051886 0.998719394207 0.050258178264 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.412922382355 0.903982520103 -0.110953569412 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.043550744653 0.799514293671 0.599066138268 -vn -0.183472141623 0.979701697826 0.080762445927 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.433224350214 0.852531194687 0.292416185141 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.232279226184 0.908129572868 0.348349064589 -vn -0.111254252493 0.972327888012 0.205428630114 -vn 0.522200107574 0.730581760406 0.439951479435 -vn -0.410649836063 0.890585064888 0.195512071252 -vn 0.005805051886 0.998719394207 0.050258178264 -vn -0.236780017614 0.949869990349 0.204162240028 -vn -0.199486538768 0.979446530342 0.029826447368 -vn -0.410649836063 0.890585064888 0.195512071252 -vn -0.236780017614 0.949869990349 0.204162240028 -vn -0.086222581565 0.921112477779 0.379628002644 -vn -0.109717316926 0.925979495049 0.361281156540 -vn 0.014983816072 0.979317367077 0.201774612069 -vn 0.042343866080 0.998464703560 0.035709671676 -vn 0.165170222521 0.957066774368 0.238205745816 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.015371610411 0.996984004974 -0.076069392264 -vn -0.111254252493 0.972327888012 0.205428630114 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.111254252493 0.972327888012 0.205428630114 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.266191989183 0.936656773090 -0.227631047368 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.081451788545 0.994412124157 0.067157849669 -vn -0.089727103710 0.922582089901 0.375221759081 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.111254252493 0.972327888012 0.205428630114 -vn 0.561204314232 -0.064809150994 0.825136005878 -vn 0.522200107574 0.730581760406 0.439951479435 -vn -0.111254252493 0.972327888012 0.205428630114 -vn 0.047306902707 0.969304382801 0.241269692779 -vn 0.561204314232 -0.064809150994 0.825136005878 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.081451788545 0.994412124157 0.067157849669 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.089727103710 0.922582089901 0.375221759081 -vn -0.299751222134 0.938948035240 -0.168895721436 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.209413021803 0.874598622322 -0.437291055918 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.108999080956 0.947661638260 0.300094276667 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn 0.129825502634 0.989126026630 0.069101937115 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn 0.129505842924 0.973472297192 0.188626378775 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.665100693703 0.708603322506 0.235631942749 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn 0.091195181012 0.875910937786 0.473775774240 -vn 0.052971653640 0.880331635475 0.471391826868 -vn 0.190288290381 0.690781593323 0.697575151920 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.231376439333 0.864601671696 0.446014404297 -vn -0.316314905882 0.721284568310 0.616192698479 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.140165805817 0.920780718327 0.364028096199 -vn -0.089727103710 0.922582089901 0.375221759081 -vn -0.089727103710 0.922582089901 0.375221759081 -vn -0.140165805817 0.920780718327 0.364028096199 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.299751222134 0.938948035240 -0.168895721436 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.229664877057 0.936510980129 0.264955163002 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.111254252493 0.972327888012 0.205428630114 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.183472141623 0.979701697826 0.080762445927 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.042343866080 0.998464703560 0.035709671676 -vn 0.042343866080 0.998464703560 0.035709671676 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.165170222521 0.957066774368 0.238205745816 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.081451788545 0.994412124157 0.067157849669 -vn 0.014983816072 0.979317367077 0.201774612069 -vn 0.165170222521 0.957066774368 0.238205745816 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.057531148195 0.978615164757 0.197490662336 -vn 0.165170222521 0.957066774368 0.238205745816 -vn 0.014983816072 0.979317367077 0.201774612069 -vn -0.111254252493 0.972327888012 0.205428630114 -vn -0.015371610411 0.996984004974 -0.076069392264 -vn 0.047306902707 0.969304382801 0.241269692779 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn 0.452575981617 0.878102481365 -0.155277132988 -vn -0.289651811123 0.940054774284 0.179996877909 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.289651811123 0.940054774284 0.179996877909 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.439923584461 0.807062745094 0.393848896027 -vn -0.125670656562 0.990344762802 0.058515954763 -vn -0.125670656562 0.990344762802 0.058515954763 -vn -0.439923584461 0.807062745094 0.393848896027 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.332912445068 0.935498297215 0.118373312056 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.169224634767 0.977109313011 0.128920063376 -vn 0.332912445068 0.935498297215 0.118373312056 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.183472141623 0.979701697826 0.080762445927 -vn 0.165170222521 0.957066774368 0.238205745816 -vn 0.097139805555 0.825904786587 0.555378377438 -vn 0.017310172319 0.949390113354 0.313621997833 -vn 0.017310172319 0.949390113354 0.313621997833 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.288402497768 0.898042201996 0.332181036472 -vn 0.522200107574 0.730581760406 0.439951479435 -vn 0.704381942749 0.650786757469 0.283412605524 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn -0.005251220893 0.929640710354 0.368429929018 -vn 0.169224634767 0.977109313011 0.128920063376 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn 0.169224634767 0.977109313011 0.128920063376 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.522200107574 0.730581760406 0.439951479435 -vn 0.647070944309 0.737142920494 0.194729119539 -vn -0.057531148195 0.978615164757 0.197490662336 -vn 0.014983816072 0.979317367077 0.201774612069 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.199486538768 0.979446530342 0.029826447368 -vn -0.072743989527 0.993828594685 0.083743982017 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.072743989527 0.993828594685 0.083743982017 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.182488054037 0.870233118534 0.457594156265 -vn -0.229664877057 0.936510980129 0.264955163002 -vn -0.456301867962 0.849555730820 0.264657646418 -vn 0.105120658875 0.848330736160 -0.518926382065 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn 0.118587732315 0.931522011757 -0.343807578087 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.169224634767 0.977109313011 0.128920063376 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn -0.316314905882 0.721284568310 0.616192698479 -vn -0.231376439333 0.864601671696 0.446014404297 -vn 0.091195181012 0.875910937786 0.473775774240 -vn -0.026919174939 0.987045407295 0.158166885376 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.091195181012 0.875910937786 0.473775774240 -vn -0.054100811481 0.828716099262 -0.557048261166 -vn -0.227070003748 0.845175921917 -0.483856230974 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.209413021803 0.874598622322 -0.437291055918 -vn -0.227070003748 0.845175921917 -0.483856230974 -vn -0.054100811481 0.828716099262 -0.557048261166 -vn -0.316314905882 0.721284568310 0.616192698479 -vn 0.190288290381 0.690781593323 0.697575151920 -vn -0.043550744653 0.799514293671 0.599066138268 -vn -0.316314905882 0.721284568310 0.616192698479 -vn 0.091195181012 0.875910937786 0.473775774240 -vn 0.190288290381 0.690781593323 0.697575151920 -vn -0.072743989527 0.993828594685 0.083743982017 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.289651811123 0.940054774284 0.179996877909 -vn 0.091195181012 0.875910937786 0.473775774240 -vn 0.129505842924 0.973472297192 0.188626378775 -vn 0.052971653640 0.880331635475 0.471391826868 -vn -0.108999080956 0.947661638260 0.300094276667 -vn 0.129505842924 0.973472297192 0.188626378775 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn -0.086222581565 0.921112477779 0.379628002644 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.005251220893 0.929640710354 0.368429929018 -vn -0.086222581565 0.921112477779 0.379628002644 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.229664877057 0.936510980129 0.264955163002 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.229664877057 0.936510980129 0.264955163002 -vn -0.182488054037 0.870233118534 0.457594156265 -vn 0.412922382355 0.903982520103 -0.110953569412 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.207886472344 0.974640905857 0.082815110683 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.412922382355 0.903982520103 -0.110953569412 -vn 0.052971653640 0.880331635475 0.471391826868 -vn 0.129505842924 0.973472297192 0.188626378775 -vn -0.108999080956 0.947661638260 0.300094276667 -vn 0.052971653640 0.880331635475 0.471391826868 -vn -0.108999080956 0.947661638260 0.300094276667 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.132732138038 0.979921698570 0.148780390620 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.125670656562 0.990344762802 0.058515954763 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.132732138038 0.979921698570 0.148780390620 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.058749053627 0.997522294521 0.038701053709 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.026919174939 0.987045407295 0.158166885376 -vn 0.058749053627 0.997522294521 0.038701053709 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.452575981617 0.878102481365 -0.155277132988 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn 0.397790223360 0.740713775158 0.541392683983 -vn 0.190288290381 0.690781593323 0.697575151920 -vn 0.097139805555 0.825904786587 0.555378377438 -vn 0.165170222521 0.957066774368 0.238205745816 -vn 0.397790223360 0.740713775158 0.541392683983 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.231376439333 0.864601671696 0.446014404297 -vn -0.026919174939 0.987045407295 0.158166885376 -vn 0.091195181012 0.875910937786 0.473775774240 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.026919174939 0.987045407295 0.158166885376 -vn -0.231376439333 0.864601671696 0.446014404297 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn -0.140165805817 0.920780718327 0.364028096199 -vn -0.005251220893 0.929640710354 0.368429929018 -vn -0.140165805817 0.920780718327 0.364028096199 -vn -0.086222581565 0.921112477779 0.379628002644 -vn -0.005251220893 0.929640710354 0.368429929018 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn 0.665100693703 0.708603322506 0.235631942749 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.704381942749 0.650786757469 0.283412605524 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn -0.054100811481 0.828716099262 -0.557048261166 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn 0.105120658875 0.848330736160 -0.518926382065 -vn -0.182488054037 0.870233118534 0.457594156265 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.108999080956 0.947661638260 0.300094276667 -vn -0.182488054037 0.870233118534 0.457594156265 -vn -0.108999080956 0.947661638260 0.300094276667 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.042956437916 0.949172854424 0.311810165644 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.207886472344 0.974640905857 0.082815110683 -vn -0.042956437916 0.949172854424 0.311810165644 -vn 0.207886472344 0.974640905857 0.082815110683 -vn 0.332912445068 0.935498297215 0.118373312056 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.183472141623 0.979701697826 0.080762445927 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.183472141623 0.979701697826 0.080762445927 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn 0.105120658875 0.848330736160 -0.518926382065 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.285025328398 0.782720506191 -0.553271353245 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.089727103710 0.922582089901 0.375221759081 -vn -0.081451788545 0.994412124157 0.067157849669 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.770359873772 -0.349873751402 -0.533042252064 -vn -0.770359873772 -0.349873751402 -0.533042252064 -vn -0.866471350193 -0.494451045990 0.068887792528 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.826196610928 -0.378474891186 -0.417319893837 -vn 0.826196610928 -0.378474891186 -0.417319893837 -vn 0.627201139927 -0.266793459654 -0.731737613678 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn -0.189701020718 -0.520030140877 -0.832815766335 -vn -0.189701020718 -0.520030140877 -0.832815766335 -vn -0.770359873772 -0.349873751402 -0.533042252064 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.866471350193 -0.494451045990 0.068887792528 -vn -0.866471350193 -0.494451045990 0.068887792528 -vn -0.871176719666 -0.488596260548 0.048216242343 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.852627336979 -0.427872687578 -0.299919277430 -vn 0.852627336979 -0.427872687578 -0.299919277430 -vn 0.826196610928 -0.378474891186 -0.417319893837 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn -0.770887374878 -0.633049786091 0.070573315024 -vn -0.750959277153 -0.606336772442 0.261564284563 -vn -0.750959277153 -0.606336772442 0.261564284563 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.863608837128 -0.437417209148 -0.250691026449 -vn 0.852627336979 -0.427872687578 -0.299919277430 -vn 0.852627336979 -0.427872687578 -0.299919277430 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn 0.094348020852 -0.600384652615 0.794126391411 -vn 0.094348020852 -0.600384652615 0.794126391411 -vn 0.653992474079 -0.311724781990 0.689290583134 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.871176719666 -0.488596260548 0.048216242343 -vn -0.815200567245 -0.578349769115 -0.030977522954 -vn -0.815200567245 -0.578349769115 -0.030977522954 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn 0.653992474079 -0.311724781990 0.689290583134 -vn 0.859460055828 -0.470979452133 0.198763057590 -vn 0.859460055828 -0.470979452133 0.198763057590 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn 0.627201139927 -0.266793459654 -0.731737613678 -vn 0.627201139927 -0.266793459654 -0.731737613678 -vn -0.189701020718 -0.520030140877 -0.832815766335 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.582415580750 -0.402489781380 0.706253528595 -vn -0.582415580750 -0.402489781380 0.706253528595 -vn 0.094348020852 -0.600384652615 0.794126391411 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.871704638004 0.468953579664 0.142174378037 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.965529382229 0.233773931861 -0.114467352629 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.586331486702 0.507154703140 0.631671965122 -vn -0.024219894782 0.431608676910 0.901735723019 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn 0.586331486702 0.507154703140 0.631671965122 -vn -0.957649767399 0.245865628123 0.149856701493 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.957649767399 0.245865628123 0.149856701493 -vn 0.586331486702 0.507154703140 0.631671965122 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.586331486702 0.507154703140 0.631671965122 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.024219894782 0.431608676910 0.901735723019 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn -0.024219894782 0.431608676910 0.901735723019 -vn 0.361748665571 0.813761413097 0.454895913601 -vn -0.037171285599 0.822442770004 0.567632138729 -vn -0.024219894782 0.431608676910 0.901735723019 -vn -0.024219894782 0.431608676910 0.901735723019 -vn 0.586331486702 0.507154703140 0.631671965122 -vn 0.361748665571 0.813761413097 0.454895913601 -vn -0.037171285599 0.822442770004 0.567632138729 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.024219894782 0.431608676910 0.901735723019 -vn -0.037171285599 0.822442770004 0.567632138729 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.419445157051 0.878340363503 0.229311823845 -vn 0.361748665571 0.813761413097 0.454895913601 -vn 0.361748665571 0.813761413097 0.454895913601 -vn 0.586331486702 0.507154703140 0.631671965122 -vn 0.788730025291 0.571293294430 0.226999789476 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.965529382229 0.233773931861 -0.114467352629 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.861327946186 0.282207727432 0.422460556030 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.020976897329 0.060557164252 0.997944295406 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.063498787582 0.973852574825 0.218126371503 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.348094910383 0.829414248466 -0.436923295259 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.063498787582 0.973852574825 0.218126371503 -vn -0.063902124763 0.991366446018 0.114494979382 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn -0.063498787582 0.973852574825 0.218126371503 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.063498787582 0.973852574825 0.218126371503 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.518715977669 0.722569584846 -0.456975817680 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.063902124763 0.991366446018 0.114494979382 -vn -0.063498787582 0.973852574825 0.218126371503 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.063902124763 0.991366446018 0.114494979382 -vn 0.038015794009 0.828824400902 0.558215856552 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.008953621611 0.951425194740 0.307749807835 -vn 0.038015794009 0.828824400902 0.558215856552 -vn -0.008953621611 0.951425194740 0.307749807835 -vn -0.037171285599 0.822442770004 0.567632138729 -vn 0.361748665571 0.813761413097 0.454895913601 -vn 0.361748665571 0.813761413097 0.454895913601 -vn 0.419445157051 0.878340363503 0.229311823845 -vn -0.008953621611 0.951425194740 0.307749807835 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn -0.684937596321 0.226348280907 0.692551016808 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.957649767399 0.245865628123 0.149856701493 -vn -0.684937596321 0.226348280907 0.692551016808 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.750959277153 -0.606336772442 0.261564284563 -vn -0.582415580750 -0.402489781380 0.706253528595 -vn -0.582415580750 -0.402489781380 0.706253528595 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.859460055828 -0.470979452133 0.198763057590 -vn 0.849181652069 -0.524824261665 -0.058736898005 -vn 0.849181652069 -0.524824261665 -0.058736898005 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.841550469398 0.399582356215 0.363492399454 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.419445157051 0.878340363503 0.229311823845 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.419445157051 0.878340363503 0.229311823845 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.008953621611 0.951425194740 0.307749807835 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.037171285599 0.822442770004 0.567632138729 -vn -0.008953621611 0.951425194740 0.307749807835 -vn 0.038015794009 0.828824400902 0.558215856552 -vn -0.008953621611 0.951425194740 0.307749807835 -vn 0.419445157051 0.878340363503 0.229311823845 -vn 0.419445157051 0.878340363503 0.229311823845 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.038015794009 0.828824400902 0.558215856552 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.965529382229 0.233773931861 -0.114467352629 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.038015794009 0.828824400902 0.558215856552 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.126355975866 0.264645785093 0.956031799316 -vn -0.546461105347 0.726369321346 0.416854739189 -vn 0.038015794009 0.828824400902 0.558215856552 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.126355975866 0.264645785093 0.956031799316 -vn -0.684937596321 0.226348280907 0.692551016808 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.957649767399 0.245865628123 0.149856701493 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.684937596321 0.226348280907 0.692551016808 -vn -0.957649767399 0.245865628123 0.149856701493 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.965529382229 0.233773931861 -0.114467352629 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.863608837128 -0.437417209148 -0.250691026449 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.849181652069 -0.524824261665 -0.058736898005 -vn 0.863608837128 -0.437417209148 -0.250691026449 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.815200567245 -0.578349769115 -0.030977522954 -vn -0.770887374878 -0.633049786091 0.070573315024 -vn -0.770887374878 -0.633049786091 0.070573315024 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.957649767399 0.245865628123 0.149856701493 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn -0.871704638004 0.468953579664 0.142174378037 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.684937596321 0.226348280907 0.692551016808 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.861327946186 0.282207727432 0.422460556030 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.618004083633 0.135420069098 0.774423897266 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.684937596321 0.226348280907 0.692551016808 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.063902124763 0.991366446018 0.114494979382 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.102175161242 0.812571227551 0.573836445808 -vn -0.063902124763 0.991366446018 0.114494979382 -vn 0.284465849400 0.811888277531 0.509820163250 -vn 0.287292629480 0.892159521580 0.348589122295 -vn -0.063902124763 0.991366446018 0.114494979382 -vn -0.063902124763 0.991366446018 0.114494979382 -vn -0.102175161242 0.812571227551 0.573836445808 -vn 0.284465849400 0.811888277531 0.509820163250 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.518715977669 0.722569584846 -0.456975817680 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.102175161242 0.812571227551 0.573836445808 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.543861091137 0.085662640631 0.834791600704 -vn 0.020976897329 0.060557164252 0.997944295406 -vn -0.102175161242 0.812571227551 0.573836445808 -vn 0.284465849400 0.811888277531 0.509820163250 -vn -0.102175161242 0.812571227551 0.573836445808 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.284465849400 0.811888277531 0.509820163250 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.284465849400 0.811888277531 0.509820163250 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.348094910383 0.829414248466 -0.436923295259 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.348094910383 0.829414248466 -0.436923295259 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn 0.348094910383 0.829414248466 -0.436923295259 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.518715977669 0.722569584846 -0.456975817680 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.518715977669 0.722569584846 -0.456975817680 -vn 0.896774768829 -0.440434336662 0.042574360967 -vn 0.829682111740 -0.395381569862 -0.394082486629 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.896774768829 -0.440434336662 0.042574360967 -vn -0.504025876522 -0.301672607660 -0.809290766716 -vn -0.821440160275 -0.447597593069 -0.353401303291 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn -0.504025876522 -0.301672607660 -0.809290766716 -vn 0.829682111740 -0.395381569862 -0.394082486629 -vn 0.059312444180 -0.544704258442 -0.836528122425 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.829682111740 -0.395381569862 -0.394082486629 -vn 0.879417061806 -0.475138366222 0.029482273385 -vn 0.896774768829 -0.440434336662 0.042574360967 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn 0.879417061806 -0.475138366222 0.029482273385 -vn -0.821440160275 -0.447597593069 -0.353401303291 -vn -0.847441673279 -0.448818117380 -0.283557623625 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.821440160275 -0.447597593069 -0.353401303291 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.794788122177 -0.514725565910 0.321511179209 -vn 0.785471856594 -0.612062454224 0.091725103557 -vn 0.785471856594 -0.612062454224 0.091725103557 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.847441673279 -0.448818117380 -0.283557623625 -vn -0.876788675785 -0.431774467230 -0.211689546704 -vn -0.876788675785 -0.431774467230 -0.211689546704 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.645010352135 -0.400364696980 0.650899171829 -vn 0.069433189929 -0.577286839485 0.813584029675 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn -0.708797097206 0.001518160105 0.705410778522 -vn -0.645010352135 -0.400364696980 0.650899171829 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn 0.814705491066 -0.579487860203 -0.021184906363 -vn 0.879417061806 -0.475138366222 0.029482273385 -vn 0.879417061806 -0.475138366222 0.029482273385 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.842492818832 -0.518067896366 0.147687375546 -vn -0.645010352135 -0.400364696980 0.650899171829 -vn -0.645010352135 -0.400364696980 0.650899171829 -vn -0.708797097206 0.001518160105 0.705410778522 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn 0.059312444180 -0.544704258442 -0.836528122425 -vn -0.504025876522 -0.301672607660 -0.809290766716 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.059312444180 -0.544704258442 -0.836528122425 -vn 0.069433189929 -0.577286839485 0.813584029675 -vn 0.609602272511 -0.248254984617 0.752830982208 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn 0.069433189929 -0.577286839485 0.813584029675 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.819668352604 0.424242556095 0.384918212891 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.708797097206 0.001518160105 0.705410778522 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn -0.010253517888 0.434012025595 0.900848746300 -vn -0.010253517888 0.434012025595 0.900848746300 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.708797097206 0.001518160105 0.705410778522 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.708797097206 0.001518160105 0.705410778522 -vn -0.708797097206 0.001518160105 0.705410778522 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.813350260258 0.528666734695 0.242843255401 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.598563194275 0.346359431744 0.722327709198 -vn 0.598563194275 0.346359431744 0.722327709198 -vn -0.010253517888 0.434012025595 0.900848746300 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.010253517888 0.434012025595 0.900848746300 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.401526331902 0.782190501690 0.476397514343 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.010253517888 0.434012025595 0.900848746300 -vn 0.598563194275 0.346359431744 0.722327709198 -vn 0.407970279455 0.717792689800 0.564210891724 -vn 0.407970279455 0.717792689800 0.564210891724 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.010253517888 0.434012025595 0.900848746300 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.401526331902 0.782190501690 0.476397514343 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.605787634850 0.494257092476 0.623483181000 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn 0.969513058662 0.062274549156 0.236994311213 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn 0.505996525288 0.084093302488 0.858426392078 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.556349575520 0.162882700562 0.814827799797 -vn 0.505996525288 0.084093302488 0.858426392078 -vn 0.556349575520 0.162882700562 0.814827799797 -vn -0.099295251071 0.116247646511 0.988244354725 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.191165298223 0.042684063315 0.980629324913 -vn 0.505996525288 0.084093302488 0.858426392078 -vn 0.556349575520 0.162882700562 0.814827799797 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.037328623235 0.984341025352 0.172276824713 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.059391405433 0.995314598083 0.076298937201 -vn -0.059391405433 0.995314598083 0.076298937201 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.037328623235 0.984341025352 0.172276824713 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.059391405433 0.995314598083 0.076298937201 -vn 0.521055519581 0.802924513817 0.289505362511 -vn -0.030940596014 0.946716606617 0.320578128099 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.417391598225 0.758342742920 0.500700056553 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.401526331902 0.782190501690 0.476397514343 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.455726176500 0.851219177246 0.260268300772 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.972541630268 0.205112487078 0.109961979091 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.099295251071 0.116247646511 0.988244354725 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.191165298223 0.042684063315 0.980629324913 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.609602272511 -0.248254984617 0.752830982208 -vn 0.794788122177 -0.514725565910 0.321511179209 -vn 0.794788122177 -0.514725565910 0.321511179209 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.850716531277 -0.518900275230 -0.083808444440 -vn -0.842492818832 -0.518067896366 0.147687375546 -vn -0.842492818832 -0.518067896366 0.147687375546 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn 0.598563194275 0.346359431744 0.722327709198 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.598563194275 0.346359431744 0.722327709198 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.572210907936 0.744452595711 0.344042211771 -vn 0.598563194275 0.346359431744 0.722327709198 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.407970279455 0.717792689800 0.564210891724 -vn 0.598563194275 0.346359431744 0.722327709198 -vn -0.036019083112 0.815896332264 0.577075183392 -vn 0.407970279455 0.717792689800 0.564210891724 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.449902802706 0.833744525909 0.320089966059 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.173762992024 0.444730252028 0.878647506237 -vn -0.811857640743 0.316165834665 0.490842521191 -vn 0.616871714592 0.388114273548 0.684716403484 -vn -0.173762992024 0.444730252028 0.878647506237 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.069371618330 0.841719925404 0.535439193249 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.616871714592 0.388114273548 0.684716403484 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.850716531277 -0.518900275230 -0.083808444440 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.876788675785 -0.431774467230 -0.211689546704 -vn -0.850716531277 -0.518900275230 -0.083808444440 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.785471856594 -0.612062454224 0.091725103557 -vn 0.814705491066 -0.579487860203 -0.021184906363 -vn 0.814705491066 -0.579487860203 -0.021184906363 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.505996525288 0.084093302488 0.858426392078 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.173762992024 0.444730252028 0.878647506237 -vn 0.616871714592 0.388114273548 0.684716403484 -vn -0.173762992024 0.444730252028 0.878647506237 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.173762992024 0.444730252028 0.878647506237 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.958392262459 0.126938298345 0.255677402020 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.505996525288 0.084093302488 0.858426392078 -vn 0.616871714592 0.388114273548 0.684716403484 -vn -0.044663131237 0.745588660240 0.664908111095 -vn 0.372912973166 0.711369335651 0.595726132393 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.521055519581 0.802924513817 0.289505362511 -vn -0.059391405433 0.995314598083 0.076298937201 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.059391405433 0.995314598083 0.076298937201 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.647355437279 0.397109150887 0.650565385818 -vn -0.044663131237 0.745588660240 0.664908111095 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.556349575520 0.162882700562 0.814827799797 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.372912973166 0.711369335651 0.595726132393 -vn 0.556349575520 0.162882700562 0.814827799797 -vn -0.099295251071 0.116247646511 0.988244354725 -vn 0.556349575520 0.162882700562 0.814827799797 -vn 0.372912973166 0.711369335651 0.595726132393 -vn 0.372912973166 0.711369335651 0.595726132393 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.099295251071 0.116247646511 0.988244354725 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.099295251071 0.116247646511 0.988244354725 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.647355437279 0.397109150887 0.650565385818 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.647355437279 0.397109150887 0.650565385818 -vn -0.647355437279 0.397109150887 0.650565385818 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn 0.212242841721 0.213236674666 0.953668236732 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn 0.212242841721 0.213236674666 0.953668236732 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.904853343964 -0.389152079821 0.172629922628 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.904853343964 -0.389152079821 0.172629922628 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.551769614220 -0.158883363008 -0.818722426891 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.794679522514 -0.204883232713 0.571408152580 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.794679522514 -0.204883232713 0.571408152580 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.772374272346 -0.180488973856 0.608984172344 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.794679522514 -0.204883232713 0.571408152580 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.794679522514 -0.204883232713 0.571408152580 -vn -0.111832089722 0.738575160503 0.664831042290 -vn 0.056181445718 0.741137385368 0.668998479843 -vn -0.077421911061 0.794761300087 0.601963758469 -vn -0.077421911061 0.794761300087 0.601963758469 -vn 0.033342286944 0.775118052959 0.630936086178 -vn -0.111832089722 0.738575160503 0.664831042290 -vn -0.111832089722 0.738575160503 0.664831042290 -vn 0.075495623052 0.638999342918 0.765493452549 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.003467992181 0.502313077450 0.864678859711 -vn -0.128300026059 0.747947514057 0.651240050793 -vn -0.111832089722 0.738575160503 0.664831042290 -vn -0.111832089722 0.738575160503 0.664831042290 -vn 0.033342286944 0.775118052959 0.630936086178 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.075495623052 0.638999342918 0.765493452549 -vn -0.111832089722 0.738575160503 0.664831042290 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.171342536807 0.505555272102 0.845609605312 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.257161408663 0.242241248488 0.935514390469 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn 0.257161408663 0.242241248488 0.935514390469 -vn -0.904853343964 -0.389152079821 0.172629922628 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.904853343964 -0.389152079821 0.172629922628 -vn 0.171342536807 0.505555272102 0.845609605312 -vn 0.237984761596 0.763823807240 0.599947035313 -vn -0.128300026059 0.747947514057 0.651240050793 -vn -0.128300026059 0.747947514057 0.651240050793 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.171342536807 0.505555272102 0.845609605312 -vn 0.171342536807 0.505555272102 0.845609605312 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.237984761596 0.763823807240 0.599947035313 -vn 0.171342536807 0.505555272102 0.845609605312 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.228975534439 -0.966663718224 0.114592753351 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn 0.492926061153 0.859100401402 0.137733176351 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.465314835310 0.811250209808 -0.354055315256 -vn 0.492926061153 0.859100401402 0.137733176351 -vn 0.492926061153 0.859100401402 0.137733176351 -vn 0.181931316853 0.702624380589 0.687909841537 -vn 0.038794174790 0.877033114433 0.478861063719 -vn 0.038794174790 0.877033114433 0.478861063719 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.492926061153 0.859100401402 0.137733176351 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.038794174790 0.877033114433 0.478861063719 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.237984761596 0.763823807240 0.599947035313 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.038794174790 0.877033114433 0.478861063719 -vn -0.128300026059 0.747947514057 0.651240050793 -vn -0.128300026059 0.747947514057 0.651240050793 -vn 0.237984761596 0.763823807240 0.599947035313 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.212242841721 0.213236674666 0.953668236732 -vn 0.212242841721 0.213236674666 0.953668236732 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.212242841721 0.213236674666 0.953668236732 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.349010735750 0.216333240271 0.911806702614 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.212242841721 0.213236674666 0.953668236732 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn 0.349010735750 0.216333240271 0.911806702614 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn -0.284749358892 -0.108630344272 0.952427029610 -vn -0.028153385967 0.120939411223 0.992260575294 -vn -0.028153385967 0.120939411223 0.992260575294 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.699491322041 -0.402707010508 0.590371906757 -vn -0.699491322041 -0.402707010508 0.590371906757 -vn -0.284749358892 -0.108630344272 0.952427029610 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn -0.699491322041 -0.402707010508 0.590371906757 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.772367894650 -0.622275471687 0.127362146974 -vn -0.699491322041 -0.402707010508 0.590371906757 -vn -0.772367894650 -0.622275471687 0.127362146974 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.498844444752 -0.762858331203 -0.411340981722 -vn -0.772367894650 -0.622275471687 0.127362146974 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn 0.011610183865 -0.692953765392 -0.720888495445 -vn 0.011610183865 -0.692953765392 -0.720888495445 -vn -0.498844444752 -0.762858331203 -0.411340981722 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn 0.011610183865 -0.692953765392 -0.720888495445 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.552886605263 -0.401466637850 -0.730165004730 -vn 0.011610183865 -0.692953765392 -0.720888495445 -vn 0.552886605263 -0.401466637850 -0.730165004730 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.816603302956 -0.058255102485 -0.574252009392 -vn 0.552886605263 -0.401466637850 -0.730165004730 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.915098607540 0.254363477230 -0.312879711390 -vn 0.915098607540 0.254363477230 -0.312879711390 -vn 0.816603302956 -0.058255102485 -0.574252009392 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.707261800766 0.620109856129 -0.339476883411 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.666696548462 0.741401612759 0.076415598392 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.707261800766 0.620109856129 -0.339476883411 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.666696548462 0.741401612759 0.076415598392 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.707261800766 0.620109856129 -0.339476883411 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.666696548462 0.741401612759 0.076415598392 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.666696548462 0.741401612759 0.076415598392 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.129821896553 0.431758940220 0.892597615719 -vn 0.509533464909 0.721226334572 0.469263523817 -vn 0.509533464909 0.721226334572 0.469263523817 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn -0.028153385967 0.120939411223 0.992260575294 -vn -0.028153385967 0.120939411223 0.992260575294 -vn 0.129821896553 0.431758940220 0.892597615719 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.804123282433 0.590738654137 0.066434659064 -vn 0.915098607540 0.254363477230 -0.312879711390 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.804123282433 0.590738654137 0.066434659064 -vn 0.804123282433 0.590738654137 0.066434659064 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.509533464909 0.721226334572 0.469263523817 -vn 0.804123282433 0.590738654137 0.066434659064 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.707261800766 0.620109856129 -0.339476883411 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.279016286135 0.135762885213 -0.950641036034 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.279016286135 0.135762885213 -0.950641036034 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn -0.050258129835 -0.230293035507 -0.971822619438 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn 0.279016286135 0.135762885213 -0.950641036034 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn -0.050258129835 -0.230293035507 -0.971822619438 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.050258129835 -0.230293035507 -0.971822619438 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.279016286135 0.135762885213 -0.950641036034 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.257461100817 0.166636288166 -0.951812028885 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.257461100817 0.166636288166 -0.951812028885 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.257461100817 0.166636288166 -0.951812028885 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.257461100817 0.166636288166 -0.951812028885 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.685206770897 -0.246739089489 -0.685282051563 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.685206770897 -0.246739089489 -0.685282051563 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.968691527843 0.096191249788 0.228875383735 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.968691527843 0.096191249788 0.228875383735 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.968691527843 0.096191249788 0.228875383735 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.739345252514 0.255324393511 0.623039305210 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.968691527843 0.096191249788 0.228875383735 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.739345252514 0.255324393511 0.623039305210 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.075495623052 0.638999342918 0.765493452549 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.075495623052 0.638999342918 0.765493452549 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.221997469664 0.427836626768 0.876169443130 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.739345252514 0.255324393511 0.623039305210 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.221997469664 0.427836626768 0.876169443130 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.076707385480 0.563243448734 0.822722792625 -vn -0.046318404377 0.483514308929 0.874110102654 -vn 0.046239048243 0.326019555330 0.944231569767 -vn 0.046239048243 0.326019555330 0.944231569767 -vn 0.221997469664 0.427836626768 0.876169443130 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.076707385480 0.563243448734 0.822722792625 -vn -0.001853432041 0.702297449112 0.711881220341 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.046318404377 0.483514308929 0.874110102654 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.033342286944 0.775118052959 0.630936086178 -vn 0.033342286944 0.775118052959 0.630936086178 -vn -0.001853432041 0.702297449112 0.711881220341 -vn 0.076707385480 0.563243448734 0.822722792625 -vn -0.001853432041 0.702297449112 0.711881220341 -vn -0.107103355229 0.802144825459 0.587445795536 -vn -0.135683953762 0.754256904125 0.642406702042 -vn -0.135683953762 0.754256904125 0.642406702042 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.001853432041 0.702297449112 0.711881220341 -vn -0.001853432041 0.702297449112 0.711881220341 -vn 0.033342286944 0.775118052959 0.630936086178 -vn -0.077421911061 0.794761300087 0.601963758469 -vn -0.077421911061 0.794761300087 0.601963758469 -vn -0.107103355229 0.802144825459 0.587445795536 -vn -0.001853432041 0.702297449112 0.711881220341 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.046318404377 0.483514308929 0.874110102654 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.135683953762 0.754256904125 0.642406702042 -vn -0.221242532134 0.675346255302 0.703533351421 -vn -0.221242532134 0.675346255302 0.703533351421 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.220259353518 0.493042349815 0.841662108898 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.221242532134 0.675346255302 0.703533351421 -vn -0.217704832554 0.616207301617 0.756897091866 -vn -0.217704832554 0.616207301617 0.756897091866 -vn -0.220259353518 0.493042349815 0.841662108898 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.237557619810 0.219554141164 0.946235895157 -vn 0.046239048243 0.326019555330 0.944231569767 -vn -0.046318404377 0.483514308929 0.874110102654 -vn -0.046318404377 0.483514308929 0.874110102654 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.046239048243 0.326019555330 0.944231569767 -vn -0.237557619810 0.219554141164 0.946235895157 -vn 0.046239048243 0.326019555330 0.944231569767 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.221997469664 0.427836626768 0.876169443130 -vn 0.046239048243 0.326019555330 0.944231569767 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.772374272346 -0.180488973856 0.608984172344 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.772374272346 -0.180488973856 0.608984172344 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.739345252514 0.255324393511 0.623039305210 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.772374272346 -0.180488973856 0.608984172344 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.898189663887 -0.392043143511 -0.198890775442 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.898189663887 -0.392043143511 -0.198890775442 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.751338779926 -0.380058526993 -0.539486408234 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.751338779926 -0.380058526993 -0.539486408234 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.898189663887 -0.392043143511 -0.198890775442 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.751338779926 -0.380058526993 -0.539486408234 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.367560327053 -0.375832140446 -0.850676000118 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.685206770897 -0.246739089489 -0.685282051563 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.898189663887 -0.392043143511 -0.198890775442 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.367560327053 -0.375832140446 -0.850676000118 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.685206770897 -0.246739089489 -0.685282051563 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.144967123866 -0.303422033787 -0.941764116287 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.751338779926 -0.380058526993 -0.539486408234 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.144967123866 -0.303422033787 -0.941764116287 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.367560327053 -0.375832140446 -0.850676000118 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.144967123866 -0.303422033787 -0.941764116287 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.186271145940 -0.284139335155 -0.940514683723 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.367560327053 -0.375832140446 -0.850676000118 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.186271145940 -0.284139335155 -0.940514683723 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.144967123866 -0.303422033787 -0.941764116287 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.092088714242 -0.480216324329 -0.872302651405 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.551769614220 -0.158883363008 -0.818722426891 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.551769614220 -0.158883363008 -0.818722426891 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.551769614220 -0.158883363008 -0.818722426891 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.113157883286 -0.147927060723 0.982503354549 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn -0.196055978537 -0.171053454280 0.965558290482 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn 0.113157883286 -0.147927060723 0.982503354549 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.196055978537 -0.171053454280 0.965558290482 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn 0.113157883286 -0.147927060723 0.982503354549 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.228975534439 -0.966663718224 0.114592753351 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.441210776567 0.220206886530 0.869966685772 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.441210776567 0.220206886530 0.869966685772 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.388409644365 0.097376465797 0.916327297688 -vn 0.388409644365 0.097376465797 0.916327297688 -vn 0.441210776567 0.220206886530 0.869966685772 -vn 0.931108534336 0.223939180374 0.287903070450 -vn -0.209134399891 0.041847482324 0.976991117001 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.441210776567 0.220206886530 0.869966685772 -vn -0.209134399891 0.041847482324 0.976991117001 -vn 0.441210776567 0.220206886530 0.869966685772 -vn 0.388409644365 0.097376465797 0.916327297688 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.209134399891 0.041847482324 0.976991117001 -vn 0.441210776567 0.220206886530 0.869966685772 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.209134399891 0.041847482324 0.976991117001 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn 0.388409644365 0.097376465797 0.916327297688 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn 0.388409644365 0.097376465797 0.916327297688 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn -0.209134399891 0.041847482324 0.976991117001 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.922186851501 -0.285774916410 -0.260584205389 -vn 0.566875457764 -0.316759556532 -0.760470628738 -vn 0.566875457764 -0.316759556532 -0.760470628738 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.961917400360 -0.257273793221 0.092331200838 -vn 0.961917400360 -0.257273793221 0.092331200838 -vn 0.922186851501 -0.285774916410 -0.260584205389 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.877248644829 -0.199683353305 0.436533331871 -vn 0.877248644829 -0.199683353305 0.436533331871 -vn 0.961917400360 -0.257273793221 0.092331200838 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.262398809195 -0.280063599348 0.923423647881 -vn 0.262398809195 -0.280063599348 0.923423647881 -vn 0.877248644829 -0.199683353305 0.436533331871 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn -0.581942975521 -0.282826542854 0.762464106083 -vn -0.581942975521 -0.282826542854 0.762464106083 -vn 0.262398809195 -0.280063599348 0.923423647881 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.581942975521 -0.282826542854 0.762464106083 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.861634016037 -0.294701397419 0.413204461336 -vn -0.581942975521 -0.282826542854 0.762464106083 -vn -0.861634016037 -0.294701397419 0.413204461336 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.944620668888 -0.320841640234 -0.068938180804 -vn -0.861634016037 -0.294701397419 0.413204461336 -vn -0.944620668888 -0.320841640234 -0.068938180804 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.610765278339 -0.297193735838 -0.733922123909 -vn -0.944620668888 -0.320841640234 -0.068938180804 -vn -0.610765278339 -0.297193735838 -0.733922123909 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn -0.012012279592 -0.263556957245 -0.964569032192 -vn -0.610765278339 -0.297193735838 -0.733922123909 -vn -0.012012279592 -0.263556957245 -0.964569032192 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.566875457764 -0.316759556532 -0.760470628738 -vn -0.012012279592 -0.263556957245 -0.964569032192 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.525639712811 -0.737791001797 0.423517793417 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn 0.056181445718 0.741137385368 0.668998479843 -vn -0.111832089722 0.738575160503 0.664831042290 -vn -0.030380034819 0.719979643822 0.693329930305 -vn -0.030380034819 0.719979643822 0.693329930305 -vn 0.209175691009 0.608960092068 0.765122950077 -vn 0.056181445718 0.741137385368 0.668998479843 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn 0.092088714242 -0.480216324329 -0.872302651405 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.030380034819 0.719979643822 0.693329930305 -vn 0.038794174790 0.877033114433 0.478861063719 -vn 0.181931316853 0.702624380589 0.687909841537 -vn 0.181931316853 0.702624380589 0.687909841537 -vn 0.209175691009 0.608960092068 0.765122950077 -vn -0.030380034819 0.719979643822 0.693329930305 -vn -0.030380034819 0.719979643822 0.693329930305 -vn -0.111832089722 0.738575160503 0.664831042290 -vn -0.128300026059 0.747947514057 0.651240050793 -vn -0.128300026059 0.747947514057 0.651240050793 -vn 0.038794174790 0.877033114433 0.478861063719 -vn -0.030380034819 0.719979643822 0.693329930305 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.525639712811 -0.737791001797 0.423517793417 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.050258129835 -0.230293035507 -0.971822619438 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.525639712811 -0.737791001797 0.423517793417 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.525639712811 -0.737791001797 0.423517793417 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn 0.080240480602 0.638880431652 -0.765109956264 -vn 0.273087769747 0.699498236179 -0.660397827625 -vn 0.273087769747 0.699498236179 -0.660397827625 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.273087769747 0.699498236179 -0.660397827625 -vn 0.465314835310 0.811250209808 -0.354055315256 -vn 0.465314835310 0.811250209808 -0.354055315256 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn -0.126566886902 -0.326682716608 -0.936621189117 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn 0.523957431316 -0.527176558971 0.668994367123 -vn 0.523957431316 -0.527176558971 0.668994367123 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.636142671108 -0.726978540421 0.258504658937 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.682675063610 -0.077603086829 -0.726589620113 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.411944001913 0.393821209669 0.821709811687 -vn 0.908309876919 0.015843641013 0.417997717857 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.448863714933 0.183967590332 0.874458312988 -vn 0.411944001913 0.393821209669 0.821709811687 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.996836364269 -0.078574545681 0.011971659027 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.989734828472 0.125559329987 -0.068262815475 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.819909214973 0.467708528042 0.330147922039 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.411944001913 0.393821209669 0.821709811687 -vn 0.972455918789 0.091722354293 0.214281424880 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.656450152397 -0.729013919830 -0.193937793374 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.795029461384 -0.241429388523 -0.556453049183 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn 0.257287919521 0.884805023670 0.388488024473 -vn 0.495524138212 0.582533538342 0.644290685654 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.257287919521 0.884805023670 0.388488024473 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn 0.990318894386 0.134526759386 0.034220863134 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn -0.290875703096 0.016440996900 0.956619560719 -vn -0.290875703096 0.016440996900 0.956619560719 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn 0.192745268345 0.492540299892 0.848677396774 -vn -0.716207981110 0.499084711075 0.487812042236 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.707751631737 0.511009931564 0.487807840109 -vn 0.171868190169 0.732080280781 0.659181177616 -vn 0.192745268345 0.492540299892 0.848677396774 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.716207981110 0.499084711075 0.487812042236 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.171868190169 0.732080280781 0.659181177616 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn 0.184908628464 0.381606191397 0.905640959740 -vn -0.629050672054 0.575037002563 0.523094296455 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.648009002209 0.425326675177 0.631808161736 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.184908628464 0.381606191397 0.905640959740 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.629050672054 0.575037002563 0.523094296455 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn -0.787957370281 0.477610796690 0.388601541519 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.266624689102 0.593041419983 0.759745419025 -vn -0.266624689102 0.593041419983 0.759745419025 -vn 0.076644353569 0.755293190479 0.650890052319 -vn -0.787957370281 0.477610796690 0.388601541519 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.787957370281 0.477610796690 0.388601541519 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.844129383564 0.021499739960 -0.535708248615 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.716207981110 0.499084711075 0.487812042236 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.192745268345 0.492540299892 0.848677396774 -vn -0.266624689102 0.593041419983 0.759745419025 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.716207981110 0.499084711075 0.487812042236 -vn -0.716207981110 0.499084711075 0.487812042236 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.616365551949 0.101494207978 0.780892074108 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.180061206222 0.563334167004 0.806370019913 -vn -0.180061206222 0.563334167004 0.806370019913 -vn 0.171868190169 0.732080280781 0.659181177616 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.770441830158 0.124682173133 -0.625198960304 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.629050672054 0.575037002563 0.523094296455 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.184908628464 0.381606191397 0.905640959740 -vn -0.180061206222 0.563334167004 0.806370019913 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.629050672054 0.575037002563 0.523094296455 -vn -0.629050672054 0.575037002563 0.523094296455 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.535567224026 -0.012940082699 0.844393432140 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.844129383564 0.021499739960 -0.535708248615 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.076644353569 0.755293190479 0.650890052319 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.076644353569 0.755293190479 0.650890052319 -vn 0.076644353569 0.755293190479 0.650890052319 -vn -0.266624689102 0.593041419983 0.759745419025 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.616365551949 0.101494207978 0.780892074108 -vn 0.496823996305 0.472443997860 0.727985262871 -vn -0.266624689102 0.593041419983 0.759745419025 -vn -0.266624689102 0.593041419983 0.759745419025 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.616365551949 0.101494207978 0.780892074108 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.616365551949 0.101494207978 0.780892074108 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.844129383564 0.021499739960 -0.535708248615 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.844129383564 0.021499739960 -0.535708248615 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.770441830158 0.124682173133 -0.625198960304 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.171868190169 0.732080280781 0.659181177616 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.171868190169 0.732080280781 0.659181177616 -vn 0.171868190169 0.732080280781 0.659181177616 -vn -0.180061206222 0.563334167004 0.806370019913 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.535567224026 -0.012940082699 0.844393432140 -vn 0.521306455135 0.467230886221 0.714097201824 -vn -0.180061206222 0.563334167004 0.806370019913 -vn -0.180061206222 0.563334167004 0.806370019913 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.535567224026 -0.012940082699 0.844393432140 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.535567224026 -0.012940082699 0.844393432140 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.770441830158 0.124682173133 -0.625198960304 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.770441830158 0.124682173133 -0.625198960304 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn 0.129396855831 0.545063197613 0.828349292278 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.290875703096 0.016440996900 0.956619560719 -vn 0.129396855831 0.545063197613 0.828349292278 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.782792508602 -0.622060239315 0.016640689224 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.823331177235 0.180604666471 0.538059234619 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.129396855831 0.545063197613 0.828349292278 -vn -0.290875703096 0.016440996900 0.956619560719 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn -0.290875703096 0.016440996900 0.956619560719 -vn -0.290875703096 0.016440996900 0.956619560719 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.782792508602 -0.622060239315 0.016640689224 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.782792508602 -0.622060239315 0.016640689224 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.782792508602 -0.622060239315 0.016640689224 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.823331177235 0.180604666471 0.538059234619 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.823331177235 0.180604666471 0.538059234619 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.823331177235 0.180604666471 0.538059234619 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.991819202900 -0.034799017012 -0.122815772891 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.882028698921 0.317493706942 0.348171114922 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.983536243439 0.177552938461 0.033636920154 -vn 0.981092154980 0.054133977741 0.185816302896 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.983536243439 0.177552938461 0.033636920154 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.636142671108 -0.726978540421 0.258504658937 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.636142671108 -0.726978540421 0.258504658937 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.656450152397 -0.729013919830 -0.193937793374 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.063488200307 0.792590856552 0.606439590454 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.616370320320 0.433791041374 0.657200813293 -vn 0.110006704926 0.644826173782 0.756371438503 -vn -0.063488200307 0.792590856552 0.606439590454 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn 0.076644353569 0.755293190479 0.650890052319 -vn 0.411944001913 0.393821209669 0.821709811687 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.787957370281 0.477610796690 0.388601541519 -vn 0.076644353569 0.755293190479 0.650890052319 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.787957370281 0.477610796690 0.388601541519 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.411944001913 0.393821209669 0.821709811687 -vn 0.411944001913 0.393821209669 0.821709811687 -vn 0.076644353569 0.755293190479 0.650890052319 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.508389532566 0.448634028435 0.735028982162 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.518603384495 0.300804406404 0.800354421139 -vn 0.508389532566 0.448634028435 0.735028982162 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn 0.997338175774 0.072519011796 0.007588622160 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.508389532566 0.448634028435 0.735028982162 -vn 0.997338175774 0.072519011796 0.007588622160 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.088888555765 0.015037650242 0.995928049088 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn 0.322712332010 0.518643856049 0.791748225689 -vn -0.674985289574 0.334197402000 0.657804667950 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.700886607170 0.338039726019 0.628082096577 -vn 0.118212953210 0.816253483295 0.565469682217 -vn 0.322712332010 0.518643856049 0.791748225689 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.674985289574 0.334197402000 0.657804667950 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.118212953210 0.816253483295 0.565469682217 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn 0.321015238762 0.514520943165 0.795121014118 -vn -0.655655622482 0.397478044033 0.641971111298 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.571633458138 0.247708499432 0.782224833965 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.321015238762 0.514520943165 0.795121014118 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.655655622482 0.397478044033 0.641971111298 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn -0.734525084496 0.400696694851 0.547644972801 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.059534739703 0.594721972942 0.801724016666 -vn -0.059534739703 0.594721972942 0.801724016666 -vn 0.149192854762 0.818112552166 0.555367708206 -vn -0.734525084496 0.400696694851 0.547644972801 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.734525084496 0.400696694851 0.547644972801 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.695948600769 0.300683468580 -0.652108132839 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.674985289574 0.334197402000 0.657804667950 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.322712332010 0.518643856049 0.791748225689 -vn -0.059534739703 0.594721972942 0.801724016666 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.674985289574 0.334197402000 0.657804667950 -vn -0.674985289574 0.334197402000 0.657804667950 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.771579861641 0.202758759260 0.602953910828 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.094312846661 0.586990058422 0.804081916809 -vn -0.094312846661 0.586990058422 0.804081916809 -vn 0.118212953210 0.816253483295 0.565469682217 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.629623532295 0.333947807550 -0.701464951038 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.655655622482 0.397478044033 0.641971111298 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.321015238762 0.514520943165 0.795121014118 -vn -0.094312846661 0.586990058422 0.804081916809 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.655655622482 0.397478044033 0.641971111298 -vn -0.655655622482 0.397478044033 0.641971111298 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.767063081264 0.215842425823 0.604174017906 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.695948600769 0.300683468580 -0.652108132839 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.149192854762 0.818112552166 0.555367708206 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.149192854762 0.818112552166 0.555367708206 -vn 0.149192854762 0.818112552166 0.555367708206 -vn -0.059534739703 0.594721972942 0.801724016666 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.771579861641 0.202758759260 0.602953910828 -vn 0.605633556843 0.573746502399 0.551382780075 -vn -0.059534739703 0.594721972942 0.801724016666 -vn -0.059534739703 0.594721972942 0.801724016666 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.771579861641 0.202758759260 0.602953910828 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.771579861641 0.202758759260 0.602953910828 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.695948600769 0.300683468580 -0.652108132839 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.695948600769 0.300683468580 -0.652108132839 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.629623532295 0.333947807550 -0.701464951038 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.118212953210 0.816253483295 0.565469682217 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.118212953210 0.816253483295 0.565469682217 -vn 0.118212953210 0.816253483295 0.565469682217 -vn -0.094312846661 0.586990058422 0.804081916809 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.767063081264 0.215842425823 0.604174017906 -vn 0.578698873520 0.646696209908 0.496881872416 -vn -0.094312846661 0.586990058422 0.804081916809 -vn -0.094312846661 0.586990058422 0.804081916809 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.767063081264 0.215842425823 0.604174017906 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.767063081264 0.215842425823 0.604174017906 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.629623532295 0.333947807550 -0.701464951038 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.629623532295 0.333947807550 -0.701464951038 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn 0.180510208011 0.646930694580 0.740875661373 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.180510208011 0.646930694580 0.740875661373 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.943425536156 -0.203005120158 -0.262177675962 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.823468267918 0.544366657734 0.159890517592 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.943425536156 -0.203005120158 -0.262177675962 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.943425536156 -0.203005120158 -0.262177675962 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.943425536156 -0.203005120158 -0.262177675962 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.823468267918 0.544366657734 0.159890517592 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.823468267918 0.544366657734 0.159890517592 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.823468267918 0.544366657734 0.159890517592 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn 0.149192854762 0.818112552166 0.555367708206 -vn 0.508389532566 0.448634028435 0.735028982162 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.734525084496 0.400696694851 0.547644972801 -vn 0.149192854762 0.818112552166 0.555367708206 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.734525084496 0.400696694851 0.547644972801 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.997338175774 0.072519011796 0.007588622160 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.997338175774 0.072519011796 0.007588622160 -vn 0.508389532566 0.448634028435 0.735028982162 -vn 0.508389532566 0.448634028435 0.735028982162 -vn 0.149192854762 0.818112552166 0.555367708206 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.501678824425 0.396977752447 0.768587708473 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn 0.501678824425 0.396977752447 0.768587708473 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.501678824425 0.396977752447 0.768587708473 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn 0.505004465580 0.475358963013 0.720419526100 -vn -0.482553303242 0.293915122747 0.825079500675 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.519214332104 0.253620952368 0.816145122051 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.505004465580 0.475358963013 0.720419526100 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.482553303242 0.293915122747 0.825079500675 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn 0.520211935043 0.559058606625 0.645626068115 -vn -0.438396394253 0.250405520201 0.863195061684 -vn -0.228174239397 0.046188309789 0.972524106503 -vn -0.228174239397 0.046188309789 0.972524106503 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.520211935043 0.559058606625 0.645626068115 -vn -0.228174239397 0.046188309789 0.972524106503 -vn -0.438396394253 0.250405520201 0.863195061684 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn -0.228174239397 0.046188309789 0.972524106503 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn -0.437682479620 0.131488755345 0.889463186264 -vn -0.508684575558 0.100909605622 0.855018854141 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.227183014154 0.711364388466 0.665092885494 -vn -0.437682479620 0.131488755345 0.889463186264 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.437682479620 0.131488755345 0.889463186264 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.391208052635 0.468177586794 -0.792316854000 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.482553303242 0.293915122747 0.825079500675 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.143501415849 0.469171375036 0.871369957924 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.482553303242 0.293915122747 0.825079500675 -vn -0.482553303242 0.293915122747 0.825079500675 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.901354968548 0.173700019717 0.396721005440 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.532382369041 0.165311589837 0.830205440521 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.265235602856 0.751007497311 0.604679942131 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.406478911638 0.543811917305 -0.734195768833 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.438396394253 0.250405520201 0.863195061684 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.184828087687 0.570850193501 0.799980401993 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.438396394253 0.250405520201 0.863195061684 -vn -0.438396394253 0.250405520201 0.863195061684 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.874575555325 0.318329840899 0.365764498711 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.391208052635 0.468177586794 -0.792316854000 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.901354968548 0.173700019717 0.396721005440 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.901354968548 0.173700019717 0.396721005440 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.901354968548 0.173700019717 0.396721005440 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.391208052635 0.468177586794 -0.792316854000 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.391208052635 0.468177586794 -0.792316854000 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.406478911638 0.543811917305 -0.734195768833 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.874575555325 0.318329840899 0.365764498711 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.874575555325 0.318329840899 0.365764498711 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.874575555325 0.318329840899 0.365764498711 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.406478911638 0.543811917305 -0.734195768833 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.406478911638 0.543811917305 -0.734195768833 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn 0.339759290218 0.652270197868 0.677574515343 -vn -0.228174239397 0.046188309789 0.972524106503 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn -0.228174239397 0.046188309789 0.972524106503 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.904637575150 0.042771328241 -0.424029976130 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.809969186783 0.585213720798 0.038403198123 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.904637575150 0.042771328241 -0.424029976130 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.904637575150 0.042771328241 -0.424029976130 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.904637575150 0.042771328241 -0.424029976130 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.809969186783 0.585213720798 0.038403198123 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.809969186783 0.585213720798 0.038403198123 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.809969186783 0.585213720798 0.038403198123 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.975914239883 0.216983765364 0.022570852190 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.501678824425 0.396977752447 0.768587708473 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.437682479620 0.131488755345 0.889463186264 -vn 0.227183014154 0.711364388466 0.665092885494 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.437682479620 0.131488755345 0.889463186264 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.501678824425 0.396977752447 0.768587708473 -vn 0.501678824425 0.396977752447 0.768587708473 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.149933636189 0.697240829468 0.700981557369 -vn 0.110006704926 0.644826173782 0.756371438503 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.693001866341 0.498886138201 0.520443081856 -vn 0.149933636189 0.697240829468 0.700981557369 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.149933636189 0.697240829468 0.700981557369 -vn 0.890769839287 0.184809222817 0.415180265903 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn -0.357588768005 0.118223853409 0.926365673542 -vn -0.357588768005 0.118223853409 0.926365673542 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn 0.157286047935 0.538553655148 0.827780783176 -vn -0.677771806717 0.617188751698 0.399629086256 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.616071522236 0.741670787334 0.265292972326 -vn 0.222944125533 0.750830531120 0.621730983257 -vn 0.157286047935 0.538553655148 0.827780783176 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.677771806717 0.617188751698 0.399629086256 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.222944125533 0.750830531120 0.621730983257 -vn 0.983508825302 0.178707674146 0.027819553390 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn 0.104782521725 0.411863684654 0.905201017857 -vn -0.610949575901 0.705598056316 0.358987480402 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.657146453857 0.579351842403 0.482192873955 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.104782521725 0.411863684654 0.905201017857 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.610949575901 0.705598056316 0.358987480402 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn -0.731816112995 0.506709039211 0.455731421709 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.206256195903 0.641347289085 0.739007472992 -vn -0.206256195903 0.641347289085 0.739007472992 -vn 0.096828460693 0.822797715664 0.560025155544 -vn -0.731816112995 0.506709039211 0.455731421709 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.731816112995 0.506709039211 0.455731421709 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.804508805275 -0.077632702887 -0.588845252991 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.677771806717 0.617188751698 0.399629086256 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.157286047935 0.538553655148 0.827780783176 -vn -0.206256195903 0.641347289085 0.739007472992 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.677771806717 0.617188751698 0.399629086256 -vn -0.677771806717 0.617188751698 0.399629086256 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.554780423641 0.107210293412 0.825060427189 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.139188796282 0.683903872967 0.716171741486 -vn -0.139188796282 0.683903872967 0.716171741486 -vn 0.222944125533 0.750830531120 0.621730983257 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.908918678761 -0.099282518029 -0.404981225729 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.610949575901 0.705598056316 0.358987480402 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.104782521725 0.411863684654 0.905201017857 -vn -0.139188796282 0.683903872967 0.716171741486 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.610949575901 0.705598056316 0.358987480402 -vn -0.610949575901 0.705598056316 0.358987480402 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.396851718426 -0.018567655236 0.917694926262 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.804508805275 -0.077632702887 -0.588845252991 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.096828460693 0.822797715664 0.560025155544 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.096828460693 0.822797715664 0.560025155544 -vn 0.096828460693 0.822797715664 0.560025155544 -vn -0.206256195903 0.641347289085 0.739007472992 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.554780423641 0.107210293412 0.825060427189 -vn 0.518502652645 0.501994550228 0.692211270332 -vn -0.206256195903 0.641347289085 0.739007472992 -vn -0.206256195903 0.641347289085 0.739007472992 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.554780423641 0.107210293412 0.825060427189 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.554780423641 0.107210293412 0.825060427189 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.804508805275 -0.077632702887 -0.588845252991 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.804508805275 -0.077632702887 -0.588845252991 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.908918678761 -0.099282518029 -0.404981225729 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.222944125533 0.750830531120 0.621730983257 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.222944125533 0.750830531120 0.621730983257 -vn 0.222944125533 0.750830531120 0.621730983257 -vn -0.139188796282 0.683903872967 0.716171741486 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.396851718426 -0.018567655236 0.917694926262 -vn 0.461553364992 0.375474810600 0.803733229637 -vn -0.139188796282 0.683903872967 0.716171741486 -vn -0.139188796282 0.683903872967 0.716171741486 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.396851718426 -0.018567655236 0.917694926262 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.396851718426 -0.018567655236 0.917694926262 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.908918678761 -0.099282518029 -0.404981225729 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.908918678761 -0.099282518029 -0.404981225729 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn 0.113310351968 0.573081195354 0.811627209187 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.357588768005 0.118223853409 0.926365673542 -vn 0.113310351968 0.573081195354 0.811627209187 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.748748421669 -0.647354602814 0.142505466938 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.892274856567 0.088678508997 0.442698240280 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.113310351968 0.573081195354 0.811627209187 -vn -0.357588768005 0.118223853409 0.926365673542 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn -0.357588768005 0.118223853409 0.926365673542 -vn -0.357588768005 0.118223853409 0.926365673542 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.748748421669 -0.647354602814 0.142505466938 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.748748421669 -0.647354602814 0.142505466938 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.748748421669 -0.647354602814 0.142505466938 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.892274856567 0.088678508997 0.442698240280 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.892274856567 0.088678508997 0.442698240280 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.892274856567 0.088678508997 0.442698240280 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn 0.096828460693 0.822797715664 0.560025155544 -vn 0.149933636189 0.697240829468 0.700981557369 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.731816112995 0.506709039211 0.455731421709 -vn 0.096828460693 0.822797715664 0.560025155544 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.731816112995 0.506709039211 0.455731421709 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.149933636189 0.697240829468 0.700981557369 -vn 0.149933636189 0.697240829468 0.700981557369 -vn 0.096828460693 0.822797715664 0.560025155544 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.989734828472 0.125559329987 -0.068262815475 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.989734828472 0.125559329987 -0.068262815475 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.989734828472 0.125559329987 -0.068262815475 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.257287919521 0.884805023670 0.388488024473 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.532998859882 0.815917551517 0.224032908678 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.257287919521 0.884805023670 0.388488024473 -vn 0.495524138212 0.582533538342 0.644290685654 -vn 0.257287919521 0.884805023670 0.388488024473 -vn -0.063488200307 0.792590856552 0.606439590454 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.495524138212 0.582533538342 0.644290685654 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.495524138212 0.582533538342 0.644290685654 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.996836364269 -0.078574545681 0.011971659027 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.996836364269 -0.078574545681 0.011971659027 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.996836364269 -0.078574545681 0.011971659027 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.882028698921 0.317493706942 0.348171114922 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.882028698921 0.317493706942 0.348171114922 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.882028698921 0.317493706942 0.348171114922 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.981092154980 0.054133977741 0.185816302896 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.991819202900 -0.034799017012 -0.122815772891 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.991819202900 -0.034799017012 -0.122815772891 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.991819202900 -0.034799017012 -0.122815772891 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.983536243439 0.177552938461 0.033636920154 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.983536243439 0.177552938461 0.033636920154 -vn 0.981092154980 0.054133977741 0.185816302896 -vn 0.983536243439 0.177552938461 0.033636920154 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.981092154980 0.054133977741 0.185816302896 -vn 0.795029461384 -0.241429388523 -0.556453049183 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.795029461384 -0.241429388523 -0.556453049183 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.795029461384 -0.241429388523 -0.556453049183 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn 0.990318894386 0.134526759386 0.034220863134 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.990318894386 0.134526759386 0.034220863134 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.990318894386 0.134526759386 0.034220863134 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.997338175774 0.072519011796 0.007588622160 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.656450152397 -0.729013919830 -0.193937793374 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn 0.087274819613 0.444357991219 0.891587972641 -vn 0.310053557158 0.172868609428 0.934870719910 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.316012024879 0.686757266521 0.654599726200 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.316012024879 0.686757266521 0.654599726200 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.316012024879 0.686757266521 0.654599726200 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn 0.092993848026 0.951101779938 0.294546306133 -vn 0.092993848026 0.951101779938 0.294546306133 -vn -0.162509486079 0.963348150253 0.213426902890 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.316012024879 0.686757266521 0.654599726200 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.414537787437 0.577000021935 0.703725337982 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.076232120395 0.892228424549 0.445103466511 -vn -0.076232120395 0.892228424549 0.445103466511 -vn 0.092993848026 0.951101779938 0.294546306133 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.834865987301 0.549538910389 0.031714677811 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.162509486079 0.963348150253 0.213426902890 -vn -0.041679881513 0.924551546574 0.378770738840 -vn -0.041679881513 0.924551546574 0.378770738840 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.834865987301 0.549538910389 0.031714677811 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.834865987301 0.549538910389 0.031714677811 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.834865987301 0.549538910389 0.031714677811 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.076232120395 0.892228424549 0.445103466511 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.531211972237 0.828068792820 0.179209098220 -vn 0.316012024879 0.686757266521 0.654599726200 -vn -0.076232120395 0.892228424549 0.445103466511 -vn 0.092993848026 0.951101779938 0.294546306133 -vn -0.076232120395 0.892228424549 0.445103466511 -vn 0.316012024879 0.686757266521 0.654599726200 -vn 0.316012024879 0.686757266521 0.654599726200 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.092993848026 0.951101779938 0.294546306133 -vn -0.162509486079 0.963348150253 0.213426902890 -vn 0.092993848026 0.951101779938 0.294546306133 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.414537787437 0.577000021935 0.703725337982 -vn -0.041679881513 0.924551546574 0.378770738840 -vn -0.162509486079 0.963348150253 0.213426902890 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.523957431316 -0.527176558971 0.668994367123 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.523957431316 -0.527176558971 0.668994367123 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn -0.106712952256 0.917102098465 0.384104311466 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.073301777244 0.768137931824 0.636074662209 -vn -0.106712952256 0.917102098465 0.384104311466 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.506764352322 0.822178900242 0.259252250195 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.656715273857 0.671186864376 0.343850612640 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.296533823013 0.937092840672 0.184186592698 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.256493657827 0.966490387917 0.010358544998 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.879008293152 0.327037870884 0.346973568201 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.386452257633 0.830117344856 0.401945084333 -vn 0.018751272932 0.761757254601 0.647591114044 -vn 0.018751272932 0.761757254601 0.647591114044 -vn 0.301279544830 0.869882464409 0.390557467937 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.765422403812 0.624349057674 0.155938431621 -vn -0.386452257633 0.830117344856 0.401945084333 -vn -0.386452257633 0.830117344856 0.401945084333 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn 0.256493657827 0.966490387917 0.010358544998 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.656715273857 0.671186864376 0.343850612640 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.765422403812 0.624349057674 0.155938431621 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.765422403812 0.624349057674 0.155938431621 -vn -0.386452257633 0.830117344856 0.401945084333 -vn -0.765422403812 0.624349057674 0.155938431621 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.386452257633 0.830117344856 0.401945084333 -vn 0.018751272932 0.761757254601 0.647591114044 -vn -0.386452257633 0.830117344856 0.401945084333 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.321225166321 0.935288310051 0.148492872715 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.018751272932 0.761757254601 0.647591114044 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.018751272932 0.761757254601 0.647591114044 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.256493657827 0.966490387917 0.010358544998 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.256493657827 0.966490387917 0.010358544998 -vn 0.257990837097 0.399163067341 0.879834949970 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.257990837097 0.399163067341 0.879834949970 -vn 0.350384771824 0.861267209053 0.368034303188 -vn 0.257990837097 0.399163067341 0.879834949970 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.350384771824 0.861267209053 0.368034303188 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn 0.350384771824 0.861267209053 0.368034303188 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.620225965977 0.440775215626 0.648873627186 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.073301777244 0.768137931824 0.636074662209 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.418872237206 0.170925334096 0.891813099384 -vn 0.257990837097 0.399163067341 0.879834949970 -vn -0.073301777244 0.768137931824 0.636074662209 -vn -0.106712952256 0.917102098465 0.384104311466 -vn -0.073301777244 0.768137931824 0.636074662209 -vn 0.257990837097 0.399163067341 0.879834949970 -vn 0.257990837097 0.399163067341 0.879834949970 -vn 0.350384771824 0.861267209053 0.368034303188 -vn -0.106712952256 0.917102098465 0.384104311466 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.106712952256 0.917102098465 0.384104311466 -vn 0.350384771824 0.861267209053 0.368034303188 -vn 0.350384771824 0.861267209053 0.368034303188 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.506764352322 0.822178900242 0.259252250195 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.506764352322 0.822178900242 0.259252250195 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.506764352322 0.822178900242 0.259252250195 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.682675063610 -0.077603086829 -0.726589620113 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn -0.126566886902 -0.326682716608 -0.936621189117 -vn -0.126566886902 -0.326682716608 -0.936621189117 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.482846260071 0.869433462620 0.104618154466 -vn -0.086542211473 0.967878103256 0.236056029797 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.087274819613 0.444357991219 0.891587972641 -vn 0.087274819613 0.444357991219 0.891587972641 -vn 0.368794947863 0.655544221401 0.658978044987 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.050192341208 0.664369225502 0.745717287064 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.050192341208 0.664369225502 0.745717287064 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.532998859882 0.815917551517 0.224032908678 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn 0.366472154856 0.870783627033 0.327771276236 -vn 0.368794947863 0.655544221401 0.658978044987 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.366472154856 0.870783627033 0.327771276236 -vn -0.162673503160 0.963678956032 0.211802154779 -vn 0.366472154856 0.870783627033 0.327771276236 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.510312438011 0.841042578220 0.179523259401 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.527738094330 -0.663481891155 0.530362427235 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.041679881513 0.924551546574 0.378770738840 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.527738094330 -0.663481891155 0.530362427235 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.527738094330 -0.663481891155 0.530362427235 -vn -0.527738094330 -0.663481891155 0.530362427235 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.087274819613 0.444357991219 0.891587972641 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.383311569691 0.245430797338 0.890413403511 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.368794947863 0.655544221401 0.658978044987 -vn 0.087274819613 0.444357991219 0.891587972641 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.368794947863 0.655544221401 0.658978044987 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.041679881513 0.924551546574 0.378770738840 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.366472154856 0.870783627033 0.327771276236 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.368794947863 0.655544221401 0.658978044987 -vn 0.366472154856 0.870783627033 0.327771276236 -vn 0.366472154856 0.870783627033 0.327771276236 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.488122433424 0.411598801613 0.769625186920 -vn 0.488122433424 0.411598801613 0.769625186920 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.432463288307 0.539263606071 0.722613453865 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.656450152397 -0.729013919830 -0.193937793374 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.682675063610 -0.077603086829 -0.726589620113 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.636142671108 -0.726978540421 0.258504658937 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.126566886902 -0.326682716608 -0.936621189117 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.362487792969 0.694832563400 0.621136307716 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.362487792969 0.694832563400 0.621136307716 -vn 0.367153495550 0.875142931938 0.315155804157 -vn -0.362487792969 0.694832563400 0.621136307716 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.086542211473 0.967878103256 0.236056029797 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.476979732513 0.530355632305 0.700866043568 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.362487792969 0.694832563400 0.621136307716 -vn -0.476979732513 0.530355632305 0.700866043568 -vn 0.200900077820 0.779989659786 0.592667937279 -vn -0.476979732513 0.530355632305 0.700866043568 -vn -0.362487792969 0.694832563400 0.621136307716 -vn -0.362487792969 0.694832563400 0.621136307716 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.488122433424 0.411598801613 0.769625186920 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.488122433424 0.411598801613 0.769625186920 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.412324339151 0.719989717007 0.558214545250 -vn -0.041679881513 0.924551546574 0.378770738840 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.493106514215 -0.556070029736 -0.669053137302 -vn 0.847137212753 0.013076731004 -0.531213283539 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.399592339993 -0.540018141270 -0.740747153759 -vn 0.493106514215 -0.556070029736 -0.669053137302 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn 0.152241155505 -0.867611408234 -0.473363518715 -vn 0.493106514215 -0.556070029736 -0.669053137302 -vn 0.493106514215 -0.556070029736 -0.669053137302 -vn 0.399592339993 -0.540018141270 -0.740747153759 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.250959426165 -0.952669680119 -0.171580299735 -vn 0.152241155505 -0.867611408234 -0.473363518715 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.250959426165 -0.952669680119 -0.171580299735 -vn 0.847137212753 0.013076731004 -0.531213283539 -vn 0.900250494480 0.354679793119 -0.252490162849 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.847137212753 0.013076731004 -0.531213283539 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.682675063610 -0.077603086829 -0.726589620113 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.524165391922 0.471699982882 -0.709048509598 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.524165391922 0.471699982882 -0.709048509598 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.524165391922 0.471699982882 -0.709048509598 -vn 0.524165391922 0.471699982882 -0.709048509598 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.723317623138 0.619894027710 0.304208874702 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.196437984705 0.667735934258 0.718011736870 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.723317623138 0.619894027710 0.304208874702 -vn 0.196437984705 0.667735934258 0.718011736870 -vn -0.460308641195 0.432748824358 0.775141537189 -vn -0.476979732513 0.530355632305 0.700866043568 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.196437984705 0.667735934258 0.718011736870 -vn -0.460308641195 0.432748824358 0.775141537189 -vn -0.792952120304 -0.015133478679 0.609095990658 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.476979732513 0.530355632305 0.700866043568 -vn -0.476979732513 0.530355632305 0.700866043568 -vn -0.460308641195 0.432748824358 0.775141537189 -vn -0.792952120304 -0.015133478679 0.609095990658 -vn -0.685466885567 -0.650259494781 0.327563315630 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.792952120304 -0.015133478679 0.609095990658 -vn -0.685466885567 -0.650259494781 0.327563315630 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.685466885567 -0.650259494781 0.327563315630 -vn -0.472495853901 -0.873955726624 0.113794088364 -vn -0.472495853901 -0.873955726624 0.113794088364 -vn -0.250959426165 -0.952669680119 -0.171580299735 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn 0.399592339993 -0.540018141270 -0.740747153759 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn 0.399592339993 -0.540018141270 -0.740747153759 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.900250494480 0.354679793119 -0.252490162849 -vn 0.851737022400 0.522776246071 0.035341292620 -vn 0.851737022400 0.522776246071 0.035341292620 -vn 0.723317623138 0.619894027710 0.304208874702 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.685466885567 -0.650259494781 0.327563315630 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.388409644365 0.097376465797 0.916327297688 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.388409644365 0.097376465797 0.916327297688 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.614874482155 0.042262133211 0.787491738796 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn 0.350814163685 -0.622514247894 0.699575185776 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.350814163685 -0.622514247894 0.699575185776 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.123162224889 -0.212614715099 -0.969343125820 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.929131925106 -0.287983894348 0.231903240085 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.929131925106 -0.287983894348 0.231903240085 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.886774122715 -0.348562031984 0.303539305925 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.929131925106 -0.287983894348 0.231903240085 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.929131925106 -0.287983894348 0.231903240085 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.372199684381 0.758454144001 0.534990429878 -vn -0.372199684381 0.758454144001 0.534990429878 -vn -0.513534486294 0.648863255978 0.561479091644 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.521253764629 0.558969914913 0.644862115383 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.521253764629 0.558969914913 0.644862115383 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.606201291084 0.206537902355 0.768024802208 -vn 0.350814163685 -0.622514247894 0.699575185776 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.350814163685 -0.622514247894 0.699575185776 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.441691637039 0.769754469395 0.460854202509 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.441691637039 0.769754469395 0.460854202509 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.228975534439 -0.966663718224 0.114592753351 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.696642994881 0.705350995064 -0.131028831005 -vn -0.474705159664 0.698050916195 -0.536078274250 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.696642994881 0.705350995064 -0.131028831005 -vn -0.696642994881 0.705350995064 -0.131028831005 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.632141351700 0.593008518219 0.498736590147 -vn -0.696642994881 0.705350995064 -0.131028831005 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.441691637039 0.769754469395 0.460854202509 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.441691637039 0.769754469395 0.460854202509 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn 0.148168861866 -0.965607345104 0.213654994965 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn 0.148168861866 -0.965607345104 0.213654994965 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.148168861866 -0.965607345104 0.213654994965 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.148168861866 -0.965607345104 0.213654994965 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.352230370045 0.729819893837 -0.585915267467 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.432985514402 0.861952602863 -0.263744652271 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.432985514402 0.861952602863 -0.263744652271 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.352230370045 0.729819893837 -0.585915267467 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.352230370045 0.729819893837 -0.585915267467 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.432985514402 0.861952602863 -0.263744652271 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.432985514402 0.861952602863 -0.263744652271 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.000500970287 0.150257885456 0.988646686077 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.000500970287 0.150257885456 0.988646686077 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.000500970287 0.150257885456 0.988646686077 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.352230370045 0.729819893837 -0.585915267467 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.200884222984 0.281286299229 -0.938362181187 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn 0.200884222984 0.281286299229 -0.938362181187 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.200884222984 0.281286299229 -0.938362181187 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.442722022533 -0.331521779299 -0.833120942116 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.442722022533 -0.331521779299 -0.833120942116 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.442722022533 -0.331521779299 -0.833120942116 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.200884222984 0.281286299229 -0.938362181187 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.291657984257 0.089169785380 -0.952357292175 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn 0.291657984257 0.089169785380 -0.952357292175 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.291657984257 0.089169785380 -0.952357292175 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.291657984257 0.089169785380 -0.952357292175 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn -0.290984004736 -0.442904204130 -0.848035514355 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.290984004736 -0.442904204130 -0.848035514355 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.960145235062 -0.235651865602 -0.150297492743 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.960145235062 -0.235651865602 -0.150297492743 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.960145235062 -0.235651865602 -0.150297492743 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.960145235062 -0.235651865602 -0.150297492743 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.944666683674 0.069445535541 0.320596575737 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.944666683674 0.069445535541 0.320596575737 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.521253764629 0.558969914913 0.644862115383 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.521253764629 0.558969914913 0.644862115383 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.944666683674 0.069445535541 0.320596575737 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.628319561481 0.359209179878 0.690060377121 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.628319561481 0.359209179878 0.690060377121 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.628319561481 0.359209179878 0.690060377121 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.294267475605 0.736320257187 0.609293937683 -vn -0.294267475605 0.736320257187 0.609293937683 -vn -0.319124907255 0.778944134712 0.539819717407 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.319124907255 0.778944134712 0.539819717407 -vn -0.372199684381 0.758454144001 0.534990429878 -vn -0.372199684381 0.758454144001 0.534990429878 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.210031285882 0.676729142666 0.705637693405 -vn -0.210031285882 0.676729142666 0.705637693405 -vn -0.294267475605 0.736320257187 0.609293937683 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.220259353518 0.493042349815 0.841662108898 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.220259353518 0.493042349815 0.841662108898 -vn -0.217704832554 0.616207301617 0.756897091866 -vn -0.217704832554 0.616207301617 0.756897091866 -vn -0.210031285882 0.676729142666 0.705637693405 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.628319561481 0.359209179878 0.690060377121 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.886774122715 -0.348562031984 0.303539305925 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.944666683674 0.069445535541 0.320596575737 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.886774122715 -0.348562031984 0.303539305925 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.886774122715 -0.348562031984 0.303539305925 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.661482095718 -0.585137486458 -0.469100773335 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.661482095718 -0.585137486458 -0.469100773335 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.461035043001 -0.472170799971 -0.751333117485 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.661482095718 -0.585137486458 -0.469100773335 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.461035043001 -0.472170799971 -0.751333117485 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn 0.029672866687 -0.456797748804 -0.889075577259 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.461035043001 -0.472170799971 -0.751333117485 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.661482095718 -0.585137486458 -0.469100773335 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.290984004736 -0.442904204130 -0.848035514355 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.290984004736 -0.442904204130 -0.848035514355 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.029672866687 -0.456797748804 -0.889075577259 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn 0.220781981945 -0.310104668140 -0.924710988998 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.461035043001 -0.472170799971 -0.751333117485 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn 0.029672866687 -0.456797748804 -0.889075577259 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.220781981945 -0.310104668140 -0.924710988998 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.186271145940 -0.284139335155 -0.940514683723 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.220781981945 -0.310104668140 -0.924710988998 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.029672866687 -0.456797748804 -0.889075577259 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.186271145940 -0.284139335155 -0.940514683723 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.220781981945 -0.310104668140 -0.924710988998 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.092088714242 -0.480216324329 -0.872302651405 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn -0.123162224889 -0.212614715099 -0.969343125820 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.123162224889 -0.212614715099 -0.969343125820 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.123162224889 -0.212614715099 -0.969343125820 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.507497727871 -0.236813455820 0.828471779823 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.507497727871 -0.236813455820 0.828471779823 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.507497727871 -0.236813455820 0.828471779823 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.196055978537 -0.171053454280 0.965558290482 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.196055978537 -0.171053454280 0.965558290482 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.507497727871 -0.236813455820 0.828471779823 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn -0.228975534439 -0.966663718224 0.114592753351 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.514643490314 -0.262845516205 -0.816121518612 -vn -0.514643490314 -0.262845516205 -0.816121518612 -vn -0.903522908688 -0.324223697186 -0.280223727226 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.903522908688 -0.324223697186 -0.280223727226 -vn -0.939108490944 -0.334201961756 0.079902052879 -vn -0.939108490944 -0.334201961756 0.079902052879 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.939108490944 -0.334201961756 0.079902052879 -vn -0.879063725471 -0.294311136007 0.375003933907 -vn -0.879063725471 -0.294311136007 0.375003933907 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.879063725471 -0.294311136007 0.375003933907 -vn -0.350002974272 -0.353424876928 0.867518723011 -vn -0.350002974272 -0.353424876928 0.867518723011 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.350002974272 -0.353424876928 0.867518723011 -vn 0.522046148777 -0.307964920998 0.795377552509 -vn 0.522046148777 -0.307964920998 0.795377552509 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.522046148777 -0.307964920998 0.795377552509 -vn 0.855423569679 -0.287269592285 0.430960148573 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn 0.522046148777 -0.307964920998 0.795377552509 -vn 0.855423569679 -0.287269592285 0.430960148573 -vn 0.965904176235 -0.249124884605 -0.070468947291 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.855423569679 -0.287269592285 0.430960148573 -vn 0.965904176235 -0.249124884605 -0.070468947291 -vn 0.707191705704 -0.151784554124 -0.690536975861 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.965904176235 -0.249124884605 -0.070468947291 -vn 0.707191705704 -0.151784554124 -0.690536975861 -vn 0.155663013458 -0.127083465457 -0.979601383209 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.707191705704 -0.151784554124 -0.690536975861 -vn 0.155663013458 -0.127083465457 -0.979601383209 -vn -0.514643490314 -0.262845516205 -0.816121518612 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn 0.155663013458 -0.127083465457 -0.979601383209 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.097222670913 -0.772586345673 0.627421736717 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.513534486294 0.648863255978 0.561479091644 -vn -0.660521805286 0.480035573244 0.577301323414 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.513534486294 0.648863255978 0.561479091644 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.092088714242 -0.480216324329 -0.872302651405 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.660521805286 0.480035573244 0.577301323414 -vn -0.632141351700 0.593008518219 0.498736590147 -vn -0.632141351700 0.593008518219 0.498736590147 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.426534503698 0.658479154110 0.620059251785 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn -0.097222670913 -0.772586345673 0.627421736717 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.442722022533 -0.331521779299 -0.833120942116 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn -0.097222670913 -0.772586345673 0.627421736717 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.097222670913 -0.772586345673 0.627421736717 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn -0.147046521306 0.661145508289 -0.735706388950 -vn -0.147046521306 0.661145508289 -0.735706388950 -vn 0.080240480602 0.638880431652 -0.765109956264 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.474705159664 0.698050916195 -0.536078274250 -vn -0.474705159664 0.698050916195 -0.536078274250 -vn -0.147046521306 0.661145508289 -0.735706388950 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.616677582264 -0.787093162537 0.013895100914 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.852300584316 -0.522522985935 -0.023525990546 -vn -0.852300584316 -0.522522985935 -0.023525990546 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.371117204428 0.216821014881 0.902917861938 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.449752897024 0.215031251311 0.866881728172 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.131719857454 -0.939497470856 -0.316218942404 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.103229515254 0.978088200092 0.180795833468 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.155846312642 0.291441172361 0.943808257580 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.220938414335 0.246594354510 0.943598151207 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.711501002312 -0.684330821037 -0.159554719925 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.807789504528 -0.443095922470 -0.388770043850 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn 0.864156365395 0.421443611383 0.274989217520 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.155846312642 0.291441172361 0.943808257580 -vn -0.103229515254 0.978088200092 0.180795833468 -vn 0.864156365395 0.421443611383 0.274989217520 -vn 0.864156365395 0.421443611383 0.274989217520 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.864156365395 0.421443611383 0.274989217520 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.668927371502 0.054616473615 0.741318523884 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn -0.228597149253 -0.963452041149 0.139655098319 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.125691637397 0.965929806232 0.226232767105 -vn 0.125691637397 0.965929806232 0.226232767105 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.525134205818 0.469024330378 0.710105836391 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.776327371597 0.532938063145 -0.336589962244 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.518878757954 0.427382588387 0.740343809128 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.846791744232 -0.483428299427 -0.221902847290 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn -0.526116251945 0.837725043297 0.146350353956 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn -0.418460667133 0.901152551174 0.113202057779 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn -0.582837760448 0.017110457644 0.812408387661 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.300787478685 0.223077714443 0.927234172821 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.582837760448 0.017110457644 0.812408387661 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.452860146761 -0.891462624073 -0.014562929980 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.526116251945 0.837725043297 0.146350353956 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.669882655144 0.495309412479 0.553105592728 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.489775359631 -0.690809249878 0.531885921955 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.898592233658 0.382915318012 0.214261218905 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.898592233658 0.382915318012 0.214261218905 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn -0.291609972715 0.196503594518 0.936135649681 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.291609972715 0.196503594518 0.936135649681 -vn -0.291609972715 0.196503594518 0.936135649681 -vn -0.313529968262 0.702443897724 0.638961255550 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.452860146761 -0.891462624073 -0.014562929980 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.669882655144 0.495309412479 0.553105592728 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.669882655144 0.495309412479 0.553105592728 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.669882655144 0.495309412479 0.553105592728 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.452860146761 -0.891462624073 -0.014562929980 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.452860146761 -0.891462624073 -0.014562929980 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn -0.489775359631 -0.690809249878 0.531885921955 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.898592233658 0.382915318012 0.214261218905 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.898592233658 0.382915318012 0.214261218905 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.898592233658 0.382915318012 0.214261218905 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.313529968262 0.702443897724 0.638961255550 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.313529968262 0.702443897724 0.638961255550 -vn -0.291609972715 0.196503594518 0.936135649681 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.313529968262 0.702443897724 0.638961255550 -vn -0.291609972715 0.196503594518 0.936135649681 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.291609972715 0.196503594518 0.936135649681 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn -0.489775359631 -0.690809249878 0.531885921955 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn -0.489775359631 -0.690809249878 0.531885921955 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.007830149494 -0.295004695654 0.955463707447 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.131474196911 0.695336520672 0.706556200981 -vn -0.131474196911 0.695336520672 0.706556200981 -vn -0.630089104176 0.398744553328 0.666326105595 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.563470244408 0.434554904699 0.702611804008 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.582837760448 0.017110457644 0.812408387661 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.750201165676 0.627852976322 0.207361668348 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.582837760448 0.017110457644 0.812408387661 -vn -0.582837760448 0.017110457644 0.812408387661 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.750201165676 0.627852976322 0.207361668348 -vn 0.072813071311 0.950119674206 0.303266942501 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.750201165676 0.627852976322 0.207361668348 -vn 0.072813071311 0.950119674206 0.303266942501 -vn 0.563470244408 0.434554904699 0.702611804008 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.072813071311 0.950119674206 0.303266942501 -vn 0.563470244408 0.434554904699 0.702611804008 -vn -0.007830149494 -0.295004695654 0.955463707447 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn 0.563470244408 0.434554904699 0.702611804008 -vn 0.563470244408 0.434554904699 0.702611804008 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.007830149494 -0.295004695654 0.955463707447 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn -0.007830149494 -0.295004695654 0.955463707447 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.630089104176 0.398744553328 0.666326105595 -vn -0.750201165676 0.627852976322 0.207361668348 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.630089104176 0.398744553328 0.666326105595 -vn -0.131474196911 0.695336520672 0.706556200981 -vn 0.072813071311 0.950119674206 0.303266942501 -vn -0.750201165676 0.627852976322 0.207361668348 -vn -0.750201165676 0.627852976322 0.207361668348 -vn -0.630089104176 0.398744553328 0.666326105595 -vn -0.131474196911 0.695336520672 0.706556200981 -vn -0.083546750247 0.307561278343 0.947853386402 -vn 0.563470244408 0.434554904699 0.702611804008 -vn 0.072813071311 0.950119674206 0.303266942501 -vn 0.072813071311 0.950119674206 0.303266942501 -vn -0.131474196911 0.695336520672 0.706556200981 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.701268851757 -0.693833172321 -0.163760513067 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.909171402454 -0.153872847557 -0.386950284243 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.888054728508 -0.403473645449 -0.220381125808 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.371117204428 0.216821014881 0.902917861938 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.371117204428 0.216821014881 0.902917861938 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.668927371502 0.054616473615 0.741318523884 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.125691637397 0.965929806232 0.226232767105 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn -0.103229515254 0.978088200092 0.180795833468 -vn -0.103229515254 0.978088200092 0.180795833468 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.103229515254 0.978088200092 0.180795833468 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.864156365395 0.421443611383 0.274989217520 -vn -0.103229515254 0.978088200092 0.180795833468 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn 0.864156365395 0.421443611383 0.274989217520 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.188257768750 0.392298519611 0.900367081165 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.188257768750 0.392298519611 0.900367081165 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.716074943542 0.144961029291 0.682805240154 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.716074943542 0.144961029291 0.682805240154 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn -0.429535895586 0.902928054333 0.014827483334 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn -0.441782504320 0.297333627939 0.846416532993 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.274307638407 0.453335881233 0.848081290722 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.441782504320 0.297333627939 0.846416532993 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.696559727192 -0.627136945724 0.348573863506 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.925961256027 0.377290695906 0.015729881823 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.925961256027 0.377290695906 0.015729881823 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.600362479687 0.620171487331 0.504927933216 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.702686250210 -0.592057228088 0.394588679075 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.934488713741 0.355977147818 0.003339467803 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.934488713741 0.355977147818 0.003339467803 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.356412112713 0.766799211502 0.533843994141 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.696559727192 -0.627136945724 0.348573863506 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.925961256027 0.377290695906 0.015729881823 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.925961256027 0.377290695906 0.015729881823 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.925961256027 0.377290695906 0.015729881823 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.600362479687 0.620171487331 0.504927933216 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.600362479687 0.620171487331 0.504927933216 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.716074943542 0.144961029291 0.682805240154 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.600362479687 0.620171487331 0.504927933216 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn -0.716074943542 0.144961029291 0.682805240154 -vn -0.716074943542 0.144961029291 0.682805240154 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.696559727192 -0.627136945724 0.348573863506 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.696559727192 -0.627136945724 0.348573863506 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn -0.702686250210 -0.592057228088 0.394588679075 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.934488713741 0.355977147818 0.003339467803 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.934488713741 0.355977147818 0.003339467803 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.934488713741 0.355977147818 0.003339467803 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.356412112713 0.766799211502 0.533843994141 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.356412112713 0.766799211502 0.533843994141 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.356412112713 0.766799211502 0.533843994141 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.702686250210 -0.592057228088 0.394588679075 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.702686250210 -0.592057228088 0.394588679075 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn -0.364090979099 0.029598439112 0.930892944336 -vn 0.024463318288 -0.011137106456 0.999638676643 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.030472742394 0.502272367477 0.864172399044 -vn -0.411388903856 0.236352607608 0.880282104015 -vn -0.364090979099 0.029598439112 0.930892944336 -vn -0.411388903856 0.236352607608 0.880282104015 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.048600327224 0.791139721870 0.609701573849 -vn 0.048600327224 0.791139721870 0.609701573849 -vn -0.491668075323 0.542922973633 0.680806279182 -vn -0.411388903856 0.236352607608 0.880282104015 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.441782504320 0.297333627939 0.846416532993 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.667333602905 0.709663510323 0.225928291678 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.441782504320 0.297333627939 0.846416532993 -vn -0.441782504320 0.297333627939 0.846416532993 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.667333602905 0.709663510323 0.225928291678 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.667333602905 0.709663510323 0.225928291678 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.024463318288 -0.011137106456 0.999638676643 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.024463318288 -0.011137106456 0.999638676643 -vn -0.364090979099 0.029598439112 0.930892944336 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn 0.024463318288 -0.011137106456 0.999638676643 -vn -0.364090979099 0.029598439112 0.930892944336 -vn -0.411388903856 0.236352607608 0.880282104015 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn -0.364090979099 0.029598439112 0.930892944336 -vn -0.411388903856 0.236352607608 0.880282104015 -vn -0.491668075323 0.542922973633 0.680806279182 -vn -0.667333602905 0.709663510323 0.225928291678 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.411388903856 0.236352607608 0.880282104015 -vn -0.491668075323 0.542922973633 0.680806279182 -vn 0.048600327224 0.791139721870 0.609701573849 -vn 0.184340089560 0.964558541775 0.188800379634 -vn -0.667333602905 0.709663510323 0.225928291678 -vn -0.667333602905 0.709663510323 0.225928291678 -vn -0.491668075323 0.542922973633 0.680806279182 -vn 0.048600327224 0.791139721870 0.609701573849 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.048600327224 0.791139721870 0.609701573849 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.243232712150 0.967023551464 0.075520321727 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.221887230873 0.512353301048 0.829614460468 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn 0.842137992382 0.517580270767 0.151374444366 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.221887230873 0.512353301048 0.829614460468 -vn -0.243232712150 0.967023551464 0.075520321727 -vn 0.842137992382 0.517580270767 0.151374444366 -vn 0.842137992382 0.517580270767 0.151374444366 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.842137992382 0.517580270767 0.151374444366 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn -0.067432902753 0.981908500195 0.176942050457 -vn -0.067432902753 0.981908500195 0.176942050457 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.238086134195 -0.970914840698 -0.025286355987 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.788937568665 0.168626442552 0.590882897377 -vn -0.964621126652 0.160373017192 0.209252431989 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.364021629095 -0.856148600578 0.366739392281 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.945016801357 0.013837653212 0.326728969812 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.945016801357 0.013837653212 0.326728969812 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.483903706074 0.389737546444 0.783544421196 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn -0.238086134195 -0.970914840698 -0.025286355987 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.788937568665 0.168626442552 0.590882897377 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.788937568665 0.168626442552 0.590882897377 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.788937568665 0.168626442552 0.590882897377 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.238086134195 -0.970914840698 -0.025286355987 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.238086134195 -0.970914840698 -0.025286355987 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn -0.364021629095 -0.856148600578 0.366739392281 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.945016801357 0.013837653212 0.326728969812 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.945016801357 0.013837653212 0.326728969812 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.945016801357 0.013837653212 0.326728969812 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.483903706074 0.389737546444 0.783544421196 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.483903706074 0.389737546444 0.783544421196 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.483903706074 0.389737546444 0.783544421196 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.364021629095 -0.856148600578 0.366739392281 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.364021629095 -0.856148600578 0.366739392281 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.067432902753 0.981908500195 0.176942050457 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn -0.757342994213 0.639263868332 0.133316561580 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn 0.025394085795 -0.229523256421 0.972971856594 -vn -0.178718537092 0.188127040863 0.965747356415 -vn -0.178718537092 0.188127040863 0.965747356415 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.178718537092 0.188127040863 0.965747356415 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.581079006195 0.111400045455 0.806186854839 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.376014262438 0.462822437286 0.802750706673 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.262828111649 0.784388482571 0.561832785606 -vn -0.067432902753 0.981908500195 0.176942050457 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.262828111649 0.784388482571 0.561832785606 -vn 0.376014262438 0.462822437286 0.802750706673 -vn 0.689539670944 0.551088571548 0.469932347536 -vn -0.067432902753 0.981908500195 0.176942050457 -vn -0.067432902753 0.981908500195 0.176942050457 -vn -0.262828111649 0.784388482571 0.561832785606 -vn 0.376014262438 0.462822437286 0.802750706673 -vn 0.025394085795 -0.229523256421 0.972971856594 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn 0.376014262438 0.462822437286 0.802750706673 -vn 0.376014262438 0.462822437286 0.802750706673 -vn -0.178718537092 0.188127040863 0.965747356415 -vn 0.025394085795 -0.229523256421 0.972971856594 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn 0.025394085795 -0.229523256421 0.972971856594 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.581079006195 0.111400045455 0.806186854839 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.581079006195 0.111400045455 0.806186854839 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.262828111649 0.784388482571 0.561832785606 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.581079006195 0.111400045455 0.806186854839 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.178718537092 0.188127040863 0.965747356415 -vn 0.376014262438 0.462822437286 0.802750706673 -vn -0.262828111649 0.784388482571 0.561832785606 -vn -0.262828111649 0.784388482571 0.561832785606 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.178718537092 0.188127040863 0.965747356415 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn -0.243232712150 0.967023551464 0.075520321727 -vn -0.243232712150 0.967023551464 0.075520321727 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.243232712150 0.967023551464 0.075520321727 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.842137992382 0.517580270767 0.151374444366 -vn -0.243232712150 0.967023551464 0.075520321727 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.842137992382 0.517580270767 0.151374444366 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.934458494186 0.322290331125 0.151381283998 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.547749757767 0.077166840434 0.833075940609 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.547749757767 0.077166840434 0.833075940609 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.337525874376 0.930810749531 0.140241369605 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn -0.170828253031 0.950032889843 0.261256903410 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn -0.429289430380 0.010662646964 0.903104007244 -vn 0.001197829144 0.204163551331 0.978936076164 -vn 0.001197829144 0.204163551331 0.978936076164 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.001197829144 0.204163551331 0.978936076164 -vn -0.429289430380 0.010662646964 0.903104007244 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.170828253031 0.950032889843 0.261256903410 -vn 0.001197829144 0.204163551331 0.978936076164 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.647293269634 -0.752994298935 -0.118367962539 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.470382779837 0.875310480595 0.112123101950 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.485284209251 0.621354460716 0.615156769753 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.449355930090 -0.622634947300 0.640628576279 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.777829766273 0.488033413887 0.395985156298 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.777829766273 0.488033413887 0.395985156298 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn 0.035827055573 0.207518517971 0.977574825287 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.326971471310 0.053588666022 0.943513572216 -vn 0.035827055573 0.207518517971 0.977574825287 -vn 0.035827055573 0.207518517971 0.977574825287 -vn -0.050434809178 0.689648866653 0.722385466099 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.647293269634 -0.752994298935 -0.118367962539 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.485284209251 0.621354460716 0.615156769753 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.485284209251 0.621354460716 0.615156769753 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.547749757767 0.077166840434 0.833075940609 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.485284209251 0.621354460716 0.615156769753 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn -0.547749757767 0.077166840434 0.833075940609 -vn -0.547749757767 0.077166840434 0.833075940609 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.647293269634 -0.752994298935 -0.118367962539 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.647293269634 -0.752994298935 -0.118367962539 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn -0.449355930090 -0.622634947300 0.640628576279 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.777829766273 0.488033413887 0.395985156298 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.777829766273 0.488033413887 0.395985156298 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.777829766273 0.488033413887 0.395985156298 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.050434809178 0.689648866653 0.722385466099 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.050434809178 0.689648866653 0.722385466099 -vn 0.035827055573 0.207518517971 0.977574825287 -vn 0.001197829144 0.204163551331 0.978936076164 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.050434809178 0.689648866653 0.722385466099 -vn 0.035827055573 0.207518517971 0.977574825287 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.001197829144 0.204163551331 0.978936076164 -vn 0.001197829144 0.204163551331 0.978936076164 -vn 0.035827055573 0.207518517971 0.977574825287 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn -0.449355930090 -0.622634947300 0.640628576279 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn -0.449355930090 -0.622634947300 0.640628576279 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn -0.337525874376 0.930810749531 0.140241369605 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn -0.337525874376 0.930810749531 0.140241369605 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn 0.030373126268 -0.405382573605 0.913642406464 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.067655861378 0.094781979918 0.993196368217 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.004601359833 0.522861719131 0.852405130863 -vn 0.004601359833 0.522861719131 0.852405130863 -vn -0.538786590099 0.230709373951 0.810235857964 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.429289430380 0.010662646964 0.903104007244 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.590204536915 0.644762694836 0.485736191273 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.429289430380 0.010662646964 0.903104007244 -vn -0.429289430380 0.010662646964 0.903104007244 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.590204536915 0.644762694836 0.485736191273 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.423879355192 0.904768526554 0.041475951672 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.590204536915 0.644762694836 0.485736191273 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.030373126268 -0.405382573605 0.913642406464 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.030373126268 -0.405382573605 0.913642406464 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn 0.030373126268 -0.405382573605 0.913642406464 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn -0.538786590099 0.230709373951 0.810235857964 -vn -0.590204536915 0.644762694836 0.485736191273 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn -0.538786590099 0.230709373951 0.810235857964 -vn 0.004601359833 0.522861719131 0.852405130863 -vn 0.313855469227 0.815999209881 0.485427707434 -vn -0.590204536915 0.644762694836 0.485736191273 -vn -0.590204536915 0.644762694836 0.485736191273 -vn -0.538786590099 0.230709373951 0.810235857964 -vn 0.004601359833 0.522861719131 0.852405130863 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.004601359833 0.522861719131 0.852405130863 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.952248871326 0.304680645466 0.019794657826 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.807789504528 -0.443095922470 -0.388770043850 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.807789504528 -0.443095922470 -0.388770043850 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.807789504528 -0.443095922470 -0.388770043850 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn -0.776327371597 0.532938063145 -0.336589962244 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn -0.776327371597 0.532938063145 -0.336589962244 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.776327371597 0.532938063145 -0.336589962244 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.711501002312 -0.684330821037 -0.159554719925 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.711501002312 -0.684330821037 -0.159554719925 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.711501002312 -0.684330821037 -0.159554719925 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.909171402454 -0.153872847557 -0.386950284243 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.909171402454 -0.153872847557 -0.386950284243 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.909171402454 -0.153872847557 -0.386950284243 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.888054728508 -0.403473645449 -0.220381125808 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.701268851757 -0.693833172321 -0.163760513067 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.701268851757 -0.693833172321 -0.163760513067 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.701268851757 -0.693833172321 -0.163760513067 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn -0.888054728508 -0.403473645449 -0.220381125808 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn -0.888054728508 -0.403473645449 -0.220381125808 -vn -0.228597149253 -0.963452041149 0.139655098319 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.228597149253 -0.963452041149 0.139655098319 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn -0.228597149253 -0.963452041149 0.139655098319 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn -0.846791744232 -0.483428299427 -0.221902847290 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn -0.846791744232 -0.483428299427 -0.221902847290 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.846791744232 -0.483428299427 -0.221902847290 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.343221575022 0.333233237267 0.878154039383 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.668927371502 0.054616473615 0.741318523884 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.554942369461 0.176653087139 0.812916159630 -vn -0.765450656414 0.598935127258 0.235291317105 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn -0.554942369461 0.176653087139 0.812916159630 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.078894823790 0.316832482815 0.945194602013 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.720277249813 0.069460451603 0.690199911594 -vn -0.554942369461 0.176653087139 0.812916159630 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.554942369461 0.176653087139 0.812916159630 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn -0.554942369461 0.176653087139 0.812916159630 -vn -0.554942369461 0.176653087139 0.812916159630 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.301544338465 0.953448176384 0.002751463326 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.254744201899 0.720660746098 -0.644789516926 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn 0.581056177616 0.793762326241 0.179764077067 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn 0.254744201899 0.720660746098 -0.644789516926 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.581056177616 0.793762326241 0.179764077067 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.581056177616 0.793762326241 0.179764077067 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.581056177616 0.793762326241 0.179764077067 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn 0.254744201899 0.720660746098 -0.644789516926 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn 0.254744201899 0.720660746098 -0.644789516926 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.852300584316 -0.522522985935 -0.023525990546 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.852300584316 -0.522522985935 -0.023525990546 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn -0.101965256035 0.950193762779 -0.294507831335 -vn -0.005631436128 0.999072909355 0.042680554092 -vn -0.005631436128 0.999072909355 0.042680554092 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn -0.005631436128 0.999072909355 0.042680554092 -vn 0.187485709786 0.938560783863 0.289746075869 -vn 0.187485709786 0.938560783863 0.289746075869 -vn 0.360706925392 0.930654346943 -0.061424735934 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn 0.793979823589 0.261099308729 0.549020230770 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.002065459266 0.795183241367 -0.606365740299 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn 0.229095175862 0.971845209599 0.055066000670 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn -0.298334419727 0.949311316013 0.099018156528 -vn -0.298334419727 0.949311316013 0.099018156528 -vn 0.038500741124 0.970658123493 0.237361595035 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.038500741124 0.970658123493 0.237361595035 -vn 0.038500741124 0.970658123493 0.237361595035 -vn 0.510277152061 0.789386153221 0.341301500797 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn 0.002065459266 0.795183241367 -0.606365740299 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.510277152061 0.789386153221 0.341301500797 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.510277152061 0.789386153221 0.341301500797 -vn 0.038500741124 0.970658123493 0.237361595035 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.510277152061 0.789386153221 0.341301500797 -vn 0.038500741124 0.970658123493 0.237361595035 -vn -0.298334419727 0.949311316013 0.099018156528 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.038500741124 0.970658123493 0.237361595035 -vn -0.298334419727 0.949311316013 0.099018156528 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.298334419727 0.949311316013 0.099018156528 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn 0.002065459266 0.795183241367 -0.606365740299 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn 0.002065459266 0.795183241367 -0.606365740299 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.195449680090 0.978367269039 0.067800879478 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.117484591901 0.535072982311 0.836596846581 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.117484591901 0.535072982311 0.836596846581 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn 0.117484591901 0.535072982311 0.836596846581 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.101965256035 0.950193762779 -0.294507831335 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.005631436128 0.999072909355 0.042680554092 -vn -0.101965256035 0.950193762779 -0.294507831335 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.101965256035 0.950193762779 -0.294507831335 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.360706925392 0.930654346943 -0.061424735934 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.360706925392 0.930654346943 -0.061424735934 -vn 0.187485709786 0.938560783863 0.289746075869 -vn 0.117484591901 0.535072982311 0.836596846581 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.360706925392 0.930654346943 -0.061424735934 -vn 0.187485709786 0.938560783863 0.289746075869 -vn -0.005631436128 0.999072909355 0.042680554092 -vn -0.580564439297 0.618157505989 0.529930353165 -vn 0.117484591901 0.535072982311 0.836596846581 -vn 0.117484591901 0.535072982311 0.836596846581 -vn 0.187485709786 0.938560783863 0.289746075869 -vn -0.005631436128 0.999072909355 0.042680554092 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.131719857454 -0.939497470856 -0.316218942404 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.616677582264 -0.787093162537 0.013895100914 -vn 0.616677582264 -0.787093162537 0.013895100914 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn 0.071874260902 0.922927081585 0.378205835819 -vn 0.125691637397 0.965929806232 0.226232767105 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.071874260902 0.922927081585 0.378205835819 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn 0.125691637397 0.965929806232 0.226232767105 -vn 0.071874260902 0.922927081585 0.378205835819 -vn 0.071874260902 0.922927081585 0.378205835819 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn -0.078894823790 0.316832482815 0.945194602013 -vn -0.078894823790 0.316832482815 0.945194602013 -vn 0.075631655753 -0.076423481107 0.994202852249 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.075631655753 -0.076423481107 0.994202852249 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.075631655753 -0.076423481107 0.994202852249 -vn 0.075631655753 -0.076423481107 0.994202852249 -vn -0.078894823790 0.316832482815 0.945194602013 -vn 0.105647958815 0.477384954691 0.872319936752 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn 0.071874260902 0.922927081585 0.378205835819 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn -0.148294940591 0.763890028000 0.628076970577 -vn 0.071874260902 0.922927081585 0.378205835819 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.105647958815 0.477384954691 0.872319936752 -vn -0.078894823790 0.316832482815 0.945194602013 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.791678369045 0.572285056114 -0.213857769966 -vn -0.791678369045 0.572285056114 -0.213857769966 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.668927371502 0.054616473615 0.741318523884 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn -0.131719857454 -0.939497470856 -0.316218942404 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.371117204428 0.216821014881 0.902917861938 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.616677582264 -0.787093162537 0.013895100914 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.162017181516 0.796604990959 0.582383811474 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.260491907597 0.307280063629 0.915272057056 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.162017181516 0.796604990959 0.582383811474 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.791678369045 0.572285056114 -0.213857769966 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.791678369045 0.572285056114 -0.213857769966 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn 0.194033831358 -0.975260198116 0.105917148292 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.194033831358 -0.975260198116 0.105917148292 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn -0.000500970287 0.150257885456 0.988646686077 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.000500970287 0.150257885456 0.988646686077 -vn -0.020890446380 0.525199234486 0.850722849369 -vn 0.033992055804 0.651784360409 0.757642209530 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.094890594482 0.167634546757 0.981271862984 -vn -0.000500970287 0.150257885456 0.988646686077 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.212111368775 0.931484699249 0.295541882515 -vn 0.033992055804 0.651784360409 0.757642209530 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.212111368775 0.931484699249 0.295541882515 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.212111368775 0.931484699249 0.295541882515 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.131719857454 -0.939497470856 -0.316218942404 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn -0.074641257524 -0.569141447544 -0.818844735622 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.074641257524 -0.569141447544 -0.818844735622 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.074641257524 -0.569141447544 -0.818844735622 -vn -0.074641257524 -0.569141447544 -0.818844735622 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.212111368775 0.931484699249 0.295541882515 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn -0.212111368775 0.931484699249 0.295541882515 -vn 0.033992055804 0.651784360409 0.757642209530 -vn -0.212111368775 0.931484699249 0.295541882515 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn 0.162017181516 0.796604990959 0.582383811474 -vn 0.033992055804 0.651784360409 0.757642209530 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.033992055804 0.651784360409 0.757642209530 -vn 0.162017181516 0.796604990959 0.582383811474 -vn 0.162017181516 0.796604990959 0.582383811474 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn 0.194033831358 -0.975260198116 0.105917148292 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn 0.194033831358 -0.975260198116 0.105917148292 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.113157883286 -0.147927060723 0.982503354549 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.656117200851 -0.752742469311 0.053749088198 -vn 0.656117200851 -0.752742469311 0.053749088198 -vn 0.652370274067 -0.700718224049 -0.288802653551 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.321534842253 -0.887416303158 0.330314517021 -vn 0.656117200851 -0.752742469311 0.053749088198 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn 0.321534842253 -0.887416303158 0.330314517021 -vn 0.321534842253 -0.887416303158 0.330314517021 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.201453700662 -0.832577824593 0.515975356102 -vn 0.321534842253 -0.887416303158 0.330314517021 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.961623728275 0.054777454585 0.268847882748 -vn 0.717947840691 -0.072925940156 0.692266345024 -vn 0.717947840691 -0.072925940156 0.692266345024 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.965605020523 0.107465490699 0.236765861511 -vn -0.068652406335 0.974390566349 0.214125752449 -vn 0.442601650953 0.886409521103 0.135580167174 -vn 0.400886356831 0.901594340801 0.162535563111 -vn 0.400886356831 0.901594340801 0.162535563111 -vn -0.147310256958 0.958264529705 0.245007723570 -vn -0.068652406335 0.974390566349 0.214125752449 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.979799330235 0.116351984441 -0.162651434541 -vn 0.979799330235 0.116351984441 -0.162651434541 -vn 0.961623728275 0.054777454585 0.268847882748 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.529358327389 0.845940232277 -0.064536072314 -vn 0.680514693260 0.732540011406 -0.016878856346 -vn 0.400886356831 0.901594340801 0.162535563111 -vn 0.400886356831 0.901594340801 0.162535563111 -vn 0.442601650953 0.886409521103 0.135580167174 -vn 0.529358327389 0.845940232277 -0.064536072314 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.698699057102 -0.088728033006 -0.709892213345 -vn 0.698699057102 -0.088728033006 -0.709892213345 -vn 0.979799330235 0.116351984441 -0.162651434541 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn -0.048381622881 0.989867806435 0.133495286107 -vn -0.068652406335 0.974390566349 0.214125752449 -vn -0.147310256958 0.958264529705 0.245007723570 -vn -0.147310256958 0.958264529705 0.245007723570 -vn -0.040402501822 0.989431560040 0.139258161187 -vn -0.048381622881 0.989867806435 0.133495286107 -vn -0.932176113129 -0.021262366325 -0.361380100250 -vn -0.655080139637 -0.018082045019 -0.755343019962 -vn -0.684160232544 -0.015572587028 -0.729165434837 -vn -0.684160232544 -0.015572587028 -0.729165434837 -vn -0.938433587551 -0.109255589545 -0.327727943659 -vn -0.932176113129 -0.021262366325 -0.361380100250 -vn -0.716325759888 0.585582971573 0.379433780909 -vn -0.616649746895 0.675030350685 0.405064314604 -vn -0.932176113129 -0.021262366325 -0.361380100250 -vn -0.932176113129 -0.021262366325 -0.361380100250 -vn -0.938433587551 -0.109255589545 -0.327727943659 -vn -0.716325759888 0.585582971573 0.379433780909 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.030194981024 -0.298345863819 0.953980088234 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.296417653561 -0.129989758134 0.946170806885 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.717947840691 -0.072925940156 0.692266345024 -vn 0.296417653561 -0.129989758134 0.946170806885 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn 0.296417653561 -0.129989758134 0.946170806885 -vn 0.296417653561 -0.129989758134 0.946170806885 -vn -0.067382998765 -0.241788670421 0.967986464500 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.217509955168 -0.925485610962 0.310106158257 -vn 0.208270162344 -0.874368071556 0.438296735287 -vn 0.208270162344 -0.874368071556 0.438296735287 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn -0.999865949154 -0.007872974500 -0.014355270192 -vn -0.930489718914 -0.261996328831 -0.256021112204 -vn -0.933810532093 -0.240890204906 -0.264518111944 -vn -0.933810532093 -0.240890204906 -0.264518111944 -vn -0.999982237816 -0.005035636947 0.003187689232 -vn -0.999865949154 -0.007872974500 -0.014355270192 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn 0.421064645052 -0.893715202808 0.154847532511 -vn 0.421064645052 -0.893715202808 0.154847532511 -vn 0.217509955168 -0.925485610962 0.310106158257 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.452018469572 -0.883442044258 -0.123326830566 -vn 0.421064645052 -0.893715202808 0.154847532511 -vn 0.421064645052 -0.893715202808 0.154847532511 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.030194981024 -0.298345863819 0.953980088234 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.967172682285 0.241761222482 0.078284777701 -vn -0.333036005497 -0.132622703910 -0.933540701866 -vn -0.344990402460 -0.115646079183 -0.931454539299 -vn -0.279096722603 -0.206124126911 -0.937879443169 -vn -0.279096722603 -0.206124126911 -0.937879443169 -vn -0.255546450615 -0.236742943525 -0.937362670898 -vn -0.333036005497 -0.132622703910 -0.933540701866 -vn 0.316477656364 0.365814924240 -0.875226438046 -vn 0.385443925858 0.300371497869 -0.872473478317 -vn 0.258136868477 0.673559129238 -0.692591845989 -vn 0.258136868477 0.673559129238 -0.692591845989 -vn 0.265394568443 0.762436449528 -0.590132534504 -vn 0.316477656364 0.365814924240 -0.875226438046 -vn -0.836668133736 0.327173054218 0.439254164696 -vn -0.817613303661 0.347829401493 0.458828032017 -vn -0.999865949154 -0.007872974500 -0.014355270192 -vn -0.999865949154 -0.007872974500 -0.014355270192 -vn -0.999982237816 -0.005035636947 0.003187689232 -vn -0.836668133736 0.327173054218 0.439254164696 -vn -0.817613303661 0.347829401493 0.458828032017 -vn -0.836668133736 0.327173054218 0.439254164696 -vn -0.393941193819 0.551313161850 0.735434651375 -vn -0.393941193819 0.551313161850 0.735434651375 -vn -0.394177705050 0.541026473045 0.742909312248 -vn -0.817613303661 0.347829401493 0.458828032017 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.208270162344 -0.874368071556 0.438296735287 -vn 0.201453700662 -0.832577824593 0.515975356102 -vn 0.201453700662 -0.832577824593 0.515975356102 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.399136632681 -0.109241187572 -0.910360515118 -vn -0.399136632681 -0.109241187572 -0.910360515118 -vn -0.066875919700 -0.211223438382 -0.975147306919 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn -0.399136632681 -0.109241187572 -0.910360515118 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.825137555599 -0.039393767715 -0.563556671143 -vn -0.399136632681 -0.109241187572 -0.910360515118 -vn -0.238736808300 0.966642439365 -0.092774368823 -vn -0.221692368388 0.969382524490 -0.105593815446 -vn -0.131967604160 0.986462950706 -0.097341716290 -vn -0.131967604160 0.986462950706 -0.097341716290 -vn -0.131907835603 0.985628366470 -0.105532377958 -vn -0.238736808300 0.966642439365 -0.092774368823 -vn -0.221692368388 0.969382524490 -0.105593815446 -vn -0.238736808300 0.966642439365 -0.092774368823 -vn -0.191518172622 0.977899730206 0.083862185478 -vn -0.191518172622 0.977899730206 0.083862185478 -vn -0.226836472750 0.971370637417 0.070599377155 -vn -0.221692368388 0.969382524490 -0.105593815446 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.996581256390 -0.016104307026 -0.081033818424 -vn -0.996581256390 -0.016104307026 -0.081033818424 -vn -0.825137555599 -0.039393767715 -0.563556671143 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn -0.066875919700 -0.211223438382 -0.975147306919 -vn -0.066875919700 -0.211223438382 -0.975147306919 -vn 0.162009149790 -0.252556264400 -0.953922629356 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.162009149790 -0.252556264400 -0.953922629356 -vn 0.372713238001 -0.219777032733 -0.901544749737 -vn 0.372713238001 -0.219777032733 -0.901544749737 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.233587369323 0.971875846386 -0.029904913157 -vn 0.078429423273 0.979791224003 -0.184005334973 -vn 0.049535784870 0.983003556728 -0.176777198911 -vn 0.049535784870 0.983003556728 -0.176777198911 -vn 0.215006738901 0.976588487625 -0.006861140486 -vn 0.233587369323 0.971875846386 -0.029904913157 -vn -0.131907835603 0.985628366470 -0.105532377958 -vn -0.131967604160 0.986462950706 -0.097341716290 -vn 0.049535784870 0.983003556728 -0.176777198911 -vn 0.049535784870 0.983003556728 -0.176777198911 -vn 0.078429423273 0.979791224003 -0.184005334973 -vn -0.131907835603 0.985628366470 -0.105532377958 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn 0.167258366942 -0.947917759418 0.271065652370 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn 0.167258366942 -0.947917759418 0.271065652370 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.167258366942 -0.947917759418 0.271065652370 -vn 0.882891595364 -0.448917657137 -0.137750983238 -vn 0.624225676060 -0.733383476734 -0.269241482019 -vn 0.683579862118 -0.686875283718 -0.246821716428 -vn 0.683579862118 -0.686875283718 -0.246821716428 -vn 0.913559436798 -0.390938848257 -0.112142503262 -vn 0.882891595364 -0.448917657137 -0.137750983238 -vn -0.735097944736 -0.411521434784 -0.538777410984 -vn -0.919971227646 -0.315933138132 -0.232032716274 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn -0.735097944736 -0.411521434784 -0.538777410984 -vn -0.299304544926 0.655579268932 -0.693276703358 -vn -0.299391537905 0.646304905415 -0.701893627644 -vn -0.426549911499 0.661332190037 -0.617004811764 -vn -0.426549911499 0.661332190037 -0.617004811764 -vn -0.434841871262 0.650471568108 -0.622735321522 -vn -0.299304544926 0.655579268932 -0.693276703358 -vn -0.299391537905 0.646304905415 -0.701893627644 -vn -0.299304544926 0.655579268932 -0.693276703358 -vn -0.203423932195 0.523596465588 -0.827324271202 -vn -0.203423932195 0.523596465588 -0.827324271202 -vn -0.206277325749 0.496593266726 -0.843116104603 -vn -0.299391537905 0.646304905415 -0.701893627644 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.194162026048 -0.710348606110 -0.676539719105 -vn -0.194162026048 -0.710348606110 -0.676539719105 -vn -0.735097944736 -0.411521434784 -0.538777410984 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn 0.167258366942 -0.947917759418 0.271065652370 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.711521089077 -0.668513596058 0.216396108270 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.919971227646 -0.315933138132 -0.232032716274 -vn -0.711521089077 -0.668513596058 0.216396108270 -vn -0.283012300730 0.166665807366 0.944524526596 -vn -0.275574177504 0.178359404206 0.944588184357 -vn -0.309776514769 0.123586989939 0.942743241787 -vn -0.309776514769 0.123586989939 0.942743241787 -vn -0.318132579327 0.109800979495 0.941666305065 -vn -0.283012300730 0.166665807366 0.944524526596 -vn -0.820068120956 0.569231271744 0.058856066316 -vn -0.864802479744 0.500968754292 0.033867362887 -vn -0.670427143574 0.731589615345 0.123709522188 -vn -0.670427143574 0.731589615345 0.123709522188 -vn -0.609832704067 0.779186606407 0.144818082452 -vn -0.820068120956 0.569231271744 0.058856066316 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.711521089077 -0.668513596058 0.216396108270 -vn -0.151900768280 -0.824738562107 0.544731557369 -vn -0.151900768280 -0.824738562107 0.544731557369 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn 0.676929712296 0.735970973969 0.010624704883 -vn 0.462099343538 0.855638921261 -0.233122825623 -vn 0.498349219561 0.832625806332 -0.241624265909 -vn 0.498349219561 0.832625806332 -0.241624265909 -vn 0.730528593063 0.682668983936 0.017058826983 -vn 0.676929712296 0.735970973969 0.010624704883 -vn -0.394177705050 0.541026473045 0.742909312248 -vn -0.393941193819 0.551313161850 0.735434651375 -vn -0.066927298903 0.552506208420 0.830817461014 -vn -0.066927298903 0.552506208420 0.830817461014 -vn -0.067695811391 0.526292204857 0.847604751587 -vn -0.394177705050 0.541026473045 0.742909312248 -vn 0.462099343538 0.855638921261 -0.233122825623 -vn 0.265394568443 0.762436449528 -0.590132534504 -vn 0.258136868477 0.673559129238 -0.692591845989 -vn 0.258136868477 0.673559129238 -0.692591845989 -vn 0.498349219561 0.832625806332 -0.241624265909 -vn 0.462099343538 0.855638921261 -0.233122825623 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.030194981024 -0.298345863819 0.953980088234 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn 0.452018469572 -0.883442044258 -0.123326830566 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.652370274067 -0.700718224049 -0.288802653551 -vn 0.452018469572 -0.883442044258 -0.123326830566 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn 0.030194981024 -0.298345863819 0.953980088234 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn -0.506272614002 -0.212398335338 0.835807979107 -vn -0.700267732143 -0.161503911018 0.695371508598 -vn -0.700267732143 -0.161503911018 0.695371508598 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn 0.043970555067 0.986248075962 0.159315317869 -vn 0.052583612502 0.985693454742 0.160135433078 -vn -0.018820434809 0.989357590675 0.144282087684 -vn -0.018820434809 0.989357590675 0.144282087684 -vn -0.026022652164 0.988108336926 0.151541069150 -vn 0.043970555067 0.986248075962 0.159315317869 -vn 0.499433219433 0.162840068340 -0.850911021233 -vn 0.265916287899 0.192993134260 -0.944479823112 -vn 0.262357443571 0.201877102256 -0.943617641926 -vn 0.262357443571 0.201877102256 -0.943617641926 -vn 0.493813991547 0.168256774545 -0.853133857250 -vn 0.499433219433 0.162840068340 -0.850911021233 -vn 0.265916287899 0.192993134260 -0.944479823112 -vn -0.020402621478 0.125429570675 -0.991892695427 -vn -0.041227888316 0.133673071861 -0.990167558193 -vn -0.041227888316 0.133673071861 -0.990167558193 -vn 0.262357443571 0.201877102256 -0.943617641926 -vn 0.265916287899 0.192993134260 -0.944479823112 -vn -0.333152711391 0.173149183393 -0.926837980747 -vn -0.336778044701 0.156496420503 -0.928487718105 -vn -0.041227888316 0.133673071861 -0.990167558193 -vn -0.041227888316 0.133673071861 -0.990167558193 -vn -0.020402621478 0.125429570675 -0.991892695427 -vn -0.333152711391 0.173149183393 -0.926837980747 -vn -0.336778044701 0.156496420503 -0.928487718105 -vn -0.333152711391 0.173149183393 -0.926837980747 -vn -0.684160232544 -0.015572587028 -0.729165434837 -vn -0.684160232544 -0.015572587028 -0.729165434837 -vn -0.655080139637 -0.018082045019 -0.755343019962 -vn -0.336778044701 0.156496420503 -0.928487718105 -vn 0.116307489574 0.990462958813 0.073862694204 -vn -0.048381622881 0.989867806435 0.133495286107 -vn -0.040402501822 0.989431560040 0.139258161187 -vn -0.040402501822 0.989431560040 0.139258161187 -vn 0.147966638207 0.985058844090 0.088119089603 -vn 0.116307489574 0.990462958813 0.073862694204 -vn 0.228807210922 0.964297473431 0.133332878351 -vn 0.116307489574 0.990462958813 0.073862694204 -vn 0.147966638207 0.985058844090 0.088119089603 -vn 0.147966638207 0.985058844090 0.088119089603 -vn 0.233582735062 0.960899651051 0.148697659373 -vn 0.228807210922 0.964297473431 0.133332878351 -vn 0.228807210922 0.964297473431 0.133332878351 -vn 0.233582735062 0.960899651051 0.148697659373 -vn 0.134896829724 0.973662376404 0.183805242181 -vn 0.134896829724 0.973662376404 0.183805242181 -vn 0.133777290583 0.972870230675 0.188751518726 -vn 0.228807210922 0.964297473431 0.133332878351 -vn 0.134896829724 0.973662376404 0.183805242181 -vn 0.052583612502 0.985693454742 0.160135433078 -vn 0.043970555067 0.986248075962 0.159315317869 -vn 0.043970555067 0.986248075962 0.159315317869 -vn 0.133777290583 0.972870230675 0.188751518726 -vn 0.134896829724 0.973662376404 0.183805242181 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.067382998765 -0.241788670421 0.967986464500 -vn -0.327422112226 -0.238218516111 0.914355874062 -vn -0.327422112226 -0.238218516111 0.914355874062 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.327422112226 -0.238218516111 0.914355874062 -vn -0.506272614002 -0.212398335338 0.835807979107 -vn -0.506272614002 -0.212398335338 0.835807979107 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn 0.699930727482 0.270119965076 -0.661159753799 -vn 0.499433219433 0.162840068340 -0.850911021233 -vn 0.493813991547 0.168256774545 -0.853133857250 -vn 0.493813991547 0.168256774545 -0.853133857250 -vn 0.691769719124 0.281607925892 -0.664944827557 -vn 0.699930727482 0.270119965076 -0.661159753799 -vn -0.018820434809 0.989357590675 0.144282087684 -vn -0.003519654274 0.995996475220 0.089323498309 -vn 0.011763782240 0.995036125183 0.098816752434 -vn 0.011763782240 0.995036125183 0.098816752434 -vn -0.026022652164 0.988108336926 0.151541069150 -vn -0.018820434809 0.989357590675 0.144282087684 -vn 0.011763782240 0.995036125183 0.098816752434 -vn -0.003519654274 0.995996475220 0.089323498309 -vn 0.098272599280 0.988767683506 0.112609624863 -vn 0.098272599280 0.988767683506 0.112609624863 -vn 0.150311067700 0.982064425945 0.113824792206 -vn 0.011763782240 0.995036125183 0.098816752434 -vn -0.904178857803 -0.087611623108 0.418072730303 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.700267732143 -0.161503911018 0.695371508598 -vn -0.904178857803 -0.087611623108 0.418072730303 -vn -0.904178857803 -0.087611623108 0.418072730303 -vn -0.996581256390 -0.016104307026 -0.081033818424 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.904178857803 -0.087611623108 0.418072730303 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.191518172622 0.977899730206 0.083862185478 -vn 0.150311067700 0.982064425945 0.113824792206 -vn 0.098272599280 0.988767683506 0.112609624863 -vn 0.098272599280 0.988767683506 0.112609624863 -vn -0.226836472750 0.971370637417 0.070599377155 -vn -0.191518172622 0.977899730206 0.083862185478 -vn 0.849974095821 -0.094851419330 0.518215477467 -vn 0.828021049500 -0.105283483863 0.550723612309 -vn 0.994555354118 0.050949502736 0.090905636549 -vn 0.994555354118 0.050949502736 0.090905636549 -vn 0.997999727726 0.053960263729 0.032937355340 -vn 0.849974095821 -0.094851419330 0.518215477467 -vn 0.516509771347 -0.172434687614 0.838739454746 -vn 0.478259414434 -0.153687790036 0.864666402340 -vn 0.828021049500 -0.105283483863 0.550723612309 -vn 0.828021049500 -0.105283483863 0.550723612309 -vn 0.849974095821 -0.094851419330 0.518215477467 -vn 0.516509771347 -0.172434687614 0.838739454746 -vn 0.112317882478 -0.462118685246 0.879676640034 -vn 0.478259414434 -0.153687790036 0.864666402340 -vn 0.516509771347 -0.172434687614 0.838739454746 -vn 0.516509771347 -0.172434687614 0.838739454746 -vn 0.144089296460 -0.504522621632 0.851290345192 -vn 0.112317882478 -0.462118685246 0.879676640034 -vn 0.994555354118 0.050949502736 0.090905636549 -vn 0.909626424313 0.109246626496 -0.400805354118 -vn 0.902975142002 0.113141357899 -0.414529800415 -vn 0.902975142002 0.113141357899 -0.414529800415 -vn 0.997999727726 0.053960263729 0.032937355340 -vn 0.994555354118 0.050949502736 0.090905636549 -vn 0.699930727482 0.270119965076 -0.661159753799 -vn 0.691769719124 0.281607925892 -0.664944827557 -vn 0.902975142002 0.113141357899 -0.414529800415 -vn 0.902975142002 0.113141357899 -0.414529800415 -vn 0.909626424313 0.109246626496 -0.400805354118 -vn 0.699930727482 0.270119965076 -0.661159753799 -vn 0.372713238001 -0.219777032733 -0.901544749737 -vn 0.698699057102 -0.088728033006 -0.709892213345 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.372713238001 -0.219777032733 -0.901544749737 -vn 0.233587369323 0.971875846386 -0.029904913157 -vn 0.215006738901 0.976588487625 -0.006861140486 -vn 0.680514693260 0.732540011406 -0.016878856346 -vn 0.680514693260 0.732540011406 -0.016878856346 -vn 0.529358327389 0.845940232277 -0.064536072314 -vn 0.233587369323 0.971875846386 -0.029904913157 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.151900768280 -0.824738562107 0.544731557369 -vn -0.151900768280 -0.824738562107 0.544731557369 -vn 0.101197555661 -0.910763978958 0.400334864855 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn 0.220449462533 -0.944154858589 0.244895160198 -vn 0.232225567102 -0.911761343479 -0.338766276836 -vn 0.232225567102 -0.911761343479 -0.338766276836 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn 0.992116570473 -0.075684450567 0.099882952869 -vn 0.914270520210 -0.374885022640 -0.153527349234 -vn 0.932675123215 -0.328857719898 -0.148221790791 -vn 0.932675123215 -0.328857719898 -0.148221790791 -vn 0.978691160679 -0.038977265358 0.201604634523 -vn 0.992116570473 -0.075684450567 0.099882952869 -vn 0.757674992085 0.067285761237 0.649154245853 -vn 0.992116570473 -0.075684450567 0.099882952869 -vn 0.978691160679 -0.038977265358 0.201604634523 -vn 0.978691160679 -0.038977265358 0.201604634523 -vn 0.682809650898 0.058452133089 0.728254318237 -vn 0.757674992085 0.067285761237 0.649154245853 -vn 0.467002600431 -0.069905437529 0.881488382816 -vn 0.757674992085 0.067285761237 0.649154245853 -vn 0.682809650898 0.058452133089 0.728254318237 -vn 0.682809650898 0.058452133089 0.728254318237 -vn 0.469311714172 -0.101307049394 0.877202033997 -vn 0.467002600431 -0.069905437529 0.881488382816 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn 0.101197555661 -0.910763978958 0.400334864855 -vn 0.101197555661 -0.910763978958 0.400334864855 -vn 0.220449462533 -0.944154858589 0.244895160198 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn 0.461291611195 0.075415410101 -0.884037673473 -vn 0.465971797705 0.054153501987 -0.883140802383 -vn 0.452682107687 0.112095654011 -0.884597897530 -vn 0.452682107687 0.112095654011 -0.884597897530 -vn 0.448319792747 0.129651442170 -0.884420633316 -vn 0.461291611195 0.075415410101 -0.884037673473 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn 0.232225567102 -0.911761343479 -0.338766276836 -vn 0.232225567102 -0.911761343479 -0.338766276836 -vn -0.194162026048 -0.710348606110 -0.676539719105 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.168900057673 0.193152844906 0.966521978378 -vn -0.167976438999 0.232479542494 0.957985997200 -vn 0.112317882478 -0.462118685246 0.879676640034 -vn 0.112317882478 -0.462118685246 0.879676640034 -vn 0.144089296460 -0.504522621632 0.851290345192 -vn -0.168900057673 0.193152844906 0.966521978378 -vn -0.362826079130 0.288003414869 0.886234343052 -vn -0.361879914999 0.274064928293 0.891028225422 -vn -0.167976438999 0.232479542494 0.957985997200 -vn -0.167976438999 0.232479542494 0.957985997200 -vn -0.168900057673 0.193152844906 0.966521978378 -vn -0.362826079130 0.288003414869 0.886234343052 -vn -0.361879914999 0.274064928293 0.891028225422 -vn -0.362826079130 0.288003414869 0.886234343052 -vn -0.701582729816 0.307782292366 0.642691016197 -vn -0.701582729816 0.307782292366 0.642691016197 -vn -0.720118165016 0.286492228508 0.631943047047 -vn -0.361879914999 0.274064928293 0.891028225422 -vn -0.701582729816 0.307782292366 0.642691016197 -vn -0.616649746895 0.675030350685 0.405064314604 -vn -0.716325759888 0.585582971573 0.379433780909 -vn -0.716325759888 0.585582971573 0.379433780909 -vn -0.720118165016 0.286492228508 0.631943047047 -vn -0.701582729816 0.307782292366 0.642691016197 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn 0.301698088646 0.951182126999 0.065044857562 -vn 0.117949590087 0.849612355232 0.514049351215 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.247134611011 0.967952191830 0.044642847031 -vn 0.301698088646 0.951182126999 0.065044857562 -vn -0.009665114805 0.432859390974 0.901409626007 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.171455085278 0.914633154869 0.366127461195 -vn -0.009665114805 0.432859390974 0.901409626007 -vn 0.124457292259 -0.991895079613 -0.025584608316 -vn 0.003870419692 -0.997206032276 0.074600264430 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn 0.124457292259 -0.991895079613 -0.025584608316 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn 0.174129217863 -0.981105268002 -0.084329314530 -vn 0.124457292259 -0.991895079613 -0.025584608316 -vn 0.124457292259 -0.991895079613 -0.025584608316 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.212095111609 0.293082028627 0.932265281677 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.212095111609 0.293082028627 0.932265281677 -vn 0.215676337481 0.968818902969 0.121957629919 -vn -0.135806068778 0.653280317783 0.744836568832 -vn 0.117949590087 0.849612355232 0.514049351215 -vn 0.117949590087 0.849612355232 0.514049351215 -vn 0.301698088646 0.951182126999 0.065044857562 -vn 0.215676337481 0.968818902969 0.121957629919 -vn 0.116785392165 0.979833245277 0.162135779858 -vn -0.473818302155 0.648060023785 0.596250295639 -vn -0.135806068778 0.653280317783 0.744836568832 -vn -0.135806068778 0.653280317783 0.744836568832 -vn 0.215676337481 0.968818902969 0.121957629919 -vn 0.116785392165 0.979833245277 0.162135779858 -vn -0.135806068778 0.653280317783 0.744836568832 -vn -0.473818302155 0.648060023785 0.596250295639 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.135806068778 0.653280317783 0.744836568832 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn 0.180662691593 -0.977567434311 -0.108272127807 -vn 0.174129217863 -0.981105268002 -0.084329314530 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn 0.180662691593 -0.977567434311 -0.108272127807 -vn 0.102859064937 -0.983786880970 -0.146912872791 -vn 0.180662691593 -0.977567434311 -0.108272127807 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn 0.102859064937 -0.983786880970 -0.146912872791 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.186048939824 0.976999819279 0.104197762907 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.174272745848 0.962094068527 0.209771290421 -vn -0.186048939824 0.976999819279 0.104197762907 -vn -0.174272745848 0.962094068527 0.209771290421 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.093426696956 0.949718952179 0.298839986324 -vn -0.174272745848 0.962094068527 0.209771290421 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.473818302155 0.648060023785 0.596250295639 -vn 0.116785392165 0.979833245277 0.162135779858 -vn 0.116785392165 0.979833245277 0.162135779858 -vn -0.093426696956 0.949718952179 0.298839986324 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn -0.009665114805 0.432859390974 0.901409626007 -vn -0.009665114805 0.432859390974 0.901409626007 -vn -0.212095111609 0.293082028627 0.932265281677 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.079968959093 -0.996480226517 0.025141783059 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn 0.003870419692 -0.997206032276 0.074600264430 -vn -0.079968959093 -0.996480226517 0.025141783059 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn -0.079968959093 -0.996480226517 0.025141783059 -vn -0.079968959093 -0.996480226517 0.025141783059 -vn -0.059656828642 -0.984534978867 0.164717689157 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn -0.059656828642 -0.984534978867 0.164717689157 -vn -0.059656828642 -0.984534978867 0.164717689157 -vn 0.050876371562 -0.998084306717 0.035204216838 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.509252071381 -0.849297642708 0.139125302434 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.050876371562 -0.998084306717 0.035204216838 -vn 0.509252071381 -0.849297642708 0.139125302434 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.687957525253 -0.724567592144 -0.041426882148 -vn 0.090818278491 -0.972123861313 -0.216164782643 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.687957525253 -0.724567592144 -0.041426882148 -vn 0.509252071381 -0.849297642708 0.139125302434 -vn 0.687957525253 -0.724567592144 -0.041426882148 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.509252071381 -0.849297642708 0.139125302434 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.162324577570 0.904733717442 0.393837094307 -vn -0.042816758156 0.962022185326 0.269592463970 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.162324577570 0.904733717442 0.393837094307 -vn 0.248102903366 0.886689305305 0.390162765980 -vn -0.042816758156 0.962022185326 0.269592463970 -vn 0.062132738531 0.996134936810 0.062086712569 -vn 0.062132738531 0.996134936810 0.062086712569 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.062132738531 0.996134936810 0.062086712569 -vn 0.200634062290 0.979664087296 -0.002052781638 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.062132738531 0.996134936810 0.062086712569 -vn 0.210182353854 0.975235521793 0.068840667605 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.200634062290 0.979664087296 -0.002052781638 -vn 0.210182353854 0.975235521793 0.068840667605 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.210182353854 0.975235521793 0.068840667605 -vn 0.247134611011 0.967952191830 0.044642847031 -vn 0.247134611011 0.967952191830 0.044642847031 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn 0.122811011970 -0.957747161388 -0.260072857141 -vn 0.102859064937 -0.983786880970 -0.146912872791 -vn 0.102859064937 -0.983786880970 -0.146912872791 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn 0.169295936823 -0.937194883823 -0.304966658354 -vn 0.122811011970 -0.957747161388 -0.260072857141 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn 0.169295936823 -0.937194883823 -0.304966658354 -vn 0.235094085336 -0.934384286404 -0.267687737942 -vn 0.169295936823 -0.937194883823 -0.304966658354 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn 0.235094085336 -0.934384286404 -0.267687737942 -vn 0.246383532882 -0.967374920845 -0.058999452740 -vn 0.235094085336 -0.934384286404 -0.267687737942 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn 0.246383532882 -0.967374920845 -0.058999452740 -vn 0.246383532882 -0.967374920845 -0.058999452740 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn 0.297367244959 -0.937489330769 0.180794060230 -vn 0.246383532882 -0.967374920845 -0.058999452740 -vn 0.297367244959 -0.937489330769 0.180794060230 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn 0.197106972337 -0.920975387096 0.336084991693 -vn 0.297367244959 -0.937489330769 0.180794060230 -vn 0.197106972337 -0.920975387096 0.336084991693 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn -0.029394404963 -0.956659615040 0.289721101522 -vn 0.197106972337 -0.920975387096 0.336084991693 -vn -0.253509610891 -0.900861382484 0.352394223213 -vn -0.029394404963 -0.956659615040 0.289721101522 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn -0.253509610891 -0.900861382484 0.352394223213 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.248370751739 0.904884219170 -0.345682770014 -vn 0.241378128529 0.940966784954 -0.237314462662 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.248370751739 0.904884219170 -0.345682770014 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.241378128529 0.940966784954 -0.237314462662 -vn 0.241378128529 0.940966784954 -0.237314462662 -vn 0.310470491648 0.939930260181 -0.141912579536 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.097601912916 0.930599808693 -0.352785885334 -vn 0.248370751739 0.904884219170 -0.345682770014 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.227506399155 0.605743527412 -0.762440562248 -vn 0.097601912916 0.930599808693 -0.352785885334 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn -0.423191249371 -0.904291272163 0.056271243840 -vn -0.253509610891 -0.900861382484 0.352394223213 -vn -0.253509610891 -0.900861382484 0.352394223213 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn -0.280886679888 -0.956602573395 -0.077551461756 -vn -0.423191249371 -0.904291272163 0.056271243840 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn -0.280886679888 -0.956602573395 -0.077551461756 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn -0.260627955198 -0.963619589806 0.059247847646 -vn -0.280886679888 -0.956602573395 -0.077551461756 -vn -0.280886679888 -0.956602573395 -0.077551461756 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn 0.227506399155 0.605743527412 -0.762440562248 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.189719647169 0.908340811729 -0.372724354267 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.312394291162 0.933531820774 -0.175863862038 -vn -0.189719647169 0.908340811729 -0.372724354267 -vn -0.246464684606 0.969103455544 -0.009678545408 -vn -0.312394291162 0.933531820774 -0.175863862038 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.246464684606 0.969103455544 -0.009678545408 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.186048939824 0.976999819279 0.104197762907 -vn -0.246464684606 0.969103455544 -0.009678545408 -vn -0.246464684606 0.969103455544 -0.009678545408 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn 0.097601912916 0.930599808693 -0.352785885334 -vn 0.227506399155 0.605743527412 -0.762440562248 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.189719647169 0.908340811729 -0.372724354267 -vn 0.097601912916 0.930599808693 -0.352785885334 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.310470491648 0.939930260181 -0.141912579536 -vn 0.436779737473 0.895123004913 -0.089321024716 -vn 0.436779737473 0.895123004913 -0.089321024716 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.436779737473 0.895123004913 -0.089321024716 -vn 0.423305630684 0.886720836163 0.185845404863 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.436779737473 0.895123004913 -0.089321024716 -vn 0.405214011669 0.855926692486 0.321233749390 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.423305630684 0.886720836163 0.185845404863 -vn 0.405214011669 0.855926692486 0.321233749390 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.405214011669 0.855926692486 0.321233749390 -vn 0.405214011669 0.855926692486 0.321233749390 -vn 0.162324577570 0.904733717442 0.393837094307 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.090818278491 -0.972123861313 -0.216164782643 -vn -0.260627955198 -0.963619589806 0.059247847646 -vn -0.260627955198 -0.963619589806 0.059247847646 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.201083213091 0.576883137226 0.791688919067 -vn -0.009665114805 0.432859390974 0.901409626007 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn 0.117949590087 0.849612355232 0.514049351215 -vn -0.135806068778 0.653280317783 0.744836568832 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.212095111609 0.293082028627 0.932265281677 -vn 0.117949590087 0.849612355232 0.514049351215 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.473818302155 0.648060023785 0.596250295639 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.473818302155 0.648060023785 0.596250295639 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.745227813721 0.633083999157 0.209380432963 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.117949590087 0.849612355232 0.514049351215 -vn -0.212095111609 0.293082028627 0.932265281677 -vn -0.212095111609 0.293082028627 0.932265281677 -vn -0.009665114805 0.432859390974 0.901409626007 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.227506399155 0.605743527412 -0.762440562248 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.348348826170 0.555683076382 0.754896938801 -vn 0.348348826170 0.555683076382 0.754896938801 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.812033295631 0.514916896820 0.274704486132 -vn -0.258473217487 0.240610465407 0.935573697090 -vn 0.348348826170 0.555683076382 0.754896938801 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.237624734640 0.624630987644 0.743888854980 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.258473217487 0.240610465407 0.935573697090 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.258473217487 0.240610465407 0.935573697090 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.033919174224 0.761711001396 0.647028446198 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.325573593378 0.324940294027 0.887927711010 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.033919174224 0.761711001396 0.647028446198 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.033919174224 0.761711001396 0.647028446198 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.599148094654 -0.349108159542 0.720517218113 -vn 0.599148094654 -0.349108159542 0.720517218113 -vn 0.765411973000 -0.281774252653 0.578573942184 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn 0.445603191853 -0.384337395430 0.808531105518 -vn 0.445603191853 -0.384337395430 0.808531105518 -vn 0.599148094654 -0.349108159542 0.720517218113 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn 0.353177726269 -0.489298284054 0.797403693199 -vn 0.353177726269 -0.489298284054 0.797403693199 -vn 0.445603191853 -0.384337395430 0.808531105518 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn 0.349057108164 -0.704609453678 0.617806315422 -vn 0.349057108164 -0.704609453678 0.617806315422 -vn 0.353177726269 -0.489298284054 0.797403693199 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn 0.497694343328 -0.736805498600 0.457622140646 -vn 0.497694343328 -0.736805498600 0.457622140646 -vn 0.349057108164 -0.704609453678 0.617806315422 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.627989470959 -0.668266415596 0.398809760809 -vn 0.627989470959 -0.668266415596 0.398809760809 -vn 0.497694343328 -0.736805498600 0.457622140646 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.663220942020 -0.615163028240 0.426277458668 -vn 0.663220942020 -0.615163028240 0.426277458668 -vn 0.627989470959 -0.668266415596 0.398809760809 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.695339739323 -0.572090268135 0.434988915920 -vn 0.695339739323 -0.572090268135 0.434988915920 -vn 0.663220942020 -0.615163028240 0.426277458668 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.765411973000 -0.281774252653 0.578573942184 -vn 0.765411973000 -0.281774252653 0.578573942184 -vn 0.695339739323 -0.572090268135 0.434988915920 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.305796295404 0.933188319206 0.188807144761 -vn -0.576867401600 0.757517874241 -0.305598944426 -vn -0.576867401600 0.757517874241 -0.305598944426 -vn -0.718194782734 0.602012097836 -0.348966598511 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.718194782734 0.602012097836 -0.348966598511 -vn -0.718194782734 0.602012097836 -0.348966598511 -vn -0.725587606430 0.503578245640 -0.468968629837 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.725587606430 0.503578245640 -0.468968629837 -vn -0.725587606430 0.503578245640 -0.468968629837 -vn -0.789350450039 0.503757894039 -0.350932806730 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.789350450039 0.503757894039 -0.350932806730 -vn -0.789350450039 0.503757894039 -0.350932806730 -vn -0.850929498672 0.302877247334 -0.429167002439 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.850929498672 0.302877247334 -0.429167002439 -vn -0.850929498672 0.302877247334 -0.429167002439 -vn -0.628575026989 0.261088401079 -0.732616007328 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn -0.628575026989 0.261088401079 -0.732616007328 -vn -0.628575026989 0.261088401079 -0.732616007328 -vn -0.228433817625 0.366642951965 -0.901881873608 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn -0.228433817625 0.366642951965 -0.901881873608 -vn -0.228433817625 0.366642951965 -0.901881873608 -vn -0.369103759527 0.776214718819 -0.511129260063 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn -0.369103759527 0.776214718819 -0.511129260063 -vn -0.369103759527 0.776214718819 -0.511129260063 -vn -0.483243614435 0.776178956032 -0.404996097088 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn -0.305796295404 0.933188319206 0.188807144761 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn -0.483243614435 0.776178956032 -0.404996097088 -vn -0.483243614435 0.776178956032 -0.404996097088 -vn -0.576867401600 0.757517874241 -0.305598944426 -vn -0.305796295404 0.933188319206 0.188807144761 -vn 0.033919174224 0.761711001396 0.647028446198 -vn -0.305796295404 0.933188319206 0.188807144761 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.454803496599 0.485992193222 0.746301114559 -vn 0.033919174224 0.761711001396 0.647028446198 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn -0.305796295404 0.933188319206 0.188807144761 -vn -0.305796295404 0.933188319206 0.188807144761 -vn 0.033919174224 0.761711001396 0.647028446198 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.348348826170 0.555683076382 0.754896938801 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.348348826170 0.555683076382 0.754896938801 -vn -0.258473217487 0.240610465407 0.935573697090 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.348348826170 0.555683076382 0.754896938801 -vn -0.258473217487 0.240610465407 0.935573697090 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn -0.258473217487 0.240610465407 0.935573697090 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.848077535629 0.469010263681 0.246564060450 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.147346720099 0.889737486839 0.432037174702 -vn 0.069645345211 0.862430155277 0.501361846924 -vn 0.069645345211 0.862430155277 0.501361846924 -vn 0.164405122399 0.635002374649 0.754813194275 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.147346720099 0.889737486839 0.432037174702 -vn 0.018299452960 0.998276531696 0.055759474635 -vn 0.056397389621 0.973752439022 0.220511928201 -vn 0.056397389621 0.973752439022 0.220511928201 -vn 0.069645345211 0.862430155277 0.501361846924 -vn -0.147346720099 0.889737486839 0.432037174702 -vn 0.056397389621 0.973752439022 0.220511928201 -vn -0.015082026832 0.898052096367 0.439630508423 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.110619284213 0.821678519249 0.559113383293 -vn 0.069645345211 0.862430155277 0.501361846924 -vn 0.056397389621 0.973752439022 0.220511928201 -vn -0.756435573101 0.570307672024 0.320241183043 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.625884294510 0.621010959148 0.471820145845 -vn -0.756435573101 0.570307672024 0.320241183043 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.015082026832 0.898052096367 0.439630508423 -vn -0.506518363953 0.725894212723 0.465313613415 -vn -0.506518363953 0.725894212723 0.465313613415 -vn -0.625884294510 0.621010959148 0.471820145845 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.506518363953 0.725894212723 0.465313613415 -vn -0.015082026832 0.898052096367 0.439630508423 -vn 0.093329630792 0.941157698631 0.324825823307 -vn 0.093329630792 0.941157698631 0.324825823307 -vn -0.382084578276 0.771323442459 0.508990705013 -vn -0.506518363953 0.725894212723 0.465313613415 -vn -0.392548322678 0.780418395996 0.486675381660 -vn -0.382084578276 0.771323442459 0.508990705013 -vn 0.093329630792 0.941157698631 0.324825823307 -vn 0.093329630792 0.941157698631 0.324825823307 -vn 0.002175812144 0.997610270977 0.069057755172 -vn -0.392548322678 0.780418395996 0.486675381660 -vn 0.002175812144 0.997610270977 0.069057755172 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn -0.359837502241 0.773664951324 0.521497368813 -vn -0.359837502241 0.773664951324 0.521497368813 -vn -0.392548322678 0.780418395996 0.486675381660 -vn 0.002175812144 0.997610270977 0.069057755172 -vn -0.359837502241 0.773664951324 0.521497368813 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.291743457317 0.775886118412 0.559362590313 -vn -0.359837502241 0.773664951324 0.521497368813 -vn -0.202851682901 0.784742534161 0.585687935352 -vn -0.291743457317 0.775886118412 0.559362590313 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn -0.202851682901 0.784742534161 0.585687935352 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn -0.115149334073 0.801315605640 0.587055325508 -vn -0.202851682901 0.784742534161 0.585687935352 -vn -0.202851682901 0.784742534161 0.585687935352 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn 0.002175812144 0.997610270977 0.069057755172 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.002175812144 0.997610270977 0.069057755172 -vn 0.002175812144 0.997610270977 0.069057755172 -vn 0.093329630792 0.941157698631 0.324825823307 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn 0.018299452960 0.998276531696 0.055759474635 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn 0.018299452960 0.998276531696 0.055759474635 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.435292720795 -0.036885086447 -0.899533033371 -vn -0.149325296283 0.191209688783 -0.970124125481 -vn -0.149325296283 0.191209688783 -0.970124125481 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn -0.374504595995 -0.259615004063 -0.890138387680 -vn -0.435292720795 -0.036885086447 -0.899533033371 -vn -0.435292720795 -0.036885086447 -0.899533033371 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn 0.018299452960 0.998276531696 0.055759474635 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.056397389621 0.973752439022 0.220511928201 -vn 0.018299452960 0.998276531696 0.055759474635 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.093329630792 0.941157698631 0.324825823307 -vn -0.015082026832 0.898052096367 0.439630508423 -vn -0.015082026832 0.898052096367 0.439630508423 -vn 0.056397389621 0.973752439022 0.220511928201 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn -0.833009958267 0.535604238510 0.138645425439 -vn -0.353946268559 0.734738647938 0.578689157963 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.756435573101 0.570307672024 0.320241183043 -vn -0.833009958267 0.535604238510 0.138645425439 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.218308880925 0.796049535275 0.564487636089 -vn 0.164405122399 0.635002374649 0.754813194275 -vn 0.164405122399 0.635002374649 0.754813194275 -vn 0.069645345211 0.862430155277 0.501361846924 -vn -0.110619284213 0.821678519249 0.559113383293 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.164405122399 0.635002374649 0.754813194275 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.353946268559 0.734738647938 0.578689157963 -vn 0.750251233578 0.270256996155 0.603393971920 -vn -0.353946268559 0.734738647938 0.578689157963 -vn -0.457538694143 0.750161647797 0.477405369282 -vn 0.703342258930 0.225412517786 0.674165308475 -vn 0.703342258930 0.225412517786 0.674165308475 -vn 0.750251233578 0.270256996155 0.603393971920 -vn -0.353946268559 0.734738647938 0.578689157963 -vn 0.910371243954 -0.268473833799 0.314874649048 -vn 0.935766935349 -0.242188498378 0.256290793419 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.703342258930 0.225412517786 0.674165308475 -vn 0.910371243954 -0.268473833799 0.314874649048 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.935766935349 -0.242188498378 0.256290793419 -vn 0.356486141682 -0.270039647818 0.894425094128 -vn 0.356486141682 -0.270039647818 0.894425094128 -vn 0.164405122399 0.635002374649 0.754813194275 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.356486141682 -0.270039647818 0.894425094128 -vn -0.671294987202 -0.260830819607 0.693779766560 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.534322023392 0.359675824642 0.764940083027 -vn 0.164405122399 0.635002374649 0.754813194275 -vn 0.356486141682 -0.270039647818 0.894425094128 -vn 0.050975821912 0.871190190315 0.488292098045 -vn -0.147346720099 0.889737486839 0.432037174702 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.357310593128 0.236652135849 0.903506994247 -vn 0.050975821912 0.871190190315 0.488292098045 -vn -0.578328967094 -0.319814234972 0.750502765179 -vn -0.357310593128 0.236652135849 0.903506994247 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.671294987202 -0.260830819607 0.693779766560 -vn -0.578328967094 -0.319814234972 0.750502765179 -vn 0.598508119583 0.249849140644 0.761159241199 -vn 0.811512649059 -0.327733904123 0.483774423599 -vn 0.910371243954 -0.268473833799 0.314874649048 -vn 0.910371243954 -0.268473833799 0.314874649048 -vn 0.703342258930 0.225412517786 0.674165308475 -vn 0.598508119583 0.249849140644 0.761159241199 -vn 0.703342258930 0.225412517786 0.674165308475 -vn -0.457538694143 0.750161647797 0.477405369282 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.429617762566 0.848202347755 0.309808552265 -vn 0.598508119583 0.249849140644 0.761159241199 -vn 0.703342258930 0.225412517786 0.674165308475 -vn -0.842326104641 0.537471950054 -0.040131911635 -vn -0.791654765606 0.576650857925 -0.201882332563 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.457538694143 0.750161647797 0.477405369282 -vn -0.842326104641 0.537471950054 -0.040131911635 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.429713785648 0.846449017525 0.314436256886 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.598508119583 0.249849140644 0.761159241199 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.791654765606 0.576650857925 -0.201882332563 -vn -0.667831838131 0.682248771191 -0.297552168369 -vn -0.667831838131 0.682248771191 -0.297552168369 -vn -0.429713785648 0.846449017525 0.314436256886 -vn -0.429617762566 0.848202347755 0.309808552265 -vn 0.811512649059 -0.327733904123 0.483774423599 -vn 0.598508119583 0.249849140644 0.761159241199 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.607785642147 -0.416889160872 0.675869822502 -vn 0.811512649059 -0.327733904123 0.483774423599 -vn 0.607785642147 -0.416889160872 0.675869822502 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.516368031502 -0.345768600702 0.783459067345 -vn 0.607785642147 -0.416889160872 0.675869822502 -vn -0.457538694143 0.750161647797 0.477405369282 -vn -0.353946268559 0.734738647938 0.578689157963 -vn -0.833009958267 0.535604238510 0.138645425439 -vn -0.833009958267 0.535604238510 0.138645425439 -vn -0.842326104641 0.537471950054 -0.040131911635 -vn -0.457538694143 0.750161647797 0.477405369282 -vn 0.384632349014 -0.290035128593 0.876320481300 -vn -0.577897906303 -0.355524659157 0.734599351883 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.622664332390 0.454117029905 0.637233734131 -vn 0.170826375484 0.283379584551 0.943670690060 -vn 0.384632349014 -0.290035128593 0.876320481300 -vn 0.314843177795 -0.462489783764 0.828840732574 -vn 0.384632349014 -0.290035128593 0.876320481300 -vn 0.170826375484 0.283379584551 0.943670690060 -vn 0.170826375484 0.283379584551 0.943670690060 -vn -0.019885519519 0.156374439597 0.987497627735 -vn 0.314843177795 -0.462489783764 0.828840732574 -vn 0.100030563772 -0.661799669266 0.742977142334 -vn 0.314843177795 -0.462489783764 0.828840732574 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn 0.100030563772 -0.661799669266 0.742977142334 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.019895311445 -0.792612075806 0.609401524067 -vn -0.019895311445 -0.792612075806 0.609401524067 -vn 0.100030563772 -0.661799669266 0.742977142334 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn -0.019895311445 -0.792612075806 0.609401524067 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.859864592552 -0.161788597703 0.484207957983 -vn -0.859864592552 -0.161788597703 0.484207957983 -vn -0.178587734699 -0.922734260559 0.341566920280 -vn -0.019895311445 -0.792612075806 0.609401524067 -vn -0.178587734699 -0.922734260559 0.341566920280 -vn -0.859864592552 -0.161788597703 0.484207957983 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.537448406219 -0.838045239449 0.093964748085 -vn -0.178587734699 -0.922734260559 0.341566920280 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.815810859203 0.574943482876 0.062391024083 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.815810859203 0.574943482876 0.062391024083 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.815810859203 0.574943482876 0.062391024083 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn -0.224376007915 -0.046368073672 -0.973398864269 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.537448406219 -0.838045239449 0.093964748085 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.640428006649 -0.731053292751 -0.235399663448 -vn -0.537448406219 -0.838045239449 0.093964748085 -vn -0.422474920750 -0.667798876762 -0.612829148769 -vn -0.640428006649 -0.731053292751 -0.235399663448 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.422474920750 -0.667798876762 -0.612829148769 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.019885519519 0.156374439597 0.987497627735 -vn 0.170826375484 0.283379584551 0.943670690060 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.181642502546 0.885934293270 0.426762789488 -vn 0.170826375484 0.283379584551 0.943670690060 -vn 0.170826375484 0.283379584551 0.943670690060 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.424639850855 0.811399281025 0.401636928320 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.815810859203 0.574943482876 0.062391024083 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.859864592552 -0.161788597703 0.484207957983 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.914714396000 -0.397285848856 -0.073902077973 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.577897906303 -0.355524659157 0.734599351883 -vn -0.914714396000 -0.397285848856 -0.073902077973 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.914714396000 -0.397285848856 -0.073902077973 -vn -0.887782454491 -0.459931015968 -0.017485428602 -vn -0.887782454491 -0.459931015968 -0.017485428602 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.887782454491 -0.459931015968 -0.017485428602 -vn -0.834079504013 -0.535284638405 0.133348211646 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.887782454491 -0.459931015968 -0.017485428602 -vn 0.081868670881 0.901294291019 0.425401180983 -vn 0.077389903367 0.914463222027 0.397199958563 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.669492661953 0.064479798079 0.740014791489 -vn 0.081868670881 0.901294291019 0.425401180983 -vn -0.743179678917 0.068944804370 0.665530264378 -vn -0.545027732849 0.737514972687 0.398768693209 -vn 0.081868670881 0.901294291019 0.425401180983 -vn 0.081868670881 0.901294291019 0.425401180983 -vn -0.669492661953 0.064479798079 0.740014791489 -vn -0.743179678917 0.068944804370 0.665530264378 -vn 0.568133234978 0.821251451969 -0.052637834102 -vn 0.646443426609 0.759647488594 0.071039631963 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.081868670881 0.901294291019 0.425401180983 -vn 0.568133234978 0.821251451969 -0.052637834102 -vn 0.058358471841 0.816487491131 0.574406206608 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.646443426609 0.759647488594 0.071039631963 -vn 0.646443426609 0.759647488594 0.071039631963 -vn 0.630036652088 0.727832496166 0.270765095949 -vn 0.058358471841 0.816487491131 0.574406206608 -vn 0.630036652088 0.727832496166 0.270765095949 -vn 0.553945541382 0.699680268764 0.451211482286 -vn -0.097729347646 0.768430531025 0.632426679134 -vn -0.097729347646 0.768430531025 0.632426679134 -vn 0.058358471841 0.816487491131 0.574406206608 -vn 0.630036652088 0.727832496166 0.270765095949 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.097729347646 0.768430531025 0.632426679134 -vn 0.553945541382 0.699680268764 0.451211482286 -vn 0.553945541382 0.699680268764 0.451211482286 -vn 0.436596006155 0.685988366604 0.582068622112 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.254605710506 0.744727969170 0.616892397404 -vn 0.436596006155 0.685988366604 0.582068622112 -vn 0.298728913069 0.741523385048 0.600752949715 -vn 0.298728913069 0.741523385048 0.600752949715 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.936779797077 0.026538468897 0.348911702633 -vn 0.058358471841 0.816487491131 0.574406206608 -vn -0.097729347646 0.768430531025 0.632426679134 -vn -0.097729347646 0.768430531025 0.632426679134 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.097729347646 0.768430531025 0.632426679134 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.097729347646 0.768430531025 0.632426679134 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.058358471841 0.816487491131 0.574406206608 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.887424767017 0.078465610743 0.454225122929 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.081868670881 0.901294291019 0.425401180983 -vn -0.545027732849 0.737514972687 0.398768693209 -vn -0.103438951075 0.980265319347 -0.168464601040 -vn -0.103438951075 0.980265319347 -0.168464601040 -vn 0.568133234978 0.821251451969 -0.052637834102 -vn 0.081868670881 0.901294291019 0.425401180983 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.266018509865 0.937779486179 -0.223167747259 -vn -0.103438951075 0.980265319347 -0.168464601040 -vn -0.103438951075 0.980265319347 -0.168464601040 -vn -0.545027732849 0.737514972687 0.398768693209 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.545027732849 0.737514972687 0.398768693209 -vn -0.743179678917 0.068944804370 0.665530264378 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.545027732849 0.737514972687 0.398768693209 -vn -0.399299442768 -0.641792595387 0.654722988605 -vn -0.083396285772 -0.628017544746 0.773717641830 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.399299442768 -0.641792595387 0.654722988605 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.743179678917 0.068944804370 0.665530264378 -vn -0.701685905457 -0.509247004986 0.498301476240 -vn -0.701685905457 -0.509247004986 0.498301476240 -vn -0.399299442768 -0.641792595387 0.654722988605 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.030449874699 -0.613143086433 -0.789384782314 -vn -0.030449874699 -0.613143146038 -0.789384782314 -vn -0.030449876562 -0.613143146038 -0.789384782314 -vn 0.454834192991 -0.551295697689 -0.699427545071 -vn 0.454834192991 -0.551295697689 -0.699427545071 -vn 0.454834192991 -0.551295757294 -0.699427545071 -vn -0.084855884314 0.981540918350 -0.171397000551 -vn -0.182695105672 0.915379524231 0.358751714230 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.145488426089 0.976211905479 -0.160759046674 -vn -0.084855884314 0.981540918350 -0.171397000551 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.084855884314 0.981540918350 -0.171397000551 -vn -0.266018509865 0.937779486179 -0.223167747259 -vn -0.266018509865 0.937779486179 -0.223167747259 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.701685905457 -0.509247004986 0.498301476240 -vn -0.743179678917 0.068944804370 0.665530264378 -vn -0.669492661953 0.064479798079 0.740014791489 -vn -0.669492661953 0.064479798079 0.740014791489 -vn -0.714156806469 -0.585525572300 0.383588165045 -vn -0.701685905457 -0.509247004986 0.498301476240 -vn -0.714156806469 -0.585525572300 0.383588165045 -vn -0.669492661953 0.064479798079 0.740014791489 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.834079504013 -0.535284638405 0.133348211646 -vn -0.714156806469 -0.585525572300 0.383588165045 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.254605710506 0.744727969170 0.616892397404 -vn 0.483079075813 0.188845366240 -0.854969024658 -vn 0.821521222591 0.078862875700 -0.564697682858 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn 0.483079075813 0.188845366240 -0.854969024658 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.013701758347 0.829518616199 0.558310985565 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.373588293791 0.906539082527 0.196516364813 -vn 0.008125438355 0.822232007980 0.569094419479 -vn -0.013701758347 0.829518616199 0.558310985565 -vn -0.388561308384 0.831142783165 0.397771000862 -vn 0.114516958594 0.788044095039 0.604873836040 -vn 0.008125438355 0.822232007980 0.569094419479 -vn 0.008125438355 0.822232007980 0.569094419479 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.388561308384 0.831142783165 0.397771000862 -vn -0.316964924335 0.809910416603 0.493536621332 -vn 0.298728913069 0.741523385048 0.600752949715 -vn 0.114516958594 0.788044095039 0.604873836040 -vn 0.114516958594 0.788044095039 0.604873836040 -vn -0.388561308384 0.831142783165 0.397771000862 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.388561308384 0.831142783165 0.397771000862 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.388561308384 0.831142783165 0.397771000862 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.013701758347 0.829518616199 0.558310985565 -vn -0.040053065866 0.814612388611 0.578621149063 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.013701758347 0.829518616199 0.558310985565 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.483079075813 0.188845366240 -0.854969024658 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.308176785707 -0.444958806038 -0.840855956078 -vn 0.483079075813 0.188845366240 -0.854969024658 -vn 0.188442409039 -0.595347464085 -0.781057536602 -vn 0.308176785707 -0.444958806038 -0.840855956078 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn 0.188442409039 -0.595347464085 -0.781057536602 -vn 0.188442409039 -0.595347464085 -0.781057536602 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.223764970899 -0.611924827099 -0.758602142334 -vn 0.188442409039 -0.595347464085 -0.781057536602 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn 0.270638674498 -0.588777959347 -0.761639833450 -vn 0.270638674498 -0.588777959347 -0.761639833450 -vn 0.223764970899 -0.611924827099 -0.758602142334 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.270638674498 -0.588777959347 -0.761639833450 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn 0.271971881390 -0.439561158419 -0.856047511101 -vn 0.270638674498 -0.588777959347 -0.761639833450 -vn -0.115149334073 0.801315605640 0.587055325508 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.040053065866 0.814612388611 0.578621149063 -vn -0.115149334073 0.801315605640 0.587055325508 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.759460985661 -0.164043009281 -0.629530727863 -vn 0.759460985661 -0.164043009281 -0.629530727863 -vn 0.552213788033 -0.386443734169 -0.738729417324 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.821521222591 0.078862875700 -0.564697682858 -vn 0.759460985661 -0.164043009281 -0.629530727863 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn 0.821521222591 0.078862875700 -0.564697682858 -vn 0.368465006351 -0.612099230289 -0.699691414833 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.552213788033 -0.386443734169 -0.738729417324 -vn 0.368465006351 -0.612099230289 -0.699691414833 -vn 0.045121468604 -0.817973375320 -0.573483705521 -vn -0.224376007915 -0.046368073672 -0.973398864269 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn 0.368465006351 -0.612099230289 -0.699691414833 -vn 0.045121468604 -0.817973375320 -0.573483705521 -vn 0.045121468604 -0.817973375320 -0.573483705521 -vn -0.422474920750 -0.667798876762 -0.612829148769 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.224376007915 -0.046368073672 -0.973398864269 -vn 0.045121468604 -0.817973375320 -0.573483705521 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn -0.149325296283 0.191209688783 -0.970124125481 -vn 0.271971881390 -0.439561158419 -0.856047511101 -vn 0.271971881390 -0.439561158419 -0.856047511101 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.050975821912 0.871190190315 0.488292098045 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.018299452960 0.998276531696 0.055759474635 -vn 0.018299452960 0.998276531696 0.055759474635 -vn -0.147346720099 0.889737486839 0.432037174702 -vn 0.050975821912 0.871190190315 0.488292098045 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.050975821912 0.871190190315 0.488292098045 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.050975821912 0.871190190315 0.488292098045 -vn -0.357310593128 0.236652135849 0.903506994247 -vn -0.357310593128 0.236652135849 0.903506994247 -vn -0.090699143708 0.010228182189 0.995825827122 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.415789157152 0.681671321392 0.602032840252 -vn -0.090699143708 0.010228182189 0.995825827122 -vn -0.090699143708 0.010228182189 0.995825827122 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn 0.535596609116 -0.080347500741 0.840642929077 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn -0.084090135992 -0.870717883110 0.484540194273 -vn 0.535596609116 -0.080347500741 0.840642929077 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn -0.245555266738 -0.736587166786 0.630191981792 -vn -0.084090135992 -0.870717883110 0.484540194273 -vn -0.090699143708 0.010228182189 0.995825827122 -vn -0.378451079130 -0.561920762062 0.735540509224 -vn -0.245555266738 -0.736587166786 0.630191981792 -vn -0.245555266738 -0.736587166786 0.630191981792 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn -0.090699143708 0.010228182189 0.995825827122 -vn -0.357310593128 0.236652135849 0.903506994247 -vn -0.578328967094 -0.319814234972 0.750502765179 -vn -0.378451079130 -0.561920762062 0.735540509224 -vn -0.378451079130 -0.561920762062 0.735540509224 -vn -0.090699143708 0.010228182189 0.995825827122 -vn -0.357310593128 0.236652135849 0.903506994247 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.535596609116 -0.080347500741 0.840642929077 -vn -0.084090135992 -0.870717883110 0.484540194273 -vn -0.084090135992 -0.870717883110 0.484540194273 -vn 0.303251296282 -0.837280929089 0.454971790314 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.590286970139 -0.797087967396 0.127326473594 -vn 0.934182822704 -0.324974685907 0.147288635373 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.303251296282 -0.837280929089 0.454971790314 -vn 0.590286970139 -0.797087967396 0.127326473594 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.934182822704 -0.324974685907 0.147288635373 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.934182822704 -0.324974685907 0.147288635373 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.590286970139 -0.797087967396 0.127326473594 -vn 0.538265943527 -0.756090760231 -0.372285634279 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.934182822704 -0.324974685907 0.147288635373 -vn 0.590286970139 -0.797087967396 0.127326473594 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.433138728142 -0.448282390833 -0.781942307949 -vn -0.007061770186 -0.825218200684 -0.564769864082 -vn -0.007061770186 -0.825218200684 -0.564769864082 -vn -0.285020858049 -0.719945371151 -0.632804691792 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.433138728142 -0.448282390833 -0.781942307949 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.433138728142 -0.448282390833 -0.781942307949 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn -0.285020858049 -0.719945371151 -0.632804691792 -vn -0.264134556055 -0.500071525574 -0.824718952179 -vn -0.264134556055 -0.500071525574 -0.824718952179 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.143064171076 0.886963069439 0.439123153687 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.203395426273 0.839035332203 0.504628598690 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.313882619143 0.163946226239 0.935200154781 -vn -0.429713785648 0.846449017525 0.314436256886 -vn 0.203395426273 0.839035332203 0.504628598690 -vn 0.203395426273 0.839035332203 0.504628598690 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.313882619143 0.163946226239 0.935200154781 -vn -0.046772319824 0.986538410187 -0.156698241830 -vn 0.145488426089 0.976211905479 -0.160759046674 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.203395426273 0.839035332203 0.504628598690 -vn -0.046772319824 0.986538410187 -0.156698241830 -vn -0.429713785648 0.846449017525 0.314436256886 -vn -0.667831838131 0.682248771191 -0.297552168369 -vn -0.046772319824 0.986538410187 -0.156698241830 -vn -0.046772319824 0.986538410187 -0.156698241830 -vn 0.203395426273 0.839035332203 0.504628598690 -vn -0.429713785648 0.846449017525 0.314436256886 -vn 0.286178618670 -0.536495864391 0.793897986412 -vn 0.516368031502 -0.345768600702 0.783459067345 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.286178618670 -0.536495864391 0.793897986412 -vn -0.083396285772 -0.628017544746 0.773717641830 -vn 0.286178618670 -0.536495864391 0.793897986412 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.083396285772 -0.628017544746 0.773717641830 -vn -0.374504595995 -0.259615004063 -0.890138387680 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn -0.264134556055 -0.500071525574 -0.824718952179 -vn -0.374504595995 -0.259615004063 -0.890138387680 -vn -0.007061770186 -0.825218200684 -0.564769864082 -vn 0.433138728142 -0.448282390833 -0.781942307949 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.538265943527 -0.756090760231 -0.372285634279 -vn -0.007061770186 -0.825218200684 -0.564769864082 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.775661766529 -0.398030877113 -0.489816576242 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn 0.775661766529 -0.398030877113 -0.489816576242 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.330751955509 -0.411549597979 0.849252641201 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn 0.330751955509 -0.411549597979 0.849252641201 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn 0.775661766529 -0.398030877113 -0.489816576242 -vn 0.775661766529 -0.398030877113 -0.489816576242 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn 0.330751955509 -0.411549597979 0.849252641201 -vn 0.330751955509 -0.411549597979 0.849252641201 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn -0.593118011951 -0.667791306973 -0.449739724398 -vn -0.593118011951 -0.667791306973 -0.449739724398 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.829526424408 0.541623890400 0.136123031378 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn 0.950541198254 -0.306927442551 0.047613322735 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.843217432499 -0.417677789927 -0.338422268629 -vn 0.950541198254 -0.306927442551 0.047613322735 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.248923435807 -0.588823974133 0.768975555897 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.176717445254 -0.092994883657 0.979858636856 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.067010790110 0.193234190345 0.978861629963 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.564102113247 0.009641343728 0.825648725033 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.227151930332 0.082373514771 0.970369338989 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn 0.176717445254 -0.092994883657 0.979858636856 -vn 0.227151930332 0.082373514771 0.970369338989 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn 0.145574510098 0.222784399986 -0.963937342167 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.145574510098 0.222784399986 -0.963937342167 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.348919451237 0.080806083977 0.933662474155 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.154252499342 -0.124288119376 0.980182945728 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.154252499342 -0.124288119376 0.980182945728 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn 0.120366461575 -0.507115423679 -0.853431820869 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.355505973101 -0.143865868449 -0.923535645008 -vn 0.326625823975 -0.538841307163 -0.776508629322 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.355505973101 -0.143865868449 -0.923535645008 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.326625823975 -0.538841307163 -0.776508629322 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn -0.590411484241 0.405412644148 0.697893142700 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn 0.154252499342 -0.124288119376 0.980182945728 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.389436155558 -0.407782554626 0.825864911079 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.590411484241 0.405412644148 0.697893142700 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.147857800126 -0.099749833345 0.983965456486 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.236986622214 0.101993352175 0.966144263744 -vn 0.120366461575 -0.507115423679 -0.853431820869 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn 0.120366461575 -0.507115423679 -0.853431820869 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn 0.120366461575 -0.507115423679 -0.853431820869 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.544952988625 -0.759176731110 -0.355916976929 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.544952988625 -0.759176731110 -0.355916976929 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.903819084167 -0.127298012376 -0.408541679382 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.496666043997 -0.462730199099 0.734304845333 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.496666043997 -0.462730199099 0.734304845333 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.239223495126 -0.067995756865 0.968580782413 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.496666043997 -0.462730199099 0.734304845333 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn 0.496666043997 -0.462730199099 0.734304845333 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.239223495126 -0.067995756865 0.968580782413 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.457300573587 -0.591948747635 -0.663681268692 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.027110569179 -0.011936810799 -0.999561190605 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.027110569179 -0.011936810799 -0.999561190605 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.457300573587 -0.591948747635 -0.663681268692 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn 0.239223495126 -0.067995756865 0.968580782413 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.457300573587 -0.591948747635 -0.663681268692 -vn -0.457300573587 -0.591948747635 -0.663681268692 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn -0.085905134678 0.072124846280 0.993689239025 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn -0.085905134678 0.072124846280 0.993689239025 -vn -0.203997373581 0.026348058134 0.978616833687 -vn 0.239223495126 -0.067995756865 0.968580782413 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.407826662064 -0.263833075762 0.874110698700 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.407826662064 -0.263833075762 0.874110698700 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn -0.027110569179 -0.011936810799 -0.999561190605 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.058739125729 0.414347767830 0.908221125603 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.058739125729 0.414347767830 0.908221125603 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.062123641372 -0.885799050331 0.459892094135 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.062123641372 -0.885799050331 0.459892094135 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.407826662064 -0.263833075762 0.874110698700 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.407826662064 -0.263833075762 0.874110698700 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.576891720295 -0.135861605406 0.805442452431 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.033008869737 0.924311041832 -0.380209892988 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.411596596241 0.156486570835 0.897830843925 -vn -0.087292499840 0.331456899643 0.939423382282 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.232292786241 0.148990094662 0.961167037487 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn 0.411596596241 0.156486570835 0.897830843925 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.647573769093 0.433242529631 0.626856565475 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.899324655533 0.257733941078 -0.353253960609 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.899324655533 0.257733941078 -0.353253960609 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.637821733952 0.488461166620 -0.595473885536 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.663576424122 0.494282841682 -0.561561048031 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.839950859547 0.531240165234 0.110753878951 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.659432172775 0.712318539619 0.240315511823 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.112411670387 0.934677660465 0.337255597115 -vn -0.387950241566 0.306505471468 0.869223237038 -vn -0.387950241566 0.306505471468 0.869223237038 -vn 0.132363051176 0.588919281960 0.797279179096 -vn 0.370204120874 0.758121490479 0.536843240261 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.893771290779 0.433860689402 0.113744199276 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.893771290779 0.433860689402 0.113744199276 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.388772368431 0.459267735481 0.798704683781 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.139534607530 0.974310278893 0.176775634289 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.015306836925 0.932955980301 0.359664946795 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.015306836925 0.932955980301 0.359664946795 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn -0.052991427481 0.783603668213 -0.618996977806 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.845744073391 -0.529137194157 0.068780913949 -vn -0.841082036495 -0.539783477783 0.034854743630 -vn -0.841082036495 -0.539783477783 0.034854743630 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.841082036495 -0.539783477783 0.034854743630 -vn -0.841082036495 -0.539783477783 0.034854743630 -vn -0.831635236740 -0.554599404335 -0.028325177729 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.475282013416 -0.870118498802 0.130387231708 -vn -0.482255339622 -0.870516359806 0.098138004541 -vn -0.482255339622 -0.870516359806 0.098138004541 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.482255339622 -0.870516359806 0.098138004541 -vn -0.482255339622 -0.870516359806 0.098138004541 -vn -0.468870520592 -0.880146622658 0.074178211391 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.375852286816 -0.924159824848 0.068291187286 -vn -0.375852286816 -0.924159824848 0.068291187286 -vn -0.475282013416 -0.870118498802 0.130387231708 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.478329122066 -0.718357503414 -0.505137383938 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.478329122066 -0.718357503414 -0.505137383938 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.478329122066 -0.718357503414 -0.505137383938 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.899324655533 0.257733941078 -0.353253960609 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.899324655533 0.257733941078 -0.353253960609 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.576891720295 -0.135861605406 0.805442452431 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.576891720295 -0.135861605406 0.805442452431 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.284909248352 -0.955779790878 0.072881773114 -vn -0.428062021732 -0.867399811745 0.253733038902 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.284909248352 -0.955779790878 0.072881773114 -vn -0.644596397877 -0.704937696457 0.295902520418 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.428062021732 -0.867399811745 0.253733038902 -vn -0.644596397877 -0.704937696457 0.295902520418 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.644596397877 -0.704937696457 0.295902520418 -vn -0.644596397877 -0.704937696457 0.295902520418 -vn -0.805738449097 -0.547442436218 0.226036131382 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn -0.813467323780 -0.562431871891 -0.148126035929 -vn -0.813467323780 -0.562431871891 -0.148126035929 -vn -0.649726748466 -0.700721383095 -0.294694274664 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.801894485950 -0.583262145519 -0.129501029849 -vn -0.813467323780 -0.562431871891 -0.148126035929 -vn -0.813467323780 -0.562431871891 -0.148126035929 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.826602876186 -0.557232499123 -0.078864529729 -vn -0.801894485950 -0.583262145519 -0.129501029849 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.826602876186 -0.557232499123 -0.078864529729 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.367894500494 -0.700198650360 -0.611862301826 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.367894500494 -0.700198650360 -0.611862301826 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.367894500494 -0.700198650360 -0.611862301826 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.805738449097 -0.547442436218 0.226036131382 -vn -0.829879522324 -0.541816174984 0.133173540235 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.805738449097 -0.547442436218 0.226036131382 -vn -0.845744073391 -0.529137194157 0.068780913949 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.829879522324 -0.541816174984 0.133173540235 -vn -0.845744073391 -0.529137194157 0.068780913949 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.296743154526 -0.755670011044 0.583871841431 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn 0.296743154526 -0.755670011044 0.583871841431 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn 0.296743154526 -0.755670011044 0.583871841431 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.296743154526 -0.755670011044 0.583871841431 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn 0.248923435807 -0.588823974133 0.768975555897 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.704343855381 -0.707138836384 -0.062083810568 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.636359751225 -0.637431919575 -0.434427082539 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.704343855381 -0.707138836384 -0.062083810568 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.636359751225 -0.637431919575 -0.434427082539 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.704343855381 -0.707138836384 -0.062083810568 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.636359751225 -0.637431919575 -0.434427082539 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.593118011951 -0.667791306973 -0.449739724398 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn -0.593118011951 -0.667791306973 -0.449739724398 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn 0.829526424408 0.541623890400 0.136123031378 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.829526424408 0.541623890400 0.136123031378 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.829526424408 0.541623890400 0.136123031378 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.829526424408 0.541623890400 0.136123031378 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.843217432499 -0.417677789927 -0.338422268629 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.950541198254 -0.306927442551 0.047613322735 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.937725424767 0.113176889718 -0.328423529863 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.948226809502 0.311464130878 0.062097102404 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.948226809502 0.311464130878 0.062097102404 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.937725424767 0.113176889718 -0.328423529863 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.948226809502 0.311464130878 0.062097102404 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.937725424767 0.113176889718 -0.328423529863 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.937725424767 0.113176889718 -0.328423529863 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.105665363371 -0.365992993116 -0.924599349499 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.105665363371 -0.365992993116 -0.924599349499 -vn 0.105665363371 -0.365992993116 -0.924599349499 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.948226809502 0.311464130878 0.062097102404 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.348919451237 0.080806083977 0.933662474155 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.348919451237 0.080806083977 0.933662474155 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.348919451237 0.080806083977 0.933662474155 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn 0.067010790110 0.193234190345 0.978861629963 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.067010790110 0.193234190345 0.978861629963 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.709767401218 0.168196678162 0.684061467648 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.709767401218 0.168196678162 0.684061467648 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.709767401218 0.168196678162 0.684061467648 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.709767401218 0.168196678162 0.684061467648 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.389436155558 -0.407782554626 0.825864911079 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.339029431343 0.284355103970 0.896772682667 -vn 0.067010790110 0.193234190345 0.978861629963 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.339029431343 0.284355103970 0.896772682667 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.867050588131 -0.340229004622 0.363960862160 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.867050588131 -0.340229004622 0.363960862160 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.867050588131 -0.340229004622 0.363960862160 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.636359751225 -0.637431919575 -0.434427082539 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.704343855381 -0.707138836384 -0.062083810568 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.248923435807 -0.588823974133 0.768975555897 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.831635236740 -0.554599404335 -0.028325177729 -vn -0.826602876186 -0.557232499123 -0.078864529729 -vn -0.826602876186 -0.557232499123 -0.078864529729 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.417517900467 -0.904517471790 -0.086757712066 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.649726748466 -0.700721383095 -0.294694274664 -vn -0.417517900467 -0.904517471790 -0.086757712066 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.375210881233 -0.925834357738 -0.045249074697 -vn -0.284909248352 -0.955779790878 0.072881773114 -vn -0.284909248352 -0.955779790878 0.072881773114 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.424531817436 -0.905397713184 0.005259912461 -vn -0.375210881233 -0.925834357738 -0.045249074697 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.424531817436 -0.905397713184 0.005259912461 -vn -0.444202423096 -0.895280957222 0.034002799541 -vn -0.424531817436 -0.905397713184 0.005259912461 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.964247941971 -0.187405601144 0.187363326550 -vn -0.444202423096 -0.895280957222 0.034002799541 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.964247941971 -0.187405601144 0.187363326550 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.964247941971 -0.187405601144 0.187363326550 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.618783295155 -0.420402556658 -0.663603007793 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.618783295155 -0.420402556658 -0.663603007793 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.478329122066 -0.718357503414 -0.505137383938 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.618783295155 -0.420402556658 -0.663603007793 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.618783295155 -0.420402556658 -0.663603007793 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.468870520592 -0.880146622658 0.074178211391 -vn -0.448362886906 -0.891751825809 0.061232645065 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.468870520592 -0.880146622658 0.074178211391 -vn -0.444202423096 -0.895280957222 0.034002799541 -vn -0.964247941971 -0.187405601144 0.187363326550 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.448362886906 -0.891751825809 0.061232645065 -vn -0.444202423096 -0.895280957222 0.034002799541 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.388772368431 0.459267735481 0.798704683781 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.388772368431 0.459267735481 0.798704683781 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.388772368431 0.459267735481 0.798704683781 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.655620634556 0.408538043499 0.635026156902 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.655620634556 0.408538043499 0.635026156902 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.227597177029 0.752148985863 0.618442714214 -vn 0.133595734835 0.780554592609 0.610644459724 -vn 0.133595734835 0.780554592609 0.610644459724 -vn -0.087493650615 0.818190336227 0.568251192570 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.087493650615 0.818190336227 0.568251192570 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.087493650615 0.818190336227 0.568251192570 -vn 0.133595734835 0.780554592609 0.610644459724 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.224660709500 0.880128324032 0.418212532997 -vn -0.087493650615 0.818190336227 0.568251192570 -vn -0.015306836925 0.932955980301 0.359664946795 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.087493650615 0.818190336227 0.568251192570 -vn -0.087493650615 0.818190336227 0.568251192570 -vn 0.224660709500 0.880128324032 0.418212532997 -vn -0.015306836925 0.932955980301 0.359664946795 -vn 0.224660709500 0.880128324032 0.418212532997 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.224660709500 0.880128324032 0.418212532997 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn -0.015306836925 0.932955980301 0.359664946795 -vn 0.224660709500 0.880128324032 0.418212532997 -vn 0.224660709500 0.880128324032 0.418212532997 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.731158316135 0.601349055767 -0.322159647942 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.731158316135 0.601349055767 -0.322159647942 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.731158316135 0.601349055767 -0.322159647942 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.052991427481 0.783603668213 -0.618996977806 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn -0.052991427481 0.783603668213 -0.618996977806 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.121029257774 -0.027293033898 -0.992273628712 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.121029257774 -0.027293033898 -0.992273628712 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.349258631468 0.184622913599 -0.918658137321 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn 0.121029257774 -0.027293033898 -0.992273628712 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn 0.121029257774 -0.027293033898 -0.992273628712 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.349258631468 0.184622913599 -0.918658137321 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.938371777534 -0.282592266798 -0.198997437954 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.938371777534 -0.282592266798 -0.198997437954 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.859216272831 0.509000778198 -0.051629338413 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.655620634556 0.408538043499 0.635026156902 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.859216272831 0.509000778198 -0.051629338413 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.220427542925 0.888312995434 0.402879327536 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.655620634556 0.408538043499 0.635026156902 -vn -0.671189248562 0.679710924625 0.295800745487 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.133595734835 0.780554592609 0.610644459724 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.220427542925 0.888312995434 0.402879327536 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.133595734835 0.780554592609 0.610644459724 -vn 0.133595734835 0.780554592609 0.610644459724 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.731158316135 0.601349055767 -0.322159647942 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.869419932365 0.084259010851 -0.486836105585 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.938371777534 -0.282592266798 -0.198997437954 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.869419932365 0.084259010851 -0.486836105585 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.663576424122 0.494282841682 -0.561561048031 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.869419932365 0.084259010851 -0.486836105585 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.663576424122 0.494282841682 -0.561561048031 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.938371777534 -0.282592266798 -0.198997437954 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.637821733952 0.488461166620 -0.595473885536 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.686485171318 0.092494286597 -0.721237063408 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.663576424122 0.494282841682 -0.561561048031 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.637821733952 0.488461166620 -0.595473885536 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.686485171318 0.092494286597 -0.721237063408 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.869419932365 0.084259010851 -0.486836105585 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.637821733952 0.488461166620 -0.595473885536 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.686485171318 0.092494286597 -0.721237063408 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn 0.329149395227 -0.467716008425 -0.820306301117 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.686485171318 0.092494286597 -0.721237063408 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.329149395227 -0.467716008425 -0.820306301117 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.329149395227 -0.467716008425 -0.820306301117 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.941307663918 0.022298494354 -0.336812436581 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn 0.329149395227 -0.467716008425 -0.820306301117 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.941307663918 0.022298494354 -0.336812436581 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.325470060110 0.351604342461 -0.877749204636 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.325470060110 0.351604342461 -0.877749204636 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn 0.325470060110 0.351604342461 -0.877749204636 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.922906994820 -0.375173211098 -0.086531668901 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.903819084167 -0.127298012376 -0.408541679382 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.922906994820 -0.375173211098 -0.086531668901 -vn 0.903819084167 -0.127298012376 -0.408541679382 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn 0.325470060110 0.351604342461 -0.877749204636 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.941307663918 0.022298494354 -0.336812436581 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.941307663918 0.022298494354 -0.336812436581 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.080189734697 0.994042217731 0.073822200298 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.080189734697 0.994042217731 0.073822200298 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.080189734697 0.994042217731 0.073822200298 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.132539749146 0.945317745209 0.298005938530 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.132539749146 0.945317745209 0.298005938530 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.012269859202 0.997172594070 0.074136719108 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn 0.033008869737 0.924311041832 -0.380209892988 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.033008869737 0.924311041832 -0.380209892988 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.080189734697 0.994042217731 0.073822200298 -vn 0.012269859202 0.997172594070 0.074136719108 -vn -0.204309478402 0.943660676479 0.260311752558 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.132539749146 0.945317745209 0.298005938530 -vn -0.204309478402 0.943660676479 0.260311752558 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.785289108753 0.476154029369 -0.395725131035 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.437514305115 0.716767847538 -0.542977988720 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.785289108753 0.476154029369 -0.395725131035 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn 0.033008869737 0.924311041832 -0.380209892988 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.437514305115 0.716767847538 -0.542977988720 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.785289108753 0.476154029369 -0.395725131035 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.437514305115 0.716767847538 -0.542977988720 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.893771290779 0.433860689402 0.113744199276 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.893771290779 0.433860689402 0.113744199276 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.411217749119 0.406187385321 0.816034138203 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.411217749119 0.406187385321 0.816034138203 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.263727605343 0.610503315926 0.746815502644 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.020327450708 0.685757458210 0.727546215057 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.132363051176 0.588919281960 0.797279179096 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.253069043159 0.614814400673 0.746966719627 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.660578846931 0.637442171574 0.396614521742 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.660578846931 0.637442171574 0.396614521742 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.660578846931 0.637442171574 0.396614521742 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.112411670387 0.934677660465 0.337255597115 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.112411670387 0.934677660465 0.337255597115 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn -0.047376774251 0.985158741474 0.164977937937 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn -0.408763051033 0.858367443085 0.310029268265 -vn 0.112411670387 0.934677660465 0.337255597115 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn -0.047376774251 0.985158741474 0.164977937937 -vn -0.408763051033 0.858367443085 0.310029268265 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.029441878200 0.010064356960 0.999515831470 -vn -0.035715855658 0.282992452383 0.958456933498 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.029441878200 0.010064356960 0.999515831470 -vn -0.050312381238 0.219402447343 0.974336326122 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.169710069895 0.354005783796 0.919716477394 -vn -0.035715855658 0.282992452383 0.958456933498 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.035715855658 0.282992452383 0.958456933498 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn -0.085905134678 0.072124846280 0.993689239025 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn 0.058739125729 0.414347767830 0.908221125603 -vn 0.075094878674 0.432029217482 0.898727715015 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.085905134678 0.072124846280 0.993689239025 -vn 0.058739125729 0.414347767830 0.908221125603 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.035715855658 0.282992452383 0.958456933498 -vn -0.035715855658 0.282992452383 0.958456933498 -vn 0.029441878200 0.010064356960 0.999515831470 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.263161271811 0.103435955942 0.959190905094 -vn 0.029441878200 0.010064356960 0.999515831470 -vn 0.029441878200 0.010064356960 0.999515831470 -vn 0.135830074549 -0.343074232340 0.929435431957 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.135830074549 -0.343074232340 0.929435431957 -vn 0.029441878200 0.010064356960 0.999515831470 -vn 0.029441878200 0.010064356960 0.999515831470 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.135830074549 -0.343074232340 0.929435431957 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.453169703484 0.481266558170 0.750346422195 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn 0.135830074549 -0.343074232340 0.929435431957 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.839950859547 0.531240165234 0.110753878951 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.839950859547 0.531240165234 0.110753878951 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.859216272831 0.509000778198 -0.051629338413 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.859216272831 0.509000778198 -0.051629338413 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.785289108753 0.476154029369 -0.395725131035 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.839950859547 0.531240165234 0.110753878951 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.660578846931 0.637442171574 0.396614521742 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.660578846931 0.637442171574 0.396614521742 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.220427542925 0.888312995434 0.402879327536 -vn -0.204309478402 0.943660676479 0.260311752558 -vn 0.132539749146 0.945317745209 0.298005938530 -vn 0.132539749146 0.945317745209 0.298005938530 -vn 0.179308205843 0.861584722996 0.474889785051 -vn -0.220427542925 0.888312995434 0.402879327536 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.220427542925 0.888312995434 0.402879327536 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.204309478402 0.943660676479 0.260311752558 -vn -0.220427542925 0.888312995434 0.402879327536 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.408763051033 0.858367443085 0.310029268265 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.408763051033 0.858367443085 0.310029268265 -vn 0.112411670387 0.934677660465 0.337255597115 -vn -0.408763051033 0.858367443085 0.310029268265 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.387950241566 0.306505471468 0.869223237038 -vn 0.112411670387 0.934677660465 0.337255597115 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.576891720295 -0.135861605406 0.805442452431 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.062123641372 -0.885799050331 0.459892094135 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.062123641372 -0.885799050331 0.459892094135 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.218373641372 -0.969438731670 0.111810170114 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn -0.218373641372 -0.969438731670 0.111810170114 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.218373641372 -0.969438731670 0.111810170114 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.218373641372 -0.969438731670 0.111810170114 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn -0.085905134678 0.072124846280 0.993689239025 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.058739125729 0.414347767830 0.908221125603 -vn -0.085905134678 0.072124846280 0.993689239025 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn -0.027110569179 -0.011936810799 -0.999561190605 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.147857800126 -0.099749833345 0.983965456486 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.544952988625 -0.759176731110 -0.355916976929 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.544952988625 -0.759176731110 -0.355916976929 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.147857800126 -0.099749833345 0.983965456486 -vn -0.147857800126 -0.099749833345 0.983965456486 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.735418856144 0.087225042284 0.671975374222 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.154252499342 -0.124288119376 0.980182945728 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn 0.067010790110 0.193234190345 0.978861629963 -vn 0.196217641234 0.079919569194 0.977298080921 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.590411484241 0.405412644148 0.697893142700 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.339029431343 0.284355103970 0.896772682667 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.355505973101 -0.143865868449 -0.923535645008 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn 0.176717445254 -0.092994883657 0.979858636856 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn 0.145574510098 0.222784399986 -0.963937342167 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.176717445254 -0.092994883657 0.979858636856 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.367894500494 -0.700198650360 -0.611862301826 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.105665363371 -0.365992993116 -0.924599349499 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.087292499840 0.331456899643 0.939423382282 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.505942106247 0.540051519871 0.672582268715 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn -0.437514305115 0.716767847538 -0.542977988720 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.047376774251 0.985158741474 0.164977937937 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.408763051033 0.858367443085 0.310029268265 -vn -0.047376774251 0.985158741474 0.164977937937 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.369516134262 0.895232856274 0.249030083418 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.369516134262 0.895232856274 0.249030083418 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.369516134262 0.895232856274 0.249030083418 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.534430682659 0.838877797127 0.103285685182 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn 0.145574510098 0.222784399986 -0.963937342167 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.647573769093 0.433242529631 0.626856565475 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.087292499840 0.331456899643 0.939423382282 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.369516134262 0.895232856274 0.249030083418 -vn -0.387950241566 0.306505471468 0.869223237038 -vn -0.560695827007 0.078877851367 0.824256300926 -vn 0.132363051176 0.588919281960 0.797279179096 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.323057621717 -0.945225358009 -0.046719886363 -vn -0.375852286816 -0.924159824848 0.068291187286 -vn -0.375852286816 -0.924159824848 0.068291187286 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.387950241566 0.306505471468 0.869223237038 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.417517900467 -0.904517471790 -0.086757712066 -vn -0.417517900467 -0.904517471790 -0.086757712066 -vn -0.323057621717 -0.945225358009 -0.046719886363 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.052991427481 0.783603668213 -0.618996977806 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.866396248341 0.034091062844 -0.498192071915 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.866396248341 0.034091062844 -0.498192071915 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.866396248341 0.034091062844 -0.498192071915 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.843217432499 -0.417677789927 -0.338422268629 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.950541198254 -0.306927442551 0.047613322735 -vn 0.843217432499 -0.417677789927 -0.338422268629 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn -0.253069043159 0.614814400673 0.746966719627 -vn 0.132363051176 0.588919281960 0.797279179096 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.647573769093 0.433242529631 0.626856565475 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.647573769093 0.433242529631 0.626856565475 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.411217749119 0.406187385321 0.816034138203 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.411217749119 0.406187385321 0.816034138203 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.457814812660 0.521315336227 0.720163822174 -vn 0.132363051176 0.588919281960 0.797279179096 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.349258631468 0.184622913599 -0.918658137321 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.349258631468 0.184622913599 -0.918658137321 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.866396248341 0.034091062844 -0.498192071915 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.204309478402 0.943660676479 0.260311752558 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.903819084167 -0.127298012376 -0.408541679382 -vn 0.922906994820 -0.375173211098 -0.086531668901 -vn 0.922906994820 -0.375173211098 -0.086531668901 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.326625823975 -0.538841307163 -0.776508629322 -vn 0.355505973101 -0.143865868449 -0.923535645008 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.326625823975 -0.538841307163 -0.776508629322 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.389436155558 -0.407782554626 0.825864911079 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.590411484241 0.405412644148 0.697893142700 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.735418856144 0.087225042284 0.671975374222 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.867050588131 -0.340229004622 0.363960862160 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.881415486336 0.472221165895 0.010672469623 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn 0.248923435807 -0.588823974133 0.768975555897 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.631175696850 0.324559658766 0.704470157623 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.182598531246 0.715381562710 0.674453139305 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.631175696850 0.324559658766 0.704470157623 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.074762940407 0.203222677112 0.976274073124 -vn 0.485629320145 0.230432748795 0.843246638775 -vn 0.485629320145 0.230432748795 0.843246638775 -vn -0.182598531246 0.715381562710 0.674453139305 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.074762940407 0.203222677112 0.976274073124 -vn 0.283379137516 0.492464959621 0.822906136513 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.485629320145 0.230432748795 0.843246638775 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn 0.373320966959 0.424053817987 0.825111985207 -vn 0.373320966959 0.424053817987 0.825111985207 -vn 0.283379137516 0.492464959621 0.822906136513 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn 0.204573646188 -0.914748191833 0.348404049873 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.204573646188 -0.914748191833 0.348404049873 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.131599500775 0.737507283688 0.662393093109 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.131599500775 0.737507283688 0.662393093109 -vn -0.141477271914 0.989577353001 0.026847619563 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.083596318960 0.705422341824 0.703840136528 -vn -0.109330229461 0.941514909267 0.318742185831 -vn 0.421047270298 0.334669202566 0.843039572239 -vn 0.421047270298 0.334669202566 0.843039572239 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.083596318960 0.705422341824 0.703840136528 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.109330229461 0.941514909267 0.318742185831 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.083596318960 0.705422341824 0.703840136528 -vn -0.242646485567 0.968250751495 0.060110073537 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn 0.448826909065 0.613783061504 0.649480342865 -vn 0.131599500775 0.737507283688 0.662393093109 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.448826909065 0.613783061504 0.649480342865 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn -0.141477271914 0.989577353001 0.026847619563 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.348152428865 0.870052337646 -0.348996847868 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn -0.141477271914 0.989577353001 0.026847619563 -vn 0.131599500775 0.737507283688 0.662393093109 -vn 0.131599500775 0.737507283688 0.662393093109 -vn 0.448826909065 0.613783061504 0.649480342865 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.448826909065 0.613783061504 0.649480342865 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.714554429054 0.667727410793 0.208691373467 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.714554429054 0.667727410793 0.208691373467 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.714554429054 0.667727410793 0.208691373467 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.204573646188 -0.914748191833 0.348404049873 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.204573646188 -0.914748191833 0.348404049873 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.943861186504 -0.260932624340 -0.202583923936 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.943861186504 -0.260932624340 -0.202583923936 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.188408941031 0.017793446779 0.981929481030 -vn 0.119672834873 0.101008400321 0.987661719322 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.306055247784 -0.144851490855 0.940929472446 -vn 0.188408941031 0.017793446779 0.981929481030 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.119672834873 0.101008400321 0.987661719322 -vn 0.188408941031 0.017793446779 0.981929481030 -vn 0.188408941031 0.017793446779 0.981929481030 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.461953103542 0.098662018776 0.881399512291 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.701901853085 0.564634799957 0.434190422297 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.461953103542 0.098662018776 0.881399512291 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.354700446129 0.034820698202 0.934331357479 -vn 0.119672834873 0.101008400321 0.987661719322 -vn 0.119672834873 0.101008400321 0.987661719322 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.306055247784 -0.144851490855 0.940929472446 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.188408941031 0.017793446779 0.981929481030 -vn -0.306055247784 -0.144851490855 0.940929472446 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.188408941031 0.017793446779 0.981929481030 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.314111679792 0.058616135269 0.947574794292 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn 0.027125038207 0.236739024520 0.971194565296 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.206207558513 0.036233242601 0.977837204933 -vn 0.027125038207 0.236739024520 0.971194565296 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn -0.206207558513 0.036233242601 0.977837204933 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.714853286743 -0.650683462620 0.256116777658 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.714853286743 -0.650683462620 0.256116777658 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.701901853085 0.564634799957 0.434190422297 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.701901853085 0.564634799957 0.434190422297 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.701901853085 0.564634799957 0.434190422297 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.092231564224 -0.556987345219 0.825383841991 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.092231564224 -0.556987345219 0.825383841991 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.614214539528 0.333024352789 -0.715426623821 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.349309086800 -0.879998743534 0.321846753359 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.022242724895 -0.434845775366 0.900230228901 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn -0.334633797407 0.108778014779 0.936048924923 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.334633797407 0.108778014779 0.936048924923 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn -0.202762871981 0.044235628098 0.978228211403 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.557868421078 -0.657093167305 0.506962835789 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.385458141565 -0.653668999672 0.651259422302 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.385458141565 -0.653668999672 0.651259422302 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.557868421078 -0.657093167305 0.506962835789 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.022242724895 -0.434845775366 0.900230228901 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.364636987448 -0.726501166821 0.582439601421 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.364636987448 -0.726501166821 0.582439601421 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.987220883369 0.152396500111 0.046585436910 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.203795030713 0.978946566582 -0.011453438550 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.303327411413 0.940892398357 0.150711387396 -vn -0.290093451738 0.940565109253 0.176587253809 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn 0.203795030713 0.978946566582 -0.011453438550 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.506033003330 0.457370489836 0.731261134148 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.290093451738 0.940565109253 0.176587253809 -vn 0.303327411413 0.940892398357 0.150711387396 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.587254881859 0.526393055916 -0.614851236343 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.840556323528 0.541296303272 0.021526474506 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn 0.197829738259 -0.940914392471 -0.274851888418 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.840556323528 0.541296303272 0.021526474506 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.197829738259 -0.940914392471 -0.274851888418 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.581949949265 -0.764983475208 0.275924861431 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn 0.197829738259 -0.940914392471 -0.274851888418 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn -0.883379578590 0.453356623650 0.118778400123 -vn -0.672420799732 0.229601070285 0.703657329082 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn -0.672420799732 0.229601070285 0.703657329082 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.596639752388 -0.721411108971 0.351549416780 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.645085215569 0.203440889716 0.736530244350 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn -0.645085215569 0.203440889716 0.736530244350 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.242103204131 -0.685089111328 -0.687050879002 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.645085215569 0.203440889716 0.736530244350 -vn -0.645085215569 0.203440889716 0.736530244350 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.275668442249 0.308932840824 -0.910256803036 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.275668442249 0.308932840824 -0.910256803036 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn -0.242103204131 -0.685089111328 -0.687050879002 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.242103204131 -0.685089111328 -0.687050879002 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn 0.223080739379 -0.690481960773 -0.688091278076 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.290093451738 0.940565109253 0.176587253809 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.665769279003 -0.679318904877 -0.308669835329 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.290766537189 -0.504648089409 -0.812886893749 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.290766537189 -0.504648089409 -0.812886893749 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.463207036257 -0.877379715443 -0.125076130033 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.463207036257 -0.877379715443 -0.125076130033 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.223080739379 -0.690481960773 -0.688091278076 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.463207036257 -0.877379715443 -0.125076130033 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.463207036257 -0.877379715443 -0.125076130033 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.223080739379 -0.690481960773 -0.688091278076 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn 0.407061606646 0.429488331079 -0.806126892567 -vn 0.407061606646 0.429488331079 -0.806126892567 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.227712795138 -0.968599319458 0.099810823798 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.426863461733 -0.857933163643 -0.285898983479 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.227712795138 -0.968599319458 0.099810823798 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn -0.096150808036 0.063654631376 0.993329286575 -vn -0.214608341455 0.516929745674 0.828689873219 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn -0.096150808036 0.063654631376 0.993329286575 -vn -0.096150808036 0.063654631376 0.993329286575 -vn 0.254643589258 0.460702836514 0.850240886211 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.054755549878 0.784012436867 0.618325412273 -vn -0.214608341455 0.516929745674 0.828689873219 -vn -0.096150808036 0.063654631376 0.993329286575 -vn -0.096150808036 0.063654631376 0.993329286575 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn 0.363941878080 0.109785512090 0.924928903580 -vn 0.363941878080 0.109785512090 0.924928903580 -vn 0.254643589258 0.460702836514 0.850240886211 -vn -0.096150808036 0.063654631376 0.993329286575 -vn 0.254643589258 0.460702836514 0.850240886211 -vn 0.363941878080 0.109785512090 0.924928903580 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.254643589258 0.460702836514 0.850240886211 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn 0.317261904478 0.790387809277 0.524053394794 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.534159302711 0.839426577091 0.100184306502 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.363941878080 0.109785512090 0.924928903580 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.046635005623 0.905606448650 0.421547323465 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.046635005623 0.905606448650 0.421547323465 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.534159302711 0.839426577091 0.100184306502 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.792448759079 0.608949303627 0.034723557532 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.534159302711 0.839426577091 0.100184306502 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.516634881496 0.036752458662 0.855416655540 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn 0.792448759079 0.608949303627 0.034723557532 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.729452431202 -0.625799298286 0.276178151369 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.729452431202 -0.625799298286 0.276178151369 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn 0.792448759079 0.608949303627 0.034723557532 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.792448759079 0.608949303627 0.034723557532 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.568980515003 0.064607515931 -0.819809138775 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.102916389704 -0.977832078934 -0.182353064418 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.102916389704 -0.977832078934 -0.182353064418 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.211206659675 -0.288128644228 -0.934009432793 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.211206659675 -0.288128644228 -0.934009432793 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn -0.153387278318 -0.832074820995 -0.533032655716 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn 0.729452431202 -0.625799298286 0.276178151369 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.297565698624 -0.840286493301 -0.453181296587 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.297565698624 -0.840286493301 -0.453181296587 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.568980515003 0.064607515931 -0.819809138775 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.688086986542 0.005382491741 -0.725608229637 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.688086986542 0.005382491741 -0.725608229637 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.688086986542 0.005382491741 -0.725608229637 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.688086986542 0.005382491741 -0.725608229637 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.634775996208 -0.760179579258 0.138515204191 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.634775996208 -0.760179579258 0.138515204191 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.634775996208 -0.760179579258 0.138515204191 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.656224668026 -0.205502897501 0.726042509079 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.656224668026 -0.205502897501 0.726042509079 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.656224668026 -0.205502897501 0.726042509079 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.487584769726 0.575793743134 0.656294643879 -vn -0.004625395872 0.025178126991 0.999672293663 -vn -0.035672992468 0.077534280717 0.996351301670 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.288535594940 0.014455531724 0.957360029221 -vn -0.004625395872 0.025178126991 0.999672293663 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.232914984226 0.237921655178 0.942944288254 -vn -0.035672992468 0.077534280717 0.996351301670 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn -0.035672992468 0.077534280717 0.996351301670 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn 0.410304158926 -0.774405479431 0.481608390808 -vn 0.552535414696 -0.620800912380 0.556157231331 -vn 0.552535414696 -0.620800912380 0.556157231331 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn 0.283917009830 -0.872002422810 0.398751676083 -vn 0.283917009830 -0.872002422810 0.398751676083 -vn 0.410304158926 -0.774405479431 0.481608390808 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn 0.283917009830 -0.872002422810 0.398751676083 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn 0.135520935059 -0.885927915573 0.443582922220 -vn 0.283917009830 -0.872002422810 0.398751676083 -vn 0.528594553471 -0.735937774181 0.423064291477 -vn 0.465447813272 -0.842818975449 0.270211994648 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.528594553471 -0.735937774181 0.423064291477 -vn 0.528594553471 -0.735937774181 0.423064291477 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.552535414696 -0.620800912380 0.556157231331 -vn 0.528594553471 -0.735937774181 0.423064291477 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.426863461733 -0.857933163643 -0.285898983479 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.426863461733 -0.857933163643 -0.285898983479 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.426863461733 -0.857933163643 -0.285898983479 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.587922394276 -0.743195712566 0.319385975599 -vn 0.643816113472 -0.739150702953 0.197881504893 -vn 0.643816113472 -0.739150702953 0.197881504893 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.453915089369 -0.848896443844 0.270806014538 -vn 0.453915089369 -0.848896443844 0.270806014538 -vn 0.587922394276 -0.743195712566 0.319385975599 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.465447813272 -0.842818975449 0.270211994648 -vn 0.465447813272 -0.842818975449 0.270211994648 -vn 0.453915089369 -0.848896443844 0.270806014538 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.643816113472 -0.739150702953 0.197881504893 -vn 0.560174226761 -0.823622524738 0.088604912162 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.643816113472 -0.739150702953 0.197881504893 -vn 0.560174226761 -0.823622524738 0.088604912162 -vn 0.590715467930 -0.806350469589 -0.029225697741 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.560174226761 -0.823622524738 0.088604912162 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.590715467930 -0.806350469589 -0.029225697741 -vn 0.520828485489 -0.852863729000 -0.036893356591 -vn 0.520828485489 -0.852863729000 -0.036893356591 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.193443819880 -0.738571822643 -0.645825982094 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.193443819880 -0.738571822643 -0.645825982094 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.409019470215 -0.695324003696 -0.590954840183 -vn 0.499595552683 -0.467188239098 -0.729478895664 -vn 0.499595552683 -0.467188239098 -0.729478895664 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.193443819880 -0.738571822643 -0.645825982094 -vn 0.394156038761 -0.893297255039 -0.216011554003 -vn 0.394156038761 -0.893297255039 -0.216011554003 -vn 0.409019470215 -0.695324003696 -0.590954840183 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.394156038761 -0.893297255039 -0.216011554003 -vn 0.193443819880 -0.738571822643 -0.645825982094 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.520828485489 -0.852863729000 -0.036893356591 -vn 0.394156038761 -0.893297255039 -0.216011554003 -vn 0.749511778355 -0.659742295742 0.054518498480 -vn 0.486455798149 -0.718520760536 0.497080177069 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.749511778355 -0.659742295742 0.054518498480 -vn 0.749511778355 -0.659742295742 0.054518498480 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.499595552683 -0.467188239098 -0.729478895664 -vn 0.749511778355 -0.659742295742 0.054518498480 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.486455798149 -0.718520760536 0.497080177069 -vn 0.554613232613 -0.706817686558 0.439104676247 -vn 0.554613232613 -0.706817686558 0.439104676247 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn 0.290766537189 -0.504648089409 -0.812886893749 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.290766537189 -0.504648089409 -0.812886893749 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.601008892059 -0.672716557980 0.431556135416 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.601008892059 -0.672716557980 0.431556135416 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.601008892059 -0.672716557980 0.431556135416 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.508039653301 -0.692776381969 0.511816978455 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.508039653301 -0.692776381969 0.511816978455 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.426190882921 -0.692445337772 0.582134664059 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.508039653301 -0.692776381969 0.511816978455 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn 0.426190882921 -0.692445337772 0.582134664059 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.494620203972 -0.327400892973 0.805083572865 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.426190882921 -0.692445337772 0.582134664059 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.926395535469 0.212197542191 0.311068296432 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.926395535469 0.212197542191 0.311068296432 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.494620203972 -0.327400892973 0.805083572865 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.840556323528 0.541296303272 0.021526474506 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.494620203972 -0.327400892973 0.805083572865 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.926395535469 0.212197542191 0.311068296432 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn -0.840556323528 0.541296303272 0.021526474506 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.926395535469 0.212197542191 0.311068296432 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.750016629696 0.569118261337 -0.337015509605 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.275668442249 0.308932840824 -0.910256803036 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn -0.275668442249 0.308932840824 -0.910256803036 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.596639752388 -0.721411108971 0.351549416780 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.596639752388 -0.721411108971 0.351549416780 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.711502373219 -0.696542620659 -0.092697240412 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.711502373219 -0.696542620659 -0.092697240412 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.596639752388 -0.721411108971 0.351549416780 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.711502373219 -0.696542620659 -0.092697240412 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.711502373219 -0.696542620659 -0.092697240412 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.662599146366 -0.519838631153 -0.539193987846 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.662599146366 -0.519838631153 -0.539193987846 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.665769279003 -0.679318904877 -0.308669835329 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.665769279003 -0.679318904877 -0.308669835329 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.662599146366 -0.519838631153 -0.539193987846 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.665769279003 -0.679318904877 -0.308669835329 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.662599146366 -0.519838631153 -0.539193987846 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.900035083294 -0.384015738964 -0.206079438329 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.750016629696 0.569118261337 -0.337015509605 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.936993002892 0.101482637227 0.334283322096 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.581949949265 -0.764983475208 0.275924861431 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.581949949265 -0.764983475208 0.275924861431 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.426190882921 -0.692445337772 0.582134664059 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn -0.494620203972 -0.327400892973 0.805083572865 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.581949949265 -0.764983475208 0.275924861431 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.508039653301 -0.692776381969 0.511816978455 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn 0.530688881874 -0.768034517765 0.358458191156 -vn 0.591515541077 -0.752557575703 0.289424389601 -vn 0.591515541077 -0.752557575703 0.289424389601 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn 0.530688881874 -0.768034517765 0.358458191156 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.536898553371 -0.759433269501 0.367424845695 -vn 0.530688881874 -0.768034517765 0.358458191156 -vn 0.533105850220 -0.792724728584 0.295610725880 -vn 0.180990353227 -0.796912014484 0.576345145702 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.554771304131 -0.800131857395 0.228074103594 -vn 0.533105850220 -0.792724728584 0.295610725880 -vn 0.533105850220 -0.792724728584 0.295610725880 -vn 0.300278335810 -0.889515042305 0.344377607107 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn 0.180990353227 -0.796912014484 0.576345145702 -vn 0.533105850220 -0.792724728584 0.295610725880 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn 0.180990353227 -0.796912014484 0.576345145702 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn 0.300278335810 -0.889515042305 0.344377607107 -vn 0.135520935059 -0.885927915573 0.443582922220 -vn 0.135520935059 -0.885927915573 0.443582922220 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.180990353227 -0.796912014484 0.576345145702 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn -0.035672992468 0.077534280717 0.996351301670 -vn -0.035672992468 0.077534280717 0.996351301670 -vn -0.004625395872 0.025178126991 0.999672293663 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn 0.092231564224 -0.556987345219 0.825383841991 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.092231564224 -0.556987345219 0.825383841991 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.004625395872 0.025178126991 0.999672293663 -vn -0.004625395872 0.025178126991 0.999672293663 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.234883025289 0.208845853806 0.949322581291 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn 0.119672834873 0.101008400321 0.987661719322 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.514674782753 0.424443304539 0.744954884052 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.514674782753 0.424443304539 0.744954884052 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.027125038207 0.236739024520 0.971194565296 -vn 0.027125038207 0.236739024520 0.971194565296 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.027125038207 0.236739024520 0.971194565296 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.584861516953 -0.029748234898 0.810587465763 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.584861516953 -0.029748234898 0.810587465763 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.584861516953 -0.029748234898 0.810587465763 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.938181340694 0.340947598219 -0.059753816575 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.938181340694 0.340947598219 -0.059753816575 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.345520466566 0.916609048843 -0.201105564833 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.345520466566 0.916609048843 -0.201105564833 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.678899943829 0.618567526340 -0.395561784506 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.678899943829 0.618567526340 -0.395561784506 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.712247908115 0.508445441723 -0.483927845955 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.678899943829 0.618567526340 -0.395561784506 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.712247908115 0.508445441723 -0.483927845955 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.452509254217 0.396822035313 -0.798603534698 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.712247908115 0.508445441723 -0.483927845955 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.027139838785 0.297324597836 -0.954390645027 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.027139838785 0.297324597836 -0.954390645027 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.452509254217 0.396822035313 -0.798603534698 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.452509254217 0.396822035313 -0.798603534698 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.027139838785 0.297324597836 -0.954390645027 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn -0.027139838785 0.297324597836 -0.954390645027 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn 0.512817382813 -0.279925793409 -0.811578631401 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn 0.512817382813 -0.279925793409 -0.811578631401 -vn -0.008919883519 -0.227142065763 -0.973820805550 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn -0.008919883519 -0.227142065763 -0.973820805550 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.272886395454 -0.223364964128 -0.935756981373 -vn -0.272886395454 -0.223364964128 -0.935756981373 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.272886395454 -0.223364964128 -0.935756981373 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.153387278318 -0.832074820995 -0.533032655716 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.153387278318 -0.832074820995 -0.533032655716 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.227712795138 -0.968599319458 0.099810823798 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn -0.153387278318 -0.832074820995 -0.533032655716 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.227712795138 -0.968599319458 0.099810823798 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.297565698624 -0.840286493301 -0.453181296587 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.297565698624 -0.840286493301 -0.453181296587 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn 0.512817382813 -0.279925793409 -0.811578631401 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn -0.211206659675 -0.288128644228 -0.934009432793 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.211206659675 -0.288128644228 -0.934009432793 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.587254881859 0.526393055916 -0.614851236343 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.587254881859 0.526393055916 -0.614851236343 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.712247908115 0.508445441723 -0.483927845955 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.452509254217 0.396822035313 -0.798603534698 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.873160123825 0.306886225939 0.378698021173 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.873160123825 0.306886225939 0.378698021173 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.873160123825 0.306886225939 0.378698021173 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.654840648174 0.184742674232 0.732839584351 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.654840648174 0.184742674232 0.732839584351 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.654840648174 0.184742674232 0.732839584351 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.646497070789 0.081178493798 0.758585274220 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.646497070789 0.081178493798 0.758585274220 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.646497070789 0.081178493798 0.758585274220 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.334633797407 0.108778014779 0.936048924923 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.334633797407 0.108778014779 0.936048924923 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.646497070789 0.081178493798 0.758585274220 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.654840648174 0.184742674232 0.732839584351 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.873160123825 0.306886225939 0.378698021173 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.678899943829 0.618567526340 -0.395561784506 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.587254881859 0.526393055916 -0.614851236343 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.345520466566 0.916609048843 -0.201105564833 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.673667073250 0.396585196257 -0.623612761497 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.673667073250 0.396585196257 -0.623612761497 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.094372428954 0.461883842945 0.881905436516 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.094372428954 0.461883842945 0.881905436516 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.121771819890 0.907417356968 0.402200639248 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.125300318003 0.134481579065 0.982962131500 -vn -0.038040585816 0.040302138776 0.998463153839 -vn -0.038040585816 0.040302138776 0.998463153839 -vn -0.092569380999 0.481423765421 0.871585965157 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.006276889239 0.523106515408 0.852244198322 -vn -0.092569380999 0.481423765421 0.871585965157 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.090679392219 0.816002249718 0.570891857147 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.006276889239 0.523106515408 0.852244198322 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.121771819890 0.907417356968 0.402200639248 -vn 0.094372428954 0.461883842945 0.881905436516 -vn 0.006276889239 0.523106515408 0.852244198322 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.065149024129 0.968082070351 0.242018088698 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.673667073250 0.396585196257 -0.623612761497 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.673667073250 0.396585196257 -0.623612761497 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.038040585816 0.040302138776 0.998463153839 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn -0.038040585816 0.040302138776 0.998463153839 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.092569380999 0.481423765421 0.871585965157 -vn -0.092569380999 0.481423765421 0.871585965157 -vn -0.038040585816 0.040302138776 0.998463153839 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.175727561116 0.689686655998 0.702461481094 -vn -0.175727561116 0.689686655998 0.702461481094 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.092569380999 0.481423765421 0.871585965157 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.175727561116 0.689686655998 0.702461481094 -vn 0.046635005623 0.905606448650 0.421547323465 -vn 0.046635005623 0.905606448650 0.421547323465 -vn -0.004725415260 0.954034984112 0.299657970667 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.004725415260 0.954034984112 0.299657970667 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.004725415260 0.954034984112 0.299657970667 -vn 0.046635005623 0.905606448650 0.421547323465 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn -0.004725415260 0.954034984112 0.299657970667 -vn -0.004725415260 0.954034984112 0.299657970667 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.004725415260 0.954034984112 0.299657970667 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.081253156066 -0.948016583920 -0.307672768831 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.081253156066 -0.948016583920 -0.307672768831 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn -0.102916389704 -0.977832078934 -0.182353064418 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn 0.081253156066 -0.948016583920 -0.307672768831 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.102916389704 -0.977832078934 -0.182353064418 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.400463789701 -0.304052025080 0.864396393299 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.400463789701 -0.304052025080 0.864396393299 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.214608341455 0.516929745674 0.828689873219 -vn -0.214608341455 0.516929745674 0.828689873219 -vn -0.175727561116 0.689686655998 0.702461481094 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.175727561116 0.689686655998 0.702461481094 -vn -0.214608341455 0.516929745674 0.828689873219 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.046635005623 0.905606448650 0.421547323465 -vn -0.175727561116 0.689686655998 0.702461481094 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn 0.081253156066 -0.948016583920 -0.307672768831 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.534159302711 0.839426577091 0.100184306502 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn -0.290093451738 0.940565109253 0.176587253809 -vn -0.290093451738 0.940565109253 0.176587253809 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.345520466566 0.916609048843 -0.201105564833 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.453665226698 0.661064624786 -0.597646594048 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.453665226698 0.661064624786 -0.597646594048 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.217604145408 0.731005907059 -0.646744787693 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.614214539528 0.333024352789 -0.715426623821 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.614214539528 0.333024352789 -0.715426623821 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.614214539528 0.333024352789 -0.715426623821 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn -0.217604145408 0.731005907059 -0.646744787693 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn 0.348152428865 0.870052337646 -0.348996847868 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.348152428865 0.870052337646 -0.348996847868 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.714554429054 0.667727410793 0.208691373467 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.348152428865 0.870052337646 -0.348996847868 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.083596318960 0.705422341824 0.703840136528 -vn -0.141477271914 0.989577353001 0.026847619563 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn -0.242646485567 0.968250751495 0.060110073537 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.242646485567 0.968250751495 0.060110073537 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.242646485567 0.968250751495 0.060110073537 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.571737766266 0.732720911503 -0.369101554155 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.571737766266 0.732720911503 -0.369101554155 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.797018706799 0.597555816174 -0.087682552636 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.571737766266 0.732720911503 -0.369101554155 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.673261463642 0.576191544533 -0.463381379843 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.673261463642 0.576191544533 -0.463381379843 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.797018706799 0.597555816174 -0.087682552636 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.981501281261 -0.186295166612 -0.044151421636 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.797018706799 0.597555816174 -0.087682552636 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.938181340694 0.340947598219 -0.059753816575 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.673261463642 0.576191544533 -0.463381379843 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.981501281261 -0.186295166612 -0.044151421636 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.938181340694 0.340947598219 -0.059753816575 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.981501281261 -0.186295166612 -0.044151421636 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.981501281261 -0.186295166612 -0.044151421636 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.673261463642 0.576191544533 -0.463381379843 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.453665226698 0.661064624786 -0.597646594048 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.453665226698 0.661064624786 -0.597646594048 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.217604145408 0.731005907059 -0.646744787693 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.797018706799 0.597555816174 -0.087682552636 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.631175696850 0.324559658766 0.704470157623 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.631175696850 0.324559658766 0.704470157623 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.182598531246 0.715381562710 0.674453139305 -vn -0.182598531246 0.715381562710 0.674453139305 -vn -0.109330229461 0.941514909267 0.318742185831 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.571737766266 0.732720911503 -0.369101554155 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.217604145408 0.731005907059 -0.646744787693 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.584861516953 -0.029748234898 0.810587465763 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.514674782753 0.424443304539 0.744954884052 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.514674782753 0.424443304539 0.744954884052 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.634775996208 -0.760179579258 0.138515204191 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.656224668026 -0.205502897501 0.726042509079 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn -0.004625395872 0.025178126991 0.999672293663 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn -0.364636987448 -0.726501166821 0.582439601421 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.202762871981 0.044235628098 0.978228211403 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.022242724895 -0.434845775366 0.900230228901 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.639154016972 -0.695473492146 0.328327208757 -vn 0.639154016972 -0.695473492146 0.328327208757 -vn 0.560032069683 -0.786853432655 0.259279340506 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.560032069683 -0.786853432655 0.259279340506 -vn 0.554771304131 -0.800131857395 0.228074103594 -vn 0.554771304131 -0.800131857395 0.228074103594 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.590239226818 -0.761261343956 0.268512219191 -vn 0.526070177555 -0.834664642811 0.163049384952 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn 0.590239226818 -0.761261343956 0.268512219191 -vn 0.590239226818 -0.761261343956 0.268512219191 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn 0.591515541077 -0.752557575703 0.289424389601 -vn 0.590239226818 -0.761261343956 0.268512219191 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn 0.526070177555 -0.834664642811 0.163049384952 -vn 0.563823878765 -0.815900862217 0.128095164895 -vn 0.563823878765 -0.815900862217 0.128095164895 -vn 0.104877673090 -0.737829804420 0.666789233685 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn 0.104877673090 -0.737829804420 0.666789233685 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn 0.104877673090 -0.737829804420 0.666789233685 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.104877673090 -0.737829804420 0.666789233685 -vn 0.563823878765 -0.815900862217 0.128095164895 -vn 0.563823878765 -0.815900862217 0.128095164895 -vn 0.653912723064 -0.623547196388 0.428470611572 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.653912723064 -0.623547196388 0.428470611572 -vn 0.639154016972 -0.695473492146 0.328327208757 -vn 0.639154016972 -0.695473492146 0.328327208757 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.539303719997 -0.757244586945 0.368418484926 -vn 0.536898553371 -0.759433269501 0.367424845695 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.539303719997 -0.757244586945 0.368418484926 -vn 0.539303719997 -0.757244586945 0.368418484926 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.554613232613 -0.706817686558 0.439104676247 -vn 0.539303719997 -0.757244586945 0.368418484926 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.568980515003 0.064607515931 -0.819809138775 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.729452431202 -0.625799298286 0.276178151369 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.568980515003 0.064607515931 -0.819809138775 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.363941878080 0.109785512090 0.924928903580 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.407061606646 0.429488331079 -0.806126892567 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn 0.223080739379 -0.690481960773 -0.688091278076 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.900035083294 -0.384015738964 -0.206079438329 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.242103204131 -0.685089111328 -0.687050879002 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.645085215569 0.203440889716 0.736530244350 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.203795030713 0.978946566582 -0.011453438550 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.203795030713 0.978946566582 -0.011453438550 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.327142566442 0.847049534321 0.418909132481 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.385458141565 -0.653668999672 0.651259422302 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.385458141565 -0.653668999672 0.651259422302 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.349309086800 -0.879998743534 0.321846753359 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn -0.306055247784 -0.144851490855 0.940929472446 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.714853286743 -0.650683462620 0.256116777658 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.714853286743 -0.650683462620 0.256116777658 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.349309086800 -0.879998743534 0.321846753359 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.878214716911 -0.449576526880 0.163155734539 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.725175499916 -0.509295403957 0.463399112225 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.725175499916 -0.509295403957 0.463399112225 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.349309086800 -0.879998743534 0.321846753359 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.878214716911 -0.449576526880 0.163155734539 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.878214716911 -0.449576526880 0.163155734539 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.540508806705 -0.812121748924 0.219791963696 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.540508806705 -0.812121748924 0.219791963696 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.540508806705 -0.812121748924 0.219791963696 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.562911212444 -0.417130827904 0.713535487652 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.562911212444 -0.417130827904 0.713535487652 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.725175499916 -0.509295403957 0.463399112225 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.725175499916 -0.509295403957 0.463399112225 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.798626184464 -0.023845696822 0.601354777813 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.798626184464 -0.023845696822 0.601354777813 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.798626184464 -0.023845696822 0.601354777813 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.798626184464 -0.023845696822 0.601354777813 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.461953103542 0.098662018776 0.881399512291 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.461953103542 0.098662018776 0.881399512291 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.878214716911 -0.449576526880 0.163155734539 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.943861186504 -0.260932624340 -0.202583923936 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.943861186504 -0.260932624340 -0.202583923936 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.764400541782 -0.041232846677 0.643421828747 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.764400541782 -0.041232846677 0.643421828747 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.764400541782 -0.041232846677 0.643421828747 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.509310722351 0.129563525319 0.850773692131 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.509310722351 0.129563525319 0.850773692131 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.246345400810 -0.477399200201 0.843447685242 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.246345400810 -0.477399200201 0.843447685242 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.373320966959 0.424053817987 0.825111985207 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn 0.246345400810 -0.477399200201 0.843447685242 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.764400541782 -0.041232846677 0.643421828747 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.378446906805 0.448631554842 0.809634268284 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.109330229461 0.941514909267 0.318742185831 -vn -0.182598531246 0.715381562710 0.674453139305 -vn 0.485629320145 0.230432748795 0.843246638775 -vn 0.485629320145 0.230432748795 0.843246638775 -vn 0.421047270298 0.334669202566 0.843039572239 -vn -0.109330229461 0.941514909267 0.318742185831 -vn 0.421047270298 0.334669202566 0.843039572239 -vn 0.485629320145 0.230432748795 0.843246638775 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.421047270298 0.334669202566 0.843039572239 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.400463789701 -0.304052025080 0.864396393299 -vn -0.400463789701 -0.304052025080 0.864396393299 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.816449046135 -0.409892588854 0.406692773104 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.816449046135 -0.409892588854 0.406692773104 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.601008892059 -0.672716557980 0.431556135416 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.816449046135 -0.409892588854 0.406692773104 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.407061606646 0.429488331079 -0.806126892567 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.022242724895 -0.434845775366 0.900230228901 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.364636987448 -0.726501166821 0.582439601421 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.373320966959 0.424053817987 0.825111985207 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.283379137516 0.492464959621 0.822906136513 -vn 0.373320966959 0.424053817987 0.825111985207 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.509310722351 0.129563525319 0.850773692131 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.509310722351 0.129563525319 0.850773692131 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.246345400810 -0.477399200201 0.843447685242 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.008919883519 -0.227142065763 -0.973820805550 -vn 0.512817382813 -0.279925793409 -0.811578631401 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.008919883519 -0.227142065763 -0.973820805550 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.272886395454 -0.223364964128 -0.935756981373 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.540508806705 -0.812121748924 0.219791963696 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.562911212444 -0.417130827904 0.713535487652 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.557868421078 -0.657093167305 0.506962835789 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.557868421078 -0.657093167305 0.506962835789 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.900035083294 -0.384015738964 -0.206079438329 -vn -0.900035083294 -0.384015738964 -0.206079438329 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.750016629696 0.569118261337 -0.337015509605 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.750016629696 0.569118261337 -0.337015509605 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.883379578590 0.453356623650 0.118778400123 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.883379578590 0.453356623650 0.118778400123 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.883379578590 0.453356623650 0.118778400123 -vn -0.883379578590 0.453356623650 0.118778400123 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.027015432715 0.338717550039 0.940500199795 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.027015432715 0.338717550039 0.940500199795 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.334695070982 0.126260608435 0.933829486370 -vn 0.148399889469 0.002237849403 0.988924920559 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn 0.148399889469 0.002237849403 0.988924920559 -vn 0.148399889469 0.002237849403 0.988924920559 -vn 0.054863095284 0.347303807735 0.936146438122 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn 0.054863095284 0.347303807735 0.936146438122 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn 0.054863095284 0.347303807735 0.936146438122 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.270152628422 0.623499035835 0.733666479588 -vn -0.270152628422 0.623499035835 0.733666479588 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.748294830322 0.242019072175 0.617641985416 -vn 0.023788293824 0.573797225952 0.818651854992 -vn -0.270152628422 0.623499035835 0.733666479588 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.291076213121 0.481702655554 0.826581597328 -vn 0.054863095284 0.347303807735 0.936146438122 -vn 0.023788293824 0.573797225952 0.818651854992 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.023788293824 0.573797225952 0.818651854992 -vn 0.054863095284 0.347303807735 0.936146438122 -vn 0.054863095284 0.347303807735 0.936146438122 -vn 0.148399889469 0.002237849403 0.988924920559 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.148399889469 0.002237849403 0.988924920559 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.137372553349 0.403856068850 0.904449582100 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.148399889469 0.002237849403 0.988924920559 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.596428692341 0.562675476074 0.572423934937 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.596428692341 0.562675476074 0.572423934937 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.068840779364 0.560529172421 0.825268447399 -vn -0.068840779364 0.560529172421 0.825268447399 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.596428692341 0.562675476074 0.572423934937 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn 0.143529653549 0.440658539534 0.886125981808 -vn 0.190369337797 0.409592747688 0.892184555531 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.068840779364 0.560529172421 0.825268447399 -vn 0.143529653549 0.440658539534 0.886125981808 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.270152628422 0.623499035835 0.733666479588 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.270152628422 0.623499035835 0.733666479588 -vn 0.023788293824 0.573797225952 0.818651854992 -vn 0.023788293824 0.573797225952 0.818651854992 -vn -0.011909886263 0.610265195370 0.792107701302 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.011909886263 0.610265195370 0.792107701302 -vn 0.023788293824 0.573797225952 0.818651854992 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.143529653549 0.440658539534 0.886125981808 -vn -0.011909886263 0.610265195370 0.792107701302 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.893567860126 0.130850359797 0.429435312748 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.893567860126 0.130850359797 0.429435312748 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn -0.217033192515 0.376930564642 0.900455415249 -vn -0.217033192515 0.376930564642 0.900455415249 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.217033192515 0.376930564642 0.900455415249 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.193748310208 0.389752209187 0.900308191776 -vn -0.217033192515 0.376930564642 0.900455415249 -vn 0.080102473497 0.828760683537 0.553840458393 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.217033192515 0.376930564642 0.900455415249 -vn -0.217033192515 0.376930564642 0.900455415249 -vn 0.193748310208 0.389752209187 0.900308191776 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.065837807953 0.882237017155 0.466179400682 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.469709098339 0.664078414440 0.581698536873 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.065837807953 0.882237017155 0.466179400682 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.771863758564 0.521848499775 0.363181054592 -vn 0.057261314243 0.891568779945 0.449250817299 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.411870986223 0.780674993992 0.470009416342 -vn 0.065837807953 0.882237017155 0.466179400682 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.150822833180 0.635599315166 0.757143259048 -vn -0.068840779364 0.560529172421 0.825268447399 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.390541195869 0.766919553280 0.509226858616 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.143529653549 0.440658539534 0.886125981808 -vn -0.068840779364 0.560529172421 0.825268447399 -vn -0.068840779364 0.560529172421 0.825268447399 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.143529653549 0.440658539534 0.886125981808 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.162006527185 0.616976797581 0.770125627518 -vn -0.011909886263 0.610265195370 0.792107701302 -vn 0.143529653549 0.440658539534 0.886125981808 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.066447027028 0.874545276165 0.480370044708 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.011909886263 0.610265195370 0.792107701302 -vn 0.162006527185 0.616976797581 0.770125627518 -vn -0.011909886263 0.610265195370 0.792107701302 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.011909886263 0.610265195370 0.792107701302 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.893567860126 0.130850359797 0.429435312748 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.893567860126 0.130850359797 0.429435312748 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.383693754673 0.415092200041 0.824910640717 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.383693754673 0.415092200041 0.824910640717 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.530067265034 0.182262152433 0.828135967255 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn -0.383693754673 0.415092200041 0.824910640717 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.129079088569 0.182803943753 0.974639058113 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.489686667919 0.504504680634 0.711113214493 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.199788928032 -0.930502891541 0.306999534369 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn 0.199788928032 -0.930502891541 0.306999534369 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.393963932991 -0.907506763935 0.145684033632 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn -0.393963932991 -0.907506763935 0.145684033632 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.393963932991 -0.907506763935 0.145684033632 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.393963932991 -0.907506763935 0.145684033632 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.465997457504 0.474939972162 0.746510803699 -vn 0.174813181162 0.397422939539 0.900830388069 -vn -0.125801399350 0.381812900305 0.915637969971 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.104101993144 0.368369311094 0.923832714558 -vn 0.189450860023 0.359886229038 0.913559138775 -vn 0.174813181162 0.397422939539 0.900830388069 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.682675838470 0.530749320984 0.502253770828 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.682675838470 0.530749320984 0.502253770828 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.383693754673 0.415092200041 0.824910640717 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.383693754673 0.415092200041 0.824910640717 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.023426074535 0.341141790152 0.939719915390 -vn -0.129079088569 0.182803943753 0.974639058113 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.023426074535 0.341141790152 0.939719915390 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.256318479776 0.039006829262 0.965804994106 -vn -0.129079088569 0.182803943753 0.974639058113 -vn -0.129079088569 0.182803943753 0.974639058113 -vn -0.023426074535 0.341141790152 0.939719915390 -vn 0.212365403771 0.248311832547 0.945114910603 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.682675838470 0.530749320984 0.502253770828 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.682675838470 0.530749320984 0.502253770828 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.388789445162 0.349601566792 0.852420985699 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.388789445162 0.349601566792 0.852420985699 -vn -0.388789445162 0.349601566792 0.852420985699 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.076032698154 0.722265958786 0.687423348427 -vn -0.023426074535 0.341141790152 0.939719915390 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.076032698154 0.722265958786 0.687423348427 -vn 0.212365403771 0.248311832547 0.945114910603 -vn -0.023426074535 0.341141790152 0.939719915390 -vn -0.076032698154 0.722265958786 0.687423348427 -vn -0.076032698154 0.722265958786 0.687423348427 -vn 0.055986881256 0.728759109974 0.682477593422 -vn 0.212365403771 0.248311832547 0.945114910603 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.388789445162 0.349601566792 0.852420985699 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.485179066658 0.696842193604 0.528216063976 -vn 0.189450860023 0.359886229038 0.913559138775 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.068228773773 0.298730581999 0.951895415783 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.189450860023 0.359886229038 0.913559138775 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.125801399350 0.381812900305 0.915637969971 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.125801399350 0.381812900305 0.915637969971 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.125801399350 0.381812900305 0.915637969971 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.148606613278 0.474946022034 0.867376685143 -vn 0.143435344100 0.498812109232 0.854758918285 -vn 0.143435344100 0.498812109232 0.854758918285 -vn -0.012771333568 0.858014822006 0.513466119766 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.076032698154 0.722265958786 0.687423348427 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.012771333568 0.858014822006 0.513466119766 -vn 0.055986881256 0.728759109974 0.682477593422 -vn 0.055986881256 0.728759109974 0.682477593422 -vn -0.076032698154 0.722265958786 0.687423348427 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.896722614765 0.179688841105 0.404475569725 -vn -0.896722614765 0.179688841105 0.404475569725 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.067125074565 0.157456219196 0.985242009163 -vn 0.202230855823 0.135011807084 0.969986855984 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.200406655669 0.284720838070 0.937427997589 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.202230855823 0.135011807084 0.969986855984 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn 0.138890832663 -0.801826655865 0.581191301346 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.896722614765 0.179688841105 0.404475569725 -vn -0.919281125069 0.197047114372 0.340726643801 -vn -0.919281125069 0.197047114372 0.340726643801 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.901383638382 0.126723989844 0.414063543081 -vn -0.901383638382 0.126723989844 0.414063543081 -vn -0.896722614765 0.179688841105 0.404475569725 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.895166754723 0.229004427791 0.382404863834 -vn -0.895166754723 0.229004427791 0.382404863834 -vn -0.901383638382 0.126723989844 0.414063543081 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.804847061634 0.546090245247 0.232393324375 -vn -0.804847061634 0.546090245247 0.232393324375 -vn -0.895166754723 0.229004427791 0.382404863834 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.423992425203 0.897252678871 0.123158536851 -vn -0.423992425203 0.897252678871 0.123158536851 -vn -0.804847061634 0.546090245247 0.232393324375 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.160930529237 0.977088928223 0.139278993011 -vn -0.423992425203 0.897252678871 0.123158536851 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.160930529237 0.977088928223 0.139278993011 -vn -0.105991713703 0.867368280888 0.486248910427 -vn 0.066447027028 0.874545276165 0.480370044708 -vn -0.025935206562 0.987000048161 0.158613726497 -vn -0.025935206562 0.987000048161 0.158613726497 -vn -0.160930529237 0.977088928223 0.139278993011 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.666060030460 -0.719265341759 0.197538405657 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.666060030460 -0.719265341759 0.197538405657 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.919281125069 0.197047114372 0.340726643801 -vn -0.951893627644 0.165721222758 0.257749825716 -vn -0.951893627644 0.165721222758 0.257749825716 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.951893627644 0.165721222758 0.257749825716 -vn -0.992123544216 0.107160180807 0.064866028726 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.951893627644 0.165721222758 0.257749825716 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.666060030460 -0.719265341759 0.197538405657 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.666060030460 -0.719265341759 0.197538405657 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.992123544216 0.107160180807 0.064866028726 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.940244019032 -0.092775426805 0.327618628740 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.940244019032 -0.092775426805 0.327618628740 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.940244019032 -0.092775426805 0.327618628740 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.940244019032 -0.092775426805 0.327618628740 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.746083080769 0.133082449436 -0.652417898178 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.915636658669 0.071842692792 -0.395535230637 -vn -0.915636658669 0.071842692792 -0.395535230637 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.746083080769 0.133082449436 -0.652417898178 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.217910498381 0.339262723923 0.915104269981 -vn -0.212129950523 0.227813541889 0.950316727161 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.217910498381 0.339262723923 0.915104269981 -vn -0.191797509789 0.434196591377 0.880163073540 -vn -0.217910498381 0.339262723923 0.915104269981 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.191797509789 0.434196591377 0.880163073540 -vn -0.427307009697 0.517403364182 0.741419196129 -vn -0.191797509789 0.434196591377 0.880163073540 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.427307009697 0.517403364182 0.741419196129 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.915636658669 0.071842692792 -0.395535230637 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.915636658669 0.071842692792 -0.395535230637 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.746083080769 0.133082449436 -0.652417898178 -vn -0.492909461260 -0.012797347270 -0.869986474514 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.746083080769 0.133082449436 -0.652417898178 -vn -0.492909461260 -0.012797347270 -0.869986474514 -vn -0.091410763562 -0.033696297556 -0.995243012905 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.492909461260 -0.012797347270 -0.869986474514 -vn -0.329013854265 0.770135164261 0.546481192112 -vn -0.427307009697 0.517403364182 0.741419196129 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.452492952347 0.644353330135 0.616489171982 -vn -0.329013854265 0.770135164261 0.546481192112 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.452492952347 0.644353330135 0.616489171982 -vn -0.452492952347 0.644353330135 0.616489171982 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.398361533880 0.768928885460 0.500056445599 -vn -0.329013854265 0.770135164261 0.546481192112 -vn -0.329013854265 0.770135164261 0.546481192112 -vn -0.452492952347 0.644353330135 0.616489171982 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.561793684959 0.644772768021 0.518320322037 -vn -0.561793684959 0.644772768021 0.518320322037 -vn -0.398361533880 0.768928885460 0.500056445599 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.698581337929 0.486032783985 0.525124967098 -vn -0.698581337929 0.486032783985 0.525124967098 -vn -0.561793684959 0.644772768021 0.518320322037 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.762003898621 0.412130415440 0.499498367310 -vn -0.762003898621 0.412130415440 0.499498367310 -vn -0.698581337929 0.486032783985 0.525124967098 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.839617133141 0.349256485701 0.416008383036 -vn -0.762003898621 0.412130415440 0.499498367310 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.839617133141 0.349256485701 0.416008383036 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.866007030010 0.441917747259 0.233966961503 -vn -0.839617133141 0.349256485701 0.416008383036 -vn -0.839617133141 0.349256485701 0.416008383036 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.776705801487 0.629756927490 0.011586484499 -vn -0.776705801487 0.629756927490 0.011586484499 -vn -0.866007030010 0.441917747259 0.233966961503 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.523762464523 0.784509122372 -0.331991434097 -vn -0.776705801487 0.629756927490 0.011586484499 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.523762464523 0.784509122372 -0.331991434097 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.206527620554 0.787486314774 -0.580699265003 -vn -0.206527620554 0.787486314774 -0.580699265003 -vn -0.523762464523 0.784509122372 -0.331991434097 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn 0.031884565949 0.757848381996 -0.651651144028 -vn 0.031884565949 0.757848381996 -0.651651144028 -vn -0.206527620554 0.787486314774 -0.580699265003 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.105937428772 0.694840073586 0.711318850517 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.027015432715 0.338717550039 0.940500199795 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.105937428772 0.694840073586 0.711318850517 -vn -0.105937428772 0.694840073586 0.711318850517 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.027015432715 0.338717550039 0.940500199795 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.027015432715 0.338717550039 0.940500199795 -vn 0.009658423252 0.446354955435 0.894803881645 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.266394942999 0.146734341979 0.952629387379 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.266394942999 0.146734341979 0.952629387379 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn 0.036760635674 -0.803918957710 0.593601703644 -vn -0.084034346044 -0.807875812054 0.583330869675 -vn -0.084034346044 -0.807875812054 0.583330869675 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn -0.084034346044 -0.807875812054 0.583330869675 -vn -0.084034346044 -0.807875812054 0.583330869675 -vn -0.109498061240 -0.629230618477 0.769466698170 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn -0.109498061240 -0.629230618477 0.769466698170 -vn -0.109498061240 -0.629230618477 0.769466698170 -vn -0.221097260714 -0.580378770828 0.783757925034 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.221097260714 -0.580378770828 0.783757925034 -vn -0.221097260714 -0.580378770828 0.783757925034 -vn -0.685548245907 0.317658185959 0.655070185661 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.105937428772 0.694840073586 0.711318850517 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.685548245907 0.317658185959 0.655070185661 -vn -0.685548245907 0.317658185959 0.655070185661 -vn -0.600660264492 0.792620480061 0.104690179229 -vn -0.105937428772 0.694840073586 0.711318850517 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.105937428772 0.694840073586 0.711318850517 -vn -0.600660264492 0.792620480061 0.104690179229 -vn -0.600660264492 0.792620480061 0.104690179229 -vn -0.069257460535 0.874967575073 0.479202568531 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.265599220991 0.522465229034 0.810238957405 -vn -0.266394942999 0.146734341979 0.952629387379 -vn 0.009658423252 0.446354955435 0.894803881645 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.069257460535 0.874967575073 0.479202568531 -vn -0.265599220991 0.522465229034 0.810238957405 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.266394942999 0.146734341979 0.952629387379 -vn -0.265599220991 0.522465229034 0.810238957405 -vn -0.265599220991 0.522465229034 0.810238957405 -vn -0.446344643831 0.362028479576 0.818359255791 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.446344643831 0.362028479576 0.818359255791 -vn -0.446344643831 0.362028479576 0.818359255791 -vn -0.504875242710 0.559537291527 0.657281517982 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.504875242710 0.559537291527 0.657281517982 -vn -0.504875242710 0.559537291527 0.657281517982 -vn -0.336613386869 0.544670164585 0.768131375313 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.336613386869 0.544670164585 0.768131375313 -vn -0.336613386869 0.544670164585 0.768131375313 -vn -0.102486148477 -0.211847081780 0.971914291382 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.102486148477 -0.211847081780 0.971914291382 -vn -0.102486148477 -0.211847081780 0.971914291382 -vn -0.255514144897 -0.578030169010 0.774979770184 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn 0.011388301849 -0.758041679859 0.652106702328 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.255514144897 -0.578030169010 0.774979770184 -vn 0.011388301849 -0.758041679859 0.652106702328 -vn 0.036760635674 -0.803918957710 0.593601703644 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn 0.011388301849 -0.758041679859 0.652106702328 -vn 0.036760635674 -0.803918957710 0.593601703644 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.596428692341 0.562675476074 0.572423934937 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.129079088569 0.182803943753 0.974639058113 -vn 0.256318479776 0.039006829262 0.965804994106 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.129079088569 0.182803943753 0.974639058113 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.143435344100 0.498812109232 0.854758918285 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.125801399350 0.381812900305 0.915637969971 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.138890832663 -0.801826655865 0.581191301346 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.708084583282 0.692552626133 0.137793600559 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.708084583282 0.692552626133 0.137793600559 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.708084583282 0.692552626133 0.137793600559 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.962731480598 0.260328829288 -0.073327668011 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.962731480598 0.260328829288 -0.073327668011 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.193748310208 0.389752209187 0.900308191776 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.193748310208 0.389752209187 0.900308191776 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.065837807953 0.882237017155 0.466179400682 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.065837807953 0.882237017155 0.466179400682 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.065837807953 0.882237017155 0.466179400682 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.066447027028 0.874545276165 0.480370044708 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.962731480598 0.260328829288 -0.073327668011 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.962731480598 0.260328829288 -0.073327668011 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.199788928032 -0.930502891541 0.306999534369 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn 0.199788928032 -0.930502891541 0.306999534369 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.595596849918 -0.783921420574 -0.175304144621 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.595596849918 -0.783921420574 -0.175304144621 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.595596849918 -0.783921420574 -0.175304144621 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.595596849918 -0.783921420574 -0.175304144621 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.189450860023 0.359886229038 0.913559138775 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.754177689552 0.626339972019 0.197266981006 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.754177689552 0.626339972019 0.197266981006 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.256318479776 0.039006829262 0.965804994106 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.754177689552 0.626339972019 0.197266981006 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.754177689552 0.626339972019 0.197266981006 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.721213638783 0.367009401321 0.587498903275 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.721213638783 0.367009401321 0.587498903275 -vn 0.721213638783 0.367009401321 0.587498903275 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.055986881256 0.728759109974 0.682477593422 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.721213638783 0.367009401321 0.587498903275 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.189450860023 0.359886229038 0.913559138775 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.189450860023 0.359886229038 0.913559138775 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.246009349823 0.853070199490 0.460163712502 -vn -0.012771333568 0.858014822006 0.513466119766 -vn 0.143435344100 0.498812109232 0.854758918285 -vn 0.143435344100 0.498812109232 0.854758918285 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.055986881256 0.728759109974 0.682477593422 -vn 0.055986881256 0.728759109974 0.682477593422 -vn -0.012771333568 0.858014822006 0.513466119766 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.959071338177 0.263900458813 -0.102658011019 -vn 0.959071338177 0.263900458813 -0.102658011019 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.202230855823 0.135011807084 0.969986855984 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.202230855823 0.135011807084 0.969986855984 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.138890832663 -0.801826655865 0.581191301346 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.950457096100 0.270852208138 -0.152546450496 -vn 0.950457096100 0.270852208138 -0.152546450496 -vn 0.959071338177 0.263900458813 -0.102658011019 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.959071338177 0.263900458813 -0.102658011019 -vn 0.965679407120 0.234967827797 -0.110695056617 -vn 0.965679407120 0.234967827797 -0.110695056617 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.965679407120 0.234967827797 -0.110695056617 -vn 0.927285432816 0.353592813015 -0.122938469052 -vn 0.927285432816 0.353592813015 -0.122938469052 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.927285432816 0.353592813015 -0.122938469052 -vn 0.731829226017 0.655255794525 -0.187258720398 -vn 0.731829226017 0.655255794525 -0.187258720398 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.731829226017 0.655255794525 -0.187258720398 -vn 0.311583012342 0.947266399860 -0.074849106371 -vn 0.311583012342 0.947266399860 -0.074849106371 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.084336921573 0.993597984314 0.075168356299 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.311583012342 0.947266399860 -0.074849106371 -vn 0.084336921573 0.993597984314 0.075168356299 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.084336921573 0.993597984314 0.075168356299 -vn -0.025935206562 0.987000048161 0.158613726497 -vn -0.025935206562 0.987000048161 0.158613726497 -vn 0.066447027028 0.874545276165 0.480370044708 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.564199924469 -0.795334279537 -0.221634536982 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.564199924469 -0.795334279537 -0.221634536982 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.948978900909 0.234526768327 -0.210799112916 -vn 0.948978900909 0.234526768327 -0.210799112916 -vn 0.950457096100 0.270852208138 -0.152546450496 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.948978900909 0.234526768327 -0.210799112916 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.927901625633 0.165795251727 -0.333931833506 -vn 0.948978900909 0.234526768327 -0.210799112916 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.564199924469 -0.795334279537 -0.221634536982 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.564199924469 -0.795334279537 -0.221634536982 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.927901625633 0.165795251727 -0.333931833506 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.969618976116 0.014173090458 0.244209289551 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn 0.009567377158 0.062936350703 0.997971653938 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.009567377158 0.062936350703 0.997971653938 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.969618976116 0.014173090458 0.244209289551 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.969618976116 0.014173090458 0.244209289551 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.969618976116 0.014173090458 0.244209289551 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.597053110600 0.192763477564 -0.778697490692 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.861497342587 0.166910842061 -0.479544728994 -vn 0.861497342587 0.166910842061 -0.479544728994 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.597053110600 0.192763477564 -0.778697490692 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.307430177927 0.101323992014 0.946160733700 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.307430177927 0.101323992014 0.946160733700 -vn -0.043281786144 0.417985618114 0.907422006130 -vn 0.307430177927 0.101323992014 0.946160733700 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.009567377158 0.062936350703 0.997971653938 -vn -0.043281786144 0.417985618114 0.907422006130 -vn -0.211031064391 0.334258556366 0.918551623821 -vn 0.009567377158 0.062936350703 0.997971653938 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.212129950523 0.227813541889 0.950316727161 -vn -0.211031064391 0.334258556366 0.918551623821 -vn -0.252683490515 0.431100577116 0.866200506687 -vn -0.043281786144 0.417985618114 0.907422006130 -vn 0.009567377158 0.062936350703 0.997971653938 -vn 0.009567377158 0.062936350703 0.997971653938 -vn -0.211031064391 0.334258556366 0.918551623821 -vn -0.252683490515 0.431100577116 0.866200506687 -vn -0.005775345955 0.566921889782 0.823751330376 -vn 0.118042111397 0.582126080990 0.804484486580 -vn -0.043281786144 0.417985618114 0.907422006130 -vn -0.043281786144 0.417985618114 0.907422006130 -vn -0.252683490515 0.431100577116 0.866200506687 -vn -0.005775345955 0.566921889782 0.823751330376 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.307430177927 0.101323992014 0.946160733700 -vn -0.043281786144 0.417985618114 0.907422006130 -vn -0.043281786144 0.417985618114 0.907422006130 -vn 0.118042111397 0.582126080990 0.804484486580 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.307430177927 0.101323992014 0.946160733700 -vn 0.307430177927 0.101323992014 0.946160733700 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.861497342587 0.166910842061 -0.479544728994 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.861497342587 0.166910842061 -0.479544728994 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.597053110600 0.192763477564 -0.778697490692 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.340949475765 0.080066934228 -0.936665773392 -vn 0.597053110600 0.192763477564 -0.778697490692 -vn 0.340949475765 0.080066934228 -0.936665773392 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn -0.091410763562 -0.033696297556 -0.995243012905 -vn 0.340949475765 0.080066934228 -0.936665773392 -vn -0.087644666433 0.797944962978 0.596323907375 -vn 0.022682305425 0.700176298618 0.713609576225 -vn 0.118042111397 0.582126080990 0.804484486580 -vn 0.118042111397 0.582126080990 0.804484486580 -vn -0.005775345955 0.566921889782 0.823751330376 -vn -0.087644666433 0.797944962978 0.596323907375 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.118042111397 0.582126080990 0.804484486580 -vn 0.022682305425 0.700176298618 0.713609576225 -vn 0.022682305425 0.700176298618 0.713609576225 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.022682305425 0.700176298618 0.713609576225 -vn -0.087644666433 0.797944962978 0.596323907375 -vn -0.087644666433 0.797944962978 0.596323907375 -vn -0.021405575797 0.810315549374 0.585602700710 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.158913969994 0.649801671505 0.743306219578 -vn -0.021405575797 0.810315549374 0.585602700710 -vn 0.135182872415 0.733623564243 0.665974557400 -vn 0.135182872415 0.733623564243 0.665974557400 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.135182872415 0.733623564243 0.665974557400 -vn 0.297315388918 0.622704029083 0.723770201206 -vn 0.297315388918 0.622704029083 0.723770201206 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.297315388918 0.622704029083 0.723770201206 -vn 0.389200001955 0.573539316654 0.720816195011 -vn 0.389200001955 0.573539316654 0.720816195011 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.507545232773 0.531004428864 0.678551495075 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.389200001955 0.573539316654 0.720816195011 -vn 0.507545232773 0.531004428864 0.678551495075 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.507545232773 0.531004428864 0.678551495075 -vn 0.507545232773 0.531004428864 0.678551495075 -vn 0.580223083496 0.617204606533 0.531412839890 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.580223083496 0.617204606533 0.531412839890 -vn 0.527233898640 0.796128153801 0.296992242336 -vn 0.527233898640 0.796128153801 0.296992242336 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.416550189257 0.902303695679 -0.111058652401 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.527233898640 0.796128153801 0.296992242336 -vn 0.416550189257 0.902303695679 -0.111058652401 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.416550189257 0.902303695679 -0.111058652401 -vn 0.250042259693 0.829527139664 -0.499363213778 -vn 0.250042259693 0.829527139664 -0.499363213778 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.250042259693 0.829527139664 -0.499363213778 -vn 0.031884565949 0.757848381996 -0.651651144028 -vn 0.031884565949 0.757848381996 -0.651651144028 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.648735523224 0.337128430605 0.682265818119 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.648735523224 0.337128430605 0.682265818119 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.348717659712 -0.799128830433 0.489682704210 -vn 0.348717659712 -0.799128830433 0.489682704210 -vn 0.336075752974 -0.870628416538 0.359248220921 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.340711802244 -0.641201555729 0.687587082386 -vn 0.348717659712 -0.799128830433 0.489682704210 -vn 0.348717659712 -0.799128830433 0.489682704210 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.487048745155 -0.694580614567 0.529472649097 -vn 0.340711802244 -0.641201555729 0.687587082386 -vn 0.340711802244 -0.641201555729 0.687587082386 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.744322121143 0.657111704350 0.119116656482 -vn 0.487048745155 -0.694580614567 0.529472649097 -vn 0.487048745155 -0.694580614567 0.529472649097 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.141101598740 0.945256769657 -0.294244796038 -vn 0.744322121143 0.657111704350 0.119116656482 -vn 0.744322121143 0.657111704350 0.119116656482 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.217779934406 0.618968546391 0.754619002342 -vn -0.089801914990 0.986447930336 0.137317344546 -vn 0.141101598740 0.945256769657 -0.294244796038 -vn 0.141101598740 0.945256769657 -0.294244796038 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.425227582455 0.791610717773 0.438786923885 -vn -0.089801914990 0.986447930336 0.137317344546 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.648735523224 0.337128430605 0.682265818119 -vn 0.425227582455 0.791610717773 0.438786923885 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.706862568855 0.568781375885 0.420515179634 -vn 0.425227582455 0.791610717773 0.438786923885 -vn 0.425227582455 0.791610717773 0.438786923885 -vn 0.648735523224 0.337128430605 0.682265818119 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.647108733654 0.750588536263 0.133668154478 -vn 0.706862568855 0.568781375885 0.420515179634 -vn 0.706862568855 0.568781375885 0.420515179634 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.330178469419 0.915636241436 0.229330360889 -vn 0.647108733654 0.750588536263 0.133668154478 -vn 0.647108733654 0.750588536263 0.133668154478 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.677508771420 -0.232246801257 0.697884857655 -vn 0.330178469419 0.915636241436 0.229330360889 -vn 0.330178469419 0.915636241436 0.229330360889 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.647285282612 -0.671119987965 0.361413508654 -vn 0.677508771420 -0.232246801257 0.697884857655 -vn 0.677508771420 -0.232246801257 0.697884857655 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.388192862272 -0.845675826073 0.366249561310 -vn 0.647285282612 -0.671119987965 0.361413508654 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.388192862272 -0.845675826073 0.366249561310 -vn 0.336075752974 -0.870628416538 0.359248220921 -vn 0.388192862272 -0.845675826073 0.366249561310 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.336075752974 -0.870628416538 0.359248220921 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.708084583282 0.692552626133 0.137793600559 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.256318479776 0.039006829262 0.965804994106 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.143435344100 0.498812109232 0.854758918285 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.138890832663 -0.801826655865 0.581191301346 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.997646987438 0.040396459401 -0.055394966155 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.997646987438 0.040396459401 -0.055394966155 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.159534424543 0.524704039097 0.836202383041 -vn -0.299555271864 0.546643376350 0.781951189041 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.299555271864 0.546643376350 0.781951189041 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.905587971210 0.151429876685 0.396206259727 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.905587971210 0.151429876685 0.396206259727 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.905587971210 0.151429876685 0.396206259727 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.905587971210 0.151429876685 0.396206259727 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.997646987438 0.040396459401 -0.055394966155 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.997646987438 0.040396459401 -0.055394966155 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.506390750408 0.538258075714 0.673681437969 -vn -0.299555271864 0.546643376350 0.781951189041 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.073365107179 0.805665493011 0.587810039520 -vn -0.339267462492 0.787710845470 0.514207422733 -vn -0.299555271864 0.546643376350 0.781951189041 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.960693836212 0.275875806808 -0.030982023105 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.960693836212 0.275875806808 -0.030982023105 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.524419128895 0.664470672607 -0.532412707806 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.524419128895 0.664470672607 -0.532412707806 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.960693836212 0.275875806808 -0.030982023105 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.339267462492 0.787710845470 0.514207422733 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.339267462492 0.787710845470 0.514207422733 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.022177392617 0.949803769588 0.312059193850 -vn 0.022177392617 0.949803769588 0.312059193850 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.339267462492 0.787710845470 0.514207422733 -vn 0.022177392617 0.949803769588 0.312059193850 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.022177392617 0.949803769588 0.312059193850 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.524419128895 0.664470672607 -0.532412707806 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.524419128895 0.664470672607 -0.532412707806 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn 0.203431159258 0.979057490826 0.007884264924 -vn 0.203431159258 0.979057490826 0.007884264924 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn -0.009512823075 0.999211311340 0.038552604616 -vn 0.022177392617 0.949803769588 0.312059193850 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.203431159258 0.979057490826 0.007884264924 -vn -0.009512823075 0.999211311340 0.038552604616 -vn 0.022177392617 0.949803769588 0.312059193850 -vn -0.009512823075 0.999211311340 0.038552604616 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.288760930300 0.908043682575 0.303436666727 -vn 0.022177392617 0.949803769588 0.312059193850 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.707089662552 0.699392676353 0.104278922081 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.009512823075 0.999211311340 0.038552604616 -vn -0.009512823075 0.999211311340 0.038552604616 -vn 0.203431159258 0.979057490826 0.007884264924 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.009512823075 0.999211311340 0.038552604616 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.014092958532 -0.790904879570 0.611776828766 -vn 0.221423864365 -0.754890739918 0.617342233658 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.014092958532 -0.790904879570 0.611776828766 -vn 0.349241763353 -0.781512439251 0.516980171204 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.221423864365 -0.754890739918 0.617342233658 -vn 0.349241763353 -0.781512439251 0.516980171204 -vn 0.408381432295 -0.796557366848 0.445781260729 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.349241763353 -0.781512439251 0.516980171204 -vn 0.408381432295 -0.796557366848 0.445781260729 -vn 0.427210748196 -0.706106841564 0.564715921879 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.408381432295 -0.796557366848 0.445781260729 -vn 0.427210748196 -0.706106841564 0.564715921879 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.427210748196 -0.706106841564 0.564715921879 -vn 0.428907752037 -0.443769127131 0.786833584309 -vn 0.428907752037 -0.443769127131 0.786833584309 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.428907752037 -0.443769127131 0.786833584309 -vn 0.417140841484 -0.120375834405 0.900834739208 -vn 0.417140841484 -0.120375834405 0.900834739208 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.417140841484 -0.120375834405 0.900834739208 -vn 0.424012660980 0.031315691769 0.905114650726 -vn 0.424012660980 0.031315691769 0.905114650726 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.424012660980 0.031315691769 0.905114650726 -vn 0.395210921764 0.116690479219 0.911148548126 -vn 0.395210921764 0.116690479219 0.911148548126 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.395210921764 0.116690479219 0.911148548126 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn -0.017104798928 -0.994401037693 0.104278236628 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn -0.089078962803 -0.979717195034 -0.179496884346 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn -0.017104798928 -0.994401037693 0.104278236628 -vn -0.089078962803 -0.979717195034 -0.179496884346 -vn -0.141694068909 -0.964558184147 -0.222599074244 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn -0.089078962803 -0.979717195034 -0.179496884346 -vn -0.141694068909 -0.964558184147 -0.222599074244 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn -0.141694068909 -0.964558184147 -0.222599074244 -vn -0.164628922939 -0.971865355968 -0.168449014425 -vn -0.164628922939 -0.971865355968 -0.168449014425 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn -0.164628922939 -0.971865355968 -0.168449014425 -vn -0.106762722135 -0.991933047771 -0.068341821432 -vn -0.106762722135 -0.991933047771 -0.068341821432 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn -0.106762722135 -0.991933047771 -0.068341821432 -vn 0.032250907272 -0.990156650543 0.136197254062 -vn 0.032250907272 -0.990156650543 0.136197254062 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.086438052356 -0.988402068615 0.124859288335 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn 0.032250907272 -0.990156650543 0.136197254062 -vn 0.086438052356 -0.988402068615 0.124859288335 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn 0.086438052356 -0.988402068615 0.124859288335 -vn 0.156755745411 -0.987137198448 0.031429961324 -vn 0.156755745411 -0.987137198448 0.031429961324 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn 0.156755745411 -0.987137198448 0.031429961324 -vn 0.129998713732 -0.981209576130 -0.142576515675 -vn 0.129998713732 -0.981209576130 -0.142576515675 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn 0.160609349608 -0.944374680519 -0.286986321211 -vn 0.171683400869 -0.948143720627 -0.267485111952 -vn 0.171683400869 -0.948143720627 -0.267485111952 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn 0.171683400869 -0.948143720627 -0.267485111952 -vn 0.200182467699 -0.979581654072 -0.018621146679 -vn 0.200182467699 -0.979581654072 -0.018621146679 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn 0.200182467699 -0.979581654072 -0.018621146679 -vn 0.365930229425 -0.888301491737 0.277516782284 -vn 0.365930229425 -0.888301491737 0.277516782284 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn 0.365930229425 -0.888301491737 0.277516782284 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn 0.105939380825 0.093255937099 0.989989995956 -vn 0.105939380825 0.093255937099 0.989989995956 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn -0.304022520781 0.155782133341 0.939841628075 -vn 0.105939380825 0.093255937099 0.989989995956 -vn 0.091720648110 -0.006141365506 0.995765864849 -vn 0.091720648110 -0.006141365506 0.995765864849 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.365280956030 0.082129344344 0.927267253399 -vn 0.091720648110 -0.006141365506 0.995765864849 -vn 0.074245169759 -0.239324852824 0.968096733093 -vn 0.074245169759 -0.239324852824 0.968096733093 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn 0.074245169759 -0.239324852824 0.968096733093 -vn -0.011659302749 -0.585357308388 0.810691654682 -vn -0.011659302749 -0.585357308388 0.810691654682 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.011659302749 -0.585357308388 0.810691654682 -vn -0.097086712718 -0.792906105518 0.601559698582 -vn -0.097086712718 -0.792906105518 0.601559698582 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn -0.097086712718 -0.792906105518 0.601559698582 -vn -0.014092958532 -0.790904879570 0.611776828766 -vn -0.014092958532 -0.790904879570 0.611776828766 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn 0.105939380825 0.093255937099 0.989989995956 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn 0.344442546368 -0.215144351125 0.913822889328 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn -0.016325036064 -0.353321343660 0.935359537601 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.960693836212 0.275875806808 -0.030982023105 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.924340128899 0.360457271338 0.125163570046 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.339267462492 0.787710845470 0.514207422733 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.299555271864 0.546643376350 0.781951189041 -vn -0.339267462492 0.787710845470 0.514207422733 -vn 0.160609349608 -0.944374680519 -0.286986321211 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn 0.129998713732 -0.981209576130 -0.142576515675 -vn 0.160609349608 -0.944374680519 -0.286986321211 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn 0.395210921764 0.116690479219 0.911148548126 -vn -0.016325036064 -0.353321343660 0.935359537601 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn 0.365930229425 -0.888301491737 0.277516782284 -vn 0.344442546368 -0.215144351125 0.913822889328 -vn 0.676891267300 0.478440582752 0.559386134148 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.215249896049 0.259879410267 0.941344857216 -vn 0.673861861229 0.474872797728 0.566044211388 -vn 0.676891267300 0.478440582752 0.559386134148 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.676891267300 0.478440582752 0.559386134148 -vn 0.673861861229 0.474872797728 0.566044211388 -vn 0.673861861229 0.474872797728 0.566044211388 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.347879409790 0.817592084408 0.458827942610 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn 0.384487777948 0.887601256371 0.253639906645 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn -0.347879409790 0.817592084408 0.458827942610 -vn 0.384487777948 0.887601256371 0.253639906645 -vn -0.347879409790 0.817592084408 0.458827942610 -vn -0.254123061895 0.426116853952 0.868242979050 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.384487777948 0.887601256371 0.253639906645 -vn -0.347879409790 0.817592084408 0.458827942610 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.347879409790 0.817592084408 0.458827942610 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn 0.384487777948 0.887601256371 0.253639906645 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn 0.384487777948 0.887601256371 0.253639906645 -vn 0.685477375984 0.462024539709 0.562720298767 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.201308771968 0.240931555629 0.949434995651 -vn 0.682193696499 0.466817051172 0.562755405903 -vn 0.685477375984 0.462024539709 0.562720298767 -vn -0.240289658308 0.320749431849 0.916177213192 -vn 0.680037975311 0.480506420135 0.553770661354 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.653510272503 0.565980076790 0.502584218979 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.221647694707 0.312501966953 0.923696279526 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.680037975311 0.480506420135 0.553770661354 -vn 0.680037975311 0.480506420135 0.553770661354 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.219177588820 0.295268416405 0.929934263229 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.682748973370 0.479876726866 0.550973832607 -vn 0.682748973370 0.479876726866 0.550973832607 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.225854665041 0.275281429291 0.934456944466 -vn 0.676891267300 0.478440582752 0.559386134148 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.680287778378 0.480499923229 0.553469419479 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.685477375984 0.462024539709 0.562720298767 -vn 0.682193696499 0.466817051172 0.562755405903 -vn 0.682193696499 0.466817051172 0.562755405903 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.680037975311 0.480506420135 0.553770661354 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.680037975311 0.480506420135 0.553770661354 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.682748973370 0.479876726866 0.550973832607 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.676891267300 0.478440582752 0.559386134148 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.676891267300 0.478440582752 0.559386134148 -vn 0.658345997334 0.509523391724 0.554045557976 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.211771011353 0.234253704548 0.948829948902 -vn 0.670803904533 0.475809752941 0.568882465363 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.750280976295 0.265666365623 0.605392277241 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.213284403086 0.286679387093 0.933983266354 -vn 0.665205776691 0.510107040405 0.545244932175 -vn 0.750280976295 0.265666365623 0.605392277241 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.670803904533 0.475809752941 0.568882465363 -vn 0.670803904533 0.475809752941 0.568882465363 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.750280976295 0.265666365623 0.605392277241 -vn 0.665205776691 0.510107040405 0.545244932175 -vn 0.665205776691 0.510107040405 0.545244932175 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.520998537540 -0.756937682629 0.394469082355 -vn 0.340784788132 -0.793341636658 0.504454910755 -vn 0.333805084229 -0.795262694359 0.506094276905 -vn 0.333805084229 -0.795262694359 0.506094276905 -vn 0.523602247238 -0.757869243622 0.389197736979 -vn 0.520998537540 -0.756937682629 0.394469082355 -vn 0.585367500782 -0.787940621376 0.191035225987 -vn 0.520998537540 -0.756937682629 0.394469082355 -vn 0.523602247238 -0.757869243622 0.389197736979 -vn 0.523602247238 -0.757869243622 0.389197736979 -vn 0.588895976543 -0.784702122211 0.193504810333 -vn 0.585367500782 -0.787940621376 0.191035225987 -vn 0.428356975317 -0.900839090347 0.070705041289 -vn 0.585367500782 -0.787940621376 0.191035225987 -vn 0.588895976543 -0.784702122211 0.193504810333 -vn 0.588895976543 -0.784702122211 0.193504810333 -vn 0.425227791071 -0.902204632759 0.072167634964 -vn 0.428356975317 -0.900839090347 0.070705041289 -vn 0.244827017188 -0.958182632923 0.148140966892 -vn 0.428356975317 -0.900839090347 0.070705041289 -vn 0.425227791071 -0.902204632759 0.072167634964 -vn 0.425227791071 -0.902204632759 0.072167634964 -vn 0.247534096241 -0.957624971867 0.147245749831 -vn 0.244827017188 -0.958182632923 0.148140966892 -vn 0.238857537508 -0.902638971806 0.358036190271 -vn 0.244827017188 -0.958182632923 0.148140966892 -vn 0.247534096241 -0.957624971867 0.147245749831 -vn 0.247534096241 -0.957624971867 0.147245749831 -vn 0.239870905876 -0.901330232620 0.360646307468 -vn 0.238857537508 -0.902638971806 0.358036190271 -vn 0.340784788132 -0.793341636658 0.504454910755 -vn 0.238857537508 -0.902638971806 0.358036190271 -vn 0.239870905876 -0.901330232620 0.360646307468 -vn 0.239870905876 -0.901330232620 0.360646307468 -vn 0.333805084229 -0.795262694359 0.506094276905 -vn 0.340784788132 -0.793341636658 0.504454910755 -vn -0.351152896881 0.896278381348 -0.270881265402 -vn -0.389907628298 0.882185220718 -0.264047831297 -vn -0.380583465099 0.884880721569 -0.268593341112 -vn -0.380583465099 0.884880721569 -0.268593341112 -vn -0.349539011717 0.894979357719 -0.277190327644 -vn -0.351152896881 0.896278381348 -0.270881265402 -vn -0.315098047256 0.909006059170 -0.272802501917 -vn -0.351152896881 0.896278381348 -0.270881265402 -vn -0.349539011717 0.894979357719 -0.277190327644 -vn -0.349539011717 0.894979357719 -0.277190327644 -vn -0.314274698496 0.905051290989 -0.286554604769 -vn -0.315098047256 0.909006059170 -0.272802501917 -vn -0.324795067310 0.917077064514 -0.231252595782 -vn -0.315098047256 0.909006059170 -0.272802501917 -vn -0.314274698496 0.905051290989 -0.286554604769 -vn -0.314274698496 0.905051290989 -0.286554604769 -vn -0.327561646700 0.916575074196 -0.229332759976 -vn -0.324795067310 0.917077064514 -0.231252595782 -vn -0.376637071371 0.902566313744 -0.208610922098 -vn -0.324795067310 0.917077064514 -0.231252595782 -vn -0.327561646700 0.916575074196 -0.229332759976 -vn -0.327561646700 0.916575074196 -0.229332759976 -vn -0.376510679722 0.902412891388 -0.209500908852 -vn -0.376637071371 0.902566313744 -0.208610922098 -vn -0.409135401249 0.882911443710 -0.230381488800 -vn -0.376637071371 0.902566313744 -0.208610922098 -vn -0.376510679722 0.902412891388 -0.209500908852 -vn -0.376510679722 0.902412891388 -0.209500908852 -vn -0.404935628176 0.884113430977 -0.233175009489 -vn -0.409135401249 0.882911443710 -0.230381488800 -vn -0.389907628298 0.882185220718 -0.264047831297 -vn -0.409135401249 0.882911443710 -0.230381488800 -vn -0.404935628176 0.884113430977 -0.233175009489 -vn -0.404935628176 0.884113430977 -0.233175009489 -vn -0.380583465099 0.884880721569 -0.268593341112 -vn -0.389907628298 0.882185220718 -0.264047831297 -vn 0.570412695408 0.657898664474 0.491730272770 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.227320805192 0.221673280001 0.948254287243 -vn -0.227320805192 0.221673280001 0.948254287243 -vn 0.699121236801 0.428781896830 0.572167456150 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.699121236801 0.428781896830 0.572167456150 -vn 0.699121236801 0.428781896830 0.572167456150 -vn 0.892048120499 0.221571207047 -0.393898874521 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.892048120499 0.221571207047 -0.393898874521 -vn 0.892048120499 0.221571207047 -0.393898874521 -vn 0.232417941093 -0.321322321892 -0.918005347252 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn 0.232417941093 -0.321322321892 -0.918005347252 -vn 0.232417941093 -0.321322321892 -0.918005347252 -vn -0.622993707657 -0.581864595413 -0.522792935371 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.622993707657 -0.581864595413 -0.522792935371 -vn -0.622993707657 -0.581864595413 -0.522792935371 -vn -0.857758522034 -0.317021489143 0.404657512903 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.857758522034 -0.317021489143 0.404657512903 -vn -0.857758522034 -0.317021489143 0.404657512903 -vn -0.227320805192 0.221673280001 0.948254287243 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.153622061014 0.138630852103 0.978356659412 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.551810741425 0.698545396328 0.455564767122 -vn 0.551810741425 0.698545396328 0.455564767122 -vn -0.257132411003 0.416455388069 0.872036576271 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.257132411003 0.416455388069 0.872036576271 -vn -0.257132411003 0.416455388069 0.872036576271 -vn -0.917856097221 -0.143156483769 0.370197772980 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.917856097221 -0.143156483769 0.370197772980 -vn -0.917856097221 -0.143156483769 0.370197772980 -vn -0.723487615585 -0.324982106686 -0.609058499336 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn -0.723487615585 -0.324982106686 -0.609058499336 -vn -0.723487615585 -0.324982106686 -0.609058499336 -vn 0.159523501992 -0.123263031244 -0.979468464851 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.159523501992 -0.123263031244 -0.979468464851 -vn 0.159523501992 -0.123263031244 -0.979468464851 -vn 0.838533520699 0.315829396248 -0.443974435329 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.838533520699 0.315829396248 -0.443974435329 -vn 0.838533520699 0.315829396248 -0.443974435329 -vn 0.551810741425 0.698545396328 0.455564767122 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.543161213398 0.695157170296 0.470884680748 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.263800501823 0.365938633680 0.892467498779 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.117148451507 0.034600071609 0.992511510849 -vn 0.750280976295 0.265666365623 0.605392277241 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.706371426582 0.398818373680 0.584793448448 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.750280976295 0.265666365623 0.605392277241 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.750280976295 0.265666365623 0.605392277241 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.764939725399 0.154692605138 0.625249862671 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.696267127991 0.416324853897 0.584709942341 -vn -0.163892567158 0.169382914901 0.971827507019 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.168904587626 0.153192564845 0.973654627800 -vn 0.700519919395 0.417314112186 0.578896164894 -vn 0.696267127991 0.416324853897 0.584709942341 -vn -0.163892567158 0.169382914901 0.971827507019 -vn -0.869695901871 -0.274154037237 0.410449296236 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.163892567158 0.169382914901 0.971827507019 -vn -0.869695901871 -0.274154037237 0.410449296236 -vn -0.680004060268 -0.465699821711 -0.566319882870 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.869695901871 -0.274154037237 0.410449296236 -vn -0.680004060268 -0.465699821711 -0.566319882870 -vn 0.207809269428 -0.215856730938 -0.954055130482 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn -0.680004060268 -0.465699821711 -0.566319882870 -vn 0.207809269428 -0.215856730938 -0.954055130482 -vn 0.899366557598 0.232333302498 -0.370352536440 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.207809269428 -0.215856730938 -0.954055130482 -vn 0.899366557598 0.232333302498 -0.370352536440 -vn 0.696267127991 0.416324853897 0.584709942341 -vn 0.700519919395 0.417314112186 0.578896164894 -vn 0.700519919395 0.417314112186 0.578896164894 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.899366557598 0.232333302498 -0.370352536440 -vn -0.662377238274 -0.626874268055 0.410225600004 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn -0.499279826880 -0.238045200706 0.833099126816 -vn -0.499279826880 -0.238045200706 0.833099126816 -vn -0.804239809513 -0.440206110477 0.399270415306 -vn -0.662377238274 -0.626874268055 0.410225600004 -vn -0.522163152695 -0.246549248695 -0.816430747509 -vn -0.512087404728 -0.264961868525 -0.817044496536 -vn -0.473620533943 -0.329276412725 -0.816860198975 -vn -0.473620533943 -0.329276412725 -0.816860198975 -vn -0.473841011524 -0.329637020826 -0.816586852074 -vn -0.522163152695 -0.246549248695 -0.816430747509 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.382704496384 0.445656538010 -0.809275925159 -vn 0.526769578457 0.236967489123 -0.816308915615 -vn 0.526769578457 0.236967489123 -0.816308915615 -vn 0.847266793251 0.458697319031 -0.267835289240 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.804961979389 0.551999032497 0.217562019825 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.847266793251 0.458697319031 -0.267835289240 -vn 0.847266793251 0.458697319031 -0.267835289240 -vn 0.838858008385 0.494629532099 0.227285787463 -vn 0.804961979389 0.551999032497 0.217562019825 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn 0.048752576113 -0.154843926430 0.986735284328 -vn -0.069586545229 0.022697513923 0.997317671776 -vn -0.069586545229 0.022697513923 0.997317671776 -vn -0.499279826880 -0.238045200706 0.833099126816 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn -0.342832326889 -0.903053998947 0.258765399456 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn -0.662377238274 -0.626874268055 0.410225600004 -vn -0.342832326889 -0.903053998947 0.258765399456 -vn -0.654632925987 -0.115691319108 -0.747041642666 -vn -0.644643008709 -0.127199381590 -0.753827393055 -vn -0.512087404728 -0.264961868525 -0.817044496536 -vn -0.512087404728 -0.264961868525 -0.817044496536 -vn -0.522163152695 -0.246549248695 -0.816430747509 -vn -0.654632925987 -0.115691319108 -0.747041642666 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn -0.013651727699 0.782738447189 -0.622201085091 -vn 0.382704496384 0.445656538010 -0.809275925159 -vn 0.382704496384 0.445656538010 -0.809275925159 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.662259042263 0.684042572975 0.305775582790 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.804961979389 0.551999032497 0.217562019825 -vn 0.662259042263 0.684042572975 0.305775582790 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn 0.393361032009 -0.415148884058 0.820316076279 -vn 0.048752576113 -0.154843926430 0.986735284328 -vn 0.048752576113 -0.154843926430 0.986735284328 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn 0.048680081964 -0.994659066200 -0.091014303267 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn -0.342832326889 -0.903053998947 0.258765399456 -vn 0.048680081964 -0.994659066200 -0.091014303267 -vn -0.803988158703 -0.094470322132 -0.587093174458 -vn -0.801242232323 -0.099859014153 -0.589948415756 -vn -0.644643008709 -0.127199381590 -0.753827393055 -vn -0.644643008709 -0.127199381590 -0.753827393055 -vn -0.654632925987 -0.115691319108 -0.747041642666 -vn -0.803988158703 -0.094470322132 -0.587093174458 -vn 0.089037470520 0.972759723663 0.214034825563 -vn -0.451572537422 0.873713314533 -0.180851474404 -vn -0.013651727699 0.782738447189 -0.622201085091 -vn -0.013651727699 0.782738447189 -0.622201085091 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.089037470520 0.972759723663 0.214034825563 -vn 0.490652501583 0.740379989147 0.459453642368 -vn 0.089037470520 0.972759723663 0.214034825563 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.662259042263 0.684042572975 0.305775582790 -vn 0.490652501583 0.740379989147 0.459453642368 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.712795853615 -0.526864945889 0.462963700294 -vn 0.393361032009 -0.415148884058 0.820316076279 -vn 0.393361032009 -0.415148884058 0.820316076279 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.251401871443 -0.758408725262 -0.601342916489 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.048680081964 -0.994659066200 -0.091014303267 -vn 0.251401871443 -0.758408725262 -0.601342916489 -vn -0.893262147903 -0.230714723468 -0.385815322399 -vn -0.885544598103 -0.229386016726 -0.403971284628 -vn -0.801242232323 -0.099859014153 -0.589948415756 -vn -0.801242232323 -0.099859014153 -0.589948415756 -vn -0.803988158703 -0.094470322132 -0.587093174458 -vn -0.893262147903 -0.230714723468 -0.385815322399 -vn -0.079347580671 0.714547991753 0.695071995258 -vn -0.715602040291 0.563986122608 0.412108510733 -vn -0.451572537422 0.873713314533 -0.180851474404 -vn -0.451572537422 0.873713314533 -0.180851474404 -vn 0.089037470520 0.972759723663 0.214034825563 -vn -0.079347580671 0.714547991753 0.695071995258 -vn 0.405009925365 0.626119792461 0.666288971901 -vn -0.079347580671 0.714547991753 0.695071995258 -vn 0.089037470520 0.972759723663 0.214034825563 -vn 0.089037470520 0.972759723663 0.214034825563 -vn 0.490652501583 0.740379989147 0.459453642368 -vn 0.405009925365 0.626119792461 0.666288971901 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.959425985813 -0.281454920769 -0.016879195347 -vn 0.712795853615 -0.526864945889 0.462963700294 -vn 0.712795853615 -0.526864945889 0.462963700294 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.135830551386 -0.277985215187 -0.950933396816 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.251401871443 -0.758408725262 -0.601342916489 -vn 0.135830551386 -0.277985215187 -0.950933396816 -vn -0.846260547638 -0.440019220114 -0.300376683474 -vn -0.846942424774 -0.425363630056 -0.318989604712 -vn -0.885544598103 -0.229386016726 -0.403971284628 -vn -0.885544598103 -0.229386016726 -0.403971284628 -vn -0.893262147903 -0.230714723468 -0.385815322399 -vn -0.846260547638 -0.440019220114 -0.300376683474 -vn 0.038355976343 0.223484531045 0.973952531815 -vn -0.579691588879 -0.009793659672 0.814777135849 -vn -0.715602040291 0.563986122608 0.412108510733 -vn -0.715602040291 0.563986122608 0.412108510733 -vn -0.079347580671 0.714547991753 0.695071995258 -vn 0.038355976343 0.223484531045 0.973952531815 -vn 0.449782669544 0.419279068708 0.788606762886 -vn 0.038355976343 0.223484531045 0.973952531815 -vn -0.079347580671 0.714547991753 0.695071995258 -vn -0.079347580671 0.714547991753 0.695071995258 -vn 0.405009925365 0.626119792461 0.666288971901 -vn 0.449782669544 0.419279068708 0.788606762886 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.915183722973 0.209073305130 -0.344568014145 -vn 0.959425985813 -0.281454920769 -0.016879195347 -vn 0.959425985813 -0.281454920769 -0.016879195347 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn -0.197052255273 0.120570488274 -0.972950756550 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.135830551386 -0.277985215187 -0.950933396816 -vn -0.197052255273 0.120570488274 -0.972950756550 -vn -0.748504459858 -0.580423593521 -0.320701569319 -vn -0.756549417973 -0.568829655647 -0.322592258453 -vn -0.846942424774 -0.425363630056 -0.318989604712 -vn -0.846942424774 -0.425363630056 -0.318989604712 -vn -0.846260547638 -0.440019220114 -0.300376683474 -vn -0.748504459858 -0.580423593521 -0.320701569319 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn -0.239331066608 -0.482139617205 0.842770457268 -vn -0.579691588879 -0.009793659672 0.814777135849 -vn -0.579691588879 -0.009793659672 0.814777135849 -vn 0.038355976343 0.223484531045 0.973952531815 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.573455870152 0.261886984110 0.776249706745 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.038355976343 0.223484531045 0.973952531815 -vn 0.038355976343 0.223484531045 0.973952531815 -vn 0.449782669544 0.419279068708 0.788606762886 -vn 0.573455870152 0.261886984110 0.776249706745 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn 0.657979726791 0.678265154362 -0.327137589455 -vn 0.915183722973 0.209073305130 -0.344568014145 -vn 0.915183722973 0.209073305130 -0.344568014145 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn -0.438953995705 0.307949036360 -0.844089329243 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn -0.197052255273 0.120570488274 -0.972950756550 -vn -0.438953995705 0.307949036360 -0.844089329243 -vn -0.577075004578 -0.720137119293 -0.385210335255 -vn -0.631202220917 -0.677794516087 -0.377065479755 -vn -0.756549417973 -0.568829655647 -0.322592258453 -vn -0.756549417973 -0.568829655647 -0.322592258453 -vn -0.748504459858 -0.580423593521 -0.320701569319 -vn -0.577075004578 -0.720137119293 -0.385210335255 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.107150927186 -0.772752523422 0.625597476959 -vn -0.239331066608 -0.482139617205 0.842770457268 -vn -0.239331066608 -0.482139617205 0.842770457268 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.675563931465 0.163798823953 0.718876481056 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.573455870152 0.261886984110 0.776249706745 -vn 0.675563931465 0.163798823953 0.718876481056 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn 0.393360197544 0.904708862305 -0.163614228368 -vn 0.657979726791 0.678265154362 -0.327137589455 -vn 0.657979726791 0.678265154362 -0.327137589455 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn -0.514398455620 0.378968864679 -0.769270300865 -vn -0.137769415975 0.828296601772 -0.543087780476 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn -0.438953995705 0.307949036360 -0.844089329243 -vn -0.514398455620 0.378968864679 -0.769270300865 -vn -0.556825041771 -0.704007327557 -0.440816938877 -vn -0.600282192230 -0.662484288216 -0.448080182076 -vn -0.631202220917 -0.677794516087 -0.377065479755 -vn -0.631202220917 -0.677794516087 -0.377065479755 -vn -0.577075004578 -0.720137119293 -0.385210335255 -vn -0.556825041771 -0.704007327557 -0.440816938877 -vn 0.684020638466 -0.337137818336 0.646880090237 -vn 0.223079264164 -0.842810750008 0.489801704884 -vn 0.107150927186 -0.772752523422 0.625597476959 -vn 0.107150927186 -0.772752523422 0.625597476959 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.684020638466 -0.337137818336 0.646880090237 -vn 0.769818246365 0.161918729544 0.617383360863 -vn 0.684020638466 -0.337137818336 0.646880090237 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.675563931465 0.163798823953 0.718876481056 -vn 0.769818246365 0.161918729544 0.617383360863 -vn -0.137769415975 0.828296601772 -0.543087780476 -vn 0.298304438591 0.947766005993 -0.112933620811 -vn 0.393360197544 0.904708862305 -0.163614228368 -vn 0.393360197544 0.904708862305 -0.163614228368 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn -0.137769415975 0.828296601772 -0.543087780476 -vn -0.218723073602 0.307124495506 0.926193714142 -vn 0.682748973370 0.479876726866 0.550973832607 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.676530897617 0.479380965233 0.559016883373 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.682748973370 0.479876726866 0.550973832607 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.682748973370 0.479876726866 0.550973832607 -vn -0.231893524528 0.286410689354 0.929620504379 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.681994259357 0.479156374931 0.552533268929 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.673861861229 0.474872797728 0.566044211388 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.206624403596 0.240915045142 0.948296546936 -vn 0.685477375984 0.462024539709 0.562720298767 -vn 0.673861861229 0.474872797728 0.566044211388 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.673861861229 0.474872797728 0.566044211388 -vn 0.685477375984 0.462024539709 0.562720298767 -vn 0.685477375984 0.462024539709 0.562720298767 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.682193696499 0.466817051172 0.562755405903 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.206473186612 0.250022917986 0.945968985558 -vn -0.206473186612 0.250022917986 0.945968985558 -vn 0.672250747681 0.474375575781 0.568372070789 -vn 0.682193696499 0.466817051172 0.562755405903 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.892609059811 -0.207406908274 0.400289177895 -vn -0.892609059811 -0.207406908274 0.400289177895 -vn -0.206473186612 0.250022917986 0.945968985558 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn -0.697274863720 -0.451277852058 -0.556916594505 -vn -0.697274863720 -0.451277852058 -0.556916594505 -vn -0.892609059811 -0.207406908274 0.400289177895 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.194074183702 -0.230058833957 -0.953628957272 -vn 0.194074183702 -0.230058833957 -0.953628957272 -vn -0.697274863720 -0.451277852058 -0.556916594505 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.889703333378 0.238144084811 -0.389506608248 -vn 0.889703333378 0.238144084811 -0.389506608248 -vn 0.194074183702 -0.230058833957 -0.953628957272 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.682193696499 0.466817051172 0.562755405903 -vn 0.672250747681 0.474375575781 0.568372070789 -vn 0.672250747681 0.474375575781 0.568372070789 -vn 0.889703333378 0.238144084811 -0.389506608248 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.665205776691 0.510107040405 0.545244932175 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.226969450712 0.276726186275 0.933759868145 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.665205776691 0.510107040405 0.545244932175 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.665205776691 0.510107040405 0.545244932175 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.670803904533 0.475809752941 0.568882465363 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.272610336542 0.367797374725 0.889049291611 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.670803904533 0.475809752941 0.568882465363 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.670803904533 0.475809752941 0.568882465363 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.700519919395 0.417314112186 0.578896164894 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.700519919395 0.417314112186 0.578896164894 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.700519919395 0.417314112186 0.578896164894 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.229584172368 0.852379977703 0.469829171896 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn 0.260936617851 0.964896023273 -0.029794689268 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.985347628593 -0.062460951507 0.158709406853 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.985347628593 -0.062460951507 0.158709406853 -vn 0.335055351257 -0.725507557392 -0.601146161556 -vn 0.335055351257 -0.725507557392 -0.601146161556 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn 0.335055351257 -0.725507557392 -0.601146161556 -vn 0.335055351257 -0.725507557392 -0.601146161556 -vn -0.723464310169 -0.577978670597 -0.377544850111 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.616893053055 0.346695452929 0.706572890282 -vn 0.616893053055 0.346695452929 0.706572890282 -vn 0.985347628593 -0.062460951507 0.158709406853 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.605078577995 0.364442020655 0.707857310772 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.603666186333 0.348124086857 0.717214584351 -vn 0.616893053055 0.346695452929 0.706572890282 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.605078577995 0.364442020655 0.707857310772 -vn 0.603666186333 0.348124086857 0.717214584351 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.581736147404 0.413781523705 0.700262784958 -vn 0.582295238972 0.388309806585 0.714246273041 -vn 0.605078577995 0.364442020655 0.707857310772 -vn 0.605078577995 0.364442020655 0.707857310772 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.581736147404 0.413781523705 0.700262784958 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.573984384537 0.438848376274 0.691342175007 -vn 0.573984384537 0.438848376274 0.691342175007 -vn 0.581736147404 0.413781523705 0.700262784958 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.566616058350 0.477363884449 0.671617388725 -vn 0.573984384537 0.438848376274 0.691342175007 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.566616058350 0.477363884449 0.671617388725 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.558988094330 0.524203598499 0.642450690269 -vn 0.554501175880 0.500465869904 0.664877712727 -vn 0.566616058350 0.477363884449 0.671617388725 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.558988094330 0.524203598499 0.642450690269 -vn 0.554501175880 0.500465869904 0.664877712727 -vn 0.541685938835 0.558042049408 0.628621816635 -vn 0.558988094330 0.524203598499 0.642450690269 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.660991668701 0.493317723274 0.565444648266 -vn 0.541685938835 0.558042049408 0.628621816635 -vn 0.491780072451 0.556345999241 0.669799625874 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.370886951685 0.612930238247 0.697681427002 -vn 0.491780072451 0.556345999241 0.669799625874 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.383700132370 0.539854407310 0.749220550060 -vn -0.067740865052 0.924975275993 0.373941093683 -vn 0.004882045556 0.808167695999 0.588932156563 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.260936617851 0.964896023273 -0.029794689268 -vn -0.067740865052 0.924975275993 0.373941093683 -vn 0.383700132370 0.539854407310 0.749220550060 -vn -0.062585294247 0.512094378471 0.856646001339 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.227120384574 0.774927020073 -0.589834272861 -vn 0.229398831725 0.792460381985 -0.565139591694 -vn 0.225670069456 0.764190435410 -0.604223489761 -vn 0.225670069456 0.764190435410 -0.604223489761 -vn 0.221627816558 0.735603809357 -0.640131354332 -vn 0.227120384574 0.774927020073 -0.589834272861 -vn -0.416140437126 0.849503874779 -0.324299782515 -vn 0.199336946011 0.966365575790 -0.162488013506 -vn -0.063228040934 0.967862427235 -0.243401989341 -vn -0.063228040934 0.967862427235 -0.243401989341 -vn -0.526178479195 0.778710901737 -0.341680556536 -vn -0.416140437126 0.849503874779 -0.324299782515 -vn -0.037351265550 -0.659526169300 0.750753045082 -vn -0.005032873247 -0.546992003918 0.837122738361 -vn -0.018200494349 -0.594198882580 0.804112195969 -vn -0.018200494349 -0.594198882580 0.804112195969 -vn -0.058633551002 -0.727339625359 0.683768332005 -vn -0.037351265550 -0.659526169300 0.750753045082 -vn -0.597158789635 -0.182681038976 0.781043529510 -vn -0.709266424179 0.149740710855 0.688853323460 -vn -0.714168488979 0.133881628513 0.687050998211 -vn -0.714168488979 0.133881628513 0.687050998211 -vn -0.601092875004 -0.198408842087 0.774158477783 -vn -0.597158789635 -0.182681038976 0.781043529510 -vn -0.310718089342 0.886000812054 -0.344175636768 -vn -0.286670923233 0.777926385403 -0.559151470661 -vn -0.306549847126 0.864508807659 -0.398311138153 -vn -0.306549847126 0.864508807659 -0.398311138153 -vn -0.316740483046 0.940792977810 -0.120764441788 -vn -0.310718089342 0.886000812054 -0.344175636768 -vn -0.758818030357 0.390478551388 0.521269321442 -vn -0.766251981258 0.386263102293 0.513477087021 -vn -0.688824176788 0.425401031971 0.586988270283 -vn -0.688824176788 0.425401031971 0.586988270283 -vn -0.679944336414 0.429292380810 0.594460844994 -vn -0.758818030357 0.390478551388 0.521269321442 -vn -0.714168488979 0.133881628513 0.687050998211 -vn -0.709266424179 0.149740710855 0.688853323460 -vn -0.755035281181 0.451850354671 0.475134670734 -vn -0.755035281181 0.451850354671 0.475134670734 -vn -0.755384206772 0.451619952917 0.474799036980 -vn -0.714168488979 0.133881628513 0.687050998211 -vn 0.004882045556 0.808167695999 0.588932156563 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.696129977703 0.598392426968 0.396647810936 -vn -0.062585294247 0.512094378471 0.856646001339 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.004882045556 0.808167695999 0.588932156563 -vn -0.062585294247 0.512094378471 0.856646001339 -vn 0.004882045556 0.808167695999 0.588932156563 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.062585294247 0.512094378471 0.856646001339 -vn -0.067740865052 0.924975275993 0.373941093683 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn 0.004882045556 0.808167695999 0.588932156563 -vn -0.067740865052 0.924975275993 0.373941093683 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.067740865052 0.924975275993 0.373941093683 -vn 0.260936617851 0.964896023273 -0.029794689268 -vn 0.260936617851 0.964896023273 -0.029794689268 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.207069844007 -0.739300668240 0.640746891499 -vn -0.082042597234 -0.496342778206 0.864241182804 -vn -0.082584783435 -0.501806735992 0.861028313637 -vn -0.082584783435 -0.501806735992 0.861028313637 -vn -0.218742683530 -0.747778773308 0.626880049706 -vn -0.207069844007 -0.739300668240 0.640746891499 -vn -0.082042597234 -0.496342778206 0.864241182804 -vn -0.336433708668 -0.580547392368 0.741469502449 -vn -0.329182595015 -0.575041651726 0.748976588249 -vn -0.329182595015 -0.575041651726 0.748976588249 -vn -0.082584783435 -0.501806735992 0.861028313637 -vn -0.082042597234 -0.496342778206 0.864241182804 -vn -0.723464310169 -0.577978670597 -0.377544850111 -vn -0.792546272278 -0.441156685352 -0.421012073755 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.723464310169 -0.577978670597 -0.377544850111 -vn -0.290420413017 -0.288244158030 0.912453472614 -vn -0.292118996382 -0.289201915264 0.911607801914 -vn -0.343499422073 -0.192366912961 0.919240534306 -vn -0.343499422073 -0.192366912961 0.919240534306 -vn -0.331636220217 -0.201299607754 0.921680986881 -vn -0.290420413017 -0.288244158030 0.912453472614 -vn -0.343499422073 -0.192366912961 0.919240534306 -vn -0.530348896980 -0.108248136938 0.840840280056 -vn -0.531560599804 -0.106481343508 0.840300559998 -vn -0.531560599804 -0.106481343508 0.840300559998 -vn -0.331636220217 -0.201299607754 0.921680986881 -vn -0.343499422073 -0.192366912961 0.919240534306 -vn -0.711355686188 0.047995567322 0.701191484928 -vn -0.715247035027 0.057760063559 0.696480751038 -vn -0.531560599804 -0.106481343508 0.840300559998 -vn -0.531560599804 -0.106481343508 0.840300559998 -vn -0.530348896980 -0.108248136938 0.840840280056 -vn -0.711355686188 0.047995567322 0.701191484928 -vn -0.678254187107 0.233527660370 0.696732461452 -vn -0.676289498806 0.234662115574 0.698259413242 -vn -0.715247035027 0.057760063559 0.696480751038 -vn -0.715247035027 0.057760063559 0.696480751038 -vn -0.711355686188 0.047995567322 0.701191484928 -vn -0.678254187107 0.233527660370 0.696732461452 -vn -0.807819128036 -0.426007598639 -0.407364487648 -vn -0.787681639194 -0.419256091118 -0.451422154903 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.771373629570 -0.445649206638 -0.454290151596 -vn -0.807819128036 -0.426007598639 -0.407364487648 -vn -0.807143092155 -0.382068574429 -0.450048476458 -vn -0.822031438351 -0.366936504841 -0.435455977917 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.787681639194 -0.419256091118 -0.451422154903 -vn -0.807143092155 -0.382068574429 -0.450048476458 -vn -0.813188791275 -0.351887822151 -0.463571965694 -vn -0.833994865417 -0.328578948975 -0.443270176649 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.813188791275 -0.351887822151 -0.463571965694 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.689756512642 -0.386467009783 -0.612273812294 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.689756512642 -0.386467009783 -0.612273812294 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.787681639194 -0.419256091118 -0.451422154903 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.787681639194 -0.419256091118 -0.451422154903 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.763828694820 -0.489515036345 -0.420643240213 -vn -0.771373629570 -0.445649206638 -0.454290151596 -vn -0.771373629570 -0.445649206638 -0.454290151596 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.730110049248 -0.523954749107 -0.438646525145 -vn -0.763828694820 -0.489515036345 -0.420643240213 -vn -0.763828694820 -0.489515036345 -0.420643240213 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.730110049248 -0.523954749107 -0.438646525145 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.818468391895 -0.371596157551 -0.438207447529 -vn -0.818468391895 -0.371596157551 -0.438207447529 -vn -0.667977154255 -0.468124926090 -0.578502893448 -vn -0.730110049248 -0.523954749107 -0.438646525145 -vn 0.631962656975 -0.748235523701 0.201907843351 -vn 0.605304896832 -0.786918938160 0.119852282107 -vn 0.620291948318 -0.767025291920 0.164042875171 -vn 0.620291948318 -0.767025291920 0.164042875171 -vn 0.644578337669 -0.723311424255 0.247667729855 -vn 0.631962656975 -0.748235523701 0.201907843351 -vn -0.663433015347 0.574735462666 0.479098916054 -vn -0.576117694378 0.644429028034 0.502791821957 -vn -0.603480875492 0.624114632607 0.496277928352 -vn -0.603480875492 0.624114632607 0.496277928352 -vn -0.706421017647 0.534547507763 0.463927060366 -vn -0.663433015347 0.574735462666 0.479098916054 -vn -0.818468391895 -0.371596157551 -0.438207447529 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.792546272278 -0.441156685352 -0.421012073755 -vn -0.818468391895 -0.371596157551 -0.438207447529 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.041993357241 0.797598063946 0.601725757122 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn 0.229584172368 0.852379977703 0.469829171896 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.426158398390 0.826792299747 0.367155998945 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.640465438366 -0.704728960991 0.305223017931 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.640465438366 -0.704728960991 0.305223017931 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.313647478819 -0.631883203983 -0.708765745163 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.313647478819 -0.631883203983 -0.708765745163 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.640465438366 -0.704728960991 0.305223017931 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.640465438366 -0.704728960991 0.305223017931 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn -0.313647478819 -0.631883203983 -0.708765745163 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.313647478819 -0.631883203983 -0.708765745163 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn 0.378463476896 0.783811092377 0.492346972227 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn 0.388690173626 0.732356131077 0.559083580971 -vn -0.334084272385 0.786465167999 0.519480764866 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.411167144775 0.906487345695 0.096032403409 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.388690173626 0.732356131077 0.559083580971 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.334084272385 0.786465167999 0.519480764866 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.334084272385 0.786465167999 0.519480764866 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn -0.740822911263 0.609460711479 0.282381057739 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn -0.334084272385 0.786465167999 0.519480764866 -vn 0.388690173626 0.732356131077 0.559083580971 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn 0.388690173626 0.732356131077 0.559083580971 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.388690173626 0.732356131077 0.559083580971 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.682607948780 0.602593600750 -0.413433611393 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.388690173626 0.732356131077 0.559083580971 -vn 0.388690173626 0.732356131077 0.559083580971 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.812969028950 0.469094514847 0.345009744167 -vn 0.817769885063 0.481556564569 0.315207391977 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.812969028950 0.469094514847 0.345009744167 -vn 0.806812405586 0.465968638659 0.363217532635 -vn 0.812969028950 0.469094514847 0.345009744167 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.806812405586 0.465968638659 0.363217532635 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.820294380188 0.412772327662 0.395899116993 -vn 0.806812405586 0.465968638659 0.363217532635 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.820294380188 0.412772327662 0.395899116993 -vn 0.915219843388 0.365772277117 0.169065743685 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn 0.915219843388 0.365772277117 0.169065743685 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.682607948780 0.602593600750 -0.413433611393 -vn -0.152807876468 0.003922926262 -0.988248109818 -vn -0.152807876468 0.003922926262 -0.988248109818 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn -0.152807876468 0.003922926262 -0.988248109818 -vn 0.571283638477 0.195726588368 -0.797073483467 -vn 0.581513226032 0.206123635173 -0.786991357803 -vn 0.531929790974 0.057460013777 -0.844836711884 -vn 0.531929790974 0.057460013777 -0.844836711884 -vn 0.559709072113 0.020506501198 -0.828435420990 -vn 0.571283638477 0.195726588368 -0.797073483467 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.595149517059 -0.417273491621 -0.686789572239 -vn -0.577492237091 -0.461448967457 -0.673474252224 -vn -0.577492237091 -0.461448967457 -0.673474252224 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.509972751141 0.793636679649 -0.331765860319 -vn -0.537571310997 0.772639870644 -0.337705105543 -vn -0.534661054611 0.774923622608 -0.337091892958 -vn -0.534661054611 0.774923622608 -0.337091892958 -vn -0.495952785015 0.803755402565 -0.328645855188 -vn -0.509972751141 0.793636679649 -0.331765860319 -vn 0.628486037254 -0.765047073364 0.140386179090 -vn 0.629080116749 -0.764525115490 0.140568733215 -vn 0.627358913422 -0.766035020351 0.140039905906 -vn 0.627358913422 -0.766035020351 0.140039905906 -vn 0.627170860767 -0.766199529171 0.139982149005 -vn 0.628486037254 -0.765047073364 0.140386179090 -vn 0.531929790974 0.057460013777 -0.844836711884 -vn 0.601446866989 -0.122731477022 -0.789429366589 -vn 0.618541955948 -0.147163629532 -0.771847546101 -vn 0.618541955948 -0.147163629532 -0.771847546101 -vn 0.559709072113 0.020506501198 -0.828435420990 -vn 0.531929790974 0.057460013777 -0.844836711884 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.577492237091 -0.461448967457 -0.673474252224 -vn -0.526679396629 -0.509270489216 -0.680626451969 -vn 0.601446866989 -0.122731477022 -0.789429366589 -vn 0.734982609749 -0.236774384975 -0.635404169559 -vn 0.734118044376 -0.247591629624 -0.632272958755 -vn 0.734118044376 -0.247591629624 -0.632272958755 -vn 0.618541955948 -0.147163629532 -0.771847546101 -vn 0.601446866989 -0.122731477022 -0.789429366589 -vn -0.526679396629 -0.509270489216 -0.680626451969 -vn -0.506287515163 -0.536978483200 -0.674779236317 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.526679396629 -0.509270489216 -0.680626451969 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn 0.734118044376 -0.247591629624 -0.632272958755 -vn 0.734982609749 -0.236774384975 -0.635404169559 -vn 0.604554712772 -0.406347364187 -0.685124337673 -vn 0.604554712772 -0.406347364187 -0.685124337673 -vn 0.599086761475 -0.409433424473 -0.688083827496 -vn 0.734118044376 -0.247591629624 -0.632272958755 -vn -0.506287515163 -0.536978483200 -0.674779236317 -vn -0.700512945652 -0.458336979151 -0.546999812126 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.506287515163 -0.536978483200 -0.674779236317 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn -0.755449414253 -0.654008865356 -0.039605412632 -vn -0.755449414253 -0.654008865356 -0.039605412632 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.755449414253 -0.654008865356 -0.039605412632 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn 0.572836101055 0.156684830785 0.804554939270 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn 0.355971693993 -0.698756396770 0.620502710342 -vn 0.354127824306 -0.701984345913 0.617908954620 -vn 0.354813098907 -0.700787842274 0.618873238564 -vn 0.354813098907 -0.700787842274 0.618873238564 -vn 0.356339871883 -0.698108613491 0.621020376682 -vn 0.355971693993 -0.698756396770 0.620502710342 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn 0.915219843388 0.365772277117 0.169065743685 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn -0.755449414253 -0.654008865356 -0.039605412632 -vn 0.558988094330 0.524203598499 0.642450690269 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.830982983112 0.368793278933 0.416483879089 -vn 0.820294380188 0.412772327662 0.395899116993 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.915219843388 0.365772277117 0.169065743685 -vn 0.830982983112 0.368793278933 0.416483879089 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.689756512642 -0.386467009783 -0.612273812294 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.225397258997 0.847410619259 0.480719625950 -vn -0.022359715775 0.783848524094 0.620549440384 -vn -0.022359715775 0.783848524094 0.620549440384 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.176284044981 0.601203441620 0.779408991337 -vn -0.022359715775 0.783848524094 0.620549440384 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.221020415425 0.617830932140 0.754609107971 -vn 0.016968332231 0.508910477161 0.860652208328 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.016968332231 0.508910477161 0.860652208328 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.107152707875 0.334624469280 0.936239659786 -vn 0.016968332231 0.508910477161 0.860652208328 -vn -0.107152707875 0.334624469280 0.936239659786 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.107152707875 0.334624469280 0.936239659786 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.225397258997 0.847410619259 0.480719625950 -vn 0.225397258997 0.847410619259 0.480719625950 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.225397258997 0.847410619259 0.480719625950 -vn 0.072499595582 0.978071272373 0.195244491100 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.022359715775 0.783848524094 0.620549440384 -vn 0.225397258997 0.847410619259 0.480719625950 -vn -0.022359715775 0.783848524094 0.620549440384 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.022359715775 0.783848524094 0.620549440384 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.072499595582 0.978071272373 0.195244491100 -vn 0.072499595582 0.978071272373 0.195244491100 -vn 0.225397258997 0.847410619259 0.480719625950 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.072499595582 0.978071272373 0.195244491100 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.235830068588 0.898830175400 0.369443446398 -vn 0.072499595582 0.978071272373 0.195244491100 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn 0.072499595582 0.978071272373 0.195244491100 -vn 0.395072251558 0.917763888836 0.040340516716 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn -0.184946745634 0.935617744923 -0.300689518452 -vn -0.510389328003 0.851969182491 -0.116838611662 -vn -0.510389328003 0.851969182491 -0.116838611662 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.510389328003 0.851969182491 -0.116838611662 -vn -0.771237671375 0.633772552013 0.059369832277 -vn -0.771237671375 0.633772552013 0.059369832277 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.771237671375 0.633772552013 0.059369832277 -vn -0.927791595459 0.314238816500 0.201138496399 -vn -0.927791595459 0.314238816500 0.201138496399 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.927791595459 0.314238816500 0.201138496399 -vn -0.956224083900 -0.057976730168 0.286834865808 -vn -0.956224083900 -0.057976730168 0.286834865808 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.956224083900 -0.057976730168 0.286834865808 -vn -0.852196872234 -0.426232755184 0.303456902504 -vn -0.852196872234 -0.426232755184 0.303456902504 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.852196872234 -0.426232755184 0.303456902504 -vn -0.631541669369 -0.734460175037 0.248441949487 -vn -0.631541669369 -0.734460175037 0.248441949487 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.631541669369 -0.734460175037 0.248441949487 -vn -0.327866882086 -0.935713112354 0.130170091987 -vn -0.327866882086 -0.935713112354 0.130170091987 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn -0.327866882086 -0.935713112354 0.130170091987 -vn 0.012606930919 -0.999365031719 -0.033325370401 -vn 0.012606930919 -0.999365031719 -0.033325370401 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.012606930919 -0.999365031719 -0.033325370401 -vn 0.338061541319 -0.915723919868 -0.217173010111 -vn 0.338061541319 -0.915723919868 -0.217173010111 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.338061541319 -0.915723919868 -0.217173010111 -vn 0.598875761032 -0.697550654411 -0.393409401178 -vn 0.598875761032 -0.697550654411 -0.393409401178 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.598875761032 -0.697550654411 -0.393409401178 -vn 0.755454063416 -0.378001183271 -0.535167455673 -vn 0.755454063416 -0.378001183271 -0.535167455673 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.755454063416 -0.378001183271 -0.535167455673 -vn 0.783883988857 -0.005762599874 -0.620880603790 -vn 0.783883988857 -0.005762599874 -0.620880603790 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.783883988857 -0.005762599874 -0.620880603790 -vn 0.679845094681 0.362510502338 -0.637492597103 -vn 0.679845094681 0.362510502338 -0.637492597103 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.679845094681 0.362510502338 -0.637492597103 -vn 0.459209173918 0.670695543289 -0.582489907742 -vn 0.459209173918 0.670695543289 -0.582489907742 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.459209173918 0.670695543289 -0.582489907742 -vn 0.155552893877 0.871945738792 -0.464234739542 -vn 0.155552893877 0.871945738792 -0.464234739542 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.155552893877 0.871945738792 -0.464234739542 -vn -0.184946745634 0.935617744923 -0.300689518452 -vn -0.184946745634 0.935617744923 -0.300689518452 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.656706690788 0.291235148907 0.695642411709 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.427116841078 0.346271544695 0.835264742374 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.427116841078 0.346271544695 0.835264742374 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.440409421921 0.166868761182 0.882153272629 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.169255286455 0.259556770325 0.950780153275 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.440409421921 0.166868761182 0.882153272629 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.197535604239 0.024697216228 0.979984581470 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.440409421921 0.166868761182 0.882153272629 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.440409421921 0.166868761182 0.882153272629 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.427116841078 0.346271544695 0.835264742374 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.016968332231 0.508910477161 0.860652208328 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.169255286455 0.259556770325 0.950780153275 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.016968332231 0.508910477161 0.860652208328 -vn 0.016968332231 0.508910477161 0.860652208328 -vn -0.107152707875 0.334624469280 0.936239659786 -vn 0.169255286455 0.259556770325 0.950780153275 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.169255286455 0.259556770325 0.950780153275 -vn -0.107152707875 0.334624469280 0.936239659786 -vn -0.107152707875 0.334624469280 0.936239659786 -vn -0.115241959691 0.127359017730 0.985139071941 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.197535604239 0.024697216228 0.979984581470 -vn 0.194399654865 0.158964470029 0.967956125736 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn 0.197535604239 0.024697216228 0.979984581470 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.197535604239 0.024697216228 0.979984581470 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.656706690788 0.291235148907 0.695642411709 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.656706690788 0.291235148907 0.695642411709 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.656706690788 0.291235148907 0.695642411709 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.427116841078 0.346271544695 0.835264742374 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.427116841078 0.346271544695 0.835264742374 -vn -0.035729635507 0.607942640781 0.793176591396 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.226580724120 0.800231337547 0.555239558220 -vn -0.063553564250 0.828384757042 0.556542575359 -vn -0.035729635507 0.607942640781 0.793176591396 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.035729635507 0.607942640781 0.793176591396 -vn -0.063553564250 0.828384757042 0.556542575359 -vn -0.063553564250 0.828384757042 0.556542575359 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.063553564250 0.828384757042 0.556542575359 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.274038642645 0.932397603989 0.235664024949 -vn -0.087142288685 0.967561662197 0.237130120397 -vn -0.063553564250 0.828384757042 0.556542575359 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.063553564250 0.828384757042 0.556542575359 -vn -0.087142288685 0.967561662197 0.237130120397 -vn -0.087142288685 0.967561662197 0.237130120397 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.087142288685 0.967561662197 0.237130120397 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn -0.087142288685 0.967561662197 0.237130120397 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.087142288685 0.967561662197 0.237130120397 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.279109090567 0.903948545456 -0.323998630047 -vn 0.279109090567 0.903948545456 -0.323998630047 -vn -0.102105967700 0.941065251827 -0.322444617748 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.617344737053 0.725185930729 -0.304944008589 -vn 0.617344737053 0.725185930729 -0.304944008589 -vn 0.279109090567 0.903948545456 -0.323998630047 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.861044466496 0.432026088238 -0.268245995045 -vn 0.861044466496 0.432026088238 -0.268245995045 -vn 0.617344737053 0.725185930729 -0.304944008589 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.973190963268 0.069042496383 -0.219391137362 -vn 0.973190963268 0.069042496383 -0.219391137362 -vn 0.861044466496 0.432026088238 -0.268245995045 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.936656296253 -0.308471262455 -0.165892928839 -vn 0.936656296253 -0.308471262455 -0.165892928839 -vn 0.973190963268 0.069042496383 -0.219391137362 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.757012963295 -0.643040478230 -0.115889355540 -vn 0.757012963295 -0.643040478230 -0.115889355540 -vn 0.936656296253 -0.308471262455 -0.165892928839 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.461620241404 -0.883733093739 -0.076957985759 -vn 0.461620241404 -0.883733093739 -0.076957985759 -vn 0.757012963295 -0.643040478230 -0.115889355540 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn 0.095433920622 -0.993913292885 -0.055033963174 -vn 0.095433920622 -0.993913292885 -0.055033963174 -vn 0.461620241404 -0.883733093739 -0.076957985759 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.285777777433 -0.956801950932 -0.053489483893 -vn -0.285777777433 -0.956801950932 -0.053489483893 -vn 0.095433920622 -0.993913292885 -0.055033963174 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.624005198479 -0.778046429157 -0.072535090148 -vn -0.624005198479 -0.778046429157 -0.072535090148 -vn -0.285777777433 -0.956801950932 -0.053489483893 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.867740154266 -0.484856963158 -0.109273917973 -vn -0.867740154266 -0.484856963158 -0.109273917973 -vn -0.624005198479 -0.778046429157 -0.072535090148 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.979872226715 -0.121874794364 -0.158104330301 -vn -0.979872226715 -0.121874794364 -0.158104330301 -vn -0.867740154266 -0.484856963158 -0.109273917973 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.943332910538 0.255631208420 -0.211602717638 -vn -0.943332910538 0.255631208420 -0.211602717638 -vn -0.979872226715 -0.121874794364 -0.158104330301 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.763698756695 0.590180635452 -0.261631429195 -vn -0.763698756695 0.590180635452 -0.261631429195 -vn -0.943332910538 0.255631208420 -0.211602717638 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.468307971954 0.830874264240 -0.300558716059 -vn -0.468307971954 0.830874264240 -0.300558716059 -vn -0.763698756695 0.590180635452 -0.261631429195 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn -0.102105967700 0.941065251827 -0.322444617748 -vn -0.102105967700 0.941065251827 -0.322444617748 -vn -0.468307971954 0.830874264240 -0.300558716059 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.241403773427 0.103066213429 0.964936017990 -vn 0.004517787136 0.137057393789 0.990552783012 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.262741386890 0.230674043298 0.936886548996 -vn -0.241403773427 0.103066213429 0.964936017990 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.067393772304 0.322359681129 0.944215178490 -vn -0.002960407641 0.317960262299 0.948099434376 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.017514187843 0.138613402843 0.990191698074 -vn -0.002960407641 0.317960262299 0.948099434376 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.074658878148 0.311024487019 0.947464942932 -vn 0.016861176118 0.138552471995 0.990211546421 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.016861176118 0.138552471995 0.990211546421 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.163651511073 0.288096219301 0.943514049053 -vn 0.004517787136 0.137057393789 0.990552783012 -vn 0.016861176118 0.138552471995 0.990211546421 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.030540788546 0.139876529574 0.989697813988 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.030540788546 0.139876529574 0.989697813988 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.286905646324 0.267333179712 0.919901132584 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.030540788546 0.139876529574 0.989697813988 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.305570989847 0.031798329204 0.951638162136 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.030540788546 0.139876529574 0.989697813988 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.017514187843 0.138613402843 0.990191698074 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.016861176118 0.138552471995 0.990211546421 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn 0.016861176118 0.138552471995 0.990211546421 -vn 0.016861176118 0.138552471995 0.990211546421 -vn 0.004517787136 0.137057393789 0.990552783012 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn 0.004517787136 0.137057393789 0.990552783012 -vn -0.241403773427 0.103066213429 0.964936017990 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn 0.004517787136 0.137057393789 0.990552783012 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.155109524727 0.599816203117 0.784959554672 -vn -0.035729635507 0.607942640781 0.793176591396 -vn -0.035729635507 0.607942640781 0.793176591396 -vn -0.002960407641 0.317960262299 0.948099434376 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.286905646324 0.267333179712 0.919901132584 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.286905646324 0.267333179712 0.919901132584 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.286905646324 0.267333179712 0.919901132584 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.305570989847 0.031798329204 0.951638162136 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.305570989847 0.031798329204 0.951638162136 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.305570989847 0.031798329204 0.951638162136 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.241403773427 0.103066213429 0.964936017990 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.241403773427 0.103066213429 0.964936017990 -vn -0.262741386890 0.230674043298 0.936886548996 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.241403773427 0.103066213429 0.964936017990 -vn -0.262741386890 0.230674043298 0.936886548996 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.262741386890 0.230674043298 0.936886548996 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.002960407641 0.317960262299 0.948099434376 -vn -0.035729635507 0.607942640781 0.793176591396 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.002960407641 0.317960262299 0.948099434376 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.397452175617 0.135070383549 -0.907627522945 -vn -0.517724156380 0.205077111721 -0.830605268478 -vn -0.517724156380 0.205077111721 -0.830605268478 -vn -0.437227338552 0.155448332429 -0.885814905167 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.229980155826 0.074654586613 -0.970327675343 -vn -0.397452175617 0.135070383549 -0.907627522945 -vn -0.397452175617 0.135070383549 -0.907627522945 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.590301692486 0.097231328487 -0.801305174828 -vn 0.826513767242 0.040492236614 -0.561458230019 -vn 0.826513767242 0.040492236614 -0.561458230019 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.191130816936 0.078426040709 -0.978426456451 -vn 0.372208535671 0.083363167942 -0.924397826195 -vn 0.372208535671 0.083363167942 -0.924397826195 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn -0.206340491772 0.165451377630 -0.964390695095 -vn 0.006594384555 0.126419976354 -0.991954863071 -vn 0.006594384555 0.126419976354 -0.991954863071 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.437227338552 0.155448332429 -0.885814905167 -vn -0.437227338552 0.155448332429 -0.885814905167 -vn -0.206340491772 0.165451377630 -0.964390695095 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn 0.006594384555 0.126419976354 -0.991954863071 -vn 0.191130816936 0.078426040709 -0.978426456451 -vn 0.191130816936 0.078426040709 -0.978426456451 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.372208535671 0.083363167942 -0.924397826195 -vn 0.590301692486 0.097231328487 -0.801305174828 -vn 0.590301692486 0.097231328487 -0.801305174828 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.826513767242 0.040492236614 -0.561458230019 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.261003404856 0.108527362347 -0.959217905998 -vn -0.229980155826 0.074654586613 -0.970327675343 -vn -0.229980155826 0.074654586613 -0.970327675343 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn -0.509320318699 -0.404863327742 -0.759393453598 -vn -0.261003404856 0.108527362347 -0.959217905998 -vn -0.261003404856 0.108527362347 -0.959217905998 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.136239171028 -0.017071370035 -0.990528881550 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.136239171028 -0.017071370035 -0.990528881550 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn 0.136239171028 -0.017071370035 -0.990528881550 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.136239171028 -0.017071370035 -0.990528881550 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.852056205273 0.085932567716 -0.516348540783 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.439777612686 -0.138827741146 0.887311935425 -vn 0.505375087261 -0.195974618196 0.840351104736 -vn 0.505375087261 -0.195974618196 0.840351104736 -vn 0.383719682693 -0.125125527382 0.914933204651 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.383719682693 -0.125125527382 0.914933204651 -vn 0.383719682693 -0.125125527382 0.914933204651 -vn 0.248948097229 -0.072537310421 0.965796649456 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.819650113583 -0.032982375473 0.571914196014 -vn -0.819650113583 -0.032982375473 0.571914196014 -vn -0.592707335949 -0.091434136033 0.800211071968 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.371242731810 -0.081995286047 0.924908459187 -vn -0.371242731810 -0.081995286047 0.924908459187 -vn -0.186582252383 -0.074930444360 0.979577720165 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn -0.004214687273 -0.117233298719 0.993095457554 -vn -0.004214687273 -0.117233298719 0.993095457554 -vn 0.209405109286 -0.154618844390 0.965527057648 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn 0.209405109286 -0.154618844390 0.965527057648 -vn 0.439777612686 -0.138827741146 0.887311935425 -vn 0.439777612686 -0.138827741146 0.887311935425 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn 0.179345592856 0.032156031579 0.983260452747 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.179345592856 0.032156031579 0.983260452747 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.186582252383 -0.074930444360 0.979577720165 -vn -0.186582252383 -0.074930444360 0.979577720165 -vn -0.004214687273 -0.117233298719 0.993095457554 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn 0.179345592856 0.032156031579 0.983260452747 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.592707335949 -0.091434136033 0.800211071968 -vn -0.592707335949 -0.091434136033 0.800211071968 -vn -0.371242731810 -0.081995286047 0.924908459187 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.268814533949 0.206545710564 0.940785646439 -vn -0.268814533949 0.206545710564 0.940785646439 -vn -0.819650113583 -0.032982375473 0.571914196014 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.248948097229 -0.072537310421 0.965796649456 -vn 0.248948097229 -0.072537310421 0.965796649456 -vn 0.266313046217 -0.114633738995 0.957045674324 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.266313046217 -0.114633738995 0.957045674324 -vn 0.266313046217 -0.114633738995 0.957045674324 -vn -0.002355504315 -0.820036292076 0.572306632996 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.030801737681 0.058983106166 0.997783660889 -vn 0.179345592856 0.032156031579 0.983260452747 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.179345592856 0.032156031579 0.983260452747 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.141732782125 0.018439134583 0.989733219147 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.141732782125 0.018439134583 0.989733219147 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.141732782125 0.018439134583 0.989733219147 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.141732782125 0.018439134583 0.989733219147 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn 0.129810020328 -0.933628261089 0.333897590637 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.909739613533 0.046079874039 0.412614196539 -vn -0.909739613533 0.046079874039 0.412614196539 -vn -0.956761240959 0.176445245743 0.231246590614 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.956761240959 0.176445245743 0.231246590614 -vn -0.972946465015 0.230288386345 0.018504710868 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.500203728676 0.010609781370 0.865842759609 -vn -0.500203728676 0.010609781370 0.865842759609 -vn -0.909739613533 0.046079874039 0.412614196539 -vn -0.990912795067 0.127940833569 0.041508488357 -vn 0.078747101128 0.966759562492 0.243258908391 -vn 0.173439845443 0.973078310490 0.151780202985 -vn 0.170091286302 0.973490953445 0.152919292450 -vn 0.170091286302 0.973490953445 0.152919292450 -vn 0.063926614821 0.963856279850 0.258639603853 -vn 0.078747101128 0.966759562492 0.243258908391 -vn 0.171049833298 0.970419943333 0.170373469591 -vn 0.083577327430 0.994467854500 0.063627921045 -vn 0.080522112548 0.994727730751 0.063505046070 -vn 0.080522112548 0.994727730751 0.063505046070 -vn 0.173171848059 0.969543695450 0.173195227981 -vn 0.171049833298 0.970419943333 0.170373469591 -vn -0.020135141909 0.994862496853 0.099212974310 -vn -0.086038894951 0.984414279461 0.153381422162 -vn -0.091391056776 0.983691334724 0.154916256666 -vn -0.091391056776 0.983691334724 0.154916256666 -vn -0.023173412308 0.995078146458 0.096345901489 -vn -0.020135141909 0.994862496853 0.099212974310 -vn -0.086038894951 0.984414279461 0.153381422162 -vn -0.191570550203 0.977551102638 0.087718985975 -vn -0.194942057133 0.976504385471 0.091851882637 -vn -0.194942057133 0.976504385471 0.091851882637 -vn -0.091391056776 0.983691334724 0.154916256666 -vn -0.086038894951 0.984414279461 0.153381422162 -vn 0.083577327430 0.994467854500 0.063627921045 -vn -0.020135141909 0.994862496853 0.099212974310 -vn -0.023173412308 0.995078146458 0.096345901489 -vn -0.023173412308 0.995078146458 0.096345901489 -vn 0.080522112548 0.994727730751 0.063505046070 -vn 0.083577327430 0.994467854500 0.063627921045 -vn 0.173439845443 0.973078310490 0.151780202985 -vn 0.171049833298 0.970419943333 0.170373469591 -vn 0.173171848059 0.969543695450 0.173195227981 -vn 0.173171848059 0.969543695450 0.173195227981 -vn 0.170091286302 0.973490953445 0.152919292450 -vn 0.173439845443 0.973078310490 0.151780202985 -vn 0.063926614821 0.963856279850 0.258639603853 -vn -0.375237524509 0.793154478073 0.479690253735 -vn -0.350450277328 0.809412717819 0.471206605434 -vn -0.350450277328 0.809412717819 0.471206605434 -vn 0.078747101128 0.966759562492 0.243258908391 -vn 0.063926614821 0.963856279850 0.258639603853 -vn 0.789331555367 0.258876562119 0.556721329689 -vn 0.577268898487 0.306803852320 0.756724536419 -vn -0.268814533949 0.206545710564 0.940785646439 -vn -0.268814533949 0.206545710564 0.940785646439 -vn -0.185570269823 0.171825677156 0.967491388321 -vn 0.789331555367 0.258876562119 0.556721329689 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.866238534451 -0.039508130401 0.498066157103 -vn -0.866238534451 -0.039508130401 0.498066157103 -vn -0.500203728676 0.010609781370 0.865842759609 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.885119140148 -0.056781947613 0.461887329817 -vn -0.669060587883 -0.077813722193 0.739123106003 -vn -0.669060587883 -0.077813722193 0.739123106003 -vn -0.866238534451 -0.039508130401 0.498066157103 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.431490808725 -0.866988837719 -0.249291151762 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn -0.002355504315 -0.820036292076 0.572306632996 -vn -0.431490808725 -0.866988837719 -0.249291151762 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.789331555367 0.258876562119 0.556721329689 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn 0.487122595310 0.042172510177 0.872314751148 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.129810020328 -0.933628261089 0.333897590637 -vn 0.129810020328 -0.933628261089 0.333897590637 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn 0.129810020328 -0.933628261089 0.333897590637 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn -0.937579154968 0.180314436555 -0.297375231981 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.972946465015 0.230288386345 0.018504710868 -vn -0.937579154968 0.180314436555 -0.297375231981 -vn -0.896948277950 0.114084340632 -0.427163422108 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.937579154968 0.180314436555 -0.297375231981 -vn -0.896948277950 0.114084340632 -0.427163422108 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn 0.577268898487 0.306803852320 0.756724536419 -vn 0.789331555367 0.258876562119 0.556721329689 -vn 0.789331555367 0.258876562119 0.556721329689 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn -0.880329668522 0.056018378586 -0.471043139696 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.896948277950 0.114084340632 -0.427163422108 -vn -0.880329668522 0.056018378586 -0.471043139696 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn -0.431490808725 -0.866988837719 -0.249291151762 -vn -0.431490808725 -0.866988837719 -0.249291151762 -vn -0.509320318699 -0.404863327742 -0.759393453598 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn -0.995611131191 -0.009796535596 -0.093072362244 -vn -0.885119140148 -0.056781947613 0.461887329817 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.880329668522 0.056018378586 -0.471043139696 -vn -0.995611131191 -0.009796535596 -0.093072362244 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.789331555367 0.258876562119 0.556721329689 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.852056205273 0.085932567716 -0.516348540783 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.852056205273 0.085932567716 -0.516348540783 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.852056205273 0.085932567716 -0.516348540783 -vn -0.268814533949 0.206545710564 0.940785646439 -vn 0.577268898487 0.306803852320 0.756724536419 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn -0.194942057133 0.976504385471 0.091851882637 -vn -0.191570550203 0.977551102638 0.087718985975 -vn -0.181678786874 0.971370339394 0.153076708317 -vn -0.181678786874 0.971370339394 0.153076708317 -vn -0.180396959186 0.971246838570 0.155359238386 -vn -0.194942057133 0.976504385471 0.091851882637 -# 32013 vertex normals - -vt 0.377155363560 0.858360707760 0.000000000000 -vt 0.377155363560 0.848666846752 0.000000000000 -vt 0.387879788876 0.848666846752 0.000000000000 -vt 0.387879788876 0.858360707760 0.000000000000 -vt 0.377155363560 0.838978648186 0.000000000000 -vt 0.387879788876 0.838978648186 0.000000000000 -vt 0.377155363560 0.829283058643 0.000000000000 -vt 0.387879788876 0.829283058643 0.000000000000 -vt 0.377155363560 0.984480679035 0.000000000000 -vt 0.377155363560 0.974780797958 0.000000000000 -vt 0.387879788876 0.974780797958 0.000000000000 -vt 0.387879788876 0.984480679035 0.000000000000 -vt 0.377155363560 0.965079963207 0.000000000000 -vt 0.387879788876 0.965079963207 0.000000000000 -vt 0.377155363560 0.955380022526 0.000000000000 -vt 0.387879788876 0.955380022526 0.000000000000 -vt 0.377155363560 0.945681273937 0.000000000000 -vt 0.387879788876 0.945681273937 0.000000000000 -vt 0.377155363560 0.935981333256 0.000000000000 -vt 0.387879788876 0.935981333256 0.000000000000 -vt 0.377155363560 0.926279187202 0.000000000000 -vt 0.387879788876 0.926279187202 0.000000000000 -vt 0.377155363560 0.916576147079 0.000000000000 -vt 0.387879788876 0.916576147079 0.000000000000 -vt 0.377155363560 0.906873524189 0.000000000000 -vt 0.387879788876 0.906873524189 0.000000000000 -vt 0.377155363560 0.897172033787 0.000000000000 -vt 0.387879788876 0.897172033787 0.000000000000 -vt 0.377155363560 0.887470304966 0.000000000000 -vt 0.387879788876 0.887470304966 0.000000000000 -vt 0.377155363560 0.877766370773 0.000000000000 -vt 0.387879788876 0.877766370773 0.000000000000 -vt 0.377155363560 0.868061482906 0.000000000000 -vt 0.387879788876 0.868061482906 0.000000000000 -vt 0.389967858791 0.848666846752 0.000000000000 -vt 0.389967858791 0.858360707760 0.000000000000 -vt 0.389223754406 0.858360707760 0.000000000000 -vt 0.389223754406 0.848666846752 0.000000000000 -vt 0.389967858791 0.838978648186 0.000000000000 -vt 0.389223754406 0.838978648186 0.000000000000 -vt 0.389967858791 0.829283058643 0.000000000000 -vt 0.389223754406 0.829283058643 0.000000000000 -vt 0.389967858791 0.974780797958 0.000000000000 -vt 0.389967858791 0.984480679035 0.000000000000 -vt 0.389223754406 0.984480679035 0.000000000000 -vt 0.389223754406 0.974780797958 0.000000000000 -vt 0.389967858791 0.965079963207 0.000000000000 -vt 0.389223754406 0.965079963207 0.000000000000 -vt 0.389967858791 0.955380022526 0.000000000000 -vt 0.389223754406 0.955380022526 0.000000000000 -vt 0.389967858791 0.945681273937 0.000000000000 -vt 0.389223754406 0.945681273937 0.000000000000 -vt 0.389967858791 0.935981333256 0.000000000000 -vt 0.389223754406 0.935981333256 0.000000000000 -vt 0.389967858791 0.926279187202 0.000000000000 -vt 0.389223754406 0.926279187202 0.000000000000 -vt 0.389967858791 0.916576147079 0.000000000000 -vt 0.389223754406 0.916576147079 0.000000000000 -vt 0.389967858791 0.906873524189 0.000000000000 -vt 0.389223754406 0.906873524189 0.000000000000 -vt 0.389967858791 0.897172033787 0.000000000000 -vt 0.389223754406 0.897172033787 0.000000000000 -vt 0.389967858791 0.887470304966 0.000000000000 -vt 0.389223754406 0.887470304966 0.000000000000 -vt 0.389967858791 0.877766370773 0.000000000000 -vt 0.389223754406 0.877766370773 0.000000000000 -vt 0.389967858791 0.868061482906 0.000000000000 -vt 0.389223754406 0.868061482906 0.000000000000 -vt 0.391293346882 0.858360707760 0.000000000000 -vt 0.391293346882 0.848666846752 0.000000000000 -vt 0.396203100681 0.848666846752 0.000000000000 -vt 0.396203100681 0.858360707760 0.000000000000 -vt 0.391293346882 0.838978648186 0.000000000000 -vt 0.396203100681 0.838978648186 0.000000000000 -vt 0.391293346882 0.829283058643 0.000000000000 -vt 0.396203100681 0.829283058643 0.000000000000 -vt 0.391293346882 0.984480679035 0.000000000000 -vt 0.391293346882 0.974780797958 0.000000000000 -vt 0.396203100681 0.974780797958 0.000000000000 -vt 0.396203100681 0.984480679035 0.000000000000 -vt 0.391293346882 0.965079963207 0.000000000000 -vt 0.396203100681 0.965079963207 0.000000000000 -vt 0.391293346882 0.955380022526 0.000000000000 -vt 0.396203100681 0.955380022526 0.000000000000 -vt 0.391293346882 0.945681273937 0.000000000000 -vt 0.396203100681 0.945681273937 0.000000000000 -vt 0.391293346882 0.935981333256 0.000000000000 -vt 0.396203100681 0.935981333256 0.000000000000 -vt 0.391293346882 0.926279187202 0.000000000000 -vt 0.396203100681 0.926279187202 0.000000000000 -vt 0.391293346882 0.916576147079 0.000000000000 -vt 0.396203100681 0.916576147079 0.000000000000 -vt 0.391293346882 0.906873524189 0.000000000000 -vt 0.396203100681 0.906873524189 0.000000000000 -vt 0.391293346882 0.897172033787 0.000000000000 -vt 0.396203100681 0.897172033787 0.000000000000 -vt 0.391293346882 0.887470304966 0.000000000000 -vt 0.396203100681 0.887470304966 0.000000000000 -vt 0.391293346882 0.877766370773 0.000000000000 -vt 0.396203100681 0.877766370773 0.000000000000 -vt 0.391293346882 0.868061482906 0.000000000000 -vt 0.396203100681 0.868061482906 0.000000000000 -vt 0.409175425768 0.672242879868 0.000000000000 -vt 0.452760726213 0.666515350342 0.000000000000 -vt 0.431881427765 0.692003369331 0.000000000000 -vt 0.481934756041 0.680083930492 0.000000000000 -vt 0.508225858212 0.789766192436 0.000000000000 -vt 0.553140699863 0.792127192020 0.000000000000 -vt 0.543430626392 0.810674130917 0.000000000000 -vt 0.493056267500 0.761313557625 0.000000000000 -vt 0.498380273581 0.738467097282 0.000000000000 -vt 0.515042841434 0.755405724049 0.000000000000 -vt 0.550852000713 0.845992863178 0.000000000000 -vt 0.577347338200 0.824143350124 0.000000000000 -vt 0.609382450581 0.854941427708 0.000000000000 -vt 0.665927231312 0.810042083263 0.000000000000 -vt 0.669713199139 0.747112154961 0.000000000000 -vt 0.691940128803 0.688431560993 0.000000000000 -vt 0.480293363333 0.580234348774 0.000000000000 -vt 0.515759050846 0.550068080425 0.000000000000 -vt 0.567890584469 0.594532608986 0.000000000000 -vt 0.623778641224 0.602010011673 0.000000000000 -vt 0.572804629803 0.544676065445 0.000000000000 -vt 0.631756961346 0.573595166206 0.000000000000 -vt 0.610680639744 0.688212931156 0.000000000000 -vt 0.650606334209 0.643516659737 0.000000000000 -vt 0.631374895573 0.713805377483 0.000000000000 -vt 0.451538383961 0.699487090111 0.000000000000 -vt 0.488095849752 0.712747395039 0.000000000000 -vt 0.505906522274 0.654317796230 0.000000000000 -vt 0.514503896236 0.621594429016 0.000000000000 -vt 0.546522319317 0.636798501015 0.000000000000 -vt 0.620644509792 0.650109648705 0.000000000000 -vt 0.536644995213 0.674807369709 0.000000000000 -vt 0.559180438519 0.677152156830 0.000000000000 -vt 0.546803295612 0.700395822525 0.000000000000 -vt 0.580495297909 0.670894205570 0.000000000000 -vt 0.560229241848 0.708388805389 0.000000000000 -vt 0.583466589451 0.746397972107 0.000000000000 -vt 0.590534269810 0.714147150517 0.000000000000 -vt 0.632254183292 0.742581784725 0.000000000000 -vt 0.392473429441 0.735891520977 0.000000000000 -vt 0.401782691479 0.699883401394 0.000000000000 -vt 0.437636852264 0.750069797039 0.000000000000 -vt 0.443033576012 0.728961050510 0.000000000000 -vt 0.467387497425 0.731456875801 0.000000000000 -vt 0.397550672293 0.599925756454 0.000000000000 -vt 0.443568110466 0.613210141659 0.000000000000 -vt 0.366362631321 0.656876027584 0.000000000000 -vt 0.447481751442 0.559440612793 0.000000000000 -vt 0.601355612278 0.819214940071 0.000000000000 -vt 0.636718928814 0.797729492188 0.000000000000 -vt 0.619128763676 0.819936096668 0.000000000000 -vt 0.559825360775 0.776961624622 0.000000000000 -vt 0.572190821171 0.759399116039 0.000000000000 -vt 0.604671776295 0.773796379566 0.000000000000 -vt 0.554654181004 0.617363810539 0.000000000000 -vt 0.567634403706 0.651618182659 0.000000000000 -vt 0.590938866138 0.618936240673 0.000000000000 -vt 0.596868813038 0.647921144962 0.000000000000 -vt 0.651719510555 0.782778739929 0.000000000000 -vt 0.614525854588 0.755118906498 0.000000000000 -vt 0.455462366343 0.816022455692 0.000000000000 -vt 0.450997769833 0.780333817005 0.000000000000 -vt 0.483516186476 0.802494883537 0.000000000000 -vt 0.485845893621 0.853235423565 0.000000000000 -vt 0.417244762182 0.840927124023 0.000000000000 -vt 0.433641225100 0.829533994198 0.000000000000 -vt 0.477579563856 0.870459556580 0.000000000000 -vt 0.530758202076 0.857129693031 0.000000000000 -vt 0.544338524342 0.876446247101 0.000000000000 -vt 0.532405674458 0.712911307812 0.000000000000 -vt 0.526134669781 0.742851078510 0.000000000000 -vt 0.547361195087 0.739448964596 0.000000000000 -vt 0.567548215389 0.558903396130 0.000000000000 -vt 0.397433131933 0.817093312740 0.000000000000 -vt 0.514106690884 0.777620911598 0.000000000000 -vt 0.462766647339 0.752251565456 0.000000000000 -vt 0.460485816002 0.643762111664 0.000000000000 -vt 0.485318392515 0.636485338211 0.000000000000 -vt 0.480034440756 0.664412677288 0.000000000000 -vt 0.630446612835 0.777688920498 0.000000000000 -vt 0.600008070469 0.799526214600 0.000000000000 -vt 0.476415723562 0.779506325722 0.000000000000 -vt 0.473682790995 0.610604822636 0.000000000000 -vt 0.675627768040 0.625576317310 0.000000000000 -vt 0.565741121769 0.800483822823 0.000000000000 -vt 0.356244146824 0.722902357578 0.000000000000 -vt 0.588402211666 0.811188578606 0.000000000000 -vt 0.518669903278 0.699171006680 0.000000000000 -vt 0.535777628422 0.658217966557 0.000000000000 -vt 0.508222043514 0.539263308048 0.000000000000 -vt 0.648145139217 0.728081822395 0.000000000000 -vt 0.514887988567 0.819228231907 0.000000000000 -vt 0.480209141970 0.748140454292 0.000000000000 -vt 0.594826638699 0.678737699986 0.000000000000 -vt 0.609615743160 0.711115896702 0.000000000000 -vt 0.374209046364 0.788166940212 0.000000000000 -vt 0.696136057377 0.841438889503 0.000000000000 -vt 0.697102844715 0.847001552582 0.000000000000 -vt 0.687970817089 0.838945984840 0.000000000000 -vt 0.676894485950 0.837039768696 0.000000000000 -vt 0.668740808964 0.834839344025 0.000000000000 -vt 0.658680617809 0.855564236641 0.000000000000 -vt 0.651980459690 0.853254318237 0.000000000000 -vt 0.694596707821 0.852629542351 0.000000000000 -vt 0.685916483402 0.854809284210 0.000000000000 -vt 0.674534022808 0.855843186378 0.000000000000 -vt 0.665389955044 0.856125533581 0.000000000000 -vt 0.650012195110 0.834412455559 0.000000000000 -vt 0.656730353832 0.833129286766 0.000000000000 -vt 0.646296203136 0.841373562813 0.000000000000 -vt 0.688886702061 0.834426641464 0.000000000000 -vt 0.699207842350 0.838674664497 0.000000000000 -vt 0.697359144688 0.855724990368 0.000000000000 -vt 0.686487972736 0.859591126442 0.000000000000 -vt 0.702463567257 0.847452104092 0.000000000000 -vt 0.677858173847 0.832566380501 0.000000000000 -vt 0.674788177013 0.860633373260 0.000000000000 -vt 0.656709134579 0.828647792339 0.000000000000 -vt 0.663522779942 0.828503489494 0.000000000000 -vt 0.663026511669 0.833329021931 0.000000000000 -vt 0.665229976177 0.860744595528 0.000000000000 -vt 0.646054327488 0.849184870720 0.000000000000 -vt 0.944440543652 0.577088952065 0.000000000000 -vt 0.934413731098 0.578397750854 0.000000000000 -vt 0.933311760426 0.570732593536 0.000000000000 -vt 0.942559897900 0.569070458412 0.000000000000 -vt 0.878645479679 0.586926877499 0.000000000000 -vt 0.868258655071 0.588900566101 0.000000000000 -vt 0.867458641529 0.580585360527 0.000000000000 -vt 0.877176105976 0.579317748547 0.000000000000 -vt 0.952389657497 0.575497746468 0.000000000000 -vt 0.950832903385 0.567034423351 0.000000000000 -vt 0.923831403255 0.579496085644 0.000000000000 -vt 0.923619329929 0.572405040264 0.000000000000 -vt 0.628452599049 0.873331427574 0.000000000000 -vt 0.632204830647 0.876753568649 0.000000000000 -vt 0.628753483295 0.881655633450 0.000000000000 -vt 0.623970210552 0.878167748451 0.000000000000 -vt 0.646685302258 0.866765677929 0.000000000000 -vt 0.656351864338 0.871634185314 0.000000000000 -vt 0.653122007847 0.874798536301 0.000000000000 -vt 0.645847260952 0.871063649654 0.000000000000 -vt 0.726799309254 0.837845385075 0.000000000000 -vt 0.661485850811 0.880055904388 0.000000000000 -vt 0.656600654125 0.882020831108 0.000000000000 -vt 0.636110603809 0.868256449699 0.000000000000 -vt 0.637845695019 0.872147083282 0.000000000000 -vt 0.649987399578 0.877419590950 0.000000000000 -vt 0.644934833050 0.875803411007 0.000000000000 -vt 0.639724314213 0.875453293324 0.000000000000 -vt 0.650543510914 0.882872819901 0.000000000000 -vt 0.637335002422 0.879814982414 0.000000000000 -vt 0.635132730007 0.885670363903 0.000000000000 -vt 0.643860280514 0.881775856018 0.000000000000 -vt 0.642733037472 0.850792288780 0.000000000000 -vt 0.641889035702 0.840179145336 0.000000000000 -vt 0.669664084911 0.830182671547 0.000000000000 -vt 0.650239527225 0.857445180416 0.000000000000 -vt 0.648015201092 0.831698417664 0.000000000000 -vt 0.642690360546 0.888261675835 0.000000000000 -vt 0.663629949093 0.887337207794 0.000000000000 -vt 0.657781779766 0.889087080956 0.000000000000 -vt 0.889635980129 0.584733188152 0.000000000000 -vt 0.887632310390 0.577965676785 0.000000000000 -vt 0.898609101772 0.583011865616 0.000000000000 -vt 0.896672070026 0.576863348484 0.000000000000 -vt 0.915674507618 0.580389678478 0.000000000000 -vt 0.915229618549 0.574002265930 0.000000000000 -vt 0.657724201679 0.860278069973 0.000000000000 -vt 0.930922925472 0.558675527573 0.000000000000 -vt 0.650379359722 0.889898777008 0.000000000000 -vt 0.939678132534 0.556469440460 0.000000000000 -vt 0.867106497288 0.567602217197 0.000000000000 -vt 0.875806748867 0.567502915859 0.000000000000 -vt 0.947033226490 0.554314255714 0.000000000000 -vt 0.922403037548 0.561220228672 0.000000000000 -vt 0.885274112225 0.567466676235 0.000000000000 -vt 0.658997356892 0.896231293678 0.000000000000 -vt 0.649604141712 0.899704515934 0.000000000000 -vt 0.895252883434 0.566620349884 0.000000000000 -vt 0.719376146793 0.837280273438 0.000000000000 -vt 0.918815433979 0.545299708843 0.000000000000 -vt 0.910051763058 0.547324061394 0.000000000000 -vt 0.907046377659 0.529140114784 0.000000000000 -vt 0.916585505009 0.527373969555 0.000000000000 -vt 0.899707138538 0.530310690403 0.000000000000 -vt 0.641025960445 0.896537065506 0.000000000000 -vt 0.901793301105 0.548481404781 0.000000000000 -vt 0.927321612835 0.542573332787 0.000000000000 -vt 0.632426559925 0.894321084023 0.000000000000 -vt 0.625132262707 0.886998593807 0.000000000000 -vt 0.717746436596 0.831090271473 0.000000000000 -vt 0.725946605206 0.830549895763 0.000000000000 -vt 0.735287845135 0.838093996048 0.000000000000 -vt 0.734414517879 0.830852091312 0.000000000000 -vt 0.717679798603 0.825329720974 0.000000000000 -vt 0.723944962025 0.823542177677 0.000000000000 -vt 0.732950508595 0.823792576790 0.000000000000 -vt 0.739792287350 0.825830638409 0.000000000000 -vt 0.741621911526 0.831147015095 0.000000000000 -vt 0.741378247738 0.836689889431 0.000000000000 -vt 0.665112435818 0.894209623337 0.000000000000 -vt 0.620138943195 0.882827579975 0.000000000000 -vt 0.936108648777 0.539952039719 0.000000000000 -vt 0.867212593555 0.550016939640 0.000000000000 -vt 0.875978291035 0.550476253033 0.000000000000 -vt 0.943726122379 0.537669897079 0.000000000000 -vt 0.884841740131 0.551008760929 0.000000000000 -vt 0.913087069988 0.563861310482 0.000000000000 -vt 0.893644869328 0.550148010254 0.000000000000 -vt 0.892628490925 0.531013190746 0.000000000000 -vt 0.904061496258 0.562744498253 0.000000000000 -vt 0.926213800907 0.525771796703 0.000000000000 -vt 0.934501111507 0.523906171322 0.000000000000 -vt 0.865935027599 0.533409059048 0.000000000000 -vt 0.875216186047 0.532836914063 0.000000000000 -vt 0.942422688007 0.521042168140 0.000000000000 -vt 0.884195983410 0.531999826431 0.000000000000 -vt 0.924653232098 0.517368316650 0.000000000000 -vt 0.932635247707 0.517127633095 0.000000000000 -vt 0.914257109165 0.519580006599 0.000000000000 -vt 0.906176626682 0.522352159023 0.000000000000 -vt 0.899168789387 0.522687613964 0.000000000000 -vt 0.892163813114 0.523706674576 0.000000000000 -vt 0.884188354015 0.523065209389 0.000000000000 -vt 0.873883426189 0.524219810963 0.000000000000 -vt 0.865347802639 0.526163995266 0.000000000000 -vt 0.858433783054 0.526082932949 0.000000000000 -vt 0.859899699688 0.590485215187 0.000000000000 -vt 0.858855664730 0.581898033619 0.000000000000 -vt 0.859369337559 0.568410336971 0.000000000000 -vt 0.859169065952 0.551045894623 0.000000000000 -vt 0.856827557087 0.534337580204 0.000000000000 -vt 0.937964379787 0.513839006424 0.000000000000 -vt 0.693465530872 0.814677596092 0.000000000000 -vt 0.700085699558 0.824197411537 0.000000000000 -vt 0.694888770580 0.822570204735 0.000000000000 -vt 0.692891776562 0.803992629051 0.000000000000 -vt 0.691710650921 0.795865237713 0.000000000000 -vt 0.711294472218 0.782084345818 0.000000000000 -vt 0.712714016438 0.788840830326 0.000000000000 -vt 0.708831012249 0.814877569675 0.000000000000 -vt 0.705738484859 0.822653293610 0.000000000000 -vt 0.711153686047 0.804187417030 0.000000000000 -vt 0.712479650974 0.795391499996 0.000000000000 -vt 0.700650393963 0.775034308434 0.000000000000 -vt 0.691504657269 0.783996403217 0.000000000000 -vt 0.693565666676 0.777675151825 0.000000000000 -vt 0.691854059696 0.825260579586 0.000000000000 -vt 0.688908874989 0.815112352371 0.000000000000 -vt 0.713424861431 0.816177845001 0.000000000000 -vt 0.708342850208 0.825807273388 0.000000000000 -vt 0.699830830097 0.829423010349 0.000000000000 -vt 0.688347995281 0.804415702820 0.000000000000 -vt 0.715837776661 0.805065751076 0.000000000000 -vt 0.690926015377 0.790131390095 0.000000000000 -vt 0.686091244221 0.790077388287 0.000000000000 -vt 0.687085330486 0.783463239670 0.000000000000 -vt 0.717056095600 0.795820415020 0.000000000000 -vt 0.700017035007 0.770576894283 0.000000000000 -vt 0.914225161076 0.695051312447 0.000000000000 -vt 0.916345059872 0.684997260571 0.000000000000 -vt 0.924999296665 0.686340272427 0.000000000000 -vt 0.923253715038 0.697034716606 0.000000000000 -vt 0.917016923428 0.620534837246 0.000000000000 -vt 0.915503799915 0.609951913357 0.000000000000 -vt 0.924802958965 0.608696460724 0.000000000000 -vt 0.925778567791 0.619882166386 0.000000000000 -vt 0.912027418613 0.704157292843 0.000000000000 -vt 0.921499311924 0.705678403378 0.000000000000 -vt 0.918580591679 0.674305975437 0.000000000000 -vt 0.926661670208 0.674895882607 0.000000000000 -vt 0.718583166599 0.876050651073 0.000000000000 -vt 0.713863432407 0.879810035229 0.000000000000 -vt 0.710420310497 0.875060856342 0.000000000000 -vt 0.714020431042 0.871412634850 0.000000000000 -vt 0.697144329548 0.869657814503 0.000000000000 -vt 0.690142214298 0.873365402222 0.000000000000 -vt 0.686877906322 0.870136678219 0.000000000000 -vt 0.696207225323 0.865324914455 0.000000000000 -vt 0.723377764225 0.855088472366 0.000000000000 -vt 0.686818659306 0.880428075790 0.000000000000 -vt 0.681876957417 0.878385961056 0.000000000000 -vt 0.704877674580 0.870628654957 0.000000000000 -vt 0.706442534924 0.866614162922 0.000000000000 -vt 0.698146879673 0.874422729015 0.000000000000 -vt 0.693293511868 0.876017093658 0.000000000000 -vt 0.703139483929 0.874020636082 0.000000000000 -vt 0.692841827869 0.881317675114 0.000000000000 -vt 0.707678377628 0.883993208408 0.000000000000 -vt 0.705496728420 0.878273785114 0.000000000000 -vt 0.700505435467 0.886600732803 0.000000000000 -vt 0.710137546062 0.772817432880 0.000000000000 -vt 0.708110511303 0.775850474834 0.000000000000 -vt 0.686994135380 0.796237647533 0.000000000000 -vt 0.715639293194 0.780954062939 0.000000000000 -vt 0.691104710102 0.775407373905 0.000000000000 -vt 0.699277937412 0.880255401134 0.000000000000 -vt 0.685730040073 0.887317180634 0.000000000000 -vt 0.679790914059 0.885531485081 0.000000000000 -vt 0.918968498707 0.632217705250 0.000000000000 -vt 0.927030384541 0.632067978382 0.000000000000 -vt 0.920924723148 0.642282843590 0.000000000000 -vt 0.928346455097 0.642091691494 0.000000000000 -vt 0.920858919621 0.665029823780 0.000000000000 -vt 0.928194463253 0.665964901447 0.000000000000 -vt 0.717470824718 0.788531899452 0.000000000000 -vt 0.900251805782 0.692512214184 0.000000000000 -vt 0.693121254444 0.888164877892 0.000000000000 -vt 0.902859151363 0.682655394077 0.000000000000 -vt 0.903970539570 0.621789634228 0.000000000000 -vt 0.901585161686 0.612310171127 0.000000000000 -vt 0.898017823696 0.700807869434 0.000000000000 -vt 0.905948698521 0.673050761223 0.000000000000 -vt 0.906874597073 0.632321536541 0.000000000000 -vt 0.693904578686 0.898468434811 0.000000000000 -vt 0.684614479542 0.894367456436 0.000000000000 -vt 0.909317672253 0.643546879292 0.000000000000 -vt 0.731463849545 0.855961382389 0.000000000000 -vt 0.869329869747 0.669516265392 0.000000000000 -vt 0.870946586132 0.660611331463 0.000000000000 -vt 0.890423119068 0.661864340305 0.000000000000 -vt 0.888348281384 0.670855045319 0.000000000000 -vt 0.890978634357 0.652710914612 0.000000000000 -vt 0.702305495739 0.895358145237 0.000000000000 -vt 0.871763646603 0.652749598026 0.000000000000 -vt 0.882360517979 0.689871191978 0.000000000000 -vt 0.710604488850 0.892980515957 0.000000000000 -vt 0.717464387417 0.885056376457 0.000000000000 -vt 0.730221688747 0.863188624382 0.000000000000 -vt 0.722860634327 0.863828301430 0.000000000000 -vt 0.714506924152 0.854860365391 0.000000000000 -vt 0.713789999485 0.863633096218 0.000000000000 -vt 0.724120557308 0.846761763096 0.000000000000 -vt 0.730854570866 0.849116206169 0.000000000000 -vt 0.714706599712 0.846446990967 0.000000000000 -vt 0.706338703632 0.855344653130 0.000000000000 -vt 0.707510411739 0.848723769188 0.000000000000 -vt 0.707069814205 0.861884772778 0.000000000000 -vt 0.678365886211 0.892260015011 0.000000000000 -vt 0.722407639027 0.880594253540 0.000000000000 -vt 0.885312139988 0.679928541183 0.000000000000 -vt 0.886436760426 0.624270200729 0.000000000000 -vt 0.883410274982 0.615363061428 0.000000000000 -vt 0.879997313023 0.698587834835 0.000000000000 -vt 0.889629900455 0.633672416210 0.000000000000 -vt 0.909305155277 0.662700593472 0.000000000000 -vt 0.891184151173 0.643255293369 0.000000000000 -vt 0.871766149998 0.644696950912 0.000000000000 -vt 0.907031238079 0.653394460678 0.000000000000 -vt 0.865283668041 0.687783956528 0.000000000000 -vt 0.867546260357 0.678728938103 0.000000000000 -vt 0.868419826031 0.627362251282 0.000000000000 -vt 0.866138994694 0.618586599827 0.000000000000 -vt 0.862232387066 0.696758449078 0.000000000000 -vt 0.870358645916 0.636041104794 0.000000000000 -vt 0.858235895634 0.685826241970 0.000000000000 -vt 0.858604013920 0.677683055401 0.000000000000 -vt 0.860833942890 0.667493700981 0.000000000000 -vt 0.863862931728 0.659794270992 0.000000000000 -vt 0.864249050617 0.652788579464 0.000000000000 -vt 0.864739954472 0.645918428898 0.000000000000 -vt 0.861379206181 0.638689100742 0.000000000000 -vt 0.859226524830 0.628483951092 0.000000000000 -vt 0.858618676662 0.620088815689 0.000000000000 -vt 0.856225430965 0.613054513931 0.000000000000 -vt 0.914761722088 0.600589513779 0.000000000000 -vt 0.924306929111 0.599584639072 0.000000000000 -vt 0.900618851185 0.603945910931 0.000000000000 -vt 0.882335126400 0.606884181499 0.000000000000 -vt 0.864254891872 0.609210252762 0.000000000000 -vt 0.854927241802 0.691868305206 0.000000000000 -vt 0.837422072887 0.841993212700 0.000000000000 -vt 0.887628972530 0.127281382680 0.000000000000 -vt 0.891492426395 0.109981805086 0.000000000000 -vt 0.853538930416 0.841780006886 0.000000000000 -vt 0.446142524481 0.173150673509 0.000000000000 -vt 0.852221906185 0.869813799858 0.000000000000 -vt 0.834832131863 0.866848766804 0.000000000000 -vt 0.827377617359 0.891240715981 0.000000000000 -vt 0.844508349895 0.896685421467 0.000000000000 -vt 0.876590073109 0.913664817810 0.000000000000 -vt 0.631155192852 0.291285961866 0.000000000000 -vt 0.626378953457 0.296571254730 0.000000000000 -vt 0.619356811047 0.293236494064 0.000000000000 -vt 0.617115795612 0.281405717134 0.000000000000 -vt 0.627076447010 0.304564028978 0.000000000000 -vt 0.612752139568 0.299342244864 0.000000000000 -vt 0.603455007076 0.284176468849 0.000000000000 -vt 0.551565110683 0.292362421751 0.000000000000 -vt 0.563377797604 0.287606924772 0.000000000000 -vt 0.575475394726 0.299903571606 0.000000000000 -vt 0.558976709843 0.303807973862 0.000000000000 -vt 0.562288582325 0.307399660349 0.000000000000 -vt 0.579733312130 0.307971090078 0.000000000000 -vt 0.596043288708 0.307672083378 0.000000000000 -vt 0.594420373440 0.298339635134 0.000000000000 -vt 0.590357482433 0.287719279528 0.000000000000 -vt 0.579626619816 0.290383100510 0.000000000000 -vt 0.573159515858 0.282042890787 0.000000000000 -vt 0.578718960285 0.044730942696 0.000000000000 -vt 0.566518962383 0.050097059458 0.000000000000 -vt 0.561770737171 0.022569365799 0.000000000000 -vt 0.579452574253 0.019849490374 0.000000000000 -vt 0.557008445263 0.060779999942 0.000000000000 -vt 0.548213899136 0.048078324646 0.000000000000 -vt 0.693731248379 0.210530251265 0.000000000000 -vt 0.693874895573 0.194242313504 0.000000000000 -vt 0.701992332935 0.200576603413 0.000000000000 -vt 0.711977064610 0.218270197511 0.000000000000 -vt 0.698697388172 0.178742393851 0.000000000000 -vt 0.704717457294 0.185912460089 0.000000000000 -vt 0.903121650219 0.125584170222 0.000000000000 -vt 0.867082893848 0.928871572018 0.000000000000 -vt 0.847567975521 0.932113111019 0.000000000000 -vt 0.861807763577 0.903646290302 0.000000000000 -vt 0.874533474445 0.941229879856 0.000000000000 -vt 0.854254424572 0.953694105148 0.000000000000 -vt 0.828710377216 0.919355154037 0.000000000000 -vt 0.886985480785 0.898062467575 0.000000000000 -vt 0.872782289982 0.875068247318 0.000000000000 -vt 0.906435072422 0.912213265896 0.000000000000 -vt 0.907167255878 0.936152637005 0.000000000000 -vt 0.888857185841 0.925772547722 0.000000000000 -vt 0.894924700260 0.912269532681 0.000000000000 -vt 0.909523308277 0.137212976813 0.000000000000 -vt 0.900375425816 0.890851438046 0.000000000000 -vt 0.647988855839 0.030116569251 0.000000000000 -vt 0.663214385509 0.030034158379 0.000000000000 -vt 0.655444204807 0.048680160195 0.000000000000 -vt 0.633447468281 0.039773471653 0.000000000000 -vt 0.639170706272 0.061737354845 0.000000000000 -vt 0.625266969204 0.055919121951 0.000000000000 -vt 0.724736869335 0.892238378525 0.000000000000 -vt 0.741851985455 0.899839401245 0.000000000000 -vt 0.725909292698 0.912707686424 0.000000000000 -vt 0.713663756847 0.901688575745 0.000000000000 -vt 0.650711238384 0.327391177416 0.000000000000 -vt 0.634856283665 0.320250153542 0.000000000000 -vt 0.740120351315 0.933756113052 0.000000000000 -vt 0.722898066044 0.930224955082 0.000000000000 -vt 0.640473186970 0.306113332510 0.000000000000 -vt 0.652059733868 0.314922749996 0.000000000000 -vt 0.621949970722 0.313803285360 0.000000000000 -vt 0.583925902843 0.276038467884 0.000000000000 -vt 0.669873058796 0.330044180155 0.000000000000 -vt 0.663455307484 0.311076432467 0.000000000000 -vt 0.653194963932 0.296154946089 0.000000000000 -vt 0.537551581860 0.063254460692 0.000000000000 -vt 0.855031669140 0.035574551672 0.000000000000 -vt 0.837493717670 0.022007379681 0.000000000000 -vt 0.709798753262 0.290995299816 0.000000000000 -vt 0.720909416676 0.320390880108 0.000000000000 -vt 0.708561480045 0.322530746460 0.000000000000 -vt 0.747772991657 0.921521842480 0.000000000000 -vt 0.695623576641 0.297934114933 0.000000000000 -vt 0.680082261562 0.305459260941 0.000000000000 -vt 0.693427860737 0.329764753580 0.000000000000 -vt 0.681907594204 0.278335958719 0.000000000000 -vt 0.667823493481 0.287369400263 0.000000000000 -vt 0.667146265507 0.261673122644 0.000000000000 -vt 0.654371798038 0.271894037724 0.000000000000 -vt 0.641373217106 0.281966120005 0.000000000000 -vt 0.639975368977 0.258212238550 0.000000000000 -vt 0.628611147404 0.269090384245 0.000000000000 -vt 0.626621663570 0.244766697288 0.000000000000 -vt 0.616053998470 0.255464911461 0.000000000000 -vt 0.605184614658 0.264766514301 0.000000000000 -vt 0.605853140354 0.242097690701 0.000000000000 -vt 0.595517814159 0.250885695219 0.000000000000 -vt 0.585814058781 0.256739497185 0.000000000000 -vt 0.595492184162 0.270403504372 0.000000000000 -vt 0.574711024761 0.264054805040 0.000000000000 -vt 0.585790932178 0.239443764091 0.000000000000 -vt 0.572891771793 0.246539995074 0.000000000000 -vt 0.559696972370 0.254923403263 0.000000000000 -vt 0.577001988888 0.228986665606 0.000000000000 -vt 0.564495980740 0.234662607312 0.000000000000 -vt 0.551713407040 0.238481923938 0.000000000000 -vt 0.545511305332 0.261512130499 0.000000000000 -vt 0.538646757603 0.241494938731 0.000000000000 -vt 0.661286294460 0.149169623852 0.000000000000 -vt 0.643085420132 0.133995741606 0.000000000000 -vt 0.684797942638 0.147779509425 0.000000000000 -vt 0.676565825939 0.159141749144 0.000000000000 -vt 0.630804598331 0.144728660583 0.000000000000 -vt 0.649197280407 0.162055477500 0.000000000000 -vt 0.669700562954 0.172124639153 0.000000000000 -vt 0.633624017239 0.171124503016 0.000000000000 -vt 0.617616355419 0.157551243901 0.000000000000 -vt 0.624203979969 0.183554634452 0.000000000000 -vt 0.607319533825 0.173306703568 0.000000000000 -vt 0.645736873150 0.185071289539 0.000000000000 -vt 0.638931095600 0.196221649647 0.000000000000 -vt 0.601086556911 0.187993124127 0.000000000000 -vt 0.617492735386 0.196533486247 0.000000000000 -vt 0.632214725018 0.207936018705 0.000000000000 -vt 0.654465734959 0.209547683597 0.000000000000 -vt 0.646386682987 0.221093416214 0.000000000000 -vt 0.611703574657 0.208597302437 0.000000000000 -vt 0.624510347843 0.219911128283 0.000000000000 -vt 0.636621057987 0.233212843537 0.000000000000 -vt 0.661210715771 0.235190823674 0.000000000000 -vt 0.651021778584 0.247041419148 0.000000000000 -vt 0.615979254246 0.231477782130 0.000000000000 -vt 0.605249464512 0.220229938626 0.000000000000 -vt 0.596773326397 0.230893954635 0.000000000000 -vt 0.592077195644 0.211689129472 0.000000000000 -vt 0.586139500141 0.221562415361 0.000000000000 -vt 0.596748054028 0.200712144375 0.000000000000 -vt 0.686020314693 0.238807246089 0.000000000000 -vt 0.677805483341 0.250549525023 0.000000000000 -vt 0.669185936451 0.222903206944 0.000000000000 -vt 0.691701591015 0.226273551583 0.000000000000 -vt 0.675190150738 0.210060581565 0.000000000000 -vt 0.660946547985 0.197643056512 0.000000000000 -vt 0.679371058941 0.196919396520 0.000000000000 -vt 0.665786325932 0.185841768980 0.000000000000 -vt 0.653169095516 0.177967861295 0.000000000000 -vt 0.682948529720 0.183452650905 0.000000000000 -vt 0.688856303692 0.169335424900 0.000000000000 -vt 0.712051331997 0.240907743573 0.000000000000 -vt 0.705046594143 0.257047295570 0.000000000000 -vt 0.693947613239 0.268588751554 0.000000000000 -vt 0.846441566944 0.016312304884 0.000000000000 -vt 0.725233733654 0.280963063240 0.000000000000 -vt 0.864230215549 0.027330722660 0.000000000000 -vt 0.867542684078 0.077758729458 0.000000000000 -vt 0.873992264271 0.059032347053 0.000000000000 -vt 0.900698363781 0.073607310653 0.000000000000 -vt 0.893409788609 0.088153243065 0.000000000000 -vt 0.837527215481 0.094833135605 0.000000000000 -vt 0.838087618351 0.073169842362 0.000000000000 -vt 0.864491522312 0.098964735866 0.000000000000 -vt 0.839568436146 0.049210395664 0.000000000000 -vt 0.838048279285 0.117027804255 0.000000000000 -vt 0.862743914127 0.119909122586 0.000000000000 -vt 0.839784204960 0.140174224973 0.000000000000 -vt 0.862825214863 0.142299681902 0.000000000000 -vt 0.887471616268 0.147722780704 0.000000000000 -vt 0.864518344402 0.167147815228 0.000000000000 -vt 0.760909855366 0.908550620079 0.000000000000 -vt 0.702537238598 0.924268066883 0.000000000000 -vt 0.688291251659 0.928146779537 0.000000000000 -vt 0.681064426899 0.908967435360 0.000000000000 -vt 0.690809547901 0.908960223198 0.000000000000 -vt 0.831720411777 0.965238690376 0.000000000000 -vt 0.609436690807 0.309842139482 0.000000000000 -vt 0.841262519360 0.982780098915 0.000000000000 -vt 0.824164688587 0.990950345993 0.000000000000 -vt 0.813748776913 0.974472284317 0.000000000000 -vt 0.803931534290 0.981341362000 0.000000000000 -vt 0.813704669476 0.995644569397 0.000000000000 -vt 0.821433365345 0.949445426464 0.000000000000 -vt 0.802491247654 0.961359918118 0.000000000000 -vt 0.792442619801 0.969731867313 0.000000000000 -vt 0.808618605137 0.936246752739 0.000000000000 -vt 0.791009962559 0.950495541096 0.000000000000 -vt 0.780412495136 0.960320413113 0.000000000000 -vt 0.779733002186 0.938618302345 0.000000000000 -vt 0.769098222256 0.949621915817 0.000000000000 -vt 0.795302093029 0.925809264183 0.000000000000 -vt 0.779587566853 0.917365670204 0.000000000000 -vt 0.765330970287 0.930258750916 0.000000000000 -vt 0.755919754505 0.940638661385 0.000000000000 -vt 0.888226568699 0.171349883080 0.000000000000 -vt 0.910776436329 0.175429016352 0.000000000000 -vt 0.910029232502 0.154122352600 0.000000000000 -vt 0.931366503239 0.177302077413 0.000000000000 -vt 0.929215371609 0.158224686980 0.000000000000 -vt 0.927563607693 0.146612986922 0.000000000000 -vt 0.907406389713 0.225816711783 0.000000000000 -vt 0.909843504429 0.199414119124 0.000000000000 -vt 0.930679738522 0.201603308320 0.000000000000 -vt 0.928200304508 0.226828783751 0.000000000000 -vt 0.887493193150 0.252168864012 0.000000000000 -vt 0.887319624424 0.224217891693 0.000000000000 -vt 0.907594621181 0.252231895924 0.000000000000 -vt 0.932080924511 0.253668844700 0.000000000000 -vt 0.888279378414 0.197011262178 0.000000000000 -vt 0.868254363537 0.222412139177 0.000000000000 -vt 0.866531431675 0.193962886930 0.000000000000 -vt 0.850991070271 0.254400819540 0.000000000000 -vt 0.425416767597 0.169557422400 0.000000000000 -vt 0.527126252651 0.054304089397 0.000000000000 -vt 0.537031948566 0.037999924272 0.000000000000 -vt 0.594819605350 0.021248605102 0.000000000000 -vt 0.593616664410 0.041817199439 0.000000000000 -vt 0.611463606358 0.039550118148 0.000000000000 -vt 0.612102329731 0.021802034229 0.000000000000 -vt 0.629308164120 0.021318852901 0.000000000000 -vt 0.684654057026 0.026047337800 0.000000000000 -vt 0.686814010143 0.010275442153 0.000000000000 -vt 0.813150346279 0.910948097706 0.000000000000 -vt 0.795561254025 0.902303934097 0.000000000000 -vt 0.708547055721 0.008438628167 0.000000000000 -vt 0.706763446331 0.024136669934 0.000000000000 -vt 0.681121885777 0.042657937855 0.000000000000 -vt 0.703326165676 0.040577050298 0.000000000000 -vt 0.679071128368 0.059330899268 0.000000000000 -vt 0.697736203671 0.057211738080 0.000000000000 -vt 0.679068386555 0.075802132487 0.000000000000 -vt 0.694422185421 0.074145883322 0.000000000000 -vt 0.660856544971 0.065091490746 0.000000000000 -vt 0.664182245731 0.079712390900 0.000000000000 -vt 0.667562067509 0.093277320266 0.000000000000 -vt 0.658718883991 0.094275429845 0.000000000000 -vt 0.653593957424 0.083498373628 0.000000000000 -vt 0.562429010868 0.070872798562 0.000000000000 -vt 0.561431109905 0.091275691986 0.000000000000 -vt 0.651631176472 0.096843779087 0.000000000000 -vt 0.566199004650 0.079591929913 0.000000000000 -vt 0.568919837475 0.088470026851 0.000000000000 -vt 0.576352179050 0.086408510804 0.000000000000 -vt 0.573891699314 0.075738176703 0.000000000000 -vt 0.570575177670 0.065078660846 0.000000000000 -vt 0.584147036076 0.084593981504 0.000000000000 -vt 0.582864105701 0.072689130902 0.000000000000 -vt 0.580894887447 0.060486171395 0.000000000000 -vt 0.593160688877 0.083160415292 0.000000000000 -vt 0.593804895878 0.070337161422 0.000000000000 -vt 0.593818604946 0.057107713073 0.000000000000 -vt 0.603601753712 0.082686245441 0.000000000000 -vt 0.606147468090 0.069071784616 0.000000000000 -vt 0.609074890614 0.054980006069 0.000000000000 -vt 0.614769279957 0.083682104945 0.000000000000 -vt 0.619084775448 0.069891348481 0.000000000000 -vt 0.610922992229 0.095825180411 0.000000000000 -vt 0.601321876049 0.094617664814 0.000000000000 -vt 0.622694909573 0.086109951138 0.000000000000 -vt 0.617340266705 0.097710400820 0.000000000000 -vt 0.629761517048 0.073689267039 0.000000000000 -vt 0.629895031452 0.090603604913 0.000000000000 -vt 0.623498737812 0.100945651531 0.000000000000 -vt 0.638310372829 0.080408573151 0.000000000000 -vt 0.638113796711 0.097320660949 0.000000000000 -vt 0.645590126514 0.088923722506 0.000000000000 -vt 0.647677242756 0.071726813912 0.000000000000 -vt 0.631511867046 0.105762854218 0.000000000000 -vt 0.638789474964 0.110335975885 0.000000000000 -vt 0.562276422977 0.105178341269 0.000000000000 -vt 0.630611360073 0.128678917885 0.000000000000 -vt 0.623610913754 0.125340327621 0.000000000000 -vt 0.626384556293 0.114658728242 0.000000000000 -vt 0.569847881794 0.105211660266 0.000000000000 -vt 0.570068538189 0.114621803164 0.000000000000 -vt 0.570002615452 0.097111940384 0.000000000000 -vt 0.577380478382 0.104798287153 0.000000000000 -vt 0.576979458332 0.114249393344 0.000000000000 -vt 0.577486932278 0.096096485853 0.000000000000 -vt 0.584565103054 0.104308113456 0.000000000000 -vt 0.583777844906 0.114008486271 0.000000000000 -vt 0.584677040577 0.095082387328 0.000000000000 -vt 0.591241061687 0.104193970561 0.000000000000 -vt 0.589022576809 0.114581719041 0.000000000000 -vt 0.592356622219 0.094391390681 0.000000000000 -vt 0.598587095737 0.105026379228 0.000000000000 -vt 0.594260156155 0.115820080042 0.000000000000 -vt 0.586750924587 0.143253445625 0.000000000000 -vt 0.588111102581 0.125869661570 0.000000000000 -vt 0.593005359173 0.127749264240 0.000000000000 -vt 0.591630995274 0.144661337137 0.000000000000 -vt 0.596110045910 0.146092429757 0.000000000000 -vt 0.598921716213 0.130493223667 0.000000000000 -vt 0.601200044155 0.117737725377 0.000000000000 -vt 0.600308954716 0.147598937154 0.000000000000 -vt 0.605599582195 0.133385121822 0.000000000000 -vt 0.608710825443 0.120034545660 0.000000000000 -vt 0.604579865932 0.149645149708 0.000000000000 -vt 0.611486494541 0.135846063495 0.000000000000 -vt 0.615960538387 0.122533097863 0.000000000000 -vt 0.608992874622 0.150967940688 0.000000000000 -vt 0.617690265179 0.137778565288 0.000000000000 -vt 0.624459326267 0.140183672309 0.000000000000 -vt 0.613782465458 0.152489989996 0.000000000000 -vt 0.570089280605 0.125959947705 0.000000000000 -vt 0.557442963123 0.275540649891 0.000000000000 -vt 0.566006243229 0.270970880985 0.000000000000 -vt 0.775371730328 0.893757700920 0.000000000000 -vt 0.808763206005 0.883916676044 0.000000000000 -vt 0.559562146664 0.264112442732 0.000000000000 -vt 0.554663598537 0.266600191593 0.000000000000 -vt 0.848581612110 0.221785306931 0.000000000000 -vt 0.393582761288 0.484183341265 0.000000000000 -vt 0.396767795086 0.480453461409 0.000000000000 -vt 0.400794714689 0.480809420347 0.000000000000 -vt 0.399765521288 0.485055834055 0.000000000000 -vt 0.439470499754 0.511713802814 0.000000000000 -vt 0.440386444330 0.513542473316 0.000000000000 -vt 0.437012046576 0.514041662216 0.000000000000 -vt 0.437573134899 0.511677742004 0.000000000000 -vt 0.422013103962 0.460037946701 0.000000000000 -vt 0.418047666550 0.470334529877 0.000000000000 -vt 0.412509530783 0.468371391296 0.000000000000 -vt 0.414865106344 0.458373844624 0.000000000000 -vt 0.429023534060 0.476388931274 0.000000000000 -vt 0.423462659121 0.473014324903 0.000000000000 -vt 0.429314196110 0.462833255529 0.000000000000 -vt 0.436214298010 0.467371255159 0.000000000000 -vt 0.406041711569 0.475491911173 0.000000000000 -vt 0.406945496798 0.467524141073 0.000000000000 -vt 0.410694092512 0.476356506348 0.000000000000 -vt 0.435092151165 0.452288359404 0.000000000000 -vt 0.438309162855 0.447881609201 0.000000000000 -vt 0.359971135855 0.090370342135 0.000000000000 -vt 0.368420302868 0.099629849195 0.000000000000 -vt 0.362833082676 0.104876860976 0.000000000000 -vt 0.354921132326 0.096900969744 0.000000000000 -vt 0.352515369654 0.130700588226 0.000000000000 -vt 0.345492541790 0.124132826924 0.000000000000 -vt 0.349532276392 0.119571164250 0.000000000000 -vt 0.358871489763 0.128728002310 0.000000000000 -vt 0.438525289297 0.449985921383 0.000000000000 -vt 0.439274400473 0.451704740524 0.000000000000 -vt 0.449622303247 0.464140743017 0.000000000000 -vt 0.448981046677 0.460056871176 0.000000000000 -vt 0.450336039066 0.460677176714 0.000000000000 -vt 0.452015697956 0.460444808006 0.000000000000 -vt 0.425263881683 0.450979530811 0.000000000000 -vt 0.453179091215 0.473780065775 0.000000000000 -vt 0.449453443289 0.477478682995 0.000000000000 -vt 0.442929327488 0.472293376923 0.000000000000 -vt 0.441622525454 0.459930330515 0.000000000000 -vt 0.444129645824 0.456388652325 0.000000000000 -vt 0.373616009951 0.118581384420 0.000000000000 -vt 0.375112146139 0.115701422095 0.000000000000 -vt 0.377992779016 0.117945536971 0.000000000000 -vt 0.375868886709 0.120479449630 0.000000000000 -vt 0.382243275642 0.107223436236 0.000000000000 -vt 0.383732229471 0.103787556291 0.000000000000 -vt 0.386310935020 0.106139764190 0.000000000000 -vt 0.384451150894 0.109020173550 0.000000000000 -vt 0.409286201000 0.450759083033 0.000000000000 -vt 0.408566385508 0.458585023880 0.000000000000 -vt 0.376690715551 0.126454398036 0.000000000000 -vt 0.381214976311 0.120371833444 0.000000000000 -vt 0.403114914894 0.459155589342 0.000000000000 -vt 0.403876841068 0.452309519053 0.000000000000 -vt 0.454835981131 0.482029527426 0.000000000000 -vt 0.457485169172 0.479463666677 0.000000000000 -vt 0.384555608034 0.122786611319 0.000000000000 -vt 0.382433533669 0.128221631050 0.000000000000 -vt 0.385892122984 0.114606484771 0.000000000000 -vt 0.389199435711 0.119001969695 0.000000000000 -vt 0.416368693113 0.447328180075 0.000000000000 -vt 0.461556434631 0.440214395523 0.000000000000 -vt 0.354810804129 0.135790005326 0.000000000000 -vt 0.356487303972 0.133928865194 0.000000000000 -vt 0.459117084742 0.440935134888 0.000000000000 -vt 0.359035402536 0.136161059141 0.000000000000 -vt 0.356604158878 0.137259811163 0.000000000000 -vt 0.456829965115 0.439723789692 0.000000000000 -vt 0.458451539278 0.437272518873 0.000000000000 -vt 0.454769343138 0.438526421785 0.000000000000 -vt 0.454550951719 0.435967743397 0.000000000000 -vt 0.441826075315 0.444921255112 0.000000000000 -vt 0.443551659584 0.442011803389 0.000000000000 -vt 0.448256731033 0.443818241358 0.000000000000 -vt 0.446299463511 0.446265220642 0.000000000000 -vt 0.455544114113 0.449857115746 0.000000000000 -vt 0.458855003119 0.454671829939 0.000000000000 -vt 0.455724000931 0.457280248404 0.000000000000 -vt 0.453310787678 0.452473431826 0.000000000000 -vt 0.450308114290 0.448847740889 0.000000000000 -vt 0.386408418417 0.101448193192 0.000000000000 -vt 0.387978881598 0.103007167578 0.000000000000 -vt 0.452250301838 0.446324646473 0.000000000000 -vt 0.447152793407 0.437671035528 0.000000000000 -vt 0.450194656849 0.436007380486 0.000000000000 -vt 0.452898085117 0.439646780491 0.000000000000 -vt 0.450881361961 0.441238403320 0.000000000000 -vt 0.458574026823 0.443444490433 0.000000000000 -vt 0.463303625584 0.444895386696 0.000000000000 -vt 0.462563782930 0.448778629303 0.000000000000 -vt 0.457480877638 0.446133941412 0.000000000000 -vt 0.454026341438 0.443802684546 0.000000000000 -vt 0.359097301960 0.132905989885 0.000000000000 -vt 0.361074864864 0.134876102209 0.000000000000 -vt 0.455461025238 0.441745221615 0.000000000000 -vt 0.444298267365 0.448686748743 0.000000000000 -vt 0.442074418068 0.450537770987 0.000000000000 -vt 0.439655810595 0.449115246534 0.000000000000 -vt 0.441199243069 0.447540730238 0.000000000000 -vt 0.451972931623 0.458101630211 0.000000000000 -vt 0.450596332550 0.459385693073 0.000000000000 -vt 0.449565351009 0.457458138466 0.000000000000 -vt 0.450939685106 0.454803764820 0.000000000000 -vt 0.446267724037 0.453737437725 0.000000000000 -vt 0.397592544556 0.132566675544 0.000000000000 -vt 0.395102560520 0.138213351369 0.000000000000 -vt 0.392103701830 0.135889068246 0.000000000000 -vt 0.395304739475 0.130839735270 0.000000000000 -vt 0.399295836687 0.125662967563 0.000000000000 -vt 0.402231425047 0.128127291799 0.000000000000 -vt 0.404049992561 0.137433633208 0.000000000000 -vt 0.405965834856 0.138806402683 0.000000000000 -vt 0.404163688421 0.144568577409 0.000000000000 -vt 0.448208779097 0.451402574778 0.000000000000 -vt 0.449387699366 0.442756623030 0.000000000000 -vt 0.445775300264 0.440066248178 0.000000000000 -vt 0.459970653057 0.451159417629 0.000000000000 -vt 0.456270694733 0.448136717081 0.000000000000 -vt 0.400764316320 0.142388850451 0.000000000000 -vt 0.410871744156 0.135244905949 0.000000000000 -vt 0.407858490944 0.132529079914 0.000000000000 -vt 0.389080792665 0.131361424923 0.000000000000 -vt 0.387762486935 0.129610389471 0.000000000000 -vt 0.389104187489 0.126333042979 0.000000000000 -vt 0.390812218189 0.127695217729 0.000000000000 -vt 0.391797959805 0.123638600111 0.000000000000 -vt 0.393867135048 0.124303475022 0.000000000000 -vt 0.390969157219 0.132123574615 0.000000000000 -vt 0.392821729183 0.129185527563 0.000000000000 -vt 0.395075976849 0.126136258245 0.000000000000 -vt 0.398736566305 0.138166293502 0.000000000000 -vt 0.397700846195 0.136793285608 0.000000000000 -vt 0.399035334587 0.133746489882 0.000000000000 -vt 0.400510340929 0.134889379144 0.000000000000 -vt 0.401520818472 0.131361871958 0.000000000000 -vt 0.403166472912 0.131912827492 0.000000000000 -vt 0.400330662727 0.138775110245 0.000000000000 -vt 0.402200579643 0.136118054390 0.000000000000 -vt 0.404188245535 0.133363723755 0.000000000000 -vt 0.385480999947 0.131040126085 0.000000000000 -vt 0.387488692999 0.124964997172 0.000000000000 -vt 0.392740219831 0.120471790433 0.000000000000 -vt 0.397779881954 0.121211871505 0.000000000000 -vt 0.388019412756 0.135536253452 0.000000000000 -vt 0.406621724367 0.128388255835 0.000000000000 -vt 0.396779060364 0.141935378313 0.000000000000 -vt 0.409657478333 0.141405150294 0.000000000000 -vt 0.408238559961 0.143032342196 0.000000000000 -vt 0.452826261520 0.445473134518 0.000000000000 -vt 0.398223191500 0.453096210957 0.000000000000 -vt 0.397748589516 0.459203541279 0.000000000000 -vt 0.461537957191 0.483292669058 0.000000000000 -vt 0.458966463804 0.486215561628 0.000000000000 -vt 0.417104929686 0.441364258528 0.000000000000 -vt 0.418126702309 0.442871898413 0.000000000000 -vt 0.420422822237 0.444641411304 0.000000000000 -vt 0.433500528336 0.448079735041 0.000000000000 -vt 0.436020672321 0.448221594095 0.000000000000 -vt 0.427099138498 0.446181684732 0.000000000000 -vt 0.438960522413 0.423234313726 0.000000000000 -vt 0.436720907688 0.424649864435 0.000000000000 -vt 0.407253503799 0.142381638288 0.000000000000 -vt 0.408249586821 0.140351876616 0.000000000000 -vt 0.434051692486 0.423569798470 0.000000000000 -vt 0.434879601002 0.420804440975 0.000000000000 -vt 0.431214749813 0.423123985529 0.000000000000 -vt 0.430086702108 0.420641422272 0.000000000000 -vt 0.419274091721 0.434574037790 0.000000000000 -vt 0.420379161835 0.430852890015 0.000000000000 -vt 0.426141530275 0.431651085615 0.000000000000 -vt 0.424853444099 0.434927970171 0.000000000000 -vt 0.436181217432 0.434532612562 0.000000000000 -vt 0.441298097372 0.437351107597 0.000000000000 -vt 0.439914047718 0.441069751978 0.000000000000 -vt 0.435192108154 0.437948435545 0.000000000000 -vt 0.430372446775 0.435908526182 0.000000000000 -vt 0.410810738802 0.139599621296 0.000000000000 -vt 0.409828603268 0.138812705874 0.000000000000 -vt 0.431275308132 0.432643771172 0.000000000000 -vt 0.423234343529 0.424417972565 0.000000000000 -vt 0.425667136908 0.422001600266 0.000000000000 -vt 0.429718136787 0.424738824368 0.000000000000 -vt 0.428410202265 0.426783442497 0.000000000000 -vt 0.437025994062 0.426789969206 0.000000000000 -vt 0.441838681698 0.426870137453 0.000000000000 -vt 0.442383557558 0.430333465338 0.000000000000 -vt 0.436957329512 0.429274797440 0.000000000000 -vt 0.432621270418 0.428078770638 0.000000000000 -vt 0.414452850819 0.144986689091 0.000000000000 -vt 0.409147053957 0.147766679525 0.000000000000 -vt 0.433331876993 0.425908029079 0.000000000000 -vt 0.423957765102 0.438147932291 0.000000000000 -vt 0.422544687986 0.441486746073 0.000000000000 -vt 0.418296456337 0.441183239222 0.000000000000 -vt 0.419304251671 0.438087821007 0.000000000000 -vt 0.437636613846 0.443893879652 0.000000000000 -vt 0.436708301306 0.446964770555 0.000000000000 -vt 0.433489710093 0.444419175386 0.000000000000 -vt 0.434133440256 0.441165685654 0.000000000000 -vt 0.428444206715 0.442456930876 0.000000000000 -vt 0.408575177193 0.144754558802 0.000000000000 -vt 0.411639750004 0.142881035805 0.000000000000 -vt 0.406258314848 0.142990231514 0.000000000000 -vt 0.407059431076 0.139547616243 0.000000000000 -vt 0.410056680441 0.137724533677 0.000000000000 -vt 0.415505886078 0.139094606042 0.000000000000 -vt 0.412565827370 0.139450341463 0.000000000000 -vt 0.364202499390 0.128939658403 0.000000000000 -vt 0.366093575954 0.126167103648 0.000000000000 -vt 0.429390072823 0.439258158207 0.000000000000 -vt 0.427526712418 0.428991526365 0.000000000000 -vt 0.422490209341 0.427620559931 0.000000000000 -vt 0.441317677498 0.433453887701 0.000000000000 -vt 0.436557680368 0.431637555361 0.000000000000 -vt 0.368825376034 0.128782272339 0.000000000000 -vt 0.366221219301 0.131002977490 0.000000000000 -vt 0.377708643675 0.113558173180 0.000000000000 -vt 0.379947811365 0.115249529481 0.000000000000 -vt 0.368792057037 0.124293580651 0.000000000000 -vt 0.370973348618 0.126337096095 0.000000000000 -vt 0.379835903645 0.132157340646 0.000000000000 -vt 0.374702155590 0.134804278612 0.000000000000 -vt 0.371608525515 0.131661787629 0.000000000000 -vt 0.385006606579 0.145867496729 0.000000000000 -vt 0.380806565285 0.150551855564 0.000000000000 -vt 0.378436356783 0.147939816117 0.000000000000 -vt 0.383413165808 0.143897384405 0.000000000000 -vt 0.388382792473 0.140254378319 0.000000000000 -vt 0.390580326319 0.142940923572 0.000000000000 -vt 0.389787077904 0.151387169957 0.000000000000 -vt 0.391084223986 0.152869373560 0.000000000000 -vt 0.387653529644 0.157836511731 0.000000000000 -vt 0.385402202606 0.155462026596 0.000000000000 -vt 0.396483421326 0.150470122695 0.000000000000 -vt 0.394613981247 0.147955358028 0.000000000000 -vt 0.377133131027 0.143021076918 0.000000000000 -vt 0.431962937117 0.430194556713 0.000000000000 -vt 0.398509591818 0.449473470449 0.000000000000 -vt 0.403451532125 0.447545230389 0.000000000000 -vt 0.412772059441 0.443381220102 0.000000000000 -vt 0.415262728930 0.442666351795 0.000000000000 -vt 0.408193081617 0.445362567902 0.000000000000 -vt 0.402572304010 0.417491078377 0.000000000000 -vt 0.401636779308 0.420146107674 0.000000000000 -vt 0.376334518194 0.141268029809 0.000000000000 -vt 0.378864586353 0.138637766242 0.000000000000 -vt 0.398579388857 0.420967459679 0.000000000000 -vt 0.397203922272 0.418318748474 0.000000000000 -vt 0.395930439234 0.422812163830 0.000000000000 -vt 0.393101811409 0.421740859747 0.000000000000 -vt 0.393963277340 0.440714478493 0.000000000000 -vt 0.392591178417 0.436948060989 0.000000000000 -vt 0.397990405560 0.434073746204 0.000000000000 -vt 0.399504780769 0.437697380781 0.000000000000 -vt 0.408009588718 0.428790479898 0.000000000000 -vt 0.414924532175 0.428841352463 0.000000000000 -vt 0.416294604540 0.432789921761 0.000000000000 -vt 0.409434139729 0.432349741459 0.000000000000 -vt 0.404077023268 0.434443891048 0.000000000000 -vt 0.380261212587 0.140083029866 0.000000000000 -vt 0.382164925337 0.137022957206 0.000000000000 -vt 0.402819514275 0.430790752172 0.000000000000 -vt 0.390489786863 0.430026113987 0.000000000000 -vt 0.390550136566 0.426381319761 0.000000000000 -vt 0.395857959986 0.425411134958 0.000000000000 -vt 0.396276742220 0.428331613541 0.000000000000 -vt 0.403288513422 0.421578973532 0.000000000000 -vt 0.408246427774 0.418946474791 0.000000000000 -vt 0.411142379045 0.421542286873 0.000000000000 -vt 0.405009150505 0.423732370138 0.000000000000 -vt 0.400750786066 0.425774753094 0.000000000000 -vt 0.383944779634 0.138014540076 0.000000000000 -vt 0.378778368235 0.144098669291 0.000000000000 -vt 0.399727702141 0.423417359591 0.000000000000 -vt 0.400881379843 0.440771222115 0.000000000000 -vt 0.401966422796 0.443919539452 0.000000000000 -vt 0.396847724915 0.446899026632 0.000000000000 -vt 0.396342486143 0.443651407957 0.000000000000 -vt 0.415956437588 0.436509907246 0.000000000000 -vt 0.416573584080 0.440072774887 0.000000000000 -vt 0.411374956369 0.439379304647 0.000000000000 -vt 0.410169273615 0.436066806316 0.000000000000 -vt 0.406326770782 0.441095888615 0.000000000000 -vt 0.381734192371 0.141807720065 0.000000000000 -vt 0.384717941284 0.139707922935 0.000000000000 -vt 0.384294420481 0.151226192713 0.000000000000 -vt 0.383655220270 0.149787440896 0.000000000000 -vt 0.386135309935 0.147063747048 0.000000000000 -vt 0.387247562408 0.148301199079 0.000000000000 -vt 0.389312237501 0.145468518138 0.000000000000 -vt 0.390688598156 0.146293267608 0.000000000000 -vt 0.385713368654 0.152030900121 0.000000000000 -vt 0.405239045620 0.437882453203 0.000000000000 -vt 0.396997690201 0.430689215660 0.000000000000 -vt 0.392160445452 0.433128327131 0.000000000000 -vt 0.412164151669 0.424938082695 0.000000000000 -vt 0.406307399273 0.426028043032 0.000000000000 -vt 0.388458669186 0.149755924940 0.000000000000 -vt 0.391224920750 0.147718727589 0.000000000000 -vt 0.373405694962 0.142156943679 0.000000000000 -vt 0.377377659082 0.137248560786 0.000000000000 -vt 0.383390426636 0.134469017386 0.000000000000 -vt 0.387974828482 0.136217564344 0.000000000000 -vt 0.374564796686 0.146659821272 0.000000000000 -vt 0.394345581532 0.144419968128 0.000000000000 -vt 0.381775170565 0.154543623328 0.000000000000 -vt 0.393369078636 0.155557274818 0.000000000000 -vt 0.391563802958 0.156876459718 0.000000000000 -vt 0.390937179327 0.156117007136 0.000000000000 -vt 0.392488509417 0.154420018196 0.000000000000 -vt 0.395006179810 0.154078006744 0.000000000000 -vt 0.394348293543 0.153221741319 0.000000000000 -vt 0.396971106529 0.159922137856 0.000000000000 -vt 0.391263425350 0.161551579833 0.000000000000 -vt 0.391377806664 0.158593714237 0.000000000000 -vt 0.394818872213 0.157320469618 0.000000000000 -vt 0.389807134867 0.156631037593 0.000000000000 -vt 0.391787588596 0.153602257371 0.000000000000 -vt 0.395006865263 0.152312338352 0.000000000000 -vt 0.401779532433 0.428116351366 0.000000000000 -vt 0.452458798885 0.462447345257 0.000000000000 -vt 0.452626556158 0.465537369251 0.000000000000 -vt 0.459379166365 0.476943254471 0.000000000000 -vt 0.462601810694 0.480663985014 0.000000000000 -vt 0.455803722143 0.471922338009 0.000000000000 -vt 0.479603260756 0.461800038815 0.000000000000 -vt 0.477074772120 0.461461395025 0.000000000000 -vt 0.399524837732 0.154673993587 0.000000000000 -vt 0.396705895662 0.154279291630 0.000000000000 -vt 0.475300759077 0.459207594395 0.000000000000 -vt 0.477906495333 0.457540988922 0.000000000000 -vt 0.473629444838 0.457062989473 0.000000000000 -vt 0.474505990744 0.454424381256 0.000000000000 -vt 0.457420319319 0.456922262907 0.000000000000 -vt 0.460104405880 0.454761892557 0.000000000000 -vt 0.463730514050 0.459742784500 0.000000000000 -vt 0.461280167103 0.461182653904 0.000000000000 -vt 0.469485044479 0.469264149666 0.000000000000 -vt 0.472566455603 0.474419951439 0.000000000000 -vt 0.469833135605 0.475842684507 0.000000000000 -vt 0.467271775007 0.470811873674 0.000000000000 -vt 0.464453041553 0.465783476830 0.000000000000 -vt 0.371207743883 0.139285087585 0.000000000000 -vt 0.356069415808 0.140628591180 0.000000000000 -vt 0.466606199741 0.464368134737 0.000000000000 -vt 0.466347038746 0.452607154846 0.000000000000 -vt 0.470105797052 0.452469378710 0.000000000000 -vt 0.471197992563 0.457316517830 0.000000000000 -vt 0.468378633261 0.458023726940 0.000000000000 -vt 0.475411504507 0.463598579168 0.000000000000 -vt 0.478970795870 0.466784060001 0.000000000000 -vt 0.476854532957 0.469994544983 0.000000000000 -vt 0.473139971495 0.465840876102 0.000000000000 -vt 0.470534920692 0.462002217770 0.000000000000 -vt 0.361092180014 0.138868093491 0.000000000000 -vt 0.362757891417 0.141520425677 0.000000000000 -vt 0.473011165857 0.460577666759 0.000000000000 -vt 0.458834081888 0.463209271431 0.000000000000 -vt 0.456127494574 0.464871376753 0.000000000000 -vt 0.453364372253 0.461712449789 0.000000000000 -vt 0.455975264311 0.460149645805 0.000000000000 -vt 0.466653943062 0.476451963186 0.000000000000 -vt 0.464873641729 0.479033142328 0.000000000000 -vt 0.462096124887 0.474372893572 0.000000000000 -vt 0.464624851942 0.472282111645 0.000000000000 -vt 0.459239572287 0.469601660967 0.000000000000 -vt 0.358396410942 0.143731668591 0.000000000000 -vt 0.366143107414 0.136179968715 0.000000000000 -vt 0.367462068796 0.140748366714 0.000000000000 -vt 0.367624849081 0.152154952288 0.000000000000 -vt 0.363851904869 0.154144421220 0.000000000000 -vt 0.362488389015 0.151757776737 0.000000000000 -vt 0.366743355989 0.150309801102 0.000000000000 -vt 0.370945870876 0.149034306407 0.000000000000 -vt 0.371946483850 0.151283830404 0.000000000000 -vt 0.461986482143 0.467537879944 0.000000000000 -vt 0.466021031141 0.459026336670 0.000000000000 -vt 0.463648796082 0.454296290874 0.000000000000 -vt 0.474090546370 0.471629172564 0.000000000000 -vt 0.471038132906 0.467538326979 0.000000000000 -vt 0.369695812464 0.157271832228 0.000000000000 -vt 0.370106279850 0.158484742045 0.000000000000 -vt 0.366340100765 0.161045432091 0.000000000000 -vt 0.365696161985 0.158691659570 0.000000000000 -vt 0.374921888113 0.158001109958 0.000000000000 -vt 0.373830109835 0.155684486032 0.000000000000 -vt 0.362566053867 0.147848188877 0.000000000000 -vt 0.362277865410 0.146466180682 0.000000000000 -vt 0.364509135485 0.145325541496 0.000000000000 -vt 0.365181237459 0.146691560745 0.000000000000 -vt 0.366957485676 0.145109176636 0.000000000000 -vt 0.367903143167 0.146292820573 0.000000000000 -vt 0.363559901714 0.149057939649 0.000000000000 -vt 0.365885078907 0.148352980614 0.000000000000 -vt 0.368204176426 0.147704318166 0.000000000000 -vt 0.366324573755 0.155576184392 0.000000000000 -vt 0.366173952818 0.154380381107 0.000000000000 -vt 0.368186831474 0.153372362256 0.000000000000 -vt 0.368705600500 0.154601037502 0.000000000000 -vt 0.370330303907 0.152888730168 0.000000000000 -vt 0.371147632599 0.153870403767 0.000000000000 -vt 0.367092341185 0.156595915556 0.000000000000 -vt 0.369238078594 0.155905812979 0.000000000000 -vt 0.371273934841 0.155043467879 0.000000000000 -vt 0.359594911337 0.146293044090 0.000000000000 -vt 0.363820612431 0.143866091967 0.000000000000 -vt 0.368623167276 0.143500894308 0.000000000000 -vt 0.468312889338 0.463350683451 0.000000000000 -vt 0.396901309490 0.467744559050 0.000000000000 -vt 0.401809483767 0.467451632023 0.000000000000 -vt 0.371416240931 0.146074414253 0.000000000000 -vt 0.359569907188 0.149919614196 0.000000000000 -vt 0.374465495348 0.153269469738 0.000000000000 -vt 0.414790123701 0.478396862745 0.000000000000 -vt 0.447205245495 0.489582329988 0.000000000000 -vt 0.452684849501 0.491852372885 0.000000000000 -vt 0.449784398079 0.494581252337 0.000000000000 -vt 0.442751228809 0.493985742331 0.000000000000 -vt 0.434156626463 0.494034796953 0.000000000000 -vt 0.440118283033 0.488046973944 0.000000000000 -vt 0.434461027384 0.500024855137 0.000000000000 -vt 0.430395841599 0.501698195934 0.000000000000 -vt 0.425874501467 0.499181836843 0.000000000000 -vt 0.446397393942 0.499464601278 0.000000000000 -vt 0.440220713615 0.499364227057 0.000000000000 -vt 0.434654891491 0.512679457664 0.000000000000 -vt 0.435968428850 0.511407136917 0.000000000000 -vt 0.443066686392 0.505874812603 0.000000000000 -vt 0.438906043768 0.505390286446 0.000000000000 -vt 0.439353436232 0.502900302410 0.000000000000 -vt 0.444775164127 0.503243684769 0.000000000000 -vt 0.435113310814 0.505446374416 0.000000000000 -vt 0.434737980366 0.503206968307 0.000000000000 -vt 0.447127133608 0.507210433483 0.000000000000 -vt 0.449805349112 0.505035459995 0.000000000000 -vt 0.363566637039 0.157027080655 0.000000000000 -vt 0.371184110641 0.161255732179 0.000000000000 -vt 0.431567996740 0.505946636200 0.000000000000 -vt 0.430854707956 0.504090666771 0.000000000000 -vt 0.369521766901 0.161624297500 0.000000000000 -vt 0.369182020426 0.160728856921 0.000000000000 -vt 0.370721399784 0.159941717982 0.000000000000 -vt 0.372713804245 0.160549417138 0.000000000000 -vt 0.372284442186 0.159536883235 0.000000000000 -vt 0.372968226671 0.165679350495 0.000000000000 -vt 0.452052175999 0.500936031342 0.000000000000 -vt 0.368058949709 0.165135830641 0.000000000000 -vt 0.368970602751 0.162820771337 0.000000000000 -vt 0.371845602989 0.162883594632 0.000000000000 -vt 0.368251889944 0.160784929991 0.000000000000 -vt 0.370353937149 0.159135669470 0.000000000000 -vt 0.440568357706 0.509817063808 0.000000000000 -vt 0.437990337610 0.509382963181 0.000000000000 -vt 0.435604155064 0.509494423866 0.000000000000 -vt 0.443635433912 0.511720776558 0.000000000000 -vt 0.373006284237 0.158982783556 0.000000000000 -vt 0.376509696245 0.162375643849 0.000000000000 -vt 0.374031394720 0.161057814956 0.000000000000 -vt 0.389625668526 0.108183041215 0.000000000000 -vt 0.393046200275 0.109792903066 0.000000000000 -vt 0.392523407936 0.116342663765 0.000000000000 -vt 0.432401984930 0.510016977787 0.000000000000 -vt 0.438322216272 0.506984829903 0.000000000000 -vt 0.441790044308 0.507623851299 0.000000000000 -vt 0.435307621956 0.507277548313 0.000000000000 -vt 0.444958448410 0.509229838848 0.000000000000 -vt 0.392005532980 0.101636424661 0.000000000000 -vt 0.395671516657 0.103756263852 0.000000000000 -vt 0.407296061516 0.115123912692 0.000000000000 -vt 0.406397461891 0.121328055859 0.000000000000 -vt 0.403196871281 0.120348632336 0.000000000000 -vt 0.404978096485 0.114345774055 0.000000000000 -vt 0.432492733002 0.507707357407 0.000000000000 -vt 0.406864881516 0.108425304294 0.000000000000 -vt 0.409913033247 0.109619542956 0.000000000000 -vt 0.414692848921 0.117440745234 0.000000000000 -vt 0.416797161102 0.118163943291 0.000000000000 -vt 0.416874825954 0.124142721295 0.000000000000 -vt 0.413157969713 0.123205170035 0.000000000000 -vt 0.420296519995 0.113394036889 0.000000000000 -vt 0.416648089886 0.111873343587 0.000000000000 -vt 0.399549156427 0.117066100240 0.000000000000 -vt 0.397761642933 0.115746006370 0.000000000000 -vt 0.444640964270 0.482646912336 0.000000000000 -vt 0.435251086950 0.480776757002 0.000000000000 -vt 0.412997663021 0.489607781172 0.000000000000 -vt 0.415611475706 0.485968559980 0.000000000000 -vt 0.419600337744 0.489331930876 0.000000000000 -vt 0.418021112680 0.495383232832 0.000000000000 -vt 0.418760269880 0.480955928564 0.000000000000 -vt 0.451327174902 0.485552281141 0.000000000000 -vt 0.397986561060 0.111830547452 0.000000000000 -vt 0.400141090155 0.112691327929 0.000000000000 -vt 0.399654954672 0.108637854457 0.000000000000 -vt 0.401813089848 0.108847483993 0.000000000000 -vt 0.401618987322 0.117125526071 0.000000000000 -vt 0.402521193027 0.113518998027 0.000000000000 -vt 0.403585493565 0.110106542706 0.000000000000 -vt 0.409883081913 0.119960919023 0.000000000000 -vt 0.455791562796 0.489336222410 0.000000000000 -vt 0.422770082951 0.483635991812 0.000000000000 -vt 0.423145622015 0.491761177778 0.000000000000 -vt 0.408528327942 0.119000181556 0.000000000000 -vt 0.408956587315 0.115644469857 0.000000000000 -vt 0.410606950521 0.116135522723 0.000000000000 -vt 0.410386979580 0.112677589059 0.000000000000 -vt 0.421489149332 0.498041182756 0.000000000000 -vt 0.426815658808 0.486486226320 0.000000000000 -vt 0.430106759071 0.489818543196 0.000000000000 -vt 0.434814959764 0.486344844103 0.000000000000 -vt 0.426011174917 0.493239969015 0.000000000000 -vt 0.405869930983 0.480812519789 0.000000000000 -vt 0.412047952414 0.112628281116 0.000000000000 -vt 0.406924337149 0.485618025064 0.000000000000 -vt 0.401090562344 0.475320100784 0.000000000000 -vt 0.396311402321 0.475648850203 0.000000000000 -vt 0.411765158176 0.482897728682 0.000000000000 -vt 0.409521043301 0.480445533991 0.000000000000 -vt 0.453219145536 0.496879428625 0.000000000000 -vt 0.411550819874 0.119953945279 0.000000000000 -vt 0.412490606308 0.116729035974 0.000000000000 -vt 0.413484215736 0.113597795367 0.000000000000 -vt 0.395627617836 0.118285313249 0.000000000000 -vt 0.396080166101 0.111090466380 0.000000000000 -vt 0.399283915758 0.105090305209 0.000000000000 -vt 0.404269516468 0.104768797755 0.000000000000 -vt 0.398505777121 0.120832040906 0.000000000000 -vt 0.413978666067 0.108735352755 0.000000000000 -vt 0.409310519695 0.124303475022 0.000000000000 -vt 0.420999675989 0.119554504752 0.000000000000 -vt 0.420234143734 0.121525302529 0.000000000000 -vt 0.419045567513 0.121159419417 0.000000000000 -vt 0.419289410114 0.118994310498 0.000000000000 -vt 0.421489626169 0.117538690567 0.000000000000 -vt 0.420303285122 0.117139488459 0.000000000000 -vt 0.426694989204 0.121457740664 0.000000000000 -vt 0.422340482473 0.125688865781 0.000000000000 -vt 0.420924037695 0.122998699546 0.000000000000 -vt 0.423304349184 0.120309680700 0.000000000000 -vt 0.418264955282 0.122074902058 0.000000000000 -vt 0.417998820543 0.118570342660 0.000000000000 -vt 0.420178323984 0.115989848971 0.000000000000 -vt 0.425800204277 0.115537062287 0.000000000000 -vt 0.423050165176 0.116810753942 0.000000000000 -vt 0.377677112818 0.108308449388 0.000000000000 -vt 0.380777746439 0.100671857595 0.000000000000 -vt 0.387641370296 0.097277656198 0.000000000000 -vt 0.368460386992 0.119178041816 0.000000000000 -vt 0.370848834515 0.112134292722 0.000000000000 -vt 0.361701697111 0.122205942869 0.000000000000 -vt 0.350305467844 0.135973051190 0.000000000000 -vt 0.358212679625 0.109973028302 0.000000000000 -vt 0.353615224361 0.114691153169 0.000000000000 -vt 0.374976605177 0.093655571342 0.000000000000 -vt 0.389860272408 0.064062759280 0.000000000000 -vt 0.392403393984 0.070562094450 0.000000000000 -vt 0.387591153383 0.070836335421 0.000000000000 -vt 0.386600703001 0.064674735069 0.000000000000 -vt 0.390128880739 0.057090383023 0.000000000000 -vt 0.385809719563 0.057704154402 0.000000000000 -vt 0.381569832563 0.070360124111 0.000000000000 -vt 0.378056943417 0.070291683078 0.000000000000 -vt 0.376780331135 0.065116941929 0.000000000000 -vt 0.571491539478 0.142689660192 0.000000000000 -vt 0.576072752476 0.124807611108 0.000000000000 -vt 0.575986921787 0.141870543361 0.000000000000 -vt 0.787393748760 0.876816630363 0.000000000000 -vt 0.764766037464 0.871043145657 0.000000000000 -vt 0.754721701145 0.886201500893 0.000000000000 -vt 0.742770016193 0.866340160370 0.000000000000 -vt 0.734950125217 0.879857540131 0.000000000000 -vt 0.639134943485 0.405957043171 0.000000000000 -vt 0.626996815205 0.399863898754 0.000000000000 -vt 0.634920418262 0.394428640604 0.000000000000 -vt 0.639219582081 0.397930711508 0.000000000000 -vt 0.634795248508 0.383935958147 0.000000000000 -vt 0.643223226070 0.392979323864 0.000000000000 -vt 0.621101796627 0.387013614178 0.000000000000 -vt 0.588396847248 0.330318629742 0.000000000000 -vt 0.604378163815 0.331369876862 0.000000000000 -vt 0.613536059856 0.349697083235 0.000000000000 -vt 0.593470990658 0.343456894159 0.000000000000 -vt 0.615174353123 0.332106143236 0.000000000000 -vt 0.627085506916 0.345775991678 0.000000000000 -vt 0.635642707348 0.359163492918 0.000000000000 -vt 0.624931395054 0.369269371033 0.000000000000 -vt 0.614598810673 0.373340398073 0.000000000000 -vt 0.608756959438 0.360698610544 0.000000000000 -vt 0.595678865910 0.357187539339 0.000000000000 -vt 0.436208903790 0.152205392718 0.000000000000 -vt 0.456390678883 0.160455301404 0.000000000000 -vt 0.470007836819 0.150451436639 0.000000000000 -vt 0.463308125734 0.141743332148 0.000000000000 -vt 0.426335632801 0.240489169955 0.000000000000 -vt 0.436077862978 0.227415770292 0.000000000000 -vt 0.568314850330 0.508301794529 0.000000000000 -vt 0.585736811161 0.522079706192 0.000000000000 -vt 0.563862621784 0.526518404484 0.000000000000 -vt 0.552698671818 0.519208967686 0.000000000000 -vt 0.611942946911 0.313467800617 0.000000000000 -vt 0.543040931225 0.535523951054 0.000000000000 -vt 0.869499862194 0.252641230822 0.000000000000 -vt 0.794922888279 0.858771979809 0.000000000000 -vt 0.771254837513 0.855260670185 0.000000000000 -vt 0.747811377048 0.852186858654 0.000000000000 -vt 0.797975599766 0.840329766273 0.000000000000 -vt 0.773927867413 0.839067518711 0.000000000000 -vt 0.750024020672 0.837795853615 0.000000000000 -vt 0.816554009914 0.862926125526 0.000000000000 -vt 0.819631397724 0.841430306435 0.000000000000 -vt 0.863419592381 0.971586704254 0.000000000000 -vt 0.886208474636 0.956715881824 0.000000000000 -vt 0.845495879650 0.192380949855 0.000000000000 -vt 0.921158373356 0.909126162529 0.000000000000 -vt 0.928987085819 0.927418887615 0.000000000000 -vt 0.914810121059 0.888543367386 0.000000000000 -vt 0.449255734682 0.250441461802 0.000000000000 -vt 0.429135203362 0.255882352591 0.000000000000 -vt 0.454719811678 0.222426101565 0.000000000000 -vt 0.463549941778 0.236386403441 0.000000000000 -vt 0.480748862028 0.132810741663 0.000000000000 -vt 0.460707813501 0.129074752331 0.000000000000 -vt 0.890980184078 0.866303682327 0.000000000000 -vt 0.906893670559 0.863792300224 0.000000000000 -vt 0.901800453663 0.838266909122 0.000000000000 -vt 0.885961711407 0.839472353458 0.000000000000 -vt 0.672634780407 0.403682291508 0.000000000000 -vt 0.870305716991 0.840758919716 0.000000000000 -vt 0.709015905857 0.913828730583 0.000000000000 -vt 0.702005445957 0.906553089619 0.000000000000 -vt 0.664313495159 0.411870300770 0.000000000000 -vt 0.651246488094 0.405295312405 0.000000000000 -vt 0.658828794956 0.392099201679 0.000000000000 -vt 0.648704469204 0.380986869335 0.000000000000 -vt 0.598465621471 0.371364206076 0.000000000000 -vt 0.649795591831 0.422901540995 0.000000000000 -vt 0.666176021099 0.425574362278 0.000000000000 -vt 0.478667050600 0.121633604169 0.000000000000 -vt 0.439155727625 0.188678041101 0.000000000000 -vt 0.419110178947 0.186491340399 0.000000000000 -vt 0.828646361828 0.222074419260 0.000000000000 -vt 0.825475156307 0.193224608898 0.000000000000 -vt 0.842488110065 0.165252909064 0.000000000000 -vt 0.821768820286 0.166762799025 0.000000000000 -vt 0.836636006832 0.816951870918 0.000000000000 -vt 0.852425515652 0.813404560089 0.000000000000 -vt 0.638719737530 0.461908787489 0.000000000000 -vt 0.645538747311 0.442247092724 0.000000000000 -vt 0.666097700596 0.445383280516 0.000000000000 -vt 0.662395417690 0.464661508799 0.000000000000 -vt 0.617127835751 0.458045125008 0.000000000000 -vt 0.627697288990 0.440409153700 0.000000000000 -vt 0.635399162769 0.421377927065 0.000000000000 -vt 0.609715163708 0.435786485672 0.000000000000 -vt 0.619829595089 0.417641699314 0.000000000000 -vt 0.590706527233 0.430238008499 0.000000000000 -vt 0.600633800030 0.414015561342 0.000000000000 -vt 0.605100929737 0.397916287184 0.000000000000 -vt 0.580789983273 0.413832962513 0.000000000000 -vt 0.585207521915 0.396601408720 0.000000000000 -vt 0.583855688572 0.381996691227 0.000000000000 -vt 0.602939188480 0.384962439537 0.000000000000 -vt 0.583396375179 0.371497720480 0.000000000000 -vt 0.567030251026 0.398448109627 0.000000000000 -vt 0.565822064877 0.380739450455 0.000000000000 -vt 0.565940558910 0.366790413857 0.000000000000 -vt 0.546947419643 0.397279322147 0.000000000000 -vt 0.547453343868 0.381623625755 0.000000000000 -vt 0.546291291714 0.366621524096 0.000000000000 -vt 0.529646694660 0.384682595730 0.000000000000 -vt 0.528711616993 0.373113870621 0.000000000000 -vt 0.526230156422 0.363655120134 0.000000000000 -vt 0.543110311031 0.353565901518 0.000000000000 -vt 0.560514271259 0.346006095409 0.000000000000 -vt 0.521848142147 0.354256451130 0.000000000000 -vt 0.537153065205 0.340497672558 0.000000000000 -vt 0.550614297390 0.329262435436 0.000000000000 -vt 0.573693096638 0.334259301424 0.000000000000 -vt 0.565188109875 0.321530610323 0.000000000000 -vt 0.481604665518 0.473584860563 0.000000000000 -vt 0.503952205181 0.484111279249 0.000000000000 -vt 0.523758590221 0.503893256187 0.000000000000 -vt 0.516087591648 0.344791620970 0.000000000000 -vt 0.508227407932 0.335609555244 0.000000000000 -vt 0.518797814846 0.319672405720 0.000000000000 -vt 0.510983765125 0.468507856131 0.000000000000 -vt 0.490077227354 0.435670107603 0.000000000000 -vt 0.502925693989 0.448421299458 0.000000000000 -vt 0.522674977779 0.457363337278 0.000000000000 -vt 0.530655562878 0.477804929018 0.000000000000 -vt 0.538420259953 0.463601946831 0.000000000000 -vt 0.515796720982 0.440703213215 0.000000000000 -vt 0.534934461117 0.448625057936 0.000000000000 -vt 0.549823939800 0.452839523554 0.000000000000 -vt 0.557107031345 0.466927945614 0.000000000000 -vt 0.568541586399 0.456593096256 0.000000000000 -vt 0.547232806683 0.441114574671 0.000000000000 -vt 0.561775863171 0.442336261272 0.000000000000 -vt 0.578855931759 0.444288581610 0.000000000000 -vt 0.586479246616 0.463815152645 0.000000000000 -vt 0.597201764584 0.451105147600 0.000000000000 -vt 0.571721136570 0.429578959942 0.000000000000 -vt 0.557132422924 0.430043905973 0.000000000000 -vt 0.564029395580 0.415538519621 0.000000000000 -vt 0.537347137928 0.424302697182 0.000000000000 -vt 0.544077932835 0.411527603865 0.000000000000 -vt 0.518473088741 0.418114066124 0.000000000000 -vt 0.524959385395 0.408595174551 0.000000000000 -vt 0.528635084629 0.397043138742 0.000000000000 -vt 0.509449779987 0.404620736837 0.000000000000 -vt 0.513173401356 0.395612955093 0.000000000000 -vt 0.514248788357 0.385702759027 0.000000000000 -vt 0.513777077198 0.377086073160 0.000000000000 -vt 0.512884557247 0.370190680027 0.000000000000 -vt 0.510034501553 0.363916963339 0.000000000000 -vt 0.505580484867 0.356326758862 0.000000000000 -vt 0.500341594219 0.348006844521 0.000000000000 -vt 0.481183856726 0.423593431711 0.000000000000 -vt 0.500625789165 0.430742353201 0.000000000000 -vt 0.490146607161 0.420840919018 0.000000000000 -vt 0.498169153929 0.417084664106 0.000000000000 -vt 0.510002553463 0.425448060036 0.000000000000 -vt 0.527178347111 0.433869749308 0.000000000000 -vt 0.503946959972 0.411769419909 0.000000000000 -vt 0.596737325191 0.484501451254 0.000000000000 -vt 0.576489269733 0.474731117487 0.000000000000 -vt 0.606985628605 0.472689867020 0.000000000000 -vt 0.584141671658 0.495642870665 0.000000000000 -vt 0.563076555729 0.485377997160 0.000000000000 -vt 0.546334922314 0.479332834482 0.000000000000 -vt 0.550337493420 0.497008413076 0.000000000000 -vt 0.537908732891 0.494894415140 0.000000000000 -vt 0.526974737644 0.490041226149 0.000000000000 -vt 0.537790954113 0.509640336037 0.000000000000 -vt 0.527427136898 0.525675892830 0.000000000000 -vt 0.605959832668 0.507260859013 0.000000000000 -vt 0.620633423328 0.493587821722 0.000000000000 -vt 0.631438195705 0.478594750166 0.000000000000 -vt 0.817847788334 0.142355754972 0.000000000000 -vt 0.814487040043 0.119411304593 0.000000000000 -vt 0.658278763294 0.481082051992 0.000000000000 -vt 0.811750113964 0.097056999803 0.000000000000 -vt 0.809368431568 0.075157731771 0.000000000000 -vt 0.807133018970 0.053564000875 0.000000000000 -vt 0.831686437130 0.254841685295 0.000000000000 -vt 0.856208741665 0.293983995914 0.000000000000 -vt 0.835455358028 0.290136784315 0.000000000000 -vt 0.873124063015 0.283648252487 0.000000000000 -vt 0.889739573002 0.279546380043 0.000000000000 -vt 0.909207642078 0.276814579964 0.000000000000 -vt 0.929072201252 0.276617109776 0.000000000000 -vt 0.884098351002 0.044427882880 0.000000000000 -vt 0.824312150478 0.028333339840 0.000000000000 -vt 0.804996788502 0.032941136509 0.000000000000 -vt 0.745384037495 0.153986141086 0.000000000000 -vt 0.727315604687 0.170344561338 0.000000000000 -vt 0.831523954868 0.792076110840 0.000000000000 -vt 0.846453726292 0.786361873150 0.000000000000 -vt 0.871971428394 0.766853511333 0.000000000000 -vt 0.860507428646 0.778107702732 0.000000000000 -vt 0.849813520908 0.750272214413 0.000000000000 -vt 0.864782273769 0.752571046352 0.000000000000 -vt 0.641757309437 0.369858145714 0.000000000000 -vt 0.871010005474 0.740061163902 0.000000000000 -vt 0.856036365032 0.728532135487 0.000000000000 -vt 0.833810746670 0.763259589672 0.000000000000 -vt 0.880542218685 0.781249523163 0.000000000000 -vt 0.870216548443 0.805862307549 0.000000000000 -vt 0.895947515965 0.765040814877 0.000000000000 -vt 0.886363804340 0.766362249851 0.000000000000 -vt 0.881665766239 0.753908455372 0.000000000000 -vt 0.896844565868 0.741948008537 0.000000000000 -vt 0.892329037189 0.786806523800 0.000000000000 -vt 0.730150520802 0.779693901539 0.000000000000 -vt 0.720385253429 0.768897235394 0.000000000000 -vt 0.732248246670 0.757981956005 0.000000000000 -vt 0.746850073338 0.773370444775 0.000000000000 -vt 0.746807038784 0.737674295902 0.000000000000 -vt 0.754076421261 0.750202596188 0.000000000000 -vt 0.729847013950 0.741506457329 0.000000000000 -vt 0.766269385815 0.766434729099 0.000000000000 -vt 0.732167899609 0.725132286549 0.000000000000 -vt 0.744101583958 0.727173089981 0.000000000000 -vt 0.726897180080 0.154936745763 0.000000000000 -vt 0.736608207226 0.138647675514 0.000000000000 -vt 0.757733404636 0.048427533358 0.000000000000 -vt 0.748305857182 0.039854753762 0.000000000000 -vt 0.762275159359 0.025697443634 0.000000000000 -vt 0.771673381329 0.029945448041 0.000000000000 -vt 0.737863123417 0.066377580166 0.000000000000 -vt 0.730143487453 0.052494283766 0.000000000000 -vt 0.754568159580 0.099855229259 0.000000000000 -vt 0.731352865696 0.116734221578 0.000000000000 -vt 0.725217759609 0.099748730659 0.000000000000 -vt 0.746904551983 0.081010863185 0.000000000000 -vt 0.718968212605 0.084019616246 0.000000000000 -vt 0.786774814129 0.105366572738 0.000000000000 -vt 0.761492788792 0.119630172849 0.000000000000 -vt 0.781676113605 0.084223598242 0.000000000000 -vt 0.775007426739 0.059413980693 0.000000000000 -vt 0.791212141514 0.126294299960 0.000000000000 -vt 0.767748415470 0.138232484460 0.000000000000 -vt 0.435300618410 0.206924617290 0.000000000000 -vt 0.415769994259 0.205245867372 0.000000000000 -vt 0.415477305651 0.223549634218 0.000000000000 -vt 0.415708750486 0.260153979063 0.000000000000 -vt 0.415216326714 0.241337999701 0.000000000000 -vt 0.431532442570 0.277840822935 0.000000000000 -vt 0.416861325502 0.282650142908 0.000000000000 -vt 0.437933146954 0.297910034657 0.000000000000 -vt 0.422700941563 0.304020076990 0.000000000000 -vt 0.710437953472 0.745294928551 0.000000000000 -vt 0.448528498411 0.274154812098 0.000000000000 -vt 0.453730016947 0.292313814163 0.000000000000 -vt 0.466458499432 0.272584140301 0.000000000000 -vt 0.470066845417 0.288187146187 0.000000000000 -vt 0.483627885580 0.271198511124 0.000000000000 -vt 0.486174434423 0.284226238728 0.000000000000 -vt 0.468398451805 0.256950020790 0.000000000000 -vt 0.484410136938 0.259565204382 0.000000000000 -vt 0.499547928572 0.260835975409 0.000000000000 -vt 0.488594621420 0.251296162605 0.000000000000 -vt 0.500861465931 0.255602240562 0.000000000000 -vt 0.476949125528 0.155961647630 0.000000000000 -vt 0.496368080378 0.154256105423 0.000000000000 -vt 0.493585199118 0.162589550018 0.000000000000 -vt 0.484565943480 0.159969419241 0.000000000000 -vt 0.504522025585 0.250607877970 0.000000000000 -vt 0.490841835737 0.170824587345 0.000000000000 -vt 0.479497641325 0.168406203389 0.000000000000 -vt 0.468820154667 0.165049582720 0.000000000000 -vt 0.487937420607 0.179314747453 0.000000000000 -vt 0.474618524313 0.178034290671 0.000000000000 -vt 0.461312592030 0.176021173596 0.000000000000 -vt 0.485546678305 0.188977956772 0.000000000000 -vt 0.470588952303 0.189741462469 0.000000000000 -vt 0.455546349287 0.189690113068 0.000000000000 -vt 0.484867841005 0.200385212898 0.000000000000 -vt 0.468716144562 0.203217670321 0.000000000000 -vt 0.452557861805 0.205941826105 0.000000000000 -vt 0.486695379019 0.212983325124 0.000000000000 -vt 0.470563501120 0.217475160956 0.000000000000 -vt 0.498891204596 0.197758778930 0.000000000000 -vt 0.500793755054 0.208588525653 0.000000000000 -vt 0.503768861294 0.215860128403 0.000000000000 -vt 0.490694373846 0.221827194095 0.000000000000 -vt 0.476610749960 0.228770300746 0.000000000000 -vt 0.508271515369 0.222307890654 0.000000000000 -vt 0.496900588274 0.229248985648 0.000000000000 -vt 0.485334604979 0.237566873431 0.000000000000 -vt 0.505223691463 0.237320348620 0.000000000000 -vt 0.495418399572 0.244713291526 0.000000000000 -vt 0.475383609533 0.245258644223 0.000000000000 -vt 0.514443337917 0.230237171054 0.000000000000 -vt 0.519902884960 0.237665936351 0.000000000000 -vt 0.511179625988 0.154767423868 0.000000000000 -vt 0.523703515530 0.224226221442 0.000000000000 -vt 0.534955561161 0.219976648688 0.000000000000 -vt 0.539630472660 0.226309135556 0.000000000000 -vt 0.522125780582 0.163012161851 0.000000000000 -vt 0.511400759220 0.162948891521 0.000000000000 -vt 0.502651274204 0.163395151496 0.000000000000 -vt 0.521724998951 0.170782491565 0.000000000000 -vt 0.510841667652 0.171353936195 0.000000000000 -vt 0.501311361790 0.171751782298 0.000000000000 -vt 0.521135985851 0.178479418159 0.000000000000 -vt 0.510029613972 0.179412469268 0.000000000000 -vt 0.499761670828 0.179692775011 0.000000000000 -vt 0.521464765072 0.184219524264 0.000000000000 -vt 0.509710252285 0.186720550060 0.000000000000 -vt 0.498645514250 0.187971740961 0.000000000000 -vt 0.522567331791 0.189815983176 0.000000000000 -vt 0.510646045208 0.194714680314 0.000000000000 -vt 0.552625119686 0.181308269501 0.000000000000 -vt 0.553095877171 0.186058148742 0.000000000000 -vt 0.535693705082 0.186998158693 0.000000000000 -vt 0.534666717052 0.182170838118 0.000000000000 -vt 0.553785145283 0.190441906452 0.000000000000 -vt 0.537737786770 0.193066775799 0.000000000000 -vt 0.524687230587 0.197172924876 0.000000000000 -vt 0.554820120335 0.194571927190 0.000000000000 -vt 0.540497124195 0.200262054801 0.000000000000 -vt 0.527609050274 0.205128788948 0.000000000000 -vt 0.556690990925 0.198639363050 0.000000000000 -vt 0.543533384800 0.206711396575 0.000000000000 -vt 0.531002581120 0.212646707892 0.000000000000 -vt 0.558761537075 0.202166423202 0.000000000000 -vt 0.546805322170 0.212670803070 0.000000000000 -vt 0.550771892071 0.218399211764 0.000000000000 -vt 0.561493337154 0.206085249782 0.000000000000 -vt 0.535221517086 0.163484767079 0.000000000000 -vt 0.552473127842 0.164653763175 0.000000000000 -vt 0.534547865391 0.169898986816 0.000000000000 -vt 0.552217543125 0.170028448105 0.000000000000 -vt 0.534365713596 0.176693260670 0.000000000000 -vt 0.552374064922 0.175845101476 0.000000000000 -vt 0.432602375746 0.133366212249 0.000000000000 -vt 0.579707443714 0.344648867846 0.000000000000 -vt 0.582962691784 0.359227657318 0.000000000000 -vt 0.699510276318 0.760418593884 0.000000000000 -vt 0.690002620220 0.760535240173 0.000000000000 -vt 0.573572456837 0.358697652817 0.000000000000 -vt 0.571034729481 0.348925471306 0.000000000000 -vt 0.795890152454 0.148126482964 0.000000000000 -vt 0.773672997952 0.158082619309 0.000000000000 -vt 0.761886537075 0.368884116411 0.000000000000 -vt 0.756864488125 0.374716073275 0.000000000000 -vt 0.752732694149 0.371530354023 0.000000000000 -vt 0.756020605564 0.368056684732 0.000000000000 -vt 0.745198905468 0.426691144705 0.000000000000 -vt 0.748513877392 0.424927502871 0.000000000000 -vt 0.751336514950 0.428736001253 0.000000000000 -vt 0.745641887188 0.430311173201 0.000000000000 -vt 0.718655884266 0.367600291967 0.000000000000 -vt 0.723707854748 0.362223118544 0.000000000000 -vt 0.731543242931 0.368654459715 0.000000000000 -vt 0.727982223034 0.373404115438 0.000000000000 -vt 0.723776161671 0.384299814701 0.000000000000 -vt 0.712015807629 0.382623314857 0.000000000000 -vt 0.714580357075 0.374560505152 0.000000000000 -vt 0.725447237492 0.378716200590 0.000000000000 -vt 0.743162930012 0.370530217886 0.000000000000 -vt 0.739214956760 0.374083191156 0.000000000000 -vt 0.736095726490 0.364764451981 0.000000000000 -vt 0.470379114151 0.072487622499 0.000000000000 -vt 0.476932018995 0.067091092467 0.000000000000 -vt 0.483967453241 0.075338751078 0.000000000000 -vt 0.477926939726 0.080794483423 0.000000000000 -vt 0.511079013348 0.066174268723 0.000000000000 -vt 0.508617579937 0.072203919291 0.000000000000 -vt 0.499857753515 0.062445472926 0.000000000000 -vt 0.504508316517 0.058762382716 0.000000000000 -vt 0.705864846706 0.371028959751 0.000000000000 -vt 0.701381266117 0.375573486090 0.000000000000 -vt 0.698225557804 0.370354384184 0.000000000000 -vt 0.697068870068 0.367405295372 0.000000000000 -vt 0.701902329922 0.391683101654 0.000000000000 -vt 0.691578447819 0.393901556730 0.000000000000 -vt 0.693959891796 0.392793804407 0.000000000000 -vt 0.699081957340 0.388415664434 0.000000000000 -vt 0.712482511997 0.363048106432 0.000000000000 -vt 0.706260859966 0.399656295776 0.000000000000 -vt 0.710350573063 0.390655279160 0.000000000000 -vt 0.709410727024 0.398413658142 0.000000000000 -vt 0.497506469488 0.086208790541 0.000000000000 -vt 0.499487847090 0.088523834944 0.000000000000 -vt 0.496975511312 0.090857118368 0.000000000000 -vt 0.494485110044 0.087826982141 0.000000000000 -vt 0.485454589128 0.095807611942 0.000000000000 -vt 0.487140089273 0.098796099424 0.000000000000 -vt 0.483731955290 0.100186884403 0.000000000000 -vt 0.481757134199 0.096767678857 0.000000000000 -vt 0.701098263264 0.382279485464 0.000000000000 -vt 0.704454600811 0.381990849972 0.000000000000 -vt 0.505547583103 0.089302882552 0.000000000000 -vt 0.507946908474 0.095191136003 0.000000000000 -vt 0.725627362728 0.354063272476 0.000000000000 -vt 0.730535089970 0.352071553469 0.000000000000 -vt 0.733845055103 0.356517255306 0.000000000000 -vt 0.729133427143 0.358981132507 0.000000000000 -vt 0.502358973026 0.098305702209 0.000000000000 -vt 0.499749034643 0.094421327114 0.000000000000 -vt 0.491939753294 0.100965470076 0.000000000000 -vt 0.499274820089 0.102383270860 0.000000000000 -vt 0.709335625172 0.404707193375 0.000000000000 -vt 0.707483947277 0.405635058880 0.000000000000 -vt 0.516392290592 0.069226473570 0.000000000000 -vt 0.518077909946 0.071355760098 0.000000000000 -vt 0.718284785748 0.355620443821 0.000000000000 -vt 0.516956746578 0.073715612292 0.000000000000 -vt 0.514483392239 0.070643588901 0.000000000000 -vt 0.668390452862 0.386624544859 0.000000000000 -vt 0.667060911655 0.380806088448 0.000000000000 -vt 0.671376407146 0.380861908197 0.000000000000 -vt 0.671312749386 0.384570688009 0.000000000000 -vt 0.669187486172 0.375094115734 0.000000000000 -vt 0.671998560429 0.377249538898 0.000000000000 -vt 0.691448748112 0.370133042336 0.000000000000 -vt 0.690848052502 0.375890284777 0.000000000000 -vt 0.686910808086 0.375525057316 0.000000000000 -vt 0.687306106091 0.369519740343 0.000000000000 -vt 0.686368644238 0.386486738920 0.000000000000 -vt 0.689943373203 0.386325776577 0.000000000000 -vt 0.688951313496 0.392648577690 0.000000000000 -vt 0.685665905476 0.393045514822 0.000000000000 -vt 0.690709650517 0.381118148565 0.000000000000 -vt 0.686853349209 0.380862385035 0.000000000000 -vt 0.480086654425 0.100869327784 0.000000000000 -vt 0.478839308023 0.098695233464 0.000000000000 -vt 0.678826630116 0.369220048189 0.000000000000 -vt 0.679812729359 0.375340670347 0.000000000000 -vt 0.675520837307 0.375914126635 0.000000000000 -vt 0.673433959484 0.370380729437 0.000000000000 -vt 0.674808919430 0.385995447636 0.000000000000 -vt 0.679343521595 0.386584460735 0.000000000000 -vt 0.678030192852 0.392984062433 0.000000000000 -vt 0.672598540783 0.391514003277 0.000000000000 -vt 0.680286943913 0.380828380585 0.000000000000 -vt 0.675836026669 0.380848854780 0.000000000000 -vt 0.515295088291 0.075423642993 0.000000000000 -vt 0.513281047344 0.073069870472 0.000000000000 -vt 0.693681657314 0.376642733812 0.000000000000 -vt 0.693711340427 0.371875762939 0.000000000000 -vt 0.696114480495 0.370918631554 0.000000000000 -vt 0.696933090687 0.376871287823 0.000000000000 -vt 0.691533505917 0.391513794661 0.000000000000 -vt 0.692914068699 0.386218369007 0.000000000000 -vt 0.695932805538 0.386784404516 0.000000000000 -vt 0.693213999271 0.392598807812 0.000000000000 -vt 0.693558990955 0.381606072187 0.000000000000 -vt 0.696726262569 0.381991982460 0.000000000000 -vt 0.512632310390 0.113346979022 0.000000000000 -vt 0.510703504086 0.110827267170 0.000000000000 -vt 0.515379965305 0.107007056475 0.000000000000 -vt 0.518175065517 0.110701844096 0.000000000000 -vt 0.505509078503 0.114236339927 0.000000000000 -vt 0.508307397366 0.117514595389 0.000000000000 -vt 0.518149077892 0.121353730559 0.000000000000 -vt 0.522928655148 0.117672875524 0.000000000000 -vt 0.525190651417 0.121514260769 0.000000000000 -vt 0.683571517467 0.375538796186 0.000000000000 -vt 0.683092653751 0.370623677969 0.000000000000 -vt 0.682278931141 0.392029613256 0.000000000000 -vt 0.683356225491 0.386358857155 0.000000000000 -vt 0.684057652950 0.380769610405 0.000000000000 -vt 0.519570291042 0.123483464122 0.000000000000 -vt 0.516307771206 0.128428325057 0.000000000000 -vt 0.513406455517 0.124672070146 0.000000000000 -vt 0.511565864086 0.103494629264 0.000000000000 -vt 0.507416427135 0.106189742684 0.000000000000 -vt 0.506013691425 0.103982776403 0.000000000000 -vt 0.509203732014 0.102665841579 0.000000000000 -vt 0.504296243191 0.108756288886 0.000000000000 -vt 0.503382742405 0.106384947896 0.000000000000 -vt 0.511651098728 0.106469616294 0.000000000000 -vt 0.509026229382 0.108525276184 0.000000000000 -vt 0.506196796894 0.110484585166 0.000000000000 -vt 0.518708407879 0.115314379334 0.000000000000 -vt 0.515459358692 0.117382884026 0.000000000000 -vt 0.514127433300 0.115409389138 0.000000000000 -vt 0.518203437328 0.112691774964 0.000000000000 -vt 0.512567102909 0.119688019156 0.000000000000 -vt 0.511780798435 0.117559626698 0.000000000000 -vt 0.519389688969 0.117316469550 0.000000000000 -vt 0.516777694225 0.119350507855 0.000000000000 -vt 0.514133274555 0.121143206954 0.000000000000 -vt 0.510631144047 0.099778667092 0.000000000000 -vt 0.504632174969 0.101817682385 0.000000000000 -vt 0.499871104956 0.106421664357 0.000000000000 -vt 0.500889837742 0.111934348941 0.000000000000 -vt 0.514839589596 0.101724907756 0.000000000000 -vt 0.509192049503 0.122385606170 0.000000000000 -vt 0.522657573223 0.113145455718 0.000000000000 -vt 0.522569835186 0.127797886729 0.000000000000 -vt 0.521396934986 0.126231938601 0.000000000000 -vt 0.735525667667 0.349380731583 0.000000000000 -vt 0.738029062748 0.353152751923 0.000000000000 -vt 0.709487140179 0.411515235901 0.000000000000 -vt 0.706850707531 0.412472575903 0.000000000000 -vt 0.713795721531 0.355628103018 0.000000000000 -vt 0.714886367321 0.349705845118 0.000000000000 -vt 0.715047299862 0.346170902252 0.000000000000 -vt 0.700704872608 0.366192162037 0.000000000000 -vt 0.705918371677 0.365258455276 0.000000000000 -vt 0.710480749607 0.361039042473 0.000000000000 -vt 0.523268878460 0.125216260552 0.000000000000 -vt 0.523997724056 0.126300171018 0.000000000000 -vt 0.687866628170 0.342219889164 0.000000000000 -vt 0.691187441349 0.337702393532 0.000000000000 -vt 0.693574011326 0.340425401926 0.000000000000 -vt 0.690801203251 0.342919677496 0.000000000000 -vt 0.696296155453 0.334926456213 0.000000000000 -vt 0.696642935276 0.338050007820 0.000000000000 -vt 0.711912453175 0.345587313175 0.000000000000 -vt 0.707153379917 0.348584800959 0.000000000000 -vt 0.704814493656 0.344684004784 0.000000000000 -vt 0.710185706615 0.341764390469 0.000000000000 -vt 0.695865690708 0.351892799139 0.000000000000 -vt 0.699073016644 0.355076700449 0.000000000000 -vt 0.695596873760 0.359068036079 0.000000000000 -vt 0.692301213741 0.356082707644 0.000000000000 -vt 0.702675044537 0.351823449135 0.000000000000 -vt 0.699874341488 0.348093301058 0.000000000000 -vt 0.520938813686 0.128895744681 0.000000000000 -vt 0.520082056522 0.127839773893 0.000000000000 -vt 0.705446422100 0.335541337729 0.000000000000 -vt 0.701623976231 0.340389162302 0.000000000000 -vt 0.699281990528 0.338887810707 0.000000000000 -vt 0.701398193836 0.333822280169 0.000000000000 -vt 0.691363513470 0.345513224602 0.000000000000 -vt 0.692718684673 0.347970575094 0.000000000000 -vt 0.688071906567 0.350903898478 0.000000000000 -vt 0.686495840549 0.347062766552 0.000000000000 -vt 0.697414934635 0.344720244408 0.000000000000 -vt 0.695644319057 0.342764317989 0.000000000000 -vt 0.526300132275 0.132303252816 0.000000000000 -vt 0.524093449116 0.129697531462 0.000000000000 -vt 0.709353864193 0.352346479893 0.000000000000 -vt 0.712929904461 0.348732739687 0.000000000000 -vt 0.714268267155 0.349192053080 0.000000000000 -vt 0.711979806423 0.354660391808 0.000000000000 -vt 0.699490010738 0.361016511917 0.000000000000 -vt 0.702696144581 0.358416646719 0.000000000000 -vt 0.704991638660 0.361978620291 0.000000000000 -vt 0.700050175190 0.364112406969 0.000000000000 -vt 0.705978453159 0.355808466673 0.000000000000 -vt 0.708694994450 0.358966708183 0.000000000000 -vt 0.525715887547 0.126499876380 0.000000000000 -vt 0.528771936893 0.126690357924 0.000000000000 -vt 0.523779094219 0.124067738652 0.000000000000 -vt 0.520451605320 0.124855801463 0.000000000000 -vt 0.518978536129 0.127953931689 0.000000000000 -vt 0.520814955235 0.130581036210 0.000000000000 -vt 0.520374357700 0.133407860994 0.000000000000 -vt 0.508442223072 0.077186152339 0.000000000000 -vt 0.510329902172 0.079375565052 0.000000000000 -vt 0.703039348125 0.342263132334 0.000000000000 -vt 0.707691013813 0.338801592588 0.000000000000 -vt 0.691107928753 0.352693885565 0.000000000000 -vt 0.694404184818 0.349684000015 0.000000000000 -vt 0.698663651943 0.346254229546 0.000000000000 -vt 0.508014619350 0.081564977765 0.000000000000 -vt 0.505533874035 0.078727111220 0.000000000000 -vt 0.494260638952 0.093220800161 0.000000000000 -vt 0.492302030325 0.090663939714 0.000000000000 -vt 0.505529224873 0.083532154560 0.000000000000 -vt 0.503514945507 0.081306725740 0.000000000000 -vt 0.510711610317 0.084656804800 0.000000000000 -vt 0.514165699482 0.088350698352 0.000000000000 -vt 0.511911690235 0.093188375235 0.000000000000 -vt 0.527652680874 0.098926231265 0.000000000000 -vt 0.525356113911 0.097472637892 0.000000000000 -vt 0.528094470501 0.091692224145 0.000000000000 -vt 0.531258046627 0.093997821212 0.000000000000 -vt 0.521796643734 0.102959886193 0.000000000000 -vt 0.525596559048 0.105276063085 0.000000000000 -vt 0.534857928753 0.104219183326 0.000000000000 -vt 0.537856757641 0.099045574665 0.000000000000 -vt 0.540888249874 0.101543441415 0.000000000000 -vt 0.536647617817 0.105644643307 0.000000000000 -vt 0.534925162792 0.111184135079 0.000000000000 -vt 0.531729161739 0.109336286783 0.000000000000 -vt 0.523591578007 0.091089487076 0.000000000000 -vt 0.730021059513 0.349459081888 0.000000000000 -vt 0.735328376293 0.349237293005 0.000000000000 -vt 0.715811312199 0.346691012383 0.000000000000 -vt 0.720742166042 0.350149869919 0.000000000000 -vt 0.725372970104 0.349892735481 0.000000000000 -vt 0.521666467190 0.094739928842 0.000000000000 -vt 0.520136296749 0.093459248543 0.000000000000 -vt 0.731795966625 0.325470387936 0.000000000000 -vt 0.736351430416 0.326853275299 0.000000000000 -vt 0.734878718853 0.329794704914 0.000000000000 -vt 0.732054173946 0.328241348267 0.000000000000 -vt 0.739810764790 0.330046653748 0.000000000000 -vt 0.737516939640 0.331477284431 0.000000000000 -vt 0.737019240856 0.345520436764 0.000000000000 -vt 0.732173502445 0.343047350645 0.000000000000 -vt 0.734046399593 0.340439140797 0.000000000000 -vt 0.738021910191 0.343094855547 0.000000000000 -vt 0.725114047527 0.336557924747 0.000000000000 -vt 0.723978340626 0.339484244585 0.000000000000 -vt 0.718742549419 0.338676393032 0.000000000000 -vt 0.720449268818 0.335456222296 0.000000000000 -vt 0.728333771229 0.341184616089 0.000000000000 -vt 0.729620277882 0.338552564383 0.000000000000 -vt 0.521848857403 0.090589866042 0.000000000000 -vt 0.519341766834 0.098529517651 0.000000000000 -vt 0.741242706776 0.337124168873 0.000000000000 -vt 0.736575305462 0.336675226688 0.000000000000 -vt 0.737431108952 0.333985060453 0.000000000000 -vt 0.741768896580 0.333650708199 0.000000000000 -vt 0.730156362057 0.329479277134 0.000000000000 -vt 0.728279173374 0.331620484591 0.000000000000 -vt 0.724462211132 0.328425318003 0.000000000000 -vt 0.727317392826 0.325960755348 0.000000000000 -vt 0.732129871845 0.334760516882 0.000000000000 -vt 0.733519494534 0.332428127527 0.000000000000 -vt 0.518350422382 0.096643164754 0.000000000000 -vt 0.524855554104 0.092653632164 0.000000000000 -vt 0.731151521206 0.345263779163 0.000000000000 -vt 0.735784590244 0.347043156624 0.000000000000 -vt 0.736424624920 0.348627597094 0.000000000000 -vt 0.730661809444 0.347184121609 0.000000000000 -vt 0.718040287495 0.341615349054 0.000000000000 -vt 0.723183095455 0.342720180750 0.000000000000 -vt 0.721934854984 0.345855712891 0.000000000000 -vt 0.715493619442 0.344276010990 0.000000000000 -vt 0.727172791958 0.344054907560 0.000000000000 -vt 0.726349413395 0.346510440111 0.000000000000 -vt 0.523354947567 0.096010923386 0.000000000000 -vt 0.521311223507 0.099254280329 0.000000000000 -vt 0.533330857754 0.097978785634 0.000000000000 -vt 0.531335532665 0.101454958320 0.000000000000 -vt 0.529585421085 0.100170671940 0.000000000000 -vt 0.531549036503 0.097181737423 0.000000000000 -vt 0.529571712017 0.105359822512 0.000000000000 -vt 0.528426826000 0.103743880987 0.000000000000 -vt 0.534639537334 0.099621966481 0.000000000000 -vt 0.735392153263 0.338480740786 0.000000000000 -vt 0.739044845104 0.340150952339 0.000000000000 -vt 0.723158061504 0.331868380308 0.000000000000 -vt 0.726885974407 0.334070175886 0.000000000000 -vt 0.730814039707 0.336822479963 0.000000000000 -vt 0.533084571362 0.102829977870 0.000000000000 -vt 0.531313717365 0.105897054076 0.000000000000 -vt 0.521283328533 0.087026789784 0.000000000000 -vt 0.517856895924 0.091663181782 0.000000000000 -vt 0.514960706234 0.097525775433 0.000000000000 -vt 0.517828285694 0.100980103016 0.000000000000 -vt 0.526034533978 0.087389066815 0.000000000000 -vt 0.527589142323 0.109247803688 0.000000000000 -vt 0.535756528378 0.095117062330 0.000000000000 -vt 0.539837419987 0.107863321900 0.000000000000 -vt 0.538558781147 0.107128873467 0.000000000000 -vt 0.539949953556 0.105316147208 0.000000000000 -vt 0.540825903416 0.105864629149 0.000000000000 -vt 0.538582384586 0.109620437026 0.000000000000 -vt 0.537616670132 0.109082773328 0.000000000000 -vt 0.544267117977 0.110548302531 0.000000000000 -vt 0.541652381420 0.108950823545 0.000000000000 -vt 0.542387545109 0.105380535126 0.000000000000 -vt 0.545064866543 0.104814276099 0.000000000000 -vt 0.540196716785 0.104028716683 0.000000000000 -vt 0.537597596645 0.106465324759 0.000000000000 -vt 0.536735951900 0.109748318791 0.000000000000 -vt 0.701508939266 0.396991372108 0.000000000000 -vt 0.695306599140 0.396085560322 0.000000000000 -vt 0.705828607082 0.412745684385 0.000000000000 -vt 0.705876052380 0.406576901674 0.000000000000 -vt 0.704530298710 0.401503235102 0.000000000000 -vt 0.538923561573 0.111143380404 0.000000000000 -vt 0.539531409740 0.113621219993 0.000000000000 -vt 0.688302695751 0.427976310253 0.000000000000 -vt 0.683832943439 0.424098700285 0.000000000000 -vt 0.687000572681 0.421046495438 0.000000000000 -vt 0.689052641392 0.424283087254 0.000000000000 -vt 0.681496918201 0.418339222670 0.000000000000 -vt 0.684903800488 0.417768895626 0.000000000000 -vt 0.690302073956 0.401867091656 0.000000000000 -vt 0.694480240345 0.405638903379 0.000000000000 -vt 0.692191779613 0.407944500446 0.000000000000 -vt 0.687600672245 0.404441058636 0.000000000000 -vt 0.699370443821 0.415826499462 0.000000000000 -vt 0.700973808765 0.413097828627 0.000000000000 -vt 0.704431712627 0.417759448290 0.000000000000 -vt 0.703326642513 0.420762330294 0.000000000000 -vt 0.697867929935 0.408945530653 0.000000000000 -vt 0.695929110050 0.411309421062 0.000000000000 -vt 0.517626106739 0.084983274341 0.000000000000 -vt 0.521136224270 0.070760220289 0.000000000000 -vt 0.683233559132 0.409444689751 0.000000000000 -vt 0.688319623470 0.412122905254 0.000000000000 -vt 0.686133563519 0.414829730988 0.000000000000 -vt 0.680900275707 0.412907809019 0.000000000000 -vt 0.692204892635 0.422975838184 0.000000000000 -vt 0.695665299892 0.420329362154 0.000000000000 -vt 0.698658287525 0.425916135311 0.000000000000 -vt 0.694272696972 0.428446441889 0.000000000000 -vt 0.692554771900 0.415226012468 0.000000000000 -vt 0.689908921719 0.417935758829 0.000000000000 -vt 0.523216187954 0.072577908635 0.000000000000 -vt 0.520890176296 0.077228039503 0.000000000000 -vt 0.697199761868 0.403361231089 0.000000000000 -vt 0.693439781666 0.400654852390 0.000000000000 -vt 0.693814694881 0.397902786732 0.000000000000 -vt 0.699269115925 0.401036739349 0.000000000000 -vt 0.704553306103 0.414974272251 0.000000000000 -vt 0.702452123165 0.410426139832 0.000000000000 -vt 0.703826010227 0.408506244421 0.000000000000 -vt 0.705401599407 0.414679765701 0.000000000000 -vt 0.700053751469 0.406474679708 0.000000000000 -vt 0.701919615269 0.404333680868 0.000000000000 -vt 0.519232571125 0.075901642442 0.000000000000 -vt 0.515266001225 0.080151677132 0.000000000000 -vt 0.519640505314 0.081991866231 0.000000000000 -vt 0.533958613873 0.080200076103 0.000000000000 -vt 0.531604349613 0.079964339733 0.000000000000 -vt 0.532588779926 0.075347989798 0.000000000000 -vt 0.535456359386 0.075775325298 0.000000000000 -vt 0.531062185764 0.084430292249 0.000000000000 -vt 0.534919083118 0.084616497159 0.000000000000 -vt 0.690639078617 0.410164058208 0.000000000000 -vt 0.686743676662 0.408009111881 0.000000000000 -vt 0.700886189938 0.422482520342 0.000000000000 -vt 0.697773873806 0.417764842510 0.000000000000 -vt 0.694584786892 0.413028031588 0.000000000000 -vt 0.543268382549 0.081021666527 0.000000000000 -vt 0.542410075665 0.076548516750 0.000000000000 -vt 0.545253694057 0.076710179448 0.000000000000 -vt 0.544744908810 0.081107899547 0.000000000000 -vt 0.545586764812 0.085359513760 0.000000000000 -vt 0.542715609074 0.085166096687 0.000000000000 -vt 0.528137505054 0.076546490192 0.000000000000 -vt 0.526995480061 0.079263880849 0.000000000000 -vt 0.524926722050 0.078719690442 0.000000000000 -vt 0.526245653629 0.076403737068 0.000000000000 -vt 0.526619493961 0.081934899092 0.000000000000 -vt 0.524678170681 0.081073686481 0.000000000000 -vt 0.529789626598 0.077268108726 0.000000000000 -vt 0.529239356518 0.079652726650 0.000000000000 -vt 0.528736531734 0.081992313266 0.000000000000 -vt 0.539014041424 0.077833026648 0.000000000000 -vt 0.539221823215 0.080529257655 0.000000000000 -vt 0.536268293858 0.080332249403 0.000000000000 -vt 0.536676228046 0.078035444021 0.000000000000 -vt 0.539300858974 0.083174824715 0.000000000000 -vt 0.536652386189 0.082537859678 0.000000000000 -vt 0.541114032269 0.078451976180 0.000000000000 -vt 0.541567981243 0.080870822072 0.000000000000 -vt 0.541349947453 0.083064511418 0.000000000000 -vt 0.525810420513 0.073440477252 0.000000000000 -vt 0.522990167141 0.078078895807 0.000000000000 -vt 0.522753298283 0.083092421293 0.000000000000 -vt 0.744985520840 0.358051896095 0.000000000000 -vt 0.740702569485 0.361511409283 0.000000000000 -vt 0.737015068531 0.377986699343 0.000000000000 -vt 0.527110517025 0.085661664605 0.000000000000 -vt 0.529920637608 0.072953239083 0.000000000000 -vt 0.539422690868 0.086372941732 0.000000000000 -vt 0.720288455486 0.404917716980 0.000000000000 -vt 0.725336492062 0.406646698713 0.000000000000 -vt 0.719956338406 0.413258612156 0.000000000000 -vt 0.717335283756 0.410958647728 0.000000000000 -vt 0.723915517330 0.398037433624 0.000000000000 -vt 0.731581389904 0.399601578712 0.000000000000 -vt 0.741063773632 0.398945480585 0.000000000000 -vt 0.741147696972 0.402583092451 0.000000000000 -vt 0.735348403454 0.405078500509 0.000000000000 -vt 0.724570930004 0.415234774351 0.000000000000 -vt 0.730074822903 0.409371733665 0.000000000000 -vt 0.755069792271 0.423953682184 0.000000000000 -vt 0.751188337803 0.423076480627 0.000000000000 -vt 0.732347548008 0.419561594725 0.000000000000 -vt 0.728611052036 0.417487025261 0.000000000000 -vt 0.734247624874 0.412292242050 0.000000000000 -vt 0.737663686275 0.415086418390 0.000000000000 -vt 0.739005625248 0.408245295286 0.000000000000 -vt 0.742154181004 0.411730021238 0.000000000000 -vt 0.728346526623 0.424829334021 0.000000000000 -vt 0.724365770817 0.423212945461 0.000000000000 -vt 0.539046466351 0.074854224920 0.000000000000 -vt 0.547604382038 0.081218689680 0.000000000000 -vt 0.744521200657 0.403573781252 0.000000000000 -vt 0.746637046337 0.406587243080 0.000000000000 -vt 0.546402513981 0.081313252449 0.000000000000 -vt 0.546436250210 0.079620987177 0.000000000000 -vt 0.547303736210 0.079606115818 0.000000000000 -vt 0.547511637211 0.082779005170 0.000000000000 -vt 0.546545684338 0.082813456655 0.000000000000 -vt 0.551446378231 0.080884099007 0.000000000000 -vt 0.719365775585 0.420285463333 0.000000000000 -vt 0.548926889896 0.081119611859 0.000000000000 -vt 0.547964394093 0.078651010990 0.000000000000 -vt 0.549326121807 0.076903134584 0.000000000000 -vt 0.546006023884 0.078606888652 0.000000000000 -vt 0.545527517796 0.081211924553 0.000000000000 -vt 0.740861833096 0.424791932106 0.000000000000 -vt 0.744636476040 0.421375900507 0.000000000000 -vt 0.748865187168 0.419236689806 0.000000000000 -vt 0.738058149815 0.430005639791 0.000000000000 -vt 0.546189963818 0.083545655012 0.000000000000 -vt 0.548156440258 0.083578765392 0.000000000000 -vt 0.549798786640 0.085083246231 0.000000000000 -vt 0.493128985167 0.107532128692 0.000000000000 -vt 0.487130194902 0.108177408576 0.000000000000 -vt 0.484787672758 0.104095578194 0.000000000000 -vt 0.754294574261 0.415865898132 0.000000000000 -vt 0.741011559963 0.418052166700 0.000000000000 -vt 0.736329138279 0.422021627426 0.000000000000 -vt 0.745218575001 0.415226459503 0.000000000000 -vt 0.732700407505 0.426749676466 0.000000000000 -vt 0.477795451880 0.104249805212 0.000000000000 -vt 0.480690747499 0.109506055713 0.000000000000 -vt 0.493065744638 0.123880639672 0.000000000000 -vt 0.492350906134 0.121099308133 0.000000000000 -vt 0.498245447874 0.118749126792 0.000000000000 -vt 0.499274820089 0.122994199395 0.000000000000 -vt 0.749212324619 0.411244809628 0.000000000000 -vt 0.486499279737 0.122255474329 0.000000000000 -vt 0.487754553556 0.125899389386 0.000000000000 -vt 0.495414823294 0.131725952029 0.000000000000 -vt 0.501138865948 0.129815727472 0.000000000000 -vt 0.501795589924 0.132985696197 0.000000000000 -vt 0.496015042067 0.133395478129 0.000000000000 -vt 0.491779893637 0.137110754848 0.000000000000 -vt 0.490246385336 0.133341893554 0.000000000000 -vt 0.493753403425 0.114416465163 0.000000000000 -vt 0.490512460470 0.116016864777 0.000000000000 -vt 0.716776549816 0.397952318192 0.000000000000 -vt 0.722395479679 0.390428304672 0.000000000000 -vt 0.748906552792 0.386245161295 0.000000000000 -vt 0.748211801052 0.394017070532 0.000000000000 -vt 0.743617475033 0.387832283974 0.000000000000 -vt 0.743471086025 0.384143799543 0.000000000000 -vt 0.735934555531 0.381866127253 0.000000000000 -vt 0.489763349295 0.113667383790 0.000000000000 -vt 0.714425027370 0.404076099396 0.000000000000 -vt 0.492669016123 0.112787023187 0.000000000000 -vt 0.487121194601 0.117388963699 0.000000000000 -vt 0.486971467733 0.115077972412 0.000000000000 -vt 0.494484215975 0.116980090737 0.000000000000 -vt 0.491517156363 0.118607267737 0.000000000000 -vt 0.488306194544 0.119425490499 0.000000000000 -vt 0.498060315847 0.127201452851 0.000000000000 -vt 0.713693201542 0.410189747810 0.000000000000 -vt 0.735486447811 0.385052949190 0.000000000000 -vt 0.746610701084 0.396617144346 0.000000000000 -vt 0.494058936834 0.127958431840 0.000000000000 -vt 0.493515819311 0.126024797559 0.000000000000 -vt 0.496876925230 0.125608488917 0.000000000000 -vt 0.490766674280 0.128856346011 0.000000000000 -vt 0.743014752865 0.389892905951 0.000000000000 -vt 0.735056340694 0.387602627277 0.000000000000 -vt 0.727178633213 0.392949610949 0.000000000000 -vt 0.733748018742 0.392339646816 0.000000000000 -vt 0.739848792553 0.392785251141 0.000000000000 -vt 0.747750461102 0.374964654446 0.000000000000 -vt 0.490720719099 0.127026960254 0.000000000000 -vt 0.750498473644 0.379568845034 0.000000000000 -vt 0.752317011356 0.363459676504 0.000000000000 -vt 0.747864067554 0.366984248161 0.000000000000 -vt 0.743768513203 0.380047321320 0.000000000000 -vt 0.743770778179 0.376911133528 0.000000000000 -vt 0.716933429241 0.416927278042 0.000000000000 -vt 0.497924119234 0.128914669156 0.000000000000 -vt 0.494692295790 0.129884406924 0.000000000000 -vt 0.491763919592 0.130519121885 0.000000000000 -vt 0.495831340551 0.110157430172 0.000000000000 -vt 0.489241451025 0.111455008388 0.000000000000 -vt 0.483312696218 0.114056900144 0.000000000000 -vt 0.482924073935 0.118979677558 0.000000000000 -vt 0.499466627836 0.113667383790 0.000000000000 -vt 0.487026840448 0.130218312144 0.000000000000 -vt 0.502736389637 0.126097753644 0.000000000000 -vt 0.497383981943 0.137650460005 0.000000000000 -vt 0.496828526258 0.135942205787 0.000000000000 -vt 0.498790949583 0.135475009680 0.000000000000 -vt 0.489594787359 0.354463160038 0.000000000000 -vt 0.493529766798 0.348664730787 0.000000000000 -vt 0.466066062450 0.416784971952 0.000000000000 -vt 0.492370694876 0.361383527517 0.000000000000 -vt 0.500243246555 0.364317297935 0.000000000000 -vt 0.494832962751 0.368273258209 0.000000000000 -vt 0.503132641315 0.370268374681 0.000000000000 -vt 0.497408539057 0.374473363161 0.000000000000 -vt 0.505711734295 0.374342322350 0.000000000000 -vt 0.501966536045 0.380494236946 0.000000000000 -vt 0.502037703991 0.387555330992 0.000000000000 -vt 0.500600278378 0.394303470850 0.000000000000 -vt 0.497024863958 0.400832056999 0.000000000000 -vt 0.490292042494 0.406675279140 0.000000000000 -vt 0.490373104811 0.412000209093 0.000000000000 -vt 0.478659600019 0.408653289080 0.000000000000 -vt 0.483080357313 0.413705527782 0.000000000000 -vt 0.483867734671 0.400707095861 0.000000000000 -vt 0.475096553564 0.403399050236 0.000000000000 -vt 0.490063995123 0.397259533405 0.000000000000 -vt 0.493380278349 0.393484354019 0.000000000000 -vt 0.495144337416 0.389038652182 0.000000000000 -vt 0.495407789946 0.384074211121 0.000000000000 -vt 0.493809431791 0.377649396658 0.000000000000 -vt 0.491057127714 0.371400237083 0.000000000000 -vt 0.488305300474 0.365160942078 0.000000000000 -vt 0.485417455435 0.358706206083 0.000000000000 -vt 0.499160021544 0.136612713337 0.000000000000 -vt 0.495681852102 0.138441428542 0.000000000000 -vt 0.495292752981 0.137186184525 0.000000000000 -vt 0.499904841185 0.142935067415 0.000000000000 -vt 0.512892186642 0.203441917896 0.000000000000 -vt 0.515536010265 0.210260972381 0.000000000000 -vt 0.519058048725 0.216575443745 0.000000000000 -vt 0.498339504004 0.139838293195 0.000000000000 -vt 0.500721871853 0.137117296457 0.000000000000 -vt 0.503684222698 0.138030976057 0.000000000000 -vt 0.499697417021 0.134602531791 0.000000000000 -vt 0.496406823397 0.134647563100 0.000000000000 -vt 0.494290322065 0.137108504772 0.000000000000 -vt 0.495159000158 0.139991164207 0.000000000000 -vt 0.493990033865 0.142434999347 0.000000000000 -vt 0.486728996038 0.090575456619 0.000000000000 -vt 0.478315383196 0.092991143465 0.000000000000 -vt 0.474077731371 0.098476827145 0.000000000000 -vt 0.498264402151 0.081063106656 0.000000000000 -vt 0.490895956755 0.083478346467 0.000000000000 -vt 0.501754701138 0.074368119240 0.000000000000 -vt 0.516297876835 0.064490333200 0.000000000000 -vt 0.489585071802 0.070763155818 0.000000000000 -vt 0.494673103094 0.066240236163 0.000000000000 -vt 0.470336109400 0.086715623736 0.000000000000 -vt 0.436086863279 0.092820927501 0.000000000000 -vt 0.438066899776 0.090013250709 0.000000000000 -vt 0.444520950317 0.092675030231 0.000000000000 -vt 0.441438585520 0.096161559224 0.000000000000 -vt 0.428543061018 0.092088505626 0.000000000000 -vt 0.430847972631 0.087048172951 0.000000000000 -vt 0.445708662271 0.087137565017 0.000000000000 -vt 0.440775513649 0.085114762187 0.000000000000 -vt 0.441083967686 0.081669896841 0.000000000000 -vt 0.445867836475 0.084105402231 0.000000000000 -vt 0.434993296862 0.082800179720 0.000000000000 -vt 0.435679793358 0.079566493630 0.000000000000 -vt 0.443775683641 0.089068949223 0.000000000000 -vt 0.439778298140 0.087716892362 0.000000000000 -vt 0.435482561588 0.085728764534 0.000000000000 -vt 0.449968576431 0.082234129310 0.000000000000 -vt 0.441662847996 0.076967298985 0.000000000000 -vt 0.431835711002 0.073218241334 0.000000000000 -vt 0.428974449635 0.081223636866 0.000000000000 -vt 0.450840383768 0.089633405209 0.000000000000 -vt 0.429250478745 0.110776379704 0.000000000000 -vt 0.428867727518 0.107335552573 0.000000000000 -vt 0.431848555803 0.108271300793 0.000000000000 -vt 0.431623846292 0.110644668341 0.000000000000 -vt 0.427443832159 0.110487952828 0.000000000000 -vt 0.426816552877 0.108107388020 0.000000000000 -vt 0.437157928944 0.099945515394 0.000000000000 -vt 0.433482289314 0.098722696304 0.000000000000 -vt 0.434810459614 0.095693901181 0.000000000000 -vt 0.437838792801 0.097269997001 0.000000000000 -vt 0.429327040911 0.097964599729 0.000000000000 -vt 0.431027412415 0.095057398081 0.000000000000 -vt 0.435632973909 0.102705463767 0.000000000000 -vt 0.431967437267 0.102064222097 0.000000000000 -vt 0.428185939789 0.101327285171 0.000000000000 -vt 0.424739956856 0.097438409925 0.000000000000 -vt 0.424326807261 0.104374542832 0.000000000000 -vt 0.430121839046 0.103951931000 0.000000000000 -vt 0.436985909939 0.106490775943 0.000000000000 -vt 0.440761536360 0.101641386747 0.000000000000 -vt 0.429635047913 0.115833595395 0.000000000000 -vt 0.429685264826 0.112943276763 0.000000000000 -vt 0.432830691338 0.111719325185 0.000000000000 -vt 0.435101598501 0.113605901599 0.000000000000 -vt 0.434298694134 0.107984006405 0.000000000000 -vt 0.429523140192 0.105171591043 0.000000000000 -vt 0.425729721785 0.106971934438 0.000000000000 -vt 0.426668196917 0.111298739910 0.000000000000 -vt 0.424650788307 0.112406730652 0.000000000000 -vt 0.509388387203 0.055841218680 0.000000000000 -vt 0.498403996229 0.043372806162 0.000000000000 -vt 0.502433478832 0.048159595579 0.000000000000 -vt 0.497449725866 0.051044743508 0.000000000000 -vt 0.492421835661 0.043788667768 0.000000000000 -vt 0.463615030050 0.077348947525 0.000000000000 -vt 0.455456525087 0.070783421397 0.000000000000 -vt 0.464122295380 0.066180795431 0.000000000000 -vt 0.462868630886 0.093436956406 0.000000000000 -vt 0.458721280098 0.092571005225 0.000000000000 -vt 0.459522604942 0.087591469288 0.000000000000 -vt 0.462670952082 0.086979731917 0.000000000000 -vt 0.471514105797 0.060662243515 0.000000000000 -vt 0.482812136412 0.062291014940 0.000000000000 -vt 0.467946112156 0.095136195421 0.000000000000 -vt 0.458524495363 0.080985873938 0.000000000000 -vt 0.452050387859 0.076159223914 0.000000000000 -vt 0.443986207247 0.071658372879 0.000000000000 -vt 0.445354491472 0.066013723612 0.000000000000 -vt 0.436717092991 0.065082713962 0.000000000000 -vt 0.437832713127 0.058958042413 0.000000000000 -vt 0.456312119961 0.084696203470 0.000000000000 -vt 0.455533295870 0.088533744216 0.000000000000 -vt 0.442759126425 0.026406910270 0.000000000000 -vt 0.439107567072 0.033566392958 0.000000000000 -vt 0.433614879847 0.033746067435 0.000000000000 -vt 0.436550229788 0.040571421385 0.000000000000 -vt 0.431009620428 0.041979093105 0.000000000000 -vt 0.436738461256 0.048520524055 0.000000000000 -vt 0.433239340782 0.050523724407 0.000000000000 -vt 0.439432889223 0.056393977255 0.000000000000 -vt 0.444673389196 0.062197577208 0.000000000000 -vt 0.452080547810 0.064230725169 0.000000000000 -vt 0.459633141756 0.061068650335 0.000000000000 -vt 0.466834276915 0.054884534329 0.000000000000 -vt 0.476173490286 0.048398043960 0.000000000000 -vt 0.478311985731 0.055618535727 0.000000000000 -vt 0.487611383200 0.048637155443 0.000000000000 -vt 0.492559403181 0.054551754147 0.000000000000 -vt 0.450314640999 0.028678275645 0.000000000000 -vt 0.445344805717 0.034261446446 0.000000000000 -vt 0.441385686398 0.039831560105 0.000000000000 -vt 0.440092831850 0.046508762985 0.000000000000 -vt 0.441298097372 0.053300123662 0.000000000000 -vt 0.444251447916 0.058152657002 0.000000000000 -vt 0.449525713921 0.059440102428 0.000000000000 -vt 0.455304324627 0.055676858872 0.000000000000 -vt 0.461506903172 0.049404706806 0.000000000000 -vt 0.469306051731 0.042024347931 0.000000000000 -vt 0.487811952829 0.058225836605 0.000000000000 -vt 0.483524292707 0.052073474973 0.000000000000 -vt 0.484311491251 0.046199399978 0.000000000000 -vt 0.481747001410 0.048475492746 0.000000000000 -vt 0.380680233240 0.065514564514 0.000000000000 -vt 0.376588284969 0.059708710760 0.000000000000 -vt 0.380253583193 0.059918548912 0.000000000000 -vt 0.384085476398 0.069081693888 0.000000000000 -vt 0.495234221220 0.099533021450 0.000000000000 -vt 0.383714437485 0.065352901816 0.000000000000 -vt 0.383114397526 0.061096791178 0.000000000000 -vt 0.374451309443 0.073164209723 0.000000000000 -vt 0.372015357018 0.063677519560 0.000000000000 -vt 0.374059766531 0.053939338773 0.000000000000 -vt 0.381692320108 0.054332684726 0.000000000000 -vt 0.383103370667 0.075196906924 0.000000000000 -vt 0.405146718025 0.062567278743 0.000000000000 -vt 0.405029207468 0.064906865358 0.000000000000 -vt 0.403085887432 0.065327689052 0.000000000000 -vt 0.402291089296 0.062788158655 0.000000000000 -vt 0.404567837715 0.060321133584 0.000000000000 -vt 0.402513980865 0.060236703604 0.000000000000 -vt 0.396065324545 0.068468824029 0.000000000000 -vt 0.393785178661 0.067805290222 0.000000000000 -vt 0.392409473658 0.063877239823 0.000000000000 -vt 0.394892245531 0.063695982099 0.000000000000 -vt 0.392374575138 0.059808004647 0.000000000000 -vt 0.394494861364 0.058848392218 0.000000000000 -vt 0.398127049208 0.067958623171 0.000000000000 -vt 0.397333174944 0.063290476799 0.000000000000 -vt 0.396797299385 0.058876764029 0.000000000000 -vt 0.394452542067 0.054397072643 0.000000000000 -vt 0.399751543999 0.055975642055 0.000000000000 -vt 0.399062365294 0.062898263335 0.000000000000 -vt 0.401548743248 0.070496574044 0.000000000000 -vt 0.397002875805 0.072747439146 0.000000000000 -vt 0.410708278418 0.061957109720 0.000000000000 -vt 0.408443450928 0.068036526442 0.000000000000 -vt 0.406104087830 0.065834060311 0.000000000000 -vt 0.407416969538 0.062223013490 0.000000000000 -vt 0.402603596449 0.067001029849 0.000000000000 -vt 0.400384694338 0.062776446342 0.000000000000 -vt 0.401618093252 0.058767784387 0.000000000000 -vt 0.407653838396 0.056897196919 0.000000000000 -vt 0.405660539865 0.059153925627 0.000000000000 -vt 0.342144489288 0.129252389073 0.000000000000 -vt 0.330034285784 0.118232384324 0.000000000000 -vt 0.331073820591 0.111910715699 0.000000000000 -vt 0.337948709726 0.117126211524 0.000000000000 -vt 0.334675848484 0.122342392802 0.000000000000 -vt 0.364498108625 0.084034025669 0.000000000000 -vt 0.353841513395 0.081475362182 0.000000000000 -vt 0.359023243189 0.072227567434 0.000000000000 -vt 0.383939355612 0.087411120534 0.000000000000 -vt 0.376194030046 0.086917132139 0.000000000000 -vt 0.378380954266 0.083674445748 0.000000000000 -vt 0.385140568018 0.082588523626 0.000000000000 -vt 0.348989427090 0.090118840337 0.000000000000 -vt 0.349848628044 0.102441802621 0.000000000000 -vt 0.384516656399 0.092244535685 0.000000000000 -vt 0.368901699781 0.080153703690 0.000000000000 -vt 0.366300255060 0.072573855519 0.000000000000 -vt 0.362025469542 0.061230536550 0.000000000000 -vt 0.366504251957 0.062840163708 0.000000000000 -vt 0.364860385656 0.049893748015 0.000000000000 -vt 0.368391275406 0.052941676229 0.000000000000 -vt 0.375058352947 0.079524159431 0.000000000000 -vt 0.381066381931 0.079621434212 0.000000000000 -vt 0.369406282902 0.023787003011 0.000000000000 -vt 0.363827377558 0.021882418543 0.000000000000 -vt 0.362167745829 0.013727746904 0.000000000000 -vt 0.369875043631 0.032330740243 0.000000000000 -vt 0.363867014647 0.030249182135 0.000000000000 -vt 0.367265045643 0.040660582483 0.000000000000 -vt 0.362684249878 0.039418853819 0.000000000000 -vt 0.360803991556 0.049217607826 0.000000000000 -vt 0.358212471008 0.058879461139 0.000000000000 -vt 0.354023665190 0.067041784525 0.000000000000 -vt 0.349367916584 0.074845895171 0.000000000000 -vt 0.344372838736 0.084569439292 0.000000000000 -vt 0.343579858541 0.097275629640 0.000000000000 -vt 0.337548166513 0.094781354070 0.000000000000 -vt 0.336168199778 0.107096001506 0.000000000000 -vt 0.341732889414 0.112160399556 0.000000000000 -vt 0.358703076839 0.019574124366 0.000000000000 -vt 0.356585264206 0.011583819985 0.000000000000 -vt 0.359179943800 0.028422724456 0.000000000000 -vt 0.358128011227 0.037861227989 0.000000000000 -vt 0.355775833130 0.047059264034 0.000000000000 -vt 0.352667778730 0.055755432695 0.000000000000 -vt 0.348802536726 0.062798514962 0.000000000000 -vt 0.344516932964 0.069515347481 0.000000000000 -vt 0.339693903923 0.078744009137 0.000000000000 -vt 0.334405004978 0.088547706604 0.000000000000 -vt 0.351488649845 0.008813511580 0.000000000000 -vt 0.353146910667 0.017157759517 0.000000000000 -vt 0.344804912806 0.016256015748 0.000000000000 -vt 0.343273401260 0.007860429585 0.000000000000 -vt 0.353605329990 0.026377867907 0.000000000000 -vt 0.345076918602 0.024861443788 0.000000000000 -vt 0.351858347654 0.035421445966 0.000000000000 -vt 0.343469291925 0.032606557012 0.000000000000 -vt 0.329398661852 0.083495229483 0.000000000000 -vt 0.321584880352 0.080222144723 0.000000000000 -vt 0.345637321472 0.107405588031 0.000000000000 -vt 0.339709669352 0.102807238698 0.000000000000 -vt 0.334294229746 0.103572994471 0.000000000000 -vt 0.336519658566 0.100833073258 0.000000000000 -vt 0.331020236015 0.072261109948 0.000000000000 -vt 0.336660385132 0.064951002598 0.000000000000 -vt 0.434932053089 0.026294331998 0.000000000000 -vt 0.340934514999 0.059087056667 0.000000000000 -vt 0.343839913607 0.051737319678 0.000000000000 -vt 0.346170932055 0.042951311916 0.000000000000 -vt 0.340638875961 0.037561997771 0.000000000000 -vt 0.323255330324 0.073237612844 0.000000000000 -vt 0.695959985256 0.741854548454 0.000000000000 -vt 0.714866340160 0.723106801510 0.000000000000 -vt 0.697431623936 0.719995796680 0.000000000000 -vt 0.483988851309 0.041881825775 0.000000000000 -vt 0.839606106281 0.716192245483 0.000000000000 -vt 0.824899375439 0.704895555973 0.000000000000 -vt 0.836511552334 0.689590156078 0.000000000000 -vt 0.848930418491 0.699052095413 0.000000000000 -vt 0.814055740833 0.694797575474 0.000000000000 -vt 0.477539271116 0.036895312369 0.000000000000 -vt 0.826638519764 0.681990265846 0.000000000000 -vt 0.829895794392 0.731659770012 0.000000000000 -vt 0.813143789768 0.716623902321 0.000000000000 -vt 0.801700055599 0.705101132393 0.000000000000 -vt 0.817305624485 0.743863582611 0.000000000000 -vt 0.801387965679 0.725039482117 0.000000000000 -vt 0.789851725101 0.712394773960 0.000000000000 -vt 0.788582026958 0.734670758247 0.000000000000 -vt 0.777517497540 0.721166849136 0.000000000000 -vt 0.803215801716 0.752814412117 0.000000000000 -vt 0.786242902279 0.759428799152 0.000000000000 -vt 0.773034870625 0.741466820240 0.000000000000 -vt 0.763387620449 0.729409098625 0.000000000000 -vt 0.819508969784 0.771108031273 0.000000000000 -vt 0.801594197750 0.778130888939 0.000000000000 -vt 0.780358016491 0.784393787384 0.000000000000 -vt 0.813161194324 0.798096477985 0.000000000000 -vt 0.791216671467 0.802965700626 0.000000000000 -vt 0.768060982227 0.806276857853 0.000000000000 -vt 0.758998692036 0.789613127708 0.000000000000 -vt 0.745742022991 0.808515787125 0.000000000000 -vt 0.739104449749 0.793780505657 0.000000000000 -vt 0.796912372112 0.821695029736 0.000000000000 -vt 0.772977530956 0.822699189186 0.000000000000 -vt 0.749330580235 0.823236882687 0.000000000000 -vt 0.818778097630 0.819741129875 0.000000000000 -vt 0.864375889301 0.710809707642 0.000000000000 -vt 0.880953133106 0.724374651909 0.000000000000 -vt 0.915635168552 0.748171925545 0.000000000000 -vt 0.908841907978 0.766230940819 0.000000000000 -vt 0.905186593533 0.787342846394 0.000000000000 -vt 0.887137472630 0.812209010124 0.000000000000 -vt 0.901950418949 0.812799155712 0.000000000000 -vt 0.716777384281 0.755539953709 0.000000000000 -vt 0.709918677807 0.762999296188 0.000000000000 -vt 0.751775801182 0.171791642904 0.000000000000 -vt 0.779532253742 0.179935947061 0.000000000000 -vt 0.757754266262 0.191265076399 0.000000000000 -vt 0.738353550434 0.202746644616 0.000000000000 -vt 0.733651459217 0.186159908772 0.000000000000 -vt 0.720768034458 0.212536171079 0.000000000000 -vt 0.718448698521 0.197526648641 0.000000000000 -vt 0.715862095356 0.185371875763 0.000000000000 -vt 0.749988734722 0.241413876414 0.000000000000 -vt 0.731017768383 0.248716101050 0.000000000000 -vt 0.725487768650 0.230310603976 0.000000000000 -vt 0.743789970875 0.221092060208 0.000000000000 -vt 0.774173557758 0.257214367390 0.000000000000 -vt 0.754297435284 0.261839717627 0.000000000000 -vt 0.769551694393 0.234550252557 0.000000000000 -vt 0.731539070606 0.269993722439 0.000000000000 -vt 0.763681709766 0.212278813124 0.000000000000 -vt 0.789024770260 0.228903159499 0.000000000000 -vt 0.784669578075 0.203588500619 0.000000000000 -vt 0.812417447567 0.255994260311 0.000000000000 -vt 0.793350636959 0.255872875452 0.000000000000 -vt 0.808808386326 0.224819734693 0.000000000000 -vt 0.805518686771 0.196942374110 0.000000000000 -vt 0.801068723202 0.171566486359 0.000000000000 -vt 0.816036999226 0.293190568686 0.000000000000 -vt 0.796044886112 0.283715814352 0.000000000000 -vt 0.777438461781 0.280535697937 0.000000000000 -vt 0.757886707783 0.282600164413 0.000000000000 -vt 0.739174664021 0.287719726563 0.000000000000 -vt 0.785341441631 0.033302962780 0.000000000000 -vt 0.582609474659 0.124908477068 0.000000000000 -vt 0.581306993961 0.142187565565 0.000000000000 -vt 0.545368969440 0.011624570936 0.000000000000 -vt 0.646641552448 0.018267553300 0.000000000000 -vt 0.606483757496 0.106701299548 0.000000000000 -vt 0.612616598606 0.108521446586 0.000000000000 -vt 0.618627488613 0.111129656434 0.000000000000 -vt 0.665071904659 0.014743648469 0.000000000000 -vt 0.370113700628 0.016160547733 0.000000000000 -vt 0.331191360950 0.103096559644 0.000000000000 -vt 0.330383718014 0.097089871764 0.000000000000 -vt 0.327046245337 0.092111021280 0.000000000000 -vt 0.319549947977 0.088000133634 0.000000000000 -vt 0.491939753294 0.100965470076 0.000000000000 -vt 0.696907937527 0.156802833080 0.000000000000 -vt 0.707364618778 0.164915174246 0.000000000000 -vt 0.711468279362 0.167301818728 0.000000000000 -vt 0.672648847103 0.136169388890 0.000000000000 -vt 0.654392778873 0.123681157827 0.000000000000 -vt 0.546281397343 0.277987629175 0.000000000000 -vt 0.555889427662 0.542913317680 0.000000000000 -vt 0.598048627377 0.315594613552 0.000000000000 -vt 0.474871605635 0.487518340349 0.000000000000 -vt 0.493717104197 0.499704867601 0.000000000000 -vt 0.510663211346 0.513657331467 0.000000000000 -vt 0.529695570469 0.328777670860 0.000000000000 -vt 0.478573888540 0.439885228872 0.000000000000 -vt 0.489638179541 0.458603054285 0.000000000000 -vt 0.472153753042 0.424974769354 0.000000000000 -vt 0.581608593464 0.316328614950 0.000000000000 -vt 0.469933092594 0.410422533751 0.000000000000 -vt 0.474573940039 0.415574103594 0.000000000000 -vt 0.496727436781 0.356613397598 0.000000000000 -vt 0.467020928860 0.405297100544 0.000000000000 -vt 0.680720627308 0.091846004128 0.000000000000 -vt 0.694580972195 0.090741172433 0.000000000000 -vt 0.547491371632 0.071579337120 0.000000000000 -vt 0.553497970104 0.078128427267 0.000000000000 -vt 0.645280063152 0.102942556143 0.000000000000 -vt 0.557917654514 0.084493562579 0.000000000000 -vt 0.562383949757 0.098196953535 0.000000000000 -vt 0.633653700352 0.118626862764 0.000000000000 -vt 0.562888324261 0.114720419049 0.000000000000 -vt 0.563672840595 0.128326103091 0.000000000000 -vt 0.567211091518 0.144699171185 0.000000000000 -vt 0.500136196613 0.268927842379 0.000000000000 -vt 0.502436935902 0.280043512583 0.000000000000 -vt 0.482790559530 0.140759631991 0.000000000000 -vt 0.485283464193 0.145932793617 0.000000000000 -vt 0.511669576168 0.244729980826 0.000000000000 -vt 0.489596575499 0.150636732578 0.000000000000 -vt 0.503686726093 0.155002936721 0.000000000000 -vt 0.528804123402 0.231279209256 0.000000000000 -vt 0.521844804287 0.155472621322 0.000000000000 -vt 0.536552846432 0.156950756907 0.000000000000 -vt 0.553597509861 0.159783437848 0.000000000000 -vt 0.307654768229 0.609554529190 0.000000000000 -vt 0.290467321873 0.613707244396 0.000000000000 -vt 0.204575508833 0.719810605049 0.000000000000 -vt 0.210707157850 0.703682720661 0.000000000000 -vt 0.284538298845 0.585472345352 0.000000000000 -vt 0.223060980439 0.709351420403 0.000000000000 -vt 0.213785484433 0.729282855988 0.000000000000 -vt 0.294191390276 0.583933651447 0.000000000000 -vt 0.193332836032 0.738901257515 0.000000000000 -vt 0.188829287887 0.728674709797 0.000000000000 -vt 0.197825804353 0.749223530293 0.000000000000 -vt 0.225497603416 0.740132212639 0.000000000000 -vt 0.172644689679 0.756999909878 0.000000000000 -vt 0.173354595900 0.748063921928 0.000000000000 -vt 0.153877779841 0.774228334427 0.000000000000 -vt 0.153797164559 0.760271430016 0.000000000000 -vt 0.173445329070 0.773155450821 0.000000000000 -vt 0.149432986975 0.820051431656 0.000000000000 -vt 0.173765048385 0.821435034275 0.000000000000 -vt 0.175114631653 0.829998791218 0.000000000000 -vt 0.154235765338 0.830059587955 0.000000000000 -vt 0.154094830155 0.792689681053 0.000000000000 -vt 0.177844420075 0.795601427555 0.000000000000 -vt 0.212241590023 0.836606919765 0.000000000000 -vt 0.307616710663 0.586260378361 0.000000000000 -vt 0.319666564465 0.604332268238 0.000000000000 -vt 0.206351310015 0.841337859631 0.000000000000 -vt 0.357945650816 0.653928995132 0.000000000000 -vt 0.205141782761 0.802912175655 0.000000000000 -vt 0.181257992983 0.838490307331 0.000000000000 -vt 0.150479733944 0.836383342743 0.000000000000 -vt 0.202541679144 0.774786055088 0.000000000000 -vt 0.230581372976 0.776787877083 0.000000000000 -vt 0.232835412025 0.808410942554 0.000000000000 -vt 0.153742238879 0.753254890442 0.000000000000 -vt 0.354879945517 0.670894861221 0.000000000000 -vt 0.156122118235 0.742229044437 0.000000000000 -vt 0.325383484364 0.664160490036 0.000000000000 -vt 0.172345682979 0.736270546913 0.000000000000 -vt 0.329998701811 0.649386703968 0.000000000000 -vt 0.344495564699 0.695504546165 0.000000000000 -vt 0.319999575615 0.685368955135 0.000000000000 -vt 0.340014070272 0.705360293388 0.000000000000 -vt 0.316662311554 0.697957396507 0.000000000000 -vt 0.335703253746 0.712217569351 0.000000000000 -vt 0.314472913742 0.703338801861 0.000000000000 -vt 0.298693358898 0.660711348057 0.000000000000 -vt 0.305291980505 0.643745899200 0.000000000000 -vt 0.335656195879 0.638233840466 0.000000000000 -vt 0.170275822282 0.731788814068 0.000000000000 -vt 0.154652982950 0.738835036755 0.000000000000 -vt 0.186667352915 0.724648237228 0.000000000000 -vt 0.232443422079 0.711409807205 0.000000000000 -vt 0.252836883068 0.745151817799 0.000000000000 -vt 0.251037418842 0.715631723404 0.000000000000 -vt 0.257062584162 0.778479039669 0.000000000000 -vt 0.286519646645 0.808762609959 0.000000000000 -vt 0.259915977716 0.810499906540 0.000000000000 -vt 0.282630771399 0.777449607849 0.000000000000 -vt 0.312265455723 0.804308831692 0.000000000000 -vt 0.315088212490 0.835467398167 0.000000000000 -vt 0.288638800383 0.843417167664 0.000000000000 -vt 0.337379038334 0.797992110252 0.000000000000 -vt 0.342023313046 0.826052308083 0.000000000000 -vt 0.314613372087 0.842931270599 0.000000000000 -vt 0.360430896282 0.641259968281 0.000000000000 -vt 0.314939886332 0.630025804043 0.000000000000 -vt 0.289557874203 0.850114881992 0.000000000000 -vt 0.294469684362 0.682716429234 0.000000000000 -vt 0.273877441883 0.659004628658 0.000000000000 -vt 0.280411213636 0.635718882084 0.000000000000 -vt 0.270008593798 0.684478938580 0.000000000000 -vt 0.359717398882 0.625162005424 0.000000000000 -vt 0.343318879604 0.624738991261 0.000000000000 -vt 0.344458639622 0.621523499489 0.000000000000 -vt 0.360369205475 0.621685206890 0.000000000000 -vt 0.360682636499 0.635098338127 0.000000000000 -vt 0.339501827955 0.634016931057 0.000000000000 -vt 0.340652346611 0.835465610027 0.000000000000 -vt 0.309305101633 0.776968240738 0.000000000000 -vt 0.334473401308 0.773887217045 0.000000000000 -vt 0.363107293844 0.791482627392 0.000000000000 -vt 0.368501096964 0.820234537125 0.000000000000 -vt 0.358934253454 0.769033312798 0.000000000000 -vt 0.275969982147 0.743224263191 0.000000000000 -vt 0.305437386036 0.756031274796 0.000000000000 -vt 0.260169744492 0.846379280090 0.000000000000 -vt 0.235436409712 0.844436645508 0.000000000000 -vt 0.262015789747 0.854236066341 0.000000000000 -vt 0.234238356352 0.851540505886 0.000000000000 -vt 0.263981163502 0.715166091919 0.000000000000 -vt 0.267965942621 0.713351130486 0.000000000000 -vt 0.281729459763 0.734891474247 0.000000000000 -vt 0.288172066212 0.722100436687 0.000000000000 -vt 0.277648299932 0.707795619965 0.000000000000 -vt 0.291222691536 0.716961920261 0.000000000000 -vt 0.308623343706 0.723172843456 0.000000000000 -vt 0.307381391525 0.728834807873 0.000000000000 -vt 0.281491696835 0.703531861305 0.000000000000 -vt 0.305040448904 0.743083953857 0.000000000000 -vt 0.201677769423 0.717027664185 0.000000000000 -vt 0.205799683928 0.700485944748 0.000000000000 -vt 0.367262303829 0.829703629017 0.000000000000 -vt 0.341758757830 0.839105904102 0.000000000000 -vt 0.368334710598 0.833229362965 0.000000000000 -vt 0.316586196423 0.847852051258 0.000000000000 -vt 0.290764272213 0.854788422585 0.000000000000 -vt 0.327047795057 0.738471865654 0.000000000000 -vt 0.326124876738 0.730000674725 0.000000000000 -vt 0.330911010504 0.754280507565 0.000000000000 -vt 0.355491876602 0.749867677689 0.000000000000 -vt 0.351486146450 0.739300012589 0.000000000000 -vt 0.326873511076 0.724973142147 0.000000000000 -vt 0.344539195299 0.722123146057 0.000000000000 -vt 0.344190418720 0.726383745670 0.000000000000 -vt 0.261989206076 0.857144653797 0.000000000000 -vt 0.233581811190 0.854094266891 0.000000000000 -vt 0.204417899251 0.849156141281 0.000000000000 -vt 0.326887309551 0.621081113815 0.000000000000 -vt 0.252677500248 0.583962917328 0.000000000000 -vt 0.265231251717 0.586087048054 0.000000000000 -vt 0.256276845932 0.613264143467 0.000000000000 -vt 0.236884176731 0.612185239792 0.000000000000 -vt 0.225397676229 0.592031359673 0.000000000000 -vt 0.240359246731 0.578182041645 0.000000000000 -vt 0.249482765794 0.581659138203 0.000000000000 -vt 0.230406701565 0.604802131653 0.000000000000 -vt 0.221547290683 0.586520910263 0.000000000000 -vt 0.237664133310 0.573132932186 0.000000000000 -vt 0.211196690798 0.601164758205 0.000000000000 -vt 0.209809958935 0.594907939434 0.000000000000 -vt 0.213919267058 0.613228797913 0.000000000000 -vt 0.215259835124 0.621791481972 0.000000000000 -vt 0.233155399561 0.635776519775 0.000000000000 -vt 0.212040349841 0.638687551022 0.000000000000 -vt 0.329966962337 0.616993844509 0.000000000000 -vt 0.252798855305 0.635614156723 0.000000000000 -vt 0.333201110363 0.612495720387 0.000000000000 -vt 0.324382007122 0.598686695099 0.000000000000 -vt 0.311093568802 0.581733644009 0.000000000000 -vt 0.250871539116 0.659518659115 0.000000000000 -vt 0.246007040143 0.695468783379 0.000000000000 -vt 0.267591327429 0.695985734463 0.000000000000 -vt 0.229620695114 0.658928096294 0.000000000000 -vt 0.224895358086 0.685685992241 0.000000000000 -vt 0.202963665128 0.683032333851 0.000000000000 -vt 0.206480368972 0.658463180065 0.000000000000 -vt 0.225187152624 0.694258570671 0.000000000000 -vt 0.267994135618 0.700619399548 0.000000000000 -vt 0.246059074998 0.698300302029 0.000000000000 -vt 0.202539697289 0.691807746887 0.000000000000 -vt 0.292167007923 0.695293128490 0.000000000000 -vt 0.291803628206 0.699824810028 0.000000000000 -vt 0.246173635125 0.686428308487 0.000000000000 -vt 0.225166440010 0.697112381458 0.000000000000 -vt 0.202534750104 0.694576680660 0.000000000000 -vt 0.179447337985 0.689694881439 0.000000000000 -vt 0.179994687438 0.681011319160 0.000000000000 -vt 0.156249374151 0.689290702343 0.000000000000 -vt 0.153237923980 0.680606484413 0.000000000000 -vt 0.181782424450 0.657110214233 0.000000000000 -vt 0.156527668238 0.653305292130 0.000000000000 -vt 0.186954230070 0.638771533966 0.000000000000 -vt 0.162625998259 0.633767902851 0.000000000000 -vt 0.191838979721 0.622671365738 0.000000000000 -vt 0.169981136918 0.618435740471 0.000000000000 -vt 0.179694786668 0.692102015018 0.000000000000 -vt 0.157019853592 0.692945420742 0.000000000000 -vt 0.174810484052 0.610164642334 0.000000000000 -vt 0.181283250451 0.599177777767 0.000000000000 -vt 0.196757718921 0.604870617390 0.000000000000 -vt 0.192525476217 0.616066217422 0.000000000000 -vt 0.183410972357 0.595816195011 0.000000000000 -vt 0.198278859258 0.601250529289 0.000000000000 -vt 0.244824290276 0.579442679882 0.000000000000 -vt 0.273151040077 0.710567533970 0.000000000000 -vt 0.285232663155 0.728684842587 0.000000000000 -vt 0.227200508118 0.598817527294 0.000000000000 -vt 0.212605252862 0.606770217419 0.000000000000 -vt 0.305614590645 0.736904382706 0.000000000000 -vt 0.328240215778 0.744696319103 0.000000000000 -vt 0.178053170443 0.604644119740 0.000000000000 -vt 0.348152697086 0.732621014118 0.000000000000 -vt 0.194131508470 0.610380828381 0.000000000000 -vt 0.313762992620 0.607308149338 0.000000000000 -vt 0.300771087408 0.584314823151 0.000000000000 -vt 0.216887891293 0.707050144672 0.000000000000 -vt 0.208923026919 0.724448800087 0.000000000000 -vt 0.190924808383 0.733412683010 0.000000000000 -vt 0.173134177923 0.741575896740 0.000000000000 -vt 0.154957845807 0.745678186417 0.000000000000 -vt 0.360251009464 0.628313779831 0.000000000000 -vt 0.342385172844 0.628576755524 0.000000000000 -vt 0.322390943766 0.625243067741 0.000000000000 -vt 0.255816608667 0.538961172104 0.000000000000 -vt 0.255609929562 0.531903445721 0.000000000000 -vt 0.276532471180 0.523902297020 0.000000000000 -vt 0.276766628027 0.530665338039 0.000000000000 -vt 0.258155763149 0.542869150639 0.000000000000 -vt 0.239253938198 0.549565970898 0.000000000000 -vt 0.237569808960 0.546314954758 0.000000000000 -vt 0.259632319212 0.557646989822 0.000000000000 -vt 0.278000265360 0.557606041431 0.000000000000 -vt 0.280406028032 0.561680853367 0.000000000000 -vt 0.259857028723 0.562739551067 0.000000000000 -vt 0.301217794418 0.558059513569 0.000000000000 -vt 0.301868736744 0.561496496201 0.000000000000 -vt 0.280528068542 0.552090644836 0.000000000000 -vt 0.277729153633 0.535347640514 0.000000000000 -vt 0.297178983688 0.528205513954 0.000000000000 -vt 0.301819860935 0.553178787231 0.000000000000 -vt 0.296229928732 0.518692255020 0.000000000000 -vt 0.297345817089 0.522403001785 0.000000000000 -vt 0.317796647549 0.513919591904 0.000000000000 -vt 0.319642692804 0.516018092632 0.000000000000 -vt 0.318866372108 0.522611498833 0.000000000000 -vt 0.323723644018 0.553826808929 0.000000000000 -vt 0.342375040054 0.518720626831 0.000000000000 -vt 0.345081865788 0.553842306137 0.000000000000 -vt 0.325454175472 0.558225631714 0.000000000000 -vt 0.324885904789 0.562544107437 0.000000000000 -vt 0.344201058149 0.558419764042 0.000000000000 -vt 0.346064895391 0.561874091625 0.000000000000 -vt 0.367183536291 0.508728206158 0.000000000000 -vt 0.365877866745 0.516082882881 0.000000000000 -vt 0.342823565006 0.511460900307 0.000000000000 -vt 0.365199923515 0.505763173103 0.000000000000 -vt 0.387129127979 0.502111792564 0.000000000000 -vt 0.389222174883 0.506725013256 0.000000000000 -vt 0.341677963734 0.508929491043 0.000000000000 -vt 0.382050991058 0.547588169575 0.000000000000 -vt 0.364945054054 0.550378084183 0.000000000000 -vt 0.388924062252 0.514224946499 0.000000000000 -vt 0.256348222494 0.552059113979 0.000000000000 -vt 0.239861428738 0.565382003784 0.000000000000 -vt 0.239956676960 0.562402725220 0.000000000000 -vt 0.220832422376 0.568670809269 0.000000000000 -vt 0.219239458442 0.567124247551 0.000000000000 -vt 0.203210204840 0.570883214474 0.000000000000 -vt 0.201898008585 0.568920969963 0.000000000000 -vt 0.182944670320 0.570823550224 0.000000000000 -vt 0.183698490262 0.567600429058 0.000000000000 -vt 0.203983396292 0.564405024052 0.000000000000 -vt 0.204041033983 0.557649910450 0.000000000000 -vt 0.220529600978 0.554902791977 0.000000000000 -vt 0.220537245274 0.562811851501 0.000000000000 -vt 0.183808818460 0.564445316792 0.000000000000 -vt 0.182822406292 0.557343244553 0.000000000000 -vt 0.156297102571 0.564277827740 0.000000000000 -vt 0.153392598033 0.552050530910 0.000000000000 -vt 0.137154191732 0.566353738308 0.000000000000 -vt 0.156789526343 0.566984176636 0.000000000000 -vt 0.156581923366 0.569497346878 0.000000000000 -vt 0.138306304812 0.569090723991 0.000000000000 -vt 0.154402419925 0.548665106297 0.000000000000 -vt 0.132301419973 0.547170519829 0.000000000000 -vt 0.131927892566 0.543763041496 0.000000000000 -vt 0.183378085494 0.554381549358 0.000000000000 -vt 0.155377343297 0.546469151974 0.000000000000 -vt 0.182058230042 0.549026727676 0.000000000000 -vt 0.203520476818 0.547020137310 0.000000000000 -vt 0.203194230795 0.553471744061 0.000000000000 -vt 0.219951391220 0.551127851009 0.000000000000 -vt 0.219577863812 0.544329047203 0.000000000000 -vt 0.236548244953 0.540101110935 0.000000000000 -vt 0.239640295506 0.557557404041 0.000000000000 -vt 0.364015817642 0.556429386139 0.000000000000 -vt 0.364667207003 0.559019565582 0.000000000000 -vt 0.385533690453 0.553289771080 0.000000000000 -vt 0.382902741432 0.557026267052 0.000000000000 -vt 0.154217123985 0.713813722134 0.000000000000 -vt 0.157158553600 0.710084676743 0.000000000000 -vt 0.139992043376 0.697338879108 0.000000000000 -vt 0.145032361150 0.694776415825 0.000000000000 -vt 0.129598200321 0.676885545254 0.000000000000 -vt 0.133522659540 0.676785171032 0.000000000000 -vt 0.121781267226 0.655710399151 0.000000000000 -vt 0.125936508179 0.658108294010 0.000000000000 -vt 0.117115393281 0.636653959751 0.000000000000 -vt 0.121172465384 0.637733101845 0.000000000000 -vt 0.116183921695 0.616349458694 0.000000000000 -vt 0.120485514402 0.618173420429 0.000000000000 -vt 0.084196135402 0.636717438698 0.000000000000 -vt 0.084505945444 0.617743194103 0.000000000000 -vt 0.089589498937 0.618903636932 0.000000000000 -vt 0.089312784374 0.636993050575 0.000000000000 -vt 0.080862037838 0.637916862965 0.000000000000 -vt 0.081022799015 0.618841469288 0.000000000000 -vt 0.085008040071 0.598570287228 0.000000000000 -vt 0.090116359293 0.599607348442 0.000000000000 -vt 0.081807009876 0.598996996880 0.000000000000 -vt 0.086025521159 0.666380286217 0.000000000000 -vt 0.083288080990 0.667724907398 0.000000000000 -vt 0.115721911192 0.657637059689 0.000000000000 -vt 0.091839924455 0.665398180485 0.000000000000 -vt 0.112071022391 0.636431932449 0.000000000000 -vt 0.116621181369 0.598775207996 0.000000000000 -vt 0.122074656188 0.598256886005 0.000000000000 -vt 0.117822155356 0.580991744995 0.000000000000 -vt 0.122807092965 0.579663336277 0.000000000000 -vt 0.118204921484 0.561226546764 0.000000000000 -vt 0.122930236161 0.561480045319 0.000000000000 -vt 0.086409181356 0.580696821213 0.000000000000 -vt 0.088303416967 0.563481450081 0.000000000000 -vt 0.092769816518 0.562017738819 0.000000000000 -vt 0.090972624719 0.580980956554 0.000000000000 -vt 0.112636163831 0.581119179726 0.000000000000 -vt 0.110782906413 0.597800493240 0.000000000000 -vt 0.092613331974 0.689584314823 0.000000000000 -vt 0.099071905017 0.688045859337 0.000000000000 -vt 0.108099728823 0.710213482380 0.000000000000 -vt 0.102641746402 0.710727512836 0.000000000000 -vt 0.099205419421 0.711480677128 0.000000000000 -vt 0.090210475028 0.691667914391 0.000000000000 -vt 0.112440273166 0.725039958954 0.000000000000 -vt 0.109685271978 0.733518600464 0.000000000000 -vt 0.120316430926 0.724148333073 0.000000000000 -vt 0.149469718337 0.716144502163 0.000000000000 -vt 0.083509407938 0.581079363823 0.000000000000 -vt 0.085539408028 0.563082933426 0.000000000000 -vt 0.091403126717 0.541651070118 0.000000000000 -vt 0.135661408305 0.562481999397 0.000000000000 -vt 0.112166255713 0.617554724216 0.000000000000 -vt 0.115233764052 0.561244547367 0.000000000000 -vt 0.124406136572 0.679192543030 0.000000000000 -vt 0.135345742106 0.699786543846 0.000000000000 -vt 0.124257989228 0.753876924515 0.000000000000 -vt 0.128552585840 0.751157760620 0.000000000000 -vt 0.165847733617 0.731854498386 0.000000000000 -vt 0.135802805424 0.748261570930 0.000000000000 -vt 0.166685536504 0.724866151810 0.000000000000 -vt 0.170482099056 0.722631275654 0.000000000000 -vt 0.118092343211 0.538387894630 0.000000000000 -vt 0.120958782732 0.537692189217 0.000000000000 -vt 0.098085269332 0.540873169899 0.000000000000 -vt 0.094365492463 0.541822671890 0.000000000000 -vt 0.132603570819 0.540962100029 0.000000000000 -vt 0.113834425807 0.538623392582 0.000000000000 -vt 0.319482028484 0.899047315121 0.000000000000 -vt 0.309817373753 0.903006970882 0.000000000000 -vt 0.303308844566 0.883904874325 0.000000000000 -vt 0.314649820328 0.880987823009 0.000000000000 -vt 0.328109025955 0.880558192730 0.000000000000 -vt 0.328658103943 0.897744834423 0.000000000000 -vt 0.341684728861 0.882348120213 0.000000000000 -vt 0.338721781969 0.899649322033 0.000000000000 -vt 0.355538994074 0.885123133659 0.000000000000 -vt 0.346919715405 0.902684092522 0.000000000000 -vt 0.264496624470 0.923883795738 0.000000000000 -vt 0.285223543644 0.930731534958 0.000000000000 -vt 0.267435461283 0.909074544907 0.000000000000 -vt 0.288075894117 0.921931266785 0.000000000000 -vt 0.274401426315 0.897557139397 0.000000000000 -vt 0.292297661304 0.914312303066 0.000000000000 -vt 0.287088751793 0.890229046345 0.000000000000 -vt 0.300147175789 0.908530831337 0.000000000000 -vt 0.310877472162 0.867308914661 0.000000000000 -vt 0.326778471470 0.865757822990 0.000000000000 -vt 0.343281567097 0.865718007088 0.000000000000 -vt 0.361255347729 0.866305887699 0.000000000000 -vt 0.245798677206 0.914549648762 0.000000000000 -vt 0.250797957182 0.897025287151 0.000000000000 -vt 0.263053983450 0.883340418339 0.000000000000 -vt 0.278658270836 0.875975549221 0.000000000000 -vt 0.297883272171 0.872081577778 0.000000000000 -vt 0.321375846863 0.908167660236 0.000000000000 -vt 0.313384771347 0.911024928093 0.000000000000 -vt 0.312286227942 0.907532513142 0.000000000000 -vt 0.320597171783 0.903883635998 0.000000000000 -vt 0.329484283924 0.906974732876 0.000000000000 -vt 0.329025387764 0.902560055256 0.000000000000 -vt 0.335602283478 0.907388985157 0.000000000000 -vt 0.336900919676 0.903732657433 0.000000000000 -vt 0.340975165367 0.909342050552 0.000000000000 -vt 0.344243913889 0.905984163284 0.000000000000 -vt 0.292275160551 0.931756854057 0.000000000000 -vt 0.288374781609 0.931339025497 0.000000000000 -vt 0.294533699751 0.926007986069 0.000000000000 -vt 0.291681826115 0.923927128315 0.000000000000 -vt 0.298611998558 0.919755756855 0.000000000000 -vt 0.295432448387 0.917401850224 0.000000000000 -vt 0.304809689522 0.915081322193 0.000000000000 -vt 0.302478045225 0.912388324738 0.000000000000 -vt 0.309649169445 0.859347939491 0.000000000000 -vt 0.325541138649 0.857225894928 0.000000000000 -vt 0.326330006123 0.861102938652 0.000000000000 -vt 0.309487581253 0.863262355328 0.000000000000 -vt 0.341508537531 0.857451260090 0.000000000000 -vt 0.343136012554 0.863369047642 0.000000000000 -vt 0.356366693974 0.855853736401 0.000000000000 -vt 0.360483229160 0.861095964909 0.000000000000 -vt 0.237906411290 0.910131931305 0.000000000000 -vt 0.242411300540 0.912403225899 0.000000000000 -vt 0.243345454335 0.892147541046 0.000000000000 -vt 0.247076600790 0.894490242004 0.000000000000 -vt 0.255101680756 0.878566741943 0.000000000000 -vt 0.258435934782 0.881105363369 0.000000000000 -vt 0.274271398783 0.868584036827 0.000000000000 -vt 0.276469051838 0.872065901756 0.000000000000 -vt 0.295189887285 0.862639725208 0.000000000000 -vt 0.297131747007 0.866627097130 0.000000000000 -vt 0.264509558678 0.939163446426 0.000000000000 -vt 0.284231007099 0.939391553402 0.000000000000 -vt 0.245086982846 0.933630704880 0.000000000000 -vt 0.292607039213 0.937922894955 0.000000000000 -vt 0.288247227669 0.939458549023 0.000000000000 -vt 0.234031543136 0.927958786488 0.000000000000 -vt 0.239948898554 0.931120336056 0.000000000000 -vt 0.303108215332 0.259901374578 0.000000000000 -vt 0.299691259861 0.272608458996 0.000000000000 -vt 0.227741092443 0.179622754455 0.000000000000 -vt 0.241408705711 0.177819043398 0.000000000000 -vt 0.288645803928 0.272444993258 0.000000000000 -vt 0.249047771096 0.186873659492 0.000000000000 -vt 0.294585645199 0.259171187878 0.000000000000 -vt 0.304501682520 0.254701167345 0.000000000000 -vt 0.313444852829 0.253634393215 0.000000000000 -vt 0.312482535839 0.259582310915 0.000000000000 -vt 0.296862632036 0.254683613777 0.000000000000 -vt 0.286406427622 0.256932258606 0.000000000000 -vt 0.289906680584 0.252584934235 0.000000000000 -vt 0.279214531183 0.252052009106 0.000000000000 -vt 0.283777058125 0.248220309615 0.000000000000 -vt 0.278458207846 0.270513832569 0.000000000000 -vt 0.212318181992 0.149050965905 0.000000000000 -vt 0.220562011003 0.146735697985 0.000000000000 -vt 0.222703933716 0.152291625738 0.000000000000 -vt 0.213263839483 0.154687494040 0.000000000000 -vt 0.203408792615 0.155836462975 0.000000000000 -vt 0.203189268708 0.150103569031 0.000000000000 -vt 0.193548575044 0.156050369143 0.000000000000 -vt 0.193696498871 0.150199025869 0.000000000000 -vt 0.183689251542 0.155369937420 0.000000000000 -vt 0.184210494161 0.149640426040 0.000000000000 -vt 0.193191483617 0.169719755650 0.000000000000 -vt 0.182228907943 0.169336318970 0.000000000000 -vt 0.268187999725 0.265260279179 0.000000000000 -vt 0.324253201485 0.252125859261 0.000000000000 -vt 0.231818437576 0.195312470198 0.000000000000 -vt 0.212309181690 0.181552782655 0.000000000000 -vt 0.213149681687 0.200687378645 0.000000000000 -vt 0.197734892368 0.182133242488 0.000000000000 -vt 0.196059510112 0.201420485973 0.000000000000 -vt 0.178108111024 0.197619631886 0.000000000000 -vt 0.184773385525 0.179257780313 0.000000000000 -vt 0.193671286106 0.220274075866 0.000000000000 -vt 0.204073458910 0.169701069593 0.000000000000 -vt 0.171984791756 0.217511638999 0.000000000000 -vt 0.196902945638 0.242536947131 0.000000000000 -vt 0.323984831572 0.258038192987 0.000000000000 -vt 0.310539454222 0.271224856377 0.000000000000 -vt 0.324096947908 0.268115252256 0.000000000000 -vt 0.339193135500 0.265587210655 0.000000000000 -vt 0.336792320013 0.254855424166 0.000000000000 -vt 0.340972989798 0.271843373775 0.000000000000 -vt 0.325516790152 0.274833887815 0.000000000000 -vt 0.313507229090 0.275261014700 0.000000000000 -vt 0.171768411994 0.240901872516 0.000000000000 -vt 0.215576186776 0.241010859609 0.000000000000 -vt 0.215113937855 0.219385609031 0.000000000000 -vt 0.179179176688 0.179597318172 0.000000000000 -vt 0.354237109423 0.261272788048 0.000000000000 -vt 0.356365293264 0.266201436520 0.000000000000 -vt 0.348684787750 0.251001656055 0.000000000000 -vt 0.335720360279 0.249260529876 0.000000000000 -vt 0.346057444811 0.245707139373 0.000000000000 -vt 0.367124110460 0.254228800535 0.000000000000 -vt 0.359250634909 0.246444091201 0.000000000000 -vt 0.355434030294 0.241601213813 0.000000000000 -vt 0.369936972857 0.258326172829 0.000000000000 -vt 0.169737070799 0.113030180335 0.000000000000 -vt 0.170575097203 0.120991900563 0.000000000000 -vt 0.297219276428 0.135332033038 0.000000000000 -vt 0.283211469650 0.234442397952 0.000000000000 -vt 0.292599529028 0.237945362926 0.000000000000 -vt 0.298478573561 0.140298739076 0.000000000000 -vt 0.290076673031 0.243708446622 0.000000000000 -vt 0.282434672117 0.239781066775 0.000000000000 -vt 0.305352568626 0.241858348250 0.000000000000 -vt 0.303028285503 0.248206838965 0.000000000000 -vt 0.324729174376 0.241821423173 0.000000000000 -vt 0.321562141180 0.249174103141 0.000000000000 -vt 0.347120851278 0.237402305007 0.000000000000 -vt 0.343635231256 0.232021078467 0.000000000000 -vt 0.357544183731 0.220489770174 0.000000000000 -vt 0.362244993448 0.226528212428 0.000000000000 -vt 0.363515973091 0.202669411898 0.000000000000 -vt 0.368934571743 0.200474381447 0.000000000000 -vt 0.344842731953 0.210690349340 0.000000000000 -vt 0.342417836189 0.185361966491 0.000000000000 -vt 0.364349514246 0.181216180325 0.000000000000 -vt 0.324543416500 0.218253985047 0.000000000000 -vt 0.321842014790 0.191119849682 0.000000000000 -vt 0.337232500315 0.165248394012 0.000000000000 -vt 0.356791496277 0.164284512401 0.000000000000 -vt 0.332506477833 0.147537469864 0.000000000000 -vt 0.347481101751 0.153085976839 0.000000000000 -vt 0.318637371063 0.169776722789 0.000000000000 -vt 0.312718063593 0.146633028984 0.000000000000 -vt 0.370308697224 0.181861028075 0.000000000000 -vt 0.360243141651 0.161985456944 0.000000000000 -vt 0.304652988911 0.221441268921 0.000000000000 -vt 0.303939700127 0.197721183300 0.000000000000 -vt 0.289470791817 0.148055776954 0.000000000000 -vt 0.285560518503 0.142270863056 0.000000000000 -vt 0.291176348925 0.221764370799 0.000000000000 -vt 0.288291871548 0.203909799457 0.000000000000 -vt 0.276085317135 0.156505629420 0.000000000000 -vt 0.272780030966 0.150750204921 0.000000000000 -vt 0.258125126362 0.158074513078 0.000000000000 -vt 0.260224252939 0.163233041763 0.000000000000 -vt 0.243465483189 0.162214890122 0.000000000000 -vt 0.243714034557 0.151190385222 0.000000000000 -vt 0.254636585712 0.146920993924 0.000000000000 -vt 0.229478836060 0.163604542613 0.000000000000 -vt 0.233701616526 0.153107583523 0.000000000000 -vt 0.167218700051 0.121271774173 0.000000000000 -vt 0.166369423270 0.112692907453 0.000000000000 -vt 0.243073940277 0.145069316030 0.000000000000 -vt 0.252761274576 0.141263067722 0.000000000000 -vt 0.263089358807 0.136896863580 0.000000000000 -vt 0.266313344240 0.141587063670 0.000000000000 -vt 0.277861565351 0.135119035840 0.000000000000 -vt 0.273413181305 0.131129965186 0.000000000000 -vt 0.282169669867 0.124930545688 0.000000000000 -vt 0.287077844143 0.128512978554 0.000000000000 -vt 0.289280533791 0.119594141841 0.000000000000 -vt 0.293950706720 0.122467115521 0.000000000000 -vt 0.168387711048 0.136361449957 0.000000000000 -vt 0.172123029828 0.133879333735 0.000000000000 -vt 0.159614548087 0.137594163418 0.000000000000 -vt 0.170139640570 0.142349898815 0.000000000000 -vt 0.159916698933 0.145990878344 0.000000000000 -vt 0.175263956189 0.137986391783 0.000000000000 -vt 0.158946737647 0.121140733361 0.000000000000 -vt 0.158538520336 0.111063912511 0.000000000000 -vt 0.150848120451 0.113286182284 0.000000000000 -vt 0.147537663579 0.113875642419 0.000000000000 -vt 0.150810301304 0.122010722756 0.000000000000 -vt 0.150818631053 0.137049511075 0.000000000000 -vt 0.146893724799 0.134909197688 0.000000000000 -vt 0.234794318676 0.147171825171 0.000000000000 -vt 0.280413031578 0.223018944263 0.000000000000 -vt 0.244322419167 0.167136326432 0.000000000000 -vt 0.215430051088 0.169227793813 0.000000000000 -vt 0.276956439018 0.210102006793 0.000000000000 -vt 0.230842590332 0.168110579252 0.000000000000 -vt 0.304748684168 0.128483712673 0.000000000000 -vt 0.319317579269 0.112706646323 0.000000000000 -vt 0.304126799107 0.108920201659 0.000000000000 -vt 0.306201845407 0.100410684943 0.000000000000 -vt 0.324304103851 0.102940306067 0.000000000000 -vt 0.298506706953 0.108017548919 0.000000000000 -vt 0.227834999561 0.168783783913 0.000000000000 -vt 0.173827692866 0.153802856803 0.000000000000 -vt 0.164431959391 0.150985270739 0.000000000000 -vt 0.166879624128 0.145447134972 0.000000000000 -vt 0.175091713667 0.148140892386 0.000000000000 -vt 0.170737877488 0.168616726995 0.000000000000 -vt 0.158358171582 0.168257147074 0.000000000000 -vt 0.171079888940 0.173917546868 0.000000000000 -vt 0.298551976681 0.176225617528 0.000000000000 -vt 0.284409761429 0.187349408865 0.000000000000 -vt 0.278388887644 0.172707334161 0.000000000000 -vt 0.265587240458 0.188653051853 0.000000000000 -vt 0.263487190008 0.183533251286 0.000000000000 -vt 0.172304287553 0.195576354861 0.000000000000 -vt 0.166341051459 0.215843468904 0.000000000000 -vt 0.246410295367 0.175310358405 0.000000000000 -vt 0.253420293331 0.181435257196 0.000000000000 -vt 0.258993119001 0.199986010790 0.000000000000 -vt 0.238587737083 0.209960162640 0.000000000000 -vt 0.263290882111 0.194039210677 0.000000000000 -vt 0.244794785976 0.230162426829 0.000000000000 -vt 0.267062664032 0.219509899616 0.000000000000 -vt 0.265724569559 0.241132006049 0.000000000000 -vt 0.247063919902 0.252580881119 0.000000000000 -vt 0.260249704123 0.258537381887 0.000000000000 -vt 0.247949019074 0.272692441940 0.000000000000 -vt 0.271840006113 0.241458699107 0.000000000000 -vt 0.267441391945 0.259758830070 0.000000000000 -vt 0.274886131287 0.221160054207 0.000000000000 -vt 0.248786136508 0.278353273869 0.000000000000 -vt 0.233543574810 0.288995474577 0.000000000000 -vt 0.228813290596 0.284420073032 0.000000000000 -vt 0.222581654787 0.263455659151 0.000000000000 -vt 0.201069429517 0.264848470688 0.000000000000 -vt 0.147332772613 0.121980324388 0.000000000000 -vt 0.149485930800 0.143096730113 0.000000000000 -vt 0.144085362554 0.139203354716 0.000000000000 -vt 0.274613022804 0.168164387345 0.000000000000 -vt 0.272586405277 0.198066562414 0.000000000000 -vt 0.292887955904 0.156603798270 0.000000000000 -vt 0.289811223745 0.151691362262 0.000000000000 -vt 0.308121502399 0.141383305192 0.000000000000 -vt 0.331666439772 0.141558468342 0.000000000000 -vt 0.346801817417 0.147019162774 0.000000000000 -vt 0.208444163203 0.284849673510 0.000000000000 -vt 0.207779288292 0.289209812880 0.000000000000 -vt 0.329524755478 0.248061582446 0.000000000000 -vt 0.180802538991 0.263033509254 0.000000000000 -vt 0.364997059107 0.218376457691 0.000000000000 -vt 0.185599476099 0.280001878738 0.000000000000 -vt 0.174449339509 0.263261795044 0.000000000000 -vt 0.192701548338 0.278811007738 0.000000000000 -vt 0.367429643869 0.175568386912 0.000000000000 -vt 0.166094049811 0.244550302625 0.000000000000 -vt 0.159377232194 0.173221364617 0.000000000000 -vt 0.182153701782 0.175170764327 0.000000000000 -vt 0.193075969815 0.175665423274 0.000000000000 -vt 0.313833713531 0.139958515763 0.000000000000 -vt 0.352484732866 0.149898454547 0.000000000000 -vt 0.203923046589 0.175497695804 0.000000000000 -vt 0.214893281460 0.174428433180 0.000000000000 -vt 0.226242244244 0.173432335258 0.000000000000 -vt 0.378087341785 0.245563969016 0.000000000000 -vt 0.380262136459 0.249743267894 0.000000000000 -vt 0.367841005325 0.240881398320 0.000000000000 -vt 0.362897038460 0.237351402640 0.000000000000 -vt 0.300132334232 0.100594177842 0.000000000000 -vt 0.299615830183 0.116130575538 0.000000000000 -vt 0.294845253229 0.114346668124 0.000000000000 -vt 0.312476694584 0.120818093419 0.000000000000 -vt 0.262099564075 0.265859633684 0.000000000000 -vt 0.271560132504 0.212059065700 0.000000000000 -vt 0.224148511887 0.289957106113 0.000000000000 -vt 0.191555723548 0.285657763481 0.000000000000 -vt 0.165448531508 0.236725702882 0.000000000000 -vt 0.048055123538 0.175203412771 0.000000000000 -vt 0.048704918474 0.175287619233 0.000000000000 -vt 0.049519758672 0.175945073366 0.000000000000 -vt 0.048962052912 0.176530927420 0.000000000000 -vt 0.048142258078 0.174550458789 0.000000000000 -vt 0.048840459436 0.174907326698 0.000000000000 -vt 0.048184361309 0.177168339491 0.000000000000 -vt 0.047785613686 0.175479233265 0.000000000000 -vt 0.050077687949 0.175508722663 0.000000000000 -vt 0.049611847848 0.173526674509 0.000000000000 -vt 0.050155591220 0.174321472645 0.000000000000 -vt 0.050484325737 0.174935474992 0.000000000000 -vt 0.049262631685 0.178634554148 0.000000000000 -vt 0.050630893558 0.177782341838 0.000000000000 -vt 0.053486991674 0.179326459765 0.000000000000 -vt 0.051250975579 0.172665014863 0.000000000000 -vt 0.052335549146 0.174432024360 0.000000000000 -vt 0.052290286869 0.172393932939 0.000000000000 -vt 0.060022119433 0.196368679404 0.000000000000 -vt 0.059825789183 0.195150136948 0.000000000000 -vt 0.062848724425 0.193425223231 0.000000000000 -vt 0.063640370965 0.194470614195 0.000000000000 -vt 0.057444769889 0.198157310486 0.000000000000 -vt 0.061123806983 0.204831123352 0.000000000000 -vt 0.054434444755 0.202152684331 0.000000000000 -vt 0.052125032991 0.196384206414 0.000000000000 -vt 0.065405808389 0.200892046094 0.000000000000 -vt 0.053650680929 0.194501906633 0.000000000000 -vt 0.071322210133 0.182865217328 0.000000000000 -vt 0.069051973522 0.180266022682 0.000000000000 -vt 0.072467572987 0.177512601018 0.000000000000 -vt 0.073771677911 0.182455211878 0.000000000000 -vt 0.046373885125 0.201640009880 0.000000000000 -vt 0.047620352358 0.205844104290 0.000000000000 -vt 0.044672172517 0.207344532013 0.000000000000 -vt 0.043322812766 0.201532378793 0.000000000000 -vt 0.048094075173 0.197172701359 0.000000000000 -vt 0.050799090415 0.203515991569 0.000000000000 -vt 0.043212261051 0.193465515971 0.000000000000 -vt 0.038478370756 0.209311038256 0.000000000000 -vt 0.037481162697 0.210909873247 0.000000000000 -vt 0.035782586783 0.208673626184 0.000000000000 -vt 0.036327917129 0.206941053271 0.000000000000 -vt 0.038885008544 0.211182534695 0.000000000000 -vt 0.037817772478 0.205236405134 0.000000000000 -vt 0.037915710360 0.216193586588 0.000000000000 -vt 0.036525826901 0.213128775358 0.000000000000 -vt 0.033292595297 0.211684182286 0.000000000000 -vt 0.032988864928 0.209396824241 0.000000000000 -vt 0.044357400388 0.213697507977 0.000000000000 -vt 0.040415156633 0.211841553450 0.000000000000 -vt 0.041487347335 0.208158016205 0.000000000000 -vt 0.042062167078 0.222331538796 0.000000000000 -vt 0.039700064808 0.219182297587 0.000000000000 -vt 0.046859998256 0.219299152493 0.000000000000 -vt 0.039277669042 0.216008275747 0.000000000000 -vt 0.090955741704 0.182833924890 0.000000000000 -vt 0.095942027867 0.185236781836 0.000000000000 -vt 0.091125510633 0.186936691403 0.000000000000 -vt 0.090062774718 0.185735270381 0.000000000000 -vt 0.091737933457 0.190855517983 0.000000000000 -vt 0.087909393013 0.188273668289 0.000000000000 -vt 0.096602633595 0.188918739557 0.000000000000 -vt 0.094589523971 0.190106213093 0.000000000000 -vt 0.088805288076 0.195824697614 0.000000000000 -vt 0.085034608841 0.192018002272 0.000000000000 -vt 0.037808310241 0.218160092831 0.000000000000 -vt 0.101674705744 0.180272325873 0.000000000000 -vt 0.108147457242 0.181930154562 0.000000000000 -vt 0.084888033569 0.212164208293 0.000000000000 -vt 0.086827971041 0.209401324391 0.000000000000 -vt 0.092867530882 0.213331192732 0.000000000000 -vt 0.090507008135 0.217772141099 0.000000000000 -vt 0.078402668238 0.211174651980 0.000000000000 -vt 0.081946156919 0.206284955144 0.000000000000 -vt 0.064126476645 0.226784884930 0.000000000000 -vt 0.059163603932 0.221614643931 0.000000000000 -vt 0.063531167805 0.218933045864 0.000000000000 -vt 0.066850177944 0.224536255002 0.000000000000 -vt 0.058718021959 0.224759161472 0.000000000000 -vt 0.052740599960 0.222449973226 0.000000000000 -vt 0.051313344389 0.218079030514 0.000000000000 -vt 0.056304361671 0.215266615152 0.000000000000 -vt 0.052650313824 0.225943475962 0.000000000000 -vt 0.101671561599 0.191067621112 0.000000000000 -vt 0.102857217193 0.187916800380 0.000000000000 -vt 0.090246729553 0.206087037921 0.000000000000 -vt 0.085568904877 0.202257156372 0.000000000000 -vt 0.091549478471 0.199667423964 0.000000000000 -vt 0.092842765152 0.201647892594 0.000000000000 -vt 0.092551417649 0.205803573132 0.000000000000 -vt 0.094774819911 0.209103897214 0.000000000000 -vt 0.094059728086 0.210680663586 0.000000000000 -vt 0.095144078135 0.195538073778 0.000000000000 -vt 0.099691078067 0.194344520569 0.000000000000 -vt 0.099405810237 0.196164458990 0.000000000000 -vt 0.099158152938 0.198102816939 0.000000000000 -vt 0.095910727978 0.198648139834 0.000000000000 -vt 0.040310692042 0.223760381341 0.000000000000 -vt 0.038051482290 0.225095763803 0.000000000000 -vt 0.039297934622 0.221828088164 0.000000000000 -vt 0.048715729266 0.226211413741 0.000000000000 -vt 0.048271726817 0.223471954465 0.000000000000 -vt 0.054012056440 0.227152556181 0.000000000000 -vt 0.051328878850 0.229439899325 0.000000000000 -vt 0.050317708403 0.229129895568 0.000000000000 -vt 0.048270147294 0.228640601039 0.000000000000 -vt 0.040398042649 0.225845307112 0.000000000000 -vt 0.043110940605 0.225429221988 0.000000000000 -vt 0.043746557087 0.226806730032 0.000000000000 -vt 0.041524719447 0.227182060480 0.000000000000 -vt 0.039583209902 0.227637097239 0.000000000000 -vt 0.037672769278 0.226903319359 0.000000000000 -vt 0.033523153514 0.225719004869 0.000000000000 -vt 0.036088127643 0.224684417248 0.000000000000 -vt 0.036136310548 0.226817533374 0.000000000000 -vt 0.034433234483 0.227448642254 0.000000000000 -vt 0.027782825753 0.229924663901 0.000000000000 -vt 0.030765233561 0.223758801818 0.000000000000 -vt 0.030333613977 0.231470361352 0.000000000000 -vt 0.110832214355 0.191612944007 0.000000000000 -vt 0.111078530550 0.184968620539 0.000000000000 -vt 0.106155976653 0.192477762699 0.000000000000 -vt 0.041945312172 0.228952214122 0.000000000000 -vt 0.038930263370 0.230628952384 0.000000000000 -vt 0.041834760457 0.232057794929 0.000000000000 -vt 0.044282648712 0.228836938739 0.000000000000 -vt 0.044818740338 0.232165411115 0.000000000000 -vt 0.039072107524 0.234580442309 0.000000000000 -vt 0.036424513906 0.232783898711 0.000000000000 -vt 0.106855750084 0.201680526137 0.000000000000 -vt 0.103606760502 0.198020190001 0.000000000000 -vt 0.104195758700 0.196577385068 0.000000000000 -vt 0.107200011611 0.198694974184 0.000000000000 -vt 0.109750792384 0.200388818979 0.000000000000 -vt 0.109513923526 0.203364923596 0.000000000000 -vt 0.105775907636 0.203093826771 0.000000000000 -vt 0.102690592408 0.199908792973 0.000000000000 -vt 0.050538811833 0.243682101369 0.000000000000 -vt 0.048396233469 0.240920796990 0.000000000000 -vt 0.048424374312 0.237581744790 0.000000000000 -vt 0.051719974726 0.241248175502 0.000000000000 -vt 0.046845819801 0.239993855357 0.000000000000 -vt 0.108550950885 0.195103302598 0.000000000000 -vt 0.107877954841 0.196638181806 0.000000000000 -vt 0.104663178325 0.194704324007 0.000000000000 -vt 0.111446216702 0.196098938584 0.000000000000 -vt 0.110371097922 0.198414430022 0.000000000000 -vt 0.033939246088 0.229781255126 0.000000000000 -vt 0.032943610102 0.235806867480 0.000000000000 -vt 0.036778222769 0.228347703815 0.000000000000 -vt 0.026748239994 0.237935468554 0.000000000000 -vt 0.029005868360 0.239583835006 0.000000000000 -vt 0.024600934237 0.235979780555 0.000000000000 -vt 0.036203410476 0.237542793155 0.000000000000 -vt 0.047933544964 0.242292001843 0.000000000000 -vt 0.048371467739 0.243713185191 0.000000000000 -vt 0.047026615590 0.242233023047 0.000000000000 -vt 0.047408472747 0.243272319436 0.000000000000 -vt 0.112042874098 0.199774816632 0.000000000000 -vt 0.112708196044 0.198945805430 0.000000000000 -vt 0.112421587110 0.201317355037 0.000000000000 -vt 0.115999296308 0.201012045145 0.000000000000 -vt 0.047676410526 0.245324388146 0.000000000000 -vt 0.046835009009 0.243697628379 0.000000000000 -vt 0.046366009861 0.242653593421 0.000000000000 -vt 0.116282775998 0.196683213115 0.000000000000 -vt 0.054629202932 0.245314940810 0.000000000000 -vt 0.055006336421 0.243421837687 0.000000000000 -vt 0.054401572794 0.246826633811 0.000000000000 -vt 0.049971643835 0.245547279716 0.000000000000 -vt 0.045614894480 0.244002953172 0.000000000000 -vt 0.046210203320 0.243990585208 0.000000000000 -vt 0.046083893627 0.245279118419 0.000000000000 -vt 0.044977705926 0.244760379195 0.000000000000 -vt 0.044843737036 0.243163123727 0.000000000000 -vt 0.045724090189 0.242940440774 0.000000000000 -vt 0.044279497117 0.243847146630 0.000000000000 -vt 0.042543780059 0.243463918567 0.000000000000 -vt 0.042998816818 0.241575345397 0.000000000000 -vt 0.043060954660 0.245589390397 0.000000000000 -vt 0.050320636481 0.250064343214 0.000000000000 -vt 0.046863149852 0.247579082847 0.000000000000 -vt 0.044486861676 0.247248783708 0.000000000000 -vt 0.115950897336 0.205869093537 0.000000000000 -vt 0.111902818084 0.203687563539 0.000000000000 -vt 0.067590266466 0.245651528239 0.000000000000 -vt 0.060156088322 0.247964099050 0.000000000000 -vt 0.059522051364 0.246006831527 0.000000000000 -vt 0.064255714417 0.241894826293 0.000000000000 -vt 0.075842648745 0.243643149734 0.000000000000 -vt 0.076406665146 0.251217573881 0.000000000000 -vt 0.068737201393 0.251990318298 0.000000000000 -vt 0.061447802931 0.252729058266 0.000000000000 -vt 0.101252302527 0.229214087129 0.000000000000 -vt 0.107055231929 0.225204750896 0.000000000000 -vt 0.110550090671 0.228503510356 0.000000000000 -vt 0.103125378489 0.234605416656 0.000000000000 -vt 0.093981824815 0.227124422789 0.000000000000 -vt 0.102826148272 0.221592798829 0.000000000000 -vt 0.093353867531 0.237001970410 0.000000000000 -vt 0.031605061144 0.248132273555 0.000000000000 -vt 0.033780287951 0.241846427321 0.000000000000 -vt 0.038934987038 0.242647275329 0.000000000000 -vt 0.038883429021 0.246692433953 0.000000000000 -vt 0.040764149278 0.250432223082 0.000000000000 -vt 0.034480068833 0.253740221262 0.000000000000 -vt 0.026098441333 0.256615221500 0.000000000000 -vt 0.024784889072 0.253078043461 0.000000000000 -vt 0.027103310451 0.246195510030 0.000000000000 -vt 0.022952351719 0.252045035362 0.000000000000 -vt 0.043932076544 0.254584789276 0.000000000000 -vt 0.049854788929 0.255521208048 0.000000000000 -vt 0.035871531814 0.256568402052 0.000000000000 -vt 0.127526775002 0.205384328961 0.000000000000 -vt 0.129298523068 0.208109617233 0.000000000000 -vt 0.124919943511 0.212541341782 0.000000000000 -vt 0.122282020748 0.208313822746 0.000000000000 -vt 0.130605995655 0.199026852846 0.000000000000 -vt 0.134021386504 0.202176094055 0.000000000000 -vt 0.123184211552 0.201524719596 0.000000000000 -vt 0.043590750545 0.262480288744 0.000000000000 -vt 0.045658569783 0.265317708254 0.000000000000 -vt 0.042624827474 0.268781721592 0.000000000000 -vt 0.040003802627 0.268262714148 0.000000000000 -vt 0.049783188850 0.260548025370 0.000000000000 -vt 0.050202202052 0.262952446938 0.000000000000 -vt 0.035101722926 0.267388671637 0.000000000000 -vt 0.036307651550 0.262090772390 0.000000000000 -vt 0.158384069800 0.177545472980 0.000000000000 -vt 0.163128763437 0.177713662386 0.000000000000 -vt 0.161081433296 0.184286177158 0.000000000000 -vt 0.155855119228 0.182891562581 0.000000000000 -vt 0.030163845047 0.266456753016 0.000000000000 -vt 0.028748972341 0.262917995453 0.000000000000 -vt 0.152635857463 0.180741325021 0.000000000000 -vt 0.156146481633 0.174547314644 0.000000000000 -vt 0.108293592930 0.175105020404 0.000000000000 -vt 0.103180319071 0.172587782145 0.000000000000 -vt 0.102925881743 0.166502520442 0.000000000000 -vt 0.107659325004 0.167699888349 0.000000000000 -vt 0.091472923756 0.255974650383 0.000000000000 -vt 0.083825305104 0.257546931505 0.000000000000 -vt 0.084012404084 0.249293193221 0.000000000000 -vt 0.091871894896 0.246349737048 0.000000000000 -vt 0.112725540996 0.167742446065 0.000000000000 -vt 0.113225832582 0.171109184623 0.000000000000 -vt 0.035772006959 0.183283552527 0.000000000000 -vt 0.035782817751 0.183923900127 0.000000000000 -vt 0.033255446702 0.184070467949 0.000000000000 -vt 0.033405173570 0.183254063129 0.000000000000 -vt 0.038481753320 0.182127386332 0.000000000000 -vt 0.038974162191 0.182417154312 0.000000000000 -vt 0.034431885928 0.181669190526 0.000000000000 -vt 0.036685016006 0.180374324322 0.000000000000 -vt 0.144137382507 0.199537962675 0.000000000000 -vt 0.139657467604 0.194585889578 0.000000000000 -vt 0.144188717008 0.186229258776 0.000000000000 -vt 0.148093581200 0.188943728805 0.000000000000 -vt 0.136400818825 0.206110462546 0.000000000000 -vt 0.153703317046 0.190900772810 0.000000000000 -vt 0.151239663363 0.198920801282 0.000000000000 -vt 0.150279834867 0.205067992210 0.000000000000 -vt 0.143856838346 0.206392586231 0.000000000000 -vt 0.163417190313 0.198642060161 0.000000000000 -vt 0.164253860712 0.202018722892 0.000000000000 -vt 0.160158962011 0.199008166790 0.000000000000 -vt 0.162906080484 0.192356184125 0.000000000000 -vt 0.165629789233 0.191846653819 0.000000000000 -vt 0.028680523857 0.176149964333 0.000000000000 -vt 0.028775541112 0.179067075253 0.000000000000 -vt 0.027133254334 0.179045230150 0.000000000000 -vt 0.026841904968 0.175766751170 0.000000000000 -vt 0.107328131795 0.163071155548 0.000000000000 -vt 0.102894365788 0.161774039268 0.000000000000 -vt 0.103162080050 0.158067077398 0.000000000000 -vt 0.107190564275 0.158765062690 0.000000000000 -vt 0.034622143954 0.168636307120 0.000000000000 -vt 0.034757684916 0.167032986879 0.000000000000 -vt 0.037417437881 0.167039290071 0.000000000000 -vt 0.036150719970 0.169255033135 0.000000000000 -vt 0.032856475562 0.170001432300 0.000000000000 -vt 0.031410526484 0.168317034841 0.000000000000 -vt 0.071371294558 0.162234246731 0.000000000000 -vt 0.072683498263 0.160097971559 0.000000000000 -vt 0.074752002954 0.160783797503 0.000000000000 -vt 0.072475455701 0.163342237473 0.000000000000 -vt 0.070219628513 0.164971008897 0.000000000000 -vt 0.067989014089 0.162172779441 0.000000000000 -vt 0.070951156318 0.158560618758 0.000000000000 -vt 0.071128129959 0.166468963027 0.000000000000 -vt 0.069623641670 0.166651114821 0.000000000000 -vt 0.052506666631 0.160904929042 0.000000000000 -vt 0.057779353112 0.165149331093 0.000000000000 -vt 0.056724499911 0.167911082506 0.000000000000 -vt 0.050493102521 0.165551453829 0.000000000000 -vt 0.060259658843 0.168007910252 0.000000000000 -vt 0.059231828898 0.159990578890 0.000000000000 -vt 0.061392862350 0.158380940557 0.000000000000 -vt 0.063771635294 0.161536499858 0.000000000000 -vt 0.063607268035 0.163274914026 0.000000000000 -vt 0.055211450905 0.155678853393 0.000000000000 -vt 0.057744000107 0.153191789985 0.000000000000 -vt 0.058993611485 0.163293376565 0.000000000000 -vt 0.053434979171 0.158556342125 0.000000000000 -vt 0.064857780933 0.162417531013 0.000000000000 -vt 0.064824908972 0.161404550076 0.000000000000 -vt 0.031159481034 0.208711221814 0.000000000000 -vt 0.030880516395 0.210443794727 0.000000000000 -vt 0.029724342749 0.204800054431 0.000000000000 -vt 0.031837198883 0.204756379128 0.000000000000 -vt 0.128212377429 0.176210075617 0.000000000000 -vt 0.128955841064 0.177864745259 0.000000000000 -vt 0.126242950559 0.177906855941 0.000000000000 -vt 0.125418648124 0.176409572363 0.000000000000 -vt 0.129953056574 0.174939975142 0.000000000000 -vt 0.130758658051 0.176998347044 0.000000000000 -vt 0.121036924422 0.175653725863 0.000000000000 -vt 0.121420361102 0.178308978677 0.000000000000 -vt 0.123617418110 0.183743998408 0.000000000000 -vt 0.117588669062 0.183899804950 0.000000000000 -vt 0.115403994918 0.191726654768 0.000000000000 -vt 0.122710488737 0.192234605551 0.000000000000 -vt 0.123056329787 0.196519747376 0.000000000000 -vt 0.128924548626 0.189431414008 0.000000000000 -vt 0.129672512412 0.193513929844 0.000000000000 -vt 0.133775278926 0.185372322798 0.000000000000 -vt 0.134995400906 0.187966778874 0.000000000000 -vt 0.136989831924 0.191276341677 0.000000000000 -vt 0.139916166663 0.181990936399 0.000000000000 -vt 0.141775041819 0.183941915631 0.000000000000 -vt 0.145468041301 0.175736352801 0.000000000000 -vt 0.147888004780 0.177232280374 0.000000000000 -vt 0.149156302214 0.178392961621 0.000000000000 -vt 0.151406511664 0.170416608453 0.000000000000 -vt 0.153140649199 0.171435669065 0.000000000000 -vt 0.026889864355 0.258701503277 0.000000000000 -vt 0.148213580251 0.169269666076 0.000000000000 -vt 0.138399973512 0.180339202285 0.000000000000 -vt 0.143568634987 0.174784168601 0.000000000000 -vt 0.146306514740 0.170045778155 0.000000000000 -vt 0.137052193284 0.178213953972 0.000000000000 -vt 0.141616314650 0.173843026161 0.000000000000 -vt 0.144707694650 0.169350728393 0.000000000000 -vt 0.021730657667 0.250446200371 0.000000000000 -vt 0.024742785841 0.244501665235 0.000000000000 -vt 0.018961701542 0.249092146754 0.000000000000 -vt 0.022073570639 0.243767663836 0.000000000000 -vt 0.023706618696 0.235825523734 0.000000000000 -vt 0.027095658705 0.229019328952 0.000000000000 -vt 0.029609059915 0.222379729152 0.000000000000 -vt 0.030542327091 0.216693878174 0.000000000000 -vt 0.033057313412 0.217472910881 0.000000000000 -vt 0.087314084172 0.175335809588 0.000000000000 -vt 0.094248183072 0.178092375398 0.000000000000 -vt 0.092181935906 0.179499372840 0.000000000000 -vt 0.085963152349 0.177274391055 0.000000000000 -vt 0.081338465214 0.174150139093 0.000000000000 -vt 0.082193829119 0.172002837062 0.000000000000 -vt 0.076521947980 0.167970299721 0.000000000000 -vt 0.077380686998 0.167476311326 0.000000000000 -vt 0.081656381488 0.178617432714 0.000000000000 -vt 0.077681265771 0.174922868609 0.000000000000 -vt 0.087579086423 0.180975034833 0.000000000000 -vt 0.074853092432 0.169260442257 0.000000000000 -vt 0.079015091062 0.179725423455 0.000000000000 -vt 0.076188489795 0.181088745594 0.000000000000 -vt 0.074826754630 0.175708204508 0.000000000000 -vt 0.082938641310 0.183109730482 0.000000000000 -vt 0.078197099268 0.184789612889 0.000000000000 -vt 0.070867173374 0.171145886183 0.000000000000 -vt 0.073829539120 0.169667065144 0.000000000000 -vt 0.031271602958 0.196384206414 0.000000000000 -vt 0.033982921392 0.194425582886 0.000000000000 -vt 0.037058766931 0.199865102768 0.000000000000 -vt 0.034688781947 0.202102705836 0.000000000000 -vt 0.033738177270 0.202948838472 0.000000000000 -vt 0.030448889360 0.197130590677 0.000000000000 -vt 0.028569748625 0.198085710406 0.000000000000 -vt 0.036571081728 0.216693878174 0.000000000000 -vt 0.033219423145 0.214136794209 0.000000000000 -vt 0.035667311400 0.220581635833 0.000000000000 -vt 0.030702864751 0.212936937809 0.000000000000 -vt 0.037512231618 0.221022486687 0.000000000000 -vt 0.039851140231 0.198102816939 0.000000000000 -vt 0.041124176234 0.203433588147 0.000000000000 -vt 0.037788044661 0.191379234195 0.000000000000 -vt 0.041217606515 0.195904180408 0.000000000000 -vt 0.067828707397 0.174960240722 0.000000000000 -vt 0.038927104324 0.189132183790 0.000000000000 -vt 0.041049417108 0.184728831053 0.000000000000 -vt 0.043036188930 0.186458468437 0.000000000000 -vt 0.065335564315 0.175491616130 0.000000000000 -vt 0.064928933978 0.179175376892 0.000000000000 -vt 0.059944216162 0.177007809281 0.000000000000 -vt 0.060216885060 0.175005495548 0.000000000000 -vt 0.055878814310 0.175014957786 0.000000000000 -vt 0.064486503601 0.180831611156 0.000000000000 -vt 0.059665244073 0.178134486079 0.000000000000 -vt 0.055603001267 0.176066651940 0.000000000000 -vt 0.059327062219 0.179134845734 0.000000000000 -vt 0.054891061038 0.176806747913 0.000000000000 -vt 0.052252914757 0.175443425775 0.000000000000 -vt 0.054579224437 0.177642062306 0.000000000000 -vt 0.051933418959 0.176275372505 0.000000000000 -vt 0.054217841476 0.178369775414 0.000000000000 -vt 0.051375713199 0.176691457629 0.000000000000 -vt 0.058970417827 0.180060461164 0.000000000000 -vt 0.058582257479 0.180961072445 0.000000000000 -vt 0.057680051774 0.181828826666 0.000000000000 -vt 0.062502883375 0.183891922235 0.000000000000 -vt 0.061697278172 0.184658572078 0.000000000000 -vt 0.050166402012 0.187552273273 0.000000000000 -vt 0.051037531346 0.187452524900 0.000000000000 -vt 0.054431293160 0.193168088794 0.000000000000 -vt 0.049586858600 0.182190433145 0.000000000000 -vt 0.049161311239 0.182690724730 0.000000000000 -vt 0.048391725868 0.182542562485 0.000000000000 -vt 0.049334455281 0.187815472484 0.000000000000 -vt 0.048377547413 0.188716322184 0.000000000000 -vt 0.047788541764 0.182509928942 0.000000000000 -vt 0.046637099236 0.188832953572 0.000000000000 -vt 0.046065207571 0.182266756892 0.000000000000 -vt 0.047180842608 0.178921401501 0.000000000000 -vt 0.047978799790 0.180811345577 0.000000000000 -vt 0.042535897344 0.180803701282 0.000000000000 -vt 0.063310064375 0.188303396106 0.000000000000 -vt 0.064299397171 0.188258126378 0.000000000000 -vt 0.065667442977 0.187005370855 0.000000000000 -vt 0.067313097417 0.191977471113 0.000000000000 -vt 0.069538079202 0.197437480092 0.000000000000 -vt 0.067683927715 0.207009509206 0.000000000000 -vt 0.063888035715 0.210395619273 0.000000000000 -vt 0.073146872222 0.203862056136 0.000000000000 -vt 0.071523271501 0.214295744896 0.000000000000 -vt 0.073026858270 0.194442689419 0.000000000000 -vt 0.077325977385 0.201174154878 0.000000000000 -vt 0.081237144768 0.196533709764 0.000000000000 -vt 0.076219789684 0.190154388547 0.000000000000 -vt 0.081086061895 0.187698617578 0.000000000000 -vt 0.069806240499 0.189532741904 0.000000000000 -vt 0.071710377932 0.187683090568 0.000000000000 -vt 0.067168101668 0.185359716415 0.000000000000 -vt 0.069611258805 0.183986946940 0.000000000000 -vt 0.063944101334 0.182054877281 0.000000000000 -vt 0.063255354762 0.183039709926 0.000000000000 -vt 0.074488565326 0.222574487329 0.000000000000 -vt 0.069771796465 0.223591953516 0.000000000000 -vt 0.067730538547 0.216421216726 0.000000000000 -vt 0.060474004596 0.213022723794 0.000000000000 -vt 0.053378012031 0.208070665598 0.000000000000 -vt 0.057214211673 0.207134246826 0.000000000000 -vt 0.049100745469 0.211366251111 0.000000000000 -vt 0.064397566020 0.232721552253 0.000000000000 -vt 0.067054398358 0.233078405261 0.000000000000 -vt 0.070033647120 0.233986899257 0.000000000000 -vt 0.075478121638 0.233488187194 0.000000000000 -vt 0.081782467663 0.220023691654 0.000000000000 -vt 0.083951614797 0.230261281133 0.000000000000 -vt 0.084691703320 0.240565523505 0.000000000000 -vt 0.062245752662 0.239568278193 0.000000000000 -vt 0.061321716756 0.238784536719 0.000000000000 -vt 0.063168220222 0.233371362090 0.000000000000 -vt 0.063390895724 0.227339446545 0.000000000000 -vt 0.058965694159 0.225806355476 0.000000000000 -vt 0.050889376551 0.232737079263 0.000000000000 -vt 0.051590736955 0.236221358180 0.000000000000 -vt 0.050666701049 0.236511155963 0.000000000000 -vt 0.049805026501 0.232663914561 0.000000000000 -vt 0.049557130784 0.236889854074 0.000000000000 -vt 0.048572305590 0.232626542449 0.000000000000 -vt 0.052862185985 0.239495113492 0.000000000000 -vt 0.052227925509 0.240581259131 0.000000000000 -vt 0.055151116103 0.242463573813 0.000000000000 -vt 0.058518532664 0.242689415812 0.000000000000 -vt 0.058837804943 0.243750557303 0.000000000000 -vt 0.027835739776 0.198754191399 0.000000000000 -vt 0.102103173733 0.178665846586 0.000000000000 -vt 0.020530804992 0.243255212903 0.000000000000 -vt 0.017403624952 0.246614530683 0.000000000000 -vt 0.142661705613 0.167488694191 0.000000000000 -vt 0.138711810112 0.171222224832 0.000000000000 -vt 0.136936917901 0.169240176678 0.000000000000 -vt 0.140343055129 0.166225120425 0.000000000000 -vt 0.133923217654 0.174637824297 0.000000000000 -vt 0.132665947080 0.181584313512 0.000000000000 -vt 0.128641068935 0.183620840311 0.000000000000 -vt 0.132804647088 0.173296123743 0.000000000000 -vt 0.065053895116 0.163422614336 0.000000000000 -vt 0.063069596887 0.163681775331 0.000000000000 -vt 0.064668200910 0.167430609465 0.000000000000 -vt 0.063209198415 0.168160781264 0.000000000000 -vt 0.063756324351 0.165098443627 0.000000000000 -vt 0.065168723464 0.164823085070 0.000000000000 -vt 0.065913312137 0.169554486871 0.000000000000 -vt 0.062940359116 0.170286476612 0.000000000000 -vt 0.061481129378 0.167505130172 0.000000000000 -vt 0.060151811689 0.170392528176 0.000000000000 -vt 0.060107905418 0.172657802701 0.000000000000 -vt 0.057210605592 0.172009363770 0.000000000000 -vt 0.057532805949 0.170253381133 0.000000000000 -vt 0.063048884273 0.172646328807 0.000000000000 -vt 0.048934575170 0.168896585703 0.000000000000 -vt 0.049731176347 0.167191714048 0.000000000000 -vt 0.042593311518 0.164057999849 0.000000000000 -vt 0.043497528881 0.162384659052 0.000000000000 -vt 0.044287156314 0.160732463002 0.000000000000 -vt 0.033884081990 0.156096965075 0.000000000000 -vt 0.034770067781 0.153932109475 0.000000000000 -vt 0.036515694112 0.150483399630 0.000000000000 -vt 0.046103026718 0.155740767717 0.000000000000 -vt 0.039584781975 0.147428721189 0.000000000000 -vt 0.047613140196 0.151688650250 0.000000000000 -vt 0.043061178178 0.143725812435 0.000000000000 -vt 0.050141181797 0.149046242237 0.000000000000 -vt 0.047894362360 0.140243798494 0.000000000000 -vt 0.053615551442 0.146738171577 0.000000000000 -vt 0.053296964616 0.138070821762 0.000000000000 -vt 0.056939747185 0.144772797823 0.000000000000 -vt 0.060318645090 0.151515960693 0.000000000000 -vt 0.060732934624 0.143554925919 0.000000000000 -vt 0.062500409782 0.150664418936 0.000000000000 -vt 0.064538739622 0.156376838684 0.000000000000 -vt 0.063412509859 0.157254040241 0.000000000000 -vt 0.065951131284 0.161686450243 0.000000000000 -vt 0.064260445535 0.149016290903 0.000000000000 -vt 0.065228387713 0.155802473426 0.000000000000 -vt 0.067762054503 0.156014785171 0.000000000000 -vt 0.067490294576 0.161968335509 0.000000000000 -vt 0.068041928113 0.150318130851 0.000000000000 -vt 0.072004206479 0.152485474944 0.000000000000 -vt 0.068994782865 0.144661113620 0.000000000000 -vt 0.072091117501 0.145224899054 0.000000000000 -vt 0.075190380216 0.145809859037 0.000000000000 -vt 0.074453443289 0.154495447874 0.000000000000 -vt 0.078592248261 0.146916940808 0.000000000000 -vt 0.077539868653 0.155462488532 0.000000000000 -vt 0.083513915539 0.149794429541 0.000000000000 -vt 0.080134786665 0.156474098563 0.000000000000 -vt 0.076403960586 0.162150710821 0.000000000000 -vt 0.082034416497 0.157592907548 0.000000000000 -vt 0.077113650739 0.164572715759 0.000000000000 -vt 0.075192175806 0.166414484382 0.000000000000 -vt 0.073551476002 0.164994657040 0.000000000000 -vt 0.072395749390 0.167818546295 0.000000000000 -vt 0.086013361812 0.151608720422 0.000000000000 -vt 0.082925580442 0.138807758689 0.000000000000 -vt 0.088270992041 0.142190933228 0.000000000000 -vt 0.092381425202 0.144706368446 0.000000000000 -vt 0.033781412989 0.159828022122 0.000000000000 -vt 0.032040510327 0.158961847425 0.000000000000 -vt 0.032221313566 0.155238896608 0.000000000000 -vt 0.033128913492 0.152995914221 0.000000000000 -vt 0.034247931093 0.149646267295 0.000000000000 -vt 0.036089029163 0.146674454212 0.000000000000 -vt 0.039337117225 0.142542183399 0.000000000000 -vt 0.044477183372 0.138003721833 0.000000000000 -vt 0.051182758063 0.134617850184 0.000000000000 -vt 0.057887878269 0.132730364799 0.000000000000 -vt 0.058954205364 0.136307403445 0.000000000000 -vt 0.065197318792 0.135614156723 0.000000000000 -vt 0.065236717463 0.143920347095 0.000000000000 -vt 0.070889234543 0.135065451264 0.000000000000 -vt 0.075503565371 0.136102512479 0.000000000000 -vt 0.079501420259 0.136758163571 0.000000000000 -vt 0.080287218094 0.135892897844 0.000000000000 -vt 0.083798281848 0.137524142861 0.000000000000 -vt 0.089716039598 0.140691623092 0.000000000000 -vt 0.143560752273 0.209685027599 0.000000000000 -vt 0.135448858142 0.212041050196 0.000000000000 -vt 0.136980593204 0.209762930870 0.000000000000 -vt 0.149614498019 0.207925885916 0.000000000000 -vt 0.093936122954 0.143564611673 0.000000000000 -vt 0.131235316396 0.212935358286 0.000000000000 -vt 0.130912885070 0.210914373398 0.000000000000 -vt 0.130802333355 0.214139938354 0.000000000000 -vt 0.126496925950 0.214841082692 0.000000000000 -vt 0.127033010125 0.216304361820 0.000000000000 -vt 0.123436622322 0.220508232713 0.000000000000 -vt 0.122662074864 0.219344407320 0.000000000000 -vt 0.127302527428 0.217270508409 0.000000000000 -vt 0.124103523791 0.221681743860 0.000000000000 -vt 0.121738053858 0.226466968656 0.000000000000 -vt 0.119399368763 0.224682837725 0.000000000000 -vt 0.071574836969 0.132907792926 0.000000000000 -vt 0.076760835946 0.134390205145 0.000000000000 -vt 0.065341189504 0.132802188396 0.000000000000 -vt 0.115896403790 0.229595944285 0.000000000000 -vt 0.113967284560 0.229628607631 0.000000000000 -vt 0.118455067277 0.224354103208 0.000000000000 -vt 0.118444040418 0.231105849147 0.000000000000 -vt 0.116246968508 0.222922116518 0.000000000000 -vt 0.121256656945 0.217508718371 0.000000000000 -vt 0.113348767161 0.220198199153 0.000000000000 -vt 0.118779063225 0.214370504022 0.000000000000 -vt 0.109506264329 0.216642320156 0.000000000000 -vt 0.113111913204 0.210065305233 0.000000000000 -vt 0.106790229678 0.213530674577 0.000000000000 -vt 0.110659286380 0.209100753069 0.000000000000 -vt 0.105615362525 0.211812064052 0.000000000000 -vt 0.108720943332 0.208151713014 0.000000000000 -vt 0.104931339622 0.210859879851 0.000000000000 -vt 0.107262387872 0.207199767232 0.000000000000 -vt 0.104268938303 0.209731861949 0.000000000000 -vt 0.106411516666 0.206867888570 0.000000000000 -vt 0.099854543805 0.210535883904 0.000000000000 -vt 0.101010948420 0.212820082903 0.000000000000 -vt 0.101252302527 0.214150756598 0.000000000000 -vt 0.100541725755 0.216653347015 0.000000000000 -vt 0.109188362956 0.234976246953 0.000000000000 -vt 0.112999781966 0.234926506877 0.000000000000 -vt 0.116525933146 0.235893979669 0.000000000000 -vt 0.113097950816 0.239953324199 0.000000000000 -vt 0.109616830945 0.240531280637 0.000000000000 -vt 0.105305328965 0.241614267230 0.000000000000 -vt 0.103323295712 0.248255476356 0.000000000000 -vt 0.107525810599 0.246296599507 0.000000000000 -vt 0.106832340360 0.251131802797 0.000000000000 -vt 0.103008523583 0.253494113684 0.000000000000 -vt 0.111104875803 0.245297834277 0.000000000000 -vt 0.110048457980 0.249654576182 0.000000000000 -vt 0.096914246678 0.264147579670 0.000000000000 -vt 0.095100626349 0.260864347219 0.000000000000 -vt 0.103348061442 0.257600039244 0.000000000000 -vt 0.106801033020 0.254496067762 0.000000000000 -vt 0.169106185436 0.192728593946 0.000000000000 -vt 0.170338675380 0.195399373770 0.000000000000 -vt 0.099874362350 0.170928612351 0.000000000000 -vt 0.097011074424 0.169942215085 0.000000000000 -vt 0.095663733780 0.165094852448 0.000000000000 -vt 0.099198222160 0.165355354548 0.000000000000 -vt 0.093683719635 0.168949723244 0.000000000000 -vt 0.092458203435 0.165013566613 0.000000000000 -vt 0.090356379747 0.159508973360 0.000000000000 -vt 0.094260796905 0.160128593445 0.000000000000 -vt 0.099197551608 0.159526988864 0.000000000000 -vt 0.033023308963 0.163863465190 0.000000000000 -vt 0.037694837898 0.165538623929 0.000000000000 -vt 0.027775174007 0.166775852442 0.000000000000 -vt 0.088919214904 0.165129065514 0.000000000000 -vt 0.087757416070 0.161358624697 0.000000000000 -vt 0.041305195540 0.168003618717 0.000000000000 -vt 0.039413448423 0.169479295611 0.000000000000 -vt 0.041364412755 0.172144010663 0.000000000000 -vt 0.039971377701 0.172480389476 0.000000000000 -vt 0.038754414767 0.172880932689 0.000000000000 -vt 0.037746172398 0.170685455203 0.000000000000 -vt 0.041679184884 0.177758023143 0.000000000000 -vt 0.040490355343 0.177621126175 0.000000000000 -vt 0.038885232061 0.177430868149 0.000000000000 -vt 0.031558681279 0.181349694729 0.000000000000 -vt 0.032375093549 0.182451382279 0.000000000000 -vt 0.031321812421 0.183208808303 0.000000000000 -vt 0.029306901619 0.181765779853 0.000000000000 -vt 0.030110931024 0.184735804796 0.000000000000 -vt 0.026748467237 0.183448821306 0.000000000000 -vt 0.025492548943 0.179579749703 0.000000000000 -vt 0.025225963444 0.184383660555 0.000000000000 -vt 0.023586835712 0.180322989821 0.000000000000 -vt 0.023586835712 0.175274342299 0.000000000000 -vt 0.025453597307 0.175285145640 0.000000000000 -vt 0.025660742074 0.170873910189 0.000000000000 -vt 0.026788990945 0.172416672111 0.000000000000 -vt 0.028133621439 0.171821355820 0.000000000000 -vt 0.117384001613 0.164725363255 0.000000000000 -vt 0.112397044897 0.164127796888 0.000000000000 -vt 0.111941114068 0.159629434347 0.000000000000 -vt 0.116640761495 0.160034939647 0.000000000000 -vt 0.117678731680 0.167584165931 0.000000000000 -vt 0.121842063963 0.165160596371 0.000000000000 -vt 0.122367806733 0.167285159230 0.000000000000 -vt 0.123244337738 0.169767260551 0.000000000000 -vt 0.118570342660 0.170628488064 0.000000000000 -vt 0.076927222311 0.256597876549 0.000000000000 -vt 0.069735996425 0.256459414959 0.000000000000 -vt 0.126834645867 0.166902616620 0.000000000000 -vt 0.127785488963 0.169480189681 0.000000000000 -vt 0.062401559204 0.256990790367 0.000000000000 -vt 0.061513323337 0.259970039129 0.000000000000 -vt 0.055246125907 0.260234832764 0.000000000000 -vt 0.055534552783 0.256361246109 0.000000000000 -vt 0.055091898888 0.251717656851 0.000000000000 -vt 0.055174525827 0.262654781342 0.000000000000 -vt 0.131237342954 0.166645258665 0.000000000000 -vt 0.126206025481 0.164752155542 0.000000000000 -vt 0.130478784442 0.164564833045 0.000000000000 -vt 0.128323823214 0.157905861735 0.000000000000 -vt 0.124372817576 0.158351898193 0.000000000000 -vt 0.120934464037 0.159285396338 0.000000000000 -vt 0.031951349229 0.187119752169 0.000000000000 -vt 0.032728809863 0.185262441635 0.000000000000 -vt 0.035856213421 0.185055300593 0.000000000000 -vt 0.035672266036 0.187161847949 0.000000000000 -vt 0.028532592580 0.186527818441 0.000000000000 -vt 0.128893464804 0.155811250210 0.000000000000 -vt 0.132322803140 0.155696868896 0.000000000000 -vt 0.132445976138 0.157863765955 0.000000000000 -vt 0.134399861097 0.164290815592 0.000000000000 -vt 0.137302115560 0.158585160971 0.000000000000 -vt 0.138255640864 0.163551405072 0.000000000000 -vt 0.141750499606 0.159247785807 0.000000000000 -vt 0.142176494002 0.162172332406 0.000000000000 -vt 0.167481020093 0.185227319598 0.000000000000 -vt 0.170263931155 0.178922742605 0.000000000000 -vt 0.172615230083 0.181126117706 0.000000000000 -vt 0.170385509729 0.185613691807 0.000000000000 -vt 0.137086644769 0.156343296170 0.000000000000 -vt 0.141829982400 0.156543448567 0.000000000000 -vt 0.084312535822 0.167729392648 0.000000000000 -vt 0.084777034819 0.164774447680 0.000000000000 -vt 0.089359387755 0.168153122067 0.000000000000 -vt 0.136736750603 0.154593154788 0.000000000000 -vt 0.141693994403 0.153399839997 0.000000000000 -vt 0.084533862770 0.161654248834 0.000000000000 -vt 0.132128268480 0.155035361648 0.000000000000 -vt 0.168764844537 0.189312979579 0.000000000000 -vt 0.165124982595 0.185052827001 0.000000000000 -vt 0.167759761214 0.178524002433 0.000000000000 -vt 0.158733054996 0.192014843225 0.000000000000 -vt 0.156409904361 0.199086070061 0.000000000000 -vt 0.155019804835 0.205063492060 0.000000000000 -vt 0.157773226500 0.205484077334 0.000000000000 -vt 0.157165527344 0.207992762327 0.000000000000 -vt 0.154318660498 0.207045525312 0.000000000000 -vt 0.039390247315 0.183007746935 0.000000000000 -vt 0.109839722514 0.252810090780 0.000000000000 -vt 0.161794945598 0.206194669008 0.000000000000 -vt 0.160380065441 0.209382638335 0.000000000000 -vt 0.030997594818 0.172260865569 0.000000000000 -vt 0.028872353956 0.171737149358 0.000000000000 -vt 0.040024068207 0.239364311099 0.000000000000 -vt 0.041931357235 0.237304374576 0.000000000000 -vt 0.044145528227 0.240434691310 0.000000000000 -vt 0.045424859971 0.239937767386 0.000000000000 -vt 0.044002104551 0.236135587096 0.000000000000 -vt 0.100529327989 0.192775428295 0.000000000000 -vt 0.086145527661 0.185369163752 0.000000000000 -vt 0.074024297297 0.186244800687 0.000000000000 -vt 0.062078233808 0.164369389415 0.000000000000 -vt 0.030012762174 0.176220208406 0.000000000000 -vt 0.112108394504 0.179039835930 0.000000000000 -vt 0.112108394504 0.176560640335 0.000000000000 -vt 0.069380022585 0.168249264359 0.000000000000 -vt 0.065014265478 0.171704053879 0.000000000000 -vt 0.048454102129 0.180325239897 0.000000000000 -vt 0.146105453372 0.080951645970 0.000000000000 -vt 0.144684508443 0.079957589507 0.000000000000 -vt 0.149933993816 0.076390907168 0.000000000000 -vt 0.151316225529 0.078695371747 0.000000000000 -vt 0.153613030910 0.080021530390 0.000000000000 -vt 0.145809382200 0.082432046533 0.000000000000 -vt 0.143933385611 0.080989018083 0.000000000000 -vt 0.154818966985 0.082354143262 0.000000000000 -vt 0.145563289523 0.085070192814 0.000000000000 -vt 0.143352255225 0.081543803215 0.000000000000 -vt 0.144436612725 0.082785755396 0.000000000000 -vt 0.143652841449 0.084858089685 0.000000000000 -vt 0.146591797471 0.088287875056 0.000000000000 -vt 0.154597863555 0.085654467344 0.000000000000 -vt 0.153173521161 0.089168235660 0.000000000000 -vt 0.152664005756 0.094450607896 0.000000000000 -vt 0.140441447496 0.090233892202 0.000000000000 -vt 0.138348862529 0.080004423857 0.000000000000 -vt 0.139517411590 0.078812226653 0.000000000000 -vt 0.140799894929 0.078904315829 0.000000000000 -vt 0.140338554978 0.079870223999 0.000000000000 -vt 0.139646649361 0.078048720956 0.000000000000 -vt 0.142411112785 0.080079168081 0.000000000000 -vt 0.142763257027 0.078845098615 0.000000000000 -vt 0.144676625729 0.071552544832 0.000000000000 -vt 0.147951960564 0.073969364166 0.000000000000 -vt 0.165310516953 0.075303182006 0.000000000000 -vt 0.162680253386 0.081052973866 0.000000000000 -vt 0.159637063742 0.079843878746 0.000000000000 -vt 0.160642147064 0.076046422124 0.000000000000 -vt 0.138225704432 0.079229891300 0.000000000000 -vt 0.137284547091 0.079804927111 0.000000000000 -vt 0.137759849429 0.078385323286 0.000000000000 -vt 0.137967005372 0.069246500731 0.000000000000 -vt 0.141144156456 0.069925799966 0.000000000000 -vt 0.135236993432 0.081436410546 0.000000000000 -vt 0.135894671082 0.079535424709 0.000000000000 -vt 0.134577959776 0.080499768257 0.000000000000 -vt 0.135107755661 0.084568321705 0.000000000000 -vt 0.134055823088 0.084435924888 0.000000000000 -vt 0.133896872401 0.080932959914 0.000000000000 -vt 0.133128866553 0.069963172078 0.000000000000 -vt 0.135289907455 0.069450497627 0.000000000000 -vt 0.163844078779 0.085923969746 0.000000000000 -vt 0.162402868271 0.094224542379 0.000000000000 -vt 0.132371440530 0.082354143262 0.000000000000 -vt 0.128753200173 0.071022763848 0.000000000000 -vt 0.105484560132 0.044374290854 0.000000000000 -vt 0.104406282306 0.042068254203 0.000000000000 -vt 0.105255573988 0.042082216591 0.000000000000 -vt 0.106301188469 0.043263372034 0.000000000000 -vt 0.105341121554 0.039797786623 0.000000000000 -vt 0.107362121344 0.040538098663 0.000000000000 -vt 0.102971151471 0.044095326215 0.000000000000 -vt 0.109018579125 0.049298208207 0.000000000000 -vt 0.103879645467 0.048260468990 0.000000000000 -vt 0.106288582087 0.055648040026 0.000000000000 -vt 0.099673971534 0.057078447193 0.000000000000 -vt 0.097955361009 0.055400144309 0.000000000000 -vt 0.110525324941 0.046463962644 0.000000000000 -vt 0.102905854583 0.041538458318 0.000000000000 -vt 0.103917017579 0.039889875799 0.000000000000 -vt 0.118358477950 0.052561160177 0.000000000000 -vt 0.113901987672 0.058519665152 0.000000000000 -vt 0.118132635951 0.047917779535 0.000000000000 -vt 0.118020296097 0.061421241611 0.000000000000 -vt 0.122165165842 0.055722784251 0.000000000000 -vt 0.126941144466 0.044675100595 0.000000000000 -vt 0.128192335367 0.048273082823 0.000000000000 -vt 0.129756718874 0.051271017641 0.000000000000 -vt 0.104457631707 0.038520034403 0.000000000000 -vt 0.106935217977 0.039335094392 0.000000000000 -vt 0.110430315137 0.041719038039 0.000000000000 -vt 0.109509423375 0.038915853947 0.000000000000 -vt 0.103522777557 0.036517728120 0.000000000000 -vt 0.097110807896 0.038964264095 0.000000000000 -vt 0.099772140384 0.040999215096 0.000000000000 -vt 0.097977206111 0.041525851935 0.000000000000 -vt 0.096010699868 0.040015961975 0.000000000000 -vt 0.098011419177 0.043816577643 0.000000000000 -vt 0.095403008163 0.041276607662 0.000000000000 -vt 0.100398525596 0.044103201479 0.000000000000 -vt 0.092719830573 0.059615265578 0.000000000000 -vt 0.090432256460 0.055584091693 0.000000000000 -vt 0.103748843074 0.062081839889 0.000000000000 -vt 0.109088838100 0.036444552243 0.000000000000 -vt 0.116189554334 0.040374409407 0.000000000000 -vt 0.117214694619 0.043208893389 0.000000000000 -vt 0.100217953324 0.036773279309 0.000000000000 -vt 0.101216748357 0.031871203333 0.000000000000 -vt 0.129965662956 0.062457408756 0.000000000000 -vt 0.134202405810 0.063657253981 0.000000000000 -vt 0.126032650471 0.071523055434 0.000000000000 -vt 0.126584276557 0.061618920416 0.000000000000 -vt 0.126425325871 0.056240197271 0.000000000000 -vt 0.131047084928 0.056420769542 0.000000000000 -vt 0.136421307921 0.063021421432 0.000000000000 -vt 0.135489389300 0.060313250870 0.000000000000 -vt 0.137195616961 0.059194456786 0.000000000000 -vt 0.136729776859 0.057686138898 0.000000000000 -vt 0.156631231308 0.049092646688 0.000000000000 -vt 0.157220244408 0.050672557205 0.000000000000 -vt 0.155348747969 0.051238145679 0.000000000000 -vt 0.152967959642 0.049707990140 0.000000000000 -vt 0.072539396584 0.024206470698 0.000000000000 -vt 0.073009975255 0.022490788251 0.000000000000 -vt 0.074167720973 0.023411672562 0.000000000000 -vt 0.075313083827 0.024346742779 0.000000000000 -vt 0.078608684242 0.024770483375 0.000000000000 -vt 0.076113961637 0.022561032325 0.000000000000 -vt 0.074407733977 0.021668069065 0.000000000000 -vt 0.085832558572 0.034895710647 0.000000000000 -vt 0.088694959879 0.030288133770 0.000000000000 -vt 0.092079266906 0.032754708081 0.000000000000 -vt 0.090345121920 0.035805787891 0.000000000000 -vt 0.080766797066 0.037424653769 0.000000000000 -vt 0.083163343370 0.031321149319 0.000000000000 -vt 0.082765944302 0.039579611272 0.000000000000 -vt 0.075439170003 0.026426948607 0.000000000000 -vt 0.079141400754 0.028394807130 0.000000000000 -vt 0.065825045109 0.019637845457 0.000000000000 -vt 0.070792645216 0.020507168025 0.000000000000 -vt 0.069720685482 0.023076642305 0.000000000000 -vt 0.066453002393 0.021015118808 0.000000000000 -vt 0.074630416930 0.020555578172 0.000000000000 -vt 0.078393660486 0.021780196577 0.000000000000 -vt 0.118059247732 0.097139850259 0.000000000000 -vt 0.114740446210 0.098579719663 0.000000000000 -vt 0.114250972867 0.095418095589 0.000000000000 -vt 0.117238104343 0.094657748938 0.000000000000 -vt 0.109638676047 0.091790616512 0.000000000000 -vt 0.115868493915 0.090512856841 0.000000000000 -vt 0.106643870473 0.097877010703 0.000000000000 -vt 0.080275960267 0.020345281810 0.000000000000 -vt 0.084542199969 0.020472947508 0.000000000000 -vt 0.082198783755 0.026802506298 0.000000000000 -vt 0.087908044457 0.024324897677 0.000000000000 -vt 0.082033514977 0.045575719327 0.000000000000 -vt 0.083040185273 0.050441998988 0.000000000000 -vt 0.079672768712 0.048204403371 0.000000000000 -vt 0.080490976572 0.044366639107 0.000000000000 -vt 0.076486371458 0.049105029553 0.000000000000 -vt 0.078130230308 0.043149676174 0.000000000000 -vt 0.081851139665 0.052377205342 0.000000000000 -vt 0.066788040102 0.023179534823 0.000000000000 -vt 0.064600206912 0.023336920887 0.000000000000 -vt 0.064584665000 0.022389467806 0.000000000000 -vt 0.066289320588 0.022115226835 0.000000000000 -vt 0.060966644436 0.023584589362 0.000000000000 -vt 0.061784636229 0.022029668093 0.000000000000 -vt 0.063617177308 0.021110359579 0.000000000000 -vt 0.091050982475 0.028800085187 0.000000000000 -vt 0.094201579690 0.030098102987 0.000000000000 -vt 0.090151712298 0.025628998876 0.000000000000 -vt 0.093743383884 0.027991328388 0.000000000000 -vt 0.066948570311 0.027383632958 0.000000000000 -vt 0.060868475586 0.030944012105 0.000000000000 -vt 0.062462348491 0.027807373554 0.000000000000 -vt 0.066029265523 0.025897156447 0.000000000000 -vt 0.059814978391 0.026431452483 0.000000000000 -vt 0.064851254225 0.024653624743 0.000000000000 -vt 0.054694723338 0.030345775187 0.000000000000 -vt 0.047921154648 0.032958924770 0.000000000000 -vt 0.043463084847 0.030261565000 0.000000000000 -vt 0.047107893974 0.029183298349 0.000000000000 -vt 0.050095032901 0.030151013285 0.000000000000 -vt 0.047431897372 0.026514083147 0.000000000000 -vt 0.050590369850 0.027707632631 0.000000000000 -vt 0.042810361832 0.027617346495 0.000000000000 -vt 0.047869820148 0.042448315769 0.000000000000 -vt 0.045954655856 0.041697423905 0.000000000000 -vt 0.046084117144 0.036520879716 0.000000000000 -vt 0.049386020750 0.038101017475 0.000000000000 -vt 0.044854771346 0.041064735502 0.000000000000 -vt 0.043885473162 0.036986950785 0.000000000000 -vt 0.051757570356 0.034210111946 0.000000000000 -vt 0.154328122735 0.043087299913 0.000000000000 -vt 0.154911056161 0.037254884839 0.000000000000 -vt 0.167563647032 0.034898862243 0.000000000000 -vt 0.161921262741 0.041362386197 0.000000000000 -vt 0.153502255678 0.030707374215 0.000000000000 -vt 0.163250565529 0.027692098171 0.000000000000 -vt 0.103868618608 0.102910131216 0.000000000000 -vt 0.111994698644 0.103447571397 0.000000000000 -vt 0.106992870569 0.109234735370 0.000000000000 -vt 0.101400464773 0.108030393720 0.000000000000 -vt 0.096481271088 0.122771069407 0.000000000000 -vt 0.089952446520 0.124826297164 0.000000000000 -vt 0.088087268174 0.119303897023 0.000000000000 -vt 0.094165779650 0.117781624198 0.000000000000 -vt 0.070482604206 0.058522816747 0.000000000000 -vt 0.077887058258 0.065487995744 0.000000000000 -vt 0.071217961609 0.071155369282 0.000000000000 -vt 0.066381409764 0.064373925328 0.000000000000 -vt 0.070337608457 0.087279632688 0.000000000000 -vt 0.063515856862 0.072370767593 0.000000000000 -vt 0.079217955470 0.082213863730 0.000000000000 -vt 0.050732221454 0.021630693227 0.000000000000 -vt 0.048374619335 0.020630329847 0.000000000000 -vt 0.048564653844 0.016099080443 0.000000000000 -vt 0.051573622972 0.018779102713 0.000000000000 -vt 0.045837800950 0.018292993307 0.000000000000 -vt 0.046268071979 0.015899594873 0.000000000000 -vt 0.051961567253 0.016921799630 0.000000000000 -vt 0.048754904419 0.013884905726 0.000000000000 -vt 0.026494264603 0.028064500540 0.000000000000 -vt 0.026460040361 0.028243724257 0.000000000000 -vt 0.026340033859 0.028218735009 0.000000000000 -vt 0.026315040886 0.028072383255 0.000000000000 -vt 0.026271361858 0.028111334890 0.000000000000 -vt 0.026316616684 0.028287407011 0.000000000000 -vt 0.026220027357 0.028083190322 0.000000000000 -vt 0.025830507278 0.027961608022 0.000000000000 -vt 0.026793498546 0.027743656188 0.000000000000 -vt 0.022305700928 0.037761259824 0.000000000000 -vt 0.020612087101 0.038116555661 0.000000000000 -vt 0.018779549748 0.032605204731 0.000000000000 -vt 0.019568044692 0.032413598150 0.000000000000 -vt 0.026293199509 0.029374904931 0.000000000000 -vt 0.026729550213 0.056939747185 0.000000000000 -vt 0.025282029063 0.059646341950 0.000000000000 -vt 0.023371588439 0.056319449097 0.000000000000 -vt 0.024051103741 0.054049205035 0.000000000000 -vt 0.023613180965 0.061910506338 0.000000000000 -vt 0.020778700709 0.056646820158 0.000000000000 -vt 0.024753816426 0.028824850917 0.000000000000 -vt 0.024046380073 0.029639910907 0.000000000000 -vt 0.021925639361 0.027996055782 0.000000000000 -vt 0.019233010709 0.029932837933 0.000000000000 -vt 0.020827110857 0.032996300608 0.000000000000 -vt 0.018511611968 0.030085492879 0.000000000000 -vt 0.018042616546 0.028514813632 0.000000000000 -vt 0.018695343286 0.028449516743 0.000000000000 -vt 0.018340270966 0.027692098171 0.000000000000 -vt 0.019049059600 0.027235481888 0.000000000000 -vt 0.018784277141 0.027503643185 0.000000000000 -vt 0.018855873495 0.026894371957 0.000000000000 -vt 0.019962288439 0.026958312839 0.000000000000 -vt 0.019748840481 0.027567584068 0.000000000000 -vt 0.160484761000 0.020033445209 0.000000000000 -vt 0.147482961416 0.021641500294 0.000000000000 -vt 0.154410749674 0.015146899968 0.000000000000 -vt 0.161012977362 0.008924962953 0.000000000000 -vt 0.166393518448 0.013308282942 0.000000000000 -vt 0.166352987289 0.025851901621 0.000000000000 -vt 0.166651993990 0.020915377885 0.000000000000 -vt 0.170089438558 0.015492964536 0.000000000000 -vt 0.019588306546 0.027807373554 0.000000000000 -vt 0.019134845585 0.027851056308 0.000000000000 -vt 0.019064817578 0.028270293027 0.000000000000 -vt 0.038729425520 0.090958446264 0.000000000000 -vt 0.036177065223 0.089736983180 0.000000000000 -vt 0.038676287979 0.085981622338 0.000000000000 -vt 0.040239315480 0.089066922665 0.000000000000 -vt 0.042406659573 0.093741580844 0.000000000000 -vt 0.040854658931 0.094687461853 0.000000000000 -vt 0.037749316543 0.094786986709 0.000000000000 -vt 0.027898332104 0.053784426302 0.000000000000 -vt 0.031369995326 0.055613588542 0.000000000000 -vt 0.030157541856 0.062759563327 0.000000000000 -vt 0.033898938447 0.060758832842 0.000000000000 -vt 0.032940682024 0.067951634526 0.000000000000 -vt 0.027729919180 0.065882235765 0.000000000000 -vt 0.093380436301 0.131579592824 0.000000000000 -vt 0.101789981127 0.126331463456 0.000000000000 -vt 0.037756975740 0.051755558699 0.000000000000 -vt 0.035693880171 0.048643913120 0.000000000000 -vt 0.039868485183 0.048481795937 0.000000000000 -vt 0.041482623667 0.049996417016 0.000000000000 -vt 0.042654555291 0.045740988106 0.000000000000 -vt 0.045040067285 0.046664800495 0.000000000000 -vt 0.036985594779 0.046448197216 0.000000000000 -vt 0.034682709724 0.086651682854 0.000000000000 -vt 0.030933646485 0.089648038149 0.000000000000 -vt 0.029764866456 0.085144937038 0.000000000000 -vt 0.031592678279 0.081364586949 0.000000000000 -vt 0.034569006413 0.082026988268 0.000000000000 -vt 0.032102201134 0.080329999328 0.000000000000 -vt 0.028744241223 0.051196273416 0.000000000000 -vt 0.030639147386 0.050709929317 0.000000000000 -vt 0.036769222468 0.056941326708 0.000000000000 -vt 0.034461375326 0.053469661623 0.000000000000 -vt 0.041688408703 0.088625833392 0.000000000000 -vt 0.044041287154 0.087036460638 0.000000000000 -vt 0.042447183281 0.080775573850 0.000000000000 -vt 0.049191255122 0.076541990042 0.000000000000 -vt 0.046822618693 0.081983312964 0.000000000000 -vt 0.044226806611 0.072259977460 0.000000000000 -vt 0.046158861369 0.086456924677 0.000000000000 -vt 0.027991769835 0.075538471341 0.000000000000 -vt 0.027059858665 0.080196022987 0.000000000000 -vt 0.025024902076 0.073586151004 0.000000000000 -vt 0.026086058468 0.070214003325 0.000000000000 -vt 0.026441354305 0.067705318332 0.000000000000 -vt 0.028167841956 0.071457535028 0.000000000000 -vt 0.028880013153 0.073195055127 0.000000000000 -vt 0.030567547306 0.076351955533 0.000000000000 -vt 0.030551789328 0.069745004177 0.000000000000 -vt 0.029026357457 0.069470763206 0.000000000000 -vt 0.030614150688 0.072523415089 0.000000000000 -vt 0.043936815113 0.092527776957 0.000000000000 -vt 0.046364661306 0.097238019109 0.000000000000 -vt 0.044538419694 0.100720718503 0.000000000000 -vt 0.042931716889 0.101345524192 0.000000000000 -vt 0.048817273229 0.100172251463 0.000000000000 -vt 0.048457246274 0.102738559246 0.000000000000 -vt 0.137558788061 0.098332047462 0.000000000000 -vt 0.139102905989 0.097345650196 0.000000000000 -vt 0.138733655214 0.098258882761 0.000000000000 -vt 0.137797236443 0.098970815539 0.000000000000 -vt 0.138197556138 0.099481925368 0.000000000000 -vt 0.139004737139 0.098487854004 0.000000000000 -vt 0.139805614948 0.097956493497 0.000000000000 -vt 0.139377146959 0.099524021149 0.000000000000 -vt 0.050679307431 0.107523784041 0.000000000000 -vt 0.054135438055 0.112569287419 0.000000000000 -vt 0.050330314785 0.114288136363 0.000000000000 -vt 0.047148425132 0.107650101185 0.000000000000 -vt 0.050964351743 0.104889020324 0.000000000000 -vt 0.053239319474 0.103625223041 0.000000000000 -vt 0.055646907538 0.107062682509 0.000000000000 -vt 0.058104019612 0.112983807921 0.000000000000 -vt 0.140801474452 0.096658468246 0.000000000000 -vt 0.138233363628 0.096205011010 0.000000000000 -vt 0.140344858170 0.095949456096 0.000000000000 -vt 0.142007410526 0.098663926125 0.000000000000 -vt 0.140017718077 0.100223585963 0.000000000000 -vt 0.141385748982 0.098199442029 0.000000000000 -vt 0.141155198216 0.097431436181 0.000000000000 -vt 0.133312597871 0.105359598994 0.000000000000 -vt 0.132514864206 0.104310825467 0.000000000000 -vt 0.134183719754 0.106383368373 0.000000000000 -vt 0.140815436840 0.100723877549 0.000000000000 -vt 0.141863986850 0.099782720208 0.000000000000 -vt 0.142421916127 0.100219070911 0.000000000000 -vt 0.142892494798 0.098935022950 0.000000000000 -vt 0.050447177142 0.103112548590 0.000000000000 -vt 0.052483703941 0.102864876390 0.000000000000 -vt 0.144728183746 0.104067876935 0.000000000000 -vt 0.144224733114 0.102514311671 0.000000000000 -vt 0.145186141133 0.101699247956 0.000000000000 -vt 0.146470203996 0.103851273656 0.000000000000 -vt 0.143584400415 0.101527899504 0.000000000000 -vt 0.144430533051 0.100561767817 0.000000000000 -vt 0.141550794244 0.101287886500 0.000000000000 -vt 0.061257999390 0.112659797072 0.000000000000 -vt 0.065134719014 0.115944370627 0.000000000000 -vt 0.061873342842 0.123118489981 0.000000000000 -vt 0.056573864073 0.121722295880 0.000000000000 -vt 0.067445486784 0.110573291779 0.000000000000 -vt 0.063640370965 0.107372716069 0.000000000000 -vt 0.069648854434 0.106004670262 0.000000000000 -vt 0.066685140133 0.100748866796 0.000000000000 -vt 0.072863399982 0.099591121078 0.000000000000 -vt 0.079629309475 0.095017760992 0.000000000000 -vt 0.063420616090 0.097499877214 0.000000000000 -vt 0.064508341253 0.086475610733 0.000000000000 -vt 0.143850758672 0.104326352477 0.000000000000 -vt 0.143411472440 0.103562861681 0.000000000000 -vt 0.056262250990 0.094160601497 0.000000000000 -vt 0.056469622999 0.096354737878 0.000000000000 -vt 0.051992859691 0.094852507114 0.000000000000 -vt 0.052877943963 0.092719376087 0.000000000000 -vt 0.057681854814 0.098607867956 0.000000000000 -vt 0.053764607757 0.098246261477 0.000000000000 -vt 0.051455195993 0.098188623786 0.000000000000 -vt 0.049526061863 0.095104902983 0.000000000000 -vt 0.050771173090 0.101749226451 0.000000000000 -vt 0.052848231047 0.102208778262 0.000000000000 -vt 0.051238592714 0.100907593966 0.000000000000 -vt 0.052483703941 0.100563332438 0.000000000000 -vt 0.057426307350 0.106243103743 0.000000000000 -vt 0.059230696410 0.102589055896 0.000000000000 -vt 0.054297324270 0.103461548686 0.000000000000 -vt 0.054697874933 0.101320534945 0.000000000000 -vt 0.052963506430 0.122161805630 0.000000000000 -vt 0.052379231900 0.131099566817 0.000000000000 -vt 0.048094075173 0.130477920175 0.000000000000 -vt 0.046760257334 0.130856394768 0.000000000000 -vt 0.050066884607 0.122128933668 0.000000000000 -vt 0.156333580613 0.006823139265 0.000000000000 -vt 0.149899765849 0.012613456696 0.000000000000 -vt 0.148388311267 0.011923130602 0.000000000000 -vt 0.154814451933 0.007212657481 0.000000000000 -vt 0.143572017550 0.018695119768 0.000000000000 -vt 0.142008990049 0.017630811781 0.000000000000 -vt 0.141720786691 0.017121285200 0.000000000000 -vt 0.147525057197 0.011396490037 0.000000000000 -vt 0.137385874987 0.025342378765 0.000000000000 -vt 0.135559633374 0.023885395378 0.000000000000 -vt 0.134478226304 0.023776423186 0.000000000000 -vt 0.129616662860 0.030687112361 0.000000000000 -vt 0.127787277102 0.029326722026 0.000000000000 -vt 0.122677840292 0.035132572055 0.000000000000 -vt 0.121847249568 0.031333755702 0.000000000000 -vt 0.121459312737 0.026788320392 0.000000000000 -vt 0.126799300313 0.025711629540 0.000000000000 -vt 0.116022720933 0.031031373888 0.000000000000 -vt 0.116498008370 0.026107456535 0.000000000000 -vt 0.109646543860 0.029707010835 0.000000000000 -vt 0.110188722610 0.025318961591 0.000000000000 -vt 0.102204486728 0.027808953077 0.000000000000 -vt 0.102347925305 0.024181474000 0.000000000000 -vt 0.120979495347 0.024089615792 0.000000000000 -vt 0.116271957755 0.023522447795 0.000000000000 -vt 0.110184207559 0.022347588092 0.000000000000 -vt 0.102416366339 0.022239964455 0.000000000000 -vt 0.133086755872 0.021283280104 0.000000000000 -vt 0.125700771809 0.022800825536 0.000000000000 -vt 0.131805852056 0.019698411226 0.000000000000 -vt 0.140229582787 0.014688935131 0.000000000000 -vt 0.145475924015 0.010294806212 0.000000000000 -vt 0.152886912227 0.006676563993 0.000000000000 -vt 0.047576893121 0.122769504786 0.000000000000 -vt 0.044946629554 0.130904808640 0.000000000000 -vt 0.047352414578 0.114989265800 0.000000000000 -vt 0.044636588544 0.108223572373 0.000000000000 -vt 0.040943596512 0.101545020938 0.000000000000 -vt 0.041778694838 0.117057085037 0.000000000000 -vt 0.038933407515 0.109159991145 0.000000000000 -vt 0.042194779962 0.125491634011 0.000000000000 -vt 0.042258728296 0.131637245417 0.000000000000 -vt 0.150459289551 0.005439335480 0.000000000000 -vt 0.147406622767 0.004468692467 0.000000000000 -vt 0.143596783280 0.008389092982 0.000000000000 -vt 0.139240026474 0.012483991683 0.000000000000 -vt 0.039006810635 0.131603017449 0.000000000000 -vt 0.039525572211 0.125474527478 0.000000000000 -vt 0.038843121380 0.117890611291 0.000000000000 -vt 0.036237854511 0.109794244170 0.000000000000 -vt 0.035265412182 0.101655572653 0.000000000000 -vt 0.032339062542 0.095125168562 0.000000000000 -vt 0.030368058011 0.090082809329 0.000000000000 -vt 0.031399492174 0.094974085689 0.000000000000 -vt 0.033498387784 0.101733475924 0.000000000000 -vt 0.028639992699 0.086095318198 0.000000000000 -vt 0.025852348655 0.081437990069 0.000000000000 -vt 0.022753085941 0.076138511300 0.000000000000 -vt 0.023653708398 0.075184747577 0.000000000000 -vt 0.020847376436 0.069434955716 0.000000000000 -vt 0.021620105952 0.067643180490 0.000000000000 -vt 0.023307643831 0.064264953136 0.000000000000 -vt 0.017721544951 0.061841826886 0.000000000000 -vt 0.020375225693 0.059083905071 0.000000000000 -vt 0.053222205490 0.012929573655 0.000000000000 -vt 0.050235074013 0.010815139860 0.000000000000 -vt 0.056510146707 0.014634449035 0.000000000000 -vt 0.054663654417 0.018612489104 0.000000000000 -vt 0.060259204358 0.016382552683 0.000000000000 -vt 0.059049900621 0.020086579025 0.000000000000 -vt 0.058030847460 0.021122742444 0.000000000000 -vt 0.054247569293 0.019831027836 0.000000000000 -vt 0.056996259838 0.023039262742 0.000000000000 -vt 0.053340639919 0.022660780698 0.000000000000 -vt 0.055484797806 0.025647688657 0.000000000000 -vt 0.052176591009 0.025117896497 0.000000000000 -vt 0.049496565014 0.024186205119 0.000000000000 -vt 0.045745935291 0.023629847914 0.000000000000 -vt 0.047365020961 0.022347588092 0.000000000000 -vt 0.044394996017 0.020589802414 0.000000000000 -vt 0.045242708176 0.019883941859 0.000000000000 -vt 0.024909622967 0.052349288017 0.000000000000 -vt 0.025043588132 0.050973366946 0.000000000000 -vt 0.027739373967 0.047426950186 0.000000000000 -vt 0.024479579180 0.048439692706 0.000000000000 -vt 0.042350593954 0.024865496904 0.000000000000 -vt 0.042051356286 0.021227214485 0.000000000000 -vt 0.036529209465 0.022210467607 0.000000000000 -vt 0.037055846304 0.026330355555 0.000000000000 -vt 0.036963980645 0.028058420867 0.000000000000 -vt 0.031510043889 0.025784809142 0.000000000000 -vt 0.031432140619 0.027294699103 0.000000000000 -vt 0.036716084927 0.029509097338 0.000000000000 -vt 0.031419757754 0.028624013066 0.000000000000 -vt 0.027148788795 0.027899462730 0.000000000000 -vt 0.027295140550 0.028648782521 0.000000000000 -vt 0.036427881569 0.031031373888 0.000000000000 -vt 0.031274754554 0.029678862542 0.000000000000 -vt 0.027111416683 0.029242511839 0.000000000000 -vt 0.030949188396 0.030895829201 0.000000000000 -vt 0.035843607038 0.032156471163 0.000000000000 -vt 0.020707104355 0.028784547001 0.000000000000 -vt 0.022812303156 0.031886737794 0.000000000000 -vt 0.020281784236 0.029052484781 0.000000000000 -vt 0.023458946496 0.031434852630 0.000000000000 -vt 0.022109370679 0.032270174474 0.000000000000 -vt 0.020171005279 0.029769152403 0.000000000000 -vt 0.021504826844 0.032532032579 0.000000000000 -vt 0.025012519211 0.036299776286 0.000000000000 -vt 0.024063490331 0.036756169051 0.000000000000 -vt 0.023340519518 0.037314102054 0.000000000000 -vt 0.027483826503 0.041390310973 0.000000000000 -vt 0.026430319995 0.041890602559 0.000000000000 -vt 0.025338094682 0.042350146919 0.000000000000 -vt 0.029316132888 0.046764533967 0.000000000000 -vt 0.022701527923 0.043102841824 0.000000000000 -vt 0.030600195751 0.046093124896 0.000000000000 -vt 0.032929647714 0.049832727760 0.000000000000 -vt 0.031767170876 0.045388620347 0.000000000000 -vt 0.029398767278 0.040288627148 0.000000000000 -vt 0.032870430499 0.044547211379 0.000000000000 -vt 0.028457617387 0.040873128921 0.000000000000 -vt 0.030336765572 0.039641980082 0.000000000000 -vt 0.033799197525 0.043578144163 0.000000000000 -vt 0.037752252072 0.045114379376 0.000000000000 -vt 0.041783425957 0.044548790902 0.000000000000 -vt 0.025857076049 0.035843163729 0.000000000000 -vt 0.026734281331 0.035361554474 0.000000000000 -vt 0.041914243251 0.032859180123 0.000000000000 -vt 0.040793869644 0.033786371350 0.000000000000 -vt 0.030941305682 0.023799840361 0.000000000000 -vt 0.057466831058 0.013119827956 0.000000000000 -vt 0.054774206132 0.010378789157 0.000000000000 -vt 0.051085937768 0.008826795965 0.000000000000 -vt 0.051754426211 0.007754832506 0.000000000000 -vt 0.088373884559 0.020429264754 0.000000000000 -vt 0.088517308235 0.019399408251 0.000000000000 -vt 0.090854644775 0.019729707390 0.000000000000 -vt 0.090842038393 0.020712960511 0.000000000000 -vt 0.094946391881 0.022414457053 0.000000000000 -vt 0.095091395080 0.020460564643 0.000000000000 -vt 0.094299748540 0.025574509054 0.000000000000 -vt 0.090377770364 0.023751430213 0.000000000000 -vt 0.109390988946 0.033906377852 0.000000000000 -vt 0.101716801524 0.030102606863 0.000000000000 -vt 0.116005614400 0.037482291460 0.000000000000 -vt 0.123491324484 0.037183284760 0.000000000000 -vt 0.125074386597 0.041345056146 0.000000000000 -vt 0.130738392472 0.031681168824 0.000000000000 -vt 0.133287593722 0.035913188010 0.000000000000 -vt 0.135103031993 0.039498783648 0.000000000000 -vt 0.140455409884 0.028768789023 0.000000000000 -vt 0.144802927971 0.035279151052 0.000000000000 -vt 0.146699190140 0.040768656880 0.000000000000 -vt 0.137726977468 0.044129770249 0.000000000000 -vt 0.147504791617 0.045349668711 0.000000000000 -vt 0.138828665018 0.047825690359 0.000000000000 -vt 0.146984457970 0.048285465688 0.000000000000 -vt 0.138644710183 0.050088282675 0.000000000000 -vt 0.129806697369 0.052833821625 0.000000000000 -vt 0.169347777963 0.087803125381 0.000000000000 -vt 0.166878044605 0.096072614193 0.000000000000 -vt 0.123137615621 0.057648766786 0.000000000000 -vt 0.120253384113 0.063675940037 0.000000000000 -vt 0.115961924195 0.067340791225 0.000000000000 -vt 0.118732467294 0.069205984473 0.000000000000 -vt 0.118006333709 0.075494781137 0.000000000000 -vt 0.115131542087 0.074644148350 0.000000000000 -vt 0.109959736466 0.072775810957 0.000000000000 -vt 0.111552253366 0.064712107182 0.000000000000 -vt 0.102553710341 0.070056840777 0.000000000000 -vt 0.109609171748 0.082248091698 0.000000000000 -vt 0.100861445069 0.081328779459 0.000000000000 -vt 0.090299867094 0.080892428756 0.000000000000 -vt 0.091694474220 0.066030398011 0.000000000000 -vt 0.079119786620 0.055774118751 0.000000000000 -vt 0.072969444096 0.053520996124 0.000000000000 -vt 0.071013972163 0.047288250178 0.000000000000 -vt 0.068132661283 0.051054421812 0.000000000000 -vt 0.065332636237 0.054049205035 0.000000000000 -vt 0.061893608421 0.046331342310 0.000000000000 -vt 0.058749314398 0.049416642636 0.000000000000 -vt 0.061658326536 0.058715995401 0.000000000000 -vt 0.055071856827 0.053793657571 0.000000000000 -vt 0.052937161177 0.044756155461 0.000000000000 -vt 0.049072828144 0.049751672894 0.000000000000 -vt 0.058147702366 0.064059153199 0.000000000000 -vt 0.052524227649 0.058092769235 0.000000000000 -vt 0.045923579484 0.053873132914 0.000000000000 -vt 0.046409692615 0.047785166651 0.000000000000 -vt 0.043375950307 0.051665265113 0.000000000000 -vt 0.050428483635 0.061640765518 0.000000000000 -vt 0.043210681528 0.056986581534 0.000000000000 -vt 0.040099035949 0.054348435253 0.000000000000 -vt 0.039909008890 0.059638466686 0.000000000000 -vt 0.047191876918 0.065960139036 0.000000000000 -vt 0.038101460785 0.065509825945 0.000000000000 -vt 0.035400953144 0.074902862310 0.000000000000 -vt 0.055581387132 0.067733466625 0.000000000000 -vt 0.052806120366 0.071872040629 0.000000000000 -vt 0.060378994793 0.075755074620 0.000000000000 -vt 0.058071371168 0.078776419163 0.000000000000 -vt 0.055618759245 0.080065205693 0.000000000000 -vt 0.052734520286 0.079525962472 0.000000000000 -vt 0.053052444011 0.081367731094 0.000000000000 -vt 0.050789859146 0.083292141557 0.000000000000 -vt 0.049432624131 0.082779452205 0.000000000000 -vt 0.049594733864 0.085844501853 0.000000000000 -vt 0.048008512706 0.086075052619 0.000000000000 -vt 0.050535883754 0.089364573359 0.000000000000 -vt 0.049192603678 0.090299412608 0.000000000000 -vt 0.047464769334 0.090754449368 0.000000000000 -vt 0.045393791050 0.091461896896 0.000000000000 -vt 0.047896388918 0.095926046371 0.000000000000 -vt 0.049828443676 0.098826035857 0.000000000000 -vt 0.057419996709 0.081000059843 0.000000000000 -vt 0.060966644436 0.087109863758 0.000000000000 -vt 0.059794712812 0.087519645691 0.000000000000 -vt 0.060287129134 0.094168484211 0.000000000000 -vt 0.059352282435 0.093295782804 0.000000000000 -vt 0.062393907458 0.086673513055 0.000000000000 -vt 0.061801750213 0.096052348614 0.000000000000 -vt 0.049892392009 0.042724128813 0.000000000000 -vt 0.052075494081 0.038878478110 0.000000000000 -vt 0.055960100144 0.041236083955 0.000000000000 -vt 0.055889848620 0.035288382322 0.000000000000 -vt 0.060157891363 0.037993393838 0.000000000000 -vt 0.065116032958 0.042724128813 0.000000000000 -vt 0.064106442034 0.032941814512 0.000000000000 -vt 0.068679787219 0.036249794066 0.000000000000 -vt 0.074156686664 0.040447585285 0.000000000000 -vt 0.073277905583 0.031112428755 0.000000000000 -vt 0.077270135283 0.034540414810 0.000000000000 -vt 0.072071976960 0.025901664048 0.000000000000 -vt 0.069379344583 0.029083553702 0.000000000000 -vt 0.069463558495 0.025113392621 0.000000000000 -vt 0.067841313779 0.024271763861 0.000000000000 -vt 0.099162861705 0.091220304370 0.000000000000 -vt 0.089000269771 0.092127218843 0.000000000000 -vt 0.097078159451 0.097934648395 0.000000000000 -vt 0.087571434677 0.099022373557 0.000000000000 -vt 0.079772509634 0.101554468274 0.000000000000 -vt 0.086257882416 0.102638825774 0.000000000000 -vt 0.079043231905 0.105086937547 0.000000000000 -vt 0.075504690409 0.108024075627 0.000000000000 -vt 0.074613302946 0.105156958103 0.000000000000 -vt 0.073125250638 0.110627785325 0.000000000000 -vt 0.071593523026 0.108968392015 0.000000000000 -vt 0.070599466562 0.114607393742 0.000000000000 -vt 0.069200120866 0.112909048796 0.000000000000 -vt 0.067964471877 0.119090452790 0.000000000000 -vt 0.066672757268 0.117705300450 0.000000000000 -vt 0.065623983741 0.124006733298 0.000000000000 -vt 0.064179614186 0.123651430011 0.000000000000 -vt 0.064288586378 0.130211338401 0.000000000000 -vt 0.062253635377 0.130234748125 0.000000000000 -vt 0.058482732624 0.130786374211 0.000000000000 -vt 0.122141756117 0.148486047983 0.000000000000 -vt 0.127875998616 0.147998362780 0.000000000000 -vt 0.127665698528 0.150818660855 0.000000000000 -vt 0.122073300183 0.151981130242 0.000000000000 -vt 0.133205190301 0.149006605148 0.000000000000 -vt 0.133069649339 0.151248708367 0.000000000000 -vt 0.172021716833 0.016547817737 0.000000000000 -vt 0.169503584504 0.022040475160 0.000000000000 -vt 0.137767508626 0.149533241987 0.000000000000 -vt 0.137985691428 0.152411177754 0.000000000000 -vt 0.168945640326 0.028130020946 0.000000000000 -vt 0.129772469401 0.142226740718 0.000000000000 -vt 0.133960813284 0.145277813077 0.000000000000 -vt 0.137136399746 0.143440544605 0.000000000000 -vt 0.135624930263 0.133524268866 0.000000000000 -vt 0.137717753649 0.134089857340 0.000000000000 -vt 0.109607592225 0.111450493336 0.000000000000 -vt 0.100973561406 0.115215316415 0.000000000000 -vt 0.100111901760 0.112997993827 0.000000000000 -vt 0.109063848853 0.109449759126 0.000000000000 -vt 0.094076842070 0.114406555891 0.000000000000 -vt 0.109662085772 0.113127216697 0.000000000000 -vt 0.101924166083 0.117096036673 0.000000000000 -vt 0.118073418736 0.107520863414 0.000000000000 -vt 0.118896141648 0.109094470739 0.000000000000 -vt 0.119979143143 0.110803857446 0.000000000000 -vt 0.109627857804 0.115891456604 0.000000000000 -vt 0.121512211859 0.112745359540 0.000000000000 -vt 0.113743022084 0.119411528111 0.000000000000 -vt 0.123366601765 0.114860013127 0.000000000000 -vt 0.116215899587 0.122188150883 0.000000000000 -vt 0.104867622256 0.130242630839 0.000000000000 -vt 0.095320373774 0.140049934387 0.000000000000 -vt 0.118313208222 0.124379143119 0.000000000000 -vt 0.107863992453 0.133408755064 0.000000000000 -vt 0.099661588669 0.143760040402 0.000000000000 -vt 0.087192721665 0.108221992850 0.000000000000 -vt 0.082525931299 0.110838308930 0.000000000000 -vt 0.110880628228 0.135783463717 0.000000000000 -vt 0.103619366884 0.146102100611 0.000000000000 -vt 0.078900031745 0.113002493978 0.000000000000 -vt 0.114026710391 0.137971296906 0.000000000000 -vt 0.107220500708 0.147809907794 0.000000000000 -vt 0.075743131340 0.114870831370 0.000000000000 -vt 0.117038622499 0.139775693417 0.000000000000 -vt 0.110938265920 0.149550363421 0.000000000000 -vt 0.072325952351 0.116807609797 0.000000000000 -vt 0.121297188103 0.140570491552 0.000000000000 -vt 0.116660133004 0.148486047983 0.000000000000 -vt 0.070322073996 0.122125789523 0.000000000000 -vt 0.125169411302 0.141371369362 0.000000000000 -vt 0.067821048200 0.126478031278 0.000000000000 -vt 0.126182377338 0.130125775933 0.000000000000 -vt 0.128910809755 0.131200894713 0.000000000000 -vt 0.132871732116 0.132607877254 0.000000000000 -vt 0.133273646235 0.122961118817 0.000000000000 -vt 0.135723099113 0.124199911952 0.000000000000 -vt 0.137808039784 0.124982103705 0.000000000000 -vt 0.138423606753 0.117220535874 0.000000000000 -vt 0.140033245087 0.117920324206 0.000000000000 -vt 0.141472890973 0.118429854512 0.000000000000 -vt 0.139520570636 0.125482171774 0.000000000000 -vt 0.124876491725 0.103963419795 0.000000000000 -vt 0.117411032319 0.105984404683 0.000000000000 -vt 0.124236144125 0.102663815022 0.000000000000 -vt 0.129794090986 0.099442973733 0.000000000000 -vt 0.130341216922 0.100725457072 0.000000000000 -vt 0.131000250578 0.101975068450 0.000000000000 -vt 0.125632330775 0.105312764645 0.000000000000 -vt 0.131731107831 0.103181213140 0.000000000000 -vt 0.126520335674 0.106766596437 0.000000000000 -vt 0.127601757646 0.108326464891 0.000000000000 -vt 0.128798455000 0.109823748469 0.000000000000 -vt 0.130024880171 0.111135736108 0.000000000000 -vt 0.125136762857 0.116662845016 0.000000000000 -vt 0.131293177605 0.112291902304 0.000000000000 -vt 0.126648217440 0.118099555373 0.000000000000 -vt 0.120172336698 0.126228556037 0.000000000000 -vt 0.128081783652 0.119333624840 0.000000000000 -vt 0.122010938823 0.127758711576 0.000000000000 -vt 0.129577711225 0.120530337095 0.000000000000 -vt 0.123975865543 0.129045933485 0.000000000000 -vt 0.131254225969 0.121706768870 0.000000000000 -vt 0.133884489536 0.114366039634 0.000000000000 -vt 0.135243296623 0.115338250995 0.000000000000 -vt 0.136775031686 0.116316780448 0.000000000000 -vt 0.138644710183 0.110085606575 0.000000000000 -vt 0.139880597591 0.110813304782 0.000000000000 -vt 0.141141012311 0.111453637481 0.000000000000 -vt 0.142396926880 0.111997395754 0.000000000000 -vt 0.143704399467 0.112458750606 0.000000000000 -vt 0.137226909399 0.097607508302 0.000000000000 -vt 0.142870649695 0.102392718196 0.000000000000 -vt 0.137440353632 0.109256580472 0.000000000000 -vt 0.142222434282 0.101855054498 0.000000000000 -vt 0.143068566918 0.100842311978 0.000000000000 -vt 0.143592044711 0.099678248167 0.000000000000 -vt 0.136274725199 0.108363851905 0.000000000000 -vt 0.135182499886 0.107386663556 0.000000000000 -vt 0.132592767477 0.113364085555 0.000000000000 -vt 0.095187984407 0.102827504277 0.000000000000 -vt 0.094770319760 0.109039977193 0.000000000000 -vt 0.115190759301 0.083002358675 0.000000000000 -vt 0.117822378874 0.083010017872 0.000000000000 -vt 0.118609294295 0.089811727405 0.000000000000 -vt 0.145974636078 0.053520996124 0.000000000000 -vt 0.146114915609 0.056235466152 0.000000000000 -vt 0.139495581388 0.056631293148 0.000000000000 -vt 0.139889821410 0.054191056639 0.000000000000 -vt 0.119352757931 0.094131112099 0.000000000000 -vt 0.136199980974 0.055359613150 0.000000000000 -vt 0.119957312942 0.096627399325 0.000000000000 -vt 0.133549451828 0.056533124298 0.000000000000 -vt 0.144910335541 0.057005267590 0.000000000000 -vt 0.139738738537 0.057558249682 0.000000000000 -vt 0.145398020744 0.061774957925 0.000000000000 -vt 0.139342918992 0.061978947371 0.000000000000 -vt 0.149662911892 0.063947036862 0.000000000000 -vt 0.153687775135 0.067230239511 0.000000000000 -vt 0.155149489641 0.059760045260 0.000000000000 -vt 0.158387213945 0.062926396728 0.000000000000 -vt 0.157279461622 0.070296630263 0.000000000000 -vt 0.163594841957 0.066641241312 0.000000000000 -vt 0.153912261128 0.057711135596 0.000000000000 -vt 0.159546762705 0.060358505696 0.000000000000 -vt 0.164818108082 0.064783707261 0.000000000000 -vt 0.165087610483 0.069813668728 0.000000000000 -vt 0.167392298579 0.069913417101 0.000000000000 -vt 0.162909239531 0.058806512505 0.000000000000 -vt 0.168085560203 0.065015837550 0.000000000000 -vt 0.170962139964 0.071387514472 0.000000000000 -vt 0.171663269401 0.079518079758 0.000000000000 -vt 0.168453454971 0.075633481145 0.000000000000 -vt 0.154616549611 0.054712962359 0.000000000000 -vt 0.160480037332 0.072431325912 0.000000000000 -vt 0.165078386664 0.102370887995 0.000000000000 -vt 0.160031303763 0.101119697094 0.000000000000 -vt 0.153291955590 0.047032695264 0.000000000000 -vt 0.081070527434 0.018897537142 0.000000000000 -vt 0.085028529167 0.019402559847 0.000000000000 -vt 0.066250368953 0.017697680742 0.000000000000 -vt 0.060628462583 0.015371378511 0.000000000000 -vt 0.066359564662 0.016670975834 0.000000000000 -vt 0.071543760598 0.016661521047 0.000000000000 -vt 0.071405068040 0.017848987132 0.000000000000 -vt 0.075989224017 0.018615640700 0.000000000000 -vt 0.076596923172 0.017573174089 0.000000000000 -vt 0.017198059708 0.064038887620 0.000000000000 -vt 0.020149167627 0.070380836725 0.000000000000 -vt 0.016810115427 0.065315067768 0.000000000000 -vt 0.158577471972 0.046223942190 0.000000000000 -vt 0.102452382445 0.038576319814 0.000000000000 -vt 0.089843250811 0.037739418447 0.000000000000 -vt 0.086650550365 0.040033075958 0.000000000000 -vt 0.086444757879 0.038370531052 0.000000000000 -vt 0.089615844190 0.039254039526 0.000000000000 -vt 0.094363689423 0.042627539486 0.000000000000 -vt 0.089279234409 0.040964987129 0.000000000000 -vt 0.096154123545 0.044999096543 0.000000000000 -vt 0.099321827292 0.047730680555 0.000000000000 -vt 0.097085818648 0.047713566571 0.000000000000 -vt 0.095434077084 0.052601691335 0.000000000000 -vt 0.094276331365 0.051693182439 0.000000000000 -vt 0.089904040098 0.052642215043 0.000000000000 -vt 0.089681141078 0.050836246461 0.000000000000 -vt 0.084422186017 0.049848269671 0.000000000000 -vt 0.086022593081 0.049033429474 0.000000000000 -vt 0.082889109850 0.045797046274 0.000000000000 -vt 0.084425337613 0.045902874321 0.000000000000 -vt 0.084310062230 0.042319070548 0.000000000000 -vt 0.085408590734 0.043013904244 0.000000000000 -vt 0.083744473755 0.041396614164 0.000000000000 -vt 0.087161652744 0.041465062648 0.000000000000 -vt 0.089801147580 0.053888674825 0.000000000000 -vt 0.096400216222 0.053726788610 0.000000000000 -vt 0.101375699043 0.047830428928 0.000000000000 -vt 0.150993570685 0.099017649889 0.000000000000 -vt 0.131135791540 0.085984766483 0.000000000000 -vt 0.137482464314 0.092382773757 0.000000000000 -vt 0.135268285871 0.088904798031 0.000000000000 -vt 0.139503464103 0.089568555355 0.000000000000 -vt 0.136636331677 0.087804690003 0.000000000000 -vt 0.139095246792 0.088097617030 0.000000000000 -vt 0.141262590885 0.086944609880 0.000000000000 -vt 0.143028035760 0.087709680200 0.000000000000 -vt 0.052647162229 0.028242152184 0.000000000000 -vt 0.091367103159 0.114521846175 0.000000000000 -vt 0.024943847209 0.029597807676 0.000000000000 -vt 0.082706280053 0.355134129524 0.000000000000 -vt 0.085947386920 0.363250732422 0.000000000000 -vt 0.082174688578 0.364220470190 0.000000000000 -vt 0.079061470926 0.357818633318 0.000000000000 -vt 0.076576210558 0.349433183670 0.000000000000 -vt 0.074389949441 0.353636831045 0.000000000000 -vt 0.070025764406 0.352275311947 0.000000000000 -vt 0.069683760405 0.347608089447 0.000000000000 -vt 0.084169343114 0.377381920815 0.000000000000 -vt 0.080777153373 0.375979661942 0.000000000000 -vt 0.082553848624 0.370932579041 0.000000000000 -vt 0.086099147797 0.371338099241 0.000000000000 -vt 0.079547807574 0.364964604378 0.000000000000 -vt 0.080153018236 0.370642364025 0.000000000000 -vt 0.076729759574 0.359675943851 0.000000000000 -vt 0.073228374124 0.356270015240 0.000000000000 -vt 0.070341885090 0.355011194944 0.000000000000 -vt 0.078728012741 0.374791979790 0.000000000000 -vt 0.078406266868 0.379009783268 0.000000000000 -vt 0.081292532384 0.382708638906 0.000000000000 -vt 0.077228710055 0.376913607121 0.000000000000 -vt 0.076079964638 0.380043476820 0.000000000000 -vt 0.075517080724 0.383981227875 0.000000000000 -vt 0.075921684504 0.377626001835 0.000000000000 -vt 0.067173950374 0.353658229113 0.000000000000 -vt 0.068672135472 0.355914741755 0.000000000000 -vt 0.064776502550 0.349804252386 0.000000000000 -vt 0.072278216481 0.378946751356 0.000000000000 -vt 0.069932326674 0.382139891386 0.000000000000 -vt 0.073346585035 0.376760721207 0.000000000000 -vt 0.065008409321 0.358051896095 0.000000000000 -vt 0.067364208400 0.359130382538 0.000000000000 -vt 0.061515796930 0.356177270412 0.000000000000 -vt 0.067828252912 0.375058323145 0.000000000000 -vt 0.064983420074 0.377222746611 0.000000000000 -vt 0.069865681231 0.373641878366 0.000000000000 -vt 0.063662886620 0.364159464836 0.000000000000 -vt 0.066595532000 0.364011079073 0.000000000000 -vt 0.059879150242 0.364149570465 0.000000000000 -vt 0.064561255276 0.369833588600 0.000000000000 -vt 0.067180253565 0.369111299515 0.000000000000 -vt 0.061178293079 0.370929658413 0.000000000000 -vt 0.087921552360 0.351186037064 0.000000000000 -vt 0.091303609312 0.361563861370 0.000000000000 -vt 0.079885534942 0.343255817890 0.000000000000 -vt 0.069204851985 0.340724855661 0.000000000000 -vt 0.060809489340 0.344233006239 0.000000000000 -vt 0.055593322963 0.353128671646 0.000000000000 -vt 0.053862329572 0.363875776529 0.000000000000 -vt 0.055507313460 0.372740805149 0.000000000000 -vt 0.060099344701 0.380897492170 0.000000000000 -vt 0.066655874252 0.386289954185 0.000000000000 -vt 0.073765367270 0.388392239809 0.000000000000 -vt 0.081145055592 0.388035595417 0.000000000000 -vt 0.088785246015 0.377678692341 0.000000000000 -vt 0.087788932025 0.382556229830 0.000000000000 -vt 0.090708971024 0.371422529221 0.000000000000 -vt 0.098516449332 0.359101116657 0.000000000000 -vt 0.095570974052 0.371151894331 0.000000000000 -vt 0.081494718790 0.391452759504 0.000000000000 -vt 0.072904601693 0.391978055239 0.000000000000 -vt 0.087930560112 0.387041747570 0.000000000000 -vt 0.089069843292 0.390307635069 0.000000000000 -vt 0.093086160719 0.377379685640 0.000000000000 -vt 0.092234395444 0.382332623005 0.000000000000 -vt 0.096012048423 0.378206431866 0.000000000000 -vt 0.095273993909 0.382441610098 0.000000000000 -vt 0.098627001047 0.372742831707 0.000000000000 -vt 0.100691899657 0.375768691301 0.000000000000 -vt 0.097777709365 0.379422277212 0.000000000000 -vt 0.096909299493 0.382944613695 0.000000000000 -vt 0.064227119088 0.390731811523 0.000000000000 -vt 0.047463636845 0.374592483044 0.000000000000 -vt 0.045266803354 0.362910062075 0.000000000000 -vt 0.053129222244 0.386380702257 0.000000000000 -vt 0.055269774050 0.337182939053 0.000000000000 -vt 0.068264156580 0.332182705402 0.000000000000 -vt 0.047308508307 0.348847329617 0.000000000000 -vt 0.083508059382 0.335973203182 0.000000000000 -vt 0.092679306865 0.386310219765 0.000000000000 -vt 0.094604156911 0.389197170734 0.000000000000 -vt 0.096809998155 0.386411547661 0.000000000000 -vt 0.095029927790 0.385251104832 0.000000000000 -vt 0.098225995898 0.388757675886 0.000000000000 -vt 0.097066685557 0.389816790819 0.000000000000 -vt 0.098929613829 0.391160309315 0.000000000000 -vt 0.097326502204 0.391429573298 0.000000000000 -vt 0.094737671316 0.391862779856 0.000000000000 -vt 0.089453734457 0.392666131258 0.000000000000 -vt 0.081771887839 0.393726825714 0.000000000000 -vt 0.072946928442 0.394806444645 0.000000000000 -vt 0.063999712467 0.395681649446 0.000000000000 -vt 0.053615327924 0.396396279335 0.000000000000 -vt 0.041419353336 0.396926730871 0.000000000000 -vt 0.039976555854 0.386726528406 0.000000000000 -vt 0.037052463740 0.374329954386 0.000000000000 -vt 0.035149227828 0.359872728586 0.000000000000 -vt 0.038212914020 0.342804163694 0.000000000000 -vt 0.049577396363 0.328440159559 0.000000000000 -vt 0.067996665835 0.322506874800 0.000000000000 -vt 0.093688450754 0.346306473017 0.000000000000 -vt 0.088374562562 0.327701002359 0.000000000000 -vt 0.100369259715 0.339963853359 0.000000000000 -vt 0.105655893683 0.350941717625 0.000000000000 -vt 0.103044107556 0.365339487791 0.000000000000 -vt 0.108533605933 0.357757389545 0.000000000000 -vt 0.105408892035 0.369979262352 0.000000000000 -vt 0.098068401217 0.383108973503 0.000000000000 -vt 0.098497763276 0.385625302792 0.000000000000 -vt 0.101734369993 0.380148172379 0.000000000000 -vt 0.098705813289 0.380785822868 0.000000000000 -vt 0.099697157741 0.387924820185 0.000000000000 -vt 0.100644618273 0.390900254250 0.000000000000 -vt 0.105129703879 0.377691507339 0.000000000000 -vt 0.105785802007 0.382571756840 0.000000000000 -vt 0.103088900447 0.383172452450 0.000000000000 -vt 0.106459483504 0.386435866356 0.000000000000 -vt 0.104129120708 0.386695683002 0.000000000000 -vt 0.104879111052 0.390249550343 0.000000000000 -vt 0.102643325925 0.390611141920 0.000000000000 -vt 0.101812496781 0.387293249369 0.000000000000 -vt 0.099612280726 0.383124738932 0.000000000000 -vt 0.100343361497 0.384889960289 0.000000000000 -vt 0.101334720850 0.382499039173 0.000000000000 -vt 0.099765837193 0.381787300110 0.000000000000 -vt 0.101950511336 0.385482788086 0.000000000000 -vt 0.102647826076 0.385179489851 0.000000000000 -vt 0.102046653628 0.383690536022 0.000000000000 -vt 0.101413294673 0.384207725525 0.000000000000 -vt 0.101018831134 0.383238196373 0.000000000000 -vt 0.111804887652 0.347057133913 0.000000000000 -vt 0.113323777914 0.353700101376 0.000000000000 -vt 0.116853311658 0.353322982788 0.000000000000 -vt 0.117552861571 0.346509546041 0.000000000000 -vt 0.123864643276 0.349401652813 0.000000000000 -vt 0.120530322194 0.355773121119 0.000000000000 -vt 0.129755362868 0.355360180140 0.000000000000 -vt 0.124298743904 0.360911160707 0.000000000000 -vt 0.134041413665 0.362597793341 0.000000000000 -vt 0.127354532480 0.367429167032 0.000000000000 -vt 0.129645943642 0.373671829700 0.000000000000 -vt 0.136888504028 0.369591563940 0.000000000000 -vt 0.138823032379 0.375629991293 0.000000000000 -vt 0.131178572774 0.379008889198 0.000000000000 -vt 0.110230609775 0.361257672310 0.000000000000 -vt 0.113775447011 0.356992095709 0.000000000000 -vt 0.115981966257 0.356578052044 0.000000000000 -vt 0.118140742183 0.358845561743 0.000000000000 -vt 0.120337590575 0.363843351603 0.000000000000 -vt 0.122301377356 0.370323300362 0.000000000000 -vt 0.123794607818 0.376463502645 0.000000000000 -vt 0.125330835581 0.385786980391 0.000000000000 -vt 0.124756477773 0.381512612104 0.000000000000 -vt 0.132145613432 0.383721172810 0.000000000000 -vt 0.117319837213 0.365754455328 0.000000000000 -vt 0.116345807910 0.360568702221 0.000000000000 -vt 0.118315473199 0.372491776943 0.000000000000 -vt 0.119095861912 0.378632873297 0.000000000000 -vt 0.115259900689 0.358279764652 0.000000000000 -vt 0.113950163126 0.358692705631 0.000000000000 -vt 0.111850589514 0.362477779388 0.000000000000 -vt 0.109477445483 0.369221389294 0.000000000000 -vt 0.108606114984 0.376295775175 0.000000000000 -vt 0.108548924327 0.381853967905 0.000000000000 -vt 0.108668252826 0.385990947485 0.000000000000 -vt 0.109056636691 0.389389663935 0.000000000000 -vt 0.106977775693 0.389831870794 0.000000000000 -vt 0.115236923099 0.380258053541 0.000000000000 -vt 0.119639605284 0.383368134499 0.000000000000 -vt 0.115580737591 0.384713888168 0.000000000000 -vt 0.114937916398 0.374172329903 0.000000000000 -vt 0.114662095904 0.367107868195 0.000000000000 -vt 0.114699468017 0.361614972353 0.000000000000 -vt 0.114764764905 0.359385490417 0.000000000000 -vt 0.114121511579 0.359670996666 0.000000000000 -vt 0.113303065300 0.362503677607 0.000000000000 -vt 0.112174823880 0.368418276310 0.000000000000 -vt 0.111594587564 0.375343382359 0.000000000000 -vt 0.111402764916 0.381200790405 0.000000000000 -vt 0.111436754465 0.385559558868 0.000000000000 -vt 0.111605182290 0.388848632574 0.000000000000 -vt 0.140208870173 0.380911469460 0.000000000000 -vt 0.120046690106 0.387208133936 0.000000000000 -vt 0.116041406989 0.388132423162 0.000000000000 -vt 0.108075186610 0.335427641869 0.000000000000 -vt 0.097032681108 0.317022114992 0.000000000000 -vt 0.068101368845 0.311556011438 0.000000000000 -vt 0.117994397879 0.334477722645 0.000000000000 -vt 0.128177925944 0.338179260492 0.000000000000 -vt 0.136790558696 0.345966488123 0.000000000000 -vt 0.142394453287 0.355307698250 0.000000000000 -vt 0.145550668240 0.364030212164 0.000000000000 -vt 0.147579327226 0.371295541525 0.000000000000 -vt 0.149121865630 0.377288043499 0.000000000000 -vt 0.117433980107 0.316912233829 0.000000000000 -vt 0.132998272777 0.322530061007 0.000000000000 -vt 0.144912809134 0.333580464125 0.000000000000 -vt 0.151742890477 0.346387058496 0.000000000000 -vt 0.155101761222 0.357449173927 0.000000000000 -vt 0.157138064504 0.366050541401 0.000000000000 -vt 0.158694103360 0.372791916132 0.000000000000 -vt 0.093021988869 0.298639088869 0.000000000000 -vt 0.116434976459 0.299687176943 0.000000000000 -vt 0.137037336826 0.306387364864 0.000000000000 -vt 0.152599602938 0.319078207016 0.000000000000 -vt 0.161577224731 0.334434717894 0.000000000000 -vt 0.165657475591 0.348677575588 0.000000000000 -vt 0.167427644134 0.359111487865 0.000000000000 -vt 0.169053271413 0.366990566254 0.000000000000 -vt 0.066684693098 0.299283713102 0.000000000000 -vt 0.044727105647 0.318464457989 0.000000000000 -vt 0.029994530603 0.333837360144 0.000000000000 -vt 0.023920066655 0.352325320244 0.000000000000 -vt 0.023143958300 0.369406253099 0.000000000000 -vt 0.024057183415 0.384051918983 0.000000000000 -vt 0.024341106415 0.396830379963 0.000000000000 -vt 0.177712291479 0.335085839033 0.000000000000 -vt 0.181121811271 0.347459256649 0.000000000000 -vt 0.170949757099 0.319616109133 0.000000000000 -vt 0.158325985074 0.304390668869 0.000000000000 -vt 0.139046162367 0.292386740446 0.000000000000 -vt 0.114894911647 0.285406500101 0.000000000000 -vt 0.089810602367 0.284732818604 0.000000000000 -vt 0.064246259630 0.287257254124 0.000000000000 -vt 0.060561817139 0.275299966335 0.000000000000 -vt 0.085912264884 0.272128403187 0.000000000000 -vt 0.112814709544 0.271828740835 0.000000000000 -vt 0.139997899532 0.280653685331 0.000000000000 -vt 0.162012219429 0.289723157883 0.000000000000 -vt 0.177664101124 0.300114750862 0.000000000000 -vt 0.190142661333 0.313898980618 0.000000000000 -vt 0.198672652245 0.327432364225 0.000000000000 -vt 0.205239757895 0.340885162354 0.000000000000 -vt 0.183992534876 0.357445776463 0.000000000000 -vt 0.069244705141 0.368339478970 0.000000000000 -vt 0.071158297360 0.372511804104 0.000000000000 -vt 0.073666974902 0.375427126884 0.000000000000 -vt 0.075608938932 0.376399338245 0.000000000000 -vt 0.076639704406 0.375857174397 0.000000000000 -vt 0.077665731311 0.373797893524 0.000000000000 -vt 0.078264869750 0.370282560587 0.000000000000 -vt 0.077448233962 0.365520745516 0.000000000000 -vt 0.075266703963 0.360965639353 0.000000000000 -vt 0.072741590440 0.357893168926 0.000000000000 -vt 0.070687949657 0.356488436460 0.000000000000 -vt 0.069615535438 0.357108056545 0.000000000000 -vt 0.068887837231 0.359731346369 0.000000000000 -vt 0.068630032241 0.363813161850 0.000000000000 -vt 0.070949353278 0.367750674486 0.000000000000 -vt 0.072260208428 0.371762514114 0.000000000000 -vt 0.074021823704 0.374623537064 0.000000000000 -vt 0.075438044965 0.375722974539 0.000000000000 -vt 0.076083339751 0.375304430723 0.000000000000 -vt 0.076256714761 0.373671144247 0.000000000000 -vt 0.077135719359 0.370294928551 0.000000000000 -vt 0.076337769628 0.365889549255 0.000000000000 -vt 0.074512436986 0.361760437489 0.000000000000 -vt 0.072514630854 0.358907490969 0.000000000000 -vt 0.070951603353 0.357409089804 0.000000000000 -vt 0.070442758501 0.357752889395 0.000000000000 -vt 0.070120111108 0.359841883183 0.000000000000 -vt 0.070317119360 0.363489836454 0.000000000000 -vt 0.095527067780 0.433499604464 0.000000000000 -vt 0.089006572962 0.431389659643 0.000000000000 -vt 0.089679561555 0.423253923655 0.000000000000 -vt 0.095813460648 0.423289269209 0.000000000000 -vt 0.090270593762 0.442476540804 0.000000000000 -vt 0.085782580078 0.438130587339 0.000000000000 -vt 0.082391515374 0.447095155716 0.000000000000 -vt 0.081284202635 0.441373258829 0.000000000000 -vt 0.088421173394 0.409246772528 0.000000000000 -vt 0.092461802065 0.414794385433 0.000000000000 -vt 0.088074430823 0.416153192520 0.000000000000 -vt 0.085401162505 0.411531209946 0.000000000000 -vt 0.085601098835 0.423056453466 0.000000000000 -vt 0.085188619792 0.417149722576 0.000000000000 -vt 0.084852233529 0.429683655500 0.000000000000 -vt 0.083113588393 0.435138046741 0.000000000000 -vt 0.080847173929 0.437920957804 0.000000000000 -vt 0.083637073636 0.413283139467 0.000000000000 -vt 0.082392193377 0.409229904413 0.000000000000 -vt 0.084188699722 0.404711484909 0.000000000000 -vt 0.081871181726 0.411629140377 0.000000000000 -vt 0.079863473773 0.408857047558 0.000000000000 -vt 0.078159049153 0.404978066683 0.000000000000 -vt 0.080601528287 0.411386430264 0.000000000000 -vt 0.077497541904 0.440609782934 0.000000000000 -vt 0.078839689493 0.437481015921 0.000000000000 -vt 0.075624249876 0.445949316025 0.000000000000 -vt 0.076512485743 0.410979568958 0.000000000000 -vt 0.072959765792 0.408222317696 0.000000000000 -vt 0.078687265515 0.412980526686 0.000000000000 -vt 0.074185512960 0.435919106007 0.000000000000 -vt 0.076881967485 0.434023529291 0.000000000000 -vt 0.070257902145 0.439116775990 0.000000000000 -vt 0.073384404182 0.416101634502 0.000000000000 -vt 0.069238848984 0.414494931698 0.000000000000 -vt 0.076494477689 0.417049527168 0.000000000000 -vt 0.072321221232 0.429132491350 0.000000000000 -vt 0.075570665300 0.428600221872 0.000000000000 -vt 0.067612551153 0.430139392614 0.000000000000 -vt 0.072135694325 0.422728389502 0.000000000000 -vt 0.075469121337 0.422917068005 0.000000000000 -vt 0.067447289824 0.422248363495 0.000000000000 -vt 0.102335080504 0.423187494278 0.000000000000 -vt 0.103228494525 0.435963690281 0.000000000000 -vt 0.096575386822 0.448499649763 0.000000000000 -vt 0.084121152759 0.455617934465 0.000000000000 -vt 0.072271011770 0.453928828239 0.000000000000 -vt 0.063513830304 0.444215625525 0.000000000000 -vt 0.059691589326 0.431783914566 0.000000000000 -vt 0.059796515852 0.421276837587 0.000000000000 -vt 0.062896229327 0.411542922258 0.000000000000 -vt 0.068578697741 0.404683113098 0.000000000000 -vt 0.075288772583 0.400957018137 0.000000000000 -vt 0.082664631307 0.399442404509 0.000000000000 -vt 0.090280279517 0.402916997671 0.000000000000 -vt 0.092445820570 0.407546848059 0.000000000000 -vt 0.097145929933 0.413269847631 0.000000000000 -vt 0.101524755359 0.411767631769 0.000000000000 -vt 0.108704730868 0.422636747360 0.000000000000 -vt 0.073573760688 0.397591859102 0.000000000000 -vt 0.082102417946 0.395999342203 0.000000000000 -vt 0.089554600418 0.398501247168 0.000000000000 -vt 0.089799568057 0.395039051771 0.000000000000 -vt 0.096459656954 0.406454414129 0.000000000000 -vt 0.094413220882 0.401787608862 0.000000000000 -vt 0.097341135144 0.400798738003 0.000000000000 -vt 0.099026650190 0.404693007469 0.000000000000 -vt 0.103435859084 0.409006088972 0.000000000000 -vt 0.100435674191 0.402943789959 0.000000000000 -vt 0.104281768203 0.405376374722 0.000000000000 -vt 0.098907768726 0.399778544903 0.000000000000 -vt 0.065163768828 0.400598347187 0.000000000000 -vt 0.049860190600 0.420209825039 0.000000000000 -vt 0.048853974789 0.434106171131 0.000000000000 -vt 0.054477673024 0.406693518162 0.000000000000 -vt 0.086032271385 0.466448366642 0.000000000000 -vt 0.067181386054 0.464296758175 0.000000000000 -vt 0.053818415850 0.451216369867 0.000000000000 -vt 0.103748381138 0.455393463373 0.000000000000 -vt 0.094275876880 0.397762984037 0.000000000000 -vt 0.095426648855 0.394399613142 0.000000000000 -vt 0.096762046218 0.398063540459 0.000000000000 -vt 0.098227351904 0.396364301443 0.000000000000 -vt 0.097545132041 0.393038094044 0.000000000000 -vt 0.098932549357 0.393664687872 0.000000000000 -vt 0.040455233306 0.407481104136 0.000000000000 -vt 0.037843432277 0.421338081360 0.000000000000 -vt 0.036472912878 0.438838243484 0.000000000000 -vt 0.042982604355 0.460524737835 0.000000000000 -vt 0.062214907259 0.477089822292 0.000000000000 -vt 0.089566305280 0.478372305632 0.000000000000 -vt 0.111008062959 0.438808530569 0.000000000000 -vt 0.113180801272 0.462344437838 0.000000000000 -vt 0.120472237468 0.442430824041 0.000000000000 -vt 0.117490500212 0.428076952696 0.000000000000 -vt 0.109111800790 0.414127260447 0.000000000000 -vt 0.115140110254 0.419330358505 0.000000000000 -vt 0.109508290887 0.408478111029 0.000000000000 -vt 0.099965557456 0.396614462137 0.000000000000 -vt 0.100016877055 0.399250566959 0.000000000000 -vt 0.101089760661 0.401380300522 0.000000000000 -vt 0.104426547885 0.401133537292 0.000000000000 -vt 0.100525066257 0.394041150808 0.000000000000 -vt 0.108131244779 0.401879489422 0.000000000000 -vt 0.105194106698 0.397765219212 0.000000000000 -vt 0.107807472348 0.397282481194 0.000000000000 -vt 0.105133533478 0.393932640553 0.000000000000 -vt 0.107335999608 0.393302202225 0.000000000000 -vt 0.102719649673 0.394079893827 0.000000000000 -vt 0.101905718446 0.396900862455 0.000000000000 -vt 0.101522728801 0.398900896311 0.000000000000 -vt 0.101974606514 0.400191038847 0.000000000000 -vt 0.103468522429 0.399126052856 0.000000000000 -vt 0.104171678424 0.395909041166 0.000000000000 -vt 0.103377550840 0.395803213120 0.000000000000 -vt 0.103972420096 0.397658735514 0.000000000000 -vt 0.103157803416 0.397318959236 0.000000000000 -vt 0.102937594056 0.398482114077 0.000000000000 -vt 0.120900921524 0.421827554703 0.000000000000 -vt 0.125391185284 0.429458737373 0.000000000000 -vt 0.124984331429 0.420799940825 0.000000000000 -vt 0.132154166698 0.427056103945 0.000000000000 -vt 0.128460273147 0.416311025620 0.000000000000 -vt 0.138081595302 0.420313149691 0.000000000000 -vt 0.142197445035 0.410675615072 0.000000000000 -vt 0.131676614285 0.408927738667 0.000000000000 -vt 0.133587732911 0.401068240404 0.000000000000 -vt 0.143351808190 0.401146143675 0.000000000000 -vt 0.133652120829 0.394226670265 0.000000000000 -vt 0.142618030310 0.392982929945 0.000000000000 -vt 0.132911369205 0.388540625572 0.000000000000 -vt 0.141394317150 0.386369884014 0.000000000000 -vt 0.114809587598 0.414815992117 0.000000000000 -vt 0.119088873267 0.418000578880 0.000000000000 -vt 0.121582247317 0.417691677809 0.000000000000 -vt 0.123152919114 0.414221823215 0.000000000000 -vt 0.124552257359 0.408110886812 0.000000000000 -vt 0.125927954912 0.401200413704 0.000000000000 -vt 0.126286625862 0.395116031170 0.000000000000 -vt 0.125815823674 0.390080004930 0.000000000000 -vt 0.120327234268 0.413139492273 0.000000000000 -vt 0.120299309492 0.407533794641 0.000000000000 -vt 0.120726875961 0.401063978672 0.000000000000 -vt 0.120826847851 0.395488440990 0.000000000000 -vt 0.119930967689 0.416081815958 0.000000000000 -vt 0.118429407477 0.416086316109 0.000000000000 -vt 0.115609556437 0.412894517183 0.000000000000 -vt 0.112695828080 0.407353222370 0.000000000000 -vt 0.111295580864 0.401569455862 0.000000000000 -vt 0.110395416617 0.396767795086 0.000000000000 -vt 0.109471604228 0.392846018076 0.000000000000 -vt 0.116785764694 0.395642906427 0.000000000000 -vt 0.116270169616 0.391529113054 0.000000000000 -vt 0.120401531458 0.391011029482 0.000000000000 -vt 0.117080941796 0.400902092457 0.000000000000 -vt 0.117325022817 0.407227128744 0.000000000000 -vt 0.118285760283 0.412657201290 0.000000000000 -vt 0.118986204267 0.415048807859 0.000000000000 -vt 0.118248149753 0.414979010820 0.000000000000 -vt 0.116768434644 0.412282764912 0.000000000000 -vt 0.114910230041 0.406959205866 0.000000000000 -vt 0.113860324025 0.401094585657 0.000000000000 -vt 0.113027706742 0.396125406027 0.000000000000 -vt 0.112157255411 0.392097175121 0.000000000000 -vt 0.130801886320 0.442939460278 0.000000000000 -vt 0.128610894084 0.468570888042 0.000000000000 -vt 0.094356708229 0.491361290216 0.000000000000 -vt 0.141893029213 0.437752097845 0.000000000000 -vt 0.150102630258 0.427333265543 0.000000000000 -vt 0.154337808490 0.414093464613 0.000000000000 -vt 0.154476270080 0.401521474123 0.000000000000 -vt 0.152643069625 0.391335010529 0.000000000000 -vt 0.150666207075 0.383463352919 0.000000000000 -vt 0.151377916336 0.454670488834 0.000000000000 -vt 0.163681745529 0.437636584044 0.000000000000 -vt 0.168372631073 0.418352723122 0.000000000000 -vt 0.166913852096 0.401432096958 0.000000000000 -vt 0.163569614291 0.388818919659 0.000000000000 -vt 0.160684034228 0.379647225142 0.000000000000 -vt 0.159950926900 0.471008867025 0.000000000000 -vt 0.132880300283 0.489435285330 0.000000000000 -vt 0.177281573415 0.447766780853 0.000000000000 -vt 0.184215664864 0.422988891602 0.000000000000 -vt 0.181977853179 0.401209205389 0.000000000000 -vt 0.176495552063 0.385539740324 0.000000000000 -vt 0.171912297606 0.374865829945 0.000000000000 -vt 0.098764792085 0.505384683609 0.000000000000 -vt 0.058615576476 0.491276592016 0.000000000000 -vt 0.294122487307 0.343028873205 0.000000000000 -vt 0.033512126654 0.473827123642 0.000000000000 -vt 0.022036869079 0.449060529470 0.000000000000 -vt 0.304196149111 0.365502059460 0.000000000000 -vt 0.294669389725 0.374178409576 0.000000000000 -vt 0.283370435238 0.353863328695 0.000000000000 -vt 0.021253105253 0.427221357822 0.000000000000 -vt 0.316540300846 0.419560700655 0.000000000000 -vt 0.308288812637 0.422085821629 0.000000000000 -vt 0.304480075836 0.396445810795 0.000000000000 -vt 0.312906295061 0.403799384832 0.000000000000 -vt 0.320418357849 0.438478231430 0.000000000000 -vt 0.309799134731 0.442829579115 0.000000000000 -vt 0.322631418705 0.453612715006 0.000000000000 -vt 0.308162033558 0.458434849977 0.000000000000 -vt 0.322842836380 0.466000735760 0.000000000000 -vt 0.304739683867 0.470083713531 0.000000000000 -vt 0.321488976479 0.476586610079 0.000000000000 -vt 0.301276564598 0.479211658239 0.000000000000 -vt 0.318110078573 0.486222833395 0.000000000000 -vt 0.298631459475 0.487806051970 0.000000000000 -vt 0.342029422522 0.477887094021 0.000000000000 -vt 0.335520654917 0.489814013243 0.000000000000 -vt 0.338924765587 0.462258905172 0.000000000000 -vt 0.335986942053 0.447854578495 0.000000000000 -vt 0.331019103527 0.432695329189 0.000000000000 -vt 0.324403166771 0.415379106998 0.000000000000 -vt 0.317968666553 0.397860914469 0.000000000000 -vt 0.311544537544 0.382980197668 0.000000000000 -vt 0.292794078588 0.320117980242 0.000000000000 -vt 0.322062432766 0.330567449331 0.000000000000 -vt 0.310178071260 0.344646602869 0.000000000000 -vt 0.321752399206 0.375562220812 0.000000000000 -vt 0.315860539675 0.358816295862 0.000000000000 -vt 0.327765852213 0.391973108053 0.000000000000 -vt 0.334508121014 0.409605920315 0.000000000000 -vt 0.341052263975 0.426227092743 0.000000000000 -vt 0.345613449812 0.441917032003 0.000000000000 -vt 0.349559307098 0.456911921501 0.000000000000 -vt 0.353330194950 0.470938861370 0.000000000000 -vt 0.352067083120 0.491384476423 0.000000000000 -vt 0.346471965313 0.498636275530 0.000000000000 -vt 0.357014626265 0.482859700918 0.000000000000 -vt 0.023049619049 0.410277992487 0.000000000000 -vt 0.188200235367 0.367613345385 0.000000000000 -vt 0.193979293108 0.380675494671 0.000000000000 -vt 0.199914619327 0.400077104568 0.000000000000 -vt 0.200497537851 0.426822185516 0.000000000000 -vt 0.188813567162 0.456079959869 0.000000000000 -vt 0.165967300534 0.483203917742 0.000000000000 -vt 0.135587558150 0.503403544426 0.000000000000 -vt 0.101455852389 0.518397510052 0.000000000000 -vt 0.136549651623 0.514204204082 0.000000000000 -vt 0.102526023984 0.530645966530 0.000000000000 -vt 0.170128390193 0.491040199995 0.000000000000 -vt 0.198282465339 0.460966050625 0.000000000000 -vt 0.217465236783 0.429308772087 0.000000000000 -vt 0.220426246524 0.397770404816 0.000000000000 -vt 0.216484680772 0.373772233725 0.000000000000 -vt 0.211094245315 0.355721533298 0.000000000000 -vt 0.078403115273 0.417854249477 0.000000000000 -vt 0.077661454678 0.423130065203 0.000000000000 -vt 0.361433088779 0.473092228174 0.000000000000 -vt 0.358897387981 0.464050680399 0.000000000000 -vt 0.356920510530 0.451468318701 0.000000000000 -vt 0.079683125019 0.414227455854 0.000000000000 -vt 0.080865636468 0.412698864937 0.000000000000 -vt 0.081717401743 0.412858963013 0.000000000000 -vt 0.082934811711 0.414582073689 0.000000000000 -vt 0.083612754941 0.417999476194 0.000000000000 -vt 0.083627842367 0.422989368439 0.000000000000 -vt 0.355338811874 0.436321228743 0.000000000000 -vt 0.352934360504 0.420035988092 0.000000000000 -vt 0.348425179720 0.402650177479 0.000000000000 -vt 0.342104852200 0.385241180658 0.000000000000 -vt 0.336092978716 0.368649065495 0.000000000000 -vt 0.083053693175 0.428555428982 0.000000000000 -vt 0.331038475037 0.351473778486 0.000000000000 -vt 0.295939028263 0.301119387150 0.000000000000 -vt 0.322564095259 0.306299775839 0.000000000000 -vt 0.297336816788 0.282364428043 0.000000000000 -vt 0.323178768158 0.284241318703 0.000000000000 -vt 0.367684066296 0.461390703917 0.000000000000 -vt 0.363470733166 0.458035647869 0.000000000000 -vt 0.364652335644 0.447590470314 0.000000000000 -vt 0.365994274616 0.432411193848 0.000000000000 -vt 0.366280674934 0.415150791407 0.000000000000 -vt 0.364420890808 0.396647334099 0.000000000000 -vt 0.360572069883 0.378713041544 0.000000000000 -vt 0.356490701437 0.362032413483 0.000000000000 -vt 0.353067219257 0.345778703690 0.000000000000 -vt 0.350522726774 0.327914893627 0.000000000000 -vt 0.348939448595 0.305953025818 0.000000000000 -vt 0.346083581448 0.277952730656 0.000000000000 -vt 0.373975127935 0.447995543480 0.000000000000 -vt 0.379207283258 0.431906849146 0.000000000000 -vt 0.382956564426 0.412491261959 0.000000000000 -vt 0.384116321802 0.392035484314 0.000000000000 -vt 0.382254749537 0.373682171106 0.000000000000 -vt 0.379626274109 0.358964234591 0.000000000000 -vt 0.377992331982 0.345823734999 0.000000000000 -vt 0.377301573753 0.329902321100 0.000000000000 -vt 0.376336544752 0.303653508425 0.000000000000 -vt 0.370527774096 0.266846507788 0.000000000000 -vt 0.216167435050 0.467717558146 0.000000000000 -vt 0.210370138288 0.459447145462 0.000000000000 -vt 0.081996142864 0.433199465275 0.000000000000 -vt 0.222096204758 0.439130961895 0.000000000000 -vt 0.226445078850 0.444121509790 0.000000000000 -vt 0.233966410160 0.386992007494 0.000000000000 -vt 0.231436342001 0.403846651316 0.000000000000 -vt 0.228788286448 0.415274649858 0.000000000000 -vt 0.231669127941 0.390098005533 0.000000000000 -vt 0.233401954174 0.365559697151 0.000000000000 -vt 0.227946877480 0.368952572346 0.000000000000 -vt 0.222369551659 0.352989733219 0.000000000000 -vt 0.231268167496 0.347663909197 0.000000000000 -vt 0.228197038174 0.333069592714 0.000000000000 -vt 0.215772062540 0.341411590576 0.000000000000 -vt 0.225630939007 0.321423888206 0.000000000000 -vt 0.210557922721 0.332115828991 0.000000000000 -vt 0.240293502808 0.310512185097 0.000000000000 -vt 0.238473564386 0.327548325062 0.000000000000 -vt 0.237924396992 0.344880312681 0.000000000000 -vt 0.237548619509 0.364148646593 0.000000000000 -vt 0.080796964467 0.435884207487 0.000000000000 -vt 0.235683202744 0.385488867760 0.000000000000 -vt 0.233118027449 0.406267970800 0.000000000000 -vt 0.231307089329 0.424209684134 0.000000000000 -vt 0.210896104574 0.489333540201 0.000000000000 -vt 0.228112816811 0.462109386921 0.000000000000 -vt 0.236405730247 0.472126305103 0.000000000000 -vt 0.236261844635 0.426290810108 0.000000000000 -vt 0.232935667038 0.445951789618 0.000000000000 -vt 0.237997591496 0.406573981047 0.000000000000 -vt 0.240250259638 0.385305374861 0.000000000000 -vt 0.242734611034 0.364867120981 0.000000000000 -vt 0.244929671288 0.346436828375 0.000000000000 -vt 0.247872665524 0.330308973789 0.000000000000 -vt 0.250990182161 0.316065877676 0.000000000000 -vt 0.249255821109 0.295715004206 0.000000000000 -vt 0.254375159740 0.304102927446 0.000000000000 -vt 0.259052336216 0.313747882843 0.000000000000 -vt 0.256746292114 0.322819858789 0.000000000000 -vt 0.255218595266 0.335408508778 0.000000000000 -vt 0.254195064306 0.350621551275 0.000000000000 -vt 0.252835571766 0.367554813623 0.000000000000 -vt 0.250323951244 0.386674314737 0.000000000000 -vt 0.247343555093 0.407099246979 0.000000000000 -vt 0.244989335537 0.426806420088 0.000000000000 -vt 0.242804884911 0.447076678276 0.000000000000 -vt 0.235569059849 0.496732383966 0.000000000000 -vt 0.210636273026 0.507261335850 0.000000000000 -vt 0.265602082014 0.325080633163 0.000000000000 -vt 0.261477023363 0.328609049320 0.000000000000 -vt 0.262952446938 0.338707923889 0.000000000000 -vt 0.264598786831 0.353362590075 0.000000000000 -vt 0.265408009291 0.370452553034 0.000000000000 -vt 0.264614790678 0.389507651329 0.000000000000 -vt 0.262594908476 0.408623784781 0.000000000000 -vt 0.260723888874 0.426476329565 0.000000000000 -vt 0.259777098894 0.444406121969 0.000000000000 -vt 0.259517729282 0.464280545712 0.000000000000 -vt 0.259723722935 0.488092929125 0.000000000000 -vt 0.272190570831 0.337464153767 0.000000000000 -vt 0.277376800776 0.352163642645 0.000000000000 -vt 0.281132608652 0.370615124702 0.000000000000 -vt 0.283069849014 0.391205787659 0.000000000000 -vt 0.282786369324 0.410528808832 0.000000000000 -vt 0.281975150108 0.425936192274 0.000000000000 -vt 0.281850397587 0.438871800900 0.000000000000 -vt 0.282650381327 0.454188883305 0.000000000000 -vt 0.285106837749 0.479603022337 0.000000000000 -vt 0.079694159329 0.435663342476 0.000000000000 -vt 0.078524023294 0.432797789574 0.000000000000 -vt 0.077620923519 0.428230971098 0.000000000000 -vt 0.079657681286 0.418213814497 0.000000000000 -vt 0.079307116568 0.423214733601 0.000000000000 -vt 0.080295994878 0.414836943150 0.000000000000 -vt 0.080963805318 0.413298457861 0.000000000000 -vt 0.081294111907 0.413456052542 0.000000000000 -vt 0.081488415599 0.414713323116 0.000000000000 -vt 0.082648865879 0.418150305748 0.000000000000 -vt 0.082757845521 0.422904253006 0.000000000000 -vt 0.082332074642 0.427900880575 0.000000000000 -vt 0.081549659371 0.432032704353 0.000000000000 -vt 0.080782778561 0.434659361839 0.000000000000 -vt 0.080355659127 0.434551537037 0.000000000000 -vt 0.079714648426 0.432231515646 0.000000000000 -vt 0.079296082258 0.428110510111 0.000000000000 -vt 0.221947401762 0.311564117670 0.000000000000 -vt 0.206676691771 0.323618710041 0.000000000000 -vt 0.234236359596 0.298808634281 0.000000000000 -vt 0.243671953678 0.288532763720 0.000000000000 -vt 0.210074737668 0.525931179523 0.000000000000 -vt 0.234980046749 0.519074082375 0.000000000000 -vt 0.258448451757 0.516759932041 0.000000000000 -vt 0.285151630640 0.516420423985 0.000000000000 -vt 0.195827364922 0.027920853347 0.000000000000 -vt 0.193216472864 0.025534208864 0.000000000000 -vt 0.208045646548 0.014590993524 0.000000000000 -vt 0.209939867258 0.017815891653 0.000000000000 -vt 0.219733223319 0.012098524719 0.000000000000 -vt 0.219577640295 0.015777334571 0.000000000000 -vt 0.231459319592 0.012075107545 0.000000000000 -vt 0.230521082878 0.016644857824 0.000000000000 -vt 0.243238985538 0.012886568904 0.000000000000 -vt 0.242090910673 0.019283901900 0.000000000000 -vt 0.254986017942 0.014112763107 0.000000000000 -vt 0.254209905863 0.020853456110 0.000000000000 -vt 0.268618255854 0.021859001368 0.000000000000 -vt 0.266599744558 0.015186753124 0.000000000000 -vt 0.278297692537 0.015581674874 0.000000000000 -vt 0.280311465263 0.022918354720 0.000000000000 -vt 0.294243395329 0.017284523696 0.000000000000 -vt 0.290962666273 0.024005178362 0.000000000000 -vt 0.296158790588 0.030226442963 0.000000000000 -vt 0.300414890051 0.029313210398 0.000000000000 -vt 0.303686618805 0.042154934257 0.000000000000 -vt 0.299199730158 0.041589122266 0.000000000000 -vt 0.303400695324 0.052850034088 0.000000000000 -vt 0.299067586660 0.051488291472 0.000000000000 -vt 0.301245510578 0.063028395176 0.000000000000 -vt 0.297050625086 0.061028119177 0.000000000000 -vt 0.188072130084 0.041658472270 0.000000000000 -vt 0.184647515416 0.040359999985 0.000000000000 -vt 0.185590237379 0.054300930351 0.000000000000 -vt 0.180999323726 0.054078709334 0.000000000000 -vt 0.186842098832 0.067733690143 0.000000000000 -vt 0.180815145373 0.066969290376 0.000000000000 -vt 0.187923297286 0.082707628608 0.000000000000 -vt 0.181074976921 0.081876814365 0.000000000000 -vt 0.187377303839 0.107746466994 0.000000000000 -vt 0.187539190054 0.120622426271 0.000000000000 -vt 0.181078135967 0.122370526195 0.000000000000 -vt 0.180750086904 0.106961801648 0.000000000000 -vt 0.181374669075 0.094601452351 0.000000000000 -vt 0.187665045261 0.095849484205 0.000000000000 -vt 0.227798283100 0.129312291741 0.000000000000 -vt 0.238564521074 0.124569609761 0.000000000000 -vt 0.243330389261 0.127270132303 0.000000000000 -vt 0.231010556221 0.133791074157 0.000000000000 -vt 0.220073655248 0.135354548693 0.000000000000 -vt 0.218523919582 0.131200432777 0.000000000000 -vt 0.206768333912 0.135661438107 0.000000000000 -vt 0.206591814756 0.131151124835 0.000000000000 -vt 0.194878339767 0.131718292832 0.000000000000 -vt 0.195264026523 0.127670004964 0.000000000000 -vt 0.297571629286 0.073909014463 0.000000000000 -vt 0.293510973454 0.071692824364 0.000000000000 -vt 0.293531447649 0.085388556123 0.000000000000 -vt 0.288804322481 0.082740962505 0.000000000000 -vt 0.284273296595 0.097582057118 0.000000000000 -vt 0.281252384186 0.094275429845 0.000000000000 -vt 0.270511358976 0.111514881253 0.000000000000 -vt 0.267813563347 0.108745023608 0.000000000000 -vt 0.253925532103 0.117747187614 0.000000000000 -vt 0.256331086159 0.121454820037 0.000000000000 -vt 0.267415255308 0.081492692232 0.000000000000 -vt 0.255906671286 0.094144165516 0.000000000000 -vt 0.244139820337 0.101001486182 0.000000000000 -vt 0.231230318546 0.105198845267 0.000000000000 -vt 0.219598352909 0.110711082816 0.000000000000 -vt 0.213647723198 0.110525771976 0.000000000000 -vt 0.198271200061 0.116921544075 0.000000000000 -vt 0.203886121511 0.110362097621 0.000000000000 -vt 0.196813777089 0.098104864359 0.000000000000 -vt 0.196252465248 0.102853164077 0.000000000000 -vt 0.272518634796 0.073012456298 0.000000000000 -vt 0.276711463928 0.062691569328 0.000000000000 -vt 0.280104994774 0.053172681481 0.000000000000 -vt 0.283575773239 0.045879449695 0.000000000000 -vt 0.283506870270 0.039421103895 0.000000000000 -vt 0.282259076834 0.030528377742 0.000000000000 -vt 0.272425651550 0.030439440161 0.000000000000 -vt 0.257659971714 0.030192218721 0.000000000000 -vt 0.247058525681 0.033215377480 0.000000000000 -vt 0.228341341019 0.025837715715 0.000000000000 -vt 0.218866378069 0.024133518338 0.000000000000 -vt 0.212634310126 0.025178913027 0.000000000000 -vt 0.200903266668 0.032452777028 0.000000000000 -vt 0.194876089692 0.044088792056 0.000000000000 -vt 0.193243041635 0.053994949907 0.000000000000 -vt 0.194931253791 0.067793801427 0.000000000000 -vt 0.198766767979 0.084062173963 0.000000000000 -vt 0.206359907985 0.094736546278 0.000000000000 -vt 0.212366148829 0.098234102130 0.000000000000 -vt 0.217166453600 0.096218973398 0.000000000000 -vt 0.205443292856 0.087112799287 0.000000000000 -vt 0.226509511471 0.090840920806 0.000000000000 -vt 0.237037748098 0.087899029255 0.000000000000 -vt 0.246875688434 0.081057921052 0.000000000000 -vt 0.256278872490 0.072482436895 0.000000000000 -vt 0.260736495256 0.057795342058 0.000000000000 -vt 0.259254723787 0.064904838800 0.000000000000 -vt 0.272691100836 0.038979575038 0.000000000000 -vt 0.262009739876 0.038989257067 0.000000000000 -vt 0.276944041252 0.045822035521 0.000000000000 -vt 0.268426418304 0.047114204615 0.000000000000 -vt 0.269619315863 0.043809827417 0.000000000000 -vt 0.253669768572 0.045147921890 0.000000000000 -vt 0.248847588897 0.056667540222 0.000000000000 -vt 0.246177032590 0.064497530460 0.000000000000 -vt 0.239239543676 0.071869567037 0.000000000000 -vt 0.232059359550 0.077080324292 0.000000000000 -vt 0.222070574760 0.079870447516 0.000000000000 -vt 0.206698760390 0.074161648750 0.000000000000 -vt 0.213897421956 0.072432681918 0.000000000000 -vt 0.205729246140 0.062620416284 0.000000000000 -vt 0.203790888190 0.054370727390 0.000000000000 -vt 0.204770088196 0.045650247484 0.000000000000 -vt 0.208388775587 0.038391694427 0.000000000000 -vt 0.216515302658 0.032267022878 0.000000000000 -vt 0.221525013447 0.031139671803 0.000000000000 -vt 0.229856431484 0.032532032579 0.000000000000 -vt 0.240117192268 0.040356174111 0.000000000000 -vt 0.238003432751 0.049525838345 0.000000000000 -vt 0.230851382017 0.062317129225 0.000000000000 -vt 0.223892956972 0.068100020289 0.000000000000 -vt 0.218158707023 0.060949768871 0.000000000000 -vt 0.224889278412 0.055608633906 0.000000000000 -vt 0.231338173151 0.044668566436 0.000000000000 -vt 0.224949836731 0.040866594762 0.000000000000 -vt 0.220517441630 0.039209909737 0.000000000000 -vt 0.215718701482 0.043925788254 0.000000000000 -vt 0.211569100618 0.049045812339 0.000000000000 -vt 0.212551221251 0.054835002869 0.000000000000 -vt 0.219418004155 0.048615094274 0.000000000000 -vt 0.177896246314 0.039324510843 0.000000000000 -vt 0.189204439521 0.020011376590 0.000000000000 -vt 0.204814672470 0.008875429630 0.000000000000 -vt 0.218808963895 0.005773015320 0.000000000000 -vt 0.232130467892 0.004795841873 0.000000000000 -vt 0.243434399366 0.006405927241 0.000000000000 -vt 0.255707651377 0.007152091712 0.000000000000 -vt 0.266037523746 0.008445382118 0.000000000000 -vt 0.276542603970 0.009638480842 0.000000000000 -vt 0.291882872581 0.013886258006 0.000000000000 -vt 0.305758953094 0.026801381260 0.000000000000 -vt 0.310110300779 0.042010162026 0.000000000000 -vt 0.309658646584 0.054701257497 0.000000000000 -vt 0.307640582323 0.066039174795 0.000000000000 -vt 0.304315268993 0.075605571270 0.000000000000 -vt 0.302689433098 0.083687961102 0.000000000000 -vt 0.289600938559 0.101637110114 0.000000000000 -vt 0.275979250669 0.114943787456 0.000000000000 -vt 0.261293739080 0.125751689076 0.000000000000 -vt 0.248583957553 0.132909372449 0.000000000000 -vt 0.218775406480 0.143254563212 0.000000000000 -vt 0.228658616543 0.143950298429 0.000000000000 -vt 0.206840604544 0.142785564065 0.000000000000 -vt 0.190907508135 0.138325244188 0.000000000000 -vt 0.181003153324 0.126772314310 0.000000000000 -vt 0.174718171358 0.105727061629 0.000000000000 -vt 0.175457358360 0.093386068940 0.000000000000 -vt 0.176170423627 0.080959752202 0.000000000000 -vt 0.175519734621 0.067012742162 0.000000000000 -vt 0.174860477448 0.054189030081 0.000000000000 -vt 0.175442948937 0.118314579129 0.000000000000 -vt 0.299658834934 0.013686995953 0.000000000000 -vt 0.297007620335 0.015501294285 0.000000000000 -vt 0.296986013651 0.094732716680 0.000000000000 -vt 0.178140535951 0.121313422918 0.000000000000 -vt 0.178094834089 0.129377126694 0.000000000000 -vt 0.290370285511 0.010927941650 0.000000000000 -vt 0.240662753582 0.138773083687 0.000000000000 -vt 0.059489179403 0.582100212574 0.000000000000 -vt 0.068415686488 0.582416296005 0.000000000000 -vt 0.067261539400 0.606926023960 0.000000000000 -vt 0.058599364012 0.606609225273 0.000000000000 -vt 0.050634499639 0.581815600395 0.000000000000 -vt 0.050033342093 0.606300354004 0.000000000000 -vt 0.041638877243 0.581597447395 0.000000000000 -vt 0.041299115866 0.606083035469 0.000000000000 -vt 0.032489020377 0.581519067287 0.000000000000 -vt 0.032466728240 0.605973839760 0.000000000000 -vt 0.023544281721 0.581574916840 0.000000000000 -vt 0.023710895330 0.605970263481 0.000000000000 -vt 0.077301658690 0.582797050476 0.000000000000 -vt 0.075893089175 0.607333362103 0.000000000000 -vt 0.035480882972 0.775563001633 0.000000000000 -vt 0.040293347090 0.776472151279 0.000000000000 -vt 0.036699648947 0.779854416847 0.000000000000 -vt 0.032038930804 0.777974605560 0.000000000000 -vt 0.044753897935 0.775144159794 0.000000000000 -vt 0.049120556563 0.776610195637 0.000000000000 -vt 0.044636141509 0.779394447803 0.000000000000 -vt 0.050690788776 0.780745148659 0.000000000000 -vt 0.054302733392 0.776831269264 0.000000000000 -vt 0.056948300451 0.779902398586 0.000000000000 -vt 0.057442288846 0.767054140568 0.000000000000 -vt 0.051350947469 0.766096353531 0.000000000000 -vt 0.045185070485 0.765643537045 0.000000000000 -vt 0.039071660489 0.765589058399 0.000000000000 -vt 0.032788928598 0.766110718250 0.000000000000 -vt 0.026467472315 0.767407417297 0.000000000000 -vt 0.063698008657 0.768436372280 0.000000000000 -vt 0.410184800625 0.205661505461 0.000000000000 -vt 0.061233457178 0.523812234402 0.000000000000 -vt 0.070765629411 0.524310529232 0.000000000000 -vt 0.069685108960 0.554912924767 0.000000000000 -vt 0.060390468687 0.554528176785 0.000000000000 -vt 0.053767081350 0.729990005493 0.000000000000 -vt 0.061261150986 0.730732798576 0.000000000000 -vt 0.054995980114 0.702194809914 0.000000000000 -vt 0.062634825706 0.702704548836 0.000000000000 -vt 0.064006246626 0.678737044334 0.000000000000 -vt 0.055990491062 0.678335130215 0.000000000000 -vt 0.056928943843 0.654432654381 0.000000000000 -vt 0.065110854805 0.654795587063 0.000000000000 -vt 0.066195428371 0.630862057209 0.000000000000 -vt 0.057763587683 0.630513489246 0.000000000000 -vt 0.051746767014 0.523659586906 0.000000000000 -vt 0.051160465926 0.554318308830 0.000000000000 -vt 0.046276170760 0.729541480541 0.000000000000 -vt 0.047176342458 0.701836824417 0.000000000000 -vt 0.047830644995 0.678016304970 0.000000000000 -vt 0.048644352704 0.654150307178 0.000000000000 -vt 0.049303833395 0.630233883858 0.000000000000 -vt 0.042389769107 0.523753523827 0.000000000000 -vt 0.041977059096 0.554233670235 0.000000000000 -vt 0.038769047707 0.729471445084 0.000000000000 -vt 0.039331037551 0.701696574688 0.000000000000 -vt 0.039704795927 0.677826702595 0.000000000000 -vt 0.040310915560 0.653930783272 0.000000000000 -vt 0.040829222649 0.630019962788 0.000000000000 -vt 0.032788697630 0.523885667324 0.000000000000 -vt 0.032603625208 0.554248988628 0.000000000000 -vt 0.031183568761 0.729752242565 0.000000000000 -vt 0.031547192484 0.701745390892 0.000000000000 -vt 0.031793061644 0.677753329277 0.000000000000 -vt 0.032022494823 0.653800427914 0.000000000000 -vt 0.032241348177 0.629892110825 0.000000000000 -vt 0.023286256939 0.523862004280 0.000000000000 -vt 0.023312594742 0.554275989532 0.000000000000 -vt 0.023615654558 0.730087935925 0.000000000000 -vt 0.023773714900 0.701748549938 0.000000000000 -vt 0.023966450244 0.677748382092 0.000000000000 -vt 0.023824151605 0.653813481331 0.000000000000 -vt 0.023755025119 0.629873633385 0.000000000000 -vt 0.080035939813 0.524939179420 0.000000000000 -vt 0.078819200397 0.555354475975 0.000000000000 -vt 0.068714916706 0.731523096561 0.000000000000 -vt 0.070204541087 0.703219473362 0.000000000000 -vt 0.071883074939 0.679210066795 0.000000000000 -vt 0.073152050376 0.655230820179 0.000000000000 -vt 0.074596188962 0.631297707558 0.000000000000 -vt 0.427655726671 0.333007007837 0.000000000000 -vt 0.440372914076 0.328327596188 0.000000000000 -vt 0.444987475872 0.344597071409 0.000000000000 -vt 0.432079792023 0.348230421543 0.000000000000 -vt 0.436833947897 0.363906830549 0.000000000000 -vt 0.449768215418 0.360880523920 0.000000000000 -vt 0.454692780972 0.378165900707 0.000000000000 -vt 0.441895663738 0.381562143564 0.000000000000 -vt 0.414691954851 0.337748318911 0.000000000000 -vt 0.419402211905 0.352767288685 0.000000000000 -vt 0.424107730389 0.368486940861 0.000000000000 -vt 0.429422736168 0.385863065720 0.000000000000 -vt 0.401303559542 0.341026574373 0.000000000000 -vt 0.406823009253 0.357325315475 0.000000000000 -vt 0.411697834730 0.372874319553 0.000000000000 -vt 0.417245209217 0.390449941158 0.000000000000 -vt 0.387970775366 0.344980746508 0.000000000000 -vt 0.393820285797 0.361572891474 0.000000000000 -vt 0.399133056402 0.377458244562 0.000000000000 -vt 0.404806077480 0.394824922085 0.000000000000 -vt 0.453473359346 0.324476778507 0.000000000000 -vt 0.466956764460 0.321778506041 0.000000000000 -vt 0.471398383379 0.338798433542 0.000000000000 -vt 0.458161979914 0.342115193605 0.000000000000 -vt 0.462697505951 0.358080714941 0.000000000000 -vt 0.475638061762 0.355021774769 0.000000000000 -vt 0.480182796717 0.372735410929 0.000000000000 -vt 0.467404156923 0.375559061766 0.000000000000 -vt 0.423334538937 0.312670528889 0.000000000000 -vt 0.433873385191 0.309838533401 0.000000000000 -vt 0.436265200377 0.312351495028 0.000000000000 -vt 0.422530740499 0.315895646811 0.000000000000 -vt 0.447797864676 0.306353360415 0.000000000000 -vt 0.450094014406 0.308744937181 0.000000000000 -vt 0.461704343557 0.302910506725 0.000000000000 -vt 0.463915377855 0.305326640606 0.000000000000 -vt 0.382604420185 0.326017051935 0.000000000000 -vt 0.392749220133 0.322181522846 0.000000000000 -vt 0.395257681608 0.324275016785 0.000000000000 -vt 0.382101863623 0.329265147448 0.000000000000 -vt 0.406064450741 0.317371100187 0.000000000000 -vt 0.408690214157 0.319537758827 0.000000000000 -vt 0.454164594412 0.389897853136 0.000000000000 -vt 0.448823004961 0.391495555639 0.000000000000 -vt 0.443516105413 0.386446684599 0.000000000000 -vt 0.456138074398 0.383067548275 0.000000000000 -vt 0.437463909388 0.395830690861 0.000000000000 -vt 0.431178033352 0.391206234694 0.000000000000 -vt 0.424428552389 0.400618851185 0.000000000000 -vt 0.419008165598 0.395644724369 0.000000000000 -vt 0.412200152874 0.404757648706 0.000000000000 -vt 0.406511843204 0.400167405605 0.000000000000 -vt 0.479276150465 0.385172754526 0.000000000000 -vt 0.473846048117 0.386270821095 0.000000000000 -vt 0.468606919050 0.380785584450 0.000000000000 -vt 0.481370300055 0.378176510334 0.000000000000 -vt 0.436999201775 0.315413832664 0.000000000000 -vt 0.423440814018 0.318899452686 0.000000000000 -vt 0.450722873211 0.311825752258 0.000000000000 -vt 0.464657485485 0.308184534311 0.000000000000 -vt 0.396297454834 0.327027112246 0.000000000000 -vt 0.382932245731 0.332121223211 0.000000000000 -vt 0.409763991833 0.322595357895 0.000000000000 -vt 0.442299365997 0.382790595293 0.000000000000 -vt 0.455049455166 0.379350900650 0.000000000000 -vt 0.429864943027 0.387207239866 0.000000000000 -vt 0.417697101831 0.391777902842 0.000000000000 -vt 0.404973804951 0.396399646997 0.000000000000 -vt 0.467713981867 0.376910001040 0.000000000000 -vt 0.480817049742 0.374158143997 0.000000000000 -vt 0.437278181314 0.316399097443 0.000000000000 -vt 0.423721343279 0.319981753826 0.000000000000 -vt 0.450930684805 0.312892526388 0.000000000000 -vt 0.464460253716 0.309410959482 0.000000000000 -vt 0.396746635437 0.328152865171 0.000000000000 -vt 0.383763283491 0.333080857992 0.000000000000 -vt 0.410141348839 0.323806256056 0.000000000000 -vt 0.371242642403 0.206788405776 0.000000000000 -vt 0.375714451075 0.200254172087 0.000000000000 -vt 0.379231601954 0.206475213170 0.000000000000 -vt 0.375783115625 0.212909027934 0.000000000000 -vt 0.383946120739 0.214252978563 0.000000000000 -vt 0.385994136333 0.206152796745 0.000000000000 -vt 0.383823841810 0.198206618428 0.000000000000 -vt 0.389040261507 0.196492955089 0.000000000000 -vt 0.391231000423 0.205955997109 0.000000000000 -vt 0.388896137476 0.215648040175 0.000000000000 -vt 0.386244505644 0.225284442306 0.000000000000 -vt 0.381366074085 0.234502539039 0.000000000000 -vt 0.377654612064 0.230434879661 0.000000000000 -vt 0.380352199078 0.177962914109 0.000000000000 -vt 0.385863542557 0.187034189701 0.000000000000 -vt 0.376735985279 0.182071089745 0.000000000000 -vt 0.400243073702 0.205795019865 0.000000000000 -vt 0.398853629827 0.194475561380 0.000000000000 -vt 0.398457139730 0.217155665159 0.000000000000 -vt 0.395268946886 0.228200212121 0.000000000000 -vt 0.391248136759 0.239007428288 0.000000000000 -vt 0.395271182060 0.183712929487 0.000000000000 -vt 0.390099167824 0.173236235976 0.000000000000 -vt 0.404895007610 0.295395046473 0.000000000000 -vt 0.401947498322 0.296175211668 0.000000000000 -vt 0.399637848139 0.292153716087 0.000000000000 -vt 0.401830643415 0.291295886040 0.000000000000 -vt 0.399310708046 0.296199768782 0.000000000000 -vt 0.397574305534 0.292755782604 0.000000000000 -vt 0.408904105425 0.288272053003 0.000000000000 -vt 0.407307982445 0.290285140276 0.000000000000 -vt 0.404559284449 0.287732571363 0.000000000000 -vt 0.406326085329 0.285840153694 0.000000000000 -vt 0.406662702560 0.292970359325 0.000000000000 -vt 0.403447926044 0.289671152830 0.000000000000 -vt 0.396660417318 0.287977755070 0.000000000000 -vt 0.398700773716 0.286984145641 0.000000000000 -vt 0.394956201315 0.288790345192 0.000000000000 -vt 0.401856094599 0.284300088882 0.000000000000 -vt 0.403861761093 0.282722651958 0.000000000000 -vt 0.400499969721 0.285655498505 0.000000000000 -vt 0.393806338310 0.283442467451 0.000000000000 -vt 0.395833194256 0.282441198826 0.000000000000 -vt 0.392093360424 0.284306377172 0.000000000000 -vt 0.399467855692 0.280218929052 0.000000000000 -vt 0.401700288057 0.278968840837 0.000000000000 -vt 0.397831201553 0.281272202730 0.000000000000 -vt 0.391297876835 0.278489261866 0.000000000000 -vt 0.393293648958 0.277554869652 0.000000000000 -vt 0.389414459467 0.279250085354 0.000000000000 -vt 0.397396445274 0.275657951832 0.000000000000 -vt 0.399793207645 0.274844229221 0.000000000000 -vt 0.395377457142 0.276584476233 0.000000000000 -vt 0.389087766409 0.272915095091 0.000000000000 -vt 0.391173362732 0.272055685520 0.000000000000 -vt 0.386810988188 0.273582458496 0.000000000000 -vt 0.395762920380 0.270275622606 0.000000000000 -vt 0.398250907660 0.270135104656 0.000000000000 -vt 0.393281280994 0.271341711283 0.000000000000 -vt 0.387520015240 0.266913384199 0.000000000000 -vt 0.389951229095 0.266276419163 0.000000000000 -vt 0.384966522455 0.267515212297 0.000000000000 -vt 0.394670933485 0.264871448278 0.000000000000 -vt 0.397267192602 0.265005409718 0.000000000000 -vt 0.392056882381 0.265746623278 0.000000000000 -vt 0.386280536652 0.262535691261 0.000000000000 -vt 0.389030128717 0.261800318956 0.000000000000 -vt 0.383825421333 0.263225555420 0.000000000000 -vt 0.394305050373 0.261209517717 0.000000000000 -vt 0.396993845701 0.261318951845 0.000000000000 -vt 0.391601622105 0.261423856020 0.000000000000 -vt 0.384926229715 0.259148895741 0.000000000000 -vt 0.388205587864 0.257940262556 0.000000000000 -vt 0.382767438889 0.261004865170 0.000000000000 -vt 0.394367873669 0.258704215288 0.000000000000 -vt 0.397562384605 0.259168028831 0.000000000000 -vt 0.391579329967 0.257740765810 0.000000000000 -vt 0.062066528946 0.497222512960 0.000000000000 -vt 0.071865737438 0.497819632292 0.000000000000 -vt 0.052253138274 0.497047573328 0.000000000000 -vt 0.042627077550 0.497259229422 0.000000000000 -vt 0.032757628709 0.497487276793 0.000000000000 -vt 0.022930733860 0.497487515211 0.000000000000 -vt 0.081421323121 0.498642355204 0.000000000000 -vt 0.408895790577 0.192783519626 0.000000000000 -vt 0.405064105988 0.180669501424 0.000000000000 -vt 0.400167405605 0.169291511178 0.000000000000 -vt 0.401480078697 0.242461070418 0.000000000000 -vt 0.405161798000 0.230870768428 0.000000000000 -vt 0.408491641283 0.218653172255 0.000000000000 -vt 0.380247503519 0.189571470022 0.000000000000 -vt 0.381086647511 0.223131284118 0.000000000000 -vt 0.420218378305 0.313499540091 0.000000000000 -vt 0.442574709654 0.393686324358 0.000000000000 -vt 0.437170535326 0.308998465538 0.000000000000 -vt 0.450992375612 0.305552929640 0.000000000000 -vt 0.395807057619 0.321048557758 0.000000000000 -vt 0.409543335438 0.316259503365 0.000000000000 -vt 0.460468471050 0.388684481382 0.000000000000 -vt 0.429571330547 0.398836284876 0.000000000000 -vt 0.417428702116 0.402817249298 0.000000000000 -vt 0.465852618217 0.387890368700 0.000000000000 -vt 0.165486067533 0.985748410225 0.000000000000 -vt 0.153918713331 0.884558439255 0.000000000000 -vt 0.153763413429 0.881860136986 0.000000000000 -vt 0.204113468528 0.982658386230 0.000000000000 -vt 0.204646229744 0.989186286926 0.000000000000 -vt 0.186044186354 0.877731442451 0.000000000000 -vt 0.185995131731 0.879323482513 0.000000000000 -vt 0.165391892195 0.991528987885 0.000000000000 -vt 0.215989306569 0.874527692795 0.000000000000 -vt 0.239299163222 0.979033589363 0.000000000000 -vt 0.216438904405 0.876245737076 0.000000000000 -vt 0.147602885962 0.884569108486 0.000000000000 -vt 0.252690643072 0.979669451714 0.000000000000 -vt 0.252580404282 0.986951112747 0.000000000000 -vt 0.149314463139 0.881703615189 0.000000000000 -vt 0.239499345422 0.986131906509 0.000000000000 -vt 0.139916136861 0.872989058495 0.000000000000 -vt 0.153603509068 0.992006182671 0.000000000000 -vt 0.153609484434 0.990444540977 0.000000000000 -vt 0.010600453243 0.824086070061 0.000000000000 -vt 0.012143557891 0.805372476578 0.000000000000 -vt 0.018072610721 0.805904865265 0.000000000000 -vt 0.018011515960 0.835803985596 0.000000000000 -vt 0.854685604572 0.394145637751 0.000000000000 -vt 0.856347262859 0.406974732876 0.000000000000 -vt 0.854803860188 0.407253265381 0.000000000000 -vt 0.852515399456 0.394508123398 0.000000000000 -vt 0.014217739925 0.786286652088 0.000000000000 -vt 0.141516894102 0.871268332005 0.000000000000 -vt 0.236085057259 0.870658397675 0.000000000000 -vt 0.235590070486 0.871755778790 0.000000000000 -vt 0.115637660027 0.902860224247 0.000000000000 -vt 0.110983915627 0.890343248844 0.000000000000 -vt 0.113721966743 0.903127968311 0.000000000000 -vt 0.108955033123 0.891542613506 0.000000000000 -vt 0.094152219594 0.932179987431 0.000000000000 -vt 0.092673666775 0.930834054947 0.000000000000 -vt 0.070010572672 0.963107407093 0.000000000000 -vt 0.068242847919 0.961778044701 0.000000000000 -vt 0.061999842525 0.971761763096 0.000000000000 -vt 0.174994021654 0.927675366402 0.000000000000 -vt 0.144831538200 0.970289051533 0.000000000000 -vt 0.200194299221 0.932316362858 0.000000000000 -vt 0.170293733478 0.964262902737 0.000000000000 -vt 0.108677349985 0.981302440166 0.000000000000 -vt 0.124079853296 0.982393920422 0.000000000000 -vt 0.078137099743 0.979704558849 0.000000000000 -vt 0.109282203019 0.983950555325 0.000000000000 -vt 0.105039052665 0.987083256245 0.000000000000 -vt 0.125474229455 0.988127648830 0.000000000000 -vt 0.111332640052 0.988403081894 0.000000000000 -vt 0.149527281523 0.983822643757 0.000000000000 -vt 0.175797849894 0.974198222160 0.000000000000 -vt 0.200493484735 0.947993755341 0.000000000000 -vt 0.202181890607 0.953875601292 0.000000000000 -vt 0.210946768522 0.941928744316 0.000000000000 -vt 0.204716980457 0.950321793556 0.000000000000 -vt 0.211182147264 0.940664827824 0.000000000000 -vt 0.221946761012 0.927524268627 0.000000000000 -vt 0.212981313467 0.939730703831 0.000000000000 -vt 0.219961285591 0.926237881184 0.000000000000 -vt 0.236418157816 0.878085970879 0.000000000000 -vt 0.009088402614 0.867007911205 0.000000000000 -vt 0.233274430037 0.900619506836 0.000000000000 -vt 0.223317831755 0.925070583820 0.000000000000 -vt 0.222155556083 0.926465988159 0.000000000000 -vt 0.221913784742 0.924954414368 0.000000000000 -vt 0.222598418593 0.927596032619 0.000000000000 -vt 0.201231330633 0.949153244495 0.000000000000 -vt 0.203538969159 0.953897118568 0.000000000000 -vt 0.818132102489 0.385249525309 0.000000000000 -vt 0.205010369420 0.951609432697 0.000000000000 -vt 0.213920146227 0.940414905548 0.000000000000 -vt 0.818589150906 0.383544415236 0.000000000000 -vt 0.780589759350 0.374358534813 0.000000000000 -vt 0.016577487811 0.868200361729 0.000000000000 -vt 0.016604727134 0.872863054276 0.000000000000 -vt 0.010927146301 0.873423874378 0.000000000000 -vt 0.781472146511 0.373139113188 0.000000000000 -vt 0.775797307491 0.355791121721 0.000000000000 -vt 0.767820060253 0.372488409281 0.000000000000 -vt 0.802661955357 0.343176126480 0.000000000000 -vt 0.212836444378 0.942034363747 0.000000000000 -vt 0.794418156147 0.332618147135 0.000000000000 -vt 0.017825072631 0.886228740215 0.000000000000 -vt 0.859027683735 0.311750322580 0.000000000000 -vt 0.856714665890 0.300876915455 0.000000000000 -vt 0.011322205886 0.886385619640 0.000000000000 -vt 0.890980184078 0.300591170788 0.000000000000 -vt 0.212094113231 0.942788124084 0.000000000000 -vt 0.234720200300 0.900862038136 0.000000000000 -vt 0.237578302622 0.878117561340 0.000000000000 -vt 0.077356182039 0.981415390968 0.000000000000 -vt 0.060611370951 0.973357379436 0.000000000000 -vt 0.105943888426 0.988982677460 0.000000000000 -vt 0.258138507605 0.974806785583 0.000000000000 -vt 0.257529258728 0.990823626518 0.000000000000 -vt 0.264203071594 0.971977353096 0.000000000000 -vt 0.263009667397 0.993429660797 0.000000000000 -vt 0.271215617657 0.974126696587 0.000000000000 -vt 0.269773542881 0.993223547935 0.000000000000 -vt 0.125471040606 0.989767909050 0.000000000000 -vt 0.110437445343 0.990312933922 0.000000000000 -vt 0.276588261127 0.979046463966 0.000000000000 -vt 0.273934006691 0.990138053894 0.000000000000 -vt 0.150033578277 0.985471129417 0.000000000000 -vt 0.176784589887 0.975747346878 0.000000000000 -vt 0.276720821857 0.986530065536 0.000000000000 -vt 0.022495752200 0.890904963017 0.000000000000 -vt 0.891464889050 0.306228846312 0.000000000000 -vt 0.904646217823 0.305932313204 0.000000000000 -vt 0.893834292889 0.301968216896 0.000000000000 -vt 0.904706299305 0.304305553436 0.000000000000 -vt 0.921183407307 0.310902148485 0.000000000000 -vt 0.906808555126 0.304849773645 0.000000000000 -vt 0.921672403812 0.309491783381 0.000000000000 -vt 0.938244044781 0.337644517422 0.000000000000 -vt 0.005772059783 0.892303645611 0.000000000000 -vt 0.024704044685 0.895432829857 0.000000000000 -vt 0.004067962989 0.897250592709 0.000000000000 -vt 0.023151105270 0.902699828148 0.000000000000 -vt 0.006364827976 0.903177917004 0.000000000000 -vt 0.019447928295 0.907367289066 0.000000000000 -vt 0.011597758159 0.909153997898 0.000000000000 -vt 0.018155282363 0.909749448299 0.000000000000 -vt 0.289794445038 0.979737758636 0.000000000000 -vt 0.289097309113 0.986868619919 0.000000000000 -vt 0.108699530363 0.986913800240 0.000000000000 -vt 0.923338353634 0.310172647238 0.000000000000 -vt 0.947028934956 0.322753190994 0.000000000000 -vt 0.017324453220 0.921973764896 0.000000000000 -vt 0.107475332916 0.990945875645 0.000000000000 -vt 0.012956982478 0.921561121941 0.000000000000 -vt 0.109573453665 0.884426295757 0.000000000000 -vt 0.020662194118 0.973094761372 0.000000000000 -vt 0.018618410453 0.972752928734 0.000000000000 -vt 0.963379323483 0.338597148657 0.000000000000 -vt 0.020546024665 0.981108963490 0.000000000000 -vt 0.018002038822 0.980931103230 0.000000000000 -vt 0.135590508580 0.867567420006 0.000000000000 -vt 0.106516152620 0.878543734550 0.000000000000 -vt 0.131759136915 0.862308800220 0.000000000000 -vt 0.101919859648 0.872579514980 0.000000000000 -vt 0.127446323633 0.855293273926 0.000000000000 -vt 0.106182672083 0.886078596115 0.000000000000 -vt 0.102917589247 0.880396783352 0.000000000000 -vt 0.099388279021 0.873800635338 0.000000000000 -vt 0.137774154544 0.865794837475 0.000000000000 -vt 0.134449630976 0.860945940018 0.000000000000 -vt 0.129994958639 0.853814363480 0.000000000000 -vt 0.098041392863 0.867455244064 0.000000000000 -vt 0.123956769705 0.849580526352 0.000000000000 -vt 0.096607387066 0.868979096413 0.000000000000 -vt 0.126601263881 0.848501205444 0.000000000000 -vt 0.095606558025 0.864713788033 0.000000000000 -vt 0.123283371329 0.847612500191 0.000000000000 -vt 0.093895524740 0.865760445595 0.000000000000 -vt 0.125174984336 0.846612274647 0.000000000000 -vt 0.090208120644 0.853443682194 0.000000000000 -vt 0.088275067508 0.855292141438 0.000000000000 -vt 0.116189479828 0.837091147900 0.000000000000 -vt 0.119325831532 0.836723268032 0.000000000000 -vt 0.133553490043 0.788949906826 0.000000000000 -vt 0.293736696243 0.986775279045 0.000000000000 -vt 0.295940577984 0.980653762817 0.000000000000 -vt 0.340545475483 0.984447240829 0.000000000000 -vt 0.340072214603 0.986525893211 0.000000000000 -vt 0.950552880764 0.345313966274 0.000000000000 -vt 0.967208921909 0.344859838486 0.000000000000 -vt 0.950094163418 0.353987187147 0.000000000000 -vt 0.933797061443 0.363659620285 0.000000000000 -vt 0.136295691133 0.788761913776 0.000000000000 -vt 0.138059511781 0.780847370625 0.000000000000 -vt 0.130408823490 0.777872502804 0.000000000000 -vt 0.131355047226 0.775953590870 0.000000000000 -vt 0.138569056988 0.778319716454 0.000000000000 -vt 0.118060231209 0.785308957100 0.000000000000 -vt 0.896019995213 0.384664356709 0.000000000000 -vt 0.115173012018 0.774169325829 0.000000000000 -vt 0.898356497288 0.351344764233 0.000000000000 -vt 0.096679173410 0.785911738873 0.000000000000 -vt 0.095730684698 0.772729396820 0.000000000000 -vt 0.104705169797 0.831313431263 0.000000000000 -vt 0.902008712292 0.319425404072 0.000000000000 -vt 0.086956694722 0.837567865849 0.000000000000 -vt 0.082478508353 0.790962874889 0.000000000000 -vt 0.833729565144 0.320394694805 0.000000000000 -vt 0.348657131195 0.984760761261 0.000000000000 -vt 0.081306569278 0.775940597057 0.000000000000 -vt 0.089978247881 0.773647964001 0.000000000000 -vt 0.829791605473 0.309479862452 0.000000000000 -vt 0.816609799862 0.333315908909 0.000000000000 -vt 0.807817518711 0.321131646633 0.000000000000 -vt 0.797316968441 0.333731085062 0.000000000000 -vt 0.795922100544 0.331054210663 0.000000000000 -vt 0.852600395679 0.366287618876 0.000000000000 -vt 0.888158023357 0.389725148678 0.000000000000 -vt 0.891561090946 0.383528649807 0.000000000000 -vt 0.892443001270 0.390044867992 0.000000000000 -vt 0.890115559101 0.403733402491 0.000000000000 -vt 0.893740594387 0.402232736349 0.000000000000 -vt 0.889661490917 0.409355312586 0.000000000000 -vt 0.859144628048 0.413082540035 0.000000000000 -vt 0.889299809933 0.416188776493 0.000000000000 -vt 0.860674321651 0.420680373907 0.000000000000 -vt 0.890587747097 0.423362225294 0.000000000000 -vt 0.861845076084 0.428339481354 0.000000000000 -vt 0.893469750881 0.431529492140 0.000000000000 -vt 0.863975346088 0.435634076595 0.000000000000 -vt 0.892712771893 0.409693717957 0.000000000000 -vt 0.893171131611 0.415372341871 0.000000000000 -vt 0.894341528416 0.422278076410 0.000000000000 -vt 0.895548760891 0.430168658495 0.000000000000 -vt 0.856991708279 0.413939237595 0.000000000000 -vt 0.858568608761 0.420849025249 0.000000000000 -vt 0.860028803349 0.428554058075 0.000000000000 -vt 0.861705243587 0.435540854931 0.000000000000 -vt 0.862937510014 0.448144823313 0.000000000000 -vt 0.865016877651 0.448156058788 0.000000000000 -vt 0.894014537334 0.443118661642 0.000000000000 -vt 0.896675527096 0.441695034504 0.000000000000 -vt 0.942015469074 0.465249389410 0.000000000000 -vt 0.938968360424 0.467184603214 0.000000000000 -vt 0.947230279446 0.471932232380 0.000000000000 -vt 0.929851353168 0.479779750109 0.000000000000 -vt 0.884821474552 0.455685496330 0.000000000000 -vt 0.911414802074 0.493092268705 0.000000000000 -vt 0.871183216572 0.461694657803 0.000000000000 -vt 0.860978066921 0.452166974545 0.000000000000 -vt 0.943686783314 0.478628307581 0.000000000000 -vt 0.933102667332 0.492131799459 0.000000000000 -vt 0.919620096684 0.505386710167 0.000000000000 -vt 0.891063272953 0.499169915915 0.000000000000 -vt 0.916852533817 0.507224857807 0.000000000000 -vt 0.908044636250 0.511230826378 0.000000000000 -vt 0.888901054859 0.516245007515 0.000000000000 -vt 0.869810879230 0.502536654472 0.000000000000 -vt 0.873295843601 0.517087996006 0.000000000000 -vt 0.852177441120 0.511175870895 0.000000000000 -vt 0.852176964283 0.514577090740 0.000000000000 -vt 0.850538194180 0.510758638382 0.000000000000 -vt 0.846698939800 0.494376987219 0.000000000000 -vt 0.847678959370 0.512833237648 0.000000000000 -vt 0.836011469364 0.506721198559 0.000000000000 -vt 0.830273568630 0.488239735365 0.000000000000 -vt 0.829936563969 0.486338347197 0.000000000000 -vt 0.858301818371 0.452152788639 0.000000000000 -vt 0.827840387821 0.498115986586 0.000000000000 -vt 0.829935252666 0.487876564264 0.000000000000 -vt 0.823986113071 0.491719275713 0.000000000000 -vt 0.069046996534 0.797405838966 0.000000000000 -vt 0.063239946961 0.785030543804 0.000000000000 -vt 0.056414369494 0.807498395443 0.000000000000 -vt 0.050693791360 0.794903695583 0.000000000000 -vt 0.038561563939 0.813347876072 0.000000000000 -vt 0.035990972072 0.810181796551 0.000000000000 -vt 0.047508850694 0.830956161022 0.000000000000 -vt 0.037681039423 0.814844489098 0.000000000000 -vt 0.029368514195 0.826868057251 0.000000000000 -vt 0.033771704882 0.815734088421 0.000000000000 -vt 0.038801524788 0.845296800137 0.000000000000 -vt 0.029519105330 0.846085309982 0.000000000000 -vt 0.027892099693 0.839723408222 0.000000000000 -vt 0.084708891809 0.852553844452 0.000000000000 -vt 0.083767443895 0.854980945587 0.000000000000 -vt 0.037650745362 0.847761273384 0.000000000000 -vt 0.114381492138 0.771946310997 0.000000000000 -vt 0.094816014171 0.771821796894 0.000000000000 -vt 0.080136142671 0.774619162083 0.000000000000 -vt 0.090211994946 0.772520661354 0.000000000000 -vt 0.095953144133 0.783221781254 0.000000000000 -vt 0.062365397811 0.784237205982 0.000000000000 -vt 0.049735300243 0.794033586979 0.000000000000 -vt 0.035117056221 0.810181081295 0.000000000000 -vt 0.028672711924 0.846871018410 0.000000000000 -vt 0.036163691431 0.812595427036 0.000000000000 -vt 0.032508853823 0.815019369125 0.000000000000 -vt 0.035413723439 0.813524901867 0.000000000000 -vt 0.028211543337 0.827950716019 0.000000000000 -vt 0.026609050110 0.839356005192 0.000000000000 -vt 0.896258294582 0.381265163422 0.000000000000 -vt 0.934112012386 0.361818969250 0.000000000000 -vt 0.059123776853 0.925175607204 0.000000000000 -vt 0.055362485349 0.926216900349 0.000000000000 -vt 0.054541967809 0.924610912800 0.000000000000 -vt 0.057503841817 0.922102153301 0.000000000000 -vt 0.059521101415 0.928506195545 0.000000000000 -vt 0.055455230176 0.928037106991 0.000000000000 -vt 0.058347843587 0.931667983532 0.000000000000 -vt 0.054807446897 0.929809391499 0.000000000000 -vt 0.056133113801 0.934393584728 0.000000000000 -vt 0.053610645235 0.931369364262 0.000000000000 -vt 0.053249321878 0.936173141003 0.000000000000 -vt 0.051895163953 0.932276666164 0.000000000000 -vt 0.049887977540 0.936500608921 0.000000000000 -vt 0.050015471876 0.932548344135 0.000000000000 -vt 0.046488307416 0.935653746128 0.000000000000 -vt 0.048176728189 0.932161509991 0.000000000000 -vt 0.043682835996 0.933717668056 0.000000000000 -vt 0.046699486673 0.931114256382 0.000000000000 -vt 0.042096994817 0.930674016476 0.000000000000 -vt 0.045871280134 0.929518997669 0.000000000000 -vt 0.041774652898 0.927204310894 0.000000000000 -vt 0.045793555677 0.927666127682 0.000000000000 -vt 0.042907558382 0.923894703388 0.000000000000 -vt 0.046437762678 0.925861775875 0.000000000000 -vt 0.045091055334 0.921195805073 0.000000000000 -vt 0.047651670873 0.924327433109 0.000000000000 -vt 0.048192583025 0.919690430164 0.000000000000 -vt 0.049426577985 0.923481881618 0.000000000000 -vt 0.051677010953 0.919228494167 0.000000000000 -vt 0.051336131990 0.923179805279 0.000000000000 -vt 0.054966412485 0.919925153255 0.000000000000 -vt 0.053134106100 0.923531472683 0.000000000000 -vt 0.063366554677 0.923810899258 0.000000000000 -vt 0.060973726213 0.919329464436 0.000000000000 -vt 0.064595483243 0.929011166096 0.000000000000 -vt 0.062306247652 0.933849632740 0.000000000000 -vt 0.059110067785 0.937792122364 0.000000000000 -vt 0.054868541658 0.941029012203 0.000000000000 -vt 0.049543462694 0.940982162952 0.000000000000 -vt 0.044648133218 0.939702689648 0.000000000000 -vt 0.040030620992 0.937077343464 0.000000000000 -vt 0.037820480764 0.932063996792 0.000000000000 -vt 0.036892317235 0.926711142063 0.000000000000 -vt 0.038925252855 0.921679198742 0.000000000000 -vt 0.042036972940 0.917214572430 0.000000000000 -vt 0.046976409853 0.915347874165 0.000000000000 -vt 0.051998518407 0.914744794369 0.000000000000 -vt 0.057310722768 0.915426671505 0.000000000000 -vt 0.067497454584 0.921644866467 0.000000000000 -vt 0.065058015287 0.917089760303 0.000000000000 -vt 0.069694779813 0.926195323467 0.000000000000 -vt 0.065975569189 0.936767637730 0.000000000000 -vt 0.062733851373 0.940771758556 0.000000000000 -vt 0.059423707426 0.944580018520 0.000000000000 -vt 0.048389576375 0.945518910885 0.000000000000 -vt 0.043406806886 0.944201171398 0.000000000000 -vt 0.038586281240 0.942701995373 0.000000000000 -vt 0.033321164548 0.933438599110 0.000000000000 -vt 0.031816206872 0.928624808788 0.000000000000 -vt 0.034770034254 0.919423639774 0.000000000000 -vt 0.037123106420 0.914970576763 0.000000000000 -vt 0.046392939985 0.910692512989 0.000000000000 -vt 0.051504157484 0.910091817379 0.000000000000 -vt 0.056533597410 0.909688174725 0.000000000000 -vt 0.071821056306 0.919187366962 0.000000000000 -vt 0.069497846067 0.914850890636 0.000000000000 -vt 0.074104093015 0.923345625401 0.000000000000 -vt 0.069763801992 0.939998447895 0.000000000000 -vt 0.066682241857 0.943804800510 0.000000000000 -vt 0.063756071031 0.947524607182 0.000000000000 -vt 0.046995721757 0.950295627117 0.000000000000 -vt 0.042247436941 0.949036777020 0.000000000000 -vt 0.037652872503 0.947865664959 0.000000000000 -vt 0.028527699411 0.934890091419 0.000000000000 -vt 0.027052603662 0.930507719517 0.000000000000 -vt 0.030363760889 0.917036354542 0.000000000000 -vt 0.032438538969 0.912907421589 0.000000000000 -vt 0.045932315290 0.905737102032 0.000000000000 -vt 0.050800107419 0.905163943768 0.000000000000 -vt 0.055495165288 0.904551923275 0.000000000000 -vt 0.050987325609 0.924352467060 0.000000000000 -vt 0.048744998872 0.925625741482 0.000000000000 -vt 0.048258863389 0.925050437450 0.000000000000 -vt 0.049704097211 0.924391329288 0.000000000000 -vt 0.054107807577 0.926788032055 0.000000000000 -vt 0.051701687276 0.929121911526 0.000000000000 -vt 0.050647579134 0.927882850170 0.000000000000 -vt 0.053451858461 0.925569355488 0.000000000000 -vt 0.052362285554 0.924720108509 0.000000000000 -vt 0.049598239362 0.926641643047 0.000000000000 -vt 0.054247222841 0.928189814091 0.000000000000 -vt 0.052564702928 0.930132806301 0.000000000000 -vt 0.053045056760 0.930693566799 0.000000000000 -vt 0.053973041475 0.929413259029 0.000000000000 -vt 0.050350688398 0.931418359280 0.000000000000 -vt 0.051625333726 0.931378662586 0.000000000000 -vt 0.048955641687 0.931039512157 0.000000000000 -vt 0.047835491598 0.930190026760 0.000000000000 -vt 0.047166489065 0.928965747356 0.000000000000 -vt 0.047026477754 0.927548825741 0.000000000000 -vt 0.047300122678 0.926310837269 0.000000000000 -vt 0.076263017952 0.889852464199 0.000000000000 -vt 0.072937078774 0.890983402729 0.000000000000 -vt 0.072223909199 0.886963069439 0.000000000000 -vt 0.073955483735 0.886285126209 0.000000000000 -vt 0.078647918999 0.887252748013 0.000000000000 -vt 0.075236566365 0.884860932827 0.000000000000 -vt 0.080082006752 0.883868515491 0.000000000000 -vt 0.075974173844 0.882985889912 0.000000000000 -vt 0.080343849957 0.880316436291 0.000000000000 -vt 0.076127000153 0.880949914455 0.000000000000 -vt 0.078979976475 0.877020061016 0.000000000000 -vt 0.075315542519 0.879069387913 0.000000000000 -vt 0.076549418271 0.874237835407 0.000000000000 -vt 0.074006743729 0.877511203289 0.000000000000 -vt 0.073425479233 0.872460305691 0.000000000000 -vt 0.072319932282 0.876525342464 0.000000000000 -vt 0.069821424782 0.872302711010 0.000000000000 -vt 0.070436544716 0.876380264759 0.000000000000 -vt 0.066397853196 0.873569548130 0.000000000000 -vt 0.068679399788 0.877089798450 0.000000000000 -vt 0.063854344189 0.876202642918 0.000000000000 -vt 0.067366369069 0.878527104855 0.000000000000 -vt 0.062428124249 0.879545271397 0.000000000000 -vt 0.066652543843 0.880400240421 0.000000000000 -vt 0.062527008355 0.883167207241 0.000000000000 -vt 0.066598244011 0.882463753223 0.000000000000 -vt 0.063823170960 0.886639058590 0.000000000000 -vt 0.067381329834 0.884392201900 0.000000000000 -vt 0.066064722836 0.889388978481 0.000000000000 -vt 0.068642385304 0.885931313038 0.000000000000 -vt 0.069291241467 0.890806376934 0.000000000000 -vt 0.070335276425 0.886830031872 0.000000000000 -vt 0.079105265439 0.894360721111 0.000000000000 -vt 0.073614127934 0.895603239536 0.000000000000 -vt 0.082558877766 0.889905154705 0.000000000000 -vt 0.084692724049 0.885016143322 0.000000000000 -vt 0.085654027760 0.879498064518 0.000000000000 -vt 0.083038873971 0.874549567699 0.000000000000 -vt 0.079515941441 0.870571315289 0.000000000000 -vt 0.074898667634 0.867442429066 0.000000000000 -vt 0.069151528180 0.867639601231 0.000000000000 -vt 0.063656993210 0.869233548641 0.000000000000 -vt 0.059899874032 0.873542368412 0.000000000000 -vt 0.057234056294 0.878605186939 0.000000000000 -vt 0.057885952294 0.884120523930 0.000000000000 -vt 0.059755094349 0.889095604420 0.000000000000 -vt 0.062920100987 0.893733680248 0.000000000000 -vt 0.068280227482 0.895384490490 0.000000000000 -vt 0.078785724938 0.900479376316 0.000000000000 -vt 0.073472566903 0.900497257710 0.000000000000 -vt 0.087039537728 0.891929209232 0.000000000000 -vt 0.089219875634 0.886968076229 0.000000000000 -vt 0.091177947819 0.882038056850 0.000000000000 -vt 0.086754925549 0.871306598186 0.000000000000 -vt 0.083158977330 0.867264211178 0.000000000000 -vt 0.079480238259 0.863445341587 0.000000000000 -vt 0.068381793797 0.862759649754 0.000000000000 -vt 0.063137896359 0.863549411297 0.000000000000 -vt 0.055807478726 0.870739161968 0.000000000000 -vt 0.052770502865 0.875079214573 0.000000000000 -vt 0.053255327046 0.885821878910 0.000000000000 -vt 0.055160112679 0.890882432461 0.000000000000 -vt 0.057204969227 0.895774066448 0.000000000000 -vt 0.068046040833 0.900283634663 0.000000000000 -vt 0.078120060265 0.905958473682 0.000000000000 -vt 0.073138959706 0.905713617802 0.000000000000 -vt 0.091880030930 0.893913924694 0.000000000000 -vt 0.093954570591 0.889196693897 0.000000000000 -vt 0.096018739045 0.884667575359 0.000000000000 -vt 0.090575344861 0.867730081081 0.000000000000 -vt 0.087147958577 0.863881051540 0.000000000000 -vt 0.083878643811 0.860125720501 0.000000000000 -vt 0.067553706467 0.857561290264 0.000000000000 -vt 0.062731571496 0.858179271221 0.000000000000 -vt 0.051463313401 0.867761790752 0.000000000000 -vt 0.048594601452 0.871683299541 0.000000000000 -vt 0.048404522240 0.887782871723 0.000000000000 -vt 0.050217278302 0.892602741718 0.000000000000 -vt 0.051908619702 0.897282183170 0.000000000000 -vt 0.067971713841 0.905510962009 0.000000000000 -vt 0.069196112454 0.884744703770 0.000000000000 -vt 0.068222053349 0.883839309216 0.000000000000 -vt 0.067552991211 0.882304251194 0.000000000000 -vt 0.068320401013 0.882175028324 0.000000000000 -vt 0.073343880475 0.884937107563 0.000000000000 -vt 0.071995504200 0.885450780392 0.000000000000 -vt 0.071372933686 0.881675302982 0.000000000000 -vt 0.073059923947 0.881411254406 0.000000000000 -vt 0.070542402565 0.885377347469 0.000000000000 -vt 0.069689460099 0.881946742535 0.000000000000 -vt 0.074404723942 0.883906543255 0.000000000000 -vt 0.074438758194 0.881199419498 0.000000000000 -vt 0.075204439461 0.881086766720 0.000000000000 -vt 0.075038559735 0.882739722729 0.000000000000 -vt 0.073512084782 0.878659069538 0.000000000000 -vt 0.074500329792 0.879579484463 0.000000000000 -vt 0.072161979973 0.877989232540 0.000000000000 -vt 0.070704765618 0.877902209759 0.000000000000 -vt 0.069342859089 0.878422200680 0.000000000000 -vt 0.068271823227 0.879460871220 0.000000000000 -vt 0.067647464573 0.880636036396 0.000000000000 -vt 0.069012485445 0.932736814022 0.000000000000 -vt 0.053315483034 0.946615636349 0.000000000000 -vt 0.034739337862 0.938278734684 0.000000000000 -vt 0.032324932516 0.923826873302 0.000000000000 -vt 0.041412316263 0.911473333836 0.000000000000 -vt 0.062483809888 0.912739932537 0.000000000000 -vt 0.072793565691 0.936362326145 0.000000000000 -vt 0.051563642919 0.951559722424 0.000000000000 -vt 0.029731415212 0.939354598522 0.000000000000 -vt 0.028038166463 0.921029269695 0.000000000000 -vt 0.041223250329 0.906235873699 0.000000000000 -vt 0.067299149930 0.910646736622 0.000000000000 -vt 0.084724672139 0.896705806255 0.000000000000 -vt 0.090130694211 0.875394165516 0.000000000000 -vt 0.073611505330 0.861880958080 0.000000000000 -vt 0.058759339154 0.866340816021 0.000000000000 -vt 0.051577635109 0.880795300007 0.000000000000 -vt 0.062752433121 0.899852573872 0.000000000000 -vt 0.089935369790 0.898496687412 0.000000000000 -vt 0.093930847943 0.871406018734 0.000000000000 -vt 0.072329230607 0.856650412083 0.000000000000 -vt 0.054085560143 0.863671362400 0.000000000000 -vt 0.046596772969 0.883146226406 0.000000000000 -vt 0.062987215817 0.905366241932 0.000000000000 -vt 0.724434196949 0.690520286560 0.000000000000 -vt 0.714673578739 0.670199394226 0.000000000000 -vt 0.738192379475 0.658733546734 0.000000000000 -vt 0.749425828457 0.679554581642 0.000000000000 -vt 0.766880452633 0.648001551628 0.000000000000 -vt 0.778476417065 0.667455196381 0.000000000000 -vt 0.658123552799 0.561918437481 0.000000000000 -vt 0.681013524532 0.545336842537 0.000000000000 -vt 0.691574394703 0.565115392208 0.000000000000 -vt 0.668605864048 0.578333139420 0.000000000000 -vt 0.678273379803 0.596119463444 0.000000000000 -vt 0.700517117977 0.582515180111 0.000000000000 -vt 0.708820402622 0.600191891193 0.000000000000 -vt 0.686416089535 0.614063024521 0.000000000000 -vt 0.693850934505 0.631938755512 0.000000000000 -vt 0.717175424099 0.619349181652 0.000000000000 -vt 0.726578891277 0.638749718666 0.000000000000 -vt 0.702835142612 0.650949716568 0.000000000000 -vt 0.727393448353 0.566789627075 0.000000000000 -vt 0.737516939640 0.584310531616 0.000000000000 -vt 0.746533215046 0.605367720127 0.000000000000 -vt 0.755558550358 0.627303957939 0.000000000000 -vt 0.717193305492 0.550311207771 0.000000000000 -vt 0.707122027874 0.527874290943 0.000000000000 -vt 0.648476541042 0.550091445446 0.000000000000 -vt 0.670800983906 0.526029586792 0.000000000000 -vt 0.796826541424 0.635315418243 0.000000000000 -vt 0.810074508190 0.653544664383 0.000000000000 -vt 0.828041613102 0.628299355507 0.000000000000 -vt 0.837326347828 0.640173137188 0.000000000000 -vt 0.784561932087 0.614920377731 0.000000000000 -vt 0.774542272091 0.593422353268 0.000000000000 -vt 0.802680790424 0.583606719971 0.000000000000 -vt 0.815609514713 0.603868663311 0.000000000000 -vt 0.744441092014 0.531438291073 0.000000000000 -vt 0.776179373264 0.512288391590 0.000000000000 -vt 0.783609092236 0.532737612724 0.000000000000 -vt 0.755129158497 0.549743592739 0.000000000000 -vt 0.697984158993 0.500902295113 0.000000000000 -vt 0.737360656261 0.508947730064 0.000000000000 -vt 0.730104506016 0.483820885420 0.000000000000 -vt 0.765154659748 0.571034491062 0.000000000000 -vt 0.792746603489 0.558559775352 0.000000000000 -vt 0.768725693226 0.492010682821 0.000000000000 -vt 0.757663547993 0.472875863314 0.000000000000 -vt 0.725043118000 0.693508327007 0.000000000000 -vt 0.750067889690 0.685739338398 0.000000000000 -vt 0.791203796864 0.399861633778 0.000000000000 -vt 0.779777586460 0.399193614721 0.000000000000 -vt 0.752974689007 0.710415661335 0.000000000000 -vt 0.804506599903 0.398513197899 0.000000000000 -vt 0.782004177570 0.452414214611 0.000000000000 -vt 0.780603945255 0.444166988134 0.000000000000 -vt 0.791876137257 0.443759024143 0.000000000000 -vt 0.793968260288 0.453128397465 0.000000000000 -vt 0.779418051243 0.435353308916 0.000000000000 -vt 0.778252422810 0.426639556885 0.000000000000 -vt 0.789694845676 0.427197962999 0.000000000000 -vt 0.790620148182 0.435532063246 0.000000000000 -vt 0.777533710003 0.418020188808 0.000000000000 -vt 0.777940571308 0.408807516098 0.000000000000 -vt 0.789442360401 0.409360051155 0.000000000000 -vt 0.789057195187 0.418372094631 0.000000000000 -vt 0.803890883923 0.427518129349 0.000000000000 -vt 0.804031312466 0.435820281506 0.000000000000 -vt 0.803060233593 0.417909622192 0.000000000000 -vt 0.802897393703 0.408120334148 0.000000000000 -vt 0.804555714130 0.443755626678 0.000000000000 -vt 0.807329356670 0.454006284475 0.000000000000 -vt 0.725099384785 0.716310918331 0.000000000000 -vt 0.779836833477 0.674231469631 0.000000000000 -vt 0.783605754375 0.697045505047 0.000000000000 -vt 0.818779408932 0.398010879755 0.000000000000 -vt 0.643724501133 0.545761525631 0.000000000000 -vt 0.628008902073 0.541231870651 0.000000000000 -vt 0.816486179829 0.407289743423 0.000000000000 -vt 0.643818080425 0.512760996819 0.000000000000 -vt 0.665438830853 0.521224975586 0.000000000000 -vt 0.815758764744 0.416817396879 0.000000000000 -vt 0.818642079830 0.444537609816 0.000000000000 -vt 0.817937195301 0.436300307512 0.000000000000 -vt 0.811494052410 0.658484101295 0.000000000000 -vt 0.816042482853 0.680989921093 0.000000000000 -vt 0.840249359608 0.645133495331 0.000000000000 -vt 0.822369277477 0.453545153141 0.000000000000 -vt 0.847676336765 0.654553532600 0.000000000000 -vt 0.848686635494 0.579840302467 0.000000000000 -vt 0.816775619984 0.426806628704 0.000000000000 -vt 0.821314275265 0.600943446159 0.000000000000 -vt 0.813257277012 0.578419387341 0.000000000000 -vt 0.838545382023 0.561789393425 0.000000000000 -vt 0.819137394428 0.502666831017 0.000000000000 -vt 0.823779404163 0.522105157375 0.000000000000 -vt 0.790229976177 0.529961049557 0.000000000000 -vt 0.781899273396 0.510464847088 0.000000000000 -vt 0.668055117130 0.483010739088 0.000000000000 -vt 0.692842900753 0.497021466494 0.000000000000 -vt 0.808572947979 0.481489390135 0.000000000000 -vt 0.704506456852 0.458266437054 0.000000000000 -vt 0.801172792912 0.554602205753 0.000000000000 -vt 0.830090582371 0.542637288570 0.000000000000 -vt 0.773884236813 0.490298360586 0.000000000000 -vt 0.726107180119 0.478320568800 0.000000000000 -vt 0.745716154575 0.441092967987 0.000000000000 -vt 0.753030359745 0.462626129389 0.000000000000 -vt 0.722523391247 0.691917836666 0.000000000000 -vt 0.749568045139 0.682414948940 0.000000000000 -vt 0.779008090496 0.670675337315 0.000000000000 -vt 0.667049825191 0.578830957413 0.000000000000 -vt 0.684892475605 0.614746153355 0.000000000000 -vt 0.676726400852 0.596634447575 0.000000000000 -vt 0.701373159885 0.652009308338 0.000000000000 -vt 0.692301928997 0.632841825485 0.000000000000 -vt 0.646996915340 0.549704909325 0.000000000000 -vt 0.667850673199 0.524221837521 0.000000000000 -vt 0.810716688633 0.655620336533 0.000000000000 -vt 0.839727461338 0.639870941639 0.000000000000 -vt 0.830280363560 0.627509713173 0.000000000000 -vt 0.818201720715 0.602329492569 0.000000000000 -vt 0.807740032673 0.580971300602 0.000000000000 -vt 0.786967098713 0.531335592270 0.000000000000 -vt 0.778827011585 0.511309623718 0.000000000000 -vt 0.695696294308 0.499585956335 0.000000000000 -vt 0.728171169758 0.480036228895 0.000000000000 -vt 0.796798646450 0.556795895100 0.000000000000 -vt 0.771090447903 0.491387873888 0.000000000000 -vt 0.755518972874 0.467876076698 0.000000000000 -vt 0.857891857624 0.600561559200 0.000000000000 -vt 0.832526981831 0.625968098640 0.000000000000 -vt 0.721892893314 0.690372586250 0.000000000000 -vt 0.713340461254 0.671590626240 0.000000000000 -vt 0.646686851978 0.550678908825 0.000000000000 -vt 0.656452476978 0.562453389168 0.000000000000 -vt 0.842236578465 0.638690054417 0.000000000000 -vt 0.764252245426 0.471054345369 0.000000000000 -vt 0.725051343441 0.691869199276 0.000000000000 -vt 0.646329224110 0.548061668873 0.000000000000 -vt 0.838410317898 0.642666935921 0.000000000000 -vt 0.759749114513 0.472487002611 0.000000000000 -# 6542 texture coords - -g Box001 -usemtl Material__283 -s 1 -f 18/3/1 17/4/2 1/1/3 -f 1/1/4 2/2/5 18/3/6 -f 19/6/7 18/3/8 2/2/9 -f 2/2/10 3/5/11 19/6/12 -f 20/8/13 19/6/14 3/5/15 -f 3/5/16 4/7/17 20/8/18 -f 21/11/19 20/12/20 4/9/21 -f 4/9/22 5/10/23 21/11/24 -f 22/14/25 21/11/26 5/10/27 -f 5/10/28 6/13/29 22/14/30 -f 23/16/31 22/14/32 6/13/33 -f 6/13/34 7/15/35 23/16/36 -f 24/18/37 23/16/38 7/15/39 -f 7/15/40 8/17/41 24/18/42 -f 25/20/43 24/18/44 8/17/45 -f 8/17/46 9/19/47 25/20/48 -f 26/22/49 25/20/50 9/19/51 -f 9/19/52 10/21/53 26/22/54 -f 27/24/55 26/22/56 10/21/57 -f 10/21/58 11/23/59 27/24/60 -f 28/26/61 27/24/62 11/23/63 -f 11/23/64 12/25/65 28/26/66 -f 29/28/67 28/26/68 12/25/69 -f 12/25/70 13/27/71 29/28/72 -f 30/30/73 29/28/74 13/27/75 -f 13/27/76 14/29/77 30/30/78 -f 31/32/79 30/30/80 14/29/81 -f 14/29/82 15/31/83 31/32/84 -f 32/34/85 31/32/86 15/31/87 -f 15/31/88 16/33/89 32/34/90 -f 17/4/91 32/34/92 16/33/93 -f 16/33/94 1/1/95 17/4/96 -f 65/37/97 67/38/98 68/35/99 -f 68/35/100 66/36/101 65/37/102 -f 67/38/103 69/40/104 70/39/105 -f 70/39/106 68/35/107 67/38/108 -f 69/40/109 71/42/110 72/41/111 -f 72/41/112 70/39/113 69/40/114 -f 71/45/115 73/46/116 74/43/117 -f 74/43/118 72/44/119 71/45/120 -f 73/46/121 75/48/122 76/47/123 -f 76/47/124 74/43/125 73/46/126 -f 75/48/127 77/50/128 78/49/129 -f 78/49/130 76/47/131 75/48/132 -f 77/50/133 79/52/134 80/51/135 -f 80/51/136 78/49/137 77/50/138 -f 79/52/139 81/54/140 82/53/141 -f 82/53/142 80/51/143 79/52/144 -f 81/54/145 83/56/146 84/55/147 -f 84/55/148 82/53/149 81/54/150 -f 83/56/151 85/58/152 86/57/153 -f 86/57/154 84/55/155 83/56/156 -f 85/58/157 87/60/158 88/59/159 -f 88/59/160 86/57/161 85/58/162 -f 87/60/163 89/62/164 90/61/165 -f 90/61/166 88/59/167 87/60/168 -f 89/62/169 91/64/170 92/63/171 -f 92/63/172 90/61/173 89/62/174 -f 91/64/175 93/66/176 94/65/177 -f 94/65/178 92/63/179 91/64/180 -f 93/66/181 95/68/182 96/67/183 -f 96/67/184 94/65/185 93/66/186 -f 95/68/187 65/37/188 66/36/189 -f 66/36/190 96/67/191 95/68/192 -f 50/71/193 49/72/194 33/69/195 -f 33/69/196 34/70/197 50/71/198 -f 51/74/199 50/71/200 34/70/201 -f 34/70/202 35/73/203 51/74/204 -f 52/76/205 51/74/206 35/73/207 -f 35/73/208 36/75/209 52/76/210 -f 53/79/211 52/80/212 36/77/213 -f 36/77/214 37/78/215 53/79/216 -f 54/82/217 53/79/218 37/78/219 -f 37/78/220 38/81/221 54/82/222 -f 55/84/223 54/82/224 38/81/225 -f 38/81/226 39/83/227 55/84/228 -f 56/86/229 55/84/230 39/83/231 -f 39/83/232 40/85/233 56/86/234 -f 57/88/235 56/86/236 40/85/237 -f 40/85/238 41/87/239 57/88/240 -f 58/90/241 57/88/242 41/87/243 -f 41/87/244 42/89/245 58/90/246 -f 59/92/247 58/90/248 42/89/249 -f 42/89/250 43/91/251 59/92/252 -f 60/94/253 59/92/254 43/91/255 -f 43/91/256 44/93/257 60/94/258 -f 61/96/259 60/94/260 44/93/261 -f 44/93/262 45/95/263 61/96/264 -f 62/98/265 61/96/266 45/95/267 -f 45/95/268 46/97/269 62/98/270 -f 63/100/271 62/98/272 46/97/273 -f 46/97/274 47/99/275 63/100/276 -f 64/102/277 63/100/278 47/99/279 -f 47/99/280 48/101/281 64/102/282 -f 49/72/283 64/102/284 48/101/285 -f 48/101/286 33/69/287 49/72/288 -f 66/36/289 68/35/290 34/70/291 -f 34/70/292 33/69/293 66/36/294 -f 67/38/295 65/37/296 17/4/297 -f 17/4/298 18/3/299 67/38/300 -f 68/35/301 70/39/302 35/73/303 -f 35/73/304 34/70/305 68/35/306 -f 69/40/307 67/38/308 18/3/309 -f 18/3/310 19/6/311 69/40/312 -f 70/39/313 72/41/314 36/75/315 -f 36/75/316 35/73/317 70/39/318 -f 71/42/319 69/40/320 19/6/321 -f 19/6/322 20/8/323 71/42/324 -f 72/44/325 74/43/326 37/78/327 -f 37/78/328 36/77/329 72/44/330 -f 73/46/331 71/45/332 20/12/333 -f 20/12/334 21/11/335 73/46/336 -f 74/43/337 76/47/338 38/81/339 -f 38/81/340 37/78/341 74/43/342 -f 75/48/343 73/46/344 21/11/345 -f 21/11/346 22/14/347 75/48/348 -f 76/47/349 78/49/350 39/83/351 -f 39/83/352 38/81/353 76/47/354 -f 77/50/355 75/48/356 22/14/357 -f 22/14/358 23/16/359 77/50/360 -f 78/49/361 80/51/362 40/85/363 -f 40/85/364 39/83/365 78/49/366 -f 79/52/367 77/50/368 23/16/369 -f 23/16/370 24/18/371 79/52/372 -f 80/51/373 82/53/374 41/87/375 -f 41/87/376 40/85/377 80/51/378 -f 81/54/379 79/52/380 24/18/381 -f 24/18/382 25/20/383 81/54/384 -f 82/53/385 84/55/386 42/89/387 -f 42/89/388 41/87/389 82/53/390 -f 83/56/391 81/54/392 25/20/393 -f 25/20/394 26/22/395 83/56/396 -f 84/55/397 86/57/398 43/91/399 -f 43/91/400 42/89/401 84/55/402 -f 85/58/403 83/56/404 26/22/405 -f 26/22/406 27/24/407 85/58/408 -f 86/57/409 88/59/410 44/93/411 -f 44/93/412 43/91/413 86/57/414 -f 87/60/415 85/58/416 27/24/417 -f 27/24/418 28/26/419 87/60/420 -f 88/59/421 90/61/422 45/95/423 -f 45/95/424 44/93/425 88/59/426 -f 89/62/427 87/60/428 28/26/429 -f 28/26/430 29/28/431 89/62/432 -f 90/61/433 92/63/434 46/97/435 -f 46/97/436 45/95/437 90/61/438 -f 91/64/439 89/62/440 29/28/441 -f 29/28/442 30/30/443 91/64/444 -f 92/63/445 94/65/446 47/99/447 -f 47/99/448 46/97/449 92/63/450 -f 93/66/451 91/64/452 30/30/453 -f 30/30/454 31/32/455 93/66/456 -f 94/65/457 96/67/458 48/101/459 -f 48/101/460 47/99/461 94/65/462 -f 95/68/463 93/66/464 31/32/465 -f 31/32/466 32/34/467 95/68/468 -f 96/67/469 66/36/470 33/69/471 -f 33/69/472 48/101/473 96/67/474 -f 65/37/475 95/68/476 32/34/477 -f 32/34/478 17/4/479 65/37/480 -f 188/103/481 158/104/482 108/105/483 -f 108/105/484 158/104/485 135/106/486 -f 99/107/487 190/108/488 114/109/489 -f 151/110/490 140/111/491 131/112/492 -f 142/113/493 133/114/494 149/115/495 -f 113/116/496 145/117/497 132/118/498 -f 109/119/499 121/120/500 181/121/501 -f 123/122/502 119/123/503 102/124/504 -f 177/125/505 130/126/506 141/127/507 -f 176/128/508 135/106/509 167/129/510 -f 138/130/511 143/131/512 111/132/513 -f 116/133/514 123/122/515 130/126/516 -f 104/134/517 150/135/518 183/136/519 -f 150/135/520 179/137/521 162/138/522 -f 120/139/523 189/140/524 153/141/525 -f 168/142/526 152/143/527 122/144/528 -f 152/143/529 161/145/530 122/144/531 -f 176/128/532 167/129/533 124/146/534 -f 192/147/535 185/148/536 97/149/537 -f 192/147/538 100/150/539 185/148/540 -f 134/151/541 163/152/542 101/153/543 -f 175/154/544 180/155/545 127/156/546 -f 143/131/547 181/121/548 184/157/549 -f 169/158/550 103/159/551 174/160/552 -f 165/161/553 145/117/554 113/116/555 -f 120/139/556 153/141/557 159/162/558 -f 142/113/559 114/109/560 133/114/561 -f 115/163/562 128/164/563 172/165/564 -f 115/163/565 172/165/566 117/166/567 -f 107/167/568 125/168/569 166/169/570 -f 177/125/571 116/133/572 130/126/573 -f 125/168/574 117/166/575 166/169/576 -f 166/169/577 182/170/578 157/171/579 -f 104/134/580 183/136/581 118/172/582 -f 131/112/583 155/173/584 106/174/585 -f 100/150/586 121/120/587 109/119/588 -f 162/138/589 189/140/590 120/139/591 -f 175/154/592 106/174/593 180/155/594 -f 121/120/595 136/175/596 181/121/597 -f 122/144/598 128/164/599 170/176/600 -f 103/159/601 123/122/602 116/133/603 -f 181/121/604 136/175/605 123/122/606 -f 99/107/607 186/177/608 190/108/609 -f 122/144/610 144/178/611 128/164/612 -f 115/163/613 117/166/614 125/168/615 -f 129/179/616 126/180/617 191/181/618 -f 109/119/619 181/121/620 143/131/621 -f 127/156/622 112/182/623 137/183/624 -f 159/162/625 153/141/626 112/182/627 -f 128/164/628 144/178/629 164/184/630 -f 128/164/631 164/184/632 172/165/633 -f 129/179/634 173/185/635 126/180/636 -f 188/103/637 185/148/638 158/104/639 -f 123/122/640 102/124/641 130/126/642 -f 141/127/643 130/126/644 156/186/645 -f 186/177/646 175/154/647 190/108/648 -f 175/154/649 127/156/650 137/183/651 -f 130/126/652 102/124/653 156/186/654 -f 110/187/655 133/114/656 114/109/657 -f 133/114/658 134/151/659 149/115/660 -f 97/149/661 185/148/662 188/103/663 -f 147/188/664 152/143/665 168/142/666 -f 190/108/667 175/154/668 137/183/669 -f 133/114/670 110/187/671 178/189/672 -f 135/106/673 154/190/674 167/129/675 -f 138/130/676 171/191/677 104/134/678 -f 136/175/679 119/123/680 123/122/681 -f 139/192/682 119/123/683 136/175/684 -f 137/183/685 112/182/686 134/151/687 -f 133/114/688 178/189/689 134/151/690 -f 138/130/691 104/134/692 135/106/693 -f 191/181/694 126/180/695 138/130/696 -f 112/182/697 163/152/698 134/151/699 -f 112/182/700 98/193/701 165/161/702 -f 139/192/703 136/175/704 121/120/705 -f 100/150/706 139/192/707 121/120/708 -f 131/112/709 140/111/710 155/173/711 -f 154/190/712 118/172/713 167/129/714 -f 141/127/715 156/186/716 98/193/717 -f 153/141/718 98/193/719 112/182/720 -f 166/169/721 117/166/722 182/170/723 -f 117/166/724 160/194/725 182/170/726 -f 126/180/727 143/131/728 138/130/729 -f 173/185/730 143/131/731 126/180/732 -f 144/178/733 146/195/734 164/184/735 -f 161/145/736 176/128/737 124/146/738 -f 98/193/739 145/117/740 165/161/741 -f 98/193/742 132/118/743 145/117/744 -f 161/145/745 124/146/746 144/178/747 -f 124/146/748 140/111/749 146/195/750 -f 97/149/751 152/143/752 147/188/753 -f 177/125/754 148/196/755 116/133/756 -f 103/159/757 116/133/758 174/160/759 -f 134/151/760 101/153/761 149/115/762 -f 169/158/763 179/137/764 150/135/765 -f 138/130/766 111/132/767 171/191/768 -f 140/111/769 151/110/770 146/195/771 -f 146/195/772 151/110/773 164/184/774 -f 152/143/775 97/149/776 188/103/777 -f 188/103/778 108/105/779 152/143/780 -f 105/197/781 141/127/782 153/141/783 -f 141/127/784 98/193/785 153/141/786 -f 135/106/787 104/134/788 154/190/789 -f 154/190/790 104/134/791 118/172/792 -f 122/144/793 161/145/794 144/178/795 -f 155/173/796 118/172/797 106/174/798 -f 167/129/799 118/172/800 155/173/801 -f 98/193/802 156/186/803 132/118/804 -f 142/113/805 149/115/806 157/171/807 -f 129/179/808 191/181/809 158/104/810 -f 158/104/811 185/148/812 129/179/813 -f 120/139/814 159/162/815 127/156/816 -f 127/156/817 159/162/818 112/182/819 -f 160/194/820 114/109/821 142/113/822 -f 99/107/823 114/109/824 160/194/825 -f 108/105/826 161/145/827 152/143/828 -f 176/128/829 108/105/830 135/106/831 -f 118/172/832 162/138/833 106/174/834 -f 106/174/835 162/138/836 120/139/837 -f 165/161/838 113/116/839 163/152/840 -f 164/184/841 186/177/842 99/107/843 -f 164/184/844 99/107/845 172/165/846 -f 112/182/847 165/161/848 163/152/849 -f 167/129/850 155/173/851 140/111/852 -f 124/146/853 167/129/854 140/111/855 -f 100/150/856 109/119/857 185/148/858 -f 109/119/859 143/131/860 173/185/861 -f 189/140/862 105/197/863 153/141/864 -f 170/176/865 125/168/866 107/167/867 -f 172/165/868 99/107/869 160/194/870 -f 172/165/871 160/194/872 117/166/873 -f 171/191/874 111/132/875 169/158/876 -f 184/157/877 103/159/878 169/158/879 -f 187/198/880 168/142/881 122/144/882 -f 147/188/883 168/142/884 187/198/885 -f 171/191/886 150/135/887 104/134/888 -f 171/191/889 169/158/890 150/135/891 -f 109/119/892 173/185/893 185/148/894 -f 185/148/895 173/185/896 129/179/897 -f 169/158/898 174/160/899 179/137/900 -f 148/196/901 174/160/902 116/133/903 -f 131/112/904 175/154/905 186/177/906 -f 131/112/907 106/174/908 175/154/909 -f 161/145/910 108/105/911 176/128/912 -f 105/197/913 177/125/914 141/127/915 -f 177/125/916 105/197/917 189/140/918 -f 178/189/919 137/183/920 134/151/921 -f 110/187/922 137/183/923 178/189/924 -f 179/137/925 174/160/926 148/196/927 -f 179/137/928 148/196/929 162/138/930 -f 180/155/931 120/139/932 127/156/933 -f 106/174/934 120/139/935 180/155/936 -f 103/159/937 181/121/938 123/122/939 -f 184/157/940 181/121/941 103/159/942 -f 182/170/943 142/113/944 157/171/945 -f 160/194/946 142/113/947 182/170/948 -f 183/136/949 150/135/950 162/138/951 -f 118/172/952 183/136/953 162/138/954 -f 111/132/955 184/157/956 169/158/957 -f 143/131/958 184/157/959 111/132/960 -f 164/184/961 151/110/962 186/177/963 -f 151/110/964 131/112/965 186/177/966 -f 149/115/967 101/153/968 163/152/969 -f 163/152/970 113/116/971 149/115/972 -f 187/198/973 122/144/974 170/176/975 -f 189/140/976 162/138/977 148/196/978 -f 189/140/979 148/196/980 177/125/981 -f 190/108/982 137/183/983 110/187/984 -f 190/108/985 110/187/986 114/109/987 -f 191/181/988 138/130/989 135/106/990 -f 158/104/991 191/181/992 135/106/993 -f 125/168/994 170/176/995 128/164/996 -f 128/164/997 115/163/998 125/168/999 -f 124/146/1000 146/195/1001 144/178/1002 -s 2 -f 207/213/1003 205/214/1004 193/199/1005 -f 193/199/1006 195/201/1007 207/213/1008 -f 206/215/1009 208/216/1010 196/207/1011 -f 196/207/1012 194/206/1013 206/215/1014 -f 205/214/1015 215/217/1016 203/200/1017 -f 203/200/1018 193/199/1019 205/214/1020 -f 209/218/1021 207/213/1022 195/201/1023 -f 195/201/1024 197/202/1025 209/218/1026 -f 208/216/1027 210/219/1028 198/208/1029 -f 198/208/1030 196/207/1031 208/216/1032 -f 213/221/1033 201/222/1034 253/211/1035 -f 253/211/1036 255/220/1037 213/221/1038 -f 266/223/1039 267/209/1040 198/208/1041 -f 198/208/1042 210/219/1043 266/223/1044 -f 212/257/1045 216/258/1046 204/212/1047 -f 204/212/1048 200/224/1049 212/257/1050 -f 209/218/1051 197/202/1052 268/203/1053 -f 268/203/1054 269/259/1055 209/218/1056 -f 212/257/1057 200/224/1058 254/205/1059 -f 254/205/1060 256/260/1061 212/257/1062 -f 215/217/1063 206/215/1064 194/206/1065 -f 194/206/1066 203/200/1067 215/217/1068 -f 216/258/1069 211/261/1070 199/210/1071 -f 199/210/1072 204/212/1073 216/258/1074 -f 219/227/1075 217/228/1076 205/225/1077 -f 205/225/1078 207/226/1079 219/227/1080 -f 218/231/1081 220/232/1082 208/229/1083 -f 208/229/1084 206/230/1085 218/231/1086 -f 217/228/1087 226/234/1088 215/233/1089 -f 215/233/1090 205/225/1091 217/228/1092 -f 221/236/1093 219/227/1094 207/226/1095 -f 207/226/1096 209/235/1097 221/236/1098 -f 220/232/1099 222/266/1100 210/265/1101 -f 210/265/1102 208/229/1103 220/232/1104 -f 225/239/1105 213/240/1106 255/237/1107 -f 255/237/1108 257/238/1109 225/239/1110 -f 222/266/1111 265/268/1112 266/267/1113 -f 266/267/1114 210/265/1115 222/266/1116 -f 224/243/1117 227/244/1118 216/241/1119 -f 216/241/1120 212/242/1121 224/243/1122 -f 270/270/1123 221/236/1124 209/235/1125 -f 209/235/1126 269/269/1127 270/270/1128 -f 224/243/1129 212/242/1130 256/246/1131 -f 256/246/1132 258/247/1133 224/243/1134 -f 226/332/1135 218/231/1136 206/230/1137 -f 206/230/1138 215/331/1139 226/332/1140 -f 227/244/1141 223/249/1142 211/248/1143 -f 211/248/1144 216/241/1145 227/244/1146 -f 228/250/1147 229/251/1148 227/244/1149 -f 227/244/1150 224/243/1151 228/250/1152 -f 229/251/1153 232/252/1154 223/249/1155 -f 223/249/1156 227/244/1157 229/251/1158 -f 258/247/1159 259/253/1160 228/250/1161 -f 228/250/1162 224/243/1163 258/247/1164 -f 260/254/1165 264/255/1166 225/239/1167 -f 225/239/1168 257/238/1169 260/254/1170 -f 244/274/1171 217/228/1172 219/227/1173 -f 219/227/1174 246/272/1175 244/274/1176 -f 247/276/1177 220/232/1178 218/231/1179 -f 218/231/1180 245/275/1181 247/276/1182 -f 250/277/1183 226/234/1184 217/228/1185 -f 217/228/1186 244/274/1187 250/277/1188 -f 246/272/1189 219/227/1190 221/236/1191 -f 221/236/1192 248/278/1193 246/272/1194 -f 249/279/1195 222/266/1196 220/232/1197 -f 220/232/1198 247/276/1199 249/279/1200 -f 245/275/1201 218/231/1202 226/332/1203 -f 226/332/1204 250/333/1205 245/275/1206 -f 231/282/1207 265/268/1208 222/266/1209 -f 222/266/1210 249/279/1211 231/282/1212 -f 252/286/1213 238/287/1214 279/284/1215 -f 279/284/1216 273/285/1217 252/286/1218 -f 273/285/1219 271/290/1220 242/288/1221 -f 242/288/1222 252/286/1223 273/285/1224 -f 291/294/1225 241/295/1226 289/245/1227 -f 289/245/1228 290/283/1229 291/294/1230 -f 241/295/1231 281/297/1232 288/296/1233 -f 288/296/1234 289/245/1235 241/295/1236 -f 283/299/1237 241/295/1238 291/294/1239 -f 291/294/1240 282/298/1241 283/299/1242 -f 281/297/1243 241/295/1244 283/299/1245 -f 283/299/1246 284/300/1247 281/297/1248 -f 263/262/1249 264/255/1250 260/254/1251 -f 260/254/1252 261/256/1253 263/262/1254 -f 261/256/1255 229/251/1256 228/250/1257 -f 228/250/1258 259/253/1259 261/256/1260 -f 275/306/1261 244/274/1262 246/272/1263 -f 246/272/1264 277/291/1265 275/306/1266 -f 247/276/1267 245/275/1268 276/307/1269 -f 276/307/1270 278/308/1271 247/276/1272 -f 280/309/1273 250/277/1274 244/274/1275 -f 244/274/1276 275/306/1277 280/309/1278 -f 246/272/1279 248/278/1280 279/284/1281 -f 279/284/1282 277/291/1283 246/272/1284 -f 274/310/1285 249/279/1286 247/276/1287 -f 247/276/1288 278/308/1289 274/310/1290 -f 245/275/1291 250/333/1292 280/334/1293 -f 280/334/1294 276/307/1295 245/275/1296 -f 233/311/1297 248/278/1298 221/236/1299 -f 221/236/1300 270/270/1301 233/311/1302 -f 272/312/1303 231/282/1304 249/279/1305 -f 249/279/1306 274/310/1307 272/312/1308 -f 272/312/1309 251/313/1310 242/288/1311 -f 242/288/1312 271/290/1313 272/312/1314 -f 255/220/1315 253/211/1316 199/210/1317 -f 199/210/1318 211/261/1319 255/220/1320 -f 256/260/1321 254/205/1322 202/204/1323 -f 202/204/1324 214/271/1325 256/260/1326 -f 257/238/1327 255/237/1328 211/248/1329 -f 211/248/1330 223/249/1331 257/238/1332 -f 258/247/1333 256/246/1334 214/263/1335 -f 214/263/1336 230/264/1337 258/247/1338 -f 259/253/1339 258/247/1340 230/264/1341 -f 230/264/1342 262/273/1343 259/253/1344 -f 232/252/1345 260/254/1346 257/238/1347 -f 257/238/1348 223/249/1349 232/252/1350 -f 261/256/1351 260/254/1352 232/252/1353 -f 232/252/1354 229/251/1355 261/256/1356 -f 263/262/1357 261/256/1358 259/253/1359 -f 259/253/1360 262/273/1361 263/262/1362 -f 231/281/1363 262/273/1364 230/264/1365 -f 230/264/1366 265/280/1367 231/281/1368 -f 243/289/1369 263/262/1370 262/273/1371 -f 262/273/1372 231/281/1373 243/289/1374 -f 264/255/1375 263/262/1376 243/289/1377 -f 243/289/1378 233/292/1379 264/255/1380 -f 270/293/1381 225/239/1382 264/255/1383 -f 264/255/1384 233/292/1385 270/293/1386 -f 266/304/1387 265/280/1388 230/264/1389 -f 230/264/1390 214/263/1391 266/304/1392 -f 267/209/1393 266/223/1394 214/271/1395 -f 214/271/1396 202/204/1397 267/209/1398 -f 269/259/1399 268/203/1400 201/222/1401 -f 201/222/1402 213/221/1403 269/259/1404 -f 225/239/1405 270/293/1406 269/305/1407 -f 269/305/1408 213/240/1409 225/239/1410 -f 243/314/1411 271/290/1412 273/285/1413 -f 273/285/1414 233/311/1415 243/314/1416 -f 231/282/1417 272/312/1418 271/290/1419 -f 271/290/1420 243/314/1421 231/282/1422 -f 234/316/1423 275/306/1424 277/291/1425 -f 277/291/1426 236/315/1427 234/316/1428 -f 278/308/1429 276/307/1430 235/317/1431 -f 235/317/1432 237/318/1433 278/308/1434 -f 240/319/1435 280/309/1436 275/306/1437 -f 275/306/1438 234/316/1439 240/319/1440 -f 277/291/1441 279/284/1442 238/287/1443 -f 238/287/1444 236/315/1445 277/291/1446 -f 239/320/1447 274/310/1448 278/308/1449 -f 278/308/1450 237/318/1451 239/320/1452 -f 276/307/1453 280/334/1454 240/335/1455 -f 240/335/1456 235/317/1457 276/307/1458 -f 251/313/1459 272/312/1460 274/310/1461 -f 274/310/1462 239/320/1463 251/313/1464 -f 273/285/1465 279/284/1466 248/278/1467 -f 248/278/1468 233/311/1469 273/285/1470 -f 281/297/1471 284/300/1472 285/301/1473 -f 285/301/1474 286/302/1475 281/297/1476 -f 287/303/1477 288/296/1478 281/297/1479 -f 281/297/1480 286/302/1481 287/303/1482 -f 283/321/1483 282/322/1484 234/316/1485 -f 234/316/1486 236/315/1487 283/321/1488 -f 284/323/1489 283/321/1490 236/315/1491 -f 236/315/1492 238/287/1493 284/323/1494 -f 285/324/1495 284/323/1496 238/287/1497 -f 238/287/1498 252/286/1499 285/324/1500 -f 286/325/1501 285/324/1502 252/286/1503 -f 252/286/1504 242/288/1505 286/325/1506 -f 287/326/1507 286/325/1508 242/288/1509 -f 242/288/1510 251/313/1511 287/326/1512 -f 288/327/1513 287/326/1514 251/313/1515 -f 251/313/1516 239/320/1517 288/327/1518 -f 289/328/1519 288/327/1520 239/320/1521 -f 239/320/1522 237/318/1523 289/328/1524 -f 290/329/1525 289/328/1526 237/318/1527 -f 237/318/1528 235/317/1529 290/329/1530 -f 291/330/1531 290/329/1532 235/317/1533 -f 235/317/1534 240/335/1535 291/330/1536 -f 282/322/1537 291/336/1538 240/319/1539 -f 240/319/1540 234/316/1541 282/322/1542 -s 1 -f 294/337/1543 292/339/1544 304/351/1545 -f 304/351/1546 306/352/1547 294/337/1548 -f 293/345/1549 295/344/1550 307/353/1551 -f 307/353/1552 305/354/1553 293/345/1554 -f 292/339/1555 302/338/1556 314/355/1557 -f 314/355/1558 304/351/1559 292/339/1560 -f 296/340/1561 294/337/1562 306/352/1563 -f 306/352/1564 308/356/1565 296/340/1566 -f 295/344/1567 297/346/1568 309/357/1569 -f 309/357/1570 307/353/1571 295/344/1572 -f 354/360/1573 352/349/1574 300/358/1575 -f 300/358/1576 312/359/1577 354/360/1578 -f 309/357/1579 297/346/1580 366/347/1581 -f 366/347/1582 365/361/1583 309/357/1584 -f 299/396/1585 303/348/1586 315/362/1587 -f 315/362/1588 311/395/1589 299/396/1590 -f 368/397/1591 367/341/1592 296/340/1593 -f 296/340/1594 308/356/1595 368/397/1596 -f 355/398/1597 353/342/1598 299/396/1599 -f 299/396/1600 311/395/1601 355/398/1602 -f 302/338/1603 293/345/1604 305/354/1605 -f 305/354/1606 314/355/1607 302/338/1608 -f 303/348/1609 298/350/1610 310/399/1611 -f 310/399/1612 315/362/1613 303/348/1614 -f 306/365/1615 304/366/1616 316/363/1617 -f 316/363/1618 318/364/1619 306/365/1620 -f 305/369/1621 307/370/1622 319/367/1623 -f 319/367/1624 317/368/1625 305/369/1626 -f 304/366/1627 314/372/1628 325/371/1629 -f 325/371/1630 316/363/1631 304/366/1632 -f 308/374/1633 306/365/1634 318/364/1635 -f 318/364/1636 320/373/1637 308/374/1638 -f 307/370/1639 309/404/1640 321/403/1641 -f 321/403/1642 319/367/1643 307/370/1644 -f 356/377/1645 354/378/1646 312/375/1647 -f 312/375/1648 324/376/1649 356/377/1650 -f 309/404/1651 365/406/1652 364/405/1653 -f 364/405/1654 321/403/1655 309/404/1656 -f 311/381/1657 315/382/1658 326/379/1659 -f 326/379/1660 323/380/1661 311/381/1662 -f 368/408/1663 308/374/1664 320/373/1665 -f 320/373/1666 369/407/1667 368/408/1668 -f 357/384/1669 355/385/1670 311/381/1671 -f 311/381/1672 323/380/1673 357/384/1674 -f 314/470/1675 305/369/1676 317/368/1677 -f 317/368/1678 325/469/1679 314/470/1680 -f 315/382/1681 310/387/1682 322/386/1683 -f 322/386/1684 326/379/1685 315/382/1686 -f 323/380/1687 326/379/1688 328/388/1689 -f 328/388/1690 327/389/1691 323/380/1692 -f 326/379/1693 322/386/1694 331/390/1695 -f 331/390/1696 328/388/1697 326/379/1698 -f 323/380/1699 327/389/1700 358/391/1701 -f 358/391/1702 357/384/1703 323/380/1704 -f 356/377/1705 324/376/1706 363/392/1707 -f 363/392/1708 359/393/1709 356/377/1710 -f 345/412/1711 318/364/1712 316/363/1713 -f 316/363/1714 343/410/1715 345/412/1716 -f 344/414/1717 317/368/1718 319/367/1719 -f 319/367/1720 346/413/1721 344/414/1722 -f 343/410/1723 316/363/1724 325/371/1725 -f 325/371/1726 349/415/1727 343/410/1728 -f 347/416/1729 320/373/1730 318/364/1731 -f 318/364/1732 345/412/1733 347/416/1734 -f 346/413/1735 319/367/1736 321/403/1737 -f 321/403/1738 348/417/1739 346/413/1740 -f 349/471/1741 325/469/1742 317/368/1743 -f 317/368/1744 344/414/1745 349/471/1746 -f 348/417/1747 321/403/1748 364/405/1749 -f 364/405/1750 330/420/1751 348/417/1752 -f 372/424/1753 378/425/1754 337/422/1755 -f 337/422/1756 351/423/1757 372/424/1758 -f 351/423/1759 341/428/1760 370/426/1761 -f 370/426/1762 372/424/1763 351/423/1764 -f 389/432/1765 388/433/1766 340/383/1767 -f 340/383/1768 390/421/1769 389/432/1770 -f 388/433/1771 387/435/1772 380/434/1773 -f 380/434/1774 340/383/1775 388/433/1776 -f 381/437/1777 390/421/1778 340/383/1779 -f 340/383/1780 382/436/1781 381/437/1782 -f 383/438/1783 382/436/1784 340/383/1785 -f 340/383/1786 380/434/1787 383/438/1788 -f 360/400/1789 359/393/1790 363/392/1791 -f 363/392/1792 362/394/1793 360/400/1794 -f 358/391/1795 327/389/1796 328/388/1797 -f 328/388/1798 360/400/1799 358/391/1800 -f 376/444/1801 345/412/1802 343/410/1803 -f 343/410/1804 374/429/1805 376/444/1806 -f 377/445/1807 375/446/1808 344/414/1809 -f 344/414/1810 346/413/1811 377/445/1812 -f 374/429/1813 343/410/1814 349/415/1815 -f 349/415/1816 379/447/1817 374/429/1818 -f 376/444/1819 378/425/1820 347/416/1821 -f 347/416/1822 345/412/1823 376/444/1824 -f 377/445/1825 346/413/1826 348/417/1827 -f 348/417/1828 373/448/1829 377/445/1830 -f 375/446/1831 379/472/1832 349/471/1833 -f 349/471/1834 344/414/1835 375/446/1836 -f 369/407/1837 320/373/1838 347/416/1839 -f 347/416/1840 332/449/1841 369/407/1842 -f 373/448/1843 348/417/1844 330/420/1845 -f 330/420/1846 371/450/1847 373/448/1848 -f 370/426/1849 341/428/1850 350/451/1851 -f 350/451/1852 371/450/1853 370/426/1854 -f 310/399/1855 298/350/1856 352/349/1857 -f 352/349/1858 354/360/1859 310/399/1860 -f 313/409/1861 301/343/1862 353/342/1863 -f 353/342/1864 355/398/1865 313/409/1866 -f 322/386/1867 310/387/1868 354/378/1869 -f 354/378/1870 356/377/1871 322/386/1872 -f 329/401/1873 313/402/1874 355/385/1875 -f 355/385/1876 357/384/1877 329/401/1878 -f 361/411/1879 329/401/1880 357/384/1881 -f 357/384/1882 358/391/1883 361/411/1884 -f 322/386/1885 356/377/1886 359/393/1887 -f 359/393/1888 331/390/1889 322/386/1890 -f 328/388/1891 331/390/1892 359/393/1893 -f 359/393/1894 360/400/1895 328/388/1896 -f 361/411/1897 358/391/1898 360/400/1899 -f 360/400/1900 362/394/1901 361/411/1902 -f 364/419/1903 329/401/1904 361/411/1905 -f 361/411/1906 330/418/1907 364/419/1908 -f 330/418/1909 361/411/1910 362/394/1911 -f 362/394/1912 342/427/1913 330/418/1914 -f 332/430/1915 342/427/1916 362/394/1917 -f 362/394/1918 363/392/1919 332/430/1920 -f 332/430/1921 363/392/1922 324/376/1923 -f 324/376/1924 369/431/1925 332/430/1926 -f 313/402/1927 329/401/1928 364/419/1929 -f 364/419/1930 365/442/1931 313/402/1932 -f 301/343/1933 313/409/1934 365/361/1935 -f 365/361/1936 366/347/1937 301/343/1938 -f 312/359/1939 300/358/1940 367/341/1941 -f 367/341/1942 368/397/1943 312/359/1944 -f 312/375/1945 368/443/1946 369/431/1947 -f 369/431/1948 324/376/1949 312/375/1950 -f 332/449/1951 372/424/1952 370/426/1953 -f 370/426/1954 342/452/1955 332/449/1956 -f 342/452/1957 370/426/1958 371/450/1959 -f 371/450/1960 330/420/1961 342/452/1962 -f 335/454/1963 376/444/1964 374/429/1965 -f 374/429/1966 333/453/1967 335/454/1968 -f 336/455/1969 334/456/1970 375/446/1971 -f 375/446/1972 377/445/1973 336/455/1974 -f 333/453/1975 374/429/1976 379/447/1977 -f 379/447/1978 339/457/1979 333/453/1980 -f 335/454/1981 337/422/1982 378/425/1983 -f 378/425/1984 376/444/1985 335/454/1986 -f 336/455/1987 377/445/1988 373/448/1989 -f 373/448/1990 338/458/1991 336/455/1992 -f 334/456/1993 339/473/1994 379/472/1995 -f 379/472/1996 375/446/1997 334/456/1998 -f 338/458/1999 373/448/2000 371/450/2001 -f 371/450/2002 350/451/2003 338/458/2004 -f 332/449/2005 347/416/2006 378/425/2007 -f 378/425/2008 372/424/2009 332/449/2010 -f 385/439/2011 384/440/2012 383/438/2013 -f 383/438/2014 380/434/2015 385/439/2016 -f 385/439/2017 380/434/2018 387/435/2019 -f 387/435/2020 386/441/2021 385/439/2022 -f 335/454/2023 333/453/2024 381/459/2025 -f 381/459/2026 382/460/2027 335/454/2028 -f 337/422/2029 335/454/2030 382/460/2031 -f 382/460/2032 383/461/2033 337/422/2034 -f 351/423/2035 337/422/2036 383/461/2037 -f 383/461/2038 384/462/2039 351/423/2040 -f 341/428/2041 351/423/2042 384/462/2043 -f 384/462/2044 385/463/2045 341/428/2046 -f 350/451/2047 341/428/2048 385/463/2049 -f 385/463/2050 386/464/2051 350/451/2052 -f 338/458/2053 350/451/2054 386/464/2055 -f 386/464/2056 387/465/2057 338/458/2058 -f 336/455/2059 338/458/2060 387/465/2061 -f 387/465/2062 388/466/2063 336/455/2064 -f 334/456/2065 336/455/2066 388/466/2067 -f 388/466/2068 389/467/2069 334/456/2070 -f 339/473/2071 334/456/2072 389/467/2073 -f 389/467/2074 390/468/2075 339/473/2076 -f 333/453/2077 339/457/2078 390/474/2079 -f 390/474/2080 381/459/2081 333/453/2082 -f 396/480/2083 398/481/2084 397/475/2085 -f 397/475/2086 1269/478/2087 396/480/2088 -f 396/480/2089 400/483/2090 399/482/2091 -f 399/482/2092 398/481/2093 396/480/2094 -f 401/487/2095 404/488/2096 403/485/2097 -f 403/485/2098 402/486/2099 401/487/2100 -f 405/490/2101 401/487/2102 402/486/2103 -f 402/486/2104 406/489/2105 405/490/2106 -f 401/487/2107 405/490/2108 407/491/2109 -f 407/491/2110 404/488/2111 401/487/2112 -f 408/494/2113 411/495/2114 410/492/2115 -f 410/492/2116 409/493/2117 408/494/2118 -f 408/494/2119 413/497/2120 412/496/2121 -f 412/496/2122 411/495/2123 408/494/2124 -f 408/494/2125 415/499/2126 414/498/2127 -f 414/498/2128 413/497/2129 408/494/2130 -f 408/494/2131 417/501/2132 416/500/2133 -f 416/500/2134 415/499/2135 408/494/2136 -f 408/494/2137 409/493/2138 418/502/2139 -f 418/502/2140 417/501/2141 408/494/2142 -f 419/505/2143 422/506/2144 421/503/2145 -f 421/503/2146 420/504/2147 419/505/2148 -f 419/505/2149 420/504/2150 424/507/2151 -f 424/507/2152 423/508/2153 419/505/2154 -f 425/511/2155 428/512/2156 427/509/2157 -f 427/509/2158 426/510/2159 425/511/2160 -f 429/514/2161 425/511/2162 426/510/2163 -f 426/510/2164 430/513/2165 429/514/2166 -f 425/515/2167 429/528/2168 431/476/2169 -f 431/476/2170 428/477/2171 425/515/2172 -f 432/517/2173 435/518/2174 434/484/2175 -f 434/484/2176 433/516/2177 432/517/2178 -f 432/517/2179 433/516/2180 437/519/2181 -f 437/519/2182 436/520/2183 432/517/2184 -f 432/517/2185 438/521/2186 400/483/2187 -f 400/483/2188 435/518/2189 432/517/2190 -f 435/518/2191 440/523/2192 439/522/2193 -f 439/522/2194 434/484/2195 435/518/2196 -f 443/526/2197 442/527/2198 441/524/2199 -f 441/524/2200 444/525/2201 443/526/2202 -f 442/527/2203 443/526/2204 434/484/2205 -f 434/484/2206 439/522/2207 442/527/2208 -f 442/527/2209 439/522/2210 445/529/2211 -f 445/529/2212 441/524/2213 442/527/2214 -f 446/532/2215 449/533/2216 448/530/2217 -f 448/530/2218 447/531/2219 446/532/2220 -f 451/534/2221 450/535/2222 449/533/2223 -f 449/533/2224 446/532/2225 451/534/2226 -f 433/516/2227 434/484/2228 443/526/2229 -f 443/526/2230 437/519/2231 433/516/2232 -f 452/538/2233 455/539/2234 454/536/2235 -f 454/536/2236 453/537/2237 452/538/2238 -f 452/538/2239 458/557/2240 457/542/2241 -f 457/542/2242 456/543/2243 452/538/2244 -f 452/538/2245 453/537/2246 459/644/2247 -f 459/644/2248 458/557/2249 452/538/2250 -f 460/544/2251 462/545/2252 457/540/2253 -f 457/540/2254 461/541/2255 460/544/2256 -f 460/544/2257 406/489/2258 402/486/2259 -f 402/486/2260 403/485/2261 460/544/2262 -f 460/544/2263 461/541/2264 463/546/2265 -f 463/546/2266 406/489/2267 460/544/2268 -f 417/501/2269 418/502/2270 464/547/2271 -f 464/547/2272 416/500/2273 417/501/2274 -f 462/545/2275 465/549/2276 456/548/2277 -f 456/548/2278 457/540/2279 462/545/2280 -f 462/545/2281 460/544/2282 466/550/2283 -f 466/550/2284 465/549/2285 462/545/2286 -f 1342/688/2287 423/508/2288 467/551/2289 -f 467/551/2290 1341/687/2291 1342/688/2292 -f 468/627/2293 471/629/2294 470/552/2295 -f 470/552/2296 469/553/2297 468/627/2298 -f 468/647/2299 473/648/2300 472/645/2301 -f 472/645/2302 471/646/2303 468/647/2304 -f 471/556/2305 475/558/2306 474/554/2307 -f 474/554/2308 470/555/2309 471/556/2310 -f 471/556/2311 472/560/2312 476/559/2313 -f 476/559/2314 475/558/2315 471/556/2316 -f 476/559/2317 478/562/2318 477/561/2319 -f 477/561/2320 475/558/2321 476/559/2322 -f 476/559/2323 465/549/2324 466/550/2325 -f 466/550/2326 478/562/2327 476/559/2328 -f 476/559/2329 472/560/2330 456/548/2331 -f 456/548/2332 465/549/2333 476/559/2334 -f 478/562/2335 480/564/2336 479/563/2337 -f 479/563/2338 477/561/2339 478/562/2340 -f 478/562/2341 466/550/2342 481/565/2343 -f 481/565/2344 480/564/2345 478/562/2346 -f 481/565/2347 483/567/2348 482/566/2349 -f 482/566/2350 480/564/2351 481/565/2352 -f 481/565/2353 403/485/2354 404/488/2355 -f 404/488/2356 483/567/2357 481/565/2358 -f 481/565/2359 466/550/2360 460/544/2361 -f 460/544/2362 403/485/2363 481/565/2364 -f 483/567/2365 485/569/2366 484/568/2367 -f 484/568/2368 482/566/2369 483/567/2370 -f 483/567/2371 404/488/2372 486/570/2373 -f 486/570/2374 485/569/2375 483/567/2376 -f 486/570/2377 488/572/2378 487/571/2379 -f 487/571/2380 485/569/2381 486/570/2382 -f 486/570/2383 490/574/2384 489/573/2385 -f 489/573/2386 488/572/2387 486/570/2388 -f 486/570/2389 404/488/2390 407/491/2391 -f 407/491/2392 490/574/2393 486/570/2394 -f 490/574/2395 464/547/2396 491/575/2397 -f 491/575/2398 489/573/2399 490/574/2400 -f 490/574/2401 407/491/2402 416/500/2403 -f 416/500/2404 464/547/2405 490/574/2406 -f 489/573/2407 493/577/2408 492/576/2409 -f 492/576/2410 488/572/2411 489/573/2412 -f 489/573/2413 491/575/2414 494/578/2415 -f 494/578/2416 493/577/2417 489/573/2418 -f 493/577/2419 496/580/2420 495/579/2421 -f 495/579/2422 492/576/2423 493/577/2424 -f 493/577/2425 494/578/2426 497/581/2427 -f 497/581/2428 496/580/2429 493/577/2430 -f 497/581/2431 494/578/2432 499/582/2433 -f 499/582/2434 498/583/2435 497/581/2436 -f 498/2584/2437 499/2583/2438 501/584/2439 -f 501/584/2440 500/585/2441 498/2584/2442 -f 501/584/2443 499/2583/2444 503/586/2445 -f 503/586/2446 502/587/2447 501/584/2448 -f 501/584/2449 505/589/2450 504/588/2451 -f 504/588/2452 500/585/2453 501/584/2454 -f 501/584/2455 502/587/2456 506/590/2457 -f 506/590/2458 505/589/2459 501/584/2460 -f 504/588/2461 505/589/2462 508/591/2463 -f 508/591/2464 507/592/2465 504/588/2466 -f 507/592/2467 508/591/2468 510/593/2469 -f 510/593/2470 509/594/2471 507/592/2472 -f 510/593/2473 508/591/2474 512/595/2475 -f 512/595/2476 511/596/2477 510/593/2478 -f 510/593/2479 514/598/2480 513/597/2481 -f 513/597/2482 509/594/2483 510/593/2484 -f 510/593/2485 511/596/2486 515/599/2487 -f 515/599/2488 514/598/2489 510/593/2490 -f 515/599/2491 511/596/2492 517/600/2493 -f 517/600/2494 516/601/2495 515/599/2496 -f 515/599/2497 519/603/2498 518/602/2499 -f 518/602/2500 514/598/2501 515/599/2502 -f 515/599/2503 516/601/2504 520/604/2505 -f 520/604/2506 519/603/2507 515/599/2508 -f 520/604/2509 516/601/2510 522/605/2511 -f 522/605/2512 521/606/2513 520/604/2514 -f 520/604/2515 484/568/2516 523/607/2517 -f 523/607/2518 519/603/2519 520/604/2520 -f 520/604/2521 521/606/2522 482/566/2523 -f 482/566/2524 484/568/2525 520/604/2526 -f 523/607/2527 524/608/2528 518/602/2529 -f 518/602/2530 519/603/2531 523/607/2532 -f 523/607/2533 487/571/2534 525/609/2535 -f 525/609/2536 524/608/2537 523/607/2538 -f 523/607/2539 484/568/2540 485/569/2541 -f 485/569/2542 487/571/2543 523/607/2544 -f 525/609/2545 527/611/2546 526/610/2547 -f 526/610/2548 524/608/2549 525/609/2550 -f 525/609/2551 492/576/2552 495/579/2553 -f 495/579/2554 527/611/2555 525/609/2556 -f 525/609/2557 487/571/2558 488/572/2559 -f 488/572/2560 492/576/2561 525/609/2562 -f 528/612/2563 513/597/2564 514/598/2565 -f 514/598/2566 518/602/2567 528/612/2568 -f 528/612/2569 518/602/2570 524/608/2571 -f 524/608/2572 526/610/2573 528/612/2574 -f 522/605/2575 531/615/2576 530/613/2577 -f 530/613/2578 529/614/2579 522/605/2580 -f 522/605/2581 516/601/2582 517/600/2583 -f 517/600/2584 531/615/2585 522/605/2586 -f 522/605/2587 529/614/2588 479/563/2589 -f 479/563/2590 521/606/2591 522/605/2592 -f 531/615/2593 533/617/2594 532/616/2595 -f 532/616/2596 530/613/2597 531/615/2598 -f 531/615/2599 517/600/2600 534/618/2601 -f 534/618/2602 533/617/2603 531/615/2604 -f 534/618/2605 536/620/2606 535/619/2607 -f 535/619/2608 533/617/2609 534/618/2610 -f 534/618/2611 512/595/2612 537/621/2613 -f 537/621/2614 536/620/2615 534/618/2616 -f 534/618/2617 517/600/2618 511/596/2619 -f 511/596/2620 512/595/2621 534/618/2622 -f 535/619/2623 538/622/2624 426/510/2625 -f 426/510/2626 427/509/2627 535/619/2628 -f 535/619/2629 536/620/2630 506/590/2631 -f 506/590/2632 538/622/2633 535/619/2634 -f 535/619/2635 427/509/2636 532/616/2637 -f 532/616/2638 533/617/2639 535/619/2640 -f 538/622/2641 539/623/2642 430/513/2643 -f 430/513/2644 426/510/2645 538/622/2646 -f 538/622/2647 506/590/2648 502/587/2649 -f 502/587/2650 539/623/2651 538/622/2652 -f 539/623/2653 410/2580/2654 411/2581/2655 -f 411/2581/2656 430/513/2657 539/623/2658 -f 539/623/2659 502/587/2660 503/586/2661 -f 503/586/2662 410/2580/2663 539/623/2664 -f 532/616/2665 427/509/2666 428/512/2667 -f 428/512/2668 540/624/2669 532/616/2670 -f 532/616/2671 540/624/2672 541/625/2673 -f 541/625/2674 530/613/2675 532/616/2676 -f 541/632/2677 540/633/2678 543/630/2679 -f 543/630/2680 542/631/2681 541/632/2682 -f 541/625/2683 544/626/2684 529/614/2685 -f 529/614/2686 530/613/2687 541/625/2688 -f 541/625/2689 542/628/2690 474/554/2691 -f 474/554/2692 544/626/2693 541/625/2694 -f 544/626/2695 477/561/2696 479/563/2697 -f 479/563/2698 529/614/2699 544/626/2700 -f 544/626/2701 474/554/2702 475/558/2703 -f 475/558/2704 477/561/2705 544/626/2706 -f 543/630/2707 547/636/2708 546/634/2709 -f 546/634/2710 545/635/2711 543/630/2712 -f 543/630/2713 540/633/2714 428/477/2715 -f 428/477/2716 547/636/2717 543/630/2718 -f 543/630/2719 545/635/2720 548/637/2721 -f 548/637/2722 542/631/2723 543/630/2724 -f 547/636/2725 550/639/2726 549/638/2727 -f 549/638/2728 546/634/2729 547/636/2730 -f 547/636/2731 428/477/2732 431/476/2733 -f 431/476/2734 550/639/2735 547/636/2736 -f 550/639/2737 552/641/2738 551/640/2739 -f 551/640/2740 549/638/2741 550/639/2742 -f 550/639/2743 431/476/2744 553/642/2745 -f 553/642/2746 552/641/2747 550/639/2748 -f 553/642/2749 555/668/2750 554/643/2751 -f 554/643/2752 552/641/2753 553/642/2754 -f 553/642/2755 557/670/2756 556/669/2757 -f 556/669/2758 555/668/2759 553/642/2760 -f 553/642/2761 431/476/2762 429/528/2763 -f 429/528/2764 557/670/2765 553/642/2766 -f 557/670/2767 559/672/2768 558/671/2769 -f 558/671/2770 556/669/2771 557/670/2772 -f 557/670/2773 429/528/2774 412/673/2775 -f 412/673/2776 559/672/2777 557/670/2778 -f 559/652/2779 561/653/2780 560/649/2781 -f 560/649/2782 558/651/2783 559/652/2784 -f 559/652/2785 412/655/2786 413/654/2787 -f 413/654/2788 561/653/2789 559/652/2790 -f 561/653/2791 563/657/2792 562/656/2793 -f 562/656/2794 560/649/2795 561/653/2796 -f 561/653/2797 413/654/2798 414/658/2799 -f 414/658/2800 563/657/2801 561/653/2802 -f 563/657/2803 565/660/2804 564/659/2805 -f 564/659/2806 562/656/2807 563/657/2808 -f 563/657/2809 414/658/2810 566/661/2811 -f 566/661/2812 565/660/2813 563/657/2814 -f 566/661/2815 463/663/2816 567/662/2817 -f 567/662/2818 565/660/2819 566/661/2820 -f 566/650/2821 405/490/2822 406/489/2823 -f 406/489/2824 463/546/2825 566/650/2826 -f 566/650/2827 414/498/2828 415/499/2829 -f 415/499/2830 405/490/2831 566/650/2832 -f 567/662/2833 568/664/2834 564/659/2835 -f 564/659/2836 565/660/2837 567/662/2838 -f 567/662/2839 570/666/2840 569/665/2841 -f 569/665/2842 568/664/2843 567/662/2844 -f 567/662/2845 463/663/2846 461/667/2847 -f 461/667/2848 570/666/2849 567/662/2850 -f 570/666/2851 458/557/2852 459/644/2853 -f 459/644/2854 569/665/2855 570/666/2856 -f 570/666/2857 461/667/2858 457/542/2859 -f 457/542/2860 458/557/2861 570/666/2862 -f 569/665/2863 572/697/2864 571/696/2865 -f 571/696/2866 568/664/2867 569/665/2868 -f 569/665/2869 459/644/2870 573/781/2871 -f 573/781/2872 572/697/2873 569/665/2874 -f 573/781/2875 575/1353/2876 574/782/2877 -f 574/782/2878 572/697/2879 573/781/2880 -f 573/781/2881 577/1355/2882 576/1354/2883 -f 576/1354/2884 575/1353/2885 573/781/2886 -f 573/781/2887 459/644/2888 453/537/2889 -f 453/537/2890 577/1355/2891 573/781/2892 -f 577/1355/2893 579/1357/2894 578/1356/2895 -f 578/1356/2896 576/1354/2897 577/1355/2898 -f 577/1355/2899 453/537/2900 454/536/2901 -f 454/536/2902 579/1357/2903 577/1355/2904 -f 576/1354/2905 581/1390/2906 580/1389/2907 -f 580/1389/2908 575/1353/2909 576/1354/2910 -f 576/1354/2911 578/1356/2912 582/1391/2913 -f 582/1391/2914 581/1390/2915 576/1354/2916 -f 581/1390/2917 1483/1393/2918 1482/1392/2919 -f 1482/1392/2920 580/1389/2921 581/1390/2922 -f 581/1390/2923 582/1391/2924 1484/1394/2925 -f 1484/1394/2926 1483/1393/2927 581/1390/2928 -f 1482/1392/2929 391/1396/2930 583/1395/2931 -f 583/1395/2932 580/1389/2933 1482/1392/2934 -f 391/1396/2935 397/475/2936 398/481/2937 -f 398/481/2938 583/1395/2939 391/1396/2940 -f 583/1395/2941 574/782/2942 575/1353/2943 -f 575/1353/2944 580/1389/2945 583/1395/2946 -f 583/1395/2947 398/481/2948 399/482/2949 -f 399/482/2950 574/782/2951 583/1395/2952 -f 574/782/2953 399/482/2954 571/696/2955 -f 571/696/2956 572/697/2957 574/782/2958 -f 571/696/2959 399/482/2960 400/483/2961 -f 400/483/2962 438/521/2963 571/696/2964 -f 571/696/2965 438/521/2966 564/659/2967 -f 564/659/2968 568/664/2969 571/696/2970 -f 564/659/2971 438/521/2972 432/517/2973 -f 432/517/2974 562/656/2975 564/659/2976 -f 562/656/2977 432/517/2978 436/520/2979 -f 436/520/2980 560/649/2981 562/656/2982 -f 560/649/2983 436/520/2984 584/1397/2985 -f 584/1397/2986 558/651/2987 560/649/2988 -f 584/676/2989 587/677/2990 586/674/2991 -f 586/674/2992 585/675/2993 584/676/2994 -f 584/1397/2995 436/520/2996 437/519/2997 -f 437/519/2998 587/1398/2999 584/1397/3000 -f 584/676/3001 585/675/3002 556/669/3003 -f 556/669/3004 558/671/3005 584/676/3006 -f 586/674/3007 590/680/3008 589/678/3009 -f 589/678/3010 588/679/3011 586/674/3012 -f 586/674/3013 587/677/3014 444/681/3015 -f 444/681/3016 590/680/3017 586/674/3018 -f 586/674/3019 588/679/3020 591/682/3021 -f 591/682/3022 585/675/3023 586/674/3024 -f 591/682/3025 588/679/3026 593/683/3027 -f 593/683/3028 592/684/3029 591/682/3030 -f 591/682/3031 555/668/3032 556/669/3033 -f 556/669/3034 585/675/3035 591/682/3036 -f 591/682/3037 592/684/3038 554/643/3039 -f 554/643/3040 555/668/3041 591/682/3042 -f 593/683/3043 596/1388/3044 595/685/3045 -f 595/685/3046 594/785/3047 593/683/3048 -f 593/683/3049 588/679/3050 589/678/3051 -f 589/678/3052 596/1388/3053 593/683/3054 -f 593/683/3055 594/785/3056 597/1399/3057 -f 597/1399/3058 592/684/3059 593/683/3060 -f 597/1399/3061 594/785/3062 1500/1427/3063 -f 1500/1427/3064 1501/1428/3065 597/1399/3066 -f 597/1399/3067 598/1429/3068 554/643/3069 -f 554/643/3070 592/684/3071 597/1399/3072 -f 597/1399/3073 1501/1428/3074 392/1430/3075 -f 392/1430/3076 598/1429/3077 597/1399/3078 -f 392/1430/3079 1503/1525/3080 551/640/3081 -f 551/640/3082 598/1429/3083 392/1430/3084 -f 1503/1525/3085 599/1526/3086 549/638/3087 -f 549/638/3088 551/640/3089 1503/1525/3090 -f 599/1526/3091 1504/1528/3092 546/634/3093 -f 546/634/3094 549/638/3095 599/1526/3096 -f 1504/1528/3097 600/1529/3098 545/635/3099 -f 545/635/3100 546/634/3101 1504/1528/3102 -f 600/1529/3103 601/1530/3104 548/637/3105 -f 548/637/3106 545/635/3107 600/1529/3108 -f 598/1429/3109 551/640/3110 552/641/3111 -f 552/641/3112 554/643/3113 598/1429/3114 -f 1500/1427/3115 594/785/3116 595/685/3117 -f 595/685/3118 393/1531/3119 1500/1427/3120 -f 393/1531/3121 595/685/3122 419/1532/3123 -f 419/1532/3124 602/1533/3125 393/1531/3126 -f 596/1388/3127 422/1534/3128 419/1532/3129 -f 419/1532/3130 595/685/3131 596/1388/3132 -f 596/1388/3133 589/678/3134 603/1535/3135 -f 603/1535/3136 422/1534/3137 596/1388/3138 -f 603/689/3139 604/690/3140 421/503/3141 -f 421/503/3142 422/506/3143 603/689/3144 -f 603/689/3145 606/692/3146 605/691/3147 -f 605/691/3148 604/690/3149 603/689/3150 -f 603/1535/3151 589/678/3152 590/680/3153 -f 590/680/3154 606/1536/3155 603/1535/3156 -f 607/693/3157 449/533/3158 605/691/3159 -f 605/691/3160 606/692/3161 607/693/3162 -f 606/1536/3163 590/680/3164 444/681/3165 -f 444/681/3166 607/1537/3167 606/1536/3168 -f 607/1401/3169 444/525/3170 441/524/3171 -f 441/524/3172 608/1400/3173 607/1401/3174 -f 608/1400/3175 441/524/3176 445/529/3177 -f 445/529/3178 609/1402/3179 608/1400/3180 -f 609/1402/3181 445/529/3182 612/1409/3183 -f 612/1409/3184 611/1410/3185 609/1402/3186 -f 612/1409/3187 445/529/3188 439/522/3189 -f 439/522/3190 440/523/3191 612/1409/3192 -f 612/1409/3193 613/1412/3194 1515/1411/3195 -f 1515/1411/3196 611/1410/3197 612/1409/3198 -f 612/1409/3199 440/523/3200 394/1414/3201 -f 394/1414/3202 613/1412/3203 612/1409/3204 -f 1515/698/3205 395/699/3206 610/694/3207 -f 610/694/3208 611/695/3209 1515/698/3210 -f 395/699/3211 1517/701/3212 614/700/3213 -f 614/700/3214 610/694/3215 395/699/3216 -f 1517/701/3217 1519/703/3218 615/702/3219 -f 615/702/3220 614/700/3221 1517/701/3222 -f 1519/703/3223 1521/705/3224 616/704/3225 -f 616/704/3226 615/702/3227 1519/703/3228 -f 1521/705/3229 1341/2601/3230 467/2600/3231 -f 467/2600/3232 616/704/3233 1521/705/3234 -f 616/704/3235 618/707/3236 617/706/3237 -f 617/706/3238 615/702/3239 616/704/3240 -f 616/704/3241 467/2600/3242 619/708/3243 -f 619/708/3244 618/707/3245 616/704/3246 -f 620/710/3247 618/707/3248 619/708/3249 -f 619/708/3250 621/709/3251 620/710/3252 -f 424/507/3253 622/711/3254 621/2603/3255 -f 621/2603/3256 619/2602/3257 424/507/3258 -f 619/2602/3259 467/551/3260 423/508/3261 -f 423/508/3262 424/507/3263 619/2602/3264 -f 623/714/3265 626/715/3266 625/712/3267 -f 625/712/3268 624/2605/3269 623/714/3270 -f 623/714/3271 628/717/3272 627/716/3273 -f 627/716/3274 626/715/3275 623/714/3276 -f 622/711/3277 629/718/3278 628/717/3279 -f 628/717/3280 623/714/3281 622/711/3282 -f 628/717/3283 631/720/3284 630/719/3285 -f 630/719/3286 627/716/3287 628/717/3288 -f 629/718/3289 632/721/3290 631/720/3291 -f 631/720/3292 628/717/3293 629/718/3294 -f 631/720/3295 634/723/3296 633/722/3297 -f 633/722/3298 630/719/3299 631/720/3300 -f 632/721/3301 635/724/3302 634/723/3303 -f 634/723/3304 631/720/3305 632/721/3306 -f 634/723/3307 637/726/3308 636/725/3309 -f 636/725/3310 633/722/3311 634/723/3312 -f 635/724/3313 638/727/3314 637/726/3315 -f 637/726/3316 634/723/3317 635/724/3318 -f 637/726/3319 640/729/3320 639/728/3321 -f 639/728/3322 636/725/3323 637/726/3324 -f 638/727/3325 450/535/3326 640/729/3327 -f 640/729/3328 637/726/3329 638/727/3330 -f 642/730/3331 641/731/3332 636/725/3333 -f 636/725/3334 639/728/3335 642/730/3336 -f 644/732/3337 643/733/3338 642/730/3339 -f 642/730/3340 639/728/3341 644/732/3342 -f 639/728/3343 640/729/3344 645/734/3345 -f 645/734/3346 644/732/3347 639/728/3348 -f 647/735/3349 646/736/3350 643/733/3351 -f 643/733/3352 644/732/3353 647/735/3354 -f 644/732/3355 645/734/3356 648/737/3357 -f 648/737/3358 647/735/3359 644/732/3360 -f 648/737/3361 650/739/3362 649/738/3363 -f 649/738/3364 647/735/3365 648/737/3366 -f 620/710/3367 650/739/3368 648/737/3369 -f 648/737/3370 651/740/3371 620/710/3372 -f 645/734/3373 451/534/3374 651/740/3375 -f 651/740/3376 648/737/3377 645/734/3378 -f 646/736/3379 647/735/3380 649/738/3381 -f 649/738/3382 652/741/3383 646/736/3384 -f 653/742/3385 652/741/3386 649/738/3387 -f 649/738/3388 625/2604/3389 653/742/3390 -f 649/738/3391 650/739/3392 624/713/3393 -f 624/713/3394 625/2604/3395 649/738/3396 -f 656/745/3397 655/746/3398 654/2607/3399 -f 654/2607/3400 657/744/3401 656/745/3402 -f 659/747/3403 658/748/3404 657/2608/3405 -f 657/2608/3406 654/743/3407 659/747/3408 -f 653/2606/3409 660/749/3410 659/747/3411 -f 659/747/3412 654/743/3413 653/2606/3414 -f 662/750/3415 661/751/3416 658/748/3417 -f 658/748/3418 659/747/3419 662/750/3420 -f 660/749/3421 663/752/3422 662/750/3423 -f 662/750/3424 659/747/3425 660/749/3426 -f 665/753/3427 664/754/3428 661/751/3429 -f 661/751/3430 662/750/3431 665/753/3432 -f 663/752/3433 666/755/3434 665/753/3435 -f 665/753/3436 662/750/3437 663/752/3438 -f 667/757/3439 664/754/3440 665/753/3441 -f 665/753/3442 668/756/3443 667/757/3444 -f 666/755/3445 669/758/3446 668/756/3447 -f 668/756/3448 665/753/3449 666/755/3450 -f 670/760/3451 667/757/3452 668/756/3453 -f 668/756/3454 671/759/3455 670/760/3456 -f 641/731/3457 671/759/3458 668/756/3459 -f 668/756/3460 669/758/3461 641/731/3462 -f 672/763/3463 675/764/3464 674/761/3465 -f 674/761/3466 673/762/3467 672/763/3468 -f 672/763/3469 677/766/3470 676/765/3471 -f 676/765/3472 675/764/3473 672/763/3474 -f 670/760/3475 678/767/3476 677/766/3477 -f 677/766/3478 672/763/3479 670/760/3480 -f 677/766/3481 680/769/3482 679/768/3483 -f 679/768/3484 676/765/3485 677/766/3486 -f 678/767/3487 681/770/3488 680/769/3489 -f 680/769/3490 677/766/3491 678/767/3492 -f 680/769/3493 683/772/3494 682/771/3495 -f 682/771/3496 679/768/3497 680/769/3498 -f 681/770/3499 684/773/3500 683/772/3501 -f 683/772/3502 680/769/3503 681/770/3504 -f 683/772/3505 686/775/3506 685/774/3507 -f 685/774/3508 682/771/3509 683/772/3510 -f 656/745/3511 686/775/3512 683/772/3513 -f 683/772/3514 684/773/3515 656/745/3516 -f 685/774/3517 686/775/3518 688/776/3519 -f 688/776/3520 687/777/3521 685/774/3522 -f 687/2610/3523 688/2609/3524 690/778/3525 -f 690/778/3526 689/1350/3527 687/2610/3528 -f 689/1350/3529 690/778/3530 692/1351/3531 -f 692/1351/3532 691/1352/3533 689/1350/3534 -f 691/1352/3535 692/1351/3536 694/2566/3537 -f 694/2566/3538 693/2567/3539 691/1352/3540 -f 693/2567/3541 694/2566/3542 673/762/3543 -f 673/762/3544 674/761/3545 693/2567/3546 -f 617/706/3547 446/532/3548 614/700/3549 -f 614/700/3550 615/702/3551 617/706/3552 -f 542/631/3553 548/637/3554 470/552/3555 -f 470/552/3556 474/1538/3557 542/631/3558 -f 521/606/3559 479/563/3560 480/564/3561 -f 480/564/3562 482/566/3563 521/606/3564 -f 503/2585/3565 695/779/3566 409/493/3567 -f 409/493/3568 410/492/3569 503/2585/3570 -f 491/575/3571 464/547/3572 418/502/3573 -f 418/502/3574 696/780/3575 491/575/3576 -f 455/539/3577 452/538/3578 698/1415/3579 -f 698/1415/3580 697/1416/3581 455/539/3582 -f 430/513/3583 411/2581/3584 412/2582/3585 -f 412/2582/3586 429/514/3587 430/513/3588 -f 1342/688/3589 602/2568/3590 419/505/3591 -f 419/505/3592 423/508/3593 1342/688/3594 -f 698/1415/3595 472/645/3596 473/648/3597 -f 473/648/3598 697/1416/3599 698/1415/3600 -f 698/1415/3601 452/538/3602 456/543/3603 -f 456/543/3604 472/645/3605 698/1415/3606 -f 418/502/3607 409/493/3608 695/779/3609 -f 695/779/3610 696/780/3611 418/502/3612 -f 416/500/3613 407/491/3614 405/490/3615 -f 405/490/3616 415/499/3617 416/500/3618 -f 1269/478/3619 394/1414/3620 440/523/3621 -f 440/523/3622 396/480/3623 1269/478/3624 -f 537/621/3625 505/589/3626 506/590/3627 -f 506/590/3628 536/620/3629 537/621/3630 -f 537/621/3631 512/595/3632 508/591/3633 -f 508/591/3634 505/589/3635 537/621/3636 -f 435/518/3637 400/483/3638 396/480/3639 -f 396/480/3640 440/523/3641 435/518/3642 -f 695/779/3643 700/784/3644 699/783/3645 -f 699/783/3646 696/780/3647 695/779/3648 -f 491/575/3649 696/780/3650 699/783/3651 -f 699/783/3652 494/578/3653 491/575/3654 -f 700/784/3655 499/582/3656 494/578/3657 -f 494/578/3658 699/783/3659 700/784/3660 -f 503/2585/3661 499/582/3662 700/784/3663 -f 700/784/3664 695/779/3665 503/2585/3666 -f 601/1530/3667 1607/1540/3668 701/1539/3669 -f 701/1539/3670 548/637/3671 601/1530/3672 -f 548/637/3673 701/1539/3674 469/553/3675 -f 469/553/3676 470/552/3677 548/637/3678 -f 703/788/3679 702/789/3680 705/786/3681 -f 705/786/3682 704/787/3683 703/788/3684 -f 1129/792/3685 707/793/3686 706/790/3687 -f 706/790/3688 708/791/3689 1129/792/3690 -f 711/796/3691 710/797/3692 709/794/3693 -f 709/794/3694 712/795/3695 711/796/3696 -f 714/800/3697 713/801/3698 716/798/3699 -f 716/798/3700 715/799/3701 714/800/3702 -f 711/796/3703 718/804/3704 717/802/3705 -f 717/802/3706 719/803/3707 711/796/3708 -f 724/809/3709 723/810/3710 726/807/3711 -f 726/807/3712 725/808/3713 724/809/3714 -f 728/813/3715 727/814/3716 730/811/3717 -f 730/811/3718 729/812/3719 728/813/3720 -f 733/815/3721 732/816/3722 731/805/3723 -f 731/805/3724 734/806/3725 733/815/3726 -f 736/819/3727 735/820/3728 738/817/3729 -f 738/817/3730 737/818/3731 736/819/3732 -f 739/821/3733 731/805/3734 714/800/3735 -f 714/800/3736 709/794/3737 739/821/3738 -f 741/824/3739 738/817/3740 740/822/3741 -f 740/822/3742 742/823/3743 741/824/3744 -f 744/829/3745 743/830/3746 746/827/3747 -f 746/827/3748 745/828/3749 744/829/3750 -f 747/833/3751 750/834/3752 749/831/3753 -f 749/831/3754 748/832/3755 747/833/3756 -f 751/826/3757 737/818/3758 738/817/3759 -f 738/817/3760 752/825/3761 751/826/3762 -f 751/826/3763 752/825/3764 731/805/3765 -f 731/805/3766 732/816/3767 751/826/3768 -f 753/843/3769 733/844/3770 734/837/3771 -f 734/837/3772 754/838/3773 753/843/3774 -f 753/843/3775 754/838/3776 735/845/3777 -f 735/845/3778 736/846/3779 753/843/3780 -f 755/839/3781 758/840/3782 757/835/3783 -f 757/835/3784 756/836/3785 755/839/3786 -f 761/852/3787 760/853/3788 759/849/3789 -f 759/849/3790 762/850/3791 761/852/3792 -f 740/822/3793 764/842/3794 763/841/3795 -f 763/841/3796 742/823/3797 740/822/3798 -f 765/867/3799 766/868/3800 747/833/3801 -f 747/833/3802 748/832/3803 765/867/3804 -f 710/797/3805 767/847/3806 739/821/3807 -f 739/821/3808 709/794/3809 710/797/3810 -f 768/879/3811 769/880/3812 761/852/3813 -f 761/852/3814 762/850/3815 768/879/3816 -f 770/854/3817 721/855/3818 722/848/3819 -f 722/848/3820 771/851/3821 770/854/3822 -f 772/856/3823 720/857/3824 721/855/3825 -f 721/855/3826 770/854/3827 772/856/3828 -f 775/860/3829 774/861/3830 773/858/3831 -f 773/858/3832 776/859/3833 775/860/3834 -f 778/864/3835 777/865/3836 780/862/3837 -f 780/862/3838 779/863/3839 778/864/3840 -f 780/862/3841 777/865/3842 781/866/3843 -f 781/866/3844 782/869/3845 780/862/3846 -f 781/866/3847 774/861/3848 775/860/3849 -f 775/860/3850 782/869/3851 781/866/3852 -f 773/893/3853 783/894/3854 784/891/3855 -f 784/891/3856 776/892/3857 773/893/3858 -f 784/891/3859 783/894/3860 778/895/3861 -f 778/895/3862 779/896/3863 784/891/3864 -f 787/872/3865 786/873/3866 785/870/3867 -f 785/870/3868 788/871/3869 787/872/3870 -f 790/876/3871 789/877/3872 792/874/3873 -f 792/874/3874 791/875/3875 790/876/3876 -f 792/874/3877 789/877/3878 793/878/3879 -f 793/878/3880 794/881/3881 792/874/3882 -f 793/878/3883 786/873/3884 787/872/3885 -f 787/872/3886 794/881/3887 793/878/3888 -f 788/899/3889 785/905/3890 795/897/3891 -f 795/897/3892 796/898/3893 788/899/3894 -f 795/897/3895 790/907/3896 791/906/3897 -f 791/906/3898 796/898/3899 795/897/3900 -f 797/884/3901 800/885/3902 799/882/3903 -f 799/882/3904 798/883/3905 797/884/3906 -f 801/888/3907 804/889/3908 803/886/3909 -f 803/886/3910 802/887/3911 801/888/3912 -f 805/890/3913 806/900/3914 804/889/3915 -f 804/889/3916 801/888/3917 805/890/3918 -f 798/883/3919 799/882/3920 806/900/3921 -f 806/900/3922 805/890/3923 798/883/3924 -f 807/910/3925 810/911/3926 809/908/3927 -f 809/908/3928 808/909/3929 807/910/3930 -f 811/912/3931 812/913/3932 810/911/3933 -f 810/911/3934 807/910/3935 811/912/3936 -f 800/885/3937 773/858/3938 774/861/3939 -f 774/861/3940 799/882/3941 800/885/3942 -f 804/889/3943 777/865/3944 778/864/3945 -f 778/864/3946 803/886/3947 804/889/3948 -f 806/900/3949 781/866/3950 777/865/3951 -f 777/865/3952 804/889/3953 806/900/3954 -f 799/882/3955 774/861/3956 781/866/3957 -f 781/866/3958 806/900/3959 799/882/3960 -f 810/911/3961 814/915/3962 813/914/3963 -f 813/914/3964 809/908/3965 810/911/3966 -f 812/913/3967 815/916/3968 814/915/3969 -f 814/915/3970 810/911/3971 812/913/3972 -f 776/859/3973 817/902/3974 816/901/3975 -f 816/901/3976 775/860/3977 776/859/3978 -f 780/862/3979 819/904/3980 818/903/3981 -f 818/903/3982 779/863/3983 780/862/3984 -f 782/869/3985 820/935/3986 819/904/3987 -f 819/904/3988 780/862/3989 782/869/3990 -f 775/860/3991 816/901/3992 820/935/3993 -f 820/935/3994 782/869/3995 775/860/3996 -f 821/919/3997 824/920/3998 823/917/3999 -f 823/917/4000 822/918/4001 821/919/4002 -f 825/921/4003 826/922/4004 824/920/4005 -f 824/920/4006 821/919/4007 825/921/4008 -f 817/902/4009 785/870/4010 786/873/4011 -f 786/873/4012 816/901/4013 817/902/4014 -f 819/904/4015 789/877/4016 790/876/4017 -f 790/876/4018 818/903/4019 819/904/4020 -f 820/935/4021 793/878/4022 789/877/4023 -f 789/877/4024 819/904/4025 820/935/4026 -f 816/901/4027 786/873/4028 793/878/4029 -f 793/878/4030 820/935/4031 816/901/4032 -f 824/920/4033 828/924/4034 827/923/4035 -f 827/923/4036 823/917/4037 824/920/4038 -f 826/922/4039 829/925/4040 828/924/4041 -f 828/924/4042 824/920/4043 826/922/4044 -f 807/910/4045 808/909/4046 797/926/4047 -f 797/926/4048 830/927/4049 807/910/4050 -f 811/912/4051 807/910/4052 830/927/4053 -f 830/927/4054 802/928/4055 811/912/4056 -f 812/913/4057 811/912/4058 802/928/4059 -f 802/928/4060 803/929/4061 812/913/4062 -f 815/916/4063 812/913/4064 803/929/4065 -f 803/929/4066 778/895/4067 815/916/4068 -f 814/915/4069 815/916/4070 778/895/4071 -f 778/895/4072 783/894/4073 814/915/4074 -f 813/914/4075 814/915/4076 783/894/4077 -f 783/894/4078 773/893/4079 813/914/4080 -f 809/908/4081 813/914/4082 773/893/4083 -f 773/893/4084 800/930/4085 809/908/4086 -f 808/909/4087 809/908/4088 800/930/4089 -f 800/930/4090 797/926/4091 808/909/4092 -f 821/919/4093 822/918/4094 776/892/4095 -f 776/892/4096 784/891/4097 821/919/4098 -f 825/921/4099 821/919/4100 784/891/4101 -f 784/891/4102 779/896/4103 825/921/4104 -f 826/922/4105 825/921/4106 779/896/4107 -f 779/896/4108 818/931/4109 826/922/4110 -f 829/925/4111 826/922/4112 818/931/4113 -f 818/931/4114 790/907/4115 829/925/4116 -f 828/924/4117 829/925/4118 790/907/4119 -f 790/907/4120 795/897/4121 828/924/4122 -f 827/923/4123 828/924/4124 795/897/4125 -f 795/897/4126 785/905/4127 827/923/4128 -f 823/917/4129 827/923/4130 785/905/4131 -f 785/905/4132 817/932/4133 823/917/4134 -f 822/918/4135 823/917/4136 817/932/4137 -f 817/932/4138 776/892/4139 822/918/4140 -f 772/856/4141 787/872/4142 788/871/4143 -f 788/871/4144 720/857/4145 772/856/4146 -f 791/875/4147 792/874/4148 771/851/4149 -f 771/851/4150 722/848/4151 791/875/4152 -f 771/851/4153 792/874/4154 794/881/4155 -f 794/881/4156 770/854/4157 771/851/4158 -f 794/881/4159 787/872/4160 772/856/4161 -f 772/856/4162 770/854/4163 794/881/4164 -f 832/948/4165 831/949/4166 834/933/4167 -f 834/933/4168 833/934/4169 832/948/4170 -f 831/949/4171 835/964/4172 836/963/4173 -f 836/963/4174 834/933/4175 831/949/4176 -f 838/987/4177 837/988/4178 721/975/4179 -f 721/975/4180 720/976/4181 838/987/4182 -f 839/989/4183 838/987/4184 720/976/4185 -f 720/976/4186 788/899/4187 839/989/4188 -f 840/990/4189 839/989/4190 788/899/4191 -f 788/899/4192 796/898/4193 840/990/4194 -f 841/991/4195 840/990/4196 796/898/4197 -f 796/898/4198 791/906/4199 841/991/4200 -f 842/993/4201 841/991/4202 791/906/4203 -f 791/906/4204 722/992/4205 842/993/4206 -f 837/988/4207 842/993/4208 722/992/4209 -f 722/992/4210 721/975/4211 837/988/4212 -f 833/934/4213 834/933/4214 837/988/4215 -f 837/988/4216 838/987/4217 833/934/4218 -f 832/948/4219 833/934/4220 838/987/4221 -f 838/987/4222 839/989/4223 832/948/4224 -f 831/949/4225 832/948/4226 839/989/4227 -f 839/989/4228 840/990/4229 831/949/4230 -f 835/964/4231 831/949/4232 840/990/4233 -f 840/990/4234 841/991/4235 835/964/4236 -f 836/963/4237 835/964/4238 841/991/4239 -f 841/991/4240 842/993/4241 836/963/4242 -f 834/933/4243 836/963/4244 842/993/4245 -f 842/993/4246 837/988/4247 834/933/4248 -f 845/1001/4249 844/1002/4250 843/994/4251 -f 843/994/4252 846/995/4253 845/1001/4254 -f 848/1003/4255 847/1004/4256 744/829/4257 -f 744/829/4258 745/828/4259 848/1003/4260 -f 850/1005/4261 849/1006/4262 845/1001/4263 -f 845/1001/4264 846/995/4265 850/1005/4266 -f 714/800/4267 731/805/4268 752/825/4269 -f 752/825/4270 713/801/4271 714/800/4272 -f 752/825/4273 738/817/4274 741/824/4275 -f 741/824/4276 713/801/4277 752/825/4278 -f 757/835/4279 767/847/4280 710/797/4281 -f 710/797/4282 756/836/4283 757/835/4284 -f 755/839/4285 851/937/4286 852/936/4287 -f 852/936/4288 758/840/4289 755/839/4290 -f 853/939/4291 763/841/4292 764/842/4293 -f 764/842/4294 854/938/4295 853/939/4296 -f 732/816/4297 733/815/4298 797/884/4299 -f 797/884/4300 798/883/4301 732/816/4302 -f 802/887/4303 736/819/4304 737/818/4305 -f 737/818/4306 801/888/4307 802/887/4308 -f 737/818/4309 751/826/4310 805/890/4311 -f 805/890/4312 801/888/4313 737/818/4314 -f 805/890/4315 751/826/4316 732/816/4317 -f 732/816/4318 798/883/4319 805/890/4320 -f 733/844/4321 753/843/4322 830/927/4323 -f 830/927/4324 797/926/4325 733/844/4326 -f 830/927/4327 753/843/4328 736/846/4329 -f 736/846/4330 802/928/4331 830/927/4332 -f 859/941/4333 858/942/4334 767/847/4335 -f 767/847/4336 860/940/4337 859/941/4338 -f 861/944/4339 734/806/4340 731/805/4341 -f 731/805/4342 862/943/4343 861/944/4344 -f 863/945/4345 862/943/4346 731/805/4347 -f 731/805/4348 739/821/4349 863/945/4350 -f 863/945/4351 739/821/4352 767/847/4353 -f 767/847/4354 858/942/4355 863/945/4356 -f 865/1008/4357 864/1009/4358 734/837/4359 -f 734/837/4360 861/1007/4361 865/1008/4362 -f 866/950/4363 856/951/4364 857/946/4365 -f 857/946/4366 867/947/4367 866/950/4368 -f 868/952/4369 855/953/4370 856/951/4371 -f 856/951/4372 866/950/4373 868/952/4374 -f 871/956/4375 870/957/4376 869/954/4377 -f 869/954/4378 872/955/4379 871/956/4380 -f 874/960/4381 873/961/4382 876/958/4383 -f 876/958/4384 875/959/4385 874/960/4386 -f 876/958/4387 873/961/4388 877/962/4389 -f 877/962/4390 878/965/4391 876/958/4392 -f 877/962/4393 870/957/4394 871/956/4395 -f 871/956/4396 878/965/4397 877/962/4398 -f 869/1012/4399 879/1013/4400 880/1010/4401 -f 880/1010/4402 872/1011/4403 869/1012/4404 -f 880/1010/4405 879/1013/4406 874/1014/4407 -f 874/1014/4408 875/1015/4409 880/1010/4410 -f 883/968/4411 882/969/4412 881/966/4413 -f 881/966/4414 884/967/4415 883/968/4416 -f 886/972/4417 885/973/4418 888/970/4419 -f 888/970/4420 887/971/4421 886/972/4422 -f 888/970/4423 885/973/4424 889/974/4425 -f 889/974/4426 890/977/4427 888/970/4428 -f 889/974/4429 882/969/4430 883/968/4431 -f 883/968/4432 890/977/4433 889/974/4434 -f 884/1018/4435 881/1019/4436 891/1016/4437 -f 891/1016/4438 892/1017/4439 884/1018/4440 -f 891/1016/4441 886/1021/4442 887/1020/4443 -f 887/1020/4444 892/1017/4445 891/1016/4446 -f 893/980/4447 896/981/4448 895/978/4449 -f 895/978/4450 894/979/4451 893/980/4452 -f 897/984/4453 900/985/4454 899/982/4455 -f 899/982/4456 898/983/4457 897/984/4458 -f 901/986/4459 902/996/4460 900/985/4461 -f 900/985/4462 897/984/4463 901/986/4464 -f 894/979/4465 895/978/4466 902/996/4467 -f 902/996/4468 901/986/4469 894/979/4470 -f 903/1032/4471 906/1046/4472 905/1022/4473 -f 905/1022/4474 904/1031/4475 903/1032/4476 -f 907/1047/4477 908/1058/4478 906/1046/4479 -f 906/1046/4480 903/1032/4481 907/1047/4482 -f 896/981/4483 869/954/4484 870/957/4485 -f 870/957/4486 895/978/4487 896/981/4488 -f 900/985/4489 873/961/4490 874/960/4491 -f 874/960/4492 899/982/4493 900/985/4494 -f 902/996/4495 877/962/4496 873/961/4497 -f 873/961/4498 900/985/4499 902/996/4500 -f 895/978/4501 870/957/4502 877/962/4503 -f 877/962/4504 902/996/4505 895/978/4506 -f 906/1046/4507 910/1070/4508 909/1059/4509 -f 909/1059/4510 905/1022/4511 906/1046/4512 -f 908/1058/4513 911/1071/4514 910/1070/4515 -f 910/1070/4516 906/1046/4517 908/1058/4518 -f 872/955/4519 913/998/4520 912/997/4521 -f 912/997/4522 871/956/4523 872/955/4524 -f 876/958/4525 915/1000/4526 914/999/4527 -f 914/999/4528 875/959/4529 876/958/4530 -f 878/965/4531 916/1023/4532 915/1000/4533 -f 915/1000/4534 876/958/4535 878/965/4536 -f 871/956/4537 912/997/4538 916/1023/4539 -f 916/1023/4540 878/965/4541 871/956/4542 -f 917/1074/4543 920/1075/4544 919/1072/4545 -f 919/1072/4546 918/1073/4547 917/1074/4548 -f 921/1076/4549 922/1077/4550 920/1075/4551 -f 920/1075/4552 917/1074/4553 921/1076/4554 -f 913/998/4555 881/966/4556 882/969/4557 -f 882/969/4558 912/997/4559 913/998/4560 -f 915/1000/4561 885/973/4562 886/972/4563 -f 886/972/4564 914/999/4565 915/1000/4566 -f 916/1023/4567 889/974/4568 885/973/4569 -f 885/973/4570 915/1000/4571 916/1023/4572 -f 912/997/4573 882/969/4574 889/974/4575 -f 889/974/4576 916/1023/4577 912/997/4578 -f 920/1075/4579 924/1084/4580 923/1078/4581 -f 923/1078/4582 919/1072/4583 920/1075/4584 -f 922/1077/4585 925/1085/4586 924/1084/4587 -f 924/1084/4588 920/1075/4589 922/1077/4590 -f 903/1032/4591 904/1031/4592 893/1086/4593 -f 893/1086/4594 926/1087/4595 903/1032/4596 -f 907/1047/4597 903/1032/4598 926/1087/4599 -f 926/1087/4600 898/1088/4601 907/1047/4602 -f 908/1058/4603 907/1047/4604 898/1088/4605 -f 898/1088/4606 899/1089/4607 908/1058/4608 -f 911/1071/4609 908/1058/4610 899/1089/4611 -f 899/1089/4612 874/1014/4613 911/1071/4614 -f 910/1070/4615 911/1071/4616 874/1014/4617 -f 874/1014/4618 879/1013/4619 910/1070/4620 -f 909/1059/4621 910/1070/4622 879/1013/4623 -f 879/1013/4624 869/1012/4625 909/1059/4626 -f 905/1022/4627 909/1059/4628 869/1012/4629 -f 869/1012/4630 896/1090/4631 905/1022/4632 -f 904/1031/4633 905/1022/4634 896/1090/4635 -f 896/1090/4636 893/1086/4637 904/1031/4638 -f 917/1074/4639 918/1073/4640 872/1011/4641 -f 872/1011/4642 880/1010/4643 917/1074/4644 -f 921/1076/4645 917/1074/4646 880/1010/4647 -f 880/1010/4648 875/1015/4649 921/1076/4650 -f 922/1077/4651 921/1076/4652 875/1015/4653 -f 875/1015/4654 914/1091/4655 922/1077/4656 -f 925/1085/4657 922/1077/4658 914/1091/4659 -f 914/1091/4660 886/1021/4661 925/1085/4662 -f 924/1084/4663 925/1085/4664 886/1021/4665 -f 886/1021/4666 891/1016/4667 924/1084/4668 -f 923/1078/4669 924/1084/4670 891/1016/4671 -f 891/1016/4672 881/1019/4673 923/1078/4674 -f 919/1072/4675 923/1078/4676 881/1019/4677 -f 881/1019/4678 913/1092/4679 919/1072/4680 -f 918/1073/4681 919/1072/4682 913/1092/4683 -f 913/1092/4684 872/1011/4685 918/1073/4686 -f 868/952/4687 883/968/4688 884/967/4689 -f 884/967/4690 855/953/4691 868/952/4692 -f 887/971/4693 888/970/4694 867/947/4695 -f 867/947/4696 857/946/4697 887/971/4698 -f 867/947/4699 888/970/4700 890/977/4701 -f 890/977/4702 866/950/4703 867/947/4704 -f 890/977/4705 883/968/4706 868/952/4707 -f 868/952/4708 866/950/4709 890/977/4710 -f 928/1095/4711 927/1096/4712 930/1093/4713 -f 930/1093/4714 929/1094/4715 928/1095/4716 -f 927/1096/4717 931/1098/4718 932/1097/4719 -f 932/1097/4720 930/1093/4721 927/1096/4722 -f 934/1101/4723 933/1102/4724 856/1099/4725 -f 856/1099/4726 855/1100/4727 934/1101/4728 -f 935/1103/4729 934/1101/4730 855/1100/4731 -f 855/1100/4732 884/1018/4733 935/1103/4734 -f 936/1104/4735 935/1103/4736 884/1018/4737 -f 884/1018/4738 892/1017/4739 936/1104/4740 -f 937/1105/4741 936/1104/4742 892/1017/4743 -f 892/1017/4744 887/1020/4745 937/1105/4746 -f 938/1115/4747 937/1105/4748 887/1020/4749 -f 887/1020/4750 857/1114/4751 938/1115/4752 -f 933/1102/4753 938/1115/4754 857/1114/4755 -f 857/1114/4756 856/1099/4757 933/1102/4758 -f 929/1094/4759 930/1093/4760 933/1102/4761 -f 933/1102/4762 934/1101/4763 929/1094/4764 -f 928/1095/4765 929/1094/4766 934/1101/4767 -f 934/1101/4768 935/1103/4769 928/1095/4770 -f 927/1096/4771 928/1095/4772 935/1103/4773 -f 935/1103/4774 936/1104/4775 927/1096/4776 -f 931/1098/4777 927/1096/4778 936/1104/4779 -f 936/1104/4780 937/1105/4781 931/1098/4782 -f 932/1097/4783 931/1098/4784 937/1105/4785 -f 937/1105/4786 938/1115/4787 932/1097/4788 -f 930/1093/4789 932/1097/4790 938/1115/4791 -f 938/1115/4792 933/1102/4793 930/1093/4794 -f 858/942/4795 859/941/4796 893/980/4797 -f 893/980/4798 894/979/4799 858/942/4800 -f 898/983/4801 861/944/4802 862/943/4803 -f 862/943/4804 897/984/4805 898/983/4806 -f 862/943/4807 863/945/4808 901/986/4809 -f 901/986/4810 897/984/4811 862/943/4812 -f 901/986/4813 863/945/4814 858/942/4815 -f 858/942/4816 894/979/4817 901/986/4818 -f 859/1129/4819 865/1008/4820 926/1087/4821 -f 926/1087/4822 893/1086/4823 859/1129/4824 -f 926/1087/4825 865/1008/4826 861/1007/4827 -f 861/1007/4828 898/1088/4829 926/1087/4830 -f 943/1024/4831 942/1025/4832 758/840/4833 -f 758/840/4834 852/936/4835 943/1024/4836 -f 944/1027/4837 860/940/4838 767/847/4839 -f 767/847/4840 945/1026/4841 944/1027/4842 -f 946/1028/4843 945/1026/4844 767/847/4845 -f 767/847/4846 757/835/4847 946/1028/4848 -f 946/1028/4849 757/835/4850 758/840/4851 -f 758/840/4852 942/1025/4853 946/1028/4854 -f 947/1142/4855 943/1153/4856 852/1130/4857 -f 852/1130/4858 948/1141/4859 947/1142/4860 -f 947/1142/4861 948/1141/4862 860/1154/4863 -f 860/1154/4864 944/1155/4865 947/1142/4866 -f 949/1033/4867 940/1034/4868 941/1029/4869 -f 941/1029/4870 950/1030/4871 949/1033/4872 -f 951/1035/4873 939/1036/4874 940/1034/4875 -f 940/1034/4876 949/1033/4877 951/1035/4878 -f 954/1039/4879 953/1040/4880 952/1037/4881 -f 952/1037/4882 955/1038/4883 954/1039/4884 -f 957/1043/4885 956/1044/4886 959/1041/4887 -f 959/1041/4888 958/1042/4889 957/1043/4890 -f 959/1041/4891 956/1044/4892 960/1045/4893 -f 960/1045/4894 961/1048/4895 959/1041/4896 -f 960/1045/4897 953/1040/4898 954/1039/4899 -f 954/1039/4900 961/1048/4901 960/1045/4902 -f 952/1158/4903 962/1159/4904 963/1156/4905 -f 963/1156/4906 955/1157/4907 952/1158/4908 -f 963/1156/4909 962/1159/4910 957/1160/4911 -f 957/1160/4912 958/1161/4913 963/1156/4914 -f 966/1051/4915 965/1052/4916 964/1049/4917 -f 964/1049/4918 967/1050/4919 966/1051/4920 -f 969/1055/4921 968/1056/4922 971/1053/4923 -f 971/1053/4924 970/1054/4925 969/1055/4926 -f 971/1053/4927 968/1056/4928 972/1057/4929 -f 972/1057/4930 973/1060/4931 971/1053/4932 -f 972/1057/4933 965/1052/4934 966/1051/4935 -f 966/1051/4936 973/1060/4937 972/1057/4938 -f 967/1169/4939 964/1170/4940 974/1167/4941 -f 974/1167/4942 975/1168/4943 967/1169/4944 -f 974/1167/4945 969/1172/4946 970/1171/4947 -f 970/1171/4948 975/1168/4949 974/1167/4950 -f 976/1063/4951 979/1064/4952 978/1061/4953 -f 978/1061/4954 977/1062/4955 976/1063/4956 -f 980/1067/4957 983/1068/4958 982/1065/4959 -f 982/1065/4960 981/1066/4961 980/1067/4962 -f 984/1069/4963 985/1079/4964 983/1068/4965 -f 983/1068/4966 980/1067/4967 984/1069/4968 -f 977/1062/4969 978/1061/4970 985/1079/4971 -f 985/1079/4972 984/1069/4973 977/1062/4974 -f 986/1175/4975 989/1176/4976 988/1173/4977 -f 988/1173/4978 987/1174/4979 986/1175/4980 -f 990/1177/4981 991/1178/4982 989/1176/4983 -f 989/1176/4984 986/1175/4985 990/1177/4986 -f 979/1064/4987 952/1037/4988 953/1040/4989 -f 953/1040/4990 978/1061/4991 979/1064/4992 -f 983/1068/4993 956/1044/4994 957/1043/4995 -f 957/1043/4996 982/1065/4997 983/1068/4998 -f 985/1079/4999 960/1045/5000 956/1044/5001 -f 956/1044/5002 983/1068/5003 985/1079/5004 -f 978/1061/5005 953/1040/5006 960/1045/5007 -f 960/1045/5008 985/1079/5009 978/1061/5010 -f 989/1176/5011 993/1180/5012 992/1179/5013 -f 992/1179/5014 988/1173/5015 989/1176/5016 -f 991/1178/5017 994/1181/5018 993/1180/5019 -f 993/1180/5020 989/1176/5021 991/1178/5022 -f 955/1038/5023 996/1081/5024 995/1080/5025 -f 995/1080/5026 954/1039/5027 955/1038/5028 -f 959/1041/5029 998/1083/5030 997/1082/5031 -f 997/1082/5032 958/1042/5033 959/1041/5034 -f 961/1048/5035 999/1106/5036 998/1083/5037 -f 998/1083/5038 959/1041/5039 961/1048/5040 -f 954/1039/5041 995/1080/5042 999/1106/5043 -f 999/1106/5044 961/1048/5045 954/1039/5046 -f 1000/1184/5047 1003/1185/5048 1002/1182/5049 -f 1002/1182/5050 1001/1183/5051 1000/1184/5052 -f 1004/1186/5053 1005/1187/5054 1003/1185/5055 -f 1003/1185/5056 1000/1184/5057 1004/1186/5058 -f 996/1081/5059 964/1049/5060 965/1052/5061 -f 965/1052/5062 995/1080/5063 996/1081/5064 -f 998/1083/5065 968/1056/5066 969/1055/5067 -f 969/1055/5068 997/1082/5069 998/1083/5070 -f 999/1106/5071 972/1057/5072 968/1056/5073 -f 968/1056/5074 998/1083/5075 999/1106/5076 -f 995/1080/5077 965/1052/5078 972/1057/5079 -f 972/1057/5080 999/1106/5081 995/1080/5082 -f 1003/1185/5083 1007/1189/5084 1006/1188/5085 -f 1006/1188/5086 1002/1182/5087 1003/1185/5088 -f 1005/1187/5089 1008/1190/5090 1007/1189/5091 -f 1007/1189/5092 1003/1185/5093 1005/1187/5094 -f 986/1175/5095 987/1174/5096 976/1191/5097 -f 976/1191/5098 1009/1192/5099 986/1175/5100 -f 990/1177/5101 986/1175/5102 1009/1192/5103 -f 1009/1192/5104 981/1193/5105 990/1177/5106 -f 991/1178/5107 990/1177/5108 981/1193/5109 -f 981/1193/5110 982/1197/5111 991/1178/5112 -f 994/1181/5113 991/1178/5114 982/1197/5115 -f 982/1197/5116 957/1160/5117 994/1181/5118 -f 993/1180/5119 994/1181/5120 957/1160/5121 -f 957/1160/5122 962/1159/5123 993/1180/5124 -f 992/1179/5125 993/1180/5126 962/1159/5127 -f 962/1159/5128 952/1158/5129 992/1179/5130 -f 988/1173/5131 992/1179/5132 952/1158/5133 -f 952/1158/5134 979/1198/5135 988/1173/5136 -f 987/1174/5137 988/1173/5138 979/1198/5139 -f 979/1198/5140 976/1191/5141 987/1174/5142 -f 1000/1184/5143 1001/1183/5144 955/1157/5145 -f 955/1157/5146 963/1156/5147 1000/1184/5148 -f 1004/1186/5149 1000/1184/5150 963/1156/5151 -f 963/1156/5152 958/1161/5153 1004/1186/5154 -f 1005/1187/5155 1004/1186/5156 958/1161/5157 -f 958/1161/5158 997/1199/5159 1005/1187/5160 -f 1008/1190/5161 1005/1187/5162 997/1199/5163 -f 997/1199/5164 969/1172/5165 1008/1190/5166 -f 1007/1189/5167 1008/1190/5168 969/1172/5169 -f 969/1172/5170 974/1167/5171 1007/1189/5172 -f 1006/1188/5173 1007/1189/5174 974/1167/5175 -f 974/1167/5176 964/1170/5177 1006/1188/5178 -f 1002/1182/5179 1006/1188/5180 964/1170/5181 -f 964/1170/5182 996/1222/5183 1002/1182/5184 -f 1001/1183/5185 1002/1182/5186 996/1222/5187 -f 996/1222/5188 955/1157/5189 1001/1183/5190 -f 951/1035/5191 966/1051/5192 967/1050/5193 -f 967/1050/5194 939/1036/5195 951/1035/5196 -f 970/1054/5197 971/1053/5198 950/1030/5199 -f 950/1030/5200 941/1029/5201 970/1054/5202 -f 950/1030/5203 971/1053/5204 973/1060/5205 -f 973/1060/5206 949/1033/5207 950/1030/5208 -f 973/1060/5209 966/1051/5210 951/1035/5211 -f 951/1035/5212 949/1033/5213 973/1060/5214 -f 1011/1227/5215 1010/1228/5216 1013/1223/5217 -f 1013/1223/5218 1012/1226/5219 1011/1227/5220 -f 1010/1228/5221 1014/1230/5222 1015/1229/5223 -f 1015/1229/5224 1013/1223/5225 1010/1228/5226 -f 1017/1234/5227 1016/1235/5228 940/1231/5229 -f 940/1231/5230 939/1233/5231 1017/1234/5232 -f 1018/1236/5233 1017/1234/5234 939/1233/5235 -f 939/1233/5236 967/1169/5237 1018/1236/5238 -f 1019/1237/5239 1018/1236/5240 967/1169/5241 -f 967/1169/5242 975/1168/5243 1019/1237/5244 -f 1020/1242/5245 1019/1237/5246 975/1168/5247 -f 975/1168/5248 970/1171/5249 1020/1242/5250 -f 1021/1244/5251 1020/1242/5252 970/1171/5253 -f 970/1171/5254 941/1243/5255 1021/1244/5256 -f 1016/1235/5257 1021/1244/5258 941/1243/5259 -f 941/1243/5260 940/1231/5261 1016/1235/5262 -f 1012/1226/5263 1013/1223/5264 1016/1235/5265 -f 1016/1235/5266 1017/1234/5267 1012/1226/5268 -f 1011/1227/5269 1012/1226/5270 1017/1234/5271 -f 1017/1234/5272 1018/1236/5273 1011/1227/5274 -f 1010/1228/5275 1011/1227/5276 1018/1236/5277 -f 1018/1236/5278 1019/1237/5279 1010/1228/5280 -f 1014/1230/5281 1010/1228/5282 1019/1237/5283 -f 1019/1237/5284 1020/1242/5285 1014/1230/5286 -f 1015/1229/5287 1014/1230/5288 1020/1242/5289 -f 1020/1242/5290 1021/1244/5291 1015/1229/5292 -f 1013/1223/5293 1015/1229/5294 1021/1244/5295 -f 1021/1244/5296 1016/1235/5297 1013/1223/5298 -f 942/1025/5299 943/1024/5300 976/1063/5301 -f 976/1063/5302 977/1062/5303 942/1025/5304 -f 981/1066/5305 944/1027/5306 945/1026/5307 -f 945/1026/5308 980/1067/5309 981/1066/5310 -f 945/1026/5311 946/1028/5312 984/1069/5313 -f 984/1069/5314 980/1067/5315 945/1026/5316 -f 984/1069/5317 946/1028/5318 942/1025/5319 -f 942/1025/5320 977/1062/5321 984/1069/5322 -f 943/1153/5323 947/1142/5324 1009/1192/5325 -f 1009/1192/5326 976/1191/5327 943/1153/5328 -f 1009/1192/5329 947/1142/5330 944/1155/5331 -f 944/1155/5332 981/1193/5333 1009/1192/5334 -f 1026/1107/5335 1025/1108/5336 738/817/5337 -f 738/817/5338 735/820/5339 1026/1107/5340 -f 1027/1110/5341 854/938/5342 764/842/5343 -f 764/842/5344 1028/1109/5345 1027/1110/5346 -f 1029/1111/5347 1028/1109/5348 764/842/5349 -f 764/842/5350 740/822/5351 1029/1111/5352 -f 1029/1111/5353 740/822/5354 738/817/5355 -f 738/817/5356 1025/1108/5357 1029/1111/5358 -f 1030/1246/5359 1026/1247/5360 735/845/5361 -f 735/845/5362 1031/1245/5363 1030/1246/5364 -f 1030/1246/5365 1031/1245/5366 854/1253/5367 -f 854/1253/5368 1027/1254/5369 1030/1246/5370 -f 1032/1116/5371 1023/1117/5372 1024/1112/5373 -f 1024/1112/5374 1033/1113/5375 1032/1116/5376 -f 1034/1118/5377 1022/1119/5378 1023/1117/5379 -f 1023/1117/5380 1032/1116/5381 1034/1118/5382 -f 1037/1122/5383 1036/1123/5384 1035/1120/5385 -f 1035/1120/5386 1038/1121/5387 1037/1122/5388 -f 1040/1126/5389 1039/1127/5390 1042/1124/5391 -f 1042/1124/5392 1041/1125/5393 1040/1126/5394 -f 1042/1124/5395 1039/1127/5396 1043/1128/5397 -f 1043/1128/5398 1044/1131/5399 1042/1124/5400 -f 1043/1128/5401 1036/1123/5402 1037/1122/5403 -f 1037/1122/5404 1044/1131/5405 1043/1128/5406 -f 1035/1257/5407 1045/1258/5408 1046/1255/5409 -f 1046/1255/5410 1038/1256/5411 1035/1257/5412 -f 1046/1255/5413 1045/1258/5414 1040/1260/5415 -f 1040/1260/5416 1041/1261/5417 1046/1255/5418 -f 1049/1134/5419 1048/1135/5420 1047/1132/5421 -f 1047/1132/5422 1050/1133/5423 1049/1134/5424 -f 1052/1138/5425 1051/1139/5426 1054/1136/5427 -f 1054/1136/5428 1053/1137/5429 1052/1138/5430 -f 1054/1136/5431 1051/1139/5432 1055/1140/5433 -f 1055/1140/5434 1056/1143/5435 1054/1136/5436 -f 1055/1140/5437 1048/1135/5438 1049/1134/5439 -f 1049/1134/5440 1056/1143/5441 1055/1140/5442 -f 1050/1264/5443 1047/1265/5444 1057/1262/5445 -f 1057/1262/5446 1058/1263/5447 1050/1264/5448 -f 1057/1262/5449 1052/1267/5450 1053/1266/5451 -f 1053/1266/5452 1058/1263/5453 1057/1262/5454 -f 1059/1146/5455 1062/1147/5456 1061/1144/5457 -f 1061/1144/5458 1060/1145/5459 1059/1146/5460 -f 1063/1150/5461 1066/1151/5462 1065/1148/5463 -f 1065/1148/5464 1064/1149/5465 1063/1150/5466 -f 1067/1152/5467 1068/1162/5468 1066/1151/5469 -f 1066/1151/5470 1063/1150/5471 1067/1152/5472 -f 1060/1145/5473 1061/1144/5474 1068/1162/5475 -f 1068/1162/5476 1067/1152/5477 1060/1145/5478 -f 1069/1278/5479 1072/1279/5480 1071/1268/5481 -f 1071/1268/5482 1070/1269/5483 1069/1278/5484 -f 1073/1280/5485 1074/1281/5486 1072/1279/5487 -f 1072/1279/5488 1069/1278/5489 1073/1280/5490 -f 1062/1147/5491 1035/1120/5492 1036/1123/5493 -f 1036/1123/5494 1061/1144/5495 1062/1147/5496 -f 1066/1151/5497 1039/1127/5498 1040/1126/5499 -f 1040/1126/5500 1065/1148/5501 1066/1151/5502 -f 1068/1162/5503 1043/1128/5504 1039/1127/5505 -f 1039/1127/5506 1066/1151/5507 1068/1162/5508 -f 1061/1144/5509 1036/1123/5510 1043/1128/5511 -f 1043/1128/5512 1068/1162/5513 1061/1144/5514 -f 1072/1279/5515 1076/1283/5516 1075/1282/5517 -f 1075/1282/5518 1071/1268/5519 1072/1279/5520 -f 1074/1281/5521 1077/1284/5522 1076/1283/5523 -f 1076/1283/5524 1072/1279/5525 1074/1281/5526 -f 1038/1121/5527 1079/1164/5528 1078/1163/5529 -f 1078/1163/5530 1037/1122/5531 1038/1121/5532 -f 1042/1124/5533 1081/1166/5534 1080/1165/5535 -f 1080/1165/5536 1041/1125/5537 1042/1124/5538 -f 1044/1131/5539 1082/1194/5540 1081/1166/5541 -f 1081/1166/5542 1042/1124/5543 1044/1131/5544 -f 1037/1122/5545 1078/1163/5546 1082/1194/5547 -f 1082/1194/5548 1044/1131/5549 1037/1122/5550 -f 1083/1290/5551 1086/1291/5552 1085/1285/5553 -f 1085/1285/5554 1084/1289/5555 1083/1290/5556 -f 1087/1292/5557 1088/1299/5558 1086/1291/5559 -f 1086/1291/5560 1083/1290/5561 1087/1292/5562 -f 1079/1164/5563 1047/1132/5564 1048/1135/5565 -f 1048/1135/5566 1078/1163/5567 1079/1164/5568 -f 1081/1166/5569 1051/1139/5570 1052/1138/5571 -f 1052/1138/5572 1080/1165/5573 1081/1166/5574 -f 1082/1194/5575 1055/1140/5576 1051/1139/5577 -f 1051/1139/5578 1081/1166/5579 1082/1194/5580 -f 1078/1163/5581 1048/1135/5582 1055/1140/5583 -f 1055/1140/5584 1082/1194/5585 1078/1163/5586 -f 1086/1291/5587 1090/1307/5588 1089/1306/5589 -f 1089/1306/5590 1085/1285/5591 1086/1291/5592 -f 1088/1299/5593 1091/1308/5594 1090/1307/5595 -f 1090/1307/5596 1086/1291/5597 1088/1299/5598 -f 1069/1278/5599 1070/1269/5600 1059/1309/5601 -f 1059/1309/5602 1092/1310/5603 1069/1278/5604 -f 1073/1280/5605 1069/1278/5606 1092/1310/5607 -f 1092/1310/5608 1064/1311/5609 1073/1280/5610 -f 1074/1281/5611 1073/1280/5612 1064/1311/5613 -f 1064/1311/5614 1065/1312/5615 1074/1281/5616 -f 1077/1284/5617 1074/1281/5618 1065/1312/5619 -f 1065/1312/5620 1040/1260/5621 1077/1284/5622 -f 1076/1283/5623 1077/1284/5624 1040/1260/5625 -f 1040/1260/5626 1045/1258/5627 1076/1283/5628 -f 1075/1282/5629 1076/1283/5630 1045/1258/5631 -f 1045/1258/5632 1035/1257/5633 1075/1282/5634 -f 1071/1268/5635 1075/1282/5636 1035/1257/5637 -f 1035/1257/5638 1062/1313/5639 1071/1268/5640 -f 1070/1269/5641 1071/1268/5642 1062/1313/5643 -f 1062/1313/5644 1059/1309/5645 1070/1269/5646 -f 1083/1290/5647 1084/1289/5648 1038/1256/5649 -f 1038/1256/5650 1046/1255/5651 1083/1290/5652 -f 1087/1292/5653 1083/1290/5654 1046/1255/5655 -f 1046/1255/5656 1041/1261/5657 1087/1292/5658 -f 1088/1299/5659 1087/1292/5660 1041/1261/5661 -f 1041/1261/5662 1080/1314/5663 1088/1299/5664 -f 1091/1308/5665 1088/1299/5666 1080/1314/5667 -f 1080/1314/5668 1052/1267/5669 1091/1308/5670 -f 1090/1307/5671 1091/1308/5672 1052/1267/5673 -f 1052/1267/5674 1057/1262/5675 1090/1307/5676 -f 1089/1306/5677 1090/1307/5678 1057/1262/5679 -f 1057/1262/5680 1047/1265/5681 1089/1306/5682 -f 1085/1285/5683 1089/1306/5684 1047/1265/5685 -f 1047/1265/5686 1079/1315/5687 1085/1285/5688 -f 1084/1289/5689 1085/1285/5690 1079/1315/5691 -f 1079/1315/5692 1038/1256/5693 1084/1289/5694 -f 1034/1118/5695 1049/1134/5696 1050/1133/5697 -f 1050/1133/5698 1022/1119/5699 1034/1118/5700 -f 1053/1137/5701 1054/1136/5702 1033/1113/5703 -f 1033/1113/5704 1024/1112/5705 1053/1137/5706 -f 1033/1113/5707 1054/1136/5708 1056/1143/5709 -f 1056/1143/5710 1032/1116/5711 1033/1113/5712 -f 1056/1143/5713 1049/1134/5714 1034/1118/5715 -f 1034/1118/5716 1032/1116/5717 1056/1143/5718 -f 1094/1318/5719 1093/1319/5720 1096/1316/5721 -f 1096/1316/5722 1095/1317/5723 1094/1318/5724 -f 1093/1319/5725 1097/1321/5726 1098/1320/5727 -f 1098/1320/5728 1096/1316/5729 1093/1319/5730 -f 1100/1324/5731 1099/1325/5732 1023/1322/5733 -f 1023/1322/5734 1022/1323/5735 1100/1324/5736 -f 1101/1326/5737 1100/1324/5738 1022/1323/5739 -f 1022/1323/5740 1050/1264/5741 1101/1326/5742 -f 1102/1327/5743 1101/1326/5744 1050/1264/5745 -f 1050/1264/5746 1058/1263/5747 1102/1327/5748 -f 1103/1328/5749 1102/1327/5750 1058/1263/5751 -f 1058/1263/5752 1053/1266/5753 1103/1328/5754 -f 1104/1330/5755 1103/1328/5756 1053/1266/5757 -f 1053/1266/5758 1024/1329/5759 1104/1330/5760 -f 1099/1325/5761 1104/1330/5762 1024/1329/5763 -f 1024/1329/5764 1023/1322/5765 1099/1325/5766 -f 1095/1317/5767 1096/1316/5768 1099/1325/5769 -f 1099/1325/5770 1100/1324/5771 1095/1317/5772 -f 1094/1318/5773 1095/1317/5774 1100/1324/5775 -f 1100/1324/5776 1101/1326/5777 1094/1318/5778 -f 1093/1319/5779 1094/1318/5780 1101/1326/5781 -f 1101/1326/5782 1102/1327/5783 1093/1319/5784 -f 1097/1321/5785 1093/1319/5786 1102/1327/5787 -f 1102/1327/5788 1103/1328/5789 1097/1321/5790 -f 1098/1320/5791 1097/1321/5792 1103/1328/5793 -f 1103/1328/5794 1104/1330/5795 1098/1320/5796 -f 1096/1316/5797 1098/1320/5798 1104/1330/5799 -f 1104/1330/5800 1099/1325/5801 1096/1316/5802 -f 1025/1108/5803 1026/1107/5804 1059/1146/5805 -f 1059/1146/5806 1060/1145/5807 1025/1108/5808 -f 1064/1149/5809 1027/1110/5810 1028/1109/5811 -f 1028/1109/5812 1063/1150/5813 1064/1149/5814 -f 1028/1109/5815 1029/1111/5816 1067/1152/5817 -f 1067/1152/5818 1063/1150/5819 1028/1109/5820 -f 1067/1152/5821 1029/1111/5822 1025/1108/5823 -f 1025/1108/5824 1060/1145/5825 1067/1152/5826 -f 1026/1247/5827 1030/1246/5828 1092/1310/5829 -f 1092/1310/5830 1059/1309/5831 1026/1247/5832 -f 1092/1310/5833 1030/1246/5834 1027/1254/5835 -f 1027/1254/5836 1064/1311/5837 1092/1310/5838 -f 750/834/5839 747/833/5840 1031/1245/5841 -f 1031/1245/5842 735/845/5843 750/834/5844 -f 749/831/5845 750/834/5846 735/845/5847 -f 735/845/5848 1105/1331/5849 749/831/5850 -f 748/832/5851 749/831/5852 1105/1331/5853 -f 1105/1331/5854 1106/1332/5855 748/832/5856 -f 765/867/5857 748/832/5858 1106/1332/5859 -f 1106/1332/5860 853/1333/5861 765/867/5862 -f 766/868/5863 765/867/5864 853/1333/5865 -f 853/1333/5866 854/1253/5867 766/868/5868 -f 747/833/5869 766/868/5870 854/1253/5871 -f 854/1253/5872 1031/1245/5873 747/833/5874 -f 743/830/5875 744/829/5876 754/838/5877 -f 754/838/5878 734/837/5879 743/830/5880 -f 746/827/5881 743/830/5882 734/837/5883 -f 734/837/5884 1107/1334/5885 746/827/5886 -f 745/828/5887 746/827/5888 1107/1334/5889 -f 1107/1334/5890 1108/1335/5891 745/828/5892 -f 848/1003/5893 745/828/5894 1108/1335/5895 -f 1108/1335/5896 1105/1331/5897 848/1003/5898 -f 847/1004/5899 848/1003/5900 1105/1331/5901 -f 1105/1331/5902 735/845/5903 847/1004/5904 -f 744/829/5905 847/1004/5906 735/845/5907 -f 735/845/5908 754/838/5909 744/829/5910 -f 845/1001/5911 849/1006/5912 734/837/5913 -f 734/837/5914 864/1009/5915 845/1001/5916 -f 844/1002/5917 845/1001/5918 864/1009/5919 -f 864/1009/5920 860/1154/5921 844/1002/5922 -f 843/994/5923 844/1002/5924 860/1154/5925 -f 860/1154/5926 727/814/5927 843/994/5928 -f 846/995/5929 843/994/5930 727/814/5931 -f 727/814/5932 1109/1336/5933 846/995/5934 -f 850/1005/5935 846/995/5936 1109/1336/5937 -f 1109/1336/5938 1107/1334/5939 850/1005/5940 -f 849/1006/5941 850/1005/5942 1107/1334/5943 -f 1107/1334/5944 734/837/5945 849/1006/5946 -f 760/853/5947 761/852/5948 948/1141/5949 -f 948/1141/5950 852/1130/5951 760/853/5952 -f 759/849/5953 760/853/5954 852/1130/5955 -f 852/1130/5956 851/1337/5957 759/849/5958 -f 762/850/5959 759/849/5960 851/1337/5961 -f 851/1337/5962 730/811/5963 762/850/5964 -f 768/879/5965 762/850/5966 730/811/5967 -f 730/811/5968 727/814/5969 768/879/5970 -f 769/880/5971 768/879/5972 727/814/5973 -f 727/814/5974 860/1154/5975 769/880/5976 -f 761/852/5977 769/880/5978 860/1154/5979 -f 860/1154/5980 948/1141/5981 761/852/5982 -f 859/1129/5983 860/1154/5984 864/1009/5985 -f 864/1009/5986 865/1008/5987 859/1129/5988 -f 755/839/5989 1111/1196/5990 1110/1195/5991 -f 1110/1195/5992 851/937/5993 755/839/5994 -f 712/795/5995 1112/1200/5996 718/804/5997 -f 718/804/5998 711/796/5999 712/795/6000 -f 1109/1336/6001 1114/1339/6002 1113/1338/6003 -f 1113/1338/6004 1107/1334/6005 1109/1336/6006 -f 719/803/6007 756/836/6008 710/797/6009 -f 710/797/6010 711/796/6011 719/803/6012 -f 725/808/6013 1115/1340/6014 1106/1332/6015 -f 1106/1332/6016 1105/1331/6017 725/808/6018 -f 1108/1335/6019 724/809/6020 725/808/6021 -f 725/808/6022 1105/1331/6023 1108/1335/6024 -f 1118/1203/6025 1117/1204/6026 1116/1201/6027 -f 1116/1201/6028 1119/1202/6029 1118/1203/6030 -f 1121/1205/6031 1120/1206/6032 1116/1201/6033 -f 1116/1201/6034 1117/1204/6035 1121/1205/6036 -f 1123/1208/6037 1122/1209/6038 1121/1205/6039 -f 1121/1205/6040 1124/1207/6041 1123/1208/6042 -f 1117/1204/6043 1118/1203/6044 1126/1210/6045 -f 1126/1210/6046 1125/1211/6047 1117/1204/6048 -f 1124/1207/6049 1121/1205/6050 1117/1204/6051 -f 1117/1204/6052 1125/1211/6053 1124/1207/6054 -f 707/793/6055 1129/792/6056 1127/1212/6057 -f 1127/1212/6058 1128/1213/6059 707/793/6060 -f 1131/1216/6061 1130/1217/6062 1133/1214/6063 -f 1133/1214/6064 1132/1215/6065 1131/1216/6066 -f 1135/1218/6067 1134/1219/6068 1131/1216/6069 -f 1131/1216/6070 1132/1215/6071 1135/1218/6072 -f 1130/1217/6073 1136/1221/6074 1137/1220/6075 -f 1137/1220/6076 1133/1214/6077 1130/1217/6078 -f 1136/1343/6079 1138/1344/6080 1139/1341/6081 -f 1139/1341/6082 1137/1342/6083 1136/1343/6084 -f 1138/1344/6085 1140/1346/6086 1141/1345/6087 -f 1141/1345/6088 1139/1341/6089 1138/1344/6090 -f 1141/1224/6091 1140/1225/6092 1134/1219/6093 -f 1134/1219/6094 1135/1218/6095 1141/1224/6096 -f 1142/1349/6097 1145/2379/6098 1144/1347/6099 -f 1144/1347/6100 1143/1348/6101 1142/1349/6102 -f 1146/2380/6103 1147/2381/6104 1145/2379/6105 -f 1145/2379/6106 1142/1349/6107 1146/2380/6108 -f 1126/1210/6109 1130/1217/6110 1131/1216/6111 -f 1131/1216/6112 1125/1211/6113 1126/1210/6114 -f 1125/1211/6115 1131/1216/6116 1134/1219/6117 -f 1134/1219/6118 1124/1207/6119 1125/1211/6120 -f 1148/1232/6121 1136/1221/6122 1130/1217/6123 -f 1130/1217/6124 1126/1210/6125 1148/1232/6126 -f 1145/2379/6127 1150/2384/6128 1149/2382/6129 -f 1149/2382/6130 1144/1347/6131 1145/2379/6132 -f 1147/2381/6133 1151/2385/6134 1150/2384/6135 -f 1150/2384/6136 1145/2379/6137 1147/2381/6138 -f 1124/1207/6139 1134/1219/6140 1140/1225/6141 -f 1140/1225/6142 1123/1208/6143 1124/1207/6144 -f 1142/1349/6145 1143/1348/6146 1152/2386/6147 -f 1152/2386/6148 1153/2387/6149 1142/1349/6150 -f 1146/2380/6151 1142/1349/6152 1153/2387/6153 -f 1153/2387/6154 1122/2388/6155 1146/2380/6156 -f 1147/2381/6157 1146/2380/6158 1122/2388/6159 -f 1122/2388/6160 1123/2389/6161 1147/2381/6162 -f 1151/2385/6163 1147/2381/6164 1123/2389/6165 -f 1123/2389/6166 1140/1346/6167 1151/2385/6168 -f 1150/2384/6169 1151/2385/6170 1140/1346/6171 -f 1140/1346/6172 1138/1344/6173 1150/2384/6174 -f 1149/2382/6175 1150/2384/6176 1138/1344/6177 -f 1138/1344/6178 1136/1343/6179 1149/2382/6180 -f 1144/1347/6181 1149/2382/6182 1136/1343/6183 -f 1136/1343/6184 1148/2390/6185 1144/1347/6186 -f 1143/1348/6187 1144/1347/6188 1148/2390/6189 -f 1148/2390/6190 1152/2386/6191 1143/1348/6192 -f 707/793/6193 1155/1239/6194 1154/1238/6195 -f 1154/1238/6196 706/790/6197 707/793/6198 -f 1128/1213/6199 1156/1240/6200 1155/1239/6201 -f 1155/1239/6202 707/793/6203 1128/1213/6204 -f 1154/1238/6205 1157/1241/6206 708/791/6207 -f 708/791/6208 706/790/6209 1154/1238/6210 -f 1159/2393/6211 1158/2394/6212 1161/2391/6213 -f 1161/2391/6214 1160/2392/6215 1159/2393/6216 -f 1158/2394/6217 1162/2396/6218 1163/2395/6219 -f 1163/2395/6220 1161/2391/6221 1158/2394/6222 -f 1164/1248/6223 1156/1240/6224 1128/1213/6225 -f 1128/1213/6226 1127/1212/6227 1164/1248/6228 -f 1133/1214/6229 1166/1250/6230 1165/1249/6231 -f 1165/1249/6232 1132/1215/6233 1133/1214/6234 -f 1132/1215/6235 1165/1249/6236 1167/1251/6237 -f 1167/1251/6238 1135/1218/6239 1132/1215/6240 -f 1137/1220/6241 1168/1252/6242 1166/1250/6243 -f 1166/1250/6244 1133/1214/6245 1137/1220/6246 -f 1169/2399/6247 1172/2400/6248 1171/2397/6249 -f 1171/2397/6250 1170/2398/6251 1169/2399/6252 -f 1173/2401/6253 1174/2402/6254 1172/2400/6255 -f 1172/2400/6256 1169/2399/6257 1173/2401/6258 -f 1135/1218/6259 1167/1251/6260 1175/1259/6261 -f 1175/1259/6262 1141/1224/6263 1135/1218/6264 -f 1166/1250/6265 1154/1238/6266 1155/1239/6267 -f 1155/1239/6268 1165/1249/6269 1166/1250/6270 -f 1165/1249/6271 1155/1239/6272 1156/1240/6273 -f 1156/1240/6274 1167/1251/6275 1165/1249/6276 -f 1168/1252/6277 1157/1241/6278 1154/1238/6279 -f 1154/1238/6280 1166/1250/6281 1168/1252/6282 -f 1172/2400/6283 1177/2404/6284 1176/2403/6285 -f 1176/2403/6286 1171/2397/6287 1172/2400/6288 -f 1174/2402/6289 1178/2405/6290 1177/2404/6291 -f 1177/2404/6292 1172/2400/6293 1174/2402/6294 -f 1167/1251/6295 1156/1240/6296 1164/1248/6297 -f 1164/1248/6298 1175/1259/6299 1167/1251/6300 -f 1169/2399/6301 1170/2398/6302 1137/1342/6303 -f 1137/1342/6304 1139/1341/6305 1169/2399/6306 -f 1173/2401/6307 1169/2399/6308 1139/1341/6309 -f 1139/1341/6310 1141/1345/6311 1173/2401/6312 -f 1174/2402/6313 1173/2401/6314 1141/1345/6315 -f 1141/1345/6316 1175/2406/6317 1174/2402/6318 -f 1178/2405/6319 1174/2402/6320 1175/2406/6321 -f 1175/2406/6322 1164/2407/6323 1178/2405/6324 -f 1177/2404/6325 1178/2405/6326 1164/2407/6327 -f 1164/2407/6328 1179/2408/6329 1177/2404/6330 -f 1176/2403/6331 1177/2404/6332 1179/2408/6333 -f 1179/2408/6334 1157/2409/6335 1176/2403/6336 -f 1171/2397/6337 1176/2403/6338 1157/2409/6339 -f 1157/2409/6340 1168/2410/6341 1171/2397/6342 -f 1170/2398/6343 1171/2397/6344 1168/2410/6345 -f 1168/2410/6346 1137/1342/6347 1170/2398/6348 -f 1181/2413/6349 1180/2414/6350 1129/2411/6351 -f 1129/2411/6352 708/2412/6353 1181/2413/6354 -f 1182/2415/6355 1181/2413/6356 708/2412/6357 -f 708/2412/6358 1157/2409/6359 1182/2415/6360 -f 1183/2416/6361 1182/2415/6362 1157/2409/6363 -f 1157/2409/6364 1179/2408/6365 1183/2416/6366 -f 1184/2417/6367 1183/2416/6368 1179/2408/6369 -f 1179/2408/6370 1164/2407/6371 1184/2417/6372 -f 1185/2419/6373 1184/2417/6374 1164/2407/6375 -f 1164/2407/6376 1127/2418/6377 1185/2419/6378 -f 1180/2414/6379 1185/2419/6380 1127/2418/6381 -f 1127/2418/6382 1129/2411/6383 1180/2414/6384 -f 1160/2392/6385 1161/2391/6386 1180/2414/6387 -f 1180/2414/6388 1181/2413/6389 1160/2392/6390 -f 1159/2393/6391 1160/2392/6392 1181/2413/6393 -f 1181/2413/6394 1182/2415/6395 1159/2393/6396 -f 1158/2394/6397 1159/2393/6398 1182/2415/6399 -f 1182/2415/6400 1183/2416/6401 1158/2394/6402 -f 1162/2396/6403 1158/2394/6404 1183/2416/6405 -f 1183/2416/6406 1184/2417/6407 1162/2396/6408 -f 1163/2395/6409 1162/2396/6410 1184/2417/6411 -f 1184/2417/6412 1185/2419/6413 1163/2395/6414 -f 1161/2391/6415 1163/2395/6416 1185/2419/6417 -f 1185/2419/6418 1180/2414/6419 1161/2391/6420 -f 741/824/6421 742/823/6422 1186/1270/6423 -f 1186/1270/6424 1187/1271/6425 741/824/6426 -f 1188/1274/6427 1191/1275/6428 1190/1272/6429 -f 1190/1272/6430 1189/1273/6431 1188/1274/6432 -f 1192/1276/6433 1112/1200/6434 712/795/6435 -f 712/795/6436 715/799/6437 1192/1276/6438 -f 1110/2420/6439 729/812/6440 730/811/6441 -f 730/811/6442 851/1337/6443 1110/2420/6444 -f 1194/2423/6445 1193/2424/6446 704/2421/6447 -f 704/2421/6448 705/2422/6449 1194/2423/6450 -f 728/813/6451 1114/1339/6452 1109/1336/6453 -f 1109/1336/6454 727/814/6455 728/813/6456 -f 1197/2426/6457 1196/2427/6458 1195/2425/6459 -f 1195/2425/6460 726/807/6461 1197/2426/6462 -f 725/808/6463 726/807/6464 1195/2425/6465 -f 1195/2425/6466 1115/1340/6467 725/808/6468 -f 1198/2430/6469 1118/2431/6470 1119/2428/6471 -f 1119/2428/6472 1199/2429/6473 1198/2430/6474 -f 1113/1338/6475 724/809/6476 1108/1335/6477 -f 1108/1335/6478 1107/1334/6479 1113/1338/6480 -f 1197/2426/6481 726/807/6482 723/810/6483 -f 723/810/6484 1200/2432/6485 1197/2426/6486 -f 1113/1338/6487 1201/2433/6488 723/810/6489 -f 723/810/6490 724/809/6491 1113/1338/6492 -f 1202/1277/6493 1186/1270/6494 742/823/6495 -f 742/823/6496 763/841/6497 1202/1277/6498 -f 853/939/6499 1203/1286/6500 1202/1277/6501 -f 1202/1277/6502 763/841/6503 853/939/6504 -f 1106/1332/6505 1115/1340/6506 1203/2434/6507 -f 1203/2434/6508 853/1333/6509 1106/1332/6510 -f 1204/1287/6511 1192/1276/6512 715/799/6513 -f 715/799/6514 716/798/6515 1204/1287/6516 -f 1205/2435/6517 1199/2429/6518 1115/1340/6519 -f 1115/1340/6520 1195/2425/6521 1205/2435/6522 -f 1206/2436/6523 1205/2435/6524 1195/2425/6525 -f 1195/2425/6526 1196/2427/6527 1206/2436/6528 -f 1207/2438/6529 1206/2436/6530 1196/2427/6531 -f 1196/2427/6532 1208/2437/6533 1207/2438/6534 -f 1209/2440/6535 1207/2438/6536 1208/2437/6537 -f 1208/2437/6538 1191/2439/6539 1209/2440/6540 -f 1210/1288/6541 1209/1293/6542 1191/1275/6543 -f 1191/1275/6544 1188/1274/6545 1210/1288/6546 -f 1187/1271/6547 1211/1294/6548 1204/1287/6549 -f 1204/1287/6550 716/798/6551 1187/1271/6552 -f 1211/1294/6553 1210/1288/6554 1188/1274/6555 -f 1188/1274/6556 1204/1287/6557 1211/1294/6558 -f 1213/1295/6559 1212/1296/6560 1120/1206/6561 -f 1120/1206/6562 1121/1205/6563 1213/1295/6564 -f 1153/2387/6565 1152/2386/6566 1206/2436/6567 -f 1206/2436/6568 1207/2438/6569 1153/2387/6570 -f 1209/2440/6571 1122/2388/6572 1153/2387/6573 -f 1153/2387/6574 1207/2438/6575 1209/2440/6576 -f 1214/1297/6577 1122/1209/6578 1209/1293/6579 -f 1209/1293/6580 1210/1288/6581 1214/1297/6582 -f 1211/1294/6583 1213/1295/6584 1214/1297/6585 -f 1214/1297/6586 1210/1288/6587 1211/1294/6588 -f 1187/1271/6589 1212/1296/6590 1213/1295/6591 -f 1213/1295/6592 1211/1294/6593 1187/1271/6594 -f 1186/1270/6595 1120/1206/6596 1212/1296/6597 -f 1212/1296/6598 1187/1271/6599 1186/1270/6600 -f 1203/1286/6601 1119/1202/6602 1116/1201/6603 -f 1116/1201/6604 1202/1277/6605 1203/1286/6606 -f 1199/2429/6607 1119/2428/6608 1203/2434/6609 -f 1203/2434/6610 1115/1340/6611 1199/2429/6612 -f 1206/2436/6613 1152/2386/6614 1215/2441/6615 -f 1215/2441/6616 1205/2435/6617 1206/2436/6618 -f 1116/1201/6619 1120/1206/6620 1186/1270/6621 -f 1186/1270/6622 1202/1277/6623 1116/1201/6624 -f 1198/2430/6625 1199/2429/6626 1205/2435/6627 -f 1205/2435/6628 1215/2441/6629 1198/2430/6630 -f 1198/2430/6631 1215/2441/6632 1216/2442/6633 -f 1216/2442/6634 1118/2431/6635 1198/2430/6636 -f 702/789/6637 703/788/6638 1217/1298/6639 -f 1217/1298/6640 1218/1300/6641 702/789/6642 -f 755/839/6643 756/836/6644 719/803/6645 -f 719/803/6646 1111/1196/6647 755/839/6648 -f 1194/2423/6649 729/812/6650 1110/2420/6651 -f 1110/2420/6652 1193/2424/6653 1194/2423/6654 -f 1219/1301/6655 1193/1302/6656 1110/1195/6657 -f 1110/1195/6658 1111/1196/6659 1219/1301/6660 -f 717/802/6661 1219/1301/6662 1111/1196/6663 -f 1111/1196/6664 719/803/6665 717/802/6666 -f 716/798/6667 713/801/6668 741/824/6669 -f 741/824/6670 1187/1271/6671 716/798/6672 -f 715/799/6673 712/795/6674 709/794/6675 -f 709/794/6676 714/800/6677 715/799/6678 -f 1112/1200/6679 1192/1276/6680 1189/1273/6681 -f 1189/1273/6682 1220/1303/6683 1112/1200/6684 -f 1204/1287/6685 1188/1274/6686 1189/1273/6687 -f 1189/1273/6688 1192/1276/6689 1204/1287/6690 -f 1217/1298/6691 1221/1304/6692 1220/1303/6693 -f 1220/1303/6694 1218/1300/6695 1217/1298/6696 -f 703/788/6697 704/787/6698 1193/1302/6699 -f 1193/1302/6700 1219/1301/6701 703/788/6702 -f 717/802/6703 1217/1298/6704 703/788/6705 -f 703/788/6706 1219/1301/6707 717/802/6708 -f 1221/1304/6709 1217/1298/6710 717/802/6711 -f 717/802/6712 718/804/6713 1221/1304/6714 -f 1112/1200/6715 1220/1303/6716 1221/1304/6717 -f 1221/1304/6718 718/804/6719 1112/1200/6720 -f 1190/1272/6721 1218/1300/6722 1220/1303/6723 -f 1220/1303/6724 1189/1273/6725 1190/1272/6726 -f 1223/2444/6727 1222/2445/6728 705/2574/6729 -f 705/2574/6730 702/2443/6731 1223/2444/6732 -f 1224/2447/6733 1223/2444/6734 702/2443/6735 -f 702/2443/6736 1218/2446/6737 1224/2447/6738 -f 1225/2449/6739 1224/2447/6740 1218/2446/6741 -f 1218/2446/6742 1190/2448/6743 1225/2449/6744 -f 1226/2450/6745 1225/2449/6746 1190/2448/6747 -f 1190/2448/6748 1191/2439/6749 1226/2450/6750 -f 1227/2451/6751 1226/2450/6752 1191/2439/6753 -f 1191/2439/6754 1208/2437/6755 1227/2451/6756 -f 1228/2452/6757 1227/2451/6758 1208/2437/6759 -f 1208/2437/6760 1196/2427/6761 1228/2452/6762 -f 1229/2453/6763 1228/2452/6764 1196/2427/6765 -f 1196/2427/6766 1197/2426/6767 1229/2453/6768 -f 1230/2454/6769 1229/2453/6770 1197/2426/6771 -f 1197/2426/6772 1200/2432/6773 1230/2454/6774 -f 1231/2456/6775 1230/2454/6776 1200/2432/6777 -f 1200/2432/6778 1232/2455/6779 1231/2456/6780 -f 1194/2423/6781 705/2422/6782 1233/2457/6783 -f 1233/2457/6784 1234/2458/6785 1194/2423/6786 -f 1201/2433/6787 1232/2455/6788 1200/2432/6789 -f 1200/2432/6790 723/810/6791 1201/2433/6792 -f 1235/2460/6793 1222/2445/6794 1223/2444/6795 -f 1223/2444/6796 1236/2459/6797 1235/2460/6798 -f 1237/2461/6799 1236/2459/6800 1223/2444/6801 -f 1223/2444/6802 1224/2447/6803 1237/2461/6804 -f 1237/2461/6805 1224/2447/6806 1225/2449/6807 -f 1225/2449/6808 1238/2462/6809 1237/2461/6810 -f 1238/2462/6811 1225/2449/6812 1226/2450/6813 -f 1226/2450/6814 1239/2463/6815 1238/2462/6816 -f 1239/2463/6817 1226/2450/6818 1227/2451/6819 -f 1227/2451/6820 1240/2464/6821 1239/2463/6822 -f 1241/2465/6823 1240/2464/6824 1227/2451/6825 -f 1227/2451/6826 1228/2452/6827 1241/2465/6828 -f 1242/2466/6829 1241/2465/6830 1228/2452/6831 -f 1228/2452/6832 1229/2453/6833 1242/2466/6834 -f 1243/2467/6835 1242/2466/6836 1229/2453/6837 -f 1229/2453/6838 1230/2454/6839 1243/2467/6840 -f 1243/2467/6841 1230/2454/6842 1231/2456/6843 -f 1231/2456/6844 1244/2468/6845 1243/2467/6846 -f 1244/2468/6847 1231/2456/6848 1222/2575/6849 -f 1222/2575/6850 1235/2576/6851 1244/2468/6852 -f 1213/1295/6853 1121/1205/6854 1122/1209/6855 -f 1122/1209/6856 1214/1297/6857 1213/1295/6858 -f 1118/1203/6859 1216/1305/6860 1148/1232/6861 -f 1148/1232/6862 1126/1210/6863 1118/1203/6864 -f 1148/2390/6865 1216/2442/6866 1215/2441/6867 -f 1215/2441/6868 1152/2386/6869 1148/2390/6870 -f 1247/2471/6871 1246/2472/6872 1245/2469/6873 -f 1245/2469/6874 1248/2470/6875 1247/2471/6876 -f 1250/2473/6877 1249/2474/6878 1247/2471/6879 -f 1247/2471/6880 1248/2470/6881 1250/2473/6882 -f 1251/2476/6883 1249/2474/6884 1250/2473/6885 -f 1250/2473/6886 1252/2475/6887 1251/2476/6888 -f 1246/2578/6889 1261/2478/6890 1260/2477/6891 -f 1260/2477/6892 1245/2577/6893 1246/2578/6894 -f 1194/2423/6895 1234/2458/6896 728/813/6897 -f 728/813/6898 729/812/6899 1194/2423/6900 -f 1262/2479/6901 1114/1339/6902 728/813/6903 -f 728/813/6904 1234/2458/6905 1262/2479/6906 -f 1114/1339/6907 1262/2479/6908 1201/2433/6909 -f 1201/2433/6910 1113/1338/6911 1114/1339/6912 -f 1263/2480/6913 1262/2479/6914 1234/2458/6915 -f 1234/2458/6916 1233/2457/6917 1263/2480/6918 -f 1264/2481/6919 1233/2457/6920 705/2422/6921 -f 705/2422/6922 1222/2575/6923 1264/2481/6924 -f 1231/2456/6925 1265/2482/6926 1264/2481/6927 -f 1264/2481/6928 1222/2575/6929 1231/2456/6930 -f 1263/2480/6931 1233/2457/6932 1264/2481/6933 -f 1264/2481/6934 1265/2482/6935 1263/2480/6936 -f 1232/2455/6937 1263/2480/6938 1265/2482/6939 -f 1265/2482/6940 1231/2456/6941 1232/2455/6942 -f 1262/2479/6943 1263/2480/6944 1232/2455/6945 -f 1232/2455/6946 1201/2433/6947 1262/2479/6948 -f 1260/2477/6949 1258/2483/6950 1243/2467/6951 -f 1243/2467/6952 1244/2468/6953 1260/2477/6954 -f 1257/2484/6955 1242/2466/6956 1243/2467/6957 -f 1243/2467/6958 1258/2483/6959 1257/2484/6960 -f 1256/2486/6961 1241/2465/6962 1242/2466/6963 -f 1242/2466/6964 1257/2484/6965 1256/2486/6966 -f 1255/2487/6967 1240/2464/6968 1241/2465/6969 -f 1241/2465/6970 1256/2486/6971 1255/2487/6972 -f 1254/2488/6973 1239/2463/6974 1240/2464/6975 -f 1240/2464/6976 1255/2487/6977 1254/2488/6978 -f 1252/2475/6979 1254/2488/6980 1253/2489/6981 -f 1253/2489/6982 1251/2476/6983 1252/2475/6984 -f 1237/2461/6985 1238/2462/6986 1252/2475/6987 -f 1252/2475/6988 1250/2473/6989 1237/2461/6990 -f 1236/2459/6991 1237/2461/6992 1250/2473/6993 -f 1250/2473/6994 1248/2470/6995 1236/2459/6996 -f 1245/2469/6997 1235/2460/6998 1236/2459/6999 -f 1236/2459/7000 1248/2470/7001 1245/2469/7002 -f 1244/2468/7003 1235/2576/7004 1245/2577/7005 -f 1245/2577/7006 1260/2477/7007 1244/2468/7008 -f 1260/2477/7009 1261/2478/7010 1259/2490/7011 -f 1259/2490/7012 1258/2483/7013 1260/2477/7014 -f 1252/2475/7015 1238/2462/7016 1239/2463/7017 -f 1239/2463/7018 1254/2488/7019 1252/2475/7020 -f 587/1398/7021 437/519/7022 443/526/7023 -f 443/526/7024 444/525/7025 587/1398/7026 -f 645/734/7027 640/729/7028 450/535/7029 -f 450/535/7030 451/534/7031 645/734/7032 -f 621/709/7033 624/713/7034 650/739/7035 -f 650/739/7036 620/710/7037 621/709/7038 -f 622/711/7039 623/714/7040 624/2605/7041 -f 624/2605/7042 621/2603/7043 622/711/7044 -f 424/507/7045 420/504/7046 629/718/7047 -f 629/718/7048 622/711/7049 424/507/7050 -f 420/504/7051 421/503/7052 632/721/7053 -f 632/721/7054 629/718/7055 420/504/7056 -f 421/503/7057 604/690/7058 635/724/7059 -f 635/724/7060 632/721/7061 421/503/7062 -f 604/690/7063 605/691/7064 638/727/7065 -f 638/727/7066 635/724/7067 604/690/7068 -f 605/691/7069 449/533/7070 450/535/7071 -f 450/535/7072 638/727/7073 605/691/7074 -f 651/740/7075 617/706/7076 618/707/7077 -f 618/707/7078 620/710/7079 651/740/7080 -f 451/534/7081 446/532/7082 617/706/7083 -f 617/706/7084 651/740/7085 451/534/7086 -f 607/693/7087 608/2569/7088 448/530/7089 -f 448/530/7090 449/533/7091 607/693/7092 -f 642/730/7093 1266/2570/7094 671/759/7095 -f 671/759/7096 641/731/7097 642/730/7098 -f 643/733/7099 1267/2571/7100 1266/2570/7101 -f 1266/2570/7102 642/730/7103 643/733/7104 -f 1268/2572/7105 1267/2571/7106 643/733/7107 -f 643/733/7108 646/736/7109 1268/2572/7110 -f 655/746/7111 1268/2572/7112 646/736/7113 -f 646/736/7114 652/741/7115 655/746/7116 -f 654/2607/7117 655/746/7118 652/741/7119 -f 652/741/7120 653/742/7121 654/2607/7122 -f 653/2606/7123 625/712/7124 626/715/7125 -f 626/715/7126 660/749/7127 653/2606/7128 -f 626/715/7129 627/716/7130 663/752/7131 -f 663/752/7132 660/749/7133 626/715/7134 -f 627/716/7135 630/719/7136 666/755/7137 -f 666/755/7138 663/752/7139 627/716/7140 -f 630/719/7141 633/722/7142 669/758/7143 -f 669/758/7144 666/755/7145 630/719/7146 -f 633/722/7147 636/725/7148 641/731/7149 -f 641/731/7150 669/758/7151 633/722/7152 -f 657/744/7153 688/776/7154 686/775/7155 -f 686/775/7156 656/745/7157 657/744/7158 -f 658/748/7159 690/778/7160 688/2609/7161 -f 688/2609/7162 657/2608/7163 658/748/7164 -f 661/751/7165 692/1351/7166 690/778/7167 -f 690/778/7168 658/748/7169 661/751/7170 -f 664/754/7171 694/2566/7172 692/1351/7173 -f 692/1351/7174 661/751/7175 664/754/7176 -f 673/762/7177 694/2566/7178 664/754/7179 -f 664/754/7180 667/757/7181 673/762/7182 -f 672/763/7183 673/762/7184 667/757/7185 -f 667/757/7186 670/760/7187 672/763/7188 -f 671/759/7189 1266/2570/7190 678/767/7191 -f 678/767/7192 670/760/7193 671/759/7194 -f 1266/2570/7195 1267/2571/7196 681/770/7197 -f 681/770/7198 678/767/7199 1266/2570/7200 -f 1267/2571/7201 1268/2572/7202 684/773/7203 -f 684/773/7204 681/770/7205 1267/2571/7206 -f 684/773/7207 1268/2572/7208 655/746/7209 -f 655/746/7210 656/745/7211 684/773/7212 -f 1270/1432/7213 1269/478/7214 397/475/7215 -f 397/475/7216 1271/1431/7217 1270/1432/7218 -f 1270/1432/7219 1271/1431/7220 1272/1543/7221 -f 1272/1543/7222 1273/1544/7223 1270/1432/7224 -f 1276/1360/7225 1275/1361/7226 1274/1358/7227 -f 1274/1358/7228 1277/1359/7229 1276/1360/7230 -f 1279/1362/7231 1278/1363/7232 1275/1361/7233 -f 1275/1361/7234 1276/1360/7235 1279/1362/7236 -f 1276/1360/7237 1277/1359/7238 1280/1364/7239 -f 1280/1364/7240 1279/1362/7241 1276/1360/7242 -f 1283/1367/7243 1282/1368/7244 1281/1365/7245 -f 1281/1365/7246 1284/1366/7247 1283/1367/7248 -f 1283/1367/7249 1284/1366/7250 1285/1369/7251 -f 1285/1369/7252 1286/1370/7253 1283/1367/7254 -f 1283/1367/7255 1286/1370/7256 1287/1371/7257 -f 1287/1371/7258 1288/1372/7259 1283/1367/7260 -f 1283/1367/7261 1288/1372/7262 1289/1373/7263 -f 1289/1373/7264 1290/1374/7265 1283/1367/7266 -f 1283/1367/7267 1290/1374/7268 1291/1375/7269 -f 1291/1375/7270 1282/1368/7271 1283/1367/7272 -f 1294/1376/7273 1293/1377/7274 1292/479/7275 -f 1292/479/7276 1295/686/7277 1294/1376/7278 -f 1294/1376/7279 1297/1379/7280 1296/1378/7281 -f 1296/1378/7282 1293/1377/7283 1294/1376/7284 -f 1300/1384/7285 1299/1385/7286 1298/1382/7287 -f 1298/1382/7288 1301/1383/7289 1300/1384/7290 -f 1303/2586/7291 1302/1387/7292 1299/1385/7293 -f 1299/1385/7294 1300/1384/7295 1303/2586/7296 -f 1300/1570/7297 1301/1571/7298 1304/1541/7299 -f 1304/1541/7300 1303/1542/7301 1300/1570/7302 -f 1307/1547/7303 1306/1548/7304 1305/1545/7305 -f 1305/1545/7306 1308/1546/7307 1307/1547/7308 -f 1307/1547/7309 1310/1551/7310 1309/1550/7311 -f 1309/1550/7312 1306/1548/7313 1307/1547/7314 -f 1307/1547/7315 1308/1546/7316 1273/1544/7317 -f 1273/1544/7318 1311/1552/7319 1307/1547/7320 -f 1308/1546/7321 1305/1545/7322 1312/1553/7323 -f 1312/1553/7324 1313/1554/7325 1308/1546/7326 -f 1316/1557/7327 1315/1558/7328 1314/1555/7329 -f 1314/1555/7330 1317/1556/7331 1316/1557/7332 -f 1317/1556/7333 1312/1553/7334 1305/1545/7335 -f 1305/1545/7336 1316/1557/7337 1317/1556/7338 -f 1317/1556/7339 1314/1555/7340 1318/1559/7341 -f 1318/1559/7342 1312/1553/7343 1317/1556/7344 -f 1321/1403/7345 1320/1404/7346 1319/1380/7347 -f 1319/1380/7348 1322/1381/7349 1321/1403/7350 -f 1323/1406/7351 1321/1403/7352 1322/1381/7353 -f 1322/1381/7354 1324/1405/7355 1323/1406/7356 -f 1306/1548/7357 1309/1550/7358 1316/1557/7359 -f 1316/1557/7360 1305/1545/7361 1306/1548/7362 -f 1327/1562/7363 1326/1563/7364 1325/1560/7365 -f 1325/1560/7366 1328/1561/7367 1327/1562/7368 -f 1327/1562/7369 1330/1566/7370 1329/1564/7371 -f 1329/1564/7372 1331/1565/7373 1327/1562/7374 -f 1327/1562/7375 1331/1565/7376 1332/1567/7377 -f 1332/1567/7378 1326/1563/7379 1327/1562/7380 -f 1334/1418/7381 1333/1419/7382 1329/1413/7383 -f 1329/1413/7384 1335/1417/7385 1334/1418/7386 -f 1334/1418/7387 1274/1358/7388 1275/1361/7389 -f 1275/1361/7390 1278/1363/7391 1334/1418/7392 -f 1334/1418/7393 1278/1363/7394 1336/1420/7395 -f 1336/1420/7396 1333/1419/7397 1334/1418/7398 -f 1290/1374/7399 1289/1373/7400 1337/1421/7401 -f 1337/1421/7402 1291/1375/7403 1290/1374/7404 -f 1335/1569/7405 1329/1564/7406 1330/1566/7407 -f 1330/1566/7408 1338/1568/7409 1335/1569/7410 -f 1335/1417/7411 1338/1423/7412 1339/1422/7413 -f 1339/1422/7414 1334/1418/7415 1335/1417/7416 -f 1342/1408/7417 1341/1424/7418 1340/1407/7419 -f 1340/1407/7420 1297/1379/7421 1342/1408/7422 -f 1345/1574/7423 1344/1575/7424 1343/1572/7425 -f 1343/1572/7426 1346/1573/7427 1345/1574/7428 -f 1345/1687/7429 1346/2491/7430 1347/1598/7431 -f 1347/1598/7432 1348/1686/7433 1345/1687/7434 -f 1346/1573/7435 1343/1572/7436 1349/1576/7437 -f 1349/1576/7438 1350/1577/7439 1346/1573/7440 -f 1346/2491/7441 1350/2493/7442 1351/2492/7443 -f 1351/2492/7444 1347/1598/7445 1346/2491/7446 -f 1351/1435/7447 1350/1436/7448 1352/1433/7449 -f 1352/1433/7450 1353/1434/7451 1351/1435/7452 -f 1351/1435/7453 1353/1434/7454 1339/1422/7455 -f 1339/1422/7456 1338/1423/7457 1351/1435/7458 -f 1351/2492/7459 1338/1568/7460 1330/1566/7461 -f 1330/1566/7462 1347/1598/7463 1351/2492/7464 -f 1353/1434/7465 1352/1433/7466 1354/1437/7467 -f 1354/1437/7468 1355/1438/7469 1353/1434/7470 -f 1353/1434/7471 1355/1438/7472 1356/1439/7473 -f 1356/1439/7474 1339/1422/7475 1353/1434/7476 -f 1356/1439/7477 1355/1438/7478 1357/1440/7479 -f 1357/1440/7480 1358/1441/7481 1356/1439/7482 -f 1356/1439/7483 1358/1441/7484 1277/1359/7485 -f 1277/1359/7486 1274/1358/7487 1356/1439/7488 -f 1356/1439/7489 1274/1358/7490 1334/1418/7491 -f 1334/1418/7492 1339/1422/7493 1356/1439/7494 -f 1358/1441/7495 1357/1440/7496 1359/1442/7497 -f 1359/1442/7498 1360/1443/7499 1358/1441/7500 -f 1358/1441/7501 1360/1443/7502 1361/1444/7503 -f 1361/1444/7504 1277/1359/7505 1358/1441/7506 -f 1361/1444/7507 1360/1443/7508 1362/1445/7509 -f 1362/1445/7510 1363/1446/7511 1361/1444/7512 -f 1361/1444/7513 1363/1446/7514 1364/1447/7515 -f 1364/1447/7516 1365/1448/7517 1361/1444/7518 -f 1361/1444/7519 1365/1448/7520 1280/1364/7521 -f 1280/1364/7522 1277/1359/7523 1361/1444/7524 -f 1365/1448/7525 1364/1447/7526 1366/1449/7527 -f 1366/1449/7528 1337/1421/7529 1365/1448/7530 -f 1365/1448/7531 1337/1421/7532 1289/1373/7533 -f 1289/1373/7534 1280/1364/7535 1365/1448/7536 -f 1364/1447/7537 1363/1446/7538 1367/1450/7539 -f 1367/1450/7540 1368/1451/7541 1364/1447/7542 -f 1364/1447/7543 1368/1451/7544 1369/1452/7545 -f 1369/1452/7546 1366/1449/7547 1364/1447/7548 -f 1368/1451/7549 1367/1450/7550 1370/1453/7551 -f 1370/1453/7552 1371/1454/7553 1368/1451/7554 -f 1368/1451/7555 1371/1454/7556 1372/1455/7557 -f 1372/1455/7558 1369/1452/7559 1368/1451/7560 -f 1372/1455/7561 1371/1454/7562 1373/1456/7563 -f 1373/1456/7564 1374/1457/7565 1372/1455/7566 -f 1372/1455/7567 1374/1457/7568 1375/1458/7569 -f 1375/1458/7570 1376/1459/7571 1372/1455/7572 -f 1372/1455/7573 1376/1459/7574 1377/1460/7575 -f 1377/1460/7576 1369/1452/7577 1372/1455/7578 -f 1376/1459/7579 1375/1458/7580 1378/1461/7581 -f 1378/1461/7582 1379/1462/7583 1376/1459/7584 -f 1376/1459/7585 1379/1462/7586 1380/1463/7587 -f 1380/1463/7588 1377/1460/7589 1376/1459/7590 -f 1380/1463/7591 1382/1465/7592 1381/1464/7593 -f 1381/1464/7594 1377/1460/7595 1380/1463/7596 -f 1380/2589/7597 1379/2588/7598 1383/1466/7599 -f 1383/1466/7600 1384/1467/7601 1380/2589/7602 -f 1380/2589/7603 1384/1467/7604 1385/1468/7605 -f 1385/1468/7606 1382/2590/7607 1380/2589/7608 -f 1383/2591/7609 1379/1462/7610 1378/1461/7611 -f 1378/1461/7612 1386/1469/7613 1383/2591/7614 -f 1383/2591/7615 1386/1469/7616 1387/1470/7617 -f 1387/1470/7618 1388/1471/7619 1383/2591/7620 -f 1383/1466/7621 1388/2593/7622 1389/1472/7623 -f 1389/1472/7624 1384/1467/7625 1383/1466/7626 -f 1388/2593/7627 1387/2592/7628 1390/1473/7629 -f 1390/1473/7630 1391/1474/7631 1388/2593/7632 -f 1388/2593/7633 1391/1474/7634 1392/1475/7635 -f 1392/1475/7636 1389/1472/7637 1388/2593/7638 -f 1392/1475/7639 1394/1477/7640 1393/1476/7641 -f 1393/1476/7642 1389/1472/7643 1392/1475/7644 -f 1392/1475/7645 1391/1474/7646 1395/1478/7647 -f 1395/1478/7648 1396/1479/7649 1392/1475/7650 -f 1392/1475/7651 1396/1479/7652 1397/1480/7653 -f 1397/1480/7654 1394/1477/7655 1392/1475/7656 -f 1397/1480/7657 1399/1482/7658 1398/1481/7659 -f 1398/1481/7660 1394/1477/7661 1397/1480/7662 -f 1397/1480/7663 1396/1479/7664 1400/1483/7665 -f 1400/1483/7666 1401/1484/7667 1397/1480/7668 -f 1397/1480/7669 1401/1484/7670 1402/1485/7671 -f 1402/1485/7672 1399/1482/7673 1397/1480/7674 -f 1402/1485/7675 1404/1487/7676 1403/1486/7677 -f 1403/1486/7678 1399/1482/7679 1402/1485/7680 -f 1402/1485/7681 1401/1484/7682 1405/1488/7683 -f 1405/1488/7684 1359/1442/7685 1402/1485/7686 -f 1402/1485/7687 1359/1442/7688 1357/1440/7689 -f 1357/1440/7690 1404/1487/7691 1402/1485/7692 -f 1405/1488/7693 1401/1484/7694 1400/1483/7695 -f 1400/1483/7696 1406/1489/7697 1405/1488/7698 -f 1405/1488/7699 1406/1489/7700 1407/1490/7701 -f 1407/1490/7702 1362/1445/7703 1405/1488/7704 -f 1405/1488/7705 1362/1445/7706 1360/1443/7707 -f 1360/1443/7708 1359/1442/7709 1405/1488/7710 -f 1407/1490/7711 1406/1489/7712 1408/1491/7713 -f 1408/1491/7714 1409/1492/7715 1407/1490/7716 -f 1407/1490/7717 1409/1492/7718 1370/1453/7719 -f 1370/1453/7720 1367/1450/7721 1407/1490/7722 -f 1407/1490/7723 1367/1450/7724 1363/1446/7725 -f 1363/1446/7726 1362/1445/7727 1407/1490/7728 -f 1409/1492/7729 1408/1491/7730 1410/1493/7731 -f 1410/1493/7732 1411/1494/7733 1409/1492/7734 -f 1409/1492/7735 1411/1494/7736 1412/1495/7737 -f 1412/1495/7738 1370/1453/7739 1409/1492/7740 -f 1412/1495/7741 1411/1494/7742 1413/1496/7743 -f 1413/1496/7744 1414/1497/7745 1412/1495/7746 -f 1412/1495/7747 1414/1497/7748 1415/1498/7749 -f 1415/1498/7750 1373/1456/7751 1412/1495/7752 -f 1412/1495/7753 1373/1456/7754 1371/1454/7755 -f 1371/1454/7756 1370/1453/7757 1412/1495/7758 -f 1415/1498/7759 1416/1499/7760 1374/1457/7761 -f 1374/1457/7762 1373/1456/7763 1415/1498/7764 -f 1416/1499/7765 1417/1500/7766 1375/1458/7767 -f 1375/1458/7768 1374/1457/7769 1416/1499/7770 -f 1417/1500/7771 1418/1501/7772 1378/1461/7773 -f 1378/1461/7774 1375/1458/7775 1417/1500/7776 -f 1418/1501/7777 1419/1502/7778 1386/1469/7779 -f 1386/1469/7780 1378/1461/7781 1418/1501/7782 -f 1419/1502/7783 1420/1503/7784 1387/1470/7785 -f 1387/1470/7786 1386/1469/7787 1419/1502/7788 -f 1420/2594/7789 1421/1504/7790 1390/1473/7791 -f 1390/1473/7792 1387/2592/7793 1420/2594/7794 -f 1421/1504/7795 1423/1506/7796 1422/1505/7797 -f 1422/1505/7798 1390/1473/7799 1421/1504/7800 -f 1422/1505/7801 1395/1478/7802 1391/1474/7803 -f 1391/1474/7804 1390/1473/7805 1422/1505/7806 -f 1422/1505/7807 1423/1506/7808 1424/1507/7809 -f 1424/1507/7810 1425/1508/7811 1422/1505/7812 -f 1422/1505/7813 1425/1508/7814 1426/1509/7815 -f 1426/1509/7816 1395/1478/7817 1422/1505/7818 -f 1426/1509/7819 1400/1483/7820 1396/1479/7821 -f 1396/1479/7822 1395/1478/7823 1426/1509/7824 -f 1426/1509/7825 1425/1508/7826 1410/1493/7827 -f 1410/1493/7828 1408/1491/7829 1426/1509/7830 -f 1426/1509/7831 1408/1491/7832 1406/1489/7833 -f 1406/1489/7834 1400/1483/7835 1426/1509/7836 -f 1425/1508/7837 1424/1507/7838 1427/1510/7839 -f 1427/1510/7840 1410/1493/7841 1425/1508/7842 -f 1427/1510/7843 1413/1496/7844 1411/1494/7845 -f 1411/1494/7846 1410/1493/7847 1427/1510/7848 -f 1403/1486/7849 1429/1513/7850 1428/1511/7851 -f 1428/1511/7852 1430/1512/7853 1403/1486/7854 -f 1403/1486/7855 1430/1512/7856 1398/1481/7857 -f 1398/1481/7858 1399/1482/7859 1403/1486/7860 -f 1403/1486/7861 1404/1487/7862 1354/1437/7863 -f 1354/1437/7864 1429/1513/7865 1403/1486/7866 -f 1430/1512/7867 1428/1511/7868 1431/1514/7869 -f 1431/1514/7870 1432/1515/7871 1430/1512/7872 -f 1430/1512/7873 1432/1515/7874 1433/1516/7875 -f 1433/1516/7876 1398/1481/7877 1430/1512/7878 -f 1433/1516/7879 1432/1515/7880 1434/1517/7881 -f 1434/1517/7882 1435/1518/7883 1433/1516/7884 -f 1433/1516/7885 1435/1518/7886 1436/1519/7887 -f 1436/1519/7888 1393/1476/7889 1433/1516/7890 -f 1433/1516/7891 1393/1476/7892 1394/1477/7893 -f 1394/1477/7894 1398/1481/7895 1433/1516/7896 -f 1434/1517/7897 1298/1382/7898 1299/1385/7899 -f 1299/1385/7900 1437/1520/7901 1434/1517/7902 -f 1434/1517/7903 1437/1520/7904 1385/1468/7905 -f 1385/1468/7906 1435/1518/7907 1434/1517/7908 -f 1434/1517/7909 1432/1515/7910 1431/1514/7911 -f 1431/1514/7912 1298/1382/7913 1434/1517/7914 -f 1437/1520/7915 1299/1385/7916 1302/1387/7917 -f 1302/1387/7918 1438/1521/7919 1437/1520/7920 -f 1437/1520/7921 1438/1521/7922 1382/2590/7923 -f 1382/2590/7924 1385/1468/7925 1437/1520/7926 -f 1438/2595/7927 1302/2587/7928 1284/1366/7929 -f 1284/1366/7930 1281/1365/7931 1438/2595/7932 -f 1438/2595/7933 1281/1365/7934 1381/1464/7935 -f 1381/1464/7936 1382/1465/7937 1438/2595/7938 -f 1431/1514/7939 1439/1522/7940 1301/1383/7941 -f 1301/1383/7942 1298/1382/7943 1431/1514/7944 -f 1431/1514/7945 1428/1511/7946 1440/1523/7947 -f 1440/1523/7948 1439/1522/7949 1431/1514/7950 -f 1440/1580/7951 1442/1581/7952 1441/1578/7953 -f 1441/1578/7954 1439/1579/7955 1440/1580/7956 -f 1440/1523/7957 1428/1511/7958 1429/1513/7959 -f 1429/1513/7960 1443/1524/7961 1440/1523/7962 -f 1440/1580/7963 1443/1582/7964 1349/1576/7965 -f 1349/1576/7966 1442/1581/7967 1440/1580/7968 -f 1443/1524/7969 1429/1513/7970 1354/1437/7971 -f 1354/1437/7972 1352/1433/7973 1443/1524/7974 -f 1443/1524/7975 1352/1433/7976 1350/1436/7977 -f 1350/1436/7978 1349/1527/7979 1443/1524/7980 -f 1441/1578/7981 1445/1585/7982 1444/1583/7983 -f 1444/1583/7984 1446/1584/7985 1441/1578/7986 -f 1441/1578/7987 1446/1584/7988 1301/1571/7989 -f 1301/1571/7990 1439/1579/7991 1441/1578/7992 -f 1441/1578/7993 1442/1581/7994 1447/1586/7995 -f 1447/1586/7996 1445/1585/7997 1441/1578/7998 -f 1446/1584/7999 1444/1583/8000 1448/1587/8001 -f 1448/1587/8002 1449/1588/8003 1446/1584/8004 -f 1446/1584/8005 1449/1588/8006 1304/1541/8007 -f 1304/1541/8008 1301/1571/8009 1446/1584/8010 -f 1449/1588/8011 1448/1587/8012 1450/1690/8013 -f 1450/1690/8014 1451/1691/8015 1449/1588/8016 -f 1449/1588/8017 1451/1691/8018 1452/2536/8019 -f 1452/2536/8020 1304/1541/8021 1449/1588/8022 -f 1452/2536/8023 1451/1691/8024 1453/2537/8025 -f 1453/2537/8026 1454/2538/8027 1452/2536/8028 -f 1452/2536/8029 1454/2538/8030 1455/2539/8031 -f 1455/2539/8032 1456/2540/8033 1452/2536/8034 -f 1452/2536/8035 1456/2540/8036 1303/1542/8037 -f 1303/1542/8038 1304/1541/8039 1452/2536/8040 -f 1456/2540/8041 1455/2539/8042 1457/2541/8043 -f 1457/2541/8044 1458/2542/8045 1456/2540/8046 -f 1456/2540/8047 1458/2542/8048 1285/2543/8049 -f 1285/2543/8050 1303/1542/8051 1456/2540/8052 -f 1458/2497/8053 1457/2498/8054 1459/2495/8055 -f 1459/2495/8056 1460/2496/8057 1458/2497/8058 -f 1458/2497/8059 1460/2496/8060 1286/2499/8061 -f 1286/2499/8062 1285/2501/8063 1458/2497/8064 -f 1460/2496/8065 1459/2495/8066 1461/2502/8067 -f 1461/2502/8068 1462/2503/8069 1460/2496/8070 -f 1460/2496/8071 1462/2503/8072 1287/2504/8073 -f 1287/2504/8074 1286/2499/8075 1460/2496/8076 -f 1462/2503/8077 1461/2502/8078 1463/2505/8079 -f 1463/2505/8080 1464/2506/8081 1462/2503/8082 -f 1462/2503/8083 1464/2506/8084 1465/2507/8085 -f 1465/2507/8086 1287/2504/8087 1462/2503/8088 -f 1465/2507/8089 1464/2506/8090 1466/2508/8091 -f 1466/2508/8092 1336/2509/8093 1465/2507/8094 -f 1465/1549/8095 1336/1420/8096 1278/1363/8097 -f 1278/1363/8098 1279/1362/8099 1465/1549/8100 -f 1465/1549/8101 1279/1362/8102 1288/1372/8103 -f 1288/1372/8104 1287/1371/8105 1465/1549/8106 -f 1466/2508/8107 1464/2506/8108 1463/2505/8109 -f 1463/2505/8110 1467/2510/8111 1466/2508/8112 -f 1466/2508/8113 1467/2510/8114 1468/2511/8115 -f 1468/2511/8116 1469/2512/8117 1466/2508/8118 -f 1466/2508/8119 1469/2512/8120 1333/2513/8121 -f 1333/2513/8122 1336/2509/8123 1466/2508/8124 -f 1469/2512/8125 1468/2511/8126 1332/1567/8127 -f 1332/1567/8128 1331/1565/8129 1469/2512/8130 -f 1469/2512/8131 1331/1565/8132 1329/1564/8133 -f 1329/1564/8134 1333/2513/8135 1469/2512/8136 -f 1468/2511/8137 1467/2510/8138 1470/2514/8139 -f 1470/2514/8140 1471/2515/8141 1468/2511/8142 -f 1468/2511/8143 1471/2515/8144 1472/2516/8145 -f 1472/2516/8146 1332/1567/8147 1468/2511/8148 -f 1472/2516/8149 1471/2515/8150 1473/2517/8151 -f 1473/2517/8152 1474/2518/8153 1472/2516/8154 -f 1472/2516/8155 1474/2518/8156 1475/2519/8157 -f 1475/2519/8158 1476/2520/8159 1472/2516/8160 -f 1472/2516/8161 1476/2520/8162 1326/1563/8163 -f 1326/1563/8164 1332/1567/8165 1472/2516/8166 -f 1476/2520/8167 1475/2519/8168 1477/2521/8169 -f 1477/2521/8170 1478/2522/8171 1476/2520/8172 -f 1476/2520/8173 1478/2522/8174 1325/1560/8175 -f 1325/1560/8176 1326/1563/8177 1476/2520/8178 -f 1475/2519/8179 1474/2518/8180 1479/2523/8181 -f 1479/2523/8182 1480/2524/8183 1475/2519/8184 -f 1475/2519/8185 1480/2524/8186 1481/2525/8187 -f 1481/2525/8188 1477/2521/8189 1475/2519/8190 -f 1480/2524/8191 1479/2523/8192 1482/1392/8193 -f 1482/1392/8194 1483/1393/8195 1480/2524/8196 -f 1480/2524/8197 1483/1393/8198 1484/1394/8199 -f 1484/1394/8200 1481/2525/8201 1480/2524/8202 -f 1482/1392/8203 1479/2523/8204 1485/2526/8205 -f 1485/2526/8206 391/1396/8207 1482/1392/8208 -f 391/1396/8209 1485/2526/8210 1271/1431/8211 -f 1271/1431/8212 397/475/8213 391/1396/8214 -f 1485/2526/8215 1479/2523/8216 1474/2518/8217 -f 1474/2518/8218 1473/2517/8219 1485/2526/8220 -f 1485/2526/8221 1473/2517/8222 1272/1543/8223 -f 1272/1543/8224 1271/1431/8225 1485/2526/8226 -f 1473/2517/8227 1471/2515/8228 1470/2514/8229 -f 1470/2514/8230 1272/1543/8231 1473/2517/8232 -f 1470/2514/8233 1311/1552/8234 1273/1544/8235 -f 1273/1544/8236 1272/1543/8237 1470/2514/8238 -f 1470/2514/8239 1467/2510/8240 1463/2505/8241 -f 1463/2505/8242 1311/1552/8243 1470/2514/8244 -f 1463/2505/8245 1461/2502/8246 1307/1547/8247 -f 1307/1547/8248 1311/1552/8249 1463/2505/8250 -f 1461/2502/8251 1459/2495/8252 1310/1551/8253 -f 1310/1551/8254 1307/1547/8255 1461/2502/8256 -f 1459/2495/8257 1457/2498/8258 1486/2527/8259 -f 1486/2527/8260 1310/1551/8261 1459/2495/8262 -f 1486/2546/8263 1488/2547/8264 1487/2544/8265 -f 1487/2544/8266 1489/2545/8267 1486/2546/8268 -f 1486/2527/8269 1489/2528/8270 1309/1550/8271 -f 1309/1550/8272 1310/1551/8273 1486/2527/8274 -f 1486/2546/8275 1457/2541/8276 1455/2539/8277 -f 1455/2539/8278 1488/2547/8279 1486/2546/8280 -f 1487/2544/8281 1491/2550/8282 1490/2548/8283 -f 1490/2548/8284 1492/2549/8285 1487/2544/8286 -f 1487/2544/8287 1492/2549/8288 1315/2551/8289 -f 1315/2551/8290 1489/2545/8291 1487/2544/8292 -f 1487/2544/8293 1488/2547/8294 1493/2552/8295 -f 1493/2552/8296 1491/2550/8297 1487/2544/8298 -f 1493/2552/8299 1495/2554/8300 1494/2553/8301 -f 1494/2553/8302 1491/2550/8303 1493/2552/8304 -f 1493/2552/8305 1488/2547/8306 1455/2539/8307 -f 1455/2539/8308 1454/2538/8309 1493/2552/8310 -f 1493/2552/8311 1454/2538/8312 1453/2537/8313 -f 1453/2537/8314 1495/2554/8315 1493/2552/8316 -f 1494/2553/8317 1497/2557/8318 1496/2555/8319 -f 1496/2555/8320 1498/2556/8321 1494/2553/8322 -f 1494/2553/8323 1498/2556/8324 1490/2548/8325 -f 1490/2548/8326 1491/2550/8327 1494/2553/8328 -f 1494/2553/8329 1495/2554/8330 1499/2558/8331 -f 1499/2558/8332 1497/2557/8333 1494/2553/8334 -f 1499/2558/8335 1501/1428/8336 1500/1427/8337 -f 1500/1427/8338 1497/2557/8339 1499/2558/8340 -f 1499/2558/8341 1495/2554/8342 1453/2537/8343 -f 1453/2537/8344 1502/2559/8345 1499/2558/8346 -f 1499/2558/8347 1502/2559/8348 392/1430/8349 -f 392/1430/8350 1501/1428/8351 1499/2558/8352 -f 392/1430/8353 1502/2559/8354 1450/1690/8355 -f 1450/1690/8356 1503/1525/8357 392/1430/8358 -f 1503/1525/8359 1450/1690/8360 1448/1587/8361 -f 1448/1587/8362 599/1526/8363 1503/1525/8364 -f 599/1526/8365 1448/1587/8366 1444/1583/8367 -f 1444/1583/8368 1504/1528/8369 599/1526/8370 -f 1504/1528/8371 1444/1583/8372 1445/1585/8373 -f 1445/1585/8374 600/1529/8375 1504/1528/8376 -f 600/1529/8377 1445/1585/8378 1447/1586/8379 -f 1447/1586/8380 601/1530/8381 600/1529/8382 -f 1502/2559/8383 1453/2537/8384 1451/1691/8385 -f 1451/1691/8386 1450/1690/8387 1502/2559/8388 -f 1500/1427/8389 393/1531/8390 1496/2555/8391 -f 1496/2555/8392 1497/2557/8393 1500/1427/8394 -f 393/1531/8395 602/1533/8396 1294/2560/8397 -f 1294/2560/8398 1496/2555/8399 393/1531/8400 -f 1498/2556/8401 1496/2555/8402 1294/2560/8403 -f 1294/2560/8404 1295/2561/8405 1498/2556/8406 -f 1498/2556/8407 1295/2561/8408 1505/2562/8409 -f 1505/2562/8410 1490/2548/8411 1498/2556/8412 -f 1505/1426/8413 1295/686/8414 1292/479/8415 -f 1292/479/8416 1506/1425/8417 1505/1426/8418 -f 1505/1426/8419 1506/1425/8420 1507/1589/8421 -f 1507/1589/8422 1508/1590/8423 1505/1426/8424 -f 1505/2562/8425 1508/2563/8426 1492/2549/8427 -f 1492/2549/8428 1490/2548/8429 1505/2562/8430 -f 1509/1591/8431 1508/1590/8432 1507/1589/8433 -f 1507/1589/8434 1322/1381/8435 1509/1591/8436 -f 1508/2563/8437 1509/2564/8438 1315/2551/8439 -f 1315/2551/8440 1492/2549/8441 1508/2563/8442 -f 1509/2529/8443 1510/2530/8444 1314/1555/8445 -f 1314/1555/8446 1315/1558/8447 1509/2529/8448 -f 1510/1593/8449 1319/1380/8450 1320/1404/8451 -f 1320/1404/8452 1511/1592/8453 1510/1593/8454 -f 1510/2530/8455 1511/2531/8456 1318/1559/8457 -f 1318/1559/8458 1314/1555/8459 1510/2530/8460 -f 1511/1592/8461 1320/1404/8462 1512/1594/8463 -f 1512/1594/8464 1513/1595/8465 1511/1592/8466 -f 1511/2531/8467 1513/2533/8468 1514/2532/8469 -f 1514/2532/8470 1318/1559/8471 1511/2531/8472 -f 1514/2532/8473 1313/1554/8474 1312/1553/8475 -f 1312/1553/8476 1318/1559/8477 1514/2532/8478 -f 1514/2532/8479 1513/2533/8480 1515/1411/8481 -f 1515/1411/8482 613/1412/8483 1514/2532/8484 -f 1514/2532/8485 613/1412/8486 394/1414/8487 -f 394/1414/8488 1313/1554/8489 1514/2532/8490 -f 1515/1597/8491 1513/1595/8492 1512/1594/8493 -f 1512/1594/8494 395/1596/8495 1515/1597/8496 -f 395/1596/8497 1512/1594/8498 1516/1599/8499 -f 1516/1599/8500 1517/1600/8501 395/1596/8502 -f 1517/1600/8503 1516/1599/8504 1518/1601/8505 -f 1518/1601/8506 1519/1602/8507 1517/1600/8508 -f 1519/1602/8509 1518/1601/8510 1520/1603/8511 -f 1520/1603/8512 1521/1604/8513 1519/1602/8514 -f 1521/1604/8515 1520/1603/8516 1340/2611/8517 -f 1340/2611/8518 1341/2612/8519 1521/1604/8520 -f 1520/1603/8521 1518/1601/8522 1522/1605/8523 -f 1522/1605/8524 1523/1606/8525 1520/1603/8526 -f 1520/1603/8527 1523/1606/8528 1524/1607/8529 -f 1524/1607/8530 1340/2611/8531 1520/1603/8532 -f 1526/1608/8533 1525/1609/8534 1524/1607/8535 -f 1524/1607/8536 1523/1606/8537 1526/1608/8538 -f 1296/1378/8539 1524/2613/8540 1525/2614/8541 -f 1525/2614/8542 1527/1610/8543 1296/1378/8544 -f 1524/2613/8545 1296/1378/8546 1297/1379/8547 -f 1297/1379/8548 1340/1407/8549 1524/2613/8550 -f 1530/1613/8551 1529/2616/8552 1528/1611/8553 -f 1528/1611/8554 1531/1612/8555 1530/1613/8556 -f 1530/1613/8557 1531/1612/8558 1532/1615/8559 -f 1532/1615/8560 1533/1616/8561 1530/1613/8562 -f 1527/1610/8563 1530/1613/8564 1533/1616/8565 -f 1533/1616/8566 1534/1617/8567 1527/1610/8568 -f 1533/1616/8569 1532/1615/8570 1535/1618/8571 -f 1535/1618/8572 1536/1619/8573 1533/1616/8574 -f 1534/1617/8575 1533/1616/8576 1536/1619/8577 -f 1536/1619/8578 1537/1620/8579 1534/1617/8580 -f 1536/1619/8581 1535/1618/8582 1538/1621/8583 -f 1538/1621/8584 1539/1622/8585 1536/1619/8586 -f 1537/1620/8587 1536/1619/8588 1539/1622/8589 -f 1539/1622/8590 1540/1623/8591 1537/1620/8592 -f 1539/1622/8593 1538/1621/8594 1541/1624/8595 -f 1541/1624/8596 1542/1625/8597 1539/1622/8598 -f 1540/1623/8599 1539/1622/8600 1542/1625/8601 -f 1542/1625/8602 1543/1626/8603 1540/1623/8604 -f 1542/1625/8605 1541/1624/8606 1544/1627/8607 -f 1544/1627/8608 1545/1628/8609 1542/1625/8610 -f 1543/1626/8611 1542/1625/8612 1545/1628/8613 -f 1545/1628/8614 1324/1405/8615 1543/1626/8616 -f 1546/1630/8617 1544/1627/8618 1541/1624/8619 -f 1541/1624/8620 1547/1629/8621 1546/1630/8622 -f 1548/1632/8623 1544/1627/8624 1546/1630/8625 -f 1546/1630/8626 1549/1631/8627 1548/1632/8628 -f 1544/1627/8629 1548/1632/8630 1550/1633/8631 -f 1550/1633/8632 1545/1628/8633 1544/1627/8634 -f 1551/1635/8635 1548/1632/8636 1549/1631/8637 -f 1549/1631/8638 1552/1634/8639 1551/1635/8640 -f 1548/1632/8641 1551/1635/8642 1553/1636/8643 -f 1553/1636/8644 1550/1633/8645 1548/1632/8646 -f 1553/1636/8647 1551/1635/8648 1554/1637/8649 -f 1554/1637/8650 1555/1638/8651 1553/1636/8652 -f 1526/1608/8653 1556/1639/8654 1553/1636/8655 -f 1553/1636/8656 1555/1638/8657 1526/1608/8658 -f 1550/1633/8659 1553/1636/8660 1556/1639/8661 -f 1556/1639/8662 1323/1406/8663 1550/1633/8664 -f 1552/1634/8665 1557/1640/8666 1554/1637/8667 -f 1554/1637/8668 1551/1635/8669 1552/1634/8670 -f 1558/1641/8671 1528/2615/8672 1554/1637/8673 -f 1554/1637/8674 1557/1640/8675 1558/1641/8676 -f 1554/1637/8677 1528/2615/8678 1529/1614/8679 -f 1529/1614/8680 1555/1638/8681 1554/1637/8682 -f 1561/1644/8683 1560/1645/8684 1559/2618/8685 -f 1559/2618/8686 1562/1643/8687 1561/1644/8688 -f 1563/1647/8689 1559/1642/8690 1560/2619/8691 -f 1560/2619/8692 1564/1646/8693 1563/1647/8694 -f 1558/2617/8695 1559/1642/8696 1563/1647/8697 -f 1563/1647/8698 1565/1648/8699 1558/2617/8700 -f 1566/1650/8701 1563/1647/8702 1564/1646/8703 -f 1564/1646/8704 1567/1649/8705 1566/1650/8706 -f 1565/1648/8707 1563/1647/8708 1566/1650/8709 -f 1566/1650/8710 1568/1651/8711 1565/1648/8712 -f 1569/1653/8713 1566/1650/8714 1567/1649/8715 -f 1567/1649/8716 1570/1652/8717 1569/1653/8718 -f 1568/1651/8719 1566/1650/8720 1569/1653/8721 -f 1569/1653/8722 1571/1654/8723 1568/1651/8724 -f 1573/1655/8725 1572/1656/8726 1569/1653/8727 -f 1569/1653/8728 1570/1652/8729 1573/1655/8730 -f 1571/1654/8731 1569/1653/8732 1572/1656/8733 -f 1572/1656/8734 1574/1657/8735 1571/1654/8736 -f 1576/1658/8737 1575/1659/8738 1572/1656/8739 -f 1572/1656/8740 1573/1655/8741 1576/1658/8742 -f 1547/1629/8743 1574/1657/8744 1572/1656/8745 -f 1572/1656/8746 1575/1659/8747 1547/1629/8748 -f 1579/1662/8749 1578/1663/8750 1577/1660/8751 -f 1577/1660/8752 1580/1661/8753 1579/1662/8754 -f 1579/1662/8755 1580/1661/8756 1581/1664/8757 -f 1581/1664/8758 1582/1665/8759 1579/1662/8760 -f 1576/1658/8761 1579/1662/8762 1582/1665/8763 -f 1582/1665/8764 1583/1666/8765 1576/1658/8766 -f 1582/1665/8767 1581/1664/8768 1584/1667/8769 -f 1584/1667/8770 1585/1668/8771 1582/1665/8772 -f 1583/1666/8773 1582/1665/8774 1585/1668/8775 -f 1585/1668/8776 1586/1669/8777 1583/1666/8778 -f 1585/1668/8779 1584/1667/8780 1587/1670/8781 -f 1587/1670/8782 1588/1671/8783 1585/1668/8784 -f 1586/1669/8785 1585/1668/8786 1588/1671/8787 -f 1588/1671/8788 1589/1672/8789 1586/1669/8790 -f 1588/1671/8791 1587/1670/8792 1590/1673/8793 -f 1590/1673/8794 1591/1674/8795 1588/1671/8796 -f 1561/1644/8797 1589/1672/8798 1588/1671/8799 -f 1588/1671/8800 1591/1674/8801 1561/1644/8802 -f 1590/1673/8803 1592/1676/8804 1593/1675/8805 -f 1593/1675/8806 1591/1674/8807 1590/1673/8808 -f 1592/2621/8809 1594/1678/8810 1595/1677/8811 -f 1595/1677/8812 1593/2620/8813 1592/2621/8814 -f 1594/1678/8815 1596/1680/8816 1597/1679/8817 -f 1597/1679/8818 1595/1677/8819 1594/1678/8820 -f 1596/1680/8821 1598/1682/8822 1599/1681/8823 -f 1599/1681/8824 1597/1679/8825 1596/1680/8826 -f 1598/1682/8827 1577/1660/8828 1578/1663/8829 -f 1578/1663/8830 1599/1681/8831 1598/1682/8832 -f 1522/1605/8833 1518/1601/8834 1516/1599/8835 -f 1516/1599/8836 1321/1403/8837 1522/1605/8838 -f 1516/1599/8839 1512/1594/8840 1320/1404/8841 -f 1320/1404/8842 1321/1403/8843 1516/1599/8844 -f 1442/1581/8845 1349/1576/8846 1343/1572/8847 -f 1343/1572/8848 1447/1586/8849 1442/1581/8850 -f 1404/1487/8851 1357/1440/8852 1355/1438/8853 -f 1355/1438/8854 1354/1437/8855 1404/1487/8856 -f 1381/1464/8857 1281/1365/8858 1282/1368/8859 -f 1282/1368/8860 1600/1684/8861 1381/1464/8862 -f 1366/1449/8863 1601/1685/8864 1291/1375/8865 -f 1291/1375/8866 1337/1421/8867 1366/1449/8868 -f 1328/1561/8869 1603/2535/8870 1602/2534/8871 -f 1602/2534/8872 1327/1562/8873 1328/1561/8874 -f 1302/2587/8875 1303/1386/8876 1285/1369/8877 -f 1285/1369/8878 1284/1366/8879 1302/2587/8880 -f 1342/1408/8881 1297/1379/8882 1294/1376/8883 -f 1294/1376/8884 602/1683/8885 1342/1408/8886 -f 1602/2534/8887 1603/2535/8888 1348/1686/8889 -f 1348/1686/8890 1347/1598/8891 1602/2534/8892 -f 1602/2534/8893 1347/1598/8894 1330/1566/8895 -f 1330/1566/8896 1327/1562/8897 1602/2534/8898 -f 1291/1375/8899 1601/1685/8900 1600/1684/8901 -f 1600/1684/8902 1282/1368/8903 1291/1375/8904 -f 1289/1373/8905 1288/1372/8906 1279/1362/8907 -f 1279/1362/8908 1280/1364/8909 1289/1373/8910 -f 1269/478/8911 1270/1432/8912 1313/1554/8913 -f 1313/1554/8914 394/1414/8915 1269/478/8916 -f 1436/1519/8917 1435/1518/8918 1385/1468/8919 -f 1385/1468/8920 1384/1467/8921 1436/1519/8922 -f 1436/1519/8923 1384/1467/8924 1389/1472/8925 -f 1389/1472/8926 1393/1476/8927 1436/1519/8928 -f 1308/1546/8929 1313/1554/8930 1270/1432/8931 -f 1270/1432/8932 1273/1544/8933 1308/1546/8934 -f 1600/1684/8935 1601/1685/8936 1604/1688/8937 -f 1604/1688/8938 1605/1689/8939 1600/1684/8940 -f 1366/1449/8941 1369/1452/8942 1604/1688/8943 -f 1604/1688/8944 1601/1685/8945 1366/1449/8946 -f 1605/1689/8947 1604/1688/8948 1369/1452/8949 -f 1369/1452/8950 1377/1460/8951 1605/1689/8952 -f 1381/1464/8953 1600/1684/8954 1605/1689/8955 -f 1605/1689/8956 1377/1460/8957 1381/1464/8958 -f 601/1530/8959 1447/1586/8960 1606/2565/8961 -f 1606/2565/8962 1607/1540/8963 601/1530/8964 -f 1447/1586/8965 1343/1572/8966 1344/1575/8967 -f 1344/1575/8968 1606/2565/8969 1447/1586/8970 -f 1610/1694/8971 1609/1695/8972 1608/1692/8973 -f 1608/1692/8974 1611/1693/8975 1610/1694/8976 -f 1614/1698/8977 1613/1699/8978 1612/1696/8979 -f 1612/1696/8980 1615/1697/8981 1614/1698/8982 -f 1618/1702/8983 1617/1703/8984 1616/1700/8985 -f 1616/1700/8986 1619/1701/8987 1618/1702/8988 -f 1622/1706/8989 1621/1707/8990 1620/1704/8991 -f 1620/1704/8992 1623/1705/8993 1622/1706/8994 -f 1618/1702/8995 1625/1710/8996 1624/1708/8997 -f 1624/1708/8998 1626/1709/8999 1618/1702/9000 -f 1629/1713/9001 1628/1714/9002 1627/1711/9003 -f 1627/1711/9004 1630/1712/9005 1629/1713/9006 -f 1633/1717/9007 1632/1718/9008 1631/1715/9009 -f 1631/1715/9010 1634/1716/9011 1633/1717/9012 -f 1637/1721/9013 1636/1722/9014 1635/1719/9015 -f 1635/1719/9016 1638/1720/9017 1637/1721/9018 -f 1641/1725/9019 1640/1726/9020 1639/1723/9021 -f 1639/1723/9022 1642/1724/9023 1641/1725/9024 -f 1643/1727/9025 1616/1700/9026 1622/1706/9027 -f 1622/1706/9028 1635/1719/9029 1643/1727/9030 -f 1646/1729/9031 1645/1730/9032 1644/1728/9033 -f 1644/1728/9034 1639/1723/9035 1646/1729/9036 -f 1649/1733/9037 1648/1734/9038 1647/1731/9039 -f 1647/1731/9040 1650/1732/9041 1649/1733/9042 -f 1653/1737/9043 1652/1738/9044 1651/1735/9045 -f 1651/1735/9046 1654/1736/9047 1653/1737/9048 -f 1656/1739/9049 1655/1740/9050 1639/1723/9051 -f 1639/1723/9052 1640/1726/9053 1656/1739/9054 -f 1656/1739/9055 1638/1720/9056 1635/1719/9057 -f 1635/1719/9058 1655/1740/9059 1656/1739/9060 -f 1658/1747/9061 1657/1748/9062 1636/1741/9063 -f 1636/1741/9064 1637/1742/9065 1658/1747/9066 -f 1658/1747/9067 1641/1750/9068 1642/2383/9069 -f 1642/2383/9070 1657/1748/9071 1658/1747/9072 -f 1661/1745/9073 1660/1746/9074 1659/1743/9075 -f 1659/1743/9076 1662/1744/9077 1661/1745/9078 -f 1665/1756/9079 1664/1757/9080 1663/1753/9081 -f 1663/1753/9082 1666/1754/9083 1665/1756/9084 -f 1644/1728/9085 1645/1730/9086 1667/1751/9087 -f 1667/1751/9088 1668/1752/9089 1644/1728/9090 -f 1669/1775/9091 1652/1738/9092 1653/1737/9093 -f 1653/1737/9094 1670/1774/9095 1669/1775/9096 -f 1619/1701/9097 1616/1700/9098 1643/1727/9099 -f 1643/1727/9100 1671/1755/9101 1619/1701/9102 -f 1672/1787/9103 1664/1757/9104 1665/1756/9105 -f 1665/1756/9106 1673/1786/9107 1672/1787/9108 -f 1676/1760/9109 1675/1761/9110 1674/1758/9111 -f 1674/1758/9112 1677/1759/9113 1676/1760/9114 -f 1678/1763/9115 1676/1760/9116 1677/1759/9117 -f 1677/1759/9118 1679/1762/9119 1678/1763/9120 -f 1682/1766/9121 1681/1767/9122 1680/1764/9123 -f 1680/1764/9124 1683/1765/9125 1682/1766/9126 -f 1686/1770/9127 1685/1771/9128 1684/1768/9129 -f 1684/1768/9130 1687/1769/9131 1686/1770/9132 -f 1684/1768/9133 1689/1773/9134 1688/1772/9135 -f 1688/1772/9136 1687/1769/9137 1684/1768/9138 -f 1688/1772/9139 1689/1773/9140 1682/1766/9141 -f 1682/1766/9142 1683/1765/9143 1688/1772/9144 -f 1680/1800/9145 1681/1801/9146 1690/1798/9147 -f 1690/1798/9148 1691/1799/9149 1680/1800/9150 -f 1690/1798/9151 1685/1803/9152 1686/1802/9153 -f 1686/1802/9154 1691/1799/9155 1690/1798/9156 -f 1694/1778/9157 1693/1779/9158 1692/1776/9159 -f 1692/1776/9160 1695/1777/9161 1694/1778/9162 -f 1698/1782/9163 1697/1783/9164 1696/1780/9165 -f 1696/1780/9166 1699/1781/9167 1698/1782/9168 -f 1696/1780/9169 1701/1785/9170 1700/1784/9171 -f 1700/1784/9172 1699/1781/9173 1696/1780/9174 -f 1700/1784/9175 1701/1785/9176 1694/1778/9177 -f 1694/1778/9178 1695/1777/9179 1700/1784/9180 -f 1693/1806/9181 1703/1812/9182 1702/1804/9183 -f 1702/1804/9184 1692/1805/9185 1693/1806/9186 -f 1702/1804/9187 1703/1812/9188 1697/1813/9189 -f 1697/1813/9190 1698/1814/9191 1702/1804/9192 -f 1706/1790/9193 1705/1791/9194 1704/1788/9195 -f 1704/1788/9196 1707/1789/9197 1706/1790/9198 -f 1710/1794/9199 1709/1795/9200 1708/1792/9201 -f 1708/1792/9202 1711/1793/9203 1710/1794/9204 -f 1712/1797/9205 1710/1794/9206 1711/1793/9207 -f 1711/1793/9208 1713/1796/9209 1712/1797/9210 -f 1705/1791/9211 1712/1797/9212 1713/1796/9213 -f 1713/1796/9214 1704/1788/9215 1705/1791/9216 -f 1716/1817/9217 1715/1818/9218 1714/1815/9219 -f 1714/1815/9220 1717/1816/9221 1716/1817/9222 -f 1718/1820/9223 1716/1817/9224 1717/1816/9225 -f 1717/1816/9226 1719/1819/9227 1718/1820/9228 -f 1707/1789/9229 1704/1788/9230 1683/1765/9231 -f 1683/1765/9232 1680/1764/9233 1707/1789/9234 -f 1711/1793/9235 1708/1792/9236 1686/1770/9237 -f 1686/1770/9238 1687/1769/9239 1711/1793/9240 -f 1713/1796/9241 1711/1793/9242 1687/1769/9243 -f 1687/1769/9244 1688/1772/9245 1713/1796/9246 -f 1704/1788/9247 1713/1796/9248 1688/1772/9249 -f 1688/1772/9250 1683/1765/9251 1704/1788/9252 -f 1717/1816/9253 1714/1815/9254 1720/1821/9255 -f 1720/1821/9256 1721/1822/9257 1717/1816/9258 -f 1719/1819/9259 1717/1816/9260 1721/1822/9261 -f 1721/1822/9262 1722/1823/9263 1719/1819/9264 -f 1681/1767/9265 1682/1766/9266 1723/1807/9267 -f 1723/1807/9268 1724/1808/9269 1681/1767/9270 -f 1684/1768/9271 1685/1771/9272 1725/1809/9273 -f 1725/1809/9274 1726/1810/9275 1684/1768/9276 -f 1689/1773/9277 1684/1768/9278 1726/1810/9279 -f 1726/1810/9280 1727/1811/9281 1689/1773/9282 -f 1682/1766/9283 1689/1773/9284 1727/1811/9285 -f 1727/1811/9286 1723/1807/9287 1682/1766/9288 -f 1730/1826/9289 1729/1827/9290 1728/1824/9291 -f 1728/1824/9292 1731/1825/9293 1730/1826/9294 -f 1732/1829/9295 1730/1826/9296 1731/1825/9297 -f 1731/1825/9298 1733/1828/9299 1732/1829/9300 -f 1724/1808/9301 1723/1807/9302 1695/1777/9303 -f 1695/1777/9304 1692/1776/9305 1724/1808/9306 -f 1726/1810/9307 1725/1809/9308 1698/1782/9309 -f 1698/1782/9310 1699/1781/9311 1726/1810/9312 -f 1727/1811/9313 1726/1810/9314 1699/1781/9315 -f 1699/1781/9316 1700/1784/9317 1727/1811/9318 -f 1723/1807/9319 1727/1811/9320 1700/1784/9321 -f 1700/1784/9322 1695/1777/9323 1723/1807/9324 -f 1731/1825/9325 1728/1824/9326 1734/1830/9327 -f 1734/1830/9328 1735/1831/9329 1731/1825/9330 -f 1733/1828/9331 1731/1825/9332 1735/1831/9333 -f 1735/1831/9334 1736/1832/9335 1733/1828/9336 -f 1716/1817/9337 1737/1834/9338 1706/1833/9339 -f 1706/1833/9340 1715/1818/9341 1716/1817/9342 -f 1718/1820/9343 1709/1835/9344 1737/1834/9345 -f 1737/1834/9346 1716/1817/9347 1718/1820/9348 -f 1719/1819/9349 1708/1836/9350 1709/1835/9351 -f 1709/1835/9352 1718/1820/9353 1719/1819/9354 -f 1722/1823/9355 1686/1802/9356 1708/1836/9357 -f 1708/1836/9358 1719/1819/9359 1722/1823/9360 -f 1721/1822/9361 1691/1799/9362 1686/1802/9363 -f 1686/1802/9364 1722/1823/9365 1721/1822/9366 -f 1720/1821/9367 1680/1800/9368 1691/1799/9369 -f 1691/1799/9370 1721/1822/9371 1720/1821/9372 -f 1714/1815/9373 1707/1837/9374 1680/1800/9375 -f 1680/1800/9376 1720/1821/9377 1714/1815/9378 -f 1715/1818/9379 1706/1833/9380 1707/1837/9381 -f 1707/1837/9382 1714/1815/9383 1715/1818/9384 -f 1730/1826/9385 1690/1798/9386 1681/1801/9387 -f 1681/1801/9388 1729/1827/9389 1730/1826/9390 -f 1732/1829/9391 1685/1803/9392 1690/1798/9393 -f 1690/1798/9394 1730/1826/9395 1732/1829/9396 -f 1733/1828/9397 1725/1838/9398 1685/1803/9399 -f 1685/1803/9400 1732/1829/9401 1733/1828/9402 -f 1736/1832/9403 1698/1814/9404 1725/1838/9405 -f 1725/1838/9406 1733/1828/9407 1736/1832/9408 -f 1735/1831/9409 1702/1804/9410 1698/1814/9411 -f 1698/1814/9412 1736/1832/9413 1735/1831/9414 -f 1734/1830/9415 1692/1805/9416 1702/1804/9417 -f 1702/1804/9418 1735/1831/9419 1734/1830/9420 -f 1728/1824/9421 1724/1839/9422 1692/1805/9423 -f 1692/1805/9424 1734/1830/9425 1728/1824/9426 -f 1729/1827/9427 1681/1801/9428 1724/1839/9429 -f 1724/1839/9430 1728/1824/9431 1729/1827/9432 -f 1678/1763/9433 1679/1762/9434 1693/1779/9435 -f 1693/1779/9436 1694/1778/9437 1678/1763/9438 -f 1697/1783/9439 1674/1758/9440 1675/1761/9441 -f 1675/1761/9442 1696/1780/9443 1697/1783/9444 -f 1675/1761/9445 1676/1760/9446 1701/1785/9447 -f 1701/1785/9448 1696/1780/9449 1675/1761/9450 -f 1701/1785/9451 1676/1760/9452 1678/1763/9453 -f 1678/1763/9454 1694/1778/9455 1701/1785/9456 -f 1740/1852/9457 1739/1853/9458 1738/1840/9459 -f 1738/1840/9460 1741/1841/9461 1740/1852/9462 -f 1741/1841/9463 1738/1840/9464 1742/1870/9465 -f 1742/1870/9466 1743/1871/9467 1741/1841/9468 -f 1744/1894/9469 1679/1895/9470 1677/1882/9471 -f 1677/1882/9472 1745/1883/9473 1744/1894/9474 -f 1746/1896/9475 1693/1806/9476 1679/1895/9477 -f 1679/1895/9478 1744/1894/9479 1746/1896/9480 -f 1747/1897/9481 1703/1812/9482 1693/1806/9483 -f 1693/1806/9484 1746/1896/9485 1747/1897/9486 -f 1748/1898/9487 1697/1813/9488 1703/1812/9489 -f 1703/1812/9490 1747/1897/9491 1748/1898/9492 -f 1749/1899/9493 1674/1900/9494 1697/1813/9495 -f 1697/1813/9496 1748/1898/9497 1749/1899/9498 -f 1745/1883/9499 1677/1882/9500 1674/1900/9501 -f 1674/1900/9502 1749/1899/9503 1745/1883/9504 -f 1739/1853/9505 1744/1894/9506 1745/1883/9507 -f 1745/1883/9508 1738/1840/9509 1739/1853/9510 -f 1740/1852/9511 1746/1896/9512 1744/1894/9513 -f 1744/1894/9514 1739/1853/9515 1740/1852/9516 -f 1741/1841/9517 1747/1897/9518 1746/1896/9519 -f 1746/1896/9520 1740/1852/9521 1741/1841/9522 -f 1743/1871/9523 1748/1898/9524 1747/1897/9525 -f 1747/1897/9526 1741/1841/9527 1743/1871/9528 -f 1742/1870/9529 1749/1899/9530 1748/1898/9531 -f 1748/1898/9532 1743/1871/9533 1742/1870/9534 -f 1738/1840/9535 1745/1883/9536 1749/1899/9537 -f 1749/1899/9538 1742/1870/9539 1738/1840/9540 -f 1752/1908/9541 1751/1909/9542 1750/1901/9543 -f 1750/1901/9544 1753/1902/9545 1752/1908/9546 -f 1754/1911/9547 1648/1734/9548 1649/1733/9549 -f 1649/1733/9550 1755/1910/9551 1754/1911/9552 -f 1756/1913/9553 1751/1909/9554 1752/1908/9555 -f 1752/1908/9556 1757/1912/9557 1756/1913/9558 -f 1622/1706/9559 1623/1705/9560 1655/1740/9561 -f 1655/1740/9562 1635/1719/9563 1622/1706/9564 -f 1655/1740/9565 1623/1705/9566 1646/1729/9567 -f 1646/1729/9568 1639/1723/9569 1655/1740/9570 -f 1659/1743/9571 1660/1746/9572 1619/1701/9573 -f 1619/1701/9574 1671/1755/9575 1659/1743/9576 -f 1661/1745/9577 1662/1744/9578 1758/1842/9579 -f 1758/1842/9580 1759/1843/9581 1661/1745/9582 -f 1761/1844/9583 1760/1845/9584 1668/1752/9585 -f 1668/1752/9586 1667/1751/9587 1761/1844/9588 -f 1638/1720/9589 1705/1791/9590 1706/1790/9591 -f 1706/1790/9592 1637/1721/9593 1638/1720/9594 -f 1709/1795/9595 1710/1794/9596 1640/1726/9597 -f 1640/1726/9598 1641/1725/9599 1709/1795/9600 -f 1640/1726/9601 1710/1794/9602 1712/1797/9603 -f 1712/1797/9604 1656/1739/9605 1640/1726/9606 -f 1712/1797/9607 1705/1791/9608 1638/1720/9609 -f 1638/1720/9610 1656/1739/9611 1712/1797/9612 -f 1637/1742/9613 1706/1833/9614 1737/1834/9615 -f 1737/1834/9616 1658/1747/9617 1637/1742/9618 -f 1737/1834/9619 1709/1835/9620 1641/1750/9621 -f 1641/1750/9622 1658/1747/9623 1737/1834/9624 -f 1763/1847/9625 1762/1848/9626 1671/1755/9627 -f 1671/1755/9628 1764/1846/9629 1763/1847/9630 -f 1766/1849/9631 1765/1850/9632 1635/1719/9633 -f 1635/1719/9634 1636/1722/9635 1766/1849/9636 -f 1767/1851/9637 1643/1727/9638 1635/1719/9639 -f 1635/1719/9640 1765/1850/9641 1767/1851/9642 -f 1767/1851/9643 1764/1846/9644 1671/1755/9645 -f 1671/1755/9646 1643/1727/9647 1767/1851/9648 -f 1768/1915/9649 1766/1916/9650 1636/1741/9651 -f 1636/1741/9652 1769/1914/9653 1768/1915/9654 -f 1772/1856/9655 1771/1857/9656 1770/1854/9657 -f 1770/1854/9658 1773/1855/9659 1772/1856/9660 -f 1774/1859/9661 1772/1856/9662 1773/1855/9663 -f 1773/1855/9664 1775/1858/9665 1774/1859/9666 -f 1778/1862/9667 1777/1863/9668 1776/1860/9669 -f 1776/1860/9670 1779/1861/9671 1778/1862/9672 -f 1782/1866/9673 1781/1867/9674 1780/1864/9675 -f 1780/1864/9676 1783/1865/9677 1782/1866/9678 -f 1780/1864/9679 1785/1869/9680 1784/1868/9681 -f 1784/1868/9682 1783/1865/9683 1780/1864/9684 -f 1784/1868/9685 1785/1869/9686 1778/1862/9687 -f 1778/1862/9688 1779/1861/9689 1784/1868/9690 -f 1776/1919/9691 1777/1920/9692 1786/1917/9693 -f 1786/1917/9694 1787/1918/9695 1776/1919/9696 -f 1786/1917/9697 1781/1922/9698 1782/1921/9699 -f 1782/1921/9700 1787/1918/9701 1786/1917/9702 -f 1790/1874/9703 1789/1875/9704 1788/1872/9705 -f 1788/1872/9706 1791/1873/9707 1790/1874/9708 -f 1794/1878/9709 1793/1879/9710 1792/1876/9711 -f 1792/1876/9712 1795/1877/9713 1794/1878/9714 -f 1792/1876/9715 1797/1881/9716 1796/1880/9717 -f 1796/1880/9718 1795/1877/9719 1792/1876/9720 -f 1796/1880/9721 1797/1881/9722 1790/1874/9723 -f 1790/1874/9724 1791/1873/9725 1796/1880/9726 -f 1789/1925/9727 1799/1926/9728 1798/1923/9729 -f 1798/1923/9730 1788/1924/9731 1789/1925/9732 -f 1798/1923/9733 1799/1926/9734 1793/1927/9735 -f 1793/1927/9736 1794/1928/9737 1798/1923/9738 -f 1802/1886/9739 1801/1887/9740 1800/1884/9741 -f 1800/1884/9742 1803/1885/9743 1802/1886/9744 -f 1806/1890/9745 1805/1891/9746 1804/1888/9747 -f 1804/1888/9748 1807/1889/9749 1806/1890/9750 -f 1808/1893/9751 1806/1890/9752 1807/1889/9753 -f 1807/1889/9754 1809/1892/9755 1808/1893/9756 -f 1801/1887/9757 1808/1893/9758 1809/1892/9759 -f 1809/1892/9760 1800/1884/9761 1801/1887/9762 -f 1812/1936/9763 1811/1953/9764 1810/1929/9765 -f 1810/1929/9766 1813/1935/9767 1812/1936/9768 -f 1814/1965/9769 1812/1936/9770 1813/1935/9771 -f 1813/1935/9772 1815/1954/9773 1814/1965/9774 -f 1803/1885/9775 1800/1884/9776 1779/1861/9777 -f 1779/1861/9778 1776/1860/9779 1803/1885/9780 -f 1807/1889/9781 1804/1888/9782 1782/1866/9783 -f 1782/1866/9784 1783/1865/9785 1807/1889/9786 -f 1809/1892/9787 1807/1889/9788 1783/1865/9789 -f 1783/1865/9790 1784/1868/9791 1809/1892/9792 -f 1800/1884/9793 1809/1892/9794 1784/1868/9795 -f 1784/1868/9796 1779/1861/9797 1800/1884/9798 -f 1813/1935/9799 1810/1929/9800 1816/1966/9801 -f 1816/1966/9802 1817/1977/9803 1813/1935/9804 -f 1815/1954/9805 1813/1935/9806 1817/1977/9807 -f 1817/1977/9808 1818/1978/9809 1815/1954/9810 -f 1777/1863/9811 1778/1862/9812 1819/1903/9813 -f 1819/1903/9814 1820/1904/9815 1777/1863/9816 -f 1780/1864/9817 1781/1867/9818 1821/1905/9819 -f 1821/1905/9820 1822/1906/9821 1780/1864/9822 -f 1785/1869/9823 1780/1864/9824 1822/1906/9825 -f 1822/1906/9826 1823/1907/9827 1785/1869/9828 -f 1778/1862/9829 1785/1869/9830 1823/1907/9831 -f 1823/1907/9832 1819/1903/9833 1778/1862/9834 -f 1826/1981/9835 1825/1982/9836 1824/1979/9837 -f 1824/1979/9838 1827/1980/9839 1826/1981/9840 -f 1828/1984/9841 1826/1981/9842 1827/1980/9843 -f 1827/1980/9844 1829/1983/9845 1828/1984/9846 -f 1820/1904/9847 1819/1903/9848 1791/1873/9849 -f 1791/1873/9850 1788/1872/9851 1820/1904/9852 -f 1822/1906/9853 1821/1905/9854 1794/1878/9855 -f 1794/1878/9856 1795/1877/9857 1822/1906/9858 -f 1823/1907/9859 1822/1906/9860 1795/1877/9861 -f 1795/1877/9862 1796/1880/9863 1823/1907/9864 -f 1819/1903/9865 1823/1907/9866 1796/1880/9867 -f 1796/1880/9868 1791/1873/9869 1819/1903/9870 -f 1827/1980/9871 1824/1979/9872 1830/1985/9873 -f 1830/1985/9874 1831/1991/9875 1827/1980/9876 -f 1829/1983/9877 1827/1980/9878 1831/1991/9879 -f 1831/1991/9880 1832/1992/9881 1829/1983/9882 -f 1812/1936/9883 1833/1994/9884 1802/1993/9885 -f 1802/1993/9886 1811/1953/9887 1812/1936/9888 -f 1814/1965/9889 1805/1995/9890 1833/1994/9891 -f 1833/1994/9892 1812/1936/9893 1814/1965/9894 -f 1815/1954/9895 1804/1996/9896 1805/1995/9897 -f 1805/1995/9898 1814/1965/9899 1815/1954/9900 -f 1818/1978/9901 1782/1921/9902 1804/1996/9903 -f 1804/1996/9904 1815/1954/9905 1818/1978/9906 -f 1817/1977/9907 1787/1918/9908 1782/1921/9909 -f 1782/1921/9910 1818/1978/9911 1817/1977/9912 -f 1816/1966/9913 1776/1919/9914 1787/1918/9915 -f 1787/1918/9916 1817/1977/9917 1816/1966/9918 -f 1810/1929/9919 1803/1997/9920 1776/1919/9921 -f 1776/1919/9922 1816/1966/9923 1810/1929/9924 -f 1811/1953/9925 1802/1993/9926 1803/1997/9927 -f 1803/1997/9928 1810/1929/9929 1811/1953/9930 -f 1826/1981/9931 1786/1917/9932 1777/1920/9933 -f 1777/1920/9934 1825/1982/9935 1826/1981/9936 -f 1828/1984/9937 1781/1922/9938 1786/1917/9939 -f 1786/1917/9940 1826/1981/9941 1828/1984/9942 -f 1829/1983/9943 1821/1998/9944 1781/1922/9945 -f 1781/1922/9946 1828/1984/9947 1829/1983/9948 -f 1832/1992/9949 1794/1928/9950 1821/1998/9951 -f 1821/1998/9952 1829/1983/9953 1832/1992/9954 -f 1831/1991/9955 1798/1923/9956 1794/1928/9957 -f 1794/1928/9958 1832/1992/9959 1831/1991/9960 -f 1830/1985/9961 1788/1924/9962 1798/1923/9963 -f 1798/1923/9964 1831/1991/9965 1830/1985/9966 -f 1824/1979/9967 1820/1999/9968 1788/1924/9969 -f 1788/1924/9970 1830/1985/9971 1824/1979/9972 -f 1825/1982/9973 1777/1920/9974 1820/1999/9975 -f 1820/1999/9976 1824/1979/9977 1825/1982/9978 -f 1774/1859/9979 1775/1858/9980 1789/1875/9981 -f 1789/1875/9982 1790/1874/9983 1774/1859/9984 -f 1793/1879/9985 1770/1854/9986 1771/1857/9987 -f 1771/1857/9988 1792/1876/9989 1793/1879/9990 -f 1771/1857/9991 1772/1856/9992 1797/1881/9993 -f 1797/1881/9994 1792/1876/9995 1771/1857/9996 -f 1797/1881/9997 1772/1856/9998 1774/1859/9999 -f 1774/1859/10000 1790/1874/10001 1797/1881/10002 -f 1836/2002/10003 1835/2003/10004 1834/2000/10005 -f 1834/2000/10006 1837/2001/10007 1836/2002/10008 -f 1837/2001/10009 1834/2000/10010 1838/2004/10011 -f 1838/2004/10012 1839/2005/10013 1837/2001/10014 -f 1840/2008/10015 1775/2009/10016 1773/2006/10017 -f 1773/2006/10018 1841/2007/10019 1840/2008/10020 -f 1842/2010/10021 1789/1925/10022 1775/2009/10023 -f 1775/2009/10024 1840/2008/10025 1842/2010/10026 -f 1843/2011/10027 1799/1926/10028 1789/1925/10029 -f 1789/1925/10030 1842/2010/10031 1843/2011/10032 -f 1844/2012/10033 1793/1927/10034 1799/1926/10035 -f 1799/1926/10036 1843/2011/10037 1844/2012/10038 -f 1845/2018/10039 1770/2019/10040 1793/1927/10041 -f 1793/1927/10042 1844/2012/10043 1845/2018/10044 -f 1841/2007/10045 1773/2006/10046 1770/2019/10047 -f 1770/2019/10048 1845/2018/10049 1841/2007/10050 -f 1835/2003/10051 1840/2008/10052 1841/2007/10053 -f 1841/2007/10054 1834/2000/10055 1835/2003/10056 -f 1836/2002/10057 1842/2010/10058 1840/2008/10059 -f 1840/2008/10060 1835/2003/10061 1836/2002/10062 -f 1837/2001/10063 1843/2011/10064 1842/2010/10065 -f 1842/2010/10066 1836/2002/10067 1837/2001/10068 -f 1839/2005/10069 1844/2012/10070 1843/2011/10071 -f 1843/2011/10072 1837/2001/10073 1839/2005/10074 -f 1838/2004/10075 1845/2018/10076 1844/2012/10077 -f 1844/2012/10078 1839/2005/10079 1838/2004/10080 -f 1834/2000/10081 1841/2007/10082 1845/2018/10083 -f 1845/2018/10084 1838/2004/10085 1834/2000/10086 -f 1764/1846/10087 1801/1887/10088 1802/1886/10089 -f 1802/1886/10090 1763/1847/10091 1764/1846/10092 -f 1805/1891/10093 1806/1890/10094 1765/1850/10095 -f 1765/1850/10096 1766/1849/10097 1805/1891/10098 -f 1765/1850/10099 1806/1890/10100 1808/1893/10101 -f 1808/1893/10102 1767/1851/10103 1765/1850/10104 -f 1808/1893/10105 1801/1887/10106 1764/1846/10107 -f 1764/1846/10108 1767/1851/10109 1808/1893/10110 -f 1763/2036/10111 1802/1993/10112 1833/1994/10113 -f 1833/1994/10114 1768/1915/10115 1763/2036/10116 -f 1833/1994/10117 1805/1995/10118 1766/1916/10119 -f 1766/1916/10120 1768/1915/10121 1833/1994/10122 -f 1846/1931/10123 1758/1842/10124 1662/1744/10125 -f 1662/1744/10126 1847/1930/10127 1846/1931/10128 -f 1849/1932/10129 1848/1933/10130 1671/1755/10131 -f 1671/1755/10132 1762/1848/10133 1849/1932/10134 -f 1850/1934/10135 1659/1743/10136 1671/1755/10137 -f 1671/1755/10138 1848/1933/10139 1850/1934/10140 -f 1850/1934/10141 1847/1930/10142 1662/1744/10143 -f 1662/1744/10144 1659/1743/10145 1850/1934/10146 -f 1852/2049/10147 1851/2060/10148 1758/2037/10149 -f 1758/2037/10150 1846/2048/10151 1852/2049/10152 -f 1852/2049/10153 1849/2062/10154 1762/2061/10155 -f 1762/2061/10156 1851/2060/10157 1852/2049/10158 -f 1855/1939/10159 1854/1940/10160 1853/1937/10161 -f 1853/1937/10162 1856/1938/10163 1855/1939/10164 -f 1857/1942/10165 1855/1939/10166 1856/1938/10167 -f 1856/1938/10168 1858/1941/10169 1857/1942/10170 -f 1861/1945/10171 1860/1946/10172 1859/1943/10173 -f 1859/1943/10174 1862/1944/10175 1861/1945/10176 -f 1865/1949/10177 1864/1950/10178 1863/1947/10179 -f 1863/1947/10180 1866/1948/10181 1865/1949/10182 -f 1863/1947/10183 1868/1952/10184 1867/1951/10185 -f 1867/1951/10186 1866/1948/10187 1863/1947/10188 -f 1867/1951/10189 1868/1952/10190 1861/1945/10191 -f 1861/1945/10192 1862/1944/10193 1867/1951/10194 -f 1859/2065/10195 1860/2066/10196 1869/2063/10197 -f 1869/2063/10198 1870/2064/10199 1859/2065/10200 -f 1869/2063/10201 1864/2068/10202 1865/2067/10203 -f 1865/2067/10204 1870/2064/10205 1869/2063/10206 -f 1873/1957/10207 1872/1958/10208 1871/1955/10209 -f 1871/1955/10210 1874/1956/10211 1873/1957/10212 -f 1877/1961/10213 1876/1962/10214 1875/1959/10215 -f 1875/1959/10216 1878/1960/10217 1877/1961/10218 -f 1875/1959/10219 1880/1964/10220 1879/1963/10221 -f 1879/1963/10222 1878/1960/10223 1875/1959/10224 -f 1879/1963/10225 1880/1964/10226 1873/1957/10227 -f 1873/1957/10228 1874/1956/10229 1879/1963/10230 -f 1872/2076/10231 1882/2077/10232 1881/2074/10233 -f 1881/2074/10234 1871/2075/10235 1872/2076/10236 -f 1881/2074/10237 1882/2077/10238 1876/2078/10239 -f 1876/2078/10240 1877/2079/10241 1881/2074/10242 -f 1885/1969/10243 1884/1970/10244 1883/1967/10245 -f 1883/1967/10246 1886/1968/10247 1885/1969/10248 -f 1889/1973/10249 1888/1974/10250 1887/1971/10251 -f 1887/1971/10252 1890/1972/10253 1889/1973/10254 -f 1891/1976/10255 1889/1973/10256 1890/1972/10257 -f 1890/1972/10258 1892/1975/10259 1891/1976/10260 -f 1884/1970/10261 1891/1976/10262 1892/1975/10263 -f 1892/1975/10264 1883/1967/10265 1884/1970/10266 -f 1895/2082/10267 1894/2083/10268 1893/2080/10269 -f 1893/2080/10270 1896/2081/10271 1895/2082/10272 -f 1897/2085/10273 1895/2082/10274 1896/2081/10275 -f 1896/2081/10276 1898/2084/10277 1897/2085/10278 -f 1886/1968/10279 1883/1967/10280 1862/1944/10281 -f 1862/1944/10282 1859/1943/10283 1886/1968/10284 -f 1890/1972/10285 1887/1971/10286 1865/1949/10287 -f 1865/1949/10288 1866/1948/10289 1890/1972/10290 -f 1892/1975/10291 1890/1972/10292 1866/1948/10293 -f 1866/1948/10294 1867/1951/10295 1892/1975/10296 -f 1883/1967/10297 1892/1975/10298 1867/1951/10299 -f 1867/1951/10300 1862/1944/10301 1883/1967/10302 -f 1896/2081/10303 1893/2080/10304 1899/2086/10305 -f 1899/2086/10306 1900/2087/10307 1896/2081/10308 -f 1898/2084/10309 1896/2081/10310 1900/2087/10311 -f 1900/2087/10312 1901/2088/10313 1898/2084/10314 -f 1860/1946/10315 1861/1945/10316 1902/1986/10317 -f 1902/1986/10318 1903/1987/10319 1860/1946/10320 -f 1863/1947/10321 1864/1950/10322 1904/1988/10323 -f 1904/1988/10324 1905/1989/10325 1863/1947/10326 -f 1868/1952/10327 1863/1947/10328 1905/1989/10329 -f 1905/1989/10330 1906/1990/10331 1868/1952/10332 -f 1861/1945/10333 1868/1952/10334 1906/1990/10335 -f 1906/1990/10336 1902/1986/10337 1861/1945/10338 -f 1909/2091/10339 1908/2092/10340 1907/2089/10341 -f 1907/2089/10342 1910/2090/10343 1909/2091/10344 -f 1911/2094/10345 1909/2091/10346 1910/2090/10347 -f 1910/2090/10348 1912/2093/10349 1911/2094/10350 -f 1903/1987/10351 1902/1986/10352 1874/1956/10353 -f 1874/1956/10354 1871/1955/10355 1903/1987/10356 -f 1905/1989/10357 1904/1988/10358 1877/1961/10359 -f 1877/1961/10360 1878/1960/10361 1905/1989/10362 -f 1906/1990/10363 1905/1989/10364 1878/1960/10365 -f 1878/1960/10366 1879/1963/10367 1906/1990/10368 -f 1902/1986/10369 1906/1990/10370 1879/1963/10371 -f 1879/1963/10372 1874/1956/10373 1902/1986/10374 -f 1910/2090/10375 1907/2089/10376 1913/2095/10377 -f 1913/2095/10378 1914/2096/10379 1910/2090/10380 -f 1912/2093/10381 1910/2090/10382 1914/2096/10383 -f 1914/2096/10384 1915/2097/10385 1912/2093/10386 -f 1895/2082/10387 1916/2099/10388 1885/2098/10389 -f 1885/2098/10390 1894/2083/10391 1895/2082/10392 -f 1897/2085/10393 1888/2100/10394 1916/2099/10395 -f 1916/2099/10396 1895/2082/10397 1897/2085/10398 -f 1898/2084/10399 1887/2104/10400 1888/2100/10401 -f 1888/2100/10402 1897/2085/10403 1898/2084/10404 -f 1901/2088/10405 1865/2067/10406 1887/2104/10407 -f 1887/2104/10408 1898/2084/10409 1901/2088/10410 -f 1900/2087/10411 1870/2064/10412 1865/2067/10413 -f 1865/2067/10414 1901/2088/10415 1900/2087/10416 -f 1899/2086/10417 1859/2065/10418 1870/2064/10419 -f 1870/2064/10420 1900/2087/10421 1899/2086/10422 -f 1893/2080/10423 1886/2105/10424 1859/2065/10425 -f 1859/2065/10426 1899/2086/10427 1893/2080/10428 -f 1894/2083/10429 1885/2098/10430 1886/2105/10431 -f 1886/2105/10432 1893/2080/10433 1894/2083/10434 -f 1909/2091/10435 1869/2063/10436 1860/2066/10437 -f 1860/2066/10438 1908/2092/10439 1909/2091/10440 -f 1911/2094/10441 1864/2068/10442 1869/2063/10443 -f 1869/2063/10444 1909/2091/10445 1911/2094/10446 -f 1912/2093/10447 1904/2106/10448 1864/2068/10449 -f 1864/2068/10450 1911/2094/10451 1912/2093/10452 -f 1915/2097/10453 1877/2079/10454 1904/2106/10455 -f 1904/2106/10456 1912/2093/10457 1915/2097/10458 -f 1914/2096/10459 1881/2074/10460 1877/2079/10461 -f 1877/2079/10462 1915/2097/10463 1914/2096/10464 -f 1913/2095/10465 1871/2075/10466 1881/2074/10467 -f 1881/2074/10468 1914/2096/10469 1913/2095/10470 -f 1907/2089/10471 1903/2128/10472 1871/2075/10473 -f 1871/2075/10474 1913/2095/10475 1907/2089/10476 -f 1908/2092/10477 1860/2066/10478 1903/2128/10479 -f 1903/2128/10480 1907/2089/10481 1908/2092/10482 -f 1857/1942/10483 1858/1941/10484 1872/1958/10485 -f 1872/1958/10486 1873/1957/10487 1857/1942/10488 -f 1876/1962/10489 1853/1937/10490 1854/1940/10491 -f 1854/1940/10492 1875/1959/10493 1876/1962/10494 -f 1854/1940/10495 1855/1939/10496 1880/1964/10497 -f 1880/1964/10498 1875/1959/10499 1854/1940/10500 -f 1880/1964/10501 1855/1939/10502 1857/1942/10503 -f 1857/1942/10504 1873/1957/10505 1880/1964/10506 -f 1919/2133/10507 1918/2134/10508 1917/2129/10509 -f 1917/2129/10510 1920/2132/10511 1919/2133/10512 -f 1920/2132/10513 1917/2129/10514 1921/2135/10515 -f 1921/2135/10516 1922/2136/10517 1920/2132/10518 -f 1923/2140/10519 1858/2141/10520 1856/2137/10521 -f 1856/2137/10522 1924/2139/10523 1923/2140/10524 -f 1925/2142/10525 1872/2076/10526 1858/2141/10527 -f 1858/2141/10528 1923/2140/10529 1925/2142/10530 -f 1926/2143/10531 1882/2077/10532 1872/2076/10533 -f 1872/2076/10534 1925/2142/10535 1926/2143/10536 -f 1927/2148/10537 1876/2078/10538 1882/2077/10539 -f 1882/2077/10540 1926/2143/10541 1927/2148/10542 -f 1928/2149/10543 1853/2150/10544 1876/2078/10545 -f 1876/2078/10546 1927/2148/10547 1928/2149/10548 -f 1924/2139/10549 1856/2137/10550 1853/2150/10551 -f 1853/2150/10552 1928/2149/10553 1924/2139/10554 -f 1918/2134/10555 1923/2140/10556 1924/2139/10557 -f 1924/2139/10558 1917/2129/10559 1918/2134/10560 -f 1919/2133/10561 1925/2142/10562 1923/2140/10563 -f 1923/2140/10564 1918/2134/10565 1919/2133/10566 -f 1920/2132/10567 1926/2143/10568 1925/2142/10569 -f 1925/2142/10570 1919/2133/10571 1920/2132/10572 -f 1922/2136/10573 1927/2148/10574 1926/2143/10575 -f 1926/2143/10576 1920/2132/10577 1922/2136/10578 -f 1921/2135/10579 1928/2149/10580 1927/2148/10581 -f 1927/2148/10582 1922/2136/10583 1921/2135/10584 -f 1917/2129/10585 1924/2139/10586 1928/2149/10587 -f 1928/2149/10588 1921/2135/10589 1917/2129/10590 -f 1847/1930/10591 1884/1970/10592 1885/1969/10593 -f 1885/1969/10594 1846/1931/10595 1847/1930/10596 -f 1888/1974/10597 1889/1973/10598 1848/1933/10599 -f 1848/1933/10600 1849/1932/10601 1888/1974/10602 -f 1848/1933/10603 1889/1973/10604 1891/1976/10605 -f 1891/1976/10606 1850/1934/10607 1848/1933/10608 -f 1891/1976/10609 1884/1970/10610 1847/1930/10611 -f 1847/1930/10612 1850/1934/10613 1891/1976/10614 -f 1846/2048/10615 1885/2098/10616 1916/2099/10617 -f 1916/2099/10618 1852/2049/10619 1846/2048/10620 -f 1916/2099/10621 1888/2100/10622 1849/2062/10623 -f 1849/2062/10624 1852/2049/10625 1916/2099/10626 -f 1929/2014/10627 1642/1724/10628 1639/1723/10629 -f 1639/1723/10630 1930/2013/10631 1929/2014/10632 -f 1932/2015/10633 1931/2016/10634 1668/1752/10635 -f 1668/1752/10636 1760/1845/10637 1932/2015/10638 -f 1933/2017/10639 1644/1728/10640 1668/1752/10641 -f 1668/1752/10642 1931/2016/10643 1933/2017/10644 -f 1933/2017/10645 1930/2013/10646 1639/1723/10647 -f 1639/1723/10648 1644/1728/10649 1933/2017/10650 -f 1935/2152/10651 1934/2153/10652 1642/1749/10653 -f 1642/1749/10654 1929/2151/10655 1935/2152/10656 -f 1935/2152/10657 1932/2160/10658 1760/2159/10659 -f 1760/2159/10660 1934/2153/10661 1935/2152/10662 -f 1938/2022/10663 1937/2023/10664 1936/2020/10665 -f 1936/2020/10666 1939/2021/10667 1938/2022/10668 -f 1940/2025/10669 1938/2022/10670 1939/2021/10671 -f 1939/2021/10672 1941/2024/10673 1940/2025/10674 -f 1944/2028/10675 1943/2029/10676 1942/2026/10677 -f 1942/2026/10678 1945/2027/10679 1944/2028/10680 -f 1948/2032/10681 1947/2033/10682 1946/2030/10683 -f 1946/2030/10684 1949/2031/10685 1948/2032/10686 -f 1946/2030/10687 1951/2035/10688 1950/2034/10689 -f 1950/2034/10690 1949/2031/10691 1946/2030/10692 -f 1950/2034/10693 1951/2035/10694 1944/2028/10695 -f 1944/2028/10696 1945/2027/10697 1950/2034/10698 -f 1942/2163/10699 1943/2164/10700 1952/2161/10701 -f 1952/2161/10702 1953/2162/10703 1942/2163/10704 -f 1952/2161/10705 1947/2167/10706 1948/2166/10707 -f 1948/2166/10708 1953/2162/10709 1952/2161/10710 -f 1956/2040/10711 1955/2041/10712 1954/2038/10713 -f 1954/2038/10714 1957/2039/10715 1956/2040/10716 -f 1960/2044/10717 1959/2045/10718 1958/2042/10719 -f 1958/2042/10720 1961/2043/10721 1960/2044/10722 -f 1958/2042/10723 1963/2047/10724 1962/2046/10725 -f 1962/2046/10726 1961/2043/10727 1958/2042/10728 -f 1962/2046/10729 1963/2047/10730 1956/2040/10731 -f 1956/2040/10732 1957/2039/10733 1962/2046/10734 -f 1955/2170/10735 1965/2171/10736 1964/2168/10737 -f 1964/2168/10738 1954/2169/10739 1955/2170/10740 -f 1964/2168/10741 1965/2171/10742 1959/2172/10743 -f 1959/2172/10744 1960/2173/10745 1964/2168/10746 -f 1968/2052/10747 1967/2053/10748 1966/2050/10749 -f 1966/2050/10750 1969/2051/10751 1968/2052/10752 -f 1972/2056/10753 1971/2057/10754 1970/2054/10755 -f 1970/2054/10756 1973/2055/10757 1972/2056/10758 -f 1974/2059/10759 1972/2056/10760 1973/2055/10761 -f 1973/2055/10762 1975/2058/10763 1974/2059/10764 -f 1967/2053/10765 1974/2059/10766 1975/2058/10767 -f 1975/2058/10768 1966/2050/10769 1967/2053/10770 -f 1978/2183/10771 1977/2185/10772 1976/2174/10773 -f 1976/2174/10774 1979/2175/10775 1978/2183/10776 -f 1980/2187/10777 1978/2183/10778 1979/2175/10779 -f 1979/2175/10780 1981/2186/10781 1980/2187/10782 -f 1969/2051/10783 1966/2050/10784 1945/2027/10785 -f 1945/2027/10786 1942/2026/10787 1969/2051/10788 -f 1973/2055/10789 1970/2054/10790 1948/2032/10791 -f 1948/2032/10792 1949/2031/10793 1973/2055/10794 -f 1975/2058/10795 1973/2055/10796 1949/2031/10797 -f 1949/2031/10798 1950/2034/10799 1975/2058/10800 -f 1966/2050/10801 1975/2058/10802 1950/2034/10803 -f 1950/2034/10804 1945/2027/10805 1966/2050/10806 -f 1979/2175/10807 1976/2174/10808 1982/2188/10809 -f 1982/2188/10810 1983/2189/10811 1979/2175/10812 -f 1981/2186/10813 1979/2175/10814 1983/2189/10815 -f 1983/2189/10816 1984/2190/10817 1981/2186/10818 -f 1943/2029/10819 1944/2028/10820 1985/2069/10821 -f 1985/2069/10822 1986/2070/10823 1943/2029/10824 -f 1946/2030/10825 1947/2033/10826 1987/2071/10827 -f 1987/2071/10828 1988/2072/10829 1946/2030/10830 -f 1951/2035/10831 1946/2030/10832 1988/2072/10833 -f 1988/2072/10834 1989/2073/10835 1951/2035/10836 -f 1944/2028/10837 1951/2035/10838 1989/2073/10839 -f 1989/2073/10840 1985/2069/10841 1944/2028/10842 -f 1992/2196/10843 1991/2197/10844 1990/2191/10845 -f 1990/2191/10846 1993/2195/10847 1992/2196/10848 -f 1994/2205/10849 1992/2196/10850 1993/2195/10851 -f 1993/2195/10852 1995/2198/10853 1994/2205/10854 -f 1986/2070/10855 1985/2069/10856 1957/2039/10857 -f 1957/2039/10858 1954/2038/10859 1986/2070/10860 -f 1988/2072/10861 1987/2071/10862 1960/2044/10863 -f 1960/2044/10864 1961/2043/10865 1988/2072/10866 -f 1989/2073/10867 1988/2072/10868 1961/2043/10869 -f 1961/2043/10870 1962/2046/10871 1989/2073/10872 -f 1985/2069/10873 1989/2073/10874 1962/2046/10875 -f 1962/2046/10876 1957/2039/10877 1985/2069/10878 -f 1993/2195/10879 1990/2191/10880 1996/2212/10881 -f 1996/2212/10882 1997/2213/10883 1993/2195/10884 -f 1995/2198/10885 1993/2195/10886 1997/2213/10887 -f 1997/2213/10888 1998/2214/10889 1995/2198/10890 -f 1978/2183/10891 1999/2216/10892 1968/2215/10893 -f 1968/2215/10894 1977/2185/10895 1978/2183/10896 -f 1980/2187/10897 1971/2217/10898 1999/2216/10899 -f 1999/2216/10900 1978/2183/10901 1980/2187/10902 -f 1981/2186/10903 1970/2218/10904 1971/2217/10905 -f 1971/2217/10906 1980/2187/10907 1981/2186/10908 -f 1984/2190/10909 1948/2166/10910 1970/2218/10911 -f 1970/2218/10912 1981/2186/10913 1984/2190/10914 -f 1983/2189/10915 1953/2162/10916 1948/2166/10917 -f 1948/2166/10918 1984/2190/10919 1983/2189/10920 -f 1982/2188/10921 1942/2163/10922 1953/2162/10923 -f 1953/2162/10924 1983/2189/10925 1982/2188/10926 -f 1976/2174/10927 1969/2219/10928 1942/2163/10929 -f 1942/2163/10930 1982/2188/10931 1976/2174/10932 -f 1977/2185/10933 1968/2215/10934 1969/2219/10935 -f 1969/2219/10936 1976/2174/10937 1977/2185/10938 -f 1992/2196/10939 1952/2161/10940 1943/2164/10941 -f 1943/2164/10942 1991/2197/10943 1992/2196/10944 -f 1994/2205/10945 1947/2167/10946 1952/2161/10947 -f 1952/2161/10948 1992/2196/10949 1994/2205/10950 -f 1995/2198/10951 1987/2220/10952 1947/2167/10953 -f 1947/2167/10954 1994/2205/10955 1995/2198/10956 -f 1998/2214/10957 1960/2173/10958 1987/2220/10959 -f 1987/2220/10960 1995/2198/10961 1998/2214/10962 -f 1997/2213/10963 1964/2168/10964 1960/2173/10965 -f 1960/2173/10966 1998/2214/10967 1997/2213/10968 -f 1996/2212/10969 1954/2169/10970 1964/2168/10971 -f 1964/2168/10972 1997/2213/10973 1996/2212/10974 -f 1990/2191/10975 1986/2221/10976 1954/2169/10977 -f 1954/2169/10978 1996/2212/10979 1990/2191/10980 -f 1991/2197/10981 1943/2164/10982 1986/2221/10983 -f 1986/2221/10984 1990/2191/10985 1991/2197/10986 -f 1940/2025/10987 1941/2024/10988 1955/2041/10989 -f 1955/2041/10990 1956/2040/10991 1940/2025/10992 -f 1959/2045/10993 1936/2020/10994 1937/2023/10995 -f 1937/2023/10996 1958/2042/10997 1959/2045/10998 -f 1937/2023/10999 1938/2022/11000 1963/2047/11001 -f 1963/2047/11002 1958/2042/11003 1937/2023/11004 -f 1963/2047/11005 1938/2022/11006 1940/2025/11007 -f 1940/2025/11008 1956/2040/11009 1963/2047/11010 -f 2002/2224/11011 2001/2252/11012 2000/2222/11013 -f 2000/2222/11014 2003/2223/11015 2002/2224/11016 -f 2003/2223/11017 2000/2222/11018 2004/2253/11019 -f 2004/2253/11020 2005/2254/11021 2003/2223/11022 -f 2006/2260/11023 1941/2261/11024 1939/2255/11025 -f 1939/2255/11026 2007/2259/11027 2006/2260/11028 -f 2008/2262/11029 1955/2170/11030 1941/2261/11031 -f 1941/2261/11032 2006/2260/11033 2008/2262/11034 -f 2009/2263/11035 1965/2171/11036 1955/2170/11037 -f 1955/2170/11038 2008/2262/11039 2009/2263/11040 -f 2010/2264/11041 1959/2172/11042 1965/2171/11043 -f 1965/2171/11044 2009/2263/11045 2010/2264/11046 -f 2011/2265/11047 1936/2266/11048 1959/2172/11049 -f 1959/2172/11050 2010/2264/11051 2011/2265/11052 -f 2007/2259/11053 1939/2255/11054 1936/2266/11055 -f 1936/2266/11056 2011/2265/11057 2007/2259/11058 -f 2001/2252/11059 2006/2260/11060 2007/2259/11061 -f 2007/2259/11062 2000/2222/11063 2001/2252/11064 -f 2002/2224/11065 2008/2262/11066 2006/2260/11067 -f 2006/2260/11068 2001/2252/11069 2002/2224/11070 -f 2003/2223/11071 2009/2263/11072 2008/2262/11073 -f 2008/2262/11074 2002/2224/11075 2003/2223/11076 -f 2005/2254/11077 2010/2264/11078 2009/2263/11079 -f 2009/2263/11080 2003/2223/11081 2005/2254/11082 -f 2004/2253/11083 2011/2265/11084 2010/2264/11085 -f 2010/2264/11086 2005/2254/11087 2004/2253/11088 -f 2000/2222/11089 2007/2259/11090 2011/2265/11091 -f 2011/2265/11092 2004/2253/11093 2000/2222/11094 -f 1930/2013/11095 1967/2053/11096 1968/2052/11097 -f 1968/2052/11098 1929/2014/11099 1930/2013/11100 -f 1971/2057/11101 1972/2056/11102 1931/2016/11103 -f 1931/2016/11104 1932/2015/11105 1971/2057/11106 -f 1931/2016/11107 1972/2056/11108 1974/2059/11109 -f 1974/2059/11110 1933/2017/11111 1931/2016/11112 -f 1974/2059/11113 1967/2053/11114 1930/2013/11115 -f 1930/2013/11116 1933/2017/11117 1974/2059/11118 -f 1929/2151/11119 1968/2215/11120 1999/2216/11121 -f 1999/2216/11122 1935/2152/11123 1929/2151/11124 -f 1999/2216/11125 1971/2217/11126 1932/2160/11127 -f 1932/2160/11128 1935/2152/11129 1999/2216/11130 -f 1654/1736/11131 1642/1749/11132 1934/2153/11133 -f 1934/2153/11134 1653/1737/11135 1654/1736/11136 -f 1651/1735/11137 2012/2267/11138 1642/2579/11139 -f 1642/2579/11140 1654/1736/11141 1651/1735/11142 -f 1652/1738/11143 2013/2268/11144 2012/2267/11145 -f 2012/2267/11146 1651/1735/11147 1652/1738/11148 -f 1669/1775/11149 1761/2269/11150 2013/2268/11151 -f 2013/2268/11152 1652/1738/11153 1669/1775/11154 -f 1670/1774/11155 1760/2159/11156 1761/2269/11157 -f 1761/2269/11158 1669/1775/11159 1670/1774/11160 -f 1653/1737/11161 1934/2153/11162 1760/2159/11163 -f 1760/2159/11164 1670/1774/11165 1653/1737/11166 -f 1650/1732/11167 1636/1741/11168 1657/1748/11169 -f 1657/1748/11170 1649/1733/11171 1650/1732/11172 -f 1647/1731/11173 2014/2270/11174 1636/1741/11175 -f 1636/1741/11176 1650/1732/11177 1647/1731/11178 -f 1648/1734/11179 2015/2271/11180 2014/2270/11181 -f 2014/2270/11182 1647/1731/11183 1648/1734/11184 -f 1754/1911/11185 2012/2267/11186 2015/2271/11187 -f 2015/2271/11188 1648/1734/11189 1754/1911/11190 -f 1755/1910/11191 1642/2579/11192 2012/2267/11193 -f 2012/2267/11194 1754/1911/11195 1755/1910/11196 -f 1649/1733/11197 1657/1748/11198 1642/2383/11199 -f 1642/2383/11200 1755/1910/11201 1649/1733/11202 -f 1752/1908/11203 1769/1914/11204 1636/1741/11205 -f 1636/1741/11206 1757/1912/11207 1752/1908/11208 -f 1753/1902/11209 1762/2061/11210 1769/1914/11211 -f 1769/1914/11212 1752/1908/11213 1753/1902/11214 -f 1750/1901/11215 1634/1716/11216 1762/2061/11217 -f 1762/2061/11218 1753/1902/11219 1750/1901/11220 -f 1751/1909/11221 2016/2272/11222 1634/1716/11223 -f 1634/1716/11224 1750/1901/11225 1751/1909/11226 -f 1756/1913/11227 2014/2270/11228 2016/2272/11229 -f 2016/2272/11230 1751/1909/11231 1756/1913/11232 -f 1757/1912/11233 1636/1741/11234 2014/2270/11235 -f 2014/2270/11236 1756/1913/11237 1757/1912/11238 -f 1666/1754/11239 1758/2037/11240 1851/2060/11241 -f 1851/2060/11242 1665/1756/11243 1666/1754/11244 -f 1663/1753/11245 1759/2273/11246 1758/2037/11247 -f 1758/2037/11248 1666/1754/11249 1663/1753/11250 -f 1664/1757/11251 1631/1715/11252 1759/2273/11253 -f 1759/2273/11254 1663/1753/11255 1664/1757/11256 -f 1672/1787/11257 1634/1716/11258 1631/1715/11259 -f 1631/1715/11260 1664/1757/11261 1672/1787/11262 -f 1673/1786/11263 1762/2061/11264 1634/1716/11265 -f 1634/1716/11266 1672/1787/11267 1673/1786/11268 -f 1665/1756/11269 1851/2060/11270 1762/2061/11271 -f 1762/2061/11272 1673/1786/11273 1665/1756/11274 -f 1763/2036/11275 1768/1915/11276 1769/1914/11277 -f 1769/1914/11278 1762/2061/11279 1763/2036/11280 -f 1661/1745/11281 1759/1843/11282 2017/2101/11283 -f 2017/2101/11284 2018/2102/11285 1661/1745/11286 -f 1617/1703/11287 1618/1702/11288 1626/1709/11289 -f 1626/1709/11290 2019/2103/11291 1617/1703/11292 -f 2016/2272/11293 2014/2270/11294 2020/2274/11295 -f 2020/2274/11296 2021/2275/11297 2016/2272/11298 -f 1625/1710/11299 1618/1702/11300 1619/1701/11301 -f 1619/1701/11302 1660/1746/11303 1625/1710/11304 -f 1628/1714/11305 2012/2267/11306 2013/2268/11307 -f 2013/2268/11308 2022/2276/11309 1628/1714/11310 -f 2015/2271/11311 2012/2267/11312 1628/1714/11313 -f 1628/1714/11314 1629/1713/11315 2015/2271/11316 -f 2025/2109/11317 2024/2110/11318 2023/2107/11319 -f 2023/2107/11320 2026/2108/11321 2025/2109/11322 -f 2027/2112/11323 2026/2108/11324 2023/2107/11325 -f 2023/2107/11326 2028/2111/11327 2027/2112/11328 -f 2030/2114/11329 2029/2115/11330 2027/2112/11331 -f 2027/2112/11332 2031/2113/11333 2030/2114/11334 -f 2026/2108/11335 2033/2117/11336 2032/2116/11337 -f 2032/2116/11338 2025/2109/11339 2026/2108/11340 -f 2029/2115/11341 2033/2117/11342 2026/2108/11343 -f 2026/2108/11344 2027/2112/11345 2029/2115/11346 -f 1615/1697/11347 2035/2119/11348 2034/2118/11349 -f 2034/2118/11350 1614/1698/11351 1615/1697/11352 -f 2038/2122/11353 2037/2123/11354 2036/2120/11355 -f 2036/2120/11356 2039/2121/11357 2038/2122/11358 -f 2040/2125/11359 2037/2123/11360 2038/2122/11361 -f 2038/2122/11362 2041/2124/11363 2040/2125/11364 -f 2039/2121/11365 2036/2120/11366 2042/2126/11367 -f 2042/2126/11368 2043/2127/11369 2039/2121/11370 -f 2043/2279/11371 2042/2280/11372 2044/2277/11373 -f 2044/2277/11374 2045/2278/11375 2043/2279/11376 -f 2045/2278/11377 2044/2277/11378 2046/2281/11379 -f 2046/2281/11380 2047/2282/11381 2045/2278/11382 -f 2046/2131/11383 2040/2125/11384 2041/2124/11385 -f 2041/2124/11386 2047/2130/11387 2046/2131/11388 -f 2050/2285/11389 2049/2286/11390 2048/2283/11391 -f 2048/2283/11392 2051/2284/11393 2050/2285/11394 -f 2052/2288/11395 2050/2285/11396 2051/2284/11397 -f 2051/2284/11398 2053/2287/11399 2052/2288/11400 -f 2032/2116/11401 2033/2117/11402 2038/2122/11403 -f 2038/2122/11404 2039/2121/11405 2032/2116/11406 -f 2033/2117/11407 2029/2115/11408 2041/2124/11409 -f 2041/2124/11410 2038/2122/11411 2033/2117/11412 -f 2054/2138/11413 2032/2116/11414 2039/2121/11415 -f 2039/2121/11416 2043/2127/11417 2054/2138/11418 -f 2051/2284/11419 2048/2283/11420 2055/2289/11421 -f 2055/2289/11422 2056/2290/11423 2051/2284/11424 -f 2053/2287/11425 2051/2284/11426 2056/2290/11427 -f 2056/2290/11428 2057/2291/11429 2053/2287/11430 -f 2029/2115/11431 2030/2114/11432 2047/2130/11433 -f 2047/2130/11434 2041/2124/11435 2029/2115/11436 -f 2050/2285/11437 2059/2293/11438 2058/2292/11439 -f 2058/2292/11440 2049/2286/11441 2050/2285/11442 -f 2052/2288/11443 2031/2294/11444 2059/2293/11445 -f 2059/2293/11446 2050/2285/11447 2052/2288/11448 -f 2053/2287/11449 2030/2295/11450 2031/2294/11451 -f 2031/2294/11452 2052/2288/11453 2053/2287/11454 -f 2057/2291/11455 2047/2282/11456 2030/2295/11457 -f 2030/2295/11458 2053/2287/11459 2057/2291/11460 -f 2056/2290/11461 2045/2278/11462 2047/2282/11463 -f 2047/2282/11464 2057/2291/11465 2056/2290/11466 -f 2055/2289/11467 2043/2279/11468 2045/2278/11469 -f 2045/2278/11470 2056/2290/11471 2055/2289/11472 -f 2048/2283/11473 2054/2296/11474 2043/2279/11475 -f 2043/2279/11476 2055/2289/11477 2048/2283/11478 -f 2049/2286/11479 2058/2292/11480 2054/2296/11481 -f 2054/2296/11482 2048/2283/11483 2049/2286/11484 -f 1615/1697/11485 1612/1696/11486 2060/2144/11487 -f 2060/2144/11488 2061/2145/11489 1615/1697/11490 -f 2035/2119/11491 1615/1697/11492 2061/2145/11493 -f 2061/2145/11494 2062/2146/11495 2035/2119/11496 -f 2060/2144/11497 1612/1696/11498 1613/1699/11499 -f 1613/1699/11500 2063/2147/11501 2060/2144/11502 -f 2066/2299/11503 2065/2300/11504 2064/2297/11505 -f 2064/2297/11506 2067/2298/11507 2066/2299/11508 -f 2067/2298/11509 2064/2297/11510 2068/2301/11511 -f 2068/2301/11512 2069/2302/11513 2067/2298/11514 -f 2070/2154/11515 2034/2118/11516 2035/2119/11517 -f 2035/2119/11518 2062/2146/11519 2070/2154/11520 -f 2036/2120/11521 2037/2123/11522 2071/2155/11523 -f 2071/2155/11524 2072/2156/11525 2036/2120/11526 -f 2037/2123/11527 2040/2125/11528 2073/2157/11529 -f 2073/2157/11530 2071/2155/11531 2037/2123/11532 -f 2042/2126/11533 2036/2120/11534 2072/2156/11535 -f 2072/2156/11536 2074/2158/11537 2042/2126/11538 -f 2077/2305/11539 2076/2306/11540 2075/2303/11541 -f 2075/2303/11542 2078/2304/11543 2077/2305/11544 -f 2079/2308/11545 2077/2305/11546 2078/2304/11547 -f 2078/2304/11548 2080/2307/11549 2079/2308/11550 -f 2040/2125/11551 2046/2131/11552 2081/2165/11553 -f 2081/2165/11554 2073/2157/11555 2040/2125/11556 -f 2072/2156/11557 2071/2155/11558 2061/2145/11559 -f 2061/2145/11560 2060/2144/11561 2072/2156/11562 -f 2071/2155/11563 2073/2157/11564 2062/2146/11565 -f 2062/2146/11566 2061/2145/11567 2071/2155/11568 -f 2074/2158/11569 2072/2156/11570 2060/2144/11571 -f 2060/2144/11572 2063/2147/11573 2074/2158/11574 -f 2078/2304/11575 2075/2303/11576 2082/2309/11577 -f 2082/2309/11578 2083/2310/11579 2078/2304/11580 -f 2080/2307/11581 2078/2304/11582 2083/2310/11583 -f 2083/2310/11584 2084/2311/11585 2080/2307/11586 -f 2073/2157/11587 2081/2165/11588 2070/2154/11589 -f 2070/2154/11590 2062/2146/11591 2073/2157/11592 -f 2077/2305/11593 2044/2277/11594 2042/2280/11595 -f 2042/2280/11596 2076/2306/11597 2077/2305/11598 -f 2079/2308/11599 2046/2281/11600 2044/2277/11601 -f 2044/2277/11602 2077/2305/11603 2079/2308/11604 -f 2080/2307/11605 2081/2312/11606 2046/2281/11607 -f 2046/2281/11608 2079/2308/11609 2080/2307/11610 -f 2084/2311/11611 2070/2313/11612 2081/2312/11613 -f 2081/2312/11614 2080/2307/11615 2084/2311/11616 -f 2083/2310/11617 2085/2314/11618 2070/2313/11619 -f 2070/2313/11620 2084/2311/11621 2083/2310/11622 -f 2082/2309/11623 2063/2315/11624 2085/2314/11625 -f 2085/2314/11626 2083/2310/11627 2082/2309/11628 -f 2075/2303/11629 2074/2316/11630 2063/2315/11631 -f 2063/2315/11632 2082/2309/11633 2075/2303/11634 -f 2076/2306/11635 2042/2280/11636 2074/2316/11637 -f 2074/2316/11638 2075/2303/11639 2076/2306/11640 -f 2086/2319/11641 1613/2320/11642 1614/2317/11643 -f 1614/2317/11644 2087/2318/11645 2086/2319/11646 -f 2088/2321/11647 2063/2315/11648 1613/2320/11649 -f 1613/2320/11650 2086/2319/11651 2088/2321/11652 -f 2089/2322/11653 2085/2314/11654 2063/2315/11655 -f 2063/2315/11656 2088/2321/11657 2089/2322/11658 -f 2090/2323/11659 2070/2313/11660 2085/2314/11661 -f 2085/2314/11662 2089/2322/11663 2090/2323/11664 -f 2091/2324/11665 2034/2325/11666 2070/2313/11667 -f 2070/2313/11668 2090/2323/11669 2091/2324/11670 -f 2087/2318/11671 1614/2317/11672 2034/2325/11673 -f 2034/2325/11674 2091/2324/11675 2087/2318/11676 -f 2065/2300/11677 2086/2319/11678 2087/2318/11679 -f 2087/2318/11680 2064/2297/11681 2065/2300/11682 -f 2066/2299/11683 2088/2321/11684 2086/2319/11685 -f 2086/2319/11686 2065/2300/11687 2066/2299/11688 -f 2067/2298/11689 2089/2322/11690 2088/2321/11691 -f 2088/2321/11692 2066/2299/11693 2067/2298/11694 -f 2069/2302/11695 2090/2323/11696 2089/2322/11697 -f 2089/2322/11698 2067/2298/11699 2069/2302/11700 -f 2068/2301/11701 2091/2324/11702 2090/2323/11703 -f 2090/2323/11704 2069/2302/11705 2068/2301/11706 -f 2064/2297/11707 2087/2318/11708 2091/2324/11709 -f 2091/2324/11710 2068/2301/11711 2064/2297/11712 -f 1646/1729/11713 2093/2177/11714 2092/2176/11715 -f 2092/2176/11716 1645/1730/11717 1646/1729/11718 -f 2096/2180/11719 2095/2181/11720 2094/2178/11721 -f 2094/2178/11722 2097/2179/11723 2096/2180/11724 -f 2098/2182/11725 1621/1707/11726 1617/1703/11727 -f 1617/1703/11728 2019/2103/11729 2098/2182/11730 -f 2017/2326/11731 1759/2273/11732 1631/1715/11733 -f 1631/1715/11734 1632/1718/11735 2017/2326/11736 -f 2099/2329/11737 1608/2330/11738 1609/2327/11739 -f 1609/2327/11740 2100/2328/11741 2099/2329/11742 -f 1633/1717/11743 1634/1716/11744 2016/2272/11745 -f 2016/2272/11746 2021/2275/11747 1633/1717/11748 -f 2102/2333/11749 1627/1711/11750 2101/2331/11751 -f 2101/2331/11752 2103/2332/11753 2102/2333/11754 -f 1628/1714/11755 2022/2276/11756 2101/2331/11757 -f 2101/2331/11758 1627/1711/11759 1628/1714/11760 -f 2105/2336/11761 2104/2337/11762 2024/2334/11763 -f 2024/2334/11764 2025/2335/11765 2105/2336/11766 -f 2020/2274/11767 2014/2270/11768 2015/2271/11769 -f 2015/2271/11770 1629/1713/11771 2020/2274/11772 -f 2102/2333/11773 2106/2338/11774 1630/1712/11775 -f 1630/1712/11776 1627/1711/11777 2102/2333/11778 -f 2020/2274/11779 1629/1713/11780 1630/1712/11781 -f 1630/1712/11782 2107/2339/11783 2020/2274/11784 -f 2108/2184/11785 1667/1751/11786 1645/1730/11787 -f 1645/1730/11788 2092/2176/11789 2108/2184/11790 -f 1761/1844/11791 1667/1751/11792 2108/2184/11793 -f 2108/2184/11794 2109/2192/11795 1761/1844/11796 -f 2013/2268/11797 1761/2269/11798 2109/2340/11799 -f 2109/2340/11800 2022/2276/11801 2013/2268/11802 -f 2110/2193/11803 1620/1704/11804 1621/1707/11805 -f 1621/1707/11806 2098/2182/11807 2110/2193/11808 -f 2111/2341/11809 2101/2331/11810 2022/2276/11811 -f 2022/2276/11812 2104/2337/11813 2111/2341/11814 -f 2112/2342/11815 2103/2332/11816 2101/2331/11817 -f 2101/2331/11818 2111/2341/11819 2112/2342/11820 -f 2114/2343/11821 2113/2344/11822 2103/2332/11823 -f 2103/2332/11824 2112/2342/11825 2114/2343/11826 -f 2115/2345/11827 2097/2346/11828 2113/2344/11829 -f 2113/2344/11830 2114/2343/11831 2115/2345/11832 -f 2116/2199/11833 2096/2180/11834 2097/2179/11835 -f 2097/2179/11836 2115/2194/11837 2116/2199/11838 -f 2093/2177/11839 1620/1704/11840 2110/2193/11841 -f 2110/2193/11842 2117/2200/11843 2093/2177/11844 -f 2117/2200/11845 2110/2193/11846 2096/2180/11847 -f 2096/2180/11848 2116/2199/11849 2117/2200/11850 -f 2118/2202/11851 2027/2112/11852 2028/2111/11853 -f 2028/2111/11854 2119/2201/11855 2118/2202/11856 -f 2059/2293/11857 2114/2343/11858 2112/2342/11859 -f 2112/2342/11860 2058/2292/11861 2059/2293/11862 -f 2115/2345/11863 2114/2343/11864 2059/2293/11865 -f 2059/2293/11866 2031/2294/11867 2115/2345/11868 -f 2120/2203/11869 2116/2199/11870 2115/2194/11871 -f 2115/2194/11872 2031/2113/11873 2120/2203/11874 -f 2117/2200/11875 2116/2199/11876 2120/2203/11877 -f 2120/2203/11878 2118/2202/11879 2117/2200/11880 -f 2093/2177/11881 2117/2200/11882 2118/2202/11883 -f 2118/2202/11884 2119/2201/11885 2093/2177/11886 -f 2092/2176/11887 2093/2177/11888 2119/2201/11889 -f 2119/2201/11890 2028/2111/11891 2092/2176/11892 -f 2109/2192/11893 2108/2184/11894 2023/2107/11895 -f 2023/2107/11896 2024/2110/11897 2109/2192/11898 -f 2104/2337/11899 2022/2276/11900 2109/2340/11901 -f 2109/2340/11902 2024/2334/11903 2104/2337/11904 -f 2112/2342/11905 2111/2341/11906 2121/2347/11907 -f 2121/2347/11908 2058/2292/11909 2112/2342/11910 -f 2023/2107/11911 2108/2184/11912 2092/2176/11913 -f 2092/2176/11914 2028/2111/11915 2023/2107/11916 -f 2105/2336/11917 2121/2347/11918 2111/2341/11919 -f 2111/2341/11920 2104/2337/11921 2105/2336/11922 -f 2105/2336/11923 2025/2335/11924 2122/2348/11925 -f 2122/2348/11926 2121/2347/11927 2105/2336/11928 -f 1611/1693/11929 2124/2206/11930 2123/2204/11931 -f 2123/2204/11932 1610/1694/11933 1611/1693/11934 -f 1661/1745/11935 2018/2102/11936 1625/1710/11937 -f 1625/1710/11938 1660/1746/11939 1661/1745/11940 -f 2099/2329/11941 2100/2328/11942 2017/2326/11943 -f 2017/2326/11944 1632/1718/11945 2099/2329/11946 -f 2125/2208/11947 2018/2102/11948 2017/2101/11949 -f 2017/2101/11950 2100/2207/11951 2125/2208/11952 -f 1624/1708/11953 1625/1710/11954 2018/2102/11955 -f 2018/2102/11956 2125/2208/11957 1624/1708/11958 -f 1620/1704/11959 2093/2177/11960 1646/1729/11961 -f 1646/1729/11962 1623/1705/11963 1620/1704/11964 -f 1621/1707/11965 1622/1706/11966 1616/1700/11967 -f 1616/1700/11968 1617/1703/11969 1621/1707/11970 -f 2019/2103/11971 2126/2209/11972 2095/2181/11973 -f 2095/2181/11974 2098/2182/11975 2019/2103/11976 -f 2110/2193/11977 2098/2182/11978 2095/2181/11979 -f 2095/2181/11980 2096/2180/11981 2110/2193/11982 -f 2123/2204/11983 2124/2206/11984 2126/2209/11985 -f 2126/2209/11986 2127/2210/11987 2123/2204/11988 -f 1610/1694/11989 2125/2208/11990 2100/2207/11991 -f 2100/2207/11992 1609/1695/11993 1610/1694/11994 -f 1624/1708/11995 2125/2208/11996 1610/1694/11997 -f 1610/1694/11998 2123/2204/11999 1624/1708/12000 -f 2127/2210/12001 1626/1709/12002 1624/1708/12003 -f 1624/1708/12004 2123/2204/12005 2127/2210/12006 -f 2019/2103/12007 1626/1709/12008 2127/2210/12009 -f 2127/2210/12010 2126/2209/12011 2019/2103/12012 -f 2094/2178/12013 2095/2181/12014 2126/2209/12015 -f 2126/2209/12016 2124/2206/12017 2094/2178/12018 -f 2128/2350/12019 1611/2351/12020 1608/2485/12021 -f 1608/2485/12022 2129/2349/12023 2128/2350/12024 -f 2130/2352/12025 2124/2353/12026 1611/2351/12027 -f 1611/2351/12028 2128/2350/12029 2130/2352/12030 -f 2131/2354/12031 2094/2355/12032 2124/2353/12033 -f 2124/2353/12034 2130/2352/12035 2131/2354/12036 -f 2132/2356/12037 2097/2346/12038 2094/2355/12039 -f 2094/2355/12040 2131/2354/12041 2132/2356/12042 -f 2133/2357/12043 2113/2344/12044 2097/2346/12045 -f 2097/2346/12046 2132/2356/12047 2133/2357/12048 -f 2134/2358/12049 2103/2332/12050 2113/2344/12051 -f 2113/2344/12052 2133/2357/12053 2134/2358/12054 -f 2135/2359/12055 2102/2333/12056 2103/2332/12057 -f 2103/2332/12058 2134/2358/12059 2135/2359/12060 -f 2136/2360/12061 2106/2338/12062 2102/2333/12063 -f 2102/2333/12064 2135/2359/12065 2136/2360/12066 -f 2138/2361/12067 2137/2362/12068 2106/2338/12069 -f 2106/2338/12070 2136/2360/12071 2138/2361/12072 -f 2099/2329/12073 2140/2364/12074 2139/2363/12075 -f 2139/2363/12076 1608/2330/12077 2099/2329/12078 -f 2107/2339/12079 1630/1712/12080 2106/2338/12081 -f 2106/2338/12082 2137/2362/12083 2107/2339/12084 -f 2142/2365/12085 2141/2366/12086 2128/2350/12087 -f 2128/2350/12088 2129/2349/12089 2142/2365/12090 -f 2143/2367/12091 2130/2352/12092 2128/2350/12093 -f 2128/2350/12094 2141/2366/12095 2143/2367/12096 -f 2143/2367/12097 2144/2368/12098 2131/2354/12099 -f 2131/2354/12100 2130/2352/12101 2143/2367/12102 -f 2144/2368/12103 2145/2369/12104 2132/2356/12105 -f 2132/2356/12106 2131/2354/12107 2144/2368/12108 -f 2145/2369/12109 2146/2370/12110 2133/2357/12111 -f 2133/2357/12112 2132/2356/12113 2145/2369/12114 -f 2147/2371/12115 2134/2358/12116 2133/2357/12117 -f 2133/2357/12118 2146/2370/12119 2147/2371/12120 -f 2148/2372/12121 2135/2359/12122 2134/2358/12123 -f 2134/2358/12124 2147/2371/12125 2148/2372/12126 -f 2149/2373/12127 2136/2360/12128 2135/2359/12129 -f 2135/2359/12130 2148/2372/12131 2149/2373/12132 -f 2149/2373/12133 2150/2374/12134 2138/2361/12135 -f 2138/2361/12136 2136/2360/12137 2149/2373/12138 -f 2150/2374/12139 2142/2500/12140 2129/2494/12141 -f 2129/2494/12142 2138/2361/12143 2150/2374/12144 -f 2118/2202/12145 2120/2203/12146 2031/2113/12147 -f 2031/2113/12148 2027/2112/12149 2118/2202/12150 -f 2025/2109/12151 2032/2116/12152 2054/2138/12153 -f 2054/2138/12154 2122/2211/12155 2025/2109/12156 -f 2054/2296/12157 2058/2292/12158 2121/2347/12159 -f 2121/2347/12160 2122/2348/12161 2054/2296/12162 -f 2153/2598/12163 2152/2228/12164 2151/2225/12165 -f 2151/2225/12166 2154/2226/12167 2153/2598/12168 -f 2155/2230/12169 2152/2228/12170 2153/2598/12171 -f 2153/2598/12172 2156/2229/12173 2155/2230/12174 -f 2158/2231/12175 2157/2232/12176 2155/2230/12177 -f 2155/2230/12178 2156/2229/12179 2158/2231/12180 -f 1416/1499/12181 2160/2234/12182 2159/2233/12183 -f 2159/2233/12184 1417/1500/12185 1416/1499/12186 -f 1415/1498/12187 2161/2235/12188 2160/2234/12189 -f 2160/2234/12190 1416/1499/12191 1415/1498/12192 -f 2162/2236/12193 2161/2235/12194 1415/1498/12195 -f 1415/1498/12196 1414/1497/12197 2162/2236/12198 -f 2163/2237/12199 2162/2236/12200 1414/1497/12201 -f 1414/1497/12202 1413/1496/12203 2163/2237/12204 -f 2164/2238/12205 2163/2237/12206 1413/1496/12207 -f 1413/1496/12208 1427/1510/12209 2164/2238/12210 -f 1427/1510/12211 1424/1507/12212 2165/2239/12213 -f 2165/2239/12214 2164/2238/12215 1427/1510/12216 -f 2154/2597/12217 2151/2596/12218 2166/2240/12219 -f 2166/2240/12220 2167/2241/12221 2154/2597/12222 -f 2099/2329/12223 1632/1718/12224 1633/1717/12225 -f 1633/1717/12226 2140/2364/12227 2099/2329/12228 -f 2168/2375/12229 2140/2364/12230 1633/1717/12231 -f 1633/1717/12232 2021/2275/12233 2168/2375/12234 -f 2021/2275/12235 2020/2274/12236 2107/2339/12237 -f 2107/2339/12238 2168/2375/12239 2021/2275/12240 -f 2169/2376/12241 2139/2363/12242 2140/2364/12243 -f 2140/2364/12244 2168/2375/12245 2169/2376/12246 -f 2170/2377/12247 2129/2494/12248 1608/2330/12249 -f 1608/2330/12250 2139/2363/12251 2170/2377/12252 -f 2138/2361/12253 2129/2494/12254 2170/2377/12255 -f 2170/2377/12256 2171/2378/12257 2138/2361/12258 -f 2169/2376/12259 2171/2378/12260 2170/2377/12261 -f 2170/2377/12262 2139/2363/12263 2169/2376/12264 -f 2137/2362/12265 2138/2361/12266 2171/2378/12267 -f 2171/2378/12268 2169/2376/12269 2137/2362/12270 -f 2168/2375/12271 2107/2339/12272 2137/2362/12273 -f 2137/2362/12274 2169/2376/12275 2168/2375/12276 -f 2166/2240/12277 2150/2243/12278 2149/2242/12279 -f 2149/2242/12280 2164/2238/12281 2166/2240/12282 -f 2163/2237/12283 2164/2238/12284 2149/2242/12285 -f 2149/2242/12286 2148/2244/12287 2163/2237/12288 -f 2162/2236/12289 2163/2237/12290 2148/2244/12291 -f 2148/2244/12292 2147/2245/12293 2162/2236/12294 -f 2161/2235/12295 2162/2236/12296 2147/2245/12297 -f 2147/2245/12298 2146/2246/12299 2161/2235/12300 -f 2160/2234/12301 2161/2235/12302 2146/2246/12303 -f 2146/2246/12304 2145/2247/12305 2160/2234/12306 -f 2157/2232/12307 2158/2231/12308 2159/2233/12309 -f 2159/2233/12310 2160/2234/12311 2157/2232/12312 -f 2143/2249/12313 2155/2230/12314 2157/2232/12315 -f 2157/2232/12316 2144/2248/12317 2143/2249/12318 -f 2141/2250/12319 2152/2228/12320 2155/2230/12321 -f 2155/2230/12322 2143/2249/12323 2141/2250/12324 -f 2151/2225/12325 2152/2228/12326 2141/2250/12327 -f 2141/2250/12328 2142/2251/12329 2151/2225/12330 -f 2150/2243/12331 2166/2240/12332 2151/2596/12333 -f 2151/2596/12334 2142/2599/12335 2150/2243/12336 -f 1423/1506/12337 2167/2241/12338 2165/2239/12339 -f 2165/2239/12340 1424/1507/12341 1423/1506/12342 -f 1421/1504/12343 2154/2597/12344 2167/2241/12345 -f 2167/2241/12346 1423/1506/12347 1421/1504/12348 -f 1420/2594/12349 2153/2227/12350 2154/2597/12351 -f 2154/2597/12352 1421/1504/12353 1420/2594/12354 -f 2156/2229/12355 2153/2598/12356 1420/1503/12357 -f 1420/1503/12358 1419/1502/12359 2156/2229/12360 -f 2158/2231/12361 2156/2229/12362 1419/1502/12363 -f 1419/1502/12364 1418/1501/12365 2158/2231/12366 -f 1417/1500/12367 2159/2233/12368 2158/2231/12369 -f 2158/2231/12370 1418/1501/12371 1417/1500/12372 -f 2166/2240/12373 2164/2238/12374 2165/2239/12375 -f 2165/2239/12376 2167/2241/12377 2166/2240/12378 -f 2157/2232/12379 2160/2234/12380 2145/2247/12381 -f 2145/2247/12382 2144/2248/12383 2157/2232/12384 -f 1489/2528/12385 1315/1558/12386 1316/1557/12387 -f 1316/1557/12388 1309/1550/12389 1489/2528/12390 -f 1550/1633/12391 1323/1406/12392 1324/1405/12393 -f 1324/1405/12394 1545/1628/12395 1550/1633/12396 -f 1525/1609/12397 1526/1608/12398 1555/1638/12399 -f 1555/1638/12400 1529/1614/12401 1525/1609/12402 -f 1527/1610/12403 1525/2614/12404 1529/2616/12405 -f 1529/2616/12406 1530/1613/12407 1527/1610/12408 -f 1296/1378/12409 1527/1610/12410 1534/1617/12411 -f 1534/1617/12412 1293/1377/12413 1296/1378/12414 -f 1293/1377/12415 1534/1617/12416 1537/1620/12417 -f 1537/1620/12418 1292/479/12419 1293/1377/12420 -f 1292/479/12421 1537/1620/12422 1540/1623/12423 -f 1540/1623/12424 1506/1425/12425 1292/479/12426 -f 1506/1425/12427 1540/1623/12428 1543/1626/12429 -f 1543/1626/12430 1507/1589/12431 1506/1425/12432 -f 1507/1589/12433 1543/1626/12434 1324/1405/12435 -f 1324/1405/12436 1322/1381/12437 1507/1589/12438 -f 1556/1639/12439 1526/1608/12440 1523/1606/12441 -f 1523/1606/12442 1522/1605/12443 1556/1639/12444 -f 1323/1406/12445 1556/1639/12446 1522/1605/12447 -f 1522/1605/12448 1321/1403/12449 1323/1406/12450 -f 1509/1591/12451 1322/1381/12452 1319/1380/12453 -f 1319/1380/12454 1510/1593/12455 1509/1591/12456 -f 1546/1630/12457 1547/1629/12458 1575/1659/12459 -f 1575/1659/12460 2172/2256/12461 1546/1630/12462 -f 1549/1631/12463 1546/1630/12464 2172/2256/12465 -f 2172/2256/12466 2173/2257/12467 1549/1631/12468 -f 2174/2258/12469 1552/1634/12470 1549/1631/12471 -f 1549/1631/12472 2173/2257/12473 2174/2258/12474 -f 1562/1643/12475 1557/1640/12476 1552/1634/12477 -f 1552/1634/12478 2174/2258/12479 1562/1643/12480 -f 1559/2618/12481 1558/1641/12482 1557/1640/12483 -f 1557/1640/12484 1562/1643/12485 1559/2618/12486 -f 1558/2617/12487 1565/1648/12488 1531/1612/12489 -f 1531/1612/12490 1528/1611/12491 1558/2617/12492 -f 1531/1612/12493 1565/1648/12494 1568/1651/12495 -f 1568/1651/12496 1532/1615/12497 1531/1612/12498 -f 1532/1615/12499 1568/1651/12500 1571/1654/12501 -f 1571/1654/12502 1535/1618/12503 1532/1615/12504 -f 1535/1618/12505 1571/1654/12506 1574/1657/12507 -f 1574/1657/12508 1538/1621/12509 1535/1618/12510 -f 1538/1621/12511 1574/1657/12512 1547/1629/12513 -f 1547/1629/12514 1541/1624/12515 1538/1621/12516 -f 1560/1645/12517 1561/1644/12518 1591/1674/12519 -f 1591/1674/12520 1593/1675/12521 1560/1645/12522 -f 1564/1646/12523 1560/2619/12524 1593/2620/12525 -f 1593/2620/12526 1595/1677/12527 1564/1646/12528 -f 1567/1649/12529 1564/1646/12530 1595/1677/12531 -f 1595/1677/12532 1597/1679/12533 1567/1649/12534 -f 1570/1652/12535 1567/1649/12536 1597/1679/12537 -f 1597/1679/12538 1599/1681/12539 1570/1652/12540 -f 1578/1663/12541 1573/1655/12542 1570/1652/12543 -f 1570/1652/12544 1599/1681/12545 1578/1663/12546 -f 1579/1662/12547 1576/1658/12548 1573/1655/12549 -f 1573/1655/12550 1578/1663/12551 1579/1662/12552 -f 1575/1659/12553 1576/1658/12554 1583/1666/12555 -f 1583/1666/12556 2172/2256/12557 1575/1659/12558 -f 2172/2256/12559 1583/1666/12560 1586/1669/12561 -f 1586/1669/12562 2173/2257/12563 2172/2256/12564 -f 2173/2257/12565 1586/1669/12566 1589/1672/12567 -f 1589/1672/12568 2174/2258/12569 2173/2257/12570 -f 1589/1672/12571 1561/1644/12572 1562/1643/12573 -f 1562/1643/12574 2174/2258/12575 1589/1672/12576 -f 608/2569/12577 609/2573/12578 447/531/12579 -f 447/531/12580 448/530/12581 608/2569/12582 -f 609/2573/12583 611/695/12584 610/694/12585 -f 610/694/12586 447/531/12587 609/2573/12588 -f 614/700/12589 446/532/12590 447/531/12591 -f 447/531/12592 610/694/12593 614/700/12594 -f 2175/2622/12595 2176/2623/12596 2177/2626/12597 -f 2177/2626/12598 2178/2629/12599 2175/2622/12600 -f 2330/2806/12601 2331/2807/12602 2179/2646/12603 -f 2179/2646/12604 2180/2647/12605 2330/2806/12606 -f 2181/2624/12607 2179/2625/12608 2331/2808/12609 -f 2331/2808/12610 2332/2809/12611 2181/2624/12612 -f 2181/2624/12613 2332/2809/12614 2333/2810/12615 -f 2333/2810/12616 2184/2631/12617 2181/2624/12618 -f 2185/2632/12619 2183/2630/12620 2182/2628/12621 -f 2182/2628/12622 2186/2633/12623 2185/2632/12624 -f 2187/2634/12625 2188/2635/12626 2183/2630/12627 -f 2183/2630/12628 2185/2632/12629 2187/2634/12630 -f 2189/2636/12631 2190/2637/12632 2187/2634/12633 -f 2187/2634/12634 2191/2638/12635 2189/2636/12636 -f 2189/2649/12637 2192/2657/12638 2193/2659/12639 -f 2193/2659/12640 2194/2661/12641 2189/2649/12642 -f 2192/2657/12643 2195/2662/12644 2196/2663/12645 -f 2196/2663/12646 2193/2659/12647 2192/2657/12648 -s 2 -f 2195/2639/12649 2197/2640/12650 2198/2641/12651 -f 2198/2641/12652 2199/2642/12653 2195/2639/12654 -s 1 -f 2192/2643/12655 2200/2644/12656 2197/2640/12657 -f 2197/2640/12658 2195/2639/12659 2192/2643/12660 -s 2 -f 2201/2645/12661 2202/2648/12662 2198/2641/12663 -f 2198/2641/12664 2197/2640/12665 2201/2645/12666 -s 1 -f 2200/2644/12667 2203/2650/12668 2201/2645/12669 -f 2201/2645/12670 2197/2640/12671 2200/2644/12672 -s 2 -f 2196/2663/12673 2195/2662/12674 2199/2664/12675 -f 2199/2664/12676 2204/2665/12677 2196/2663/12678 -s 1 -f 2205/2666/12679 2206/2667/12680 2204/2665/12681 -f 2204/2665/12682 2199/2664/12683 2205/2666/12684 -f 2198/2641/12685 2207/2651/12686 2205/2652/12687 -f 2205/2652/12688 2199/2642/12689 2198/2641/12690 -f 2194/2661/12691 2193/2659/12692 2208/2668/12693 -f 2208/2668/12694 2209/2669/12695 2194/2661/12696 -f 2194/2661/12697 2210/2670/12698 2190/2687/12699 -f 2190/2687/12700 2189/2649/12701 2194/2661/12702 -f 2209/2669/12703 2211/2688/12704 2210/2670/12705 -f 2210/2670/12706 2194/2661/12707 2209/2669/12708 -f 2212/2690/12709 2208/2668/12710 2193/2659/12711 -f 2193/2659/12712 2196/2663/12713 2212/2690/12714 -f 2213/2691/12715 2214/2692/12716 2209/2669/12717 -f 2209/2669/12718 2208/2668/12719 2213/2691/12720 -f 2213/2691/12721 2208/2668/12722 2212/2690/12723 -f 2212/2690/12724 2215/2693/12725 2213/2691/12726 -f 2189/2636/12727 2191/2638/12728 2200/2644/12729 -f 2200/2644/12730 2192/2643/12731 2189/2636/12732 -f 2191/2638/12733 2216/2653/12734 2203/2650/12735 -f 2203/2650/12736 2200/2644/12737 2191/2638/12738 -f 2216/2653/12739 2217/2654/12740 2218/2655/12741 -f 2218/2655/12742 2203/2650/12743 2216/2653/12744 -f 2217/2654/12745 2216/2653/12746 2185/2632/12747 -f 2185/2632/12748 2186/2633/12749 2217/2654/12750 -f 2185/2632/12751 2216/2653/12752 2191/2638/12753 -f 2191/2638/12754 2187/2634/12755 2185/2632/12756 -f 2219/2656/12757 2188/2635/12758 2187/2634/12759 -f 2187/2634/12760 2190/2637/12761 2219/2656/12762 -f 2335/2812/12763 2220/2658/12764 2221/2660/12765 -f 2221/2660/12766 2334/2811/12767 2335/2812/12768 -s 2 -f 2220/2694/12769 2222/2695/12770 2223/2696/12771 -f 2223/2696/12772 2224/2697/12773 2220/2694/12774 -s 1 -f 2335/2813/12775 2336/2814/12776 2222/2695/12777 -f 2222/2695/12778 2220/2694/12779 2335/2813/12780 -f 2226/2740/12781 2227/2757/12782 2222/2695/12783 -f 2222/2695/12784 2336/2814/12785 2226/2740/12786 -f 2210/2670/12787 2211/2688/12788 2337/2815/12789 -f 2337/2815/12790 2225/2699/12791 2210/2670/12792 -f 2190/2687/12793 2210/2670/12794 2225/2699/12795 -f 2225/2699/12796 2219/2698/12797 2190/2687/12798 -s 4 -f 2227/2757/12799 2228/2759/12800 2223/2696/12801 -f 2223/2696/12802 2222/2695/12803 2227/2757/12804 -s 8 -f 2228/2759/12805 2227/2757/12806 2180/2647/12807 -f 2180/2647/12808 2229/2760/12809 2228/2759/12810 -s 2 -f 2230/2671/12811 2221/2660/12812 2220/2658/12813 -f 2220/2658/12814 2224/2672/12815 2230/2671/12816 -f 2221/2660/12817 2230/2671/12818 2231/2673/12819 -f 2231/2673/12820 2184/2631/12821 2221/2660/12822 -s 1 -f 2334/2811/12823 2221/2660/12824 2184/2631/12825 -f 2184/2631/12826 2333/2810/12827 2334/2811/12828 -f 2177/2674/12829 2186/2633/12830 2182/2628/12831 -f 2182/2628/12832 2178/2627/12833 2177/2674/12834 -f 2232/2675/12835 2186/2633/12836 2177/2674/12837 -f 2177/2674/12838 2233/2676/12839 2232/2675/12840 -f 2232/2675/12841 2234/2677/12842 2217/2654/12843 -f 2217/2654/12844 2186/2633/12845 2232/2675/12846 -f 2235/2678/12847 2236/2679/12848 2234/2677/12849 -f 2234/2677/12850 2237/2680/12851 2235/2678/12852 -f 2235/2678/12853 2238/2681/12854 2239/2682/12855 -f 2239/2682/12856 2240/2683/12857 2235/2678/12858 -f 2239/2682/12859 2238/2681/12860 2241/2684/12861 -f 2241/2684/12862 2242/2685/12863 2239/2682/12864 -s 2 -f 2239/2682/12865 2243/2686/12866 2244/2689/12867 -f 2244/2689/12868 2240/2683/12869 2239/2682/12870 -f 2243/2686/12871 2239/2682/12872 2242/2685/12873 -f 2242/2685/12874 2245/2700/12875 2243/2686/12876 -s 1 -f 2238/2681/12877 2246/2701/12878 2247/2702/12879 -f 2247/2702/12880 2241/2684/12881 2238/2681/12882 -f 2241/2684/12883 2248/2703/12884 2249/2704/12885 -f 2249/2704/12886 2242/2685/12887 2241/2684/12888 -f 2247/2702/12889 2250/2705/12890 2248/2703/12891 -f 2248/2703/12892 2241/2684/12893 2247/2702/12894 -f 2237/2680/12895 2246/2701/12896 2238/2681/12897 -f 2238/2681/12898 2235/2678/12899 2237/2680/12900 -f 2251/2706/12901 2252/2707/12902 2246/2701/12903 -f 2246/2701/12904 2237/2680/12905 2251/2706/12906 -f 2234/2677/12907 2232/2675/12908 2251/2706/12909 -f 2251/2706/12910 2237/2680/12911 2234/2677/12912 -f 2236/2679/12913 2235/2678/12914 2240/2683/12915 -f 2240/2683/12916 2253/2708/12917 2236/2679/12918 -f 2217/2654/12919 2234/2677/12920 2236/2679/12921 -f 2236/2679/12922 2218/2655/12923 2217/2654/12924 -f 2236/2679/12925 2253/2708/12926 2254/2709/12927 -f 2254/2709/12928 2218/2655/12929 2236/2679/12930 -s 2 -f 2254/2709/12931 2253/2708/12932 2255/2710/12933 -f 2255/2710/12934 2256/2711/12935 2254/2709/12936 -f 2240/2683/12937 2244/2689/12938 2255/2710/12939 -f 2255/2710/12940 2253/2708/12941 2240/2683/12942 -s 1 -f 2233/2676/12943 2257/2712/12944 2251/2706/12945 -f 2251/2706/12946 2232/2675/12947 2233/2676/12948 -f 2257/2741/12949 2233/2742/12950 2258/2743/12951 -f 2258/2743/12952 2259/2744/12953 2257/2741/12954 -s 2 -f 2251/2706/12955 2257/2712/12956 2260/2713/12957 -f 2260/2713/12958 2261/2714/12959 2251/2706/12960 -s 1 -f 2262/2745/12961 2263/2746/12962 2322/2796/12963 -f 2322/2796/12964 2324/2799/12965 2262/2745/12966 -s 2 -f 2262/2745/12967 2265/2749/12968 2266/2750/12969 -f 2266/2750/12970 2263/2746/12971 2262/2745/12972 -f 2265/2749/12973 2262/2745/12974 2267/2751/12975 -f 2267/2751/12976 2268/2752/12977 2265/2749/12978 -s 1 -f 2324/2799/12979 2325/2800/12980 2267/2751/12981 -f 2267/2751/12982 2262/2745/12983 2324/2799/12984 -f 2259/2744/12985 2264/2748/12986 2260/2747/12987 -f 2260/2747/12988 2257/2741/12989 2259/2744/12990 -f 2259/2744/12991 2270/2754/12992 2269/2753/12993 -f 2269/2753/12994 2264/2748/12995 2259/2744/12996 -f 2259/2744/12997 2271/2755/12998 2272/2756/12999 -f 2272/2756/13000 2270/2754/13001 2259/2744/13002 -f 2273/2758/13003 2271/2755/13004 2259/2744/13005 -f 2259/2744/13006 2258/2743/13007 2273/2758/13008 -f 2274/2715/13009 2323/2798/13010 2322/2797/13011 -f 2322/2797/13012 2263/2716/13013 2274/2715/13014 -s 2 -f 2274/2715/13015 2275/2717/13016 2276/2718/13017 -f 2276/2718/13018 2277/2719/13019 2274/2715/13020 -s 4 -f 2275/2717/13021 2274/2715/13022 2263/2716/13023 -f 2263/2716/13024 2266/2720/13025 2275/2717/13026 -s 1 -f 2323/2798/13027 2274/2715/13028 2277/2719/13029 -f 2277/2719/13030 2326/2801/13031 2323/2798/13032 -f 2177/2626/13033 2176/2623/13034 2258/2743/13035 -f 2258/2743/13036 2233/2742/13037 2177/2626/13038 -s 8 -f 2279/2722/13039 2280/2723/13040 2179/2625/13041 -f 2179/2625/13042 2181/2624/13043 2279/2722/13044 -s 2 -f 2184/2631/13045 2231/2673/13046 2279/2722/13047 -f 2279/2722/13048 2181/2624/13049 2184/2631/13050 -s 8 -f 2280/2761/13051 2229/2760/13052 2180/2647/13053 -f 2180/2647/13054 2179/2646/13055 2280/2761/13056 -s 1 -f 2176/2623/13057 2175/2622/13058 2337/2815/13059 -f 2337/2815/13060 2211/2688/13061 2176/2623/13062 -f 2227/2757/13063 2226/2740/13064 2330/2806/13065 -f 2330/2806/13066 2180/2647/13067 2227/2757/13068 -f 2214/2692/13069 2273/2758/13070 2258/2743/13071 -f 2258/2743/13072 2176/2623/13073 2214/2692/13074 -f 2176/2623/13075 2211/2688/13076 2209/2669/13077 -f 2209/2669/13078 2214/2692/13079 2176/2623/13080 -f 2214/2692/13081 2213/2691/13082 2281/2762/13083 -f 2281/2762/13084 2273/2758/13085 2214/2692/13086 -f 2281/2762/13087 2282/2765/13088 2271/2755/13089 -f 2271/2755/13090 2273/2758/13091 2281/2762/13092 -f 2282/2765/13093 2283/2766/13094 2284/2767/13095 -f 2284/2767/13096 2285/2768/13097 2282/2765/13098 -s 2 -f 2283/2766/13099 2286/2769/13100 2287/2772/13101 -f 2287/2772/13102 2284/2767/13103 2283/2766/13104 -s 1 -f 2286/2769/13105 2288/2763/13106 2289/2771/13107 -f 2289/2771/13108 2290/2776/13109 2286/2769/13110 -f 2288/2763/13111 2291/2764/13112 2292/2770/13113 -f 2292/2770/13114 2289/2771/13115 2288/2763/13116 -f 2293/2773/13117 2294/2774/13118 2292/2770/13119 -f 2292/2770/13120 2291/2764/13121 2293/2773/13122 -f 2294/2774/13123 2293/2773/13124 2204/2665/13125 -f 2204/2665/13126 2206/2667/13127 2294/2774/13128 -s 2 -f 2212/2690/13129 2196/2663/13130 2204/2665/13131 -f 2204/2665/13132 2293/2773/13133 2212/2690/13134 -f 2215/2693/13135 2212/2690/13136 2293/2773/13137 -f 2293/2773/13138 2291/2764/13139 2215/2693/13140 -f 2215/2693/13141 2291/2764/13142 2288/2763/13143 -f 2288/2763/13144 2295/2775/13145 2215/2693/13146 -f 2288/2763/13147 2286/2769/13148 2283/2766/13149 -f 2283/2766/13150 2295/2775/13151 2288/2763/13152 -s 1 -f 2213/2691/13153 2215/2693/13154 2295/2775/13155 -f 2295/2775/13156 2281/2762/13157 2213/2691/13158 -f 2281/2762/13159 2295/2775/13160 2283/2766/13161 -f 2283/2766/13162 2282/2765/13163 2281/2762/13164 -f 2287/2772/13165 2286/2769/13166 2290/2776/13167 -f 2290/2776/13168 2296/2777/13169 2287/2772/13170 -s 2 -f 2287/2772/13171 2297/2778/13172 2298/2779/13173 -f 2298/2779/13174 2284/2767/13175 2287/2772/13176 -f 2298/2779/13177 2297/2778/13178 2299/2780/13179 -f 2299/2780/13180 2249/2781/13181 2298/2779/13182 -s 1 -f 2298/2779/13183 2300/2782/13184 2285/2768/13185 -f 2285/2768/13186 2284/2767/13187 2298/2779/13188 -f 2298/2779/13189 2249/2781/13190 2248/2783/13191 -f 2248/2783/13192 2300/2782/13193 2298/2779/13194 -f 2300/2782/13195 2301/2784/13196 2272/2756/13197 -f 2272/2756/13198 2285/2768/13199 2300/2782/13200 -f 2301/2784/13201 2300/2782/13202 2248/2783/13203 -f 2248/2783/13204 2250/2785/13205 2301/2784/13206 -f 2270/2754/13207 2272/2756/13208 2301/2784/13209 -f 2301/2784/13210 2302/2786/13211 2270/2754/13212 -f 2250/2785/13213 2303/2787/13214 2302/2786/13215 -f 2302/2786/13216 2301/2784/13217 2250/2785/13218 -f 2271/2755/13219 2282/2765/13220 2285/2768/13221 -f 2285/2768/13222 2272/2756/13223 2271/2755/13224 -s 2 -f 2242/2685/13225 2249/2704/13226 2299/2724/13227 -f 2299/2724/13228 2245/2700/13229 2242/2685/13230 -s 1 -f 2304/2725/13231 2245/2700/13232 2299/2724/13233 -f 2299/2724/13234 2305/2726/13235 2304/2725/13236 -f 2306/2727/13237 2243/2686/13238 2245/2700/13239 -f 2245/2700/13240 2304/2725/13241 2306/2727/13242 -f 2244/2689/13243 2243/2686/13244 2306/2727/13245 -f 2306/2727/13246 2307/2728/13247 2244/2689/13248 -f 2299/2780/13249 2297/2778/13250 2308/2788/13251 -f 2308/2788/13252 2305/2789/13253 2299/2780/13254 -f 2287/2772/13255 2296/2777/13256 2308/2788/13257 -f 2308/2788/13258 2297/2778/13259 2287/2772/13260 -f 2254/2709/13261 2201/2645/13262 2203/2650/13263 -f 2203/2650/13264 2218/2655/13265 2254/2709/13266 -s 2 -f 2254/2709/13267 2256/2711/13268 2202/2648/13269 -f 2202/2648/13270 2201/2645/13271 2254/2709/13272 -s 1 -f 2261/2714/13273 2278/2721/13274 2252/2707/13275 -f 2252/2707/13276 2251/2706/13277 2261/2714/13278 -f 2309/2729/13279 2326/2801/13280 2277/2719/13281 -f 2277/2719/13282 2310/2730/13283 2309/2729/13284 -f 2278/2721/13285 2327/2802/13286 2311/2731/13287 -f 2311/2731/13288 2252/2707/13289 2278/2721/13290 -f 2247/2702/13291 2246/2701/13292 2252/2707/13293 -f 2252/2707/13294 2311/2731/13295 2247/2702/13296 -f 2303/2732/13297 2250/2705/13298 2247/2702/13299 -f 2247/2702/13300 2311/2731/13301 2303/2732/13302 -f 2312/2733/13303 2303/2732/13304 2311/2731/13305 -f 2311/2731/13306 2327/2802/13307 2312/2733/13308 -f 2328/2803/13309 2313/2791/13310 2314/2792/13311 -f 2314/2792/13312 2329/2805/13313 2328/2803/13314 -s 4 -f 2316/2794/13315 2317/2795/13316 2314/2792/13317 -f 2314/2792/13318 2313/2791/13319 2316/2794/13320 -f 2318/2734/13321 2316/2735/13322 2313/2736/13323 -f 2313/2736/13324 2310/2730/13325 2318/2734/13326 -f 2276/2718/13327 2318/2734/13328 2310/2730/13329 -f 2310/2730/13330 2277/2719/13331 2276/2718/13332 -s 1 -f 2328/2804/13333 2309/2729/13334 2310/2730/13335 -f 2310/2730/13336 2313/2736/13337 2328/2804/13338 -s 8 -f 2314/2792/13339 2317/2795/13340 2268/2752/13341 -f 2268/2752/13342 2267/2751/13343 2314/2792/13344 -s 1 -f 2325/2800/13345 2329/2805/13346 2314/2792/13347 -f 2314/2792/13348 2267/2751/13349 2325/2800/13350 -f 2302/2786/13351 2303/2787/13352 2312/2790/13353 -f 2312/2790/13354 2315/2793/13355 2302/2786/13356 -f 2315/2793/13357 2269/2753/13358 2270/2754/13359 -f 2270/2754/13360 2302/2786/13361 2315/2793/13362 -f 2319/2737/13363 2255/2710/13364 2244/2689/13365 -f 2244/2689/13366 2307/2728/13367 2319/2737/13368 -f 2320/2738/13369 2256/2711/13370 2255/2710/13371 -f 2255/2710/13372 2319/2737/13373 2320/2738/13374 -f 2256/2711/13375 2320/2738/13376 2321/2739/13377 -f 2321/2739/13378 2202/2648/13379 2256/2711/13380 -f 2321/2739/13381 2207/2651/13382 2198/2641/13383 -f 2198/2641/13384 2202/2648/13385 2321/2739/13386 -f 2260/2713/13387 2322/2797/13388 2323/2798/13389 -f 2323/2798/13390 2261/2714/13391 2260/2713/13392 -f 2322/2796/13393 2260/2747/13394 2264/2748/13395 -f 2264/2748/13396 2324/2799/13397 2322/2796/13398 -f 2324/2799/13399 2264/2748/13400 2269/2753/13401 -f 2269/2753/13402 2325/2800/13403 2324/2799/13404 -f 2326/2801/13405 2278/2721/13406 2261/2714/13407 -f 2261/2714/13408 2323/2798/13409 2326/2801/13410 -f 2309/2729/13411 2327/2802/13412 2278/2721/13413 -f 2278/2721/13414 2326/2801/13415 2309/2729/13416 -f 2327/2802/13417 2309/2729/13418 2328/2804/13419 -f 2328/2804/13420 2312/2733/13421 2327/2802/13422 -f 2329/2805/13423 2315/2793/13424 2312/2790/13425 -f 2312/2790/13426 2328/2803/13427 2329/2805/13428 -f 2325/2800/13429 2269/2753/13430 2315/2793/13431 -f 2315/2793/13432 2329/2805/13433 2325/2800/13434 -f 2178/2629/13435 2331/2807/13436 2330/2806/13437 -f 2330/2806/13438 2175/2622/13439 2178/2629/13440 -f 2331/2808/13441 2178/2627/13442 2182/2628/13443 -f 2182/2628/13444 2332/2809/13445 2331/2808/13446 -f 2332/2809/13447 2182/2628/13448 2183/2630/13449 -f 2183/2630/13450 2333/2810/13451 2332/2809/13452 -f 2188/2635/13453 2334/2811/13454 2333/2810/13455 -f 2333/2810/13456 2183/2630/13457 2188/2635/13458 -f 2219/2656/13459 2335/2812/13460 2334/2811/13461 -f 2334/2811/13462 2188/2635/13463 2219/2656/13464 -f 2335/2813/13465 2219/2698/13466 2225/2699/13467 -f 2225/2699/13468 2336/2814/13469 2335/2813/13470 -f 2336/2814/13471 2225/2699/13472 2337/2815/13473 -f 2337/2815/13474 2226/2740/13475 2336/2814/13476 -f 2175/2622/13477 2330/2806/13478 2226/2740/13479 -f 2226/2740/13480 2337/2815/13481 2175/2622/13482 -f 2340/2818/13483 2341/2819/13484 2338/2816/13485 -f 2338/2816/13486 2339/2817/13487 2340/2818/13488 -f 2426/2820/13489 2427/2821/13490 2344/2822/13491 -f 2344/2822/13492 2338/2816/13493 2426/2820/13494 -f 2346/2825/13495 2347/2826/13496 2448/2823/13497 -f 2448/2823/13498 2450/2824/13499 2346/2825/13500 -f 2451/2827/13501 2349/2828/13502 2346/2825/13503 -f 2346/2825/13504 2450/2824/13505 2451/2827/13506 -f 2428/2830/13507 2429/2831/13508 2348/2832/13509 -f 2348/2832/13510 2345/2829/13511 2428/2830/13512 -f 2351/2833/13513 2350/2834/13514 2341/2819/13515 -f 2341/2819/13516 2340/2818/13517 2351/2833/13518 -f 2352/2835/13519 2353/2836/13520 2350/2834/13521 -f 2350/2834/13522 2351/2833/13523 2352/2835/13524 -f 2350/2834/13525 2353/2836/13526 2430/2837/13527 -f 2430/2837/13528 2429/2831/13529 2350/2834/13530 -f 2354/2838/13531 2430/2837/13532 2431/2839/13533 -f 2431/2839/13534 2356/2840/13535 2354/2838/13536 -f 2357/2842/13537 2349/2828/13538 2451/2827/13539 -f 2451/2827/13540 2452/2841/13541 2357/2842/13542 -f 2358/2844/13543 2357/2842/13544 2452/2841/13545 -f 2452/2841/13546 2453/2843/13547 2358/2844/13548 -f 2432/2846/13549 2431/2839/13550 2355/2847/13551 -f 2355/2847/13552 2359/2845/13553 2432/2846/13554 -f 2362/2849/13555 2363/2850/13556 2359/2845/13557 -f 2359/2845/13558 2361/2848/13559 2362/2849/13560 -f 2361/2848/13561 2359/2845/13562 2355/2847/13563 -f 2355/2847/13564 2364/2851/13565 2361/2848/13566 -f 2365/2852/13567 2360/2853/13568 2432/2846/13569 -f 2432/2846/13570 2433/2854/13571 2365/2852/13572 -f 2355/2847/13573 2353/2836/13574 2352/2835/13575 -f 2352/2835/13576 2364/2851/13577 2355/2847/13578 -f 2345/2829/13579 2342/2855/13580 2426/2820/13581 -f 2426/2820/13582 2428/2830/13583 2345/2829/13584 -f 2366/2856/13585 2343/2857/13586 2448/2823/13587 -f 2448/2823/13588 2347/2826/13589 2366/2856/13590 -f 2368/2859/13591 2343/2857/13592 2366/2856/13593 -f 2366/2856/13594 2367/2858/13595 2368/2859/13596 -f 2370/2861/13597 2368/2859/13598 2367/2858/13599 -f 2367/2858/13600 2369/2860/13601 2370/2861/13602 -f 2371/2862/13603 2372/2863/13604 2370/2861/13605 -f 2370/2861/13606 2369/2860/13607 2371/2862/13608 -f 2434/2865/13609 2435/2866/13610 2456/2867/13611 -f 2456/2867/13612 2457/2864/13613 2434/2865/13614 -f 2458/2868/13615 2436/2869/13616 2434/2865/13617 -f 2434/2865/13618 2457/2864/13619 2458/2868/13620 -f 2459/2870/13621 2437/2871/13622 2436/2869/13623 -f 2436/2869/13624 2458/2868/13625 2459/2870/13626 -f 2379/2874/13627 2380/2875/13628 2378/2872/13629 -f 2378/2872/13630 2376/2873/13631 2379/2874/13632 -f 2371/2862/13633 2379/2874/13634 2376/2873/13635 -f 2376/2873/13636 2372/2863/13637 2371/2862/13638 -f 2377/2876/13639 2437/2871/13640 2438/2877/13641 -f 2438/2877/13642 2381/2878/13643 2377/2876/13644 -f 2382/2880/13645 2383/2881/13646 2375/2879/13647 -f 2375/2879/13648 2377/2876/13649 2382/2880/13650 -f 2375/2879/13651 2383/2881/13652 2384/2882/13653 -f 2384/2882/13654 2373/2883/13655 2375/2879/13656 -f 2384/2882/13657 2385/2885/13658 2374/2884/13659 -f 2374/2884/13660 2373/2883/13661 2384/2882/13662 -f 2386/2886/13663 2344/2822/13664 2374/2884/13665 -f 2374/2884/13666 2385/2885/13667 2386/2886/13668 -f 2344/2822/13669 2386/2886/13670 2339/2817/13671 -f 2339/2817/13672 2338/2816/13673 2344/2822/13674 -f 2449/2887/13675 2456/2867/13676 2435/2866/13677 -f 2435/2866/13678 2427/2821/13679 2449/2887/13680 -f 2454/2888/13681 2387/2889/13682 2358/2844/13683 -f 2358/2844/13684 2453/2843/13685 2454/2888/13686 -f 2388/2891/13687 2387/2889/13688 2454/2888/13689 -f 2454/2888/13690 2455/2890/13691 2388/2891/13692 -f 2390/2893/13693 2388/2953/13694 2455/2952/13695 -f 2455/2952/13696 2461/2892/13697 2390/2893/13698 -f 2392/2895/13699 2390/2893/13700 2461/2892/13701 -f 2461/2892/13702 2462/2894/13703 2392/2895/13704 -f 2392/2895/13705 2462/2894/13706 2463/2896/13707 -f 2463/2896/13708 2394/2897/13709 2392/2895/13710 -f 2394/2897/13711 2463/2896/13712 2464/2898/13713 -f 2464/2898/13714 2396/2899/13715 2394/2897/13716 -f 2396/2899/13717 2464/2898/13718 2465/2900/13719 -f 2465/2900/13720 2398/2901/13721 2396/2899/13722 -f 2400/2903/13723 2398/2901/13724 2465/2900/13725 -f 2465/2900/13726 2466/2902/13727 2400/2903/13728 -f 2402/2905/13729 2439/2906/13730 2440/2907/13731 -f 2440/2907/13732 2401/2904/13733 2402/2905/13734 -f 2403/2908/13735 2404/2909/13736 2402/2905/13737 -f 2402/2905/13738 2401/2904/13739 2403/2908/13740 -f 2405/2910/13741 2441/2911/13742 2439/2906/13743 -f 2439/2906/13744 2402/2905/13745 2405/2910/13746 -f 2405/2910/13747 2402/2905/13748 2404/2909/13749 -f 2404/2909/13750 2407/2912/13751 2405/2910/13752 -f 2409/2914/13753 2403/2908/13754 2401/2904/13755 -f 2401/2904/13756 2408/2913/13757 2409/2914/13758 -f 2442/2916/13759 2440/2907/13760 2397/2917/13761 -f 2397/2917/13762 2395/2915/13763 2442/2916/13764 -f 2467/2918/13765 2410/2919/13766 2400/2903/13767 -f 2400/2903/13768 2466/2902/13769 2467/2918/13770 -f 2412/2921/13771 2410/2919/13772 2467/2918/13773 -f 2467/2918/13774 2468/2920/13775 2412/2921/13776 -f 2413/2922/13777 2414/2923/13778 2412/2921/13779 -f 2412/2921/13780 2468/2920/13781 2413/2922/13782 -f 2416/2925/13783 2443/2926/13784 2444/2927/13785 -f 2444/2927/13786 2415/2924/13787 2416/2925/13788 -f 2406/2929/13789 2441/2911/13790 2444/2927/13791 -f 2444/2927/13792 2411/2928/13793 2406/2929/13794 -f 2417/2930/13795 2408/2913/13796 2442/2916/13797 -f 2442/2916/13798 2445/2931/13799 2417/2930/13800 -f 2445/2931/13801 2446/2932/13802 2418/2933/13803 -f 2418/2933/13804 2417/2930/13805 2445/2931/13806 -f 2420/2935/13807 2417/2930/13808 2418/2933/13809 -f 2418/2933/13810 2419/2934/13811 2420/2935/13812 -f 2422/2937/13813 2419/2934/13814 2418/2933/13815 -f 2418/2933/13816 2421/2936/13817 2422/2937/13818 -f 2421/2936/13819 2418/2933/13820 2446/2932/13821 -f 2446/2932/13822 2447/2938/13823 2421/2936/13824 -f 2363/2949/13825 2362/2948/13826 2422/2937/13827 -f 2422/2937/13828 2421/2936/13829 2363/2949/13830 -f 2433/2951/13831 2447/2938/13832 2389/2939/13833 -f 2389/2939/13834 2365/2950/13835 2433/2951/13836 -f 2409/2914/13837 2408/2913/13838 2417/2930/13839 -f 2417/2930/13840 2420/2935/13841 2409/2914/13842 -f 2405/2910/13843 2407/2912/13844 2423/2940/13845 -f 2423/2940/13846 2415/2924/13847 2405/2910/13848 -f 2423/2940/13849 2424/2941/13850 2416/2925/13851 -f 2416/2925/13852 2415/2924/13853 2423/2940/13854 -f 2425/2942/13855 2381/2957/13856 2416/2925/13857 -f 2416/2925/13858 2424/2941/13859 2425/2942/13860 -f 2377/2876/13861 2381/2878/13862 2425/2958/13863 -f 2425/2958/13864 2382/2880/13865 2377/2876/13866 -f 2381/2957/13867 2438/2956/13868 2443/2926/13869 -f 2443/2926/13870 2416/2925/13871 2381/2957/13872 -f 2378/2954/13873 2380/2955/13874 2414/2923/13875 -f 2414/2923/13876 2413/2922/13877 2378/2954/13878 -f 2342/2855/13879 2449/2887/13880 2427/2821/13881 -f 2427/2821/13882 2426/2820/13883 2342/2855/13884 -f 2341/2819/13885 2350/2834/13886 2429/2831/13887 -f 2429/2831/13888 2428/2830/13889 2341/2819/13890 -f 2430/2837/13891 2354/2838/13892 2348/2832/13893 -f 2348/2832/13894 2429/2831/13895 2430/2837/13896 -f 2353/2836/13897 2355/2847/13898 2431/2839/13899 -f 2431/2839/13900 2430/2837/13901 2353/2836/13902 -f 2360/2853/13903 2356/2840/13904 2431/2839/13905 -f 2431/2839/13906 2432/2846/13907 2360/2853/13908 -f 2359/2845/13909 2363/2850/13910 2433/2854/13911 -f 2433/2854/13912 2432/2846/13913 2359/2845/13914 -f 2338/2816/13915 2341/2819/13916 2428/2830/13917 -f 2428/2830/13918 2426/2820/13919 2338/2816/13920 -f 2373/2883/13921 2374/2884/13922 2435/2866/13923 -f 2435/2866/13924 2434/2865/13925 2373/2883/13926 -f 2436/2869/13927 2375/2879/13928 2373/2883/13929 -f 2373/2883/13930 2434/2865/13931 2436/2869/13932 -f 2437/2871/13933 2377/2876/13934 2375/2879/13935 -f 2375/2879/13936 2436/2869/13937 2437/2871/13938 -f 2437/2871/13939 2459/2870/13940 2460/2943/13941 -f 2460/2943/13942 2438/2877/13943 2437/2871/13944 -f 2374/2884/13945 2344/2822/13946 2427/2821/13947 -f 2427/2821/13948 2435/2866/13949 2374/2884/13950 -f 2399/2944/13951 2397/2917/13952 2440/2907/13953 -f 2440/2907/13954 2439/2906/13955 2399/2944/13956 -f 2441/2911/13957 2406/2929/13958 2399/2944/13959 -f 2399/2944/13960 2439/2906/13961 2441/2911/13962 -f 2442/2916/13963 2408/2913/13964 2401/2904/13965 -f 2401/2904/13966 2440/2907/13967 2442/2916/13968 -f 2443/2926/13969 2469/2945/13970 2411/2928/13971 -f 2411/2928/13972 2444/2927/13973 2443/2926/13974 -f 2441/2911/13975 2405/2910/13976 2415/2924/13977 -f 2415/2924/13978 2444/2927/13979 2441/2911/13980 -f 2395/2915/13981 2393/2946/13982 2445/2931/13983 -f 2445/2931/13984 2442/2916/13985 2395/2915/13986 -f 2393/2946/13987 2391/2947/13988 2446/2932/13989 -f 2446/2932/13990 2445/2931/13991 2393/2946/13992 -f 2391/2947/13993 2389/2939/13994 2447/2938/13995 -f 2447/2938/13996 2446/2932/13997 2391/2947/13998 -f 2363/2949/13999 2421/2936/14000 2447/2938/14001 -f 2447/2938/14002 2433/2951/14003 2363/2949/14004 -f 2438/2956/14005 2460/2959/14006 2469/2945/14007 -f 2469/2945/14008 2443/2926/14009 2438/2956/14010 -f 2342/2855/14011 2448/2823/14012 2343/2857/14013 -f 2343/2857/14014 2449/2887/14015 2342/2855/14016 -f 2448/2823/14017 2342/2855/14018 2345/2829/14019 -f 2345/2829/14020 2450/2824/14021 2448/2823/14022 -f 2450/2824/14023 2345/2829/14024 2348/2832/14025 -f 2348/2832/14026 2451/2827/14027 2450/2824/14028 -f 2354/2838/14029 2452/2841/14030 2451/2827/14031 -f 2451/2827/14032 2348/2832/14033 2354/2838/14034 -f 2356/2840/14035 2453/2843/14036 2452/2841/14037 -f 2452/2841/14038 2354/2838/14039 2356/2840/14040 -f 2360/2853/14041 2454/2888/14042 2453/2843/14043 -f 2453/2843/14044 2356/2840/14045 2360/2853/14046 -f 2365/2852/14047 2455/2890/14048 2454/2888/14049 -f 2454/2888/14050 2360/2853/14051 2365/2852/14052 -f 2368/2859/14053 2456/2867/14054 2449/2887/14055 -f 2449/2887/14056 2343/2857/14057 2368/2859/14058 -f 2370/2861/14059 2457/2864/14060 2456/2867/14061 -f 2456/2867/14062 2368/2859/14063 2370/2861/14064 -f 2372/2863/14065 2458/2868/14066 2457/2864/14067 -f 2457/2864/14068 2370/2861/14069 2372/2863/14070 -f 2458/2868/14071 2372/2863/14072 2376/2873/14073 -f 2376/2873/14074 2459/2870/14075 2458/2868/14076 -f 2378/2872/14077 2460/2943/14078 2459/2870/14079 -f 2459/2870/14080 2376/2873/14081 2378/2872/14082 -f 2455/2952/14083 2365/2950/14084 2389/2939/14085 -f 2389/2939/14086 2461/2892/14087 2455/2952/14088 -f 2461/2892/14089 2389/2939/14090 2391/2947/14091 -f 2391/2947/14092 2462/2894/14093 2461/2892/14094 -f 2462/2894/14095 2391/2947/14096 2393/2946/14097 -f 2393/2946/14098 2463/2896/14099 2462/2894/14100 -f 2463/2896/14101 2393/2946/14102 2395/2915/14103 -f 2395/2915/14104 2464/2898/14105 2463/2896/14106 -f 2464/2898/14107 2395/2915/14108 2397/2917/14109 -f 2397/2917/14110 2465/2900/14111 2464/2898/14112 -f 2465/2900/14113 2397/2917/14114 2399/2944/14115 -f 2399/2944/14116 2466/2902/14117 2465/2900/14118 -f 2406/2929/14119 2467/2918/14120 2466/2902/14121 -f 2466/2902/14122 2399/2944/14123 2406/2929/14124 -f 2467/2918/14125 2406/2929/14126 2411/2928/14127 -f 2411/2928/14128 2468/2920/14129 2467/2918/14130 -f 2468/2920/14131 2411/2928/14132 2469/2945/14133 -f 2469/2945/14134 2413/2922/14135 2468/2920/14136 -f 2460/2959/14137 2378/2954/14138 2413/2922/14139 -f 2413/2922/14140 2469/2945/14141 2460/2959/14142 -f 2486/2962/14143 2487/2963/14144 2524/2960/14145 -f 2524/2960/14146 2532/2961/14147 2486/2962/14148 -f 2471/2965/14149 2524/2960/14150 2487/2963/14151 -f 2487/2963/14152 2479/2964/14153 2471/2965/14154 -f 2472/2967/14155 2471/2965/14156 2479/2964/14157 -f 2479/2964/14158 2480/2966/14159 2472/2967/14160 -f 2473/2969/14161 2472/2967/14162 2480/2966/14163 -f 2480/2966/14164 2481/2968/14165 2473/2969/14166 -f 2474/2971/14167 2473/3024/14168 2481/3023/14169 -f 2481/3023/14170 2482/2970/14171 2474/2971/14172 -f 2475/2973/14173 2474/2971/14174 2482/2970/14175 -f 2482/2970/14176 2483/2972/14177 2475/2973/14178 -f 2476/2975/14179 2475/2973/14180 2483/2972/14181 -f 2483/2972/14182 2484/2974/14183 2476/2975/14184 -f 2477/2977/14185 2476/2975/14186 2484/2974/14187 -f 2484/2974/14188 2485/2976/14189 2477/2977/14190 -f 2532/2961/14191 2477/2977/14192 2485/2976/14193 -f 2485/2976/14194 2486/2962/14195 2532/2961/14196 -f 2495/2978/14197 2494/2979/14198 2479/2964/14199 -f 2479/2964/14200 2487/2963/14201 2495/2978/14202 -f 2480/2966/14203 2479/2964/14204 2494/2979/14205 -f 2494/2979/14206 2493/2980/14207 2480/2966/14208 -f 2481/2968/14209 2480/2966/14210 2493/2980/14211 -f 2493/2980/14212 2492/2981/14213 2481/2968/14214 -f 2482/2970/14215 2481/3023/14216 2492/3025/14217 -f 2492/3025/14218 2491/2982/14219 2482/2970/14220 -f 2483/2972/14221 2482/2970/14222 2491/2982/14223 -f 2491/2982/14224 2490/2983/14225 2483/2972/14226 -f 2484/2974/14227 2483/2972/14228 2490/2983/14229 -f 2490/2983/14230 2489/2984/14231 2484/2974/14232 -f 2485/2976/14233 2484/2974/14234 2489/2984/14235 -f 2489/2984/14236 2488/2985/14237 2485/2976/14238 -f 2486/2962/14239 2485/2976/14240 2488/2985/14241 -f 2488/2985/14242 2496/2986/14243 2486/2962/14244 -f 2487/2963/14245 2486/2962/14246 2496/2986/14247 -f 2496/2986/14248 2495/2978/14249 2487/2963/14250 -f 2478/2989/14251 2470/2990/14252 2497/2987/14253 -f 2497/2987/14254 2505/2988/14255 2478/2989/14256 -f 2470/2990/14257 2525/2992/14258 2498/2991/14259 -f 2498/2991/14260 2497/2987/14261 2470/2990/14262 -f 2525/2992/14263 2526/2994/14264 2499/2993/14265 -f 2499/2993/14266 2498/2991/14267 2525/2992/14268 -f 2526/2994/14269 2527/2996/14270 2500/2995/14271 -f 2500/2995/14272 2499/2993/14273 2526/2994/14274 -f 2527/3027/14275 2528/2998/14276 2501/2997/14277 -f 2501/2997/14278 2500/3026/14279 2527/3027/14280 -f 2528/2998/14281 2529/3000/14282 2502/2999/14283 -f 2502/2999/14284 2501/2997/14285 2528/2998/14286 -f 2529/3000/14287 2530/3002/14288 2503/3001/14289 -f 2503/3001/14290 2502/2999/14291 2529/3000/14292 -f 2530/3002/14293 2531/3004/14294 2504/3003/14295 -f 2504/3003/14296 2503/3001/14297 2530/3002/14298 -f 2531/3004/14299 2478/2989/14300 2505/2988/14301 -f 2505/2988/14302 2504/3003/14303 2531/3004/14304 -f 2521/3007/14305 2522/3008/14306 2513/3005/14307 -f 2513/3005/14308 2512/3006/14309 2521/3007/14310 -f 2520/3010/14311 2521/3007/14312 2512/3006/14313 -f 2512/3006/14314 2511/3009/14315 2520/3010/14316 -f 2519/3012/14317 2520/3010/14318 2511/3009/14319 -f 2511/3009/14320 2510/3011/14321 2519/3012/14322 -f 2518/3014/14323 2519/3029/14324 2510/3028/14325 -f 2510/3028/14326 2509/3013/14327 2518/3014/14328 -f 2517/3016/14329 2518/3014/14330 2509/3013/14331 -f 2509/3013/14332 2508/3015/14333 2517/3016/14334 -f 2516/3018/14335 2517/3016/14336 2508/3015/14337 -f 2508/3015/14338 2507/3017/14339 2516/3018/14340 -f 2515/3020/14341 2516/3018/14342 2507/3017/14343 -f 2507/3017/14344 2506/3019/14345 2515/3020/14346 -f 2523/3022/14347 2515/3020/14348 2506/3019/14349 -f 2506/3019/14350 2514/3021/14351 2523/3022/14352 -f 2522/3008/14353 2523/3022/14354 2514/3021/14355 -f 2514/3021/14356 2513/3005/14357 2522/3008/14358 -f 2495/2978/14359 2522/3008/14360 2521/3007/14361 -f 2521/3007/14362 2494/2979/14363 2495/2978/14364 -f 2494/2979/14365 2521/3007/14366 2520/3010/14367 -f 2520/3010/14368 2493/2980/14369 2494/2979/14370 -f 2493/2980/14371 2520/3010/14372 2519/3012/14373 -f 2519/3012/14374 2492/2981/14375 2493/2980/14376 -f 2492/3025/14377 2519/3029/14378 2518/3014/14379 -f 2518/3014/14380 2491/2982/14381 2492/3025/14382 -f 2491/2982/14383 2518/3014/14384 2517/3016/14385 -f 2517/3016/14386 2490/2983/14387 2491/2982/14388 -f 2490/2983/14389 2517/3016/14390 2516/3018/14391 -f 2516/3018/14392 2489/2984/14393 2490/2983/14394 -f 2489/2984/14395 2516/3018/14396 2515/3020/14397 -f 2515/3020/14398 2488/2985/14399 2489/2984/14400 -f 2488/2985/14401 2515/3020/14402 2523/3022/14403 -f 2523/3022/14404 2496/2986/14405 2488/2985/14406 -f 2496/2986/14407 2523/3022/14408 2522/3008/14409 -f 2522/3008/14410 2495/2978/14411 2496/2986/14412 -f 2524/2960/14413 2470/2990/14414 2478/2989/14415 -f 2478/2989/14416 2532/2961/14417 2524/2960/14418 -f 2471/2965/14419 2525/2992/14420 2470/2990/14421 -f 2470/2990/14422 2524/2960/14423 2471/2965/14424 -f 2472/2967/14425 2526/2994/14426 2525/2992/14427 -f 2525/2992/14428 2471/2965/14429 2472/2967/14430 -f 2473/2969/14431 2527/2996/14432 2526/2994/14433 -f 2526/2994/14434 2472/2967/14435 2473/2969/14436 -f 2474/2971/14437 2528/2998/14438 2527/3027/14439 -f 2527/3027/14440 2473/3024/14441 2474/2971/14442 -f 2475/2973/14443 2529/3000/14444 2528/2998/14445 -f 2528/2998/14446 2474/2971/14447 2475/2973/14448 -f 2476/2975/14449 2530/3002/14450 2529/3000/14451 -f 2529/3000/14452 2475/2973/14453 2476/2975/14454 -f 2477/2977/14455 2531/3004/14456 2530/3002/14457 -f 2530/3002/14458 2476/2975/14459 2477/2977/14460 -f 2532/2961/14461 2478/2989/14462 2531/3004/14463 -f 2531/3004/14464 2477/2977/14465 2532/2961/14466 -f 2535/3035/14467 2536/3060/14468 2533/3032/14469 -f 2533/3032/14470 2534/3033/14471 2535/3035/14472 -f 2536/3060/14473 2538/3062/14474 2537/3061/14475 -f 2537/3061/14476 2533/3032/14477 2536/3060/14478 -f 2537/3034/14479 2540/3036/14480 2539/3030/14481 -f 2539/3030/14482 2533/3031/14483 2537/3034/14484 -f 2542/3038/14485 2543/3039/14486 2539/3030/14487 -f 2539/3030/14488 2541/3037/14489 2542/3038/14490 -f 2539/3030/14491 2540/3036/14492 2544/3040/14493 -f 2544/3040/14494 2541/3037/14495 2539/3030/14496 -f 2544/3040/14497 2540/3036/14498 2545/3041/14499 -f 2545/3041/14500 2546/3042/14501 2544/3040/14502 -f 2548/3044/14503 2546/3042/14504 2545/3041/14505 -f 2545/3041/14506 2547/3043/14507 2548/3044/14508 -f 2547/3048/14509 2550/3049/14510 2549/3046/14511 -f 2549/3046/14512 2548/3047/14513 2547/3048/14514 -f 2549/3046/14515 2550/3049/14516 2551/3050/14517 -f 2551/3050/14518 2552/3051/14519 2549/3046/14520 -f 2554/3053/14521 2552/3051/14522 2551/3050/14523 -f 2551/3050/14524 2553/3052/14525 2554/3053/14526 -f 2555/3054/14527 2556/3055/14528 2554/3053/14529 -f 2554/3053/14530 2553/3052/14531 2555/3054/14532 -f 2557/3056/14533 2558/3057/14534 2555/3054/14535 -f 2555/3054/14536 2553/3052/14537 2557/3056/14538 -f 2559/3068/14539 2557/3056/14540 2553/3052/14541 -f 2553/3052/14542 2551/3050/14543 2559/3068/14544 -f 2559/3068/14545 2551/3050/14546 2550/3049/14547 -f 2550/3049/14548 2560/3166/14549 2559/3068/14550 -f 2550/3049/14551 2547/3048/14552 2561/3175/14553 -f 2561/3175/14554 2560/3166/14555 2550/3049/14556 -f 2562/3045/14557 2561/3058/14558 2547/3043/14559 -f 2547/3043/14560 2545/3041/14561 2562/3045/14562 -f 2564/3065/14563 2561/3066/14564 2562/3063/14565 -f 2562/3063/14566 2563/3064/14567 2564/3065/14568 -f 2566/3069/14569 2564/3065/14570 2563/3064/14571 -f 2563/3064/14572 2565/3067/14573 2566/3069/14574 -f 2567/3070/14575 2568/3079/14576 2566/3069/14577 -f 2566/3069/14578 2565/3067/14579 2567/3070/14580 -f 2565/3067/14581 2570/3081/14582 2569/3080/14583 -f 2569/3080/14584 2567/3070/14585 2565/3067/14586 -f 2538/3062/14587 2570/3081/14588 2565/3067/14589 -f 2565/3067/14590 2563/3064/14591 2538/3062/14592 -f 2564/3065/14593 2572/3188/14594 2571/3082/14595 -f 2571/3082/14596 2561/3066/14597 2564/3065/14598 -f 2566/3069/14599 2573/3189/14600 2572/3188/14601 -f 2572/3188/14602 2564/3065/14603 2566/3069/14604 -f 2538/3062/14605 2563/3064/14606 2562/3063/14607 -f 2562/3063/14608 2537/3061/14609 2538/3062/14610 -f 2562/3045/14611 2545/3041/14612 2540/3036/14613 -f 2540/3036/14614 2537/3034/14615 2562/3045/14616 -f 2574/3059/14617 2575/3071/14618 2543/3039/14619 -f 2543/3039/14620 2542/3038/14621 2574/3059/14622 -f 2539/3030/14623 2543/3039/14624 2534/3072/14625 -f 2534/3072/14626 2533/3031/14627 2539/3030/14628 -f 2576/3073/14629 2534/3072/14630 2543/3039/14631 -f 2543/3039/14632 2575/3071/14633 2576/3073/14634 -f 2575/3071/14635 2578/3075/14636 2577/3074/14637 -f 2577/3074/14638 2576/3073/14639 2575/3071/14640 -f 2579/3076/14641 2580/3077/14642 2576/3073/14643 -f 2576/3073/14644 2577/3074/14645 2579/3076/14646 -f 2576/3073/14647 2580/3077/14648 2581/3078/14649 -f 2581/3078/14650 2534/3072/14651 2576/3073/14652 -f 2581/3190/14653 2582/3191/14654 2535/3035/14655 -f 2535/3035/14656 2534/3033/14657 2581/3190/14658 -f 2584/3193/14659 2536/3060/14660 2535/3035/14661 -f 2535/3035/14662 2583/3192/14663 2584/3193/14664 -f 2585/3194/14665 2583/3192/14666 2535/3035/14667 -f 2535/3035/14668 2582/3191/14669 2585/3194/14670 -f 2586/3083/14671 2587/3084/14672 2579/3076/14673 -f 2579/3076/14674 2577/3074/14675 2586/3083/14676 -f 2577/3074/14677 2578/3075/14678 2588/3085/14679 -f 2588/3085/14680 2586/3083/14681 2577/3074/14682 -f 2589/3086/14683 2590/3087/14684 2588/3085/14685 -f 2588/3085/14686 2578/3075/14687 2589/3086/14688 -f 2588/3085/14689 2592/3089/14690 2591/3088/14691 -f 2591/3088/14692 2586/3083/14693 2588/3085/14694 -f 2588/3085/14695 2590/3087/14696 2593/3090/14697 -f 2593/3090/14698 2592/3089/14699 2588/3085/14700 -f 2587/3084/14701 2586/3083/14702 2591/3088/14703 -f 2591/3088/14704 2594/3091/14705 2587/3084/14706 -f 2594/3091/14707 2591/3088/14708 2595/3237/14709 -f 2595/3237/14710 2596/3238/14711 2594/3091/14712 -f 2578/3075/14713 2575/3071/14714 2574/3059/14715 -f 2574/3059/14716 2589/3086/14717 2578/3075/14718 -f 2599/3098/14719 2600/3099/14720 2597/3095/14721 -f 2597/3095/14722 2598/3096/14723 2599/3098/14724 -f 2602/3101/14725 2599/3098/14726 2598/3096/14727 -f 2598/3096/14728 2601/3100/14729 2602/3101/14730 -f 2604/3103/14731 2602/3101/14732 2601/3100/14733 -f 2601/3100/14734 2603/3102/14735 2604/3103/14736 -f 2603/3102/14737 2606/3105/14738 2605/3104/14739 -f 2605/3104/14740 2604/3221/14741 2603/3102/14742 -f 2605/3104/14743 2606/3105/14744 2607/3106/14745 -f 2607/3106/14746 2608/3107/14747 2605/3104/14748 -f 2608/3223/14749 2607/3106/14750 2609/3108/14751 -f 2609/3108/14752 2610/3109/14753 2608/3223/14754 -f 2612/3111/14755 2613/3112/14756 2609/3108/14757 -f 2609/3108/14758 2611/3110/14759 2612/3111/14760 -f 2606/3105/14761 2603/3102/14762 2614/3113/14763 -f 2614/3113/14764 2611/3110/14765 2606/3105/14766 -f 2614/3113/14767 2615/3114/14768 2612/3111/14769 -f 2612/3111/14770 2611/3110/14771 2614/3113/14772 -f 2617/3116/14773 2613/3112/14774 2612/3111/14775 -f 2612/3111/14776 2616/3115/14777 2617/3116/14778 -f 2618/3117/14779 2619/3118/14780 2617/3116/14781 -f 2617/3116/14782 2616/3115/14783 2618/3117/14784 -f 2621/3120/14785 2618/3117/14786 2616/3115/14787 -f 2616/3115/14788 2620/3119/14789 2621/3120/14790 -f 2612/3111/14791 2615/3114/14792 2620/3119/14793 -f 2620/3119/14794 2616/3115/14795 2612/3111/14796 -f 2610/3109/14797 2609/3108/14798 2613/3112/14799 -f 2613/3112/14800 2622/3121/14801 2610/3109/14802 -f 2623/3122/14803 2622/3227/14804 2613/3112/14805 -f 2613/3112/14806 2617/3116/14807 2623/3122/14808 -f 2615/3114/14809 2614/3113/14810 2624/3123/14811 -f 2624/3123/14812 2625/3124/14813 2615/3114/14814 -f 2627/3128/14815 2625/3124/14816 2624/3123/14817 -f 2624/3123/14818 2626/3127/14819 2627/3128/14820 -f 2601/3100/14821 2598/3096/14822 2626/3127/14823 -f 2626/3127/14824 2624/3123/14825 2601/3100/14826 -f 2629/3167/14827 2627/3128/14828 2626/3127/14829 -f 2626/3127/14830 2628/3164/14831 2629/3167/14832 -f 2628/3164/14833 2626/3127/14834 2598/3096/14835 -f 2598/3096/14836 2597/3095/14837 2628/3164/14838 -f 2630/3183/14839 2620/3119/14840 2615/3114/14841 -f 2615/3114/14842 2625/3124/14843 2630/3183/14844 -f 2631/3184/14845 2630/3183/14846 2625/3124/14847 -f 2625/3124/14848 2627/3128/14849 2631/3184/14850 -f 2614/3113/14851 2603/3102/14852 2601/3100/14853 -f 2601/3100/14854 2624/3123/14855 2614/3113/14856 -f 2606/3105/14857 2611/3110/14858 2609/3108/14859 -f 2609/3108/14860 2607/3106/14861 2606/3105/14862 -f 2632/3125/14863 2633/3126/14864 2597/3094/14865 -f 2597/3094/14866 2600/3097/14867 2632/3125/14868 -f 2633/3126/14869 2632/3125/14870 2634/3129/14871 -f 2634/3129/14872 2635/3130/14873 2633/3126/14874 -f 2634/3129/14875 2637/3132/14876 2636/3131/14877 -f 2636/3131/14878 2635/3130/14879 2634/3129/14880 -f 2639/3134/14881 2640/3135/14882 2636/3131/14883 -f 2636/3131/14884 2638/3133/14885 2639/3134/14886 -f 2641/3136/14887 2642/3137/14888 2639/3134/14889 -f 2639/3134/14890 2638/3133/14891 2641/3136/14892 -f 2643/3140/14893 2644/3141/14894 2640/3135/14895 -f 2640/3135/14896 2639/3134/14897 2643/3140/14898 -f 2646/3143/14899 2640/3135/14900 2644/3141/14901 -f 2644/3141/14902 2645/3142/14903 2646/3143/14904 -f 2645/3142/14905 2648/3145/14906 2647/3144/14907 -f 2647/3144/14908 2646/3143/14909 2645/3142/14910 -f 2650/3147/14911 2647/3144/14912 2648/3145/14913 -f 2648/3145/14914 2649/3146/14915 2650/3147/14916 -f 2650/3147/14917 2649/3146/14918 2651/3148/14919 -f 2651/3148/14920 2652/3149/14921 2650/3147/14922 -f 2635/3130/14923 2646/3143/14924 2647/3144/14925 -f 2647/3144/14926 2633/3126/14927 2635/3130/14928 -f 2647/3144/14929 2650/3147/14930 2597/3094/14931 -f 2597/3094/14932 2633/3126/14933 2647/3144/14934 -f 2640/3135/14935 2646/3143/14936 2635/3130/14937 -f 2635/3130/14938 2636/3131/14939 2640/3135/14940 -f 2639/3134/14941 2642/3137/14942 2653/3163/14943 -f 2653/3163/14944 2643/3140/14945 2639/3134/14946 -f 2654/3138/14947 2655/3139/14948 2653/3092/14949 -f 2653/3092/14950 2642/3093/14951 2654/3138/14952 -f 2642/3093/14953 2641/3151/14954 2656/3150/14955 -f 2656/3150/14956 2654/3138/14957 2642/3093/14958 -f 2658/3153/14959 2659/3154/14960 2657/3152/14961 -f 2657/3152/14962 2656/3150/14963 2658/3153/14964 -f 2656/3150/14965 2641/3151/14966 2660/3155/14967 -f 2660/3155/14968 2658/3153/14969 2656/3150/14970 -f 2657/3152/14971 2661/3156/14972 2654/3138/14973 -f 2654/3138/14974 2656/3150/14975 2657/3152/14976 -s 2 -f 2662/3157/14977 2653/3092/14978 2655/3139/14979 -s 4 -f 2662/3157/14980 2663/3158/14981 2664/3159/14982 -s 1 -f 2662/3157/14983 2661/3156/14984 2665/3160/14985 -f 2665/3160/14986 2663/3158/14987 2662/3157/14988 -f 2661/3156/14989 2662/3157/14990 2655/3139/14991 -f 2655/3139/14992 2654/3138/14993 2661/3156/14994 -f 2660/3168/14995 2641/3136/14996 2638/3133/14997 -f 2638/3133/14998 2666/3165/14999 2660/3168/15000 -f 2666/3165/15001 2638/3133/15002 2636/3131/15003 -f 2636/3131/15004 2637/3132/15005 2666/3165/15006 -f 2650/3147/15007 2652/3149/15008 2628/3169/15009 -f 2628/3169/15010 2597/3094/15011 2650/3147/15012 -f 2669/3187/15013 2670/3212/15014 2667/3185/15015 -f 2667/3185/15016 2668/3186/15017 2669/3187/15018 -f 2631/3184/15019 2671/3213/15020 2668/3186/15021 -f 2668/3186/15022 2667/3185/15023 2631/3184/15024 -f 2673/3172/15025 2668/3173/15026 2671/3170/15027 -f 2671/3170/15028 2672/3171/15029 2673/3172/15030 -f 2675/3241/15031 2673/3172/15032 2672/3171/15033 -f 2672/3171/15034 2674/3174/15035 2675/3241/15036 -f 2676/3242/15037 2677/3243/15038 2674/3174/15039 -f 2674/3174/15040 2672/3171/15041 2676/3242/15042 -f 2652/3149/15043 2651/3148/15044 2677/3243/15045 -f 2677/3243/15046 2676/3242/15047 2652/3149/15048 -f 2652/3149/15049 2676/3242/15050 2629/3244/15051 -f 2629/3244/15052 2628/3169/15053 2652/3149/15054 -f 2672/3171/15055 2671/3170/15056 2629/3244/15057 -f 2629/3244/15058 2676/3242/15059 2672/3171/15060 -f 2675/3178/15061 2679/3179/15062 2678/3176/15063 -f 2678/3176/15064 2673/3177/15065 2675/3178/15066 -f 2558/3057/15067 2680/3180/15068 2678/3176/15069 -f 2678/3176/15070 2555/3054/15071 2558/3057/15072 -f 2680/3180/15073 2668/3181/15074 2673/3177/15075 -f 2673/3177/15076 2678/3176/15077 2680/3180/15078 -f 2669/3229/15079 2668/3181/15080 2680/3180/15081 -f 2680/3180/15082 2681/3182/15083 2669/3229/15084 -f 2682/3230/15085 2681/3182/15086 2680/3180/15087 -f 2680/3180/15088 2558/3057/15089 2682/3230/15090 -f 2682/3230/15091 2558/3057/15092 2557/3056/15093 -f 2557/3056/15094 2683/3231/15095 2682/3230/15096 -f 2557/3056/15097 2559/3068/15098 2684/3234/15099 -f 2684/3234/15100 2683/3231/15101 2557/3056/15102 -f 2684/3234/15103 2559/3068/15104 2560/3166/15105 -f 2560/3166/15106 2685/3235/15107 2684/3234/15108 -f 2556/3055/15109 2555/3054/15110 2678/3176/15111 -f 2678/3176/15112 2679/3179/15113 2556/3055/15114 -f 2631/3184/15115 2627/3128/15116 2629/3167/15117 -f 2629/3167/15118 2671/3213/15119 2631/3184/15120 -f 2686/3214/15121 2630/3183/15122 2631/3184/15123 -f 2631/3184/15124 2667/3185/15125 2686/3214/15126 -f 2620/3119/15127 2630/3183/15128 2686/3214/15129 -f 2686/3214/15130 2621/3120/15131 2620/3119/15132 -f 2621/3120/15133 2686/3214/15134 2687/3215/15135 -f 2687/3215/15136 2688/3216/15137 2621/3120/15138 -f 2670/3212/15139 2687/3215/15140 2686/3214/15141 -f 2686/3214/15142 2667/3185/15143 2670/3212/15144 -f 2689/3217/15145 2618/3117/15146 2621/3120/15147 -f 2621/3120/15148 2688/3232/15149 2689/3217/15150 -f 2690/3218/15151 2619/3118/15152 2618/3117/15153 -f 2618/3117/15154 2689/3217/15155 2690/3218/15156 -f 2690/3233/15157 2623/3122/15158 2617/3116/15159 -f 2617/3116/15160 2619/3118/15161 2690/3233/15162 -f 2561/3175/15163 2571/3236/15164 2685/3235/15165 -f 2685/3235/15166 2560/3166/15167 2561/3175/15168 -f 2584/3193/15169 2570/3081/15170 2538/3062/15171 -f 2538/3062/15172 2536/3060/15173 2584/3193/15174 -f 2691/3195/15175 2569/3080/15176 2570/3081/15177 -f 2570/3081/15178 2584/3193/15179 2691/3195/15180 -f 2691/3195/15181 2584/3193/15182 2583/3192/15183 -f 2583/3192/15184 2692/3196/15185 2691/3195/15186 -f 2694/3198/15187 2691/3195/15188 2692/3196/15189 -f 2692/3196/15190 2693/3197/15191 2694/3198/15192 -f 2696/3200/15193 2694/3198/15194 2693/3197/15195 -f 2693/3197/15196 2695/3199/15197 2696/3200/15198 -f 2698/3202/15199 2695/3199/15200 2693/3197/15201 -f 2693/3197/15202 2697/3201/15203 2698/3202/15204 -f 2692/3196/15205 2699/3203/15206 2697/3201/15207 -f 2697/3201/15208 2693/3197/15209 2692/3196/15210 -f 2583/3192/15211 2585/3194/15212 2699/3246/15213 -f 2699/3246/15214 2692/3196/15215 2583/3192/15216 -f 2696/3200/15217 2695/3199/15218 2698/3245/15219 -f 2698/3245/15220 2700/3204/15221 2696/3200/15222 -f 2701/3205/15223 2702/3206/15224 2696/3200/15225 -f 2696/3200/15226 2700/3204/15227 2701/3205/15228 -f 2696/3200/15229 2702/3206/15230 2703/3207/15231 -f 2703/3207/15232 2694/3198/15233 2696/3200/15234 -f 2567/3070/15235 2569/3080/15236 2703/3207/15237 -f 2703/3207/15238 2704/3208/15239 2567/3070/15240 -f 2705/3219/15241 2704/3208/15242 2703/3207/15243 -f 2703/3207/15244 2702/3206/15245 2705/3219/15246 -f 2701/3247/15247 2706/3220/15248 2705/3219/15249 -f 2705/3219/15250 2702/3206/15251 2701/3247/15252 -f 2704/3208/15253 2707/3222/15254 2568/3079/15255 -f 2568/3079/15256 2567/3070/15257 2704/3208/15258 -f 2707/3222/15259 2710/3226/15260 2708/3224/15261 -f 2708/3224/15262 2709/3225/15263 2707/3222/15264 -f 2710/3226/15265 2707/3222/15266 2704/3208/15267 -f 2704/3208/15268 2705/3219/15269 2710/3226/15270 -f 2707/3222/15271 2709/3225/15272 2711/3228/15273 -f 2711/3228/15274 2568/3079/15275 2707/3222/15276 -f 2694/3198/15277 2703/3207/15278 2569/3080/15279 -f 2569/3080/15280 2691/3195/15281 2694/3198/15282 -f 2712/3161/15283 2665/3160/15284 2661/3156/15285 -f 2661/3156/15286 2657/3152/15287 2712/3161/15288 -f 2595/3162/15289 2713/3209/15290 2665/3160/15291 -f 2665/3160/15292 2712/3161/15293 2595/3162/15294 -f 2591/3088/15295 2592/3089/15296 2713/3239/15297 -f 2713/3239/15298 2595/3237/15299 2591/3088/15300 -f 2664/3159/15301 2663/3158/15302 2665/3160/15303 -f 2665/3160/15304 2713/3209/15305 2664/3159/15306 -f 2592/3089/15307 2593/3090/15308 2664/3240/15309 -f 2664/3240/15310 2713/3239/15311 2592/3089/15312 -f 2714/3210/15313 2596/3211/15314 2595/3162/15315 -f 2595/3162/15316 2712/3161/15317 2714/3210/15318 -f 2659/3154/15319 2714/3210/15320 2712/3161/15321 -f 2712/3161/15322 2657/3152/15323 2659/3154/15324 -f 2573/3189/15325 2566/3069/15326 2568/3079/15327 -f 2568/3079/15328 2711/3249/15329 2573/3189/15330 -f 2708/3248/15331 2710/3226/15332 2705/3219/15333 -f 2705/3219/15334 2706/3220/15335 2708/3248/15336 -f 2716/3252/15337 2715/3253/15338 2718/3250/15339 -f 2718/3250/15340 2717/3251/15341 2716/3252/15342 -f 2719/3255/15343 2717/3251/15344 2718/3250/15345 -f 2718/3250/15346 2720/3254/15347 2719/3255/15348 -f 2721/3256/15349 2720/3257/15350 2718/3250/15351 -f 2718/3250/15352 2715/3253/15353 2721/3256/15354 -f 2722/3258/15355 2716/3252/15356 2717/3251/15357 -f 2717/3251/15358 2719/3255/15359 2722/3258/15360 -f 2723/3260/15361 2719/3255/15362 2720/3254/15363 -f 2720/3254/15364 2721/3259/15365 2723/3260/15366 -f 2719/3255/15367 2723/3260/15368 2724/3261/15369 -f 2724/3261/15370 2722/3258/15371 2719/3255/15372 -f 2727/3262/15373 2726/3263/15374 2725/3264/15375 -f 2723/3260/15376 2721/3259/15377 2727/3265/15378 -f 2727/3265/15379 2728/3266/15380 2723/3260/15381 -f 2727/3265/15382 2729/3267/15383 2728/3266/15384 -f 2731/3270/15385 2730/3271/15386 2733/3268/15387 -f 2733/3268/15388 2732/3269/15389 2731/3270/15390 -f 2735/3274/15391 2734/3275/15392 2737/3272/15393 -f 2737/3272/15394 2736/3273/15395 2735/3274/15396 -f 2738/3276/15397 2736/3273/15398 2737/3272/15399 -f 2737/3272/15400 2733/3268/15401 2738/3276/15402 -f 2739/3277/15403 2733/3268/15404 2737/3272/15405 -f 2737/3272/15406 2734/3275/15407 2739/3277/15408 -f 2741/3280/15409 2740/3281/15410 2743/3278/15411 -f 2743/3278/15412 2742/3279/15413 2741/3280/15414 -f 2745/3284/15415 2744/3285/15416 2747/3282/15417 -f 2747/3282/15418 2746/3283/15419 2745/3284/15420 -f 2746/3283/15421 2747/3282/15422 2749/3286/15423 -f 2749/3286/15424 2748/3287/15425 2746/3283/15426 -f 2747/3282/15427 2750/3288/15428 2749/3286/15429 -f 2752/3291/15430 2751/3292/15431 2754/3289/15432 -f 2754/3289/15433 2753/3290/15434 2752/3291/15435 -f 2754/3289/15436 2755/3293/15437 2753/3290/15438 -f 2754/3289/15439 2751/3292/15440 2756/3294/15441 -f 2753/3290/15442 2755/3293/15443 2758/3295/15444 -f 2758/3295/15445 2757/3296/15446 2753/3290/15447 -f 2752/3291/15448 2753/3290/15449 2757/3296/15450 -f 2752/3291/15451 2757/3296/15452 2760/3297/15453 -f 2760/3297/15454 2759/3298/15455 2752/3291/15456 -f 2761/3301/15457 2745/3284/15458 2763/3299/15459 -f 2763/3299/15460 2762/3300/15461 2761/3301/15462 -f 2763/3299/15463 2764/3304/15464 2766/3302/15465 -f 2766/3302/15466 2765/3303/15467 2763/3299/15468 -f 2763/3299/15469 2765/3303/15470 2767/3305/15471 -f 2767/3305/15472 2762/3300/15473 2763/3299/15474 -f 2769/3308/15475 2768/3309/15476 2771/3306/15477 -f 2771/3306/15478 2770/3307/15479 2769/3308/15480 -f 2773/3310/15481 2772/3311/15482 2768/3309/15483 -f 2768/3309/15484 2769/3308/15485 2773/3310/15486 -f 2774/3313/15487 2769/3308/15488 2770/3307/15489 -f 2770/3307/15490 2775/3312/15491 2774/3313/15492 -f 2776/3315/15493 2772/3311/15494 2773/3310/15495 -f 2773/3310/15496 2777/3314/15497 2776/3315/15498 -f 2778/3316/15499 2758/3295/15500 2767/3305/15501 -f 2767/3305/15502 2765/3303/15503 2778/3316/15504 -f 2770/3307/15505 2771/3306/15506 2780/3317/15507 -f 2780/3317/15508 2779/3318/15509 2770/3307/15510 -f 2782/3321/15511 2781/3322/15512 2784/3319/15513 -f 2784/3319/15514 2783/3320/15515 2782/3321/15516 -f 2783/3320/15517 2784/3319/15518 2786/3323/15519 -f 2786/3323/15520 2785/3324/15521 2783/3320/15522 -f 2788/3327/15523 2787/3328/15524 2790/3325/15525 -f 2790/3325/15526 2789/3326/15527 2788/3327/15528 -f 2789/3326/15529 2790/3325/15530 2791/3329/15531 -f 2793/3331/15532 2792/3332/15533 2789/3326/15534 -f 2789/3326/15535 2794/3330/15536 2793/3331/15537 -f 2795/3333/15538 2794/3330/15539 2789/3326/15540 -f 2789/3326/15541 2791/3329/15542 2795/3333/15543 -f 2770/3307/15544 2796/3335/15545 2797/3334/15546 -f 2797/3334/15547 2775/3312/15548 2770/3307/15549 -f 2777/3314/15550 2798/3338/15551 2800/3336/15552 -f 2800/3336/15553 2799/3337/15554 2777/3314/15555 -f 2802/3339/15556 2801/3340/15557 2800/3336/15558 -f 2800/3336/15559 2798/3338/15560 2802/3339/15561 -f 2804/3341/15562 2803/3342/15563 2800/3336/15564 -f 2800/3336/15565 2801/3340/15566 2804/3341/15567 -f 2777/3314/15568 2773/3310/15569 2805/3343/15570 -f 2805/3343/15571 2798/3338/15572 2777/3314/15573 -f 2805/3343/15574 2773/3310/15575 2774/3313/15576 -f 2774/3313/15577 2806/3344/15578 2805/3343/15579 -f 2805/3343/15580 2806/3344/15581 2807/3345/15582 -f 2809/3346/15583 2808/3347/15584 2805/3343/15585 -f 2805/3343/15586 2807/3345/15587 2809/3346/15588 -f 2812/3348/15589 2811/3349/15590 2810/3350/15591 -f 2813/3352/15592 2794/3330/15593 2795/3333/15594 -f 2795/3333/15595 2814/3351/15596 2813/3352/15597 -f 2816/3354/15598 2815/3355/15599 2795/3333/15600 -f 2795/3333/15601 2817/3353/15602 2816/3354/15603 -f 2818/3356/15604 2814/3351/15605 2795/3333/15606 -f 2795/3333/15607 2815/3355/15608 2818/3356/15609 -f 2820/3359/15610 2819/3360/15611 2822/3357/15612 -f 2822/3357/15613 2821/3358/15614 2820/3359/15615 -f 2766/3302/15616 2821/3358/15617 2822/3357/15618 -f 2822/3357/15619 2812/3348/15620 2766/3302/15621 -f 2819/3360/15622 2823/3361/15623 2822/3357/15624 -f 2822/3357/15625 2823/3361/15626 2824/3362/15627 -f 2822/3357/15628 2824/3362/15629 2811/3349/15630 -f 2826/3365/15631 2825/3366/15632 2828/3363/15633 -f 2828/3363/15634 2827/3364/15635 2826/3365/15636 -f 2828/3363/15637 2829/3369/15638 2831/3367/15639 -f 2831/3367/15640 2830/3368/15641 2828/3363/15642 -f 2796/3335/15643 2832/3371/15644 2833/3370/15645 -f 2833/3370/15646 2797/3334/15647 2796/3335/15648 -f 2833/3370/15649 2834/3372/15650 2797/3334/15651 -f 2770/3307/15652 2779/3318/15653 2832/3371/15654 -f 2832/3371/15655 2796/3335/15656 2770/3307/15657 -f 2836/3373/15658 2835/3374/15659 2823/3361/15660 -f 2838/3376/15661 2837/3377/15662 2839/3375/15663 -f 2839/3375/15664 2836/3373/15665 2838/3376/15666 -f 2840/3379/15667 2835/3374/15668 2839/3375/15669 -f 2839/3375/15670 2841/3378/15671 2840/3379/15672 -f 2839/3375/15673 2835/3374/15674 2836/3373/15675 -f 2843/3382/15676 2842/3383/15677 2845/3380/15678 -f 2845/3380/15679 2844/3381/15680 2843/3382/15681 -f 2847/3384/15682 2846/3385/15683 2845/3380/15684 -f 2845/3380/15685 2842/3383/15686 2847/3384/15687 -f 2848/3387/15688 2844/3381/15689 2845/3380/15690 -f 2845/3380/15691 2849/3386/15692 2848/3387/15693 -f 2851/3390/15694 2850/3391/15695 2853/3388/15696 -f 2853/3388/15697 2852/3389/15698 2851/3390/15699 -f 2852/3389/15700 2854/3392/15701 2851/3390/15702 -f 2855/3395/15703 2834/3372/15704 2857/3393/15705 -f 2857/3393/15706 2856/3394/15707 2855/3395/15708 -f 2856/3394/15709 2857/3393/15710 2859/3396/15711 -f 2859/3396/15712 2858/3397/15713 2856/3394/15714 -f 2833/3370/15715 2859/3396/15716 2857/3393/15717 -f 2857/3393/15718 2834/3372/15719 2833/3370/15720 -f 2860/3399/15721 2829/3369/15722 2861/3398/15723 -f 2861/3398/15724 2840/3379/15725 2860/3399/15726 -f 2840/3379/15727 2861/3398/15728 2862/3400/15729 -f 2862/3400/15730 2835/3374/15731 2840/3379/15732 -f 2860/3399/15733 2863/3402/15734 2864/3401/15735 -f 2864/3401/15736 2829/3369/15737 2860/3399/15738 -f 2829/3369/15739 2864/3401/15740 2865/3403/15741 -f 2865/3403/15742 2831/3367/15743 2829/3369/15744 -f 2866/3404/15745 2860/3399/15746 2840/3379/15747 -f 2840/3379/15748 2841/3378/15749 2866/3404/15750 -f 2853/3388/15751 2867/3406/15752 2868/3405/15753 -f 2868/3405/15754 2852/3389/15755 2853/3388/15756 -f 2854/3392/15757 2852/3389/15758 2868/3405/15759 -f 2868/3405/15760 2869/3407/15761 2854/3392/15762 -f 2870/3408/15763 2869/3407/15764 2868/3405/15765 -f 2868/3405/15766 2867/3406/15767 2870/3408/15768 -f 2859/3396/15769 2871/3410/15770 2872/3409/15771 -f 2872/3409/15772 2858/3397/15773 2859/3396/15774 -f 2847/3384/15775 2858/3397/15776 2872/3409/15777 -f 2872/3409/15778 2873/3411/15779 2847/3384/15780 -f 2874/3412/15781 2873/3411/15782 2872/3409/15783 -f 2872/3409/15784 2871/3410/15785 2874/3412/15786 -f 2876/3413/15787 2875/3414/15788 2870/3408/15789 -f 2870/3408/15790 2867/3406/15791 2876/3413/15792 -f 2877/3415/15793 2869/3407/15794 2870/3408/15795 -f 2870/3408/15796 2875/3414/15797 2877/3415/15798 -f 2878/3416/15799 2874/3412/15800 2871/3410/15801 -f 2871/3410/15802 2859/3396/15803 2878/3416/15804 -f 2850/3391/15805 2879/3418/15806 2880/3417/15807 -f 2880/3417/15808 2853/3388/15809 2850/3391/15810 -f 2882/3419/15811 2881/3420/15812 2853/3388/15813 -f 2853/3388/15814 2880/3417/15815 2882/3419/15816 -f 2876/3413/15817 2867/3406/15818 2853/3388/15819 -f 2853/3388/15820 2881/3420/15821 2876/3413/15822 -f 2884/3423/15823 2883/3424/15824 2886/3421/15825 -f 2886/3421/15826 2885/3422/15827 2884/3423/15828 -f 2887/3426/15829 2885/3422/15830 2886/3421/15831 -f 2886/3421/15832 2888/3425/15833 2887/3426/15834 -f 2889/3427/15835 2888/3425/15836 2886/3421/15837 -f 2886/3421/15838 2883/3424/15839 2889/3427/15840 -f 2890/3429/15841 2888/3425/15842 2889/3427/15843 -f 2889/3427/15844 2891/3428/15845 2890/3429/15846 -f 2892/3430/15847 2891/3428/15848 2889/3427/15849 -f 2889/3427/15850 2883/3424/15851 2892/3430/15852 -f 2894/3431/15853 2893/3432/15854 2876/3413/15855 -f 2876/3413/15856 2881/3420/15857 2894/3431/15858 -f 2885/3422/15859 2875/3414/15860 2876/3413/15861 -f 2876/3413/15862 2884/3423/15863 2885/3422/15864 -f 2895/3433/15865 2884/3423/15866 2876/3413/15867 -f 2876/3413/15868 2893/3432/15869 2895/3433/15870 -f 2896/3435/15871 2873/3411/15872 2874/3412/15873 -f 2874/3412/15874 2897/3434/15875 2896/3435/15876 -f 2899/3438/15877 2898/3439/15878 2901/3436/15879 -f 2901/3436/15880 2900/3437/15881 2899/3438/15882 -f 2903/3441/15883 2902/3442/15884 2901/3436/15885 -f 2901/3436/15886 2904/3440/15887 2903/3441/15888 -f 2905/3443/15889 2900/3437/15890 2901/3436/15891 -f 2901/3436/15892 2902/3442/15893 2905/3443/15894 -f 2907/3446/15895 2906/3447/15896 2909/3444/15897 -f 2909/3444/15898 2908/3445/15899 2907/3446/15900 -f 2910/3449/15901 2908/3445/15902 2909/3444/15903 -f 2909/3444/15904 2911/3448/15905 2910/3449/15906 -f 2912/3450/15907 2911/3448/15908 2909/3444/15909 -f 2909/3444/15910 2906/3447/15911 2912/3450/15912 -f 2914/3453/15913 2913/3454/15914 2916/3451/15915 -f 2916/3451/15916 2915/3452/15917 2914/3453/15918 -f 2918/3455/15919 2917/3456/15920 2916/3451/15921 -f 2916/3451/15922 2913/3454/15923 2918/3455/15924 -f 2920/3457/15925 2919/3458/15926 2916/3451/15927 -f 2916/3451/15928 2917/3456/15929 2920/3457/15930 -f 2863/3402/15931 2915/3452/15932 2916/3451/15933 -f 2916/3451/15934 2921/3459/15935 2863/3402/15936 -f 2922/3460/15937 2921/3459/15938 2916/3451/15939 -f 2916/3451/15940 2919/3458/15941 2922/3460/15942 -f 2895/3433/15943 2893/3432/15944 2923/3461/15945 -f 2923/3461/15946 2918/3455/15947 2895/3433/15948 -f 2894/3431/15949 2924/3462/15950 2923/3461/15951 -f 2923/3461/15952 2893/3432/15953 2894/3431/15954 -f 2917/3456/15955 2918/3455/15956 2923/3461/15957 -f 2923/3461/15958 2925/3463/15959 2917/3456/15960 -f 2927/3466/15961 2926/3467/15962 2929/3464/15963 -f 2929/3464/15964 2928/3465/15965 2927/3466/15966 -f 2928/3465/15967 2929/3464/15968 2931/3468/15969 -f 2931/3468/15970 2930/3469/15971 2928/3465/15972 -f 2932/3470/15973 2931/3468/15974 2929/3464/15975 -f 2929/3464/15976 2926/3467/15977 2932/3470/15978 -f 2934/3473/15979 2933/3474/15980 2936/3471/15981 -f 2936/3471/15982 2935/3472/15983 2934/3473/15984 -f 2937/3476/15985 2935/3472/15986 2936/3471/15987 -f 2936/3471/15988 2938/3475/15989 2937/3476/15990 -f 2940/3477/15991 2939/3478/15992 2936/3471/15993 -f 2936/3471/15994 2933/3474/15995 2940/3477/15996 -f 2942/3481/15997 2941/3482/15998 2943/3479/15999 -f 2943/3479/16000 2940/3480/16001 2942/3481/16002 -f 2939/3478/16003 2940/3477/16004 2943/3483/16005 -f 2943/3483/16006 2944/3484/16007 2939/3478/16008 -f 2945/3485/16009 2944/3486/16010 2943/3479/16011 -f 2943/3479/16012 2941/3482/16013 2945/3485/16014 -f 2947/3489/16015 2946/3490/16016 2949/3487/16017 -f 2949/3487/16018 2948/3488/16019 2947/3489/16020 -f 2951/3493/16021 2950/3494/16022 2949/3491/16023 -f 2949/3491/16024 2952/3492/16025 2951/3493/16026 -f 2953/3495/16027 2952/3496/16028 2949/3487/16029 -f 2949/3487/16030 2946/3490/16031 2953/3495/16032 -f 2955/3499/16033 2954/3500/16034 2957/3497/16035 -f 2957/3497/16036 2956/3498/16037 2955/3499/16038 -f 2958/3502/16039 2956/3498/16040 2957/3497/16041 -f 2957/3497/16042 2959/3501/16043 2958/3502/16044 -f 2960/3504/16045 2959/3501/16046 2957/3497/16047 -f 2957/3497/16048 2961/3503/16049 2960/3504/16050 -f 2963/3507/16051 2962/3508/16052 2965/3505/16053 -f 2965/3505/16054 2964/3506/16055 2963/3507/16056 -f 2930/3469/16057 2964/3506/16058 2965/3505/16059 -f 2965/3505/16060 2966/3509/16061 2930/3469/16062 -f 2968/3510/16063 2967/3511/16064 2965/3505/16065 -f 2965/3505/16066 2962/3508/16067 2968/3510/16068 -f 2970/3512/16069 2969/3513/16070 2965/3505/16071 -f 2965/3505/16072 2967/3511/16073 2970/3512/16074 -f 2973/3514/16075 2972/3515/16076 2971/3516/16077 -f 2975/3517/16078 2974/3518/16079 2973/3514/16080 -f 2973/3514/16081 2971/3516/16082 2975/3517/16083 -f 2977/3521/16084 2976/3522/16085 2979/3519/16086 -f 2979/3519/16087 2978/3520/16088 2977/3521/16089 -f 2981/3525/16090 2980/3526/16091 2983/3523/16092 -f 2983/3523/16093 2982/3524/16094 2981/3525/16095 -f 2946/3490/16096 2947/3489/16097 2982/3524/16098 -f 2982/3524/16099 2983/3523/16100 2946/3490/16101 -f 2985/3529/16102 2984/3530/16103 2987/3527/16104 -f 2987/3527/16105 2986/3528/16106 2985/3529/16107 -f 2988/3532/16108 2986/3528/16109 2987/3527/16110 -f 2987/3527/16111 2989/3531/16112 2988/3532/16113 -f 2991/3535/16114 2990/3536/16115 2993/3533/16116 -f 2993/3533/16117 2992/3534/16118 2991/3535/16119 -f 2995/3537/16120 2994/3538/16121 2993/3533/16122 -f 2993/3533/16123 2990/3536/16124 2995/3537/16125 -f 2996/3539/16126 2992/3534/16127 2993/3533/16128 -f 2993/3533/16129 2994/3538/16130 2996/3539/16131 -f 2998/3540/16132 2997/3541/16133 2995/3537/16134 -f 3000/3544/16135 2999/3545/16136 3002/3542/16137 -f 3002/3542/16138 3001/3543/16139 3000/3544/16140 -f 3001/3543/16141 3003/3546/16142 3000/3544/16143 -f 3005/3549/16144 3004/3550/16145 3007/3547/16146 -f 3007/3547/16147 3006/3548/16148 3005/3549/16149 -f 3008/3552/16150 3006/3548/16151 3007/3547/16152 -f 3007/3547/16153 3009/3551/16154 3008/3552/16155 -f 3010/3554/16156 3009/3551/16157 3007/3547/16158 -f 3007/3547/16159 3011/3553/16160 3010/3554/16161 -f 3013/3555/16162 3005/3549/16163 3012/3556/16164 -f 2760/3297/16165 3014/3558/16166 3015/3557/16167 -f 3015/3557/16168 2759/3298/16169 2760/3297/16170 -f 3016/3560/16171 2759/3298/16172 3015/3557/16173 -f 3015/3557/16174 3017/3559/16175 3016/3560/16176 -f 3019/3563/16177 3018/3564/16178 3021/3561/16179 -f 3021/3561/16180 3020/3562/16181 3019/3563/16182 -f 3022/3566/16183 3020/3562/16184 3021/3561/16185 -f 3021/3561/16186 3023/3565/16187 3022/3566/16188 -f 3019/3563/16189 3024/3568/16190 3025/3567/16191 -f 3025/3567/16192 3018/3564/16193 3019/3563/16194 -f 3024/3568/16195 3019/3563/16196 3027/3569/16197 -f 3027/3569/16198 3026/3570/16199 3024/3568/16200 -f 3024/3568/16201 3026/3570/16202 2832/3371/16203 -f 2832/3371/16204 2779/3318/16205 3024/3568/16206 -f 2833/3370/16207 2832/3371/16208 3026/3570/16209 -f 3026/3570/16210 3028/3571/16211 2833/3370/16212 -f 3028/3571/16213 3026/3570/16214 3027/3569/16215 -f 3027/3569/16216 3029/3572/16217 3028/3571/16218 -f 3030/3573/16219 2878/3416/16220 3028/3571/16221 -f 3028/3571/16222 3029/3572/16223 3030/3573/16224 -f 2859/3396/16225 2833/3370/16226 3028/3571/16227 -f 3028/3571/16228 2878/3416/16229 2859/3396/16230 -f 3032/3574/16231 3031/3575/16232 3030/3573/16233 -f 3030/3573/16234 3029/3572/16235 3032/3574/16236 -f 2931/3468/16237 2932/3470/16238 3030/3573/16239 -f 3030/3573/16240 3031/3575/16241 2931/3468/16242 -f 2874/3412/16243 2878/3416/16244 3030/3573/16245 -f 3030/3573/16246 2932/3470/16247 2874/3412/16248 -f 3034/3576/16249 3033/3577/16250 3031/3575/16251 -f 3031/3575/16252 3032/3574/16253 3034/3576/16254 -f 3035/3578/16255 2931/3468/16256 3031/3575/16257 -f 3031/3575/16258 3033/3577/16259 3035/3578/16260 -f 3037/3579/16261 3036/3580/16262 3035/3578/16263 -f 3035/3578/16264 3033/3577/16265 3037/3579/16266 -f 2963/3507/16267 2964/3506/16268 3035/3578/16269 -f 3035/3578/16270 3036/3580/16271 2963/3507/16272 -f 2930/3469/16273 2931/3468/16274 3035/3578/16275 -f 3035/3578/16276 2964/3506/16277 2930/3469/16278 -f 3039/3581/16279 3038/3582/16280 3036/3580/16281 -f 3036/3580/16282 3037/3579/16283 3039/3581/16284 -f 3040/3583/16285 2963/3507/16286 3036/3580/16287 -f 3036/3580/16288 3038/3582/16289 3040/3583/16290 -f 2920/3584/16291 3041/3585/16292 3040/3583/16293 -f 3040/3583/16294 3038/3582/16295 2920/3584/16296 -f 2944/3486/16297 2945/3485/16298 3040/3583/16299 -f 3040/3583/16300 3041/3585/16301 2944/3486/16302 -f 2962/3508/16303 2963/3507/16304 3040/3583/16305 -f 3040/3583/16306 2945/3485/16307 2962/3508/16308 -f 2917/3456/16309 2925/3463/16310 3041/3586/16311 -f 3041/3586/16312 2920/3457/16313 2917/3456/16314 -f 2939/3478/16315 2944/3484/16316 3041/3586/16317 -f 3041/3586/16318 2925/3463/16319 2939/3478/16320 -f 2919/3587/16321 2920/3584/16322 3038/3582/16323 -f 3038/3582/16324 3039/3581/16325 2919/3587/16326 -f 3043/3588/16327 3042/3589/16328 3039/3581/16329 -f 3039/3581/16330 3037/3579/16331 3043/3588/16332 -f 2922/3590/16333 2919/3587/16334 3039/3581/16335 -f 3039/3581/16336 3042/3589/16337 2922/3590/16338 -f 3042/3589/16339 3043/3588/16340 3045/3591/16341 -f 3045/3591/16342 3044/3592/16343 3042/3589/16344 -f 3042/3589/16345 3044/3592/16346 3046/3593/16347 -f 3046/3593/16348 2922/3590/16349 3042/3589/16350 -f 3046/3594/16351 3047/3595/16352 2921/3459/16353 -f 2921/3459/16354 2922/3460/16355 3046/3594/16356 -f 3047/3595/16357 2864/3401/16358 2863/3402/16359 -f 2863/3402/16360 2921/3459/16361 3047/3595/16362 -f 3047/3595/16363 3046/3594/16364 3049/3596/16365 -f 3049/3596/16366 3048/3597/16367 3047/3595/16368 -f 3047/3595/16369 3048/3597/16370 2865/3403/16371 -f 2865/3403/16372 2864/3401/16373 3047/3595/16374 -f 3051/3598/16375 3050/3599/16376 2831/3367/16377 -f 2831/3367/16378 2865/3403/16379 3051/3598/16380 -f 3052/3600/16381 2830/3368/16382 2831/3367/16383 -f 2831/3367/16384 3050/3599/16385 3052/3600/16386 -f 3053/3602/16387 2830/3368/16388 3052/3600/16389 -f 3052/3600/16390 3054/3601/16391 3053/3602/16392 -f 3056/3605/16393 3055/3606/16394 3058/3603/16395 -f 3058/3603/16396 3057/3604/16397 3056/3605/16398 -f 3060/3607/16399 3059/3608/16400 3058/3603/16401 -f 3058/3603/16402 3055/3606/16403 3060/3607/16404 -f 3061/3610/16405 3059/3608/16406 3060/3607/16407 -f 3060/3607/16408 3062/3609/16409 3061/3610/16410 -f 3060/3607/16411 3055/3606/16412 3064/3611/16413 -f 3064/3611/16414 3063/3612/16415 3060/3607/16416 -f 3055/3606/16417 3056/3605/16418 3065/3613/16419 -f 3065/3613/16420 3064/3611/16421 3055/3606/16422 -f 3056/3605/16423 2780/3317/16424 2771/3306/16425 -f 3063/3612/16426 3066/3614/16427 3062/3609/16428 -f 3062/3609/16429 3060/3607/16430 3063/3612/16431 -f 3067/3617/16432 3063/3612/16433 3069/3615/16434 -f 3069/3615/16435 3068/3616/16436 3067/3617/16437 -f 3070/3619/16438 3068/3616/16439 3069/3615/16440 -f 3069/3615/16441 3071/3618/16442 3070/3619/16443 -f 3073/3620/16444 3072/3621/16445 3067/3617/16446 -f 3067/3617/16447 2741/3280/16448 3073/3620/16449 -f 3066/3614/16450 3063/3612/16451 3067/3617/16452 -f 3067/3617/16453 3072/3621/16454 3066/3614/16455 -f 2740/3281/16456 2741/3280/16457 3067/3617/16458 -f 3067/3617/16459 3068/3616/16460 2740/3281/16461 -f 3075/3624/16462 3074/3625/16463 3072/3622/16464 -f 3072/3622/16465 3073/3623/16466 3075/3624/16467 -f 3076/3626/16468 3066/3627/16469 3072/3622/16470 -f 3072/3622/16471 3074/3625/16472 3076/3626/16473 -f 2751/3292/16474 2752/3291/16475 3076/3626/16476 -f 3076/3626/16477 3074/3625/16478 2751/3292/16479 -f 3076/3626/16480 2752/3291/16481 2759/3298/16482 -f 2759/3298/16483 3016/3560/16484 3076/3626/16485 -f 3076/3626/16486 3016/3560/16487 3062/3628/16488 -f 3062/3628/16489 3066/3627/16490 3076/3626/16491 -f 3078/3629/16492 3077/3630/16493 2760/3297/16494 -f 2760/3297/16495 2757/3296/16496 3078/3629/16497 -f 3077/3630/16498 3078/3629/16499 3079/3631/16500 -f 3079/3631/16501 3053/3602/16502 3077/3630/16503 -f 3054/3601/16504 3080/3632/16505 3077/3630/16506 -f 3077/3630/16507 3053/3602/16508 3054/3601/16509 -f 3014/3558/16510 2760/3297/16511 3077/3630/16512 -f 3077/3630/16513 3080/3632/16514 3014/3558/16515 -f 3079/3631/16516 2828/3363/16517 2830/3368/16518 -f 2830/3368/16519 3053/3602/16520 3079/3631/16521 -f 2778/3316/16522 3081/3633/16523 3079/3631/16524 -f 3079/3631/16525 3078/3629/16526 2778/3316/16527 -f 2827/3364/16528 2828/3363/16529 3079/3631/16530 -f 3079/3631/16531 3081/3633/16532 2827/3364/16533 -f 2765/3303/16534 2810/3350/16535 3081/3633/16536 -f 3081/3633/16537 2778/3316/16538 2765/3303/16539 -f 2811/3349/16540 2827/3364/16541 3081/3633/16542 -f 3081/3633/16543 2810/3350/16544 2811/3349/16545 -f 2758/3295/16546 2778/3316/16547 3078/3629/16548 -f 3078/3629/16549 2757/3296/16550 2758/3295/16551 -f 2756/3294/16552 2751/3292/16553 3074/3625/16554 -f 3074/3625/16555 3075/3624/16556 2756/3294/16557 -f 3082/3635/16558 2756/3294/16559 3075/3624/16560 -f 3075/3624/16561 3083/3634/16562 3082/3635/16563 -f 3084/3636/16564 3083/3634/16565 3075/3624/16566 -f 3075/3624/16567 3073/3623/16568 3084/3636/16569 -f 3084/3636/16570 3085/3637/16571 3083/3634/16572 -f 3084/3638/16573 3073/3620/16574 2741/3280/16575 -f 3082/3635/16576 3083/3634/16577 3085/3637/16578 -f 3085/3637/16579 2744/3285/16580 3082/3635/16581 -f 3086/3639/16582 2750/3288/16583 3085/3637/16584 -f 3085/3637/16585 3084/3636/16586 3086/3639/16587 -f 3087/3641/16588 2750/3288/16589 3086/3639/16590 -f 3086/3639/16591 3088/3640/16592 3087/3641/16593 -f 2742/3279/16594 3089/3643/16595 3086/3642/16596 -f 3086/3642/16597 3084/3638/16598 2742/3279/16599 -f 3090/3644/16600 3088/3645/16601 3086/3642/16602 -f 3086/3642/16603 3089/3643/16604 3090/3644/16605 -f 3090/3644/16606 3091/3646/16607 3088/3645/16608 -f 3093/3647/16609 3092/3648/16610 3090/3644/16611 -f 3090/3644/16612 3089/3643/16613 3093/3647/16614 -f 3094/3649/16615 3091/3646/16616 3090/3644/16617 -f 3090/3644/16618 3092/3648/16619 3094/3649/16620 -f 3096/3650/16621 3095/3651/16622 3094/3649/16623 -f 3094/3649/16624 3092/3648/16625 3096/3650/16626 -f 3097/3652/16627 2728/3266/16628 3094/3649/16629 -f 3094/3649/16630 3095/3651/16631 3097/3652/16632 -f 2723/3260/16633 2728/3266/16634 3097/3652/16635 -f 3097/3652/16636 2724/3261/16637 2723/3260/16638 -f 3099/3653/16639 3098/3654/16640 3097/3652/16641 -f 3097/3652/16642 3095/3651/16643 3099/3653/16644 -f 2722/3258/16645 2724/3261/16646 3097/3652/16647 -f 3097/3652/16648 3098/3654/16649 2722/3258/16650 -f 3101/3655/16651 3100/3656/16652 3098/3654/16653 -f 3098/3654/16654 3099/3653/16655 3101/3655/16656 -f 2716/3252/16657 2722/3258/16658 3098/3654/16659 -f 3098/3654/16660 3100/3656/16661 2716/3252/16662 -f 2725/3264/16663 2726/3263/16664 3100/3656/16665 -f 3100/3656/16666 3101/3655/16667 2725/3264/16668 -f 2715/3253/16669 2716/3252/16670 3100/3656/16671 -f 3100/3656/16672 2726/3263/16673 2715/3253/16674 -f 3103/3657/16675 3102/3658/16676 3101/3655/16677 -f 3101/3655/16678 3099/3653/16679 3103/3657/16680 -f 3104/3659/16681 2725/3264/16682 3101/3655/16683 -f 3101/3655/16684 3102/3658/16685 3104/3659/16686 -f 3106/3660/16687 3105/3661/16688 3104/3659/16689 -f 3104/3659/16690 3102/3658/16691 3106/3660/16692 -f 3104/3659/16693 2727/3262/16694 2725/3264/16695 -f 3107/3664/16696 2739/3277/16697 3109/3662/16698 -f 3109/3662/16699 3108/3663/16700 3107/3664/16701 -f 3109/3662/16702 3110/3666/16703 3111/3665/16704 -f 3111/3665/16705 3108/3663/16706 3109/3662/16707 -f 3109/3662/16708 3112/3668/16709 3113/3667/16710 -f 3113/3667/16711 3110/3666/16712 3109/3662/16713 -f 2734/3275/16714 3114/3669/16715 3112/3668/16716 -f 3112/3668/16717 2739/3277/16718 2734/3275/16719 -f 3114/3669/16720 3115/3670/16721 3113/3667/16722 -f 3113/3667/16723 3112/3668/16724 3114/3669/16725 -f 2749/3286/16726 3116/3671/16727 3114/3669/16728 -f 3114/3669/16729 2734/3275/16730 2749/3286/16731 -f 3116/3671/16732 3117/3672/16733 3115/3670/16734 -f 3115/3670/16735 3114/3669/16736 3116/3671/16737 -f 3118/3674/16738 3115/3670/16739 3117/3672/16740 -f 3117/3672/16741 2729/3673/16742 3118/3674/16743 -f 3116/3671/16744 3087/3641/16745 3091/3675/16746 -f 3091/3675/16747 3117/3672/16748 3116/3671/16749 -f 3116/3671/16750 2749/3286/16751 2750/3288/16752 -f 2750/3288/16753 3087/3641/16754 3116/3671/16755 -f 2733/3268/16756 2739/3277/16757 3107/3664/16758 -f 3107/3664/16759 2732/3269/16760 2733/3268/16761 -f 3106/3660/16762 3119/3677/16763 3120/3676/16764 -f 3120/3676/16765 3105/3661/16766 3106/3660/16767 -f 2730/3271/16768 2731/3270/16769 3120/3676/16770 -f 3120/3676/16771 3119/3677/16772 2730/3271/16773 -f 3122/3678/16774 3121/3679/16775 2730/3271/16776 -f 2730/3271/16777 3119/3677/16778 3122/3678/16779 -f 2738/3276/16780 2730/3271/16781 3121/3679/16782 -f 3121/3679/16783 3123/3680/16784 2738/3276/16785 -f 3124/3682/16786 2736/3273/16787 2738/3276/16788 -f 2738/3276/16789 3125/3681/16790 3124/3682/16791 -f 3126/3683/16792 3125/3681/16793 2738/3276/16794 -f 2738/3276/16795 3123/3680/16796 3126/3683/16797 -f 3127/3684/16798 3125/3681/16799 3126/3683/16800 -f 3126/3683/16801 2786/3323/16802 3127/3684/16803 -f 3129/3685/16804 3128/3686/16805 3126/3683/16806 -f 3126/3683/16807 3123/3680/16808 3129/3685/16809 -f 2785/3324/16810 2786/3323/16811 3126/3683/16812 -f 3126/3683/16813 3128/3686/16814 2785/3324/16815 -f 3129/3685/16816 3130/3688/16817 3131/3687/16818 -f 3131/3687/16819 3128/3686/16820 3129/3685/16821 -f 2799/3337/16822 2785/3324/16823 3128/3686/16824 -f 3128/3686/16825 3131/3687/16826 2799/3337/16827 -f 3132/3689/16828 2776/3315/16829 3131/3687/16830 -f 3131/3687/16831 3130/3688/16832 3132/3689/16833 -f 2776/3315/16834 2777/3314/16835 2799/3337/16836 -f 2799/3337/16837 3131/3687/16838 2776/3315/16839 -f 3121/3679/16840 3133/3690/16841 3129/3685/16842 -f 3129/3685/16843 3123/3680/16844 3121/3679/16845 -f 3133/3690/16846 3134/3691/16847 3130/3688/16848 -f 3130/3688/16849 3129/3685/16850 3133/3690/16851 -f 3122/3678/16852 3135/3692/16853 3133/3690/16854 -f 3133/3690/16855 3121/3679/16856 3122/3678/16857 -f 3135/3692/16858 3136/3693/16859 3134/3691/16860 -f 3134/3691/16861 3133/3690/16862 3135/3692/16863 -f 3137/3694/16864 3093/3647/16865 3136/3693/16866 -f 3136/3693/16867 3135/3692/16868 3137/3694/16869 -f 3138/3695/16870 3137/3694/16871 3135/3692/16872 -f 3135/3692/16873 3122/3678/16874 3138/3695/16875 -f 3096/3650/16876 3137/3694/16877 3138/3695/16878 -f 3138/3695/16879 3103/3657/16880 3096/3650/16881 -f 3119/3677/16882 3106/3660/16883 3138/3695/16884 -f 3138/3695/16885 3122/3678/16886 3119/3677/16887 -f 3102/3658/16888 3103/3657/16889 3138/3695/16890 -f 3138/3695/16891 3106/3660/16892 3102/3658/16893 -f 3092/3648/16894 3093/3647/16895 3137/3694/16896 -f 3137/3694/16897 3096/3650/16898 3092/3648/16899 -f 3140/3697/16900 3139/3698/16901 3127/3684/16902 -f 3127/3684/16903 3141/3696/16904 3140/3697/16905 -f 3124/3682/16906 3125/3681/16907 3127/3684/16908 -f 3127/3684/16909 3139/3698/16910 3124/3682/16911 -f 2787/3328/16912 2788/3327/16913 3139/3698/16914 -f 3139/3698/16915 3140/3697/16916 2787/3328/16917 -f 3142/3699/16918 3124/3682/16919 3139/3698/16920 -f 3139/3698/16921 2788/3327/16922 3142/3699/16923 -f 2789/3326/16924 2792/3332/16925 3142/3699/16926 -f 3142/3699/16927 2788/3327/16928 2789/3326/16929 -f 3144/3700/16930 3143/3701/16931 3142/3699/16932 -f 3142/3699/16933 2792/3332/16934 3144/3700/16935 -f 2736/3273/16936 3124/3682/16937 3142/3699/16938 -f 3142/3699/16939 3143/3701/16940 2736/3273/16941 -f 2748/3287/16942 2735/3274/16943 3143/3701/16944 -f 3143/3701/16945 3144/3700/16946 2748/3287/16947 -f 3143/3701/16948 2735/3274/16949 2736/3273/16950 -f 2793/3331/16951 3145/3702/16952 3144/3700/16953 -f 3144/3700/16954 2792/3332/16955 2793/3331/16956 -f 2746/3283/16957 2748/3287/16958 3144/3700/16959 -f 3144/3700/16960 3145/3702/16961 2746/3283/16962 -f 2764/3304/16963 2763/3299/16964 3145/3702/16965 -f 3145/3702/16966 2793/3331/16967 2764/3304/16968 -f 2745/3284/16969 2746/3283/16970 3145/3702/16971 -f 3145/3702/16972 2763/3299/16973 2745/3284/16974 -f 2787/3328/16975 3146/3704/16976 3147/3703/16977 -f 3147/3703/16978 2790/3325/16979 2787/3328/16980 -f 3148/3705/16981 3146/3704/16982 2787/3328/16983 -f 2787/3328/16984 3140/3697/16985 3148/3705/16986 -f 2898/3439/16987 3146/3704/16988 3148/3705/16989 -f 3148/3705/16990 2901/3436/16991 2898/3439/16992 -f 3141/3696/16993 3149/3706/16994 3148/3705/16995 -f 3148/3705/16996 3140/3697/16997 3141/3696/16998 -f 2904/3440/16999 2901/3436/17000 3148/3705/17001 -f 3148/3705/17002 3149/3706/17003 2904/3440/17004 -f 3151/3707/17005 3150/3708/17006 3149/3706/17007 -f 3149/3706/17008 3141/3696/17009 3151/3707/17010 -f 3152/3709/17011 2904/3440/17012 3149/3706/17013 -f 3149/3706/17014 3150/3708/17015 3152/3709/17016 -f 2903/3441/17017 2904/3440/17018 3152/3709/17019 -f 3152/3709/17020 2951/3493/17021 2903/3441/17022 -f 2911/3448/17023 2912/3450/17024 3152/3709/17025 -f 3152/3709/17026 3150/3708/17027 2911/3448/17028 -f 2950/3494/17029 2951/3493/17030 3152/3709/17031 -f 3152/3709/17032 2912/3450/17033 2950/3494/17034 -f 2781/3322/17035 2911/3448/17036 3150/3708/17037 -f 3150/3708/17038 3151/3707/17039 2781/3322/17040 -f 2898/3439/17041 3153/3710/17042 3147/3703/17043 -f 3147/3703/17044 3146/3704/17045 2898/3439/17046 -f 3155/3711/17047 3154/3712/17048 3147/3703/17049 -f 3147/3703/17050 3153/3710/17051 3155/3711/17052 -f 3156/3713/17053 2790/3325/17054 3147/3703/17055 -f 3147/3703/17056 3154/3712/17057 3156/3713/17058 -f 2791/3329/17059 2790/3325/17060 3156/3713/17061 -f 3156/3713/17062 3157/3714/17063 2791/3329/17064 -f 2795/3333/17065 2791/3329/17066 3157/3714/17067 -f 3157/3714/17068 2817/3353/17069 2795/3333/17070 -f 3159/3717/17071 3158/3718/17072 3161/3715/17073 -f 3161/3715/17074 3160/3716/17075 3159/3717/17076 -f 2815/3355/17077 2816/3354/17078 3161/3715/17079 -f 3161/3715/17080 3158/3718/17081 2815/3355/17082 -f 3163/3719/17083 3162/3720/17084 3158/3718/17085 -f 3158/3718/17086 3159/3717/17087 3163/3719/17088 -f 2818/3356/17089 2815/3355/17090 3158/3718/17091 -f 3158/3718/17092 3162/3720/17093 2818/3356/17094 -f 3162/3720/17095 3163/3719/17096 2851/3390/17097 -f 2851/3390/17098 2837/3377/17099 3162/3720/17100 -f 3162/3720/17101 2837/3377/17102 2838/3376/17103 -f 2838/3376/17104 2818/3356/17105 3162/3720/17106 -f 2838/3376/17107 2820/3359/17108 2814/3351/17109 -f 2814/3351/17110 2818/3356/17111 2838/3376/17112 -f 2821/3358/17113 2813/3352/17114 2814/3351/17115 -f 2814/3351/17116 2820/3359/17117 2821/3358/17118 -f 2766/3302/17119 2764/3304/17120 2813/3352/17121 -f 2813/3352/17122 2821/3358/17123 2766/3302/17124 -f 3165/3721/17125 3164/3722/17126 3159/3717/17127 -f 3159/3717/17128 3160/3716/17129 3165/3721/17130 -f 2850/3391/17131 3163/3719/17132 3159/3717/17133 -f 3159/3717/17134 3164/3722/17135 2850/3391/17136 -f 3166/3723/17137 3164/3722/17138 3165/3721/17139 -f 2879/3418/17140 2850/3391/17141 3164/3722/17142 -f 3164/3722/17143 3166/3723/17144 2879/3418/17145 -f 3168/3724/17146 3167/3725/17147 2879/3418/17148 -f 2879/3418/17149 3166/3723/17150 3168/3724/17151 -f 2879/3418/17152 3167/3725/17153 2899/3438/17154 -f 2899/3438/17155 2880/3417/17156 2879/3418/17157 -f 3153/3710/17158 2898/3439/17159 2899/3438/17160 -f 2899/3438/17161 3167/3725/17162 3153/3710/17163 -f 3155/3711/17164 3153/3710/17165 3167/3725/17166 -f 3167/3725/17167 3168/3724/17168 3155/3711/17169 -f 3095/3651/17170 3096/3650/17171 3103/3657/17172 -f 3103/3657/17173 3099/3653/17174 3095/3651/17175 -f 2742/3279/17176 3136/3693/17177 3093/3647/17178 -f 3093/3647/17179 3089/3643/17180 2742/3279/17181 -f 3087/3641/17182 3088/3640/17183 3091/3675/17184 -f 2745/3284/17185 2761/3301/17186 3082/3635/17187 -f 3082/3635/17188 2744/3285/17189 2745/3284/17190 -f 2754/3289/17191 2756/3294/17192 3082/3635/17193 -f 3082/3635/17194 2761/3301/17195 2754/3289/17196 -f 3016/3560/17197 3017/3559/17198 3061/3726/17199 -f 3061/3726/17200 3062/3628/17201 3016/3560/17202 -f 3169/3727/17203 2780/3317/17204 3056/3605/17205 -f 3056/3605/17206 3057/3604/17207 3169/3727/17208 -f 3048/3597/17209 3170/3728/17210 3051/3598/17211 -f 3051/3598/17212 2865/3403/17213 3048/3597/17214 -f 3171/3729/17215 3170/3728/17216 3048/3597/17217 -f 3048/3597/17218 3049/3596/17219 3171/3729/17220 -f 3172/3732/17221 3171/3733/17222 3049/3730/17223 -f 3049/3730/17224 3173/3731/17225 3172/3732/17226 -f 3049/3730/17227 3046/3593/17228 3044/3592/17229 -f 3044/3592/17230 3173/3731/17231 3049/3730/17232 -f 3044/3592/17233 3045/3591/17234 3174/3734/17235 -f 3174/3734/17236 3173/3731/17237 3044/3592/17238 -f 3045/3591/17239 3175/3735/17240 3022/3566/17241 -f 3022/3566/17242 3174/3734/17243 3045/3591/17244 -f 3175/3735/17245 3176/3736/17246 3020/3562/17247 -f 3020/3562/17248 3022/3566/17249 3175/3735/17250 -f 3175/3735/17251 3045/3591/17252 3043/3588/17253 -f 3043/3588/17254 3034/3576/17255 3175/3735/17256 -f 3175/3735/17257 3034/3576/17258 3032/3574/17259 -f 3032/3574/17260 3176/3736/17261 3175/3735/17262 -f 3032/3574/17263 3029/3572/17264 3027/3569/17265 -f 3027/3569/17266 3176/3736/17267 3032/3574/17268 -f 3027/3569/17269 3019/3563/17270 3020/3562/17271 -f 3020/3562/17272 3176/3736/17273 3027/3569/17274 -f 3023/3565/17275 3177/3737/17276 3174/3734/17277 -f 3174/3734/17278 3022/3566/17279 3023/3565/17280 -f 3172/3732/17281 3173/3731/17282 3174/3734/17283 -f 3174/3734/17284 3177/3737/17285 3172/3732/17286 -f 3033/3577/17287 3034/3576/17288 3043/3588/17289 -f 3043/3588/17290 3037/3579/17291 3033/3577/17292 -f 3004/3550/17293 3179/3738/17294 3178/3739/17295 -f 3182/3740/17296 3181/3741/17297 3180/3742/17298 -f 3179/3738/17299 3183/3743/17300 3180/3742/17301 -f 3180/3742/17302 3178/3739/17303 3179/3738/17304 -f 3180/3742/17305 3183/3743/17306 3182/3740/17307 -f 3185/3744/17308 3184/3745/17309 3181/3741/17310 -f 3181/3741/17311 3182/3740/17312 3185/3744/17313 -f 3181/3741/17314 3184/3745/17315 3186/3746/17316 -f 3187/3747/17317 3003/3546/17318 3186/3746/17319 -f 3186/3746/17320 3184/3745/17321 3187/3747/17322 -f 3001/3543/17323 3011/3553/17324 3186/3746/17325 -f 3186/3746/17326 3003/3546/17327 3001/3543/17328 -f 3189/3749/17329 3188/3750/17330 3187/3747/17331 -f 3187/3747/17332 3190/3748/17333 3189/3749/17334 -f 3000/3544/17335 3003/3546/17336 3187/3747/17337 -f 3187/3747/17338 3188/3750/17339 3000/3544/17340 -f 3191/3751/17341 3190/3748/17342 3187/3747/17343 -f 3187/3747/17344 3184/3745/17345 3191/3751/17346 -f 3193/3752/17347 3192/3753/17348 3188/3750/17349 -f 3188/3750/17350 3189/3749/17351 3193/3752/17352 -f 2999/3545/17353 3000/3544/17354 3188/3750/17355 -f 3188/3750/17356 3192/3753/17357 2999/3545/17358 -f 3195/3754/17359 3194/3755/17360 3192/3753/17361 -f 3192/3753/17362 3193/3752/17363 3195/3754/17364 -f 3196/3756/17365 2999/3545/17366 3192/3753/17367 -f 3192/3753/17368 3194/3755/17369 3196/3756/17370 -f 3196/3756/17371 3194/3755/17372 3198/3757/17373 -f 3198/3757/17374 3197/3758/17375 3196/3756/17376 -f 3196/3756/17377 3197/3758/17378 3200/3759/17379 -f 3200/3759/17380 3199/3760/17381 3196/3756/17382 -f 3196/3756/17383 3199/3760/17384 3002/3542/17385 -f 3002/3542/17386 2999/3545/17387 3196/3756/17388 -f 3199/3760/17389 3200/3759/17390 3202/3761/17391 -f 3202/3761/17392 3201/3762/17393 3199/3760/17394 -f 3010/3554/17395 3002/3542/17396 3199/3760/17397 -f 3199/3760/17398 3201/3762/17399 3010/3554/17400 -f 3201/3762/17401 3202/3761/17402 3204/3763/17403 -f 3204/3763/17404 3203/3764/17405 3201/3762/17406 -f 3009/3551/17407 3010/3554/17408 3201/3762/17409 -f 3201/3762/17410 3203/3764/17411 3009/3551/17412 -f 3203/3764/17413 3204/3763/17414 3206/3765/17415 -f 3206/3765/17416 3205/3766/17417 3203/3764/17418 -f 3008/3552/17419 3009/3551/17420 3203/3764/17421 -f 3203/3764/17422 3205/3766/17423 3008/3552/17424 -f 3205/3766/17425 3206/3765/17426 3208/3767/17427 -f 3208/3767/17428 3207/3768/17429 3205/3766/17430 -f 3209/3769/17431 3008/3552/17432 3205/3766/17433 -f 3205/3766/17434 3207/3768/17435 3209/3769/17436 -f 3211/3770/17437 3210/3771/17438 3209/3769/17439 -f 3209/3769/17440 3207/3768/17441 3211/3770/17442 -f 3213/3772/17443 3212/3773/17444 3209/3769/17445 -f 3209/3769/17446 3210/3771/17447 3213/3772/17448 -f 3006/3548/17449 3008/3552/17450 3209/3769/17451 -f 3209/3769/17452 3212/3773/17453 3006/3548/17454 -f 3214/3774/17455 3012/3556/17456 3212/3773/17457 -f 3212/3773/17458 3213/3772/17459 3214/3774/17460 -f 3005/3549/17461 3006/3548/17462 3212/3773/17463 -f 3212/3773/17464 3012/3556/17465 3005/3549/17466 -f 3216/3775/17467 3215/3776/17468 3213/3772/17469 -f 3213/3772/17470 3210/3771/17471 3216/3775/17472 -f 3213/3772/17473 3215/3776/17474 3214/3774/17475 -f 3218/3777/17476 3217/3778/17477 3214/3774/17478 -f 3214/3774/17479 3215/3776/17480 3218/3777/17481 -f 3216/3775/17482 3219/3779/17483 3218/3777/17484 -f 3218/3777/17485 3215/3776/17486 3216/3775/17487 -f 3220/3780/17488 2996/3539/17489 3218/3777/17490 -f 3218/3777/17491 3219/3779/17492 3220/3780/17493 -f 2994/3538/17494 3217/3778/17495 3218/3777/17496 -f 3218/3777/17497 2996/3539/17498 2994/3538/17499 -f 3222/3781/17500 3221/3782/17501 3220/3780/17502 -f 3220/3780/17503 3219/3779/17504 3222/3781/17505 -f 3224/3783/17506 3223/3784/17507 3220/3780/17508 -f 3220/3780/17509 3221/3782/17510 3224/3783/17511 -f 2992/3534/17512 2996/3539/17513 3220/3780/17514 -f 3220/3780/17515 3223/3784/17516 2992/3534/17517 -f 3226/3785/17518 3225/3786/17519 3223/3784/17520 -f 3223/3784/17521 3224/3783/17522 3226/3785/17523 -f 2991/3535/17524 2992/3534/17525 3223/3784/17526 -f 3223/3784/17527 3225/3786/17528 2991/3535/17529 -f 3228/3787/17530 3227/3788/17531 3225/3786/17532 -f 3225/3786/17533 3226/3785/17534 3228/3787/17535 -f 3229/3789/17536 2991/3535/17537 3225/3786/17538 -f 3225/3786/17539 3227/3788/17540 3229/3789/17541 -f 3193/3790/17542 3189/3791/17543 3229/3789/17544 -f 3229/3789/17545 3227/3788/17546 3193/3790/17547 -f 3190/3792/17548 3230/3793/17549 3229/3789/17550 -f 3229/3789/17551 3189/3791/17552 3190/3792/17553 -f 2990/3536/17554 2991/3535/17555 3229/3789/17556 -f 3229/3789/17557 3230/3793/17558 2990/3536/17559 -f 3191/3794/17560 2998/3540/17561 3230/3793/17562 -f 3230/3793/17563 3190/3792/17564 3191/3794/17565 -f 2995/3537/17566 2990/3536/17567 3230/3793/17568 -f 3230/3793/17569 2998/3540/17570 2995/3537/17571 -f 3195/3795/17572 3193/3790/17573 3227/3788/17574 -f 3227/3788/17575 3228/3787/17576 3195/3795/17577 -f 3228/3787/17578 3226/3785/17579 3232/3796/17580 -f 3232/3796/17581 3231/3797/17582 3228/3787/17583 -f 3228/3787/17584 3231/3797/17585 3233/3798/17586 -f 3233/3798/17587 3195/3795/17588 3228/3787/17589 -f 3233/3799/17590 3198/3757/17591 3194/3755/17592 -f 3194/3755/17593 3195/3754/17594 3233/3799/17595 -f 3235/3800/17596 3234/3801/17597 3198/3757/17598 -f 3198/3757/17599 3233/3799/17600 3235/3800/17601 -f 3236/3802/17602 3197/3758/17603 3198/3757/17604 -f 3198/3757/17605 3234/3801/17606 3236/3802/17607 -f 3236/3802/17608 3237/3803/17609 3200/3759/17610 -f 3200/3759/17611 3197/3758/17612 3236/3802/17613 -f 3238/3804/17614 3202/3761/17615 3200/3759/17616 -f 3200/3759/17617 3237/3803/17618 3238/3804/17619 -f 3239/3805/17620 3204/3763/17621 3202/3761/17622 -f 3202/3761/17623 3238/3804/17624 3239/3805/17625 -f 3240/3806/17626 3206/3765/17627 3204/3763/17628 -f 3204/3763/17629 3239/3805/17630 3240/3806/17631 -f 3241/3807/17632 3208/3767/17633 3206/3765/17634 -f 3206/3765/17635 3240/3806/17636 3241/3807/17637 -f 3243/3808/17638 3242/3809/17639 3208/3767/17640 -f 3208/3767/17641 3241/3807/17642 3243/3808/17643 -f 3208/3767/17644 3242/3809/17645 3211/3770/17646 -f 3211/3770/17647 3207/3768/17648 3208/3767/17649 -f 3245/3810/17650 3244/3811/17651 3211/3770/17652 -f 3211/3770/17653 3242/3809/17654 3245/3810/17655 -f 3244/3811/17656 3245/3810/17657 3246/3812/17658 -f 3246/3812/17659 3222/3781/17660 3244/3811/17661 -f 3219/3779/17662 3216/3775/17663 3244/3811/17664 -f 3244/3811/17665 3222/3781/17666 3219/3779/17667 -f 3210/3771/17668 3211/3770/17669 3244/3811/17670 -f 3244/3811/17671 3216/3775/17672 3210/3771/17673 -f 3246/3812/17674 3247/3813/17675 3221/3782/17676 -f 3221/3782/17677 3222/3781/17678 3246/3812/17679 -f 3248/3814/17680 3224/3783/17681 3221/3782/17682 -f 3221/3782/17683 3247/3813/17684 3248/3814/17685 -f 3232/3796/17686 3226/3785/17687 3224/3783/17688 -f 3224/3783/17689 3248/3814/17690 3232/3796/17691 -f 3250/3815/17692 3249/3816/17693 3232/3796/17694 -f 3232/3796/17695 3248/3814/17696 3250/3815/17697 -f 3251/3817/17698 3231/3797/17699 3232/3796/17700 -f 3232/3796/17701 3249/3816/17702 3251/3817/17703 -f 3252/3820/17704 2969/3513/17705 3251/3818/17706 -f 3251/3818/17707 3249/3819/17708 3252/3820/17709 -f 2970/3512/17710 3235/3821/17711 3251/3818/17712 -f 3251/3818/17713 2969/3513/17714 2970/3512/17715 -f 3233/3798/17716 3231/3797/17717 3251/3817/17718 -f 3251/3817/17719 3235/3822/17720 3233/3798/17721 -f 3253/3824/17722 2966/3509/17723 3252/3820/17724 -f 3252/3820/17725 3254/3823/17726 3253/3824/17727 -f 2965/3505/17728 2969/3513/17729 3252/3820/17730 -f 3252/3820/17731 2966/3509/17732 2965/3505/17733 -f 3250/3825/17734 3254/3823/17735 3252/3820/17736 -f 3252/3820/17737 3249/3819/17738 3250/3825/17739 -f 2927/3466/17740 2928/3465/17741 3253/3824/17742 -f 3253/3824/17743 3255/3826/17744 2927/3466/17745 -f 2930/3469/17746 2966/3509/17747 3253/3824/17748 -f 3253/3824/17749 2928/3465/17750 2930/3469/17751 -f 3256/3827/17752 3255/3826/17753 3253/3824/17754 -f 3253/3824/17755 3254/3823/17756 3256/3827/17757 -f 3257/3829/17758 3255/3826/17759 3256/3827/17760 -f 3256/3827/17761 3258/3828/17762 3257/3829/17763 -f 3250/3825/17764 3259/3830/17765 3256/3827/17766 -f 3256/3827/17767 3254/3823/17768 3250/3825/17769 -f 3260/3831/17770 3258/3828/17771 3256/3827/17772 -f 3256/3827/17773 3259/3830/17774 3260/3831/17775 -f 3261/3833/17776 3258/3828/17777 3260/3831/17778 -f 3260/3831/17779 3262/3832/17780 3261/3833/17781 -f 3247/3813/17782 3246/3812/17783 3260/3834/17784 -f 3260/3834/17785 3259/3835/17786 3247/3813/17787 -f 3245/3810/17788 3262/3836/17789 3260/3834/17790 -f 3260/3834/17791 3246/3812/17792 3245/3810/17793 -f 3264/3838/17794 3263/3839/17795 3261/3833/17796 -f 3261/3833/17797 3265/3837/17798 3264/3838/17799 -f 3257/3829/17800 3258/3828/17801 3261/3833/17802 -f 3261/3833/17803 3263/3839/17804 3257/3829/17805 -f 3243/3840/17806 3265/3837/17807 3261/3833/17808 -f 3261/3833/17809 3262/3832/17810 3243/3840/17811 -f 2907/3446/17812 3266/3841/17813 3263/3839/17814 -f 3263/3839/17815 3264/3838/17816 2907/3446/17817 -f 3267/3842/17818 3257/3829/17819 3263/3839/17820 -f 3263/3839/17821 3266/3841/17822 3267/3842/17823 -f 3269/3843/17824 3268/3844/17825 3267/3842/17826 -f 3267/3842/17827 3266/3841/17828 3269/3843/17829 -f 2926/3467/17830 2927/3466/17831 3267/3842/17832 -f 3267/3842/17833 3268/3844/17834 2926/3467/17835 -f 3255/3826/17836 3257/3829/17837 3267/3842/17838 -f 3267/3842/17839 2927/3466/17840 3255/3826/17841 -f 3271/3845/17842 3270/3846/17843 3268/3844/17844 -f 3268/3844/17845 3269/3843/17846 3271/3845/17847 -f 2897/3434/17848 2926/3467/17849 3268/3844/17850 -f 3268/3844/17851 3270/3846/17852 2897/3434/17853 -f 3273/3847/17854 3272/3848/17855 3270/3846/17856 -f 3270/3846/17857 3271/3845/17858 3273/3847/17859 -f 2896/3435/17860 2897/3434/17861 3270/3846/17862 -f 3270/3846/17863 3272/3848/17864 2896/3435/17865 -f 3275/3849/17866 3274/3850/17867 3272/3848/17868 -f 3272/3848/17869 3273/3847/17870 3275/3849/17871 -f 2846/3385/17872 2896/3435/17873 3272/3848/17874 -f 3272/3848/17875 3274/3850/17876 2846/3385/17877 -f 3277/3851/17878 3276/3852/17879 3274/3850/17880 -f 3274/3850/17881 3275/3849/17882 3277/3851/17883 -f 2845/3380/17884 2846/3385/17885 3274/3850/17886 -f 3274/3850/17887 3276/3852/17888 2845/3380/17889 -f 3279/3853/17890 3278/3854/17891 3276/3852/17892 -f 3276/3852/17893 3277/3851/17894 3279/3853/17895 -f 2849/3386/17896 2845/3380/17897 3276/3852/17898 -f 3276/3852/17899 3278/3854/17900 2849/3386/17901 -f 3277/3851/17902 3280/3856/17903 3281/3855/17904 -f 3281/3855/17905 3279/3853/17906 3277/3851/17907 -f 2803/3342/17908 2804/3341/17909 3281/3855/17910 -f 3281/3855/17911 3280/3856/17912 2803/3342/17913 -f 3275/3849/17914 3282/3857/17915 3280/3856/17916 -f 3280/3856/17917 3277/3851/17918 3275/3849/17919 -f 2782/3321/17920 2803/3342/17921 3280/3856/17922 -f 3280/3856/17923 3282/3857/17924 2782/3321/17925 -f 3273/3847/17926 3283/3858/17927 3282/3857/17928 -f 3282/3857/17929 3275/3849/17930 3273/3847/17931 -f 2781/3322/17932 2782/3321/17933 3282/3857/17934 -f 3282/3857/17935 3283/3858/17936 2781/3322/17937 -f 3271/3845/17938 2910/3449/17939 3283/3858/17940 -f 3283/3858/17941 3273/3847/17942 3271/3845/17943 -f 2910/3449/17944 2911/3448/17945 2781/3322/17946 -f 2781/3322/17947 3283/3858/17948 2910/3449/17949 -f 2908/3445/17950 2910/3449/17951 3271/3845/17952 -f 3271/3845/17953 3269/3843/17954 2908/3445/17955 -f 2907/3446/17956 2908/3445/17957 3269/3843/17958 -f 3269/3843/17959 3266/3841/17960 2907/3446/17961 -f 2906/3447/17962 2907/3446/17963 3264/3838/17964 -f 3264/3838/17965 3284/3859/17966 2906/3447/17967 -f 3285/3860/17968 3284/3859/17969 3264/3838/17970 -f 3264/3838/17971 3265/3837/17972 3285/3860/17973 -f 3243/3840/17974 3241/3861/17975 3285/3860/17976 -f 3285/3860/17977 3265/3837/17978 3243/3840/17979 -f 3240/3862/17980 3286/3863/17981 3285/3860/17982 -f 3285/3860/17983 3241/3861/17984 3240/3862/17985 -f 3288/3864/17986 3287/3865/17987 2949/3491/17988 -f 2949/3491/17989 2950/3494/17990 3288/3864/17991 -f 3288/3864/17992 2906/3447/17993 3284/3859/17994 -f 3289/3866/17995 3287/3865/17996 3288/3864/17997 -f 3288/3864/17998 3286/3863/17999 3289/3866/18000 -f 3290/3868/18001 3287/3865/18002 3289/3866/18003 -f 3289/3866/18004 3291/3867/18005 3290/3868/18006 -f 3240/3862/18007 3239/3869/18008 3289/3866/18009 -f 3289/3866/18010 3286/3863/18011 3240/3862/18012 -f 3238/3870/18013 3291/3867/18014 3289/3866/18015 -f 3289/3866/18016 3239/3869/18017 3238/3870/18018 -f 3290/3868/18019 2972/3873/18020 3292/3871/18021 -f 3292/3871/18022 2948/3872/18023 3290/3868/18024 -f 3290/3868/18025 2948/3872/18026 2949/3491/18027 -f 2949/3491/18028 3287/3865/18029 3290/3868/18030 -f 3293/3874/18031 2972/3873/18032 3290/3868/18033 -f 3290/3868/18034 3291/3867/18035 3293/3874/18036 -f 3292/3876/18037 2972/3515/18038 2973/3514/18039 -f 2973/3514/18040 3294/3875/18041 3292/3876/18042 -f 3296/3879/18043 3295/3880/18044 3292/3877/18045 -f 3292/3877/18046 3294/3878/18047 3296/3879/18048 -f 2947/3489/18049 2948/3488/18050 3292/3877/18051 -f 3292/3877/18052 3295/3880/18053 2947/3489/18054 -f 3298/3881/18055 3297/3882/18056 3296/3879/18057 -f 3296/3879/18058 3294/3878/18059 3298/3881/18060 -f 3300/3883/18061 3299/3884/18062 3296/3879/18063 -f 3296/3879/18064 3297/3882/18065 3300/3883/18066 -f 3301/3885/18067 3295/3880/18068 3296/3879/18069 -f 3296/3879/18070 3299/3884/18071 3301/3885/18072 -f 2985/3529/18073 2986/3528/18074 3299/3886/18075 -f 3299/3886/18076 3300/3887/18077 2985/3529/18078 -f 2988/3532/18079 3301/3888/18080 3299/3886/18081 -f 3299/3886/18082 2986/3528/18083 2988/3532/18084 -f 3303/3889/18085 3302/3890/18086 3300/3883/18087 -f 3300/3883/18088 3297/3882/18089 3303/3889/18090 -f 3304/3892/18091 2985/3529/18092 3300/3887/18093 -f 3300/3887/18094 3302/3891/18095 3304/3892/18096 -f 3306/3893/18097 3305/3894/18098 3304/3892/18099 -f 3304/3892/18100 3302/3891/18101 3306/3893/18102 -f 3308/3895/18103 3307/3896/18104 3304/3892/18105 -f 3304/3892/18106 3305/3894/18107 3308/3895/18108 -f 2984/3530/18109 2985/3529/18110 3304/3892/18111 -f 3304/3892/18112 3307/3896/18113 2984/3530/18114 -f 3310/3897/18115 3309/3898/18116 3305/3894/18117 -f 3305/3894/18118 3306/3893/18119 3310/3897/18120 -f 3311/3899/18121 3308/3895/18122 3305/3894/18123 -f 3305/3894/18124 3309/3898/18125 3311/3899/18126 -f 2959/3501/18127 2960/3504/18128 3311/3899/18129 -f 3311/3899/18130 3309/3898/18131 2959/3501/18132 -f 3313/3902/18133 3312/3903/18134 3315/3900/18135 -f 3315/3900/18136 3314/3901/18137 3313/3902/18138 -f 2977/3521/18139 2978/3520/18140 3315/3900/18141 -f 3315/3900/18142 3312/3903/18143 2977/3521/18144 -f 3317/3904/18145 3316/3905/18146 3312/3903/18147 -f 3312/3903/18148 3313/3902/18149 3317/3904/18150 -f 3318/3906/18151 2977/3521/18152 3312/3903/18153 -f 3312/3903/18154 3316/3905/18155 3318/3906/18156 -f 3320/3907/18157 3319/3908/18158 3318/3906/18159 -f 3318/3906/18160 3316/3905/18161 3320/3907/18162 -f 2980/3909/18163 3321/3910/18164 3318/3906/18165 -f 3318/3906/18166 3319/3908/18167 2980/3909/18168 -f 2976/3522/18169 2977/3521/18170 3318/3906/18171 -f 3318/3906/18172 3321/3910/18173 2976/3522/18174 -f 2981/3911/18175 3322/3912/18176 3321/3910/18177 -f 3321/3910/18178 2980/3909/18179 2981/3911/18180 -f 3323/3913/18181 2976/3522/18182 3321/3910/18183 -f 3321/3910/18184 3322/3912/18185 3323/3913/18186 -f 3319/3916/18187 3320/3917/18188 3325/3914/18189 -f 3325/3914/18190 3324/3915/18191 3319/3916/18192 -f 3324/3915/18193 2983/3523/18194 2980/3526/18195 -f 2980/3526/18196 3319/3916/18197 3324/3915/18198 -f 3326/3918/18199 2953/3495/18200 3324/3915/18201 -f 3324/3915/18202 3325/3914/18203 3326/3918/18204 -f 2946/3490/18205 2983/3523/18206 3324/3915/18207 -f 3324/3915/18208 2953/3495/18209 2946/3490/18210 -f 3328/3919/18211 3327/3920/18212 3326/3918/18213 -f 3326/3918/18214 3325/3914/18215 3328/3919/18216 -f 3330/3921/18217 3329/3922/18218 3326/3918/18219 -f 3326/3918/18220 3327/3920/18221 3330/3921/18222 -f 2952/3496/18223 2953/3495/18224 3326/3918/18225 -f 3326/3918/18226 3329/3922/18227 2952/3496/18228 -f 2902/3442/18229 2903/3441/18230 3329/3923/18231 -f 3329/3923/18232 3330/3924/18233 2902/3442/18234 -f 2951/3493/18235 2952/3492/18236 3329/3923/18237 -f 3329/3923/18238 2903/3441/18239 2951/3493/18240 -f 3332/3925/18241 3331/3926/18242 3330/3921/18243 -f 3330/3921/18244 3327/3920/18245 3332/3925/18246 -f 2905/3443/18247 2902/3442/18248 3330/3924/18249 -f 3330/3924/18250 3331/3927/18251 2905/3443/18252 -f 3334/3929/18253 3333/3930/18254 3331/3927/18255 -f 3331/3927/18256 3332/3928/18257 3334/3929/18258 -f 3335/3931/18259 2905/3443/18260 3331/3927/18261 -f 3331/3927/18262 3333/3930/18263 3335/3931/18264 -f 2924/3462/18265 2894/3431/18266 3335/3931/18267 -f 3335/3931/18268 3333/3930/18269 2924/3462/18270 -f 2881/3420/18271 2882/3419/18272 3335/3931/18273 -f 3335/3931/18274 2894/3431/18275 2881/3420/18276 -f 2900/3437/18277 2905/3443/18278 3335/3931/18279 -f 3335/3931/18280 2882/3419/18281 2900/3437/18282 -f 2938/3475/18283 2924/3462/18284 3333/3930/18285 -f 3333/3930/18286 3334/3929/18287 2938/3475/18288 -f 2937/3476/18289 2938/3475/18290 3334/3929/18291 -f 3334/3929/18292 3336/3932/18293 2937/3476/18294 -f 3337/3934/18295 3336/3935/18296 3334/3933/18297 -f 3334/3933/18298 3332/3925/18299 3337/3934/18300 -f 3337/3934/18301 3338/3937/18302 3339/3936/18303 -f 3339/3936/18304 3336/3935/18305 3337/3934/18306 -f 3327/3920/18307 3328/3919/18308 3337/3934/18309 -f 3337/3934/18310 3332/3925/18311 3327/3920/18312 -f 3338/3937/18313 3337/3934/18314 3328/3919/18315 -f 3328/3919/18316 3340/3938/18317 3338/3937/18318 -f 3325/3914/18319 3320/3917/18320 3340/3938/18321 -f 3340/3938/18322 3328/3919/18323 3325/3914/18324 -f 3341/3941/18325 3339/3942/18326 3338/3939/18327 -f 3338/3939/18328 3342/3940/18329 3341/3941/18330 -f 3317/3904/18331 3342/3940/18332 3338/3939/18333 -f 3338/3939/18334 3340/3943/18335 3317/3904/18336 -f 3344/3945/18337 3343/3946/18338 3339/3936/18339 -f 3339/3936/18340 3341/3944/18341 3344/3945/18342 -f 3339/3936/18343 3343/3946/18344 2937/3947/18345 -f 2937/3947/18346 3336/3935/18347 3339/3936/18348 -f 3345/3948/18349 2935/3949/18350 2937/3947/18351 -f 2937/3947/18352 3343/3946/18353 3345/3948/18354 -f 3346/3950/18355 2934/3951/18356 2935/3949/18357 -f 2935/3949/18358 3345/3948/18359 3346/3950/18360 -f 3346/3954/18361 3347/3955/18362 3348/3952/18363 -f 3348/3952/18364 2934/3953/18365 3346/3954/18366 -f 3350/3956/18367 3349/3957/18368 3346/3950/18369 -f 3346/3950/18370 3345/3948/18371 3350/3956/18372 -f 3303/3889/18373 3347/3960/18374 3346/3958/18375 -f 3346/3958/18376 3349/3959/18377 3303/3889/18378 -f 3310/3961/18379 3306/3962/18380 3349/3957/18381 -f 3349/3957/18382 3350/3956/18383 3310/3961/18384 -f 3302/3890/18385 3303/3889/18386 3349/3959/18387 -f 3349/3959/18388 3306/3963/18389 3302/3890/18390 -f 3343/3946/18391 3344/3945/18392 3350/3956/18393 -f 3350/3956/18394 3345/3948/18395 3343/3946/18396 -f 2958/3964/18397 3310/3961/18398 3350/3956/18399 -f 3350/3956/18400 3344/3945/18401 2958/3964/18402 -f 3298/3965/18403 2974/3518/18404 3348/3952/18405 -f 3348/3952/18406 3347/3955/18407 3298/3965/18408 -f 2975/3517/18409 3351/3966/18410 3348/3952/18411 -f 3348/3952/18412 2974/3518/18413 2975/3517/18414 -f 2933/3967/18415 2934/3953/18416 3348/3952/18417 -f 3348/3952/18418 3351/3966/18419 2933/3967/18420 -f 3352/3968/18421 2942/3481/18422 3351/3966/18423 -f 3351/3966/18424 2975/3517/18425 3352/3968/18426 -f 2940/3480/18427 2933/3967/18428 3351/3966/18429 -f 3351/3966/18430 2942/3481/18431 2940/3480/18432 -f 2967/3511/18433 2968/3510/18434 3352/3968/18435 -f 3352/3968/18436 3353/3969/18437 2967/3511/18438 -f 2941/3482/18439 2942/3481/18440 3352/3968/18441 -f 3352/3968/18442 2968/3510/18443 2941/3482/18444 -f 2971/3516/18445 3353/3969/18446 3352/3968/18447 -f 3352/3968/18448 2975/3517/18449 2971/3516/18450 -f 2970/3512/18451 2967/3511/18452 3353/3969/18453 -f 3353/3969/18454 3354/3970/18455 2970/3512/18456 -f 3355/3971/18457 3354/3970/18458 3353/3969/18459 -f 3353/3969/18460 2971/3516/18461 3355/3971/18462 -f 3236/3972/18463 3234/3973/18464 3354/3970/18465 -f 3354/3970/18466 3355/3971/18467 3236/3972/18468 -f 3235/3821/18469 2970/3512/18470 3354/3970/18471 -f 3354/3970/18472 3234/3973/18473 3235/3821/18474 -f 3298/3965/18475 3294/3875/18476 2973/3514/18477 -f 2973/3514/18478 2974/3518/18479 3298/3965/18480 -f 3297/3882/18481 3298/3881/18482 3347/3960/18483 -f 3347/3960/18484 3303/3889/18485 3297/3882/18486 -f 2956/3498/18487 2958/3502/18488 3344/3974/18489 -f 3344/3974/18490 3341/3941/18491 2956/3498/18492 -f 2955/3499/18493 2956/3498/18494 3341/3941/18495 -f 3341/3941/18496 3342/3940/18497 2955/3499/18498 -f 3313/3902/18499 2955/3499/18500 3342/3940/18501 -f 3342/3940/18502 3317/3904/18503 3313/3902/18504 -f 3316/3905/18505 3317/3904/18506 3340/3943/18507 -f 3340/3943/18508 3320/3907/18509 3316/3905/18510 -f 2958/3502/18511 2959/3501/18512 3309/3898/18513 -f 3309/3898/18514 3310/3897/18515 2958/3502/18516 -f 3237/3975/18517 3293/3874/18518 3291/3867/18519 -f 3291/3867/18520 3238/3870/18521 3237/3975/18522 -f 3242/3809/18523 3243/3808/18524 3262/3836/18525 -f 3262/3836/18526 3245/3810/18527 3242/3809/18528 -f 3248/3814/18529 3247/3813/18530 3259/3835/18531 -f 3259/3835/18532 3250/3815/18533 3248/3814/18534 -f 3237/3977/18535 3236/3972/18536 3355/3971/18537 -f 3355/3971/18538 3293/3976/18539 3237/3977/18540 -f 3001/3543/18541 3002/3542/18542 3010/3554/18543 -f 3010/3554/18544 3011/3553/18545 3001/3543/18546 -f 3357/3978/18547 3356/3979/18548 2988/3532/18549 -f 2988/3532/18550 2989/3531/18551 3357/3978/18552 -f 3323/3913/18553 3301/3888/18554 2988/3532/18555 -f 2988/3532/18556 3356/3979/18557 3323/3913/18558 -f 2976/3522/18559 3323/3913/18560 3356/3979/18561 -f 3356/3979/18562 2979/3519/18563 2976/3522/18564 -f 2945/3485/18565 2941/3482/18566 2968/3510/18567 -f 2968/3510/18568 2962/3508/18569 2945/3485/18570 -f 2923/3461/18571 2936/3471/18572 2939/3478/18573 -f 2939/3478/18574 2925/3463/18575 2923/3461/18576 -f 2923/3461/18577 2924/3462/18578 2938/3475/18579 -f 2938/3475/18580 2936/3471/18581 2923/3461/18582 -f 2897/3434/18583 2874/3412/18584 2932/3470/18585 -f 2932/3470/18586 2926/3467/18587 2897/3434/18588 -f 2866/3404/18589 2915/3452/18590 2863/3402/18591 -f 2863/3402/18592 2860/3399/18593 2866/3404/18594 -f 2892/3430/18595 2895/3433/18596 2918/3455/18597 -f 2918/3455/18598 2913/3454/18599 2892/3430/18600 -f 2891/3428/18601 2892/3430/18602 2913/3454/18603 -f 2913/3454/18604 2914/3453/18605 2891/3428/18606 -f 2890/3429/18607 2891/3428/18608 2914/3453/18609 -f 2914/3453/18610 3358/3980/18611 2890/3429/18612 -f 2866/3404/18613 3358/3980/18614 2914/3453/18615 -f 2914/3453/18616 2915/3452/18617 2866/3404/18618 -f 3359/3982/18619 2890/3429/18620 3358/3980/18621 -f 3358/3980/18622 3360/3981/18623 3359/3982/18624 -f 2841/3378/18625 3360/3981/18626 3358/3980/18627 -f 3358/3980/18628 2866/3404/18629 2841/3378/18630 -f 2877/3415/18631 2887/3426/18632 3359/3982/18633 -f 3359/3982/18634 3361/3983/18635 2877/3415/18636 -f 2888/3425/18637 2890/3429/18638 3359/3982/18639 -f 3359/3982/18640 2887/3426/18641 2888/3425/18642 -f 3362/3984/18643 3361/3983/18644 3359/3982/18645 -f 3359/3982/18646 3360/3981/18647 3362/3984/18648 -f 2854/3392/18649 3361/3983/18650 3362/3984/18651 -f 3362/3984/18652 2851/3390/18653 2854/3392/18654 -f 2841/3378/18655 2839/3375/18656 3362/3984/18657 -f 3362/3984/18658 3360/3981/18659 2841/3378/18660 -f 2837/3377/18661 2851/3390/18662 3362/3984/18663 -f 3362/3984/18664 2839/3375/18665 2837/3377/18666 -f 2869/3407/18667 2877/3415/18668 3361/3983/18669 -f 3361/3983/18670 2854/3392/18671 2869/3407/18672 -f 2882/3419/18673 2880/3417/18674 2899/3438/18675 -f 2899/3438/18676 2900/3437/18677 2882/3419/18678 -f 2847/3384/18679 2873/3411/18680 2896/3435/18681 -f 2896/3435/18682 2846/3385/18683 2847/3384/18684 -f 2883/3424/18685 2884/3423/18686 2895/3433/18687 -f 2895/3433/18688 2892/3430/18689 2883/3424/18690 -f 2875/3414/18691 2885/3422/18692 2887/3426/18693 -f 2887/3426/18694 2877/3415/18695 2875/3414/18696 -f 2842/3383/18697 2856/3394/18698 2858/3397/18699 -f 2858/3397/18700 2847/3384/18701 2842/3383/18702 -f 3363/3985/18703 2797/3334/18704 2834/3372/18705 -f 2834/3372/18706 2855/3395/18707 3363/3985/18708 -f 3363/3985/18709 2775/3312/18710 2797/3334/18711 -f 2843/3382/18712 2806/3344/18713 3363/3985/18714 -f 3363/3985/18715 2855/3395/18716 2843/3382/18717 -f 2806/3344/18718 2774/3313/18719 2775/3312/18720 -f 2775/3312/18721 3363/3985/18722 2806/3344/18723 -f 2842/3383/18724 2843/3382/18725 2855/3395/18726 -f 2855/3395/18727 2856/3394/18728 2842/3383/18729 -f 2826/3365/18730 2862/3400/18731 2861/3398/18732 -f 2861/3398/18733 2825/3366/18734 2826/3365/18735 -f 2807/3345/18736 2844/3381/18737 2848/3387/18738 -f 2848/3387/18739 2809/3346/18740 2807/3345/18741 -f 2807/3345/18742 2806/3344/18743 2843/3382/18744 -f 2843/3382/18745 2844/3381/18746 2807/3345/18747 -f 2819/3360/18748 2820/3359/18749 2838/3376/18750 -f 2838/3376/18751 2836/3373/18752 2819/3360/18753 -f 2836/3373/18754 2823/3361/18755 2819/3360/18756 -f 2824/3362/18757 2823/3361/18758 2862/3400/18759 -f 2862/3400/18760 2826/3365/18761 2824/3362/18762 -f 2829/3369/18763 2828/3363/18764 2825/3366/18765 -f 2825/3366/18766 2861/3398/18767 2829/3369/18768 -f 2811/3349/18769 2824/3362/18770 2826/3365/18771 -f 2826/3365/18772 2827/3364/18773 2811/3349/18774 -f 2793/3331/18775 2794/3330/18776 2813/3352/18777 -f 2813/3352/18778 2764/3304/18779 2793/3331/18780 -f 2766/3302/18781 2812/3348/18782 2810/3350/18783 -f 2810/3350/18784 2765/3303/18785 2766/3302/18786 -f 2798/3338/18787 2805/3343/18788 2808/3347/18789 -f 2808/3347/18790 2802/3339/18791 2798/3338/18792 -f 2783/3320/18793 2800/3336/18794 2803/3342/18795 -f 2803/3342/18796 2782/3321/18797 2783/3320/18798 -f 2783/3320/18799 2785/3324/18800 2799/3337/18801 -f 2799/3337/18802 2800/3336/18803 2783/3320/18804 -f 2767/3305/18805 2758/3295/18806 2755/3293/18807 -f 2755/3293/18808 2762/3300/18809 2767/3305/18810 -f 3364/3986/18811 2772/3311/18812 2776/3315/18813 -f 2776/3315/18814 3132/3689/18815 3364/3986/18816 -f 2774/3313/18817 2773/3310/18818 2769/3308/18819 -f 2755/3293/18820 2754/3289/18821 2761/3301/18822 -f 2761/3301/18823 2762/3300/18824 2755/3293/18825 -f 3132/3689/18826 3070/3619/18827 3071/3618/18828 -f 3071/3618/18829 3364/3986/18830 3132/3689/18831 -f 2734/3275/18832 2735/3274/18833 2748/3287/18834 -f 2748/3287/18835 2749/3286/18836 2734/3275/18837 -f 3113/3667/18838 3115/3670/18839 3118/3674/18840 -f 3117/3672/18841 3091/3675/18842 2729/3673/18843 -f 2721/3256/18844 2715/3253/18845 2726/3263/18846 -f 2726/3263/18847 2727/3262/18848 2721/3256/18849 -f 3070/3619/18850 3365/3987/18851 2740/3281/18852 -f 2740/3281/18853 3068/3616/18854 3070/3619/18855 -f 3130/3688/18856 3365/3987/18857 3070/3619/18858 -f 3070/3619/18859 3132/3689/18860 3130/3688/18861 -f 3136/3693/18862 3365/3987/18863 3130/3688/18864 -f 3130/3688/18865 3134/3691/18866 3136/3693/18867 -f 2743/3278/18868 2740/3281/18869 3365/3987/18870 -f 2743/3278/18871 3365/3987/18872 3136/3693/18873 -f 2743/3278/18874 3136/3693/18875 2742/3279/18876 -f 3314/3901/18877 2954/3500/18878 2955/3499/18879 -f 2955/3499/18880 3313/3902/18881 3314/3901/18882 -f 3301/3885/18883 2982/3524/18884 2947/3489/18885 -f 2947/3489/18886 3295/3880/18887 3301/3885/18888 -f 3322/3912/18889 2981/3911/18890 3301/3888/18891 -f 3301/3888/18892 3323/3913/18893 3322/3912/18894 -f 3178/3739/18895 3007/3547/18896 3004/3550/18897 -f 3180/3742/18898 3181/3741/18899 3366/3988/18900 -f 3011/3553/18901 3366/3988/18902 3181/3741/18903 -f 3181/3741/18904 3186/3746/18905 3011/3553/18906 -f 3178/3739/18907 3366/3988/18908 3011/3553/18909 -f 3011/3553/18910 3007/3547/18911 3178/3739/18912 -f 3364/3986/18913 2771/3306/18914 2768/3309/18915 -f 2768/3309/18916 2772/3311/18917 3364/3986/18918 -f 3314/3901/18919 2961/3503/18920 2957/3497/18921 -f 2957/3497/18922 2954/3500/18923 3314/3901/18924 -f 2982/3524/18925 3301/3885/18926 2981/3525/18927 -f 3178/3739/18928 3180/3742/18929 3366/3988/18930 -f 2979/3519/18931 3367/3989/18932 2978/3520/18933 -f 3004/3550/18934 3005/3549/18935 3013/3555/18936 -f 3369/3990/18937 3368/3991/18938 3025/3567/18939 -f 3025/3567/18940 3024/3568/18941 3369/3990/18942 -f 3024/3568/18943 2779/3318/18944 3369/3990/18945 -f 3367/3989/18946 2979/3519/18947 3356/3979/18948 -f 3356/3979/18949 3357/3978/18950 3367/3989/18951 -f 3369/3990/18952 2780/3317/18953 3169/3727/18954 -f 3169/3727/18955 3368/3991/18956 3369/3990/18957 -f 3369/3990/18958 2779/3318/18959 2780/3317/18960 -f 3012/3556/18961 3214/3774/18962 3013/3555/18963 -f 2997/3541/18964 2998/3540/18965 3370/3992/18966 -f 2998/3540/18967 3191/3794/18968 3370/3992/18969 -f 3185/3744/18970 3370/3993/18971 3191/3751/18972 -f 3191/3751/18973 3184/3745/18974 3185/3744/18975 -f 3151/3707/18976 2786/3323/18977 2784/3319/18978 -f 2784/3319/18979 2781/3322/18980 3151/3707/18981 -f 3151/3707/18982 3141/3696/18983 3127/3684/18984 -f 3127/3684/18985 2786/3323/18986 3151/3707/18987 -f 3371/3994/18988 3118/3674/18989 2729/3673/18990 -f 2729/3673/18991 2727/3262/18992 3371/3994/18993 -f 3371/3994/18994 2727/3262/18995 3111/3665/18996 -f 3111/3665/18997 3110/3666/18998 3371/3994/18999 -f 3110/3666/19000 3113/3667/19001 3118/3674/19002 -f 3118/3674/19003 3371/3994/19004 3110/3666/19005 -f 3111/3665/19006 3104/3659/19007 3108/3663/19008 -f 2732/3269/19009 3107/3664/19010 3120/3676/19011 -f 3120/3676/19012 2731/3270/19013 2732/3269/19014 -f 3105/3661/19015 3107/3664/19016 3108/3663/19017 -f 3108/3663/19018 3104/3659/19019 3105/3661/19020 -f 3120/3676/19021 3107/3664/19022 3105/3661/19023 -f 2851/3390/19024 3163/3719/19025 2850/3391/19026 -f 3286/3863/19027 3288/3864/19028 3284/3859/19029 -f 3284/3859/19030 3285/3860/19031 3286/3863/19032 -f 2950/3494/19033 2912/3450/19034 2906/3447/19035 -f 2906/3447/19036 3288/3864/19037 2950/3494/19038 -f 3315/3900/19039 2978/3520/19040 2960/3504/19041 -f 2960/3504/19042 2961/3503/19043 3315/3900/19044 -f 2961/3503/19045 3314/3901/19046 3315/3900/19047 -f 3367/3989/19048 3357/3978/19049 3308/3895/19050 -f 3308/3895/19051 3311/3899/19052 3367/3989/19053 -f 2989/3531/19054 3307/3896/19055 3308/3895/19056 -f 3308/3895/19057 3357/3978/19058 2989/3531/19059 -f 2989/3531/19060 2987/3527/19061 2984/3530/19062 -f 2984/3530/19063 3307/3896/19064 2989/3531/19065 -f 3367/3989/19066 3311/3899/19067 2960/3504/19068 -f 2960/3504/19069 2978/3520/19070 3367/3989/19071 -f 3004/3550/19072 3013/3555/19073 3179/3738/19074 -f 3179/3738/19075 3013/3555/19076 3214/3774/19077 -f 3214/3774/19078 3217/3778/19079 3179/3738/19080 -f 2994/3538/19081 3183/3743/19082 3179/3738/19083 -f 3179/3738/19084 3217/3778/19085 2994/3538/19086 -f 2994/3538/19087 2995/3537/19088 3183/3743/19089 -f 2997/3541/19090 3370/3992/19091 3185/3744/19092 -f 3185/3744/19093 3182/3740/19094 2997/3541/19095 -f 2995/3537/19096 2997/3541/19097 3182/3740/19098 -f 3182/3740/19099 3183/3743/19100 2995/3537/19101 -f 2972/3515/19102 3293/3976/19103 3355/3971/19104 -f 3355/3971/19105 2971/3516/19106 2972/3515/19107 -f 3091/3646/19108 3094/3649/19109 2728/3266/19110 -f 2728/3266/19111 2729/3267/19112 3091/3646/19113 -f 2848/3387/19114 2849/3386/19115 3278/3854/19116 -f 3278/3854/19117 3279/3853/19118 2848/3387/19119 -f 2801/3340/19120 2802/3339/19121 2808/3347/19122 -f 2808/3347/19123 2804/3341/19124 2801/3340/19125 -f 2804/3341/19126 2808/3347/19127 2809/3346/19128 -f 2809/3346/19129 3281/3855/19130 2804/3341/19131 -f 3281/3855/19132 2809/3346/19133 2848/3387/19134 -f 2848/3387/19135 3279/3853/19136 3281/3855/19137 -f 3157/3714/19138 3156/3713/19139 2816/3354/19140 -f 2816/3354/19141 2817/3353/19142 3157/3714/19143 -f 3154/3712/19144 3161/3715/19145 2816/3354/19146 -f 2816/3354/19147 3156/3713/19148 3154/3712/19149 -f 3155/3711/19150 3160/3716/19151 3161/3715/19152 -f 3161/3715/19153 3154/3712/19154 3155/3711/19155 -f 2835/3374/19156 2862/3400/19157 2823/3361/19158 -f 2812/3348/19159 2822/3357/19160 2811/3349/19161 -f 3168/3724/19162 3165/3721/19163 3160/3716/19164 -f 3160/3716/19165 3155/3711/19166 3168/3724/19167 -f 3168/3724/19168 3166/3723/19169 3165/3721/19170 -f 3111/3665/19171 2727/3262/19172 3104/3659/19173 -f 2747/3282/19174 2744/3285/19175 3085/3637/19176 -f 3085/3637/19177 2750/3288/19178 2747/3282/19179 -f 2741/3280/19180 2742/3279/19181 3084/3638/19182 -f 3364/3986/19183 3071/3618/19184 3065/3613/19185 -f 3065/3613/19186 2771/3306/19187 3364/3986/19188 -f 3071/3618/19189 3069/3615/19190 3064/3611/19191 -f 3064/3611/19192 3065/3613/19193 3071/3618/19194 -f 3064/3611/19195 3069/3615/19196 3063/3612/19197 -f 2771/3306/19198 3065/3613/19199 3056/3605/19200 -f 2739/3277/19201 3112/3668/19202 3109/3662/19203 -f 2733/3268/19204 2730/3271/19205 2738/3276/19206 -f 3373/3997/19207 3372/3998/19208 3375/3995/19209 -f 3375/3995/19210 3374/3996/19211 3373/3997/19212 -f 3377/3999/19213 3376/4000/19214 3375/3995/19215 -f 3375/3995/19216 3372/3998/19217 3377/3999/19218 -f 3375/3995/19219 3376/4000/19220 3378/4001/19221 -f 3378/4001/19222 3374/3996/19223 3375/3995/19224 -f 3380/4002/19225 3379/4003/19226 3376/4000/19227 -f 3376/4000/19228 3377/3999/19229 3380/4002/19230 -f 3376/4000/19231 3381/4005/19232 3382/4004/19233 -f 3382/4004/19234 3378/4001/19235 3376/4000/19236 -f 3376/4000/19237 3379/4003/19238 3383/4006/19239 -f 3383/4006/19240 3381/4005/19241 3376/4000/19242 -f 3380/4002/19243 3384/4008/19244 3385/4007/19245 -f 3385/4007/19246 3379/4003/19247 3380/4002/19248 -f 3385/4007/19249 3384/4008/19250 3386/4009/19251 -f 3385/4007/19252 3386/4009/19253 3388/4010/19254 -f 3388/4010/19255 3387/4011/19256 3385/4007/19257 -f 3390/4014/19258 3389/4015/19259 3392/4012/19260 -f 3392/4012/19261 3391/4013/19262 3390/4014/19263 -f 3391/4013/19264 3393/4016/19265 3390/4014/19266 -f 3390/4014/19267 3394/4018/19268 3395/4017/19269 -f 3395/4017/19270 3389/4015/19271 3390/4014/19272 -f 3396/4020/19273 3394/4018/19274 3390/4014/19275 -f 3390/4014/19276 3397/4019/19277 3396/4020/19278 -f 3399/4023/19279 3398/4024/19280 3401/4021/19281 -f 3401/4021/19282 3400/4022/19283 3399/4023/19284 -f 3402/4025/19285 3391/4013/19286 3392/4012/19287 -f 3403/4026/19288 3402/4025/19289 3392/4012/19290 -f 3404/4029/19291 3393/4016/19292 3406/4027/19293 -f 3406/4027/19294 3405/4028/19295 3404/4029/19296 -f 3406/4027/19297 3393/4016/19298 3391/4013/19299 -f 3391/4013/19300 3402/4025/19301 3406/4027/19302 -f 3402/4025/19303 3403/4026/19304 3406/4027/19305 -f 3406/4027/19306 3403/4026/19307 3408/4030/19308 -f 3408/4030/19309 3407/4031/19310 3406/4027/19311 -f 3409/4032/19312 3407/4031/19313 3408/4030/19314 -f 3409/4032/19315 3408/4030/19316 3411/4033/19317 -f 3411/4033/19318 3410/4034/19319 3409/4032/19320 -f 3409/4032/19321 3413/4035/19322 3412/4036/19323 -f 3414/4037/19324 3407/4031/19325 3409/4032/19326 -f 3409/4032/19327 3412/4036/19328 3414/4037/19329 -f 3415/4038/19330 3386/4009/19331 3384/4008/19332 -f 3384/4008/19333 3400/4022/19334 3415/4038/19335 -f 3415/4038/19336 3416/4039/19337 3388/4010/19338 -f 3388/4010/19339 3386/4009/19340 3415/4038/19341 -f 3413/4035/19342 3409/4032/19343 3410/4034/19344 -f 3410/4034/19345 3417/4040/19346 3413/4035/19347 -f 3418/4041/19348 3412/4036/19349 3413/4035/19350 -f 3413/4035/19351 3417/4040/19352 3418/4041/19353 -f 3420/4044/19354 3419/4045/19355 3422/4042/19356 -f 3422/4042/19357 3421/4043/19358 3420/4044/19359 -f 3423/4047/19360 3419/4045/19361 3420/4044/19362 -f 3420/4044/19363 3424/4046/19364 3423/4047/19365 -f 3426/4049/19366 3425/4050/19367 3427/4048/19368 -f 3427/4048/19369 3422/4042/19370 3426/4049/19371 -f 3428/4053/19372 3426/4049/19373 3430/4051/19374 -f 3430/4051/19375 3429/4052/19376 3428/4053/19377 -f 3426/4049/19378 3428/4053/19379 3425/4050/19380 -f 3426/4049/19381 3422/4042/19382 3419/4045/19383 -f 3419/4045/19384 3431/4054/19385 3426/4049/19386 -f 3421/4043/19387 3433/4055/19388 3432/4056/19389 -f 3420/4044/19390 3421/4043/19391 3432/4056/19392 -f 3432/4056/19393 3424/4046/19394 3420/4044/19395 -f 3435/4057/19396 3434/4058/19397 3430/4051/19398 -f 3430/4051/19399 3426/4049/19400 3435/4057/19401 -f 3435/4057/19402 3426/4049/19403 3431/4054/19404 -f 3431/4054/19405 3436/4059/19406 3435/4057/19407 -f 3435/4057/19408 3437/4061/19409 3438/4060/19410 -f 3438/4060/19411 3434/4058/19412 3435/4057/19413 -f 3435/4057/19414 3436/4059/19415 3440/4062/19416 -f 3440/4062/19417 3439/4063/19418 3435/4057/19419 -f 3435/4057/19420 3439/4063/19421 3441/4064/19422 -f 3441/4064/19423 3437/4061/19424 3435/4057/19425 -f 3442/4066/19426 3423/4047/19427 3424/4046/19428 -f 3424/4046/19429 3443/4065/19430 3442/4066/19431 -f 3442/4066/19432 3444/4068/19433 3445/4067/19434 -f 3445/4067/19435 3423/4047/19436 3442/4066/19437 -f 3442/4066/19438 3443/4065/19439 3446/4069/19440 -f 3446/4069/19441 3444/4068/19442 3442/4066/19443 -f 3448/4072/19444 3447/4073/19445 3450/4070/19446 -f 3450/4070/19447 3449/4071/19448 3448/4072/19449 -f 3452/4074/19450 3451/4075/19451 3447/4073/19452 -f 3447/4073/19453 3448/4072/19454 3452/4074/19455 -f 3448/4072/19456 3449/4071/19457 3453/4076/19458 -f 3453/4076/19459 3452/4074/19460 3448/4072/19461 -f 3455/4077/19462 3454/4078/19463 3428/4053/19464 -f 3428/4053/19465 3429/4052/19466 3455/4077/19467 -f 3429/4052/19468 3430/4051/19469 3456/4079/19470 -f 3456/4079/19471 3455/4077/19472 3429/4052/19473 -f 3458/4081/19474 3457/4082/19475 3444/4068/19476 -f 3444/4068/19477 3459/4080/19478 3458/4081/19479 -f 3444/4068/19480 3457/4082/19481 3445/4067/19482 -f 3446/4069/19483 3461/4083/19484 3460/4084/19485 -f 3444/4068/19486 3446/4069/19487 3460/4084/19488 -f 3460/4084/19489 3459/4080/19490 3444/4068/19491 -f 3463/4085/19492 3462/4086/19493 3412/4036/19494 -f 3412/4036/19495 3418/4041/19496 3463/4085/19497 -f 3463/4085/19498 3418/4041/19499 3465/4087/19500 -f 3465/4087/19501 3464/4088/19502 3463/4085/19503 -f 3467/4089/19504 3466/4090/19505 3463/4085/19506 -f 3463/4085/19507 3464/4088/19508 3467/4089/19509 -f 3469/4092/19510 3468/4093/19511 3470/4091/19512 -f 3470/4091/19513 3462/4086/19514 3469/4092/19515 -f 3469/4092/19516 3471/4094/19517 3468/4093/19518 -f 3472/4097/19519 3466/4098/19520 3474/4095/19521 -f 3474/4095/19522 3473/4096/19523 3472/4097/19524 -f 3476/4101/19525 3475/4102/19526 3478/4099/19527 -f 3478/4099/19528 3477/4100/19529 3476/4101/19530 -f 3476/4101/19531 3479/4104/19532 3480/4103/19533 -f 3480/4103/19534 3475/4102/19535 3476/4101/19536 -f 3476/4101/19537 3477/4100/19538 3481/4105/19539 -f 3481/4105/19540 3479/4104/19541 3476/4101/19542 -f 3483/4108/19543 3482/4109/19544 3485/4106/19545 -f 3485/4106/19546 3484/4107/19547 3483/4108/19548 -f 3485/4106/19549 3486/4112/19550 3488/4110/19551 -f 3488/4110/19552 3487/4111/19553 3485/4106/19554 -f 3480/4103/19555 3489/4114/19556 3490/4113/19557 -f 3490/4113/19558 3475/4102/19559 3480/4103/19560 -f 3492/4117/19561 3491/4118/19562 3494/4115/19563 -f 3494/4115/19564 3493/4116/19565 3492/4117/19566 -f 3479/4104/19567 3481/4105/19568 3496/4119/19569 -f 3496/4119/19570 3495/4120/19571 3479/4104/19572 -f 3498/4123/19573 3497/4124/19574 3474/4121/19575 -f 3474/4121/19576 3499/4122/19577 3498/4123/19578 -f 3501/4125/19579 3500/4126/19580 3497/4124/19581 -f 3497/4124/19582 3498/4123/19583 3501/4125/19584 -f 3498/4123/19585 3499/4122/19586 3502/4127/19587 -f 3502/4127/19588 3501/4125/19589 3498/4123/19590 -f 3504/4129/19591 3503/4130/19592 3495/4120/19593 -f 3495/4120/19594 3505/4128/19595 3504/4129/19596 -f 3487/4111/19597 3489/4114/19598 3480/4103/19599 -f 3480/4103/19600 3503/4130/19601 3487/4111/19602 -f 3503/4130/19603 3506/4131/19604 3487/4111/19605 -f 3508/4134/19606 3507/4135/19607 3510/4132/19608 -f 3510/4132/19609 3509/4133/19610 3508/4134/19611 -f 3512/4136/19612 3511/4137/19613 3507/4135/19614 -f 3507/4135/19615 3508/4134/19616 3512/4136/19617 -f 3508/4134/19618 3509/4133/19619 3513/4138/19620 -f 3513/4138/19621 3512/4136/19622 3508/4134/19623 -f 3515/4141/19624 3514/4142/19625 3517/4139/19626 -f 3517/4139/19627 3516/4140/19628 3515/4141/19629 -f 3515/4141/19630 3516/4140/19631 3519/4143/19632 -f 3519/4143/19633 3518/4144/19634 3515/4141/19635 -f 3515/4141/19636 3518/4144/19637 3520/4145/19638 -f 3520/4145/19639 3514/4142/19640 3515/4141/19641 -f 3483/4108/19642 3484/4107/19643 3522/4146/19644 -f 3522/4146/19645 3521/4147/19646 3483/4108/19647 -f 3523/4149/19648 3521/4147/19649 3522/4146/19650 -f 3522/4146/19651 3524/4148/19652 3523/4149/19653 -f 3526/4152/19654 3525/4153/19655 3528/4150/19656 -f 3528/4150/19657 3527/4151/19658 3526/4152/19659 -f 3530/4154/19660 3529/4155/19661 3525/4153/19662 -f 3525/4153/19663 3526/4152/19664 3530/4154/19665 -f 3526/4152/19666 3527/4151/19667 3531/4156/19668 -f 3531/4156/19669 3530/4154/19670 3526/4152/19671 -f 3533/4159/19672 3532/4160/19673 3535/4157/19674 -f 3535/4157/19675 3534/4158/19676 3533/4159/19677 -f 3537/4161/19678 3536/4162/19679 3532/4160/19680 -f 3532/4160/19681 3533/4159/19682 3537/4161/19683 -f 3533/4159/19684 3534/4158/19685 3538/4163/19686 -f 3538/4163/19687 3537/4161/19688 3533/4159/19689 -f 3540/4166/19690 3539/4167/19691 3542/4164/19692 -f 3542/4164/19693 3541/4165/19694 3540/4166/19695 -f 3540/4166/19696 3541/4165/19697 3544/4168/19698 -f 3544/4168/19699 3543/4169/19700 3540/4166/19701 -f 3540/4166/19702 3535/4157/19703 3545/4170/19704 -f 3545/4170/19705 3539/4167/19706 3540/4166/19707 -f 3547/4173/19708 3546/4174/19709 3549/4171/19710 -f 3549/4171/19711 3548/4172/19712 3547/4173/19713 -f 3547/4173/19714 3548/4172/19715 3551/4175/19716 -f 3551/4175/19717 3550/4176/19718 3547/4173/19719 -f 3547/4179/19720 3552/4180/19721 3553/4177/19722 -f 3553/4177/19723 3546/4178/19724 3547/4179/19725 -f 3547/4183/19726 3554/4184/19727 3555/4181/19728 -f 3555/4181/19729 3552/4182/19730 3547/4183/19731 -f 3557/4187/19732 3556/4188/19733 3559/4185/19734 -f 3559/4185/19735 3558/4186/19736 3557/4187/19737 -f 3561/4189/19738 3560/4190/19739 3556/4188/19740 -f 3556/4188/19741 3557/4187/19742 3561/4189/19743 -f 3557/4187/19744 3558/4186/19745 3562/4191/19746 -f 3562/4191/19747 3561/4189/19748 3557/4187/19749 -f 3564/4194/19750 3563/4195/19751 3566/4192/19752 -f 3566/4192/19753 3565/4193/19754 3564/4194/19755 -f 3564/4194/19756 3565/4193/19757 3568/4196/19758 -f 3568/4196/19759 3567/4197/19760 3564/4194/19761 -f 3564/4194/19762 3569/4199/19763 3570/4198/19764 -f 3570/4198/19765 3563/4195/19766 3564/4194/19767 -f 3573/4200/19768 3572/4201/19769 3571/4202/19770 -f 3571/4202/19771 3574/4204/19772 3575/4203/19773 -f 3575/4203/19774 3573/4200/19775 3571/4202/19776 -f 3571/4202/19777 3572/4201/19778 3576/4205/19779 -f 3575/4203/19780 3574/4204/19781 3577/4206/19782 -f 3579/4207/19783 3578/4208/19784 3575/4203/19785 -f 3575/4203/19786 3577/4206/19787 3579/4207/19788 -f 3579/4211/19789 3580/4212/19790 3582/4209/19791 -f 3582/4209/19792 3581/4210/19793 3579/4211/19794 -f 3579/4207/19795 3577/4206/19796 3576/4205/19797 -f 3576/4205/19798 3583/4213/19799 3579/4207/19800 -f 3571/4202/19801 3576/4205/19802 3577/4206/19803 -f 3577/4206/19804 3574/4204/19805 3571/4202/19806 -f 3567/4216/19807 3568/4217/19808 3585/4214/19809 -f 3585/4214/19810 3584/4215/19811 3567/4216/19812 -f 3567/4216/19813 3584/4215/19814 3586/4218/19815 -f 3586/4218/19816 3564/4219/19817 3567/4216/19818 -f 3580/4220/19819 3588/4221/19820 3587/4222/19821 -f 3580/4212/19822 3587/4225/19823 3590/4223/19824 -f 3590/4223/19825 3589/4224/19826 3580/4212/19827 -f 3591/4227/19828 3590/4223/19829 3587/4225/19830 -f 3587/4225/19831 3592/4226/19832 3591/4227/19833 -f 3591/4227/19834 3592/4226/19835 3593/4228/19836 -f 3595/4229/19837 3594/4230/19838 3593/4231/19839 -f 3595/4229/19840 3593/4231/19841 3592/4232/19842 -f 3592/4232/19843 3596/4233/19844 3595/4229/19845 -f 3598/4235/19846 3597/4236/19847 3599/4234/19848 -f 3599/4234/19849 3551/4175/19850 3598/4235/19851 -f 3601/4237/19852 3600/4238/19853 3599/4234/19854 -f 3599/4234/19855 3597/4236/19856 3601/4237/19857 -f 3599/4234/19858 3602/4240/19859 3603/4239/19860 -f 3603/4239/19861 3550/4176/19862 3599/4234/19863 -f 3599/4234/19864 3600/4238/19865 3604/4241/19866 -f 3604/4241/19867 3602/4240/19868 3599/4234/19869 -f 3595/4229/19870 3596/4233/19871 3605/4242/19872 -f 3595/4229/19873 3605/4242/19874 3606/4243/19875 -f 3606/4243/19876 3594/4230/19877 3595/4229/19878 -f 3594/4230/19879 3606/4243/19880 3607/4244/19881 -f 3609/4247/19882 3608/4248/19883 3611/4245/19884 -f 3611/4245/19885 3610/4246/19886 3609/4247/19887 -f 3611/4245/19888 3608/4248/19889 3613/4249/19890 -f 3613/4249/19891 3612/4250/19892 3611/4245/19893 -f 3614/4251/19894 3610/4246/19895 3611/4245/19896 -f 3611/4245/19897 3612/4250/19898 3614/4251/19899 -f 3615/4254/19900 3585/4214/19901 3617/4252/19902 -f 3617/4252/19903 3616/4253/19904 3615/4254/19905 -f 3615/4254/19906 3616/4253/19907 3619/4255/19908 -f 3619/4255/19909 3618/4256/19910 3615/4254/19911 -f 3615/4254/19912 3620/4257/19913 3584/4215/19914 -f 3584/4215/19915 3585/4214/19916 3615/4254/19917 -f 3555/4181/19918 3621/4259/19919 3622/4258/19920 -f 3622/4258/19921 3552/4182/19922 3555/4181/19923 -f 3624/4262/19924 3623/4263/19925 3626/4260/19926 -f 3626/4260/19927 3625/4261/19928 3624/4262/19929 -f 3628/4264/19930 3627/4265/19931 3623/4263/19932 -f 3623/4263/19933 3624/4262/19934 3628/4264/19935 -f 3624/4262/19936 3625/4261/19937 3629/4266/19938 -f 3629/4266/19939 3628/4264/19940 3624/4262/19941 -f 3631/4269/19942 3630/4270/19943 3633/4267/19944 -f 3633/4267/19945 3632/4268/19946 3631/4269/19947 -f 3633/4267/19948 3634/4271/19949 3609/4247/19950 -f 3609/4247/19951 3610/4246/19952 3633/4267/19953 -f 3633/4267/19954 3630/4270/19955 3635/4272/19956 -f 3635/4272/19957 3634/4271/19958 3633/4267/19959 -f 3616/4253/19960 3617/4252/19961 3637/4273/19962 -f 3637/4273/19963 3636/4274/19964 3616/4253/19965 -f 3616/4253/19966 3638/4276/19967 3639/4275/19968 -f 3639/4275/19969 3619/4255/19970 3616/4253/19971 -f 3609/4247/19972 3640/4277/19973 3608/4248/19974 -f 3609/4247/19975 3641/4279/19976 3642/4278/19977 -f 3642/4278/19978 3640/4277/19979 3609/4247/19980 -f 3641/4279/19981 3643/4282/19982 3645/4280/19983 -f 3645/4280/19984 3644/4281/19985 3641/4279/19986 -f 3641/4279/19987 3644/4281/19988 3646/4283/19989 -f 3646/4283/19990 3642/4278/19991 3641/4279/19992 -f 3648/4286/19993 3647/4287/19994 3650/4284/19995 -f 3650/4284/19996 3649/4285/19997 3648/4286/19998 -f 3650/4284/19999 3647/4287/20000 3652/4288/20001 -f 3652/4288/20002 3651/4289/20003 3650/4284/20004 -f 3650/4284/20005 3651/4289/20006 3654/4290/20007 -f 3654/4290/20008 3653/4291/20009 3650/4284/20010 -f 3655/4293/20011 3620/4257/20012 3615/4254/20013 -f 3615/4254/20014 3656/4292/20015 3655/4293/20016 -f 3655/4293/20017 3656/4292/20018 3654/4290/20019 -f 3654/4290/20020 3651/4289/20021 3655/4293/20022 -f 3655/4293/20023 3651/4289/20024 3652/4288/20025 -f 3652/4288/20026 3620/4257/20027 3655/4293/20028 -f 3654/4290/20029 3656/4292/20030 3657/4294/20031 -f 3657/4294/20032 3653/4291/20033 3654/4290/20034 -f 3658/4297/20035 3613/4249/20036 3660/4295/20037 -f 3660/4295/20038 3659/4296/20039 3658/4297/20040 -f 3658/4297/20041 3661/4298/20042 3612/4250/20043 -f 3612/4250/20044 3613/4249/20045 3658/4297/20046 -f 3658/4297/20047 3659/4296/20048 3663/4299/20049 -f 3663/4299/20050 3662/4300/20051 3658/4297/20052 -f 3665/4303/20053 3664/4304/20054 3667/4301/20055 -f 3667/4301/20056 3666/4302/20057 3665/4303/20058 -f 3665/4303/20059 3668/4306/20060 3669/4305/20061 -f 3669/4305/20062 3664/4304/20063 3665/4303/20064 -f 3665/4303/20065 3666/4302/20066 3670/4307/20067 -f 3670/4307/20068 3668/4306/20069 3665/4303/20070 -f 3668/4306/20071 3670/4307/20072 3671/4308/20073 -f 3671/4308/20074 3669/4305/20075 3668/4306/20076 -f 3673/4311/20077 3672/4312/20078 3675/4309/20079 -f 3675/4309/20080 3674/4310/20081 3673/4311/20082 -f 3677/4314/20083 3676/4315/20084 3675/4309/20085 -f 3675/4309/20086 3678/4313/20087 3677/4314/20088 -f 3679/4316/20089 3674/4310/20090 3675/4309/20091 -f 3675/4309/20092 3676/4315/20093 3679/4316/20094 -f 3681/4318/20095 3680/4319/20096 3682/4317/20097 -f 3682/4317/20098 3666/4302/20099 3681/4318/20100 -f 3671/4308/20101 3683/4322/20102 3685/4320/20103 -f 3685/4320/20104 3684/4321/20105 3671/4308/20106 -f 3671/4308/20107 3670/4307/20108 3686/4323/20109 -f 3686/4323/20110 3683/4322/20111 3671/4308/20112 -f 3687/4325/20113 3669/4305/20114 3671/4308/20115 -f 3671/4308/20116 3688/4324/20117 3687/4325/20118 -f 3689/4326/20119 3688/4324/20120 3671/4308/20121 -f 3671/4308/20122 3684/4321/20123 3689/4326/20124 -f 3685/4320/20125 3690/4328/20126 3691/4327/20127 -f 3691/4327/20128 3684/4321/20129 3685/4320/20130 -f 3685/4320/20131 3683/4330/20132 3692/4329/20133 -f 3692/4329/20134 3690/4328/20135 3685/4320/20136 -f 3678/4313/20137 3675/4309/20138 3662/4300/20139 -f 3662/4300/20140 3693/4331/20141 3678/4313/20142 -f 3694/4332/20143 3677/4314/20144 3678/4313/20145 -f 3678/4313/20146 3693/4331/20147 3694/4332/20148 -f 3680/4335/20149 3681/4336/20150 3696/4333/20151 -f 3696/4333/20152 3695/4334/20153 3680/4335/20154 -f 3680/4335/20155 3695/4334/20156 3697/4337/20157 -f 3697/4337/20158 3682/4338/20159 3680/4335/20160 -f 3690/4328/20161 3692/4329/20162 3698/4339/20163 -f 3698/4339/20164 3691/4327/20165 3690/4328/20166 -f 3700/4342/20167 3699/4343/20168 3702/4340/20169 -f 3702/4340/20170 3701/4341/20171 3700/4342/20172 -f 3702/4340/20173 3699/4343/20174 3679/4316/20175 -f 3702/4340/20176 3703/4345/20177 3704/4344/20178 -f 3704/4344/20179 3701/4341/20180 3702/4340/20181 -f 3561/4189/20182 3705/4348/20183 3707/4346/20184 -f 3707/4346/20185 3706/4347/20186 3561/4189/20187 -f 3561/4189/20188 3562/4191/20189 3708/4349/20190 -f 3708/4349/20191 3705/4348/20192 3561/4189/20193 -f 3561/4189/20194 3706/4347/20195 3710/4350/20196 -f 3710/4350/20197 3709/4351/20198 3561/4189/20199 -f 3712/4352/20200 3711/4353/20201 3695/4334/20202 -f 3695/4334/20203 3696/4333/20204 3712/4352/20205 -f 3714/4356/20206 3713/4357/20207 3716/4354/20208 -f 3716/4354/20209 3715/4355/20210 3714/4356/20211 -f 3714/4356/20212 3715/4355/20213 3718/4358/20214 -f 3718/4358/20215 3717/4359/20216 3714/4356/20217 -f 3714/4356/20218 3717/4359/20219 3720/4360/20220 -f 3720/4360/20221 3719/4361/20222 3714/4356/20223 -f 3693/4331/20224 3721/4362/20225 3694/4332/20226 -f 3721/4362/20227 3722/4364/20228 3723/4363/20229 -f 3723/4363/20230 3694/4332/20231 3721/4362/20232 -f 3722/4364/20233 3724/4365/20234 3723/4363/20235 -f 3725/4367/20236 3703/4345/20237 3702/4340/20238 -f 3702/4340/20239 3726/4366/20240 3725/4367/20241 -f 3725/4367/20242 3726/4366/20243 3728/4368/20244 -f 3728/4368/20245 3727/4369/20246 3725/4367/20247 -f 3725/4367/20248 3727/4369/20249 3717/4359/20250 -f 3717/4359/20251 3718/4358/20252 3725/4367/20253 -f 3727/4369/20254 3728/4368/20255 3723/4363/20256 -f 3723/4363/20257 3724/4365/20258 3727/4369/20259 -f 3727/4369/20260 3724/4365/20261 3720/4360/20262 -f 3720/4360/20263 3717/4359/20264 3727/4369/20265 -f 3728/4368/20266 3677/4314/20267 3694/4332/20268 -f 3694/4332/20269 3723/4363/20270 3728/4368/20271 -f 3728/4368/20272 3726/4366/20273 3676/4315/20274 -f 3676/4315/20275 3677/4314/20276 3728/4368/20277 -f 3676/4315/20278 3726/4366/20279 3702/4340/20280 -f 3702/4340/20281 3679/4316/20282 3676/4315/20283 -f 3729/4370/20284 3674/4310/20285 3679/4316/20286 -f 3679/4316/20287 3699/4343/20288 3729/4370/20289 -f 3729/4370/20290 3699/4343/20291 3601/4371/20292 -f 3601/4371/20293 3730/4372/20294 3729/4370/20295 -f 3731/4374/20296 3729/4370/20297 3730/4372/20298 -f 3730/4372/20299 3732/4373/20300 3731/4374/20301 -f 3597/4236/20302 3733/4376/20303 3730/4375/20304 -f 3730/4375/20305 3601/4237/20306 3597/4236/20307 -f 3734/4377/20308 3732/4378/20309 3730/4375/20310 -f 3730/4375/20311 3733/4376/20312 3734/4377/20313 -f 3734/4377/20314 3733/4376/20315 3736/4379/20316 -f 3736/4379/20317 3735/4380/20318 3734/4377/20319 -f 3737/4382/20320 3734/4377/20321 3735/4380/20322 -f 3735/4380/20323 3738/4381/20324 3737/4382/20325 -f 3740/4383/20326 3739/4384/20327 3735/4380/20328 -f 3735/4380/20329 3736/4379/20330 3740/4383/20331 -f 3741/4385/20332 3738/4381/20333 3735/4380/20334 -f 3735/4380/20335 3739/4384/20336 3741/4385/20337 -f 3741/4385/20338 3739/4384/20339 3743/4386/20340 -f 3743/4386/20341 3742/4387/20342 3741/4385/20343 -f 3745/4388/20344 3744/4389/20345 3742/4387/20346 -f 3742/4387/20347 3743/4386/20348 3745/4388/20349 -f 3747/4390/20350 3746/4391/20351 3742/4387/20352 -f 3742/4387/20353 3744/4389/20354 3747/4390/20355 -f 3747/4390/20356 3744/4389/20357 3749/4392/20358 -f 3749/4392/20359 3748/4393/20360 3747/4390/20361 -f 3748/4393/20362 3749/4392/20363 3751/4394/20364 -f 3751/4394/20365 3750/4395/20366 3748/4393/20367 -f 3753/4396/20368 3752/4397/20369 3750/4395/20370 -f 3750/4395/20371 3751/4394/20372 3753/4396/20373 -f 3748/4393/20374 3754/4399/20375 3755/4398/20376 -f 3755/4398/20377 3747/4390/20378 3748/4393/20379 -f 3748/4393/20380 3750/4395/20381 3756/4400/20382 -f 3756/4400/20383 3754/4399/20384 3748/4393/20385 -f 3756/4400/20386 3750/4395/20387 3752/4397/20388 -f 3752/4397/20389 3757/4401/20390 3756/4400/20391 -f 3759/4403/20392 3758/4404/20393 3760/4402/20394 -f 3760/4402/20395 3746/4391/20396 3759/4403/20397 -f 3759/4403/20398 3746/4391/20399 3747/4390/20400 -f 3747/4390/20401 3755/4398/20402 3759/4403/20403 -f 3741/4385/20404 3742/4387/20405 3746/4391/20406 -f 3746/4391/20407 3760/4402/20408 3741/4385/20409 -f 3741/4385/20410 3760/4402/20411 3761/4405/20412 -f 3761/4405/20413 3738/4381/20414 3741/4385/20415 -f 3738/4381/20416 3761/4405/20417 3762/4406/20418 -f 3762/4406/20419 3737/4382/20420 3738/4381/20421 -f 3732/4378/20422 3734/4377/20423 3737/4382/20424 -f 3737/4382/20425 3763/4407/20426 3732/4378/20427 -f 3732/4373/20428 3763/4409/20429 3764/4408/20430 -f 3764/4408/20431 3731/4374/20432 3732/4373/20433 -f 3765/4410/20434 3673/4311/20435 3731/4374/20436 -f 3731/4374/20437 3764/4408/20438 3765/4410/20439 -f 3674/4310/20440 3729/4370/20441 3731/4374/20442 -f 3731/4374/20443 3673/4311/20444 3674/4310/20445 -f 3766/4411/20446 3672/4312/20447 3673/4311/20448 -f 3673/4311/20449 3765/4410/20450 3766/4411/20451 -f 3767/4412/20452 3661/4298/20453 3672/4312/20454 -f 3672/4312/20455 3766/4411/20456 3767/4412/20457 -f 3658/4297/20458 3675/4309/20459 3672/4312/20460 -f 3672/4312/20461 3661/4298/20462 3658/4297/20463 -f 3658/4297/20464 3662/4300/20465 3675/4309/20466 -f 3612/4250/20467 3661/4298/20468 3767/4412/20469 -f 3767/4412/20470 3614/4251/20471 3612/4250/20472 -f 3769/4413/20473 3768/4414/20474 3766/4411/20475 -f 3766/4411/20476 3765/4410/20477 3769/4413/20478 -f 3769/4413/20479 3765/4410/20480 3764/4408/20481 -f 3764/4408/20482 3770/4415/20483 3769/4413/20484 -f 3770/4415/20485 3764/4408/20486 3763/4409/20487 -f 3763/4409/20488 3771/4416/20489 3770/4415/20490 -f 3737/4382/20491 3762/4406/20492 3771/4417/20493 -f 3771/4417/20494 3763/4407/20495 3737/4382/20496 -f 3762/4406/20497 3772/4419/20498 3773/4418/20499 -f 3773/4418/20500 3771/4417/20501 3762/4406/20502 -f 3762/4406/20503 3761/4405/20504 3774/4420/20505 -f 3774/4420/20506 3772/4419/20507 3762/4406/20508 -f 3761/4405/20509 3760/4402/20510 3758/4404/20511 -f 3758/4404/20512 3774/4420/20513 3761/4405/20514 -f 3773/4421/20515 3775/4422/20516 3770/4415/20517 -f 3770/4415/20518 3771/4416/20519 3773/4421/20520 -f 3775/4422/20521 3776/4423/20522 3769/4413/20523 -f 3769/4413/20524 3770/4415/20525 3775/4422/20526 -f 3769/4413/20527 3776/4423/20528 3777/4424/20529 -f 3777/4424/20530 3768/4414/20531 3769/4413/20532 -f 3767/4412/20533 3766/4411/20534 3768/4414/20535 -f 3768/4414/20536 3778/4425/20537 3767/4412/20538 -f 3767/4412/20539 3778/4425/20540 3779/4426/20541 -f 3779/4426/20542 3614/4251/20543 3767/4412/20544 -f 3610/4246/20545 3614/4251/20546 3779/4426/20547 -f 3779/4426/20548 3632/4268/20549 3610/4246/20550 -f 3779/4426/20551 3780/4428/20552 3781/4427/20553 -f 3781/4427/20554 3632/4268/20555 3779/4426/20556 -f 3779/4426/20557 3778/4425/20558 3782/4429/20559 -f 3782/4429/20560 3780/4428/20561 3779/4426/20562 -f 3782/4429/20563 3778/4425/20564 3768/4414/20565 -f 3768/4414/20566 3777/4424/20567 3782/4429/20568 -f 3784/4430/20569 3783/4431/20570 3649/4285/20571 -f 3649/4285/20572 3631/4269/20573 3784/4430/20574 -f 3784/4430/20575 3631/4269/20576 3632/4268/20577 -f 3632/4268/20578 3781/4427/20579 3784/4430/20580 -f 3649/4285/20581 3783/4431/20582 3786/4432/20583 -f 3786/4432/20584 3785/4433/20585 3649/4285/20586 -f 3785/4433/20587 3648/4286/20588 3649/4285/20589 -f 3630/4270/20590 3631/4269/20591 3649/4285/20592 -f 3649/4285/20593 3650/4284/20594 3630/4270/20595 -f 3648/4286/20596 3785/4433/20597 3788/4434/20598 -f 3788/4434/20599 3787/4435/20600 3648/4286/20601 -f 3789/4436/20602 3647/4287/20603 3648/4286/20604 -f 3648/4286/20605 3787/4435/20606 3789/4436/20607 -f 3789/4436/20608 3787/4435/20609 3790/4437/20610 -f 3790/4437/20611 3569/4438/20612 3789/4436/20613 -f 3789/4436/20614 3569/4438/20615 3564/4219/20616 -f 3564/4219/20617 3586/4218/20618 3789/4436/20619 -f 3789/4436/20620 3586/4218/20621 3652/4288/20622 -f 3652/4288/20623 3647/4287/20624 3789/4436/20625 -f 3569/4199/20626 3790/4440/20627 3791/4439/20628 -f 3791/4439/20629 3570/4198/20630 3569/4199/20631 -f 3570/4198/20632 3791/4439/20633 3793/4441/20634 -f 3793/4441/20635 3792/4442/20636 3570/4198/20637 -f 3795/4443/20638 3794/4444/20639 3792/4442/20640 -f 3792/4442/20641 3793/4441/20642 3795/4443/20643 -f 3792/4442/20644 3794/4444/20645 3797/4445/20646 -f 3797/4445/20647 3796/4446/20648 3792/4442/20649 -f 3792/4442/20650 3796/4446/20651 3563/4195/20652 -f 3563/4195/20653 3570/4198/20654 3792/4442/20655 -f 3796/4446/20656 3797/4445/20657 3799/4447/20658 -f 3799/4447/20659 3798/4448/20660 3796/4446/20661 -f 3796/4446/20662 3798/4448/20663 3566/4192/20664 -f 3566/4192/20665 3563/4195/20666 3796/4446/20667 -f 3798/4448/20668 3799/4447/20669 3801/4449/20670 -f 3801/4449/20671 3800/4450/20672 3798/4448/20673 -f 3798/4448/20674 3800/4450/20675 3802/4451/20676 -f 3802/4451/20677 3566/4192/20678 3798/4448/20679 -f 3802/4451/20680 3800/4450/20681 3536/4162/20682 -f 3536/4162/20683 3537/4161/20684 3802/4451/20685 -f 3802/4451/20686 3537/4161/20687 3804/4452/20688 -f 3804/4452/20689 3803/4453/20690 3802/4451/20691 -f 3802/4451/20692 3803/4453/20693 3565/4193/20694 -f 3565/4193/20695 3566/4192/20696 3802/4451/20697 -f 3803/4453/20698 3804/4452/20699 3806/4454/20700 -f 3806/4454/20701 3805/4455/20702 3803/4453/20703 -f 3803/4453/20704 3805/4455/20705 3568/4196/20706 -f 3568/4196/20707 3565/4193/20708 3803/4453/20709 -f 3805/4456/20710 3806/4457/20711 3637/4273/20712 -f 3637/4273/20713 3617/4252/20714 3805/4456/20715 -f 3805/4456/20716 3617/4252/20717 3585/4214/20718 -f 3585/4214/20719 3568/4217/20720 3805/4456/20721 -f 3806/4457/20722 3807/4459/20723 3808/4458/20724 -f 3808/4458/20725 3637/4273/20726 3806/4457/20727 -f 3806/4454/20728 3804/4452/20729 3809/4460/20730 -f 3809/4460/20731 3807/4461/20732 3806/4454/20733 -f 3809/4460/20734 3810/4463/20735 3811/4462/20736 -f 3811/4462/20737 3807/4461/20738 3809/4460/20739 -f 3809/4460/20740 3804/4452/20741 3537/4161/20742 -f 3537/4161/20743 3538/4163/20744 3809/4460/20745 -f 3809/4460/20746 3538/4163/20747 3812/4464/20748 -f 3812/4464/20749 3810/4463/20750 3809/4460/20751 -f 3812/4464/20752 3813/4466/20753 3814/4465/20754 -f 3814/4465/20755 3810/4463/20756 3812/4464/20757 -f 3812/4464/20758 3538/4163/20759 3534/4158/20760 -f 3534/4158/20761 3815/4467/20762 3812/4464/20763 -f 3812/4464/20764 3815/4467/20765 3816/4468/20766 -f 3816/4468/20767 3813/4466/20768 3812/4464/20769 -f 3816/4468/20770 3817/4470/20771 3818/4469/20772 -f 3818/4469/20773 3813/4466/20774 3816/4468/20775 -f 3816/4468/20776 3815/4467/20777 3820/4471/20778 -f 3820/4471/20779 3819/4472/20780 3816/4468/20781 -f 3816/4468/20782 3819/4472/20783 3821/4473/20784 -f 3821/4473/20785 3817/4470/20786 3816/4468/20787 -f 3821/4473/20788 3572/4201/20789 3573/4200/20790 -f 3573/4200/20791 3817/4470/20792 3821/4473/20793 -f 3821/4473/20794 3819/4472/20795 3822/4474/20796 -f 3822/4474/20797 3583/4213/20798 3821/4473/20799 -f 3821/4473/20800 3583/4213/20801 3576/4205/20802 -f 3576/4205/20803 3572/4201/20804 3821/4473/20805 -f 3822/4474/20806 3819/4472/20807 3820/4471/20808 -f 3820/4471/20809 3823/4475/20810 3822/4474/20811 -f 3824/4476/20812 3605/4242/20813 3596/4233/20814 -f 3824/4476/20815 3825/4479/20816 3827/4477/20817 -f 3827/4477/20818 3826/4478/20819 3824/4476/20820 -f 3824/4476/20821 3826/4478/20822 3606/4243/20823 -f 3606/4243/20824 3605/4242/20825 3824/4476/20826 -f 3826/4478/20827 3827/4477/20828 3829/4480/20829 -f 3829/4480/20830 3828/4481/20831 3826/4478/20832 -f 3826/4478/20833 3828/4481/20834 3607/4244/20835 -f 3607/4244/20836 3606/4243/20837 3826/4478/20838 -f 3828/4481/20839 3829/4480/20840 3830/4482/20841 -f 3830/4482/20842 3590/4223/20843 3828/4481/20844 -f 3828/4481/20845 3590/4223/20846 3591/4227/20847 -f 3591/4227/20848 3607/4244/20849 3828/4481/20850 -f 3830/4482/20851 3829/4480/20852 3832/4483/20853 -f 3832/4483/20854 3831/4484/20855 3830/4482/20856 -f 3830/4482/20857 3831/4484/20858 3833/4485/20859 -f 3833/4485/20860 3589/4224/20861 3830/4482/20862 -f 3830/4482/20863 3589/4224/20864 3590/4223/20865 -f 3833/4485/20866 3831/4484/20867 3835/4486/20868 -f 3835/4486/20869 3834/4487/20870 3833/4485/20871 -f 3833/4485/20872 3834/4487/20873 3836/4488/20874 -f 3836/4488/20875 3582/4209/20876 3833/4485/20877 -f 3833/4485/20878 3582/4209/20879 3580/4212/20880 -f 3580/4212/20881 3589/4224/20882 3833/4485/20883 -f 3836/4488/20884 3834/4487/20885 3837/4489/20886 -f 3837/4489/20887 3808/4458/20888 3836/4488/20889 -f 3836/4488/20890 3808/4458/20891 3807/4459/20892 -f 3807/4459/20893 3811/4490/20894 3836/4488/20895 -f 3836/4488/20896 3811/4490/20897 3581/4210/20898 -f 3581/4210/20899 3582/4209/20900 3836/4488/20901 -f 3837/4489/20902 3834/4487/20903 3835/4486/20904 -f 3835/4486/20905 3838/4491/20906 3837/4489/20907 -f 3837/4489/20908 3838/4491/20909 3839/4492/20910 -f 3839/4492/20911 3636/4274/20912 3837/4489/20913 -f 3837/4489/20914 3636/4274/20915 3637/4273/20916 -f 3637/4273/20917 3808/4458/20918 3837/4489/20919 -f 3839/4492/20920 3838/4491/20921 3840/4493/20922 -f 3840/4493/20923 3625/4261/20924 3839/4492/20925 -f 3839/4492/20926 3625/4261/20927 3626/4260/20928 -f 3626/4260/20929 3638/4276/20930 3839/4492/20931 -f 3839/4492/20932 3638/4276/20933 3616/4253/20934 -f 3616/4253/20935 3636/4274/20936 3839/4492/20937 -f 3840/4493/20938 3841/4496/20939 3843/4494/20940 -f 3843/4494/20941 3842/4495/20942 3840/4493/20943 -f 3840/4493/20944 3842/4495/20945 3629/4266/20946 -f 3629/4266/20947 3625/4261/20948 3840/4493/20949 -f 3840/4493/20950 3838/4491/20951 3835/4486/20952 -f 3835/4486/20953 3841/4496/20954 3840/4493/20955 -f 3842/4495/20956 3843/4494/20957 3845/4497/20958 -f 3845/4497/20959 3844/4498/20960 3842/4495/20961 -f 3842/4495/20962 3844/4498/20963 3846/4499/20964 -f 3846/4499/20965 3629/4266/20966 3842/4495/20967 -f 3846/4499/20968 3847/4500/20969 3628/4264/20970 -f 3628/4264/20971 3629/4266/20972 3846/4499/20973 -f 3845/4497/20974 3843/4494/20975 3849/4501/20976 -f 3849/4501/20977 3848/4502/20978 3845/4497/20979 -f 3849/4501/20980 3827/4477/20981 3825/4479/20982 -f 3825/4479/20983 3848/4502/20984 3849/4501/20985 -f 3849/4501/20986 3843/4494/20987 3841/4496/20988 -f 3841/4496/20989 3832/4483/20990 3849/4501/20991 -f 3849/4501/20992 3832/4483/20993 3829/4480/20994 -f 3829/4480/20995 3827/4477/20996 3849/4501/20997 -f 3841/4496/20998 3835/4486/20999 3831/4484/21000 -f 3831/4484/21001 3832/4483/21002 3841/4496/21003 -f 3850/4504/21004 3823/4475/21005 3820/4471/21006 -f 3820/4471/21007 3851/4503/21008 3850/4504/21009 -f 3850/4504/21010 3851/4503/21011 3540/4166/21012 -f 3540/4166/21013 3543/4169/21014 3850/4504/21015 -f 3851/4503/21016 3820/4471/21017 3815/4467/21018 -f 3815/4467/21019 3534/4158/21020 3851/4503/21021 -f 3851/4503/21022 3534/4158/21023 3535/4157/21024 -f 3535/4157/21025 3540/4166/21026 3851/4503/21027 -f 3818/4469/21028 3575/4203/21029 3578/4208/21030 -f 3818/4469/21031 3578/4208/21032 3814/4465/21033 -f 3814/4465/21034 3813/4466/21035 3818/4469/21036 -f 3818/4469/21037 3817/4470/21038 3573/4200/21039 -f 3573/4200/21040 3575/4203/21041 3818/4469/21042 -f 3814/4465/21043 3578/4208/21044 3579/4207/21045 -f 3579/4207/21046 3581/4505/21047 3814/4465/21048 -f 3814/4465/21049 3581/4505/21050 3811/4462/21051 -f 3811/4462/21052 3810/4463/21053 3814/4465/21054 -f 3799/4447/21055 3797/4445/21056 3518/4144/21057 -f 3518/4144/21058 3519/4143/21059 3799/4447/21060 -f 3799/4447/21061 3519/4143/21062 3530/4154/21063 -f 3530/4154/21064 3801/4449/21065 3799/4447/21066 -f 3797/4445/21067 3794/4444/21068 3520/4145/21069 -f 3520/4145/21070 3518/4144/21071 3797/4445/21072 -f 3520/4145/21073 3794/4444/21074 3494/4115/21075 -f 3494/4115/21076 3491/4118/21077 3520/4145/21078 -f 3791/4439/21079 3852/4507/21080 3853/4506/21081 -f 3853/4506/21082 3793/4441/21083 3791/4439/21084 -f 3852/4507/21085 3791/4439/21086 3855/4508/21087 -f 3855/4508/21088 3854/4509/21089 3852/4507/21090 -f 3857/4512/21091 3856/4513/21092 3859/4510/21093 -f 3859/4510/21094 3858/4511/21095 3857/4512/21096 -f 3857/4512/21097 3860/4515/21098 3861/4514/21099 -f 3861/4514/21100 3856/4513/21101 3857/4512/21102 -f 3862/4517/21103 3856/4513/21104 3861/4514/21105 -f 3861/4514/21106 3863/4516/21107 3862/4517/21108 -f 3861/4514/21109 3860/4515/21110 3757/4401/21111 -f 3757/4401/21112 3752/4397/21113 3861/4514/21114 -f 3859/4510/21115 3856/4513/21116 3862/4517/21117 -f 3862/4517/21118 3506/4131/21119 3859/4510/21120 -f 3863/4516/21121 3861/4514/21122 3752/4397/21123 -f 3752/4397/21124 3753/4396/21125 3863/4516/21126 -f 3864/4519/21127 3753/4396/21128 3751/4394/21129 -f 3751/4394/21130 3865/4518/21131 3864/4519/21132 -f 3866/4520/21133 3865/4518/21134 3751/4394/21135 -f 3751/4394/21136 3749/4392/21137 3866/4520/21138 -f 3866/4520/21139 3749/4392/21140 3744/4389/21141 -f 3744/4389/21142 3745/4388/21143 3866/4520/21144 -f 3460/4084/21145 3864/4519/21146 3865/4518/21147 -f 3865/4518/21148 3459/4080/21149 3460/4084/21150 -f 3458/4081/21151 3459/4080/21152 3865/4518/21153 -f 3865/4518/21154 3866/4520/21155 3458/4081/21156 -f 3458/4081/21157 3866/4520/21158 3745/4388/21159 -f 3745/4388/21160 3867/4521/21161 3458/4081/21162 -f 3868/4522/21163 3457/4082/21164 3458/4081/21165 -f 3458/4081/21166 3867/4521/21167 3868/4522/21168 -f 3868/4522/21169 3867/4521/21170 3870/4523/21171 -f 3870/4523/21172 3869/4524/21173 3868/4522/21174 -f 3871/4525/21175 3440/4062/21176 3868/4522/21177 -f 3868/4522/21178 3869/4524/21179 3871/4525/21180 -f 3436/4059/21181 3457/4082/21182 3868/4522/21183 -f 3868/4522/21184 3440/4062/21185 3436/4059/21186 -f 3445/4067/21187 3457/4082/21188 3436/4059/21189 -f 3436/4059/21190 3431/4054/21191 3445/4067/21192 -f 3423/4047/21193 3445/4067/21194 3431/4054/21195 -f 3431/4054/21196 3419/4045/21197 3423/4047/21198 -f 3873/4526/21199 3872/4527/21200 3871/4525/21201 -f 3871/4525/21202 3869/4524/21203 3873/4526/21204 -f 3871/4525/21205 3872/4527/21206 3875/4528/21207 -f 3875/4528/21208 3874/4529/21209 3871/4525/21210 -f 3871/4525/21211 3874/4529/21212 3439/4063/21213 -f 3439/4063/21214 3440/4062/21215 3871/4525/21216 -f 3874/4529/21217 3875/4528/21218 3877/4530/21219 -f 3877/4530/21220 3876/4531/21221 3874/4529/21222 -f 3874/4529/21223 3876/4531/21224 3441/4064/21225 -f 3441/4064/21226 3439/4063/21227 3874/4529/21228 -f 3876/4531/21229 3877/4530/21230 3467/4532/21231 -f 3467/4532/21232 3878/4533/21233 3876/4531/21234 -f 3876/4531/21235 3878/4533/21236 3879/4534/21237 -f 3879/4534/21238 3441/4064/21239 3876/4531/21240 -f 3416/4039/21241 3415/4038/21242 3879/4535/21243 -f 3879/4535/21244 3878/4536/21245 3416/4039/21246 -f 3879/4534/21247 3880/4537/21248 3437/4061/21249 -f 3437/4061/21250 3441/4064/21251 3879/4534/21252 -f 3880/4537/21253 3881/4538/21254 3438/4060/21255 -f 3438/4060/21256 3437/4061/21257 3880/4537/21258 -f 3881/4538/21259 3882/4540/21260 3883/4539/21261 -f 3883/4539/21262 3438/4060/21263 3881/4538/21264 -f 3883/4539/21265 3882/4540/21266 3885/4541/21267 -f 3885/4541/21268 3884/4542/21269 3883/4539/21270 -f 3883/4539/21271 3884/4542/21272 3887/4543/21273 -f 3887/4543/21274 3886/4544/21275 3883/4539/21276 -f 3883/4539/21277 3886/4544/21278 3434/4058/21279 -f 3434/4058/21280 3438/4060/21281 3883/4539/21282 -f 3886/4544/21283 3887/4543/21284 3888/4545/21285 -f 3888/4545/21286 3456/4079/21287 3886/4544/21288 -f 3886/4544/21289 3456/4079/21290 3430/4051/21291 -f 3430/4051/21292 3434/4058/21293 3886/4544/21294 -f 3888/4545/21295 3887/4543/21296 3890/4546/21297 -f 3890/4546/21298 3889/4547/21299 3888/4545/21300 -f 3888/4545/21301 3889/4547/21302 3892/4548/21303 -f 3892/4548/21304 3891/4549/21305 3888/4545/21306 -f 3888/4545/21307 3891/4549/21308 3455/4077/21309 -f 3455/4077/21310 3456/4079/21311 3888/4545/21312 -f 3891/4549/21313 3892/4548/21314 3562/4191/21315 -f 3562/4191/21316 3558/4186/21317 3891/4549/21318 -f 3891/4549/21319 3558/4186/21320 3893/4550/21321 -f 3893/4550/21322 3455/4077/21323 3891/4549/21324 -f 3893/4550/21325 3513/4138/21326 3454/4078/21327 -f 3454/4078/21328 3455/4077/21329 3893/4550/21330 -f 3893/4550/21331 3558/4186/21332 3559/4185/21333 -f 3559/4185/21334 3894/4551/21335 3893/4550/21336 -f 3893/4550/21337 3894/4551/21338 3512/4136/21339 -f 3512/4136/21340 3513/4138/21341 3893/4550/21342 -f 3894/4551/21343 3895/4553/21344 3896/4552/21345 -f 3896/4552/21346 3512/4136/21347 3894/4551/21348 -f 3894/4551/21349 3559/4185/21350 3897/4554/21351 -f 3897/4554/21352 3895/4553/21353 3894/4551/21354 -f 3897/4554/21355 3898/4556/21356 3899/4555/21357 -f 3899/4555/21358 3895/4553/21359 3897/4554/21360 -f 3897/4554/21361 3559/4185/21362 3556/4188/21363 -f 3556/4188/21364 3900/4557/21365 3897/4554/21366 -f 3897/4554/21367 3900/4557/21368 3901/4558/21369 -f 3901/4558/21370 3898/4556/21371 3897/4554/21372 -f 3901/4558/21373 3902/4560/21374 3903/4559/21375 -f 3903/4559/21376 3898/4556/21377 3901/4558/21378 -f 3901/4558/21379 3900/4557/21380 3905/4561/21381 -f 3905/4561/21382 3904/4562/21383 3901/4558/21384 -f 3901/4558/21385 3904/4562/21386 3906/4563/21387 -f 3906/4563/21388 3902/4560/21389 3901/4558/21390 -f 3906/4563/21391 3907/4565/21392 3908/4564/21393 -f 3908/4564/21394 3902/4560/21395 3906/4563/21396 -f 3906/4563/21397 3904/4562/21398 3910/4566/21399 -f 3910/4566/21400 3909/4567/21401 3906/4563/21402 -f 3906/4563/21403 3909/4567/21404 3911/4568/21405 -f 3911/4568/21406 3907/4565/21407 3906/4563/21408 -f 3911/4568/21409 3626/4260/21410 3623/4263/21411 -f 3623/4263/21412 3907/4565/21413 3911/4568/21414 -f 3911/4568/21415 3909/4567/21416 3912/4569/21417 -f 3912/4569/21418 3639/4275/21419 3911/4568/21420 -f 3911/4568/21421 3639/4275/21422 3638/4276/21423 -f 3638/4276/21424 3626/4260/21425 3911/4568/21426 -f 3912/4569/21427 3909/4567/21428 3910/4566/21429 -f 3910/4566/21430 3913/4570/21431 3912/4569/21432 -f 3912/4569/21433 3913/4570/21434 3643/4282/21435 -f 3643/4282/21436 3914/4571/21437 3912/4569/21438 -f 3912/4569/21439 3914/4571/21440 3619/4255/21441 -f 3619/4255/21442 3639/4275/21443 3912/4569/21444 -f 3914/4571/21445 3643/4282/21446 3641/4279/21447 -f 3641/4279/21448 3915/4572/21449 3914/4571/21450 -f 3914/4571/21451 3915/4572/21452 3618/4256/21453 -f 3618/4256/21454 3619/4255/21455 3914/4571/21456 -f 3913/4570/21457 3910/4566/21458 3917/4573/21459 -f 3917/4573/21460 3916/4574/21461 3913/4570/21462 -f 3913/4570/21463 3916/4574/21464 3645/4280/21465 -f 3645/4280/21466 3643/4282/21467 3913/4570/21468 -f 3916/4574/21469 3917/4573/21470 3919/4575/21471 -f 3919/4575/21472 3918/4576/21473 3916/4574/21474 -f 3918/4576/21475 3921/4577/21476 3920/4578/21477 -f 3916/4574/21478 3918/4576/21479 3920/4578/21480 -f 3920/4578/21481 3645/4280/21482 3916/4574/21483 -f 3920/4578/21484 3921/4577/21485 3922/4579/21486 -f 3920/4578/21487 3922/4579/21488 3924/4580/21489 -f 3924/4580/21490 3923/4581/21491 3920/4578/21492 -f 3920/4578/21493 3923/4581/21494 3644/4281/21495 -f 3644/4281/21496 3645/4280/21497 3920/4578/21498 -f 3923/4581/21499 3924/4580/21500 3926/4582/21501 -f 3926/4582/21502 3925/4583/21503 3923/4581/21504 -f 3923/4581/21505 3925/4583/21506 3646/4283/21507 -f 3646/4283/21508 3644/4281/21509 3923/4581/21510 -f 3925/4583/21511 3926/4582/21512 3928/4584/21513 -f 3928/4584/21514 3927/4585/21515 3925/4583/21516 -f 3925/4583/21517 3927/4585/21518 3929/4586/21519 -f 3929/4586/21520 3646/4283/21521 3925/4583/21522 -f 3929/4586/21523 3930/4587/21524 3642/4278/21525 -f 3642/4278/21526 3646/4283/21527 3929/4586/21528 -f 3929/4586/21529 3927/4585/21530 3714/4356/21531 -f 3714/4356/21532 3719/4361/21533 3929/4586/21534 -f 3929/4586/21535 3719/4361/21536 3931/4588/21537 -f 3931/4588/21538 3930/4587/21539 3929/4586/21540 -f 3931/4588/21541 3659/4296/21542 3660/4295/21543 -f 3660/4295/21544 3930/4587/21545 3931/4588/21546 -f 3931/4588/21547 3719/4361/21548 3720/4360/21549 -f 3720/4360/21550 3932/4589/21551 3931/4588/21552 -f 3931/4588/21553 3932/4589/21554 3663/4299/21555 -f 3663/4299/21556 3659/4296/21557 3931/4588/21558 -f 3932/4589/21559 3720/4360/21560 3724/4365/21561 -f 3724/4365/21562 3722/4364/21563 3932/4589/21564 -f 3932/4589/21565 3722/4364/21566 3721/4362/21567 -f 3721/4362/21568 3663/4299/21569 3932/4589/21570 -f 3930/4587/21571 3660/4295/21572 3640/4277/21573 -f 3640/4277/21574 3642/4278/21575 3930/4587/21576 -f 3927/4585/21577 3928/4584/21578 3713/4357/21579 -f 3713/4357/21580 3714/4356/21581 3927/4585/21582 -f 3933/4590/21583 3921/4577/21584 3918/4576/21585 -f 3933/4590/21586 3918/4576/21587 3935/4591/21588 -f 3935/4591/21589 3934/4592/21590 3933/4590/21591 -f 3934/4592/21592 3935/4591/21593 3937/4593/21594 -f 3937/4593/21595 3936/4594/21596 3934/4592/21597 -f 3937/4593/21598 3935/4591/21599 3939/4595/21600 -f 3939/4595/21601 3938/4596/21602 3937/4593/21603 -f 3937/4593/21604 3938/4596/21605 3718/4358/21606 -f 3718/4358/21607 3715/4355/21608 3937/4593/21609 -f 3937/4593/21610 3715/4355/21611 3716/4354/21612 -f 3716/4354/21613 3936/4594/21614 3937/4593/21615 -f 3938/4596/21616 3939/4595/21617 3709/4351/21618 -f 3709/4351/21619 3710/4350/21620 3938/4596/21621 -f 3938/4596/21622 3710/4350/21623 3725/4367/21624 -f 3725/4367/21625 3718/4358/21626 3938/4596/21627 -f 3939/4595/21628 3918/4576/21629 3919/4575/21630 -f 3919/4575/21631 3709/4351/21632 3939/4595/21633 -f 3939/4595/21634 3935/4591/21635 3918/4576/21636 -f 3919/4575/21637 3917/4573/21638 3905/4561/21639 -f 3905/4561/21640 3560/4190/21641 3919/4575/21642 -f 3919/4575/21643 3560/4190/21644 3561/4189/21645 -f 3561/4189/21646 3709/4351/21647 3919/4575/21648 -f 3917/4573/21649 3910/4566/21650 3904/4562/21651 -f 3904/4562/21652 3905/4561/21653 3917/4573/21654 -f 3908/4564/21655 3627/4265/21656 3542/4164/21657 -f 3542/4164/21658 3940/4597/21659 3908/4564/21660 -f 3908/4564/21661 3940/4597/21662 3903/4559/21663 -f 3903/4559/21664 3902/4560/21665 3908/4564/21666 -f 3908/4564/21667 3907/4565/21668 3623/4263/21669 -f 3623/4263/21670 3627/4265/21671 3908/4564/21672 -f 3940/4597/21673 3542/4164/21674 3539/4167/21675 -f 3539/4167/21676 3941/4598/21677 3940/4597/21678 -f 3940/4597/21679 3941/4598/21680 3942/4599/21681 -f 3942/4599/21682 3903/4559/21683 3940/4597/21684 -f 3942/4599/21685 3941/4598/21686 3944/4600/21687 -f 3944/4600/21688 3943/4601/21689 3942/4599/21690 -f 3942/4599/21691 3943/4601/21692 3945/4602/21693 -f 3945/4602/21694 3899/4555/21695 3942/4599/21696 -f 3942/4599/21697 3899/4555/21698 3898/4556/21699 -f 3898/4556/21700 3903/4559/21701 3942/4599/21702 -f 3945/4602/21703 3943/4601/21704 3947/4603/21705 -f 3947/4603/21706 3946/4604/21707 3945/4602/21708 -f 3945/4602/21709 3946/4604/21710 3948/4605/21711 -f 3948/4605/21712 3896/4552/21713 3945/4602/21714 -f 3945/4602/21715 3896/4552/21716 3895/4553/21717 -f 3895/4553/21718 3899/4555/21719 3945/4602/21720 -f 3948/4605/21721 3946/4604/21722 3950/4606/21723 -f 3950/4606/21724 3949/4607/21725 3948/4605/21726 -f 3948/4605/21727 3949/4607/21728 3488/4110/21729 -f 3488/4110/21730 3511/4137/21731 3948/4605/21732 -f 3948/4605/21733 3511/4137/21734 3512/4136/21735 -f 3512/4136/21736 3896/4552/21737 3948/4605/21738 -f 3949/4607/21739 3950/4606/21740 3490/4113/21741 -f 3490/4113/21742 3489/4114/21743 3949/4607/21744 -f 3949/4607/21745 3489/4114/21746 3487/4111/21747 -f 3487/4111/21748 3488/4110/21749 3949/4607/21750 -f 3950/4606/21751 3951/4609/21752 3952/4608/21753 -f 3952/4608/21754 3490/4113/21755 3950/4606/21756 -f 3950/4606/21757 3946/4604/21758 3947/4603/21759 -f 3947/4603/21760 3951/4609/21761 3950/4606/21762 -f 3952/4608/21763 3953/4610/21764 3492/4117/21765 -f 3492/4117/21766 3478/4099/21767 3952/4608/21768 -f 3952/4608/21769 3478/4099/21770 3475/4102/21771 -f 3475/4102/21772 3490/4113/21773 3952/4608/21774 -f 3952/4608/21775 3951/4609/21776 3528/4150/21777 -f 3528/4150/21778 3953/4610/21779 3952/4608/21780 -f 3953/4610/21781 3954/4611/21782 3491/4118/21783 -f 3491/4118/21784 3492/4117/21785 3953/4610/21786 -f 3953/4610/21787 3528/4150/21788 3525/4153/21789 -f 3525/4153/21790 3954/4611/21791 3953/4610/21792 -f 3951/4609/21793 3947/4603/21794 3527/4151/21795 -f 3527/4151/21796 3528/4150/21797 3951/4609/21798 -f 3947/4603/21799 3943/4601/21800 3944/4600/21801 -f 3944/4600/21802 3527/4151/21803 3947/4603/21804 -f 3944/4600/21805 3545/4170/21806 3531/4156/21807 -f 3531/4156/21808 3527/4151/21809 3944/4600/21810 -f 3944/4600/21811 3941/4598/21812 3539/4167/21813 -f 3539/4167/21814 3545/4170/21815 3944/4600/21816 -f 3905/4561/21817 3900/4557/21818 3556/4188/21819 -f 3556/4188/21820 3560/4190/21821 3905/4561/21822 -f 3892/4548/21823 3889/4547/21824 3956/4612/21825 -f 3956/4612/21826 3955/4613/21827 3892/4548/21828 -f 3892/4548/21829 3955/4613/21830 3708/4349/21831 -f 3708/4349/21832 3562/4191/21833 3892/4548/21834 -f 3955/4613/21835 3956/4612/21836 3958/4614/21837 -f 3958/4614/21838 3957/4615/21839 3955/4613/21840 -f 3955/4613/21841 3957/4615/21842 3959/4616/21843 -f 3959/4616/21844 3708/4349/21845 3955/4613/21846 -f 3959/4616/21847 3957/4615/21848 3961/4617/21849 -f 3961/4617/21850 3960/4618/21851 3959/4616/21852 -f 3959/4616/21853 3960/4618/21854 3963/4619/21855 -f 3963/4619/21856 3962/4620/21857 3959/4616/21858 -f 3959/4616/21859 3962/4620/21860 3705/4348/21861 -f 3705/4348/21862 3708/4349/21863 3959/4616/21864 -f 3962/4620/21865 3963/4619/21866 3965/4621/21867 -f 3965/4621/21868 3964/4622/21869 3962/4620/21870 -f 3962/4620/21871 3964/4622/21872 3707/4346/21873 -f 3707/4346/21874 3705/4348/21875 3962/4620/21876 -f 3964/4622/21877 3965/4621/21878 3967/4623/21879 -f 3967/4623/21880 3966/4624/21881 3964/4622/21882 -f 3964/4622/21883 3966/4624/21884 3704/4344/21885 -f 3704/4344/21886 3707/4346/21887 3964/4622/21888 -f 3966/4624/21889 3967/4623/21890 3969/4625/21891 -f 3969/4625/21892 3968/4626/21893 3966/4624/21894 -f 3966/4624/21895 3968/4626/21896 3701/4341/21897 -f 3701/4341/21898 3704/4344/21899 3966/4624/21900 -f 3968/4626/21901 3969/4625/21902 3971/4627/21903 -f 3971/4627/21904 3970/4628/21905 3968/4626/21906 -f 3968/4626/21907 3970/4628/21908 3700/4342/21909 -f 3700/4342/21910 3701/4341/21911 3968/4626/21912 -f 3970/4628/21913 3971/4627/21914 3972/4629/21915 -f 3972/4629/21916 3604/4630/21917 3970/4628/21918 -f 3970/4628/21919 3604/4630/21920 3600/4631/21921 -f 3600/4631/21922 3700/4342/21923 3970/4628/21924 -f 3972/4634/21925 3971/4635/21926 3974/4632/21927 -f 3974/4632/21928 3973/4633/21929 3972/4634/21930 -f 3972/4634/21931 3973/4633/21932 3976/4636/21933 -f 3976/4636/21934 3975/4637/21935 3972/4634/21936 -f 3972/4638/21937 3975/4639/21938 3602/4240/21939 -f 3602/4240/21940 3604/4241/21941 3972/4638/21942 -f 3975/4637/21943 3976/4636/21944 3978/4640/21945 -f 3978/4640/21946 3977/4641/21947 3975/4637/21948 -f 3975/4639/21949 3977/4642/21950 3603/4239/21951 -f 3603/4239/21952 3602/4240/21953 3975/4639/21954 -f 3976/4636/21955 3973/4633/21956 3980/4643/21957 -f 3980/4643/21958 3979/4644/21959 3976/4636/21960 -f 3976/4636/21961 3979/4644/21962 3981/4645/21963 -f 3981/4645/21964 3978/4640/21965 3976/4636/21966 -f 3981/4645/21967 3979/4644/21968 3983/4646/21969 -f 3983/4646/21970 3982/4647/21971 3981/4645/21972 -f 3981/4650/21973 3982/4651/21974 3985/4648/21975 -f 3985/4648/21976 3984/4649/21977 3981/4650/21978 -f 3981/4650/21979 3984/4649/21980 3554/4184/21981 -f 3554/4184/21982 3978/4652/21983 3981/4650/21984 -f 3984/4649/21985 3985/4648/21986 3987/4653/21987 -f 3987/4653/21988 3986/4654/21989 3984/4649/21990 -f 3984/4649/21991 3986/4654/21992 3555/4181/21993 -f 3555/4181/21994 3554/4184/21995 3984/4649/21996 -f 3987/4653/21997 3985/4648/21998 3989/4655/21999 -f 3989/4655/22000 3988/4656/22001 3987/4653/22002 -f 3987/4653/22003 3988/4656/22004 3991/4657/22005 -f 3991/4657/22006 3990/4658/22007 3987/4653/22008 -f 3987/4653/22009 3990/4658/22010 3555/4181/22011 -f 3555/4181/22012 3986/4654/22013 3987/4653/22014 -f 3990/4658/22015 3991/4657/22016 3993/4659/22017 -f 3993/4659/22018 3992/4660/22019 3990/4658/22020 -f 3990/4658/22021 3992/4660/22022 3621/4259/22023 -f 3621/4259/22024 3555/4181/22025 3990/4658/22026 -f 3992/4660/22027 3993/4659/22028 3995/4661/22029 -f 3995/4661/22030 3994/4662/22031 3992/4660/22032 -f 3992/4660/22033 3994/4662/22034 3996/4663/22035 -f 3996/4663/22036 3621/4259/22037 3992/4660/22038 -f 3996/4663/22039 3997/4664/22040 3622/4258/22041 -f 3622/4258/22042 3621/4259/22043 3996/4663/22044 -f 3996/4663/22045 3994/4662/22046 3999/4665/22047 -f 3999/4665/22048 3998/4666/22049 3996/4663/22050 -f 3996/4663/22051 3998/4666/22052 4000/4667/22053 -f 4000/4667/22054 3997/4664/22055 3996/4663/22056 -f 4000/4669/22057 3960/4618/22058 3961/4617/22059 -f 3961/4617/22060 3997/4668/22061 4000/4669/22062 -f 4000/4667/22063 3998/4666/22064 4002/4670/22065 -f 4002/4670/22066 4001/4671/22067 4000/4667/22068 -f 4000/4669/22069 4001/4672/22070 3963/4619/22071 -f 3963/4619/22072 3960/4618/22073 4000/4669/22074 -f 4001/4671/22075 4002/4670/22076 4004/4673/22077 -f 4004/4673/22078 4003/4674/22079 4001/4671/22080 -f 4001/4672/22081 4003/4675/22082 3965/4621/22083 -f 3965/4621/22084 3963/4619/22085 4001/4672/22086 -f 4003/4674/22087 4004/4673/22088 4006/4676/22089 -f 4006/4676/22090 4005/4677/22091 4003/4674/22092 -f 4003/4675/22093 4005/4678/22094 3967/4623/22095 -f 3967/4623/22096 3965/4621/22097 4003/4675/22098 -f 4005/4677/22099 4006/4676/22100 4008/4679/22101 -f 4008/4679/22102 4007/4680/22103 4005/4677/22104 -f 4005/4678/22105 4007/4681/22106 3969/4625/22107 -f 3969/4625/22108 3967/4623/22109 4005/4678/22110 -f 4007/4680/22111 4008/4679/22112 4009/4682/22113 -f 4009/4682/22114 3974/4632/22115 4007/4680/22116 -f 4007/4681/22117 3974/4683/22118 3971/4627/22119 -f 3971/4627/22120 3969/4625/22121 4007/4681/22122 -f 4009/4682/22123 4008/4679/22124 4011/4684/22125 -f 4011/4684/22126 4010/4685/22127 4009/4682/22128 -f 4009/4682/22129 4010/4685/22130 4012/4686/22131 -f 4012/4686/22132 3980/4643/22133 4009/4682/22134 -f 4009/4682/22135 3980/4643/22136 3973/4633/22137 -f 3973/4633/22138 3974/4632/22139 4009/4682/22140 -f 4012/4686/22141 4010/4685/22142 4014/4687/22143 -f 4014/4687/22144 4013/4688/22145 4012/4686/22146 -f 4012/4686/22147 4013/4688/22148 4015/4689/22149 -f 4015/4689/22150 3983/4646/22151 4012/4686/22152 -f 4012/4686/22153 3983/4646/22154 3979/4644/22155 -f 3979/4644/22156 3980/4643/22157 4012/4686/22158 -f 4015/4689/22159 4013/4688/22160 4017/4690/22161 -f 4017/4690/22162 4016/4691/22163 4015/4689/22164 -f 4015/4689/22165 4016/4691/22166 4019/4692/22167 -f 4019/4692/22168 4018/4693/22169 4015/4689/22170 -f 4015/4689/22171 4018/4693/22172 3982/4647/22173 -f 3982/4647/22174 3983/4646/22175 4015/4689/22176 -f 4018/4695/22177 4019/4696/22178 4020/4694/22179 -f 4020/4694/22180 3989/4655/22181 4018/4695/22182 -f 4018/4695/22183 3989/4655/22184 3985/4648/22185 -f 3985/4648/22186 3982/4651/22187 4018/4695/22188 -f 4020/4694/22189 4019/4696/22190 4022/4697/22191 -f 4022/4697/22192 4021/4698/22193 4020/4694/22194 -f 4020/4694/22195 4021/4698/22196 4024/4699/22197 -f 4024/4699/22198 4023/4700/22199 4020/4694/22200 -f 4020/4694/22201 4023/4700/22202 3988/4656/22203 -f 3988/4656/22204 3989/4655/22205 4020/4694/22206 -f 4023/4700/22207 4024/4699/22208 4026/4701/22209 -f 4026/4701/22210 4025/4702/22211 4023/4700/22212 -f 4023/4700/22213 4025/4702/22214 3991/4657/22215 -f 3991/4657/22216 3988/4656/22217 4023/4700/22218 -f 4025/4702/22219 4026/4701/22220 3687/4325/22221 -f 3687/4325/22222 4027/4703/22223 4025/4702/22224 -f 4025/4702/22225 4027/4703/22226 3993/4659/22227 -f 3993/4659/22228 3991/4657/22229 4025/4702/22230 -f 4027/4703/22231 3687/4325/22232 3688/4324/22233 -f 3688/4324/22234 4028/4704/22235 4027/4703/22236 -f 4027/4703/22237 4028/4704/22238 3995/4661/22239 -f 3995/4661/22240 3993/4659/22241 4027/4703/22242 -f 4028/4704/22243 3688/4324/22244 3689/4326/22245 -f 3689/4326/22246 4029/4705/22247 4028/4704/22248 -f 4028/4704/22249 4029/4705/22250 4030/4706/22251 -f 4030/4706/22252 3995/4661/22253 4028/4704/22254 -f 4030/4706/22255 3999/4665/22256 3994/4662/22257 -f 3994/4662/22258 3995/4661/22259 4030/4706/22260 -f 4030/4706/22261 4029/4705/22262 4032/4707/22263 -f 4032/4707/22264 4031/4708/22265 4030/4706/22266 -f 4030/4706/22267 4031/4708/22268 4033/4709/22269 -f 4033/4709/22270 3999/4665/22271 4030/4706/22272 -f 4033/4709/22273 4002/4670/22274 3998/4666/22275 -f 3998/4666/22276 3999/4665/22277 4033/4709/22278 -f 4033/4709/22279 4031/4708/22280 4035/4710/22281 -f 4035/4710/22282 4034/4711/22283 4033/4709/22284 -f 4033/4709/22285 4034/4711/22286 4004/4673/22287 -f 4004/4673/22288 4002/4670/22289 4033/4709/22290 -f 4034/4711/22291 4035/4710/22292 4037/4712/22293 -f 4037/4712/22294 4036/4713/22295 4034/4711/22296 -f 4034/4711/22297 4036/4713/22298 4006/4676/22299 -f 4006/4676/22300 4004/4673/22301 4034/4711/22302 -f 4036/4713/22303 4037/4712/22304 4038/4714/22305 -f 4038/4714/22306 4011/4684/22307 4036/4713/22308 -f 4036/4713/22309 4011/4684/22310 4008/4679/22311 -f 4008/4679/22312 4006/4676/22313 4036/4713/22314 -f 4038/4714/22315 4037/4712/22316 4040/4715/22317 -f 4040/4715/22318 4039/4716/22319 4038/4714/22320 -f 4038/4714/22321 4039/4716/22322 4041/4717/22323 -f 4041/4717/22324 4014/4687/22325 4038/4714/22326 -f 4038/4714/22327 4014/4687/22328 4010/4685/22329 -f 4010/4685/22330 4011/4684/22331 4038/4714/22332 -f 4041/4717/22333 4039/4716/22334 4043/4718/22335 -f 4043/4718/22336 4042/4719/22337 4041/4717/22338 -f 4041/4717/22339 4042/4719/22340 4044/4720/22341 -f 4044/4720/22342 4017/4690/22343 4041/4717/22344 -f 4041/4717/22345 4017/4690/22346 4013/4688/22347 -f 4013/4688/22348 4014/4687/22349 4041/4717/22350 -f 3711/4353/22351 3712/4352/22352 4044/4720/22353 -f 4044/4720/22354 4042/4719/22355 3711/4353/22356 -f 3696/4333/22357 4045/4721/22358 4044/4720/22359 -f 4044/4720/22360 3712/4352/22361 3696/4333/22362 -f 4044/4720/22363 4045/4721/22364 4016/4691/22365 -f 4016/4691/22366 4017/4690/22367 4044/4720/22368 -f 3681/4336/22369 4022/4722/22370 4045/4721/22371 -f 4045/4721/22372 3696/4333/22373 3681/4336/22374 -f 4045/4721/22375 4022/4722/22376 4019/4692/22377 -f 4019/4692/22378 4016/4691/22379 4045/4721/22380 -f 4021/4698/22381 4022/4697/22382 3681/4318/22383 -f 3681/4318/22384 4046/4723/22385 4021/4698/22386 -f 4021/4698/22387 4046/4723/22388 3667/4301/22389 -f 3667/4301/22390 4024/4699/22391 4021/4698/22392 -f 4024/4699/22393 3667/4301/22394 3664/4304/22395 -f 3664/4304/22396 4026/4701/22397 4024/4699/22398 -f 4026/4701/22399 3664/4304/22400 3669/4305/22401 -f 3669/4305/22402 3687/4325/22403 4026/4701/22404 -f 3711/4353/22405 4042/4719/22406 4043/4718/22407 -f 4043/4718/22408 4047/4724/22409 3711/4353/22410 -f 4049/4725/22411 4048/4726/22412 4047/4724/22413 -f 4047/4724/22414 4043/4718/22415 4049/4725/22416 -f 4047/4724/22417 4048/4726/22418 4050/4727/22419 -f 4050/4727/22420 3697/4337/22421 4047/4724/22422 -f 4047/4724/22423 3697/4337/22424 3695/4334/22425 -f 3695/4334/22426 3711/4353/22427 4047/4724/22428 -f 4050/4727/22429 4048/4726/22430 3698/4339/22431 -f 3698/4339/22432 3692/4329/22433 4050/4727/22434 -f 4050/4727/22435 3692/4329/22436 3683/4330/22437 -f 3683/4330/22438 3686/4728/22439 4050/4727/22440 -f 4050/4727/22441 3686/4728/22442 3682/4338/22443 -f 3682/4338/22444 3697/4337/22445 4050/4727/22446 -f 4051/4729/22447 3698/4339/22448 4048/4726/22449 -f 4048/4726/22450 4049/4725/22451 4051/4729/22452 -f 3691/4327/22453 3698/4339/22454 4051/4729/22455 -f 4051/4729/22456 4052/4730/22457 3691/4327/22458 -f 4049/4725/22459 4040/4715/22460 4053/4731/22461 -f 4053/4731/22462 4051/4729/22463 4049/4725/22464 -f 4049/4725/22465 4043/4718/22466 4039/4716/22467 -f 4039/4716/22468 4040/4715/22469 4049/4725/22470 -f 4053/4731/22471 4035/4710/22472 4031/4708/22473 -f 4031/4708/22474 4032/4707/22475 4053/4731/22476 -f 4053/4731/22477 4032/4707/22478 4052/4730/22479 -f 4052/4730/22480 4051/4729/22481 4053/4731/22482 -f 4053/4731/22483 4040/4715/22484 4037/4712/22485 -f 4037/4712/22486 4035/4710/22487 4053/4731/22488 -f 3691/4327/22489 4052/4730/22490 3689/4326/22491 -f 3689/4326/22492 3684/4321/22493 3691/4327/22494 -f 4052/4730/22495 4032/4707/22496 4029/4705/22497 -f 4029/4705/22498 3689/4326/22499 4052/4730/22500 -f 3997/4668/22501 3961/4617/22502 4054/4732/22503 -f 4054/4732/22504 3622/4733/22505 3997/4668/22506 -f 4054/4732/22507 3958/4614/22508 3502/4127/22509 -f 3502/4127/22510 3553/4177/22511 4054/4732/22512 -f 4054/4732/22513 3553/4177/22514 3552/4180/22515 -f 3552/4180/22516 3622/4733/22517 4054/4732/22518 -f 4054/4732/22519 3961/4617/22520 3957/4615/22521 -f 3957/4615/22522 3958/4614/22523 4054/4732/22524 -f 3958/4614/22525 3956/4612/22526 3501/4125/22527 -f 3501/4125/22528 3502/4127/22529 3958/4614/22530 -f 3956/4612/22531 3889/4547/22532 3890/4546/22533 -f 3890/4546/22534 3501/4125/22535 3956/4612/22536 -f 3890/4546/22537 3887/4543/22538 3884/4542/22539 -f 3884/4542/22540 4055/4734/22541 3890/4546/22542 -f 3890/4546/22543 4055/4734/22544 3500/4126/22545 -f 3500/4126/22546 3501/4125/22547 3890/4546/22548 -f 4055/4734/22549 3884/4542/22550 3885/4541/22551 -f 3885/4541/22552 4056/4735/22553 4055/4734/22554 -f 4055/4734/22555 4056/4735/22556 4057/4736/22557 -f 4057/4736/22558 3500/4126/22559 4055/4734/22560 -f 4059/4739/22561 4058/4740/22562 4057/4737/22563 -f 4057/4737/22564 4060/4738/22565 4059/4739/22566 -f 4057/4736/22567 4058/4741/22568 3497/4124/22569 -f 3497/4124/22570 3500/4126/22571 4057/4736/22572 -f 3471/4094/22573 3473/4742/22574 4058/4740/22575 -f 4058/4740/22576 4059/4739/22577 3471/4094/22578 -f 4058/4741/22579 3473/4743/22580 3474/4121/22581 -f 3474/4121/22582 3497/4124/22583 4058/4741/22584 -f 3472/4744/22585 3473/4742/22586 3471/4094/22587 -f 3471/4094/22588 3469/4092/22589 3472/4744/22590 -f 3469/4092/22591 3462/4086/22592 3472/4744/22593 -f 4059/4739/22594 4060/4738/22595 4062/4745/22596 -f 4062/4745/22597 4061/4746/22598 4059/4739/22599 -f 4059/4739/22600 4061/4746/22601 3468/4093/22602 -f 3468/4093/22603 3471/4094/22604 4059/4739/22605 -f 4061/4746/22606 4062/4745/22607 4064/4747/22608 -f 4064/4747/22609 4063/4748/22610 4061/4746/22611 -f 4061/4746/22612 4063/4748/22613 3470/4091/22614 -f 3470/4091/22615 3468/4093/22616 4061/4746/22617 -f 4063/4748/22618 4064/4747/22619 3404/4029/22620 -f 3404/4029/22621 3405/4028/22622 4063/4748/22623 -f 4063/4748/22624 3405/4028/22625 3414/4037/22626 -f 3414/4037/22627 3470/4091/22628 4063/4748/22629 -f 3406/4027/22630 3407/4031/22631 3414/4037/22632 -f 3414/4037/22633 3405/4028/22634 3406/4027/22635 -f 3414/4037/22636 3412/4036/22637 3462/4086/22638 -f 3462/4086/22639 3470/4091/22640 3414/4037/22641 -f 3390/4014/22642 3393/4016/22643 3404/4029/22644 -f 3404/4029/22645 3397/4019/22646 3390/4014/22647 -f 3404/4029/22648 4064/4747/22649 4065/4749/22650 -f 4065/4749/22651 3397/4019/22652 3404/4029/22653 -f 4065/4749/22654 4066/4750/22655 3396/4020/22656 -f 3396/4020/22657 3397/4019/22658 4065/4749/22659 -f 4065/4749/22660 4064/4747/22661 4062/4745/22662 -f 4062/4745/22663 4067/4751/22664 4065/4749/22665 -f 4065/4749/22666 4067/4751/22667 4068/4752/22668 -f 4068/4752/22669 4066/4750/22670 4065/4749/22671 -f 4068/4752/22672 4069/4754/22673 4070/4753/22674 -f 4070/4753/22675 4066/4750/22676 4068/4752/22677 -f 4068/4752/22678 4067/4751/22679 4072/4755/22680 -f 4072/4755/22681 4071/4756/22682 4068/4752/22683 -f 4068/4752/22684 4071/4756/22685 4073/4757/22686 -f 4073/4757/22687 4069/4754/22688 4068/4752/22689 -f 4073/4757/22690 4074/4759/22691 4075/4758/22692 -f 4075/4758/22693 4069/4754/22694 4073/4757/22695 -f 3885/4760/22696 3882/4761/22697 4073/4757/22698 -f 4073/4757/22699 4071/4756/22700 3885/4760/22701 -f 3881/4762/22702 4074/4759/22703 4073/4757/22704 -f 4073/4757/22705 3882/4761/22706 3881/4762/22707 -f 4076/4764/22708 4074/4759/22709 3881/4762/22710 -f 3881/4762/22711 3880/4763/22712 4076/4764/22713 -f 4076/4764/22714 3415/4038/22715 3400/4022/22716 -f 3400/4022/22717 3401/4021/22718 4076/4764/22719 -f 4076/4764/22720 3401/4021/22721 4075/4758/22722 -f 4075/4758/22723 4074/4759/22724 4076/4764/22725 -f 3415/4038/22726 4076/4764/22727 3880/4763/22728 -f 3880/4763/22729 3879/4535/22730 3415/4038/22731 -f 3885/4760/22732 4071/4756/22733 4072/4755/22734 -f 4072/4755/22735 4056/4765/22736 3885/4760/22737 -f 4057/4737/22738 4056/4765/22739 4072/4755/22740 -f 4072/4755/22741 4060/4738/22742 4057/4737/22743 -f 4075/4758/22744 3401/4021/22745 3398/4024/22746 -f 3398/4024/22747 4077/4766/22748 4075/4758/22749 -f 4075/4758/22750 4077/4766/22751 4070/4753/22752 -f 4070/4753/22753 4069/4754/22754 4075/4758/22755 -f 4077/4766/22756 3398/4024/22757 3377/3999/22758 -f 3377/3999/22759 3372/3998/22760 4077/4766/22761 -f 4077/4766/22762 3372/3998/22763 3373/3997/22764 -f 3373/3997/22765 4070/4753/22766 4077/4766/22767 -f 3396/4020/22768 3373/3997/22769 3374/3996/22770 -f 3374/3996/22771 3394/4018/22772 3396/4020/22773 -f 3373/3997/22774 3396/4020/22775 4066/4750/22776 -f 4066/4750/22777 4070/4753/22778 3373/3997/22779 -f 3377/3999/22780 3398/4024/22781 3399/4023/22782 -f 3399/4023/22783 3380/4002/22784 3377/3999/22785 -f 4072/4755/22786 4067/4751/22787 4062/4745/22788 -f 4062/4745/22789 4060/4738/22790 4072/4755/22791 -f 3416/4039/22792 3878/4536/22793 3467/4767/22794 -f 3467/4767/22795 3464/4768/22796 3416/4039/22797 -f 3877/4530/22798 3875/4528/22799 3548/4172/22800 -f 3548/4172/22801 3549/4171/22802 3877/4530/22803 -f 3877/4530/22804 3549/4171/22805 4078/4769/22806 -f 4078/4769/22807 3467/4532/22808 3877/4530/22809 -f 3875/4528/22810 3872/4527/22811 3551/4175/22812 -f 3551/4175/22813 3548/4172/22814 3875/4528/22815 -f 3551/4175/22816 3872/4527/22817 3873/4526/22818 -f 3873/4526/22819 3598/4235/22820 3551/4175/22821 -f 3740/4383/22822 3736/4379/22823 3598/4235/22824 -f 3598/4235/22825 3873/4526/22826 3740/4383/22827 -f 3740/4383/22828 3873/4526/22829 3869/4524/22830 -f 3869/4524/22831 3870/4523/22832 3740/4383/22833 -f 3597/4236/22834 3598/4235/22835 3736/4379/22836 -f 3736/4379/22837 3733/4376/22838 3597/4236/22839 -f 3743/4386/22840 3739/4384/22841 3740/4383/22842 -f 3740/4383/22843 3870/4523/22844 3743/4386/22845 -f 3743/4386/22846 3870/4523/22847 3867/4521/22848 -f 3867/4521/22849 3745/4388/22850 3743/4386/22851 -f 3600/4631/22852 3601/4371/22853 3699/4343/22854 -f 3699/4343/22855 3700/4342/22856 3600/4631/22857 -f 3523/4149/22858 3864/4519/22859 3460/4084/22860 -f 3460/4084/22861 3521/4147/22862 3523/4149/22863 -f 3863/4516/22864 3753/4396/22865 3864/4519/22866 -f 3864/4519/22867 3523/4149/22868 3863/4516/22869 -f 3863/4516/22870 3523/4149/22871 3524/4148/22872 -f 3524/4148/22873 3862/4517/22874 3863/4516/22875 -f 3485/4106/22876 3487/4111/22877 3506/4131/22878 -f 3506/4131/22879 3484/4107/22880 3485/4106/22881 -f 3504/4129/22882 3505/4128/22883 4080/4770/22884 -f 4080/4770/22885 4079/4771/22886 3504/4129/22887 -f 3504/4129/22888 4079/4771/22889 3858/4511/22890 -f 3858/4511/22891 3859/4510/22892 3504/4129/22893 -f 4082/4773/22894 4081/4774/22895 4083/4772/22896 -f 4083/4772/22897 3795/4443/22898 4082/4773/22899 -f 4082/4773/22900 3795/4443/22901 3793/4441/22902 -f 3793/4441/22903 3853/4506/22904 4082/4773/22905 -f 4083/4772/22906 4081/4774/22907 4085/4775/22908 -f 4085/4775/22909 4084/4776/22910 4083/4772/22911 -f 3493/4116/22912 3494/4115/22913 4083/4772/22914 -f 4083/4772/22915 4084/4776/22916 3493/4116/22917 -f 3493/4116/22918 4084/4776/22919 4086/4777/22920 -f 4086/4777/22921 3496/4119/22922 3493/4116/22923 -f 3496/4119/22924 4086/4777/22925 3505/4128/22926 -f 3505/4128/22927 3495/4120/22928 3496/4119/22929 -f 4086/4777/22930 4084/4776/22931 4085/4775/22932 -f 4085/4775/22933 4087/4778/22934 4086/4777/22935 -f 4086/4777/22936 4087/4778/22937 4080/4770/22938 -f 4080/4770/22939 3505/4128/22940 4086/4777/22941 -f 4088/4780/22942 3854/4781/22943 3855/4779/22944 -f 3855/4779/22945 3788/4434/22946 4088/4780/22947 -f 4088/4780/22948 3788/4434/22949 3785/4433/22950 -f 3785/4433/22951 3786/4432/22952 4088/4780/22953 -f 3855/4508/22954 3791/4439/22955 3790/4440/22956 -f 3855/4779/22957 3790/4437/22958 3787/4435/22959 -f 3787/4435/22960 3788/4434/22961 3855/4779/22962 -f 3725/4367/22963 3710/4350/22964 3706/4347/22965 -f 3706/4347/22966 3703/4345/22967 3725/4367/22968 -f 3721/4362/22969 3693/4331/22970 3662/4300/22971 -f 3662/4300/22972 3663/4299/22973 3721/4362/22974 -f 3706/4347/22975 3707/4346/22976 3704/4344/22977 -f 3704/4344/22978 3703/4345/22979 3706/4347/22980 -f 3686/4323/22981 3670/4307/22982 3666/4302/22983 -f 3666/4302/22984 3682/4317/22985 3686/4323/22986 -f 3660/4295/22987 3613/4249/22988 3608/4248/22989 -f 3608/4248/22990 3640/4277/22991 3660/4295/22992 -f 3656/4292/22993 3615/4254/22994 3618/4256/22995 -f 3618/4256/22996 3657/4294/22997 3656/4292/22998 -f 3915/4572/22999 3641/4279/23000 3609/4247/23001 -f 3609/4247/23002 3634/4271/23003 3915/4572/23004 -f 3652/4288/23005 3586/4218/23006 3584/4215/23007 -f 3584/4215/23008 3620/4257/23009 3652/4288/23010 -f 3650/4284/23011 3653/4291/23012 3635/4272/23013 -f 3635/4272/23014 3630/4270/23015 3650/4284/23016 -f 3627/4265/23017 3628/4264/23018 3541/4165/23019 -f 3541/4165/23020 3542/4164/23021 3627/4265/23022 -f 3628/4264/23023 3847/4500/23024 3544/4168/23025 -f 3544/4168/23026 3541/4165/23027 3628/4264/23028 -f 3607/4244/23029 3591/4227/23030 3593/4228/23031 -f 3593/4228/23032 3594/4230/23033 3607/4244/23034 -f 3596/4233/23035 3592/4232/23036 3587/4222/23037 -f 3587/4222/23038 3824/4476/23039 3596/4233/23040 -f 3553/4177/23041 3502/4127/23042 3499/4122/23043 -f 3499/4122/23044 3546/4178/23045 3553/4177/23046 -f 3549/4171/23047 3546/4174/23048 3499/4782/23049 -f 3499/4782/23050 4078/4769/23051 3549/4171/23052 -f 3545/4170/23053 3535/4157/23054 3532/4160/23055 -f 3532/4160/23056 3531/4156/23057 3545/4170/23058 -f 3529/4155/23059 3516/4140/23060 3517/4139/23061 -f 3529/4155/23062 3517/4139/23063 3954/4611/23064 -f 3954/4611/23065 3525/4153/23066 3529/4155/23067 -f 3529/4155/23068 3530/4154/23069 3519/4143/23070 -f 3519/4143/23071 3516/4140/23072 3529/4155/23073 -f 3450/4070/23074 3482/4109/23075 3483/4108/23076 -f 3483/4108/23077 3461/4083/23078 3450/4070/23079 -f 3450/4070/23080 3461/4083/23081 4089/4783/23082 -f 4089/4783/23083 3449/4071/23084 3450/4070/23085 -f 3449/4071/23086 4089/4783/23087 3432/4056/23088 -f 3432/4056/23089 3433/4055/23090 3449/4071/23091 -f 3433/4055/23092 3427/4048/23093 3453/4076/23094 -f 3453/4076/23095 3449/4071/23096 3433/4055/23097 -f 3433/4055/23098 3421/4043/23099 3422/4042/23100 -f 3422/4042/23101 3427/4048/23102 3433/4055/23103 -f 4089/4783/23104 3461/4083/23105 3446/4069/23106 -f 3446/4069/23107 3443/4065/23108 4089/4783/23109 -f 4089/4783/23110 3443/4065/23111 3424/4046/23112 -f 3424/4046/23113 3432/4056/23114 4089/4783/23115 -f 4090/4784/23116 3482/4109/23117 3450/4070/23118 -f 3450/4070/23119 3447/4073/23120 4090/4784/23121 -f 4090/4784/23122 4091/4787/23123 4093/4785/23124 -f 4093/4785/23125 4092/4786/23126 4090/4784/23127 -f 4090/4784/23128 4092/4786/23129 3485/4106/23130 -f 3485/4106/23131 3482/4109/23132 4090/4784/23133 -f 3451/4075/23134 4091/4787/23135 4090/4784/23136 -f 4090/4784/23137 3447/4073/23138 3451/4075/23139 -f 4094/4789/23140 4091/4787/23141 3451/4075/23142 -f 3451/4075/23143 4095/4788/23144 4094/4789/23145 -f 4095/4788/23146 3451/4075/23147 3452/4074/23148 -f 3452/4074/23149 4096/4790/23150 4095/4788/23151 -f 4096/4790/23152 3452/4074/23153 4098/4791/23154 -f 4098/4791/23155 4097/4792/23156 4096/4790/23157 -f 4100/4793/23158 4099/4794/23159 4097/4792/23160 -f 4097/4792/23161 4098/4791/23162 4100/4793/23163 -f 4099/4794/23164 4100/4793/23165 4102/4795/23166 -f 4102/4795/23167 4101/4796/23168 4099/4794/23169 -f 4101/4796/23170 4102/4795/23171 4104/4797/23172 -f 4104/4797/23173 4103/4798/23174 4101/4796/23175 -f 4103/4798/23176 4104/4797/23177 4106/4799/23178 -f 4106/4799/23179 4105/4800/23180 4103/4798/23181 -f 4107/4802/23182 4105/4800/23183 4106/4799/23184 -f 4106/4799/23185 4108/4801/23186 4107/4802/23187 -f 4106/4799/23188 4104/4797/23189 3509/4133/23190 -f 3509/4133/23191 3510/4132/23192 4106/4799/23193 -f 4106/4799/23194 3510/4132/23195 4109/4803/23196 -f 4109/4803/23197 4108/4801/23198 4106/4799/23199 -f 4109/4803/23200 3486/4112/23201 3485/4106/23202 -f 3485/4106/23203 4092/4786/23204 4109/4803/23205 -f 4109/4803/23206 4092/4786/23207 4093/4785/23208 -f 4093/4785/23209 4108/4801/23210 4109/4803/23211 -f 4109/4803/23212 3510/4132/23213 3507/4135/23214 -f 3507/4135/23215 3486/4112/23216 4109/4803/23217 -f 4108/4801/23218 4093/4785/23219 4110/4804/23220 -f 4110/4804/23221 4107/4802/23222 4108/4801/23223 -f 4104/4797/23224 4102/4795/23225 4111/4805/23226 -f 4111/4805/23227 3509/4133/23228 4104/4797/23229 -f 4111/4805/23230 4102/4795/23231 4100/4793/23232 -f 4100/4793/23233 4112/4806/23234 4111/4805/23235 -f 4111/4805/23236 4112/4806/23237 3428/4053/23238 -f 3428/4053/23239 3454/4078/23240 4111/4805/23241 -f 4111/4805/23242 3454/4078/23243 3513/4138/23244 -f 3513/4138/23245 3509/4133/23246 4111/4805/23247 -f 4113/4807/23248 4112/4806/23249 4100/4793/23250 -f 4100/4793/23251 4098/4791/23252 4113/4807/23253 -f 3428/4053/23254 4112/4806/23255 4113/4807/23256 -f 4113/4807/23257 3425/4050/23258 3428/4053/23259 -f 4113/4807/23260 4098/4791/23261 3452/4074/23262 -f 3452/4074/23263 3453/4076/23264 4113/4807/23265 -f 4113/4807/23266 3453/4076/23267 3427/4048/23268 -f 3427/4048/23269 3425/4050/23270 4113/4807/23271 -f 4094/4789/23272 4110/4804/23273 4093/4785/23274 -f 4093/4785/23275 4091/4787/23276 4094/4789/23277 -f 3511/4137/23278 3488/4110/23279 3486/4112/23280 -f 3486/4112/23281 3507/4135/23282 3511/4137/23283 -f 3499/4782/23284 3474/4095/23285 3466/4098/23286 -f 3466/4098/23287 4078/4769/23288 3499/4782/23289 -f 3481/4105/23290 3477/4100/23291 3493/4116/23292 -f 3493/4116/23293 3496/4119/23294 3481/4105/23295 -f 3464/4768/23296 3465/4808/23297 3388/4010/23298 -f 3388/4010/23299 3416/4039/23300 3464/4768/23301 -f 4114/4809/23302 3465/4087/23303 3418/4041/23304 -f 3418/4041/23305 3417/4040/23306 4114/4809/23307 -f 3387/4011/23308 3388/4010/23309 3465/4808/23310 -f 3465/4808/23311 4114/4810/23312 3387/4011/23313 -f 4114/4809/23314 3417/4040/23315 3410/4034/23316 -f 3410/4034/23317 4115/4811/23318 4114/4809/23319 -f 4114/4810/23320 4115/4811/23321 4116/4812/23322 -f 4116/4812/23323 3387/4011/23324 4114/4810/23325 -f 4116/4812/23326 4115/4811/23327 4118/4813/23328 -f 4118/4813/23329 4117/4814/23330 4116/4812/23331 -f 4116/4812/23332 4117/4814/23333 4120/4815/23334 -f 4120/4815/23335 4119/4816/23336 4116/4812/23337 -f 4116/4812/23338 4119/4816/23339 3385/4007/23340 -f 3385/4007/23341 3387/4011/23342 4116/4812/23343 -f 4120/4815/23344 3383/4006/23345 3379/4003/23346 -f 3379/4003/23347 4119/4816/23348 4120/4815/23349 -f 4118/4813/23350 4115/4811/23351 3410/4034/23352 -f 3410/4034/23353 3411/4033/23354 4118/4813/23355 -f 3400/4022/23356 3384/4008/23357 3380/4002/23358 -f 3380/4002/23359 3399/4023/23360 3400/4022/23361 -f 3394/4018/23362 3374/3996/23363 3378/4001/23364 -f 3378/4001/23365 3395/4017/23366 3394/4018/23367 -f 3395/4017/23368 3378/4001/23369 3382/4004/23370 -f 3382/4004/23371 3389/4015/23372 3395/4017/23373 -f 3480/4103/23374 3479/4104/23375 3495/4120/23376 -f 3477/4100/23377 3478/4099/23378 3492/4117/23379 -f 3492/4117/23380 3493/4116/23381 3477/4100/23382 -f 3666/4302/23383 3667/4301/23384 4046/4723/23385 -f 4046/4723/23386 3681/4318/23387 3666/4302/23388 -f 3550/4176/23389 3603/4239/23390 3977/4642/23391 -f 3977/4642/23392 3547/4173/23393 3550/4176/23394 -f 3801/4449/23395 3530/4154/23396 3531/4156/23397 -f 3531/4156/23398 4121/4817/23399 3801/4449/23400 -f 3531/4156/23401 3532/4160/23402 3536/4162/23403 -f 3536/4162/23404 4121/4817/23405 3531/4156/23406 -f 3536/4162/23407 3800/4450/23408 3801/4449/23409 -f 3801/4449/23410 4121/4817/23411 3536/4162/23412 -f 3634/4271/23413 3635/4272/23414 3653/4291/23415 -f 3653/4291/23416 3915/4572/23417 3634/4271/23418 -f 3653/4291/23419 3657/4294/23420 3618/4256/23421 -f 3618/4256/23422 3915/4572/23423 3653/4291/23424 -f 3522/4146/23425 3484/4107/23426 3506/4131/23427 -f 3506/4131/23428 3524/4148/23429 3522/4146/23430 -f 3506/4131/23431 3862/4517/23432 3524/4148/23433 -f 3494/4115/23434 3794/4444/23435 3795/4443/23436 -f 3795/4443/23437 4083/4772/23438 3494/4115/23439 -f 3503/4130/23440 3480/4103/23441 3495/4120/23442 -f 3506/4131/23443 3503/4130/23444 3504/4129/23445 -f 3504/4129/23446 3859/4510/23447 3506/4131/23448 -f 3460/4084/23449 3461/4083/23450 3483/4108/23451 -f 3483/4108/23452 3521/4147/23453 3460/4084/23454 -f 3599/4234/23455 3550/4176/23456 3551/4175/23457 -f 3554/4184/23458 3547/4183/23459 3977/4818/23460 -f 3977/4818/23461 3978/4652/23462 3554/4184/23463 -f 3383/4006/23464 4120/4815/23465 3382/4004/23466 -f 3382/4004/23467 3381/4005/23468 3383/4006/23469 -f 3411/4033/23470 3408/4030/23471 3403/4026/23472 -f 4120/4815/23473 4117/4814/23474 3389/4015/23475 -f 3389/4015/23476 3382/4004/23477 4120/4815/23478 -f 4118/4813/23479 3392/4012/23480 3389/4015/23481 -f 3389/4015/23482 4117/4814/23483 4118/4813/23484 -f 3411/4033/23485 3403/4026/23486 3392/4012/23487 -f 3392/4012/23488 4118/4813/23489 3411/4033/23490 -f 3467/4532/23491 4078/4769/23492 3466/4098/23493 -f 3472/4744/23494 3462/4086/23495 3463/4085/23496 -f 3463/4085/23497 3466/4090/23498 3472/4744/23499 -f 3385/4007/23500 4119/4816/23501 3379/4003/23502 -f 3936/4594/23503 3716/4354/23504 3713/4357/23505 -f 3713/4357/23506 3928/4584/23507 3936/4594/23508 -f 3922/4579/23509 3921/4577/23510 3933/4590/23511 -f 3933/4590/23512 3934/4592/23513 3924/4580/23514 -f 3924/4580/23515 3922/4579/23516 3933/4590/23517 -f 3934/4592/23518 3936/4594/23519 3928/4584/23520 -f 3928/4584/23521 3924/4580/23522 3934/4592/23523 -f 3928/4584/23524 3926/4582/23525 3924/4580/23526 -f 4097/4792/23527 4099/4794/23528 4101/4796/23529 -f 4107/4802/23530 4101/4796/23531 4103/4798/23532 -f 4103/4798/23533 4105/4800/23534 4107/4802/23535 -f 4101/4796/23536 4107/4802/23537 4097/4792/23538 -f 4097/4792/23539 4107/4802/23540 4110/4804/23541 -f 4110/4804/23542 4096/4790/23543 4097/4792/23544 -f 4095/4788/23545 4096/4790/23546 4110/4804/23547 -f 4110/4804/23548 4094/4789/23549 4095/4788/23550 -f 3491/4118/23551 3954/4611/23552 3517/4139/23553 -f 3517/4139/23554 3514/4142/23555 3491/4118/23556 -f 3514/4142/23557 3520/4145/23558 3491/4118/23559 -f 3543/4169/23560 3544/4168/23561 3847/4500/23562 -f 3847/4500/23563 3846/4499/23564 3543/4169/23565 -f 3543/4169/23566 3846/4499/23567 3844/4498/23568 -f 3844/4498/23569 3850/4504/23570 3543/4169/23571 -f 3850/4504/23572 3844/4498/23573 3845/4497/23574 -f 3845/4497/23575 3823/4475/23576 3850/4504/23577 -f 3822/4474/23578 3823/4475/23579 3845/4497/23580 -f 3845/4497/23581 3848/4502/23582 3822/4474/23583 -f 3848/4502/23584 4122/4819/23585 3822/4474/23586 -f 3588/4221/23587 3580/4220/23588 4122/4819/23589 -f 4122/4819/23590 3825/4479/23591 3588/4221/23592 -f 3824/4476/23593 3587/4222/23594 3588/4221/23595 -f 3588/4221/23596 3825/4479/23597 3824/4476/23598 -f 4122/4819/23599 3583/4213/23600 3822/4474/23601 -f 3848/4502/23602 3825/4479/23603 4122/4819/23604 -f 3580/4220/23605 3579/4207/23606 4122/4819/23607 -f 3579/4207/23608 3583/4213/23609 4122/4819/23610 -f 3632/4268/23611 3633/4267/23612 3610/4246/23613 -f 4288/4820/23614 4281/4821/23615 4290/4822/23616 -f 4290/4822/23617 4289/4823/23618 4288/4820/23619 -f 4344/4824/23620 4288/4820/23621 4289/4823/23622 -f 4289/4823/23623 4153/4825/23624 4344/4824/23625 -f 4153/4825/23626 4329/4826/23627 4328/4827/23628 -f 4328/4827/23629 4344/4824/23630 4153/4825/23631 -f 4293/4828/23632 4185/4829/23633 4280/4830/23634 -f 4280/4830/23635 4279/4831/23636 4293/4828/23637 -f 4166/4832/23638 4290/4822/23639 4280/4830/23640 -f 4280/4830/23641 4169/4833/23642 4166/4832/23643 -f 4146/4834/23644 4289/4823/23645 4290/4822/23646 -f 4290/4822/23647 4166/4832/23648 4146/4834/23649 -f 4154/4835/23650 4153/4825/23651 4289/4823/23652 -f 4289/4823/23653 4146/4834/23654 4154/4835/23655 -f 4155/4836/23656 4329/4826/23657 4153/4825/23658 -f 4153/4825/23659 4154/4835/23660 4155/4836/23661 -f 4280/4830/23662 4185/4829/23663 4191/4837/23664 -f 4191/4837/23665 4169/4833/23666 4280/4830/23667 -f 4186/4838/23668 4185/4829/23669 4293/4828/23670 -f 4293/4828/23671 4180/4839/23672 4186/4838/23673 -f 4192/4840/23674 4191/4837/23675 4185/4829/23676 -f 4185/4829/23677 4186/4838/23678 4192/4840/23679 -f 4200/4841/23680 4186/4838/23681 4180/4839/23682 -f 4180/4839/23683 4183/4842/23684 4200/4841/23685 -f 4193/4843/23686 4192/4840/23687 4186/4838/23688 -f 4186/4838/23689 4200/4841/23690 4193/4843/23691 -f 4330/4844/23692 4329/4826/23693 4155/4836/23694 -f 4155/4836/23695 4156/4845/23696 4330/4844/23697 -f 4331/4846/23698 4328/4827/23699 4329/4826/23700 -f 4329/4826/23701 4330/4844/23702 4331/4846/23703 -f 4181/4847/23704 4200/4841/23705 4183/4842/23706 -f 4183/4842/23707 4184/4848/23708 4181/4847/23709 -f 4182/4849/23710 4193/4843/23711 4200/4841/23712 -f 4200/4841/23713 4181/4847/23714 4182/4849/23715 -f 4149/4850/23716 4330/4844/23717 4156/4845/23718 -f 4156/4845/23719 4150/4851/23720 4149/4850/23721 -f 4327/4852/23722 4331/4846/23723 4330/4844/23724 -f 4330/4844/23725 4149/4850/23726 4327/4852/23727 -f 4136/4853/23728 4181/4847/23729 4184/4848/23730 -f 4184/4848/23731 4135/4854/23732 4136/4853/23733 -f 4137/4855/23734 4182/4849/23735 4181/4847/23736 -f 4181/4847/23737 4136/4853/23738 4137/4855/23739 -f 4141/4856/23740 4149/4850/23741 4150/4851/23742 -f 4150/4851/23743 4142/4857/23744 4141/4856/23745 -f 4139/4858/23746 4327/4852/23747 4149/4850/23748 -f 4149/4850/23749 4141/4856/23750 4139/4858/23751 -f 4133/4859/23752 4141/4856/23753 4142/4857/23754 -f 4142/4857/23755 4143/4860/23756 4133/4859/23757 -f 4134/4861/23758 4139/4858/23759 4141/4856/23760 -f 4141/4856/23761 4133/4859/23762 4134/4861/23763 -f 4136/4853/23764 4133/4859/23765 4143/4860/23766 -f 4143/4860/23767 4137/4855/23768 4136/4853/23769 -f 4135/4854/23770 4134/4861/23771 4133/4859/23772 -f 4133/4859/23773 4136/4853/23774 4135/4854/23775 -f 4279/4831/23776 4280/4830/23777 4290/4822/23778 -f 4290/4822/23779 4281/4821/23780 4279/4831/23781 -f 4288/4820/23782 4201/4862/23783 4283/4863/23784 -f 4283/4863/23785 4281/4821/23786 4288/4820/23787 -f 4332/4864/23788 4201/4862/23789 4288/4820/23790 -f 4288/4820/23791 4344/4824/23792 4332/4864/23793 -f 4333/4865/23794 4332/4864/23795 4344/4824/23796 -f 4344/4824/23797 4328/4827/23798 4333/4865/23799 -f 4315/4866/23800 4333/4865/23801 4328/4827/23802 -f 4328/4827/23803 4331/4846/23804 4315/4866/23805 -f 4331/4846/23806 4327/4852/23807 4313/4867/23808 -f 4313/4867/23809 4315/4866/23810 4331/4846/23811 -f 4327/4852/23812 4139/4858/23813 4140/4868/23814 -f 4140/4868/23815 4313/4867/23816 4327/4852/23817 -f 4139/4858/23818 4134/4861/23819 4127/4869/23820 -f 4127/4869/23821 4140/4868/23822 4139/4858/23823 -f 4172/4870/23824 4127/4869/23825 4134/4861/23826 -f 4134/4861/23827 4135/4854/23828 4172/4870/23829 -f 4173/4871/23830 4172/4870/23831 4135/4854/23832 -f 4135/4854/23833 4184/4848/23834 4173/4871/23835 -f 4184/4848/23836 4183/4842/23837 4179/4872/23838 -f 4179/4872/23839 4173/4871/23840 4184/4848/23841 -f 4183/4842/23842 4180/4839/23843 4187/4873/23844 -f 4187/4873/23845 4179/4872/23846 4183/4842/23847 -f 4293/4828/23848 4291/4874/23849 4222/4875/23850 -f 4222/4875/23851 4180/4839/23852 4293/4828/23853 -f 4293/4828/23854 4279/4831/23855 4282/4876/23856 -f 4282/4876/23857 4291/4874/23858 4293/4828/23859 -f 4282/4876/23860 4279/4831/23861 4281/4821/23862 -f 4281/4821/23863 4283/4863/23864 4282/4876/23865 -f 4283/4863/23866 4284/4877/23867 4285/4878/23868 -f 4285/4878/23869 4282/4876/23870 4283/4863/23871 -f 4187/4873/23872 4188/4879/23873 4175/4880/23874 -f 4175/4880/23875 4179/4872/23876 4187/4873/23877 -f 4126/4881/23878 4123/4882/23879 4188/4879/23880 -f 4188/4879/23881 4187/4873/23882 4126/4881/23883 -f 4282/4876/23884 4285/4878/23885 4292/4883/23886 -f 4292/4883/23887 4291/4874/23888 4282/4876/23889 -f 4223/4884/23890 4292/4883/23891 4230/4885/23892 -f 4230/4885/23893 4224/4886/23894 4223/4884/23895 -f 4292/4883/23896 4285/4878/23897 4294/4887/23898 -f 4294/4887/23899 4230/4885/23900 4292/4883/23901 -f 4294/4887/23902 4232/4888/23903 4231/4889/23904 -f 4231/4889/23905 4230/4885/23906 4294/4887/23907 -f 4231/4889/23908 4219/4890/23909 4224/4886/23910 -f 4224/4886/23911 4230/4885/23912 4231/4889/23913 -f 4177/4891/23914 4173/4871/23915 4179/4872/23916 -f 4179/4872/23917 4175/4880/23918 4177/4891/23919 -f 4128/4892/23920 4322/4893/23921 4140/4868/23922 -f 4140/4868/23923 4127/4869/23924 4128/4892/23925 -f 4128/4892/23926 4127/4869/23927 4172/4870/23928 -f 4172/4870/23929 4131/4894/23930 4128/4892/23931 -f 4131/4894/23932 4172/4870/23933 4173/4871/23934 -f 4173/4871/23935 4177/4891/23936 4131/4894/23937 -f 4333/4865/23938 4315/4866/23939 4316/4895/23940 -f 4316/4895/23941 4335/4896/23942 4333/4865/23943 -f 4316/4895/23944 4315/4866/23945 4313/4867/23946 -f 4313/4867/23947 4314/4897/23948 4316/4895/23949 -f 4313/4867/23950 4140/4868/23951 4322/4893/23952 -f 4322/4893/23953 4314/4897/23954 4313/4867/23955 -f 4333/4865/23956 4335/4896/23957 4334/4898/23958 -f 4334/4898/23959 4332/4864/23960 4333/4865/23961 -f 4218/4899/23962 4211/4900/23963 4123/4882/23964 -f 4123/4882/23965 4126/4881/23966 4218/4899/23967 -f 4219/4890/23968 4209/4901/23969 4220/4902/23970 -f 4220/4902/23971 4224/4886/23972 4219/4890/23973 -f 4218/4899/23974 4220/4902/23975 4209/4901/23976 -f 4209/4901/23977 4211/4900/23978 4218/4899/23979 -f 4209/4901/23980 4214/4903/23981 4213/4904/23982 -f 4213/4904/23983 4211/4900/23984 4209/4901/23985 -f 4213/4904/23986 4214/4903/23987 4216/4905/23988 -f 4216/4905/23989 4210/4906/23990 4213/4904/23991 -f 4212/4907/23992 4211/4900/23993 4213/4904/23994 -f 4213/4904/23995 4210/4906/23996 4212/4907/23997 -f 4124/4908/23998 4123/4882/23999 4211/4900/24000 -f 4211/4900/24001 4212/4907/24002 4124/4908/24003 -f 4223/4884/24004 4224/4886/24005 4220/4902/24006 -f 4220/4902/24007 4218/4899/24008 4223/4884/24009 -f 4218/4899/24010 4126/4881/24011 4222/4875/24012 -f 4222/4875/24013 4223/4884/24014 4218/4899/24015 -f 4125/4909/24016 4188/4879/24017 4123/4882/24018 -f 4123/4882/24019 4124/4908/24020 4125/4909/24021 -f 4174/4910/24022 4175/4880/24023 4188/4879/24024 -f 4188/4879/24025 4125/4909/24026 4174/4910/24027 -f 4178/4911/24028 4177/4891/24029 4175/4880/24030 -f 4175/4880/24031 4174/4910/24032 4178/4911/24033 -f 4177/4891/24034 4178/4911/24035 4132/4912/24036 -f 4132/4912/24037 4131/4894/24038 4177/4891/24039 -f 4132/4912/24040 4130/4913/24041 4129/4914/24042 -f 4129/4914/24043 4131/4894/24044 4132/4912/24045 -f 4131/4894/24046 4129/4914/24047 4321/4915/24048 -f 4321/4915/24049 4128/4892/24050 4131/4894/24051 -f 4320/4916/24052 4322/4893/24053 4128/4892/24054 -f 4128/4892/24055 4321/4915/24056 4320/4916/24057 -f 4312/4917/24058 4314/4897/24059 4322/4893/24060 -f 4322/4893/24061 4320/4916/24062 4312/4917/24063 -f 4312/4917/24064 4318/4918/24065 4316/4895/24066 -f 4316/4895/24067 4314/4897/24068 4312/4917/24069 -f 4339/4919/24070 4335/4896/24071 4316/4895/24072 -f 4316/4895/24073 4318/4918/24074 4339/4919/24075 -f 4202/4920/24076 4201/4862/24077 4332/4864/24078 -f 4332/4864/24079 4334/4898/24080 4202/4920/24081 -f 4284/4877/24082 4283/4863/24083 4201/4862/24084 -f 4201/4862/24085 4202/4920/24086 4284/4877/24087 -f 4335/4896/24088 4339/4919/24089 4336/4921/24090 -f 4336/4921/24091 4334/4898/24092 4335/4896/24093 -f 4206/4922/24094 4202/4920/24095 4334/4898/24096 -f 4334/4898/24097 4336/4921/24098 4206/4922/24099 -f 4296/4923/24100 4284/4877/24101 4202/4920/24102 -f 4202/4920/24103 4206/4922/24104 4296/4923/24105 -f 4285/4878/24106 4284/4877/24107 4286/4924/24108 -f 4286/4924/24109 4294/4887/24110 4285/4878/24111 -f 4284/4877/24112 4296/4923/24113 4297/4925/24114 -f 4297/4925/24115 4286/4924/24116 4284/4877/24117 -f 4287/4926/24118 4232/4888/24119 4294/4887/24120 -f 4294/4887/24121 4286/4924/24122 4287/4926/24123 -f 4219/4890/24124 4221/4927/24125 4227/4928/24126 -f 4227/4928/24127 4209/4901/24128 4219/4890/24129 -f 4232/4888/24130 4234/4929/24131 4233/4930/24132 -f 4233/4930/24133 4231/4889/24134 4232/4888/24135 -f 4219/4890/24136 4231/4889/24137 4233/4930/24138 -f 4233/4930/24139 4221/4927/24140 4219/4890/24141 -f 4214/4903/24142 4209/4901/24143 4227/4928/24144 -f 4227/4928/24145 4215/4931/24146 4214/4903/24147 -f 4216/4905/24148 4214/4903/24149 4215/4931/24150 -f 4215/4931/24151 4217/4932/24152 4216/4905/24153 -f 4287/4926/24154 4237/4933/24155 4234/4929/24156 -f 4234/4929/24157 4232/4888/24158 4287/4926/24159 -f 4237/4933/24160 4253/4934/24161 4251/4935/24162 -f 4251/4935/24163 4234/4929/24164 4237/4933/24165 -f 4253/4934/24166 4245/4936/24167 4239/4937/24168 -f 4239/4937/24169 4251/4935/24170 4253/4934/24171 -f 4247/4938/24172 4244/4939/24173 4240/4940/24174 -f 4240/4940/24175 4239/4937/24176 4247/4938/24177 -f 4217/4932/24178 4215/4931/24179 4240/4940/24180 -f 4240/4940/24181 4244/4939/24182 4217/4932/24183 -f 4221/4927/24184 4225/4941/24185 4228/4942/24186 -f 4228/4942/24187 4227/4928/24188 4221/4927/24189 -f 4234/4929/24190 4236/4943/24191 4235/4944/24192 -f 4235/4944/24193 4233/4930/24194 4234/4929/24195 -f 4225/4941/24196 4221/4927/24197 4233/4930/24198 -f 4233/4930/24199 4235/4944/24200 4225/4941/24201 -f 4215/4931/24202 4227/4928/24203 4228/4942/24204 -f 4228/4942/24205 4240/4940/24206 4215/4931/24207 -f 4240/4940/24208 4242/4945/24209 4241/4946/24210 -f 4241/4946/24211 4239/4937/24212 4240/4940/24213 -f 4251/4935/24214 4239/4937/24215 4241/4946/24216 -f 4241/4946/24217 4252/4947/24218 4251/4935/24219 -f 4228/4942/24220 4243/4948/24221 4242/4945/24222 -f 4242/4945/24223 4240/4940/24224 4228/4942/24225 -f 4228/4942/24226 4225/4941/24227 4226/4949/24228 -f 4226/4949/24229 4243/4948/24230 4228/4942/24231 -f 4236/4943/24232 4234/4929/24233 4251/4935/24234 -f 4251/4935/24235 4252/4947/24236 4236/4943/24237 -f 4235/4944/24238 4236/4943/24239 4226/4949/24240 -f 4226/4949/24241 4225/4941/24242 4235/4944/24243 -f 4226/4949/24244 4236/4943/24245 4252/4947/24246 -f 4252/4947/24247 4243/4948/24248 4226/4949/24249 -f 4242/4945/24250 4243/4948/24251 4252/4947/24252 -f 4252/4947/24253 4241/4946/24254 4242/4945/24255 -f 4296/4923/24256 4203/4950/24257 4298/4951/24258 -f 4298/4951/24259 4297/4925/24260 4296/4923/24261 -f 4310/4952/24262 4298/4951/24263 4203/4950/24264 -f 4203/4950/24265 4205/4953/24266 4310/4952/24267 -f 4205/4953/24268 4204/4954/24269 4308/4955/24270 -f 4308/4955/24271 4310/4952/24272 4205/4953/24273 -f 4551/4956/24274 4261/4957/24275 4308/4955/24276 -f 4308/4955/24277 4204/4954/24278 4551/4956/24279 -f 4551/4956/24280 4549/4958/24281 4259/4959/24282 -f 4259/4959/24283 4261/4957/24284 4551/4956/24285 -f 4268/4960/24286 4259/4959/24287 4549/4958/24288 -f 4549/4958/24289 4553/4961/24290 4268/4960/24291 -f 4268/4960/24292 4553/4961/24293 4554/4962/24294 -f 4554/4962/24295 4269/4963/24296 4268/4960/24297 -f 4286/4924/24298 4297/4925/24299 4299/4964/24300 -f 4299/4964/24301 4287/4926/24302 4286/4924/24303 -f 4297/4925/24304 4298/4951/24305 4295/4965/24306 -f 4295/4965/24307 4299/4964/24308 4297/4925/24309 -f 4298/4951/24310 4310/4952/24311 4309/4966/24312 -f 4309/4966/24313 4295/4965/24314 4298/4951/24315 -f 4310/4952/24316 4308/4955/24317 4311/4967/24318 -f 4311/4967/24319 4309/4966/24320 4310/4952/24321 -f 4308/4955/24322 4261/4957/24323 4260/4968/24324 -f 4260/4968/24325 4311/4967/24326 4308/4955/24327 -f 4261/4957/24328 4259/4959/24329 4258/4969/24330 -f 4258/4969/24331 4260/4968/24332 4261/4957/24333 -f 4259/4959/24334 4268/4960/24335 4267/4970/24336 -f 4267/4970/24337 4258/4969/24338 4259/4959/24339 -f 4272/4971/24340 4271/4972/24341 4269/4963/24342 -f 4269/4963/24343 4270/4973/24344 4272/4971/24345 -f 4260/4968/24346 4256/4974/24347 4300/4975/24348 -f 4300/4975/24349 4311/4967/24350 4260/4968/24351 -f 4260/4968/24352 4258/4969/24353 4276/4976/24354 -f 4276/4976/24355 4256/4974/24356 4260/4968/24357 -f 4258/4969/24358 4267/4970/24359 4262/4977/24360 -f 4262/4977/24361 4276/4976/24362 4258/4969/24363 -f 4301/4978/24364 4309/4966/24365 4311/4967/24366 -f 4311/4967/24367 4300/4975/24368 4301/4978/24369 -f 4295/4965/24370 4309/4966/24371 4301/4978/24372 -f 4301/4978/24373 4302/4979/24374 4295/4965/24375 -f 4302/4979/24376 4306/4980/24377 4299/4964/24378 -f 4299/4964/24379 4295/4965/24380 4302/4979/24381 -f 4254/4981/24382 4287/4926/24383 4299/4964/24384 -f 4299/4964/24385 4306/4980/24386 4254/4981/24387 -f 4238/4982/24388 4237/4933/24389 4287/4926/24390 -f 4287/4926/24391 4254/4981/24392 4238/4982/24393 -f 4238/4982/24394 4229/4983/24395 4253/4934/24396 -f 4253/4934/24397 4237/4933/24398 4238/4982/24399 -f 4246/4984/24400 4245/4936/24401 4253/4934/24402 -f 4253/4934/24403 4229/4983/24404 4246/4984/24405 -f 4249/4985/24406 4248/4986/24407 4245/4936/24408 -f 4245/4936/24409 4246/4984/24410 4249/4985/24411 -f 4274/4987/24412 4262/4977/24413 4265/4988/24414 -f 4265/4988/24415 4263/4989/24416 4274/4987/24417 -f 4273/4990/24418 4276/4976/24419 4262/4977/24420 -f 4262/4977/24421 4274/4987/24422 4273/4990/24423 -f 4257/4991/24424 4256/4974/24425 4276/4976/24426 -f 4276/4976/24427 4273/4990/24428 4257/4991/24429 -f 4257/4991/24430 4303/4992/24431 4300/4975/24432 -f 4300/4975/24433 4256/4974/24434 4257/4991/24435 -f 4301/4978/24436 4300/4975/24437 4303/4992/24438 -f 4303/4992/24439 4304/4993/24440 4301/4978/24441 -f 4302/4979/24442 4301/4978/24443 4304/4993/24444 -f 4304/4993/24445 4305/4994/24446 4302/4979/24447 -f 4306/4980/24448 4302/4979/24449 4305/4994/24450 -f 4305/4994/24451 4307/4995/24452 4306/4980/24453 -f 4255/4996/24454 4254/4981/24455 4306/4980/24456 -f 4306/4980/24457 4307/4995/24458 4255/4996/24459 -f 4277/4997/24460 4238/4982/24461 4254/4981/24462 -f 4254/4981/24463 4255/4996/24464 4277/4997/24465 -f 4275/4998/24466 4229/4983/24467 4238/4982/24468 -f 4238/4982/24469 4277/4997/24470 4275/4998/24471 -f 4278/4999/24472 4246/4984/24473 4229/4983/24474 -f 4229/4983/24475 4275/4998/24476 4278/4999/24477 -f 4249/4985/24478 4246/4984/24479 4278/4999/24480 -f 4278/4999/24481 4250/5000/24482 4249/4985/24483 -f 4305/4994/24484 4304/4993/24485 4303/4992/24486 -f 4303/4992/24487 4307/4995/24488 4305/4994/24489 -f 4257/4991/24490 4255/4996/24491 4307/4995/24492 -f 4307/4995/24493 4303/4992/24494 4257/4991/24495 -f 4273/4990/24496 4277/4997/24497 4255/4996/24498 -f 4255/4996/24499 4257/4991/24500 4273/4990/24501 -f 4274/4987/24502 4275/4998/24503 4277/4997/24504 -f 4277/4997/24505 4273/4990/24506 4274/4987/24507 -f 4270/4973/24508 4269/4963/24509 4554/4962/24510 -f 4554/4962/24511 4555/5001/24512 4270/4973/24513 -f 4269/4963/24514 4271/4972/24515 4267/4970/24516 -f 4267/4970/24517 4268/4960/24518 4269/4963/24519 -f 4271/4972/24520 4265/4988/24521 4262/4977/24522 -f 4262/4977/24523 4267/4970/24524 4271/4972/24525 -f 4263/4989/24526 4265/4988/24527 4266/5002/24528 -f 4266/5002/24529 4264/5003/24530 4263/4989/24531 -f 4275/4998/24532 4274/4987/24533 4263/4989/24534 -f 4263/4989/24535 4278/4999/24536 4275/4998/24537 -f 4263/4989/24538 4264/5003/24539 4250/5000/24540 -f 4250/5000/24541 4278/4999/24542 4263/4989/24543 -f 4296/4923/24544 4206/4922/24545 4208/5004/24546 -f 4208/5004/24547 4203/4950/24548 4296/4923/24549 -f 4206/4922/24550 4336/4921/24551 4337/5005/24552 -f 4337/5005/24553 4208/5004/24554 4206/4922/24555 -f 4336/4921/24556 4339/4919/24557 4340/5006/24558 -f 4340/5006/24559 4337/5005/24560 4336/4921/24561 -f 4207/5007/24562 4205/4953/24563 4203/4950/24564 -f 4203/4950/24565 4208/5004/24566 4207/5007/24567 -f 4547/5008/24568 4204/4954/24569 4205/4953/24570 -f 4205/4953/24571 4207/5007/24572 4547/5008/24573 -f 4545/5009/24574 4551/4956/24575 4204/4954/24576 -f 4204/4954/24577 4547/5008/24578 4545/5009/24579 -f 4552/5010/24580 4549/4958/24581 4551/4956/24582 -f 4551/4956/24583 4545/5009/24584 4552/5010/24585 -f 4550/5011/24586 4553/4961/24587 4549/4958/24588 -f 4549/4958/24589 4552/5010/24590 4550/5011/24591 -f 4556/5012/24592 4554/4962/24593 4553/4961/24594 -f 4553/4961/24595 4550/5011/24596 4556/5012/24597 -f 4556/5012/24598 4557/5013/24599 4555/5001/24600 -f 4555/5001/24601 4554/4962/24602 4556/5012/24603 -f 4338/5014/24604 4207/5007/24605 4208/5004/24606 -f 4208/5004/24607 4337/5005/24608 4338/5014/24609 -f 4547/5008/24610 4207/5007/24611 4338/5014/24612 -f 4338/5014/24613 4569/5015/24614 4547/5008/24615 -f 4548/5016/24616 4545/5009/24617 4547/5008/24618 -f 4547/5008/24619 4569/5015/24620 4548/5016/24621 -f 4545/5009/24622 4548/5016/24623 4546/5017/24624 -f 4546/5017/24625 4552/5010/24626 4545/5009/24627 -f 4558/5018/24628 4550/5011/24629 4552/5010/24630 -f 4552/5010/24631 4546/5017/24632 4558/5018/24633 -f 4559/5019/24634 4556/5012/24635 4550/5011/24636 -f 4550/5011/24637 4558/5018/24638 4559/5019/24639 -f 4556/5012/24640 4559/5019/24641 4560/5020/24642 -f 4560/5020/24643 4557/5013/24644 4556/5012/24645 -f 4337/5005/24646 4342/5021/24647 4574/5022/24648 -f 4574/5022/24649 4338/5014/24650 4337/5005/24651 -f 4570/5023/24652 4569/5015/24653 4338/5014/24654 -f 4338/5014/24655 4574/5022/24656 4570/5023/24657 -f 4571/5024/24658 4548/5016/24659 4569/5015/24660 -f 4569/5015/24661 4570/5023/24662 4571/5024/24663 -f 4561/5025/24664 4546/5017/24665 4548/5016/24666 -f 4548/5016/24667 4571/5024/24668 4561/5025/24669 -f 4563/5026/24670 4558/5018/24671 4546/5017/24672 -f 4546/5017/24673 4561/5025/24674 4563/5026/24675 -f 4565/5027/24676 4559/5019/24677 4558/5018/24678 -f 4558/5018/24679 4563/5026/24680 4565/5027/24681 -f 4565/5027/24682 4564/5028/24683 4560/5020/24684 -f 4560/5020/24685 4559/5019/24686 4565/5027/24687 -f 4337/5005/24688 4340/5006/24689 4341/5029/24690 -f 4341/5029/24691 4342/5021/24692 4337/5005/24693 -f 4339/4919/24694 4318/4918/24695 4319/5030/24696 -f 4319/5030/24697 4340/5006/24698 4339/4919/24699 -f 4318/4918/24700 4312/4917/24701 4317/5031/24702 -f 4317/5031/24703 4319/5030/24704 4318/4918/24705 -f 4312/4917/24706 4320/4916/24707 4323/5032/24708 -f 4323/5032/24709 4317/5031/24710 4312/4917/24711 -f 4320/4916/24712 4321/4915/24713 4324/5033/24714 -f 4324/5033/24715 4323/5032/24716 4320/4916/24717 -f 4325/5034/24718 4324/5033/24719 4321/4915/24720 -f 4321/4915/24721 4129/4914/24722 4325/5034/24723 -f 4129/4914/24724 4130/4913/24725 4326/5035/24726 -f 4326/5035/24727 4325/5034/24728 4129/4914/24729 -f 4563/5026/24730 4566/5036/24731 4567/5037/24732 -f 4567/5037/24733 4565/5027/24734 4563/5026/24735 -f 4563/5026/24736 4561/5025/24737 4562/5038/24738 -f 4562/5038/24739 4566/5036/24740 4563/5026/24741 -f 4571/5024/24742 4572/5039/24743 4562/5038/24744 -f 4562/5038/24745 4561/5025/24746 4571/5024/24747 -f 4579/5040/24748 4572/5039/24749 4571/5024/24750 -f 4571/5024/24751 4570/5023/24752 4579/5040/24753 -f 4579/5040/24754 4570/5023/24755 4574/5022/24756 -f 4574/5022/24757 4575/5041/24758 4579/5040/24759 -f 4574/5022/24760 4342/5021/24761 4343/5042/24762 -f 4343/5042/24763 4575/5041/24764 4574/5022/24765 -f 4342/5021/24766 4341/5029/24767 4679/5043/24768 -f 4679/5043/24769 4343/5042/24770 4342/5021/24771 -f 4679/5043/24772 4680/5044/24773 4682/5045/24774 -f 4682/5045/24775 4343/5042/24776 4679/5043/24777 -f 4682/5045/24778 4576/5046/24779 4575/5041/24780 -f 4575/5041/24781 4343/5042/24782 4682/5045/24783 -f 4575/5041/24784 4576/5046/24785 4581/5047/24786 -f 4581/5047/24787 4579/5040/24788 4575/5041/24789 -f 4579/5040/24790 4581/5047/24791 4573/5048/24792 -f 4573/5048/24793 4572/5039/24794 4579/5040/24795 -f 4562/5038/24796 4572/5039/24797 4573/5048/24798 -f 4573/5048/24799 4597/5049/24800 4562/5038/24801 -f 4598/5050/24802 4566/5036/24803 4562/5038/24804 -f 4562/5038/24805 4597/5049/24806 4598/5050/24807 -f 4604/5051/24808 4567/5037/24809 4566/5036/24810 -f 4566/5036/24811 4598/5050/24812 4604/5051/24813 -f 4605/5052/24814 4568/5053/24815 4567/5037/24816 -f 4567/5037/24817 4604/5051/24818 4605/5052/24819 -f 4681/5270/24820 4684/5273/24821 4682/5274/24822 -f 4682/5274/24823 4680/5275/24824 4681/5270/24825 -f 4582/5277/24826 4581/5278/24827 4576/5279/24828 -f 4576/5279/24829 4577/5280/24830 4582/5277/24831 -f 4583/5281/24832 4573/5282/24833 4581/5278/24834 -f 4581/5278/24835 4582/5277/24836 4583/5281/24837 -f 4573/5282/24838 4583/5281/24839 4599/5283/24840 -f 4599/5283/24841 4597/5284/24842 4573/5282/24843 -f 4601/5285/24844 4598/5286/24845 4597/5284/24846 -f 4597/5284/24847 4599/5283/24848 4601/5285/24849 -f 4607/5287/24850 4604/5288/24851 4598/5286/24852 -f 4598/5286/24853 4601/5285/24854 4607/5287/24855 -f 4606/5289/24856 4605/5290/24857 4604/5288/24858 -f 4604/5288/24859 4607/5287/24860 4606/5289/24861 -f 4607/5287/24862 4614/5291/24863 4615/5292/24864 -f 4615/5292/24865 4606/5289/24866 4607/5287/24867 -f 4607/5287/24868 4601/5285/24869 4603/5293/24870 -f 4603/5293/24871 4614/5291/24872 4607/5287/24873 -f 4601/5285/24874 4599/5283/24875 4600/5294/24876 -f 4600/5294/24877 4603/5293/24878 4601/5285/24879 -f 4584/5295/24880 4600/5294/24881 4599/5283/24882 -f 4599/5283/24883 4583/5281/24884 4584/5295/24885 -f 4582/5277/24886 4580/5296/24887 4584/5295/24888 -f 4584/5295/24889 4583/5281/24890 4582/5277/24891 -f 4578/5297/24892 4580/5296/24893 4582/5277/24894 -f 4582/5277/24895 4577/5280/24896 4578/5297/24897 -f 4577/5280/24898 4576/5279/24899 4683/5298/24900 -f 4683/5298/24901 4578/5297/24902 4577/5280/24903 -f 4682/5274/24904 4684/5273/24905 4683/5298/24906 -f 4683/5298/24907 4576/5279/24908 4682/5274/24909 -f 4678/5299/24910 4688/5300/24911 4686/5301/24912 -f 4686/5301/24913 4681/5270/24914 4678/5299/24915 -f 4711/5302/24916 4683/5298/24917 4684/5273/24918 -f 4684/5273/24919 4685/5303/24920 4711/5302/24921 -f 4712/5304/24922 4578/5297/24923 4683/5298/24924 -f 4683/5298/24925 4711/5302/24926 4712/5304/24927 -f 4586/5305/24928 4580/5296/24929 4578/5297/24930 -f 4578/5297/24931 4712/5304/24932 4586/5305/24933 -f 4585/5306/24934 4584/5295/24935 4580/5296/24936 -f 4580/5296/24937 4586/5305/24938 4585/5306/24939 -f 4590/5307/24940 4600/5294/24941 4584/5295/24942 -f 4584/5295/24943 4585/5306/24944 4590/5307/24945 -f 4602/5308/24946 4603/5293/24947 4600/5294/24948 -f 4600/5294/24949 4590/5307/24950 4602/5308/24951 -f 4609/5309/24952 4614/5291/24953 4603/5293/24954 -f 4603/5293/24955 4602/5308/24956 4609/5309/24957 -f 4612/5310/24958 4613/5311/24959 4615/5292/24960 -f 4615/5292/24961 4614/5291/24962 4612/5310/24963 -f 4611/5312/24964 4612/5310/24965 4614/5291/24966 -f 4614/5291/24967 4609/5309/24968 4611/5312/24969 -f 4610/5332/24970 4611/5312/24971 4609/5309/24972 -f 4609/5309/24973 4608/5333/24974 4610/5332/24975 -f 4592/5334/24976 4608/5333/24977 4609/5309/24978 -f 4609/5309/24979 4602/5308/24980 4592/5334/24981 -f 4591/5341/24982 4592/5334/24983 4602/5308/24984 -f 4602/5308/24985 4590/5307/24986 4591/5341/24987 -f 4593/5342/24988 4591/5341/24989 4590/5307/24990 -f 4590/5307/24991 4585/5306/24992 4593/5342/24993 -f 4716/5343/24994 4593/5342/24995 4585/5306/24996 -f 4585/5306/24997 4586/5305/24998 4716/5343/24999 -f 4586/5305/25000 4712/5304/25001 4713/5344/25002 -f 4713/5344/25003 4716/5343/25004 4586/5305/25005 -f 4714/5345/25006 4713/5344/25007 4712/5304/25008 -f 4712/5304/25009 4711/5302/25010 4714/5345/25011 -f 4711/5302/25012 4685/5303/25013 4687/5347/25014 -f 4687/5347/25015 4714/5345/25016 4711/5302/25017 -f 4681/5270/25018 4686/5301/25019 4685/5303/25020 -f 4685/5303/25021 4684/5273/25022 4681/5270/25023 -f 4685/5303/25024 4686/5301/25025 4688/5300/25026 -f 4688/5300/25027 4687/5347/25028 4685/5303/25029 -f 4678/5299/25030 4689/5348/25031 4692/5349/25032 -f 4692/5349/25033 4688/5300/25034 4678/5299/25035 -f 4689/5348/25036 4690/5350/25037 4693/5351/25038 -f 4693/5351/25039 4692/5349/25040 4689/5348/25041 -f 4588/5352/25042 4610/5332/25043 4608/5333/25044 -f 4608/5333/25045 4587/5353/25046 4588/5352/25047 -f 4592/5334/25048 4596/5354/25049 4587/5353/25050 -f 4587/5353/25051 4608/5333/25052 4592/5334/25053 -f 4592/5334/25054 4591/5341/25055 4594/5355/25056 -f 4594/5355/25057 4596/5354/25058 4592/5334/25059 -f 4593/5342/25060 4724/5356/25061 4594/5355/25062 -f 4594/5355/25063 4591/5341/25064 4593/5342/25065 -f 4593/5342/25066 4716/5343/25067 4715/5357/25068 -f 4715/5357/25069 4724/5356/25070 4593/5342/25071 -f 4716/5343/25072 4713/5344/25073 4719/5358/25074 -f 4719/5358/25075 4715/5357/25076 4716/5343/25077 -f 4713/5344/25078 4714/5345/25079 4717/5359/25080 -f 4717/5359/25081 4719/5358/25082 4713/5344/25083 -f 4714/5345/25084 4687/5347/25085 4718/5360/25086 -f 4718/5360/25087 4717/5359/25088 4714/5345/25089 -f 4687/5347/25090 4688/5300/25091 4691/5361/25092 -f 4691/5361/25093 4718/5360/25094 4687/5347/25095 -f 4688/5300/25096 4692/5349/25097 4694/5362/25098 -f 4694/5362/25099 4691/5361/25100 4688/5300/25101 -f 4695/5363/25102 4694/5362/25103 4692/5349/25104 -f 4692/5349/25105 4693/5351/25106 4695/5363/25107 -f 4596/5354/25108 4595/5364/25109 4588/5352/25110 -f 4588/5352/25111 4587/5353/25112 4596/5354/25113 -f 4596/5354/25114 4594/5355/25115 4589/5365/25116 -f 4589/5365/25117 4595/5364/25118 4596/5354/25119 -f 4594/5355/25120 4724/5356/25121 4722/5366/25122 -f 4722/5366/25123 4589/5365/25124 4594/5355/25125 -f 4724/5356/25126 4715/5357/25127 4723/5367/25128 -f 4723/5367/25129 4722/5366/25130 4724/5356/25131 -f 4721/5368/25132 4723/5367/25133 4715/5357/25134 -f 4715/5357/25135 4719/5358/25136 4721/5368/25137 -f 4717/5359/25138 4720/5369/25139 4721/5368/25140 -f 4721/5368/25141 4719/5358/25142 4717/5359/25143 -f 4717/5359/25144 4718/5360/25145 4725/5370/25146 -f 4725/5370/25147 4720/5369/25148 4717/5359/25149 -f 4726/5371/25150 4725/5370/25151 4718/5360/25152 -f 4718/5360/25153 4691/5361/25154 4726/5371/25155 -f 4691/5361/25156 4694/5362/25157 4727/5372/25158 -f 4727/5372/25159 4726/5371/25160 4691/5361/25161 -f 4694/5362/25162 4695/5363/25163 4728/5373/25164 -f 4728/5373/25165 4727/5372/25166 4694/5362/25167 -f 4143/4860/25168 4163/5054/25169 4138/5055/25170 -f 4138/5055/25171 4137/4855/25172 4143/4860/25173 -f 4189/5056/25174 4182/4849/25175 4137/4855/25176 -f 4137/4855/25177 4138/5055/25178 4189/5056/25179 -f 4193/4843/25180 4182/4849/25181 4189/5056/25182 -f 4189/5056/25183 4194/5057/25184 4193/4843/25185 -f 4192/4840/25186 4193/4843/25187 4194/5057/25188 -f 4194/5057/25189 4195/5058/25190 4192/4840/25191 -f 4191/4837/25192 4192/4840/25193 4195/5058/25194 -f 4195/5058/25195 4196/5059/25196 4191/4837/25197 -f 4169/4833/25198 4191/4837/25199 4196/5059/25200 -f 4196/5059/25201 4170/5060/25202 4169/4833/25203 -f 4166/4832/25204 4169/4833/25205 4170/5060/25206 -f 4170/5060/25207 4167/5061/25208 4166/4832/25209 -f 4147/5062/25210 4146/4834/25211 4166/4832/25212 -f 4166/4832/25213 4167/5061/25214 4147/5062/25215 -f 4154/4835/25216 4146/4834/25217 4147/5062/25218 -f 4147/5062/25219 4157/5063/25220 4154/4835/25221 -f 4155/4836/25222 4154/4835/25223 4157/5063/25224 -f 4157/5063/25225 4158/5064/25226 4155/4836/25227 -f 4156/4845/25228 4155/4836/25229 4158/5064/25230 -f 4158/5064/25231 4159/5065/25232 4156/4845/25233 -f 4150/4851/25234 4156/4845/25235 4159/5065/25236 -f 4159/5065/25237 4151/5066/25238 4150/4851/25239 -f 4142/4857/25240 4150/4851/25241 4151/5066/25242 -f 4151/5066/25243 4144/5067/25244 4142/4857/25245 -f 4142/4857/25246 4144/5067/25247 4163/5054/25248 -f 4163/5054/25249 4143/4860/25250 4142/4857/25251 -f 4163/5054/25252 4164/5068/25253 4165/5069/25254 -f 4165/5069/25255 4138/5055/25256 4163/5054/25257 -f 4189/5056/25258 4138/5055/25259 4165/5069/25260 -f 4165/5069/25261 4190/5070/25262 4189/5056/25263 -f 4194/5057/25264 4189/5056/25265 4190/5070/25266 -f 4190/5070/25267 4197/5071/25268 4194/5057/25269 -f 4195/5058/25270 4194/5057/25271 4197/5071/25272 -f 4197/5071/25273 4198/5072/25274 4195/5058/25275 -f 4196/5059/25276 4195/5058/25277 4198/5072/25278 -f 4198/5072/25279 4199/5073/25280 4196/5059/25281 -f 4170/5060/25282 4196/5059/25283 4199/5073/25284 -f 4199/5073/25285 4171/5074/25286 4170/5060/25287 -f 4168/5075/25288 4167/5061/25289 4170/5060/25290 -f 4170/5060/25291 4171/5074/25292 4168/5075/25293 -f 4147/5062/25294 4167/5061/25295 4168/5075/25296 -f 4168/5075/25297 4148/5076/25298 4147/5062/25299 -f 4157/5063/25300 4147/5062/25301 4148/5076/25302 -f 4148/5076/25303 4160/5077/25304 4157/5063/25305 -f 4158/5064/25306 4157/5063/25307 4160/5077/25308 -f 4160/5077/25309 4161/5078/25310 4158/5064/25311 -f 4159/5065/25312 4158/5064/25313 4161/5078/25314 -f 4161/5078/25315 4162/5079/25316 4159/5065/25317 -f 4151/5066/25318 4159/5065/25319 4162/5079/25320 -f 4162/5079/25321 4152/5080/25322 4151/5066/25323 -f 4145/5081/25324 4144/5067/25325 4151/5066/25326 -f 4151/5066/25327 4152/5080/25328 4145/5081/25329 -f 4164/5068/25330 4163/5054/25331 4144/5067/25332 -f 4144/5067/25333 4145/5081/25334 4164/5068/25335 -f 4222/4875/25336 4291/4874/25337 4292/4883/25338 -f 4292/4883/25339 4223/4884/25340 4222/4875/25341 -f 4180/4839/25342 4222/4875/25343 4126/4881/25344 -f 4126/4881/25345 4187/4873/25346 4180/4839/25347 -f 4245/4936/25348 4248/4986/25349 4247/4938/25350 -f 4247/4938/25351 4239/4937/25352 4245/4936/25353 -f 4272/4971/25354 4266/5002/25355 4265/4988/25356 -f 4265/4988/25357 4271/4972/25358 4272/4971/25359 -f 4568/5053/25360 4564/5028/25361 4565/5027/25362 -f 4565/5027/25363 4567/5037/25364 4568/5053/25365 -f 4487/5082/25366 4486/5083/25367 4485/5084/25368 -f 4485/5084/25369 4482/5085/25370 4487/5082/25371 -f 4532/5086/25372 4411/5087/25373 4486/5083/25374 -f 4486/5083/25375 4487/5082/25376 4532/5086/25377 -f 4411/5087/25378 4532/5086/25379 4522/5088/25380 -f 4522/5088/25381 4523/5089/25382 4411/5087/25383 -f 4474/5090/25384 4475/5091/25385 4476/5092/25386 -f 4476/5092/25387 4367/5093/25388 4474/5090/25389 -f 4394/5094/25390 4381/5095/25391 4476/5092/25392 -f 4476/5092/25393 4485/5084/25394 4394/5094/25395 -f 4397/5096/25396 4394/5094/25397 4485/5084/25398 -f 4485/5084/25399 4486/5083/25400 4397/5096/25401 -f 4412/5097/25402 4397/5096/25403 4486/5083/25404 -f 4486/5083/25405 4411/5087/25406 4412/5097/25407 -f 4413/5098/25408 4412/5097/25409 4411/5087/25410 -f 4411/5087/25411 4523/5089/25412 4413/5098/25413 -f 4476/5092/25414 4381/5095/25415 4372/5099/25416 -f 4372/5099/25417 4367/5093/25418 4476/5092/25419 -f 4361/5100/25420 4358/5101/25421 4474/5090/25422 -f 4474/5090/25423 4367/5093/25424 4361/5100/25425 -f 4373/5102/25426 4361/5100/25427 4367/5093/25428 -f 4367/5093/25429 4372/5099/25430 4373/5102/25431 -f 4368/5103/25432 4359/5104/25433 4358/5101/25434 -f 4358/5101/25435 4361/5100/25436 4368/5103/25437 -f 4374/5105/25438 4368/5103/25439 4361/5100/25440 -f 4361/5100/25441 4373/5102/25442 4374/5105/25443 -f 4524/5106/25444 4414/5107/25445 4413/5098/25446 -f 4413/5098/25447 4523/5089/25448 4524/5106/25449 -f 4525/5108/25450 4524/5106/25451 4523/5089/25452 -f 4523/5089/25453 4522/5088/25454 4525/5108/25455 -f 4362/5109/25456 4360/5110/25457 4359/5104/25458 -f 4359/5104/25459 4368/5103/25460 4362/5109/25461 -f 4363/5111/25462 4362/5109/25463 4368/5103/25464 -f 4368/5103/25465 4374/5105/25466 4363/5111/25467 -f 4409/5112/25468 4410/5113/25469 4414/5107/25470 -f 4414/5107/25471 4524/5106/25472 4409/5112/25473 -f 4521/5114/25474 4409/5112/25475 4524/5106/25476 -f 4524/5106/25477 4525/5108/25478 4521/5114/25479 -f 4364/5115/25480 4355/5116/25481 4360/5110/25482 -f 4360/5110/25483 4362/5109/25484 4364/5115/25485 -f 4365/5117/25486 4364/5115/25487 4362/5109/25488 -f 4362/5109/25489 4363/5111/25490 4365/5117/25491 -f 4408/5118/25492 4390/5119/25493 4410/5113/25494 -f 4410/5113/25495 4409/5112/25496 4408/5118/25497 -f 4386/5120/25498 4408/5118/25499 4409/5112/25500 -f 4409/5112/25501 4521/5114/25502 4386/5120/25503 -f 4384/5121/25504 4391/5122/25505 4390/5119/25506 -f 4390/5119/25507 4408/5118/25508 4384/5121/25509 -f 4385/5123/25510 4384/5121/25511 4408/5118/25512 -f 4408/5118/25513 4386/5120/25514 4385/5123/25515 -f 4364/5115/25516 4365/5117/25517 4391/5122/25518 -f 4391/5122/25519 4384/5121/25520 4364/5115/25521 -f 4355/5116/25522 4364/5115/25523 4384/5121/25524 -f 4384/5121/25525 4385/5123/25526 4355/5116/25527 -f 4475/5091/25528 4482/5085/25529 4485/5084/25530 -f 4485/5084/25531 4476/5092/25532 4475/5091/25533 -f 4487/5082/25534 4482/5085/25535 4483/5124/25536 -f 4483/5124/25537 4488/5125/25538 4487/5082/25539 -f 4533/5126/25540 4532/5086/25541 4487/5082/25542 -f 4487/5082/25543 4488/5125/25544 4533/5126/25545 -f 4534/5127/25546 4522/5088/25547 4532/5086/25548 -f 4532/5086/25549 4533/5126/25550 4534/5127/25551 -f 4527/5128/25552 4525/5108/25553 4522/5088/25554 -f 4522/5088/25555 4534/5127/25556 4527/5128/25557 -f 4525/5108/25558 4527/5128/25559 4520/5129/25560 -f 4520/5129/25561 4521/5114/25562 4525/5108/25563 -f 4521/5114/25564 4520/5129/25565 4387/5130/25566 -f 4387/5130/25567 4386/5120/25568 4521/5114/25569 -f 4386/5120/25570 4387/5130/25571 4349/5131/25572 -f 4349/5131/25573 4385/5123/25574 4386/5120/25575 -f 4354/5132/25576 4355/5116/25577 4385/5123/25578 -f 4385/5123/25579 4349/5131/25580 4354/5132/25581 -f 4353/5133/25582 4360/5110/25583 4355/5116/25584 -f 4355/5116/25585 4354/5132/25586 4353/5133/25587 -f 4360/5110/25588 4353/5133/25589 4352/5134/25590 -f 4352/5134/25591 4359/5104/25592 4360/5110/25593 -f 4359/5104/25594 4352/5134/25595 4356/5135/25596 -f 4356/5135/25597 4358/5101/25598 4359/5104/25599 -f 4474/5090/25600 4358/5101/25601 4423/5136/25602 -f 4423/5136/25603 4472/5137/25604 4474/5090/25605 -f 4474/5090/25606 4472/5137/25607 4477/5138/25608 -f 4477/5138/25609 4475/5091/25610 4474/5090/25611 -f 4477/5138/25612 4483/5124/25613 4482/5085/25614 -f 4482/5085/25615 4475/5091/25616 4477/5138/25617 -f 4483/5124/25618 4477/5138/25619 4479/5139/25620 -f 4479/5139/25621 4484/5140/25622 4483/5124/25623 -f 4356/5135/25624 4352/5134/25625 4176/5141/25626 -f 4176/5141/25627 4357/5142/25628 4356/5135/25629 -f 4346/5143/25630 4356/5135/25631 4357/5142/25632 -f 4357/5142/25633 4345/5144/25634 4346/5143/25635 -f 4477/5138/25636 4472/5137/25637 4473/5145/25638 -f 4473/5145/25639 4479/5139/25640 4477/5138/25641 -f 4427/5146/25642 4428/5147/25643 4445/5148/25644 -f 4445/5148/25645 4473/5145/25646 4427/5146/25647 -f 4473/5145/25648 4445/5148/25649 4478/5149/25650 -f 4478/5149/25651 4479/5139/25652 4473/5145/25653 -f 4478/5149/25654 4445/5148/25655 4446/5150/25656 -f 4446/5150/25657 4447/5151/25658 4478/5149/25659 -f 4446/5150/25660 4445/5148/25661 4428/5147/25662 -f 4428/5147/25663 4426/5152/25664 4446/5150/25665 -f 4351/5153/25666 4176/5141/25667 4352/5134/25668 -f 4352/5134/25669 4353/5133/25670 4351/5153/25671 -f 4350/5154/25672 4349/5131/25673 4387/5130/25674 -f 4387/5130/25675 4517/5155/25676 4350/5154/25677 -f 4350/5154/25678 4348/5156/25679 4354/5132/25680 -f 4354/5132/25681 4349/5131/25682 4350/5154/25683 -f 4348/5156/25684 4351/5153/25685 4353/5133/25686 -f 4353/5133/25687 4354/5132/25688 4348/5156/25689 -f 4534/5127/25690 4535/5157/25691 4528/5158/25692 -f 4528/5158/25693 4527/5128/25694 4534/5127/25695 -f 4528/5158/25696 4526/5159/25697 4520/5129/25698 -f 4520/5129/25699 4527/5128/25700 4528/5158/25701 -f 4520/5129/25702 4526/5159/25703 4517/5155/25704 -f 4517/5155/25705 4387/5130/25706 4520/5129/25707 -f 4534/5127/25708 4533/5126/25709 4536/5160/25710 -f 4536/5160/25711 4535/5157/25712 4534/5127/25713 -f 4420/5161/25714 4346/5143/25715 4345/5144/25716 -f 4345/5144/25717 4415/5162/25718 4420/5161/25719 -f 4426/5152/25720 4428/5147/25721 4421/5163/25722 -f 4421/5163/25723 4417/5164/25724 4426/5152/25725 -f 4420/5161/25726 4415/5162/25727 4417/5164/25728 -f 4417/5164/25729 4421/5163/25730 4420/5161/25731 -f 4417/5164/25732 4415/5162/25733 4416/5165/25734 -f 4416/5165/25735 4418/5166/25736 4417/5164/25737 -f 4416/5165/25738 4210/4906/25739 4216/4905/25740 -f 4216/4905/25741 4418/5166/25742 4416/5165/25743 -f 4212/4907/25744 4210/4906/25745 4416/5165/25746 -f 4416/5165/25747 4415/5162/25748 4212/4907/25749 -f 4124/4908/25750 4212/4907/25751 4415/5162/25752 -f 4415/5162/25753 4345/5144/25754 4124/4908/25755 -f 4427/5146/25756 4420/5161/25757 4421/5163/25758 -f 4421/5163/25759 4428/5147/25760 4427/5146/25761 -f 4420/5161/25762 4427/5146/25763 4423/5136/25764 -f 4423/5136/25765 4346/5143/25766 4420/5161/25767 -f 4125/4909/25768 4124/4908/25769 4345/5144/25770 -f 4345/5144/25771 4357/5142/25772 4125/4909/25773 -f 4174/4910/25774 4125/4909/25775 4357/5142/25776 -f 4357/5142/25777 4176/5141/25778 4174/4910/25779 -f 4178/4911/25780 4174/4910/25781 4176/5141/25782 -f 4176/5141/25783 4351/5153/25784 4178/4911/25785 -f 4351/5153/25786 4348/5156/25787 4132/4912/25788 -f 4132/4912/25789 4178/4911/25790 4351/5153/25791 -f 4132/4912/25792 4348/5156/25793 4347/5167/25794 -f 4347/5167/25795 4130/4913/25796 4132/4912/25797 -f 4348/5156/25798 4350/5154/25799 4514/5168/25800 -f 4514/5168/25801 4347/5167/25802 4348/5156/25803 -f 4516/5169/25804 4514/5168/25805 4350/5154/25806 -f 4350/5154/25807 4517/5155/25808 4516/5169/25809 -f 4519/5170/25810 4516/5169/25811 4517/5155/25812 -f 4517/5155/25813 4526/5159/25814 4519/5170/25815 -f 4519/5170/25816 4526/5159/25817 4528/5158/25818 -f 4528/5158/25819 4530/5171/25820 4519/5170/25821 -f 4540/5172/25822 4530/5171/25823 4528/5158/25824 -f 4528/5158/25825 4535/5157/25826 4540/5172/25827 -f 4489/5173/25828 4536/5160/25829 4533/5126/25830 -f 4533/5126/25831 4488/5125/25832 4489/5173/25833 -f 4484/5140/25834 4489/5173/25835 4488/5125/25836 -f 4488/5125/25837 4483/5124/25838 4484/5140/25839 -f 4535/5157/25840 4536/5160/25841 4537/5174/25842 -f 4537/5174/25843 4540/5172/25844 4535/5157/25845 -f 4510/5175/25846 4537/5174/25847 4536/5160/25848 -f 4536/5160/25849 4489/5173/25850 4510/5175/25851 -f 4502/5176/25852 4510/5175/25853 4489/5173/25854 -f 4489/5173/25855 4484/5140/25856 4502/5176/25857 -f 4479/5139/25858 4478/5149/25859 4480/5177/25860 -f 4480/5177/25861 4484/5140/25862 4479/5139/25863 -f 4484/5140/25864 4480/5177/25865 4500/5178/25866 -f 4500/5178/25867 4502/5176/25868 4484/5140/25869 -f 4481/5179/25870 4480/5177/25871 4478/5149/25872 -f 4478/5149/25873 4447/5151/25874 4481/5179/25875 -f 4426/5152/25876 4417/5164/25877 4434/5180/25878 -f 4434/5180/25879 4422/5181/25880 4426/5152/25881 -f 4447/5151/25882 4446/5150/25883 4448/5182/25884 -f 4448/5182/25885 4441/5183/25886 4447/5151/25887 -f 4426/5152/25888 4422/5181/25889 4448/5182/25890 -f 4448/5182/25891 4446/5150/25892 4426/5152/25893 -f 4418/5166/25894 4419/5184/25895 4434/5180/25896 -f 4434/5180/25897 4417/5164/25898 4418/5166/25899 -f 4216/4905/25900 4217/4932/25901 4419/5184/25902 -f 4419/5184/25903 4418/5166/25904 4216/4905/25905 -f 4481/5179/25906 4447/5151/25907 4441/5183/25908 -f 4441/5183/25909 4449/5185/25910 4481/5179/25911 -f 4449/5185/25912 4441/5183/25913 4439/5186/25914 -f 4439/5186/25915 4444/5187/25916 4449/5185/25917 -f 4444/5187/25918 4439/5186/25919 4429/5188/25920 -f 4429/5188/25921 4436/5189/25922 4444/5187/25923 -f 4247/4938/25924 4429/5188/25925 4430/5190/25926 -f 4430/5190/25927 4244/4939/25928 4247/4938/25929 -f 4217/4932/25930 4244/4939/25931 4430/5190/25932 -f 4430/5190/25933 4419/5184/25934 4217/4932/25935 -f 4422/5181/25936 4434/5180/25937 4435/5191/25938 -f 4435/5191/25939 4424/5192/25940 4422/5181/25941 -f 4441/5183/25942 4448/5182/25943 4442/5193/25944 -f 4442/5193/25945 4443/5194/25946 4441/5183/25947 -f 4424/5192/25948 4442/5193/25949 4448/5182/25950 -f 4448/5182/25951 4422/5181/25952 4424/5192/25953 -f 4419/5184/25954 4430/5190/25955 4435/5191/25956 -f 4435/5191/25957 4434/5180/25958 4419/5184/25959 -f 4430/5190/25960 4429/5188/25961 4431/5195/25962 -f 4431/5195/25963 4432/5196/25964 4430/5190/25965 -f 4439/5186/25966 4440/5197/25967 4431/5195/25968 -f 4431/5195/25969 4429/5188/25970 4439/5186/25971 -f 4435/5191/25972 4430/5190/25973 4432/5196/25974 -f 4432/5196/25975 4433/5198/25976 4435/5191/25977 -f 4435/5191/25978 4433/5198/25979 4425/5199/25980 -f 4425/5199/25981 4424/5192/25982 4435/5191/25983 -f 4443/5194/25984 4440/5197/25985 4439/5186/25986 -f 4439/5186/25987 4441/5183/25988 4443/5194/25989 -f 4442/5193/25990 4424/5192/25991 4425/5199/25992 -f 4425/5199/25993 4443/5194/25994 4442/5193/25995 -f 4425/5199/25996 4433/5198/25997 4440/5197/25998 -f 4440/5197/25999 4443/5194/26000 4425/5199/26001 -f 4432/5196/26002 4431/5195/26003 4440/5197/26004 -f 4440/5197/26005 4433/5198/26006 4432/5196/26007 -f 4502/5176/26008 4500/5178/26009 4501/5200/26010 -f 4501/5200/26011 4503/5201/26012 4502/5176/26013 -f 4507/5202/26014 4509/5203/26015 4503/5201/26016 -f 4503/5201/26017 4501/5200/26018 4507/5202/26019 -f 4509/5203/26020 4507/5202/26021 4505/5204/26022 -f 4505/5204/26023 4508/5205/26024 4509/5203/26025 -f 4621/5206/26026 4508/5205/26027 4505/5204/26028 -f 4505/5204/26029 4471/5207/26030 4621/5206/26031 -f 4621/5206/26032 4471/5207/26033 4469/5208/26034 -f 4469/5208/26035 4620/5209/26036 4621/5206/26037 -f 4457/5210/26038 4617/5211/26039 4620/5209/26040 -f 4620/5209/26041 4469/5208/26042 4457/5210/26043 -f 4457/5210/26044 4454/5212/26045 4616/5213/26046 -f 4616/5213/26047 4617/5211/26048 4457/5210/26049 -f 4480/5177/26050 4481/5179/26051 4492/5214/26052 -f 4492/5214/26053 4500/5178/26054 4480/5177/26055 -f 4500/5178/26056 4492/5214/26057 4499/5215/26058 -f 4499/5215/26059 4501/5200/26060 4500/5178/26061 -f 4501/5200/26062 4499/5215/26063 4506/5216/26064 -f 4506/5216/26065 4507/5202/26066 4501/5200/26067 -f 4507/5202/26068 4506/5216/26069 4504/5217/26070 -f 4504/5217/26071 4505/5204/26072 4507/5202/26073 -f 4505/5204/26074 4504/5217/26075 4470/5218/26076 -f 4470/5218/26077 4471/5207/26078 4505/5204/26079 -f 4471/5207/26080 4470/5218/26081 4468/5219/26082 -f 4468/5219/26083 4469/5208/26084 4471/5207/26085 -f 4469/5208/26086 4468/5219/26087 4456/5220/26088 -f 4456/5220/26089 4457/5210/26090 4469/5208/26091 -f 4272/4971/26092 4270/4973/26093 4454/5212/26094 -f 4454/5212/26095 4455/5221/26096 4272/4971/26097 -f 4470/5218/26098 4504/5217/26099 4493/5222/26100 -f 4493/5222/26101 4466/5223/26102 4470/5218/26103 -f 4470/5218/26104 4466/5223/26105 4462/5224/26106 -f 4462/5224/26107 4468/5219/26108 4470/5218/26109 -f 4468/5219/26110 4462/5224/26111 4453/5225/26112 -f 4453/5225/26113 4456/5220/26114 4468/5219/26115 -f 4494/5226/26116 4493/5222/26117 4504/5217/26118 -f 4504/5217/26119 4506/5216/26120 4494/5226/26121 -f 4499/5215/26122 4495/5227/26123 4494/5226/26124 -f 4494/5226/26125 4506/5216/26126 4499/5215/26127 -f 4495/5227/26128 4499/5215/26129 4492/5214/26130 -f 4492/5214/26131 4490/5228/26132 4495/5227/26133 -f 4464/5229/26134 4490/5228/26135 4492/5214/26136 -f 4492/5214/26137 4481/5179/26138 4464/5229/26139 -f 4450/5230/26140 4464/5229/26141 4481/5179/26142 -f 4481/5179/26143 4449/5185/26144 4450/5230/26145 -f 4450/5230/26146 4449/5185/26147 4444/5187/26148 -f 4444/5187/26149 4438/5231/26150 4450/5230/26151 -f 4437/5232/26152 4438/5231/26153 4444/5187/26154 -f 4444/5187/26155 4436/5189/26156 4437/5232/26157 -f 4249/4985/26158 4437/5232/26159 4436/5189/26160 -f 4436/5189/26161 4248/4986/26162 4249/4985/26163 -f 4459/5233/26164 4451/5234/26165 4452/5235/26166 -f 4452/5235/26167 4453/5225/26168 4459/5233/26169 -f 4461/5236/26170 4459/5233/26171 4453/5225/26172 -f 4453/5225/26173 4462/5224/26174 4461/5236/26175 -f 4467/5237/26176 4461/5236/26177 4462/5224/26178 -f 4462/5224/26179 4466/5223/26180 4467/5237/26181 -f 4467/5237/26182 4466/5223/26183 4493/5222/26184 -f 4493/5222/26185 4496/5238/26186 4467/5237/26187 -f 4494/5226/26188 4497/5239/26189 4496/5238/26190 -f 4496/5238/26191 4493/5222/26192 4494/5226/26193 -f 4495/5227/26194 4498/5240/26195 4497/5239/26196 -f 4497/5239/26197 4494/5226/26198 4495/5227/26199 -f 4490/5228/26200 4491/5241/26201 4498/5240/26202 -f 4498/5240/26203 4495/5227/26204 4490/5228/26205 -f 4465/5242/26206 4491/5241/26207 4490/5228/26208 -f 4490/5228/26209 4464/5229/26210 4465/5242/26211 -f 4463/5243/26212 4465/5242/26213 4464/5229/26214 -f 4464/5229/26215 4450/5230/26216 4463/5243/26217 -f 4460/5244/26218 4463/5243/26219 4450/5230/26220 -f 4450/5230/26221 4438/5231/26222 4460/5244/26223 -f 4458/5245/26224 4460/5244/26225 4438/5231/26226 -f 4438/5231/26227 4437/5232/26228 4458/5245/26229 -f 4249/4985/26230 4250/5000/26231 4458/5245/26232 -f 4458/5245/26233 4437/5232/26234 4249/4985/26235 -f 4498/5240/26236 4491/5241/26237 4496/5238/26238 -f 4496/5238/26239 4497/5239/26240 4498/5240/26241 -f 4467/5237/26242 4496/5238/26243 4491/5241/26244 -f 4491/5241/26245 4465/5242/26246 4467/5237/26247 -f 4461/5236/26248 4467/5237/26249 4465/5242/26250 -f 4465/5242/26251 4463/5243/26252 4461/5236/26253 -f 4459/5233/26254 4461/5236/26255 4463/5243/26256 -f 4463/5243/26257 4460/5244/26258 4459/5233/26259 -f 4270/4973/26260 4555/5001/26261 4616/5213/26262 -f 4616/5213/26263 4454/5212/26264 4270/4973/26265 -f 4454/5212/26266 4457/5210/26267 4456/5220/26268 -f 4456/5220/26269 4455/5221/26270 4454/5212/26271 -f 4455/5221/26272 4456/5220/26273 4453/5225/26274 -f 4453/5225/26275 4452/5235/26276 4455/5221/26277 -f 4451/5234/26278 4264/5003/26279 4266/5002/26280 -f 4266/5002/26281 4452/5235/26282 4451/5234/26283 -f 4460/5244/26284 4458/5245/26285 4451/5234/26286 -f 4451/5234/26287 4459/5233/26288 4460/5244/26289 -f 4451/5234/26290 4458/5245/26291 4250/5000/26292 -f 4250/5000/26293 4264/5003/26294 4451/5234/26295 -f 4502/5176/26296 4503/5201/26297 4512/5246/26298 -f 4512/5246/26299 4510/5175/26300 4502/5176/26301 -f 4510/5175/26302 4512/5246/26303 4538/5247/26304 -f 4538/5247/26305 4537/5174/26306 4510/5175/26307 -f 4537/5174/26308 4538/5247/26309 4541/5248/26310 -f 4541/5248/26311 4540/5172/26312 4537/5174/26313 -f 4511/5249/26314 4512/5246/26315 4503/5201/26316 -f 4503/5201/26317 4509/5203/26318 4511/5249/26319 -f 4629/5250/26320 4511/5249/26321 4509/5203/26322 -f 4509/5203/26323 4508/5205/26324 4629/5250/26325 -f 4628/5251/26326 4629/5250/26327 4508/5205/26328 -f 4508/5205/26329 4621/5206/26330 4628/5251/26331 -f 4622/5252/26332 4628/5251/26333 4621/5206/26334 -f 4621/5206/26335 4620/5209/26336 4622/5252/26337 -f 4619/5253/26338 4622/5252/26339 4620/5209/26340 -f 4620/5209/26341 4617/5211/26342 4619/5253/26343 -f 4618/5254/26344 4619/5253/26345 4617/5211/26346 -f 4617/5211/26347 4616/5213/26348 4618/5254/26349 -f 4618/5254/26350 4616/5213/26351 4555/5001/26352 -f 4555/5001/26353 4557/5013/26354 4618/5254/26355 -f 4539/5255/26356 4538/5247/26357 4512/5246/26358 -f 4512/5246/26359 4511/5249/26360 4539/5255/26361 -f 4629/5250/26362 4638/5256/26363 4539/5255/26364 -f 4539/5255/26365 4511/5249/26366 4629/5250/26367 -f 4630/5257/26368 4638/5256/26369 4629/5250/26370 -f 4629/5250/26371 4628/5251/26372 4630/5257/26373 -f 4628/5251/26374 4622/5252/26375 4625/5258/26376 -f 4625/5258/26377 4630/5257/26378 4628/5251/26379 -f 4624/5259/26380 4625/5258/26381 4622/5252/26382 -f 4622/5252/26383 4619/5253/26384 4624/5259/26385 -f 4623/5260/26386 4624/5259/26387 4619/5253/26388 -f 4619/5253/26389 4618/5254/26390 4623/5260/26391 -f 4618/5254/26392 4557/5013/26393 4560/5020/26394 -f 4560/5020/26395 4623/5260/26396 4618/5254/26397 -f 4538/5247/26398 4539/5255/26399 4642/5261/26400 -f 4642/5261/26401 4543/5262/26402 4538/5247/26403 -f 4639/5263/26404 4642/5261/26405 4539/5255/26406 -f 4539/5255/26407 4638/5256/26408 4639/5263/26409 -f 4640/5264/26410 4639/5263/26411 4638/5256/26412 -f 4638/5256/26413 4630/5257/26414 4640/5264/26415 -f 4626/5265/26416 4640/5264/26417 4630/5257/26418 -f 4630/5257/26419 4625/5258/26420 4626/5265/26421 -f 4632/5266/26422 4626/5265/26423 4625/5258/26424 -f 4625/5258/26425 4624/5259/26426 4632/5266/26427 -f 4631/5267/26428 4632/5266/26429 4624/5259/26430 -f 4624/5259/26431 4623/5260/26432 4631/5267/26433 -f 4631/5267/26434 4623/5260/26435 4560/5020/26436 -f 4560/5020/26437 4564/5028/26438 4631/5267/26439 -f 4538/5247/26440 4543/5262/26441 4542/5268/26442 -f 4542/5268/26443 4541/5248/26444 4538/5247/26445 -f 4540/5172/26446 4541/5248/26447 4531/5269/26448 -f 4531/5269/26449 4530/5171/26450 4540/5172/26451 -f 4530/5171/26452 4531/5269/26453 4529/5271/26454 -f 4529/5271/26455 4519/5170/26456 4530/5171/26457 -f 4519/5170/26458 4529/5271/26459 4518/5272/26460 -f 4518/5272/26461 4516/5169/26462 4519/5170/26463 -f 4516/5169/26464 4518/5272/26465 4515/5276/26466 -f 4515/5276/26467 4514/5168/26468 4516/5169/26469 -f 4513/5313/26470 4347/5167/26471 4514/5168/26472 -f 4514/5168/26473 4515/5276/26474 4513/5313/26475 -f 4347/5167/26476 4513/5313/26477 4326/5035/26478 -f 4326/5035/26479 4130/4913/26480 4347/5167/26481 -f 4632/5266/26482 4631/5267/26483 4633/5314/26484 -f 4633/5314/26485 4634/5315/26486 4632/5266/26487 -f 4632/5266/26488 4634/5315/26489 4627/5316/26490 -f 4627/5316/26491 4626/5265/26492 4632/5266/26493 -f 4640/5264/26494 4626/5265/26495 4627/5316/26496 -f 4627/5316/26497 4641/5317/26498 4640/5264/26499 -f 4649/5318/26500 4639/5263/26501 4640/5264/26502 -f 4640/5264/26503 4641/5317/26504 4649/5318/26505 -f 4649/5318/26506 4643/5319/26507 4642/5261/26508 -f 4642/5261/26509 4639/5263/26510 4649/5318/26511 -f 4642/5261/26512 4643/5319/26513 4544/5320/26514 -f 4544/5320/26515 4543/5262/26516 4642/5261/26517 -f 4543/5262/26518 4544/5320/26519 4698/5321/26520 -f 4698/5321/26521 4542/5268/26522 4543/5262/26523 -f 4698/5321/26524 4544/5320/26525 4701/5322/26526 -f 4701/5322/26527 4699/5323/26528 4698/5321/26529 -f 4701/5322/26530 4544/5320/26531 4643/5319/26532 -f 4643/5319/26533 4644/5324/26534 4701/5322/26535 -f 4643/5319/26536 4649/5318/26537 4647/5325/26538 -f 4647/5325/26539 4644/5324/26540 4643/5319/26541 -f 4649/5318/26542 4641/5317/26543 4635/5326/26544 -f 4635/5326/26545 4647/5325/26546 4649/5318/26547 -f 4627/5316/26548 4658/5327/26549 4635/5326/26550 -f 4635/5326/26551 4641/5317/26552 4627/5316/26553 -f 4654/5328/26554 4658/5327/26555 4627/5316/26556 -f 4627/5316/26557 4634/5315/26558 4654/5328/26559 -f 4653/5329/26560 4654/5328/26561 4634/5315/26562 -f 4634/5315/26563 4633/5314/26564 4653/5329/26565 -f 4605/5052/26566 4653/5329/26567 4633/5314/26568 -f 4633/5314/26569 4568/5053/26570 4605/5052/26571 -f 4700/5374/26572 4699/5375/26573 4701/5377/26574 -f 4701/5377/26575 4704/5378/26576 4700/5374/26577 -f 4648/5379/26578 4645/5380/26579 4644/5381/26580 -f 4644/5381/26581 4647/5382/26582 4648/5379/26583 -f 4636/5383/26584 4648/5379/26585 4647/5382/26586 -f 4647/5382/26587 4635/5384/26588 4636/5383/26589 -f 4635/5384/26590 4658/5385/26591 4659/5386/26592 -f 4659/5386/26593 4636/5383/26594 4635/5384/26595 -f 4655/5387/26596 4659/5386/26597 4658/5385/26598 -f 4658/5385/26599 4654/5388/26600 4655/5387/26601 -f 4656/5389/26602 4655/5387/26603 4654/5388/26604 -f 4654/5388/26605 4653/5390/26606 4656/5389/26607 -f 4606/5460/26608 4656/5389/26609 4653/5390/26610 -f 4653/5390/26611 4605/5461/26612 4606/5460/26613 -f 4656/5389/26614 4606/5460/26615 4615/5462/26616 -f 4615/5462/26617 4663/5391/26618 4656/5389/26619 -f 4656/5389/26620 4663/5391/26621 4657/5392/26622 -f 4657/5392/26623 4655/5387/26624 4656/5389/26625 -f 4655/5387/26626 4657/5392/26627 4660/5393/26628 -f 4660/5393/26629 4659/5386/26630 4655/5387/26631 -f 4637/5394/26632 4636/5383/26633 4659/5386/26634 -f 4659/5386/26635 4660/5393/26636 4637/5394/26637 -f 4648/5379/26638 4636/5383/26639 4637/5394/26640 -f 4637/5394/26641 4650/5396/26642 4648/5379/26643 -f 4646/5397/26644 4645/5380/26645 4648/5379/26646 -f 4648/5379/26647 4650/5396/26648 4646/5397/26649 -f 4645/5380/26650 4646/5397/26651 4702/5398/26652 -f 4702/5398/26653 4644/5381/26654 4645/5380/26655 -f 4701/5377/26656 4644/5381/26657 4702/5398/26658 -f 4702/5398/26659 4704/5378/26660 4701/5377/26661 -f 4696/5399/26662 4700/5374/26663 4705/5400/26664 -f 4705/5400/26665 4697/5401/26666 4696/5399/26667 -f 4729/5402/26668 4703/5403/26669 4704/5378/26670 -f 4704/5378/26671 4702/5398/26672 4729/5402/26673 -f 4730/5404/26674 4729/5402/26675 4702/5398/26676 -f 4702/5398/26677 4646/5397/26678 4730/5404/26679 -f 4652/5405/26680 4730/5404/26681 4646/5397/26682 -f 4646/5397/26683 4650/5396/26684 4652/5405/26685 -f 4651/5406/26686 4652/5405/26687 4650/5396/26688 -f 4650/5396/26689 4637/5394/26690 4651/5406/26691 -f 4670/5407/26692 4651/5406/26693 4637/5394/26694 -f 4637/5394/26695 4660/5393/26696 4670/5407/26697 -f 4661/5408/26698 4670/5407/26699 4660/5393/26700 -f 4660/5393/26701 4657/5392/26702 4661/5408/26703 -f 4665/5409/26704 4661/5408/26705 4657/5392/26706 -f 4657/5392/26707 4663/5391/26708 4665/5409/26709 -f 4662/5410/26710 4663/5391/26711 4615/5462/26712 -f 4615/5462/26713 4613/5463/26714 4662/5410/26715 -f 4664/5411/26716 4665/5409/26717 4663/5391/26718 -f 4663/5391/26719 4662/5410/26720 4664/5411/26721 -f 4669/5412/26722 4666/5413/26723 4665/5409/26724 -f 4665/5409/26725 4664/5411/26726 4669/5412/26727 -f 4671/5414/26728 4661/5408/26729 4665/5409/26730 -f 4665/5409/26731 4666/5413/26732 4671/5414/26733 -f 4672/5415/26734 4670/5407/26735 4661/5408/26736 -f 4661/5408/26737 4671/5414/26738 4672/5415/26739 -f 4673/5416/26740 4651/5406/26741 4670/5407/26742 -f 4670/5407/26743 4672/5415/26744 4673/5416/26745 -f 4733/5417/26746 4652/5405/26747 4651/5406/26748 -f 4651/5406/26749 4673/5416/26750 4733/5417/26751 -f 4652/5405/26752 4733/5417/26753 4731/5418/26754 -f 4731/5418/26755 4730/5404/26756 4652/5405/26757 -f 4732/5419/26758 4729/5402/26759 4730/5404/26760 -f 4730/5404/26761 4731/5418/26762 4732/5419/26763 -f 4729/5402/26764 4732/5419/26765 4706/5420/26766 -f 4706/5420/26767 4703/5403/26768 4729/5402/26769 -f 4700/5374/26770 4704/5378/26771 4703/5403/26772 -f 4703/5403/26773 4705/5400/26774 4700/5374/26775 -f 4703/5403/26776 4706/5420/26777 4697/5401/26778 -f 4697/5401/26779 4705/5400/26780 4703/5403/26781 -f 4696/5399/26782 4697/5401/26783 4708/5421/26784 -f 4708/5421/26785 4707/5422/26786 4696/5399/26787 -f 4707/5422/26788 4708/5421/26789 4693/5465/26790 -f 4693/5465/26791 4690/5464/26792 4707/5422/26793 -f 4668/5423/26794 4667/5424/26795 4666/5413/26796 -f 4666/5413/26797 4669/5412/26798 4668/5423/26799 -f 4671/5414/26800 4666/5413/26801 4667/5424/26802 -f 4667/5424/26803 4676/5425/26804 4671/5414/26805 -f 4671/5414/26806 4676/5425/26807 4674/5426/26808 -f 4674/5426/26809 4672/5415/26810 4671/5414/26811 -f 4673/5416/26812 4672/5415/26813 4674/5426/26814 -f 4674/5426/26815 4740/5427/26816 4673/5416/26817 -f 4673/5416/26818 4740/5427/26819 4734/5428/26820 -f 4734/5428/26821 4733/5417/26822 4673/5416/26823 -f 4733/5417/26824 4734/5428/26825 4737/5429/26826 -f 4737/5429/26827 4731/5418/26828 4733/5417/26829 -f 4731/5418/26830 4737/5429/26831 4735/5430/26832 -f 4735/5430/26833 4732/5419/26834 4731/5418/26835 -f 4732/5419/26836 4735/5430/26837 4736/5431/26838 -f 4736/5431/26839 4706/5420/26840 4732/5419/26841 -f 4706/5420/26842 4736/5431/26843 4710/5432/26844 -f 4710/5432/26845 4697/5401/26846 4706/5420/26847 -f 4697/5401/26848 4710/5432/26849 4709/5433/26850 -f 4709/5433/26851 4708/5421/26852 4697/5401/26853 -f 4695/5466/26854 4693/5465/26855 4708/5421/26856 -f 4708/5421/26857 4709/5433/26858 4695/5466/26859 -f 4676/5425/26860 4667/5424/26861 4668/5423/26862 -f 4668/5423/26863 4677/5434/26864 4676/5425/26865 -f 4676/5425/26866 4677/5434/26867 4675/5435/26868 -f 4675/5435/26869 4674/5426/26870 4676/5425/26871 -f 4674/5426/26872 4675/5435/26873 4741/5436/26874 -f 4741/5436/26875 4740/5427/26876 4674/5426/26877 -f 4740/5427/26878 4741/5436/26879 4742/5437/26880 -f 4742/5437/26881 4734/5428/26882 4740/5427/26883 -f 4739/5438/26884 4737/5429/26885 4734/5428/26886 -f 4734/5428/26887 4742/5437/26888 4739/5438/26889 -f 4735/5430/26890 4737/5429/26891 4739/5438/26892 -f 4739/5438/26893 4738/5439/26894 4735/5430/26895 -f 4735/5430/26896 4738/5439/26897 4744/5440/26898 -f 4744/5440/26899 4736/5431/26900 4735/5430/26901 -f 4745/5441/26902 4710/5432/26903 4736/5431/26904 -f 4736/5431/26905 4744/5440/26906 4745/5441/26907 -f 4710/5432/26908 4745/5441/26909 4743/5442/26910 -f 4743/5442/26911 4709/5433/26912 4710/5432/26913 -f 4709/5433/26914 4743/5442/26915 4728/5467/26916 -f 4728/5467/26917 4695/5466/26918 4709/5433/26919 -f 4391/5122/26920 4365/5117/26921 4366/5330/26922 -f 4366/5330/26923 4388/5331/26924 4391/5122/26925 -f 4369/5335/26926 4366/5330/26927 4365/5117/26928 -f 4365/5117/26929 4363/5111/26930 4369/5335/26931 -f 4374/5105/26932 4375/5336/26933 4369/5335/26934 -f 4369/5335/26935 4363/5111/26936 4374/5105/26937 -f 4373/5102/26938 4376/5337/26939 4375/5336/26940 -f 4375/5336/26941 4374/5105/26942 4373/5102/26943 -f 4372/5099/26944 4377/5338/26945 4376/5337/26946 -f 4376/5337/26947 4373/5102/26948 4372/5099/26949 -f 4381/5095/26950 4382/5339/26951 4377/5338/26952 -f 4377/5338/26953 4372/5099/26954 4381/5095/26955 -f 4394/5094/26956 4395/5340/26957 4382/5339/26958 -f 4382/5339/26959 4381/5095/26960 4394/5094/26961 -f 4398/5346/26962 4395/5340/26963 4394/5094/26964 -f 4394/5094/26965 4397/5096/26966 4398/5346/26967 -f 4412/5097/26968 4402/5376/26969 4398/5346/26970 -f 4398/5346/26971 4397/5096/26972 4412/5097/26973 -f 4413/5098/26974 4403/5395/26975 4402/5376/26976 -f 4402/5376/26977 4412/5097/26978 4413/5098/26979 -f 4414/5107/26980 4404/5443/26981 4403/5395/26982 -f 4403/5395/26983 4413/5098/26984 4414/5107/26985 -f 4410/5113/26986 4400/5444/26987 4404/5443/26988 -f 4404/5443/26989 4414/5107/26990 4410/5113/26991 -f 4390/5119/26992 4392/5445/26993 4400/5444/26994 -f 4400/5444/26995 4410/5113/26996 4390/5119/26997 -f 4390/5119/26998 4391/5122/26999 4388/5331/27000 -f 4388/5331/27001 4392/5445/27002 4390/5119/27003 -f 4388/5331/27004 4366/5330/27005 4371/5446/27006 -f 4371/5446/27007 4389/5447/27008 4388/5331/27009 -f 4369/5335/27010 4370/5448/27011 4371/5446/27012 -f 4371/5446/27013 4366/5330/27014 4369/5335/27015 -f 4375/5336/27016 4378/5449/27017 4370/5448/27018 -f 4370/5448/27019 4369/5335/27020 4375/5336/27021 -f 4376/5337/27022 4379/5450/27023 4378/5449/27024 -f 4378/5449/27025 4375/5336/27026 4376/5337/27027 -f 4377/5338/27028 4380/5451/27029 4379/5450/27030 -f 4379/5450/27031 4376/5337/27032 4377/5338/27033 -f 4382/5339/27034 4383/5452/27035 4380/5451/27036 -f 4380/5451/27037 4377/5338/27038 4382/5339/27039 -f 4396/5453/27040 4383/5452/27041 4382/5339/27042 -f 4382/5339/27043 4395/5340/27044 4396/5453/27045 -f 4398/5346/27046 4399/5454/27047 4396/5453/27048 -f 4396/5453/27049 4395/5340/27050 4398/5346/27051 -f 4402/5376/27052 4405/5455/27053 4399/5454/27054 -f 4399/5454/27055 4398/5346/27056 4402/5376/27057 -f 4403/5395/27058 4406/5456/27059 4405/5455/27060 -f 4405/5455/27061 4402/5376/27062 4403/5395/27063 -f 4404/5443/27064 4407/5457/27065 4406/5456/27066 -f 4406/5456/27067 4403/5395/27068 4404/5443/27069 -f 4400/5444/27070 4401/5458/27071 4407/5457/27072 -f 4407/5457/27073 4404/5443/27074 4400/5444/27075 -f 4393/5459/27076 4401/5458/27077 4400/5444/27078 -f 4400/5444/27079 4392/5445/27080 4393/5459/27081 -f 4389/5447/27082 4393/5459/27083 4392/5445/27084 -f 4392/5445/27085 4388/5331/27086 4389/5447/27087 -f 4423/5136/27088 4427/5146/27089 4473/5145/27090 -f 4473/5145/27091 4472/5137/27092 4423/5136/27093 -f 4358/5101/27094 4356/5135/27095 4346/5143/27096 -f 4346/5143/27097 4423/5136/27098 4358/5101/27099 -f 4436/5189/27100 4429/5188/27101 4247/4938/27102 -f 4247/4938/27103 4248/4986/27104 4436/5189/27105 -f 4272/4971/27106 4455/5221/27107 4452/5235/27108 -f 4452/5235/27109 4266/5002/27110 4272/4971/27111 -f 4568/5053/27112 4633/5314/27113 4631/5267/27114 -f 4631/5267/27115 4564/5028/27116 4568/5053/27117 -f 4770/5468/27118 4771/5469/27119 4746/5470/27120 -f 4746/5470/27121 4747/5471/27122 4770/5468/27123 -f 4749/5472/27124 4748/5473/27125 4747/5471/27126 -f 4747/5471/27127 4746/5470/27128 4749/5472/27129 -f 4750/5475/27130 4748/5473/27131 4749/5472/27132 -f 4749/5472/27133 4751/5474/27134 4750/5475/27135 -f 4752/5477/27136 4750/5475/27137 4751/5474/27138 -f 4751/5474/27139 4753/5476/27140 4752/5477/27141 -f 4753/5476/27142 4755/5478/27143 4754/5479/27144 -f 4754/5479/27145 4752/5477/27146 4753/5476/27147 -f 4757/5480/27148 4754/5479/27149 4755/5478/27150 -f 4755/5478/27151 4756/5481/27152 4757/5480/27153 -f 4758/5482/27154 4759/5483/27155 4757/5480/27156 -f 4757/5480/27157 4756/5481/27158 4758/5482/27159 -f 4761/5485/27160 4759/5483/27161 4758/5482/27162 -f 4758/5482/27163 4760/5484/27164 4761/5485/27165 -f 4761/5485/27166 4760/5484/27167 4763/5487/27168 -f 4763/5487/27169 4762/5486/27170 4761/5485/27171 -f 4763/5487/27172 4765/5488/27173 4764/5489/27174 -f 4764/5489/27175 4762/5486/27176 4763/5487/27177 -f 4765/5488/27178 4767/5490/27179 4766/5491/27180 -f 4766/5491/27181 4764/5489/27182 4765/5488/27183 -f 4768/5493/27184 4766/5491/27185 4767/5490/27186 -f 4767/5490/27187 4769/5492/27188 4768/5493/27189 -f 4773/5495/27190 4771/5469/27191 4770/5468/27192 -f 4770/5468/27193 4772/5494/27194 4773/5495/27195 -f 4773/5495/27196 4772/5494/27197 4774/5496/27198 -f 4774/5496/27199 4775/5497/27200 4773/5495/27201 -f 4777/5499/27202 4775/5497/27203 4774/5496/27204 -f 4774/5496/27205 4776/5498/27206 4777/5499/27207 -f 4777/5499/27208 4776/5498/27209 4778/5500/27210 -f 4778/5500/27211 4779/5501/27212 4777/5499/27213 -f 4784/5503/27214 4785/5504/27215 4783/5505/27216 -f 4783/5505/27217 4782/5502/27218 4784/5503/27219 -f 4782/5502/27220 4783/5505/27221 4781/5506/27222 -f 4781/5506/27223 4780/5507/27224 4782/5502/27225 -f 4780/5507/27226 4781/5506/27227 4779/5501/27228 -f 4779/5501/27229 4778/5500/27230 4780/5507/27231 -f 4794/5509/27232 4795/5510/27233 4793/5511/27234 -f 4793/5511/27235 4792/5508/27236 4794/5509/27237 -f 4792/5508/27238 4793/5511/27239 4791/5512/27240 -f 4791/5512/27241 4790/5513/27242 4792/5508/27243 -f 4790/5513/27244 4791/5512/27245 4789/5514/27246 -f 4789/5514/27247 4788/5515/27248 4790/5513/27249 -f 4788/5515/27250 4789/5514/27251 4787/5516/27252 -f 4787/5516/27253 4786/5517/27254 4788/5515/27255 -f 4787/5516/27256 4785/5504/27257 4784/5503/27258 -f 4784/5503/27259 4786/5517/27260 4787/5516/27261 -f 4804/5519/27262 4768/5493/27263 4769/5492/27264 -f 4769/5492/27265 4805/5518/27266 4804/5519/27267 -f 4803/5520/27268 4802/5521/27269 4804/5519/27270 -f 4804/5519/27271 4805/5518/27272 4803/5520/27273 -f 4801/5522/27274 4800/5523/27275 4802/5521/27276 -f 4802/5521/27277 4803/5520/27278 4801/5522/27279 -f 4799/5524/27280 4798/5525/27281 4800/5523/27282 -f 4800/5523/27283 4801/5522/27284 4799/5524/27285 -f 4796/5526/27286 4798/5525/27287 4799/5524/27288 -f 4799/5524/27289 4797/5527/27290 4796/5526/27291 -f 4806/5528/27292 4800/5523/27293 4798/5525/27294 -f 4798/5525/27295 4807/5529/27296 4806/5528/27297 -f 4808/5530/27298 4807/5529/27299 4798/5525/27300 -f 4798/5525/27301 4796/5526/27302 4808/5530/27303 -f 4796/5526/27304 4794/5509/27305 4809/5531/27306 -f 4809/5531/27307 4808/5530/27308 4796/5526/27309 -f 4794/5509/27310 4792/5508/27311 4810/5532/27312 -f 4810/5532/27313 4809/5531/27314 4794/5509/27315 -f 4792/5508/27316 4790/5513/27317 4811/5533/27318 -f 4811/5533/27319 4810/5532/27320 4792/5508/27321 -f 4786/5517/27322 4813/5534/27323 4812/5535/27324 -f 4812/5535/27325 4788/5515/27326 4786/5517/27327 -f 4780/5507/27328 4815/5536/27329 4814/5537/27330 -f 4814/5537/27331 4782/5502/27332 4780/5507/27333 -f 4786/5517/27334 4784/5503/27335 4782/5502/27336 -f 4782/5502/27337 4813/5534/27338 4786/5517/27339 -f 4813/5534/27340 4782/5502/27341 4814/5537/27342 -f 4814/5537/27343 4812/5535/27344 4813/5534/27345 -f 4816/5538/27346 4802/5521/27347 4800/5523/27348 -f 4800/5523/27349 4806/5528/27350 4816/5538/27351 -f 4817/5539/27352 4804/5519/27353 4802/5521/27354 -f 4802/5521/27355 4816/5538/27356 4817/5539/27357 -f 4804/5519/27358 4817/5539/27359 4818/5540/27360 -f 4818/5540/27361 4768/5493/27362 4804/5519/27363 -f 4907/5541/27364 4766/5491/27365 4768/5493/27366 -f 4768/5493/27367 4818/5540/27368 4907/5541/27369 -f 4842/5542/27370 4764/5489/27371 4766/5491/27372 -f 4766/5491/27373 4907/5541/27374 4842/5542/27375 -f 4819/5543/27376 4762/5486/27377 4764/5489/27378 -f 4764/5489/27379 4842/5542/27380 4819/5543/27381 -f 4819/5543/27382 4759/5483/27383 4761/5485/27384 -f 4761/5485/27385 4762/5486/27386 4819/5543/27387 -f 4820/5544/27388 4757/5480/27389 4759/5483/27390 -f 4759/5483/27391 4819/5543/27392 4820/5544/27393 -f 4757/5480/27394 4820/5544/27395 4821/5545/27396 -f 4821/5545/27397 4754/5479/27398 4757/5480/27399 -f 4754/5479/27400 4821/5545/27401 4822/5546/27402 -f 4822/5546/27403 4752/5477/27404 4754/5479/27405 -f 4823/5547/27406 4750/5475/27407 4752/5477/27408 -f 4752/5477/27409 4822/5546/27410 4823/5547/27411 -f 4824/5548/27412 4748/5473/27413 4750/5475/27414 -f 4750/5475/27415 4823/5547/27416 4824/5548/27417 -f 4825/5549/27418 4747/5471/27419 4748/5473/27420 -f 4748/5473/27421 4824/5548/27422 4825/5549/27423 -f 4747/5471/27424 4825/5549/27425 4826/5550/27426 -f 4826/5550/27427 4770/5468/27428 4747/5471/27429 -f 4772/5494/27430 4770/5468/27431 4826/5550/27432 -f 4826/5550/27433 4827/5551/27434 4772/5494/27435 -f 4828/5552/27436 4829/5553/27437 4776/5498/27438 -f 4776/5498/27439 4774/5496/27440 4828/5552/27441 -f 4778/5500/27442 4776/5498/27443 4829/5553/27444 -f 4829/5553/27445 4830/5554/27446 4778/5500/27447 -f 4815/5536/27448 4780/5507/27449 4778/5500/27450 -f 4778/5500/27451 4830/5554/27452 4815/5536/27453 -f 4815/5536/27454 4831/5555/27455 4812/5535/27456 -f 4812/5535/27457 4814/5537/27458 4815/5536/27459 -f 4832/5556/27460 4833/5557/27461 4810/5532/27462 -f 4810/5532/27463 4811/5533/27464 4832/5556/27465 -f 4834/5558/27466 4831/5555/27467 4815/5536/27468 -f 4815/5536/27469 4830/5554/27470 4834/5558/27471 -f 4810/5532/27472 4833/5557/27473 4835/5559/27474 -f 4835/5559/27475 4809/5531/27476 4810/5532/27477 -f 4809/5531/27478 4835/5559/27479 4836/5560/27480 -f 4836/5560/27481 4808/5530/27482 4809/5531/27483 -f 4808/5530/27484 4836/5560/27485 4837/5561/27486 -f 4837/5561/27487 4807/5529/27488 4808/5530/27489 -f 4845/5562/27490 4806/5528/27491 4807/5529/27492 -f 4807/5529/27493 4837/5561/27494 4845/5562/27495 -f 4839/5563/27496 4817/5539/27497 4816/5538/27498 -f 4816/5538/27499 4838/5564/27500 4839/5563/27501 -f 4841/5565/27502 4840/5566/27503 4821/5545/27504 -f 4821/5545/27505 4820/5544/27506 4841/5565/27507 -f 4841/5565/27508 4820/5544/27509 4819/5543/27510 -f 4819/5543/27511 4842/5542/27512 4841/5565/27513 -f 4818/5540/27514 4906/5567/27515 4907/5541/27516 -f 4905/5569/27517 4906/5567/27518 4818/5540/27519 -f 4818/5540/27520 4843/5568/27521 4905/5569/27522 -f 4843/5568/27523 4818/5540/27524 4817/5539/27525 -f 4817/5539/27526 4839/5563/27527 4843/5568/27528 -f 4843/5568/27529 4839/5563/27530 4844/5570/27531 -f 4844/5570/27532 4840/5566/27533 4843/5568/27534 -f 4845/5562/27535 4838/5564/27536 4816/5538/27537 -f 4816/5538/27538 4806/5528/27539 4845/5562/27540 -f 4840/5566/27541 4844/5570/27542 4822/5546/27543 -f 4822/5546/27544 4821/5545/27545 4840/5566/27546 -f 4846/5571/27547 4844/5570/27548 4839/5563/27549 -f 4839/5563/27550 4838/5564/27551 4846/5571/27552 -f 4847/5572/27553 4846/5571/27554 4838/5564/27555 -f 4838/5564/27556 4845/5562/27557 4847/5572/27558 -f 4845/5562/27559 4837/5561/27560 4848/5573/27561 -f 4848/5573/27562 4847/5572/27563 4845/5562/27564 -f 4836/5560/27565 4849/5574/27566 4848/5573/27567 -f 4848/5573/27568 4837/5561/27569 4836/5560/27570 -f 4850/5575/27571 4849/5574/27572 4836/5560/27573 -f 4836/5560/27574 4835/5559/27575 4850/5575/27576 -f 4833/5557/27577 4832/5556/27578 4831/5555/27579 -f 4831/5555/27580 4834/5558/27581 4833/5557/27582 -f 4833/5557/27583 4834/5558/27584 4850/5575/27585 -f 4850/5575/27586 4835/5559/27587 4833/5557/27588 -f 4851/5576/27589 4834/5558/27590 4830/5554/27591 -f 4830/5554/27592 4829/5553/27593 4851/5576/27594 -f 4834/5558/27595 4851/5576/27596 4852/5577/27597 -f 4852/5577/27598 4850/5575/27599 4834/5558/27600 -f 4853/5578/27601 4852/5577/27602 4851/5576/27603 -f 4851/5576/27604 4829/5553/27605 4853/5578/27606 -f 4854/5579/27607 4853/5578/27608 4829/5553/27609 -f 4829/5553/27610 4828/5552/27611 4854/5579/27612 -f 4855/5580/27613 4854/5579/27614 4828/5552/27615 -f 4828/5552/27616 4827/5551/27617 4855/5580/27618 -f 4827/5551/27619 4826/5550/27620 4856/5581/27621 -f 4856/5581/27622 4855/5580/27623 4827/5551/27624 -f 4856/5581/27625 4826/5550/27626 4825/5549/27627 -f 4825/5549/27628 4857/5582/27629 4856/5581/27630 -f 4858/5583/27631 4857/5582/27632 4825/5549/27633 -f 4825/5549/27634 4824/5548/27635 4858/5583/27636 -f 4859/5584/27637 4858/5583/27638 4824/5548/27639 -f 4824/5548/27640 4823/5547/27641 4859/5584/27642 -f 4823/5547/27643 4822/5546/27644 4860/5585/27645 -f 4860/5585/27646 4859/5584/27647 4823/5547/27648 -f 4844/5570/27649 4846/5571/27650 4860/5585/27651 -f 4860/5585/27652 4822/5546/27653 4844/5570/27654 -f 4861/5586/27655 4860/5585/27656 4846/5571/27657 -f 4846/5571/27658 4847/5572/27659 4861/5586/27660 -f 4847/5572/27661 4848/5573/27662 4862/5587/27663 -f 4862/5587/27664 4861/5586/27665 4847/5572/27666 -f 4863/5588/27667 4862/5587/27668 4848/5573/27669 -f 4848/5573/27670 4849/5574/27671 4863/5588/27672 -f 4850/5575/27673 4852/5577/27674 4863/5588/27675 -f 4863/5588/27676 4849/5574/27677 4850/5575/27678 -f 4864/5589/27679 4863/5588/27680 4852/5577/27681 -f 4852/5577/27682 4853/5578/27683 4864/5589/27684 -f 4863/5588/27685 4864/5589/27686 4865/5590/27687 -f 4865/5590/27688 4862/5587/27689 4863/5588/27690 -f 4866/5591/27691 4861/5586/27692 4862/5587/27693 -f 4862/5587/27694 4865/5590/27695 4866/5591/27696 -f 4860/5585/27697 4861/5586/27698 4866/5591/27699 -f 4866/5591/27700 4859/5584/27701 4860/5585/27702 -f 4859/5584/27703 4866/5591/27704 4867/5592/27705 -f 4867/5592/27706 4858/5583/27707 4859/5584/27708 -f 4858/5583/27709 4867/5592/27710 4868/5593/27711 -f 4868/5593/27712 4857/5582/27713 4858/5583/27714 -f 4869/5594/27715 4856/5581/27716 4857/5582/27717 -f 4857/5582/27718 4868/5593/27719 4869/5594/27720 -f 4856/5581/27721 4869/5594/27722 4870/5595/27723 -f 4870/5595/27724 4855/5580/27725 4856/5581/27726 -f 4855/5580/27727 4870/5595/27728 4871/5596/27729 -f 4871/5596/27730 4854/5579/27731 4855/5580/27732 -f 4853/5578/27733 4854/5579/27734 4871/5596/27735 -f 4871/5596/27736 4864/5589/27737 4853/5578/27738 -f 4867/5592/27739 4872/5597/27740 4869/5594/27741 -f 4869/5594/27742 4868/5593/27743 4867/5592/27744 -f 4872/5597/27745 4871/5596/27746 4870/5595/27747 -f 4870/5595/27748 4869/5594/27749 4872/5597/27750 -f 4866/5591/27751 4865/5590/27752 4872/5597/27753 -f 4872/5597/27754 4867/5592/27755 4866/5591/27756 -f 4872/5597/27757 4865/5590/27758 4864/5589/27759 -f 4864/5589/27760 4871/5596/27761 4872/5597/27762 -f 4873/5598/27763 4874/5599/27764 4771/5469/27765 -f 4771/5469/27766 4773/5495/27767 4873/5598/27768 -f 4875/5600/27769 4746/5470/27770 4771/5469/27771 -f 4771/5469/27772 4874/5599/27773 4875/5600/27774 -f 4876/5601/27775 4749/5472/27776 4746/5470/27777 -f 4746/5470/27778 4875/5600/27779 4876/5601/27780 -f 4877/5602/27781 4751/5474/27782 4749/5472/27783 -f 4749/5472/27784 4876/5601/27785 4877/5602/27786 -f 4751/5474/27787 4877/5602/27788 4878/5603/27789 -f 4878/5603/27790 4753/5476/27791 4751/5474/27792 -f 4753/5476/27793 4878/5603/27794 4879/5604/27795 -f 4879/5604/27796 4755/5478/27797 4753/5476/27798 -f 4755/5478/27799 4879/5604/27800 4880/5605/27801 -f 4880/5605/27802 4756/5481/27803 4755/5478/27804 -f 4756/5481/27805 4880/5605/27806 4881/5606/27807 -f 4881/5606/27808 4758/5482/27809 4756/5481/27810 -f 4758/5482/27811 4881/5606/27812 4882/5607/27813 -f 4882/5607/27814 4760/5484/27815 4758/5482/27816 -f 4760/5484/27817 4882/5630/27818 4883/5608/27819 -f 4883/5608/27820 4763/5487/27821 4760/5484/27822 -f 4883/5608/27823 4884/5609/27824 4765/5488/27825 -f 4765/5488/27826 4763/5487/27827 4883/5608/27828 -f 4885/5610/27829 4767/5490/27830 4765/5488/27831 -f 4765/5488/27832 4884/5609/27833 4885/5610/27834 -f 4886/5611/27835 4769/5492/27836 4767/5490/27837 -f 4767/5490/27838 4885/5610/27839 4886/5611/27840 -f 4769/5492/27841 4886/5611/27842 4887/5612/27843 -f 4887/5612/27844 4805/5518/27845 4769/5492/27846 -f 4805/5518/27847 4887/5612/27848 4888/5613/27849 -f 4888/5613/27850 4803/5520/27851 4805/5518/27852 -f 4803/5520/27853 4888/5631/27854 4889/5614/27855 -f 4889/5614/27856 4801/5522/27857 4803/5520/27858 -f 4890/5615/27859 4799/5524/27860 4801/5522/27861 -f 4801/5522/27862 4889/5614/27863 4890/5615/27864 -f 4799/5524/27865 4890/5615/27866 4891/5616/27867 -f 4891/5616/27868 4797/5527/27869 4799/5524/27870 -f 4797/5527/27871 4891/5616/27872 4892/5617/27873 -f 4892/5617/27874 4795/5510/27875 4797/5527/27876 -f 4793/5511/27877 4893/5619/27878 4894/5618/27879 -f 4894/5618/27880 4791/5512/27881 4793/5511/27882 -f 4791/5512/27883 4894/5618/27884 4895/5620/27885 -f 4895/5620/27886 4789/5514/27887 4791/5512/27888 -f 4789/5514/27889 4895/5620/27890 4896/5621/27891 -f 4896/5621/27892 4787/5516/27893 4789/5514/27894 -f 4787/5516/27895 4896/5621/27896 4897/5622/27897 -f 4897/5622/27898 4785/5504/27899 4787/5516/27900 -f 4785/5504/27901 4897/5632/27902 4898/5623/27903 -f 4898/5623/27904 4783/5505/27905 4785/5504/27906 -f 4783/5505/27907 4898/5623/27908 4899/5624/27909 -f 4899/5624/27910 4781/5506/27911 4783/5505/27912 -f 4781/5506/27913 4899/5624/27914 4900/5625/27915 -f 4900/5625/27916 4779/5501/27917 4781/5506/27918 -f 4779/5501/27919 4900/5625/27920 4901/5626/27921 -f 4901/5626/27922 4777/5499/27923 4779/5501/27924 -f 4777/5499/27925 4901/5626/27926 4902/5627/27927 -f 4902/5627/27928 4775/5497/27929 4777/5499/27930 -f 4775/5497/27931 4902/5627/27932 4873/5598/27933 -f 4873/5598/27934 4773/5495/27935 4775/5497/27936 -f 4898/5623/27937 4897/5632/27938 4903/5628/27939 -f 4883/5608/27940 4882/5630/27941 4904/5629/27942 -f 4831/5555/27943 4832/5556/27944 4811/5533/27945 -f 4811/5533/27946 4812/5535/27947 4831/5555/27948 -f 4840/5566/27949 4841/5565/27950 4905/5569/27951 -f 4841/5565/27952 4906/5567/27953 4905/5569/27954 -f 4906/5567/27955 4841/5565/27956 4842/5542/27957 -f 4842/5542/27958 4907/5541/27959 4906/5567/27960 -f 4905/5569/27961 4843/5568/27962 4840/5566/27963 -f 4812/5535/27964 4811/5533/27965 4790/5513/27966 -f 4790/5513/27967 4788/5515/27968 4812/5535/27969 -f 4827/5551/27970 4828/5552/27971 4774/5496/27972 -f 4774/5496/27973 4772/5494/27974 4827/5551/27975 -f 4893/5635/27976 4793/5511/27977 4795/5510/27978 -f 4795/5510/27979 4892/5617/27980 4893/5635/27981 -f 4796/5526/27982 4797/5527/27983 4795/5510/27984 -f 4795/5510/27985 4794/5509/27986 4796/5526/27987 -f 4882/5607/27988 4881/5606/27989 4904/5634/27990 -f 4897/5622/27991 4896/5621/27992 4903/5633/27993 -f 4929/5638/27994 4924/5639/27995 5081/5636/27996 -f 5081/5636/27997 5082/5637/27998 4929/5638/27999 -f 4924/5639/28000 4936/5641/28001 5083/5640/28002 -f 5083/5640/28003 5081/5636/28004 4924/5639/28005 -f 4936/5641/28006 4942/5643/28007 5084/5642/28008 -f 5084/5642/28009 5083/5640/28010 4936/5641/28011 -f 4942/5643/28012 4948/5645/28013 5085/5644/28014 -f 5085/5644/28015 5084/5642/28016 4942/5643/28017 -f 4948/5645/28018 4954/5647/28019 5086/5646/28020 -f 5086/5646/28021 5085/5644/28022 4948/5645/28023 -f 4954/5649/28024 4929/5638/28025 5082/5637/28026 -f 5082/5637/28027 5086/5648/28028 4954/5649/28029 -f 4914/5652/28030 4920/5653/28031 4912/5650/28032 -f 4912/5650/28033 4911/5651/28034 4914/5652/28035 -f 4914/5656/28036 4911/5651/28037 4910/5654/28038 -f 4910/5654/28039 4909/5655/28040 4914/5656/28041 -f 4915/5658/28042 4920/5659/28043 4914/5657/28044 -f 4914/5657/28045 4909/5655/28046 4915/5658/28047 -f 4909/5655/28048 4916/5661/28049 4908/5660/28050 -f 4908/5660/28051 4915/5658/28052 4909/5655/28053 -f 4910/5654/28054 4917/5662/28055 4916/5661/28056 -f 4916/5661/28057 4909/5655/28058 4910/5654/28059 -f 4911/5651/28060 4918/5663/28061 4917/5662/28062 -f 4917/5662/28063 4910/5654/28064 4911/5651/28065 -f 4912/5650/28066 4919/5664/28067 4918/5663/28068 -f 4918/5663/28069 4911/5651/28070 4912/5650/28071 -f 4920/5653/28072 4913/5665/28073 4919/5664/28074 -f 4919/5664/28075 4912/5650/28076 4920/5653/28077 -f 4915/5658/28078 4908/5660/28079 4913/5666/28080 -f 4913/5666/28081 4920/5659/28082 4915/5658/28083 -f 4928/5670/28084 4925/5671/28085 5087/5668/28086 -f 5087/5668/28087 5088/5669/28088 4928/5670/28089 -f 4921/5672/28090 4932/5673/28091 4908/5660/28092 -f 4908/5660/28093 4916/5661/28094 4921/5672/28095 -f 4922/5674/28096 4931/5675/28097 4932/5673/28098 -f 4932/5673/28099 4921/5672/28100 4922/5674/28101 -f 4923/5678/28102 4930/5679/28103 5070/5676/28104 -f 5070/5676/28105 5069/5677/28106 4923/5678/28107 -f 4924/5639/28108 4929/5638/28109 5076/5680/28110 -f 5076/5680/28111 5075/5681/28112 4924/5639/28113 -f 4925/5671/28114 4937/5683/28115 5089/5682/28116 -f 5089/5682/28117 5087/5668/28118 4925/5671/28119 -f 4933/5684/28120 4921/5672/28121 4916/5661/28122 -f 4916/5661/28123 4917/5662/28124 4933/5684/28125 -f 4934/5685/28126 4922/5674/28127 4921/5672/28128 -f 4921/5672/28129 4933/5684/28130 4934/5685/28131 -f 4935/5687/28132 4923/5678/28133 5069/5677/28134 -f 5069/5677/28135 5071/5686/28136 4935/5687/28137 -f 4936/5641/28138 4924/5639/28139 5075/5681/28140 -f 5075/5681/28141 5077/5688/28142 4936/5641/28143 -f 4937/5683/28144 4943/5690/28145 5090/5689/28146 -f 5090/5689/28147 5089/5682/28148 4937/5683/28149 -f 4939/5691/28150 4933/5684/28151 4917/5662/28152 -f 4917/5662/28153 4918/5663/28154 4939/5691/28155 -f 4940/5692/28156 4934/5685/28157 4933/5684/28158 -f 4933/5684/28159 4939/5691/28160 4940/5692/28161 -f 4941/5694/28162 4935/5687/28163 5071/5686/28164 -f 5071/5686/28165 5072/5693/28166 4941/5694/28167 -f 4942/5643/28168 4936/5641/28169 5077/5688/28170 -f 5077/5688/28171 5078/5695/28172 4942/5643/28173 -f 4943/5690/28174 4949/5697/28175 5091/5696/28176 -f 5091/5696/28177 5090/5689/28178 4943/5690/28179 -f 4945/5698/28180 4939/5691/28181 4918/5663/28182 -f 4918/5663/28183 4919/5664/28184 4945/5698/28185 -f 4946/5699/28186 4940/5692/28187 4939/5691/28188 -f 4939/5691/28189 4945/5698/28190 4946/5699/28191 -f 4947/5701/28192 4941/5694/28193 5072/5693/28194 -f 5072/5693/28195 5073/5700/28196 4947/5701/28197 -f 4948/5645/28198 4942/5643/28199 5078/5695/28200 -f 5078/5695/28201 5079/5702/28202 4948/5645/28203 -f 4949/5697/28204 4955/5704/28205 5092/5703/28206 -f 5092/5703/28207 5091/5696/28208 4949/5697/28209 -f 4951/5705/28210 4945/5698/28211 4919/5664/28212 -f 4919/5664/28213 4913/5665/28214 4951/5705/28215 -f 4952/5706/28216 4946/5699/28217 4945/5698/28218 -f 4945/5698/28219 4951/5705/28220 4952/5706/28221 -f 4953/5708/28222 4947/5701/28223 5073/5700/28224 -f 5073/5700/28225 5074/5707/28226 4953/5708/28227 -f 4954/5647/28228 4948/5645/28229 5079/5702/28230 -f 5079/5702/28231 5080/5709/28232 4954/5647/28233 -f 4955/5711/28234 4928/5670/28235 5088/5669/28236 -f 5088/5669/28237 5092/5710/28238 4955/5711/28239 -f 4908/5660/28240 4932/5673/28241 4951/5712/28242 -f 4951/5712/28243 4913/5666/28244 4908/5660/28245 -f 4931/5675/28246 4952/5713/28247 4951/5712/28248 -f 4951/5712/28249 4932/5673/28250 4931/5675/28251 -f 4930/5679/28252 4953/5715/28253 5074/5714/28254 -f 5074/5714/28255 5070/5676/28256 4930/5679/28257 -f 4929/5638/28258 4954/5649/28259 5080/5716/28260 -f 5080/5716/28261 5076/5680/28262 4929/5638/28263 -f 4958/5719/28264 4957/5720/28265 5100/5717/28266 -f 5100/5717/28267 5099/5718/28268 4958/5719/28269 -f 5003/5723/28270 5004/5724/28271 5094/5721/28272 -f 5094/5721/28273 5093/5722/28274 5003/5723/28275 -f 4957/5720/28276 4962/5726/28277 5101/5725/28278 -f 5101/5725/28279 5100/5717/28280 4957/5720/28281 -f 5004/5724/28282 5005/5728/28283 5095/5727/28284 -f 5095/5727/28285 5094/5721/28286 5004/5724/28287 -f 4962/5726/28288 4965/5730/28289 5102/5729/28290 -f 5102/5729/28291 5101/5725/28292 4962/5726/28293 -f 5005/5728/28294 5006/5732/28295 5096/5731/28296 -f 5096/5731/28297 5095/5727/28298 5005/5728/28299 -f 4965/5730/28300 4968/5734/28301 5103/5733/28302 -f 5103/5733/28303 5102/5729/28304 4965/5730/28305 -f 5006/5732/28306 5007/5736/28307 5097/5735/28308 -f 5097/5735/28309 5096/5731/28310 5006/5732/28311 -f 4968/5739/28312 4971/5740/28313 5104/5737/28314 -f 5104/5737/28315 5103/5738/28316 4968/5739/28317 -f 5007/5743/28318 5008/5744/28319 5098/5741/28320 -f 5098/5741/28321 5097/5742/28322 5007/5743/28323 -f 4971/5740/28324 4958/5719/28325 5099/5718/28326 -f 5099/5718/28327 5104/5737/28328 4971/5740/28329 -f 5008/5744/28330 5003/5723/28331 5093/5722/28332 -f 5093/5722/28333 5098/5741/28334 5008/5744/28335 -s 2 -f 4974/5747/28336 4973/5748/28337 5020/5745/28338 -f 5020/5745/28339 5021/5746/28340 4974/5747/28341 -f 4975/5750/28342 4974/5747/28343 5021/5888/28344 -f 5021/5888/28345 4970/5749/28346 4975/5750/28347 -f 4976/5752/28348 4975/5750/28349 4970/5889/28350 -f 4970/5889/28351 4967/5751/28352 4976/5752/28353 -f 4977/5755/28354 4976/5756/28355 4967/5753/28356 -f 4967/5753/28357 4964/5754/28358 4977/5755/28359 -f 4978/5758/28360 4977/5755/28361 4964/5890/28362 -f 4964/5890/28363 4961/5757/28364 4978/5758/28365 -f 4973/5748/28366 4978/5758/28367 4961/5891/28368 -f 4961/5891/28369 5020/5886/28370 4973/5748/28371 -f 4980/5761/28372 4979/5762/28373 4960/5759/28374 -f 4960/5759/28375 4959/5760/28376 4980/5761/28377 -f 4981/5764/28378 4980/5761/28379 4959/5887/28380 -f 4959/5887/28381 4963/5763/28382 4981/5764/28383 -f 4982/5766/28384 4981/5764/28385 4963/5893/28386 -f 4963/5893/28387 4966/5765/28388 4982/5766/28389 -f 4983/5768/28390 4982/5766/28391 4966/5894/28392 -f 4966/5894/28393 4969/5767/28394 4983/5768/28395 -f 4984/5771/28396 4983/5772/28397 4969/5769/28398 -f 4969/5769/28399 4972/5770/28400 4984/5771/28401 -f 4979/5762/28402 4984/5771/28403 4972/5895/28404 -f 4972/5895/28405 4960/5892/28406 4979/5762/28407 -s 1 -f 4986/5773/28408 4985/5774/28409 4973/5748/28410 -f 4973/5748/28411 4974/5747/28412 4986/5773/28413 -f 4987/5775/28414 4986/5773/28415 4974/5747/28416 -f 4974/5747/28417 4975/5750/28418 4987/5775/28419 -f 4988/5776/28420 4987/5775/28421 4975/5750/28422 -f 4975/5750/28423 4976/5752/28424 4988/5776/28425 -f 4989/5777/28426 4988/5778/28427 4976/5756/28428 -f 4976/5756/28429 4977/5755/28430 4989/5777/28431 -f 4990/5779/28432 4989/5777/28433 4977/5755/28434 -f 4977/5755/28435 4978/5758/28436 4990/5779/28437 -f 4985/5774/28438 4990/5779/28439 4978/5758/28440 -f 4978/5758/28441 4973/5748/28442 4985/5774/28443 -f 4992/5780/28444 4991/5781/28445 4979/5762/28446 -f 4979/5762/28447 4980/5761/28448 4992/5780/28449 -f 4993/5782/28450 4992/5780/28451 4980/5761/28452 -f 4980/5761/28453 4981/5764/28454 4993/5782/28455 -f 4994/5783/28456 4993/5782/28457 4981/5764/28458 -f 4981/5764/28459 4982/5766/28460 4994/5783/28461 -f 4995/5784/28462 4994/5783/28463 4982/5766/28464 -f 4982/5766/28465 4983/5768/28466 4995/5784/28467 -f 4996/5785/28468 4995/5786/28469 4983/5772/28470 -f 4983/5772/28471 4984/5771/28472 4996/5785/28473 -f 4991/5781/28474 4996/5785/28475 4984/5771/28476 -f 4984/5771/28477 4979/5762/28478 4991/5781/28479 -f 4998/5787/28480 4997/5788/28481 4985/5774/28482 -f 4985/5774/28483 4986/5773/28484 4998/5787/28485 -f 4999/5789/28486 4998/5787/28487 4986/5773/28488 -f 4986/5773/28489 4987/5775/28490 4999/5789/28491 -f 5000/5790/28492 4999/5789/28493 4987/5775/28494 -f 4987/5775/28495 4988/5776/28496 5000/5790/28497 -f 5001/5791/28498 5000/5792/28499 4988/5778/28500 -f 4988/5778/28501 4989/5777/28502 5001/5791/28503 -f 5002/5793/28504 5001/5791/28505 4989/5777/28506 -f 4989/5777/28507 4990/5779/28508 5002/5793/28509 -f 4997/5788/28510 5002/5793/28511 4990/5779/28512 -f 4990/5779/28513 4985/5774/28514 4997/5788/28515 -f 5004/5724/28516 5003/5723/28517 4991/5781/28518 -f 4991/5781/28519 4992/5780/28520 5004/5724/28521 -f 5005/5728/28522 5004/5724/28523 4992/5780/28524 -f 4992/5780/28525 4993/5782/28526 5005/5728/28527 -f 5006/5732/28528 5005/5728/28529 4993/5782/28530 -f 4993/5782/28531 4994/5783/28532 5006/5732/28533 -f 5007/5736/28534 5006/5732/28535 4994/5783/28536 -f 4994/5783/28537 4995/5784/28538 5007/5736/28539 -f 5008/5744/28540 5007/5743/28541 4995/5786/28542 -f 4995/5786/28543 4996/5785/28544 5008/5744/28545 -f 5003/5723/28546 5008/5744/28547 4996/5785/28548 -f 4996/5785/28549 4991/5781/28550 5003/5723/28551 -f 5012/5796/28552 5011/5797/28553 5010/5794/28554 -f 5010/5794/28555 5009/5795/28556 5012/5796/28557 -f 5012/5796/28558 5014/5799/28559 5013/5798/28560 -f 5013/5798/28561 5011/5797/28562 5012/5796/28563 -f 5015/5800/28564 5014/5799/28565 5012/5796/28566 -f 5012/5796/28567 5009/5795/28568 5015/5800/28569 -f 5014/5799/28570 5015/5800/28571 5016/5801/28572 -f 5016/5801/28573 5017/5802/28574 5014/5799/28575 -f 5013/5798/28576 5014/5799/28577 5017/5802/28578 -f 5017/5802/28579 5022/5803/28580 5013/5798/28581 -f 5011/5885/28582 5013/5798/28583 5022/5803/28584 -f 5022/5803/28585 5018/5804/28586 5011/5885/28587 -f 5010/5806/28588 5011/5885/28589 5018/5804/28590 -f 5018/5804/28591 5019/5805/28592 5010/5806/28593 -f 5009/5884/28594 5010/5809/28595 5019/5807/28596 -f 5019/5807/28597 5023/5808/28598 5009/5884/28599 -f 5015/5800/28600 5009/5884/28601 5023/5808/28602 -f 5023/5808/28603 5016/5801/28604 5015/5800/28605 -f 5021/5878/28606 5020/5667/28607 5105/5810/28608 -f 5105/5810/28609 5106/5811/28610 5021/5878/28611 -f 5020/5667/28612 4961/5883/28613 5107/5812/28614 -f 5107/5812/28615 5105/5810/28616 5020/5667/28617 -f 4961/5883/28618 4964/5882/28619 5108/5813/28620 -f 5108/5813/28621 5107/5812/28622 4961/5883/28623 -f 4964/5882/28624 4967/5881/28625 5109/5814/28626 -f 5109/5814/28627 5108/5813/28628 4964/5882/28629 -f 4967/5880/28630 4970/5879/28631 5110/5815/28632 -f 5110/5815/28633 5109/5816/28634 4967/5880/28635 -f 4970/5879/28636 5021/5878/28637 5106/5811/28638 -f 5106/5811/28639 5110/5815/28640 4970/5879/28641 -f 5030/5819/28642 5029/5820/28643 5024/5817/28644 -f 5024/5817/28645 5025/5818/28646 5030/5819/28647 -s 2 -f 5031/5822/28648 5030/5819/28649 5025/5818/28650 -f 5025/5818/28651 5026/5821/28652 5031/5822/28653 -s 4 -f 5032/5825/28654 5031/5826/28655 5026/5823/28656 -f 5026/5823/28657 5027/5824/28658 5032/5825/28659 -f 5033/5828/28660 5032/5825/28661 5027/5824/28662 -f 5027/5824/28663 5028/5827/28664 5033/5828/28665 -s 1 -f 5029/5820/28666 5033/5828/28667 5028/5827/28668 -f 5028/5827/28669 5024/5817/28670 5029/5820/28671 -f 5035/5829/28672 5034/5830/28673 5029/5820/28674 -f 5029/5820/28675 5030/5819/28676 5035/5829/28677 -s 2 -f 5036/5831/28678 5035/5829/28679 5030/5819/28680 -f 5030/5819/28681 5031/5822/28682 5036/5831/28683 -s 4 -f 5037/5832/28684 5036/5833/28685 5031/5826/28686 -f 5031/5826/28687 5032/5825/28688 5037/5832/28689 -f 5038/5834/28690 5037/5832/28691 5032/5825/28692 -f 5032/5825/28693 5033/5828/28694 5038/5834/28695 -s 1 -f 5034/5830/28696 5038/5834/28697 5033/5828/28698 -f 5033/5828/28699 5029/5820/28700 5034/5830/28701 -f 5040/5835/28702 5039/5836/28703 5034/5830/28704 -f 5034/5830/28705 5035/5829/28706 5040/5835/28707 -s 2 -f 5041/5837/28708 5040/5835/28709 5035/5829/28710 -f 5035/5829/28711 5036/5831/28712 5041/5837/28713 -s 4 -f 5042/5838/28714 5041/5839/28715 5036/5833/28716 -f 5036/5833/28717 5037/5832/28718 5042/5838/28719 -f 5043/5840/28720 5042/5838/28721 5037/5832/28722 -f 5037/5832/28723 5038/5834/28724 5043/5840/28725 -s 1 -f 5039/5836/28726 5043/5840/28727 5038/5834/28728 -f 5038/5834/28729 5034/5830/28730 5039/5836/28731 -f 5045/5841/28732 5044/5842/28733 5039/5836/28734 -f 5039/5836/28735 5040/5835/28736 5045/5841/28737 -s 2 -f 5046/5843/28738 5045/5841/28739 5040/5835/28740 -f 5040/5835/28741 5041/5837/28742 5046/5843/28743 -s 4 -f 5047/5844/28744 5046/5845/28745 5041/5839/28746 -f 5041/5839/28747 5042/5838/28748 5047/5844/28749 -f 5048/5846/28750 5047/5844/28751 5042/5838/28752 -f 5042/5838/28753 5043/5840/28754 5048/5846/28755 -s 1 -f 5044/5842/28756 5048/5846/28757 5043/5840/28758 -f 5043/5840/28759 5039/5836/28760 5044/5842/28761 -f 5050/5847/28762 5049/5848/28763 5044/5842/28764 -f 5044/5842/28765 5045/5841/28766 5050/5847/28767 -s 2 -f 5051/5849/28768 5050/5847/28769 5045/5841/28770 -f 5045/5841/28771 5046/5843/28772 5051/5849/28773 -s 4 -f 5052/5850/28774 5051/5851/28775 5046/5845/28776 -f 5046/5845/28777 5047/5844/28778 5052/5850/28779 -f 5053/5852/28780 5052/5850/28781 5047/5844/28782 -f 5047/5844/28783 5048/5846/28784 5053/5852/28785 -s 1 -f 5049/5848/28786 5053/5852/28787 5048/5846/28788 -f 5048/5846/28789 5044/5842/28790 5049/5848/28791 -f 5055/5853/28792 5054/5854/28793 5049/5848/28794 -f 5049/5848/28795 5050/5847/28796 5055/5853/28797 -s 2 -f 5056/5855/28798 5055/5853/28799 5050/5847/28800 -f 5050/5847/28801 5051/5849/28802 5056/5855/28803 -s 4 -f 5057/5856/28804 5056/5857/28805 5051/5851/28806 -f 5051/5851/28807 5052/5850/28808 5057/5856/28809 -f 5058/5858/28810 5057/5856/28811 5052/5850/28812 -f 5052/5850/28813 5053/5852/28814 5058/5858/28815 -s 1 -f 5054/5854/28816 5058/5858/28817 5053/5852/28818 -f 5053/5852/28819 5049/5848/28820 5054/5854/28821 -f 5060/5859/28822 5059/5860/28823 5054/5854/28824 -f 5054/5854/28825 5055/5853/28826 5060/5859/28827 -s 2 -f 5061/5861/28828 5060/5859/28829 5055/5853/28830 -f 5055/5853/28831 5056/5855/28832 5061/5861/28833 -s 4 -f 5062/5862/28834 5061/5863/28835 5056/5857/28836 -f 5056/5857/28837 5057/5856/28838 5062/5862/28839 -f 5063/5864/28840 5062/5862/28841 5057/5856/28842 -f 5057/5856/28843 5058/5858/28844 5063/5864/28845 -s 1 -f 5059/5860/28846 5063/5864/28847 5058/5858/28848 -f 5058/5858/28849 5054/5854/28850 5059/5860/28851 -f 5065/5865/28852 5064/5866/28853 5059/5860/28854 -f 5059/5860/28855 5060/5859/28856 5065/5865/28857 -s 2 -f 5066/5867/28858 5065/5865/28859 5060/5859/28860 -f 5060/5859/28861 5061/5861/28862 5066/5867/28863 -s 4 -f 5067/5868/28864 5066/5869/28865 5061/5863/28866 -f 5061/5863/28867 5062/5862/28868 5067/5868/28869 -f 5068/5870/28870 5067/5868/28871 5062/5862/28872 -f 5062/5862/28873 5063/5864/28874 5068/5870/28875 -s 1 -f 5064/5866/28876 5068/5870/28877 5063/5864/28878 -f 5063/5864/28879 5059/5860/28880 5064/5866/28881 -f 5069/5677/28882 5070/5676/28883 4931/5675/28884 -f 4931/5675/28885 4922/5674/28886 5069/5677/28887 -f 5071/5686/28888 5069/5677/28889 4922/5674/28890 -f 4922/5674/28891 4934/5685/28892 5071/5686/28893 -f 5072/5693/28894 5071/5686/28895 4934/5685/28896 -f 4934/5685/28897 4940/5692/28898 5072/5693/28899 -f 5073/5700/28900 5072/5693/28901 4940/5692/28902 -f 4940/5692/28903 4946/5699/28904 5073/5700/28905 -f 5074/5707/28906 5073/5700/28907 4946/5699/28908 -f 4946/5699/28909 4952/5706/28910 5074/5707/28911 -f 5070/5676/28912 5074/5714/28913 4952/5713/28914 -f 4952/5713/28915 4931/5675/28916 5070/5676/28917 -f 5075/5681/28918 5076/5680/28919 4930/5679/28920 -f 4930/5679/28921 4923/5678/28922 5075/5681/28923 -f 5077/5688/28924 5075/5681/28925 4923/5678/28926 -f 4923/5678/28927 4935/5687/28928 5077/5688/28929 -f 5078/5695/28930 5077/5688/28931 4935/5687/28932 -f 4935/5687/28933 4941/5694/28934 5078/5695/28935 -f 5079/5702/28936 5078/5695/28937 4941/5694/28938 -f 4941/5694/28939 4947/5701/28940 5079/5702/28941 -f 5080/5709/28942 5079/5702/28943 4947/5701/28944 -f 4947/5701/28945 4953/5708/28946 5080/5709/28947 -f 5076/5680/28948 5080/5716/28949 4953/5715/28950 -f 4953/5715/28951 4930/5679/28952 5076/5680/28953 -f 5082/5637/28954 5081/5636/28955 4925/5671/28956 -f 4925/5671/28957 4928/5670/28958 5082/5637/28959 -f 5081/5636/28960 5083/5640/28961 4937/5683/28962 -f 4937/5683/28963 4925/5671/28964 5081/5636/28965 -f 5083/5640/28966 5084/5642/28967 4943/5690/28968 -f 4943/5690/28969 4937/5683/28970 5083/5640/28971 -f 5084/5642/28972 5085/5644/28973 4949/5697/28974 -f 4949/5697/28975 4943/5690/28976 5084/5642/28977 -f 5085/5644/28978 5086/5646/28979 4955/5704/28980 -f 4955/5704/28981 4949/5697/28982 5085/5644/28983 -f 5086/5648/28984 5082/5637/28985 4928/5670/28986 -f 4928/5670/28987 4955/5711/28988 5086/5648/28989 -f 5088/5669/28990 5087/5668/28991 4926/5871/28992 -f 4926/5871/28993 4927/5872/28994 5088/5669/28995 -f 5087/5668/28996 5089/5682/28997 4938/5873/28998 -f 4938/5873/28999 4926/5871/29000 5087/5668/29001 -f 5089/5682/29002 5090/5689/29003 4944/5874/29004 -f 4944/5874/29005 4938/5873/29006 5089/5682/29007 -f 5090/5689/29008 5091/5696/29009 4950/5875/29010 -f 4950/5875/29011 4944/5874/29012 5090/5689/29013 -f 5091/5696/29014 5092/5703/29015 4956/5876/29016 -f 4956/5876/29017 4950/5875/29018 5091/5696/29019 -f 5092/5710/29020 5088/5669/29021 4927/5872/29022 -f 4927/5872/29023 4956/5877/29024 5092/5710/29025 -f 5093/5722/29026 5094/5721/29027 4957/5720/29028 -f 4957/5720/29029 4958/5719/29030 5093/5722/29031 -f 5094/5721/29032 5095/5727/29033 4962/5726/29034 -f 4962/5726/29035 4957/5720/29036 5094/5721/29037 -f 5095/5727/29038 5096/5731/29039 4965/5730/29040 -f 4965/5730/29041 4962/5726/29042 5095/5727/29043 -f 5096/5731/29044 5097/5735/29045 4968/5734/29046 -f 4968/5734/29047 4965/5730/29048 5096/5731/29049 -f 5097/5742/29050 5098/5741/29051 4971/5740/29052 -f 4971/5740/29053 4968/5739/29054 5097/5742/29055 -f 5098/5741/29056 5093/5722/29057 4958/5719/29058 -f 4958/5719/29059 4971/5740/29060 5098/5741/29061 -f 5099/5718/29062 5100/5717/29063 4997/5788/29064 -f 4997/5788/29065 4998/5787/29066 5099/5718/29067 -f 5100/5717/29068 5101/5725/29069 5002/5793/29070 -f 5002/5793/29071 4997/5788/29072 5100/5717/29073 -f 5101/5725/29074 5102/5729/29075 5001/5791/29076 -f 5001/5791/29077 5002/5793/29078 5101/5725/29079 -f 5102/5729/29080 5103/5733/29081 5000/5792/29082 -f 5000/5792/29083 5001/5791/29084 5102/5729/29085 -f 5103/5738/29086 5104/5737/29087 4999/5789/29088 -f 4999/5789/29089 5000/5790/29090 5103/5738/29091 -f 5104/5737/29092 5099/5718/29093 4998/5787/29094 -f 4998/5787/29095 4999/5789/29096 5104/5737/29097 -f 5106/5811/29098 5105/5810/29099 5017/5802/29100 -f 5017/5802/29101 5016/5801/29102 5106/5811/29103 -f 5105/5810/29104 5107/5812/29105 5022/5803/29106 -f 5022/5803/29107 5017/5802/29108 5105/5810/29109 -f 5107/5812/29110 5108/5813/29111 5018/5804/29112 -f 5018/5804/29113 5022/5803/29114 5107/5812/29115 -f 5108/5813/29116 5109/5814/29117 5019/5805/29118 -f 5019/5805/29119 5018/5804/29120 5108/5813/29121 -f 5109/5816/29122 5110/5815/29123 5023/5808/29124 -f 5023/5808/29125 5019/5807/29126 5109/5816/29127 -f 5110/5815/29128 5106/5811/29129 5016/5801/29130 -f 5016/5801/29131 5023/5808/29132 5110/5815/29133 -f 5111/5898/29134 5114/5901/29135 5113/5902/29136 -f 5113/5902/29137 5112/5897/29138 5111/5898/29139 -f 5113/5902/29140 5114/5901/29141 5115/5904/29142 -f 5115/5904/29143 5116/5906/29144 5113/5902/29145 -f 5118/5910/29146 5111/5898/29147 5112/5897/29148 -f 5112/5897/29149 5117/5907/29150 5118/5910/29151 -f 5120/5924/29152 5118/5910/29153 5117/5907/29154 -f 5117/5907/29155 5119/5912/29156 5120/5924/29157 -f 5116/5906/29158 5115/5904/29159 5173/5925/29160 -f 5173/5925/29161 5172/5926/29162 5116/5906/29163 -f 5121/5927/29164 5122/5928/29165 5119/5912/29166 -f 5119/5912/29167 5117/5907/29168 5121/5927/29169 -f 5123/5929/29170 5124/5930/29171 5122/5928/29172 -f 5122/5928/29173 5121/5927/29174 5123/5929/29175 -f 5126/5932/29176 5123/5929/29177 5121/5927/29178 -f 5121/5927/29179 5125/5931/29180 5126/5932/29181 -f 5128/5934/29182 5126/5932/29183 5125/5931/29184 -f 5125/5931/29185 5127/5933/29186 5128/5934/29187 -f 5129/5935/29188 5128/5934/29189 5127/5933/29190 -f 5131/5899/29191 5126/5900/29192 5128/5903/29193 -f 5128/5903/29194 5130/5896/29195 5131/5899/29196 -f 5132/5905/29197 5133/5908/29198 5124/5909/29199 -f 5124/5909/29200 5123/5911/29201 5132/5905/29202 -f 5123/5911/29203 5126/5900/29204 5131/5899/29205 -f 5131/5899/29206 5132/5905/29207 5123/5911/29208 -f 5133/5921/29209 5132/5922/29210 5134/5919/29211 -f 5134/5919/29212 5135/5920/29213 5133/5921/29214 -f 5132/5922/29215 5131/5966/29216 5136/5969/29217 -f 5136/5969/29218 5134/5919/29219 5132/5922/29220 -f 5136/5969/29221 5131/5966/29222 5130/5970/29223 -f 5130/5970/29224 5137/5974/29225 5136/5969/29226 -f 5128/5903/29227 5129/5913/29228 5138/5914/29229 -f 5138/5914/29230 5130/5896/29231 5128/5903/29232 -f 5137/5974/29233 5130/5970/29234 5138/5976/29235 -f 5138/5976/29236 5139/5975/29237 5137/5974/29238 -f 5142/5937/29239 5125/5931/29240 5121/5927/29241 -f 5121/5927/29242 5140/5936/29243 5142/5937/29244 -f 5140/5936/29245 5121/5927/29246 5117/5907/29247 -f 5117/5907/29248 5112/5897/29249 5140/5936/29250 -f 5112/5897/29251 5113/5902/29252 5140/5936/29253 -f 5141/5938/29254 5140/5936/29255 5113/5902/29256 -f 5113/5902/29257 5116/5906/29258 5141/5938/29259 -f 5143/5939/29260 5142/5937/29261 5140/5936/29262 -f 5140/5936/29263 5141/5938/29264 5143/5939/29265 -f 5125/5931/29266 5142/5937/29267 5144/5940/29268 -f 5144/5940/29269 5127/5933/29270 5125/5931/29271 -f 5144/5940/29272 5142/5937/29273 5145/5941/29274 -f 5127/5933/29275 5144/5940/29276 5146/5942/29277 -f 5146/5942/29278 5129/5935/29279 5127/5933/29280 -f 5145/5941/29281 5148/5943/29282 5144/5940/29283 -f 5147/5944/29284 5146/5942/29285 5144/5940/29286 -f 5148/5943/29287 5147/5944/29288 5144/5940/29289 -f 5149/5945/29290 5150/5946/29291 5148/5943/29292 -f 5148/5943/29293 5145/5941/29294 5149/5945/29295 -f 5145/5941/29296 5142/5937/29297 5151/5947/29298 -f 5151/5947/29299 5149/5945/29300 5145/5941/29301 -f 5152/5948/29302 5151/5947/29303 5142/5937/29304 -f 5142/5937/29305 5143/5939/29306 5152/5948/29307 -f 5143/5939/29308 5141/5938/29309 5154/5949/29310 -f 5153/5950/29311 5152/5948/29312 5143/5939/29313 -f 5143/5939/29314 5154/5949/29315 5153/5950/29316 -f 5156/5952/29317 5154/5949/29318 5157/5953/29319 -f 5157/5953/29320 5155/5951/29321 5156/5952/29322 -f 5159/5955/29323 5157/5953/29324 5161/5956/29325 -f 5161/5956/29326 5158/5954/29327 5159/5955/29328 -f 5141/5938/29329 5116/5906/29330 5161/5956/29331 -f 5160/5957/29332 5169/5959/29333 5116/5906/29334 -f 5116/5906/29335 5172/5926/29336 5160/5957/29337 -f 5161/5956/29338 5162/5962/29339 5163/5960/29340 -f 5163/5960/29341 5183/5961/29342 5161/5956/29343 -s 2 -f 5161/5956/29344 5183/5961/29345 5164/5963/29346 -f 5164/5963/29347 5158/5954/29348 5161/5956/29349 -f 5165/5964/29350 5180/5965/29351 5153/5950/29352 -f 5153/5950/29353 5154/5949/29354 5165/5964/29355 -s 4 -f 5166/5967/29356 5165/5964/29357 5154/5949/29358 -f 5154/5949/29359 5156/5952/29360 5166/5967/29361 -f 5157/5953/29362 5159/5955/29363 5167/5968/29364 -f 5167/5968/29365 5182/5978/29366 5157/5953/29367 -s 2 -f 5157/5953/29368 5182/5978/29369 5168/5985/29370 -f 5168/5985/29371 5155/5951/29372 5157/5953/29373 -s 8 -f 5166/5967/29374 5156/5952/29375 5155/5951/29376 -f 5155/5951/29377 5168/5985/29378 5166/5967/29379 -s 4 -f 5167/5968/29380 5159/5955/29381 5158/5954/29382 -f 5158/5954/29383 5164/5963/29384 5167/5968/29385 -s 1 -f 5169/5959/29386 5161/5956/29387 5116/5906/29388 -f 5162/5962/29389 5161/5956/29390 5169/5959/29391 -f 5162/5962/29392 5169/5959/29393 5170/5986/29394 -f 5170/5986/29395 5163/5960/29396 5162/5962/29397 -f 5160/5957/29398 5171/5987/29399 5170/5986/29400 -f 5170/5986/29401 5169/5959/29402 5160/5957/29403 -f 5171/5987/29404 5160/5957/29405 5172/5926/29406 -f 5172/5926/29407 5173/5925/29408 5171/5987/29409 -s 2 -f 5129/5935/29410 5146/5942/29411 5139/5988/29412 -f 5139/5988/29413 5138/5989/29414 5129/5935/29415 -f 5146/5942/29416 5147/5944/29417 5174/5990/29418 -f 5174/5990/29419 5139/5988/29420 5146/5942/29421 -s 1 -f 5139/5975/29422 5174/5979/29423 5175/5977/29424 -f 5175/5977/29425 5137/5974/29426 5139/5975/29427 -s 4 -f 5177/5998/29428 5150/5946/29429 5149/5945/29430 -f 5149/5945/29431 5176/5997/29432 5177/5998/29433 -f 5149/5945/29434 5151/5947/29435 5178/6001/29436 -f 5178/6001/29437 5176/5997/29438 5149/5945/29439 -f 5152/5948/29440 5179/6002/29441 5178/6001/29442 -f 5178/6001/29443 5151/5947/29444 5152/5948/29445 -f 5153/5950/29446 5180/5965/29447 5179/6002/29448 -f 5179/6002/29449 5152/5948/29450 5153/5950/29451 -s 1 -f 5180/5984/29452 5165/6005/29453 5181/5981/29454 -f 5181/5981/29455 5179/5982/29456 5180/5984/29457 -f 5166/6007/29458 5168/6008/29459 5182/6006/29460 -f 5182/6006/29461 5165/6005/29462 5166/6007/29463 -f 5167/6010/29464 5164/6011/29465 5183/6009/29466 -f 5183/6009/29467 5182/6006/29468 5167/6010/29469 -f 5163/6024/29470 5170/6025/29471 5184/6012/29472 -f 5184/6012/29473 5183/6009/29474 5163/6024/29475 -f 5184/6012/29476 5170/6025/29477 5171/6032/29478 -f 5171/6032/29479 5185/6063/29480 5184/6012/29481 -f 5186/6065/29482 5185/6063/29483 5171/6032/29484 -f 5171/6032/29485 5173/6064/29486 5186/6065/29487 -f 5188/6066/29488 5303/6177/29489 5186/6065/29490 -f 5188/5915/29491 5186/5916/29492 5115/5917/29493 -f 5115/5917/29494 5114/5918/29495 5188/5915/29496 -f 5186/5916/29497 5173/5923/29498 5115/5917/29499 -f 5187/5958/29500 5188/5915/29501 5114/5918/29502 -f 5114/5918/29503 5111/5971/29504 5187/5958/29505 -f 5188/6066/29506 5187/6073/29507 5302/6176/29508 -f 5302/6176/29509 5303/6177/29510 5188/6066/29511 -f 5184/6012/29512 5189/6075/29513 5190/6079/29514 -f 5190/6079/29515 5183/6009/29516 5184/6012/29517 -f 5182/6006/29518 5183/6009/29519 5190/6079/29520 -f 5165/6005/29521 5182/6006/29522 5190/6079/29523 -f 5190/6079/29524 5189/6075/29525 5181/5981/29526 -f 5181/5981/29527 5165/6005/29528 5190/6079/29529 -f 5191/6082/29530 5178/6086/29531 5179/5982/29532 -f 5179/5982/29533 5181/5981/29534 5191/6082/29535 -f 5192/6087/29536 5176/6088/29537 5178/6086/29538 -f 5178/6086/29539 5191/6082/29540 5192/6087/29541 -f 5176/6088/29542 5192/6087/29543 5193/6089/29544 -f 5193/6089/29545 5177/6090/29546 5176/6088/29547 -s 2 -f 5148/5943/29548 5150/5946/29549 5177/5998/29550 -f 5177/5998/29551 5193/6023/29552 5148/5943/29553 -s 4 -f 5147/5944/29554 5148/5943/29555 5193/6023/29556 -f 5193/6023/29557 5174/5990/29558 5147/5944/29559 -s 1 -f 5193/6023/29560 5175/6027/29561 5174/5990/29562 -f 5193/6089/29563 5192/6087/29564 5175/5977/29565 -f 5189/6075/29566 5194/6091/29567 5191/6082/29568 -f 5191/6082/29569 5181/5981/29570 5189/6075/29571 -f 5194/6091/29572 5192/6087/29573 5191/6082/29574 -f 5137/5974/29575 5175/5977/29576 5192/6087/29577 -f 5192/6087/29578 5194/6091/29579 5137/5974/29580 -f 5136/5969/29581 5137/5974/29582 5194/6091/29583 -f 5134/5919/29584 5136/5969/29585 5194/6091/29586 -f 5195/5973/29587 5187/5958/29588 5111/5971/29589 -f 5111/5971/29590 5118/5972/29591 5195/5973/29592 -f 5197/6093/29593 5187/6073/29594 5195/6094/29595 -f 5195/6094/29596 5196/6092/29597 5197/6093/29598 -f 5197/6093/29599 5302/6176/29600 5187/6073/29601 -f 5134/5919/29602 5194/6091/29603 5197/6093/29604 -f 5197/6093/29605 5196/6092/29606 5134/5919/29607 -f 5118/5972/29608 5120/5980/29609 5198/5983/29610 -f 5198/5983/29611 5195/5973/29612 5118/5972/29613 -f 5195/6094/29614 5198/6096/29615 5199/6095/29616 -f 5199/6095/29617 5196/6092/29618 5195/6094/29619 -f 5196/6092/29620 5199/6095/29621 5135/5920/29622 -f 5135/5920/29623 5134/5919/29624 5196/6092/29625 -f 5200/6029/29626 5201/6035/29627 5119/5912/29628 -f 5119/5912/29629 5122/5928/29630 5200/6029/29631 -f 5201/6035/29632 5200/6029/29633 5202/6036/29634 -f 5202/6036/29635 5203/6037/29636 5201/6035/29637 -f 5203/6037/29638 5202/6036/29639 5204/6038/29640 -f 5204/6038/29641 5205/6039/29642 5203/6037/29643 -f 5206/6040/29644 5200/6029/29645 5122/5928/29646 -f 5122/5928/29647 5124/5930/29648 5206/6040/29649 -f 5200/6029/29650 5206/6040/29651 5207/6041/29652 -f 5207/6041/29653 5202/6036/29654 5200/6029/29655 -f 5202/6036/29656 5207/6041/29657 5208/6042/29658 -f 5208/6042/29659 5204/6038/29660 5202/6036/29661 -f 5119/5912/29662 5201/6035/29663 5209/6043/29664 -f 5209/6043/29665 5120/5924/29666 5119/5912/29667 -f 5210/6044/29668 5209/6043/29669 5201/6035/29670 -f 5201/6035/29671 5203/6037/29672 5210/6044/29673 -f 5203/6037/29674 5205/6039/29675 5211/6045/29676 -f 5211/6045/29677 5210/6044/29678 5203/6037/29679 -f 5213/6047/29680 5205/6039/29681 5204/6038/29682 -f 5204/6038/29683 5212/6046/29684 5213/6047/29685 -f 5208/6042/29686 5214/6048/29687 5212/6046/29688 -f 5212/6046/29689 5204/6038/29690 5208/6042/29691 -f 5205/6039/29692 5213/6047/29693 5215/6049/29694 -f 5215/6049/29695 5211/6045/29696 5205/6039/29697 -f 5216/6050/29698 5217/6051/29699 5213/6047/29700 -f 5213/6047/29701 5212/6046/29702 5216/6050/29703 -f 5218/6052/29704 5216/6050/29705 5212/6046/29706 -f 5212/6046/29707 5214/6048/29708 5218/6052/29709 -f 5213/6047/29710 5217/6051/29711 5219/6053/29712 -f 5219/6053/29713 5215/6049/29714 5213/6047/29715 -f 5221/6098/29716 5135/5920/29717 5199/6095/29718 -f 5199/6095/29719 5220/6097/29720 5221/6098/29721 -f 5223/6100/29722 5221/6098/29723 5220/6097/29724 -f 5220/6097/29725 5222/6099/29726 5223/6100/29727 -f 5225/6102/29728 5223/6100/29729 5222/6099/29730 -f 5222/6099/29731 5224/6101/29732 5225/6102/29733 -f 5225/6102/29734 5224/6101/29735 5226/6103/29736 -f 5226/6103/29737 5227/6104/29738 5225/6102/29739 -f 5228/6105/29740 5220/6097/29741 5199/6095/29742 -f 5199/6095/29743 5198/6096/29744 5228/6105/29745 -f 5220/6097/29746 5228/6105/29747 5229/6106/29748 -f 5229/6106/29749 5222/6099/29750 5220/6097/29751 -f 5230/6107/29752 5224/6101/29753 5222/6099/29754 -f 5222/6099/29755 5229/6106/29756 5230/6107/29757 -f 5231/6108/29758 5226/6103/29759 5224/6101/29760 -f 5224/6101/29761 5230/6107/29762 5231/6108/29763 -f 5135/5920/29764 5221/6098/29765 5232/6109/29766 -f 5232/6109/29767 5133/5921/29768 5135/5920/29769 -f 5221/6098/29770 5223/6100/29771 5233/6110/29772 -f 5233/6110/29773 5232/6109/29774 5221/6098/29775 -f 5223/6100/29776 5225/6102/29777 5234/6111/29778 -f 5234/6111/29779 5233/6110/29780 5223/6100/29781 -f 5235/6112/29782 5234/6111/29783 5225/6102/29784 -f 5225/6102/29785 5227/6104/29786 5235/6112/29787 -f 5133/5908/29788 5232/5991/29789 5206/5992/29790 -f 5206/5992/29791 5124/5909/29792 5133/5908/29793 -f 5232/5991/29794 5233/5993/29795 5207/5994/29796 -f 5207/5994/29797 5206/5992/29798 5232/5991/29799 -f 5234/5995/29800 5208/5996/29801 5207/5994/29802 -f 5207/5994/29803 5233/5993/29804 5234/5995/29805 -f 5235/5999/29806 5214/6000/29807 5208/5996/29808 -f 5208/5996/29809 5234/5995/29810 5235/5999/29811 -f 5235/5999/29812 5218/6003/29813 5214/6000/29814 -f 5209/6004/29815 5228/6013/29816 5198/5983/29817 -f 5198/5983/29818 5120/5980/29819 5209/6004/29820 -f 5210/6014/29821 5229/6015/29822 5228/6013/29823 -f 5228/6013/29824 5209/6004/29825 5210/6014/29826 -f 5211/6016/29827 5230/6017/29828 5229/6015/29829 -f 5229/6015/29830 5210/6014/29831 5211/6016/29832 -f 5211/6016/29833 5215/6018/29834 5231/6019/29835 -f 5231/6019/29836 5230/6017/29837 5211/6016/29838 -f 5215/6018/29839 5219/6020/29840 5231/6019/29841 -f 5236/6021/29842 5237/6022/29843 5218/6003/29844 -f 5218/6003/29845 5235/5999/29846 5236/6021/29847 -f 5218/6052/29848 5237/6055/29849 5238/6054/29850 -f 5238/6054/29851 5216/6050/29852 5218/6052/29853 -f 5239/6114/29854 5236/6113/29855 5235/6112/29856 -f 5235/6112/29857 5227/6104/29858 5239/6114/29859 -f 5226/6103/29860 5240/6115/29861 5239/6114/29862 -f 5239/6114/29863 5227/6104/29864 5226/6103/29865 -f 5241/6116/29866 5240/6115/29867 5226/6103/29868 -f 5226/6103/29869 5231/6108/29870 5241/6116/29871 -f 5216/6050/29872 5238/6054/29873 5242/6056/29874 -f 5242/6056/29875 5217/6051/29876 5216/6050/29877 -f 5217/6051/29878 5242/6056/29879 5243/6057/29880 -f 5243/6057/29881 5219/6053/29882 5217/6051/29883 -f 5241/6028/29884 5231/6019/29885 5219/6020/29886 -f 5219/6020/29887 5243/6026/29888 5241/6028/29889 -f 5244/6058/29890 5245/6067/29891 5243/6057/29892 -f 5243/6057/29893 5242/6056/29894 5244/6058/29895 -f 5246/6117/29896 5247/6118/29897 5240/6115/29898 -f 5240/6115/29899 5241/6116/29900 5246/6117/29901 -f 5243/6026/29902 5245/6030/29903 5246/6031/29904 -f 5246/6031/29905 5241/6028/29906 5243/6026/29907 -f 5246/6031/29908 5245/6030/29909 5248/6033/29910 -f 5248/6033/29911 5249/6034/29912 5246/6031/29913 -f 5248/6068/29914 5245/6067/29915 5244/6058/29916 -f 5249/6119/29917 5247/6118/29918 5246/6117/29919 -f 5249/6071/29920 5248/6068/29921 5250/6069/29922 -f 5250/6069/29923 5251/6070/29924 5249/6071/29925 -f 5250/6069/29926 5248/6068/29927 5244/6058/29928 -f 5252/6072/29929 5253/6074/29930 5250/6069/29931 -f 5250/6069/29932 5244/6058/29933 5252/6072/29934 -f 5254/6076/29935 5255/6077/29936 5253/6074/29937 -f 5253/6074/29938 5252/6072/29939 5254/6076/29940 -f 5256/6078/29941 5252/6072/29942 5244/6058/29943 -f 5244/6058/29944 5242/6056/29945 5256/6078/29946 -f 5256/6078/29947 5254/6076/29948 5252/6072/29949 -f 5257/6080/29950 5258/6081/29951 5254/6076/29952 -f 5254/6076/29953 5256/6078/29954 5257/6080/29955 -f 5259/6084/29956 5260/6085/29957 5254/6076/29958 -f 5254/6076/29959 5258/6081/29960 5259/6084/29961 -f 5262/6147/29962 5259/6084/29963 5258/6081/29964 -f 5258/6081/29965 5261/6146/29966 5262/6147/29967 -f 5261/6146/29968 5258/6081/29969 5257/6080/29970 -f 5264/6149/29971 5262/6147/29972 5261/6146/29973 -f 5261/6146/29974 5263/6148/29975 5264/6149/29976 -f 5265/6150/29977 5263/6148/29978 5267/6152/29979 -f 5267/6152/29980 5268/6153/29981 5265/6150/29982 -f 5270/6155/29983 5268/6153/29984 5267/6152/29985 -f 5267/6152/29986 5269/6154/29987 5270/6155/29988 -f 5261/6146/29989 5257/6080/29990 5267/6152/29991 -f 5267/6152/29992 5263/6148/29993 5261/6146/29994 -f 5271/6156/29995 5272/6157/29996 5299/6158/29997 -f 5273/6159/29998 5271/6156/29999 5267/6152/30000 -f 5267/6152/30001 5257/6080/30002 5273/6159/30003 -f 5257/6080/30004 5256/6078/30005 5242/6056/30006 -f 5242/6056/30007 5238/6054/30008 5257/6080/30009 -f 5273/6159/30010 5257/6080/30011 5238/6054/30012 -f 5274/6160/30013 5273/6159/30014 5238/6054/30015 -f 5238/6054/30016 5237/6055/30017 5274/6160/30018 -f 5275/6161/30019 5271/6156/30020 5273/6159/30021 -f 5273/6159/30022 5274/6160/30023 5275/6161/30024 -f 5276/6060/30025 5274/6059/30026 5237/6022/30027 -f 5237/6022/30028 5236/6021/30029 5276/6060/30030 -f 5274/6059/30031 5276/6060/30032 5277/6061/30033 -f 5277/6061/30034 5275/6062/30035 5274/6059/30036 -f 5278/6120/30037 5279/6121/30038 5240/6115/30039 -f 5240/6115/30040 5247/6118/30041 5278/6120/30042 -f 5286/6122/30043 5280/6123/30044 5279/6121/30045 -f 5279/6121/30046 5278/6120/30047 5286/6122/30048 -f 5239/6114/30049 5240/6115/30050 5279/6121/30051 -f 5279/6121/30052 5280/6123/30053 5239/6114/30054 -f 5281/6124/30055 5239/6114/30056 5280/6123/30057 -f 5247/6118/30058 5249/6119/30059 5251/6125/30060 -f 5251/6125/30061 5278/6120/30062 5247/6118/30063 -f 5278/6120/30064 5251/6125/30065 5282/6126/30066 -f 5282/6126/30067 5286/6122/30068 5278/6120/30069 -f 5253/6074/30070 5282/6162/30071 5251/6070/30072 -f 5251/6070/30073 5250/6069/30074 5253/6074/30075 -f 5253/6074/30076 5255/6077/30077 5283/6163/30078 -f 5283/6163/30079 5282/6162/30080 5253/6074/30081 -f 5286/6122/30082 5282/6126/30083 5283/6127/30084 -s 2 -f 5285/6165/30085 5260/6085/30086 5259/6084/30087 -f 5259/6084/30088 5284/6164/30089 5285/6165/30090 -s 1 -f 5286/6122/30091 5285/6129/30092 5284/6130/30093 -f 5284/6130/30094 5288/6128/30095 5286/6122/30096 -s 4 -f 5285/6165/30097 5286/6166/30098 5254/6076/30099 -f 5254/6076/30100 5260/6085/30101 5285/6165/30102 -s 2 -f 5283/6163/30103 5255/6077/30104 5254/6076/30105 -f 5254/6076/30106 5286/6166/30107 5283/6163/30108 -f 5259/6084/30109 5262/6147/30110 5287/6167/30111 -f 5287/6167/30112 5284/6164/30113 5259/6084/30114 -s 1 -f 5288/6128/30115 5284/6130/30116 5287/6131/30117 -s 2 -f 5262/6147/30118 5264/6149/30119 5289/6168/30120 -f 5289/6168/30121 5287/6167/30122 5262/6147/30123 -s 1 -f 5287/6131/30124 5289/6133/30125 5290/6132/30126 -f 5290/6132/30127 5288/6128/30128 5287/6131/30129 -f 5286/6122/30130 5288/6128/30131 5280/6123/30132 -f 5280/6123/30133 5288/6128/30134 5290/6132/30135 -s 2 -f 5289/6168/30136 5264/6149/30137 5266/6151/30138 -f 5266/6151/30139 5291/6169/30140 5289/6168/30141 -s 1 -f 5289/6133/30142 5291/6135/30143 5292/6134/30144 -f 5292/6134/30145 5290/6132/30146 5289/6133/30147 -f 5293/6136/30148 5294/6137/30149 5290/6132/30150 -f 5290/6132/30151 5292/6134/30152 5293/6136/30153 -f 5280/6123/30154 5290/6132/30155 5294/6137/30156 -f 5294/6137/30157 5293/6136/30158 5295/6138/30159 -f 5295/6138/30160 5296/6139/30161 5294/6137/30162 -f 5280/6123/30163 5294/6137/30164 5297/6140/30165 -f 5297/6140/30166 5281/6124/30167 5280/6123/30168 -f 5297/6140/30169 5277/6141/30170 5276/6142/30171 -f 5276/6142/30172 5281/6124/30173 5297/6140/30174 -f 5236/6113/30175 5239/6114/30176 5281/6124/30177 -f 5281/6124/30178 5276/6142/30179 5236/6113/30180 -f 5294/6137/30181 5296/6139/30182 5300/6143/30183 -f 5297/6140/30184 5294/6137/30185 5300/6143/30186 -f 5297/6140/30187 5300/6143/30188 5301/6144/30189 -f 5301/6144/30190 5298/6145/30191 5277/6141/30192 -f 5277/6141/30193 5297/6140/30194 5301/6144/30195 -f 5275/6062/30196 5277/6061/30197 5298/6083/30198 -f 5275/6161/30199 5298/6170/30200 5272/6157/30201 -f 5272/6157/30202 5271/6156/30203 5275/6161/30204 -s 4 -f 5292/6171/30205 5291/6169/30206 5266/6151/30207 -f 5266/6151/30208 5265/6150/30209 5292/6171/30210 -s 1 -f 5293/6173/30211 5268/6153/30212 5270/6155/30213 -f 5270/6155/30214 5295/6172/30215 5293/6173/30216 -f 5268/6153/30217 5293/6173/30218 5292/6171/30219 -f 5292/6171/30220 5265/6150/30221 5268/6153/30222 -f 5295/6172/30223 5270/6155/30224 5269/6154/30225 -f 5269/6154/30226 5296/6174/30227 5295/6172/30228 -f 5296/6174/30229 5269/6154/30230 5299/6158/30231 -f 5299/6158/30232 5300/6175/30233 5296/6174/30234 -f 5271/6156/30235 5299/6158/30236 5269/6154/30237 -f 5269/6154/30238 5267/6152/30239 5271/6156/30240 -f 5272/6157/30241 5298/6170/30242 5300/6175/30243 -f 5300/6175/30244 5299/6158/30245 5272/6157/30246 -f 5300/6143/30247 5298/6145/30248 5301/6144/30249 -f 5154/5949/30250 5141/5938/30251 5157/5953/30252 -f 5157/5953/30253 5141/5938/30254 5161/5956/30255 -f 5266/6151/30256 5264/6149/30257 5263/6148/30258 -f 5263/6148/30259 5265/6150/30260 5266/6151/30261 -f 5197/6093/30262 5194/6091/30263 5189/6075/30264 -f 5189/6075/30265 5302/6176/30266 5197/6093/30267 -f 5189/6075/30268 5184/6012/30269 5303/6177/30270 -f 5303/6177/30271 5302/6176/30272 5189/6075/30273 -f 5184/6012/30274 5185/6063/30275 5186/6065/30276 -f 5186/6065/30277 5303/6177/30278 5184/6012/30279 -f 5304/6180/30280 5320/6181/30281 5321/6178/30282 -f 5321/6178/30283 5305/6179/30284 5304/6180/30285 -f 5305/6179/30286 5321/6178/30287 5322/6182/30288 -f 5322/6182/30289 5306/6183/30290 5305/6179/30291 -f 5306/6183/30292 5322/6182/30293 5323/6184/30294 -f 5323/6184/30295 5307/6185/30296 5306/6183/30297 -f 5307/6185/30298 5323/6184/30299 5324/6186/30300 -f 5324/6186/30301 5308/6187/30302 5307/6185/30303 -f 5308/6187/30304 5324/6186/30305 5325/6188/30306 -f 5325/6188/30307 5309/6189/30308 5308/6187/30309 -f 5309/6189/30310 5325/6188/30311 5326/6190/30312 -f 5326/6190/30313 5310/6191/30314 5309/6189/30315 -f 5310/6191/30316 5326/6190/30317 5327/6192/30318 -f 5327/6192/30319 5311/6193/30320 5310/6191/30321 -f 5311/6193/30322 5327/6192/30323 5328/6194/30324 -f 5328/6194/30325 5312/6195/30326 5311/6193/30327 -f 5312/6195/30328 5328/6194/30329 5329/6196/30330 -f 5329/6196/30331 5313/6197/30332 5312/6195/30333 -f 5313/6197/30334 5329/6196/30335 5330/6198/30336 -f 5330/6198/30337 5314/6199/30338 5313/6197/30339 -f 5314/6199/30340 5330/6198/30341 5331/6200/30342 -f 5331/6200/30343 5315/6201/30344 5314/6199/30345 -f 5315/6201/30346 5331/6200/30347 5332/6202/30348 -f 5332/6202/30349 5316/6203/30350 5315/6201/30351 -f 5316/6203/30352 5332/6202/30353 5333/6204/30354 -f 5333/6204/30355 5317/6205/30356 5316/6203/30357 -f 5317/6205/30358 5333/6204/30359 5334/6206/30360 -f 5334/6206/30361 5318/6207/30362 5317/6205/30363 -f 5318/6207/30364 5334/6206/30365 5335/6208/30366 -f 5335/6208/30367 5319/6209/30368 5318/6207/30369 -f 5319/6209/30370 5335/6208/30371 5320/6181/30372 -f 5320/6181/30373 5304/6180/30374 5319/6209/30375 -f 5320/6181/30376 5336/6211/30377 5337/6210/30378 -f 5337/6210/30379 5321/6178/30380 5320/6181/30381 -f 5321/6178/30382 5337/6210/30383 5338/6212/30384 -f 5338/6212/30385 5322/6182/30386 5321/6178/30387 -f 5322/6182/30388 5338/6212/30389 5339/6213/30390 -f 5339/6213/30391 5323/6184/30392 5322/6182/30393 -f 5323/6184/30394 5339/6213/30395 5340/6214/30396 -f 5340/6214/30397 5324/6186/30398 5323/6184/30399 -f 5324/6186/30400 5340/6214/30401 5341/6215/30402 -f 5341/6215/30403 5325/6188/30404 5324/6186/30405 -f 5325/6188/30406 5341/6215/30407 5342/6216/30408 -f 5342/6216/30409 5326/6190/30410 5325/6188/30411 -f 5326/6190/30412 5342/6216/30413 5343/6217/30414 -f 5343/6217/30415 5327/6192/30416 5326/6190/30417 -f 5327/6192/30418 5343/6217/30419 5344/6218/30420 -f 5344/6218/30421 5328/6194/30422 5327/6192/30423 -f 5328/6194/30424 5344/6218/30425 5345/6219/30426 -f 5345/6219/30427 5329/6196/30428 5328/6194/30429 -f 5329/6196/30430 5345/6219/30431 5346/6220/30432 -f 5346/6220/30433 5330/6198/30434 5329/6196/30435 -f 5330/6198/30436 5346/6220/30437 5347/6221/30438 -f 5347/6221/30439 5331/6200/30440 5330/6198/30441 -f 5331/6200/30442 5347/6221/30443 5348/6222/30444 -f 5348/6222/30445 5332/6202/30446 5331/6200/30447 -f 5332/6202/30448 5348/6222/30449 5349/6223/30450 -f 5349/6223/30451 5333/6204/30452 5332/6202/30453 -f 5333/6204/30454 5349/6223/30455 5350/6224/30456 -f 5350/6224/30457 5334/6206/30458 5333/6204/30459 -f 5334/6206/30460 5350/6224/30461 5351/6225/30462 -f 5351/6225/30463 5335/6208/30464 5334/6206/30465 -f 5335/6208/30466 5351/6225/30467 5336/6211/30468 -f 5336/6211/30469 5320/6181/30470 5335/6208/30471 -f 5336/6211/30472 5352/6227/30473 5353/6226/30474 -f 5353/6226/30475 5337/6210/30476 5336/6211/30477 -f 5337/6210/30478 5353/6226/30479 5354/6228/30480 -f 5354/6228/30481 5338/6212/30482 5337/6210/30483 -f 5338/6212/30484 5354/6380/30485 5355/6229/30486 -f 5355/6229/30487 5339/6213/30488 5338/6212/30489 -f 5339/6213/30490 5355/6229/30491 5356/6230/30492 -f 5356/6230/30493 5340/6214/30494 5339/6213/30495 -f 5340/6214/30496 5356/6230/30497 5357/6231/30498 -f 5357/6231/30499 5341/6215/30500 5340/6214/30501 -f 5341/6215/30502 5357/6381/30503 5358/6232/30504 -f 5358/6232/30505 5342/6216/30506 5341/6215/30507 -f 5342/6216/30508 5358/6232/30509 5359/6233/30510 -f 5359/6233/30511 5343/6217/30512 5342/6216/30513 -f 5343/6217/30514 5359/6233/30515 5360/6234/30516 -f 5360/6234/30517 5344/6218/30518 5343/6217/30519 -f 5344/6218/30520 5360/6382/30521 5361/6235/30522 -f 5361/6235/30523 5345/6219/30524 5344/6218/30525 -f 5345/6219/30526 5361/6235/30527 5362/6236/30528 -f 5362/6236/30529 5346/6220/30530 5345/6219/30531 -f 5346/6220/30532 5362/6383/30533 5363/6237/30534 -f 5363/6237/30535 5347/6221/30536 5346/6220/30537 -f 5347/6221/30538 5363/6237/30539 5364/6238/30540 -f 5364/6238/30541 5348/6222/30542 5347/6221/30543 -f 5348/6222/30544 5364/6384/30545 5365/6239/30546 -f 5365/6239/30547 5349/6223/30548 5348/6222/30549 -f 5349/6223/30550 5365/6239/30551 5366/6240/30552 -f 5366/6240/30553 5350/6224/30554 5349/6223/30555 -f 5350/6224/30556 5366/6240/30557 5367/6241/30558 -f 5367/6241/30559 5351/6225/30560 5350/6224/30561 -f 5351/6225/30562 5367/6385/30563 5352/6227/30564 -f 5352/6227/30565 5336/6211/30566 5351/6225/30567 -f 5352/6227/30568 5368/6243/30569 5369/6242/30570 -f 5369/6242/30571 5353/6226/30572 5352/6227/30573 -f 5353/6226/30574 5369/6242/30575 5370/6244/30576 -f 5370/6244/30577 5354/6228/30578 5353/6226/30579 -f 5354/6380/30580 5370/6386/30581 5371/6245/30582 -f 5371/6245/30583 5355/6229/30584 5354/6380/30585 -f 5355/6229/30586 5371/6245/30587 5372/6246/30588 -f 5372/6246/30589 5356/6230/30590 5355/6229/30591 -f 5356/6230/30592 5372/6246/30593 5373/6247/30594 -f 5373/6247/30595 5357/6231/30596 5356/6230/30597 -f 5357/6381/30598 5373/6387/30599 5374/6248/30600 -f 5374/6248/30601 5358/6232/30602 5357/6381/30603 -f 5358/6232/30604 5374/6248/30605 5375/6249/30606 -f 5375/6249/30607 5359/6233/30608 5358/6232/30609 -f 5359/6233/30610 5375/6249/30611 5376/6250/30612 -f 5376/6250/30613 5360/6234/30614 5359/6233/30615 -f 5360/6382/30616 5376/6388/30617 5377/6251/30618 -f 5377/6251/30619 5361/6235/30620 5360/6382/30621 -f 5361/6235/30622 5377/6251/30623 5378/6252/30624 -f 5378/6252/30625 5362/6236/30626 5361/6235/30627 -f 5362/6383/30628 5378/6389/30629 5379/6253/30630 -f 5379/6253/30631 5363/6237/30632 5362/6383/30633 -f 5363/6237/30634 5379/6253/30635 5380/6254/30636 -f 5380/6254/30637 5364/6238/30638 5363/6237/30639 -f 5364/6384/30640 5380/6390/30641 5381/6255/30642 -f 5381/6255/30643 5365/6239/30644 5364/6384/30645 -f 5365/6239/30646 5381/6255/30647 5382/6256/30648 -f 5382/6256/30649 5366/6240/30650 5365/6239/30651 -f 5366/6240/30652 5382/6256/30653 5383/6257/30654 -f 5383/6257/30655 5367/6241/30656 5366/6240/30657 -f 5367/6385/30658 5383/6391/30659 5368/6243/30660 -f 5368/6243/30661 5352/6227/30662 5367/6385/30663 -f 5401/6260/30664 5402/6261/30665 5403/6258/30666 -f 5403/6258/30667 5388/6259/30668 5401/6260/30669 -f 5386/6264/30670 5389/6265/30671 5390/6262/30672 -f 5390/6262/30673 5385/6263/30674 5386/6264/30675 -f 5386/6264/30676 5387/6267/30677 5404/6266/30678 -f 5404/6266/30679 5389/6265/30680 5386/6264/30681 -f 5387/6267/30682 5388/6259/30683 5403/6258/30684 -f 5403/6258/30685 5404/6266/30686 5387/6267/30687 -f 5385/6263/30688 5390/6262/30689 5391/6268/30690 -f 5391/6268/30691 5384/6269/30692 5385/6263/30693 -f 5391/6268/30694 5392/6271/30695 5393/6270/30696 -f 5393/6270/30697 5384/6269/30698 5391/6268/30699 -f 5393/6270/30700 5394/6273/30701 5395/6272/30702 -f 5395/6272/30703 5384/6269/30704 5393/6270/30705 -f 5385/6263/30706 5384/6269/30707 5395/6272/30708 -f 5395/6272/30709 5396/6274/30710 5385/6263/30711 -f 5386/6264/30712 5385/6263/30713 5396/6274/30714 -f 5396/6274/30715 5397/6275/30716 5386/6264/30717 -f 5398/6276/30718 5387/6267/30719 5386/6264/30720 -f 5386/6264/30721 5397/6275/30722 5398/6276/30723 -f 5399/6277/30724 5388/6259/30725 5387/6267/30726 -f 5387/6267/30727 5398/6276/30728 5399/6277/30729 -f 5388/6259/30730 5399/6277/30731 5400/6278/30732 -f 5400/6278/30733 5401/6260/30734 5388/6259/30735 -f 5390/6262/30736 5389/6265/30737 5304/6180/30738 -f 5304/6180/30739 5305/6179/30740 5390/6262/30741 -f 5391/6268/30742 5390/6262/30743 5305/6179/30744 -f 5305/6179/30745 5306/6183/30746 5391/6268/30747 -f 5392/6271/30748 5391/6268/30749 5306/6183/30750 -f 5306/6183/30751 5307/6185/30752 5392/6271/30753 -f 5393/6270/30754 5392/6271/30755 5307/6185/30756 -f 5307/6185/30757 5308/6187/30758 5393/6270/30759 -f 5394/6273/30760 5393/6270/30761 5308/6187/30762 -f 5308/6187/30763 5309/6189/30764 5394/6273/30765 -f 5395/6272/30766 5394/6273/30767 5309/6189/30768 -f 5309/6189/30769 5310/6191/30770 5395/6272/30771 -f 5396/6274/30772 5395/6272/30773 5310/6191/30774 -f 5310/6191/30775 5311/6193/30776 5396/6274/30777 -f 5397/6275/30778 5396/6274/30779 5311/6193/30780 -f 5311/6193/30781 5312/6195/30782 5397/6275/30783 -f 5398/6276/30784 5397/6275/30785 5312/6195/30786 -f 5312/6195/30787 5313/6197/30788 5398/6276/30789 -f 5399/6277/30790 5398/6276/30791 5313/6197/30792 -f 5313/6197/30793 5314/6199/30794 5399/6277/30795 -f 5400/6278/30796 5399/6277/30797 5314/6199/30798 -f 5314/6199/30799 5315/6201/30800 5400/6278/30801 -f 5401/6260/30802 5400/6278/30803 5315/6201/30804 -f 5315/6201/30805 5316/6203/30806 5401/6260/30807 -f 5402/6261/30808 5401/6260/30809 5316/6203/30810 -f 5316/6203/30811 5317/6205/30812 5402/6261/30813 -f 5403/6258/30814 5402/6261/30815 5317/6205/30816 -f 5317/6205/30817 5318/6207/30818 5403/6258/30819 -f 5404/6266/30820 5403/6258/30821 5318/6207/30822 -f 5318/6207/30823 5319/6209/30824 5404/6266/30825 -f 5389/6265/30826 5404/6266/30827 5319/6209/30828 -f 5319/6209/30829 5304/6180/30830 5389/6265/30831 -f 5405/6281/30832 5408/6282/30833 5407/6279/30834 -f 5407/6279/30835 5406/6280/30836 5405/6281/30837 -f 5408/6282/30838 5410/6284/30839 5409/6283/30840 -f 5409/6283/30841 5407/6279/30842 5408/6282/30843 -f 5410/6284/30844 5412/6286/30845 5411/6285/30846 -f 5411/6285/30847 5409/6283/30848 5410/6284/30849 -f 5412/6286/30850 5414/6288/30851 5413/6287/30852 -f 5413/6287/30853 5411/6285/30854 5412/6286/30855 -f 5414/6288/30856 5416/6290/30857 5415/6289/30858 -f 5415/6289/30859 5413/6287/30860 5414/6288/30861 -f 5416/6290/30862 5418/6292/30863 5417/6291/30864 -f 5417/6291/30865 5415/6289/30866 5416/6290/30867 -f 5418/6292/30868 5420/6294/30869 5419/6293/30870 -f 5419/6293/30871 5417/6291/30872 5418/6292/30873 -f 5420/6294/30874 5422/6296/30875 5421/6295/30876 -f 5421/6295/30877 5419/6293/30878 5420/6294/30879 -f 5422/6296/30880 5424/6298/30881 5423/6297/30882 -f 5423/6297/30883 5421/6295/30884 5422/6296/30885 -f 5424/6298/30886 5426/6300/30887 5425/6299/30888 -f 5425/6299/30889 5423/6297/30890 5424/6298/30891 -f 5426/6300/30892 5428/6302/30893 5427/6301/30894 -f 5427/6301/30895 5425/6299/30896 5426/6300/30897 -f 5428/6302/30898 5430/6304/30899 5429/6303/30900 -f 5429/6303/30901 5427/6301/30902 5428/6302/30903 -f 5430/6304/30904 5432/6306/30905 5431/6305/30906 -f 5431/6305/30907 5429/6303/30908 5430/6304/30909 -f 5432/6306/30910 5434/6308/30911 5433/6307/30912 -f 5433/6307/30913 5431/6305/30914 5432/6306/30915 -f 5434/6308/30916 5436/6310/30917 5435/6309/30918 -f 5435/6309/30919 5433/6307/30920 5434/6308/30921 -f 5436/6310/30922 5405/6281/30923 5406/6280/30924 -f 5406/6280/30925 5435/6309/30926 5436/6310/30927 -f 5406/6280/30928 5407/6279/30929 5438/6311/30930 -f 5438/6311/30931 5437/6312/30932 5406/6280/30933 -f 5407/6279/30934 5409/6283/30935 5439/6313/30936 -f 5439/6313/30937 5438/6311/30938 5407/6279/30939 -f 5409/6283/30940 5411/6285/30941 5440/6314/30942 -f 5440/6314/30943 5439/6313/30944 5409/6283/30945 -f 5411/6285/30946 5413/6287/30947 5441/6315/30948 -f 5441/6315/30949 5440/6314/30950 5411/6285/30951 -f 5413/6287/30952 5415/6289/30953 5442/6316/30954 -f 5442/6316/30955 5441/6315/30956 5413/6287/30957 -f 5415/6289/30958 5417/6291/30959 5443/6317/30960 -f 5443/6317/30961 5442/6316/30962 5415/6289/30963 -f 5417/6291/30964 5419/6293/30965 5444/6318/30966 -f 5444/6318/30967 5443/6317/30968 5417/6291/30969 -f 5419/6293/30970 5421/6295/30971 5445/6319/30972 -f 5445/6319/30973 5444/6318/30974 5419/6293/30975 -f 5421/6295/30976 5423/6297/30977 5446/6320/30978 -f 5446/6320/30979 5445/6319/30980 5421/6295/30981 -f 5423/6297/30982 5425/6299/30983 5447/6321/30984 -f 5447/6321/30985 5446/6320/30986 5423/6297/30987 -f 5425/6299/30988 5427/6301/30989 5448/6322/30990 -f 5448/6322/30991 5447/6321/30992 5425/6299/30993 -f 5427/6301/30994 5429/6303/30995 5449/6323/30996 -f 5449/6323/30997 5448/6322/30998 5427/6301/30999 -f 5429/6303/31000 5431/6305/31001 5450/6324/31002 -f 5450/6324/31003 5449/6323/31004 5429/6303/31005 -f 5431/6305/31006 5433/6307/31007 5451/6325/31008 -f 5451/6325/31009 5450/6324/31010 5431/6305/31011 -f 5433/6307/31012 5435/6309/31013 5452/6326/31014 -f 5452/6326/31015 5451/6325/31016 5433/6307/31017 -f 5435/6309/31018 5406/6280/31019 5437/6312/31020 -f 5437/6312/31021 5452/6326/31022 5435/6309/31023 -f 5437/6312/31024 5438/6311/31025 5454/6327/31026 -f 5454/6327/31027 5453/6328/31028 5437/6312/31029 -f 5438/6311/31030 5439/6313/31031 5455/6329/31032 -f 5455/6329/31033 5454/6392/31034 5438/6311/31035 -f 5439/6313/31036 5440/6314/31037 5456/6330/31038 -f 5456/6330/31039 5455/6329/31040 5439/6313/31041 -f 5440/6314/31042 5441/6315/31043 5457/6331/31044 -f 5457/6331/31045 5456/6330/31046 5440/6314/31047 -f 5441/6315/31048 5442/6316/31049 5458/6332/31050 -f 5458/6332/31051 5457/6393/31052 5441/6315/31053 -f 5442/6316/31054 5443/6317/31055 5459/6333/31056 -f 5459/6333/31057 5458/6332/31058 5442/6316/31059 -f 5443/6317/31060 5444/6318/31061 5460/6334/31062 -f 5460/6334/31063 5459/6333/31064 5443/6317/31065 -f 5444/6318/31066 5445/6319/31067 5461/6335/31068 -f 5461/6335/31069 5460/6394/31070 5444/6318/31071 -f 5445/6319/31072 5446/6320/31073 5462/6336/31074 -f 5462/6336/31075 5461/6335/31076 5445/6319/31077 -f 5446/6320/31078 5447/6321/31079 5463/6337/31080 -f 5463/6337/31081 5462/6395/31082 5446/6320/31083 -f 5447/6321/31084 5448/6322/31085 5464/6338/31086 -f 5464/6338/31087 5463/6337/31088 5447/6321/31089 -f 5448/6322/31090 5449/6323/31091 5465/6339/31092 -f 5465/6339/31093 5464/6396/31094 5448/6322/31095 -f 5449/6323/31096 5450/6324/31097 5466/6340/31098 -f 5466/6340/31099 5465/6339/31100 5449/6323/31101 -f 5450/6324/31102 5451/6325/31103 5467/6341/31104 -f 5467/6341/31105 5466/6340/31106 5450/6324/31107 -f 5451/6325/31108 5452/6326/31109 5468/6342/31110 -f 5468/6342/31111 5467/6397/31112 5451/6325/31113 -f 5452/6326/31114 5437/6312/31115 5453/6328/31116 -f 5453/6328/31117 5468/6342/31118 5452/6326/31119 -f 5453/6328/31120 5454/6327/31121 5470/6343/31122 -f 5470/6343/31123 5469/6344/31124 5453/6328/31125 -f 5454/6392/31126 5455/6329/31127 5471/6345/31128 -f 5471/6345/31129 5470/6398/31130 5454/6392/31131 -f 5455/6329/31132 5456/6330/31133 5472/6346/31134 -f 5472/6346/31135 5471/6345/31136 5455/6329/31137 -f 5456/6330/31138 5457/6331/31139 5473/6347/31140 -f 5473/6347/31141 5472/6346/31142 5456/6330/31143 -f 5457/6393/31144 5458/6332/31145 5474/6348/31146 -f 5474/6348/31147 5473/6399/31148 5457/6393/31149 -f 5458/6332/31150 5459/6333/31151 5475/6349/31152 -f 5475/6349/31153 5474/6348/31154 5458/6332/31155 -f 5459/6333/31156 5460/6334/31157 5476/6350/31158 -f 5476/6350/31159 5475/6349/31160 5459/6333/31161 -f 5460/6394/31162 5461/6335/31163 5477/6351/31164 -f 5477/6351/31165 5476/6400/31166 5460/6394/31167 -f 5461/6335/31168 5462/6336/31169 5478/6352/31170 -f 5478/6352/31171 5477/6351/31172 5461/6335/31173 -f 5462/6395/31174 5463/6337/31175 5479/6353/31176 -f 5479/6353/31177 5478/6401/31178 5462/6395/31179 -f 5463/6337/31180 5464/6338/31181 5480/6354/31182 -f 5480/6354/31183 5479/6353/31184 5463/6337/31185 -f 5464/6396/31186 5465/6339/31187 5481/6355/31188 -f 5481/6355/31189 5480/6402/31190 5464/6396/31191 -f 5465/6339/31192 5466/6340/31193 5482/6356/31194 -f 5482/6356/31195 5481/6355/31196 5465/6339/31197 -f 5466/6340/31198 5467/6341/31199 5483/6357/31200 -f 5483/6357/31201 5482/6356/31202 5466/6340/31203 -f 5467/6397/31204 5468/6342/31205 5484/6358/31206 -f 5484/6358/31207 5483/6403/31208 5467/6397/31209 -f 5468/6342/31210 5453/6328/31211 5469/6344/31212 -f 5469/6344/31213 5484/6358/31214 5468/6342/31215 -f 5485/6361/31216 5488/6362/31217 5487/6359/31218 -f 5487/6359/31219 5486/6360/31220 5485/6361/31221 -f 5492/6365/31222 5491/6366/31223 5490/6363/31224 -f 5490/6363/31225 5489/6364/31226 5492/6365/31227 -f 5492/6365/31228 5489/6364/31229 5493/6367/31230 -f 5493/6367/31231 5494/6368/31232 5492/6365/31233 -f 5494/6368/31234 5493/6367/31235 5487/6359/31236 -f 5487/6359/31237 5488/6362/31238 5494/6368/31239 -f 5491/6366/31240 5496/6370/31241 5495/6369/31242 -f 5495/6369/31243 5490/6363/31244 5491/6366/31245 -f 5495/6369/31246 5496/6370/31247 5498/6371/31248 -f 5498/6371/31249 5497/6372/31250 5495/6369/31251 -f 5498/6371/31252 5496/6370/31253 5500/6373/31254 -f 5500/6373/31255 5499/6374/31256 5498/6371/31257 -f 5491/6366/31258 5501/6375/31259 5500/6373/31260 -f 5500/6373/31261 5496/6370/31262 5491/6366/31263 -f 5492/6365/31264 5502/6376/31265 5501/6375/31266 -f 5501/6375/31267 5491/6366/31268 5492/6365/31269 -f 5503/6377/31270 5502/6376/31271 5492/6365/31272 -f 5492/6365/31273 5494/6368/31274 5503/6377/31275 -f 5504/6378/31276 5503/6377/31277 5494/6368/31278 -f 5494/6368/31279 5488/6362/31280 5504/6378/31281 -f 5488/6362/31282 5485/6361/31283 5505/6379/31284 -f 5505/6379/31285 5504/6378/31286 5488/6362/31287 -f 5490/6363/31288 5408/6282/31289 5405/6281/31290 -f 5405/6281/31291 5489/6364/31292 5490/6363/31293 -f 5495/6369/31294 5410/6284/31295 5408/6282/31296 -f 5408/6282/31297 5490/6363/31298 5495/6369/31299 -f 5497/6372/31300 5412/6286/31301 5410/6284/31302 -f 5410/6284/31303 5495/6369/31304 5497/6372/31305 -f 5498/6371/31306 5414/6288/31307 5412/6286/31308 -f 5412/6286/31309 5497/6372/31310 5498/6371/31311 -f 5499/6374/31312 5416/6290/31313 5414/6288/31314 -f 5414/6288/31315 5498/6371/31316 5499/6374/31317 -f 5500/6373/31318 5418/6292/31319 5416/6290/31320 -f 5416/6290/31321 5499/6374/31322 5500/6373/31323 -f 5501/6375/31324 5420/6294/31325 5418/6292/31326 -f 5418/6292/31327 5500/6373/31328 5501/6375/31329 -f 5502/6376/31330 5422/6296/31331 5420/6294/31332 -f 5420/6294/31333 5501/6375/31334 5502/6376/31335 -f 5503/6377/31336 5424/6298/31337 5422/6296/31338 -f 5422/6296/31339 5502/6376/31340 5503/6377/31341 -f 5504/6378/31342 5426/6300/31343 5424/6298/31344 -f 5424/6298/31345 5503/6377/31346 5504/6378/31347 -f 5505/6379/31348 5428/6302/31349 5426/6300/31350 -f 5426/6300/31351 5504/6378/31352 5505/6379/31353 -f 5485/6361/31354 5430/6304/31355 5428/6302/31356 -f 5428/6302/31357 5505/6379/31358 5485/6361/31359 -f 5486/6360/31360 5432/6306/31361 5430/6304/31362 -f 5430/6304/31363 5485/6361/31364 5486/6360/31365 -f 5487/6359/31366 5434/6308/31367 5432/6306/31368 -f 5432/6306/31369 5486/6360/31370 5487/6359/31371 -f 5493/6367/31372 5436/6310/31373 5434/6308/31374 -f 5434/6308/31375 5487/6359/31376 5493/6367/31377 -f 5489/6364/31378 5405/6281/31379 5436/6310/31380 -f 5436/6310/31381 5493/6367/31382 5489/6364/31383 -f 5520/6406/31384 5507/6407/31385 5596/6404/31386 -f 5596/6404/31387 5521/6405/31388 5520/6406/31389 -f 5522/6408/31390 5510/6409/31391 5507/6407/31392 -f 5507/6407/31393 5520/6406/31394 5522/6408/31395 -f 5515/6412/31396 5516/6413/31397 5531/6410/31398 -f 5531/6410/31399 5529/6411/31400 5515/6412/31401 -f 5519/6416/31402 5518/6417/31403 5528/6414/31404 -f 5528/6414/31405 5527/6415/31406 5519/6416/31407 -f 5508/6420/31408 5509/6421/31409 5524/6418/31410 -f 5524/6418/31411 5523/6419/31412 5508/6420/31413 -f 5526/6422/31414 5513/6423/31415 5519/6416/31416 -f 5519/6416/31417 5527/6415/31418 5526/6422/31419 -f 5519/6416/31420 5513/6423/31421 5525/6424/31422 -f 5525/6424/31423 5523/6419/31424 5519/6416/31425 -f 5508/6420/31426 5520/6406/31427 5521/6405/31428 -f 5521/6405/31429 5509/6421/31430 5508/6420/31431 -f 5511/6425/31432 5522/6408/31433 5520/6406/31434 -f 5520/6406/31435 5508/6420/31436 5511/6425/31437 -f 5523/6419/31438 5524/6418/31439 5518/6417/31440 -f 5518/6417/31441 5519/6416/31442 5523/6419/31443 -f 5508/6420/31444 5523/6419/31445 5525/6424/31446 -f 5525/6424/31447 5511/6425/31448 5508/6420/31449 -f 5527/6415/31450 5528/6414/31451 5516/6413/31452 -f 5516/6413/31453 5515/6412/31454 5527/6415/31455 -f 5512/6426/31456 5526/6422/31457 5527/6415/31458 -f 5527/6415/31459 5515/6412/31460 5512/6426/31461 -f 5529/6411/31462 5530/6427/31463 5512/6426/31464 -f 5512/6426/31465 5515/6412/31466 5529/6411/31467 -f 5529/6411/31468 5531/6410/31469 5517/6428/31470 -f 5517/6428/31471 5599/6429/31472 5529/6411/31473 -f 5542/6430/31474 5532/6431/31475 5510/6409/31476 -f 5510/6409/31477 5522/6408/31478 5542/6430/31479 -f 5543/6432/31480 5534/6433/31481 5532/6431/31482 -f 5532/6431/31483 5542/6430/31484 5543/6432/31485 -f 5544/6436/31486 5535/6437/31487 5533/6434/31488 -f 5533/6434/31489 5545/6435/31490 5544/6436/31491 -f 5547/6440/31492 5546/6441/31493 5538/6438/31494 -f 5538/6438/31495 5539/6439/31496 5547/6440/31497 -f 5526/6422/31498 5512/6426/31499 5538/6438/31500 -f 5538/6438/31501 5546/6441/31502 5526/6422/31503 -f 5530/6427/31504 5529/6411/31505 5599/6429/31506 -f 5599/6429/31507 5606/6442/31508 5530/6427/31509 -f 5606/6442/31510 5607/6444/31511 5548/6443/31512 -f 5548/6443/31513 5530/6427/31514 5606/6442/31515 -f 5533/6434/31516 5511/6425/31517 5525/6424/31518 -f 5525/6424/31519 5545/6435/31520 5533/6434/31521 -f 5533/6434/31522 5542/6430/31523 5522/6408/31524 -f 5522/6408/31525 5511/6425/31526 5533/6434/31527 -f 5535/6437/31528 5543/6432/31529 5542/6430/31530 -f 5542/6430/31531 5533/6434/31532 5535/6437/31533 -f 5536/6446/31534 5544/6436/31535 5545/6435/31536 -f 5545/6435/31537 5537/6445/31538 5536/6446/31539 -f 5545/6435/31540 5525/6424/31541 5513/6423/31542 -f 5513/6423/31543 5537/6445/31544 5545/6435/31545 -f 5546/6441/31546 5547/6440/31547 5536/6446/31548 -f 5536/6446/31549 5537/6445/31550 5546/6441/31551 -f 5513/6423/31552 5526/6422/31553 5546/6441/31554 -f 5546/6441/31555 5537/6445/31556 5513/6423/31557 -f 5530/6427/31558 5548/6443/31559 5538/6438/31560 -f 5538/6438/31561 5512/6426/31562 5530/6427/31563 -f 5548/6443/31564 5549/6447/31565 5539/6439/31566 -f 5539/6439/31567 5538/6438/31568 5548/6443/31569 -f 5607/6444/31570 5612/6448/31571 5549/6447/31572 -f 5549/6447/31573 5548/6443/31574 5607/6444/31575 -f 5565/6453/31576 5566/6473/31577 5551/6449/31578 -f 5551/6449/31579 5552/6450/31580 5565/6453/31581 -f 5567/6475/31582 5565/6453/31583 5552/6450/31584 -f 5552/6450/31585 5555/6474/31586 5567/6475/31587 -f 5560/6457/31588 5574/6458/31589 5576/6455/31590 -f 5576/6455/31591 5561/6456/31592 5560/6457/31593 -f 5564/6461/31594 5572/6462/31595 5573/6459/31596 -f 5573/6459/31597 5563/6460/31598 5564/6461/31599 -f 5553/6465/31600 5568/6466/31601 5569/6463/31602 -f 5569/6463/31603 5554/6464/31604 5553/6465/31605 -f 5571/6468/31606 5572/6462/31607 5564/6461/31608 -f 5564/6461/31609 5558/6467/31610 5571/6468/31611 -f 5564/6461/31612 5568/6466/31613 5570/6469/31614 -f 5570/6469/31615 5558/6467/31616 5564/6461/31617 -f 5553/6465/31618 5554/6464/31619 5566/6452/31620 -f 5566/6452/31621 5565/6451/31622 5553/6465/31623 -f 5556/6470/31624 5553/6465/31625 5565/6451/31626 -f 5565/6451/31627 5567/6454/31628 5556/6470/31629 -f 5568/6466/31630 5564/6461/31631 5563/6460/31632 -f 5563/6460/31633 5569/6463/31634 5568/6466/31635 -f 5553/6465/31636 5556/6470/31637 5570/6469/31638 -f 5570/6469/31639 5568/6466/31640 5553/6465/31641 -f 5572/6462/31642 5560/6457/31643 5561/6456/31644 -f 5561/6456/31645 5573/6459/31646 5572/6462/31647 -f 5557/6471/31648 5560/6457/31649 5572/6462/31650 -f 5572/6462/31651 5571/6468/31652 5557/6471/31653 -f 5574/6458/31654 5560/6457/31655 5557/6471/31656 -f 5557/6471/31657 5575/6472/31658 5574/6458/31659 -f 5574/6480/31660 5559/6481/31661 5562/6477/31662 -f 5562/6477/31663 5576/6478/31664 5574/6480/31665 -f 5587/6486/31666 5567/6475/31667 5555/6474/31668 -f 5555/6474/31669 5577/6485/31670 5587/6486/31671 -f 5588/6489/31672 5587/6486/31673 5577/6485/31674 -f 5577/6485/31675 5579/6487/31676 5588/6489/31677 -f 5589/6493/31678 5590/6494/31679 5578/6490/31680 -f 5578/6490/31681 5580/6492/31682 5589/6493/31683 -f 5592/6497/31684 5584/6498/31685 5583/6495/31686 -f 5583/6495/31687 5591/6496/31688 5592/6497/31689 -f 5571/6468/31690 5591/6484/31691 5583/6483/31692 -f 5583/6483/31693 5557/6471/31694 5571/6468/31695 -f 5575/6499/31696 5585/6500/31697 5559/6481/31698 -f 5559/6481/31699 5574/6480/31700 5575/6499/31701 -f 5585/6500/31702 5575/6499/31703 5593/6502/31704 -f 5593/6502/31705 5586/6506/31706 5585/6500/31707 -f 5578/6479/31708 5590/6482/31709 5570/6469/31710 -f 5570/6469/31711 5556/6470/31712 5578/6479/31713 -f 5578/6479/31714 5556/6470/31715 5567/6454/31716 -f 5567/6454/31717 5587/6476/31718 5578/6479/31719 -f 5580/6492/31720 5578/6490/31721 5587/6531/31722 -f 5587/6531/31723 5588/6532/31724 5580/6492/31725 -f 5581/6503/31726 5582/6504/31727 5590/6494/31728 -f 5590/6494/31729 5589/6493/31730 5581/6503/31731 -f 5590/6482/31732 5582/6491/31733 5558/6467/31734 -f 5558/6467/31735 5570/6469/31736 5590/6482/31737 -f 5591/6496/31738 5582/6504/31739 5581/6503/31740 -f 5581/6503/31741 5592/6497/31742 5591/6496/31743 -f 5558/6467/31744 5582/6491/31745 5591/6484/31746 -f 5591/6484/31747 5571/6468/31748 5558/6467/31749 -f 5575/6472/31750 5557/6471/31751 5583/6483/31752 -f 5583/6483/31753 5593/6488/31754 5575/6472/31755 -f 5593/6501/31756 5583/6495/31757 5584/6498/31758 -f 5584/6498/31759 5594/6505/31760 5593/6501/31761 -f 5586/6506/31762 5593/6502/31763 5594/6507/31764 -f 5594/6507/31765 5595/6508/31766 5586/6506/31767 -s 2 -f 5506/6539/31768 5597/6510/31769 5552/6450/31770 -f 5552/6450/31771 5551/6449/31772 5506/6539/31773 -f 5551/6533/31774 5596/6404/31775 5506/6509/31776 -f 5597/6510/31777 5598/6511/31778 5555/6474/31779 -f 5555/6474/31780 5552/6450/31781 5597/6510/31782 -s 4 -f 5531/6410/31783 5516/6413/31784 5561/6512/31785 -f 5561/6512/31786 5576/6536/31787 5531/6410/31788 -f 5528/6414/31789 5518/6417/31790 5563/6513/31791 -f 5563/6513/31792 5573/6514/31793 5528/6414/31794 -f 5524/6418/31795 5509/6421/31796 5554/6515/31797 -f 5554/6515/31798 5569/6516/31799 5524/6418/31800 -f 5509/6421/31801 5521/6405/31802 5566/6534/31803 -f 5566/6534/31804 5554/6515/31805 5509/6421/31806 -f 5518/6417/31807 5524/6418/31808 5569/6516/31809 -f 5569/6516/31810 5563/6513/31811 5518/6417/31812 -f 5516/6413/31813 5528/6414/31814 5573/6514/31815 -f 5573/6514/31816 5561/6512/31817 5516/6413/31818 -f 5576/6536/31819 5562/6535/31820 5517/6428/31821 -f 5517/6428/31822 5531/6410/31823 5576/6536/31824 -s 1 -f 5514/6518/31825 5600/6540/31826 5562/6477/31827 -f 5562/6477/31828 5559/6481/31829 5514/6518/31830 -s 2 -f 5598/6511/31831 5601/6519/31832 5577/6485/31833 -f 5577/6485/31834 5555/6474/31835 5598/6511/31836 -f 5601/6519/31837 5602/6541/31838 5579/6487/31839 -f 5579/6487/31840 5577/6485/31841 5601/6519/31842 -s 1 -f 5602/6520/31843 5608/6521/31844 5588/6532/31845 -f 5588/6532/31846 5579/6537/31847 5602/6520/31848 -f 5603/6522/31849 5609/6523/31850 5589/6493/31851 -f 5589/6493/31852 5580/6492/31853 5603/6522/31854 -f 5610/6524/31855 5605/6525/31856 5584/6498/31857 -f 5584/6498/31858 5592/6497/31859 5610/6524/31860 -f 5540/6526/31861 5514/6518/31862 5559/6481/31863 -f 5559/6481/31864 5585/6500/31865 5540/6526/31866 -f 5541/6527/31867 5540/6526/31868 5585/6500/31869 -f 5585/6500/31870 5586/6506/31871 5541/6527/31872 -f 5608/6521/31873 5603/6522/31874 5580/6492/31875 -f 5580/6492/31876 5588/6532/31877 5608/6521/31878 -f 5609/6523/31879 5604/6528/31880 5581/6503/31881 -f 5581/6503/31882 5589/6493/31883 5609/6523/31884 -f 5604/6528/31885 5610/6524/31886 5592/6497/31887 -f 5592/6497/31888 5581/6503/31889 5604/6528/31890 -f 5605/6525/31891 5611/6529/31892 5594/6505/31893 -f 5594/6505/31894 5584/6498/31895 5605/6525/31896 -f 5611/6529/31897 5550/6542/31898 5595/6538/31899 -f 5595/6538/31900 5594/6505/31901 5611/6529/31902 -f 5550/6530/31903 5541/6527/31904 5586/6506/31905 -f 5586/6506/31906 5595/6508/31907 5550/6530/31908 -s 2 -f 5507/6407/31909 5597/6510/31910 5506/6539/31911 -f 5506/6539/31912 5596/6404/31913 5507/6407/31914 -f 5510/6409/31915 5598/6511/31916 5597/6510/31917 -f 5597/6510/31918 5507/6407/31919 5510/6409/31920 -s 1 -f 5517/6428/31921 5600/6540/31922 5514/6518/31923 -f 5514/6518/31924 5599/6429/31925 5517/6428/31926 -s 2 -f 5532/6431/31927 5601/6519/31928 5598/6511/31929 -f 5598/6511/31930 5510/6409/31931 5532/6431/31932 -s 1 -f 5543/6432/31933 5608/6521/31934 5602/6520/31935 -f 5602/6520/31936 5534/6433/31937 5543/6432/31938 -s 2 -f 5534/6433/31939 5602/6541/31940 5601/6519/31941 -f 5601/6519/31942 5532/6431/31943 5534/6433/31944 -s 1 -f 5544/6436/31945 5609/6523/31946 5603/6522/31947 -f 5603/6522/31948 5535/6437/31949 5544/6436/31950 -f 5539/6439/31951 5605/6525/31952 5610/6524/31953 -f 5610/6524/31954 5547/6440/31955 5539/6439/31956 -f 5599/6429/31957 5514/6518/31958 5540/6526/31959 -f 5540/6526/31960 5606/6442/31961 5599/6429/31962 -f 5606/6442/31963 5540/6526/31964 5541/6527/31965 -f 5541/6527/31966 5607/6444/31967 5606/6442/31968 -f 5535/6437/31969 5603/6522/31970 5608/6521/31971 -f 5608/6521/31972 5543/6432/31973 5535/6437/31974 -f 5536/6446/31975 5604/6528/31976 5609/6523/31977 -f 5609/6523/31978 5544/6436/31979 5536/6446/31980 -f 5547/6440/31981 5610/6524/31982 5604/6528/31983 -f 5604/6528/31984 5536/6446/31985 5547/6440/31986 -f 5549/6447/31987 5611/6529/31988 5605/6525/31989 -f 5605/6525/31990 5539/6439/31991 5549/6447/31992 -f 5607/6444/31993 5541/6527/31994 5550/6530/31995 -f 5550/6530/31996 5612/6448/31997 5607/6444/31998 -f 5612/6448/31999 5550/6542/32000 5611/6529/32001 -f 5611/6529/32002 5549/6447/32003 5612/6448/32004 -f 5562/6535/32005 5600/6517/32006 5517/6428/32007 -s 4 -f 5566/6534/32008 5521/6405/32009 5596/6404/32010 -f 5596/6404/32011 5551/6533/32012 5566/6534/32013 -# 10671 faces - -‰PNG - - IHDR…y#tEXtSoftwareAdobe ImageReadyqÉe<PLTEªJl)¹wV./'ÈtO¯L3QON—ˆMFnw*KRmVGך ¹zeptfHŠLJg¬YA“†oŒ6$«ˆ/ºgF©fGˆup»„gE#Py…ªtW©iU–µ¼˜eF†¥«uf3%6#«vœ¦(0f5#V4#ˆU5wG5˜U6¯ÉÏX†ŽˆWE‹*˧ąXšiS4«wd4˜XE·¨sˆH4U%w5!Ç‹uz¥ªWE$gF%u—›¼ˆtgdb«h8i•šwE'¦”f¸iUFÎßä®5%3Wbˆg4 ½ÂxU7FE6#nF&‰­³E6#hE4ˆE'F3%$:doÇY6¬$fV8yvvX$¹uI©²·6@«¢R—f6˜H2eŒ•wU(—v7µvÇ{_V5‰fG‰xS˜wX†vFUÊ”ze‡‹‡v7UI3hT'©uFF$ˆQ -«šr˜xDU("XS:FB&»ª§–I(›A(•fDˆ›¢5Ï­s¡ŒcñÙOtjh»xs·hef82‰fW‡U(˜WU6#Ê–fUBZE©idƒHD›¥ªvsj|„‡…WV7<.¶›vÙÆ¨ 71\3Œµ¸IY`Y8.WS'–­´dx|˜HEe(z83‡~‡e(F?G÷Å1ЬC_ZZFb^G2BLX;85vŒ‘µšaZޤw'¿&”ZeÀW?!a…z&!v«Ã–U'žw§yqikm£Z½kpsks•i%«Y\טiÏŒgЛv‰JO—IT‡t'©…r!¢œŸ)1Œ¦–9:JR>ݺ~y–ˆK{_r‹i”‹Ã»¼¬kmç¹483p¥ ZtpZ)*8_[)+F)*e)1#׊u™µ¨ØyO‹ÂÚ¤ 1))Œµ­Å¾zž ƒ?[¤o•IDATxÚì½]h[i–6ú¡m0ÊŹ0ƹ¤˜`oÀäpܘÞ tµðÄX¦Í`оÐMß6Ã$ﺸù.’‰F6BívŒ@BÑfzòÉ(‰c3iƪT(“²¬ON,›†±lwh8ëçÝ[r~ªRÝI*•¼kK[?–m•+öó¬g=k­ÿV“!C† 2d|rñßä@† 2dÈ@† 2dÈ! € 2dÈ!C2dÈ!C†$2dÈ!C† IdÈ!C† ’È!C† 2$!C† 2dH C† 2dÈ@† 2dÈ! €Œ=4-Ô ‚Z&?2dÈ@ÆÇ§-R VˆdÒé4rùS‘!C† Id|ÜQ -V‚Ál­¤i_iéö €½`Pþ`dÈ!Cµl!›uÑ¡äµRöÑü‡¥ƒËZ°R ¶‚•Lú$SKï¥ÓZ­̤åÿt2dÈà“×d@ð?¥¬•{zÊ¥žüWZVV–µåRiù§H -N2™LPÓ2€÷(þ§3Joœ´ƒ5 Éÿí2dÈ! À‡Ñ»ï6ÿ/Pú_p)ù|¹ ø¯!(+e%_‚ûJ¹”öhxk­ ZêJ¾ˆžNŸ¤÷Ðó—®ü NéöÉÉÉéFm#]ˤÛðpCþÊÈ!C†$xä’ÑÞNY££­·/¸\@° -¿’_Îâ (çóJ~Y)ÛGiY+k°M«(õ@j '´ØkøT°rúaýÌ*ˆñi •`œœ@özzZ;9MŸÔN7àcÒ (C† ’|ÐqêÉ%s9`êhjttwjjôsŒÑÑX,–¬×=†‡Ÿøü/üúù¼ ÿrÄVO®ë÷”€(x)ÁgEÓ€”–ƒÿéÚWtÄsHtBçƒÁÕhwZÁ:?&úA¸„œÒÿ<§ké 'è!C† ’|À±éÉ %s5-#üíàîÆbÿžþüp”Ÿþá4 L'èQO™q_Q®(ËÊr ®JOI++(,k"‚Èè7Lð˜@0Ø$P ¢@ £Ö{û‰3™`«þ™`ëý€üí4ÀþÚÆéÉÉií^T‘¿52dÈ! ÀÉþÍ9OÝÈÖ*Z @~twhñþóÏ“»õëõ؃þ ±=?š¬cüt¹ì*¸\®|>Øg®”]J^yìR\Š’Uà®Я!ö ÐÊZO©LÈÏ=©“ Ã?\ñ¢•”<œ—Ë -}øCðÝÊïÀT2iD~ i2¶òk§è89Ý8ã´Öz ­€2dÈ! À‡ þÉÜÔh²¿ÿ&\jéÌÜ(ÄÔèÔîèîîîçõÏñ†qb÷Kº³[_[ë÷`Ô=ž7¬Ë»òÙj–(1Hÿ#Wü#Ù.î¼¢)eE â¢d€T­‚åüÓ¼AN€²†4€Ô„r©L¯ê€.÷_*(•´Òrpü`©’I'2mÆÿZ À Uà”NŸJ'  2dHðá¡ÿP.—LÆFGëÈ §ÿS>[´Ü¦eYYËJm.õÿaíAÿ—_Öë±ë׿üòf¿@ ^íY[º¹´tç¡'•òx’o LšÙ‚+;Y̺ò®+‚¸\W>âÊF\‘È㈒…~Y))J™¢~©´…f€21€Nþ ñ+¤üÑK%ƒ6<² Þ+¥%HÏô”à™+È–QKP–KWÞ†0ÐÒ`(%¬µ -bû¤û?½Hjpÿ4-€ 2ÞG´è"C€ïHó§rF. Çç±Ý!Hó5ø·Sñ|Þ‰Ñ]Uà€´€|VéÍ¥Pö® üÛ~òPÒßC5À{8ð 'œÄ‹9”ò -¾P+¡I`Y)küʾdã/UçµàrI«hí -¼£DºÝpŽë þ/ÚNÑ qdÈñ>à_â¿$oª1…ø?54•K&ÑÛgd‚fªQ<±Üîh >KÖ“ÏÚZ?Éýˆñ»»£Ÿï"-È!ðÄú—î,}¾]®?¸ÙÓãÙ5 ÕÒ-ý;T€³â¤Ûå6Íf6ë‚>PÄ+DöéS¸‰` ¢iY ‘|©„¦­ÔC¾€eê`@…Í, ìSà-NãIolÐPÚ˃:AM…Øiˆøä×WÒ'øšZk -o( ¤±Úàâo}ZѰð¤Ý~âQÀ -ÐÔ^S%¡·ŒEþ^É!ãíP>dHðÚÌÊ7…1„Å~ûÝd*åFû|k>ê2“¹ÜPl(ËårØh‡ÿ:ž’±ØnŒ<»@ÆŒþþþýý»©ª1Wte“Œ¤ïµ5ÓšÕ„ÐMÝl›Íª°H@ΑbñiV‰¸”å à~ú{J=Á’°”É À uöPþ xGø4Ãkyð\ÉØZ -Ò•ô0|úWðt‚°åƒôŸºÞïFºRÂþ„­6‹ŸEÿˆ– -’¶döíö+Kx=¥ÿfvÔÈ$¸‘Îpë­ À,nÀ4M0“À!HËøÌWAnøþçVÄk… % AÄw2ü-‰°­e¥”W²EwÓ„¿½2d|üÀKI^þ€ûp%ðš%MÓc$;‡MW}Hþ‡bS±\,™¬'ëF½Î7Iƒî$‘Ôëu T#HzÖúçæ\ÆZ¬'ë1,Ã0|¾$~×K5t˲t]`j6ÝîìÓ¬»˜ug‹Jäi¤›0”EäËŠVÒJem9(:àÑÆBF}’ý+Á*ô *ïçãI½i‚}äpb• ‚ ZbP©Ðgà4?öó!Zï¾" 2B|aY{¡;øMÎNÛ¯ùQS àô¤Fƒùî -ªqŠA»vº—n#øŠæd2{™½t>܃ó{‚è~V¶ðH$g[‰ -?l^—J°G㩊ËÔW‰>¸(—”l¶ˆ iº'›ò7X†Œ @²I^Dÿ¡!ü9ÿOÆF±Ýo4²'²Ør -Mÿ€ÿSSÀ€Àç$^˜Ô=××<bØ*vàñUb†å1©ÀŒ¤¾øè+‡œ²&à¿…À4ÝÍb$[œ p5«(O#ØQ\@\šHkõ5¥„ÈO†@Ô¨ÓúLZLãO;°_¡çY€$ÿÝC{€ -ìm´ñ•‰Š( oƒô{âXK¨h«%l3@} ’)e•à^†•…ôñÉë~ϸ @Üe-€¸êTAØ;…÷ÒN¿c”¼‹Ót¥ÔJÙ ¢%‚Z£\ Ò€¶€$ʧZ0‘ÑÚl…lóþÐïȉ¿¢”ø–æ+F²M"M¸d›R -!ã£EÿVÇ()€$]Ðà?EðÏMMÀŽò¨¿Xr7,&Ö¥³IÀø?b ÉÐ<Áuˆ(~‰×É€Ê@2›Ú…/6šK& ÒŒdr ižÀ«ˆªnºjYq¥3<À[t+‘fÿÙbI@ ‡(H ý/• +¦Õ¸7ˆ}ÅF€LrÉ+|¯"2GàÔŸOôíÓ–ðô'úÆeëµ½Ô4RàÛÂ;·G6Cb•Lûu×þÑX£~®„‚‹DG ÃOâ4}²‡SÛ™V;Ó®¥Û§½³J«’n4µÊY»qÖHoµ®UÎZ­³F©¥%Î$d6‰ÌiòÿD&³%%•Q-É+®H6ò8âB:Ä%‹ ¿YuO6ñ.ÞÈße2>NÐjµ„PÖ$€€Ì=7EÛŸï.œ ûÇy>£˜àb'“Sn¶¢õxrÈr¤8 >!6Ú¡, Ð0 O=KÆõös£±ØèîT åž0º;úŠ÷¥[=®RÈ€…’€×;[t»›îæl±‰D°1;!©-þúcv["R põœLdÿ2¿Ðú3á³ãlаÞô CS|EúÄNì/– ¦÷Úgµï’ÐøçdÿÄÒÔ€³‚köGÚ§mxa˜ -­t» _qÏÚ‰Db«²Õ®´g{-|y°•HŸ&*gTµ¶©öÁc‚´XY¡~GrOD"Y€dg«däJ€Ûœ„²üm–!ã£$­úsȨ̀IRs©9€f_ Ò_’ÀŸÿ\0êÉQuy°V«X€ã´hhh(G6€WÄîŽ -äZÁÿè|‡\î*ÿªñ$ ßk7ç™ë¿$€æ\õð`ŸVãÅbÜíUâMoÈ2ØjPy€»éž}QªaQ B†÷"ø$ S 8ƒòGôéÿ{W{oÜŒå­d.ö9gþCÂÙ7Ô)çOa é«û¦R¿LLÅȽÏ&V†Èëf£¬+`w”ãA Ä|ÿxÏSÇõ1 ¼[ïÿ—ß,--y¾c‰Ði­ã\mÐÍ@ØŒëà—×t{Ý^/f±^ ³MwÓ„4÷¸°’ Ö* -/ç9|ÌÞ›tÓ‚î{é 6œlœKØI`£ÀIÆÒ¢ç0Ì|—Àk:Á#ȉ@>„öùÿîÚÙiíŒîµ9Ò³D"ó«D"Ѩ%ή±µ§ÒNàâ6 -Áà^p‹J¸ I+± ¼b  qEÜEw6 ?-3k6›j€[e/€ Щú¿P8ÆCþˆ>`V›ÕÅÃÅýý;6ç®æ<´Áw”[øóuhаPÛHF,Y8ÚŠj?J> Gø?$xÀPW_çüâGýŽêoKœÞSø|VÊ‚Œ}2”4¾ñà_€pÕðE£98ÐÜgk¶#Å+Zàù¡!¬øp0ÝÀû! -àYëðüÏž‡Kï\ºwx¯^7þj{ê©FŸÖhX΢8êl¢O`V‰ Îdgqò.Ò~1˜úx @·qFúoPÓàI¦£ˆ:B&“xí$`ZÔ>=·&-'èE$þñâo0äÿmœpÚ.€³Ìÿk­­Vålë¬Òj%Ò[¼Aîu+güÛ*Ç~ÈñÉ¢ük/èÿhh¶Ç’¼sp÷.áÿÔPàý½¯ÓÃcÄv?/ÇFwc×ëõëý›K…¹5QÏ%ÚÿÐÐýíÂ>>¦Ø¹çK¹$ܱ¶áÃws>"Dða—)`JP‰sÁü™‚Ñßg )ðßðxR #¿yðàõÝÝ¿õ,--~½z¸ºZ½Ŭ@„ÿ§‘HQQÜ‚ -̺Ýn³iÎÎÎF Y~Ú$”é Â1€ö^èCƒ°âßÞ8=áiÂ(ÿÓ  ï õí““ó÷ôiúô„ň®çlÈëÓ üfí½v;ÑÞÛBØooí%ÎÀxï1¼cþï•ê¾ 2Îiþ礄ægƒíA’’¼C0tw(÷ùhltè··•šœ›ƒ4ûóÑ]ÏœÇHzæ -…¥Í9OÒÇSýbœ·óiHÔôÙæÙ}çû£hŸÔEñ>êƒ,žŒ€QqqÊÿ™H¼ -ÿñew}I¦XS e‚©Tÿ.þ2YÿÛú¥ÃÕßÞë÷ì¦Rïî·¢ ;;ûTñº¥8ût6òø@0¨)î§îÙæSš.$ä‚’B#ùQ 8©AºßE€ hpÒµÏ'ƒJ<6´_; òü“Úvúã¨4—A€4ü6‰ -Íð âF€’BS‹‘,’ìØH´ šòÜ -fÍ£&¡_† / ­ÖKé?a?›ƒ„ÿ IÞ!ˆâ¼½ÏïF£ê{zSjs.eÌ­åêkù‚󤪓›››s–Çñ'“1Àÿùý§DZ9=÷î ƒŒ{j{ãâ>ÊüÀ Üý9'x‹BL #æ à ¼>Íç: I ô÷xêk<øòúßþçƒÃýÃþÝÞÍ%£ž|wÀ¾£Df‹‘ž `=V4ýRÄíÆ†‚§‘’2[,>}Šä@Ik%rÖ3'i†Þ æÎ¨lœ´Ó§jðZàOä÷kÓpŸv&LPq"RTéŸbƒ»¨Á›P”Ù§E !M…v Pƒ´-¾7Hq_† ¯ÿs}ÿµóI@û_k°5ÆIÞ¨E'ñ©ÿw"<ñ^Þ’¥ªc.5µ»æšÛ5Öªæ\ -.ÿy)oŽ…y;@Gì -õŸâVí­¤ÏPQù>èC$‡c%ÈÂÝ(|Òл „òmw!þˆ$!Ê_•$€G ÿ¤¬¥|P¯ÿó—Kž-ÏozûûckVý=üžp @¿@ISŠO‹€úZ¦Bz„Þ§µ´>¬”*ð¢b‘¶ç4‹Å¢»YÄaú@ŠJå4 y9n‚L}ãÕ€w ÷¯ .Ú+ÍfDCæáôWв¯)æ‹ÝzÔ±Wœu+•<¿[™ãË!ã þ¬µÎ-:¯ü`àX€wJN'‰ðÝ»á‰ÿõ^àß² ËÊíÆòs±z2ÿò±‹¹?sÖÏè>D•ÕzƒýzÆ7ìÞ'ÜÆ2@4ÉjA‚€¢-P4гã.Êðø[ü2oˆH€-“½½KýõØZ¿ÇÕ»´[˜ÜŒÕßûlº–RŒàFA©cgø‘Zíi ïZ0,QpLã¶!ÀûL±‰A¶YLdœñ¨¿¢ -p½™“Ót[‹T÷¬Ö¢q}%Åm}c¨Öz‰¾%PˆL¢‚cü–#"Í—À/C†ŒWå.¯WZ]àüÀ³ã³ãÁV/ƒm»Ðh\ƒ‹üɾ  G ˆwþvšV*¥¦ŒØh²šŠ›@,Ë“òX¢¢ïN><‘4×\4éÏq¦nD¹{Ÿ+|¤ÿçð…¤ €$àÏb@ ŸbÂ èØ §“A4éÀ*ýÃù‘ÈîÑžGO'£Â°G{|HðuG”kx Esw±–p—½ŽîOøbX¸‹ÀÖð½x“À{õ¤è=ÆZÿp€¥‚k÷ôo]_Ûü×¹›Õ9`?î/r°’®e*4Aà+' P®_¿‡§ËJ6˜NÊ·Ïø¦[ ä¿-f,kئ¬h™JgôEŠfÜŠÊ_%2d¼9ø·¾ëãçð¿[8nµp£Øà1lõŸáÿZãÚ‘TÞˆE½îðDôþ•7þS¦5 -ðŸÊ¥ªU,þc̦H „Þ"A?É€å;dòvÞÉÕUCý†x€ø9|hˆ -Ñÿnn¨{0 Ž-ÀÑrâ[ýÿø¶<*C8ø¢I¨qÀž €ù?ÎøãÓ 0ÕÙÐ!¤DñË»A€@Š+ Àæ°\áY›»Yè-l®­y®__[s–zÇŽZFòCÿÔ´¯¨°±—N ¨À)M"v¤Í MIG£€ 2d¼h½št­rRÿó3€áÒ>FР"€ÿGöÅï¿æ—?á·I¼ÞY¯;âL„ßUªàž2æ¬äèîܤ•LMšæœ9§§à ‹îÁÒ@ -RyË2ÄL>ðâ®xœ´uUh›Ÿ -QŸ%|ÎP l+øsîüH€?rƒ`¬ky]˜0à=©¨ÌÙJðpó_ÍÍÔÚÚææR¡wóËëýý˜üÒuõðláÉýûׯ؉rO0¸•NÀ>}¤(¤Ûm€ûŠØ-ˆ§"Îõ‘¿72dÈø Á¿õ -@óéu/Z»€óú¿¿AÇQÂ?3smFþœß˜DÜîHiÖë}GðoT ÃLÅvcsÙÀòþ©žæª)rPÊm8u}!ÐÍ£Ž"`—(ý§5¾ø”ð%£,ãGéÕr̆rbŒ ÐbCÝÁ"¨ðn”Yr -ßXŠ, -ß&Y¶Xó¬ÍmnÞ,L>X{pçÒïÿãhðÿÉ·}×?ì -ÁJ¥}zÖnâCö_ÁK¦’NW0óßã"@&ãÎTNäo 2Þ8Ùÿa/í’ük/—¨pvL€A1àK@ð4sDIÞˆÌκ½³%%2û.ÞÁTÌÈå,#¶k²Fr.;Y­š\ÿ·R:’=EÈ?G\À²ÉÔÚ÷ˆ@þ‘1aLºÕÿh‡°€Ú¢ìj  ºKfÀ\g¨0`~”îß n/ˆ:_Þ™,æ&w+ò=Ç37àjaéÎþÂö·ÿô_ß~Ûw¡¯ïÃþ·PI7Ò‰ôÙ^¢¨ ] " H‹åÃp~šÕ2ò—F† •ðüï^þsΠбà -@V:€Ü€èùÿÑÌLbffæhfLþ°ßˆp—JŠòö¿ÿènn*¦ÖGc©|ÁWßÌ -èþ3÷኷fÊÜ4M| €j!¤«F@ ÀM àoLð3€vû¬H´Û‰t퀉t…V ìQû_%½—ÑL¥$gdÈñŽ€nàKK€ý± wP0€AÛ@Ç5? ¿ПCþøßÀéò³î€·]ÅŽ%cSSõÜn²šw%“U—«PÈV«Íª¹©£ ŸpŸûl|ż~‚n‰:@ ûy„О$¿QÚ¶ ÚÁ¨hà‰@6`/ÀŸi< ÉýQžt—Àÿn®³vîFÅL ®àˆBlD= e©ôþT•ÞïÚæd¡wå`{áö…¾/޾¸õ€¾úý¯¡ø¿…ãú12[iZ.„Uê *Š)ûûeÈñ–á¿uþÏ è^Œýÿ˜üŸî‹M@Î â°ßÏð?63!ÿ¼`vÖ= 4àmãÿh,VÅR…|5–ÜÌþg&± -¢Œ.%¼ö–¥Ïa-³UU©º?©½j&Ø'”÷íîÀ=§>Rvß7øœ±€Tpö¢ÿŒ8ÿç?ðÿ]v€»Ü `XhR`£‚eKÄE°î€†€¹þÍB¯ë`ûùþ·¦oxòäÃn8…äðÿ¬‘Hïm3ר5¡7öiŠ&ó2düXo½!#8ßx~Ó8H Õ`Ð `K,øgì°@ª=˜ -à(‘·LR±Ýd,¶ér¥Fs“yÀW¡Ø -*þ›LðŒå[!Ǧ@ùŸn¹Ê Œ -q¿3´ûôçyp p&@4gw âãÈŸ»¹?cöæë»}û³'x3@(@£ ‘èi8ûÓé`Pûª$ó2d¼1h½Bh½î•´þ¼õâ}'(ñÇ@g¶òÜí¸Öðùl á€-©üÕ€ŽÈÛ%§ssžÏc“ÿSI€ÄW6[ÈÜÕI¶˜¶À4Ñ ˆ-¤±Ûu@}\ù3Á~ÀG]Ídñ§Aø"èØHžÀ(•ø‡¸@{îÝ‚giL€Ð°p7‡@€ü9”*ø-Ι:¾½ì\œ«N - _܆èC -ðí³'}·>p#@ñC9«lU°'p¸> (_dÈñæ@í;þ_-8¬á…%4ðxðxðLŒ„»]øé‚ò?]f¨ Bþ¯øk ÀlÄ; ç·ú­çææ’±Bjw*•Çp±P(T±p’¦„ýØ`+ÌTòùOØåNÿ Ý €Æ§Ñ+»fD_Ð’Âå–túåþ<å•C¤ p €_ƒ&ÃÒÉŸ€ø¯ ¢#O-@ïâþþöå/ܺÕwáÂío¿½Õ××÷åN®5€dÏ‚[¨þk­ :$þË!ã‡áÿ À«G´^\ðŠò?âÿ`«ÕÀÞÔÈ?ètøÑàG€M€l@ `Xþ*0KNoõ[ŸÎõúnÌpåóWàév2[ÍV'ÍÃë¿B^‹SРZd ô'ý-€ìñKŠÔ?Ç>uÝÒõ±gJ` » ª9–ô}\ ` 𣶀è]Á È"Hsð9lP©3Ѭ¢ÊzJ·¾Q@çÂ\¡àÊï£ ðöH .ôõ]¸Õw«ï_>ì§§F¢¶ÉT ­ã3²ùO† ?ÿ[¯Hø_[°ÿj­Ü€8-ö ã.õŸFú'Ž4 ˆ]H¶Y˜ÿGþR D ¼n÷ìì[._×c£©l¾ ‡¨  à¿YÀv˜UûñЉ`æo,|£â ã‘íäìŸ~Ÿ-³©ô*Ÿ#/yèó¢bB0 ‚ Dí6Áhô.™ þ‡½à¸ÕéÍY]ø¯ÃÛžt-.îþß&  ¤ÿp À¿|èÿ.Nkg•·»¬$Ú™úË!ã‡Â¿}|·P{qãß+ÑŸŽÁ³Á³c6ž¯ÿs¯@5òÿaYø+À© @Á -À[ô¹UÈ—Ëe”PÈ }€f•síö8xŽ4]E€Ûí¨À?A)>6ý%}Iî÷ã}€ª­àkFÀá3Ñí°™72â;`HQJýñ.2€(Wà½ÌѼ‚Ô:+néÖŽª†Ãj\ÝAv ›…Þ|~ÿ`lá‹/X p¡ï³¾ @>üZ±èv+ÁŠü%‘!CÆ_J^¡t?i/ükµºæÿ¼4ÁŸ€mfƒb`gPÂË€ü œ€W¶‹«¤± ””ÒläL¬º²Ž@&€Bf&K–Åa€«Åð€G*µÚË~’N†÷Œ |%Vÿqz ~d¯†¯£º­QŸÝë–¢ìû#; šhœ0Žû±ÖçЗP÷wð¢†U8ÇuŒTµàÊ/®l?¿-L.|Ö÷“jµ§î¢Üõ'C†Œ¿ÿ;¨^hÏþÄ)ýÙ‹á¿u~P£A€¹ðÏ£ý]€n ÿÇü% -@ ðÀläíû¬+ëÊçËè `6;Y˜tOº«6þ›ÍêœE»œ"€Åc°àQ€&q;€ ý4 Häö*7õw?xyñOí| à|úFÖ?6à€ó›ÉÿÏ£€)Àþ3Î,Êÿ¶ñ,ͬ (E"ï@¨²YÔ(ýwq@M(4ÉXåQÀ& DIª p  ò}îìHü* ¤á|ÿ4¤s&H°U€h‡pWÝøìÅAHîÚ%|-6˜¤¬8"8¬w€üJþ``{ì‹/¦¹€Îî#páCo”!C†Œ¿”tRúÚ¹ÒþK3ÿ»ùB«[p:Ñùf»ÿÎUh ºÿ×€ ÀOl˜±õÿa¸Àøs,E€¬”Pxû“€)&]‚PNFÐlÚ.€ªYÕqÈö À‡Ch $ö>šÂë3féÔˆPâ €}¢s0€¯ð½0&a¿k\Õ¸ ÀJï6¾Q©B`<¾]§ä®Í‚Ëøp0öüù40€Û·X@€e€ ò  2>ÆôÿYÿõG÷‹Ï­þéÿà™˜Ø½ÿgðÅ&?‰†Ÿ†ø;]€BÀnÀaÿƒ¹#è‡*%¥¤)ïd °‹<¤ýYTàÞd¶Y­fqh`r€.&¨´Àd³{àŸÓò7(íû€X@臧þUV°#€>è{ð‰dßi`a€¦ T°vôüCœü‡L¸¢°½ýü‹éi–¨€€¾¾Ï€øƒü'(C†Œ ÿkç9ÀùľÖ=ê¿ û_aýç¾:­®h5^êÿ£!€#nô'®Q˜`ù«ÿÃÃÛx llK3àV´ 4༃B5¦8 Zmº þMS«<ˆ—!à^.tMò±`‚²zR÷¹Y€ÚçQ)nAf¾@ý'|/Œ ràÞgû£öšaƒ‡e òHÿu¸¬3þ{±Е¿²R>8€„Ó_ÜþÂ&è p¡O22d|Œù—§ïœà ÿ9À Ÿ{Ì@cª4h@ãøç< èšè `«Ó@¸ pe€Eù¿ê À¿ bàݼ…"­ÈRkÍj‹BÀ˜£k -ÝõDlÀcÅ•º©ØÏsüµ÷¿{€X lð*Î:3& 1!Пft †OØIÀ(ý‡èX÷®›z¨) ›Ï™ØÃ„pÁ6H C†Œÿ_ÌïÏõùƒüóÊÁ1¯þ£æ¿6Žÿo‰Ñ?íÁóÚ?¤ü¿AFÀ ® `€î?lØÞ>€c@:~@ -€çwãŸteg ÅÉ"p$…fÕÝ,¸«M³‰@¬˜ÓQ - rn¦<€)@@´Ú¦šÌ.?öØ€î¤×Møøp4€ ¡l'—Ýâçÿ¤/À÷ß±¨úدëëÿ›!ò+ù8F`pzú¶èt6ü4fÉ!CÆ_ÿ­ó]­Ž$ðÊW¡ê/nŽÏá>oþìšÿÏ€é˜A@·à§6{À0UÆøÿ‡¶oÌËÿaoDРišò΀Z!‚E€æ$Ь ößœ¤ìßdê@Ј lñ)Ü™¾+²}ƒwÿPfÏÖê$ÁŸj½ ÿ†Ñéì²EÀ^ÐY2ùGD† ?Ɉ?ˆ—Aq§õZ à1(´Nþlþ;æ’ãŹ¿×¦iûjÿØóØïÇ?²üˆ7Ìpúï¬àc`xàÆ8DøÄoè N€wGjår‰€IVÀB‘Ôw•&¢öO€ßdø·ø§ž€¸è ˆ¥b" J˜ã'á ›œèègGŸå3ºýBˆ2Y0ìé#8A(¤€Æ ¢4`wÒV"›p ¹n²Íæÿ[[3ðôhú¹ }|àÛgßöáv i!CÆOÿö™¼„ÿµïÊÿ;‰?Rúô¿3ë{ý¬ûãÈŸ£ÄLÐ?á¿&zÿÄ"@‘þÏð§!€cÛ$ÿCÜ€ü”†G$ø®8%ôWÞÝú&å+Š‹¶ÜMšÌ$ÿT°hïŽþpUÙ ÈShÆ\C Àºjør¹\G€‡QãE @¨O]~u‚;Ü7¸†S`‚-„¶ø/k@<Ç=¡ñßÝ,>¥&€òAÏÁØšRüÏŸ?·W÷9>€ ß~ûmÖ.àT@i!CÆO.Dí¿­A[øþò?"¿ö+ÄÿA1ñ÷ÜÌŸk¤ù7üÄüöà.ûÏØî6tmà3âü`~~Ëh˜ÿ”E€ï'b €ö.ñ¿VëQÊÈð«E8°Ðd `³Éê` -@#xuj ™<Íù¨Ö³¹ßQý“ô€ìɉõóN5 @}ø”Úy -Oøe|N;€ªNÀcì2˜ðM¨ê9À÷ÄyÐ:ÜÙìcVz†·¶¶fÿ/o?§9@N€»úúx=•är 2düÄÒÿÁNößÅ^nl½Ø'xl;ÿl?³qþp €ÿάP 1Ó|¿Ÿ¼ÿ¬ýÏt&n-à€m¶ÿß@¤þD¨°}pcþ`~eX€ï&¥w+ÔNkÊ5ÿ»'›îªÛv°„À6@KÇò?¦ÿêÖðÔ$>ŸX÷CB@4ǰžËùrâÅDÁ×É N„[:ˆúÔ0þY?  -Â?öZü0~Û8¼.¼ïÄq64Ý@"r"øÕý‹\x¾}ûþ-Ž  ï–XHÀi!CÆO*ÿüÛ*À«ƒç„§ø?x|®ë¯“üO“ì߸vÍÞ?‚¼\ó;’ÿŒ ý¶øï´ÿÁy€îú?ÐATàtcdÿÒ%I^G´÷@ òåÇÀ& ñp ÀéÐÉhYÜ€‡IKH ¼ÔÙ'ºxX¯êCèäÇä¢Éœ¯3€A_4ªì ðgà @Tà `d„ € &–XD ÇãV˜Ú2½^+Ålä±R^.÷ôôlþ?ß~ àþ­ûçá_äÿt—¿‘©2dÈøIåÿ"¦_Ð^†ÿÎ3ÇÎÐ?ªüÃ×8vüþƒç÷ýR韔ôþ‘éî];JPâo·ý1p–oÙSi0jÃØpÃñÿͳ`þ`~dd~àu¼à€wM.Y7UšÅª»Ùô²ÐtÆbÏ?iíqD\x€ÇÜháÄ^ ä €Ø¦gíO"ä:͆ØÈmaVþIøGAÅÿ\@hý_`BÅÎ5`„éñ?€þ¿xØÚ ó`=„54Ÿf•|©ÜS>èéùÕþSÜ~>¶pûþý>d÷ûœèž ð™4È!ã'•þwÿô+$€sýþƒçFþˆžÿãÁ³cÑíïXÿ^²ý7®ù펿®ûõ'f:ÅQï…ÿÎôº¦EÔ¸00lgÿˆü#p;2?‚§áýOÒ -ðf%6¾ã·Òà±ÐÜ“îª;k²Ü¨Ç×± 8@\' ¤ë”õ*:ö±roLÐÀ>¶íårvõßö'ø3ƒ(&ú(÷hoÜNLÀ&Tu'ŽŸï# ÀàmÄa‹¾jx'Œæ9À´ ä5½HŠO#ùå²VîÙêÙÞB -Žíû÷ïo xò¤CºÄ€¾ ¨H C†ŒŸJúÿ_¦¯ž÷ÇØ×3÷süšq?×ÈüOƒ~ˆP$fPúŸ±/<ó‡»þàDàOÈãÿé46€]ld0rÃØ‹$¯Þôî€Ú© @>’ucóŸÛ=Éö?r6í2íb IǺ%$•WÿQ?€XÈÀՀeÅ‹¾œ3ÉOÀžýÇÚ€!€ ýñÁWÄAÀѸW CÊ&Èôú/SÃqäá0¼•žä]G »ÉFT°0¼5|0F ð®‡@žØøoƒåD2dü4bzúð?ý*#@·çßÖü©ö?ØYöó¢çŸ*ÿXü¦?”üÜô?CUÔýoý±kÿ3væ…¤cÈð)tÚ€7ÆGùI¡óþÈÿ) ÀË -­x÷e™Œ€MpÒ ‰?^›H¼(˜ùÉÇǽ–Ê}xPâNg úUYíç~aôqW?NR¹ªìÐGVÀ±æ¯v°£&ôuHû}q‹+x ÇɈÓCÔÈ.€¦»8[Œ<ÍkËâOÏðÁÖüKðßÞ¾øØG€åÿ®¹@¶@þi‘!CƇžÿÓšÓA>ø2Í.~Ç0(<ƒl÷dاž¿;þŽÏéÿ¥ìßVÈîðOþ»“ÿžùÏ`xÆÿáƒa<Œ£Yûw(À§þ]ù?ñI^R¸ ðÝ+µ–’W®(Ù"¶¸‹YÚ -ŒÅÛ è̲Ë!ZÐéôÄ@@tõñÊjï£û>»;;ý¢TËg)€ÊŽ7 láðÅÿ°]Çûj  ¯‹ö?K5 oÇÿZhØ!ø7q2TŠJDYÖÊ=2€\A=¿¿ ±zø»ÃgO¨ -@nu ¶Ðw«_þu‘!CÆžÿOO Ø·)ÀË>@g/ƒ~n-:!Shwwû ÚþèÀô¿qdö<ëßnöŸ±ó¼ ¿ß°pÿ>@€©ÿ0® &tÿ߇[®ŒìcþqdäâþÈ'æx£{µwÿn–K@"Ù"À}±I.À*öÕëŒÿ¦èpÆë´0·k´0`oP)ÏÇLóøš  -€ÊÞ?R hdgüTÀYB<í7@bÊÿqíÿð´ªÃ7Q-= _TÕ×ãñp>n[¼¦ò®»©ðTÉ—–Ë(ôØ -`ãÿ3ÀÿgO:úÿ­¾n àvß…ÿ”Í2dÈøñÚIÿ;Ç`cšzù_h „úÇ]óýmüEL_ -iÿhúÇÒ?»ÿØèà¿Ýú7L@ÿûõá–t€pÀâ?dü,ÿ“À>1/à÷„EyˆÓ+Ø -ÍNê8 —¸ùjzI™zü)TòÒ4À83ƒgõ#¼[ª®² ÀgpO A }Âí ÀWôÑæOÍTð‘‘PõZÜ?@³ŸéÝAYÁ©X@<¤ÇU@´` ¤{Å êP–K¤À¥€¨ŒÏßÇüŽ'T3°;>»pá·1ùF† 4þ ØïœþpîÎÿù„74ÞïÅ=?/3€#ªúcæ„èOÓÿàŠƒþòüδŸÎ1,¬výËÿÃÀÐú‡¥ ]úÿ\PðGð盋þpº¸Ç¢$° Êû µZYYV\ÙYꨚè / N -€ã°iꘓ0·Hh€*ŠbO ÊÅDzR hV€Ød¬…Ô €\ÿ,Áˆªëaülä ØßÑ‹¦ºƒ¬‚‡j8ŽóÿÂaU­³—5½n¬ÌFçKå’V&€(ÀÁþýýû‡«ÿ¿;|òìÐõo1"À}öí³_þ¶%ÿÈÈ!ヌAÿ!)€•ûÁƹ‘Àƒù­fü½*õç¿T Àû~ŽfpÆŸ»þg‘?ãß°ðý / ;ðSH` -0€-€7FÈxƒ`O#ûóˆýû#D€\¼¸2ò 9Þ„”Hx? _ÊkÊc œÅò?¤Ó8[ÇÔ€mŒÓ< ”ÿÉ@y¹J+(D基Ô0šÜâOôï†ñVÅì3y\ö‡Ž@¢8ýGEäWÃë´7(€f5Þ\Çõƒqøšá¸cGP´ÿAúo†ÖрŠw6¢(Ëåe­G+—üÏÏn¯Þ»wø 5€>{-€C ž àÉï~ùïÏþãþsü3#C†Œ0žwà@ƒhšöá~ã\;àñù¿¯Êû¯MüQù_lúãf®ùiáÏ mÿ3æ¿avðοaZû7Œêÿ‘€€üp>Þ8ý#W8õ‡ÛUäó+˜ÿú£°øÉP€7 š0jïå •Kå²’Lš&à? †ü¯°$„:%+×­0Žã³„ а—ôªœý³' Ø øv¿• lTÙæOZ@G -ùÈ/@mÜ ˆÞ¿°ž˜@“ N_ÑÄõCèÜ éø1õÿ ‘_÷›[w{½îb±ø8&„ eÀÿýýÃÕû‡@žÝƒxö¤Olêp<ÁxöìëgÿþíÑÿe]dÈñÁ…Hÿ»ÂÏ4€x–ð»°ÿxð­ÿÅ%?ÓDލà/\8ñ÷ènúmк_’:»þ¸ÛOŒÿ™±KÿÃXì_@ïuüß  -TüÖÿ#ó#7°ëOÈÿ˜ü_äìÀÈÈâE8>•†Àï',(ÚûQPЖ•ìS@}7õº± °éEZB¦îL²ç¶BMÕ -Yjw€”~êä›DøcÍ v¿=£˜À9´ƒ²vh¼þ xè/ÿãaÕ‘@5½ÞõŽ,º›fQQ”+Ê22€\ -L`õpþpñÅ'÷»6ó=<1þßù¿ö_Ï~ùLdÈñÁÅe¿ß~d«ìCæW?âù S xEƒÿyø÷é“ô7Ž®ù¹ðö?òþÍ$üGÔøwÞög—üþî˜ÀqƒÓ~¸Ú€GX@ÀaIÀŠÇI vž§÷:ö,*à?ý0Òð²Âº²ûkøBª '°%À¾5€s8Žv@]  `²˜U²ùÇJ~9ŸW®üþ¯¬,^ܼ¹¹¶æYºø¿¯¯ü÷Ÿ<9<¼³´y=95::Z_ZÙ_=|öÛßþ¤ü³#C†Œ Æ.ýbŒD€ËHl€%?“Nï§… Aî@Ôþ øgx¢ï5‘ñw‚}Êÿ…ןÚþÉüO8²“{Ù÷‹x?6Àõÿ±á…ÚùëÄs*æþ#xæ©ÿûì$éÿ":÷ÙýÉ?P¾¹' €ï•´JZOPÉFÈà¥J€×D“]3„R@¨Ã°¡ßTu\Ò‡=áxQ™¦Û‹‚¼qàŽ3+sÖ¯Š;a>PÚǪÀŠx©6°C€_Š{ü‘'„'¾~u€À#L7¾Á¦;û8«ÐbC†ÿ|y%¿’?\ì]Ú\ëŸóxú{ïà$À'ODê/hÀý¾'÷ŸÀ«6¿¬Çv§¦†|ÕüöýÕýßß³äß2düø±pyáòe Àž_ž†óôeBýË~ÿs¦Gþé†Ó HÚÿ4ŽñE¡_3Ιóz‘Þûí?ûFTþg:•Îþ‡øg -@¥ÿ±1þFÿ±á ™?Xø¿A>Dþ1xÞæ/î °8‚È¿‚BÀÅÅ«¯~ô>€ï'ä|MÁŠVŽäŸ¦LÔp0*Mò )FðÇ×÷ã<+ò,ÀÇ«J,@u“€É¿"ü‡»!K¤þTÒ[ÔT¯[õ‘' lÛÉhø¬pÀ -ëêN‡Å×qcŸÞŒï„UÜïa±qEp ¸’Ï_A òÿBa3åIyê)ªüNHEÿ?9<ìÝ\»‹MŦ|j³|°½}¸x°oÊ™€2dÈøññÀØÿåçúÏ ú?'ÿÈO…Q˜¾—#ÎýýÂÉ?ã¬ñM}~ñÈßéñ‡x.tü¼ç]ÀéýãtX€Ü¯p[èˆúÿ8rÑÄÖ¨ûÿÆ>çÿû#äÄ.ÀÑòrú¿xõê¥ÅK?¿w?yd - (ïómµ*Á`O)[b s¯3 „3m€»,t ÞÛw°3üÃÉ$c`\%6€úVñÉ.@ÆÐ9ÄÝÞ°ée;€Êe„6 "ð[jœ:&Ôïz.Š4!lyá{©DB,Þk=€‘ÿ8ŸGw&çÖ,Ç0Ö–îÐ0`bö(`ÌÿŸÜ?<¼ºù¥'›ššÊÌHÏÁÁðáÊðüÃ#C†Œ=.,,ŒýbŒ3Ï/_cðÇÓsbGÓþé#Q8ºF“¸¾o¯îÅ“ú—Ùý~†}1á繘ðOŸðï³û·ìÜŸ8Àc„þc6ì/ðIèÿó´úGŒÿ‡ËÊu@ÔÞ³€FÀ`9«5­æ,nÒÿqÕZBB`?€WÔÿu•&õèB  5 ÂSÆO…¼!·pÚn" €ò§¤ô[Ü7€ îŸjMøTÝ‹ŽA¸ 鸅Óp-àv¨V§d] -på -p€2€•|ïäfÊ2Œdn­i‘–cÃüL‡øÇü/pjÿöÈÿiþÿ6ÆÐ§mÂþqžû?À<•þÙ - æÿެî“`udÀ"Q€‹‹Xýÿ»Å«W!ù¿úóÅÅK—®~ܽßKJLå}€ZìÉ–²VÊ=Ë3½4 Ÿj^§ÀtëM/R·pà`Û$h†ñ‘èd²€j…¸W NêÕþp öz±BàÕqçÏNØi - ÎÓ„ªºÃ @{ãb4PŸ„ï€N…f³U\³±w¹ÿMÌÿs9îà2 ß=ü?àðçòÿ“ÃÅ›ˆÿÉ¡©¡Ü„ùXëé)oõT‚g­Dï¾”2dÈøñb`üþ6",â?Q¸ €u¶4üGÿvÃßQg€¿ó36ÌuÝ뾃q¾¬ó¼=í“~ xÛÃün0XúÇËqLþÇÞ=]dõCpƒJt!ÀüøÈ8ÍÂeüéöï®þ2€K‹—\ú¨§ø“˜ ý ¶¥išKËZ¦{ÖÍ €ª&òvŒ€í¦;n?âѼÄL‡P ialÛ‹ÇCÞ0–íi£O8`†X!èÀs!øh@‡,jˆÛÝhTX%ÀYA>u"°ˆÇw&@ÐS âë€ÿÕ"\Ýy%ŸÍ>Î?füêÍå ðŒö>;DÔÇJ€Ðÿÿ¯õdn(UIp¥ƒ™v­vvð·$!CÆãÿ×öÿ³=à`®i¼Ò «õB`3€Ÿ§øÎ°ü?6ÖµÂgæ<pzû†»ñ¿[ø·ûý†ˆzˆïÎ÷Äê4ŽÛKÿÐçO‰?5ÌPÀâÊ -ûÇç÷ǽÿëU ‹TX\äI€W9ó¿z Ï‹?ÿ¨«oЀ -€VRJïý½i=AM)kE£™¥f@*0öwv Ì[$ü{)ùwãÙë%@È‘ââ >’þÉ(éññ°È×CnÕRwôxzüqÈ‘€0MvÆ OLØC†'Ää 8öZ¸¶Øk˜œÌ*YW>ëre'MÝR $žµ¥{‡pÜ[¼wˆ<`õ ³€C¬ÿCúoÔë>ŸÏPSÙ|6™iWÚøsØþýÒÚ¿ÈÅ@2dÈøqbu|u|Ñ`Õöá[ €x>CD` {GNoÿ‘Ýá6>ÑÄ7cã~wÞ?Üy{µ^Äí€ámœø'лH‡X` - Ú·¶!÷¿qcþþ#ÉÿTàBÀbÒ£jq²}ìÊf«E3¥Z†/š3<7^}†€‚8`?âÿ9QG`@"ª®rÙ¥´Ó ø!œ-þÏí?üæË‡ò¯ 2~Œôu~|à{aœªc\X۳јX7óqòÏâ?Áÿs±À¯Sçï(û3Ý}}c<Ù—)ÁÂX—€Í~4íÊýcôù ä› -ÛØû?ÿkjþãzÿü<ÿ¡†?ÒV.âàß‹û8h>¾:¿zqþ"wÂùçúþW üI øh«ß£±@+iÁRéG 5èG^SR¦›Fº©€˜ÿ{²{¡€HL¯sß y;¶€¸3:˜Ä€°¾ƒ¾çG?@}|ETþ˜²z½:5ùÃE-a5iN0º&ÅøÄŽwK*ЊúÖfsÒ=Ù¬f³…l±iâšâ€/ç3Ö–.-Þ³Wãéò€{‡‹½$ÿ€þ@RÿZ,äˮɭæÿ[—ö÷?ÿŸÿpGþ!’!CÆ{qÊÿÇþ·m;jü $ëT˜qÒÿ£Ñú÷|fæ|mL$ø¼Âãž®v¥Àî÷ǧ¨çOØÆ.³±Í'ÁÆÆoìO³þçÇç™Ø\@¸ðl`~ÿ"œÆWW÷/®Î_\½(‚:.ü÷’ €÷G>Ip b Ïø1Þ^Yûª”/¡ ëÆhº)û@§É@¡Îl@¸!ÉÝŠx{;ÏØ3(ýÇõÐ:éLTjPã^÷¬€œMý^x à~ˆìè#¤¦À°„T]€¼@`GÇêD(DS黬ÿ˜¬êÅÉj±Y-š¸´Ø@`³añÎââK÷®>ì}¸T¸sçν;›Ø!˜àñx6' …ÂâÊÍžÁV­Ö*¬ Üûúðÿûí¶!ÿÉ!ã=Ã?äÇããóãããl³Ê¿ÈÄí|œ, áŸ‡úRßsg„¯3Ç¿»“Ï^åK+ýp©Ï0oôCf1`Ïû¥M´äǰ a‹¶ n¥÷{üç=6?Rü©ãŸÌ€û‹´êwE€E€ýýU”7F\¼xˆ"ÀÅ{ˆøûwþ^ˆØð‰*Á _Ô#¸üTíÀ³Yá¤É@ëæ:ÂÝ€ì4Cø€u}=dyuÓ ä@e{ b¾¨Ĺ*€†´ Œj†¼•9A½€ïn/㜠ÿˆøbx0 ˆ‡º7°3ß•VXD4L=…š:‰ ¾¨ÏXûÍÒâÕ;xܹzÐiióÁÒÒÞµd.–Ë%“õ5ÏÚÜÍÞÂR¯k3ÿ|°Ö.?<8Ø>Øßþ›Ãgc_ÿ¶.GÊ!ã}€? ?á¿í€m®P!@(ú3cb®? ñ£FAl™O[øh[hýì ¤ðó:?öù 3 ÝÀÞòËڃӌع%€Þà/~±€ª?jãD~=2tÇýã€\÷7²ˆwöGPÜ€c~ÀêêÏ€\"ð÷ýO%ê¸ú¿Š@# /Úóþp1 ’×L+‹ ÀK*õP#v†h< Ã>Põ -³ÞŽ !ÄSàÕn] DÔéü(Œž@ø±¥-ªºQÜa\Ï¡±^âÕÃ80N“Ã^Ú3¶vèaHõMÐV!  -:ÐH¤[&&ý)7¡?Š–Šøo­MBÒõ¡ëŽëÎC×ÒäÒÍÍþµÍ›Fnjhj(–«{ÖÖÖ6á5½K›Wž ÷¯ìï>û›ûóõo¿–F@2d¼Gø_€×ùm""ëÇ;ýÛøGü?ë”ügœ¡?ø[jÿ¶£ïo³¹lÀzrú- üðžßaìîføfÂiþ[°ÅrÀÍmˆ…q ã˜ÿÏÿ5ä÷€ÿãÀ¨*°Ï+€V‘'°´1O$`ðÿâêáÏ.^"û?\{ñDl€*¥ð} -¦ÿ¥‘Ô*A­GÑJ¦9;+|nÓ˳½ñ^„º‰S=`t€uxnÝëöâ³!4à…F @dÄi!wH誷èÖ!dq/Zè¡8Zvx2p1Øs‚Qý[>4 -à*ø"Öº®Z;@EÔá?pl4ø|Fª©ð°Ð»äz7€ÿ¸.4ûw*6 ¿¿ÿÁRïÃÞ½‡ÛÛKKþ· - à—_ÿòkùI† ï+Æ÷W1F˜Ø^ØÞ&à€Ý¸@‰z—`wô=©âÏ?Ôû󷷶džˆl3Àà…î±@W$ -@7./ÐÂñÝúw?XøÅíÛ_þÿ¸ -;Rªbðe||=óû€þôô8ü7âÀ/(\º´ø÷˜üßAàô\ý(€ßK‚\øÑ@ õ—öÔ2‹³îY20þ7½b€w<¨õ#ú“;êÿ:‰T ûÞ<¢ÁýÞNW€À+Ž7Qxê AÖï…½n ñx(ÒÃ@ÉQPÃq7N ïÐD@”þ— -,@ÇF€ÄzÝ4q¡gü.¼sp°„°_X*z “77çÖRÒŽX®Žøs ^±´¸ø›;‡ûÿ‹÷îáÈ€g_?ù¯ÿæPþM’!CÆ{‰Ÿ¡$ް‰™òöÀÀøÛlÕÝÆ÷ü¿üvŒÖo .@,`ì>sÎóÀ†‰Ü8·Ï—»þœ €'þQî?Ð¥\¾ðÿÅí_,übáþö8.¶¶·Ç·™Ü'§ë<ã>ý—ñ-~ÿSÿWÿn‘§ú ð‡ôÿž?MÀ>€Óë-{4-‹6€ÙYöÒD ¦l0)ÿ'·âÿ:I^=Ä2@(´n†Bnî4ãè Y¡=@LÀ!?ñtlйõ”Lòb™€{‹¡/öZá8·þ£.Ù˜(¾ÕTLCÅ2€Š[pv -øo¬MöN&7''ý7ÿ=†aÔQþ§ÊÕ×<Ø\Zz¸ôðêáâÒÃÃÅÃEÀôì—ÏžýÏg=r+€ 2ÞGÜûÙÏV¶¿Jùò8v ØMBX87”ç5Á&~vó# Ç0‚þØðÁÀöæýý¤à ¤b±OWЃ_ þ3ô "@ý¿¸ýœÒÿ_܆WÜ^¸P–ñûÛpŒã1¾ -g"Tøç;¤Ü'èçàN€{/²°W´’ðÒÇçx#€$€í-&‚_iyE3SÅÙ¢-°€T†{LñyS0R@î&Šøøðc!¶†„4 ‡"Έ xY8à^÷òèàPxpoÑç^\÷X¡§*…°µƒmñ0î ãþ€0Jÿh´–U4›ÖÿÏÞÛÇ´y§é Us£°ìáÐuÃCù1رsBËvѸ[!k…YÃÁŒµÊÜÝu4b½ -ŽzOióG·ÐøjWKèì´šÁ¸–8Qb5œmÚ?˜l3‡Ñ‡Œh^ ï?'ìtVzïëþ=&iwÛ™m“¶“õÏø ’fF\×}Ý×}Ý0p’°ßVÕªÑ M¼ôÒw"ß¹|ÕÿåÃE¶¢¡«CãYàPÅxÑÓ#OŸ‹D -ÂááX„畉Á€›OÞY~3¼|5÷‹)wr'w9ü»c1ë-•Åì¡CíOµ…Óv²öÿ- å“‘¾¥YÝ? C_À}Tý· ýãK ÁvM:}+ Ègë—ÿ ýiÖ°Ì/[ëg¿ îkâ´Kz®ƒ \ÓtbPÿTýƒŒ55õ¤-ui{z?aéL|ŸŸOT€½Ò€¶W\üCïÐZµ¸i£ÃaÑý· ù¿M8uÿ±@míøúÂ~®êTÍú§=)Ëp¾_•å€< S -~¤Ð[ tÇB3Æý ~ÙÃy€ÙÈ`º7`‘ +è'dóIÄ ÎÊ ^|cvú©6DÒ v(«6hlþUÛ…$½ƒ€¢dUra>9ÄÍž°ÍŒ'¿T@Õ?áÿåÇÏ&“CÉ¡qÂÿlýhœÀ9L,…‡ÃK"&àþY^^~ÿæÏææ–s£¹“;¹óˆ¹¿u¬V¶Ö1Z–¢µ0XZšÞ2ã Èÿ˜çýÌòO3îÃëOHÿÁž[{Pîï¡r=ÿ¥5é[5·öY ¸Å»{y…Ò|Àð|ËàWJHOx_ªú–RÆuzŠ}|ÂÿÑ&zD€(AO‚ÞO'zM=ƒ=ô¤‡Ðÿû‰(],Œù–hb š%mtQ©ÿ£VmB§+ù ÚtÊP ¸¿÷xýý» À¤Â¾¾¿ãm¢o©žP%g=< ÀV¡ð0€³~¢öŸ5°1pª÷ ô*a?¡;+èdÓ€f ó²²/´€™T¢’ßž” ’×n°³8 on: /Ÿ¤B¿äÇ›$ù‰ÞW½öÆU &½<-`“g“U³6¿´>«D"5phèðK—ò“Ë—òÓÇOÐs*ÿÇÇ+**€þ3ãWÏ>}y$òR$Ì'6Žá‚»ðRx9¼47wsŽ@î—SîäNîÞS]ý±ˆýi¹ï `ß_º¦”êþRzJð_Ãã|DpOï ¤ˆôßâÙ}@~šo, ´§ ï¹å ÞA5?ué€ÂD,–ÁÁ¦DOiBXÿÇÆPï§ù‘€ÑÄX!~ÏXÓ(=ë p/0€¸@ZÑÿé±Vkb šIDÁ¨ì íŸ;ì xÌ|¿§@çëd>Ot.¼U;M Àãd+Àtvp]¸ €·ÖSÕO/ö_ ÷ü³,(¹€Æý N.ý• wæý¶Má¼1À+ñ‰lvª0¸J?VÙ ¸ê§·ì6}Åv!ƒ œGÿß~š*Àr x_€ÍVU5qøìáï\þÎK?ùéåÃX Hg||fFàÿ!àÑÙsOŸ;‰0ˆ)4€ÀåðÜÒòÏæÞ?÷û)wr'wÝYvÇÜn*ÿ­Åû…U³r¬ˆîyi€P™ªóÔ²€tû˜È@Ëÿ·¥¤yÞ?zÿ›ÿo¥¹ÍÏ<¾ȿŠ ”Zèkz@9*û©ÄLÖ'˜V¶ÿ|\Íýæ¤yøå?]naÎÿVéã?ÿÝ¡úÇC‚ÿ4§÷p~}éO"ð·$JÙÅw¸÷ƒ [˜r?Ý“íûômãËhD€<º3] ôÙп5€þ¿5š—ˆæiu:]sX„ Жõø¨L~½“o©žè\÷Ïzp¦y"P–ú3èCñW.²Äݸÿxþßï¿@/K˜˜Uœ~úÞ­ú_4ú×%$ó*AºÇˆ A6ÐÕoPáãëxE¶y“«^ï¯Í¾Éõ?€U¯ì÷:ç“Ȳ%“üå‚€ UUCɉ‰‰Ÿ¾t8y99{õÕxÕø8ÕÿÄfff®Mœ¥úŸðŸÀRADKK¾œ‹,ñy.rîwŠ®þsî·TîäNî<ªòŸ.%VÿÊ \vyJŸWÆKÅÀùü¼¸eÏ>(Õ" ¨åãübènþ~ÀÿÀ@i¿@ÿ[À{ËÀ@L€Ã{úûoÕ ó@E:÷óðo÷' ôdáÕ=}JüŸfBëM€ŒÒg3Ñh†¾_`þ†åü_ŒæEó2yÑè°®¹9‹þº¶°@ÂWà÷#“tùzÿžµoªjÁæ=Îyϼ õø³ØO× ³¨ÿ¹â—Ù8›…ôY¬ìNbJPQÄ™•$ì }?~†—…âD 6Ñ&ð¯úåuž\õæå$ý–ИõKÒ,Ò€mU~¥ûOà¯Ñh˜$_ž@ïŸÐ¿h¨Šý3 ÿ¨þ?û4´øPù_¦¯/¡ËÓç"ç"§"¿ºúô;/¼Sp>÷k*wr'wÁq»‰”p@Á­è•[”à­6.x ºèÄ0¯Wªø÷µðåc6"ýïÏÜÚÅ_Øþþ·Ùçß-=ßq ­øÖõ÷³ÐÀ#ýTÛ*Ó{ý¸o -¾‚øðø5Q…?ªHþc?ú?úQ–èôdè£Ñ¼Fÿ,– ,j ÿ£™h^ž–¾¹í±‚ø` (àlÀÇHø]-€ÉIÿ_7¸t~Aõfç ³Ðœ< àá ÁJà®2Zög/Hb@ÐÏ€ä—e‰ý` ~ª÷/.@û't&Bzq¶>þü£öw»KbÖ¨u11€€ú~„ù,>fD¦¬YDV–ðp`vËÏ>æ+"@âÿ/-½ÅŸe¾ï§çûÁÒ¼Àg£ß’ÞØ¨ÛèßèÏöÙáýhé"ÅGŒøðø -x ðÿÑÀÖýèh“h,æE8–E®ÿÁxXȳ -˜3€TûöÛ"À -'ð;€ÉÉ- àëý{Þ»]û]•ª³Ö)%%´œhˆ\  ‚°@xf ë²A4 B X§Ðá7`@L@`äç"\‚'þý²hñü«° íø‘#èõÛ’ÞùÍyCÒàôjlv È2‡Û1°µO+û‰(×ÿ\Ò÷Œö°Ù_©óÿ 0šz¸ÇŸ˜ LˆÁ@þ©ÿD^46ÜFÕu€m1tÚÄ °èÂðü‡Q²—ɯÝû(«ÞTý¼vÚã÷8 þŠP"\çå@ -ÄFà>/ F^ Û` 4øU„BtAý¹ò‡7>0-@Q1.€vÀ¡ØéÜ »FvòOØÜ´ÙíøÞ ^ïjÒžô",˜në^Þdã½U­UI[ÑÄO'&fmUU­­3D*ªÆ‡fÎ@Å!E¸|îÜH„(ÀKçÄØØ_t$à³gß¼wéÅ[—s¿¬r'wrçažîînwÉr¬dÙ­À?áÿ€Ø”—ÍDZ:¬¾<°ë”Uk…iÞeY@ÉÝßÊïƒ °gßEhaþÓ·Øùû€ \áÞ¿tz°'m±llh‡ïhµJµìÁ?ꔜ>ÂkKB”ô<ãð¯ÀÿA`T ÿhO"Óƒ<ât˰Pá\þg¢Ö˜®Y×ÜnF ®"Ð -ˆ ,„ô•>ñ¸Ô`ŸK”€oD àÒ½×:_SuÖvN{&ˆ8é6/dI =¯î_È¿Œn>šùTè£cà”€ò’0÷±ºOد2(rCÖèçÝ‚²äõÓŸã÷{d±8-¯:° z1ÀKíÈNj„ù_Øm†’0Ú†€ÿ­3gf*f¸À ž!ì§ Q€s‘Ë#@ÿwžfðï¿zõ…¢¢³ï`àÝHÁKE¹ßW¹“;¹óáßÜ=ÇÀ+"q,ÙQqkź\¢‡Õá`.àvÐ[¾h?±€~®ÙÐ #?Hï)E`MZtnml@Ø@ùߟî·PÁŸN4 ZÒD96¢¯k7ú7ê¢b„¾nø„QøŸGõÿèh"P/D «óÿk°õÆ(ë…D‰L&Ahc½#†y$`X§3››ÆfÌóua°þéù è}Ö'àï ÊÀä×ÿÄžXØÖY»°)'U*Ï&O`3«žuñÅ~ ù‚ò|]F$ÌÛ‚/`3°ä” hàµañ÷ƒD0@ lÅp ž³BའoÂXõVm^Iµn÷ÊXä7È6,^MbŸV Úì,ذ*HÓè÷72þcò?i›!ü?S1SÑZA4 ¢Baè}úÜå -ÿº½ôÿØX„°àŽŠ: ï¼0ôÁ‹§_ÜöÒÒ\î7VîäNî<$ôŸ«™ë6»»Ý%%Vë"$0÷Ï[ôo­Q”û„ü+0Ÿ®nóÛnºGX€9¯Àì£KÔ×oñ »>{KÜ €Ì?>i¬:¥ kÿiÿÿ‘ÜO8 èjÁ68ˆ€€:Ü×±@^àOô$ -{z2ÀÿÑÏ®þýq£÷$2Ÿ¨ü•˜`mŒ -ÿfB~¦hö‡›Ûbá‘ÿÖ7#!>£kk~ü À$+L&¿ ÙÎ7UªïÕª6ý~•Ó㜆 ; À©@"@aP¨â—8.X€0;àÆÀW s峄€ ÜÀ½[eŒ^aàêÓ‰E^¯X&€…BvF, ´{yW°Ý®ÑØì{2iK&'†lCÿ©ð'è?Sqÿ @ø™€?2`ä2Äÿ¢¢¢qú†D0(zá…«EÛÞ|ýgss%_Á¿w°4°ƒñš@0 K]€Ï'[§öA.©TÛTµO¨¦m’ -=t<"X–²Ëô—=9;%]ÝïeÑúg°—ì‡ >/ó¡Íƒ2¿oàd€UiUð®">Ø ÂË’Ê`ósJ°ÈfÀžÄŒ éÜXÕhüÀÿä/“ɪŠVªû[þg ´ -0£#„ü@ÿ—¸÷?TÄàßAпsçÎC;¸úÂÕëÿµèWKs%z)@ºOd²ðŸÿQð?Ýü‰€øV÷ËdWicm0ýÀ3ü›ÃÍF#ÛýXûGÀp›N±u<ØÖ~Ü €¾9 -À¥é×TÛ -(Ùœ`t7íD60ÖŠ©@î ¬Ë÷¿ - -0Ë$@øý…C€[þY§À:>æõKøÔ, Ì -.ðB!Yº l^‘!ìåªÃ^‰÷üç/^8è&¶ÚW5^{#æ“É"›m¨µµ•Jÿ3øÏð… O_Æ& |aõÿ*ÿ ï"ì7Aþ©èwÞyîW7—ÿ¬ä&®Õ¬…©T0Ú·ˆW·âÁ5_0ðÅCSS®8Ð?ÎøšŠ ú™ê••+ÿéÊ{++Ç\¡»¹ßª¹“;è_<§×Síoîî6—XÝÖ«vy1ƒ×ÏÃqZ«Ûmfð'Ðw¸!ýÓKñœ¾Gi 8þlÐ2%ø6Fö|èã°%à€×§ÅéOßêO5°¤Ó ‚‹л¡U -ÿ¨¢@D™œŒöd2QFpXúˆ lÿ§[£[¶EþO€1$ø>“Ažh‡uÃXûǹ¨ÿ!P‘olÖ 7GÚîÄ -øÛÂ:d'(@g@øÚ†wè?ùMñàtnSm«­ítÎ&þ™°%Ð#,[›éÞ3í‘gñx/!,`ÎD€K~ÅìŽà÷Êè%`î_Ø…u@b» ½ì•¼bC€ØŒ¥@²ßŽ` ~‰× 1ÀÊ 8íÈòjl6?•ÿI‚Ä€°b†}LþŸEÀe†4þ‡Æ+¶¶üÿ‡Øø?wnéçn./ïz4€Tð×´ÇÛC¡`u< -  ø  Ê?(x€Nõ¥=DþöÊ•“+®xî×jîäÎüëçôÝúî9ÀwÌZ"ä1ø×Ÿý#PQùfw½•½þwýÛõPÌæWÜ -90;Ø (.„׎ÁwV[­³ XxJð>LRù¿‡.·¨úOÀïg7ýûìG• äôdzF ™—,æŒçe2£™ÑžÑÑO«£Ÿä׈7î÷ðÇY5èÑøôëxÙ/Q£®¹9B F@LètÆ6ö@ DÚè º¶ ×½ø˜€-àÒ¸tiZE àÕfRR‰àTÍ‹¡Àû–‚}¢Â ¨J;`ë1Ï ºeÙƒf¿ä-€ePtÀàØ„CP2¬Þ¯þÑìÇèŸaÝ`{Ä^a/öÑmÕ+¦e?g&'lìà!ÀVÀ~+î‰ -Ðu|€s€DñJDÀƒ§c¦cüê ÄΞ;þÙËË7ÿlùHû‚ÁÀ=@ËSÿCW¯2üúÿ}@˜^ ð«sáðÏþqyynù…‡ªô_ª&оOµ§‚ííñ@Ku(Pš -VÇS`;üÁxˆ?Š£ õ0¬¾íZYùÖ‚ÀUûÝš;¹ó ?Å&‡ €~®»û„é?V7Âÿþ§K³I¹1À¹;Fõ½»[ïx¥þí.ý+Ĉ¸ëõú.³ÙJÐïvC  3¿²åtÐw‚Æ¡Òô­[éÁ=J+ iŒWú ˆ"`ƒÕÿ Ñÿ‹ú¨ægùßÊ™ýÑÅLTØG?u²u¶ý Ù÷2yQKOaT« ‡ÃFªûcèý‡Ûb¼ü'šhÖ5éÚŒ«mÿp¤¹@È¢æ AÂÝpÍãÞà€h|cþÆNÕ¶ÎÉó ³IÕÂÀŸÀTÞ< %ÀÃ$@–œ*›˜pR€Ä/HTë³ØÙ~ž€úÙ_ÎÖ…@`çé§ü^‰cƒ€ü òìøGSÀÎiA¢üøï·Û¹E€0¿›­Õ¦©ª"ì§sfæ (fÿbä¡?˜ú»ÿ -ö‹33 @d.üþß-/ÿìÔÃûWmIS¿ ÄãûâÁ`¨:BÉé¿/X ¨¦ÇA_ ØÇ8zžTß­»råÊ+®P_î·kîäÎ7\û×›ž$ÐMå¿;ÖÍÙ?Šþ/’ýÐÿ· ˜×üá0ë õé¼R¯Û ÙŸ¾˜f}=½CTÀAõ?‘‡¹r€Cg¦£‹9Ä­ë‡ - -D> V”²086˜#ôïÞIl$ÿ7¢Ê @ú¿5çý^Ù“à{øøþ GÿõQ€Q¥ôWNTg„èOø¼¿°Néè˜`€ŠÿH3÷Œó^â@¸í€p–5Ã1ðúcNî tÿëoÊßøªmô7R%eÕB§TìØTò¾`Þètª„À¾®üé˦¼éô ô—6< Ï‚ð|ÀÖ¡Ÿ4¬c Á°¾À›è*3ö¯z‘ý6`“€Š0K@ì0B¿mÕfÒhlÜ kkU…hÐ!üOž%ðŸBõù¦¢ãÐýúÿþ©è˜aÀ ï<ý«sKáŸýêïN½ÿ«‡6 ¢ÒŸ[ýí„ü)º'LÕÖ‚}ñÀZ{u*LÅé Øâ„üñ¡` -Á}ñÀÛÇŽ±`e%t#÷û5wrç›\ýðsø;ìÿëͼE±Õ?×ÿèýþ³¼ßU¬w뻺ëõf}—^ÏÅ?‘· úé%âõf<ÒÕ›A -Ì1‡•îñDgÖ9b,IJ2â‚÷ –"# ½' 7®8‰~ªÿ7@þ;t¡/È À¨!A~@ÿ}øÿÀTÑXÌl fþ 'kÿvÆÃÀùHÄØŒuë‚@h‹Áá?b.€ùÃø¿T€D`äs€@×ÜÖ6\sïþÿ ôù€˜¬ý&)÷^{Ó¹­ö|­ä÷,,Ôþ3ÿ´Ó ;€Gš† Á (óÒ1&(ÍŠ4@zKå¡¢_Zx “óÜÀ&aYù0vcHÀëUmÒgXì7H@}bðã“b @6ØúÙ)°Ž@ïZÞ$¯Ò°PÕz_«¨ü'üOML°0„ú¡?‡lˆâ^Ø_(zúÕsKK¯¾ð½zýú—þ笮NU§Zª««¡äQø¯•Ò—ö5еêöP_u|-PÝì'0HðO¨ï› -†X˜âœ€À3—\`°r3¹“;ßÜc6›ôÝslœë¦J~Ù-üVe½ða¢Ÿ5|³o6ëÝns—¾R­GÅÿ¶Zè 0é»ÔD^!èèfN ƒ Ó1 Пàà CDûRÁ_ʱÁi–ØÀ3é º¦-w6îÜÑjïpAT«]Ôbö6þE­5B…(ÿ3™û¥áÖ—Bò³Mÿ­A@¡DñÍDá#áp¬y€P8@< 7DÂTü#˜/XÈ@xþ(““§ xHÞG}yÐù Œ,ÌúUÿ Ìœ*tp™ç©H•Sú¤;ez&{dÈLÐËç`E#à¦À¦“†,­{xNÐ9B¦«~ì -&h÷Ú v›-`ò¬pØÐ0Ð[4Ë-ì&PÕH¸ßª2@k•m¨Šêî€\ß’ÿÝo0`Ð!&~unäÕ®ã|É˾–¾¾–T*Õ—ªîc h_£’?¸¯IÅÁBÁ꾘ÁZ ø$äú¦¡©8ÇÐó·]ÇVŽý-Z9`îäÎ7Vû7ë‰ñßìî6/—ÄÜYøÏûDýoYé-à¿Y¯¯  ª¿Ø¬'Î@L]nú·éÈA=nà>Ⱦ>kV𬠋oÍ*Cÿ@ÿ@é-tjè–Þ 2‰ôþolpPôNÔŠ5½Â¶ŸAå'"ä÷Žf¶êÿ-F)¤—³ãYPEO ð7.ÁΧ.@]¸­¹9ÌØô¨‘Y(G -t]¶ ÐÌøßöú­ÇÛ¨D1 x8à×/¾øå À¥{ÛToª&®òû -°@‡BÄÁn8á”<žÇD8~N¤œ’´N•=šþëô|–>¿iðKžuó‚J–¨ºwJ¨ý 0Ä7ÀçG`ð·ñ$€·xù¹Æ{A’5^6Ø’b/`#A#ÐßÖjc) ªŠêÿ >g“ECã3Âÿ*@E¶@׎„}çéwƯ¼~}çg}Õté«NõU·ƒÿ°¶¶&$˜ý‚kýôtO0U -!àFz@0¨ö‰yÀòãSñ{èÉŸÿ -Àß®¬„B©ÜoÙÜÉo䉱ïà¿ò?¬n·»ÄÊîŽÿ#ü´pò¿í|º¢Ú¯wëëëÕ¦ýjªúé[‹õötº*»ô]]zº7›©ìçn€Þ\ŸEþ®z³^çÖ™ëY0[éAížgj‡1XW×O$`2¦o¥Kû9 Ÿu€;–-@‚q<“ÀwÓY$À¿‚þ…,¢ PX(^Íd0ð—¸Ï„ÑšÃÂx&‘UÿK±p^@ü}œ@ï -- ÜÜF ÀXÐ\)XŠ´µa9:ÔéÚný᫟Oj©þ‡púá€^<ÿ⇣mâìTÕžïœ÷K`‚,°À[‚D6€  Dà œVÌ< Ü€²ìÙÜœF@B$y1TñË~Y5ï‘f½ÎyÉ)m",xÖY`Õk@dO¢ío·ºcòz€Áo§o·kœ’ìµi yu}o2»XÓÈÕãL£¦QÀ¿-YtøòÄYP€¡¡ñ!tÿ;>Å>eÀ…ó€^¸zuüú΃;¯ÜùEþýnÜí»q£O:Õ-©=)Lã5k$¯ –®ª×âíÕÁxuµÕÊ— -†öÅt MB¡ ¾@Ð¿à·ØÈÜùžbHÿs,Ùw›çÌfFw,V¢-øO•yé vïÂvï0;ºÿ•õ¦.ÓþJý~½^ÝÕMß‹£®Ôë+÷ëùgᑺ·R’Ÿz¸¯'Ô'6PÏ\ žþ0lXÌ‹`k Vû:Q€ºþd§k ˆ•èôol€þïh£ Eý§â?·þ/føEù„ô° L P|ÍÜwlI£‰Wÿ°ùUÌþK:álk‹Õ‡uHd‚p”?G¥>—ý:¨‘ÿ s†t÷~ó¸+§¹úŸ<}úôéÿŠpéÒ&;§ýÎ…ÚÎZUçpÞÏò à”T»açw*:€“'xØßéÜäqç´¤„SéoØ! —=³Ò´¾ Ë%ƒ×àµa v¬ŠZÁ¿0þÛm~;‚…löy¯Çàµ{Wýêt p׈ÕÀÿ«ˆhªè±­HÔÿ‡'Î&‹†ªª°èAù¿â6åI¦;x=ðxÇõƒîü ïî3„þÀÔÿ©º¤~Lƒ5Tç¯íûzG`Mý«F(P{<žÂ2€ê8Fؾ}¡xõíµ•c+ßzãù•Ü@îäÎ7MøgÔ&´˜ëžÓ›»1øç¶ÆDú?«ÿ„ÿéÒR‹…Sw¬l棚¾žÐ¾R½Ÿ¾Smî6uÓÏ¡›~¿8Q@Ý…Ž]À -è®ÞÔ7UÒ3~(ü)‹ß7ët‰é˜lÔiAÒÄÝ‚™Xú7,–;QíLYÿ‰ _k]äò?“—@¥_ÈÑ>D2¢îïéÃÞ}{€èþ÷d÷mßú7MÜsÌ_ ™¿ºlÿÜRAs8\Ð,šÿ‘ÈR[A¤MÌ47ÓƒÇ~ ‘_ñ<ðÑùΟ?ýpº&?_x«s²¶Óãwv - Õü;=Š@À¯üsX SdÀ Í+ÍyzA’f bHVÁuÙ/{æ Tý«$Ã:6Ì£]€Ô@6 "æ—˜€P}5É6/^¦“ôØl²×±j·Ëëò¬Œ Á"cb 6ÛPAàÉdr¨jœ×R®÷Aÿ' -è¸J—ŽŽ„ÿwþ;ÿESÕTþßö÷õ¥ZúR¬´@à‡  I@Áࢥâµx¼/@ ¡4 ¤à „‚¡Àwˆ„â©Û-¢àòÝÈý¾ÍÜù¦]qJqÜL &†ÿ÷rÌé~„ÿÀš ¡ÿ÷yÿ/æøÍ7>Ýeªï2QUõ?ÝŠ»Lz°`?Sú qz¡—¸>Tú.øLzƈ%Vö”èÄ€Ž8€Î1<ümíF´n£1éÒÁÁ= ¬‰;¼©£ Øþµt[ÌÃô?á?oõ!œ_\,Ìjþ…¨ýéá®E<ùÄP@&j…Ä‹ÿSqÔx4Òp0:?\£+·„xG`5ás1B2q€f#ºþÞã=@àï4s€‡¢|ð½·žøàÇó×¾÷ÄBgíµ’a¡s¡–-ÐTp–˜ HŒýÎM'Üÿ¬L8… -@<Â#¶®ó뜤w=ÈàÐÀu¦`à`ü³ó(`’j|YöÚà°Ù6 X¤b^@ ƒÝ®á.@c]QþÓáê6‹ÿ -À¢àŠŠŠêýC‚ lÑ%PœqàÿAˆÿ¾ò?Høßwƒ€>˜ÿR-~ ÐÛ}kˆ·¯ù‚klöã]@k` ñ€j_<Ô² !ÀGøâQ€<¡àízDrS€¹“;߈éÝ¡C{58ëõsÐéÍËPäK¬1öþYÙÀö¿Ã?•ÿ¬þ£¯6Ñ•¾‘¾«‹Qïw›åßT¬î¢×À Š{!1˜©þßoªlè5Uv™*Ñ<0Ur FƒEPňÑ@ú‹9Œ ‚ØŒ”@„€ Ê»P»#ÀŸ·÷D©âÏKÈï)Tæ •’¡€…‹‚$nþ­a÷1þ'´}ˆü ÿ ÂKaÄü¡ ¸›…ÐÌ:d€H¤9R°T/ nÍj{ý? øs @-kÿâ|yªóâoªž8ÿÑÃâLOtNÖÖvúåÎÎÎZB'$„ -­ú=* ã€çBvy  9(@¦ÏO˳ÒBí,—ÿÄùž ðøñÙ0`„€Uv€ €%ÀŽ(ãFvÜz ŠÏ&¿©í¬U€Cøè{o}÷Í'Î?´<¡{“?¯=_[«šõtbPÕ)âœ"h« @•¿¤B(€sÚ)^«ƒ¹ {œ*º¤N• -¤—7±HÐ)ÍSõ> E@öozÌ;1,pq@„ñœ+€Š{ úÿ»ssÓn3 È{3ƒ²Á»ªáÕÀÜ SÅjÍþdvÂ?ñKz4¤`F,VÀ_ŠO)ˆ†Yp§8Üø}ÿÍîÞEë?uû.ˆO´¤úR-Ás€`ª”мà~-™¿=@W‚úš@p-°¶'Gí¿o |Ø -ÀÀ7Ç3W虡‚€]¹€ÜɯñÔÕ ;¾M%¶›Àó`fE¨ŸÃ×es‰Ûºu0™ÇÓùƒKá?¦õy²ÏLøNõ?ŸÐ¿˜Êü#ÅúýjµI]NOMÅzSïu%rpS὞î@ôF=3SW±»ûDÉâ¢UäéëÍ&ŨC' æƬÔÒoI@& à¤ò,A€®üy…‚3XŒCäüÿ»€ÿ…ìT†3V9ŒÜ?Æ÷‘ãÈÑSÆ£# §F €mP Â[1Æ¡€,è €DŒ c`Ûcàü<âzÿßý²·o©ÞœV½6ùð' ö'_¬­õ$UµµôwU‰.€3Ûøì÷,xœÓž-wÄÌ‘@iÚ)Óm]Á?óbSaÓ)cÓ Á/{ ~*þ½y^âÀUEÀJ| ¼ÁK°{é“H¢k`°+oúÛÄaK‚f±*hhãUÌÎȚ š“ç;×ýÄ0 @Ñ P&J h$€iÉéì$è÷8Pþ+¯ÒÝ:’T ›¿=é÷¨¦‰ðj`YF€U?ÆEôqÊò,p `m°Ý.¬B° ð÷Ûw~úK¬ JÚÁ#À™ŠOá~¶ð`à>@à÷‘npÙþêÆÝ»Õb€ù@ª¥%˜jWrkñöT0ÜG0¿VÇfÀø§ý" دƀ`Ü ùâ„ûqW<äÛ…n\r{ÃõüŠ+4x&÷›8wrç«?5-{êê^×j‡‡Ã:‡[§C»Ý„ªÛÌî¼9¡ÿÑ/àßÊê´ßRÃøoÅߘC࿹«W¯îí=R©VwQý¯ÖWéÍöÔ„þùùÀ~uq/$S¹º’uue—ÉD¬¡¬¬-úînBÿÅ’w‰¹Û|?¨žnn´:«Xô‡eÀ¸¦±8˜ÎX¶â Ð/ÁÁ?™Qîó÷dòð¤‡çÁ@ `1Êò?1€Eÿì´Æb±°ÙLøoÕ¡š‡¾iˆ4ŒO˜F@"ƈn)Ìkbºa;€ùD*5rgÿÐþÓ}sÄ ­åq'ªZÁî½û%;÷ý|s~}u]õÄCý»wÖv¾89©JJµ Ê$Gª²µ>$É)¦ è§™xTL @P±CPR!EP’œóžuú²éqÊÎuï|m§Š>Cˆ/6ÌËÈ özeýd˜ûx?°=éåð?Bw»d§;#°®Úm’„È »}5‹ÿøêOÚ†PýOàÍ6ÄÞ@BÛп´ž™i­ø„ °åx°…Œ¼¾sçÁß)þ÷}x£ïþø-Þ¾‘Å4ZR©šµ=<ð/@;Á?¡{ U®}¸€5dÑ­:ÀÀ¾àTÐ7€ýÀÇ\Õ·ƒÇNº\++®©@n0wrçkaýuuÚáokm£ÿýSXw›—ÍÖX¶ö*øï³ –Òê¿K‘ø «_/Uò°ú³à^¾û@Ù}z¤Î/S÷*Ö€ò|ºëÝ‘_ÖÛ€×ʈ"ÔëM•j}—¾›à—µ¤äí+T·[˜Ž˜›…[· 1"ªÍAİ* éc^ÐÃÛÇ $…£ÄzøEÌ]óÐòçúŸîµx,’¨ò_´.ð3ç kcDưоq„{ÆúÚ ÄtõÍÊàQ#K"ö§ ¢CíÿÇ‘‘‘H3úÄ -ÚàçBGÅøî½/§üú‰_|çÂß_XW¸ù:;ÏOÖJÉ(*%H·j~±¾n*šÀ<½ÀÅ>=QÕúñJç‚GÚD| a?†þˆ8‰ -Èò¦“*=ü²ìôʪMÉî÷ø vY øþy Ю±’ €ãY¼5¶˜E`Ö ™äêŸ(€VqfZÏ`c°8gè<$ôÿžìø]iwoß½{ãÃܸña_õí»Âÿ—"P]E€ÁµvøCÁ~{/˜ -ùRíkDD`}ÿñ€/” -øÐú?–ÂÁÿ}‹ëXðv;@rQ@¹“;_Ãé€0¬Fo]ÇÕõ€jÿ˜›/1-'ÿ*î?ìè%ÜÕþkÝfÇÛflúÑwUöéÝO7Â{ ¾úHù‘üüâb“þ€º¼¼ìÊ}¢ÅhþSÙ_Ž@Ù‘ü²†ÞòÞÞ2ªÿy6Ð]r¢Äºk× |(醽 ›Évã%ˆbS„@ÿ `I@“ÿDa‚U€B*ûœC€Y`ÑzSÀÿ(ÀµXw½Éh6…Åk£‹fc¸>l4êŸÊj¼òO¦ ób`˜h ×ÍŠ ‚Ø€a#Ú^ÿè1øÿÌç‚QÜÞýr&ÀŸ«6×××ç׿ûáÛT½6­šœ¬E ³S³°u²`ZI˜Î¶$A„  O¨ÿÈ€býŸªýT{<ؾ_[ AßáöGúOˆÃ}ÄÖâ®`ÊšjŸ -± `Š»‚ÇVâÏÜ]y~…ðßå -äl€¹“;_þo@€@׿p@‡U~lêsÇlYвèŽSg ø÷E±ªõ¿ÛÑæ¿^½_]¹¿· >¿Jõ“º—*þbuqW± å¿Út ×T\ÖPNd _]ÞËø_* _ýÝ'÷w-–¸é"Ž•á¿»¾ÈïÆÍlvÿé/Å»‚0‡è³¤‰¦DSSQ€DSZ€îÀ˜À¼_"SÍËcôü—@ -¸™Ó‹%ÆJ“é”ћ̋"28j¥ ÁF¨ø¯4ž¢úÞd\2Çb1ëbôf,\°ÄIbÐl¬? 4(s‘Aš#m¯?ÀÏ%*UmíieðKüwÏ«^#dþÅü/²pé¶JµMuz²Ó/± @±nõœõýïÂ0 íÀ*J¢ëÓNϦxWµ >°)ÍcP’üô†ìE0¢6%?Ñ€Mƒ×+va-`RTùIû*ìú°ý31ðøÛ³ -öÙì~Û®þ ´D[ QÓÚ(п‘U±P@Àÿ}à#ÀÎ<8Ó1Þq°ãsmwï>ƒî?(L©y €€á¨ço­šJùv8ÿðÜ ÀC,þ‰‡|üê¿y@ˆ(A(HåÜEwøÊ±gn¯ü»¦r=€Üɯü|Ô20@øÿ:Áÿ°–7ðšWw _u„¶%€Zäþ ðÇ}]¿eÀRª¸ÿþCå¿»~?•ï•û©ü?Ry¥~oY~>Õû•zÂ~ü²ü¿.ï-Ûž¿cGþ޲|<绲޲rð„²òÞJ,Öwòw8ñv·»äÄ ¢în7¡¿ÙMÜ€5÷2÷ÜVÐú›-Þw 6 Ž Ò]›P HdÇ`ýÏÆ¿Ä"¾1[þfÌÆÊS &“Ñd2…—y0S2Æ€0}øûMõaâD¼‰(ÑÍhl8ÓµAЉ " œdTf -ÂͰÿEÄÝQЀÿvû1ø¿Íç€ÌÖ~‰ ý}ôšêµóµµçÏ¿ö󇞛t{Zõ‹ÎÓç;“< È^ èÜrpÁ?ÏAÀÏ<#½J p:;TüK ûH Ú P© ôM @Ààä0 *€lT’×.;U˜4 À.œ€‚xí"úOvñÌ‹Wü56ÿ¬3€”y?â•5Aâ®J4ZgÎdo‚l…W(6ÀC‡®â< ñëhüœòÿƇ\ü‹)@¢âAŸ¨ÿ«SAL¶öãkÜ ¼oƒ<Hµ>a?¦þö>WhßÊ”/4E Àw…\¾x`e%uÛ·²ò<3€\ wrç+>7j€ÿuTÇÓ-¦é¸:¬„ú¨ü±×ê¿ÃºUü÷û¢ý¥‹¥ŸŠÿo;8ýû|÷«ë‹÷ïߤwÿ~µº²XÝ{ _¯/./üïÞ_~@mê=PyD]Ù[V - n(++S÷ö–—å÷3È/Ûo"ˆ'ø?Ñí>Qâîî>COO-ˆ èÆ"&(Ĉš”X©œ_ŒÆÐHD©ÞoJ'š`K4)ðŸ‰r3=ÿ¨@ÿ ƒ?ä1øWXxÓ4rÊ Àd4/fxIP4FõÆþBôÕGL r…Ð@_`jŠ{„ýñÛÕW °ïvîrîäÎW‰ÿ¥p¢0ìÖ:,PyË7;ÿb0þ+5vÔú¨þˆF¿­¥OÑ·¸ë©þ?RY¿å~‚$ÿÁèWÜ«†@pOµþ_—©Ëò÷örù¯.Ç•€o~Ùö²Ýe{wä—U"7¸·¸»Àýÿ'v & €÷ÒÃenK°Àì(•o1oQ, J$,€û¦±ÄàØÇcccMM‰AÁ£83‰(2=™¨õ¦•€<ú°¿Iå}åHé†ú’Ee°Äl2b-q XI̺‹mVzˆ7b1AŒáH³q!Al¤ëÑ£"8›Å$ ‘7E - -þÛãM67LDÐ(Þ_ü©Æ¿:=¿>ÿ‹ÎΟŸHk€>}žPœ_H.( -€Š#îÇ+.@Âz¢~§JåÁn Mž˜÷8790x €i¸N‰¨}ZµéYG,GöøeÉ€Õ@ôÄ`G* ×à‘ ²Aò²ËU[¶øçG~ ×ýÊl Ý¦ÑØ9,€­þ$öâT5rB@+Ö4j4B€0kl…pæÁ‰€ON¿zuüàõ™3Ÿ- ý£O‰ÿ!Ä¿-ãuªå·Ášêµ–2øß#`h_ÛÖ‚ÜàÄ?Wª¼!Bùþ赩‹®ñ•+¡gî^Á €ïçz¹“;_uýßß/œa‡ÒXY…ñ_©{ìû·PýùßRjÑj¿–âÿ+¯ ÿüïêݯî:R«ŸIÝË3ê|ªý‹ÕåùùÛ‰ô–£ú/Û‘Ÿ¿_q-Ï/kP«ÿT­ï..Ö£î»û„µ[]©?QâvÓ‹Øf@´€(Ñ}·kvÁÌo-q3 °.FA¸ëOÅÿØØÇM &zÒ"‘€Q.ÿJîŒYø'°7RåßpjÄdÅ?ÝEæ0» cfÇ2§扼À’›%ì¤7b`\ -#Œþ§Œ#¯¨Àæ@cØ)€¡ÏDà |ÜÂÄ,Û€¾4wì´]Xµ ýÿük¯Õ>"ü¿wéM•jºv²sVâ&€£€ìr¢•%´ûí* ‹JÅÑ<€æ¦¦7ñ#¤yâ <È˃‘,¯Ë^/{6 v¿WöÊȰKX$›âù÷Âì﵃س„ÀFO4~ÿº×–ôcE`n@hTøÓ{«Èn¬:á¿F¡­­gZ+`ÈR€™ÇX˜éè¸:~u||fÖ?ûÿDBà ¡ü÷µàiuß] ?ÖÔ¤Úׂ¼ú/GîûýƒñP{{€®ñOüûâSTû£à› -ùV\Ác._ÜG¬Àwù‚®o­üùí++®çs@îäÎW}új¸þ'øW€ `ímgû°Ë~Hÿ>Lþ÷[àþˆúè-*þõæWÌo#ûGÝÕµ¿kï^Êw~¹º\]¶=¿¼—îw£ð‡ÜŸOwTýã¾ @þŽ{1P\\l>Ñ}âÉ'Ÿì~’H€ºWßË›ƒQúëçpÇ -@·¹%¨Å1(ÞâÍ<€:÷ù-‰ÄØèX]@¢@µ?‡gàâ?ƒ àaf[ ŽÛÍc‚ÖÅLÞ5–ô•dŸÂQd÷Œ& ýô#bMlü/úG¹À‰?ÖØ²|§€æDN™•$ÀB+'éæêMK0þŬ\ÿ/–XOpñœÉÔ§ÿQÓ)ªÿu(ïqå…# Œþ #˜`' D(¼° íõïÀ¦§–ªÿÉÚ{_ˆüäàÁƒ×/Ìýr¢èÂw~ñÖùGøßÀ³€ ³r'Gq& sËÀŽÁ$I™”`üƒž¿®¬⬠ÍMÌ -Âõ?›¤BÿŒ²€ÉÞ1€cyàŸçÿ…óži¼J€ ÞÎ.Š~›²y «U„ý ^? þ7j”Q€ -`¿p²° ™3Ù<àEÇøÌxGÇ6Ä4Õíül  O„ÿ‹a€¾ÔÝg„ ¦S©ÈÿR”/Îò?á½(þá Cíq¸ÿ¦B¾ðn¿+)áùs¹BÇ]o<õ­ÛÏüåÏ?¹rÜ5õý©ê\@îäÎWpn3þûúû}uÑ:ÿV˜´1‚ö?‹f'ÿ¢ýXø'äÿR }½íÐRýï¨wèë»*»ôú^4zqò{Õû”÷ö–çoï%øïR£ãOðŸŸOL`û¢{wlß[V¶7ŸÀ/‚(î>éÿÝ'Šó‰ PµoÒW¢3ÐEOŠaÐÏuw—œp €EÐZb]v»o–,^ËdX˜Ï\Ëðp€ ýÄÆ@Æ>N+M€L4z‡§þ°`ÑJu<üÂÈïG­n6ÅDòOá5³ÉÌ®ÿp=oA¾ÉèoµbþϬ7™Ì¦†Êc%(À)TþK@Œ° à\ÃÓ¯r`¤r¤ò(@{ˆ„#KXôæã½ €ƒ ú'ï½ûEr€žØyýàΉõ É_^ßö½Gé—ø®êÍÎ'~Ø: à0±pZâI@0'Ì~B€ P¬fE>}vsA¥Âà<£ÿ¦²N?ÀÁ@¯_6ú{æ=›j}¨ÿšU^ d7@ø·±/PF*† }F|*öíëޤƖí h4bL€u€F ýÀ¾9º˜à,À™û `æ;‚˜ÌÌ@8T1=yi¡õÐÁÏ”nÜàÍ?78èC,¸!¦ûRÕ}Õ-Áàoƒí)_p-€&ÜÏ~E@0N˜/ÿ©Ú' -°â£úÿ¤ëù•÷â®ç»˜„\+tåÏó—WVÞ;yò8k9;¹óèñ¿¥µ¼¯èõi?y¬œ¯§ÄþÔÿûûéZjaü'ºà úÿ³Û\ÿ -•þf(½]û{÷÷öîÏWëÕX@Õþªá{ öþÄò·síºŸªÿ½Û‰8 ¦‹éÀâ'O”üÙ‰â'KžT-€'@/PŠOþ‘ p‚[t_R²‹ŠþkØâ› ñ‡©¯[AFalúQÓX³ÄeîÐL&E¿™E‚ÿ%´çõô…Ê0¥û_bB3@V– mÁºˆì!z>g45­¬l0ÐÕh2*úd$2Ò`äAY@å}PIcwPÁD€‚×kó³ ¡hí仿&pú‹ìúàúÁë×Çgÿ~bhâïòÚ‡÷åD§ê»µ§k¥¤³–êÜ:•¥Ä¦Ùé?«s^’æE"@Ÿ›ûÒÖj`‚yzS; j“'YpJ<6@Ÿô<Ùï—“²ÁNk0 -è]õröàÝ €ïíØþÇf?/züôÚ¼¿Ë4ôbã–1Àƒ6mX+Zï„o¥ߟ -ì`ÐqýࡤjçÁƒŸ¹@id=-X”ÊnÀiO…Rñ5ßZ0˜BÊO#ÿùØú= ºâ®c¶„ޝ¼Õ¿ã'W\Ç]ÇÙðG?Ý>Eð¿ròø&öý&÷Û9wrçÑž»{ÿàéös _T`¿€}¶ý‹˜}ŽÙþ[8ü·Ô">î67»Ÿ¯¥K__¯ïÝßEgïîÞÞ#ûÕGÔGŽô¢ïO,`÷öÝÏå—õ–÷æ ái¿LžÛ±wÇòòòï(.žã‘ÿsO>©./Û»}ÇöürN &@71˜ÿ%%¢pbŽu×®Œ€üBìú)ëü2þGG{F›šÆšöíkJ#)P»Hð4€èbl+¯—ÊwÔñ§L§Œ%àZw¥ÉTnB V²Õÿâb Œ€Xxd)oh¨<õC€¼ÑX©„À?óÿúòÆw  á¨ˆ` ´´½þÄc0ð™à7µµ§ß½wúô½/° èÞ‡oèè(š˜˜˜ýÉwµ[âÍÕäylF `çËplítŠ0`±€ ¤LîSIö,îça@8°sÞ³ âA3¿W‚ïßï‡$`=²M2ˆòßk#2à•‘h3Èt' -и5@lÀoXmä•ÀxÒ¨±oõ@ üv[k•˜dܯRjÿ3Ÿœc 3ã‡vÿ?“ÜÍ€|KñRÀ¾„² w§j0øå)ù©ô_ó±ÿñS¡c+Shù‡Þ8¹rü½“oœœ:‰@.ôýW~på™ôÞ'ß»rÀ÷sFÀÜÉG|>Ú³`Nð!*òµ¾- -µ*D š]¶KÐoÁìÿK]´Ž>ìÐÕSA\o®ÅÜEø¿¿ëíÞ#OA ËîÝêÝêü#•êÝ;ò¹øÏßýÐ?¿lïŽçþæ<ËOöªËœ*6ÿéûÅ|Þ/þ‹ÿu¢øÔËÏ5(.?P~Û‚ŠAL„ÿOvŸÀe4`jÿk0€kÊ¿LFx´”#ƒÄšÓà1ÑDb4rv!²Yd÷ž"Pi-Y?h× Se¥™8€ƒ†0þßÌ ôÇMðolhøá«„þ§*Ä9؉œkÀ€±R7~Hè^ÔG%Y*h ·½yë1ø÷Ù -À$–\º7ùë{tþÝõÑõëEWÿûxÑìOòÝó÷õÆ´ê5b³^ÌÖÖ²€xÀÖ8àý倰õ `ƒYvn©yÓ‰†¿SÙ4O„A%‰o’è“Äü ›d;xÆð„Jƒ•?ÿó* ›Ý°ªácW*}Ìþ‰u€ÀüF’ب‘m­lDÐF#–Û4¼à gÎ(ëþ¥âÌLë¿´*ó¢€,€ŽÏ#—îÿXx—ª~,hé«NU¯µÄkB©µt~Nþ‘¿à툈û|èþÇ] Âè:¹²òÞÅBú‹+Ç]ïaÀÅü xûÊS'O^<9Å'Ìs'wå¹ú¿t`äú £ÐÏu?_Eâ/–ìE-i¢xÿ©EpÂ~¢hÔ³°Kä©^è=²ûHW¯º·¼òÈŽ²üÝù ¸¶ïEùÿUÿÛ©òW¿õÿÉòâ'çž,ž+>õêÞ²òÊ÷Õs&Óâå,ˆCÈß=÷¤þIð_»F·ÂOFýQ¦ô3yÄš¼$¸”ÈÀ(Ãm±¶°N·„?KJ‚e¥Ž°Ÿ)À5·¹Û¬7éÍV1øà¦ÕZµ–`.°žÀÞ†2*þÿ¯6Om@uOàèÈ)ªþçŒbïŽmh8*ÆÃÍD -ÂmmÛÚ^¿õŒ|&x÷ü˜´¿ôï'ý}GÇõ0¡~ubÛ#5*‚ÃwU*þZ›§¶“1þ/¨T2àÿ¼Ø8I^–U¿vf»ìP­C$˜—„B€ÅÁ 2î„@NJNŒú ø ~ƒgÓë7ø½«ˆJRùÀàmäü_¯Í†4 UÈûbÅz¦ù…€› Ç^5vŒjª4 „W0h-ÎØŠ¨˜aÐÑ1~õêÎÏ#·•&À‡7@R}ô¼¥ï·ÕÐÿ±˜•ÿT{ -Àøò~ ò}ñc"ýÿ>ªÿ§V\DVVŽ|þ¢‹þâSt|ê=×ñ“S+Oýxå™}?¸øÞÉ÷.ž<žG àû¹DàÜÉGŠÿ‚ ´ïÖY¢u ú íWR¢ŒþÙƒôŸÞþSÇóÿf³£^Oào†ößUü—GüÓ×Ýû»ò{óøKðÿÙŽíP¶ïxæ¿ÏîøÏ;Ê‹ ø©è?ð§^./ž;aÚþÜŽç¶?·}Çßí%Ü/?pŠŠS1ðÿ€ºØ¤ïžA@Ov³Px(Àÿ-,üºþɧY€2Æ—]ù—ø¾%‘Ć žDe86ÓÅÚbDtFóR=!7æÿ ÄÍ&3§fJ”6Ã.Nt[‘9@õ¿ÑÔ`°7Œ˜8ño¤RäþŸ2ž9ÁšàâôƹwFöþ'*GLb=p8\Ðn{ëñ&ïÞ;= ðÿ"?uÛxÇ/*ºzõjÑÙïü≯â¿ÃùVçùó“*›ŠhÀ‚XØÉ¹€ÊDà&}*áéSqο${6e©vrk@ZW9¥MYXÑ.X—<ôÝçH²ìœv¼N £~/8€é¤$f¿Ýë•$€:'óR ΄̿êÕ0ÊÛ„.À*> ‘W«Z½›x -ÎÖV ó?ÆÿÐøŸA@«p(A€ÌÆÇg84þù@µØÿ'p ÕBÕ?vS©5¬H¸¯ÁæY?ª÷ ö þ8†Ò?îrÅW\ÇŽ»B+ǯ¬œ¼ròâ'/^t=uÒuüâñ7Ž».þø©ê»?xê"û¿Ÿ“r'wÝ©&ü,Åðõ[­««³Ô¶Sá߈úØùÿ þcù/F´Úoca£ÞL à•Ê®®JäÿtõÂØ{DÌìGÞ_>'ì¦?4ö{˶‹$€÷‹ õ‹‹¿_~`ûö—¼üì³Ï>÷Ü?m//WxyûßýõËåå﫱DPMÄQÏ=iêF# „›ÿ»®øÿd×µO@¿(ÿ•–÷5j&,ÿcccƒý¯·ü3›ÃáúpØXo2ëÍ%™úÎ?)¼–)¼vm—»d¹dWF"ôaÖX ú%!>¤~º+G3 û`"\Š#DŽÂpj„冽?m‚a,Ð…ÛèܺõÌ~&ÀÀ»_ô§¾ù /(:ûÓm_Sâ6Aþé󓳆ZÑ`]ì|@ ØkÿÖ=ªíòú¦ç¾@E¸¿ÉÏdÿÚŒmA *â -hú¸{ §äõdŒz‘HTÀëMÚí2æ“v:v¯} ü¹ÌçHüS.Ü -»Ío·W5ÚèÛl¨ÿ‡˜hxp¦B¬B@ÄggD KÌ„ð™;oô)€Y¨V6þ‰Ä[Úƒí-ñx<è xß_ü"þ\Ê 8ÒÿB.ªþÑX¹x|å=Âyºž¼xüøSÇw]ùÁ}>õƒ¿"ü§ç¼0'äNî<ªßx}-{ØP:@¥?êÛ ¸Wêÿºht# -bÀc„þþØ3àãyA÷óæ®úz¨ÿj˜z÷×ï?rä©ý"  wÇîüòÞòí»9î -@YYÙöí;àÈ?p åýû¦'MeÏýÓ³Ïnö¹gŸÝqàÕ/—¿z üåü—”18@ü@Mðÿ§¦òíLJ#àÏvýjsÂýk×®ýß Ýe€k -@ Ooüï"ÐF?/ÑÓÓ3800п@%8dÎÆrŸ°™ƒ ×-DÜbqÿ™ =¢Ÿ±xó¦õæ" ÆJŽ lê?]é®áÔÈQàû©ˆÑxn$2b„ @ ÿNá4ü9D€ˆ9mÃÛ^¼ @míäé/Ú»ÿhÁÿ Eÿå￳í+sJ.¼vúôä‚ÍY ÷bçÂB­Ò`ðW‰` OösIïôÌÓÂ|YVÂ‚ÖØ@¯ÍËD¨ÎWÕ.l<Îú8È3ë…Û€¹þ·Ëv;qƒÒ?öyé¡ìåL`^D彯æå `¨»—M€Ù€S°A@£©ª2\ðz«4¶FÍç²A€œ@@q:s50¢:DP$€ÏÜ -|·ß’]x·ÈŸª¡g5¿­®þBÿà?ðž_ý§è¶?ÅApsÅãϯ¬Ä}®côeÅõÆ•§ŽΟ|ê©‹ÇŸºèzê)×ÿ>yü©ÿàÏoü˜^ú+zõ¸+o*°/÷k:wrçáÿVýoÁJ?ŽßÃäíÏÖý8uPÿÙÿÿþ;Pÿþ»öÀ3ýÈìÝßÛ›Oåo‚ÿ°ûoÿÏ=[V,ªxÿŸýB~ºÛþòË~µýÿz;ÿü—Ã@Ÿ+§çê'Ñ 8 .~¿øDɉ?CùíÚ_dþ[ p×}àµ]‹»vaG€5º¨ÕÞ©£ÿˆººááa][¬-†Ь[ÜÊýÏ,–˜ÝËf*ý¯e - ÿ$ƒŸB?cñæ.ú7éã¼ °Þhª¬46¼Ê¨þê9î`€####„ÿŒŒ=õÃóÖÐ88jŒ° `øõ[ßûçÇ—ÔÖÖž¾w[_€ʹ IëN1 è™–dÕ<úÿîdϺ$ûeÕ‚SÚTP©Ä¨ Uý’l6½Týc}qú èøÛ ô%i¸¿ PÄÿ)ã~6€¼0úe«¥Òo;ðÚ±`U–ñ -×ÿðT‰@œüàüß} €8ãGÇÌÕ"‚ÿÏ"·ï*ðÏ^€Tõݾj*þ‘Ì«€RhP•_ý?ƒ¡ ÕýSÇ\üÅŸ!ÀÇâ+>WèùÑ×ó+W\TýCÿç¯\ÿûÇÇO'ðã©g\?¾øWŸzŠžB¸‘ûE;¹ó(ð¿õ"”ZÚ à‰X”8 ~.ýûû-ŠÿýÈJç8È~¥ž@}W¥¾^0hÿûw! -¤Œ8@YY¾º|§þàßüí;¶³¦Ïø`ïöçpž}n;ÁýßýõÿŸ½·nòN³e•+Eò­Ò‹ÚHVÌÈX`+’ª…P ãûÆ”&Ö&Ãk3Zv:(HD8Ev±U\"…­ÍõG¬±©¦ËåI3ÆãŒ&2MÅ|Œ«å;e×TÖ43ÝÝ¦é´ “š*‡Àž­}Îó{eÈGÏÞôôND?}Z2&¢º}Îó<ç9'0«WõÜc€š‹U¯²B,½ ZêVËèqˆ@Ù]@9á6 -ùÅ ªåíóTÏû·Íûëë{{7l8ZìÔ÷Žî¬¯?1:*–‰0Ðsä¾ÝØüÇqO4o¸yÞ €8@±0ðKzçgöGŠtyxhè–]sÞÎS€q-ÝØ˜›`ð -ðkaÒ†Ù€jûD\ WùLBA–˜ÿ2ºÌÐ ™Ð8±€ý*ÿa  @ôr.pÓ¡CÂö¯è¨à-wšÜ(6ÿj›~N5¢ww4¶Ô6A5ØÈ~ë„ Òxâ‰@üE€-¨öˆ 2ŽŸüWÀu›Hÿã€I^Äþ?a?F“©]›écS‡©äÏp»?S`&p8ƒÝhÿÇÒ(ÿ 3R.)åǤ)/Åt¯gãñ,~2ž}AÚ^5&ÐIy  äP:¥óÿ þ3Þ„Ý1Ìw`Ù`õ¬Å‹ÇÎe²ptKÇo6lx - @€ÿ½uuÿ³ Kh`ýoïóŽNª«%Щ²`àÊæ¿«ôV û×AÀÉà0zý++·¾ür•`_¥ïÑë÷ÿ$è±@@lÀ –`éÁÀìk`Ä!æIÿWˆe`ÌÝ pDÛÞØÞŽPQ*é}®j—ë¹úú§6¼EäØÑ¿éíí=÷Â)€Šÿ…ÈÁÕHˆÏ"º6pÞÁ?,ƒýÛ˜ ø}Õ\ù{úÜúx€ð_×K}p:? êS -Üàïté«î;åzì±þæã?¿~û~ÿ_Òï$a»}ø¿þàßüÍÿõÑ~óíGþ]e`CC÷†ì‡Ìv1` ¢´, ½ÚYÛ95ãÚåf\ó—\Û¿e€ù#ýwè¶¼Ì] ªü–!¤Í NhèsÔI’Åfø4ÑtgVÊà¿Â¸àÿy¶¿-µ -`Û_4…Jp]>€M<8ÎÉ;D$ Áÿjí¿ãs6ŠpÏ™3{ž8yõñgžùÅ“{~ÇàˆM¬ýáüÖÖÿ3 Hµ¥Ò›& ú¯¡ÜgýÝþC x˜ ÿ0±Ãræ?3yf._ƒØOÊÇÊçc’$KÙx>–Ì/IéªOuO'é¥iy:.Ë]U¥ßÕ¥S:øþ?áÿæM5›jÖc 6û 8†QJ}*ÿ×rῤ ƒ¸ÁFBN.ÿyÿ¯aÛ¶úmu~êuÕOW›^|Úô4Lÿž€NS Ó -ë_´þ+ôxÔ«,•ƒ5`HŒ¨ „ò•Í•Tüomî±èÖ€úÏ«×f¹°Æ 4ëDf ¼2Ð:¢Nì^,_Ïõ?¡y™¸,ò)[äÕÀ¢O"{8°ÇóR?1€:b½6ÒÇ;úá‰ÞÞ\xãÄýç0/xØèWΨѸPæ^˜0ºéç´'Œîˆ"ø÷!È? -`¿§¿¿›úXÀ]~Zÿ§]p„%@ÿÅ>zwà—x,^/w?VÐdªÿ%I7“gåél>‹K¯½·Ý”±H_ä§ãñLIP:¥ó‡>Ÿ^·Ù6¡°éU!8ÆÞ~Ç:ØßàØqùp Wü`€Mäÿaað,'pÀ¿Ï_·w¯ƒnÕ{÷>]ýôÞÎç;M{M¦N‹ÉT `»¢²hà~$b˜ è ù+››·ê½=•/þõ?Qé½û»àûhöÔ0þ_J$"êˆqe=°qqe÷ -!9C>ŽØ p•ƒ@ŸÇZÝ_Ý﫦û>_ŸÏU_?ÚÛKåèÚƒ þ0 ->;ê¯7"ú˜ã}ço¸'æÝÆ ü yЈ°ÿÇî¿Ë7ˆ!À6#}Ÿ«ßÝ_¿g€À_Šmö÷¿äáD ôúúxGð[žSÞ¯Çëõð¢-pêÔcƒ;ßúQÍOïûE§ßMÆÇyÿŸm€¾¸þgþÍ£o>úö¿»S¢Ýþ}ûðp0jGÀ¶³€.E1`0 cPã$v@…ý8<ÞÁî?ÂÁø5èpê Ð ò¨ÀÔÂe?ZªûÍTñ#p9Úu6AàÞÊ&€Øõ‡ÒJsKmÑü‡sÿ” ðìD›¨ü¹ÀÇÅ"À*ô›ÿò7À3|àtõñgÿ÷ü®’Á&¹ùäúäoÛ&k~k»Övm²frW:uÍ&’˜î’3‡ i™À?“.Ò…ºþ™®É1Lÿ÷½HÕÿŒ”ÌÆò±²1)†€n:™Œg—’rÕ¤.™”èU) p¤ôëºtJçzª®Óÿ›m¶¶Í›Aˆ¼ª4Ö;vô(БÊ|ÿt;†¾½vvã±Uµà† O¡ÐÀ¸u0Aÿ‡5@•ªÓòm•…×:-ÌØý_¥'P·ªÕ õ¬ Å¿¾[߬׳ УìoÞߣï!У×wìÏPõÓuͬɠ¦3ra=ZÿöÐÒÁÓÝÆVúEF ›±ßd­öT{,Võú=/¹±]®çê·õnØ@ŸeË– g1h€% ‘®í t7N4`â¿8qÃ8?ß>M€#70ðÖ#øƒ:W?ýL+ZáöûKxîyÓ‘€ûà -x‘×QððN)ñ.×íÜùñL4Úpø¶~]'À_½ýè£þìg?ú÷®ÿé|\ûçCØä)æÃaa -Xd¡pp|9Œ}?­ÖŽÀññ4l¼ü§²Î_ÀÿG,ÄÀ [V˜a!`ÆZ€ÓyȬբޚ—£ËûG1ã‡30£>+•Qzý?7;[œ‡›”Åô޵럠–¦up<ŽD@œ)þÏ|‰ -»ÿDøÏŽ€Ÿ|fÏžß1 _“mmGàü{}r² -ÿI¬\³¥'w¥®¥r]©\‡í‡rº«ËedàWGîùq.-' ùB!?CþœT ê?©“¤¥d>+éäXVŽIñä’TØ\•ÍÇb’¤ÓÅd9—S¥)@é”δþßnÛ º©W×Ö(R@ÌÐï`¡÷û}ȯыϲXàLEùß¾­Ýÿ:•þ¾:ÔÿOûö::;÷:L°ÿSuvZžï¬†ì¿Óbùv%Ç[¯WùÔ€ºu>¡î±VVêùßË/Sù@ÿ_Ìýõû±جÿ D€Dè²Fn@ë…•õ+ë/ìn5î&P¾H"»ÝD­þj%p<]m±ZéZmµz­0ë­®†Fï¥>ã ¿~ÛÎÞ ô‘~ÓK‡½÷ƆŒÆQÖú¡ô_pßàêÞ˜¸ÁÃô×Ïú]˜Ôúë\øú«ûû=.ã g`Ê €ö3À÷½Ä‘B§Oõ]ïÀÔ/Q¨<žSÿ±þ±o¿õñOïûȳßE‚Ëa» ·ßÿzà•GÞþÙ£þÙÛ—ÿúˆ7``? -Åð®%@(<.‚Í»–¿€ÿ7aøÏYAœ  ùˆ«³82Îy€æ –î´˜DN-ñ€hmS{0hŠŠ^?û)­€&áÀQΟ·ÔÖ¶üºhÐXÛHXï¬]·õ>7ðs€u<€ðÌ]íßçòïm àäã߃àäW€Iaû#:7PÝŸúAêÚ®Ék@ÿt*J¦‡®kTüwXò—ãÈŸ9z>FÀ_ˆþÇ0ü§k’îuRVÊëbÙé|v:©›Î¿¶TÈTå¥X€®‚K:€Ò)?lýÝvݦô6ó =Þð?v¬ãJþc|…âútwìC– n<Ëõ?/úÙ;{ëž®öušª;M" &ÀßVqõ¯ªì¬TÁûGïK‘ÖÝnõš ÿ+¡ÿk³½~·~æþ=•ÝÄôþÄ ³kè‚ €šàýÊ… ‰ÄîÝ+å+Tø£ìö#jµ#Áõ^ú»«M„þV Ýy,ÞÒçÒ»ßSMÕyýèS½7Ýø› ½çFwŽžýÇÑÑцQ£ö·¸€™ÿhcÂ8oœñù\H®÷øë‰@ Ä¿ät/”OàÇN 0@ àÀK .ÁúúúO¡@ `ŠÞ¢ÛݱA0F½ß©ÙtßÇýÎÀ;!»‚þ¸~<àGýþÛoÿÙÏùãè# ‡‡‡Â°`8,ZØËZ]ÒÚÃf Æ õ©ø“‚a ÑöWDfÅôߌàYuò€þÙ c`sˆ ŸªþÚúö&‘ü#¢~›Zî½k zâlQL€jkÍ€lý‹Í^`ý?Š‹÷TÿÏ~©Pô¤süñ“O^½zü+ÀÛäfÑø­m2õ)ÝàX³k²&U“«™´ø§lé®®UüÀÿø¡íÿôtKŽÅóĤ¸„ñ2™•$)öÿÄ’Ùl~:›Çt1éµ|áÿHéòÉX,–Ñe¥¸œ”å’!`é”ÎÿW›m¶M›6oÚ\T0@ï¿x>„Dð؇ô -à ž - €º ÿÏ@t¿·³º³úéê§é®Ó¤"î´X-*ÎDõÿmDÿñҿѽèn5t#®[A¨ôïQýD¯ÞSíOçån}OÀÛ¼/q '¸pÀ÷…Vub¥Õ¸Û½%«(üÕ†«‰DO›¬Ö€ßB‡î<ÖVhÎC¢Wïéw¹êˆlØð›Ž£0<üÇ ½£8 goÑúŸ¸Ñ€¹¿ñ†Û˜˜¿aD&`„'£0ð‚>ÏÙ²²ÅëÐÿ[„þÞùQáÿ18uñb†}}D¦¼¸À¸ÏÕçzì±Þ?~€GæåaôþþßúàÖ#?úÙÛ>úÇ¡F·¿þ~xhh¼–À0(€½ÈÄB`0ƒÀÐ2æÁe»0 ø.‡Þ\~sÕ@£)¶ÿ5‰i@(-€i--ZšåPˆ9jv†–©ÞÇÜßé“ÿâÀ]ü¶4*ô/ÀF¡XWÛ²ûÿ;pkiª `]­Ø8³cÇÿú9£0€Çÿê™Ç¯^ýj0™²mš„Ào'ÛRŸùmª-5ÙõÛ¶k é]òdNFÿ?>\èBÀŸ<—¤’ Íÿ±B~wòÉ18ÿ͈²1I_ÊN¿°`|šêþ%]òOo>¥ÃS¤ËÄ` -Ü‘*ýÚ.ÒùCá¿mûº)@Àª}lð€ÿõbð¯|µ¯sð6n´cðïÛ[mÚ‹9•ÿt«îìì´ÂHeé´0 ÐWêb{=῵¢™ÕÿÍ ö[¹°ü73ü£#Ðͼ À]b†Kjõ}ÄÀ<€€_  zþjƒÚ@Cçó*¸Zð×þ„þºY­¨þ9·à\WG€³hôöŽîím8KÅ¿0ý½1á¦Ë¦ts»çç#~—Ãïø ÷ëú þýõõƒÈôËÝ7FÐÛàhÀÂô×åy % ë"¼Xp@‘ 7 o­½ÿ­0ÿí¡á÷é€ }ðÞíW~ôæ›þÇZ‡44ôŽÓŽö¿8¢GŸ =¨1kµšàåaa ÀÁTч8$ƒq€øØ0›±0`vBð_óÿPKHŠÖj˜   Áö?„ÿ-Î(|}¢bp—@€ @xIÛ‰Øáþƒüu;¢M -—;NŸù2æŸ}€ÓŸ#Ç¿·çÉ='¿’\Ÿ´¥&mm“mGj&'SDj þË]³Õ¤¯¥R©Ž\W*•»Ö‘Îä2TòwQñŸ+âD -scsô0“—ósñ¼4—ÏæÑÈÆ â‰d³±˜îµ8€ÓºXv)›©º©“’±˜KcJP P².Òùœ›×©þ¿nÃ@0€6Û&Ûæ6Ì^Ý´ö.@­Ï›LjlÁ ÇIJÀ±£¢°¡A¼Ž€o¯ioõ^ßÓ&“©Óô4(Á¯ -:“ÇÒéUy-zS„à?Ñ -ý~k€jÿ—_®$Rм•]+›+ÐÐo}y+·nmÖ€°=žÙ5ÿµŽÔ«/´Àu„oÖªM*ïZèâ…ß°Éjaø÷°0(ž>Ÿk°®~Û† hf üïX8;1AàèoÀNÁÄ¢{bÁ½àvßðG|ý>ŸÃ…!{RýïÀ\®Qd.”û!ð'ø l't·(¦¿<è?u±ïb_ß@ßÀ¶è;ûúú^z¬þ­·ä-"·‡¨þbüúZ?ôòþhøCûgC§Ý><ŒX‘øÏà ,€ˆ @ -°,Úˆ Ä †4E‚‚ÌæóA­64›9y°Å¬Õhœt'`Àš 1ƒ(´‡œœï£ „' 2 €]08¸Vñæ#Xý¯ÝÝ?e€«°<ýåÁ?œ€NŸ.¾qæÌ:ÑxüDſ˧›'m6*û'!ÿß…@Šj¢¹ÉÜáâרõ ¼PÈ’3Ét.¹O.dd©Ç…Šÿ ]Ò€pO¦ãÙצãº×¦1øm)¿ýææl29Åé…üLaŸÜ1YúÝ]:¥óo=Ÿ^?‚âÿú‘íÛW)À*¨ÙT°7À1ÞX+ÌDhv7¬î¢°·šÀ¯£ÚD,ëØÿWA`E@¥'H¨u¤Õ]^¾¸¾Õ¢¯¬höêõŒü[á Ì9@ÄPþëÒtÛOÏz³³êbtá†?15œ ПžtªTßÖÓ @Õ‡vZ­Öêj+e@ ê‰ -øx -лá7G³aCï?n9»‘Áˆ šhX\ äŸp/´/ºçý#ý«uÀSÝï«S¦ƒ X,;Q^N,a¾Ïã½x`` -?ŸÍþèo;PÝç¡Ê¿Ïà ÀsÑãù–Ç‹êÿÊ>Þ °ñã¶¶ð·N³€…|]þ#í#ãö_Ùÿ2D l¾Àb€jÿñ0®¬Ôb°¼¬‡M07Bï - 1‹@ç!&dÇ ÓìÄî_(Ê€¡™Š¬š£-3—ýÑ–ZøÁû§eU(–k£ÎÞöGîo“P6Òõ8ôúk9«;v4Þ£øÒ@ñ<½ãÞÀÉ'ÿáäÕãßÛó‹“{žyö+Z‡è¤l¿´ÕLNæŽØ®­M¥'s»R»R©µ©TZî€á?Ò~3)Nû‰'ã™ê÷üÜX^*Œ’/‚¨øeeÔþhñÓUš~MG ;{MŠÅâx*WUÅuI:ÒòI8—z¥S:ÿvü·ÙŽPù¿]h‹g³ S€Í5Å_EàCÖà;ºáž |_wøêö:|¸ú|DV“Ïgé4aÏãzÁÀmúV¬í­8Pù£î¯¼‚)„€[›Í\ú7w7ëÑ -°ÎöÐÁR¡¿>Ðc¸¤ž½4«nU·ö\öÓÝ¥5¼`xžÀåþoWª*¿6ýµzL°`b W¨XÙ¬g€@Jù ž=zîÜÙ…s爜En 8l(81?ï÷Yû­^/ý _¿ßemõ»¨ú¬¯÷û„"'Àî÷Àk è/²pFp¿ë”«ï¢ç"]=ØðNM]±ð˜:ð­¾S®çê{¿óóßš1‚ -àë€?®4ò»ýûáa»ò. ûÿ¼ -¤'ö0gÑš ‚ÿð ) „´àÐÝAö íí:ðÆk:y€ó-‡ÀœÑZ TYÿGØÓËàì ÜTŒB2@cc“³Qôvì­€˜ýþEÀ™gNÕ 7D, ÏŽ_E àÉgN~E à&ýž òÓ$F¹IÛoS5èù§R“»ºÒé\ª‹MÿS™ôXF.¤©ü/Èɹ$°0&å3XýŸ‘PþÐû§kþb±^›–²¯Å¦—þ:6‹åÿú5)Sõ)\’œ -/ÌŒö¥?-ýþ.Òù·œ[û¯ð‰ °}û*hƒ/à=M®ü¹ðáZ±ðj͇X€ Š 7ê|Ž:Gõ^‡ÃÔYíÃÀg"Ìçæ*“)Bð?¢N¸±´oT齕úf}3€˜4ëùysw·¾ÛÛCïí!ì‡@ ¾4b¸4‚F¿—5³—Ô#†5k ƒaM ªýÂp¨rµð¼•þf81¯ÅãõX,œÚ‡ãs ºê{Ïž=wðè¿pöœ‚ü "S루ÿèXû}~}ûü6?²©ü={âÄáÿ‚{a„(…·ïÔ€×ë]5øúú=ûû Ð À+¦LMAðØcíüøpÀüÑÏÿßÿ=Fäc$¬µ…›Ø ˜Ã¡ÿ£;¨þµËTû‡©äÇ+ËAÁàø¿ À@óŽ2P\€ÌšCæCš -gÔ© ™ƒ t:ÍA  mBB ú£Š°eu PtÄKQöX½ þÞÚÁ&€ëv íÍ€F1 Øqš#¹ÒÿÂàîfdÇOž¼zþ'ÿêñã_ñb›üOÖL^›œÜeûÕµÔµ\ ]ôwåèt¤º2©ŽÃrºp¸—3Äòt/ò…¤,KÉ9IšKæ TÑ£®—b:tòº¬.×-I1BýéØkº˜4Ì.-åmUÛãR2ùtžH‚œ¯•@é”ÎïnRù¤ÍÖÆ€/öŽl/î` -À΀›6­ÅåÕ»mq6Õ pììÆ³Î* äÔÕ9öú÷:ª¾jB~ÌÿÕ*“¯ÓÚiòtZ,Ï"‰„ÃQËËËÊVÿõbÿˆÿ2 Yö*@hßèîÑo¥›Wß-‰ÌzfÿóêÙK¼ ˆòßH¨×ô•ú -U¥~?› Ós½JÕÊj ?;Xx$€«¶ðNlA>0Uÿg‰ ,”Áø„’ˆàQ‡ÏêwßÀ€Ç52âqÀ `Û Ýû”äàʼnE#¾‹¾‡ -|Xýx¦à÷sÀÒgŰáTÿ)ÂXø%ýý¼0uà[ú\/¹vîÜøñƒkìüÛ¿bùÿÐýGnÚíh‡‡Æ›ÂbüÏn€÷èø‹’kÚàxP - ÛC¡åЛ(ÿ5tÿ&žj˜|D°¿  4õhA´ôïhœæ–CiPæ7—D* 8ÅD€¨S‰fôg çµÔbößHO±ý/,Ð=€u¿C(àÿÙg÷ˆUÀ«XüÅ_ÿ*;@üš@øÏdMM*—º^“ƒpn2½+ƒp.“FâOGŠTþÇãYžÉ¿ˆÿÂÿä¥9—òJ÷?+e±_ŠMK(ÿ—èI,žm)›Ü^u$›Næó’,½˜Ç2ÁášOKÛ€¥S:¿ûÿ:•þ¶Wl¯´]o;"Ðß&¤Û…`÷^%€Àþ««øO!äÀøø_÷׿îwÔùý޽>¢t×YM ÀŠ-üN`‹éiu˜p@­'<{ „ÿ^Ìü›Q÷#VÀ[ñ…Š‹ýn}wEw7½Ú­¯D?@Î0þWsߟOÀ¸ 6ôâWVèüßf¯ÁŠJ•º]¥ -€Xña PéoñX¨”·¢0¼ö!ßgaÕ?zºPVÌœ¸á^0º#!8]\~‚xŸÏ57 Ñ†³'@þ/,Òf -Spúã*_´¼¬ðøú<ý}/ö]÷`àx´ó­·Ž=°€ îÁ?z¸3t}*{ @sˆwy0¬Øÿ ð׆ÐÀ3†ÿbT0Œ` ¤ ² ï?§æ|ô€ÁP“3ØâD`Ð5Çé)q€¦(œ‡` -þ"ò+ÖÔ£€š”Q@#¯¬[×S Æ}nü¯ Ôÿ˜(b¿g•rÿôéÏSÈ÷ÀðøÉ“?ùä“'¿bàˆmÒ–ª¹–jû-ÿ]¿êº–Û•#PCøß‘–ÑÓÆ~l&çäB2^ˆØ7&Ir>ŸOÂû/N7hý¤l,–Õň,ˆ%³¯é ˜Ž%‰¼¦“·W¥t3Édl†hÃØÌýØ}ò®kmGJ}€Ò)ß·p½ín´}rWp½Ø€àn FÑÔ¬}µæUÆÿµG"'à,l€Ÿ"üoß V@>A:M>ªý;}&K§Éj1Q•n4FÔ‡#±X×>‡Š§ÿxõ•J0à+Ä~ªŸè¢ïÑwoí®ìúc@Ø?K7µúÒì%~2kÌ®1´^PöïGºpD„Ð -B¨wì× PéŸW™¬ªN"«JåµX½èô[­>WâÆÄ ãĉ†‰³DüãZ¦Àÿ‚›'‹ÆvcÂïs´ÏGÿ Çûë\þù…&œ`p‚§#ðøW"¦ (Ù¿ž>1o8uÊ3pñ”k~é¡÷08àé{é?>G æ¼Cèvû}L†ß‡à>K=¼¶?¢n -…íㄵˆûþ ÔÚ™= à¼ -5l -ôŽÂ@ˆ`Úƒ½¹‰ðŸ‚-šà¸&êDD LZ¢!3z8ÑôÞ» fÐÀ=± -¸ƒ—ÿkyíCà>q…(èÏÅþ'«f@{Ä. ö|… -€Š†ÔäoÛR5©¤Réë“»ºR×:€û¹.îäø;ä9y.O&©€/̈*^ÊçÊCÓ÷NÊcð¯ã&@7)öZr:Kåì¯uqÝôt2öÐkºLÕÍœŽ~öçòs3sp8,?•+e”Néü^ç4€m¶¶¶OŽä·}"à_1lc- rÄV  kÙ$à(<‚~ƒ@ö††mõÛ h‡Àá ø÷ùª« ÿ«M¦çÿ{ c«1AðoPGÊÛ­*ý˜Xظ‚›Í¼ðЋ…?D ùßÃûÿ³Ó¬úwþ=ì0"­.¨õû+è'UTVT0À¸€°¿Âd@ ²þýáñãAbZáˆÒ_«<ǃ¡qz+¨€??a@Ä'ȹE=â€5NsPжhœ‡¢¡PKJ€(¼͈fm`”M ŒýÀ(šýÑâ3z3?ûy1@D(=Åú·‘€¼ -¸c‡XÜQÌ|VÀÿÝFÀ=øÿì= àÉ_ìùŠMÀëHÿ[;™š¼¶ë€T.wmm:… t.“É¥eº“ ™t² gò9/c YÈˇå|áìü¡ÝŸ1]×¼n ^@±¥,Z:)&Çå|vIÊTUÉ1ä"2pŸôâÜØS€Ž(Òù=›×ç™ú+ÕÿvÅØöÏôê¦b`Õ°†ž  -G7te4ê_÷¿Nðïw8ü°€ - JOµÉjr$n¬ìêvêVÜ>TÿªJ/¯ýQÝïÅËÝXöÿI GÕãÕ÷X{ô˜ûþÏ΢ãýµzv–í‰\ð_¹uÅ~bô#`3¤R­<­Úo0éU^•*`R'é¯5¶F耞¬“Ç狌DF£{>â÷Gæ1àê_ ÿA!\Åv·‘þ¨O±öZ]Æ ÷Ä…²UPšp¢,“¬Ny@¦x% ÿEH2tË ðô¹êw¾µñÁ-kµÃÃï¿?D@ ¾ßz—ÇÃá`“VÙ€ñâ5dÇ2 }|ð†7°˜híD}ˆ,ƒÅ1Àr†@ï8Qéõ¡`1`ÈÉaôb(¬iy¾AbÄßb&"`F;Ày×HoÖ¬îþ³! ²p-OÖ! xÖy ê:§üÇYEü{¼E_`BÏ\ý/ÏìÙóeÀ§ü·ý K¥mGvåˆtäÿ‹ù&“–÷¨þK¦ócTÿø'3x -R<)ÅóÒ lÄû14²(ÿ‰ÄâKº¤N·›Î/-MÇãô½KKùLÕ§ÌòR6-ågÆÆfæÆÆ -‡ŸJ—<J§t~?°ÚD@iPfm›ÛÚV› -ú£þßTüï8zv o6 È¿ Î8uuXðÕÕøªSµÕI¸ÝnTÿjâ¼ü×éUQ¡N€»ÐTr0ìU=T¾Ã -¸{÷/YõïßK†‘K#˜ý€×.´ªþ·bØ¿__A B_¡TîWÊËZ­•Cd=‡­¸­HrGV>&ÄAøŸ øDæÛ< pðà'Îa à €]Ù$øwŸñù«×ꉴÛ'ŒeJñ¯tÿ}ýPþa¼?« ¼ð¤;‹õ€²€_²ð"2úÙpàkz¿SsýA%m˼84L—Ûï½ß}0û߇¿¶t>LPÏ"¥À·p0¶µaí8Ɖ,+i"2P\9'Ê? †üNM0ä$ 7Ga D•¿³‰jýq¢ÑhPK÷DZ8€Ë~s‹“ƒ!`“ðršØspm“PÔ®vxÐ(ÎŽu«è¿ãÌin0úÿSqñOtž¸ûàbW’ðÿä— Àä&Ûo°vr×"äÏþïÂò_—ÿt•©è— É &þTîÇg -(ú !þ@Âÿ¼.&±€A a0ŸÎ'ãÒRv®«ª*žÏ'gf -û^æòss3csÄ0§S·J¿ÊK§t~¯C à€ÿ+mJ/ƒýÑh[Õ ÿë‡ÐS$€P6À¨Ý¿­îu,€8ê|>Ì|{‰XÈèA,Á­»¼¼¬ÜhÒëõä…€»hÿ{-=**úõýhýë÷ÿ„ãÿfg¡ôWF.\iUϨü70PÏê»é'TTn­àvZþ¯YXsa}9 Öã/\Ü” Ýî…Åò²EƒÕdÁ À1###Ž‘H¢Ý8ÏQ? /(6Å  a”pÞmtÏ;|>“/áöÑqDèfTj~œ……E)ÀB†‹2@ÏÔÔ”wà -À߃ÍC! ªÿ@¿ç”§¿¿ÏÓïBÀÔ¾>Ïc®;¿óàv~þó¦˜Ý ¸sû~Ò¹}&öCf±˜g Zô”°>Œù?уp0,ô<Ð*ŠÀ ‹´AùP0¨9Ò8iXï‡Åÿ&ç2fýN0Ì4ãËQ"šhS‹Ù­m¢»¦&ó=À–Ú–hÓºŸG[Ì?þóÀÙÒˆü?"بeû¿ub°q‡²Àî<‹Ùÿ³OìùÒ Èö( àê3O^ý««_ü±±ð]©KÛvþÃûŠÿ´Ü‘‘Ór:>`I–3…|œ8@ÿÂC’œÃà°|ø‡%)`é”Îïwî\oc `[ÿ -ð mÿÜVTÖúLð_S³:`øgü-€»‡Kp€jŸÉáv/ËgL'‘ËV ¬üS^[*+-^á#¬,Ö€J¯ -ôÝžý=úžžõ—¨ðoU‹â?0@ `P¬=Íû£ñO`k¥^U¡Réõ*•ÁÑŠ¾-î.w¯$VÜ‹ýe à ‰a>‘‘„1Qžü7èr¢ö?7Ѱm”>Ò¼?BŸ‹Gn£?1øúSÀQö—­JýÐ `Ü?5à¸B €ÿ¼ž)°/TÿD úúûO¹Nõ -àø–§ï¥SÏíìýøÁíü¼ñ¿-# `hèÖíÏÞzÿ³ûï“Ùí~Ä®=ä(@mq@錾ó—ôfh\$ˆ7¹ °z“µ€æ4NgH«…Mÿ(4p$ði‚ˆ ¤‡ ì~Í\ô;é}³Y¢EŨŠÔçú¿iu$ º<®@w{ëŠ àô½õþ³_"{èzàñgüê™/€ÉT -Ö¹t×®ôdÖÿ©þOwÀû—®²\ˆg’°û“ó„üô$O&å$[b9ŸîäþétÊ €¿Ö%cÉé¤.“âÓÙl,]VšËUÝì" ÈK“c…ÃD0ö†Ý`‰”Néüš€†|›b Àœ¥À¥ į*éG·À¨hذ­¾}â€Ù È_ísU×U›|>4ÿ˜´©ú/#Lލ,z•Å -@õ¿E_‰e½€Õª·èõV+a;äÿ•zÞö  ögÇŸ”þté[ú{ÄÊ@óV"„ÿDèqÀ°B¨Ú_ÀÿÊîVúø¦ËÙÒg‘ûóú¡˜Ð…*|÷ÄâãüèèÄY¸œÛB¼fN¿þüº@Ù@…ÄgˆøPDŒø4'Š¥¿r&\®~6Ãñ§®x¡ô{ùx¦,ˆÿ ð¿èëãH"±øšVýyí0–Ðÿ~ehèþ¼wÓþ~8þ¨I2¼ 0.!TþáñÖ>¬Õhï2­’ŒM§F -……´0ý .# -Àtb`Ö͵fg ÃvADÌ-ôQ™ðÝ|(Ê>@Ü€< ÅI0SÀ¨˜4‰LÀb4P#Ov(!ŠP<±CÁøg÷(Ðú‹-€g÷<ñO«-€“_R\gëÿÔµ®Ô ù»RBûŸÆþ?j~0€d!9—óÉ ÕûÉïÆ%ªÝ ØûÏËy)žGp6›gu<°H$ )½&Ç_‹É±¥˜..ë²:y:ÉS]²«êæöxžå¶Bö¡ÔÜØŸ@ ˜>üŸr»&|úé{%k€Ò)¯ß`ó¿6Ñüo+^þÙ†€hÔÔ¬­¡Úÿž}Àc[:¶e€§¨PÞ†+þçêüWZåTÿGÜB<©Ý"ðBÂBh²ªôÀ~•—½kµJoéÑ«z¬TÞ«=hô¬!ìðO´ûÁf ôrëJk ÙÁ8ÍTþWªMÖÖ„ú‚[A~`?÷î•Ýî7OÄ)_`øg>ÁgÞHW·û†1áŸoDpï(}ªQ”ÿlöïð˜o÷û Õ °0±¸X&ZwFë\ý¾~–ü #À+SH¸Ò &€¥ð€© ¾ïØÜôÒcõÿë[ÜÀ²†ù ¿?tç½Û÷ág#øÄ>~þSÈ'sô†ü”MBó—×eYCÚ_L—…)P,›†úŸè@2>MÀŸÆa6+I¹í7«äX,™™¤.Éi0€?Ù—.>|XÞ'Ë¹Ôæ’5@é”Î×n´)«Š°ÀÑÿ'ðaÍ&îþ+ÛǶ=ºAQŽŠÀ6±PüwA èž`øú/¢ýî†Éà±è-DT•–ÊÊj“^ï XUVUÀà ôXÅŸ¦þT¢'DÛö’á’aöR@­n½°’èéÖC/Èî*?}ÇÊúrå” ðçû•õëÝûËEõ¿È‚¾rºpÀØšˆÐ¥•É@d~Ä??ès¹ëG7ô‚Œ6ŒÖ‹´?¸§ÂßÝž °XäEô/{xa¢aÛ~× "ï€+€Þb -à½B ’h€eŠ3‚ú« àBY€§\Ï¡pýöýþ?¥‡~Gû|||høýaؼÏóÿÏîÇ÷Hø‘°]{>:ÎÕ?a?6¹Ú£!¯ÚaÌ-e]p<ˆµ€PÐ>®Ñhèi(¤Ñj¢Î VÒ8ø„ñµèhœ-Q³“XYú¿kfÆX@¨¬")ˆ‹ÿÚ¢10wÌ¡ÚÖ``ï0رj ¤=û…åÿ§ï†ãk¡8yuÏ“Ï<þ_‰Ôä®QíŸÎN¥ewÿ3iîþâñ=ÄòÿIùLL’3É.z5.%3r.Àsº|VZÊgy@ð- àÉX6–”uy]r:®[Šav Åñòæ›77Çä\±ÂùÔ t?×O€Â¾Âá}àr¦´X:¥óõr hã¾?îþyºÿEÀ‡Ü`_àv½^e èW©z,“ÁÚc5øÖf#†„Z„ýò¶¤€õªç[Ø,óõÖÖõ+÷}yQøW¶~±ø¤|µ léçö hñÍZ­³¼è±zˆ¸>¬Ý&z £ít#Lo7Òµ}Þhôû¬>GÂÝà¢Ñ¸À?T4ÎŽÎo›oh¸Aßò¦úún¦•ܸâ½Bÿg%K< 3× ºœ:E [*xŸ0å?¡¡Ûïݱß— àïÃ?n$ؤA0†9 P±Â> a<ºábý;®ÿƒõ…ÂÚ ,ƒ!X‡œË°ÿ5k¢æÚ(2ð2üéœbà¤k [ ìo‰*Û€JéE Hø—£Â€à¿©±qݯOîp<кE?àÓŸzVØŸw8ÿ$:ÿeÏ“O^ýò*à‘.$¤;ˆȹT†@ŽÕhÿücI ÿóº|! Û_Âæx!ž‹g’°”°0—•^€þŸçÿ±<ü€’±i¡ýUÿDt9©Ëê¦á$IY]ž›ÉéX¾ §wI/¤;^$ !!àu´âòdI P:¥óû4Äô_Èÿ6)&?%àÿ¸†76Õ?€c[ˆtœíØð”ðê%ø' -ðF~_àÁ힘ps˜žÃäü3@Œ“Ãá XTV«i–˜8À,›úsç ûõ¥Ù5ÖýÔ»/¬_Q«º·¢ô¯lÖZWV«ý{ -þõôdeeåsÅ¿ÒàR½¬hê‡ê}qÁp0òÓÏà3ô¸è!P®¯mذáìÙ £ó £7Œ Fc»±¡‹~cÂØžHDÐÚ¸ÛhhØ6Jß9êŸÿ ßçê‡ãP€ë<ó\ñVò³+àÞ¾>\\}=Ø8 ¿àa>vûðÐ}ùñìoÿ¾}\{Ž€„òm -€!@AAÖðJ bˆBô2`?È\À *SÀPP« :›ÌËšh-¡»& -ìo½‹o E¡€#`±p3`½S„DáE,P1 ¨1Úâ4× -mKY ˆe@ŽD*°ÐžÙñÄÊ(àôébéO;è¢|q†Í¯ž¼úø3{¾ÂðÓ®\zWG:½«@À?™î`õA†åRÎO'ó¢ H±‚Ì:)/Kñ|Rξ–ÌÊY‰Êý,ü0˜–`ö?ýãd^ŽOgu,ˆÅ ”âôGÐ8н åÓ64¦cI¹ãpAÊ=47÷bþ‡D0 - »l%%@é”ÎïÓ@`Ó&Qÿ·ýQÿøk0©@ÇX°6€Œÿ ŒÿìTç¯Û¶@¶Ûmð¿h4ѱtz,`V¯Àç0¬‹É`š xVŸzÖ Dj5—ÿÖüsï?raý…x#0¸Ò´ûn©·á¯p€•"ö¯WÞ¿Û÷?!îøaaÂí†LV«wóßÀ€ç¢µ_¨Îò™˜06LÐý„‘X€Ñõè±9 „ Ê.àà ôM ££í£þÿá`%`¬Z÷ÐíJeq -ÐÿÒ©ÁÁÁçˆ ºNzl°þëþ`€!Ôþ·‡ý‡ìð¢/î Û‡ïËÏ7nÿ{BüPT)ýí@~»’È®@vÆÃ«+€ÅÄ ññP#üèNÃ9AflÍÚ¨³Öln!„‡Q0¼€‰Œ‡4A3 ēè=M€bH°ˆš@áhÆt€C‚”l@ÿµŒþŠ#P£ˆ<#À¿(Q@ -äŸ>}æô N ÀÕ«ïyû_$©®46ÿvN§§2étëÿr¡Û_ªÙÿ„Ú:Èdz¦“cr&O` õ{A¦72ù%ÛÄè6›†ò/–ÔÅ ûŸŽÇ“ ñxL'q ™œƒa`¡«ªj{ršX„\˜+d³ù‹…±™™ä¾™™B .Ë9Ûï#´åJ8P:ßä&€*g“`ÿM«rÀÕ@ÇÙ§@zz7! €úºÑ‰² @ÿ[üó-Q¼z/á>þ&BƒÏgål?Œý êÜ‚ÙíO¯qMìn ð7o­Øºµr«š}™‚òåÅ¿òõ++»Ñú¿Û(+^Ê­§û²1QD=¯6[çç#VëÀ€÷—O¿Ô8ÚÐpîì9Fÿ‰‰‡'Œhÿ;ÚÆc¢›ƒXo\\(/c·`üÌ ?± ÿÈH݈ ktµNy¼Ü÷×+J<à—,ÞúTÿõ|;õÁcíì}P;ïq+€DDçþlØ/Û ñ…ÂvúaÑPÆv^s€0œ°¨U– Ï‘8®!øNŽ 4!j;Íš&'½fÖhï¢7àÔŒ;Í!Bþ"'ÀiVúÿ-Åt@Ñõo*¦ÔÖjÁr Xhlªý5Ô€ÐÂH™4®»k (löð<ýÄŽ'ˆ(~Á§ÏI8ùÇ¿ú8Z_ŽJA€s8WÈudвLú ëó<ÈÇ¥X!C_JDr’”,z³¯RÊbcÿ<b˜HÓ„û: ?–×MËñL¸ÿðDƒûanþ/ø}>ßÞêNO§µÚÚiA -ŸÅ^Úî&ŸcDÐÿB}Z XþÍŠòß`ð©Õ#=¢ô¯¤»æ­»Ë¾Xó+ÍþÝ»WÖ¯¿g°ìóíÿ²ò·±Õ=Aÿm «Üî ´(èEzy±¼lÅCÀêuß $¿rþÜÂ9nà÷ íí¼ÏР,5N,.*òB: ô Fªþý>×àû±ÀaÀ^½…Wý¯@ p¥òŠõÀ”ÕBà`ÿàsƒ;]®ÇwîüÎwjîSÓ/€a.ýþ¹÷o/€ðýøùnÛ/?¾¼|hœ>JØÎÕ‘À lç•<#p<„l 0/`J Õ5"X€ÆÀš6 €úßE*@(+@zK;Nüà]¤öÀõ- -àS[tlZµŽ:[¢ÊFίÙX¸ À† øàÿYeÐOàÌŽÓgîšìØqfݺ«Ç¯üñ¿âÀ— f*ûÓòáôŸägÒÀþ´(ýãùX>™‰åcq ?lÿ’rŠ0<‡±@¼ Ëèòº.xIyôÿ‰` -@&Éè/ËÄä8Ò‚¹@<`š' -L -¹íUÛ»¦¥<Â¥üŒô‚ôb~Œþ¦×“ùדcIˆ3™®.Ûõ¯¡ø4'Ëû -%(oìùôú'Š -ÐÖ¶:ໟrý¯„À¨ƒ]0hØÐËf@”çÊN”0…ÖÎïðíuìõùL&Õc­öîYMÖY“¡ŸÀßG>*þyݤuw">ÀšÙ5=èüz(þ++¹÷¥ÿ@ÙçDÊÖÿúº(‚À{¨Á½õ¹šhF‚8 lýŠyÀb6aO RüðdÑ=OçþçÐ8{–Àâ,øî ´ j„³ñâݾÂâÄ ¢l4ârð»|>Œ¼«GEþOUr+àŠ^ƒ ÖÓÜYü@5bêÏÖÿƒ p_.=^_Ò(4Fèí¼ À#ñpã‚ÃÃö0¸¨ÏAA"ôކmAøjF³¿) -*€´Ÿhè]ˆ4°ÔÙ8ØÌAÎwá « C-EФ„Àˆ{-ÑÆZ'["?˜W› øµÒXǦ€wáý … übÇjí_´ ÆãÉãÇ ÿÿÞ_}U àH&y*}8™#ëå\w¦“ºdIù’'Ж%ªËcy9™Éä$9›YÊÄѲ±l !@1&14ˆÈÜø§{z!‰a€+Aô’y( -©ª*½[ˆ%çf$IÒL!žßGøÿz’73]¹®Éªÿá_~m2– J0P:ßÜSu„Ý ØTœ9`¯ÖˆÀQl*`Û¶úm /p†.UÚŒ/´;°èB0pµÉÚI ÓD¥?*ªý#Œþ#†Uýó­­ µúÿV CÀÚݬǦs¯û³ÝÏÖf½Xó_5ú+_\áÐqå‹=E" ,ÊWÝt[`½ÞœÛ³¸à6ÒK‹Å5Á²ò…òEãÈü¼Ñ}ã1€³çpøŸ(;;!&„þ¸–Ýs1N€SÀèèˆßïóùG}ýtñô{ yœË&W*y&à½bõxúyå`p´¾~gýàc;w¾ýÖÇþàuú+$@<‹€ÀÌût -pù²}x<ªµÛïRúDb-pؾÌ^@‚` ¨¨ˆPñi€@~-Z̆C@óÕÿÂý ØBA-ÜXŒ¾‹.€SX´sjk£MÌЈšµMè°3`S#ü€ˆ¬«€Âhuð4¯þ³p‡¨þ‹`]1;àÿŸWZ_tñÞ:÷ÃBz_N>,`˜„õ²€-€xRÎÇ󒜧‡Œ$Ñ—$I`u`LÊsý/Iœþ0Íž@ÓÜ€%0zôtš~Š.—§ó¼E¨“ Ø\µ9#ðwà<‚^Ì -3øÙcñ¸œÎd¾ÛÕ•ú¡ÕŸVMNb…áðXA+¡@é|sÏ#w…Ê(€¯m÷ÆnYËA<ØÐ@÷ ?ÌŠø…‡^`±Ý‚£ÎX ½œ 䱨6U|>UþF„ëŽøÔ6ãkMD †YÄûª ðÒ7oín&P »Ÿæ­LVŠ#Ѹ°ra}ùú•ÅUð_¿þ "Åüw÷"C=a?]Þ`’² ¿¬|çâ"týnã ÷‰Ñÿ8qNœç&¸u0Q€[¬5¬·1ÏÃñŒøü¸\ Ø0``å¡ö㎾ÖÓÖ‹žÁÁÁúуtÁõ­±0$ßn.6øÆÍqºÞ‘>Âåá¡`Ó8=±3ôƒË ÛÙ‹"(úúˆÄØ%`œó8(Èj@ˆ5Áp($~„ó.2ƒâ{4!B|3{0è8PtµNlà«Z³BˆÞ@-+Å𿘠°ê\Ä>;0ò¿Ûhø¿îøñ¦ÇÏ?þ½óßûRŸøÂ¿Åf¤þ>\8<'ráLp\ˆÇ%9FÅ}L~X‡])›Ï$ ÁeÂðå|Šnº¤ŽÞ[b 8ëÿq§Cá?Óéä8ý äÅY õ?a}¼Ì‚TUm—a"0“œ™Èë^ üŸ£ï˜™Á —éêúÓÿk ›G&'»`i §©þ—çæJ  t¾ÁçÖuÛ+l -ÐÖö ÁÿO7Ý# T4€k×ëØ¸q·ämO;·P´Ã]X`ƒü2¿Ïï¯sÔ¹ÿ>Ÿ§ÚÔYMe¿/Ÿhw¨GFj(éóÜPûX -¨èõ üúf=]›+õ&¢ † -ØþmíQÀŸ€¿5’¸°²þªë_ë¬cD­¾P¾þK@`{¹²¯÷Æ &'Ä2 †Ì‹ß¿82±8b4Îû'ø„€ž—‰Q†{Ñ¿œø‚Éj=€Qÿ ßçÂWø<ýÕë€E ¾~Jäpõ¥ò -ÏT€õõõ½£;{wö¾½ó­yð4ïô¹[ÎTàò­[C¯@ &°´kƒ÷åg¤ÿ~û¯†B-v»ÒÍ@€[ãü±ìØ€(  -Ó§ iYVÔ0 -² ÊHB!"š– UúÎw‘ @¬@ãÑÁË00 `ˆ¾ˆ*§å.€°åç Új¢ÀZa¨ÿlÄÛØ,NùO¯âÿœ^Åÿul¸nÝ?Ô8 -ð{žÜ³çÉ/üSLfÿ‰Èÿ3“NïC€µÿÿ(åö9•í3ù˜,¡+Éää¨ALÎÇx>ÀvÀÈ3€éä4Ϙ èX@_MÇ“ÓÉì’D%<!D¬";3É=„ð¥ã6Y­k52‚ý£íÛØ8¸îÿˆËÅ3b{à½Â"ïÔ”…à_Œ,–jŒëG{{éì|ë­ï|üÀ€;ïßÉ£ÿ[wnß¹uëÖ;C¢aº?Wß¾<|ù³á¿ ¡¡14„f0LÐoóñµùÃãÚP˜ à†ÔÜþç}Àq^Ô`ÛÍTù‡CØ€] 9Ä¡Aæ(çŒ/³R bÀ¢ - – ¿è@¸¯5· häI@!¬-Õ|`F}žÜ-ÿü™(ÐåxÓqº~ïü3O>ùì/>ÿ/aËdd|ÿÛ\¡Úç ,ìÁðÆ>r¬ “2„ÎÑ’—ä\V‚%ñÄåu¼ã@ ~@:¥›æVÞœ–§ã<˜ŽOˈ"#!”ûô³’¹#UÛ»’ø!`xõ!i2ùýü™ä¾Ì˜œéê¢kWWj³íȪ"ðæ{JpБÉ\n-aGº##wÈ…¹¹¹ü\Aþï%(oî¹yÝfûä•¶» Ê@@H#€08xð ëÁ²ƒJ:ÎD{;쀩àßë‚-0=øý\ú#~7∌D¨ö/7&à÷!ð`å/2bPéqØéŸï›[ïÕö­XõûÕ†Kœ@ð¿p_1Îê»»»÷÷ì×w %Àúõ»[Õ‰ Œ­ x -DÔêÓ½qQŠSÖ7P‚VýŠeÀBÙ¹sž[MúQþO|ÿéO¬>N@d°ß_ÏV>—Ë7€~Ø ZŠvWº+§*ýW*½• Ë7X_?ºèß»óíÞï<²é#ü!Àÿ8÷þ_"ì¿õÊ­÷îÜbäzoøþ¤(ü? Gâ°*´£±Á! -€GÐ0ä€ x-¨§Z_ÃÐ -  )]Îý !ØŒ/¡Ðj´ZDy €8ÆÜÒbv:—ˆ:°ªÀ6@-÷èÑÕˆ¤`±!ØÔÂØ_Ìn³€Õ\ÀB PdÿÂ~A,l\w|Ýù¦&ÁöøB À§Ðþ.úÿ‡ÂXýÄÿÁéGÖQÉ/'¥¤œ_Jfù©§z¿KÊ…˜œLb€}‰ -÷Xà@‘ P<Ó„ùÓºé$Uÿ`q9.'uË/˜ÎOcöŸÍÂØv½Ê&'ñC’PJ…ì’$íËçå™|ÛPver`“GŽØŽØ&S¶Ô¤.“][ri¹£#““;Ò‡çæÆ -0No.@é|“ÏõëG8m[Û'ň à?D€ØܸQî­<¡´Ê”@ :ÿÏåðùýíFc{{$‚"un÷¼cdY< µƒh@Àb±¨ ìÕWVVTL>`ÿúÅ»‹+­#êÀ/»»g „ÿ.\XY_¾ƒn½j`?¶+#­jƒ¾²»¢²¢{ÿþÀš5ƒúÒÕu$N?×õo(n”••þËETÀ2ÞßYä'N|¹€>Ñdû·Fëýõ~V}ýž~Õ C ü)ýÔ•)ý½÷J±`±ºú]PôÖ÷޾ÝÛ À&ºsçömѶݺs…×[wnÞ;ôh˜ß—Ë€CC¿"ÜG£H”‡²ˆ½zàx`tÆíœŒN=!ìç ;)£(ý þa @XÇ—NM0e'ËøÉ¡b8@Ñ ¿ðj¸€w@ب©©‘@“°¬]Ç^€Ü` –‚¬Ö (-€ãÇÿç¿÷½ãO>óä3Ï|þ_¢ ›ÿû -…Ã’œ”+yˆtI„|qi‰·þ³ÉŒ/d²™d—.žÏH1y9€H@0ž - N4`+ éd,FD ‹XÄ’NE!>a}^—Í@BÀæ yî€-¼”!"òzrŸ\Èd2é®L&G§#Õ•ëJÑ5E÷©GNÎÉH1Äø_Æa!cû´ä$X:ßèsë“#˜| hlnÛÌŽÀtvméØH`ËAª“¿{î`-ŽÖ×׋L :Ÿßå ôw´þí‰öD¤=’à}zn`¡^í3Œ$¬^¯^¯òz‘¬×#%Héû«++Z×_h'¢0bèîn®hn®ØºµÇ0kPÍÝD*±1ðòVˆº+ľ`EEEå~Øÿ/°üñbÖðÆ«¨^¶h\(åeø¾‰Å B2 ¦÷v¾p #H$"Âû‘‘öyì¶×ûýƒø]ýýÖþj+¼¸@W=½•Wš½÷€Çåƒ -`´·w'áÿÛD~zýA"C7oÚ‹òxØ~ëöM¥ùzó½Ïî\3æ}9øì½Ï>³kÂÃ÷0º#”g)¶0^Ì f- þ¬LˆΛ ò5@z4Xüw4š3BBØ$~ð.{˜aÈ‘6µ°÷ÿj@ƒ5Ü$ÜZa!P©þY("× Àã1¸—¬+ëˆo‚ðü÷~ñ 1€/ÌÒòaDñÉ/ì›ËŒAÿ‡@‰p_’âq)Ž9ÀºBª-HØ Le àùd\¦o¿€ÀpšÀ4@Z™ €è¦ Ë“3KK $ ìóˆ †† )O¹YÕ-!ØD,+-Å'³32<„7gÐ~è3éf÷çº:º: üC~aúpQ"2¼˜®zïæöI[ Jç›|>½~ä“WŽØˆ´¡ ‚l`h[{´ãhGÇ–-[þÏ<(úêa@5ðsuƒu`{]HÑ…{ζv#]"pÐH°ŸÎ¼Ú02’0ú½z\T&UÀª‚ô¯²;»¿Ý#5 ìíîæ @˜У^ßÓc èMÝÍ[Å‹/³_àËÝE W=¿ÆðôÓO«¬ü¯`w_tЍ^voT°ÿ÷èüþœøü Ì½˜€ŠÁàs0 ¨s½ÿ›÷W÷[½Š þJ·¢ÀÀc±zú}ƒõƒõ;ÿ8?ªy°FÃ7oÞ¹#áðç­ÿïÜüóÖÜý¹ xû½Ï†ß{ÿ£"»Ã¼ÛH -z€q–ý£ýogà‡ ÞÔhƒá n„´Z €ñZ!û7›—CãAÄh°H@³¬1+ƒæÝ(d‚ðt:[„@X*n@â9ƒZ¨ïÔ*óÿFÅ àžL Xÿß«ÿ‡DPØ àqp€óǛΟ?Cøæó àz`lìð …ä\FŽc€ês Êýñ€iùèâÙ •ãr– -vYŽåtÉ<¿Ko¢C`Ìÿ1Ð)xÏ*ñ_ÊÓØ˜Æ",OJKYiZÎäQêc‡R>c»ùß'“˜ -`·0>¹”…à ~$“Ç’3œSD<@îsíßÁ@Î'åt!ƒ8ÁxAþÓªª*›-•*A@é|£ÏMbGl¶#"@ĵm²±! d€G;~svãwüä¾zÃ6ªÿ‰<ç§«H¦â¿¡ÁØÞn•¿›vÐCdÄI[}Ü׫T¢ _ßSÉ € ƒØ@`%¶õtà¿5`5\š è+·êÑû¯l~™^f"ÀøOàï*ˆ*þ%~ð€|öü)à¹.ùÝd6ÉAŠO+æ?\üëx Øðu:¦´ ˆ³B ž¡—tKK±øÃé8Z Ì.é¤|ANUݬ’uKX)Ìdé¯×e“6â2L -²r: -Hƒtd„e8 r×öªªí¶IŒ JP:ßðsý:Á¿»B `³m²a°–À±cG;6žÝBðOøæÿÙÞmlTOà_O×çüí „þF.þþFqàÁ›ˆFÇcñêõV‹Þ⵨V€Æ#Jî4w£ú§§ÝÍÝ„úÝô´{k÷OT³³—.´Î*hN€Æ7îP€owžV?mË×Åè^…”Ýe"ðžä %8H!o(îA«ˆ›‹e 7ÿ kýˆÅX=Õá>S¿Ð÷A¿«ßsÊãðèÑÿA€ÍÊ: ÅÚ¯dîì}«—àÿ­kÚ$0| ø¯lÉ)û˜ÏÆïËÀgŸ½7vÞ%öâI|°aØKbA¬p:@±þg.ÀÞã!lj0 ±AfÿTókƒÌ ÄX@éh40 F‚°3êÔhAÐR«¨›œXäé¿ÓÙâÄ~€ÓYÛˆž@ _i¬kါÿç@#.Ê ï4aðßΟoz–ÀçþWÚÅÊ¿¹IšK:d99#à< -{9/ë’TÚÇ¥ä’Ì~˜ -äóT¹'QùÓ‰!4ÓI±UôWæ÷ð~:==p dÐɾ¶TèÚ,KÙ¬*Â̲ˆ -¼^ÕE¢Y’’I./'ã3qÄÈqlúÅ÷a$@wss° ¦ÿþ$¦™ïúWAõßÕÕ•Ë” t¾ñ àú‘ë`¶W”)w6Õ¤`ÔA `Æ-çÎ=|îÜÙ Omxj”à´¾Þÿš°œ˜àê¿¡}~ÂènXm@7?B5³ÀïõVª¼*•ªÒÒjòêy©¿•¸v£@øOÅ·¾;`í Pð3Ê771­ÑàVãÿßUT>Xóÿ²÷ö±MÞiÚè’nª˜'h¨OÜœàÄ ë§@̘ØrBÔ0%«}í²Ð1Ѥã鸡4z;¶ ‰ R6djoг3ôX>nûvB†ÆƒÍŽÄGÊÁÙ¸Qr$¦°;ÌÛMRái–M'»ÒÈ…ðrŽtîëþ=m> -…vŽ”Ÿ?ã˜| Úëºïûº¯‹ñ¿vnµœÚ'ïäÚÿb[0ŸmÜ<Çs³ü‹ÔÖ^*Õ…Ðá¿@_g2Yt•–õCJ`}Íùš@ D €jÿq Åãe°,Æ €Þ°¾0´#×xì‘ÒDÂW äE=öã?þѱ¤& -@,ÿÃÀ7&ñÖ>úöpï¥Ê?™tÿUœî%‡Ǩ^Tÿr@YÈ_LI<öKŠ"P¢§(éSn¢1¿ÙáK¢ƒ Á$@ŠÒw‰ï=›L§Ñà4$ùÒš)Àßzâwøýûf’3êöÆŽ ½b±¢â¬™Ð?G£Ë-€å³|¾˜ÿϽÿ9¿€÷pg~QñØ”8€0~n z`Û¶‘ ÛúYX¹ÛJ¬%µ'WÔ6Ôr iº»-Ymâ ʈ€ @ '€bªû é‹©æ/¦¿¸å®E‡l laƒ`Á^“‘s¿Bˆ"<ìÀbê­mµÜþç(`Y !þ_½*· -˜‹ºÃ +úÓï²j®dc¥ÅTÇ¿G±(ëMÉR³qˆ}¬C–KM½~Î`@]y[”›tŸ {xÖþý½?ýíÓO_|øÿÅd @d±'"ëü\†ÏnwýŸ¿Ê( ð| @Ä5±¤R ‹ãpŽÈ a ”s‚²І À,ðÛD:€€º?HaläD–8m ìè” ^GL0½ÄÁÄd!oŠX 9 ©éÓªæNýNcQóö&ÿ&ÿŠÝ€¶oÿżÖÈmB1ˆÝ¸6húíûLn2Ö«ð¼~ìãä“ÉQ}g zT”:ÒRÜ­‘f|š™˜ß쟙ä &hÜ‹‘¿”L¹s¯I»¤ÈÍú},à?—r¤îôh_Ìw@E3¡”_ŠÅFc’&êíðiFÓ`ix Ác áGœM@Ç»`Œ+Yì‹zþóz=?ƒ¿wÐ.3€åóÿÃéðzÿ ÿt‹óÿÿ‰9€XÔ›…«€p†À(ÿy°­€ ë_ØÀ𿳡„=¡ê¿¡ö¤˜ìVët¦J©²‚‚ºò‚rà>¡A™è<+€þ~ž”ëZmá6>F­_¼y‹ÿ lVÒ‚¶l}8 >±ù úROnUóÀlÒßÊk¬Ê®Î3Ê›äIÞš•)À—þs'gk+u•:‹)kõS\.û:‹¥Æ -K  Cç-çÏ[§!0€rP€òqèƒP¹É ð€¢ð§‹/.>ôÿœs çêÅ1¹¾Sµg>Â[a.0Aþ˜ëšËhȹdG@¾ã.@X9pDç«\gþH¸ -Àc<²1Ø€–퀴 `(=b.Ü€"õ?6…õrSƒ«±-*@4¡‘C‚ÅB g‚¼¿s€Þyê©Fàezàò¿ª±ê@#/‚45­½½°Ÿ9Fø¯ÑÄ>Njdÿú}Å*ó©î§rß­‰¦5nG,íOj$‡Æñ£è tú OþýYÿÀu*¯ µB´$0‚”$ºÔ‚ù>öšI!wP“Ä6ZA}Ũ›à_|¹$& ôY1nÀðÁŸ¢ ]Q3ÿ¢ò„:~Hr,–Ï_ølíˆwÀ¦ê¿pà?ç÷ÎÏëÙÀüâ&óÓ›‚Ü؇]À£J$Ð@uuCµŒ¬X±¢¡‹ñ'O®8 ôoÀ ¶d÷N‹Îd‚bŽ£r`Š_^^^ €nÿÅÅeý¯n!€W¶¼JD >šýl)EÿfÑؼEnü+€²Í›‰l..hQomkc³¿Õ9 -ðV®_ößÁ@V5CÀÚÏkK>Ÿ›«íݨƒ¿ÔT^\&âþXå7N@¨´XÏC €\€@%pä4OLuŠ €nq ÂÿÎmØ!ž~úÅG¨ÐÓ“«à±;-U_çÁC©4ÆÆT†±"•¡?›s "ðÊ$²‚ÃEç/¸·ÿD O˜ÌÃþ"•M+@ßɶN~ÂA6ž`-³áhDŒ`gëk °£àUUÍÚf#°_èÐh¬j–We+ §¶?ÿŽÈ Ü€bPèר¢ }ÞÎÌ3k°ÿ#ºOzý3Iˆûý©¨ÆŒú¢þhÌឤq¸š´FŠÒ5íã­ÙôGòs_?åΊ¤]¸ÊÀ¯D° [røðÞ™†Àíð¥‰Àîr¿Ã $Aûb…Ýáàæã§¯¤!ì÷Úíóô?7¯7Uâÿñ ×3Gã˵|þ‚§Â~ð ÝLøßêm¥ëÝ1ý'òŸz1пhÖ›±À›ûë÷yŽ>S )šÛªÀ6X·USÑ+Ú „ýB p²¶ÁbA py%q]9À±8Tÿã ¿ NfÅOÀ€Á?úþP+Íÿâ-¢ñŸ­û7³0{ÿŸââuo[Im.õoU~/ÿ¦À€¬PNp“`•p>ɆÀsµVú5ÿ‰»˜„Í{ü×÷×í ñ†ŸÅ --ÀP &8™N‡ö„êWÀ:úÓÊššš¡e ðOï¡°ôÐÿ£V€¡§'Ò#q\wò/Vô¸ 7L"ƒ}ˆ røý‰~Ž™¨žªûƒÜ ày€„!´ý£A;oû™ƒÞxÔ% Ï‡êÂØŒãѳÜX>±Þ:á¿Ý~ãà s+s«ù¶ŸtlÃÊË73ÀQÆæ ô4dû÷×ï*€g¨þ¨> -!`Ãs# +N® Ý•€œ¬]EÀyrçÆÊšJ@'VŠŒE*8¡'@×n,ð I¶êlþm• Äî@ÆÆÆ¦Ní§ÍMkáW@TöÍÛ·+ËÿÈh¤{ÑâVÈ -LšÀ ª¶?˜ˆOa¾þ£¢}ÿ%Ü… -q·ïc4#͸ÓIÉ'M¥“nw,­ñ³ñ_Lr‹‹_npÇSÔû»Ü»˜ì§vqýÏ«`, »FÓ~Âî”_“NÇ’ð41?÷ÜëOrê@°bž°ÞÞÕíðšoTð™ŸßËZ?GtÆçc€Ãï€#€ƒè@ÓKø_;7—óùÏoÿ¯VœVݲ · ˜¢öŸ­½d©¤ú¡M\Ò³p|Ë…â [ú‰ -ð‡èX‡­Öó¢ 0n¯“õt•GØ`hÇr„ À#ÓX:~ü1CÏà%>û²÷Ò`–yÈD®·*WØ`s©DÄ¡lv¬Ø”m€¬$ ßåt%èMÈ(ï”ÜPåžðçÄ @€¾H Ý£SéÐkF#÷„?p‘±»¹Y ù_s'Ã>ÄŠ:ÙXÛܸ½ÉØllÆ8¿‘e í¼¶¿³¶1·(b€X!°–Ó‚žz_¼Œ¡Àó·›î!¤•’±Fü^ìöi|Q˜÷HQÉáƒÚŸÛú7¡´Æ—LJII.ý¹æ÷ÓS²ÑÛú³€¾Æ.Iv¶@ -ðŸB2[%0:*9vú¶VOõõÅ’D=üî˜&•Ô$“n¿µDHƒf½Þ^aŸß«7ŸFgf’ÿ ¢9¸ë|‚áèzé=ƒÑhÔ³ŒTËç/Ðú¯X” @ºÄ´3hm=xðà7ð–¢A¯7 -üzª‰×~íV(3‘€yîÈ~À /í¯¯ß÷ ÆïUW¬¨'ô¯&Ü?Y`€'W(=÷·“[óK¥ÉR0•š€ Xœ TGd XŽ÷uÜ €Ó?®X@õ¿Y.ùË„ô¯ bÀ2Yõ_qÙ–W§Ï¨Ï¨Ÿl¡3­.<ÕVØÛV›¹eÇ?¯öÏ1€U·†eED08ùùȶóëk,•Jÿ+í|ûÁâçB‘bü¢®Ô„˜àóÖóCçkG??=ˆŸ •‡L–€¥æÈÐÐŽ•Èk€P èøñ‹‚¸¾œ\qÜCfünâíD®l ˆÎäq@$·àöÛ"—-‘EyzÂ]\¼`Ëê²]y€G£ÍÆ$¶ `9 ‘ÞÐÝ ¤Çr ¿¶“^KOÄ ©©[‹ª¿Óhlö¯… ªQöù˜_õþZ¹ûϲ€=Þoä™ÀSß#p3O]Œ'!ïgðSýïO¹}DüIô$MÚ-¥}QÈô“陘Ä^ûóûs3úTn@žþC É£YÎçîk‚ôžDFûÒé¾´ÛáHùÎ¥Á8UPC_Wu#4»Ä’ŽÇ$5ì«@¿ÛO¸Ox²*ÿQLâË-€åóM£¿Ã'A°x -`¯8h?h?ÜÚÚjÇ£ýkWÿ^×»†ÿ¿uпcï×/|Aèo׋³É,ö ¨ßçyÆóïP<7PòM€Ù®YYl§ìÐ[ 8ׯ·Põo"ü×Q¬«Ôéö`n&&¢ @‰ö?ß0€#q€-ˆ(ƒøb@–öo.â¿þâºðÌôý©ôo9s¦íGç£úêUr œ1¨Èî¬ä|ƒ®'Gào`¥ß¡Æb²TêäéËùËÆ!í»Pvá€þq8\..…tÊq€a ðßt€qÙh‰à?p^®ÿ¹ðáÿÅžGf àŠöJäâ˜A¥"|ÿ²±Ç`ò‡é\úƒê]ÕXxŒ°Ú Lþy ,šþ†ì0 k ¶„öðFït -£~Bá ›2pæJ§¢ÐÙŠd{`èÿT6-€Ä ŒE÷ЛµÚN*ôQã³ò¿Ï›;«šÝ¨ù›ˆˆÒ®€Mk9XŒøy!€»ÿÛùšÝÄ&A3Ð$ Bðγ·u&ÎÎh41M,†PŸ Ãu½ß­I98˜‡gýÿn·oTJº5±iÞ`D%¥½FXˆ¢_R˜€Ø¤—wí³ñ&Y ñŽ Ú£éѾQÿ9Ÿïœ?F@ÚæNù!DtÇÜ~¢g„÷é,ciâIŸÄû üì4ãsÌø™xTý3úãæ[F¬åó –þpš´g ÿܰßàûƒ‡Ò9üuÐ'Îwô¯Ù3èñăf³^ÿõÖZÙho^ €Ððxö=s:À£õt;1ÛÕux¶+Ï -ð‹°hÈײ !×ü´ÐôG@ l (@"Küe€"¥ •7±$hãD€›–ó:«:›µTöw7aðÏ^@MF-:«šŠŒÝk –·úädൠþY3@!ØÎCÑô§wÁBxmãû˜Гï}ïÙgoý+Dœ_:¦¡Rßq–P5écw‡””ü)Éïæiº¸f;_2Ý—–²9€¹˰ì‡ú—œ°Ë-¦µÊöO Rî”ïeÂ*þ¥)lÆFûú4çÎ¥üæ)ƒòBúzì -% ›ý„y…?Ñz8çOÍD™ +ͺy¸°ŒZË盆{~R¡à¿]fŒÿ ÿšÍˆ×Þø¯7ÈWèYéâ ¶êÍú³ìoù5€]o׋@ º71ðìG,Ÿëª_qBŒÌ ]1˜-©Ùh±ÔÐ,`ÚRJHete©… 7’z ! @÷Ÿs›âH3ÅHc !  ÷·ï\2I🜂ÀçðWϼ9ó¦Ã1ÃÉD z¢ñåL åóôý+”ð· À­~Ä;p£Õ­Þ7ýôx_ÅÐ š[zmzÍg±ïB`Í×ዊÀ‹/b`Óa°;gö{žA8p׉lÜnžþlƒÑ€–õ5Öë¹ò·XJMTø[v_ê-áp µIWP®£úÐA@=gÀûeÅ„ütc@Dשu‡Ô½ímm™Sm…m…g -ÏL«[ -¹î_·:{VÝò$þsåáV ³ß“ ÃT÷W7h°n‚¯ßúÞlíg €òbTþuÅPþ_¨ï/‡©!t :Ý´%€KàôéÐåÐ8ÊC!z¥&@8 <>°ck€O?=ÿÈt&~õØ<ûcðØdþ‹D8*@å|¨:†·ÿBhî´%Ì3 `É“ˆ‘@$/( áÊRn ño@0OèE'gƒ `ÑoA0­SE­(úñQÿs< (`ú5s#À(b`D@§Ø À€ÀXÕTTÕØÙ¼¶}Žàd@aÿsS ¼ „B€UÌ0¸E0±è`#^FÖA/DõTýø_Š&%÷çw§ñq*+yýiÂÿ´[Áþ´püc|¯M±E ì e[Hÿ%Å:8Nò( ×Ÿb€4ú f@Õ~½g«Û= -îЗ_¢Lè‡Mù§¦ü¾7}p/JbÀ!k‰ FY¸¬X>_ó(H_‘_íó}E~ÕOG0ÂÿÖÃú.oÔSßÑj¿ŸY€ÇA—¨Ç»†(@°5h&Ìç«ù¬ÙŒ@Ü ˆ•Ãïð&À&žl -b`ýþú}/íÛ÷ÌÑ®ÃÙݼ Ù†õë××°Ž””4ì´Z¬» XwïÞ8\Rr’sÔ:Ñÿ§'ó x àÕ²Ü0®Tóë -‡{ÛÚÛÚ3™ =â Ÿ)œ¦Ò¿-ús€¿*¯É¯¼‚Áª[Z«³ÉÀ«WŸ¼d™Öa“ß:ÒPÀ&1ÔÔ¬ç.4uÂ`Ïx1p|Ëf[ŠÇëè‚ÜOÒtÀï€)27¨»\ÇÀóD'Žˆ-À¡>ø÷Ðxt€a¾çâE×á¿‹ -æÅ;€ž1ì„à ª‡‰ Ú(œ(*+ré¿4iÈÃ{–ä}ÄÂ@!`A ÆÀô -b€èv -v cJáˆå/þsá\öä;VÐgˆ ÑßÙœ=0l®Êf —ÀîæÆ"#7ÿ9‹}M²íŸûíüœÐ(vÿ«X*À»€ôü©ï={û àåMÃ?æGý~G’jxõJ©¤<º×°hŸ7òáéŠqªÿé#Ì)ÉÏu¿çû²%0ßí’­ÿXý/þ2 Ò}£i)º‡¾¾Qº Ã s'Ý×§™ésïJöÑwd[àXJˆ à# ÿ9Ÿ*™ÖÀbt^qÈ–@< Xn,Ÿ¯uÌ@yQõWäÆý¹6£¿=ïPõ¸µ£5Øá©Ö›o´W|Åït£õ9ç¹êAOЬÇ%Èk…\ÿ3ð³ÁE\³ý+Ù[š¶óóv$ÒÙÄ¡@è¼´»€]ðÏZçFñ¿a]×[Ožœ­=¹s¤ÄzigÉî»/•p(ÕRZ.Ð_WMÁj;à ±˜—ª KÚJÚWgJN­;uª­­°·p÷pao/:ÿÄN­S¢}VÝRù¯Êµò>^uúÓ«s«Ve>ŸM#¿‡ªwb èT#ÚÇZc¥ê?€Ö½å畦:ìò Mß8¡>êÿ %n)®ßS^WŒà€i:` -B§C—A .×…t!ú8PSsd¨€çw ìøv|Ò€ó€zƨæU°½m˜¿Ã¿%"˜DlÛmWžß/¨€ç!>!üÒd®üöOfŸÉopñ6 T®J~§3Bx¤`'±'€¼4AlÀ€T`lãt`HþŠ”}¥ YñÖÿòx@g·ì ÈÆ€U"$ ÑXÔ\ÕmÜŽò¿™MÖn¯j< Vÿ·ÃúŸ¯þY,È!ŠL°±¹ {€Ï^»ô§QUK1ÂNŸß}<]€Ó7•Ø\|§F³ð-™ê~÷¨"ô:ûÒb@”ÿyÕ¿`Rö5·0"à%xú´@3€ïÒw$ú£¦¤To6o+‡ç’Hm   bffÞäÈàA^Œ²0î]F±åó GŸíõÛ³õvüggÀÿÖ­QokÔë¥Rý†Ýþ•tá€t³·:ZÍ‚¿ÐƃQOœþ1{x#@(è³znAT< ¨°³ Ðü¢™›AÎØ¿oßšÃ`.‡s±>–W`˜?pgIc9óu –ûÜrÝ/lF©èßÖ‡€QÞÍj„³sŒÜ° $àOž#0ã;ÆÿË íˆG£žø² -`ù<`ÿ¿BA~{V ü…%0ýÏÐ~Ã%ðïj=ÜE< Úaö:Zík*¨Pzñn­úE|]ý&&ö0þóäÑÿ‡êŸþ{Ø(÷vÅt€%ò"HP~¿  b¯ìH ¸iFûþóñ¿ëÄÑç¬/l¨æâŸÏÕþ«ÞšÅû,:þXÀ( ¼ŽÊ}]KyéË0F:`ù“Oª w÷¶ Ñ^&_±Ÿ}¸óó»ÿëòÁþÛ€™Lá¡}ÔäÇÇ…Êÿþñý<¡¨–Xk†×ó€u¼n”~ˆ\ ’Ÿ=€° ¤€È,.ë/oÁ/h!.1:m -ñM G,GŽÔY9´rèüã;v°ð£`˜#úGÎ J¿±ðâÍÿŠ*{"ˆÛ´®…‡i@µïR„JtC¶²—}€&—êò'Å Ë'"gÈ›€DŠ"Ø$H°0m •° -J¨ Î@8°Q,:¶ÜJ St°Àëtgl†ÿ±¨ˆkc‘Vèþ;› ›ŒÇ…(Û€ -´+‰@øS€í¼÷·ý"_]6näÞ@ÕZt®ßúïTRÓhb} áñ`œà_î¾bgwý˜@ú—&€v÷Ié˜OÑÈøœN!&Ð'ïr©¿Kú’ã–W€ùRLÔù€|"m)Ö èƒI”nÐ(ÓY(KRãÞêžšòOÑÏ;5å{ÓwLxàÀ2G<¾¸ fËçð_¯·ç ?÷T6œÿ¬è±Ânö·²Êw¢{ãð̓úù»Á1¾²Yxµzëél¹z¡l¥;¯‹ÊËhèE?ã}+X(6q(àš7xwQ!­›Óeö­·f«8°á$œõg­×0Ð?Îë=bÐe Ï__=/A{{à›G€¸ }ˆ~;Š ŠÖ/œÕN.-q+`2GÂåQ,Pû»xÈïr¹œ ®ýUh“€  °À  -c•Jlþcúp„`C‚Ð(2aaÐØ\EX‚ûnc€ d% Ð4u5¯m.jê&¦ÐÙØŒU®ì›ªÄ°ûSk…€ àå@È9DO×V5Þ©01qÖÏšºXŸWÀ¨Ã'Z)%»×-%y ‘ ~®ÊGSéì’?¿–j¾·îtFÅU.ÿ³R0ìpÕŸ]Àh€x?“ UÖ@Üÿþ)w2™œJ¾I,`Æ7ãÀÀ`7ÞŒ=Ë2Àåsÿ§Â®¿IüŸÕȵÀõ@ÿÃbк5Øq°b‚6º3hv´šéóæ{ÙE0Ä+½,ó«ÐÛu!ròʳ]!8÷ÍD. p*îÿ3誯¨~î艷Þ:ܵðÏy@³0Õ[ÏnÀ¢@ rÉ€²·> -è”RÙß[[;'fôºçV×ööæE÷æ:ù2̯ˬ›ËÜŒú눬ëÝ]Ø[¸‘ ‚ KÚz3§NeÚ3m½Ãê–âC‡úC -õº,À\¾\®#¬Æÿ°ØøÞØxÞ²~#²hÚ#o°à4.”cø¿E9eeuÅåºéÒÒ€"€iÂþ)põÿîެ†ñàXJ¥¥\€€…üŠå¯Øý»U(;Hb±/›†œ`TR(ùÓ¹/¹!7ÒÊ‹†'òÝVb¾ä1ß1¬r*P”'§ .{,Ÿ¨ÿ+䦮ù/ÿßob1ËÌÑh´Z?Àñaiz²¸8ïÎDwFõ^o«]Cÿ¥…!¾P…^TV[½ÞnÈ -Cùÿ·‚𹡷ës{{íúûÖ|!ïè¡ØôÆšýàkÞx£k «»Nt~«ka'¡ÿŠ“³Gaª?k­ÙXàÒRYÊʸR®TW(·èä@‹¥á}s³ -Ž£øŸ«-ÔÂ&`á- ~Ê“u»u0 zõÕݧdQ@¦½ðÉ3ê'ÕO"è¯[Jéö×ôL÷ׯêZþú£W‹Ñ¥˜ Ÿnuýý¡Ëý—/_þèòeFº€€ÀÈHuuÃQH,ç7Zðó×XL&º–‡ÊÙˆ3¶ô£ €÷þ·¼öê°  ¨Y˜6>}: -ˆs¤†®çÑX¹c`KžÞtõÑ",n• _COøb¤çª’ƒµ$G«œ¶‡è—+ròO„\wBök„ýK‘%¥ÓO˜;™„eÉ ]È>@J‚Ëeƒ+ KLþ ‚DÄß‹ËÅê6,Òâ9¨Ú·ñ2 sªóÙ ˆµ‚ÍÐàÑ¿VkTJÿN#&Z(›;›°  '6ÐôoöMUl ÄûkÿMØCó'ˆ Ø+‚Xl®zþÎ`â³×c0êÂÚMùS>ŸÃ',~}lþ¯!¨eþ˜›ÁÚ͵ÿÑ´‡XSŸ²è–nQ -ø¥7rUÏy€Â]@(e[>‰ ÿÑìIgg òÅ € ýP[§üSD¦üÇè'~…®ÂÀFO/Úò¹Ï6¹^™öÛó‡þ¹ÒŸêõŽ(þZK  -ýÁŠÅ‰ -o°cEÔ[u`”ßz· -}qq/Ú©{ïBÖw£uSW”˜k‡× R!»\ð XÐ+ê>fý}3€lÀüâ¦7žØ¿¿°~æD+Ú+Žø#h²ºfOÀ V^¥+ERž®ÔRIØ_Žò¿rwíÜœlÄÇÝþÚÚÞݽjuyù!¤T»*룔þíj]±ìTVÜr ¯>óäBû3øÿ¥-|èÙ«ÅO¼úª(îÇE9îõ‡._]…úëè._tŽ6°Z‡¬–õØÜXc `дGÀ]Ýxñ…bbÈ*¾Àn@¯mù?ˆ” üGÃcf€Ó:d ü?BàO—ó¸í8+ ÷žùÓÓO?j€{ýŸñûÿóóö¬àOŽÿ«PбÂÞJe:VòõÊŽ€ý Wëf¯y…— -ù芽·£õFÅ]šüP -T@G\Ä ÁÎË­Þ®ŽP‹Ü·”ÛùQaIß}ÿ‚ò«€"hMý~O}}×áÃ'NÔ­?z´~ʼnÕ+ XÑÀ[të‡0¨Y?ë0öé¨3é,»kg3²-újKàîSÐÒRPÐRPª+¦g¥Å‡J3«WåZÿX -Ø­V«[ -[Ô8ÈÓòdKòQüÿõ«O<;á²W‰€/ô?A¨_&ÿ–~q¿LW¬`8M$Åzi¤¡¡ºá?¸@ð¿‘Bh2Õñ -à… Åãu/£‹¨ÿöÚkH€ ¶-ÃÃBpút€)®ÿkèÊ^€ À£ 6ú«[8êbEX‰È‹ô„{®Î_½þÙuaŽçJغž_mémÃñpœÐ”þô°49¹Ä#ÿ%Dÿ's€¹Ê|H1 àN€øK%?"ƒ!äÁÇ@ -hãô@øÿ³K°–—U,Ä`À¸@Øò:\øwŠ&^+MHæ  ‚ÿ¦Î&vúijZÛÄèß?Ð\EjPÎP6 ªjzþÙgŸ¿#˜øâ„ṳ̈´&èC&°äöùDx¯›ª&n ~¼³Ï·QwÚ•õØ „ %;þÜJFó'苉¿<×w§S’CíïæÏIòð_i° -pWš“4ÒŸÝÒˤ’[ý[ýoúÞLú§4>â¾WÐü;0j‹ÐPÈ€ÌüµBØÔˆV§4ñ ÎÜýí~ÁÖŠüà&ìðˆà{_Ö s–ð?ëCî‹;|þT*e- Ä )iüB (<Ó âÄRäÁÀÜù ÏZ€›[i¡ù—1}4ûf´ýÙ ˆ ÿÑ›Ž BcFÄ…6Àw LÐüÔÏÙ€~¤9¯Ì@ ˆh•h|S<É÷,ÃÚòùªòŠÛ÷cv%@©ÆVÈíHnÕhmõz=Ž7›æƒwWé ü'¿­ôöxŠ®‰¼f?}ÝÖÖ.ï {Öxàæ`Âyù‡¹š3¯´xpßþýû·¾Ñõ¯]õ'ºNt!¸«ATý¯§ëzëºÖ°›.ÕÅ„¤ s%VµeãF €uºC¥@L] :-º‚–‚W[vÏ­^•™k+á -Ÿ€¿¶½½¶­¶·ðIŽ î¢¸¥åÐFKÛá~f];áü©¶S— -©Ê?sÏq£W™p³ íL›è -¶¶ª[¦?š>tè4</3 ¸ p9# "ûGNV7hà€ PÀÊ’‹ÇÙ ØTÇÀ <xMÔÿH ßvBŒ÷Ãé€Ìı€©9¿rhöwìxïo €ÛAÚ˜‚öxSž1>T¿šóÝãï†#aרdÞ‹¬ÛXš˜$ÿbü$ %Ñs×#æÆ‡èóc ’»,’Œ¸ðwÂ=៌Ä@\¡T°dÅ?æØ tjmP`1P…uA#}¼@”à¸--@–`€.Z^ €Ip§ñS± - çýT5vÒ­©‰sÄØ-87pívºkj:ðì—w` ëó÷ýO)–N;¢*ý}n·#•òÉJ ¿FØðhRhØ‹U~ŒìÝX ÝÊÀÑTþ~ äÞ¥¨•ýÁ”V"úwÃéW|:-–±ð•—ø“b±˜¤ÙŠ–ÄÖ¤¡@ç|0€`Æç˜$0{¼ƒÿ#ôþqy°|¾20ڳſ=×sÏ3þeu¾øÄƒèýÛ½¨×©üçMoÔ³Íñ¦wMôÖƒ¨ÒïÑjà¾×Ó±&îm›o ™0¯lf‰±/V d‚ÜfbŽŠÜÿ/º×Î*$¼=€ýonm=ÑõFk‚OTSõÿ(€µfˆÊ«h;]!Tê ¶2@Xæ”þã®´¥e£ZmAÄ.|×ÞÖÞ>Gõ}o<‚ËÊŠ·oÞRÜ¢n+l¯=•9•ioo?µnݺ3g†7îVŸaØ?Ŭ`=ßEˆÏ¹Áô*îL!Þ0\xfxºp^€‡¦?ºü‘X šX†-—vRý?R=2²qdãðÆšaú©§… P¨Ü4.wö€ŒsûŸêÆÿ: „çãü. Àÿ¼T@ 0Ov|ðÈ€Exß²®A¹3d£s¦_l‘ -òãªÄÕ°ëKÚ“á¥ðd€Ûð@ô=" ü.Cž”?æˆ+¢ð$ À@èÁl"Gxmœˆ pÚXà´iE°BõŸèD6Á‘‘߸õ/T, l26‰i@S³˜ó³ÇO#¯(§I~@ý¿Vô ÐxWàÖô¡ Ÿö:ÿQ7t)Æ‘ K¿l$\€á×7šb ?Ë€”7 -P\ü`ü+; ; lT Ç»G³+è(ø?*O ¤?‹O|G„b,‘tk¦è¹€SS3S3l }=ô° ¨:>¸ lËç>ûÿ7#þbÞRžø&~‹\­› ýÚÍ]X Àf —€£ƒð¿â®f½J@o^ã{=^G+1 -{Ð,šö\ü°Ì ;T؇ýæÅ1pN|{€û_ú×7>Üz´z_×Ñê ÕÛ6lÛðG¶ a -`U::P˜V8Ȥ+5•êÐP—ª{Kj1¹çÄŸ’Þ^”ìí„ü™¹L&SÛÛVŽê¿®¬¸üÕPñ€ÍÓâ ëÚ×á´bm:ýmsíhøcPˆÂ¿­ýL[¡ø,Ã?÷~G/¨§ -œ…@é€ÝÃ#t@F†­Öó©þ·LW`T¾§Á>{Ð ñ€íÿþ¶ãÌÿÙâ0 ÔþÿpfÜü[5Œ†V®\ùގؘ ÀÄFÛ‘›æŠ/ÞÃõ›W¹PÉßùóL棿X4d·"Šô¯&Êì$ËÔ@È%Ä v6§ŠÃᤲ ð(`m±€ÊëZ£ÓVÔ©µ9µÍrdp'V;‰Ð/°+°¯-ª2¢üoîü”î›:Qñ7 ܧKgsS7XçÍÍ‚p3ã€MMÏ~ïÙçï’ßtö˜¦/[Þt,èóûaœJ wy ‰º›>JÊÞ¿ŒB ïë¥k‰¤•@ž@¾o°[¾O‹$!±ÛÇÚÀ>@¾››@~ˆ0ÙB0&½Œ÷nu—Ä4t¶j¦¦’š)¢þc¾™Ç›3¯À(>茟õƒÁÁÁಠ-`ùÜ/þç¡ëâ-G´„ 0ïâ '?3ùx=ŽÑzG½WèîõÝì0þéðzë£ÈûA*Pû„\èÛ³ùr?@κ)¡øÀó, -?Àýû=ûö×{ž©~¦ºzà9\¶Œ40 X3}Bÿ@Íùõç-¥ì¨k²è*ñXjª„-pyKiC[-—üµhçù‡ ½–JûvvÌéÛv¨ LÀþ–‚â–C-ð FŸÐ>“APp;þLõäwíj€SL Ä €ßü?3£¦Ëï@ê°¬ÿá—FÿwZ‡­»‡…ÐÂ;¢ñçÇ1ü{ó–þ²:^oLWN[ ú³L†ó:@~4j¸°rÃtþû{ï=[€w °ΟÀ<‚ňááúÅÆþQõ®-¹¹6vÇÏC°tuR¬„ÿý'óe.ƒü5?4á둞ܲ rD4€ °o¾A k˜¨lE¼"ÀD.Ø´@}¢ªNc'7:‹ÐÐvc€Ý€ÄV1€Nz B@cg³±›AÖ€¸aýŸ•65whþ”±Pµ¶ª©é©gŸ}êù»üMé_Åúà¼Ûçúý)_Tòù…%€ðâ[ù@)Ù³Or÷¹…M¸¥[¢€oy!»ßï– Së,4ïUô‚lÈw,uÃ5Ø ¯)éÏ·ßýS·&©ñkÞôOͼ‰%€™èë<âTYŃž³Aý2¶-ŸÄÿ,ìOÜ ÿvaÛg¶Dox;è¬px·uû½¾Õÿæ`=b€䕳ízÎÊþ,²ö_4Ìzý­ð_1ÿ€=˜=½‰Íê÷íß÷ÌÑgžyn ºú¹ ÛŽ6To³¾@àoZ_ƒc!à£ÚšÀ´&ù°&¸¬,µìî=ÙÞˈŸ©m¯eå*ÿ ÝÖ͵‹.È@[ÛFZ] ki¡+DýBHø~JÌý E§Ÿ*À|›LÚNµŸ:Åøç™Smí~ -ø?ôQZÿ‡¦×…ÀB„Ú–aë¥Ì¬ÖÃy@ðo èÆEû"Üò³×¾ý³Íhÿƒ˜è× -TŠþÿ0Aÿï~Çæ¢öÇ…þ†j¸°a%Öþô§‹×Q0á2È©yü(àÏ~È~1•!qe6_Â\ \š /…ó ²Åÿd.68«ˆ)}j~éúdd^¼Iî°4PF~fÿªS¦NÞT 9v‘l,J!ìlæÀ "^ 4²2Xù`?ž7)ÙÁÍÍœ÷‡Á?œÔ¸]¬ÿ 膑P5øÞûÏß5Áù³5Òÿ죓vÇSþ”Ãí ~™úkü’ß§Á@˜ô¸aÀJý4ûŽJ©>wú6 @w¾0-gÈ#yœ Ql~$E˜õ!„¸a -ðN%øŽ´«|¶ú§|?ö¿9õÊÌÌŒÃãô F=èŒ{½/5/o.ŸÃÿÅüò?kÊÃö }ù©&¿qŹÞëí@ ~ÎófCÔÌ"À»?ú.` Ao´:­÷¶Ò1³àA¶Z¬8˜“Þ¡è¿™Ü?X$°éEÂnÔà ÈóÌ30x®ºúèÑ‘m¼`ÝÀõ¿…)€HBñ_0Yè‘°Ž0¿·„*ý6®øéŽêùLfݺu™¹væ…j<Ìd«Õ0üiÕ¡¿Z(ûé²K.í1æ+€òu—@ýSë²g5]Ä“Ìç -Á‹t½|¹ørË!]@4àK## ###ÖKû‡‡0¶0éÂÀtAÿ¸¸ƒþïÛ›7€³‘ qÂeüOõÿðïj¸þ·Ô… ßÞ4 !DÍPÍÐ ÿßûÛGÃàŽ`BÎËÍ忏ýÅ~‚«W{>ëé鹨3v±ç³«ßP[e1a³M\qŽÛǾümKp¸ù!d˜eÿJpÀÒÒõHdé:Ý¡ Ð#k 씬R‰6öXH|@ hAB 8*À¹`[ÐÚŒì €í€"­@#€Œz¥SÛLõ¿Ñ¸ÐYÕŒ±ÑÔùUÿÆ2^h\+ž·ÿ… ñ@Ó¦÷Ÿ}êùçïú·µ÷o¤,xúFýq7€¾”ÛGU¿Ÿýˆøa _zYƒ²KìçËj R·§ÿÜÚúA9 -ŸÔˆÊß—(i9ƒxôÏ0ˆaàï%éïݱ¼Á4SI¿fÊìÖ¯ À1ˆ(õ¸ç¥8ýÿu¹°|îÿ‹7 ÿïTü£/¿Xø^z¨ß @3Y@­ŽmÑW¢ÞÖÃèÚßíÿJ,8Ôëßz×D×x_ŠÆãÄ‚ž¨7Þj¾aq¢bâ–a¿ýËàþAu›6mzƒÍÐxfß3Gß«& -p¢ëhõ†m;¶½°aï¬Ç æ750ƶZ{w°¶­¶¤­$³šð=µ_mÛFµºwп:³.S»•(@ïÆ'y2Ð{fw![û«…€˜éCÙ׆ý¾3gvÉE>øzëòp‡ªbÄ@è«C 8}húr( -€( Ð¡ÐthzzØrÉZ"€•ÈÀúáóø¡C0ª3± ®œB{ xíÛBÿÚc -ñ¢ €>PÈ‹š¦Ùe¸’øž¼·ã½?=ýâ#ñßÀ À„Òà -8 ÅÛÒ7ûW{.~ÿû=öÿøü·ÿàq:ªÇUo?öXø VáÇT=cE†I õ'îòÇÃ×!ûW”á|擃„Å™A×—Â×—®^_%Ï+ìAä›@ztq`G2)pª˜! À¶îµ¼&h³5Ó³Nt´EJù߉¶?4FçBU“–± BÍŸ6ÃçÎ@U,˜€ˆ - q‚Äšª¾÷ü=ÀÄK÷õÁ‰ÏíðEÝ)Ÿ;™J¥4)ŠÁ_B¿}†ãé$¥dZÄöRùŸN!+P‘øß–¨°¼Žìü51¨ x©CY^(§§³|AXþ½l¨9Óle7`MJsNóæÌ1l²ðëæÏ`Üs6>¸ÜX>÷*râþŠ\èß̓ú„¨ÜýõìÃ+8€"=;Êÿo‡£š(@—ùà='mLÞ"¿Òë…ŠÀÜáã™ùs3Œ ïVùWäó–ûglÀ*€ýköyê÷yöÕwµžèê:  |^°Z×ÕXáT‰ú¿&`½TB'3·jŽà?S›™åôžÕ™Ú¶¶jµ®¥´ôIõî¶Ò…ííµ…OnU÷¶µ© wí{wîf †ûByœ_(ê|!àâÿTFF|(NÝÆ”ƒAÀ0¾Üôôô¡þiÜ€áŒ5@X¢@ø¿ñü0ëMå¡P9á¾÷ã,ÿÇþÎ$dÊ.ÿ¡'`bü·˜Ð ©yaþû£²ð% lÈÍà ¶Ä7üm?{ìƒ?ìóÈÿîw¯üÓ•+W~õ«_]9þî»®ïÝF@üøõ"ÃÕÏ"®¥»‘—¥I²¬o2ý“9@„7éÇ,]_ZºN4àzøúõÉ‹ÿ×Ñ‹Â(Ñ€$Ef¢þw1ò'üô̩⥡ „_ sÍT*¬‹œ.­Ö¶@¯ñ: –Q+(€±Y[ô¡±Hkk‚@°¹¹ ¹³¹k€È K -ø¯]+×V¨bà= Àįǽ7Ú7šrø£ú}’<ðû5> éÛñ&;ÞƒmÈ÷èÒ'¯Ü2ÜÙI€F.õ5Põùø¥‰ ¼Ï- È‚QÑýwÿY‚ ýgzÏwЈ¹§¤)Iz€)Ïá?wlê•™c33¯Ìø^w Î8=Á¸'üãše?àåswügŸ×ÛÅ& ×û·à¿]ÆLNå-qôú°ò÷¨+êˆns´¶¼wV^¿É»&î]㉲ ˆ/(€_RïÕW,òûì·­%ä÷+æ…{Á÷_+Íë_Ô…! 0€4€ÛFˆl±²°f½°€sœì›©«EŒ§øüïÞXjÑ•–¶èÔÄ`ä¯~òIÂ,ô–ÈR~XÈ—3òÞóÏÌ) þL;þ×Ýí¬&†A¯ p÷îÂé@ènFÖâc¶Z6²0`*×í ™².@Œÿã[^ÛümÔÿýXh ™Bp ¯Â"@ w0ÐñSŒ?0¨Úpä…•ÄÀÞG¹`0ÈÞx(p]„Xßìwý>ÕûxœÏo~ó›ïþÓ¯~ðÛßøew÷'MÄŽ¿rüc_¯åp-SMqí~íê]¿GB ˆ‡¼òß 4"˜D&92‚ôØ9ri×™(…/Ê[“ˆJ("@^ LˆµÀ„(þñˆÀ]1ø·©„? sÁè„SÐÕúZcw'á½Ñë`m3}ܼàdVЌϰ -Š¿O«ª:ÿ­±©™wšÑ à@"k9 -à@SãªOˆüð©{ý…}1(ÁˆŸn~wÊ—J"€.É'ù“\¢ú#¤¹}}¢0š–î|r¤À/ƒœPÃACÂÖO^È Dë?­гÿ;- :ç’±Ÿòü?éþ©Æÿã©)ÿÌÌÔ1€¬ÌĽQs|0îñ¾¿tlä–Ï—ã¿hïÏÛççe0Íǹ1Àñ}vnþ ^*ÞÍA};faØ€§¡£õFëÁ{fõâ‹êƒÁ5ñz¯Çëé` ¾L €¾¬ýF ò{Í·Vý‹·Žæ°À©€Lö{ö!¨ú½çªÅà†ÜmÛàzºý¤f¨aNŽò™ƒpmûœß»®ÖRZZªSë€ü¥yÿ¿PŒñ{{ò½…mD°Ø+‹û!ä?Ãq×–+ìüí§è8@fÝ=Ïjü‘6^>˜ž¶L_º4RÒ0R22riÈÊÞ„ÿu&ÂS]ùžºr¹0.ìÿ_ÛÒOõ¨¼.¤+7Ñã¡Ð´N8ÈÂ?îˆá‡‰ohYYÀ¿ýÓÓóK4^8 ˆTº~£`Ñ@Àÿßú÷»ÿôƒüö[ŸøÖ'?øå>üÅñúäïH|‹!rÕ0–s¹Âc†HxéÚ]›²0wó—rYÀùJHVÿ…¯ONÂÀ Û¾"§Se_ŒDä!ÀØcÈP `í_B˜à™B¸! ó›sZÀ‘„ݰ(h#N€¾§µ¿V–h›œÚnzÞÜm4»± P‹àNø7V1¨ú”—øsrZà¿€`Óó÷îeú,S€$Ý>Äïº}Ÿäó'“QMÒ/ÑGiz5éNûй?7ªá”@¡×K§ïÿÈr#|Ø­Ñ8$?g ú§¤XÚ}‹D Ûöç¸*ÿcÐÄÄ –jˆq>‘&ùÓd2ù&Aÿ±äÔǾ™7g3ñãpD_w¼þœ7>ø’—®Ë(·|î‚ÿ2ÌÏçiÿ”!€ü£¿}/÷çÄíôDÝ/4­Ø0´ß›Ø‰pèŸ~#¾f¿7^ïy©ƒ÷¼BÈWÎbî¡—+„#`‹‹·Mæ¤CÀ5kÖ¼T¿_d"ø¹ô¶1þoØPSc…À:ÀÖþˆú›k'Y­œ5Œ©þŸ&ôW³ ¯Y@o›(ûûµ2)„ Wéø×εµgÖe2 -ú ÀLûº¯td9@fuf.P[xÉ2<\R2ÒðùÉ“Ÿm¸ti·ˆ0éêLåTç—ëêê”@`,~›ñŸíCº:8 …tJß¿4€}@´ý±÷P9m²èZYIG^¨Áà="‰-À»€œ$`öM~Ïžþ€úµÿwñ‹_ýò·¿%ü?ðëO~@Èÿ ªÿ¯¸rEuñ=ðwP¹Æ\›­~½W—®O^»zW -p5 K€k&…êQVr#@ž  qTN 6*ÔðG&/FxàbÂ5ư/ä •ËcàB„… !ö± (Z¶#K`#Œ¦€S+oà®H˜7¡' í4~È€}àùOÐ/’€›Džð§p„Ø„ -ð©gŸþý{þ}ñ±ôõIQŸ? -SÀŒü~¿DWj~‡ÆA¥»ßó§ýRZ“b€$û[–4l"“8S@r'-D$@“Öȳeà¦aùž)ZDþ^*a3Àï@üéÔTòÇþ)ÿ6$¿rÌ1óŠc0ú:"Ìñ 78þqæ–Ï]ëÿÅ›Êë¼D >±H`¼·îûlÃ/&òÀdð&@  þf¦÷èÉ£™ ú3€hýq‚AsP¡A®íóËþ›J±XñÅü÷Ïàȉk8¸š8À{ÕÏ<·a乘nhhX¿a}µä(¼ýþ³þƒÈåÿê‘J]©.Pªn™Ö•ªKÕtWXX }ÜëïUÛåýÀÚLæ‚™SmÓê¶¶K¼¨¨û‘ poØ¿™Ì­ÃÚ!‡2mŸ·•|>òyíç¼`å½…€Žê´ÿÅ€ïÿ¿þñ~}\Mâaš:(,Ó¥K)wJa€Tj1Y~nùÉ‘š#h ðââ£M²¹‘H‘*ñ.Œ} ÚÿÀÿ_ýò—¿üÖ·¾õÏÿü­o}ò!þÇ/øÅ‡ÝŸ^±=ö Ëõ¶Êfp-Gcaÿ _½ví®J€¥‰I1 -ć€Ã‚p3DX&œ Ã’¢)\":`+2V]Iˆ÷ç€ -€^i¢àâÁ?÷ýå©€Pòz “HO0à½bp ,ââAl8µÝÜ ``"Zèa€¨ Dmo\‹¥æ° ¤—ª4 w¼ÿìóO=u￵ÿSŠõq$ï¨äðQñ5Ÿ”LITµÏh¨òŸq¤1·_“v8b霟jzÍ›’”u§oÞøË‚8êuNñMû$´ ¤d,™ôû}T¿ó$Žxn ¯ À?ûžä-À˜Óø]ôWh$h’š¤ðö¿’œ9Æv€|¢ƒƒÞÁ¸'ßô,Û.Ÿ»ÔÿY°X‘O²Òº -3¢w• ý<‡ñ¢Àd“ûªÞ»¼]­­tm=xø¯ïŒEüàš w 3ÇC,"ˆ¨aBÁd -ÀÑ„Ü4P~¶Åì%;˜ŸØûEÅý3€ -nÀ -`Mýþz̸°m`乑mt64ÌžlØprvGûðXCÿÕ«WíÖÁ8P:Ý¢SëtjK/•÷½µmʨ_î ò¯mŸc› vTøímµ@lÞìo›ƒBö—Y÷ qBô“eèR;7Ëç󹹓%%—,&S¹‰(@]yN€òóæo³þ¯Nw¨®E€?kÀ¦ú•°”òI§ƒ RåÏR³²fåÊ+9 -hâÑ%¨}'….q§ó›]|Œ fÿ÷ƒ_ÿú[Àÿ8ðË?!à?~<ñvbaáʇ~ø«ãï~ðصÂÁ¬ám•Ó@¼´´tuò*~›»Ñ DN,E–øWç› `úeìÙrð¯Œï;MÝ*D]¤ï‡Ð`• -T‰Ä@ƒ<à A—LTÜXp -“@Ñz(²-Øœ*°*üÑàò_Ë”/a; ›êm·ñCc7ë›ä 6¶¿³}íöµ°`¿`BÿF"UÛï¹(þßô£´ðí“0p¸Ý¾¤/5ã&àöI3>wlÆ'Å~Xj4RÚá“£I?†î››ÿÙÿA€öÄb)6õIb©8îfO zCÚ7ÍvˆÄÒÒË,¶2 ÀyÙýÓ¤æÜ”ß?å?†YÀŒcæ•Ç £ñø`ü%ïÙÁ—–e€Ëç.ýÿÛ*P—=ùï•|½ìÏÇ*³Ýnæõ}o+•ÿæ.Þæ‡«ï½ À‹lÅ·Æãy©>î©G€‡X\eðM€³z½F°ÈËŠÙËM= úq‰|qÿJÀy=2xpÿšýÏ<ÀjÂÿêmÛvl«>ÑÐprvv•8ü«fçfWϱ€§«OÀbZgQ—ZZÔ¥¥êÝõ'†üŒû½œëØÏÀ ¨­  ÷kÏp¹Þvª½Õû)`ÿÍèêÞ-€Õù÷Â~Ãѧ¨­+)±Zad*§Ê?$“Ùÿ3á?·ýëüC¼H"ü7Ñ nG‚þR‹ºR‡':]%ìbúù‘Ÿym#à;€%™ður2â´Ù¾ÉoyííÇ÷7¿ùÃwÿé¿øõ·Àþùþá“ßþöÓôéñ‰D>Sø´èÝ+ïþãƒ4oÛÆTñ€ˆk‰Ó¯…¯r{?ÞK·»öYxláøï›;uü»Ç€Öñ]ß7¨‹L„W'—–®*Žÿ×ò`é¶1ݱ50±ŸÉ°,·Ñpþ_.faûañ%°€?zu2lp’wµ0ú—«WBÆ{¹}\2r@æl,‚XXÄ#^ B@ È¹ Õjþ¯µèt¡øði³, q ˆü¾jí³Ï?ÿFg5}Ê*Àè¨äs€$}>Ä JTí;Ò3’Æçphüßïˆ8biŸFò¥5 â±¼êß­Ìÿýî˜Û„I&ÄàçCå|Z(„ `ôÖÂ.éIúÔwØ3x«4å– ¤y™8ĹäÖ)?àÿ1ß±¸¼>ãx¯w0?ëyéÁ³ËX·|¾¼ðEMçÿópû‡ðo^/›è…'¯°æ×ó•yÍ<hþüwà‰¹õƯИпh>KÀ?êñT;ª=õ²#0S -a7`gÅ]ØÿšÞ+*òøŠø©¿¨xð;‹LÀúý°zOP€çÞzk]!ý[E…¿ ŒÿôðVɰÅ0JMÓĦ-h¨u-j5£~múíl¼kën¼@×öö9Fî;À;ÒÿPÀŸÊdËþ ñ‚S_±ù¿nN®þ¹ €ÀÜýÌÜ ¸4Œ)࿜e[¶l† †BuÜü¯«C–  -N‡¨þ×a€X€š`£WL*-5•?¯yAÞ|ïQ™Ü™8²`’…o¶o¶0±ôöãÿÍwÿî¿ø¨ÿøÃ÷|ÒøÉï?ùÐ@UúµkŸ-|øûîî+ï^y÷]Õý \®1Ûñð»Äa®_U&®^[º–õû½–­ü¯ÝÖXâ€f=PþM\b „þ†f,…ØI…,`yQR,Fä†KU¤…‘?!6ïÚJ ËÄQñàÕ@y?C›jAå´%, ƒ€)1#ûaÔÙÙü)›wÃXd5w7wwk;»4Ó€ÆíÏ~•5€‰‰Ïfbé´`££}iÌÜ„÷ÐúÝÿ{ïÕô§‹·éà’ÏÐ\b¾@Héü 9(½#­žXrì%é†ËŽmºê`zæTî:ÉÉñÌW ¶ç¸‰-¹ia¶Ý“›fuFêÚFë1§¡(XìwÛÝh3êBÙ;„ŽÞÙïëy½?lmG­ÎµŸü „"Ïóz½ž×óÄ„ù¡!0•Ú„úá¸ÓRYˆdÔÅyÁ_2ûM¹ýJKƒnôœPÖ‡ã¨ý3êã(ìÁN¼sÙ¨ÿÎÐt Ü~€êÜPeücƒGUñ8_õô F@VD6Ù#tòûuþ˜oxÎ hîøZ0A§T)¬vé’.Tý³+€~®ýub P”ä<ð9X½‡Âÿ¬‡F>ÿ»Ê¬<XQC€ˆƒ9€¯lÚ`@ÐŒ<.YM”¤:É…ÄKD`Z -(¾ô.æ1×-pé C€mÛ¶G`dýÿRó~ÿ€„ûþ¯4– ÕZbªÕJ{dU57/U/ЪŸÑ¨M‚~@ÀZÿÌ«C8t3º…©%À//ÎzŠù½Å™ÓwÔ¡¥PW •! ÿüÿ½*++-¿¥¤¤¤U#†Ù©ý¿-• -Y«†Àß -`hí¥k¯ÖÛÚB´†Š¯VÍÓµÒhäFq€ò"ãóEÝÛv/4€wÊàk:j…í­èÝÜmš÷¯ó9øÿðÏ ÀÿuÏ~ôâGœœ¤òÛ|ü£O>=>oïÝòÿf»ÎuTþ/惶`´#øÅdÐ<;˜ -L -›?:wMvMv‹ÎýUštŠ!ìNùÿ‰U¿_?¬ŸbÏxþÙ„LRêtH¦ÁR^ 6© Ï]žÎ±FÙÈf›¡f^žÁRp Aí…Z¹ü‚9Ê["IØlÆ"@í94ÇsqÚ˜ž{|ãê t“gŸJA"/ðS8®ÂÀËÖ}S ð¬@8c§Äx%0ÃIÀt •Eeqºî •³Ï™¨»ÿ p„ŒH8ìvÇÝÂ!(<“  $Üô§» ÜCéïQe¸UNŒþ‡†êUÂà¿_Ùÿ=„ðt ð`ô{xüúŸ©Üï9ß‹;âÞ¿?±ßbÙÏNÀ–]ÄñåÌíÌ_Ãý'0Dw%]’ÃO^—‹«ÿ$šÿÕ3á¼ô몓 ÍÕÕ—Ê"¿]Úxa=ek×®½téÒ5WRÇ3€ÂÿÂ=aCÀµk}¼ZjLÇKy1^/˜¥€<ún®›ŒBˆMÀÆœ‹Ä& "®ÀÿÌÔ s~ù)cÛâö¥>._Š|=èâÕZ#\”ÚŸ¥©Mj­Ì$“ÉL¯úÕUUÃâ§®®Ž]ƒ¾¡—ŸßÔò¦ðXxôÚ›©ž÷š¼Þ^ÓÇúyMqá8«2ûçÐ5¿§,ÇËÿ -¢ÙÜÿg`B#¤/ú­bÐ[Bµ¿ÖتnÁwá>Þ³ PÑã÷Þû¸ˆú°ëN&3úÔ€ÊáU¹¹7÷E§îÙý¯çÞ?÷ÿLøÿ"ðÿ³u­úèwŸ|rÜ ü?Û‘þÉÿ~ñŃæ½ï¿{þìõ<·ù ü 9xñ¬¾ÃìË;‚‹î³©†¸€®î+53` -‚ø¦„¢íþåSè.LuŸ ÈõÂn0eÀ>@"6ˆùð&”gñ>ÖùAR{€ÌäÒBpŸ7à’ßœnKç Áôt9ç¦_€iÐF, 6°Yàr¢Ë³qÐÆå?…3°ðÂX`Õ‹«V>üÉáà ×ÒèúC"Ì@Àÿ;Cï ©Nœ°8!Üϰ¸ Êî8ê~º¶PõŸañ‡ÃþpÜ©ªŸP©âõwI…|xZÈiBõœçWeœ@ñ¯bK•´$Á^‚_òœEê9 -à‚^ü¾ŸüzÆgTõô%ôÄU¯8{œ „X6%,vvtDìÃvŸÃ‹Ô8†çZsÇ×õ&ò&&’.—KGg UF’Çï\ï§Røt©Àq’!¹ºÌñÛ º©ö­w„B!Ghý k xéÒ5ßcð´£Px·Ýî°ÃÀ™€´yçªÖÍrÆ'Ï23® à?×÷€°Trܶ¨ð¼l{áUf¯¦¿½»¼Í¸´¨ÝXþqGìjÕÚ|lÐ+[”j­vZ«Ñje2uÚRõ3j¥R™…„À*‘ ˜)Åød~Ííº  @ÕÿQâWîfJÜaÄ=Q,ü±çzº´ÔW+µþ£RXÀôd=9•ÿæh:˜€¼6]΀ ƒÓ͈ † [Ÿ.Ï=ÎIÇaаœ“áHøxãªU¬:üã½?þñ_¸&0‡‡†àDBg$pª ¤ªwºQÅ;*ãý‰Â^§ÛÈ@eï®çœ>áøÔ&üç‘?ýõØç§bÿÀ$Í T?=õŸÝ `ûßpÆ÷T<ý¯ç@}ügô,=ª÷ÞS9ãï¹÷'â–W,‰P"„‹Åñ;ü>—ßñùjj|˜ƒº¹ãêSpªŸ‰èˆèªGGuRÚOLWí¢²[tÿEE^ÆyÕ¢þ×]*óùCöˆÃA ZIçBËzÆÿ²²®k":«{D",`9LìläÓMk RùD³ÒótWNˆÔ¢® 0€ëvLZËx Gì.:¿hWa¡ý…þþþ§àÿ­ò¢r¸ê·ì[YŽ@ |qþÕÊ“R»@ÙkÒ.X°4m’ã~„ ¦ÿuãWªõ¯6ÀR¼ÿ8û¯îJ•ÀÞïyE†°·×{Ráɦ“BQ ð¯Px*=8Z‰ µxCû©ö}ímXÞ+¡ª^#mÿâgŸ®¬ ³Á«Qx ŠAZâšAì€K lèeìÇzÃßrÿ_™/²·ÝÛvï’{wí)¸xG€ÚÚ ’@÷T [¾*=ýf¿ìä»ç9wŽÀ÷Áà³eýîÿóÑñãlÿ=xü“^<~ðÂûÿp€Ûu.ôò(A.Vùlòô†ƒrz™Ì_: ˜Ì£Ú¿J  “€ÿâqh…tw×®Ë%ü×§S*‚Ë~=a¿H0ÏöþÁMèúADÔOŠˆÁiï z{fÂr›­¶–À?j"Azðr¬£`älÄÕBˆY@7V­nhh8¼êõ×_ÿíoßÿûÃHº¦À.÷©20À€aùï<ávº-õ* UþñÓMHž°€Äéf<¹ËúÝhùô¹øÏÇÃÎ!°€iEÀP¿ÕAø?ñÍ-Î_wä¡àJN$Ydï‹Áã'¦«NÍú¥ú¿L2Êcñ¿Ðÿ;ìŽH„ð;b)´þ[,+Bk±ÌÍ@à¥Âÿ-ûCè%Dà LD€›bPýå0€dRZ2« 0Á‹’žáúUÖ²Ô*àŠm‹R"€ù¯A83è///2– )|{QQy!c~¾ºEÝ‹ª÷{ÕÏ(•ó·‘’óosU]&—þ_öîÉœ¹‡j}^Äv  ™œôs?ÇL¦ï™€ý¦“ÇŽŽó§)èðdWfW*<÷yˆ00 ‚ ¼-¯*[Œííímmm寖–"?«ÿ -œ³OWˆÀŠJ<X×€3s€Ö^-VJ´F-WþJµÒø·àÿ‹Ç©íÞ§víi¼c&_ר Š]M™k/\¸é¯ÛÜŸ½¯¿~ø#"Ï.[öØ/V­{âÓOþËñƒçÎ}òÑ~òé¹y»ÿþ‘yóÞ¾Gÿ¡þ:ú-Toÿ£¾Cl²¥ï¶Éåóv v‚RÖŸ>ì€høž.“_i X XÐÍ+úžˆO¿†*ã/D/p2pªã/¬ýË ¿æcù¯Ñ@XàôX Z›J’Öåµ¹µnLO¿ œÓs?]õàïV7,?˜‹NÀÆ,ß›»w9ÿᆽôÓýíû8pàû­[vm"¢ºŸ÷ÅÃÉ -A·¨šw»OÄÝùàÈtZÜ„öng\•Õø 7Ý w7q‚Œ•üÖLJØö÷‰ ÿ³ò?ŽÝÀ0GÍJªÿŠ‹ð2ža5¶ÿUÑÕ3ªªúž¸³§Çâ~ÅíL„öoroJ$€ÿ!¿?Tñù}e~_j*×ÎÍ_+àÅú®<—ˆúÃòý´ÔO'þuŠÙ˜Ša‡Î50ž -Yž¶¬YïXë¸FüïÒ¹t¥±‚F”Þ9…!^ä)@¤ÆÁ”#¥?¼"¸: _¢<×,)À,p HRä``Q!q€E…»Öó‹¯î+ÇAÀßVd,Z T,1¢ EYÌsrÿ¬,‚%Ç”œúC €÷ò$y$Óð?è#9ŽÃ£ÿª*ªóM››ŠÍ&Æþ“¦í1‚ÍŠlÆ}ƒ@~…Ëü©Ã ¿  ½­"þ‚t :Äÿ§Ù`‹HÎþ+ð‘“üžNƒAôµD#Z5­øT5ô«Tó—*¹ça,â,@ŒßµëÉ‘;çËU}är"SØ@9ŒfõMÝ‹ïî>÷úq*Q_|ñÏ®ûì³eŸ}´ê£Oÿç'Ÿü—Oþóÿý蓽ÿu7ðÿÝ{î¹çG×.°ý#á,€½\~¼)”Ä’}`ÚØëýÁIõIâÝÝW—NM"`й€d…p¿~ z¹yùµ‹Qó4šK+riµ¾ž›0Þ¯]ž¾ü׫ý;*è‰ ð¡ào³É9@¥€,"ø/‡€uM„ÜÕ¿{ðá–×LÏÝxxcCÃò†åDr÷64¼Þðãÿø‘OÍ{êõë LÎ^¶<‡~xçNõÞÙI0w†Þsº-n‹*w`§…ð }‰z8‘ Èïqé/®r×ó’]%2€û*AˆHÁÂPò e¼óÕùÿPÆt -@˜ýÔÿH&*qBõ4Ȇû=¢$û{~bq'ØØ#?Ƴ[]°ð;†±²9 ›;¾–LLŒþ!ϕԥ”€ìu©Ú¿º,Orä,WO'ú"·Ep€§-+CŽõ>ÇÚ2ݵ½®U¨køWØ ± àpä%ÀÌ"€ ³¦Õ.AJ\hYè¤ð€ÜÈ i•ì€rÐxë<«^¥<²ò­#O·••->U„p|ºìç+—6¯Á`hèÞ -T9þ,*wÈYŸáŽ‹…~KF¢''à‡=oO6î "fÍ_Œ¼ §>\ŸAç¡ú!áø x¯¿2 8åœ0ª@øð?Š€•*÷{ªø{=ïõ8 û{,=–ý‰„Ó’°$¶ú-vK$b÷û\!_$âˆÙcesNsÇ×7Á±Hïr¹’Éjn¯‹I{ -èu3³Þ˟Ί„BöH¨ÀeåJËúPhüüÊÖ^ãËêØ…ÇÇC;=}²=²"âð­ð­f)ÏjiŠR .]²K -K£®³¥Õñ&àX4nÃÀùÂ]/Ì>¯Î_S~d Ê‚œ¢·ùFcɆâfªü—f¥-U"ô7-íÍÊÜ`3À:ù33ÇÑç‡K{õîyq|``¼*«9MùŒF–-“É2‚h…¢R‘]‘ÍðlJ«Àb¥— ©÷Ø¢«Ð_0)µ -h¥ú¿ÒÓ9è9éõx[{[Ú•(ÛÛN!ÈOûÿZÚbLkëÔNWžNÕÿ[*+ˆD0-h%bЪ -aPŸ` ¡¿Æ ðj5&"Jµr)Ôje>á¾ñyn,i£¿¨OÞ9€«BQÿ‚t§_0ߪWoz÷ýÁ€Ï–aðÓO>ùߟÐõëw?òÈî·ß¾çžwï9{–K¬Á ^ ttP±.7l -v@ nÈ û;RÎ>úÀ¤¢ÅÑuµœ ?Q€<‚§‚¹÷ÓY7ömŠ—D~ÄlÂ÷µ¾ý±@ BCh®5çæ>øÑ€_ðódÀ,škE2 ìþs7@À[¹ËV?ðÀ7ì=xð\îÞ‡ïÝûþî=ðÆ]{>ÿþcË–]'H^Þê$äÆ$€Cá¡z§%Â6€–®!0‘€ž8á¿“i€JV¹{  P¹3œxx@"*BUœ×ëS‹ÿ©ôÀ¡wñë¿j%ü{VþO¬fü ´^©W ×r¿w:{zz71€MÎM~KÈâ·Gˆøt~ŸÏg'0ç0w|s ™œŽ–ÖþªÙìW´R¿Zj¬õ9,܇,…tY¿>T¸Þ±Â‘ã¸öðIVð|;rkˆ¬°³ À․u@n=äMϘŠ$¡RŒétIkþÄ  ë†Siòt¥¥Bظè­ó‹¸pˆá¿;%œ -TÞF `iÑ©6ãb4ÂÃc¯9mƒ2mÃ†ææª¬:º½!mCæÿD Gÿ°¼Ÿ#ê°£ÏVÀuÅUUÇ”ÇÔßÓ.Иd›eTΣª @I®¸Ïpî©Ü\ü?ªTš¼i&/DÒªê¤Àz*¢uÅi½ÊÞ^¯a®¾ƒÞVoïÆvtZØÖÇ`(Ñt:+qñˆù?Áe¶Â¼oÕ´z:=†NO'½_Ù‰—çe…A£ÕoDÈÏ€Tÿk1øÀ€%OíɹƒF‹_“`Cù tìž -äÞl€ÙGÇágï_·ì³eŸ}¶î«Ÿûô£rxïÁå€{:î ^_èr‡M¯\ìîˆ~ÝMpŠ@PwžtbúT¾±ˆ÷eŸÉïN]•t3þwwÛžHGJ =Õ·‹€žbë@QøÛäQ¶÷©½Ã_y-Q^"„¢Q*ò7>ø;:­þ5†þ¬¥ÖB°zõ§ËrÏÁòö??]õàO<Ø{0ýà¹sÿ˜wï¼¶]OØõùçBp#&&b‘D\ ˆu€Û½%Ƈ½úÐ ÕÿD·µÛÊa…³´¼<ëé 6< ðßМUÕ¬ÜèW‚Ì$ýÖ±¸O\Õ @WO/0=czfl³~2ÿ -b³F&[`ÈÎÔ¤}Éø§.Mä gÃ$àèÑ…ulXW'½ÎÇ^ÅIGAå¿···ÅôAoK¯’(À©ö–­¡µÄPÒÙyÚsZщ€4ÿ¯äñ¿‚ÿ÷ øÑA¨Ä}ºÇÀ“…L«ý Ô,ÔóµEùϳàñ%OíÚóaòÎ&“z›^ô¿ùH?x ÀÔ{–àÿ±Ç–}öØg¿h8|üðá½çΡþ?0ïž›×7k tÃPÐÛ¢úsLJröüT}j%_±  ?+v1èïêºj@ü¨ôøþ 'nη,üƒ»8úW¤ Ûö H¹¤‹~g׊d Ü\X 2i ;—#ý·aõòsËV? $¾¸joúÁݻߞ÷öž·w½½kÞ®Ïw?ÿ‹Çîìú;Ó®~c -c90¬rÒ_?x[Hã±8±àŽs€Ø@Oƒ€D¼à_µ)± †ϹUª>Ü`zà–D~¼ø³€/§ „¥úÿîŒG9 ã®zb =ôe8âÜït'Ä@„ê2?A¿ÏŸŒøJ#€ß\ `îøS€Ù±€yRØ0c¾ Üý瀵ee÷Tü‹‚ÿõk×î Ò=òôu¼ª•õ…ee99¡ëW„Öý+"ö‡Øy:i@Xp8QRŒ’:1ùý6©´<(Í9Ó˜3ø‡Páš5kÊA–(Z\´˜®ÚŒåk>~º¹¹9+ëß¹ @·žF@V ë„ùϸ8DúŸÐø7š¨e2Í­É´YF @ÃsxYv6î•iç/œ±'üVÕ±“ ‘X¡‹À ÂU"e0-mC{ûÒm¯¶W™ÖžÖ~¬Ýëõ*<'[½¦ÖÞÞ^ãÆS-ÆÔÿ(ï+OSùz‹äÿ“]©Ð¾ ü7xNWvÒA(‚B(Ð PÈ4¶j£:,@Ý¢~¾%¿*€¶%Oí±ÞAÿ®>ÐÛ‚Óø?•n6ßÂ/`òýe„ÿt<ûýg?[÷IÃÞãÇ|îíwm÷4] -zW,vlÁ`ô Bly° >}\U˃æhŠˆ.€Ø ÄŒ?e ôe¤¾ˆï¿;z¿\4¦núw?…‡ýñb¯òQ}Al -ÿ ‘œÎnfé^³üÂ…ôƒtó8Ñ€†½ËÏím8¼zÕá|ñáV5œ›÷6Ÿ¾ës"ë–-ûñ:‹*Ì]¨†vRå p:…0áŽ[ ·=θ*ïqÇÿ‰MÄ Äè;ÜWQùÎnÀ*UJëÿÎŒîo¦ùÏï……£ªþú„ñžzÕ£ÎDí¨Åm¡7n*üY`±[üHrØ#e:Uÿe1NW+˜¹¹ã› p4• ”'Úÿ<‚ç ¢ÿsjŽÿ# -àX²[è·?t÷ÊáÿzÇz‡#§ÑâŽl "ÈÄ,Á—r¬ž¡Â„¸ZçÒU»’"§€‰Q×Ä·a_XK vH›ÛΣþ‹ðßš]k–¬Ù·¤üñòòò¶Åå‹‹ÊË—ÜœÕÌçâæâª¬ºâªb:g à¯+®¾üpåG«_´23ë”ÊGÕ ÔZÓªôM ¨ð'tÕ˜ -­,[«¸[+ÓMÖkÊlNS¦1Χñ&`jW¨”M…›Ó¼žÍ -ØÜW)´žA\Z½ÚÞª´ö”½F´Œ-ÚV-¡¿Á@åÿiôm‡GáÁú?–þ‰´vBC¨èT  ä‚¬34ЗJ_¤ÚˆmˆÕ½ÀøñÇï%p'-]}`Ó§àŸPÐÞʯàìÛßÿìÙ︧ébÓîÿ–@tûâFolQìÛ./˜å¶¦ ¾cTÿ¡^.Eú Ÿžh­mºûO¼~L`þsUx¦ŸÂÝÁô'‚ÈúÑßòŒ\‰ %Àûý÷¯&¬7×R½Ï›ÿ¹t   »åòÝv›LOgÑÃ^"{V5ì=¼ê0Ôÿ{vœÿüóóçÏþìcën¼À%#õweü•ÿá!éȈ;é—S¬„â‰Ë{\ý«Pã«™7¹ïJлn"áP8Awª,ûUU_BåM€xÆs*g¸þ™  w¾¼«~À^‚ªúGO¨ØÀ]ÿt<~¢–„îDÁ¿í¶Šø}vǰßEu¿•à?æó•ú†çfsÇŸf¢¸Ç@ªÙð×—ÖŠùRû,þ§-–•çÝ¡»í!ªàWÐ}5×G©ÏËÖ–î è -bô"">‡ÔH-¤¤"˜ Z¨XØ5:ñ­¾ýd)÷`¸èü"Ép×®5»ö-Y 3€6z›••5P<@çââñÌŽÛ! -P ìG{ú Œ×úg±Àl@ù(Ê­i³Z»`³L¦0YMš|™V£Å €ÊqmÚf“RÉBi3N€h$ÔÕ1ú3T°6=›Ñ¬.@ƒÂ Ð3x’÷z[ÚOþ–{:;©Æï”ò9 ›h>¤mmíì$دì¤GuRùß)Æÿb=@¡‘ð…iµ&­ Zu‰±$ŸÍ€ïm#pñúýÿ @p ô¼µ_ÚRN?ßýñ#÷œ½ÁB»ƒ €Êü¦hPß~¡·É£ÿm’I¯Ù¦—Üû9ç^?Ü -èîúšêÊ×Ù½Ùfûóý«Ô²áoÜ[ž+šÿé‚€¤‹1ÁÁƒæyPìN?x.sâ {q8pà©y»FF¶!ô?tèóeDÖ}›:¡k¯:14ôÇ;wb€iÀΰÊm‰8BÎD(ƒjÿ8Uö=è¸N¢ ·Êº_…²ŸÐ““î±ôʼn Üß/D*wF<‚ëÃlö3”ñ%+€°è`mðÑxÆ£î0}Ö‰ · =q'œ€þ›! €8"ÃÿD$AñŸóÅjbs3€¹ãZ€dý[]œ…ÿ¨þu—ª/Iýÿµk×®·[^Y³ÆiY*„íûëQŠC8ýCQÁ,b}„n8r"Ž>ß"ŽÔ:€”C,ܪ§U‹â ÿ¶ß¾®´ ‡ À6¨D Àš•ûD€UåK² -‹pÂŽqÛEøQáãP¾:©­_ñ4O«M&µzÜ|ˆôËêL¦ j™VMøjÒòÀ¤‘¡ßn2ÉL¦cTùs,àx&Ké)ŽV+µ&ïæ“ -/}†É¤Q´R…GÀJÉøä ·k­ÞÞÞÞu‹±½¥uðœê{`;ÁåC[zˆ €°û§1´¶–´RíO;íáâ -t„Ѐ€LƒmÀŸ©¡$ø/¡sÑ˼ñøS{>¼“~ýïúšRzj&#ƒò?ßP®ë†ûìAÞÿ7Û_äõõòt¹0êO©ì£ "¶GÏf’Pøÿ]…¢O¤þË£æ?ç¥é—‡_`:–ÿr¹ -.ßøi«çÉß–ï–ïÞ½û๽ç9÷>XÀoÏÛ3rfÛ™3gyëóCo-{ìÙksþ†–awx¨þ.‚„ÃC¼à‹³_OÜŸQÀþ¾x<w'âñŒ„*áÞß§r'X -ˆ[âûéÞ¤†]À~Bxdà hFû/åÿH{Tÿ÷Ô«`2„5‚úñzªÿ==!K<€-?ÁÄow؇k¨‚Šérb«Ï7\³ëbº9ˆ›;®e -0-˜ÕXË3—^ºt‰­þÿ#–§-Î5O¯q†V†ìwÛ×ÛW”:|;®ó5¥¹>& -9ŽõŽÄ"Ö¯p¬ˆt`»Ãç(õ9beeÕ3å¿dQ0í ÀF£ßþÛ×I³0Q€îzk%Z”¯\Y|d`~?@ÿá>R÷Æq£~ªû¡ñ/®jNkfô¯+&BEuÿ5_d dte:bZPÜL0¯ÔªMÏ@HÈý?“L¡6е2­îhÝQIå!$Ô¥ÁÀkRjÓŽ•èdg+üqÓ£è€ÁAa @KKKžÓ„íL**Åþ_¶Wëõ"¨„.ô©ü@qœ®TTž†:У0hD@£ù™¡j´JJŒÏçxãÞ§öÜI€«€îîîïÞw¸¨×‚Ñô&ø™Í6â6*ÜkÍBY¯ç`_bBko `æ˜úšï9ºê‰@wÐügÅÿ+H—(Jò@ö@ðêU«~ø‰'xøÓÜôƒµ»qœÛM à}:ì9?Bø¿öЙC‡ízlÝc÷¯û¶*\ 8ú‡%‡àŒ0dCï eÄ-DœÌ"a á¾ÛM5þ~ Õùh÷«Tahp»/‘ °U•HlrC1ÈM¢ á ‘,êýÂXJªg à‰úžŒø vT¹ã*7½Ä{nwbD>B[Ñÿ‡ VãÏ«‰Péï+ ‹Îç‹åÍ!ÜÜñ§ €”®Ã8{‰¢ûŒ¿K/U3ø—½öRÙÚõöÂ5ÎW,–5„ÿ–•–õ^»ãº_TTôô;k ûC…–¬ &Pãpä˜éÌ0€¼‡à‰®›ƒÿ]£Vi`Ѷó¬ØõÃ}köÝ}dß÷Qù_H¥ÿ|.ÿéªýÿñùÑ“90^G÷ %¨ÊÂÛñqÜ;’?:LôF»À¤¦Óø‚æùUJº¡|ZiÒ*4ZM‰ZkÒb& P¨ËÓPí/„¾_Š8J *ͤöšÔÆÍÞͦª4EÅ}p -¨„Y€§6@|>€'=Þ“D´-½*hÅòŸ¨ï¹ÿÿÐ4<^“V¿%¿iýM ôĶƒx€þÙ§+…i°° „P¦EÈá¾Ö˜¯ny¾å¢7ž/ºw×HòŽ'S³®¿3ÿõ“_Ø¢6[÷@°#z­u‚A›9wîDR/#?{ö#¤ÇÉ¿"öðê›æûõÝSz›ùÿú7˜úòD -`’ÿ¤ãŸ~õO÷?ñ~xãòt€ßÿ·ÌÛs~Û™3¯þ~èe-{ì&ôf,îð{ªð¿a!€ÑY•Ç`âõn¿#D`<œaÙdI@h±$Âδh„Ýñ»TñŸ¨=DâîMñ8ï -ÆÄ2zêyMZ¿÷ùOÔŸHqúðïëá"ü^}Ï Ä ÀdÀ4¡ø{ñOþ#Týÿ€X°;ü±šˆ/rÖ³ûr†c±áRºÊ›sž;®±0šêT§æÿœðG——^»´å?:ëCÎ5–WVZî&ø_i§º‹×_w³Í ž¡Â¡»íw‡ Xá°¯X!¤€ø¤øAöbg€i_ÀÑ›3àÿØDJE&ýü"+‰)\²dßš#ýó3©ö ( @Èn&ðZ ³ÐÀú?3³¿îi¥ÖdRS͸`c3¨€²yá|VøÏIãw×Um0™ža>Ð\Å–Áu¼é7cþ·‹`,´Ù£ØŒÊŸÐ¾(ü=0 J©;Sƒ€“ÞÞÖVmoIK Õ÷ŠN‰l¯¨Ø.á¿Bæ5¡ÐK a°ó´‡ÑG'Õÿ -c¿ YA -™A&+1(Qóµ-%Úü¢"boÜ»çÍ;ê—ÿk €$øÎÐô®®‹Ñt)÷7Â?ÈÒÙK_P[45 ˆŠ€€ˆ=¸ -Dg飷ßw¼êÁÕ|~xUúÆW?øÀ¯Þ»ûíyt¸÷Oí:õÿ¡C¿ÅŽÅÍxA+a¹¥>¼óßv¢h¿ Z~Lꇰè¶DB‘¸Å™ âœ -}wBåL`.ÀA}TðûÑØßï» :À¸»G•à€x½[uÂýa<ÆD8&{þÈv¾§ê©ÏÍ­÷÷+î„û•Ä~‹eÿŠÄ¦2ý~»ß©ñEü¾TýºáÝp/f¥›Ö90w\˜M.U§ô/•¡ @à&/¬=ýÊ+ÿ!ˆB+˜%ÜHç]4÷/½DıÞ~7Ç ¯…ìöPc$bg°Û ±„3Á’ ðèÍùö“œ <²mÛ¶”pÍ®#,èŸ?¿¿ÿÈhÿæò³ö©@ñ8kÁÒžn>’¦F>0ÕËZçi_Nþá-?Bœ2<šF©b³€£u0;¸îh•rI£`àß¼~÷e+”íYF¤es`%Ç Rí?Ýèþ[: þŸþŠíbÐã¡ê¿·™¿„ÿƒL¶C!àÈæ³xÅNÀ?‰4Úgèú™6_­-))y¾¥:€§ö|8z'ýî_ƒ‚|ÍXüö<`ù79ª¯ÕM (þ£Q9Oü9Y§¶Ö&Df›~úë…90ÿ§X xå·¬—ç»¶?§ð:ß=¸N«W§7ì…w`Ãî·ß}ûÝ‘óoïzj×™Cg}~èû7‹tMDâªp®áŒ0»ü3\g°¥q€ƒX€MyªÐ©Ò·ð`Ôÿ™ãÜ@ë¿x¼ -À¯¤‹A¦-ÁòüìôÏœ• ‚:ªý4e› v Ÿ~(úUÇLŠÍÙ› ŠÍje‹Ñ»YQ¡¨Ì¦OV®ÌVÜG`<@4*Rf'½ÞVm¯¶…àUöµëí%‚À -úX‹º¥µµ÷7½Xþ÷œ†`»§²Ó# ²¡40Ph0€€Fð˜—<_RôÆo<µçÎúƒr×U‹i‰ˆNÀwâûà´?ÛE=4~ z}zü66ÚF£f¹Í\›Î|¶¨yº  ‚ O€î¯ä¢ép°ém·ùw¿|ãòô††Õ®ÚýúÞìZÕp`ÞÈ™3{vGàÙÇnÊ€X"\¯R íü·C;Ãázÿþ ¯`•Û*søýXÌà N…:Õÿ„þ¢8c àVÝ…Y¾ŠíªBãtq:_©GÂ@==*ã=ÜÕ‡@¼þi·å=·Û¹ß¹ßòŠß™°ø9üg€XÿÏñÛkìþ‚ႈßUã{ÓW0lõYcTÿÇb±ä˜;þ$èšÑH‚û—ªE€Jô×Êÿ_{í¥µtû…õ–5k¸ÒR"üi«½æ†^RzK¼Z@ €ÈŠõë CöÈú‡o-§–±3¡H £Ó9@7ë¸h… ­€¸P¸ë…·úßê_ èÇ1~&T€ýLÆ~Þ„`)UÇjØò&52133U÷g.¼"xÖ Tý°Dðø4üÏÚþKS(Š–¶+•²Í2G)Äg*Pög+¼èÖ·Šâÿ¤dpò$P©cÐÐyº³“€Û±€^῱·E‹ Á àŸÀ{…˜Tz€l…â´B¤+²X$ ÓþLKÔ¦¤%¿äçß(º÷©;j ðë€mêËÛž@Íßažêˆ -@Ëf¦Aà“Óum-XËgºl¿+ÝÿSœGŸ¾üÝ;×ÿ³ÿ„5¬> à†Wí>¼jÕÆ½{w¿ÿÛy{>?Ÿ¥e7íu†÷×[ˆüqçÿÚ 9ÀÎwÂbOH÷†Þ «,¡H$q¾¥¿ÛÝ >tû©Œï'R@7nUûÆU=„øq'A¿ÅM÷×»Yñ;¨ö§‹;ÞãÞïŒ'V&Üû õ¡M¡ý»e«Å¿5òC¿ÅŽ@M¤¦&b¿ì×Åj†s†}Tþ놭1:éæÀÜq-€ìJ^¹ € ý% ¡ÙK/½†SÙ +èw°0D'¤ø”½TíØzƒÿaÅ«ðkxÁ±Þ±þnÞ ´cÐ7ЭÏ'L¤À¢ÑÑ›[ÿ‹!œ¶-¢ƒàWá¡þ»ïfäçËüþôÄ  ˜G™KóFc¾±7_«5r•¬ÕÐ)3…ü™©7³¡Ÿ½þ8pœƒÇ÷´p&1x¼îh³FÁ™i³IiRÈq0³=Þ1À ´À瓃ƒÞVÖøCÀíÿ-•ÛS#E«V«liiémiù Á¿§øï!vpÚƒÑ?QN#ì”dVô]©™”(zãïî0k±«€n½-8 þÿœ[€7<@ÒÕüò®kü;‚ú þQ^dø×‹a€tÿŒ €U€ÿ¤hè£é†'ïwçßsïÞ óö~ðÃó~ûú‹¿ú˜ÜÄ?®­q•3q—û9U8ãÈ ø_ÌÓz¶ -ù!nN»U–ý 7±€b{àä-`\å¦[î8n7ñ'[ -8ãngÏ+ï!bcÿ8B6чœôŒ=?´[,{¾Éð÷ûs"\þ×ø}‘¿}ÂOå?Á¿/³ú\tåÒ·¹ã~¯].ë4-0€KØú¿TëµkC(ýÈÿs”–•–•Ußð+rô A°\@!=ù -¶ô9€þ¢PÌ»UøKà‚œFaÌ^ÀGÞê?4¿ÿ2ûæÐºHö?ÅãóŠ—ýÖ’‚oVæJ%q€Lîó_ü3€™7 yúÏ`Ó æªâþº*, 8fZ ÌBÞôtÿü…³5@ ÿ¹è‡êÿ“'ýù­Â‹8ßVxUB@ð_QYÁ€v b -Ð:Ø)¤ƒ ÒcèÚpºBÌN£ÃP‰h@!›ª–jýµ%/—¼üò³§éŽ'ÝÝ“³[ú`Çmÿ]t g½-º8ƒëÔôGÍføQäïÑ=æÜZ¹Y.™ˆ]€®”ô1x¡60ÐËskÍßµÔ½‡W½þö#¼þ⋾ÿ«u7M p$úœñ¾Jå C 0ÞÙ³VÁ˜ác€Ÿ~g(O„"¿}ØÕ',ßã^èÿÝ0”2‚T*¶öÇ™>êt¿âƹçd pöPõïÞÿŠÅBÅÿ¦M0üõ%ì?´ø-~»=á#üDì5ÃGÏïóGj"®šaª—b1_ŒËd§ÎmÎ×DòRB€êT àR5p_:ˆ¼´v½¿Ð¾ÞÇ®À—x]à[ô„Èÿ’ä1´ƒ¥+Ö¯X²¯g?€É'iàfÏÿ¥€®€[çYP¸ëÕ»ûç‹:€LìèÈZl,ò©Qÿ/U{‹Ë3ó•ŒûíÒ”§æ—&þOß•9^7@èŸUÕ¼@£xÆcÅfº2™6l¨;Šèߪñº¬+>ûù÷ìß—í¹Àßé?*FŒ<ƒPùÀ +·Pù¿@…Ç£õ¶ý[Ú[Z~`åvªû1þòìÓƒë€H  €…F£1–hÑ0Â`ÑÖP¼ -twä3U¿ü»Ðü^ì¶Mvé9ìǦ€ bö¢Ì8j7=·–0Ý\Ë×BšÐ7Žd€©®IâòtÈÿäËks¿›ÿ²ïï}ýðïýÕ²g{ì&­&&.^œ˜pþö©TázwÆsDÂ;‡wîäí@è`„Í?Ü=ˆ -H8·Æë g\åŒó>?FXPÅÈ÷qÜ'zÜü`zØ~§3‘àâŸÀ?„k>;=«ÝïðûítÓoäøìш5R3\£ó ûbo‚XcꬱÑä´ÝÚctZD71z‘N_ЭäÅÑïœZzV0Ьõû—f‘€²µv€óZ)%ˆÀ·š:HLCØ JBïÒk¬%ø_+² t"HÔÿy7ÿ1^@……‹öì*|ëÕù8á<ëxºh)ÁQ¾1¿Ä¨6K  êŸ3ù(÷rŸý¯Ü@ÉŸU7>PÕ¬Ö>ªdƒ@‚|tÛe…üÍÒŽScSà/eš\tJyâ*O¼wñ»ÆfíHàŸºb"P¶Ö±‚'R‚jøßòÕò$§¿Ke’€ªþõÜüßÁM2)ƒ˜#¥ÀÄè­`V_¸À (üá¶ù¯2ü_ÿåå‹—RùO• NùFm>aý«ùZíxæüþÞfFúùÅJèú¦)ñ¿ÔøOS*57[`ê] ÌJc€’jl…V¶y³B©5‰4§‰á´º+ €É³9Û#|6ƒ ø¤'Uýðz 0ú+i¥Úž  ¿]d(¼½Z%Á?rzÖÿÃ) RH+¹)`%þ+4ÙhÿËh5„ÿ­%%Ï¿ñÔ–.v×UŠiÂAù´ý@~û€·; ZèNNMMRèâ(ÿ¸ïoÓSñ/¯EÀ &P+ø@”cuðá ÀT÷T` -“½9-yôBúü©†@2æO$TñpFwÂÌGÝoy%÷è}?ÇýúÂNhogã‡?2Ld@4†1+õ [¾kÌç*ÕÅJc„ÿÖ ŸU› úf|ÀSéNØ>ñÅÄEyÂîQ Ñ'áù°ââ²êRwä ˜·Ž1æ[§IÀð_—üNr€™Àì&@ª€ä>ŸëxÖ²²¼êoýjyÂÛ§:¥9$°c­c=Uÿek¥%@ ¬ãü?Ôþy]·â':š,- à«8æƒÌYåEåEƶÅ-Æüm~‰Z[’_b„8NH膲|þ•Fµz@ÂûÌ´4eÕ—t€ãÒ@(,Ð*d2“qƒÒ¤Ü°àXZ -üág-þ{Ù™øï¥Jßëm5¶·z‰´JB€A/œþKJ ìíC¿E4OjսƖvå§Ú!Ä@à?hšÜ1 ôï]± @ä$[fPh5šVáÉËoüÝ&¸SûpómOÞ…å_ŒÄòb (F6¹ÙÆ]€(;c#â?9¯DÓ͘€èmÂ$PòèÆO v9>ÉL\a!®éøƒËésä'†žÛ©Bx0f‰pÆsPªânKb€„J·Sbèô¸ñ¾¸Ÿà¿ÅÒ¿âDÂ!@ðžðoMØC »Åá·Xì8ÿÓuÄï@ÍogäÏñÅj"±HÞ°oX‹Ä|¾Ëôg3¦‹¹’ ñ`´‹ÐÀý‹‰$>oô‹¼/FEéîrÎéÇe¥CWÄ»V†o—Î¥£wuV@ó1®©”?Dw2Ñå>þþjÁƬâ&=ñÝúYÑ¡“8@j @ú¥²Èé£wñËU}3^¬z&ëWŒ„`­€~þôy·è§9¥+ÍÉþocüõÊîy{[y›±¨(ßhÌ/i1b Žª¸¤D›ßRB  E£…Rž7LÅ™ˆ^°@©TÎè2g‰û«Ò¤»ûy/ Žp¿¸j<«®êèø¸Ò´ ¸®n núg™X¨PÈNÎ+8"€ Ÿ±ßà zÏ€-ü0ù… ðöÿxh ôFuK{Ëímm-¿ùÍà`¥§ûÿÀ}) - ¢rKeåiøUòB@6pÈ–!@kÐ ô=—ÝûäÅ;ìOÃW €>Ðs@€àmß8Сvt]´%ÃÉî@pj’÷£f8ÿñì?*Llÿ‹t´ @Z€Mú)Œ@lˉDåô[×Üq͇«¦/®ªw±$×nvúW±2@åvbšž…ýq'ðßI÷öÑ gW}–­!K‚7üþ!?jÿ2‹Åg‰lл‘fzߊ8†#¡¿#¦·Žá—@¾R_,Ó]&ürÅb.]lâ/êatºIïr¥Zô:k©Õ•Ô¹¬ŒßyÀå1tkiSÝeµ&uMêõ|eÕ¡ë<æ£úž~Šôqb¥üP}2Šþ<ây)È'@§gÄÀtÖ±<‰DÐË&¿K6GG“¾¤.oš¤nU‹°`ܦoö¦½žZW6Ë‚XLþg qHíÿ¼Ñ[&¬½h-Èi\´èü¡×f@мZ~jñâ6ŒEùùù%ùê|5áa¾QklK€%)@WJåRe–Ri‚ÛUsšÉ”–UÕ\•VW¼°?å4Ëô·®n‰¿È¯¢‡§±107¤GÐ}ÇÒèiz -HÈO—“ -†}œÄÀã!bà5h[ œÄØŽÀTz¼^¥QùA{ áÿð îôl¯Ø^áéÜÂVÀ§¹òß"h)à4lÀ!“É8Р@ õå—ßx|äNûkñUE9 J>@Dl·7x»#£}p:¿p -%|·°ý7›yÿ¥?ã4ZËT@ÏÝ9üÌæZ~„ŠAú½ÓqéOÄ!oŒžuŒ^PÇ=¡ F 8Àwhà“÷Ê£:%ÄCßM<èéðz"í³8@‡“¸b`áÿs y«4§f۶·¤À4úgÎG&`[yyð¿¤oÔôêü–üý>/]¬Lk..ÎÈJ£2­BajÕ*d&“Údòš”³Úúã³ÖÇá _@b Ç"püè´r0íØ±ªºª´Ü•gÀI òK2aD`­E€€òÿí[¶TlÙâÑxµ-êööÚÑhidA?7$ÔßÂbñN6,@²5TýkDF€FhîýðNûsñ@51Gæˆ(€©© äí¼ˆJ_ÞÔ5i›œÆÿ©î@·dÏVÿËÙÿsºÈ„.€Q¹œ(@0 ç6@p’¾yù*³ ò®¹ã:áýqÞð«W…wþÑV©è.õ  n§ÅétîwoBáOÈß.Øï$à¶XÜXLHz? UûTó;,þÝO¿ƒÞsDpâé¿ÃŽ؉ þø»ÿKéRù€Î…sò/æ§Ÿç’zùܶÇmŽ0žÞe`/--°&«u€ynzpMPq‚ƺ=VM'ñ,D -JsJ¹ïGêø™­¢¿O¯cäÇí1”ü:|2¿ÞXéðŸž&¥Ä(à‹ïÊOQ7c ¤KZg8€ïæÃ?ÐèçqƒŽ³ʦóéß*™”æÿy·xŸõ¢$|-ŘYð_Y^~Š@ùâ¢rcÉâ"ÄãKòµF:©[JJÐù_Ùl/И4&­F]? 1­ÆÔ*Ó‚(EÚOæ¾€Là˜™9¾ðhÝ,CÀéGUUKkþžI³Yàÿf…×ë¡·^¯÷äÉ @2€ºÕ`Pœ>]¹½¢²ÀXôª•Æv:Úöa  1ï÷¤àŸÞtJ·¶@ -xÑÙ™BC$@øZA^~êŽûKòÀ«sú¨>åŠ €þ6þ[pjÒ6ëkœšœ -t³5 Çÿøå¸ ö'į͕GÅJ`”7€[Sl¤—w\\õ@.>:׸±9ÀV„ÿÀ2Xó3Â;Ã;wýqg˜çTÎPȉá„;¤‚ÜßiÁª ·ýûC¡ˆÓõ`(âCÀö¿Ã2lè,¼ú'"58ÛyÀá‹Å|X`€a”©±‰˜K—$*àúK™\DëëxzK0Ä/e(CgÿC~u’î¼podü°ŽåŒ0 ÐUsû_WZ@·éiJ™$Ñ#À§ÓS¹¤Á?‘‚1¼ N'©Ð) >g)Õ¿.Eˆ‹}·$(·ó¨:gµÃ(΄Å·þq8t®i-H@RHò’’À"/éÊ»åk•X\´èü ‚H[€köí+/ß÷ïT×Ï_S´¸|ñ>cVV–јâ_­ÍçοFt~&ìa¡«Õ($àô*42¯Á¤U«¸§(Àø,“ îeKàñ…_:ªªÒÒÈûÿ²ÍÐÒm÷¤‚ñÿ¤X ƒ¢µÄÀ&€€öí•U<´¥²UkjQÿÛ÷•ŸIÈÀ¯6$øg€û„0ü±€„`ˆ^Þs§I¾JÄRœ\?9%ÒqˆÑ»}w]SúŽ©®+Ýú§¦º'»R. èNE=ŠÿZá`®­åî?Wÿ).`–O!(j®M¿hÛ»<÷ læàüŽ Ÿß©R!ï'lùc8LgÀ~&CzNÅr§Å‘…XìÏ¿ØÄΟ#´•ª|Äâ·û,e~?B†"ŽhØöÃü×ïðQåo÷Ó¾H=Rà‹8|>–}T¦Æb±<+ö þÿ2:£„¸MÖ‚ ½µ=a>:üc:À=×õTPÒÆJ¹ó_úä“üH¢ -—ðÈœ‚Ò1€7Uîtk íÿœ‚‚3cºjÜÉ2àCB)À;&Õôi˜%€8ðó[«é“‰ #`…Á5Ö¤ãíïÖV@žÎá2’ºXRwËŠðé¡CõtæÏ, ©[?Çm‚à¢Â·^›nô/)ßWþ1néÿ÷â,ÌÊ›³ŠW6çKJòKòµ%Æ‚}P­pÍ囜§ËÝsk~2…3zÀ”[Я$Ì~?s¼J¹&A„þ2™BfbàUxN*Nz¼^‚~xáàÀ ÁЪé¬Ttÿ·c`Ë„ö{ÿå˜ü¦•åôð-R -@e¶"›5€•§áÈø_Qi0 rH‘Í €l”­?m}yÑ÷Wã« ¨m¼0…­º€™(Áí‹ÿ““°Ø‰¢€˜¿[PøW`(þäõrÖò@ºv¿y2H6§oÌ .vèÁs`~ƒ`ØŸ€»_<‘ñªz·fVý¡H"‚bï9"Øñ«Ž`ãÏç·` 0b/ƒ -ÐîÀ  Æg§ú¿Æï¯A&Uÿ5>_ ’ ˜è’`"Ù¤kB‹¿´´Œ˜xºø¨âó½QÕÑurL<„®srr¹¦Ç€à"awð¸à Þ§gY$>Œ1”hõÖä4æäÐ3Xy7}L, г@P€@’ @’w×ÿK¡*DKFÚ ¼˜üZ1ãÑÝÊ×`¼OÎR$óRï$].ÝŸá»L46ž'pþ­Þz«°p_á‘Â}ûúÙxàHqV1Uÿ°†éQmÔæ·µÆ|.üKJ@4|­:T;kL™ÂDàV¼ðZ8ŠMÓ30ä— €Â+óý½øJ -E+&a\±€’·j{18Õ¾ïãS---¨ÿÅþ?¬€Ù„ó•[Ðú¯à€‚ëƒhdggúá DÇO %o<ù—@‚Áލ\ÏÁ8˜§c4~ÛâÿÅ@wG°+ ~ù#`hts›~QkäµµÂÐ,z¹`D -äæŽî6¦¯®Ê/È££s€oC}}nØýÁó/Þÿ„ÿn¼ ?V=Ç£€çT} F~û²2GȽѿ=ñ•ÕDÊü1»ƒ0Þîóùc»}8óû}\õÛk|ÃöáËhý3ÚÇ2.1Lþ“ytPý?‘¼ãG£,ýà ¿àŒ@÷Fy”âT¨ë$ -ôÒ‚‘3˜ŒéJãø˜$ ÿYx}úÐÈ“‹ -.a„0Fà-ôÿc.Â~( -‡( O±æà!˜û眱ž\ÀZÊ÷•ZÇÆª“I])ÈÔ€)w€[(fÿN(õcyºiÑ+™º¥ûó|:dî" -°«°ðüü·„àà¿ ¸¸?s>‡öô—+Õ%j­:Ä×Phph5ÿµì©»–ºÞºY¦þ_­ø¯ÿèÿ7W¥)•j™I»y³×¤5ñ³úÓÉ{Rš ž”B[¦¹·àà¿gФíí¥ò¿ýã}mí--­Ït¿ßÃ!€|iþºr‹‡é€‚÷³ÙHa ’@O«1Z_.Ú3u§ýÎ]e@ˆ½ìf`÷Tàv&ÁàE} k²ã*_àd÷Ô$ÚÝ¢ 3–þ¡åÏu¿¼–r½Ù,8€œî–wÝ¿ny:4ƒæÜtóÜŸ¤oqœN8ûú¨A?8êëãªç2ž#è  ÝüñDŸ¯Le¿ðß>ì³°È?†Ž¾Ï·~Ÿ¯ R¼wYc1_ΰŸÿÏé<üæð›¾aú°+vQ@y££gïô4€¤Î%æó¥–ŠI>Àü’•`øÏéùÂmÜÉ)å$¸‚µô !ÿë%ñ9:kãùÈþrj™X«ÇÄ Áy^)=)ã;¿ˆ•á?¯;¦³Žà@' -rˆb`WPÇ ⑼V¨s¡]àJ&Góˆ•Í‘€¯"07­$Ë_ô®åg$ýóÜ„—ÿB´„Ïúû Ðy€À o•—"°ùùùÒþUþ þ2­Z£•iµ¦–|…ÀÏÚ}HëÆ¿ì¿Òÿ -Á£ÅiÇd¦jõR¥ls¶‚7éšêÿÌD$°(@g§°¥â¡-mñ(´­Æ^HÚÚ>Æ@g§PÿUxüŠììÊÙÇô2à‘ d€%°â4ÌYðÓ¿ˆ€¼–€ SÑÛw@È~ÏTW0pµ¯“‚H-b¼5›mr‰`&€n€>Ý–ÛpñÜ:9ìjÎY~k -°•í|} '”þtåNÄÑP=§zî9, Äû8 ¨ÞWø«xßOúú,[íL|e¼Ñ'}ø â}|¾ËïTô×üü¿þÜÏ—šÔD†‡ ûñ€Ë1,ëˆ Àug&’Ö¡Â'x·Œ°ØøÏîáïÈÉ)Í)8S0²­‘î”ó‘S*µ¬<Âßé¶‘ÆØýË¡g¤ªž'ÿØ -à?7÷Ñ àæ€=„œbMcÖ3âu Πû€çý±WXj•ޱ&ø ä}7‚ÿ ‡Õ¥s|ÃCÊÊ.•–x”JT³žÉ|ÛWw56.:¿¨Øß/G2úÿ{»+€j¤µù°ÎGp‰FIJº.ÑÈ4k40HƒÍOÝÂÙÁߨ˜aG«ÒÒÒš³ …`3Ö='½Ü˜f’μه Àíÿy*µÚÞhÛ·œM‚èM…AQ!gÆ,ø£Ø.¨Ttx¹äý%[ @@l€Ü¾€@‡>ØE—¯É+fH58 0Ê<€Ã€mTä×â†Y/‡2@n‹v¬Úø«û¿èÈ%:›>'øöÐvÅκ`ᇃ˜ ê?÷Wtê{®¯¯ï¯T‰½]Øškøkzï¯[ýþ_nýå/ý¿Çý%àžðþçoÖ¼YCµþððåË0çBÿË‚`Е:&òîäÁª~k!ÂÈ“9R¦~ºÒK¨î©êΜÉiÜ!”þ1_äå•6î@ß?çh‚uÛHê÷¢ ŒÝÜío¤çA ¶ ™ZX“y.nìøßX¹¥PZ7–Ã-$TýÛ@:Fˆvp‡ÒÑÄ[….+ïLÌý7¹žcíÚ2€L34Àú-¥‚_`7ÀCý‡xø?¿¿Ú ØØV - ÐßȦ€œ  -Ñæ30iØȤÖ´­°ÏShiuUUYÈöŸû™×¤¯;Ú¬Ü`’qXàfÁ?Έü·¦€‡U}Pê+R~„` `‹ -€¶}” pzõ¿2ý~â´gVý¿evC ‚µâi ÄJÞø›;¯’¸Z@ €¡€Ì۴аuM}C\1w0&g3áÈ[๹@þt½<7È@îîà²'þéÁÀÅsé ¹¹çþÚܬã]:Gd}H:8í/ÄgÐïëû}¿LünïOlµXü©ã—¼ëWù%úûÈú«fÔ§Ë›oÆÞ|ór,VÀ]XŒŠþ‚Ë©s !€M®™ãÎýÉŽºš¬V±ݼ´Ï]yˆÿ¹þÜcío õ<Ðø@Bó±1 @P°ï°^Êi$ -Pp¦`×¢ÆÆR6’LÆ’y_ÀÜO§k‚Ñ_éžE<% ‚mŒàÊ•Ô5Òçð RDà SÉkˆŸgZ‹àâÉ$’æú×þe0 -Z{‰áGP|Ò¿8VèG9ã´p£Äª©±±ñüùE¯¾úÂüW_íA2œß¿¡Í¸˜À¿ÍHxŠa@ÚbùbЪ.Á€VȨ^צ5ÃÒ¯®è¿P¬¦’¾I™rÈ\˜¶€À_Kà/S{eв€×sr3²E@Ú$àQ:‘ð»½ÂCõÿö‡¨”÷´jé no/ €’AC'r€XîïI­HJ@ þSÎÀ• -þˆÇ`Èö`ðÓ—_ÞsçýR]M˜sƒVLuwGoÛ<à þ_‚]SßÔ `3Ù=Éc€òñ#äX -È]^+7Ë7l«—o|`õºšÖ-—›éùlé¹spnî‘çr¬w8B!:Ãê'z¿Ï҇Ŝ·Réÿ×Mµÿ_[¶Z¶†ü?où×D~îs¸føç8½IÇå7ßüæû1ëÊ7Å~‹5qþ/³&«‹[M1QÿßÁ6I+ŠVí[¼÷G•7¯ïce¿þ˜$ÓÅ"ƒ¾@ijìŸs¦lLw©:YmÝ1’Qa@#±TõIn4[uyI¡ «Fë¢FI(Z9#ìýG\´èÌ´@€ëR1 X(… 0ÀÅ¥³6Íõ®åx‰Àÿµ²×ÐØQF  ë-بÈCs×è—~‚ɼ+V'Ø è¼”$Ìû?n[|ª¨¼hé©ÅEÿ/£ì7j©ò§-j­Q[Â.ÀÊòâq)›ý™u¢òϼrâ?k0óª…¿Pš”&õ6LZ“Læ5yy  -€“ži @Ê ÕÃó-žíÿñÐl÷TzypŠ'§°Ø™Úÿ¯HùˆOJÿŠi €gKEege»zÐÐJ^~~äÎû½ºÊÒ€sÝ¢~žê¶Ý®aÁŽ mŠXÀ7Òžb¤”zÑÐsDS‚ÓQú›76É|0÷áֽئ§7ÈõseÉ-˜”9>:`ÔÇå—tò'‘ˆkÿ~î÷ó…Lø økÞ|søÍ¹LOõuyþMüæ,_ê­.ÄÛÌMŒÿw¨ÜŒ@·±T¨ëÐc‡7x¦oÄU[µQøKÝâ‘Kìú'°ÿ ÷ -… ©ò'ÌÞ³§±4Çú7¥,$&ó䢯œÆ‚FÌ -èáGÈo- Îè’Õ9XL¥GÎðGFø‘–ŒáË+Àº •# ¤yTÌýÿøæê-wÿK9%pÇ%ןø•NNÜ ðÕÕ¸í<1€]‡^èß#€]ûÊÛ–B ÎE¢þ׿óÕ ‹E#VØçvþpöÿ -Ðg~£üoúî ϘÔÜûWx521€Í&¤ðÈN*¼Èþ=éõ¤úÿœ4,þ°È&€žVu/Õÿí§ÿ?~>Àø{*<Ü®¥™Àú´Š -iàá„`Ì •Tþgw~jxùå7¬wÞ/ÖÕ@w@¾\ÚèšêÖËoS?¼‹P'læîo~˜ÄcR¾@A‘À€6Äÿ:7×l~â¬|Ýr}íËVÊmòÜU‡/Ìý͹³€¤Î‡´“2¢¡?AÞÏzªõé]¬÷#ã6¿ÃD.ûþóaLú/¿I˜Yªï].*û›R¥=#¿¸Í±µØø£;“¸Ÿn‰Þ¡å%Üu¤5}øhöëÆrÐé/em>Á:øG„å? ùLª&g蔓3r¦LW†<KmkÉY´dÊþE—ÄZΓOþÝ=gA:Ök#=aÁÕö#R' g$§1gd¤ ñÉ¡@à»83=¤FÑÏl^EIW²ÔÚdµºtM"žm€9ÒýuGõk(ÿˈ°àOûåÝèoýÛ_´«p×®ÂÂ}Kö-YRÞ¶xIù)Àyû’ò%„ÿ,Ñ.1ò€ðßhÜ%ÀŸNã ÇêŠëЧkÿÌ¿B¸ðk¶Ç¦©•hûkLðÄø>²Í^ÿÍ›O*NÎì¤<<ƒ^îÒþ£Ã¿½ò¡í’´Ú£ñTû©÷í;õA‹¶uPê€x„0B¶TœÞR)ÙUdO»VˆtàÓ†ÓÙxî’矺‡‰_  -VF˜døïš -è/ÜžøLÚ’Sçþ´Bq*e ”b,Ô‹T`súÆÞ˜þ«àî'ÌòÇ~%7_”Ÿ[Þ°zîoέjète±2Úø8Ê"åçˆøï‡ŒßpärÙ°ï²/vËý1‚ «+6]ëÏ®ù'Î&Ïýé|v‚Þœ% -@@gó&E˜¸ @²©”-}¬:iÇOவº”°zd‡èן_42‚fþFài _ziìRõP|Öÿb„ã@˜ðk[™2|(¾Ôd² ‰SŠè‚¨  ðÝ´Z-Ó]¢suYY5ï¬@aQ]­ËíEí^­«–~7þ¯½ôÁ?Uÿ;JËJÇ®ÁHi4ïF[I,.ÚEǾ]KÿéÒÖVT~jC9ç•àÔ‚)K7d³/nÿ/ÌD`œo]ÙóŸexµòàhÕõ‚ÏÈÔßÓÂü‡À_ÿ?™‚ÊŒeã¿wf ñÿ$$PêÁägËäþÇv§UÛklÇ&´´´¶zD n@O§à•[NWJñ@’°B$J’@,žf ÀÅ;ïÉU§á¢ 6õæÛ2§{2Ø ˜¯åk›bc ÔB 66æx¥oܸlê_W-;œkÓ›;¢æ9à­mÄÐ@¶:Ç÷ù˜”ùÊbñ‰]Ž”¡ÜùtXæ›>’ö“|\&¤Kòl -óÙó'o@AÀ \0¸Ã~‚_üÿì½L[y–'ŠH§ƒKîyU¼ÚPÜ`ßms ›L…k^Ñ×®öº§íöZw®CвŠÜNQ(ó·„i«.¥Ìhô€@oÏ8£ªy–½Ëí…*0žT;4¯U¢Px²VAðVù#Ú}ŠÔ^’6rÿ1¡`øçϹBu¥º«:©T†áëkßëë˜åÏçœó9Ÿ3ŒŠ¿æ1½‚YV7;óG*÷+ØëzEÒ/3Æs®ŸBñ -К€ -®>D ¼ ½²úˆÉ@ŨÈwû<÷E( ÕfáhYˆ -ÈÝC ‹Ãb4Yò@”„Ê}Aw ^Ðe~·Êˆ MLÜñ£MC¢Š\±ž%óx"U]( ¬ -Ö¯€”€9NàŸš&æý<½o»#‚qÁ.ú»X–þô›ð„0‚ˆ5S£}èù\?äÏiýÕö_™å×gùZ/ÿÎ|C…ð„ÔÒ2q-z­µõÚÕÖk¯½væêÉÎÛ'¹ Pÿ5ñ¿öâÞeÖþ_|ñÅÇäø_üõlÀ'ÐÿüÀWPî?4ÔÖœª¨u²ÿoí¬€voàÖ€=0>÷BkòùctÒ~ÚnÇ€ndÌ -€×éìœò pí\¦î!0vz× È:¼Ø½2¶°c Ó;‰»ÝÊÐÝû -'NjûðÛø1 ïÎOÌ/™Ã77óÁçÒ/ŸÏÅbî™¥Ïø|ŒÜÌ»q›I€˜§›ŠuǾþû‹sü W,>ø:=vÓ_äZw › ÀOð&ðsÔv›>þe‚|Fõ‡æž68ü9ò>:eÞ)3#xhm`åý§@#>GÝVÜÙRÝ‹º £PÑyPoNâšÀ]A@¸¯ÊjuŽÈu-{èÿƒy¯ 21ò‚Ö `@Ù%’('%A¬ôŠRä²lôTX Wv‘­ +•¨!E'tT `8\‘éaCªˆ,ÿ‹ðËÃИÆEì$ ;w°Uàð?™HËÙvuDèÏ7ùsd:"ë?~ñÀ:óä";—2fûb&n‡?ë êí?ç Àvù3þ/ö;çÊæD€‰¿ûßÿËnù/ÿý/ÿî´\½zf ‰û¦)à.òíÅ·^«¯ÿ—»:ÿaý‹{Òý/î­˜ëkÿpô+÷„úµµŒþS|"ÐX°×Œì·c,Üþ3#ÈÚÇì ^n<ýæé€³³ €«„ÿË%$¼÷Vìccc– ÀE³ÀÕ€nS`á?–€ íWÞ9ôÏlδO¸sþ/ øÈ|E€îy÷|1Ÿ›n~ô™àß4ÞÜMäÝALDDÀvâ'¾>ÿ½`>wâD1è^»¿‰—È›"@à%1÷s9w®¾åüLþ3š3o‚Я³´KÜALâ~@b½ÇNü+›­®8´Åf>‹Ex½Ìf.Àxo:¡RÜ€‚²ÃŒø±ýãúÃõuëúè²sÏ¢»‰ó*}EÌv|nñ'ÐuqS¿(Üå;7ÙqFßL¸ëÌLìÙV·«@¾ÙÉ €9X€ª‹…~†A1»0B1{A§7ì Ðo,#ˆùUQ2D]Ñz*CÒôŠŽ9?.¢ ºˆù@ôrè5~ Í‚VCàÈeþ” -È.$L¼B„¨öu˜-ŒÑ‚)„2€ƒS£ÃÏyà¯"?ì0 q×½ÓûÖ±?ïày0ô=ªF~ÀUÓ_üðg°û%øÿ³Ï êë¿s·ŽH1€Ök×Xp5|ûäU¢ø'Û›Û§ÚÛÛ;§Ìþëúµÿòů5üùâ.Ú¿øwŽvZõ€½€ÖáþÃ?œ?ü3oíWjoúÐÍå¹?Ðþ7ü ÿŸÀØÀ8ð€öG-€ã»€{Y¤ì×ß¼xñ⛿z €öNhfow]»sõêT‰ñŸx -=×ngï 1ïi«€ÿÍ|ãé]À±•Óö•n¢„ÿW££ÿl26Î,-ærKÅžÇÀ|Ìí¶ÍçƒÁÍÏ1as3G[n)Ÿ7µ€ÁÞ"±€ O ²õþÉ{«îNÄ?9Yè`}álØMÀ¿[®'f°õï<]×ùBßpÿ¸¾øpÑüîüÇ“‹V­à¡ÃÁŠ€}f°^Ƭ^fªÀ>×6âl½bÙöo›’>„ô;a0 ÆaŽ—gmÝ&`[¾Ë=f× Fý¥ èE¤öï*º‰˜C‚]ô2«€/W’DCñé˜&H¯Ž"ó U$îøï'+=šB@ëiQ n¨ -Ó X”¢½ ⊸DÔ0†]²hé]£à@~úOÇ)ñ¬:üüê"ù;~hîý‰¼;È7brEÌs ;œ€ÈÀ0î9Ê&þ;~®:~¾3ðï7þ¸ïÀýoÛù˜¾ñ;` ›5€èD€­ah[‘èÐ40`iàTmccãKt±×6x DC€éA§{̸eN°âÿqÎü -Àì¸w޽<€§Ðàì„.@¦pÁLðH`â °ø³7ÆhànøtÃüC€öØb¸ài³`”÷á7ïc3y&›D–7ݶçP‹ý·˜-çžÉç6>Ï|¦MÓIº2(š ÁàÝæ^üúƒâAþÿy©pŽ`o°oü¶Ä§ ¬À~*l”¹ãqßüg³•‚{xÿ¸¸¦¾é¿2ûù˜éx±êˆPxM¡?*ÕˆZ¥X{„® -wUâ 2EñÕm”ûuIäûºX¥V¡" r„µ";øX|ôc)ØW+ CÅŠ®kl Èšˆ^ÐáryPÂ>Q¤ç­ìSÀ-‰˜M6è¢å„V­bÎ àé ¨ 0¬ -gUt<ÿýXóG òsøß±w­c[wìÞš;sÀê0¹ÀºùÄŸGÖ½ì7:¶·éßås|HǤÖEý>·@È5€ÛWOzè<9Õ<ÕL?Õîœâq@œpv¾øo»ê;õΦñZg;¦Ž–ÛÍ¢~-ZúíMÚsÎ@Cwø×!h2%þµô¼—ìµÿþ%ZýÕ2ð7 ðÞŽè?;n'ä¶›-Œco6ܺåÌÚá€y~(ã¿JH~«Ô9…ÀÕk·§¦œÙì=‚ü1žÐÁÇþözòÂE´À ™óîEÖŒÁ8{åí£}ø5ûÉ ¦íf@žÃ.€ Š÷îÜ\çý}N°¹ÓèvÛÀ0! »ôÇÁâZq3vPø'À ×c6¡¼[ ØG»eøw—ÇöBÙ<†í°0ƒá:@¤*\V;x:Œz·"D(-;*ç½rÙ!p«~GUuÁŸÀ¹CUõhE'ì‡V/¥à¾C]rDeXv íË4 - -*„BA§c]4ú4QÖ„¡óP:z¥2¡Q—$_ԱƸ†#ªÎ~BZ”xƒ¡Áj@„¥ äY¨j`/®³º¨ŽVM›Àç‹t¸¾Óø¸z¬¤ÿ#àgÐÿÔÜW×™àîâ:Aúú£Wúud{›ÈÕç -@O"~E+ „ @F­a‚ÿ« ÿt¶ó¢³½áÊL8Ml­½©)ËuûÆÆZºŠ×òÐÝ×WŸÚ&”ýíMµ´Õ¾ÔXË€S/jA˜Ì -þÇ)ö‡   €wñ%›ÍZ“€)ü{“ǘ -€Ù)v¼vuêæTö^‚œ8€ß ²°#øë6íÝ\ è6ŸÖ¸à]»°°Ð~åq?~—Ö<&¸Ž1 hÝÌç6sÏ£}Æùâ¼{fž>ßÖæGŸ‡0Øq‚P€Ø×ë~€é@±ÌdöAA¡l]÷IÀúð0#)j÷—eá.…ü—ÍR@‡©D }êÿˆËLø«ìÿK!â(G¸äÏÚ¿jD¸/»Tb .×6Åô÷‰Ü7. ÷1 ¢«²~UçÒ=tDEá^D q©zU% s€…}˜0H'ïQp‰†. -}¡fƒÈÖ2A¬@†‡ Ù¤@á¿(KÄ´žŠGX*Adàbw`ü¬³ªZé1އM›Àç(ù -'¾ÿ9òüë«D;EÿuÒqó‰õ¨pµ¸¸‡8ø¡Ýw|ZÅ!¢~¾ƒõ‡O2[˜ðMLø¡èºJøO,ø?Õ|rjª—öl;…Õt1×Tƒ3‹‘Àµ¦l°ß>T',o"@wòiÙ!î7OÚ9Ýÿö ÿþ%ÚÙ_²ªÿ/AP;n¯7Á?0ðhà£Fú ã„Ly®_&@SpèB sjŠžtoÌé##þŽ „´ì¨øóÀÆÓÿôøÂØÊŠ}Á¾°m¿r%zvëŸ ÈÙŽóÍçáŸÛûÜerîÿš2×›ÛÜȱeáçz¹™`ÿ¶¼À÷þ$_´c€ýB,°OðŸ›þeŒåU-å0Ûœ÷¡žk[Eƒ¿*TËœr7G`Êß¶©Ôa ²ùðoäªÊ$âGîß×·ËåmÖв•ŒÒ+":Ú«.4Â: RålÒ ¦Â@ï©  sÓ .Aø¯Eé âaB©hº¤õ ß_HÒ#xá*t b~²Ë5:ìBC Ê±¿‹~Cá\(°`@¬¨U×hU-WG]£ju¸üœH;¾ÓÑ!ÿpGÔ¿ ÿ;¿¾h=‚þß”Èâ¬?— ˜Àcè'}®ú?¿¹ãIÀ† IŠ­­]á«áÖ«lLð?x²}ªy -"@4O5•ÀJ& hr¼M˜l·Ÿ¢K#ÛùpUŸ€™°s* ÑäŒ÷µ§íÿµÑ~еÿVà°  B€£±ñ±À­Úñ[{¦ïL0cpù]¹x‘E€O{K m³·;g¯Ýa €±,ê^‚üîÓ;ê?«à?vÚ¾²wJ«N/4®œ^XXð¾Ò~å}©|pÇrꢕÈ-=dïWco»7¶r¹Íû|Î2€™pé·¹{‹ßûvÝ|±Æ@ `ŸPv ØðïP;'HÜF|Ïãþª2á}rú¢9qG-S|N‡Û BE2$î⫲3Ï}Xöèfï?Àœµ~欞j‡*Ü#eŒûÁÓEÝÐõ4•Ž2뼤%Î8dâtÿ+ºÔÓÃ@$€¯H™VMS$Q—ŒŒæó E%M*ÐgÐÃñ°¯¯u(J¿Gø¨ý‹Pˆ²h¢U‰jZT1t€^‰öQs~àhõ‡ç€PøÿÃ÷p+Ÿcþwüüß‹ñ»|‚˜©¤Êü_*ÍÈð'¢ùHõóþ);6O’ýÖGŒ– «áè1ãºN¼Ò9ˆ€l{»sªÝi56ÕâjöMÈp¬ïmrîTœµô¸h_kò&/!÷Š÷§_ÂÌ_Dÿÿq(Æì·ö[ö±[Âÿ[['è Ï:³Ú Ì~³›)$%4{õ굫³S%géÞ=û=´ôÙ³Ý(,ì´ÿÁ€âþîn;GÿöÓÝüÀŠ}¥&AííDþMy?~O>6à¶èÍå6––æ $cA›-ø|$þÝóDFlÅüââü [n®.·IŸqs áXð™ ÏÊåY`‹aûú‹Áü1°èÜG`_À?:ÿXìlÃB¯*Ü­˜}{ÊHYEŽ^püGTi‚ÝxeU1–·ÑF¢o9R­ê°éS«ªh´÷ TV!„v<Â¥ƈ ¢ì(Gx‚Ÿ vv\¡7}‡\ô qº -ŠBF" „}è‚ éš¡D*ÊáG +†ö@95ù ±#™ õ)á!MÒ2Š.z -<%@D²a”¨Auð/ŸUW‰TGÙ+àËæÿ߉8|ÛŽ½Áÿîn‘Eª[­{{K{ҟа0¦0ßüÿ5¨q?û¼ŸÔñdþ›àqf - µõ*.'ÍÀÉöÁN.4þ›§¦¬ÐßhpœµML›(Æ'¬Gï%èoj²Û&%@c?,ìMï/!ùÿÒ©S§^2/ Ô:‰ Ðn¼öVí-"·¾Â‰ÿ¯ì`@¶tpâõ7»Ñpñb7*Îζٶ۳Wï\š…pÌÉ3ƒív$ýíÞ±…Ó^Ó`ÅŽÁÞÓ§½v®XŽÀP®ÐÛz³¯´_‰jûñ[ò“ +æm'ê|ðKO,åܱ¿uoðßÿ&ö‹Ü|q~õ˜­¼”Ëm-mðØâÍ6÷@üoM,-™5€˜Í;áþæïÓ.˜s»âÿýÄöÁïP.cHÈây6íSïÊÛU—5ð½®_¶ÿªåt<Á¥‹«œ©®rÞ_@š]žÐ/‹w]êˆ!é‚fúÈ ¢«\ÕGàïŸð¼`”÷‰?”Y[È6 U¢²H?L¬:\Dä‚`ˆôÉ`ó#=‚¨…˜)Š¡hš¢U~E—Ÿ÷øýŠ®÷øZ'ž¨Ä#Ñ[@ ò$”„!Ô -Œÿf¢nš#E€j:ˆÈê—* ”;~Øárì þËn±Eê[ëî¡qÚä&ø?Ü¡£8A Ï%”C>Ο?˜§úD€Å².I-RK+ð  ÐZS'§¦ÐèÌBèlþ×45šÎܳ‚ÏΙ~dšxœO-Ÿ§tÛÛÑóר4p -)€ÆÚ—ˆÐ1ÙþMBê;ªÿ¨üƒ°&ìU"0žu–ìÞ¬×Î<¯Ž5eS³„ÿ]œ@Àø½±qd -ôì–ÿ½ŠÃýÆ‹ÐZ°ÿˆ  à;/Töå—äc@Ñ–øûGÍr_bÀ&Šý±X~1w¶HÈûo$ÆÜ¶Ø–{Ú½µ‘ÛÊ-mnÁá$`iù?ÀÀÁpúÞâ7zózcå,ÖóÿÈê‘f'ÜÞ–Q‰¯šcþ.cz/ QÌÑ)r7ýue¹Cݦßì6s ²éü«–åûÄ"„û²qÈ?Â-|âe6uB}¸aÖŸò%GdA@äi³;ÊzT$tv8äm€° bi¡…(JDÄJ&êóLú|Q­GOf ¥2í)øýRO¡E’|ž>¤D¾,k>ŸO+$|ÄXä@׊ÖxÒpl`•?™&C@ø_U~9àoõÿ°£ÃÄÿ=™³=ÕŒõ­ÛGZ€Âô¨–qÕN†àã"]9€¿ã× Ÿ—¬?|2°¨ê÷Ù à…ÿ­ž.dpâN@SÈÁƒÉ°C·Ÿ…ò~»yÄé4üÕ¬ú-ÈÿŸÂ3NÑÖ8@W4Ôšì øŒÈí[µP€zÿ¿¦¸5–-e³^ÚVx†/«N9K ³³0¸Úuu&Dx`4§íþ_´&ý˜j@»‰ûÝ+`^Ë`Þp .€W®¼Ý—MŸFŽýÏ%ÿœ;ïîííý†ãÎ}Õ=ï¾³^p€ùEx÷ô»‡c6ÛßÄo|d;´I„{ƒ8À÷ö/Ñú,`ió·1ËSNü+w¾—‰ÅÒæ¬çþ‡e³‡N†#æ6Ëô´äË@u¸ëº¸4P%ü–*Âl"*‹ö­*õúzJ2„dUää˲!Ü/‹rU¿Œw1HIcwYt «É>…˜(TÍ¡6ìû`^ã‚ÚQ–£†ä×(ä×4 Ð%AÔ Ÿ($-é‹NzüŠÑ#…<ºªG•Š.êCKÄÃhü3] -¢*fzD•~N!“Ð -Pˆ_4ª ´V!Šæ#±rV^U™¬þÜ…ZÀè—aäëø=ß1ÿYw@~'Ó¿hÝû11…ÖÓ­;Ì@66~<`½þ©ŸT½6ñd4é¡Xa! ß¬„9ú'øï|gjͦ,@àÓ€€³Ö¨užà;¹ÊOXï4)ºû!ð³7"ù_“ÉLÌg -p -bÀÚ=700N¯CùC€þ„þ½m€·n•²N0¯'ø½ÙÝ}ñâØ=gûÔlQ€å«×®(9ÇcÙq{ÖëµuSüïÝQ.ò!€‘Õ xÑÒÀ`a…W^0VÿÙ€¢;vìÛy+àv?8öà™€ ûlÑ6g›‹rÇëc1÷¡bl~cÍFð?Ÿwo®oŽæ7§gè©è€0¿D|Ó~àö»¸¹ô[“››™ à{'fœ@GÀè¬ç'ùïÚùûWõ²ÀBNþß•ïbÒNGh+ìûç0Gͱ÷ŸKÝv”ëU ÏÄ¡#¢ÓËËÛ#fç`•Åû‚ZÝ.WdÑÐ+(ˆô6O3( ,—e -þñ¶e4 ÀÓwDbI¡BÐÞƒò„(i˜ø3TÑ -j ëÉÄPë¤&þ³²Öß -š”hõ´Eéń谾KIb ¢˜ñ„ZY€‚¢èºaâÞ^¯ ÒQGÐ6X¥OwVVÕáѳϼðßO~üvÌ~wBüÏ™ï-ÿ?\§fý×X½©ËñÄf>áɧ¢\è:y²kGHèâ?ŒL+@Âþv†ÿ@CS ©ÖDü@­eõÓ`à¯Ýؽµ\0‹§jÏá ¨¼Dèß8€‘˜<0n'ø‡üsÿDøæÖøÞV€{Ù’³„ø~ÁìæÿÕ›fà&\½}s0¨ì7í0Èì@ÃÿŽÐnš Žð^´Ž1"ø‚w! 0¼/¿fK :g’[]oï3ù,±y÷|ìolÓ6Ûu›í†mn~5h#Ô_›³Õ=x°ù‹`ŒðŸð~qccsÞ}hzskkqkci#·‘Ëmä‘Ò7Íþ­¾ÀßœØ3øÒïsçc½D/ÀÁz~àßU®Ê@càôvG„¾2rÙåR/[þ•JEG2@¾,»àÆ'Täˆ9mŽ5êÀwbyD¤WTAÊàË.ÝšŒÀÛ»euÂf¼g_ß`<>e…€Šd4t„l:q¹„HþdBdÝÐ`¨ 0 e¬´tÌ ¤O=¢K}ž¡J& -¡T<÷(1¿Æ^†"Á<‘†ª}I-4اdጮÁ ¨ JÆ¢¡ÑûèÓ­òD!‘K®Q¦"; œEoÀ³ã‘½ñ·=ol›®½{„ÿOÒ|ópëáÖÇ:Öׇ®aד½5—%žðWÖ¥ûpêºz’k<Èôèlžjæ@$€Îf§%` Ôþ‰ÀɇýýL ¬J@c#Õžk"è' -P{ŠSÐ Ðs ë)îg À-:êú—ˆü ð¿‡Ü/9§àFEñÍîWAîÌvÍv._½v›m€^/&@' n4ÁaÇó—AŸ»»/®ìœƒ ý•ì•èò¾ü¢ù” @Ý7òæÌZÅ/žÌçóóùywltÕm›ž£Xÿz0»[Ÿ Ú‚£ù£±b1¸8Z„&qÔ˯]šùæÖ¡ÜúÖ/¶Ö·’£@𿹙Ë/¡Õñ7÷l~”3퀊ß;Ñ››Ù8<èuàʘwáÂÂÂ…+W’•}Ùð8`³¹Ýuÿùšç.ž¨«ûÂ~¾¢úù\~ݱQίŠmØ®çæÖf¦×¦oÄlë£1ÇÆüF>VvÏÇb‹ó½ÁÞÞº™ck›1÷èêæ¡¥­­6 ùÅŬ +дø- `iƒ³ÿ÷´ÙòÿL€Öó°6ÊÕ2 ý ¿/›8¼ÍÚ¾áá]î 0Þ–1Hæ3w)tö”-š= ¨/¨‘H™g¢¡;¢–]2OàcûY À(¾rD~/*ˆª-¨šæéKF“}’¨vÐs9 À“]Èÿ_æ"¾`h’.CÑ™âÆý ¨ü3š¦(š’̺.¨•d<\I)ôhÚO%„þ¡d&£_–ûRé~CÐΪšÇãfˆB˜x/a%êŸyT€(®V¡pI ݉¨ÈH<ƒoæHGÇ6Ñ©ZøÿÔë{ʨ,¸\ÃOô3Ö7åõ'Y×ÅK#`Og'K;§8ýßÐŽÌ³ÙØäLø×£ñvVî?p®ÉŒÿ1 Öûg Oqmà7ÿ œBÿ¿¹ýfô°ñð?‹Œ¬‡¥l©sÊYšÊÞór$ÿfw÷«0œš‚pvêöµ«·§Ì €N/º}p À„úÆÝYÀˆýÍ\ÎwŸ^YYÀ$àW®¼òNr_ú~J ;ö SHy>öƒcǾ€|Œ@Ý=ï¶­æ7ÊåõõyGl5¸:Swcut˽ž[u¯¯Ú¯ÛlÓ'ÎÚl¶ ­.¸yèDìP,6º4º8º5¿µ˜£øcc}½€yÔ–‘ÕwobŠáom$€V€Ø†Úºc½'ò€Ò%”žv –ÍòŠ¹Ý«îùyÛâüÖÖhþPðÐÌÌÌú ÇúÖ/Ê£‡m_­³½g[ý³µc½ÇÊÅÕ`Ñ+.Ò'ËæAù×·×Ë[ëþ€¼©äA?9ßj ô÷~ó„­X¬‹ÕÔÿÖsýSÄ?\ä—·Y‡/ B™á®ÈÖ>tÒU–¹œ~™ÀR7~GD®éWÿ#®ˆÜû¸ˆ\¦» —ù2Òîæl_ù¾ '£ø&úC²ªOèÄ$¤>a½\Ѭ‰Cœ`ߨ c*›e„çB¥¢O¢ OßëýqOØ£(Ic¨Oñy¾Œ.Žºd1J‡ÊÙ¾,ÆêêòÁà8XÏü›ž;W„»‚‹`F>âˆ9êƒz -åáÊ»­n³C€P1F ºKê2 -ˆ0?0sþ°–a߉$(„T]޲ -q¡q™âk‰§ÀpÇ@dhð³ŠíáAY”ؾGÐ ý†"’„(†(H>Iò´ú|~Ÿ`<÷)‰¨_¡× ‹•Ds”B{%Õ$÷{B]á”Ç3™kÉtÜßæ2 -²¨¤èU¡Áw[ᡉ„§u(¬°£ÃPc‹M™Ðá0á“ô]ì‘z -*Ññ,FÉg¡ø¢Z#=o|gÇúç‹ÿX·ú žˆ¬ó(í'ÿ0›ª.q#`×É.$ ìdÐ9ÕÜÙÐÐéìÜmlÀ ß£ –Ò‡ù 8¢ÀÙ3;ÀåS h)pHðÿ•¯˜¹þkþJ¥q.ÿ›Uÿ[¥Ê¿™ `5@©Tª‡ÉßÔÔÍvnìCàÕî{Î3€ÛËðpf³M^„ÿÞ•1HƼ§½„ù§W à®"§w%­2ÀŠwÁû¿"p%zct~å<^h«û{·å”w=xR3A´ïÇÅÎ"‹¿áŽ­æÜ‡Ü«¶ØÜŒ­|lÎvhuku~•NMϸti¦nmôú¡ÕÕCA -þ àW7 ôs£îüº»œË•7F76!ÿ[ßX\\ÊoÐÆrEîÌsó+«7àfþ›K¶¢­7–w÷ÀÏÁú²á_uU«UÖÿU9ý¿].³øï²J°À—# Ä ÕU¶÷‘Gô$ãáõÝÀ6Á²Œàj2Öíc4úÿU¦û¨ëF²5l0î»èÔ*Ì~DC)T -š$°ò€Sî.UMíá°k8‚ÎU®T ûƒ0Šül±"á¾&!u/f†¢¾D8¡hÜUåLýÚy<(ÖYF@l– þú¸7ŠÅÅX‘ þ«Á¯mDøJÇsuÓ½u½sÁu£½±ÕXÝúZÝÚ±K—Þ»¶å^ÍS žƒf07ºIáRn &@h Ì-å­Éî7p7ÀÚ| ðﬥùK6·;$RrÐx°¾Ìµ¾Qã„ãx‚þmôýQ¨_e^™sû8¨Fx4_D®ªœ¬—¹OV„ˆ‹%‚0ìcýßII”Ð@/Ë‘²#rr†ÂCþT©ÀYØ H¯‘…d¼ó¡(;\l?(W”d²¯O—EØëý>$0Eÿ´ …bp龡 ‚fˆ˜4€gJì÷h?U”¨¢º(h5 ¿vVÏ„»<ýqT]ÚPÊ“8CỦ„û4­O5QK+‚V3éö¡ŒæSú‡(Ú7žÖq CÕp4’þ†„4­ÈÙ2ÐU­ªÃ0 -~ʱZäÇG‡ãÙT€÷Î ÚkæOæáÏèlü´>±8áoõ#Ðu²í¤ÇÓéi;ÙÆ ¡¡³ÞIÿëM @Ã9ÂûZ4òŸã¨þ\à(0ÞlXæçšLw sÈœ£GŽÖù–J“ Œ  XÆ?VÜO ¿³‡ žpžÐŸÈˆ7Ë£ÆÞ¼øê¯ÆneK˘x{ù¶iäÌ–Úïy‰Pøß46Æ£ˆ½c,ôšèøÅÞ}ºÑnõ¼‰ -À‚}{¯¼ ÝŸ€O€MêÅ^+àF`ïç"ëD¦ƒ7lÿ7b7Š0õ¡‚sÓuuukk3Çf.ÍôÚêèlïLnmÚv½nµîÒ4Â~G•¢þÕ-TÛ¶ÊeŠüË£¹ë[îüª{ž®hH „Źü|ns+GÌ`c>¿‘1àrÅ&vX\ Û[°r»Ÿ4·Ù{,oË×¹óC€Ö— -ÿeøí‰r•3ý.àud›ÂíÊeÆ„ÿÓSð¿í ÄFõ¿\EÚÛ…z¾Ä}#„ÏôltöÉ2zʪ¹ž¨/—U%*a¯®‰rH7M¹³@42†Ò—ä ="ký¥â b_:œJ †û)~×+‚Π³ $  Â7ˆÐ <Øwƒ¾æ>IÓŒ!O|0žH†ú2¢­ñ(š¨öD 2oöÄžô¿H… bE kCý™¡ôQ-ÄûDÁWðÔ¤OÆ=š®+­þ–BØÓ¥'û=ZO…B}©Å'½!I¾¨ßçk‘Àˆ gÙ3Þ@U(ÀÓL˜ÆŠÏèû}ýÑ€õGš— ÿ¾åÏú!P>p<=3ÀpWëUO×UaÛN ¹³¡¹¿þ(Ý¥èÿ(Ôžs œs6ðŸ;G'QÀ pÔªû³êç€þ üØ8žSâ=ÝBøW"PÚÕð- (ð/ÑØu‚@@è¾€¦þ±î‹¯bÀÔ,»˜%€)X¶;›œàtèõŽ¡°0f‡{Q/€ÞÆF³'°û;À…¸,\ù½è>5~|Åí½ßv»ÙÀÊ|¦Y»sksß|¯nÆvèFìo(üg -P¼NÈ?W7×»Ö»vlm¦®.høáÑ¢mšÞ6v=vÝöÕë±ÕÕ2z·`Yv”·€ÿ«[«£t.p<„ñ?¿ -À¥ƒÑ¥-þ‰%Àã&öã9; `3·È`ûí·XrÿA0ÿ <x°¾TøÇœ›²£*nCp¿•p<²ÿíH„ãÿˆi@Gè¿íÚf -€™<ȶ±Ã`Šß]¦L° ÊÀmû¬“—…‰¡°RР©#$ï#ì&ÞÐjH@u­"VèDF¨”z+éPRÒ†Òq%þ{>ksSþÐBh(æV ðú?ŠÇ¹ ²=P&ЧÃJEO&”ph¨r|H/dÂ5)Âs%<$ yÂ>O¼OñĤúÛZ&Ô×’ƒCÇÓédAKxÂäk¡tê]O?Gôki2ìoQ$O¨ÕoHZ¡51ák!ì/HD8ÀY€A7MÓ ü”ÓæL…göÇ€åø$àõÍèõO­°¸¨N°àZ¸‹kž684ƒ4p ¾óu‚ýúzb¯7å2mкÀú‘8Jœà+úüç8Ðt®¶Á’ -Œ›ý àã'‡úÝ¢ÿ-Îþs€)@©~vöüìÔ,g–5}°|õWccãÎÎÙÎÙååÛ·¯./›à^Ö›uzYèKÄœ÷²Yû¬èÖÞØè¥ £ÿé…±nkà -]/d_¹påä~Õ>.PŒÅbu'vJnw¬×ö›4ÇfÖffÖÖÖ¦×àß³6GÑÑFÀo‹ÝˆÅn§)ê_£+=m:‹ÍWÝ7b½Ó½Ó6zBìÐjþPy´ZÞªÒwà–cÁu”‘<õÐ(Ðý;æ¶Œ ó;…î\~4ffûQÿ7óÿ,DKÀ&›=ÊüZc€­®˜?YÂ8X_ÖÚ*ÃïÞQ-;d;îsÈ着ۈÏ;ªþ‘Ò'dØV}»X"Q>úó*f$á@ðzz7QŠ -D Pˆožuz…éaEV º=bÿ¤~9Ó<$Ê? -¡ÃÎ †Òªbˆr¡ÍãIj"½j$•>Ò -è*4OR`—>%l[3žþ¡wAó% -ðï{ŒxOÈãO„[£­]þ¿?ÚC,)ÅdX\³P‘p©U×hµ:üÔú­À³Êï«°øqyøYÞà!4Oí—[Z®M\ëâ‰]èô´uzˆàÒÀ¨_ßÀ€6p«pî(mœ8Ê|€SXÄþùŸ³jÝE`ï4“ã3Ù}v|g•Ì›’¹–ëÙ믓 €ö~+§»uñâÅn{ÖÉ"Àåå;·aXšÊÞDèïÌŽÿá -”íäL€wÁîm7ÛL€ÆÓökà¯}ea!{áBûÿñޱ_5€Ép·^Ý1‹Òƒ¶ÇfÖþà?ÍÌ̼÷áÿ ùx_÷­éàuÎýÇnخۂÓ8Kàß;}澇ˆ¸ÅP°Åb«ú¯æWë(W9ño‚ÿªùÈü*ƒÿN¡Ûmù»cyÎ ùïfø7róCî`Ìo¢€}áþÒÇfGëz¸7óø°¾´ä?dîìûkîðЏäËrU¾L€íªšðöF`Ìóè껯«BR’†À#‚ñ®q-òXù2zô`ˆ~²Gé‘GQ§s„æFHÓ<ƒ@RÁ+#U”ÂÉBYM¦%YÕŠ&T~ÚGAµ„Â@%ÍðHBÙ È,ýúF„Š®Å=èÖ¯$CqîxR+èZ´O‚è¼@×”ã~Åç+Éðñ¾øÐ`:• -ýÈóAÛ»F(¥(55Í~->éS<é8Ä55/ õÅãéøR°â -Oú}~WbB3|­’b¯ð·útQÕ‰üDÒ5IÑ ™I"F%«Ð”ËO‹ìЯgHæ,¿ò^ - & -¿Ø­QƒOµ_±,µLø‘€ €Åÿ¬l#ø¯7cÿú†×ëëyc@ýQû ùæÍQüqtîè¹st{®‰(@ªáÜþ—ê¹ö_²ð¿0µtP2‘¿dÁ?ãÿÏ ÿ?\ºsþÎìíÙ.Â'Åñ<Ìçâ«æ0` ¸º|›Öri@¿Ó9NáÖY¢è¿U{è hsfífõ¿ñ´wÅly&ý™¾Ÿ¦Sž/áñ G"üR&ÓoK((”x¸ëƒ.g2¬Òk~_ ñz¿ç¬(ù}>CzCï)ˆ`=¢j¹$øËì ðT¾´#–À3û›p˜)ÇÇ‹GrŒP]åßœ<xºVÅ÷[0 kgµuuøãï¬o&ÐÖIØßÐÖÀr€×8ÞÇæÀG‰ ÔãÊ—Ýu.8"Ðp.ÐÀÚÿúRé¨Yý/™ùt¬|¿%ýãÂÿ8£?ëÿÎÏÎÞé$€ -@sA~õêÅÓvgCçìl×UÔ–—áx³”Å‹¸åáíYž ”õ²Gp£·%:„ - Ñë%&°‚AöB¶ýÊ;Qãì~ý -z<p«³L  Ú‚ŸÌ\_›ùÖÜÛ&òÏæƒ\º„»ÇÖÌEôà½K3uÓ×yºŸõ€`Œä«èäܾ{õÐêî:´ê]uZŸÏG(^ÙŠðpÍò«ò¼'èå6é$$1f¼r;Õ ‚}È0#hÉê€(Ðü]ÜÄbß›Ïç×—rHt°¾ø¯r9¿JèÎ63ÜàWEç=*ýÕÚÔŽ¬ÿvoG0ËGEúþý®ËÌUÙ*Hüâñ=ûN"ˆº!iÉÔ‘~ÌÞC€|¼&Œ¾=UÖâº`( Ÿ¢óô€á²žN% ûjîÓô -üøéØHö5§) +ÑÁ¾6OR+郂nÉH&}RFÑâÔ§<ôþª Ÿ•A~ôÓ¤/©H:›ûPާjjN*þ€P8ò„C]“=áþþÉVO(ì‰Ç'=izŸPXQ2~¿ÿOBÒè7 éû|¯MÆ›£-z¡GòOø}bEiLLŒH¾ÖD«ð£`Zl¶'À¾ -Uu —]£êèÓ(ƒ›€õõÅõÅgÔ `V{:>üx(ïr /šà“ÅŠý>}ª¢þà ˆÀ­€³L:=õqÂÿ×ÛÚêëÛþ·ñA`dÁ=ã=§è˜NŸãDÀ¹£@ÿ†süÔúR}‰{K;J'Gþ%+Ûo¦ÿÍe¢éðòáÙówÎs³'júöÆsŽßE€zˆMü‡à&,Ûé -€Û&Â~º?•õz³íÞVX±£) q¥q…ðeÅ{áÂ+ÙW®¼½±ºO›>-p¢×ê ËãÛ¿5³ööÛ3us¦{§¿Ug%h¸ôÞ¥÷Þ{ïÒ¥KkuÓÁ¯§i™±ÑåFг™\b7Ü7P 60ÏÄ€¤°ŸžGôÃsÂb1f3mb¸é¨+Ø[ų `Õ,`vìôìe10xðßpomÀÿÁúràÝ|·>ŠþÁL *·r[ z\.îˆUëw•!ÙW].‚tdæe -çG`ìK'žÁT¨Õï‰wõaL &~/<Ô7BO}†(J-’’n•‘3'¡W AO -}éÔ ø«¤O…´¾tMcMMSó…¦´'qM¢¨_lûש>%N´¥Ã’o'âž¡x†g¨˜  ÄÓ“Ñ„’L*šðÓtsȧéášT:î‰ûŒtM:L¡~ª/Ô–Ðm(þL]qy†¢EzÃO'<Šp< Rö9˜ôû}†/œèòMt_¢k2”ðùZýêš. -I2ô0ˆ¦å ªkô)ä\ÃpþBF}JÉÁÔð³ ðÓþpúø±²ãÿóéOÅïoõ·ZY€0á›ç|'à¿­­bõmõ–ÀyÔLXÁ¿E~†›£mVA ÅTêñœ@=.Gë¥zgÉɱú8×J[?[.þÏÞ¹s‡Ý~¦L }ÇNCðÒ8gîýoO-ß\.ݼ9Ub)aþMN4M•n¶ÿ½Ðd›¼öF”Aÿ9þ·ó$ +íï¼`hûUø©%€ºüN —>™˜y{íí麹o±Æïõ™µ‘ÿ'üGÜOð¿6=7=]‡›¹àtÖuéƒ^À:zC+°·!-pöj‹ZŶê.®ºWi‹ñS‚ô8híbAÂ{PÆ~:K1¿h>`q/þ?ZK&È--q{KwÒZAú=ƒ'l¨`ÑÁúr’ÿ ÿ°èå.Ûü»\—/˲~—À&@ûËp #‚Á|ªL¨‡ê?ºÿ«eÁÀ,`Q-ËQÃH‚  `  Æ“¡æ!±P P?”T”ãš¼¬ÅCýâD¡CìQü¡š¾Õ¥êð -Ð -ª0èSµš0Ì÷µÔ»i’ì÷‰{kš=á®h6„ÂÉÔñpT“#3©(BA“Š`D“Š^é{¡/œêO(ZOFÉd’¡‚ÃTM<¡|]ý5©Ôd¼¿?d9ÈhCCÆÇ›Ž¤Þ Å›C„ú|ðAH“&û‘S§SøC©4ñƒ”§-UBGš‡$I¨øº&=ñI‹f>4ôH†ÏÌTðoiZ˜].×S¨¸~®þرӚÿ,$fÉáSÃyVùì1¶/èó©RËÄ5B?€VÄÿ³m³èlC ³áuP€8oõõõÜ `Á>Çþõ?{½~g}½þõ× ÿëšjz¤ÿV"ü¯/ (•:KõY+æÏîAþe\~¶¼LñÿÙïþ#p{Š{L+`ÎÔ:;gÛº®ÎBÀøO¨?…wššºI$à& -ðj¿ÙŽÃö,½·©©± ½+v"+^ïÊ‚÷Â…ö… W^xÁ8´oËÄŸBþ¾7¿Ëb½I¼ýÞÛ33"äÿpíÃ5«üÏøÀ±ë¾¤ÿ°nºøË\ïNÕM›¾À&˜.ò½Ñâ!Ü€ð*êýn"û»¡$ wÝ` ô@ŒÀ ^ä/rRõàÞiØÉ䬅Ò*øô[îüb¾îâFgÀ¬g ÿ®j¹ÌÊ}tÞW9óO[5¢ÞîŠwïÊò¶,w¨*Kî¶<µ·j&£‰$ *ßQvÝÕÕáˆ Ãø`Ï磚.ÃÐE\¡’ð´J>ÏPEúÓw¡tMêÈ„ â!(þuE(F÷4‡$§âg3e­OÔâCÉdTI7káT¨5žJÅ›Ûâm‰Ö.C4Ò©h4ä‘zz4M9™>®k’2*¢‘2¡ãa¿–~?ö%¢JAMI…ÃQ΄ÞôiQ÷§úÓïzžtkFRÅL8E÷Sžþ×ç+š¯ß39Ù|$ÕO†âþwÓñÉ®wã¡“môR*á°R‘ -º®ÑGð´úZèâ§ø¿ K>C˜GávU6åÌF]OaV°Ëõc—ãi ë~[`§ðSÿ€ØìÿýµªÒÄkþk]»2ŠÿÛ<³mç=ùmt©7±ßŒÿywÔÌ Ôóƒ‡ë}5-€`ðhÃΙÃ%º)Ñ…v&âOY¸ÏWl?ÕÀwÿŸ7í~JÜ8v"€‹_½h4tÞ™½z›kúË„ÿ7ÁÌjÀM ?á?ö7ÛieÛÛ½Îö&¢¨4Ù1èíÿ¿rå¨&îÛ¯¢O+ìdò¦àNùߺôÞÛ®½ à‡òÿ33¬ -XcøÿVÝô42ÁéÓss½Œþsu½pä¬~ÑDôhÀW!<ä¾î>„¿vPÄÏ-y{é~Ý#ÀÏÓYzQ‘^ëæ}ÌRì&ö¤L5àŽ­1Ì6—66óî-wðÛß³}´µy€F믇ežùSæÞ=û*·þ¡ ‘yìG±—ùq°‡éð§–Ѱîp]ª@—ÌÉÓ`×ÖOÂLÁÈhš¦O¦BñšãЦ÷…‡Z qXNj¨àg´žð‘s¡tH©øB5ÍÀR“´L4Vÿ¢&N„=šr„à™@ÜÓÕvÍ×¢hCñæ×}étŸ‘i ÷ùÚ2¢¨ ýHIf´ÊñT_æ-Y“ -‡'=žpE¬$¼¿«dŒwãáDëñã}Éxº¦¿?Þœ -OR¼Žº@ƒâ -€¤ÏèiîµÅÃá¡P—?÷{èÅñxÂjóô§=Z‹(OøZ$M*hJÜŸli+0„Ɖ²©Ut¬šðÏ-êt8ižÉ, ‹,þFð,Wy¤¥…@k×™ÖkþÖ®kDÎÓ¥mö<¤€õqÚ:­ðŸà»¡m7ð¯7éÁáúÃmçë? ]ýë‡÷ðGÄ€Žf­C`ÿì£w¿|˜¶åÒòw—iû. ÿWg§ÿ³vûÂé1´þww³ ëŽE–§`S`:ÊòvsêÞÔM -ÿo2hwÚ›šì˜Q ¿7{aáBöÊ…›W^¸^YÝ·_FŸ$ë§‰Ìæ¬.€Þ`ï'ŒÞ~›Àõÿ.øÏÌ|hÁ?m½Ó½½Óu½ÿ5à?ß Î²¨sIÀZ±âØt‘#~þ¢õXмš$ V‡zÝ‹qQ‰€<2E¢ô1c¤{9@nWÀrÀÜÖf, ûÞüâoœp°Ö°68÷_U­ù~üÿ(¯B×_ÝV·ekÝ•ÕíìýÙùc¸pÝápm3$•áýá›(ÀEØ¥Êåª,…Æ(öµ'4AÈ´ÆÃÇSÇ–‚¿Ë_ÐÔ²¨ôhRãxÓÿâÈ`¢mR{âÔ‹zæ$ôyñæ!C1´óyãÍÍt¥`<Þìkôy¿&u$Õ§ëþ7  ÕôÇCžÐñ(F÷½êOy=¡%Ó555GÏÃaO(4¯© +ñx*MçúãZAÏ„R©wýôúÛàLo,)ƒéxXÉHŠ"^J¥Sýž„Ï§í Qôø bAòù[ "gü¾ÿ$šˆ´ø*`J«BeS±ËJøüùp˜¶ót÷~îa¬Ùúó‡ëgiO—ÙúÎÜX®§K ®þ˳ËËÈüóvÑÿº}kv¶ ³‘c€_½zqÌž¥w¹ji¦¦– þo² Ä ÐܤÛ¥wÚýí¨´{›ì€~û‚‰ÿÿ÷.´¿‚9/‡Êûöëè1‚ÞØ7¿m#Èœçlz,ø' ÿôÞÛL>þ€IÖÖfëצ?¬ƒá?ð¿×JýÿçzùDo0ø˜¾C®ÛbâCpÈU¢ûÈôƒ½½|Ùÿ`Ð* ¹[¹`ö˜Æé©©é;¯h5T“ªIzHFèxø€zðÈ‘´!ˆgUíÒ„Î_Oú}ÿ|‰PüÝP˜v­Šæù ?B| k( ¥š=J¸&ÕŸLÄÓý]“„æ’1õ)~¥g05ÙOËŽOât:¬D}2MK$ZÏøñ8ì&=aA¬H†DÅ¢^A¿‚xWfìwYY€ªë s»àÙvâÿg%9ø,+ý?·Ð"ô¿v¦‹ðÿŒY8?K`Ö„ÿóõÌÚëôóÉóçý¼õÞú€voñ…9!?âÃóçgßšÝ]ø{v³³‡Qö_^žý.m³&úÏâÎyntŽÛíc+cÈœî~õ"€ÀT'gp¹Ià¦IJ@‚þ›7é,™ºÉÅ€›77½N§·± Áöï…ì…öìBû+Ù+W®¼óB´rh}ß~!=†o|ãßë]\ßU{?1ðßÍüõ{ùÿ ÿCŠù×vàé€5„ûsôÏïƒ;‰Zs½˜˜0¾›àc"¶^ˆÿðhÑÆ †'£ÐÛ[¬+? xŸ(D€¨c¹+¹ÀŠÀ= Ÿ$›K`±cÇl¶o,4¬gL12¹(ØWïrÚz¤"óÜ"údžqk`¤\æò6|\èð”ð,ó´_LñCéÞÐŒèÉ(¡àˆÔö$š£²Ñœ®‰wù’†êªpNjCÉ¡š#©þø‚VãšA¥5ÑåOפ&›ÓÍ-ô„âROs›ÿ¬¨èš!êZ_¼¿öÅûGjRñæþ?ú׉–Ï÷ßOÓqªûš÷)ÌG2ÜÿG}°èù£´RÐ2éHM|Ò§õDßMÇCô¬#ýI½GSüéãÊ»]Jó_Ô!v 6×Ä=“­­éÚš¸oÈçÓt-4I¡½/AÐOœDŠÇ?ð„<éTºm"á‰ö§ˆ]„Îø<ÍŠú=žxHë‘Z$]o™ÐaX!p— ÷Ádè†G‡Ÿ¬?C°óóž#°(Üx“]×΀tïòœ·XÀ£5ÛE˜ÞŒûw@ßÄ~Z¸9Œ»æ:l>áü[‡ñÈáÙ· ì;<‹mgÝyÜ"`n4ý¼vŒ4ÛÇeèùP€êÿøþóbüŸšzYÌ -€Ap»7‹7»müƒ¼ð‚¡©û÷é1À=ÊyñÜj>??of‚¿n0óŸþß÷>äœÿ‡3kǠܩ̛9FÈ¿vÌJúOþ?2ø×ÍÑgæl½A3µoaÐôMy€ùÛücE`?ñý67Ô1 X -H ÈR¢y¶ 0ÇXÆ€y÷Ç)@nÇ%èØ‰¢ûOòK››€ƒõL£Ù´ñ« ¸kš÷ê2äÿ@ûª£ªÞå’ÇvÕ…ñ¿„bUSwUHË®ŽjG5Ò”;Ó9\D 0á³%IuéIMlkGUVÒQ)SI(¢F!z¼M駘|²ëÌ™ÉüžãCéPÂóÁd—¯&ç=¢ ò¨ªê¡6 -· ²˜N -òYôñ7¥ã©þTª¦9îñ×|?•Hèä·Å“ -Š5ïÿÈ“ñ6C©I+ZA{·¦ß(hJ¢ùû5¯+™p:Ýÿßš¦(¡#'“þÉD_(Þ^ózÁw$Õ:釚ÓGÒ©>IS¤Ÿ@ßO¡~&îëÑ5Éç ÑGÓô'<¡Éþxœ@×dü¤o¤ aÞ¿¥Eê%IÑu£‰E.È2R)®-`•~³'Éì€Åg”ØãóÜàÿ¢üÆFà5ÿµ× ‹¥¼Óuj€3ô‡u¾  ¦kö»Þ:æÌËgÞ:óò[g€üo½üÖËtü2œ·ˆÀy‹àömwèöξޱòü¿ä‹u¸»ˆ&̲ ³ÞpŽ7!rç.8b@çìµ;pD -à&‹JYÎþ/OûoÞ¾¹Ìò€©Ûè¼Éb€vÂÿl6»°€í•,‡ÿWÞ!PÝ¿_JŸ$›ó»ݹQk `ï'3ÿê¯ÿìíÿÝÌ¿3ÛÖöÂ?ÀÌ1ZfÖßZÓV ®$ ˆÍ*0ØÌ›‰}öƒ»ùÿbo¯ùho1†Ô)Q0K,!€ž°+î´äÝ;Å€Gz7ÆáÞ±î\]FÁø°žü#&EòÃ|Xâ¾Ëry›üämÈ·eÔ¸–­ªHþ«ìGïp°ÅODe-Àºë® ª÷㮈Î}´úK1*v´ˆÄîÃñ§/þþûé>…à[7ú(¯ù'''}¡÷û|ž~:ùn*ê“F*šÖ»eUÔ&ãÂ#G_˜hîûýÍ„ßÃýï¿ÿ>bþôëqO[¨æO¡áë?WƒšBÛ™Ÿ¤jÂù§¿ŸŽÖð -M¦Cé÷k@?jjޤÂJtˆÞ.¡ùâJEI¤ÒžÁšfeòL<”ø ~äˆÒ#™ô{Rïž™$¸WŸÑSÐ3‰x ~ƯxBéþIÁ«Ÿž Z“èJø¥]èiñiº èÂ}2§YL)%OBRG‡g05ÿÝŸa `Oàyaêˆp­åÚµkg^»æ Å€k]wΜ9ÃùÚ8ðÝ x«‹Ð——ùJ4€ï1 `>ð2ßкóKºÁõŽyçÚËwî\Ãåöw^æíø›äà­Ùó³¥´xwÚ."(ÕwÎÞ¹z‡häËøÍ, n.s -€®üà;%"è`õÒuá½+Ù{í¯Ü@àì>þZzl@ݱo|Û=šÍÏ›"ÀÞ_þ/ö׆¬¿™`!›]š9qéÄÌ Âÿµº]P7‡Ì?À¿|`:Ø;ÇY~ôù¹à šÝþH5]—ü:Þ¥›w—voÁÿë~ `WïLÓL=«\ë˜À·ÿå èÿù+l#8ˆÀÀøÁ9tææ®\ Ø¿rå+t&øÿësçnýÙìçwàï#ÿ× m‡úÖ¯?8¶9A)$øGßræÌ™•sñìÙGâY`E€Ð{~€Ìgͺ}¯6„6@{®o«÷¿UðÇq)ÿ7™k€€¿Ö[ŽÍ öåî¾cRpÙdŸ½4‚cÀþóA8Àv~†–å–±à˜¥îÓÎñ§QÿÀï46ø¹wWâZfcs‘ý›àGÑ?ªT•Mf@`#Š-¿™fÈY,&óSÿ˜¬L‘pOãKŠ®(N¸Ew¬Ñq`P ïdÊgs|ıK²*.ˆIS×’b· N§CnŽÛööîávÔÿ ’ð6Š÷5æxR>Æzø(ÿCÇGHñ›²Åïs$wAÔl9ëÙOo·H_%$Gɾè.ã²e °Íä¸);¼…`S›4TÉ0 -<%;X($4ϱU×Ug½¤uÐj8hƽÑ) ÞA3» ¦èIÌئ—гZl2± /îÅb9¡M¸Gb…Vì …ª$‚R]ó×”5QÙêˆ'èôOO Ë•‡à3Ãd&ü›ú îÿ³0ÐMâtE À‡÷$NÁýO_c5Fvo€àµ÷/w¿¯u_¦`üû—éÒý~÷ï¿ÿÁÒÝ|€úÀu‹ ì^Ú®À'¸&Pß1ÍZ¶Z/Í À¦n1Ç?sÿø“ú¿ƒÓ•9ÖðièÀ­+st "p•`  …ÑL0Èßv±FCµµCuˇü;Ø´sü ~}ž`ûù6Ðþ'H—І+U×qöÿJFØP¦¦67Ò• …(ÂÊÌ-¨¸~@ŸI§6ì¯(ÿi˜›;…‰ÎÍ -öTå/ºUaÌ\µ¿ÐÎ;© AÌôs¦­«FÉÑõ15Ùí zÙdFmHý åŒUµ¤N)nÐ&“ªÃÙ êšàŽ8y;b&g“IxðùrÙ± üíxœ@=™Ônþ§ü˜QˆÅb³Ý±¥îYú±ÇAþîÇ?ǘÀ×.Ӄ˗ý+;.áJÿ—/}p™.tíöáŸHÁ@ÿ|ðîûA€íh ÷Þ©¯ï¸ÓÑÑq`šíø×ß~) Àéwß½ÅfX Àt33ô¿óö•íƒE€¹S~íÿÊ_Ÿcàôß«™Ïóo§Ç€w.ü¬ïPÝ…ZÎ?¸~¾eù&À×^{íÌÅ_\ü¦_ø&!þ7GØq&ú`6tBµ¸¢@çP[(4ªcúž.oäúa}ÛJ¿–Á¾\­?:ð†ÿ$8Aóbìµú—Y n9Çê[e–À˜À…í\ `$ Øm¸ÜòB ö_ØÁ¦ã³WÿhüþY›Í5f ÿ¥ ·Jâ>šIW„µ¨B$Àߌ̀JÑ%Ábè‚ d`d–¶)¬ ¢—:£ÑJ³2At¡‚‘AWŸ$õ+º†(ÙrŠ‹{‚äAA”ÆLÛÖ“— ðœüŒWãqMtIR±<=sQ<æÈ)5æpf²ßæt´ù[UÍ„í/Ñ}¤ßþÏó7QþßÇé‰Xk$·žÿg«ƒ¦Œó I˜ìéºÅÛ–Sv~Xœ,ìó–ŽÆ.¼){})Þ)s{åI×CAÀKÉôÕM‡7ÿJBš±‘ô’˜K“¹P*[“IÏÓ­ÖFÿñ-"ô•è8œÍÊÙ˜·âš»`Z²U“bp‰hõ7#ˆk¾@ñƒ±'O!åÞúþBôøgHY|vùg¤ÿéP„‰K—Ð@` vÀOêþ¥× ÐæR÷¥gâc—ž!tæò3—·¡Þþg¶HÀå÷/]þ€!>z Ì€ãý-GÀÒ»0¾¿å -ĸàÜjx¦ãN=¢€Ð8ðÒ¿þß~ižíZb9W¶\`̰Õð¯ì˜¿2+¨þûçsWNûësÿ€»_ª|ž½âIªkkûóÿZwâÁúúƒ lÀÇÀúW¿úÚ™_üâìYV¹øM¿÷6¨ þÿó_x@-3„Þ¼×— åÞ …ÞæüšÿG(@s -Â;xÏGPèë ùZöAlZÎa>€à °%b ¥åÑÌÍxXÁ2 ~ °“´s|ÖÇý -@žyú™.%•jL¸8ªÂ ø™p£úJs%½‰á5%ZE–oº²Á†ˆýÎL'½@pÏ|€Ø´ÝœšŠbp`Cp«“B†ô¿´àöGÌÉ=œu؈”Ëý.¤})å‘åq­ÌÆ D-Î6U-©2‚JZ]Rå‚Ño!4 ¨å^n²ÌD€¼ÔjsÇ8¾ÌYžgÿ>ÎÖy~LŠé?ÊÃÀñù|™×³šDÐݪ;åó 0¯¬sù}‘Þ!Ø'RÁë)Ó´yäZ­“®+©žif xm]+Ȫ’Uù×`™IÓ4UèO?Šþ×·.ׯû àŸÑãÌÄÄ„téƒK±X `¶V\»)`øÈcû$õc Ý/Ç.?¢òŸäûd¨Ý„û¨ñw3ïßC¯ßï9v5€®Õ¹ð ºõˆ¼„9À9³Úµ¸U¸â_X`ÕGÿ·çü)öJ0%èãþ<êÿíWN‚àkÌVÅÏsà±€Ÿä¾ô΃ë„þPhê«ýØ.€3¨ü?g·<~ÿÿlà ýübˆhœm!" ÇÌþ9°€Ú¾› `±€l(à‘*À=¿cñ¹ øa$è«¢Ÿg™Eÿ,cx 7” ȱÁm`KpóH(]—a ¤7ýôÂ/w¶îù]Or=í¥¡1-DzkˆÜ5&”fQv™ô¦-ŽÝÓø4%# "q£9ºÑ™Þ¨ Ðܼ™éD9+6ÁEô"¹¢¤«EÃ)›‰7处Ã5,{lAW¢Jcô¶cª¦ifAT^Y0 CY˜Õ «Ì¥’YItSЦœMÈœå 0bÆáï³Ð9+Ÿ·­ÿ’FÏïs¸}y³ÁÉï³õ‚J¤B6óyÇÔ-QAÏ•HúË%“uú^Éóxç¦åè%ä’r_Pû eŽ%=™ô½ÅÛ|ƒâ!L9æXé³Ýb†*s¶å8ެ¹“²EoÑM Å4ã²w™Õ£Y«Æ4i„ÑI¨ê‚O‘mÌdŽ?y&Ð[[Ûy?= -ðöÓ[èý!þ@Ä7މ9rÄ="92@7Ÿ€þŸÅuɇ|èqÿRŒ@c—9b€xÂùnºeW:‘ú§ã™gº/w³V¬ݘþžwÓG– =q˜eü¿í¾ýö⻸Yd7“vÛ€ºv­†çÙ$[ Àt}c×âá­e@HýcA@«Wæ™`îŠ?@/¡BÀ¹¹ssWÎAö%€S_!ð×Á ÀçzXüq€åÊùå\ˉ*bÀ'ÇóÕß¼vñ"*g ÀÅíæ?’Ú.Žéÿ7ývþ{¨¼@]-‹ ¬ÀwVÄßjòç‚Ô hyX’|÷X€¿-ˆí -Êù&VèóÇ xÀ#[‚Yj0^ªCÐNÀÎñ§ÀÿæJ&“Þð·û0IOàŒ" VÑ X«(2:°É’\º¿IŸ†<ûN¸ýÒ%ÝXÄ‘PÙì\»$L)››ßR¢"¾°(þ {Ì• ¢ál·ª¸§HØîz§ÜL4“Ej?‰zRßEcA·uA1dẄ…VYv8KNd¢as¶s0‘ÔmÛ!ºÀ;ɤg¿œÏsD¼«I{ß>Žä½ãy79®ÿj©œçLzßxRw^.Ó;óWæM“ÞCßù¯<Óà Br9¡–xgÔtžû+uÌ0\‘˜cÉ^IöLÓI¥ -ý6gz’4ŽÎBJóLËæ-W\PéÅI¶˜0Û“ã&þÄÌD¢''“­¾ñO¬V×å5üµN)¢kHUDŠ8üå'ž¼ àOæ}:ƒ1Ÿ-~dÏÐ#âÿɱ_¿/û dÄþË‘ÿr$ G&Ž€¸GÜ×ýãÀþ‰Kwï~üÿ€>îîï^•Aýâݤü}*ð Ã`}w` :»ý¹Àì뻳゙}7»ûÝ,ËJN¼›XL¼»˜X 6<¼¥dà°;ظºŠmÓÓÓ/MûA@»ð˜çÞfÙs[Y€îÇ ^¾†pëÖ¹·ÏÝ"½'¸ÿ˜àÿÜŸÍV«Ç?׿¤WªÍ½Cà—çϳ1ÀÐòG ÀWóÕ×ÎþÂǺ®Œ¾`e¥g¥§‡°ƼZæl Õæî½Éì!6Ð ü›>Ú.èφþü³ÏØi¨–‰ÿ>dÿc`¼•%„§Z|в̰ßÏ -vcuPKßòÿwÀÎñÙÂ?F¥RIû3zèC+NÕ*zÔÈ”Š³Ú„@J^,ÞeOn¤£éh4Ú‰AéæN…m´I§O4§áýƒ­ `YAStÞœšÂÄk(˜˜’oÅqÛæ\1š!,í×4Qt­²åF7ÞJšŽiT…Ã#±_Ð9ÇPµQQ ‚±ðÏ”“ÉQsøÆ¸œ4#–e&&õò>« c†']Ÿ/sW=Ï"*ÐÿQ^÷ô<¯f½β@Jz½€X®ãøAqC¦Eê}´*h‡d@¾ìÐ\dL·-ŽÓ ûuÏÔU×èWMÎÌ"€ÓÇŒqY+ðôc.$Ë34‹·u³ÕIñÇ=¢%8'cô³N$³É"Q«5QpEüÝ -Už T µˆÑÀªè -b敌ø -8À[·öóþq à#ÿô#ÿGà ûŸ„ˆßÏľOzÿïˆì' -ÀŽýG¤‰Âÿ#G„ï¯|jÜý—¤»—&î^’.M\¢®G|ÝÃ9ÿݱgbÝÝÏ|Ô -°5÷Ïæþtxwâõìë‰wù~ýuòöÿ—#±ýGÄ!¾EœhÿÿíÒC÷=%Åž² Â~w⾄ii»ÜÏš[X¿}7ùúæg¡òý,  ðuHÈOÚk;Å ýççèÄöϽô^ì\}›ØFÀ  -°Ûgq,œ™ï˜Þ3== °§7Ü÷wʸÂRÿYòÿÛ¨ý#"øÁ­¹st%0×à?ηþîVÿ³§Q8ñùþ=õ¸ -@íÈð_ü÷\]eýg›¿¼~½%÷± -Àõ¯þÅk'ÀDÎ2Ø?{ñb®®ågH ¨½8Ò³²r²§Ço\„ìmb*€à?‡ç0$à—äQï¿Tük·Cƒjû@/³úãÌÆ–‡x@?p±‚è ´°` ¿ïò ØØr¡¯¯åüŽúß9>ëã>ðŸUÓ”öÑXÿ vþBûY€oµ(¬æìÌd°Ü³~„ãB€¡Lt¬m‡ PéL7³@€ææ)W‰FÓbа[MèW¶ãžs7“‰ºãvYW2Ç•TÞn°M~ûd)%Š o骶Р-­ž× -ÓâIeÁ9š•’ú3é9å²%' ¦¿ržeð3 /1êÀÝ×€‹)_EÍ=ßí# -pUÓȦ㭛KнB?´ÿ(´>ÏÃ[`[<‘„ñâM‡7<¨ŠS0´«ž:ÞÀ›–3Þ¯›‰šnñŽ#Ë…dÉtL=«GX’a\öW^V2 -²™˜•b‰Ödk²X4iÁe‹ÁŒÙ¢dH®+ -l0ô¿("fÞ:ñ¤ €Áàh~bf‡ÿéGçý¶:ýöªÒBTT@ñ­Œè‰iÿîÈþÿèºß+úaÀ&þé=¿`?êG$I}Z°6±ßÝO°/ÑÇD,ðý]â_òÝÛÓÙl÷îäîd ý³ÿ€{Rø¯##ðõ×ýÈ`, :ì¯úrüËüÀþ]]»V»wÍíš[ÅÒ^ìïۅ彫[ÇÛìc=ƒ%0€Ós]a:ê뉰 -ÀKaL$oùøÎúü¤ûçW‰ ÜbË鿏uŽdÿ¦ýçÚ0wj.Hø³Ù¿­Š•Ï÷/ªÇxZÞAeýÁúo ø1À¶yÖ_ûÍk'/ž=ûÜŠ/ý·Ó{VN¢°22äÐu£€ gëõ0¶°L@úÏ'C-¹ºó¿Ü‘ÿ;Çg¯ÿ™ö”\#쟴Xµ*‘”ªNµu–ð߀Pp'\Öð3ìú´JT\!ÚÜ73¤û£é©ÍÍoLuN`y [u ‰¬$¿œ¶cÇæ4;·X²-a##Ú ËæW6dK-z\™Ó5éHÉ!0µI™·b€P)’øŽX˜ äàÜÏÏôb6oÎêܾ2½“@ÛÉçóûöå”'°ó°p¶E÷~‡@ž·€ÿ6Á¾iêHï'¹Ï;ò^]g3€:ß`¢£À78j‰À~PõJ<솅1öýDøSÓí1X„’c]ÕÇ2uþ’ª®4eY¶¬¸—ðâY-å899[Hxý­©YÉp…ªª›ýw…jU}±UÂâÕ5_ÿ+Џà27À×ü&ÀÃ)ý?ŸÚÄàÿ‘Àú£uÿ-ñ¿~ÿ‘ÀßW2Ñã~ÂA…þ d¢•N¬' -0àî?"!í.=Íÿæ +\Bù?»t¤ûR,pûÇ>‚ýY_ûg—èÎî¥l²;¹ í³‡?zø[„ã»èø2‰þûïZŒwt-v­†W»ÄŸ{ûmÀÿü#`‘} px7c]‹ÌP…€X`µ 9‹¬ÀjþÐþD$ˆÀ ÀúÄþßf…ÿ¹+íýííslÀgDž-?×1À¿§p~ × L4=¡ñGS´þí_ü€çV¾ ô_9»­Olà¿âÛÿ†/†ºá -À8@#>Ƚ$ :ì ‚†ï ô? z¿PàS„Öb(e6)Œ¯c¡À¬ß_»Ì’‚kûØ’À>6&è§±P`°Õº°<ôËøß9>kü¯T*ô‹]ýôkÝÃXmUÑë T×ÞÉHU¸{WaCÿ~_ŸáFÁ¹b”î¦1IPé\ëÜ\›R6ÓkLRn -E1]gW²{a°l+ÍëQc`|_yî*™/%TMvÔ³Ì{{ûUÄ䤸}ÜøÍ«–cZº…ÌÝ«IqOÔ²'ˆE `9àXÄ›MšN¾ìxD&L«ìWþËüyÛ¶òè ½ßâÿmü€çÀàÿ'›=Fñ`?A?±€N›Àö}³Äú²U*aÅ >§$(BuL·ÌXŠÇ§ñ¶30è% I+‚ojf‹r„³ÍV9á%d9Y$±/T‹fDŽU݉jAb“ô4|—X,ŠÕú;}åDåI3¶ßzhøÁŸþ ±Ö!íopøýMÿõ ùÿ©J•ûþQþéÁãþ`÷é‘0pÄ•b?žf$`]\Û?1±ÿ’Dè»Ë¦Žü-a1–°Å@(БÀiwöÝìa_çÇ}½ÿeÜàägèg7‹»wu}™ôÿ.ÿ0€>Œkã6îûO>¬,~y•µ–ÄX -ÜQ­þ8ÐÛˆ(ÀEÔúßfªÿ -ݬÎû¾‚URûçV¯ÌÝ:wåÜ­+/Ο#Ì'@Ç|;áû©ùSHÆÀìßþ¤úáçüW÷û^øÙr]ËÏ.ü ¸‰¹½¾øo¿úÚVX ¨ØBL$`äçÃÛXà=9‹\!\An»Ôo9·•þ óßvàïPPÀ&Á!°€e–þ³Œ@@øÿ0ÃÒ€œŸDò¿®Q€ËË[-Æx>ë·;€ã³=*mV¦‡Rf¢ÍÑ E”W‹V´@¢t­ª¬M¶íï/fÒ™MèÂ4Q`lE €¤Å-^B5 Ý©lnnvn*›Í›k›ÍiÅ#…+ÙeÛ;<¡Æ9ô -Å"ºïý®;74nß> åÝŒUa@4œ<7èzWÍq’Þ\ƒI::ÛÀ™IÍŸ=Ê™FlÁàÙ*?þ l"ÉÇ’KÕœ€–w³ÌzýPút [ÀÂdþçWnp¸üˆ4´l¾A.éy.¥ªÙ¤Eà{þ"ãt 0@_Ðâ›/%Y‘ñÀ:×`Y6¦-Þ†u€Çˆ>QžTeÇÔ½dÒÓ"e8Ž| bW[“YÙLi0üWŠ–9k`ƒ²ÔÏ•ž¯º˜ Ìd”…qA!™Ÿ4àøBæI¢J¦‚ðt àQð¿þò¯¯?böûlƒîgè?Ó‘ éÈ‘‰§ùtEØ?qdâ’_÷_þg±( >. öÙj`ø‡ãñ+ðF‰?ð‡æÿ2€ÿ¸OrŸ1 ?ŽÕ]á]áÕÞÞ^ºé ŸÎþ]z¡oûy¿K§»ººÂóóõÓ^b€™ð®®®Ó‹PùþÎßÕ¹íãÊ•¹ù¹[ílðܹùSóçæ¯@ü··w› øÊxÿáûã¶(ÇŠüX -èà%‡§»„íš§£æÏY£~ºåuÆ>ˆ^$ &éxÞR S7mLÒOzÓ£oX’±J,¥gÀát–`êŽ)ǯÒç9‘‚4 ÊºÌ¦“r«f`®RÒ"æ¬ëVŪÁª-ô=Ü;“à T^ÉD+•'­ˆQfØ¢Íÿ+¸¦Z¬#Ž2+ÇvÛ}ýä†ýï?¹éÿ©À÷i`¿°ÿi&Öw?à뀒lÀÒÁ=pˆËvmÿp"¾è7ø™ìØÞõe‚úÃ_Þu˜iÿø®ƒ(ÿ7>°ñ`#XÀ®E ÿÜ.ø^¦ûÃ3ö3ó3«A= Ìðfu‹ìòYÀ.0€w·ãDt€(À¿þö"s‹ï.ž^<ÍæÞ¾â3€y¿ -p%<7ÿâÜüü•ss§^¼27w -…ÿpSGGG{ǵö;§Úøü/ü½ ¥¯í¿†è?ìƒJÅO åj?N^;³‚ -ÀY˜ÿW¶Æèr1t‘H@ÏðÊ!4ŒdÀ‹#¡‘ælk®­ 1@|ß=¿Ôßw^†¥?äsf `÷ý}BˆĆà:–˜«c«„sÈêCÔÖÀÐ2TW‡Öÿ†¶ô¿À5@Ÿ{þ—¿Ü‰Ú9>Cü'ùEj_%ºQ©lˆÈó«õǾŸŒ ºE"¦"vÿ¸,îgc#ªTÒQ¬EˆF'ÜLTt%BA‰v®MþcPzsó›X4F§§·KzãF?ô¾d( !}eÛJygŽ©IžsR)O6’Ž9^w5Ï4ošœ# hIB`ÒÓf2)*z¹Lnù=nÊ ©}yj¢Ö(}é|³ú—ÙœCü~5€^(ã9ç â~ÑÞ·xÍr¿Ä# Ø!VqÓâø—­Qk4Ÿo(ê©qs”@q2nYºM?¦e™IÝádÏHÒ+óžÎÆLÆD8‹ˆØd¡)$]±0XÔ¦9«%³)Íp]W’$3Éo´& ,\0#)IE83Ñ_t<ŠõLOÆš1$ ¹ù1Ò¿3ŠÌpt~Lûo»ü·Áþ>ÿAîÏgÍ*Š -Gö ÂÓ|²01!mÿºÓ›M’öNdßMìNÄèï3ÝO7 vÃd?víòÕ¾4ð?¿k×A~º×ˆƒž}¾qW/Á¿_¾þ èê˜'F0?3Ï(χ1€%"/.vÁ0=Íæëëë] ´n½{ú\Wæ‰?´¯ÎµƒЃö0Ýœš{qµÿsíDÚ›š:š®uÌw\ë¸sìTû©S§Î=ûl±ú¥Ê ‘ÐþiÿÑ|ˆÀÐ'[ '¿yöä -VX à,¤è"sø€•áᑋálnâ#ðâp.Ç = -¶ú“¨û÷ 1ø÷¡¿6 µµmµô9TêêrþÊ`6P7Dd€>d=æØæà¾`MÊþ àÐòbáµÎ# -x¨vŽÏäX¯gÓ_ÙˆÒ]Ñ3˜þD¶åG©‚ÑŸz±¿J*ºŸåýÒ@p/lÇî@qBD/ ­Dצ֦:7+¬¥#àž¢_æ©â@Õ”…ŒË•kŠ?aïã\Å5Ë>4›ª™·“Y7Ë7DÆ qÏð«”(¨j² {F¡¤Š™/ûæè$‹5é}vI'Œoˆ˜æh)iæ÷!ÌÇ*9ÿyß@¸ŸÇÖ€¤Ufòhà»5Ø–É7XNƒƒb¢ é ù±€0›Å 2÷\€çèù²>¨7Гª«áÑKHJãϛٴZIí*QdZ0yIñMV¼0‰Ð#Œ&43ñƒXÒK%¥˜g&UäYÙ,ÌJZ«¬§$ĹBUpa·WÒ*OÊÖY °­p&æðOûÝ~ßÅ©D7Eÿ÷?–÷sÿ#6À§k5ýáïŠS¢û…©§jøåèÿ¥$¬~hò/%ü—Hñû-þ.TõIÎwíêò ûøÀƃ÷ƒÁ¢¿‘NÏ7>o?`7®>O Ïп7¼Jd w•fzóC˜OØïÃÿêÌ (ÀŒßÀÞ_fÄ ÀüžkÓÓȸ³IÁÓ·–P@ `~~nµ}.Ló¸´··ü;®›o¿2?‡öÓ±öŽöcí׎µŸúJ;@ÿßïÜÿ¼ÿ¶z ømÝ÷zÚÞ9ñ ùÁ‡• . å>Ѹ~öÌ™“gÏ>÷÷+˜ýâ3 ?°22¼ÂZ+Ã#m+ø# ÁïÝ«m»8€ÙÀ7QØ®óç.²Pÿù96ЇbX€?  -Ýó„ê–ëj™Å.çü–?Sû؈ÑÀå––:¶;ƒ¶ÛÁ& åºÐ2Û¸ƒT;Çgr þ3üÀlûÃ:‚h2U‘Þ-«JU¬ºØí - Ø€K»€”¨XF:EIr§PH¦ÿ›Œ-4Ã)XÙ\1•ªŠ®Yt3JªÌ½ïp ëçm+)ò}û8má­$gšïj+³ÀOÕ’ž!8Γ„Õ0,sR…«ˆ×3-ÝDŽnZ¤áVÙ7SH@?¿³Ì†ü>»ÍfeŽäIh õo•¬|ï"Ùß*@HÏñ¥›:Ä¿¥Ãþ‡„`4HÓ[£ÿ—l"€çUɽ’ãȦ¼0náH&G+p¶)·êF-.U˜T»0fLd9Âóe/›ÔíBRK˜rÁÐäˆî%átÐ’²7«ÍµÖV©ê.QD/ -l+犈v<Ø -l8À#àßœýËÑ¿ý#Ú}ý0ÿȃ? -þ‰DÿðÏlÎtN}êé€0!Å.Åf±ì'¹´Ôš¥k‚À}º²›ø.“P¿±‹ñ€ÀßGÿü.ºRþDý†_}ØßØî%.@¯¬¢ýO`uz:LàOš!>òûœfx{q6À."3×ê§oc `z&<ç›Qh¿Ò>žŸ Ï“øgð?†íoþØü54ÿO]£»¬pŒžûʼ_è/~ÞC~O `¨¥öÐO‡*ëë'>d.À¡\íÇ À_0pò$a?ðå¬ÏV|@È¿²Ò†»m+Ãm+#ÿµ!b„ÿmëtÓ7„þ@P`B|xÿÕÿ¡6v‹ŽÅa\ Ø„Õ˨ö_†°Ùþë ØÀ2‹d‰Àþ¥e¨ƒ¹ çwvïŸþ39Ÿ}Ë¿ `›4è*Bµ›xŠÅ)¶ê'ºmNo2Õ}‡A”"AŠ{g Ø÷+Ñ©oAhîÜÄ€©ÍÍææL±êU3’ÉE%S´mÛ*J1Óæè¢Ijk™yù  -UslŒÐ™gªªNPZ2ŽxáªÍ;®æÑjjtÐô’ª–"Nòšƒjopt3_npJ²U.;6Óô¦UŠìË;²—ˆÅJŒ`(ƒ<æûð8Ï›7átà ¤ïß:ê w@—-+B@ކ;#0‘ý{ߨ¸»¡éNªŸè€¥ÉÄnd“¨„É;¼è &é§,4Ì‚dLCØ kfÄ ãÄg )ÛŠA±¤×ªJ.¤?ð'Q`s€Ç}ðDw¶<ÍÁr€‡±~ñ?º5óÿIÇ?Ãûû™þÛbO}ܯ4?I€(€òž¾Ð= ³k¶uɇÿx"»Øü^cWc£é÷h$ľ±w—ÿÄ@Øå ѻ׿Úô*:ô¾FVûÂÚŸ (?3Ó ¸ŸA`ýWgî½øÿÃa¸Ùàyô0xkéô»·àü¿2?&Àošï XH÷¸s Ðßq›¯Íwk¿vìëôÿDüðsÿëê1`½å”«Ö¼s¡R!¤léûéÇ=×}æÌ™çž{îäs ý{ü@pŒög-€žžžC=#¹ºÚ7C='{zP +©«iû9 ¬½ÈÜ€}9Bx4r!?9(Çmm9ßHäã!,ð£ÿ˜ÿoÙ_ ¸<äg¶°u€Ë,úŽ€¡-ðlj­6Î ?ÿËÿù?w°jçø z­•hôxú ~†u ™ìT¢¢â¦ú]±ØŠvtu‚V]¬ÞhƼ•d8¥*½æŽÏVB/X„©ÎµÎt°(½™F Xu‘w£îálCTl‹€_–yû`<¥e“šaY)ÓŽT'_ΛÑç -“<‰õ‚*›¶®’%KUIë{ªS¶ÔU'ð×=/[bå{'9©s¼©[º…>ñ äÅíã<Í žÿË~ o(ƒ8ñ’É#@G*$>A½¬ë&Ï#G¦ú°L"<|ÿÇï%:òW…’¥«c¡Ÿ‚çmO-Ð÷ÔM|žerθW\8ÊE¼¬\˜,öGˆtYV6©z–1u¯ÕK&ˆ'¤4m@-¤<-‰%Ú¬$¹‚âb3èV…w‘‰5€'Ú ðQ ÀúÇ(@PøØ¼ß£ÿÇþH®Ùü$àz´³³óOUîÆbKK©ÿäRbi þ»¬@àÙÕo$°MÐÞo ‡Qî'‰F±ÕÿÔxÈßh‡Ÿoª!nl¤7ööÒµw•ˆÀLo/©~`~xžîÍô®öýg‚òÿ ÐÕ;t™™G^:s]]sáŽé¦¿óíoO‡WW‰` ` &€9’þ@üöŽ0d?«øÏ#ô¿† -À±ºíèh8†Ë<]ÚÏý‹sÏ~þC~O ¥y¨®öKC'Ö@R:×úxàäÊ™•“¬ð?éãþö1<Ò³Òsò…•‘ºå¾7GF^ÀÝÚ‘‘žCÃ#Lÿ· „îÑ­? -PKœ ¶–­ -õå Ä‚ð+„F† ÿÛP h ±%Á!¶ÿg¨®/„}-uȪëêËÕÕõKÁ°`ˆ%µu`uÎÿö—;%€ã3Áÿ̆’qA6± Ž…ÓcÎ?$WT„¿"å/Õ ¡ÊºÑ ø&ŠÒÔFTAL 4ÞïF£„ü°vr§²*› aÒ -a˜0˜’$¹&⊆mÛÜ÷l3ÉÙ…X6™ìöR¢kšICkx ù‚ªÊo^5K¥1uÜ.hšYòbb¡ÌÑ›²šQ ¥®9yÎrˆ$”t®ÌÙV -£˜ µl" ,@6AQE¢KªœÒé¹›Ù²tDZ-óI éBŽU0 £ßŠ` çÅuǦ·D`€µ@îW‹YO$[=9).þ¢Ð‚¡¿ð·8«`r²8 fNDg¢•håxå‰w½²åª¦ûü·4ÿúõû×ýÀ_v¾L®:ÿÙžˆ¬§ ÿŸ†¬ R,6›\JúuºéJ$qÙoÄÿÑþûÎ>ÿãù& }ïó¨ò7†kzýÏ?OdÀ®©¡kMMcMÍ«tmì}µ·‰HB/ÑÂÿFŒà‡ü󫌬22à7þo¬®Þñ€wSÀ.Rû]s‹„òצ§¯½ôÒ·¿}às..Þ:Mø¿ˆŒßUÖèCþ¸Ó~øßÑ~­Ä«„ŽuÜnjï¸ÖqíZDZc×¾Ò ÀBåóÿ ë±€–õwr'š›œ8âgP͇>n¼þ\Ï›-Ï=ù듨œ=éã~ÏÖË€ÚÞ$è­E`È>܃²@¨e”_aòm€Ú îï“6Öý÷çFjýy@zúP[__íð+´ÁËÕb0a~]ݸÀ2Æëè ´ÿÑÚò¶00äß,÷ý÷ZÄï4vŽÏà¸_ÙØ è«(ï#×Äç&&Ð3éŠøŒþ5¶`V ŸI§é¥56úOÒž½O0 áV&3%IB4Šéæ6C ss A’«ˆ©ƒEA¶¯ªcýÎnôälŒ+GDQ•Œ•¾£é%“­©qM+’ìUBsS§» …‚:éi¢h˜åIcÒP-¤ñ#Ñý„¨¼M¤AóHŸ— -<%Ïù«~ Çý¾~ßòùù€üïöÛ8÷œ^ÐyËt½dñy:êÏb|‹ ±>ðXÖM¥ô -:,“"’ûŠãD=´I§lé ô…¢šì¤ -­{Sš!yØŒÅÁÄà,äL¯5™ˆ2 jÁ2åVú³{­*&«F1€¤JQ E4 -š4€ýÀÇ7èò$FúGÈoþh`ý¡ð!øoçüøÂÿúCàÿ”»MÍÍOôþtçæÓ€…»±¥ØR+ak‚Î 9qX&éêjô}˜êóÑ¿±1¦;M5M½55½t èmzµ°ßTóuú×¼ÚÔÛTójo㫽6Q€Þ^Ôþ$ágzIù‡ò½¬û?¿]ügVý¶ëÀ8×Õ5_mš-~i¾‘À»§ÑX:Á¿výíMᎎùùŽ;„ñMó„ÿ׿;PhGí¿#ð»ÖñºiöÙ1ã•/Ào¬Çz^é;ôÓ -ý·~P9{÷rŸ0®œ=óÜ™çNb  '¨èßs²geäbí›o†p÷bîÍ\h„=!ï´a&0Ô‡ À‘ $€9ý€õ¤îs¾€^Ù~¦ùïÕ†þ‘èA£ 9fd²ŸðŸd>üêü=€Ël`h9ðw`ù§mô® çÏ_¸°ƒW;ǧ{¬W2Ûi¾›™J%ê"¯Ÿ°_!uoˆJõY¹UÌl(UE˜½ë"'X™RDÖDÓÍéLt£¹Rœu•ØØ”Sµ¢°jjÿš‚úòfçFgç¼ßu'¤"AÛ‹ñ¤;hGJÂÞòÁ«Ùîd$BX(÷dg–ä­>(jWKýª'k‚òJF#çMäàš>®Æ -†Îyª+,ø#d§g[M+KÙ[ðß;Xˆ©>ìRÉaÆÿß±~ÿ¾ícl€= 78<èÔ?¬|ºW%ѯëÖhA7oæêŽ> - €Y"ñ/3ï¿ëa¡Ñ-“þ~Hª‹Ê²&Uîef t°À,×úU­\PM“1Ì`Á€m;‘DV§ŸÚ”ûs6æj‰¤—UwAÝ«¹‚+T #iH,‰QÒ´#ŒŸ± -@å ºë™·¢ë¿çð'š?‘ñ{? Ÿþ _sóýæ's©§¿ûÝͧ¡µ®_À€_HÈqùÅ®x—Ù7wua q×Á®ƒ¾ú÷áŸ0ŽWkÿk¯†{A^Å‚þš¯××ÔØM¯6¡ -~µ±·‰ÞOÄ€@ÿQ:õÖ×Ï4õÎÔoõ1ÿ±;t{ÇwÌ…»ºÿçV;:ê¯8ðÒïLßYÅ>`KK¬оz¥cƒþûÓÁÁ þXiÿŽc×nߦí·ó=Åê‰/@ZÌã*Ëu¯ü4ÄðÿĉŸð?/|"`ý/~sæä¯k/žÄ@óÒÝ‹o¾ÑW{‘˜@ÏÊEBì‹#/Ð;FFjÑ>té@> Xi{/W‹vÀÏÛÚFÞóÇýC°úÀ£ð`ô°D BôzÛ(ÈšþCŒÀ×_WW[Ç2‹%¸>B`ha~€åP1…Âÿ°s|ºÇƒã$ÿ£™ ªHA˜ŸÙˆ²x?÷®›QŠZ‘¹• eÿÄ -ˆ -Ð(>¹Òœ™”覨±)"SSS—:”žêÞÿÿ·nÉ-Ž’+¤‹EA°í~1Ó_¶%ô £Pˆ°]|G…Œâè*ŠäÙ˜§’ÚuMÇSM^•ŒhXú nUq`/ sRðV¾l¥ -Iç¸Á‚W°8†çÏÚû0ÜåËy¶õÏ/ÀûíO—}ù±ç9Ë2oòŒ - JH×õB }~žèƒ®{ºNºÛyž§W~Ë à#%¹`þ¥«,,¨ ™Œ€øßĂ̱·›‡³-Çtì”çÉ%SÇád -l+5^°ùƒl†·Í„úÍS«¢b XNý&ÏÍ -¢à.HFr ‘ånDG+O6 ðÖñíÀvUý#éñ¯ûøý3Êù»¿^i~²¯»þÝï~÷i*Rlv)Ùšdò?ÑÕ•òb— äïÚe’è¦ú»aôƒß¿±¦OõöÖ ¯!¡O4€ôþk:jjö°;Mv˜`ßn"Ч[œ{ëg00]_ø'0_£~Æ?nÌø]€™ÕÐþ`5€¹.‚öi–ôí鎙¹9,Z¼õîÒé·çØÜß¼OéÛç!ý!úoCøÓõÀµcךØ3×èí§N=[4¾ÀÇW–_©ý÷¨¬¯ÿö·η,÷ýô-€ë¯ùõ™³¿þõs'{€üÏùÕÿ‹}uo°…@ÿiƒðÿW/œìi»jë!ø_îÞ&#˜¼8@ÛH`÷Ç¥a}m©ÿ{9ÔþÈpmîÞë`V0Wç{—Y4à[ 04ćè!Bÿê–ý…Œ -°£¥e¹¶xÀÀÎñé,³ €°–~Lòcý°ùsa-·8At`#ݼ™ÞHÓ…5Äÿnl°<`‚—¨‹¤:—„*1„ô¦²¹¹Aújÿ¥ÍÍM=ìq©(­˜ȤLIQm9bpÎ5\§\æÊ\«¡ñeÞv̫҂®K¸¥®X£ŠQ"å¼—€VÔÇ ò ¼?ÒÏêŽ:ND—“ýHÍÃϙÞxJgE~fóË3Ôߺç[8LbŒÇ|_ }žÁ=Q+¥t¸ ,CýÎ(Û -À2èÒ@oT –É“ˆìŸdÝ™g‹ƒ<å—LËÓ4ÏŒƒœåè²Þjr¼é% ¿c“þX^ÿ@Õp‰lýžœLfSæA§Ÿ%º® -Œiì& -€À5Ò+ñÿø£˜ïlpãË~vÜJŸÿ0 €ÿ.O˜fDDòi€+-Í&—úˉE:uùG¼ËÄÜ_c|—ú]A]tõ{YÁŸ¨€_ *@xßDØO  )Ì@Ó«ÁpÔ×÷Öò× ¨§c¦~~&€ÿyîY`žgfîÜ :0¿ÚÈ2þÃÓ·§§_úÎK¦gV»ü €ÓD^œk'ÐÞÁ@G=âþæ}À¿} cþv=«þßn:Öqí6q€ökÇÚ¿‚ Ÿ¼óEøõ¸€Ÿ ­¯³A€Êù2ë~Úúø›Îœiˆ…±Œ8i¨G9nÔ2ÙÈ ¿  -¹JÉ^²øC=bÊ…¸š"ä'`òôÓ§4U“‰ÙŒkã¤ó]UK$ -nš²j`€ˆy T¶0( ­?ºQ9þ„Bz‹?¾ÿÛ]ÿíÇ÷ƒ¥O)ýïÿ! ƒûÍ÷Ÿì§Ÿè©@e"¦-ùÍÿ[q™Õâ/Ê]Œ0@„Ô¼‘©¸þ{_ ‡›ÂûaîáÞú&ðýú?_ïzÄlÔp¿¾¦þ[M½õ½üßšaè?ÃNÓ½[&À€øV€™37è€Ipµ‹@ž„ýøÒô<Ö.&Þ^<½ôî­[s«sííWóM¬ñ?}§žuý×ü"ÀíkÇ:ö+ ù!€SÏöÕã_Pp}è7^xáKï¼SyP9þg¤¤…>A^ûõÉ3'ññ÷=Á@O0ˆÖ?žzFBo¶­¼ð =+‡ <|h`ËÐFhþæ¡7B+Ê¿mkA ”fÓ€ô†\.×Ö¶ÒV{ð5}@_m®ŽAŽ­`û„Y"pV×1ôº>+€ `ù§Èh!°SØ9>MüGÀ‚ÿü úÉ~¬£°Ê¹€ð(e-ZqS¤Ú3ÍÄ$Ld62™»B† Â„hÆuYŒ°2Áð@€Íôw ÿ‘#P4¹ˆD4¾nuÔî™x¤ - - ²óˆÐ‘ûe¾\nˆÆ–‚«ªBFYP-Âi3©ÈÇ‚~ò…«¨÷;VÜOïÓ=‹…úó £!ÿl‰„:W0€ìù ßïcÿ>V`ðIAøIÑ;ù—ý¢QQžÖ¨åŒê{SÝ‚°¤£1ªË2FU•nu„;Ö_"3@MqúØSòÓav¡°‹¤?}„ï†mtû þIã¿Ú`þÖhªé%ÙnªG ¾©¦ãëôœ63~½·­â35~  †uzçg¶ -@Àþ™;«7îܸ©€®Õöpû4<€¾ó¢»»X`éô­·±ìw~Tþë÷{ †?ù€~ ÀmF®µ)@?¿ûbçj©üäÞƒëë'Ο¸À@[ÛÇ«¯üõÂÿ_“Ðïyޤ`d%“˜i»8ÒóÂɈ - 0phe˜éÿ‘Ÿc`ø=æ ÊÙâA [‚ €®+#µË÷èá0æs~NPî^-rë|ÀöÁäÏ‚€äGU`y9¨´M€¡ --0 -¸ƒZ;ǧö[ò8‰IþãE‰T¨«ˆS¢Ÿå+*éL±ßUß+nÿéý4üFsZ© -Ñ E˜RÜ5d+¢ÒŠ8¡ ôž ÿolnl*S?~=‹¤4a UÃ¥ª‚¤dÜ¢*6IÈ’úÅL´ê”-óeNö² Ï3mäí£ ¼—r8U‘ÖgyÕOña ¤¬< lÏÄ?Ç,¡^_P‘À‡ô \×ý`ßï™ï?X寗L_ -~}žíÆÛý×€6À()ü£{õ?ªµŽZz7˜,éô cFÁ+$÷ÑSÈÀB!Þ*¨“2Ú²¥›èèò¨}”­V‚c[%]·L³wöîÐÏŸðâÞ‹ªõ2g[‘ñÖ¬lšÙV/®I1UÞ˨˜k& ý…ÙB‘`ÿ}Pyb$½OŸµU¸üárŸûë„þ÷ïÿ1–¿ ÿﳬàûÿ«VÀý'n<íÏ#ÁJ$^”_”ã/2èDˆDâ]]„ü üÃv¸‘‰þ¦¦&Xÿêk€ùÌùWÃÆ˜ähê¨g€=À|– €9ÿ>@xÏB—}üòs‚@½uø¿CvŽOëX¯`ío†Eù¬ÜœIGÿé :÷)ƒÔ»ˆ?BQ‚žftĪ&tÏlfÜ~$ÿŠýš¨¨±‰a*›Jovþ¸s©¯ý·)e¢_Ö‹bFoâeûX¿Qt ¹<8…Ò‚ ݪœ/›%¬Ë¤¼}¬†Ùæ>³$³Í{˜Úç|Р{žN@/œr:‚5‡o°ú“ 2ºùÇFHæÿ§|Cƒ‰ ß÷ç—t¹Tâ‰8|Iö³Æ>¦x~Ôü::ËÀjzª óúxA·FMÙ“ -)äï•&Q|p¬£?L™º¦ªê÷8&AÇ2IÙë2Á½³·¨Ž«ccê‚êðu+"›GÇ4Üq +†­ÆþöÚ§ݬe›Y”bZÜæ]ð2I‚âª2‚(ÃìW¨DODO<ñ~àí¢úC7Àz¥ùÿe÷Ø’Ÿ?ÿïûÖûþåÃßãQh¾ÿ'"•âlkkâE’ÿ]2Êÿ]q9 -HÿÆ.»±nš ÐûPßñ-‚ò^Rø Mõ> ¨gpÖïiú:ÃÿW‰|´`Ï<Ñ´gOý·˜þošé˜©¯¹A÷™ ŒÉ@úþ cúÆüêÜjÞ¾ú Ó¦AtúôÒ­[]ssáp÷o¿Ö1ÝŽ1ôL_«G5àëè¸]{,€Ç®œ{öÙê‡_ˆß[÷ô½j>qâÁƒó'X à…áO€_ðÒrbˆ€~¥ç¹†ûdD ‡5¶,ì!øg€aÌ⦴ÛÏI܇ÚzÚ`ÄP`àûüó¡ÚÚ‘êm¹¶Ü¬ò?<‚€€:¬B¬_í2r€ü=Á¬î_ëKþ:¶/Ø·Ô¡þ¿˜–C` 0î€ãSû%Y©l„GùV3¡XM§7¢Â˜‹8(ô‚D­La'Tt×|?š2å -é4&Hû£L­¸Åa6&Ðã©Ë»ŸùqçþÎÍôF§rùkJ4 ä*­ÜÁ„&›…ª±Ë{T…ÐL‹:ìÜA˶ì+™Žå%TWReÞDº›ã³nêÄÐ\o@³ÞAíž@Íþ¼•BÀQ #Y0G9N.x–W5É{“gxÏ7p¿ ú83`ŽÂHRýW~ÉŸ@žgîdè¸õØs£ºŽ¡¾QLÿË21 ¹${²ªÃ䤇´ ÝñÖ1•å"Š@Æ@C¼á{ÜQIª¢ ª‚±èë¤&UUÔ4ØIøËš™osvRÛ¶§%cIÕÕL9®O°® ­ ! @ºÒÌÛü4Xúp€•þ›¯“öÿ#ÿî£ÀJ ¬¦€Q¿Êã+•'ô<õÿm‰ðÿtB¾'à±1hÿÓÇ*&ÿÃá0©~ºyµéÕÞ0Sò~·¿Éïô‡‰ÔÃáÇ࿾Â{ÏžŽ¦›Õ -|ñ¿g®õ{ê;˜À/Ðy€¨L‘D0ÀðÿÎéé;3alû!píÀôí—¾sàÀžù¹.¿pz)( 0^Ÿ¯oš¯÷{ÿ¨þ_¸}á?#·ë;X]àÚµS§ÎõU_ùbüÞz\ î'_bàĉŸµ\ À¬ûóáCŸxÓsgδ}8ôó3'aìa%ú8É”@N>¼;Ìr‡‘Za÷08 éÚ_›ƒ¶cعö þ¹>V@ k‚å@¡¶aÒþ÷Ð ý¥~fâ×1ì÷ï³å?Á4Àràb{[.ìlÚ9>µ£ö„ΰ­XûëvVÔǤMhýæfÁII¶ý¥7Õ4 Oò€éØhÞØHWÒÑ*à c¤æ•¨²ÿkSt\ÞýãÎεýS?¾¬ ¹NEוäxN·~“k²lÏÅÈ(ôs_·ÍF6G°ióœmJ†(f&¹½IÍ"Í©z/™ÔóˆØYß$ÝøùQx~À<¯<Òè³8|A-` p)lnËò—Gí?¸æü>7à~Å3£?‡¾Å^O/¥FG‰ -¤ÿGyº!%¯EÐ^‚u9¹ ’ú'"rt<¥æ;?t_1 cR•9¾_4G¦OÁäàÞ£ƒcâ‚1 †±W6#GY‘áe ä,3žÕb±¤œ7mú+8hzÅ% -š–¹š`Q@3+{”htcƒ(@Ô·4?ø#ê?àú¥ÈñUî_ÿð‘¬@ÂyBúGþpÖ²ŽÿƒOûsŸMåÅDàþïjìŠDæ"íàíØÄ×Äô£F  ·É†øojê­ùÖžšoÕôBøÏ àëQäï S}0 ÈÎ{¾ü'ZÀªÿõ¨0íOw økVY#`¦÷Æ »€Üñ[Œ`ÏÉúkn¿t€ŽŽ0€.bK§OŸ¾Õ…À½ã>ÛèBü“ÂGYa3‚;¡øùðéþA!ZIg¢Á•"ýUà¼vW$¥¿Ù\AuÒòǧ R§b¯_þ±²¹ùÌë¯ÓËÏüÃ?¸®HßÂu ÛîG¤°"¦8;îÅã¦ÝÞZ;‘#gf¯ÆãYS¶y;rUvì¿Bqá˜4 lhfǹ©ØÖδ̛fÉ4mߨ‡Î}žCðïËþD0•wòpé¿Ì‚3úrþáÔß>߈ó¾}|Æöåy–dé£DF½ø'q>JÊ_ÿQ½X(ä‚ah£¼s´t4¥KKdÏéônnþþåSŸR¥É›JÜkÐR…AiaAUÏ+hºÙúà dü+†ŒP ¸E?°Žµ@žÙªÆÙ$S–¤,½¦‘ôÇß6ú2k"Ý0?&ëD+ÇA0 x¿²þ¿óÿÐvªÀÖã­ÇÍÇégûdOþ?1¦I¾ûÝôÓý`ÄY‚ÿDB~1!w½H Oú?²ÚÞÕ5!øgò? ìojjÇhÓôM¬›¦Û=€Uÿk¾Åt=£õ>è ë×ë û›Ð Ký¿Äê{ë¿Uß;à "¾5S£>ônøþÿA`úÆ ÁÓ<|}˜8ðíÛ3óá®Åø­Å[§—X  }€ŽöŽy`>Éþé·]ÀÝÛÓ·;n_;Ð3à1l†ð•/Fàñ€ººÿ£öAåÄùçúóCŸ$sæäßüú5€¿g6€“=Ï=> ›èÁÊ0ø»¿ß è°®ÀI~– ‚`kGR€Ûr„ó!¦üßÆÍ›µ##µÃ¬<Ã>A– DÏ8À{!¢µþ, °±À„°/0Q@AÀòP]¨¯/×ra‡ìŸþ“ -Gþosó†2!dÅU1þ§¸Bº¹’n^OOH¤à¡:Öjh©"[$V±ˆÞV2Âlª_¢ÏŸœp EÙ½ûa*ݹÿòåg¾¶ûòåØ_ˆY¨ƒ)’õ>7e6šf÷Âá¬i“èGWæ&e/©ÉÙLjɬç8.Áœl¹¢ç˜XÒÓPÒRþîÝ3M1| eLöq$ðó/[ò¯°®·Á±RššòJ˜„™o_¾Ìq£<‹üå‚IV -àýòÏÿÊ/#ðü¨åèL"_/‘ÜÿK^ÕY/`¯Î¦¼½­êdL2tÞ3 -ò±ŒÈè_¦DQ”¤q™wDa¬DøïMªª‘BpA¶¬”\:jš² U•4Ë)M‚°ð%e¼¦àYœlÀB¿œúA·L#q3QPµ„yP¿ë -¾ûŸHú3UÉUüþK'3fØ™@så7xþ¯?äëèõ?&¯è~åøVX÷W5÷éj™bkkëiùV|»0×쟋4Fþ·7…›Hù7õ‚ ÀÓWÍ&UÖ“ßÿ÷5½ÿý{öì¡{àØÓÔ±ç[MA  †8ñ„LÖÔ«· ½ƒ™úéoÍÌÌÔ‡YÖ?ºÜ¹ÃÀwæÃaÔôáüÎo3àc‰¥¥[X䛡òÐ͵úÛ[€x0M§ÛõÿǾP€Ç€¾?«û‹b/œøÙlÔù÷=Ÿ$×Ͼ†•€¨0À`Óÿ='O>lþ3F€‘€Phå…“þs‡Vüƒ@A&fÛÚP¨móG±D0”cýø‘À()ÿWPŽåþõai`_m_ñ ÿz>ò³Mu˜ô‡üIvKŸH`gÀÎñéà?ÂÿĪ‚$ÿææŠR$ìW&$!Êö§ÑgnnV„LTèOi/:/’¸-Vט_°¿Xdk”þ~I3J±u¿à*@þýkߨLOM}c³sÿ?üÃvÙJ2öý&éÎ ôpRŽÛf$B< «%ÿ{ïǧ –‰t£~çľƒ"šî¦ Œ=¦iÌ„TL{ÈK¥_Ò®† q^›ªÄ°é˜¦›÷(O+åE"vã ŽäÓÈM¶íd¢–N9{ Ñ(3絬9%e°oß9mÆI,-oƇ—÷þp6{è²÷y>ßj'»kÏnf7ή⢩þ Æó<ŸÏçù©Ô÷סöG Æü¯áƒ ¿Šøºb-@…¿jR &a \ýþ¾ãaÉkxÌ~ÑðáûRgßå#}=}Gžëó/->²Øýj7wN¿ú.}¹KK7Ø -˜HÂÒBçÕ/_íCùÙ)@V;/Ÿ< €‡Ö¿ÆàæààÎöz‚ÿ³×ÞBàÂþæü*ÿóx˜ïMV<Øçþ?ƒ?ì~6{b6üÇbÀ4𽕕ýÓPN‹7èþˆ0ÜDç¿’¨@%¡ ˜˜hçuÁ²]ZTòc[YXØ>Š-ÿQ/ Š@ Þˆ¤`°È€Ç¿ü—÷z«.úmÖ'ÔøfÍó¡Í¡Í¡‡ùݪlñinàèo]¬üSEú“Eõè YĬ¥ËýIâe?6 `?AßÚZÛÿ’/í  Nèûþ(mëAKwÆàhëJæ„£»©°¡ÛŠ¡O(XqmFÕ4-e+ªó¼c:Ä<,ÍRt% '=©©IÝ™R2Åà7û;nFÁÍé>iuJ1KJ©[ËØ)É—Ï(JLÎ+z[¾5©‰„‹ ,ópbý¥\¾ófÜøª~ñ³}À®ý:Š>¾åQzfŽ~ˆþ;!üŸCàž¬åÖmÂþÐŒ¤Àà÷úÊä0vNwaûoÕý xïj ÷2ú7<Ò A½¿®n’j}ÂpBzý5¢ôç±€¿¡Ž‡Î¯Fœð<ã¿wüR ?‚ -îàªÁï'Ü÷‹•Àn ê"ÿ…Dnð €êzGzz®.5¾ÓEøßÕ}qÈXb™ÀR§êÿ%”ý ¬è» -Üï¬as€g°øprfãÚ×å—×ÝëÎöõ]»¶ã-„èh¾ ø?¿tÈk”§ÿÇËGoóñãMM ÓíµóV@S/ ÿ{{?X™èmFO6À¬þCC@´à -H¸ßÎvĦ9›ÖÖríOÐOÀs;‡¢ð'20JÀ?ºýšeK€í‡Ë~€ £° ¬…À3 Ç¿øøxèZD–G6"‰M óC‘0ÖÎðƒ»‰H9òõ‰cÝZ8`¥â³uƒà_æ&ÀFëQÌ£Q‡ryŠÚÚúö¶‹?&°  zw]Å 6*ªëŽÌÄsŽ“5Õá˜)ź³Ã±p«Ya¶%Õo¶Ä¤U ¿Ùx¿©êt/k¥ -ß'U›%Þ³wª%©Î=’$ŠvBñà¥5¸÷Û>^ÛÇ*¿c©#®•ò¶¥ÁÖ‡޽æp¿ÿSÏ Ÿ£Zb×Àñqá@e¾OJSõ_ZsRØú A FBL •±Jñ™œE€¯Yº2ådr­z>¦äæƒú”ži´´L.ÖqLÅÒ|N<§Ùyn8A+¯drŠãèÎóIWk…9P£ÏNªª7"ñ˜Gþy-´WW鯒9Z fј ‡Ý0þѰ¦Í¸,˜—±j‘`‹fD6%¶Ä@–ÅRàWÄÄø_¬Ò˦,?$?ý´|LÌ$„§àíú¨ù'ô1X¿›!Ð-FÿP4Ýò¿ßàè‰d·rZéÚµ `±c±a4 ‘n-|‡8€S€Š”øÞ¶ŸŸÇýˉ`ðìÿ‰7–ûa Àèïçš|@• b`0 _À…Š%ÿ ÿ‚aÁ¿´ð‚¼sC0:^ x¯[êìë8òÜ‘¾%úòº»Øà5ÎXöì» -ÀÕNÂþ…Ë W  ô# èrÇ厓ÿŇæ¾.¿¼îJjÛ€ðìµ³Doù.€+W}ØD à|T°(@ü?¨}½rZtšˆôö®4 KØ÷¯|01ÝÏC€Ú^,`$011Á ®ð'ÿ‡0½‚´D„peåÍÃ7éé›P lߎ¡ÀMT -gÞ­1¸“ -0›€Á µ€ÿÀƒã_:X˜þ$¸¸ã&ÓhdmØ@0k€,ûò8ص~‹ ðâ€sÑÍèüîoo½x‘~o×­om­oUÃ^ͪ-#wªÆVZSÊ9Ùì¾ü CZ•Ì殺2îf4vàç[•ïÍîá¼iJ7Æb„šÕ>ûøŽòñŒý€Ÿè `3ÐÁr5l~ÒiI×óá»øÃб<{÷ -í? Òéj´ª}Ä XƒÐoðÎ_Ђ  UÒƒº<¡ϹKO¥Rt_O+–UÔu­zÞ看빔O9—·¨þ7 -ôÇi–’Wàè4Ò§Sb3™xЉ»†š› Že,Ó×Xjtlm,8s‰‚ù¼¦ÆˆkHØ~eÃrˆ0m ª(j*–ù=™ë¤&¶B¡-P€PBÈ›¼ °þÕ0Ï7XÀ}äé‡zè'É׈›Ô—Í…¯p ñ?`Wnÿé ó èp Wp»~öÓCCQzxñ¿ßW¶îO(§[wuïêbü'Ìç7è|î@“_ìø{Ã|`<]:¡û¯*€NFþ;?Öþ˜%0M ü¯¢ÇªüuUTü×ü¡ÄÔ€JÿŠ¿ÈBÙ/\€nxàêû:*î‘Øs¤§ïrÃâ#]¯vŸ~õ4€]‹‹7n,qàå%°æò?¢ W/û¯vâíòUŒ>a\ûÛ¯3 júÉöc;®¡þëð…ãOLÜz‰Þ?þYá/šõÓµ¯"¸™ÞŽóX@L°HðO§^öš®î¯üŒå~¼Hÿ -t7E( rèpþ©lŸèŸ`¯\j¡ý¿Y9(2„°HWkàAÈ3±Xî nçsåèŽýèGòÿ²ú?±Lq~`#Ùd?àÐ^@TvB ¸a+áHb#¹Aôà„¶ánDØÀs±4à¢7qÛ´÷¢Ñ‹ob`þ=üÞ&0ËšY'Y ËjÖDЭ“ÓŒ¬ä˜ ™««{¬ÇSÚb1=Kèç@§K«ûW¥,ßpJK«>-ï«N›ŽéT£Ë–>„|¾,[÷bœo¾ ~ ·½Í@§¤1¬K6Q„„ÓãŸY€%T£9 ùœ4&ÿxˆÝÖ°ðOϸO7ƒÁ¸ÖBˆ¯SzŽ€î¤¼"ýGi=eë1ÝçsG´xaJz>¨€7 ýy$Ù¸£7R…¯+¥¸Jpv¼ª~_ç¢%YÇTsc‘œ¸¥jZ†n(D€¬‚QÊ:c®»n1‘„¶âİȇ«b"M€ ¡)$<ü'(ýЀ׍%ýB àØßOüGó~ >áÿ\hާ?;¢ôFÈ%ý}‹:>I“víòÞw‰ @CÃbCÇ"ÕÝ ¬¬ë¬À* üø;ÜÐA„ן¿Â3ªáÚ%>¯ûa% ª -JÀ*€`3pëþIlLŠd ÿxÀBçzþbü_& hïc–aò€®‚¤tu¿ºøêk'^{GK‚Ð¥›¼È2Àš«5Wûj„`b¾>À{€ÊoPõòÿ,‘€›ýííwñEþŸÎ¿ôä¡—¦§öÅ š›{_©}e7›þk“'<^^ -äzÓ½ýÜö‡üºwFÿ íTå³íVGkËÀÚ âTëÓebºŸ÷GG©þ¯½ð:/T¶ØÎóTÿ£ì@D`ø¿ÝÛ“€ÁQV ¾Aà>…—#ÃnÏEO -…˜´{:æêçÊÔýö­ˆúï¬ÿ?—HlbÊíÚû<òŠPþ­'ŽºP}(0Ÿ|âgwIu7bÙ1—^ˆl$¡ˆ¸ªZœ—‰£ù_œÿöõù­­­ù­­ÐÀÅù@`ŠŠZ° wf¬Û0ÔnS¢B8†˜ß&d^mŒå©ñR›½?»ÏTòm&ê`$û™ŽÍqSß¿¿Ú¦ò¸Zr ûƒ–k¦-U W_ 5Öìñ2¾Ki\ÀyÛ®vœêñj]c á2Æ}0üYK³H;k 謥áý‡aRÎT0í .' «cŠ5•N9zk)íLéiŸb1ÃÐ,ÃpœK·+—™ò9ŽW43†Ì’Õª›–AE|NÉ+y:,ÏäU)å-MSñ ˆ*´åMÉŽ(ô ¨Îàõ<û$ó¥dØ…ëF<û6yü¿‚ÿâ'0á_1‘˜[¿ÿÿ ï¤ -Ö“?‡ÿ‰Ä±P™\¹u¯p„Bs?'àÿùgàÔÐÐÁÿÀÀ¿à › ‹€.Ñè:ÙÑÑåÕÿ±KtYâÚ¿¢Ûþ:Qúû… - J´öYÐ_³^5<À“=,À0€®«è‘*þ&l \3ÉŸ}ùܹà Àà_àÿsh¼°´DO^í»z乞ž¾# K ‹]»^å€G:;o\… Ðÿ }Pb@¬ÁO'?‹NŠ€¿æ öÉö·Î¾uöK>þ­€qü;Ï:þÒñÿÊÕ3·ñ§§WššŽã½z›yàÑÜêïÿ b¥·y›+búOW+pšn笀öABþi6f@Â÷þ ØÔÞd_`¾Œr+`°ò&Û×N@€| H·‹ À Ç ~– Ľ€A6ÜþÆàÙ/Ÿ0ì‹Ó­ÛÑÙƒËËËgžŠžš¥÷(ŽÏ±öõ¯N…üàøýŽ¿KÈ‘•ŽCë*áé_J@„ú·†Ñ„LÐO°‚@àÜF8®ìó]7©O$&†"rÖ¿(Pà DßÜý^4¹EðÑ€má€ζ™qcC¸è4R_ ȉ±¬Tcw¦ouÕçdŸçî¿d_º4¬*TÉKûL;kp²ùXX‡Åþ%#ÿêüŸûVéÅã«hþW;, `9@µÏ'Ù¥´äÁ»$ùÄ5Qù¯}ÊâÿOËÎA)½´†?ŠžM—‚<!>Ç—N§J@ý’e¥SÁX\×­¸fY©"1 bÀ”G›@S 3Á±™d^Ñ -ç|cD⥸33ËR'oYñ˜¦Æõ¼Ób–eu[yKQlô]lå :TƒÓóŠYmw+à4YS36 ™ n¬ÍT´°š)².e5O¤¢y3ÁñÀ¡¹M0€„œX¿ÿ Àƒv*ÿ¯þo<ôÐÓ?ùÉ'„ÿǎѥܸwº~¾þ à_Rú{ã­Édk÷ižÿïZìèZäúq$ K¼Àòþ -áøSÇ NÀ^3É7*„ÌŸèÁ$Uþ¼ˆ'pSLXý·‡5âCÙ¶ßñ´€ Àÿ:(ÁÁÊ"ð‡í¾žçzžë»ºÔÑ7ÀÓ§_ûëÓï¾úÓŽ¥¥ËK <óïC÷_ÌþüŒú¿IÀD¾FÀ{€—}cǵ³Tþ³ -ðæ7î6¸²óÃCO:tþ%Lü9ý· •þKššÎo₟¥€MÍb!àxï½ÍÇû½ÁöWú{'VùûGÛ'> Пh¯|¥Ÿ­§WØ‰í£µ£"" ²—Å«FÙ8˜“éÜï=Š·QN€äÿž°ì Ö·×B¸ãì'_.ú{©àô_;:»ü¿ü//ÏÎÒyvvö ½GO˜2 ÿ²¡õú˜úïk 2aþ:›ümÕáš~e#×Òþ­uD6‡"3YG‰uÛ-w#0ïfŽFB‘bk‹137Í Ö†¶¾¹{`ksë"ÿô©° €­Ã6ãÅðöÖf$ªñ³'rDs$ÓŠ$¥lüh`C5¬Ó!Im1MÙ¿ -1@›iê1h†‡cyUSLdûŽ‹‹óöÛ°ì±'“32¶oMò ~¤4:èx^ÿÕXö§b_r$žóW{®˜@åïcjöý&Èöÿ㢰¦Sh¤Òê Íâ™0Ìiq}¦£¯EŸR LéêF `„7Îé%}L“7ô´bëú”ʽzÃjµr%¨(–š3’q­ËÇbJ<Ï# QÑ•|ŒJ×øaN¡Ok¢'`gí6“Þ‰þ(j.œCÑïª'òÝ'ÂEÕ D°¦ -üÇ7 önD0ýSÍ¡pë~qOP¿yíé§úä -½ñ¯%l&|ŒÀ;†Ã¿ã'1š›£w€ÿ\è_IÄ&Qmmþ‹ú¿‘Þ»0úì è_"ÐYAoþΊ:bBÞçµÿ«¼w&5{ü0ûg™?ºüŒý¸ª¢×Võà•þ=},˜ôW±-Oê&¹ûAÀÝ"é?Uÿ7Ø!€ „æKW©¦®‡8€0ì:Ý퉠¼Üyƒ)Âݸ -Ó ¾« ý —k.s`v²ññ×›\9ðrsóá³ þè >~Wà­C‡ˆ|øèù—^"˜oæ&c>Ý}œî455`ñŸxnâxóJ»Øìï]©ä,€þþ‰éþWàÔý?"ÓÂÑ¿èÐ1HÖVÒ ,L×Ö~„ º¾¹ þõQ>ÖkGaL|apûèh-Ì~Y€„‘ ø¹xàAh.Œ¾qá,À—ý"ÈrúÿKl|ù)þt"ä§îœ=xðñ€Y:q7àÁàßþ#l>1´~õì‡6yí_vã!lnÊö!yW¼•ðËœ1M³!@HkÕÂŽvç#7ðíùùëoRÙ¶E$`ˆÝýãGTYVä¯Â{V³æ>'k††.ÐÖ³cawÄ0â’“ kûE_]u:°)`ÚÚðcù˜ö½X¬åÛ™N5B€¹ï3ß–Ðð÷én@6$ém߸ðÃxÎuÚ›ösÒ¯Mw%_9˜€iÇßo°P²‚ã"È—f!&z:ÊF4VÀ¦_.`hTÒCJë3®\Qsªï§T­Pˆ§âcñ± ÞÒ—éï”+q*óãZ2c ÐbV\w3^R%¯”´þ©úŸÉãçÔâÓÌ·–Ú. ›ÈD°Æ4zž8@¸EQ,¤«‹5ËvÂÑë›DÃ?®_Ÿ»} €hÌ…®Ññ÷›ðëë·îè®\¹¯¿ ÖÃ'ˆœnÝ…€Ž“‹Ä::»;–ê::Ñ€€À³¡S˜øŠ??༦ -Ø.L~÷ðdŸN¼èUü“5âu¼P#äƒÜ> —7ÔÀM€º*ê„€KþÏD€¿3bØïçDàçŽôÑ—ÖÕ婽¸¸øÓN°†ÎË(ùýW‰ôùé­ÏßÙÇ&€tç*:gN_£À=ÀãÍÿí0Ã?¿_8ÐÜ×þp'(Àÿs›\þï©þ€&ÔÿÄPÿÃpš Y@Pß 3 ÞÞi®ýk?€/ üØ ÀÚWØ MQþ¨€ô€tusôf¥È †-ð Þ·Ããgû H Ž@ -°Ý6p„ÛG¯À?õ_Pdyݦ¢ÿv}=Oö ýq|jYp€ƒLøÚè àBà¦þûÂÿ™eÿC(ú±wE å«H4KìtÏÝÈf¤xt^>š§ºt Âô×ÂP ŠjK«^Ä8:ÓŸùùÝ×ç_Üz­„­ùÝï¿Ù5‹#Ãó Ä ¡Ð§²ô‹+ -Á?.¦#í‹ç´áX¬íù̈,K’鬚Õû¦íei—è@k<™3Î%ã3šVPƒçr¹´äé½`¨F 7å8ÄJ»¦l%Þj!À±c­™L2“´,&*q2AªAÓŠça“A ÙfÆÂ¹ "‘`$6‰È0Œ†ªº®›€"xsnޝçî{€€sÇîöëeý¯Ü¾u…~Èîã÷7vuþéŸÇÿ'1XöúlÁCà_W×Ùà‘€Ö¾þ>ô‹ÐÖøð $Á_ÂPE7'é ¸¯©›¬`ÙÀL ¸ ¾ àßïÉxPÞ`›öGú¾Õ‡À"1€wO¿v‚÷;Ðn€—½5èû¸À®Ü8“,~mL€îE>yü@ïÿ>¸ÃCª–}¼÷®üÄÎCDÔôÒ&^ýûŒô6CÈM4³?PS/›XémŸîŸž V0A, '°rzz?ªø§E:@-UúhüÄGŒðÍÊöÚ… Ðë þÙèMžž­mŸæsLpÙz€;¶À‡±%P)f¿O_ÿ^OQÁOUÄœâD£TØŸÒ£å¿ÌE?Ýã3¿äô 3€ÐÜPýwt| ÿ_XúXùË_f¸Â -0†nG~&øV5„ö¶f§ÆŠá w¤›H\˜*Æâ3(LшŽnÍ_œ¿øþû£`Ñë:ßkµÛþøâ|dnH>:cgÛböªw#¤´j;YŸ3ÿ~c¶mXiSGk‘‹ÏÛ»¤Usø±˜mÂO¯1m??>¾_ŠÄ¾Uéí|©:‹.@µððw2…pÚÖU{m|<Íþ~iøúÚÕù ¼ƒÇ‘ô‡@#€½ÞG©aÍ*iñùH™¬¥¹7àó¥S° -¦RºŒƒ–+@*ùÓc„êEÕЬLL³èN,¨dÔbNÕtMµ W3rþz+àfÆçèS¶>åWà’c+J,—KffTÕÒ’ª‘32ô7óÑ÷ÂñUcu@Éëf^iÈæ¥bÑ¢¿$?@ßgNšÇ&àñ€ ÍvÔr.Àfˆ#Ö7×ç6± -põ8w\ëÇîVx"€úú¹[õõ÷± ­§ÖÐ;‹ÿĹ³a‰(a>pÓÏØÛéoèä½ûòáá}gEÝžŠ?„ P\ÿ¡ñŸC€*Œ&¹YPÅ÷&‰T ºàÇò ‰…pæU€^¸Á@ ¿¸¼ f/Ü¡{Ïõ=×@tdq׫ݿâZ7àà&€˜ûCô·€v®^EXpÇɇOüD¾ý5'Wš?ðò qÙqø@óãwýà;!xôüyºUÓKM/ojfÝ?Ö›š¼=,ö²`ótóq¬þ¯Lô®ô·Ã°eº}¢¿ß[d v?Øœh÷òkÛ_¡ƒµ¯L°àMÔ"v€•P TVbp”]‚Ñ÷çV‚·³9`Ù€Gk/8ûÅZQ1Ò÷ÎÜäÇîP¨¾^4ò÷Ë|⃊þ(ÿ–· À4`ö ÷¸pð } øwtÀŸ5Il¶È!v\eÅv½ÃåÀo›ÑBhŠI7šˆ„Û¨üw‹TŒv…7 -­3a"ôø,û{s`këÅë»aݲ¹µ"Њi'~ì £Ü1iu_©-¿jcv`8YslLÏ„ ÔœX>¦9RqÄî¯î7‡G,i¿”5‡M¢ãYªöµXž*|³dû¤·uÛ¡G÷ƒØ#—·Kz>oÇÒãÒ#<ëùõêtÉFúïZYó?~‡¤4Ëvª™T—wÿ|<XÃ-ìXÁtJÓN*×ã:•îV$ 3 -T³kV\UµxQ+­bA.„c±ójÁÈÄÕ¹q6äsq]™Òu;=eN™ -øJ<_psq+£e¬Vœ2 -GH¼ø€”C¤!Z&ýõKf[L‹Ù’­Âü7` À’|ó°b+ဧ!(” ò?”ØË™»o£`ÑÛ't?–¸ÛÚí[ë¨üQ_@¦pŒÿñ]»Nwíz·kq -5µ'ÿk†€°Öôs¼^g®=›ßNô×±ÔÏV@^ä·öYàDzÀIvýñ†8p… €=ü¢u -Ð釃7¸þ¿@ùB÷ž-"$Pöé{îÈs} ˜¼ú~í¯_{÷W»°ˆèŸN¡þG$ ù6¼ûü¢ððÌ×hð^àñ¦Ç_õF8?úøÝ Àú‡`;=zèü—^¢Ê¿‰ß4•áÿ¸Xüëåa€ˆ@6à4Ü€¦' hž®%лÂ&@+ý¯TÂ:°¼ðݘ¸ ¸g‹`b¬`SÀ›ƒ þ|¸?x79Nt®åNÀv¶YÀè(Ͼà@447„ê~6:€æý6FòƒOm --{~¾Ïˆ¿üÔÁ§òÕ2`ßk0îÏ.ÏŠîÿÁòùàìÀ©Ðƒ%€ßwðòU ¨æßä5r*(q;$€b„Ä"Âq.´%»AÅ%`iÍ pÜ@ vw3Gez~¤x”Ðé½ùèÖfô"ìçÿÓÅùh=(©e×#n1Wý'’팅Ã-nä˜lê3ñ¢EŸ'€ó9J‹æ{^r=ëH«Rµ®8ã{÷:Êp^±3?¬¯Ji*ý%Û–V}¦¦ªýysŸ7þ‡óº­úÊ;þœh_÷èÀxµX €kG¯÷¥xöï­ÿû‚¬\[c $Z0¥—¬4RºeY™–`ž–šËÆ݈[–aÄZ5#͚ʸ®3rcE—ÑŸ,Èòzü9}|t=®èŠ’× -®:¥OÑ͘Gò‘ïùj_–óMøI>ÉD²±cïkË·æ÷e³*¯P„U5žT‹çôÌÑ„¹ø%ä'„P˜8ñ*NH¾¶I àØÜú}úÑö\ê×w7!ø¸~ý–ðTñ>ý|'¸o}WìœìZÜÕxRŒ:NÖ--u°þ%¦ þ°U ¸Ñ&ÐÇ{}5þr( ˜Ðý=x¬ -ƒ€ -‚|4¸ €v€·<0é¹3  Kˆôy*€…7n¸á-ð‘?Û9rµné1øë×~ýê™ÅŸ.ù9ùö?ôó5îc°põj€]¿F;€÷"ýýýjφpÇb/?Þ|å-€AΟ?ÿQ”ÿ \ô7—޳ `¥-îÿ#è8P¿w¢ŸgTú÷óJHÌ€ÑÑg à~tâƒZî ÞV;Q‰‡1#d€Ê›ƒl T;JÎ ì ÿµÓ ¼8ÈÑÀ¢Àc"•¾0¸rð©ÝO=öÔòSÛžÚ¶¼ è*~ùàêqkV”ù<ïgØ_„€G@ùϪþ2ê7fžx üs—ÛÿæðŸcì$·âàŸÃÿ­!dSA]Þ³;°âèn@U,c(1 Èm¸áîwø›»¿ˆ -÷¿‹»/ -#€°:ãbÀ@/;ŠÕ=IjÁ:ák#Fõ” -/ÉiÓÛQüšújVQõ•ý«û÷û©&vòyEQtÓ"Üç¸ÜRÞ‘ª­áXK‹%ZÂÙw\Åbªå«.ùöŠ-¿ò Àþ)s‚²ó@ºZ‚Øo\¨öa˜ö\Æ}kÜ(¹–/ÍÛÿ™”*AMKééxIOãšj hµJS™BAÓâç Y޵êqW.d6džÓ °QØ ô—å UW´¤¥Ç[-]É[†[˜Ñ©ØW¬XFŸ"îâdlµ?`Tg¹P-e¥}f>ßf"-Qu¢ªÅé*lfƒ®ëÕpY(d€ðr¤ÍÐúÐ13¯¯Ï%ŽÝ¬½cT:6w÷!àm´˜Ô¯ÏݧÀm·˜$ø?sÍBÿ®®]»»Ø ®£0Ÿ@'1¿‡ýhø½  nõÿû„ç_ç”öu“D õ›„€]¡òs€÷öÔLVù÷T ÀIÿ߻Ф¿ÏÜÀ"À/Øà²Ç:—àïÓ×÷ÜÂsGžc+€®®Ó¯¾{ú¯_;ýî™Å¥%N Ƹ óêÂeú$} ÿ5D -j._­éë„ Ð‰cŸ|í Aì7vìðêÿÇ܃ÜÚ¹óÉ~¸“Àÿ‘€óhœ  ×Ël>~Ç -¨©©yE<¼²RÙË©Ü˾@½H&€í€WØð÷•Zvÿ­œ@0@í4Ç VÞœ†mp{oåàG¼ÿ_+œñB^¼ÉÚÊíÛw\¼É£á -8ø÷¼‰ Jè‹¶n-o{ì©§¶mü—Ûùõ¡ú§<.à!ü²w»Üë_æYÿ, 0)ÀG. 0Ë\ ú@x¯ê_¬Uü›Âª×Cì$»944S¹¡úMVp ˆaK Û¼p]£Å·™ °Ap¢è8 bKl8ÿØ{Û¾¹{÷óâÐûöúÅHôÙ÷ÿØT,_Öù¾Z$,T¥½R6›A¡r©ÚmåÍF˜á™Šb™¶é8™X˜¸€™÷I«ÎXÑÏ4:Jw‹ªåuG‚J.oûòZ&H7òù˜>®çK¶ÍýR)HE¿Éõ~õ@æÁâ³×ïñ?C¾ä¤Ë÷XÍÝŸX{z‰?J!8®gZ,ËÒât7žI§ÒJ0žQUC‹[ñRÒÈ))ìh–®çy˜ZB1._“]£`ä -²Œ‚?¦%ú8Íj…®_ƒîO×8/H×mxþ—Lœ,}ùvV"`·}B@S’JÝÈÌ'Õ¢¶ou AG…- ,ðJNúƒù7×CCÇ œƒ Ïý.@,Ý£ý\?÷¸_€D8™ŒŸŽŸöV¨þ_Ü…ELˆÀˆuwÐÿuzØOçô¶NöÕô-økzúªèRåê~ìK€{D2ðLýý¬¨N@“{ü{0@¨øN•"Ü9ÉN@5 Ä)€öœŒI€Ðô]^N€õžž#˜t6,v½úª˜,.þI€ðþGàrçe´@`x¹©€gþÏ_¯À½ @ÿçF/7÷ÞãG÷Ã'vî-€ó¬h Î?bõ¿wÂóÿçiÞìíºÀ€ÿýÍÍý+ýÀþÚiºžà˜`”üíTþ¿RÛþ¶°ÐÞ³ÀÚA~²/­¼ySÄQý¾À4{Vbp^ÉNB"°]o°<<üEEÑåeB´õ·-o€Oؽ¼mè€Ùår_OÌ -ì?(6ÿ¸çï ÅÔß{áì¬èÌF£4€÷lü¿ðR¨¿ýo ÿ¹wŒCÖÐÑ}TŒnÝ -EŽ& l’TìU³FjŒ‡#p -^Œ%‹.Á‹ø^¬%ü§ëw_@ößÖÀÅèÅë×w7{)“ÍJ¶®«î ¬ml³RÍØ+%c±lVÉgWÍ6E+ïv[rذ²’c76ÆãªÖ¢µèŽ‹=¦ÄâŽSR­¼ðÈsƒ¶ývÉ–žZÐÉù$±êç³K%‰×üqN³/@5¶~xÎúMú3ü‡i /mßaâðnŒc0;ÁŒ "0Xj%ÈÖ‚V<è¤ã–åK¥u"VWïíÞ·´H ý±¸È`qW;:ê–¨`^ò€Øüëìdü§š¿Ï‹ú"À>*nž×a¼Ï£ýÞú£:Ÿxú߃)çW€0 ¨˜DÇÀó"ÂзPåµÊͶî¼.¿hè[X|{ï¾»øÓN}1óGÇÁÏðb' ÿÕÎg~z²X¼vå¨îozüìY†ÿ ;.\xùk€Wnþï|òÇ¥à½`õÿñ‰öF é81OÈYÀÀþæ‰ ¾ÓŒQÕôXœXaƒ`¶¦c°Ÿ­ÿø4===Zû³ÑZަ{µ„ðXÄÔ`”å£Â –€ð½É¶@ôL=°}ôÜŽ¿H_ìඃOùyÆ?ëu؇nEŸ:Xžæ{ ~À~®øg¹ðô`¹Œû¸<ë¡?¿æàÞ bÃâßHàãõõÍöÉ·°¡·9´™ÀП(JˆÕl p«>Tt²áH ¨˜fl8®RÕù^d(AøŸ ÈcÆuGŠiîc?žßоIñÅ(â·.¾¹ûým?nQL%ãìÓ³«’´ -Ã_S×e 2«S99gvY9Ó!(•å±ñÕUŸ©>f´¦W©ØÏç/ ÇòùaS2óÃ1S±ŠçÕ0òiÉq-8ÿû2ªò¶m¯U—­ýí’˜øWWó?geÿ˜:2bèFÆ·÷NC`œQÝ'´,}ãkÞ À—N¬ÑÅ -¦ƒi„€üû‚q^€=PZw‚JPQ[´¸žNÅs·`l¸†‘3¦š ±!Bè -† G€œ3•1rq} ÀôðˆaXºbÅ,‹>§î˜&ü‚mÛç˜&ѰOom `æ ëílÛ%û³Ä§ˆ(*ª9 Œ° Àæ¶çàߌeÀõlŒ"ÇæÖ¿ìŠ­Ûø!¯%Ž%îñkg}nÝcõë÷G8N&©þç@×"S‹Ä¦ h¨«£wlô/±ýÿ8ë‰Ñ?|ã2B}DøŸXöj€*bTãÿ² -ÛÜù¯ê¡7´ -Ø#˜žEÅ?Y5éå -bÐéŸìãEoîÏZ@xÞ¸ÌyôÇ߀5p_ÏÈk–! -ð«×Nüß§ßÝõS¬ð  ­€9 È#„þWoñáÎtÀ£O>Ê€0ï§Š¿Y¬z€.+Ó˜LôÖBØß»ÂZ€Þ²7À4QŒ&XXûJ{û+¢ vá0Ñ>Á AL°(pºÎ?ž°V4ÿa@—Jά$À§;"?ˆM‚ÿƒÈÄßð‹´¬·±Ò;ýŒÜ€÷åo =E÷àðç û½nÀ¬hˆwOø¹ÚÿÙåg -? €{ÎÿEý¿^Z¯¿õoÿѦˆÑq$B¿“C‘!Žrc@º¥_ÔCòX…éF-á6ªE7æ9ˆ@N¦Z7"w«B®ÑúØÙûþÛׯ_œß".¾ùþõ7ÃF>—‹¶*ID²{²Õ]¶Ÿª³jÔ¸6â«ÙﻑHxìŽ#5æ[uiÿyEq|YÝ–|J^÷™±€¬ÎŒŒ¨ý–öXE¼S²Ì5Ý“ßq±¸üÿ•úŸJA=]N§3ê‹ñT®ñ%_ZI–Ö„ÀW¢ â?\ÖÒ^/`-“‚°/mYÁ ëýZ±HŸ7%Ì2ñ ¦SÁœšsÿbÄ•‰ > y6ác, hÜ'䜮k†‘ÌdF\< o9 Ÿ€´ÝhÚ Â ÏÌ—t›¾Ù—òy½­Ô¶ÏΚf·¡šû̶ì¾lõšL)ÉâH8lx„ê ´ÎÖ@˜ÏÐO¾Œ§GÂ2v¾lðY q,”¸'ßɨ¯¿/~¡rñDkë™]gDý¿¸Øu¦ë ÷x` @Ôÿuâä÷– ðvùû„€_˜Ø×ì©ã@ÖVÁ¨‚÷þ&«˜ Àÿ¿Æ/¤U{ü{ö`]­Ef }Îÿ]€_ðÀ ¡è\ò/Õur[¿ç¹ÿþ­#=} ïtuýêU/à‚ü«Ü· `g¾/Œ:N&ùä¸E8Ùü$!ãá·vœ=|öðhó]Óqü-ÏžØù$¢ Ð$,„ @3kaÐÜþ=1ÝÿЇ÷èþ÷ö÷3€OPï‘‚ö `HØß.š•ˆ„QPåëð¨íŸ®ý·üy=½€Já|'!`~TßC€í¿ÁÁQa ÌJ€ Ü ­}£ò Þü"-€+˜ý{â?€üÀìøìò‹õC¢0pð3ä?Õö^Á_ÞüŸ…n`¶|Ô`àTtýÚ߃`ß’íY†èí«§·ÖÙA–*Ç­Dý‰¡úD ‚À]Õ¯‡Å@h(qí|›RÔÚ.)¦“„ q7"jG˜˜ƒáüv>Rø^Kø½ùèÀÖÐÐ֋׉<{ñúõùèûïÿ8`ä}ÙnÙRˆH&Ûúg¥äð#„ß{mg•m3ô½Sn$± ¸Å1Gr|Žou¯”5uçyø :ðI¦Aä\¬eÄ-Û##zµäsïç+{þúì·×„²Oèÿ|:²õsšjd4£0ntæ\0Vƒ‡8`I×ׂôÆ[„ýkç2iÖÿ—§ìÓ¾€Œk1 _[zOéqÍʤœt<§Zñ@=R‰FÍ Gžc`×"¢ 'ˆ(q-gäâc9÷! ¶aä’ A¥¤ö7ê ¦÷¬Ã:æu;k—ÓlS,È)ˆ…µx&©µ&cô‹u«H -* äÐzÄÈ]ÏÖ™þT>mò:àÜ—ú‡uâ+÷JÌݳþ ÝiÜZ¿ÿÖ‹E±È Èù?$Ø ÄG€åÿœ×+æÄ°ÛßÉóú¾I‚VO8Y#LÿXЇù>{Wø 2À…?+Y PÃ"žp `y“"Øýž'ýg gÔ¹#ÂòxëÈs}þ¥ŽwÞéb3Àwßý)‹Á¨ú÷c°†-¼£óò3'Ï$¿^;€÷êÜœžx”ÐÿðXXùø÷"WžØù!.‡žÜyhçÎ'= ð’02€M盚©ìïÿ¨rš¾™{¨ý§yS`‚Â\ Y¸®ô÷øO÷OLpÀ4HÀc=½Î²¿Ú~Öþ ãtó&=ÍO H{£ƒ ð€= ˆm@a |øì>ù?>ùäo¶_àÀÃ/ð[Þöó(àA¨²±¾þ¿€gJ0K§¨w[˜ý‰>€‡öI¸ÃfYø@ð;æÿ·±uB|ËÜW™„]ñ²å#[T7Žþ6 »ndh=ˆ„ꇢ®¢…#‰D`æ‘–¢ÞhîË*ZÑýž+»n¤%+e‰ È s ¦4á–ùèÖVtsh³~kkžàÿO/^Üxÿ±‹jøl·[HªúêxV³ŒXÛX80ïÆí¬4¾Jœ€À®8–u\ªV#‰ K1 î[‹c¾U"YG7MzÙ8|ÿ|ß“¿×¢äcÙvÛvÚÊXöøø~_ÊFиývIϧaøC—½ãŸJ%ËöÙkNuÚÖcm|AߢD‚ñ?"D° ¨«Fx1“IZz ©%=e›0%§a1 nÃ3ôGŠ«±Kf›–e5+]j ŸH†‹-Z¬µ[ Ÿˆ…G\uF-ªj$`#:êHºÉA"âÒW´™À[@zÿ’;<æªGàžõçÜÜ\9hî~x@ððiÑ ÷“‹‹XÀ@C’ëê¸õg v:넲Î<Xàð?øý±9ð¤ð›}àU=UTëO²  -øÎ7à€@᪂ÿ=L&¡ÄGW-° -€Ín'Ï Ø†WQÞ?w¤‡. ˜œþ5À"ï\å)€ÿ²Ÿ;ܸڃ6ÀÂåËg.>ýñpåÊ'µµObÿeDîÙø´v>ùäNz{ôÑó/Að’p:ÿRïÊôϰÚÿÊheoK{ûyþß;]îýOx7V@& À>àJÿDû+þµOÔÞ.\èáZaý_9Š˜4 8/ öæàv˜Â¨WnŽŽÞ¬„ °ÞÀbP,pP fí•.\à1ÇøïÊÝÿgÅ$`yÀñåg‰ÜAøòiÀÃþòª?C}Ùýy@žü¤`öTôàÞõ?Û-­‹œóPè«•Ô³0 o óW4Žcz6,b XÅH‚ -Ë +¿mU’®<ï~×ì6‹¨Õ²Í]6ÌóƒoøúC804?0¿+€ÝÖ½ºOÉ'G6 U“ö:¦d¶Ûp ûò»Ì1Ç šcÅ@À0¥b(t,!JÉÞOµ~Áû¤,oÄQmï8ðö·Â¹¤|o£{ÉÑÃrà‡ii\Ws–©Óc>;Ÿ·KéÓòÊ_°dKi½z\²K––Þ?®k–+ÇÙîwïøßÑùŽ@ki5 ªhÑðùÒkìvJó&`\ ~QÀÁ Œ[xe*ÌYé êÊKËÌŒ@K¹N•w! 1øûénDÎŃVÎPSNŠÀ†‘‰Ç-Ó"SvŠmŠÅ&ŸˆT#y,Žu›y#I„³¨´h­Z1‹uçMÅjÕ®š­ÎÚæX‘¬–Ãq[‰i##áì#Âs›„½_âÏ7ø§jˆþÖ÷ɇÊ2ÀÛ¡Û¡¹/»V˜Û8ðÿ̮œ»€ÿg¼`¬Ô!pÛPÇ€NŽúåS'üù;= UUT›¿¿lìíý1Þ€ð—t£§¦‡ƒ„kj D»`Õs‰…É…žªÿB€pÀÕ /t6,±»ï®§ç[=}‹¼³øê»ð|w×Oop °~Á߹Ї`æ¢ÐùÌ™¤ñukÜ\™hoôÂ[oy€ÚÇ'úïù v>Á-Vì|bç!Ö>ú䓇}©y¥½¶rpzºrðõÊZdSÍœê}ìPÕÿ -¼‚=F0Ñ{+ˆlï'0M_Å4Öþy °ÝÛW¦QòtW¾N•>G°B€£µý ð hA­Ü~sJÿ›£"h»XÜ.r.l­|ctðí;¾X ÊÛÿ½@Ü—· Õ?%$è -x ?ðÙ Êèï¢ò_¸³ppàAÀ=ì·XOð€@ôçuú -=±—ß Ì"‘ùÄæz$Ÿ)f’!ý+FBC‰€¶”£Ä|k›A/+m±dò¨mN°ŸÂâfÑ÷°°9ôƒ7³œU}¦¥à#òŒ.¡¯Ÿõ%eÂEÙhTÝâTÖ±U¹p-¬ŒgÝDˆ>N•¿­ 4˜áÆb%Á¼Yöüs¨ì÷ÙTùê>*ûM5 Ë1{|\ÏÇòzÉ"RPL—Z¾løT¢ê~Ü÷vZZÓƒx^"0·-*ÿƒé½bÆÏ,àùq„/“fïQè§Ñ`üçü€ƒ™ŒEàŸ"Ô¶2H¥SAÕ -ª†,‡µtGϨZØ`¤ sëõ?o²0‹\Ÿ9vs±VÇ ?$'zV&ÐOšû Pƺc1#.­J{ª³Áp@¤F\բǵ˜¦1HD®aÞæ¾L!À­ÛÂ]¼žþÖ÷ÆŸÛ[VÔ_IüüÞZ¥&@»ZÞÅø?µ¸xòä";/¡ÿßÀK€u~p?Î< ªž~¡õ«cÀà¹>:ý“~ì~˜ý‹@`ü_1  zDøEÈ ¨©¨™ä@E±€šIªÿûýéàÓ/€ê@ØÞG ظëÕW-DP^¾?—‰˜,\Å‚‹°ØyòáâCëŸ< tPYýäàŽ·¸pøpå½E€Wn=ñÄÎ'éýÃG_~ùÀÿ÷ø“Ø -xôüñéW¨TŠì*oþÙö×W¦±ØKÐßÔß/r€øôHóÊDÙ1hE¸Áh`bb‚øÊ ,`+€ ±ÀZÀJОTVÖÞDF BhtÔs À€m€G·C€L ¶_¤—¶Âìø 0€mË¡Ú`€7 ˜]>Hà¿°°㋘·fË™?e}Àòe?ý@pïÀíÛõs0\Fl2²“1 øª¤ës›< 7Šb`½~(¢BP溉ú¡„k~;ªÈ®ÚjÊMÍ ¬„ç#žñŒ»¡µøÑ@dkkž@?úbäÅ뻯_¼~qkþbôâîïg²Î¡PqLÍÁÄgÕΚj$!»b¦XpUªògd¹0vnLrÔ™¸™ôí]mTÌÖB¡hùö›š¾êèI5£Çµ™sñ°ëjØÞ/ÅÕªegäoË1BH[ÏçKŽÄM}iMKïýÔ[ ðAHµd~„ùÜ%Ät r”»tUÉ©@•bApPø0îo÷Þ± pxÇövÌ:vüó‰Ÿ'ÿ/oû{¾üÔD]CýÀ,_?{ŠnÒ%Šè߃bO`YdÍ -ôGàç‚îÚ±ÊðÝAÿŸàWà_ ¸½ÉJõH„Xƒóo`ƒ}æ‘@²¨¨‘P$0£†sf[Q}$wß‹ÂGþT}oȃŠÎ‘ßÂý -€‹o¾yýýÝ/B¸ûúÀÅï¶iæŒÕ:²!‡¥Fg5ÌKm—SÓtI -»ªaÈn£é 5Ó¨«««fþ„oo)ëÎUUYýTÚÿ¼Vݰá¹äE’lb²«û¬°,çlˆÿõ˜%•þ¥;~pþǪ $&þãDÆ×Ë÷b­|MSÏ©THe2¼ïçYãøK!  —§|é1ØÿƒŵT*£å -še\:ÇsôÕ¡·37:ÂÞ=Ú<@~ o„c ÏÄÆ¬¸Þ˜ÖyêŸÒíFg¨ÿì4 Èý³tIG5œW,%KÌI%šâdu$.%)[ È£'bI—hÙÔ²‚‹"'Ø Ð¿“[ cIPæ?üiÙ)p7 qìËñ¡â\˜ø]â!Op¹S_îùµp±õ´P  ð „táBµõ#Ød7 & Ö Ã@v¦ü b€÷Ê'ÅF@çÿöÔðî'ìÁâÿ$úU0¨ê‰°Ÿý+ˆ6ÀxÒ?ÙYÕ7 MaOÙ -àÆç"n,5,½Ð€€uaðÂ;hœ~ ‰€K7.³ÿU]Ä -ÀÕ"gŠ? h?_‰À[Üxùa@¬8Fà zñÙ³?úìÑ¿9vøðö ÿ˅ïÔK𿲲ÒËk€Í,€9À§àþ•ò$೫~Øò@€øAþ -C~û„Pˆ¦ôxdbº–kÞho¼Ù>È"@dl½ ¸ýó‘€;Î^@ÞÑ™ôü…ˆŸwýéÊ#Œý€:EŸeàâB`6ê5ü½-B:m+ª=ܽþ¿%€b@4Š9@4úÕ n¡ýÞô&Çì -y†2(^Ãm*H „gÂn«ƒaýQL -+ïÉÓÉt:zt>ÚzïúÖÐüîÝ×ÿÃÅ·†¶Þßýæõ·ê¡Ê²êʑܪ$Mf¿æêÞUé„Ëц$ű /»¶#íW,IRòšÓui/Y%?¬Å†Õ˜àÄFb%ŸÃpÙ°}¶%Ë:6þ}úÿ.IÕk>¨ûHW¯±–¿LpIû‚éŒîKgÔ ¾æKSoY™ E~ŠÁÿ/}ã鑆_ -ê?×i+˜Éi¬T5–1 -…pƲrÜ‡æø’`à:$€¡§#BH0Œ¾–KZ(„OOqì/Œ)Â~€>a?ËLÜ/åÛ.•L[ÑZó&R‘³pKr÷ºìdÇìÃV+:GÝù@Àm ‡  Ad rù§µ§ÇèkšKüÕ—Án•;L~G€¾‚P\a¿é/•äºhÄüïêhþwÔ!¨‘7Pl7  àí0ü‹A}píu>ëÿülø+!åCS ¦¦§ -A„8`žøûªªúzü<€l–ôð$¯Nî×@Ä·À©Bð nüâ /¼Ó°ÔPw*¿çúzzž;r¤Ç_÷?xµ ‰€­ÈĆÃù×Ï-ÁÄàØ•À#/×^ÛqøØ‚Ç •>Þü»ÚEO|¸óÀÍÃoýÕç<ûÖáÿk°vúxÓKMM+ðùG€­û›šúWš¹á¹@/ßÁe¥Üà}À‰~îôcß¿r‚[ÓD>ª„øŸ·0 h$`t¢V€7a"T;8-££µBýÇ€Á² ²é˜Bå( þùß2aÿÇ¢~ÞòãÕ~ü@­ÏG”Þг¦ëÙSžâè?+"¼¼gO=p¸»€Û`þSÑ(ñ*\Ÿ"pß ÿ3ÜÀ|äå3—±…›×ëD ‘Õ"]7™¡Òr>2Ø"dyÏu[dÅw4`“„+o…6‡¢×¿=¿û"á?ê¯o»øìVÄ%̦ -¾õYiU²´ ×”|—¤ å‹»è $ˆ;;FE´m:D V%ŸiDÔýû¥½¨ÛmÅìÎ —Z‰Èn,–÷™%É!?€Õÿï €x¿Bõ#G¾Õ×·´ÄV§!èÀ" ˜ÐQSsÕUˆà´t2ù5lÜK8Ñ~ ý¡k‡Ï¾uaÇáí£÷JÇÇ_ùoí¯_øœ£þÙ¿¸PùJoÓ¡GÏ÷N47ï_¡"¿w~ÀðlÂà8 š¡€_Єhp7`ÂÛ èÇ ¥ƒ€v¶œæœ`¶ -~½’ €û'z?²ÑêG{`ôÏ%8ŠF fÏ_ŽÚÎÁ@ƒåpÀQzÍ`-fÿ|pËs(·Ðÿx±ÂúS|ì3LqàÔçü–=—àÙeÿ!'8xêÁà=8¯ÔÏ­¯G1À÷òQ\xp¥„O‰H!òÈ“C²|BvÇtnïcjˆ¢¡ÍÀö3 m†BGóèDÔ¤äüÖu‹fÒ@ý¿5Oåÿ›/ný‡g‡†ê‡¶Þ‡ 1Ÿüûc†‘É:R¶õ19·ÛòÙU[U³N8€ŽtFrÜnErfÂyÇ‘$g*îd#¼ÿÓ½Rµã¬îõ)¥)5œÅ”\‹Öw|fÞ‘2òϪºÏö™Sãã¶Õ’qÒi]ˈ¼ßOË.ãi=HùÖ8êwÉç”â -¾'¶©ä5¸@¶1ãÒ¿ÌF8Y”]u¬ÔJßA÷3†0cÃÝ@®ë6M³µÅ »##'´–0±‚@_Þæ:Ǿ) è`pèww ¸ãøåvþV.ž8‘<-$€'Oî:ƒòÿdCÇbÝ3(ü‰°`C]§7á¯AËêxÐP×_ˆ8 °¬ `ÁŸg ÄTôõ@PUÁ¡À“þ±ØÃÍþ`a Xw …IAÿªú&:ýeô‡À /¼@_Û;‹~ÿUtùÄ ÀßÐÐõjׯ~}šÀO!@þÏeAøUÌú®^~æLñé+@™pàk.ÜüÝÇë‡ïÔÿ?Ú±ý•æC:ÐÔÔ¼Â+ÿ½í^sŸ±¿ û° -jfkàãh !`ssso¿` -°Ò5`eï÷þ§kÐÎU?úH &€A¤O€þ¿¨k+û§+éTóCP é• x°ò jéïxá t–ŸXæ ƒžÑ/¶ÕCàUÿQ–ûQÕ? ¼=ôGá/"gË4`BÖ>Üý=€9ÿ3³šÅ™§ôÐPhýþ}E” ˜Ön†"˜ûG67#«äGÕ¤+GÂG#‰!Y $X±ßæ†ýãvŸà#Ü =ŽgæÃáÀüÐÖÐÅèÐÀûׇ¶¶v¿¸µ5pñâæ"îÌ3’âË6Jc®7iŸ%c ®Å–ÕÖ°í¸òºëº_ÐUsÅ $àû²cjÞnTŒøêªo[&{ö+9*šµ|¬¤¨T€ëk>Ýu0½ÒÎ[>_IÓÒJ¼ÙçYýúÖÒPÿ•~³†›egº­ªT¸3¶¯éÁ`)ô ÇØÂôÿ³ƒ>*%6` f2éá¼¥õt0ÔéviL5èMËd4zÂÿ ¬²ÏÃ1î„àŠø‡ïÜ*\ú‚\ÈÅSü鯴&´gý¿Õÿ>{, -à)ˆd3¯©ªefm ›€²ÒkU‹aCÉ»7>V »3fW>¦n¸µ¥%|ÂênÑZc­±˜k  ž#×dv&X8Zÿ×ï”S®nÝ -ýîÀ\è~€¹0€ø.18Óu¦ñ$ªÿ¥gبA „Àç¢qÔ±^¿®¢Ó/„{°þ£ò¿Š˜BãwUÙ @øõÞÿ +ÿý‚ÔTõõ@ÐÓC7XÈ;‚~8Ôx6Iàß׳À]€_|®@àw:;ìTÖ#èÈ ¼ÓÕõîk¿>ý+Ì„î_Õ ÀU<ðLò'_»€{€þ‰ío]ÛqlÇ_æ@ó?õyþFœÏ¾u¡òø“O: Bû ßQÓ¯Ðݦ‰Þ&¸GZ¡?ñ6 FãŸ5€È ú þ…8p¢·råƒ^€ÿpŸ~⎘@G ;¸= ¬GL*E†à z8°ñÏÞÀ¼ ¸ýÎW£oÔî¬%pøŸÍn=µí©ƒËbƒÏsú§3€è¶ƒ ÿ§ ˜õL€žõ^(’‚94xÛrYIx'8z@îÑ ½Mð_¿]ý½þƒb‘r`öT4z -®÷í[·.»Z’ÊwªëáCUý\(|î!?fün$/FB¡L‡KUeØ0³Nñ=‰Çþ 9O˜†=$€ÍHÛ7ߌ \ˆbð"1ÿëÈÞrͽñ±oè»@¤žÍ¶…å¤oŸ²Ts?,Hº‘…Çâ’OuFÄ}~Õ1³–ÕšwLUÕ©òÏ+èøï%L—ls*ìÆt3f ÛWÒÓwDk ÇÔ\XÇ’àøÞ½Ÿ -à ûÇ!ÿÃÈÍ·-ºG€~'ôg|¯Or ?Íž¿éR&“Jk™Ï‚þŸÑùg¾Tð\ú/S©5¦™L¶}ßúèg´œQÉăqÜ7XôŸ`' 9˜gCÇ„'@Á0T5ii€~U¥{=å¤è`ÿ?es v|qU³býÅ$GLlSQ¢PÙ¸.Ð÷*¯äÛL˜'XcÁÆ Ð=#5*­Ã±¤•Ô¨ð?z4Ü‚9ƒ;rÂj¡ûîHxÃÅ?$üÀQŽÍ} A<Üf0ôOìöÝ^/‹¾äÀ'rø„püŸ<Éíÿ%zc ¯>ƒÝ ýÀèA;ö‰À?Îñ­¨ó—!»®‚@|²‚ýò=x²ªF4àþ³§¶?ôˆPÔô Etñ_¬ "%È_ãïñºÿâºì$:‹ ï,5tr ì¿uäH©á‘ÅW_}÷µÓ^ @”ý<ügÀ”àòå3ɧ¿Žaìw'ýýý¶_»¶ãšãÛ_þ§ uöðÊ·Î7 Dz?ïø¯ˆºžþq®ÿ›Ž7³6 ¹ÁB8±âñ>õzý½ýíýˆhoÿ ²"ì²+P?sŒ°Ц‡B€À@tnŽV¶·W^Ý^ɈϹ@ïhoÝQ{}Ž/ xêY"äËððñjùmC¡mË,ÿ+û€"š þ<÷gàí,߉ ž={ ¼›B¸í?Uþ,´€ €W*±pߌn¯Ã%.ìž6C®; %’œ+㮩»!9&Ð(ÚÙ,=w4 -ľۂ”žß ÂÄF¾ùãhäúõ­­¡¡‹ïÿ)<®¿¿{€ð?`˜º î ÛÎTf,n'c†!íͶùöê3Ãrãxã¹ Ù·ŠÀ߀|-a¬î•tçÒpXÖ6ÃPöV›¦>Ü’Ç¢¾ä[Ÿr ®ÕhÄd9LÅñø7F Y~:ƒåÿ½{…ÈÿSìüs=-IœõëL`\Œþ¹0îåüï÷ƒ³_0ÖÙó/ÔÒéL&è-þcõÏ'2ÖRx„îÑ%˜‰Äƒ˜è-S4 -aÑÿÈEþ ¬0 •ñ?G¸oiE4’DfâSé”ã#ì׉è6 pJ;ÎLΊ©ÂѶÁ²ÕY󜑋döÛL=,'"3««iöc˜©Èæµ–¤éd•úg ‡µ–hO`PvÃá0<›dzO\ƒ`(ÀÇ·þ•Èo üî) ñ£u!ørU€ënñĉӻx àäÉ]';N.v<Ó°ÔQ·ÔÁïÄ:ëèRÓY#L`ú# €Á - ¨¨ƒ% çøV ßI‘ļÝ|¹3“ öž¬©âB«zØ3 ‚‚Áxƒ€êþ¾ªø]&ÜôõåH:ËTëù‰Þÿe|Uê€Ë„ýfºùó1¢ðvÄq™t¨j6TM‰:úY€®7›pÿ#€ÊJ:)ШæOçÐ1ÐÒ=IuDú¸Ëo†0AŸ‚à>oZõfT\éQWÆëб@ K*ŠGÍæ¼&„§õ€bié”UZuKÊhØåQ×èèþLŽŠþ U•ƒ«V*þņ‡¸%+ˆô"`üq -Y@•þÏ—ð Àù¿bOåjQÿ¿òÌ }Ö׿Rß`¯gä·¿P꿞þUX -Y€vK1ºèTp@1;•*(Ë:„*Ð"Œ‹…²«~ðúÝ]>XfPY›…N{ËÚ„ -€åÜ' Ÿ7Ø6X>ÕV>E_0µƒatû½©é¹kך®ÙgìSW¦Ø hïÞ—§`4==Ó4sþÕWþs·o¿</€+…ý¿E/àý+õ=›>¾ú„@¤{ßãDиXúTõuÎýßßÿÞ?,îú…=ËûPÿ -P½¸ˆz~’þÏ1˜ B0)t€âK«ÁZ•Lê !n¯.nGªøa±Ý²Ùë"Õíl ­ ]‚°È©À0ä`À#]ÿ_AÐ Ix»û©¿Ý÷öG¼á×l`¨>@ô):û¼ -8ÿ³•Eó¼öÇ€†MÀØ':¬ðÿ£ÿ˜¡à‡+OÀ§â?\+Wà}€1ÖUŒ5B‚Ñ8À|Kÿ+æ÷ˆ…ðð_Ÿ°b_\Õ­ºb]󯬬ap=àÎéTï+£2vè–ÕOϼѪîÜÿ®kÿhOÖ »õÔó[òÜ¥ÏþäR#"€†°=À³7¶ÆLfŸ é7zOÆDe~½O\£šîÝ‘êïq¿ÛÑŸß2;¶-ÅúãQ—I¶*&oÔkZ2e4ÍÛl -‡Ã 0ük)º¤™Õ¬.¥ÍýTĪ ˜ã'¨ NkjÔÔlVTI"ÿÄ6ïBlÙ\0Ø&Ú¸ùþ¯"öO-š0/'— Æ—ãq<Œ€dÂðˆã3¿¼¿,l˜lqPõïˆ*ô øOö$-«¤³jRUTGRÈö"ø—'LÐ8ŽúŸ@0­ª”It؈@_PnÄâ±—×u%èùoKÅÂÞh&Oäáp6—y”p>•õqwÔ![õ¬¬øÂ±Ñ°ÇsÊ»}t‹G>S›Q5]ÏbP,vB¿TI¸ôä³+ ð¸Ê€À耬øª ÀÇ’œ;Uûj2_ûTóϽ07g'P/>ë-˜”Wp€½AX4`ú_QÜÁóîö[vs0Zÿlé+,ýp”• Vpòæ¸x®–Q}ÏYÂl°W`¿‘0È*©ò²©½–O& 'À÷¦¯Í55Í4Ùç, ÷÷âÞé@ €½ÎÏüýÜmÔÿP €{ј"ðzîúÕ'àá±o_µíøõ¸Þ{ýéM¥»[¿ 09ùíá ~ø§º8Éh€!èo´ -%à$úÄþiAU­Õçx) 'òã~µÁp³î@ÿíÿÈCl*øë"wêJJ"¶¾a¸FXPGàa8ãz1ºz—#ûî–ÈÏà)àÓßÿÞÿCÏþû}]¼XZºq€Æ?{ÿ]§¡›:ÔYyˆ‹ÿ!þC†I@!öWˆÿù‡ +æóEø §ŸH>kÀº01à…!öXšg«ÅƱÓlØøU¯Ð¡ÖÖ_Ÿ¬7ºsÊê„ì^sú+׬Ö@cÀéžp:×ÜÖ°Îsc·ËJÜ ÒyxÂêjRsÑú2¯XÞúì³7nÜè\_÷Ÿ\Ÿ½4téìúšöƽ¤[µU«5×m1™|rZÕÝÖ~EêÝÖŸ“³îc1_Ò›J%Óµ¦Z«¦˜—NI·¹yÉ„@-Ú -gþ•ý¾p®ÊjOm­°¢ê"€9x¡õ__߀Šþ -€† -CHÞA4€k{Ø÷—[: 'ÈwVttP)ßÁ†@ƒeƒø2vûß à2ÎûcO€½€g!bSeåSå„ÿì ü^a à7f¾10õþ•©¶½/·½øÍ—¿Ißqmf†T€·§¦¸ ð0 í¯|ý³ð™ ½½dmíøqô.–ž«þè ~ÌŸ|ûà‡ßÚõOßýîwE©_-òþ¸›}“Õ“,d@·˜LVñd *ÒjH«Å6`«¶.VG†YFÀ¾À64°ý?l»UWM €žd Ûßá´`Û]âìÄÀ%6Þ,é³õõ]ì;›wû.vÝíøOçwKKûúŽ|ïêÓ%ô؆_3– ÍFBä4/ª,*‚ÐØ#‘8_hõÏÂíyc‰ðáyç;þ'€ßÅÿ‡+++~ž{m%^ýFÑq°ñ«uà Àz`ÍiX,èêĪî^¡gçÎyûa+£;+WÒNk rX_«¬\ÑŸ·º'xMPÇ×Е=Ü °î÷ŸÜ|óæ›7‰ -¬ßø«ðŽ ,ö,5ÇÃá%‡â!¡+)Ù­ùV¥Õ€ÔŸò%·äÃ;3ÞØ¯ 4]æÑŒc"øÒ´¤)dv¹$-õ—Í©XÈluŽR¦Ô±/ò›SJ6¨ªÉ |yÇÿ¨;¸0â `½ÿQ~⻨ÂÇõenÀÙ'éÅm‡’ˆ3!@pû33úSå7óà29ä‰~\“ˆ¢S¿¢9úµ Q€d2«gƒé,°?K@b‡%'+íèÉc e³i*ßeú"…à?é#ˆwxã Ö¦â.¯q¤`E^W”È bD æÑÔh8£¦õ ¦Ô¾ÛOø¿?ìSt) ).ÝJZÝRV°à@eåýwü_YÃëcHy€ÀÌCÀêç  à¯oà£ø¡üŸ@‡hîs40˘ å_±½¸Œ®‹üzh°BüÁÁr‚AË×ÐØÍÃV–•µ¡À‹þƒe`e0ä, 2v2ìá4==s­if¦inÀnòï}f@mSÐ6ý¼^€˜LÀÜ&À5Ë•Wz®ß{B>)¨.9Nàû×7=ý•þ_8¸wðàÁ?ýp×wÿËwÿôÑ1ÂCÂðvXáCà>CÿkDXØÚ=!&Pýðûý«"û0¨®ºÕ^Í6í‘öÖˆ k€·¨Üï‹Øní[lµµ¢%€§·—Øúà©‹À¨¤¤« 6Àw»lt¿¨þaÔw—hÐWEþö[Õ¶§¿±kã-øýAXH -"§‹ wÀ±BàáúOæçÚŸª~cPľ@xB>µ:ºg(ƹ€†?^^ˆ°%AÁNŸÆfàW©¼¿âtKÖââ è×V*×tÙŠ=€À*»rj®ß‹º[Þ%xAÝ„{Å¢I¶bŒL "å]Ïݳþ¿7†nܼAõÿÍ76ß¼ÑÙ¸~ö'²îA0îD½%s©Á@¯”3õKlj)–©‘ôc¡£J:¨yC͉–LbI&8ñ†Ì±ùC ®³Ýi6÷5%¶™¨ºœ ž`2 ¿ðü1³¶oÙ°ô:¿åe îóà UËC×ŸÌÆ…$`«þq‡Ñý籜pÿ;—+f4РºŸm‰³É¤B5%©HèükR0Ëø/â7v³Y-­¨ZZS”h²'YË-ﱸ7OíðF}–S4eAõøØ€åXˆ%\^×K9M‰îDý¿?V«h«’Ûšë‘'VeÞNÉšëW]áœ,«ªRCø?ÁúÿÀŠs#9-ÁÆ#xhà瀫ãN¡ 8ïa*öÕü;×åšžZî<Ó4óJ}Ó+\ÿ7Ì5ÔWÌUØ û+*ê…ÿo94åÜûŸ+·L7d–b;¼P÷[,s¢Ë>}DÁOƒ0ö¢€È䀀ò6Bÿ½ìlä¨À½ƒ8OÁNx°­¬ V€Ü€nOO_»ö™óMç›®Ù®@"Ø6'€o~óŶi;ˆÁù™™k·¯Lúÿ/Ið~áuí³ðÙ Ý8Nàú?<ýÖD€Äv}øÿ~øáŸ.~w±UØü..F[‡‡¹Ð -€ L^ë®âÐ`Ü®žæYtƒÕÆ^àd¤J,Ò·ïƒ-Ðâ0]m.¾ßjµÑ‚ùöÖá’Èe¬Ö ó4`¸înéÓGJ»À@Å~ l€ûºJôm}}¥Üÿ¿[–v•t¿]R×÷ôÅÒ‹ŠùÎyàÿ|çÀ C~ÿ¡¡N#€M†ÊÐ0RÆýyA¸@tžv>!Ÿ2¸U¸VŽ;ý,p2دÃgy¬³sh^t` -7V¾"ü' -â–VYðk+•ö•~³1@'Üî oE¿®ÔFã£áѤ•è{bÿa¹Á’›xƒ¢åÞ¥*ô'ë•Df;g ÿovÎ^"pcó=Á ÕÅøžTøpjI!D̦ÂV¥g„Ê)9L&…S¦ƒ¨‡n6×è ¡PX“Ü=͘õ¬;mn6y3ž…æ„®dR!s&5™c¦‘­ ¨‡ì‚ÿäH4Ûÿ„×ððc°Ì,`[ˆ÷üBf1Ç‘€¤5L8~•T î3swnñËf˜ÓTøcþoa—q6"¡²ÐáèOZ³Š‚•~EÍãÕ¬&Ó­^º~ðU:ÎðÏ;›ð8áNɩɞZUM§£µŽc\óSýïF3 o‚ €C[U<§’a3gÅÌXL¥Âa³Ù„Øcð?ìòi BÙU]ž°Zµ\-ôZNQrá>ÙºZãñxj= ¼PØíà\"çÚ¸SDgS Óÿ×Gÿ®: q•ãÈþjn l9ýÀúú+Äæê€üõ¼ûo1LŠ-lHŸÓ– -±ÿ?-|Š  Byœ¸ø/¶t øsö -$Pö5<6ø51(®öË CàÁ¶½ƒåƒeS„ Ah)§êß®ÀÀôtÇ7þ±i0o¿M?ã -à[/ïš»ÖD àç3׿Ð.x™uÿ{‰XÚ°sÐÖðÊ×ÿHŸE"oGî\Ç àúõMGJ»Û«¿ð@U“çŒV@wûd›௭æÅ[&ëЈ´¶cŒÐŽ…(ZKZÑø¶Ñ5˜,³0 än}I¤ÎÆ®¿l ADŠ~ä–€Ü-Õ¿BØþQ_W]é‘Ëï _ÑŒ>-tÿtW1è±À< £H`¿À}F|Ìýçñ¹ð<ýDøÙ#€J¬®4rPçXãéNa¹<ÐÈV¸Ëe:8ý•­þf\ºgø `}nâÞ—’9mªNk.ëïÉ÷ôÈŠ+öüîÓw¢°Ì¹×ÀGT×þ=òó[/ðÃÿçƒÙÍë'oÞlœ={S€ÃM’|:Zê¨7lZ2ùä“ig”ˆHΕ€42΄¼#®TÌÔ¼ÔCšò9v˜L&³O‰†4?)R@‹…bž¬¤†ÌŽÚsÈäUkÞ_y½(®¥~îþã,Ñü—%JÌx¿ÍlJ,¦?pû)\O˜ ?X@¥¿nÕ’Žd²ßÌv?àÄ!ž. žÄ˰¼ìÈ'F€¤&ekÎ*YÖ ¬(Geº)(€$¹‘à?Ž@Ü¥)9EV’>_4Š]¶4r¸¼ÇD\Þ¯Á>^ÁÑx* ‹ ”ÿ&ŽáÕéÉþ£W4í?`¾'·*5+½£²§VUz  Ewf\™h-3€šš>«ÖÕ Ä{QÅØxlRÀOv¾` àjàø£5€¯ˆÜûïÖ‰Ü)ø»„ ðë@þæ0ü¯ÁNÆ ¼áýŠ‚€a¾£¢ØRÑaä³!@Ïþ ö;XúGì¯è1Ø=¸»¸x7 Ÿ»8GàÏ ¯þ£À†ƒPþñ"Á N•A0+¡©ò½mZïM¡@õ?fìÓ W |ÿ}0€o"`Ú~ M€¿ÿûÛSïƒÓ ËÛ,¯çþX}X?‹D"u×Ð\úȺ[Û¯n„|û»»>œ\l5(À"«ÚëTùWqvΠô]«®@Ì󇇫'°o¸ZHëØh¸Ë·JÚ‡[[ëêlí­¨õoEluÄnµ‹&•ˆèŸ>CP*Ò€JDõW î‚t•Úº‰%t} p#ˆÿPäwŠI?€|¶N@Pôï4„ÝÏã½èÌú aÆ­ûOÀï60¸·²Âªpt€þü¬ÆDØ2Z§…=ðWÐL!üE_N*È2Üz93Ö -#yçÊŠÄ5z|BBP  ïßÿ¼‡`¿fg)3«²&·ìÜ_cÕŸ½Ô8Ûxã_oÞ8»yÖïÿ×K'׉ \:{ÓéÑVUW¿ÏK5›¶/¸Fc.Óh®Æ--5‡\rÿÂ&Í´EsŒÆÌ¡Û²Ò±Ù;l‹š4‡~ -y5ÍG`N5±y BùÕôÑhJ‰zýôÒæf!ô3o37‡rZ†Ÿ*€„ö‡Ì¿z(ùd:ÇC—Ÿx^"äN&ékaì›ÏsÈã;@}œ¶ Wîp0ñ€|~ÙÿN|Kä³Ù¬¢B˜ÔR Û ßYýÿ^úË€^i1„MZr$—V°EíÁR Ï?F `á˜÷Õþqocn6¥L¾ÃáŒîY -•֥ШçXÊlîϺÓKæSɰW†SŠ÷Áƒ&%«ÉYÅü ; /:ü¡æ¿<ÐïÚFmB¼)ŸÉ$͉tö?ÂàŸŽ”®üÊŒêŸ[ý Ë ¢ àx´ôg^6'þ=”Hb~ ÛÿS"”^ì+Å ÍVZZé\‚xäéïï7Wó½‹Õ]ˆ=ب`lh q¨‘q~ˆÏXãWT9VÄfÆ6 aô÷EߟgE, „Ý ß©ÿ¹ü7v€ÿÜ - v`aË…]€FX?ðŸnô7òïÔÇøtÆÇåëKÄ dŸG­Ur#VçÊšt -Õ¤Û­¹´Fl -8Ѩ9ºç¯¿»ÓCu¿H;z¢á5Gß<Ѹî¿tóæÍ›oþÙºóÙuÿ›'ýn7¶ZZb“iÔë©‘‚£;%§;kÞyØzð`)¥ö4›Ô‘ðN5—Õǃf“ù¯ÍA)àÖ¨®ýhon&*àÈÕƒD'±WòJ0+%x½±" æ0þ§=ÑÂ|ŽJ8¶Áê'´l^vå?°S~Ì–¡éƒ¨Ï!b~ò„æñƒ9?Wÿ˜ø_üãk——1ÿÇ€q_\:â[ˆ@TØÿ¢²"Õÿ\ü»ÓyV ÊØд´ÒCŸÄBŸâ£’ßçˆö(iÕçèO2òûp‡E 7ìåÕ€D -‹a8ļ.5§ö¸Â£1om†èË‘žb½°ßëMjZN×µÚð~_OïÝ–Œ+zJFHP‹*ë'¤@€ÅIÖY -`Ä8à ô8@! °ò ¢ €üªœ>>.$€>4fž©ŸÙÁ@¯Ô_©Ÿk€@¬p€m€àýGÅ?ÚÓ øÅÓB -ØÁ.úèÅÕ¯uˆ9€È Àê€|â=€rqçßRV†ÍÁÁA´ýAÀ¦°(8%@¶ö>Ôt\»ö˜œošÁ* åŠeJ¢Ð6×A `Îþ÷ssŒÿm/O±êÿ½W^מ€ß"o·¿ý–è\ßTú…>Æ?å׬úöÁoMx„ì‹FåNpøTuŸ³µž+ô¸P5Ù‹Õÿ<¨«ÚGWö±—ð"F°[än„®ÜŠ´Ã¸o¸o¸®}ÚÎä XÙ.BðO” ïbÁþÝ} J€¾»}Â*ˆ3Û|ÿiÛ— <ó7Úütƒ{þ4 pb# ¡û{äø_$оèP¡ögK€±y¨×ŸŒ~‡ð òþJ%ïòÀÙÙyzMÃb™_]¶ä€–4:;+ï9ãëù,¥É«FN¼}Ø©ZE–sQׂîv«Þ ´“sµQUbà•¿®[eý¹ýĉ KË¥\²æ©±6ú××Ot®ÏÞÜ<Û¹yóæ››oÜœ=é÷o¾y²QßÔ_2¥>‡+é2›F‚’Ûªê'4‡Ë;’^05‡–b©æ¸.iáTZW½>ÓRÏOÈ÷ö;R¡XÚ“Éø¨ÿGèI¸•ŒËëI„¼ šbÊQa­9ˆ-ˆ…?„RÑ TE—ŸŸ©Úþìù+¦ÿ"ÔÏÁ{} ð€ËàØ¤GòùxwÄyç?þÂ}ºÀ&@\PG×òËtºŒá¿ %¨(IG?A>aüQz³2±%½èqÄ9qœ\RÍò†@V“•´ [¦B>gWƒúª¦Fy±þGg©x›J`I€¸N‚Å€Pƈ„] d|áÔhÌ<êQ’Qï~z¹G•GR–]áŒ|TS[\.—G‘ƒzm¦G·º­;€•5Ûˆ¸¯¬|¼òñc`¬à, /î\ÿ_‰ €S§ -IÀ3Çx°I@}Ã\=ÿ¥Ðÿ·Ø+ìõTûWЉп¸aÚìïhÀ}öê`Ù_¡ù_Œß2(HAã>/vX:*Ð ü—¡÷?›Bý÷Ú¸ô/{¹€± X>8ÅÉÀ 0šžf<h@*q€½/ïýæ‹må–¹kœh€=ú–½+ :æúW?~Bþó½?!® p¤´ê£Öý´ƒ»Ví:øíjcàáé?$ÿÌ€sFv@“O;‡}£Û“àÖÅîaºÕº¯ºzßX¬&vÐŽ­Àê:ˆ#Túߥú?‰TÃy˜ý·Ã(@¸£€1¿ÍF¥ÿEnþób ÷ (¡{ -Û€%[më«;²q04°Þ‰4 Î¡±Æ!Äÿáÿ³þÊg9 `Àÿc.0`èþ‰Ìx ðм˜Œuž~"ø´@a`…m€Oó@ìyÓaÀp ±ó4]"‡¹ò^£¿ò1þZ¤’_fÏɽړ“Wƒ9W”·ÅsިǗœÐµ\2§g[”‚r\×åçÜn¤ºõ‘Q“O«i±úý+°þ»qãææõõY¿ÿäÍ››O®ûýtÏ›Sb5(÷;”œ§%ªha³ª;R¦F5-±ÓÏè6“)c6‘ì•¥àÎd*¥Èj(Öü€¯ôÈÑÒ}dDIŠºSõ†VIr¤$§¤"Ý'Æi¿ËÜ8°u(Šª8¸ÅŸ`·ßo7Á –y1X^›ÿØìgÀ[ÿ|‡{ÿqìr#à§CýGLý äODRVéÏ+H–ä¼& fÏàV KvÇ©¶ÆÇ½r2©ªIuU‚OÃB Ä -ŸªÒ.ȳšJÕþ1‡Ëåˆú°"x,–ˆÃ%Ì6³ ÃSjGŒàß{c±Q:™R1ä,[ð:F¬2)E&OÑ«Yëm‰zÔYõpÿ•þ„xíÃme-ÀuŽ:¾V9.ŽÓ¿Êû•ÿÁÿoü³`£«qƒ@Péü€ã„ÿ…À33MMl@ðÿ_¼@5Å ,ÿ¯°”WØí õöbCÐQÑA%?;@ X ü/¶û;ó_ã<è‡ûO!0¨˜€Åxp¿™[ƒ(öË`€BÙ+Є -€w‘ -ÌN@Seܰ_c -ðÛísö9øµAò÷â‹ßÜûb›AÆs ss° ~¹í‘ íJýÈõ«OÀ8¨VnÿÁ¯lÚTZÕ¾ApõàÁ]Ý»ž3†ù,Fòà‹õÿî‡s€ÉsÝUÝçè¬ê\k;‚Û92 5R]]5Œo®æzH¤ÞŠÀ[ª{Ø Ûª‘x(Àbd¸$ lƒm ¨´ôHUúíXèB&wú€ÿ¸ÊZ‘ôvIÉÛ¥_"¨‘39ûoHäÿâòÐlå!Cÿ?`ý‹æ»ˆòŸp^ÜE€M±ð„|Ê/FŽF N¿“*û±F±ûÏçDÆfÐ hÄ(àtg£°šo쬬k|læÀ÷’Du¿¾ŠÐ«Ü£Ë«r­«V¦[’ôk:—uÙ³ÓD¸¬ºú -Xw×ìŸ8±îFUÐM£®¼î\' -0;»¾™*ÿõÍ›ÏââÆŸmÍ„–j¬ÙšÃ.`²¶IZØ_CX£î§–LSóÒ3J.ì͘ãVŒÇ•xr5[6>ê -ý4ô ¹ùºOÓ<¢Âq;Ñ-jÔ“Xê—‚’5¯èisshÛ2ûýò˜ t •0{£°óå±b™þBŸˆöb³µ¿#±LOXïH˜a &÷_)¸g2Àš€x‚ -þ;"Ç™ô ÀèÔ¯H`2™TdÂÐ@P!\×%MÎÂd(@ÀÉ€ãÎ@6ÙO_UsFÕ¤ë…i š–Ö¤,óâ.úã]^G-±¸ ì÷z£q³‰c‰”És… ýÃÐĈŒ†½;b^Èé¤S5V]W2‡=ь˻¢'Z‹Pé« sxë±>À=€5ç -ôVî¯ü¡+'¢þg Ó?þ…€çWš¼âÖa,\€žizæ•&¬¾ ¸þGí_Á.€¼ ˆ¼?tÄî§Úá -¿²öÏ -~žù–q[ ¸ ဃLÿíŒûå»áþ;(,€‰V°°c»„ƒFð û (Ý¶ÜÆ`æ| 3€k3ÄMæ*àùÿ~D,`}ÅÜ\ÈÚ>aXÿzîøð[[äí’¯^?ÒUUݾџ·ëà®§îz}ÿ åu•±À!À0èfoò>]ï.™ì®ªæ´ûÖÅ}Ý­Doí«&ÀßÇŒB$`#°½¤ô€öáH]5¶ýJK°þ7l»cãæ?}6˜—>ýt×Eº,A(°Qÿ×ñ$" ´o___ÄvñÈÅ ·:lEßyËóC•‡ú…Ѐ¡óg§ ±ý7p¨Èè(¢/ Ðz2ø”L€ázVI¿öüãhœæ¤ÅαΡ‚¿§1ñD†˜:‰ 46TVvÒ7<&{å•€D ̯jr®'GÅ¡VÛ£ädi Ö@·Õª+.¯Ïv%£=ùœ;°Öh=¼sÂM¥ãÚÊJÀµCÑjÔkëîu?n„ù'Ïn^¸trΟÝ3j2éÒ„Žå‚’¢èšW•ä¤'¶3œjNñšbIMr™š›M:¶ù–XÐ45£h©f„ùn3‰ô?¯?!ÓˆnÕ ‡O¹¼± $õ¦f& †ãŸ0÷‡#àШüMØÿ8 É?•û¿Àl³ù— ÃéÒ?^þçÂ>/ýtÇeôpæ -€ÿ…ƒ>}ä¡Ì+IúÄ%Áö\ñ³Tõ¿s.@ã,þG@ -ôJ#ޤš;ÌêêþYÌ` ¨gŹ´)›•ˆ{BížhTl&Ž-øb¸7ƒniñ¦FÍûÃÿ^EÖF”äNï»á;]ÞMV]ÛéÊ´Dk3áýá°OU=5t¿´Š¦Ïª,Ÿ’y`Kkx’k½Üø˜>îÿÁD—³€ÑXÙ@ÀX¸WyÏÿø#ï¡ l€›pšÙÁº?ûœì¼ÀkÜ^ÇðßΉ?¬ø·Û+¦q†>¤ÅÓØø¶Û‹YãßQ,l½?±Ⱥ?ªõ¿Æ[‚¬(Ü6?bÁ:01° iÔxopªL, ˜¶LM½gŸ¶_;ÿüy>šf¨ÖçEvüåH€6 =;"`tß•÷¯†¯|}uå ø­ƒµÄ¹XÃÀªÚïnø÷Á]ß"ƒÿÖ*¶òaà}…ÀdÕ£8 ƒ8Wu®õ¹îªÖˆˆ -Ä&`Õ-bîþ·Šˆ úYÃH ˆT·–”ÂaàÖ0±ƒHûbkÉ…R[¤kTÚ×q‹ß†@€¾¾öHW÷a h8ÛÄ< K˜½ýÑžŽl<ÐПuòzg#_2(2ÊõSª?áÈíÿCÜ(»€X|B>…À˜;ða7\Œ¤¥!(ȈÌ‹U@¼!÷*é=q:WÇ€~/ H’u"×ÓãóEsHVYÍWUŸÕmý àtë\'EÉ’µFv»'öÈ[÷HzË)«Û¹º_­Ù#»ýkÎKÏ΢÷úÉ“þ³77ß<Û¹ùæ73Q¯É§zÌ&ÏœÕèjxtt f>f³)'õF ãMIMN¦B¨øÍ©¨’d0Î,,£õ¿-‘047ÿe(åS3aW&“ŠRÁŒô_ýÿNß·¼l~äú:àH²ñß²Ðú;…ÕâpôqÀÞI—Í"ïûð¢Ï;qô'8 áX¾L\@(þã[âè ìOæ·¾Of•—’„õò™|²_ICåïŒ;ï¸KÇÇé´ G%ŠrF‡$‚p Îý Fš¬FeЃ~¨ÿ Q߂÷uxcѨ/Áê?¯Ž@©pTSËÙû ‚mÿŠ;*Š+Ä¢Ÿ]ø.@ƒ–ic°ØÞ…€ z‡ÿ–ï4È€¸Ü«üC'€&À}ñ  ²ÐÂÀ€)L¦öîµLC @€–ó?À΋ -ô4Ú° øÍÛÀ*øÞ+WÞo›ºyÀû˜¼Ò#]}B~›ÔÕÝ€§7uµ··oü'îÚ… þ@0€óÎÎMK€ÿ<‰@ ^tàܹª„-2þÃ6mºnc@èA -ªàÐ -9À…¾Åj,¶B ¸ˆ¼à$Ù` -ŒD@`»­¯ïn)•ý‘®¾#O9‚d ›­¯ý|ôÁÀ}ûJ.~Ô·q+ÂÀ>ìgp>4cE•E…À#xžÕþ†+c0p;*G½Ž(ìr…Íß±56ýûg6'‹üãæP"´œ7ÓÖBôoð‹ €ÄòáñÃÝ|£Àr?ûÇE‡à‚Ch ñ?®ô+Jž>²œü§äa˜Ì+½½ë½Ù ¦¸9i§•ÿ½Y%ÙŸ”x²²r4È®ÀJ2êHF“àg’Qjú &âðr,8¼D¢„ú™SŠ—·Ø#0f޹¢µ.o8£#ô~iiU *æÑX8œŸÐ‰¸ÝPÒØÜï’­ôA¢9úž¨KEzÐÿÉm•„õgbdq|BÀÿùwÄ ö‡_ôÕׯWœÐ'`Pû*Á?}4Õ7Í옩·¿0g·£ð¯þ± @¹E´å…ð¾¡Ø^QQ<ÈÓK QòÃúç«0–þæË˜ð ¿–€¸K ;]–[ø‹ÊJôЧŠEõO70h˜j€½ßôÜ5dþ± °éšÝNädÎr…žf9o P^a SSmF$ðû–¶?Ú ÀÏ%Ò]`øVß¾/Cî;ø­o¡ pßd+XXõ‰Â¿»0x­Š%h0hÝ7iCZ}W7€} €ÜBn@õp{ûpuUßÝvbTý#s(ÒŠD Å’7l%‘VìÖ¡ÿOÐßg»kë+è3Ò—–`, €¯ÁN@ôо}]}o_ܰ€H >o§à¶?ö1èb P´xûK\â@‘ 4:ÇWî=!¿Mî‰ Žf€ÓL¶NwvR–°e!¢¹/0?v’}épa-8ÀJ~ãìÅV:\ÿ! §âÐW[«ªN9ÕÕ"Kn]e+@'bÉ |wÏsVë ·{Ý*÷ …~çáçÖý—Öýk›!ûg ÷ìÍÙõÙ³~ÿÙ›ÏÕl#ôwÔȧ”É­ÅBKá7©€ßé±f%‡ù¯ ÿPßlÎd³æ%Ÿç§‰)¯S„öÄ b¦h4&–Ùç?F½Æw4]5›¼ao¢àö¿ Eÿ™CfPÕ¿ßhúWFÍ‚ï_ -û?aL÷1=`§¿8‹àêçý~ºÀ¨ÿ2 ÿ0.à\ Tþ Ç–-(û·p>·äÏ`áïŒÔÛK' )ÐŽk¼€ à&½½ÿMÒd%9¢(Šš&ÔÍ•e9¨£êO"P0Šx`z è…„è?ïéQz‚QYñÆc^ÁB ÐC¨X­’žö…ð™LLjJÐM-ª(HrÄb£=ô¸$­f­ZÒëŠzj£9*þ­þîU«û€ëtMºÎM„Üÿ;ìÌa€_ìP0Xq;X‘ôšSµ=µ®&ÏÔ7ñÀN(öíÂÿÖÿ å"û¯A ?Dv”÷ÅöébK!iܾçMÀŽAöàÞ@±EúÊX¯ú ^`é€î_(ðŸ]€`€^€h¼ÇT€{èЩ^@–ÛÈlzžEç›¶«Š m–rK_Ü[NÏX´xu€uï7Ì}ýw ðó@äNïu:z7]¼`kÿ2?r×®ƒß¦SU!ìG?ÿ_›,Ø4¯±#йªáÖowW㫺'#U vc `ò2=!^°o’ç n­¾{w±»ªš*d-¶üG"Ñ»6Û0Ò€lØd@g}%‚ Ø8 ›%"+¨;K©ðïÛg+ÝWzäâÆ -íæÎ1fB~V„=ÀN± À¬@æ ÍÿyûE,<4hY¶O4€ŸÒÀïFÞQ€Æ¶Z2|Æ -‚ËÎù1& C÷èà}ÿAb@©¸%^ ;aÐ5å”’Ë©=ÑÚ¨GÍÔòfàªÛ‰ä¸•€KwÖîÃoþ[ßd#y%<>|ø’Ý=ä¯äÅÿ“LNÎÎn†Пd¦æ×ê$!é«I³éÝ7uÕ5겺’/d -ÇÐÙ7…F•à±ÌBÍ=SÞø‡&¸û™¶%x02/,,‡Bœ…C, :àÍ,ÄÌ…¬œ/ ‹sh™q¤ü„‰Gú?±ïwy9.à?¤u0 ¸¼|'.—…èo ªÿ;Ë\é߸³ÌÓЃ ù|7òXáË£•zƒtЙ’—º@Ÿí… ïôJô¨”eâ =yE¬H’~TÏÊGÕd2©*r6+«gMuÄ O•°žý”9AïL<•ðb`NÑßyéÀ’)'LÓ7 ¢EVûy®÷Ó -ïøëºþó(F=škµ=²¬œÊéˆrZ%З>¸î¬­A -pÝ-ô -k+Xø÷î‹%€•rÀù¨:»¶¼úÌ«¨ÿ›vÌ ÿO¸Ï€öPU£‚®¨h0Ò°îW\ÑQŒâ^„Uw̱߿²X:9ò¢¿r~à?¾]þr¸–•[v"¨¼¬£¸œ©Ã Xä=¡ýêOó6`ñ{F3`ÊB÷0øã47=wjˆ^=~ff;f–Ëûååh hoýô -¨,D8 ðý¶¶†Wzþx—?g‰”lØtä­’ ¶/E$‰|‹Àkö£0ù 'ÀÉ‚àkBHŸ‹Âx’¨Àd÷0tÝH -®;W}.‚¿ºµª½z±ZUW—vE&a€œàöÖêE›íV$²X7l‹tÕÀçÇÁп¯Ï(÷1÷Dúúî2èãH^]m6p Î:©ÆäÚ¿‘ÛѼœ>@`hl¨s```ìÑøÅ>cþ|‘¡˜ç)À! h"ø´€ðÄg± ‰ÀF@ ?Ö@ ¨ì<ÄnŒLÿ€&À -ÿ›w©¤·NLÀ (§ä’99çQÃ^ìXUHÉè©Jèþ×o}óTÁÃÄ\;¿ûæ:ÔÿDÎnžÝ< €öäúæNÿÉÍÏî4mC6­;0¾âÔ½„Öá=VOj÷hF—ZjÉۀј)”‰5X -qêp;˜¶-‡Lè6á¿9&$~&/á¿)ì ÓmDý…b^à;êóBæß8ü°áèô; ¯¿„!ô‹÷ÃΟoÆ_æqúVKý¶`-€÷þ ûÆÉñpùóÁ|0›NkJ6x¦ŸJýÞ£ÙÞ£ÜÎ(Ä - t¾¼Xìe% ”eÓ=ÉJ,@ÉeâèåÈà\^‚Ùl°sÅ7X ºèðu¯ê¥§îõÆ0§F¯HJ!4ÏjÙ‘p¸_ÓÓ=ʪ5SVud5 ?0¿#¬héÚµª¦«Ä3¨¯~ Á3pb•øÁ?<Xƒ ðs"Â>@~é‹ñÿêøqc  òñ€ëįÕSµ¯Ö¶ð€¦úÜÀÝùŒ€YPû¿††b»EhPäWTÀö·Ø‚&@'þŠ™½ˆ(.+§Ëy.@·Ë`ö—¿2¸ÿZŠ©Ö/C{ lEå<(Y"`>ÀïYfÝÕ0U¸==7mŸi:ßò èÎCÞW°€”‹!Z–iú+ÌݾÒÖvE8¾ÿzîXð9"Àv€ÞM›ŽüˆðòËýP0€ƒ¿UÅû}U“Fà#àÂ2€LεòÖ€·Z»ÏÝÛtï°ÜGX Щª.½;\ÝÎ¸Ø¾8<,òmÈ``[Äf»Ûw÷}6Œùï" -¨Ž…BXbÌÄaÛ×UúöE:6æ Íûç° ’tˆe(D‹ü•{†>Ñüçñ¿¸rˆÁŸêÿ"V ¬µ7ŽW>!ŸÒÿ/ø¯8WüÜpÒ }zȰ^~˜€·s~h~Þh ƒ@çu)X+Ô²âGMûÃ߇=rh^MNžòô(û?*²°x°ˆÜ‚ãk+ã0^ùŒÝjHkP <^·K·®Ÿ‚ðU×Ï[ššžÙÞÔÔdobä¯ ð¯àN{X,(ªE 7ô øíìõWҟΧ¹Ýo¡Š~°cp -«~–A±úÏ™€Ål@Ÿ†Ã/FýBê_FuÎðûG€=€`€v~ðƒÝÄ8 »»ê©V‚ûîEúÚîIäwGè:Ôp@t@õ媪®»Ãp â¿j_kõ0о5ùAÝö;ˆf/à:ªø‰ ܵqúïüÕõÕ=”ö±Ðîú¨®ô£®« šð`ûßù"¿¿È@F¨ÎÂÚ¿PýS騨¨° 0€€'€Oåð¯'@‘X°è(¤2p£!˜³÷ˆxa[p šÓNÿïõÛòkhÌ3ü»n='û\ -AYºN…¿'w1îaU—kM£=Xh\kÔ·>Wô¦[WvªV·5\#íÙ3[É Àï‡àäfÖÎn¾1;{¶ñ¨ÙôסPÉtA_,jNº­o¾«w,hJjt!d --½ëɘ<0¡ƒ­‡cÛž¬– 5§óy?! -©¿‰³¶y—cáX8ì g¢¼ô§z<žšÄ²y›9BY¼Ìµrè?… ·¿eûC°lvä…@w&Çã°úÏÈÆóË€ö„ð.l8ˆµßÇ¿l‰‹â_Ž|:˜ *g4Mêµf³R0-kpHÕ‚Øÿï}‡Ê{à&À’Qõx% oÿ -,$¥_Õܽàˆ%Ê3âxî^|½ €A¿’VÂÞT*åÓ¬ô<¤ –V“TèGÓÊHÆ1ü§—"9Ýê–ðþýa—gÕJO±Fõ¸|žžZŸªÉJz*·Êáø\‡×Ò -[}fütxƒ€[XøÂ4`nŒWÞ«|èðÿÇëº|ª¦¶¶Å%êÿ¦MÛë·×ØO`ŽÎ¸÷ÏMu6ÆôŸÛÿBè¥ñt‡…Nƒvô Å>„ýåìþÇM,þ¡·üŸ–òr¸ ¨¸¬lpw9«ÙÈRV&vÿß,ÔýƒïáÖ{Ì $è·´Y¦Þk˜›¶Û¯'pþÕç!Ü>cÇaÎH+j3V+ d¨à]À÷ѸòzÏêøÕ'àwGí%om"ü?òV×pÉ/K‘îÚõ­ƒÏñ†?þ÷æïfÐL>´S€ªnc0\Õ}®½µ»»š%uôí“ÃFË 5Bp¿Ø^]ÕNàÀ?‚œ@Î X´Ý^¦š¿k~ÃÀ펺ˆ­în_)‡–DJˆ”FA…@)]%ûúúêJ/–n¬À Ó)Ò~:…?Bž“•Ï\ 6ÂîßH.ø@œÐ86öŽsåIà?`¿!¸÷°`à?(§-³í/ æÙ_QÍô1[Heà] –jþ^`e¾/îU ‰?p¯Ö‰ hÞg’Š,¯"IVŽæ W|ºDµerTw['N¬¹·=÷œÛÚòæ„•(Cxë‰Ã—ANžôsÿŸŠ foœôûל°)úëPÌåõ™η-½{bý¹={tUE´Ÿ7ƒé¿šUCͦ˜š•ÁÔ¶É»`2a³íÔý¡æmËQS³‘ö‹9?1‚åT"³Å|?±¥#Æ»}æ–Ž¤Ã„rÿ×üH÷[6\à£E@Ž©>˜Í G 6ý¹Òw\p@ààž;þñQú³ë×ÿg”|>H8}&Íù¿GÓAIÁ Fõ÷™´ÆE¿såxoPþ;ãkããÇ èÇ= †íãœÀ·â×Ú*úûZ…?À¾ê}`­ûªº.,Ò[„= ü†mÃÃÐÖ1¨³Eúê  «è÷—ÖQå 8Ô•² pŸXø_Š]À¾}¥u}K7Ö@0ækb *Ïg…`¾Ð ¨bå?¦þ¢!ÀË€Ø j„eí“ ÀïÀ?·°€gV¾Ãø/\ÿæ; >K·åÐ<~9Y íE'»1 ñÊæ:Ä_’Üw:ŒùÈÿýÀêvºO V×éÌÝ «2n«íARŒ®èuݹÖ8qô¹ŸüÕÖ=xÖkî{ö¼»µsê~ÿÙÍ›ÏnöC½uòìŸm>{có쥭ã+îX¨ùǦtþÛ´ U~óÙÿ¼UÇö€Þ¿SS(óMfVú…¼ŠïŸmTüocÀ7±¹ÿO0¼þš ,`!ãXè×äh"U£°°Ìf¾óÄÿ À¬L,£‚^v\NáéJÞÁ¦~‰WNçi•¾&€€`˜CâI~N`#3áÄ6nwïFô‡y€U0nE€êÿÊÄÀh»½¢ž9•þ PÕQÙÝï¿ráƒý -XüwŽ¿ÞùG @zv‹ÅXægñ¿eÐ^^¼›Pýg»üˆ÷ãáûÏÊp öðþ`oX„`hσÿ)à°ö—·ÑåôÔí9"3ç[~ñC|´œ?¿³É>sž½ÿ†ÅXf˜»Ýp»ÁB`ÿQO>›Ü¹SÒõÖ!ø}@宇S€‚  šGÿ­U“Æ@¤@(`L&y%p¸ûœ¸Ýý=ØÍ^B  -T}‹€¿z²« X ¨®¾… @ªÿ‡‰ ·ò—Ôµ£€ÔúHW Á~Q€ºö:äØŒ!@a €½ÚKúêº6ظÇF€"û—:Y0{ïÙ‚ `¡ Ü„ -pÀ0ä‘ÀÐÀß¼Nsà‰ Àï4¯t®Œ3ú7‚,!€›üÿÁMiþd‹Šzé׿g+Ç`Lï‡6wr·f½ÑùåžÆŠØÿ“¨êÇô—*@ÈÅ©Æ#ÉÅÂ.U×tBðÚ͸vÖ¸Ý4®»ŸûÉ ·sœÊû£‡òæ¥K—àÿ3{öäÚÙYãrò,üšÛšlþ±Ù] ,7¹j²Vi½q`Ïw@ʺƒ.Ÿ¹V?©ã³éobæÐRbR}áþ»ÍŒ«Jt!–ÀìßœÔòí®?Ä¢ ÞLÆ“‰%Ióýó€_\1/;¿4‚þpçåDÂpÈ'—Ñ H*À|úª<úÿØp q‚ÿecöm1øºÙŸ•`™s&ìí¥jŸ»þš"DèïI@’ÿ+QÍà -¸^¹ÂCƒ -W2—SPHÔ¼aY?ºçÍ={Ž6:™%@º¨Ùj=±¾Þ¹yýäÉÍTòÏú a®gožô¯[£Q%Ör¤5Wxg*\«f­îÆuâR°_“4Ÿ×Ôlʼ5?0+M°E>ìý äܜȘBlS´ ž÷¢Eœh€w!‘P£^¯#ñ(â‡Ï qÿÃ!@ÜXþƒž>ÎC;¼òŸ@gÿŒøåÙ>Kÿ-¿›ýÄ/ˆèŸ¼ã§2œutã¥þþ´–?“Ïs/@"ÄW”¼èµf%4ˆ¼Ó+)Ú;ãÔA›¿— ûû¯€úýÛ -,ö>íGX€óx€ÐŸ^^ªÃÙ›1Í5*Q¦#ñ„±ȇÉäM*И½aoØ7¢ô‡a“àPV5eG¬„ø@R•³ô#à9”LîôȺ¦ŒÐk]Uj[<‡kOÉA+¾;wJf -€ëXäEÀÏ´ÜÅ^À•Nɽ!ÂpŸhÿ ZyœaÔü°Ö÷ªËÕôÌy€úíèŒb  ž5lˆ:a ì€ €ð¿ÂØïg=îÚná–@9‹éþ?/ƒÍoqyÙnìb÷¸Šþ½ðôå­@L8ùë,(7¬-˜ûOOM‰Úÿ½©‡Q’驆Bà‡tüâ?„¶ àìKÁ¨Ø‰}Î~»anލÃÜë¯çz?~B~÷øÍ;w~𣷎¼õ£ ¿aû½~t¥`O‰ ¸ùW±%÷“< ˜7º»P *ŒΉp ñM¸Á7u?¤èLVÕÕUa 'Œêüßxã Û0X컈Eºe³ÕµCÿßõ[_×]¾Þ× º!※Œ1@u_u_é­DÙßiœCšDš…p€Ñýa Øüg?@1  ;Ø&`¬ñtã8Ýð[€^‘Êûü €ÆÓïÀx~ gpW¦â_¤*΋¶Šá«Ü9„ ÁPцÿΡ±!mì""Ðø¥žÄñ3·sÍïÖåSÉeB·Š‚?àtJ²Ò£ä<.¶ñkÎJwL¦êßmÝúüž¬ožÀ”à9Ùí>ü&!º}óYôÿgÏž=)~{càææ=J̼°jÍ©a—G­‰f\™ÖQÚº“)EÒ÷¿ëÑôh’"¢ ÷üøQ—?ôÀd4þ‰d¢ž¨×”òÒ!?Ûý±p!a6ìŒíóß@öw¹`ùkFã_lb’¾Œì^îòÙÓèÿsqÀø–ø2Ëüáþëݦðý{ÉðÎçû_:ƒ³þ|^“²6þÒi€~0 'ÿ^ÿIY)?G€à_ÔÃ÷ÿí>>ÿíþÕûƤüÞý‡µq扬8×èÀ0€X€$«àŽhÒ!ïrb›ÁbDÌñX*MËžLÌs䔑¤+ìËki%§ÐYò=S«æ2¥ZTY®õÀ$@²ZGvº\Ñœ¬´&á¹ -žàv_‡q Àg9¹6Tÿ  {~úlÈŽþ@øß¹÷ø:+Vý×<¨}µÉäœáú{…}tûö -ȹPÔ„ô¯ TJOW° Ѐ{ñ4·ù¹Ûoçø¿Aªó©êß]\L§Aû`Y1’ŠË ý‹-»ûyÀ|Y›‚ÎÀÞï@ÈCÆ‹AX85u»áöÔÜܵk¢ðíDÎï<¿,ÆÎ‰Eb ¡moÛ7‘ -ˆX`;rˆøVWŸ€O9êêÞ ðÖ[]%wÞø=×$î:Hàà·ÿC€IaT=Y0íªôÿ~TüÀ{q:÷0.¨ûÜ-ºZM·'«ÚouÃ*>÷½q¹zŠl´.V·¾ñÆðâ"‘€7¨úoGàVän_$Bà))±U×Ùºl,ýë+黈a>JîŠ@aÐeû¯¶·K7hÀ‚tÑhà4`Bô³•1ðПnž‘EEô€6,¤ÿÑÿó þÿV€]·ŠÀ;ÐŽn­ÿùùCD8Z¹ˆ›+óCÜOÁKÚIü‹E€¼¨°`¡[Óùåð^·5и†¸8]–'$øÂ¯æ&L·Y–Ì)ÝY¹b¬ŸÛ -à¿Â(๬Ïé[râDçúÉ?[Ÿ½4{Ò?;;Ë ˜l¾ù¬G÷.õèŽmæL&–Q<1sؼ¿¨q­Òét¤|VÉ*?“M›4Ÿ‘¥s³¡ù'ZÐ/+Øô7ñ -à¶m0 ™£žX,5™–3ÆspµŒ_æÁÀCÿ2Uü¿4"õ——èØLÇðúåŠ_|$ÏAÎ@ÀP/&”¿³,6ÿóyaù»…àÿB¿Xþ£ãL0È.€JúŒ’Og­Á`/–ý‰Xƒ,ÐCé)‰Àu ú?ŸßGöÞ}cÀi¼•œŽ‹iJr]®a -à`1 ×&}î൉¥T÷›cYÊf &]òÄtRM'}a“)ªiÉ££QEs½»Ó dÍ)=#99¨Kî‘z—¦É2œ‚¥ë<8Ãxü³ -ȨoE’±PéHò àd@¼ç±uî¹ -@×3?'Ü|¦i»M·ooªßŽmºzlÎÁÐÞ0Å¡À×S„Ø1°ˆÐ_øÿÿ9[þ²‰~Æš ˆúÛMà?¸›(@qy9!|*óAúatE@6þÿÙ{ÿ ¶ï3[XÐŽ…3Â[|MY$}GE2Æ#ÀüúJÄ(±Ì+ aáJZ¤4P„ÀƒlMExwj;Ø/?’›¼ÓYHL­ƒíéÔl{vÒNfÇÉìtgYÒfærí\ˆoÿpÞfµ›û>çù|…ݽk›&Nïå+øJl@Îyžç<çd¦Ñ?ügr¡ZI:Û~&ùïÏü½âü“pRhÀç¹P -ð<ö -àbÀéE¡ZCM±®hB7\ ‰—÷Ÿ[Ø&ÿÙA¥ôí……Ÿ½³ãvøßÀÑù™à ç•ÿîÿ›†ÈlæóFÀ« 3ü†ølŸa[ ô -Å?$&Àž{Û»ßîf1 ³€¶¬……m…5ÄjN)DÀ‘…m;Oœ@PP•ÿ…B˜èœ¨:òß±¸¥€hü‹0@zÿfÏÇZ’¦K€éE Eñ<Æj4ÕWwá‚K€Û"ÀÿýëFÂÜypáÂ$€Tú·ká®ß1(+§Ž‰pÈ)øÞäLaÃÁuâ -$­å)ŠÐ[ŽSI/¹ð£ÑZ± - ]ך±¦Ê˜ük{`WÒZžp>¼ÿ;ÊË/)нzÙZR>8x<)¿;–:>†×p*Qø} ³õTØ£6¦‡ÓU*g¸õPàøK—]9Ær¿3p¨µÞnm §ûlAXŒ8 ðÓÖÖŸ²ðÿ—Žèô¼ -BÀCÎy*h90à˜ŸŸ7Ø9-þ ó–º•NAQñsú_P ûƒ†[‰Þ?¯ˆ±¿š½þè.øž~ÁP¤#"@¾ó¶AÄÿ€„€òŠÕ?ÏÞ6pýOñÄNƒÈ•ú}0ü‰E"ÞÉID%¿wÒM¥¿· 5ÿäôˆÔãžÿg[ëÅÞûTàs¢QxÍQÀ]úiDOa`ïït‚Îúyì>œÎyƒ“£Ãéa:«Ô6OÈ)SqÔ[œ±ž¹Ç1éñ;->_^(z!=\äë=ìó•Ž4æÛ¨ò§Ÿ¯ææzë‰Lþc)Ôê¾ë–à øp`ñ?þ©N¿ùÌrŒ0<ØÚk9ŠàÉ´ -@Ë+<þg @^^oQ±]Šha€ a§æ ®5É¢#P«ÓÕrÚ^„?ðAÝsœþ“,X@íAøÿľÀŒ°p&á_SIo±^°’õ ¦Ñ…—9Š¿Í£ú Ì|ˆ’ðàWçKË~]Á€²û-|íÙÙp,†ÕÕˆtÄÎ?5-}¶Mþ³£¦Æt{Ç;ï¼³söKNÀo‰ä¾Jˆ.ÿB×?¤ìù=Èž¯6ˆ€Ø ˜iHŒô3pRÞjëÖW™è?²›LC¿A$}vvöÆínè ÛPúc °p¶­ð“¶¶B{wÛ÷O¤ìÌ"˜ßYs䓬Â#0<±³ €Dà½/«[[ùÖâÜèS”€lC?¥t6}óýI -*¤$³ 3½mØ  RîaÐÝW @Ißßþù‚/U;~¬²Jž¯ˆ! „ÿ-ã}I-0LDwµt•üQ €ÏÐþãåIëAÑ¿bF4캇7Á£tvéŠØ€\o‹Få²w©ø¯85XbMÚ“T~yð#º5X¢½¶z•?Q€8€±±øðø¸Ë•Ú5<Ü5XbtûœIÛ£V¡Líõ\¾|Íeì=t¥5<âǪ¿*ÓµÚW0ߊ7ÁÿUΊ9G@hÿóûüªðý¶€ßVÃà‹áZ•áÿ-õêNÃÿº_ü_^LJ±ó/<~D̰ûA¥/óžçí4DÒ_ÇÝ1^ýò¶Âbͧ#­1(€ëñx±ü‹h'%zù7Iñ6- H“MýþM°º1ú¿÷áÿᪿ±y°‚ãP Z€f¿Áà4Ì óÈr:ý#Ä‚g0ì É=t[ÅÀüH(¬j&zb“'뾇ßé·,±^bé°8ù3•ýFOÉÓQ¯V²®#`+À&):©}D ~äñ­ÄÍ€‘ˆ-€„€_žT ?/,,Š0O‡×Þ¢l]†Ž­²9€3v5Åg8 x" »6;YÇ[ -ðk¾A@ò’¹ýßž ¯ÎL>x0í`Oÿ¢ÒO®Lk/î§µW€/@2öc@,`3 ¹=Sˆþ û;+T€ÿs“œYV–οõÖÅŠŠ‹LÞ*àYFi¶Nl/Üߨ>3Q$€®èõÆ;n€ÿôX¬±¿½°@ {vöËÿ1ßì|¯í~ D€ úÍ`€†û; 3¼ ŸBÕ?#ä3,h<̓n^%ÐòÙÛ -aÜ=›òôì,¡a[waÖoÐã/Ìj3}Bh_˜¥GVp[ÖS² -±Ø–’räD[Š |SªNüíVÝ9—†9@I—b@355î: \b7@–ý%‰ë„`3@‰ -ºPwÁ¸vo[ð¿ x€uà¨ÿYÐ×W~aJ…øJ4R’ŽébelZúâI] ~,Ðà”Ôǽš?â‹À.6Q÷Kæ½ÑA««0–á÷JøÊ¨ê\÷Ø{‰ hµ/UThãqwyEùŠu|õò 5^278ÖEèG `Žk,Îa€.×Gt5wa•ÇêŽÖÛdÛ©¨Í¼¯,9åkíõ“N*õ¿à¾C_¨,##­?EØo+;ÿ«Û-aû× ø/Âý¿5]íô‡nЫ¸áŸ ˜ú‹€ MZŠ]§Šíþ[ó'QöǰÎoP¤~±fL÷yÔ¯ˆüù¶,{c»”(ÛýSµï•úÐàYþ#‘ˆg© ©éß$.Ðä†ú¿‰pëkŸå|¶vïK8êˆeøÏsÖrî®ÝeÉF‡Íò#3pÄï÷Cæ¼EA@vZàö3©m 6F£Qßo ùÔó¡žß1ß«òÙl¾@o fn&Ê`)(ðeø,6ÇÈ^ú{×= @úâ×½Ñuë]dh%þòÖØ‚à³M@IÚš#=/Jl<Ñ4Ñp`ÀýìÿQùß[¤Ë€ˆ.ƒmul©C¥¿æ,°tB˜ìŸÍ®ÕdŸMæ@ìèĉîx®]óëþ¿ÉãÿvœœÉÞ™™5Óý+¡ú¯LËÄk¦¯É,`a‡Ð+Ï‹ÿ€ÿöûàÉ~Ë<ø¢>­¨ø0* -ðViéù"‘`ÄBÀâå3•? @0€¢‰¢×ÿÜ''mmö;ÿw<ýåGb -€À÷Rì¹3 -ÒóRŸiHÙü«Ú hЋš†­fD`P>nûÛ3›Ûv=ÿ' ¢êߴؽcvqö6Œì…¶eÕØ…ó¿½€š¶,ø·9ÁNAØ<ÒVø@(qÓ‰ª#ßßèƒ è  ÐÅØ>–sRlù ÀŸJÌxöÏmÿ¤$ª_A 8-ˆÛ6@ÿÿÿU ^Ëé‡ê{ÉxáÂ…>í…¾Ž>zÁäŸ×ÿ9Oéä1V°Áܺú`T¤׉%úuµ”Ôuý€þ»Fhù­¼úg¶óµŒæ½6¢°€œÀ[¶íõãýƒ%qXþXï‰Xãc«—Ë/w]»< üÿhl|8̇ßw¹\q÷š[Õ%D”=6dõD“<_qÜw(Ý‘/Mª¿h ô"åqÀé_:aººõ§­ª[êÖp'fÛö¬Ö? 1 Ї<@@ÿ­˜Aˆoq_m½nIx± €ót¯ólH>J¢[¡˜,:üÿU¨üškþ»°ßϪ?û »NDÙ“=Zëä(ÏþÑ&G‰ ѧ‰(D€„t““›÷Œ F´xÖÖ>ëïÿìK?_6B`tS¥n …ê þzÈï'þ3²ÝúeÐÙ¡O5G%mÄïóÕÛœTë×c7 ðù}_oïá9Rïo)8Üë;lñ—Y¦mùíú´Œ5@ÿèú$1³Ä ¢Qà¿ÕÝÿ¥ =Ós6@ÒÖ¶n/VП8rÿ“Xa¿‡€íâÞ2öØŸ‘WJof‹Ž$üÇÖ?²ôtTùŸ).>«ÉÎ>›­ÑÕfë~UK‡ÖÿºZÜÖ¡àÏø¶(ûÛÛŸkgÀA‚}^@k_“V ÿß4¦ñÖŸFDhðNýspr;¯"(8ü -þW3ü°|æã‹'~uþüùRîT\<Î-€2L2 ä@\ øÑÏ#Úè|QÑë¯Lÿy/>‚Ü´ÏÞÞ±ðÎ;;Þ|û+}bG‘ Äë€Jë |úãLþ!xuF/t€vÑÐÏ“à™ûP -ÖÅLÀ.L!4Ù ‡ì‹³o^ºñf÷l·ÝÞf¯)l³·-Öü¦f±¦ûHÖ''RŽtפÔì ̯I)d!àôR6CO!¨¹ºÅ@WôåBeÆ­æ>1˜Jþâó ÕÜ(ùÀ}ŸnMHŸ·åïù½M üc `‰•@_ÇÔßþóû„ìLàØqKâ˜å–ºcu-SPÿoÔ­ŠŸK]—ðkbà‡ÿÂÈMÀßèG*ìú »Äm%'@^ ÇJ¸Ö5X¢Øû3&ߣ´Z+öX]««+¹¼úQWêG©ðÿIÀ®1:#xlÜEŸC¾bð ܾÌ?)5i+®íyþÝçß=R;=“ÖC*ßÈ/ò_|Ñziþ‚—üââ¿5=¨:¤«ÿêtÑëomýþV%í`ÿÄ|ï-Dùý³Ú0)ÿ±ÓÀ¿0ùQ«o +½]†:£°—;"°ÿÁ¾PôøÅPv¿Þ‹ ñãKóiaþkhAóG?*G¼±ÓÞ&oDŽÐ‹Ôä^r»š–´“Ú¥¥Îÿ–³Ö/M.  ¤ê}•T]1 €£ÀZ¿5Úažfs 4~hé‘P©Ô§ OÀ,E=¿eÄo „{õ~ß¼/Ì]øùFü¡zÅg¡·CôÕ׵Þiǹiüئ=’vzˆ }-t7=ÔÁß2oyì“}MqÈÙj«ƒ‰ÀÍ¥'BúµQÔÿee¯ i~>¯(£(9€y½„úy:Bxa¨[¬C xÝtÈÿ08›­;Kï? ÀÙݵÝîZ3ØèÛXø6†àX@ -“ €ˆÀ®âøÀ ÌpA¡þKf+ º¤iD, R4¸ðñŒ&`üü¯+*@Êž§úŸ é;+ []øë'ŠþÏç½Þ¸þg.xèže ÀŽ7¿ZVÒ³Tÿc!ƒÿ†„ð«zE hJ4¸èŸy•÷D#`FÐ?Îây˜A `§ÿŒPÿµÙ³ï½yãí,xØ»ÛÄQɈ®:‘Õͳî¶)m¼€=€¶B6<ˆ:²ªR0ع…︅§ÿuØù¯Žch¦Žu­Lj¹?ýŸJ$´°î f?[N«7B¸ÿÊDA#ƒqÉhå@½Luä·L‰ âÇ*„³$'+@Á’úXøß2¼Q’ÄÜ, Mš.öìÚú`ƒãî¢Äß­Óõò©èt#ÿ1úGY(¡%Õj=_yÁå{@´/ ZëRãñºø8ñ€ÕÔøøØ|ä¦K|<õ[©«IO½M®·I’ì— ò÷ì9p ¢Âá•|ê`@MXO¨„€¿Ÿ¶²þÿ‹ÖôÀ¼ðùK¿rª¿ÖVx¹rÅ«@¸Ín?ÿ2üKÈæ&Œþ ° -2È“Zt¬ý Bü}'A¸!dÆ€Ÿ£fTý»`øÇ6Á] -@ȯ$£Íÿ䟔î?Ozb²WŠÄ"Þ›&‰D"Þ&£[j‚ì©©`€ß½vom@úG7´÷>ûªŽú - øÜ«ï0ø›Íù¡z§­"?a§m$ß3öËÙsŸÅà LÏÓÃìô«ˆø -Þ-óùüÇ}>[Ï©(æþf[Ù^31>÷ú´Ç»>9•Œð.š$ü'^cüÿÖ°üëãªù{‰€´e#ýÃ{Vã ÷¬ÚSù¶sþ2K'å•åeé”á?Ðmt¼"@W|¶xâ,$šba³C˜ŸÁe¿òÚ -Lèÿ\ò7ŸË~ó¬2Ðd¶ä6?j _‰‚¾»™ü>á$^Qüc2P½¹  >8³|f[ý¿*-}«ìxÅ\ŧ¿>Î*À·˜ÐL ÆPSÌáËTWþ¨ò‡g–ÑÔxá…WzÖ?ÜØ&#vhÞþŠ¿˜ûžÝ÷½£Ï>»m|ÖôÙ³K€öª?\P0ò·Ï àLCÂ`&…éƒ Kzû«g}Ì#â[æG#Î[³³7 ýÿH£,û,Ïø–S’v]òäïõ5z<ë’ÖC?+oÔc–ð)¤(¾'·Ûýæ…ÏùØïÿpu«K °‘“Ó¿ñ$Ú×Fm´#ß¶øoÙóª™ØK§ì à2tô<@Õ?¡É>ËõLkÉ:®Mmính¸ @<à¹Úäo?WûíÚäçĆ &-™7!Æ¿Üìçœÿ4™ÓØ -ù½ˆÊäYÀfª Ü€5gT‹+ªë?þ[€¥o½uñTTTäÿõóÜ€`©ð1Ʊ\œ}¦º²ò‡?ªÎ,.*:¿ÿÞiퟹàQ û5,¼ùU'÷ýöÙbl Ü0“ûÉ÷yô%Öñ™ôU&¥ÀíýWÙ -xˆ'Š7ì‰Ìþ;>fhÈ®¯Ò›Þ@݃¶¶Ù×fŸÞ1½cÇŽK—fÑh³ÛkjjÚì5tÉÒÛímYÝv“©p‘¿;«Ð^X“‹€Â”5mˆøŸ’Bw¦üí‘-2Hýú8™[fØO?6Î#…ôaÔUu¥ Àtà¾9uÀÿm àˆ`!„ dÉzU€˜²tLµôñöN¢@‹«° -–Ì9%܉Kë]?B€úÿ®B¬àÒ)töÍfóéi›Ù»Ž«ÛjŽYä(Âë茵åÚº¸upîÀµËcqW<¾z™hÀ0ÕþüÃÃcc$º:æ‚0ny%³3 k'ÝŽ=«%q—Q;é‘ý¶+éœôÅ?UF<êCTðÿ´uþ÷þ‘ªÿpòïôöÏÏ;Al¡û¾ÁAÔÿ1`>/üwŠ Î @Û ìü ÁÄ•24‡B²,€ÁÄû o‡`}°^ ü¥/7ÿÑò?Í7#˜öG<^¯wi`©©ÉÝ$ýÂ'''=“ýkpÿíßq¸OöéÿÙZ?,œš¢ÓTç×Ï;Î@pþ_‚ÏÈ¿\ïtʶË áØtĶ׆ֿ³~$ç³…ˆ8}¶ˆ'"[²ÍQàë D%úéNû}ó²yÚ;-Ÿóx=°–¬Ö&úö¬l<”ø;¸§Øæ¥?’äàW´Ö$1°”Y $°Ô§sFÆî<]o»ds ;{¢X§+Ö¡ögÀSu$'3üìÿ -Àµ‚´×~;ù›"'ø9æíÉ:¨yBEðAøÄ¿ÿ>&™¢ôo‡6€çÄ -ðÏlWB5š-„ðÌ2ð_'Â+òçò+./cPPz¾4ã|zìýÓñAu5ü—uy/ìß߸.­m€‡‹‹³DÞÜñöWý›¾†X€\bG Ä¿÷ýïÌ4°‚OO0>„¼Ÿ!¢ìð*KPÝÏ4ˆ…Àv`vð¶bdÒÛE<®é¿¸=ûtãÂô¹ÆéK;nC@poO¼,šè³eµÕègÚjì˜ ´¥Ô´µ™\X˜u¤Æ„`€,àðà”ÿžµsK KLÖòq*0ôè]Xì– ôS¬OY-ǰ - \§x ÐuoÛàÁZ|°9Œþ/Ôý 6ÙGgþTñw Àay³ñ‚ @ËøFɨúº7 6Øâñ¹›íå¬Ò Žs,ÿ#2`­ó9Û´¿;*ïÍóù×µƒnk~…5nœ+,1ׯÕúëPüÓe ÿÔ±1L†Ç˜¤BHCšôû§çêCj­Ñ=w`5îºkœ$ÀrRÅÿÅ!•JÉûóWø• ?þηR©ÓÑ ü²BÔÎy‚nÖÿß²ÅÔÿ‹Õ­êg*p+¦þØúGrn'úhøG½1âä›ÑÞ…š!þ'ì—忨i¶ýßdøWt¡êõ3òí½ÌÐ#žHì´Ü‘{<žIÉëŒ"ˆ9¿0&^0Ðß$5!kccãÉÓß úÝQxæçW8ü#6›A}ÈIo‡Ua¿þ…@ Ù¡eù:¨îwøÂ°cŒx<1§Ïg“D 1ˆX|ν6¸4:ȲM›%à¿-ãÀCä ¿÷åù?žà–¬[$À“an¬Øe–²2 oäé2J322Jóè*¯¨k,d ÖçŠy÷™¿0¨Õé2tµÉgk38hwm;n%'»ö¹öo PR°Õ—F7ç3EÛ?±¸Í”û¹5@ïÁ+'±*0íL;€á„ÀÿdÀ¿šàŸ^x [D*~ý|4¥»ÏÓ÷ÓÂâÐ,/£ ).*}½~zýÏ| ð‘"@SÕ…wvìxó üBb à{¹úŸ|G¨E&p#Fóª¡<D80ügÄZS·1àQöCh`ÀnºqcÇú; çžZ@€ -}*ýM8ìöš6½¾¦»0«fÆÔÖVScjëNt°-i…'NØE à„ÈûÆ×ÔþúlmÍmÕj ¥µ§æ[ðÐ_ƒ6§ºUtÖ[|õrÄfANR8/öÕ;ü6KÀ7â‰z"¹ÞRokô×û|=ÓQºr@›Çã1;,G¾íÄX`ôx=±šµ‡í/ôfö=N¶  9.«ôGàÿšÐ<€@G¾ào)Û_J°¯B€ŒTcj0!0Xßp›à¿ª­íD!ñ} -‚Ú²ŽÔÔ*C€NÊʺš²E0UÒ""è§Z”@ ¯ -€Ü:Öð–:§ˆP% °áö%kÛ>€ ¸ï|/Ñ/<°²Àß°Ø^€SSJÀTÂ_YDð¢«¯Ž­€»¦ˆúhlñO"¬å•Â_˧A+A»qpݪ]Á^@c#î7º£N³V«õäËùÇ+K´ÈñA` -ÿ±Ëq:ÆÆ†é&›ÿ #ˆ.°ƒ-Ð]£ÛhUùòkó½x÷ÚkD/T­*gð„ü´ªò[¿Þ¿° -p*ð!>qëÿJÝ™®8ƒØý¿€g”¬Åû'ý£æÆ~§úAvü9¿?†:¢^ý1ô7ìê ɶÑïõ‡¨ªÇ" 1PLþó+>t—¡Å~Œ^G#²ìõÆNNèk½Q¯ì‰z=¸éL6-IhH¼Ðàžœ¤Úyri€å5¥ð5=™>[0Þ¥‹Q:evÌ;jµÓï¼¥¿ -9ü#ÛˆsoÈo¡j?˜o´ù_D;)ËÓ¡z§ßïËóû lÓ,ø -ü²Ç#—Õ[ül°ØÌÑITì^­–ƒ‹VD.õ=îé®d¥?‚(qÀO¦àÖzçÌ6G=êKÊLÎÏgБ¡ã=ºdÎýÚÂÐì³l¬C…5ö’uÉÙºÚZ Ì€¿‰ ~ísµTüoډȠöƒQâcã?­Ø^?øt•TïTt•î pDàÁLl$·ŸÑˆmMBP-FËD&~®;/:shüš[œÏ€àEúÚ'^ä@¦æƒåêý°zÀ#ý¹KEªL7¦w\º”ò$>Íï ü÷}oß³'ì¿Í¹3);íR¦!}"$pFÉj˜©bèoZ@ý'tkÆÞ€©A[ìÐØw<}neepåÎúôÂk‹p^ùÁú*»]_Õ á`wCnw›©ÆTcOɪ1U5˜²R -ÛÚjR²ô›2€””¬ŸH¹Jàñ{JâoôüŠùÿ±¤œc —Ÿ)¥ÀÀ”„²š€$œáYÓ2ü7.¹xoûü«xïžÀöä(ã… f@8ÀT_ø“ޱïÎ@{À]Ë0€)x *Ö5€- ܼáoµ®GW¬Z‰AŸŽSZë: -ë4wŒ¸–°æÈÏß“¤½¶§.ãå×°kuv?©u.Ìý‡þs Àðpjj|œî‹[­Ó*U¯ì ¨+ì÷X=p`/¬ø^£¢âÞçÄ`ºª @ªt•ŠÞú‚½¾PÆþa•:=èÜtû¥×g”›œt‹·üAb£·‚"Éÿê]†à31ññÄÄÏÏÿª´´ì"Áþ\Åñ²_—•r ´¨(×þ‹–‰|P]Yý£ê‰—ë§£ö€Gvª^[ØñôާŸÌßõgSÀ}¹ ¯Òeæ{¿ûþwì CU¨ÕíCø-€†ª!¡ý›áXÁèž·g~7“kš±ëcêÆ _´/\ºsj-€é…ÙÅ!ÓbÍ"¿cˆ›¹)¹¬h8ú†©cÂîB½©ÊdÏʪ©©É:a2]…)«®¦œ(Ì*DHàc[ÿÚ’hò—ðF{ÿ»Žc2°iÔ—°:Ö"vÖ¦X߀¾¾ È^»·±-¼ß¸'²€9(GŒŒ%Jè¥ïÂqFa¤8¥p0^­ì!ÌuœìÚh?X±5]¶8è¿ËÀt¬ÀôR+ÝŠ®{µF£[ý¯Õ(™=ZV”ÄK´s{®•Ï%•[ãq«Ë•3üÑG]î8¼\ño»†‡y€(@<õ£±a¤Æ­²Ê‰J“–€l–¬ù{®­®¾Tð®Ógq®¤|!¿Ï9¯nýâÿnMO¿¿(rùæ¡Ö`- jU§Ï«U·ÔJîÝ3­°þS ÔÁëâ^ÎóeÛßNk°’#rl—¢ìçñ?ß<Úáí8-¬~¸î7¼K¸ýñ]2|,†Œ?¹‡à_ŽÅzF#£ ‘ˆ§Ã‰jqÃ;©õN"2gÀÝ4ЄFÄnÄÜýniM¬À}Ïý ž"ÝÅS«-wÌ#08âðË!Vé{uò;1j |íè Îúy‹ÏI´  >"ÛÊü²,ïµø,õ#›Ç&{Fœ~‡Íl¶™›Ðµ‡!ÐÃ-Œ2|[ép8´ÛºE a¼iøU€[{ - -€½X€ ¯t7RKwëJ v÷ê2ò22j“ÑÿÏðÏEý¯11²³³©üç}@¨øÛ“k¿©ƒ@m-l}Ù&gÉ0÷¾¿.ìÿŸ†7+߯dدúzÿû™ÕiœŒ<Á4¨Ï´ `ûý-€j¡œøøã Ýywòçòç.^„°¬´ŒóJ‹„cB\-P]ýÁ2€u÷gÛàá àµ= ;n<©?îÏB€Wªãî›ýý÷73ÄðoRâѨj7ØÅÞÔ€¯ê•À™\ûÛ8ëgL3YvûLÃÐÐ&ûâÂÓë§VÊ?½sgaáÆíEû" ‚‰PTqbðÑ™SƒýDÖLîLÞd×vgÙM„ý…)Ymmج),d€-€#YW‘%|äÄ:-,t€0SSÇä; €G¤ -iZßf8€°àí4úÇ8 g»ð)€èÜ#€{`Æ }`œÜ×7UÒ×K`vR˜ö¿SBû7Õk&3¸rêV™g)5½‹@±ÿG/ƒVëºV»¢åÄùSѨ5:=b™æe¯K0»­Z³5N__ù=僃Ï¿T^B˜Ÿ3¾z9u55u,îëDÆ].Tÿ©|ïØx|P²X&Ýn)êwš›ŒÖ¹k×V»öŒ9Õ*•Z8~Ü‚úÿPk8]­$(uâP[F~éÄ> áôÂ?xKhþY€ìþû_ˆÜê¼®6Ø73È¶ŽŽ|9˜XýƒìÒ~BÇ]„ææŽoöAÛìbôz íeôÿO7ÇNŸ¦;d™ê~*ù“Ôã¡Y+y<^‚Hg’ªä7¯°PZ²JÄxûeãæ×Ê~!$Á.~^’£u°Þï|áTTvZü{m§ÊYïôùêc¡žÉ5„}{ë}ÎÇã‘Íži›_Žzd‡ÏâóïuHžúzç|£,ŸË@@ Š0£‡v|ŸÜ£{«K -Ht¾XÓjÍæ‹Ž½eÆÿ¼<¤•f”êXXº»4cw©.C—QTTT ßôÿ9ˆÅÙè ¨­Õi¸âÏ`ÿ  g“5µíµšö³Š -º–TcÛp_Y‰9Àû•ï³!@5ÝIU¦¸ñ¦@;Sæï5J`9q^þx™ @€²Š9:¿.++}žÞ,-ØŸ§£/†yðœ2Ï|@à©éÉïm€‡>;íö×v¼·cáÉ}.0€},üí¾7w~Çø°óå%€Ä€ÇBê§oÀ -"‚ì¹D†²fXhŸy»HA•ÞÞ6„~÷Â¥;+++ç¦Ï5.ÜxúµÅÙîîY»^/v L¹³…¹¦™†¶š¶Ó'Dªì5…5|deÕ´µa ÐV(Z)YWé…ˆÁ‘­€¾1tæÂÐCe¾ëØ1Åø¿eÓ8‰sê’x‚(`ë@Äàvàææ -ÀƆbØ€#VJ¸ PRÒW‚LÀ¾>%pYЯ>¥Õ_ ` |ÿÐHÂúvq ÐÖ¶a' à}ep…%iõ§´Òú^Ùì¯j£Þ¨åœ ‰(€ã¸dtÝ-)ß37XR2X^žtÿË«ÃñqqP­?6æNå,Àø^—k|8î¶9=’4=ßã ÷¸ÝÚ¤«u—÷XÂjHÿµÏfžWq±€€£~8 ÿ‡ZÕTºÞb&À.€AÖýµŠÊ_tDýt\º¥?Ì1ü‡$P–$s~‡7Æ‚¨þ›C![H57+…?áÿ¨y”7ýXú‡ýÿby -Õ÷b€îŽõÀ8J,@À?I`Ië‰x¥Io“›~„Tñ ¸û–pGSӤ䖖Öa>_ë³ -ë¤w­æSÚAmÔþ+ä#t†c’ÇpŽ8-yWÀIT B€o³ºµNµO¶5ÆÌR4*Oö˲gÝcóù,~‡'x!´·'?b¶Mzlf( n„à¡€ß/wJ¬[ìl¬ÝŸ|eàÞô(³ä!ÊÂÿŒŒÝt…Ûtä%gdgQ­?A€ªèÚlHÆÑ€d0Ôþ·C P+rÚ“k5Ég©î?K/,Èf™ŠÈ/ 0_Í À\þÓïªäh€JtÿñAšvìÀXsa€̓q€Øü¸x¢è¼®´ô­ãçæòç*ÊÊØ ¸€x@i[a°ÌQF8///¿H@rßÜ&=ô3¹;žÐà -0ô“›·rÀ ð€*½)±`YA PêèSáßÐ%öÜ#Ý3pà}?SÛk;.­ó qÇÂÓ—^zmq1evˆþûŒ©…,ú_sÔÔ´™jÚ€x šÂ”Bf‚ÐõÕ¬¬Â#'RÈ(κ4%„– ý¤+þÊâ·„›±-À1±Ð×·¹°}–ÊK€ßŽÇãÄRÇ;,>[¨1Po¸ÒêŒF+®][½œtüÝ‘s6•jÄïóÃáVŽø=¤ -ðJ€ÂÏÉqß1#ÏÑêp@±:ÍÚȼÓRµÙ‡Œ ídDö¸Ý’ßç¤ï¦yÝ#÷LG£“ë²­¾Y®·Œø§=žP^³ÙC¤Æƒˆ@-;D›0xhàq3€›bzÚmµjïw­mv\_‰¬IÚSùùp&@Å2Êÿ^1úG {7Ö馮7[—YT\|¶Z££ê_¬ÕC Ž5~ÜÝMr{Zmm{;Uþg±  áβL ý¹î¯ÿLtÿ©øÏLSîàkî$B8 ˆ¨áœXÀ ¼%:/((-+ÛÏ{/ÀÓ°X€D`yù/_júÛàáïÊÍ=úô¹…7Ÿ0@8ÀÍ_èæ²—¯žÍ|†ôv{ÕfÀdÒ? )€i&—nݾþï3° 2éØá”ÛVc_´ë³ßÜ1}‡Àú¹sï\ÚñÝ¡¡Å¡îEýÐŒÈ Ì5Ý6ÕèRjjôopp°½¦»°¦ €¯² -‰$dˆ(¼Ê·÷½PÉ=è¶VŒ\\Þ+ù?8%fI°@&ð±Í4@À½í-ÀZ¢À{€9÷Ö00ÖAPÂ|«¯›"~Q<î¢ï/Œ.Ô@/ ô%쀶ÔølÍ}×xLàüëõïô),“iã%Ò´-5ËTFeÛºì0{ó+öTÌ•kç’Kçöh­®xjêØê*á}|Œíÿ]ÃÈNe€ñÕT8 kl¸<:B•§3`£’ÔðU¬v]^=^v|´É1‡ÂAõ‡˜$ܾàÜŸÍët¸ð;žA |Ë2ˆÅ¿gEà? ü¿Ž~ÿ°Ø©¾ûánsߟ`Ï+Ãà¿19j¦ú?fØž¡9&w ÊWÊ¥¾Àÿ@ò4î‘G½Þ¨g´‡*åˆÇ+äKýKQ-áT¢{¤û©úw7Á+óèÿ¸—¤þ¦Iã½Dàë~öo䬭˜ÚÄÁ ¯”½²C&pw:lþ¿e>Q¿Õ-y,Tëל~‹Ï ¯kµÞKÀâ·8ëÍ“Q9ÏIg¯Çã5GÖµ<ÿÍ -ðaà±k" ˜ @¿k‹ßk­?Ñè7~%`sÇ9‡/ðK¥<È(ÍÛ]º;Cç*@.¯T—]L :¡™@г‹s€ääŒlÑ@ïëþµˆô©¥wÔjýÏb -pn~É(ä“Ó„P ~Z5Îø™™B -(úÌ Ò  l°°¬l¶>`üŸ˜@ è|iéÅ -tò/^|«¬$ l?»é^ã‚úVˆ½ürã¶ðQàèÑܧ.=uãÉ~¾g÷éõûö½±oß«z´÷MCC\ûcŸÈT•ˆJl* ¼ ¿m¢úÿÊþ³WÙ(kÈdï&ðö;ëçÖïܹӸ°°cáéï¾¶8ôZ÷ý\ALzÂýOÚ²ì¹&d˜ì55vѨA €Sb’uõjÛÕ”'·Ð%†ÐSS¸P§¬ˆê€å?nTÐ-äÙ´¤¡°mü‡#a°!ft…¼¸ã…ºD÷¿®Otø®TJŒa긯BïO†°¥¥ ÂL|øÔ–ð£Æ?î8Zû„ÿÆ»w­ÚF3”þØ'_)€»ì´–³m]òÛU:*:qkÅÜà êÆSSWÇÇSÇãhõ»†s\¤b¨@jêGX&°‘÷æÃ6Y5âpªž_íêZ=^‘/ãýaÅ÷_xü¥«6Kþ/Z[ `+¡‡ýœósËà7ˆÿNõ?«6ƒ×Õ×AÀ ûïD"P'þ^sÈ ØÆl°ÿÁ`Ý• ô£÷5‹ò?¶Iøn± ÿ=¬x¼ZÉ=éÁä?B¥²g²É¸Ö?0@LŠn 4-}H„Q:ýkŠ Î×ÿì'¬¼·Æãn«v¯ÓT‡õ6Õü~‹_¶9ýCÔM‡Öã ûdŸJÕN÷ÊѨ´N‚” ›wÝšo6Sé…7:ôtð˜£Ò#:‡?Æ H!@D\F×V ý:¬1è_2¿Ò&Àæü½Ž²½„”ËîR Ã?×ÿy»32D ##¹Xä裕Ž(` ñl ¼Ž Õ¿&9›ð?-n€ðýþ¯ý,¯"ÒOÓ~64ÍþJ ZõûD„ÿýJîÿú5Äè]<+8üG„q$ßGÿåj¦P|eöÍ¿0ÝØ¸°cÇ{ß}oqvqhH?naÏ…×@n®^_³hÊÕ3øÛÿq!ÐVC K jL5W ‘øXÐÅZÿ¤M¡_ÒÔɘýõ)@ üXPR€)Vpr=ϯ¡Xs‰8møß¸yß@ÉÄžx: °DI^fТ˜)NMMÝçb €®]9]'¡üŸüTÿ[Ýq7,€8í×hEv,¬Pº‘ückÔºK¬Ò^Y´™µÖí\y‰Ñh›+ŸKÚ3ˆåÿÔËãpþé?.á4†áÿåÔ1âVo\æñØœ²Ãòîµñ’ñ‡óóÙè$?Ôz%ðKb_ü技B¾à•uº:Ëù“ˆðÔZ£ŸÄÝÁèŠv0Ÿ1g8è÷;ÍŽP½?"¦='R÷úlžÀÁoÀçðD=ž¹ÙâóÛzœõ=²P’Äû¸òŒÚ:ˆ'>t  ÷Û½!7k€®­úuXÛ#€µ¯B8À ü PAiÃFÁ?·p' C× P\ÌIÅÙXêšlMvmvrqrr&„€¨þ¹\çm@.þ5ŸÌ$ ë•D*«¹ô§s%ðŸ‡(þ¹ñŸ2@¤ :³ºRÈÓðÿe² Fá›;€l´üñÇËÀÿŒóç Ð85WgƒÒR´,ØÌ+Ò½XÄ=€Ìe Q€¢¿,zùõÆ…õ·ÿêªÕ­vßÑ™¯ásþ GÂû™†ïÁÔö¼v LU"(p¨¡¡A¡&¦33;Ñ3€2ð¯AfvÞÖ·ÙM³·ß¼ùÙ;wNÝY™>·0íYøñwß»ñÚ{³‹‹3XhпAš…Ûô)ªèÂG ¬x -ÐVSˆÀýÀÕš*Ó‰”Ÿm•$6üƒä ÷Z6C€Ž±PR"€«VÛ.,n€|€¨@\C+ {\%¼Àð_Âóþ:Ñfáô?<š]xlûîûät &Œê@¸ºK>ï¿+rä”%ý“ÌëZ áV·Ö<êÏ,Ã'0 - $W'Ø¿k­ØsyP[1wå¸<>&šôWf€ØûGG€Û,¬Ë_Q©[@¥ûÞݳxþÝ@zXÕ·ªÒ#óê€ZMÏ'1HW$€êtt0¨÷;çy¨¯âœ¿V¬ˆºŸ=€ñ¯3`Áÿ-÷5„bë!Ôú†Û»Xèwš%þ²PÈþäªýæX¢ùÏ`”•€£ô®6û—#^¯ÇCÀËd iÀˆ”<:¯Ñ+ÝìçV?zæý“Ò•±÷ €¯ý`ãó5×]ë -]¤²@8è;îwªUÎùzç<ƒ}4 «Õ‡·‡à?~Ð¥§ÑoñõZ*gŒ~ü¨ýé/­ã›•¦mÓÜXûÏ¿ü Ÿïð#U€ #d€œ­Œý›6®/OîYéyÍ+eeþ²çó - -JK¹ÀÔa åÿîÂ~(ÕéŠà¦£C? :ÀdŒàW`–øSùÏÁ=Ø÷ô³êï ¦ Åí˜ågjÛé¨þ!ùDÒ„"@4ø.M5p:»@nþk8# ª ôÿxb@w¾´àâ¦𕲂W,,ÈÛŸ— +€ìåìe,.M½üÔSžol/<¦@PýuünæîM€£ G?ù¬ð{ C¨ÉÀV Pß$•ÎÌý™†Üî¿FóÀ4óýnÓ¢Ýôö§oÞ\8uçœië Oýøé§¿;ûÝEûÌ ¯à_²ØÐ¤ÄðÙÄZ° M¨hz#ëÄ‘;ÿXЧ„Ïtµ° ÍÔÔIVŸÿá¡Õƒ P’P°`í~À6þ+@ îC˜#ÖÙ ðßø[€‰°1ØŒ^À¤+ þÑðc/4ýÃz×í¾Kø¿®µÞuóšÿzT®¯Ÿö®Û÷šµÑzìFý{e-t‚V£HP^¾’TAм¼|.éZÉý!¿Ìt¤¦¢÷ÏR6ŽÇéû­8Tª°SõL«Êç©8~`µkuÏñãaU0à ´^i¥³š`Hÿ_´€ªÖ/T¢ú?$Zê ]uÖc¢Í@DüÏ"ÿO}G ÜfÀNNbG Cp—¢éoŽñú?œáü  ™µþÀ*ò í=rÄ p4"+*@ذ>JÀò¼^9*¤H’ç’Û¤×úð¹! 48@é|žó™Ð}ü z®µxÜj]ÑJr8ìôû;‘žä¤[¶½#/¼@XñxüÕá@ 7Ý7b™GR ßçëW«z›=„ÿÄññŒ®Ó7j“'‰ÏêXàËóíÞÂ`Ñ[•ó¡!–Ø4º¾ü Û(iOuäç_äÀ2KAYAFAð?OÙþ+ÈPŽÞÒ<;òþ?氬Šö|œ‰7볟cÑ?Lj…ø‹šdló´g¶WWC @àýjôÿ39ý/“ïa LŒ *5"ÙÀØ#ØÄzeð¯+g ˜(*šÀ`þÜœy.ŸU ûË,ÿ@gKé~¸e¿8ñÿ²f¹èÅ—_ÞߨøÎ¶ð1€¯å·qd`ýÜÜ} bý†”?ºpV°¾A$Ùk`ýL -,ô Gw~?—>`Èô}ÍoL³oÞÞq󿥕;çVΛ^XŸ¾ôÔ¥Kï}wöµ¡™ÜìB9¸XÃM»BìÿMJ °°Uèàtµ!7åg;wî|,ਙdÎuu1P:‰ ‘PÃ'ºôŽŽ%õ%†]è+¡_`ÎÜf77› -€ö`'î\(éS¶XûÏû—S w%N„¬«@Wb 0I4’/hÀZ- Ðj-f‰h€ÍµY¦éŽzÙk† {çkµƒƒÖ¹=Isƒôöž=%DZâì4쎧¦" `lì¾ ø?~`O@í ´ªüæImGÅêêGö\;®F¶l€ñzbÁ°ª•*ÒÄîÿý À¿SÀü†tuP‘þŒ73ÐîçÌ?º/xȼ®î¼u†ÑÑXÈйk7ÿ‰˜Ñ n€¥ÏZøuh#bè/ê~¦r„)ÖÿéUî¡úï¤7Ê‹ñÆÉë™DP^ÿ€‘*dºéLÐ è§»Ÿ“„ à󯟀SB ¸B?ÚpÀ?b¡<ë§Åï' ˆøC~§Jíóz{Äý¥éª^ŸÅ¿{¾LuÐÙƒègÔÿÚhÔLßm”^&%¶~Èï¯ÅWê³Ô?šð€àm«€~î°~1¾ìãÑoe M( -,ðÆýb½ ýµèìÆd@”ý¬`2€ —å`µHâL #™ ~tì©øo?ƒ@»Xå‡å_&A>€JÑáÏsîú§q80š -d¢  Á -`&ÿßíü)ÄC€êÌêÄà_Bp~À‹häW\ä @b–°Xöï‡Pá?Ï–—'–‹~þÔSïlKMn¦÷}M¿›}öÙïíËŤ?ë…bp½y^ VÀÿ%P[¹ï)¿CàõïÌtwÛw<}é7o6®# àÓééõ…s—/ýøÇïݰÏ= -aÏ¥ÿ¤P™2°]‹  e#̲”]À¬š}¦´ó»ºúêêºêø ªô¤«åØTË€¼p,©…€Å*«§ÆJØèÞÆ¶ðþ àÞQ@þ#š×XrÁÈå¿pÀŸýMõM³:C€Ü?l$Õµ( -Àc0 |Üà³~·õR…G ,ÌÎiïôô´Í6# °ÞÅø—p@š~þ¥9í µ¯b.iN[R·V”C0ˆ¸¿8«ÿàr}k| ¶hýÓÍááÔTìÏ;Fœ­a›4é­`p-É¡FÎ_µ½Š ýC­`@ÕzE%ö¾`J ŒÔA6ýóÛn©Ùú,àV¨3±ýÇc57ûƒ×ùw®Øú3ðèŸê|¼Õ!Ë…„ùÿÍìú+OŽÆ¸c9@¢þ—#D0è¡›FéÁóz€ñú[%o$*¡õ¿6À@¬ã@“‘ÞIxÙßo%àJ<õ76þ4i˜¶­q÷]s8Ïi¡â_abQ–›SäÍ[œ•êJxdÄçó…UWˆ¨z?½©RYäÐtÔ³Ž–øy€U@#ñ˜‡üÜk±Xüeü’îÝ\{€®­óýèòÀõðÍ*òšó˜•SùO—¼‚ÒÝ¥¾ÝyŠÿ"ÿߑݫC÷?øŸQ„ê¿8[—Ip +`”þ€ä̃˜ûg¦‰a@f».¹½ö,»!)ú½j|!u%!<ð_S)ÖéµRƒD  ¼Ó2Ù6³x 4g4b°ZØaÀ€óûËÊ.æþççCh±”½b)³”íÇ`^Ë‹_Ä&À‹ùòëO5NKnÿÝ}Ø@¡þµ=DhÌZÀ_ü¤;+vc¦pògªô•A±„nÑhûo¨ëíú;õm…‹?»´ãæÍß7BxŽ8€ôéÂë禟zúéßý‹¡Ü*ýDèŸu³'ªˆ˜X Cà6¬d•rµáèÕ#'N<ŽôÕ=ptÕuµtD빫ï&" -@lÿ'q ÕÿSuê–JŒpõÚØ¶x þßÜÌŠÀµî` À,"…1ÑðK‰ì%~"]ŠM£ò2õ˜‰(Õ¤’y’WýÖ™DW¤A·5jñŸ“=ýEU²Q%Ô‹Z%DZK¤•ríVkÉܵÔñ±ÕºáËü!ð×5>æ‚ -™þh -¤Ž»Æ?:ˆ ;æÕ|Ç1rà£Vç’’ yØæù~˜Pÿ -L}þc ÀŒ =lå @¸þ´"ßî–ýñ)dHxÿtvò €Ï7; + 104‚Œõ2 Ýl6Ëì ³÷¯ªÿRîË^™÷ÿGéV„= þÇ4@F°§Ã3*{ÿÓø±nð6à]cÀì´ôX;évŽÈN\ùF|j•J¥vú,¾€êÊ•ôÞÀáÞ@ |8pXÕš®·ÄzÌLµ,” åoê!¿¿{ý–‘½–Gs’{" ȸå5@c¿˜¬±8öK -”|*?ßæPbð0»•þ?^{ ü‰dë2zuɽdèÿ3 ý+NÖÕê4µºl]mröÙìlèý''#¹7Y¬¶‹q@»0r§¡ù¦2óLf%ÕjüÿOufbÜŸ‰é?òªÓ0G&3 ->4g“€¦š.Üÿ_þ¸yÀ ìbÒ)" 6Tû—Y^¡‹e?‹²'^,f ¶@Ö·%éܼ¹ïkìNcðètJùýφ€öCUö¶6ªÊQª+3€!{º¢ð6×ÿúÜÿ˜«·Ûíú_ܶwwßxgGÏïoÞK”þ²õ{"Üôļ£2÷ÿc(ü= Þvÿeôz"4@(ÏöÿÞ¨äõ¸ûõûï%û÷ðø!`ô¬´r6>ÿÓ<Å ›‹ßµjÍg§Ó8}þyµ:v:a0²M =à½Î‘–¨z¯ôú|½½ó²9T__ß#D?OD gíayÀò9½åÑ GäA°ÅÀZÿ}÷—E0£U*v`ÈJeì”î.-%ÌÇ€(Àn¦yºŒÝTå#ö—ñ¿X“]«ÓÕfk²³“©ü¯Å@€ÞT?’ù«InÏygéê,䀂¤UŸI;S­I;£©¬¬Î¬ÆðŸ^*yÁ€öW‚ /P-„iðÎÈØM}!0Pd™gªÏhØ ¸øãåâ èúÎ 0—?w[¯0þ—ÿ‘DðâÂ? ðò‹¯?5ýÎvðc À׉LŸìkØ÷l fü3ú™}VJ¯èp<€ÈŽ€ oψ À_§Ì˜ì¿±·ýµ©m¶{aÇBãÍ›¿Ÿ^ùÔºrîÜúôÊÊúÏÏ{åÇ—ž¾1ôÝWí"à\ÐbUzqŸ¾¡ -“º\å@aV‰—éÅÔðFnUÕÍÇ2€ˆÓ…ð¿ëäpüä›Ê @q`ôoÙ\Xã$€5ÞØfÊ# L0`›´hrD€:žÔñ" œû€HýåD`tmtHx/à}Ç×è¿+­Kbßê?sãÞSü7~ÊkÔìFéï¾wÚ+Áç–J¿rGyùÜžãååV«ˆš»¶:ëJ½ç?!þ@0Ý‘šÊ΀99ñA³Ù¯jÒ«©=~à£ÕÕÏû|¾€úЕ€Å¦>tH®N†B¦ÖC˜þÁ‚êC**÷[©îç±îkµÁ2y€vÿul’³€€Ÿ.ˆb¢èêƒä¢ö5ìém³¹Cžˆúõ0`×_Ö&¼OÓmÂüQ*þ©Ú‡$ ÉðúCÞѧI¯d„ôoÁÎÜàÚŸoA¨äoäÜû“1€×]÷ŠÙVÓ%4âðûÔjb¶ ~8 JÇÄEÕÚèU]¡]ÑcNøýÓÛH½Ÿ €pŠ&¦3iýÐÍyžùtÀÿÇt„ûÕÖýÆ~÷/ÝK_º°f•¢§ÌlàPàßWº›^0î‡Sÿ^Ê ê9#YÀà|qrm6Õÿ0ö¿t7ågÒp`;ýTó·³nï,óaLÄÑ¿g23« çψI€‚ÿ™ìÛ_^@‚j¤ ì.xþùçË^zéùç‰ðf¡Å¦’X ðñòDÑÏ‹ŠàÌ#€‹_)+ÛPÆîFED^^,F¦áú/.¿L`ýõmü øzß3€/Õÿ¹¹¦”#Yðê­Y¬±aZo‚-âD¯³8Wå^ÿ‰^o_üiç/ôY³¯5íXÿ€;ŸZÇ/â¼rêõswv¼wé½KñÚÌkРÏm°3ä3òçꫪ˜TU™j ¢…U@ú f.À?@ Ȏçö¤ËxR1JhöB €¹€¸âð*gFBmgn(†$æäP'€ºº¾ûR€eÎ_èÉØ\Þ¨«Ó—DæÑ €(íVÖµ¨ÿµë²mÚÅÒß4ÆýÑhÔL÷ZµXü'2àÙ²½-±–'Íí)·–XãÆ»ÐÔÅ] ŽÇ•È?LRáý›ãbGàÕĽÇΪMžéû®­v­~´çÝýalü9{‡T#Nõ¡Vu˜Ð¨U•Nø –ˆ ´²K@PŽ¡¿*lÝÜþÇuì_‚" xÃ; ±Z0 -¢ý›ÊþÛ" €þ8ËæŽ{ýÄ:<^YîˆÈPôpÜ!û(xVýåÓÊ -@,`Ä1s.XŒs÷»µ‚€<¢“Žðþ `ÈüWÀå¿ÂXöùùŸÈ ƒÕs%Vm£ïµJ]ï÷Ï;©ð‡3@+,_¨øaW¥÷öÒKïá¿{Nå³Ô¿KlÈæ¯—£°ˆ4ºÙ -prÝ-Fû &ø·Ì[IÄìkë¹>ôX²#ã—l¬¹µZªÿm”Á¨   áŒýEy½Ù¥ÙÙ½º<˜%gecÚŸ í?oþa&_«Aq_[œœhÖsÀ/úõ5Ü@ýÏ‹L€ú\ûgøc €(«1 €üO#ŒDø@-¡ÿîç_ziÏK{p¼D ¶Vs–>Žð?€æã‰âå‰â'^.JæçŸ»X¶·ì•²W -^)³ì/Ø_Zš­C Hx./¿üòëÓߨÎþ?Lnnp4/ææêßÞ™Ò½ˆq| ×å,ähÅX$äþìû¹öš¶ný/vÚoß¾ñáô:¨ÄSwNÝ?÷ésÚ••ÆswßÛqéÒk¯½fÿç¡“)×>ƒsî ¹3teöWa ü7Õˆ@Va"éh«"ð˜#RIœá¿D¡'‡]Ç’úZÄN`‹Òï§[ÇZIJ€!OëÃ8»Ä˜#:Û !üWf\ŠX@á˜ÃyÀœÈ¢%"„yŠg"°/û‹Gßµ-X1`BÐ5•ô˜ÀÚšÛý!€Öuó4€Ùl>uj]5Ÿ[‡PkJÄ à,ɳßï(8®5–¬”jµsæAã]£ÕŠIj]]<>¨g€Ôo@B¸-0<¶zf³6¯“'ýÇ“VW?ZÕ^{×ç3Ì«Z¯úŠo~ºÿVýZ¯œÎæð$‚êgDïûÏßR«;o‰eü¿bí¿Z´ÿH¥¿·Ù@7oÝ6ìêÜ…ù?dAðC(»ž\c ¹Y6ØSU;-bXî‡Üôz#è `þ/{F#=2àŸÇx›8OB'^€c#ÿºÜ¢úò‹%œ„ðOã ,„.ë Öæ ?vú0„\¨Ò±`Õ¡+tè ‡ÿÒ—®êmö¿[`˜öÈO…x 0ö¯}ö°J’пÀiyô—“èlq£m``M¸¸¾¬àž[Ò -@‡ÃbÙËA€¥¾Rôþ @Š2zó2²3ò²aÔ[„&Fá>Êþb ý û³5Ù"HYDŸöˆNk?ȶ=ɰJ\2… úÿ•tM' Æš4b¬ù]‚ÿjžh’u€ÿç_:ÎðàÀP€RÄ kδÓLj(@Âô‰Lüª¨è|é?À0_daÂÔÿ/Æàg>(šxù©§Ö¥m ÿÓàæÍg›@Ði))y»¤#Ò}øoo*!ÜßÔ½)ÙÑQ’¼½ê¸ê°£éañ?#eƒNAVÕìˆ8ÿ¼ªîåÚÂ1€>«•Ó€ŒØŽù\€U€€Ýí¹Ð•å¢Vlý— ò·ÃáÉ ûžBK C/nÄ;¸ûo±\²¾Náüÿ“ÎøOâb°3Neý€,H¸Žæ§PÿSÉ?™‰ÙcÐùBÀºnïa|ߦæþB öþ¹òú 0:u|4ô§Ûƒ¨÷Hþ „¥¬=ˆ\)œmµâ÷[ûxa¾.¨6…âQPUxûÚÒ¿F4Ð2=¿_w7–ÿ;ØL¹D»‰YŒYè ÐÀ¡;™Ü¹‰”$-‰²=˜áœ(g& rKh‘gwùŸ”ÄýˆŠ3€ûºçikŸXð?gÀJw¾'³)6Oã¿ÃQÝÀð/D€•&H’µÉR!`¸øOµ¾¡LWZ·ˆ6Ð Õi©©Ø­cÓ~ÞÀ„þCGK Côi'Xÿè3hâtM °ÚÉJÀ& öW–—?RýÈÕ~:ÐÐqf¦c€ý,+«*{·lè7TÔŸ~á7ïžþîéW^9sÆ3-$ìXÕà8Sï¨7××Öš0`À{0\Kú7Aà°m××ÀthËîç¿ü'_?yP˜ö\Ù§R€­"#p·à_û«-»_|ñÉ-ÿáÏw´nÝâܲàÚ§ærÓc¹¹Æž¹¹[7ç&×½·îÒ{D^<{åìî-»^?ÈŽ€·lA=ˆÄRàŠ àGObðÉí〃wýÍ–Õ~ïBæCB djÉèi% P¤ÿð‡ˆnç@^Ë@n‚®EÜi,-|ÊVX þ•€J´0p±PÔþÞ îx½°dìêJi@4ìŒ0/=ö÷–$çœ4o‡ÿ/»fTáÿä¤>à´+‡”Œ~À)YrL!ŽàÕ¸ÝÒ܈ÞÝ_13Ó5>¶>ï]ö/òÖÿàƒ?R€pºg`ˆsîaŸÏ׎¢Žö4ÖÔäó53ÓÓnªEµÚ·±éW¢ífù?•¨„þ%Ý>_Vj.áµ?mÇõ’ÃÂíb¨ÿ.Æÿ`±¨Ëÿ`úÝ?ú ˆûÅ2¤– §¼ü΄íS EØþ¶‰ÈßU¹áã'DÜ_0Õ àßÛ;Žõª“ù¸L4 7Ìö­¨ö³°Z¥÷édMKè ô1<‚´¶öYÿK<¾^#NKŸ,V ÿûcÿ²s>êëè$v‘ž -¢7a¿òí’î$ña/qMÉ’d$²·ãD,Š=(cÐê’ôA{øß}0©ªŠZ}°’p_C!Ààó X.×±Æi»Ûãi¨vÔ×G°©7þ³ ¡}²T,¢`ª4ò—Le&‚ù—MÈ2°ö迟Åÿ:1(; -ÛxþmäÕ@Îð{ùh,~©Â×AÀÊ?Öÿ WnàÀ&a -Dõy5ä„ÿ5ý555šF3SÑßÿF¹ ¢BÕ Áœ¸î4ãí+¯8ΰ`úÂ…*¬4ˆ,€WjkÍÀ“é…:Îx÷…ïž~ôКð߸vmË×÷@·ûœïCÚMX6Ï@óèÌëáø£·Û¥;½ï‹ÅÀã>EVôη{ºqÀérai@Ó_ážÉ-{©ÐϹ–ÇÖ‹ÂlýøøúA„s ‘€AúËwG"pî…¤oØ= ü¯©p× k»£0üÑ¢ø[¸ý±ða­o2˜ `BëÁ?L„õ>|× Íãjý¯Uǘ÷_w&¦,ñŸX6lè9€Ü*Ø€ß);Ìûí„æA;OùaÀE~˜ÍPâ‡Ã1ÈüõÜÿ†{y,€Í?¤ÿˆÈôú¹PÀ¶?rõ[‘˜×œïëK÷I¡4.-o«:À¾4" ð|r8–¢ðG}¡ñ2 3Úí#¦ïðÅésÇáz\‘PòÜ—¡¤§i4{A’Éî*Yž´ƒúýî©}»ügò$½X&•{•,ÜÇ  `í+Ï#4JôúnŒMÇlÀØ;¶Såé¿£º²¾:R)6’&3!²>‰½†„¸†:ÐÞø…?Æÿ€|õPÝ.¼z6¢p”Ceû‡8Âg£èÿïT¥ÿÜhjúšXà‹±Èø¿¿¼’ÊÿGPÿ÷¿TSA@£Ék¸P¿Ÿ· ÊNÕý -lö׽Àª j ê× ¬„ X@"^|÷»Nη®¡ÿ¿"ˆ8|Çj;ö‡ÿußÍ›wÛö̶­7Ãð÷“_}’Áÿ -Ÿ¼IA[~íO^yñÉó[~üãÝo­{Ó?>.þjNÝÌåè6Gàæ­\ÏÍu¯ì!på -'Cùð ã>Å: š $À¾}êÅñµ­ÿfËÁU;ììMu øw '@?ùÞÔ§\Z¨ìw‹< ¬p~ŠÙ«?-|ÖZw:êdtÅ-€t1 (ÅfÀ^·ÿ½"Qª€ê¬x‰¸jÔ!Œxî!°¶²€€‰;ÿórfÀ©§ä¨ÍfÓ¬Xö“ì>y´‡¨€»q¤QïZ´:õîŠ#Ó®åÁ±\Î5žÁ‚p*0ÁþúcËøôøú±\¤£Ã§¼ÐDÜššüüL¨"DÔmî>¬¥ÿ)­êý[ÂNZŒëµ0 ŽwÜ1û…øÏwZÜà¾10þký©ÒßèGÀu Ö>Bæ/€mXôËJ1€Q™ ßFå?ÃýÔ‰SS½v4ùG{ ë9ù‡ã° Ëì~¶•cÿàõ/¡ã_€ÿÒ¿@6 ïß´*l-`øîm!ý£R¶¯5-øÀÒÒŠ -@ÝøäŸÿˆDÕö¢Ó÷uwwvwwø:»´I»IìY`íõ?•þ„ÿ;J’‘½_":5)Ëv ¬‚ ÷PR×ïVJú˧deõÀµ%Õ á>ðŸè’Ú ô·¦üX‚Ñ¥>6m‡ÐÃ@Ȫß[Oà_IŸöV² Ð`2W––€µ¦$ï–Ö•é ¥£¥†ýÄʾÁK~LÊÊ ûC<]`ù•ýCG÷A8´qè(;þ–1(#ÈÿV“À}(ù›Ä8`'$Ø Pj¨|¢¼œñÿo+jX Éç5‚”—›öó €ðŸ@Ù»¿9ýîéÚÓï¼ræÌÛôMÛ-÷… lqx†5f“Jj‰ÞÕý²®î…ï¾6¹fô° ÀjÓ.³¯Ùqì…îcÑú¤Ùþÿþ1áÿÁ­°™ðÿË_þˆW®0þïæ¤€“»·¼þâ×~²åùŸœ?ÿÕÿçüG59°8>(¾ÿÀøøÜøÀ¸÷ÖÜÜ­u{.]zïìž“gÏ^9ûì²ûÏALþ±xðÎà.øîcðß%ìˆ<<·yµ¿E@K-þéŒÀg¢½Æè©½}e?­]dLh^¢sÀ?£<€ `eüÿ~ `õ‹íß ² V«Ÿ%ô€Ã -H-ÿW"øñNy»˜ð¥v"ƒðcðN‡1÷ª«``'9íA½4‡©>ž´ë% ¾?ʤ͞qZ­Üú ËÈ„sêcN'1¿u Â -U4 é Y>.Û9 ØéôýØÕKú`6 ½/ເ*E9D§Õ!=ý.ã}¬AÂÀXFˆ<ðÝ¿m•¨þGÍ}Á#$€õõ8TW# ¸>RÏ=€ÊZHö'+ë‰$M¦ÒÚRÞýG#S~ƒÁT -@)vÙ¦»€º2±òwôèýÿѦ£TÿQ±/êÖª˜¯öþýₚ6êv$Ÿ¨Ü»÷‘#ýÛ/îšM{~f¦¦¦âÈ‘òýûé¿©{¹Œð¿ N¼ðÊö_4TAh;ÐPuF„c  Ö  vÊÞ=]÷ÝGß”Òkèÿ0 À1³ï÷ë{ßÊ¥Úáˆ#ñ·ÍÍ‘¤ùb4úB2?FA¾]€[¿úå'_܈À+ûè"p’¶¼þµz~÷“íÙòã¾+—Þœ4.«š§r¹ü8ŒØæè˜›»¹îµK{Þ;ûÞɳÏ^9{þü•“T1 Áæ ô_ÁL¶<°mÛ¶«ÝaÔù ý.aÚ£õ¥ö®vu -xÏC€:àíÀT -I@(˜ÔÀZ@D^ûT$G ¼àV€h³pÁ_,û½<˜£&a)¨»ÆþD4©-€{D-À§åýäõ;Äÿ1Т0Õ>õÔÓÀþMZn\¿~µ„ñž¨Åâãµ~m'ÂyЯ=p{ÿ\öw²å­ëÔ €)40ÍÚGGY F@8/,þØþ—8@/V{Oœ€ïïq°‚©Þ` è/eû›imEÜo: …3R+ö~€þ÷ûÒV:g -PHC½&¬€ -< 3£°{&f ®.©c€¥…Oþè31ð;ŸÃ×YÒÝíóù:¸ù¯åǜǬ€" ùYäªÃ§dzPýæ;‘àMd07 ì<ÂÓ…Ûw#+ÍÍÍÑ{ˆ–Òup` + -Ï¡\ ü×7þmŠÇërÀ*’AÊÍfLÿ“†¤)Iпð_I(_‡E@ÂÏ— î눰ýŽ· ÈùÕ…îO§+«;*<û…ùÿÐÑ¡2*ÿé¸s¨lç˜ýëx@g0óob5ÀÐ/U°³ a€;¸PÀßöCX @¾]ƒ¿•þ_Wÿ,¤îeªþ‹ €Óß}§öµ3 §¦oÚXx¡ -=4Ìõf¢2¯˜MD€ÿeï²àµI©ðñü?4àiv4›ÝæO7ý}æ•R_I*’RZòBsÔ\ºCñûC àÚÇ„Âûöm&ÜÝ÷ü•­»ˆþE`ëIœ¿~þ/¯ì~þ£=çòñžKoÎÏù‹ €/,#…}<7>NøOàÐ¥KßáÀOÑ8»û$Ä„»x®õ?\bI ìCw€víØu`/'<¸jÀ%êQ¤Ô‹´æ%£«¦=¥2,¡ !à€npˆ=}Óˆ•E€k€; `aåÒ?‹OŠñ8¹F\ôˆyS#®v±à -¯kE€hïruñ"š®.AÂ4°X½.Z´"Xš·Ï;õ8%ÉÏ_™ Þ™±;­»é• VwÿG{åÑ^B{gXî ²N -ÒC“ ·þ­vþ/@ü-@ ¯Ð'IÙ‡Õg4- ‰ÏtçK·ÕÀ(Àm:þ&ÂtÇy(Úìˆwû:¸£BÏ“»h7©2ÀM%I¥9Ѭ„3úŒÞ9p9­¿ßü8ûœv΀À]Ú ÿ•ÉÕ~§ôBqðÞ€w8À3¢¾ÿV ÿyÀ ¼Hå?WV—#Ø\iª¬4ԖèòÐ eØØ9@™é´¡Ô$rz¡0•í/ã¼^‘Û+ðÿ(À¿¬Œ¿ìh¡?wŠ¿!ì°öOUÿïTU€ô%Dÿu¥¦'ö–ï-ä*ÿÕGè"ОoÏkfffxðe%¾ü–¾ûî ïœÆ€“€nÙN]ð\àÀö^¬­5A`6èt¿,«{÷»'&×¢¨ö´$.;ÔÝm–WnTÌÉfŸ^0‚Ònóßï­ )Èኔ&÷Ú"£Ñ?ø“@¶nÞèݲu÷î÷ À•“<8ùúŸÿù?î;ÿÖ_ìûñ{oçý®ñâÜìÂr.ŸC`.7žËݺy‰{Þ»ôسçÏž=ûâù+ÂW@”ü»X Š¹ìÇ »ŠŠ€]°&|æ™mOþèÜÁÕZýy‹@”¦X:3ºZÔî?Û‰üöø”€×G\V¬Hñüsíe(ÞWª45€á_MF€FùÏE¿HäO¼ØÎå?ò€óF£¦½½«øLhVÍ9ÏQ/ó“'œ€ô{0CïðÎg&°ê'ìzi.ðzÛ×ér¸ô¡ŠPj@ïv缄òôú»‘Ç®6ÿÆÅ - Á>ØÀòòø2(A®1ìö„`<×vGg435ù™šŠ -wèbI7öÒ´‡K®[JžÂð_dÿ–TyF-°ÔÆ}qÞþK Gƒ¾§;©ò'Œ¿ˆmÿh0+õrak–®SµÝß¿•­ÿIJ Ãÿ”å-ˆˆœ`žš:.‹.€Ü–…‚?løcôÿWþSbö‘@oX -2Á §_ºζ¶Bp·rO-€t_ uí€ì— èà -€?MÐ`îý/±¶À»€è‡ÝfAàm5$è!‡,¨øï7­ó£ŠÏ‡%0mÎ[*9ühÐþ/ÙfÀÛÝÊqùx•þ’Óp  ;ÈŽPàø¼Šà!L&'W%ÅчPAÜC`4.¬>x»à”2€Gñ4TaÀQOu¿ƒð[€æÊú›'Mæ½P` ¸ßPi€Oø©æ.5p0¯°þ7J‹5ÿÊaÇQÝQì” =JÈð_8»o#㾺À—†tb2Àýÿ2î€|ã‰Êò½„ü8=rµüHVòíØ €=€:þUN—‰½¾ÓÀÿ_T]°Ýœ¶¹mÜ.„0p4  ²¶ÞT©–ÕýR§{÷—u¯=:¿fô€Ã±#UÅ7¼ã˜ý²ªx‰Ú£Í¾aÇŽRäa7'ußûÞÆ„üa¥cÇ÷j£zå€kbOø¶Íw?¥¸@ àÊî“[~úÛóß³îüùO>:ôÃy§|páã/]#&÷ñ¯óccÄÐÏÍÝ<µîQ"{;û,(À³Wè€.À®“»Ä à c>v¸' ä˜ôÿ¯?úê“ýüUgP¤X‘Î'Îû}É8RóÙ$@ᤶ lÐ;â¶ €µ@‘ܹ¬f1 T ÆF8)sÿ_ñf»ºR©.ˆºŒÆ^ `Q`û½‚¶v!Hƒñ?gÐ>¯Ï²ä+00À.Á‰È°r¼Íg¬Â¦pº–îŠÞµlÕTäs¨ô»òëóëWÜÿl -4Ž ñq‚œ¤Ïz<¾¨GËɈ[ãžÉç5!:t”tÀ”æ€lÒ>ü;Œ_Œú–§ŸÒú0ˆkµÍÑh°MËV>ìú[r–Šìð]°ˆ@çO°¨"?Þ²ˆkS‚œ°`åï-˜ýY¦Ž‡Gå„Ük²«8x³”ýÿƒôïƒ6Â(€ðßlXê­Òl« 5ƒÆ¿U ö"û¯Ð×Ú—NCÈ)@ðH/öŒ\ìsùOÏ.» ìçíÀÛ…&ºÐŸxÀC÷füÇ_:Ðï¸~XµVâ© 1€M%o¿9À7JÞ.iî±÷ˆ@*¹­V"+ô t™½x­}‹é»‡(§äIyÒ.¯þÊÿX¸×@¿¿ð9\€ŒxóÀcóÀ@À¿y;ÿõ•ÿÕ<ˆ˜+ÍåIšt0%+a d2 ØGÓ½¬k0€8‡r]ú8ª+Ûˆêÿ¨Ðÿm¤ÚŸàŸm€¿Å'!Ðq{¿„ qÜQjz¢|oyù#\ýW?RÞ×ä œ©é¯®7™øW1œ†¹/Fß=]» ÂÑØN÷o{}%ÿÍt„ L÷K]S]Ýk‡2k6@‡˜#GiÒ1 Xg­—GˆàưÝ6—Ømoj›eùZ8jN~oÇÿü¿í¨‹Ä2áä÷º‘Bv—Ÿ·k…œÛÅ~Üt|ñÊÉ“'ßo=û溾ùXáK{æçoиý¥Oˆ4äèÝo¹`s=“DÞ{oÏ•³Wž={öÊyà?/l¦èœcGÍ›þ þÓ-Díÿå}õë_Þ·uÛ3¶­®`×ö Ëlø»àÒ¨@Qž -7`öâ‹-°JMŒ¤¨¤%l[âÀšðÎ# öCW|€ ÂØ -øwA;‘òN¨E¿Ø§b ¦]<Ñ€ F]ɼ¶úv`^²ÓaÆÿذc –@ÎÀ²3(Ë UÃ¾Ž½'2’5@lÀéô;+B¡ë¢__¡¡×]>—[gêà2Ü¿±~ý8/>¾>çöØõáéÛ#I1ÛÕ«¡Š|>7£q_ E:†;ß>,°Ë~%qŸO»éÛÚŸÒ}Xë‹Ç}Íq4ÿ£AEûmm§Å·K>‹]ŠÅ²R°-Au}Ü2ÕÙùMmg'oýÑÙ±ü÷–¸Äâ?*ý§ŠR8å`,<‡!îŸúØý£è?~B BíÏgR«>n¥?m}?`ö?jñß'fÿÐýgÓÅÖ@&€­¢ño-¶ÿE q‰ÝÓ·þD°¿$䂺~»ÀÕÿÒ'`ñÏcAôÿýÆE«F‰@±°òðÊáw‡Ñ8\²‰)À^‹/ # ?B{­Lp‘»S0ž»*ì|'ïõK­0€Uïª -EÃj|Ð;ÊÅÆØ´ÍðTy!“«fÀ½õ”W’õXÄ4fHÿJ jy_'>± @iôöuŒýDŽøù±¿Iôÿ›†¾%>ñ €‡‚À -pÀ\ÿc ð äÿ•?²÷¸鯙a@Ø(/ÿy)k˜œ>ýÂéÚwÞyg»Øp»¡U }Œ€±`*j¡2¬««}ôКðá€îîHt{÷±Ò· Ý݇$)¬(žkÊK—õ¶nmÔ¦M×*“²Bï1Ç.îø»oìø^i2¡Øv8aŽvw -ppë®m°ڌʟ ë -—Öýp~þÑ¿sS??¸8>¸píK Ÿ,üMWÆÇænžzóÐ¥=?ÝóìOáp…;˜#œäxtÿÏ|ýÜf¦›°?€@ÿmçÎýèÉ?ûú¾-Ø|€· å&0€æÐÙ…büLï ¡8Us€DñÏF#j ðEYZº¶ÖXø=5¯,©@lŽˆ@;ŸOÁ_ÄO´í€ñ\ŒÃ øÏC€Ô½$…€dæ3Á ½g>£wHDô=® °oÚ슣Ùá¸xÜ.ém¡Pã¡À@EE¨Úºˆøù|~,Çcnà ¬ÿè™Cgàñõëó¡H$ªÉçk""TøWÔÜÐLk*BžaÇE_‡nÿû×qQKg>m‡¶ûp÷uíÓ%¾a}ôbœ€X &ˆÄ-ŠÂ#þDЦÈÒ¬l‘eKgüDçO¾ÿˆ˜†þào +"Pœ,Sœø;Ê»ýáL8Cõ¿] öc ¶ÿPë^üG P0+éÃR–J~6ÿc ~Aø¥'¬;ÿÙ´ÿT!$©ÕZ~€búo„—-‹ÍhˆÔ—ï™·Ðx÷ô»¿©=][ûÊ/@8 -Ø%€êífŽDÿ}Œ²º&Ý/›tDšíRa üh6¿pìi9êp$lÍÉEéŽÆdŸÒâ’:}³bo¶ÈÁæ„"— ÿ|oGòíäp´2ÙšTVù³`1Þ9P€gdpöÅ+MéµyBþ×>™ï™0Žcàö—DcB+n¶â077èÍK{Þ[wàÊ•Ÿî>{…(/n…@¤÷×_}rßæm[·8Gÿ¾ê@—¦…€ý …Zò "¶úËC€ hoQÓ'ÄÀ¬ª\ë|ÿVvaVm€FFˆ2¥\OL¸xÞ€êôÇN?)5°uD&º4]< ¯ò®úŸ÷µZ<ôú8€° ]™ŒÑ§æˆ’ {äpØ3,‡ÎéPE£Óé·êÝôŽäntTÔ付¨@b ’€ñÁeÿøÇ¡χ:*‡gòëk:ìÙ·›ÞÙò5î™™PȽèÁ:Z l–Ž„"p¾Nçð©-åOŠÿx\î­R²²Üùm­–€M4G ¢Õ­z™½sÊ@‘`‰t€¿¡Sm¼%DlÌký`½a=UÿØðç?7°ìÇÁ¿'N´‰ÀqyêxoRÿ, €}­¢ô·Â«ÑXDüK}é¾ED[û¬`­„þw#›ÿÝæí?N}Z¢'O{––– -øä¦Qø'à/„ðáü‰,ŒêaÑêT|r xéâ©ß=uc€·wDÛdP@IÒ üX]‹x)œ³ËþQŠŒLî&U âçPó¡IûýÕè.µ`…Ñ7XØ»)ð¿ -&ÕŽíÆÈr3‡@ÈÀ•&C²ÒT^_Y€5@Ci–è ìë C:ÞPÿy ÛU ;þ†Õ5 ݉`â<ò€ÿ·X ¨cI gÔñò_SYQöÀà bTûÓÇÞòjÌÿóÜp÷÷¿Qi:_àôËœÀwßùÅ™*÷-l7Òу˜Ã†íPÀÅ€O6D¿|íö3ó﯅°> pÌœ0w ‡«¾}¬6š‡í£¶°¢8µÌ*ј~äXL -HÍmJ•ܼÁb‹íý»¿Û»ã{¾aÇsËH,¶1Þ·k×î­Û¶—·½¾ûÊ•ógÏžüÒâ¥7¥¹¹Gý[ãƒsþÁâ -þ8ÇÆŠõ?Í¡ðè¥ïƒPùrÝÉ+Wˆ Yà¤ÈÄ’ÿÁÍçPäo’ÿg¶ý×ý_?Ú÷õ?õƒ,\ÿ¯Ú@ƒ.4éTwµt-´´hÔÀŸbЄhþsñ?!ðŸ'd°ÀÂÿØ-€…¡(¤… Å -€ ^ÿëš`ÀŽÅ3ûBˆí?¿±=O|€Û1š–Õ5€ˆ¹œ¼ä%Áá-#9­œ÷®×mœ${l™ŒGÖÏË™ˆAf¦û`šŠ™ 6”gf¨òÏßÈçDëL¸³î êH`pÀ6ñä»ÆÜŽa%Ó¸Ñ € 4‰_Ä$zS‡E[â»Z~¤¦?©Ý¤½xq“öz|“6ïèˆÇµÇ,qms–Êý`6Øö4ô EIþ[”ì¨$e³ò”…7þ:ãEý?wýaLÀBp¶8aB¿ØèTÜÿåãBç'«&'èü! ÄîXŸÍÌx÷‚ÿ@Åš—ûDíŸf€˜ù$Ìk –ì¡ü_R÷ÿ0ûgU.A"ˆAó„Ûtý·FèëÅ‹á¡d.|"àßo,¤h³bñaÒB¤kÓÅ8ÜýÇá?xûP8B¨§×~Ä…PˆQxeü\ýÅ@kwÓ)dD¤TOϵ` ¼p·á¿sÄh}ÐÀB: ¨€HðTU58 ‘zªÿë·W³ÀÌÕ¿)I¥?ûÿüM€C²Súº²ºâ€-€t¥º2†þŒòN€ºbýO´úw;;Õ @°*ÀÏ—™ñÓ7êvèJMûYü¢¼¼¿¿†]Á°1{¤º¼ÒôrÙË/ ‹$@Øo¯ºp - -fBÜpÔWškkM•&ncyÑ•ý’~SåöCú5 ‡Aj_è®+yᘽ2À˜ÒìN]Ž%¢ŽÙX45ҋ͆›_Hj>•åCǾ]íþÆŽßíñ%ÍŽÔÈÄê±Ý»nݼm‹òYwhnÎ9y³p‹Þ[WL¹Àæ+ãþápóÍÉu—¾ÿæ³{Î^¹tåUvÜ -€=@*ï7Ó› BöwîÉ]¶o×gþzÛ36ŸÛµõà½î;÷ÿG¼)—èx ˆZÆ^Ò´w¥Š€mhœ&4ê5œ«Kx‹\Óþ>ø«©Àœ›¶€ÿÖÙ•@ŠÇý Q¬H©RKÍ„ýëC¯f|.ˆÐxéŸW3–[ê˜Ñýaûœ4Ït=Ó3/Évô{õ»]ow(öp°YÆ€Û­·.ºœÈ(¨© ¢~ý|~leú¯Ú  0î_cm €‹w~,?¹Ø`k ¹ÛsyÛ -]Ö–p1º‰`þ°¯¦¿$fëÀUŸš€îðù|Q‹%꣪Ÿ€-œÍZ´@zK"Ê(/* *0Õùaø_‰ý³ì‰[Š@”þÄTÖ?£ôŸ˜Â¶¿Ü; -ìUþSÇ?81C€ÞÞpoïq"Y)܆«kël€ˆYÚJPmD8mëáB€A¾é€˜øóÁÈÜ>$¡pm€„+>0Ì"VHÌx¬°´°t¹XˋΌ63þ.AÈ¢ºuYRR¢MÒSáÃðŽOÎbü¯žYh¼s(°Nå®BÅÌ\FŸéÉd®Ý›|êÍ.oä¶Cxäëÿ½l¥ÆÌ4K€ÿ ¡†(›˜õH+Áêͼ`¨5À -ˆ€TüWšJK IVèÊØX§:ÿãóÂý¥e¥þe8mŸËK­ú³ ƒÏ<@hÌåù«ß1®[7;cìÎûÇïüÙá·>®žåæznÞœ¿k«¸áïã¾ #@¯jKë…ÝË ñ%MûZH°ùÏ©Àê`‚m€F\ü¹¤: ­ÕÿŸí,-‰-ÀBÚ?ËA@@(Fý)fªÝ„È]då%·ü½^ͧ¥º„%Óêâ(kÀYìùÃïü"þ—ª~_Ìèí¶¨Ã#Û•‡$5†BÈÔO÷ϸg4nªIf4¨ýs]"`e°²À£HR>í^w~<Ú ÅBW+4¹\{£[Sú‡xIGGQŒv$_ãÑ\ÕŠøÜÇâ"ÚõÅ-ÍQÅ´E–oZäD›X%Þ¹AvJ³DÚ,mÌg©¢¿)K§X˜zËÂ]ý F|K[ª{ËÔ‰ SÇG{cY͘Â÷®?½áL–ð?Œkˆý ËYnû³±¿•pÚ*Œüé OV ËiAÒŒö<Æ)`Xn…"[^·Õ `öàÄ1X*¤³­Òl`VmðÏù„÷Š_œ,ýÎ9zšmz@„Ë"?ÄO•°ïrÇ¦Ž‹Í Ù>J¨­ÏpðŸ !˜@øÅëÐQÇÆ_iÙÝÆJ@ð¯CùOuþʨº?6ýa€M¨‰}ÿÐà4`|ó"¥¥•O°Ð#åOìßOŸûk`€ €êòúJÃËe/3þ×aðNíö3 l¶[¼ˆ#\àl&ìÇ]ÁCWG¿ªÁdªÜ^usMø0@ss­ÙçhVŽEuö–TÌ¢L\žð´¤Fc#Ê„kD¹œ Ú7tŠv;´µáÑæ·wìøÞÞd²ÅaŽ´ øGR÷øñè(¿zÀü«ï¿6?çœ;ãwæ€ÿƒãƒôWqM5s˜à?®NXðÚŸe3€÷Îþô -¤€tx Ë€'·ÐÏ])ý·Á‚ø\q €D¢Í÷wçÕ4Þ,‚¤º„ ÚÀì_8° … €v¦79ãšð¿è,©6À褋€Yø°ú=éÁô…µ×¢¿.h»ÚÇ–\š.:hîMàLïTûëçç2Ή؛•y»G\&k‹6D +“r•Ãfç @ÛêwW̸+Рä$ÀüØúÜØJðã*þ±4`W¼ÓÉ«îüzûbƒÍ6|µbf&?ãqÏ„†ã‡µ×7Aý_òtwE>ß•¯Î*Di-Ѩ'êk“=‡åbÂ[‚Ùù(¯÷%:;’^juJ‰©6˜þ Û¿b05µAäÁûS€=–zcìü3ÕÆ†Èþ€'zãÐþÁöçnÓëÃ0ý•{ƒÙ ñ€,wøÑ¤O/²öÏ(öúxø@ñgäÔ:øûÑ%#„@ívúÎ…µvqXü‘ÖÙÖü ÀoÙNh%*ð²Å{uqÿùMvÑÿŠ[¸ÿЇ¶£Dëkókkžâá?7$Lôhûý¼ ‚?7ä!â1ïè‰ê?3wONÏ -+¿°"÷/Wð_L0¬Ù½ãV§3ƒ €ž• :äõÕÞÿKšÍæH½9  $ÀLÖr 0!¿A€I$ÿaÐoà:x½,øƒü?‰3^$ìס@åÿP™n§nçN1ØÈ[bß_Eþ²¦:áý£+c`ÙÁ?Ð_SÁý¦ýOTî-§Rÿ €òþšÎ¬!¶Ý„€ÉT'¶N×ñ ögª.¨ À¿Àúêí•æúúÚd}m½ÁTËVEXh¬ßÞpaMøP€ÏõUÑ›’£ÛÐ=lk&N…#©‘‰–ö‘‘ et4l—ÉʱH·c4};ò=óÞR¥Åᘈù]®{N²lPo;ùÞ÷Ÿûð?~øî£7±¼˜ãÀà¸ßÈï¼Î©Â?S:ËÍÝrÞºùNà½Cî¹ôÞ³„ÿDÎ -3€“Ïx晕Òó¹ƒ,5<ìÇá™û¾óêúŸè°5æ%¿ño'ŠÅ?#’˜ýkŠÅ?ÀGŽð‘*\cŸé0üc ÐÈfìB0Ò~YXðC ÊåUw¼ØÂT½€0iã4 H3¼÷0þ8Àûð÷™§÷êyýœ~^9dÚ9Cïßs„v*—”Lør2úX(äÖ4V¸Cî -7½'ÍäsãÞ±VÆDïŒ}€€ 7ÖÃ=‚Pd›îa_txøj$c3º¥âgõ¤oÒÆ/v ?¾¾‹è„ûgH`øJ«u\ŒN*Ñ^›Å„¿³³3Jø$ó´?‘ˆ[ Ï“‚hñwZ¸¿âú7%¶ÿßšÂüÃ[–ØéGØÿ[xp‚]ÿü£a±@?º£á,¡〤0‘¬ô[ ÓŒö¶õAл)1îEØQˆ8Œb“áß(® áŸU~wÀRà?IÝ‘YúÑ}è&ôõTÓuðÅzeœä_ ,SQ®ÐÃýmlZŽ¥-ÑvÄÛ&å6åxâ8 ?£G$1NÐqr.µµði .-Ü•ô€d2÷ÁŒŸ©ó? ÿ wúÂÃè€ iŒ02= ÿ6TyÕ‚Úÿ,`7Ì“µIbµ„üõ•ICÒ`*… ´ -ûÌ„÷™š L `‡ŽwØ`cSÓÆ&ÕûåÿNRËþ(øE6°nH¸ …ðØozbÿ,¨,‡ðÁ¿›þVÜ5ýýGÊëË÷Ê~cx¹Œ³€k‰lwœ¹À÷…íBLp¬­Gñ ¢1ôÓ §++ëëÝt®ù~q­Š6Çš}ŠrÌìpÄ&Z”èD;רg¢e"ÃEŸ°ŒÆ.Š:|Í1¥Ä“Ü1_L)¾hû„qð>–Y”Ÿùð¹ï¯›üÅW†þâëªïÇŒãÜXø×®ýøz…‹ÜuU€µ«Ü͹ž×æOMúÎ¥ï<öæILNž|u¥éÏ‚m›<³ù ×ý`øwhö¤U7Ø -xb‚ÀK€DPñ„À/` ‰60N ùÓZàïµÿ‹Q€Œ.¢À.@#èœðà?Å‹ê -uÐîåˆFo~Á_9 ÏV%KˆUE‡Ô)Qõ¯Ÿ“æ¤yeÒ OÚ©þu–3‡I0vYaA&Ôoklœi×WÔ¸Û5353pÒ±\îŽ×q†ò7np& ]Ö\Ùòëó3Ã>sdøj5‘ÍŒ»?ä¾Jå'Aüþãñþ¬¯ˆ”h7Q}*RãJTÎHö ¢£ZäûtÊR&fCì%MXa)˜êì´´Y,½ö˜žÂ€ñ?ñÿûÿPõÏò4ÿ1ìøè_ þQúy1à¾:u|Šs€ þ{ƒÐ:Ñúg> €œPhôñ - Qù/‰]*i‘å¬Úþ… ?©ôý ‚$¸°Òõ.f±eÀ])Ð'¢ñýKðäe€/BnPÿ[­ËN©ÇÕrñß©z4ËX„ˈև3ìÿ#ÁLÒ{«€”†«úн[ÀÎ3€ž{€kFñ0¬üì•À§†Fc‘<àOs£'³£þWÿ=,tTW×;Íæzöÿ«¬4TRùoª$ØL–¢uΣó$¼ Ó‰é?!© |A@,<ªÓé6Âø(öù!îª?ÞþúÖN5øg£ð: ~ nD€e…;è§J+÷W¢õµ ¼¼Ÿ¨6÷ÿÑx¤º|ÿ麗y‘ñÿô+¯œÁ`;hð@ƒ1õµµ3¤£ Í Ó~º»D.Ì¿¿ö¦ûÅ €¢(-£Š’‰‹8”‘ ›Ò’j¿<ÜnEèM -³nWìrÌn¡}Y´ùrÌãsìðÅ’í)%šj÷ß—]PAûÃçûέɪwþâ/¾ò£WLð$þ¸P` À§ÈÈßrΟºuóµÉ÷~µî¹ç>üò£ðß¼ù™¯o¡‹›ÿ‰‘ŸÀµ¯=X8A×…]@!FC_ã7þí§lü¯ ©¹M]¬ÿ]¼7ÅF€×Öö?36¢ €j0âò®¬|ÊüWÕ8¶ôz»¼ð†%PQ€®UGM…>ž°Åï<ê}&ˆ·mY‘é–¾ƒ(¨ÜÂVïÆ`£fZ3£™É ¸jfòÞ.Â{¸æÕÀ1áû'dç׫m™«Ã }Õt´»#ä ¹Ý3ùœFã ÿL[rkQB¢Žl¬¿q#AþV{ý®—ÄãŠ"…l¶l"®õ) Ëñ MV ‹…Îd´£mß´~Éòh˜-Xø;€+×>°L%ÞË+ÐBÅü'¦8þoŠ[ìûäOÁp0+ñˆŸ(•ú‹}aé‹E¿´0*Ñ èã ^ñä:ðÚ÷ág ÿ™mÏ­ˆÿþúkÏ3/ê!Ø 7þ*…A -NÊóRÀjÍxÜ3z"339:å¼®\Û;8†±Ç?1òWy2À"À\ÅðÕPM~}WÎÓÝqÄíö¸óùö鼿j„*ý¸hF.ùÙ ˆÌ û:â%›®ÃX«Æ-r¯^²)1™ê|%j‰FQÀ¾¥mÔ#°hÀ†©Q»¬Ð‡=·ÿ·ÔÉÿ`ÿ P€„ pöÿE ’¬ûƒÈD¸ìïí…ÿoop¶5ԷβýŸXÕ“œBèŸFà/ë…4·úüiÕˆK~ìÂÔ‰Óÿ!賊X@ál¿Ä onà²ÊÿV Ã}˜¤Åöà‚ªX nïQÿû NõOÔAø_ÂÙŠüûù}¾6Ø Éväþ ̸$ž8Å2€Õ_ ü](Æ |WëôØY鹯ÓŸ‘ýõ†B -`Ô<¸€¨ÿ3™â »JñÀ"€Huõv¬þ×£þ€ZÎÄÓÈ€Á@µ3Õÿ¥:C)!hi]q°LHþØŠ›¾Ku°òÙX6$ýï,þíTsËàö»±Lð(ÿtÅúÝXWWŠŸ ZÿGŽTÓ@@ÿ‘êêGªë÷ƒ…ì?m(3¨+€ gümnµÐp¡ê"éXŸ¬‹1J ý_e}y}õõ Uú5#à/N\)ýDÊ.§ÂÇ1GÌ›‰¶L[&Ô:í²Ó_Ögc©‘‘‘0q%Õ8áñDm£ÑAWLñúî«›…xÐm>G àWú«g>ÜöØ;ò¿Î©ìáK‹Ækƒ„ÿ]ÿù×o¼ñ¿ÿüç/ÿüå¡ÿò¿Òáç¿øÓ?ýð?~ȇç^}õÕ“'»r;»n;pðÜÿûÕ¯>¿mÛÁ}Ÿûî³%0ÁH³àz©X’r_º…½ø|¢hWÃ+#Vu+zÍà³ àÚµâ@ŒB8ëo1@ VSUõ?SùOV€šö®.–g¬þþ(vì“óóó»v€Ü¶µÛ ôv؈dš#Ñ0€€­ß­ilÔOk¦õšš™®\—¾¦&™?û­[Á~up|L ð4Àh}nzxSdxØ3\1S÷‘HLÿºp¸#DÕ?š c]ÓÑë-Vþ¿ÃOw hN襄G‰Ê½°ŒSé¯(ÊTg³b•3Ä‚mBÿD›"ÛÃa‚täýl¸Ó` -pBà¿HþQ7üùÔÆçüϧ’_ÂÜŸA©/àlí…ñO+ÖlóoM`ÓP°öY ¤ÄZûÄúŸ:èj9á,,9ˆô -lö ¶·„útŸÔÚè ×ÀJâ,€¢ð6ØÖœ3cD¿Ç9gÆáˆÆ¡·ÀÃMçñÄqBý©¶•ÿò¼¾WÉè³BÿÏÀ(–ýþÞ°D~A4Äß] fG„¾÷%ÛÔ/Í?]÷«½€b`3ˆ¼ãoé{2v›Ý.b€àÀ–÷§ú?.T×¹|.±+ª®¹ÜÍSëÖ=úìÙ“¯>÷ ÿwÿù¶g¾úµÝ6o>·õ'»¾Ð#‡3¼€¼b -€z_³z©½¸”†“èükT;@±À£l+‡óÀøúy.öTWÖÕ0@¦)X ü§_{Ñ h…@॓׫4ÒÃÞ -à]•Üæ€“ -|8¿ÀoÙtfËV'Bé–°3èhn–a -$¤™vƒ 8+jfò¹\~¦=þ\V¿bi€ëùõ–X0s12¬Éuå=‘d$ò³‹¡™<Õ5¡P‡¶$~=r]» N€5‹a¸wÚM D‹À§µñ­E–ŸÅr(+eíTßwZ%œµw¢ Æ‚1ú$'Âzy´5æÊÿÿoÁÿMªÿOlhÛ úÿ2Ïû¹â/6¨ôGPoïTÓo)œ…º*þt«$úèÇÒõűõOÚÚê ¼ÏY@ìÐWàuÿ÷‹ùµb / >©ø$dKj `‰lLÏÈëC -ò„ 9¤/^À4_·Ø-òÊ`Éé/X—ËN}F²G}Úì zu=!CÛ‰g]Fþ#¼ÅòÎóat$½šÿS0?5Œ]€Õ;ܘËÌÍÝçËßhµÏú §àFý{ÿô²¦ßdÚÎÀ Ðr`¤ºÞ\mŽ ü7@Ño®„ °ÐÖÖš0ÿ7èö¡¤Ï;ê b h€*-¬ÿSϪÀMC‡Ê>›ûǨ÷uý€V‹ÿM+b5bÖ‚ûéHçX<Òßßbü¯õW©>R^^Éž~@ôÓ&ƒ Þt_À8€‡]€¹·Aw'‰FF)L•åõõÀÿêS“Òšð lgŽ\q6; -½#O´Ó[t‹Ÿ!Ñ•ûî#—ÿOLo—ý——ýË#¬™OMø'¼~ÿ q:þù3¦¯ýøãŸ#ðêW^ûκ³|ã›?üá™3ÿùÖ­zn6Îá0>—›ËݺðΩïÿÅcϽùÜ«¯¿þÜsϽ~òÀ‹/îÞ|þë_Ûwà‹?rÅ$ZŒX‹6ÑÒµ iÑܲ@ KÛÕ nŒXÙȪA×FŸî'àbõ˜ö§Õ€•;'·¤¸ F/̺„øßÛÅ "›qÜè̓Gëº@þ¼ž·¿2B̸~§Ð@?o×g'£“Ê!{8c ¹§5q@S‘× ‚zå:„ûëÁ@<ÇÇ‹óxäÄnÀú®P$â®ð Gª;""øQW¯þ ȹŽvô¦áùÇoñ?–¶·VÞÚÐf™z«íÄ´þ'dáDÇÞÄÀúÓ…`–°^6UüTâϲ@0˜mmµ¦Õ?”ÿ¸ÄdÖÈÞ, -`´/n±s{‰[ÿ­Ö%aÀ Ài±C+!!ù,,úf[é"0K|#ÙBë¬UH©àŸx[´‰î¿ÿ9â{(‡ŠV«µ×ßE_4D©2».aüƒCXÎô" P¢W 4Æ3!£¥7¿:À!“™»ßÅ}â:Fã§Eì\$Y‹ -ëçÀôÜŒ‰@€Ãá ôw8Ìf‡“rìû×–£X®ä¢9‰ü\tj±ÿ€®ÔP¶ÃPWŠ)€üc ÓÝ ææ?7t\èïÔñÊŸˆþ龘þ›ÿ:Aêš6"9ðΡ´Õ?º¥G‰p €•ÿý!ŒÊMûK™Êêÿ±pA¸‹@CCµÃQ]_O†øŒ÷ë &Âÿ#bÐã\{Ëý¢À¿L îJQQ¦(ÍÑØà «Ý5èè2‚ -Œ[éù2Ôn©d¹ùý#1|¹×O_71˜òútØìçx>^øøÃWõýógÕëëûÊ­Üøøàà ß¿¸¼¸L¶ Ÿ˜{óý=ëN=û¥Ç~zþì‹çÏny}Ë–÷m}òá¾ìÊjµq*ÿé<®FƒR4Þ”²{ÌžPÚâñDX’Û¦ì19‘ ´G`tŠ; ÎþÂø—ðÔÿƒ>@›ÐÏ ?Âc øŸ‚aaûÓ;Ý_Xjm•²AÀ±­ù@k˜Å€°`á?Äþ}¢O“FÑÖ>ÌÓ}¢!À@¦zú¥Y*È^àÎúl§ iîþÓ#qÒÐÒ­öàè`±wÇ¢€û6Ð(蹤êßé\tN÷H’E«ÝÄöam´WñÅå0„ÿÂòIõ>ÚöYù¸]–'3ÀÎ\Pûôã¨;z«Á @Ÿ¹È¬Â˜¾#ý+ŒŒX‰q@ø9ð_/Í÷dzzÕÛ‰@ÿ§FÂØ„ôÜZºTj Ò¹.À¨ÿwð9¨ë¢ßÏ¥;÷6êø ü3ñýMM;Ùøw§Žoì£ÀñºÜú?ª#Ž…–”BQ°¿+éG ŸÎ ÿËë+Ù€êù:ƒ¿é+õ„ÿl€ò?Äð â °ÍÅ F&ºŸGˆ¼á8sa- ø‹#1ã Ëåw*åò ¡:ÀÝhô¦Œ]^ïå,o¨j#Úê÷§ñòõbõ/ÑŸÏ ÁÿÅïÀ'¯>öÚ©;ÀTÿE=àÍ›o>ºç½K?ý);ž}qË–]ï‘S×ÎÄî;Ò½4¸ Š$€v6`«Úv6bí:VÚ© M[Uyôø= -PÄc1 pF€#x1¥„þ],ô2úc$à-*º˜‰tá´*›´ï# (œ™Ç€„1@ÐnÚƒÈB?À©?å8äˆ*rsDé!ü'ìwWT¸5nÎÈGÿ쨎þóE°~=Ïó¹-°~&rU“óÒ¿‡†C‘ŽÈðL._33SQù™VÛ¹ßÄ‚´™üãˆÎÓkÚ?wJUö¤ ²¬Ï*‰¨œ‰ÅlJ6hOÈTº¶Ú- ¬ ñ§­ v¼Ì&g{Ñó?Ql@pÿG{y€•ÖŸš -†G©ì‡ò/$€…<=Ä™,ØQ6Cå¿Û¬ûÃüŸ½ÿi£ê„}+Èp‘žÃ…%ÜH«…’Õh`,,À/¨0ËÓÿf³ÜWÀÆá, -ŸH÷[è+a Ô¢÷õš¢'yq1àÌd§{ܶéQˆ*µÂeÑ—é“…ÎÏjå,hI˜  $m K®·‘ :d¿qÁo¥O…•&À]þç9ÿ€\+:¬E`MŒƒƒüÇtÔVO¿DcO¬Çn³]›X@Y©p¿è»æ›Ñ`ýzç˜` @WÊÛuuj£¹ŽC|ÅR¡8•÷(ò‹"ÎÔ±Õ?:}õ\ô °:ˆ3vÜÁÃèþ‹ OT" ¨œ¡‡jÌÿáH\W€Ápº¶~;$€U§l6àÕ7<ªë©üßð/6ÊêJMåõÕ ÕoTWŸi°e¬kï´_,ˆTMúHRl^ÿ2Aüàò„ÑïE)îu ŽLðîÊÀý2‡X¦ð=ƒøÖ#¦ã.üêÙ+gºçÒž=}t‡ùü,ýÏžïüÙgéò‹œðp¹;€v¡hù vÀÂH˜ xB䌨[€KÅÀPÑÿ a8 X$ñ`„gÿ#^àäÅÔ2/Š ~Xìçuq“€ïzy ðÞi>#Ñf>3?¼œœT&'ívoA0)Oí™ #Ò@Ø’»kÜšÍ4€|>×ÅÒ“õèõøŸ+Dðt(š[_q5 -E"WÝùvœÏ¸û#%ÚŽ½ìL Š\Ço`© ßQ¢½®t«®Çµ‰Œd·DJ&Koä±l֞ň^N¨I– ò¨œ ÛÃ’$eÃAÙn Bô·aƒˆÿ;!6„÷»ÿq w”—þp:ÙXÆ -`8œ•²­³ýAôÂ¥ ýÈ`r?týû¬„Èø(¤­TŸ³áØÚ(v`„m舕——úÅD` nãnÿô02¦[ûÒ}X5hÍJ¾YŽ ðÎ}G+ý(pŽ¥¥ômž¤ ×nn/ÜÏ[UÁ¿è·zz¦‹#ªžËq¢OÛòÒôÇfŽ3#ËA»DÌ/”ÃÁãÚ¨ýxbªgÄoÄú;‘& Tö³ËÚ«¿{€·æ{zäï€u³éb³þÛÙÏóç$úÿó}Oýæ´}Zµ¬ªjðàúHyee„€*…õ/ŸãŠ!YI$ i``¨òJuèü× Å_™@ru‚¿Q|jb`™nˆIa>„€Ì ˜@&PªS[º™E A ´TÇ@¥ê:!ÿpb!@u5šÿ0bÑ!à¦^©¯Ý~FHª. þ÷pÿ¿¾GæÚ$ÝÖ––*«yPÿ‹††É5 àCèþûSveTô»ö üÀPæ»Dù?ëò«ó2>yÜ©â€ð¡Ü‡WÎxB4ýäS7|òÇyäö‹z1÷g ÞHÓ´«õ?bZÔP ájç‡ÅªÚ<´°óÿ>ÀÒJà’Š#" W° ¨&0°þÌxô±€D& \̼^јoçÀ=šÃöê¹ö‡ -À>Ù“±Ë“²<î±ÏgœsN'nÖÒ{¬5j܈¨©¡ú?ßÅnÿy!ã=@Õ;Þâ\ o¾šËG"h ‡4¹|  -‡.–”$#Ãê Ïƒ¯ç¥ÂüÓÚMÚëðìLtj7dœÙh§/šHØÃ1{È Nm€)Ág\–Z3v{ŒˆŒhÃá@ ¿aÔhýƒ0ê·õªÛ'NL‰Ô_¨þ ÷—±òÏ—ÃÁ°^ -ƒ´þ§@+¡8ØlET_+Oýû¬`Ö4/̧…+PZ²r¿Ÿ ±7@©/-&þbl Œ†¿ˆ4.ðP€Þ n[[‰ò1öKÈ]Ä §é€Dß0Ë]Øâ¬p›e·ïÑXà4"ÞˆÙ¦•NËE=–OÇÅàpG‚J}¨þ­~kÁïrÚ•ãt] -öʇ,¾æ„=Ó«ÈÉeÄ Àh¼Æù?¢,/€«¯ÝÝàæMûM({ðÝu n/$.—ê†î(šØáw'"ïg®?jõÏÂAÂAÊv”íÐïwÀ¬·ì¨ê $Ä O`?Àrb$¥ìB``-"ÏjëëyÀ À¿§¡á P˜Íúýkyþ_Vj¨„þ¯á7.Ü\3þ¢`3Fu"vû„JÚÆvïà Úû~øÝCìæØ¢Ÿ«~\vù…žæšÿßï#×.R€9…–/°`^tVX ™ ÓD ûp@ø¥×²ÿE%Œ€Ña]ÙàΉy@^ï„à^)þÃ~—«Øð KCOÄ w|Õ7É>6Êd¤¹yÄÀXÊLÚüÀzpÜ"9¥IGÔ–±ilsîŠÄUT˜Éô×çàÝ3&ÖÅ'U €L`ÎÏ)‘HEn…Ts¸™{Æí>²I»)r5äƒïû/ap€cEw‰Ú­nS´ÚNªím ŽûU2J8lÍöfåÎÎovÆ7X:-'z}&ŒeõúÖp¯L 5  ÀÞ2Õ{B¤ÓWŽŠ8à¢ñÌß)º1,O}Ð ÓßQø³,ä[[¥Ö@kpú,Q€>ÿ¡€€š>k <ØêQ~‰ÃòÀ¬jºU÷N âXÞ‚v~lM§™Žá @5؇o ÐW´¦9kˆ­ŒKÂd@e·Wü7ÂÇ_ÊcS:ãqmÜBµ¿ªH׳翕-vüN}â,g2ÁÑf_GÛ”ã LfÄIïc‚Zø‹@?á³?½úàZÏM;°·‡ø ¬%úK0~¿¦B€^µózÞ C¬Gô<°Fy‘ÊúòHe’EÿÐÿUò'.ÿMIVã±@3zéÌP§S%:,õ± à(笴þ‡8íF?, nÐ$úø7•©Ã€\ïo䂟Nu,($@è«÷ÀZÁ½AÌĵ,ð\8Å!˜ÿWѱf?õµIÓ ¦d-ÄH3®¯®n8ÒP pjrÍø‹£±èOå’¨q©“ý®k~¾„Qÿ²ËeU €øÂ;æÙh¥-ðáßñœXô¶w¥ˆ˜¸ì¬²Þý×p /hDn6©Ù•%€5 à¿ Ô%ž¸f90åR‡ÿ)á$õ”:„™hú»¼®qW{ÞoÔÀppܵÚÈ6À0üÉØçÎúÐË“¼Гü‡á$IÇ#UzÉænÔ 4ºÝ5ši{f¦â†Jòùü 5òOUÿ}rc9Žotw\u˜©ŽtwøBÂÜÔí®îîîy~&jÒ§BhpÀ= `íÓ‰XL«÷fôvE†³²}rÔžÍR….M‰úCÜb K³„ÏvB錕ƒ¼ -0Õö–€|`@½½S+‡x"à,ÕùTùg1èÇÒÛv–/ölCù'µf©þfy!PeVaõ‡6¾hðsƒ J~+8œíqê+Çáå¿„êŸG ˜†¡쓲t”à”æôÀ4÷8e@x ŸaÕcÇn‹ …?,)"{1‡ â>"n¹û:HU‰–-€¢vI¯'€/ˆÆ~ÆÞk·Of²½Ý>åøE9(ÓƒÈod¿¿øvÆóÿ´è,ÝPq4I§»ý_ûoé6ðózƒL÷ØmÓÛ)O¨¹Á ÕþÕ{…ÀÌ€è“Ȫg¥á¬KŠú?YǶt©NøòrŸý ‹`|âVÀÐ΢ñ¯° ³*lâÅ¿È(C  ë:ý_Üÿ€Î9l°”GûFîÁÀð¬«3Õš·³àÔ… Už B(·Wo¯7ÃÄÈP‹:•¯T¿QýÆÕ¿hh¨º`_óü‚€Á_b]úp86ȨO°¿0‚¼Àòä[Ö•ô,¿a…¸„пkððˆ]´.ÈÏRí5KÆ®ýYÐ%ÂjÄ2 FÍâåHnŒ¤±`\“þ^`e ÀX4H»¬¬%¡‡ ÜÉË1@bïBmµ@ˆ8&¸ð€‹xÀ ±KààòꀜÞçê3ú9ì|Sµœ·‡z€ŒÍž‘vI:Ôáðx*@sî -÷4•ïš|M~æ†ðû_Ï@Eþ±b3õ ç»Q"°©#âžÉ×Ô¸kܡޒ’Ÿ5„®FÀ˜f`cÿà|Wèz:qÛ€M«µôŠ kZã,`2딂SjÜÏ”“ƒ™ÞÑl`Ö)eí™°¾5œ’Û,LF¹ã -€Á?_+bÿñ^yêøToP7ÜÊÛ~ÿsô'ÿ¨Ïf³XÉÃü?ÆûÕ< ŒüyØø¾@z„ -ß…#—ù 7n‹ÿ˜,©[œ ’W@wúð€ 5À×ÒWõA€/ý7p ¢ -}P²ÚP’Ò…ß -· 0PÛºŸIÕ-°TÀíÌ(JT˜*«Ú$ÈV¼m**Ó3î -@â‡w­»,Û{ƒ½Ñ¶¶ãÑÿŸ½÷ i,Ï÷Eû!0XMwcq‘IÖC–LbZÓ¬P4éö!¸­°ÌʃXP¶}ªqÅžÄ -¬R –ŠZ>ô}Y‚V|¹›À6ñuú<4]Åp¼ñåÞ€ÜØõrì{f×À½ßÏ÷·bõÌÙUçž35½9{\Æ$Æÿçûù~¿Ÿ?…y#¿ñÀÄf$‚§´N§·Ðä‹W>±xë°¢¨ûŠªÀø¯ÿ ¶žvWÌó‚èýq–Hrÿ?:„ 0ªÿXN$²`ÁžòÇ#Cã-W¹ÿÿý‚µÛþaØ¡Ug XüG‘dkEÀŸˆúhøÓá(·ðÑ0üì<×ð? ü‹$~Ôÿa×@¿‹ÇÿÀcqÆÒíAÀû.Ä!Ú€Ú¼L² Ѐ°Kl`aèŠýú›ØØ$Ýenåü…àÊ ê½)Kú²[€çø¹°E«³ðqçÿ”ŸÅgà¿Åm;^<¿øŸð!Œé¨å¿p‡ŠÌXXè]ð–úÏúæÎâ™ðÚ ð_˜ØNÀWFÀðÚûÿÍi6^,òsz¹€Ÿ5VÅ… !œ(g/–ß5` ¥ýµ®¬P×8€ˆÆ_b_’tE’”d2‘ür_ÓëÉd&ãŸ:hArÄ©íµóåŸJvÓP×oÏÚ|‡íGŽõö¡ÌQ*G-¿£ÝrÄ3p*ú -ësç]géîï -qÐÿ˜ÐŽ'AT#°l8†®B²žÎÊ ¬¬¢¦ÓÖï½%膡˜¦tœ•ä“ÿ>ÿ_0ÿ ögù„Dìx€5Lû©ÅβÝÈÿ5Õb¶? jZ³°÷gùvˆY‘Ìoð}>›Tz;~nßá ˆÑ¶\驲 —F>áõ/&Àÿ 9K÷Ä'ña€-Ý[ÎŒÐmôeVxÜP—åtÔÊOBðØO9¯Ð¸ÓY%Mõ?áõ -€¹Šà[¨Šš0Ùäg³î qªqd$ŒõT5ç5jÿÙ¤¿Ù+Xº‡ÁýÎ8@Þ(ÿ?½ßoÿo—ÿÞA¬@OÚüÿ±±Øg±1HAýÛòĘè;€!ÏO¿§ì{Ô`Ðÿ†a8ÌÃùèG¬íÿèçn Xø?üxe 3= 7Ø& ö‹ A ªõã®þqÖ~Á2@*ÿ ÷ø€ØD£Ïìú/ɵµÏÿwGGc°†‹! †QW,öñ7P þ³rý\ûúî~Îÿd³›³îGÓÏ™åwa fíøÌ‹7ÖÏ…yÖóÙ÷ðý¯ x×°Pd5ú"èö~~ì-ØÜ¿½Ûv¯²'þ$ ðºü÷ªÿs1Ìe ½@ЦÈÜÖ? œ½ÀkO00Å6`zošq€àÌb@¿‚w€Wì‘L50X·kv÷÷Mê¾0ô'üж¤wu-ágâSŽAõíífë¬]ÜaÝŸÞØ~£ÿ³ëÿ[î4 =œdÚÛ7Ú¡\î¤PÍ 6ÄCƒß–¿­VO~}R¸ÉÞôÕ8T70Ph‡üßb]}ŸòþÖ«™‰¼×$Ä¢¬,JYº4Ô¬.g¶Ç|#¡ÊiyQ–ŽÓ²Æ:?®þ`åO׿½„l½áþ53 š.ó¢©Â`EÖ@ùËÂø?›®W°à!Î`Oßt6-Ê7J{»|Ÿ -ȵš~…/}Ì ¨óý@@4`å¶ûbD€|@¶¤‡Îs¹—¬4j;CÅÇ·ø„ÐgÉœDäÁCø`Í`åMš®û"\Ç틼ê¸gÓéW>Ù”,-ïþ¿%ÆUŸ8½¦¤&Æ”ôUúÀ0ÕÄѨw4p€TÕk@Q™HOLC à³÷ž=6+yáçñ–?0Óœ2ÍSÓüïþ¥Ç%ýut±ÿ_Ùõ_Q”s; h’9lrCôò±0Ìò¸¨æÇ<á!û*¹ÊÜû»„°0Žº†m®õ| #|—(éyÈ‹itgì¹î>n»±-Mp‹örñèŸÏˆU@¿àò ØÍÿ!€°+ƒ» ¢üw¾‹ ¸¨ùCàÁÆÀ3‹ýzò›Øäî$ÝïÚð}LìT,ß1!€×³‚â÷H0/z^™³Ç¼Zë)e..ìµ?.ÿ§¯zÔ‘"v{€"6¡Ÿ}#<x,‹ÌZ¶\\ -€kàŸ€€Ë‹^@¥Ç€ -`syyobsasApö–÷Š{Ó{bÇ"bõbZXf/ìÑÀ»>]ýUú¥æöÍî©djûûʾišÉµ)ðûhÞ"’:3–IfãÍPÜ1ÕŠ‡2ƒ-˜N7mÇŸ3vüc@³gÀWÛ ´èÃóq7BߎÊ߯a!:!Œ€¾Í}v’Kõ‰lú H€íÏèÁB™õRõû|Ò÷Þ÷jºax5Ôw¿âOÓä-Óò–à -ŒS@µd]ÕãKU~~Þø_…ú×ü|š?xÀó$@pj:Uþc0ÿÅ@Ï -’Tÿ±Å%vtå>þç³ܬýç·Äˆ¿Ó zAâ {´ø@Ìà €ø_ºy•O —}É÷•­túØÆô™ëX' ¨ž¥oc€zÚÊv*š,\‰Òº\ïЗ‹U„]þy,>=2‹‘¬}"²$×¼ö€WŸÜ5$É2Ô={1Û´!@HªÞZ>5³^-¤ò3ª¹IŽLð}zýv€M+o_ПNdUâ×_òÿèÆZÝ•óó•®r®à´â÷¯100‰$€É ¬€bŸÅrÔþçFʈb`îÿ PõïÇ çb@%‰ÀÔQó`ØŽ´]x2ðÑcìn}z €qu8ÊÆ¢ÜÛk„O9tBtÿã\åLJ ¹ÿ®~^þôÄÎ$ˆºxùï€{!Xósý§îþp1À“±X°{îy\ጠ\á³ÿbß`Hpx¹~¦ýK@Ï›Pñ±<ÁzÀç°õyÔóÆ€=B/z©™nÁÊù7ò“ã¢ÃžtÓlA»p{ûbâöÏ\·m  -Ì‘A›˜0p_M®«À€udXƒˆÀ½°ùò²HZ †™Î˜ hï[¦+{Ç#7Œ€ï ®ÛY¯ Ø&@ìà÷›Œ Š©ûº#Õ±õ_ÃÿÊ}ÇA+G4Èúkû_¸ôæ‚(@ƒëëëIƒS…B¡šs´èƒãƒñÐÉ·¹Üúɯ?«~'€OîÞ ½±>£j•Ço9D"oä©Zþ)K®YVÖ:–-¥!Š?<ÿK^ó«n™’íUÛûïƒ Èþç°†ì¶~À©¦6jY®¦Y@YÖjô–=“ÏféÒ×±]ý*¾—³¶‚³}…àO(690m{\ÙŠ nÛ5˜J·M¡6¾îæÁÅ%5óhå È 3¦9S°Îü.úN ’°î#$QÉÖÀÀƒ²˜uTã C 6€2WoDûEØÛ·áeke±Y©²©ª9AwP{ïC곜òùš1£å ©Bj^5#¾ôDäóYñÌÆOfø$>Î*|€•”Fé/9¨s²uw…*ÿþùþ¹ß® ü'ÖB8*†¹1ªÿc9ôû±0@lÄã*¸þpÀ¨üö€gðQD¯è|Â’?,zHàDíÿðãOØè£Ç½ô@ûžØðn@ì °þpa0àb%óèÍqˆþñÀp ëÚ?W~Je ÀÀa p¸‹ Àd0F§Ñ0ÄÿQ‚Þhô©'ûfŒêÿw̸ÎþËÀ pûÒ²Äô™ îý{Ø4Ya .úÿcn‘éç@›‚ àxô¼¥Í'U%äà›þ™ºYhèéU×€ÿj `V:[¸¹¹9½‰ð)‘½(Â&!ܳS€X(è‘M/<º( -G†w€Wé´Ìñ]­Ë®i¦¢@õ/)IxÀÓ%½I÷ÉçÊ"õüñAªû „л·Ú­³¶Íûk#ñ§}h/Úí3¨"¬¯çN’M*ê'¹BîÛB B=Jæ$WN­¯gNœ}wKPýUC"WyBgíQ§s$ŸIƽÎ=€ž9Ô×§9 °Â>X°ÆWGØ}œœ‘€¨ù „§¬ã;æPbúÛÈj–¯.Á n¦ëº„ ÄO°ô¥;³BB2KåYIGô.”iYV¼Þ¼Qúþî]¸|R2f¦žši˜Ò„Û‘}îý®Íê|>¯©¥Ô¾fª^U…0 „Ú÷ÍŸqÃ[Ç™ÿ"€ý}uN]ùI¯XØÚ5»ŠòãþÊš²Fõ-‡PrÁ±±‘QBc üÀbR@rúQýyûÇ5n—ÿ®Â®a×/òyDåÌþ1l˜úϵÿÖ§?}<ðX81=@Ø}è1„ý¯xð~öö TöÇûÇ?â!@™nø ì}z/ú¬±àn ¾æ_[£âHý?¾·o‚“±ÝXø©'öx xõü§!cß#X3;×ϵïàß R9¦ÿìÃØßç Çíþ7Ls_æ å¢L//‡fŸ/;ìÕ¿ÃÁÝ?ÎlGqéš8F 7F¬x«‘øßZõ¤ÐKH?Ÿm( %7Y¸‡W‘½´¼·gZŠ{•y¹8]\`v.ŠÈ~gU$YêB°Ÿ8kj_“8 _ñÏù± º‘æ•)w´âífËÑrÄ ZpPs{Û÷ ç_Žôà„àx.5ºîÇû[cë¹#êùôÎx<>˜YÏ}Ÿ#p°^p~r—@@ß͇‚ÈÆÂí\¡:¹žŒÇ ÷K%¯¦xUÔ²ESÖ¹¶ôÆ¿¿/‚~¨ö7”¬)Ylo¤sØßƒy¯÷8ÿ}À0@Äÿ²ùA^Ô,*ûL "mišžå¼_Ü&:q†ñ"í§"¤õn^ü§Å€Y}Tá}ì$îpÙ¹¬ø„D -§ü²g°˜ÿ ’gG¸½`6Kx Cõž%t²LÞK ¡F?k¥ë–LPÙiKËVèýÇõŽO–d ‹Y¡…:±Bg¯Òd%‘H¨"²i€PQ*ap÷ÿ½ë,-©‰RJ5µÅ‰YDÉŸ™÷æUUMõÍ+º9oóª)À -`Ö÷†ñ/Bga{Ðy— ðüœixç¦túKý'U`lÕí®œï¯ïÿHÒ€(“&“Ì(#€GçFrŸä˜ó”c ¸ãr}áºãê/s×dö*Àá^Õ·)ýö¡Þ3 ð1•ùǨÿ·èf°° ` :L7 ¿޲«ÿÀ•Ù@Ïw€•ýãã< Ï[†”ßåz#x½ç¢úœd @ °Kåw+€`,F¥Á§á0Ý—€ìM‚࿦¼?@ÿ ?akÛq‹ÿÅó¿cÛ¢ËÓ ,ìÝv?w8z&@{W@ÐE0kÖ1@_ËÀ6ºžØàâ >±¸)FË ›ÓÜÿOïÀI.÷–ìØc:],0 ðŸð';ôMê*‰µ®t*wU¥»B€ "'ü‰ÉÉ}”³L&y*Ž ÀÂjóÀqÐZˆ?„Š/Ôåžú|®×Þx8¸}v7 v|}”ÊøÁgƒ™LªPÈ% ´2qÇ`æä[g!7¹~tô¿QWúÉ'¿ë=CÇÜhM¦Ö3™L<™¢úŸ2 #aÌP­Këš,g#Ô© £ÿ½ƒŠ¿×h¨ðê‘d0õdÎùm|ÀAúŸŸÖ½;x‰5€Ó™¬×T‹)ý,ôçJͶ¶?3ÖøvÏjà,W”x:>βÓ"úà@Xôèx —ˆêàÎаÀOpú8k R¯Cð(#'È2+Ç®ù˜' ë‘,‹êKÕK[¿b·ûôxfš€–ð&û*½_–÷©ìs Lœ%Ã(J}eÂEƒlª¦7eÎÏKŠ©Öc¦PPù}@àtñføIÄ’ó-bH”V±]ŠüR€WœgÑ]¡Âùÿ•ÿ5…'!@pŒšÿÉsç†>) ¨TüáXê°Ü/„€.FQÐö£l<̺@îão ?z¶9è1ª?€Çñ¬ÿ˜û÷â1䀟DÙSp€%e×@OHoŽó @ÿ!ÍO€{Qªþ®€ èÝÀÿŽþ~r,6²á »ž¢ú‡ŸF£Ï¢žØ¯Y¸;‰Ü ýk -Àû³‡°£å´½–ûâ* €Åà¶°ÚcÒl|›Ç³ÂåòÚ øÏ6œ ¢QV:P°@¸cô/Úÿ……½žÈ¥y¡¸ÇdL`1ö€ÀƒØIsÝ•»Š¢Ðs¦´¿%ÀiW[ó¯˜JB¡'ïnW3gf¨‰tÄyí¿ºÚŒ·S­A‡#DEL¿¦M£û¦½ø§lèÓl'3ëëIˆÎ2IjöËë„%ÎâzÈ µþ7 ëëùüQéî'(Lƒ² @ ˆÁ£$Ý-~”ÿÞëÍÏçõ„×k$`öƒ½œ¶ùË~BTÿ©’K¦.q¨^mQ«5æ°À¶þÍ?€TþNÀK?,Õ¨Ó‡ýJp–:m+ë«#öWxñAÏÇɽbÖÏô~Ðø*¾—ìòÇú¾ -îç㦿R,ñ1BÁ1B&pÁ ËÿË ž¤³¤€Jx¼ÿÞŠ€óÓhï1ý¯ /’yü»«I5ÕôQ}¶4ÀZUgŠiÑ…¥F*˜PG¯é–<á‹HHP4JôC.è«æó©jòSÎÒÔØZJ«%4§³0¯¨ÚVÊYðÎh«>ß&ëßð—Ø×¤2ëKûDœñÛþÄ"«6Ç$òK±;²Aýïbø€úcŸÚ%¹–cߟr ›€2Ì=wD,/Õ ÀOæ9ãªÍPôc±?l3¢àG€Ñ÷Gq -`”  - ûÑ=éŒUQ\…°åïw•˨ûe °fð1 ¨ú¢.×½§€ápõ?àÔýÃ(Û oDyð”îûxÀå‰Åè¿þ<À@`M¹Ž¼ïá€ÄÚæ ~¯ýÜýÕ• -ÐVþ‹îßž0 €ó‘|âYðòâZðg€w"6€8{ÂL,l²íý3àIËòžÚIÀp^Xxt1",ð.P±'ÔäwM¥ÛeЕåý@ $Ä›ûJ-È'“™ÁÐ`«M/- qŽòk7o4·m 7í="à ýoÏ`€àLòèÛ V&³~”;‰ƒ;×}Îj¡”¢ÆôHÔúBÌ*pعÑneÖófÔ ÛDM^d*À|BÅ ¶0Ù7¨n©ŠeYº,éºnÂNŸ.uMPÿÌsýg¾¿­ÿp«V[$Ðaþ“:Y¸ýƒ±Ë¶à’Ï­½­ôGTižúWÄΛ|tò,ݳ€;lCØþÀ€g¬&àmBQê}Èþ«w|ÜûóŽ nO„>ñ˜*¿®g ×;P(¦e]“kº‰«iUßRõl$kJét„¾‡‹~ذσ^Ó0"ðMHjž~Z¥û%Ž^îóÎj>ŸHŒ–ìYºšÊkÞ”vät¦ u)¯æ3ΙBJYŒø"›ìhòæOÕ‰@'ís¿kð\xñ‰ã—©ÿLÿPñWÎ÷íê?·¶vŽY9x~ÔÉu¸åŒ¢ÿŸÌ ñ †%ÀP¸Ÿšÿ/\¬ „ ü†þ0Oз°7€MëÇ\åçÿ}Šk·PÿÙ%PÐýl #†[Ã/¼fCÿ¨Ðþ¹Ä. :0@0`|®@ã.Ž vÿÅS”0’lçw1˜Ü¥ïk76ÛØØ ÷zžFy 4€c“ßLÆv sç×.×à=(è,IÃÜ™ê£øÜê¿…^þŸmè@ÀÂ2€‰iðÚ9.íòòzð§Aèùú„À÷ÿ›= òXVÉ<ÛliOx2ðZf`açbšÙ˜ï¢È&øÿ+š)umß<íÎ'“~Å45)r*w÷µý¤:Iõ¿u ›÷µ¨~O-´AĘŸžòŸƒ·všÛÓb*Ð̬çÖ«ÕA­“T®Pø5=@›Å1˜É9ËåBµ$’€ú¾ÿ~]>[õ°ŒŸ“¨Ç?2Ï•=9‚O”r .Ø™€ Â¸/˜$X© —¨þÙn@¨0Oa€‚ÅÄéŠ%g+uÙRŽ—T]¯×1Éjò¼­¶r#5€Ë$_:b©‰„ª€ï)y¯wÆ›*a P2T3|*¥(PþªjÌ{Λ©yµQ¨i £Úçõ3 Í)æ½?ÖÙ[cð.?ó¹ÀÜ¿®ÿ"€ëפþeµmŸÎà–›T L&‚ëccc±:úx‚À¡2‹=t€ëއ§=>Û ×0ù èØíç¯ÿ1øHX‚8À»BtGöŽ>FQ¦^ÐK”ð ¹ìíÿøÀg q4ÿQ$² 0îq êÿÆ([øç„ `rw2ÜAýSýúŒ]ƒ=#,´)€µ•kp ÞÇe§Èug™ÛÐç³_‰ý¿Ã¶ýuô"…€Y€=(€î‹ë4 ?…6ðògIhÿ7—Ù -†?ø¢ùßòŠŒâ´ÍxÍ¿•Gnhß%¸¤"'G²&Œ‘ß=•%ê—üPîKÐèJ"‘<tL­N!ü'„]À`|Ð@ˆ•ë&'ÃûçCž´©~7¡ ØÞ.N­çR…¾Bh{»=xâ§bNL¤#2 -¾í`Š>Ÿ º1ðy€+‚øKÔdÓçÃøÿGž¬€°ð’Éx` €XntŒ^é44ôY.Væ?Ïy†<,ÿ§R|‡js¹ÇÏ`ö§³! gûE™âé‡þ ý·ÇìÄÿcAx†}À‹p^ð4€`á ˆ¼eç€ ä:Ì1,@À½§÷ŒÄ‚Á@’¾- `„ýþdêxåŸN®gѧìãr€' Ìu;×Oµ×ཬö¦…åÏ ŽGÏ_Õ3°¥ÿ·Åøßžÿ '`aTËíòÚ ðϨþ¶  pÐ&PÓ2ã§é½½7 -NØ[è¹àP D9¹'ïöìÔÓ€rWéÊXÿË]T#æôý4"­%WÀ”k“Éäd|ªI‡#”Édb0Õf ÀvqûuÏþ§ÇØÙi²8 I ÚWHµ¨¢;ÖËë™õŒƒýšM‡#Cõ¦söQ÷ÿ9û 2†8³%¡Áäíx<á_DùW5Ë€PžÚJd©­Õ÷Ñÿ7ØpKÁ”œ¾`SÎkèh`úOæÙ øï"°±´ô÷5žÈìûÏVÀY^d©3mº¯Ã¾4§³ ô…½?O -ø5æŸîõ ->4Ç<ÊqwÒöÊK ê¼1¦Âè’Qhü;LäL¡lÚV&t*–žÅ¦ÓñÙ5=ÝÒ ¨*ÒÒ à'¢®¤#1o ªýý¨"è55A¨IȪ7u·¯dó†7†Æ ÊŸ+)š7Ew‘LBUoŠúþTÕ»o% ÎTb -i²9!l€…`úÿY!wgÿòA@<@É4/ÀÇÿ­tÏ»Lÿ;ßg08\c`Ü8‡Ì\úsž<Ëa06'€^€Àô€öw‡I€Œ`× ký]öðOønÁÚ~øü:ü©>†€*ô)º~– >Ž.xqë‡ú `üíwÙ†ƒ.”Qúûé‚®”¸¢¼@í¿ކ7¾ '60p7€ùÿh,Hµ~#ìñÐýÁˆ‚ðÍä7AØJØ]3ÿùúÙö¼ ÀLþöŠEaCó•ûùBË®÷b丢«qšý&öÚÐGaÕ}q½ø9¸°Åf—¶Ñœm€ä @áö‡%0Ävy=€E4  ° -`$Àw=]ú^Rõ§š¯íÓ)ÁÖ©])’îî[¦‰Èþ5óT¦;(K¹Lü Ùœ¢†KûV÷ñV(4ÕlRo¢Ê7wz]{ûÃ6 lw@0n4“¹B_õ¤ :`®0z4é pà8 0•töõU¿=‚ð“Oî~ò››ñ–#HƒÉ|S~ï<õø ÿ^üqVÓkÞ8@UUEzþô±6¯êR (À²Sÿ< vÿƒôŸçÿ0 „íbÿ`¿—† Ÿœ5 äc²~oÇÏ5¹.\}naéO7Õ¹¨wxÐ*íÃCù„éï%0÷9&È'¸‚ÂïGèÄ€ÞùR„ÿ ,@·kš%ÑWA_šB G3-ˆ„=€ºHØCS¥l= ë¸$Œ­ôVMÓçó*R“t‰ô™%,iúuªØ¥¨ì™ ª‰üLÊ›*Ìëf"¿”´dÍYʃ&ØwßPT=Q˜QMi3²)oÊd›¸ß½Ü¡·û~ @%BhþÿÊŠBàüûÿ¹½Pà:í Œ@°†ÀÕþC,vw1ø2y~zÏ}òÔõžkb1D€}ùúéö¼— ºNÖ¤cö¼º¸ø*Ž·{WYÀ·yN½ç¸ýÆ2ç¤\M®Þ€çÿv lNlL,Oì-ob†Â4€eÑÿãg/Æ0b#Üì\;;Ü€¶#¹~r”»‰˜ßgùÛ4ަƒiaꨯ/—;:rÞuò ¯0ºÁŽB°À ¹þp2e¤î߿ソ´Ee^–ìúUUS?¸o—6h,ê¨Ñ@zCå, UÒÐøs¥··ª`À@Ó-¾¿Âã<^¸³ì³]ý+Âã/kgT„pGk®õ¸Îg‘ñSa~<ÖõŽp4‚ºõ½€˜¢_Šo}ÒVVÆëYÝÒMŒ0²iôÿ„S²YU“1[x‰Ï«/©[ZVn¨²/­«JÚ2#èùµš)ËlÈÒ—–u¨újºE͸žh`@ýþŠiäK¥T©êUMù„®(Øþç }¥ÒÒQÁÙWòš¢ƒLH›¾Y66¿øSÀFçï0Oé…¹€å øÿQý_éòøÿ|E¡ê¿6·»Fõnn-€ Ì€““tbÀ#€¡ÜÈØPn ¡À‚í.Æð[”G_0ÅÛ.¬ì‡íŸ(Èy ø)Ádÿ! øß€°˜x ü½@å½Åfþ·¨üCÀü>ÛcÀeOP÷vP÷v Ø9.¶÷u=@€½˜0·»`Ü ‡7žx°Øð° pÔcS¿aÀn`_þ/×϶×à/?P~–íŠC€€û+¨—m€önãbV®WÓËœÌ>×€· €ž[¬OØLlú–—mû?/–§ÅèÅÁV¼Z±¹—ÓÅ"gO° pÚAw{ûçûC=ýRî‚$.G$KÙW´®2·ÿ¿®²bv%S1•}XÃFd»j5''ƒÔ¼KSˡҀŠÔß±` Òå‡(àtV$pv£}°žú6W¨bPì«æN2¡V«Õl¶ÍVõnß·ëë÷©ôÿæwwïÞt:Ç ¸Ñ+G<9::˜M”À„1 ÕªcYWTëê*LJ ¨¬{ççU tyª}ºº¥Ë5êô­@íg›ù÷ ñƒ ÆZèÍ©í÷¥ëBÑ'§³,3¢}±†ï0Q°Þ×p1óçs6í·›÷W¾zOÃÇ‘öäß–ÿÃ×÷*/¨ó3B`…ɾ¬¬ÉYX&AS—$K6 @Ú`Éu!Yë€ýL}^]Ì›[ʕĢªšl``IøµeÒ>žDç™AŠDM2U•äEI9Kß; I«%Ôt)UÊå)oÊ 2€wŠ>N¥3‰þP""è”Wþ40ËIgÐ1¾ ŒKy³KŸí¯ùïóSXv¥kbÿOõ_9ÿQH ÌbàD€ä&GÇ脃ºÿØØÇCcCŸ å`ìsø;¨½¨ÂÌÍX€]yú¹ùç²Ü?ðB°8à‡Ï1¸Åª@8þ€ò÷Œ—à` á`È€@Ôýý pÀ'ÿŠ€ aDl3ü8‚ù’¿7Ôêÿ©µÿ& býc - ¶Ñè PFbßÄÆ‚1ºÏn0¸{mp ÞÇaÿ‰…é :ƒú"6àþÿê$æÜ¡ÚQ@\þí À5 WþžxÉÍ!«7}Nö‚€Ù{aoú¶@§bf±Œð_Öd.ïð€Àôò;6ˆ™p`€ªPÍ×ÌÈ)d -=[S…8OÎHËÔª·BƒÍâ냌cV€-LZ-Žh²æ¯ýáYOhÛßh -€öÁQ¡Z(Ú;0¾Y8ZÏ :B!‡cp°íÈäúúRGGÎ߀³¯/söáv‘— ,â£#cñ@>¿tÿþ}Þ†BÀ{ßK½¼>@`ùÿ°Û?oÃ,>Y×j:â·,UPý@ûg Àƒ%Û -¨\«iìû‹ØÈðêh«¹|¿ê1þ¹ƒÇ«|wûLÙg¿ –õ×yÈÿ@ûìI Ø:¿#0¨ˆOàBžXºÅ ’Uôl„zyªåüg1ÏÏfÓ–¢§-UU,¥Agæ1Ž®™ÊÖ£f.ª |´M-à4ÿ D"²¥iš¤Í”¼F^5¹¯'`¤ª°_>ZÊçS)ÕÐ"²·p”*yÕ„³Zp~¯LIr„`Ʀ ¶HÄÇ16À g`6H¢7rÿô–cu_¡¿¦.¿þu×ÿô5¢ÿ7WÎWöÏ‚û¢DöÎüâ8\ãH@Ðxý?FÝ?UþÜÇCCté··î.DpÊDù æÙ•¡@ˆípõœù¸Å„>–Ð$VÞ~Ì£îû£T’q#Þ Ê ? Ú\$zîpïѧ…î¤ð4ìbÕÿ€Ÿûÿ]¨‡»ÁÑà$€>kxh#ÛÅvy°Øyýl{ ÞÏ`õf‚P]¹½sñú+/àþÓÛì-|µ`Û,‹,@pÙ-Ý-æÝ×àÊ=²—ÐyäŸ×4tvð27üÓW抑´Ð; ÿƒ-Sqº= +`Ç»)ºè›¨ßW•}½‹ª,"@1WOÍnb&ѵ$&À­VÈÑ,ÆØ¸5 -*hÛf?ÛàúÙìDpÿ^l‡pÛôíª³\¨æØ5øÄYX‡¦z 2)g_ªpÿn_ßo~×GçŸ÷=3ºžœ1î—œ÷ï{A]3x@uŒÎ?@-·,«QÛj¨Z£1OÕ28]ÛÒt]U·4I8ÿ?#{`ï„ P­±ï/›è¡#‡]³! àA¾-ÚGËÊ/‹€`äôt¨c‡W? ->ÏöY6FÀKhøÒòKüµ êßOna€-Ü_Õåt//´€ŸŒÂ¬é?ýã´ÏR5]~y X¢mÉYªý[ºÚ0T=U4ESççç·eeMµ9mjTþév-=ëÀ`%"AAaz1ÖOh:v¥æóGNçŒ -Je-a(’DxpQž˜}.8xÖ7ËnG¾ýÕþÔy‹£· -s J½ :,+ÀaÅ`ÿüÜ~ŽAhs|ây¹H<ô'Qÿ©ü2 €PÀǹ±ÏbŸÙLÀ2VPô—QëQú‡Çy0ÌešÐä€ýÃv€Ýóʦ?‡…÷ÿ-®ô(þ/Ћcðbûÿô¾§..í€_Dñ9<ôéïx¨þ`F‚ÐÿGŸÞÀ:ûØhPôÿ‡s9»ï&1†ŸxúäÉSL -˜6àñÄplÄv‘ø]0°t ÞÇ€)g€¸æxô\ÄÏÒ«;€ÛpvÜÆõž ᬬÌòáõàg € Û‰ób¯L`´ +@æPL_Éÿí€%A L0Í:Ž*N 2Àw€‹Ê«t$éRÛtJm?õiØhÝî)=•®¬(§ÈT‰ý„ÿ€‹~îÿã-G©€R+C üÄ£×ÓÈû¹±³=ÁA€ÍÛ¬À¿Ùlÿgz«xºîì»Y(¬c2Ð:*RG'™ÁP;w4­õ\Ÿ3çüü.òi±ø –ÿŒ`<š $“^L0ê70òÞÿëÿûó†ªg©¹ÝZ2[[óÞÆÜU®ÿÞÉ"?áÿÛÀÜ_8ÿsçßø{k5ÝBܳûÿ‡àcÁ¾¯×Eã.¼ýÜßK €?B‚ǤÞ¤}¬ ¨à¢úì/pωÂt¯ú¬ÈrsL°ûÅÆ¡Ç Üfæ YA=mÏ@·€‘ *ºb" Õ•¬¥.©ŠÖPHFlx-ek~ËT0ü³dÅ`ë`ÓÒ,SõPÖà œN›–déyçÝRÊ«jØ-H²f¤œôfž ¦k3yU»ÿ¹ÓÈù#ãèóï U’– ÃXšZ5ª)Iö`–ë¿Ò†YxÐ?¹/ßb0Ï®Í+Ý¿âúLl5@PΡ=Äuáć(þœ°vÈL&ÈÅ>¦òû /~Qö øöGAûÃÔŸÞ@Rïð¸Køƒÿ‡¹ÀÀxñ<ìñkG -ÇX°pxàY¯ñ‡Àð­n ¼@M'àä~ÂôR€;°!†!ÝæºJàõÿ±'±àî(€‰µ9*þ¨þ»àîn0 Ò;©õcæÔ`¦Æ¾:Áɹµk#ÀkðŽÍéåM¶b'€ÇíÙ‹¯ȡᚴÇÇíÛà,0e ¬ Ê.xϯŸÛ6€bàf>8öÿìêäòæ?îM,,L ößæ ÀmÛbÑ^p H„ °ˆ À»|ê¤_‚/&Kœkv5BÊþ>Ayœm€•D ï?˜’¨ô#°íÌÄ[œèhÑÛ«f_¿f0±³³ý&“Lÿ1ðàÛr¡àt¶ŠôÎÁB.•£úO  ÊUûR9çݾÒMgßçws·¯ú'²…@;>9šû%%ïü÷^1P^o ÃÿyêŒÕEm‘zý†”*ÿ業-]U_Ýå|ÀZMHÿ¨è£ð/aP£Cgwݬß¡*cü- Å;[Íϼ}zv öA€@Z÷Q+ïã¶¥þÁ<àñ[ìÕ°c°ÿ*hG+ÀŠˆ¨gMü#C3Õu^g€ É6ÿð -–ÀØ2u‹Ê½•®G4¯¡üÝ–²Ø GÞ[³,yÑoY*³;aîë“e]³$xù«^CSû}NøÿéJ-¡nÕÞüLÞ«Î:=0Aˆ*^5•ÂE^15•~àS©¦µ-EÂÐ߇ìs°;³>_Ä6ôx{"05ÿB°òW£^ Ò -³{nréçÏ&Ñå@Påý‚pnoàœ™œÌ ûûìãÏF¨øÓiäãòÐVÞQ#Žýÿ8oüQ•˰æåëX ð9¸y¼ Àš]=»ß†Ï„Ý„‚/0xvK(ÿ]b!À­ýÀo<_x˜€Þ¤@È¢rNýØsoãËX€èÛ™››ãúO0à»™!€¯c#Tý¹ø€hÐc±Xì»C@€Ý¹ýk kð^VË ÓÔÎs×Iõ'äv…PZä_),v.🭮}þ¤ú?¿´s€.¹Ü ANœXØ,þãò‡Øä¿éžÏòm¼-¬¦'Š Š ³p|èÔ±Žtå.IÒÖ4€:$lLÄì'F©þ¯FZØØC \€â­)Gó!€&s_¿¥¿ÉÞ4‹Ìhfú -ßú - ðõˤÖ×OÖ>˜à©Âz®z´þÛ¾*aêÿ×ç„X©øÐ­x~4Ùr$ó¥û"ö¯ä5¨Ny½Ü÷6þËÒU…J¡f4¸ÑW1¯1ëKÓìÔ?*ü:µþKWCÿ¥^&ðÊ É>j±úO³f/˺ǖ̋yô·üA³ËËýôq¶ÎØÀW§û%Ëó9ìO†g {ÒuzoªäLå«©¼©«æŠJu_V©ïŠäƒÝ?¿ÂfX¬HÞ‘ -€Ùƒ•ÿKÐÿ°@å?çâŠY€¹2eþH5ÿœû~{ üHñ$Ãääúdft €±¡±úÿϾ€ÊýPY0ð‡9Š·ŸEyš_\êAýi="©@/òcÀè­á·nñ€Þ~}!Œ€© £ø{ðÑ<p ¸†<Ìùó`ðÏ£¡ ` ಋº'Ì €»,\ ðö÷Wt·ÿž{ -Oİ -ÇÆ¾Aý稠É`@ë\«®ÀûXL‹(¡BÛs¸Ý!<·YéVÿÝÆ:à6kùËÓlÀ4i7§_^÷ÿ½€ð‚X¸Ú>€Ó<,@Qî÷lËåé«h eþ…`ÿ?Á'·û࢞Žd©ôƒþßó_6÷MSÓ tYµM›_Á@’"‘ÿÛÑ\m…¨í?¤ò?˜ MÁ ¸Ù¦ú¿Ú>kÞdNøù¨Þ, ¤&þ¤ïfµ¯/ƒÐ€öúI2™ÉdíváB™ÑBaý¨Ïé¼KÀù»»7átc{»g€AXç½÷Å -Àë5ü*uÿTØ·¨.6TÕ@;¼%ë(üteK£’©rËjª^cÊãÁƒ%{PÛ¢Âÿ¦ÿ5äfyÀ”~.ß²E´• @êÙ/™°ß"}P±0`’¿½ê¯*凚 â¡ð AéOsÂ-íçQ‚OÐ_yè/PEç'ÂM—³•¬–¶Íùë ®Ÿú}EÎJÇY™ª>„û[Š®b¨Ÿ¶Àvˆ¤Uc>‘•5#ax CµóyÄÿZY+‚(©}/ÔþËšžöE$®ÂŠA=>Ÿ/¥fòyU©å ÎRµê5#åÝJÔxG2yCI,šTY UŠÈŠI/Éàþ¹g±þG`ÒG73zß -èïK-ù¹ù×!¤%YXXHbÎ@õ_š" €%€rî_Ã_²=ü§CQ @…“B=`îctç‹òÐO¨þý̼CExØ–0'0[ìUÿ–0fuÿ­áÇœú‡žÿÅÀ­è­LûÇ@þEtØåz1Ì®¾l:è±—ütûxë  ŽÄ`ÄCÅÿžËžé‡7ÂAêø“È˜›Å7ðÝw¨þôò„map/|E±‘X,ˆˆàà$&£»sÚuð5xÇ´âÄÿm÷ìC;ž–Ý除渽€-aÞX €ðº²¸žØ€ço$›ˆÀ&ËÓ‚ȧÛL©´û‘¸ÌP ¸¼\ähÆéiÂctV|ëö²ŽóQÀ]zšïv%zž¶è:(å&h€~ÿ>½øNW#«­æêê´{!^ÀöÎëb»…À™ú³½mç"˜nÂ`Û‘ë£ú3ÉÁÌ:Ò}Cú¸‡[ƒëÎj*÷mêó»ŸÜ­öýÎY¨†Øˆ!µâ™/“”J(ÿ÷½ ¿1Oõß²½o¶†º7‚²¥PãOÍÿ¢¦ª²ŒeÃbAµ4D ÈGðª–i30KŒPýŸ…À´„1€L@¦|ÆœáMyS3 Xÿ&¼Îj©Z‚“R>¯[ªª©å Ó4pÿ¯NÂJ¨*€Y:8£Ê'™ Áš„©ÇÛÿ0m' ¿Æà³©‹ïkE8ñ7Ù¥Ï7u¾rn¯þÏíò¿v~@¸– Àa20I €…€¹¡\ì³rùcvþÂ5t§ì¹s‡s€Ëý—ú…}T}ÈõÆû]HÁœ ôÂvþ&¸ÅNÏXðâ˜ÿ/Ü¢úÏêÓ{ 6òÜ¡dpõ'4@Ý»Ë%æù.¦ÿ„ƒTÿÁÿóïs»Áïxþÿõ.•ÿX08ò$öå×|7Ü_˜ 1߈¬Àà\÷ºv]€÷²@ò¬¥+.÷ÚB€ùo)  {8nC€¦¦vX°šûMà5¸Ø²¢üCÈaö`ÏIŠ€S"f¡G ÒOå¶Ì°xÝv» ¼ƒ€õ?³Å46ýÙߟÓLm_ÇsµŸžCñ4Iýâà`jêt*4µÚ¤’â:{8ˆ€ã 9gløwvöF( @³É€¦T«qôõÔÐNND´‹íÐ`&ÔJ®÷9 …õÒ'Ÿü¦Ïùù]g_ŽýlàmÉõ8õk†×y¿4Ï2@¿ßð6Тkè¸ ¨hüõãìï·<¨-"PƒÀ_ÃÜ˪-aݿԴ?°ü·ð"Z°xvOUµÖʾ ðãvêép`E,ý}¼ µœEþ4„ÓǽõÿuŸèæëá 2E€Èûµí€˜ ãó -Çg™Xž_·Lªúô¢k Ò…¦ò÷®¤5X+ –?²¦&ö†Á8\£ú?Kõœ…HÄ‚@NS Å”†¢æç µ¤êùD -™ŒŸ{M+?£êô7°hššæ]ŒDjªv¬šÒ*«ÿ°Y î_2…/ý¤.;—otWLéT>Ee~ÿÿ6HG„—•˜[Qé_¥—Séí?(¨þçœ(åÀ¿v?L&'3ÉÉÑ_2à<à;C#Tü]C®;èþïðèŸ[ýa€èúc>E,@ÿðG=?`‘ˆH á[ÑÇÃ(î·˜ðŠÿa¨ò‡ !Àp ,¸ÿ¬íçY¿'\ö¸˜0ÒÏX`¤ìÁ8_4ÿžp,öd#øÝ õÿk [øõ¯¾Þýêÿ×1êÿÃÁ`Ø>xücOl€ï‚LŒçäëÚu ÞÇ€Ùˆ¡ÊS\pl?_± €à§£$ݶß+ºñ U¡¼¸6ê lá!Ã"¸± -@¸3ØÍ?;íñO€`YD2!*HL@,¾# ®ò&÷NšDå#0—ÐÌ®¢Ù­SuŒNšS̓Öà£Ý -aöOÝ{<4Hô<ËIg6èmxÿî€ pÖ:koߨŽ;o¾- ü…Bêd0j·›­x¨ÕºrVÎÂo>¹{·Z¸ûùçÕŒí̹Ývø“ñxÞHý{øå ,.ª†JUqkkK[Ô¨Ûߪ©zZ®Í3Ø!Ò1õZÓ{Äÿ%X`AÐÐj–.Ãl¤}u,K°ð‘ĺ~ž°9Œ~Ó\ó Äž¼";ö¿Øòó2m‚0_ɸ7›ŒºàÙGl°þ÷±  è‘Õ­tÖÌóÝDu_6uSÅÒ_YÔ•E¶LøYÙW˜9 ûˆcK5Ó2]59 óôkôP¨þ2Ü€M«5ŸÊ zÆCÝWR%Ão&Žè½ZÞH˜&ݪyD̾ÔÊæàáB„>OÈß LM«„^×ð½{Ðü”fù?7ü¢ù_]e£9µ2e®øÏÙý‡þŽWl -Ýr°¦øñÃÉ$ˆ€'cc# (—ËC`(÷ó`^@Ãevå/s4Û ô0œÀ`I¿+jçþFŸF± x<ðŒ5·ž½@÷?{Îôu …ßSÌýÑì—EÃÇãú‚ @x(<„ù¿ÇÃCÂÔßoƒÃÓ׿¯ƒ_ïRû¤ÓFðË êÿ7zõÿ^Ø6ކG6xÛMî&'ƒ£3sÙ?\¯kðÀFÓ8+.ع >¿ÇJçÀ"_Pºí¡Â -˜ -šˆV¿|Cü›ÆÏm À&b`—ªþl -€Ÿàž bÇr[+ù-f1²`º¸ív/Lßþ9+\ðœ¬ÑÓgr6@]}›T*rL­®6§­–ö­x\Z]ŽÃÅ'þΛìí/²€9 {v¡hR±…Îà ˜¹ÉMþT›ýú -'ëXþ·ÛØ(´âèýˆ¬:ûú~›Š‹âÏV‚Û&“?d€pH ÃP¨6É -$~ÊVÍÊJÙc ¨ôËÇZMåq¡úâÙ‡‹MýáÁήõtô¢Ö4z·†;‰Zíh†õþ 3ˆÐjù¼&Iù]É«&ý´ ^†ºNwM¤ŒD¿P _DÒ"°&Å?ó[½©!—A3…3ñût¨ÿ?•±ý—øU^•¨ü¯ò>€¥·úçÒï?Wør Kªþ„Ä -ÛñRöÜ -àž2÷þlÏKxÀ&@?‡ƒûß?0>,’‚™Øï €ë»g : \áð‚+ÿ ûløEÔuo¥òŽM.†Ð¢ÀbO½ Àõ §°)7 €M €Mä`xÂiÀ"iyù*aé6B–Å×N—‹Šo—¾WY±ˆtM¹;§`Œ -  : É|*ÅWW#MØö‡Zͦ£§V.Ž@|0“lo´§QþEìï ÎÿÅòÿF³øz§: Ý(îl·×ËÕ¾Bá(ƒå~ó¤/—Ì´B­³v GÆYuÞ¬Þüü“» -|î\oÁPèLd‚4pL2  - &ó ?ÈìÔç[–IÝû¢™inÑÑøk*ê?î|©¸?xý2€–XðÃ%Ðÿ€s€Žå,¢©:¢N³oÕwËB—Sú[½pWÄΊI{€T³eŽ bï€J]F)¬øl)wüX&ó€uý‚bØ©Gê{»ðJˆ™Z˜Ö1Õ¡)¿Ï¤·Ø÷OÛYQUeQÑ%$(ˆCb–A­†!ülŧÕ,)퓵Öÿr‹ºHs¿/ó”<2‰Øê@z¸ýåKÕRʨ% ŠYËà pÑ0%µajï‘3•O(j¾Tðª)„-mi€fyàƒ$6%fô¼Ý GqHïwp1V¤ËkH—+ÿªlVVQþ1Hžû×â?Ò+çTüñŠT€8B3™Ñ_³ÐÈ·ÿå;@®;wXóß?."†Ëýãeºí+\œÜ/rz°!@4@Ô5À‚?!ï£ÒÏú>„ñ@õ}}F7½à?£:¨Å¢ûSõw¡Ú£ì{L8Ša“ Gÿ|Cý€þñ`-°KÅ|÷kîÿƒ_cOÂÁ`xãË vxz/üì^˜gô@ÁØ@ì‚Gƒ3s×F€×à}ðûYž(²!0®?r%Vþvar©:4bWÍCëM*c›>;UX>¿¸¸ÆÿÌ;%®RéÉ7—}XÀ -ØŽ‘€·÷ön3ªb@<À6ÀEVL/`ð@‡ƒeÍn·+Ó¨‚ο  pSa7T§««R«¹zêh;¨dH«Žx|°µ„®ÿ €âÄök„l7wv^ïÜ€-àëÙm$5·wvZŸ -}…j!wŸV®o=w´‹ôNV'gŸÓYrÞýäó‚“@@.$ÒlÀ¦#ŸŒø“LÿO$ŒïLœ¿†×;¯ú§oÉÖ¢¦ËÔº[[j yª`I²Uã0Àš^£Š¯Õ ä@éÿPZÙc6êïp°OèóxjÏ>i_/¹§Òqƒõ'Æ>áÕÇáÁÌúã t~}Tœ™€ñ?¿'-Cä/¢„1À;ê"ýW€º3”‡ô!tKÖÂW0¿Ïj~]CÝ7 ¨‹¸X4uÍRThÐâKœDØéÈ–iqB’BŒƒ³ #H@±æ\ 4AƒZÞ›*USù£’Ó™Ò´„7áÍ›²æUµcþ¥-E=rzK7†©%S©T¾¡*Ê]1#à´ØLûÒ’&aÀ¼í_¸‹õ¼Ää½NþPAš• I«1V1 -˜2WÎQþ锋é…ý~ÜÌØã©•ÏÎö„Ú_Y·LFlL…þ¸.4‚T|uá#T©ÔåZ>>OªÏ/yÏO¥¿þŠPE=+© |i¹RO+ªÉ< îG¥ú¯(š®Q‰×Qá©ýÇ& Ò‘, êEI§CÝ¿ -: M˜Hû"iYÍ'šæMågŽJ©’³¯td(µRÞkHKUkÓ»"Kfâ{gªJÐlQSS¥BÉ›ÏkùT5u䌛«HBå§O%a ² Üo'¨Š((¾Oð×ÿˆ$›¬nˆDV#‰Çÿ+PÿçÖ’k‡kI¡8·_q¾vO²^¹ÏFrCÜ¡—þ« ö€ì4îiE‹ ”…·ïÀð=f0 `Õÿ ðñ\Ïèò…Ẋ1ÙÇnßFé§fŸN.OÌSŽ…éªÇCga^<á‘‘/7¾„ÊÚÿ¹¹µ5‡ßaýû?¾¦æÿkŸl 0~òôÙ=p_< Ä<±à†g$Få2™¹×àý€"W{¶ ].:n÷D  °Ÿ.Rá¿ÍVÀ{_Çýk/ ¨óó4€¿é€°Aø™ °tC,±i¯ÿ7ÑÖOô„€<ØÛ›æ¹ÊrOc¦e, ˆÀìÛ?g½y‰®P>ˆu¿ÖXSº+ŠyUÿ¥ÓÕ&ª?½¶Ð²OMEV3ãíåxÆÑ\Ý•ï¬ÝÜ™Øá‚Mý?FgP´·=Úår©‡¨ëŽ›Õj!Þ‚>°¸0øp0“YOÊ}¿%P½G :ؾqöá‡cP¼ÑòÇãŽä(„ü ¬¢©Ð« ¤7d™Úþ-U£–Ÿ*a €¼ò×- a@‹TôUý5@€@ü査ÿ´Hüí’Ã~8µ…Í=n­ˆ?»ÍÅÛ>ÁèÔ+Yú¬ÇB³Ï³‚:敺ˆ Ôöï%œ Ôô,xÀ’A'ˆQƒî`úïäìÖ>}õø@ä[T=Õ-EÑ©¶G²àômiº”ÍZ MÁ›iMcáál–›áë:8 |À^OÔ£óÄžàBZJ̤PÍK)¯æE -€³à=J–RyÔ $,Í0M‹ê¿“úg ¡‹7ïÓïϙʧ -©uorqubÛütÊBb›×Hþ_<öÍU)rÊ+óý!wI<ÿ§º:‹´ºÊõ_Z\Y\Q°þ§îŸë%&? -.ÀHˆÀ:¶#cŸÈ#€~¾,ƒ XïwÝ)³"À\@xsýè§²ÏL~áî÷ÔÛ€[<ëGÍgN~•wåßu•1à/‡±þáÀuþå0AL åB÷Œ…ƒ±ÑÝQjÿ×üûk7˜ÛýUþ µÿ_l<¡;Ž< n<ùúJðìé=‚žØF8 o|Ià»`l7ø+¥s]»®ÀûáØí>s‹n÷W¡=ö3;¨†ë¿Èä(»MA#atñüo|paÛ -@…õæW>@`ðúŸêýæ‚ Ä‹;PÄ,S&œóÀ±}áž}» oˆ_F`(ŸvYG…QO¸ôS·FçÜþO1À±8ÕŒCèÀ`•ª~“I€¯›Ô®ó àõìNûCH™8½³Ýn­÷U ¹õu6øÌ¥ -wNZ-Ðü`.œÉœåòoï: )çïî:ofÚgŠ€­+8pÄñ™Ô}¯Pý_4µÅZÃhÌ74ªwÔ«0’e*ð²Õ BOp@ol¡ù§*¯"!Ý?zÖЩ¢bpL7·÷Yp÷*Ôü‹I~ÝÇsúŠH󭼪窊 -_™gýl!/AÖ ò{Ò¼ö¯@ý¯×X§/_È|âÃŇðö€>Œ}ÿ I×”ÔþÈ7`(B@ÑðÀ "èþ&½›nß‚5°lÍAPGæ [#X(û2k¨ìGÒ¾YºÑÑ/›5c&åÍ©û©D-åtÞt–J¥#giÆPe-ŸO$R^]M¤ªß;KNç÷)¥–0R©Rª”+¤R©‚j.šÒÄ,G ɦj®è„0:W¶ÞoÓš’|ŠŒ©Õ®tú¾\è~ªóøƒg><üç|#iŠÊÿÁ¢ÿ0á÷Ï%¡š; ˆÚ¶ðŽÇ“Œ2œ T €j=$ŒîÜ)ó* _\ -Oàþ;.ÎÂ:`||·1`Ànÿ£Q`û »¢ÏØû/ -O^±÷‡Qû±p€ã晪ÿž^éw…G†àþÇá~°þCû¿¶¶¯¬íÏÎî~‡öÿk„û^YRñ§æÀ -?}BõßåÁ ¸1²›ýn4 öÿŸëÚu Þ `ÙaO@ر'\÷ùì6ï@ØãÍ5•dÛ + ›ø7lˆoûÒ¹™[Px°¹9½I½?ö‰eaú·LÍÿ&®²°ÂnþBxÉÆLH\ع˜}ôö @52¢N‘¨™]¨§™þw‘NOYIµº:Õæâïh‡B!ãì éŒ‡ZûEýo‰iÿ6b€š;¯o|ˆÊ¿}†÷¢‰?Xï+[8ʜݠʞÉäsŸeBp=|88˜99röçr}}Îj®Jç…kÏ„ CÑo8ò^p±˜Éû•zÿÅÚ–×Ë}¿€9?kÿjê–ªj¦¬ ñŸÎãä×4·TùÑü#‡®¿ä_”Z8üðÒ¿.zwg,öÙâ:?‘…sPöé²­ÖK‹áºHüëT²ÜúSqÎÊš”…kÒòï7P,äž‹ (–TQÈ?«KtM忬iVš•~rOï÷w²ªšº¢îƒaY*ê>¶i­yI`i]ôåtoªÔbà#àC *¤Ýÿ ÐÔÿ @>Og%UQUï‘áuzÕ¼÷È›¿ët¦¼G3G3ùR,g!¡¬­H¦2é€ÿgrZwÇ}ñÓÛh€û+bGjÒé½ý×üäK¿Äç—9çãÿU6¦Ì)aý— ¬ùÑ8'‘|迪ü?örý„LNžŒÂ 0‡å?Š=ÎÐõ—"¸Ã–@zË3Îd¸F팀~fº¢p ÆR6¿tµªûÃØøGéõ^4J­ytõd;€OÙ3 {bt>â C8‚3<ØÜ úgw2@ß¾ÿëÿ¹À¯vÌ0àë`ð;ªþì(àð“§÷ÂOïÝ{z/úcp6Fvw'Ga4§][®\€?;þ¯ÿb(Õ}Ç´=ðw,´¨à<ä~߆{ÂÈÁ<‡,óÀŽ‚ÀÏt³à¶¾¸dàËž -ð˜íÖ„ PØRY/ -±ÿ«÷zäJá»8MçÅž €ã¿Ò¬”ϧ»šbvÍUù”éZ§0RáÅÀé*o4›¡³ƒ)D9Z­©€â?PÛ¡³éýߨiŠýý6uþ„ l›qPnžø°µ~t”; ¢ ž¤Ê¹Tõó›NØ8¹Ö•à4Û-Ç?/H€ô¤ž7ü‹ªáýÀ[ƒí*˜séc ²3›Õ1ä‡ uÞr Atƒ”¥Vº&ÿQ-ÐÒM “j”5]æø^¶P}u¶ò£¾Ô|tèߣwOÓïƒK=UsI¶Ž Ùð¡»ÂL0" --X‹`˜ûeáQ,×ÏgÁÝŸGÿua=l²€ÎY‚2¦üÔùÓ'¦{ÒÃþ¯ûë=1à79 ˆ­€m p¾ä@Oð7; —¾#…:œÇ BÚ‡?LŠTâ—7…à* ˜}€0`ÁØaÚ1û.pQAà+„c7+)°8¥¶n¥ ãß?U++ÒêÄêjqõ´åXm¶šÓ‘&ª¿Ã1% ¶Ø¨ÕæB¿óúõ+áß5¢|q -qßÎõÝtöe¶o|H×Ë7sGè?ŸµmG(ÏUONr¿ý5ÿe§ófu½Í«ÿž €³oµã‰¼Á ÿ¢Ÿê¿¹ex½Ì«ìó‚-gëlDh€Zü-Áî×#Y*µ†ni¤šüG 8ƒÁT\åc¶ÿ|(Ø¿G¶3ó`÷Ëp ýFÓ‡h?Ôz]ÓNFz /û9 Ô¶ý·ø âÓMz¬,A<¦,‚~eQàÙAB¼ û(V6û{ôóð "£™ 4J¸#/ú#pýåÝDˆ–N/V Ô?æùu ‚`çß™íˆ[|˜Õƒ ùf©WŽ`0@¬.éô-ÈZþ{§Ó›È§f ¨BE€WUµ£Té{çMgŠºÿjÁ›ŸOP _ÑÖóôi*=JdQ‘$Œ:D±¯qçââ§ù?xФ|JRhÒßã?΀z€ÿjÑýOM),ÿK’ÀdbÍ?wx8Áü!«V%h—VQÅ[ìÈIà KÐ\çI?¿›xŠ…uƒF2_ -“!á„ÙÃkâ–YÒ4ÙÔµÂvütK2x¿Á”_ʼÞeã?K7, ;á°¢£`©*‘ N,Mð/ÎØÐ_…hÐRùG°”p« ”è}5CµtYw¨¼ÏåbšiÊ’IïXÌ9Šš–s-ö Ž[®"6cš2'Yú?-gc • ´ä i|'ùõ(âÝ"Ûûí¿nhð/Õ1}þ¿äÿ<¬È`øÄ AÞÿC÷?B莠ÿOÙ[‡ðBBýWýC¨Z¥+¡¦âL€ËY–þ±%àÍÅé›7éâ:ÓÕ¿½ « Ø ð -€9°N7yðSqþ)¡öOÙ…÷аûû4ÀþæêwG¸ÿM9ïL-^YD¥OèïÄÔßyuDXøã^'Â'žðîvÆöR\ú£ý¿“z¾ó8µ³óxl‚àðÃ"çcªóL±Šÿ©_Âè§ì!üJÿžKŒ"•¹È¼ o4V¿¸téßÚ¸ç‹rc]€Äè½É~{°sø’MX(bk8@ÐöîȹðÇæ_Ûÿgk4Ø9€Ü@ý?Ú>1n"JÄ–|>xûGúqÎ Ó¿{bïÏÖˆT¡€à~Äξççk·ûõ’zz*c@‹++§ªA€z\Vƒ+’‰0€j•¿FÀßn×jTåûÔ*„ÖÁáaØÖ†ò5Ñ °ÖF¦À<¨ Õ8 -˜ ü ½±Ñ·œFg`h2ý[„ Ñ‹N¶¢õáÉÉáéÙôÆâ²ãÖììo—³/Bõü–#Ôà( *@$#âx·ðaÑã™ólMÓ¬T\Ìé†Ä¥uæP~yüCû£1` +†ºAhjH@dÁ,ìfòìÁà ôb'ðÜÒˆ‹Î:k÷²Wyß>c˜°érö!zö\Ûg2øìä£H)°ddùÊXDuÃP­-^Ï_M¾Fã{†TÍëþ%$ýY3™Ñ9 €ÞÚD°Aÿ\4ú‰$Ðéä&Ê&¢… ŽP‰t¸Ù‹—þ›³…4KTn€ã)¬•£_( o£jŠ*§ŠJ8§è…B®èÈÅ\ -4Š¥\ÎË9\¹ð?9f /·nÅŠð Ø'z ïçˆ*ÌéZ.›exÊ ¹Mü;F¿ýö]*@ªýÑ HüËZ}Ë ŽÝ€$ÚÿžPxêÿ=°€uŽÎÛ ¬ïQ½úCh=Ä4 „ßnâ¡ü€ÒÏng1˜ÎúÁ¦¹ø·Û{sñ'Ó7¹úg+ Šù?/^½j§÷p¦_G÷ç*‘¿ù鑿C̽€Å;èüSýοщ¤þ#LõA œ ó?œÊÿ±ÔþSë;ÿÓãÐ>œˆ3þ?p" Á§;S~ ðË)çÇþ‡¡$túçS¤2˜AÞhþ¿Ì\ºôòÒ“ÿ¾€ ùOmøïz°@¤½ú=‘ðˆKîÑFKÈ~<3àæ¹Q{ÏÍÿ9úvߣyÔÙ䪨ÿÑxõEé´M  ^Ïo×·óõ(NÀE;uáK‘€Vܸ1ÚL¼»€ö×î䩉`éôô4¬`ìºr*þ›T#­¬¬TƒÁ`5_öµÕr¹vP'* õFð_;N÷KÑmt&¹Ðn'¶·¶·£ìCõ­v~ˆGüõ-ê‘tdc?„ˆ€“zz:M÷×óÄjô”ôâl:¶èèûÄñ_cËG,ĺAÛVW‘)Päâ1ü€°gnnNÚ¨ÀoZʘçòDžp»þèóK²±ð{!úÇÿš¾Â;P¾£©­Ë$§ -%í-ÿÕ$ÖX¸'[ìÀò>– -ÐûÂ|1?ú&ºn`:‚aÚª@ôdØ›FFÒaG @œYžeç°áÀjRç¼_MQ´†þ™¤|ÉRYY˜Q´]Þ?DÐogÓÝ÷ù­Ô\F)êÈt i »1 -ÊG£F|›H²uJßË€²iè’¼¢É²#dw…÷—ÃQ(J²fZáXÁ+ûôPÁQ˜í»å¨ä\³.iÅ\ŽØ€wŸ_©TM‚rÕ'T|g^‘øö{€R'¢Oú‹§´ð)ˆV”9èÐ ÎñzŸguÿ:Uþ„þ,Œìíè£çÿ‡ûþÁ#€vX„àøx6›þ`qzøOð?}sš©Àô͈ðfÀ•›W™ˆ€«W?X„ïUîp¶ÏÔ”]é£!`¯ýwý þ»²èÌâG¦1púaûçD†/c?rÎûy÷Ÿ( ƒ*µ³¾ÓA{ü/Þ‰‰y¿žX—_>˜ú¿í4 ¼ÝCø1'xˆ ÁÄÂË à8ßàòÿåËK_ÑáßЀ ;Ï0ÊŽÞ˜ìïîööúo|*8°¾gkØ hôlð#r€ï½qó{W›ÿC)@«‹ÿ–HŒiò€›ÊÿíèZthk{+¿Eå=_§+C[v#ÀÞŒ¢# Zy±'0úî €Ð“³Cëî+S•v×OUY·J’'YYñTÍ`°V+K„üõƒÉz¾FÈÿYn÷?ûlø¸ݪÿ‰œÔ¶ÛlÄYÀ[ím*þ''E7`;ÚØøm¤Ÿ}êÏ~ûÙð¤H$ø?8H/Ò_ܬã“ÿ­o‚´Xä`(ouƒBªR]®H¿ÇC Ö7]÷].mÓUÄ"`ÆàM{Ý:Lr -pe³„)€aY¢B–1ïöR½@(3Ìô“ÂúgIfüo›?±‘g%…‘?†03€ÿwddA¼Ç[ý2¯î‰ù?¯ìê\þ³ã| -é£ ->—l -‹@–ôeŒÒ®1§›wæšîÐC©MEÓ4ÅPtÞBŸŽµ†À_‡¸Ï-±!À(‡ÜBúGàoÝ÷ ßy1@ÂÞ¼¬˜ªâº›+ô/r…6]=—+¸ösLþ‰8Åb‘Ø ¦DBÊ;rž ¤"˜Þ/‘„ªÐ=Êaðöß·W¯”ðÂ¼’ä¿tzÜ@ýTb¹î‰„©ú0àþ"€½?ü£æïøTçªýD€ÿéÛããþ¬zd$;MÀŸ]äÖÿt§€ÀÍ›` p“G¨þ¯òRà•Ÿ~@(?25BWä¯òóv®\u^§/pýª~äŠ{‚ý,XÀâ°ßïŸpN8ÅàΔèL9Ùú/%vR©ç©A‚ÿçƒ;c°Ãøïw:'æ'„ 0³€;¿¼sEŒ®>t>¼úpjïçŸzð`p7yùà À×™——pøê«'O¾zrýöØìW@{ÿ§ùhÂ^ú³G_æmÚ€¢ÿ)êë„ ÔåE!lýåÑ·ú{$ÍÎÍ7X@óì‰Mô·G¢þo r/!rb‰6ö­t$lŒnÑi+?Dt€p^Hï±) b€`ÿÖèhb´ùîÑ)G³œ2›Çª¾ ç_ü>>VË’’6ƒÒÊ\ð¸V«NÔétR–Û¾ 1˜¼±½ ü¯1 ‚pyþ>T²·£'õ-DA°½]Í}<ñ Ÿ|´µUO§‡ÑÈt299Loœþm6;Ò÷ÓOn}Bà“ÏgÓ“u–t;ì -å\1W.T Î…=Áp¥èšqUîó@šüÌaæÐ¤;ƒÍ?4*¥¹Ò¦!g¬C˜ñc[ŽA™›É%ÞñÃÀÀŒ˜óÛ{x"£–?ØDÝ¿ -ª Öö“œ¼*aÉß~/ždˆyXâë*&ø›%]Óõ9zrC,!fôÒœ1§iT`Øoâ`ÀÙÏØ¤ç+è(²ˆKaž(øÜáÝMMQn'@žØH€ÐŸ -ýÄ’{”Q_äþÙì „(87ܪ)lû“*‘Y5’ªVÔ46ýJá™MÉ´ˆ„÷cŰkYËÅbGáÅ‹Â-ǾfæÂØ ¥7SâZn9T}t=(ª”¤ï6J ?1tÞ.PúÍZ±տ𠺹ÄCÈ !?À?B'ôýÇPˆ ¨ˆ>'¢ -•M…×…¸@–uSÑ DÒ ÐÐÑ Û—ˆ3èô E™[×Õ%·@oÑéo4жHÀ.ªáN°Ž?t  ÿçßΆù¾¬Ê¸2˜¡¶)›IYÑ*Šî* -aC1åpxßG\ŽYW¡Ä€‚ËUp8f6K¹ØÝ¢ašZaÖ±'.BüA2©>¼ñkÖl‚Éà è]*@ú½Bgé¸ Õþ_ü!ú…ßeÓÞÿ_…±ÞO4` $À³°€õo(„%À*=PE€(@z~ÓÙËÙlv‘àèÿˆÜÄLQAûÁâ•ÅÅ‘+Ä®²0þÝ"Œü¯\q.ÂÛÿ -6ø ý¯N9û¬X¤ÛNÈÿ¹üŸâêŸçNÆTðÎy&SóN9ç'âŒ.R¶ü?µ3øÚ¿ÁÛP”ÿBà¤>àúw¦xðKºÀüÄKî~{ù ·Àóî|õä«ëOýéðôéxí/&?ìaù¿ÿÓOCŸ°)@ÿ {>}ù€èÜ€g0vÚ}¼@ÕÖè™PëÏGâï£yïbÁùÀ¹çvo¿y寤ÀV³Ó@Gµ£ðQõ¿f3€­5ÌÔ‡ÄÅP>Ú|aÿ‡UQîp2Ã{4€K(Ä0þÇ€r¬ª§cáuI:UÌ•²/ÙVUj5© -`»h—˵|Û×v—a¨†‡&±°_¯E·ˆäó5±ÈrÀD» àz=º¶=D Ÿ,/þ6»,À¡;ÕòùÔl+€¡ZÕãú@õF­Ÿþlo‹`š±Y! - I¼IoèïÚýJEßÔ nÐÙ8dçýï°­à¡ðìIà/±s¯ñ#ùO–—¸1°ÊâÔhѯb‰>ûú–!Zûòö*ßa5ü¡É7y €ñ~ Xnl–69<¾¥¡caÓ2 X™ô]3b†RR6ÂèàÃY:Ï+´°a(X°dEO6ÜôÖ=à^â_Œ-ÜÈ -`ðO -Õ#‘\bËŸ›ÿ‹<:Óï|‚¥dC´$4ˆŸè®>‡F,$\påâ¥A~®P Ó‹D–o9^hZ.RŒ-hñ"4€.=l`€@¼ÑÇóÿúÿM&˜æ½sðHYßE@:~©Jê_^…g"4Ìê\Õæ€èD@ˆЗИ ÈØ?W â z°< <{–Ÿ!€ÀÍi{€Çø2«páÏ@L®\]¼Â~ˆî»Âªþ+¬ä›òÿ1ØÇ]SSbüÕÉ¿¨þýÞ žLù ó™dÏO €þ?gÿþw ÿ `›ùÇ:"€yœDïåÿ/LaúO<€ðè?õІ0Oü`"¥_€ p® :—„àú0€§D®ýI -Ðü…mó+(À$1€O…!]T€¾½ÈÖÀ‚ pàÑ£C´=nÀŒvÕß ô=wµÞltzÍžÓø?üw>… ÿMüå9o À·–Ø^[Ûî¶@¶†¶!Š‚žÅøÿÞ+ù{BЀBŒsމ„OUÕˆ‡×EÀqIï+Dä•*4>*ýÛåííh9Ù–†‡C“¡þƒêd½¶½]/·£ôí휎äÀX×rû9",Jù€ôöôþ£Í#Ä1ø–Žï <8]1Oå¿l `WÀ-ÞĪþ|¥ûÒ{¡=^ü믆ªâÀB×`´ ŽÏ` -œ¦SvZÌÐøÉLjIÀ"3€›túÙÍ+Woþìg^EûÿêÕEÖïû‰ÀÄŸN‹\ð‹å¾;‹SW1é'à§‹q§?ŽÂbT~ÿyçlóÛãÿu»üßÙØy²ƒÀãç¨ÿáÿßJLøïÅÿQüßÁ¬áÎÔO§®>pú:>˜ð?ð?œŸ˜ü8uzA.@oðÿ5:<#€§ מ>ý“]€ŽÓï—üõSЀ~±ïoÛŠ•{x¢ˆ³ët„ ¾sƒø‡ róÜ8ý-ösÇ·p„æÛŸÙü yôgÒ18:3å@#‘M0ø¯­A]·Í—`„ýÛÜBÃ=Ûýç^žN¾{B@ø¿õ¾@s‰ÀkĨ¯ æÇ0ý ‡M‘ªš|zmie¥\;þ—k¼Xë?‚R¨_ -V‰lo—k>Tûù­}¦í€ék{­&@mk›M}ð·ÕcúØ+°¾•‡Ïoý£“Z=_ïŸÎÎfgŽ>GŒÎ…Ùa$سÿóµz5 €ZðÿÓâLÑ5SÑ Å!¾+!ÿ†û î·Øñ—®pØŸl%e\C™ŽM€ï„ùŽXà®?7D,/d|,¿™ÌÇÂÀ‡(Ã*V°&˜š2¢/ØÔ膬ôÅ0 ]ç4KSù+Šf†@dREK]âåAútöª}hbq«ûáÓMp -»ÿ‹½8%ܪíhbc !kìšg&e#¶Š±¢¢—´}r\&‘©ba9çr8\ÿ`]6K®eG!‹kиÂTÆËªš¤oFDÂ-ƒ4G‰R‹çMÄ·ÿÆ­x%¬(++¯¤SõGÙCo `*ŠÂKëafÀX$+€ôÐ/ÂÀÓÏðOø_Å‘îˆDÒétÀ›÷Žg…`šN¼ €Vv§§GFn^½9"Ü ç/øGø°85rn>‹W1ù¿Â;}Nxû3ü_qN\¹ƒÍ?/ Þ{e*Kל^î€p–¯èÿÓ™£ÿâ"úO ÿwì @ÂÿÁ‰Ç;óEåïœpòàûÄ<Y€M@nÿs‚p -~0ñàÁÄ‚|apAº‡ÿ¶úrõå× k®?C€§×ž~õÞW)¼è`ØIüéŸüâÿ:Èßi ‡Á Mnñw ¢„yÿvø[ý}Èï<ÐâÓùÇ{;o®öN ¾×"xÛ}Æç"@¡¤D\£‰D;‘Ø& -À4`km-¿úªB -È&y7:B@_”Ý…6Þ;h¼&TIH ÈTÖOw=áp˜j4LjÕ²çÕܺÇ4çªÇåhù8Z®Õ ðkõÉ`Ö€8€lçkTä×Êíz½~Â#€¨”¯mÃþw’ð?: °õÑIñ?ÿ]ÔëŸ]žÍf‘¼|šôùɃP½ƒÿyL:°=XEà]_«åkýÕþj¸"|€*lÉo æ.qô/Áÿ&\~*†Å¹$zð0*ðËG#×ô— âãµ>&nŽó1€ôt©à޾%Üø3b½»~ÐV>KÌ ,àýËÖSç,ŸdsSÃ$À’MC16 m¬pÍ_íîð´@›ÑREŸÏÌCÖ´¹]m—ž>@ÄDçZžCŠ£œTÈ•þ@ØîÔæÿ/U{Mw Ùƒ@½s—Ǧ FP,˜zx¿P,¼ÀÌ¿è*ÊVÉ"ºRt8öµ‚ÃÓ%}ÓUXžu…]EE«ã…Ù¹2BÝ ÖƒeòŠ@«Ñø×wµñV"{Úž¶«h» –?ÊŸ²Fà3€u þ‰"ì°7Ú ìíÿ{¨ö«¡~»pÆx ½H_ÏÒÉ9E€ÿæôǘüíÍ›7GF>¸z«‹ðÿ#ìÿ`dê*DS#lç;uåêԈ~qÿÔ"Ýé¿à‡´ÿã‡!€Ó?O‡þw°ùŸÝÿÁõ'{{;;ƒcƒç€Pú?&lŸŸxL´;øs‡Ÿ`AáÇóŸÏƒ-УO.Œ/ÀÙ៱˜á€=¸ àõâ„ÿ×®=}ßV`×óG0Øßÿ‹þŽÐ^ø²síÞ½N {©c„ÀŸ×úïÿ·©ðö(MZg@;ðŒ ˆM|ÏuÞi$ÐÃþÍ‚íÐÑv£ÿš=ðµ£ùíµh~(J$Û€CtŠæëyö¾!ÐÿQž ?ÊçþÑ÷€¤!'UýTRÛš,ÑZ¡£Žù®TRÒbt¥ï–£Hô¤Xœ]Þ-#w fPReߨðå…žwî­£üÇAþ‹;t­$ìæìñì…÷¨¦ŒÐù§+‘ô&¡½4BÝ!@•ñ?ôØž€ÏÒïø³,(ÀÈeìü×›<`&p󃑛W?ø€k~8ßœb€Eçˆsdj¹¾Î«@sÔõ@x';ý9§ïЗ ç¢?;æ³þì¼ßïçÒmÿ<ÝI=5ïdø§p`ü>°³>°7¸÷|ggàùÎãøÎ žawÀÐ3xøc€Tü£þŸ‚ó0vp|Ÿ€Çw/Œ/@ÏÀ¥¯ž |…âŸðŸNOAèâÝ&ößpÿÃNà/:Þÿö@Lþêѽ¨™·<øï¯¥›=­tqµÅ€ÚìG°lõÀ}§OÙ<÷½ çÈÁ›ÅÍÞ䢿ŸN¼‹#ô|†¦PŽÚðôO¬ñ€GÛ„ú„þQ6ÊoÓ™¡ŸNÒÝ€=`Ôžp\NïŸ4’(M"Àb+lÓB4 hÂL½ê‰„=Õjÿ1ûQTü5ŒˆÐ>U­ Õ¶êQ4ó¡ö«mmÕkP÷ðš?æ[ˆö=¸=ûñâl¤n ‡l‘ß$¢&öǽû³°/¼ ¤  bàlÀ¡@[µþH<îòÔèŸ^£Š­ø!•ÿº*Åû3˜˜Ö"Ìwa%°‚L@Äþ:+îJ% ý‰| nð2]C$…'/†‡/Ý«0F iûú¤WÎHõÁ¤A¶;ÿ‚·Â)HÊèFFà²'ú>Ä‚¦Ó·5çâ7µì ªñKJI³Û•MÞ0ˆ"@HЯ)}™ƒµ¿•Ò KÇÓ=»›ºeY€µ%sÿ’±~ÉŽ¼„îâÿ˜¨¢ë' -kÀUq÷ˆ ÈXøpª&ÖLx $WX #d©¢i%SÖ‹1W1(ä¼"¨ZœxÀ~Á±\T”TQËŠeì>’Êj²ŒÐ!Œ6["øÛw'…PòG#GGn„Y{ Ãõ—О€?@$ ²·Ç¡{i´ÿ‡Å TíŠòŰ#†g·Çá 4=ÍfǧE$ÀôôO¦G`´ø³à42}yäg‹WG¯^q.^%&°82‚d';üØ*?öø¡/Þ ¯s‘8À¼óŽsK¶‹/úüþ'æÑþÇáþ#ºÿë\ÿ?_þtçéáÿ4€ñŽúðOgÿ)´÷;F@ðäÅɇtzØí<˜Ü}yù sXBÿÿk{à+, <X€S€§O¯]xw àÞ^;ÀîÍþÉO'?ý”÷ÿ„CÍ=±±v¯ãˆ4ÀQȯ–£N}t®Tkw¿sWë¨Õéß«þ5[Go$½¹2xnäð–N@Ï·Û<áèè<Ùh6í€Q±ØÓh¯%Ú>ªþÛð^‹nÔãÚ6[3`WÀ<ßÏ1@¾`¾üµÑÄûÀk7‹Õ²*€"K§fÊ4!Õ"`®%ÓãY©öWƒQBýcºh×ÊTú«ÁrY¥:¼†Býà„ˆA ‚„ìímâ&÷Dý°Û/xÁÉÁ³Å¾¾¾gµ-vت³Æ¯.²B¿lÌ~ëV»çG¤^ïL¶†D*Pm¨^;@ °§–¯ÕòÁ<À Ž—ëþ‡3BñÏð@©Ä:Æ›ôÕàÁÊ]I>|)¦ÿ¨ý…æÍ€`ÞGˆ¸j[ídÈÃÁ>Â@µd”8uÁ‚KnáˆwÖç Ús¯¢&·f*Ze¡<5è•’ah •ÍŒ¡[Tî/uÍÈdæJÚ¦NÀ4”LòM½¨ínšúãšAoïÒóà –|ªX*a¼E@f¾Ê6CêjR-!ÈbtgÏ‹ë~‘¬ -‰"6—¸!`G$õ‹ôª°KSݪVJæÜŠ6 øäb1Ga?WtiºVÌf‹EP‚#¶«Í2Ð*©ýY—I/+e$ª>·0 n6ÑÈCºç»¸ü -€NÒ„úãý=ðð€êÿ½1ÌÆ"éÈXzíþ~Jï…˜p Ÿ«‚az õ@(ýì6‘†q6XœÆà™è,ŽLðÀÈ•ŸŒülÁWGFü?»:â!àg¤ñO@ÒÇý}ýß½„÷Sÿ^ÜàÙ?äÿpæá1¾—¿ŠŠ>>1¶ÃÓTÿ©ç;OÖשðxþ|pggð1Áüy|‡Ž6pNA0ÿ`Š8Àü±ð¿ò àΕ;PRýÿ K¦&Ï\€ ÐÓ` `Ï -ŸòàÓûÐ\c1àÓw±ÛßAùÎMÎê··D@ìp•Êþönw£…ëSÐyíþ[*v^'lÙ€žG;‰ƒBnßEÞf³ù½bÿMZð†"°—|?øù½¶Äû¦êŸW:€H@¢1ê& -ЦŸRÛ·æ‹¶×0ðù`ò -À^À‚Ôó7ê `Ø´»¾ó§8ÚÀè¿L¶UX"øïôØ4ÅÀ±TXY1wM©\æ!Ä%OjÁj­…]¡|¹>y‚bŸèJ{»F ¿}RÏŸLN¢GÁb»ìýøãììì0Wô04dl§×æ'±Š8þ½ã–ƒñߪØA€µ-›@Ð"4òÔˆbÔj7‚áb%Ì‹€Î`0s†Ðÿ~ÒÿŠm€„€%´ß-ý2B½¾ºÊ•?BY€\¿+úßbüÿš®¿DŒ0?a3oa gÉÂkñ*lÂü—g -–LU>¾ùÂf‰€œ>‚€JqA'8þŽ_¢wÑÀ!èi„ôŠa*ts š¢ -@˜?—I*šBÄÃJ•]£u‚~–í Á¿>CT埖tô%.aðI )7ˆ'©ôU駸Aï€ð?™P{Åt«ZÌ%³ÒS¢—IÚŠ,›J1çz,`K’]Ž[}…bù̳‡K)b.Ïœ®…‹±Â²kNÒw˾’†Ùv'øçF£õÎ=À•ˆôøÿ¢©±Tx»€Ðr Ã_´Ò6þ3°E+Á`O`Ãظý µÿxv="ÿ'úÿ#—§ÿB¥þÄœ—1 -¸z…®ëÇ!ï÷ótŸµýóteÜ/ˆ€3ëôzç—©úŸwzY4ÿ½þ;ÎÇÖþ±óß.áÿú“õ=*ÿ ÿŸÓq @ñ1&öÀ<:SlÀ¿ü/,„ÐÕ©©‡óþ‡³ pG80¨_ø]€®à%+2ö@¸¡ð{<½Ïø?ðn -  _`¾¡u@ø<.Ä\€I@?Ëÿ¢7l °€æÿR³Ùú7/Ü÷âkŒ¯óåÍ7¡›=†ZGb@yÖh6»8oWÿösmjð–†Bó]½ýæjÂæ÷yÀ÷>l³“,ÍÑn`¢‘H¸Ý ·>¾¶qtÉž`ðO'f@ž±Ï"ð>ü?j4„ ¬íVÕÓSûÿÒ©¹‹¸64‚ôá•yåökAÿër­M„¤\V‰T1‹–×'kpô?ÁZßZ"±FÅ:•ø¾z}«6 ¿¿ííí¡µÑv¨o1–˦í|ßü¼Œa Œ@:ÔY^ιŠwï8>qúê û0€Ú¤ÕPüÃ\µ–ß®•óÇsáŠ&¼€>DûZ4*3DJ°ïnÈ—JŒþŒŒ |ùÝI±ÚGØÍÖ?Ð.ÙúºÌÿ—%ŒàÐäúÚÀ^„üx[Ãä’Z8 -pL`YB|~´Ê¦A•|ú?alXT³gŒM¨5 ?•"fŠ¡o-10èÇ€¢5˜h¦§Á `WÑuÌsüdò5>PÂÍFÁªnñ?L ¾š´„ñ?ì™$HÀ|ëæCôÙáYHGm×dw bfQ£ÿ䪛¸<Œq©QµïzáÒåâç·®‚ãÖ-Q€ÂlE)aÿ>b˜ð¿0S–ô9$Ãx”m€Žšì^Ñ þôÎð?¤‹µpÔ„pNì `,Í‹€ÄþÅÀ°‡{– °bS€¦ˆ|3€^Àañæ"üþWGnùG€ÿ Bàw^ÍúGx›Í¿gù;§²Îì„×9;ü^P€ €mü½ä+z^/!ûXjŒñ•?—ÿ8>ß!üçþ·üÇÐ_ŒöSœæ8;^@¼à|èìüðÁs‚ÿÈæÇwO/À8k¼üº#¼ôÕ“'lÈ;ŒúùY ðôÚÏþ6}$jNªU Ä\ÿèžÍ:Ó€/û?ýTÈYHOð‰8@öhö ì›÷{þÍ·mﵺwöý[g¸Î­€îã­fólF`SƒæÑ›“óm7œ‚ÞÒè¥ç|šoŽκ¬ä?¢H¨³£€}‡>x&¸Â°?22Ü¿êGãxϺêìöþ½S¬õ¿êe- ¨À”3àÅ8ðϘïI>^ÜôîŒüóæÿ+:?Ù;ƒÏŸ<~üNÀ|µ?Á?Æ„úØàÀüTÇ H,N@ÿ' EË`âñÎÂiãò/€8¬‚¬¾ìlˆÀïÙ xàþS^´/xK ŠVþhëèâ>7 裯x`ó¦DÂR’ƒËmµm&åP°:ypÐÁ@}k;º}P¯E·ëõZ~m›€0¿ßªÕ>xü!'˜?±æöÌîGöûÆë°4ªÃêž×† ÐA=0¼¿üq!‰9Ÿ;l`{ñ¦µš'÷×òô浚$UŠÅbÅõá Ø€û3®û›,Ü«’KßgDýOØ -°GÄ/¡¶ÌÀ‡9 ÕñI–ö#PÂ]ì̯…‹QÙy­À0Xú·Ä'î)dd“8†Ü(Ð4A´Ê „ÿD$LËTô… -,ô¹ÍJÛá†kÿT 6EºW¶R‚0Ê„µ]K})ô}j‡¸eê}µ÷w‰5м`A€}FÙ"˜½ºÔuž<àÌ€Ž– - -/_·J¸ â IÖ¦ënÓoQñ퀻Ž>—+æR¤\ÌÓ»Æn®¥_•¤„%ƒ¼í@CX½ÿÊRY²ªô㮢7ˆ ` -ö„÷±1Æþ½±ôØ^d8øö G†{‡°°ÇsU‚Ò^¢pÉN;¡XœžÉÒ{€Ó##?¹ì¹LX•àÜëôó(`œŽÄã³y ¿ÓŸe€sbœê}/ºôÕOWlü‘~þ¥ØøêÿÝõ½'ÿO ýÊÀƒÏÇ ù?›ÿÄôõÁüÃy‘Ð~Û÷ÿ&úO<žxÞÌîÊ>@ G°Ê1€vÐõëì,`8c ¤¿zó-þè}“»£|Ñ.8cltõÈÎæ@ÏãgÏt½yô½n{o³]ýMg;O ã=Í…–͘t:ÿoÜ|cfðÆHáÜçÕo>ïÍ^ë茉¼…;t%vNÜ€6ÒÝsÀ,zT ŠM -n±|‰N×þyÈ|ÌxLH¼oD_v.ªdÊêé)›br5¸î¡r°:v¬¶Ýf$€¬`)xŒ¡¿/‘xðËÁáXùÊð<©•‘¸…,@ø£÷O7^oÛø‚µ¿Zu¶/;Û×÷@b ÁBÿ/¡|”˜À€ZÿƬc¿˜Û‡M,tÀ*@– Ôìh‡ò[ùZ>X››Á$€è €&ÀL—€X(عKȶpýP`¶­š°[TÉ3ÐsýOµÿR#“aÌOòÒ6ýe¼S†Ó‚_â½8_¦ÿI·ˆ‚€ä/m ¤éÖwò{!¬ dd ã;¬ö/`Ï?ƒxAXSˆO(ÕДJE'Ž Ó½E%céEz0¬rRñh -‡‰m>PÂü—réT¿œ¡²¥ëú0ñ8®™Ü°Ÿ*v“²I|A-"hƒ¥ªºKOJ:¶ùG9EÌæ€pÖ4b‚é?…+§i…[…¹œ&™¹BÎFF8æXVð.>µ#dР¯ßh¾{Py¥¼Z÷Ð1lK?î¶VËJ-tùé±H:½¯ †÷p À#@0ØmÀ˜ÀFàÙ8ϲYΚΊâÚ‰.¿ªÿ+¢€ ç8@¼¢ÿO§ hý&ÐÀ°ŸP?Æ ï£Kïîå£7€ôâõ”ÀÿÝ'(þ¹þgÀ,€ãébâɉAæðö}0óø;SóØä^3x(ƒXˆh]@þ°ñ¿Ìä € ð à)t l Ü!?Àÿû5Ü>A0xÔCn°@´nT/kuëïïwü{ZèçwôzÐúl®ªwÔêà|7h¯ÙAûÖQ·õß)ô;ó;è¼VÜÝ«/ìô*Îcý÷Žç/ŽzZ ½Êÿ3õ_?ƒÑfg PPDº$ìA€[ø&B¥-¤xÄ4@Œüó(û1"ðA/poûO9©ª§»»¦²»R–Sc+‡ÈÒi˜þhzÒ•м¬Wá¶m­|Ìy6•qåƒ*‘Ñ6Ò}ëõ¨¯^ŽÖ ÿÛCPSe¿=TÏ—ë“ÿÇðA¾VÇÆßÉðoÿó­[}Ï×ñ±Ðù'b°Ýb# z½v›Å*ú>T€û{“'u¡þ ?ÊÕ-°‹Z-xC!üŸ™™©Üg7>à¿Àõ?/X²Ž1’€,K‚”Ðû~îÕC Ôàk @H§ÕUöâ'W‘ˆ( ,fè]tf¨Y@ïÆ» Gð - ^Z9„¬BÔ`ø7ÇÕ ÖD±-cÉR…Löþ1 ÷Kê Åâ‚lHIKC† }o½¨Xº¢…µbX³÷À·»D n鬸Ç?~Ääå?¢ðw`“€¤- - W³"@…PÒ’5MNVîê²æ*IIn¸U)6Ú‚ -$þ¦F¤ÊqË¥‘¸4Eɹà çb¹ÜìlQ‚v ‰PÀ2g5GE¬ãë"€ 0 ß6ùøGþÛ†}@Eñ¤88 ”€{ Ù;çæ|¸ôôÓÿDàðì•ÿÈžžÅJÀ«/c`ĉ«~l81 ü'$§ëY¯jÄ ŸÿìWúÙ8®MLdQøÜþÓÉOd ·‹ÔÿÊ+RÀÿl<ßY>È.€âÅì^¬ü?pNuS,`&àŸzøð!ðŸ¾ÃÎS€y"§™½€ü @‡ÿÖ@àë—¶Pä=ùŠ ¿úôúSáx ›Üàóµ@š-7÷¬¹€ {C=*\q§`ÂØ–î¿¥Q~ÎåGÜõÇî¬ßFR{q¯Ùlž]é¨ùºÚÿ–ý-šgÜ@4ZgUxï@¡#8Ç2:l¢óÄÖ›< gѹhóΈ¡cUд€£=6 Žtm¸E áf`ëD¨Ñ@øò}b-À‡ô|ïo´«¼+&™eé´¬ªÊØ©$™§¦dî†W”ȶ¨ÊeUßÐ%4nëU)èk£Ð.ûÊÒÔN4FÕIªçk'Ñ6ÖO|h Õ¶NNÚÛùmÂÿÉÉáI¶ÚÊ÷õ9>î[þíp}(¿¶­×·£ëuFÿtrŽ[}Ç2€¿[Þ ×;ÁBðâðÃZÿA >ylÖ–û„]¿UX¬ã3 éP–©®†ïI Wº“KK¬ì3QíÏUf4úŊΩL6 mѰôŠaÎɆðÿ_(Ò‹zû0ݲ4#£SinÑE†˜€œQ´âXQ[0é‚ÿ*~˜7\Â2Ÿ®ó'·ÄòËýXÀ‹È²ôK²]üãKW!#4ÃÒ´¸žLj±’¬µ9±H½Vp…‹ºl†é''©èw8r¹}Ó€‚cy¦¸×L#‹Á à!â,›˜"$FÝ0‚£×·Bøí;½W°ZBS’Ëêý×­¥+p -¯c8€ þþÓéߥÓÃèì…ºž@AjÒ9» NoÜ~æ'ÔŸ^\d-àå,•ÿÓÜþÇÐÜ™E8ºûÇ¡î°ÄÊËX?Ÿ°þ/Ðmœ*ÿ8!?Æ„ÕÿØÞúº‡N»¯Ð 2ðdïÉúÎúàzjg`}p>Àð?~Ðñ -àöCÿ7ÅgÎÆùó἟•"9Xä=N¥”‹-À Àõõ?2¶à ®c -€>Cÿwm ÓÿøíÚ?\û!ÿ6l¨b`뢂Ü@¡êYvpOÕüýÿù€íóÓ…ÿîøßF|ñpë¬'ÐÓhu®ö4 ZÝ@«Ùe çt?®¶Î4{GgÍ„ï×ý6® é*"±˜Ð!+]íaO ­° €`p›s'–Ü A¼ð 9À=!¦$ðè^§÷ïÕ[£ï•4’0† @²¬¾N¨¦¶rj†½S)Å$Ü_‰b*\–don¥,—ËÒ±T®• þ>µÝ.KÁj{t4QžÜn¿nO¨6ÉÂ}Ø×·„ àƒÉá.à·Û¡ÅÙg·¦ë,¨×ûáP?©Ð×±,Ê}þ‰ãÅ]ç²Ãñy! ‡ê LcÎR€U€0ý3°`™ºî™£âÿebÂ{0i…ãEnèÿ8 Ó¢]Õ/©0zií.˜\éËÿ–±V,ú÷êª*fæK5ih‚Xz¸X¤ëî—¦›¦i€B ‡cw û9Í,ÅöYs…s·ˆ„õOÇ-Ç]Ǿ«R,*®X!®è³Ž°¬Jsh¨’{4a‡ºÑhüs£õ¯ïìHv`Eýñ ÀÑ‘Û4•Ýðz8²¾G ’0 p[t†÷ ÜÆ/álŽƒ0 - -§#D6no<[d‚¦/O_qf/sõáþ¸šÎ^†~Ƚ~g`Ü?åçI?Š/j}º1á -{ããt‡wÌ+òð¯ìúã¸KÕ?Õÿ;OÖöž?ÝÛyŒ@„ÿ0@#ßîˆ@~ä>ü?p -üŸšèïß!~ -Ì®A©”¾Ú¼€ü @àŸWÿ¯UNî¸]ÿê÷Ox°0`/ ܧòà¾èý %Üþƒ¢‚{8€€.Ÿà÷D ÀÍ>À£ÍN`«§Q~®ÝßêØVO?¾Ó›ïiã·ì7³Ñõ¨+´ë4øÏZÿõŽã{(C·7pNgx¶YØÓèê Ïz­7Þ¯Õ«7ìùH!£Ã>$ˆ{kp€/øLìö‰Õ@¬ðO4z?]þ±FÅý¾üvbô½À( ×Éäk¬X7WL%ì+&QImû+ySÕjR™à¿Vnû|í¶ÛÝ.«mÉ—h´jÛ‰ÄÚAæ'„÷CCÈÂ*@;J°^»1ù{únE‡gg—³±¾á(Uþ„ü°úÃÞ`(=±>™Î9…ûN"±t耄û5~bg _Çú Ò0jE„ÜwÝg æÿ¼xŸ.˜UÈ¢:ýÐúž€ºœç7Ò‘"Ä!Á‡ô4Ü8\]EØÒ’lœ\¥úÿu†•¬‘cØß4±&ÐîÀì̉¿IdÔà\ÒJ›•]¡²©[¼ +ºŽTx!ïgN'ØG‹Ц@ÿghEvö¡7Å–€¹¨X2z-ä} - f0q¸ÄÕ>’ƒÕ—ÜÎ)aL±¬’„¶¿…]B¼sz«]žª,éŰb%åXŽÊ}•˜}°"Æ ®»±˜+W4à•”Ôs.—ã“B¡€-W%æ€pq_Éf.xšºt'}Ä1°ØäèD´°ðnWÏcÓäúÿXúq×:‡%ÙT”ðú:§²JóÀm4nãË0Ž{i»pàáa@g Ðï©Â2 IßÞŒOóäŸ@vš¾ŒŒ,^Î:ÑXDÿÜ;>> wÜ?âñ{éâYTû„öc|IÇH€(AÀ °ã%\FeN_Lj¡x<eý•²Âà¿Îýÿõç„ à±ÁøÄc>uëÿytüˆî?ÊÿyH EÀÿ€× ÐÀÖàóyñšÁÔiòñ/ãÿª=à @Î~Â>À]ügÔè0þãòþ¡Óío¾P¶–ìY€}a8µVÛC€æùVù›ç¼{Ï¡n·¶ï`p«§–>›æ·zDçî³+øVw ÐýÞÍÞÏ:G]ùàQØ £èAü3qA·‹pvê¼±P(´š={@´þA‰ÿKnüHtK¸ÏNö$@€=ºè°`øÿÈ'zѵÄÚ{æ3XàV… ªº_»UsÒ?É ðɦÏå@ÉÌi+Fñß'àr;Ùn˾×ír¹\=ˆ&ÖõɃÚø“' õÚѵµµZ}²¾Ýnׇqo>Q{6;Û7;;Bn•ôýôü!Âÿ¿­Õ˵à\q†Ã\÷a ôïêÿ°@õ¾ô¥ €Œ…¥€oJÖ¥%ý‡pþAÀ.«ë³Ôh¬ŠÙ:‘ »LE¿ý Ã>k -° @}¨™Õ$3 N ‚Ø!¾%¬ÿiÜüçö?]Û$æ° éˆû}EßU 0@—Bµ4Ÿ$ës«¨²TÑ*ê3£§nXùÒ)ð~WƒÇ¯º@°^2Y€À`nÿë -Ä:ò10“òK¹Äʺ‘IÊ»%º½]ß͹Âp Ôb.W|?¬ËED©¶Ç|â®Ãq÷® Y39’oÝ-j©ÙÊì­>GLSÂË…\Ø£–¹Ý2×ÿ£nÕ-B -—Ø×ëéS€rY-¿VÛ¿qͤ©ìzR‘õ1†à?ÿöxg¢{t‡xBUN JÁ tR@¦DnoŒLc`„›ã°÷¿<‚¥tÐõ÷SÝðúôÞ~' ß‹[ÄÞ1B}*úN|p$°)^ÇÂâ+h$W¸üßýÃî¸ÿîv|üñðv4Ñ®oåkýÓô¬­|=êkG èC‘زû½ìX.¸"ôGw¸^£RŸø¶ -D"pmHt¶D@é8Ìp€«ØA°YâÙÿ&:ÿÝpÍþÕC¶B}|øòØ)ðÓr±Vè)³%ÒýÐTç@È=lÀëIdð¡Ñ ³h^AÏÝÄÜa®¤u¼‰ î+ñWÐó/¢€m(ÿªý5ÝøGô êC9/ëØ „o&žÑÙB˜ªì¥×‚tEê¿—ôi¬SYEØn©às•¸Qa¢3 Ë*ÕþD€ðÙ趺*ÏèÀSP+¸\…œ‚ýHW¬XtÅÂV‘ -šy÷“[Xÿwž(ôÉ /è?Mìn¡XtÄr…ÂrLËÅú…⌤¡çßÖDR^Zu7šUÎxÌ•¹ þC¿rlÈÄX :TŠôß&œ'p{/‰@;¡êÿs Ì‚7‚Ul2¸=þÌ?õO;Pf/gýÙqçx–Ÿ*š¿q?¿7À˜ï×À—¸×›ç€À}¾şGvÀ¼cc{àÿ+BÿW+§ÿ»xò -íÿõ§ë©½Ô` --€ÔD€ˆb øDOàücÌ#Nø2,H´@ÿÏãÈDã@0€Ô…Ðè6¾^µW.]"ôG àúu[ügÃÿµÛ -Ph¯Ù=€/~ýÅ5:âvÈy_ÀÍà°Ó¼öq…#0Ïì!@j{q³·­~®hî)ì»ÐþFÉÝêü{6íšo¼öm€s }fÖæ#|Ô}‡®\°·=ÐêýHg¬Ùóˆ8ÚÈßý˜£â’£Õ:T ¿ø&¸öo³x¢ÛJéüDù ²èjÖÞƒÿ B1ÍÝ”ñ_YÚ]1%UÒa ®T‰x‘°&É&]-K¾6ìÔƒêAð è{ýº]í¯rÐO݇‚<Ï@Ø¿¦^K¼&°U:øßÓáåÞÉ:½ÍP^0yBè?TÏ·Û‰D;ŸlÄŽiìÜÝ¥!î'`A ÎŽÀÐ0ú×ÄÀš§HøÿaÅUa -PC:\_Àåï¡Æç@¢À}Ì +¹úMƄ߯“¢ø‡“Ï¡X¢_M~—á`*7åCÄ'yš®‹º¬nÂ(ÿ‘%¼ú]†{¬4Ðá @ÌâФÛÈH¢P™ÒmFÓaóSD JlS´ïñî¬ãGŽ0÷ÿ™Ù -Ð2­bI¥›jré5}lYѵS@¸ž‘õݬVݪ¥Š¹AFèÿÅ`@“Õ—¼S`Z¥Ò©œ¡ï²š4â%4à!X¸›‹ÝuQÝ/+®¢b… E]£gÁµ¯[ŽO®»REÀq«ðQ@…eaÖÀ±ý˜¾ìšMIn°häF€$K+`vRÿ:çZª¢ð §2œ8Ü>Ò{Ÿ¨ÀÆBÀÞ0æþ¢,×îƒ7ª„'À퀗£Ƨ1¡òÜ{™ÐœÐÿr–Þ¿œjúq*û‰d ùÏýþ€Óè ?®Äé2ˆÓ‡ÁÖ?6ÿ<Õ¹…ާ+§»(ÿŸü7žì­?ØÛI='0¶ƒ%À1è&yšß)èÙà«~v®0b…¦&:â?á8&„çãñÁÝÓ¥ Ä¿ ÿÂ@¶þúR'øÉW"ˆ{ÿ¢ pŸ¥¿ïŠìÀtþÍ¿þÕµ#zÒÂÂußûÀQ‹ííîCÞiþ‹¥¶{?@ÀàÙä¾ ©-›œÍØ{`þ- Þƒ¾oÀ¿¸Ç~¨ù†&ðlÒßóFÍÞAïàèüwë½qtîÞsðÖ‚Øsû»ÿŠÑîk±Øé4ÄE‚ãÜ=Áâpïl´â[€k‰?AT$ºÃ€H€DÐV”W¦¤ÄM¢„øªŽx”°)²[Ê>d—ƒÕšzppL” <@êßP½ Šƒý-Q©×íõ½¡(´õ<‘áé¾ÙÙ¾>Gzò ÜÞ&ä¯Ek“58³»01€È?åf…Èð¬ãsÇr$äM@,-œ„¸ùêÂúŽe¥b/b2€–ÿݯܿ_¹.Ú°<üÆàÌœoåC>î_ó¦ß¡š9LZœ¸º$|—Ž-+Ã&€0F’*˜Ð–™áÍA°ƒCÀ¶„¥@‚’.ÈÆœaD£ò¯hC+ÉÖ&†¥9,ÿ)?¤˜h°ly#Äf=¬Ø/‹a¥„Ñ=ú)±úF~X×R%HU,#È<ÅIºe³DSÓu–K²PÐ 5f Bz‘>X -rð³øw®\q.ªÿém$WÜE©àmî:\¦Q†Ÿ¾¬h›»›®Â­X‚föôM×þ'˱ýñ>‡1 -KK£ß¶Þí$W3ÈqÓ²ú× -¥ÿYñxÖ×E58ÕìãTýÆ/£¸ý»Û¿KßNwãÄàøÞñ½Ú ¦Ó4¼ãYgvd$›urÝïÇ›y‰xÇP‚øE÷?óF¸È'îá…è_c‘±|бøQªÿ÷<"$Ù4©úÿÃîî«õÝÔú:¸L­§wR)4È®~vÀüÄcVúççEœà<̆'ü~çC~â~Y<.8Cj׺ àèÛ¥ÿÈ.€™—™N à“ë_ ü¾ƒÿ÷…€íø|Ú™ÿ ü¿ö«ß\ûâ7?ç',ì^Oü ié¨ÝÇSl(Ú£BÈŽ€=š¸ÖÑ÷@¾Ù ¯oÔÕ6®ó<½yŽœõšM»нÝê%GÍï·Z¶MóüHá¨ÛÜ?j¾ñøQo‹¡g÷`´uü¶ãÏyè?;vð¿k tþ€˜€†Ø;Ýa@wà{@ ÿ¿NªÀwóXÚï*¦””â)ä¼—‰xLӈ켞Ón·é©Á*½¦Ÿ}¥þþrkÿ„þö°ð2”¯c@À÷ð$ñ‚Z~8»#°¼ÚبE Àûó¾I,ùMN¶×ÀÊ‘HÎÑ7J;Ÿô0 à‚°Ÿ˜Dž··þo1þWóµ9mf¦Â‰ÀXdà'è_(uÝÙ -ˆ!öø¦„,¿ÃäájFFÿ‰.VeÎú¡[™%w&³´ŠC¹cd¡ö×aýg°øoHlëû]’B Z:,€(3o0ïK›3F&C÷” öÜD °¡|§TR•M“*|YW!ddPÁë<É' W´"ëò2TÞ«kÆäUTú)ö pÛ-áéëBUV±8BfP:#ÑKœX AÂìS ×Ý\8Ñ`öS`Û ©B4ÀGo ïîV`ï#iWÎ4Kš+ÄŽ .Gaß•C8Ð W<¼ëë‹åz3 "Ør0Ùh5VáøN+ iÅ ƒæqÙÓå¿ÖŸºq›õHd/.4yѼ¹wÙ›Šøñ@úößc'ðw¢8†x‹Ò ú´ýžP•X”ÏÆ/oŒO;³Îéi'*ÿqž'Œ3þÓ[b¼)à’?•?p?„c‘H -@,&ŽÆöÂÿôÓ Úÿ맯žüî?{òöÿóÁ½õS€>‰ ± ðx^¤£àç†?$âšwÂnLðów⃼;¸é§F€@xq B€là'×¹îçæÿBWú'ò{4€Œÿ¿þ‚N¿þÂvZ(}õƒB}[£Kîsw"°1:ÚõèiÙwP¶ÕYìk½!é;O„ w{ÞN0„3­@ë®÷¼å›ÞoxÔÙìou×üzþèÍñÜý;KþØÈ~®{Ñû¶¿Ë"pÑ;èö ½vÚ‚AÜöDs€£÷k“ídòµ­,›eÕÄ`2i„Ã’ûµ*X™£’P‘TY -Ëm÷k_¹¤w—ªÄ|årÐGÕüê5õom³{ä}Ñv¾><<Ék€“ÏÆÃ¦þ¢/k¨åÐÁÐÉädµî«OB(0Y÷­µ·ó!o Èߟv|'ÀH¨¿?NX  îb@¾š*Šôÿg*÷a -pŸËf%‘ -Œ–7 ß4Ã\í{ÔÁTìÃþo ’?ù;<w`v>ä,Ý ‹t°1>@[BKì¢×ÏÙ·ëK%mS— ÈþØÈØ ˆ°ýµÐÎ×4Ñ妶`hÐÿ+Ú®aíj¦a(š- ‘~,àÓtµcTh˜ôŸ„àý¡¿ôÀ©%cyÖ Cठ-ŠÀ–ÑI®Áeùe’jx ƒ~¥TÒm+@S/Í”,ãT]J.weù4<ãŠçÂŻ޻‡Æé¦"=‚µ¯îÄ`¨fÀ8ÞšAÞëÝÄYTü\ö6 þ‹D¨ÞOÇ‘õÈŠq€øïÁÿ1Ow_í‚O(?ü¿<3LOnvÖ ˜È×ëTÞ×ò¬Ä -à6=ó3H>Ïö‡–…B½ØHº¿JøßÏø/|¶„€gµ|0…@ÍÀÐ%²:V"ˆxÀ7bð,ë‹þßÑ€88C8Ž UY,¬bš¸ºšüšCƒ˜{2lÿ$ýÃKpi$a•ÞÍÒÓ½p@úŸÁëý%„醄]C™xA†Eú›•b•вÀfÀ¡›[ËÂÌŸ÷ÿ‰è< À ½°¢„Úʩ> :2•ýŠäSáò«Ëv@€št'- ^Ów-á ¤Y0¤ûé?4‘%¹×,‰F˜^ø;WÎu· ™ôï“a8LÔB5îÞ­ÌI–&!RÏ4ô°Ë(:f@猘£o¹PYÑ7ÃÞý\!æÈ©’¶¿\d£‚¤åæ%Zï”F"¡ZÞfPR_ûþZìšòŠ;¡ÀÇÎ>ïí¡iùòe*íoÿ=1„‰˜Àªþj•À½ã5á Œ„@¸ØgÇùÂ?>‚w‚ñ/®÷#èýGron|Œ{c¹±@.ŒE¼‘1æXúG:ado ›+AŒàˆ½ÚÝ}e¯ÿíÀxg'µ¾ýßÎÀÁþóÔ˜€ŽäÀ`œYÀ‡]9€(ý½¼dˆÁÿ̨ð'ê0aËâñ±‹(€ À€XÈ@È1À_ýö¸ŽàNÐýkOY ˆM€AB|†ÿî àÚoˆ üêç‚ÐÍÔœ´ÎÂî„Ë FG»~=°þ=¬?ƒÚóa´#ú=«¾ß` £öt½Õz£´sœß#üoöÈýzÝ‚šç6ÏM*: `T4ó;-ÿ?!;l¾¡+hÚtFÌ lö’€¡£Ág0Ûo¡ÛxoK”‘ƒ€ß<-¦”]ñ¿’d*§Eô7ÿX -Žy¨ÈWÍeŽ‹}íó”ÛeµÜ ú$¤—Û>©V>¨mo·×^çòµ*¶ê[Û‰µúÉ̱xrPƒ; ]ÝÈêJ$6»6eu{¨>¬CAH‡a"¬ˆäbwûbýÄÏLÀ¤5a3€þþ®0?:Ñ-h¶òµð 2€+„úÜç$ ÑÀD`¡R*U69H/ñ^’Ý»z´?äuÿ¨„_¢{—à¸JØ~ȳv$-eÄ:&†]ã-`„.@æ3veÚck@M7𠉊|#C:ý;8ÐÛup Ò´°Æ_°ÀšÓÒf°ûO•~fSWУ‡(Ð**r¦XÔtKgk?ôÄÔ ÜñR´ DƒË€IYç룒†ÊœøŠŠ™©´dS>Õâ.WÑ4Í¥­æ\I7eÓ¢RÞtÅÀ\¹¢®™lYlh.Å O­{^ðøßн…Â~Î^ÖŒåùp8n©RrU•éÂn€ß¾+ŠwªxËeµínÿõÖÑÿ2€±Ô:¬Ùç!À8+ù¼ÿ>p;ð»ar `+ýÕj?<ƒ¢ À aBÿ´ŸX€w$‹^KíÇY`H`l#€>ÀF`/‡eBbDÀ4"ÐÿGõ¯(Tþ©ü7_¾zõêÀ©õ')p¢©7ÿ÷¨‚Oñqp»ñ±1ˆúy¬ÿ!» Q€—“…':¹B‚<Æ×A{m`gb0uA.ÀÑ·ÿhK/]²c€0€`·ò?K¼6øTÈÿÏk®ýúé¿þͯóštëÚÓ………JÜ]°ä©7v`´Ùmë·Þ˜ ô4ËGÏ+ìzg½‚^ˆî¶ZçwÎí¼»Ðìº -½¹î×ï5» ÝjyûòãßûæÛwZg‹…£¶$`´ÛáqA ‚}8®·¦À·:Áü%ñÞ šÂ²dJ’Z>U°ç§¶HDו°G*+‘r²Pã^·ê‰(Kp -¡¨ÕŽƒT¼oµµáÉ(¬ÿ††Ú‰µö–mß[çÉ@–ÿÑz(«mÄ– }ñH9º5ù†ü“<˜O>Hoì;úý¹Ï?ïsxÓüg8‚Nìôœ hO:^€D:ŠÂH”þPÚÛ °Ta ÌÃXÿ0p³øÛ}_/ÁÿGÆØŸ£—xºoqB %¯b¥O×¥CõÐä­:ÙX¤¹>zE[ÐÙÐĈßE×6 ƒ7uK˜pt@ ,Âäý>z˜)P[S6wéª2g!ï'cÃF)LÕu& R ëRqÜÁ “ÿSVù‹D@ìJØçCG?åÕüÃôS5yŠ ‚œ€aòT„²hêþSmÁ’ð­%8k»¥íJR©H ¯Êlþ ìJ²^tÐôpŽx±«iÅœ¦íﻎXË‹åeªÿÃEÅõIÑ0côAÜ h’ß"ʲÕhµÞ5PPðŠ€ÿ½÷ m+OÓ£¯Øºh µVE¡s`uì@uViKpäC½fjÍáXŒk.£€«7[3 (‚£ Š!`<ƒ-ÌÐKóeeyð.ª ]4¦ ¾¨ù.>†ÐTV¾é:`Fjߌ3ÝŸr±ïóþ~G’§ªº;U]EE¶þ˲âØzž÷}Ÿ÷yÊ·78ª¸zk)½ $€7ß¹ùc¬ï³€Êÿë+DVØ.áÔ¿¥b]ô’—ìüšp Z@ ¿°ÀÚìüIõ?û ûQ÷/” õCøøj}PÆÿ}q®Ädõ_E<²; ü Øÿo÷Éo ùwŸÐlVL1€ùù_Ìgéð‹À +‚~Pû}ÿ]pÿ5Ôÿó¼ ð!(B6»Ô*¾!?tðã aÄ 1` À-IÄàó ðÕÿ Àç&}~ðÁ?} o$ -ðµ¤Dr• -ѵBY „öM½¬^27ýφãN$N8AäœR@ʧe‚‘³Wÿ%W¥þïy8¿U8ÅBÆûW­¾êpn‡júèþã\ÄÇ)pK@ ¶Õ/5YyŽ `.#h(ƒUõškey!ÀÚ¬R}SFD˖︎Bø¯'F§J»‘4ŒðÃ0VCP¨Ó¡Êü£Üâÿ„–DÕþNsÔdGÆõµn*NWÖF¡ÔckáñãÌúÝ­Øâìl·›ú䓇„ýk’Ð-é­Lt=*ýü§3wò[ùT(•ǹÀq;‚0üã¸Ö\k£ÿå± ×`ø€½Äú·ëà€xŸ:<|êìÿƒØ?^°+õ¢Jwñ*žðׯ<+x„ü.Çç -š¢(TÜÃAÈ€? Ø…‰Ì¾º* …Š -&5b@ýâf¨Eo†ªZ,l×tŽðœm½Pp·Ù@÷<ðß-ºË&}-{Àô׳¢è>¸ÈøÅÄF5!DKŸÿóXÈ`‹Å?G{f8DG4~ÜÀQlüeÙ -ëÐ6Pñe(ýµš£;ЦcEfP†»‡]Oâôµ`ŠÒ8tÍ$ÖôB¹æè—ÂD@tº^~<³>“¹_2k&«{–ÆQE•ˆoûØ\ù="иäw¯§ôz=£ÑSª|‹ïxvUß\J³%ß¡?Á7£ÿõc -póú? À.Ò¸@4 ”‚€^q’@›Çû  yV Åç½›+sÒ]€°þú<ÌþˆgÆ—¶ ùO‹@:]ˆí—JD̉ˆ'Ðý+Tý+nuPþÃpód“––ĉÐÇæµ%¬ ^Ã2à<Û@Ö?Oˆþ‹,.SíŸ êÿì®Ôþ!˜˜/Ætϵ–öÆ ø‡NÿŸ‹éü1§ðààhû ï =Pù5€Ÿ2 xzpëé£OÿéÓþïn —€¯'8B~ˆÈ½'à³ã/3Âí{Ñ5œMoÐM—ü‘ñŒk{Æö£‹[wgÓƒúsˆ/ý½ÿô"°|y‘_âx›/2eïs&Z,ö?ÈS€ó ‡ŸáX¨~é  ¹=2¨Þ¸ £¥»=e°ùá6þ\=IÕþ¨´¶±•u ºRÍë‰S5EЈ=Lµ“J7ÞntûµYBüÜ(ü—!¤åü «ãñcô×vº(ógGý|z~+ÝÒÍû™Tgö¸Oàz¼ïÏ®õ¹@ç©ÒãÌý¹üÜý™™Ç©­…p DïÂݱ X€`­Óì$­e¦¼¸Ç6À{<x€áÿ6oH A^À¶·Â -ö€¿_Ñö¨\¯Ô¡À† È€@cù¿ÆÆ9Á ÷T|l â&Öö{ŠW„Ñ ìÐé¡W£×ãl;{Ë5b -(÷¼P0áÌZB}Ç1-û.Võ‚g¶4Û3K&^]Š:†ZÑvæQÑ*ãkÒ}>†‡°]qjô%ôzÅxAЦ¢yüÇWøÜIpZeǰ‰UüŠ–°1Èj*†A -¶ EIhiÄL5K»WÒ«ô¯×K3Gsï—,MsË.ý`é—°âà ð̇'ð+Pñ*½êoÓ+Ÿ¤céoñ-OscKØ„ -ðë7âÇØ¿ðcº°òÏׯ3þ¯ä÷±°ÏbÀv—`ÿo’F'ÉB€P,•Þ'€n?\þæn޹ΌbпÏÒìÓ/ûBûé4¢ÒÖ>:óK<Ãâšð5‰ýáýaÀ€-dö%ú?ÙM€yBÿÝ¥kB˜gA*Î÷ÅbÀ9F}-$Vÿw¯ñÜ;»r.å-€âïÞ þ›<—;€²þ‡0KE pÐû@ˆþ@f_ <€n±üOº³(RÀ§ÿôÁ?}ðÁx =ÉÇ_7m*,®÷(ae8°ì˜GD-øäO3€ÈDa/<ôƒµ¹ˆ(ê#¼¿èÓîÓá—¡òÄÉÿì‚þpjop’äwÎZ Ðü¿í†cþèÿNú¹qv ~v^üÒ‡û§ö©èÓ[Ð@SôM·ÑsÍl•[Ü µ]·Ñh(Ö¶¢ª«é˜‘ÐR½‘AÅ|2©tB©P¢ÑÃ@®9ú('x›göxÛ,î;æ)ð=‘H¦Dzæ~¾³sOåóá΢èýà p–žpËœÉlÍ•îÞ]ßÊçóÝ.Þã)±ØËÿwÆV@;ÍŽ¹FÙðÁT ÐÏ6À68–€ßÀH{QC—Üc±_¥ÿ¡ץˇú!×u™*Pi}ˆ?äqšr¨ˆ-@tìJõþ ºüÿÖööœBm*ùU˜ù›µU¯ˆ†›ÿjgùí²‡Å@pMX_Þs´·°_ÀÃE6fZ3f®¶Lb -JÑ3Íš®ÃÖ¯VÖÔºjð0Ÿ«|]÷‘ ôÏù°ßWýˆ4 õÔ=Ó%€ÇȶØ~@ž³Q°¹Ùo«ÜÜÐ]ú.Tý4ýž£ÚËeKô=”T™ -nµ\¾¯ì–33w7 -V6SÊ–ïf¬‚v·†t¨ƒ6Õ}O¥âá_>Ðc„¡©t~å“ë )ýÛ|ÏSZ›Ö<ºò×9¯ï›ïôßüñÍw~|àŸŽ+++ùÏVòùt˜µ€û0¤† —lô”µd’»ðfÁô„wÐ X!@¸ŸFÛ??_ZØÚš§k„ý[û‘€ÍÔ~:]Z 5“€}ºAtÿ™ -) -¿>À - –ÛÀ¼ N–ö ý—ˆ»à„@vwþÚüü2áÿµÝìæ¯_‡Ö/¿°ÅŠÿ<ö€÷)Tÿói‹®lZûóÃ5 ø§¿Aªÿƒ“ê 'àÊxr€)À·–À&ÀŸÈ˜_ºÁ³€]:ËÎàÏØÏžÁ|冰†yÝ8# goF?lðÜÿ¥/õ·Æ&€B ¶??˜xÿбýÇ5?³€Gcø§kŸ~úJÀ[Dn=yðñ×µ›Êä;‰_"/ðÅŸHàÏÎùûÈB?h´1ˆÈEnD†¦|wÏ.žó>»`2p~Wï¼uÀ4ørøŸÊ >¾ž¿Eì_95÷åâ‹S–AÊFwฅր×t'zCqÓ1]WvBÓc–‹±°KàÔµ‘êwÛPÎ?f¢J?Ñ„g¯hþ£°'äïô»ñ>¶þ“±Çë?ÉÜù‹™T³¹ -§,°ˆ°ßng€n7ýx=³¬Ré½|wa.ŸÊoAØ !  31Þì¬rðòrí6”@Ü Ø£Ê_€šÇ†{¿Ñ¤ãtZ¬–©`?¬ÃóŸçÿlÌdz‚ñ,€gûØÿ;T0÷g,¥:÷ü0íw5 ñ€Tè+‡è-x5sc›ˆ”ɶ¹‡”>¢\žŽF½Ôí`:•О^¶Z¦e™šáaBOGŽëc£?øø! ºn0Zçäë*ò„îÃ'䯈_ÍE0B³Í¥šîl ðÑP+Xp8 €‹z{ HALýmøI)« ðT ­êî)†K´EQ~­›ôò¶¬@ºëØü/Y%è– þ=úd½Ü̺ciÙLÔR¸Q ¨øø£~• - ªO NÝê·KŽl=;@¢wÞü¿óÎ}÷w|tô»#Ìþyå:KÒozá}ŠxÀŽ¢t”NR*Òyîíoñæ?.¦qeò¿<úþyÈþæ¨þßO/ÄpC:†¾Gš¥±X5ÉÒ?Ämöðÿ=99©¶ØX ¿ÀV@ÈÓnp#@œfç³KÌæ1  3¢»ôçv ø_Ûýš»Ùybó€8o:?lðœ=~ùìÙ¯Øð-a(€Ÿsø¯ BÍ¿|pëà‚àAÐ|àé­§ýÓS–ÐaœðäɳÊל4Éø»Àï6 þØ5ç,r6)­½Ø ü?;›Hå'ë²ã?Í"ãUÀ³ËÆñ¯Ø ˜ û&`t~t0e(õ¯èþM:þzå?ÍrcùªvŽÄTã;h·Õ3”A‹€F©V#1B; fRit@I)‰D²KT¡ÑIRmß ÷!Ï_± ‘€‰þ?¬€‰ü{Y¿†SîÖýû÷oß^Ï\ÉÓÝTˆh”ã‡÷aO•2S¡t:ûáãpjá“T7?—ê†SÂbpJþ7XÛé­Ây@,/€¸ÀV@…Ú Zd½ìz÷EÇ -êxlÓ€.ðþßóå֟Ы@جØíšØö£ºŸ]ˆÐI¡ BQàm@DLdîÕö–ËtÙ°E€A$`û­Ç÷¹llé¼à˜e« ³K?j} å>jt»(Ó -ªïáþÃE¿ªÊ¤hC~„qC€àžÐÞ…¢Ïðmá`sæ€Ó2ùÙU£àŸ;ûô † -õã›ø<60\EU]3ZóÊe³ x–¾jYeWÑ]ÝÌPñŸÉܳªŠ¦Yôm¢Šñ÷ëÄ$ÊiÓ-ò À׊x]Ã3xœ=¿\@øåÛI,¶ÿí¾ñiú&\yoν÷ÎÍ÷ÿçwnþÃÍ›?þ¯ò¾‚ÿ…p~aÁ?ùð~ù€ÿ-` - ™l${tÖN²mýôBž;ÿt’_HoÍoAëG|`.ÓTÊZHÇò±ô|ŒjþXz3m!ñ·­3ü+=ˆ-!ü8ié˜üVGÛoŽK¢ °tmséfóÌ–€ë„ù¼@ø¿ ˜çÊŸ.âÖ]L -Àæ…€ýƒçÁn, Šoÿ‡M¨üÿ%<€žx?áÀçc BýB8ÆÿƒGdý/˜€ OŸ²#ßÃ<øšs€³ˆ`þ$þFp‚À9Oöԃ̀³óWØ)OÔõþpâµ#ì"æ“wÎ7þ‡/§]0%^¶ŒxŽEð‹âòÿì2µßK鯝ñp¦Ž-¾‚Ô… Ðé)Âÿܽòë:ñEqQç+J•s\×J¯Æî¤ÓŠÑh‡“‚€FDz¡P¨ÛYl~”£kÝn§¿vÿ÷>[SAæ>OÆûýÅãŸdt§àdnß¹ž=N…B†zšÿ»ñãÎ,Fs™;yBýûïgRùëÐla‹@`8ÑràZG/ïE£ËþtÄ`O0€=vàw8ÛÇã}TüØàgG¬8,‚Øì<¦p ô8\ÝpOá4ª…•º w@´ü 5DbíŸ\ -Ž—F÷ŸßÞs0-€Ö/:l¼ãp7A¾­rY«àK_èý ¸þñf"ˆK7¡îçüÿ|•Ëy[e (4P@ ñ%zn»‹µò†åM o0€‘0[o`i„í¤ %‘«Ø¹ˆíšE lPójæ²Y.¯ga¡`FK¦C¿nÁ¼ÿØt62zÁU -–g+{ŠvWGX"¦%Epèzýçøk¥?ßçóË~ÿ8ú6•^øäÈÇôoõÏwuN¸~óæû7ß¹À;ïŒï]Y-:_IåSÌ hcÐI6b¢€Ä ȱ8Ï[é­ôÂVzkaÓþ´èþ/àt“üá´ÙÒEïß@õõ?–°‡“ßRõe€s¬@ù/N––  +‚ÌsOèOLŸH‚ -pžƒA<]¸qc>»ä¾ üA€ç_ü²ÂN@ -ðx0væÀ.ÿ…ˆÏø ñ¬x:&·D„¨Ä ®~í9€ˆºáÀTþ _—Ø?Êî¿ÐNw"cÉ@$2^ Ž5\ïLÞ~9‚_vû%îÄ—p‡ñžÞE—ÿéqÿ¹úÿµ¿¿ùÒ(è+z§8¨„Á§FOQ´ZDº‹„Yí¦­½×puk_×SwÒ1ÈÁS©F2¦K$lü?ZD^O—ÿZ}–ÿϲ -`–E€tCøÎ•’¶ê93wKWâ;褴Fc±#,Ö@ÖB™¹•|7\º›Ï‡·¶òÝP*ße' ®È@`MöÿÙ€HÀª%,°°˜ýïm<ØÛø™ðÀ\¾ö›Úo -Üû/À¸~œÀ0Æ@ ^g  Šv®€{å•1 €F°f` ï?¯°Mu>q‚ìâ!,êðä,bä./—‘©Çkxè#ˆ§s1EpØ¡Oót {TöoHK?¡à‘„˜Š‡ÿ6ü­£Pɽ÷¥ vh0~Ç%UHþyKУRßSÇq‹˜Dh®Ë\’9Ÿµ„Fƒ®ûUF Þ½’¥›–£¸ºãš÷Jårf½TŠ•-³`êѲ븅XR¢o`ºJ–è[.e3јéÙôûW'pyñ¿ðÏ.Ϻž‡MñoY€!t€ s7n¾÷ÎÍ›ïþÃß}÷Ý©»WÒ 0ȯ\_ïç þE0w”Ž’T bIÂ*ëó©ÚýyÐHþÒ ý ùR^0|ÆDןO…íÊ£åÛ*á¿‹Þÿ‰\€sèÏí®ùå)KÀ€úÙ¥ynˆÃ®8 ¸¶;ÿß²¿Øåä@nÌïò `ŽnY¼ü Àóç>Õÿü*Ø” €Ï¯\ ÿoq -ðÕ ˜=€=ÿGPà°p òEœ 8òuÀ—‘wrö?Ý -7=ô‡ãŽ€àgÃñígR7(uy98ßÎ\ðþ={9ø¢Ðplô?qé¹t¥/£‹WôþŽÄçÑÑÑ7"Ñ[‡_5 $9UOñi+†ÖÓŠA诸U}ÉtPùW‘šOöwÕ¢7ëÂüdW!l$ cd$»á$'âá0!=Zÿ;‹;Bx,fÝ.dýøõ»*jc÷Ké»ñæl7ŸÊÇB](:‚Ðyæz8ÞM¥·»]â¡~j+%@—mÏišHl®UË‚ø%þ¹üÇþŸ‡5øCÝÏ`mcOñ€X ¬cðÂãy>Æ^‡Í@…M€é¢B,€­xP®ÖœB¡fÖ˜]Py_(jýý`Ñ(^™¡!öoïs{Þ¶‰txÛ°_‚6Ðq ²íŠª™¦´ôC‰Ià÷‹ÞçÃËËa 4¸‡È›z b럧<œõðŒŒ¦`L¯S¼âË‹7ôG—Ðr8s—3%ÍùyKŠb–-O[ŸYÖÍ ±€Çèd˺cÒ=&º!^ùqÍ-¸™è\ÔqæËË!ªãã…Ø•ߣ§W!"pù*`µ×KÒ§[uÛ'Gß:HÏÏÞ¼ùþ»ï¼ûî;»7Γ“••ŽÎç÷Ã8bÐæx N²ƒ× À Ä`Rûé|ŠQ'P¤·xâÏWÓ) <ê~ à_•Ê¿žÁñZTþW鈀1úoa àòSû7%+»àD6—æ§"5;ƒ×dÀü n€%ìr? õFðÃ&_Ôë>§½%bÅ ð€} ·yààÜúßøÒ£À HD0þséÿD¶®~üµNvû…ÏÝ„£‰î<ô—øÏ‘•3Àp¼&p±wè ‡_ч_iø²°°ìÿï—£ÿ‘¬û¿9 ®0Qú -€ ÿÜ©š3 û3®Óry`¾4תº†’Ç»@,–×]=¦¯ö *ù»í6½ƒTud„Wâ!Žòm<|îÆ…X¿3+°Å?]ê®%wúkýüÖ}]ÓÒÿ’Nÿm¿Ù\D¶êVŠÁ3~! Ôï†Bé-"ô¦Ûï¤æò©n #—d°Ð4;w)Qö|°¼'$€tR{ÿéøg»^¶ÌõŠ*Wüpþe«>äbP'H~Áê¿C1°Ç2@!V ÈYïébOŽÑ¿É$€ê|‡Ý€kÛ,D4¬xPÓ˜x†j¢V  «x:¼€cê–¥ÃC¿Æ}PþÛJͲè)¹]@ ÏÙL#ÔJ``ðØ]å[ÌØ˜@ÄÂAû:LT#‘S }4"1¥Ò•W‰D€ìFyÝBö½œh©¬Gï™®U^/Ý‹¦-k;-•L×ËÜ_§K–E©éëÙÌŒ¥™zÉÑ ¼îˆZ,²°×E^xYÐ@Ädç·Ý8:Ó`0·pã½›ï¾óÝ›ïþo±ð—` -ø°Øåt@ì&YPÅ>@ -ƒ€T:µbìÏ3ðǸûÏÅÿø€™ÇIÛådm|=c0è±ø¿Jð¯£þßÓ°æ­ °4VJùŸì,‰yÀ¦˜ -ìãtŸý0¸†Ï¬àê; Yho\k ÞŒ~Ààùó:»?+JR€¤°tþ Âÿ–E;@âp €¬ÿ?b„«ÿùxõ [ œûC€ìûûÞx0nˆÿÄgí|A Ä‘`N )Àðå€ -/yÿ\ÒÜ¿28Iþ*þK6úåîÿ61Qý ïp_µV0ô¹Ž<­äNùôN¤µZzKiØDª®nµª†s©\I*U‚þ|ÚuW«Tö(d8‰hcd4áp7…Àh-R½Y4óE`m“~ÂD³Ù\ë$ÓWîל­tiýogézœÀ|¨3+ªÿþÂRÝp¿šÏtC}ªª L#øßß‘VÀ²°Æ{€;kÉmt–YÿÈÿ¹úÌÊÃÒ~ï7¢€byبÚÈm„ÚŸãýp3€"Çî»Tü{Øà0 ëÛµUxÿÄ95g¦¹tùÿ}@¢Ñè6á7TšŠÒ>¨ÿG :Öõ<ËlÁØÖL®ø*ÿ ÜÀ×<S1@€©o%çCpçû¹ -Fÿ„ô9ÖJ×@aÈ‚AEt WJ@‚>6`â«Ã&à´¢å{Ö¬¨KD+ß‹–Ö×ubµrÔ2k⢖åEgÖ3³¦®Y2KÖòÝ’R3K®-Œ‰8IYèE^ªèõ\4bûߪxûs77³Ù…¹›ï½wóýwÎOÆrÀ…Ï` ·Sô¹¿† R@¢=V  ÐFmc -²ò0ùÉs ƪþSÂï—t²ÊkÿJÃh„þJ ÿ;û/,€68€b$°É -a¼9µÀ—6q´6q¤ëû(þé¦ýÍ 9°$ö1øg $°\Ò߀2øÂÿ%v`,7?— €«ÒÿçméxÀC€[S;〃ñ ààé-aÿsõªý? ¶ ~÷³Vî툀3© ’pÏø¶±@¶ d+@Fî Çø‘!Ì"²}å„þl8ür`±Kp6È9 ¢ˆ°Ýâ¶€«©ª»QÐ"¶cn-º^NGuüÈÌhæÞú=“.–éB4“)[™™Ç–¥¬#GÐ¥ç6M•îg n6ªØÂ°P- -‡âCƒ~rþå37é&{Õj,ŸÞ·¾í÷¿º¾¹´½ñá›ïü¿ÿîeIA¸²@L ¼5 ´;I]@ -()š„ÿbŇ²@'t[Ы:;þ0ü£ãÖÓƒ*:÷ÿ7«rÏ7ÅL`Súð wÄÙ°ŸÏæaDÇ}ôÿûé Í¡¼!†H˜¿q-»Ôz«òð° ÿÏä - –ö>ûÿA8Üâ=€ ðè@6ü1ö -!ÀÓGA÷<ö~6F¤£?ˆø&™Þ XÀ˜LëŽdrÀp¬^€Ã MpηWL&ƽ¯§ý÷/ œkˆ ÿ¹3ÿáÑwÈxãÌ·Ÿ±<:‘†[(†cVÝV•ª×u ¹Èki4Ú]ed©TU1HCI¶“ Ûu{F#N»gû“Œ‡…¥ÿè£F³„þ‹kkD`ã3ÛoªFá±5såÊ•ÛWVËû·Bh‘vã³k"H ÞÇ»k}º½loÍò§?ÌäÅÀx ,\ÃàßX^–À{˜{l\ã áëGð $~Øýƒ‘/D E‘Œœà"WþÁâÿ!ÐS Ôð Ä6¼Hô§à¹J¡æjfEúª¾ëvÁDŸèý¿-&oï†ÅüŸ@_3%ÌK@ËŠ*òü¬e ó~"Vˤ ÖÃHÎ oñ #àœœ‹E"•w?yœ?Œp€Xˆgä@¶Ôº³ c²+b'ðBt£¢*¦cT\:ÑœV6ZŠ–©º/˜N4ΘNi}æ]Šîµ¶g2éíòÌÌL抩ÙÊLi½äÖîGMzx™ÇX4d±B0¸\X… ~µÚ"üÿÖ À°HH:wãÆÍ÷èðîz÷òG­|¶²ðÏaø~Ʀ€l ÜÆ ©ðSÞb°€¿œ¤Úbøß&ø'²£4M ÿ•AóýDœè\쟴ä)7„$@ªù­ñ$€Š|ºÄþ8RÍ¿/iÂîOvþòÙ1˜md {ca€oÀ–<÷¿b€`(€°ü€ÿÙøêA`üè`¼ôw O¹ìÿT²ƒéú_jy”pëóœý|Γ‚@éò#¦¢1 ½Ï¦ídg@ˆÎÆ.‚²‚‚Â~jÕïèÒvÿyËŸÈÙ«ÿçå2õïÒÙÿwèà³. ¸2²íÞë~ºNå?‹[X0ŒBʪNzÿ¶ÛkÀ³„@¿2F#‘¨(]ÂàÙþG£\#ïïär¹ü~sí¸ßi6›¬ùÇÛ¡ÒÌÌýÛ·¯ÌÜ£Ü#í7 -:h„ÅF€X;Y*Ñ;è\æÃ<Á7À˜òÙãÿt›°þ+ïí {l€ßõÃâ~Oâ¿ÆNÀØìÚsÈ9º €ö"‹‡ù‹¶œØãmì ڕ£(‡(±=Ç=Äì_£ò¿®m`Ȇcb3ÑA   Lç¹46 [:ùÓM¿6ìÊ)+ò4hô!ûwxãÀÙæñ{ø# ÐÖ8m‡S¤×ž*Öf9C“®Ñ_Æp(=‚…á¿´GnªH"ÚB„c@ÝPÙ0*B÷(œ5 pG_±½l¡FPŸ5lÏ*9z™@Ô4£÷××Kºn¥=«lF3™Ç¥ÒztÏÕ£ÎLÔ)Ý/™ÛÎ:†Ÿ3x9¨A¿ð|… P‡(N×õXìä[ÿj›KX‡ïý÷_Ñòûì -˜¦mì%Šì¬Â3  #úþ)‹‡ÿÕ–ê¿Õ¶Î@A즀ÿ{oJ÷À^G@Dã(y€ ö[b- †k1ÖHä§“˜ ‚,átw~ÿÚ¾p -Êòn@Vnògd³ó-íÍà‡Kž?@ãÀÏ&)8#}yñ èõÓ€'ëÿ˜ÜšÆÿ©ù??ìýã*:ÿ,2ýäŽÃu¤û?fà Ah½s6Ö\hßOg¿*›w’DxIÓÚˆ[ÆÿGÓªÿïÊaX9­Ÿª§6lNO ^÷?a`CX¥ù–KµJc5VÕ“ÅÆ"ûH VTÅ$»© ášÑ „f;³ÍÜi.Á€ã&€Y€Ù&\Ð8ŽÇtx=sû'·‰\Ðl7•¥ç¡®ØXkb3°O N –*…’1Qe?\èö»âQú±(BX¸Ö1ËTÿ£°Wã8 a`ŠÖ¿#Š~XM¹úðP½i¬þÂû—jý:Ó€¢q¼Å‰qh@¯wh #€…‚¶F`<ÜBMÑè«\û‚S3M¸ Cè8ŠóÂ1¡ôŠÛ{¦ÇA€È;5·Y™ÇbžìŠ4\ÛÕâ*Ï -T•4#ðÂÝ*ïqˆ™~EcüòåØî4ÀPs9•ÌŒÄ'×À /ª§èDr§ ˜Uâ€xwÙ2Íò¬„A—¬õu+ZSÌR4U<ËòÊ÷ïe¢%³æ¢“ÈÃLÆ,Íl9žªÖ Ô8•Ȇ#t€þs;—üì·búIì¤JœóÏ0u—ÀˆÐáK÷VòS {<èõ:ì œ¤`Ì`C0Ä£lý·é_Õ_Pþ÷4¥7èü»Õ*B€ ¨¢*€€“`Ðæƒ"µðaµ6ü·bÁz`ljUps_$Οߘ‚ÃÀÙk»KKΛÀ–<RŸI@Þø™ѵ¿Ê8ÀqÙF€H–îçñRþ?á'ÔáŽ]€ÉÇY ó{ÿI ñ*@àúsA06¸`É7^¼,öwx1%èòÔ€£Àa(è!‰Â9á·§ûûÃT9æüSudŸúÞ°€ÛÐô¥ªËií=·«6F£QsD5 ࣎õ:¡T¼ -‡‰ĄïìÌŽr9Ô`-_s”C Zôý¿Æ@<ï -xå“ûWÿ×é4ÉÿJ*”Ú -‡Ø+h¶¿ÓlÒW¯512µÿÏt2¹:—µSѧúÒ pœ€]éLßfÕ*츳'—6¤`%Ê¡p÷=$Øçø_Æwx!°ÆfB`€ù,þ/€øñ@v]µ5Ù° JQ#ÄÕìžË“§V°* ©!ñ(ý^D XíóD/C:9VéŒæªÜ dÛ^1* ïV¨á‹4û§ÙBú¯Ö…?€É +@¨ü|¥½H„믡ò€÷UCæ*Ã=äçG{ Aÿ×Xß»ª‘s ¬ `‘ÀY5¢xŽ‹WâDïÝ+9Ùh9³WŠ–î¼7³-YÐ&F³ôÃ̈ -Ä»! x¦KìŠ@ů£@?êËŒïªUhN¿m3À@½ñá{ï½ÿ¿¿ÿ¥ÌöYžh<80ãXÀ^‰XI ¨J )䀂X©Ð_ Z° -Û?žú÷¸ü ÿëBàžÈ^€K ýDb¢ôÒ[ÿtdwK¶è(êÿi Õp -šß“€%Ù˜G ²ƒ‘½¶4Ðü7i€?Lðþ¾L|Ktص÷*Öÿ@Qõ‹$€¹8ÿÝÿÆ9þïÉÕ íqø£¦ÔA­/)@ÐýˆŒ9Àxp¼(¶ÇžAç4‘áÙå{—SÀxxÉÜ@Ìÿ/ÿcÿïb䯛-çNU60DTÃpªšBõ‡â¶ô¦Þ0F‰†RUF8œŽ’l”j‡Úv<Ù0Bá$Ýš0Ý~³¹ÓæFÃ8ÝQ)€ç4@"b9°¸u73s{fëñÝ»!BñøÃ|*œ - ÝQ€Eîtf‘ ”N•Ò±¹;©P2)¥ÓÒ ˆÀ¬ÐÿbÀµNg±ÙÑ÷–Ë<ô7å -€Ü€S/U¤åãÙÖ‡#E¢ð €ž*}ï -Eb2`³«ÎlXïüŠÿôh(6‡uŸ€ºàˆ&hn 5sÛ1 µåå=Os¶·÷8ø‡¾‡¨øY!Ç{zhÚ à¯ˆ»¼gZÑeЇ^ÏqLG³=—½þ$÷Îþ»O¤gÂò‡~ÿ¹O`0µ`…`ElVPìó=Øà9€hiÀ³ùë9XEœ”fº[ýò D××3VíÞý™{{lìèÑõL¹ªs¸q4F|Iq³¦áÞ/i‚ßø†£˜Eõ”Ê~•~Â]:¬TüËþ ˆbº -ð?½ògø#°Í¥¥7~ñÞûÿãúŠG®|Æ–@H -ÇRÝ»³P¸âX] )Þ î·Ùõ¯½Ê¶?“áÿ@QÜžëÂPá&€ëž¸O öƇÎðÒ_éhĸ@ˆÏ€N¬`O0ÀM9 àé?Ã~IÖÿL48ÀµÝ¥MGóßþw—|“‹âÏ¿ðëõI+€? ôz° ²În‰Ï± 0Wü¼òÿè©ÿ‹½€§Âü7Àÿé4Á`,ðGQÍ  05Ï—Jÿ¡ÜFÆæÀ²é‘;þ|Ÿ@™ ⦢üÎ"¯ÆþIÛÿì‚PäòIAä¥ÙÿÑw²øV¡hù¶‚@e°”¥7DÝÕ´*l§êÈh¸nâ4—%:ÝÆHiwãÉ^ˆ:iœ6Rtš ngÔœí7F9ƒ±|­)¢€0ö?fÞôŸ=¯üËÇéÛ·3é¹Cœ¡Ù_ù$…ÃqÎ šíðàÔá8¼µµ•.ÝYHuSV© ¥þû³;“$è4ah–—£{Ó>Àpû7[÷¼@Õ_<,Ž×+¼øœ?„J­n Tû\óËì7ÿ+B$@§O 0,0Ñ*\¢ÂËÅC§ xxNl:bÆ@O ñš¹a‚Q<[8qMO îkUQ×Ûðü·]SÁØ_N -l×sk&‘€1 "=WÁýßå„ç?–|º~ûüœØ,Àç¶¾!š<²Aú_ÍUÔ?ð‰¤ÇU¸ Qyy€ž;§D3¥R©†eÈåLt}&j•­hÙ)ß[ÏfÖMEqÌry›"¶X·èÙ=ÇÌjª^#©ØJ8U»Üƒ(*¶Ï= -l\ò—à"oâd?½²²ðçø+(n.ïfßÿð½ÿõ«šßÇ>à~>µ¿?Nª* ¡äm€*Ô«tB…l•x€ÀÿdUO"T›kcÐCò†¢h„úÄ®Üp«ø$6€@dëPå"›ÿtÖbðoñÕ–à-y‘á_Fò–Àü¼dƒÓìœH žgGàk»7²KKíùÀÿn€olÀ+€¿âúÿcl üÿœÇÿtò@ -DlŒñ àÑxpÜ 8ÿÒ XìÒMôáÂ@®ùÉ çß8 ïA@d8¶ -šXG.lø_\ ¼„ Œ…ƒ¯ˆô“õÿ‘ìÿ_Äþïl1m*‹aG¾´áö`ò®Ï[-¥§¹&UІk#ÛHŸŒF¹\'ï6¨ÚOv“n7OÑ•T*Þî¶nuy'aôãýþñqg@Ç€þø_ÓéñZ¿³Öï?üäoï>.ÝþÉíÌݹµf3·^YI…†±#-ßNsí8Îsþ~xak+¿™+åYTM Ð \Ö&Ff“ V—ù“;5ÀòÿT¶‹‡Œ½/°›VÑ´_CÈ%šüBý‡‚¾øÂ£ -ßcG€ -»Wë=ÎfURyxU7 ¥€ÐØŽ¹·P ÚžYxV·½ZÁÙÛ«¡ @ø‡‚™ .Ð ¤s‘ -zœÍ§²Ð_3-Çåî=A½Qר¬¯àB¹/¶Tô¢±¼LúsñÏ@•œÊ €œŸÃ/`„·øÙÁrÌ &Ñ¡µFàˆ¯çIïT•×¢%Ï…à|Ùr¨ð–œZô^f=JÀ*Õ¬h›Œ ã^Y± ¥æy¶j mÏ1²{†_,Õ.˜®V0êÈœ0ˆ/]ª€Î=6óý?ÇŸÁïÍkÈÎýO_çÁŸÁP¤µSû¼È $«Dè¸JˆOÇã” 翞"ÿ{/ÿk=wÐs þAø‘ÄáŠ&€{2 cpÂõ?(@K‡ò£]Öÿ1)äSØw0hÕ€›K²°Ä¨?Öÿey -Kàkó-§ø¦ð"ÃóW¾IÕøs±Pçú_l<ù\ºÿ@WYxõ–Ô&€ìÿσ€±õß7öüåÑÿÕ@9x‹ñÿÉ“'ü°i8iL¸œöOyÿÊ$Àá¸÷?œÌÆ`¹èxö’‡Ï¥k€gSÎ?Ã鯉œk¼"íç»(¡šÐpŒ8†š?bKhÀÀVz„ÿ£ê~ÚåFýn¼C5L£“l4:ýd7ÞN†ºáP»‡qÏ,•âônÒøC8‹ÚÙà§›â+wÿâþÌíÛ·z÷“š£Ån*Ü u¹@-€î1¯ú÷ã[w>̧¶XtUJ À` `* ¨³ÖYÜY\L² -½w@ö¬ý¦Àûÿ¨ìqäq?¼°^î° òÐ@@Ó^Ð]`L8/دpTÀ!÷ 4Î ¦ç©ó³ýʆxû ô=W &ÆþçEXm xÙ¿Þl%Ý?Ë‚ݺ–½ñá‡_óÑáü~*Ïn1±H€ßKž;¬&Û«¼˜d×àdÒÅþ_£¡Aû×ë pJAÀ=tß @€ºÄÅuÝ%ØT7 öONb ÕÖ‰¾ @Œ5'Ø yrW@?i>››óãE€ì„d³œ¼+:KDŠoF*àv³,ÙiüÈPŠj¿Î;¿¤GÀ|ƒù0Ó8þ²þ, Ù´ÿ\ÿ^¦R€@ð€§A €ÿÀøOÔÿB<øÀOþÄWÌ:~aè7Þç Êøa$L0y¼#(-€ÇyÁÓšþÉjà% €s1¿ÁãŽ.’ƒÈ«ëÿï0úƒøþ©m#À7¨Ô7”T)Õ% Ãne®Nïm ÃpSýf£Óí7I*ÃG§§‰^§ÛQ’áp¼Ûi´»ñ8ûôÑ8žðï`=Ozû÷û ð,èÞ½rû'·ÿâöíŸ|B8>»ØéP5ÕEŸ€¿ß§Ðl§›¿³Uº~çN> -%K¥Tªêt:}‰û¢°ÈQkf¯a±é>KkÍ3EPÁaã^䇇OÝ€øs~­¨ôëЩWXæà?ï zü(|•õbÿ`ˆä`4þvl#T,]íÐ1©v -檋KnÍäüß·£–k…½èÞ2ïþÄ 0ÓW…s?Š|tƒ`=C¬Ú"!P–ð¶!T…}s9Ñ—6@hãW˜p{?Â"*Hzahàç0 `© JÃõœ° à4<À({ØÏ6LS«+å{–¥E£ÑL¶¼­——£V6ZÖ«TvÛ÷‡9.AÇÐÍRÉÊXšò¡e;–檶déXk0M´ úy^€ Ýt¬J ùçi…éT ßøúoà 1Ñ€!ŸôPüWA ¨ä_mónrªn²Ç¹?„ü0þgäÇ&€fÐ%¢=·ìW 京ÐõqB½ŠÀ bè­“Ô„þÂ<ˆMu¾¼©€¥tÌ< <Ñ,Í߸6ÿ‹ù]zo:¯¡p4eó6€óίãiðpŒûG7ùàÑ“éÜ7ù;ïóàWàψ\ýá(ÕÿÿE+¸À)¤Pàþ75þþJ¡¼:Æÿ?þÓG$Ò¹oâî#Cw†ç6‡SV€Aã8|Nðe-€sÛ“ZÿìRÀÈdðè»­þõ”5¹ÓSuÄ•¦"ì!í2ãÖüO±¶¬(Tç/6Þ‰~·‘€û_¨Jÿ;Ýp<Ôï°íO‡@œêøãþ,Ôy³ñø,Ûûq*@·Y@êñ•Ÿ\YŸ¹ýÓûçûñðJžè}v0 ±¶Æwt2[sù¹;[°^ÿp.àšðJ€&T€Å†^ÞØ–é;&2y„°æà¢ðóöB¤úQEE „¾°ù?,²@ñ…æ½ÐX0 aÓ3¹ñÏ*@‘DLÝŸ ûEÝ.hÄjÊQ¢VzP"DMo{ÏÜ«±—¡yrôûU|!äv¾¯± ËüTC4û]a WX"ˆµú·ð­ Þþ÷!ì‹%Žè ó?Œ¨Ð à”À³B4á‡Gq`ÌQ$Y@vÐb`ãT+Yž§Á‚°\Ò5W_úo8åÒÛëåõ²i•K{º[0MOÅ0A‹šæÌýǦ]^Ï–Ó³íÇ-ÍÌXôP– ¬k¦®°‹!½ð³Ë:×[&LþyÀ œ¥?è+ÚŸåSœŠM@O°ÉVéöjR|V{.÷ù±÷ï²î_Á8@Cü&28‘ÔLG!€-@¡Úªø[:]elö·@t{‚j•IZ"F¸µ)X@Œm6—ˆ°pÞ’±ÁYiŒ @:¿¶©ž½é¼ ÀP´ì§º×ûS3á c`¨ˆœ‡Šo8`Ä€gBüŸ¨öƒþÁäL&=’‹€€ýŸŠÀ±þ÷dÚøŸµ·D"Ðøð:T&có¿Àx8ÞûŸŸ œƒvèç,|Ï. ¾Ô8röÒôÿ»| úßÏÙ -ï3ö+C´þ EÓ±¨¹œÊimF£9¡êoŽ:Ça6ëowÃaNè{ø°Û¦2|–P8Î…>•þÌmû8zÐôÃwî^Y¶JwïÿK¨ÿ£ÍöÃ+Ÿ|î¢C°ŠãËØ € @þî‡Ãs™t*Ÿ -=.¥R!i<;ÿóàZg­Ù\ì­šÛÎ6²wö¨ô†ßÄÃýWDýÚ/xþÑ}‘s€áPCEésŸã€üóÉ‹"`™çý¬„J°È§ ‡ö˜Ø˜ TX]¨y®Y[õLG+hJÁ¬9fmÛñôíå(VTÍs´C]{Né­ã³Ï^MHï°ÎïÓ^˜ü=[:†lx†àªïËI‚ - à  ‹xzZÍ…·¿O÷sýÏQhø"ý—ß„ra`ˆ­4TUC“_+8:j}Â&Ó*Áó§TŠfÖ£-Çä&?ýTmìŽRÁª(÷Ö ðuâ-è_(ÝŸ×Ð…ÐéçnX¦ÎFÆ<•^îPÅ@Ü­þyþÎèWä÷ñ‘Jý–‡m9Pä@Q¸ó_תI·ªôz=ý%~݃ñ6üÑ ‹=ƒÍŸ°ˆt€ºî²ã;Q*:˜p?à¤ÊÙ']’ƒÁ †œ&x‚¶°ØÐûc_ VÞ@>àµðzvöð_'ˆ\À:œŒù†Ô4#[/|Õ7p‚ þã`”ü®J€é³‰Þïi`ý÷Hö‚ä_ñ¨ÿerÐÿ±dð:^øDËw6™ÌKÏiH·Ș&LôL|/Z¼Bx6nœ·ý8Lýÿ}w·ÿ§&þé3— -Jô"¡Lâw¢*;m´ª®kÃ$Æè)ðÿOŒØä[Ûi¦=ÉP·ƒ À°è ûµ¿Pûa °Ù˜=žåÝBBÐZ?jI·|ån—îüÑ¿Çnåã!–ð !ggÔäÀÝÌ\þ½­P2Ԏ͕ҩ®X˜j°@³³Öé4›kú¶SàzïÛ"þOŒÿ=¯X§ÞðDËþ€ÿˆš`-+ìg,èAÜ3°aHE?œE+€3„Ÿž‡0›ªy°¾0Z®9®kò4Â4Ë5»¸J¯GxôÑ»~¤"tûU˜ûQ!Å|ÿÜàLaD„Êÿe¹~ÂŇgX°WsÑýh€ -,çT€Wúô §yÇÁÀx˜|·Áï®Êë29Õ``DMÀoÐ-gMäÊ“(„AµYY«-; -W«Šób ÷J¦­b{”*Zs}ݺ_²Ø°Ø±!Ð]…Ýê¶Z¹TP¥*Øu7uýûƒy¤)`’jªå“ʘðP@@°‡1j{0€Þk7+šôV  °Ð¸º«Ãé§|$@<`ÀOÄ—OØ<øÄ‘]½Ê2€”B@¨ˆ ’Ü\cŽžÏþbþZ«¥Ùo:¯D^Bòóx™Ž A$":ß.!€¼ð~vasŸc}&&>SøÏûÿy*¦ÿbþÿ$hÈvÿðÿ3LÞ*>{]=€È–.ýóß0ý BÇAÀËKgÁáekGçg_æt4q8~ª @;5ìÓHîô”ß8–Æ @µLO#‘SÕèÅÚJ§³Øé$æhDL Ñ Å»^Û ЇSñv§Ý?ñ„Å;êõ›£ÄšÀÿ @[wÿbfËj—îÝíö4;{ -!aøD§ÿ7]Nî4?ú[¡¹L4³ð8Ýî$CéŒ0ê·û2 8Ð4w٨٩®ê²ÿî  pDY†=bq°Ý_îýGžGÎX¥?ïüC$Xäù?_Ò` \ƒ´Ã"aX½¨Õ飈>K<È…Ñf;¦©+b€ÐØpÈ·Ù-§ÂÃÿC»óyèÏ×r/­r~N„øø` šƒå}›¿–ð~ý¶°j¥<—ó¾ÌÿacL€ôxÃa!„Y‹"t ,Áç…B¡ Ä¡Ñ 2hšÜxp3p^qÊUe¹dºŠ—ÍÔ -1ÍŒ¶£âšYŠ:š1tÓÜpˆ8ÎvÔº7“u½’Ë>Šë,ÅÜ‚F%-t€FQ­|¹¤èÔ76ó 1ÝúþÀÄïö÷™ÄÚíj²íR™L61`6ÐKRÁÏ~:Á†<ý×$ú÷ü»ñ$­æ'ÄPÿƒ9€;à׫'ˆ†AØÀ° ë²kYLŸ<°–ÒB°»tm~÷Úîµ¥%"φoÿµŽ†¯ºS†ÏËć/wP7F¾iüx΀o  Ùü2€ ð—"@ÉðçÙÿ§r PL÷ÿǤáéAPÿÿŒO>~ë­gÏê¯Áyzª’ûÜú¼'±àp¢rÁsnÀg_¶ßAÀ;‰:ãÀ¹)ÏwœüÇ)á»j‹ýp#8h®y2`›2M!Œ:2ÜT>FÀžåFð \>@¿¡uÄËñ0Üû¨vïÇûÍÅæˆ§ýýæˆ.õ׎ÃÜèÂ*à8|ýîÝ™tA[¿›^#,o6GF#” -!+‡°€a{7ý83—Î[¡Îb2½UJs +öe ¹Cß­I  ¹Ö\koSý_~€ÓÚ^ÍÙ«™žëQIî<9½—1p”è/Mê}ÿ 4*_€¨E:€0Ðã‹/´ÃC±ýœ[¤ibWÐÆ” €Ãg»@7(¸­` Ÿ_ÁÙvöÊ{¦óÖöïpé¯ÂPXìåCÊaÿÂHìhF…û>»òʸ BO?Â<@•;ûÙúÊñ?®F¤¦Pšˆ€ 7ä"B©zÄ&@¾øæ¼ ¶#¶á« -a+¨åUU3]Ï-RßÒŒB?I'c:%/š1ñB %»N—ˆ˜è:ŠŒ{÷JÑ™Û÷-E±KáàèEŒ"Ì B†På²L *Tcº®ï[ß+¤hïïÇöS¿ZÿþpÐîGÑÏGbÄ €à÷Qù;`Ÿpà.l¶yKÁî@°üóE·* ¥y°ħèpûà›­ )8ÍRœq4àÚ²7€×E$vG^MŽŽ"çaƒþ¥ÀŸº²Þýf@e2x2Î:88gÝËê?‘, ‰óGTü?bÀsø0=þŸnÿþÿUþüµ2€I^ßTZÐØÀ/˜n /ªþφSFG¯Ê £Ë¦Aà{ýò§ˆy°ŸC€Þø¹Ñt§Š,@dÄ(š1€5°12bùj#1jôýG;£f¢ßí$p;Ôî4’á‡Ýn˜sz à?îúq¸õG‹M4þ2ï +àÙ~ü“»·oßµ¬;wÒá¿ÑIÉP§GÖ:³,!œm6›¡¹á¼Únÿ]*Ÿž›i€0 -€ˆ%h.öÖè¬ÓÑ9 S€m§ ¯àQýï8pô© ÎÏóþ‘ÍÿüGž pFøÏ-ôó!î/ò'¯ jXÈ;´ƒôì:DÍSèy+EHùêEµX ºž®=0ªxY‡]Žî½½¼¼·aJ/næ3`¼e+ŸÍ|D]ã<ò8%87Œ¨¬cß6÷S9Ë·"ÿ1ÓÏùb¸/šÿ’ˆ¯P}¡÷Ï "€D"l ` ƒ$è0yª†–c~B\F+Ø*þ-D£¼²éi^ٲʚv¯lZZùÌU­­Öçr†^`+Ý›¹²N7µ -šãÚÃÓÐÈhY:ÑJúÍ‚žA»|°ê*«•Nï¿ b?‹í·yûßè¡îgÜð¯ø÷zníÿ8þ@ÿ?Nå@z(²8ðF@ >ø€^e bħ{Ë  Š ¨yE †e -–-€tPý/Áþçg\[‚ð›Àë#C&ÃK ;ÌÜ"G2wc*;&"º²… 6 ‚/~3àwþ¸ÿ/ÀÕàÀ…¿OÿE ˆýf€Ooñ àÖÓ Ñ?©ÿetÀÕ©ù?D~U¯¿¾yHŒ>ó#S¢þ³s~@g[ßÈÙ+;G/õÿ_Nô=ºh<É8~ç7ÿÎÕ?E€ ¡ ’ j­Ô&h "fµa$NIøýÆi®3Û™E¹ÞápƒJj%Lõ(Üçð?*ý;0óƒ@qÔ™F@Ò ˆn˯ÿäöí™™™t:Õ‡?ák(Ùé`ºÏ]˜ó˜¿“Ê?Ž>¦ÊŸxF*•J§„€ÐìŒ;fó£fƒÀbrÕdø7MS Ø.xœÈöö…šýþsàÿsÆÿç|¡23°QúÛ¶ ζL8Ôê˜îã©@Ñö± PWµ¢â°xžß©ô‚]Ø3 H$|;Z^6 »÷q|ð`'?À=ŸÙ"ÞUýã¯ÊAº>#yNXû®WؘÛÿÀÿŠô÷ãKL$r°àJ›#Ð Pù­&C„DD@xä0Cð1’9`÷A–ë3D©FžY.q,@9[Š–Lçç÷L³hÞ‹–J5Û\¯ŠçH”Ëæ^¹Vž¡ÿÚŒ°F¨ªÆÀ­ú ›)†NØ0—˜é-kåúÂBzóûL„@nÿ0j`ðÏMœ`ö¯ˆâéröÅ;pÏ ¶R" - zR Pu§¢ç/ÎN`ßu‚ ˆ™A-ŠYlhÁO6Ç×vç1XbÍ~ƒ÷¯‹ ˆ×"Ãqï?2ž¹±KíxWPü)2Æó³ZÂoj€Àâ8­©Þòÿ[ã-@iŒ¤?18`ùß§Oöÿü?ðÿ©pÿãÃÕ þÿ—zýõDOMyóE¦Üùƒh áK÷›mÐTxÏðËëÿ£s1€/µ"“P¡ïOñ/ ÀiÎÏù†rš;UuíôôTi  ‘™Æ™€†ÞRŒ‘?jŒÄüÄû‹þš£Ñ"ÿhn#KN =Œw»¡ë.BöÇ;¢‹Àþ5¨Žã}&a,tRoÓá'·3¥÷OOåéx¨CþÌ„ÿgûÝT:–}œÍ€L€Þe…ÀDp“;š‰]XìlôoïímÔ¶k«µí=ÎãõP§{»Šý?„ÿƒ?òœ‘ÿ¹/úèþ«tKÿíÃC¹Õ…̓<éT¯³…P¥xX·‹߯€íÐÝv¥®‹6Šæ¢f×Ì‚¹g®r2qM³9Wó„ €Ï-x.ݹۯÖs„ð>Xk5רî [xõˆ@í -–ï|v`ñ?”ý‚T¸éa€­ Û–?ùaxã‡Êu„P!ä|_x # æþìâÏ©C8sÝBÍŠ–£-סŸðzÔ4µÂz)µìjF±+ô¹Dufæ§·º>3“y ñŸ1Ð<…ÍVŒª‚eÀ˜âÄN%XÎe3€ÿ¼’Î[±Ø‰û½ƒ‹Øocí¡õOÂð7©(ãÌÿÔÿ½*«{l ¯8`8@}ô%Š‚„€u" À9à@t@p€«‹õ@8žèÂxSoÅ6åÀ&76YH ûç— ¸¶Ùr´ú›0À×¥NA7®åPïKÀ\ €úˆ¤G‘€œÜ Vä³~#8=€„Ñ?û\ôï9H¸þÐç²àµ“áÿSé|Ìÿ…ùÝãÿÇBþÇø_Mõ?Æý³i-àTúÏ$é/rnÓ?H ˜àýÙðbFð«­^žœMY}¿Àïé}ÿÔ?…øØ°uƒX€aˆdCq[¦ŽK %AXâ6ÜFnÔé÷F‹³r§£Ñ¨“…ª§#€T7~'F0{<»ÖlöE÷¿¹ƒ>ç0l‡Xpߺò0€Û?½›î=xœÎ|’Ï‚E‚0Ü×fg‰À!0”Êdþþþã¹Ç[ép:ŒpuÿÒ ˜OšàJ€†¾íp`Û„€¹]3k±> -ºùuî'lÿ|.þéW[¢€•@ø¨Eè¹ëÏõ…íYøB„kœ¬aÀÏUA - ‚uº­¹¡âh}w¤dÏÓ |8 øÑ›W ôñ+~¤‚>½¯VN5Û¯¸*§÷lDjV¹Zç â‚p–þq— Â>>àŒíÒÎo0>› ¡ ÞqT 2!ú°D3ŸíƒT£|_#°VDz±%EÑõå2ÆVy½T[µµ²e鞪–ñêTÛÈÙ÷®ø;™uËtè_«•Òβ‹gÒ5…þ)å–kkÄ“‘Î0 b òßáh`.€ÚŸ×ˆTÙˆ‰€Î Lõ¿%æ|à€]b¸áMà5v†Aí.ûÿL„ßæ̺‚¿Ê ˆ Hާ€×ÿbÀýÿ?21ï;¸:ŽýQ@<–ÿ¤€˜Èúÿ`Üþv?×ÿôìÓõÿó×§7™ ¦5ý24xj,0íô. øÙ%øÿ*SÀ‹nèÖ@߯ާê©jÃê‡*µ‚àN5ã4CÝ5‰$F Å¥“Q§³6Zìtšår¹ÅNtÚ %ÔS£ -wÃù‡ÝÆG¹Y*Í›§MÞDEÎÐ̧ñ~¿ŽÓÝ™Ûòpå½øl?v?ó^>?—çãTò‡ì³}ö»sw~þ÷TPfnäóé’UáØç.ÁÔ `ÔÄ‹¢C§ašzX3Ï© -OTîE¢b÷›ö„øôßN'¿?ú  ¢ `s.ˆK@}[lþ±à‹:Ǫ þˆ¹·t[1Ð,°‹®W3ê®}¸±¼¼¼]ÞÛ¨)E¤ÉÄŸ -ööëHà%>¶¤:»¹;!§ÁYÁhú+#ׇ•l£Ã|ÕÏÕ¥¢¹~•ýÂËWT÷ Ä!O#¨¸îç†Â Ç“~XC%RÛ„>lTn3¨nÍ…‘cy†±áÚ¶G ®Ô,Ë+èf6j˜›¦USlµ¬ÐËu·µHΚYÿ×ÇVÆT6¢Ä¬Ì¼™uéyµ9’¸oëD‰ŠšÁÖ /ÿ™ÄZ:Úä«ßGÄ€åO» -¹_•ÿz„þ.”dµ×CßãUÀËÚÿ“XG*p<@CäˆÌ`Tÿ=”üú+4“½58Áb€Þª¶Ø,ëÈ ’BÀq€)À’ÐÕ±Ù7xÿZÀpB&–@! ˆÈÂ>r®âÈI_Îå¦@dâ $-^3þñ¬~IÀØüG„^ (€HÉÿ#éð)(÷üåþ T’†!ëÿ/^£ÞtZ›w6âŸEü@ö?œªî#S{|6p4=8{Õàh¢8zéþI°Pdø=‚þñŒ*¢ŽìSb£‘¡¨§ü„m-f@-9€FÃM²?`§¿³îì|4jè£PÊPU%œÏ‡»]"ˆÞé|4Zc÷Ÿf“‹u1Xƒk@<>ÞY ýíÌ㙿 0s÷N¼ßIÏÜŸËo]_ød¥»Ö õ›ö†€ ÞÍÏQM9W*±P2ÙîP¡¿ÖçÌYÿc0j6w:‹ Ûeá°]{¡aø_c@Lë¹ÿˆ, €3Œ&:’çgÜPùB€CvFù¯m^ðÃÓ`Ÿj}È*E*ô}¿î O@Û+š5—n)šºéað€C€–—Ë5 &€O¸)_ñU¡ûS#<è.\ÿЄag&8hì«Ã‹¯þE¸çŸSY*hûbi€=|†ãZBÄúøüŒ ¶5¬°X`ȺAÙ @ëWUnˆø`¶ Ö8×ßÃt¨Ö×5Û,Ó QÊQÒÀlYÓÊ÷Þ.ǨQ,ë1-qËH—¦™÷—ïÞ›ËXGsZ¡å>³Oµ=¯o´LÇ¥§¶}úi¿Ü°ª®‚÷ï'f$««I™4>ð Å?»º,¼ûE܃r@cOF‘„þÁ çr† Rû!tLe?ç ôÇ ÆÛ€Âô9ÏàÚ»ÄZ-}`¼!¯±€.Z.ÁJÀšþÈÑ02}È©çªÿÜ(':uüu9þÊ£`zðÚ ÀTÿO$ü~uL¤ŠŸƒüøóé­ƒÀó_øÿÅÙYÿµY̺éXæçwƒ¤Bth‡ˆ™]ã@‡ð‡ñ¿‰0ÀŤnÂzF@´¯€‚vXdSÿºèÿ ü/6}ž³ Ô~Å–Á(±PÔà ̽ú!øA½NÏ®ÑE­R$„. ûjýµ¢‡°a¼’UøÂT×ãÊm{ˆø*ìãg@Àް– \€T.î ¡ ™5^|K› †Xðƒ?눂ž¢ -QËx@ØÉÉ¿ª -£`ÞðŒ— @kIh†¯¹| T >â,[šSŽê±‚V*Y–§)Ä -ìh´¤Ù…’£ß+›®í¡aê„îšâE3ŽSJ—<[iÝ»ŸÝD®„oèÆ3â9Ú|æ^/ýBÊV÷÷5”*{ÿV± @GW8Ò¹Û«ò Ñ3»ÿSåÿxW˜`À9`ÒÀ}¾"°i®è àÂ&ˆËÑý×…°¥cÈßB2° Ðç5˜,m¶ZƒbýÍÀkÒÈÛlýá£qÑÏWs‘Ü07!œÊ‰|D>Ê -AÉXþõà8»ûu -~õì™Àÿ'ûÏD0½ž>"€£|úˆ×nõ¿@þ7ÿËÒÿ­ÿÂÿÿòúæÿS àÜ@ö"Ó‹þ—öü§G÷GÓkGã®À«¦Gço“Þ“ À÷«0ü}ć -' ½‘«§ª[¥· *üè”͆Aä ÙÙ=#ï0èŒ:Lf»qªéSÝ|8´’wÃÃØÝCÐq_÷û³lHèýýxŠÀh1t'Ò¢·¯Ì”RÈõ‰Ílmþÿm¾Û_# -°+`z´Ú©ÿ/sï~¦ôø¯BðNv‰|tšý;Ͳ€(ÀãÿÎîJV·÷ômâöþ/jÎv YÂÄ¿.’}íÃ:¯þ Îýé÷pbôG'½ŒöÏ‹E)<4ê âªùéjCøcy ºQtð ϳm÷ Ž[X±·ËÀA)C¶0ñaìèùzë‡6›þ“›‚ýE3@å –ûÙvŽ]xU@Ä ª9./D€Eh°0¿Ëà ° €ù­)gä*¢Ú?"t9Þ)$6¡5¸mÀfÃŽU.m;ÑR” ß•±<ïÿgïýB¹Ó5a‹°,x8, - Å -‚ª`\NàNQ$TA/nDžšB¶ëÆdPfmP+bd¡Ü ÁÛ,¹ŽÂ±/4ô@ÓTtq0Y싞»Æ߀Ž|s¦À¬´ºùì3}jáûÞçýýJ’»{w'éžÌtŸ–mY²eùŸTïó¾ïó'¿ïº %MÕ–é·ª¦¾ð„×Ǥ(‰û'J‚T<}û<— …Q¨.µ´êbÕ&ä’o!À…œ?•WOR [-ÃÛÚÔALC¿«ä­T¥’Êmj𾡷~¾@«…ÝàHC@J< Ðöó>œÕ©›Õ_ÝÂq‰ ÀQ8°Ço`0P6ÿgü ¼Cû,¤š¬ý -óa@&A}zCš`Ÿ£ƒ97ÀCP€¼Ì£û§Ó #øèK¹€(ö\ÿ¿üõâ—r€,AOÛ~ò¦à¿ ˆFÜæË€Á bú£øÄúÍUÞHš{Έ -Ð|àÆ#—@öù~™õÿZdrÿÏü¿¿—€D}¹ -›ÿ[äüŸ1DæÿŽí‚Dª@fþýLVìÿÿøç©`WOA€äSCÿ«ÁS²ÿÆ?ѾW) 7ÀÙ³|€³§(€rðÊM’0úÅÀÄñ¿¡ë6ºÜ‰šÃ@WÜÐ BªÿFCé4B8®ÿÐ<Ýf*«"Ÿ3xÿÃE*Ø+\9X0×–z‘ Då¿;üCó0ž pH 6œDÅŸ_»< èGyk=1„ð@¼ò`†½©Äó@4þtE^ ×ÿöåâ¯úoœ_àš€B&&öƒQíD ¿$jœöU>oŸš$à…c -&¼ä@1JŒØûc?‘1at -ë?fýïH"`tMÆÿrÝ¿%¿tÌþ‹º‚?þ™jØsGOm&f£XÆI@0x¾`äüÔg…šð­ÿôP}Â2€¡ktÅTí¡¡„àºCõÒ@T°Û˜™ƒ OÿЇWOhÒU:ÃW,-eíFìß-uÀÉïâ0ÌbcàXúÇyßÞ»wq˜¯Üþ`ecõq|c—ÀôÅÒ»wV7î$:ê\t°ýçРÒÓ©ò¸T²Û™^8 Uë°Dõ?l2 0²Yš;«Pà¨-€5àÐ¥maø/L€¯®Gÿêˆ×AÀÕU0=àú‹€€ ƒ¬É;qO ¤þm³‹`½Xd7až*hÛpÔê¬TòÇÇϺ{¼œ/ˆoŸ¥ÈÞ>H÷Q ,õ9Ø ê¬ÁW¥°+øDèËñ˜èÇÁ¿Ñ‚)¬â! Wí(ú‡=¢]Ätå:AMJõ  <ì° @f€A-ºâ&¯À?„@˶=*øzªj§ìê‚•·ªyB8¶a¬¥ªOs0F÷d¬­|@Èn^©\%>{÷³/6r•Ïæ¼j_ÖCçŠÁ¾†õçéÞŸŸŸÿÒ:z¥kǘ¸9'rPþåî¿;*ýh¢êÓŸ ·Ø` Ðå)Vàö5Ñÿ#(€@0€‡ù€§D¦Áì€Aôÿý#½)À—›¢âc ð%O -ˆ5À—ŒúÞð€,IUN#}߀ø8¤Òß éLÝ;Q'WŽN48g’6€;x™,@îÿyð“±yß `‘xk2pgÄþ—€0$0ªý·&í@þ£òÿãs¶ÿû3šM<ñ'ý€ÿ7Ѿ“±¾c#€(éïÿ8¸)8oΤDàU;IuÙpx·#7:þ( PÙÔ”™n£ÛÃd Kµ¿ëûÝCÿ ¤ø€®Ö~ÿ?{y€ílöàâ|„9YÎÄØÿ‚-þÒéÄ·  tîL­¬|Ï=®Äootzí¥;wÞ]ÝÍ P€³þ†­€:óq>­m”æŒ4à6~OŒÿ›!ÕÿPx„ááázcõô¿–ÒRЎàU@¤o“{¨ö¶EààùÿUÉ  [«± ‡zÖmºD_CìWDýw‹䱂[dw€‚nyÇ¿¬[å_.ÿ’Êå]úTO“V¿¬äC§Ïí¼ÊÕ¸.’}U|fΟ#Á/àÄŸ@˜ëT¯1êG‡.C… Oÿ… ?4Øù,ú"€¤0 bç!¶ Øa€­€|9„†”_*ì†˜Š•²-/_¥bŸÇ(©€J>uA«å[–Á¡Û°x|\©¬ü"¾65µ±??“‹oäfçgftOÓYÞÀZþŠðxøðÓ¥_Û_¾ÒµcÀ~ÀQó/è{TÉÉÿkÜðF0?.ð Ý11@¯]°:°ß'0À,ÀHÀÑÁl -Ü×9@ïƒ À{€M°€ .¿~ `Ÿþ)o -þËœ© )­3òùqDýþOœ¦cš&E€¸obÀ3ƒ39päï_výþ?H3ÿIÿaç'Òü¢ À;bû?îÿ…ÐDÿÏ7û‡ñüŸ»ÿ"èÿÛ¿úóN²Ÿ7zú§¢~n^=»ö÷ìàÆÕ³§)WI9ø36ÿÙ@ šLÀþGéS·°x„@mц ×m4ÂÆp¨6|ÔÿFÖ<ôCÇltÒ{‰XA¨‰4hþ¡Oõõ¹G0÷@0ÿïý õ×!øh‰@/}ocå·ÄWWã+ñû½ƒéN¬´»ººš["¬Ðc³ài$ ÷bóÔþ¯Ò[eã³]ªýPÀ'ˆ³ÄþŸêSL|‚ÙÃÆÜññþ§ü>Œù4Œ -¼N+ª¬ÚŸ$L@€HÀÁ» «'ìxü›òFžÊ>€ÿE÷ö‡zmÛÝV…÷ïö¶ê¶´¼ê•<5ÅŠulë[Ë)¶Xλ¼-@c#bAÏžÚŒºÜú+l—}³ö‚@Ï=*þ8Ç4à\N´®Œ -ÆÐÿc+Às±˜4 - ÀóÿgG—›‚  þÅ&€/Fl@Æžvþ¼ ª¸‰¦½9Lžù3h6 dÍ=ÓTÍåŸÍçO"EïYäì8/±¼\ÿ À·`ÐÃÕ´¼¿£v^.nL€ÈÂ. {qýÿÍÛ¢öËúÿàíQðß[ûÿ?û2ûF(´€ÏÉñ¹9¸šlþF,³›Ààl’$p“p&MΤ7Ð+88CÀP¶ýtøW¨—P”MØ–7TãËE%tC醸E#ÓËú FëMzGM"ÑéÌ)]¿ `¯»~î[ù‡~Þ¿÷>J\ô.Ö1·§â~ïÛè}†ŠúÔÊÔÊÊÊØúôt¦ôÙçŸ1µñí½ì‚{b€;ʬUâSXäîÏÏÄtÚ1‚€ð°é„ìègÁ¤võ®UЊ‹Î•–W(´ -yº. |¶U˜ön£ÿOÞ,ÿgÛñïL>ÁàJª° Kî Ò!д“VË=Ù.Š-ƒ -`Ñ­3˯PÈoYw÷µý_.¨./·8˜º<§îz"_’D“Xä¬Âç@4ÿªd -V€ºÍSfþ!8`¨lℾ ?6”¾ø^ÂèÇ`©ß@$sîÀ”fÉ3é -  !h0c€×Š«[o””U(*û–f`Ã’¯Va`T-#^Æl*ìý‚;»«ã¥û¹Êlnµ²«çÝÚ4ên¢R‘vëò2†À3Ï™ùÌŒ®Û¯:8k«hÿ½†Â/†xéNŽþø»ã€˜¸î¤>@c ÀÃþóiLÔ”È"P\èëèŒ@Àf_xC(ê¿I`Ôÿ ÀfÿÍàÅ@r’g£€Qg?àÿ!ê;uÿ_›f¶Æ@ÑNÆû:#tàH?@žŒ•¦3xyÔåÿ¡þßš°z0IˆÀέH@8`4ÿÿýoÞŽnz: -äîŸûQÿüÙͦoÖø« 3àIÞÿhDqÎÆÎ~7iþgÏœÝÉÈ¡aðæ÷ûNšºòN»ÑhXê4ÔCªÜ -ï_êü©ëO `VÜÃ`=³ºñß+¼Ý/µ§§ÿ¦³´±ñwŸ¾ñ™!Ž„Û_o}&·KådªB]e&Æ €XÀú˜Ø€ðÐ?$ ²Ñ]ÞÚj•B9ï1€6]á àz´8»ºQþŸBoƒÁµpJʨˆë×Á ›°åÿ Ý)lÿ+NŠ, -ú¸¥Aügë…»Ë"›ÐÒZ–…0ƒZï"ÄTx© -³¡?‹îëѶ~[Øü¸Ñ‡¬ÓSÕ!7»IÞ÷Qó™H@-¼#:}ž 0îÓ"Î_2ºo¡=¤Â ¤­€H Tƒ³…Uæ¨[f.`ݵ¦h´ì”M`­¤Û [†ž²«úS]+10\3õÁÊ”e­­¤æKv%•[ÛX[ͭͶôª˜ËÙ}‹ÔÍ–1Ãíäóž4€/g^ù"b€•nƒ…hïoŒ0@··hà†ÆÐò -@Ž¢t@ªúÝs‰  d ¦ˆá¿âE¹Á2&Èóô#ÔÖÒ9W~´ý‚È ’ %G}Ï}ãô¢ 9]<§mf“‘ç/—ó&J{ä?ºðÓÚ^­pR(LLðÅϱeNî5“/kðÇñ€ ãéÿÛ7ʾ|•àôÁ­ñþÿôôÁ£[¢þc0nÿÇö¿‚ÿ÷c.ÿüá‡à˜Ü˜ì£üßún¤ŽHÿ{ó|˜Tú?mýwöLþ¯Ô¼’ÎÊ@蕚J\q2‚è,étçÌÀÁ\Ûô‘Ö·î³Ñ¯ßX÷;~º^¬“YJtw¶ÿH â‚°ÿGÀ½{÷Ò=¿“[-•J÷ïW¦–bÔè_ÜÛØ¸³±±º›–+€ Î\Ÿîer¥\¥Ï¥Jó™v,Ó™ëµ;1ß?èÁô'Ò ð0›å }êú÷÷-«U¤Bü02@ûÿ"E‘|uSçù¼GÓ“«à è€Â _wh'î0ô¯Ë‘B^Ó¤»p]­çóZàj×Ó :¤ÊõÃøæjT1èWE›¨<^׋6œJ’ë¾ê£-€úk<ª3ü—nÄ -GÊ÷#bÝ‘ja˜AÿGŸ¦›1 ‰T€áî^ Ërƒåƒ§¬D4]ð„Ô‘J®"}™ÅîÄk0ì°–«)K14p-ú3oå, ÎôEk++÷ ¥n¯¦ÇW6ªùyþ÷y-îw¡kZkñG¶¾©{aÃüÌŸ~æ½ùçç_ƒ2מShÿQþ“ó °þ׺#'¸qÀ«À@€‘Îd°;€Âca¬DA(ÿùM–nêÌ8‚€èýé$V|]ÖÿÅ_/þ2€sõMÁQ µýÎJ·é°ÑFr Jû:€¬:SCýßÛ3O”‚:–ÐyH·ãKœÜ%ÉåŒßÍæK“JH÷þ[£áÿDó?Êùÿǧb ÀÅþ÷oËÉ?£„埩ÿç¼ÿÿAT¦7ƒ ÀSë(4è™ÐßÈèFÕ?»ÎFë~ùÁäˆðj¸êV@à «n—ÚK4˜¡j “ŽÑE¡Ìn8 òÿÓ C!ÀYÿ qÐó†ïû±vféÞRb)“¸—ào8ú‡]€Òþ£Î?ö`D­}z‰5ðv|cÞ.•*ñDïo¦Ó»³»¹¿›Š/¥3Pqï­Â0à~%¯¤î§æ3ŸÄæcíOü^$Á,(ÖëÙ,fÙ°Q.ç÷¡Á³öó¼ -È - lƒC‡s à3€çJ*P dPÐu l©~BV¨i{àøƒÞ†à¹ö¿Š®vœVÐðÜ… põx9µÜ2ŠVËP¥™O_Ts=µî°7ï¶Ê鄎:¤KÛB€=¼ËvƒÍ@0ö 6ÿqÄ<_•I?èå]Iˆc -ÚÍTE©w£Ð•KºÉ¹’ˆû= Œ:H>Æì$ÜšùôÛøÝýD­¼ªZ¥*AÇjµªÊVJ×RyØš.J¬T8èaêv<žÒgæm z0 pWéçß[<²KöŒ‚}ý%ƒà_ŸÃøïúák08;SÚ\ý5Ÿ¯Šîÿ•q,3¼Á’ÀÉ5À¹è -"KWZE„cÐÇ  êØ c‘ $l|yy$†RÀ^Àoâ_| Ì}öTgàD¬0¨ÑYÓÌšûµÚÇŒMÓl:Òp0‚8xIà_¶ÅõŸ«÷ƒ ¿hù£3~uþ§Øþo<; o32xûAäþ÷ãoÎßâúÿÛ¿úä1¹I|*Þg2 pBÕwvcÁõ¼–ÿ)YàMŠ@r0Z¼¢fZÁlìÀ $*‡šCãÒ3œ$]횄ڙl€á0ë‡á°× ì©´Û‰ÈýiÂ6ÿÅ€Çþé‹uŸÀzxÐë|”€p&FŸòçìÛ¿Èår7ÞýjÿOw¿]š÷öÊ·K÷: \ô|˜ïæV³°²[Ê$–¨ûGX¼ˆ9@TÎæ Lo¿LÅa€Ôûà ¨…á?†l×/úÿë.ÿ›‡ÓÙµ˜ð°/еˆ ür„' U‡ C]P¬s` S øžšKdyùØ:®.W—”+‘çùE öÕº(ÅÜüË)<œx¡Ë‡~¡ ùÀ7ЕÁ}ø$o °ù§ÿ^]hŽè1Œð(’‚QÙ5“yÉAä@jÿ1Ó‡ª@ø GÒÁ P€(„°£±B€¿9wÛÞc -€!‡EõŸ>¯äK©|5¥©^ —çm¥8â)¾²–»OÿàJ®25_Ç?;Â>ÁXÔJ(ÿ‹åMþC°ÀsFôpørf浨"‚öo6LÃéÿÑ÷‹§iÒ `8ú§)P@€ó~ÁXôEH@—J>ö2#PÚ *ˆ—ˆؼì÷/úýK1пDJ@4X@s¯ÞTü—0€¶¯æ:u ˜ÁÏ+€Zh6›fÍÜÿéÃr;€½‡ÊIÄ`ÌnfG²Ïn€¦ù²&õ_mK IÿûÁxúÏ‹ü -ܺÁxµùr& ê?î"²‚(@–fÿÉöŸŽ?PýÆèçYÀÕdõ¿ºÁ©Æ=4ן˜Gµ~¢þ(€¯(†pÿE€Ñï7ðI€ -u!ÞGü:¡˜n£Ñ Ð÷³ø71 h´—‰¥ÿHÇ:÷î-õzBÁϲÿNš‰~/{ˆ9@ú£tºÓ©̯®übåöT|êöç‰Þtú?nÜ¿ÿO¿»”f«À‹Þ´Á´¿”[­`_½?O§N ăØ:µþ>ØÏEðaƒßwçòTý­­<Õÿçù±þÿ_-8øjêñ`bð†”O®ž 'o×lÌÖ€Hõe"_Qå˜àm ÷é[©AQ×òK+æ 0$>>*[V5µE3"}òLq(ðxŽÏ -ü€Ë²Ø bø/€† -: ’\øú°î L8¼¸ÇËÿ@¤ŠŽ4Çô±.Ž+ôK0q0r#w€TDà‹PEH€L.ÀŒaÀ³è M­kù¼w"$Œæ–¥õdÒ«TR"‚ÐÏžá)V©Bå¿RÉýÒª®‚¾¹QÙˆ¿S¡w6ÀÐÔ[º·©©:Èøì3çÃ¥KêP_2BÅß0ùeÌ;îýG ü·yõ7@wœ t³þ³ÐPä ÀãMºœ7=ΩøSåGTàfŸP°ÀA -\êb)0¢²Ð+À*H~ƃ÷7&Ífü°öµ:o—ËåBmoÏ,ì©r ¼Íl“#O²/ ~àù¹ <ÿ[‘í_D¸%×\ìG¶?2H‚ Ãé>õô‘‘ûÏùÙü7øÁ,&&å}Wƒ«›-ÿS:€« ÆßØÈw2 hbp6Îc­û£ú%6¾²êC÷¼ë" -ùsGð.é(å)Ýç—taÃð2 3½—è´ct ;¦ï¥{0}€4ÀôJ{'Ýñ =¤gWW>€_ d6nÇ+«_¬Äw3ºÅE€ïgz>WY}ü:Àû»ˆôcë !Àø€í4D÷/0x€‡Ùõ¹2¬w÷uƶ°ÒÕŠT›‹"ˆo»Àõ Û§ÿÃ'+ƒëäà:ଠ®ö PܦfäÂ"~[þniŠÅAÀËw9˜®ÄhïÐQ]ªùÙÊ‹8 êªt‚ °àÿ‰êŽ™Ôó"ûÏ©»r푪œ(&4ðö««|Ì `ò'¸ràO÷´Ũ˜@ ¥ÀggôÁ:hÆÈ#„(`?o¡’G°ª®­Uõ¨è©\ÕP÷°žN­¬LUèw¶òve£’K•JÕTBÀÒgº¶mè-×°g mN€yÍ`G¥àÙÀÒÒ‡~øšÔ‘wÿ¡iLre"ÊÄ#ú_G w$4&€†½ý¥™€5€çiÌ ¤ÒÏn@Tñ/9.Î@ý#Â}tÿ—ôÑK.þ:o;PL‚7ÿ…€ wŸ=¬Ü‡ÎÄ“ÕMÀ¬}½gï—Ëûe씚*¥¿„5É<“c`ÒÛË"œ¿5Noû¥ßÿäôÿ0ö›ÿÓ(( Û[~á}JŠú~.Ìÿõä_~°BvvsÂ#P8ö]=«œ˜ù_MNþ7–~c¾øàõXÐC‚Éš1D]‡Ê‘@ý2Y†f8„íOcæô|Ó÷‘ñ+–ûfÃOdææ”L‚ -w§“YJpíæ\ôz}D•r@Þíw:1úòÎnQÀ8M•Ö§{«SS•ûw¾˜züþ€C ¥w2ÝK¤îÐ?~¼–ËÍgæÛŸÐ½vb1*ÿë¼þPÖÿìac€CÎbÞ]~_8ï@µj4tÛÔ?CŸ‰ÿÿ V^óËÕœCA€• Öþ'¨ìn«à²`WŠÚ¶¦[…-Tz±tü8p$`¼æ;•ñU!àWë›§‰þEî¯0 f@Éê—«‡¹Ûj £Ä'#F… -0ê>aCÀ²búÔ˜¼Ùçëc“¿[ ð>;à - Žk¬t¼² Š-ü ª©’ÕÒ”|üX×é®5}cÍ6T%¥¨ÇqÂu©ÒýÛ¶K ©ÜléˆJ“®{ù‚õ™­oQÝ·­¹Gœ5 F&ŸçÚÏ~øåkSILúÿÞx¯¼€ÝPD„ÂÐÊÁÀ¹,ÿçb †L@¸(ÈòDBÐ&ÇòzEÝçâß?Ò€.'º¼xcð¢ <»û™NtéïÃGN²f3K`ÞžÙ×*„Z53šðÀ¬F€‹‹Ðd—&€"ÿ¿2ÄGþŽ1Ài´Ø9•<@@€ÓGb$@õÿ÷£ú¿szºA*ÿ?{ëüÇooƒýwýÃYL>]Öor®®nF=³ˆ®þéZþH8xÅd‚†.x憇á²KÇE1º $®6èÝ\§Óëb¨®ûë†ßN£a ×XâÓ´¿Îå¿ÇBÁôa)@š·úixü-%:½ìzçÃR¼rŸ×Õ¥žŸ^ýbêóÜøwî%X`7AždJ÷Wy@µd $ÀXχÐ¥4›€×çìêñÝ}a@j‘«ô¶äþ×]¦ÿQ/Å` þûF‘Œì ® ®¯Ô˜XhmŸðˆA-Õ–^w-îûá`YûÇ`ÍdsOª°fîe³˵’]¶÷ËÊCm¯°§:£ ¾¸f -$p&-€Æ€}øÅ'*ÉÅsDB¾/Íþ"³ß2ìçA”ü' ìû{*/ð(@ŒûÿG·v"Nà7ßüì±þÿG”ÿÐbú¦×ï{Þ$ܰûŽ໺ùMj_ÝÇ9µ´Æ9JÀý准2"èë›Ýn_d• c—ºÙ0ÛÀøŸOCåžï' -hKŸÞ››‹½ßY?€Pð¢sq‘î&`/Ý# €O—:~è§K•øãj|…^¦v{ôÆÔÔjnõ?ýö‹Õ{ ºÝûôÖcó9¬*•û¹…ù Õÿκߋµ{Â,€1B@:oÌÙX`ØÎ¤;—møël ³žàŠ[áàjý§‘KPªèKxypõäŠîúD;ÑŠ'®[?G$ËC7o©nëøøîñÝê/«ËÇ–µ¼œg€¡‰rŠ( ¬ø5#Y—<ì „¡= DHœà -îÕž `å/ AÀ%ŠúPÂG:ðôÃþvA€ú﨎Œþ“¢#¡ayAŒ3‚H.õ€kDÞA|_ƒ¤¨“·ÖRUj@[v%•/ü¼Œ¤£`hñeÛvÏVëG+¿¨T¦[¥ý“S¥ÒÂ|©]*AÉ ÷é‡Wúöü¦’osÓcË8-=‡>3s¹97÷“gêÿ3аŽÈãÀ ÀÂãÀ%Ÿ5ôér–@""Ðý?Oú‚ˆÚ *@_–‘(P@ßsëod/:pj˜¨Îž38ùÒ[}A „ÅiÖjf¶öÐ.ìÛû3öC¥PS -{f´à›«ë,hb …"¬½Œ À6;¾5 - ÿÇf?ã+c¯ý?ާ;˜`Øÿ¶˜ì<ºõ{‹@ŸÍÐþÿá‡M˜xÊâ79ÈÏ\] žNYÿ¾_?/^a°-ÆŒXYYùô"ñþÔŸß¹óyüöÔyÌ :ɘžîÌïÞ/•â•\*·Ë¬z1Òˆj¤ 0o ðpnß¶àŒ±uQ;)Ò’J3ìmžÿSõä>C€àOü¯ çbB”ômÂôZäŒaæ"ÈÒu‹‡©åêqõ8Íþ‰§ m[ócÌo:*œø»êL·)¼0bv:tö檡¨Íƒ>é"ðoÈd”~žê;+À!C /ƒ:s 12Ç:ýJôÿÌü™pÿùðÇܨðO‘ž’^VþYÇ¿'ñ@~ëWø.òeQZ±ßU ·¿ÒÃŽÊÿPÅœ’€@{Χúo„>&Tgåë uís†‘XŠ5ÚK±ìAwÃül–ÀßI÷Ò½š§‰NÌo˜½t&7Åbñnž¸øwŸÿöÎûïÞùÝÆÔÆn2ÀˆÓëPô–r»ÕR¥²šËíf2™6 …Y çÿ’pØ”l@ŸP@C‡ O¹?ê6Gñ¹²÷ç)8áÂ@ÖÿÁàOùDܬ¸øâ$Ø€œ.äÖa XÓ 4ÝÓ›gÏ9T(]¯ûº!ü e¥ŸFv?ì &ÿÌÈ‘vС0é¼I8Çþ €Ê9‡ö™ ØíÓeÌú’ÀT@Qü£ €ÿfG—ºò†ðb€JxMUMz)„É ­|s ÍÚC¥¼÷°öÐÆi¦TÐéš·w"¦IS…ªÙy˜ ù=aòœ Ž °Å € ÀOÞþɨû0¦ÿÝÚýˆú?r`óß[;ŒÛÿYÿw>~ôèÖédý?ëÿ"ýÿÍ=­@É ÷ÿd4ôöþ¯vÕ~™àV€h;¨ê{›Æpè¢9é{†3 ݆â5B,ÿéÈdRÙ÷»=´ç1*èsé%ߘëÆ`xÚh§3KK üÃ*@œ_@×À…Ÿ¥Ê/C†àÒRîÎj|cužzý‹ÜßUVßý<þNüöÆúÿ 0 -°mj.KöŒÝŽÅÚ@tÇ1ߥð@‹A@–ÏM<.gÿëÖÙ| ”lÞÛG;€?ùapÓ!’úÖ'¼Q¸TêÛZ¡?qÝb!ÏVÄÇË¿üQÕZNY–vŽ5­ÔÂñÇŸ~*Xû¡x×yoÏM¹êÔ% P•Ù=ؽ‡An€ÍH]:‚ UG -;@,T)ÀHÁe ¨;x€&ŸMÊøÀà ‚l’&ÅðŒý‚T‘TL¥šU‚ÆV¾E8@5ŽsžfkªaYÕJ®jlŽª-‹ŠgF5^ÙÈÍ´ Wki^Ã;ZX˜…éŸÆˆš®k®±04|{ƒç캞2÷Ú=ÕÐù 0"ŒÁ@…î_e.á â€(*ð|Ì + b‚Pþt¹öwÁ¼€¾E€pþŸtþ?Ç oÊÿ OÔ°æìe äÍdqqo<€¶¿i~­~ª|ý°¬3(fÊpT1`Ê@Óù:+.ÐÓ‡!6Ã]20_è÷á€óH(ÝN…í/•üGÈèŸñ•S‘Ì €Óá$ûÿ[·¾:;¢þÿà©If7ü7EWɉÀ›‡÷S€À5ΙrÔ׆ŽÛÕ¨oØTB@Ý.FCêýM^ÁÓ«ß» ¶¿ÑItºs1Ü릪$Ø 3|^Õ÷°ËÇ2åŸ@36ïßKÓÇ3³¹û•ÜãÕÕ]êö7âñøêÕÕÕw¦*K(þéO|¬fJö|*¿oÛ±¶ËtÚ`Î}`°£ú?Zø‡¡©Ð3Kƒ3/æñ¶óðÖGŸÎS€:býPu¿ûèÆ zÀ'`\×U! -,ŠAi¹ûÖ]ø-/W—-]ãêg&Ý#àDÕŽ0÷B>6Ìû@†‰l j·Ù@Ú°4S}”Q²Y^ÈÛ|v$rçÏ%‚Sÿz°Ñõ "Å  è÷R…%°°HJRè“`&8ڱƞª¾ŸWðý•Ÿ§è®ëª¾UZ³¼ÛNÅS%Å-Ú…À´SÖÝ©œ¥ˆ9µ »ƒ€'únˆhi…£N¾‡†ËPìY ¢¼^,À¨OÄ`Tôçæ¨ð¡Xý‡ˆ„ -Ç»1Aáp¬ -(€°%½ 2`WcŸ`´þJ¿Ï(€­=6 @ñ§wÐ^r$€”\¾9 -¾8À4 ¦-ÀV6©-Ë À€&&e«l?,Ó©°PØ·ödüŸŠ•89Íæ`騦òbéð{A¸õöƒ ³ßSYñD‚¿Òñ' -Ä`:€ãùÿ­wøkÆ,¶…úýÃÿÇ7}ý“Wɉè?}½)þÏžž¼wdàÐU6%/‰Z0CÃahÒ•†9×î†Yªë,¬}{>5ýÄ\cŽ@@¢ÝhʧŸ.e|ÿ" ÐaS_Tþõ,[ú¤× Áªô9ªàïär9Äü¬Þé$6â+SñÿŸBŠü<}e‡Þ.zë‡ôÅ\|¹Á¹Ùûó±vf¦×‰µyFÜÿ±~ÀXtËz¡ˆú©¹nD¥âÛî9ç£ï|gÈ 2…ð2!ÉŽ@çuÆZ>ß*¸jënAÉç­ã0”D@i „ À9è -†Œ ¥¯uû]ð…€ðÔû,ìGµ?r¢ o‚/ì•Í'z*{3IOv œäa¶lëvêÿþ‚mWí’§Û:u*0`°Ç,ÀO²*k›… çÿDÓ¬iÿú¿Î@øÙ7¢zËÀÄÞŸ Àéƒqà߃›Å_zÀ€ë¿ˆ8}tëÁ£[’@Ðâ­ŸQýÿûí_Õÿ"åÿ,²ô—®ÿ’x5É|ó¨~î àí¢Öw‡ú`SÎ{C€°Ñ é%Ó  ßçªÄ]¿“IøÆ\&¹—;0–ÈtPuÀýû±ë‡i=H{?ëOûŸÂüwcå·Tù;™)dÇMÝž¢÷ñ;÷ „ðAvz½LQ2ñx%7;ŸÉÌÄb±^lÝogÅÊ¿yÀ+€h €ˆÀ°ÙÌœJ½Ë=Âh¸a6ûÐ~7 -ÀÄcŒ@0¸B×.LTNúq·[ã[EMƒ NHËC ïaäÍ~;`òø„M¿Ãl@†ì ÀÐï°p59e׃¨’ˆ|N:Q¤IN \ÁU^¦J£ â<ÜÈìžÀA``Û=«- ôSgWã­Rµ²V)U*¹µxŽ€N:oãvnSdÁªY€ ŸD1ò¥’6?kkFãÐ ®¹øÌ_Ú›ÛÜ|-ŸnTÿÕ¥ü/yJí?`‚Ê\W`A àŽ™` °(€Ð@Qþ…1 ç]òD€}è)m€.yþÿß~ýæøÀži–÷LüæËIm¡b¤Ï9>ͦö~YߟÙ_˜·çí÷ö˶UÆ -À&{¸}²' fóY€ÌOö -µAÄOÐÿC Æÿˆï‹€§Q”Lûc¡tb ðˆ“¢ÀºökÄàÉóÿ¿ ¸iô;ö8{³ñÿ¿ŒÎ MðûG˜¢1éö;‚¹c˜ CÓ 6»=(üÞÿèø~¦Ó¡×•ìLCuTçÒ€ïw L÷zå|Éôc>!ˆ^'³ñÛ•øÊ/V>X‰gæé| -€_ÜžÚÈH$ôšÎzšÀîÆãÊZ<ž»Oõ~žW‡ë>2 £@àñ à€yÙ9}¿…Ýÿ6j'½â=aœm±@÷(Nhò{̓Æ9Q¡(¼ÂÆöj± yž‡bxÿjzõ8…!@ -«s -û–ÁÍ;UÖ:ôü8"U‚}ù„À `(s$GzyY²Î¸…àEG9&埩…àœ’uÃÙK á‘›;–r7À…?`Æb»úz¸*ñbPïoÑ%Ÿ?¶ -ù\Ŷâ,ªÇzjAkÙ®Z]ÈxL­AZæÚzK+åû Az¶Â>††õž×uûˆUìM\'ŸsÀØ|MÀYË¿hõ¥ _‘@yÌ#¬˜ 0„9 o ù2âh"*X¼00<–vÙ ÈÛSvdà%öÿDÀ7À—3Ø3[µ=]´ÿÐËôó ö­™¯÷í}»ô^©dÛºeÛem'ð4xùŸ­íÁ3ð0)& X!¨(/®‘øÖxÿÿ¶ÔúŸŽ£þDŸUþÓS©ûƒà‘¨ÿ;r@_x*o*~óÍ[ÂðWÁ_ªþ¢[F€«—Jõ}'œ3Ã<-¥oõ½KÇ£¾®¿7{ÙÀ€ÞŒI¥?K(À1©ŠÇs†Ñ­ê=ÝÂld¤{No.}/ A r:°ô¾N?ºEî6•´þ·ws0üïà©Êî½4ï:½8]Ììò ~¿dïÎ/e2±X§M`=™ÿpá—ï…8°Ñ˜kiF‘ÚËmx£üoºí²µ>°@] ðêû?6&2¡¥ª3éÞ5‚'…-ËÒŠZ±Õ‚ !€5¨nËRö ã¨ßQ™Ê'æ£?¶X îÔ]MìûÑðã8Ï |”‚‘LÜ$@Xÿ¹’Û¿ËCìì‡yî‡çýÑ\Q¸WH9à ¤# {O˜v¢§Ñ÷O@Õlc«Õêb~m-^IUrše•îWóa»åé -ÝÔðr›ŠgéöL~6¯Ð×J % -¿’lXV °Ä”Ïþ#6_KŸ˜üßßÍ£Á> ÀP€‚p¨²€ -W@樌 -ÄmF«íù¬èjZßè+]­+ä€,æ@—z_qÑg)À"C€7ô¿—4ØÛSj_{¬@[,›NÓY€½Lf (-”ì’>o/—¹ ³= jM§ÂøÀ"ž„åŸ_lŸÿX(#ô·N±ÿQæwÄëé¨ó‡õÿŽ0ÿ‡"¥}ô‘ ¼mDÿÿ‡ë¿\ýŸT^‰ À›âÿ§WŒé ¢cnèu!RÞÜô¼ÍK¯k¢ø0Úô ÃÃ0ìšë½NÃïj#ž¾“nЪýéR¦s¿¿t'ÃDÀ ªü Lèÿˆšû{KŸ&` ”©übeãqœ›ÿ_¬¬Äßyÿb%>Ÿ]L€‰ðSû1Aƒx¥tÿ~nIxû‡¾ošþM |éœm@ u"{V×­«œà -Éž*t{Ts¾“ Àó¦É'¼€Ôr9*üZþn« i­–¦W·ôcjSùqëÎú<`2ÁÐ3L5"°Oœ -P÷ÍqÀu)ã’‰e× -ÍEÃ/&*³ù6ô‹L~Pâáè«rÜL€ð­¸¬ÃXäX`*&G„Áv#Âü½ñ“¶ZFx?á*­|Ëжª -Ò€R÷SóÕ-¯¢·J`ýé•…ŠÅƒ -­P¥*oƒ»1¿¦°ÐWôù‚pCf¸i¨C ±aÝU¹üÌyΛ{mŸr4B“ÀªûÈÿorQÙüÑ]D‚À»€!ó±$˜HâÙÐ9zÿ󮦀€L ˆÞ.=!”"X¼9ü½, ÔôšV.ìyyK=±t“*?3ú›ÙC1°gÊÔö[ó ³¥RI¯Ú³Öž‡@èÀ- Dj€E€¦Y(¼Èàzû‹oý÷íÈûÿV4úç²?&ì<õÿ«ÉûG÷¿šàÎ-{ GQÿ/êÿ[¼ÿûÿê/†)gã@ò*ù¯oÄØòˆÙ5ò:¯ÿáû¯lÂÐk ^ÀæCv2ý,¦ý~¯m1$§3Åow¾}?Ñë™f/q/ãPðø}?ö.¦! hpæX»rûvåw++œ |›P¢Wß©¬~Ê_é‹ ^Ì+Py\*åf—2™™N,毯ûavý êÿ%·¡˜(ê-\ø9Э‹e=ïøý¶¼ØthœAóÉ):"#°®yšVhiEêx‹…åe½`c`mÉê­qšL€ ý~Ðqó^,òeœ(òÉH5¨Eü?žÄã3HP‡‰€HtÆæ>ðñƒØ8}<ê0¾×É3±à¿@R˜©Ü¡óJ`ÀAL P/‚³á­ÏW­¼¨[ñJ®TM”xœú‚>šOå[Tî=kSAœ´•ËåJË:\“¦¢WK:kÐ\ÌbT5®WÁ³c¥û?éÔa¨ò€êy8•Ÿ{þ` €ºÑ7(ÿC‰ ˜$0fŽE°c€®@­¿ÒW¤!;rï)l€ÿø¦ÿY@y¨Ø× ç.ªÚr™ -z¶‰Å~³vØ$0SµZf àg³ö{U¯´°`ï)c:fÓÉ"1ðð°úà`šù‚Rx 3$@ýoM,àшû·Ãª¼žâÂWüzëíŸP±ÙžBø¶Èüæ­oίŸ û¿ú þÏFVÉ«««7á?ñôy€çtÜÖób´Š¥€jxpüƒ º„ðrØ ³~Ç_ŸëtN¢ÛèÜËPa¿‡T‚a¸ÞIð" C}¼Ÿ®xe¬~ÒéÝÛ++p~guµ‚ÀÊÔí•Ê;«w€¨òw ¤ ó¹x¥B µ¶º»”!Ð `Hߟzý!8ˆ–òÔÌzzY;áùy,3 ÿÔá°D/bþ½¹!ƒ³†RZ¸u·eúhi-­PÔòËÕ-ÝJ-§*©ê>õÌê wñRÜ/‚|TvŒ½¯Äæç0ýÏÐØFʸ!ýÁ»rày¬¤ö_ý†êÿ›ñÿËJ­PÞ›± /¨'G¶I|ÓD\É'&Àþ{öLÙ~ϲíÜgöBÉ+Ù Õ½=„Œ=ij5³™5³x2 ' Ð …ÛP - õÿÂôWŠý¤Û¯xŒ¿SaÌõç«Ó[_ÑÇp$ØE¨ÿ?†×õÙ_ô15œ ÞÔÿ?ý¯Fõ_Z>€Œ€Ð@²ÖõŒaÈ¡%tŽ<€F£ëÓ‰ÎF·Ói'–ü¹Nl.kwîÐÉš¾²%p/Ûúø¨ü÷î±Ùïî -‚€VV¾ˆ¯þîqeeåöÊí° 0 ø ;?-­>N‡ Fß&æ˜CgÔøóKÔÿ6›9k_D‚›€[gªYÝ…°.á@òê…ÀÇÿ Ycˆb¹íµÂ~A/žXËÕ#»ZM¥–´¶¬hÔ7«Üõ;j@pUÑyciïœIž‹„Vž€ EBÞÀ˜ÿÓUÄ€-¾yKÄIý¥ÿµohßl >Q_9o°%°¢¿wdý.•þ*?]èš<h° 0Ön'2s~[i8è$Úm^ýs–O:ƒ%>§ø½lo2NúÍ,¥{éκÿøí••ÕÕÕÇ”€àóL<ÂÞzD‚N,³»QJÅWâñÕÜ,›gbþzè„Ù°)ëþÁ .€0œ+ëz¡èެ\^ù3à ½z” -øÂA"@zó7ØE^Q -ô´ÜÖñrµZµ«Ë©jª²Vpµªgr>ŸÃ™~À†#¤÷ðçM² -Pê~ÙµO$HöÿBàÿ9Â02‡ußPèa¤Ã( ÉÞ?à‚~'m€@\< ÄyRÆ©É@ - `K0·1 Ú^„ð“¡§~„Y¾šÏoUr•J´ôB `øRg;“ÁBÅó´BÁ+ªEÔÿjõ8ŧ· -[ŠÌöÄ<­áNx ØO4æ¼Ç„o]² 3šk8õ€ É -ÍÏåmB°°`ðDõv|œ@Ì$>#)¦‹²÷?^ãì$$œªÔ‚¯W݃€g¸@lÖ¢Àʯýœê%•¢³ø}»¥äã•ekKߢÚPÊåfsˆt#KÁ©S‘*,Î` á !¸¥AP7êÁsv‡úÌkÿÔs‡ÂôŸw¼ügg ÁpÅП<®Aá F¦@‚À™@¦ÿšðì+Š˜lnêzTÿÔÿAÛz\±/?í’ ´Ÿœý•C€ï -årÍZ$À»°wr´jNåß9<¬e3;SšŸß_̽WZȽ»˜³ô¿-ÙvaO1™ã¿ç0Cyf2„4M³ð"€ ÀØåÿôÑHÈ6§;òú#,þ¡¤FÿÑW ÿ?åÄßœò®àüÿ·£úÿW’'ý¦üŸç'—]Èèˆ# ÏSïËMOï+`P™§#µþ]“Œ°Ñ޵;m¶4é@Ü—Á‚?Öð}³ÑóÃ^¢Ó£B> ̓nvzú 'b‚bÌ ¸7;µ‚Å?+?¯ÀñoñéN6ëc@°"±[… -€ÕÿÌR¦í‡Ùß÷³2¨É¥_Ä7#, èeÝÎu±$W…XÿÓ±¶Xl±/ø^ô3Š8ÃÈb–ÀšâëZj3€jªZI­¥¬|KÑ -Šfò_SL×`­P€¬Ï¤$& -& Êz’× -²‹l€äJ€uõmcˆ)‚û a!› ò]©¬`¿pïéÂÙ@øý -Óßè‹øªp -T­ÎþÄb’„¢0.Hž‰µ@c|OCéOYV©§÷0lˆ§¬\©Ð‚ý‚æ¥r¥… -øky[sWÅð_™™÷ð1Dh“AxÆ ®Ÿ3x]&O†‰éþp8¹ Py74BN ¸üc[' ‚ iÀoÝHÐUXy 0´®ç± €.Ë?K°òOO<1W‚m6¨7WW×É«ë¿~[¶ïò—kµ£j¡p´°WÔ­¬)@ó0[Ë:æzÙ.Ù3ÕÙåÒÂìFivfvÁ¶•½‡*øS­©{¦šXÏš‡p™˜„Î^aæû×ÿk™(ÒÛÿ”­ü°` €>¾ŸUÿ_~EŸøêÑÎWèýÛl°óèTª'€Î¼!”¼²§k&ŸÙ¾9 ìÛuÝÓ½.5ý†ÒncÐèúX„n×*ðÿæB£@­îtÚ±¥¥6¶f¯—í¥××Ó=jýéöþ¡Ïñ@%€Àêí>m¿8áÊÔ꘤}LÀ4 Sšb -@ew~>–Éü4æâf}äc6›ãXà‰èóå}½\F­¬oŸ° [d ÀCªÎÛÛ \Éúÿ¢G"ˆhé®P«¦µ¼Báä\»kUׄ·É„ªT[ž=®è’航Ì…g8B¾˜à̉ޟk¾*¬€ù2}l›sü8/XÈ Õ¡Ìà‘„$š,çSyS¬ºfrŒ~i^ˆ‚ä‡-Ý}¤ptYÿ¨C6€Mp@Íý@5Z[šŠúïµ -³9úYVÁZÔ½êFÜBeR<ÝšŸ/!ÀÄÔótßßkÑ—éÀq ô08(žÔƒçÑuýßÀ³­½£‚î/tÛ„¾_ø«ÃÈ p($£d€Ñ  ¹û)]-"°0] €ËþDÕJ"êoÒž")|³®èõzpýWþùΠ\VjÖbÁ³–Wßß3³µCpkÙOìÛïýÔ®~¶0;›{·ô™* ];Q˜è K…€™}H [Û[—‡M‡Ú.Ýúþ€‘ Ðý#ÅRæÅÿ„0Í=ùG_ÑËΣO}ühç–HG4Ê<kûM}uOL m{ù~—cBmÓ&ÀŒ€L¦3‡<¹ÀÃ0ÛîšFc&ÓuçÚ†ú‚ªµßÍ,%:±N£×ÉR¯ß=ètüpö³Ó‡Óð÷§ªÞîù±t¯“¹Oõ~#÷8þÿ±ð;<˜šZ½Ÿî¤3Ðmé4ÕÿJü1—øFiw#úzÿàDëÒùoB@׬Ïéú¾ÕâöŸ:~v®5a„õ2¨Ã PŽï_Æâ)!Áì  àhákýh™Gkk•ÊZe­ -.@ÊÒ´VQ…ˆ ºÁ½rúÏ59)6ƒª „å@>7¢ë‘œî©XˆÉdꟌLÿ˜ ÀÄAM -T– &Ff‘œbFŒM Æ'.Öÿª „“=X$Ý|¾ª©ÞBå—…Vk ¿U~ƶ,E±OÙŠ—ß¿«+J«¥)æ»}ËÓàU0êÑÁaLªžÂ²˜&Öƒ«zðÌöróßÄóà·#V¡áJÀÀUðÆÖ€ ùQ14n.æ ïWú" ˜OýK}³¹y‰9Àcþg˜WxpƒòZà* ÷ì«$c€ë¿zÀw½üP_¤wÿþ¡«[5sïë,&ÔÕ¨•KïÍÛ Ÿ-äî -°gö´šÉ"ÓT TÿAü:¬}b~Â~ p0€>£ïëÖ l¾ùM4ˆ#—ú -S_!<…ÉßÎW·v>>ÝùøÑ)a€1 x›ÒðÑ-©ø ;¼uþ¦ÿ¥'ªˆT á 43¿¨+FØmtgü¹öœÑ0¿Û0² ®Ñ0ºí¶bh$Ús>´{í¹ö!€DŒ@BçÂ? VÚgÀ‹Þôtï"¾àQ[¯NÅWr÷ç+l°òN\LRKÞ:øtÛÝ8³t?.N÷b±X'曇þzÏŸ^?kÿ&Ö ¯lÁrÃàÎ_£ªB57O ¥q80ò‹”¿ø@`(á ,g÷8m¸[ݲª¬aOUSRÇù}ŠÞž¡"'ÇÐ~Ï΢ݼLí‘‘¾®L4$Ü0dûç²9à0‰"QîeÿÏ-{RØÞ?¨šC¾Í†;°÷ßT5p¬F…ÇßD2¡Êþôáí$&) - ÿ8H×ZF>[­Rå¾=oçâÕêÏ¿ø"5§izÁó:Àx(Hb­ªŽ½~sÐ!U)ª˜ÔŸ- ÿ6À™ƒ Vª*‰®ðĺ_(Uw(Eüªºr 0ã`,úØÐcC`½¿©_öûTÿûö±JàH™ >§Ž]ΗBöÃõÕ“çš?½Â _.ëçÊË^Þú÷º[°kTókŽÙl®×¾&ðIy±J`ã½ÏfßÍ-Ì–ôÙ…’UÓb`âoUÛÛÀÌ2hò@4ìü÷ýÇýêÓÓœœH|šH÷Òé%$~;_¢âO­¼-ÞÿÄ_÷×':8[Êå*äJ¥ùX,“‰µ~€i:+„£<`éØ M¥léûV¹@õ²˜×NPø‹JZÿ¢» _ lN\™ürx#,58pëÛ'ŠÞÒZL$pœ¢×ÊÚZ•`Àq%…|@×CF ±‡dxUðÿ˜Gzñ$‹`ˆ ÿ@áÿïÊ< UÐÀyOàp#ðú@Tr6æ½ÿ É3Gó8’Ät¯Ã:”‡ƒÑ@2Ñ«;IlÜ:Úþ]Øk bNQÇ]×9âççý*Fµ’«æ[¥’¥å+ñ\Áª”<¥¡yºmÓOˆ™‚¦ÈúŸ4 -žæágfÀH>rð3®ƒgGÊ¿‘g  -0RüÑøŸÉ<P£Ïa¥¸#*À . Ë Nf #èt}óòèhóÏü›°¹¶ÚluÁºW޽˜ˆV\_ž¼N@ÏëV¹¦/t}Ùróö^¶VþÚÉšÍÚ'¿6ÍOöKþnauöλ ¹ÒLζgÊ €jÿ{ÊYl’ͤ#ë?}n_/ïßõÿßÈ€‘Ð#–ò3ýThúЧY#ðˆ €ß"ðèãÓ¯(„A,pzkœÈýÿö›À«½ûD¨oÓõ¾÷åü¼§xJ—íÿLó²k4”6<ÿ»n8TîÍA`4ºDÆŸóÛ±œ€Ú6u˜½@þwxN£^÷¦ÁìƒÕ_zé?SË¿º[ª ñ¿M `eåqü:7@‘ЉõæsHÞyO-ìfbðj¯gÖ S¬ŒWÿ‡7÷Œ¹}ËöÊ:õýˆå)‹ZAi)T—9Z·în»-Œyåþ’ @” €Iz2Pµ¼¥¹y‹éÐÆYžÎé#ÍÕ -š¢ ÏÝˈ8&FƦR¶-Å+À{§UÔB-EÛ’€z>tÚ–n€/Ë8ûq—ÕóINþ+º­|u¹ -ÀˆòXö -Õ¼Fé=ÃTy ñ„Fº|±q@ïÄ@u£œ1i¥o7tYeŸèNDX$!àl`ì'„%€#! ~Ø:(Ð BGTí¥×l ¨€˜K· þ9·4*è¾rËŠaçõTª”[[¶mz_=jiÕ\>?oiùYRMYÄÎ^6 Œ]<ÏúºFPÂ%ðovÀ@•TU(ÿ°Ótþ„€2PP‰,!‘ h(ì -ˆ4Ä` °É©€TÿõþŸéÇWÊ…=coOñvØZŸðCS>%°ƒ và¡„àQÿß0_u@~ÔDæ ÂE\?Úä"ª<öÿ å2O`5T» £½ÔVº]×Èt¹„ß%K1¥ëˆHÀƺܬ1«÷×{ø1Åoé?³úŸ^ßYëÿ˜Jø˜&ëÑ}Ù¥¸@•²>ñ¦é¾Ç -€æx Ùì\yÆ*·”:mM+žhy¥*`QÝvƒíb±ˆ¸Øa.ÉÆø/i |ð >Ä7ké-«šJ1 íœÀq*eUÖ,˶,jÍ”ÿŸ½÷ m$ϲ­*HÃY »*˜ -R(¾» LvLÐ%AxÐ ¡ ²Â°¶œE"»ÒàR*‘!œ+Ì`(ŒFöƒw—å“hûA“.0Fý ‡B$8‹u¿%IÀ?Õˤ Y=9gêS±ì=÷²]ÕÆYµ“]rZ–•vøŸçÜ{Ï=G©Ê†®¶æazÉC Vä5Vð]B@PPŽÙk{ ƒ}Vþ…Ò~8œ O¡3Ø–…«Æÿzxß–?1L þwN"=[QXcÎùB -o®éX›xÊ*n:вKõüÙ™“§ÿ¼¿«å=«žÝ/®.f–ïOU˪g2»y_‘òv{zPÌŽ­JŠnzšC_§W–è¨ '@ZSï÷ÌVþ‚ž„<°õÑ -àÅ@fý0êÝÿ %€#|Îe@Öÿ,çQ  @ -üÛ•m÷uƒnÚxúÔ@Û¯Võ’R•Ã°í³¡Õ¥ßâPé^è½a­"°í§4ÐLÓmh¦–×f¦%[ªúD$Âó†_,ËJyÞø§SË·oßý(3žÊd½æþã«2– ðçЈ]%€šÿÃT€—€¡`ƒk~Bõ£c¡`üŸäùÀ‘0ú?ؘÝ`àÎÆñ‘ðÎ €_÷ÿ/"ß}þå[ýs?÷pè˜Ó×mW N¶P­Ï+!°RÑ+'¿•N*ÍQq’*ÍÂʉt’HF£'ƒJ¡]i%"Ñ$Ñ€B¡01ñu‹ˆGú´Øx€aýË} -Ñv7RX¸›aà]‚µÿÏ—Øp³ÍfÝH·ÛŽDS~qt~ yÁË›ˆŽ$S©öM0€V:Üù»Úû…ëÄ7¤DÍ2ëŠk*adn]™v:Ð:e^ P”Î4KÞc"ù¦÷zZbÐíó¥®g0ˆC -0JTàþži¢ !·Mèé.FOCü 2ïçsuÎÝ{»Ìø/Ú:‡a2Q6oð‡S§1…BGä@±'Ó‘B-šg¼ÖDZƒØøVÀ˜úË0€ƒ0}š^f…†À’‚@>/Ë -Q˜Õ|]7³žU„a“UWòž—Íšý_Þ b¨H¦U ‚º~ja€hƒµ‚ðz§ ™ƒ#Üšˆb¼(÷þ¢Ÿ…}ú‹Û}Ñ €†Ý€ÐHW/^E'HïëWšbž€|¡â—È_ß÷ê9Sk¾T•C_6”C§f²mÄzØZ ?ž罋„vÎm³][^µ`Z»>ÕÚª6“5ˆ”$Ï‚ðPõ=_näÀ²Ëc?{@ k¥îyEÍ­–ªã%£\‚ðÐ÷KéwìØðŠÝ|ŸŽü~ŒïŠÀÁ/oÜ«~ÇÇÃ%€ã#áõ;Šð‚@xýoLø ˜¥Á¼ÿÖ@| ÿ>Äÿ·€?ûËK9”HÁ©›ÇÌÃÆ?Ö°p’€@sEïŸ$•f4Ù$èW ¿­èƒD!š¨è‰(šÿ‰ä“&€$ñáj٦ܼy³u“­£ÑGín+òÉÝ÷GðGÞ6Ê€ùÌÂ;MLDº‹F«™HÒWòDý?úÌk6Ûh/$“­EªóÃÒÿûø^¯·ˆ}MÉ7ó:TÓ.ã¿|LËkӪα¸Æ >ç±oÀ^ÏoRøÓ ¥×žO»š†‘?:q!Ø«™ÅøR1ïÏMOÕ?À1ñÙLD À®O_´.Áß1†¾ý2Fý±Þ…s`,œhœõ…‚8„tb#1hc°Ç‰?±aì ÌY§ú¿,ÆlÓ+C#i+¼Ø£·ßÀf@eîÛºž up§-é¹,ŠåeFïÃè4Ÿy–ѦåÀ\Ý¥1pÉLih¹Ô]ŠÀÒ4Eæ€cž_Ð}kö^öþ²O%=¹Ïøo÷Ãzþx0 WÌ -B†«w¹ˆ”NNþ¿¥×Ó×ý[Js‹TR0 ø/€T5\£Z2t¹ƒSûE5›ð - ?Pñ˜>?ûîå§4Ø5M@Ú4}"ÕéK¥”Uª ×TO­6,"c3?»}ïÁƒeÌÔ½1Ï/qÍN@¶ ç€Ct"UAàÈÀ8$`þ =À—ÏŸ À+„ïOåw,ÌfCÿd!ð`ƒývf''g7vfÃú`ì°Z-€‡ -À·úç~ù¦çô± -@]AsZó>Ü%èïëýë''z¿rbèI•Jÿf"¡&*€v¥R‘¢Ñv4™høI;Yˆ$àõc ­V»ûuw‹ k€¬ˆ´ZÑOînfÞ_‚`tùÀüÏçˆ Ì/?«P3~€DQ]Š{V„—#ÍHd«µÕJo_J.ðk¸¸¾½˜ð-³hj5_è*î´<­¹éi‘ñg]n€Øç¯üŸ}‰»äjf±¨ý¡Xz/Ö\s/>:z?n®æ]µ$]0ýK[þ €†³D/TS U Oðeø¡™:¶øt4ö0QŒ“m€xD™jÅ2æùPôÛ1GüÝaˆù…:ÿºÍ¬ãgQ€Pòà àTqVëeDzXvŠA}féþýh{T y®¢Ÿ?³LÞu8õ²y° -MÃqáèÈð2tx¢À?S7Àóßý+XIÏCŒrD@%ò…$`HÂb Ø Ð ~§Àa@Jœ®¬¬ÁŸðäÓâ -o*ÕRÉdä/…\ÑW¦·x,:‡g`\þ‡ùB™zögÄ^‘XÖ®åúª¹ëç§Þ«:q*ýÇA¬C?—µ €\6{{yìÖƒŸÝ½çe²B0ìò÷¤:ªß(5JsHÒUw®ã«ÚðÅzù¥ðæ™ýù"á÷ +}<`p°1yUþÁÜÿ&©úŸœ% ðÿ–€¡àþ?ÿ··úç~9Ã`_ìRHõ¿$þvl\Òûò ‘ <—~ËãŠ1@ ®4WôÞ„`¥’|ÔžH´Ú*ÿ ºëë–ÑO· ñ¿†-€íín÷ký'!|rwánfd‘À#££ïÆÿ|”×Gö£ÉöD¤E ÒŽ6>DK™gq«@¤ÙL´æ[­Å éßÖ÷½¶×וНÑ3nOóá6ËV@ÓtsšEktΜž–áVσçXh ôúZt²ë;Ï]) üÇ2  f@£°’ôKµ Ã\¾§O/­E‚¯Xèq럾å‹>@¿,|Vl–öG/M€cl À›•|*Aû^xûÆdN#Ø?‡œ@h‰!(}Æ{,ˆ}E{ -ég! @î)u½,æÍüh<ðPöËœñˇèaˆ'³—³Þ8èq(ü­ÐwèHôÛ”z1âÊgæRF îg­ý¢êÆ3ŸI}eefô„û((S–Ó“õ¼YgoÁž\ß…0†Á°«kÄÆ^þÅgy ñ<7°N7/CNÄŠHh p©8Å¿S6F€_iü?°ÙƒÎ¶ÓD¤¼<(…D Dýpüoè|³jtô*Ýt |ÿU'V6Êðø}ðÿôìϼòÀ.}ÃÜõ5ó½’“µJ.µ¦úÅqŒÖæ{·?½û΃[woû÷Æö-í°Z-‰U"ÕtÕ¯ú€d© AºÛX¯Î¹¾áZ? ðâùPÀkü“dzøcÓ¼q´Ã -€nìL"ãÞ=> ;@àÎÆÎ1¯O=€¿#|þßÞÆïü.kF’Ž 1-`QU¢2¿ÒLTºúqê·ð\I¥Ô HRáæžH}CGto´ÚÐ>jW*/ýML´nÞÄʾÀ$tÛ…G‘vê.&ÿ››ÉÂXs _·»‘è“H·’nµÚÉD“·2™…Œi¶‰R4#͹íÁ–0 iƒiÀ•I'Û¶ž >®i¾æÓn=Œ†/ QÙ©+nà®®º’ÃÑÀP»Å^¾¦&À™Þ#`I+-ˬ¢™Ç÷¹€¼œÕg÷—è\ÑšåÈàËÀów§ß6~ÃG6ƒv@ 9@ œªv¢íÄI«ÝL¬hÉäÉ úÿS0h~’DHà` }ÒlE’mÞ HÀ¬‡jÿvû~ìÔÚ"À€v„ÊûèD7áo.ŒŽ,íß]^æÒÿ}øýŒ¾??r7±˜nG[m¬¶“mÿ>±‚…¥…¥ŒÕ@I €Bë&¢¶¶ç‚¶€mýµÀWÇÕ*ù•:7óµüªë®Ö8‘^.w^¾.Àá:(m«hiAÑË×ó^¼°¿Ÿ]ݰLÍ• äˆ#öôJÀUP¶ËS…Z/ î¼/R…9Kˆ'é=û&<ÝŠ²ëi¬çOÃX  ˆÄÑCÆxÇÀá7=aÔGðzýœÀËb«AÌt8ú`hDTJú “üàþ= BþøR1>ZÔ¤º§ÈvÙ1³ÙÕ¼üB \Âù¼[—Åh' š8”êTúÓÃ.@…\þËÞÏE˜2ÄzBЇAP?dCi Wÿk¡Cpèà\Y8á4 SI:¡‚ÿ?VþrÉœï'ý¹x¢=w˜æ§O,¶ÿÔ¤ †ŒÒè×Eµ@•¯Œ4Пn0}]—Åú¿\¦;Yõbßo‰ê0Aó§Ô0-õÐߥ§µùÊ3VÉÚ4ªèü7ƳU?§Ö¬Í{÷nÝûà>u?º›)¢ë~v5V2ª~ÉÚõ¥Ôac]y, äû~Õ÷]ÿU;kÏõ®¨ÿY _,õ…ÛÿÇTâÏòàè€ØÁúè|v Ø8 -Ð !Ǻ"x«üÉUôSIÐÔω¨+Râ¤28I´è´"ýs²‰sLe¼ Iº´ò¨Ðl&cõI³¢ëíh*ID -Ñv;šDÿÿë]o}ݽɎ€7· ºïÑ“GЪ›û™‘Q"€,,¼?úþè[Ò Õ†© Ü€#©dæ‰<ËÄ÷S­k[‹ÿ-rÀÍí­›¼ö·}q2*`’j™+®âtLzš@H39|+®¢ÕˆP©ºÖyî¬õAÿc¯ |D¿×»i*Ì¢g©ZÑ+˜(Àâsa ˜Öu4MmþLÞŠb¡LŸwªË!hã†Ý ÏûY£ ì‰@ ùJЙPÿ±+»XLDZPùÃÙìÑj éã!3„P°' d‘6$q SELJÉN_ÈbT¹ë7ôóKu}Z.OÝ_]uëJP—”z&K%‘«HÄÄ3c¦ä`mŽ+ P#úLÅu]I¢ÏQ¸óöÉØçxH´ÿûâZ¾°Ö¿â(Æ@À8E †Ù€ŠÈ<á@à“àŒÿ­ÃBNÍ© n®´NV»–cä¡G@®ÄTz} Œ¡À JSÅ_1Jzµ„1@Õ¨°   \Å3¤Nç¬Ü €gW:g—ë²o¶ -ð•·vQìïšt¦yïPžJ•­±ªág§|¿˜…)€jyDn¼ó΃ewì^Öóñ+d0°Ó±jµ¤V-Œ–æèo°Í8—•j&:~Þ¥ïèß1ø‚€DŽŽŽŽg6`îÏ.¿;Ç“³;“p÷<8`ƒ?Þ$š"0{t}à±h@@ðäÅ@àÿ—o=€ßÜË+<»zaÈÎ’¤hÖJ Z§Š¤©É}` •ET©æwÌd@ ™l&ÚMm»=òÉ'#-4©rŸhw[•Ðàkºy™Àív2-”¥‡¶Jç%o@d` ÔÿËÝ¿àªèÕJ•?‘Tþ†Ñ1†k*Ъ”é‘+_t¾³pEøS˜ªŽü²i•?ϤZ¶è7¼,vý\öÞ½ŸÞºóÎò²ôÑÂ:F5$FL*U­’æi¹T•ÀºQ ò%ßô« _«½Zàåóé_½ûů€ÿ¼8y4 W¿vÿ9&ð‡ÀïÛ~ìÌ©€TãO±å?$Ljü;À~']*þ¿¼Áðÿ -§Ò—Îs.à )¯®¸ê”&j©ÂÉ@ÖaûÏ1Áÿü¡èú -¼µhSª4›Fßh*XH&+z+™Ð+t¤ÝJWÚ˜ p“ º ÿ6T€Ñ'.,C@Uÿè3 ––öãoÿÙèÏç?iG*tû10ˆ$÷ï‡i@›ôÙÍn+nÁ` ,ýݼÌÚ¾°à=¡Y5ÕÊÓ³1pL³æÂû×TÿmšJÎZ>èPé9Ý©ÓÏ¢óà›^ïåùë -Љ€¾ìN‹Ù8Á?\rAž-Å‹K÷÷ò¦€ @×¥ªb -À4`HBý_xUæ’ÛzÛr™ë0ÑÉe=«Šû°Ø“¹Å‰ñ†€=Ì,sÓkZâý¾Ü:#ˆ[:6õä^¨ã&€Aã@lŸMø—„ìòÙÊ/ÌSú‹£™x&ž]òꦕ/æ§a& ›^$B—@/®POëœM쩊N_©.ñXfMî¸JR”·-üùÿÁö¸ úC €à¼ 0´€>äb>^ôÂ:^éä—hRÂW‰øj.§H¯Ó}¥C#¶.Jbјûÿ¹çÏ­!ûG @‡Î?2:ezØöpöÝùÿ¥0¤oòßàU €¦©¡ôg¾6•­É»V£dŽ• fÊò­¬ À€[£ï¼óàÓ so̪I[@É÷ÍT­QÚ,• o ½¦eÖ xÅÀ—Ï ¤Eý/&GØãŸ¥<•ÿ¬ ÀÖ~<õ'€Ÿ…0¼~ŽPðÝøâÆt€ ú¨cØ -ðÿ­À›ÍÎzöõ ÌñDT?ÕTMÛMíæ5•JþA¿?H mE9 R»ÁÊoÝ€H@°ù?%õD2)$¢ÑJ79i:Ý£ƒ.À ¸;ÑFíO¯­­n€å¾háÉnþPu÷×£Wæ"‘GO -Ñv‹Û‹ÍBæÙ³g„ÿË©Ån«ÝZlm/žl¯o±Q¬ò`‹S‡õ?.ºï¯Ô,E üδ¥™Ú´“¯þçQg* éu× :Áª¹êR±[î…I¾/_Ïo~Ø‹ï•×²ŠžU´âKžP,í™ñ¸ä%l™Ë,¸°'Çp ;´p†f@̆ÁT™—¹Âqþ™ÐÄl:AªùÂNÇ)¿U?e!ºÀ~»Ùö*Äã¡a !4Î' €’îüá/q˜ðjÎÏ¥rj2ç7æJi› Û¹9^®¬WÿKTðëÆ•}º‡Á_½Z½¨ýeæ)xÔ°ýŸp¦ü}-€Wµ65Ó’|ujŽKΧJ¹fek +ë—8>@ŠÀää 6àÈ!€ï¾ûvà /ÿÏÎÎc¥ôµ?‡±ºþ\Aˆ¨f¥¦R–õ¹ªYjóDîô“抖RUÖ€’¦ž8ºôñß~ÒL -ÉD2 -ÿÿ'(z²ÐLH•JÕ?Bo¶nþo!°Å‘ÀÉv$™,ìöˆÍkiþ2èn¤ùˆu‚ݹ֢^IlÞ]º 0²ÙM ò?AÈOøß"Ì©€`k¸¸~Qÿ©Ö]M­ÕÑ]vW$W);fàL»€›éš©¬I«nÞ VkðãŽ4ð꿞`ÀX¸È××󦪈{Ö}´–––ŢäÙYÑm;$±K# ^Ýï•E¦j/ŒVþ ¥¾Ãmâ«êXXoó¸žÿ…µÿz1þup÷•%2|„^Œ5…ÂP†?½(bë¾1]ÁøVf§¥?>ô’øbÃXÃê©|Þ£‡M°TÔЕé$¿»;B(f* „Ðî~ØL&“ÑdE¶Íd´¹’Œ´  -M}`TZÝV¥»8àn=¦õtYl!ê7Q!àýzI€ù…ÔhXýÓeÙ«,>ŠF&’Xùk¿¸»¼<úŒGÝm¨Óbø/ ÂzP‹­íE–¬‹ÀÖº-ü3dG‘èé¨L¸Ô‰èpÒü²ãî™Ò´\¯™¦V7÷j  -æÙeN+‹½Þ€M…5¯hYµl&.z¦›·èUÅŽnË8ÒYØ,&&< -îqv¯0ÄùÕ‘EL°£Uœk¡ -´–ƒÀ@HxàÝ;²á| üwð{n-R©êòÎ@ÃÊ5Œu&ÂiñКB@3SÙWiÀè‹_瞘ñmlìÌr ÀñäÒ~f±êÇIÀ" -€£Yú˜ÙIDÿÎ )ÄÆ,²€‡!€¿z»ðF—ÿç±ô\.òpnnîÚÀqꧨþÿÚøØÝÍTÊJ}Nðr"UºTÁ EZ¡«m*% )õI²Ùl'*ºÞŒ¶*‰‰k€+nl·¨ThuÑZߦ -½Åð¿ÝâMÀvw±Eàã}ÿ?¡[£=€g­ÈD;ÒžHN´[sÉÍ“å¿[Ø_]ZÚ\LCx³ÕEϿ迴þÉ€ë¬ -€õm>%bµÌQjØÔ§§SwÊ„ûn=oš’¸ù=Ó­»Ü`ë[aðzø×ðüGðéÎSši¥âžfQìå%%Ÿ7‹¦dˆ±)Oçy&C# ÐÈÇî…åTHÊ"^µl3vb29 ºû¸_wlŽ”müH'æý@NˆÙ -ƒŠ|iІ•¾˜:É(ºvo…ñolh>È}ÿ3Ðt"ˆ1辆®Ä§êÙº£äq?î-ÍHJÝg½¬™Ï×óyE[šªëJÞÌã׫HyËTôºæi®h ˆéE¾¶ÄÛ†œ‡´æ·Ï`¾@PæG3=<Ø€{ÿN88ÆÐa&àÀ"€?¬þ—õª)¿”ð©úÏY`©œågO\¢RBýŸæÞ%]©b[½2¬û¡ù—0::´²¡w†áB˜zuùŸžçò石ï1€Ÿ °vU ð™'+©Ã’Ï7jÖ{ÙCË3KÖxM-ÞþèÓn=¸óËÚØ½å”Y’‡ª”Ã’›Ó‰"‡*ØæD3IV° IJ¢ÝìR Q© Œ.3›Üd À×Ý6Ò¨²ÏlÆGçGÿàî³Ñ÷Gçÿ_ºI¯£…‰6Ì€'"Ý­ÊD2ùÉÂhæ¶ƨø´a,xsÿ›!þ‡æÿöå2×ÿÄ *XbGÖ!>®n"ÐÕ¦eÚÚûÌÍ×\ÓôÝ Õ;û&öš†ž|Ž¢ÆÍ¼¦jTý[¦åeâf@8XóV%:}Tq¶@g8÷s2ñp‡kîØåù”ÞgO`tΡ×çþܸˆ ;2:g±‚o lüÇpÅÿy&|‡ÎàD€#¡ §ãá(Dœ˜<ôÄ‘!'$:QŽõµ‡ó -å`u׳¦óyŒ6²¢ä•xÜ+šÈþqó’g)eyf)[—öÆêJ`Ž+Žfj+pâo5]ø/Zårïí à -è _À0À{ÿ¬þãº/3‘pi ÃŽ?üd§’ʽ*FL|‹è~Î/U<0ŒR¥$dþC8þ0`Ä%?ßÃ[bû¿<Œ¤ͨÂízÐ -ôŽÛHæ ÀðÆO†˜–©újmÊõM3k(^£äÞ«ÉV6;“°ŠVÂòT+uûöƒ[Üp?Ê,k~©#ÀÀÆ Tò-ŒÔTN*ö§‘”ÆŸI‹×$¿¡YÖÔµÓïr÷“Ü8‚ ФˆþÅ2ö ¸Áæ¿l¸±q´ƒ úÈcˆþnÀG˜SƒÐ¿úÕó·!€o,üÇz¥Hîa.Ùˆä"ss×¼äp¶çºЋ¤}îý3rÜNô~Ð\ð‰$ér_ßü\Èz žÈz¡ U¢…v¢Ù޶Ûh4¥fRM4X Œ“V·%$û]Vêµ¾†c`4™ŒÞÉh&æÅÈzt8˜} AÄt4}`áîè³…‘ù¥åýæ"wá+L\bK4þ·…Ðf€-ö„‡†-ÉÒ:ò|€ÄÿùÓTŒµº‚%€`[;{æª_7M¡|¨x{ À¯£}•èe’ïZÅlÜóâôâ*u:]ä™^!=%&€c¼Àö}bÝ.6´Rí…ýtóù¤ß eH¸H‡æaÚoÛ:ø¹àcU`Ìvì+ËY ,ƒ”± ×·óu}=¹EmÊ2ÅLw„D0/WêùÌÒ=ï3I©§´L&ëe÷ñ#ÖëÞT]–ãËž™_ÎÐW-GÖº¤°™qŒÎ€Î©Ï«N0MàåË·à -àñ?÷Bo`aþÂ>ÇôÅ îá„€¾þCõ·‹°¹W)%á Â - —òrVÉ~ú´ªÎ¡``ú_M—‚Ñû¯Š €}ñOîÎ…ù€pøfmœ—EÕ.ðŸÞÆÞä?õ+‡©–åû攫M™ÙŽ^œ+ŽY†–ñJD­ñZκwïgÿøÎƒ;ïÞ€ÐÎÆäŽh€Cà=Á$þ~¸øâíóó „ÿž1Gð?þÿÃF#=Wºæ'~C‰ó‡R? N•@MYr*¡0Ô›'•j ©Bçï©»»U©W=•¬ÈÍGQ¾4‘“J¤Ý.Œ5¥J«b¤ÓÝ›­íÁ`[¬n£Ð…ÉOáoG—7wëÞèèB&sþþGÞÿ°ÝmÓaÚ´ щÂèÂèèhfßk·n6ÿ [[7Ù`{ëÊ ¸ 7ÖŠ¥¡§aùаžjS¾cjnq/O¨ïÎì홵UâyºH,i¿Á‰êüu Ð7€;ÈO×W5­øÞRÖó2h•š›àº.Ííп7”Põ¨Œ ªçýp0p¯L•¾]¶Cá‹„H¼ÇÍ~ŒìAAÊ6•ó6×úè èŠHv† @ȱ „Ž€~èÕCuØçž@J=v@N™¾3;œЃF0Ö+ëJ<åyDîg² 4’ÇJ‡l&cÒ¯8ïërÏÌd¼Õ¬§Àʽƒ¼Äx/KŠØ4¤ß…BÈï¸yD3¿ì½%ßk -),/Ñòç€ÈÄ¢¥ó3à?\þ ˆ,SQ_*AØP­½¤èÊ—‰tX%HÙýg¨ô¯rë¿s¹ív@ #"ÐF³{WCýn<†Cžszì½¹ìWÕäMKõ}ë3·fiïz±Q*M(f§üڸ媞e¥îݾõÁƒ[wî|ê~”ÝÏúøå†jß’-WK¾å¡ÛDÖr£„xà’Qªú}h­¡]Ÿ¼|þpÀ©L°øDøÀj@,õÏÎÃûMÙWvvˆð`võþÁƒ L -xppãÒà›·OÏ7îtKþFr9¢¹Æ½{Mæ°¦³õ‹rêA Yãªö¹ËÛÄ+MŒùõ -2F}J“01/¬HA2*éíÂD4ÙLú7ÛÉf¤pW­œ´ZéA "èךŒ=€nòQ;Ù¼»pw3µ9:2¿°™J˜<™@ˆ@r¢ÝMw'¢…Hô×ËKÏ–ö-Å?¢‰ý¿Å­m¬ aÿ2Àu! 0 ¥£(€•¼î¸¼P×à=ŸŸ)º{¦[œ)ÖòyLLzàÇ€ØYïuDÒ\IóÁ׬×ón¾˜Å2€åy’£w‚@©BýO‡&þâ”yiX6?ÜÊÙr™U€f¡WO¬w±ê7숣 Ç‘‚1 „°ùAì2~¨´ï£`s¦b   Ît[¬Š0a|)EÙ-fSTÊCÚ¨™«A>OXoyñý¸§fæ^].k™L&¯å,4ÈN`z#>·ŽõìdBÀKšeLÊo®>¥C? »ÌðÆðÈ€‡]¤BàÆ…Àùƒå?çCc¹E}¥äªp°RjŽÊ×TͯRiî'€ùìü¯§Å´ €!àËW4ÿË.&½áúßEû?‚x)‡×çbü;ƒg¯Ü0Ѱ¦ü]ÓÌVå¢_*Y^ÕŸ±Ôš•:¤Ú¾–ÊÜ»µüÁƒ;w™lÖsK²<àÀz¬dØÕC"–•È¥ˆ¤ Î0JtjÕ7³5ˆ¯M^~ù\l@îwLuû/'fŽf78ôwòhg€ôºÀ –ìÌNŠ€Ç‚ìßà ã^@¯à ìx›ðæÿçFz®ñðဇH#G¯Dæ®K>!pvw ãª5>~Š(Ñ“DóäD¯HÜX”N+P›éñ«m6 ŸH‰D…þé•ö‰ÈÇj•n›€5{0 ðGÐÍ›ƒÁvdâÑD$™J-ÜÍ,ò/ìC 0ÿó¥øüÏþóy"ì$Ü®vz1…gàþþò]o_ín±9ÀfN@éáö?lKB5 VÖ·y+*Z‡+XÚU5³ԥΚâ(¦Õy^Ü+Îì™y\AÕ@§.´¾9Ž€ßôÂU>V·®yôÌŽ¦¤<ŒÈ%Ç–;ÎÝ]~ŒÿeûB:u© ¶yo³°ÇÑyr¹,¼Ö±E¢3ºü}Vÿõ0ƒ½zùèÈ:KÉ1éP$Þ`G?aü ë6t ,â\,ïaCÂú8§Ç)@ì4à°…‹ˆeYñ¬™W¤|ÞRë™%â9)¬üå‹›uGÎ/g¬º^‡n!PòyÍ -ЧèÙJ^ªkÞÓóôuÖ|SD3;NïåÛÀwu=^]”ÿø£Ø˜ß8ÎÅ@ÄÑûÄâl˜0)Wõ’TSý†¯úh  àÇjFµ00ì=\þšÆ~ÛàNÄï\ØýG¾ «ß› /WøÀÓŸšÀÜå5@ë3ߟÚ%`©¥Rm<­dÌ)º×s‰¨©±ŸÝzçÿáÎåàÞ˜ç¡ Œ»à÷kWç¸MÐÈ¥<& £Ä äZÙšäÓqÍëdÁè—ìý³ÆAðÜ?( ˜;€"$ðùÀ° ž|<;¹ñxrö¯q›ñŸµp þßøâÿÄ -àó· -À7®T øþ#¹H$7Goиþ@n-ºrªZ>P½”j¥Æ¦,MûíJB=©TZ+’N…¢¤H•š†HºšÔ - -ÉDÚ¿ŠoàV3MžD`ÜMDûÛƒ-H÷oÞl­ìÖD!Ú.4ý Œ–²£ ™ÔÿÏ–~>OàCúÜè£è"•ÆúØdÁKmf–ö3"ÝÅîâV€­­ÖÖ¢(ô·¶ðÌû¼ŽìA…j~+æ¯HuÅB ž7;δ2ó^|¯ÈÅ?Ñ€ZÍ\õóèOÛ¡léuø]ŒdYQ4/žµâ3.ýV½¢[× T%‡ÓRÑ+°ËßØÐ¹Ÿ;µeFþÞpÓ¿ú¬`’}5>ï‹Ù·úbO¿À™h pí1 {€+à™(1ÇeV²4ßag ÄÊ#ÿ‡Ž¹&2è»Ä‰›;ô…p›x‚9ÏÆ§òýšëªG—ì•üûZà3:Êjf5PœEb°ê©y¡±žìZ⸚R7W: /rùeïG{’œŸ¿pžþ™ñ‹<¢ … -ð¢  ‘$ð¿ÿôá¿`ô€1ª’TÂl™Ý€}Kµ‰jŒ(‡ÏÞÿ6½Èæ¿ÖþlNø»=€ŽöʬY½ ggß³þm@¢?™€9eM5ÐÐL3[’M«Qò½’rŸ À¸eyÙ{ËÜzçÎ âcãDlyÀ5À:€qèkÞx-‘Kn–Òi¿AØ_ðÍ,YÖµ¶þýÅ<`àâÿ`<û1Ü}n[ÿÙÇL `ÀêÀ xÏîp÷gƒ^ï„ Öÿƒ;\¬þ×wßn¾YÕÌ(þ¿ÊQퟛËExáÀue€=ö¤ &ª7®ªšemZÚ\91ú]­8vŸ@D‚ü‰¢RPHE“Éf„ð¿› ÐnCØ­À’=±³¿½ Ôûëv·=‘è&›R-3?º¼*™Ë ñÌ/–îÏÏ£°4:ò ZÀábw"ÙÜ_Êlf<µµÅÛ7[\ûÃY(TBô·ŽÀ0"N \r¤¢ëL.lfÊŠâÄÊù™¸6í÷âñ™½âžiîÍìa€hüh"¿ÁiëeìuÌ¡ÅI°@w5…g\ªïÇWøì:"ˆ €d]4ï¹ p&¢wca ›ÂÄ9D¯W#EYŽF=[¿ÕËŒí=±` õŽdÃàM–`0”èü"!8Œ¨(¡ÉK  ü+÷Ñ/Ðy:¦O‘á -Äñ‰ô¹ŠR4O5³ž—ô| -i't‰gŠæjPèÓ$Å4óYKSd ücº÷òp`é”·^Yç´îÀœ÷8\àüGdçååÞoþœžÜ¡ @îõÅ @Ä@ ê…%€ 2ðG”!€ñƒ^-%xÐò‰ø>ý;”éC|À?ÉÀvƒ¿-êÿÐ’Ho½þ @;tÔüÎ à÷2€³7}ð•À,ÕŒ¸ ÅÝ"€ÔaÉõæ:·1°ŠØ³°RÙÛŸ~ðàƒ;wn¹Ù±¢ç—BüGþrÉ®6|5멜•j”J†ŸöÏð­lQQþ®µ{­oøÀIøû À,Âÿ¨œGõÿxgö8Tðöÿüþ³'!˜ÅÄÿÆ" ¼HïÿýœüvðFÁ¿N7r\þ?\$ôÏÍJ„þ‚ÿÒ\îìš@´s!€`j\“NSšD  Ò·ûIï÷1±¢S÷®¢’#iTõWTÍ_©À( ٬艦4¨D"X@`·Kø%€›l´ÕÝJowÛ-}1‘”üþòr!_]έ"6ýâE³˜IM´'&¢’mLü‰ ÝÜ\ͤ·¶áÿwþÿ[‹à€ÛëÛôL - -°­[^@?QMµÂÿµ^Ì)©ê7‹&ðß""P,ó€3/ágï—{|Öú&ö§—¡Â ÀT”à£=ËŠÇEó–4‰»÷Ü…ÁŽÎcŸž]´i1MíÉbµºÇÁ?(ñ{¡åªÃyºˆ&@bŒ·Ð ‡b¬@_!vƳóΟ Ül@鿊$¶þu¤ÿõen,p2€" eæBè@-`Ìp‚¼[ÏשÞW,:ïATAåJžÞê(ú¥|~ßË;== ¯ïHñ…?ºKWŽ04r_’ü¡Êk2þhY/ÎËåΛ<}þ)€X´¯hx÷_$D³ -@g :òDKùñe³EµB…e‚JËôk|¡ ŸFÿÍ®rXø‡¾•o{²|1 (#™¢WŽõ.¶V~¿ð+À7=à•5–YS}kÆ÷g´°p8ÕèÜc`Yšg™©±ÛŸ>øàÁ‘´lÖò|C cømWmþyV#•ÚôK¥Ò¡?GCºåNÇ«5ú3™Þ5 Às‘°Ç(ŽBËžÍnl<žÅ¨þ¢ް ªÌvxâ €Iv@'á_„àmÀ›ÖûoLPˆ”Ó|ís×T´é ϬR=Xõò;HE%¯)0 Ô¡\ÔAÜ|^CÅ/÷¥.9=†‚ú´°!ÀV^ôÎ_ÄÎÑ8?ïÐË‹?  -<è…ëÂÐ0ìs Ï ç?æ¥g±¡¯¤l”ª•R¢¦æÔšß ø9­”ŒAˆÿN3â ÿ0•ˆ®cWÜ—*óêRüúvÎÞlðŠ`ÊÚUU‚4ä<•ñ +'ß«MYZª¨Ç-oÿ£[·FnݹóKÀª¥åuÑ0¸àû&€µ¹É¸á7ªèL µxMð+¶8:bü'*pÄ–?xç`òxƒ*ýY*ó å Ô‰ìqÿóx`–¾kôß“;WR€žÿÛ[Ü}SŠÊ¿ÆÃ‡Ÿ<ìæ0üŸ›Ë1þÏ5h4"¯WMc\î„‚º’'0@¤…d±ÝîPÆP² ]®év¬Tšô*ÑËÉ ?€MÀèv¹ç¾í-^ìv¿žèFÚɈ’´Í‘%‹K¦ffæç—ö3©Ô¯7#m¸áº;ñ¿6ÿvta³ðÉÂB¡šÿ7™ûyÖ¿-LE2°=tâë=£ŠÜï8EKY%’îãÅg/^+Îþ+æžY3k[3]W“Nȧ­?±BŒašnO§éSÏ«×5ëÞ^P´Œ$vЩÆÎz0´±ls^Ï…z ÇÎêÃX@€ìâPËOŸ]Æé9ô.s0°pTÂIÀEG¢Ö€¸¯/½Åò`Ì•%7'zá‚!f>ìd‡˜°*€>§¬ËTúg‹^^õWïg½UIÑ4m† Þ]Õਯ*ݺ¢à è嘬åá8Œv†û9ñ„À§Y$÷^üˆ#‚þòZg­ü¢ü⼃ìáòÚŸ…"Àæ&@YÀpèÄ!€Îå@ܸ^gŠûI †Q…À÷k~é0qèK~é¬,K!ülÑéÇþ†}¥ â -{Cÿ_ËŽU½«à÷³‘XòSÚ¨Y„õ™æÏ˜E_v ¿K–%DÔŸÜÃ?+3öé·ÞyçÎ;«ãcD ;ÔëvI6rª5îY~r?åû‚ø5z[òÍ)¯¤úªiª×úV°ðËý1ø%Qdl`Š?yp°q´CÕÿ_Ø8` ôØÕÿ ÿñÆÎc±p0‘‚ÿ§ßÞÉ¿mÌEá¿zø0ú°0‡ùÿ"H -¼”pãšv€ØòVP§Š‚5ÀÍ1ë4дSªü}PÑ%ͳ[¼LÈ%åS+T|HÍD…ÿI;™8‰´#ƒ´‘nW¨€h-*]nr0Âú0è~Mõ}4Ù–u332?º42??ª¥Ô¥ù¿Ëx# ™ý䣉è£GíH·=ñ¿NLD û„ýÑÂÝå»QÞ$`Y;=xó^áÌàoƒ¤[‰€ž–‹Î¶b:Š¥¹ŠbZ®3mA°‡]€¢išŸ™Ÿa  Ikò¡¡8eÅþ´u´^䧯h–—-¦ŠÞ^ÞŠgLtÆ MÏDWݰceè¬elñÙIg¡°'÷†øn “~!·bð˜6û!àG#ßf¡_˜GÔçÿ -ÓqÒ…F­g(àø¸1ñ91Xó耤 õ/TåLÊì -H•&O èÈ0b ²–¯cîoy™Õ"§òJ¾–଄ȳ§¶¢äÍU÷TÑ5“>¿®÷cº)aò¯P|î£_þàÿåËíüòâ°­C,àü3€o¿>ÿ3p4d}ÊÃLà¡õ¿Hvê_ÿŸž †Ø+‹¹>üç‡ râ‡R§W ƒ8¼|Ñ0†Ä‚ôœ4†æ?a™å)±ï4ž.†B×ò‡?€õ)+XS5¨õ}ùP%`zÆLѯùžg™c–z7û³üã;#»V¦h5ˆ¬ÇÂ@É0j¾å© k3å#8Õ¨ú~ƒ €ea Z×Ûx>Íþðò=¸*pÌ«ý“¸>³;ÿ÷ÙnÀïgRôf'xö¿€¬˜drÀ&€ìô.R€þ¯·ØûfLþ©¾Ïå¾Ê}õäa4÷0yÉÁþ±Ÿªÿ´ ÉFãZÇãHÖ ÐÜ@9ÕÌÔ˜÷y>p5-€³˜qrÒL4Tp¦é÷uét×jJº’,¨$ÑÝ•&絺ÝV»=héíÊ  ·¾îÍ›…±ýö6[w»щd4•Ê,/Ïðêÿ<Èèü賑Ñ÷6“‘öÄÄ£Hw#b› #O6ïÞ-| Á6×ú„ô7Å6fÿœ^*ô€¡€î3dÅrÌÛ×W)›ùN^©µi³H°/j{kæ ½ïš\Žw‹SÖŸdðòb‘¯çH–÷^ü rRÞ~6 ˆí8a;=Ʊ}"ñMæ 7€ØÐ±íVüO9Œâpöóa€æ•îÑ‹5~ æ1Ñë½X,8#v€ÉFaHpOжûë±0P‡wrŸÀ –ƒe -ã%@¢8ˆ<aCL§J^‘8€™Å €y"Ô ®‚}‚ž §¤;–†Ï×{1Å -¸½Pfóa'Ì3¤‡UoM†ðå6¹6½¶ö¢¼V~ÑY+XcЩ[~ãgš¼@Ø/Búó t‘ -ä äk’‰—¡Æ4†®“§Â~©Z-J¥ÃCïiL2 ö¹¸È1üaΦX\•c¶&²RU<|{W'«¬Ã]€ØÙ÷mžþ”€ëÖTK¥ZßP;’éÏ•ü¬1•5©ªÏŽ[潬y7sûÖß<¸sçƒÝÝ Ñ#üÚë"†O…W8 Ïõ@Ð - ƒÎHì^Kð²}ãèèbÀ~pO¿ÙdzPÌÔˆèÃxƒ%€;;°Ü8à –ùS1J€éço÷tÿàþé¥r†³þŒ¹AþÃÜ“¯~Õø*’‹ærF£”ÿs¥d©Qâ-€ô5 @Ùq¦¥:¡¿ÂV@Ä6ÍÓ@ VÔ•“Š¡·$ÝÐ?›’tžKôZ(RÁI…ПJ~½"%'ŒþÛ­Åc´ºéÁ6/l±{üaØŽFŸ,Œ<ÿùÂþÒÈüÈèÈ2½7Bl Óœku#QØþw¿žàÀò'ÉÂÝÍd—ŽÄÖÂÀý›ìx¹ú‡ÒŸ7Öñ‘äVtÕ -ÖÊh µ¿R·vû5s/^4k3ñš‹@Ñ\5}“JW?ÐEÅóTïO±à£p=$ŸJêøý¥{™±¸ÏdŠ -îu¥ùN…Ï’8yâôŠ*Û*D l‡éê¼þ/‹d?YôýÅê—X 4z¬(÷™Bœ}ÏìˆÄÖôËÃmä²~'tû Øþ®@}9Ìä‹Q=ï d×…M€=t@¬o6næ-+eåMs„‘Ûeº~ -;Õ}v -ŸA8LÕ‰“aéÔÁÇ`ßÀécIƒkúæG:ÁüòÚôoˆtÊkk€ÿ‹N¹3 ÐùöÛΞA{F¶iú—+bþ/_÷P#&&lô'–Œ41W:”Ξ*iÑ›flê]ð€0iRÜcèç°ê²xDÆÊ¶ý}ø? ×ZÏ.߃ÿóŸ Pkj-$ŸYSµj•GøcU->•µ|/ëMyYËûègÞù ¨e<Õ¿Øë‚c )°ï©ÕZM€ÿ/¹ª¥YîµxîóçÿÚþÉ0àfãÀº½±óø˜Ðÿñctõ6¸%°qýߢ٠-ðñl(Ü›8޼ûümà?þÙ5¯ç(ÛJi8þ=üêÉW_årOr…ÜÃÆ\²‘üç‹þR„@£ÔhDr×Z(#<¯Î{šæžºjÊÒ$E TUBlä•q^–C,`EW*»Ÿ¤$*@tÝÈ`ÄÒ-ÿ¥OÖ£Û öXˆXbϯ]°6ǼÌÈüüþçÖþßÍÏ/MtFßϨ‘VwâQ!Ò]lML|Ým' ûщvÒÛL.âP[b¡@Dÿl‰ NÿþÇÐ °×CN0H·*„û²xEÕU̺ëÎXfq&/ãïaç ^”èG5‹tß›¯ºØ¥æì;ŽúÁ=ØŸÛ¡ -P:¥§u|?ëeÀâ&oÛë\Õ+’Í'Iû,ªdùJíÄâ|Ø«ãƒ{O\Ñÿg7”gÿ / ÐuÝ™ôb²¢o‹‚XϨ޳‡IÅìß¿>Gðù]?•t‘Ò+¾ -+(ûd]LÖ±x èQSôòA~{¤H ë.Öªø{ŠÄÊ‚£a'ÖÓ]ØÿÈ:½ w„Ĉ¬õ{ÿ$Lx±¶6==M¯À‚~¢/^0ú—ë/:Îêô®°Ã%€¡Ðú‰ Êε;ñ¿Ç0€*:ÕDUò¥êÓ²F\Ò€Øú/oËœ"ZHÄʱØ÷êÿpß Ô -3àߣø©h4ÍÔ¬œË€)Ë/é5Bq?[ -âSžå³)+;fßýôÁ?ÞºsçNÖËÖÛX¯rηƉä6Sþa©¡y¹ªeAè›Ù™C×·Lúïk5ºÞåàã£p°ð_ù ìeþãÇT飪Ÿäì¿4þg7ŽvŽfƒ  &pÜ8âÀ_Áàù»Ïß:uþ§À?˜ô9^íÒ\K„ýûðÉÃäC ÊÿÐü—ÿ ˆàþkլޢp*Ž’×vµ@³ÆŠ»Á©+%“+„ï•ÁŠnJ}BI‚3°ãH…• -ÖÅv_®èR"¡cýŠ|ÿq†.‚{¶Ã,@áH÷LD£Ñ‰ŠäëµÑŸÏgjIBþzzø™¥=ÓôRÍ9„´[Ä&Ð/ØÜ¤/x›…›@ðW7E°}á¼Î)€X@* ëéE=aúІÜ´RWê„øñxÜ/¾G "€øŒŸ‡p|o†Þ¡+3Ü@—/ç—?¼ ”ø±¾ìày÷2™¥¥¥¼DgK4pmÈøì³Ðå÷òÅy3,ÒÙ @Lê{¬Ìkú"wÅÀé_!l¬Î`áÇŽJ]4bœ50´hÇ–y vgŸ˜P&r‰ÏJ?ÑóQÁ¨_¦ïÚ)c*°F5½¢­C²Ÿ¿×*Z»uŽ b­ˆbšJ¯§—Ù=õ>Âe@¡îôúl/¬;},2NŸîàþ?€—ç?Žà%(Àô4Õÿ_ҿη¿)c€>º}ƒûôxê_,È"ˆ3Ã,àW8ÔùТJhúE  -9€T­T¥X,€ðoØî¿þþÅ]âaÇ€ðQÉ“§K ÿ…ÝôY˜ L/ç±óú‡ÍOe€€jøC Uw-€F-f­ÚÔ˜7žÍ­ÛŸÞb#€øivß:L_Œì6Ò°êXÎ/5kÙœdYB5}Žn™Úuˆ.l€!ßgü'Ô?ž=š‘@(è±°±ñøŒ`vòè˜]Äà,qÇt59yð÷_pˆþ—/Xð6øÿwøçg -tµ8=–çæ>Œ|Eè?ñ¿QýŸ{}˜›KÂù'7×Óžà>@£‘ÆÝ×"XÄBXS­]ÍúøîTÞÍkõ+*ò!ZNéêÜ»Õ7WdÆþcœ$¤“Šn´³›Ý4bû8¼©½!þã€Gщ·šëKóó£frid9³¿ŸR—¬¤ªªI*þçš‘V{b¹…ÍÌf´½{oN@[BLøWhÜDû]´ÿC°5Lb# ­V‹h³ULyš«Ôz±hè3 Øóÿñâ·õâ{ïã{ÅâHÀÞž†e€~/T/ûg§5TÞÂ@·Æ÷³™Læ~f¿¸™ÉìRUÜã"›€Ð Õ þPÞ 0.u€â.Ù(¿…nËæ8G$ÃC¡Ï’€&ø¨ 3ÙeÎf…ÐÅvÂY26LfÙ@Lìòj!/8a6„ÎôÀ9UàB \‡ñ·“ Ùa_̶Cô˜Ög<6S8­+вúʶ¬M€>Dc§,‡Cጠ!™ÕÿôØÆüeïåSž¿ øÿ-€ßð|º<=]ÿ q€Î ‚ÿµo;NùÛοN¿¡ˆþÆ÷q54`àW;¥ G=¶ùa»ÿ*Ú‡TÿëU#&ÖR…7ÅÕP|WÐ/âöT9ã¿ß•>€˜0Ü8d@ô3Ÿž¿É=€W$©qSµrš5Ž@Íw«¾ €¯dg²^­˜õLë#Ϻw÷oÞ¹uçŸÞ¹çNe­ÃÒÅ@^/rÎ²ÆÆs~ -"À9ä”.:šOe„fj×°üæÿæÀÑ$A<Œ~ ÄÊÿãÙdz³Çì €±?Ý·1‹!„‚y0ÿ !œ= -€/¸ðümÀkšå‹aþÓ³kàÿeªÔŒÒ"Uþ±òÿð«¿ÍQýŸ›cÏ‚ýdø6+x“K7˜\'ðßZC¥œ"¹ÛVgvƒS-V’+]§š¾×ץೱ??Õ!ñv´Â‡+2&HÐ¥„nô+í–aTäGµzºËCznÙsó~›ÉÀÄD{¢]q¨ðÓ2D¼ÔÒÂÝ»™L|~4•ò“~2ÒnN$“ôAhL¤6žD»‘Ôf¡+Ž•¿Ë ð+Wýb `k¿Øb+áýþï–o™5¥ö0Ÿø€àÅbñÐtó½8Ã?ÑäŒ`3œ^X¾Ðéìž^ÊN/Ùч-›s|Ïz—S€á^•8ãrë '‡-Çî¡å5®Ã„#Ðha É7ÎÀ¡@¾€mËaˆêíÌ.ý;"]FÇÎÛ ÓwÉ5|Ã)³a0Ò9´ƒ’˜b*ÓÊT1¨uK£‡P>À, ÎÒ+±)ØeïCúzÉL^½/Z:t Œÿ:L^ô~+àÿñr €Î—Óߢ PŸþÍtçËΗηÓôBÅ?±âe¢ßvêßž¿‰:'›}zØ7þË×ÿwÐ }|8ä·jèR¥„|:=&W™Úaðo\`ßÄí%î`áœÄ -–rj¶“ønw†jœ£ 0œhþ¤:»–ç«ÖxQ3‹ªoVƒ:V5;3F§¬gMÅǬ±ÛŒÜzçŸþaÙ¥{J¥Aø«M3°j–ç©LüC?•MÒ0QÊhæµÂÖ€ø¿cÄùþ’nlîѸ1¹s4;»ñx–j|Ü3 ;à£Ùcnü ˜… ðìä|oà&Œ‚ð¡CÀ{;øÀØú:¿jˆýÇŠa Ë)0Õ9‚ý‰¯¸ùÿÕÃdî«ÿD÷Eóÿâ -/`¥$¶JssFúßÝš3-)u)ÈyMuw½Ï])¯æ…Íûðˆ ˆxsIš¥&NtäMxÿ%$]?i#01ÁéÊú` :[-`÷` Ä Ûî¶ÛúàÕÌèüüß--,/mîÓ­‘ùùÏ[X#ð/=‚% €Í…»…d{±J2“`÷߿‛_ °®þ­Ãsƒ­-’CújÉT&îµ èiÚ{Ků˜ŠÅ,ðß‚À4ÁjÄâ3q¦ESÓÜ -“¨_èòCt=xèö²_XEo?»Ÿ‰/-/ï­JHv@è¸ cBA{˜‘ -û0Ò¯.°BŠëÞ¥ñ¦¯d0^3›ÐEL, Å{b³ìÐp(MÚ>“œ,át§OœC¸ÈašœÎƒv@OFÁOè½V. jPÆŠ 챦¨cÙ?»*Õ ³ÌçSžõY&³+qÆÜt'fHaûŸ½ƒœÏ§×çÜL‚@¡¯Tîó -â˜z?RÐËòÚÚ—kü9Ý™þò7õéwó›i‡îpˆLÿ¦Ü©¿ ø§õN§ÞYí¼ /D€ý¡p(ÿ—û¯z ^öx¤0”B -PժܱÏ]áh_tþÙY“íÃÍØ8¢#Õëuð被3l¨|Ćà²pøÎ~2Í´v=ß·f¦ü©ÓŸ©*ðn6¥dßû¨hÁá';–µîf?øàÁ;ÿôΧ§fvó°îZÄÒ2²r–5î¡àÁ—ÑKmú!¨M!fȦáüü»ð<:>]€ŽÚØ`òxö`vvö¯©äÇX#~ØþÍÒõØáà?*ù…`‡M€ÿåW_ Þ[ ÿ¡Ø¾ày0|ð_Ñöÿ^º€Ôu*›Jé¹¹‰ÜÄɇ¹¯¾*|ýŠx@.òp.B@?'œÿà ½‰@¯,H7Òiãߣ<­ˆl·Àu‰xÚ©«™j aÆ<`„ÄC(¹?³êZêcM·!„+ ò‚ˆ Äü_ç·[¸ÍÖ½bÀÍ€î×TÕ§»‘djU…€È†ÀÒüÈÈû££#ž%£ÑGIÞœH~8²¼í.¶ÚÄ)¶Øÿëj«áÑ·¡D4Àç ж¼L¶˜0ãš×f2µ`Z+ª5ÓŠÃð½bqÅ5¹PØÛ3k =€o`僿Õ`ô7ëÇúƒþ.JŠb}”É.ÝßÏ,ͬ²ç’_’?.Þ%9\8;ÞˆÙ¡íZ¨­.Ë¡ï -/ –CAcµˆ‹qŠf¡DÉ(º¶Ì zW›³ÂÀ† @×üéGFKž÷a=O0hW‡~2C8w›Ñ*ºó}±7©ïe‹YÉ¡Òß4óùb6ŸêuÞ&DCXVøˆ½ÿ”ÊçX°û|=¯i -”@! –1øqÀËTàøÙ¡+è§C .¦ÓµµNymzyQ>ý×o;7Ž` R' ¥r> -WTù†@Gƒ½CWÃ1.vþÄã±'‹ÁKR‘eØXL)cœUf>@èò•ÀÙÅàÐ}0l;08;¿à?•‽sçβ»›ÊøF¨´qhË–e¥Æj‚4ToÜó­lmŽ€jH65ó:i@_~Á6€ÇÇá`¨Ðò?þë ìù³&ðÃÿÇà gƒ>?îQ|‡ÏÁ~§pvñYxæ• ¸ú侚ˆPíO¯(ÿ“ü¹dŽxÌÿD¸,æûÙh.c3ÀtÚ¾NçHk`AÞ=%:;nå­”¦¥T*m]oj‡ŸžêzöÃñ3ðÍú>þI³­#C¼õuK‡þÿfk±Û¥š{n@€lîî×7Û‹F+º¿´ïó>O8¼Æü…J¿bÙn´©¯¸†!€Zz><Ÿ»–Öu‚ÝwæïèÑtUêaŠNÿZ¿§–ô»÷(%ȵMø'>Ç´Ä6\'ž\Y.„oWÑM3ƒŽÕ~ŒÔq ;=!¯ñêv…íЍç ÃU±Èòk”E‹‰Z¬ -e@öUUP¼Ô­õ8  + -DÚçð&_HýÈ %Bbò¥üçàVÄwMM:[øÑ¿¤Z%X@Øo…Lu5\QÔL“z”¦v윇á|_tþ–ÌÉ‚¼ú`UÕZôä¿úÔ¸YUzÜýË5,žÿ…l ¤ÂœAõÏ Ài¸‰·ÌËL븙AýÏÀR h•Þ0 Àk¨óÿΟpDöÚqô¦P˜^êßV(¤A|Êk¾]½H%¸“ºý--µ´%Ókµ…ë˜â3Øàó -€ƒ νÿ[äঌÛN|ÛHÍGy=÷Îe<[¼æÆÔùåTÊ1œeCKNùÝ÷Þ_û‡÷~jGäþ–&ê?’sâÈ_ƒ5ü‘ƒq§J_‚ #Ut;jDôÈ·>Äÿ Vùá¸À$>‚ÿváõsªþ%ì,p ï"pcêÞîî.8€ûŸ]ºtiaãÞî}'ø¹o|öŸý»z©Ÿ‹×<ΘáÄÞ,"^Ï~• óB³±®i‰<õö þíaó‹öÿãUêýé”ÍsÚo–.Ì ý§ŽŸa@‚ 1ýÇÛ~ý[P%Ö~)éôít: -SÊÛvT’¢sÏ žª×îÎÍBý¯VS’TOU¹¯Ü½[e K£»u,ôóõ€ÃõD6ðìB¯l·ÛGωÀ"5ûÁƒÂPð7‹OËW‚WPÿ ^Ùœ Ô~òÉè(A€£v ¾´´yÔæâÎ1À#Àãÿw¼%ƒÏ%P|À)à0‰çÅuÜ•§wV -á;+¸W±¶ ®~Ó½\p/» -ƒËáôö7àÞÑ·«’ -Jü÷ìšú9€n ¥»gÊ`F¾’TÃÙtRÉpÊÕIRØúFeɽ¢PáµLª½;³kÔf5 4Áâ ¢²+¿ú #?‘)€Bo m»ú!7m½ˆg÷& -¬Ïæ•?~‘õÄ> Kùq\™¨ÿ!~¬ë{ú@³SCóO¯V ˜B@•ù£ÓÁ¢`Hu žòÛt¤su½Ù´é÷D¢pG «ž’‘î)!w™ý$CfÓ - ‚(f¼ð¢û—¨ÿ¥!êô©Û?®f ÌœfšÃ{„p)[ÀÒië%VZô©tži5ûò Ã=QþÅoü‰Ç%?pàîï'ûhlý? -Aëh—äT*¼ðºO¬-¼aþjÉØ'#€Nç oôï„Ç<¼zo¬ÀwM4t˜ãó9c>’KEU·X|0›Üº}ãr*e¸cNº3œ±w=ö£÷Þ+ëi#™Ûò MÛ7eªÿÆf.'`ä¶cñÍzj¦(Fif¢î·SSbàV`–À÷v©å -€{¼þO½ÿý L X8&Ø… BàäÅsý?þýVõ§Ç1 -¦AÔ4Ð5—À•u:bp‹C&;·a*nï0)ÐávMKh‰l"‹?11ù¿SŒˆ¿O>ü3½>æ·<²D€é~æÿ'³3“\þÙ¨ýÏã«bBË ÞšÃÄÉ6nGuÝŽD»~jý9}ÜŽbI\Jý¿ÑXT™¬RÙWç"7¥ºJ•î¹T¿FÕ_ÒÌ~ûÕÿ£µ¿íFò¿F¿¿#y‹‚׿‚C×Ë‹ÁëCP¤ -l -H§_/-> -¨sTþ>™8:ÚZÚD6 (ò%_P\õÅ#øH€‚é°+~wnÝWk1úïpíy¯Hh÷‘Å ¥¨%aHU¼¿?»©4«UC·›ºáèvXO«Š­ÈVUa¨GÁÔX¥G‘Õ¯èGtYq`Y=†ž5‹9ƒ‘ ÀY笆Õ?–È´°ø¬™nî5÷lêÿ_¾Þ ïº?ýêÿ³ágÿ¹8@Ðì£I¥ŸNèÄóT˜!ǧ³‰™ÉêÛù}æã¸ôÏÌð'jÐ[ ^ºÕ4*ú3hê'@î&Dµÿ„Î&xâOŸ'¨ÜãB˜ÉÌ?*(æEÐûƒüÏϘýç’(Š8à"Ëóûôû6}k4š–à—«G£„XoGªªÜäxßžÜSí(Ï€U©\þà'³*õqQjû{p‹\ÓTU«khþëôvo½ß_‡ò¿íõí;#~~ä0Û¾;™Ü<ˆ}P($—„p(Xx\Z*lÞUd…úÿ6" -8¼²öáD`$ïú/˜ÿÁׂùßé¯÷¹ûóœèg%&½š€‹ö?—Ã@TQî¸+Tð·]|á8…ç/cHpÇݾɶ=Þl}7bº£XˆMì… žTªF²°¬W*ºÁõŸk§~ÊŠúb«®Ïg©žjï£ÿ½² €± > Ú¤’ák z`–XÒÇý›Ì ¨¦0ð¾‡nSbûÛ~’¢z‹æ°ñWx]à -Ϭ¤ -ªdÑsRæu¥jÛº][×+vd„,Ù*~Á(¢–½‡C&!}Y¬,¤Î”Ø‹¿ÀàüKJðþ©Õ2ÇÇ­ãLÎNAýc ÙÜ9U° Ø´OÓ§/m ^"7¨ùòeó·™7†½%€žeýǯ®Ÿ8=x=qæì¹ÿwYŸ*J>€‘4ÕÅHI0¥VèI·Ôù:øšð‰¸Ô‰%€b§îÛ#tgg“wÈ<€ùñܼӊ΋€Ë+WS)}9™N%Ç·Çþ·Züé{ï­¥”èSÜò|¨ l¯Ë‹†ç-€€HÌ3à̃b1mèãE€Ü·ñøÝC–û?¨ü`ŒØ¿)ˆþî-P§ÿ˜êû¥©{«~÷Nv… -ž0þýì3ø"È›<¤ú\ûO dÚœ@³®5‰Dƒ1@›»w®ÿONRQ§· öA»?3 &Ÿ¾ p‹?EßÇ|ÀÂ?ƒí§Ûø}x€î@wÌÒݳýúAÙD6‘Øà -7:åy0ÃË^ßO@VÀœŒ9À>䦯ûÍþ@Ý#Õ$¥ŠPàè,½ -oÿ$6nDëj_¨¦nKêW0 -º]•¢<¸yÚM“ @½®š}ØÔÛ‡‡Úóv=Ñ7ûýDc½ßøÄµG|šþaGsKÁÂfìJù`qéúÐжƒOŸ>¥+ÓR:ðÉQ 091ÀÑäRyíÑèQÛ ÜÙ¹@#ÈØËë^á?Ü!¼@ˆ¡Aç'þ"ü…ûT¬ÿœí•ËŽ¤dªwVÂ+á;­¬àêèµô<ü0Àïè9¥ª£©faÕÿo/x¡(2 50 ýi¼œÔÓ·á•X"µ™n©’p„ï¢,ôú¦ðLçåz°J_ÿµ½?>á¸ëÓÞIá]0Kxøš¬,„o ˆù£B+³ü¯#"€YйX.Àoå¯YE ˜aTÔÁD—©L¨ˆìùÂq_B@¸#Í—ªë–b§tÆ^u磒ú@î†$[,¾–;&0¬’Å„BH9ˆØêq½u¾ÿÿ³/^”ÎÏJLj:®Añ  Ö Ó[fïŽ@Íæ0¿8µW÷¦›™Léå)¤/3¾|C¶~ &[Æ_ŠGï!/øbŠ4ú£ßÑÌ0¥uÅób4Ì ÀO2C -{Ev»æ™{”V¨tÎcN>£7ñ „@ªËdÄ[¸³±H\O]ÕÙTN¿ª¥âƒhr?}ùÆòå”±¼˜3–cqŒ€rJÉ9NQóDÚVb{½”4œ¸`cÛˆ¥¤„0:_Ô#úí\ô[1¼û7õ^>÷ ð6à%úDhàä|~x"°ÎÿäÞtðÜ·mÜ߸´À·‹€iö8þëÞð¦fB»Îf³ ­‘ 7‚‚ -(»ùTééìˆzÿ Ðøz‚¾dõÝÀwø˜¿œ¬?ÝN''¼kø]<=nƒ~úä³þ´ Ÿ{ÿb0Ý÷Y®üY4ÿEŽ(X￞@QJWíh•jŸaÀ -XŸ©³Ë¿z36–ª*Råf5ŠU1I6-eNbK³¯ÕûÔ/^ƒ!@ÿðšý‘C:AûßÞñ<üÁÍ~9Ò ú?1·8t=X.'—–‚W‚…ß‚ÁàÓ!ÂA2¹øhtbtntô“щ‰£Ñ¥ò•¹O&Úm±Hpè© ç x)þš€ ¢³ÃÜv ÃI‚ øÂF€Û¨ö¨ü.P@xå²›Ó! nn!(8 gÀ;JM¸î³ÝÍùù·Ó¿œgÒpÚ¡¿˜˜É• –+ÍxÜqá|¯4m»ª*M ü¿…`:´>é‚J}â™>øÇbOûêoz–-–0.q‚žgWÔk T¨´-•'»<ݵL¦.&¾ˆe$L ‹cÁJõöÁ}Èô4kbñϲy€a>!¤øñ#ÕóJµŠÈ`UWC¯VtÇ®èH û—¨:Ø2õõ!ÕFî¯DL¬^ÇW0ö¼äášÌQ¥ÎþÀùY­V:³Žk¥á€Òq) ã éãtN›{@vå´9]©TšÍL+óò´ÄÅ¿õ²ùr¯ÙúÛp$hðÏkcx Ï¢}S–û¥Â3´äVÉÏö5œªƒÆžîA°—ÿÙ"Ôµ:tl,u»_›ýÃç‚ÑÆ:HÖ(AüòÿIÊçó·h0‹!þlJ¿=ŸÊEW¶¤ÔƒkÛ±\•Àò²¾<–ÓßwŒäÕ÷n¬ýè½µ¤’&àlmi†)ÇŒqǘَoÆÉx<§;q±Ú20Øþàÿ~xi - À¯Ä6àãøsý߀ǬÀü÷d÷ñ½ûˆÄ~À§¨úoìò7loð$€µ¿V ^Ü~Ö+'­Oo뚦­³ÍN‚9zÁ@™O ,6ö&éÓ$мWÙEéŸÁÀ`b2à}d½K3@F"€Ç,©ögETþ| Èÿ¬¨ùLÌìOb €`@•³ÿGe1-КöZ7Àn‡ŽõMIJEýê§Fv.ÕhnRª_{þ\ºqÊ‹ŸÞ¾:´lcÞ/Q/§Þ×yp ?@ÙTïŽ>zN/èúQ;‘?l4˜ý4ú#"¸Á2ý„ð÷[\¢Î?yP^z <]B ~>üÙ‡Ÿø„NØøÍÒÒ£¹‰6#€„Žøb@Â?ø­›;â;;~V°¹Ó>¼æÂN8ü”Ç<H†£ág[`—ÂFZÜ~‡óî£àto=±»A]LéÛð_!‹#s;½~O$&(©`Ù­Ä+º ½bØ’·«&gºb7z?ž³v9§Š¶8ÀææC4pûα<ÞøßTÙhÀÁB.*Üéµ -µÔ½6‹Y*ì=Ùïèøè‹i}WÿªÂ Oߊg5CϨJ¨¥YŵûU™ÉüøÔ¥’¬VT%]Ql;j6,,¼ `™NÊWô(xøP· ÞtXÏògµÎ_fàü¢kÇœþw\‚`©vìïf2{€§™aº0œxØ<­œNW¦ œZÍæËZé4Ó:µ~ ¥àË7€ø]‰þ°æÍc¸ˆ_H“J&ËAä"|ýþ]€½}ºÝŒé;gXдþN7IJRœºOäóÁOåÊ/ö_Y~z[FF*`è³ó¹Ù_[NöA45#]þ¯ŒØ²-;ñÔØß­½O`Y(z@Kl͘¦c ðGâNÌ™5ⱘu '‡-€Û®´Ó£ßJpû‘ôÙ¯¦Ó…K¿â`ßž<Þ±÷`ˆÆ -V» S°±ÒмÀ½á‡XøkœˆXV1ð‡–§ü:úþDBK¬óA€Þt¥–Ç€КãÝ«öƒKÔÒ·môðû^“?8Qõ§óÙ#ªþ zGíGßOÐBPÿ,ô8€¬PúÏdÙC¼ 8@óIžvg¯]³°¥#¸¡UµjW#Ñk“G’Ö—ÕÛ)ݸŽIªRTëÒ͹8œëÍ~ÏìiêókÒݨëþÄózãp¤aæ!`€ö¤¾È>¤ú?1¹™ÜL.–’ÉäÒÓ¥®ÿXa1pñ“‰ lL% °ö“£/Û^À ù§úÿ7;+ †¿ F,Ð<ÌÆS…@€íŠá‚°ç]½vÓÜ÷»Æv8§c €ú!àô*×rø¯Á‹Ùú5ç5URØ~õôÓ(ÒrËÁ•=VS±ÔŒÚ´ÓU[×U!Ü•x©J¬Q‰Ê6¿²Ê£¥§r$° RYe ÑÁÐÞÞÀ%!°cû_YÈwĈ1ߟ»¾Áˆ¶ËÿòBÛ­*½BYú×aèô0º—!l€6êzI©Ê^Æ0CaÑ B­ŒwE=m«26_8_pDQm…¥<ØW…þÖ'„z ®É^À_@x&@>µjµÚïd ýƒ!€‡šâk+s -i ]0 C½Íješ/+•¦rÚ|ù,öþÌA Üx}Hȱ¾æ@lÊŽÿ¥îÌü’/@w'ñÄ,3 ˜(+y·—:¥WÖy‡š-V‰UžÂ -ðÂå E -1DŒÕTîÎ/‹²±ŸÎ¥eù_¤RËFîýTÜ)ÿèï Œ)R<)ý€¶1eØDf¶ãñ˜ãÄ$v -\€´¡‹£úìkŸG•;Ùðdãþ}*ñÌòŸð`w—ÿ  ôßãµpÈÚÝõÿ¾ØD -À_ОU!3QÌSO0ÿΕ?ã#ëÁþ°&CÔk~Ë Ê> {YHè¦|z®æ†í,_™¥ïjpõGÙO`†O?¸È‚ªðyQù=êŸ9¦ÿ½AÀ>´ÐybŸ£(p‹V|í  Sà 5œqú¸TU©V£ô&ݽ¦!ñO‚ªÞþWÕŽÄ%US¥Í:÷TS ФÉ>ÊÛõ~{¤oîô‘Õú}ÑþãBžêÿÑÝÍr,‰áòip(y,< W‚Kåµµ©ðÏÑOÖÖ‚ÁŸMµ½Z82¹¼@ž1 `èS;‰` ¼­D¹àK-ë2}M•ÞHåÂ++…‚ëµÿ‚p9'Ð #(‡d;KªZ±´zQúf‘úïKT­«*5ÝðO´ª:aúr¡P§VmDå¨<øoê÷þì[>?ïù³²½Ü,ÓXše ¤æ ÐÛ$0yxÏ幤RÁ ÁX×òȳ°Á­Âz—ÿxïï÷@² x¡°ÓíZ’ÿpPüc‚¡€R¡/ü†9¿ÇÂ~7‚Þj¿BåÞÒݪÒ4f èØÍ&Ã)ÑŠ-;–«’¢WnKª?×€g{ÖrGˆ¾ À‹³»Ô¨í¯qìÕþ’°C€Ó àN›™=( dš{ï­ÓæÞËÒ³ݽY‚?PéåýH蹓‰*~AÀéÇ/ùçæÅL¿Ûþè>Q¾TQy…ÿ ~-—_9†Ê¬¤ê.c#šuݯ1opgÍH\7Rºþ©®ääÈþƒÛNLzçË——¯:c®žJƱµ[{o톴åÄr>X×¶fLÙq"`6q#wÒNܳŜ®Gt}<õÚçÑùLäÜÇۢܟL!ï÷da‰?—>»¿AÕ~÷ªüÂç>žú1;° vòÁi6È<;þ+çÖÖ¶û…3“]ïvÍõ·õ¢ùÏ{Ãþl@¨ÿ³(6P°‹\þQr5A 0ý;v¨¸7ò‚g|ßɢ͇Z-Á·àäþü Œ‘³ÿ@>: ë/°ëïŒzVÀ3ƒP–ây¯ÓóÐ_7x!+éh:5âãF4mWªRôƒxUªcÊ™©D«¨ÕªlIñªÜ3­G×`1§j¦\ï÷4éî(º³~t¨¶ý,ÖEÑö4ûíþ!õõík›ÁÅ¥¡rð:uÿ׃…drIl2 Z›kŽN~‹ÁòPy’G¯Ú¨€Áb€WýGIJ 8k$vïF÷r8\M†b‡+MË*`öç8èýÏ -_v =\˜÷a¯ êwæõ&j_T­±ýŽ‚ivç›È×󬔯ŸSVÕ^OS£Q;6æá/P‰Ri¬$ç%ÙjVUnÕÓÏú…WZÈsê—ý¥6_@KC­D›?ð2-°¶ÜKc‡‹Çë,²Cû¾%°Éž)R€ØèÇ«ÿuelüwT)H{ÓYôñJ‡ËµbW$Ë›÷òƒ1 -°› -€J• #Ô‚YZÕõªÐ Òs—f›°ÀW=KeE¢PB`á/+€ï½»æ‘@í©vV*s,P†e§Ïè]ÿ)á8œ¦ ›ö^“ €rZiU2%[•¦ý2“±[/~È¡(œ0&fõ°öõ7Jt<šßò6xN¤ü»€[~¹R„£yh0;çр̕¿ä}Èç¥'¾êø›~g 5ëäÄ@Ïéï8rz?§;Iéò}?µ¼¼ü¾a¤’†1öþ?Œ½ÿÞZ9½e$ðXy½ðéAtf&>—:wâ1#âòà5 ÔoϺ¯gž!ôÀ¯xàÄ‹ÞÀ•Ôç£þ{˜þ/ÜÛàÀ vܽÏopÿþýϦ… Pí¯¦þ—¶r®ó…óÅ_ôŸDãb^¤"Oý45åy¿±osõ÷ù²^ÅFÙÀm·ÀŒ¼F¥}½Ñ$` 05È‹e‚FÂ/×èù ®ø\þùÇÐØÏ3¡0ãmf9À»"àÕ~œŠÜüÓ“¡òOáעɮF©ç7bÆWÔýÛUC¿I¾¦öÙ—^­ê_¥#ÑM‰ŽÝ›ÐèOê²U¯ÖûȼPŸô5BÚH{Çì7.Ê5‡õäÛÈ ¶éà`1é‚p^¢ó+×élè×C¿þÙ³ÿ|¶8 .Ž  4_{À æÇ_<é|žo_Sô¨v%ÃA, ±m)®ë¦ŽDŽ‚¿}'¼Â^A‚°}§p¹¢H9=ªX5§:³šîÔÿ£¦Ý¬Jô÷BD‚z×Ð#qÃN¯®ÚºmëN¸œ¼U•[ð`[?*³fˆ]ÿ¼ €.[­ð±8Ä>úžÚŸ1êÇïÃÅÀÂ?†*”¾|P´è¦/1ìv;&õñf©g2#€ã3ýpo‹£ÕË_Aû¯S`E“©qøzw.vS5ÙÂJˆ ! ´”Ê*ö›Ût£¬¨J3åÚ’—& ¥€­–x !DÏR…Æ÷÷ľ%€ï½Pý/Á Dµ¿…K„Jg­Ú1;{áÀ§€‘@sˆ3•ÌžM_C ÐzyZ¢þ¯Ù:mžˆ8mfjodfà·güþ=TòB'Øë×cýŸ¢ÿCâqÛ ¾ R€©O8³àˆŠ3Þ-EÌย‰)€V|}(0&ÍtU‰Æô*šÀjURax@õ ëþ–mTÅäbÒö˜dYZ?>GåŽ*Ýd] I}¹¾nö'ýkGõ~;øå”ù°ìé ¹~q@GG“sK…äR²<4t})HgCI÷é•rpˆ£‚W’“£sX•mO,Òí‹sTÿyç¿ЀñÁýûx`g§?Ò>¼–n" 6î†#š‹6›áËŽMØÚV°PX¡S8üÑG…ðGÁàJÀå;zNÏݹ¼âFsF$WU, -Ï©Kìpÿï6ª/dKò ‘ÌP_¢?_,¶K&MgÓ¶Óv²œ\ÕW·Xc§ŠÊ®i2[¥ÂøßdË´¯ïyCòÉqlÏl‰µ¨!ÏVÒd=]‰]‚½Ñ~O¸ýúÝ]‹CUåØ ¯óé€âu2áÑk*UUžÂlÛCغ¸Æ)Ä ‹á^¤`Žá%Ê!oœ/Ut[O7s™f3c©zrþŽ]UšŠe±sö-'iX®4;V]dÚò‚¢Õó}3_|ÿõ tv •ÿ³5þôu¦ÖzVË<;E0À°_üá ÖX H~f|ÀjeºÙlV^Vè»[™V¥ÕªTN[;S:ÿ¡ç ¬0ûç  Óìøi>TÎ_Yë{ÒU<›rv«=9ßòïå?¢D <°ä™¿H3¥ œ‡Jþ û†#€ï -ÆS _¨ØŠT·åk·n,cPN¥Ý1Ãûàÿ¸‘SõrîpÒÖµ­\_6’Ææ¶Ç7“±q€í¸~°  2ŽU€¨þ-€ß}vÿñã“ÿ9Ðr»?ï߸üž,,ˆ\ )ªõ÷660C€Çv!ßr2µÁ&€L`à­—žÓ¹OMÑúþ›ÿ}sæã@¶aÒ y½Au5Á\óÆúnÈÛ˜Û{ˆ€e¼òÞ ÞcòÞž‰Pÿèø+ðÞùj ¤»ûç-<ßñÈxèD ï©ÿØý‡W Ø÷w?à‹¸úC2 <EÁÀ¬pÿµ@§†²¯HMƒ•þt¤g븞ÜïÁ -P­êvø¶t;­T%c³ªödåÑ]º§¬ÞÕzês:Âký~´]?š<\?¤R¿ÞgW¾V8  O`r¬ÿ—¯\/”9p(x%ø4HxàJð7“£ð€ÐÄ£ò•¥¥¹#á(œ~<¾ßþ{À—ÿ ÆyNʈ ª6n8„Í ÅmRµ×éªÉ„ý²{‡1@°ÀHj;á°‘Óu‚®®çnVU«jÐ/_Ãǹ9À·ºlÿ«ýžªQ¥³Ô%Ð+$âz$•tœUç ¬N”Ív-ÏšËÿî­y€^nB¥†D3=hËëíMÏη„ëùq,SÊ~8ª¥ãÅþtùƒ™· BÇ+[ž8†w9z’£z:’Zê±] -lÁ¶…˜tJ,C°Tx6UKQ3üôÑáqNœR±5¬+…Ð’ª%UYì ©< P1>yyÆ<æ€Ñ"ç -„XPƒÉPç;z.+`é•}ÖPÝoeÎj%ºøìLì2 €lÀZFHNØ;mžîA pJµ8S-ÀËÓ—¥fëŒ Ào›5™Ó—tççOΠ ;Pò•:B({Ñ?hò;ò+®¾O¬¯RÅ·tK%ñêï”øujzt¿,Ë + a„îÅ ÿ7l{‹hô7Õເù”`ÆgYC7V¹¥Î<ˆïçô_.߸ºì,'s@ê½»øßÖÞÝVrÄ€fXÐdºÙ1ŒÅR›NÒˆ‘Ý'mDÃ8‹êŸ¾ž¨QñÆ€|AçãDýþ=¸û_º/vü˜ö¿ÇŸÁx€ÝûS¸ÃÉ„à€ouÿߥ×îV‘šõuzmš(àuoÙzôð:€õϺpHôoQ?û -'Àóà£wÛuÝ2‚x(à¹j5‡pUªÂµ¶‡upê/¨býþbþÏmpC‚mbJ lU©ô'SKåy;[Jéwµªh2Üúä›ú¯´Vÿ$ŽNïvØ”Ýòz(žé·º,_,¼’â& €)’„:œ5a^†eLóÍ’˜ˆã3Á n»ø{ºbtë5wªÄ¦…°ÄI( äja‘Jq‘›ñ“ÃD€RJ+ª¶¡ú¬@>Y­D•gtPOx]±ãåÈ,'豺’j¿Øøþ“ÏÙøŒgÿ¼ 'ÿãVí U¿ö¬…ŒÀÌqíÔò䀧§ÃÂ`›™á½Leؾ•i[­f«YzÙjVZ·š™æj0¡ôâÝ?ü°¯h…ýô@80óg{_I«D¡—&Óû ÏŒ >áÀé@­ÒEpÀ‚Ђ0àýÔüîE&ðÛ¤âÔW)÷¶n䢯rQ¦>ÂXÎé7~yã£ÔøØXTÆrìÞ½º¶¶öéVzlÆ3€1ì6€e#–›‰;ñÍåä›ã‹Æ¶a€ÈÑ””6¶£ºñZà÷ÃPþPÔÍS5Çüÿ1Ï>»ôrÿ 8"ðoádá!ƒ 8bôÿÙ¥©Ç»S¯x@xööæ—´­âTKPòè²Ö9¢©˜À~y£ØÐú ¯Þ‹Á~¢!¸ù¼¨ÔY¯ˆçýÑ@ ûÊ^ŸwŽü´óùD@ûøÚtñ‹Öýòþ­‰‹nçœí“€y*ý,þ¦€3ÞbUþ€G;$èЊ‰G²'àë>ö§¿’Uõ1Ríëj½Z§ã>\€$Éø”nù`‘ºbùA€úÜMÀ„¾†á·yðìµÃ„iæ×ûT‘×… -`‡åû#<gæ²?œ-Ax«€ÁÅG‹É¡`lŽ=&Fù¹Ÿ-->š;š8¢âÿ7m¿ü{ÕÿP@€E (û#‚v€à0xwÆP®YŠãDr‘íˆÓÔ ‡š|·@=¾Ã’¿ðêÿy3€‘Ýê¤m”ÿ6v]=âתˆ®ƒ ’ [N€²:.§váû¯öûÖ§Ïáÿ}.«4ÓúJ9t«¶í,‡u›€ÝyZoö¬JªjZŠWŽyÀ¯‰ã§ØAhhËCž‹Ÿ,æþtLËŸûƒ0C=YÆ]¦ß±r(¶¨Àƒü¡#Ǽ¶ã÷wO<—®Åò>YnÿžúÏb„„à¾*|šBƒŠØâcdÍ+¬»î²Û ;vSÄ(ØO€ 1Ôe\¡ -ûx8¨xÞÐÈV§W¹X¡ï[Y÷oç/^œ£ôŸ•Ðú—j8žµJ¥ |a L¥¿Õ:­½„ÀdöÀ4©ÿß›¶3Ó™½ãÓéÓæi¥ùò´w€V¦i7W÷2«óóPfJçà~@ à¼ûb1âe@Ù ]ØRCøJ²ßË‚šÄÿnÀPdNŸl³ãIý°ûy!äp‰c§ñŸ’|#¯ŠâþæªÿT À8rÆõÈüå¬l·©¨GñËåËFyYÏ¥œ\rìï~[[»ánI1çl Y_$ ¶xuÓ‰/ÎFã'Àœ‚Àøk€Ú¥û'ON¦xàñý_aœ ནªô'p¼/0ÿÅòŸ2°±{¥ÿð|<å™>D -Ð[[ÿ©sÛ*齸µUÄ*#Áu¾*è\[o/}Í›ò£Ãz¯è£æó§„/ ÞÀ¢ì{ïPð3­Ï1¾mQùE«ÏßžÏb À»0þóåÿyo‘€‰¡$ ãžö³ ¦ñÏw¢Þ_˜Põ/z‹„L -d³Ý×0 -*”Úü -±u𚡦 b6©Þ×úªŵÕÍ9INÿĸFè@ªkê訤ÉÒ‡ñѼ‘z¦¨÷{¡>[ô _¾6ý²íöääÒKKO KÁ+KxPù¿^^û/?[{$À\ ?ù³¡µµ¿ýdf€íö—íW6¼Ö_ìû‰Ù?]쯋/Eÿß9LÜŒärŠ\ #’Ï ÇÂÊS7Ì•Þu!p€æág`ôýnÔ &øŸÁ‚ð‚Çp#¹Ù°¡ˆ];6ÚS`e/ül¨ø£êÖoR•û×¥º¬Fb¶+F2™üJQ¤h2Ì´8ïøÁl__9Ž•þ̼#ç)³EÖ/KU¦ùY‘‡ï2Åf É}³§µÞǸô_ð„¿£ñZ€·; -QÁe³+ö7é@^«çǰXh 0€e¾´ZSáKDxàŽ­pý/… !´ÝfM ÏoÛz8µš®6Aˆì#¡hèÒSƒ–q€l(ý"˜Ž…|;!øÞ£a©þ× <{FÕ¿TãLàZ©uvŒ Ô÷×Π¤«NŸ¶DF°`2§ðÚÞkVö>^…V`úÖp&Si¶^¶^îµV÷*ÕU*þöêêêËæé©uöC„jù¯64ÙXÿt¸hû­¼ìþ˜øw=žIf³?¦÷_*™<“_ˆÅÿ®@ÐaB~ÛÖS³Ž`0ˆnÏ.çL01Ǧþÿ—Ë©«e'ŠåR‹k¿Žýè]gKr’ž€\QÖ— zÇ!°œÚt–ˆ¶çs’Mo¿ŽøÝ3¬üQ¥‡ {˜Úz,Þ#pÿ’ØñCÒ/]µ‹U@ªýàü4À <öv/=|Èõÿ-]èžË¼½¡^QhèQÝûùb>” ø®sóï)û³ÞT>O¶èï&…ïsÙ¢èÚóB®Çæ>ž@€'ûí_ðvx'YÞô‡¸ -Ny!ÿÛg¿á¬—ˆ±‚Y,ý‰yCQL 0ÿ×<ÿ@!(æßìðÂR2ÐôQ¿J@ÃʘFÝ?íQ÷\Q%]ÂÂ" ¤7£R¿GÅG½67˜‹ÏÝUµ£Ãz=Ô×®Mb ½Ó3¹7o ¨g„sé‹üaà0°T¦Nhñài0HÝp©°T¸>DP`qñ'KtýO! -pâ“£öèYZ\[hƒ?ðÚÿ¿ò{A@°àT fÌõüH>ƒ£œ¡¯$“…¦b< gVVàÄ36ÿS‘í• -ð Fbë„¿€7Ppeå)]áܹr@QæÃ˜ÂU%©JíïÍ(}¬ü#–ŲàûË·^½ú\íGg£ªI&oN3¹D•zŠÕBUáÝö[²4Ÿa… ^Q´·Ð…^_ö|€ƒ€pþãDV9T‚m¶á #~¤RG÷áîÈêå`å ˜àÈÞ59ßï;zƒaaÀ~¿G¢…§gÇú}ù+ÅRÄd z׋ cBŽ•Š"éwª–*Ù,ÿãô "Ñ%±õèH¯!lþõ¸ö›|™7ð½KÏýOhþÏÎZŒ0úg€Úÿ3Ó’X¨ €!ÀÞð)!€áÊýééæç«Íé[{ÍÌ^…úÿæËJ“§÷*•S{oõ¥Ýlfj`þÐýù¼~§>)ù@n _J1ÿÌ¡PKlŽòˆ‰ª?–Ly˿þç•Á]~ÇÛ/`¥‹g:“Å €c^qxòV0ã©ñx €kÜÖs¹ù”!Gs„bÊWW®¦bcɨ»¼=;ö·ÿûoï¦¶ŠÆXqK[÷€í¢lÄl;`–77SË›'œíkìÙ\ÚÐÓÑÙ×1/B°°ð.@ÔÂßÇÆÿ'÷îÝ£þžg—NNPò|²ÁkìîRÁßø±¼t ¦¯(†ko§GZ E$ç‰äûܦçMsFéĤþkóÿ¬¿Ÿ_ôüyÀï… ÞÞ»OÀ· ò®óÀg(à•m'<ÿŸDƒ‡Bg¦AJ<:ªýLÞ‹—D±OüR²ýï{Ë€EFÂ@ûf7À.‚–úUºŠ€ŒÑ ÀàG–ªU[f.Z5~3=7)”×â$eîÑ'uIÓêf§>:Õ:!ªÃo…6_L¨3o6TÄóRl1毕‡®_¡Öi V…§››sæËÁƒQÅÿrò“Ñöè£ß,.´ó;‡#ØíøÛ‚h å_o¬›ë;ì Þ¡Ñ>D’±HIjô3ΊSU -a½P(¬¸9#\p\Ç1 ˆÃ…B°  N/þ×/åŽÀ¬!~M‰‘“°ÂòŸ@žà<ôG À[æÇøŒaÜžàª#G ÝH¥Ò¿¼ÁN€å«9}1g”Çþéjlmíê–”+gE 0@n_6R›†c|wbÉåØt¶!°¿•3ró¹ªq;3Ü×=ûlê1€˜x€˜îSùÇ €íïïNM±ê -ÿa´»;ž? „è¶K÷Þ߸Ï;€Ÿ}Æ@o#pÎÇWMó‹ÿ 'ê \˜Øç×͉î¤ý½¿¬ˆãñE}b;?ïõü‰â`0ϱ}Ÿ oƒ?ÁÖ~líÃÅ žÂÜâçÙ\˜s…Ø€®ÑYzþBÞõ‚‡³žÙ_``ü›Å¤ßg LX¡XD( ¾mŒqþPÂ" õ·ð¿AÏÙc ºZ¯ktÌîKÔüF%•=jMú"ºYÍÕïÞœ«Ó•75ôr>ÔLyô9ä€ý6oþ÷}ÿÆ!ü‡ê“ÉØ&fOƒ…ß—žRŸü4X./-Å-.]˜8šhMŒ..-mŽa`$ À—Þ`ÛŸŒ°Ô ¿Þ™ Ðmx†€æNç0q× Ç·#¹pØpt*ñiý$Ãád8Y`9ý7sÃÁB8HM¿ûEñÀABa7ì°%0á‚‚›[ çnV•›׉ Ûl=tæ}KªöÕ¾ú¼ -¿§°$Süsêó›MÌ$&õéÕ}SV¤–¿ª¨èŠš±””m+ؠ柵‚üË—`’mO±ãÇ ÛND.|߀s:•ÎÀ´@€ø?ks.àq óú—ÏJ¥gÇǧ%oñb‚O÷ö µÿÓÓ­Ó‡M {¯²šAá?]mÚͽʴ½:]±m§µó] ÞpÐyòu?à‹lI±(^ôŠ8·B_3ýc àSYBç<xeèÏÊÖ®)RèµX¡nÞÀç°èt=ðµUÀ·Dh@0ëºÙ^M-k[háSöòå©ùÔûcztÙÈýÃòÁÚ»I%ý`l{+¡  = ऌ¸±)4›±XÙ #Sd»°-¹F.7;›þæ'‘ñ&ØðVO°°û<à™À¥û 7`þ»Ë#XOí>Æ »Øx¼Á -BÃbðßÞ²Þ?ÄÍ?j¤×ûÃA7àiöó3Ùl`=ÄR~,æ¡bó†^^\ç¾üÏ×ú?á·ûY1àëÑç˜ðO Èñ¥°Ê{F@ Ðs¤OýìzÂ÷KYaFÌÊÿbÖ‹üÍú÷(Ša?@@–‡¼ú?C oÞ,±Í«Rµéè­ÑÑ_ãÊR—T*æ&+äª^åE×GkTüçªêdàZ¨‹ÊþQ[Cý‡£GmÓl)ÿ Ñ~»½“Ø¡R~8¹´–"„ðï‘ Œ4 àÚß."y@jÓÙÄbyhñ'0úò˶P°Ð}…}°ãÿõu_€³Æ:r‰vŽâI7‚P dÅY) ¡OÂê' þh%vVû‚ôQ0Pÿ <ýf@aK‚׈_‹8Žcú‰Tñç0$Þzµnõ¬zäæ¿ªªt÷ÓñÈår0¢Äu{3YGí¨^­Ú†]E¶€ŒÝ~Ù÷éÁ>Æö2ûñXV>]€ -p <¼ÊZ:Ñ¡™â@ÝÁøÀb˜ª†ž‹bzeU¤˜²çÓò*n(Ôã¯XéôðZ=q¼WUp½&z~K d_bÐ -ÿÖ’"˜} B!ËÖÙ#É’*v¸J×*)GoZ -Á!Y’ÔZÇW’)Q›Ðï1©àçÁŠÆ^ÇœÓû÷€4úžãßîÔÉ.õú˜,Ìw°Ø«Ù>„ƒr-ìwÓ#ªš¤ñ €5€]! -àÍlYbã# XþÏ'õ`ùa•(+;Jݪ–uÛÛUTTB‡Y¹³Š×Oõ+E™òAìM˜)lK Ž™¦à”¡à €Îd¯ôçM^ðüÿ¸Æë€~ÿgǘ pá/ÕžÐZøtZ;}vê©¡ 0½÷ùðçÀ{ŸOOg2Ó•ÕÊêª}kºÕzYiNï­®NÛ•=v¥rZClÔù›¾8#¾’P“&&¸÷ÍÐö{S&\ö6G;_c0?’ÙѲÃ*¹Ó V†Îån©ãµÿOλ¯D¿ À¼Cý\ŸMa óˉVÊ5ÆËQ*ÿ7Þ_ž+_Õ'{ÿ½åÔØ–¥tÑp[ÌliÚC6bޱ)€åØæâø/O8F¤˜6ÒzDB1k|ãsöÀãÏ>»ÄK|÷ŸlL!ø‘¸ ¤oÜãÕÿ{¢í_˜šÚ¸¿€±Àåºîq.@— ~–ù¿ß&€ê¿…^8ëùç|÷\¯¸b¾Î »?Èf~§Ïzz€í÷о?ÞO° °·ºç‰üÄWÙÁοoþ›?/X€‡ÂhG´ÿë^@"Ûàï€@ÃoÿEÆ_Öþ{•?áÑbüïý2 €Š<ÿ'è‚h€o˜øªª]¥8Õ™žô1Úîs‘«#Æ]/„HüÃG檚lÖ%‰:ºG?¹¦%µ#z¯çúf»q<äÿÐRyî³Ðaµ=’,S{¼"Úÿ2A8,-ŽNÎ%ËCæ>™d -sih)F`‚À—íöH~½!\Gxã¿á/xh`¤ß_,@?ßÀî@ rà(ÆJø CÉÐA”{Ãu?ZÁ ¼[!å@€²ÿSÿ,à2†Ýí0˜pÁqp}´Y5"ñx<wo*¢`8…UB±u§É!Nó…À¢V‚ ‹…ª 0võÙ°£á=/„Í@ü¨î*KXty* (( …/€g DˆËy¸ÊT$~dv‚R‡zº -ò~ø[–Äâ¯P' ÆNÿªÜ\…‰ÐjªAY×íªŠ(’«Ñ&Öþ¨dõŸ%E…¦Pî‰úÿ}O^¼8;G÷/êþ|”|´ÿÇÇ­š˜`30% ·Ž[§,æ]€‡{À{{Ôí_ž¾õù­ ÕþÊê4¡€[·N_VìéÊç{·V+ -*Ó¸v/Szq~þ†³ÝÁJRhMýL`Lo*ÄÑ’žXÔ$ frh„Ø ä¿ŠdŽîñ-8@C$ @d  Oõ¿{þ'57â -Pº›*ʳó†û¾1{ãÆ2€äûËÆíXÎ][»1¾ø£¤\ô@ €¢£m§Œœxly1û‰ó ÃpbÛn1GÀHú6÷_ðÏPñQèapÀS7/,œÜ[ðX¸0ù¿ÀÊÿ{<ø¿¿ñ˜ÿ©{»È<´Á}vÆàøÙ³·¥þw¹÷/jØŠçþ?ûªgŸ`ð‹T,gè¢Ù-No!ô÷ëµïœ¿ ¾Ï ¯÷ü; U€x Èüòž' øÔà©¿g ÈÅ?+fœ.Ü»¢'?` dùñ/t -‰ì@‡(öþ±Ê" ù_Èå5¡À/¬gÜçU¿B,\Ç £S½ªÊúbÌ¡W7œ«×ª7sU 污B-®ÖÍ^ß<ü¤®©õ¾Få’|Ôa“?¬Ã ˜JòQ»œµƒÍÅEg3x}iqé)L€Øxîhr³<´øèCìýóéhn±¼‡€š¼µÛú½ò×FB µ!Gcg@Hø “\I¥¶m7id 7eC_u“áÇqªa'â†]…•àJ0ø4a€§Á`Ðu -OŸB@à ÚTŒxx%y&ãM%LÆoªH²ÛŒ*“É¥`ò7ÁB9™Ôí¸ñóù¦mÛúbphli¾*DƒL«BYÝ{AàM&ºà/”ª-YX<¾dw1•Ò@–õ –Jÿ%“í±@ e!€µ€¡'^Èê9ËPßl+ ?ÅÀ`À¸=ŸŠÈ:h–ÝÙn,ßXN-'oÑd.òîÚ '¶¬*ÛŃâVŸT’´b\ޤ¨ö3°¶ÛŒÅ1Ýx6rÑù´aDs³Æì7KÙpa.@¿ -€êñ©úÿ#vsʺ|ºjƒåÿ˜00EŸï߇#À%Žš‚‚ð!Ož½%)t¸Õd*…[E_'ð“u~}¥Š9A_¬wÏd± -è-ÿûb,ûýüQ^ÓTc1+/nƓ奥òŒqVÞ<:ýMyNÀ<îoç&“Ct5 [Е‡Æ¡· ¸ó -—™ ·~ƒY‡6€É#½RÉE7™2”•°IÇŒˆfc'ê:9×qW(ésái?ƒ…Ÿ† ¿ÂR!XhÆ]'¢ëNx™BÜ87œ¤dÇ&oFèWŠMHøÍÓ•`8¥N¹€håÈf¹P.‡mª¤š)|ùd¦P™¾WØUÅÙ€líoZÈlñ&ž"" ´;ÈqÅ?‘ÂÍ?zjvÛ1¹Ç2Ù˵›~˜ÔÿW},åÓ7À†OPø»€|¬ïðƒ‰•Ý l0”­(ð €lÙXõ§{Ùw«dß,UW%ÅÞ®Z%´‰¶¢vx²!;ª]µz!z*AÈjVÎ'þÊß{€¨ÿ¼û *~©„^Q@"¸ÆcÿÇ—N3àZÇ™gÃÇb 3,(°Ÿ?Üã…*øÔéÛÓ·*·¨ÒW¦›6] ‹ö^Ýÿt¥¹º p -àÉ“7\ŒL®ú-Á´0Àë‚îÒ2Ÿtž¨¯{^/õe£¾/ ¿Ðâí ÒÝϽ½Ná|ŸÀN蜗žø"€Aõ;F©q/©TÌÔS®KÍ/ÿËò_¦RÉ÷cúÕíÜO×ÞMÅÖÞ} ÅÔ>S̚ƒxlÓÙ‹Åb©w O$Ùœdär·Óºaç|Ã3øÝ+€_ñ€×ùîíÞƒpã1§mxæ¿hÿÅ:"°+0µñc‘¸1õ˜Î§±ðl8óV¤„Ìïû‹m:Q÷ýèÑ3gý˜ª•°ï[õ?dšæ Þ\狘î=Oÿ KßW˜þlÑçØÀÛh€Ó÷Íý|A@ž³òFbpâM@`þÌ:„X!È6ü8`lÿûÏ^´þ¼ñ'8€âÅî¿Æ¶@Eè $@ñM‡„š ´Õhš7ÿáO‹šž¦ÕÏÕ:5w‹1]Aƒªèy¢r]½V›“Gõþá„Ö3©_Ÿè÷Ì>·é&†@ôÞhôÁ $úªJRå/ •¯“ÁëKɃàÏ=48¢–n€«}ûhrqq `âaÔþr'!,yú?ÒØñS€YÀB ÀùùöáÝ»FÄIFŒ -íŸt$«YQª’‘„p$×tühú÷NðúÊS®þ_@,P öŸ¾2šáp0ø´lFŒ°m¦c…¥d¡ðQÐÆ7ã–íl:p7,8K×]^ÿEÒu“ά¡Ï‡—œøAy1F¿otËô¦fÈâÙ*¢pQñéHIEŸYtóp ôÄýŠÝý–) ÅŽÀÇà±@Óv¼5ËKì‚eîáå˜án—¿€èì<Ô1{AÿûÑÀ‚àU­’ØãÇø^­©i5>x†Õ¦Zž T©ÊVÕU)\¶å;Xx@ê ••€B%I›²­Ð¯iI–Ú¬ªô`ì…½¸øNèE§ó½K…úïŒå~hA Pbà˜J}M,€8Æüª¸³.°–9>f!Àif/óðtzxzXœOï}¾wëóËïܺõЦžÕ®`þúÿÆ•½fóe³€U„ k€7\hJ¨üZ ™-MLJ(ñrƒ*ùë~ɳöåÂIb0d1‘]X”JÖ94Ød[ s>q. ÏßXð€—`¤Æu}›Àüû²š7báÙÿëËï߸꾿œ¼rªåµwçSc—Þ2ІAE‰@#€­\Ê1bqŒÊc¿p"ãɈ›K9=—‹Ñœþ æ÷?û -~„œL=^XXøÇ{÷{¢@hïm,p.ïìNmìžp(ðÔÔã)^Øðv§½à8@/À¾&ù +¾Rü‹¯’ÿƒË Äì4Bf [ äµõ¬ß‹}ÿ¼Èýèÿ}µ?ËDÕÎúbÀç¸NXüx ¿ ¼F_ä%ÄB ¯æ=B€+¹'( ‹dÁOíÿ…AÅýóä@ŒßôŸÍ’ªŒ¢U1:VUIz.=W5õ.½F±þ®G%ðÕ°tÑzšLÅ!Ÿ›”ú“&ä¹É::w3¤}8:ÙÎ'ú¼©×_çÕüu“-z´Û‡¾š^,”‡‚å!$…‡~\L]Zœ›˜˜øpm10zhïP¹§ú=¹ø¾zôÑDûË‘/¿ür$Ѩ·G¸Äû€"³Ö™k·Ò{;¸{¸9H&CQ\Ã])¹ppE·sɤ›\qÂÉB¹¤7¨×uƒ¼¾³Â“ÿ0kŸºá_àÓÊŠM®iÜM§$ÃÁŸTÓN2Ý4’Id ×YÕPpR©rr5n§ç{T^:ØLÎW5çs%Ü€eKãt 4a„ÃôGæ¬]ÞTZ¼†Ÿ>ZTzÌ.‡ñ.ì˜Mƒ,Þ -ª!ä§òí)ýMLgÑš ú–¾#ˆM•¿èú6ïbCÐuÀ–=lT`¢ÚÓ³KC`•ä*Â}]×ŰŸ^)«TË]… ð|••¨"˲¬–ô•ea €žgÉJÓ¥ŽŠà <œð}O^¼¨½8{&b€„ @©…©­öÌÓ·jÜþ˜€Öq©V:­ ƒ' ðì43|¼w<|:,,¦‡÷¨úO?ü|úóé[÷/_žŸž¶§WWVV®Vn­Î_^]]½Eç¾Eˆàt˜!À›©xEàÉÿPüK[Æ%äH>él)¢Å7E¸$¿DßÄ &ža—*ù„C&á v;ºÞä…sN¦W¶o™xzâ ߎ¢|ŒÙ”£ß6fgç•~sÙ5–S•å–go$—TêÁػ列ſË)Fñ#@q‹@1íÄEgóƒÍØØû‹±Ÿ¤~z1’„(¶ =šÎé:F·ÿcðoÏ8˜ê=l/ý -à1:íRÕgp² ­?âÿ68à„'»w/ß§k7X&p_?~vüìMtÏá¶ -¿?LÀ=K|nÒE'íÇöøZ±V¿?AÅ:šˆå¡õ+z3{Q±³ -¾lÂÛ -Ld}’_ ƒõ_(V÷eC ±÷Óó‰WO¨ýùÁØû ’î€âIÀ®À›`` Š=Þö‹Ù-Ìø6Á|Ã_«¤Ø¨"Š­pÀ@ã1 È{¾š¨þÞÃh‚KHˆèH$|@F+¼âv,Þ’Ç¢ Šß˜ÔAت̺RÌ´*Ü€úêµk«ªÈ¹‘¹ÍÔúR$¢h79CãvS›{ôá'õŽ6¡åµž9Ñ1¡ô[7wxeÕß ­{ ÀÄØK­n..R_Óda¨œt‚`Êå9ÌþGGlý‹ÀáHàÑâÒOFérà.ûQóßÏzŒ_x ¡èsÉyÅ kòy¹~Ø8tœÞÿz•=¬'W’+%Ýœ›¤^?I`€êÒ1 -A(ï€ówqFßRp-%ˆÓŠ-év!|'œüyÐ1ž&qÝÓBð:L ºü o„Sò æê†“Z -º«›‘¡d29ïF«–X¼g†]ñ@È,©ŠïÃZR3Ða7®ýØ«¯ŠbÎþ]Åûþt4¸÷†<½?§Ȭޗ9q§Ã·¢´J`× ‹]‚…é/×wÓbW!‘/LˆôW~…t„I>£ÀT€bIMÖ/(v³j«5KmÊ©¢¨UK.Á H‘V•Áºž•"£f{ +l¬ëB/¾wàLXÿ{#€ógÔïŸQsßâ$´ûX`ÀÀÚ±‡œÁ0s,„„¦ALŸRñ¯LcàÖe:Ýš¶§ß©LWönÍ7›våùwN+Íy¬ÜÂV@³rZATP÷̓ÿ?yïÚFšæ‹Zc6ƒ=¹gÝìL1‚ ªa,%sR]³mC7‚ -¹"dKœUtX«)-R,«Wj ä¬0Á0mtmqqãYVa’Ù¨Á…E Æä x¾¥Á°«|9ntýeÒûGͽ÷ý=ï[²33îœ 3Ýge[–-Y–e»žßó<¿?º\p²Ï^kê~8¼¿˜¹ïžÞ¾RƒºÃÓ³º¿Á÷ƒ ükåŸ;‘e?‘jÀC¤[v…0dLøMDÿ3+LŒ±Ë¬YÏÏÆL!œ m„2³c ™÷â¡Ì%ÛȤóß_ -ÙþÿÃõ´f4AÔ»Rȶýö~{}éZòÊÍK—Œ€É€¯²5Œ4»ÿÙ·So|† Ö½ïÐ`íÙ-oÝ¢’Žˆÿ·¶#€‹Éý‡A‚[;kˆ‚ ÐÎõc¸>Ží®œ|k)ÿ¨ý4üw¦á¨„gò½7÷€%PâæÇ‰Ä¦Çó1í„y± ޝ¨ìƒlßÄ›µ>ȧ\ÄÇgüdó›%€3â§YBБвï8-ßUp°7 Î(ˆt¦µŸÇŸ… a>€6€}òm ü -n/öÅ" U±Ž>•¦ªšuÚ¯ªìˆ¯’.€}VÒTuª*MõÙ?xõŸªí§jíÖx‡µø}krj¼½Ù!?^øõÀºÎ¢´` -YýÊ83جE^¤Ü%÷Pié#Vø_vÚÉqÎù9Ú™Lú“Ih§Z þ±Ï±vTÕų>êÐÿø$ Å`¿2ìdƒmÃ4m†3®>v$Òô6sØÐ€ß´swJ6FîÜ‹ !`-áž¿áµ_¸sQ%öðŽ{>÷Pj¯/¢+cÿ/š|Ø€&8c(£?¿ñbž| æYÙÏ›~½l0´‘J7L]gͲ¢…)˜Lq%‰ÕCÍ‚›ŠF‹uš…«aM‹¸ ¨ñ%‚T&eŸ‡Ò:ÝI„㚬žBˆA±]^©³ Ku—†(âTó‹Dòàm_—ÛõzÖÀ~Þs8€ùOÆX2°»E‡˜.0‹ÊzD2üev9ÒÜ V•EÝY¬@•è#yö­yûA´.q("&L(XãÝÐ`oE„ÿÉó‡sÿNxñÇ|.ÀÚÿÕ=Qú÷é]qzÀXqxec€Øöððð!í'Û3O.,Ï,ïÌÄwÆn,ÎÀ ÁpÀâQdf¹±8Â>\Ž/–ãå™rc»¼‚)À7,,HtòdØÇ@XÛ¯íkûìogŸþ kìwÜ`¸€“CCñ‡?&¹ûk$"örÄ»ž"q^SX€DÀç”Ä!2z<àõ·@`6b@DZûò˜ùôÆÕ…{¡L&cÎfÒß¿ºúßì}ßM͸oi«|`ÜWlà -àþä5vÌû±ß=ð†Mv—¾4¢ßB¼€@ -¢ÈŸƒg×Z¾/ìB‚Þ@2ù@œ?A'Ñ Q ÿ‡Y•Å'E˜°»,Âöéu÷5ú~oÿ_ÿ/00¯Ú!{‚T¡Y]07B÷‹Ÿ†Ò¡L<“ùë« ïg®f2—ŒŒ‘~¿t5¾þý¦ì3´èM´ CƆd¦?ð³ÓÒ%ÿ•ÒÕÒ„í èv:šOWô }#ýÀþz' •aapð9pÄà€KƒÚ·³³ÅŠý÷n °¶v‹Ò€Ö((pmkkëÖÎÖd" À0¾u 'ª?{bÑjRŽäÁßÚ£æ8©°ÀÛਤÙ:@bÆ|ÜŒ·# {V5άj\«w~PÍ~ÖQзåß’¯ú©ü“ôŸ³³Y'P0xî+#šÿshPw‚ðô¥Ÿ%ZŽßÿ'„p›ñ@A˜[o³ø7Y>%ñ¹ÓXhTUUúkÿ>+új«Ze=¨ª©Uµ*¡t¨²ç媤ZÚôÔÜT°Uõ´ÛZUkµV;˜Ï –Ö*«æìŽZ““íö£i»Éú~Û4“î÷ܬ6§J¥dªôt¼0úò%WŒv6G'çæž¦´M„v6)¨Î“yÅç’üÁv˜fÿ}ä‘ 1Dk3ØrÖ½ Ø -+Ë0ù÷–î4óùiÛðv›ˆpSÅϽÈçHÈJ;¢†P¢ úÙ/R/ Ô½·s+ÊlŽ=ô!SÈ€n÷|ÎÉ›Cn# ½@â‘w1ª( ]¯D"|]YQ¤š†Ldz±(§±=šnÌP-Þ0«gKt~x¦Pà"¹øX<ÈC -t—Tîß'ì¸Øb¿U•nÀÇÍ@ ²° àî27äÃòÄpB­T$Ð÷„ï §K6Š‚"R†H¡R6Ø ¤E=’0œ£°ïRŽ€4Ø€6@&ß%2·‘¡Œzà+2( ï´`ðtÐbp¶Ÿ0:ÙÛã¡€ìV'B¸·'À²Ø †Á`Â%Fs€ØÌ“íá™™ãí 3ËÇÇ–ÇÆþtld[ÿ(ËcåXcl9Ž‘Àbã«ÅÈQ¹Ñøj#€×ߘ=iñxýw’Â5ñTv&÷žïól¿aûÀ³ÚÏÿŒh½$»c’ L†‰æZ|Ž Eš篿ý€º=+V˜qlëΘagF®Žýï™Ì½…ÐB(cdìèÂR(nÿ )G ­è×´šfÜTŒËMrÂôÛ4¸äúi`ÝÐý;Ioøô´þ– @ìÉbø&4;ןAøÙãǶ¶í»sõù·¶Ðóo±Ú Lá°F‰€[·žQù¿~áøs²„ À¿|+«?Š¿¦ÕEûï$ùø´>HZ>êè]o \ëBÍßL0ÐÃȾnY«ujÄëAªû}çÞD.8]ù ¯fv€€ :@Z"8è÷™€Î"€x0¨Õ×àï` TÈŠX"a$4‚ç’€² žCà yƒÈSŒßÊì¢ï§2Hi°V+U¸Ëi¬tk-U;•OµšjU¥éª|*WºÒk]«¹äê\Û¥! -¨Õnu´N½»Éê7Å]ã´Jf}öl;“®N{®‰‰ÒíN" ØL&“fЧä÷ÃRûÇÊýäøÓäSW‹=k-ÅGÀ¨³ÀÎýÎVÀTÉ@£õl;°Îнa§í†’wߦ¹¿qÇmç›Þf€þ¦m÷Ôþ2¦^ÛÌ5ó9Öë—}ù¦á3¸CQLøú+“U{·]¦ÂÏzÿùÿg~Þt—â¬Ô¯ßIù;5ÿ^ÎÎ/²Æøa$Ñ+*lÒ°·8YеŸ­¤åÁ˜­(&ä‚ïUQèe’W‡åAˆ+f0âwÖ•ù4A¥µQ64ð!•8œsHW„Où"X¦dA¾èrR÷©BR@©òŠÝEûtDZ¤)GØýC'¡j«1e"ìi)ƒ¨à'‚Z Ë‰„Ü $” -Äsdy%^)’ àN¸ý(¬‡¡àÚê¯`ó@‘€Ñbì&{D$2 r‚öcÀ±Ã=Öò38°½÷„a€'ÃÛÃObOˆ -x K Ž—gÆâc÷ÆÆâË‹ðŒÌ4"3wØå±±23ÇGà–cåXñõëoÐ`Œ:-ú~Vùq®Ã]ÎèZÂ|Âúu×?ö5]ë\ÿⱔDÀV -îÀ\Èíº| Ðãõÿ)ø€ß˜ P¬ŒPÜ02òHf"ÿ©w„UÿÌû \Í䯆Ò./¹k’¬j²@­6aKÆàƒÔ¥_I^º:0ü¶/´Qɧ}Q#ú íûz#€/‘ÿëh.|~áç¬þ_ÇÊÿÖg¬Ä*¼p×¶à p TÀ[×·pÁ€-ÌÿŸ]à6€¬þǾ]^üÅ–™uê¼ú“jŸ[ø -³ž3¿õÅt€» Ð¯zž?Çʋ״ÿ‚¨ŒŠr6xVÑÏ^MÀÀ (æþA1Èž¹r6@0Qçª?ç:Zø×5Á¬gX"(¦Ð ›p‹P,û³÷E:Ðý# à>Ô‚˜0XðVÀ)o‰mæñœr®¥¾Ö×Xÿß§­J_¶¬êreõé”*ksj·:¿­•¨¶Û­*kõ7±ÁGóϾšvÿžUöÅY$¸&§Ÿ²Ê_jÂ0¾yÉuÛL^Y_wuZ/_"5P8³â=9ž\òO·¨¶á4úÒqý¥àBЂ€>€k`§¾Ùi7Kì_ |ç΋Ü\Ó°©à7ï˜4hr+Ó^Ÿˆ€ à5šÿläo³Ò®^äši‹~4ûCnÛÖËQ#õº_¸›M;â½{áåûÿ\þ…W×¥H Åî©Xÿ¥»d/ê¾J¥Ìd˜*h|ò.s7>΋F|R(|"T™;ù«‘Íß B¸H¾‚2 Ìz¸™ Œåû:‰Óúe‰Šÿ -™¼„©ëÁ”ó^Ðÿ»Dæ ‚wÿ©[ƒpy{Tòë%;â"'"`) )àòUÀùW”†$@I˜ÀRƒ½ÁîEð ¶°ï—AAÀ㮈…†OAô´ŸXN»Åw,Ä€ÖþEšñSøßë#÷£ñ/¢¿?!à"åî­„q#AÀ“px%ö£á#†ö?Š=‰ímÍp_À2,Žg–ñr_ŽmÝ[¾=2²\^.ÏDÊåúöâØXd±ñ°±)GF¤xòúß |êÝ``yÐdBÀ°¼Ïê?ÃgûáçÅ]‰ï™D -ůM,á:á±èÎE>1à¨ÏÙ @> *€B‚»¯Ì_Û€®_¶:ç`0Ÿe ~Û0n‡F2 _\½÷~h!c†B™tˆ€ÿû…šQÐ6‚4Ö -Æ®È$/ü¬û_Jú/]²o\6lÛç52Pt#ª§'쯇ßÿü:m.`ðógן¬‘À­n€Ñ?½}¬€-ôþäÄ qÖ¶ž‘ÐÏà&ÿò­ªþ2_ü÷µUv\ÕøöŸwàλ`a°Ïç‘> Xÿà ÐEÝÿªÅþ;´ÄÍ_üâcWB£c!k`"¯¾Žåo6{ÆÇKœ7øt‡%tðû­¢Ð'Î*}Pà‚¬ØöŸ¹d¦`q~Yò ÊŠ‘ƒC䍯ufià*PÈ1»|“"@¸Ï„Þò$ÒêùÕ+ þ³ì_šœÞ´0Ò4­ª©}í¹}t‰ÚÔrºSI–<®ZÕi×ÜÜTß:•Û“®ÉVõéòùVW=ˆÚÄ€ÕâN§ÍN®@ª4ò\ÉLæX]ýÐdx uw¼ÓâžüÇÊvôåäG)½Re¿Ï– C€Q1`…€ûèóë€}\ 8*T€ÎU››ÙV d²šmD#^¯×41°Ý¬7›¦iäJØösà0šÞ‡Ð Ú>» GŸížGz¸nÌ švΜ0íHÄðåìœÝt¿W²±1pß0*e]Ïë‘f*WJ™ï•†Þó²§³©T|>eßâVÿEºá - -¼ªV¢Ñ - ÿµ°ÊõÄðó°"‘Kvê¿B˜A¡–Œ7ö*Tˆ—IÔkNÙ–òÃ&È"®Ï{ÁÝêR„€ÅãÞSÌaóÒ£d™$ ì–¨Â÷W×u¼ w‰ +eÔs¤I>¬»¬ÆW¸1û º¤@dß4¥Bƒ, ”Ja€" ðÝR¾\€|Væií¿¿rHÞÿ{EÖý“ À¸Tóá#‚@ŒP»ÙÑʱ À `{åèp›¼i&à Ÿ,³nÿxŒA€±Û·ÇÆ–Ç`03³‰,-/—#±åFä«òL™A€×bðH 8ßÉ øÉ5UVÈHVzžhmŸ«N÷ÏåZç–gã8†sQ©¼±‡R¹ïø_[ƒà@+Þ‰„³ýÏòh#zq *#{¹‰ó  ÜÜLp ¼EP©àÐý@%I²‡òîUT%>T©V«¬•OñOmU«®>Ú:mnB’UM.LÏ=}:©zªã\U×d°Åê1†ñüC@«ÞÚì÷ëÙN»ãj¯#÷—õÓCë ̧ÌÒÃsãÈÿD•Ÿ|éí@åßyÙž›‹>j±’Þšæç<€Dÿd8Ê%ÎZ _n€ÄýE* „v?,•%L4v“ˆ.Z„API5®"…@·4<(4èEл,ˆü·ø=ÄПöñQñp龜` Li€`œp À·ÿܘ¶ÿH>:Ü£h`ØÅ>?"1 ÃÇÛ3å Û¸°Œ!ÀòN|ëöíOÇâ 00VŽ—3ñ‡Gû_± _1P.%A€oHý§ß~‘¯“T¾ À#¹Ud²¥ôXû²ü›Ù?Öà½e‘—¥LVÂÜJˆø].Uí"U°Ë/¡ö÷hBðšÇ#u€¿#0fFˆVcþ¸îÛ‰Ïnd´ÈmÃW»zûêÏ®.üu&³2g3öƒR( -}'­¥ÓÖ.éYý/¤ítÚ%“|p ³¶´a¢ùŠžö¾œ<f=?Lÿv~N@b÷Ý"¸pÒßãµÇߥê¿vZÀºáƒ` 4ŸÇ¿&@Ÿä„¼éOCí¯úë ã²ÿTL—°JÎû‚°‘Yµž{²ÿÍ/ÿê¿ýÕ‡óñdv že¶ÁôVH$ZÁâãT'Aˆ£‡z=10ø;ÿвgABT(0Q‹€¬F?†È¤Ç^Äà‡be>qÓÅÞü2%ƒ @€Þ@^M<¨H¯ÀîÃ[ÅÄÿ”=½Õ`¿ÚªZ˜ÿ[VUëWeuB²,iâ«Õ¹¹ôÔtÕR'«ZKku4¬ÑQ¬ÿ-«Þßì³ÃXŸmÁžn1óîÖÍ!7ªåP©”œ{ ,_¶'ù Ói*R°ßßdÈa‚£/Š Áà5¾N@/90`g‚ $ðÑ:+ñwRæosÂ×ÐK¦q'÷¶ï°~ÞΕXÿnÚ¶i¢ÑÏé>ÃËUþvCÉ y 8°*_öys{¢ Û0m…ÝìÏ9õÞÜ#Ÿ”×®0m8äö–gS HøµÁše•ý“t,9!Ÿ_÷ÉZ?Œë©1gÏ;\vT*¼27åçWà²àY£µ/¹ž[¢>Kèº=aµËû~T]ÚÂÒÂAæñ­b,@C‹¬,¾‘`¿¡çÊ!èy¸? ¬Èˆü¥åm"$²î «|)¬<ˆ°n^Æ_ ,ÂDó K•0lþ*@%˜Uxzð -ÀcRÕb—ß.…1ð|ù.4ÿ~"¬b{'XîŸìïÁè—Ü~ÐîŸð‹ÔþŸÀpïð„„€{tC1 8$€£ÈɈ½lC 8Ã_g¶g`ÿ·¸³¸|< -üö-Æ——uvE¼\žiŒ¡÷-Ë3åHcÿ«í¯` 6`ï;€#OWï.žûk´ÂÚ>ùQÊ5E~®öEÏyÖÙºhPþ-ZPAN' HAz”Ì(ø - ¡";ÒôH -ày-"¾õ€Ðeƒ€«úlÚ‡62ÁÈ‚¡/Œd> ýì굟-\]È„ìLH¿šµíky-z¿_ØÐ  2àg ¾ß¿ä_¿ê¿²té - ~#d?°í¨o£PÉG}¾¯›ôþîÉçBÀ)¬Ž£®?Æàú³ë|À>† ‚Aþg€WÿëkÜpëÖu"   ÀÞ7ÞÅûitüý ¦áuÍüÕqÞ§Oœy^>qy–rv»~Öžƒ­Æ¡:ÀÒû«_|ÜY¥À&Cl§ã¢s2¨Ð‘Ð - 1Ð8q€<X‚Tʹ±-îë0ä ®ùn‚AA9 µÕý§4ŠæŸ®vª?¶ÿ¬Ò]èõ]Tø]4 ¸‰´ã,].›€ƒ·NÕCÖ¾ù_ÕNÊ^a€§–Ö¥ORû °êß—ûZt\A=û„à¥ÿ4ÅAªÝÖNTè;Ù>k÷G=«Æ«uhò6Yõo·;Óëë¥Ôzn~È\Q~èÆü?°šùQ‡€ö(¯û¨ÿîú,+ýØl޶.Ž^¤¢ÑÉgüŠQ.ÄiU›¶ÍTÎD™OWŒ@Î^LÝau½äÁÌyó&ô ùå¯i³òÃíkD#9wÄØ/Ü7r¾À ·»y“VnÓœhعÜ<ƒ/°þoh>eGÖsïÍ¥ÞJÚÍfÜÈ7SnCŠäõrTUô‡i .©X“†%"Æí“ß’p. è”J¥F­·º¯±r¹¯¡ì†¹n®‹£q˜«‰Î‡õ<È‚2Pd!s€ŠÍ+;‡aÇæ¨ýر=¼‚›XaD·ó`A‹=ãøÂƒd´õ–òJR^©Tú±R°Ûw0}%Á]»Lôy¨"‘t° /Gå¹d$ ˆAèr‰`·û¥ç]¶Ä_ÒˆŸ<ý÷)ûCèüöØkøE…žÏ>ˆñ!Gä@6;Š=ÙÛ>|²÷doøh&? Œf¶X~²L¾@ÇËÇcÇccc[)#-xq±\ÞŽ3 —‹GâWGû_5à DÍïxºƒî+=8©<(¼î)5Mìù­¢õ›½¿Å×ÿ]Ê …¸ªÀ¥ˆ‹]1o(vÉV°KBDÌÿ{ÿ ¬BþüeLŒËc¡|œ€ž)(j?¸7ÊŒü,sí¯AÙ!øçgÙqH+ìj£Ï&QÛˆL3é_7ýþ,Á`)5a¯ëy³’NïFó¾tÚg¾ßþíW>'ðÙãgDà@„¬‘(àQÿo}ïñÖgx7ÚZCõç‘€p ¸.63Ÿ“ à7œH'0ûAŸ5É…sn:õk.Hý´cÜä€B}„°K´él뉵Ö{n¹\ÿâOn’ñ:6 -ÚÙü¿ ÎÏqü¹²`pâv€9œFŸoò³õ„C(dÏ’î @P žlDF€ 5ýCÓÿ¬«€x ›ü* P †Ÿ2€ŒŽï»n~ýA§c]áv2rø•.Qkx -˜Å€Òÿ~µÚ¶«ýp_•ÈÒ Ô¶ÊG Tçîºþ)Øn·:-HVû/Gë¬ùgÏ ¹÷ëNk5¾óhn½”L–æçS~÷мû=ä¸SWÚ£bÐáxLÞýÈïoÀoàüƉ4dü;ºÉµ£,0Ê}Zì6ÒfžUÿfD7ع·éµKn37sæºä?³ ƒ_/–ÿæ †òPô+JÎícxî†ûa¥ e +õ¹’þ°ä‹ÌÀ÷rÍ<éÿæÝ¦ ?8p:J¹7*ӌ땨/RQ`»‡>Y‘¬ë–+ÑŠBò•|<þ‡ÿ‚¾óÿð¾ðÌ¥«RN@1숷8 ª&ûU  KwеVð]-™žâpo‰´faÞÀ‰šß¸ôœ0 ô Ä¢ŽNñ½Rœb¹ËþVV`>aP%"¯ÈÜÕÈ‚|0"©ÜŠ@aH h…_)TòF Ó<9DÝ0À;m¿„`ï L’ÿQ΋”t‚^Ÿ‚(ñ‡]Ø'G “y÷¸öåÿ)A€Ø†‡Ñýņ!ä®ÀO¶Ëœ ¸xa9>³³|< Àí?½=v{Uÿ™ÈpìhYŸ)/î—cåý¯<¿R¾*®”÷á'²ðþhÍ/tø$D{_LîkìkZX pß²2kdîÇBïÅYïÿEæ‹{W¯-„BñŒa‡fg3þPA¹¯Õn’P¡VHÃéÏïÿ³æ ,]Kþ8é_¸4a‡&t3Í@5žŽ¤'B_3ø×Öô“€6døŒ>[# Vë¿·­ß­Ç¿»…Þgç«ý;×) - ìà…6|£cÐúƒæ§qc]šœýyðÜ6žOÝ‘ª˜ 0€`ðkT^Á`­dÖu_Ó¬ÞꪜÀT ¾ªY}«Ï¾Ûê@û>CÈ™õŸY+À„PúkÙ³]€ó°41ÿyÎÝ2z† øüÿaÏ4F«Ï -t¿›PÄ á$â6_ÿ¬þ yȪêÖð“jšåh+ª*û7ïW¥ÖTPíWÛUµÏnƒri¢ªN¹°‘ÚÖNå>+ÿöK,âi oy¨ ‡ «âV{r²ãú •j®'‡ÜÉæ V0“WÌõ¹äÜÓ——ãÔçw^¶¹ð%X€OÍNkô"€Ã(% ‰ÊqtÐé‹S}S$òå‘:bDКX·+vÎ;+ß¹Ó´Éòßl6mÓnºK¹fÎkc´ÿ£VÞ›Ⱥïé xÝ^_Ôv AàµÖÏåÜùù\3õ‚•DÆ7R år†ÏÇn]Jý2gV”¨7÷Úy„(«ÐÁ“OK]¯dO˜b@Ty™8ýaµ¦²ã'ó%<öòEGÆGT?šâÃÈÓc @âÙ€2Å7ði»‡¤Ü?€gþby`Áž…ÜþpFÂË à“ÝSRJ„'º4P+œäÇG„ÿ®¬IȨ”Uèúd¢¹/’•  1˜„܉ˆ8ì¡wY(ž" -ðßÞaø¯'+ÜÖgoåpª~ÖÓ³öEŒzòÂÍÿ(`o…G"0ƒÀëüYË¿Û>lì ³öÿhïÉÑÌáöÞÑ0Ìl_ Œà 3Ëñã8ÈñøÖí{·ÇâñÅåå±rãhfqyår£Xüê«çûÅèþ>ÖÞÎóþG›¼¦îŸ—nK“Ïø*Qkżüé?–ç·HÈáÓCÖ„ ö”ðÈü]ÚYÀYh0ƒ@Ý×]Ø?¼þ_ -8š5B—ip9ÊëWo†Æ&n…>]¸áÿâÞ¥«÷ØÍ2!h3¦­íµUÖ -…èº=a„ÌdòóÇëKKà”JÛ6Ò™t:š.,nø6|!ÃÿõÖòÆ“1ÿ¶v‹vý"pm €ïð½[×מ!ðvÓ(Èx c†È0€ý†Åé~™v`£Ÿ=#é ã‡N œ"J×ÅÍ}²A p@Ä~7]¬bö´lÁå -Ö;솴wž÷<“8Öÿçˆ}‰ £ä©|Á ØÏ|~‚¼Þó/‡›_çøˆ”þì:@ÁQ&NÀAeˆËp_Œýq™Ø$ïßå`Š@&ûÀ·<µòiøôTU¥ X€‡ÇO Ö@ÑÀ¸Tôôd*²ŠD€€ûþpoÀb—øjØ:唯òI@—¢ço(ð*ÎbSâž•ðŠL1À’B††¬®³’õôR¸HŠ…H…;!¬ˆ¾ŠÝ–ë_\ -nØJ‘&ïr@ëü0Íóy;Ï€@ì®æ'¤$yà éÿO8ùo¥H»þ±½}ÚþïŇcÃG¬ï‡ð“Ø6ûàó£ ì"4z7³\Þ™YÞa d€±1XÌÌ4gâ‹3å™ÅX¹¼‰¼.zö‹_kš,Ìø9ôúc¹[Ê7ZwK>¿ -°äšç¹¢ÖdË2¿_ÛX¢üc€ ±@ ÷Ac¼G% ‹¿žÔë±ßþë®ðúÖAÀñÀM>îÛ‰§óFøv&ýéíøÂµ¡÷¿X¸z/³nŒ]ݸœŸm^µÓ¬îË5‚µBa7d¡¤?È$?`àJÒ©بiD£…Y£²1ñµN€‡O. @ˆYU?ØzFÇxõøkŸþOy€Øó£ýßÁlàÖ^ßzŒOCˆþŸ6ß¼SZ¬)ï³Ö嘧èlФìY:‰à™]¯ãωœ/çèéƒAÿê*©ñ‚ ×ÇÙ„ËÓw¹nº‚šcºŸà†>𦠀@ÖüGóçˆþ¹Ûp$á¯:àœ`Bˆùç„ÿ9€ ø}âË -¤t9¡D<ÏL\ÙûìV÷! ;`‚ìpÆÀ± - -ûý·°Oå0ÃJà•:ù)fË$gˆ Ë–S­Jo0[‚- ”VûÒ„ÚW%Å57=}÷‘ªÉÕñV¶Õiõƒõ~£w«?:ºJìŠþ&+è›Ù6¼Ÿ~èN•†þaÈÍêèC39š‡RGIˆ¬€Æç\ÄÿkwœŽÿâ9@_ÐýE 7" Ð ÖÁf« Êkö}Š®/ú$ÉëÖuÛ› ù6rnÓh<ô¾ÊÙ‡ h¤½º××D¤(ÄŠ¹ÜP.Ò4moê{È6b‚R ”½wæo„ò¿lær%½â+ç ³äÎå'$ ,þ´/g6hÙÖ+‘h¥RŠä›°¸~ó4OjCª‚À®‹DÀµS÷¥h%Z [|ðö¿FŸ·þÔ¤q;@2ö€é?н¿;ÔW€•þ´;à[g”K÷Šcþ¹šjÄ÷ò<@b¥ûyOÖÀðöP| „=Œ®Åî¯Bвç4‚ý¬»g÷§”£ìvøË=0( ÑR¤0w Ó"à”Hïnð/À*ø^ìïŽXïšÛ;:a%žÛÀ 脊0 €½ÆÀ¤â_t¬c1Ô~pcGpdçðfŸÞþ|X@g¸"a€e@€Ûð~Ržiû°­i¿¥ísàìØ×ÕÈdš Á -a2еެÿøCã–ÀÝodÀï -|>cv iñ‘÷ô‘ÙY»6’I-Ä¿Èd~vuáŸÚ³¡Ì†Ÿ ]2ô‚Vè§ï;€€m%rý€ä%¦d³O¦CˆªéyI÷}=¾@F€×ø9zû5ÐúAà1À¢@€ëïDþ[`ç:̶>»Ž 0/\ à7jÀK?7•c¥d5Ø}qµuSXâ bôã€,÷Êž%òŽ˜Oý¹Ó̳ - AÀåòX»îOƒgå¤Y—k ðÏÄgË€Ä` -q~¬?˜T$άÿ‰ŒÈUþp>ƒæø‘èÏ1 Nð0黂çwPûg©øsn “}Xà·¦!ˆ¶ú–4€î -Ì€•WFSäSÄÎ*²GÀü>µßµ´SíGÕtõÔª>"Îà£ö”ën¢ßz4éRƒ§H:]m" pu³µ -7 V˜aàŽkúi*‰Åª„åy*5TJ%çÚDú{ùFˆþí\¤ ÀGáªQ2:Oñ#Uà€HuŸKL -  ÍN'p§Lhÿ #mè EÙ¶KÚiÃífwäÅ\Þ´}¥œm—•H4Z±_DÔ°îvÛP<4Rv³ÙÌys~;Wº1ô"•ÒuÛÓýCóï¹s‘h •Ó HW55÷{^šq_哨¤ø4΢¶Ò>”È7•¯X ¸«H$´cm³/Š Eª°“FD€}•SýÃNèŸLV¿|¼Ê·ú8ªZj¸(W0Úçu?Ìg辉†Õs"ÿ¬pàÂ:-¡ñ¦]/¼{œÐB°4¾ a.Å„Åò¨¾|™s kÄ—^) -åÈt•0»5¢+ Z’ÊÚ]C¦ò5ûëbמ®ð(ÀwW¿„àpårL†QÑqvxHf@0¦àß(ˆ \Øõ "À0€ûÆøô ƪ>á€Àà\Àîôd›×@€evŽ—ãñåÅ‘å‘cXŒÄ¡h,.Î4±ÆÃFñùW ³yjÍÊf;}ÂøÇž)Á!€3€@ÓøG²ÜSjBþgý–ÂÏ·ÿ˜i øÿZ-$D.ðX|/ðëi‚X¼c÷§?.ÐÆVùLèA\/èñøÄ†¿6{'=ö§³÷®þ,³ðý{WBùË >#4Jæ}»Ú}«p²õB´°kø7&Œ¥dÒÏ0Àµ¥ä•KÍ—Ö!c㲎n|!¾6øo?¿pýú³ƒ¢ÀX(nÝz¶CÉÀ”ÿóLÀèÿÑû³Ïƒó¿vkíà1V·Öž‰ À1Ùc(€½Á®‰çÊ÷ë«<‹çœØ¾N„ú«NÖ)°ÿ,ج¨ØÁŸµ<Ûáà!Á³tHO÷±å™‹^ý¶3JHð¼`'Mˆî™ÓùƒbçP JKÒÃ3J_1Ôƒ‡ÁtŠzv@ÿ?Ç€–Q;ç¤àŸlÖ1RÐÀ -(!Ô÷œ@¤~¯ýàÛÍŒ£¯ñæn€¬šÈ}îå¾ì9Õú§}-XmÁ†ÁU}ô¨:ÕšškKív¹AÌüë(ø£påÁÑ€7è­ÑYÍ¥’É÷JÉõfÒ6ÝCL¯§nüÇã¨òd„ý?Vãwï^¹‚ÍÀE¢mßÙæ¿sQȬÀÍ‹|Ð'{ £õì'M÷Ö«›¥’½î‹Ú ©œ2ÍRÓ6¼Þ‡¨ºóyÃK4ÿ ±KR4ÄŠ˜4‘ÏcSð@·ÁÈÙ7rþ¦i‘‹PYŸõ5ÁÿK-²›”òå(‘øÔŠnÇYŸëó¥QÄ5U©ñî?¬è;ß4¤þ)Q¯O nÿ’‚ÁÂ}د@!G].Ø:@òÒ%oß»¼¼£o÷PÐP·+Á‰•¾ªKØ [ ;±-ÐÎkg‡dÌi»–F Ü<ä `£@ÉAEE K ˆ*¶ú•²!ºh—Û‡•,‰ ` ±–"åTîy•°ÅX·7€N :cÑ»¥Rý^¡âÏzÖ·ÂÖg…øÿdøKa@˜ÿï“@q(S܆A¾X9‚ »ò;ý%Ð;ýhf›AA<ÞžšÀã‘Å Çñ‡;,ïÄÇÖ–ã ,ÎŒ,3°R^x^|.{@aòW7;“uzÏÿLlÉ΀«´}Íôö ¢Ãóàýç!çê³Å&×0é±xú'´œ›3ápþüú}dŒÙO3z`vc"T{pÛÝ[\¸–ùbaáý…kŸÞ â}#7ü¡tZÛ]­¥kš¦v¥]Øþú––’ëþKëÉï 5tmݰ ÊL¢ñhúke€ÏO†Á¼Ecüë°÷ý.+ít°†ô?Øÿ~¶¶õLý¸âoëÙÖÚέ-ˆød€]‡ @€ÿöÑö[?yÞü×ÉG/8Ü»:‚wÏëÛêYŸ]:;€sâ}º]!1p€\0 -ĺž6ëV ­Þq Û_±GÈÏVÙ3ýòˆ¾lpðý|D­<_àÏcsC úAØÙÇíµ 8 -Hï «?ž‹‡„û/'\AaC)!WG®j½·€°ú -•GU”WOV}v”ïW«ÿD } vZµJhà”U)=U >ï$²gးŸÕ 7­^âã›7]Á>æ|¯Ÿàu.$€ABp -à<@Ñ®‹DŸºHôã¡tˆŠŽÆÐXýãm3ë„à¸è]P8 gƒH#‰à ݘvÿ˜E$¨÷ö‰¿ð–§ý0Ìmç ùl?¥-2@uªÚb_ î_¶UUƒ  "PrM«ruz®­ökÓSÕ¾öh²]mµú l®öë Ô-2Þìt^NŽ·Ûs¥di~¨”šw»‡Ö]\¿™úh+ÿ—(ô‘&LãýN{î£äz›4ÏSþÏ+¸è\=3àÃÿÍQ‡"¸¹º:ÚiI:È~%³É^›~ÿÌrÿìæ‹õûïj(‘\¾éÎ¥’å *˜nÛM;¢7ÝîJÔhÄç‡r)úÄ ÷éNzrec1oT*¬ç×u_Ù4mŸ-ëùEÝ'1ðàƒE>Â|Ø1Â>E©W`õÖDÆOü>¥á+CÈ.F7"” LI a±ùWÃû"¨ÝÉ 7íìyN MéA`e]û –“ -[>%öï9À9סìx*:úО ‡Ñ94‡<9^ÒºžÓ°Z$kÀO¯R!<À~€^¯¶<0ÿ+ò°?à]W•B< “°{é’Ÿ1MH;`u‹§]¡|gGš/‹'+'GHñ9b;dû±•mÈøb´è'þ?ëóOŠ´ `µå°ˆs’²/"! kÿXÁ½ÄH @^€ObÃ_1pô#|8ƒ7Ø &À1_Ï“&€ÕÿÅ Ë;Ç;c#·ÇFF–gÊår¤hÚÿu·ð¼°ÚÛÌŽþjô%vSo@€?àQ·ë´í´ЈÊÀ¾37`Ug :þ7ÈòYùçwC_†«º¼þSXÿ.ߢÚÿ?ô Ãa0;–ÑC³¬a7Òi;ÝXåïdîe®Ý¸vï‹k™/2¶ž™MÛ³qãRÚW`à¾VÓ‚…hº`ø“¾h2Éê¾y%ù}L®&ýë¶ð5ÓÑ´¡èÑ Œ~» -`˜TžÐ.àú³[·¾K)Â5žNÏÖˆúwásÖí¬]'òÿ3pa LÜ@ðûm~Ÿéžç5 %ÉFžW|Öõ÷û$ÐcGsl:FûBi—(œIþ²Áï`*O<¹ Ó)'ÈöבðA€@ .éçS„¬ë~µÚÓ\.×ý Å`ß¿ Õÿ Hˆ¼„ȹo°vàú<ÇÆ?ûæž"{NÜDZÁ€¦à( xzðÙÔ¿~.z°@¤ƒ,÷¦e@A4ùPþñöŸ]þã£DhAYë¯öµ·Èzá0âI xÊÂêÆI„À °_åÝ¿Š%¿f…«ÒÜÔ©‡á€)EŸ›žÒªöÝiˆØ ú„áú£ýÍÑ~“ÛøÁì÷îd{<™Lº‡JþT)•r²æ–ÜCCOÛ¬èó —/‰Ànþ²íO~0'øxñâÅÑpôüEÈ @ V@u;d—æÑžßiÚ¬óÏGL·÷Ñôæ1¥¡ØÑœYö6_@ùK‘†Ò0ÜIs=ÐtÏo0„qß3MˆýQü‡†¼Þ|(_öE*•ª"5~ÝW‰ÀØ0îõIº^©¢€Kª¦ ³gÍu8òÐ)W¢ Vaúʯ²‹ Ö)QµÂ¾¢ØÑðE|`„Næ1ÁˆhU…‰Ÿpòã¡+=ŠÀ!7,Ì„ä®*yºßóž°qƒg _Äözœúï8»ÓD–4iôÏ×%~°îq#aO÷9Xüš\ {J„+RØãQ|á(”.²~Ø•ôYOWñ¡Ô7ôe‡0L$DävUÑp2zwQ€_~¹ò·+‡'ìüƒÃOÓûáÃáØÑßH@Lý÷ˆHJn ‚àð -õÿ‡E -¾àhÖ˜ù¯0<@#ÌF·Á`w¼ [`rÚ<€™ãò…24‹”8³¼HÀ‘å‘OGÊ#‘Ùñ¼n<ý¡ôtê//þÅÅ_½| õq×ÃÕðàžK.Ù_ƾ̊P­V jœ¨ Àˆõ󯣴Ô¨¬3éU~Xð€àÊ‚@P€aÑ¢,?ÿ¶~×CñdÒ‹Fawvvc*_»_ xíý{ïgî-\6ÆB»³yø´‘f@Þ-´Z%Þ{Ɉ^Jþ×õГÉïè¿’¼dú?¶Ïö±æ_šMGõYã·³ÿõKrÿ?¸N&;k”íóøñÁÀ…ƒ[[”ü˜bÿ\°uëÙõ­ëkt‹{9A@¿ è`óÿ·ê?ïõšÜüVQï7©ä¯‚FFµŸê½žÝÜt¢vYavÑ @A¹ohÎÃ'x0àM<)èß>¯›ÅØ€IV]W{Vð¦+´êbtÍØ÷ØùÎòz ôç3… CûÿµIg-8AƒÙ€*$Îi²Ž M¸ÀÑÒ%mk(Dù‡ø?8ˆ8æûNwÔ4ÚáÃÊà-N+XѪÜ÷eâ¤À°Ü÷OYÕ¯WÉP…ÁUVÔé‚ ¨úÈ577>7þHS³ãw'§'_¶‚hYQö30PȢ·'Û“ Þ&‡’ëëÉ&øs¥¡!÷ÐG¤ó#£Ÿ—;X@89÷ŸžN·;-l¾9¸è°ß›\ H£€þ 2¸3•¢F9¢G#eḀ̃ܦ™WÊ¥fÀÐu -rÞ|ÓÈ啨׬4sêØF$çN™/é\)£/”÷¤íŸ¿ãv›^[Ø~=RŽ¢Öùrn›U÷JÜ›¯Tði©úÀ€ç/û(š¨ç}Ý44Wú±#-ñç)"IR†þ ÓÃqO’  `…ÅWæÉÁÀ——ëÈÞ×â3{±\gßI!£.ßî‹"ÑÄ,tþ´‘§ø- ¹4 Ã|Π,Švg7Á"ÿ`ß/ Ë0]RÅŸ´4ƒèu%…•þ -ëþaŒø±ˆP4š7 {Q_Q6&EÂÅwEûòä5$ÅC´ÿ1b4 -ˆ’É©þhp¸·rBæ'{B°rTä~ÀÅØ -¢öWh‹ƒÀð”¼ö³ÊOÅžÀ¸L€#<9^<æ„@âÇ;€ñÙP<4 ÍFeãþäÇÿe²³ùrôâËþŠa€I­”!ˆÿC[’¢µŸ• ]©Vàì¿}L kµÝÝšÜóhp~ý/€Ì‰礃šæP …çßÊÓï,ôùBWCF ÿéíôl¼ ‹éû†¡Ä/éŸffÿ:sõg ÷¾¸—YX—Ci=nþ|€Â.²£éèÄú’-Ù—˜úà;Éä•LÒÏ:#´ÚH7Œ‚ž–6 öÕ¿ý˜œ‘$bÆúÿg<€5þŸÁ%àÖšcõOÖ@¬çÇl`|·Ø×q Ïgžü~.€4g¶9½žp½zM2£žDyf$!¸ýoÔyìÂ3ÝÎ6³›T@;‰NB°îÏéÿÎÈbÎ÷ˆÑ½ÓÀŸµóÙó&ÿ°íYe¸â¾ËU÷x‚ßte­>‡ ‡»Ï oÖqL$–_"qî.E"@P˜3?lôo@Îsÿºýs²…±ÿ¯×R± ÖŸÓ ÄÀù†˜ÿóâïÄ:YAB¹Èê?—.¾-Ü,Ev-îŒ:+,D€Cª -†>» öe©Ïn©Uææ>jOµï¶ƒ}Õ5îzÔnw:u!þ'#¾~½.&d0Ž!—;µž‚pÈÌ͹K¥§ã˜ûw»_ôüÎ܇W¦§Û|á®ÌoŸtœ€}ž -L—ëÙ)IV+ˆæƒØî¡7g6sé²·dÛëMsÞò–ÓÞ”a7óy#"!ïÞ´½¹¡Ò/Í -+ùÞŸF ß?»s©dÓ{ƒ¡sÑ@¶ÛÔ¬ã5!Sÿ¤¢(’χò­T‰A!U@ÉcÇEE -+ F5E7>¡c'ñúŒjOõ½³ýD÷Y "ñ¤Aþ£<åòÝ;eõRxŸ‡:}ÈñÔ.±ëàÍKÞ¾]¾1õ\ 0XÜÜG&JZVþ @>ÆÁhû‘HbÂO*°`uD‘W¼ðSÈ ‹@B{2\iD"œ†¢ZItÙW£8C‡*dgÐí¾»ÏÜC}ïèLücÐð­ü(&|€àûÃE”\$Ó •½Ã"ø &Ààbòtx´× ùß0ƒÄ€(àˆf޶fÛ3Ã(ýÇOØËöâöÌÌ…2Oið`ä§³ÿçå«ÙÀÓLWnNüä'?ùÕ¯.^½ÈÀ';íê”&S,îë?$à€ZM)H°›«Õ¨ù×4‚²¼«u»5"ðY¿á`‘] ükÞ‚N@µŸ¸ßÒòÿ?lß,_,¤õ±Â®n¤ F¨¶¸°øéíÙ×B÷¾¿ðƒ/®]»b·H?˜56üv4M P ÒHZZWüÉ¥ýþ¥¹,]ñ'¯ùý~;š°±þ¯ééÝÆ×åùù…ëÏžxy>zåþ{(ö›!7y{l²N²Ž%zÖ)·¼x& -NT_áœ=Ïœ‘»Sè)þ×gÚ—»g n³ïr³7³OÂõñͬfÕ]¼ög¤zîßãÐñÄ7™€ƒüag®Oé?«u‡ä¦D Áº¶ÉïËý˜<;€Õ ÜbH ¸ã ûFDÿ+$(—ˆ¢XàGáµ_Ñà? -o9†žž†ÕC6ó|OÖjâß¿ßgÅe€Õý>Ù#'¿Îjzzü£q©:Å:uUk»:®v§ÚÊöû«–…²Œ@¤óp_€É¤?•r—xÏ=Ī¿¶ À ¨Ã+{‹€—“É¥õõñÎYÛÿòØ=|Ø ¶Füª`ÖûY5öE‘hCQ"•rþaÞÖí¼i6{Ë»²¶ý…»I–@ÞŠ“ó%ÛŸ/™Í€{È=d2nš)ÓNÙf&£_S–ÍÒ¢žF ¿ù„ÕñÆWþ²¤…5Ee…–ÕF©¦´,•+’â«LE+R£œV¬ÓšSÕ©š+$¯‡%I©0x‚æ' KýZ˜`Ø>¯ÿÜ”ŸÒùõœ¦h]nŒ•û…EÔkX¶?Š êßå!ïHãál€ÞEËCfÅÓõX€ìe¿d(ª„Ã]z EÊ#;….±b8 Ý®¤GQÈè!ˆ=#H 3@ÊÀà]mXý?9¡€ØÊ`ÀŠÿðÞ†žÄ†aí_Þã”xrˆÀ•×1ÈÉxå¬OŽx4 +ûG+‡{G  èè Uü2¦úOX€}9Àñ‘“ À—å™mŠ^|²83;;{yâ²ñÁÜWæ@)i¦§³“ñ¿úÕ/þð‡˜t\®©©ŠRüòõ©þ«JMJï¦ÓÕZmŸC€}RìÊ=& ߈ÞàEDkr­6ÿkƒêOu¿Ë÷žÿ8àmÌfl8~jDBéÂ=}?mK‘…üØÂƒ{ —¿ @æ‹«†~5½q9ž¶3Ñ]j÷ ìÄÀÆúÒUÉ^ZB ÿ;$ý¦ß62;Õ >£ —¿ÓÀëÏ®P 0<¸`KTxö¶¶FÙ€[×·PýÐ×ó Àïåˆj£ñ™sp%ƒýYôeB -‚„ê¦üu*ð››}kp4çn.uŽ -êNÞË&-Dõdø‰îDìod”Ï#š|îÆ]Áñð½ÏtÎü|yÓ¨° "F8‘­'ê–¸ÉîjUë$Ä÷t¤‰ÐpÀΧ»çÌ>Ô^Ê>·Éw2€³ç×BCP§˜à¾@(ÐhbjPwP|²Z‚¯è²ãDÌ€¬˜ 8QZÐ1-.&¼mÐ+bæÏcß©AÄЙ&ÆšÊj> TB`þ)û$D‚ŸŒOO»æ\’¦¹Úm×£V«=7þHm¶²ô…ö¯Þ·êÂáŸÕwW›ÝÂ^O±Ö¿4OÖyîyw*uÃ}eq¿¢Ô·6iðòeû?-%/=E `G´úψþçô€›‚Àíû|Š ‰?%vêkŸLG#¬X¯ÛQ%RŽêzÃÖͼw(—j6mÓ[6Œ\É4½¶×H—Õ˜R²õ %ï6Ù•¡xÊ(¥ A@Í­Gš Fd1nDgmÛoûX¯D Ý6uÕñîw$Vápc¢¢G¢¬lKŸî«Y²$©àLa@&zäÿVPÿÃJÃGF -™þñ`ö[Ù'i zæP<…Iûuá°Ü%3jêTðü4±' NžoüѧƒêÏ-O­"M<ƒëE€…b~;à °Í@®ß+ÔížÅ¥>-ª•WE²ÞŸ/ºJC G_E`ôÓ•QÿAPI¡Á aü‡•ÃSÑÿùn6¯¿ ?dü¬›¦(ߨ<ý†á r ÅA*p² xMsLŽà€7öå¬úƒý7¼. A€­ý±8âÍÿöñˆ @zÀcñ†sÖýÏ<)?¸YŒÌ>øéßO|0=þ÷sݽòô—v:póéøO²££¬úÿð/þêW¼è¸ -¢î @ïFäâýZMÚn¤wwkµÕþ^ÀÀ؆D|ÖoÈ5m°õ—ÏÌ€äA»‡¯úlãòÆlærÀ°Ccväjz×Ç:öth·±0;¶°øþ‚½ð³{ï/,dîe }$íËϦ z7ˆñ?NQLJÉÿXZúð’ÿ;ÉD ;Md #ïKûÒc×gä; ÷·Oh@ ò¸ ŠýÏÙ‡¬÷ÿìñ÷0íÇH¾@ lÑøÿ`‹ìõ1bÌ|N.@¿Ç“ç$Ûar€Ó*zP‹¬û84à[ñÕàæ¹Ó¬îA– írN௜T×qfå´' €.çÄñ9]ý™%ß9ÍʳgÃΠO 01 ™ §·êúØu3aõ1àlÃàÀ§p¸ƒÒ^¤S@hÿÏÈýgÑ@ü¾¸!Åþfm€ãP'ašökÜÛB‹NXåCP¨ƒ€ hþeZÿÅÜï³…·€íÇ8ˆŸ²ºoaˆ+q2€çõ¿¬j4ø×´VKcH—Õ©¹é)UÅ[˜uþíñ)µ37>=ùfÀ-Òàw6-ŽRÎO«åjUäÜ&¼ó‡††Üó$\oó)ÁKêòù€¯,¥–’“Üý—´³VÿŒ°yÎ"€Æ>…;‰” ö”¢‘J4²nû#¬¾6t;Šþßë5sfÀxa¾°×#ù”7—²F<]1X«o7Ñ’i›C&¼>çM¯û†Rq{Ýô¯ëæüPžÁ ì¼þ8Mí_éoÉøˆ^æ1+ž¬q×+Qýaž:û†.Adv€ÆnVC­TˆôVAþ «‡>©‘ôò*öj˜ˆJO‹‘¤ªâ æÎ€²ÊõöùÌ>nø+€Hÿ#~Qr@O°vĪgpsÇAÆRÒ?¸2¸òJ’eì-²D¿D8Y°(K‘ -ÞyŠò==özȾ+sQ‡WUˆSï 0É_9Dß €põV0ºgAÒ›üO€À$õßëCJ(88ø#C•ÿˆëȨ,Ä€eŽ@ÀëÌÑñðv㘲fÊ4Xް<˜õýý£éÿkznüîÜŸüâOž®ÛöÄÇw2ù¿ú?ü!¿èÜíÌ=ºüÓüJ÷õëÇàù‚Ñ¿ÊÊ¿Ä*;MÀê> ½zö5 ‹Ksöúç €¦— Z²æX Š€ÌÀÏÿ£LØé§Ÿ†Æåx&3 -i=}ÿ~(­dB# ‹™—¯}ñý……÷3 †Á:#ŸN›FA­ »öÊžû ÖýWŒ¡?K^ZgíÎöû/]2ý& ›•ÿûÑ|:ʾÉìoßÜ>ù9ý@€íïãÇÀƒ5"²BÿìÍÿáp@d ¸EÕŸ8€k;×—9€ßË0Áygè¥Qýƒ¢C¥•ÛÜ‚Wwæü›ƒ|÷KŒø;¾ `¯^ü‰Nb½{Þd?áÿ“#.•Ï‚ðæ :êýÄùó‚Ë%h€‡ÞR†®kÕc%\7ofûZÖ%:n‡ ', -p8–ÂÙa€˜8Í~ý  \[Ï&‚ƒ€Á, êYgŒQ6ÀuíL!àLسX?ËÈ!˜8÷ݳ MtÿìÖ…à@îÀŸ‹B¢ð@÷ôPòEp„Fˆ'†ØÜ æ”·þUÈàÔjåÏ@û_¯>rõåSµªöµéöT«ÓªVÕ©v«ÕÉb €úûr´ŽUÀfk3Hs€V¶5X'GžKnw2ç~oÞdu€7µ>w¸Øÿ0ùa²ÝÚth”ÀíÏSÿÎ!Gú»éÃ2’bˆAèoާ*Ñ(²y¼¬—”èbDßðšmoÎý¢Ñh˜ˆ -´Ý¹¨ÒPC7즙ÊýÒ6×í”Û (‘Ò»IQÐ1´Ç÷ĸ¿è´ö|îO ö[åÛþ.-øUq,/è∠& Mº @¯G#¥†{V%| -ZÁ'R˜\Tò’ÂBVì-b†Eä:(3èðœn ÿ0qZä.ÀÝâ—ïªþs ëàT>Œýèp›}x4üw\°ûÖú{1"ý£Ðb÷ÏûþâI1v²ÇpA jA$ñ‡¬Ó'- ùo7Ž˜ÿ7¶€ˆàí'¬óoˆ”@ŽË3vš©üôL<šžn·ïŽß½{÷OŸÞ´×ïÞýÉ_üÅ?þŠUÿ‹4x9ÙyÙŸð ßXÁ& ÷üã’ï>‰5 »éôÆX5Þþ³ÊŽóñµ}¡ôXoÎd­V 9À€ÿ0 ¤tûÿ0à²a,f…ÆB•1c7ý`·°{Ù¨…â·C¡Ÿ…2÷n\»·Y¸Çj¸‘ÖgÓéP¾PЂ5”ÿBÚ·‘¶¯-E'––>\Zÿ³$éK˜°;4ì´ÑHW¾Î -på l®àú³­Çß}üÙ­ƒêöŸ=; ’?%ïÀüŸÒ¨æ£û‡?À7Ü à“ÃÃßÏ\g4§áíth;!*yÁú`ñ?º™ulÞ6.uq˜Ðá=Û霹îœu³A'„O;CTI-W 3zhþ]ÄHˆŒ€ÍJY ÂFßÅVAx­ZÁî {9{5U;ï=\8ïíãÐüÏQü‚NXh×ãàzÖ rL4ž@¤@ñž(ƒuQíñm5Úîb @jQþ9¸ávÁôDbò퀕«JDX¼bÖhÓKG€~SDýGB«B§UI -kª$UU×Ü£j¶Õªjšêj»:¬×V[b£ÓÁo´ÜìtÚjµÕ’©’=g³:šÊ¹çKë©ÒÐz‡ùr€“É—>œE·ñlM´¹)\€.¾IþÌ8±ÔêS^0Àè”Ò0 VÜïøl#¢ÀlŸ¡ý¡oCzÝÞh3e2p–”ˆa›>#`»JlÛ~ÏmŠw~Þm›¥ ¨û›nö°}•´n¦ôÈ„±ˆ¼ª4|¬ˆKªjÁ'·‚^_’4RíEL£‡ é_>Bš5UaÉW£¨>U“•Še ?+©åJ…Á Vü£ b‚ “Ïþ!…ÆêÖ¡D>;äÖÔ¥Í>Ê{ßCn€èàÃÄäë’°'ÄØa‹Býá3—‡ãÍjxOxÔ‹õ"À̯œŸiį|¢v)ðEv<…zð2 -“pQER}w°{0Dˆ@\…p— ðön(ÿþšLWh}Æ-<«õÃÃ?bÅ–€ö‰ CH1€˜ĈpBa@"ijö~D±€{ð`8Ö`¿# êþW |µ}ÔÀàLx£óeÖüû"|‹|ÿ÷£éÎd{rròîÝ?ùÅŸüä¬üÿã \ü!– ´§§ÿÞ¸¬Çc'€¯ÿ#ö÷Y«î¦Åi7Z¨Õ¸* P¨aɯ!oƒa [Ö¹!€¥ñ¡h'XŽзWð»€ÙüeÛw›Àˆ?:›ŸJëS»÷PmÖŒ -põýŸ][øÁµO¿ÈúìîƒÐîTÞ_Às @a7­OØÉïl¤ðŸ“K?[ºòä•ä5Óï7'Bë†ÏPÒÑYš| «þ ŸS‰om=Û¹ðsˆý©ÔCð·Fî?k×oPÝ?àæ$ €ò¿L.@±ßÓXxôëÍ™~kçôí‚Ô†i~õ„›ÙÍßðwq&œÑUwæõQ!þK­½è‘ÎÒ’OâlØFËçšÀs¦¹oœ8™"qŸd7?fï-Í•8¯4 åð¬°g‘Bѱg5=(–üÁú Âó) PüÏÔ¹NÀ‰r&ìI`RÃ`p•ª|=¡eµAì `:Ê@A2 ’;pÁ%,4o`áÄ®yËïŽõi¾—w…\å¢"ýR¨_&€u°´*kûÙYãAXeØ ÓÒN5þv‚­ŽäÁ³€ú?±ƒÝdÛ59÷”aÜ’ýA³äN•JóX %Ç;¹ ˜páÿäÉ¥¥¹ÚýÎÅ7þTœ ÀæÀHìø_‹Å^…¸Dªªøì‰J$ÃÚ{Û(GÔQòyëá)m°Êì.ÿs”Õ½äÊ5mw3¯7óCî¡!·­«¡¡y;åþDQ+‘rÒΙ U¤Å¸¡7S%}U#¿…?<~+5 ØGdá÷ÀTŸÒiÀ[(°¢û¢•JM%¹ {( 2H _¥A“˜è„÷éù?Û±†ÉXÈ4… ì!g?2?_†ó/˜wV—þ‚Ø÷ÿ‘÷þ¡mÝi¾°±oÀ®y×¥;‡Œ¥%“hÎÝZp›Aƒ„¬ˆ#KPEC«"TW`Éê•lÁqWˆh±Å‹çõ,•yx½q!…‹–kL!YÈü7#Ä:ò?Áeâë’¾wVùã}>Ï÷Ù™éng¶™?.õOY¿-Ëz>Ïó|~œš»~'wõ|0¢œ…´˜TÁGf4 ƒ˜9LNJây½}L$E”MgÈpyËt¿–U`——cß$ ‚ˆ—Õ¢<ˆˆ$àrµÜ/¿’ Àóo¾yÂ1@«]öôíPËo?¼ü`Õþ9­Š)À!'üÂp῜ p´ZfIÀ“2;Ïãt‰Ëb €7¡%´wínü½*tMû ÿóN€VÁÔ@èU½ ïêò§ËŸº}z!}ýøã¦÷¿úèã~çgï<ãùÿ8!€ã·žõž˜Ù›—¯êÑDsîèIÿ¹µø‹“Ö%jÿé€t€Ê¿àT6””rþ¹ÄUž5‚Nåœ5pS† , àQŠ€? @z÷³æ%Æ®Å!Ø÷—vÔi—š[ÉE™ó,üraaáFî§W4Uͪ¡ƒ’¢6€_³¥lVÛH¯ûcÌXúyð”ç*&)-tkª&i1Uû÷'P<"€‡÷·8à±0dàA€{ÔþAŸ±óxû'..ôûÿ›¼8üž€GùMŒ„ žÉe·”ù%Á~£²5Š÷Q1ÍÝäóàLÀ?F¹¯î%ó=Ó`çe×?ª˜%S`JåÏÀ䙟¿`”ÎÀXü%ºËƒ{üP០Øní$JØ4û±ÔyKà7ŒþÚûþŠ»Ó8P$~áüðJ†›†à å‡VÆ– À9{äù™ëÿFà\ôù`€XBðqÀ–ñ%¡PXŒ( ’ÿÑKé骷É%»âS3¹Åy*ܽý0L€N‘ï;®µÎôµ3쟰ù&fgg&dk+ƒHk¯×jaÞOgmqe´¼:œ€Ú¶‰‰ùùµTem> ®¥©à.Œ¼çH3àX< Æ-%à|*µ4ß;'úûK@±;:'Ä—Þæ¦y“á:¯êõš+K½U*PwŸ™ÞתrÌUÍTcЮ»$u1óÛâ]ÃUݨ§‹ÓŽÊ~z£Pt,:Óªê­:þ´cÄírùü~MÝ• Žî5d}ß±¸Kµ[ àõ¾ Öþ˜ØÇ–KÞˆ®z]1]o¦‹jzZŠÀÀ¸«Þ-RIE(€ €v *P@—âäàˆÿ+wˆ`?Œ—Ür˜÷¨ìeá-Œ×f8Oâ¤Gg¶?à -8E0 Û›¯å}±*À€Çù}KÀu“"Å0ܧæå<‚Õ:üòYÂÀd_qº¦9"8"yTÞXè~%YŠp^!ˆŠÂ£˜9 «§¯NÈõÿù!3;¬\Ý6Ãí#Š?Ñ„€ŽL0à›CV¬Št@°žÄã—¡äO„ÀØÎl@{³‹X`ª÷ñ&ÆÿôIe¿kðuû«*&º‹ºÝ{ÿãîáI ,l>þ«™Ÿ½ó `ôÙ[ǽwL¸¯È»+…±¹•£ÕçÏŸŸüÛ_šHÏïºÁ#÷ÆAöà@*q­ç¡~xÝ€1 ¸jèó1P„ÔOlØH€‹™é-æ üï[ÿÿ|€¦E? ]ñ‡Bc¹ƒèX2–Ý)•Ô¤çc¹ÝŸÞÝøåsoB îF³r([Úm`¿R:8È–Üšßs]›]ºIy¦–ÞXú‰'8åI{‚~-¨ÉZq]ÍÊ}¨ÿ¸hFap›)pF½ßB©¿÷øöÃûÂüÿÎMêõ©ôÿâ6Ô÷°ð–HA@O¾_à×-oѾ -Cz¬%1ïõò=ªÿ=v1·þ›< -Ø´ @>¿)<DÅk0E^aѼÉ2@{Ž9ìïHZ[QÄKC@€ ÀÎy`ÉdÓÕë¬î·ÕÓõäG6[ž@Ïröµ2†ßj䯜%ýž±ýóf¦Ÿyº@>~£@ÀÜ4Îòóç®\ ë¦wÝEl;ø’=k€_ÞB6býϺ<àÉ€ü‡ÍT‘Àœ ¾Fاœ:oF2(TÑpù› ”ÓþÀë= »Z³{~[m0Ûö†O•V»å­µzµüh‹ªy}PßDfo TÎ^£Ñê·{¶öÄ„/åɃ#ïeÜVF~ZIo6 5¾gFûõÚkS™/{-³û‡àœÀèÐöïƒ:¸aØIÁ‹ eóû‚ªìR§÷¯=Á ¶¬‰»éýLÆßtéEìê%í`±jHz1]YKÓá¢LÇ: Çë©ýÌbBÖµµŒL ¾äß—©"Æt9¡Ét¬ú©Ê‹VöS­tz©Œïò‘A¹©«ÕÝh°(ÿOp@—¥e &5ÿ„Ad87¦‘€‹u^ï‘Óˉ€(ÿkü ¬Ñ™× Oµv¤íˆá=NNR¸¬OZ¾Àðí‚È¡¦ð¤/šÿ¾ðàößI8#bPõ&TaDP½ ›GN!ý¿†0cMB–`D‚ä 6]²ËŸba@Íù÷àÀi² ¹ÃPøJê?(ã¨ôH< À~ˆÃP±ÇöÏ8ð°Üáó™™VˆÚÿÖA]:Ó‹xG°ýÿÿÜ›sXPÏßìv›ö¦I „Mªÿ‡UUURÝŸº÷Üíß!ɺwLࣙž ðÎññ°þ?{ëÙø;ã3Ï>Þó-ïjzA/TW -…Ã2ïþ²\€IÐK1÷ÎF6»“¥ò€ð˜¤?~Së%”øä—Vœ÷'Nêï°/Neàüá¤å0 S¯e L•’ÙÐAìƒÐX0ºðf(÷›_æ>[˜ÚPUY%½’¦Ç¹Tš=ÈÒ‡¦i¹ëi#ó£Ÿ\My.¤–Þð¤¦rkOZó¤74MÚÝ‹röß[<‡ÿÏmÁ¼yûÞk°dÀ‡„¨ÕÿÅ– röÆÿ·Mæß=>ŒaÀv9‡«ßóŸRxãpEΛ‚4!ÈS†Ò÷¤¨þPqÝìZê+ÒÅ -s9çëÆ‡-0 °wÖ~Ÿ%ÿ{t6ïOZJ›ˆý³ÖaÿGµ3sÌù3ó‚» -À­|ý¤ž¼…@8iºŸEõ é|I í »ÿ|`˜`Þ»ÆKFÅ+#X4þÀ0ÒÐÌþm4Î.–fª‹QŠ9È×éÞü¹ùÿY–ð<Þ{–r p~ ðýñNúTþ!0eŒúNåh€J>½MžÒ«ÃG„Oï„,àÙYß¼¯æ­ùfg[ûëµmí½õFa4Ú³ìxð3â€Û3mÛ—ˆvŒŒTRÁE.jÑ?~?€ñWy6{mÿÕÔ|Ëtû¹ôóàÌ;âŒÐË#þʃ€F£·§©Á}wsߟ5µ`6>’ZTƒ™ÅL5V¹\O7¨ ëéÅ XúPkïOûÔçSÙMŒׂÁ¢ -f2Etÿ±é)µé®Èü1¼ŠÒ,ìJ<¥—¸‘§’­ËF a¿n·šÇÐQùð®KtórÌ%U³œ¨è… kY‚NPÕ՘Ş¿GÞˆ©þGA÷š‘@|¤“¼Å ræ@ø³ï_vŠ«C|°³+ôèßÃVP+Xó‡r_ž焸†À”arÆÆ“Þe£æŠˆ¬B¶@ntA„$ÝE5ÞÐéA‹ˆÈ`˜Jâ]ü Ñ3 Dþä7Ï_X}²ú¤ƒÂ~ïØ?ïò¨Ÿÿ‡OŠ@\h>ïvì« ÷=é²qg"€ƒèñϱ@è¬2 PøRÿߤ.ÿ0€½Ûòÿ¦½º½Ç€Þ¶_` °½M§ÎÙçš_ÝMÜMdÝ~·ïÚÚ„io}|Ìd€cØY1À[ÇÏè}fb¿¬ë‰êJóRuL‹¯šà/789q–œR)›½%X±’Dïè3ïr(üg¸Ï¶µ¨ôGVpÀÐA‚ŽàSØBH¾Ã?¤ úc×üšçҥ܆<Æ ” e×s—ÆBÅŸx®}òË„n,hê®J'”JÅt I€%œ—J{:u!(M]_J-½}=õæ’ÇSñ¬ANËšv k±œÝpg¿õæŸÜ¿y{ë!(7·ß»÷‹Ûp‚áÏCN¾wïÎcKÿ·uóöÍ›X -°pë&WÿÛ÷Pþï0˜ûÞpJÂ/`ºÖrÇÊ¥J±Ø$/ó{¬è롪'¹yKø²2ÐÚ ‹¬ ãaó0ege0o…ääÿ`0dß•ò– }|‰'@h› œ„“·x`ºýÔó"¤Çœ­úóçGú,tb«:+çÃAsŽÐXk€Æ™7—|%oRØ:w!_Ï+IÆù†ð9ÈóÐÂ2fDcþBBÜÀ3Òp(RJþ‡¯¦‘Èj_~žñž©ÅQÿEÚ÷ílk’$-ûlRÍ7?[›mÏûæ'fZµZ«·7ƒ®'O(ÀœÊ·˜8Úha#Ú›˜±]YÚ÷P5MMƒo†ðû×æÛ£È :>@3ê¯Õó­}9ÑÃÿññ3 ùÜ8ƒ£Í†YúÍçKÃÌú‘Æ ¾Ùr»›Zj_–CÂÖTÿG*¿Ö´5µš^¬¨zzÙÙ½M­8­ºæŠ¨ÅJ:XYLéèWUÇß:è_‘Z9˜ÃÊ¿ª9¯ë)Jµ$S‘G˜o¢¨rå4嘤§©¸Ë˪*ÉǯƒA¹î?Ê¥«ºŒZLiê1}ùKƒ&h€MŽ@›1FXù'1*Âa*`„;~S.@5—“yy0úë{9Ñö@'"Z>ÀÎ2vö+P„µõE¬0t'"Ð)–'ˆ`P ¼`ó…w—#ý“I‰eˆB%N× -­´þOAQ°¤Z|ñª&OúR$":ÏØ‚K€—ÏûÏ_Au =ìW¹óG@ç]”nûeªâ86@Ï;²íÿ!Ûã½CÆð`u˜¼ú„@@ü2RAÿ§Ïwí]¸ÿ±%pÃÿxu›§ýÍín¼Ùä Á¡P -> wÕjáî´¬ÙÜmŸo®ŽGg „=6‘ìæü3'ÜWf£Õ¹æÊvBŸ›+ÌEž?ÿK“³T¸³î[ÙÒÁ‚iK0v)¦ûpŃ2Ok]4ûbIp–'1I-éà<PÂ?0€ €g,”ÛÐC T$KÙbv=ôaˆŽúqðÚ›¿ù$÷ã…Ü‚¶A š.•äôuÈÐÌféÅȳ”2<×—¦Ržë©7–Rž)X~šö0(!Uvol|«xû |€n@¿‡ ÀmÖÞ$4pûµÛ·ß¸xóæý-:ýÎí_lÝ»sgëÁˆq̨Ì(àïåhªLûaoœ·Tú ÑŸ³ ÿKo„Ë¿w¾û·¤€CÐÅ qÖL³ÃM ð 8ǹgãÜ¡7~Àâй?"8:wÈ䫪×tžú­dýdN@Ij·-ï!QôÍHÞ—FÿJàŒûo)ç)zÊù€9$È[kúy“7+œ`ÈÀG’PG=ÃD‚Añ0&M Î'Œ¬_cG—B Ƀ²&a¯¯1¯T]æŒ@ Q}Ëò{—ôÔp …ÛO™óErÛø!†5ìdö{øbùßÇß±ʪ,¨WÊ<,`|ç4ü>ú‡¯í]Ï4¿ÉIêÚO©x%äû -"!5‚ -N û .IxÒ/!K»š«üÔ`±Î"aH€Û;9ù=¶LTýáøj ñsQ‡zÿËq^õSo§¶x€Jý?`ú¥þ!ãMÀ!ëÿ9³€ ãÌä Â!®.ŽÂÖNX5q¸Ù­â€Þ­ -6Àœìp˜{ñUuEUÝšÛíKNØÚH¹4]®p0V쳆S€:ži¿-G Tû›+s+XÌâ«Ï¿ù /œZi}'+8€Riý ÄëüðAéH)Iþ¬= €©P†„À˪6†ì#ðè®äB~ÿµ±¬5*êÔÛkêzbáR(Z˜º¶ðÓ]à êVw5@¶è t@gΪ~-µôfvþúÒ™·¯/¥Þ¼êÉL…€Òž MÍÆ®HÓ»ê†[þÖ›ïÜxg‹¯Á+ÿ‡©µŠ,î<ÜâÆÿ6ÿA¼¹…Q67á°r‘]€úßsð.8T”,~ÒtÅ7 ây Lôzù33÷s|¯Í—gxé79ó¸t/™· ÷›³éüpR/Xÿ¦È¸ì7-Dûo¦æî숃BºïßdòÖG ˜Ûn%“E,ÿ•¼¥oTg ü¹Û œiÌ\?Ó ðÜž pF°ä KzZêAsõàÄF¾.xÉ<¯ LTLµ`2oÚ°ßnÇüÅób$Qâ÷€R*|(ÛLÓøI8ÿXÀ{A Úlí6óóm©æóOx½>_›]€k5ø@­} cß -skÓ\ä¡ ·ù%ÇRª#àµPf)µæzöçó˜`NÆÇéàDê'[Ì€Q‹°ùÀr2­Y2@ë¥BŠä§[™Ncz¥’Ö¦=‹•E-XÙO§ƒ#rV-c®˜¬‹Ô­ºÔfбæÖ3ÁÌbÖ…¤@‡cZj®ÓØå#ñc{©VƒwßS.þMƒN‰ªš¬Â Ð|ÚÜÏi¡"ê’4cÙ%«nYM%z‹©ª1=§H†\£zUÑWP‘§‡E}YØç ý{¸Û"Â\‡( .\„×°0‚Q½}&Ñó›‚}&è  €}-‹…Û2€ -?HÔŠò¥NL×`ú½éGþú;ü^H¡û´Ž=ur¨<ئ IÁ$rèàÐï?õ€ª7÷v¶ðÛî`õ/vîå¡<ìÄŸð8Ÿúú‡°(ìtH'³C°€Tþ;e¾ÆÕËîïÙR¸‹ÒÇ”c€íf•9€ÛMû ]6 "€ Ø·ïVËn·ßænÛz33¶cîþ{Ç&‹Õz±³ À³g3¿sÿ£¾«'ôm}e{E'0§7› >ÿKRKé@iv‡J&ÐήœƒðAv]9§5 ¡xX/x Pbà´Ñ“!!eý‡œøì€Ü¥€¢Ì+m£¤~H„®å*×>yó¿æÞüä³\(«ÊZ6T*Å4M WVKk¹¥ ~ÿ[J-ù¯O½!¼€×Û0€Ûÿ¼©`g\sBN?•xÐó=¶}Ä:@ªÿyxYŒ¼sܾüKRÀ†É=<ï €rŽË7Lj˜uù{Fègt“4­€Ì¥„¨ý0*> æ1€Ò0õ•–áð(!`¨€À(€…0#˜ïxE…`Dþ>»ÑF”D˜ƒØSc9ðBö¾¼çkïÍz½³kó¾½½6½ÚQu¯Á.ˆþP£½–pâÇ`sÓ jõàœJeRLj£ܧö:å_›_[ëåÑËonš`OÌø'®¦&z&$èñ Ç/YÿðÓ¦grG<ûg/À°˜ˆLÉðh@Yz*•LÊ+.÷ƒiuwºâGŠÒbB‚_uîÓ•»®fÄP§ßs¤#ÅÅ‘ÅôbH]s©‹A·d¨žô®®¥—½\±«0ÄiF‘ÞGGð×´‚ªV5Ãw… Á2uú1UCEU‚É¿3bÚ´*6€`L-f¯«Æ¿¦.×À ¨ª•;|¯Xð|_Ðÿ ,#"‘Õˆ) @E ³&p lYúöÙï‡G¼í÷:!¾>mÿú1‡?—áb™»ppÙ9É8A8ö¹j‡ ä¯Ä¶?@N¯Œ‘E9ìÅL€©`÷y¥Ðô®Ôñ -bDÐ8耮õ÷ýò©³ã]u®¾ -Àçßü«"ê·l‡Ûïöê6ëý:«ï¢ï©ß~ù°ó9ÓÿÑã£÷ǨÔ`aÄjÀCú&`A\Hxxï2'üö#;ªÆ›öjsU »8‘Ý0 -`Þ`³zw7+ï¹}>ŸÍ† fއ<ñ‚6>j!€ã‰åOc+ú\óÒ¶Þœ›Kè‰ê¥*áÁ8Ö9*ÀdríV ´ƒ>}@ -È#€pí\øŸeíkæE)¼ñ/  2iz‰ã˜Gðš¸7¢¡Ü˜ßŸ#.…¨¨—v²ª&© ‰€…ÜþîFî77ÆÔØ5z”äŠi„°¸àw_ÿùÔÒü…¥¥¥«ž)öi9mcwÃPc‰¢¬þ;*ûý;ïÀøÿáÓ€›‹ €Ûf*Ðã›ðüeZ ª?67™xK“`_ Ü|³b>/lñ“g‹sÑž‹™;›ú×Oãyáò>~ÎÞå%/@sÈ ¬ÐÛ4k~Ò§›~3šž¹a/™$€3ÝÿÎ÷ßf±Î€êƒp~3À:À“€ ž03ÊŸ)üòç¦ àèYÉ=á@>of±€‰òf(ð¦eT¤˜„‚€˜ão懥\dY a’ó3§!ƃsIBÁ<›0αRxM‚ÿÍ$}%Øù¿Õ8³·Ì®’_ÀÎfÀä$ƞϷ'I³³­ÙÚ×¾ù/çmµYßÄl­73±§@Û¿FÛÿF‹«¹™Ð ½æ;í÷¤*™ 'XqdÖÚ-ûýµàÐ`Ä×À¯ýñZ›'£ÇÜGŠÀ€Í3ϨÍÖpHÄ5@½ƒ¦—4€Í@ÍÄ[&ØŒRÝÏL«Mi·XÐ÷‹.czÙÕÔüêZ³XÜÐe—z·øÞ{šk佊ª:‚ŵªì–”ZL‡§ÆþèÙuLŒDŽ ú¾ž †Ôh1š¦ú¯€ ¿nP£¥XØ ›LGuêí±1ÐÓ!7DŠiyªá]ç½>ðGŒåýºz—nE˜QE­¹Àð†#<0Ø~×\ú{ÃÂß/ÂQB<•‡\#â{®ìhå]Ê#LýÑà›¢A¯ˆúcaæôBôZAÞô…™+ ~Áô3½ å£+X– ¹j §Àt:W)IÍPQ3‚Êý)ò1Îðö]RäDBö˜ǤóŠ\€˜ˆµ¾ðë£ÙŽì¿.µü‡p5?´ÿÏ.C p¹aÀñÏãöâq? 9tr‡O±?é®>˜ÐŽ·î »ýð…}»Ûì6aýï6···›M¸a4À¡ T»ªôélÔ¶—üG›¯g;椫QlþÏ78ãæàŸÞšp*ô=QëÎé û¥æXu%®WíåçÏŸÿ§ ÀŸt‰“ÁoÿýËÒJëÆ×pX1}Ãa¦Û™ ¯—þµt€†ÿŒ' †t-tôl¸±à Àµ\Zmd!ðWÕƒXn,QÌårS Ÿ,,L}r#‘ËÊòn,´sPÊj´jP`dUÈ“ùÑšvázêBúÂÒKS©à”g ^€ûšœÕŒ¢QÉš¶û­7ÿä?,ýï<ܺwïµ×~qû¾ø ?Py¿xÛ-(ÿàý+Œ8à1ã{ذ Àž_€D)b oÌM8`uæ@%^ 𞎡ÿ+ vœa€ùâ¾y^ hêó0"À´øº)2²êÎ"÷¬–Ü"à k£°ýOžÛ™[,6Ûo0HB | ;þYõWá¤^Ó¤'ß0™·¬˜ij¹þ\€VÌ]HàlúŸ?—*ôÊÈŸÖ„€#° %ÀJ äò/Vý<ï°  / Pä9!Ù·.ÁÓ§â¬n€‹šllúÞÈ ¯ý™ììà(ØúcÀzÀ~_=À¤ò² -ÄàK -˜û……'ÄdØehrHèa”p‚À#vŠàʺKn6Ò¥ä(;IEúNðÙÐ+<€ùë+Ùð Ã*¿øçvTkfþoÇ/Ç?ßþܾÚéP¹·wâïÒ!»ÐýÅá @íýÑe“ ŒD Ô¸a _Åô`›P…ýòvüÁ!uø(ñMÓ P§²ßÜ9àE¼ -®@l€x3N—‰Ï5w×w“†m¯œ±Í` -0 -À[ããæÀzþš,€ß¹£z4Z- -‰Kö9‚+…•¹D³Ðl®~#6™1ÀÉà£_Ñ ¸û¥Rv‡ú÷Aݘ¬O²ð—y}"A`NsëÏŒÀuÁýgLÄ|àçúÿç9»¡…r¡´ÿÚ‡—r¡Xâš*Vr6–Ë£¹\paêïn,Üøñ'ÑUûl6J!æ'˜¤daœÕÖ‚S?Zó-\½àùù…Ÿø/O:ÀP:›-JÑØnHÕ´tèÛþ¾¸ÿpë!Šür^3MãŒù!„AÀc‚ [¿¸Í¬€›<¸I‡cðøŽp¼È€ïýð±øŒçIË6×2Èãp-ÂúÎŽ»B‚ÇÃáØæ0êíÌps¨è¢ÜGg@ïoC ÔëÊËûþF~èÑ“o(/Eþœ¿OV*°÷ÉçÏ CI ˜e$Ï.8ÜpR`eœ¾àŽÐç €€™ ó•$Ü‹Ë1oÚ -cÉÌ.qTп=ú:5 ¾ÿƒZm0ès'@ÇP…«=•¼×ÞÕþ=¾Ìζ}35/µò³ÊÀûuëk( D¿.Rø‘Ð[{¯ÕžŸ÷¤Rû™T*ueÞ“Éç…_0Šûæís´Š>Ðá ³[½ó™À.´FíŸS€êì<„'£„²aÏr§<‹±ôbðClÿªë¨é¦[QÓòݪžÍ8²ÔŠ»ÖtW3Sœv82šá’6šªŒu¼š&ñ«ñ¤eYׯ¤ jA­ºÓW+…ªò$–ÑÔWQ —eYVC‚éª.O‡ŠUÈz yëp $ž%†¤(•„ôBQÖqC°òB,€[ƒ -à)§ƒÈF;ðòGņ /Â6DSOÍ·“œ— q>æú¡ø2M¥}"P¸ì¿2·û\ï9€%þØëóõ{‘-À’ï[ùxeÉéSBÔô°È° >EwyãoE"““Þ Ìwö4ìâ; ™i¹ï<5I&'¯fpˆÁ=öôåݸýryûÐ~™¥‡]l` t؉w ï‡Â#+ÌŽ¬Ï;ÃKƒƒ8Hhu5~™}€80ïv›]{“‡ÿ/æìÕnóˆÉ/ºtL÷èÐ~´}ØŒÏ!>ÀÕŒ¹äÒ§I_ÒfB€gãoÁïl8ædžDÏž½33qMŽÆj‚ÀXa»º]˜°Ù\ÑâÏÿ¢iÁá[ÿQ²TRÌ1@úÀyÎðWPû±ÀW1ôçv º ²ðÀÎz©ônõSíRîš? @ÈH€ˆÀF6véÃh"tãZeá7 S ¿‰Že³»zVÕ h%zì`˜Íº‹Ïþ…”{éúþ…µ¥¥7–®¦R怀*©ªz#õÛþæ¨ØƒçG5þök÷^»÷7¡ú{xûö/ÀÄlF[w0ímëÞ–Ðþ™0€‡f8€«ßðˆ…þÉ€‘09ôVmT"⎫ÉF€J2oöLJ²-+h ÀR.þš äùMÓ=yC8èŸÉñÌ6emz9w 7hq†®À%1"ˆ 9ø%õ“ð-憞þæµ'M—ã|=P7…~ÏÒX%?ð’j ¹|¡åË[i>‚>Ñ20dhXâÀº9hP†‹Ž’Pÿ)BñùB€9GÉ”I”İþ®¿`¿| -ÿ¿Ž×%zPgdàt¼ -,8€^Øåå¨{{mßÄÄü @Û×Rj­öŒm¯õu­¶ç›éñÚ³%–ñܾÃ* 7áIUF¯W2ÇZ0“q8Ö|ÜÖÏôZàÅšcŸÊ'˜O•F.ù„ {”O¨›O¡õâÁLeqM.f*¯W‚•J°éJdÒ•L:½8’Q÷ -Õ¢ú¯.î;Óš;Šðå3ªÔt_Q±õg`Èz”:z5íñåB0´+wåHý:aƒ¦LÞÅ`e‘n)]ÔÖ¦×HzPE‡ß„;0j|³ŠIRMXÄtµ¨ÇõÃ2¾Œÿ„û/«]†Î†Àœ àeËfÖèÃW ƒ]v1ßÏëJ¿0"… 2ðºÌ‰× †Û˜&ìŒøÓã§/ø]“'a>ŒäßIúµ#ýÓâ®· >@ß%D„)$U’vµõû®§Oqßú'§Å(†§ˆœ<›‚¾"ÀWžSý?Äô$¿Ïí—»@ÔúwâvŽf²ßa·Ã&l|q¿—…óÿaŸÔô—™ÈŸì%|ȱ@¸.´ÿVßí¼¸üÀþŒS  Ã°IU¿[%@±Å3ÞíЙ^ð, yHç:zàzš—|³þ‚æ3½ ü1ä„Ðp @Ÿo¿s<ñ±ÿmϧ‰éé»cwê¥}»°]¨ŽUWš+/âGÍçßüÛ_ü¯Æ­/?ºuë yÝ vÖJ}±`'þ˜Žÿìó+ØCh€!Àp;°~€-À¨²¦]Ë…®ø¯}º1+Œez@ßÏ&r íÊBhaáÍ……ʽÒbj,+§×Öµžl€ …R7®¤F®N]OA Èi@0Pc!‰JHjßšܹˆ €(ùLxx+*ñ¯Ý»Ç@("ðñmTÿ{¯ÝÙºw‡™L@ÿ'€¡|@™ô%+‡Ö$·Gâæ4ÞÆûx*Ƚ^’u²CÙöù¶ `~(l©Û°ò„èŠK½Þ°:òa'^2wãÓ 8? 0ýrÏÞøÞaL­~£q¶Ý*Fiˆ @³‹OÖ:pÐ-Ö…7te8÷oœ3÷ÍŸsX¨L³€—¼…ó¦e9Q #~;å0):“ˆ¯øMÅåÝf³®„˜p7$M—¾›H Ò‰×h§pfʹwÀõím08E”­·æE0œÛGuÎö>À<ÕýöL»V£oí¶¤´Ú¾žÅÓkq;Î\h[»m›XƒýÿÕÿ‘_U¯d*©H¤{L÷zËõS‘ tü> –©=3æ„Fx³wÌœF}TŒ‰‚D0TàÌ­y¿ªé¡LZu8.N«ÓŽ`Ð1âÈ8‚‹##ï½G ÿ¯‚Ž÷Fûkÿúô¢£¨®÷ƒ²D¿jH®ú3éhq—Ê8S÷´¨*K5íÃ(~Šø² >1ú¢kÕ¦®Ó÷€ƒ!UK‹…¬Ô”‹H R =&±ÚO&Ø`ÚüÀ  (ïŠ7¢à¡ç^ÝŒöºžê L‡`6ðŠ–="<‚ ¸ÂPà«p³Mÿ!}ÓKrÁp™7þ–U0'A -À©}“N`,€“°ÁÖ!bDÊ^]Óóú“&@mÿ•¦3b„4)t §§ÞÓÉI)ªãîð€@$R>í³à{¿Ô<ùæ ôÿ«lößÁÖŸt:dz­véˆËTÊ;—Áúwõ°Ã~€`®®>¡ªþ9BG«G\ùWyp„½€0ÄEW/ÇíÝw  ˜Ê;›þÚ»œ (\šÝ¹xóTÁîQ÷E\ȶ»/¶ìM×ïnÀmÛ³í´“í™ãgÌxKxZŒcPõ–˜¼3ó±ïmB¡Ät1T¼v÷ÒÊØ\5¾R-T …jµÐÜÖ›«OØ"ø•ÉOÏól°³öÛtúVž~;b¿JpŸuý¢Ð‹L 0„0ÐŒ¢¶_†J)ƒƒõ -@Ó¨>† Àg—r9Y½ÊÆvJÚ®*DC•Peá²þn,ªee9K—²µ´^ -”v4mc#«Q7ôæO|TûßüIêúK©©ÔO´´–Õô(8ÆÑâ·åÇ/Þßzü:¿-V² àýû·· °' B€ÀÜ‚D€÷ÿ,¸mŠoommñà‹WBxô¨a¶ ùdÀ´ÏÍ›Q|áP#ÞáÒgËóà8ÿ²ÿƒ_ÊEÙo˜?56Í~˜èð3Ê1õ¥uåA–7Ë0Øo(ùBW,ùügY¡¨ò¨«á°H’ƒ@¾ŽÙ@ÀdÚå™uPWt\g ¨ V€U¨Mmž"ŠiÈ Ì7ÎÊpbæç“B8˜OcÎN˜p¢.ü€ò˜Ô?ö$¨Ãêß–´Úÿ¤\¶bB0–ˆ¨ôRÀ:Þ¦þ”«WP5úâ­ NÙÈFÞóJ˾öž´‡%€¯móÍð;0€Pûµ{­–•„*ŒòÝëµ'f&Þ÷,eRûŽ‘‘ÄîdR ¢¿ÅÙÜ<' `ttfC(ÿ­M1@ç_ÈàÕ}–Xã9˜ lä[¾]êÙé#QÌMƒA÷†n@‹™_;èiÁýÅ ‘‘´ƒà@¦\TÕ»ž`°ÊVý.¯$Ëê•`0ªÈþC=VA dÃXnJËYCÂX_%–e†Z±ê÷k1CvgÝÁÅÅÅ¢3¤X5á®aõ ! öþáX@L XKÞu*›x…¡f|'à°çê>´ÿÂXhþ&9r‡A{–2Ç¿/ˆ}añÍÞ` öËa6}²t^“b–ÏdýI1ßï‹ýðÉ£IN‚"0R6¡ä4ÇÿÌôªÓ~ùÔ銩Ñ4%û,Rp~*$‹ý¾$|ú"Y¨ÿJ\ž³°ÃŽ¿\q©Ûï®n—í0îv ù¿l‡ÐM +ÿÐÝÛŸ°ðÿáË£ñ/8לÛ.\j® -t#cÍÉ'Ͻ:@¨úêõpغ2 ´GpüT’ë“Îd`'{À[Gý1½ÿ€c#P@€0Ç)ë°xzagÀ -ì^ -àÚ¡\n·0–Þ¥Žºö˜¼2Ô¢„¦¦~sãFî—ŸEµ¸€h³Y%»S…ìFÚ˜º¾äO]ŸZZºº´ta*uu*èñ¬yÒ~MËvbE£¸[ŒjßìÌú"@hîß|xxxò€û·?UŸÃî }€ù02nš"€Îê«ðædgÝ[𛽾e~/ÚpAÂùv@°  IÞjœÍü¦§ëÙH€ ¢­6Ÿä<¨ÀŸ~0-·Î·*&ƒèŒýoËŸc -‡T\dȆëâÉlÉ_èó×%ð‡o¦r}%`öìÃÂ>ä%Šï›S½ß<3'ɲ9!Ù°læÊ ? WbW`…× I Ð+¥@•Í6lÿó%'f É Nà%~Ýïü®ò>šj¿!kU´©^ŒýÊ A8À ¨ÐÔ\’$6·Ïl¾ éë=ß„(û5omoÂgkÑA“£o1ü|6Óž™Ÿ÷¯¥R‹TuGÐtgRó3V±çÀ¦™#,ä}PP÷FÇ{í«_RûOäB€lˆ(àWððýJQÉ´¦3'ÖNÜœ¢ žÚNòVœµÍ<•ÿþøË÷ççÿ‹ßÿö§WäBa嫱±;sÛÍ•xså¨\M4›åêt¿ü¼ð -ÈáA˜}Æèu¯Î½Nø[¯sr²^*e ¬—Ø °¤«ûq^|‚ë"'Ð 4ðCZDµÝPîZúʵ®]û€@B“Jjq7»Q¸”ƒÀ4o¦>‰Rµß-ÅbÁ(|–ñAjiéºÿêRjé‚géVS)ÔN–³’&'T-ú­€Þaàãaý‡íϽÛCOàû7·èÄÇ÷DÁߺ·µÅè`Kˆ¡ ¼ À"€ÕWòîØ,¿?Ô^žXlxÓž&o–`˜nr«Ü P…è Û~¡þoœ… ÀXÁ|³kë ɨú@–?‡ZJ8ðx/ z~þ²³sŽ˜g AÏëG“¥¾üûß~´öÑÚÚ—ùòõG'áp=/Ú÷Q̲LE}  ;gÜ¢ƒsz€|@yÉ£ÈrD0S ò¦°‰  Ë ÁIyØ÷äiàz’¬n®?\ÿmgVGISwÉ2K¿.Ä;‚Ž!(ßý'äÈ/€&FÊz÷ -ð4̃ðiØë5ÜÔÀJ{TûöÚ³{óóó³5¯íãÙ5ÿ½víkÞ ´ÛBÓ·Ù£¿;TjàÛ¶žÏç[sP鯤FF¤ægz\ÿéµPø¥ZðoT¬ÿa -Øþ8•j÷Ú=Á`£4þáúæ±Ùé‹K6F…N`À¨ÑÄ=kÁ”¦úÕ¦‘.æŽLLý[ºï-î¿ç¨¼¾¸_ V¯g~] 6cÁ L(!XTaè+¹ä»ÁŠ¿&ª<'¡„0û1/æ’eÝ=¼î2+Wuµ¨ùÓ„T¿¶\”q28T¢Í7Œò†ðPFB^®¹øŠ(à”°öÒYfÅ |ü\BÕ?Ç8ŘŸÝv œ§Ì²C -@%?L@§ÈbN_ÄTpñº€×¦7Ÿà‰ÔçB͉@“æÃØ+y ©âTCô£ô aLr¸q:[¸L5ßË’’îQ—ó´|1ÐÝ3NNú'¯ þ  µîHùó”,=žøŠÜ_`:ôÝ«ÌMÀ»öË¿ àro¦IÐÑj™ÐÁQ—>·±5À* ~ùÈÞÙŽ¿Kþý ¶ýùÊÎÀö¹¸ý…Ú?Œ^ Å˨üGð qEšJsÕMjIzÚ÷žñÒ_Ä·MèFÇŸõÞA\ðÇ…5Õÿ+»j·/ÌýõØ…DWo½8j%šñòØ‹çæ@ N¾Ï \ƒÇÄ‹OQÈü øö…A`g# #`(¨â³m„9p -ù€œÁ’Rþá€+EþµÐ±Ü‚<Šª³jB•eu,"àÉA[øM"šÍªÆŽ¤”Ö7À•<  -ïÎnx¦¼ýå…ÔÔÈÕŸüüjjj*‡ €ØFI•µ]­ømq€ß|qÿÎcìp£oÞÜü¾û|ÂCªþ ûß@Öþ WžÜ`å>'=yß W#+“g¨žø\…Jæþß–ì¡Ær,׿ÍÑs/ýâE~|3? -‹8æ ä{ù@/izéö¸yõ•"ky7orØ”,A Í <3í)‰A>úÇH~´ö÷û_üýoÿù–­ŽÍX½ÑË[ÍzÏ43æ ^”}¥®`öÀ7k™þ »ÿ³dßü°¥Ï ¯X㉘̳ÖÂÿFÀg–à eHLv%%ÉG@ö‡O¾g µXô—·Âò"8i’"xðÝÃß—‘Ž™AOõæôtÀ,ó ƒ´´rÖXÞó\>ÿDÛç›Ààw5o¤¶×žñµ÷ZàôáØÙOÔîèúÚóW3© (x•ÜZ*å÷M˜âþãqÓ.—ßìÑ0˜ø25ßžéÃeÈŒŒn†½ÑÂÿØFÊÊ‘VBàЧSÏçGöp& jšGŽõâOƒÌûsì/:2ª¡ ðºãõtº(Ϻ\Z0äßwûU -µ!+œ»ãIx‘ë;]5WÄkÈ:Õñ]–ÅK±]úMïkj¡@ý:¤vHï‡3Ó†àð{]F,SeõnQ•ÌaªK’¡x]¦)l -oò# -HÊ${1 ÓwÅžêf x¯ˆdÁÍs\VöÁ ¬à áI3p2 ŸX§åØ7{óÌ Ø-€N£vÅËkýúÂÂÂIoAõ"e@r…¦ËUvJ.'ă’·ìôªìê°´áŠ&y£~B…ˆ9í#^êDfLö_ÅàúììÜ’S]ß>ìbðoïRqGñÿ¼Ëó€UdÚ/tº„¼‹½ÿj\lýítön—äe@‡×X"\Ž Rßå8Œ€¶/?@ÚÕwˆâ¨úÛÌþ°7G‡èý»0 8ŠGâ.¥ªdKÕ$«ž›Õÿ-*ü›oq0àæ³ñg£Çïü KÿÛTÿ£Ñ••U»¾=ö×$ -s/ŽÊ/žé…ê‘þA¹ü|š€ï›0)Ú%,Ëè|¨t¯+€|¥o] ^†wnQáZ_`0‡™Ø‰ªï\~“ -ýp¤ü`@‘ZóÐgPä>ËÁ 8”pÇTþŠ—B¡èXî -€k ©…ß\Ò²jl¶´!—Ê?€´¶‘ÕÒ~´öþÒO–.¼‘ºþs˜„Ò,bÚº&«*]aáÿ*Oüðþ÷Š €;TóÿŸÇ9èÞC øøWü_üͽ{w¶@|Pû¿àÅ‹ ÿþ•<€ÜÙÎQ-³¾’is—õ׆â½)hð`¯;¾ùÒ0÷%ËwV”Y!‚†¹ÀV‚†Xáø9m&÷‰š/,z’¢6Z8Àôرá=™ßDý§þ¿é?ê?>>ºÕ«Ó“¼fK~Ó’OÐþLonØÍ¾½Þ´€Æ°ô+Ê0õÏúžªÄ’¢dÅrÛߘ^CB3È43„€Éüà*$ͨà€H;¶å…ñˆÿµYü@Þ˜º@®þì¾HG?ú“F"†–%gÔÑQýwBŽ@€2ðJî=—ëk*þ÷ç}6ß„!ÍÎÂ@òµgÚ¶¯9¸Õ¢¾³·)ü{{Çì4CG·ç¿œ÷{FF2ŽÔüš'•É\õ™¿ÇCà—,ÿé -ŽGgæ=Áy‚ùÑ^khôGv zÌ #øz ’€-_‰|˯¥*Ž }x2!Í V%)8­*Ž #“©«þtF-ª‹Ž‘_‹FÚž–åâ~0˜öËš&ÕðÚF‰f‡}ôò^Øþ» ÷rjŸ–Nì¦sÁœfЫMe©iÜ.f*iC¥"­ªZQÕBäeIÒ›È ä <\ÞI l'Ë -6ûx%ï#Îs\DÐú8ë§<Éþ~“f˜‹}ãB/,œý2ø™®s|ÐêÑ :ðÊj“£Â^¹ŠM€áCÀUˆEèˇ¡¦¬]qGݲDðHóC-!»¨ø#^òDÜX™s¾'Ýèù$øÆ; ÿu°žS“N-¾—ØöƒÈyÀj·ó.wòô;Rµÿ<Ž]ÿe!ÿc`ùPƒ¿|ؽlït™ýG@¡ `ñð¾ýîvœ ê~×ü --À‹í¦‘AMªþÍxwõˆ €ý(¿ˆ¿pV•êAl'àËψ˜+Lÿ@2àñ³Þ³™Ÿ˜x߇ @ôÒÜ¥•¯.^újeîþÊ_m^<:¢+»Ûœ{ñaµ\^-3ø·ï€ï,>Ô½€J_)%…Üÿ[0ÀÉ`GËp±Wœl)Ö˜ 3Xa|ª¬ÿp@4ZDЕôµ½EuêúÕ쬖(dåB(1}%”Ór×~š[˜ZXÈE³ÙÝ|³ -ûÒ!¿šu§±ð|ùÆÒÒÒO®þèúUì8 (­i†¶NÕ_Õà[U€wÞ¡ê}GsÐ͇8¸u›5€ÛÏÜþoY»ÿ-¦ -O€;wxð þj6žÛxÜÌËè’hÂ_¢Í¬é¾‡3fxñ?¶rÞÏ2è-/>è½¼m4oVþ^ò\¾®ÙÂ×™аæ’¥Égc|NÅ @%"fÏÙØ·_lÂ…yB·nÙpb²·Y7#/ùmÀÊñ1+Rÿsdý`1„Aµ`ë@k‡ €%3–Ø4íƲ̳Á€ùk5LŽA¾¡äE/¯#d›­7þç-€ˆÛËQ ?ØË.¬üi ã¥ðÝ]ƒÈÀ‹¹?ÞN&ðzYL®]³óÔÿ·}¾åYiàmû¨D·÷l{µ†= ƵPÄgZ`|ùöüT™àÛkÈÚ÷ + ~?> …Ø4Ñß1ðŸïjfÍÖkå[@ðm€ÑO¸1Ú4Ž-Ö¿EýGû/á†à´ÚéO*‡Ã¬ŒT4c·5\‰¢[Ì‹ª\XÛÏ,¾\Ó¥¢ÃQ1šéJfYªúCÓ‹¡`úŠs1Ïå -.³¯Ä!€IÖ]líq…rª.'‚ª!©žét(T$Ó7p{*L~«éPpZÖ¦‹ìLͲ{‰í{"âu“³"RRA©)¹Â¸µ¸Ð¸",öÿŸmöùž¸"b €á2*ú'CY6s±æï³À£ ôô¦7 ¿ÊŸ˜Iì&Üç¸`z]ç™–\‚h°°b¨º«é¿÷=bèˆN¤gD.xEv5 · Ûÿˆá–›|“„c|ßœ18_  ëc×½ŠsÇʇ~Dó2 MøpèØ?Çg7~Ø)Ç;ìˆ3¬ÆŸÓY#]PÄN ÷ˆ.[¶ÓYãvýnt¿èx°MÅ»»­Û©ö?@"P·«Ñ—£ír÷Å6]Œ—ñÕí£®K)¹vÖ©Ý¡çÿø[›<ý L@L€è˳ñgÇ33?›øxâmêÿ?Mì -…•ûÕ¹—¶WæÆ.}’¸4W>z4ù¼\.T›ÝÕò£xù¹øŸ%¢ä×YËÌÌpj¡õÉ“’2P‹`2ôä®NÂë·´ƒuaȳÄ ´Î@Ö¹þƒZT‹F<¹ÜµB˜D³2Æý+‰ýT¹ºöÓ©ÜÔO>Ó²rT.•bjV‰¹Kl@`Ã?uáÂõÔÛ.,]½~=u+€5Ï•ý+˜dK¨šêúVàCÎûE‘í¶ Þ¾ýÚ/ fßM„þÜݾhüÙ xëökL 4ÃìöÎ7¯è´q -˜uIñÎ8íT’¨òš üÍM.ýIn{Ï΂à¹õß´d\£›yt’ xz@ý?ˆž Ú—,¥½"xüÖ `†ïòŽ=`0>i3™ó(ˆ -g¥`¦…©V¸Þ°dˆ|]° Qµë(}JXi ‰úþBhÏ@@¡G X®@ òT€/$â Î%ø$-ç>‹%yÎèLB`LP8„˜.5EÒªýâ›ÍL2Çy®þy¡ -0?þpRÚ³§†`ºA0à@€AM©1@‘òJ{{6ß×ë³À>Ÿä­Í¶Ûó¾6¼öj_cæF'rѲ3 pÆÖ¦º‰ù«_zÿmdd©’ -:FÞsdRmàðRЯy€IþµÌÕyŸ-°Ù¢—Säünh`B`. gàºXðSÈæ'X 3‹##Ž´a¸‚Z̳Ô‚Á G— µ˜¡ã3jS/¦ƒFVRS—— iV–êqùk±½ºNe¼ù´©¦w ©Fµ×å.~jP=_6\z"3Úi¡¢¦ïÒÍU‚ª¤(N»cjο !¦eP9)—'ùœÞ×”„Ý?×{º~G ˆo}Œ0¦7ÝüxEñ¾á~½:2ÉÖ¼}ñ3¯gbÑÏÚ?!ôGAkÜI±ÀÎ?Œ0ÀG'¸(?œa/aŠGN€°Ó…¬B©é*‡éž—BŽ ,"W"¤²Or‚" G²E±p Å —\y©v6EU° -8xf¿%±¶›§½Tý=s`Î Ì”Á䙀ž=Âuôêu¶ç^;%3š›nK1o:](¬˜KæÙÚ'lŽº¬×Lgò#¡g8  ¤@׆.>€ïëaò¼)–A`ÊïQXÉ?Œ2wæðÞ$4çg·˜Ï[¼Fú`X\²%­w“Uiº.‰Äá–CD/¢îã—dmf ð'it¾^X À€SÎxš¢Ôj^ N€{ôª¿oÂßžÝûºV“ö¨óŸÙÛ›µµZµ@£%™ÂÙë·{­šmb 8BÅ?ã¨pýV&zL‹6c!¬'À÷f*oޤ<_~ÜÎ#2 µ‰;7ÇǦ`#Ìþj–´`Ò)-ªäzÚS•§#Oº)=jèuG%v8öuƒ*úâ{#ÕO•¹\«µ*µö -J±Û]ó"È€‚Z=9Auÿ©±ïI—Ar³|Èu¯!ƒ0°›žM‡‚¡µj:\Ì|œvRµ¸lTÕÙˆ×sK’¤ªUªó<ʧ[òò)Ö\ 8 <åAL•í˜Às¸þðè³° l{ÐÌc0y6É=ù}XÔøI˜öËVÍ7EV°«8L/ù<8¯÷}°%ÓõO‚X@’"<+ 岄„tG£*Ö§}—¨O5Ù{Ê¡’$ðýí÷Ÿƒ0ùÍ÷|óä‰ðî‹ÃzÏŽànüuÿˆí+í?FúTñ;Gb!ït¹×ga_¼sÎ?qÞÿãhhpö'¬8ìtÞåXfÐÕRíïØí„ -º_ÄÿûÅm¬¾Úžkv…)û6·íÍøöÑ‹xó° &àQ¼Lh¢Yþ×õfÉ› ´7™ÝJµŸwÿ˜ýc êëññ;Ç3íqŠê_X¡›…¹••ÂJA°¢_¹rãZÎutD†çô¥gÂØÝrùyyÈ8yôgë¼( žðè?g îáµ’#”‚Ì$À—P  p³xà\‡^ªÀìf ‰ €'”Ë]K娯¥h6[ åÒWr¿YÈUnüõDL‹ÊœPZÏî”JÙ¬jéúõ¥«W± X[úÑÒ|…ãÓž¶‘É15ªÊ‰èû|óàâý‡Ù˜Gû1¸ Àk·o?d@žÿ¿Æœ!d 4‚)x›À܃W¤,Ô¼H¥-©EùKšòªjbÝÌËác^ó2Á»7¾9:z–™aÅŽráï™ÖyykþÏuÍœ´›ÏežXó-³í† $î™I  :júZxN²xº×…×…ÂDú[Ižè[ýüÙ/¢°'ŸE`*¡Ì x`]@hˆ^†úñ#iDa(Ü`¿Ÿ†ùçó቙$¶)JÞÜýÛPþ{äÅð?PÇ&Ä1¹y3 ˜Ýñ/ø“Ư'«@!PÀ °Æ:À°`"¨¦x¿öµg[³Têéû,f¾Ùšs0ÛjÏøjÞVËÖ -ˆxžÍt£y¶ñiµz¾¶o>UI­yÖ*™ ˆx¿r̛ɾb4þRõ§CÚ©‘ÓÙß÷‰Ì#€Ac4Ü þŠiB°‰ËoЧ–‚ ØB„‘Ò]Oï:>ÈÓºº¸¸ÿÉ{•àÚ¢#h¸ªš«èø0øëÌ¢êr-ÂÃÿ.bù8…Ç L} þU\ÍàˆßP´¦D˜Ú¿Ì.õ˜a¨ª,»—Õ`0½ÿá"}ý´æ2bš“ i]Ajyººªº 5q2} -Ñ\ÿ ‰¿¡óJw‚n0¦Ð †Wðþ ˆDØä×)¹„ ñ‘°%÷gýT|Ââw2ÌBNxòQ‡¡AØ qöaŸÛ°NyRïå ràø3 Ö8ÁWÄ ñ?³`>„Y…© œìé§ôQýwnztè1bA‚ó4rа öžìŸ<'ðûï=Xe¥uõTƒáÒo_EfB{í.»vØ€~©¿ýó8ŽæO¬18Ù€¼&X%$° -3?‰¶ÑùSØ`ß~@ßlÏ= ¢¿]}Ðw ̱7@Áqö„Çà‹Ãîs:´~TZßá~gà-Aj~K±#€w~wü»‰ü”êÿ\ââÊý•+÷¿š»x©p©°»«G?ýÿÏ÷=Í“¨ÄGObºzDå…1ÀóáàÏcpùÔ­—K €@­´s°¾qPãW7ú³JØŒš.'/ê¥[·˜ -`šM†… ÐÁÎøm? T¡tÈÀ5=4v%¡ÅäDBÏî&Š¡tâZ1t퓞ʅÜ5i#!ƒB-aàßвZjé®{~~aéêT…@hŸWÙ˜–ØUÓQõ[DàXà5€‹÷ G >|Ë¢û¼vŽðš - ‹ãO^ÙC¸s.z‡uøf« ›pÊ ƒ×q´kx9–(`ü|ëgð Ýÿ&c€d/9äâ ù|r¨Ä玭‚gu£¡Sž’µ,g0 |q, ø€ -ß6@Œ‰ê-¡ §ªJ­>zðz`þ3týÃW…½Ìõ=Ýâ|€¡‹o^½=ð5o$˜½g xJöÿæò 1ÌL -oÃ$S'Àd„ ð\ûŸÛ’ÉvÌŸK8ÀCë?E$*Šìü‰˜p"XݧˆöÖà€÷°9ðÖfm³Òì,|}6äSë?ëõJ³{0’سGiÁ­{ú+-0øm33ók©J*åY›Ï¤‚•‘Ÿ¾žqÌ[)½—J¿i€@ûËÊR¦òú—>î6è¯Üí8 °‡$‡pc¨ºB ?ÒiŠkÏï/R§¯‡‚žýèþ.èïd™`4fÄv]jZN‡ŠT¯%9è¦ÿ8ƒí÷cº!Ñ/ÃÜw¯KQé—¤eÈùéÛ²³¸Ï0‹¶!G©ZkËPT‹éÅ`%!ËrÌE˜ *AGÁo"0¤«f`Vç Nû -û¿ˆlD¼1vzSÕq‰€aVòMöË0‚sÒ$ð ѾìóWŒhÁ0I|¿ç@7^"X@a6êæ_¨ PâOÅt·/(0'˜ »"’·Ì–þÂx˜îhú¸s×1N—lÐ}2qˆ…v8ÁàûX|óÍ.ÕܽoSÛOõº» ï=ú´2 ƒ€ –ìÿƒÐóÅ«°ºÌ…ÿˆŽfÚ?W~F˜*¼K×ý Ãà²Ýdt/SËß½H_¿²Ãè«î\·‰X á ØìvAü+,X}± -À“GÕõR/ÙÎçyΈ1À¸˜Œc@ÕŸ­®ŽçÛûô -ÀÊÊÜW—Væ -ôAå?úï^qÿßïþågÿ½;¢¿Jy½tT­Æ›Õõ«å3o ?k -óú !j?Cäý•&E–š¢ä•AÖ¾XÿNZ~‘/9(IÂNfL -à ¬£±ÍÆ~@õÊØ•+iò€ÇäDîÀXQΪ‰hH‹æ´Pná³k7* Ÿå²!µ”Eõ_Ïnà2€©¥ëKK \_J½1òóµÔÒ”'è¹’ÎiîllÃPCªý– ÀêoÂíçâcžl‰1–€ðµ×°ô·Ì€¬ ÙàþW¯Ì@v˜Ú^ú6ÑÝšùv`Ø’íØ°Ëç—jÎÆê øø¸ Æ-øæPH@0PóL«±ç6÷‡eY Ûó\¹< Çϸü³@iè@ÈÕ–l°2fÀtùA>< ÈÒP©/ÿÇV€J=À ?$(ó©q:@@9;O€¸¨—¦ô_Xÿ%Íþò4Ìô߯Y€²éïŸä5Š@V¶äyöOl&¬°™×ʇÜþ#·«Ä–@%Žü“þŠýòi9"æÎÓ³æUÀ8 Ÿí¨–ÍÎ~-íµ á?aöD;€ž·5ÛfÕ6 ˜Žö6[À8(Þm[{Þ7¿¿¶F xÁ@™ÔÕ‘ ½got9:d…Ž÷fæ3¯W•ÌÚlËÆIƒ½Ñd-Xå‘ü;¨ožÑø‚=+RrTñº=éôêà— ÃuèÅŠ:=2Bút?Þåe¹š•ª¹iâþt‘Îi¸üž}ˆöŒò¬†À €®Ý[[GÍtÉzÓ€€ÄÄ~¹ªÞ]¦ú¯j¹˜(ºÁ/ˆ¹Øñ×ëôQé÷ªtƒFÓ¨Rñw…YÒ‹/0IÂñj(aÎEF“š>¸‹¨àþ$T~(Á„…#pØ|™æÞýü¿°×‹ÔsJ ù“}±`ߟp™_Û©Z—ûBˆ*­€ À^&OúŒ%˜ ÈùP^6"ðòü!ÂØãäÄ«³JÁ —hÃ%ôÿ,%=…6ñ™‚ ø=)'Ož¬>y‚>Î,4ýÌÈÇ Žf+´ÿ¼ˆ3€Ó€„ - ÎÅÿr¼ƒ@ÀÕá;ØìLu¬€wéªÞóÞÿ0~D?aÐ}@G< žÿ‹îsé»}nn{}{;ÞíâÕÃæQó(~D@€ðÄ‘½st´n ´•™¼ÙÝð€ë?ÆÿÏÆÙú 53û/nÿ?^‰FW -—nV ÷W -£…è¥O?ý¿ÞþÇÙûYûg?û§¿ú—É#üA&OÖÿõ®^-W›ÓÍøóþ#þ,a`ÝR`â /µA`2ÌÁ€Ìx -0-ª®Ô­EÀË«nü;;;ë ˆð ð€‡ÙÎ - UC×ÒW<þòÞ.´±;˵JŒM\©C9L²Aa)Ä[.°©ì»Ï- ö†jÔˆºB’…¾ *7‰‚R*‚²´ˆ#!š@Êxl1dŽ®L\p*ƒñ•hÔc]=oƒmÈÈ/)Ã!eüR•;ÕÃ]¿õß[v¥û!•NÃtümK[þ÷ú­µ~—ß™ 0Œ%´`*— PœÒóÁ`>7¸K — °—SÜš1‹]À:&ëéÒÐ¥R)~½ôféï~é’û:&«™©€o=—«HŶRbB0|‹ýþo}F%^ä`@íý-aøð Pþypõµ‡Íeï ˜ ²€: -Atö‹bÄy<Â4]먠BugÎp^g,¿ N ŸúM`9ÂŒ™Óaôÿ6sÀ‹ys¨?à5'èBР[¿57Ýçlç‹rˆäTÃfãÝ>þ)5°íÔBÍ17 >± Æ¿*Ôxf#-Þ««>«°¨‹ûë›]]˜ -=€aöõ›æ¨¾ Ì€ü¦{aáÂî¿.R -V¾ˆ$B‹o3¿{sÙoiM7@a -`î^Œ5¶ÿWÅŠc“çCþ°ÀÉÉÙ¡rF/‘È™“·fÝW­M€ÚW¶=t‘¨ûïxg¼^‡}àmµ ¬R¿Ü2½€ÙÖ·5V-@`³ÇÓn}5í»¹š†!À£8ç^ùã €…èÁÐû T*½^Z,Å·{&€üýúqkcðÂßœ3às… %fÂĘ7™ÂŠuZ‘®éÁ@¥2±8(ƒ|¾íÌù¨,W–´D¥ü飀ÏûâHv^BåF›ï’*ºäjêeî÷p÷I¢ÔáE“®a¹ °Ú@10A¨ ª º¤¨KÊŠÅ2òÆfÿ^ÎW@)Ç5$jÍ“.×Ó„¢H7Ö®ÊÓJsÞÀ` ‚ã§89 XaC"%"ì}ÎØuŸ@˜!ƒmy¹ÔcšŠ¿0÷Ì?ÓE¥þ|5'ͱ/Ï prg-Ì §¡È»,U!óRœJ1Wó~dDœ®§ô žõEœ!Sÿyè°pòퟥøöÿ;y"DüXó'™ùâ/z$&y‚ˆpv<€¦?ÉÿÃýÕòCÞøsÙ?`§þ`Ÿ““¼ù§+ü¿ÉöÛ`@à@Çê¾GÅ¿‹%@£jÙCíáPïÛC]ûA¨;ßd.à‹n÷ ¹p`? ƒ$“téÙl…ú³±g8¹Õ7„óÆžaçEíï‹‚mò¦÷æä?¥F—¨üG©ýn}zó‹ñ?üa|æ½gÏnÿööí¸äpâO¶pMhåäÊÊBsS€W–ÖÎ/«FøÀ³¹iø™çËQ&B[{€—ǧ§BàŸSJT´O}d åöŒÿ* ÓGƒXLOçïOk©àt*•“ƒ£Ñ„œ*ÆôTÀôÝi÷µ»ùûÚZ0fëêÚäž¡{l¸.V‹¿Œ»>t)¾QJß,½Ãa@y‰=]Ò‹[ÚT,ø'D˜ˆ±¿E€ •yv¼õ{æûsÕ7«¿) äË?ß¹óÙgB¸c?<ü ‡ˆù5µèf0}]¬Ê…9íææìܬÍf;@˜cñóÆ[Ö©°°œ°@o ´uæÎ‡ò¦Œ^˜òñ€¹µ¾©¤Ÿc/3Ø4Ds ë•Ýv1¨³[QÝQ3Ó‚ 0ÿè3@59*ÂÍá/@=:|É?ð äÁ\]ØðhÄ&|Í•‚9!Î:H€'üèúýâ·y^ÿ ›I!H°VÌñ@h˜a€ÒO¨Žaí£ñw9ð­èa¨0 µ_8àŵ½íÙnIžñqªÿãTø·=7ÎF@ÞNKkÓtth‰$ŸVof||¼§³AŸO×ãë‘¡tçbÙ?,‚Ú>ŒˆŽ?^,e³‹ôäµm÷:-ú•ÍÀˆ[Ûè¨Õëü#Fã ýz}F€2ìöQ2ƒ‹‹>IÖ‹Ù¢\ѲÙÀ£„Kd`ü#kZTÏ,R-o*[Ew…»ñ„K‹F™Œ±8"‚f ½©‰”¬ëE=¬H‰-äd–¨iÇfÀÕL,.NèðûáX!Ð4}^[’\*wÿ(èU´bZû&¢J˜+.B Ö9“ø–%ô×hJJ„{œáH szà ›Œ>Üû¦¿Ép[Ç‚“­ú ÈÚé:"¦2®èí¨LŸ„¹V;”Š‚äa¥‚8‚È‚"EU8NO´€· )àtm=MlUä§²\‰œ9 ggNŽ#d [ÿy.@Ï©û_{ÑñóÞ?Ù€U€èÔ“< -`V¿}}VxÀ#~^õw÷Ÿð»`¢å_9Ø?Ü_@Á~–@]¡àÁ¾ýmz+oCþÿ3ûNòÿjÛ?' pÔ%CùP¨Ûì6 l&Cl Ü´ /”‘3ÖóÏŽ7D§S§³Ú[¢ó;Þ8.Pó½Øö¸ÇëõÝŒMPåÇ`9öéÖ§_üSç‹ÿgæöíg·o?{öìÝßÞþ_^™ù§NÇAb}þ¶pðüàÕ0€ŽÖ-€POÕŒpÎ0&gs0û0, P³b£¿¿ `𺀓Mû}§msoî¿ -(ÆŠ[Tã§ÜAw0ÿa^žŸ¾œJÉ룗Y XÔ©»˜úhú|€Àå)5•2 ]uærH°Ôs9w鯥Ò/}×éÍ¥ë7.¥ob9tëæ@Òct¤ùàô‰v†aâ³³û uýbê¿ËŽ€ï° Ð€øÚkW_ûç7L `½ð³;¿ã( v{ÿ§Û<>õÎnòvÍ@@“þf°ïάmv|Ö6#ÀØ ã¿òrãwÅ:ýh€‚h‰ÿ "Yw˜3ˆâQ­]@]é>Ü”óò]ÔFÇ™$€5?ê ³A?¬ -Â@ÝãÌTsˆQ7ÎÙ}}hyÙ/‚YÈæš0PMÔ£ÖÍxÀº°ñüBÁv±þã[«ãŠÓ>¸ š[¡@`ÏàÁÚÀ\ö›Bñn¤@ËØÏvŒÁŒMÁq€´—ž ~àÿæé ú9jÿÑÓ±Ê?v (-˜)•m=yããÞmï8 -¿šÿqoÇ6î£×_U©<3 %þÈ€€w|Üç.nŸæ[] e¿DÔß•xI(8¡t²ü¸4D…ìßø8 …ØYð‹A Æ0f¾"…1@ ?îÎȘë+°¬­èS™€Ýʤ•¨üÑPÖ'ËÚê„æË²é@À—™ø”*pt*£QýêÊè0ð¯hEuì<äûh•œ\©|:Y‰Æ&ÜE\CZ*î¢î›`ïÿ¨|ï×¢¢³Çš š``´üŠÓ¬ÿ¨ßQëúzEÂg£Qx6£QŽ¢÷\.¹Âž‚ØW0'A,"f^ Â¢;…m~©œ;ÎøT-N×ÔÅŸ98ƒ«ŸܱS‡ØÕ‡ÍݘO1À,ARàüãâƒ>Ãv€MÜcœ'Š&+ô©ÐO¯@¯/bî ; >>’ÓçNзß.ÑÏÄ,Ž,.Ø Ü¢×#¥™žhر¸P8Ñ ˜Δ^ÿõÐPih1{Óëíu -l.<Óóo´ê-¡ cõ­.ü‡¦°yìû½[º\I4e—k}ÉõÑÐHvu"°ä¢ž[¾·éÿb6C€d1 iå{¿˜¤¦D=Eß’Z¦ì&( EõhpÒ¤éWpYÂT»ÿ¨¬&tLì%-µ-L¢ ‘ÀŠª6‹$ž /HB0\Qû©²JQVùq¢`ÔÅ”€¨ŒhMf2¢äŠ>Ŷ_ŠnE£.¾OýX@ ±‹P˜·ý¦šv;v„×Û@•§08µÈ\¦"@Øbžæœ`ÎùöÄ9uDTèÿ*.g؉ÑûBxbN€”³…ˆ¾• Ÿ‘¾ƒ³È™à„E¦0®÷ÝsnÿŒþÿ[¬ÿ9€ÚódòíÆa7Ùb@áhïv1`Å’ÞtéÍÿ-É.øû¼A€T÷™*˜|Ò…{Ï!"†ìÉ÷Vü HÂÞ¶ƒKÐ؇ ÀÏ’¡îŽ}Ç>Ün‡ìÃvðÍ£&3™ ÀC€$ÔÉ5Clâãœ_ôúüÚDíåß&~Davlã¿^ùM–<ò'~èßñ„-1•F ¼€Ä¥úUó¥ŠDœøvµ -ߟ¯<6[Çç)Àx¼ÓimÇǽL¤¿bkƒ°[‹j2•ì–­33Þ±uÒ¥Å!º`¨?’^]Í–>î]0þ±¸ü¦­ŸÈ -¤Û¼Ž•«â0Z-o¦Cx¤×*aÀ1‡JÖ8*ðÊDÔë-OEÓ*O²Ñ`P§x´ìÈb`²âÚÖ%ä ×3‹iúÌ£ L?˜<•™¤>t?Îò§ ú%DÁ¯ºÀ5Ts€€ž äEjï]rjÒjôéóÔ¹/y¨ÞÃG€~›.9Qq©ô18hà%vþ¦0p‰bˆI¢ƒ'¢’ùéæS36¸üÔ%¼‚Ø ˆÌ〰`ñ1ðÔ!ÎËN*ä¿3 ¸ 0˜Nx_×î_¦t9xúý ÓcX>?˜u¿s?Ÿ7¤TΟ˄ù=Þ¬ûÄ - t£té‘—Þܸ^‚Ð?ÜîŒÏ™Ìåš9C0û~Àʼþ¼ñP¬ýoýNþÁ þ½@¯ñóU ^{ãªøøª¼ñÙï?1]~B ë KŽæç;‘·‰*6k³ýêW›³3¶Ž0ˆ©å·rÿ¬Ú?V7Ó€9#X¤Sû_7/ÿEöœXÄs?^ÐéT¿Pº0@5¯ÍÔ*ˆ›³@µŽR¯…û”ý¹ZøqXxÓñ -5wQÔÕšÙÿ«¢ëW­ÅÓÔ‚i  -¶€ø?ã®^å_‹M,ü ÃÀŒ2ƒÌ*_8Ïøcê_Á6èùÍÉ€À6ªò¶óõ?SŒ‚€`·Øæ¬?ÆÜÚft•<à @DDr" ƒ¿Z%@™ü‚êä¤w{ÛC ¯×ÓÚöÆg¼ÞøqÛ6 ÿÇ;…–­×ÂÎ_Ç6@Ø{Z½íx:]ʦ³#C#V}étœþù1Ñ»È8·÷evˆðÂÐPÀçûòËñq:Ö a€VKèý=Aúc ˆ€‰ÇϘG’}²Ï§ÉJ%è‚Ý~eRÎäµG¾Œ{Õ•+¾ÀµLùQ Т“.ɳ„(àÄdÆW¡bœˆÅ@þçỄ‹‹šóŒ¦ÉTúçe ¨sf'Š„*Ñ„\ü!€tûh3*áq€Þ~mÍ…`‚(–jDU$eMQÕèØôMHLà`y^®ð Ýâá?›=åŒ`U â\`•ð‚ø]¡äEºF$|*øœø‡W&À+ú°™Ì6C@ìp‚³<çDDô¯S¢KY Rh#lŠŽ9ÛBþðŸb!âwÖàÛçXD¨eq(6ý˜÷£ÖS¹ÏäýÑ'ìÉv×Ü -€,ÈœALûÙˆgü -…ÿÉ>Þ²[0‡ bûþ·L0°·»‡@öý8vÛû ûQ{§—P<TÿùÆr£œlvCnƒÅ€Ýƒ¤ê,¨6¿­À.UclL]‡W€ãcgnÛ%»¶*Å„>9;5‘*O„R£Ðò(u–ÿ4ù‡?ŒsûÙñmÔÿ·ðÌàÊoŸ½;ów‰þ‘Á¿|>p¼š CKL(Õûa:m€3œÛ¤‡ªáÙ¬¢Ñpb¶ € þh ,Óý›™Ì,êš!¬›¹ÍÙÄZîoÌÇ´­|FL>¼Ó.çGƒ˜lí½ŸÑbÁb>ŸæÝwïçïÁu5¬…sô+ž5 ]GàO*ÿµiŸû¿ ]*ýý žݘä¹h,–ú#' O¶‡wM€ªÎï}ÂV? ÃðŽ0ºúÚUS @H@P^R@ÓОüIÀé¦Í*^V. ÈÔ¦Înöf7m³³¿šµ! -kr{ÅZû^èú76e¿nf×ëõAýçwk–‰~]­ŸÿÏçõ~ÿ`ÁU«aooÒ nýKãü".U=ì¨ «ý3ks¦y½ôÕó£ö­{âìÁW|!þ~|Õ¾I´ôsæŸ+æaU¶|I(Y0'þsçé…‚ xAægŠ0 ÍSæ`~Æà!Æý_Óµ6é… Ï8g'Lâ:ã @ßrÄü_Qä›ÔH{&;©ãíxÇ¿ñT ¼ã“¶íjÕoõ ãНhÐ9 È;Ó‘ŒÇã?_Z¼ž*¥W}ÙtÀcûcHB¾Ï - O/–^Z dVWW½žíN§àDÄ02†z~"ѽþ…`£Ï^’• -ýǹ©Ñª—ðTŠÍÊ”Ò}«_fêQ1»˜˜ø½›Y-£«_ WS2 -/güà¤b^er°¸%ƒðŸ“_I-êlF*•j€(‚ #8ªØ`¿Õ€×ÏI¿®*,þÁ  ã»"hþAøo¢ÍfÇaÓ8Q–Íé@“ðfü+d°f0Z?¼öàºÏ=6 ->aŽHœ dê¶x_ûx`À$Ÿp. g°M¸âŸöø§ðEBûïX`sÞ°¥ðé *‡ôiäs01¡‹…>!–S‡œœü9àôÉÉXA®g_h`*½o®º"˜÷ô‰ä -Ô< Àtξ‡Lî„Ë•“TºÝ,}U—’(k•Jy^—ýÏ©à Ôò—çéÓeIpùW¤ù”}…›þ¦k¾¢D.tì‘§.‘ ŒI¼K°ô"ŒNX!È(Óƒ…ÿ W;™@lö3 :­À¾¾S$@Åù˜0Àª»KDƒàD°Ÿ!,@˜ÝžBéè¢o÷LI$ÒÇéäô$9sœžœ9þŒúÿüÛçTÿ÷EtXyÔ›'w¨È/`ÿÏ>ÀÝ!XáO%÷`BÜ‘ìv“o;AûãÀ>ê3Øüz!)ˆ @° ¤Û~»›| •$ÜìÝn£Ýn´öáÐQ{ç<z'Ô(ÛCöån¨ydo¼€"p¿{Ð]pá\`«÷PIÕŸÏlê˜Jïp–yËcH•f¨*?(O”—›Ge:ÖÑÑîÑpttôÓ©?tÆÿîÝg·ß½ý[1xë_Þm½{ülæ›íB˜9œ×œ¯ö›Dßa±ÿ…u K¥ÔªÿÔ™£óÖ^n–Ê5Rstò`ÿ¯>«/–=ÀËt@Aêùg=9a$häöPþs“P¬U¤:ÿdÒÐ_#HÅæåüTqz€wŠrþþ嘖¦¶ö ,ô²{ŠÀTÐ=}÷î]]×ýF0VgY°Î€ b€.ýÒë.Ý(ÝH_ºäK]K»§2A·ž[—¹õÄV,œÿ¾€½½³+ôþw8 P<†˜|ò'WEßÏB@1àOq*à­Oþ2À0k”Á|ô‚R7+/ïÁàÃ_ ´ýÈú T±!O§ù#hŠ"„‚!ÀL: ‹S³ÓÉaú¢Ã…É‚ìž,œÂÐ)”"G€w¢F£þWØÕX$(gaêý±g @ùíŸVVž°Áðsu§£¨ÿlå>‹»¬dv`‰Læ§nÂîa7)p¼q@l&Ðmïï¼mßí7VÚö¶½qHU¿ÛH&Þ³ÿ fûî$?·ïÚoÙwC·šG¡£æ2]g¹*7¢£îîq@.uÎÉž ÿX­P¯Ñ‚ýþVþ¥¥¹5£Òl6šrù¨qDØá¨±:BÀîQt4õé?óªÿ·Ÿ½{[ŽñÜ{†áéLÏS€ÿñéµWûMúEjž>kŒÐÇHŽÓµ¹ºÇCåZO݉Œ@¿JçD¤¢1¨!9¸oÔ–<ð¢,v@›`X#õž^å~”º÷CŸS.V¢ØËùs>›¾k—J¥Ò ßMÿíç¿|sÕý&œ€‚¾€–ËIOÚ|*ûÞà[Lv-æßÃßqú/‹níî€Sà×, õ–^±!À„níî†ÚÉŸ˜è9ÿyÃj3·Ú6¸ÍnþŠÇÚ½Þœhý º?ú/öý”*`8XÔ­ç˜÷uk#ÿr1Øw"ÙO]’5-ÈëHé© £¯rޝ" -·Ý|þýÚ½ü#]Ðè\I¯ó““*Úƒbð†ç„œ Náü-SÑJTÁXóƒàŠD*•éƒÀ.äG5Ø UžògÀÄ[ ð‡TŸyüaÓq/,ú|B Ô’ã\{–C¼¡w‚ï·p"œÜAä{,üƒë%ÄgwG¥BÕ!|—,àݾàôqþòÄdö%P”3– -™€3vþ3&ß>ù €fëQ­G&/Šã4€Ĭ€¤å -|¥ÀÊôÚGV¬Àìî›N€ô– rÿÞNÂø¿ý6ÐÅ{IDŠ8º»C;’€“íÆNcØ¾ÓØ9ÚùœZöP;z hw¾±Ü %±H2 Ài¨Û{{nÔ ~µÕßP[8Wês8+¬y‰0J»ÛòÂP›p@{9" 0šýtêƒø7ߦËñígÇW ;èÙñÆ3ÿØṉ̃¿Ó£?ÑiøÕê ¼_­VÅ•Guf8+ŽSÌCAÃCµÇ8s†8 ~Âa™ŠU ˜ˆ±€…NCzö a~FiEŒŽHçT– JÖ üü䯤èêÓyw0øá‡S‰àý|0–ÓG5Éˆêˆ -*fŠw§ƒÓ«ÁÑ»÷ݪ«h¬}š©9¹µœ˜¤K—¼Co–nü¼tãË/†Jw&£ôDn¯B¿;9¦Ž¾ þýI{'Ä+¶ÿ¿Ã``€íŒÍ^»:xO¯Þ1EôßóíãŸX‚ôsùšÍt±Ýä½µÉqï±Ã??1°²x¹¯¿Ðø›Ý¿(ûaôé~V¯\Äbnñ -ƒõD€0¯ºT<2ýÂ'ב1€z˜³ªÃ€ýfŠæü,ñ«aÈoêc8¸õG. ßRþ `s@ÀôÑ®û"}±7(µˆê_¨«VÊ5.Ù<ÿ™ùG˜bWN²Íάõÿ¯Ä8€wð 26Å5„.ÃÀÜã‡#€çgNзgá3ÐþavFà«^‹ºÚIy+ºÅæÿTþ;q¯w<§^¼ã¯Æ;TýñŠÞF½Ößàœ'N¯ö~äT×Wã>w6½~ºÓ9~ì =¶1°ò±&cÇã¥ÒHvdR€‘4uéÙÅRͶêÇ ÐêÕû¢÷ß ;<×llôÙö¼ÖW‘ŠÎÊÐ+Ew`âžÜƒÅ`à_G²iú¿Óô-Í—Zôe™%©jôѦ»ƒ>ðý*[tÝ%öüJøõ.îîQS1ç§²ÝL̘ƒ.îôÄbW0ŸÊÈLPY—µryœB  ™C.>s`DGÖæå§R":•¡ d5_øÄ ‡B—(éáñËæìa‘ø³Ž8W$)âúßUû˜3?˜Ÿ˜Â€Ss7vD„üÿÄ´bŸ@pþ\ì6ØÌ@`µ:¹Æ³Þß)UØÔ8rƇTXJÀ{(NN~týþíÉÊØö¬0Ï]fé¡;GÛþ6µõ¨ù‚ Ü]–𵓠f‚7´t9à}<=€†ClýQæÅÛð$„ÅB‚ìídèíÐ{ woµ‡C»öå£nªIí{2Ô8*‡ÊÝr÷¨Ûx’Lº\tPmüÏM•ÖS“è,â©Jª¡D0¸ #"V¨"4)@c·}úd>+à¿ÿx†Àñ1öax{v\ŸÛxvŒÇ«nÓ1Фgz4-ì_F¯ªÃC€Î^(ù Ó®;{>©, dPÕÉn aŽF N?Z@tB<Èá£b¬©|<$þÚ@,Œƒ¾à´ÛÌ_’S÷?ÕåùËRÿt¹Óܱw&òAw&x÷~@uÅ ÿ:œô͵œ±§¯Я•~‰$ÀI¦\ûÇ´÷ÿ(]£þCÏë{¹„±žÈ%¤R/ÿ笴€Ï>¼#,ï -ÀÎCð÷·û¦#CËà¡P.‡ì‡à˜ÕK¾1¹ê›–޽P/6ê,î³ @ý¼ÿ߸Èþ³vÿç¾Ð±†ã\Gðéý¹00@¸nÎ -<8ʶ/ìó0Œ¾p_€àXÇž‡gý>ô~øPÅW è³¶Éõ@HÙ°hn\ œƒë~k}P/¨ÿuçËü¾žÈM´²çÌè#xÿ1ýoÎ ÀMÓ\[.õ›…A$!f.‚àõßé¥ZÈ3g¤ªô•gž…Õ^«æòùžòVÚ³x?±ö'$`ë|°zsÆfëm³6¯Ðª·xP€P«€,ÀVµÕéPÝtzdñõÅl:›?wðëóÿ7.DÎd³ÿBXáQT€‘ÅߺîÓ|ñ¯T8˜ì÷7D$ ãA¬íÚZQC.Uäf©|:‘Ùò-c®(•þ¬;0ôþâëÙ,ႊ¢'wq*êBOå›®^‘@õ——rUUÅÁ"¢û¤º¤¨ -› S)Ÿ/ÎO€.8Àtª÷ &–äŠê;éã*»R•/kÁ”VYÒ´rTÓ3EYƒ’+ú_³œ‚©@T¥€ -°K¦/5¥æÓ -DMúA¸+O%El°Ógý’}°×çž'˜úXT¸ÿ…ðäd<¾¢8c³`Ÿ}ÝÌ„7ÓAèÄ8¹,Ë.æñQAwá.?KZTaÏaÅyv‚UÔÂ"ßÑÃ结3lN©úónâGפþãûd¶üTëÓ Þßa7‚&7þv™ ÀeÌþ$ úX @˜ÀÂL XyÝ@’׬ßK6ÞkØÛtìFˆîc·Æ# lSóßNî4†Ãôj7´{jî6Bù4Í导=Ôl`X9ˆHNO§ÀZªÕ¿F'tß*@O {à›G¦a€n¦¸ Ï…vËË·Êó©ÉO¯{?žéÀ plìgcÂL™Ó½ÓãZø·é8‹áŒU¥':aáÜÉÍZÕŸ†ý5è̙3ÃcB@ßÃPÏÂ/0Œ@ÍRž#ÊšŸ5C~C…úÈcs8ªk’¥™Àœÿê'óÓML.Og¦òWƒ¹Ôý|*–Ó¬%ôõu½¸•Ñów§ƒÁ)Ìæœ)C•õM`/àÒµéíÀ›ÈþÇkñ_—®]Ïd2nj¿”Kè‰ØÖhìòË÷|(Àþ™h|‚lî<0­ê/DßÀ$€à§"œÎ(œûÖ›ò6±ä/œuÏ`®PpÿÍúoy¸oŒ+6êõïm΀…8ãÚ¯Ô‹Í=& ÖÌÏ® 2{Y·N@]È܈!úyܦ@,f¨ü÷E…¯‰±¿êç-Wýšy<¿¬y±…°¿f1LÕbÝ"Ì‹çææLÓC3÷GlUl›å -l®UZÌVü¶óDFƒ—~–¨ÌgTËšp*ý~䬦¨a6j¨ú&¥ˆRiIÛTþmÔþÛÐüS×߉§¡ðö¶;33=$^a -”R¨©ü{Ç©eW\“éôbvq1íŽûÒYÎ4ëÿñ•s c ²ÙôÐÁ€À¿,f‡³÷ò³Ý£ö«6ïöX¯UJî´?oüŽ`Ành8´ÜM Úß8ê–!8ÑS$étщR,çTíü6Õp®%_,€}ÀÑE]8 WAƒíe:ÌrhyxÙ~yT~‘ûâƒÎøÇ½ofzÇWêWà%0&b7ÆžÿôJ_Á^Ah™U+¢…_‹]nÝp -ÕØæöOÚƒ©Ÿ´‰Á½„UgßL 0§–/Š¢nØ:8ìVBtÆQ £jˆÉéšQ=°Hõ`48zÙœ3|4Kh—·û+Ëzl= æ/WÝ©óS›NLrëá~N;"‡€žþûR)ýË´'}£tãÆ—ÿ­äû‡ô5wÐç "ØXOLîiZ*õ=àáNhx—õ~° B>äOZ6Tûï\5®Þa? !øŒEöŸœˆ™µôgÃ[“ ¢mù¥`V;?÷ĸ³¯ ª¿á¶1ˆw=îÆ -…±ºÕå[1ÖüŠûó1€¿n:«/¡€Ú@ 00ê7¿Îä:?Œé!Ìä=à ÂàúŽªÞ0÷ý¦Óof"(f?~“`z -™J@¡û· ! Xð¶  ô… ¾E–W S&z¶¹s×ã¹ó ‚e $ž»Ï¬üL´Ì?ðŒ9Á`o@^x°Òÿ ->0^pFÎ`éÞô™À3Àºÿ«ÉIjaõ$ÿTù¿ŒÃùÇ;C ó¥>=ÞÎø8"3 ~¿µQØ  ª=[µÚëØä›éÅRöúê*=g¯­öüÖŸû˜-|¯ zÓ$¸óAúuêýa@É/ޤe—ǯ¶l©å߀ ÐІôklÅvfõui•He$ûëÅTf[ÿÅÐÈÈûÀPvdèý_LÈzFÖd½XÌOÊZÌ£D\:9A*þ ¹âBwòA’`ÍK…ÜÎÉQ-*E ç—¶ä -T -Kÿ%©m²ñÝL¤¦Q]vI¢vW`5Èöĉ¨žJTÊTð›Ý}Bb*ö›˜©cÖ0/±³›.†"9Ê—+fCa…3Ù"(ÂÁ * -s„Y„^aaÚËÁüŠ+;ŒOœ,@ À©“‰….…jCq9œóë\p„9t€1…³ÂÑC LPqrf‰ã»ÓS¸ž>ÿ‘'êÿVö“O¨NS¥,ÛÍFÃÎCú}|h1f컸æ¡0 ù+M4ñôi;0€/T°°€Á§ î7’;ÝPw˜ FHppȦf}g˜Ð‘}÷½aªþŸ·wíÃ¡ÝÆ­F¨¼Û ÍSd/7a l?h$#Í0¤€Ü xÖü{_³#!Ÿ$WD‚!ÑBx>¢Ã —w©£[å§S_L^÷yâ3gZ½±±gì%,,é!~Üë…Ùàô‡Z¨U3ºDµŒÓÕ‚`CUµM‰¾Óª!y<›ÏÚœ¤šb>ÕF0=ö±0…N†)¢â7V{eE ±ÖO fLû×ÔT¸(3€Ñ©Ër,¨óÓ™©é»Ó‰Xþþ墌 €!!éG—§ Œݱû÷õY5ŠõÊd-œÓ7׿ör¾bnNO_#P*yÜ7o\r_*ù~}mѽJ·Ë`«¬'¶´Ø÷H€ßí·¡`½DÃ"þêýîîÑÇZA€Âð5Aü³ž9ÈôLþ¤>€æÀÆy5ÐÚ¬-6¯™éV0Çïâ± 0;|ÿ†Uý7ØŽS´Ç`@—cP¨—,XKÓÂÒž¿ˆä­2y…8ŸIyVìÕùÀ"ZXF5FÆœŠ©ªæÎ^@f€ß:p¬hü 0è›Òÿš@¦>€¿À<k(/Äÿê€tP0­ÿ…Ð?XþÛXöÇ`É_°ÙÄX0*-ç?C”þM›˜vÅœ0<6-ýü“ðw6Çÿ´FáþìቄÏÎØüO¬9 ‡ûÕBUšüT¯èñíÖö¶mÜÿ`5>>ã…pÏ›N{[’ÍF„-Ôu¼imÀ  UeC^g2wA«7W}qwúf§UV@–` -dzúöâÙl2ÀÅG@&ƒa@v•ÞõÙ¾²u¼è Z "/$ Ѓdc}Zë;OªTo¥JTËŒŒ eeõEtûïdG²÷Þ™Ðe~åIx÷U¢r°ø)‚•Xš~¨á¥JBƒ£/¨¯®ƒz9*ÙµO¦«ªŠ_”jßéF\rNU¸¨…UFT€‰(Áz•ˆ&ÊZ4‘ _Oé`î#Š[Bø‘DÚBïOŸ³+Íym D;vpž,8 -DøœÊ§(êØDÖ) -…À$‚ -Søàääá‚D‡åa!fôšjŠ¢rŸ¿¶À‰âZ $éÄ¡¨'¬b8ˆ(€µ? ýÊyBVÐq΄ØÀ\ÿ¨Àó'+OV¸NÛË]*þåFò¥¼Á$‘ -€Ú¾@W8ù¡Ø‹é}R°Ù¤—³}›fÙ?H8芉¸û@û5ÞKÚÖ€FÅ|Ÿ‡t„“‡C¡v»j …Úå#êÙC寮}¹}Ô\n„^„B ºÇƒöÁÓ$Õ¼9€cmïÅ:/íçé@_'bôl@Ÿtr¬”Ùg‰}n«8Mðøo`0JÀG5>35q7ŸKå?¼Ëm5úKërB/æôLjú®ï¨ëª dˆu#¼çË­{¹¢>r\+å|7J7ÞüòÒ·Tº†0w&XÏQ+’Ò^ÄIV˜ƒ¦ìÂËPn}òÐ2ÿ1WfÝø ŽÀ?»pÔ¶ÿÄ>€Â `Îæ·Dèða(šÙs~žH (`7=ç7SùÊc/źãÌ̶AÌ"ƒyÀ@2P(Sy2¨ó‚«Ï3®ÚE³`Öò ®Œ/ÚqcàÝ+h®uL®ü…š  CxÀ9ÛäöY Ó¯‰µ¿ ÔAb0küÄÇÃof[ô?õÜ«¨ ì -QÝUÿ€èÇiAsƒÔ#Ó Ø´¶Äf·‰Ò?·9k³ÍÄ'™ïÏìEN3bÀ!à:Û3¼Š@„Nèá³pÄŒ¦ß‚¿7ª}i馼å•<˜÷{ÇWǽÔýØl«lK°Ÿ™éµZ=ŒtøGº×›él×áß·ÅåÉëéôbÚ­{½q÷—^ð7xæß»Àý»rn ÿ9–ÿ¿Áóû¿È>Òe_ í©ö¼ññB«ŽP`"ê>Ôú58o˜§'gDr"d7°HEÿýÅÅ‘ÌÈP`53²˜zôþнàä<}aÑ–¿œÑ•„OÓäÊR ÈÓ}}RªFx×·Ÿoò™©W™Ðe½<Úþ%N ^“€Ç’€ŠÑ¼JÏøÅ…© *ÜÒS#?-Sé—£å22†0òoFËë™”¦%@°\ÿðŽŒlÁ(}ÔŒjÚ<…ŽêA_.,~0ïcæ= -]·ÿ0:‘"ØüŸž°A„Cœ èÍ!½ƒ -ú‚q*'läpºBp‚Ü…"9#0ü—"¦„¿“–0ÒSÖEDå då –Cì@øÝØìïïóü¿‚nî¨i‡ï.w÷L`Ÿ^výI2 šÏd@¶ €~€Quò¸ ¦þ¦+à sÀ‡k¬@@­ÿaÃþ3äýòáí¸€mûÎþµÿÃön»;üö0½w«±:jÞ -]nŒ6Ê¡åhè\,õáNuEká5¿²¦_?Xÿzê©¡®%öö?\aA#B q›#;óÛGGG©-Ùíó~àí|0þÍL€·6PÿëðOå§ðF+L¿ŸS€¤4_©ẪOŽ rã_@ª·!Ñ"|ê(Ð͘[«R«ÊZ)•™üôÆœõ3`~6ŸE×øÜ ŽT­/N˜Ò‰Óy*²¦áðàTÍ4þ›˜ŒŽ¦R²æŽ§§ƒÔéOkó0Èi£¤uªÜ¾œ<­åïÆV§ Äfµ„±™Ëm† =“3t7Uÿôµ¡œïRéÍéÒ%ïµ(¹3Sô”Èå`¡”HÐÿûË+€o xZ+ÓÛÝ;o@ Àgw,ï?$ÿ^´ýWï<¼*¬¯ÞyCDÚ“+?=0ÌE?ro 8ß°ýpæ1«¿Ã¡5P@@çmpQ(Æ^êE”WÂXrò£z®6ûVì vªP¶˜›€¾eÍ>Xݿ؅ fKMÌ­˜»bs•—W¿¢… Ï*ZXdsŸA€_¸k«‚Pà¯YñA¢ÿßD).ÌsÏdž¹(*Ì uÜð ö`AlKXRq.ûãW››6Ä+›xÎ ´ &ì0Ú§oD¬¯ ,8;ý³³3BUõŒ@ öÀOQ*·}þÇÇaÐéŒÇ?ïxãÞÉNÇ;ç̾z¿¿ÑÚ(w„ëtªl-Úú íóÆã¥¡´7Q™t»ã‚èÞ/Rÿ/ÌÆÆÆÓØübhèý×G¨€Vó÷V3“™€¬*Bþ»þrPÝÊ2ù$Ðwô •E¨”JK¼ÿ›Å‰ÀÐûÙÊÜÅØ£{C‹mI‡¸@kÒ•ÈëºÏjýMVØ›Š•—úkˆ_¹”¨HÿS]R®‚bïRr°RxïïäÍÚöÜçá½D-~b¾˜` PND‹Á¢Æ3þh1£E˺&#›…Mÿ"˜HÍ&WW³¢•£È †1?OÞ9ˆÝýLXy"$¦Á˜ÑŸžJ,xŒ"ÏéˆöC$1|û-"€“C -7ëH¥HºmAéW\‰ -Âéì.¬yAp¢p–Qä,ü£ôéŽé[%|ò?6 ðùó'OVÜív£ÝF¹Y¶7CÔ.'1žGÝo ¨ µclîöÛ]a@69N]nå#í!ÈpÐH -…`‚èúéB¼KG† ¬@'<Ø¡«ítwèøî$íáÆç!€Ýr#´|D ÔX¶/7—øaßT$ºFíëƒr÷ëõ¯ÿíëuuÎiD0üçê¿o'lƒ¥C·ËC!^Œ6ŽB±ØÍ¥/âÞñë3ñããg$\Ç€…¯Œ…ÇêUçcÇ·„‘Nÿãô‡ ¨ÿg@Õ¼`ÀÀ£Ö`ʼnq@Õà@ ì$ÃPøÅì à“$Û©­ùyÁoNø™/è"u@û -àlaó_áoƒ Fõébp~ÀùËš>úáe]ÖR¡¦õOs¹bBèù»zƼ|?¨Ï9›¹=i6¼æ[@÷åŒõÕkéRúzivvÿóßø®•ÿ»;メb×ÊU¶¾¿xb?Ÿ@`)ÿ~Æ6€üxþ<üg*ùw8 @„YXà&جüûOÿ‹´ëa£ùŸ»Øú›%Ï/𼀺؞­gÒ¾èÁnÖƒž6Ðú›šAº ¡k `öÃVðOÍLã©«&ËO5¹ùþPÈQßEî€+V°ìnÀ`%žSPíûªÉû«ó¦ßß7é±hùëæ6¡xÀÓ?/éÍú_P-›€ +€‚‰‹ÌAmn¶gíLÌ À€0ðüg ›*bþ?° âû2,Þ¥aê1‚€nÁ*„WúKr*0¬€ÎÂgN‰ @¯ÐïG\Þ¥fe2þA|ÛcÛÞö~ùÁ8Ä€3ÛÍG« tflðéíS¾Ñ¯ó‡ €­;¡°ß?¿.OÆÓ¥UŸ]Í–Ò“­—?/™àÍL)»øúÐo¨wy}hâÁÌÈ/²ZzÕ#mÕ톤âõ –^ÁD€ÓyA4Öï+àíWôÅ|F›Ê|”½7òþ•üÀêâÐb*xÈÞ > -êzT÷&ôÀ½@Jƒqß’\‘èôEí>\}Q½£ÍJ3Ñt¹*[¹j…zö¢Õ\®ª¤àF%¿ïäÊï½Bi†ù>ýÔß7]QùFÝOpBr•õZy¾¨Ñt¸ˆÊ³zžãÃ0Ÿß*—¢œö"’ T9#V÷ š}ÂŒP8´7ÌšN—‚+b°ÀÂj¼H$f*àB€-}Â.)âP0U`e°ùà)?'° oŒPJ€H¶Ã'ЍýggÐý;ß9œ,ÿg'Çœð`ÿ€Jx¹ †}¹1ßi¾ÙèvC ÿqßß`:½ÈÄ€÷ÿÜïÓ›˜ú'›èíÁäe>,} üc >Ù=hàî :>pìR›ÎšB|ÿáý}Çþ9Ý €áýáÆï·ì©åáùÑP#Z-'—íËÉ#Œô±W odðâÉ‹ƒò×ë_—¿þúëî‹Cªý‡¼‚À*òC;ü€Ñv"P±¬½¾/ÇÇ?ž™y÷Ù•·®Ð3Û·è?¢Æ@zD‡éwzòœ.ôkú¿KgUe"Ÿˆxü_õ€óGU^ñ×Ã|.ÅÔP9 ŒC]ëªÙýƒÏçga½¥÷ÀàÏø€`ð5q]:ì&Ü>% ¢>v\¨ÿõ K59ËL烙é颮/çcër*Æ !g9·¼Ìóÿó~>7«ªë¹MCWU}}sÀlnÝ¥U)ýo¸ás¿SºæÖ3S¹2s¹=95?uQø-AÝöùà³[Pþ¿Á¡@‚pGÄþ½fF›z€;WŠIÀÕ‡B¸;²îÿ%ÙQ­6yzÍEß/\ð…ã9äFåï™ Ùðz)ôl…‚e#ÎþV@¦ÿ~„X°QçYÀéX xÀPÐøjõAç™ÿ¹%P_DAæ->J;Uø‡Þ™…º/\{ÑîsåW… KaûªIþW­™Á €ü¦?„°çÆD\øU!`‘—ežÙ›õßêÿ9FÙ``›%­k”tŒl‚hòþ˜,J ­`Ê Ø,«`q[ºÏÿxµ7t}g?âì+JŸÉ°ø«SyŸ¼©W¨V—|{}ãñq/¯:ë®wZ -™Ë¨_€Vo¼SU¿j)á¾<\…`dhÑí¾÷òŸûÊ•‹1@Ì€z½/G^_„Hÿ}*Û÷e_Z|Ä}o1ñؼq¯·W8¶°ä†™/…\‰2‚ÅßÜ_­è>WB*^Ó&e™‘¡‰À⣽»Ü#`‘"°ê)"*  UôŒ&±nb£ª®¦¦eô¢6Ì‹ÁbQ/ƒçW•µXe M¿Šr - T8Ál{ÖäC€ €Äæ€Ôá—©•/'ŠE­M4£-ªÉ®¨ž¡æ?ñ´åð]ÁØ‹pòKqq1Xƒ*ìÈRCŠ+ÒÇ4ßaŽ>ù”Šþ?uçœûÇ–b÷Ïߘ‹ $3™€Ó€¨¹~pœž€ -Àö?ŽÓp„ñ†! qÿ²áE€"Üð–Pý?uœ1ý£†…“oOà2{›`”–àá»0èl@¸ýs*0êìù×`~`C`v´£Ãow›‡ %ºMBMôÔì&Ì[@gˆF¿Ñ8ÁÞÝ?â@:B‡©üïØC;ôìØ‡‘ -Äc€æQy´‘:š§· æ&Û/°?XéR¿¿ÿâÅ׸¼H¾ âO(ÔÆ•îaòm-j´ÛBmd í6RóÅøvüã™Ûï¢ÿë-~¦…ú@ÜÚFj6*ÿóÇ?P_¡Ð£O­*jÕo>yàüëY2$cγç81ÅTÔYÜá0•u¿ÑW “(† €5uMQ¥5ÕœmÌp×Z«Òq%˜ 8„éD8,ü¥ÿõOæ cbŒézêþý˜,ϧöük9 €D0¼›ÏÅò— èªs2·gÈsN}–Ö3ôÚçäÓ]™_þæÒ¥ÿ~#~­´˜vû|:2•ŒµõD"mÍ_d®ò€Àï>ü«™à·‹À­Oî|Æk ò®–¯‰(€[»Ãívòpá/ð‹<µñDÚäµ~ËãÖ/oy30×ëÑYé¯W j¹reƒª?¬oØ=~ è6Y]cœ€¢ÿ’E 6ë‚E_¿`÷gb€¾éÎo2ýY—wŽj–ÀbØ¾Ê V¶Œ æú™V¿u•@àÒ_Qþ?ð5…i€À†17˪¼ÏjýÙÄ|ˆ!L&’ΦþO8ØÎ€…EЦ™«dˆnsNà‡9.÷ó׋㘸aÎf ¬ü…W<ýžbŸëŒT¥¯¾ª"˜ÐXµ_oµ¼>ßR5¢lÛ$o<§"ÇÞßÛéŒûV?î´ú~¯©€ðXd -èôª„ZõVÏ·äß)eKîÉ›é/½½}¿wqdqA{_–Ðÿ ½ëÀlvÚ½à£t ³½m³Åã|ObtTß8Ϙ¦óed€ýyÕÉ4ýgU–Š«zq"0Èà½÷‡Š÷²AßbæÞ=Š€À¤$5åì½XF—”5ê*ÁIH´™Ô¹²$ÁŒ¦M -{¥ŠT ,9UÛGTt•(D}B@íµðxAçPøªøAXy ¸œÂøž:„Ì0l œ",@þØ À`€Ä=êÿËF”^µPé¡Vs" º÷Ã.³ýä‡wA€X°És4ñönt{ظs¡/wMúøƒñ?^7BbŽ@¯»+˜4VövÞ@ÃÔ«žüÜ~”ü¼{«Jî6wC¡òòür*T.ï¶1Øí%íÍÃû &“ Ýýä“/ºÉ¯Wº Ì@\è®ì¯ Ä+€6ǰ@ˆ ÀÑüă@ŽêÿÇï?Cý õÿŠ lŒ…ÇÌúÿƒ¶ÿ&”ª‚@•ûÿjí.'{Û6F^[gƶí£7íÎÇ0îôü˜ÿ @X eë´Ôê •ëŽWòzW ð¦ã¾¸;>yÌÅK`¬ãû—”ý Öíe²#÷2>ßê¶gÛæ!´áë±€´n¥K‰}Ìj< èÅ! ®kº<)‡2TîGò‹Cï¿?r/K…x$XúÔ€{²ß•X-je·$¬ýµze)G8ÔŠš W¹[ªTqJöæLp¢ÎŸ*k@TiáD•VE¹¡+zå€ÅüÚ¼æJLäQþçËš>¡¹\Íb±Òljºn¥’*V„ÖÉvTdÌ^„žº”•ểº ÿIxáDX#‰€\†E/ô‹¾í(£AED 1 ÂÉ2c ÏW¸×‡= ÖÀNN*DÏÏ¢A–2"Èád÷¶ÿc<€3ŽþyçÉ™pú‘¤¯çÏŸ/¼œOiò<?v÷Szn=?E@ËßOågs›Ž€Ê¬ºN`€ê;&º;àκݥ½Ü›¿¹q©ô÷×W¯•®¹©M ®'rd{Q-6?‘pxhqnQ/ÿÉðŽÉû{H˜`‡ÁÇþ÷/2€^³B€E2à3 ¸ý—Ð#…É(ÛP¸ø qºøt¯¡ÿ•”­cBˆ „~ç3>m3(Œ™^~6ûc^?'YàSõºjæ€ßìÔûB Úo+1vÔ,* Ijí P3ñÏjT:Øü¯ßçã `ÁŠ×Íì_± ¼ÁOsª!"‘ 3xP|~1蛢ˆ9˜•Ú4ðóòÄ&Lxü_À,€Y³s³¢üsígìð+Ëçp?a§ø‰a‡(¬ƒè·Ž¸Lüs¯ø·ü÷“/vûJ„ô«km ¦+Ê”Leii\ªæ>@ë?>î âŸÍë³ÓGðêtz_Õ!äh©j«î‡°×imwÆ* ïõ‘Å,ÀõÕm³}‡™ÏñŸàÌ|¹øzvhdèŒ{©þ -xÿ׋mr½µm³y<ªÚkm˜‘@õ…HŽ>{§Î¬ºu-F[M9sïÿ|Ÿjÿë#ï>ÊüÁ€@à£@ pïÞ$UÉL`u}K7TêºeMŸ_ÊKZ&˜ÐäJ¢Y‰HÅ¥jéšË²6A½TÀLpÏ-™‰k -·ÿðïU ê—¨ÿG +Zœ˜ÈÐ EͼâJº*.*à,.XS”Jv?\ª… ¬À=t9‘ 1¥Ÿ*0¯Â''a@à‘ßtfE»Îi½¸•Kiâ6€Ä‚¡¸? ¾d9aá €ˆ_NfeAØ¥„OEeÇ`x EØ;¥Bååè;¬Aˆ˜ÉCgb(qúcY_Ð,<9XÙGn4ËÝP¹I¥µ ÀSú2½âŽÛvxò¨^Hë`ùÇQ;¬ÿ³wË ¸Ó»Ív·œD¨ @º½Û&,0hÿa0È¡¦ëÀ>}ÝŽ‚Jþlå¨ZÙéîvwß5n5>¡ïcwt—z÷ÑåååPhÆ€¡ý£n·»ÚaÍ@ b_=ab¤ì¯ìÚ8i»ûž*Þ„–Ë9ßøÇÛæ@Ðè„ùVkðÃ/JÕÅŽ–’ä Jå¿ê1°˜ô{ õñã Ϊu>†Åyg7ƒ£ÓUÑß;©¾W]†"媆¡Ð„&ÌÀZUÅn@]SÖ<ê?!¿Êø˜0Âê‚ó?åàGpæ/Ç0ä7'z*u9ÔršŽ @.‘Óµœ|-•¿»>9ýQj”šþ°L`ÏçÌÍÊ{9È7é•ÛθK9©tãÆ¥¥U÷ââ;_ÆÄú_ 0§ÅÎ'ßž>Ɔ÷ÿþá¬\…€9€Ÿ|f‘¯^´þŽÀø@²ðþw‘_¥%[·òëIJ»`Ϊy}|嘃_„oKapÙ¸Ðú_XÀý§ÏþîÞ7¤±|M5;`¸BÙ5´Åô,¶P$9´Ëj(é½NÎéÖ‡lÂ!$1,³;å°Ëf qºSWÍ‚¥ï ì[ýPsÃå.ýà. Ä›ÐäƒH ]öÀ=Ð@øå´°™¿ìÚwz§>Ü÷y+ÑêÙœ™v¨sç¶bb4jLÖû¼ïûüÙæ=Ñѯ¹!!ŽÖa°#Æø)!Ñc&`'䆸ˆt€Ðu?€®2¯Ãþ4««®{ <À¡uM‰yA‡)ÿÂCH˜ì0i &L€@Xf¹.ÁÝÖ¿+LõßãêøðŠ?ÉÁÉž+M%Ê=R<¥Ý9öÀÜÿ¾lN$…Jf–ĤE$ –ºc0~è¿ò<ý"Í2é -Cº{¶ÛµZ,”U”e”¹0²€2C™g««Ôû5¸Nµ# ´k±Õÿ5¾ÛÚcíJ»14Öò´oy"Zdtú“ÑéÑÑO2æ܆‡ÿ5-èí.ËÌôõaI¸ž™oúúî<ôͰ ¢Ô<•J¸1Dà1¶-"nSÙßléí[;Ã)±GhŒØ¶ªÙÒ².[vnžÀÃÿ?Ì3kÎ|N·›³ñâ=ú¿è7KñQ¹BMC¶uýPÕ4Mñ Ýйh(ñÔÚ‡”ÿ ”T]ß’¹ÇÁu $Ôˆûá Û*ú- Âô›t»æ|N· Ú<ìФrì8Ô¼tݲ ¼âÄÝtPTuÛÑY¥(hú<ÈgwžÎ" ­..ÎÓ"çç\á5‚bHiѳé×*n®0ÌV, _€ 8¬À­@Ž¿ÃHó ñ$ õ~çAf °Ÿ3à<ÅNÿ"hxø¿È£¨ÿÃ"eàâF€× ` jM€gU§UM2#€å€tBeã~êúÙ±_ŒÕÙ°Ê›jÕ©£·„·Uy^8^§iAYˆShþôýü%Õ¦x…:§n*0;ö ùOz½§-ª×O“ÕúÓfëN@ÍA¸ÔªƒÉ\ó¨ÚÒ«ÉlK8ÒïÛaþ^¼Y9y þ_:@žxWª'O±¸È¶`àmÕ Û îG&<¸ýû^ÿ ÀÎè?ä΄|í¸B…¿ò²Rª¨„ÃF>Œ½Àóaᘠ~èS9Áµ»ÞçviÓñ— ”ŽñجÐ+ÚüÓJ -a€Mœ)ñW”ŽK¼c7_Ÿ"€¾˜T%±¸ŸHhZîÞà9͈çcÕÌ볓‰Ï4918™‹–´a#_Ú,™!ìè%ºUÚÕÌÑé sa"x÷˯þêÿ^øhôîÏ>2vJĦ±•/Éjá-à·/^@ØÿTL¾v€ %ðAÏØŒÀk¾@O?>6ïDÀBÀ.c}Ê5švvÝàš)ÏY»Ý z¹Õm{纮€o¿쀱 pE,1®îk!ÌÜAæv\w`^1œgS¿n>_?ì²:®LåŸ/_Óºáq$‹Tˆ­c27`§ç‹¼Œ„PÜ7E€%·ë¿êÿC×| šèÿÆÜ·ü¬ù»®ÜŠM¸c€]ë0á†ß¥+§@§gÆð%.øÁÿËÅ4+Ó<¨0ü©ìt:;´2ºg Ñ«D2Ϩæ?[ͬ"Ð3–i4¨*G" ° ˜ƒ€°Sk·+¡ZcŒ¾¦]›k7F§g6F2Ó¾…™¢#‘íÞãáììö?¶‡¨ÿ¿ƒ€Ã¥>ˆû|K‡ß,ÑUòŒE"ž±ØNÍÀíÐAR$ïÀˆ)µ¼\V£–$ °·>è£þßçóÅ‹3}ŸÇ©â›„TY«êáÌç3q;ƾdçu‘ê4^øÔŒ'òò²D¾_m>Vþ¼·Uu?!³Ÿ§ë1XG¹… ¡mè€zNuì}9hË–ZLPýµâ¡_†GŸ¬,BÚï8 âu'$Ç~¥ŠHÄ*Ay_7^Áµ?šÖ˜€‰>Ó\¼´° Lƒ†˜@Ø‚÷)ƒÃ<Î&t‘@`€¾!?û!¶sS*ç"èâbQ¤ Ÿ§ÓÂw®4Ò)v#€è¿Æ9{ Bê’… ðÅó›À¤7ÔqÌê™þWMZIz#8Ý$µó°@åçþ—Lùƒ¡ï ‡ÁÛ¯©ƒþ€ÕŸ€*úU [/o,@oõ ~B˜÷;Í7z]~ õô` %ˆ9€ßö7Á<ª5Ëõ#¶LXÉr®P®&½GYl -šÉð`9à=u¾Ëÿì·jV²‹¼`1Clƒ§X WÐ[VµO"C±±ßŸý¾Ë¼ÍƒÓ³+~ ¹²- $!¬„¥å0Õ~)œ—lú`Ç*©çÃBì,Ȭ ¥„ÖySå6ÙôÓ~ªö¼ÿ7JáÍ -•}E‚kXþC9H(@Ù”6mÂvÉ5Á€s×èÿÿ —›¸ç˜‰•ÿÑÁ„VœLØZVU:çó{f>·H Ÿ˜Ìi1-%í–b›ZɈ¢þ«Ñ­©üVÔoÜ[0Cñ/?þ« ,Ü]ºkF9,8:É{9uò-@öi²_L<F€ˆb À€›ôoÞs/¼ßã¼ÿ€9Gˆ|ñŽ’/+=[@—펖6æ¦×L´Û· >Ö5½¹ëÁàºÕ%@¸ÍR@1èîÒáüâlàN7ØÝgJ—ÏïJóXÆÚ _C®U¥ëc)Êþ[ Óe¯«3yí¿ÆDÀŒÜ @väñ¿ðäsãDü_Ý£Lñž@Ôn×["ær%ØÀÓî*v{Nt™~€ ¢»AØ"Øãqí…î’ÿ?ø‰÷(/ÀeŠŽvúâ¿·g~‡x'&ði$ÜË3¿_Ò$Ù¤n^’·´x"鿦™f¢¨šfÑ’u»rªB»Þ–U5—‡ íLwÙ‘—7îôR ¢ïÓê2ø’¥êþ¸YÜÓÌy¿¿¸ïÇU.ШôÁt6hÛ§ŠàЧt›>zªÀ º§ë¬p¯ŽM»Âd<ÜÜþñ­A êCîÿ± °3¤¯0ˆu€ÂžBç‹°¾ÐS#`/a÷H¡”æú”^tÀÚ™ÃÃzHœwóldr¦0F 7Ðm÷.Îopùcwð-uÏ×h`o«ê´¼I¸æZT]éSÍd³Õ|So²îJ@f«º¡€^Þè^ ^ qMÜ–¥£C'DPÕ›@B6àpÅor<Ð)œ–SÂ@º=¸ÁZoöW[uD%r+Yf0X/WÇ­ÁjËò¶²­lý4 ‘Ù•Ó&LOFp²'ÂÐÒ5Þ§'``ÕAPÀ[íOæ¤èAfl¨}6vv'€íßsý¿u #ú‹¥øÿ:À@r}€Â½åÃ#á¼lçáJê‚û›Øš âpÈ#€XÊmý7CûMÔyú l†°tŒö¿äÁ&Øÿ§|ùfI,ÜúŸD¤Xÿ8¬€'s“¹œ­Qó?x4‘˜œÌ%ª!k%LŽYp0ñ…)'s“ZIK'l• sKÎSíŸ@l°¹anh3¡{_}¼ðñO6F~v÷®y/ªl«yÉsoYþ/^ÔëO±ï'ðOŽž¸ Þ?N àƒÞü2Az¯DPáñ“ñÇGÂð$¸ vnënþ=¼„¦b‡ •¤|·¿'ØXš‰OÏ`ÀåßwHßø¹5}3#µF$ƒLÂö,…™8°†ÙG¼÷r¦cÒè†9×¢>3hÈöõû?¼…çU;jãó³q*ñQߌÏG…Þ¦ú,‡%]—GŠà멲išþ„©£ª®©†¤8yK×!ëW9ćÎË6Rƒ9-øT €}Íó·ƒi»X«¦ð›šID-ìTÕ ×_$ùXYÚL ÿ²èØé&uìtnê0…N>Pý±ß L‚¯$¤¤‚˶;H`ßž´Á³Š•g °3°ˆÍÙ0ýÚ¶²Hj[ -@T Ž×LêK¥™(Kʹ;à‡Þ0³ÂËGŸãæ.ñ‹œ Í7ÀÅðß2€VM U;‰¡=›æëTέ¦Þd{ L÷á|"ÜV¸YÏÖâÛt²LÂdÓjZY ƒƒj5K7fÑÍQã_å9€ƒVAø¾¦˜úCl=`Õ•f!l$½ç=¢IJ½£z¿wª¹ÙJ” -ÉV=WíÏŠ]‹êIr‘“NÐøc 6Z™@ˆ7~z’ü°uò”£«Õ½IùWSCcccðBÿÅÙö/oŸÝÞ¦£\*}ñCÓ•à Í4ÀŠÃ)€a{yy1×1)u±†CbgMÄ©ÒA´s PèÃs®õp -qiÇ€>%UJJE¢k©ÿ¯lò ²] °™b‹ —(‹Àù¿ÏúÿÃ9å\BÒx@í6ƒ³¹CVa‚dä·îmIælâ¯ùD"—ËOÝ ¥£tÇäwh~+¿5¢ÈGÍ„9ªMÏ„´ÿláã3£wï.L›÷LML¶0˜œ,\§Ø­dáÀÁ¿TÍ×Pø=}:ÎÁÀbäÏÚ¿ÇlÌÞërÖ¿†Š°^ñâÛz7÷%ç_¹Ñ¿»×bî1üwÅë®ÕMŒ“…]àÜ-—»}kûö5øì‚0,˜kω`]—MÚµ?¬|Öºù@]À»z®Ê® "Œ³«D4 #€N—È î5·åÇôý "RàÌ^ˆêÏßÊŠA ºl¼ClwùÏF„ôtrƒŠc" ~>nýçdDŽëcÖ„¸þ@BÈ'RK|Ç툱ý:>ÝaáÄ£Gžß<úÍ÷_=z46!ŒBSS?üù±€…¿~‰@'T¡Š~9°G@…Ÿyöi#|@:d8hxÂcÈ -h@p†É?„ct=Á‚±â7|ŸD§©©ÿD‹/]s€Ún>×7µÈÒj÷}àÿ=|øÍCß¡ùß~þ¿úâñ¸¹‘‰x"Ï2„5nÁ ­íðà *ðxE;˜ŽF7â‡ñ>Sž7—%;q¨kŸÞç›O¨ê=3_JÄçÑþû–Цlš¼¼ÅKÙh&–%]ÓæGÍCUÎÛ¶*ëÈ ÀpÎ@°öÕm6JQe·¹ÄV`dó^§šM…Ÿ@…NØA0ûè’¥šèMå„ ]¶UÓT‘9¤«¼õçDŸÀâ"FAá|娸7ìO4U‹ -\úè+ßÑy¤ ¤ ˆ> Eú2ߟ­ ¡PD>1ý F(×ÏáûC@…ÎØÒ"­qÐN¹V<ã—xðØ{ÅB‰…ˆ—X\BÈÞÁ(þß À M0X\ys’uIoþ[N’Ú~[T¸³ÔÙ7ÁÌ:Xô£Õf6 '÷`{àmQãЀ]åµêŽØXVÒ²X[h9ìè£ÃP¡É;ÿ7TñéÝëÐÈ2ÑÀ[=íÇ -€ÎõgéµI žô9J°Êôâ-XoV[-‘ -€à‚f¶zZ=q0ñ?å ¢à®œ,r"àI-`QT¯Ö‘EèM:²tïwϘç¿ðü¢=÷‹F{¬vv6·ÓÞ ]^à¸Wù¡H•Z´ÿÔ@U¨ì/‡‘‘|XÂÇE Aùñ‹Cð9ë0û/ÛTJl ŒæŸªÿ&ì±éc ì?%$ª¿H  _bs 0dØ;…Gá`p´ALƒ -19øÅln+Ÿ8Æ_›0&g‹³„ ŒìæB o˜yudkKÓ¦ò[ZÔ47¢ñ¿*Ù}_.,|™]XúÙÝ ÍHZþØV ¹Äu^6|ZýG0ýYüõ8ÇTßÇY8þà±»ìÀIŒÞ!ÀOðÞã'Âð]‰¥„x”]‰õlˆãzØ{v§®!7íž™o°Šë¶·ß6¹åÚB%@¯â{XȦ:àäï\ñöxp°&Äû®U˾c¦à°Ëp }ÉúbÀ€· šþø3EïïB€Žàð•.׿äŠÿ°š/uµ†"* ¡Éé< ðãþ~ÿ%á™,<ÿçÄä¿ëì™èÉXgiˆ‘ DSScTý¹Ö?{ôÈý°úè7z€€À[ÜàŸy¾Â,€Ëû¼Ç:©ËN¥F-w#¼<òQDé„‘¼ñ,ã©@ ɬr‰÷4^†BJchu3.ýB -ØkTB_ZðnLÏ,Ff|¯é‰]v¾¥ù;çïÜ™ÐÔ}wþf©Ïw˜F=™ÕžEÆØqØ¥°Ó¤uny¦Íøáh|Þ7?ÿùRQÖ墖+ü yyo¤hÎÇý£3¾¥¥8hT€©&ëÈR5øõÇ5{ËŒ'P«ãþåŠ$Éj~™ª¿a8R¡X¤î½¨Ê -/;©¾ª*'¡ÐKªÄÀûÔá[ºMƒ€Y’¤‚iîÓOðUÝ‘é]‡P‘~º.&õKA¡ÕÓYˆ]é¤ËF£°ù‡%0 †ÀGØËE‘ -À1°„"0%‚Øb(è”náq‚!Ö律ҷ¿ n#0¬HôÙì€Ñ‹høKƒiN&8_¼tù¢—± ¸EßÝÐùEPWÜÀ›&¶óT½“ÛÓGŒí1ÿ§ªNýz®€ðWÝÀŸ“z</»ûQÿ4[=aA3©ˆ€ß¯×r -¼G°pcà:ìàã€TЄ_0Ëé\³ -Ò`ÓËÁ<¤'X@€¡ß[­·ªýõV½\M&ËÕr ÀAë¨Z.Põ/xšÇß—Mž$߸®CÔôŸ,âBÀ7+'+X4!üÈ];€d¡®K{#Ÿxþ‹‡ÞÚÿeŽž8cÿHOšX(0üü?pðœþÕ`Eñ/Æ)!z†¥°½lç—cùÔ…8„îÀðT_R)aAôf¬TÙäÆ¿Ä«©Þ,…d Þ3÷ŸQ8±àÐ'PÿCœÄG\Ð\& 0™Û›µÕû˜Ì&Å{9pT;_À@Å–_Ë«Ÿåî'´½\BÞ-Æ£T ¤‡&&Ø)šæh_>¸ðå_-|9ºñ³»ÓÓ£&‚›t3ÆñÞd.øü{N@ý¼8úúÁú¸~#À$Î?~,Öþï?~G€®)€à¾ÿ·‚€ÿç]Ý™qï.¥Y°Ëé«0;Ák›s-nßß?ô-ùÍ™ißù„,ÑÄjŒñ–T<ˆtЍÅ2£}þ¥¸_›ïóùeƒúwU+šª ã¿ÄÒLBUÍÙùùŸ/®ÊÔª«Å¢¹¬™ªªEõâ|BÀC3Nõ_¦ÃšbÈË‚lÃR‹{ºê× òÿûW#®äÞvTÕÂÁRuKÍŽ%y¨ýÒHÈQ-×Í\ÑÒ iÐ,Õ21 ÷O»-| -ëû |eïnÕrØOæÂ -û ×–¿’!¸9¿® $Á 2ÿ\'òÍU(0ø/ª ? › e8%Ùl  ˆ%{†Àe*>O_*Òåðåy*u‰a~bÊíÿÙðù¿iðíé -ûå²r?ÉK–x“ØÌcàm½AF@¶Zåø>Ð÷8Þ}O˜ÆßdWÀ ×ycÀÜ -•üBÕjêUMÇrøœRûoÁ [už²”°¿þ&\~û½ýÙ§Ô¦·êGÙ¿«ŽW¼G­r¶U('”’åf¹þØÇЂ~å1:…SúÍN¡<É.f_¤þÜ7ø÷>tìÚâˆ3‘ÆXÛ! :1À - ³vk;²AE>§jíÓtÝ 0ZŒ1Æ/šq*û桦ÎÀ0U)ª.[ÑDQÒ‹~Béºö+mYǸ*ÁX -v¿„dY—tµ(I%j®Â|¬ƒ«A&©' ÇÐuÕR÷u‚ -HØ—mÆ&Ÿj6*¹L‚ÈÒ0p$GßÒõ Ôi×X - -òž¬¿r°€­Ö~èßÙq'Eå\”ÿ´ ŠÏx((b;)È:ª¿¤ù—Þ²X -¤*û:ûù^ Óñè½Àf«öƸS ,#1Š™]ûŸszpúªÁ êý‡ÜP°ÈA@„Vš§ÙæfåW™¹g¸ÏË€$”üUSv*çutçTF1­ÿ?ëYx³Þ7uvô«{“Ž—‚èÔjá#X^q¢·¨_·žT¡.hÂ/â|g¾é1 Ÿ^©K&û½ô^(×ÂHf’ëÖzËk%Ëõ”},N°AÀ š¥¢¿ØiÿÚ·3ˑʯ}O±¥´²òú‡€`ðì©$fÄ:: ÍUBô•ì°.™¡À„ÑPrmRb"•]Aƒ/Q¯†Ïoi“ðœy  `ÝO7 -€6±¢T0ëêœ]±$+€Âdúzc61{ö¾?¡%r÷¿Tó¶j„:¥¼˜È³¹ÙûššÈÉ»“¥€6U -mE%SSG´-žl‰ÀÇfú£¯>^ør:úç HÛ1ò›’ªÛª>ùVð·°fÀÑø“¯]ÀûOÞ[F@¿~â¶ý,þ€ù¿ -À¤@@€Çããý-ï;s. @èÜzµlnꪮMÍõÜæ‡ÝæyïmÀ€í ‹àÛHDû«}k·}µ `GŒØwD­Ou7ù;8r­û;"Ò*ÖqwÃÝ@G@®þâûQÝSÝ’J¹KÁuR«ӛ+¬±[VG,¨žïrõ7K*‚®%’J»qÏpXßûö”¦®OIÀìFØÝu™;þ¯ÅJú^±ðç7ôöQçw=Ýú¿+Øüýnx¡ƒ‰WA¼L_vX­ý²]¡¢cDÂáHä@j|ºñÑGŸx`À0àòÏ:'ïÑI-½·Ž+yŽ‚úù~,ÂCϺk~¨ I脨íOêØ%”ùÆ,¦²FÀËjA,ðn¡ùGÄO³À"½~o={T÷&O¾®Ž8JŽ'[Í#«ì͵Žr­‚5X¨–³eBMŒZpLÂTàÄ"“€NO^Tá -™àŠwå[ðÃdó)çà—*Ôõ‚ü«àˆdÚ÷F佨üJI¯œ_¼þã½7ñ†=UˆúîYv*!ÖH5Â¥åáa¶XC@pW…5æ¦`òd“i°–6 1€»TbžŸ‚b@…-€›®_耛ŒØxŒ¦~2@¶´g¿HÜŸMäî%rTÿj^RCkpÚ’a˜õß3rƒ y÷Þqþþ²i˜ÚÞ–† Àn>?2ÀÂôæ'}?Yør!rwá³»÷L-¯b1 U/\÷ø§Ä÷‹jÿ`ýk:Ó›`Àòÿ] × è@LØèNB(gœˆ‹Ýsl®—nï™ê&ÖÎ û1ªÿcèÿÛ·»[_>ôw·¿",ð#€¹[b0×9,´‹±~•Mû0 _sÅ|kl lý`ÔÓ ¹þ€5z<€XŠ#­yùï -Bâ,/\f à0+ªyÊÝ,m¡°åžÕÿˆÉ -¹FÄ‚e <µvø©ÄFA¬d« öî {O7ô—îfþíº÷ý1˜DÌ1'àÑ£ßD~ƒ5ÿØXä7þ½âe0u…É@àFÿLпáH'!%СÊRäßE£¿Î,KáH¸¢¤¥ ½<û„Ê>¢/C«««™gC€0ʸë@·±'ϧÜe•eõnŸ¯oaf©/Òé¸ÅÒÛíÛߣÜŠLÏßñš¾‡>Xø=|x‡ €ïŽïÎ7Kwf62Cž¡±!úAgm÷&n‹T€m<(º>Ñ·nÅ$#¸WÄP_£n~Ƽã3mê˜#ms‡3³‡3p\ò›EÙ¶‹¶^ÔU-· ÍÄ -ÀOˆ!:hÈ·T]6lkN¦ÈqÚìÁÝS¨8ë–ŒþŸn·¨ú5GWý9ÖòãEÕ©S³î¨ûÔö'8†$Œ Û²ZÀbÝq‚ößUĶŸ —Ž@®ÿ˜ÀÜ?h‘ƒ þCÇO@aê=Ó ÐÝKLG€1Ï;(,• †YÈÈ:TB’NØ@Ó)E]Ff>-Ã÷_Gìàð0Á¬l`ˆ‹ï*ˆFç/8ÿÃLüÃ꟭‚.nnÀÊÊ µÊ§pô}Ã~zo„>êu3ÉSvL¬j= Ž€PÒûŸMyx?>]çºÊlÂz«IÅ¿Ë ì@° PÅ{¡i&a5$‚Ðîsú ·Z÷‚yP¯:­fP@²Ú_¯×›ýÉr+ û¿²·UhéðZwŽ -Gô9 …f³Y‡0ëFŸz³ÍE/•~ï‰w¥)² ³¿äßõ—H"ÆÕª—_%ëú½(“ö¤žØ ¦_d_ÿ«ã®½ü.(½‚¥5ý,K¿H¼¬€ÛTº3Ò.iªêVªãèn¤Í°u_e3¼)éöc€’ˆØÀÍ@H@a@@ \ň(õ£ –…U¾?;›¸ïH“X¨[Çrà8/«f^ž-ÜMȹĀ:U4BùÝRlËÄ@£—‰ãR~kb²£…™ŠöåÂÂ_ô,Ì.Ü¥Oh[#ù-©”WÃÔy¼µø§#€ß" è1ÜSM/@X1ãIïwý¸ýÇ -àñ×ããGO½Þxþ.@¬Gýë¶û"h®t]âæÔ½}vvöûߟ¹ýÀnûÖí.€í3ÂÛTGÜ3†µnLШÄw}|PÛy€Op‡sÕûôõkn0ew ¢¸†Ĺ.1 #\Ù¨G,`2~wPóRçÊjÁŽkE(Í–çõ‚KÝ»ƒ“{§˜A ì´Û—Àæ„™E~’ß#ÞöïNôÚÿ) ðta„›¼Û=C¸áfÇb‚í—&*ËP¥IàÆ½O>‰F##‘±¥Ó‘ž!hzšêþ˜'j`€0 "™F¥Æ3€¡1‚ztWU:µÕ0f-!{¶ïç} w–6â‘Ê5Ú×°›…kÓØý#~Øôù㈠°´ÑhŒe†À€S€í¼o3/Ô}@lÇ*#N|´8¹_P¹ÕHb™_–TC¥ºoèæ¾Œ`À-k ǰ©Wµ¢†~€ h­½2.³ÂžE~[ªjØ{ª­æö-µ¸¯ê†ƒDŸWœè,è–§¯2Í"[5Pˆqš¥J-)tÐtë{`‘0ÌûúWº$éÎ+[~ÅZ>Îúãè` üÓAÌþ/†ENLƒ^l0g àf³¿mȺÃË…À9¾†© ©a)HÿoCJ_ §d d€ ÜV@Bb{@ø °£r&¤1òïå¼ a„‚ÿ7üÝMÐÿ­¼99=9áî Tú¦ƒWÖì'Ùµ™Õ}ÜmCàÕÙñŠ€yñîEŠ—õÿt^ôÿ-+iAM@%ßJ:åê~v¿Z¦ÏXÉ}|²êT ,8„ Y§–œ¾8[Æþ?Zú£fö¨:Þ\§ËëÖ¸SNŽ'­B}°UÖr…#«•¯ (Ébž€ÐÌRɇ ½œ4²fÙ¬ŸÔ_xOžžà·e˜BøÁ[N¼…`roÒ»çüïú‹t6{þúâ‡×ÿç)±`O0§ †!FüÃ.sŠ;~¶GáþeS˜KPÙç­?˜ô*Uèm³„O ö·ùç\ÌMÁäþŸë?Ì#RÂâGÁ@à`w0988ŸPƒ@(/å·ÔO¶ò“³‰Yvïà €4ZÜÓ´--z¼»›Ùš ÎbaAÊÿÅÇÓy0ý³¥»£¦©Ḛ́'Œã=½°w}ð‡õd?‡õ?yð˜Ä~¬?~€¹?&Tð¿÷Á{\úQýÁÿ{¼þ`}ßþ®ÀÕ -àí½¿ðº*ÿÔþCç -ÀïÝÊÇkw“ 0à–€9Xµc¾ÕžÛ&Ø’!›²Éÿ"úÄÖÍ…Ãkks;ˆƒ|„á¯ôf• *º¨öî7wÄD@Ðþð ” -u¯õ0@—IÛ¤âÎ buæ~¶#â†bÂ6@XPÿ_šryŒÂ¶ÿªú—ºËO xû¿¶ƒtެ&Æ~Cÿ£Æ»[þÝnùßu þn¯ùïžÛºáäí¦nt´ïP‰!˜s™¾¬J‰Î~rn„+Êïž! hú£gÏ2žvx ‹ìBJÅÓhdV:±v»6W B÷…-ôyifzú£LPŽÖnu›þÛœF(à™HB˜Ï¥%ꟉüóñoîÌ÷ÍøfþÁ7“iŒE††<íF j’Û®š¥v„9$¶=;kµ°_ŠÃÐ/~èW—è¶æeMâ®Ýз&t†qª÷rqÄ6,­š i¨K~º,# @µAû7è|<>" #=B@H2d i°Ú¥v^µT >ÿûºm!òo_•e}_v,}ýƒE#hùÍ"2 Õ@µ×÷è:ÇÚ·7YÈÞ}8±u['ð êAÝÂú^ÇfàFú,¤¢,¥¡”8Ùzé”~EC#LÑüå¥.‚d° uð¶ªZøc$eXÂw Œenò‡‡ùkå * X¼dæÏ¿ƒø/Õ›ý_<ï…¾x}1|à €8Y9YNÔ~æ6½ìÍç4…“Ÿí;¯Þë k $ÓèZHöaA¿›ËòªXö[ÜÍØ¨\°«L5¿e•­2¡‚²^v -ͤÓÒ­,€…%@f…&ìÁlUalõ%[åd«lõ#` šK~QL>†[a«Új¶áí뵓M$ò8ã4{êEñ_áSø¬ k Šdà§6Ô&`=éužz zRŸÜ+½zöÅâë?Ü þ?¥C‚X Õte -¿c> Õ÷ q솖–x¬ëLõÌNy% „t -3àʦ0ü«@‘ê²Ä>€×ÿ®°ðJý8@nr`pr/1 @®8韜Hì©Ç”òšjæóêg‰D"ŸPó¹’bL”J[‰RÂÄ`+º ÀĈ¶^ÈÛ÷ýtá«È48æ=v –Ž Øèî]ŸðÀõ~ð`ýÁûÔñaÐÿõø:ÄÿgšÿÞƒÇ]À'ìô€À×lXqò.Àó˜¨e»Â¨KúëPãæ°˜h{PÿßþWÝÿÕÀÝo³`®ÍVœÀŽ=h¤Eñïë…ù'arßã/u} ÖýÂÈÍèb€€L踠€ß;WuŸ)„ Àœ-‰À?€³‚„1!?vcnEžëEsɤ@wAë·lƒ Às €* ÿ1ÍJ¬ü§ÜM¿ÛëïNõÞºaK$@ÅMÿ™˜€ €Ø¡“PEþdDŽüjcô r©¤+™2™ž­ E"™U¬ÿ#««žUúU¤ÇbÔúoׯj¨UÚcøŠ ‚¥¥éèF4˜–‡Ú.íƒyØå»ŒṖx „<€™;ÜýÇïP§¾tŸè›ùÆwgfæÙ*AOmª!¾øöÕ"`[DDàºCÿƒ°Ã µÛÑâçó‡~ÿÒÏç'©³¥ºjË5^,ýq˜þ²_Ö!È×M¿mÏk65ÌT©‹pùGdy¿8)o…ƒÉ`µ>ÒVêTš©‘7 ú·©áGóíHûE*·*~Æžå?}Ò*ª¦ï¶¥&ègB)m¿*+§Á U´¡ô«]É6 t"L€-¨ìPjQ‘$Û!H ÔwJZY Ó)[øÂHÑ!pÀÄ ‹ÔbHÂØ‡¡Z¶Ä -\ ÒX2XW\*é^Ò•ýG§è(ލ‘÷¸¼¶ü~.JÿððwçÌd àÅ ¦N‹‹'‹'Â6/Ë™|˜ÿW³o¨ü7qâð€¾*üª€I¸üµêøÙõ—ã|“ýÇF>ÔÆsì/^-nü«Ùrµ„’ Ì͹ºï-`’OW8Ž d Õ¤SÎÒy§ÜL6 \žËuœUœ#k=yÔ,'Ç­Ao¿3žL–“GÉd®:^¥OTô$ÆGÙ¤° RŠÐ/òN_ N€×[ý%ï)êV?L -! Fx­÷¼…\9é fÿp“Às$Rtlš[cuv˜ã¡'µ®AêNLÂxb™êö20€¿OÚ?m¢ÑÙŒ…”1ó/"û@©kNÀLSþ„}àà¤1yð~b6—˜L>¿ï—Õ’Ô¹ç˜F.‘£K¥Ó|þ¸”'<Ðv‘´¥™Å龉ӟ~üç ÿ[4s÷§K£QSÛÊË[¥’ ³·g]ÿÉ'¬8¢®~üÌ?üŒÕÅà‰ þÿíû +€Ü` |Y@Gï|ðÜóåÿ­À@ÄØ·1¸ ¯ëÿàB€·5`"@±[ø .´çÞ&b—Žwæ‚ ÈºVt„PäùôøJÜ -·ýïÝ~èaàšX„®^R|1&ÊÈU\¿Þý©BàêRoü?W¢v—›x‘ÝSÚÛíÙÿº Tÿ=žG««\þ»º -—2(˜‚îÄÿ{v(ñëMÿ™`xà -(MOèËN%\{ÙIËÑeY 02¤tR†ÚÿLfãÓO3ŸEÆè5`­64–" ¶ÛCíNg®Q«Ôp -ˆ¥Î;‘¾¾¾Ñ`pÄ÷Q{ûšüÿÖY»‡ÎÆÄb¿™ù{ |ßøèíá‡}ÿ0ãï{ØsÀ™éÌÐXÄã9hœ‰oëÞ ìð -€EÎkÔÁL<¾ßдDÜŸXÚ—µ¢fSûÈjûmêãåDQµ5êÊý uÙ΃ `ç¥JHÑ©éWáXd cÙ–*A‰Ú}f꣜c|¯Ê:À‚êØjbBBT…u`[›Š»¡ëfNÕ9FÀRMÍ´ÛÁ— FÐѵ¢n«Å{E•½~GÒô` -’­÷lñ@̧[º!Ü}©ü§Î‘'V€"¹ÞïAHþ*Šøƒýچ镠lHó è+TÒ¼S¿ÂB$íf*<؇P~à„á äÂ<s¡ÀðeÚ5w¹¾$€óaAõ>¿8¿! àõ·ß® üƒ*w"L}x- aê¤].y1°¯[T1­jÚvÇ¡æ€$úRÝôº¦þ¼È§«ZðÉ2¨RÁ§·‚e• ä ”›e”ûªN?+=I×WuZ2ú½ýõ–w¼y„Æ?YVÊɤC§­2]l $sÎ:}ÿQ²JB¹Ù_¥¿ y’tN„°éšó€5€Ù›IÄ ~X§_Žsà6П| -BµšƒÍA6»r#€p€*/ŃÐ5fM‰ù?X;›ùBUPî]çÞk²Ùðn@1‰qœ ¹Äÿîî?°)θ~@‚þ/ª¿{°eàA8Yž, Þ3&ïÏÞLÜà‹ÁÁ­=LR$tùyýo³ø¢UK”Ò€cíøž_ëMò Dã›é>þr4:½´ &[y©¤kÇ*Yo‘^xŸ¶ŽxpôÛÀçcð„ [a@1x¿ Äà‰p‚ ÀÑSï‹“ówz‡N¹y׈ÿxv'ØêÒ\ç}¹–â#ås°y›؉±1ðÔ®ì» Êº|7¹µ¯ÏS.§±>|õuÐétð[/k‚è áàÎB)—âÚM ¼ÿvKS›;»/‚xˆïÛé²ܾf ‚à&'¹¨@lHvw] ¥Øþc›îßêØDûOìVX)È«zá,.¾èžv_n ž3{÷2ÐIÅjµØå¥¡—ƒƒƒÌ KÓŸf$)³±‘‚û_¤A0€Š~„ºòô ÀN'Ti °§]ëTjí65ì5¥ÓZøOÓ£ñøÌÒ³ð\ûÚÿìV7.òÖÙÔ}Û·ÚCÓ3úþ=ˆ€P,Ýù† óóK3È$æâ[<Ø0f…ÈÚέm<µiSóÏÇý‡ªuWGl[.î—mBäTX+ø—áï£ÍÇãñ_ĨÛý“SŠ<ô‹&Eu94°ë§,˘Æ[ª&4…-›:s]—ô"—}K6lújý-Ú@CUƒ†ãP}—÷M¿ˆ ƒ¨!ÌAûy•nø” ñ+Z€À0 zAØ'ÿ|8v^é¶ó --?uè\z©Ü3OS‹‹°ò±í§+Fny‰E6úPØb“ª\8hª­p@P (2HÇëT -Êzš³ϱWœÓW¦Që—]ÀïßÑ…Kv¦+ypƒ$À?|»¸âÖHú›0óñ6ßTß ›7Û—îMóƒaìÀˆ‡úS¹úcsÛ>Nùɲ. ÊÁà³êT¬1ηÊõ²Sc€*¡«P("Э/8ü´œŸâ<\Z^vûõ–a˜¤Sˆÿ³GUNL&× a” Fxdz-,$ -ÙVö´zJEœþ¢*ËêYªú/šbúϦEõ_Bè}êmÔ½HH2ÿlÃÝzveñfõÿ9§)ÔôKèvè9 ×’ -›˜èÖDwBÇ® -Ø|h+¹)€›±«þžJ¾ÂµŸ:ükWpýï}3wàÖÿTw6ôãpÌ“‰Áϳ9Á¸?8¢RÏCSµ‰¼üÙ V÷öÔÙXÀÌ—¨æk£LÔìB`š£ Ó›ÿ©ï' _Fîþä3mååü/ZÞ=uïmPGÀ×9øhåýëñ§lüõ‚éÿãuLÿÙ ø»xð`+€~oöÝNž{¦vc=+»^ýç„BÐ316uÆ$€«²ß]l÷º¸íä¹ hnGøý#`ª')¸–¤'¶ýlæ»ÖElÌé5×ó/tðúkÍð¯]«þ×p@ÈÆ@.?–ùýˆíÒƒÞc›b-ÐóbäÐÝÿÇ`PAA±«òߣëó¸~­þ»LþŸ16åy4¶ê™û>†ßC7»É‹„RèÇÛ×82‹‹†Àÿ™ tPZ…~£ô¯ À^$QÊÁÈòÈËåƒp¸æA&ä0l×<™H I‚98™µ_†æj ÏPfu®Á™Ìˆ¾ô•o#úIãìšî °§lŒµ ´#3¾ãóÝyè»Ã:€oøôa_ßR|:ãAáêXÃì¸ÒÌ`F(TÇcRû_ô/ùüÅB¼hI’|˜SmIÍùå`ˆ‡Ýtd¤Ã¥,«#á’‚×”aîÏÃè° ýhÎ C¯ÀâoóCfr½¤Šû‰"‚ת£º.ü|¥ ýʰ¨ÿw,,Ô=ì{lýÓiè ý¨ü–jÙA›ðƒŠ°`¼@ âHàBr$êð p¤âEøó¶ä@ÐOÍ9~{øô³¯?¾/ÈjºB–Ò``ãËá -œ&`H•èªmô{ITË•}`ã<¤Ø¶"íô¢bÈ"8€=bHì)”Ây#|>ü] pî.ܾø;ÁÿãþúF.€<ÿve…˵Ö>UÌïWÐl2ŸžCz à0Q“K0ö[^+‹Ø@þ<ºï‹ ÉCAµèç -8-Ìú›s«@ý=üB¡š³ -a'×,°½Ÿ%L’CÁðæªGMzwWǩޗ û·èÜ E7QÀ4 š«:GÙuoõ¿Ó×e©G60Û`àe³bNò‚äxâÍÖ³¿ä_ï)õ¼Pá÷¶ª­¤U‡ q6ýí ë?UlnøÃ•뜾#h€8  ÿSù' 0 MÑ…+ü¦ë€žž®”6éz>}ÊïPê{€î÷Ç -Bf?c'ÀûB¨–$ƒî -ÃÀl_“¿žMLnMlMþl3`î£éßKpýŸÈOØÑ¢æÆÂB0ú“……ÿ:Yøl‰@1Ÿß’ @A½îÙ¿‚8`Äùô÷¯?x+ È'L@`ýÁ:Ëß{Úÿî€^þ¶«+€º÷eu@l®Ëà·Ò?wð{ÅNµÛàýÃ8Ö¾ÕÞ -¼îpº=tÿ;sÛœ›sÅ+ÀO∠‡þ UwÀk€°¹ -uùW$×ë}çOÌ®1Ü}wû¦âÁNMqTàa¨gS¡kÔ@‚kø‘(&òn÷/§JW |ü=»½ñ=ý•®ŒanjâÑØ£nRPI…’{Â#7nòçü炪ׯQèknþÏ| ã7:èW^Âï€SG¢¿Ö+T -‘Z8¡CÌH¤KR¸R+Õ4ГS§Ÿù4Ó¨ÌUæjb@*–g™L&(MöýMßR´Ý+üë1ºí"‚³±¡1ˆsž¾®à¡úX@èŠÃHc*’‹xØSš­ÿÜ)Àm<~Øjm§}1©óŸ¤V¾(ÛSÓ­ùI³hHôO®{ðù“Ð1Á -G‘ øùl¥ý%NVýEÓ4UyÙÖ·$èê µ²?KêISÕ=ͯ¢,Cª‡¹¿ã_Ñ»n-sÓ}ÇÒ‘ê«­„êÀ*¸`‹¸XñØEM—·tKSsªdÞ~š¥ƒð»é{¦T§õWðÀé“)nÚ‡éX„há€È%Àø”í‚B-uK—raä(2v -ûT@v‚ôgÐÑ{Y¦¦ßAÉ~Aÿ{*û¯@„£›Ê¥Ó"‰è2ÀÁ]:ÀyJ‰ÀM+<È"‹× ]?€‹~‡©€Ø¼iòi¿b  8SmRÁFÁ¯ºŠz¨ë€#¼o°ÀL\@ª­:µÿÔø'™«t‚ÉBµ@ï„ -Bø‚,P†ôÁtM¹Zhå¬V9yDøa P®Ó)½¶²ƒõê ·Üh’Íñf+Û¢a"Ô‰ÙÓ‡5§Õ[0¶þ¶ R£%ÃÝ@õ›–aKºáÐ/Æ_<)JA„*âÒ 6aŽG oÚ`ØØû?gf~r€Åùwò! Àå¢ëLå?%h—ç‚ýw>üÝ뛸OÿáÛœӕfÿQ±fKÞ&*§CýÿÁxÃ'òECϺ§å†þ€´ßlZB@M?A4ßTn½"Ìôv„’:%,$ !€…ý?x¹d¡Y(´ -e½ÊóºñAg®ô&éœÿÐúcôŸÄçÖ“VµÐO°À9ª®;ëN½Z퇃‘€ë¤y* 0Û8irÐI—~I¿ªpî÷&›ð¤êߪÖëÉÖJóÅÊ9êÿžÄi@õ‡Š«RüA Ä8 µ6< † ïBÙ©¼B” -_àû vfc@œÄQ‡©.Š™Ôa…-Ì1\úÿ[/pø€‚:YHLª{‰ûŸ%î'r&‡ Nª†”§ûâ8ohyÕ‘ggÕaþGH‡Ù 1¶þAý•\œPê.àDç'è¿ä±ýoÚ½ ‹@ç’ý€é.xù2,_*éÊÁËJ8‘<áÌÙ€«áp-’2ÓŸR¿‰<ûh53VQ^Òÿú Ö©µk‚)4Úáe*zñ‡_õÍl¼l»N·oŸµ{6€gžÌ*a…³gÓ}wæïÌ<Ä€;>ÿ|<>ÿ^gf ôÀ}ÓÔÿ[;<¥SœTñÄ—–rZœ0ÃŒ©ý¹-]–‹²ªZ–.NñcÎÐo.6]gªË É…ª:<^\¦¯[¾?9O_£Ê $Äþ¨ZQ¥ç-¢wh ;Ë6й¢VP‹–nX P¹/¡"X×馘ý¦Š €ª«VQ -8Hl@ˆ$Nöcç?Ä@ H0Æ}àý§%-ª?aÉ–cПO˜j…~]Kµ ÄX6°yÜJ/2ÃaDð'‚_€*ÒMÁ«8„íB -¡>TÒ/… ƒƒ¯Ò¼¢_ê|˜xcößÅwXôŠ,Àó‹×7Š €Sdñ´§*ê5üœ&ûð&àM“çoÞ4éÓ°ó>~"8™]ß,\Ð ð¾IÂ/€J,vå$ìú¨ô'‘.\¶rk –S([ô jî Î@5WÍ5ùË0å/HÒ7öçZ¹V¹@çÊ­Ba"À¤5Xÿ¢ZöTÙ 0Iކx[Í~ȼiŒ °Û¨žÖ¹é¯g™õ~èû?ûa&»:€–·N¿^½žö®¬@øúFS$åæÿ+ðØ¡Ïð„QÀ<(e³“•z*úS›yhþóô -D°É¾€8àÄ¡k€€8ö—nã“bùߟX^/þ€*&rî‹Ïƒ !¼ŸSó%¬J†¤å±HLì©[Ü {rKËï‰ ÀnþNQ31³5F¿üé— £ÑŸÒ»%l°e”èF8ô­ ÀÌàèè·„°à–ÿÁ{=^Gßÿ¾øs&0½~ðø0züäk€§Þì»^<ç @LÌ«{å÷m> ž>·¦æÚ"ú–ë8æã;Û½@·ýÇ w­û×3Ðq›¤â¾·E`·ÈwÀNˆé!w -ÀK}A\êÍþ…æ¿»#–Anm¯Lxa Þ6C]~  õž11`£à 6ÅÁÀb¦;l··@ÿ'Ò}v쑪 „žÐ°Gîà °øŽ©5Ã`¦.S©ËŠ‚@èåKÊU*Ê¥r0d×"hô“ÕH8’9#$èÓ̳L8\‘CÏže>: ;¢ÖÀ²ÖnApЀYP&]¢òßwÇ%à-wðv»]ëúžÑ E?š¾Cu~þ¶þ úfâtyÞgšg¾¹ãÛ@ÁØØPkÞ!‰úßµÚÞéPý×*Äç}ñbJãh»vîØö¯Š~Y¦Â «hú5‡•ý äòÊ’mÀû}êýýTJ‘Æ'a“_AÝwlYgÿ¿@P)Õ}B¹">#:ï ýs‚:¨~–š+n!_ÐÚ—QÖ5¿ê8Z‘ºu -AEU `µ 'ý`Æt ˆ£8ÌxýQ—žÆÄA$-"ˆ>b!€í¿,i&Æ "jE­h‡è{‹*l„àÊŠˆ BŠ.K¬& sš%;¼nÒŠ…ɾlA_Å‚©Wp€à;¥Î/ÓTö¿Ýå•Àùc€ÁX<ÞîsðŸCoœâËš¾7^.þ<8¥w ‚®‰/xM õ ’øFÌN«ÂÚ— þ©*{Ëtm+I-~•1À>¶þTø I*øô­ƒI³ÿBÁ*0= Iu]/7«9nÿ‘ü7× -ÉÁB¹:X´Æ­rk D»£æQ•n»?{ä$³H(È6«‹ô[œVW8À˧V_@¦X…`µ^å0À   -êã‹oQüo6ÅãµÕïJ¬T‘Â(û¡µP¨)d2×($8Ì›!ˆþóâÅ.AôÇóF·ÁùžÊmžØÜ ³ÿ+à[ÇÛÔëŘ$€ñÙÏîÏæ&‚“ÕMƒîÒÍü±jŒ˜*€Ì€½Ïb‹f¾´Iuk2ç’Žóù]ÄlÜÙŽ~¼ðåO¦£ ŸA€!1 ”¡çß78;€ßº;€ß²ïÿxÿSÖ×Ä&€Oºa@¾÷ø}± ‰À?½spMú_šºæMÓËƾ¡äcŸ¸bGÈýÄKŒËÿš°˜‹c|Y@Ç`ç˜êî8Þ§Ûçã¡íFø¸¢>A¼èb€Ô¿âÅutw¡T÷¡/\6ÙÀ…ɬx@¶æ~kW%8%P€8'î–’8‰ñw‹ cãTlnbâƒ#±#õ¿äžáv~þεµà{_€`ç2Õa…ÚïFj…zûpøà ’É|º1t (žgv0Ùˆ¼”Fè`£H#C™‘ÈAà’A³—íÆ˜§i„kµZƒúõ–î@É?33vKÐö»+A ݾ}ÖxöѳÌ?ÌÜñ-=ä®þô>xˆä>Sÿœ.DG¨ÿ÷4†¦jí3FŽÞÜv­¤À$™ Ûñ™¸9ŸŸ×TÍŸ+šfÑŸ°ƒ•MIŸÑÍ‚l8j1!«ÅIURtÃå0‹Iwô0Uû euIRíR±Ù”3,ãÎüÑT]÷ç 4$ݲû„àÝCuÖÀgè&¨ãf ÿ¢²Ç2Bæä@mIG±}ÜW%6 -@¸üIìëfCvÀì<,ê]áŒ!xJû‹#‰¶ìsô—A1J.3  ÿSàóaÃ@Å]²mÙÚ -;x~®PÇôñÀ`J|k -6þ`† )‚ó†Ï/„0 _w~Ã`Þ¬¬À ‹Ù~’£ÿؽ/ÉÖ?T¼ß8àpÜ)Ài¶‰ÔXx…Óq€ø›²»!?°ŠLŸ*Ìöß`X€hA8ü²_N¶²…jÙ"(@ŸÉa@õß´rUlÿË…–c•s¹}e«\¶Z¹2]²¨ñ·ÐýÖádQÏm€·L¡Ðª®gô' €Äp+ &<ž""蜙­7Ÿž<õÖ³O ŸÀ>˜Y -O­d½U¨®dWV^_üñ¦Ïr…™#TÒ+•’›ˆl’5ÎF][¾ØáÑæp—4à 2_ÚšÊçÃT¥J<(UÜâ_ -\±þ]Ô«Ii€—Þà­ À…À‡?°§îMNîɉ¿ ðž+àÿ€ªÙùPjmóX‑›ÕòÅU+MÙÒ˜°5²›?æ@Ô\XˆoF¿Zø‹¾»‘ŸõÁ P¬l5o¨¯ö -oMþÉË+€q—øä1“¨Ø?YGF`ÿÑ×ëã®ðûï=xÏeþ¹o` °>>þ´îÍ®¼ë À‘o/"nK®ów ¢n禠ík·1˜\~®á€;s1xþð€kü¶Xᮉ!@Œ-Ü-ºˆ‰¸]^“ó [·»i!å‡ò?%FW<À?IüãºÍ‡S¡€*‡D0OÁ˜jŒø¦5æÑðŽŸÞç„×v—0Y|a,Ê?¬ÿñÝÔÿ?z´ë.8Äô_ôý%”þÅó×ÿs|5 HQ¿„Ð%$ -"^*•0„‘OÑý{”Keã“»Ï2TûeMIw¨z†<©jü#‹bcTû?jx¨ZSÇ>í›Yêëóõ-­ž¹^Àð¶{6ýlzffÞGÝûßûÎßyˆÆÿ¡¯X84Õø|Ü4ç Äÿ[fl¨“>ˆ¦ `Ç%p»‰š“‡K>ßRuþ“ñÉÁÁYº¬ÆæZj³t¼5’ŸTå{³ -?™˜T†Àq ½½Ú•ä§òÒî" àÏþlánôîOg£Qžä7 9¼GÅ[q€Ï³õ§]ð5²ÿÆÇA Šÿ€û§„ÖÇ9ð=hþÞûà‰ËþðÁ¤Ž÷'½Þï2 È} }ßð*˜û}lûی愒/&¬ývq¹ñÿÄ …!Ú]¤ÿì0ËÜ~ö¶^ëbúB±`% v™€ÂÄßÝö‹ÀE÷Ay…RÃÿƒE@— è\YðÀ‹—ñôl(ÅP¤ºÃ±PoËmÔøXìÚüŸ]ÜŠÏáInýŸ›ÃSÒ­ÿmpÜ ¬¸/à´ú?órq~~‰4@jþ‘ tx¹ü;Yª¼¬¼<ˆ¼¤NX -GD=µPð“>ßÝè2UÇhÆS9ð(!B™¡ƒÆP¤¦`+Òh·À `³ ¡O§§¿êëëûªïÓ3Tû7Òµf+ O§ŸmlDaüÍüÃ>ÿ<¹Ó÷pÞ<œGÍ¥*Ø;‡¾O|µhî20ÝaúA:hª–¦Âô}GØÙéhxi6÷áÁ?ä+éPzQ‘ÐëcøOHF.ž§‹~ ÿhø% \ŒùÕb‹$eˆ 0¸@ TTðù"m¦œ¢"ƒÔß`Heßµÿ;O#'RS‘ðvyÎ -ïóÔw.À'o8•Â`QhªØàsÿ2_«Ê)€‚ Àt°áp -0@€zý7 2¸é8(öpòGëKßxuˆ²Udq.€Õ,W± -HV1(ë˜þ—u‹'ÿ0 *äX8€1@¬Àr®º_À…uýÔã[ô±l –Ë„ -àDàqaÀ[†!0â›ãÀ%ål‹Í éW­² H€Íp&àØ"°žòb"É^€-6®–“t´Æàùó›?ßyP±Ã%z ` `13'k¬Œ€ë)¡€0üGÚOiC€Xé{KŒ<ßîž®½þ«ñïÖà€ lé&úä ïù'¿Hä -†jäcTiŽ%YÝ2UÂ9:Éå&ÕÙØâèV©TÙêæìŽliÑÑ™ŸK÷ýÅOþ<3ú7 ó%Y×soM^pèӯש´¯ÓY€÷Ÿa0¾Î¾1ø_§Žÿ}Tý˜(øN¯÷äsž?gɸӽž$(üèô¹þ{æ«ßãZï"ížCÛí9ßá\lmnGŒø±€=^WЊ€µîËŽ˜ -¬}ï!˜Z릲ë/÷îâ1yqeôþÓí¿pøÏ›¥ë²Xzôæ @Läj—`8Ƹÿ§ÖÀ%a¼Û]‘Ì倜šÛðxX2àÖÿXlsøÿ_¸i^€À,€4RöLE¾V;ˆŒ( ”ƒH#‚4Àƒƒ ®þ OdäÞè³éÌA¥£Ä§ÿòÓ ÕèN¡Ýh„b•¡Õvchucéç 3¾>ßôü·o @Bµmž´ÏF3Q‹ÿŸ÷=ì›™¿#8¾CßüÌLßÌÌ¡÷Í÷ÍŒx†í?r€Ê¦«áœkp°F=>Á;/eÃçÎP橽·ŒÝT'È`¸.ÕfÜU z,í%sKʪ®á°…/ðA €;S¡Gò ÖžD=¼r,¿Zƒ‡° ÚPb6AP¾‡NÍ52s zØnXR ¸õ-ƒ ÁûÇñåc™ÿ,$C ̃àG¿ýy&Àÿ—Þ;s×ϪÞœòÙcïôópÄ××€Ÿºôty}U±h;m¬ñs®çà‘™ àƒ° €ˆ·;ˆûmœ»ã0z|j÷ËpBë?ê‚60ä17ŸDíß¡¯ÓhÿG!$ø0ÚÄ¥ci‡.É— ±ìÒÕ»¹Ýtc¬ÝÁ࢓KÏçš¾y–¤s#¹ôç̓ôAúóÆÁS?o°û/5éávšÍÆ.ÕÿÜ«÷Ñð<ÿë|6Qé%**Fá8[߈V -+€bê<Å(€Ò0Ǥ¦_eíF牕„šX¹(ÿ÷„ÿ—€|éûFÑ¿ð|S+oêùTXó&3Fóúf±fVö«¡a„™ =dçGóÚLd~\'P\ y`µ¸QÙ(Þ!`%o|´Zúè«?}=>þQ2ïs´"œ€4ýÒ]5A¸ýÝm±ügoÿuÞÜoßeÀÝO ˆÑÿù`ý.œGžúŽŽ^ýçÿïÿ«,Ò›ŠýŠˆ¾‰)Ϻ‡{o!èKØ!@¨nMõo $úœÿÄ ì× zéŸçç®¶ê-]šAeX°ä•m âJ~Jü?z—Þ˜÷‚¾LœÏxãÿó…BÏc&)‰È -û÷PÍOlˆÁJe`ÿ—èØ.%6ˆ€AvÞ¿¿Óíä8À†À§§‘—u4µh­ö`{ÿe4Ú;=>U©þǨúÆZW[u”±ØövÌšþbù‹ØvDúb;ŸŒxY¯wÁ¼ÈÙØ[Ý«Ï -þ{Óã…äÂô$¬‰,¿Až¡‚îr¡°\ºvoâÿiNòOcø?mé¥!pÈŸ|ë¸Û‡ - ÇÊ‘ÇWD$kgÇÆ-ËÖ©Ì'ýÁ‰Ò„”3uk'o[މiœ;ã_HP+­Õ•5Ý´÷ÈÍ¥ŠZÛ 4Å.S¶½¹êð•PÇ«[NùšC…VѶʦ¢¦£mieÈ ×Ñp û&†póµ × Ì“`ú.Iâ=«Ø)M•³®2¾žÖ8ÿ—WôÍðñ{m(jæ†@ -~8ý+E³ÃF°d³ô@¦VáïÃR‚#5£fj593Ÿu™wÎ@m+Äò‚)G°¼óxæDê•ht*:Å2ÿ©È,ü°ý?I¬!¥±™Äxvi•ħÿѪ B -˜6'²çл¼;|qÙàÄ›·þ3uSc቙OS_¦&ì/Ëc3cù¼f®ÈDö$ 2€ í›”†!„%y\ßã @8ey:Àè^Q 0ý¿Þ9ühnŒ/ÿéF€€Y aãÒ]/ö>À;,ý hdwýöú]¦rà“¾°®ßÅÄài3wô&bÀ¦=fùLÂ[ˆ«ag/B‚=g?– nðçs@B0…L˜&<:W}¥&K_&C€À€‡‚µÖRßÈÏ{žöŸ”'ƒ%@࿟–.÷}1¸ ÃäX/3õ_ÐÂH¶¸ý÷ü\ýYП`DÀúÿ -«üÂÇp)1…D@2¸â™rʯ¿‘“c1èE^ªêË—µÚKµ®ª½žü²'Ÿb°‹Åâ°V³R(\«KÑñ…š4ù/­Vè*ש¢JõýÖUêÿo]E÷÷ëtÕð­åg 7Æã¿Õ—“Éá.Ë÷„úïñ]*â=|ÕmØÁªE_·_”îÝãX !¿ßÿâÏd} -,=»J0äV+võV· àR¯¿`:iom2I§… ¶I»¯í$K¥¼©ÑEº}¿•tL²” "·¢¶*5áŽy`‚‚'9¶¦àÛ,8ø¤lTOÎõq *ùTŸk’a— ä¡*4ÃØòC e4þN.¦^[AOÍ>Xƒ¶nÕ²<ë§Ž–wùµ  íƒÂ‡4*Ük -xíÖ^Ã…P‚NŸ -¿¬ˆØ?y>#½FZ¡mH›A›Ê*=>TÉPa·?WˆVkYž!ŽF¿H™~$ͬij’ ‹#‰Ó3Ì蟰 Â.ŸâÜñéñÉó¥Ë3¤K²Y^à ðMàçæ¿š‡ x”Èç¡jXv: ƒE¬÷sQïÙ|z;<s0×p!úw\öðf.Uû†ÁH€šÿ&ç6: ‘B Ì0 –ß©Vót—vž¼p` -Ðà€gŒùNžJչ펲'Àíô(¢ªÛFõàr57r–n4;¹4Ì€PûOïHþù¼ÓPëÿï¾N›7Í46ét.}”[|õæý¦~ouE’¨ÂG+ý›E»G ÎK?™ÅÐ×%ÔJEJˆ4@®ñ°@Xå…ÙË ûEf(Þ+X‹^|Í”/ï~=+€ç›››š6š2&¾üYù}ôÑXjB WÄ bÄ‹º©ç¿Iéa;?:‘J-ÉI½R±ŠTÛ„ÀØ(Þ!œ`Ý(ÌíÈs¿ùêÛ…ßþ¦Òã«’&´`¸aãä2€Úÿ6Ô|»ß­ó`÷öúu(îB7À'ößõχwï>yÙÀHºé;Z\|þ!€Ú'„Ï úÿ -;ùáÚañÉ}'6¦¼L¼á;"è†* b1‡ãÍÎr“¿ä‰½)€'Ö oëÈ’¨ë‚‚‚%ÀRDPëÛ“ó-À¥î?péÓ¥ŒÀÈ»å_ pC& W"b' ÷ä‹[1‘ªQñäÂhƒIf¹®#´íügkB<°Äœ€©¾,‡O‡²|ò÷Ìq&szÚëe{*éÔ žžfÔíí:\€·_¶bñ™¤<œUa¬§JË !5V˜œŒÁh;»z•šþáî­[ûû‘Öðöäoµ®ÆCÚêÄòrX±üñ¾ƒ¼reÖûªõÅtáÏC ÷^¼ð¿0âñ ûÜ+•JÓþ’eXþ¤åŸöû§—c·`EÔ†éÐÀT!ènOîŒk)„ú©Ñ§Š?ä/­Z(þ%28®JÉ–ÿ¦ŽòxˆÊà;‚vLë¦]sd0™´mŠ|ñ¦aêoM ]WR"`É—5űSÁ †ÂmÛeºáªS.šT· ì Ê °¤Ï©RYÀ†Í…©yhÌMÍvЇ5û+<†à”^ö|Í+‡Ûdç™XËËR0 %ûÕTr,©éÁ  -ƒSã@p€*I‘¬¡i«59“•\›uK¯©êJF†ÒOî'¸CvH$€ TÿÙàø” NA`¿¿0N=@àä¯?¯PˆþÿŽ¿Ôè7œ²ƒTXž³§±ÊotØó¯í‚ -À‚ -Àª@Ä0m‘ È+¸¸i”{äù‚Àh!Í »4ÌþÙ Íæ€M€Â^e)@ÕÍ—« 0ÿ;å*}ÄP¢C¹ÕòR€q“ªöÕF¹¼Ûóí>4ªÑŽo´]¥»˜¯¶ÓgpûÍq.°y@¾fÓçû=úfÃ÷ûÜ?4Ÿ2ÿJ»éKç88kåÞ¼'á焞’ÐõE§¢ÑâT]Fm‡0†Ž -žDÑï'x°‚—¬º´Â€:û‹W/¤‚G˜ Í>çlúÛ{—D Éeà‰@¿àhƦ–3&Rÿ1“»iÍLŒÑIÛÔVöôz_©S¦^ýïÊO¬NäÇÊ+:€pʲ  Âq€ºU(|TÿÛWCŸÍ݈ûoüÖÒíâj¸¸'iÅ=3\3.©ž¿m¦1xÈ€ëßÁ€Z~ªíOÓ#„®{`ýú]ú·þäú]ü[¿KpNÀ‚3 DÓþ¾ƒçÈkáY/&¨?ü'(°! -}exCì6¦þ·;H¾êçßykìð¤]âAÀZßöÏ+Þð¶Þ“ðÄ‹è y `Š€‡MßýŸÎA@Äû(_€¹^nF¥Ÿ†-¸½sBH"Sú Ø€Oþ/.«Tö¼ñ""ÊDp+çI@òß1Ló„^ùOé'#=ͪœU—9>­oǶ_n‡1hM.O"ê·æJtµruº°‹žMnÓ—ÑhtøjwÿV+ÑS÷[­ínŠM.bЛз>ù‘ë5Ó¯@Kà+Wº_L/¦©ï_ØyAõÞl°ÐÐô‹Ò‹kɪü;%Þ§—‡ë‰îpŒ@FVBk^€· ¸2ÝŽ!k¼”šö'í’?eO—ü [–¥ÙÉdiºÔK„ ’ajèCVXâD=™pOÕP†€œ‘ÌdI§®=Ôõšf? Kí0„Txù`MæP€šaÛ)ËF¥7L8ýÛÖ&ª¸¢” Ű7]U1è3ÿpˆþ -Áàá ÍpS62 v `5¡ €yz1Ǫ}ÖîgDYƒU B`$VçU+X*ÙDèŽgc€™…+G$ÑñMXà ¬ÄZ .€ÙÛœÁBŽ ? Y=¹0à -€¬ìé<Ñ ›ÍžÎ{:€Ÿ÷4ý€ÅW‹ ‚Öß@¬èËU8òuЗWÓ\Ȉ†Á?nE †‡ôN\ƒ¾²@ê¥Ý†Ïp™NÀQ´ý_• ‡]è4¨£O àR]w„·/ëÿ€=œ&iÿ±òXy €rÙ‡¯@ \à#tàŽ5FÛc¾|nÌç:ôz{¬Ñ(·wÛJε݃ôb3×X¤û>Éý{nä`äàߨá?H·Gè&¾Nn$ÑB³“närG¯ŽOÞ¼çŸ.xŸTÿ+õ©J4*MEéE7šHL1õ?²ÆžäB\¥â¢:[IE± Ï™óúê‚ïÔ»ht>F•ßÕþŠ&¼¿ò_nÚ©O¿ür̺9¦ÍŒ¥´ÍÕ•L*+¦¶Šá°ÿ¦ €.€´W,ê&OVõbeq€°¼1w¸üÙGßÞø§øo°ˆ¯‹ˆ,šEÃxgðÖ'º| €Ûß¡ÊB@Þ` p—>]B€»Þ -€‡ë4>Ìà9êá)¯á‡µèþ+}]ÀðÅd›YO0Ŷ€<5ÕMxS0Åœ…ß#yÍ4Œsoþö^àäù[Â| rþh´X$-V¶+¼œ¬ 5ÕT¢>Eý?†ýõh¤¢TT8KØ@ -(AXé'ò‚ä¦~Pï]Uà§õÿW4ØÔ›ÕG›úÄŒ}™Êßœa# ºþƒ¨TVjv8n®N|“ŸOäÇ&ÆôÌá¸^ŒÞÙ³‹¦%HÔÜí…î¬êz|¦0ýÕJlè³,ÌÅn¤.€0½¬\ºë¿úÒLõHuŸ-€î~ÿF~·ËA·×/¤dpÐâ«}" ¶Þíå½?3+ÂÈq>¢ú3GÃE€Y]±$èÂ3H˜! ²&6ƒ~]0Ðñ ©Å YºèúwNM¹Œ¼@à¿àÈÞ ç]¿Ÿ6â?ÿ"„aéì @ƒûÿ -oü½ËVDœïl‚S -€T¦¨þÊ?ð²Þü]ÿJà‡ @ÚïSjqÊÖ_¾¤O±m¤ºJc_,Œ¿VÕå©+/Õȃñ/ž…¨Ül¾ã†û„ÂLr ñ½±5ì!S_øvá‡åaÎñø„3 „ðñãîä4µèTí_K¶›`Ƕlë‡éRÒÚ±‚É¥…i*èñýnk_Ú¾Š%@—ƒ¤úV€| -Okµp29£;VðTó¯ùýÓ[áZÜ2JI–‚5EZuœf­FÅ@WF6u3 ª?µØóê¡l`ækRæÿèÅ©í¦¦¿VKæ©zše”q›:„›Ž¬FO`Ý 0BR؆µ‰?â›UYžç -+Ÿ°!r„•šQã ‘@¨CÃÚ?+ª¸*«›?-TjÛAó"˜Ñb°Œf_2$Èú` Õ4CÒlÝvÅ*ã¶ TVl*Ь"Uˆé!•·ÿ'" U€:mà”nw -v`fþ”¾ÂOv:çÜéšEÐáüö=À«ÃùƒEXû´ o—ÿLw«ðîëÀ¨/ -D$PãÌGoí³Ü!á€\îì¬Aå¶ísÚFÛq9.úì+ä´ÓÍŽƒ°=êî]¦RñvFÙ¸ŠÆŸªxÚ­²úÏaÑÌèÐPñOŠø€4 @ž€JÕ7Ö¨¶ËÆ®[mVw!¬6ò¾±~‚võŒ*~:W]l¶ÙNÎw)ÀÈQú÷#tn$÷ïŸw>gà¤ä<ÿo€pôæÍûýÝŸ<‡ -`EªDg l„6B„*Ñ -²FQ£ñÚÙã0àŠû?¦þ,ùCçÏ–€ð’* ϸǵŸ=U=;TùÒ @PªäÌe`QÿO~ L¹–¤iú`Æþ·±±”ïXêUàã¯Ãtù„¦çGó3z&’Ô÷öB¦5e¦@ó[Å -`j\Ak¹pc¨þê£ooÌÅoܰ¬ ¾·XTlžhµ¿]ž4ÀÑs€î®ø´¿»w©¶?x(Ü€!þûô‚ -$@p@ˆ -%v΢êÏg%xPÇ™cé*:d0œ•“€Ën¦ɓÀÃÖÊŠ¤A±a"PÅÏFß±ƒþ«‘±\@üà)½³ pPö5= øSó -(ÐW¾ù¹õߣrPÃ`'@§!4€evÞ!÷ò öpØúq>¤ -sÀþA @_ùØ5 á¦y%À;N -ê>`É¡²Su;KU£ÌÝ>µñ¶@ÕNÕé4«bÞ*ç©ÞÈà ¬ÀÆXnËk SŒŠ´@§c¤ -ø°¨6¤«.ئÝg¾@ós<æfÛ÷yú÷#êö‘ˆàÏ}¬¤/;æbîèð=ëÿóìü"¡ÅHa~ 0Øž’Ølü8#^—Ø­<"<ÿÔ(ú˜Vj B -H'Uð•Ïü—ùÐ2sžå ÎkçJêw8¿à„µ°V~dèÿýÓ/Sc©‰™Q¨´ÍÕÊ -u˜™ -¬u2@[ŸÈ§Êßè™ì¸¾½S³6L B?‚¼Xëã7 -mHŸ}P¸1·t˜óa„…ðå @3 àú÷ ÿƒp÷ûÝ݇0ý»~÷öÈHz—¾‚'=YÿXÄxàî]à†§¾5x¾FåùÖ”X°#°HñC€ -Ë*¬ô*~"!ò}g}cÀ„P &úÌz - 0aøæ¯ œ.Ú÷öu>ÃDÀËX•£K/X` æÿ‹D€ó%€,ËnÂA+Lÿ[‘ùï -8$€<ýǰ,áøLõë?ÎõßC‰{`ÿE¸ðŸ·ÿó÷¿è¾2 -€ ˜S¶ÎÊ=éeôAíe¬­c%Ðjµ†Cñ‚è·õ¬C@pqr9FðàjáëÉÉØp]P›NàœlÑ—‘ýøÂ?ß[“ÿèÙ?îSy Lo=ûzanaˆ7ÿTúý¥àÂ2'¸\(ï/”ÆC|ðúp DÀýÇK½µµ~* Û v[qj÷“Iä%æô'·躡ù“–þC©´õš²jƒa¤² zx/&ñ¹ZÒ²œÍUŒÐ14—”M®ËŠËú|Ãܺo‹Ì? "¼VÛ¬!Tð5ÿŽ¡Uø -Ù¯©þçTÉÑÈ -Â.]®á¡°úSô0¦K¸1Pr!`½\Å%ZÂ=ô¨˜ª„ü"S³€,$ú> ^‚M šš¦™,¸íÏÊêXQy«àÍÃä xóp:VÕ×õ,€ìüi–‰Yêû•×xÈTùéã¢<Ú?÷yŠú?ðÄ@ôëhÙ˼@ñ¯B©séNZ¨ú\áÿwÖ83r 68;£3¶‹?g2© ?àÜß´[ÞàŠaÃ_ Þ—vÇ|àt¨ìSag}{°g`à bå Ûè ›68>¸½›mtaøªn•9®þíC‡>ùÜÅ3jû}¹æôO±ûÿœ>çþ½Í&@möQÀG‹‹{O€• âVôKF´8P„Ü8’ø¡ÒwéG¤“• 7’%´- H{•Ê^Tb 6ÿûÍ^?_ïä 4€€ò;FÀ_ðàÿû lPy×&´?ͤ¾Ä -àÑ£±TY›Œ˜WŠa­x§¸‰¨àÕ‰|¾ü§PFM²÷U)2 0¤ß™ Ð*,|´ºòÙÐÿRøÍäã6‡«J^7‹ÆOv¾&5ù××Yÿ÷½·oÏ@ߌpRÀí»ëSó Æ}1 »þÝíÝ‘&8ÿLJ)'‘¥È07ùà½'D„æÿbR@.û³èåE©‡Yn×O}ðZßéö‡YÀ+^c€Ì;  Ð@ XÊüdpI p©ù¿´Wpù_Y¤cÓµ=ùò€.æ?«Þ…ðÞ©Áú—€D0Åú[À`ƒ¯:oþç?€áÿÿ‹ÀÞ@¥þ£i¼…n†¶£Tÿ#lÔÚŽ%çfl=$mÇõ1©^›_ž|69>=WØ®×÷[ûû Ä¢=9±ýÛ¡¡…kÉé{Ïöé÷÷øÊt¯ô œüzh®0tmèZÉ?½óC)üÁ*-”°²¿‡iÀï†îß/ùýÉ 5‚ óH·…¬Aq8/XÒƒ’²¬²•\˜±à´Ë;˜ý'KþÍ ?ƉÖéÛ›5.â+(vr6"ÏGÔ5’U»d[ZMƒQPÌlá'x€éj9Ow°¨v¨þóÀa¡ŸË-~ÃÅ Ecaœsxà°0½3ÿŸšmjða -Píä©VWTìŽSuwå†ð.Ó·àFNj?hÓåj‡ê~™ƒÝj{ÌÍ7¶rùFÞÍŸ¥éãh»šC–pã/tÇ­úªí˜ -té!=DøÎXpÔ†Ðç°þh°ðS$aùw@x7 Í¿xÃ&¼”ЋŒ`h#%°ZªlN„\šûszíIT`ûÇÎå‰ÊJ—ÑŠ°9­ˆ6†Âl} ­¿,2z?Ùž.ÿš€6µü£ móÌŒ¥è4:öh&O°z¯Âͤ^ °ÃÚè¨ö™•$ì}*)L¬›«`Â+Y˜‹gç¾úìÆÜò[×-€bQò@ø'aî~¿ŽÝÿw¼xH<ùž½€ ODç?ð¸=B Á÷d€t¢rœ¸%ü} yã5Jx…‰€^·ñ,~<Û÷.Ô}¾TøUŠ gç ÑcQà…!ÀÒ l#8 /xŽàëHïÀ¹Ð¥Àå€÷EæX¾ ÄÏÞ1ð¼½âÈÈ^T kh3Ó`/9Øñ¯àú©)Vð'¸±·Áí¿úËó™_Dý€ê›ýE+HM ¤öÔÚòÿ) PW•ìxc…q-ŸœL.ÌbTybñÑß>‹‡'—¨êËáýÙýnw8Šý±U—÷‡CË ÓËqÿ·Ó1aßë9ÁðG~¼õÅÐÂôBrç´ÿIz³t+Xò/”JÓÖ‹tÿ|ïOC÷wôh¤ÞÝïÕ‡™ØÅ1Wú~kkõ¸·’Ó©àx~Ç_ʇõTÐÂt{'oÑŸ.HðÐUŒÓ ¬¨h¹WÔ {÷:ºm“vQ¢úH0@ÉÛ!€ò&Õi-ˆAÝ5`÷§…•×®‘Ç~ŸéjöH‘¨nVèé.Öªá -c\¶ “—þì&èð€§ú„%4Í`´%ÌødÖÞSAFYΰSèÝeM7ݰ©([†«“AË4ì’?nÙ†èßeF ›ã=|ÚgP´‘ Ð6ÓÒM¡, ð€-~¹•‚Tév-Ð;Sn °ŒGÁk€BÕ%ˆP¦úNǨ–éa`bà”}.fôXÊ€TæwÝ´ã+ÈÐý4A‘¼Úgð8h/Bí÷ô “ñý{»™û_nÀºn¹‘ÆâAöÕÛ·ïõ§/œ`jIõ<ºÚm7BÅ©"½x®á%1#Ô€D–°¯\q% D¢+>"äÈò’Cã„T‘¼ÆÒçK³ÓK&@ƒÀ/3 øçLÌðè€Ogà<3:óèym³?X O¬°gnÈ  ôâêzjc/5né!M¿#d€pºQ˜ûs¶ðÙ·7æÆÇ3nY!,@·¬KEÃ!°ñ_N®£ó‡íïõ»ßݦ’¦ßú.Ó¿»}w½¿ùÿÔTûŸ<|òÎøPì⧆™Ø`™ûÞãÎ%¼>e¶_áyÍä­š˜5/žbl§¿ÖC@öoYkP¸þ'Xìi -°”è\ó`ÉË îWvOpÒŸƒÎûûÀ úŸËäKKy`‡%dz™ <ãŠ/,|dA™]YñÒüDûÏLRgè ˆÿOdúåŸ^]çЙGôƒŸb¨x¤*¯%åô8C­­ÝF4ÐËíVëê­íX|9'Çu}|<$mÇbŠ/J¡Éx´‘Z·nµnµ µ›lí·¶õ´>~ohºpË“î úþ'rïþIw²@§…jó§é›ªü¥äŽ–J÷îýÎï¿çOZ¡XkŸž/»ÃÃÝnëÇ+³"S~ÀHº²Ô‹´¬ekç¦=>nØÒ­å o~Ò©i;ILðUìî=û½š„<܈*ÑËœJÕU+•­Í³^@2Lª…f¸jçÃZª*uõvÍ44ÝU³.õÖÝšÁû“óPðšXÔ\'lðŽ_®mé¶c¬jš!b -áÄYvâ—e“0Qçè^õË‘,=Ûèu&*Ì€3oNŽa/„½•|W×]E!P' [ÓˆÔVB¬H®±Ôèã -}£cb®!¶b€E3Tºƒ, Uþë1ä4##@=ÍžòöÿH!@szºðöô8ðöäç¿Âó`qþðàð°CÀÚö&÷~ù‡2TÀ2Sñw…4€¯‡ÊCö:ó!%àG€° †? – -i(Ž‹™?,pàFÙeÒ?,›£.–ý·Ìã~ä7Ò0 hS-§Çàú@I„Aþí<Ýñ˜;v†I?}}F;²K¿ìß0WmWÛ·a¸TöÛ}/Ôívc±q˜kÂx‘€?ç†ÿÀþOûž¶›mpÓ‹‹¹çﻼÁæŽ@b…úÿbt#+†6BSô’™ Ty|ŠFè’Ü¥ˆZñLH‘~Ó"bUú*'Qü/̼Öÿ‚k­O° úUªÿ¦ü7;¼ù'Lò©ÑGx4:¡•Ê -ý/TÂfJ7msb&O!|ý't}ÅÚ(ÚË7í"d•Êꢷã3…¹B¶ðí?Îý¦0¾0~£ÞÛ´Í"•ãÝÀÈîîúûœë#êþ÷t†…€wo#`ä¶÷WëOÖ¯\r÷.@“¥ËLý÷Ú0“ÿ¦¸ìop៊pW,ý½êÏ…_@nö¡QåÜ?° XK0 - o\3€%‘$ò­„0"Î|‘µ¥¾@™¥‹<•ÀÉáÔ;˜ PUî]XdŽ©Çú? 1Á…‰\˜ð€_à ÄŽO+†ž«1@å¿XôÖÿýöŸ³Õ~('lö~J?ùéézÉׯÕSªCD·÷£Ñèöp«­oO.ïÆ%U2'c±ÖḋM~ñ¬%IWŸ]muë ŽRŒýq¸{kxr9nìÜ[XºuE0EÕ¿3ºÝgÓËË×k¼6©Ñ¯¹Sõ éW±ˆÏΫP º^:0r…]Œg-hyŠ:œpr‚5M>¿ªêØÁdЕj5êókfØ»ÖÁ"‡4fõ‚!M¡,gæE|V ©† -o¿Sãuö8ìRrœäÿ#&äÕ?ÆÿSœ¼Xœ@^¸ÜÙ7Ø ˆ:lÌü;,¸ýß-ã].‚?¶û…ø¿í".¸}–˰E°ëCèÿ:¸70þ Ð Yˆé@ƒ.p0ÈuxÓï4¶<AñÖp:Uæâ’&ÐH>Wu}F#+û:‡Ž{€“sÜ\óÐ×>h,úÚ}þ‡ÜÓöÈ烑ϟúþ!×€<€f³ÙÉaðæí{ýÅöƒšè¥‡£Ã(þ¡P¨‚¥é€Î ³Ô!÷§W*L˜ˆ†¥¿ç&¼Ð°çì½Sý3‘@ಠ¿ÆÿJ€i†Ípj4ÖþcæKLÆÆÆ¾©Ú›šD/왥3œõp>™ŸÐ7ó_ßlL€;+©=kÜŽ¯˜‚ 0tG·âÉssòògÿ:7w㋹þ - \4Rµ¢ánj—€ŽÄà.½}ÇaÌ2ÿ»1áãõOׯ‹é?H€_‡9À]ºa„æÀ4“™Äfý¡¬£ýŸŠ°,pVÌõ=–\¿ð{ŽyåŸUýkâÙºaù_ÅB€µ5\·$‚,"½‹kÕ­eç3€\0p‘x!(pž!Ї²ý[˃ k±0Xñ|z.¶ÿ -`FÌø#ALÀRÓ›ÿËçõ?‘`Û,ªÿ{Åâü/´ÿÇ¿Œñ_ÀP©þ¿V^Soˆ(5{ÚÙ@ÃõúpŒ ìr˜nšœÄ®ŸNËÿ²ü¬°ÛžœŒ&ögaÈ@‡©OßÞŽ)áay¡åùögÝY på“ÇõPáÙ²5>„Jï§êO]ÿ?cðO_à¢{þÒ5|JNƺ÷÷÷éÀ­®P -* zõÐÎŒ¥éúøÎ²e¹ šm…¬$J/’%Caã=IV#‡ê¡*Ó/™ž6µbÍ^ݲkpêLdòi&úÿä‚f˜úÊ6VùŽéÖò[ ú¹@ …çø*/ëé\NX€õ÷J>¥)¿#3oP‡)øƒx¨Õ"™ì±ª±JÖ;%Ôx=`é¡°S¯¬0@¤ ™÷ÃìaLw°j[Á D=‹d𠆀aÛ ¸X7˜’é˜R–©…ò| Ck —Éx 0 üس2rÿ8 ‰@¼:RE.à"óÞ §¾…€úÿÅÊ7Ó÷»§ymO7¼€:(ÿÕ‘jµz€-‚1Ío°ÕŸ Þý o Ü™/GÕ×uÛgpÄ!Q§é€mó~—õþ|ð*JxÕ·Ûè¸HüÉûØÀ©Æ@j`“‘Ýa‰´ÛaŽ?÷ømäœ6}G®|à´ég Ò•Îaܪý‡N®Ý8È5²bmjüÚH:†À?Pëÿô }ð4—ö¥;¹ÅöâüÛ÷¼á­ï¨þ+ÅÐøPüNq -/—'Â@]ؤ²¦*±2UGXI‚jŠ¿ÄälVÒë‹–¼XÕŸ&¥öÝ×û €Ë*€ãÌü¯†hùÑÑbøÓG3£©‰™±Ôè£|Y›øË^$‘ÉTŠZØ -kúØM{B›¸oüŒQЊw"ãE+€UL¦VÙ -ØŸžRãß~õ?ÿÓôø7ãqŽ -*M#år@ø¹ýý:öûoßf×_H…÷ÏíÛ#ˆÜ}x÷®çÀ{A€ ûAøTtÂÓ`˜oEœ=€Üõ‹%@„wþðÉOœïø#ÌþKôÏ/ñT@´øàñõ–xñlpƒ5öÿeëEr¨ÝLý÷¼(2Þàœãçy\Šœ²퀘}þ½,ò$@Qú#Œã~ù¬d¸½Ç>à0©^ÿÏ#Ž Žôúõ#JõÐüsù¼ùý¥° üXXa ,…kYúB…aNOÚF8`TzÙÝž\.èÔ¶JµXüêU$ÿÆ& _¾(&Ÿ}M¡^O$z Õ¯FÕn·ŠO%ã Ϻݾ X° àÀìðÎr<¤[¥ä‹~Tû’ŸC й{%*áC ËÃݵ^¯>…UÄp÷Gá ìÉ - #h?¾©%óÖN*h…’¥¹šn%õ%ÿP ¿¥˜óá0wÜêléI@õ{Õk«ïäÙk—]{0ɯQ{ ® ¢M®–²(YƒËmÙ0Ø}v»àÝc†?Ëü´šaKÙy>*aƒuýÔ‘ƒC@OZpǪÉù€¦‹Ã®œ¡J z^÷F÷n¢“W%P0^¡cÀÉ8¨­Ð#„ø0hëT¿í-jøéöNØ1qß&bTÓ ¸‘È«’Æ÷€±Àý ›aúm+ú¦r<¯Êó°!ÂÀ€í"Ì€Äêÿô½‘*/² Ú>ÇKóë#±“Ná¥S‹úº‰ê³á´™pAûìÌ›6Ú†iLôhhi:WßÅ\Æÿcô9ÝÌ€c«ÿ?L¨ÙwË„:íÓÿ8 -Ñ…¦e:ݽÑñ¥Ý*ö5šÐþ7Pò;m‚pt}ƒôa»½Ø8h èài»óùÓŸo¤=’k48öFMß"½L¿yõö=û¯·ìçŒWš:{oÄîÄãwîÄ‹uˆ¤^ì!zA]ªôVžг®`ÀéG&„Ð%×ߥ å?é7LËFÀÜgF|þ«T•Íp*ÿ¥f|33öeJŸ™{”ŸÈëRE^YZ’Vµ×wÂú„žÊOØå‰Gá?mŒdhϺ n'–-}5¤ßÙ«ì…ô¢·âãs7¾Z ýãÐg…¹ß.<ˆkÔÿ‡‹îŒY44ã°˜~:rûáCHúÖñéãO=7`{Oa¼Î¬@A¤Â—Pæ€ïè`ñÃøx,¦; ®ÿžú£è'À©2•”| -ÌžÓàˆÊÎ*âK xÇŒz¨û ú Ðg¢f–Öz^"%kz œïÎ¥€buÕŸÿ`@C‹Ib {ÛyEÎÈ—»ÿc¯éȰ#’§¥‚ € ‘ß -&n|—XÿSûÏõ?3àþÿ„³H©@r¶Ç€šj O3²Z—bÛõ^äåpkr<©S¬ÇE÷›¤Ó³Â³¹¯—'·£õzd­N¿Ò^¶‰n«û‘H¬0¾0TЧ§o‰Þÿ“¾ÿ ðÊÝx(¤Çw†††J/~°,žØ#芿Ÿ‡?”JÉd|²• èF‡‡·á4Ë,€+ÌìÁ2jm¿hèv*¹‡S.ÖøIÝ5Jœ.äŸö—l[ ƒ…‘1<Í"w¬j[adÉ@3oÔNv³¦òåYCr5ŒÖ ÓÐ󚤸œ&D(Hª¡dgUó5Xw˜Ó›aŽ †~Õ8hu€† NÀ|ถÒu#‚É©d†CÕ^+›l¿ÇÊ?ºpú·¨¨Ë¬'Tùþ²ðÛ fÒ5L‚º!Õ ö-¢;qµ-^[€q12‚ƒyÁAràD1MŰëxØ€-ªÕÇ12ólH¿óÓSØž2ýït"€÷)VoÞRùç$`±hçXáç ÷ØÔÿòH€êHg´¼[Þ­Â -Rü0Â@ ˜ à㔀3‚ɹð—êv“ŠwÇqÚÂëzöþCÊ¡D‚Uwc§ã+#=~Úå¢ÝA™J48ÜÒîÖúýr»ŒÅ¿‰„3Pû•NŽ‘ÑNŸ9ˆH6Ý\z1M?åQóÈ×n|~Ôl<õ5 4!ÌuÀ$ ò*ç[\|ßvj>ˆõ#øüQ„â¡á©àÖHãÕ³è–Å®²Î+ÁÇŒ¬Ld ø/NsÀw}€Þà™ò뙤6Ç´ð7fR)}lì߯fRegboEÆ ¬iº™Òì|Ê:•ÙL+V<’*­ñ”^…@E¿³AÀ"0´ú×>º17>#€ðª2ãM#|9ð?_=MìRå¿»~—êýÝëbòÏf€Ož|÷pä)”€·×ï~Ì9@ë?\àÉ“ë˜ p„À‡œfÝ¿úZ•Ñè/bÝ#Cý*ˆÙãÁéýë^-¾:†òžý.oêeT{ôÔ’ÐHZ álU¾aªó ÷Õ7¤£½g»úloizЪÕ\º}­æà*&hɤF•úX² |eíÒîûKAË1ì$;µeñ€ -:!ÖÝ¥d0CAåÈC 3RP'2Ôy{ð³auþ Pô?Š@X.žr&Pàmà¯ïUÿߊ v›WúŽààÁš·ÓèÀC ªùÝê(A¼ç;£œåסÆÛaR ËÉÀààc€¶Ïçú´†ÛwÆ­ÐiTÐÉwÀüK—ËÕ»ý¸Âq=¿ˆ -ða¦ß(»ì@%™BU‚hýÁû§ŽßWm§10ÒN®‘£ãƒüwÖ0|C¸Ñ•ô¡yÐ<ôùàC@Ó×ü<Ýn4éšt»Ýl,ú‹¹Å“÷'o­²G(}S•(VñøÆÔZeoÐîô©€™5©rÏçÎ\1PÔÿŒey#ÿ¥Kaisýto <§ðò0ð+™˜aÓ%à­ÆÎŒÙZ>\¡z°”Y)šE½¨­NäoNØÚ£ò¦2šÚ[¶,ÁÀ ~‡WÖ¿Vö>ûêÛ¹ß,ÏÇ ¬šÅ°v8V4aønàÓ4×sL>å€Ûúxý;ýzV#ðã¾0}øîúíu¬> `ŸÈ0 €[ý©1 !€Õ€ðăI 3Ø4?!’s… Ð -q°ˆÄ<~ÖFàñvÿ¨ûØñ/EüÛ[€‹3¶ºÌôx¦?€‹ -€Là'  ¨Ú3p…Ýú"—ú”|daœ%ó<à€W<`¡xV™È¡T1A&Eñ÷ÿ—隉?dÄžb -ÌL0E’êÛ^Sq¨¿ŒF#§r´µ¯ö䬔j¡ååÉå¯ Ëñbt;V õÉg±z½¡&½u«[W!•`óžPrÈÿçåØƒáî'pÿEûÿ dŸüØßtoMÏ ÍQ‡Î–Àÿ|ohÁ_*ù‡ØøÚt韡Kwâz« ·áV«¾?|ëVíÿ•+ô,Yã÷Ç{Kk]=2¿}ÚïúýI-¼C›.½øAs’VÒ²·²xþhÕSÛNR¯|Hmò*‚¦$Õ¶’¥"ý䨘üÀîcž~ͨ9Zã¸Æsîž"Áyȉzí²æÔØì/+4ò!„ûÚv®‘ÙÅWRdÕt$•»p¦ºÔ°­ÔNʆ†ßJnÕ Þü 5¬ ²© fÛA°þü÷_˜DߣÁû¥`0Hp h‡%³ÆcŠ6 \ªÔ´² ›_µL±!§dÕì<(†¯ù—Í“XŸRÿÕð%¤úÿö=¯r<ÿG@»Aåšj«/Ýh -* àŒ ‡—Mw;ùònµZöØ€2œéÛ¨öÍ©ÀÂø/íCĸ"dö€ÐBìG…οgúx ÐîM´ o°À¨[mtÒ|“ -?&n¹Ñv0tèHTëéŽX)xV…ÙÔ]DWœ¥YÌèsŽœvù¬Ùöµs - ÀœZ~*÷GTþßô¥ÚÜù/Òµ>_û ¹x°øæí{Öÿ7à‚ˆî£^‰N·7¢¡;±;¡ÙÈRåN% <Ô…g -½ŒBHÝKô< 6we•×zì?ñ·ôÓ @à|pAM}Að«1ÀH•ÿM ?ú«fhÚ„k€ TÔÍq]»iç'òÆmôx±8nERñ¢•L!øN±²×apÓ*üOßnD?úìŸæÆ3në7¡0ôì˜Y4Íð;yÀ¯|bÀ-½ bpû;Ðþ¾o êßÝ××Åà:³î>ùàáE±4Ì=§âŠ%“ç <µRÚVË  -@èÙ(x–íýuûô>xú÷ýÌ€€Ÿœ  -2ðÚxŒøYøœ•ýè@/ðDèN<3€s+« ;€þó9ã- -<Ý_½¿,_ÐUôº¼y‚/p^ÿÙ×3ÿoOâú-Úÿã_èß -F¨ÿÈ\ÿ_‡QüÕZíåK ©ÀÒvKê8ˆ/HJ,Y_žœüz9ªFêÔnã¡zBîÕ÷[Z³ÔSœÒ+S¤·šŽ›¦ -u¯œŸº ŒK[_ ý¹0= Cà³ÿ{ü~íž¿ô¢Dg@(ÚˆµöQÿ[íX«µßcÀ=m0 w‡ã¦’URþä‹éj•ý¥dPß0I°"©•J %Ë?T²;¹ãj`̇‹šn†­ÕpXz`î,”taÓ_«ÆêÂÂ_Ê*áZVáuû x8©B`éƒ:. ô¶iUÃ5&ª¦k0ß^ÎÖ 3¬…MHŠÀÑ鈆eÙLË&ˆq,ÃÚçÀIGS‹¥à–‘¼¿d_øKšâ«Šb©î—‚«›@),ˆ M8àeU!ä€ùaáŸ"ËÈN¸eÕ׫€/ˆ2Kÿ²ÌìÏÿß­öæÕââA¿ÿ÷ àC*nê{\–ÿwFÊŒv°À ¼›Î§w…0°êÉ| ×8„Ðw(¬œã²1CGâušÿÂïŸn¸NW¢ÒcÐ@Éñ·´·ðmméx.çåP÷Ó -nŠ‘t‰‡Î!&@4¹ôaÚ‡e@ü?*õ0<ôµ›9ŸïéAÇ×}rÙÀë#ðöÀ pµÿ!jÿºüø:H€##iN\ü%¿ù5®â^ý§j>;†Â‡ypÅ N³^2ˆda""Tƒ¸ƒwz^áï±\ Ã˪>Xë›Ä7]’¨ ü€ï8X.[ϵäã!<€HO¾0>Ãû` áxYàiü½ @ý¿ j@me…‰ÿÔrÎúó_ê v@¨þì-x-ŒÁp8ô ÉÊ0ŽFN3²²ì/èËãã““WcËÛô¿£DkR¸ˆy¹º?ëFf[˜Pù¨kûÃñ°òZ[µ–»ž€Ç Ž½+R?éþñëée«0=t·÷¨ç¿ç™~Ÿk¥¡¿[HZV|¸»OO“.‚qî1+£ÇâL¦wåjÌ•‚ A+ âÿ‹iÒÚs¯¿tŸ €Úrœ`)¹£Qã­*ùUÛ¶4 Lê–W·¨ˆºuÿ÷ƒŒ|k­ŸÓvVó–aÔjÔ_C#h¸ÝºI »Ùïvgë·Zó0\ëaþpåñÚÒÒãdzR¸à_í<äA[ fpgáÞЋ’cÖ\ýEI3LMUx(`éÉ{%´ù’¡­†MÅ…{ži§’;©’ T^|\ªÍ\p¬ÛÐòv^çq¶?Yxê¡{#™žG*ÕzCcM@ ¾RXb^ö YWÓ‘Ì¥XqÅø.CXhA»¦J†S3·‚Hê5øjÁd)¨Ó ä0­ûA/ÖLͶlÂ15¡6 îž~-¬#8þOEœ|Y è¢úãž’§Ç üŸdPø9Lð´?«:~¼úö{±€cý|àPévm_Ûi2PP;^.Pg4Me—ª?p@µšç‹:éÛ¸ÞÙmt @††Ïà1€Û8ôÁˆŸÞšnt@Øõ7Ø v¿ôÝîb€;ýu:TëÓÌý¯˜ 4„ý€˜n¦98-…¨éßj”ûþ? +_¹M@9ס¯Òm¬`ÿ?\@x qæssé¨ÓÔòcëßüüéÁÓz||:hЕ¹Å÷ß° {7aüX‘ŠÔýØ¡úÂn5s’aCn»Kbñº$¬~à ˜I¬ˆÄ’Ê9ˆpšÊ`b¸0ó|¹À–Μ;¿MÔ/k€Ý|JM…óßÌ|™š›ÑM­Xd@3eÜ´'&òZþÑ762Ú—Åâøt$µ£Ã UÓ⫺nA°ðí†4ôÕ?ÎÍÁ ®ëZÑ4t%¿WxרÙðÝëן\‡Þÿc*ìßøŽ'"ìÞ½û¿?yÒOÙœ¸ûa³ÎÀIfJ,÷+Âé¯A..bç)žÀ}›ö• -\rä ˜õø¼¢Ê ’.xøf¢÷ï- Z}zDÀçÌÅ'h¦Î'ïhX“€ó‹™Ø·# ÁEvf ä?Ìq6áVþräÜä—ù¸À@AÿŸ™ï¿œþb±²˜è³À©,©ÂçþrtÞoG ôöëuE2 - Éeèÿ&c/©Å º$Õ& …Xt{x;±‰toíGzõH=v«ÛÝ'††† -Ã=ŸxÀk„âÖÖ°è^ùäÇî­¯¦ ;þ¡!v œ†¨‰ßIbPÖ¬åXëÊÒìl·µŸ¾Újíï#€ÀácžÊèÆ’ÉéÔrЪj«›š·-=®hÁ~¿åhX 'v4ÃPèÎJCþkþ¤U²YѬü*õΦbÂóÏ”\«´©J³þ IÎÖ^Ûš2‘´‚–©XÁ°a²ä^ÍÖ‡Ty¡­Ã*Àµ‚š’™W9pП2²™¬6 Ó•`ðMÃÅÆ^å ûdI5WQ¥rRWj‚;޶E]¿« Y¸”¼?ikÁ`pU©Kþ’V£ mË2 O n)LãÇB_Á@2$xÅ)6l©þ`LX Sã¬cÜXeþ¼±ýÁä'ËAP`fÅSö=Ÿ®'o_°°Í+€oè#âüÚ`õë}€VŸÚÿ‘VÕÎØH~$_ec tÒ< ýwÙÔé?`æûܳæYn@„Ú.¡—wøNl¿ Aò+„„3õ÷ðúïT 6 &@evÀJ~¼ÿO·‘&”n§Û»91Àut§fà @Õ $sjüséÃN®Ñ8jp³O ÑôÑ_ó JÀçtI;w´x ÀÉû¾ì²ôž$rB*Nìð ¾QœªÌfžgf"¤Ú0LÅÎx<ÀˆH,ã—~4W¬Xú¯×ÿ‹\@6 +)ñ -ûü—Zÿÿ?¯€F '>}4ƒ ÀØ¿!Pk¯’YVõbꦞ×íüDjì@R/&oDR3ºõåO66*!ë¦5>÷¯Eå£Ï>››+@(€ôÃ|;€Úå @®ÙlÞûEý{Äþ}zýÉíÛ»»·Ÿ\gWÀݧ¬ø~ýÉu^<|‰ÀÌ Xç ²Ž>0€þ.3%¤Øu|…•€‘ÄŠ'þKô#õ.éI.”àÌ»'¼Y”Я. ºt¡ìE<–ê’—Z9@½Á àÂä ¸88¹ZÏÅçªÁó‹ŽÑË£üòš_Ž. Šüq„3„Ž™(ÔÿÇ™y^°v3UùÚ•×ÿ¯üþöKÂ]”Gª8e™ ž­KÛ¡zæø4 …ŸªŒOߨù—X14­mKR<޽¸/&cÃ/ëû‰^«›8íE^¶b­îZdzèwÓ/ -Ãkk -wë÷!Àà“î䟧¿.L‰À墂üš¶¼kí/íw U$ €! $,Ä`áÊ•V|™ª4üp©æ®.”u‚ÞŠa'KÓºEw°àÿa'ÔvJ Éi‚–uG±ü«jiR“ êýƒ[,ݳõ{ôg³Yjºåp2¨ÕÜdÉŠª‘'da¶î‡ Û¹Æªæœª¯AÝaÇ4„±/ü%¶=ß•j"ˆ;É5á œUÃ5uÛ~ ÊÙy¹fÓ±];y¿¤Oè:,Š·ü%›j¿eýòßgî_ð~é>ýߨ&Ç ÃTGùóó°2à80¬Ú,I” „]Æü±´Uƒ På¼?de³™¿ŽU^ü«¯E0²€ßüõ}áêÛW°` -`®íË¡ì7øÎl%@Ã[`0‚@à],v¹èVwËcÔþÑÅc(ÝÛå]g·:ê°?pÃ¥C8Mvra -p† ƒÓ{{l?þæÓÿëˆw‡=A÷wÒ†Ñ! 0ÊA  -£ƒ|a!€>àøøÑc.»»mt|¤áG'Ç+€\Cä7r9—ª}:wÐÈ¥ ̃€67ÿ¼ð½jÓÿÇûš>ø -© ôÿËVlc{jjåùóáÀ2+˜×pý+¼ø÷Ìÿ+ýÞ_p=Ö p14Ý[œÿñjvøÅöþ?ü§‰À˜61F@LFÇRš9aÖ–"f¥ÚËÃvj"¯ÝýÃ6䉤®'#ö¸nÛ!ˆ6*ÅUêÿãÖòÌgwV>úlî7_Ì}‰—!ÈtE[-Ö¨þ_ÿyÔL?%Àâ¾'X@àîAH?M?…)€ žôSoÏ+€§¾Üžœ–f‘2Éc¥D D„ `$rž¢ûÓ5ü °Äc*`Qñ\\:ßæ÷-ªœÛSõΙé- Às˜^Nº¬øÉ óޱ%Œ2‡ç–ýžýœ¥z,êó`ÐòÃk¬ò!À箄PW"‡òü|Ækÿß~Ù/ŒN…ø_Qà øš%ìµáX4K¨_ºº]d¥q݈O†êR¬›ŒÇÃa±8Ë…gÏþ%ínwÝnDîÕ£­á}BÛ…ä¿0]ˆ‰Ï jõ•.ü| å{¼+L?{¶34äÍþïÁºÀktvzh—èÆM+4Ü]›íîÏîSýßç\@vö‚‹ƒ_#lS·&ɹÔ]Å1”µ7~ðû¯éþ’¾ ™Á  T€M×´’ÉÒЭYVаqøý¥”mk*›ô+¬òÓòš¥é©R2e °lƒj½ÄºMáêîjšá°u ,mQ3oð¶ž}ø³FÐÖ$„¹ÄÎÁY%LßEÀ¨™Î*$ýš€(Õ jHõÓƒ:5餋„3¬ MDС”òøƒ/‚04±ƒ€=!òûà)¬°ð „`Ç ©[yØÀ+@2Ôcæýɪ /Dlü©ùG0Â1f=çúÿ÷}y‡ðóvÝ?0|ñ øó¿o@ýýH§\eWàÑN>g&\ò¸l¤Zf@ƒÎqì_ö€Tî!Ì¹í¿´Ïrˆ äå@ö>TüáÿŸ§c¥«[ÆX§ÓÉûªNÞqšn¹“G€ÝÜIÿßܽ_hyš.lÀC”]:aº‹„RÁZvC´VgÚ†*Ž-¾($E”Uº'J 'ÎG©¬3V«X¹1a1l„[ñ…ϧ9PæK.|¢€/L_çbúâ€'=ÊÍDWm|å°3ß~ïóþ$ÛI÷þ9;ÙéNü'–%YRl©Þç}Þç}uý³ LÙGÕ¾Þôm( W Ïúc:Ë˸íN&á±)`"S_ @ Ài¾ÔÛ-_Íÿ”öV+™g:zñçYÀ݆RœDÀU«jUcWó[׊ג钙əɢH(ËWƒÎÇêè€ -ð`=£¼zCpz":`BûkÖ½yýÿ0¦Â*ò€Á,ÆL5œŸaàÑ£¼öhb\°²ñ°sçïîäC— èãëÚBÌ×'Tèü¶å·ò½MT/}Y[ýh飥¥KK Tÿ­¼ú™I€3õð01==½¹9·ùÁƒé͹“4€æ<|È‹È `/ 1øpÀ¹fsd$Ñú‹AùGñ¼*†øDß]ê­¼3[øßCÄ'…1°XJ#uû${òDÆ:à6Õ'?|ÜŸøŸœåŽ€Éïà gPµ}PÿC§—;~!úàºà PäY@õª¼üz ¢Ôÿ?fÛæÖƒÁ£ùë¥oˆ²÷Œ7Ã#ßV üvll{5u|Ú®DW'·cUI©ÄÒÛ»é©ÝXîSiljÌ›ŸMUŸL^£²¼ÓÝíÞ’&‹ÛÃ;»·nÏL†K~*âºçžŸZ¸{å -fç6¢·WcOæ/\àEÿõ‹¯û÷š.€\ÎÖ÷ è®a~¶M‚ª?Þ&wv†wPýéã˜Ýp“¼X8¼J娲\9jÙ ƒþq冣år ǵ-­¡7ü¶«E¨ù·ºÞ° zPßo•dUm -ê 5|O×¹UV±Â2u½Ö,ÝòâºáÄ-§"ºû -•ôZÖ +ní¥ - …¨Co¯T¢À§(NVÕ -„ú=¥âÈq“«oHQÅb Tqå¸e©‘Ç -aC -ݼlFÇòiÑÖU° -•ÇTDZý6uÿ‹ºü{yQv,›Þ²e=¢hü"œOÌí=’ÿ–¡þ‡±©ªÊr(ŒT¼ˆ‚ÚÏ´’l@:¡Î_^¨S—ŽSh¡ @ÓÏC}ðï: 1h IíT@y´`Màh„@ÓeÓ~ªÐ-1 ð<Þxõêq;ãâ,Þé'P ¸ Äý41ú÷ -´øÜi0 -Æ&|n½àãTÁ‚-Ä‚€ë+û À^m¤ÿv2°ò þ‡= ôÕŸÕ÷úþ¦¾Çi€„r ØkÑéåÌ^fïÅÛ¨ÿ8ðö0d„ 3c0¸:µ5F?tütk‹ÇÿÔö¯ÎôcJgØ0Êf@ýHŽÿƒëí׺þ×Ê¿`CûG××þ k‡Þ›˜ù€1ºV?¸s9îŒb °¦¨F¸¤|-¯Íf‰l¼¿ó»ÀÕЂ¦]Ò×µKrHUjóliqk²J}uý£Ÿ|ù38ŸÕòa €¢¼¦yÀæ>Äþöüª9-ôXh%FF¾Ú|pþÃóÔùÓUçæÄ(àÁ$#­ -$£ÅHÙ×–ž­üÿB×ÿ] ÐO¥ ‰µT6´:C0p6©â ¸ìGSž*ƒ¯É¾oàµl€þ`Ðûs`(yÖ#0Ù ž{µà [ЃǯÐÂid@äUü¿ú~ì@¸ò@ê™`™üÞXEú拫LJÑíô¬¤|û8~R½nŒ™cÕÜÐÐ|zl{{ -‹zž^®vwwè¯V±JÒÝ¿:Ý<÷œ¾y~å9€çw7nï¤/V§®TýlLeŸª¾åŠ€°^¼è/©¦²=Ü=ž¹¶Ó½E`{rª»Ã@¶:f€õ€ÝÉÏÌ15¬Æ,×¢’Yòûs–’ÊÙ¶n*nCÓu'fYbS¶uË -kŽß߈Õ$U£JjÛª¦V<«äXFE5$S¢*êÁbß°Ìýœkh.µÓƒTÕDüž.Ã…Šº SAtÜ)¤í*ÈßU$ç~Eò3•ª5'ô"Ì~‚lè1Ó"Ñ!s/” -São‹zXqS1²Ôü{Ž…Ù¿¼o©ð4Â@–ý~¿M7¿ž’d¹¢<†b‘ã&ˆD -&‹°Š\Ã6ု¦G ô={öâŸþÒ5Uöö`Î?3˜ö¿I­ÿ»!çëF…+õÙ€>Qõ£Ço¨TÎ"Ö£œ6ìÁSàAßðûîó5P0“ ‡cäi|`/yÊ Àüs~zÄ¡ù§e6 Â:¼ì—Cµíÿ¾þƒ 0Äõ®°)é[Ù¥"ßD"Òäöê!vvÕ©XZÓòaDÄÒU-+écSc«Òð… S¨±ÎììF'w§ºtpY ù—¾ž¿òš²ºÝ[Ç,¼õüJi~j7ÝÈõwý¹ýFÃï?ÕìëT½ãÖØðέîîp´»;5¼îFp›¥€ pNP“c®Q [Vå¾ì×5'×Ð •n®dUÓÕmKcÝ=µÙú,žnyÕÕÕ”2fÇ5«êéz¼ßÝÖïî;(מ‘Š@ظž”êÞ·WQLC!œëÿÐcó*€ ~ ´['”`5€Ší{K‡J^¤Ê1]nz•ŠëÜËÓÃrµ -¡ -E2,U– £¡*aÙ¶å†ãPý_´eÛ1U:ßÑar ïÓE(ž…°`OÅN"0h06¼ˆ¦Çc˜Â*8%07 †°ÕÐãç,Wÿ‚¼ È€^/þÂêË+™þ¿oÀ €T3ÿ…Àw*`?¤uš< -@.Py´Àb`˜ @•8C°ì%°ÐnaŽà±Gpæ•GHÀõ0À,¾ÀDáï”ëØ -Šõpž›‚<á \ÇB Gø„9A{ƒ$æ$€¶K8¡LUžÐB»œÁ9ô_ o™ôo'wö|÷Z°øo¾•6Ë@yøê+¾½Goqh=²¾Jm}~ *@ØNmmMÞŠ ðö`9«8s²°Î#€þW–\ÁbíŒààµ=€(ÿtÏqÜï¥zƒãë{QgÎà„`–à9Fô{’òòcêBÜÊÆ/« £¿¾¬…ôYë’•¿WŠ[ñqçžæŒ1PÓÆ!¸ôÅÕÈ`.[NØÔLÓ`ððO™ÖHkV€ÐüöÃM–þÍmþþÿ˜¬­ˆEÀiìÿ}xVÀsÿcS é5¾øKÿŽƒ('ë$§µÿ;å¿ß…÷{ñƒàÙ¬¾3€}x’ÑhÛ€NæÇ¯€AÜïí>pð†Þ Ïÿ÷Wßœø¿ùC¢ÇOF—Å$ÿtšÐëKPã“ÂåG€…ÇÂÿ§Ç¬?ÿðrPHÙ޵GÁ#Ôÿ=àE xÕ±o+Òq*´º-MFV¥h°—œ”*éq -þTºšNÏ[‘Pt2WMSIžJ#¬êújwur—ýWcþ¡ÜüüçÏûu¿¿ H'v¢·o!àùóÝØÔÔÎTöû1C~{_„^‡0ýSZ¤^=¿ívwv¯`̰;|@ÆÆH`›DÜÅNÀNL5M-îŒi†.»FÖ¢ÞÛö#X2íRƒ—ïÍð}K§{¡ûjhô-“€”J ËÒK`¬EŒ,ÝòÉTW¡­K ÂLm´)[:[š®SñPbC‘Š¡Þ7”ˆY¨(„×#JE­>Áv/Rae^rùÁpÛfÅ@¥aV ©Ž)¹–¬;ªQ“%a¥ª™ª‰I±è§Ê¯©‹~Pþ²¦˜hÿúP5ŽC ½Ä+FE - _c¤£ã§»r0!]‚X  Tò ¶—âܧÐ!dݽCö¢gêÁË?Û±òèåÊÊÞ ü· êû € îcA ÈðFtx#°ì6£h÷ Ùr¶`ÀKõl™ @4A‡¡¶ÿÑô¿qìÕ]×kcÉ¿™h€aˆDaÔW Ž¾l¸.díB}Ôí`™¯@W¢/Ùvõi@™‚ ð+rul.­0 à£J >}é<ëp÷¿R§KžÑ‚­ÌŠQ€tÖ²oeùàèOosøqdu}r’ΫFWÇ&¯ÝŠŸOV²‹BÈ¿6cég°¬ÏsV0Q¶V;þŽÐ›‘‚Ný 3ÿËHÒ >Sýîê}a¤Gá½ì°qãæÂ„“ V -ªYLbQâÑ£Jþª±§îA]¸óë;±PvÁŠ•Æóê¥q+^…LG+ŽmmmÕbÕxÌŠÏ™—~ò“~²´t a@³µ¸J¯èJ­6=é‘t,CЄ`s"À5ÁlþvºÉfÀç׾¢ÿÇͯ6ûøð+Œèý«¾À÷—gžòåúÿ·£³‚üþçAðµùü ÙÏVû˜ôMxÏ,íc pv×ÿ ¸-Úý§§n¯ùŸºük€Pù…úü3Ö¾PÕ_ÿËÀÃËÂøŸà"ÎàVj™êÿc®ÿüß§Cê»PÿyÐWDž¥©"`Lp íÏ` øtœŒ®F*Sé{•±±)ªÚSÕ\Jùj ›é)êÌ8³³3¼;¼Ý݉îœënkþ¥X5½{’pN¨¡|ŽhßîóátîëôÔ¯rHfÿ¿~ÿ7`ø7f-k{˜®n@éÝÕstèÚxFÒ Þ ¸½±›V %³ÔŠìĬªšªÜ—†.)÷­ë¶n<–T˦{òÛ¿Ïùí"ƒý%¿í·¨ŒR'^µ!Pd=fݯž÷ûej§©ÑDyVRtÔõ?&à9¶É?û°§røzT¥ŠVU%Ú£~|YAï¿¢—BHSM7$B aì¤ “u„²­;†E¸B¶R¡JXêû `!A~9Žã˜ŠË1 Ø -pu{ÑQ]ø›Þ^PœJôðó¼ÙOÁå ‡ÿ(øCné_ ôô䀠Щn=ê¿£?þÙuJÂU?Ó®SßÏ«>„èrD®o°à«·N0@ÞÜÿw:Tï³Q&FG úƒ€l³SèL—;n õ–;h€?À¨[ Ló=áó#VëYêû  €E°[v;uÏMÀ_ îò’ fåz¢å²îî?€eöÿy?p%Á‘T÷ÛåLÇÇ¿  ›V»ÙNø|{làÛkí=ܫà  ¾wÔÚ[Y¦úÿv@ŠE)à˜ˆºöˆÀ­ÛElVá|m²ˆ´À¢°c™ÁBözq}0´½}, €8´Þþî x²MÖéK@ ˆá–èlÄöû$zŸÍŽÞQïݹyÙš…pÔ‘î©ù¶IªäåµðBÜš Ü!ð»@,4¡Ç­%«æ.ÐW0ÚÕG[Å­­1gܲ|±%ýdiè£ùŸ~¢O `´ú?O݉Tñ^¾ÖCßôôÚÜ›ûΉ*ÿáÜo§éÌç?8¿&œ‚ Ïék›¸\¾¢ #€¿üo™Ÿ.!1øÿ~‰ßÑ  íí¬WÿɈž[m¶¸Ž -àìjÿ©ðœr}ð4xæ¾WðZåýÁò.xþe.ë¯ç1=À$@/™\õ—û=îúEý§W† 8búÿ]¨ÿ„þ(Ü€Wàq—ìÁoÊTäø0™Œ}¶z||¼·¨ÃK“cSéùOA.WçÓÕô¯Àt#«Ñ[ÃWvW£‘UÔ÷H¥ô¥þ$¶+â{Î ž_¹ò¼ËÀpú¢>ýä—¶}Ýoqï?d_ïûþ‹t®ÿâF5^êÞ ÕÿáÝôî73;çDùßHÞæÒ÷.‚»ç¶caêÔ5C²õ†ÝP<£á׺§@áoªlƒûGûŸkT5Ý’sûÜI{–aÑ‹X÷Û†âiªî„=]6]ËE¼ˆlì+rtÝPUÓCÖ®®¦ëp‚Ì÷¼°i(¯,E¥¯„#ôëȆ$.eY­D<•ãƒÌÅt_X0½P¨¢:áHhy9¤RŸÛ/«*uûš¥Õè&øíEËmÎf#!X²0´<ˆF8Ú8•ê¥Ê•J‰…ˆ7 qø!¿pè Â_°\½à?_xÄ€pÿEÑïŸB÷òïó‰ežøÄ.Kú$ÀH§œ€À(ï–GbPe§ iÈËÍB§…y@‡!8Ÿ iAš@³Ý¦/.áÂûÇmÃ8‘(— œ ÀÅ?‘`·àlý•ËNÔäÚ£ ¼N½}"´p¨³< %d¾L½…=D/.âƒ2Wõ }!€nŸN®´öFÚpÿÏü7]öŒÎY~qtôÖÀ ´¦,ÂcÛù­Éâ탧I¤¬R¿V¼VÌ_{4¹…¸`zÇÀÀäµÕ(Ç—†¢É± -80þ¾ ^û‰áÿ:¯bªÉÿ,½7N€Ô”›áòlvaÖXø`a[wTÄ{?b€~}ZžÀåÅÙÀßݱB Ôù/YZx\§z/€üÖáh>ÿ2?ùó¥–.}’»lYšvÆÌ{y³R«(JgvÂ_øÀLO³¹ÿù¹¹¹~›Dàilþ–šü¬¦yù±ÁÂk€_5AøàôÀ +D¾oìð½Åÿà»hà, ÀL_†ÀPDÏ*T“ÁSàQ$_#"Nïà{†¯¿Ñqb¾¬ï»;ƒ}‰@’ƒ¸‚Áå$ïù±+PH¬ûãF°<-ÿïDý™@<Ædø°?"Ž(³áá‚ÈÔ7€À7iý’ÙäÔTº‘Ó$%–«ŽÅ¦ÒÓÑHq'ºz¼±³ÓMÑßð›áî­X *Áí»ÞsZÿ©õ¿Òý+ÐW.”~ù$æM@‡€lvé¡ÞÈ–kÎuj€ýº‹MΟëîÌt»“Ãû;·8ÆôWÏÝÝÖm[õ*^Ö¶s¶*¬ŸwkÐú'ö-Í´qº«64º³ý}|gU"‘LÌÒUÅû[' ™°ô1LO³ Të=×1ËH)Ôíß—¡È3<³âÊt®ëQU‡¯²ÃR˜;r–Ž 0âÖ¤H¹†áRŠÅ„c©F%²Ü )ªlQן\¦ßv*"l°(ÑSLZ,Ù²¬ËùE™@†«Q½·ý¢þcP³è7c€€`&lFxñ9?ì<À™T:jGRIb_üÀ®‡âåÑ;d.kùÏ0°ÇQ}¨ú¬“Cpù¼Ðæ±9Tž`2L®SE¢o¢Óibóoóûò4€Àèh9ÛÌÒ9N€Ñ'„À¼><‚ëÔ²ó8h¿2þk@Xø¸õN¡_VP×ý?¶Ý޽‚ -mVü³å¯oÔñ¨Ã‡6b@М8‚öÿqâ1.n¶á@à£EF@ ŒZ{¬"à!ág¾–/á[y¶·|tpôŸ`ÊÀÔþ_ÝÊ_Ûº–¤迃 ›‰n`0IŸ €Ä€(ÿˆ.§25 V`f`0“<þÀ ýЬCOèٸĉ3M±×ŒPâ±»éÿø“$I¦Y˜ ŒÆ;7Y8z#à°:Æ À:¨ZXÏ:…Â'7½[îwAŸ°Æg‘ó½U#PÓâÕ 0ùâG?Yúh~éÒøÄ¡UƒÀ¬…MéÊY`Åçk%F˜àí>ªìÌMÀ àA‡­‡-¸Ã$@Ô~X``°ð°åËìýà@ðD¡ï!ÿuý _ÿ(à¤Ö - :SÍûe¿op‚NƒlK žÞ¿6|ø·Tˆ¢ø÷Goð½`¨ïDô`èôùÿ$5™`—.œ¦OÞýçñÿÑ»QÿYÔÉ¡€Â¾×KÁ>¢ŒUàð;ÀÐqdr¢¤k•–üT,­ÏO4üC󱩫SR(Ý^=žYvw¨¯øfgwggæî­©ªH¯ÆvÏ '@ êpëÖîsBÏŸ_øºñdjj -~Àšµ¿oïS?nïóB Óp4ùùãzβÆvWïRýßÙÙÙÚ‰ÎlðGŸ‹P ÜüÆÝnÌ*bpTCÕ©¡¯¹nüÁ&ØòÐоš¯0³>d74³6äw Wu¤*¦e5TEvÔ˜…]}5ÌÁ=ަV[…øŽ*²êEŒš§Ê S³ ÅTµ”tãjØP*šã˜•p\®ðÞu(^Øõ**é~ TAO`‰Ð*¶ÿX„hˆ>{Bžƒæÿm$V°€ÿÃî.€mípÚžÐăh I ë¨GS€¾)ûRùov0ù$F;‚”a „mÀµr³<  S®£Pwx…†þTÿÇX tEF0âý„í_“³ëDÖcç_ºFDþ”}B=ñªÃ¹ƒú]Ÿc€Ûed&<úä¯ãs½!Ü!Sÿel<®sïßi·|{õ¿y˜!°ÒúêÿÛõ•™•Ì‹£§ÿ)‚ƒjþ³«ùüÖØöµâ µãA+Zã•hþZ(¿U¼¶5YÌ_¥ºO )^˯'±G×ÿ™~èI߈Z©7Ò€è0¨< †ú~çôÜé[›!3bùÇ›oò<xdVf³£qsჅx6¾0ºÜ°š†¢È.>ºz/àNüæ>±z ãqk)®™¥ËŠkÚ=mìÑØÖÖ£-­·¬êø/¶&>ÿ“/â`îY’šç@0ë¯1¾–Ø€pîC00è€çç6aö €@Àæxüàï¾Â`çbž&¿·øñ¶HðlíÊ'ÂÑñþp–¬$OÝûN†g@?îOû3C€àwdÿú[來G¢ë› @¯]æñ?÷t˪€;f¡þ˜ôšàK—{<ýÿQ e¿gÐc;à¤aý}ñH$\IÑyð‰‰¬F¢‘ˆ1?k†czïÆÒÕOçs¹Ü|5V‰†Vww"Ý+Wv»«“éÏ?ß]]ív»ÛéÒRNŸ{ìÚË@`ãøÖ.¼ž?ïNMYzúÂpì¢ÿ¢£êÔ’³íÔìÒ>;Ñ»M8CWa´1ÓíÞÚ½0||¼sn²¿~ðù1úÜ8Ýt4æè‹²iªT¦m]3ÕšÛ(€ûÚwë~ݵ°èìûõš¦Ë¦dVè¿cjTî˦G«a¯â)’¤ûkJ*¥R÷O¯aÏ•õF£¤#Æ}$í²å)†rŸ ƒgS›®¤Øj×´©?Wã£ê~Yu5Í„_Q5õ¦*ª¡¹†zϬªæ!+ÀŒ°"/Ú'²œŒTŒ†lÇõ¾jxÞ˜çÕd{l$œ€5¬j®¦BÛúžãˆ$NJ!ßþ|˼“¢ð_3ÅP€ð½^虞Šôaõñ?À+0ÿ Gtx¤2<ñ§ÖߨgP¡ÓŸŒF³l „œHø_ž$8,°E%™JuÂçÁ nûnÆm3,¨ÃÐ+»Mþãp¢E?M5ÞÀ<À«×³íBû%¸‚öˆý5Ûe¯™!pІ€c«êÏõ5_và”BB!™Žd€¯µ×Z¡³àøŒÐÍÓ•:êÿÁѦ(µžëÑ$@üÌÕ™ÌÅ¢Ñu'šD„úÌñºÜ÷.VÖ HÌ D‹§‰@ðØÁ7†t”~”Šöû,C/‡úîæt‚ À{Šôúχ £³ðè?\ŽOîĬ†Íht#™œ©=º–¯Åã³ZàŽsóÎÍ›ÿ½wsÜŠ—,ãÖDcn¿[ù|q+¯a~hñh{è§C}iiž.iªêHTü ø›”õ3 À?õ|[­‘iáÈ.€çy ð·ÓÔÛÿ+›pH<|Øl2FxÀqêCø4éö~ðõ¿÷Ýæÿ øzãÿ”‹þÓwô xú: X÷X€Ðk ÉàY Øþj¸Ý×ÏZÿÀà.ƒHBYf…ÿ›ÿ#Tý¤Hüé/P  ÀbóN±´Jðÿ½#±üÿn,œ¥è¯‰@ r넳 U•HHY…“Üññaè8âÜ“>³æcáUe*‹ÍçæçKKÖØêêöðÔðð…+»Ïw»Wž6È­‹I€Ï£“F»ã|~Ðj±+Pg¤ÐL4;Ù2uì jý³ÍÑ@¡O”×ÊÓÙµr³Ó,OwšTÇQü©.'8Æ·^w_¹¯¼W8ÉRGÜŽ×á$@Öf©ÌÊm0øs.= -Ðýhú; ·ç£÷Ìò‹à0äu|ô½—À(À¤@:€v „iö ô%þ¦õ7ë"°ð¢ý €ÿTºüŸœlôéSÅÑP± -²®:¹~UÇÎã¼-^“®a ÀzôL.àɦõ±È;£:p¦Š=±üÌO–A²ÉQ -åÿ½ÒzÑ »ÙÑËqsôw ñìB€ €ºn¨y0ôÛ¬å‹ù1mÜ™|¢Þ¼ù›ß]]¾iÅã`>iÄcqGS‘øË:æL(Ž}´ô31€àž¥ha¡‚•u©øô5€×PÑ?à9!€7çè¼éß>øýD` „ææo`&ð`¸‰5À&§=ˬüÏ‚è/ÊhþΔ““FÿäýµjszÎ/œ¦ý‰§îWp!xÊn§ãþƒ7Ðë¸ý'—ßÄhø{P 9ê—ÝVúSÿÿè`þN ÈødûïàªÿøC€"†G<¯oÑ -‰|;ö¿Â«ÔÿGŽÁ|[Q¨]žÏC…sUú¬:ŸOKZ,–&°{á -µýûSW¶¯íì~~åÜÝíÕÿª>~åÜ™M`çWv»çºÝ+ÃÕÒõ/‡vµÜuÌÿ1€Ðì ±$û±™cèéǶ»»;;<ö¿Ë:@ÎÜ8¾}›‡ÑíjÉ1=ˆö` èÂØÁmÙšbØ×ípCÒ-Õj°t?¥ÿMÏÓt¿QÌJX3•šîHŠEøÃ¦ÜÑé³0 ’rßÖé!5ôâ}¹j¸ú¾]Kõ¼K}8AÈöPŒC¬¢ðä¸fÉ‚S00´YöDAIºÃY}Š©ÛcteBa!Y]ÖLÎÿ;®gÙ²¥yšßF6€Í ÁqG_tÔŠYAìO°ñ`”D½§gc(•Lñ Ýø!œ£‘C~Aàd¯L,ôë?ÞÞB—Ê)¼X7¼º ×~¯Þ—òR¼O(X -ÈB€Œ0®cO(FÄ> µøÍDvd´o@ïY:Õ ŒlâA#AAˆêìÖŒç½jÿÁh»íúc8þ|n!Á?X 8 @U?S@.¿—m»>7ᨂg}Mªý<)èPg_Δ[|t‡´¨Úó„`/Á—b1€Wé _kÏ—¨?„9p ÊÆ‘ÄýEÇåÉÛÐý©µ‡Ak2ÝÀ`2”ITËá¨E£ù(6é‚Pò” 8Õ„ÌP((bÐEz𤛣½¡ãÜò{Äü¡¨ó÷ -³@8þÁBüòËÌõ°~t;8“LFµ"•v>7Õÿ÷æ¯ÿöjèfÜbà·œq§Olmm1Pÿ²8öóKK_ˆOÄ&´šWT5À\_O½Æ`À€ÍóúŽ@Tÿ›¿E­H#lD!oáÉúRH¡ôXP§" Ò_lôÝ Àª_ÝR€þV`¢EV,4£åéµù0d%``t:K¸`´Y@šåûÍf9Aíz§YÇì²@ªâÔö¿rÛÔÿ`«·:&m „ì_|&îCPöê İU° Š¿\ï$`дÐ7â˶¨Ú }‚×!Ði€íoÓ÷p´aGcˆAd|ôÏÞÃöÃý‡½•öÊÊ‹§Oÿô—?$YîOü»ÐÌÔò|Ø*.ça¯6#=Ц[ØgVCfd€èðî((€bPçzï`]ZtϘ \ÎÞËÞù$¸¸|'›_7,jÅüÕ{ãñøDàæìÍ;¿þÝÕÞ?XÜ—'â ¶°w jÅÇ¿Xý|þg_~¼tÉš°&Tí%¬Ý3éXô°BõŸʺèî…ò¾éç@È"€¯6Y€k‚@XðWÌŒ@ð?ßô`ìÿg,„ô'ßQrþnŸË?Ñ&O‚ú•qi²¿•z<ãøoPýû9%^0ûËoÎ4„Ñ'‰ÿå>†¹ùrRZyYL@Þµúß߉` T¾å°yúFJ€Ã$„etJÑ¿‰¦BÇмÇ>®VR•\zu{2ýù0EÝÝáÝ Ã3;ÃÝ™»;Õùù¡¡¡Rõ -<€yPÏž@Ïá@ýü•'O.ù«±©nú—C~ðþ9û¢mýJwü„!†Jz#¦MíÞº{¼3ƒXÀ[„-664Œ|ÁÛÉsœÈÑô NSm×TÕ_²TÕ(4Üûþûªé:‹~¿jUËoÇòЦ7ªºC˜ÕŸS½XN¯xšÜ°bFÅ”l.ç·s.õÑ&òM.É–bÈ–ÕÐ5ÏK)÷Uõ¾k†:ü…T›útÒˆ©5ªù)Eª¬C¢g¨„¦4G…U`D ×<)Á>=;C=8ÿÂø¾c©E2Ðà#6ØÔèmG#ÄB•^s¥Ç„lN¤ëÀ@ÖT‘Œa…Š¿jüÍ”Ð)n ²«3«ü‚½Ÿ ÉJ +=…Vàp¥÷ò-<…Ž^¬ô]€¹õ¯{žXøóÄì¿ñ €Ú¼è«Ö[_À:øü2ûþ5ËÙB™ÛÿfVTöËwÊwšÎt"Ðiv¨4w\xö r»|@¼WuÏ}…I@ Õ?lýlÿ°€¥?òÀ,aÿßF`3Sö5}M–ö×9~ Ö‰VËW&`€¶S‚5û -Fèzln0Bÿ£ÿ§^ÿ›ÄÃúÃ/_$|ðƒêå9NåöqÙìÇÇř赙¨™Lçzïº?Š>.‚te³3Ñ[EB"ø„…O0GÀ£ µþË\ÿß“-€ƒõâºT#¸Á @`Ö,&“3ÉÛëZ±XÓ¨þ;—oj7~óë­åŸM×ÌR|ÜÏb àQ~ë4zܪV¿ŒZ_üté‹ùbšvÏ‘TÍà, âúúYÄìó%6yª À |5=Ýœf¶³É3€‡#kk¬<ÌÍ­­± -à¡/óƒô*ÞŸYy¾#èkóÀÁé -ÿkBÀæ€)€§â'“oºþÛC€o÷ qßò™;<èKCA ŒÈ“L-ŒÄ -Í Øà×EðèdÿÿݪÿOÅï¨Ç@ž€©ˆô-Re{J%’¢îŸ ÇPšG´ñU*ÿT>dVòãCóé Ãé_­Â[¬‹ÈžÕè*!€áXµôqu¾‘~Þõ¿?`p«{%]Í]¼žk\(ÒIùTïqÝÎé[Ö€C¹†lWÇv»w»ì#|kc§»³±! 6 x›ÃŽ HîLƨÓ6œ\NS-¨÷-ù3¥"IÆïýU5¬YCºvr~}Ÿ:|ÓòëúÅœmå-”oÅ.ÅŒˆ¢8CU5ÖÐc0ÿUlÛTTzmSK"@CQujÃmË3jžbÊþ†µOÀaËýˆ¡„"®]R9£ySE¤ý2MuÙ˜ù¦áȪ¡Þ(Ù…eÿ¢­cÉ‚®v1ò×u™#šÿEy_:@=kYŽK ¾‡Øaÿ†„R¿&Æÿ¢òè²P$:DÀs$ÄÀ¸vð°·z+õ -€•eêô]|u—©þv»¯þc ; ¯]çÙ€Øà¬À:ãá -Àž@ÍlÑ€£ÙÑ,”›£ÔûSÙ/FGѵl3Ф޵}BÆ_“ý:S‚möÀ„ßmÁ(S¨b3 a0€(#.[–Ùí/ÑÁÒ?Uw¯ ’Ÿ@E ¤Ÿ*gš¾D›PÿG(ŒÔ[éAwÚv«=R©CÕH`n “ñeVŽŽ~ aàÑèäµuhøCWkZ¦ÀÁüc<£ëëyúìK¯‚A)xŒFû“Vf•–1f¢Úß;âèée>õ¾0Ô•‡Ã…Ñ@\ËÞ¼9ø$ðfóQS[ ÀL¾X´4õ²gà7ÿu+å·&Æ—,0z|<®ÍjZ> Yó–ÿ24ÿÅ¥¥ÿúñÒ||šÐòª&š¡VòS)¾¹ˆ°ßM0ú<`B ¹ÿŠký\³Ùy˜ 0ýÕf_ 671h6˸·ò Ôÿ·p3¯¯ šN×O<*'O6O†gB~þ-Àà†…¬¿¾ƒßXˆŠgÀCNû} L„`@‹‰ÙÿÑ;5ÿ?ƒz½CÔg`ÿSÊ·,äa‚#‘ÕoŠ¡U0Ꭼ†§bŸ)R86ž[ªN­N¥!'žéÞŠ®^ØÝ‰îLuoÝ޹˥§ôœÿÉós\ÿy€u€[ÑèΕÏcÖüE®ÛÞé[}@Û?ÿ³°]²íF|\¯š“Ý.¦Ý™cØÿ8N&…ø_x'y€„I)3Ñ”7Júý,µÍ:ÕJå±a_¯Z1Tk½Dݽ?çoÀ`‚@+¦ÛµHÄÓõçÔo•L$b†]ÃÒcr ;…èåÝš -ŸäZ†iÛVØÕÓÝ·5ÅS\úÞÃL_¹_¡o†üö}Sb³? ¥°Zñ¤ˆbPw/€)ÉSTKÓmÕ•­HÄÐmn4¬zyC_äÅC+,ÇÃÈ -´dîü÷‘¼(«ªci¬„R)Ï5*ý…@ ´P—¶øÙûGáôGÈõ_Rló”<Ääÿö€w-÷{/ßÂÓõO/9h/Ãî¿õþpZ|,´°åãŠÏ§9*Ðe> A@ÖÇÎÀÌùGËMÞl–o@˜ ”ïPù¿Aßm–›îfg­A`™J.<‚à&|PÿöyÀZ üAò»¾‚Û)' -¾LõxƒÀhëM¯,œ°ð/€¦¯etB¤€¶¿ã«$hµƼ`Å·Ü¡f‹ð ¢·‡õötgäÙÞòÊi8Êá«ÅÇùGEv~´^ŒâxùÑnRt]XCëOO4×=¡èG›÷ŽBA±xôþ8$¨F8py6>{çÆåË7Gî8ù¨¤g’Ë3„Ô­b¬†, Ë>ùÍoò¡¿µ,}ɉ‡K ããrüÄ 0aU‡¢ÿå‹ù¥æÒgTÍ ;aNZWÎ0ÿ´â{æ{ØÜ\ƒ·Ÿxƒÿ/Ø}ªíÓ›s`û§›ì<ÒüjMŒPûá ÄW‚O½¢ž­üPEãmeÝ¿¹Ø'r¾3žÁÉ3»áà è ø/0ob€3î m€¡ïÎØ%-yª\î;ýáÀÚ÷üï#îÿO Ÿ¾ƒ€7ÂC‡+‡),›JÇÆÆ´©ôø/ŸlO¦ŸlSß¿:3s½²ÛÝÙ™ÜÙHÞ¾ðÓ\µáÏ •Ò;"``Ðívw/¤©ÉÎYôòÙÞÞŽ±à¬ù†®ÿâúuŽ}ׇrþ¸o3\‘è¶Aìvoít7f`/D€-€xi#ɶÀºc1ËЇüzcÞ•L'+`áWqm«jù‡ô}½ªªúõ!¿åw̰ѰŽ5Ÿ“%ÊcŠäø¯ûõšB}þý1µQ²èGl[‡dÀp•TEñd]VR®M-¾çè–c7<¬L˜–ã8–«ª²£::7¬ûaƒ^ù°éOU`¬T<¯RÁƒ¡ïj\…¹`D±åFÍ3C©dÃ’§¸{á9qlȰþ¡ÇI‡Ç–ïšFØEõƒ‘6ÝS×H¬ !ˆs-TþúÃ}tV\dVöŽŽ~d\àŸÐóšOCÑäzquI‘üc¬ù¯›ë" -%ô(uâ -Äh²/!A§„CSÁ÷dðIšyo4îÜ\ˆß½¼˜ÍGÿ–ŠÔþ³0ªinX7ïüšërî-ua €ÓkW'æã–5>”šÿòc€Ü„6aiáš&™Ù°j†M³(­¼ÁÀèCÔþü=,צ9€éé~À4¬@x~îƒ9±ÀàÙÞÊ˨h¼å{“ ŸŸ3^A¯çô×ý‚Áã3†€ÿÚàè¬ÄOÜj((Vû—{gvOi°ýb¦ÊRØÿìW~¾ìˆW¹ÿ?zwë¿@Á?¢C\Qå@2‚9#ˆ³Ž¿Q¾ýGÝßH«é³ítl*VŸŸŸªÎ?ùÕð7pŸYÝÞ™ÙÙ9LoìÎûsóóZnh>Ö…à¯úBÀîóÝ+Ÿ?y2?¯Skm5bé é'T÷‡.ÚöØð[ÜŸ -oåX“-)²Ñ½»#Bnoì ò ÀêåÛwÙ€>6º±˜FåÓoÙþF¸bªªªÅLËùó–Š}:ÕˆÁïwÈï×UcÌ´,-Ö ³u§Êý*¬¼ˆâ>Ð4E.é º1E1krMQ<­w~}ßPîÛØõ«Q)WTT*Ùti—îzŸê·c¸÷?ãý”g„x»< 0ã¶Ž ò†Q¶ ÿ¢FwààneÇ54µ¢qý§âïò¢n/ê²6œ¸cYª«91¤pÆÕ -¶69 0Äû~XHò2@3–wòàahÀy%ÑýƒÀ3ú­Ôÿ#+{b 2y˜Hà«!¶Û"HDÀ\·Î€ <´¼ˆ”ž¦›  ýïðþtªþÙÁ@y §Ë›8¿€w€;âu:M·CÕ¹€zíú¨ø·á Ôö|¯Âù7‘Eâ_¡î"õç>VÜñ{°ìd0!(gú¸ÿŽ0bhõ#ŒZ‰Vëa»Eußm#Ž¥ðM³†±ÃÀM@½µò K?Ò—{(]@(H_Ök‘èrïQP8»(ňpba@¨OªÒñm™Žv\üéãå{ŠÅõõ{†‘½<:‘½s3¾p30::›*ùG3b @-F­pÜZˆâŸÜùÍoò©¡ küR,®.\ÒÇa€5ÀÚ5fª–BK_ÌòÅO—.Y¬UU -;†f†ó¦R<«XyæCÔßo7û@,øà<þk°ÿ‡à4þ´:#kÓü=>˜¬>ðìåÓ÷äí¬ PØôö ùÙu€àé OœÉ~ÀwWNå…@¶Â ý%ô1D¯ü'èTA¯ïüÏBV -öx1–ÃÞ• ˆßÆ!lm€–’@€ô ›k àô;¤Öa10¢T¶óé\î—óó±ù'»ÃV©èïìD£«Ã»Ý$ÿÕ×%]Óì!=ûõü“ô“¡ëþ}Tü‹\jèðìÇ.Öü‹¥RlòÜ­»çº»ôŽ9ÀÿÇl”äiÀF?!àÜ̘6£.ܶ­J„ -ü¸vO‰l4òÈjT,]×Nþ¾niÚØï yØjL#°cVœœŸ~.Dš‘÷çðc†IeÙŠË·kûm¿£ê,÷÷)ɵ° -~MÆ]…eYíﮄ)¨ÊŽ%sz§ëZ-.k2¡åå$ÙšçꪚJINœþ NXfDQíÒ¢ß^D ä²½o„5ͱ¸þÇåø}T óXa ÀpDR–€±ìx 6w{ÂÉ*”z+ g€g{0þõÄ €=óEú/ïýgúü€3\þaØFF@_SO— Æ -á}'|àfvºÈ6³Y*útjôŠÿè@ |#»Éç5³Ô !0°ÙI´G·ÃnÝàô>LÚ¯H Ê €:ór¢Ðr]£þŸ­„Âè¯í²õ/]¡UΔÛÍz&?­Žµ´€MŽn²õOÇ—€°‹@ð=¬'‚‹Hø|+{™g/Ž~´@ <]Oa$`>î±ãj0ø(°z" °wÆEÁÿ¿|Ÿ€õbX­FãÙxàfüÎ*ôN~}=/­ /®[ùøìB|Þnþæ7[©¿E•×,uœ€¼@~l+µHŸZçŒÿN€š5¡…µ¼i:ßj¦™7×¥×@€iaàƒóçÿ^x}…³7€ÀªßÇ#ÓÓ¬þ?¿ù`S€¹7û[-ß³g+/ߟúÿôõ¢Ý/í'.Á³@09ÈMW?®¦ÓÛÒÔjòøfÀSŸ_Ù‰Dw®œ»µ:6¥—¾®–†ü¹ ;wE$0ò¯|þdÞÿµŽ•5öuuj>Gxßö£î_÷_¼nëz'íÜ$ö–\ªïllÌœ»rç°ÀþÿB¸Á‚À»l p÷ÜΪ³,Ýž°JY/e”t½jå=ÕA(.ûK„<,Ër ~MË éUº(«_ì÷+V®¡äQÿsvNטTTRÔ¾Ûb.O¿gaµPM±õ¾¬š®ë:Î}ª×)Oö/.ÞW a8ò?øeë¾ ÁÆœƒgU*ê©Õu%£ê²agáý6?²?›÷L£ ÓS ƒz|E1ãqòÙ2‘,/ZjÅ ká0ê¿ãh†ª@­¾¦Ò·Œ¤zI¬"ï·|z„ð! “°ý9YËo«þ€¾P›½þ™ÿw™¨‹ÞÿÌÀçó2 -„a°»ƒhýY ž'ù -€iª÷Â4“µÀ(“£kÙµl ¹Ö¡kt²‰…8ü§ÓAèoÝõ Hå¿ÎÁmj×ÛÙzÁíû=—ƒÿèvÛ‰q9€pÖûÜl€2"8ƒí¿Š Uú#õ‘g„RŒZÈa3 öF˜YYyù§wá•OUð©²Î>h"œ•É×Ëû6€=g:Ú½|ÀºzÏ ÌÆg³—oÄîŒÞY˜ÍG×™`àzÑ -;ã ›>a _RãêåÒüx|ÁÑ´&[ym€ù¥ÔϾ˜Ÿÿhié’›ˆYôJ5Ílő̰‰;;£xæóQeç%êü…à”øéµfÒª÷¨ñ €ñ¿â,l`ð½a¾ËôÞ ‚ß?8ƒ¾ààÌJáÁY ×øå¤ÐÏ`õûï•Âo!‘ˆqJp -^ï¬þï1@ —©òÂJö0ùVù†ëI„úƒ^H«Há˜% IcŸ}6)¬ªtnÎoq0k„ÑéSiöÛ%§A(!òŽa4 %¤˜’§T‹åë~Ç…{0è5lXcÁºDBcŠH¦dÄé‡àÕw%¢Z–§ÚRŠú¿nÉzÜ)-ʺ'©ö {qšƒ]Q¶,Ù¶ÆL±pv ÅË„ £R‘̓‡@Š­†"¼¦?ý±xw;|d4G€5ÿœ\y˜bk¶@oçéz`vÈpK vB¨3.€º!º}*‹m®ú\þër .Ì2,ôñN  S XLSÏ6GG–@ ÍÙ;}B`:‹¥@H¢;#°¤â߬sO(ï®÷ -#ãf\'ê*²:mzXÀžW§/*ìl -\àˆfxeú9Nbé? Öþ°€ãÐLBÌ #:#å: ýFV^¾3‡ƒõõþÞ•°ak€ËØ:Ñ@‰þ?øòàè½ÒUõÛ@6>ˆß°PÍ%/Í €¢•ŸX¿¼0z `K¹iYã¥1}B/]ÒǬ{µ1Œ°¬OÇ—BCÿûãK?_0aÍÖ4µÂÀ«UŠÒzñ5 'ým~ˆ Àùx °Éks°žC—ß‚T 9Ç€slð`mnú«é>xöƒ­ü'j ^ƒ"N xº p:81:Iü^pºötÒÿI@¯¿Ô7ø™£´P¬÷'{} T0lá2ÐÄ™k1ïôüÿ ¢ÈÃÔJè0´˘Pª/ŒD¤Ôaï0¢„B©ðÿª‡"SŸ­R;ññØTdøÓ©É© »«ÇÇ«».\¾ð9€áíÜß år¥_\×Ó1K¯Nmc“ÿóôTúÉ|©ïöó‹!9]÷úÿìc<ÑFÃ>”³‡®Û×ÿίǶ©ñ§Ÿ>ž!°s9¦·©à ;Áý €˜‰ H¶ª²¼¨º\b#}ËT NU$ô®ÛuÊŠÑcÊ•†¨ÀZ¥\#¦"¦B¯˜šîoh¶^ÍÙT%Å“IÂvC•DúR³báHhEqy¿AQn¨Fê?›Ä˜Gwk±coT1'l5ªÝèça®V*šWY´Šã÷»ÔÏ[jÜ^ÔÅ‘ãà<*©ÔrR1T5ü{K5< ü‹¶ìÌZOTÍ`»æTÄœE^€ÄÅ_a#G–÷-‡ˆ'ú1¨‘ÿÇOæ¤PŠçïÛyºò -ÀÊc±€}Lö!p!¬×!Æã`@_›Ë?XÛ°? Ïc³@v QÁ ´³#(þl³9Ê^Mtþ¼f§éß;5úl6…A`þðû+7#n|€0€GÅÝk{Þ+,%&èÑ`îOm}¡ãŠà *æð#lÃè·€P¼¢+!­Èó¸ì]ìkÑC'°÷>;™zÀlìCT0[Ò6‘1”!8ôleåÅ;Õ› ÜØÙ5Éúÿd?8x4¨ÿ‚è|€UÂëÔø(Uÿ…Ñ;Ùüúú£bôv0Ê>Rµ6»]ˆ²pów¿É+KÔæç ñxéÒÂøB\«i[µ101¬Îϧ>úâ㥟-±Ð,3ÇÔL) €âk€VB8‚þgà?³;þÌ|Àà!Ç<àÀù͹͹µM!hù|{ÏÞ3ðÚ(àLºï x2ìS€“è—uðÎx½•?‚g›ÿƒSÈÛ×ûõzËb  B(€úß/ÿGï8àT¼a©Œj=¬C €ÃC^ *“’èàÿt½í§ã‘U%–žŒ¬ïîF»Ï‡W#Ñíôç»Ô©ïÆü×K9Ò~jå/ÎWǤ¼6ŸË}ûú‚6áï·ü×s¿œÿº¯þë¯Rùß&²íëCÔ]S+>µC÷Ü-B;w»ç6èÏ¿Áö˜À1ÀñLX—s‹¶žV©–jªl;÷Í‹P{®išA5WÇt»ÑÐýû6Õ~-Ö{ÚlͲ -È PL*ùzCÖK÷%Ï«é~ñBžéXòSáŽHí¾I·ãwb† -3c~Û÷ûé'LU·uGÓm+,E4kQõ*šjz%îPߎµÿ¬DÍ»šU NeËP-ÇM™‹–iȲcR%ÇÜ "…-Ùf€­Ë  CqŽÚ~S•x[#Ä@û~ào(Ùç±ÎŠÉ?Æ\ô]jàdõ¶¶xà°¼·'v2,ðÇþ¿‡ÒߦêOß¹(ùÂ0#¢Þ‹¤@ Å TMÝŽÑiuê#î(¤€µl³°V¾Ã«ò&Ö 6GÙ#¸<Úl¨ùÏŽ$`éÀ ë÷\_¹7ƒˆ€z§ÝI -ìŒ0 ŒWO¸^‡.íÀò××1ZBý×Nˆs'|…:â€;„0ûQ‘aûß RÙ ÀH"ñÀtâèz{AàèÝ:$…1ºH“Xæ @!ŒZÇÉ#Ñì¼/ º¾®†ï²…ËÙ…Ë'²Å¨d>šaëV~ö¦_”.ð»j`./…uK:•ú8ç¯jºeU/}­üõ—ó?å€fa š¦#iyE5¥³#€§+{>˜ü­‰òþÃþùüߟÿç00=ÇÓÍŽÈšžÛŒÄÆ¥ˆ2]àêêäÌjwwäÀ¯~µ{kƒÀÒP¦>‡†0ÑMM¥«ZƒJþ“ôÔT•ËýÿGßUÓéÌàýÏK'@¿?ç÷ÃßÚžDÀ­nwãø«°xnƒSÑþs>0œ7v&+1½4®/6bUóœ…í}DîVd:R*"QŸ^ºžkÀ(–× oLרñ—‡ (é9=†8«Ó4‡½ƒ½šbغ®˜÷e¿ß±tün<ûº_®™ºì±o¯%ǵ†eÉúõEÃÓ¨¬cyO§ -¯(a*Û íY*Ø–lIT¾Õ°"ä’OaÅp©”;qËL™Ž,¦D°(ˆ B+®(Ñ Z–C½„7¦YÙ -†øœ úûì}y™%™XíÅÑ›yÿ`ï#¬0Úy–oÏÏÀ½Ç+mH9 ¸íó2lóË”ôõ._fàœ–€Â°Í~mNÕ5H´‰Dýurs£b'`s”wÀÜ wú7»–ÎN»òZ§œ˜îð¤IÀWn\¯ý·mÒCÂvbÛõèz}øm‚ €<<Äú¼Â=0XÀF!¡`ÐN -\ú1­È´êlú C7_§ D¢‰T‚ÌVVŽ^öÞ9ÀoœÞcôÐ@ átö#N:ÿˆUÕ˜ @é÷Iàr`öQt]-F7ÀóÅbÌÔn^vîÄK—ÿö>Ò˜XRÇK——Jó `òÚV­¸•³Æ«qk¾ªüïŸ<Ðhñ<|4SÍ+5gמeZ‰ÖÈÈ4fýðüàk ÜœfbFÓ#}':C 8xnšEàå{ˆžž Žzß‹úßÕž8ùG'?ýæ‚gÚüƒ“áÀ þ÷0½a@ê„÷Œèèª7ê-ù™€ 0SIE*pŸ‰à3üql{,Fåè8 Ð݉F¦>¿páÊv÷\w¸1¤k{í•«6ª¥ëóSé ÃW}Îß_M?i@õÑ¿¿º¯ý ÁŸ›ß*íïc°¡Ç«»ÝsÏé67Ž£; þá RL¹ýf@Ý»ÝíxU•ãꬎ4?‹~8f€&W¼ûqËú;Øç+òõ¡¡E+¦Yþ†éiª¦ëUº}Š›# ¯Y°â³bž¢ù«ži¸ž£ëZD©ù¯Û˜»ß·r©±ï§~]Â.€ìXŽä…©‘—m¿Eÿe¿\14¿V5‚žVÝšAÀ`Ášµ`ãë±¥ ¡¼ -k„I4 æÿJ*¤8aï³”bÄé6<5Ž`@I*pDpD€`ü btüËpõ¥èY ›ŸåC†ü§ãƒ8v8Xú‡‹D -À[z¶B°¼²ÇK€>¾ ¯ùûà %€!<àûË*@¦þá À'ÚÂ.°ÎÙ‚¨Ã`ÿö%F± (€GGì½Ó ` -ôáèÑ5ú¼ÑÌŽnvÊ ÜBg4Ѥ†¼\@ü/B|<ß+$¶½W„¼Çœ•@›eð<ÿÇ’_»Àë™B¦Óv±ñï¹{^»ì¹@(Ž -€d`¤Í;õ~r„EåŽ:ÁåÇô+9:úÓËw÷È,äÑÉþ±ñh xüQ×ÿÿ‰¬º0{g!ާ”^_¿W\Ÿ Î0Móje¶ßY(Å÷»¡10ÿe©v¹4QZºtù’üµ1-?¶• À§—ªëÿ×—/ýdé§—ÌÀœ5Ãyû`NuÏö|¾ÖHsúC&>˜{ðá` `só«æW,dÐi)˜žƒT À&•ÿÍÍéM8x¯Öþ)€œÙæ;ôë~ð{dß ÊþÁ`ÒÂîŸñêß wùƒ¸Ã¾ ït$ðhcûÀ÷ƒ`|Ù륞¥RÏ`„ñƒ=åÒó˜HEî/Ä&“¡Éˆ´=öéÇŸŽWÓ ¢£ß|~áÊ•ÝèΓ SW¦v¯PµN/UÓ±ù‹6Gûùá›Um\š¿Ò½2<¦_ºÈ¾ûtsú¸~ÝÞo4t€Ü×jNÇ~@Žúuÿ“±aºAìÜš9† Ïÿû‘ý¥ÌŽ£Òg3F-½·J2µâãrÍ«(J¥¦«žì×MÅ“àÕckc1S~©dSïî÷ëT]C’&ÌnÍ#8\1mÛ‰)¦l©ªcDRéæ,*´Š]rPŒ½š,›©”©_—ãºkj ólL(@U¼°5!!ôKUÐÎÖ0è”÷Eù¬¦zÈ’³Ìd™®&‡%“€³èhб¸¨;ôÀµ1Ó‚`c–lŒ®DOc•`„M*Bx-ÔÏÿƒ9?Èu`äšâL d„³CˆvOç·Õ›¾|¹ÌyÁ¿í¡¬gÄq@ðvyÐÿO¦ÝŸà;4ÿþô1pb” –z„%ý0û›.6ÀïÓÌܸCìwµÅµ.lv¦é@¤¹#‰Q‘” Hâ¶Mº?ºOzTü[0h7±¬€xÖ TÒÝ62 z‡›ýh B7.Î%¨ÒÂcÄF8½€î£Ã›‹Íf¡Þn?ά¼è½@ðŸÞí#3h€`з þÈ“ÎÿO³Ö×¥Ù°1:;«.d/Ë—ïŒ^ÌjÑõüúÌ ¶$­X‰åã7ã…K7 üƒVY²âóKµøRüg?›_X¸  ÆYÎ<ôyKúâ£ù_þ-3ÐPûo8ªR3+¯3Ï2ô Ï°Ðùóç¡ð‡çÿL#óïa¢Ïôó€>K0÷•À påÅÓ÷öMÔÖSpp:þ¾–ýûÚ¤àà»2ÀS‚ÿŒ °'–ø^Ÿ°<°Çú€`ïôGGƒKqK8wÀн{ ÿ@”ì!‹î{˜úG"TÿS‡Ë‡‘ʽØx%„‘Àdzl,ýñøüÇÕôÔöö5þWº;>ß¾’† °{e>?w|wÌ?Jþm‘‰9ÀƹsÇôv†´…FØá @“Ý£¢*ëšéÀþgÌsÍ.YcVÃÒt,üùKú~)ó¨¶kC²[1=Ë2*yµRó#Á×´-ÃÓU%¤4TÃ1GL*ûŠãxÎþu¿¥DW”tY–­}êÜ­‹ÔÈã°myfXŽ>„%¬ìö/qeÇ­Pçñ¼W§Z^±ãJ$ì+¦a²_;šc/.8RÄÓ,¬èq#ñx÷ß0AþG„…š©ò:€’ZFøÐ5r©]<8è½µ'ëË/–÷D0ZùÔvÈüAÀˆW<ªŽ¾ÇÂ(Óêk`ȉP°H€¶(®#‰éÄ4»4Ë£ôZ@¸ŒÞÈÞ½ñÿ³÷~¡mäiÚ¨ QÏ0i¦S´Á”êÂe7$tª½Ýñ¡ -¼T“‹¢¤e—.”]°—Ÿ@Ž(•ÍZQqʃÉ áÈæàE{ œ o«A›ÆÁôù:Ó,žÆ ˜VßLËã+ewÆsÞçW²ã¤{vöû¾ôa&i9±eI–ʤ÷yŸ÷yŸ‡ÀÄ]Äõ'“•J¾ÒBü_“Ê?åþt%líÀàƒì×÷r¾ü¬^/Õ©Ù¯s&àÀF’@¼þ¬Þ+ýجïÕöOTâTø|ˆÿsäÒ{ˆÀ俾Ó…Z°NW*-¿ž²/Ò[÷ð¯Á B´M¯ÀøûHîü1 «º¯$ó3 ìú°œÐ€úÂÂ'Jþ]Ϻ4;hý÷‹w ±l±ÁùÍáYóÝØàÌàŒ¦Ôz €1LàçŸÿíâôÏcóƒÓ#Ó-ºÖ ¼@ÓeÀY`ÄôsVÿg¨êþ_œÙØX'ÀEÜ "€&D½,ÀzçÓ/¹ Ù1K¯kõ?Q<ߌúóÀ£Ãïh¢›½¬ìuþ§7ëòJmúwNpÂá©êïDs€õÆaÝè ¹6v Û=½Ç×t=2¡¬Ê›¼ß„# ´iòC„^ø8Õ-CE*þ—wÇvwûÚÛ».ŒM~ñÞ/.÷µÛߎéU ö?œêÉü?üZüj›:ù±Ë“eøýÀ”«ÔéS«¿-Óœ6¿rc®äiÓB¡!`2φ¤ò…ÝöµíµóçÛ7ÛÜ÷omí˜Ï¨ÿÏø¸€)€T'bý¹_0_ÿxe¬Ýž ðÃ\Ž+ý" <à«Ðÿ÷æè£ãáO€h0`ÎAEùÀ|À§-ì®äW úËcÀg‰Hp71 ¹‚wÍÒV³4Þ¢ZŒTÁ–íGcù´ à™<ósÏÒaÈ· -õ¿ DÐzVßóÁðÓ1”Ðìïq%`H_JÇåà ˜€Mާÿäø® Ý‹R%o"# Nß•0_§Wc*üþáéë3X8aòÉ„•¼t×JZÚæ‚TýS·oµÑ]¹3aÍÌÎ\º3{Ñsf‡Ùô|mxvøÝ‹ƒƒ33:Di€l„ ~rë¿ý€Á¿alD®)Ü 6!+/9=Æ4×¹ ðwðÖè}>x‹Kýû?û,ÝlòÀ§½H ®ˆV`ðº€DÀK*¿ÌwÔþ/«_4Œ´ÿ@ÝçdB§§çïÙÿu{ýÿ)ÿN(÷=@gyDæ‰àákôlbÔ¨·”jþ¿VŸDÁ@²24"ò´qRU‡ÆÄc*mâîØ…Ý«ííöî徫}“_|±Û¦†ýBäPØbTÇ9 (›7ÛçÒn_îûès*÷ŽîNM½=i¸St +L›ÓHt%Go˜¦P0M]øðóêîåööÚMBë·o¯­E.„t<ªŠ5ØÖÏŸÅ €|ÞI-fµ²akBÙ}'”½)×,9Žl7 -Œ™º¬4,‡¥LUß1©GoŒÜ4H”EÖM”l‡:öûBC“b®&ÓÝ"I@ûòÄo°cÈlBþoJ*¿§9ž @Yc„al˜–.§T8SU¦Ë-·œ¿Em|à29”nHžÎ$<,˜: C×mH3Ìe•îÉ’XC2óŽc+tƒ@¨È©ìžì m0›Zà¿$žtÄ êü#³>ø'p” Ò9xuÜ4vsQ0vüàõË ~xþp@È©Åæ @Ð -𹆑0†`çÁ@ðÓÁV] i5ÿã•$œ* ¾Ø«þ 0xç›T*ÉR¥•@Æ´i¿¿4Žˆ@x†9;<° ë y÷8@^µúõÅt®/qU´!‚ð uP"(ÃaúÆÓ\¦wJþÈzÄ&A€´Oß]vi©û¸óøQ÷¯çKò_²®ñ^ Ò“*áMx ˺4ƒ@^äâêÂíÑk©ÅÑ(&„_^²fg;{Çæ‡Ùà¼bÍÏ\Œ ^™ÑkCµOŠ' €1ø«¡ß\œž>7O7a¿”†¸PÑ&䜀΀\|§>×9@Áÿ?¹g8å ÙŸþ¬Õßü”'ÿŒÇz}ãú¯Ç£¨ ø×ñלˆ0ÀÀ©SSù¾uÿÿÝO¥Ñçˆ3^ŒÀáów£½×Hî×#à„Ù "xÐ(yÜÛ‹}½Ê?~òï ˆ/œ-QíÇTùˆÓò¿#2_N‰òÖÜnŽÕ¾ ¶Õ­ööîµãÑå«“¿ v|ùæåIc:&èiþf,Ö£ú¾}y—ÐA ‹~TùÝIÃ( 'bÁý†9Ý0>è™ñƒð›uªÿÍñ<¼ÿ8XɯTî¢õ'à§ D ßlåKé~»’®´Ju­8ÖëϨÒÓ1ú9¸bó{ûàüú^œg„{u,ÿQ©GÒO…>6 š´rèú¹·Q‹k+Üü‡Þ•à<ЪäÁ8¤éÇ[z¼¸øøµüÕþgÀ*Ïù‰‰¤•À !Mhâjqõï,ŒŠ0Ò¬Y}ƺséÊ+ór¹Ç4.ž+ÎLhÅ¢^,þj¨Æ†™Á -Eý7ïOž;`é’RÔG+Ú€…ÕÔó‡þ÷¯¿ŽÃå¿gnÀÃV66 ú[ ÿ³Ïšý+Ñ@túõFˆf¯oûJtŸO¸÷_çÏP‡/Å|çÔx…N¯Í?g$¯‘×o7Â,pØ=•FѯÙà,@…áÀ¨$œ=’ÕΑüK”ûÀááò©àV@½¶x,oín/oï¶ÛÇÔ„‹c“êñÑèíöÕbÕTèKŠ äû™ßÄ„Éöùóç×Ï{ùòåê¾€¡”ÿ“ÆWpýã$€`šÃcZl*æÎ™LÊ‹rÍt…}!æ]Ýn»Â ïôùમ‹¢8š¥b 3°¶•R%ÁôÕìb ™nAºšëZš-ÞÊ+Äbe:#T ·Sá¦.^o0êæYÁä¦y?°UÙ†¿IÐÂ\_”S)‡ª7ì€Zt'ïι¦Ù˜p]OÓAbLÓ]·á2#$<à ]ƒs±©É²ºgÅÖ5-àfÿr´~Šoÿññ&‹'F†Ó)ÎücÙ5Ó£ÿyÄ€¯Nð¨ `–›Eµ‹þÐòÏèœ õÏþ‹4a{r ~Ð[‘ pâ  D†@è®Aä[ãil4¡ý‡ Ù#8H΀þó¸ J’ÚñR©ž¨àkKÜ(^IS¥·_ú3D‡0ðÑýÃ=Ю?ƒ°•«ïÑMéÜA.ÍŒsp ¦›Cþg×Ãô3lÿ—êXýÏ!V ]ò+ýéVÊ~¸ñÜ^O»‡^·!ÀkVDÏÙÌ'\Ê_šÁ  >¸Ù[XxP\] Ü>˜Ÿ¹3|÷ã+w˜8k²Á²><{ébìÝÙ+sÞ€_UÓ €c¿ùü½ŸÏ_,T‡•EGSO.ÚΪX<óØQ@“#lÿõöyPļEƒ~˜7 `üÏw{BA\ÅóÿÇk<8õzΜdœ‰ï;|qê?ð2pf"Ð=#&èòVÿTÐ#z'á@Ý­`7jüñe¸ÿüdà5{ªG€›Ë@ ˜ žd¹3 -õ9"ƒSœSV ã_Œ±“Å÷>ê).·¯gÅ _,§ŽF¯o÷ 3QM-R§‹À_!6™GŸÿ–ÀØ$çüyÛ?](¸Ôü3æÆö L ‹åXAˆaŸŽ•t£hÎQt +X?^»y||û˜*=·\¿vYŠ<šReQ”G×××  \ÛÎdÍÕuY¦¢;åjËT/GèGçÊ z®ºˆl”Ý‚9”Uk [Tõ]¦äBƒQO '+×\—i¾Ö¤uUs3Ìfhþ4h ™àÞg&§/$(L1Ë==?Ð „ ²ÙPÕ@ruº?#È–¾ÇŸÂ½ÑwèÂâgÂVîK„Æ„Èô‡Ð÷3æY<éç”ìpã_üRÐjÀÿ7%[äêõk#>öOa<€?âW[ÿØ{Ø“Rëß«üq>,§³9îuø6Ïÿ…ô/JŠ˜¾Zwpj„mû0JäQ=pØmŒ·ÆóÉúOM? -}âä ˜àß -„9`¥YI¶Vüf³”Nç©ø—êT¢aúÓ$`„HýyÖ£âa«^÷}8rç"L!rÏÒa:^ߣNŸÞÿ%‚ÓýxÝÁ”è€vJuBTþ+• -œ -êþ}³{KK»á1@?€èEŽ?oi&fff[êù¢ê̪–niŠV 4GñDq€gFÿÑ…4¼€7xÐÆ?ýì­ŸñÀõˆà{€-ä|†ØÀ¨÷ °±ñe¤üŒo|½øZk™œò'÷ç¬ìo€—æþ3å? ´w£r]sbÜíeþžP¸]d$%u{õÿõD½]§³„±1L.2WÿMŒ4››¶ Ú9µ¬ŠcïÁUu õ«owNÇÇËÛ“_ÜRGÁlO9*R²çò^¿üÞ·í(ðÛËß^ž¦Þz`ÚÞ<}¬(“ž8¬±_0Ý©˜fH# wê%»Z£;\»½~~{í6Xçë}FƒZâ¬,RïÛææ€Çkë™eÓЃû„© ÁYO¦VÛ e™¹†1Ye†£›FÕ,˜Zàè nmTÌ0˜]Ôu…érŽ0uú5Ù¡\“‚ÁÀl‘МöMt&ì»èyÐ5s¨çšOG/"Ï ²™,•lÏd!ìýmÑ‘³¶I· dpáÛ¶C%”éÈì¼4æ\&™7LÓÕŽH×%ׂý/a›- »Je!ÇÄ÷lùŸU¹m°kêwjª'û;ⱎ‹t«£ˆÙ:|•$Xˆ=yß À?F@î÷Ç1@ŠnÔðóMîüÜ -(Ò -ð™6±‹7LúÓTÕ+㉠lðîÿĘŸ0¸Q=`2¿QeP©âó8¬éWšTþý4âþž…È Ê=ƒ*J=ýÓƒPÑ÷s•ƒ–ù}:.ú®0Àá Ù ¤ÒßÚƒ6ÁAq þý~hÿ+‰D¥UzFßV<·´·”å€O„ñ ÀÂê‚\â#€ü¥d~æÊLòR^›pF‹ÎÂíTÍ‹ «ºfÍLÜ`w.Íþv Àpu°<4|gðbìÝwg¹ Qü¡€“UÙ¼3ü›{ïý|þÜà°a k–^ÔEq4M.*΂øû³Ðùë\þW®¯pj#аñëñæÊÆ;ýG†¾\áµÿ:ïÿa @ €×xðè œ´ê/ ÿ„ àeÎÿÅÏNfü/0üÂ^ýïF­>¿ jü9^ˆ>ž®Å¾¦OõçBHÇPøeE¦r"BŒØböXM©cpR lömG€ªtß/Þ»Ð÷»¾_\nßc¢¬*Ì,—§¡j\hÿä| Üþöòå¯ÀùàüUµêBOçèe¡PnÌ 36õ!µÕ ­!1×ffmw÷æ:U~À€Ûp>^[[_kÊ-Úÿ¹˜9ÖîEd2·‡ YõÀš#é¯ÓÉÚÔø¦®¹eƒU 'ðÊTô«U­¨QÍí›f£ `ƒaâ ë:D„ôÖã@½ïNyµûnl -Ãè§‚‚»/¸ÜŒQ¾™;GèEXù¾)Y®Míz¾@ª&ÌITà]lö™žæÐ0ñËÊYÑ› B溮n›s̶'@Ž.Iºˆ¡ì#OX–aøBǘYLñú·ŸL'JªÕÏÏ¡þóÂÅÿuR?¼R”ˆnuþ¨ù˜ìð‘@|/ -þ…²ÿ€ëwzŽÿ|þß{à.ÀÀi ´à„ð‘«[ý-Œ£Àóê#Á—x2àJþn~%qÔ@2 *ÉþR)Ÿ¨c ’öK-ÂpüKsg?¬~ÈUpø«Ä+a»t,ù[éaéaˆaÿA+W"lP¡ó äI|Â%ºë&ºÿD¥RÉןår‹HExÌóþxøèÇÀ_8VM+mr ÀÄÌÝ»I+¿©9«Žã¬¤˜#Ö®­ê:Œÿ'Þ½tåÎàNyØšž×­ù+÷Þw~v&¯‹¬X¬ ñ,€á‚8}ïâ{Óó³†u«¦hE¥h -Ý£#>Ï<ö,! ÊýûÔÿ @@yÀ?ãkÜ °€×?Òñ¯D[¹‡¯7ø.8Ý |að"p²úÿ]/ Ó@ÄîwÎR=Àéþ(1x " -ø¸ ÛcŸ¯Ý -À÷ 1Û›(›2ä€GÖþ/ó–šUÇþekK=Ê~´u5«ŠËÛ\¾¼»{áÂ䨨ä…ÝoÛcTÐ¥iý¾R“ -fõ“ÝöùŸüä[B?˜ÞŽñazrˆ Se$ñÅxÿ1æ¹ bÁbo ®F@º¼µ~|¼vµÿüyÀ€õ#Â[Ë"³dÙ4•«×ÖÖ¸B 3½êIeºu°òò²mReŸ3Ϫ *ót\_ éŠJÕ»Àd˜)Ðø,i†g6¬cºÌgšJ_TÖÔTJÖ\—;ï3½!MQãOu?XL… wþ?Àx/”é.C—ÍÓ4¦xs°Ò©òkt–ª¿ki¡Mß“î#ò} Â’m웞l»ÌBÇ“yºBiø‰ì8_ ÔLgQ…0qÔîÂö—G`çŸóHq>ŠêÿâQ¶G¼Ršb€¹ Z}žûF‹€|,;ðN0@½çôƒ @nçNñ( 0Œ,€xÙÿ>߄Ҏ*8Õõ•þÛÏÙÿD─àä~¤'’Í|3éû¥ Z>²…vÐí#"pÏ?°C»þŒúù>ßN==¿0 s¢\HþŒ`B¼tÐú:Í­8<UTñ9(áþ•|+] -÷ö...>æO»?Šÿ -yÁÑ” m¢4ÂÀLâR~B[XUœâ5ÁjqaA×-Ëš™˜™½rÇ ÊÃætY·Þ½ÀŒk€ÃÃbÃ;xnšT‡õ¼®Ô[s´¢mñ÷«g|)þ!€HÈ©}¾ø³O?ý2ò~«·XéïǾàʧ=+ ÜöNÖ¿~ú&üj_œ œõü=Ë œUþ`·§ìïžQÃ:é?ÿg€_Ó'{·ó¥ý35ü¥<±U´–Ù[rð˱±™ìÛÚ³ËÆ•°ååå­ÝÝm—w ôMþ¢oyùÚötL0ÂpÈ…ió«>Ðÿ„΃h_hÄN€83a,¼M9á‚r£-B¡‹Å¯(冱»{óZÖqOëÇðÞ^¥*nk%ƒ ]½¹e §ˆ¶' _“k¯ì{®gšž¨ªÐ0tD …¶.š¿ÌYaUÃ55E ‹‚ôá8ŠD—j‚Àjvè ®$ìDhžé¹SS5â5jõk¶Ž%}%$taJÕþ}wNBæP±öME¦Æþ€ðô7aÎÒlC2½Pu”@WÄ–[Êט®—…9Æ`,ìnÊ91ÇL[7,¨(³ªb9À ² U-Gš hý²*wù¡¿ø#<°ž1p=Àg¸. sÄ­€_uýºøx)ÀƒÄyìïÁÉxŸË °Ñß ³ÏqO]x`4 àV@Ü0}ªH÷N¼Ü6A4“`ú9Àµ7ò܈ÊtÂ: ÂóÈô+% -`аÓâ¦0øMÀ˜ƒÚÿµöÜì*„ú÷ŠV±—HG—æ ˆ - $øñí§ýp‘×ÿÎã.Êÿ€¿|ð`a5pJùMŒù™W’ «¤,Œ:E‡€÷ ¦YÖÌHùÊ•ßÎ\ÔÃyªòóÞýüýsçLÔŠFíWzQ™&P¯Ü»Xž¿ø7̰ÌM‚ZQÑúÿ¢#ŠÎYàinç³tüw#€ œ €Ëz€ú‘Œù@dÈWÇ{ À×ߌ_.‡/è:'àð õØ‹ŠÚú—¬€¾ -pÖ ¨{ºüÇYžTà9ó…?çÿÿ¢Í±ÿ7äO» p‹:QU¾ÅÍlx½8¨¿»º%ª[#Ƭn-_moo·wwÛíö¶¸;9Ö¾¹}íڅ´&ËN(ë†1í^ˆçB üåË}“…ˆ•§‡yFpaŸ:èBa_øðCaØüL˜¢’+X:cűɱ¾6L×3ëk˜÷¯c&°ëˆdŽiêW·×¢„€ÌúµQUÎjX®/WeÑMD„¡i5ܲkÈÙÀU¨’::äºÕ0«UÕÐ4ªl3¤]V©ÆÛ¶ì—™œõMA‚OÑdO( ”ãyOfRy޾CEšs Øÿ©9ÏÖ˜`ÚaNuæz„ ×dAFaNst]™Ð=ÛSĺü9É”$¦Õð(˜݆.mÁúîÑ=¤³²½`€ÉB\€_ÿ9_лG½˜ -îÙÔÉœ `|ˆÀ+ý[í"øáÞC”ÿý€3‡pA h€\œ - òùA0T¼§¯ØAñGËÑÁ„pçÙN„ê=Õí -ìZÉÊ Tw0ÿhžJqº‘¼›¿Û„;@‚o –¨8—à „Y}«Ôo·êô¡…< žNðû4€Ò{-tþ¾ G Øý à?Û‰s/ ÅV¼BhÀ_„°’KÇ©þ7ë¥J:mWšéD¥?™OØH—|‚‹‡ˆEx)#qÁq&ò6Œ€¬ÄÌ•»ù„•/®®:€Q&®þj#fÍx³3WîÌ| ³&ÀÈ»å‹÷bÌßµ4­¨‡À WÎ]Œ½÷Þü¹i`ákš£pภŸ}ô¯ãŽ#ܪ>oðyÐFÄüŒ>á#È!€ àõë€ -„¾ä À_|ú¦ÔÿG/û¼ìû–ø3ýdÐ=Éò{‘8ÉìÉ»½¾?‚ÝèГv_çI_‡sXDÇ )` ˜<aºLµ_——eã£É±!qè½ Ûb_»oû&Á€¾ &'w· -ôM#Ïosr¡\;mPý'ÐÞý*À …É1Æé76Uh°†ðöT¹Q5 S®Yå<`šÄ»zs›'" 8“Á&@{,M×Q{hkûüú:RÖ×3c5å”]©ÐeäùxÜ€L“±ÖÿLEMem‡¾3Ç,T ]Nee½¡S‡N¨…²W¥Š»§Iòb -Q~ŽæyµlÊöei’°ÏÔ,õþS»„LÍ@óNM¾¤ë:3 ;ˆª7ßÇ -;’”!I¢»ö5ݻቲ®ûæÇSÂÇ`E€Û\¦›÷G›`–¤vÅŸ„"\dÙ¶C9ÒÿaôÏ#ÿàˆybo…%Ù,BŽ2)>¼ATðž8Î+}­€ç<Œf¼¾ó€ƒÈ€{ý†QðÏýí¥ýäâ¼É׿®GÁÀ¹ž&#ÂþÎÉ@mzdµ_ ÐßL‚àNÀ=@o°‡¨ø¯ðÀ€þd%Ì þ¿„5À -|…[é¦ßB.`)N |–&0`e#€‹ß¿ˆ€^ƒžïÃlxº*ÇÎ]œ®^œ4Œáa}‚9ºRÜt”šøÀvÄßË«/BXø{gƒ‹1ÀF Øý/ßÙè9¡Î§ûV€ïй•••( q€Oߘß/A€îÀËàºמì þÙSÔÎtÏêz;ÿ§€È†ðôÎ ðOž+^çùÓîÓΕͣÞF€ -'€à—OTÌ—ÑO/mm ¢*[“Ôó÷íîn¶Û¾˜œ¬~Q¼°Ûž¦¦>¼œ€Ë“7Ïs À·—Û}ƾ0Uö¼ý˜`ô¹Oq<0%öÀª:a·ƒg0Ï2™ñÉPQ¼ºÛ^¿}m} ë·×o¯o1Æ,ê•Ãâòñmœ`ØYLu|¡@ýwà™žâ(LDÕgôtm0ÅÑ jò³a +î«N"•r;ÍÐM³¡k5λY1ï²lJeFh‹¾æirè -¦ãaÒͿƤ¹©U~E.ªŽ§ÙßÐÃÐ5¸ÿÏ™ôˆ@€âÚÁG×i˜rBÂÔlVã&BÈ- onH3]wÎÝ7MB𭱆U³‡^øíMÏÄžÔœ•ÕÔbþN²°ø‚, œéæQö_'ÚÄü´Õá+®ÿKKKs=@dpÏñpþ: Œ ˆ ÁXöx/ ·‰×ã‘+ü(o§ðsq·ãcžÀãù•$ÚÄ'½I@"xÀÙü;ɹä]®Ìã¶Iˆô›•Dšçÿ¶|œAjo½ç9Å÷áV˜æ›}õúNÚÇ~ “ ,'¶ú¹V®tТo 뀸Mœpöÿéþ¥J?A€|²YJ o®Ç "èÇZü×öÄÕ¡7aOПϥ‰™Ù»VÞ*i rÑá#qVÚðÄ¥™‘Ù™+jÁìüàü´>|gþbìýså+¯õbMÿD¯0ñ§ç>]2<6£o²@«iZP«¤°`ᬠ-ðÑb|g§ÙÜàÂ~¾Àu€TÜ¿oò<`ú™?-¾0þidÀÀõñ/{[oð²'`/õwà…¾ŸŸÈ‚ïñþùžfÿE òúëF€îI|ÐÉ -àá ð‚ðõ†ûÝNgQ^ê©©—TÿjÑU|lfSòGMҧ겸uár\з½¼,^ø‡ »779߇³¦bÓÛQÿÿ“óHڽܦ„û,¨ÿ"ƒ*ðÃÞXÀ«št-Y!Á•ÜXÙ EÜêkß>¾½Ö†€'¶û&–YÖT:¥xVDfýÚúQf ¥º¦Þ°BÕ6mY mßÓ#¶ã˜ ÃѪº- Ñ-—M²µù¨Á%€ÀÀœiÈ-™Ã°úeh»Oò<àѦöS4'ìK8ʾóoæeCwXj,=iÂv¨´k²î–ç„3Ø%ôüL—¨ôK®°O¿¤‡ºdò8Á†÷?¸Ãþ×y‚BÂô©%ž°„ˆ†l*2õ?#‰ípŸL˜À (ªÿH¤¿ã§xµuéiDä"€w÷C•û R„\-Bùæà¯Û3úÁÚü)Ð[ ìyD­<äÛ€øüJ ]w¼?!€&¯þ•S -€+oôTüêÏÇKÉV»z‰t‰ê~=ÝÊ×óØâo¸8ë¥ð~. ¹' þõ½!•g8ºÎĹ8œƒã郜ßÁa`ªÏ'šùdå~)_ñã ð’ À¥ø¯ƒDy"ï”.MÐ_ËÌìL~"?¡9«EQ¼–‰€Ô9LX¦5{evvæb-¸3?8KàƒòÅŸÆ" h‘l W‡§ åóù÷§«çÎMëÆð°¡Y¢®)г©-ЫփÂýÇÓøÎgéæøF¯¦s;` hÆ?Ò€VxæO³ù%D`ãShšÍÏú¹àMazëgÀ©àõßËC€GRØ8uòÎt¢AÿIûßímþñÛö¾âDpøš¢×ùÇTö;„²T…ŽŽ²(FÁHÊ©"5Æ[“c[CcC[Ô¤^ûËêè2V®-/fŽŽ.ìnß¼6Ô(ĪLø¼0'ÀŸ¬q-à·—'ÿ–ŠgµÚ€¿~yxò+/ÆÊ‚›’43ö!Õ}³±?UpߎL%/»j\]ÏÜ^û÷q»ë×¶ÇL¶©‰ÙlO¹½}Uí¤©J-»¶˜ÒXž§ö®àÈY™º¨Û²Ã衘dVUE•&}† Ǧ¶,›ž,SÎj6a²D=¾,¡ñßÄ=|ó13¾™r=Æ=èÒ9&ÃÙ7Peäþªª£IsTä=«ìÂZxΖ$z,W·›5DÕÌš2·¡‡âþtæY¸¥‹=BI*b0Ä$_Ô†Bjöe{S}™[ù"(Ë€©ÂG²º. -ÈŒJ?æþP#÷_¤:¿Ú¿Têt/->|È)€>ùŠX€ƒ^* 7à@‘ºýƒx<½ƒ³é:FÖñ:7„µþñÈ €k¢DTíR+Ý<`£´¢?ÿœÞEh@" _À -„€ý%ìëµ*a%ÝÚIçÓM»’ö}¿¦VPª§ŸÕ÷ ñKן¥ëý¹J£þƒúR:×¢ÿ鯑ˆÍ„\«žFˆ˜ »L`&ÑÄ'‘w8=l€º?þÒ5«â9ïÙ¥¤v)9qéÆÝ‰ -µôʪ²ðû¿H±UB”‘Íš±fétéNÑù`~~ÞÔ‡gÏ}þÓ‹ïÈà6TÓ«Ì.èCÿúîÅé÷.Î_2tv‰)R@@ jŠó h‹^0xD ¿Ù?¾àÓ•ˆ¬#àÓHXá`<Šä àúõ•ñˆÓpzƒFœxq -Ðyið}3€GJÐ}Y)Ø:þžÇx¾ûQ/M^ûz·³`Qd•ëÿ(êõ¤Ö¦z AÁÁÐää-ú8¶;zt<º¼ÜÞ½v| ±¼»““¿Ø½09Oe|J(5›ŠMòöŸšöõõ›í¾ _|…àÂÛÔUª“Ðp _5„)Ínð@ ¡€0!!&HðÖÆØµõõÞ(a ª¿ÛÇ}cTž½@=^_çÔ…××eÛ%·Aý¾i2Ót²Y‡ŽêȲaè²Y­C†-+†#»–Yʲï0ÄìiºæëÞ»ÌÎÊ" Œßµ©†Þö[–ëî£sgšç)b$З5i‚4hxºfx%Ýt-¦Ûa [æ}6¡gSÎ Iñ4)úž. F(òjHº7ç1­ˆÌ_i8U¶=]—åM93À˜þª<8jü3pÌðÀèiA(à舿ûÏ,_10|º¸¸ôpio8¨?‹pþ?Œšþð$è Ú÷çzúÈ÷7ú\Ø#" `¤Œ€úNÒ'b@É€ˆÝê|´ -U Uû•üæÄl äóºÁŠßª$áTcŸ¦ÒߟFR`©÷Óv+ôsÜ N‡ ÀJ{¹&tþIRŸÿÓÿàI% `¨[Ò#WJu¿T^@ºî»‡xIþ‘ø‹Åò‚˜œP6-ˆ/ÍÞMX‰ Í‘‹ òµLF¯­þjaÓ³ôKÖ¥ÙÙ+Å;󃃃ú¥Øìÿñùû?˜ÉOèµO¸p¸Ê†‹Æoæß¬ž#Œ`Œ 3eFDD€° g})·ƒ@à•HÕwýÓÓòŸßëp<ÑD Àõ^ÿÿÖ§=¿àh à ½l€—u‡/DÿqðbÍô'ÊDø¿0è•ù^0Àé¦à èÉþºQÀëèüý¯õÔÆÿ_£=ÊÊO`œ:R‡,E¥¶SüãÊÑîU5s¼|<º½=zœ9Uw'/ìŽM^¨Rù.—Í}xývQ´×ùºþÍÝ/¦y\ ëN¨ 7Œi*ÿÂÛUC/jì㺾‹¹\¸/¹Sn Úb`4ªÛçÛkë¿[»¹}Æ?™õµ›ªÃæLV[>>¾¹~ûÚríªy“é¾F-vYWüÀqMÚL×å '› -›1˜ÿ2½h4 ›ZsټϵuôÍÂ’O“S²Ïd‡mÖLAå”zßüÆs¥€n! Ã߸uý2¼†¬ñ =–+|Œ½?øôz»¾SûF(ϱ'²*L0Yn…¶$Lè6(sÿèܘó’é²bÈnh-„ˆ¶±Ÿ*j–ªª-f`ø'ËÜ8"0ôHq«”ÿø4EŒÀÑ"Á´ÀÀ+väâÇ\À\Däx#ÏÃâ|öÏ €\äõô”};qv àö\r €šïÜ/L÷AÚG²(8ý÷'7*+h.¬pƒÀ“ÓÉ Ÿh%ÔS©4!„eO«äWü¦Ý¢w>•ÿtè×ý½´ ¯?‡Çɵâ-Âpû[¢¢ÿ5ô€8Ô½:W$T`MD N¢@.øa}—ÿÃîã?tÿÈ£€º?Ükà§WÄrR³7“yªÿÉŸÍæ'òš­¬: âBf@/®Žþ*Ð,Ë»¤Ï˜‰Ý²ç¯§õKgß¿øþç³3–7T3jÅO†tF \¹7oú£sóúÁ¬Ø ‹5Gtlçø‚ óu¼#€_£ø_œ€80Neÿzøe4à"Àë‘[P/pãK.|s¶ž?Îòü‡/ËOU®þGüË€ÓôŸ <ßøïuþ§ÌÁɼ?ôîb.Û¡¾8@„MGÕEÈÊSYÅøˆ;©!îf'NŽ\M·Û£™ÌQfôêªÿúú& åÂÛþ+be£}~ 2€Û™Ûç/_˜Ž Ìùc¦aŒ’ù•[xÛôˆ6YAˆMåFCâ‰&³L!&]u”`Èœšl··×¯·×o¯­#hýxt #üûAŠ:u”RdªŠ°þÕlG¶ 3©ñ·Ý‚[ÐD•Jt£Q0 ç‰ÈÊ®YUtS di8´õPt´á†>Ç|‡zo[¶ÍšŽ¬jë}E¶?Æ0€Åè°co39Rsïºv 3ÝŒ¡Šcþ/!i&ÿ¶ã•¥@Uo¶²!³\†e~Ù?\ûϘ€YLÒO¸`3Á.†ts{ -Þf$ü‡ -?hýÈéw1Å€Q÷ŸÊ.«Qšuf)¶`àÕEÀãÞ -@dHå§úæêˆü £U€ƒ(û—kþ¢Õÿx/êçnÿ;ü\ü”àλ|ò2@$€ÏcZõ–ßÏõ|ÍJ³9žþ²²’Xá¦?Ôþ'@$’<øF2y·F ™ÈßO¶ÆÓù&K­„ß,ÁÄw's õÓÜp/ä ÁXLïÔ[%ªô>äܲ(Ú ¨ç¸9q…›VüR«T¡GÞó!Uˆ÷†ŠO;ì<"ðƒ¼ü½Æ¶#ÿÿD99aÛɉ€Ù‰|~BSqà€ŠuIó&® Î:Š08=8mÌ|P¾xïÞO­Ç0Îð½‹ç¦‡ç#`gEw4QSˆw<ûèÿw<žþ¬7à«€oE#€ˆx*@®ˆ€ñë×Ï6pö߬À©à%p–ðfþôÀ£â^Þ èéüOl»Ý€3€7† —ûÔÒ⢌Úl'õu/€^6Œ‘ƒæ#UÍ P?šÞR©]¾Ú>>ÊXûÅØ…«êòP;þ+(m(Ö2™Ûíöd!f2„éM¹v¨xè¡§bn™ï”«úè:QbûSBà4 -‚PÖÇ0 S±É¾örûævÑÀØü[[ëEFå— -gny)Øå§T˜íÒIv€wÆàùóéun¿€·>=¸pú3ŒÞ´ßrxôâ.ÀK†?ÎÔù?Ap™_÷e^ gôÙ}Où?ëøÚ¯œ%¬—Ðýg5|¢òP '2ĔѣL§³¬¢â¨ÃÕ`ù8µ¼ÕÞ=Îd:Ç &/÷-ß\«‚æŸö …±mpëçÛ»cÕ˜`V‹‚‚¤õæ!Å„}AôOý¹3eY/¼=õáT WcoÇ\ Ñ:8ËÛ}—ÛíõµmX®·Ï/«EÃÔEåšç‰<)7uKq¨°ûžäºˆ%Ȧìò>\}S²Y.¸59{DHFçI=ÙÌ¢ji RA¹aÛz9€(‡šf–]šyÀÇžšn9#Æ1Ê|‰Ï…t_Ò™{G’O\aêFc{\ˆl@½`ƒÖÐmBpú1 -½ééf>rÜ÷tÎæ•GÿÈæ*²ƒ£&D *¶¼iÃ8Xæ©?<ý/E¸@Ä ƒ§b¹7]«f–è›xÕ¦X\\Úð0·DÅ^ÑîÃñ‹ç#Ùò¢äÎp›¿tn§¾“Ûák~¼âóæ§ÎoðœHsc î -Ìç-Ôn*¿•V³¼B-~3Ù7‘¨ä“‘?P~%y71w:ÈóA@ó>âúüJ ¶}øâJ:»ªÔ›õŠ Ôú°žÂ2€¿ƒ€x¥Þ"@ÐÚIÇC`€ÖC¾ºÎõ‡éz?œH¦+áâÞ^¼§xLÿžv9 øë$ûøAˆ7 -ÄU'9¡ØÉ„•OZÿýÆ„–œÐ¤_Ë Å…Õb10g4‹ÍÎ|0sef>ÐïLO³8Þ{?|Rü¤¨ëì:\.^º7ño‡ÿþ -k„)’£x&jE @àÔÎ<øtrH_Ù8ax}ÿÙõ( €oý]®à>oq@7¹>¾à3¾øèMDݳ2€îáËà¿ è•ûïsìMž3½ó§$Á)ðæq‡%¤É¤dÅ2›Z’79~AZêÖræ“[jöX]ÞÞmÈŒ^ݽ0yaùj{«:­¦225÷ È«ÆV{»}~{wzz˜Á’—Áý—*|Œ#Át! (ì—Ë…‚!}85Çjp$ÿ›qàmÁ” -ÓFß…ËtW°©pst­²sŸyšoÛ -Àq•P–S(7¨+b×S¡òêhûún€Sw†È"škÕÁuR˜À¢Ê¢¦y ³1†Fÿ2{Ôî+:Ó±Å(™ÓýxŠÞbS‚ÆÜ}³Ùì¾P0=ªÍ « J`;æ Så!wFL—»þ¹s®Pv²ç -’GÅŸ®<ÿYU ‰i6‡+š - ÔžÈOœ ¤Ÿ'XÿLÝ–7ý¼þsk  æHp^'`©‰¡=oÞ›;iH+(þþA j€ú"[8¤ë-ÀPýC˜ÀµˆœèÇD¡?A÷TòÃÅÔãè¢ÓýcçéSP»?,è,"“#CoýHü/Ž8«ŽUÒž$'’—¿(QKO…a@­ø b6ó#³ƒ³3W®”Em~zpzÚzïãwïýôÞOïXÖDmH§ŸD[C`¦ß›§6Ã2˜b)€îÏG/Šã;Ÿõ§Ça´q=²Œ$þã+Mžô5ú< ¨¿œ°¸ò%‚¸ÀWþñ®{Æôwà»Îÿ­ÿ/ÁÞÏwùÎH_X <ÓÿŸ`ŽÓ €Ã7gÐã:§ÝÒgŽ |¢(J .¥ŽRÙeã*½¥clK\¾Ês€—3ÇÛËË}c¿@Dàf¶ÓÉ–cjá…†1T3¦ÛÛCú-9ºˆüÁŒàÃÞþd ö lø«†€1€&L¹.¤Tn=SÒÍ)5Ü‚ùÅäåÝ›k×x*ðùóë™ã£TJõ$fÛ¶Ç$‡zù@¢&_½†QSð¦6^k„ª*JÓGŸšÓ ¦™TnÈñòJ•T­`ÖoN(WmêÆ= H¦¸”’%KÖ¹7‘g…6Êr€<çH¢šS%É`º¶YÒQ•àޏ ÛÑ3tÁ(õ®Å¤ŠÍ‰W |O2çî‹Tóu:8K2B:˜EU“Œ]à]¬F.€™E –Tj‘7ýpÎöŽž{ÿñ70xåÀc¬PÿÏ €‡=)`žÀ!ïôO°˜ã‹€| 0ú¿%ÑǨ¸Ÿ’øü„%ÀbÚ‚6¿™Ÿ[ú­ùÇy> ¦Ü éA€TŽæ‘!× 6ó­$µý•47ð¯TÒ•þJ¢Ô éLÝN×KaK®ç*ÐæèøÓýÔì4Àºbý tПOqÀ}‚êéÖ5ÿÐ&òp¬û¹ÅÇ.W õÿw8=ý^^¨ÿüÞ3XüàÐ?Êþ—€@¶©ä‡w'.åg.ýìF¾”×KEûâê¯Ò°fY`ffgDýÝispšýÍ?¿ûÏïß{ÿƒ$€š €AS¼7xnð½ùÁac„ÐÖáÎ÷žÆw"ñ¾§ Uw¬ø¯pQÀÆJÄ4ù€§âF×O¼€£,€Go,xô½á¿ßÓö?úi@ßFN@Q: ŸDiAÏÂYUàá›õ´;| -cà(‰ÖÙTÂ@¿|¤êâ²*ß›S··ûÚ»Ôšoo·ûvÇÚ[ÛÕiu1e7&P[_5˜P±vMÜ©Ë è°é÷!vþ„©XÁ¤2„J•n:õ¡éÅ -û‘p™zdk´»ä–ÙØØåÝõcëçoó%øTÀª²xÊ&øûÔ[{²ø¶ã3×}[Á‚ž(5DšvÖfLËLTE=°¦TõyØa'¥Êb^Z¥rº(»f•!«Wp5Y´ÝM‚¾IHÄó=A°‹2²~Pýߦëf0úô–,ÛsŠCß)áŠPVAç+ŽÅÊ‚ëêáPVvËðpÓÖ É5=é†kšÒ-*î¢,J’ÂgYU–”€ -ƒµ _ -\êÕ|îó»”îϬ,öÖ #`ڑ倇¯\ðèiçñÒÞÒâÃ¥¯÷æžîÆs|À×ùa D²¿ƒçëˆØ9QÂ5°ûÓ;ô®ë]–Fá÷¹#`=2ò{É@`ú+MªþÍÊ -ÏþÏs[þä -¦ÿ7 D4•äý&a\J—šh–JÍJs§U°´€\Õ=B}çY3l†­xú`¯ÅƒÒ;õt½…]Â4v ZÉRɧƒ\\D÷¢Òß…ð‡t2‹H{^äÚÞðD¶(?€ÿú©8{Š—×žÐßL$,Y¥¢¼ú @Ñ)Ž.8ÊÌ%8ÿîÌoggMÑ£Ú>=82ó9€{³IË*êUkxó÷æÏMO0K7OWÖDÑUÌœcODúꬄ¶cæ5mÓ³å¬wö@¦éJ¶Â<ú€ó®È£©TŠª·b‚~ Ž_gZ ÊöôÒ&:J-fx©‡)€ºÈ)°ŽŠòYÒ¥OTõˆËÿþðʰÈSö–N›ÿ“e@¾û‡`ÿ `€GÿÆ{ùõH ÈÕ€Ñ"@ˆà=êö9ÛTp ô‚áµ_çŠ=NÀ˜ -øxº™Ï .:€_H¬$ù&ÀÝž% ¬‚+‰d)Ùí`+QñKÀ¤é| Á¾H -[„5`pæV€éx³ÞшéH®Ä {ô§ëü*IÄ ïð@nÔ `—oþ;/Z /ðËdRø£GÕ?FIÑÓôGð_8Žloæ5ûîDr$ywvÖÂ@ù½è,Œf2VŠÎŒ¤XÖì•;—g­€ÍNÏ€øàÞ½uCºnVÍA]!0üsŒF˜î)º‡4 Ù*:ßeà˜æ"ÀÞ@ß_ù&?ã×7zY= ÀøpýÓw~  þÏ \z«?:œ žÚ3pøŸ´üß+ è~wðÔý§7èùJžkß<âm)KÝ'¡°¨ÅËÙŽ: ÚÕ­­ßmM9CcHÚÞý£G™k»»7 ôµS£“ÓfuH¦tqÈ(L·×ÖS!ü} °Æ~ ®?SS¸8²f È@(¸1·€`@ú~MB¯\fžfŒ]Uww‘þûzw|áÂÒ¨zžfƒ/wBª½Xè7=æÕ›5°ÀÀLÃq´FuL%C=T Qõ_$`0mZ¦é)í)s‚i$QékØf(N‰c wÊ´_øÇ)Á„ÀOˆIU¾ºÀÝ€b‚i0CÖ¦\MÓݵ€_Âì>ÔmͶ=!Ou܆÷`ÕŸŽf„ªÃø,€¾3 5|1 €§e3¬êò‹b…Yž »Oñ@D4-FH@²¨þqaÀªgà•³ÑðçrºäÑ)¾w™ÿð\€oÿO'‘ -o;QðOü…þŸ;äz›€aý Í÷ yH0@@Ú÷Óéþ§©tW6L}<÷ýÏGÖ€y$çé™V0h&[É|*ù´_©$ZÈóI'ýñR:í§Ÿaѯô¬÷ 7ˆWèð+•x+DJÀA>NGFÅŸ ‰(`Ø -õÓ—Ji»ž#Ðé<îPùÀáápdÀPù€ëeÄ…žD£fSœøüY€@Q³JO’ùKùK3³ïŒ”¼Ò„&> p{ <%pÉÒ,ëÊ,FÖƒ‘òô°9øÑÌ?ŸûžÿGlÀG(üÜÈçÞÁp@ÿ®?ì5ÿ;!Lw°þe¢þÛÐhõ—š-*þ­•€ÒxÛ@P"1ðWF@2¿QiåéfI{|ùt¢•,¥ûÓÉt¢žŽS'>«øaé!l[uóˆV½RÏÇ}”þ|½I˜¤•ö[v…?‘l¶òÂx¸‡ÀîÓÇ|0ò8üA^ò"ø>r@†Ë?Ÿ‡£òúX€DŒÀòó¬ެiùM ‘œÅ`eÄWÅâBfàA‘3Ö°613såÎ%¤³+ƒÕÁi6øÏï¾ÿ›ýå“Úÿžž6cçÎÍOÏO¿g#ÌЋڈ _,þ 8ü`4ð9ÎÓ€Þúô­ñ•h  ÀÆ—‘>€×¯oüšk¸àé£7õ4p¶t¿8ú?¡ùÿÔàQàœ˜ýŸªOH‚îYó 3—¼?óîcðÊ‹Hìt²Ê„5AE´“9R¯ªÛW¯ªêalm]½º½||tíÛÝíÑÔöèòî…ËWo9 ê’M;p´ØTaÂY][[_kï W€áO”øëEžTú ðm€©‚tV(›¦Pfn^¾²îxJ(‹¡¬¶·o~{~m}}ïn¶¯ŠYÙd ¨x"7/šœ§ÔìbJ¬Ùò^Pô5®ç—5]åó@×G«Ùžó= " -ò¦c›¦ýÄQÚøP® S¦7¨É·Ÿ e?›òç”b©ø„©rcŠ+ïÐML¦[žmXÞˆkiJ`PÃ?ÁLwSv£rß`‚µÐ÷l1Ð]×,H Ióx;T^à+¶ Óé ø‡ŽxBá+ÿÑü_õáSÀ-²O€ ø* jþÕÿ? ` ûC,Šu0xÈ5€¹^Ðó~€½9Àx¬œ˜EBþ™öDg¹~¿§ÿ‹`'Tï­€€ 0Lû=W`,ôÁˆª3Qj–¢e€|¢’àá€|p£ Tâ<Àx+O  ’÷ïðR/5Ó *ÿ­R+Q¯ø+X\ءǂât™Ái¿²SÁ\€ï ›°”æ*žà?Ã7ž}Œ!@oð‡?Là)€þ¿“‰NÙ &‡Q½ç1XÑÇ Fà :™À÷Ÿ¨"Ë%}S “.˜HhöùCàj±8ºPT,é—ú ]7sIØ,ZWÃ3æ€{÷þõ§³3yóÿŸè€akþïß?7ýsÎXúSæè6€ó@´íïl`  ÙÜØ¸Î}¢DÀ·z _û_á#ÿú×Qn ¤€À _Ž÷Öâ ÀÒZþy®Œéû^à:xtRÍ»/ݦôBµ8+ìvß ÀïüØ;OzÙ€)ù–~‹ëæ;˜@«ª¸,ìw£Ùåååm5súñ›ÇjߨØnߨ\ -ÓårM «„BG<Î@¹¿m˜±Bà Ø0ýÀ6…h ƒûKžfâ£Ç±˜Ä0Ìwl14íP×D¦ßº:ši#hýüù›ëÇ£ÛW—GÕšokBLÒŠ5ç¾§é~MáV:^I ó×D:vÑÁF@*5 -jÎ9dEsD¤ÿÒMC©0lØŽ­[}£>aý˖¡r- !¼ÿ%†´Ë-» ø÷¹€#0I³‡ S³YÖsĶ ¶̵äP"0`U™T5}ÑŸ+ Rà7d麤۷DÂô Î ‰1ÏRTþ¸Rª¼rY–ÿ©0àƒxþ©¶ˆ]@µ3ðè0ƒ\x”"ðÔÿ§\[â½?çÿ£C|ç«ñÜÉÀ?šøGëu¸ô4õ³~@hÿ{Û~Ø\>ýç͈@èõüž0ÝJ´š­fz£ÔlÂð¹@ùñû‰<|³‰Ùˆ¸Ëã‚KÉ|>™æ;Ølæ+ÍVÉO'A Àù€vŽp@ÎÛ;~''ZñRŽ*+¹ÊÔ‡õþR)` á³8‡>K wŸþñðé£Ã^ЃxçòÿG {ž·ÿQùçº@‚Ìà»@täM k€‰™‰äÌÏ®äKù¼¶éˆ|° <@P~XÓg¬wggffµ!kzMÿ »ÒÓÀ ð“â'ºn°aspxøÝع÷>8ÿó÷˜Åz´¢&'iüþ; ÀÒ×ñt«9¾Á@´°€ ãÑ +§2L °ÀÓã_?~c€³ýý‹ @Ôä<¯í_"ŸûOïãÄèìR`÷ùà4àMfðc§6§ƒA@6`+ Ró”¬l‰ÇªŒjæXüÝòöM‚ÛíåããvuòòöòätašÚû˜å}%ÄÊv(f;ð\kO ÔÓ›…}jòM8ïisTì#F  a€ 9vâ„M™šQ0­9î£!•xç©©öåöv/¨}þæq¦3:ìº\i iÌvsRž|¦çȬìBNh¶Æ´ S«Ê„LÝu60ɲÕRÙ#¤P65U¶5]ºŒŽOr-ìX(ý£$ÞÊf¥)`–œrm©€Á6t†EÁôLÁ´ƒ!6Cp#µòõú:Î;›6=¢Ã˜aèŠ$¨`s–äŽ×LW÷Es¥@ •PVó¦ÅFè…Ä>|—Tù‰môc£ö/ËMÑþ/¦à ¬†"˜µs8@×¥ÿÛCóCÔÿ?DýÿÒõß èípà€k1üÇî<ä“€Þ.Ç'~¸Ãåv/øùûÈ¡a48 82êOçÁèW*+ùfi¼„¿|1@¼‘¼qw&Òr;º¶…-Àûã\è·’TúûÃïó†–«eó½XLQ‰nT1¸šO±¥ªbªš÷ª9EE¯zyŒû‘=CôÚnAå¿L·Y&L'q(÷ð2 cÔ±éj,€Ñ` C€fi -@€ý£A ðP€Í~ŒÍücQ€£Tèb€dàÚ?¶FÝ·9Zõãf@šj¡þ7 ×u@·ëct O=»õ±0Jþ„c‘.ª6Ñx)0@}ÀŒÁî=Æ…0Ñ7Mv€~ÌHûGi×Ūá üoÕ×Ò~¸iÕÓûÌØGlû†ÿö—kk€ÿX÷³ÞÿÕ4΢Î/CÉ­-9™|ZÖ¶’ð]m‹¯ñÉ! È$€} Þqi zM‚ƒÏ?DÑTNÃá0ÛÈ…áã[Õž>¥#]͑ۋårÙd¼ ‘¿C Àÿí‹&q ðS”¨VAr´ñ•;¿¹3¾²RîZºªN<ò,ñQIL‘v¼w[Øø*Íò€P' ÖáÇ ¿™j ?‰'öd ãiŒôäÁyf0$Ó¿˜âG~ÑÛÓŠÜ}+äpˆÃq÷ùåm€ìíÇÇ$äh–jª+@ ‚Õñkœ -8¤8u5ÜfÞ!œnáv1(³9Rù€»WÉ‹"ÚY÷µããåãËhàÌ`d:aŒÜ‘«(¨¡BP9/ Š…xÖÐ;ÀÔ¦!äx­”«JéOäj ͯ†LOP1V‰UBNÅqš‚ õë{JpÃ\*ûY!†xÏ‘NŒ[R›K«,-q¡{ØýïTœ\•ÀåŠ%¢±lÁs!¹ªeàÝ”ñN/oM(ªê»D-R±b1]1ŒuUñhK$ZFÎ8EÃ).6dOâ2 L”ƒ@@Ô[ÅÁL&›Í0‹Øs¤4Ñ+ÐQ .¼Uý±ØŸç4û'ØÖÙæ?Û`Y”øÃ&ÛùóÙ]Äc@iL.žePÔÇpƒî¶›nÑu~ºÐ³7úaìï3`˜i#Ãu@&dàoö#õ´Ù7í: ;š…Óá>5õ±÷ûGéYwÔõ[Èf#£üãÖ©ÀÄ7ô¬‡áIÀ³Úfág±ºF=/þpqx5 -@$go’Ÿã€öS[I¶ˆ®›2 ?ÿN€dÞt2o>ÑÁ]ˆRÝÀ5€’\xÔ6ÛF8¢›úæÂbØ6s¶˜çóùT&ZËï&·JJUo«åòâødy1¯– ek¼ ÿjå_èàmEÅÀ§š%ƵÂÇwî„~¹òá¸dÝÈUQ,‰žý(÷ g¼ÛØO5Ö ®<ø9Ýèâ5Ä-€.Ó¼!på[;xYÿ'—ô':€‹K°¾Áî7{‡ÿ+áYŒÐNÿ;-`$ð–ºð§z¼^Å%»€œŸdùDBÀ:5ûГ±-O`&ð€:|"g䑃Ætq…Hÿì„ÛPIÁ”l'÷~É¡Ð<€¦îºMšUŠ¡b§3ÏY„ Í;K1BÜÝÄi;îáã .éh‰é‘ÞññÍÞcÌZ__O4òh£‡¡½ýR5,5Š«bðWëZ"È<®0ðÖÚI¸Tô=_–cK<æ Un©h©š–Ú°Ä9ï¢/¨1…T0ö¯…¿hÄàù‰Mxâpjlþj¸¥€:œ”™ÕÎt"V®*mÝŠé‰uÊè@˜³^^~¼=à&ÀãÇÉAF.)y9.Tî=É‹ÄáÉ£Â0F,ý"ªš"Ȫ¼À«†€Â|Ü †(ä+D€j:#ù{’!ägÍÑzˆäÎ;†ÂqN¬Bp‹Îwtê$ËžZAPÁ}…˜êñž’@ïàÛD"/m/¶@È„«‘œ‘÷ü|6ë)1RU/OMx€bL‘Ïàó~B”óد@¸7ül“i¾QVÏ×dA4|Äÿ,MhÌ`yHÓp -€AÁçñ+IŠa €7ðO'ÿGá?kþ3S@JP0Œvg[þh  ÎÀGÁ*³¥ÀQÄyºþ—n¥ƒÀ@æ³TŸmº¾ë¦ ¥{>ÕãE€Ø]¨û»}ÃÿLàúåE€ÿ%tŽ„Y2 wªÿn? Xî¢;°‰®~›ýHz̵©õß@¿‹>k­ÙºïÕm\ôëé0 ² 0ª„Q:x¾¶ºúj•¦Gm€®$˜jèþ€{²‘/¡[ÍÖÿñÀï?“z@B’uP+grA¼%# ña[ þÓîðyA1LÑÍEôpxrqÓÌ™9¥-nm=­­GSèÌc z›vÊy«\ j¡ OþÓÇÿòß¾ø¨|[7K8ÐÔ¦T(kßÝøˆ|8^,ÉJä´Gž*–òb¾­0' Ñø“æü–Ø êûßÍÐÀƒŸÓT n°`'X "À `ôåOv `ØÊ.Ȱ|€à»ÿ/eÃ|aÊì/~òàLVW³Â9°±]ÍMÉ¥„çñ@x¬ÿå$ÿ{~ª—l 2ÑA²‘ìõäÞ/zSÍÂÝéf‘S„ìšûíÿÉr{Z§@*ŽS±šJÿ¿¦®Ü×ß±Í.q¡ùŽUø Fýs,µÂU}KépHµã8\‘4?9Nm֬㼖4…ÏWæ"QÔ¯º³ -ÜÔ²¨Ç®Kˆèc¹#Rµ£‚E$ÕâŠèÇcé€è‰¢Q•1ý§3¡>Z¢3~×"–fI®`p÷à©!þ#¡ŠHy…F•JÅ"$‡†FðY -ø‚ª -¼n)ðb!Åt¨õ±~WÊðä;È‚Ä`ž¥'û¢m -1ë‹x˜TˆfÀ|ö<‹é²¼Š@¾C˜5Lý;‰RÝ?–ÿx -¼ .¸š¤¸×—ðÿ,èþë}>“ý1ä?bÞÀîGƒ@ ”à6Œ¶7 asr‚ ˆMœ¤}ªðqu( Á¼þè`ïÔ#];2fÂ7( Då_xasa1²Y¢û€&ÚbýßM£ -À6Ó}Û4ûu;ìºÝúŽi…l(þ÷Ót m­çéÙ°ßôm¨û[]ƒõpÚ¬GÆÒ£îè¬ðÿ ,˜Ù^ÍS0 ߪåKS5`×O‡­þ }Ñz?žD o HR»F -à$ 'ƒà6ñLæ'M 0·Å'm% ë·77© û(¹•O®g¶øZª–Ïéz¢Š9åɲgC_—&ïÝ@ ÀbD·•T%2ÞÑn¬¬Ü¹ñË•_K’t{B­jЧ>K¢ (¥§h`ˆÆ÷:û@6ìììÜÂ5ŠîhÿÛ¡ÎÀ;LÇÆÌ\nìì G@ÐXûi#Ñ[¨ÿÓîËÿÈÇ·Ô €ç=1! -Ù)uMë2Õ£÷ÉAèÀà|»7 RrRžþÅÈñÁý‚Ö)rÄìãî‘ilÜßÜÑŠM mx;©pÅU †Št7ðŽ(±h -‡.ÄЕ€+T,‹¨ªåöj@óG4/8À}L4XÄ´Tý¼Á]§Ù\IÀ7­oZC/T¤ë6ÂyfÏ ¦àý °ê@•€A0±MŒF`Úì‡ûOºi¬ÿÓx³»}øÔrјN$f©9 ›v[®Båi¸sôŽFÚ߇þóÙµÕ5ê|ˆ6€Ø¸š Àá¥À\¨MÕ¶à«R4š¼ì XÐ=‰3ä–¼Åo%ãt* Ó÷øÖa/dWŠ^WTì¶ÑõH;9³­ˆÉoxx)IÖjµ-ÏÒuQ×ý'7‰!!/è°‘ÌRâSàôZSZÑ&n„nܹQX'’^Ðà\ñJJ^|ä‰ -Õ†ñÎàËÆæìPhÿ…33C.0ó¦ðbãRxëËßm€Ñ—?e BÿÅáÛ^?×Èüã) Î”¶xoLí%è®ý@ÞãÙß'çà€ðÇÛ½dr0HŽüo{ǽ‘ûÇq>(“B%*v´Äñ”Öl:ö!뾫8E®è ­>æÍ;•°ÓOÿ;Uøô+@~Ë¡äÿÕ¼'$:ܼcȸ'¥Rb¤1@7àíÇÛƒLt½wüI“(ù„Eå|6.ˆPë+ \í8ª¨—=×ÀKÎâ³'Ù¦…>þú®"*¤âùŠùà6Ý@c ÊAT²BLQx™Æþa0ê-NÕã¬fÐ⿜Åâÿ$.;p…ÕøZöŠðÿõ«µÙg/±úG¼§‡Ï”~£Lô˜þ }p p\„#D}Ú xk!p´µN´øŸeñ?A€®PQ k #€O¸ ¦™È¨0®À{Pžúý N£ ZD`•8@OàúX:b×Q ˆ}„z¤1Âc‘t}4-ôê-HËíÙ®_ß7m õt8\ïºÝ0.P±AÚI«¯V)ô_°&ÀÕ4‡Ê>ÀÿT­&')âC=¿¾þV€Â HʸÀ(·â™­­Zf˜2à'=€ŠœÏJÛÆ@™f 0¶j|-ƒ µ•ŸÐ«¢¤—o/NÞV¬I‰¨“@þ~…]Ç$¨Ð *}|gå‹•W -¿”¤òç–n%òŠ˜Ïm矢ÐÈ¿0šf"@TlÐ?þQð3 -@áŸvv.¿¤| ˜}ùú§Cè_×ÿ?úA ³@âïyVÿƒ©™âÜ4 þO ½^£·÷‹éƒ‘ãûÅ‚"UœiB±ÝÔ´’x_‘w³š±­ò¹")t*óó•J1"¢E¾uTÑ‹±ù?!ÜEîW>o9óœ(ØbY{@0–h0Àöã=Ñ<€U9.<©*ÕX§²TÇ-5|C p^E#]9Bv5÷ŒÄ´O8BSúBœ¤A-q¦ˆö@PÌŸq"ð W·,Å帪ê1n¾èçIŒÄN}B§š¾ñÐSˆn"b=íµá®2YA4<ÿsÃä—² TOeÁu=\¦€³àx.Ñ]gyY¨Š¨²ŒÓÜ¿sªü;_ÍP}öž6¢CäGK s<[œ¯Æ¯b0˜P:õ§µþÑ0ùÏgàOq)Fk ëÏh°ÀT­ °…;÷Ìög”-Pħ²{¶HCõ¿ßoQC@x³Ý:Â7nÖqž©oôÃèô( z!²³‰—ÂÔí0Ê^«k÷íz·Âö­V¤e¦¤G ôñIý±¾A¦€a‚@ ü‡«ši|áE‰CvõÙ*%htÈÞ¯äJû±°‡ªyÀúP_ú—Œ§’µäV -ûÿ[IÀÿÚ]€ 0XÆ×E  à§M™y#§(ö¦©ÿcyaÒÌÕs†¨Ô’Bm=“ܪՒyU·Úznq± ô@”Æ%I-Œë‹áÀß–#R5 ÒŠøá ¿Æ-@I*&ªŸëPˆÈ µ”ç}ô˜Ýÿ -·€œïì|y Íg( H}º` n@ùJ;/ºÝ4õxùì'OÎ.²¯AùGgÏ>/>üíW7öxyjO>ÏœÇÏãÉ^2³¾Ý;>9à#ŸôšŸ{ Rì'\±©j¾È…œ‰„Út8¨ýÑý/ä8_w¤Bq~‰8¡Ð<‡5wÅ54k>dUˆÞÄE}R俉 Uº•Çõ~£Â9±¦GŽ{ðZˆ¦À7o÷ Ôή®ÊÕÏæïq¸s.¦Š¸H,MB1=W¬˜—Çx¡Špluî6 <Bòñ¬Oœùy’ˆõó@*ZWïqœhÜÕ€lª~g‰«À³çr®E´ ¶Œ¼¤]Ô\Cˆc5nxñõ=õ&–)i2Nßsó´Çoœº*^æËžOFдHh+¢€%=pDyüÇ ì^Àp™øÚjô$+àŒàœJÎ×àôõý%¼Â€£¡ßƒz&èÃZþh”úýО+ÿ¦€=jàÓYÍj ³éw~` ˆq|/00@êÿ‡ÓßwÝ àÒA3æíšØ÷ëï‘t7XÕgË€‹‘Åa< îÖéUÌ>–ó@lªk™Øˆ¤ÃÀ)"£ö¨ÛšMÿ±>[ªáøüýG¸€Nƒp»Ö¨0»6»†Y€¯_]0üÇ·«kо} €âÁÿ×üðÇ#µUk #@m ¿dÐߨ5’µ-` ô -JÒkn5€?dþ¢×ÿÆd€TsØùÿš«À¬>€ñ“¬ˆúèY¤X*¯8E UÀZ±’çcÂ|ƒX (åy…8RÛîñ59V1 ±r4;‚1ON=ÀñN…CÀÜ›èˆbÂ?|²DbºÈ+ ?Ÿsrì¹8X£ª~¡]Up}_¡­}¥j´ŸxLÒ/˜`˜ÍBØDö$Ë òj7ÿejú—¥·‘ áüбQ??YÅ÷Õx|õÊðÿõ+¨[°@»üÒiÀgÈÏÎÚâ;mÌúÔ)Àgåÿ>½‹¾ÝŸÔ÷© -`”åo4Ã7F -@e€A  ïö[4 Ý…êŸFà Jô.”öÔ¯3²¹°¸´F`B¡_§É6&×ën­ýº¨í«Föá-F‰é×10=Z÷ëpnÝ£„º9F-™6öý£ÙÙçkÏ×0 èõÅa@® -3AÿŸŠü“©õLôÑáÙ°÷ žJÕàÀ¢dp èÛV²–j@I  Má™8àF!À_‚ÿAôú&ðC €aäŸm7gGÂú?¢À4'€àEOkI5gåI_\¼½¸¨+:%Å»“ÿôá_üÍÇ›±`@m”Àÿ;+++ãH4nÈ?ó%ÅS˜@Þ xýòÙèèWcÌ ˜Iö%®þÑÀÏ¿üòv Àî^оD€™`0ú“'go^?2X…rãôx‘ÏòòPüǧ|8t£wÐ[NõnöR~óÉ'Çü”¦ÝÄ,H¢¡"ÂsE+eý}«`JîˆxÏ'•J%4_Y*Vt@^Ù ÷ˆ‘b•%—#U¿êTªOôJL1|_%%Ôlßü×ÿrs}]ï -Rœ'ÿóÔOTæ¹jõxmÏWEÞe¥¨ -2ƒlì3ËÏ[ AÈ«Gñ…|Å!•F]?M>æ…sªJ'TÕ„¯Î/ኟ«ë…¢¦Yð\±9 ET;§¾_.[w‰zþÏó9I5 ©l-‰pM}Œ‰ªrŠ:Äç ‘§ÓˆìZœ9+dâŠà·üd„y¸óÕ“hfçq<ÿ4=j€wƒâ¿x`p‚!ÀWeŠ;t¿–öûélô 4 Wý÷)@ð\i8€”üx;\¤ÜµèZŽýÑ«þ4óü£›ÿ¸õu¿ïûnÐHÓsûv•ÿÝú‹4œÜB=`IöꦶÀ¨\¤ž€T ÷Ø lÛ3i”÷Ûa¼ ”ÖÇ d‘ýðÜ} ? 8Fx,\Ï@íaºs!m´|–€ €`ž\Õq¹PBxt+HÿÖ( à§úS[x9Ý„0Eà ž¤&¸¸M¥°P›š‚ûù‹ðÿÍôå‚Õ{J~¸ªò¶mÛ·M=Rþ¯å\δÛm#_jðêß­m•ª–¢ß^//N¨Ö¤dYØø§É/¾¸³X¾­c0 -‡ÈxáóС~}c¥€3m"g=òJPþ—N±”¯yÔßM§»ÔàÖP|£›èø_ÊGHfvXô&øÙO¾p þ½ƒzñ³P“ŠžÌï•ö„øy|€3éA²×èõŽ{½›ÛƒA* _ŽŒ÷F¦-Ç!jSÇ©–7IÑ‘4â8¡é4µú‹Ü|ˆ¥ÎüßÓ¹ÇðÜÿ¼Šñ>Ç9'Äé†âœbL·,€ÇÇÃ5€ã^2.Çæ¹¥\9fhE(ƒÁóylÄC} _õ,¨À¹¢!ð*GD8´ @½ ž×šÍ¯CŽex†bŽ UŒ„%d}K«rœ+^Ì!„$ÄŽCb¢ 庺€A?¢ zž[Œ=¤~‰†"´KsEClŠdz‚¿Ï3ý>¦ -H¨Àëx\ð£€,¥UqÜÄoŒ_Š¢ÜÎÀë®Æ¬ÒÛÑå¿èÉð8»¸ª_ö+TÐá7íþ³ÏÁ©¸ß§d uÙ &`‚¿ÙêGßdQ£º0Ê ©ózhHñÙOáNp"àúÔ ¿ï»ÔŸÇîöÇê66Æ HGK 8§>ø¶q°±°¹° D€ilìü×ût ŸN›û6°‡tØØi™­0ÜGË>²[­z+ì×`ÔP$l†7¨Ÿ2ð~ÙµµWÔø;þWöJDwátgu=Ôò‡»ë— ë´¨¯5Rh¾…èOǨ X‡¿½à§³d ožª=­Õæþ,½ÿsÓ‡†êïøáN€ü7žÒεá÷YÞ\,›¦™³m±?Jø‰H>Ê麒ÓÇË“›Õ¶5I¬‰ÂøíòßÿÍ-–#VN}¤j–Fmnܸó7w -w¨@×-UU‘<óðWÿTð1Øx‡Ð0€4æâ±ÁÀ J¾üÙσX 0öJQ^¾|ùê×8t}üõš'4r7)C¥ÌË|#dO2çÙ|Ü@ -°|œzüûTïxï¸wð‹é¹ÞH“fBƒwÇ) -PËO§#9\ógˆøÀQuÑô Q(R[ .4?o)ÄU›–Ö©TšgûÚÍpyAÓn.oß|œ‰f¶?9>±\)\*Ò»lvÔ.à ‚œÃj¼ªÈÀäó¾å7+ÇþÞ±ššªX1Rå í¾J*ðèH7à/=¦ 0+šŠ› ŽUæ ª:q–ªmEX‹»KÊ©kT«2^K_2E§ J[Pô¶! §Š¢ä,Ý:¥å~Êõ,ï +ø,>@x™‡ÂŸ§f‚pže­~¼€íûÅÑÎú…ì9ЬsúCMâ4ðää -'bhÄý20Êb~°‘?J£ÿè©`t4 ³ -00f¿íü·Z£û¨ô?b“€À •Fß?¬þé§4+ÿÝ– èo €šºTÈmQa¿¾9éoÔÙ®„1 ¼¸´±´‰C€°‰‘ÁØ À$AÇ\&§]oaϸõÖLÚ®·êGOZnߨ»uxVûü/,D0 Øm Ïq>Иjÿ¯Lð¦°UKÒ¹>`û¥€Õ:Àüz2µN5°ÉuÚÈ î#üø§ps@­÷WK¦¦JsµÚŸ{ºïä¥|/Oý-ô_¨À%Fžê)ŠÙÞÌ…‘„udéÒV²ô)^ª%UIWMì,.æTkò®¥9E©üÑäoÿæÎd`>¡ªNˆvçÆoïÜ(Üù™@üWJ¢Q2J¼¡ˆùšG­ß~øÿýåËýѯÒcÝ Ô²5ÿß!ÞoÐ@P€C™™ Þn ·˜ÀuàúøëŽhçZæiÿë˜X.'Ë´ó?Èüþfjû¸×ÁÀ/z½ãéf™àÒ]þT$‹›žåHÀ¢¥Qù‡9~E"çÑp·øÏ•úý¡ÉÞ¯pÀ)†> qUCCý!á³q¥oÕ˜º?/ÛØöܾy¼ÜÓ*è1ìà?±,QåØ"b(±"éxÙ¬ÁUÊ>DN}+är5ä¨ O0ô˜ãÄNyÕó-B -8pPK •ãb1ë¨1øžTšÆRÌË«„HUÃÐÉ£gbeo,A?+L8Uƒ Hn”u]·yìçÐò_díÜåp€GÿþèÉ*”ùÑ3YÄuÚˆ³‰ÿyÐ=zø~r˧ÔE…pEš„5?Úg³ççpGW(ˆA ÀËYÖvPýߢ€ ç—€ ?Qìÿ]Φ±Ðb€QÆŽè -`Ðú®ûÓ^Ÿ>Ôþ}º Àhmô1×ÏÃMÀn}, ûPÁ×»aè@Ÿ€lF~¯ð‘2°€0š`cÀ¦1}7ÜG½`  ¿ëw4œN×[v«n»}ßnǰûpo‘™H8²,oåè°ºøÂàøqEG&pfÇ:àÿú¯ÿõá Š`3`ëÀjøcg V›*ÕÖŸÎnMÕÖ×·“µ©Ý©?ßvø“ŒµïÓ€!ü“ÖÎþ@d>Ï+mÛ(›z€ÂfE@@’J8ÐuUבLæTÝ‘¬ g\*6ùßï|æÜ6õê£OUËšh&›w? -¡à]TsPC$ò"Ó¥<¶„wG¯_ÎŽîuéˆV¿;ÿ°ñógv˜+0mÐ@` /†[€ØØ¡­ôì䃮¿*€Jh- °³¸€ŸÉA\nô’™“íãǽ`Ç{˽ƒ‘éƒã­@œq"iV§£iÓÓ{š¥aê®S,:¿¬ŒþÁ< b(­âå;PlìØ(ÖG«¦ G"å… ˆ,Ñ` ·Þ÷Í:UÿµÀVA8@šÆ̸3vxÌïÏváœt}ŸJ8ž¡Ý¸‹t>š?[c -@Zû ¸Bü‹£ É~Ö£µÃ3lò¯g2,úìo¯³‚?³žÚJ¥h÷¿VÛ-ÍMí&vGðêÉ] péÔÜîŸ'Ñÿør€aàðì¯ÿ?¼`äyA©ã€uàÿLÎn«´¤ §ëð>éÜ^\ÌY+MÉ*ŒëãŸtç£ñˆ>qÙXÑ¥¿ùè·+´ ©¸ ¨ˆÄ¼÷ÈSòJþ>o¼»pøŠèÀFxëÁƒÌÿðóŸá7( Ä@@Ôl<øTÜÂn`à>õ~} A×Ç_y -€V4«ñYÜ(í%S€ƒø9Ÿg2½ãííe”ŒôÇ¿8.0¢%,ø4!Mmoðø8aYã=×\Bø§&* ö.¢?_±R¬T zÿ€ u ÅêT8gÂ"!NR0[/ËWÇ-ͯr¡¢5Í ŽiÈzÜ×4«BpU׫ŠbY͆û”šnŠŽŽ8ïéóUÜA¯àXÚ©/+‹ðÒ žð«ª-‹ã¬DxG•ûûPÌ…»!¡æAe`9vгÿ2щw¾šY“ÑÌ×—…SQ¥æÀçÆC,î³³§¢ï4Õ÷iÕoðTÑ—Á—ØhÖ£OSàqÉ?N-â2Ïb˜Nh:ÿ €æÿ¾Ž^åKð«W/Ÿ=}ÆÖÿ)þ·ŽX½ÏB~ƒw–ù\9ÑQÿQë­!]üKÏbP 8JÓó±àRègàøÜgj?œû3€Mw©€6pŸ¿;fÒ¶¦n†»‘nÝ~qG(@¸¾°¹±¹€–@ —@åî>”6‰0ñžºFÝݰMÛÞHGöë¨80[}£oã®ÜjÇÿ;ßà#·\c6;;›Í¾z}FƒéŸÁ6ãÉç(NgJñÝuD÷íuzd2Ûð þ$"?ëúÓójs‰ÝD)ñé§¥Šçv¡¼¥ý?+€ÿ^Q÷Ñÿ iý²æ¿ŒT}»1ðW üà@ž*(9ÛŽL Øœˆè¦‚V€[5ø1¨½ÕXT¡ú×5m² m~öw¡>ÆÆ^—î6ÉøŠ5~çÆoonÜøõ¸$u&Êj¢¤Š¢XÊ+¼m<òø¼ŸÏçOߨ±T÷/^P+€C°³ƒNÀö@ðÖ€¤Q8ûìš\íãõj<»vN]÷Ya/±··Ç7’ÉœŒÇŸ¤çÛ©ã=„þc¹q0Ò;˜.iÖûPJ7Ro.OHAR’„°O?šÄ‰5q+ðk‡|mY8uÀÖò(¯!¡J3×!*)V«ö#ϰˆè«Í%ŽLäãƒä1&ÝÜÞάó|ÉxT5ü¼õ:ZòsNÓjv:œ¢æO} ͦ&–dAé´ W:’ª(§URlúbÇ™wl·*uÆ1MHÕáIÁÕRc÷ªbBÎÚŽ#SAƒ?Å<1Q®¶6!†×V­¥ªJt÷ù!+Øž!.nögSlÔÓ³ñh÷ûW¡ÂGc?@þ,¼¾fà:þÑ8(óÏãßÂgì´ êãiôℚ\DO ü¿8»¸Òßñ«—k³k³³/‚e?ÖëgËü´ÿOSÿð|¶@͆oÃÉÀ(+üiÀ>‹bû­ ¸Åé4í¾C•ßÇJ1×fÚÿá)vPhÓMjØ³Ñ ’fný±z}ÌÆ1î ðVd“ªøì°k¶0=Èه;ï×Ó];NGZ6zÿ™€ûð8u|€zšz -â.ýGßhðO{þ 5€üïðì»+ýéoÁÁ'á¿7õñ=«E·kµ¹Z*ÈŸšÃƒ~—DÑ­üÁì§ÿ‰OÍO§àâu¸áî\9ÃvêÏJǰ ô?š¼™¼½úvWà0 ï-È×jþˆÞÜ\,ëá°©Øí<Ž2©çOw·òú”'± [ÖÊmi|qò£;ΤnZèdYÍ¿+Nj++wîüfeå£_ˆ$YºZ‚W˜Gb>/úmñQ^àÿDð‡W/±Я£È­~Øx`lcæË?£U>5øŠŽÐ è{€®%×Ç{À²Ùç¨`ä†,OMM˜ê¥#Xøô2ƒÔvïø`ú`¯—ì #‘œ"éHrÜÀîÝOXÒýà1êÜj Ôç’v·©UŠD:$4r:MUQ9—‹t3À‘HˆÓ«–ÓÁH«c z¾Ñ률þÇvçöÍ,Ë -* I5Æ™BR-Êuµ" -Ó‚…}b"/¨ ^P,RÐû4™¬MÍ•vökÝZi·ø_£nØI -ÿë©mÂw©åÚîî\ÿtn{ý쬱»œZ|„ÿ\à,0€ÃèŸàÿáeàÍnEü‹wÎ~óÅû7È{yo+gçÚ‘œ¹°¹ ÔPÇ5€Rm«?Ýx~·æYº–Óõ¿/oâÀѵ ‡H“ë|´òq®\U?U'šRa|E[ùøÎoqP/Hú„¤–DE@}bˆùn¼ë|øð?hÖ? còõ>Ýö›yAE€T0Ó}±AÁŸêo!€óGq°v½p}¼ `-.d³ žÿýTo -9@¯‡Ûÿ#@’ƒAª‘ìíO-÷z{ŸŒìM[w;¤8!¸ŽvóæãÇ÷Mé®Ê@ w)äÀM1Aæ—\­2ÿW„²Ü°*ó¿…¯œ -°½BÔW$ÎR¡©ªUÍ’bÖ‰$zË7·‘D3xz×ï…BóÎü¯æC•¶EªhÄã^ $®W¢ -ªÃ¹ùψfÐe®èpåªÖ”Œ×ÉûM¢©èÒãqU(Þ+ŽÕV<¯©ªú~ÕõàÞÛŠ*éŠdÏÏòº™o[¼Ÿòèž[²‡õ¿oÐ`*ÜÇùmtž)þd©Ë| £Oœõÿi¯?CSN¢ßR÷ßË€UàÑ Äÿ+ÿ ¯Ñ@<ÊFÿ­Ñ7>€ÁÀhà -à·X€†€x¥VÐj ?¥t`ã~ŸkÃGšÎÒ6\ÐGì÷]Ûö]÷²þÇÙ}z¬>SߨτûT`ξτ)7°ëca³¾YØÄE€z$RŽ„#6ŠÿÍ1ÿnß äFPù7–ŽŒm¤ëvzû}:EHÛF×ø‡{ˆ˜uxDc“€1`õËDèûî*úsÏ™þ+ZZža¿;…J>xßU§»¥Êüè 0@°= ZA\H¥€”>ž[_"12—bƒƒ?OûdÅôMàâíä•aÿÿ-eàÅá[ì`xÅüð-€|^Äo‡M}³¼°¨‡#Økñ)$ÞîVÞÒ­jy‚›_\œPõIËRW$irqüo?^¹­W«¨Ðq ÀÑn¬Üùï+¿F À8ÑôŽX*)ªQòò -¯ày€ào˜ÎìP .ø#¬íP/à, `¬û øÙ›-€™ëÀõñ^@KúÕ¸ÌO•J|ƒoô¦PÜ;À]ÀÁ`{ýM”v©GÿPøÃ'€yàÛ©Ú\­QÚM|º›ÂªîÓåe*øó€!÷dC€7À·¤‡Lþ÷nSà²À|Ú´ ¶:ðŒ¼·eÓjÿ[¢­ÔâO$Ÿ–Ð -XW¥Üâd×õqËÒIZ,;7Bëº9a©T«)¯8wWVî|´²‚€ñfNÒK%Qq÷€XòkßxÆ÷g‡kÏ€0ÀL€o‰YO Kww†Y@/.5×àúx?޳U¤l–8%g“òÔT£—9ÉôF ¸¼=,ïò£ÐÁ -ÿE«ÐÔ<{À´»MRnJIJƛV±PÀú›Ðü<ð•j“¹75»%Y¤b‘BÑÊáøŸ6ìq»N ŸTD­9n@·Q¸žIý¢`i¤ÙqBó_;ŽÔq8ôžwå¾õ{¡¢ù©²âp–¥ûB e‡!`MÇ¿aC½]!Чu*.)ÚB‰"[ä®åyž Ÿ&&ç,å !+䬜%ú"ªúÎNh™Ï{žhÀ-=Y^Æ%' ¿5î‹óYì³Æå8”ñ2êäµÌ úaÖ>q³h/öì]2'Y!‹#ƒìù - øÇëý- ž=z9Ë:³t õŽæï(ÐùQ¯_œöûÌü§~Àü@ 8:tüG€±L°ß2àù!þ§Q¥Ï&ÔüAŸÍlÜÏ£Ó:\6fGÆ"@êh Ôíï`,`݆ÂÞìc1À‘M ‘Ms ÷ùp °ŽÍ~줻®9÷eBåovn«Û·Ãý×dð'6Њ¥…ˆivé㎠-³/W_Aýÿ/Ø»Ê@&ó<³…‚ÿä! ;ÔôS»ØøÇ-¿¹ÆÜÓ‘§ˆÿˆýô# µÿzr5€sS¥¹Ý‘O»mýå98Àöö_Ø“¢Ð“‹·Ç—€?U¾þ?øÁQx*(¦  ‚ô‰Ì¹9¥–ÌSØ*å,]Õ'ÇËåI€&©@&''?þx²¬çªššPõ¦TX·n|üÅ;+wnüº0.YŒ”Ä|)ÿȳ 1ÿTÈ‹@8Œwÿ¢Ð Í–ü6h.0öØñŸÙø÷Ï0 Ý|a4—XÀØþèþËÙ—¯®¡çúx?jD—§x9ÏhÄ3™ÞA£‘¬÷z²œœBðhÓðÇ#‘ûê^±úñÍ5!!È’ª^ E©Yàœb±2¢[ü MãBμS¬ ¯Ã9K*µ ±àZDñ«œƒ¦†#¤X¼?B ÿÿËÍí›#Ó8ôÿ  îNˆÃ0S„„–È -ªªÈ‚Q5\‹›‡W ˆG¡ƒ&¾ $|A,âZOx‰Ôì,¡/°,ä ·P$M]ôgå¬`L«d‰H¾¯±¹-üG±›ïe£çž:aµ…óxü%Mð %†Ö¿QœëGÏiÈŠþÑ÷Wyºp‚] RƒÕL”Õ_Ú8£®¿YaÂkzë‹ãwû-îÐþÿÑì0åÅù±.­üY6`àö;\íei—#€¡°ÑJ›þ>6hð([¼ÔÐâßí·úô ûR€­€zh€íb `}¬Žn½ðæ†ûæFx&©oP¡?t -²õ#·"‹ ‘°¹i†ëf?Ü2ëOºi(ôñ;x„.|Š„[aw£ÿ".M -b†Í™…[K¦ýî -ŸÊìÚ3$èpqø‡«ÿà¦_ Ó|Îâ˸Ä÷ñ?±[«¥è¦?ý<¬|A7ssHæææ»#5 g#»@þ¢ À[€Í¢Cü*ÿÄ)èMõöfAàGjüð,¾&är -}±<¹XGôpÝöjPÛòJµ’ªëêí*€M]¡`EÒ'Ëeç†S6Õ‰ê°@î®Ü¸sç£ÂãŽ[jÙPKyl´ólà~Ï -:PÊqÂýØP·?fôË~°óÌðÖ¥[×K×ÇûrÐntì@äøy&Ùë5’ççƒßo'·ƒóLãื¼w<2õPÓ4‰hÚtóû–O%,É)]q•‰JAj¢Ôâ…"öõV¨@A#¤3šÇ¤ËO u PK‚ï£äbÖ¯SÔ‡ÿz“:ÐãxŠ÷1`ˆãbV‘„ˆ(k„Šð_xï  -áN`S%x¬& -û‹*\,ÏZeI³ UóNh–ÛüÏ=+›°bœjœºmUTDÞ0ÍóDU2 z7 l—iæÀ ö§Š‡ùÃçYÁmórÖ3àTàéß‚ünñÃ+;JϳY^^¥EWæ[tþC6pH_zÏ™# Õ¢õªþáÕ8úcýjטà(¨þ =ÚgÿÀü7pô©9OùÀÑh°ù#A@ç?ÿ-€ŸöÓ£nÐpƒU€ü§QÈÀ_wY, 2:p€º’f*Ð?=ˆ-wÌžA@$ ß÷ë}äÌpic …üh lFLÛÄVÝîºéz Â]céH:Òèßûév]4B§àÞ²N»†1:›}~ñjíõÅÅ·ßÑÀÅwX%¾ÿa üŸª•j»µ½ÒÜTm¹†~8M¦Ö/œûcëà.øØKmÃ¥e ËÛÛ xÆ=€¡àr€nÁ‡ÃÿpHÎÞÙ <{O @ÞÈ 5¡ž³H.¼Y\ÜÔá?EÎ.Õâ<€d­ô´ä]¹ ì @B¯6U¨ï,|¼²(é¶n©%쌯HwC7þæÎ Ú˜Ô b(•&:Rð(/<õEåô]#€ÃïèÀWha ÅþƒßíPXOõg¨Ѓ™™7N@8@ /™0’Ô¼œ½&×ÇûÕ8Ç9¹œ‘$½å^½’˜ -ÉdΗzpÞ^¯7¥‰ B¤¦>ìá àñÍÍ’¤œáú†U¸ƒsø¢cÁÄjr¡€¸v_ëÜ#ÂõçªTt8GÍçUÇéÜm–Ä!NÇ…ÊýÇÛ7·™Pjû Y„Çé„B÷µ&÷YŒîåqN¥¬Šenì^ˆ4-§@4Ï 4’ØÒ¦58ª^,bI¸Îç ‚f¡™U5Të:±)K¤\qˆe%Œxôßuïü<ÎÛºkØm^Èâ‚þT€øFÛüÉ2/3k_¥ý2ox< -ã´¹O{þ¼¿<Ã%@üþ„ÊÎãk«(¾uñ#ý^ÿðêUöÒ-€gCo­£aà墅€~Ö  Õ=›û¿m4†‡‹ëü§÷ƒ(—¹P;@—Úº-4îs]$¨ÿ«ãº¾mS/ ôØÀÅþ±:”ÿPíÏ@ß»8çGÇ1ÀÏ7# „9õ£ˆÛ5Ñ}*Œ¹‘ml¤#c48Z -ã*! ÝH£ðYöÕê €G«üï/^_1@Ô=L&S™ÁÖ\) -ÀÚÔVþ5ÀyüAò²\®íÂ…S¸¢G Îý3ËsŸÎýÀÙÛ:€a`Èq?€¡ÿ[oÁÿ[ àÊÿþð0 ¾&˜¶-F”Èä?.,n† ˜¶˜O>MÅŸÖ¶M•ºXÆCõ‚*Q`Ù™\™Œ™ju¼f>ÖÆWîÜùíoVnüæ×ã+nÒ€!敼ˆ"@t‚üÃ÷Dûh46ÓÙA!àƒ´0³±ósj -À€°ðØŠYýÿ€Å¢`ôz àúx¯šß¢© N±SSSö)¬ûã4h9OözÛðåÞÞôô´ˆ­sÉÒöz{7§¦4Ëšp}/‘ç5§HŠNp>püî8€ÏªE,­ÂiZ³È9¤@îâÊ€*ânŸ‘—¡x&Nѩ٬œ'?Þ^î=Þ~<ØÆü!­Pä>ˆ©M®#Z¢œõ@z(ùCU Üý} 8@Â÷˜^ 9MM»kYœSÔÑ'ä ¸‰®jDÕœj‰†ŠD¢'xPøŠN=AT¼Ìê¹|ªWuDZåã¼ÁûmUÏ)¢á¡ï ªü0¶7C+ühTÆeó{‚Xÿ-ÕüÃ;] ¯»™øI&Khð*õÿEVðã‘ÿ šÎÿY ž´ž#€KÀ ãG™ð&ýRÓàË@ £ éÁÚî -ÐàË@`–˜¦>nNmºèÚæÛEKŸtËF5?êþë3Ý~¤ß5gê€ñ;áH—ûp± &ºù,ì,„#a\d*€´ WIÛ&*û£Pì×íȾGÒ;ö­~yTÿÀ:"3 èTw¡d4F…—k¯V×.^_|{ñú»×sWLÅè2^4ͬ§J‰GïXÔö7èG*•ÜN­§‚úÍæJÈ pJmãPõG£Ë#»@2ëAçè,ún àì-ôµý4ðßUÀá÷Åï¥ðyÏØªñv@îÊ“?/£G”©ˆ¥-o+>·µ¥ÖJt©:¡—Ço—Ö21®2 @¹ àv.—³Ô’}€€``åÊ*ÁùpStÈ«~€Ïû¥ï[¢ô™ÀÆÎ ì#!Øy€ÑÀ3/Ø`l¬‹_¸EÛÿ¸°ÿÓq àZx}¼w ž=Y=‰'ù½^€¿×“É^r°ÜÛF9àÞq#ƒf# MU¡ºV1!òI’¤¢(ú"!¤Y ™ERqŠ… - rI0œú¬f¡©9%q¿¸µ½æ*.Ú ˜/,©ŸCïÉò ·ýx{¹ùøæñÁÁT^ëà½qEÅŸÆä4&Šá*Z³iÒiJÍÔúEÅоæ*(€HÊU欌a~ºá!|+¾ Æ$MTàyæ=!Ïòy]ð˜5¡¨ ÿ4(ëÙmÛ*ó‚j]1N Í‚ -{Ìä?NUÿ8÷—ãYÑæyùœíž±zŸ:žãËì!5Bc`T_GqßNÑõ÷õÙëÑj΢ àQÐÿ¢~qðÇ`éÿèÒ€õúéÀ?Bð§;~ti»>#è0ŒB"@±ÿýý4\’Ö°©6l:À½t}»õúÝ¬Ï ʇg"Ô¨oã>ŸKó|6—6¨®Ñ‚3á~ú&í ¤Ít?=JGÀ ŒÈXl#¼Q§Ü®Ù‰làmìznßðgŸ¯¾Z{õúââ5r€Ãïξ»â_E] JÖ» Zû׿° °\CŒ§¾€©$5Ø®M¡<ž‘BôO&×Ùæ_æ,Š#€T2óo¾Ë†ö1$€ý‡4;zQEÏÞ‘¾Ç€­š`¢þWÔDréviëéV²VÛJ<-‰9Iɀı$u\’œrye¥S«Hp&Ñ£îüf¥°""H(z)Om€± À×|8õ½wŸs Â~€lì0¸ßAµÿÎeÐWcÝp,ÿ/€†€—/¯!çúx¯¨SW1¦ÀŸçÑ‘¬ÑÛë¥çôÆöÿò`éMôJ{¢b©PGûªá'´‡žg‘ÜÃ’¦µ’Ë8‰ç8õxÅ" ~Sôbhâ 0¯–•¼&9Í„ªI.&úù¶Ut$•ti7hú6 -ަ^BTÿ‹ºà»à¸*€ó:<®Y¤Ð„GóŒÊ=À¯†")‚ 5qX‡bø*! -M8p‹ÑT ªûSÕ,—¥l Ùó“hÖÐqÝϰ_/ûü©1៪þô³™L\0P °ÆšÿØÒóB&~*Êk4á'Ë|㲌΀‚|Â\X£«'T0zv‚¼á5°€ÙhÏf_±ò~¶5dü¢×¿thàýÑáŽ_0 ð÷}fŒoHŽ˜7ÿ¦¬BYÏ$‚Œ è£þ¯!™ºaU Ú v?õp½Ûµ‘ Dê;›õ3ÜG`;m¡ˆ¦ù,¢ - lCH‡Ón?qÃÔ `ßì¦á«Öl8Ýíšnd ˆB—ê‘%ü*l¤ívköåË5Úx  þ1@&ºÈTÂ$¿Zc®5>Ò€Ôý6s¤˜?ÇÿÛÀ¶Së—†Áë™Ãèãå] ƒL¢ ÿ/«ÿ€;þgìjðNíÿ®Að{D *ç·øú°°ùóM=‚^€J)‰€Z²TÊ?š ¹*€HyBѱP”¤rù¶ó±¤çrªU*%°PPWV¾¸sã7Ø_)I*QWòT`°-€Såû€ÃÇ8€ôþX #ÿ¨÷1ƒËþŒÀWH¨jp  ‹€ÙëÀõñ¾Ñó“l\nÈ©^cp>€º¿÷ûA&:è=†W)æ ”<8èMí©ÿ‡¦©"/Zb^”š¢8A‰æÝæÝN÷Ѝµ'!t ®h†âpN±ðË¢Ã%Í^ «÷›@ |W -•_²]kºèÔS™¯xI|±ºIÕ€—S2¿'¨Ô܇%<…jÈÄî`Ü`á®&(NHº_1Š@U‰4ÛÔåÙ¼˜Ð%‡ýǸ˜rÊ U§ Áˆ¯ž ²Pm r6³*”É©]“´÷•…¬ yATT]SN1û$<——ãçhëÇË«™,ó@©J'²‚`xÀ7<ƒ§r*8CÕÿ9†ÉñUt<¹ˆ®f×N~dŸõ×kkY¶@Ë~–ó‹ò>ªøcðOû þýKIãâGßZûg˃T#ÈØ%[ -pK`¦d Tí‡Æ@8ü¯×Ý'hÈcÛO¨ -ÀÆ…¿´I¡¿‹ÕüXý–‰X‰Ø3õp? 7Ú`ÖíHdas!L3Âuü¾…-ô´ëx ³Kû~$½“^¨‡Ãé\-èšOºuøªÞï»G¾ëŠ£Ïá‚;€ìýðbhxuSÑ3Œ¦ -À`ò?µ;5ÇZû©0] - @€ýaáO‚iHðYt;¬®ü2ó êAuòÎ:à°!p8´8¤Ëtö=|{-ðì­%Á÷ä=Ÿi°0YÞüŒŽÂŠ˜ßªm%kOŸ—¦KФ«9ývl²ÑKzY%ؘÔËã‹DÏ)ÖDi÷‘¦“qG[¹ÁlVÆ + ⣶Õ.ñFIÉþçyþì|ÿ)¬=eNT¸± ß³ÿl `l,¸ ØùrçÓtiàZp}¼ À.+'SS|#>È  ìd÷¨`{L5Ž{‰„ÕÔ¦¡ð¿;­ý›»¯5¡êŸÐšBh`?W­›’dIÍ -W¬´ûG’îªt 5­„ªèq -!PþOtrŠÝQcÄ)ÊÑè!€íõím Ç#^¢ŠY•м£´IÄj?R¡ô¯Ž«¶«¤©)FÕ)ZwUQ…Ç~b4 ‘ -–ËgeÁ0T_0Ým“˜è¡›ŸQ±e!ÑñdAôeÁÑJp¢,ế|Z­{|<{ž žÀãM…rýâžAÕÿù4ÍÄág„a¿ñó,ŽA8u^~)Àu¾Å`–„T ³&gWÑò}²k?ºð—6XÛ¿5ËÒ{G©ÐÑèáćw¦ = -}fHÝÞt†Òät€ôí¶.Ûè4ê¾Õ`CÖþ·Ñ¢×¦ëf½…~8§…i˜©Ït]`PìÏ,†w"›LÇgÛý4Úþã2àfä–‰v€‘M p©™ŽÐ-ÂôŒ©»}Ãd›®Ùߨ/tÑ~¤[7»æÞSßÞ§ÿ°ÙìÚóW¯ƒƒ¦]µ3Šÿq@ñŸ€¹)tFØ_fR?–´ -Ž!þÓÏ4+8Ê\ö—<"¦ SµÉIfõ­AÀ°@ñß.£AlÀáEôm[ ³wm‚Þ· =ob@/”þÇfxé6€`.©îæE€Û“]¢"@­ KåjyÜ‘ª9;%´W¾¸³òë;7V~=¾¢Zª‚/KJ‰ó -µz*à8ÀS¾O^¾¤*ÀaÀÆÌ»#Ìü¥€1ì0à긃^À×€ëã==0¥&›” YÎ’P›ÈƒÌI&õx@sSòöà|0uÜSï+QÒ—È]-a•Ijx —Ë‚oÄAßÎÑÅ’/– ~YÔ¦5¢%4O/Ü-PUÉÁØ`¸+®pwú¡ZÑEßî!íñözf0XßNõ¦4â1oØ1‘÷e"ŸÛ„ëˆGªUt ’tÿ¡JšyÅü6/èıÌ'ŠÕ†b¡¹T M4ðÇ/&y‚¨ÆxO=E•€QÕubMˆÔÝ·ZùóøÉª\¥AƒBÞh§2›ñŸtü¿J÷þÐП­ôñ§y9{ŽêAÜY> Md–¿ç'¬#°zòãïý¼^[[{ùŒ‰ÿhûŸeþ´Ðç¿udÐÕ¿?¢>€º 'T@Ï ß¿ö3ã_äG£C%``ðÖv R >Ý ¤M×íטOpñÏvm¥O°@ýþhÃ?ò"=V‡/6Ã3€õá l0;? 4ÃæîóE0Ü!ÝtípÝØÝÍ6ÇZuwgŽ"Ýð6žtMsf!Ò7ûißß÷áÇðüÙKT¼>AÀò¯߀.F·jºò ±;…IsȘÔN–“Œ°Q@r;IÿÃþ?D·—‘$“åȬžP jÊD£ßãP쟭FÙ&j”vü/ß ¾Ì¼òÿ¥?ðßð[[¼içŒHøöfyó”ÃÀ -Ͷ[Úâ·’OkÏÝÛz'W½]./èa]œ(«’Ši¿z¹0®#PK»¥*€ÛÍÑhüÎÊʇãã xQ*©¸ yT4aîà7žý'#€ÃWÔ ÍÖü¡ª±Ñí¦Pßÿ™H(øj ˜ÁÌïvè -à—ÔhÈA}® Àõñg˜ € -Lnÿ¾€íÔ`GPÿÃw¿9î5xͲ$øÒ†U@ ÝM¨Ø~—šÍ¦ÎqRäŠVþTÅ -¿X$EÉ’:š È~ÁÊ'´DBþÝ,84òoªóº£È8º/šÉ“ÌÔ1¢ÿöö`¹§®ÓžÖ,…‡Ú¼¯Ã©wó77U+î++›A\_MÖéðe­Ì͇õ¶ê«kÏÇà§•¬x¦myœéƒ¤~M¿Ÿ´ -Z[ÑfbÅÕΨØàGÄC¶Š7H -²B0oZÄý œŒ„Ñ?lB: ï -˜ÄÞÅÓ=”ü1D(רÐר.ØÀž`4üá,U¿£ßä ¶®‹ôøT¤3’w¡ÀÈOÜ€!Í‚`0Ðg/àEÿ¿e›ÇãË–¸OË¡€uº“åÿÛ¸PGûŸ›þoÈ}âör z*öíf¯“‹ÐÑftÕmº˜ïÇ[®Wç_©‡D`ø¨Üsí–T·{ˆÿql¢-›ìJ9§ãzsQ¸Dçúú„ÿ{'¼;ì^õþÑ•v~%?…Ì¿¥å­êÖÖÖmLL/M‡î¿)ÎýYA'`i~iYÄCØÀ$½_Ûúpúoi ŸïÇòµ|ìÕ\`1 xpÚg þQýÓÕþåeA—5€«FÖq*m]·oEW‘@4`5ê´«KÊRJþP«V«z¦h³³³s·8ˆ[•YÓˆë†ñœ€#±ø£ýÉâ/òËë‹7™ €’®%Y­Z0ÿW¿åR[·^S^ á9€æ>dý^$·AìïÝ}¡9@ €@ó.[¡`PÊßaàùy£Aüe§ÛÅ_Äïú'ýó×N´Ë`:tÐùùùÁ…ÿ4€Z mËËËÄ–cùa~wc%¿²ü9¦ww—Gùa?¿»û4Od”e£â)~2û,©h^僵Ù_Í>ËþªÏdï¿ÍÐéÎµÝ zž;™l"Ao3ßþQÂ+=Î`cßÃû³ž¬ų́¾5û0›5i©Ñ(?ú—ßNM-ߎg*e±ýWyø£ËG)Þ®è -Œxƒg³–ó#´Ì…µD›þ¬+kŠs=®&–Ñ»×bµXL)êT𛞚1+gú°Ç7Öö …A%[±4ų³^,¦I“ÿ  -pAO0)ý'c;þù<¹¦`P)ÃIˆm¢Ð?gùÀƒï -ÿÏk/ØÿöýÔѯ³0‘›éÿÇÁd_þáë¾Z瀄Ø1).õ¿/€Ü1€Â±˜ï8uNpþ-ðßé|‚@‰€›Ð¾ãR‰o£×ïŠI@H¼Ú‡€NÚd€-9°ûa }¦0!ÁkHJ;QÇ]` ¦ç\÷ ëxNLÆ@ ¾ßÍd8šÂxZŠÃÿâÕéê4Ïè… Pÿ|\`~ ž@lv@î\»†K èSýO'<êú/'ûÚ~ ÿ_Úü—ÀU#{„ÿKDÚVq5:»:÷îltUZ•t]õÖ—RKORÆsòb¥8›˜]•ÌŠjV*Vneg+Æ“vƘ~0külñ_ßú †¯ÏT€ÿU°J%Ýó½’ü…_ÒÕ× ÀÑÄÑXh¦‘ü´°p¿“î„ä¤7Ø|Cƒàü»~l›è" Âß!}×9±œ¸|ôâè¨ñž¡ÆÁþQ—Bù†ôƒítËGÌBuà‡Ó÷útäŠiËòîhjj7ÑÔîEÿòÔÆÔÆhcTåSóSOïI3Ï$âžRÊή=Ö+Ä¢ãÂò›ÙJe-û«‡ "‰Ìï?ÿœ˜ÃmåéËH<Ë®%fî}YÉÜXˬ%Œä÷u•uv­¤3O¶2 cy4šÌÿKjã·£QJV´Ê¬§(~âí‡÷+2Fø>Ê¥ ׳³mE7?±ô¤n%mOñêôG )_QìŒÇ9}18ôbPoVõJƒLQo+Ãþps}zÁT*¦>°èY³Ž E@xœèèHû“•‚ˆ`À'Ú`dè{àìߘrÓ®ÃXh[*ç -±U¶û°¿Ã?Dà§øMê§ô¨X÷‰´Ê-…s|Öþ_þEhÐ1 ú è·.¤~+Øì·.3Ë+D¯à˜]-ÿøÇ ’^ ‡]„ýCÑwÓ¹a7ýý=‡¡ô¡—‹º€ti.ú‘MŸ%º€}Ãn¹€€š`ÓšD"œ¹9„»Évë­ãr­\~±×¨ô…€êÿ«Ó¯þá¿„Øä“üÁä‡ÄF÷¥Ûˆú[ÚºMh>}ó¢þGø?ßœžg:0ÏA„ÿ© 1p:õá‡[ÓK‹€ãû±~ˆý_uùះ&Y©šüËèÿ&Ô«¿üËërɉZNñ£è,'~´:mëÕçÏ—Rʇ{ñ*!y²¢'Í[s·ìL5™0 -3‰üÒ¶¡O¶ž# x͸±ˆM€‹oýüúâb²BZˆëºQ•K %¿ªÈ²§[Þ×çÏã@§ÙC¹œ ›@ ×IGÒûP° çÍæþÿÚ)€óÀ5ˆí_ùüô Ôò;ø–#idc@±ÃyE¼È`~§ o"~0`„Wð§ùóô=ƒ0>ø¡-ðýàm_^Ö¨‡—my -¯*S©åÑòFj½Ñîçמ>›•L²’y$+ÏPÍ”È܉ßɘÙû7²<ß÷ìYâWk¿ßý¡>¿GHŽb$k¿XK¬Y¾f%*Þ»F<áŽADÁP­öš®h~<³¦ãøœ·û/Sâ­¬êYô„ ‰‡¦uóøöC½®«t+¡+~V•?™P-Ïó_µxÆÏ²â•2úˆè‰åû5EÆdlR<¢ÿ^­zÏT5p_d${ž¶öé‘ -†ù6?IÁ“ ˜úÓtÃkÐMM.|ó£›fE÷ {ˆ dß_¬À˱ò÷>eþ¯ ˆàÀ ±þ¯%fòÆszuTðÇÇ­²?ñ’h€Ïð¿GgæÇ ¨ô…0xã•¿Ö…d\DûûéNKDäœÜ'ìúsêTô;D ¸È²ÑÆg@´çFèj+ü¤({ý^%§'Ÿ$¹ïFQÖc# +uÛr[®íDë<(aw@4WÖ›oˆ6ç`”Ü—`Går£|r"ýƒƒƒ7¢Íôc±K,@ë¿=]%ô'0}mšm(ý—§ç—ù:‘˜—` HaKAà·Ó[[þOÆ&cyhµØäÅÀx $A: €A,ð×àŸß®Ð@ è6+˜5W¥÷¢ØÞ+¯§ÖÑ0TÂòâ,É4T“^¤*•sáVŬ„ðñçìxFà{ë—‹¿„p §£ý¤mT•L€Ï¿}]µŒW¿‡æ'P à¾PréÎf»ÓTÇ -À§àt H§#BÚÿŸ9 ê‰ÐI æÙBi`ôP¹XÆŸ( çYép2QT¼#`~'² NtÇÎÎŽ  b`2Ð÷}ô¢!†h~h -|OÁRûåÔh˜ïçcÃá¨?™ß-ïîN-oÐûÔ05µAE½š1Ö*wªê3™ÉΆÇãñ;†‰8@*Î3™µ_=¬<]žß… 5*Ä´âýJæÿþE6›Ì¨•Âê;•53›Œ{¥vî;Ë 2]ÓtOÓv?ßXÆúL\S²og± ±–É~tÿm“ –žxxÓ*9°ˆ[˜7Ù̧º'žõÙ¬:P¸ÿòéÅÞ£$ã>v÷¶+˜ìïk–™hû²•@’ϰOèîiý!öþÿ=z+ü þëD4Ú^ÁóÁ -”…›ôMd ]5 ­Pö”TaëoƒHÀwŠþ<Âp’on¢>öäs~ÏϵDÎÜD ÷+éä3ü‹yÿpæÿÒL`à ÷N@nüûãp`«•× *=‡@.'æzŸäêBprA - Ìþ°õI= +é*ýl*ÜÝž[ïÕÑè! ê4y€ö¾K¨oQõïú -Ê¥-»‡dÄÚ½z4×\%±*Isú¬¿guËÀÿþyÿ+NÿDoà×›Ü[ŸÜËRK¼þ[~ooA¨n]cå?o\B<½m!ôgtÆY““Ó¿þpëù·{úèüçÙöÊ}€~þ’ `R4õÃå¼!˜ñÿµ>Aô&–Vþ}ày«íZm{U2W huU*êú’RMÉb PE [¼¹zËÎDŒµäLÅ\0ÓhÆÑ0ëoÿdñ­Å_.ÞXüåLÅ0ÌŠJ¡ -ûŸZò‚)ç5  Ñ(&BÔ&#jJ9L€Ø ,vu@Wÿ|ÉÛ¨¿ä_½ù篾˜~$’ˆÅ“ƒ^„(ë!EÀcÀì€Õ~>l\ò $G¹ßŇWO_¿½‚mA"Á*ãK½´Ô€ïçéô¬ßOi©T,ŸƨþoÌølcê·ð —7¦–5bôGU1³`d*f"óô‘WA`v-y§2{-³K `©Â±¡ö«‡k™xfF'æ0K`í?ŠÇײF©ä«Æ àÜ÷ÆÛE¯”QµQl„|mK¶° @Ñ”ÄZr­ò0kQ^ŸÍš÷+öWg馢ژÞ/ 0ŠŠ"g%s|\ÉZ{žç[²âµU¿¦ t-6Œ)ãY›ˆGRÁKåä° ù2Ìþô„Ú¦ ~¢ãedýæ 1z>"ZCC¿¿`Ý´dUõÙdè%<¦Á‘X ØÇÒßïô÷÷g ~ÈFLoÎáE}èXÀlxŽËlðy&ð¥àŠX˜¸$ˆ%@ÖÅ<@ëÂ.b .vÕ9û·‡ÁØùê Èðïp°¥w»ƒØ>©Ó±;¹Ž#5£QôrQ8Ü؃‹@Q»i¿çn"Xr ÐÓD[v®ÞA# ƒõ@ÌEéc]J¯J­æ$©ãZ¾¿çƒ×ÔNN΄ppð†¬ˆä;ÈoÅØí'OO/][ºŸ­iâôΧ!ý/Mo=ÝZŠoU¯Ñ½[KSóS+ÐDVL.ÿúÃøô·zòàë‚0 ¨Å.Á?czŸ€ û/&CàYÿ•œ®X"ü×–ݶCàÿœ}ð :Àªcréyj©šªè˜Ø4+™@õ$U)7’•d%QI.P…_(f3ÅÅÅ" Ÿü|æú[Ù2†1‹ ØüŸ=m§ôuP -@€ï‚ìä øóÆ?¡°€%‚Í»Ÿ¢ °ÙÜL`c÷È+Í´ ª×ãÙ™ÇqÃÈÞÏøzF%ÒmeïBp i^V±¹‡€ÿí™]+(f"›}–€Š_ð¾Í“{…‚n* ,¶•#ö,SU†~¶ˆI¬ð-Ôòµ‚ª«m#›xü„µ‚~ ºFà­fTE¶2 ò1y ?¶JžÌ@÷þðh½TÆd¯ X^9Y SJžª({Škä'ªG? -¬ýZ1Äç“ßµ@v^+Ch•»ÿÇÖ±Ø× Hv¹"Çš>vísº/gà xl ä~94ú0/@ ÄŽÂ hì–{Èåz¼ °^ïé9pÆ“€=Žr£˜úˆlâa¸Ðÿ]WÊñº|Óp ¤{ùŸ[µç@¢Ä ì Ûu¢9»F!Eœ¨“Ö»s}„‰¹ž+õZ0 ¿óYèh~#+™!Þ -MA ú.û€ÿiÆØæç§oßž&ð§ò¿º4M,caÐJ>z:úõ3â£Ñ·|=ý¢üáT§“c@ç@ÿba0\,è]˜¼zc€Úâ~¬v´íçúüæV”ð_²U‚l"OÖ«ñꓸnÚIsuÖd1™¬‘\0¹`<ÙZZ‚ÀH.þhñçÿ¶ø£ë3‹?¡CŒÌͶN€ðÿ¹ì”dú Èž®[_þ€.+‘Ž ÑñßlÞ%ˆZ¹ ð>ÿh° -°$–¿Õ-Ñ(sű¿+D{ž0kñ i|Jp€´Ðú‘B¸?>Jþ;âÌ5~p -¹è  ~\ÞsDß ë/.©?Œ ~ߌ<ùÖÏÙ0–žüŠò!á?€‘¦šÙ$¡¬Eø_1A⪬Ñ­x<žyF{<~çw>ß]þ—ÝßÒà -ÞZ¢Rô4Åû£1{¿îÁcŸ1ŒÙ¢îYVæÏ3Ù3ÑoïÇ~EÍ.$îg-n¬a@÷ ÷uLô(pò›3ˆãS ä5PìÊ@+¨Å:ú”\@W^±dÂñÇT¾Ãˆ@:á´¦(°ȲJ¬HAÛ ¿þ¶Yà3XùðZX°”XLó1é_ð°b \hPÁ¯íyìð”F-V.jß±ø¶)_i0üwÝ–ÓÂÌ|«ã©À‰î¶ÔãÃ1ë!Ì ˆB¿/(€@¿?n øÖÅN`.ÿÙá€÷Ÿ äûr$ áx0߆s¯Ó‰b‰ßä%>‚p;ÓŽƒ€À9w®‰1€Ÿ‰Aƒ<´ˆÖDsƒâ£ô”9:œ¸ƒÓ²èçB -P_Ìž‰}Œ_½‰ßzò§“++ëˆø»€¹ö' §[Ëû¹åH€­kœt Ô€G¦Â@ Âÿƒü‡ÿ/q‚\9ßð7K|ƒ(á~€¼¨üƒ@6`=eHòEPл+Çý±PàÊ)ëëÊ:›õ¶óž);û’9;÷Þ¬cL¶ÖK–TøµðØüh6j˜4fèl P$€o-=¯ɬQYü·Ã&€Ÿß¸þ“LbÁ0jE' -àÐU_F ¯:mËzõ{8i½":ÓHŒtrðÓSµ¿À~ç€AÁ»È¸{x——¥#Øî¿ÕØÙÙÉuñFïü¥zH`ßÖý‰÷þÇ ~Ÿs›ûÍÍæa“¾äáæá!Œ‰ôq“®nîbNg:|»‚݉_{ºœ*äÁˆ?ÜÎÜŸ™xÆÕÌÌÃûŽ+øÆ/>È|á@ÓÔûºL _(Ù -r~´ºª5´O²žâ鉙¾Š©[z› ¼ÔÖuEóäjÉ –k(åE+…¨¶×ÛqO«<[§j]Võ"¡7@{HO$ƒxePÇW,ð´W=#£{Èø)ánÏ×bãuj+ІX -`iLŒ”X­ðD­zŠ_‚o°Ö¯õ 5ú€À_~÷¿»snp`k¢u±¤'dž¼"x ©sÞ×j•'XÿŸð10è—á@Nz á¿ì/Ï^~ÇgúS­–ÿ,58tëlÿ­£ý/ZŽÃ»s= Š¿×±¥ν¨Óq1(E™H„ëO:vOÊ͹˜îwçì¨m»vαëôézn³µ[®í8pÚ’›{ÚÒ*ñ™‰ˆLøå£ÂÞŸØDïxC-€|~2u0™‡§OÄNß^Úþ¿ytþ§¹ã?̓K×–®m]CNÐôôs ¦VFy! ¶wú×Ó˜ ¦ŸþõŽƒPRÜÿç -ä½Vã}ÔgýÚ$ü_<Á…'#'/7?p倷®Èë„ÊѺ^œ‹ÞúéƒwM{õ§sD’%ÿöÒúVê¶ñ\%¬§rÿÁ\q!c˜F&$ÓxbèÕçKÕª^IæO¯˜¹>ó“dÂ0 Zêmxä’^Uö¨Žõµ9À?£?¸±î‡ðàŸnBîßÄ6 îÿ‡&ÀC\4éSÈØAíü- ¨ÖÃÓ¥ò¼Ôþ<‹È;‰:\ë®7A0šÿüF_¯Iß áþáæ]Ø„ -Á¼€Îûw åÊAø…"wƒÆ8 :À<`;4 nwÄO½Í´ +¾Ÿ‚Ô~¾WF„Š£µ­¥†xAɧ–Sùa~„pŸÝQjy׈WºñÇöê# ¶Õv·ÌDæN&‘¹öT¦‡§v§6F£å§dYϪ€ëöÙÙ“*pY–‘º‡âZ1LY#è/èzñõDÒSô·Û0ÝÉÛ+KšoÖ-Ââ®ÕâžOdM®·-Ê@Á?Àì~a¨e¶"ÅŠx1°•àòžþÎõdÑS>g÷Ô@üŠ*ó1špÚpŒ§ªó9Àš¢iÕ/ùÆ‚¡V­â'ºUèù•F c€WÁ{ÖxQàh¿–ˆª·ºHæq¨PvP-çÜ^®i*N,`ð?òyðe0À™œ O ª—é@=\ô¯fÃzn< -˜³ëÇŒõa$׃ôönSÚ´›9.û%˜±Ç“éº[ïäÒ.ñÉMÓA«ðJuÉ‘ZR=êÖ]ËFPPÔõ%  O(¼ FS–ìœßU&Êå“ÚI°ˆþgõ¦Àd~ýà45¢ú?2€ŸçþqíöÖ2îÙšÞšZ"vpmëQ„)^˜ÚàM‚äýá»'ýk‚¶ÀnïàT‹q*u­Æ»x;Å«àÕ € 7¾ÒÊ•#Ïåõõ½’îDÛzñ½è­¹ï¢ðžTÔ‹%ï9@õCY5L3i>X-+mÓ¨üß PI ìOýpšÝЋ‹‹79sãçÿj¬! EU¯RåÿÂUùBö­×= /&Ø[ÏQ?i@4–pµÈ„@”Ì ©Œ£¢ I€ìh|³  sûÓà2+`¸=zÿHhCÂý4H}}:#˜¨0q¢kTÈ7!tü›ûŸî‹õÄwq‚E8ñ|LiÛ >ÆùãOq H@ç²´ˆì„4`âýò‘h ü@¾ à”êÎÂ!™5ôÿÉÉÑÆòhyyy4õÙ£¸úÈSãF&þè‘ ¾‰dàŠw ÂãOo§bü¶Ë1Bמ£Ù6ÕêjƸ¯€é€ïlÕoÈY]£W«‚®#Ø¿n)u#;c°xOi[èÛ¬l6¡*ظEüÂÍbÅÌÖ€x„¥²E^h-æe“qUå$_<&kZ2¼žeT2è@ÀâXAµ„ €KõðtD7ñœë+ 7 CW•½BI‡O¡O/·˜ÿίDR7‚5"¸ ¼ïåž“sÙ›Ï÷0tO´ØØšð»X /'^¿<öC0FüKbÀñź@«¶êüÄuÁЀ ÀA²/gû»Xñ3ÜŽ¶Ón3ºåÙ@LHùß#Øç£¹/ÍÍa- Ô™ËÙ:Q„ D{u»E\îèÒ=Ñh]Â~Á9zž—Çt cM(årã¤qÒg ï<{3¿ ªÈû±êRl*•Z™ZZæ¢iž­b5 no=Ýš†èÿtk‹uùéù%aÈ pšŸú5ß -†ø&_£“yQµÇ^=ÕÄ™XÀæÿÃ!@ô3†ÿñ8@`È¿‰Àߟ°®•Úz´+â?û0íÕ$GÕKru=ES¶Y4“æÜ"€5ãÕûºa&€ÿFõùt©ª'×ôÄ¿-Þ¸¾ø“Åë3‹‹™5VŠ:}Þª*ôg_RžÈ_ȲªËŠüÊ·ð§>yA °â÷"¬¤Ó›A}2‡}A¼ Ò¿Äæ`îž¿ø@ˆþûÌÙÄÏåÿû¨þïué‹î7›‡ûw›ý!0Xà#£ =æì€lØ<„AQãS•ˆ¡ 8ÀÇt~‡H8+˜Vâcà8O*Gàøü3“€É/Ù#è§—ŸÑIÀÃQ~˜}¶¼|”$D^p<Œñ)ÆÃ‡ˆ -x‰lïC¯?“È÷ <ƒäÕù½}[Bô—6¥Ž[ïÙ£QÛÀ† —ž¨Ó+ܦÝŒ6% ™Á– ·Ÿk¹~/ŠI@7·êF£ôe\±6øeýÔÿ¢nuË ÿ¼p€³³³/¿:?{Cø`òt º–ý.mÿ)Îý#&0=u`ëZ|kôFø{I¬˜b À$#ýô´X (@~2¨ù'ÇWò,Ò¥b¯ˆµâ)û¬€ôù€ƒ Ø¿H:==Ëõþª€Ôz¡:°£ízôAtvöÝ?‰Ì­ê¥¢.W§Ö§×oÕ’aÎ&+ÅÕU»h° ÈH$Tc!¹@ `aëùmädŒ™t¾¾¸xãÇB0‹DŠU(2–ˆ>¡ úÞ«€þï` ÄGü¯¨¯s¨÷Q£ÈÇvàp p_´Ò7›¢%/¦¿q`S uÛ†E™ gzïhâý#ÂÿˆØC@ÏŠîÿø˜ÀôØßkþ0û'8‹p‚ý»A¯_hýŸ~úÎǸ~¸/|ã©fû8öÓwèL,@D±MGn§Q ã ¹í°e!|brðoð>þpºª$`r3à0?àÕ!E§åÏžªšüT}ªÆ…VŸ>Š›fÑS3Itáû€ÿ§OïxŸ-¶›Ê!©¨„ÚH{³†šÉÜ· í'TYóï›Tô'JU ÉJ[ÖÇ?à¹wFl&r úV` -°êÈóÁB—ƒ‘òD·±(Š5ÀQ´¤(!¾Û“ äFy ¢ƒ‘Xº„í’3‡!?)‚u»­×©ìoÙÄr"öCR sôѱ_·|Ë/7öNÎÊ €³Óó75¨À>m¥¦6¦R¢¦çäßÔôx›§ 8ÅsP¶¦—Àp91,Å® À)«ýጿÐþ³'SùØ%Pƒ‡ø5dSŸöÇh?9–ýƒsar/ÄÿX*6y[ -+– `5ýéoÞMÚ³ï=` /$ÕZD7Âé¿1– Àè¾\ßdðpD€Å€ýKë\tÐøôwp”.÷;\È2æýRSSÓÁLFy'À’ £LN~˜¿,\Q°‹µ¯–ÿÄwûhÿç™Àþw,ý~|;hœb)°€ÿXl}/vpõ€L `ϲ¢ÑvÝ^š«Þµ‹³ï>Ú¥¶®T§Ö‰TãTߨ¼»ZÔ× S_Sg* ³T1̤¾ [ÏoWéÀðãÅ·~žýÙâ ‚FÒT ½¤—d¹Þ.)uEþÂC @~í/ìHxðv"ãÉy(=ÂÉÍO,bõx p¿yøO$Æ|Ågö6ß ‡ã0*ý1T ?·î Ðý¿Ë‹‡èK5›ÂýqLÐè×E‹þâ 0²À…lúLÜöÍýCžäBž>ŸD7€¼ËSÛ¡Œ™@ø¥Eod›ÿ)îCaøfõãʼþvüt ºå‡X¼‚=ÁS) ù;²üˆ -aUõ<¼ÅaÂWâÂØÏS¡½îj©ÔhD¬ajY‘‰d{<­4k~c”e½¥S‰¾mÓ£Þª¥x¥0xØï{h0ðž·´‚¬W Ý"Ž^™Å„¬¸€·TmXè×èt•¾z¬VІ1emÀÀ¯i–…ICÓL&’°û×´v±¾îhù~Aõˆ<2à=P< žAYåí@8aÉ0K/éÇ%ü‡Q.k{Zÿì*ý·=yAå ÏL”!Ðcõ:ô¹V/'‚€¨@¤:ضƒÁº×w¹eOßElÜz9Nj å",Œü/ø~þÈ·ëˆÃìnP §…õ?9ˆN°»€;¶íöØt›öf¯“«CˆFçÀî¹L-8·“‹Öé·3gÏa€ïXQË>¦Ÿ9À8<êðÞ@z÷k{µl×*û ÿì¤Ôÿg`oŒ¯åHáp{Z©ú' -€¦ÁæÇ`E0€`Pÿ€K –¯@˜¼ÔJÿ4N -ä‹~,¶·¾¬l]A@ä{}ÝÓ£vÛŠ®ÚÑÕ°‹ÒƒÕU‚mC©.­/­?¯U=)%MóÁ¬]\kWÔl€jÒ¨T*Eúì4+F%K àÇ‹‹3?žy+1“12悱 Ú^©]’¿hëÕ½Ò²NöêÖ(‘È;Ñí¶‚´½N¤Ç -Áò¦Ì Àëˆ$@t››PXèrŽÞ7À Ü|ûM~ª½#˜¤Ç¡÷€úÇýƒ.ð–/ÓÁ¥ö;茟+1&¾»û< rnø3‹‚Â~:ÔÒ ¼û1D€wÞa)à°3–úƒ8Ám\ߎ\Ê bé;Ûìä8aÌ |ýÅëÏg"úðwý?}·¯¢ümüoô—(^"‚z­Í‘V– e5®ÆÇ*Z+44ì•° {pÈÊh8̉, -Ç‹ 9JvMIqïHÓоb}t㙥'†] }š^¡£ô„LóÇ3QQUÊ lü‹©™¶ÌÞ~l8#žÿ8iÀûyz’öc<‚Ûør[•}b(XëcÁÀq\e—!,øy´’†Ùƒ#àÿ#Õèe´ ”ÁÊ{ -Õ5ÌVAU=»R¿¡“Fùg#â·;^كʼ› ‚Ø|Àá®G|ŒR!Ï“~ìâ&¸Ì†Ø Z" t s v - „žô‘ôI=Jÿ9¬îuz0ùóÀFÿmÉmF;v“¾\—8þ€žãtx“‹f€”[uyÆåƒœT'æâZn+ê С'‹J= €Vm+|k¢Ñ8=¶±ýï«7§×¤X–_Y!îK€'ÿ÷+)ÑØH±(& t1lž^ÚXÀÔþ 9a:¨ò'p¹ žýóÿ?V€}üÿ ’ýòg¡‡ü‡—“ÁŸw,–Ú[’¯"øBVÖ-Ýê æêÜØÎêƒw%ÝÓÛJuš!|µ½0kš&<Ý|’Pg’ôz±`Âl<©>¯VucͨÌÎÌ$nHÌü䃆‘™5ŠIÕ®ªº¿$·ëªâ}¡°ü篭&*ðñÝ»ûãnÿ¶ˆQÄÁ-Âýím(x°ƒ{bPàHÌ àÓƒüþ‚ÏãˆÁ7÷ÂùePòó¢¥óFíw|Ñ?Á9H<þá$HÀÏ`ñx~H0*Ë>ºà^\­‚EÜÆõß1eY†š\€r0úíüˆ®Ç“ý%ƒèÅP“IK±²ÅøÀÊΘX”¨z¼ k{1Ö—‹€ ý‰Ð9J5=1b#¶Ý‰Î 'öÄÀÀ:u7×”¤Ž3¤oÑÃÇ>Žú6±†Kíb’ãú9ÉÍY]¿ü’`ÿäì"àôÍQ¶Ôú:ô),öKqÙ¿Ä‚?<ó++ô®‚À€åÀó+pb^ŽÁ¸zâÙF‚¬„ùTù±0Xò“±Ë“€ÿÅŸj°°pP‹]ôüàUpXÞ«åïo¬[j1jµ£DóV󮩯νkª²Þ^‡° Û?%07k+ªO‰ -Tø¦¡ÇŸß®–T£7³‰ÄÚë oefˆd Ó´ôx‹^Pˆæ!—,Ïû:úR¸ƒ€>»€"¹`?p3hpt/Ày<Í}, h6Ç9À¾oèòÄÂz]ØÿÿGÝpÃP:˜õ+üéñÈߨ…GÃûœõÛ/ýűb¤O¿Zûîí€Ãý ZÁ#‚³ -€ÓÇ"%`;ð²° ¯ÎüCp¸` >°6p|Y†"ÒH| d|¥ñ¿hx \‘œ€ë´7ú¿«5¾áô;>Ó©ß8?éÿÀ.„€~Xzh,¶{jõ‘zÛ{#¿PhGp ø§zÈfúa?Ûò#Mñ ³ËÕGŠòGOöu£Me¹¢X•¤jYÓxlT<Ì£Œ§²rÀ äÉŒÑ%9ÿ”ºaÉ<ºGtBG &c·ï²ýpr2FÇšÖŸÔÔú€÷á›Á䯄öS¨®¨%–è+ä鑚¯ÃÞ§0 ÀWG¶Ãø_蟞ž^¹ß 8΂»­@è"Ð}×åõ¼L²°ë°k¿Ëñ€ õ‹1ÿÀâÐì - -€q' îûb/ 4±Þ!ü#ú§'>öˆïÀå½?ÜÝÇ -_ºéq€ ? Vº½z§àg&9*¡R€]§%ÕE¦P'g£þº_årQß[¹vppÖ?ã@d¼Aü?X—ŸoM.ü§R¨÷Ålß<Ý@éO €¹€èÌà @—Ó¦—æÙ!ÂJàL®„ã~—öõ œ ¡àÒF`õÂ¥ !,í=Áa±þia/…'ºŠIÀZÉŠ-È<æÜƒÿ°õÕ«’%ë†RšN­/Ý6ôjÜž½U4D%ÃP³úš±–¬UøüŒ"<€ÜH$žX|‹À/?@à-Ìé:€¬ƒxp -šÍ.€\Np6¿ø¾}±n/×q‰Ü 4d5÷…  -À7ë“n†Ê;žýˆåÿ‰È˜Câo -Ä”A‚AÀÎ%bît.d€Î~0Îß VüDÆV¿Ž  ßÓ¹˜- Y†%ÄÃÿ;ÿù:b”0ø2‡8âP¼c†éíŽètw÷ïótt¯+ˆ½ .P?êQ9ä壣K4`Œäbƒ4•ëèqß+½{qÖ)ü™ÛÓw üÿuññEãEpíèâ~>žB<všó+’øòû8,8¢’Ø(UVäª -À£6aõáåA÷ˆ¿?¤#†ùüî•1)qeØúTÁ-núûIò5TESgÚ˜îóelåÅÖ^¨÷ ò<Ÿ§È¼ÙwWÚ†ji%ôjË7¦ª( ETù}:ON~ãæý0f™‰J2i<Æ8Aëz—z2×p–âÕ¶ª‰zŸ^ kš± zªêQ Gƒ  Ú  XY=»‚ÿÎk/^ð.Ñà€¿–Eào[êá@ò1Y¸î` ¨Gên‹¼'%v!}1øŠ0H ôÙ,À‡ÕÃL (uúàÈqQÛ‰Ô£b0üþ´»Ùk:N«Þqx€Þt±&ÐΉ­Aœ€q?" -ôÚŸS¯G%?êÔ;-ØÿH -ˆ*Ÿ¾,RnœŽ÷ú'§Tÿÿ‰×ñùÍ€õõ…Ôä -ôLà X!üŸ§°l,MÝ„üÓ¸$,càÁÁÒiö¼Ô'&è_ëç Æ'ÅÀ%ôgħРû“gÜ& @-È¸Š€”bIŽÕ–¢RñÁƒwíöêÜ{³Õ/Úºü|)Å -€§ggnI«¶‘Ñ æ†Z)O’Æ:Õ'ÅJÆÌ&*•™Å_f7Y"†Q¬xv&Àõ:+ÊX ,—^7Ú k«&ñvˆEwy2s{0ç±ïA‚ò»Ÿò Èˆ ïùyñ €N¡;"äÀå=þz— D¾”ã× Ìc#à«nþñ98m_þœXÈ¥ÿ~ZøÿÙA%¿ *ú ÒïˆÇ? D„qàã»ôÆ‚H¸û1}ü˜¨Áv踀8àì ì‰ÝF„ü}†ÆEÏ!Ô^½òâhüÆÁ£‡x#@ïàç_~õß›œžrß‘@¶ÐàX=™0]õ,ÎPÚ° p@/¶ö -HÄáÆ0†Y;ÅR½RÜxÄ–|¯¢¢Mï+^)“Q¹ùD~By-H™µ*í=ÕÓ1M¯@Cà¯Y°²Ë5úJIÃ{äµô`H“Ü£/hm) qõÎã¶áùHT”ëƒÂÿ¼6¯(ªj• -¸ò0N) IÝR ÏS â²êÓ«iÁÃÂa*þé•óì -þBÎBàøè¸<7ùÂ…}0æ,±°ëº‘ðn ,® - …©€cÎú=n] -l‰œŸ£‚.×þÂhÑuÔÿ>Ûÿ90Üœ«;˜`ª†{lþQ»ÓÀä¦1 àH¹ž#Ù騖øß±ÓÄQ"h ÀçWÐ'Z’=%ð‘°'\?ŠÖ†d¹é:ÜÀ[ÚûâeëEí`Ò9>;;9;À³þW§goÿR±•Q,¿²’‚@tû§‚ªeec4Þ3¿a€íS£ùP`ª0…m€Aà”q> A -PþÂÒúœNþ —žL^b€ÿ>ŸÄ‡€$ô…ÅààJìU)j©’)çVß-ÖWÌIªÜ~B`*µT?‘ˆ˜¦ôÀIVÚÏÚTìWÌÌÃ4Ú•¢ ÕL%ù,QYËÀ°vcñ ˜¦éÙO`TÚu]†ß@.y¯m$Ðçu„FB?Ýpƒåû;Àl$RŽÊŸáÿ.ÕõÍNðMsÄ«—€d‚åñ‰n°]àåÓã ߯Íí]̼ò™Kì!Dÿ´hÏï%þ!T4xÐ~àåå©Ã Á,ýïðû¾\àýÿx'0rý/v ` °ÛÜÙ>€Õп&Gø1'îMtq‰AAÂGᙨÀÄ% ¾Àm*Þ˜.ŒåLøð²8ðýç…º€Cp£|$ÎtÇûâÃE/"lI4Ž -GÃq€¡à" ~gÏä\œ‹ ‰ÿ-H¬ýa;ã5‚y2À#:Uk 0Ã|õUÈ÷·—óÕÝßnL-{ªe˜„ê„ç”õ³ŨdâjIõ8ϦÉ2B€ -*‘ŠØêzÅ‚_͘XöÐWˆyæó*(Bé1ô„â<Õ§ 00¨$)X@ ÄM3W-«­òN›E4 ‡aÅRƀT I -ÆžpË^J9†­?ý«æü{ÝL”'„†ii¯Àwˆ7y{®#vî2w]‘,øh_Úä{ýÀè[ìäwîÔýVÿPÿÄ©³PdÔ!@ÀG?‚å¾nÚI»MWꥡØ®d7áä}RéÅTêÃ=`—‘8‡Q?ªö ú±/Ðw}Éw:nèä$‰žnέõjµ½ÚÙ^yïì¤qƳçç_Áð&…¡È¯Œ6R£•û±è—ýmlˆ»V6R󸜶@Fý¥@(``%@ãЩ¬gpzy@PÑÀ6\ïóbà³pÐoòTl˜ ]€“Ä€þ¼Æ*I-xsí­¿“ÈÊÒºRjÚžµ•¢«sïõÕwH%Y×奥õ©¥’/%ué€U§RTM}-¾¶–¬T á+Fr¡z9 ™L¬T’3×ßZ[»ñó3XHV<ÇðÔRi]WuyOÆ`É*•”×ÿЂIÀƒ 6ÿˆ1€Îæ¦@y°Ïp HQýtæ÷MI€wÙžƒ{@Ylÿ«ûÎ×}\ÐGBý\é§_.ä…°ApiR=ãOC´Žñ &û0tÒÛ‘p•0Ò ˆŸþ“¯±…›,„£€;÷v&èNôÏD„@ÜÕC‚üÖ½7`ðï‚ àyÀ½#H!üá(h¼˜8݃€¼_×.8ÄPà9(³ @¯Œ—(‡ã»ÞŸƒÞ\ å˦‚5¢Ì9píH  Bžà7¾`û»¾ïã„lˆ5è\«5´2÷—Ðük…Ê¥»¦ªJa8\õó£ù d -ÞMdxF‚¿W¥dÎR!VÀ?×÷&ôbj<W Õ'ûŽúõâ<\À°SJˆû±` (xЈk¼Çž7àç™Çq±#HUe„ *çp4¡ æübPØÈ®z’¡ò¨W}ú¡är­ 7 þ×®(ü#¨Á €ã=p´Ž'`æïr€ÙnÀ:—ûˆr£9Ò=ljˆÕ»u—Jtì ˆóÀ8ñߺØÈ7[Aó¿.П˜@ýØ€º˜D€Xþ޲ÞлYp{Pú%7íÐ5X¢¹4•þˆšul×íaã¯ãúnÏnI¹Žd¯º„ôŽ‹]€Ñz”¾[ËÅ•N—KQ×?uí—_½ô ú {µêÄbààôíÑÈóÀÒRÀFDò, ‹ÈýAÕ?N -­`ec¬Læ³?$€Ëi@_ËÚþ}Œ¹ôñWZ‹ˆ—Á–àɳ`KP?ˆ ¸ú`]¡·¶d[u)jFç~ú›¢EÀ.-UU§X]PgoÙ·¤UÝÎèX´ff*q½b" ¸ú¼ªVŸd*™¬YÉdf×Ö®/ÞX#4ÍoÁ@ @icÊx]–}¯Ôö××_ûK;KÖ^=€äònvv¨¾…€pàþ7Ñ×G €ðüuTˆ\Šãåò§÷Åø_Ð鿜ð¹ˆû'ø¼"ô_(¯jýtd,"ì_äõ1 €>‘}a6܇"9ã°ÃG3Øß˜ïãCéÞ`€PЀQú1`gÀ¶HØÞù;¯œûÅœ``œì îÁFè` ƒ AÂˉÀ6ðþf‡RÁÅμô€Ë¼ ô„×_9ââÊûL5„'AìkGô†ó˜½®F\HÂSð=WãבXmXƒE®Æp ã=Zû˜Ü“±HO£WÄáhykÎúZR&ˆå¦7Úž\¿µ`•<Ï+©¾"[ƒ„ú‚"†µe˜ñäU+1d÷z -ôx´“{Š—4ˆ!´u]LñS¯ž²óÿy†ô3ìÕNÙØBx ·AF òa¸`W’È_(ò%KŠzð@°­ÕïÙ·×KêÒúZÕxI/¢-š†^€ ð‰QIE[j%SIT2FeæúbbmñúL B`Ü2<ûqIUýuËQ«{ -¦|}]~ðJ` ö"Ø„ ®ˆþm¦ ꛬóð×ÜoŠ=¼þØ,òüN¾!U|˜0Èæÿqýym_ú2þGÆ`ÌÆHßÙB€#‘W—þ]nÿ_z‹ƒš_È¡É ˜€ -p(æƒÑÀK™ÀÅ:aì®@zçmïlsB@d×¶1$¸³óÿçwð™Î…@pA ºì¥¼Ç‚À=Ö -´º!º³j€cøî슥D|…m¶ Ô„î˜à)»º÷øøðÓ¸rIA8šPàh;Ҕ虈ÓûM¡,.fÆrÈ„ó Ñ?ùò{LÎÃ:‚J -ÀîÀ#ЇŎ*ÿ~ìè)Uø·5xó°‚W¥8’ý¯D€lÀŠ'óbÅ2°S8™Ì¨¥¶ê©mvçc€F¯P…’ªxˆéãõ@z¢R1ys eÄK%H§>¬`££e¨dYõ¼j˜j!Ö§¯W16`d2†ê=²€ù}8$‚æÃ8 7! /`[q¬_¡A±tvUçµÆ‹=n¿à9€ãcî c?^Þ,ì 8€Ì×;Ü{w9¢§Ç@á8hl–@+PZlõØ[Â÷‡,àú1 á#¤·¸õ/¢ÿœ::ܰžŽt_ž°#t™v°é7’v{iNê8ôêÎIÍfþ]Ž0¤çŒ¶ì}Òvš.Ö#LP$úH´¤ˆÞä@:ÎÍù'½ÂÏ΂  7KD ¿°ÂÊ~jgý•KþtuÍ€ §@rÁÆJ~Ü_™d €y…Øå;ùJ ñ‡eÿ©‘À †NÀ‚€Ãê_0ñG+vÄB -{s€¿ -@)yD|k -Àꊖô`.ú<P]¨–ŠÎ-Û¼•ìä‚‘ ¬7âÿÑçUõ‰ú„ðŸ^:ŒÊÅŵÊâÚ5 ‰˜¢ä’m©{ðü–Jíõõ×Z_^̰ Ç®?6ÓwÓÍfgg7± -H€@š¬t¿yÀ>£8Ã?wÿ¹Ý‘iv†È/ÚaåŸ÷J¿>Üé\ìn_Îû"ÀþX0ˆ„ž¿íÐ+Aÿè0 @FïÆóѼ€÷¤÷;ÛÀúÀ?È4 xÎípCÀ½ O#¼Yøu€%Àÿ€>ž,¾7Á=ñáigB¾¸qñ\Ýð©„Ê0>Ýë·wvÆJpˆÁÑ@|vôÙ`Àïô¦àÚÑàhLèúÑÑ%ý€w"ñM, 4޾ß‘Îû'ýàDŠ~É@Á’t ¼ËOÑ €ÁüäЊ$^¥¤%Ü‹ÐÞR±’ÉÄã†iÆŒ™ÑQ¸¬i#±Í‡£ý4ì´‰°ËA¸¿†Ì_ˆ(ü•ö2¦àöÒAzÒGS@52EBþxÒPKžZ´´Ø«è™y í†Tþ7x!šDkj E©]áézIÚ{ñBÿÐ&üóä^¹lð™`ÀÎY,ðC™w£ -pöD± ‡U€o -r[9–öXýs@½.fþùn°Pç± °Ç"€S'èü£cßãúŸ0I>D'ÚÉAhr:€+2€Ò¼ ‚Òˆ¢Úßna— Ÿv¥ÈG9)âDܱÔsÙgØŠvé+H=лç×ÜzÎ:!ìßk°ïþ^xú¦ €hŒÿGbܶ¾ dMñ0 66R""pPõ¿>À*Ü’ Ü%€žøšàNôÁÿëÃô_¹6yÀÃ~Âp&R˜´×ÄÒ`dá)öòWž”¬U›jüU(ﮚò:ZLž¨%S7o™’4kÅâÑüʆa<12ÆBѨÞ&ü×+É„YÉ< 0±v=q}ÍÈ$’ ¦YŠ2øBvOå ÂѤQm@Þ¿‹å?9A:ŒùwÓ0ì×þ¯€‰rù›,aU ©€«Þ=L^ªúÅ -Þ þ\€ÿåéþN0ï×¹€ÿmq¤ò —ôLò‡ëˆE\³±&˜“„Cð1¯‘Àá×a,C®ìñØ€mvùy‚YÂíÁëÎvd܃ÝyE ø«§®`ÝÓ/uBÚfîDrlZ ž9òWžï/Ý!žŸOƒî`|"øÿìhðÅÍî«Gƒ‰Áå.ÂÑ…A´¸1pòm1‡çÿÔ@¼€¼_+82:kïË£ŽF©ßnŒò0P½’ q%€^ ü%3„ír²RôdÏÊ´‰¨Ôí±Øp˜âeß{³–O¤`¨””ü‚X€ÐË L$ðô?ÝTðèÁ0/=+®Æ‘òIg5ÎCþt,<8ÀZ -Á¸?æbùèö -µ«ûRCM²'ÀŸPØ à å8?±¾gýœŸËµœ–X Ðu$ ¸0v‡Ä`æV¯ÎÍ^ø2Ôêã¼ß`Ü/ ­ppŽ Fzõ¹àXà@pÆv'«ŸË‹€Ü\”>#¡Ä—æÜ9GêÌåÐèÑ£{v+Úr»s- k‚è;ÎEsõ\[²¤nôe4Gëä(¶ÔòÝœ_ó_(''Z Ù?t>?Óò ÷®¬„9€¨ê9ì/µÂ÷–RB˜ßÚº¶tg)l -bÇà þå–%¡œ\J¸¼@p48ˆà}2_C`Œ=€!8å§"FPMðÑX¿¸š€N2Zr]*JÑÕÙwô`Õ^ZWõ@ˆWU[¿uóÖlT*ft -U÷⤛FµªêªZIf•ãܨÜÿñL‚ީ܀Q²ªžïÙ¾Š‰ß+ÕKþ뙈ç翃 ÿ½ @"ú¯ ˜ËöCøßßä™~ |ÃÏÈ@áòXhË"dh\½o‡õ¿à8:ø•ýè hŽ¥|_ Ÿˆå€H$\ ]þlô]~±ý%>×ð<'¸¿7äwÙ Ü Ûœ<0ÔÙ>Üæ®Á>1Q狚aügŠ(B8 E£õÿØù»Ná·½s1¥¹øÑøbûâÇ_ )ÁÅÏ,>^fƒÁ_?À‰¯O ÷ˆàƒð/þÅЀp4æ˜:øF!àÏ“ƒêSHšÑt‡5ˆª¥†X$œZN°è<Ï -ïÞ@a›¾ Èì¯ X¥ocD@i[×Þ8«O[Ö–eY“‰»áÖ£Céóô‚7ÔþئBzY\I¶=­ÐÐ,ì*z¤7MzA {<™£>ï%DΠ\hp 0çÿàÇ¿Z­€ô‡“þþ'ÇdòÕÿ/Øp,¶•yðøm€ ‡Ïr½˜ÒoÕ»uäGq†#Ïæ»¹ðÌ>A‘}„‰‰`(к þ-Žü .[aø?G²I¡>çbê°‡Nï÷%¨`Ö/ÝK»M'¢¶ÝAƒ×•° ÀµÓ6|‰ôXËm!H€à}Ó™ËI¼×Љ;vËÆ·)¹Ärn4*ùvËWZ/kµƒ2€0ÿ„~uú€€©ühj…p} ïTÛϳòŸ@´6x`~úÃ̯±ÕXYû05ɆDÀÁ_ÆÁ}„³}ÄÅó`¢0N>BѨø  _{S!?ЕK~4ªÔW‹’¹ºúÇŠ¾€Ô–hXÅ"ÑYÂûä‚QÁêQÃx’¡‹¤^}."€Å™µÊ €LÂ4MCY(VKªò\qK:HVûµ$ ÑpCÇ—ã`Ìq*dzèýé}hâf'˜ÿg€@B8*ƒPÙŽ€ÿ î3Œ¿¤è‡XàZ( Œ‘>$á⟋ËW~g y!xŽ÷WŠbA„¬Ä6Á°åÿq¼¿Z€èÁàa`ÜæYÀ{È5¢¢9¬âw¶YSH‹¾ð9n‹¯%Þ…!nìl‹¶w"—OÛ¯ü‹í~g%Û",rl_zØëO~ä’?¶Ûlÿ'ú8Øù#±ºþq1p#bÀ"Á½ñ ƒ0&°­@4,^Ž03Ø øÚ qXÁ?y/àìüh0ŽŠ¦=¼uX#</Sù¡âù¥O À X÷ ò€×ð ÿŸj|Ëh—0‹i^ü޼Ì'±+ VÀÖ‚æ=Š·edžktsˆ¬AU}äÁ_˜1Ô¸af°¬@·1~¶xÿƒÊÌo$2•JÂLèrt¡dU}O æ}@©ô;n XØØé2ðÀð?DPù#ΈiÞÄIÀõG|!àŸ'ÿEøßxëp',ç¿væú…ˆ©èÍ]ªˆE•;VÆé«Dvz;;9~ú¹°Þ]îï\æÁ“ }ŸGöÿýððßÁþBÀ¿£@ïÿ.¢ÿƧEù/vîtà­?"ûºú0L"tXÈûÁdÿ¸c˜Þf½ƒ›㾂&‚ÎpfôJ*B8ÉnŽG^‹’J„3 -ÿ(F"w··ÿ‹Þþø_tâ œ>×ÿµ#t‚°3qéñ^7ô# îæÂ`:ïÂ*ˆa oˆ_Éÿü~€/™œtr{½‹‰­:±ÛŸñV ,Ë…GC4þËÞ@O€•³üþ@D óê#nô -ñ¸Z¥ëÚrj8J¥@ÂxÎÂh_,†àa?¦xàûS<˜ -‘¬øFQŤ` Ê>A<Æ y"P>…~¤À7täÄúç±2Uÿ1ª›N -åZÿ*ÿ[ŸŸˆú¿Q.¿¸€ÿ †~\Ù›ùý/…Pìfó‚€^N¼^‡]y=ăà ~çä ö€ïôð‰q05föë~Tþ°B>¨÷Pús¿÷ÄÔú¶eÀQ—·ÛM§i§´ÜŽdG£v[‚:RGrÝO:N¾Œ[w[=*îq¿ÝñÓè&PÁ=ÿ{oÚVše‹>@\¼“)hc„’ ‘ÒàæuPS@AAG6RKÐGz/xЀœŒœ” -õ½X3…yâ´Iûúª,Š:".º&nƒ(®~ …1Í“/ãû'Žˆà1¿Ê‚¡âò/»’r Þ^{G’SIÍÔ¥§’ªÎ‘,K²¬8J¬½öÚk¯µ k#Ð-¾ÏÞïÚ•l¶²UÞ)WŽŽv¾:ú¾=GD€ìH|Wâa ˜ËèqÄ›SÓSMF%F -%ž,(€ƒ8;(ë?±âò½°£e?Yzý\à?A#–ùqõÇ¢ æ.ÀáWPW~)“™ÐX`N.ég# úõ%êþ3‘å0¬‹Ñ‰H"bžÓæ´I3M܈N¡©;ÄëïN±xáN0z±úãT´85ûιÀmzLâ¢]0Í¿+¦&>›°"ô¦ølÂÉ8ëŽóø¹€]ì6¥â<ô78eæÿ\n@Ô ¬K"@­.NÀü«ç¹ÿ÷ˆÁ +öÒô-EÿûûSÅß½ŸËÏ{{]NÛTõbî”&NšÖj~ (ª\ îrjÀ.cTýÜû|‚ àûïƒ \°›Ãwï¢øÃ˜U{{¸‚'£Ê»Ù–בýr¼…H»Qô'·Ÿ÷Ëù`mAü‹:n2[ÕñïË!Z‰ÎòõN+6\~l®ûîkìè’Êÿ­Í/n}ñoÿöÅú -|ñÿô¯_ü“ ¾Øü‚Êÿææú)‘‹F^\ZD`$°w~dm‘%ƒ½‡(ð˜Z i¡«}l ‚ï¿&û¾äLø„ €¼·ñ›•Ÿ;*Ö먠SóM}9oü£›Ÿ™`c€À£‰Ô-;ÿXô?ô‡ß»ï=  øóö>ŒÀ¥àzf!(q¿^aæ<“3—f²Xë€åhü˜3u0 ~~[qõé+™?ûü‚ðõGöü<ô%×’å‚%ØßN~x÷»3™Œcj ©kiS[ZºIiׂÁåx铸rñB&˜ˆ$®'–tÍL¤Í‹n‡ -Å;à.fŠw"Áh4t.!à'…·fC³¡B(”¸q1:ašfë„:Ë A™ç‹ne`q)Þl{d ãz/€çþu‘"à/Æ @{/ûâ0ÀǨâü·ÇOéõŽlûy{ƒÅ;oïtÑj=Ó¼=”þŠÞÞ!9­ -QÛ3rÃÓnŸÚšW®¼lÐwõÔ\@xtד`0P;€ŒpzŸ€w;w7©ßG¼'º}ü4±˜ÎÀ°ò"aÀ}ÉÂP@ùÊö!¤1+@_ß©at€ÙC.ê¹ÚnîÁE޾ Î¥SÕr»c®á1„jÐt©H›£jÖ`Ã; \6[iï­ô-À€õõ/nIý—Úÿ9î}qïÖ«›·6W7ÓÃ…!Ürý ”˜e“Ñ]Tì$ Œ¡RŠùÀn½ƒ´DzEs0YÀ!rY¿ÖÁ—ê>çr5þǨuÇX¯ïÒWvÅí€Ç -§¤£²Éá«JõßKž0À­/Öo}q‹Úœqú‚nÝ»wë~ú¾÷~k•Ÿ 64LöŽî¸Cõ!ü›\m{†‡,ðxçÇrap ÝÃ>ê<€døäÄ/’@Ÿøšâ+ô¥C ê«‚\ú9¥—Óú8ˆÇ—°RàïäHBüÑðvv)ŠŽH–9R(ÉL'¿åJHV'8µ -ÂòÌB$È"… äèˆø-±\-ƒÀxÕiêÿ·f þãú¿—ÕºÁ@8yžB ÈrÀŠ8ûW¤‰çEýRÛ’…äêj¢i·ÄÐPþ}|2x@åË ' Àæó~×íÍÿQóYô‡§¦ËžM8ƒnhTí1ˆÙ1S÷¶*š]«Äà Ôó"äÇZ¢æ¿f/Y ø+ô§Ø•^#Õ504Æ ½MßeXzE7̆ecAÀhë4¬ŠiTŸvgÊU€Øaà÷}„“Ô²/‚ý?Qö¾TÿW` fÓß•yÞ\äuÿÅx~z¬9_ÊÏçKb -Ä`"W•ïËsúªÕ¾çmÞ=vv8PbûøÜëø¥,Ðû¾G€ïl´¸T‰¤,}"µdHü?ë€õRx@Àr~9$`¦#×ç–LíÆÅÈä ÕöÕú(\.B°‰Þ E§±x®p;ú =&}åbâ›òÿ>{d‚3ŸM|6‘ -¤R‘çuêî  Í¿ °ã-¶ÿ£2¤ýb5¹¶‹ÉÖÀxg_¨ ï9)¹œ&$}hOi׸õF¥úÒŸ‡ü=5ÎW¬37•#Rtn1Ûjü,ñ;—ÞŸõ/þî¹uosUk­Ñ?1ý®‚BwO!¡Å€ðW=ÜÁÀ`L€ûÓqpŒU:%Jî'©ÖûOÞ ŸHð˜8•óúòáÉ¡D˜0!À¤>¢g`@õ¿|ÈXàÒ#‰  ~ÿ’ßFPz‚ DAC—Xxˆ–æ)Pðút“ãOàùSÎNd/Í–«‡Xò¦ ?ÁS–ÅÐÈŸ™é¿ò/,÷ÿ2úßRøU» -¸<k³# Ê˜×Ø5Ú09` à³Ë ØøQ7îTk…0û·cÀ\òéÛÕxÁVÃijsóo³ÇÑÞÄt­×¢ößKŠÛ§/›-ÝŽÉv`y»au Þ¨v pÁ£W¬vË®è ËcÚ ÓÐè¹õ2’SÛÕru+;Ç_=9z -@€œx"-ÿbxJjøÝ|`pÿ<X Ïç›—ócÈT*@Bál„‡kù0€Ï.‡Ã§ÀÁ71ÀiO`œeó¿§ #dvH2xu€‰íÔ:€Ã €v=² ëÁR8]Ž/çKáH´˜J¤­ëú’5i^ŒèÑàÔ™` @ôÎ/‹‘àttòoèV±ÂÀlh¶P¸X8wñÍõŒž.3 ™‰Œ½PÜÎ0 È83;/˜€àzŒÖ#zo¬Öaž@õn¨á¯Êxá—Ûó(—ƒ%ÿžTÿž[ú‡ 7¬U†÷”»Í£|Ú&WLôŸíù¹ÓWÅ^Êþù‘OîáQÐä*;è)“ïp pW™u”ö¯ÝÿЄgóîÝØÝ–×Md -4ò„Z,|Ä ÂÝ:{ Ðû‚¸ÞSõGùçÎ<à aU^ú ÅÐ ôû<@ñ¯£ö³ Í5lºrÉ¡b«dj?»Éb€[|Üû‚ÎTþÿM”·àߪF/A lH­³ëJeåR!ˆ¡:`Äuèê£S¦DÐexÿ¨ÙŸõ%ËœäIdÀ!Þ·¤§³äÁD™F çò}ˆ)þ ,ÅÝ«úHòA¬ a~ã‚»=¥ßÝã;‘pXVPj5°”@žc5zN£eÔ+­JÌÐ5B.zÊNi„ Ú¶£ã;mC7³³›=Ú®V÷©û?8æ1À˰p -‡Ã@ˆ‚¾˜tã€Ã+'ì (V+ì'0M•? -€MdÀ@xâ—‰™ß¿dp0÷;Ô<à9”tðô äð¼²"ÀHjÀ’€uǼ®—Ñðr¸Yò߉fÜø¹¾dBˆ€t!I? Þ F¢ÑsçnÏ2ðÓŸ„·/þ6:y'˜ˆ¡È¬…ÈL&0áGÏÕ`ô¶°ÉõØ@¯'^54Ÿz‡9* Ôv²-Æûýž­€Ç,—æz ë§Ò“?Å%ù‘?ØðýtæjâQÂ=ÏV{tù|XâùCÈýa¼ž0{óƒ´½Sá¸[îM…8¨WÒúÚžö@àÝĻɂ¨µ­Q_/çÞuŠÝU¶8 °ÛñŠë»¡m(!Aè鸼sõ@…¯w¨ßÏ¡´KÅw'¹]úÒn'ÿ¸ÎÝ?·þŽ4ç/:6Gzö`Dpët€¬¯¯ór€,ÜÛL{5ÉW‚\‘#¶† C© 7O«O/ ðUzedõ_Þ½Žž¨7 ìGÈʃåb:t5‡‹IòPÈ{*äTªýþþá {/Í€àø;\ñc«ð䄟¡ï;DÐŒŸkûÌpŠ-Ñ!G˜©b¾ öËÊðÊïGª»£WËÇG¯|Ö3¯ÿC°åQ[ÀÓ`€¡€Š?.¶=ݬDû6Úœ¡ÛC£o `Ø|Sðî·L×!ÑÁï¸Û€âûÇ@vñ\–Ú0´U˜¼÷á¿Æ$€ašTÛéŽ×zŽj!P§wn*äu+†¥>6A ðä]ºôè]»A¸@«|°´¶INCóh¦N¸¢RéVÚÎv6»_-ï³ 0Ÿv^%@ø;‰Ÿ”Äé%Œ@À+ÂÌCÃü@ŒKHàE@Ð32`&^ö«éÙ³Àsy€þÎÎöŒoð›àHt‚î¯d?)ë¾äÎ+ 唕±–Î5mÀµÈ„=nfâáÌhJþÈT&¨GÒºv-­™3½sñÊ[…BPˆƒwÖ£çΦŠÅÛÂüt6t»pñ·ë‰Èß½y«˜b`/¤fœ‰Àg™€“ <ïÝøqy0@Þdâ¶'¹XäM€ËÐQ j±:U…–WÖ_ìˆî}ÐÓÙˆÒ¹ú¨ýƒeÐÓác0ãßDÿgIYß|Ä颖g÷ÜŽèX*þvK.ªüñ¡{ÿùSt°ËÙÚ.±ïÝ„óÏÝÖÐGX(8ûÜU€^•» ðˆ9zÁ¸jon*‰Á¨1 jõ:ulÔ€ÞÈ16ÀÒåî.fÜê〺ðô—»9I9øæ"àÈëŸÄ€»Þo@„ÍkPzóÖæ:+þ7]hp‹îÜÑJÎÀ–¸Ù‹Ï‚€S†°ùc`¬}}~ËBU€©ýá@¨DzIW¿ìëªÎµ¿ˆý<@*Û œàÇ2K¬ÛÀg÷¾>¶û±Ëן¹4ÓDž#úÄ/Êþ>}Ý_¦ 0Uåû£ˆjþ±»Pþø1+ýý¦2஋‹ýÞ‹·΀î×AÇ“ò¤íTƒ.*ðÕQ@NÌ(ö^qù¢ÄV ¢} ¦$øO´jëŸk¿@ÓVº”Í?ÞþÓm/ê¼ÖÓz^#fé·þ†îÕt*ï="@Œ*&Ì 0tpì®ÝmxZTêZO7b)ùùݰK«ÀEЮéŽi6ã©ìmïgQÿ㎾z9Î\®OÀÿ—¨˜Ã 8 ¾1ÀÊ OÿÙ x‘Àñ±&L€TùwY„ gþ|ØŸLÒo‰?ì§'?¿ä7%€ -DŸ·Ë>Wèjù×F̃]à• öB¤>á,i})}í–“¾¦—â0ë\´æ´%Ë4‰Äzdj6„4`x(Þ)#ѳçBÓ‚$0u{vöW¡D!zîÆd1˜ˆ@ ìÌ™…Ï ©À£çÑñÏ -¼p'´<½÷s& KСTrõ:*PT÷·„z™ÉWì¿rôZÜüo=TC]"öæ_fÈÙ«Ç_º•ãË㎫ªö=«JwÖM«;\'M>‡àé.Ø«~Èëé -|¨È€MR¶¯É{Õ1ßUÑ…w7yÿß« @gw·åBÈÔ:¨ä»1• -h¨âˆF/!Q9Ý8“sGÿïçÜ€;ÜáOu^d~¹Zmw;˜õØ.Ö/c»âظ©È1 -ÉWôº~Kß°.ŽZJ,òæ3ƒ#a  )féPø“\yá³ÁˆƒàƒÍïÁï=Oܦü”ƒYÒÅJÄ ¹ ×ïCˆøm -‚È @Ü &ýþXŸ&E»°§Zÿ=?çŸó4¿å1¨ *€»/t Hý!0S=D$šèþ !üì˜û2ÿ¯*õ_w ý¾';zt¦@Ù=Ïp3€…_\8íT[–÷ÁÞKé7y   €­¥E`Jaï±OKó+Œ «a¸ù¯1˜ -0ÙoŠö_Ïz^[|€bvK«Á%Ð Þß6uQãéV¥Ö¶Åoˆƒ+½®Ù¨Aôg[5ÃªÔ àACkX] ¨èV¥ñ´ZÍV÷à¸Ã½ÿÁÑËI¶à NüYÄò?Î0^YI.JÀ||¾9–χ–4@$™Pñ|I¢Ó ‡·ýañõ{N$Ðp`8P;0üS>è+ BÛ¼àž^ià¤S}9¥ƒ°—"{I/ÆÃËEz•‹¥í €™Ó—,-=€ Èý e¢Ñ§g¨þG¢iŒŠwB³?!úŹۡÂÅ+¯dtzÄ‚©gy‚Úÿ”óhç[f›moχ߶«ˆ‰Ë‹GÂ-ïfƒ}€^ô£ÚÈÖ3ÊþžÁU´ú‹±éîðí?þF×øøàè1ý˜T«ª—ß6÷[Ré=®ªð¶†¹¶rEɆV0¶ÛŒÚjÜÑŠ±/ë´CŒèØw°£Z–ÿŒtý9túul ¤¨ój`§Æ«ÿ¼êWß…ƒ·áÉ:ƸwðKuY<„Ô€”‰@+v:o¹åú- KýHÇ¿¹é5ÙÏTßÍOXãh¨]…>† -Äç$<ÞÙù‘C€ß±BÀO“ÿƒÓÌ%³ØÚ;1€0û—8H}¿¿z(¦ýj”ÿÄ÷¤ ’'îà2å=ðU¿ex Û¿þáUdû”¹¬@€î^Ö#`KJ}wk¤ówñ€g{xœ6vB@ÞâcÙŸÔÿ! 4ûï£w‡ž“~™úc= Ù7 €7l%+”'Ð`ùgÚªÿÇÊ¡†ÞþÚMU¿€X%†€Ø’d@À]ëÑÃlø `áÀ1²F×öØ ½ÕÓ-»fQï_1[ݱS ÍÓ£o {¬Tê)ýËåýþb€1øþêe”DЖx_UúOørQùfÚÿü|8ž_Œç1.óC™àk.UÐ/ -pØçûæ`29DÖª´ó厯_–_½ƒÓ#ƒþhùO&¿W àwN`!à˜©GÚDjÉ´¨È/E&¬kfpùD@ÞŒfRZ"¢Ï-Y 0ÁHâJèb €3ëÑ?¿ŠÞ‰ÎÍÎn‡~u.t{*º˜Áb1ƒ„ÒH*³=á 0ðàñq•sz2®Gr¢˜¨ÕTëc?æ ‹y’ð"ÐxÑ@õÇl¿áEçop¿¿Ùóªº3£½©ÖDzßb-ø˜ÖýþUƒ±>süU7¨þ1=`o«:€UUú¥è¤ø†š\ÝS‹ƒ²ï¦Šd›=7˜@@ «~jpuSHÞèäÎ@åGW¤îФ &ÒÂú.ðÁ™ Nxßöw\ã@5}G¯ß!d€W»Æà ,  Üp5ªüçx[€9‚š00(‚@%Ä´VKki^œ]éà¦ëŒ<ôQNj¹wóY H‡%bXP„"”QÀ ŠaÓ;´joîüè¼ùž ö?Ág_ÿ‰ï¹¦fOÐÂb‡WÄ¢?@•ý°_ÏÏÚŸ´÷tÐÇÑßÑ!Uö£þ±D¼U©¾¿<Ór¬€ôýbWÐ?:þatÿ;_ö¥þoaÐÍV» tÑèo1ûÏŽô[ênì¹ ÚÄÌÀãi¤x¡?E=¼%BTxÝ4‡(@³mµàNõ{ì¿añò˘°X ‹–i+!®jÂp£ŽçÄôŸÞ/M*ç-À¶c}•:;Í®Ùz%FuÞD z@€n%Kx£æ±ñe»‚#Ý'@Ïìj/º™ÒmÇIugª° ãÿƒ—4 r¯|€K2€€¤¢’Ì €ÕÿóTû9 ¨YÊ—â‹'‹œšá2Í’_dôi;Ì+{¾oÿ']lŒ NŒF €¢ PýýÉWWàdœ@&½žÒ&f¬këkÉ!`T,Í£™ žHëK×,-=g&"ÑЕPáv°-ÜHÈ‹‘H:19›ˆ^ˆNÍž›ºÂ º’ƒf"ÀÏ2ˆÙdàxN@pÌߘ`A~ÛÝÖc©I5`€zG1¼°õ¢¿ wĈE߀ÚL¿tüÆæ í—±?»Êîí}ðïÍ?Þ9x qäœM[ݧâºÕüòØ5§çû-ö¥Uõ¿: -¶†g°2ˆ%AJø`€ªÊ~O]T·ª|XÝÑ*]€b<ív{ ¡¿ Ïvï¿+;ƒ0ýƒ+ÿ6Ùô€¥þøÈÁE²Ó’]À+ú7T¡4ò²ÒZÆTQu_ùzý =eõuªöãªÊ„Øà¬FÎkBí¯åàÕ@wm€¨åbµ]Êýš¦Õ´ÕZZ[K¯j«÷WéÇ=ïjzSózÓi¬~qëÊ:F.xŸY#á Ô€»ò#·†kw[›;)w"²œ7¤çr²º,!Ǫê‹VåV¦‡R÷Õ¤‚ˆŽús‚$¿' Ž}Çý£#Ô{‚„=Vð^õWÿªþoIGïéBÊãÁe~ÏÝ €PPA)ÿžm|ƒb@†» èÊöu.ý¦+ 0-5ËwÕüUúJ/B¿ÁQ=fo!µM`ÛÇôH þÓ·ƒý§?Ë{-£ezy<`ÖÌ%»¦Õè;õžî´èé4 ó"ã©‘ÅÀŽã@ -SóTzZEohÃlhQtÂf%›u²Ùjÿèè«ãワ^"8I² rÃ'aøûÄYÕ·wÀb.€¢ÿ_ÉSÿ?_YÌ# ° F@ŠçÃÉ0x;¬òóÛÿ¤Aû}ô[Vvs¿ùMI7Fð{Ö~W`@Åzde43¢/Yúz ¢§?!,D/0­pæF&8Gÿ]—þÖJ˜“ú\1šàà¿hôÆ:@æB1M'æ®.£…ÙÙPavꟄBÑÉß&¢ÖÍ °Æä`ÂÁÕŒvvöÅ xSôùèÅ…è±ýÏàØe@WÀ1¿/nóß½¿Z½1û1é¯Vüöªü/¼‰ý{-æ“/x¬Ž`@‘¸Cú"Æ®ªP´†, ¼ª$mn -$K莰 ÈÆjnõD­SÏ1Ø8ƒ²Ìñ€pTÌ¡ŸGï¿‹©|Ðÿ-WÆ7TõSóµÀs gÎÜ<3rˆ|A,…XYÈR ÀÔ7lŒ/}úéÚÒÚ§ktqimmòþäÇ«?¼wÎ÷ï­Ò§Ï~Ž~À÷î]Llmœ>Š…‹G¯ÐCCw=ÞÙù‹‚,Óãa@ŸçRõ¥³2•.ÇïNëã,ž½GÜåÃlà€ûzeA<,8>8: ìüÀ_4®ÿþWÝ¢¾¥”}x_ ›;ÝÝʺ'Þ -¤æ¿J[#k‚.}C–íF…wù¹ÿÿÈÝ4užÝ -Д½sÁ,ƒ™Œ d"©€óÉD`!“]ì¼pÀnÀ›Š@v6¹•å-ta£clÔŒ²Ù%¾óÈß0ý½M£§\}•¹';XèË2ÿŸÔÃ<ÃqÜÿ`À ÀVU”Õ€¾ð¡ÚzI.Õõ«.¾É~w[n¶pG\ÿ; -¨ˆÖnu_ìâú‡Ž<§˜Ôç:,6v;À7Ûè+.ðXUç…ßGu§ï;‹óÆÙ:ßGÎlœÝØ8³1‚6äóøøýÝï~÷1¿ûÝýŸÿîw¿øÝ/~ññÃÒñ¹œïщŽ{8ÒéÕÕ[«iMS2Æ!°éuC‚F„¿#YPÒÀVkç/í ÚüäH-<áÂïN)88p‰Kz';©ìTØ©à õOµÿè 3 -üB q÷“¯~ø5ÿÙúŸºÿƒøç+ç™ÓÇ{ÃÓô9+?_B¼›­fÝ€G.Ú@ŽGâý$Xî-.û¦Ò()Ÿ©©kî6Ÿ†N^¬þ©R›•óe³ÝXØÿ›.mà’fOúhšÝ³t³Fµ_«™5 ƒžné•Vʦ‚n;n%ûQרîu+m½gÇô ‹: -ì¬4Ðírµ°‚CU¸¿< ³ ¯ô/çyµo~qq@ÿ HÎÇçÇòñ•ùù @žŽfóB>ŒÐ€Ó€¯gËKÌJ \„|0ÚÍ÷…à¥Z¤\@×Ú÷ ‹ÿ³îÉQ `òÕ©€HäQ%øÈ$ [Z$°®¥? ‡——ËÌD3ë ÓL_Óµtz.ñæBQ?-b,F¢ë‰s¡Â…âTt64;5;õÌž›†®\ŒFƒŠ©‰…H Yœ g"³ýb -`Ô  ·é‘M@èÂûÏ–Å` -³Ëù@ð †àŸ_ð„Öƒ1çßææ_Éü=ø5õ¸x*Å_þgw‹OŽqô?ðÁp2 âüîNauØO˜}ƒáï{UÍÄy ÀQƒ=ÁŽðù’ÐV€jù.;)mœyð@•e4ì9Tç÷e”¿QGâOÌ¥þ1h!ÔÅÿM:=À¥r>3¾q¦ÎUþ¬" -6êã˜ÔϰwÀjúž†!@:­¶òžŠE - @+v÷ÉÎ_"'¹J%p¾ƒo>…Žž æcÀL'~äkÇ(ù?Ê׊·ÿ÷¶¶©zW±ï¿åÎÿûçÙ¢Rºßõ@> ~xyGšÿjw -€m°ÇÓmc -ÐvŒÇø¸–@®‚ßÔùÒ”Æß%˜“­r üãö_)ýt™ö3z0¨œ¶(lÞüƒm/•y,û‹Õ[ÿêö5êíu– ¶Uô*ô“e*Y87ºFÃôÔ¥ÞRE×ì%ÃnëF=e†V±t‹žÓé–«ÙJ`f¯ºß?>êy|tôÒæ<‹‹'¾E%Œ¿Wzoþ„ªø«ÑÿbòŸò—§Çâñùæåa€Åø<Âò%‚ó¥Å8ëˆ Ï*@dö†—ÃþçŒÐÉ#Ý·Üw}y‡m¸QòeûïÈWYÂíë2ùj€€õÀ’f¥£Š™.…%py9ïŸ(d* 3a" МÓ' -WÎ…ÒÔÛGþSÌïˆLÎ]AB0\ ³þêWçf§~ -]ŒoÜ 3N 2ˆ¤…ÏÔÌÄö )ú­ÂàŸÍy6y``k‘@îúÿŽIïå@öEF€ éý{ûµvc°äçÉÊVU~Ôàþñ÷õ?ûñッǿ0ðAU‰>t…[ô)Yà‡ëe=ôèê£=ÞtAÀ]å ,@ ½:gÆ´%k¸Õé0‡ þƒ›è  ©é7º[¸y:°1  è8‹¯cãNÿŒº.¸º:NðÀÕ2,È1<¯¯­Þ |?ÞzHçùòïA¼ý0ÀÏ>ljŽ70XÕV©ø§oÑIkòòº `T"8ôÍtü $¾‰Ô—R ²kÙÎà’Žcur“ÍŽ g?òãøˆéeý/Îÿ×—`àðé¼Ð ¸úgÙàÃ#3YP»˜l·» ìb™à# #ë#ÕùKÍÿ~¤ôëî$@­j}>,êÒmªãšuÿG/ÍÑ™Êôâ Gú!Þ7ŸÃò/©6ûâbœ\|7_|ä?µþô)<–ÿ%€±é& ƒxp„HúüËËË~¥è{fžp?‚þ¿,öX;É2oɲû_ŸÊ¿HhOm&%fxçëQ*⤵u]˜éå”À`b]3–6Gÿù&癋s³‰ÂTfÀÅlŠ‘t$1wåb±X¸}ûöìí+þ·s³… ¿ ]‰ƒie&"N ’Y8'³¼윚ìâë¾—c–-ÑôŒ„ pÃ_ðtàÚjÁ†ðm•'ÅŸ™™‚߯ù²þO?ÌÔ€@Œ‚ö¸ò+Yà‡Ê'@¼‡¯Ên/ücÀ»î¤ïo¼( 6B‹+i\-‡Ä?—•ðàë3ÿÀ×ä ÏŠ#@ XpóTæ 6TÇc€÷ÿ þs2ãߨËF€ƒt!w3`iéþï˜ñÿ{Pÿñÿþø¯?¦+Tûßøüó·?` -`u5½ - À'¯Öµq8EÙ¦Þsj20¨¨Bô4](&z(ù=Ÿn^ÃËlµ8V°ÂiCÎÓF¥ÛÈmCÒñÆ5‹MbͰ­gÚ†ÙÆOäéÚ“Í–«ûý/àçüòþw$%£‚·ÿãŸäYØ¿2X€0ð@üŒÝ¾Ü„ú>cTúñ1Õ¼Ðl¾‡©Á¢Ä¹ 9bÇ"€ÒrÜ?œŒä¢ü'ýáîûýåòï¨ì;bõÌQÙL`€g—2ø -€€³ €“J§,3­éëæ@ÐZgà#€òD!°®§uä$ÌÄÜLan¶ ÀhôÎHÀÌ››*Þ™"º=;õþê¡©ß&…hðÆz1ü,°ž 3@f"p^È·8·Oª¾K(*€ Ô:ì,p̼H\ÿÃø^ñæßrýzªûO¾|•8âÇOŽ üsÿƒ~õƒþÃ-ý‘DÁ½«ô*=:ïÒ’ä½»©t1iÞañÓéH㬠td#¿Ž%ʺ¤ý¹Mþ×DÛwS•nü©úãî ÈÝ<–è»Î¾Ïm?há$P Î€ —Ë WÛýáÆ—Ö&ÿåãy@àmªü`ýYø÷OŸËñÎ<$X]ÕÖ` -@šÖÒ[º&ÐPšÈÞ3¾?Þav0]îü%§P€ºKÑùVÿà/öå9VõKÊ?>ïy+ý\ûyÿƒÌ -ÁJÑßÊVE0lÿá,sƒ®ÇãtS§á1œF…ÀG20? x]ˆ|ÒuíMTšæ‹ë:ü‚*hõÍ -‹ùé „ ó`ÀÀŸn¶0hQõ׼ش["jô¼×èwÈ@FŽÕ0#[qzO§VÖÊN«A…ßKO_3–*f[¯`×°¡±Q·Ý -ášÊL•%í¼<}5(€ðI<Ÿ/æK¬pW¡ú›Ÿ_ñåÿ¾9==ó¿±æØôåÒXs -€±æŒa( ÀD€äòòrr¨ýKS€¨øSÃOõ½œTŽWþƒ™íry¦ìßžÁé _ö˲ì³ÛƒÉW8NÀ ¬Û N:•JX:ÁÄ` e,&WÀÜÈDÌ4ý¼¦'¬É9s!17ŠF£Sd"Å;ëéÈÜò¦£¡è;çfg£?/LnÓ‘â:µþ‘b •ÉÌdÎDŠêÿ  ì0`À -€ÊµŠ`ïZl¢×x<s“áXðÂ%€Í†1(ým·øoí¹Ûx à_Ùþ~°ƒÇ¿<>þ–BÕ‡ŽÃLœW<€› ¦ÞìóÛéìbò.SþÝXK æ[»ûa =Ëö¹ql€0€•ÎÊmwåŸËøxNjˆ?&üJ3ˆæ ZŽcVÑ[¬I—S„«N–çË…̺iΙÖÒ’i]Ÿ»¼x%D ˆFƒÁHÔbpöÀ? ÝžzçW爣ðÈL¤RLŠÀD`‚ Ç E€;;ûˆnÈ `Sd€îÛ=VÌëJ£ÆÎ€ìþÊk€/Zð üÅ“×mû«ÕW¸ô? ÐÿÕ¯#àƒ]™ Çóèjûj{h,iA^ Ìå\!>â}–6‡VzÀPuÎØÅîÿn§C‘¡ïÝoÆœÒðÉÁüþ8¯úáæx]öüÆÕ²ŸÒý8«Æ0„û±üwßÐÒÿ!ŸöÿóÏCàí‡o¿Á ÀÇ«¿›\›\ÓÚ¤ÆÎA„tB±Ö¨g Ú0ÔÞƒ1˜ &_º×Ç‹°‘äÿn£Ž+Ç\Ê·º{l˜e äê‹<#€=,T»ƒ1ò8Ù®Ç 4*P)± ð‘­6„ý€ÉÜ?³ô‰H‰Mî÷áÒWÑ•ÖOnÚìc ÁH¹cþ¯k5z²ši«L_[÷è©^ÃnÀ¨²ÝèZÙÞVÏiy4bƒÌžiV–„1ȲµhšíXÙT# ì•«ûRü^V3 9  x¡ `~žjr…ó/S翘¤^,Ÿ'0öîØåf~šêslzªÏÇóùðbxÀÈ‚~¾V*ÀeBÉïïw€ü}þÉ2“ÿþ2[dÙq'jôqäûFù €WYàdU¨å_pÌõ\ÒV0JàmÉÅpÜ?qã‘•°–Ìõk׬ôõ¹t& -]‰F‹l@Õ=z'I›sW˜˜ššº}¥ðÖßüd64u.J\H¥£ÁTfá³T$à™ ò™G/á ,€76”ï›î"@'–ÿßš"b.ð"ñžÇõöáêû½êЬ÷‡z<¦ã .þ™iB8®"P­îP‰ß…pde?×éÄNûérÎ.[ÿ×v ¸–¾¬#䵈 'Øl rçŽÿÌ@Xß`RàlN(`„ñ ! -T®ðxméÓµû¼€ê/Åuôx8XX½ˆª¿´¶„cŽÚBzM¯©øÓ9RõÛ£º€ÁñºÎ½>^Lô%`[Þ)\ &Lp–—tø" -”µ@¼d·D à -÷*@Ç“uöN5*†‘2°Û/.>¬üH-˜æ›}&è˜tÉM}Œh´„¨”úŸzv°êß’@ƒŸÍfD˜Aoi&¢{„DR£â!Lâ©TÙT×éVFˉUxžL3zÊnèvÅ4,óšn™OÕ¡·Íý£ãȤ_žõŸJ7üãñp)?¶†ÑÏJ|ÑÆ’¾Ùüu>î»üîåw/LÏŸÌKáM5/O_Îç§JˆX9YYLŽÎ–óÉeøâC€@Ÿ!€ß—ôsñ÷•å‹èõw|åƒ!ŶóL—ëÈàû}‘¾£@ŠJsÊJÌTj’€•Ž,§¬bé„e•+áxy¢Z7­9ݺ~Ý2箯§fCTì Á€;Ôýá0É#€èÔtáöO oÍÎþb¶p.”HÜY¸`"³@ ˜™Éd€ã,¼ì€cƒG§Öbàáx@Þí®3¬ü^™h¬xQ3¿Ç|Ê‚Îü?°ÆÿßÕ ô¡ -h—¼wþúÿçb»gr9iäEÍ'dÀ3(°îéìJùw!ÀìoŒçrÏ_åû›c+ ýåö€8söÌÙ W€@=0¨Q=_]}xïáÃ7xðPfoÀøçŸ>ÿâ¡ø§Ï~±zŸJÿŵ𶻍M®N®­M®-ͬ-ãyZn±÷”дƒ€×àõñï €ýòþ6<8².èzÐì ­/¶?Ð ÅBîyv ©zX€Á*«³[2:èz¶ºp‚ÜN…üàøHÒeÀž@¢Ä-5HÐe‚|îŸxMõ_sù‘Тíçê¯y5Ôþ¿åï©Qõ7õZ¶Ö3S½¶íØžŠÓKU²½§•íîVoÛÛ¥ŠßÐ=¼ò×£§4+zòÛXBÔ´®eWœlÙ³]®ö¨qÚ‡ àKÜ`_ÌûËñæ…&"ãñùÒ¢o%_är?½â{ãÝË·›?›_Ì7©ýÏ•¨øO¿Ûüe³™cã`7•”Å’×d>.É`‰Ý€UGJ Ê?µülûûþò‘2 -ÚÙñ¹Ûµ¾ƒçúm*ñÀ÷¸ó¿°°ÈXAh4ú7ÁDJ‚´Vèu™H+“ÖÜ’5~ÍLë×#©¹Äl"*"X2H›oN˜˜žº=}kö'¿ŠžKL†¢Át$˜Êd&óR •™qdߪðô¨ÔúÍöè &!ô’*ãöxHõñ Ñħö÷ßÛ?þñ-„?>æÝ€Q vî*ÿ›»,œØEI¯S“žÛÈ ­€†ºå¤ËˆHéÙÕ>Ǽ®–GÒäà µïw–E"Ø  GQûN@œ\ @†÷~MP`LbØ92Ì£^ý`Kä×eîõñ¢ú¿ - \­f·…¼3_ `Kí ñ´o@|HEŸÝaTö¿« <u×"*íŠd[éû‘mÝ žý·ÿÊH3UË/€>§3 0 ÈT 1 ' q U~Kb¬Ûr׿ÄX‚³0€¥ D Vè§IN%klUªŸe†aX´ZŠzöR„GhÚkZ¥‘ÊîÍT«ûÇ"ìõå$2`j:§ŠÎÇOàù—<@ÞO’ÿŸ-ú¦ßhRÏ?26FŸ§ÇâÍ1*ý—›·/_†!…¸ËˆÀß /38 ÏË~U¸}a×Í?I?3ÿÛ~ÿöL¹,BÉÛ¨E@eÀ.ÀIßâ+*P:özJK¤õ´uçR*˜_"NËq?Àœ¥/¥¯-™‘¹ëÅõ+¡ÙÄT"“ˆRñ/ÓÑH0IL¾boÀ&@höÜ;SÑwBs…hp=,Ì‚I…?335'û-à±$BЃi¿¢ØÏ³ÿúˆ'0ûü¶é!/Lîc ý>úþí[Øã¾¬zæl„¤&'²ëÿ™»úl¼ÿ€ÍbÃa:±g@¶T1õéQ_Ž=ÿAðBàÙö¯¾1© ¢rð R7r<Ï/-ýníþ¿¬Þ¿OgÐÿ  Vÿß_[]Ë-Õ¨þãi–ÆN¿Î€¾v­†Ÿ¡ž“èåù/)€nžðˆüOy!½.t¯€¯€öÊPùu7„ì¶¥4ÿ*Û~ØÀûÒyqåGt«ìÄy@ Ú à8<@.€%Ñ€T‰?bO@fƒE0078¡Þ+\ éj"`‹U­S·&&;jÊGÛ€º¾¤¾ ‹ƒhæ[†Y©TŒF¯b0`tmgÛÈO[ª÷ÈJA> ™ ºi˜&4 ôãXÁuO¹›%€  £'0|iÿZ‹Bœð TºÏc³?N`¦ÀóùRs,éû×|þ×ͱùÅüôåæåwŸ›Ï_n޽Ûüdl‹áÓ3€0€8’à Sïï§^NJa/c Ð-àÌ6|ú>Ÿ»\«òû‚’ý~òeeÿ¯€”óÈJ-@HP2m—3Á‰e–I$Wâq àDì¥ë€Lt.t® 1¸,"ÀŠh“s‰hqêÎô…é·f£ ýäÜí©¹Ä\ôB†@B*³0°™‰md2ß²/ ŽhK|½!þwn«‹QÉqÒýøàEÿ'«{ÇÇ_ýØEàYè9ÿ<€r’½Ñz™/‡æ¿CÕºÃ2>Hˆ2*–ùÞÖsñDH Dì ‡±¦Bxkƒs½ÃƒžüŸ 4ÙÀø†ìn(´0ž«a0–X«ÅÖjk«“÷îß¿÷1o`úÀÕš®Ñ£®£úÓùçÆë¬­áÏç¿‘ûs¶:­]Àæ)¿€×àõñ¢ã€7ªå­m 6÷€+ù¤0ÀÞyqf7€á‡ò¦/:˳°!p£G`n¾YXáXµ -pÃÝ@ÓÎ̾=BÈ¥FíB×øBú–òA¾ÃuTêêú6Ø:¨½§:,\ÁB â1²‘ne @ ÕõjFÏРݰ:GYš‡0ƒ¡!•ÀZw²Ôÿ£ã㣯àðr h¡œ/•âœðûÐþCg€%€•äÓÔúçç×± 8V»ÜÄ:@îAìÄÑ¿;î ß–€Û¼«FÞÏ〲?‰Y üþƒ¾2ÓæÓŽ´ÿ*dÓÕ@r`øJk22©@ÆJ´õŒ©¥5s=xi¡ÂÀ¤+\°ôu}I»~ À)„çÒÑP&7`0Å`4bê0(ÌgC¿z'4 -ÍE# ÐdœLÆÊdaœq–™æãø’³o›¸Éi¿í!W-äolHÿbS ÿÂÚøÕ_›˜ÌThЈu¨**%¯ÄäÔëÖùü€á¼+9À*oÙݱl¹ÓWr9Š ÜÃ5erÑ@•HL€³XdU °]ŒÓcôZª;[K±–¾†PÀ‡« -`ûs{÷Òkkuʸ¶$‡Ž½B^@ÀXÛ­ïÆ:97¹È¤ÿ<£|]çþ+hõÒÌ¥.Áƾv<¨n3wß s–‰žˆ= »îÇ-¿gpâÅ€-"tUxP—ÙÌXmÔÝ -ê)‡ù}„eÀ‘d9t^÷ÓuáÏéç@Ì1À €qÀ@ ÀõÝ­þ¸ÉÕ_¼„þV¼ زŸbSûßK]«ae{ÆÓÆÓîv£Û{Úz3¨ð·õŠÆÉEÝcY„è›jë•”•Í–³Õýãöx©Qœ$ãñ÷âùÒ¥éü{ VÆæáú_¢E]Pá_Iþlúòt~ìr‰E€ÍËÿ“î,]h–â+É8k |I™$Çüaa|ñpx[’Ï7’Üü+ªôGþò Hœ99³_¦G G À÷ü"}W'pÖ Tœ´ž6Í`jÙ ––%5y…Àrt €nŽ/8ç$B¡¿‰N¬G£™ 6#뉹Â/L7£oÍ^øcèÜ_%XÈd2„1¶¨øOL€ø–5Àq¸¹)7X`CÀlg8hqhàñ_ú»0“,Mb%væ|ÀNkD)aE‹ :±ÜûJóàûww¼ËŸ -øØu_ïØ h÷Yš 6šÌX Î² ·ÿÕ -Žƒ À¹Žˆ§Ýñµµû÷ ¬Â!H|‚d6@`a|¼~íÚøµñ¥5]=©>ì2ìhÁ» [n - kÀŸ_—éÿ¤£?sIŽêáv0Ðîqùn7˜»ïzx ¿§bþx篫ìÿ¹ì»¶€žó{J)°å)«¼"€L  -‡ao‹%°m±/ÐGÒü³@S@¶÷QRÀ9™È5hq‘И -0ï/Ú@ÍÔ]€ à aR†©þ÷zÔæãǨTœžclWª•íʶñ´×¶+–’Àà`!Gç Â6~JÝ´ŒõJ5;S=*sÐWôz½DfùÞâIøâ¿Ò/›¥Ò -'%}cñ|*€Ò|Ò÷¿£áÏ/&ÇòcX Ãè]êü/O7a \ЇßÃÓ,¢º3xwÀ Gx{—à÷'e ”þˆÊèÃv\ ð ßt1À+ ™TÀ‰ˆxÒºÖRA€°€Åp<ˆVÖõu]»xíZÂúÛ¹@èÊä•t¡õ_4ZÅŒD̹DâÂ;.þœ ýÍ_MÎæщõ\ÿ3ëÖöÄ‚0η¶—@ Þf­k{¿eí@ïÿƒfÔ+>Ùǯߊ«Š¸ê&°~ µû.×ÃMNBqe¬ƒ™*ÿûƒÐ>Ìl¼/‹ï«`_Ñ02èĨÖÖ몿¸²K5YÐA­ZìG-ÖsϘ€þhˆ9Ø•ù»¹ÚÚýÕû«Ý A¶¸?¹¶¶4Žcƒ>ÎŽïæÆe ¤Î¡ôÑ©É:‡wTˆ±W‚ Èßöõÿ ЉÂ?siO—~À#€¬·W÷«ÛU¦ïSžFC ”î_ØÑxF>³/ÐV›@ƒöÄHH©@8t‘jxàT±«¦}ö©úƒø(@0*€j8Oþ'uW@Ç›sšÔ÷ĠΣçÇÂJBÈä¯Â(ÈjõÌžm÷xѰ=†c;H ößÉn7º†cu[½K}[ïêB VJ7,ͨ T¨²žrªÙj¹JÅÿ踿sô2%€Të“áðÊI®ÿó¥Ò/§ãІæYˆÔ¿߿΃ê_Lþë4æã—§óÍ7ò¥©ù•Ë’ œŒÇWØ Xô¾wá+p"À/kɤ_MñXèG0nsá/Œô‡ÙÚ,`ÐÀÀ÷,øÎ Àµæ¬t@=\^È,/» œ,E‚•¥ˆ¦iã×µôÏNè -bþ -ÁHáBôuÿÑbq=àN´ÙŒ6§ ?½p%tî·¡‹× àâBÐÉd}t)ð <˾ígr½•u]»í9ÿèjÛÝ[ëtjµa#ÊÁÞëwc™Hÿ!w¥ßQ‘vëᦂÜ+wÜÄŸì,så,΀êŠk”÷ÿqœyý_Ì/žÌf – @©ö Y € €(@ßÎÑH¨æŽ[þ±,èïû“£õÿgeœÖÍÀºn¯ë©ÌòIJx%Xô—‚ëÖœeÎi×à˜Ì%`*F.Þ)FRÅHZO$.^¸s¡àJqöö¹¿ŠÎ…Î%nL™XÈ<²Xý7áp&ð·€ê–¢± ¯a«U@RánÌ ÞÜñåêëwãÁÀ ¼ª0‡·:»±Ý]Õ ÷6½ÆHXèt×(¿7ùr¡¸!–ÂgÜ=lœ9[W\>æû*P<ÇüW—…œwë°¨»L+ȤAæ õ=ìþ[Þ{ƒ]8à·0Ð`üs­v­®+î_|~ŽÊÈuê¬Q) ë] ƒ»)øšøó“ÿlƒJ'Â{„~¸^<ÚŸÙ—EÀlªÑ` _×£j»¸ýs - Dom±äÿ<Óý<hKR §ÚÞöŸ €ãitÛ ÂvÅh0äU*ýµý&FtÃüH¤o -£/cYq‚@ÔKoês ]ÄbÄÚßšsšîŽvˆê!È´zò§÷R½ŠÝhd{ŸÑO÷´Û}ÚmÕof=Mÿ#Å;Åé nÿšý«(•ÿD"ˆD3™‡@€‰åí…@3€À·Šó?†¯ å…ӻݨÆÕËåjRÊdí5Î>t£<2FQžøÜ”Ë -=G¯Ü¦ŠÉé1èÔypó}jïHörIÀ7Ïl(R@Rƒ7r,!Àg7ä|¶~vcüìÆ÷kgÆ7Äþn@Ô¬C(¤?êÿþ@ç?ü¡CŸè”ÛýÔ5|±o³0b–êKLüÓwÖý/(‡ÄB×À2tvE êþ¨‘ŽÝ×ÿ5þÌå¿/‘hx—@çì€)Î(g«äáúwmq@v° -À*²ìŠ% èÏ^ÑðrÇTÿSÝvŠ @£b¤è„ €ÁSÛ²oˆЂ70]»¡Á@d}<à¥[SŠ€¹‘YˆwCÀÔKÂðr€l ÊGóèÔc -†aw¬±íl7žZÛNWß2ZÃjhÍc[:=Ö£Y ŒÀþ¶'[Ý÷T«å>êÿÑKuÜaÃ=ª¸‹áOò¥éé Óù_æKH^ŒCø·²¸²2_Ê7Ǩ¹ÿ=¦þ‹‹t‰€8¶çÃótµya>?_zo,|²ÿPŠûep²\â`À$ú÷Ñ8 jí“Càß™quÿ@}Gù¥ü3°¦‹0 À÷ý*}G €“I9 )Ë jëZ$0±@¯Ä%&•2ë•9+ 0¹MÍ‚¸X(®Š8ÒZúdâF0Z¼0Ýl -nν ] Í%éÅLÆ™È,X ËN`Æq|KððhmiúÙìÿüÀÍ” €`³íÙýŽì"€ãêÖ 0h$+ež:mÌ÷áã\ æŽð_ãË7ÿÛÍ3_ŸÙøúÁÍ2xp“Ð@Núÿ›_$  lù±ÂŸ -þ×gÎÞVz.MMOçóØç Ç›+‹+ñ•ùyÜõûüÔô啸ØåéiÄMÿéÝÛÓáæŸ Ìlˆc‹µÍç[ä ýŸš%?bü'ð:`RÙùRûï÷Nv|þþÀh§Ü§›sf›j?! ¿Ú@1ëN -À^××O–Ã# œ‰¬c?EŸÓ"×#‘9øû.~,KÅO",´&ßLDƒÐ6‹·§¦ -S¡w¢³¡É+‰D rc!³0ádŒÌöBi{€óz·`i_«·ÙV ­Šð¶¨dC`öÚž'¯ß’‡ ÊÉÁð(1€G¼pX ° žãþêÃt W@Õ’Š÷ôú7ûÿàÿ~ðàknç|„`tù5A„g¾æþŸÍξææM܋Ǡêçè|6‡„A®Ž`wc£¦ô„ÿ…]ck»k±¥UnþßøüóŸq?^][ÓÇëµkPŒ+¹Áæphu:p*"0HȆ¹€ßË k(ÿ»µ×àÏyp ÊaµŸN‡~Åü€‡ úûåýjÕ3Ó¥>Õà~¬È`OmÂT\ÂÄý—•àΫaÀUäÉŠ`ÛÓð¤ ÃiƒH{ñ!jï#Ë6…€30kÞ„f_ÿßÔl‰ -”5¶ Qí§9èîÔ_™™-v걜ä?W£gWìJ¯b¶*Y»ÛÛî–+Olï©Ý¥¢Ÿµ­bzô¶iX  ð@dë•J£ºU­Âý‡—_jýß±Ù=8ð%ãÍfs>¾’ÏO¯$ÇV0€C€±éwß8™o^nþúÝwßýåŸþ4õ§wá <%‘ÀÅùÅäÊb<¼âjôÿ¡TR{€áåeaü¨X`%(ËŸ]f$Ò÷Ï èSí'@\æÂ?¤ÅÂÀŒüß÷«ôÓ'åR•…”¶à,™–YžÈp  –ƒ‘”ž&p]ODÞY„B³‰èÂDðõÿ¿ŒD¢AhàT,N›ÍÕÿÂOû¿ … Ûë…L&ã2 •õm'° ÀŒ85x¼÷øq»Õ’H[„ÙÇjÜåÉàõ{òè‹5 ¤L‚[°Ç?Fúu¤ÄFVæ[­ÝX+‡öAÀ×ÔùS=ð€A'þÝmá¶d¢õÿÍçoxøð-05\««#§ˆs­Ø]©ðµÝZmaF-WñaÍÝ[5ðúÿÅŸ­ûW½U~*ý‡3Õ™!~ÈàÉÑÎWý#삇 •Ë]Ö° -`Ë Þ6 +ñ€[< -p¯6 ‚ ¼!ž¦ -Vc]øÙ¬Ð,H¨A*÷sjÝ_mrçÏ1A&§™’=dr2ŒT¯ÑëÚÙzçéÓnÃq•FϨ´JÏ6´}8¶ÇðVèll@Ôÿ—÷éÕÙ9:þêèàåNDS 8Dûêæüüütþ$¿’_üÇ•üÊBÉßÏM-®LýšÎùæ?üéÝ_7KÍ_OOÿ:Ÿ_˜Ÿ‡Õ¶üÏ!@Pà$) €Ÿ)€^„ ¿2HBˆq„~Ôn`yøýÛ ~ tùøj”®ñ`ÑM]H†‹ÁÔ\ÚžÔ—ôDú·ÁÈdèJ"z1š°ù ò2ëf"‘ˆ‹¦óÍâÔT´0uåà;s!º;°~£8‘Y(eëÒÄÄ6¶¾sYBãìV m xÁ3x½ðÌ»YU ÀùÁR@›=q½ÿÇ1ÁJ×CެSzU~P¬S‡" WÇvàÿ¥ö1¸É¼ÿ×(ñ@7Ï*›tÞ¸ ,póæY58{œÁ™›xÀלÄ£‡\gwíþÒêêÚ­ôý[­ûtj­µî¯Ý¿¿FõÿgÌÿ«ÀÛ?þÆãÔÿ×q‚v@FºPÔìÃïˆ[l ÜxPöé/RÃ~.v_‹þlí?'£ÊéÔ?öþ¿4pôÕÑQ¹\Ýâ €®Ón80óézºâ°'« XU»€ÃU‚çùªd¶·{`<,%pm:U¬´7X_Ï@œl:ß_@{h Ć>Ȳ¹ 30äŒ]s -±”±¿É®¾–Éù>6xU¨£otímc›Úÿ§Î¶À­k?9vÃlXÛnhNlEÃjd+¢jù˜^_.Uš:â#v~Šš+\Ì'ãÿšoŽý>‰yÀ<¤ÿ„.¿‹H ±éËñ +œ°²}† -ÿ0OQˆ/—¸ò‡ÃJàSŠÀ‘€*ö þT0ö+h¼ €šø_qÀYp¨'¦Ö3“ZÒ*šµ.߯Â4e ¤ª¿¨ÿÑùcûß¶zÔ×{Aÿ£¨]‹*~×É6¶nÅó²€ýXF›~<­¡§zÝà @C3ÛÕ})üú³kâKR•T"08ÿ*äóùxøää¤_¶øã‹¾••ßÓé_WâÓÓcïŽ…ÇÆ¦›—›,\\I -ˆHú¿Û$M@’ʉ}üŒ’a.©ÇOrD€ŠüQ£€GÈ.ûE;üåXð½¿Lß™xTR)GˤtͲÒËÌ$Ád,ÝJkÚÒÜ és°HD3A¸dDÒ = <ÐÌ—šSÑèTÀìŹh¢2 ™ÀD†÷ËÎÂÓï>xáónz×.@Ï9à ´¥Ä€çþ€Œ°¸ËuÿÏŒ¿¦¾‹a@Œ³XCš VËÁ¨^Wö}uìPe¿ ] ÆúTò¥àŸù÷ ظ©Zÿ¯ù. ¬K20Ç Óùÿ]ÿtíÓûk„>m}JõÿþÃyø›·óð7¬ xãá[“ŸN®-ÑY[#$ÀK„€}¼Ç°ÛÙmrðò™ŽµÝzÄîGð¬Ir$”¯€?Ç·¸d9Éïs‡þ*Æ3 fN@üpÝ€vÔ*À~ŽÀÐñgyô}Vå‹ö,@5‹ü?è¶$(;Òü³Àã9ßÞkwñÍž†§ëišHAØV.þB`r€¶h¹‘ ñ‡­tÊ&ÈRkþô!Vì ÌÖ?òoþñô¿Åì¿Ý¨T Çp* júíŠSéVžÂ -=Á½mvµ†åÑxh5¶[ì•«ûGåéþ_.°ãV~ÉLʵ$Äÿñùù•yúŒ‹ßÏÏó{˜q@þö»¥ü¯Çòï–šùæå±üX<±ÀJ2 ÅÀ¼€ÿŸ½÷më>Ó×%ÂÑveÀž;f¹¦›;$JqÖ X9‚)T\C„õutH–20"1Ù¤àx cÀä‹°8×Ð.ˆ”&á±µ2Š’¡¬à -%öƒ*¹‘€²ú@a”è^à*E¬Î—‘'µdßçýý¥ôvîÜ´™Zjuøÿd[’õ<ïó>ïóÞ®ÞŠˆ©˜!Dvaðxy)ð– B½+™ýkaÀLò ` €’ìlð1<¾Jâq¼’~à&0ù é^P”ÝiÛQâ}éÑá4±Ìƒ7_¯¼x 1Á`ö?:ú†õÄðØøDW«@4ºô%ÿ_ûƒW&b}£¬Ðe˜‘ -€»â;úmúo;“[ÚãØ„5 9@h9;üEôt;@¯.†1y—”?"5PÂð<ÓÖ÷±ö÷S6²€KÈ -'³!°ë„"À­û²«€n€œ -D2ð¬ ' ìþ¿€ -hŽ&}UmâMWüUd80|Ü·g W¤öˆ¶€<õLÊî€Ðzºª@|'§± CŸ ÃübÊÏfIle5õ“¸©e›¸›mtLbˆj`U@¼n;Ò´Ú˜´*ê'ôoÈd–ðdû)G&?[F¤" ˜I€$@r‚~‚v:¦¯#¸{íoÿ–®õˆÇûcH´õÜQnG£Øx-…7E°ÒK¸žRøs{”ª¡W *þc¡¤D0€@od?Þ3 ø `c,<Hÿ)ü¹>è -@…°ß—ˆÇ§ÒÃ>"cÃJ)öîoèñ½ññžÑžÞàøßèè¹KA^ÕûtýŽáÆðøh/¶þU,]zËÿüDÿhÿD3€¯”H<κKœèûWsŽŽ/¤^ËåÖ»:€¬PìN–-KÎé œB9Ÿåàü,êöù‘¤á3?+fùOŠX€›bÐÅñATúï«ü… ð¸àÂLpÿ¤ËµXh—gfjí6 -ôgàŸ ýC  çyý®\.¶Îrà2úå6?s•¶¼0{i-çg[³˜ÜÛiœ‡]ÀyÔøÍ˪þ3^É€ü"€®v Äw`aHðûMdr` R? ÿìXÂ*ÄYÁxI0f_<ÀÑÐÌ%a01r €Àð¯ªß–À7‰ q/ ¾×îpI?În>¼*œ=Ò · ÷ -‡@øCðþ!jŸ¾“íøGé¯VÌŠZ±T L+Ž•€•IsRSTü[½Ž+mªŽl®LÓÜÔÌœ–Ë577·žì<ýÅÓg.¬pU:½»»;Ý~yýÿw™-€ïR¡ÿ·a]Äý¯¬DVŒÈµªN @ -0=ÍKÅ`ôXXIUéaýß^Á~?{°˜Cý=ݽ?[^þ·m3™èEwŒ·yÅ€ ¿ý/ÓçœðUâ _åAe*=æèéyN—Ü áÈ>À‹)€p¤^›è÷ö÷¿þí‰`p -ö?bwút˜Üñß©¦ˆPý ^ú’ÿùþ×GG…PqûÜñ©x ‰OJ0IÿöÇrßÍ}Wr€ä®@¢¦ÜH ‰ÂþxwÀÚ @¡P#ì¿r®|î§r¨0•öL’­|™@›ðÿçt& -à,°·q6?Ò]F ÀrÞÞy”ð›©ÿH8ÉðF493]CâÙ.€œ5üCå~’YÏ5c–†,`–ùVš¹.öüÒ E?Öæ X¼ýGCýIÎzšK ^)Ü Ø_çiBLš UˆŒûÙ´ *ÆõUÆ’ ´Tü´wÇÒÂÚ'ì}¬÷‹‚_ˆ,ðä¿lþø«iìúÇ­ -±‚õŠCÕÔOT+maI1a}vÒ1iNZfÖ™ÔzÍ:œªÕqä,1¡À“í§¼2éYÄT]XÙUÁîJ# “´”ÔÝk×° `(:½FûÂ×þsêX*M @ ˆnGÂúíkk»×„is€žjÄ0”j8¼ è„a⯢¦ß.­pèo!@Þn"‰ö˜ˆ]€‘®9ViÂC>øÙüñJÖ—H§§{Ç û wXt[€0þ`|,Ý3$ðúhÿ¥¾7ƒÁÀ€ÿ°®ŒŽº -@Š@ôM˜'F'®c‰ÑŸºÝŸ;w' ÄK¾Ê‘ð[;~ñÜwÁº/iòQ7h6™”K€úwœÊýäòˆØ¦C¯"iovV,LÚó|³ÌN²Ör^.àN€°2=À3œ|R옷—«p®üpfãáCB}TûúÝÙ(p&ô/—[Þ,¢€[Ë­2ËÿåG3ÌÚßvÒ¹ÞÓ“á¼à¼çD„ðèGá7Àÿ gœrÐydý%ØÀ^@‡ûŠi·ÌfNØ*X ÔèݵZ9ì°÷iKb1 - É&€pjœ¿a=«MËÔ¤ÀNSÌ|ëÿì$§¤å¦Àô^Û_ööQÓÖ¿Ç{&¿[ Ü(49i›þø«“ž,‚À2²f6‹úßÄ…®è/1ILÿÙOÔJÇêTêæ¤6iÑ¥1Þ蘕Žc’8 -½G³ðuÈlÂìºý¬ €¢Ü2Þýƒ+Qýó€0ÿ0ð¿zìz4:t,l?q,¾V P®+ßF†¢Þð11Ï.1¿jtú®ñ>±—þˆ°QZ¨z%¢([ Ï÷XþÀÄßÊ:<ýÇžÀ½½€ÄXàE@¸ìFÅ@¬2õ8§‡ã鸚vûJÓ¶ÀI€} éôèøð‹Aßë/Ž^ê ß1üzÕ­ßÑu#1üâè¸A׫F -@0ºtÚÿúè¹þþ7Ü£îR… ?‘¨ð€x;šGà·FØÚœC|‰ƒ9ÀgfÞç_®”ÑÿÇç—ç“-±l™u€<ºþìâ'X1BHýi¢é/¶q °Àü“ˆþ=nOÈe‚r±}ô®Â½rq#øŸ'ÿ>²IÀF­¼X(Ÿ/Ó™8@Þ•[yÀò2ð¿ÝþvûáÆC„ 8ñ,á =‹5‘³°`à³;‰þÚ‡ðþý£pÿoy½{UNLÁɫЛ¸}‹sMö: –‹Å@<ÊŽN1Ü @:°¶î°4Ñ+»€ë¯ ¼ÿC­áh,5 ˜šÙh˜¦¥0«ª´~OøE -C‚QèËÒ¼ë`°'ôÿÞø¤ “²ëϤa’Ñ_MOfÓY.þ©ü'ü‡õ@P‹€?‹9@ Ó*®YÀ–àýÁsÒìш8t蟬jfn3£å–v2O°ààÿJÉ(Q}iƒ7ÿ 0þ³¯ÿö¡øgàX£ÿ¼ÿ¯zìT8ànXùÿÂ\ÃCÒWÂ¥HŠCŸV<º¢L{ªîD" -¡·w~Üos˃íWâ¯!êá.€½ÍÀD"[‘ŒlÐçØÝ=ø-€Jlª‚  cñùñ±¬»”ØS”鈗À‹Ù±ôØøa;Z—ô ß_Òõ;†¡€ t  -ÞÖCÁçßJÐûFG'š¾Ñ¬ôÅã7+ì!ý'íÅÀ\þCî?yS–þ'!ðóô¶D€ßY1È€ø4.—k±¼V«­]ä6ÀÅ‹ÿÛÆÁøOmvÿCþÇ `ž—ÿÌc:­‘rÝI•ÿÏ?úèçŽa‚Gív½œ/c1ûyÍ0Öt9@ýHøµËÿD„ðÏ·Ýc—àß»+yÀ€<û?wggk³™Ë°  ¢9LGÖlX  ?!ü/^b°$/^k·&´w,™0 4^Cš êh˜š*b4ÎàÁû8¯ó€iUU¿7ÉàŸíâ9£ûø¤÷Å%mw¾7™¶ß$šiùÑø¤ Yý@–ÛþD*Œ€˜¨tâ*þã<8bõhuÛÓ¦@fegGmT,M[ÉmnîˆÀÏšl”Œ€aªFà˜ ’>6®…y ðµpŠ÷þ\âóŠ^Ž^ªV US©¡Ô1z'ŸïFï^»;­üzü²Q뛊¡¨FŠÇ@ P)¼ ŒŒAt—¨Vîÿ»ly»þÿmÁäš@Ñ`ŽŒƒÝÈî'>-ð >ÐÛ“~àëŒOÜDú*c†‰ûFû|¯_:ןðï” 6ýë}º±Ð‡@I°pç¶ ¾þ×S¯öO¼81à_ä»ãq@âñæø-s€'ß‘*€h¬¯¿&E# Žf?£¶XÿC7Hî[FÒâ;H_DÞ>OáïIùâyí²€d@Œ¸` tÙoá-A¼(˜c Lü¢UÏ—g°ó2@EL~´±±&€Ÿõöå2a^*ØZDx`½Ý~¸±ñð£‡Dèèi—Ë= ½ÌÄD´ðèHøµŽØbÿ‘o²•Åvó*±½S·pøÀ“ìÀYþ ;Ì×–4¹îp:0[Eð’ÖÐ^ã­@øªþÍTM}MÕ:DÄçDÄ :@º (Å€Iûd÷þmk`šÙÀþtZÚýmñŸîuÒT÷£ögôGíO`^‰[,ÿcË1f&­IÜÆ‰ ¨¦*DµSÁß@ë5'ë–IìE³Ö-íÉJ.—Aýÿì3pîÀ¨ÒÔSƒ`žêýð5qNÃÖ”þÇ E]¿+ˆ‚ ýÎÀ»bîV£×”í(oõc\ŠVÃŠ×Ø%PÅ -_OÉðˆM@%‘Ù*5={&ÈíŒ7–Ù`¥«  ÿYG?è é‹%|ãÙøãñx¶Ð3O”Ü] òºõÊXüÁØðذBOœ»Ôߟ¸Ôà ÕÀƒñ±7u·¾@ lЛˆ<¯÷O\ -ŽN4+/.”Ü Ÿ/•?@åHøíèm|wßXàk{9˜”àS¶OÎ·ÄÆe§‰>Ç z_NùÁ |"aø$ÛOR‘Ÿ<îÚgø%?@«Õ*çgfÚmÌnˆÀИY,èrå]ŒýInÿ£‘i• þgÚ¶‰<`ãÛß#&A¼!_Èc`ù3ú?ï:úø5à_Öú¯ÌÿEmc·/êÅ;°K\ÐûÝ X -ÉeLLT°û|™XÀ{öýI/  ÐÄN D‚ 0W@ {ÿl6Ôç#]ØÄ³jà‹1}"é“2¨ëö¿ñqþ³tበd¦wà¿ ©¿KPóÇá÷«`è/Ë¿5i©té±&+Ƥ£cö˜u«®öÒ_ ÅZÓÌíä´ÍÍÜæS™t@`ÁЫ ~?P'P R)ƒ8@ -¥?1‚û*ð, :½N°Ž» -©k -ÞCLÁH¡cN]»^­V#œæ·²}=5´ÿ½Uì Â#¯"€`Üï^± žLÌ‹PÀOw @0€â½Ð<¿}üÿœ kÆ*‰8Õçñ±x¼Ð“Ž'n¥i›À&¹ û†ñt|¬ïN(á~¯´?Ôý%Ý0 -UÿU#1<þ昞ÐS„ÿaCŸðGCÏÿEßDÿ•Gû›îñDÉW)1(ùJ+¾£$ gqý?™Ìç åz¹=3#ç™6]fÎôô”Ë<0Àƒá”òÿÈøµÔ;÷?ðÚ ¦ì {Gìÿ£·Ÿbëm.ÓthèýµA¸z—"ï¤ÿEK0ZKbS `Khþã•Õ°À°Y;05'¯T5æhÀWU6d;YŒìP¥”ßI }_–ÿ¶ØÏE?^âq@.þÓia ¬€bçÐÿ§Y*ýéÎO+ŒûH"P­¬•ÈBpt,ÀÚ‘EüŸiNZ“ ³£šÚ¶#çv´Ìææöh0uº¡tÕ_ -TýƱvû²æO°Œ)@ô¢C ÇèNTìÿ…RàXꚆjžVˆèÇŒÿT5x[ߣ).^yÆã=ùÛ½a§!üWþ¬@ ÈtSl @~‚]eû3ƒ«LU¨(OÄ'Ä{{³•¾’oO *1¾©DâA<ا¾þþþKà;˜—(…Kº¾€‚€!(a£:¡CÑïŸè/teÂëM”JSM_"ë󹡸1uà«ýz}&­–äº`‡ŒâdYæ'[³lî»9ÿéÍç¹d€Çë’" Û€XðG¡/öËIùˆÀàJbfÀÞè—lÑy±\^lÛkµ ‘@G›@a6_(P5’Ë€@’üá-Wž>fûƒÒñ®ˆp¨`¹§^î° ½€µÿ¹ø¨ðy •ø;ñ'³_ øïÝ@@¡ú -€m<ôÿî§;žÍLF2:› (é Iì@Λ‚ùšû˱ÞX—N@ÍA°¿®Ò'0±À\2áä‚{c;€Ø¬biO¶#ä}¡ÿw¤ñoRFû¦»?çüŒó>A±P‚· òwÐþOC`À!ªü;q<¨˜•Ž¥:Æ-Õê­LVœ•Ž:©Öá0DYËüÄ‘RËÉE@+Ï>€}!¡»HœÇZUOªÂ÷9"D¢\õ_§kBþcÐŽA8ÆÕÿs̘3\cóÀµh ÕÏÊöûѨ?e׌}k=r °½ Ø“‰Øm~Ä¡ðZÀÈÖ¾\ ›à8$Àg ÷A¥Ï½`L{³è™æ·ôR¢Ï7<5ì׃n÷¥þKý‰;~]ÑR%ª÷u7·‚ú”!€h"zýŠíñÒ„÷">w‰PßÍü¨ð,e€ïäö¿«Ògg䞀ãÂ-`Ù¼3u‘Ä•þ|wz@ÚE×ÿ¤ä³'÷8À@€ jÿËïþ_Ÿn/ƒ #ˆ"€I@•5‚9¼y u-|W cbÐPVVÞ¿îb†=¬ÐYÙµE‘ $n ÀVàÚü`Äv¶¶ØN¸%¤A¦=Ïÿ?¿ àq"žH?ˆÏöûâ†[´¦±‘@iAq'}‰aÝ–Ü·ûGûÝA½Zò/ †»o|X¬«Á7ŸýŽÿ½+oöOx}’ ø/5§â¾ŸBðM5G€gÞ -`+À û3‚uÓF°'`>Él -üðø|«µ,ÝX,ÇÙïRb|7भ°pRô dr€°ˆí.@«€…Àk" ˆ@¹Ðrµ -®ÅÂb¡Œ+,‚ÀìlrÄ O¬ M¬¡Í,`†Žžr˜ÍÌŽtgDàÑÑ÷ýsVÿ9{ÒßËÛ~?{Äv…ú?  þWäùwAxº³<# @…êud航]¤þjŒûÝ0`‹È‚X È¿ 3–ük¼Øj¨šJO©ë&Û é^Ã$j€5}YÄö¢‡Ïƒ„òªõßg”Åÿ$B„€ù=iö ¤E3 «Š@âfšm†Yªç+iStõ;ô¬#K˜/Âz\ø#F*#VKƒÔIµ²D?Xˆ@!ˆï‹›m€‰€nt\¥ˆø‰¤®¥ªÇn¿ûý÷¯_¾~ùòõë—£Tü]gpŒ%¡cÕ*]©¹”_ŸÓçR©”Y€0Ë»²òãëQb)C1@[°7 Ú!ÞH†Ýÿýò™ Öow+ÿ½F>t74}͘/î‹ÇWÆÀàK¸jö‹JZ†R"0Õ§/øK¥þþ‰þ…;zJ©VÙ0U5†ÇÒúBÀ0³l¤ˆL¼þúX°ÿJpôO”f¯À—ý˜¬  `ýŽ}Æ ×Ý„掽p ˜þ—g… -€0¿ÿ[ìþ™OJP¯‹Aó¶æï"ˆ?)#8€›þ‚Ðs, ÌB1˜?¹×@>p€yôŠv4`{¦o%ó<P,×ÊkåÅE—«àÂQp!êøWËè$ DzˆŒ”—1¸ÌNÀ½Ý@õ‘£}@ŸÿcvÜ7ù·{ x$ú˲Ÿpëðsû•í'[ˆÁ!`a@¥:6šœ -,¦¸ï/¥Ü[¬uKä;d¡/Úþ0Z*h€C•€ubÆè HìS9E»  Nvgä¢u<Í"@–gþ&÷‘8 ®û‰ Àf@¥‡ûj§‘F­Ð_üƒ&M>9z#ŽqÇ$§ÍÉŽÓÜlj ¦–Ëíì !Ãg¸§Ü Ü ôžóëÕ9=0T½|ýý_ݦ›Ëhÿ_?V½ ຸE‡üQÿPu(êýì ‡S€òtåÇïW£zu!Œœ±pÚnð$ØùûÙ@ÛžÈðTáÖ¾AP¶ŸÅÀç$1_³É $ BoÚ÷xÁgt€0€©ÄTB_ÐKîþщþ€~ÇPªØl`L×Ó°Z޾Þ -^êŸðü‰^*¹KMwœëŸ/Þœ"¶q¤ÁãÂ8‹)Yvø°!xm­¶?`y1™lãËX8³qafCtra9‘f=åò¹™smØgfjDfÚPzPí·ˆ&,Ïæ‰Èðv€å#àçû¥ Ð?@þÉͲù?àMYõ+·ö:Ä}à)ÇdvšMk8|¼Ð·>€-  ׳`o¢k‹ƒöz`"M\[ -xOSÕïPÑ h˜¦F58öòe;˜ ¸«õ*C¼°ˆ8 áÌŠ9ЀîÔÔƒI)Ù¬˜`7`\tõ‰Ðc鿽¨Vœª³Ó討Z·êfÚID§™]jÒ¡ÑÌe6Wvžn¯<Ù< ß—R©ä+ Žè·Q è~ÝO,Rèöëשúæ_§ºŸ*ÿë¢p=a :„Æ@h(tù¶?šKÁ˜bÕzeeâ?ù£Q˜Ø Ûl€ôòy½R -ðníGxmü_±·­°ù¬ð´x - /ôŒû܉’!6-b ®Â†W1JîŸ&èË]2nO„F=¥Õp˜¤ÿá±aD(‡ å.=Õƒ·¯ôýý—^}/Öí÷-VI`° ¨T|ýž=02‹% †÷w8°ÅcÂíÿá‡b6€ª{ޤ7ˆ=B'YóïFpúï|·ôç„à$Sƒã698άÀ%&ç…µ¿•N€b±\\,»’÷©Ö'N0X«]X{X«m´ÛÜß/âfj@¡Ð"À9¨ÿò# R€÷šDòù£}@ÿ}Á;›Häu×ÿÆbRõxOðO× %Ôÿn_ìwâ?ÇΓÍ\¬iq ‹ôY‡ÝÛl †@KŒ"xI¼aÉ¡ ™ß$ð'Œ‡àª?‹ÈÒ z øFðxU€ -?7T d <ýgÿÙïeå]§'ãHŒÃýÇ>Üë7 û'áÄ}4ûé!ȽÜè%*0R©WF*#¦~D¢ê$ý{VVÒK›;D:òöÙÝZÀÉ]rS âºîVçªÇôaº,öa¼>½\ªF/ãtý6½xýòåÐíÛ¡‰ ¡!ÂjêV¸D@ù?®ëÑcU&ˆæ þ] áÙˆly=™ýÅ¿¼A® ‡ÉAÏÞM| ¸ ’§âiLŒû|„ò90­p/øî……ªRšèNОÛ% -bQð@@sØÐCF°ÿÒëAýÒ•àè%%ÀWòNU„ UÀ*GSáøøŸ»*€Cî0¨;»ÀÎð:À‡t5¿¼<âäeAy©0Ì‹ ›ˆÒÿ¦ýDr^Aºo=~ÜÌ Í› -àöÿ¹µZ­6³AWÅv»VcŸ?fýË®½9süÏô”93(ßâ3Äÿ}QÀupôýþï*ÿãc1yÛ…}…µ€ý1ÛöÞÿ‰ܺå»5à¾uø}€ð¼one63¹˜†À†Ç4¿)„ð‚æàà&®slD~«KܰDÈƳmh4è¡Öx j”À‚I@utâðOØ rÌ/OðaÆ|zC ¹—¯f",Q€þ´Ú©S0ñžÊdEµê•މµ¿NµÑ1{@~uÒršfºb.5w2¹ÉææŽõ](yb%,Àp â߯ëA=Ämþ(J| ¾ˆŒÂH—h1€ÐõÛDnß~ÿ6±…}(¦Œ€ÿ÷ßE£Õ€03e7ÒÕ¼BÛ÷F¶ö«ÿÝ…€ô³ÒM°ã‚åÀô¡PШÄ+}Dò…q7€]&Ó Š×ð¹ ê ÞRèv0Dux·T ïN‡KàLÙ±a=U -ƒ(F5hL¼Þ)˜è¿¼r¥góUx -@„U|cG¿i° ±)¿›x €Èf¿ß<Ï~x󿇀ð›Ç“Ëu,Ø«Î&m™žÓ€ø¾û;yÒöú iธ àHày‘$ÉÅýùû÷! ÇŸw¹Zÿ„þTðÏpD @ ø_kÏ rŸçCLÒºà/çXƉÌ"p$_ïÚ¾Ùÿú±ÕE[ ‚ŸÓ~½„úÀ´ÿ%èß’@ØÏðë–›®Ý¿ _‰í';›;Í\ÓÒâ†ø²œ'¬€H@ÌBÓ?g-ñ¼Oˆ¤@‘  Á¦Îÿ¡ÿWZS€àS£AÇkÜ@>pŒ†Õ@F~î -¤±<˜å„ÎÌÏvT‘øGÅ|–E~÷´§³4øy¦Ð²l œ¬ íOw;èý7è–§ûN³  ãH;Us2CÿøÍÌ€wÂÀý Àëmz•æ-¥ -àÖA¿Žž>ÒÀ}D\¾~™ðŸPŸ)[è~èúÐåë„þ·_ï¿}9t{(ÄÙ©ªAŸø?þÝm †A~`w¯൧#{Ò¿Ôý=\ôï¥K -°í!à$1}à €ækÆÍx¼ò ¯ -½>Ÿh(L ¥C½B 4œ"ðŸ&®4 ³hÒ÷æôV¢©à¥‰KA÷¥+oö_jzÇï(PÜßx|¤$[êzÐ p°ð:϶x  -LÿðÃO‹­>¼-ˆ•u.ìOîMgï B„NÎïÛ$lûÿ…[À%Fçņ_ј‚C’P~¹}þD4€I@»]„òŸ/ÌæË½ùg“³-×lÒ…¤à¼ÿ¡þ·Ðÿç@Àe~L‡ëè;ý¯ÿ:ÀVßš¢úöSÅïο¢±nÃÿŽ`?]Ü ÿî\~¾O·vv2™¥1S‹c±¹ô¡ñcÚOà>Ï‚`A0zru0gw¼@ö]¶fù4+€Çû«úÿ¼hå3/xäÖ íˆG9€JŒªóxÜ‹' -½½îæ‚hìîkxK†ÙQÄNõ”Q¥¯Ž¡PÁN€‘ Ã< \ Vû^Ÿx>èî¿¡ø´æ‘p)À?ç¾#ã^3Ä:à®@Žlßü”Xâ|ZÌò˳Úçç?ºzÓ °wçÒ~vþäìÞ ®î'Yüû¡¸ü €üb¡X.kÿfãoüß@3 &¼~…Âì,Eá?ŸÇ`Ñüç—[ùÖl+ÏÅÿȲœ䛣oó¿ÿîQùïQEð€}i¿BýG»e¿›oöË«¹©À©CߨÜF .fü㎠-Õêl¨oXÒ°¾gÔÄ p.ƒ.–X Ü=ÿÛpX¸n0øÏvè?âuÎ%§xlªx—0á¸efÙ}€ä`Ì Tàj¥!þ*ŽlÖQIÜe â_M›]@EÂØãþL&¼õ·£ö6&y³ã˜5ëŽI'z ³³´™Ï@OÒwd+³åÝû(J>wiÊ=ÐüA¬ˆúCÑPQôrXOD€ð -ؽL/^¿º|ûrÿíP(tÛ,0—ºvmúÚµTåúÿùcP‚9heˆÀÛÝU¼Þ]˜€%“÷àIÛÛŸyJz…%pû§Ï?Ф’üq¢/$ÀÞ)ï‚›=Ø ¤@(Q}O€˜€ -&R -‚ûÈ.›˜ :`€¾ÛÁþ ÷è{cý—J™¾aVJv @càˆ@ ‚´uö"ˆãGFZ­V2¹7Ó‡P€OEB`ryyÄ6Ò @õ›vCÀ^|Ü @¬07æ]'çQÁ³ðÿnò]î2ÜG*êÿYøû0p®ÝfÀÅÚEn  €5Á€ú$b†ˆ7xˆÚ°,³ú¿¼—t”øßYϪ¢V&§.å2ò ðô€}Gý·¶"ØNíÍx¶¨V5 =0å¿ãês~î÷§ý± J€@(t}HE/O° 0š U9‘Àÿó4>õüw þShKî. OaüÇN`¯ÌøŒ|ïî°“í±gÔ?ù5<w%>O'âùB¯[qÿtjÚãÙÀBº¢¯FxÚÖ¯û ìS»‘iB|ô £”ë3¸!p—§ôjbbâÒíÄÄèÄ(=¨4}%(MÖÿcDŽr2 ø®hp@0[ä¦@9À:?X8€«•dxåÂ÷Oÿ¯‰À¾MÀ'킜<î:yÒ…0`p‹Ör ŸßÞpŸ -,ü¹ ³7.²êÿÅBË•çMòÖŸ¤Øœœm wx . €ö2 £À»þgàg -€k–úíŽWö/ñå–Ôÿøû€?ø UcS÷OÜî?™ -Üp߸¸pݸqx¿(;›;;›™LSsXDL†TS•™€X¸.œë–=¸$ÆdL€c/ÈBŸÛì¤Ê_Èþ "€é€`69œššÃÄ€ie‰à9DòoPùïÈ-ÀEÅ+YºAZ•ÇÿĪ!¾Ã#€p²ûf‚Τ:nލ“fÞQ7ó¦Óêuªi"@¯ÃÌÙƒÿÛí²Å‡—Nx±Úm¸@U÷ëUŒ„¢¡j(ê¿] ]öƒ„B,„X¸}û²èÐSþcìº ¬ÇgŽüÝu6¤®¥XÌ&ÀáÄ«(Ä"[v4 'o±¾¿þÝùÿ-l}ƒíCÜdHöeÓSñ+…žŠRJp r7âÙ-f -á{$®†îèa$î€p"Ø· @8lT«‰~:¡7G_¼¤d*Aä7x›" °¢ÅJZ%q¤è㟷¾Ã€wðDÀr‹·Ïßø?“ÐÿÓã7o~øéÍûÀV9nŸ'„ÿôøMQÿïë€-@'yyëƒù  ï$à]tõçÙmÀ`±U(áýïzx ª±IHn èóî?l ^ž¥sžox`_ñÏ}€£oì¿XZź€ýû²}‰ý·dé/Üú·„þò2EBü)¾æÓÔ@àç~¿ÎcÃÿðÂa$Ožìd6c9­âˆ[Ž,²|Ql› ‰é¼Ø…€ë"Бã[ð»Ià°Ø ,`"ÐÑñÀÜþ7ˆ¨Žãâ¯ñ“/u¨˜¬?˜"@ -@õ'jÀ>ö  èTT[à9L ð4+þtÓ‰ü1ýoNªõIÕt¦©î§³ƒ€uÕ\ê,MšŽ=àrÀ¾#,d¶¼‚´üOÑ)pë:–FCÕ”ŽQÀÐ( -_`0õƒÀÈt`¢?ªú«ƒ€»×î2L‡ÿ‡cÕêœ(ÿ±HA€9€W/?ð}ËëñnÑ­íHÆÎÞ’é?LÀÄBƒO¨0÷ú°ªçÁX%^èíI(¾ÄÂt„O„ -@x—ŸAÎÁ r— æ&ÜAÝ0èõ»0Ðûÿ¤b*8J ´å¢ÐŒIà‹ùšãGààk?Úúîú^'@¨]3€LÔßäˆÀ:Û/ÏB?¾/HÚ€ó÷“ó¼ãgq¦°˜ç]ö®äýw“÷!å#0?»X(#p°ˆ €¿©]¤ë5‘PàuÌî»Àæg%àèß‘üìˆp´FpÓZ€]Gà_,ÿeñÿ—Ÿ„ÿ_Rÿ1êO€Í~¨ÿÝŒþ8¦¨äúCè ÜÐoÌùý?Ÿ£“ÿçØØxÁ_{ã싇ì ódkgg3—É5M ýöF…ëj;À²D±/S—šKë–hp0Ø„öÀmÀ>Çò•@“"+îvÖ1hÒm6³£©šú ºEomr¹oU*&(€Å-^ò«Â&ȳÿÒ÷ǘÛ ?Èòn° P­7:„ûfhÀˆYoÌ6F¬¢ô„©­lfÔæöÁýŽlmeà´5êŸ* ·¾Ðçô`Ê_ éÆ1]Ÿ«úƒQЬâ~T'èÞ‰ -\ž û~?ý5n\ ˜¾þSF ÁX€<"^öˆMX€:g¼,E@‘ð #0"ªÿ-ž üç4áàh^_eª2 ··7®”t·âYÀ»aL3‚x©À§¢º[Ì -PÅ.•†û cš¡\ºÝ?‘ðOŒ/•<¾`©Yò)±·*„ÿ¾J¥¢ýÖ=Ç/~”[~@ç(¬úûÀq $WÔÅÔ@R¶þ÷ÒåŽ`Û 06ÿv±€)ìfÚAo1ÔÃõgŠÁ‰ü¨ùÑøWmr r,`'[·œf¯ª:;“˜HÓuúQz÷&¯C¹,‹¶$% €pŸþ/gŽ\€ÿ‚üŸ‘òÿ¾âÿ’Ÿ.>fn„ýrõïf€®¿`SúPþéú†Þ÷3ÿ €?>ôó¡‡,ð1x¡vvp°x¢xXÀÓÌæ6ýžÔLâªE){»£Ï'îÈq€%m]¸XàQAvh6ø‹yØ ààá„h ÓÁí{žxÍѰÔuà<‘Ì6™ XˆúQ‘Ú¿ÃNmÿŽèúÏù¹ú -b ]hÒ9IÌl2@½áÔF½NÕi©ŽÏü㟮¬ìŠï’^rë Ø -Mz J?ƒŒýXÀ'œõ¨.¿?Høï÷ƒ¹¦þw#Bñ˜¾žæ4»]TþS¡Ëæ7¯‚A€ˆ-ðVì-/•ÿ!dðTDL Àî³ ü5¦¼T’Ç}ñ´›@Ï¥ùÀ– Âê?‡(, x©R8r-b´Œ¾4èkV­ún¿7úÞ€~#â}Ó­4K^/;›1à‹WbGÀ!Bsà<€™@ðÇ÷ ÿŸ¢À¥k`»œLŠÀžÀ ¥QÛÏÌ”gÖˆ,–©²o$[H -äÈÀ‚k‘8B±X[{ëÚçd ½‡7$“ñ9@X00Û"&°<+“G„ü/ ¿Î—£oå¯ÿ…Û¯}ÿ•Õ_Xþ|<ñσìûgã¿­ýæß ÓÜs}¹9ÿÏö!ÿûç¾í÷úsàŇ—_dP<[þŸ(ž:sæ•CÀàÌä2¼ÀtĵŠh¹›¼ç—þu+gå|BÀÒº42üC°öMòÇ9º&‹ª†U þ¦ -ìè@0ùU‹;þDïÅ#)øK±_¦þ¥í@`¤û -×Eâ?êŽê$ -P7; §ju#ô–ºŠ<`z~²Ó8ÄKZ§üÑ!Ý_ÅŽ`]¯Þ`̇0Ð=$ðéðO7Õÿ -•­²U, ÕŸÙwa#ÛóoRÿ€gØJ¶p½%ŸÙ’ Œ;§¾@ ìU¦° H(JiØà¿;+ÈCà`` @ ZU þ -¯ ‚XRÒ¥ =ÆhÿĨÞ÷&Öd¼oÍ’’‰ûšìhÆšD™—ðæ v Þ ñ""è8ÏöµFƒ“³˜ó¿¿·ü÷82ï·\…ry¦Ý~Ø~¸Q{¸Ñž âž9/Àµ˜ÇsÅÁÚËÿPÿ ù$æf¹Ì_Æø`+ùn‹Y€°þåÙ -(Fd -€­þ×ëG&€_y øú›Bðÿ,ü—n‰¬?ÿ„ün¦bØO„ýÀþš_@?Ÿüþ>ý~¿}ýNCþný¶váÂ`ÿ…Aàÿ‰S«ÄÞþÒÛü+ôtų¹™ÙijM‡Y!ÔF–á+çøŠá>YèË@®ÿH<À±n¿Ä36è³`5l€†€ÜÐ`”n@àÝÁ œ $!ßaw0•ˆq±å‡]¢íÏ6U¶¤À³ˆýÅ3“I«î¨;Ì„ÿºI÷MgǜԴíCýÓüÔo”îêÀB@â‚Îþ.üûõ9Üó³@ðoܺ@…­øg£«Mw Ævwa @ ©€ -ÛäÑ´Y@SFeö´\:#ø0(ZÌÛL8*‰xúq_Ï_öô)Í>n„§=X<­ˆÕ@ àùÛp5å O‡#0BPŒ°RJèÈ-€RµZ¹4ì¿Ó þIÉãN(ͦ’ÁÒRÞÑ6 ÃIžäĪ ±(0)ý|ùÍ€›].ÀúÖ2ÆðÑ2¸?/èx·õn«µ¸XX,¯Âá‹?¡C»‡9ÀbÐç°æ§†ò¿V+‹…‚ ¾Ì`H(\ná ú„ËxÈež €ºôÿu½Ž¾‰¿Œÿ¶Ì/¯||C _ⲟ€[%7‡ýucþ0ý‡kiø§ê?ÐèÓoøûæìÛÇÐCq¢#ôðEªþ þkg¡ ž8Cøæ 1€®ì` ³¹ ^iH<%>`‰\`Œý;8ÐBá¿nÅ8#XzØÄÃr&Дܡ!îŠ[tÌÝ ï Æ­‰)ðÜöý‹ @f'¾?Ñ£4c?¿ÄM˜MÌ`צÿ³uíËiåNuĬku nÕ¡­üòæßÃI¨ð…Bz  - ÷ÙÀ}Šù}Aý–+ðÿ.W¶âãîr.ìî¨ÿü»^9 Q‰ï]¬g³éÀ~׊@Ó;@ùãøƒx¼·ÐChÝgìb€r׳[B’ˆ’ -€R5¼wA•<¼0Xè$î…=`,DÝý/NLÜI'F'Œ-o}ÊŒ4ÙÈS‡t{ôÛ÷Ð1€?þÑ:ŽØ3.QÞ‹öý§þ ü!b[-Å¿ünrVÄþ½K ÕiQýE?éÄ#þ3í™2ÚüçË„ýÇç?p¹]÷\\«µ/Ôjm¡•àà"ôÙû#ËÝÔb™ýh -€ìçœ"áPGßÄϨÿ¾níï³ß-qí»% ÿvËŸ€á†ôKLÿ ýŽ8À\à†ŸÁ_Ÿ¥ÿ¸„€þC¢þg  ¿ -@`°8¸zæ•ÕW^9ýö—î|@ ×ä¡<,v4¸¸&XvÈÊÉ?ë20¶dû5Îd`c,&÷­†ÿÏšœ„[ûÄ Ì;:üt— -˜‹ÿJ@6öÉíÁ¨øÓòAÚÈŠöò ÖìtZÎF/88ÐÉŸÁÒ2Ÿ‰®Û9Ì?ܜƫë‰Ðí©D áv³`£ ¸n±Ù¿«l£¦–X'c”ˆ˜”Àn ýú8Çè’¡ -:³þÅØ øè݃O,ŸÏÛ$øO±€ÙetZb$Pšê¼»»‹êÎí£oà/•ÿö}¶üï†ËoÀ²ýí|¿nÜïOÝøÿtͪÿýs}ý‡ü²ðòSí €nÿ_<;xªVÏ}§jjÖ¶•ùlÍ¿ó;ÿŸ@¹K¿ØCt¾y'Ä\5÷«üâA¦)€?& º -ö– ”èã`@¼ÇÓ}‰×xB)õ-ÿ]ÖðVc!xàH…©þŸŽˆ¤I Ä0Ø —RUwð½àDÀÄ›†7ãÖ•f¬äMÅ|Mâͦæ{ì;Š<´:@nIë†äáöKŠ„&t¹ÿ©`¼Ö‡òû[I®þé\oü·×jýéòˆÀì€ÅÅâââ"R]ôqXXlÛµb­X.ž_\¤'ˆ”‰!Ð5ï&FÀæÀvO»§\/÷`PC#ؼ¼·¨4{ôíÛ÷_¿Ûô— Ÿ -þ· ü·ìòŸ+ÿŸ¸ÝFÀýzü{ø=€9ýÆÜÜÏüþ¢ø¢Â?444$›ÿTþ³0Sƒ0¸Z|~À`ñÔê™ÕSg^9ý6ˆÀÁ¦Ow¶67w2KZÅ‘uT* dú‹.€°õwû9ˆ—ÿKš­äxM0ÏZÄ­Ëd@x``5€Wˆf€Pü*ß:¤ì/‹{SjÿØôC%?|’ûþ醺''pØã 8ê u«îpò– ÓI$`”“>ÃrZŽÌa–þÓCTµÀÿQÙõŠ( &¼{âSJþ±˜°Ä  š xJ¥’Q -—JÊa >"h¤ÄÇ ãSŠOL{è+`0袿$JJò‹¥@¡ì®hì†Ã Õ…`?w08\ðn‰’·4àmVšøãóåxÀ8ÄàIn‰ãD; ¾<;ËBÀ¼ú?ÿ!Çÿ!? û-–[ÉÖýû­$=ši?¬!áç ±î·8³X(ßs}€!@ÕÿƒôÜx¾V^æc¿ÜŒ;MöÒc‹[üËÒié€\ùs:Ã\ŸP-Ñãý•Ž~«cSQÙ;äÔ—ü¬ÿ‹7ûÊ}§*5â ¿Î}*ú'¬ð;jcÉB³¡ùû%üʃ]ï»ÜÅB\Žô–š]`Fø¥@l –¤ ÙäuÅ%C)•nÑÉxûÏ=àóz+ñJü:ï)¤³Š’Ð#¬L{J†\‡È¤(âÙŽÜU®Ýõˆ‰ÀiÙ P -#&XD–RQcX€áÑ îÍøÜ%lpÎ@lhú*ÍX¬â;"¿$`c !`y™9Àþ©¿ùùþa±¼H¥}{±]^\£ûh #(®ÕÖ.‚pù¿ñ\í9±ëg­X.,²PX<_,Öj2èBm†¨‹¼¸,öÌ ±‰žv»^.€p"ରC€eMõè'‰?j}»÷ïöÝ¢ýq‡)€[ÒTý€ÿŸ? ¤Üݺß>æstæ?žú - öóéE9ù_;Kè?3ƒ€³íSÅÁÁÕÁâê‰'ˆ¬žX=õ61€3gîp `egçÉfn³‰|ÿ¸ƒJr˪˜€æŠ‰B^ã‹Ö`/×-5a äH^¸¤‰X KN˜ `ˆòŸá_#ø×¤çßêÝÐû1wÀž>¿%(ìB'°»ÿ˜ñð¦?Âÿ‰Ð¥Þ@§ C±ïÓÅìXpÿ£)ðŽª:-ÓÔšK­±yôCh -¯ŽC?Šÿ¢Ðdó,€rCqSØð†R©yËÀ–¼C@|>ÍçmNÅã}ñ¾Ù1×XŸRª€DÂ¥»žRJ‰ˆHC1@`n?à(@HÓ‘°¢p. Œ4‚ï O„|Á;£Á…H¤¹€@·Yñ=vMüO–dH“í#˳Ì’‚œ¼‰Bþ^qq ‰?t,ò©]ÜX«ôŸ«]\»XAÿÁN¬‹Å2šTíè~í¹7jSã, ™  ½ mÅ¢Ôÿ3õ™±òL¹^ 1˜ß›¨×e €s²q4 ÊÿؾÂT€/n_·ègÑŸÀŸQž`cþ$òËë9=0wC¢ÿCù‡ÒÿwþkHþöÿZ Ð?x¢Hè_¤êÿDqpõÝ!ü_=Eø¿z°)ÀÎÊÎÖNf3÷IÓ¬˜ ‹j{Ë!0º€\ Ì€@zÑX’«‚AØ%(24` 09 ˆ*«O$‚‚àúÇ,П|¦)J~¡í³eÐâAD¼ÁÌ -jРJ?Ën@f bºß¬£=@Ïvœ,™@Á@§´Å"%+›;Kžß÷ò¿{0ðŠàÅ»gèªTôSýŸ¡#&x@3Ö¤÷•JÄnîÒ3ù{ÿ9ÞÊcaûËñ¬RšÚ#ûâÛ‚x˜x"¶0=ÍûXP¦K©ª1|;8ñ¦[NôéÞ­R -@3ã« 40 2~ôkø ;29Gù™)¹œÃñH}ä¬;Gˆtyc$€\÷à£=³&Ä~öçÖ.âôÜÚ‰Õâ*ÏûãéZmµ¸èúfе"&ŸÛ¨ýü¨ µ™‡mœgÊ33ÅsçÏÁ;ØF¨@»^î)÷Œð6@q½ÜͱEçQ n9îçö¹…øïÿSSSvÎ?¯÷ ü×Çܾ»súܼÿsèù‡††übè¿Í±?TùSí_£+ÿO`€Š‚þÁU:N­¾ræÄê½·‹Pö—m.€\ÓÒ²K£’Ù²ÌI^ uT¼îOc€tiÊp€œM,IüBÐäª`ó8b¼Õ°œË-Qþwx8°ÁS‘H,\ƒ è 8  iýçð_Uöœæ÷áý3éÙDGˆ~ÚÌl¯dvö–ØîüÞÿGñ(éC§˜°›èüg¼ýíi@vÄ À`þê! œˆeñ¾øp|ÌÕÓW*ù˜Æ´çÌý’Й ÀÝiTx]X¼+À]©ÜéõáQ]§/š¯g¤·‰=@D8bMŸãqÅ÷ñÑ/â/ŽøÊ'?ø¿>¸z•Îÿ „€Üz£ñ¨n¯i%y ‹êÿâÚYÍç^¿œý»øÜÅÕçÖ~¸voñ×÷îÝ[]µûÈý).î¹PÁ†m¨ÕÚµsí"€Bþ™2K årÏ"[àD@þ³î?ÛPwý°þû|€~7þ„ÿ|žbøpÈ¿;ðöøÝøeì·«qÅ?{ÿaþ¡úÇÌ_í,rÏž|÷ÿt ì/®¾‚ôÿWpCdàÔ½3«„ÿ¼°ódk3³¹B0€Ð;+ôvâ » @ðï°w®/5- ÅöOòD }ø6 `€Æ€ª|ŒšŽÎðœn9{ˆJxDh„÷XÄ¡Ä ¹V.ü¦èÿ³eÀI§wýÑ`Ài>êðóN³óÈáTŽ%ÇæææJsg‡ççŽþ—ˆƒ·x•švãßÛu  8€8ä<À€Q* ¸õ)ãÙü•?¯P!6ƒ$àx| &À`ºA¥¾!ðl3ÞO{ðØãá ÏÞèDDºêBßí;ÁD"81¬+[^¡x5‘ÐôÒ•Ï?úáúâŠðt¡pþêUÆÿ«/ÿýW®¾ü•—_>ý•/ÿöþ+or3à‘˜ hqúÿ"ê{t÷ÑðŽ»þPþ(ꀵՌ 'èÎÚ ˜þÛíâ¹µsEVäAõPž/Ì °xŽNåsísÜŽ€|¡À­$ryàH¾^·ƒ¤ àè§€?`?Ÿq’Ç”¨ùopº@6¿¹û+ÿ9yæjŽÑÍt^¼Ìõ?„ÿ³ µ³g!°ÿ  ¸zfõÄú¹ ü>À"T€ƒÎžnmîd2›Z3nÅ­F¼y@`ª†u}"ÛÇ ‚rZor&ðúÿÚº%:œluEK‚>à_cuß~Ã|Ä»¸î—û2)cƒ° 4ÄÓ©¢uw;ì@0‚ÔºÉö4ê`ªà¹MF±t;VÞ"àg'üxWVJ¨tC¼™-–ÿ·$ôË3½ƒ À]rÏÊåökŒzÍ×OÇÇz{²RØ…`éØöˆ8 HÄ&=89íø¯(¼°o"¨'ú@" Mïá¾åhú|±˜¯òøhà©<.¸®ºÎ (Àé—¯ž&põ+§{¿tõôi:Ÿ>õô—èšNg¾|úüWNå+ç¿ò•¹/˜l®kXlæ`S@29ïr-¹¶'¸ßàìŸç6.Ö¸ðÖjµçVŸ£êÿDͶï¿woñ|ñѱ%€PJnwôp‡/Ö$àHÀ.ôÄo•| ÌAáˆÇp£à±ç„a€{¢ CèmwïNßU ½šè¿C`jøÅ;ºâ‰4AJ(ü±@£;úcpû‹“à×{ -„ü¸ù_~,€‘ÿô[篾uúêóo8ýüéógNøòé/åü—¿|åÜ—¯”Ïö¬ø¾02öñr1Xw¢ñ¾œäá@WaqmPü"ƒøü/Ö˜Hà8!Æþj3µ6ñ€"¡Eq±Ÿ`Ÿ _Ì -Ò3m.üÛç -e±%–@N`ûÿ2V°`_ .çßå¶ûíŸÚ«ÿQù£ø˜ºqCÜ¥?ý q{ƒ ½~zäD À½VüCsPÿCC—^æúŸ0ÿÂÙÁ7øÝ;ÁM€AW‹@~º€¼}ï•ÕÕSg œ¹wïÌà©Õ3§6ؤJù•O¨è¯ú~bUPP«ÑŽ·õü%|Þ$Ûÿp:ì…rO £i/ÚëX@}â(ôÅš uI•ý~zŸ¥Š™DÑŽA lŠU&Öþv²²ó?© -­û~‘þOðŽ£c>I*"™šenæÒZ3³ótûé¡é¼„㫯 -ôgø§ó_½û-¾ûoøæ¿ÿ:½þ*¿ñtü&Z×ýÇ #œ½[[™Œ=àõ4Ý%÷³úš|N QEN`*<Ù—îíI¸K »¶à–-öúy D¦!`9À# Ïzä: VàÿKƒA½ÙRJB:á1@(ÚÑà{äÆ -\/ƒœ'pš+ÿ«TúŸ'ü?ÿÖù·®¾EõÕy¢çOŸpþ|áyОў±±Ü(üóo=C\ ƒn’×üÝoÍ»Ëí5äÿÕ."Üoƒ ÿ¹ (k?¤ ÛWk«k'˜0Ô·‹çŠƒE¶Eí?Cç™v¡XXtǰ@¾àêÉç{ð·x!à2¯šíüœõ# €ÿ!øO¹å þ çßTÿ’ý°ÞúÿÔ Vøõpùñ¶q׿ÿ˜nˆ®xþ@ÔÿgûÏJø?{bpðÄYBÿƒt¯†ðŸAªýO­¾ ü¿G—·WW¹ôÇÃÁWN ž:Л‚©@Îlæ2+&–ð:*ªZ±x OÖŒ›qïÀn4ù×¹Ü_’h¿îÐäKëKb‡b‚-Ëêþ"§X0͆&ý ±J Á£hþ7ÄGàVjw9°Ó=ýŽïc,h89 c13è4ˆÐ'ËZ™ÌÎaþ;ÈÀ—Ñ_¥ƒaýÕWÁ¾!8pÿ›/¼ŠêŸðÿþà«_ýú×¾Š71þ¿ôÿBW/ýâ7dM¹+» °%î ‰`@yføÿùÀÇ>öhqG<O?cPÂE€=S€Â àñ0ÞK@x"b,à® S—‚Á;º;|“@¤©”šÀ&@"M$)_¨ð¨pþêÉ—éüÁËW_þû«§q:à ñÂ\Ÿ~ëü™ÓàΟ¿r¾påܹ2@ì í|üqî»R àó8'—[ùòâÛù.b`mÃþOP]xo¯ç–@ñÄÚ™"ÒΙ -бV<·V¦¿s¹èwÍÏ»°7©`r kË"HšeÿŸßçáö›rsùïÞ×ûçê?0¥ ¸ÑÇá~:pž¯ìí>‚è6øÏ!ínѸºp¡Ýÿ³gÏúÏ"øgðÄ©'þkü'X÷/žY=S|åmº~ûÞ½·!ü¿½ŠT@1 X$ -p oȬh3ÎÅwZ• ‡Ö°ØÖÏ]KÌdìÊßS€9KR–=‘ ÄË‹°ô¨!]ëŠþùGvh šb¡xG¥!’ƒåBiûç6¿Ü`½ƒDzÂÂ8€ð šÆ#‡ª5–Ù¬#¶ùäÉÁ…~.ñà3`ðoá_úæ_ ðÒ7^]ùC!¼ºô¿|㥿úSÿ™àηþ׿úÍþþ°Å‡P¸à@©9p8·bÞf¼ò8ñ8;ü 0ž˜2¨bŽ‘ˆ{¡«ùA"’p(@äW(ÓFÕHÐõ…àp0ax‰”ˆ5•2š/F'xˆ€/ò—Òã^*ÿ?¸úòÕ¿güù¼TN£ð‘·èÎÁˆ ÐëTÿ?_>×{®gt,½þEÿ}~á@M¸Î:Ö##­‘zkddqf£&ô|Ñß§ò¿X+ž»wþî¡Ú—/nÔfèÙÅâ½Â?`&p¸~Ñukÿ¼«›ùƒGÌ–Ñþåÿ¾&€í¬ÿ>ßÀ#¾(À” BÇ :QͯßÐû°ÝׯÿÌ/VüŠý>s¼ÝghðIÀçË¡ËClûßTüŸÅq‚Ð\€³5hPŠƒ|(gÞ>qï•{t‡YÀêó¸œ›Ü p4–`Dûßlˆn€@}°I^dCš"Dˆ·4D$œùG ,ümM ¿ƒØ½«ãÐ>¦¿DÆQÉ=Ù9xÀýêùó?E>€(êÅ饯þ)ßùôôW™|åÇÛ^zé¿ûêKð}ºÿõ¯~Y€Àÿ?øßü÷_ÿÚ׾؟ -Ø€Gtˆ<»¯Öçž ê<Ÿª$*éá½=•„¡(a*þX°Mùb% GÒ€=@(Ìvj*Ñ%àÖ‡éZñx¼†×ómÅÄ`Ó«U|¾#àYuûz\ÿéÐùeî° €oÞ:/¼€§Ï<äà4·®œ+_)Ÿëû7 cÿâ;¹ï®cÙ¹`Ø# w s’@¾Ž@Ÿ™¶”ÐôGöO™*þU"'xðDàõ§>@@0]½.W^Tý(þgéÑlПêÿ^Êÿ¤Ø(x€n -`ÞÄß_0Å€ï{,*~Ÿmí -Ö?©@Õÿ}7ü¼ÜÇ^ìgßá3×ýCö/%€!?²ÿ‡B/s@Öÿ„÷'N1üÓÕ+D^9CÏpîï=¶ü­¾ývñÿ©·Ï0 X=sØ_2Lsg©ùI&—Ù|òtgåéÊ“ƒcØ~•uû?§ã%)¼Ê$`Ï àO¿‰»úõW¿úÿ|•åï¼ ÀWWþô¥o}‹Þó§_ÿ½ŠƒžþÖÒ7¿þͯøÚJv˜@À8àa!¶à˜ª ÐÓ;•˜RšJdÚ  ÁODÿ·y#dø+"†û½`pX/éÃ~A°EÁçUPùû4 >Âí/îgO+\ýÀuõƒ«ÀðòËÿãËÿ¯þµÍþ ú €—ÿt\)œ+HÿÛd2üâIîIn}Á¬Ð¥óèш³$&@.×±Âg¤]–©þPö©Ö?߆ -0ÃÁâê¹{‹ç©ðG> v ¸ŽC÷OÎóbÀy—ÝÈç \óç9üg›!,ïk8ëª3]WÿÀøÃ?þã?þá¼–üsûŸ-ÝÒwþöÞ8¦Í;M½µÁÚZˆh,d7 Ø [ - Q! ‚(ˆ4rÊ^ò±`ƒÏ† DCçrQyä4Au” j”X«ë!!T–<98R÷†eG[4ùTK}°„¦7£3œ@ªs˜Ì¤+Ý÷y¿Ïiww:Óèæ³ýÙ“êð<ïó>ïóü3þwæ8ÁU^î.ìs¶ÿ?Óþ¹bÕO…Êý+N5‚°½¼ý5Œÿ˜~d2˜ìF“Én6 þÍÄ€üãQFüqùCæ¡!b" Zf6•™¢YÓox·1 (Ep+½‘ž^7Vð9ü½±$‹ùåÌ,È”ÀÕ@àïUªv@µà ð«ëd>€K, DiÏcÎðk¹ëÏf|2ϰ6ÀDAî à•Âú¬ÿqŒ¢öçA—µ:…ž-<ÞÚ^ÚZöúv8`çû ߺŸ#¿…`~š¡¼N¶s@sèÆ_x‘€¡ðg¯ò'ë,?¨{Û2=ÝØH×Â7_Í©k¬€Ž_[ßèúv¦è¬{½ûøóú†€•ä%‹}@ž#è‚Ü*µž-kߨ騗`WÈLþ¤TÞ;ýÓŸvŸ9ÕYUÕÝÙY•w àD¯M‹ %à/zß"Ö.»GDÚ„ðB€€M,°íã¬9Àð³ú_ñxgggÍ÷Ûõ¿[^öaBP -)Dt!*#²û£»ÜÊǪ´û?…*0;:ûiÒƒ‰œåÜe5 .ðÑG—Ï¡P3‚€èœãŽÀ‡{WÖ„÷&<[`21âöÖÿ›é¨ýõcC韀~)ÿç]êì£ú?€Ÿ1€ÜDã?wøÔpÅ©ÜSðùу9¤ý°åOÅ~ÿMÀÿ9P€×Ú1ý‡Þ?ª:ìvâv;ïý1q±?dìÓuü8îÇé©yt|:G»‚g'î•:‡@÷ŠØó?òʵHÿ¼p(À‡©ë_9‡žh€Xÿ#^ ¼ËˆhôètqÖéž¡¶y³"­?Ùø×¸´[5çýQ’¾)ÝþDÐߌkÞ%Dè@èánîžúŸ }ýá¹Ssúç*xÙ/®pý󣊊¹&:¥5•7•·søüY&yükì»}ˆu€!1öO1§ ™…‡æè¨yÜ ,|γß¿(]„*né,ày?­h3pþŸ ¢ €¢?"‚´Bˆ(˜öS”fýèDèA(¦ú¿ö:»¿ö±vÍåZó.@¡œØ«Î¶Ü¿öðæÃ‡ÃÎkSD€áÙëY¨«dFpŸÀ^F?ÀRWýý:Kã4½:‡.Œÿô¼ù& ÿ‚T~[Ý!ì§ð',jX, l}½úÄÒ]ê,/_¬³Ì@#¸ÈÄ€>WY ý?›¿‘Á_ÿ¬d3¨®þ6„àæ¾þì¾±àZ´.þ§‚zG‹Óak.¥2þ œ€cе>+"€µ~Áž—^}ïIw÷_uWýí­Î÷ûnåýMÕ­'DúJ­Þ’Ò5ªþ¡4`ÐõBø€‡¾ë•.áàÒsFWq—¦‹‡9Ýÿ.œ]<XtáÙ+_¯ -<þíºO¸B¼M0æè ]M͹š?!Xg öë9äçòµ»ÂãG—>„×8÷ -žˆ¢oøO¢þgû>Ë@éÀüÍÓú““ïÜ1­­š¤Ö$ûAxwø0ø· @ÊÿÍìûë €kÿÎKy²ö¿‰;xü ÷‡¹áàŸ«"ÌFÍ´}:!øð -ÀÏ7À?Ìfˤ iÕhì­“dè_ -Ü€¿2§ Œ#`A@Ü ¯$ø·{ŒžƒÌ¶½kÛëkÛ¬Š¢ïq»Ñ ˆ;ÄÎ>ñ1Ù;ÿõè¨3€¼("GÅbËþ¿Ü$k…OPÿ£ûÅÄãXD]%,=üaè!¿pÈ©œù™öeu0ßÇý‘5oÏöÒÚ2l«\}·îóÿ[o=^ZzõÕWßúÉÃùæçoê?¤£2‡¡ÿ û4³§§g¸Âþðç|Ÿˆ1KNŽešøB%°Ÿîí+÷à¿ ô¤:ç×ô^úçS€ýýá}óÖó}¶^§Ûé~ÃÖL Oø sLUó[[Òì'€Hª—û‚…P*€±ŸjîÄQ•×Y -I@c™¨ÿéÆk\/€o“Dô## ÿÒu(´ë8OW÷ý¡ý‹0nƒ]¸váÚ½>¸«™#1`gLJ…Âtè8A¦bj>ÁbÁOî~rù“»wkîÞEÊÏå»TîsŸÿ2t€sÜïÿ01ø!ö_þdOòo¢îß› }V!ëÀÀÀü|EZòC²‘(@±€ý—±mTý³úŸžÞ·¹Ûøìs÷_Üþ¿´í+/s¹Pª¨ö—¥ÿ©9ûrÉNqÙî»Pø´·—a€€\c4™5vø FìCCãCãæ_ÑI34~üøøñqó+tW6ZVVT–e0ed˜[ ÿ´°”¹æóú¼^ÅáÖ*‘€ÖÝ@=~"½Ö€?Ö+,ý0ʶ?ª}$c›‚–\‹>±ˆ¸€–§¤öã4:/ÄdL -Èÿ‰bŸ‘ÿ¼ðhåz ˆš"¤U‚äøçkãZâ™À’wiËåóíì°÷oŸ×lr`Ï[Bø»µßÿå[+ó8†ïN©äš ^*upTŠÎj|îXfÞ¬´ÌLÏ;xsšáŸN9ôŠlF{yTªçÊl¾Ë¦Ä#Ú - 3|3à¶¹.[CÀæl:ÜÎgp¬o H^zújæX{/Z°%Ø@â³™õPÞëîþiwÕ_5w¾ßÙÜÌc€[™écÖõE[æbÃ"½ñ¸{ÛßÚ±îsèÿ©äÿvxDÿÿ8'Èq@3n]YÇ‹‹»Š³Š‹GF²FŠRóõNçæ¾}ãÙ)1Rºˆ–÷b~_è¿‹|úåz¿†ŸÐåÃOÄäbó¯ø:Uÿ׉þ¿Î­Ó=Ó$ kiÉ@éÀÍÁú“Û ƒÑhO²kö›¤{Ñü·õ¥onnö õ?/Í8ç]âkn^^b¾_þ“ˆýshýç7å7T0˜+?%J~™ý@9Šÿ¦ö‚rb<ýGõ¿Ùdo5µjˆØ¹ ¡ÚÿøÐ(l€öñãWÌÇSR¨ôŽãb5(C  ÕØê±Ÿôœ4`'À6öçø––°vÇñ -ÐÛééÕ9â¿¿—C}ý.ŒW1ˆ‰5@ÜöÑ/D–…!À‡ô€exc p¢>€/b?¡Ø,"DÅ/†´ª -‰ð™çÎû›Uá€ɼ`-"®û•ë -ŒëÖ¶—|>ïÎÎÀÿ*þ¿õ¯%Y+ül~þƒùÕ‡ás·«³s²¡âƒ¨-KÝ4=Éæþ¾4úMçTNÏÐK,–œFõãÕ²wñ?§zï£ê–,Ù3H j;¼û¿¹àâí|G^ÓÝâ³~"o¤Ÿfµ_ÔøKbúoKÅÿÌL5(¡\eàýnäU½ßÝüFgg7}mÌZß`Ë$ì·•ãEЋÀ·©,o¶Œ¼Ò5" ÅÿM5ÍÈRˆdpõOŸÏb `D*ÎÀ~ÿ¿ìã~À2¤€7 Ù‡jt‰Ãòø„.„ýb¾YOÉýªã Ÿ¨ùÕ?tz6ƒú†'ÄN§ßü8-  €(ÀI(ûÜ(±úÛ ÿÛvMÿTñ7_ÊÃè?ŠÿܼüËö…ìþÏ -À®nÿcÍo>þ!ó·‰q5?®å¢øç娱{ÌhØ£FÑ0›ÍãC¿2‹(@óÐq,€`|È<åñ† “¦µÕt²Õxò‹[ðm/jݽXÆâŠ[qGèÚï.Ž»ÿàTýÿô‘0žEé†A9(ök…<Àç]èÌ›1O Èäº_ `RS÷ -ÉœÁHŒ3bÒ ‚Ð ô'Ž¢¬i]kb`ñ‘¾÷¡ÿsÀò¯‚h… -'æWç76†Ãçª ÀE+@’XùêzŸ©@%7ðjøÙÙjÇ?ç)PM;²AÚÚ -Û&ÿsŒæ»JÎ}Àn·38–."¥UcÝ2€ À–J„p+SJ™¢A ‚žœ¾õWªÐYÕ™Ç.@n¸„`ñn{ -À²Ã9"<€ãÈêÒtgÌs€=]æbOfÌ2Q@E×R¬=‡âË‘åˆ6¤Eh@D§ú%އ%?…÷ŸÈFͽ_œv¿’P³Î!EG§g£`gxCiéÀÀ‰_:F€êàö‚dƒAÓº¿€šôŸÎÑôÏú?Á\rÅUX€ÿslhš#~§ææ„ðÔ©r,û9%±_=^#´/hýÖÿ‰þ´LFž ê¿5ƒ˜Énˆ£v jÿããϸ24>~œ G£ìÌ¢ú´Ì•aÊÐþ ÿOh#Àš×çs-ø+€¾Ãߣôô†1Àã€J@ÐãùBŒ54~èÑ AA숩ɨÿ¡¸¡19à‡#@. ` 6r^îRK}¾8/XBŒh/ ‚ '€˜àëñx< ¸ÖÖ|k;|ìãA}m ÿbyOÝ^åßo““7V7õwoc€¯qºj=¡ÿ s€º:Œ6rÅoá»Æìj~Ñþ—@%œ€ÙÂðk¾&¼ÕðVWædÓÃÁɶÂÉÏÚÚ>ûì?€­ù€+t¸îà6Uý0¾W_ZEÿ°µKêཱîÜn1Ð×\õ>+X÷Ùþ¡þÓs[[Û‡Wâù:ð„ ø*ïÑ 2[a4¡ïßeF0„˜@FĵA€úçoü·þ§ð|Kœöˆul€=@Çà^£{j¬ÿ)Ÿ¿pû= þ!Îà«y6 ŒÀë“Òù7_úøã´ -ℇS«Ñ¸óìéT÷Û6q¨Åÿ&Zÿü/1À%Ñÿ&c¿€º©óý8àî纎Nù á¿éµöòŸ—cëÿý  €)@¡À`´›LF³F£iµ·šŒ¢ `·§°ó‡ÿS0… M€âqÓèè¨ @t0æ˜0Xö.÷öº ªFw„9@/ºï1LDÄR Þ¼ þ2`y>‡.‚OpqH X+$ÔÁà p¡üׯÆóD WúrO°_úDñϼ ‚{™2ˆ1€Ã?¡¿r]«‹Ä|Ëëÿ÷ï7ãVaáý·Úî«ð/Àø­ð•‡ááðT6at#ÏñóL¿(ü1ê?Ó(luuŒû0þA -¨Ä:þ÷úªU-@ ÿ£úöÔÔÔgŸµùÉg‡’|3Ðàr•PYØ´9Á^}°7hûŸTõ×—‚,V¥É ¬ÿ[%¿ÚÈÄó½@d¼àýw¦W½«¹*Ïq‹¾ ÐgõZë½Ø@Àºï`'siý»¦Œÿ3€ `Wq‘€wÍìþËàà Ž’]0€ž8ãtn˜Ø¯8| rP9œ@Å»nW B „wUDé¿õ¹ê×éâýu þà(ò,R×3×ëë­õÖ'ðÞ<ñÒÍ?fÔlGnÁ~ý0÷›.³ÿú6áÌsÈêC”ÿAÖý9ù‡®ú«}æXýOCÄÏ\E¢ÝÿZ¹lù7ösò?¢ÛÓÒŽ=HëWë± €ð»†~MÛ1`²ÛÍ)¤²?:tüWÈ$ðçQ@óø(\€Ì0yì­­'Eà`·¶½ >Bm-‡EÜîÅM¼-þtØ|ÿþ÷ów Z±)˜ß¥æB`ØÇ¡K5ª€Y@D®ž€H,ÑãWUõˆ$nX$,<1Å]‰û¯Ç•¸îz\GOˆÆøDÀ~)…ç -þ%ø×É ~¿>O8“.~8ìÖ…ïRÁÞH ÏN@Ôý0ÿüOשCà»M†ýF©@¨Ìf#@¶J*¹üÏ©~SpHS7jj¯ùÉGGˆ|Ç €· ØÖ` ¸޼^goð>Ûáýé'„åÖ¿IO(™’ˆ>o-e&f¤E“»‰œºu«ªª;½³³¯J´2­¶u¯ÍË-(‹ûI¶v¶wÖ¿C`}9¢ééB]Ou~×ñ SWW—¹¸ëÝã¼ 8«8ÃÃ)@f^>Àൠz§Óé8HrÈãǘÄ.åå…eUE€ä¡8ô€¸#?u¿þ!ù#tPAäPH° º{&?ÿÌuë:1€’ÒwæOÌŸ8uyˆÅ¡:xŸ€\õkà €<ºäoæó‚þÃ(þ«†«†!ÿW‰}?ÜÀ^_÷¡sEÄ?A}>Ÿ_c"ÐŽÛkû_FðŸ–öù±ÏÓŽI`00üÈ`0´f´ök4&L"p, :nç,Àñ¡”ññ_ó]ÍCÅQbYefÄê «Ñh<Øm—ÏgÓj‡âpè ¸{u<èwkÝ~Å¥8›‡]‘e-L¯œ¤ÕJ%@ÒH°,ËÍ@ÿÑ:`3¬ËRàE²à<…ú»è>ñ a-€Å?gaC ¢# - ‹ÇBô7XÛÁàíýYLÕ[a[Á]¡\õ'½õVÝJÎÉÉaâùúš„ÒÙ(ó³عÞoœáP@4f§Y €/°NelÈf-x’ »Õ?ˆ€tði0§úöÔÝ]ð¡þŸ~rä'mm‡|ÇòHÀí¾ñFßXº TÓTIÀ[² ¦˜l©9(“÷± óÇ'lkî´UÕom-6[¸¾hµ1þï7ØæÈÆíï ð.ç9G^)À> ‚xÔýÅï¢Þ÷ÈÀ.ðd˜á -Àn8~w@ÿ^·ïì¬3@µCîå‹jû—Éû÷ U¿øN,‚,Ú0æpô} ÐÍ -Àûb L2I€™, l%À–ª”vß:ÕÝüãÎæª÷oußz#@æbº5ÓÚ`]w-²ÐÀ³€ûY1ïÐenß%`d¤AÀôï*6w‰9@ìâ&6g€Ÿæu€ŠŠôùz§ã ÿÝ«Â@"3 "«y…±>$Zü¢ÃŸ¸SP_*åOyz&?ÿúuºZ­HÏ(H' -€bºñ>0lÿ6®ÿû¸þßÌÛdpI”ÿTÿçüCv‹Èÿ|¤ýªáþÿçð \HHù—ûþ°ôGÈÿ+µÇK;v à4¨ÿÉL¹[ ðÏRÀÐÝ<„!$€p°Ù ÀhY–ÙŒAi4žüë“'ÿÚØz†\.«_é!@ðïî äp0‚ø~Aö²ŸE}‘ ŒŽ€\1µ °Ì£œLŸ÷Iº°ÀJ€ÐXØÕýÏ %`OñÿÔÞAõõJ,¤Äýñ—áˆÇѵ%¿ommGÔÿÏíÎMµÕQõ_XØVWÈÛ} -ë -å¢\ÞÂè -ÿŸ»wkj>¹M@­ŠúHúÙ³À‚ 5˜?Î*àþ#Ïr'€.Õo¾Yóæ¯e:@e1€ÝæêÕÕæ~rÿ3N%ú®€††E:ó—#Øìp;ŽôÅîÒúúÓ¥PòšÇ8çwnm©-€-±Þ)[™‰CšKOwwžêNÿ?aLïËKã½­­Å¾z(Û6—•ß·Ø`ÛW°½“¹ƒ¥M¸~G¡ Ð…ÀYìßåMdÿb0C.füïâ!€"½^‹ä —VÂyD5 @äç¿J „â¿[õ'~ jé—ç3ø¶2 ÿ½õÖ'%È(=]B'AnVT´·''ž»þÏáTþ£ögý¿ðŸw)HÕÿpp˜j§ðjØ èwžBÎ?À)éÿ+/‡Pûgü3â·û˹É_PVVFõÿ±Gi€ÿGtyÀ1„ý ÿ öVÜüwØ… Àü‹Ž¡¡ÿ•ññ¡_Ù£Cãöq"QbÑb¤d C¸øO_NøßJw8`kÍëóú\1G/¦ÿœñˆÛ­WܽHPI€¿—-ø.¤ˆMr8P«õ±Ëd ¦N6,,°`¡´ÀçzïÝ1IàKxd ?á|ú8¿[ÿsF@ *ÿ·)‘ëqƽ^ß¶o¿üÿmm“mmm„²m ȯKôÐRøÖÀÍTÛÝ»›ºMX=‹ã¿6Zd°E%â©ppL  -üêˆ`Bà‘€lù çMi„&@Œ š@8¸ººúÁÌ}†X‚û‡‡|S °äc 0Ïáv¿áH/S @igsw¦\ö+ Cÿ–Ì^ZâÉ“PNwwÿ´ª;ýÇU·ªÞï{  ¤ÙJÒ⺫ÁÊ€oq?[[;Û,`oãwƒø–9ˆà¿QÀDŽw™ßå`°ôw‰UÀÇÑ(ιZT¤?£w:¶Ó_V&-KPßøqpÙïO DýU¸¬•_¡}`=.«µÐôRJ €(ÀÍ›Mý?O67uîvÎàÿÈÎÎΖB¿D}±°N>oä•Ó  H œÁǹ sÐ@Žp¥°¼‰~€ô¾y#Ú$0•(¬ o+À7#¼™Çg[ÜtšÍÁÞ`sß"@)€ææÓBÛ~@èþ™BÀ9€€îîÎ÷8væ¯ú:;ÇJ»óÆòžlm-J1(µí"ü·úxp€íX €x­‡ÿ·¼ËAŒÃÀNÿŒwaöç=€þ‹Å€øˆèt()º0‚u€ùÎëøwÚw| ˜ÀõˆJ´»×ú‹³€ågðó§·ÿz}ýˆàã‰Õú~€'^"4m/ üzž‹àûGöŸÜý' €›—òò6ƒl@ñï¤#??ŸNDèQy~>¡?{ÿ¨òçtûÓšÊ xÏ_y“0ø·³µ±ŒËüµ÷?zðè]èŽU€Úþ~þ<€;†“'‰´J - §ì„÷)v3±€_ÙÇǯüâWCè°À<:j.ËŠš5f"Àý“l$u2©5)é@ïÜöù\^4€^·_눻õ===„ý -Ý+nw$PJLA‚/&ò9H`?á² ä €ÝT/7|ðºÙ ¨}•‡¸ «{‘ÿ#NOwÿ÷:Ï‹` áŒ)瑬p@¼fiMëÛñíì0þ?çb mr¦mð-ýÛê ´Õ=} ¾Ÿ) ⤷]FÈÅêÁÁl)ë[d T꤀IU ‡|0³g0€3 ˆ¥@D.ÀÅOtÁÍ«óàX¹ÿÖOM6à7mˆ1€€Íæè 8oô53ö1¸Õ\*F%ØmˆæÿÒ’,þ3…Eð=¡tþt¬*ïVg÷ØX:– nmYÓë×­ë(ÿ­ ^_ñ€ý#™Ü=+]¿À -Àì< €·t{º²$Û¸0ÎV‚ÿô›‡óoýxéñïþ£ËÿŒ“{} Ë_ú8½Êà¯]öùžX'`­•ÿâOà˜¿yóãŠþö“ÆVMkÇs£éÜú—{¹ûI´ÿó6¸ö–`8ÈØæLþ©ü9Àÿ)¢Msþ9Û—÷û¥5‰ùþ¦&ÑÞ—G™ÉTf2´?8ÆÐÿàì£G¸ ÖÏàÛÏ @oªåíIÿ“À††4„øWè4t|(å8ªAÐ(šMf3; û0þ5g*&ázp[ÛÛlpù©æw(½‚7O[ÄP€à%Á.±á7² æúý«õrÜÏ‚Lä560Ö°°ˆîÀOÆE. ‡ýÅ}´ø]»Îÿó*øŸß;(÷ -Ÿç%€/c - ~=¼´Ðú|kÛ[¿þJàÔä$ºÿ÷wk~åO –ÉÏ -K`ø¬æZMÍ9"`"ñG®NôØÀIR ˜H š‘±Â8݈`ÀF¼@˜ÿª«ñÀ`NõÛ7ÂºÐÆÆêüêWé2úÙ‘ïh €ãù±Ÿ¯¹QéÍcÖ÷¤0–~«T]÷Ç&@µòg)€˜ú¾°»»»ó‡cU?½Õy«»äVó-Ûé­%ë˜5³Þº˜¹HÕ¿À~&î Wÿt|AßwéP[>‚€x ˜çÿ²ýhþúà Åû±  ˜®|ã(à¢3×ôgœŽÇ‡ø/ÿXr]iª¨–…ì¿üêò²xþ*?}ü ~õó?†uxKPÿü#¨d£Mí&£&I£±'=ŸˆÿØØÿÏÕÿ%@?ðC€ÿΠTÎäçC˜ËÏÏŸ Û©¹9 ú5a@,üé~MMýåíò`‡?hùe†‚´³ýg ÿ=xðèXZ²4Œ0Ø€MÇP€ªÿ‡R®¤¤üB;Ø@ j6gÐϬUF² é`lm{}¾W àÜ÷èÝ=qt¸À< ÇïÖF¨Ø¡ø¥©Àõ]Â࿬Ōúÿ,ý/ø1°°sÀ—¼;–€W…òÅ}auMÎÿ^…ˆMæ Ðèe<®‹‡âñøbص¦†ôýÈ÷8žI`› À“’b%OJ­OX8Ý=ÿÒKýÉFcG‡ýùì@ø(ÿmÂÀ Â~1þø2úó ]€üü9Ü•ççŸ)/ŸCÜÿ\ÓÜ - _¦ý¶7¥õ75%·¨    ðo2 ¬|~ÐO<àÁ#æÒ’™ˆñ½“FzÔJðm—== -ÀPGÊ•Ž_Á xÅŒ5DF££„þÅeeæV³ÉÓêie;[F†ÿƒžàÃn?ÅÁš¿[ßVZ`ìq·(zÐ7/ -D(€Ë¯Fú°%`YbjFà2OÒ5Æ O$@ÚÁ´ô_'pâÿy­ŸgýŸ‚}YüGXþÇö – ürÈ @:"ôßY[ßyþ¿î·µM -ø·´Y,m»À®À©~ƒƒ“mØI3xÍ~eªz0{rfšAÿ+|Až$HÈì € -ÝhÙÓ¨lœ=ˆÕP0xñ7Ÿ„áàCØÀ––®ÒñÉwOðz!̰õÙAGúýúÂ>`€±ôÒ½c€KRXJôý¹ý)¬ˆ‚ €~íòÿUgzgú­Ò±ÿ™76–¹dµY­™tõ5x­¸ð6ìOï}kGqX©þðÑwuØ Oó>€ ¾Cú/¼Þ5¿‹Ñ€={ºŠ/Œ”]+*Ò9Ý' ð[•/ýö· D–}t]^Xxø¿”¹Nø¿žYoåþIi)1~200ÿ\€£Mðçàc·•pñ/†ÿdÿ¿ocs“jøÿ™0ôëõz*ÿ'ôùg&&&ÐÀ¦Ÿr$ýψÕ>åeååM¢ðGÂO2çûŠ3]ÿ&ªì µ+„þèrölmíÙG>?ÛŸ,r¨ü§Œv{‡F*<Б2”ò«q$rÀÿG£eæ ìh•&˜™@Iø=‡D€†W@që± ¨Wï‰÷艷¸{ô½nˆ~…cû´.AXÊ絿ô`Y%$Ç¿\èÉ;ƒb_²5@]ð‡Ib#àùˆØ Àw²ûž÷ÆxÁ¡ÄëJ\¹‡{â~b¾µ}H:R×6ù–ˆýiBÏ|M`ºþƒÄŽPù¹úÑÃðÝW¦nËÍÓ{ü{9€‰ÿÓ{Ú3ÓÜhœž‰A¬ p0PN5‡‹8€ÊêܸQÖ9ƒ—æY¸º´zõêüÕ«5ß9€óm^›-ÝpÒæ—žf Û*,œô#Êý-Tüõ™’,enÉD áÀ¡Ó?í.¥ò¿sìÖb©íý±R"ÍÖÌz¯5“À–®D|‹¿û–"€ï ŸU\|Vë!^Oü;n0,⿦?O—Gdðn€Œb±Å©EE˜Üÿm€Ï˜°EÀÇÃÏàÏ_Gõ€ê~é¤K=ž œ¸ùREE»Ádìhí0¶v<ë¿k Úÿ¸Â¸Ù'%nHó?œÿ,äçë'œùêQ4ñZ9Z"ê·`–9@A™\î‡íFÄ l ËIƒÉä1šM£É”ü –(HÀ±³+ úY0™Ø À¾Û€4öŽŽì@ÓÿJGJÊ•@иy|t&ÀQ³=Ãî!pÒD Ó€00øãrÀï·}ÞŸ+†`ö¿]â¶}°'‚e¼~,çc;‡ú‰N€X“b€Kèýìÿûrn„ú‹œH÷1é Tä`­À}?Kø·x)0Ökcx…cÃtñÅ|¾íßïl=gPx²õÿBáýSUü½p/?€ìêÁœ¶»„/Ááa}ÍÝ‹ƒ3\ÒcÄÏR·; `Ù‹ü _Àô§“¤ÎÈN€¥QÎdWþ:'[†Äjàê·oüàÆ'að/=¶­ÎCÇ/*rdØlô€£ÏÖÍ -@fw÷˜lH°%æýAøü[â.“Cê0öÃ[¥ÝôÅÝ¥¥‹ zA€ÿ¢ô&Þ 迆À^¿÷ +(@Ã!nìø\ý5BþWŠGFdƒÿÅžb^ (•€,Ï‹…AÅŠ®](Òµ¾)€?,=þHÀ3!€^„þ?ÀßÊ‹JæO¼T‘ u0(À3Öÿ…ÿ/}ÓÖ×§Î"`#//¸)à?8ìê?“ç°(ÿ' þ¿Vø/›(++#PP^VÐÔ¯öÿ›ÚÑÿo7° ¾=Ãh' -`0Ô>zT -PKø_ûèOŠ!@Èô - F#̦¤° -pqã)¼x(jŠB… Àl6™[=°´r @kˆ€ñÿ#ôÿkºäa\ Ë.á½ÞïֻÀþ‡=‘„y@̪ pñ@À2·æ Ñý_ªF~ÕÀ@(‹‹Rà§Ävõ~?þ´HŒ‡`Á@r1¦ÏËIA¾ó+DAtq2€0 ,h]¾5n Üà€Õ‹\¢_ƒÕÊ«°ã³EÜ##¯@Øïâ9?$ÿqP1‹yð]3’¹ü7spVéÎàÎÒŽÃ÷,þ¢™œ€…À%ˆ,)}bƳùô›HhÂ@¼ÁÔú¬]}\þó LJüßà€ KNºJü§òß `—‰|ôþ阘à¯|[yfQñ·3à€íÿ9 ü¦“p`ÆÏ`´ÏÖ® -𨶶öØÙGgÑ@€‰y€«,ã;ì@ €¹Àh4:Îs€Ñè§eæh™ù¸Ùc7ÓW³êߊhIœ1 ã ¿ÉxÐ¥íííÕGZKý7$€·î¬ äL ‚l…çµËÜÕŒã‚å꿘ðþïÙ@%±ðyäÿÜ/,LtÀf,BÁß;À…=<û³¶È{_8\¾<•ÍX^W÷”ïï鎿eoÍ/ç3‚<0-›r* ‘· TþZ,¬¾øƒ‹ovn¬Îϯ~°: ‹l^bðÞAgßX1 -·èEBÏØ˜Mk#ÔfÈBu?äLµ €<„À]­„™èt—Þê#ö@ ½”Àúþ/]·×Y1þ¯ïÇ?Îp õ ŸOÖþà¸;¬"ÀŽoÙáÔ  Žw1â£Ü÷ty2º²ÞåA@ú  -{/ÁüNzžÓ±Žê—'¥%¥§‘D§¬:=°ÊY€iÈÇ?)Ìðϰxµ‰úŸó80]Úò6 ÿ7¹ÿD0€úa=€{*(çË\ù -ÉÄ1kà íµÈúëçâßœœ ‰ß€ ãäþGhÇpöSÝO°MðN˜Ð.ûe@`ÌE5ÿ—Õå?; ýc±?Lûò¬ó!•}ž›Bö÷k‰q8@:”¢У»®`Ñ»¾óû-ªž ˜l›„ûŸñîKKÿ:ó´³_ý±àofpðÜfÉÆåà¹Û" ¨²š‰Øàº§ªpú’¤1 ÑÒ¨j(ý³Å~AÞX™SY}ñöššÐÆ¥ÕÕ«—t  ÿWß{ï@;¿!"{­tgµB§óîÂßz«ºý/A–PîKÅK€-I¶¤PÿÞ€?1|y©Õš)§ø+ÿÛÛÛëÞí} ê€HâšßªÊÿ ’FÀ»ìp^CPñˆìï¿‹€™ÎÌŠåŒf¡Àð_  õÌgpíŽÿ9 z×[­OLU?‹(ër+N5õ´›PÑjžY" Äuù‡p ðÿRßæF^ÞÆ¦ŒBø3ú?ÝOÌ9'æ&èŠúúÿè,—ÿ£ÿQΆö‚þÏy×q€•cÇ’‰Ô ÍÛM&Bw*òíFŽþ­e öìJ-7úû¡˜ì&¼ŽwÛA4ä iØ ˜‚͘ŽÒ@´ÌŒË€aþGõßêîÏú¿1Ióz+áÿÁÖxÀç]tõÆSÜ‚aÂ}ôq€^E§(ÚH\ˆ÷.ŽðáŠÞÏV}¨r À äÚ n,ÄD»À¥6vgÿ„ðï;¥#Ê…ÎÄ3¾ôkc<ŽmÀ°„ãÄC|®µµçÝ,Dý_ØV7“ÍÃm¢óOP?=³Ò-Ó3¢ÓOM5ûLõàTpóîå¦.V¿ývNå÷«wCƒ-»À´ªõ[vÝ»Ä`…¿eF¸Ô ¨þ+³›ƒ*+³«ß®Æý‹yÜXÕEˆRmJü§Ëo¾3€3LÖ½¢:G“Eúž?¸¹ÂìviI þa?K°!XK­«êÜR_¿½¾½¶¾ #þöö>¬žØ’ÀlB âŸaŸ¨@C‚ §ððEïø\›îÔžà)€ ÅhögÑ5+ Š=ÍB< ÙÃA GºyÒ>\ü{aúÃü߀à þâ` ¢ ãó‡×<À¹?6Üúúl›}Í}*þç]êËëËËK€ þźN` €À?¿|ben–ð‚(ÀÄhÙì=AÊF³¢ÄLÉiŸó„?âþj¡$Ú &à™= ÍzS2Ñ€è¢g#ø_A# M‚£ÑŒ;¢ ¬ʰkR4öŒ”!Í{J´€¨y|>€QÌŽG‹íf4ý5­X ¤á@ÌÐO £ã`¿1¶×Ü×ëïíqSù¯o±€ŠÞÍ~@…eTå -²ù„uÏó³ì¯e5`Y]ö…@+d„úK vF$~!h#¢÷à ÿ!.Ðï9W~×)ñžpØ­í]p¹ÖP=ÏÀ‘BÂÿº6‚ï™>sû¿m7Ø?¡çCå·ðrŸÆì™ÛŸ }¼v÷v5Ué–élKabò?1Ahû[ž†~õS»æ@LîI[ƒ  8›ñ?´ÜÜnu‘ˆ.\ §ß°äÝ^Ïä1foâËýĨ?CÿÖÓïè[K R°µ¥~,ÁXB¨Oì ܦÿÄý;ÛKû¥ýM$!PŠÿ>H % `ýÐ1(Ák#]#ÿÄqÀöÓ…<Ì*þQV±ÇTìÉ dÈ *ÿ1p¡ À9ì[zqüiå?Áÿ:¸.Õÿ%¥WKžœ>}u€é9€—ÿEˆ.•ÃMÒ³ }¼ùÇÆá?ªòßÇ*@^oD À†ˆ€p6À‰|ç(ÀÜ„8f'¸@ ÌÌÀ4jm‡ü/²~ÕÖ&ׂ 'ˆ†©sF4î$c µµýµØ@Ðo@  ÝdÒØ¦$‘ðÿ(áGÊ̤pÀužr^’=8u$zeê3ÌÔÑ©0ÑýŠÌ$€é½è¯æÈ]ÁŒÿ33{àŸµ, ®ÎΩ ‡õÃÁn8´ -EB¡ ·$8¸ à€u¨U8y ¡ ¢ÁÖ}Þú(ÛõÛôqñ-úÕî™û—™ž&™[¢ÏOÕ~;þwÖ÷gÉÔת;Rÿ÷z¿ð©Ê¿,þÕ>>n=d}€ßò¦;=€‘b9ãÇ€w³<!ÇHÖ@¾Þé<Äûÿ^À?bÿJJOÀùG·ÕÓ\þw¯r ¢©¢©¼Ýð#ƒédëëšg\<øÏÒ¿€þæMéþës``^p#€¼ átÎI €h°€9¢å÷èÁhÙ½‰{e£ Ü0›Ê̵=øœsþ<ú…=[îcGÂÇü h7FkWØ \[;[ 7@L˜Ј€¦#E£IÁ¡ºÂkЈšÑ0# ¸Ìd7µÚ¬ÑxÐÐ 8©5‰ª|ýë­ÍÁfhx]ÚEO¸¥'•.úž–øA0{‚#L¨c¨ãé‘‹%þü˜ôgm@ô¤ûß•Ø] ,‚ÿDÑ/Õ ?D#à!!ÿÇu=áž­6°àÛÙ~üÀVÝýIôë9ü¯ªv6ÎX꾊å–l‹pÀ0“=8øÑ]=Ò€³-Ùo&RÀ‹gèíO[žn앦Å4`ã´˜À¿ -#@¶Ü”3˜“S]£Óé‚AgX¯SB!m(Y½š8V0ø†Sßä ˆß–POÕ-›-…` $† 0‹¬_Žû}Äÿþþ;ÉýÉwˆ$ÙѰ‹]ŒÉÉô"Ôþ+âŠa@–Øý§!®€ -^s”n)ö+tãÁDZ pˆn£Ä¢ÅæQŒØ¡ök4­‰+ïbô= i=è]€ííµ†…@¯_i¡Ê¿¥% @ïÖ÷è@ânE׫Søˆ(Ö -±˜þúeÁbË»[þb¢³/'üŸ^û{^+±_mý«³˜ÿgïŸV¡?<âùã¡ëñp3€© Ë^,z~?—ºBÛØ÷׆&œ3Tˆ[žžèÃýtv#{X — N»{M÷vÎŒ¥ºzÏËÕ€_‰þûŠ ñùF>@9+ ’§Â!çðÆF(Ö…Ïû_7v ÀÀÕÕ«Oè^€ÿãÅïæC“ÛYWWx¥îø/I«°X™&`Ç×@ CRÿ§‚ßÔÕ•õnG™²èÊÛ„1@(g&μP¾1øSí¿]¿ŽôŸu«õ k)ý—@éÿXÒW¥°âTSûÏ .MTÊ_ÿ–çÔð_5ù×Ñ×L¨Oå?·þ¹ýŸw Ú^p8.„þsX„ a©üs`en¢ü^ѽO‹>-ý´¬,:j­M›5Í®ÿ9ëŸN„êµhÔ¸£Â?ýípF“9˜_€F€È 0ØÐ ÿ£i I!ÀF†4Q³=::4„€²QÿfÙ.ðÿu £>ÎIô¡VhI4SÖ§k^ŸËÖ«ô HÈŸêÖ»SˆÜ ³Ò£Ä!ð$€BÀÏË}]LŠ8ÑplpLæþÆü¸òWþ±éŸWAÿçâçóÐü±&´ÿq%Œk¼¥'m††µ¥ç88Éõ?Oþ‹Õ?fHç³Ô=ÕÐgñ¿Žƒ0 -˜MÇí©©WBáß\ÌyóÙ° È¢öH{Ðÿ©˜¸ ¹À±À{9@6¡ueõ ½N·±¹á$ðIäU]psµt¯°zu`þ8LÇž €¾††„þ_²ûX È&ŠpˆÀŽwySÉ¿62"ð_4ú¡þgeÈ@/ÅqÖ± ( €3z§Ói{üâýñGÉ-α`ø'ü‡ÀTüót9=?zžHÀ‰Õùîù/å~\AøßÄ[ôN -_Û·ÿ¼õÅ?UÿTúç é_ÅÿKb@0wxxcX=&†çИÐCö_™S³³÷ ̲ €ný+µ+³æÙÚê÷kei¿¿69™Êþ$#ár’ÝnÄJý;µ”\Û3– †Œ$îÀÆ×qô{ßKI±Óeˆ¢Q;¦ÅàШÙdF¯Àóz†àƉ§µ•¾’¾ö{š×Éd÷˜24ýͲíõ-./F8 ¸…?&ã©îš}XO$@w+ŽxD«(X€\ Üü1§KŸ¿v÷ž <â—VíÞâ_*ÿ‚ pý‚7PèKa/ˆýŸŽšð‡úå^Çþö¹éµum3……÷ ýÿ7÷õÛT€ß’Ð)ÿ° /ÄK³ïÞsN VVr>=myÊçÇÓ}_ z*ˆ'$úcÀ -À -À`õíOtNýÃ`H¦‹.ÙÞ °J``þêÕùkóø7ô8µü÷%þ%\ûïz9ˆÞC¥üÎ c2°ø]N|7«8"À»¦ÿŠ`lLÔÿÄF.\¸À€ÓöâýñÇÿb±Îúý¥ Tÿ—Ýÿ4·Nƒ `ðfnnnE(@ûIÇÔj2Ž}‹ €Wÿª‹}}ŽKŽ>GžCÔýyÜRÙ/Íb -€üaøÿ ýóÀ¨@ùD91€òrbÃèìÙ••µ³¦è -Uÿµµ˜òðþ;ÉDÒjï$[íDñkd#€Á8TË:Q€~tX0¨áV@Š&¥#eÚ_ ™1h¶  ™“€ÍQ³©5C“¡iÍ è?úúQîüY -8J|Ànjõ˜M΃ÿkgmmQˆù ùbúTf©úpjO;ÜÓãîñëz{1  õ;„d@2ª|†ó=‰¿P".ññÈSóÿ5ð¼Öïç0Õàçt 8 Øl¨õ#ó˜L¼LÿåX·ž×.À#uÿ©ã±œxý}‹Lbøo |ÙÏŸN ÌÐ1x.¼zûgos:^ß8½íç3Óò˧§w}ÿ{à_‰ðJ KbC d9Ù·ÏÕè¨êßÖ úG67/­ð2 Þ ôÁÕÕ«óï]]=À ðõ€ -ÿ¾=Þ¿!H -P¢>D‚wÝzxR¼>[PW4³}]]]YäÁ, ð>ËDÕ¿' ‰Àų˜\È’€ëÅûã…17[¿^屢õ $[­¼Xÿûçß!ôŸ?Á€—r+šš°Tï¤Ék5}{€ñ?ÐÏsÍüQú;xð/;ÿ<þìÏ¥ ùİx"ÿ\ÿ¯L¬ð8 q€òÙÙ²h´ìØÊìJíÊŠa#þ ýµµ,@ÿgŒéü$ Â~ìIvaÀ,ÀÙ³+ýµP VjÙ1x‡WM‘hïH! I"05E£vôÿY0ÛÇ¡ü3ìk¾÷½£¬´Jü§³‡(€§(בּÞÞZóúb†@‹Þí†@¶ê…Ðíï‰(½<a&“C{Âð'¥»?†–>¬|‰‰?5ÿ缺öG+|ÿÒþ ¨ÿ~ÐFb<‡{tºÔôÁìx^LªN²é¿MVíušžùÊê^1ˆÈ¾ ü§? íÈTÛŒ\û·+L«øß8Ó(;ý€vfÓ*¡€ô¯¾* –Ä,€h NݾÖë‡CÁSÙŒDÒWa Ó¼Àÿè=Y=ˆÀ ðµÿwdüÿ^ø/)á[÷]ÌzOàñzƒI@Tàÿ_r̯‹“‹Þ@8xc€gÎL8¿ãë¿Uù;Sv`ÿ[—ú 6ÿññÿüéôùùyªÿçOܼ™{3÷Ô©¦SMå?/8YPpÒpÒàù¶@ªn4o²ú¿Ù ߟ@~>`úƒ."@(þéJàóss¢þ¿Ç -ÀJyùÊÜ -Q€•²Ùè샕•ÙOkÔF£+TÒCà¿Ù;íLˆܹc0Ú“’X0Š »½–È¿®¿ÝìBoÀ.ޤ»ÀÍ¢väEÍö!‚! 8Ël>N/ñ=ªÑø¿Øïà€ãšŒ §ØtáèV[Û^ï¢ËáÃÐÂS„ü-aB¢aìR”¿€ ñ€EçÉ}­Ë¿§AhæþX$â—®™ý'g`÷ ùøÁ9èï¥?˜™ƒÑ)qÝõ0ÕÿápXïò/‹E@ÏgTkëvÛd[¡(ÿg,Ómu»33ØúÇóþŸLjlIìëkäy=ºà:9uy0[ŒXÓý, 4Š Îøid.0#u^4³Ç!jÁY€|'^.$€ÁÁ©Âáá0‘e>´©ÝÜÜ8Á`~ÇüÕù>àûÓ«/ÀáøG(VðÞ#®õÙúW²Hðo“ò¿êD:0ÇÒ¯wïúá ëجg€°BùGè_šÿY¸Jáß#κE €§^xþÈúŸÃ,×3ë ùþ_X()(áò¿t ô4qùùÝ,ˆ SMMýM'Ñ0yZžoã›±–°õO¸ÿšÑõwÔÅ¿(ÿ«†A)°ó8×É&@ªÿ þEýŸÏc€÷&fg'üçV˜ÌÒSBý•ÚOg­D ³È÷_ጿG\ÙÓ…@24ôÿ;:˜àÉÙ¿?{–^K¯éO®í¿#šxÉN/D€Êÿ¡Žï¥˜¯h†ìCãv‘À&€ñ¨ËÌŒóà¿ç(ã?nGfЕðßsæð8W··½ ‹®€;UÏ*@O‹¾¥G§¯i VÀ!nDqøÕŒ`q‹¡|`A€ë¼‹ü`0}Äc­3D Î3-ð¿ì‰à¬ô³ æ÷»D€.t=®Ä©þ‡[Š+æòù¶ŸŸ@•{áý6¡öψŽ=Ýr*Ä[DXÿD~šÌ4NÞ¾|w0Á}r×/N<Ï—ò- ürûwÄ·ìf@ih­Õ@ðÔ¹½3<B@psyscãêÕÕÕ „i¬Îóq•À%b—^€Ãpìà¬ÿÛJl(ý¹ú·•$tiðAÜý‚¿ G™‡â¯·lËsëGŠÕ€â®..øy -—,Ñ01öò›™ð2 3g^xþHøÏÜf ^¶ÿþŸ4À ùOŸžgøŸ81¢’O•³ ð$&“ñ[ønxñ_oüI‡þO¸îÞÁ ?ÏN,þ¡[p¸ -Ð_ðÏÏÏwæÏ1êè_›¸—?`¢<³åsÐVæÐXYyð`…@íƒÚÙ觘ðÿ{)õõÿÖ’4­„îŽý ¸C_r–‰@{2ÁÿÉ;F£Á -`7v$i::LW:8 -Àž2d·›£fÃxtœ†@4)G5ÇS4²üýup€ º§k×…bçúazïlmû¶]--#n½Ò«ï­Ñ§ºS[zZÂ=p(zl êíñ³MÅϳ ßTì GŸtF@bŠLùUM\ýGDÇ_â{¦Ú^ÄÄ´䀗.Ì œ§¯ZkXÛ~nÛu3“m‰ØËÿ††¯NÿsG_*ñÕ“éÿ* ˜€ÙÂw3¢ß³®·q2!œ«f e/5°ðWâ 9å—?ÈÏø3R `s°r0^?-ÿ,™”}äÜ+úáðDÈ9¢oºdõá%”ûAgXWó›°.¸±úpccãá&‹kGÂm7à ð59úÿ¢@Ho³•Èþ¿Màƒ|®æYëEZÐ:n‡¡ °…(@ý5Ä1@ýO4 ‹c°@¨D ²L0d1(N̾Pþcü'à— €óÿPÿÁõÿà¿ -ÿ§ÞY‡ŠiÌ}éfg.‡7 ?2ü› -þüo¦{úÄð?þ©úÿæ`ÿoUÁ*§ó P€*A† ÿE÷ß™OðÏ×{ùPr‰<ÌÍ4 mn…IÀl9òÿVVjgWj W¢C¿ˆ®ÔÊœ_xk…@7÷¤$»ÆŸ1j0£Ÿž=[Ë£+ÉɵúˆØ Øaäu¤t|¯ƒÐßžbÂ0 -&³¹ØlÎ@€aŸs4x–qô¨C.úÃø†ÝvÙb}êe‚ü^Á½ºT¸[Â=5ÄÜq=}ÄôDÜ„Ü:?ß´q-2BÒï'ýVõ"Û—mþ\ýã!E0nýË—Äb.ìጇuˆÒÕô´è›Vëòî<· AÿüÌÿW‹ew¯|>Ms_äòUV2üƒÌ˜a08uîö^]€;øÓ{]–§†ûE¯_Xx €T ÿ"&ÐÌí©káðµð„.òÓ?üÕ‡hýoëj>ùÍo>ùÙ'á`йÖ9Ãá°îr(üÊc/ÀW d®ÿYÿ§Z߆€¢°¨øïõŠ6ÿª_ÇÆä_^,oÑQs~»x`qF\ÿØeæÞ¿ÄØ$þŸÉAþü_— ­ùM!ô– H Uÿ«ï` -€ À?(û¢µO¼DýFÄÄŸ?¤çò_ñÇôº/ðSýÿ—¼3€55a7Ì…>l|>ÀÁÁÉ: þÉõÒÅgyj -oïD~¶ù‘Ð/H@ö$ó€ÉÁÛçng'Lû•¢m€Ù)$úù¬'Ì Øo”®‰øj`G˜æ™ƒËÌÌÔ‘ýD8ìÔE/-ýrãæêÀê¥áð©ß|ÿ7¿ù‹šë×uáPînÍÝ»5i\ ¬íÀ/À×HÿaŸ?•ÿ`â`3€Dþî -p l@ùòpàÀŽkÓí)>#`'ýddyȦ?‚{Ó»Y8ˆÀ %ÌEÂø" ð?z1€€Àu ÿ¼KêžXÿ%p°î -0ÿÃùwÒç»Oœ¸y©ó¥ÜŠÜ—° ­©ýçí߆üocØ‘ÿÍbøÁ¦ÿàts¾‘K ß’¿ ÿ⊨_TÄ¿:ÿ7<7Wñ0÷á͇7on€°<¤ë/o¢ðàóψ&@íŠ}<Úý”ñÿÑßß᜿;µÉɳèÜ1PÓkì /þÁiCƒ¬$''·—PüÅ ’¨ü§+¯J±Ú1ý.@ú±YcÎÈH!ôýudþµRýï9ªñðBë‘àÎ!}mmû\½o(©©Ðýn?îRÝ©¤q½¢s÷88Xx÷•8•óñÈy%àeÿ—µ/3¸s{€›ý8‘=sr@‰Ñ‡A\ˆ‚r>QB:Ýõ¸[kÂ=awD«]öy·ÿ|,[uƒƒ˜ãŸÛŸTÞ-_wd³üO@lêÝeb%ÀÔí¸+Uü—Å¿…åýbŸÑ~&! à¿È"@ãÀî—[؈=y{ê².|O7>¿ôø—«¿Ü¸ºzBWs®:çÍ·«««¿ãöTX®™ºxãÆÁóŸÝ ׄT(ð ðuøïãèÿé*ø³h0€àã,`+‚XÀqÀ½€[¾M‡ètïÊ`í¿m°þÿ×bjs€b\é¸PVô+/vüÇ!ÈÒÿIiCéÖ’’'È(9€ïÌϧ¿³*&äàK'Nq`ASAAûŸ¯þóÂù«:õÏÛ~«‚Î᪪aº«ÚSþÓÿâ3ù¸þ±ö¦hâÚµ¢{El˜Ë§ò¿¢"—¦8~ùðá\Å܃DШýt%yÈLåz´öÓh”ûÿhÔÞá2•õ¯8@LþR¨}´×Àlr{²Ñ„UIF£AÃ^€$z)\)Cv€ýãã£æâ²b32ާddhŽz4­±€àl¶ÈqˆßGz{Ü5©nEqGZ”T}*¿EO€x@ªÒƒdEéÕ)q¿Ž°\ $Úìq%䡘WÕ%þ³!@‰üsî?gÿB÷§×ºbZå|„˜D<F5©5=¿Këõ=·µìÕƒƒ“3 àžýЬëÙêiZÜU2üÿ#@%Vôª¼`†.“Ùƒ·«åú¾ì=àëé]‹?RÐ`˜‘âÂùÿ¯•X'?º¬¿¦sê®_ßúxu~þêÀj°æ“‹ÕÕß®¾}ãFNãÛ7nTO6fN^?7xîîTfèÜ ppßrßàÈþé"Û%é‚4$8@‰ÜD$€°@½Ê´°åsA``—ˆ,f «ÿ´ü‹…PF…¿ì\(=€ -ÀÓXWë~cл¤´áIR€êÙ€&¡?Ñ€ôwD€N/8‘›ûqE.L€§ ÉÄþ\üoV@³Ø÷׬Nþ塸¯rüWÁù÷7ìøs2öã6q¯MäÓÿó¢k£×Šÿ‰Ì85ÇÍÿ -fDYˆÌÿòfnÅpŃ•Ï?ÿü€ÙÚY³f¨ãt E?ò×âR«2#D€{Ç÷X°›4šà -Rƒ8a@XïkÄr@Ö¤ØS:¾w¥ãJŠf(%Sfá4—›ÍÇíæŒ”ãG‰ àɸPœÈÉê¶Ïåp÷„SõnÅíÖa0P¯O§ö„uTãÖ÷\V -!¾zóë´ñâ×*/+„â„í!%Ä>ÿÄAT WÞ³ÿ_›»ýtûÇlÔüPøs*³ÿ‘ìúÈ1È–4¡2ûë8@åžÄTj1ÀóÿOe ðNà™ìÁ©©#5×ÂλÎÐ&f]"üŸºqñí7/¾]ýæ?¼=cÉùÁEàe£åg3ô×¹¨«>75uñ8 ÇÎ:oÿ‘ú?Ãz_º|pb P*îÐâ]§ ªëúú!`½Ë=g‹]¿ºÌ]b °¸ïa  ÇTfb#œï z_¼Mþ=Y/¢ÿÔ‹(A@Ié@©(--=MÅÿÀ|úüêÓüçO¼Ô‰À©4iMM¹†‚“?*xíOþ>lé›þ›¨ÿódî'ÿyú¿*øFЬ¢¢_Èÿ-ù(ý óü‹Î”SéÿÚÄ…²¢‘¬kY×F©ú/*à ÀÄ\þÜ\yù\yS~SSù\Ó)P€›D]æoæÎ=T»+ÿ?{ïÓö¦‹^Œ±À²¸Â72›[ ù<€…©ƒKÜ…ƒ¦¡eŠ¢â½r¼9QÄI$#‘ˆh¥ f™ýntt¸„“bVH®€(ñnv5¡É$Zá{Qg5º¥CC’r:í¬tßçý|¾†tf:Óž; šæëŸ›¥~ž÷yŸ÷y7îç<ÌYóû ²Ç"«k­k¬  °Æ-$ëQÝsÔ/]ë™´xë­#ó)}Ž4@ýg’€¥Àþ+Ý,3›Œ%Î5P€â"l€ …ç éªÐe©œyôð÷ôhðd×ð@o±@½ÁØpl vÀ|Pm~ºW›&v ˆ¥W†5iHSåÿ)nqY §Ap’a?™ƒ!_:¹øÇ€SD"òˆBPýŸÄ dRûî÷5Áì“+'± ø¹(ïÝøn\öâ°]FÖŽŒÿƒ~†{±‰ÏdÿÜ¡ÃÆ>£ð£`eø·z¤@Ðiµþ.àæÁA - äE Pàöú—^wÙûÞ{ÿ»fŠ€f.®ŠïlÇ“—­>›7ìóz©öïì î;î5L5LU.TÿAÿ»º‰X^ÞÞn\°À(ÀüFNc~ù¨ü«¢À€GAü)=•õ:Þø‹Åº7ßÊñ9zÑ(4²[LAÅ6À1(À˜ˆž4O8q6›ëÿ‹ŠŠˆÂ¾FÀRmúKñªì f÷&cÉXìxlŽª}^Ï«‚@4Ú`,™&ø'ä¦KðÁ8hÀbÐß6Mi¨¨Ò…µÀüŠ\û7-òD ›¸BÞ -k8 ¦IjÓšfü¼¸õôùtnܸq™.D.»ÑàRÝÃv>ümV þV(ô°2W°ŠCÄ -ð/2Èúlýïy†ü‡°\Æø—™;Ø7"X/¿÷½ï'§´¡Ÿ&ãš«íÎöœæ†Õêµz¼>o¸úòu·úœïz§×sÝöïíôýýóe«×{ãÆ{ç¼/ À!„þÏßÈÎ14O‰ÀP[6Z& r@˜x0§œØ¯ÿa;´ `p}G @Q€b3<üþƒ´ýÿátI€IÀìx©|eéÄ–\ÿ[Ê À\ÿ£úg0*B€Ñüß|{.@tŒËFw=€,;áK¢¡±±»ªªÛÕÝPÓÝßòÊÿ2výcÓ/†Þ@ê_—ú<ŠÇØ?ÀgtýCJ-ðÿ¡ÿÓmtbÜ9nŸ &0á˜p9°ÿà¿¡…À_Ø\´!fí7>úùÏnÀ -˜³±Fè>V ‹D"«©µV62øÿSìíÃç¸öW#HÀZªu+ô©œ*ƒJ­âm€ªUXuº¢+~ÉÌ f³Ëéœ4×ÕÓ1Z„ÿÎÂó–Š‘§1TöWººb¼`9@X8ËOòHà÷1L¦cÓØVÀ‚Bùôô´c‹ýÁÅ ìÓôybBÈž~°({ÿÓ<ÈÀ+ül "ÒÁX,lN6¿›ž\É>yñâÓÏ=)€8Î…oønؼ6#vII;Œløóp£_€½U”ý@w› ¢À¿¸—&ëu&ü¶ò¤šVõ;à¾upÀ°„cDúðþË€ÎË78ø^òª¦ùýÇŸj“ïÙ|ç|6›Íë{?Ü9k Ÿ3•ÌZm×M%ôÛ¼VÛåË—½7¼—m/ À¡.¢P&#¨ÿþ©ø=Pþ‹e;`©H*å!@LÈðÞÑÃ*An­cˆ8sÆì,Æ …Ñ8¾?Ã?á¿ä!ÂÇ‹&[[‡Y×åÊ_\!ÿwPÄÿ—vˆ? ÿÎ2@ ÀmuÓõ,p7žNü}cK·½Q¯õuëí}‘¯? §²D,ûÛÁõœpþu/G惿bü¯ì…ò¯ àÀ_ü'®¬ÄMÔá·L8œ–ñ WtÂ1Õàšjh¨ÜP°¿¿ª¿ª¡¡ª¡Z@ãG‰ÄP"žˆ/<|øóÎoÌÏCÀ¨ŸNÀ€ØÖ ª_  x;0½ªÐßç×#pVà¿¿*ú*:rEWÄ6ݪŽðrÌ<)5€ºâ:bºº:ÕÿR|¾ÐùŽ¥Â¨ýËzcüíð@W0-¶" ˜óþ†ÝækbͱXP˜4b(€DOàÚJrúZðÁ»fqš¨ÀÊ4Ûe`1›Ó§Oó²é9iæZCƒÈÌÿ ÿ]"|º÷?žÇÿ~%% 7nø¨Ž¶ -À[À<²Â÷ð·á‚“ÏGdÁ -%€›Âó/ŽË‚@ûÌ ÊÖƒ^€ÿè”k¯gƒ¯cÐúÞ÷´ñÇÚ¸&ž|ïò{ßK6ÿôr§ÍûÏ>úΉùð†ÏYÛK¼žö\¢žÿƒgج^ÛeïåÙ—àð½c ÓþW6§sÀ@žXÊ €5^t@üG+`c`{©àiÇÖ2€`vÒÉ"7ÿ@ï‹öŠ~†zCs[/`é×|xÀÖQ¸AŽB -*Å - 'ØÐ@0J -°¼ìužu_X¦#€î„‘*é–Ó ìêïnÄ>€Âîššþþ¯ÉÊËÿ¹æïbüÁÇyî¿ ‘¿Mû3!Œýɪø_{ôßzÂE8EÇ]×Ä„ëÞ=WCeC¥ÿU8\t°Ð˜øÐ°?¶?žh' -ZóCÿ/@ãþWk„û"à çU‚ÿˆXúG@­Rà  *ì[ãÕúœ~½ßL„b@Q¤€˜DÖOŽMbpÂ<9É ` îLqqæ?‹£¢é/nTuïâÌôÀÀ´ Dè*ý?É:@s~¬7©‰“½Ééäp°K3œd@§"ét0¼F×yô(ÔNÎæÌ`± (È>ÁÅ4}r1é‚ÿ´&–Œ¥›¿Ÿ¯ veg¯¯_|útïyµþÏQ¡ì¥Zú²MÚöfÛ%°1î‹[yxþL¸Íß)TAijY¾ö *Îf6OfpÔ¿ä`ÍïQº³™iÎÎËïý4š» -iÞ»qî'ÍÍß³Òk¬a›÷œÍÆ‹ÂÕ¶övíºÏs}ÖÖéí´Êî…ÕZRRý’¾€Èÿ/Û1÷ñ €‘»¢˜+íP(€œÜÊLÈ>¶Á=ï Lé×PÿãÐé„þO×uØtÅOÕ¿y.À'ÁQ]N ²X¢oüæ/ïÍéÑÞÉ™®X0øOkòc0jcùùùèÐpŽ¥cD†y*0È‹‚ ,ÒÝô"=´>€àÅ 2¸2ã?\˜ÿè¹IM€d2l~÷ûÍ:™½7øñskjz%þ{/{Eg_èœÙ( «ËVþ´üÈ*E[€ÏV›)\mêñ¸Þ)b…¥!ðËfAO¦ÿ¯¸ˆhCI¦ù½7Þÿ—ï{­6ﬗ¾¨Ïë³uZ¯ÛÞÿ÷’v«—¾ez qV!ø§9ÖþÁ/ Àá:>ßÚºø„ð}„ÀÎÎ>ü À(LF ˆ@Ñ(i€¬ýn8àØÚ;zHÀVGö\þøø’ÍgÌ`f˜ÿŠÍTë»÷3Aÿ;R€ À!†B/ Z Œ«öû-Ym9¬õ?ªþ[œ µÅßé: õ-a¿Ñ¸9:J Á?tÜnãrb€;ËÈj´·¸í -‰–ƪªîþ«ú² U›ûÓËÿPy9ò~vÊwº@€ùtÇ>W~çã¡ãñã™ò?Ðh.ýù2Uu@ r¸œÑ Á\.×=;ÿdë¿¿ªJ_Ã..K1€í|¼°pááÏ[766̺y•ÈQ] @J­©ý&€Þ_‰Ð>ÞÐG| Òç/\Ãòà”^oæò_åWé - -GÝôD™`uTüÿ›®˜I¬Åø ªØ<ÙìšN'á¼ -+@0Ë×&µD°-8Ÿ·Ä‚±d/ü¨ú¹ª½€ <‚¸\)È[„=0;OL¤óðLºý€°?™H'5ZLä7'ó“ÁÂÿ|úôöÞó¢ï¿àe*ê/°m9½ÓÙ¹úõ>ˆtñzlDÐ}·ù¨î–Sô¨í²M¡Öɘ= -`qg­üôŸ}¶9 R”yt 0“pùÆO®&ãSÍï]î´…ßÿå9oøœ-\M¼ÅjóY­×=¾sÀÛì¹ë0ˆ0ža8æýNnç±—à5Ÿt¬svúˆ„ÿ!Æÿ‘Ì‘â£Tø×3à,àŽ:°ï<¤ àiGYH{5Š7÷ñ3“gÌÅÎb\™y÷_a!Wü(Ó-b - -@åñòçJŒŒœbîâ á¸8œ+OÈÔ?¾~"×ÿ”"û§V(²ú_6ºÑù§Š_ܼ½ €»‘(@#œ€--vÈÿÝݲGôX -hЫÿT$„r_Æý¢ü'ôǾ¿¹ã¢üÇØe/ÃÚ¿ƒ(s;Ôýø“pD£ãbJ”ÿB\„².›ÿ7¨ú§ÃUøŽž€ÿ5}!Ka¡ËEŸnL<& -_¨$ðpcþÒ„¿M•îJQAÄŸâ8 €5Vý†TNú?<„üê>5šþªTúú5ƒ -ö¿HMDL X… pÒ¼ö "N×d±s=€âbªþ‚ƒªŽÞ`€#ˆ|ŸÈlÉ^$i“ôal ÔÿWÀÒ¼êG“} 4@Y—t°>Ç ¿ÂÊÀ4·þ5I–ý©ðŸŽÅè¢Íï6ƒÙÙ+ƒƒ?Ý{޶æs6f—¥_öû­¼úGa>tþù·6“—©€ÍfŸl^ñ Z¢?À_Fj -†¶ ÀB0û¥ aL´ ÎÊUÄVï÷~šÔ4ÿôÆe[˜þÕs¦ªÏ}j²ùÎyèŸíôV_?fõxKÂÖÎÙöN÷%Ø¥Ðn:u®ýØ1ÛKp˜Pqp°ãbYmÙN™q"êÈÎÐHù>80 ÈQ!H—§¾à?¡ÿÖaíl]ÌžÓ:àðGñ}3œflÿ…ì çe7À  ÊP¨üy½ ¸Q/2þò/¼g¦‡o¾BLýcd×¥rþŸÇÿ ý<›ôWäÞ$ô7"ý÷¬ûìf,Àž­o´»Y-öÆ–ÆŠþÕØÝýú#ýúîT*G“úS¾‰¹rQÿ—ìÀ ÓþÑü/o:.Ìÿ"ö?‚í?Àš?zþÌy:]Q*ÿ9Â)çD-Nç„ebÂ1ßÀÒ?¤}0€×Î÷Ì……U‚ØÛãö…{S>œ_›7› ܧÓE"–þ[ט¬a%?µ»êO˜ô©ûÄÐÚþ~}*u?•Òëý@üš¢":A®À 8föOŽMš''“N ZÅuugðÝF+Žoý¿Gí}|««+H€ÚX±@ù±¿IæÀ -ÀSìHkÒi4ò9X#–°ξ4Ó„¼Å4Icì/Kbð/–NÓ…î§5Éä÷›c¤>ø§Á-(·Ÿ×ÿznÿòÆ{ÞË^aãÛ—úw%¶øW‡Ãa†õj¡ ÐÙ*zŸxþE €-ƒÿ6Ù@ðH -`>B‘"Œœ!2,c=ÕàËcôÝøéOú½÷.{è»èloÇ‹ÿÙFx½>Õg²ƒl@ßÎõ’v/0vr&éÓNÂÿð§/~ð%8 Pý_[V¶ƒò§è7Ógú@‘\Û!f¥0(m'ö£ÅÀ£ÃÈžvìÌ…®FÇÇÙöç´˜‰œ1; ¡põ_(n-™ž¬@ÕÚùºû@ù—52‚• -Æ?±î'˜,uóÄühFPø<‡lÆkKXÿ…Ùƒ‚þó_Š”ÿqZ~{Ôô_ªü/$ŒË‰ FD_XnDÀmÏêN4vÛýLú…D.ésú —Žü ò¿ úãv¿<Ž‹ëøñ§ÿó²ŸÞÊÊ^Xÿ§Dñ¦4ê„ø·8œt×Iugœ“AøïrÍO54ÌW5`G¡Þ¥/ãöÿ…}ªó~Uq¡« - À¾mL `baááñ‰ûæµb‚l]QQA$²&´ÿVQÿ§rVéfV:"}t%º<öï×ÃZóëŠtôZ•ziÀ܈¼Z¤ÓMŽÑer²nß`ò¬ÑÅúOŽÊ¿ðœÊ½Á[ƒÄÒZ-ÕûÚaxÆÑþçh€˜6Ý‹õ"3` ™ŽAÒŸN¯` 0Í1$˜®€ÀÈÈOçk×ÒAz UüÀM,9Ô4c°æ7¿›üϾµþ1Àÿ¹-Æa=w)þPÎ…ÊO°ÊÀ±Þæ%à¿iòɃª~Å'/â€Oô lûà€s@žD‹€'=BðX3;†•±MI ˜ÝBf -~«Õ&œ·^/¹î)AÓß·CVðz<%%%6^ µ!ìÃfã¶<í/ ÀáÁÿ‹áÿƒ…ªð/N¬ŒÔÄH`&¨43 È 0DA£ðôâɹ^ÇøD4*údpº\.!X$*O"*>ôu׫ð°Ä:ÿ²Êžà7RÛV0jü½£Z c"Q;ê¦ZYBfFÈ$0ã÷}¨~§JOpÛ-Ùýçµlÿ§ LNºGÝ›£ÆMÿwBñ… ‘pÛ颯ÆnwKcúYú#—ôýýz}Î¥œœK컀ØÏ‹~öÃq?²þ?Þ0:.CÿB"õÕ>ƒ¿…®õä¤úß2nwó_³xòÌ$D—ã^ƒ£¿¡ -ÀåÒ»^Có¿ŽÂ¾ó0êÕD - õ®~ ØíqûöÔÔÔÇ÷1±æ¯«Ó½J¨}Yb'°˜XÃV`ºoHTD"tQ3èÉ?©y˜üª" ê"þ±ˆ0 Àؘ@Ý$úÎIÞiqÆâtý¥¿OaIàô€V“¦Ò<¨ ækÆócÍØ$hÀ€v 9ÐK÷bé`LE*0Vþø¯eÉ@ðÌ_þé$vÿ¥µéd06¬‰! - ™îm†`æÁÅ÷öž_ù/Ôn°^æ’ERSDÀ\誚ohiŒÇíñÇö©…ùˆÌ»&¡\A@¥@k©ûÜ H­úwS)øÿ#81P0Чò÷éYÓ¯Æ - -ЍÂÌ ê®¨I@:Ýd}—.nVŒ¾ 1•{ƒ'g†§Ó1tü‡µÁ(âbÚÞd¾¦w ?†“1nåÇ‚×ÄÀtš‹Wÿi>iヱ¤¨ýÑRЇ1F ILã+üäÝXp:;ûR€ŸÞþüyÿ¨Ös7nxÈ 9!x'»ÿ˜T‡oVã0™|áŸ-\]kbÄ@^ 1Àë•À¿ï Ïx}â+yà>¯ ´ 7€'“2Ly÷ ˆÉÄË`—½ø7¼ô%¬6›ÉVbm÷]/!˜‡]ៈ€M,)DXfpÎÊɆ%/ ÀáàÕ["ÿ@~Egº}cHš è­¨U XZÓJ9 ðD¦pô)O> €ÀJ(pøoQf½8ú—n\N™þïdj E—PùØõõ~ü†Öþ×k;žePD¡k:6…ÆâÞä ó\=Ó¨­ÀÖ¡‘޶dàßwý·ØZû…ØM&Fú˦²ÝËYb b݉„Ûý%²n7]ÉZnì>Òý¯GŽä4öWé/õÃwéøÊ•¤¿9ÿí€p€PehN  ²—ÿùpD£€'ZÿÜöwÊ¿†Éº3„ýgêPZ;±rwÂ5U5U5_UEÕ?ôþ©ú§Ò_Us¾¦¨¦¦F¥òºú6íöÇt-ÜøÑÆÚÚÆuñ•+ò#c««©U¹p,•"Ð÷§üo®òï² €Êblˆ¨Æˆ)Ö°Ö?•ßãu@‘+ºº1Ÿ€:Œ(Hâ# -ûV¼[}>x²le€Jv6ÐÕ´6< _ @ì ÔÒ‡ùHògý?-‚þV¦W†Y€ß?©IsÞ?n5Øû§‰ÿy~=šts~s2½23xrppï9­xöxÿÜûç¼—­V¥œ–© ¯Ãá°©ÚDxoª›L¹=¹m§èS87·Zöà×¾°oŸpí†Ò'_Ö'Åe`°“Ûõ‹€‡?ìd)@’Ûe«÷² _–PÝëñyÏùÎy¬Þ[gI‰ÏVÒ~}ÖK/¡ÛN›Ðþñlx¹Í&V ´{Ái/ €|¿ÈóÿœýWž©ÿJîN@¼©×òÛ;Ð_Æ?á ÀŒ <€‡S€¿ÊÃÞ¨û”7~‹ÓLHà4Ÿ— €.g¦à``ÀQúº-€ß©ÿ(ã¡ -ºâz_á›FyÎô0wa̼¶´CL¼h ˜?KEàÿ 9÷ èBLEýÆ’³9j\¦ŸÇ *ÀËÿÄ"à§±ðtVc–›ªÿÆþÆ#Ýû[Žôç\B ;§»?õG|b䮜¡ŸoÿM„ÿ¡ãrô/€æþ+Wt†`±Œ[¢Nžú·@0øÿ¸®n’˶ÙO¸\ ®yŒþ»ôUzØÿ }}þó†b!𿨠†^ïªZ `¼°Ÿº÷ø£­Ýs^¹2¦+tG"*ýyð~Š(À.X@Š=‘]•lø ú”A­V©ôô¿ß¯+ /Q©ˆøUºÈ+Ⱥ¹âŸô›‘lf€ðËô¤Àö‰ÒðïÌÌÈ›GÙC,Ö s"‹ôRoç9¯­Äg%¬÷‰ð¿öëø"³%%³ô/1ôìgʰ¡c¾êyIþ¢Åô?ÿÞíG·ÅÍÿ_}úèéÓ§[OyU]þú~ô9?çKÿ?Aþ7²úðŸ“åÃù¾ P˜G™Ž4Q€ÒÌx:l€G÷Çèüàè¡c¿¹¸Þ5 uŒ_uƒð€““-.]9ÞqTIðŽâAÀÀ×øLTþë¿§ P[»Y¬/Uª}F~7Îè–£_.)÷Ê2>À'/d èõÊô‡ œü¯µìý«Ú?ƒ?~8ñÃŒ.7ÝXþC…ÿYðø™$.H4Ú³îî»Gº³ªþµ»êHÕ¥K09Òÿ•€qÁ¿Bhš Ùü‡ŽÇ›8û¯·2èź_ôÿµbîê?ýÀþ‡?ÖƒÎ8QÿC€€@ TýWõ»„ýÏ`è㈞€:ÑÝ‚¿ß€YbåC ÛöøÆÃÇïO®MMR­~>€ˆ.ò+Lÿ¥VW±˜îùwÕ«»,ì - ÆÕ©® û×ü -ŠŠ°PÍU‘"™0¦›4›a@No¶vhCo[ŽGŸ<9Ce¼V“߫Ɉi{WPüêÓ¥@ö0Ä=@øÿ̃àI0 Æ4š`0Ò0ÓÄè±?Ž ñ‚fÔÿ++3ƒƒïí}þb~Ð÷ß'`e˜ Cîà˜ßôù¨ø¯ÆèÖ/÷þ Õ½ô”› -ôóq3¬ô|é™!à•>¢7™ ˆNä9` Ûý߯|€äˆé)XXü "l6Õ>¬~akû¬ÏZr Ho›-™¥kì(á}â‹(kÿªý¿µ{IþçépYÙN½ý½ù=vñwítÑEò;R¥{;oÐ3áôë(c7ÙEÔëƒOŸ^¬-ÃÚ¿!ýþÛ €8=42âæâŸjQ¹X09–VÊ€Á­û@ad @H‡‰<ºX¶"w9Æ©ÎÇ.`hþNŒûsÍ+ Zÿþ-Q± ¨24ó5cÖäÞ¤ŽßõŽúƒŒP˜¸î}@œ™F€0^œ|®¿Òn»=qº±‘½|ÝëK;¾(ÓþtÅ€ÿþJ³Ã˜ñÿÓ4º)(À¸û„ù£LÐ p»?LdÙah<’õaã‡ý‰î#ÝýÝ—ú«úû«rú/]:r)õÕ>€2ñ‡~ZøÑ/&\Wê̺+c:Ýj¤à•1áÿËÁÙŸJí®Ò¨â‡€€Ÿ?eЧôµÊOÏX#R1F¼µ_åðj¢Wt쨛,®+¦ï0zÕ2~5_*ûì[$Zî ÎLÏ öÖ¿`þ0¢bÉäp2¦ öâ3Iîç§y àʃá“Áì™™™éáéáái̦cšôn0 žs‚AÍpò@ò?§ÓÁì7N²ðE½ý’5xû ÍÏ¡ÝÏ€O—j0ãx˜]ào†%îósML|჎@Tþx9¿0ÌRð £ @õ6‘Àgë¾ PL ðšÑR k“×óÞÎ’ëçl%×½¶öv›·¤ÓÊî?ªÿKl%¢i`µf¶YguþÓÒ±cí/ ÀÿøwŒàÍN=Åã\þÌÅCñ¹80ð/†¢¸šã½(C]嘓ƸßÈŽq„Jÿ…(À?]çªÐ0 <¢ØÍ¥øŠÄl\à"NâÿSÿ­½G -8D¿µ‹ð8¢°|3ˆ6Klùð»¢.Ìœ@!_»Íz±¶£c]P€õg\„üµFæü«•Â?ªbà¿¡yÌÿ¹[p`ð9] --v;ß»¹! @eãŸ-_tÔ—>,$ ŽGîqðpیˣ¬àçkÙ u'¨úÏjÌJ4fiÌê>Òx à?±€œ.å|ÕwYƾ¿8ZMs¼ò¹?•rëo ——þhÚ€RÿG¨þy “t˜¦Gý_÷c\êÄeÂášü»èRXØýÕ„)@ÍÝ»5¯üƒJ_sM€ùKzWC£}{È^¾ÍÀ½_üb~h½:ßš*(à<@VÞÕ«)?â€üêˆz—ˆ¦üjN@T€Ÿ›Hˆú«Uj]¤ˆÀ«ðêêÆê0hw -+£¶ëö·ëxt+»k…ê}¢Ú.íŠvÑ@İ28l"3·É4BÓ+Ó`89|’®g¤L§1-(ÂøL‚|ª¹99¬YIßdðÂ~ÊÜ÷Mÿ|ƒm@sT¹£È7)‡(÷¹˜¯ÞG?_¸)è÷nšr¼ô€J Í‚\ô3ðûXðr+À¶he4ç6&Ïùï%%Tú{L¾ö› 3à 6+¯¡ƒ'Ñÿ¿cú«c%%/ À7ÿ­²‘òx“L:ÏÇí öôÆ7/ç^¨àq¢¡¹ €ù8cüœ›€[û¨ƒ½ÜÎ `è‘7ÿO0JôÇ Ø iEP–îÏ<‚ #"0¸¾3  \w;¸µ¸œ² 0naß?N)ˆ À(ðÿ”YBè@…l"Y™;þùA¨ì‡òÏ×F#Ôr<¨X£µ ¾az®™À®wªìv‚g¤b¹¯Lú“IPO”Á?ºÔgŽ2ôÿG¥¸ñŸ®Ì€Fúbüè;d€¬„}¹ñÃF:Ž4!ü?ÒD€KÄ.]âŒü¯ø>ËçBsû¡ Õý ÅM!¹ö7Tàé?^ôÀ@‡#ê":¡ÿ˜Ï8ù öqªûñ¹À¦PWÕ|»ÿôt]Ø'ú ïkø¸[Sðw "ꜷ¾;ïêoXH”m?Þ^˜zøÑÔ~19oþ…Îïoýaë•_üJP±pU=¶»Š@ µZ½ëß3PõOwütu?g>ÆF¡ˆŽ7úÇÐG(*(À$“Ä\&¢Žq‡V;÷ôö·íØ;Ù5C€À`ïp,8€¹ÀX~2– Ʀ“ñt>Ì}éX°9ÆV b¸p ·Ãœ @`*À´ì ƒ3àiM2ÖÜ›^éšQðÿ…q€ï›L7¬Dn -ÄϪûªü‡ w÷{þÕÕ¹ƒ< ß&ôgÉÿ&êñ¼s²S®†.€±ÀO¼aouO›É—Ù4¨dy”ˆ#°„/T}(àö>yI ‰5ì!üoG€—w—pa§’ø_½tùX{Iû¬×÷’|ýc«lïw<ïÜÄ .<"À(n‡€I¡ÍÅe^Š—ÅåÃsvp:ÉÀ’ ì1r€Y@™"G׈8¡l<ªœþ™. `ëäΜV  kÐO@½+@Í;jCäNMÄÐúÖ¥BWCCãööÐÜöãøÂ½9'î™ýcck¿nõ¼ò+¬®‰}©Ô®"€qj5$ôþõ†”_ËAhð}Lÿö@ˆ¨t¯¼Bèÿª®Æ‚ÉbØ£W ÿCë·¿…ÇàÉ2‚ït¨Ï` ?ÖœŸ‹ibA ÷÷{“ù<ä/ò úœ|ð`冧‘ cA`0ÍiÓh4¿Û¬ ®o½0à~ 7×tá=pe Wñ¹&Qêÿôà(ð! Ýk xw@8i ÄãûÄ*3ƒÄäL€V›²>0?|~²‘ƒL¬<¡?cÞ/¯õü’ -r=¸’Ý€\EÊ7eúâq<ÅtPç¿É™ì0µåU÷ä*ô 0ð}g©'×Kä‚°-›7“ ¦ H §Û°˜ôòʈ¢Ì/i?ÖÞ‰ÕŶ:yPÁŸûVz†ÍWBÏè˜>I§ß®à–x‘€ìàŒÀý`ö^!œlÎÇ€aÔÿ{n¿X Àt­-/—£ÿ ýé` - Àü3H/“BÁOT‹¹€›Â"ÐóßÚ–Úrse ¯)MÕ7}^úÊ=¦¥¢Õa׿ó~âýDÆz3!ðúÄAO†Ðçyׯk‹;Ûïtn1@6€¿MY)Ø9ë7()9–»DøßÞþ’üIëpü Ãßqáq†¨m½©ôã­ /ªyþ0´ÿ\UâÀNÁ„øwìsM ‰A@$AR²€”dÚÈ0`e'°0*.€£Êa¿rsh€‹esZ8§Æ'ѫΨEtPõsÉïªÀ Á¿ƒÛÿp°`*úJ+ÿšÖŸdôçýÊ› `Ä\€t×=$iÀ¦0ºE!-Ńz¥ïrâ¹üN›**ZZ²ˆ¸e@¡Ì¬ïÈ_(ú=§ltt?ÈW›£J~Âeæèlºß“€gé1¬ÌJ|˜•õ!‘ðHìè¾ÔŸS¥Î¡’ù«\!ùç¿t:ÿä7ssdù­?|æì'‘þèœ< Ò¨Óý1ªÿ'!@(,Ô; ‹Uª¾â>a_¤&Bˆ¯®aÀÝ»5†»5ê‚õÝ»†Ö·ZÍ…Uó•vûöÈb `k0ñë"¯¼R)`ëߪH\Ýõ§Æv ÿSjôù ú׈Œá~NÎ}žЧÆ"*?Fÿ1¨{µH(ÿçž~vûÛz<œÎO'eþ€tþt2‹¥“ÃÉá,½ÉüÁáGpO€rúA¶¸å àôÉÓJVàtðZó»ï&cÁßrÀ£ÛŸß~tûEª=m‹KÄ|a“Bz€î¹&…( Ÿ¡‚ˆÙ$¨>è÷kkËk÷´eF‘àõúª?ÍÍý´ºÚæýDä¶¢ôdb0¨(øaä&ÀA  Sr€v´ÿ9MÍ›Un(™õyfgKfKŽ™>hÇKðG»]eår» †›Øç/ßëèí|¿’KüÊ8{ ð[a@à>’Ðð¦ìTJ¾b™`Ž…nÐÁc€<ÈmD$`$#Ôg€ƒ+åB€-©=*z - 84Àӎ쀫ˆBÌ8 вÐár8\Âþç¨ê¿‹ã€,Bñ¯/µ~ÖѱÏ2$€)€@Ô -¿]÷êÿ¡ÌI#‚ȱ@Ùø¢£´¾ô¹m¨ª" -ÐÒ’(Oœæù9 С4èøâ™ Gãã'£‡±l„éoytô,s7¯f' qùm„׻ݯ'½Hd}D`™x@#·  •£ß5|…0¢$þ‡B½!ñ‡^)šÿ.þeô¯CÌwrö“°"þG€Ä4œfì†rÁXˆì?³ŸÝ*C€Kz‰ ¨AÔ껆š;}»w rÞzKï/œoXHl í<ŽÇ§~´°0±66¿fXõ¯å¤ - -^¡Þ/‚ZKW ùÇ0À -€Ÿç Œ­µ¦Zç™%À@¥ã<à¢x_…Ÿ"æNÞþ6{ƒfV†±¨Ûè6 Â00œNŠI¾üw¥ÀEÿ0º¬<€7€¸»ÒÓ‹È lþß’ôÊß²ðù ßzÔ–—G Àê»iêé€Î¦Ü à˾Àþ¡@®dÒ' ˆÀM4û«÷'ö‡ª9>¸ÚK¯«cÕˆ bàµ}â;'œI ¶±D€+/'tʼ ëíàV±`ÈŠA‚N, Â'}ÌÚÛ±/À3KøÌó’|e£«l•?Œþ!Ž62~\júñr*ø ýÞù‘×þMö±ØŸEáÏn¨Jñ2<"¹CÜ.¦ð{¼©)~œ;b&9ÀCoÀ 0”±ì+Ù¢ x%`&@ òË&ÀÞá OYGÀr5}‡lûãÖõŽóŒÊ€ -Ž -ÿëÖk¿,‘ŸáØQ‹î‘ºçÂôÚçb,Ð(ûï¢ü–àùÄÄ+*[ZìH¹áo$#”ÊQÐReïo­ý»` $Žܤk¨ËX ˆ>À²0 -^ ›ÄÛˉåe¢t÷£Ä‡l„péHNŽÞ£N¾â'î:ÿ^º°ûß¡­Õ?gÿ8°ó—}Ÿæââb³³¸˜Ð¿˜»ÿœÄÝb3}ÂYÈõ?1³Ê,à©|žT©úT¨òï#Vò³»†ÈÔ[¿ž÷ºæìÛDè¸ poaáG“ókæTëïG^¹ûJÁ]uŽôò¬?QB|ƒ5)ðsü_j,µ¦Ž¬¥rrð¢†1¿Jí÷«uTÿ(€€8À‘<~+*ŸÞ¾ý-§3Ó]ÓÚ fµ3ɤõ &“ÃDb½ÁØ€ A<⇵@Ó‹ÿ¨öçNÀô©ézƒ×~òî»éX6_ì€r,å-Ê%ì çf@Äyè×r?¸ÖóAOî/÷ñßô{@µ‰Ñß'§ö‘_9|¦êS˜£…x­‡{eŠÍ+J}¯×c“+†åv!/s8­bO•ùØÿ:9ÐÇ1€ðtÎz|V1.àõ´#,«mí/ ÀþËàïãÅ&¡¦Ð¾§ç–€úòr4ûµf•ô@ Q;0e€Kÿ+xÕ‚xqHöpâq× D¯Ãpayœgç2ÓCû.f?¨Ý·f€ƒƒxô‘Ì ÿr°‚ƒ¢dà  -²24÷ ÒÖÖ`¿Pƃ€¨ýw$üãÆèføOÐubH€ÿÜbo?ˆåw€çPUñ÷ --MöÄé!&#£Êá?¾úNÄÅà -ü -äWà_øŒlI˜X¾Àð`9‘µÌGÖèYú(+‹@ã‘Æ–#t…•)}*Ç þÃ>ÀG@~\Üú¯æ?)DùÜÊ‘YOï¼F·Ø)¬ÿí#º:s]q¡… @!æbÿ*]*"|€þ*uZÝWsw·¦ïÍ»?«Ù­ùUë[­úb¿«Á¾½m܉?~¿?ŸŸ˜¼¯_[ûu+² - -~¥^Ëá$ÀûÊ8 q®Ftc)õ*ŠýÔX$2¶€§ú…C@¥Â> ¢"¶ë`S¬ã €P×àíoûñhoofæätpf 8<=Ô'WbbÈ/6œ ¦‡á„0‹5¸6½ˆZŸà?{…Yq€é ƒ`L6¿ûnsópRàÿ¡è\>:•wj)—Ðö¦)Wô¤€¯Ú®å^»F—ÜèÔsPØw ´7Uç.…M=¹7:•q¡TúiO.S‘à{f¯ ‚C_g¢€%€I@0æ±™žsÂ1€ÇòGàãÅÃʳµ¿$@ù/›hÏÁÞŸË4òåU<Î…<ÕíTŇÞ+¹€›h¡zœâèø M\òKì·ƒ'Ð+ãü•0Ð4‡‹}.#`7ðÈP¶ïHWò`8›f“”=§pH8›ÙˆU°ˆúƒÌ󿣂ÏT÷¿ÃLõ?€ -¡l}`ý÷¤cиÃÀ?$H=ŠÿÓÿåtRD!H3½QÙ\Ï]ií󨨪üû–bv÷iÞ Q¦ì&*•&Çz¹ã»’«*`d À¸¹Ì¹F£Ëî³›èöŸuƒ ° -0Êmì$Fp–˜Àë`‰™|Øx:À%Þ -2¨õ)ýþ>çñ_ 럶2€ó~õ2·s`ÉÅYh!˜ç«þEøˆ.tm..6[,Øò û¿Rþë¨ö/ äïƒ  †áŸÀ.QƒáÎz õëÖ¿¿ÐÕи=4´¹½ú3Ÿ=ò–ˆ¼Oˆz“1Ÿð¿MˆtÿZÛ5œqô|@4 '÷wú2ÀdºÙÆÆ@Aüß·È™ä¬Á}è¿éÛÿÈ+x‡}âóz•íÂ61îï¹Î €±ýøç•x:K tÚªþÏz=³œtÌ—ç9v¬½ä%ø=½ê.ÂëÖüùJª‰bæ£Ó]Xý¸×RÕ?°¾2Î(¬>dÚtfÀƒ€|fÀ|²)n' & æâ°–g"$ñŸoj?Ȭ¶‘.€ÁŒP¸3ƒ€2Q‡Cxtñd\•Ûà]\ÿýqè»Äúß‹V¸þÅ. ÊÐ7‰[ùìwb€Ëø²Y»I¿LQúücÞRèÿåPåtåN¸‡ ÿn98*†ì oK¡Á×>? ]L@”ÈÌ@‹ØßqЗN£Üdœ9Œ˜€ï7pÉ €Ñ·™ŒžEàòۣˣgGëëéÃe÷G ¦|i$óZŽ!•"ð‡ù dþi+CZ^üÃþ?iÄg…D -ÁÐ (-ªÛ?Š!ÿ›'©þ·Šã¼hÿG"©‰¨úèúnßnßnÁ°{w·æŽ:¥þ»»µ¿õ×9úB³Þµ`2··/Ü»·°qrmþþÚÚ¼Û}t‘‚ÕVHk­­lô«×ˆØø‰¬Ža@Нýþ1bk99< €Eø"5€þ¢W_ETÓy5 øÖ7äññàÅ[3Ù]ÁìÞim0¦Y ®¤‡ƒ˜˜Ž¥‚\ÿc"sؘ^!À§ª‰.„þD‰2üÿä¿—ŸÌä€nïò£¼¥¥SyÕžNÏMÔ÷ m’äükèêÚè€ôdL=%ö>ú¨­çà# -9 äoût©ÇÇ!A¹<9È[Âât3³])€0þ3ðaVÀ—É´uZŸ¿uö:/  (iç¥Âájv̲O-É5µ—xŽuzJ^€/¡ÿŠ™9ék–êe¯¤õ @ñoðS¥ÏOu<ñú|$€€Ð®… _Ũß"‚Ü`û@h¡©I4„F@_§Ü¾¿ð`@–€?xv`P¦w>ÊQ€€CàL8®ÊŸ ¸¢ŒýÜõ§süŽ -L¨ ß_oè›-\SÜëüËØˆ=ðÆqë–¡ýãô4€Äiâ ·œT<õBà8^$òc±‹æ_™¥¡¢]ûéòÓ"bôÀvÃLø¿rp 8Ö à¬P ÿÏ ° ÀãËÜx{ó¡ÿèëõËgéY‰¬å¬D"‹nÁ¿ÛÝߟ£×rÞ4ä|Eþo `0>ÐËÆ?Þáä¸Ê›£N .¼í™ûÿÅgë…ç;uuEpÐEUl1þ»àÿóû‹3ø/€Ê À€ê¿HÀ®úήáÒ;CäÍÖV½~L?ß`íÀÔBœÀm~r,燭9cw -"©VVÿïs6a"Ò?wØ hð ÿ¯µ‚`/ JUÀÀH‘8êŠãììx‰ýŠ`p}æäÉìàJoºyXÃù>Á‘ý®XÐ`@°€dº9Ö¬ISÍŸ^Äü_ž&¨Ik®ü'c?ù›üÏÉà-v¢Ÿn‰ÀRµµÓÎ0€¶žk¹mK§óWéªMÃR€TzrE§@¶ -$Üsåæ°Ÿ Ý,„9h0Ó@€Üx“·Ü‰ý‚6¯KŠP ‚Xa€%À›‚ÂÖÙ’ÙN¬žÍ5]«xC ú&ß±’Ù’jOÉ‹ˆ8¼à)ÿ„ý™@1ÕÜ«Œñ)&>pvðh> ÎÚ@K\À;6 h…°RX" ‰›Ò¢[*ìPŸÚÄ`NI./?)1 h@Ùh™Rުψƒ8ÿ÷D ç=R&%ü -0Ç꿆ý£\çà -€Ì,€°VXïˆGhÓÈ7ø×¾¤üïð@™2ÿ_¦üå"±«„  È‘ú¢®ÎhîPx/q®§NPXÕPQÙÔB  |H4Œ£ÏŠ£"ÿTñ¢õ£¯gd€eFû³›£g7Ïb×HÁëÀÿ à8Ó³‰œå@]–?ÂHzÈü׬ÔM4þa @[‰¿u-þ²8”ä¾rqæƒÅbæêŸð¿X§ƒúÙÿbÙ:†ÿ:3*—}Åþ>¿JÝç§Â?QˆôõôSÁß§V« t¯ïœ}wG½ë €¿Êµ°04´ àñ½……‰ÉµµûTñ·¶úïD^‰¬¶¶BÜÏ Å€ÿzü|¼@„ÜÇ8`b/P¤H…)Î-t:¯jCe/‘?Ã>ì89=srš0>­ j‚+ÁàÌ€&6=< cŠìMÆ’IF“&°ˆíŒþÍèÿ¿ÛœŒýÓ­Á-<4àÑÒÒ -1€ÎYOµ$yymm×>XÊÎÓä1È[Ô\Ë»Fõä*þ€éÌ•>ÀÜêܶܥ¥¶9Dhú% ú@~ C>—ýbeà¾W0œÙ0Àæ«–K0 -`íÄbB+'z‰#„…ãÏgó”|z®„7 z}GŸúª¥¢àвüPðß絿‘õì4À þ¨ö¦² *.¦Ï™ -ÎBØÿô…¿ ԈቨjÔ~u ‘¢t£6ìî¾¶«®1ܽ³«?rçg5†Të[z½_ïjX°moîlo/,l,,ÌOLNηþšÀjòüW9ê?•â&/ fáŸ×0€ÕÃgØ)0æGþ0‚Àõ]ÝxT˜ëúÍKà?ðι·÷ñ­['g¦cÓÚt²£€H÷Ì»‚ÄýD@IJ`¢É4A?F4„ÿ±fÀÿß¼›Ÿ^‰a УC%Ü>µtêÔRî¬`TÿŸZÊ#°r*{qe%{}}q%oqi 1#ø¬À©Pþy”°:x CÈtàCÅÈåþÍêƒ&¹~0Œ•ÄÕ>1RAÀËÓ‚œhõÝmaŒþU_'ü÷T‡=¶’<_»Xæ0/O zJØPrìXûg/ €À‹9m(> À?Oî÷ -@×JÅž«œ… `/Lþ•˜°úù©è‚òç8U+¢™ 9ŠÊ?΄t§¥‰€¿^¸æìvýP„P¶Ê€Aeðzý`ߨ!€ÊF@Ù8ú,úß§{|¶Ut\æ+ æ0Â~‘ûãâ0€ -‡ëVà -¬pTHÆô ÀÅŽgpÒÈIÊÆÚMîˆ :‰À¡Ävù¶};qšÀi¸îE €{33 €ôîâ °õgk€5´°  |šË@rt´Ì(Ý2ÖhÔhTæë ì‰Ô×Ö¿^{(£‚ny—~2|‚‡‰Ð—Ä\à‡HB ?GÀ?èî¡^ýké?¡6ÀÖ¿¨Ó1eé߉êßIÕ¿þ?]qQ›è¦X¥âþñy®ÿ¹ÿï/T©T~µ:"Zj?V÷Áú×WcØ5 PïÞ¹kø®áïîRùõþb=$€íM–¦æ‰¬MÞ¸A À_P *(ЮsÖ+Ïú¿Éá@<È|Ø Ù[KÝo'¾ÃQ€5º¢ˆN§Ò£à¿šš{9ðåJyooðdÙƒìô€6Ó å?†M¿èh†‰`ÕÏ€ä£êO^K¢ü§ê?ŸNÍùÉ`ð¿b ¾Ü!úɾ“Ð9k#$okû”>â/¶e_¼¸~qýÔ -¼Å¼¶¶‰þû±A¦\¡ù£¾o3ÁâÇh(È \XÉ B±š_Q 2€w Kü§{Õ>nö‡±(Øã­ö• ùßî ›ªmÖÎ%f½Ÿk„霄©zÑì±öç¿à0ôþEª¯˜hâ~?Kÿ°ò1h§ðWfºûFúZBM-â#Fyx¦8˜q_°ašr8U€¿PÓÝ¥¯ÛÂö¹ þc j¾}€)€2cÙ³@G©HVLGeó_©üEð£C@¶NÎ]Íw@ÈWêÿ¨Èû¯àQ€ŠŠ -äò¿ƒ‰~˜—‡¾a¿õ`¯QØÄ2 ãQ€ÍŽYò‹>@y9×ÿ¬° ÐÍ[”hÀìh½ôb-Oéóýـ󋥪á¯[Zà 9}Ú­t‚ÄÚ¿ZÿZ%þ_l7VFÑÍœA„Àá€ËƳ géSø$V¿ÍµÿÙMÆÿ³›gq›•À† ~D0!ÿ5€Ê@HÚ^\û³ö?EØöþ0(æD¨ü×CR§Tt×|ÞÜWh&øwêõ…\ü«ÔTÿãÙ¨Õ}í¿Æ`¨Ù%ЧޭQß½³{éÒßÝQ«RTçÏûUkó ·‡v6o?^˜ŸZ˜7O¬mЧîCˆD -tkÀÒßÖùŒÿHÿLJBð«…*ʹŸZÓc.¢*Réxs±Ó¡ ¬¿~øxpæ~sÿÓÁl¤ ¦‡»†1äh m,?$ßL¥?ÿùĈ$éi·?Ü{ôù ^ð¥#oiåÔ©S¦ÎÙ›„ݲO­œZY_§3++K+Äò4m²ÿ¯4óy=Ú«sÛzLr8ÀôŒC0÷Ù¶÷nøoúzÂ7«•ä€ê 7À†An @ÀWm‚¨/Ú^«/l+ñyJŽuúLTÿÏz— `óyÂ^ªþ}ô*Nô…;K`ð̶³½$ïìOú‡´Òè'QÐ|jJ‘ýà~¥Ìû¯DE/+åaE&@; -!ÙÄUhòYªÿãMM< @»ÿË9ð´€þýa@tèê0îf’ö¶2SÏZA^4Øêpˆ€CªHüe³?î¼ã€NDý+Xø†õÖgµ™@þ²Í2Þ—ƒ!èÿ\þ+&@ž(ç@ï‰<öº÷£už=î À$€Ó;þ\ Pyž5ÄÙíôý‰€‘Õ \Ã`€ˆB0B™0`é#KŸ³LASVêéÜ@Ìcv”þ™*‹Åòš+*[èo#Q~zH¸$4² - Üÿ£F%˜n.Àë†x#>Bÿ2Á¿{4Cj9.ÐxÖ½ÌÒÿët©­ƒ¯×Ÿ¨};‘H4Š`àK—.a ŠdFä/ÿ®+•èÿ(·ÿÇ£ãã–q§Xúì`¨ÙÅ‹kÔ»5»wjô9w~VSs¥µõ‡Gæý“®{ ñÄöæÈP"þxãÞ‚cM#g5§õ­Ö"0’CTa!VÀVÑ -À0€ÞÏzý~Pð„5z–@D¥:_¤Ò§úßè}9øGþ?tkf)@œž™Û~ø@â?±t/q€üd>ÎÚæü|zvïÌÅÁÁÙx¸l€·"p*Ï6kû ç—m‹yëÁ:°{íÉÑXlËË(t,-ᾩǔÑýM™mb©À3ýé  †DÙ/× -@ÏõÊ%?¸éµy`È%àóy×­aŸ c‚X˜—[2ë¥gû>åò?ŒxÏTÍ“løôTõ1Oûì·–ì­w!À”ð_ÒDˆ ºôZéׇ ˆ -5Å]¨ú•Sb¨”ÍÏ)‡¬ÿx ĉè`¡J%HÐ -˜Äó-ñ¦–PS߆}® -ÀœÞéþω•@#À¼ó³`´LJû `°t+C2ëŸm¼x`ïâœöj”ñŸ ÅŠ¨ "+_Q » Ñ -Á¾¾Ù eÀ~£(ÛØdÌÜäUB7#\þK -0$s€Äb`%To´V¢^P8¸V¸í;þL’ðùÂ󖪊ʿT¶´„ìLÜŠ Üdvìl^Xæi?#ûþ¼`Ùøú3Ú€›)ÀæÑ@³ žÏ¯×¿þäD=6g%Åv ~ŽG Æ©ÀÿMJs‡ê§\ý €PŸ.N6ëêT<XTT  _ÕW¨ÜÕ*ØýwÕ¬ý£&Wõßä }}}oö©þé»wîr w§  ‡Jü }ñÚü$€¡ÍÇ/ÜoXh˜˜X›ÏøÿšÎó‘Ȫ?Gøþ `B v¿”Ê}¤b5ðªÿ1¿Z¥Â -‚b}³g4šÛÙ{ ò 1oݘIÓ± Axƒ¼ ¨ b#ÀôüÉdo2? ?‰øà“·÷>Æ;Õç‡îZ0uvz{r¯å­œZߺx±ãÉ“£ô†Ûñä7O.®ŸZÄt`›ÐÿÛÚòÿóNý·ÿzJ8¸@hÿslêÁ7yQ@8LOÔ€žg†ª3|ºÚ‹m¾žp˜u~ŸÉÇîŸo)\Ò ™À›kþû¬%O¯‚‰Àcµ-õtvZÛ;K¾¥à³2À.»þ´ìóÃF÷ûYÚ³ Uk.Û‰TL¡žoáB‹O*eõÈ@H6ø‰€ 8x.Å"•‡’”Ng™ŒaC{ÓT€ò&„è @‰–I0eµBÜÎd(a€bð¨ôìeúÿ‡AèØqð`TëPvÄÁúÏõ”-€QÙ€÷=à  ~gño¼uà“'¡ÿ‹@-”mîdX0B+y%€Ô¢ËÒP¦8èùþõ"H4cþL&€óç-çÿÖU…( 8âˇN°+T‚™Ì)–èŸY$Ö}[Ôúbà²Àxôp”ŽŽ^¨EFÐY†M¡Ô3¨ÿb´þè‰úú×ÝË 7‹ßmÄ4@{ <‰¯ö?K™Ù?ŒwŒ[²P,÷þ €Ñ¿ŽÝÿ„¨Eªb]1•üÅ…*t -Í}ª>.·¹ßOþ­7Õ8í - æa òÕj!ü쎡`¬õakëw×ÌS ÛC;CîÇö…©ûóæ±µû­Ê‘*ˆD¨®—‘ÀHăô1²ÿõ0ýs p¨T~=V©T˜ ú:ðràO¢ÿvf`: Ò'Â})H=`8ŒÅòc±æv Shž¹uq7—}~È:ÂðS=ÕžNï50€õ­­'Ÿ¬?yRûd½c={}eI,÷ d<ÿ¶î/:°W(3€Àp5¶È7Àÿêg†¨Qô|þs„üF>×ä ·ÂcÙpµÉ -÷¿—§ÿ#©ÚSÒ¶äëôÞ {JÚ;¿`‹à_Ë®?¶ükå s¥P¦D³ÈÀ?šÒ S²Ñ_Ù–Wˆ¦*öMn‘Ý‚¢7€¸­”L ²²©%$æç@`ÿ€rÔþ‚È÷|xeT‹þ ì@ ð`©œØRL€_öÿ)a@/ôÿ¬‹;Ù¿OGÔòŸXï¯pá¯È×h¨dö‡nË9NÀ\—qrVïÈ]K˜þ»A`8íR–º¥ p[áþ‘YÎŒãÏDTçU狉TTþuK –O‰hè¹BfCŽ*}€ÚL#`”wة俰龀øÔøìcà!Àúq÷Âæ» ÖA7õ¿9q‚hö¸Ý&²YÐç¼–âš<¢ö£8†ˆþ¿ÃïNŒþgŠùJiþc@¶êÔ1þsmM¸oî+î+ìƒÜÞ‡ÙÁ0Þü3 èSk:vû Ø·«Þ­©¹sçµ#êÖVàç÷ý°>Nlmn?Ž/ÌOm4L˜×.¡þÿ5€UudUÿ¡ðC¦< ÷Ó…® È€ßñc²”„¾Íâb§%àø¶/þÇÑÁÿ7Ž ý§y ð -/œæÅÀÁ`:­ Æ4ìÔÆ‚·†\„ð)äÿCG8 Ïd²užËýIÞâ©­£[O¶Nœ8ú$ûÉ“õõ•¥¶kyŠ @ÏÁâ^ÿãY^ ž”¡¶¶\èóØ ˆÔ¹9X,†ÁŒ—€ã‚ õèû½|UMÓ¯Ïä5åvÚ0.`£oÚ'f<žjå뙪m¶%“Õ•ÁÖn»þÙ·ŽHø¯„ë!æZÌ/k¯ÂŸ'‚Ì$NAÿw(¨?ßTEÃTÅTJõëõ<Õøq^\P°#`!Péà†ÿ€T„bà¡{°-¨‰+ªÿíBÿ—a~‘Dçdi:jKK/–èdÿž €Ü¸ØU‰_±HŠ‹V°ÿ¿¢Bàmt2ÿÁ¸sü›€'eB÷î—m û©öçÓ¦ÑÈ ÙÀŒ½PÿGx  )îÍŒª^;*}€"¸>  àÏó sþ­ó¼å¼¥"@l€å§ßØO‡Î¿ôþ)6€M¥Ç¿,ŒËTê~éöãfÒƒèwQ€£G·¾€ÊA àlbY8º»ûs¨&NT¢ox6X nF£Q—%ꌲ ˜ÏN3Ïûñú]‘J'I@‘N%Öý«Î(¦ò¿/âWEú"ÂöGÀåÿM×ý”þØ€FÀnÂF ;‘K?Lµê_ÍïçúûóS öÇÛCÛn"S ®ÉœV¡Üûý:ud î¿û,´æüæ‡ð¦¨æ÷ûÇ `0è‰ôa®EKÔÍm½„ö¯%P¥&Ôï¢ áÿÊŒ +ét^ÁXLKƒ±™[ƒƒ{[Xt[,N­äj3åÚlï_Ë]Ì^§÷Ù-ÂÿŽ'ON¬¯¯gç}@¨Ÿ‡â?ÏmŠ! Cz¾Äzz~Ghk[¢×}J<`)¯ÇWM0p84ä*ABô‚jk³RÍϬÁöV£þWÛ>5yxXÐG¯ýw|Úëõøé 7·ÚÓ“g›ýÿØ{ÿ˜¶ï4]tƱ{lÄTǾÈ\Ûq„qpd,C¨§S,WvëF$¦uS­e á®ãÍTFbéH€8ÒÕž5éÙs-mªŠªA§`ÝH9ÙK£T?ÍHYîFk­\ %•Ħ\åBN;™+Ý÷yßÏט´{¥Ýüê¾ø¶!Æ¥<Ïû¾Ïû<œ?0l4½pâÄwŒŒž|u?•ý>Xõµéi>c“*÷y]=Ù<ÚLÒ¸¢Ÿá@:ÿ’y"Ÿ¢âF?­~q²ñ©nBRJZ­ðGFGøØsZ6ZŠ Àý´gÏÇKTùuwk‘pAÍXZS]S›SZ @E7-ì³xl`j)u®èǤ¼›hcT`σ€üó~Å ÂŒÿ©ûr]¡ò£[3Øà>ÀËä›ëXìÍH À¿²¤Jy°I_§‚ÍͰëáˆò¡ŽÉÈH¦w"âCHÄÏ´Ö°w+ó?±–5€†s!Õÿ*  óω'€˜ÿ ¨íí1ø -úß þïì<ÞE×x½+ß_ùpˆ(Àx¯Êdk&–kžÅj¹g@ÿIûCXÿ_© çÙÃgûòì½ìþÛŽŠ­¾N@], 6)¾ÿ9Yþ¿ ذ‚° -þV*ú3h¼À*FëëoŽ’Ë-¸Q«./— -Ÿ¹oÞœ^)1¸vx9^Çwª—«—wâW¯ âW–¸À=ÈýcØ„%@, @kLOL$¦£·½=cÓœì?ë÷¿šªàú¿7w»~y’·¹ @ðVÀ%:¿øö'O¼AŸ|ðêO¼þbËÛÿ<ú\ïÜù㯡`m­lÊfãH÷üèç/T.¼üýr|{{»s´²]9t!ý›rVõÿM¦´0€F4PºÉø+[{ºì3¦ ¨Må„ícÚ”–¬á´Ñ¡õè0J‹Ž0ÍÎ@§}<üÇzà}=˜þ;FÒ}Æõz¦ˆéŸ8]6>u¢†«¦ôðSÃÃß)p§;Ù€ÿ¤À€s~É0M> xzÒ/un>ŠDúàé*‘ À¢L"¥H‰Gÿ_2œl¬ò‡ß‡`zrاMØ]8©Ò -ØA,€ˆ;Òà]õ™}~€ Üø8ØPv5{4­4%ñI]<&ðùTÝÇÅÿ9-)–ן÷#ñF `Dô¶'½jïò~j®­Jp¾ÂÀ•:ç °ÏŽN7€œ Hgàÿ ³îÿóÕOíóš `^³ÙÅc?ñà¿ÂÃ) Ñxžœtö²@;l =Ãáóª'$yx‰Ò¯Ø@7€àÿâ¼Æ.6ð_­ÚµÈÀåÌùAnÿw tmÑ_·®m|DLÀàÊÊ÷‡V††ÆÇ{Ç –ö UŨÿ-û‡DæBù_ÁúÇ)Ú?ìÿ•´_žüóÉ&å?q€ŒlÙÓaCêènë¹ö'ôö¿ÂCnPéùÿíg1 -¸ÐõˆAÍ÷_Ž]»v¹z£¶S].–Ü…•›Ó7K¥R¸Z[¾ -+Àk<¨Æ/b¹Øïà;`ƒê ÄãTè³=À•«Ö«–˜Þ‹YÛÙ¸ÏattôçS©“!ÿÆãÓ©w©Êÿ%Q€“LÞ}AÀD¨üÿÛ€Ÿ<ùÆ¥O>þÓËœ€¯ØýzÚ,ÀÈx>Ñó~úBöÒ%ÞèÝÞì®Ô/eÏMY“àZj - E¦ï¡Æ´Q+çé2âg¿Da ¯1‚}|Ë¡Œ„ñÝР;ÒiÇéáÓ #,Ž.þW馉«ÿ>úB‡qBÀõôÑsÿé‹GÒ從Õì&Lèœèþ€©¥ˆþ[€ÿœZ*ÖåÚlúIÜÊ« -UÍþ“ -²¼~솋¾p1æ¡?Ϫ}j÷?ê‹úŠa¿|J³}¾((·FHóiÒAÈ [x ¥9 ù^M"˜3ÐXаð´ØH"€ÖüíVBÀƒ£Ú€¦øòÀ^ï¿qõ˜Þøz‹XÅ&áÀÀ+NÉ$ð? )Àóþ$w|~ÜæÈÌýü=`¹d…§hlÔ»ëô1ÓXÄ -G j2Àµ+ ÏÛºl(ø *$}¨"€ç¤Óé¥ßµ¨/‚±Ðô™Í €;j j+ø ô‡‰¡Òüi5¾Ømh€¿÷±m ¾½ìêDy^ ÞÅãÑXùpllln¼×Òþ¬ÅÚNóø=*ü åý¨û<ÿ?ÜqÂ?IþCáü·a -À—6`¿ F;VÁ9ÿçÔ@Ï¢?6€ x&€T÷3À6àúºþôãTÒÿ,3œªÆoÔªÕåÒgîÏnzV -¥Ò?†kãËüŒþ—«„õµ+¹œÕzÕ韬ð…ø!ñ Æ¡À¼ €‘D¬Ýb‰žT€dêdåÒÿ­ÇîÔŸ~ù§O^ÿä·ùâÛ/¾ûöÛ—þàÅ'^›Õòâë/¾üòËSMýQTÊ_Ó5 6L‰§T.ÿwvnWº+‡.™L®lZzÿ&!M £²VAµn¶l¶¦]dÿZ¹.W{Æie-À2„ãG?bÀž„‰ÑßÑgüMúµ'èI=#ÄŒð qè+'úúŒŽ‘‘ž>“k§{žz”C€ÇKî òªÿbòËþeà5?;˜)›Z­A÷kÕ¯?L€PŸJù°—.¼ àŽ0Ò÷æ£Èd? ÿ> š_s ¬AvQáò ûÕÆ:1€§¹Ö[’E@g¯ ð’,Ê&à¯yúÜc*P%íî¬í'§Xâ¨8‹ŒX’¦‰ÐûÈgÿóyVb( c•ûØD×S™t£üçœ7 €[ƒ3Rô‹`Fk`k‹=aóÁ瀡¬ÀÅx8Êð?ê:‡û9 5‘Š`*Äc¡—ºíÀ¼¤õâÀ ÷Jßœ¿„E½f|Nëh °½Á@°‹8Àñ­Îã›ÄŽßèºË´áâààÅ‹ŒÍ…{{-ÏZè0X2±{TXëpöçyà,†ÿÄöÓÁРÕ?1.ù²0Zþf1ù³²÷ïm«^–öNÏê3ú·`¬°Ž@Àð×p÷3Tã;ÕÚõÕªo-w©4þÇêø5‚ÿk\ê¸l Žqå¯YýÏs9 $\å¤hc–˜•5‰:«ÅÒÎn…DkZRK'Lþ¸­Ý—ÙùÉ»/>ñKÞþgèŸx;¿|âÉÿõÇ/¾øÁËkŸvîòñ5þ9²Ù²}¦DÑq©²¹Í,¹€K‰ŸçÀßÄ0Ÿ0îÿ›ËÕØ[pïY0¦µGŸ¦ûW{û„è¤Ü8mì9íàT€>¾0¥O‹Î/AüpØá@~k…§ûèêGé¬cÄAŸº—žC`¦Íý£²/Xd ñl5"ê7SÒë]ú¯…§eÐ3£8ÀK(ýfº™È& xC8ÕÅ"€NQì~• à㬭mž¤7ÞŸl’Xæ ôý,ÄÖ?”¯/§î«éª¥ØÅ ¨é7´ ¾}ýþ™†PÉí¿@„n³†P)éÀX·K¾àCRvؾwx-/~-àåyi†e€Ýö=€Wlô$æµ…½9ˆ`|ã9í–(85HT`Áç˜'üïÜÂß¶ãÇ7¶Á‚"%Xùþ -(@x¼—Žqñ}Ʋß(™GþO? áý¶ãgï”ÿÿ„4=™þ·¢üÀŠ=Q~:étÜz.À;€V=oÿ+%€š@À â€trëæ0Ó‹0´ï Ò¯ÕjÕp©0ä¾¹Rˆù½աºSåþ?]]ŽÇÿšp]F¿¼(˸¾Êþè,pŒÅÚcÐÒÞ~˜Ö?=Àó3þã<µû§··^‡5–x1ð¨Þø«þ§—?øÓÔÚìÔÖ×rößÜøè#—éýòùá×Î_¨to£й=J {¡\–¬à´ì$Òéæñÿü§ê@m8`46µõ³ÜW…¿Jj˜òœ€`žž—(÷õ8N¯ í{Véβã4û õ•ûFžzŠèÁéÓÌЀ»€)íX•ñ‚IÜ„{~øÃ÷^øŽ€/Þ·ÿ––¤Â~Eùsùü¹½Ê_õ€MEÑçõ}a1GKQbÑðƒ½lýÑçTñs·Væ…0Á_å ‹‚²ýOO—[Þ  hb}bäñðŸû%†Ocà¥ÍhžMƒ* «Ki:‘°¥¼€w•°üã.ÀT½ØÂY-ô†¶ÉRrY'eÀá$oHÒÂýeXVú¡°³ @«€Œÿv¶˜áÀ™i;ʘ -ÄXý§ o]% ݼVüŽ>œ74ÐaÓuœuÊ>„/ÂâØw«=ÀnîAØÙ¤`€cŠš˜ÊÅÆn_0ØH%à Ö͘PùFA5 ’_ôûÔu¼ëøö@S† „+BÆ8ˆPÒ ×5›~î÷÷c ßÉî„üJp´ƒ¡_ üÍtÙj˜™`ðêߌò?§ø—Þ?‹Ñ Ћð -–E @wѳ‰¼eýÈ^ݹ\«í\¿/•Ü••’»^î]^¾VÝa - Æý±Xk.¦ÿ@_Mp/6`° o`œ,Q…LG»Åb™ÄO²€ @÷æ ÿ»L‚§¦:_|ñã'` -ð¢8\zýƒ'[^_;ôòÖî§Ÿî~Ý–¶‰$^ËfGzÞ¿T?Ô]Ùî܆ðÒù„)›P­nnõB Lï[lôúN§o¥ôíûé´ªû9PÈ¡ i ¤…šßJÀã© ó§ûŒå‘ÿ ×þ”³þ  }}Fz}« SÏ{O ?õÃþÓ '†O¼÷ \þcáZôŒ¡õOR¹Ÿ?'øŸÇ*@^ÿ^I5£ªJÀ0Òi±ÔÆ`$J T‚àŸ`¿”B?À' ψDÙ - ,©vì(èS€çgÍ¡Ï'‹¾–“©d!²äNERK\ø»—ž^Rf¬˜nJd3î Œv•@WS@“àK˜ÿøF³u^¶`! ãIý¼¬‡dØ×Rd50,>˾‚ý¾–T‰€õ:û@Èa@õ™:·ÿ¸¸Q þ²`Ç ¯²ŸÞ rÔU€ù š¶oH -/¾ûÃÑ-ÙŽNNN:û R"ˆœ™yIUýJ¨Åp%hÌ´€fR0 ÀÞxÜ@›À߀*þ»á?2x;`Þ~q(ÀÐÊPth €^ u®¹ àWîýýGyúû¤ÿîÿÓÑbíð¿ÕfÖµÌ9ÚÿÌöë }ŽP=c¥’;¯ˆý_Hùoµ²+€õYk»DÌëæ˜Ž åw0¸^*n®¸KCáR8²\5ÔÄn€;†ßé ÙszøÿXxEQ€øUñÿ¿»³Zb±X{Lס³† ìp:ó~hr€þÝMäüó»ÿéÝßøä -|ñ‰7žøàI)¦¾‹‹.—+{Èe|êôùÍ/¶·;;GGG‰œ?¨œ¿‘A~¿ÑoÃ#Hé”ó"ŸÌ (ì86ÂÜÐß×·/`/2 !'À[==&á Ѥ_K§áþ‡¯SO¢/Oû²¦‘ÓF#½GÙ¸:|â¢Û³:2ünŠÜN­úSõÎï_Úç¸ì_ÈŸÓJ¬3'¡±€çüPÿãä ‡ ô#%œ¢¾0(Ý]ŠÒ·.AåÏOúJÀ‚Øþ+úØF@Û*Lræ`Ò®¡L‰ ²”r/a+çi©€êt7þð‹ @õšâ÷h¾BøxZ£Ýþ"¯]`àI¿8!$¹Ü—ö?äIÍÀÇ"@bG÷§»®w#< €ÿ þíõn6J5(j;šÓÜP,„"òö$@ÍÕg§§(~X*ÀïXtÂ/)™üyŠWC_šnXÕ¯'"Û_]p€o5çéVì5‚{?‹¶Î i»Pôoq  §.´‚w¶85hðÌÊÊŠ›óÚÆ{C0È^Ñçö@¿SqeýÃ+´Š -°U-˜m9Lÿf3ºÿ@È­í¯-ÞF" }òÊmÕd¬¬ o‹ýßW/Ç/üïÔvj×p¤ärN¯¸£¥ðr8Ôn¹Z­2¸¶³ß9eÕYcÖœ>wkW®\ãÆÀµË×D [`‹åÊUËkŒ­‰£p¸£¿ßïu©~°pMp€ÿôñ»k¿|ñÒO¼Žíÿ'Þxã“oÐñÅG‹[®÷•rÏ.|±½¹Å«_Ì..Êš¸’켯 @ÕóÍF!@ST p‡Ê `4bý!¿§%-¨aÿ§MÿÙ€¿‰Q@LìüÇ·I÷8úžrœæÂ´ì €3ô%²ŽžÕ>z}}åòiÄ ¬ö­rÂðÚw€líÿ¼”ý8åý ý „þ NÀ>îJjJ@ž  ÞE¦ ÑÒPaˆð¿Z櫨Ôü¾f¥(w|Š3ÀïG,€ýâà÷k™@,òÓ§¬‚¸§§=0  íH" „ª8˜`S"€ ÿÔž àÿ½óÿÇÙ¸3º„­ ù[’\çCû@úe €yf÷k½&Di£ÞM4 ´Ã  ^ŸÁ@pZ ˜‘â)펀‹ƒ¼N§ õ?<xh*@[ÇdÇè˜t†¼>ÄEþ+˵ò¿;hßK îa:hv? ôg! o0¨Ÿ?Œ]=¿‹÷ÿ‘pØ…À&ÏŽË*X ¹ °‚¥À¶ðxû³™ ýí& üÎ>{X€Žmÿ[÷Öÿ¸°|¡Óé ºÿ:=næD÷¯å¶\ÈÜV°¦À+¯ðjÀíŒUŸ¹Éå̹ŒÎœã@ 7.^¯¹WÜÓ+Óî€Ðr»eÜregG¶èYW~GßH³ê­j°qTãW †å+X °X®ZÑÐé:,D³Àç9X¸ -ÀRä­O§~ùò˯uþòíÞ –Þøfý‹eßÏΟê9´=º¹¹Ý¹¹=[9”uU\Y‚~c9í0šÊÆÆ€£Qÿ iG€>3™ ayÙe*—]å²C¾¡þw8öO ²cC l˜}ð ;n%Œ#§‡‡Ó§µI‹ -‰U8²å¾‘Gºœ6fÃ#='Nôôõ­®oXYý€Ï»[–R- >Obæ/b??Á¼“8€3“Ì4à/€$ùÅ0–ÿ…û£C¥R”ûá!ºN•Põ£ö‹ ±?I7ŠQŸžû‹¨€9OHü†y šâ)€ÏZrŸá€æ ûß ;`Åx`48:0:ªþLó*ànà ð°¶öx—7+K°^3ÀdK½"E˜ýOлÀU.ó?Ó€†Kâè}þgç@ÂÊz°¾z¹nç=m Y‹ØpfZ ÿ¹Ä¿ø‹‹¼Mÿ {Sæ?UÿJ)€e€‡$\Nvôÿ$ï û&RÌå+7 Lÿ53ÀÆ"f_êý_œ.øœäü0ê«€¸Õ - ~‡Ðèc7ÿñ]GÒ.ÜB—Á”éëéáâŸÊÿUä®}@%)Ûh@£ð_Ài ¨¿ÐŸGÀ3¡¿“méU€$›ýaõÏ7æ AÀQ°0nñÚ?]yEs°O4ð(òÀ—ÔV -0 x`ÎLøKùŸJM` 2À‚Ú¤sÝÓp°ÏHù×m+€ätBÐlÐyÏàWÿ#¦S•¥–"Ò–ÅwIíE0êû´9@òÿHN°þ‡+÷ìýý³¬mÀn´àÜ]G 7fÔ4Mv’ ÔöHÞ@¸ëh€y~Ï”l¾‡ftT÷=›­c’~9ÿŒÞ‘Ÿû"ž§=g^âMî™nʘ ]” -û5Ÿ?pQÿ+—üƒ, ´E6¨Zÿ\þƒ_“ gÌxp¼‹nw5º -v8®|h,L cÍ(ÄÖ^²“ûs˜Ç­­Tñw´jõ¿Ÿ¢ÿßJ$S€Ü:&`&Èè9eà«^-ÿëY¨W‹€ô±€(¶€ÖöŒ‹ûúLL{É';úGÏÒ«>|¸Cwv¿Èd ÔÿPÿlâûàMþ@†}€nô1¡ÖWDø/‘@ÖWþâö+±ÀÀz[=ˆAA³šuW®ÅAþãõÚõëÿf…»n€åÐrز¿¶Có ¾sÊ -p…gqìÄ÷ZUƒ &À–ØaªÿÛ¯ZBÄküÉ”çÝÍ¿Ï1þ,MíNM½¼5õiçÛoüø÷CÜyçÅóÙ/\§Oü¸‚DàJåRå’©â‚€‹Š÷좩œ5öi$@Ûúkl²0Ñç«çÈÃP›µƒÜ0~y€&À­†yOìðL$’DiÁé•ÿicÂD/Ïuú‡'Pý¯öYxï…Çð kß°IðÚÒrŽñ_£¨ûœ!?÷Byà>ÕZ2Q@NÖï;Ùןÿ©ªÃÙÇ€Â]ÊNàP‰}¸ô§Ï"D¢àÜð!;ÈËXü+¦D DSa©•?ïç)ßÏ ÿ¾[.EŒß¿Ÿc1tfZØËŒÖ’UDQóqj±]m, PíÂø‡J|i`Èîÿ@÷DZ ‹àÿø€,d‹³ã¼ ˆArXÀ^ -HùX 8áƒú/qc-µLÏx¦›3ø,2À.m ™þ7 š¶·ö«&ÌfÅ–†ò³'ÐçŸðy'¢tKÍD (oJä~ ÀçÛ‚üè@ 0S¢0ߘ¨HûßnŸž–á?çñ 4è¬s(Ð^_}P&œ¨mŒ>kæ:ÎN:ópˆ¦"ž3¢}Wt AùE2  -ü+ôW¼Ã(Ú±Ø]`— -2‚õŸôþEìw¼;Я‘,tŠ+ØAÊ€U+„€9è÷Ôk6çÿ;÷!ÿgðÇ… ¿ 3ã¿. Ëéëì &€Œÿ¼ñ/F€„í·Ñô¿-É€XýEŒ­WиÈà¶fèâê•k ?`ð½Àé•÷PiyùWáññê 4vXß9Eõ¾YÖ˜UYììõ®^‰/[ °XÚq¹¼<²,‡Bþ…dªÞ½{€á÷Wh =€—×Ö>yãø3¼3ëª8>úâÐðS‡ ˜ýb³rèP.€ec:‘¥b›*mÝ‚Ø2H¤ -PÎÂ*Àч’<¸ÕP&´…À[M†M€ŠУ·ä¹Z³@‘d2šðï:Ò "‡É…ß”(§‹Æááa*ÿÁ F^I”Ëô²×¾ Ž€Šú[XÈ/,PÉOþg>Dç<¤ þ~ÍȉL:vÊû½a ’aú,ÌKá1ßX8:ü‹úJ¨òé/ }æ&PrûJ(ÿÝQøàñp2*޾¢ŸCá‰òþ;é d5{ER)N+ ò•”®Xoã€à?Ï6÷‰¾¬؇ýšlb ƒó—˜ -É›Dø#N쿉‹ ¹í@ßÏ=÷[tI€#7ºë¼¼¿1S·Ûz:œ¦gì"@ŸÑšûóXÄú;ŠêAM:°18ØH –@p´ó!¼cgÿOÛädÇY§×™œˆÜO»—ÎØñkðËè_f- à_ÓüÛï‰þEØ_£ùÏ*…ÿ,ÿpœëÿãÇeµIt j'àøÛc0°AïTã½Ï>«‹åtºœ^רôË`ëQ]ÒþŽl­­ õX@³~³´ÿþ¹Û Qõ£4õ«þ”òÿ•ÛXü×+—@éèsÄ!ô™X.“³Z ðÓ‹?½8 ŠR*…{ÇÇ— ã§°"Ç`œÛ–+†vÈ ÑÐ6dKàšáʲA²¯Río ͪËí¡åŒO¾¼u€á÷‰ÿР6™ýxvjmí›ù~ºf_qÌΚ^è©lonÏÎÎV*ÓùD˜Ÿ0ÐO÷Õ ž.dü¯mšôëX…”Ÿ÷ö¤Ü0©VÁžZ0íøRh 1“æ:dLÈÁ‘v¬ö™èk<``ÒatŒ1– £lJgË#Ã==ü:Ø÷Þ FS9k*›>ÿ€îW[xê?ÿ]õ/ôC÷çüUžJÿ_õ÷üùûéDŸwúµ @g¾È+þ„æTÕSù C0 -0VŠ Àƒ°ô ¡;ÀózšÏW(á–—íØòÞÁ·¯ -àõ‰Ë›¯à† Ï÷*ï{üàœäbÚ®˜€è¸”8ú/%ÞùÊ!Àãýÿmk¶–*¶ˆSäÌ~ûÞ !D¾ Vø&’t'hÐýZ¯lU$:i#ÈïÜq-} ?¯Ê€*ìY¸ñçvÑú øÅ†ªÈÜ“VÁÊ4Le?úPT€´lTFO:B¿3ш»(â… ï‚(€ ¶öoßKùµkÖ¿bè;@¯žy@×¼ -4Æ «k@•÷8:×:÷‚|v‚ @X>ºæç R}=6F €êoä÷èt:õ¢ûg‘þÓµ?\€tbd³M§Yÿàúöº™W 4m:Ͼ’) ÿà·µ˜}L™+V}†€ÕjÖ#0^Û¹ñ¯ÿ€ÀÅÿv‘7ˆ£,÷VÇ-ËUé0ˆïœ:Ÿ³ðžì€ Z`GRpf €ÅÐn±,–çÆC¡ÞPh¡%uðF[Dè4µöÏ»ßØ~ÊŸo¹ÞOÌzáï+•íÎJ…(À!“ÉT¾…šºO‚ýúé½@©ýÅ'8]6A­ßg,S½¾?&P“ 6¯ 4YjE=úé[ÂŒ UÿgËiˆÿÓ¶Cú½†lÿ83‹EÇðjÛ§ûFÞë!¾A/Àôèß¼GO^Æü?ékñ/ÀúØÞ¿@øÿ+ç¹|>´ÐõÓ}ýH2cðwz9«V4^tíáÿÁ?Ó€([ô—JDJ €y¬Rù?$k%¾#Ll!#ßNfý¸N¢î‚øX‚D )¤ -n• äö¸Õ2àKlİåXÿÅ `Šý‘À÷ ›ýÏÞÿûSõ1ÑOÚ"zHßáD€î{“gÞ¼÷Ï0xÚM¿ö™mþlˆ@ãÄŸ9ù‡@ÿ.4€jû@Ô ïŸUüóÈkk«™h—›r¢_­ãÇék6ç`Û½‹5÷Ý^ Àv´Cg;ÊÐߡÀ´dþÏG€ €™ètú\Ž»ÿ·•ý¯•7ý_‘›V¶|å¶õ6ÆXuTøgô·­ Ìa£, GÀPE à7.^¿øÓç.®)ÿ~i¼¦Åã†Õ €iàôxÀ¯6Í®Å × †kX #4Nø¿ÿäÿ¦PqÂèoÊ}>…°ó—ÿU¾ŸŠºÄµ3™kèÒé§?»ìã+Å‘Çÿa¥ ‹¡¡èPi,Z"€ÿst G#%!|† u.v%.˜*^/L„“¥¨‡a'€«Rý/a0-  Ñv‹®m€e€Ì6Å pW†8€&ÙÿcLÜœ­/ €ï!¶’"ýóq×?I„ˆù€8s;$⋤NÞï«ý\–%8¨T+Ú@Úÿ¢%Ùóÿ…€ý^ÿ°ª V´§EøÞÕ?b ÐÖñ—Ng>¡QD<"‰À°7¨ïf ûv7vüY³Ïû£¸Vá?xŒ{]2í?†ÿÎÎý`“wPwïêÚb zÈ´f¬œ§½êu³-€ˆµaPÇ€f!›™ -ÿu^Ðårè¨MœÔ÷"ù“?ÕùzýíÛÿ_áÒ_—Ñåˆ1 ü¶°Zè;e,VËrüÆ P€üÍÅ‹Üp°0ÔØ&gáŽ>c±@l%hüOO,ºŒtÿi—ËÑÓ·ºŠ ƒcõ½¨Ë$Ö¾ýàÏ-ç’çØï¥?:þ¨õéÊI¸¢ ÿB^Eyù¬lœÞ¢7ö†ý^‚ò1Ÿ,øàˆÎÍ@ÿx€{HÜ0Àí!.þê@è°€[²0ˆ¯ìPýOE¿¯@e?ä¸D–Ü…†ÐôO£û;3s’WºÅá¶i @eïÃÿ­Ç¤þ§ß}·€ØÃNclQ; áŸwb"õNøÞd /‰½·(½öûÿ§YÀ:%ŸÔ&ÿ̤ü‡óÙï·³ð† -Þh\l(dkPœÒ k“ÙÑ”ä(¬ôÒ \”!´Ì€ý,àpB (ÂELþ6æ‚Àâÿ¸tÉòßq¸ÿ`Ùo8Ï]#À¾Bþf: €ð¿“¾ ½ßÿ~2 Ô5uÖàÿüïèЉîÏfµÐ -Ø7³p.§c€ÛšPÎj•øŸÌ+™Û„üëm4þq†ä/ˆer™ ÿžâ¯ë‘Ü‹ÖÀ•Þ¸Âÿ¸xÝ=Ô64Öêí·Œ·íÔNAý'ø¿_¶j«ZàÖ{]»r•Àß@àÏ€xµ:· -}©¥îð€æô§iwm÷›,©¼óÅâk—fýðï*›ÐTU² ªÿ#PÖ±v—Þ×ÝW£}lt¸²\ÇóÔ¿‘ ”é{G𙀰ª†]Œô¡}`âýBþ8mZD oâEÓÈêêªÑdJþa6˜¥×ôù·Ÿ`€à¦%éǘyÿü Âèö¯òNÌÿýTi¡À«Äœ~•Œ@_^øc£¿¨4 tsµ?$ˆ_ŠÂ8êF3`ˆ#Ð@G Žªao'^ħðÂ…ü=\€&ƒRn‚½ÂÓ…‚Û³T(H€ªÿ%äMK2gÌc0¨þœ k À=‹€Qð?6gë©BKªÀ-"RûÓÏͺÿ>ß½Þçÿhð=…ûw_W‘€ÂêÄø›d€j€/x¬/¸Ñ>ϰ´7VÕ`ÈXnö0@ €Ã““^8SMXzÚóÒÌ»ÊZví² -¸gýG·µøB$ýHN  -ÿ“°€®ynþÏ‹þO¤Ê»Ö­F`ëK£€møÍ^Ä2àܸŒ!PÞë¬ý±¿ƒjÿ£ºÖ£âýÏÇ1m 9Gð@Žê{*éõš ¶ûÿ¬U 2úLFã^üÏÅô™˜Nû ±ë½sk,×Þþ,Á5/øÁÅë¯X ‡z-㽆ªr -æ&@¼z -k°°X-W®" - *‚ \þ[À®–—Ç«ssÕð²÷}…“õÍô~P$`kwvwêü|±ùEåý/6Ïÿ÷󳈨T*J¤M®2Šú¤›Ööö°]€)áèƒ%_9­f Ào€~¢ñÙÞCjV`Jß2i€‡ lþ»Q -þá’{ѽS´„k·€¾ZÄØn@a?¦^‰ÂwbŠ@µ.GD"b€x`~*SKn~Ù„š¿BИïVF|Ìò€½€v ¸»Ï ð±·îlŽv/ø‡bKFUÿCê‡.À]c~^™D|©Èˆ_A ,p@yK šLÏ0ðÛ§• \þì¢`¿¥$R Z+Ó ôlŒß¹ð0Lâа!‹¾7ŸT{€ÓЃ(⢺víȈnpqVßÿá4cp‚®®»AYÿ»Ëê?Ž‘ìTS¢=°ì¢5€©<6þ|påá¶q˳1k³€UýƒÀQný£`¶™‰˜­æ@Žëÿu‚†}&z²ð€rËdóOoÕetrQ…}«ìZT+ø‰}å9v@áotI^0,°ú¯á?—êj»¯þUk [–‚?‘¸¥¿Inbžê*›¸þç»Pþ£û²`,;†ßv`àx¯'AØ_Îf1ÿO'þø •›pŸGò_ÿBhóÊò¡1ÁOù^…Rn‰h€›‹Ïž t`Røq*0aÏÞ€Òvj‰÷4#Øœªt_*°#€Ò$'„$“~hÃì„òâÀH4ºô À¨ê(Ù\w“ÿÏ´RÀxÚ.@»,øm°`ž€JR/;Rÿó`†—ºeã!446véþ’(©÷M"D„Ê}8¨ß»òVñÚ&ÀõE"/?€\›ØEÈGÖ?Zõñ?opÅo‡Å?Ë6`ð‹†àüàÆEÜ·""@º˜‘<“°‡€6Û$Ì€ÿ2ô|ÞKïE!²t†9ËK|Rø’ $óµÈν˜÷+-€´¸þ§‡‚’þШÿ·š¢ÜXÛÚÿ¢ Øb{¸ÎÏ#`®×ËÜCÖŽÚÎJò_ãSl´Â -ØlÎå"„Òÿ6Ëùõ9ÜC\@ -ünëxA€á?¦Ëdb™XŒþ)¢8ƒ3Xsz ØC ­X;úü° øá‘*&˽TÍ÷óéÑË;µø©x5~jÎb5X2ø>1 Ïþ¯a!àZ|ÙP%ðGˆ&Õ¶Z•bãõÙ/`ïàØ#›/Ÿ¯TοÿÁ¡Ê¡ÊìâêyÂVô×Ù¤O ]3øw-º²i‚_†é2Õâi­ÐÐðø>¡²öMWø–û%L"(”n€+-Ÿ£#0âZL;€ø ÇHð_†;@ßo{Œþ®,(Àçí}{”` -hƒøùiü÷cÀ`'Fÿ¸³)ÀÜö'6‡DÈò?OH 5çÕcàEŠ^> Ñò–Æâm@¢Øp«À 1Ùį°2?¬’~6 öñZߊHLüK4PŠ)€Š„`‰h€ô€%b³Ò8®Ytvjn€ûã[àÎæÔl½^¸ b„ý˜v¤~.¦€TüOD!¤ó›>žPÍ[> à’=^hDNKñ?cŸfü×ìä4hoZ¸(M@?Âæ¦Å Hv= @ÀÆN“NüöMø~îv? >”p£`WK€âÈ&?MÜ ÚyEP÷€PøßQlI÷°P ÕMñ àÀ@ð9ûàÊPÛx;×ä¹fp¶µÕvô(Kù¬“ñÿ±·Ì]#PÔÿ·µ€õ!å7£CŸÉdý¹£2?Cg®ÿ‰ èÐøV܀蓌n@^­±0dׯ_¯ÕŽŒ/[–C½½–åøN5¾¼¯BÉomï•=‚˜õZÜP½ÌË€§ªqÈþ↹åqÃò2ªñj­­Z¬Juûðàhnjnneÿ°YyÿOTˆÀ èAplL›]&›n ûaºç0¥ËeYö+§ñ\VâkøŸhhþe%¼Õ MÝ“ fÂ&þ„>LÜ9áÔ‡‹l4D_0â0þvÄÈ««ÃìýCÀåzŒðÿH ÀîIr@Õÿ¯ˆøóPý³üMº‡X@Þé—öÝm -À¡@~î€ððgýq/U>´œ 20ä† `É-ýaDðÏ@¬”¼œ„E€0Š~ÂýÛÞŸ‡ÿ> #RR22g0=½— Ì*^_ï–@ Q¶íššíš7`”ÿ÷>F ÀÖŒêKZF@>ß«‘Ô„tÿ#ÉhtÂ;–< -šðEÜbP(;€˜là ëVþy”@²íÓ3ƒ*÷ýç ßÚ0ÕQò?ÕÿgÀÞóâÇø0€M÷=ÝYÛ_vôÿ/NâHÑ›ng !ÅÓHðÞ.ØœoØÿÊ - #½}Cký+üøBþÇ.€X` - -luî8k[u¡ Àx°òý¶q as.°SE¿mo - ³Ößb³‹·©äÇ´}zf9Dâœã™B†ËÞþ·ZÛ­ü˜þëZ‰mÄÄèÁg3P]ŽIC»A"aøƒ×o´ÕÆ«ñ6: ¯žÚ©ZÐ8…F?<}Ëv«ÅbÉXÚ¯øWéþ*]úÓƒsËÄÐ/WkôQ­}V¨$÷4˜g/wÍþèïÎW¾øböÂMÊ`óoâ`¿, -~¥ýã žã—©Vô›Ê.<@t€·Ž¿²ïiHý÷TÿÜ?H°ŠOÎti,s«¡lJ÷-fþÆ‘žr߉>n8~;Ü—Ù?.?¬oÚ£#Ÿcïü\ú´ÿáÿ‡€Hx  ßïìàDߟMEà¥O~‚5:y±ȃµÐÿ¦dø˜Œ‰#ã=tnñvÃÛ% X4À †âU]ØëçÊ?é÷I ñŸ/I  @Xé-`¡°4 )à ³€™“ntw«!À¨ZœåE€¦EÀ†à±w¾¸³9; -ðz9MêUß«à:nx@`åÀ{ì -<‘Š<ï±èÞ€nb†—ëlþ6]ð vv´«A?(À/6TWâz1Ø×°«4 ÑÑÙ‡² ³ulG''ñ»/@÷ôKÓ3ÊK ?hÚ?ù ýd¿€îJ‹â×ܘ'ðçîQƻۜò# þmuîåEhMÕPª€] L± À~qehìY€{fæbì†Jÿ€á¶uÆ~þÐåã«×´ÿ}€ýr¹ }’á5¿:þz„3-Àš!ï‚Ð¥9 èÏ+ä`Ì-ƒÌwn°€ð¿vÕ#µx[œNÕ¸e€*«ýç,Ö˜«…¾î€¿Š@-nˆW ËË|¯V«Åb©p³Þ}088öý]™ÍúÂt¡ç|Ñ™½”øÍhû¨Ègw˜\Y“†Ó ‡€6Jt5ð.³!Ÿ–p‹m}²ü ÛøðlÁd’ö¿IÚÌ4L‰Æ÷OHkàüCtœ>aL CûG/¤çÄH"‹Ãð¸ßµGGÞE¥™ôŸCÌæä̃äû|¦²ž8óÎ…|Bg?Šÿ| àúûá[Æ}Ô‡±>üX Xb?`œÝÑ¡ ¾DW%Ù ,Á:0Ì«QÞ ‡™(NÁ»IDãa‘Ÿ*`þ/ BýH@a)²Tàt@ô^’ÀÉF\7nÊ 2Àæ8€ÝÝý³pgssôåúɥ’Zˆ¤|?Oa Iõ?ÛFßD&Áÿ›<ˆÞw(ÿçƒb?¯ÕüÓÓ  AIT6€rRLÀ®åë ;ƒ'‰À.æÃ ¶Éÿ0‰ßÎðDÔAü§o˜Ùe !øWÖþ]ü $+@àWûßU@RÿË 6ðoü’lícš*Pu° ÐEßppåÃ1‹•Ýyö½plý?Cà(­tÁø¯c Àz`Gþ0ÎÈ!P¯Ëè ÷u>Ç`\u:+Ę3Ð=6úLrHˆeàCø'^i’S€Ú#ñÚ©Ú©Sê5ªükñe a?ªü8¾#fi·<Ûn¥KË8•ý|w Áj|y®V7ü‡—«ÕÒr±XHÕl€à„oÉÏqgmñogg÷·‡0È^*'ΑõƒI¯ï›ˆ˜´>/êEòoâ¾=4 MpKÛÿ3f øW eAY>-+?3‡²|!?TN]#h€cå¾ÁOšÿý?æêÿQ€Ï»S°p.ÿ«eÿׯ|ý,þ£K'—ÿygˆè@(¯ÚNVð À‰)"°àç¶}8);È@g_ ŒÑ~ÈeC@è£îRiÈM×¢û(†}²G-ùþýš=pÑK È-_!UJ±,€ý‰D–––° à^Zb?À“ 8/»àÜ ~ÀÊ ˆ3ï™<6€@}‰ð_‰R?OE&0ï    ^ý{“à?<NNxy-Ðçy °Ô²›I@ÈáŸûø|ã dö/aÀƒóƒ¿°kÞúPJ -€¬Š ;Ž>œÀJg­cÒù“<<$Ýž3žAèÿø?{°‹Ã ®þ ÿ¸c@Œ€Ôä@|`8ʱ€£wy:pWÖk÷€†%€Fx ønCø‹•ÚX¯%¦Óïo¬­½%Íú:̶·@dæu³9XèìØþãšîÒ£æÇПð?`‹@úÆz%ý‡FôX{Ÿ™D˜3«±€µ}{þ, ó ²ÿø–™[¶P•€¡:gÈ޵[þc–¹e:Õx ×sUbGª„—‹%_‘˜ùR}긎{@æÓóÙó›ç‡ô÷—]¸th1{)qëtÂèH4"}&hÿ®. $Ž´êÛs¦`¼Ü`üEÆDÙ‘H7–›ª|â8eãÂ~ЀlšL GùÐ SÂØó^"1Üã€ð¿œIcò/ÝÿÏ¿ïÙ£" Šçüšý¯È¡ þlì\bŸ*'‡HåïTÉðúC~”ñ^Ÿø³#`˜þ!÷o£J(2Äö¾HF> ¤€+QÉ û û÷CȆ@D'Bh-@ûǶ÷h –RÑBý€RI*ÿÑ&Yà` ˆgÚ3£µ[€<P«€*xÀ¾EÀÇB”w7™œ$*£á?°·ó1ˆú’ÑÃ^Ÿ÷M¬KLD}‘HèÝÚ@]1@¾gPõfÏhÐ?ho”ÿ›¢õå?w¦åÿæÕ"ÆæCxo„ÿÿMêõF#î%7» ùuPë ŒŠ·þ…hjvÿ°»ø^¸K4¬tªß!ÍeZ3úïß DBp×]t†Jã]Œ0|ÿ+?öª"6Û[æg̼ -X7¯Û`L8 †ÿ^5ûuhÿuÒîGÊ`@Ÿ‹ÉòŸ.Gß"g6ÛÐ ÈAJ`ÎåÖá'¨‹™ ¨Ó]9¥Éèàò¿ÆÛÿU\ÔN-Ð¨Æ W'-Ëak;È †*‹ÿjhœ‚ V/W—K¥"‘òÂ¥úÁàAàÞÃtÉõ„é’é©÷gßùý;‹³•w~¿˜]$Ð<ÂT›Ê&T‹‹Ù,ô€ -ÕÕ‘Ø[€¯¿Édl|µ‰‹~yúþeVÒwȪéAÙ”åo„òßÈ‘Ä#Ã}åÓï­ÒKyï½a#£?ãÿ×ã-{D`“€æœ¿å\¡¿ÜügÙ?þ…~?¯„Ü/8Ït _n ð£ÿï åýÏû{ ­ýlT?_tÌ•l@¬°é@zwINœÀk>ó€Ùrˆ 8Œ%Ã$â¹ Bp‹P&!ð)! V -Øð,ñ:À [Ùщœ ÜHbüßí”H€¯Gà‹; •º0€-€ø&X à‹D'&&¢I*ýß ˆb%àÁüÕ•…Énn˜‹ €à>|È`P’€fÎ_Tòz,Î75¿‚ ¢È&Ìv×ÃH°é&m:ÛädÿdÞ “h7œ€T´‚ÿyíR»Áj€yûüÞ£ÝóÁn òþAبSá;ýft6v¾DÀþóÀX¯¥=ÓßûÒyùãÿÀ1³í™€ÍüÁˆà?§_7CógÍYEõO—º„zVþ¡C [1ºGÇSBzD™­¹Vˆ1 ° 'ho‡AP.ךãý€Xu§VÛÙ#¨ü«ðÿÃì'gß#ñÀ~{ÆBðo%;šcÓß87jñ¶*]©UÃÕåb±XúG¨pê•à~`Çî·åÙÊÊþ¡²éøáû‡fgg+®fßù<Ë?)àýéDÖåb.S©.ñ<\½KßdÒ,üélzˆT@t@{Ôñ¦¬Òó±¡¹ì‚ pösOüW‡GʉÃÆÄ­ÓïýpØX–½ÿ¯þ?"pçdª ¼¨5ÿ¹ý"Ð,Ș_„ªèw2@W ÄøE ‹°Â¾¢7ŒBž·YÀ÷—Üœf -PrsLÚÀ"À0wþé €ßéSù/nCÜnS€Ï -)Mȳó†ðôÔ=u0€5=t|Ìvuí©:wE°»çø¸&›w6g+ݘÐò:{¦˜ XMô''|cI¼™¾ÈDÁó`^^ùAmg®¤êÿih§§§Ï(€þa„&opý¿2¸r†Î+œ<+â$F€]³ÛÁX‹ Î6©ƒ©·Û38£b€@i$ -+ö½,  fügjÆ@’„οlÞ…Vàn×ñ.Íñwkß V¦m5Sµ(htÑ?È€%–‰ÝûÒ ö­ÿ6ó3Ü0;öÖ13æ¹ÜmÐxùZ• -#‚õL†ý±%¨ãU°žŒ‰ùÎl>F•+ƒ²'0Ër -Çû‡ Hû­AH<€}j§vx+ ø²eU~ÕÒÞÛniŸT-€I:ƒTYÈGj¼ÿOõ±HŒµ~0xøÿía²/Ÿ?´øÚS°ʺ.P‘Ÿ5–]ê•Ò›Òå¬khÅ6`9!˜¯ ܤ:¼à_ÆÝlø¯T‚Rú7Œ€ (›”ž_.˜~Ç…ýG_ϰѴ:LOu ü‹`À…ç}þuyÇ Ødÿ¹¼6ÿWFrÅ[Àúž úÏ÷ï'€§óyyà—Ö?†µ?ÂwÙ’iÀ›Â˜à D·}a‰ûÜìPäœÁ° þ“y&ŤR2 (¶¨À$¤€`œ À†ÀØ`«#®.•í¨ÆÄPà“][5ðXU€_ܹ³955Z©¿[_Z’)\#d§"Dÿè ð÷M$9'!B‘™ó -TÀ<÷dÀuÿ GR€í3ƒg`0=¨TZ$°u€ó28Cð ZnHPW׿Cø£q{ÇdhÒùh‰¸=¼³À+ < -àEvä@&Rýwóð økÎ’æ?`àÏ €­ ÅN þ÷v@¥"A€A÷o-€¯ê^0î›ÿGox¯ÿÌl¾›yÙÿ¶Y/k€1lfê„âXÈÙr64t0 ¦êž5€6]«Ùœ³µÒƒÜȰûf 9D éZqïÕZ~€5–Ü€ýÿ)n`ðÝ`Y†ÔoÎ`¡êßÒnap¸ýpè°%׿xõ`¿V=U;E .V‹%â©Ï|€èàÛ3X›ÍfM³•ÓO%\³®Cåì¥EüRµ—GÂhZteé“rÿÁF€†ÿ"óç{.—+ëBC_{š©ÁXÀ·Ñ],„Í@9]¦òŸ8ÂjÏðjÂØùaχûLÊ÷—N_£÷ëQ€Í“©×[ZÎ!ÿç\¾¿Iÿ‡#äìWêïw:5Àç)@¿(œ!M @u:ÒØá€•=ÙôA (Z€p¸Ä»ÑhÞjplh¨äFbúŠäòf`N€>Éüñû¡ú#ÀÝÿdc|ø|~ÞŠƒ#F)¶HùZ/SK’ Ä+ìhÌH$p÷žpV&šàVç¾LÀÇt@€€½^÷,©#AöaŠŠÿ(b Q¤!Mð‚Ä×ÿ¸•rw? —`ç9nžÏˆ@öÿØqã vÏÌ NŸœöLÄ«€hìš´à+îinNÎ4:ôÆ?øw.sتËd&'C¡<Ö# Ïñ@¤Q7[4Ž hþ”Þÿ×A‰ ªDBý ¬ÿ3¸ËóÿM-ì·Qü˨ÿøæþ IÕhîç€}š3C–З_;”ÿ¶uɲ½`^_Ç]=ZüXÔØç/ f?úA{€ž‡g™Ì=€X.‡€YGëˆØ›ýt¦4 zp]«-Ö#ü?€ço+ÿ8WyÓÏb1@ã77N¬ÅÒ>Ùn µ‡ÚétØR››‹WÑhk‹×xû¿V+1þ—Ðýü¸þ«ŽfÏ›f]§{.ÌV²‡¨Þ6aÊ»&P6ñJ€k±œ /'Ê{4 -¸úO@°Ç½LL SãI€r“4LvðßÅL œ^\$®Ð·zzddÕhL˜Ò}Ã'†j€ À×êíz`óRª€@öüë?Û€~:Îrà¿À€þñ7þYûrj¬€•€ì äå=@/«1¿çm>Hþ (ü‡°ú>Gó2 ØêM€1¾¿Äu.ÎEŸ?_ôy‹Tÿ©ðáäc;àb±¹ÆÃ á¹IfKKž PçH`ª»µ¨[¥h–6„€»ûíýK³ÁŠRÒñ4¶Ð€íq!Aµ?Á%ÿ„ ÿ±I!Àƒ"lدœóT0s¶°Î à ñŽú¡òþ¢}åÿJ@ðOè“›nÑ×hмí‡ÔÈÄ0ãîpöz“ÞBÔíö`UaF†v1ày‰‡àÍ?1øµrÀ®ùàÝ., ŒŠK"€·åš  ú¯…ÈßýâÑ­ý -€»P ®¸‡Âã˽íÖ/7€âüë„Ýoûq€  `F·Úîðë¡ò è×öÖ©ÚÇÆ÷ˆÄxº/‹VäØm€r´ê:ðŒÖ«ñËHü9…ü_öþgð¿Lœ ~Ê07´[âÕ¹8aý\ooo{{o¨½—øK{»eŽ*ÿ¹j¼ÖV#P«j£[µÏJEÆÿ¥›K€ìøã·ëÇ™uUþ½õÚiS¥âÊ.^ÈÓ‘MpqŸÝëÀã€DB›ÿ—5)€0"YŽ6:¼ ¨”‚xóЖâ«°ÕïB¢àÿȦÓãHOÏ*Û¬üMÒ0•Ë_³·ëá€ÍúRª…À9?«ÿµ®¿3è?fù_©z!ÍMTü‚îô‡BÒð†‹¼€Å>bð €’¸sB`T›¬HÀ]Ù‡x%f˜;þH¦ºßŸôCC€B²TLqf®² °’X øÔ=3u͘ñ_y±ðøææÔžÀ=Veâ‡ÀÔ6kN.a -PÀN#¶¹PˆýhúGS@ÿ úG$â}@¯A¼#g”þô´œäê ²€YÝ5À gýò*gqà™…þtàÚ3½23( ´_F@ d,Q½Ä¼>·gÅÃðèçEPþÉTÒŸ]“þãZI‚\õ«òŸJÿ.Æ‘ÿ¡’ߨg Üc_Õ@`‘••h)<ÞúÒ¯€¶À[œþË&@þÄÖÙõ³žàÛÿ±X&“*òQÔ›Ù)8Çæ?­¹œMcȇî_KÊÑ7jåÁ[üLÛ ¶Æ:,ñªâOÕTþo Œô1ܯâË!Ko¼mnÎ0_)`{VÁí¡qxÿÌUÛÿmñZ[JýÿY¡^¯l ÷ú{ð­k”?¦Âßø¾){ :£òVÁ»š^§ùiÞÓCùoÚ×HhB6ìì€ñ~¾L‹@¢¬ -&eQþîB«#=0ý7%ÃÿoOZzÿð p}íÞ­‡OF—^O% þ5ü‡îßÙß|,äÑÈ;Å?ú•@>õˆÇ¡|öòóC²»O  ýÅ0Û±ø¯ä’D à"ŒPðnŽúØ÷? |ã"Êÿ$Ê:|8¡= a@HàŒ ¸!Ðí)¨\Àé“b\ïæ•ð`·yÀ€)éì*À=¡@£05;Zé®w/1Htfté¬JÈ\ g«`‚0h…@g† - vmçœþxúÏ ö¤?‚þq‹¥7ýãtó'í¡ÞöÅb¡órßK¨ßFç#U¦µ€ÂÒÍzð€ÿÊ8Ó­ô?ª$çúýl…ÿºÊÊ{Gk$´u~“ô €Æ>>x -P./fUíïÊ"H@éý¥uàra€§¹¦wé>‡ ‘Ã#ï0–%ïâkøn=|Ðýz¡¥Ø’‡OC€…fèG+MˆÿÙ˜ñžàž@žA_|Žö° - -…¨dG: ä@}6ÿ¡Úžn”ÜCrÝ?Æ(ÿe0G@z:ÁyäÕHÔÿ@{ZüY‘[,d@2ék¡Ÿ„ úOó& ïðD»{^‰e0Š €fÔ4x|-€­;[Øœ v×ëuȈÌxÜ…§±ÜAƯ€Ò ï£3à“’ˆ;Ršé|p€îùî ÿ ³é Ruí9Cl`púÌMýžá\@úP -À•A€¿›ë°;0Ö*€Íí݇ðöZmÝdG{ÿOüá(Œ¡d\ »%àÈ>//ƒ>ŸŸï66r LþÙx@¹ÿ‰ p×—Dò<+lììÇÿNÙ¤·Ä=sùu›;€ÿÏË©êGI*X¬K#Œhêüu<À ~"XäÁ@.§Õü˜÷ÛôæV=;q; g6¯Ûl­­ÇŽa7à]‡®=ç†cô¿S½ ÷_ÿ95gèµÌµ‰Ï͵µÅ©òÑÇOpÑÛ»Üv¤:‡ð?XÿóQ*Õ®Æ €›õzðÀøýEøÖý@‰ßM³YÓkÈÎºØø' ìΊÿ®’ë—ÅÓWÙû&š%‚j`ÒhB"-:?Ü-[üYâà.žýkMºë“1m$øïC~@úô{'eöüåãkùf=|PØyö¿ N†ÿ¼ÌýEÀ;€ý ù_Á ?”g¿Ÿ<(þ™ð-îöçù$Þ=ðÆ *@ÌþáõÏò¿è£¾[ X0ô¡è£ !o1Œ€‘ ¬äy$ -@ N}-I¬¤¤à–T` f<žúKõ:̰ -8Jô57`Äh"€]^Ýú’У=î°0w°(2¦©¥&Nº•¢Õ?[pG"öõ"X'€µˆ&À´dœñL¾Ä}ÿiŒØ18ƒi€}pïX™–âŸp_ÍvИѬ€!|€5´Æ3ÖÞ^oT÷ô™‘°  ‘(Wò3*  q - *ôÇ ` Øu·k@¹ÿn -ü³àÞ& S<ˆ,áΆC@“'–8€Ýˆ•¢º–¯xÝÉ£l`æÞþúºY‡ý[€÷óý€îõsw€}(ós  ꑌªöùËy×/¦×éctËÜqX× -w¡Ög@À6ŽÙÌÇZÿ:®‚~éÿ_®!çoù<€k„üCÛ‘#m,·8-½íÄè#4¾|¤­Š)ÿ™|vý30€ÂÍ›õàær?˜ãߟéçÏ›eÆŠË5ëZ\ÌÊ€>ëâJ=«À*üÇàï3õ±À¿"Õ?¦Z (ʪÌÂh øbE\`àO -‹¼b ¼ZX°äq{ -*¸;€F,ŒØu1 -uiø¯Ù6›=v¼ug6ÛtNÂØÃ§ˆ[DD¢t“ê}ž°0ôwô-ˆ@¶æ÷¬§1¸éD7€X€‡€zÅ#-€ÏúOóàÊÂÿ!Ô¼îÒP ,ì* -`jûa DÆjiš#˜òzÃQúG#DV¸ö·ó^üšjØ1‰û¶€¯ž ªÖW—„Èö«ÿº8hSá¿jԣ˜ïÚãûZhÜå@ií«2Ë·©½þ;ùc¿Ÿwüðú @î äYÛ[0 æ¿N£ßÀT€È ÿb­¹\+|Ž!o຦s«­Ug{¦Õö×Ë -þѨòøŸ?½ŒÀÎN¼Úfèm‹¡ë8÷z-Tü÷†zÇC–qÿBû×VÓ@é³ÚgŸ>Ã`có` à»ßŸÉqë7ÙÙlÖ‘ÈV\ÙwÐ`›^4ðeÉ¿šé¯‰þT€éàÞ$ âüãÒÖ¹Ûo„¶ …„TÐîbø7²:Ð4r¢ÏÄ÷r àkûN=tp§þºÏ×âÏsüßYåýÃ-ÿþ=+`ñ‚`Þ™Ïî‡0æçþ($™ àÜ G€6Opå÷ÂÌ/<4äІÇ|alÿµEe *B@X‚ µÉ%NþãÂ_ ãû‰€}͘wd,¶ød%0/-¸Î»šKÁQÕØœ:ÞØØÜ•EÀǧØR€Ñ -Öê'=¼ -èá…è ùÝ‘Bg‚|nÿû¢)ôÜN¨Ì€™lÈ ÀŽXÉÄ(àæÍ3Òtï=²0£€±ýÇÝÿ¡Â»>ÐÝÓŒ¼²8õ0¼€­Ög 'ÛÛDÑòÀ½m Ùi`;ÀF @-ü‹ ×ü}úä.nÜþwu©ö?w¦pµ©Ì:÷æýô›ƒ¬Ÿ®ãHÜj²h8‚ Ø¡Xùª—mÓu°âϬõøRX_p£ÿTB@Àl~ _²øÏe$!Ð,õ?+þá  =ȉõŸ¹õ™cÏØZŸ±üÓÕ±ÖÖV[Á~„ó—aëw™®vv8hcØÇç,ã msñ#mã@ÿ^K¸mŽnŒß PÕêÿÚ‡5‚ÿ‹ 7?«×»Gûàø×‡„Û•ÅóŽ×.ImN5ú¢tî©eˆŸã“JïÑVü>ÿü÷‹ÊH³ÿ—Ðé H­Ïß„— 1pñ´À¸Ú·šš`I»ø Êý¿UdЂ`ø£åOe½ý !2àD@ŽüQ8Ì$À¯šÿýÍ^ªÂû½~Ì`å!0<&@tÍÃÿzÜüׯJc%ð…Eè¤ú?Ïm€"/ˆ{’Eªý1`U`аÒãöˆ@Ýs’)€}¦®FµEÀÆ  -¼µoàQÿŸ!ø?;; -`½îQVÏRD6ÔGi·¾H©Àå2¥×ýÀÜ׺e+^ù¡÷/‹ªÌÜ<ÿi7ã>6ü=¼ã'õÿ™i÷à™†¶NÄæ@¦Å€¾)Ó®‡Ò°ZuÖöögo8u£0hWaveü#Àdç¿=÷_5ýGTÚÿ]Ðý¡ü—ö¿¦ÿÛD`S[î_Û³ÚRßµ×à ]Nä,ÀàüO7ˆ}Õ«6Û:xá¢~³Í̾ ÿ3Šèl€GHĬŸÍÙý)}Œ ÿtâóÀèŸ]b`6ó±Ÿ;f3ÿ왟{æØÏžy-ÛÑÖ«ñøåªêœªž €$0ìß©íB„õsÕ#GâmmmØ´Xz-c7ÚBããápµv¤D囆ÿ¥Ï>ûìúMbKDDÇÿÏaJœ7}4›è1¾sÉÄ»)»(Íø²êßË„_“ó«zŸ%þ®ÅÏßQø½+áÊ6édÜ/*BÎóSØ ¸LéDߪÑà5ôȈ±ìÒþZY:øãRÊ€ |“ö¯±wîÝ™Wʬù¡)¯mj @Z!0o¨—5hÀÈ @˜þ4´GÛ° ¿ÂSâ!íXˆŽ!pÌ×ËN‚a BhÿûûY% ÏþyS`h}-Ú& Æÿ²HOUký¤Ú´‹@p´‘ -€NY€ðñuˆì¢° žx˜Áx$Þп„.@Áu@€ ‘™g¿ÊÚ8&7•KƒTþ"øÃó—Íÿ8û—×ÿEüW'i€-€Ñ€ÀÃ0°Z­–̳–vèQýÉ ¨?TCŠ~qCb‘Ò_sà|×€Pà?úýr üçÁ?üü7ÑØ<ˈ{ºýÌè+Ö¶ îÿóo}ÉÝ D¿ÿ9ˆåü„ýë:Î÷#ôX×I @È`æ‹aÿmÝí\N…€ úý ¡è÷ó"$xäXh†8ÀÆ3"ÇlDl¶Öß]“`_:a€)Ã<~ª?udÙb°Œææ0€ -ÿPïò‘¶ñjïòø\[íC­þGù_#ðÙÍ›Ÿ-ݼYßèÞ<@¹ƒã_?~“HdïÌ&þóÿÇÞÛ†¶}g뢎̃Rd]mdÆ’%"£ IÞñ6]‡ømã)ã´laªù 1‚Rq@1fSÈ–é¸õ‡žc¼™-8‘¾ öÙgtHŠñ¹Þ0ƒûÁp3_ê³UÙΡ4ÙîøË]ÏZ¿¿¬t:M›8á´Õ_¯–[ñ‹Ö³žõ¬çég¾~HÙõœÖ~mÆ/n>²Ø/0€þ%}ìêÐñ|ÿ} €¹én Öþ ,D h±Æ·ô¨ý??'逗~{~š>„gCÿ‹Ÿ^:دݼÀ ×ÿBAtE—æeM€LØôŸ -zá]­õ— mÀjÀè›ÃÑhôM?]‰E ¢Ãw£TÈs2ú!(“iÈü¿žPwø8Gà “!¤ÃÉÏ‚Ã1M°]f ÀDc)ÀÇþ)0TZqHòŠKØήÕ%¼åÞ—D¬ìw1Zõ…À¡Hx àŸ@ˆ±ê!à¡k”ÿq(@7ª0TO2+P9»’Êå‘ÑWÏJ™1@ ÞºTÿ xÙÞß³‡Ÿªö–Ù÷A[þ§ºß§ç{x92x5·n½,0•µf­Q I•ž&Ld Û|G9ÿ°¤Šÿ艛]ÿù$KÿCŠÇ -@Ûû®Ÿ×Püñƒ”` ø\ì/øÕ"MÉ >°a«Ÿw¨¹Ïf§ïËÎ=Á`€ˆùÜà¨ÙÞ£ê_§óÆQ«Ö:8ø¸zÇ×rÔ¦?¹ý¯õϨÃ÷‡ÖÖ#ßÕÔ³£¯8 -˜wÿY077Ý?4¿Úwm~UÛEÿºZ”Õ?ÜûÿÛ‹s²90G÷浯5ôo?tðI­úFàB@ \Rý]"|Ÿm€Y¨¹ÿ¢ËƳí/G»Néh x3õ3€< -j–ê¿@ü ͈yÿÎý„§IÕ-“ Íic€èïcØ £öÔ‚Ç¢XI±P*àK_X¹ÀnU뼃 ¬d?`-ø šðà6¯¤ï³%ðcÂO¾äüJ€CêÿÁìßž0xP9¸Æ_ÒÃF@a»Ýþô€ -âLmÐ-Ñ?nvýã³fú3Ðu œßÒ"ºt€‡ôS£ÖùAŠø @Ÿui髟³Ãf‹èlcpüã­>ëë³zT|aÿq_/@=\˜@€E¯Ílÿáo0Bñ' þm,˜Êç±h@ -Ào1˜¸c¼óøÃÕ™|ŽÛ×E ø9‹>ïÃÞ_ŽjÿëfóˆÙœ‹ˆßyhÞ‰Ec±»TúÍ áÿöêuŽZ-ƒ½4 Þñµ¯uýÿ±èÉÚù¿ú/Tò×úyPzò.`¾_­üËJ¿â”ÐôúÐÜ=2$ã™Ðg“qÂ\¨ý‡óapñÒEþb|ü¯ÿmzéàvú PÝ—?Uü]®b( 3‚ˆé=…@û}.Ìÿ£®7þ!å ¬íòÙÊý—"€ßödž3b˜€ȰàŸ0ý\ÿÔÒ_‡x¬Þ§=^Üw 8E_I`Ðø+£Î¦û•‘…~zjàQìaú‡YÕÿ þ3x± Owóz°ìýè&×`E€ígᘢûôAôÎ<_òFÛx€·€lcw>º÷5€ùzÿÞ€pçó\ÿL¹EóÕ‘6¡€‘Å\ÌοóÓŸc¬Ùn7ÚG ‚˜ÿó`—ýâ†{yÀ½ãëéî¿}üÁÏ~<ÿï4µ>uóP( _SȕĞR úÅ;àÔEpš{ûõ!™ôSù¿x¾}rÀé‹çÏ÷©cë;°©ò -@Ú—* Úý‚«(…V P`7º¶øÃ€ÊæŒ ÜòVT\»Lx#€®C@TÃýÄfè@öGLx ™8=2™†Lb±ÜŽ/ pÈ0²ÔQ€Àûtõ~j…cƒ|ŒpkU¯— @MEA XA/¨|îfG€m@æ°ðø”ØzÕ©€ôe¿è’0à½VSžÆU¯§†é?38ÑÝBÿŸã}†ÀÝñÍcÝ?$€hü x`®Ä@¯g¡ìõ*½ê>aO™'¼ÞÁ–Ïž+=Xb³ÄÌËKa-–{Y¥d%@ý¿§îŰ‚à ì*¸"­¿òýä@`Íò?Ý?UmneøwؽÓÏ\‘Æ ->¥ù@×lmF(€™}Lþrý‡ r€¸ýÀÆyŽýÕ¤t/«×‹Û¿Úø öÀFžØØóÏÀÊ?1kÐl£ÍFäéâlyì -Ò`BŒ°0a0èþŸ>ú¯pÑßáe@L`°¸s•}ÿr;æ6ÀbÛŒ)ÞŽy¯¹ PÞh¶fLÿ÷0Ø«³`÷ Ü[èÏ<þyšZõ'ósqícvZÒæCš€’ÿ‰#°þ§û»‚ñqô¯µñ?Þœë_ã;0þ;ÏIACóýç/ŸžWýÿwã›ôÒÀ,l˜@‰/ -§r±ô¯p¸ú‡d€Í~´¹‡àþßj Y%Ôÿ(.¡Suÿ<ˆFýÑ(ªy,!£€F£Ñaý;ã³R`Hi/àš°Ãp,À¶ÂìB¤] €I@êýWÿò‘ ÁŸ¼Z(0wƒŠè üwò¾Â ðÕ1O`€$Þ<@ÏZÙAèñˆ“Tü¹ú'«ã˜TÇϰ¥fNËAñTÝ?Œ¼-O‹ú¨ú±Ú_æÿ:›Öë^eý‡Í„=x’¬¬&ÀU´ê”3/e€ ¼)«Õ•‹%Çy ´£æIÀ®òŽjc€Q²ÀÒ?lÿ©ŒßÃSQßÌŒVþ;BÀF _Œž‚nÂ_÷sñFl¼ø+CP`ÂYUÿÅóŸ€ú¬Y€ ÿ°àá?è}º0m Ñ€RoDíGù—t¢ó:ÈØ ÍÞzkbbÂvÇ`ûèêþ—~Ƭl¿¾Ã†€WÍ9Žœùj{däjÛL‡?—É4÷ÚXÎY‰ýoRûßæé?•€Ýƒ{¸'èÏ8Àè²Öÿ/?[ý`]äúÊ ¨›àä­ú °Þµõ'–Aël&(ÿšŽµ5õ™†Ö/Rû?ÍBÁùõKçÏŸ_Wìÿwå{ôÒÀÇ7Ó Þý§ò_ \o³Þ )€@d² 7”kjò¥ñ' {%*÷@ø‡<ñˆ ‚Tý©ºcB ÛåèAÝ?wÊ$Հʿh¢RñE€«Ô2{(  ˜PéÇn@:]ó¤½Õ4(ý×¼×*ƒ,˜ »EÀ2@µ H¯êÐÀÓµ{ðU!MðÉ#l†Á° -€Ç̪(ÿ`<4þ㘈(Ð3^9ÃWÜAe–Û±Ää{PxZ^º·à…øßëaϯÊüáÕ?Ùÿç ìvÀ”Ç‹€ˆñfo³ðâe0²«ßïöƒ¬¨\¯Ø;K2ôG^!ÛKx±¬°@¼!±ú?£2ÿ:BPÕâïc@$ÕÿÔð°Cܬÿ[=ejþÞ°él²éSŸ ŽÛþ ZýÓ=ïÖû'äùl„ÞŒ?ÁD - Hûy`øUþWcà/Hgã©ÿì 0f›0NØlwþAQªû¿zÑÀ„^—À¨éMµþ#t˜Û#fî¹öýâ½bzC€&óÿñV«Ü*8 ?éU¸Þñõ¯ýýÿ±õ“ùK?ûX–¥øËÿúP·ó/3š'ðìáƒ%Â~& 6Ðk«kŒPÿ{iZ‚ú/]œ››†>pí»Sþ_L§/È@‘!üß5 æ Á`(ö?XïW¿@€(“‹J¾}¾ßròƒQ@4ÿ ðžá»~šÑà'ͪÿoÈDS†ÉÌNÌk$3”ì À9þ€Â0Æ>`@<P0àKËB ïpp½¢EÒÎj™·ÑIÛx¼Ømø*U€Ÿ>ÀàÖm7êÿF *µ - €—P€—»ªã(¯0J&¡ôTÎpŸ9OK–X ‚½uɾî¡fkôH݃»ÌÐMB³þO6à(ØÒ Îb' ±Þ)€ÞÂY¹VkòR¥°k@fqYxJ8ˆêæô¿™S»¿Ž¥¯@¦Ô(`f_(€ÃÃîXþ‹'L=zÄfäTQG »‘;~~*hÑŸzþå• ¢Œy#wþùðÿd½Uþ ?A‰Þ - 8`0Žqª°\Æ ØpCCä>‚ùŸðÿí«b -ܦ‡úî.æs¦IS4—k¾óªÿˆÙ ÿßfóaÛG ÕHÔ©ú'¨ÿß;ªm´v[»åÝÝ]ªÿ÷{dzI€¡ùO††þõ"ÚÌí×Õn¾Zœï -îïdú‰Û¯fü³.ÞÓìÀ!ôÏ׿§és`ú¯œæ.QùçÝÿµ¡ïÒ7襀€ÂrAZ}GH­ý#ݧ -,µu@\\ìe/À€6Y]2ü‡ J¾Ée¥70 ˆFCt òß6ñÀ/d>öûfUþ©Ztšêbæ3fÞð‹€“8@5þ+©¥.p2$€}¾7|Õôåtše(¤×ØnP©X(Nn€P¡€O廿šúO¸.@ûûn,À õÿà¶Ä€e˜þ£ò{öþ@ý/Ô¸ü  Þ³qvÆ×Ãq€eµ'ßî—0Ðë,ù ÕêÏ ÇªÄtÕªúƒj0~:KÐ(D€3¢þïêÿµ{r¿ËÝ¿KÐ1 ×ßð - ŸulF¸ð®P«l^säæ]‚xûOÇòÿ|^Ì äuùËç (ûTâßÂ&@ÎTôØð® ¨ÀÿO Æ;w&Æ ˜P(ü¯·¶?GàݾŜŸÿn©ü›?1·Í;#æLÃÜÞkú†}±_£‰úߤâ@ù`×àî•·ÞñÌcþã¡' ]ú\Vi±@’Ò×½(šÀþÎcìx^„Ó¬dS!Yñ§¢ÿÛßöË:àô¥óÓôkxßwëûóò€Ë¬ð“@èíP‰Êz ðˆÙ (¸Xèâ­ÿ@Al~• -@ñ¨ÿÿ¹¸öc€j?ºƒæ{9 ?¸|&³“7`jö1P€¨þ#JØ`@¸“¡úð°Uå_0€/õ>›rFàJ@…(7 6J¥5/ÒW¼Öª<`Ñ£±À¾æðdàÔ -𕺊€5€ô´A€·({+Ôü{jU0rFý¯Âôz÷³[p -Ã9§Â.`þËÞõðhö=¼ -ØòªîŸ Ogþïi$ªI«;Å -(™wË@Xœ€n½Œ5>oÉf§J®áá$}‡¼ åN–«þµm¹³Û±à(`žþ«¢> Uuþ§MU¼ŸØFuOxÐ=ºDõ?éù¦Ï÷—¬ÿa@2ê4ë?™ 'þ ‚þÅ À€žùXë°PÏÛØªÿy‘>xðÖØFÁ±1ã˜ñŽ[€rºc°"ÝÅ`ûêÕöëm ´óúÎÕ¾ÜÝ\2ÀèÝÜÈëíöH{ÄŒ½ú»$ŒŠÌn4šÔû×! ò¯0³½4€ÞñìcèƒÖ†>øÉo†Öž=?¿®4€óëO€Žô~ÑMÀµÛ€ àοëâ/ÒckkCý—.1ûÏÝÿwì·ò¥€kµ7R)ÅõÿX(…: Pq9ä*äZF*aw]¼À@Üý;Ñû[¹ìûéç±Sá/9MxÝ÷Cè2Yc~«‰îçüþ@.f&@HýU  €sØ)Ð3C.ÉÄvüw±y ¬Ä\(Sÿ`üCÞgê_²V.¬ø.øR$úظêM#è Àuöd -À-B@îÿoÍt€Ã®D WÈ<†Àý[³lðñÁ`…'yË5B€²ÀóžÐ ©…Ï ÿ@[¬ƒD¡bE€:È ¯‚@¯\$Æì€ EüL'¤”•¿"\Îü{8¥ÏNé²ôûùAtø´Sÿ%ôÿñ]QÈÃlL 3Ú×úŽ‚ÿÂh¢T?O‘ fèøfO—Š1wÿX´=ø•Qsûå˜?•üÃAy‰ -ÄàѬx£øgéœEêï•|ƒÎf4ˆ% A!#OŒy*ÿcÆ<ÆÞ¤ÓãÛ 9 w"àvÔ€TÿÏÛÍmXõåsô'kŠZw°ð°m6´Û sƒ:¬Ý¤G{{¨þu´ÿ2Ø ‡æõD/Úü0ÀÚ‡óŸÎ}°¶Ê>Dz¾Ï›ÿZVßÓÇüº,øÏ3ù?ÏnþCýÈ ±¶¶Žé?8ÿßÎá£ÖÖö×ð buÁwï»óòµÉÄç·HÍ¿Œ\žþ/$WÿvýĈfÀQ™üSmwY5à¨Õê(a@¼èÅØÊ -€¨‰CÄ¢H¥@fÇLW<07d Ð Â?IÌlyÔœAÿÆòÆ1Û åŸ`À¦Ápç=r¨ö·Û˜|ŽÀÎÎÕ6€\ο1êÿÁ´í‘Äý”÷Ø»Eð­ÝÖÆîêÿ !€ðdzû[½ã…Ž?ý0þ›_üÛ*|è4-í;Gôo ñêÞ|—ÿÐýsq_c͇L3"XcQàúüôo}iž…€ržIƒïdù€›éTkþ^ùs\η©Å!@JÄ¡ÀWT²y “Yñ£J/€Ójubàd@€D“@?ŸùŠ^Ur±U3{Á™Dg%PIsë‚9¬ îdîÆîâëú8(€íßO-+àB •z?• -\X¡Â¿BÀWUòy5(_go;0ÀÑ´·Ü°ú}ŠþLøòBØ`ß}ûvXD€vÀOíb±ÍƒA<û¤=¼  °@ù,Àa˜·Ã* -X €!ú+³€7åVøl8îÁÎ|« a"òdÚ +€ëŒ[D‹%k±˜LV—u8–ð.bÐG?ñ -›/q¾á ÿ.uBû{WW¯`_'÷G}W5G`ˆ:Á€8Øw»—$Íæoô|±­ç0*€J7rü$ÍY¥üÓa·é1ÐØ‡x/¡HõS:Hõœd0èèóakcÐñÚÿ±ÿIåŸ €fHÇØÄØF ‘÷ ø¼ @›Í€ ¼¾³hÞY\ÜÉåð·=¼Cïi?i4…Økû8„ëho£ 5‡z w|³ãöêê¿»øé9TìuYX][Wz@‰ì=…šG@?ã€5vDŠp?ÃÎþñ¯ÿZÂ~úv±ÿ;(ý{uàq-Nq°+T,:‹Å@¨èŠÂ -h9Tä5@º ÀhYÒ—£X`URéñ].1²Š0ÁW´D¨Àʦ֨‰€€?jBO‘!˘©ö›\#ÌÍ  É×fq ¦æ?–Ë5Ì ‚Qœ¢±ÀðJa¸c^æmAÀ€@š#‚VÒjP…*TKílÀC€Y¦ÜûîÓPÀ-ð°{ð*êÿžÿ30KÀd×yy‘@öîxÐSkaÞÏ -€ê~cœWΚ`›<Ðj$Š<•{VVy *€:† 0–HГáø&Xþ—¨{ºÃ„{a Àã³ý¶š& XMoú3Ô¯Ž?ø‰×?/JñG ÀR\µÿ\ȵìŸÐiùOF§ €Flu…ãuüê~3`@ïOõD¿M'e3óÁ,üÿuˆ~ˆÿ³ÔÙó{³"€7@õ? ³_ÎÏ_˜è°ûOoý¿ØúcëÜNŒÙp‹ò# >€ ïÝå€6|€eðùÎâÎÕEºÊAóû˜ùa»½ó°Ý„õo3Ñh47ÚÕ†ïB£ÊÓÿ8ª?÷ÿ N@ìöj[ïøFÇêп x}um•WøÐ³ƒË¿?¯,û絤@Yþ›—1ÿüzÿÐýcfüçY=-Àôü¥_ÿûKC0win]†¾«ß™— ž`P` ^À®ÐÛ°ÿÁ ¡ýƒ3˱@µEÐoûxRüYˆQ!õÿN…°['ƒ«Õ -òŸ*† @îCf0 -КÅú¹ú©`,×  sFr:ä ûp Àß§4,>ë>ßû+„Ò>^¬ŽÃ˜»A¶°K(­²äÝoÞÌ»Œ^™&€<Ø¿ b"ü±ýã;X{/$¶ÚÔ"Àx­æá2 [OZï™®]±s^XÒó04QŠì÷z;#O× Ap$‘LV=t$aØî?!õ¿ Ý]¸xÆ"Ó¤ÉbÍNš¢±áX"™öW/{1 Ü/ÇíJÀÆ¿£ -°ôÿ´ú³ ð—Àa—‹ßag pFØ‚Ù<º—–ê„>ü&3€`„{GPg@SŸ¥jž…üýþõYDȾd|bùÏÕ_DDP6Ï›Sœ8¥Ó!óV@¨ûAºA €àÿš‹?C€1qb mÂ0a¸CÅ?¡ËGèÿ>o?|ˆ•€»WwÌ @ÜÝmCÀÉfA{õæQ•þÀŽ6€Zªÿã?š½Ý½ãk?ëŸ_럆…º0°6߉R _MóµIÁ¼² `”ÀÝÿù¿úõOÖ• 0üæ¿«ìÿ«ÞÚ` -CE‡+ä -¼Í«ý¡Ð0=¨b‹lŒ5èÿ¤ß& À=¹šð´ÿ¡hÔÉu­Ôär& 7LQ©ÿt,Rù_Ì,æÌTúùÂù€ ̉®T@4þfTÿFŽí€|’/¸0ˆŠ ²‚€C‚W.¬Ðï/¤ePöŠ1,3Ê ÀÍNn¥àÀ!Ï^-pøäñ“‘¸oßæ%€»ìÖ˜({ð°€GYÃcO¼Ï–s¯n‡ €0^Dÿ²ìOVEøTýgcBº$¹ÿ§s£'`¨àŒ¼@Xò²ôâ—3ý¶RýŸ4™ð+Nù<âY¬T€šþj¿QÄýŒ*÷ûKú/{ík’ßýCÚY ¢xPkÿ•`ÉÎ>È߀¤ 6m[—ÿó: Õý¼D?¤}Ù þÒ›¸‹ü@6«vÿ 1@þÇ­ÿT|¯Ú ý§›c lTí'dëŸ&ÆÄÀ0†%@ØLDèš0À{wy - !€‡;à¨þï0ùÆ'ÿÐéˆÎõ=èÿ諵±Ñ*«öŸ'áðIxöÑì½ÂÖ;¾I:¾?ôÇùùÕþ9U××V9@óöRþôîã¡!ÍçWl¨œ€©ÜŸÿõ¿¿-áüPÿô§sýâ0øÞGyé V»â5@ôøEùKb(€B‘ê}1ä‚GkÙ…ê…]†£ÃŠÐ†ü…¬Tò©û'à2•N§ÃŠî? -- 5æÅ¾\fÑŸËPég€\`”<4™X±™ÅF®Á^€Ãw¾§à ¢ßÙ Z#ða(z@lV½œ  ‚|Xµ0 !€ûôÕ_ì€eðñ+dÑþsà-0âÈ#¸•EÂH¥ßÛòŽ3 På‚‹Ê_M T½gºwÍ€Z’«P ™IÔýÖ¸šÿwv”™ã@ø8ãÙ“P ‚^êÃyåŽPTg,°˜&û 1…Ãh´ÿ²õ'Sÿ£¬÷ŸØŸa×_”·”‹ àS «ù? œRjU@ê¿ç™ä7XÉ JíqàuÿTóõt¥§øÌPâï‡åý š?z§…Y‚|6ŸÊ+ @!˜ŸÒ‹ú}?AÒ fþ5ô›˜xë-DñöŸ¸Ûî ÀfØ `øh§-3€6«¶?Ùác¸•ØÊ -½£a†ùo»ÙÄêÿÞÑF}‰›ùÿ’šÿÓÏødöö~¯¶½Ètö‡ò=^û`mþâúôý鹡¡N¬/`€d¯uA€õùµcóîkù¾J·?:V§ÙQe4Ðåÿt: 8<< ð€Ôÿ®¨àÑ%;œ€¾Áæÿ:VªÐ_½:õŸ!Ð kñ—¿æþªúy>`~húüdziƒùþOçx40ÿÿÞ¼tàMû¨v.óü¿ˆ!¿£Èþ¾.Gh8ÀѼ P1 Jìp,ö £'—Í>ïûar†œ8;Ññ;Nh¢N+*?»Šá– À¢¿Ã˜5 iƦ dæõ€Å …ð -¸6Ä…hÈ%™Ë…Ó˜`º\ð­¤.ø8‹Z¨žWs† «8 âeÀ¯ZxúÿúÚŸ@x[ê?k*ö•ÅS®i»€õËùÂ#¾´<ƒgû$Y€þ׎lÈ \³ÐBY›ÿ 4HRóxÂ$g6’‚ Ú@½SÿéÛýˆ§ègZ,‹ÕÄ»%°öÄw—äçËf¿(íhý÷ÅÎW~°Ò³s0ݳ ¾šèòüåT@÷ÀagMPÛ p ¨{™g׃­$ü?ö¬QŸµpß‹%K ûYÐBµÞ˜Ÿ‚ÆŸ­~ ”ÒOQñç-˜ZôSÒõó ƒP@þ¯Rÿ¸ü#xL£ÿï0à=€‰ tþÔÿ; gÄñ^èl@Çǘ¡h˜WâÝðØn4¨õ?ÚÛ8ªòÜØhÕj7ÕþßÚ*ÿáGáG³n»{"€Þàç/þ繡þÕù9­ûWÅ ;y¾³Æ SñÕõqëës¿=ÿé<Õÿû{þSªþýß#…— Žÿ©–~Kt°(:\…¨ËQr…èL—°ãm¨Y"@à`9Z(DþN1x?…ðG‡cPFQgÔ²âL•Æ€Ý1ùMÖ>þxÚ¾3™5lTþ›æ¦dÕ5+ ¼%ë Ÿ8 vw˜Jþ0âB€ËÅSjù] èÛ§¼‚Dñ¯)!`¹Ò‰’LP·„!ÀáSÇKFeðÖþ-ÔH¡¨ˆ'W¼-.º¸ªzÇ«5ºæÚ zæNÀŠÎbX÷ªš_^àIáட¯©üû|IûÿTå­º§\ï0l¿$‹€g÷„³Óä¤?×È`õÐS_ÀÀA3ú]§Í·oàpF± ÀΞt¢åƒ¶:­¿Ü t…þ `~°%\€ŠPhbi#^?—8÷là ÖŸÿ¸“' €âOå’.N†¹O^ª?ß*` ãL@ý”£þ}žM`þodgëŸ1ƒË¿m¨ªÿÄ[co)€‰Þã €ˆÓáˆp¼ûÖ~Åÿ#sÛl¾K}TüWè”^I5 O›ÿõ#OµÚÚÝØ%\]¡òo—€“0#€ÙG„¨{uü¹›‚ŒÐÖÖ/~ñ‹~ýÓ÷·V»º~öñQk - ¬Ì­ÝçÇ:Ç*æ.žŸZ[Å'è?ÿ»¹O§§¿ß¿— ž¤lû Qý/:B–†‹.'C…eײ ù»ÃɽÐ'ÄüìîCÇpZ¼ÿ¢Öw©ÿw8œ%] Ð9KSN“ijÊÄ*í\Ÿ¿ÏŸ[¤âŸ[h&Ðøãr®AµŸê¿Â‰F"ÁÌN£!V€hà÷Ѩ°ÿÇ«Q—x¤x+`yE90÷ŸJ!ØÃ‰€ÕË\¯°OQ»²’H@tìN{ KûÂts/•xŒ@NÜg'0pÀV€’Æ è¢Æ¼×8>€žjíl—¶¶˜±+`™®äšé¯—!@õt QeòŸ.>®ÿã¼€íëÞ¸dðp½uS{¸¶"ÅR²ús± ¼‡=åx<Þ±îlûij=åðôÿJ03së)€;þ®€Æj¶À3, Ó ×±®?óÉJù -`ç?ôý\é³tæ~øù©æÓ}Þäm<¨7RÕ 0Åz^dÉ >~lìÞA,ð/ý¡ß×Fo½%@c†m˜x ÐáK(tw§½³ÃÀ^»½Ç aÞI®àO°Á©[|ÕFÖõz«Zû_®ým…ÃKhÿéDý?ç=ô -yxöñ׿ø—õõõÕõ9ð÷ªØ©Šß}w€ÕNÀeú×ç•ràÓŸýæüùß|O¾7/<¾v u²ÀT¤à¢R_¤Ú%@‡ëÍ@ñíeÿ+–!ŽÁê5‘Dù÷ùP”ý|° pÔäBûo*ÐátYC&L¨üçLTüûÀäúq˜Í# „ŒŽ4›j yî!€@“™ð…~ Àò¬®„bÃ=‚+aˆ!@`™±À -Æÿ`|Ô"c Z…‘¾lÊ.à’Šc föµP௠^ -Öàú¿¯ƒøx—í¢gëå0¯@ ̋ժVÏÐwGs¶³ UöÖ[-°ÐýI`—& š§Ê?^E÷úïK$eý?ÉQÁžz½¯@˜§Ì‰èòì&Ùl¶õûé7_±.+²¸õߌ’ë¡TœpŸ¯æö(ý£J öº÷NÀ¡fùƒöÁÁ¼ n®ÿçÉä³êøu:ªþ%])¨£¶>KÏþ3ŸQéÿÌ2Io öò‚¦`)ë~Y!ôü&ëò:õ!:8ýÃîß``€qÌ vÞâù?šFcTþ'"ÛBDCï) -`O£;‰†NàÒt¡?¨j«~t´Q/Ãa«Ìøÿ¥Ý]Ìž€艞óøÓ üîÒ/槇V§§WUÝWcÅÿ¯®J—¿ºvmkmM›¬i·øø_:ÞZÃúÿú§ŸÎ]ú×ïÍ÷æ%€Ãò¦ß¤ÞGE‡«èÿ*£…a‡D¸BËEoR ð«‰d#ɃîËs~8…˜”p8ÊëÿN—³äp–àduZ1û‡€GtO4€‹ -HPùGÁa-UÅ4ͼ hŽevj ú¿¼Ë -Àè°ìRÙ/ /»°Xˆ.Ó{V° ×* d€qeà­p5ƒàRwý—€Œ <ìŠz™ü?öÿ÷Õà-pLñ`ì¿]éVvˆŸíEÈmxùÖÙ>±°¢ØˆwY X÷x´õä`àá`"žüHÒ¯E2‰{ Mÿ@Ý ‰À¼ý€Gg§Л²pÌÅb5`ì= –¤ß ?z"dÀ>vNÜÐ̺yÀ @·æ¨~„`1 Š¿{æ»Ôÿÿ’W2æä³Y‡.XÒeéP@Íz½^švÐks}Tzw üÙòCȧòF±Ä‡LÙŒy‘?˜s1°‰ PRúqmØž°MlG&lný¬ Qý0²# ÀC¡;D#I ÑH] ¿¦ ø{:ò”Á´jµtyw£\óÌb .ÿPÿzy@ÏYÿHß¹_€%޶¾uýŸ˜ü‹ 笰®×žL2–ñe°±Ÿ?ŠÄÞX,jRëXt8x-ëV?uÿô -5™>4™r}ÌôõñÀ|Ž@À,78Œ€@^ Æÿ±ØïáGˆJA”ÓˆB¸ë¢ëe†ïÔjl¨ôW'€tm¼ -õ<² -Xæ¢íƒ\ÿE”æ>E<ø³@À—è‹< @€°]S ”aÀsÌ0Zv ïT=µÊÓ­•0(NÏ)Ûé9° Žš7 6Ð2€ $=`þ©èóø¿A·À NFñoÕËuaå—4ÆED—gômô#`ÒŠ”©dÒ_¢Þ£ÙîiT$€üs¥ª}rrrE[ 00; -çÚ™ÙѰ[ ²ÁŸ†è‘/ Å -`tFìOFq½bß8— ßÖ̳vt|PõÏZƒSpõ ¢ê[,ýg ôA½E'ã}ÍèG €öTüPotBPw †¼a ¹€„ØúwB#ÿy06±Íóÿ Õ›Pý8Šïu öPþ›„šD;ÑlTjj€ºóŸúQ«'P¥æ×{P¡æŸ1€¨O¸{"€çþ…þAÎÿç¹õ!øs­?–r¿Ê~”×ók]ÀÕûøÐû«kç‡îÑ?ø7¸¯¾7¯ÀF@Øcàï¤Ö#€·.W!Š…€"H€Ò‚ -Pý‡»KÃG/ød&I¯w‹„b9ÑéÀV@~ÀѨÓå²ÂÐd5YL~ÓKM“¦>“šð€À7ýç¸ùGùÇ* ¸²}úhÌÏ$¿ka….h:­PýfEàJ $@AÈò±„µê8úg‘Ô•¸4¨†£³2 V\þk¬ïÖÓ~pg7á`‰€ÀÙŸ -p€yÊö–Å °¥FïUìH4ð/À 6€»2ˆ{[šP¹,i][€¬Ä/„vÕHT“  ¥ðÖã TÿËØ+&·[–.Îj€“XŒž=§8Öÿp%<ªü¬ƒ ÐÉ̉¬P!EÿOUœ®è7ád´3èL0%û[Ý{¸Of¤þÓqe£~޹̳&Ôõ;:iþé:Ë -@hX gQˆ O‡Ò}Œ‚L d5PǪ?µ€G¨õ×°ïœòÿco‰ü_Ôÿ¶'6··Q÷¹þGŠï#¡÷Šïî½~ŸúùÕÕû¨í¬X]=¾¼u||­cÄï”â¿FáX&kýsÇ÷‡.Îõ¯}ï¾9/Ý -øà²X£ô‹ŽP¨äp•¨s…ÞD& ;iI@áØx"N9oÔè%2tj&D®Ç8 ¶“iäbQS u9ÎèGQ“Îi’ÚoíÀÝ>S_î^ß"c38€pÔÿó €ë“ B#˜ìdÀ 5Déw!aÑeª÷.gsa×ry…¼ €)@zEö}T*ÇÙ¨\¹Ž -ˆÓiÃJ¸ß][‡OSgö’†øŸ/TÿOõß}kÿ”ÿ§úo¯€°Ëో‘¨=^j¾€i0Û 0P>c àV˜Ó€—©.³n¢BÍ?z>O¹\¯c®ßb‡_<—q^ô @ñ¯&ãÔýc+T/×âå²6³à>¯œI‹ˆöÿÞ=úµLzʰÙÃŒ*ŸŽ‘¶ëwÈå]¼ÕdžGñÞ­CÙýÀ‡Ì »×~øÀ²êüa5^ZÚÇ ¬úsQ¿éMÿ³‹©ó·p÷?¥Ëæ³JýÌÂX€1Uó 2}¸×—¦Þ€æŸ}òFÞ ÐiC¶ˆ=l#€1›rücpGíþ3 -0ضmo¢÷·m;Šï9Š‘ˆ#ôÞrh9Ê­þ·©ò·š{G{{G‰z Õ?}@µÖ"</{ Tv—Ê»K'œ,‹XàîÍžøâ‡ClÍÍ¿¸>Ô?=êOǪ´ÿÇ(òk€[«<âSBúøã5– ýîüo¦{àÛƒ5ø°÷OÑ àx›À3ÑÒÛ(ý.v ä  a_²_Š{ëbô‚´×æ¹s¢ßƒ•ÆœXÌp~x4$ã“u -EߊSÎ2Õg±LšèÔ×÷¡¼€‚of ©A€D“7›çÚ ˆí°ÞŸ8 -Ý?=Cº¡šëè -az /^åK‚ âÈ~€ˆËa°€Z"Äînp”Ê®ˆ˜x¬†ÅOmž=@ÅŸ×ÿk€Gp ÿaÌÿ À Ю1\…ùÚÓªI.PUéñjgl,@õÿv{¼ÇwŽÚþ:O”·oKãÿ©ÐWýŸd36J6T - r•°f÷e à,CçYüba ¾ô¸Ç·K’!h€QÖ¬Õü-î‰-}èý£Kš1µôû‡J¨ª=æûÝĆÜ3Ìý#Zê?sŒ°í¤ÕdyÖÀ ù?•ì)jó³ýó™T~,3èóp€µ¯Åš|«úe&` P`ømGÜÂÿ8(o°àH T{–ÿ½%þ¿lþÇå"™ˆØ6#ŽíH<T€8–];ý@—æÃ#FTþ÷ŽšõÆ1ÖHË`· µ»[ñˆ †0p?êå<ç«Ãèÿúéôôùùµ¡yê÷Áþ°Æ>î.`€åÿãcY  anà>>öø>⃇Îÿîw=ð< *¨æ;@°ä€ÐåvPäT WaØ—¨‡yÎŒ/½Ô&ÎÕ7ÎmH¨`?ªÿ±Ì]Ôj5ÝõD­Î”)jò[uð˜¢SÚ>úNOÐõCøÇ\@“n¨ü7yE€í€X8<“èA¯ýBÔ÷Pð‡WPþCﺖyP©C_ -cËq˜è³ °Üá4@˜ ÷­ÐeðýxF,ÚÿÃýCEÿÓá¾%@*ÿØàÓ @ÊÁ—Ëÿu;nÄŽ¥°ägO`HÎxÚ¯°`Öp;@èù1ð¶À '‚ºÿÏÿ©ðs -@C™Cÿ/óɾ;ˆyË謌Έ`€>€É´‡'œ;À -ÀÑ“. ÇÊàp ãt‚Ì”mT Åi À ý®ò¯13ªú³ý_2Iõßb±Z¬Ï¨ÿù¬CgE÷ŸÏZØ (H_´dôG÷tt›×s>° ©~TýYÐÇo‚t6ÒcFäþʀܿ}lx‡‘&llÄËÊþ‡Ç†ÍmºŽlOlF¶#Û›Ø,ò ^ „ø1¡Ðÿㆪÿ8€úÆÞÑ‘ªþ5º€‚Ge­FíÿÁµƒ%¨X¸û~@³fgoõÜ{Ç×ýýýŸ~Íß*7þ@ÔáóF:}˜û0á“ßUµ HAÿ€_ï_½¿þWüÉ÷ï›óÒÀíËif - "Ž·]ElJ%ê± `9(×…B,剖ÙÞ=~7QÿÝÆ•:†öf b¿5šÃ*€u*j²ø©-Wöõ™,tÎY>¼Gà*!UþYø9 Ý€E“?/TwcÑa, G…³ B2Ý¢Ë.40˶¸ºÀ–@à;Û2[Ù•€òT«€ÿÜø¬Ê?«ÿÁÿSûÿ¸ÓÿK @XF<8°Û¯—y½?öñ¼×ËÞ…2òx=eqä À>k öŸEôvT„¡ü·Ø  ÞBç¯\þ°ŠÕ&b¾d`œ. €ýÇO³EpÁþügáàž…M¦20öÔØì±"á“Q·Êø{Üññ›9T€÷è ›.èþS€¼+ø÷££§ .àädiô -Ì’ËuO#&¿èÙg<ÛaGvªdU‹tÊ#ö—ϰÿ—ÍuYÞ dÏOl•tLô©Äà ÀÈpE@ƒÕ~:ªúÈ0âqÛØ:Æõ×™L° b˜˜ØDõlND"˜póÙ$1$?ÑÀÎH›Ê>Céýåêèh¯Îý•@ír• "1¸VÞ­Ô®‰ -P“„èU¸ÞñµÇüü|?´{Ôæ¯¢žÓ5« V`k•©ù¯­c €)Õþû[„Öû׎‡þêoþ¦¾õq«–þ4®b))¢ý/jõÿMG Ј<¨0ì«Û“uobœŠ?¦¼žúÆ•Ñ%8÷$Î5y£ßlÎø±²4€I ¬&(`4yc²ïÃ{þ{Þû~À„Fè|Ž µú###ÒþChÁ™AÔÕp†ñ0X„˜€eó+P¥ -x·XHH°o¥3Hc`]c»Êu™*@ÛtßêÔÿçO‹ÿ•ÿCªþ_¨ UÿGfo‹À`xwp÷ÀΛ€\þí’ „5F¼èâ.¶˜÷VnŸ9 KbŒù Ï”# º|:èÊ“Œ¡ôÃP¶C‰jRS–ãÀ¾$>@à†Ý·nÐwƒíóLHLž«× Å¥úã´DmºfîÃ6ÀÌlñBo°á10ÂãýÙë›Ù?ÈÊÿèh0Й@û¿¯{©þ'é4jµdŸUÿ}¾RÖ ý?ú}ªóz¤üBô÷YvÀù äÿAœ©ÓÚŒFö÷Åh4€〠ÞC÷ -©ÞÛtSø0›ÑFÐÀ`£{øË£ÔÿM~ö ù¿mÛ¶i`€a›ê>À&€°>"? hÿPÿW€@MÜÙ¨¦@ÀÛbà5ȼµkpÂ@³º7è_À¼wþ êÿ3ý«¢þc)à1#ªøÜßâv`à>ÈBÇk¸ZZ_[›ÿc<Çq|-¢ú_p9E[Är8¨ø—ŠŽ7 DœŽ¢Cb™p '=žxœ^÷ôZ¯ãå5@5» !€9³“ËÄîæüœû¥¶?jÒ™¢yðÿ:÷ñKõ$ ?Ä à*fT{Ðþ̘e Œo@˜#À®ÃŒ´òOG€X¤{˜bF‘ -; o.£üûÆ«ˆÑ­1{^)  Žô% @Œà÷»€îAÀ—€èþðÑ-÷m7ž„íƒÌTx»¬”Õ å)KóÿR$¥K§8hÿ¸·^©@ÅW®{[åºÚÄ5‰¨øxC&x0”à)@‚¢–Áq Ÿ—©%ç­KözñêpØw¯ï†ÅroÒdõÇ2fO=¾4J'”u>FÙp ›ô§â½Å26&€°/HæÈàS`K„‚3'W:?=,‰° D€K»q‰BðåxmyÖÓ… 5k ê ýÏSÃϵ?û¦ÀA´þº ©SM§B„¢Û~cØÈëF#½?Ÿ·éŒF‚ø@¶‰_ÁüM€1üW[þí¬Nl,ýÛÜ´mo6©ôoàc@;Œ¡£F“êýQ› tC{{GGÿé›5xUkŒ ¼µÚ5ïßÖvÿoUþÕF Ϻ÷j\ïøš?à¡æ×?ø³ºtŒ}@.ï[[÷·Ö¶îß¿ÏÓ{$@+ÈÀwîͯ¯®}ú7ì€ç8Óo -. ú‘w"TúÁ”TÿCŽ‚¡(:T“q»§>ΙïèïâWF-%ÎÕ›\·GFìÚg »þœŸý LéèBˆ`Êb @àÃ{“ظÁõÿªBÍ‘s|ÍóY 4Ë*ר ¡ücˆEÐáD×í_è]` €M€Ô…ÀÊÖVÅ À#›s,©‡êKÛÄPš‡"MМ€ºÜU À‹3Òþ1À€ÜÿÓù0ë@fàÖ²áÃsõÉ3òz=Xðzj—½ žõ¤•õÀqÀö2+@ê+ .}d2QÍøD’P9€Éª–\Kýkõ_ø–G·÷ÏÆàÞ½¾«}7&±8œI&<øJáÑvø £¾Ÿt3Ü¼ï« _xº÷%ɇÊ?~ °Õ‘¢ÛŸÑ¾^'ü@,ÅìÄ0ëÊ>óÙæ³Tþ³ŽlÞšÕe³:ˆþò¼ˆùÒ?¤þHX0•tjêTæ1ý7@ä§#$`ÓñcôNŒè"€mx¿aÞ?„Dô7a`à„aÛ„îЭas¥Ÿ.67 ›2x/„3'€#ó›:ÿf»ícÐ<ØhnÔ7öZåçkתÞôe‚Þr¼å­ý‡Úß@"¶—NèL?ḵ>îÉzÇ×ýC«ÿüs{1`¦ ‚ï‹W¡œ_ï_[»Ô<×ññMd¸Š0uDÀPáw”\%—õxù.p`Ap@!hü2÷Ô“’ôZÛ©aªÃ&„í{ÎÅÇ.tîn&õße`ÊŠæßd°°NYPþ'Mþ¾¾Ijÿq¹Š €~Åà 3C€s#fØ#‘,³ƒß G¯øˆv…Q@€ˆbþ±»D1Ä\-K(Pʇ9À¸&ì¡ C`O™D’.À-`Feð^/Ì ú<` .ÿpÚçîŸ5+`·² K€^@ -(>h¹@˜iœµ ÐÏíX¨€ˆc À_hÕŘðìÿ½ûDË(ápFI”úg BE9Î’<†[Ütf ÀЯ¥‹}’£Š]=c¡o_³êŠ z¾…3XˆÞi@á“ÙÑ.' míDÁÌþ—À…ÃÐÿÁ7TüÏìÿ·ôµÄµÕÀœ ñŸ>›Gçϵ?ˆrŽª®³ÙŒc ý¼æÏŽ€€Æ #ø0 - 6 ÿ±ÙTôϘMXº£­ÿÁ B¥£Û¦#¢Š1ô¬ÀxÒ‡}ŸbGõvC!€*ÊÿÑ^sƒŽ–7¾,:ÀZðèn¹B§Š -æX€ð.o³ôŠ\ïøËÇtÿÐü×’ÔltÿxMÞ8fùÿê¯b/€îϯ¯ ýægüc|ûã§éôª™¨ÿï8"%›­XR Ñá1Ç&•GÃ>O¸nWÛÝžsõø•+î0@üܹæÞ¹=VÆr‹°âÙ¿Õù‘•1À”@À”7Ñ‹I!€åƇ}¦Åt(>7Í Ì# Tÿób3§¡ ¢~ö m@X¹þ£ë½â Àe×»àËp©ÀŸÊÿxW²<穉ªÄ?rùÿǰ”‰¨UÀâ0ÐEt3Ï[·?yŒô?NÚç@ôÿûnäãÎ*:ñV³ñ/ Á€ñ‚Ðà ÷YÿV°gÒtâT^h•Ë­}¼ýï©W=Tÿë~_—GH¤/‰ÊŸH*þßãÑø»¸qýwwY¿8€ú©RŸy1cNàWSÔ†Ì6Èô_KÿëLï©W)>ûjÄï&À@O-|âÖv´8 -568ÅpŒ00]ZÚˆ{•£ßάïÙÏ–*ÉYʲ ‹þaúƒàìgy–rJà€ #Š?•s*¼{£1HWŒy£P8 |1 Þk»Tò%ðWvÿù}èþ'xÙ¶aìO`s*€âfH®œ4:7Úx¬¤V’G‰FµJÝÿfõ Ài`€Úe€øn¥V»ÉçÝ]9êíBÄþx¿WåzÇ_<æúûûŸõzzÌ0àøþÖlá Ö†Ö×ïÍýâ'½-€ç8nÕÞ`#@¼Ø"‡3üJ.‡«d+½æàÇ1€ –Œ'ìu—0m]u×ë‰æ•xÊÿßíí5107r1ß…ýŸuÊO`Êšc-`~jÊdÉêoPùŸ$pƒ·Îà@ w°ÿ‹Ôû³WHr}är"u8DÀê¿ ÷‚Ϋ¤€Ñ÷Ù èýTà},J$°2ðx[¢°³Ó |Øœ–)€}P -ŠàiÀ‹:ž¢ú?ÙüD3b p{_“rëat Œ€ù¸Îõÿ:UþÖBKâ«’T®œù+¬& ° º‰sÖ¼XñK6Ðëû’Õ„:ÿX1Ñ<` €¬bc0.Àn‡C¿Ø°à¬(._˜¸g2Ý`yé"<#‰z}!Ž%¤=i)€‡* øñ€äÿlmͰó#¨ýì ˆ<¹™N `W ÐL×¾ý† 8 „KpÅÂd¬á>ûÉ–¬%gÖjµR¥ç¸ŸÏ,šõ¯^§ÿŸÕƒAêûé¯~Ô~,ý LƒSA£íó6пbÀ{þ6nõßzkLxµ0±mÛž¸c˜Ø6lcùö?j€€Å°|˜Ÿ¹BÐÆ| P;+©@ºÑ óÑ!€ú8B="ÀQ.ïbàrí?ÔÒ–ÊÕÒ®ýÀþO˜„o÷d½ã/ëýýóŸ>ËÂo•Kÿº Á13«kkýC«ëüÇé€ç8®¥/ -!Uÿ×"¯9lºwt6ÌP÷áÞ¿-€/•‰×ý‚|×züçW–œ»²?’@†ï¡jÚ™\Ì Õú‘É©ƒÀ”î#ÓGSy½ÑgÑYÐþ›&oän|x2ÀÅ«àýÍÚ É×â-È`‘¯ +àœ¡PÔêŒböï„4ñ=œ°È’@*ü¡‚²XYáD ª¯êKó%M3µÌ5¯Ò2X¢[·¸;#€C±xüô"€Æ< -8|¢ÿ„ýW&ÍÎ*ùD¼€*¾˜XP^À^,âÕ< 28ó À—4íelÿU¨„Së¿ÐZ¨0ðp aÕ#KÿI¦À0@ÙˆÇ 9ØÙ%ù¨³¼@hëÑ™0¦É{“ö-æ(ͤC…#€°¨qÜýKÿOûƹ-HN8ȇ¥|aá&FgºF_¢º¿èÀ¾8-ÙኘlÄè¿ýMžlÔ‘ÍBXšó_ŽÌèƒúlžÃ¨ÁGÝŸàk4ýXö3Ù -ˆ— y<¸û7ŽMŒ©ïÓOm¾Arÿ&ùÏ"€;ôð¶€wd€5Â1*²ú“8ô+$qéBv¾˜/JùÒ ‚Îuªþ{Gõ:!€z-}9=^Kß¼ @¼ŒþÿæÍ›eªû`?88¸ví¿ô,{Ç_8>X›ÿ¤ÿ‹oþŠ*@e¸¾ºº~þÿëižç8¼X.ïˆØ6›Îñš.Rrpè6*ÿlâpÅ<0æ×öú9j鮌.ÕÏýýÌ!•jŽó!0"*€˜ÉOåß -÷Ÿ)Ë]Hÿ¬&Î2EoYû@ÚÞ˜„)@ßâÕÿ€Sh‚þÇôßLè '`1“ñsìpÔŠ¬a§Ëé -©ÆŸž¡+Txw9 -ý_( ª!€@k€É4õ©ˆÍÀAzo¥ÌK€vÍ Ø-2À[î§DJð%/ÀÃçD_<~ÂW÷ßAÊ€»l¤5ÿv €@KSò…0Áì™ÿVÄ¥ÿ‡ ¼À€òBËÓ*Ãþ¯ìñjUÏx¬?|t[Mð%< Åðöº©ÿLËÏž€p¹ýH€Þ¼g™ô÷q®d&Ã&„7*»üµ°¢âîÒÿýoi Ú@Ö ¢ŒcWòÄð  àŒ»£8Mø’c½9ðȽÄôýøfÏÕåÊê²V«"=,ÊÅc]«ýA(ýlAƒ1ÈKƒíLýyó߆ÀŽûe €Ê;C€ ‘ýsÉgÍ?_Ù”ñT€x$²‰öä?ïlª úÓÞ,:–¹ú»Š!$j¹çFc%°ra…@ò(A@ *ÿ¨þõ2–.§/W/W½­RoB@€êÿ†âv+BÐôd½ã/5÷ôg6ôí^îwh0Ç÷ﯯNÿ_—þóïzà9ŽÛé È6ØÞ±Ù0 «ˆ­T*¹ÀD^„:,a`¸â©Wà©ÕÏ ¸ ÐËåßù3 4î{Hò1'bÔ­ÃÈor8ý&ÁË],@8…½> Òo|Ø7¹¸Øw•küÈÕºb`‘úÿEéüLìÒÜbÎoòsаõÝÀIà=Ñ:BQ—!ÍÌ´-php›€8ª>zýª²P‹›w¼€Ü¢x„-€5`/€/'>wý,ä?÷ÿšý/Š?«Ý¢–XÂðà@CöP¡@–x¨œý˫ʴ{ÄaŸŒ…~vÀ¥QMVÙñ_ ¡9’¡“I1R@}²¢€ Fyå‚Ob»øÂä°éž^oñ#SŠ€Çs_”Û»2ö×€ŠàzOïDõ?!œ€a~˜5³ì覆ÿK @— ƒÜî8áò7þ](M•t%ë¤5;¥×qü{ã^^¯Óу°ÿ×1åRwõîÿ1áGAÞÊŒÆlþO(Çÿ Iÿ1 ê56XË"6 À‘mÕf{Pœ€ .Ä~ó­ -¿o2š_ÉŽ¼JCÕŸÎUÙ$ p3í-ÇëÞÚÍôÍ›7kµJ|#ŽÚ€•Õk×®a -0ÛË졚om=Y_ûV¯§Ðnu1«s÷×úó»‹ç{à¹@êG¡ˆc„bä5Ãk6M)9ÎרúÛþ7êÞ±±Qhäí¨g8÷ÔñúN€ƒÖ  <>Ù· ý’Ÿ‘¦ÌëÅÀe`“Ébšê›‚ -0kÊNö™,“t꛼q£O†Œèà²Oõ?³HŸ%gÊ1 ã+z3€w­Tþލx¸!§Ã)w])^Ä @€í€©üxÊ’ ` >Â̸AÎKÿß!©üoiߪþ©õÂÁÍA€* -P€‚à¬ê¿]Œ¡(_W èÿëØ(ÛÏþÕUKøU0ìnÐùW“Äü@&4hâd<<hŒkõŸCk€J|·kÀ¶ ˜wH ð ?ujþïÑ/W.—  §^Ë@xôTp¨¤û£pîÝ8½ƒ8ù„OF1,¢ˆŸòdÀÌÀYx%«5kbƒ°lö^ö†^oÒgõSHDù×Qü ‚0øÃ(Rlþ¹ü#ƒ€1¬ lQý  r”ýmöýÙ´¡þÛ¶! ;›l´1lËôÿ½a3ÂåÿtÀE`Ø—bÝ|`ãÕq_z<¿¢´ªÿéêåtÚÛŠÇémzä&dåøÆF|ƒ@|·|Pc@`¶7è_yP{}õ9rüŽ5*€Úÿ㡹þO¿‡õÿU€Ãk¡HÑF¯ 6‡^Q^s¼f+9J%l¿£s¼ƒ•¡mì‡] ž@kßÀ`Ö~ntà09PÊ%lç·OßÅÌŽ¿·¬ÔøG§Äý—@Þ2e™âôSxMj‘p\1_XäŠßG'>úèÍ ß—ÏI_q†\lûƒME6r) -“'™®@€G™>6®¦}€5e§'•UfGð` Ë -HÛxn=]ÿ¿ÑkÚ~&:½ÿ¾˜² ûÖ£ÙSÀ6ƒ‚Oèi*úþë0†òï:« žý/*6q,ÿÁË¢)%ZjøÏ6T’¾‰Fƒ—x±PŽ/0 KKÿ(‹—'ŒÎÈ -Пc¡Hf±‘`] -¯( À¨ûD„þªþÏ0ÿ»Ý?mQ鿲„ñÿèRXXP'È*Öf‡_Ï|ë#_ -€=rÿÀ0@µ?ŸB -E æƒ6F:ªÿÚò¶ Îð`ŒîÓÃ:´å ŒÑû„÷CyÇ%õk˜Ø„úÇà=Ã6,€ïlßÙ¶E Ìý# -ØQ¤òïb­Zf ”úÓN ã/ç}Äj¦|é¤oÜ7ž¬§ ¬µÞH_Æ  ê-·Ê(þTþlÄw ”7Zeo«v­ví 288øI¯Ôõޝªÿ¬n=™þdí¹¢æ8}<ÿ»é¹O{๾‰?M§ŠE”ÿÿjs@€d &¤¤³:^ÃNÀ¶ÎðŽ-Bïܦ‹h2Q_Š³Ôªÿ%‹¬66þí‘?šI þ?äXó"¯RÁš¦r&ø´LMÑ=ž®ƒTùõ“¦,ìúþûâ¢@9›!è2Ñg€W©8`‘ÊŸ¿w ­&§Sy¢ÓJ=‰@È}׉f^e2 ZpuÔ€`3} ð—¼à­;çÁº”XîIÃjpÿt@üðÛ¿4õ×€[,Øws  -„í0P~¼ÂxU$pç(/”íî³ÿ¥P.ÀˆñkAäå­/´¼TÖ«œò“ @’ZP |€HPžúºÿ…ø{ -€_d/±S/úLVÚÿÅL.@ž…J¼Âô?3ú T ôÿîÑð/7'Ðÿå4Á—<¿QI•=€Î€J ~áïéŸØ´Z­%Œÿ©òg™ÿÇ -ÀÝ—|à ëó*ùApüFÿ ƒßOЈ[«`ï_yþl«ä_Õyþmƒ-°9¹c»ƒ‘?›ˆ¢?å;úB0<Ù¡A¦¶ú£¡ª!x?•Bž½‘&Ì7^O2ÆE—½õzŒ¦é›­ÝÖËõ8ý™ÕnÖ¼Pƒû½b×;¾ŠÎÿàø‹þ¡µçûÇB ?ž¿ôéôô÷ðÛó -ÀÖí›éåb„ŠÑÿë‚[°±: :‡-R‚_Ø;Û6:G ¨ÿƼñ_n\ úç—Vód¬‘HŒ°—Ö÷r’ùÿÔ=SM½ÉdDù·ôY&1˜ÔÃèsWÍ}¬ú£ÛÌ`±X§  @¯ð}Týù“ZïF£Vèu„œ¨ÿEþ;Bµˆ˜€@h9Êà}ÖR¡`?`.ªZ,8€°¯ þ’à9¶è³~¢Õÿ[,üCû¿æÀ}7×ÿYYKTy€È¨ - À#”þÊõŠwúðæ¼×ígÿÒZ/SñÇö^…ª¿øÿ³óocAä à€šï#køD HzTG2€*qe+¼Ä€%Ž^Âá¾}F–|С³úsL#Y§¯\¾a‰%€'j§ý¿ø÷Žòêþ9WF Hõ.q2:á­€™Î  “1£õʲu豯w±ãã­sýëøp—ñËz -ãE~‹ÛDU,„—‘cq¡êz$‚®Èo5R^' Ò–+u‚è{mkkúGi/RØU•—«HWìJ UWoí?ã·é„¢[)L¸ùç~žÏ÷Ø@švÒ¡™éðæØc!Ä>Ïóù|žÏó€ -à11I-Ñ•WM?ªeŠþtC:Ì3q&[Hkв ô׺̈]–‹CÐ ¡IÏ›€æ&7öÝ÷W¾.ü- Õþl½C´üEàT}*€úNC˜a+`n´£@õ}s(Kû«2<Î?ož‡§ñ3رFrÊb÷ØÎŸþ.ªçîù¨ð÷U+5­V«Ðc@Ãqd³€5TÿW¹üg n\1ËÿÆ  #³ƒßõÑÊBÞ¤³Ûóy=›Õ4„Î -À ˜ý™rÑèxÔ]^±Äÿë&ü£ÐyTn̘4þ—ÿWªÌŽÒpzT§JÀÉÀ>.ÿ9ПM€ -’-%…R8@z!öH’ŒuÈñ\A T8È6Nûò÷Lš!bÊOÈ/ò&A>ëw‰ D/Ò£·èÞ-•Y7°äÆ›Ûãqƒ5cEÏ €O/î_žJcBÀ$£·–ìMC¨îs[­Úõ—èî++Õ{Õ{Ó¸õqphÜÏûÜ à·ÓíÓU]þ‡!kKKÿßRëÒúâÃ#|—‘õÝÖÿöãcðû!»ÿû©w1¸ª¨0ò´¢@•Ȧ¢ü5Z‹tNMwâ†äKœð¿cåÜŸa»»ÏþEÏr à´¹ÍGõ àC†ÿ–¼£¥…¨4Vb}gtu´œ{¹åe ?S\ò° r`SZr¤b€¾CŽï{Ÿ“§Û™Rs(ÿNt¢Tþ¿m -¸žAõÏÍLBÿ…t­‚ù?‘€ -ðÿÕ²b €'&€"¨±ìw}½Є­§Ô…Ú¦ÿÿކ€…€SlEh:³`Dl(@x€Ðu?6 ÿ{•®ÓÏB]Åå?Èög@›À@«U*ÉZ…s4˜àüCüõ? „Úãô;6E€Àÿ0÷Ž4¿øïpÚcz–—º¦–4l÷=©ê¯Vï®âÏvì`M³ƒ»»ûý0ŒÀ ™h*:àwµj•”ÜNˆY˜ÿ üC9l2ð‹{!%Bù[1A6ìÀ¨ÀþÁ‰ÉIQû£KwÂÿ‹<þ‡(@ËèøoÊ›J4èߌʪYÿ£{& µÜãâͱÁàè¨ßŸæ¢?~7øÕÿ§Ä<@Ó4SH‡¯Ö[A'@c‹íÞ^s@tàõ×+U° œ¾çsâ¼ øÜ àJ°L Ë=°Üˆt0ÎÿBZ;;—v;GÖ«ê¿Ãq{ñöÑÖ/Žcðï‡ì½2üBx|œÝG!!”¤OèÝŸ(ì.~5qõjâ¯Õ¯ûª?KºŽ€Hü.7º Ë\ Ð>Ë -/¿—OCh±ÇR)4ÿ!Þ»y|ÁaÏPù;¬-V‚ÿ–ÿ»…®gQúcÊO< ÿ–TŠ~€lS\ò³ €8ätº·;î’Õéæ »q*cg`ªe¸¡éaGs¡(B¢Lk"@ë­\C"`åšHØ*@/‹Q!€Xx`–ŽÛTëÛu¾ƒ -Pˆýf¹ð¯wÌšêÿ©3 ¨Ž4 sp@ ¬xL/€WÛg¸h…À«¸×þ –שKs<ÞEõ¿j¶¬Ô|]X¤Ð|üšØ_Ñ“lÖDÀT`Ñüo¿ÂŠûH#`–÷Žðc¦XBŸ#š€*q±Ø^>h(€Dú›çÖGl1×`êüT7Óþ¶] ÀÐPdÅbG#H,¹sDè š?Gx_…¨þåè"YùlJ‚%€![ŠÞ ÿ—B…Bˆûÿ=ˆý™L(=‰IºBÿwq2§_vü'”OÌ'nÉæ8 šدÿÿËQñjWbÌxÅxŠ~iZú…4¡ÿ©à¥SLzÓôÌ-¢y½t¥ £?½¨|ÓÕÞá¿Ãj öúp5þe•àÿÞ—ô”n×®½ -à}ΞŒÿæžï |3ˆnWªa´ÍU³smÇýŸþyëòâ¯:—`êOØ›M~Åõ©çÈ ->¹ÔÙúÆsð;'†O…Çomö(Ñù„2¯„æUŠÚÄ^À_siquòj2óÇ-UÂÄ®ž#Ð]=÷–˵îª&7Wû ôøgm§_~™e€ssö³øÇ>_ËM‚}k‹ã+;€gÏÚ18{Vhÿ°ðw“W[XÿO$ÀêLñ`4%± -¾ƒØ.„šðO@r«¼ÌÀDsÜ- M°èú‹A¸ÕøÙ ÝJ^¸VéC@l$‚1€9µ"s\ßnÐ<] >5 Ðßáï0þ '`ôvÌ4 oF¤µ{ïÌ4U¬˜f2p^„8ßE$à,®óðžª÷8Ôpð ÕþÀŸV­Òxö÷Z­WGU(b"R\žÆ\6€í€H“° ðh€TÊÊÑËDIã+"s@ìR)ßT˜)€ÜX)ÇÅÿ–ð–€Ø ˆÇËü¯çw”Û‰¬éWJÈw®ä4«ÿ‚UJr„þ!«5Ä €Tã;ml$ì€pBýOo!›ÕV(`!À&÷LöHÈì$æ¢ûŸ€›eÖúqæoâý"PnúÿrýÏ„9\jЀp`ÔO¯ªù‡é­|M´D?@Óz™þ³é£Ö›ä.€6Ö‹±ø'ü‡[`àKß—¡ ¾ÆÁ÷Ÿû=áðÖ½3ïá•'²GæFÕGO·¶lÛœÑF§Îãüo¿~ýúÀÒÚÀÈQ€ßìÞ^¤ãámý|‡V@ç퇋­_ПyN~·c{køÔ¥ñèÏ&6ŸøëERI™a ¶Œ®NN&®*Ñ°á³ø ݯkfÀwwˆG¥‰swíþ!f07×fvæþ[Pý;n¢ú··Üt´´XoÚ Ö›ûY«½Å -bð)àŸ…€x¯ -8èœî@ýOÀ[Y–S’ÞŸƒÀü’”“ƒSÔ”Jà®h` 0®ºùM8ÅXÎ|â40°ìåL NœiÚgº;šFCæ€gÇÀƒf$Àö¡ÀúÁÍ€o=¸ý? ËA¬ýcô¶Á€÷;Ì8àæ& è@ÀwE6Ð4gÄgi Aà3X\_3þs ×þUdÁ˜€ˆôéИ½†Þp­´d¿ï‚°¹Hpì5×*@ˆ¦2™£©s9"ˆDy½†h -èú#¢«Ï3€}`Ó¦å²ùÇuãzÄ =^—‡8+ cß?°!쯱 åÛ'àßîÄ@.ÐMA–%É–’éD9(€ÃáÌ9R©1YŠŠ}î ¢¡;¢ P„© €_šjš™ ŒU€Ê5_×´0Øa`™à×´¨M5 €i´ýÍ"€í§Þ äºÖÔ;x ×ûÒÃ;ûVÀ<`~C3Þ”´ tè€÷YD­¶ƒa`û(~º'6ûQÿ×z+šOÓ*Iˆþzm¸†OUj•$•ˆ¾^Àuõ8ªÿ+‘H¹»!05G\p¦PI§œö¼ŽÅ”•;eTýC¦ß?Z Àƒ"€róÏ »`¦ +ñø k‚ÜvÀ&þC°BÙ‘:1LœN•Ð6˜,õ'¸§· @~t Dðoå@`|õ?w¸@È/q/@–äÿ7±×?Ìùe®÷üwK¾0¾¥×7· ü“ùÅâ.…Kã¥pøBÉãù©Ç3ê)zv@Œû-7oâ급½­›ôްŸZæÎÎÙGÔþ)”÷(þ%™€jSä‚T”}ètÒ÷“RvÉøw¦Tú -ºr¡ƒN/£²1}‘T êé"<@

Ÿ™n¬ÿÃaç -Šmh$e2;G8Rö>ÉÁ€šÈâ=>.ýö€XBOÇúAÐ^Žß‰Çã+qð€¸6L1 ý©òËj›qAúÿ8 ”T)ç”BBþ´aE2p(—Ò?SH¥?¦\6Å6`£×Ôpè¡)Öÿàúý_~ÿò¦Œ.LÑ÷ç @…8€;Ê*€Í[ÄnÉ·TÀ?ïþQå_ -_pŽc -pµ¿§X- B¨£P,þƒ¢`n°øB£×äI*ÿ}ˆ -H¦5t†«UcµæûÒ0j>ˆhô ´^™¹ÿÇ hhºÈÇœùï“P0ËÓ0–‹CØR®`ñ¤MLŽm`d¤µõ/žü‚€8F:GFF:ÅM¢¸ª€õÛzf‡`}©sq±õŸwŽrì"ÂÿOlÿó’â´Ñ h^Ql“ À?@"êIZ↑ÍçÅ »Z™ààôõîþ·n=[ˆéœß7Ç`îÃìòûÅÅqó&”€| ÿÏ]‚ÿOoæ0ܧºŸŠ*õQþ‡`|jS$±…õh™N)1ŠT -¥”Ýî,©Š•‰·¨›R4Œm@'€X̘ U˜››Á€LpôV|еuù0@Ÿ‰3Ja5}ßX4êM-xCð`¿ðuOÀ§È¨³ðY@‡0¬O™ù¢`nzÍ8Fÿî·ŒäÀy~ÐÛñŒ@|z¦:]íºÇýBuƒ‹ûš¦wUtª+Ãz…9€F…­F!}òÿJo•¸Õ´°ÐË -noRyÓÙßÌìt)8ç è¹óØý8·›»ülOu(Àåªwp‘ÈÒ7Çc\V«+ñx™m„ ÿá@67w$àt"F€|ÿ°Ïg%h‡5'ºþô½/ ÝK!dca " É6ù¿ØÿWz„òO3€[,þw„ò±.žø(ºyñV‚­ÿ›·Ôw¢·„}¦Zò”Â%Ï…RxT¨f‹žQÏ‚~=í×° XD ýBð]¼~‚ôàÏýM%€9 HŠÁ@29¦½Î†>*þQÿéCÜaøÔpš^½ÿl(ë³f‘x•j€»þ=~ëÝz#„¶ÝÁ“®¿¼‚lu1°Køß&´_nm}ñä™ååP€¥ÎA˜ ú>$п½Ä,`}qñ6Àâúm0ÿ{ˆ>yæ98Òá}óTfÀªm>±¡ØæK¡RÏ'!^è¡ ¡ÿÿ2™HüI {gÕÒ–ÍëÙ6l”}F¿ËÐk_µ’Ÿ[|¾›ÙÏ"H¼ØÂ«7­Ž¯„ýg¹ÿól Õá Qù_Þs–™¤RrA.° -q¢²=HA"H'Ô˜S•8Ã@F!Û¨ª'Œá„v ùft»„L ÓÙ‹€5ªÿ§…P\ÔÐe¸H`"â.1¨Î>°~þŸ~¡Ì@ hnòÛPcG°ád¦ Xôþïó$€`õUNÀàL€gÒQŽÇgÎW©GýžµŠPxÍçÓ¡¨ñ­V£Ê¿V«ôÖˆ kY¤uù ÿ›aû_Ôÿ^6.LiÐI¬1rÓSB¨2hG U0Wc¥¯‘HðߘéTã¼µnÐ{–_±]1d„¢0„¶A¹·–£ÆúȲ”œhý;QìSåb@Qû³@â}€\ƒ„` K€[Áøï 0ÃLeàÅh¿ò¦˜ÿÓ-ïûo*·ÿ››tëßTÕqâ¥ñ’{<|qZžñ?UÿEž`pLO§ýÜ>Kó«‡@Ÿ¦ûÿz%©kµ^8&©öÁp - ~…þ?†¢þå¤lj÷Uôë8š€ÃIPŠ|H"5QÕæÎÂ}†Àæ• ÀAªþ}U‹Ïbø,àõwLG@|ñ6€ÿè‰xìN3àæ!€äÎqy/™ @ÿs‚õMg 46¤‚ ÷Ó¸GøþÀPýï&ÑÞö¿Hwݼêw c±[þAGO@WeÀiœ3J¥’G£áA~Wõ úSõ¯kcÅàŸ‹Åx ð"þ´? ¤÷ÕÌ]À}øG€>7L “‚ZuµfÔ¾\­Ö4M¬ÀM-®AðÇÁ¶©¦ˆT}µ,*œ¼~4@/ýM!ñ°€íusï¸a\ÙY‰¯¶eaŽr¶vL Àò×—_zéä™Ö‘å‘VhGLø§Âþöý‡{ÛëtChÿðáoÖwö/Þ¾}û7h èï­¯¯-î-þ{+}ýúsð;™¿c¿û# ô¬goŠô³ëÙ³7ÑpôÑ!6@W©²AéO.ða ³³ñ¯ -@☠ÐùO¢GøE¬*¢Ý©* ߌ®Aäý 0 Œ†AØÓž3¦au §:(oÍ8€Œ©t5u€ÛKØ÷>Ü8´ðM € ;€Ð$ðØáÀ`š·í3PàW›t ÝûL4€pò«V§§Qù  ÆþLkØLÿ±Xá<ÀtÍWé­ôú8(¨Â~¼çñãò!@¬ýZ@od°“9¢PÎK¬êL÷ª3q;(‚€\ñ¿£ãký:ªç >|«è”!#0“ Ë+üõÝØ°T-«–£ü˜1§Ý#DÜp -däøj¶L á½ø,w$Ä(x+àÔ -ÀWhþ0þ'*@ȯDoaüÅÿ&ø0÷˜ÜbV0WUso¦t¦Ù¥ðOð@+úƒ\ÿkÙôX°˜f MwüEš€æå¾qýÅ#½h@eƒ&€ñë¤ñkà €Ž€)!x]èêºÿÇ!d’hPŽW}FM×?Õóù£èò:µÿë|r1O0ͻܳê[ @xʱ”t®u~ÞÚúÆ‹gZ——1X^Yj€Û»÷Ö›mÖ½ßð¯kq¢€ÅE~ßÉ!³ëKÿ>²øœå˜}åõbXý¹ô·ÙæéL¤Î‡B¡’Ààêää?OF³JåR>ÿ)aÀ†|%:þg­--Øp8졜•Ð_¶¹Œþt>Ϙ·Çb)Þt8R¬ ÀÒVm¨údEŽdYaØOÀÃJ@>ëÁè(fœä1³Løì„@—¯"` -yõ3lVÓiŽƒ?àhv·9ðqÀ7v¾E ÐÿwtÀ °nŠ1€°f/ÀL†ó€Dx@Ó€—γÀ$íÏÄYeŽd0ÿo†¯f$³÷Uªÿ©â¯Á(‰LÀ×ÿ]µ^hÙgÙç;?Ÿf[/ÊqQó—Í%§f@¨v޶bcˆ=Uü`]Í€r÷Á?ò±ð÷5®CÿÂX¯U þãx»¿³ÂÂÀ‰8"VW™!á÷)ÙÑ0ƒ€°¹(1Æ‹î¿@¿!& °ål¶‚¹Âî´0Š ÀÖƒþ?o(ûÀ‰MøÄ-zw’L¸ÑO×M5½µI³€^-hÿ«*¯𗜢€iÀ¨p°Èíúmö‹t… -  Ò'ÒÚ˜ßé§ð¢#K>ÆØš°_Èk«ÉZ•à¿VÓÒ§‚ÚëX% ×ß)xuý1xo"X耰b$õ<š¿kI‰LE2ì€uhyèÀe»‘B‰ - ú`¤r ám­³óƒåËTÿ ùß²9ý'0»È `ÿ—´·¸{{¯sooý7¢=€Ez¸sm½óoŸwŽtìÞ¾T$ )L°\5Ï2dÛ|b~€ÉIU½š5¨2ðôo3&º»Û“Ú[.ÓUmbÂÓ ÿ=ÄŽÅ"À\>/4€lî‡uVà?ÀM,ûÙ­¬pXÏZsì?Ùä„M’R±óú‡DSÐ@;è\Yȹý²Œ›$+}q©JBVY46U(6Y 0—3‘ Ž˜iA^¬T¨ZEÀ/™Æ @¤Ô°`¨.Ì= -¼ý7€ïØà<Žè`ÙÏ{î+ ŽÆ "êñ^¨ÛM1`¼±ðLÕÿç‰t™;Ì4ÂyÂ{Ôÿ¶’ÝÑø×“¾j Qñ²`ºýü´¹ˆ_lù -¸Uw7S¬&ð -?à#z:¤”Ó™rƲ5ÖLÇãíwÌ €}}hú¿þÃâ0²Ùl<ÞŒ¸ÅçRâTõWñp›AOæ#­èž0?¡NGIr„$öÿÝ@}_‰(Ô¨ø‘ ʱ бP¥¥ ãÕÙcC ÁËØÙÿoo¡×¿y‘ •á^Tÿ8”Mw”Ëÿ(á?ÚÿXÿÇêxÔSò ¢0êñýƒþËéËþ1áDØïð§éJèi4’û € @VP€d’> ½Ì~]ÓÿY<Ä3VœBZÀµk Ë€àý‡ø€«ÞA¯Ãéjo-«ëyzÖü.JÀz}†Ø}† °7l¯m†H  ¼BÏAÖ¶äºa÷ï‘‘‘Öë­Bþ>ÀãÿÚâÒîîÞC gÔííݽíõÝÛÛ»l/n¯-ºÿgw.?'G=Þ.z¥¤ÌCn4™Ò<âH$z`>úÿê$}6ï³Ä-Ƨùì§m«DîÔü&Øîî²Úõ€Ž€>Ç*À9b0n¤c¸¶9 õ,g9ÎÒVœö”•íD.>Œ9¥ÿ,ËïôS‡5"r`vÐÈɲ3æò‡¢fbaBÁ@â'at ‡c—Âáb0„0áÖ/ ÷‚Àݦ >Ã~µf@dhl 7àC*€õƒ^ë3€íoc¢0ÕqPùKÕQ€Ì”©èð -øBÀ²–½ K`a_Y†ÏDR}Ï7]FçM£Â lþšdÛ¼Ó Œ€šfT|ÿ±@¿UDš4~P€±·‘ˆ›öÈ€è J­9§=èÉd¥‡›:,#èÑÅNÀ¢û_î/¯”»ŸÎÙψd¬‘4¨f5°0]­V}ûYz2ÎeéiœÏe`=G?·ÝéP üS9Îú‘CTýS¡¿!‰Å“ä6Øü‡ÉÌ€ -!Y.À­ €1˜Èè@äoBaóîñ#îOÞ^ÿfÁ/Пßà”ý¹4Î诖X†ƒÁXøRøí`ÐN@ì„ SÌ€îU§Ï·Ï°_-·L+ !‘ è:ðõM€Ã©Àqÿ[L9 p -6Àìxà@.0˜AÆ42½€þ¦€33ûÖühä™Áýö¿Ï¨±p²æð|Z×k˜ÐȬøØë•ñ™.^€ºÂÛœˆ%Öò¿Îkúω¬`sÄ ð‡Ó(œ|†¸“ÃÛÿårû -Õô+OøÙ윞Í~VÓA°¹ÞKèïC£7ÏO[;7|ò#ê1ðCúIÍ­VE²…6 -¨þ ù7 õ— P„½a· ™û‰‹…E±%ó¢ë×¢ÁHŒnb6q‘ð;j4ù¿º)vè:®nFÇÇUG_.—*¡ù 9zÌ-¹SΔÓâ,â9àÊt’R2•<6z<1¯¢)) ¬ -9”اJH¾%ËQÕwG!ˆƒaHõ*Z¥‚õ6ö«aA]æ#"ÖСo숀Çö¶ÉÚ=Nû€Èh´ÿñ6Å«L2l Ü Ñý÷š:Àö™}0Cg“È3ñBš,€ À­bTô^”úèÿƒ hô0ç ÌOŠ&+0UÁýœìj.(€Bš@^¹ð𛀳G$ëü¼p;=±°?™…`µ_A¬/zèæÀU-NèoÕ'oòádžÕó:=³u=P êº?<[­)‡ãfþ(@÷Çb~ÐU¥guŽžÛ0ü/l Ü׆„ŸBξ=/±èÏÜmPíO/IIÁö¿Ü#Ë2ü0û§¢Ÿˆ¯"' àÄ¢Ê-vÄnLèÞø8w„û„ý -ÄŠ:N@õü”ê~'×ÿtüTýsÿŸŽ_Æ ÷ÓF/a ŒFtcþ´>¦%;²cÙËɬ~9iâ?FhÐ5+iä - -S0€¿„€(ÀÔp¯üÃí¼©î`8fÔÚˆ%–Ÿöf¼Þ™LdøÏ€§ªÿ!<ì¿Sµ¬žf[•¹ÏŽXÛ{cù£‘­‘δ~´Ü:ÒÚúÅÀÀ€päŽÓSøpqwoO¤±íºöfëX”X{ßµµ·½øg÷v'þÿÞÀ¯®¥ÃŠJØx“r&ªÿ'•„_ÊñU ûœ¾ÛO…•èg•€9@pš%¹| ß Ð `ì~EçVkßWB÷>‡ƒªÿª¨N]I²3E…WÌsÛyùž¿9¬ýKV9%;Å ‚]hÅéÄ4ÊÓP…*QªúÕwÆÝf2PØ޽M ËÅw‹Áô»V4ójð†=€vÑ Hê†2à¾öÍ¿éǨ?ê>;ÀÓèdÛŽh¹±üþȉ哿 ´ÿW®û[[Ïœøb`YŒZ[[ðeËB°¸7»¶Ë-Y—ëÝlÍ><±·»öK»»KÏ ÀQޝ¼®²€.“’T’l!XïoØB¼099Ÿ(E=ÃrÎb&Ê8×ßßÝ®ç…ာyÿÓm«msYæÅ ƒ»„ÿˆ ›ÿÖœøïÄþ¿*1þGÝî˜#`‡Ã›$¦¥È{Ᲊw§a$Ù¢6EMJ1?tlÊfš »ß €•Õh8öNt:ÀXqM€ 2Ò•Êpr¸Ré‚-€é³YÍ8ÅõwÇ»ºš‰À®‹ºwÖ¯ZüpMuˆn¿X3hÌpohjCÑ8Ðàe€† -°Ñðz¹)@ôà™œ@u&Ðõù*F­×g ‹]ïš‘48ø—›Ð²ñMÕÿÕ®F~úýÍ­?n”ÿÛ×Hd€£• -©n¢{1¿NœÄ¨VWÚ»9 èQ†³þVV¯ÞöJ¾ÕÿhúÇì˜ãzxö9ý  Ž£üt¿Î ú†{Š=­΂TÈQå3 ‚‚?XþÚXÀL/ÿÈJÈ&Û&ÌÖ=“¶Ä$¯D‚IU‚Çþp&vt\f Ò‚ῊaÀ8B²1ý–.„K*(€g -@ÆÿQú‡úyþïMLþ1ö/¦‹ƒ¡ÿK >0–óCòÈ7טÀàrRó¦‡ÐkmI ²šßÏŽÂE¾¹LŸâ'\»ÿžwë‡7¨³zô1ŒFÁY¯£PnŸ;–^3±§šÐ õþ ÿþëOÿXèî_Xå1€a3pûâúÈk×ß_Ûzm`äÄÈÈÚ2ÖZˆæÓ½åÖåe°ApkkçZ牭ÎYêv99¦_RÁ ß×–lƒ°Æ"Àbƒ¼›ÑB xí•û^ïìƒÖ9wÃ?zÕ¯?Θº3€š¡Çbö…ßöÝ"™ûÄÕ1®£—5ª×ÓÍÿ±w0ª»‚†ï˜aÛÃë×?£õÆç'ßoý|¤sk­ó_¹ßt€eP€Ö‘V¢Ë#MƒàeŒZolmÍú·Ð”ÙsµÎÎ~к¶÷¼pÄÃ{**Eçç7l¶ùù””³aY‚-ÌONn*‰’ž·ô[ Âÿ6c‚@9(›À5ä:×bdksYBÿÓ§WÛæ°»2×°·P9ï°§Œý-4æì¹Pèß×g§_)EK-“Ýt¤@œÜ.<ÀáD@! -PpKl`CÙO务h [ºÊ 9І¨;*+ð~›Î|nÄR ¢a` ‚L[.W+,˜Ö®†×Lü¯74f€mJ– €¿ÆžÐXGõ/®ú»ï˜€°‘'e“ˆ¢¿á ÈW/}2“y&NÀ3•dÅL÷ƒ °BÕžþ¯ü>­Ö«ñ: Ö¡À ß½dí§ïù¦§Ï³ª²]L¼MüçþJY´Êû"@®‰Ž:f[H"‰n*ÝaE©·"ã}Ï!V ›üß¶ÊÐü¬£g êV ¡ «©þ/é'Ó´4»À&µ)ø^[%ÀŽˆ‹ˆúKÙBê|Ûªhÿ[ -{¨þ{dbø'*c Ìú1Ø”€þ -ïø1ï5÷`Ø Hø©ãNÿŸ£ô¿€âßSòÄ~êímÌb£4.ûÇ‚¼ó7êçwƒþ¢gÐCð?7€Aî\ËÂù'™=  : ic—ÿýþd›ž5ôZVú‘É-à?Èé‚§NÁèGH¾qÿþ{‘©‡?¤s®ým?Þ€aŸxA×3Äpïù|ú‡1§=ö[ð/Tà¿(þëöžþ…Pwÿ•»H8n €õþöãÖ¶þüÏüâÉ­##k³À(Ñ8yr`à‹/Z!Ä1Ò¹Ø9B<áÄ,€k §ß½ú/–fÿtymöásp46æMÿ\U¨ÔŸß˜9$¡TC¶yº=“Wç©äVùêÊ9KÛ\ÖX]éï™#b«-Ø£ú¯8=‡@~ŽgTÈsâ ÿ[¬Ö¯rV«#g·÷•$*NJlÍUèìëtöÙq¶tðCS䧨 â<Y)¨•ü -a¿ìDI¤È¸5›Y-ߢ‹ŠHàw  ‡/a iÁd'€ÞÚ0Xv€ <ëÛź:/‰L`j0¾>Ø>àpØè€àqW C€lØT¸êD½$Ê4Sz# - ðp óL¶g¦+½ˆ÷¥7ºÃëÿº¦¡ €áo·ÀÅj Q©û+]ìÿC×”ÿìQ ôþ ð7—Áh„4°]üÛv`‰pä.‚s ’šK9Ý°Ž¶ˆXV Tžh_!€À·{ùÚ~Ç‚ÓRU è¹fÅÓ­pÄZÒUL@g@z"§RηPú§ -bøK°á‚æ?ñ*úm²ÂÞ?1‚ùš]6Å–°aÕÖÿ -à_áÒ0!ÀŽ”ð6Þ?ã<ýç&@ƬÿGü®hôyøž§ÿèþýÃSôCö_4I@‘Ð{¼ è' ÏjØù3ëµ$7üDÇü£cøº,a?¡Ð)õÑ£~˜QÞ]µ¬úŽ!øâÿÖyâ¶>þñ‹?jx¿uä}*ý;y0Ò‰ÀÀògÎ|Áó€e¼-ŠŒ ­-:'ïÜ ›½Ùµ­Î‘ÿwdiké¹ð¨UeßßÐ|¨”Ëm„¬È(Á€­gG¯&þÄÙ·LXŒ,MÏMôwwÉøÈ^4®·^†¡ÚêiË黫¼»:×Ö2÷™¤L OZ9´ÿ‘Ü×ç€%i i,(Šv«Nöþ'à úÛÝ)w*¥*tN¶Ëtn†ò¿‡P_–jýÿIŽB–h8äwĹ0êF*àÛÁ·=0ôàÄ£-ø´"j\_óÝëªÎ˜ ÀU›#€f@CàÚ·ên,n¬JÞþF! fý˜4|€þ]bã@¬vì°° ,ðßÔxMg@:©ð@æ™, ÷3Ž|C¼–Ô{¡ú×5ˆ¿4ìbÿŸˆToàò•«ÓM  öò¡ì?¸¢Ñ‚ä/÷6„ÀÎÑ;ëëá%Á©›ÊëÕØöÑ|Ö°XVâDVXØö4Y>ÎTÁcîé«©B¬P8êåÔõâ1s¸r:%ü€Tþú£Á I9++\•²QPä_Ê6© Àþ€ß3)³ù/n0ÿÂú«;Êö×rTEFXÄüpà­ñ¨2®²+ÿÆÃà%tÃ`þ -à-y -@ˆüZýQþ3ìû±À"@Ö²`pðòå1ÿˆà˜9È b࿬ÿÒY|ÍhÓ!­ÔuÌ<ÿÌèx7ý.–‡O¨\{“À{÷_û™ˆðoƒêí©Œ·}º¢cÄ8¿­ÀfÞ áÿ®8Cl¯?å¼ YXÀºr‰•Ÿ9fØvæ>Þzíþ󩮌|tæúÀ‹'¿¸~’ð~™Ê~!hì³9wx?pddöÆ×P&Cgç':·–ÿåÙ¥µõçàHÇìë—Æ•Éùùy Ö¼ØJÎm(ó -¯&&¯R ¢–|–s+HR-+ýýÝCÕ¤åÑ€>Õêê]Ë*4«sX]É·äíGÊTà:—?kíûÊšËõí³÷9%ÕCøï§Â] K*¬Ý‰0¨ÜÀB 6©ÞW Š» ¦xïOa `ù¢<©Êèüs&êÅDãP¨àq»U:/¾ãq‡cÁØÛá"˂܀–iÕ{÷àYçqµèÀ{€æ 3Qÿ]xHx¨òß~lP<ØðÿªOMí+\Í5€zSЄ.ý#^®ü…°lv2ÏDˆUÿîµJ’³“ø¥±<4¼Ók>£R«bSýÿÚyßt¼ë||&7 @¤lŠAÀ, -ôšó¯èÈÐoäè?rˆà޹ÖìèI4÷™aXªñ»ñ•sUËêªñ”V~1-ˆO ž#ÿPĘ’ú‡ÁÔ…n1 ÃŠUkÊ*P¶ˆÈ^û'À'ô':£ØÜ’bƒû/Æ]68ÿ÷ôÐkP‰J …ˆ0t€H¨þ¥hx\ýEUá`ÎÆ‰¸=%Ñ(](Ñö˜¶¿%vÿá&ëÿc¸ƒžÑàà(ZÿD‚Å&(²>à—tsÓþ¤†+ó]Ôÿ—MÁA^%Ô¶¬Î(„ô¡è =ïžz¶@§Þ=ÕPÜïÙ¨Y~Wð`ûÛ:ëõL¦}¦Rѱ’Ûù-<1ã½ïe5ÏÔwÔ9°äp¨ûQ÷ÊÄ -Ȭ¶´3lûhäÅG¶þôóë['nœÁàÖå—^<óâKg^låªYÀ?ob)°uà$XÁòUÿuïÎG[7Þß:ÑùoÿÐ:{Lm€~Ÿ`88®$æ¶yiÚû*%:Tþ+ó“óÊU%È®®LL òj¢¿¿#nXºÅ´lÛõÈõ²…¶XVïž>½:wšÍ€ç€ÿ¦ ýþsøïYüÿûìv¢žX éÓ鄿V£ž¢]<€ »ÓÈü£S–Ý’ì.Ѩ$S™#eP†@bRÈÐ_€"JŽºÃtEõOø^¾Ô´ Ë´Ze˜½€»|ñéFÅ*¶à”p3 À”ì¬7½€4ÏXb' 1ðÇ÷7ã› ú€Ž©L¦)Û‚\â—Í€°€¥Ø³x.Àô‡H€VéE¹?Œ˜zó뼆 ÝP%†€5ÀóÿcŸîljæñ€Ø,GØpQˆ›{€ß X/à -9‚ÔœD420—m3V-0À õ;˜¨}oá -öúµùuÎÈÄlBµ a«T ŸÑÊ›ÄX(5Œl’M†ý¯"©Tó˜”EíÏ‚•ý²,)¥fóÝ®0Zãц€­° üé1¾¨áÒ8ìÃá î’ççÿü$@´ÿ¹ÿúƒ£tõýÄý?Üü{Xàÿ¥†RŸ5ÿÜÿ× ùAü—µË~\õ_â»¶5=[à $xÁã)ö#¦›{ÁKÿï¦ß=•ÆàMS ø™4,?¾õk¦"™™®Šôà,õ-€/ÓÜï˜xÅa€Cȯ‚ˆe"ΔÕê1ö‘_üêýëýøÆf·:¡ú¿uù‹Ož|é‹3gÎŒÌs>`“Ð{º?@D¡svOÍ'>:q¢Þyâƒ7þuowiû98ÒQÿ›Saò¢ù ‚æPÈj 9RX`+ Oz&E) Ëʹ²³~ntF?kä׉¸ZŒêŠåîÝ»«–Óm«§YÐ’GFÿ¢`m¹yÓŠ(À1Gß§T¨þ÷¹%Iu§T™ð¿€©´;í’SB§ O7GÄ67¼Ný2•@²¬ô˜µ?õdh6¬šÁ€êÛ< #\²|kèLßë‚`xevÄ ¾iÐ Ø>¬üº%ÐãàÿµE@SÿoÖÿ<xÐl°O‹º3™2÷æyç/Òôò–¯`Gä€axûkInúSËQŠt} <€X@¶â«ß°Áô«¬vÅ"Øœ˜ÝMóÿ²h ´ À¬t|/€@ÈTÕcußÞC*"¤UK5n‰ÿALT+ N>„ÀmO¥x¥…@ßQÀÏ™’èGM —+lÿ ~6$ÁóJABVOP&løúP€¨:]TúKãnâ*1^ìÿ¡ý_"2P¢§>o¨h¨üó”ÂÎ ž’Ñ´rpÐï Žè=Tö{`¡åáiÕõ1ìøý„óÉ˸hc<Ààeý²ì2jîŒ}(f6]Ïëú¦ô}ŠžqŒˆ/ À@ã…À.(^›ýœÅú||[ €Àݧù=X= ~ÓX•÷tÀrëßµÀaÀºû»ûûWúÛ‘MY7°·õþkË/~°ub‹Žå­høöŸ9ùâ‹/  üomàQÀ³ÌgÙ `hëÆÖÖk#¾´·÷¼pÔã•ô¥¨bÚõBÖÜW}0*ck€DÏü$•%K|ân~ Œ:â¾òlÖw]ÛC/ÿ—¸eeåî„eõô*èh pÐMH9°)@}V‡5×ç ¨|ð'}5*óU)çVc):Q‚•À?ÈûcnUå¦ÿE†þÜÚ·ñî?ûSÍEü)O6²,6Ù.8ûQX¹Ýá ?¶ ƒ D° öïÝ‹ÏÄÔ«ÝÜ`À{Í0€}'Àû">] ‡äßPMî{ÿšyC„@pl À8BoÝ8wxÙ '’+‘f. õ¼e–< #è§·ÆZŸÞ üOê€x²=¹xwÎÇ‘¯ûÁk7~|âÄÎVf넘÷·ŠÎ뙓žyñäIz``àÌÉ“gNžáML:ü.×NæÄÖ‘÷ÿÓ?nÛ%€ßxè}½H§e~CÊÁ¤Ç*ôYaLj³%0¸ª(ã%ÅbôŸ›à• Ö:ÊUVnOÕ3Û®–êÊÊÄÄÄÝ»¬`/,‚´ÜlHx÷Ÿ-Qÿê×µj2–CŸþ1gÀp3dµ|ÀY’@{l9»øéˆBù§š ž„œ˜Ä€30 Ç©J¢O³b‹1tü tžÓ„ ‰À0®™±zíbX-¼€!Æšr5½€E  þ"·×¿ü¶@cÀ †¢½ÐH­:€ŽÉÀ¢Rö6®eSáÚ¾bÏä„É+¼ë§¥u®þ³¢ú×5?ç¾Ó'ý‹ÙÀÀt#@(¼MøÏ˜]€öF rgùž€9àTvî´Yâ˜g…×&uÖÂ(eÏaÀIÀŸÂ ¡¾„wô! … 2 pP” 8^‚þÉx€¸Ênäbº£ -?Å¡Y¶—TÜó ~?ðþ/Á:Žº¿äÁËÀæ@S0êáí?îýS™N,*~?¯ÿùÑ ÑY€DFµ4±@Ó€ÞÒ€þ¤~ÜIà>@$BoËê.ˆþ#€q˜s›cÂÿw‰¤5fo²ÀëýÃ7½o?v3^ÌbáRìÉ3€‡8ÿÑ3|jê»5¶÷ @>åòŸÅãñò1ÓŒÔg×Þø¯³ûþG'¶¶:1à<`3€0Ÿ»Tþ/³ ø4öÄÈôKÚÚé<Ñú¾¿öZçspÔãµá AkÈ6/±Kv$•…”мÂ:€ J4`Xâ?CÀ¨žëï~«{€½€×‰œþOL¬Þ]=½j9Í‹sþ[n¶  àhà¨/×—#”¿¬g³># åœnwŒ^M1&µxV¹É•pB¤jÿ•Ê{ øe›¢ªØ 7å[‰Íh"€žô¢tºŒºY$€–A8ÆóQ·'øö%1X òâ6–Þ›žF Þ¬X›qÀCS)½iè:ÿOhÿ?üŸ8O>Ĩ/è…Ix`6ù‚d „€áô -Kº½Wð(‹Ïbl:\ISÙ¯i½Üÿ÷ëI?ð_§7¾Èb3 ’¬Õ|FU„ÂW¹IDô_7ãØѿ½ì½iôÐíøÞÀ:ˬHv8í-y{~î¶:•DJýÒ ÀˆêÿTNJˆ`ä; -ÖT’À”X9„÷Ÿ¤Jx¥ £`“ûÛ#+‘÷‡Ô?†|z^« tßuÓ“à_w3úcàVKè ”xï?\º †ê sýÏ1˜ö¿1tþ1$ À - ¯bñEPb —_ý²žËî;b%à2sM$>q ‹?Èþ @÷{F/ ¿½Hd|<|I4ÂÅKa±怠®W^3ຠðTø¿¾Ý‘‰Ìt §‘ôøä=VïzÙèâ» þ³»Y@ª|Ì:DN|¼õ±ëý“˜œà!¿¸v²ì6@h°€¹ÁòÁ–Z—ê®—kçý¹?ù`äÆò1•ü Àìpz<Š€š³:¿²ZCV{¨Àq% -Ü¢ª"}š]97Q®Z’>£ïïôÈu.þˆž­Ýëë„-ñòÄD?„€mÄæZÿèØ1ûOYsv+•ÿHî \Îç“ɪϩÂ"]JÙ9g*àtRõow’X)ªÆÔI§>¸åŸ5Y€{åÿ­ÉIY~çEÙLpk€hÀ;a7bé¤Ò)’ÐßO'd*ek^¬Üë‚sëÖLgšH䑨l4éE~ àÀ&à¡Úÿ1 ÀAsàCÇ^ùÃw̃«)Y‡­PO_‰°?êSCÿ,Ζ¨ñ5XÿðôŸ?¨³š-­±.®óTÀfÀHª² @ÜGõÿt£üoV?ݰÔtöÞ­–öý0€£§=~ ½N$Ó8R†Ï‘ @%éC@÷ÇA{Ìãp:a”b ‰èu®²Rtï`vMðLlØ\RùŸ€ó?|˜wq &¿ -&Ì“7„ÿð»tcÔÏ‚¿qdÿ¨ÜøÇÌæ¿Xû#¦ ÿ1‘þG0?(ìÿõc£‡ó~l€GÑ÷ûƒÜ 0MÙ`”=€³Üàý?á6)ÀåA6 .Pô·eéŸ @˜€ÿB/Äq÷%4äž 1t !HK -ðJ×@ ø”›zõLÆ;ã¦SŠæ›Œ:¦êß©þßn€!4"ÀìÏ–ÛY`»³¾øÑŸ¿ö·ÿ“kk`k¶³óDçZ3¸!û7‚Ícd¹õäKÿ×É/Z;—¿èäêië#×ÖÖŸ|ü~kë1Åÿß#ȼ c ärŽBHÌÐH¨Ê'ž@Õr®Etâý݆†º'ºEÀµ>Ô6ÑOøß?q÷®å.§ ÿaŒ'P“räˆä¥X>Í&v_Ì£8±MgGŒ<ùl H–“ù ÓãV©þW•ÉžDô¢š¸H'ËQ·¤ºÙ=á–a„–¸Eo‰[‰}UBE— A˜O¹tZŒ¢)ö¸ƒtö‹yÞ^À" Ö*"ÀáuœÔ¦ àÔf€ˆÄÀuÈ `ýð6À–žØàï)Œ]¬l¶„ÐNÇÎì~"à?™…r䊗ëèöö+Þ+ЈòyêY_tþkØ•L¦é´‰8¡¿ÆV1zšîöêÀÿZÅHš+€Dª3çñ›œnÀ?ÿ6¯0Æw7˜@™ªÿ;‘;½¿¿-€ÜD˜ŸðŸç[’„X+ÿ©ø·: -LˆHh@ˆÉÿ¼¬°@æ´ë i‰‚ìÊn™;[’šRÝ„ýª»äfñ_ é—è„™`Ù8ÏïáÿǺ?Ìø= ÿQªöcAQÓÇbA|2dÍßhìˆÊŸn0&ˆ Ž6ÀÓPƒ -Ð4 Ï]ÖÇ0( ‹Ç‚AÔ‚þ¾ Üy7GáKaü$ÅKt1#O-œàþýûïyÿ ¦O»¨?5iïªh5]«<ù+Øý·ã;áþÑè@œÃ?Žöã6XŸš­¿ÿƉ¯pÃEè/0¿sÄò7±ùo~–8À™ÿþWÿýäÀòÒn}Ö•ùè}×l牟üië@ëóÀ‘ÿ?®¡ `!ð•µëÿ óª"•mñ‰þŸp¥0ˆ¼E4µ¿Ûe¶Ì†V ü»ÿ~âîÄêÊiÈ_n{™@Kþf‹£S9‰Š +æÿ¥¾À§mt)'õ>§Û©*ª$œÿxA6RMΘ¤úÃ÷w§>þXp»ù4¨ ó1!sï?ÚcšDÑ.åa};£ºUÂþ,‹°¤à‹5÷ [>w`Ë;Ô”é5fíÄÿLJ²/ëÙȵKߺ~`Pç°¶ìȘnÀŒŸÿsÀtЋ\Á€ ã™øõrÿŸ%ì÷~ دqY—Æý¤°JrpÅà @_¼ÚEðh`âþ&@»9¸ã½# Ñoûx¾z¡Ô:2ì13ˆ^Õÿ9‰ ¿2ì‡7 OÎÿÇ]Š’_ïe¤û*QŽ¿FëS~5ZB‹+Œ[d^ûé-<¿_ìü_p–Ft—õþànÌ€ÌþàhÌD È™ÙtCŸõÇF™ŒBˆf€à þ¹Øoz›q:hÀe"‹c¬à8aÿ¨§(‚oxƉ~\C -8Neÿ8:—°‡ ø®¼.Ä€×îßoí€Ö;f#3]ÈÅz2x(à¿þà;<»qq±O"¼ï P€ãõêè¬ÏÎ~~ò£¿:ñÚò½Ù‘­ÎµµµÎÇá߬üÙÐÜX8óÒÿúRëÈì–+sã?¸¶¶^û‡¿øâßžwŽLÞ ŽÃqœ -‘œÃf-„}¬(ØlH€ßȟIJ–‰òD5î³Õso½õhÈÕÝ=ärøn”ÿo ˜¸»z÷.D€ðÀÅn -R9ûú°ìÿiÖ0Œ²¡rnwXrËîã¿®'ñøtRùK8÷Ñ 0‘•DOôb‚5€=QèŸä¨XúKDoD{x P”‹2Le M!B2 ÎaÞ 5}^Z’Mìº|ÓÓÓMÌ‚€Ì§4ÆôuÓ àAÓ `_ø J@~ð›Ê‰*24%¨Å®©1¬7 ÔÁ±À ?`bòÜg-@wÃE癜'™!%1î§“?½Ã6Åq7M´ )† ê­v¾ó¾êù{çYJAdŠg¢ÐÉtgš›€íýíwÚFr@½~\_½ëÿ‡~Ø" 8çp‹iË -’9 H¥ˆ ä¬NŽÆ" "öKdÀææE@Þj‘U…½- üs«ï@ -¨Jn·Zò8Õ’Û.±Öð¯b䀧ää}¿ŸÆF…êŸ~ýQ?|0F`$`/zXüÃçƒA¿g4èÁçý" Eú²Á†G Z@„ÿû €1Qù£÷Gà±,¤B 8Zôzè‚JÿB8|¡„Àx›‰`(°*šwƒ<Â+¯_ ©Ýú.¦}¾Jåö;vÐå{zü«ÅÜèêè~üçíÙãØè¬ïÝø«ÖÖ·:·ê¿ÚëlöLØ_:téiøás/½ô·E¿&ïG®úÖÖü‹ÿ4ðœõxØèH"¡µàpl€H6[ˆSÈ ŠÙx¼ÿ\ü\µê³Äûß`ð÷ýÝß=ü'€5€¶—¡˜»‰5‡ †ÿö¾@ ›5,Õr2`·œn7–æfGýïóÅ#†žtÜ%·”Ôh‘ì?%.*‰w¢,@Øó‚ú‹jâÖdBÞd; æ•KD -”¨Çéñ@ å º±è þKÐO€H¯T¾ìÂÞwÌÔúFàT‡pì?h`*ö^ŸØx¢c„º˜0˜>ƒæ @lìÔE( `ŒþݘD¼¢óÏÓÿÈ?qnÁ³ižW´šÿubL~=È>1H‚çMÀ4ݲ âKò€iVrpD$+˜ÀÌš®†t"#À­¡í–ãÚ¿k©™ûÖ¹Âù×Ê‹ -œ`-¤¬p/La! %!q!©d qኟ·_TáúC¨Owݬòw; àÃîROò0×Ç¡±Cæ_XØý{ü%ìú ÆFÅÞ?þ£Áó1Äÿéý € úãÏ¡a€6>x‚»üÝæ¹ú׳Z¶&ÀepÌ.k—õ1 Æ  þJ‚ £ ÿ˜óé -ôÇ@`=Î.¤Ói¢¯_»Ö9à}ïk™Ù©ÝðSn@‘™ékšç›œL¹¾SwËÄÿ:ðÓ<«ì%>}Ì^Û³K[×o\¨Ïî¹önÏ..­­uš#€&üæâÓô‹­Ë­¯mxÿ?¸\³¿ø‹Ÿü߀#³Ã§Tª7zè,äÈÙ¬ Àÿ´3 „"ý\UüY˹‰‰sqAüÑsÕÅçzëQ÷£G&&&V¨þG€%DZnšÀ‘ƒ- =À.mÕø•d>`ç 4·ÊA@1O ›\5|ÝñdVïsã(!êI§t"¼Ø#››þò;J:¡ :Ê›ˆêéI°+`b)¸O|%¡¢õ™TLUé< Æ‚šŽX`Þ@X]k¶à!ÀTÝéºiÈ×_Xß>Ø -xÂVàמúÄ%Ä­ÿú×îA@½„ ¹h6Pû{¯4Gëfñü ž±€¦¥á•°°¦_šDþYÀ{ïøØ#_\€žŠíMÿ¿{€€þö;Œþíæ@ÇÎìNý¸€õuÉétüKìT€M ‰ÀVö˜8BlA¬l(!•HÀŸô0å–™`¦…ú_…€UÝ%e?qf¢¸ô•ÿTñ«@S*þ/¸ÙênÿløïþǨÔPõ®?.ÈèƒæŸ0j€ eù?¦÷Ü2àAÿï–òÞÉ&þiTúëIC‡€Ð_4[þÁâèhÑï -*1ÊBLÀ@<ˆ&çA–¾~7}jáuá -ÐõJ×ýûïÝX@f¶þ¥»S‘ö™{š?–û¦/ùNýÿFý@GÇ£&ìøqìê›­µ;÷ZG¦ÖöèX\š]ZZbù“0î/™o‚4ôH píìüèúeüÉOþôóç€ïÇ¥g£Dç&"!+ÛÐY -#ežÊy÷¨Qí÷O P]é À¶‹ž½CoÑåÑ[Ø\Á"àijiÉ·À HÀŸƒ?–êùv¯>€„ÿª=%Qióÿ8ÖðY:ÊÕlVw:U•óÎ29iz È •÷ˆ8!Ž¾È©@þ£òŸ„';òisSF"JÔí «*|èª €6\âµf` ÓÑÈbàPSà¶«¹ð8þ¯~‚5À:¬àÁ‚9_ ÀŒ¨£ÀÏM€îâðœ+s·žŠêŠü.cO=Ї‰'õà‚ êip§4þ~- €vYDÁ%¹ø?Ïð_5 "M5æ)‘ŽîŽL£€$ h½\üßio:M‚ÿ?‚ -ú¬")x` €Ï¢ÿ’`Œ ?˜þÁ“è/ËÿYï§ÊÎ0ªw©üǪ¿3Œg8¢þXKãœ÷°uz<˜ýPåOÁ~@˜þøcXü÷Á„ëå?@” †Æ?Ýú16àEîûãJå?YdÅ®ù龟}€y€_zFIÀ?êô@8HÁ 0"à.@˜Ð¿XWÅ ÀÃZÀà AÌ^gkÀks÷ïß÷¾wßë}möûÈŒúþÀl$2C¯Oðû(Š··ÅYÀ„ÿn1;ã@Íc÷Šèœ]úÑçÛ»{k‹k{»ww—ô¦À¬úú›\ ! -\ó€ªÇ¶~´årýן¼ñÁÇöÌñûÜx—*Ž ¡l„Ökc“ò 8$ltFò|Z5Îõ÷Ÿ»ã;_Ÿë~4à‚к‹Ù$+wï®Þå,€ö¶³ ï[ù<ºÿçãWÚ“}ÔžI±TL’ܰ)óç³>K¤;ndu»‡Î ÅMçÁI@?/AC pÑÐw»£n¥gÒQÓûI °™ˆ&èÃMeæÀHMG±@ÿBø¿ÀWãìº*ȯ…«¹™fâ?÷¥™˜f€8€CÀÇí¶·ŸþÅ뼩hx ‰Y@?AˆÈ^G@d7·®˜»ód®˜Ðù,SO3HQî‹ ¥`lA׃iÂt-¦/¨$Í€8àŸñ?n2©Æ/“ßL@ÿ! â^€íÞ}# Ž½õã}Sî”Ó¡"8Gð_q@\ˆäàŒ @J<S`µd㮿ª ™…§± KªÓ+ýnw9J?Õ% +L÷YöÿS‚"Aüp%D À–1´ùpdôŽaæ£A„Â' ð‹íOB÷v²z¹Ð<ðׄàådÖ¬û™ w@Õÿ(à´(ƒ<“(…=\÷_àU@´,.@pÉónñRñÝ`ÁXx³2|íÚ+ '¼³™£Îê^ï÷Ë2o%íÑ‚švDôýÓ€HäQ3Fëø½$gõÁý‹÷êk{‹¿º½¸8Ë `©ôf À¤ûC±³Àú¶kv+ãÚzÿ/~ôoï?'G>¶†‹jÔÖ3Oø @Èê´†0 7lö(Ÿ(¬‘èïÿÙ9K5^-wsÀåâÀ6W‡½Eø¿rׂÀé¹¹<ªÿ–³ÜÿçæÿÜÜüÙ-ñöÈyMwúXÞ“ì©*EzÒˆw”ÏÙ˪nJ’¤Ú¸ŠVhëÑA”‹lHDÑIOŠ8 „búA oÊʦØ€@úí`ìÿgïcÛºÏlAñVÚÚ1 –W¹¼Ë–BE“•@м½$§®ÀrHÄ~zªs7FW²$??i¶½~OÖ.`k9nŠ¢ÄAœ‡—YU4o×fÑm¬™@X{!«…yà9ÆX<¼ -Mj­råêíb¿óý~—¤'Ó7¶ÖÖ—IQ´âÈâ=ç;ßùÎ÷2•³}ìäu€Ç,åx@N$Ô0he1‚7Ì.À)imz±¸- - µ ¨Eäü¬,¸‘A€hlóU -˜Dð 1 xB´ü¥÷_€,ûç÷‰ õ¿/ñ:»%ú^焘> ~l'‡l{ˆçŽRÕwÀôÒô‘¥ñ¶H1Å‹€1¾í‘€t»Ù³É«zšs€;ëú(ëNÙ+h(c)æ^€’ãåH"& Ž‰]ÄJÊÕSZÊuS:Vÿèþ›ºžög (®¡¸¢ì·\ƒÞ"i‹Q5j üÇ•³vç£çyêß4£5`?;ùÍšm›s4þÅøÑz)TxŽU@³ aR=O‚^nÚöšÿí$¢}ØÈ“óˆ¶OÏÛù’üDèsÇÏD9K(=Ã"ŒC‰T÷Ó_ðìYãüYÌœ8óRôÞ8… -+fD@ Xôæ³Ï>{äö³œb0pdnh(97×ÝýPïÆ–þÏ -@l/;ÍòöÌžØÁ{Kl/Üøàoà»wqñÐaaQ2ÁÄÝh‹´D€^i¼ùëw"ü/ÿdôƒkOÀ#PÎdߟ ÐIÊIè4å û¯(~ì(ÃÒ@4Z­Mœ«TKidÙÀÀ¡úÌõRvbâ–§Õ»ÌëÁ`ø_ Ö»BýGl–ìjlÓTƒVØ - ¨æó± _¨j›XüÅÚÓ ÑXü럿࿢Íú_á°‚x-3¨eØÑ&ñãfN€ Ÿ7¯`À€(öºdÛ‚¹00 £Oá¿l´­ØÙþLàý]€ÏKþÌ[=Â+¼-¬.4MÃørcÞb`OCGl$ èÁ>yú;d'¯½ Æ'ì!p"Ü` Àò\I(ãKãÓÓãÄ£D¤ò€ÜT êÿ¦PütüÙ ÓyéÁAÀá¨a%Hå¿h°€ <,—SÌ Púc@ÀÁf@ÅÑ]Ó]ÍÕý -~ƒ±ñ—wa¨†›V\]UU7EV•§¢fÿ™Hó"Ь*ã-!ý3ös1Àbù?Êû2!þ[}&bíjà èØ6ßš‰:á?‘{îÿ ýŸÃ€ªI”(U«§YþÇ@ -ÐþùóX:ˆ\!ÿi—¨J ÚqBâ/ÐÿØÙèYðR’Þø£¾¡§èš<ùÔ7™üh’Àÿ|„¨À_yöM8Ûi½ËîÂÿjjêâ‰NôôôÜîàömâ ?»ý_Пx–¾ ЧN õ=Z$Ûšê™K&—éî¹÷ðóBdx‹áŸéóž ý°C¶¸uqô×|ê콸þ+‚ÿ…_‰&2ø·È€gè•àšp -,^üëÑè¤ùgÿùÖ£ÛOÀC»='Ïd´Âû ë£ù¯„SÊS)-Ò.k)«VϯäF²#¾L"‚\ºÄ.U`¹å»%,€XDõñz°«kf&ßï»5rn‚jÄqœ…êt²šuìþ *€´iWóñX%竚¦«f¨à/èƒ~͸Œ?ÐñçmV÷ÏâÕÿ³~±xÒ?89)F`—bWÀໃ،‚5)W0#ÅQÜ€°<·/ '÷ˆÕuB`€”Q€êÛH@;ü{:Àú¬ø”@ïò­HÓÿ·íÍD¼A±@€,—þY`¿ˆIJ@¦)ûñ›ÀÀ¾ÄÐë¼!®A±˜Ÿ„mŒ(ëÿ§“qâ„þG…yŠã„ °§á±W!+CD8Ð&Ýtoân³ÇŒ˜Šh@™~Ãõ2ðà”ð"ð aúÜá(Aw.]?Výd0íA—@Ô ;Õ"ð7]hêãŴ˳xÚï<·ô1ê= ¡þÃÈwF:M,ÿ±$ò÷¥­3XY¥§ëµD½& -xú×À8Ï·Nw%ú¨V¹úÏ—˜pF |º*šp¯EkÏóê!\Ýó.1ó8¯Ó•ã -ÏŸu_È|U?KGVŽ&Ð÷ÒCoðT æ¹!€cN´Þôt7ÿé›·á ãÙŸÝ~í‚.ÜwüàäÉóÝN|jˆÐ¨/ý¨ÿ?ðfòÍøí݇“ÿ…ÿŸ*ôÿa”v‰ˆl"â*gu¢ÚÙ³.’‹ÏžÇðÌgþˆ† ï¡§úžz8Àë'Ÿ¢û§ž:ù“É ž:ù#‰ñ?jG{zþO ñåu†{>úøhìPßK/EõGýO|÷ö›G.ôL=,þoË:²lˆÈwÅῸöÝ‹wo\¼·Þ»½½û»……»Í(À®|Ðn -è•ø¿è‰oüp”N™ßý×#O€‡?¾rò¥L`òr€NIPÆÔT àw €\PñQ­.¬œ;çÉk4*—<ø]€wVn­r -€ 2ƒ]ÕÐ*¡ÿD£ÒÈf¹qœ*0Q”HDÍ ‘€ ¤ÊÆFÍj>žÍŽøBuÓTUeP/øu†Ò”lІVàu(Wt Ìê ÿœÿó.ñƒÙÉÙÉIl„2@·ïr0 a¤Ótû®‘¾’î‹ÂÒà2öÙa„}|º»;w¡ÑŒ§—ÍuD4WöÊuÂø©0ÀVñöoq `[.¥“üq`ì„×ð&é_“s¯ðôü Ì -îËÀI›`ž~JTðYpMðÌX_âŒÝÇÎÀäPò¨œ<Ÿ>2¾td|:•CýßÝã9*qþŠÿÛæ¸ÐèØìñ€bc3 XÖÿg—䢩1ylt ÀÅÿ1@ŽCÄq±"‹ªþ2Á>›ÿÔ4±-W…ò ]‹f­X#ø¯aî À­qéEÒO7Õ`úCü¦˜€°oñ -@+*¥ÿŠÉÖøfÞNÔéfÍ®ÎÛf;»l¸ÿ– æqK, /çZ¡€Éy»”˜Ÿ·çá¬!? •¿ËŽÄh { Šéó.a¾Þ¡C pÏžÕ_Љ°À¹@Ø|楾7ˆô½‘|ý€$ø¯ €E®CàOLÒíPòÉ!‰÷} ô|¼ÔwF|væ ¯à„H<~äÀ‰ ¦Qïµÿ¡¢bÙ^lïœÐÐâ›bûðáÿü³{{¯]\äóãÝ……¦€€wc6p,3€Ôýñ´0ŒÞè=tìƒÈÖßüo‘ÈàáÛ'ÓÚàäû²’B•Òé¨@*å(ôRµj5^97±âËå&" -˜§$þ_ª úÿªH<Õu}­«>ãó4²ü«ËBˆC@LV!LFëÜ&@V­J«ãÕ_µZ7UÌA) þ®"D 賃†á÷Ïr( ÀžÝ~ˆ@˜¼‰•À<Ì "1ÀŒ~Öâ8@lZž;:Ç -62ìsÝÓ¹în‘ZÃÙu0Ü™ŽM ó.€æB`nìx€Ïív€õ6ðy@.Ü#†ÞÀ–¤±)¹Pfx@dÊ}EûÁ{-\"¶/Ê{â@p"JŠ}ÀGçJG‘¸ÄFÊö€†X¬Øú‹c€x §áá?{¦°PV‘p`‡ÞY)%Åö¿NÅáâ_é §Ð€°ìp(}…Ð_ «Žc8.Úý–c!%Õ³A$ M\¹wÔTyÄOe ¯©2þkb× :@×¾šh@m£Wü›}ëÓ‡¼?DâsÓ²%þ'„úku{Eÿš=_ç+Ë(ÿý«¨÷év¹Ô~TyÍ1€¢ @ðžIUþÑÚy—·A Ð]„?KWý¬›aü×¥>‹FÀgž:C€~õ°/o†`Jê; Tb« ¾p’ëû¾!‰ûoî9Ö8z†WœÃ°û‡¢gØyûˆñ?òVOω¬ ÿ‡!10Ì" 32½}æ»â—‡~è/î.þdû¾±Îrÿxßm¬7 À†üÆÿv§àâµÃ_‰Üûîu/ÒûDxèãg'_ÒÞŸœLA¨$ -@ç"*üE$L€Þ¼õRÞw®1’óå*ܸÔl `…wßZ] 1è:ÕÕÕ5ò岘jÁž sçrÆøt<ŸDC1Õõ`N’–jÕ쪯{xÄ·Z3mB}E÷#"P7\º÷ënƯð>‚ý+aüÙ(LŠe@¼ à¦p`GÀà,‹zæÊÙŒ•Τ… ÏzÕÿ²±á(à ÍšUÜÞàpkïPVév8 -è‘æPÀú+ÛÜ]àÉéà^€˜ /MÝá8À˜ ²ÿX -xe@l˜Ú'ïVÿ¾ž jR,‰¢ @§XÈÿTÿÛÈLò`2~$>~d<‡U€Ý2Páþ§K6&G™…ûo³{@D.‰@`Af´`©A캠êŸ}~°¤þSc„øáÎ2ò€ tâE„üª£ºŽã:EÝQ鱪£QÕ"à‡ï?ªFƒÀ~•ŠS-ÖŠV´hšÑ YC-Ow} Ó¥?&ûqGl'Às¸XÈ2ÙçoÖM8s̵z¤‚’x@iMâ?AürUÀ~¾”¯ -@¾Ô\ ””i€èÌ›e@ˆFŸÇìŸ=_D *<gá ¨A H¿p6“y!s6#hg߀%ð¥tßoàÚÇTà bg†Î !4ê@ßÐK‚ˆ*Ÿ?òA¦9p ÊÆˆóü™ÁñQ¾ž1mà!Zµ«ÿL‰äDð:˜ €õŸ>üëÞ…‹‡FwoÚ]_ÿKÿ»t¥cØØ ìǧé3öð<àÝõ‹½\ŒüOþDx4]¼ü>f‘!(¬Põ-L€DWµíüHwÅ—ÉU*D^k2áxm¢¹ 0?3SGà á#–]ÁᄬŒÀB8~´Z¢“ŽjÍëWÖ…w­iç—bY"ÕzÝTuÇE*ú`À¯]ö»šá‡¿_Á 2‹%éþŒÁˆ?XȈ{ NÎzD€iÕÿ¬@0ؘxö§åVxøì¹îȲðNðz'F 2ÕTšf½¦`ý~ìoëü&~ËoŶ"÷ÕÿÛÒÈF ïžâ¿ŒP^#ŠœÀ>Å[[‘}¬!6Øhû-ÞS ö¶òðùhé(§}œƒ -Ъÿ<ˆÆö„\Ø\$6àíÆRÌ8±OfÆ/‰`Qý/R€ªEvèÏÂ8¦¢ö/—A0@ðï¨Á°.ª.<2ÂôïZhööÍhÑ*bm6$z‚î1|Gõ Å?+ú€~Dú˜¼ú‡ª{ȶˆõµ @ âð;·ÿ|½Z­¯Uçë ¬å’°^,¨b á~>/(öéRu~sóó6§Ø'ÀõÿyL¸ÏGUúLÖùÓì -H£ €›³î ú \Ðx À™—¢/Ñ‘~éå—Ó/AH¿Ñg!¬ðŒØ\Œy¾>zQô%bMpúA4jñ[siÑHj:j¤Ï Ðñ¼›6ÎF±!$ý¥øõh³ÿE â&÷ùèÛâð/ÿúÆ_ú•Ôþ~·Î¨ÿ;Fÿ]âøt迻˶ÀfÄvD[`cw}ëâ{¿þWÛOÀÿ¿}ò¬V˜|_s4)ÑHRN™7k©Ë€îÚÖeä\n¤A`Ûš>@+>L -€þgVÎìOL¬L¬Œ¬LLÿsÝñü²]ž´z=H‡JÍj>7\™ðågŠjqlPõkšª "…:€¿ ¨c$›PüûˆeMØg `’ËÿA œÕoHë†úÏi€ÖëìbãUöGrŒ] ®KÑvà  ØcPé‡[ @®Š|vðAz@ûXÀƒz"Ûþ·Å$ ˜ˆD`&IN`%à•ÛŸÀõZ’sÿû‡ o€¿/ à}Zä'ãÌÆáoéÿ­æ>€=Íþ‡á¡ ÌzäÀ%}*3J9À)®ü;‘µ¥Œ9h÷9—ËahaTWu·L$ % XTM•®Á(ºþøjоhÊ£¬Ñk„ôܨ‰¹?4Q³ú8 Pâ|¬ÛupîKÄÁf.`›Â"X_#ø¯¢ `Rù_­Î‹ñÿ×þ67¸Þg ©  yÚ¶9 ×ãæñù3’h€‹=Äì@/ã®èðãím¤ ÌK`T’.Ø”dè:ú ®z–Ó½”Œ´îW¾  )ÿ#þwOX÷þÁóèÛâ—‡¯ýüÚÅÞo݇ۻòð>eõcƒËþÝAÖYÀC¢ ôÒ{7¶¿÷$äF–rç@rñ|‰OEØ|ÙRéQu)›ðùBkDT…*'CQ4C `æï}EãlT½ •1P@ -a?pÞÿ.”ÿÌè™›™YѼ©ÍÞ$@W#ÊiÀ ´^·K2 6`­5hÜ–S€[­}@Û­…@Ÿ{o  ™üE&æ^ -жÌ’`K„LñR@,Ô6Àw²«+ñjkÆ3†€ÿC„ÿî@Hú¿>”H&í£èÌõ~€`¥ÛKl »?àí¤ç6ó{6ù‚Çк„p` €B¿ÄA ôy³ÿþç üÛÆŽ¬0=æAá4ÐP]§h9jÐU‰ЛD…^ - ±?¸FqS´jB À™PþcrUáÀ¿H´Íº¨õmaùãŒüCÏÕ‰òWÁùתhÔ18/”ÿå*{lÆýj)TÎJ -`ÏÏ'NóÖÀ㉵Dm@"€XGXÃv‚hôyÛ -é&=O¨ #[5<ÈdD2@:ý2AýËéÿ5M,àå´Øy aÿLëú€üg è :}_“ºžq™¬(~ÅÅÝÍÐ'ºn0 / ‚@1?ú¯·äÿH$;œ`Ÿ”öèÍ~P À¯?9ö‹ ¿<ÜöÔ!þ§^µ/ «ÿDZÄ`]ð€…ÞÅ{ëë_¹÷ͽ-OÀC»=Ci‚ÌËce'…¸²N'¬¼)À”(®j«ù|… -ý‘ÜÕó•× à@Xÿ««U9Ø5ZÉV&V|>ß*Á¿ïÖ*±€‘ŸâËyÌÖƒWƒfØ -Zf½äÛÊNŒøB]Å £ ¬FÅ~ÔïGõ+z¡ +ºßÈ þ3Æä¬6[@, !>.ž098‹åÁƒ7oÎÞ$’@/EàÙ—-£ÏŠÚìh·‘˜G–=2ls­öÜüO Oñ èEöH`çóE€–°µ!àA ÖŠÀ·j*±xJŒ#òNÀ˜ðÒÈÆN° ’ -ö'Bÿ$êÿãÈþcç_Âêb@Á?ð-€“h ã $Žç.\;››ä ûÞÄW,8{ èåâm(pîcÙ¥ÃcccHùK•S„óD` ³ñ/¬rs|Pí︪[tÕ"]T“.òE þÍú <@<´dùor’/óÙÂ×gò„Ÿ) Ÿ€4¿ÍÁ@ÿõšEèo›„ýŒþLæë˜¨VÍù–Pb Äâ2ßîLbÀãœP«%kÇÍŽGå2bbè@8ŸvÏHwd\y€Øn¨xA?ûZvgõw!í¯¸r…O[†Õ ®ãu|‘þp”žˆÂ‰À/¿â§Sý¨û~BplWþcš"­ó@¥ÃúRÔÿt*æí?ÿ+>dà âÿúÏýëÞ‹‹ßZø­ïÞÿÙ†€>ÀFÛW™ôÒóÛë‹‘ïþùàQ?{*]˜œ,ŒéŽÈ*w\(à_SRo§47ª›‰üÈD¶2Bå<úù!°ð¯ðñ fá˜é'ü_!ä§'™Aðù–|¹‘Í\Ïf¾dÛWƒu«nƒ„ÿAÓÎç¶*#+«3AÇTŒ€ï[+P\Ž@£д ~F/Ì2àgx@pãp€ƒ9#S€D0h`E_Çp{r9i'ãs\Àb~½™ÀŠ;¿÷І‡/Ò–ùÌB O¥­j àó%úf±ˆŒfc{›‘K9™ &ìô1ö(²Kèâ> D‹,û'úΰ ÐÅ KöP‚ëöœ!y”< •?ª»jF%°O#8áIŠ–RüÌÜ ¡¿ë×5âiWÑÕtZü1+ úÿþ/¦ÿ›;±“Üÿ €ŸÿòÐè½…_ŽþC5)|€»ë ‹¿ƒðSô€ž^ àÅ­ï}ýâÅÑ'à(™{D \ÉGWØÀK W3>_¶R™ÈùF&*·&^ƒpIÈ• -Á¿¯ÚŸ_ ‰@½N ²2‚™€¯Ò@ÿ*½dÉç[9Gp‘£²Â´ƒW­ºjÑ)ΪWó­Ê„oµZ Ëútø1­t% »Ú Îدd -~£€@^ \ÐnbìròÝÁwùg'ofx€S!¤©¨€(ý2òlúú€aËËXf¿4-°Kx×áYËÊ1 ð$ ·¨= °ýŸ;ÐJüœÆß°—-$];íY@SÃÂÀ Æk -™dc'¼}Eû2ðû„þ£j.Še°Œþ6oHÀ˜JbÀÑåÒ\é6Oaü÷FP×wËø?™eÖÓÝÝÓÝC€ÐSH=Ý=ÝžàÀzhÛzJöÿ‘ñë§·V -¿ú+á±0Ìÿ*/ -àò?¬:Šã¿ã€ƒEªóëlúã{.þ»Öî×ÀjâZ bóå7QçC¨Û¸¥{VüåX `Sÿ¶Äÿ™*nf¸P]ã+Ɖˆá?z6ÉÍáÿ‹—Ø -HÏœ¦äé’(ÙµùD“€ø¯„mÄL0˜fèWϫϧ9è9¶ý„<¬pR'P@¿ieT–¤RŽ Ž¢ ÐÝèZÕWñUF*¬  %+>_>ÊïÙ@ `fuÕÇŸ†ò3 ðöç}¾¥‘\n Û_¦3ÑÕºI'8"ÕP<6<±â ©*R5CQY ø'ü×&M  të/k™Â,6þù'ý¼ àf¡ÀÕ~Aþþ›“Þz@F÷ßôë¼€Š jTÑÈçãñÇ?fÿÚ…FsPö„,²· àNsP„¶\;Ÿ;оèÁ -ÀVkp§%ðà0Û0ŠØì¢ À:áýQ¬‘ºF­3‰¾ãè$°øÏ1€IspÌ¡…r$>>íEp¾oVÄ5—ËÆ?̰toJÐ#ÖÆ¬€à?êð»b×Ϙ¢ñ*€D°y â8caXРÏÔrPuÑ(Ãýobv­ˆÂ­‹@¾¥úK°_cÄçæó˜7ëk,òWÙêW%Ì·Mi ¨'þ¹ `Ö9ù—ÈÁ?†ÿªÿtšaèç1€*ýAþ_Î ô‡ù៙œÆv`.€‘ ÞÌ>ú/²÷Ïå¥@Ñh ϱ·àù4Q´P™§9 t þëìB&Înˆ2HÅx•»®#9ª»H -Ö$ö÷¸û½LÅB@a@猚ˆ)H 0¸ -›Š]þ?Tª;—@øÿ"Þò_NþmÈð߬0ùX`÷Foïèáÿó=º»A7ÿ¸%ú“P¶¿ò­§=÷Üàá€ô ¦\±²'¤€ãŠÀàFÕjÞ×!@Õ¾o  Ù¨L¬¬®øVA„€!€úÌê­þÕú4êgo@h5Zõ­øVrÝÓùx¢ãÕz=€ù%xWgÖ複ê? é†¦ ðO#G,0è}ã€~¿´Ÿ¥‚Rvý'ß-x¹$!ˆ€wõw!p°×ÎNæ± hzû€vyáµò ú›@Ö³¶öH m+Ð|*'øïþ2¸÷/¹XjD?˜LyTžø/€ýÎÕtÿÄÅbgAŸÝÇØosÀr’êÿ’ÀÿøxüÈ‘iñäIÏLÑÜØÓ2þmvoÞ†@laY€=R8 çºhTZlèž×ÿ¢¹†eÀe¶t*åΰ¢”S¸ — öU8`üÇô±XÄŒ ëöæZ}Í ¢d¯×…ì/•© à‰œ{kŒüu1¾ó%> Š|6ýAð_# -0Ï@ÞñS]ƒЮ¢þ'@w€ÿ¾b÷mWe¿,jº$óÕd)žÿ¾ÈÂ` ‹ç“óId|sø†žÐ:Pt9ðybFçŸg? ž®òw@ÿ—V=]s¿Jl_Ón²p…ŸÞÄWŒ+†A„" -ûû5& œ+ØhÉö?.øý€2æWx§2?y€þHYU ·l¸·Ô—Õ÷¬ÇÄšðOïó,ô¾idâ40p ëÿõÞÑ££‡¿~ -øÝ{ù½î.ÞX|úС'àáÿ2y-€Ï(c -€NXøP80Õ¡¸tÉŸÃJŸ‰ÊˆïÖÈ-)¼¶·wé5"#«ùÕ~Âÿ~áà£uŽ@\}3ý3üÅÕªb¹¥|¾ºLg3«n‹V5¿ÉNÜZ £cŠö¿÷”N%¿æ7¨0Þ ñk†¦¡ cç†n -P@ M€Yÿ vÛér…]€iž´m,ð\Ž//qp®Ñ”®ÅŒÝºl! p«eØnKîÝþôfàÏñ<8 H¦·Rv¶[;e`ê›ðÁªDV`¥7ÛŸ)Àßc¡+¶ºŸ!üÇ–˜>”sÀÿâÖûä@iî($€ñ#ÿb ×TÄIìDk `÷Àm"ôуòÿlj.€Ø4u0 Ö󩮎î´×HˆG½ËðÃŽƒ%L¹UÕ)cV ÃÃLpé"L¯›ÕzÓößšðºþDæëv^~ ôC篣Á¿Æ%þ¼iÎ×çÅf?|pЯHùc@¨oÏÐ-`&TªÊ™ÞXjFþ/7ÕYÿÇ¿Ïw§K%$€u _ššˆ%Œò$@”w -KðÿtB€¢¾¥%ßÊÒÀ@.—_ÙTÐØf0jÖóç†+¾™p8¬ê¼ÕÄ<ÝðkXþ§ù  š2øwF›¤O -™Âä,hª~¢ -X8)ÆD€ñߟ1tC— -€…8ûä2GÆ©~– -@ƒíödÒ¾ÐÿÅ6 w÷5íTà~Ђÿíϱb¼ ‰ýìMA†9 -xëΖ¨øàÈžð"ÂNðßm_‚£æq35£Q³¯–®IGà-RðcC `8ò1/T–€FwÏ@[žBsÄÿÛ›†ö{ó‚È ì -À‰kwŠ–i×àݾx¥xÀQÊŒübàøg‹ ÃÕ2ð‰î9üÏ ªÁ"b2Ïøô¯7E!˜Â°fÖïôBB~S}¬éÃ×o¢@Ì€orÈï|.ÿµª<à€v=Äð/zͯmXføÏ—â’Ĺp4žÏË €di>‘ä€!\0hÕêSå¯äkø 'á(rÙ - ã --_ùª¢¸! ÿ_ÈéG O˜x ÃxO}ê½¢ú]¿Æ.á¨% CÄNX~M‡¬¢  Ï„ÿ®‚,S(è(ÐWˆÐ6hàj±òøX|büßÓÿ³ýFæ­$È\`ýÚáO~~íçÏÝXè]\¸»ûiàÿOä‹££¿}î¹OvŸ€‡õü Í@OñùJ(.)a@Ø@–_óAÿç‰ÿ )T`œà ÀÕ~ªðóŒþ†¨ìõ‡|ý¾~Aª0øB¡j(ŸÏÈ5²¹¥üŒÆu.qªùF¤21’ŸÁh”?`°ýÀýáû´3þß7XçS­ó<¿  ?¸[«ÞØòK3ò£jâ?‡ÿVç¥þ/fÿôóì@P<žÿ~\0€Ä¼}:õÁØ8ˆôa‚z›ã Qøø¼ÈE€+‹ÿ¨ú:[õ;à6Ö:Rþº–~§ó¸Ï•+ÿ¾l¼÷žú¢¡¦é¤€ft}¢ ø£~1ú0ttÿÙÀØïHñ…Ê])»*¡?~¬PxȪúØ:˜Ÿ €s“oùãÿúè_\;|øÚaüÜ{ nsÖÏx,Œ>whôرcO€‡nœLk—'ßÇÇIü;ÎS*þ±€Þ–tÆx_© ­gÂÇ@¥r)[à[ZͯúcæO ?ÿùþ[Üè -! FBß*4€\#ÖÈ-…–ë¡«p"YõêRv˜¾QÿL8œR¹C -@óûÇ4l¤€ -üÉŒV(…zþAm®¿2ß-Üô#*€v `Tg €´ž†/»NOˆXÎÇ—Å6± À›ÈÞËvyp¤Õh.hîüÜTàõ¶ˆÀí P(‘m©p `g«%lŤ 0;ËòªbaO@ àþÄ }›0Í(±K¤X„þ¼ - Áð?„- -°Âˆ6\hîìÉ~:HLÜnÀ°)zÂxЧġ(¢ ÍVš16bá–V˜„y.‡PUØïU'¬Ñòì_Ýì ëÏ7;€ÿÜuhóBµ¯Wç=üƧ!äŒô°øÛõ¨ÖÛì~â¤{ ’=þÖ €?ž§ê•œi@þ¨0&K<[HŠ; Ðô' - P£Ehÿ.£?œ®«às7(å;ègbtÕ4=Cos¢îˆýÒ_4Þ# -@w†Ÿ#B­CÑðKDÀïrÿ_LþûSJ ¥@GptGZ£¬å²NÈÏðꟘ;-‚ƒD< Á?€Ís›Ý"‘oœýŽXíýäØáQü}QÙ¿ð2€Cß%:1ú„<äñÁÉ3²0æ¤xN BªÄѧFÑ$ð®T&.Á8âc@࿇ ‰¥Uv - à‡ÿ™`ê@×ktÊùò>※‰äBy”*6Îc%߀‘þ5lG'ÌOùyP1Œ8Á¼¦LjZA1&ý:½Bl`63;9‰ €=9‰ÝÚM„ú½úß=ÉAH±ú,J)iýóTÀɉmÀËvïH €×Øi³üAs÷- |Ð€Šøm¯À߆)€LÂ:Œ4=€"H¬d°?À“Þ'k[l Z*A°çJ'“T z9ÀGƧ Ðy‡û5Z@V†õ@÷Øn@–Zke`jý`¼@ó§0ýe?\ô«øEç^Ü€abÿW¨F6€ æ@ݬ‰ád ûô9pÜ”e~] ð tG¶¯ê->Po¿o*ó3Þ«BU&¡šuÕ<±û//dÿjÞóÿÇÅ(@)'§;Þˆßû4 ¥›„kX+r° Ì\Ñ@–¯ÑA\©C¡‹–ÂÖ¡éxãûýšñbæŠÿŠò"7®èôvVü.\€ŠŽ¸Pt 5ªñ5CÌâÜ¥ÉñKÇ€=°¬ÐOÕQË¢úç €÷‚¦eYÁÇ H0,À@¥1ÑèÎÁÓð$€ƒünX\¼vè—ÇF1Æÿîý·Çž¾6::ºø„<´pF¼\€eA%89¥ú¿Ã=W)šÕvT*·Fnõ¯ÞòüOLø|ˆaæ_X>d@`ÕG5}W—X ˜Ï‡¸ÿ®±rn¥1Üh¬äó|þ¡£š‰ìU&|¡™p -DÞÑ5ú«h~%Ðü?g Â0é×ö˜˜$Ð÷ŠŸçý -“N–½fôr(h%êë­ÄÕ„ýº©&(KG>Îå.4Ø’†7_6&“8‡c ÿß6ô½8€¶0 /Êz`ÒÂŽì'xcÛÞ l ‹0@™žõLS¸o -K¦Eà_3ò€ý!À6,˘!ñéÆ(sBѸ/@z¨ü§ëÀ·»{º/\¸ Ò€z¼e@±‹Sû:ÅûåVØMƒ< Nnù…ýœ À|»Œ/PV¨ µ0P„ú_ òÚ?üÄ”qI ¶n~à|%½‰ñõj›àߦHuàA_—OÍ ÿ@ØÏl€OUà|Õÿ+Éú_–ÿôÜQ/À¶çO³ ÀÂÈeQdb‘ (x€êb×& `ÀÕ\½?¤§ƒˆ?Ê{MÏ(ƒ¿68›ñû¯ø ÿߣúŸðÛo(~HÿzJw±,ŒÃB5U`¿Ÿ]KòƒèlR6Øø×<,ÿ‰^ÙÇ êÿ7²ï##ü'M$ ç ãooïáOžûdt¡ü£…kO_ëí]|Bx¡P¸€qIÀ¨U7%ÆRØPZ¬æ}Œÿ>Büþþ~ᘙð­Üòåï¡ßpp•€8äûW'úCÅ® ÙU¯ýs¹•JöR6[i IJ+Kùüò‡uQ¸ør‚tu¦”`j~bŠß?–Ë”5"þÑÔàœÔ© Àï ø ÌçÁBÈÀ1` ¥F£}–Íç¸ÄSìMê-ƒY~oæD¼,Áv"­)À/–¼€ŸÅ¤¦ Ó…Å£í– Â9S¢ãGìxgà„èN௷? -@’dj ^!gY¨âp$ûèŠ d,ÍÅçæýç–Æ/äøÇ—ãz¾Í݃ŠfO÷ftý£Æ¹à…‚ôˆe±Ø~bô˜ÿïßÓ‡èý+rÀÀ°Œ•,PàPø iÚ,v™ÁZWËò_]cÂ,Å{Èùuo`¯Z£|ž - õn½‰ù¾&äÏ´daõouš_)UCÜ8œïªèùÓ'q¾ò™€hÄéRE kl&z6¢ˆkÄ0uÙX«¹€ÿbùSBˆê’ rï@€OêO°ÿ ï_bðºþ"½ó¯ï•á -Ô1ݯñ  âê):-hº«ˆ9Ø]¥ìÒ ¦G1@ £\VËeéRåÄõ1Eqù ÀÞÞ1€Mb¢Јì꟎½£qíéc„Ù‹ ÈØ}(`aôék£‹OÀC='û´ÁË“È΀ì/¬Ë˜pR0`1éZ~„@?gûÝòŒ¬LÜZáNüýMÿÎTáÈ÷ûVoõÏÌœ*vÍÔCù¥Æ¹ÊžXœ­d‡³_”v¤‘,BÆ·›·†e$çÿ!h@,*žÂ_náfñY^+ƒ©n:™ŸÆ R)™»Ê¨. ~-|¯3|Ëa~Žö Õg<_Hr€Ð}­ùJÏ—Bà±üH`d˜ÎTþWºWºÏÁ8pàÑŸŽÑÞÞÞQ"Øó³µ~ ¼ãwWp/¤»½ßúä‰ðŽ‹'Ïd -…Ë~g -Q@èþ‹@T(N±6“ÏŒø|#>õé_% -°âÁŠ‘ð#; ¸þ¦ÀÕÕþ™ëõbWjüú­û/‡³1"¹¥ßÄóËËÕeª3|ô€üuç}ÈOä_g¯we…îˆøy¡¾žDv!<“\ïk¬°êßœ 'uª üšndØhY¼-‰¦xs`Î3z›µ™üÒØ(vµ+ŽhÚxØ€œm¹v "z„õ'šÙ?'²DNÄž"!ì¦Ma߯~˜¨\ÇÞnöMð à\2?:7ÿøÈ¨'ÓŒç2 ¨åhYz6º/ôlvß–0 àQ²b»ñ¾Áóî<ñN hÀ—åÀ{«,†Ó9òBqx €CUkYu,€” ²ùßìì£Ý_71¹‡ÚŸ®3ž„oßWч$ 4÷¬ýôºrÕÐŒH÷Á ,9MÓ½e`¢Ïã€H_KìöË‹šßÿþÒ÷™ÈqÆþ¼dXÄI¦mö™ØP|Ü’>@÷|ÃŨ‹5­CòCðw]£ÃExO‡д T`Pc@oj8À¬?h†ž! i<#,³4”ûH Aïß1T‚tÿ‰-”áTŒ²'þyõHQ€õÇI P!´Bà¿Ò-³H> ü¿qí—‡7 ·xåŸÿ¼`wcwK€À -Ö1'ÀiAtóàÑ€Þ§G{G{Ÿ€‡=>8Ù§—5—EÆÙ³doÁµ|ÎÉ•q€ •—üüW‘óãQ9óWèê -éD–_êÎF¼ ìá=â¿ÆšÕeXŽF L¬öwA& ¤4K€8Ä_ è×þÀ,|TæOú …+…A-ÿÙ ²àçK¡ ¡Ÿ¾ exÀ@¨¸j€ð”•ÿ¨^>^:²4-Æ$xAˆñàÖ”ŒäÝníjKjSîƒý?LXßf@´¶w¤±@Ìly6¹èŽçdvÂ‹Š§ö'Àžçͱ0˜Q¢¨æPÏ%§KCvi@inn9.§rØ¥Ì1 ¥¸_h lòÚÈÿD0.xáS&@^n¼€ùßüìýˆ×…ïjçKó¾Vx%`˜Ñ?E÷ .b‚¢Feë_Ðd{?¼~èûc¢¯Î=þ™¶úÝz þ%îß7ËüV9â&3­ ¿™û]ž ߊ¿×÷^€!Ÿn–è ´R^ŒBø>~5ÄwL‰šÝW«Ñïdÿ¨ÅÃÒö@Áµƒû -Õü)DÀý§Ñû? ¥ ãÅÿ}Ù0ÞC& 24ìý14CQ2.–ÿ€”9ÇK€ñ¨\&Pæ@ÕPÃX:¤âßµ½j^íz\ÿú ÿ[Ã*& þ7^AðÁ'‹7zo{î€ÑÑÅE,úõÀ§jþÝ…{ëè´=}w÷ÓÚÀÆÂµ;|­·÷ xÈãÄú2Zár ìŒ¥:Eñ/ Tü§:éN]«ç}9B|:Ìôÿ 0€Õ~"~źŸ<þý¦Ty\?ì2ëÕÜ@¤Eèš­l" PH‹«#‘á×àÇÊô†vé=@?‚ýZÙïg+ î§÷þà$»®!ù¯€^þÄ:àB³ôçª!3ˆ!é0 Qÿ'ìRÕÆ©l M¸Ø¼޽œÄö ð?Åè¿‘“€^/ð½|n"àç˜éi^2 Ú Bˆ4ç¶"²ýpGR€Ö0ˆùÄ}ø%0M¹3S€T¼%ç93–ƒ`†pvOÎ%Kñ¹r€Y:’›žîÛyp÷}øOð úý7饈 ]€F·pߦž_xû…üì-¶alGèŸóËCˆ„yG°S¦âßá[Uÿ°ü7(Óÿð¾áú @õª^o_~­ ( ÀSfš‡àmn€:tv„q°$¿a^|zÐ})$ÞŸ¢Ý÷LÜG—üR<ïc€ùöÅ@ÉÒiú˜/%ñ.KXvÑp£üj‘Ä( rÿ;ô”žÒÜólÈ ~§ ×þ0 Àp(¿‚AÀ+–ee®¨¨ýˆÄT,V9ñÏÑÃ(üŽ_tË.2Ñýç¹ -ôþƒ„þÁ Ç)-?¶úmÞƒpÝ^àÁÇÿÅÞE€…… ô)q€Ýÿ@ûK{?÷ÝC££O¶><øA_& "ý¯ÓëKS*uŠª)ÂÂE¶ï3!} ÷ùþüªŒbÌÿpfFŠýP®wÍÔóä,ÖÀö "qæq_Œ`âV½3¥hï+ƒïJ`€².€ÀXF Æ…IÂXÐà(@ö/ÌBû‡B™åâmÖ/² ìB@XmœÐ>ÎKüo®±Èîa·è´K  •àu¤e¯©ýï´»˜ -ð @d«ÙKØñ¦ "¬x.b!wbÞÜ_³@øEû‚eªXOῚà ò0s.¶¹º›;œ#üçýèÆ—ä" FK˜"ߟ©”Ü´y»›cDþ/XV·£°_¸üwo¿}ù…¯þ ƼS*¯Û_¦½aJÊQŬZ§ã„p0lªA¦óƒÔŸª¬ýí–ÉÏ êË7»ø€lì&ú{ä¡6c¨Ú/'üÛ¾M½~Ÿ`@ß)„é‚þª$çqQ÷³óo  ?ÎÀ<ç@@$P)9¬H€@@ cÌÿ&©ú·Šô J×uD p*_Uˆ ¤t·#ÕÐ×·/Óýe¦pÿ°P¦òÿ=õeÕ02†¥é† ‹?dôú]Õ(#u©ì:a½ÕqËzÛÊRúW™V]¥­]7¯>¾_„mnÄöÔ¨œãàžl6v €¼ÀÅÞc‡/ÜE`q¡-€éØå=€mz¯ý½‹õ»ò‹»MÅ`÷ØáÑcß½6ú„<¼`è-p¹à„áP:¹Àn@'Ì ì —Ì\[C±9èOÏ·ÐÿÑ -ø€œH>ä¯Ï<3óÌ3§º®›õ¥áˆ×g­4r9ß’}&¾þ`gù^ -¨¿›)Pý_ ˆWˆÒ -ìþ/û5Hàž¡à•þÄ äüba!àA@à¿a©V¢P9›ä“×R|‰À4†``Ï6-Ãhþ‹Û-¹¸¹h»9½×æüâDÀ¬BA‘  Iä€4ˆ$‚ØöꟀañ×Ú a!ÃUµk& ¥ô³ª&K@”xX°ÌAÀKãTÿÃ(МÓ}=ßA€Ð¿Ù}»G ?¦™ð@wC2€}òüþòÛ/üÉ·ÿèíÿ6ûä1|±Ùþ2q*XáÄ"@¥ˆäUfþŠá÷ý¶=!Oøçn½7º'–Câ Ù(5«ÿ|K -@÷ à./{ „þ\ý7ø’!ßGÿô¬Ä—JBàQ€xþh ù§‘³mW“6Õÿ‰($‹@Ô-b`Qå䟢ÞÌHÁ¨#þ*ÍÕ" ½ -¤„à×ÞG€Ðüå õžeY†¡d0Þ§¢¾çý~¼9<åï¹Ö«HþwÊnÙ)KçŸZ¦JÀݬ?ÆtÏÝ«T*¼€7ŠùãÿXz?9tm‘;8Ðð€¬ïw?·ôÿ”Mpá[½ ½_?vøððð€!ÌÛUÅ@j @fábg2@X-©ïËe#—²Ü€3zö•ðžçùD@¾õ>Uô¼Ð/¢þ …‚°ýùg¹ä̰[PL ŠÑ´® /B·KËy$-MŠq‡@âžðÙ‰€X+ èþ0ÀHS¸oïýNÀ΀ÈðßÓd@s¼c8æ<À#€lØÙ@Âòƒ$0¿ ìG¬ Ñ¡î&ãBÿŸ!Ó9޼p€íúþ¿"XØé¿Í Ót×ííð’€b'ö+è'—/w|ûŸ=û¿òÖ+ß&b_À{€Ô1G R [T=âÌ?ç# }!yÍ7…ÿeTø¨Ó«¼†SÈö­öð">‘sAfBžM $½ƒ3ÕöA€¦ ¨ÔÂ~©üûäèßR\6Ä8`^ŽÆKÉùÓœˆßÂ~+z&*¢€° ˆˆ%R€ŠQ–TÕu°Ô¦£Ö?ÌþCõ€Ÿ÷¦ÀïNSÊJÙü_¥ò‹ªåW£Äêyc˜jàâè -‡ý#K‘`¿ì¨†˜©¢ü'Jk™"J‘~¦óŸ|[t†³{Ä@x0Ã?Ïè@ïèèè'˜Ý§k/à‡¸ÛØ•>@y/¯»ww™ìÞc‰ ý»þpqañ›O¢€Á1urˆêîËÇQ:ÙpRœ ìÃ_Ô0ö“‰tÍüïM`FìùɇD@ŽTC⫺®wÃæÒ€Ð_=0CÆÒR~)î[òMd#ïe'nÍÔ;®‚ P·ËòÐ|lP{x^(è° þÖM¸ù·€(hWÀØ:4ÈíBE×h(€)rJ|î_â ›nσ+Åxoj8²%ç[Ûš=O¹ßù´ à«?ëXÇ·ô²€e $n8}€¦`*Ö ØŸ€î?ªMá4çm{vé(áÿQÿsñ§sG>¦òßK÷mˆ@ÏÀs€$ `ÿ»0— ïÂdÃþ˜·;.¿ýí¿ûÉŸ<õ£¯þà;o½òŠèÈå ^ÒðxúJ´ì(–£¨nØáí?uNý“…¿¼ -Í^VírNOÜq'H`Ê}¨i ¬ÊÚ¿ÊïOé#~ü’zµíÛ - /ønL-º3ìû¨ô—2@\¸Ew ŽòŸ]§—KCý§í$X¶É;%,vÿÁþOLBˆ:°¸°ê„ü®ö6j}¦©LJStE:ß§ªäýþ‘àP¿zÕR-C€~P§g• Á¾î@  c9¬ºù/«¼YѲ0ïfU¢úGŒÂãýßø¿@%Û¨ úh*Ârt` ÀÂâÝ_]{úoG‰Ü -À"€dbÀؽ‡¯¬ã«ë»CØÝ½»øÜs‹‹½ß<ôÜ'OÀ#h¤é=wÙQ1ÐÉ—K:‰P;ápØÁ=D€®S]¼áÏ;pVþspÓ(zÏÌÌ<ÓõÌ©ëN°‰Q¬íæ2ìl¶‘Ë-­Òiei©1Ùc V”I ó<Ú >ɳ€Àu¡þC È  Ò­V Ì×Z"³ƒÌ DýïgêÀ©!t¨j”ðŸÇ’vžÏ`˜È] õ?&íö¸ÜÞjy¶Ú†¼•};­4 ÈgPÿ^€vÄ6 ϸÝfø¿`j¸iÛ¥ p€DÊ<"¬5ÛÜì2]Kó6•ÿȦ"oçû#ñø‘Ü4ö( ,g `û€hðN¸-Jÿé Ó|͵ÖðvãýAâÓçÝŽ·Ïÿ³oÿéÿóÂñsî¹Õ¹iXÿ²ôÐpƒ¶dì79Æ×nÃY¹ @êCÝ/1ô·•ê¥à!å3ù¦dúèÿ‡BßIG@Ó'Øœhf "Á©¿,ùûç—r>0u¶äÅ8 ¬ÿÙ#ˆ<ÀüñÄÓÉ*lHD­¾(€ @ͤâß*6ÇÿTÞ ñý óg:¼I84A -Zʯ¥‰Ã‡‘àsõêUÛºä0ÿ—-Øû ®ŠU¬²S†ãOõvþ(ˆü òk-+®šWù‡ûûÇMD -PöRë¡>îÅxöX”UXXèý]ïןåòŸþ‚´d€Ýxw×y6pwqawqñW »wGŸ¾¶°xíŸ<ýÜ“uÀ}lÐR‚£Rùï*ó2`à.²  ˆb‘³}q%6=3SÇ)iÕÛÜß"ž¡ Mß°t`µ·r9†ÿ¥\%ÙCÐLÞù—5ý2âþèÌàÿ4¤ÂÒ¯ø^d€@^+L¢#(°7 ÃÃ~ô ´Y\t€ÿ¬VЕ¨®¦UËŒöÙWáDp|iz‰çA€`O°p1àm”=€È}ðß -ñÙns´?ø| Ƕ½íB;RPð\B{àn»0%n¦8C`,\÷#¾%Mb­ë<só°v •Js„ÿG—9#€â²Ùr4Zªü=,`U‚Ü…éî 9Œò€´ î[ÀéÓóÿu(ÀÙgÿä§?ýÆ??ÿãsÙllg×)úAOEÞù‘ˆa5^ÿÃýú­Ê€ÿª\Ï#[ÿÞMHhõBûÏ{7LòÒ÷d‚™üLó›T›>Á6 “‹P¾Ä¤A~79û?¾üg/ ¤ŸdùøQÞ -Ä“GÅ<@²Z²}ú¬3Ñ35âÝ5¢ÞX2M Š[ÕpG—,@Gì/¶÷t ü¾? ök—)0üÔàåfýéLÄóûõ«Ëõ‰X\}ðöY@|#¨s| K~ˆ„9í×Âà¿4‘ž\ýÿÇý¯½-R€°H=[id³bØŸÅçžaɶ$ 1äÿêŸî½Án@AXÀfOeЯ2þI®îYß×Ê™@Æ?H°Ïè z­¼‚aÀ‹ÿ™‰? 5TÏ® Ê €Ò²1—rçš æàbò^†Û:bÐNk0ÒæþÛyðüÿÎ?¨ˆ]@ò…m€°LÝif°Ðܰ -@3çÑü§GÈ´íy‚[Œw!ïÎ÷ÂÀ{9 ˜êy6ýyAÀ‚lòþŸÍÛ›Øxm\ÿC5˜–À@vƦöe›÷«?þñéãÏw|ç;ß9þÓ·ÿå??ÿՎ㯾uîÜ[±áwbS‘õÈð;[œôå8ÓŽ).˜4eدm·¥üI @Y¢|¡=ägÝÞëß{V>aæcXïg%€>oÖþ¡f$ x – ^]-à[ù„Í/.Ê1°4¾‡´Æã"è¨Ä¬¤£¯/J š®1ò[jT¥{W-Féf@¢VúêýZ½eaÀŸÁT @ ÏÞ`µ/oö¡Rß¼j™Wím›@}QiðwyÒÏa£0@¢ ` WÍ.ú‰ZÂðÈýˆþ±¹áUÀœŠÎ¨ØA&íFÛ;“\\¸qíéOˆÜ€€ë¢¼6=ÿùcA*Tý/ ïG¼ôìc‡éå‡ÿÇïþí“ÀÀ7O¦3špÂg“”åÞ è0€¹†m€¸í -vuÕùÒÅVåÐrµú!ë3"PTÿ3]Ït ˜¹¬ç‡#²+$0D6ºsØ€åÀD²•‰þ™”öÏ=€AŒü#Ú_ÓPÿÃáϱ`°ükTû+…Yz.@ðŸñ³ €ÀLxgEàEš-C…&€’ms¤éÒÒ‘Üx.‡úUŒ°gy ÐpLØïšË¼…@mûmϸó€ý€ÿ`€Ç¶=9aÛ“vš.@ü×ÙÐÚ è)[Sôõ}8?„ÿ5Sµì—B@Â,%l†ÿ$ %ÎÀ1ž €†hþÔþ¸ lŠèŸiaÿÙrP7/¸¸?ÃOo{õÕWOŸ>ýãsúrÇG?ýöÛç¿öïˆd_}ëü#²Îú’ŒXnQ Ö`à…½Ë€ÿ|µî)ÿÜèï熵¿É|c€tÑ1ày@Oÿ Ïc„ùPÛ@ñEý_½…¸O¶ü ÷—šwÌ„ 0/öÇ—KخőÀù*¢mžöcØ/(@Ôåí®á˜t5zJCõÑ?EÄùúÿ¼ <…|ÿ”¦pimÄ^^þpÙ¸ -`â× òöƒj9H7êÿ´ÿ ½Ð´ºèâõaìÛÌ5Bg¿½KÙ=|Tˆ4²¬TDÏQø" 1€ÿð‡[˜ü‹c±÷>-@¤sC€ÇþD“èϩȀÐ{èðÞŧÿïï~óÐðÀYÌá„Êә"€^„A@´ŠÄРkø:¢JƒÿõÏV[¯_åíåÁëA±û.‚ÿXNTx -{{ÝËÎfÝ+9Øðr#-8)#”Wö'5=3 ý"ü€hë¼’ŸQðŸ!@ì`Ö§gyf@ üƒd˜¤uCW½1€í’h!öÁv™pb!€w»Ãôò¶ -R¾åÁ¿X ìå÷?8hû&÷» Úvò.Â)þ»på¿%5€)6'ìKp)Y3mÓ´! aŠÓxÉN² àhé(â߯ÇјÏó`ÃË”[•ùÚ³¹É1€œ@DLOóèà9:(€ý!„ð—Þúþw^ý«£ßé¸üöÛoÿô§?ùÆÏÿiÇóOÄà­ï¿{娖<Í~)€£Ê•U›ù.ËÒ<ïyý€ûý Î -õôï;€þÒ2 ëúæ| ÌȇZq^¢˜Ì·„†<{ÿYî÷y“³ã¾¥%Ï0Î6@Â|æ‡ü±\Z†ðõ>z³õEáÿ‡ø_ -ÉŸà_×Ð9>:›ÿäþùS˜éO¡è# Æ8çå¿«”!ç›W?¬Ú./ÛW¯b–ß´‚W±º2hªk•&jئV,^øó‘…ºùpõV 1?:&À×*{Yáh dÙ‚, Ÿf `±÷ë‡z7nøor€Þ¦€P€ `>aüâî®h  X£‚ ë»ôš |qñéÃô§¾÷Ãï}oý xèãgɳº¨N'|ÜHéœ8Æ»D €úÅ0â}ƒA!ðNÒ«°Ü†Ãtü6Üyýzÿ„ý§Ð Ïó )pýÎÇà࣑ 01Ñ_'æA§ƒAd|#ÿG›äõ>ƒÖõÅ$jœÿSc7 L,üã+Âüï÷#½&ðsꉆ= =ÍÀÑ€ˆa% Ýy>@o2qgváý·j °9ÑužêÿDItâ¥å£¢ú'€ ™ ‡(½8Eöþ70°‰k÷¦ÿ7ú¬tƒ\hˆmÌö‡à×-’ýûŽÓ¯üÕóÇ¿šzû£Ÿþôíè7žÿè£?ýûçŸûïÿÃ[ÿ”jJžÕ¿Àõ-*\p¼,wòÉŽ>PŸoúWÁVW?ýÛ,¡ªÿr@ ú‹´_91È „òUiþ¯Ê©>xFG -bñ¿\iÀü%± `¹„€2y,žÄN`Äü£é4´8p‚õŒ?¥‰ \€)ÅÕx!Œ2‚}5Móc-ç$9J¹He½i™õ‰-ç—óի˦}U˜V­(¶À €Ž?æý‚̰ïWä*Ð|ù¿riøÑ¥Hmý÷x -PN° 0{gžØ9.€Å£½ 7}“ªø…ÚÀ¿÷3RÀÂ.`žåù©ü{-|ñÆ·®Ñƒo~÷‡?|BþèI¦AÃUÇQ¡ú#¤œ€Tš&öÐåz1F ‹M€°×˜]Aµsl¬ó·¿ýmç©ßÒÑùÛS„þÏœzæTשë]ÁÐ-9ˆ%Fñ_éø¿yS¡z§Â@ -.Oñg0L¸¯pØ‚ -ƒì À`€*~Œip*Ä8X£û+X’ñῪŸ'xpY¬4å)€f01€XV¢,$€á©­áf€7°Ó¶¸5¸³-z6úéG]þ裿üêÛÇÿôkõýÿðÊRy*ÀcÛ¯ð21£fsQŽõX|Lj-A]*€¾¬ÞWñKÔö^Ý4È@(jRà=‹ü-`^Ž´û x@7ÐóCDgƒ øÆéáÛób @î"Š–¸\µy¿GD(­Z-Èÿh”ê~‚ÿŒÂr€ï@x/¶"‡Ãͧþ~Þ퇩~Tö„ÿ ËÃòñåeûC{lÉ$p/fþQõ«â)‚~ûj]\júß÷Úpä‘A*pV$lÐ::HPö»ÅÑÞÞ……ý£|ìÆÞ¡æ÷âct´ þÛÔéèåW‰W/²þÏ`î¾…,¡?ÿã?û³'àá[Ï&ÏfR ábJA‘rC¤Ê9@þ…ÐU—ÇÕ`8x½Ü_'Ü?u½ó·ïÓàÕÿׯw…|Y&Ñb0›ï -@w£1¼=|i﵉‰þ®”⿌5ŸeÀÿ èùkÛþØïKÅ~  °$hÒïW -Ú,w -³° ú±˜žõ—?FüºßÐu#Mˆe[t¡³“Pâhä6s˜1€<ÐØÚºÏØ}o`{ÛËók%ûÞ/|ž ÷3¡hnQÀ‘ˆ?ZSïot÷Ñ×\´E-{Ül‘çàé’€Ù€ó»TÈC2°{ Ñíy1ಀ €Ý› „WOc`Î ÛNìÏòÖ³s¯à›ÿåé¿êøEê—ñöOˆ|ûÇßùÆù·ÿûþÝ«¯G˜šòZSÛ"ù1jðþåž—yoHþ!NØÆÃ~†¦¾û4€ûU€Ð}Wë‚xQ¼> Ô -Ðüh}§UùU¸eøšöƒ_"'jÍ—âË¥eJù¤È@€ ®q“¾fE¥ü@Å 7¹a0ð»ý®ã8cad"–‘ê‡ØÂþ1º-€ŸŸ=qú]~ùÿŠ/牾D7øo â¯›Aä6Å«¸aóÿÿhÀnTxé£${{{B``Ì ñ€4œ&Àµk‹ë7zGoôî®ûî¯{{?½ÖÛ{øÚµQÆvŸÄ`€(ü{95XÒ‚QÙ;€/àiú޽üôÓO?!}l½ùC# -H ¤œ”K7NäH`–‚0Ü^Ç ÀL½‹ vW°‹ÀÿúõS@ûSÌ €\?Õyýz(ŸÝcÍõ?`Jp®‘%À­P±'‚æW2ŠÎ¶>=3ɾTõ+XÄ®1 Xh“Ø@U?}šà 8A¨yð ö©/*¯6é²\Ê/ó. q‘$8™Å±Åƒ€[ÃÌÆ‡›`«•,‡ÚÄ€6 `çQä0„ì4÷[A[lDÀÔùך)Öùo€ŠÓ( 6¯²±ÐN”ìD’£aÿ+‰ò?·éñéîéf7¿Ñ\L7<þßÓ½Ùs¡A°ýÿ (ÿsôÇèŽ#„‰&tó:€ý™ˆ‰aëKs¼ƒr¸ÒÑñ5'E,à'ýB;ßóìe¢_{õÜ«¯ÆÞA# ²µ½³55E?Û©Çø~/UÅ^*©Å"Üà÷ç}ûóˆÛ#ðA`üïohëß÷3=ðü€’ðK¼I@oPŒýW½fAK@Dw\,þAàó€q øX sX,€9¦ÿyíL%(ÅkÁ¨¥ªQCE@5T·ìºhìk:WùЋܾ0?}^6Êaƒ—ù±@€‰á0ä|ÛFÅ¿\]¶—á< €gL¾UëLÔ:Šÿ`TåwzsÿWaý«V?œ¹úE?ùÜJ6¶²²Ri¶ü+••Fn%—[é^_¯Tö†#Îvzi§÷ö*›ôâ<`tEcÃSÍ•à‘ƒ‘ ¸ˆð¿k£;ëÇFéÑC(ÛGG?¸±xO@ÿh;`FÐ&,,n,.î.nìî¢лÀœF@|6ú­ÞÅÑk_ÿ³C‡ž€‡>.žÒ]- `‰†‚0@˜q\H€£Ã"ØðßÕ…-¿]þ°.]í -¾wýz˜.שä?u½+|J¿=ÕÙyýTøúÌj#6,€€¶Ìè-¶ÒÝ¡°÷Ze¢?˜2&5%ÀC¼îÛ¼l-ÀÏŸäÕ`ZÕ?V(z€òÏô¬±ÁTIèTýÓƒ•SDM>ƒ”Dù2Í,ãÌÈ`(SÃðàO ·Z ãwÛ;lêä¾â¿É¾PàA@É&"žzà 5›Ã[w0%vlÉ=<ð¨ Uÿ³¨Øæ9ÍÕ–>àÿi!Ì]:Â1GŽä¦s<Ì'\nñÏ)€ê›=r`S¤obüZ¢ÿt·ØØ#—ìCÑ»sgXf®_ÂÌZÿÝ×¾–úÚ¿ýÅåŸü¤ã|¢ã£_|ôÑGßxëÕW†ßzë•wÞ‰½³5E7|ýÙ{ÿ˜¶ï4]4þžpkïµ*™ãbÿX[Á‘1¦¶ihT<¶ê -yÜÄ©«*ˆ)´2Ý–fr—x+.'­Øiˆ’þqv²¤;™ÛÚêªjaN‚n»¨GB­¶Û»Úͨb£ÕUå[©™ä0Ú{ßç}?_Û™Û6)i:GùŒ1ØßçyŸ÷yŸ÷î%±ù2•R¾ðC`ÿ?×ý 묈0_üU,@Œ‚çPIÒP QkÙhÕ]€*`H%W1€‚îù+pé_`€;  ÈÇ}ÿ¢ Š‘ÙܬÀ ôÜ•ï„ Ð=2Bè?ân À 0^q[\««‹ÇïÇ;„ýÈó««Õ÷#ƒºÓ³ØŒ ï)_”¿t¦ôÀÅ@`-¯ZØðJ•If _æ›ë…B'¢‰Uú)(ï :M ÏáÎSÒØ®Çéº+¥ð?‘$ ¾Þ -A¨(úøo¢*æC‚÷Ù«Ÿ,~hêÏþCk?Jøgf>$t‡ú¯ð_§ºØ à“ ªt”KPÝa2Ò›Ù³ÿó&ÿ€ÀûrÛ à²A‰ëƒ€ã¸`ìÛù(€:¢á#6ðFÀZÅ€þtEO´Ú·þµðñ„‘èØùÕW_ÁÈî’‡g^Ð0>º|”*ðC!²1N„ì³Ø-΀}Ÿ¦ã¸“`ŸÅn×x€k þSÝoÁ®à®®Ü>³å¤=—ë:™{i–„ò—¹Ír @:ϸ Jg‡p:k±è+Ä -, ! -€ÇÚàÀÔ¨¸FõP¹tK0*—Žáëj”ÏU¥ý߯ÈÛ $¨daÁÿŠ@DX8 À3ºQâ ±$nÿ`w¯ê|æÿÁìt‹5=륓.^S>¿¯»€Ö‰?"Å?¿²0ˆ>€ìú ®à€²üå?f#ùznŒéÛîŒÀ•v¥ÓôkÜòlIô:8À› ÓD>?vìÕÏ?÷â»?{îÈÑ_£ð»……ÒŽSP6ïR#@ÁnÕ1/x/ò?áþžy¬Ýª°€=Q½m_©þ­‹ ú01yx=E8ÕÇÿ¢B -T`P‘—ZÕ1Ϙ•Þ?ˆÊÌÀèS±À •eQEÛˆÓÝç´ÙœNV4w"ð׺kQú°ÿa-®­©m 2>Ì#¼`Ðï®ù¢Å¥"=—Á5:YjÀS\<-µo35 Ú?XúFøŸßAI¤0Gç¡Ðèó”^bb®žYA(äRK¤Ö·+<s€ô-Î$¶¡¹ÄÄk¼é¦þÄÂuVùg“³¦«ÉÅ­ÿåÁ£iña?á?;ªÁ~ÌÒ—Ò ¿;‹{gqO#ªØ“Ùsçff1ýÏ» è‡#7¼œZG¡?"ŒT‰È: ¬+µqÀö(æEàAÀ² ¦.4>€ï¿†h<€¢<õÁÛÛ=<õBù£‘9Cd®>!rí‰Äð•hmÀbï¢ïl1ÛmTß;Íðÿ3ÐN²ª~ì WŒší/Øg¶ŸÜw2g>éD¯ À ç¤fæWgœêä‚Cd ¯3ñ"ØdÃb%Jà@JbRÕ ¼XÉÿ›:ôëèï*~X¿®²Ôׯ—÷IpiCÆd¦¹/Qr]ßîu¬³å™†&Þæ5ÀØŒz+ÜnnöÅ8Púÿÿù!)ÿ©ç1Jeà&€ÌþqÿC\ý‹ ‚\€ õõÞ ¯7MàŽˆî®ú4±¹”ë¦k+¤“úr‚¹R?}à™wFF.^ùÇ«ÿöóŸ?~äýSÝ{ÿÝ©…SÞS £ ž»Å"•ø½‚N¢{ ý{ óÀ5 Ð5k%Hþä=:+PV»»•) ªÂ$4ÈZ¤ûŠÖj;¿€’Õ?"èà6²Dÿç–È!Ðßňm¯b¸ü‡(ß@`¤Ý=ÒnsSáï¦ë>åtޏû4$ùÄåÐç«Åëè$c««m©À8žÈp2b‘Šþ¢¯è[)ø¦ègŠV€ ¼=L¸Ï‡±ÿðÀÀf”–¾©ý??‰\¡ÿ“ÀžÀ% =Bf´']úÓíLb À™ rÒ+*ªˆÿ² äO×`Jš²ûgûM¦þä{FGÏ?œ3þ¹‘}ö:+*ì' gЯf -ãÒÃëרÀ_ɸÇdBà#ŽÙÙ{àû›û´wì°_$˜¯ã=ôä´L#ÀÞè@éo! -P‹i@ ¿ÌòàÒR˜?À…Ñÿ)¼>øì©¾úê©°Òs©Ä#žPB7L$ŽãÌLø"4|%CüÃlò,š½Ãî´¿ÔÝ¿Àú“–ºê2›OÚá8ɺ?†þa -´˜-'»,‹>p² ÅÐa6»54°¤E,ábTFšýA €–DpK‚€% -ˆ]€ž¯]¨¬{ºq_óSwlÞ’ -ôí ÜP(›EØ”•ÀL±àáÛ•M@®ÍíVêžiihÁ›·ÃúåÙXs•tÝÍ͘ó¢ÓüTwÁç÷åý–óëó²  Îÿ ½üG Py .Ó§³p/ HòÞ •"à[ nl¸ˆŒ]ò˜i"„±€£ÿûÇ¦ß ¼úù?Áðùß>wßCí8öóǾëÈé/¾XøâÔ‚g5€»Á2QôÚ [eç®A„þ=¢ÌÄýÏÚ>Ý/Œ€ÛÞ«Uþý21À5/ë®t÷­•Ì?iþ‡Õª LE?˜Gü¿®ÿ3âó5ôæM6°À‹6G ý£J(Ò ±F9ZxXq½t¸ ÿnäÿóé)9‚¥¾NsÀŒ…¾„úµî¸ gØùaåã¨Ññ0¢Æá Ð YÁ ‚¯ /Å`7lRã-òæíqöd–Šë7Úÿ¡ñèõÐÜİ”ÿÀœ£\²«œÀÅk#¶•`0B@"1±,€ $‘¦8ÿív"ÿI‚êIªÊ©úŸ=÷ÞÕ÷LF‡ñß~ðÁ?Ÿ]L^Š›¤úŸ97#ø?;[!å·Äff@!Ô¨¶ö‹ò/ô€n]=wã\ö߯{àû[.ôŽ8í–@¼ö¿påR)®Ù9 0 ü¡‹íQ›ì¦ú¿¥ÀZÞ[– ¼ÝR[ÿ”H»RˆðC€˜¨Î!‹°ÔÃ)@ &x!Vj¾ØgWÆñí-f¤ãœ`·whö}èýÆÛÝÚ¾œe_ˆoÇUïêBïŸÅ|R;Ië2›«,€húwÄy•X-•"aYå ì!@n¨@ýGeÀU¶nVQ×z PÍ{5(‚Àmr€T'p]ÿÈWèÌ¢Ò(•$ -¦0PÄ.àín„›;y >öþѯ©™Í±æbsolªY¹qP!?Æ!Àc‘J Jʲ(˜à´ÿéM„s€Øõ#õÊpG€Ç›O¯/¦üêƒéÔú¢ëB³îÓ‰£¡ÝÿÓ.{îŸÞÝñî4]^½ïÈ®û^}hÇ‘#?þø³GÞÿâèÂq­Íõ»²-H²±q üÖÇýæ‰ -Ì ó†=þzg`^ºýz@8Àª|`ê¿Þþ×UIüƒÉPv Y£: €H¬, ú§À -úᎡ‚ý}* xJ·„c]h€p'oãy)@nbN'„éý;ÙíçŒÛ ÿk“t…0:“¨¾ššÚðøÀ)ÆŠ™qüû{Ù{-€ï}¤_n{ÁÌS€¼vCC,‡e£âêÓv`  Þ¶ÿ[j?ª©@ò(>`íFm]üƒO1 - ðÿ)Õøê±§XŠT$!B±‰ð‚Ìg†‰ôÙ-Μ“ȇ{ÚîÆ.@³Í‰IÀ¸Y‹›í9ûÉ8F,–}]ÍÉ'-'sûÌ“]9sŽî6ó. aÚIÖÿÿnöcL£V<ä\à)@§ /~œtHªÿ”LUêÀ¬ïP >:PûÖõ½>›U›¿ÙPþ‡ÊS€ë`9 ¦f£’x<€M -Ï ¶¥©³-á¦_Píß”i~6ëmŽõÆ|ͱ)„O¡€@àù+ù¼I mé0ò×Ë 8hlŒ#¡Èú1Š à´¼Þ ÍSc®õÔØÔ˜·Þs“(À”—Ïég½ -\àÛñ³éééwwL¾ãرçžÛuú¹‹?{÷ÕwŸÛuðÔ©Ïèhé®l -Èå×ù#?”üù=ó•éý>¦Wü2PÿWÎy®ÿYö®FÕ=QuKÂÆÃˆÒ±ˆüuØÒ9ÕÙ/”§Œº ŽNÅx°šÌÀ0¢×ÿ° À =6ÿÕÁ7…`ëŸfscØß ýÈïVõÿÛåÙ¤ÿDñ=¢ìôùƘøV9nƒ&ôˆy¼ ᾤð€u ³ýÆþÿÄÄQßC(½ê+Ö^YÊáÒ§D·µA @e£bƹGN=ÒŠüC ìE‘OðÿžãÿûÕ‡ŸxÐña«€oz«ñ¦I/ñggMI“´ùU§_€¿|8Ì¢úÿÎ?I b/ ( 猦äìÿ¸G¾÷ óÀóN{À¢=çü-à ¦‘Ð¥ h}#Ö>SK/b­6ì û5Ò¡ËX—ð„•ŒŒb àI€_=õÕS55™(á¿Ç%-¶”G÷¾nyЀ`k+aè#Êaî²ØêF ˜Æ‹, ¦ëœ%§YNZè]‹Š}§¥‹ÞË%ÈÌuå>6çа³{P 97¬Gì¨íìÄÔÕQî¨!€zžÁ n¥¹ —õ(ü—1We -Pèå4€Ír@X€^ÿ»¾“ÀBÿÇÔø€k½ìä,`üüs #!I€øŠmVêlÏ ûWIÿmkŠ5·4Çb™ÞæpóT3¡?çws - oeˆu|”ÿÄ$cÿhx—ƒõkËè à¶tÿëý ynÿç…9Œ½Þà“w" pÍë]Oœ:PïZ\Ÿð¯ùÇÒë7nzׂR× ¿ù¾‡~å‰ûÙÅé‹v<0òøÅÿ@HÐ;Ïí¸oÇã¼súÔ©ßI`}ñ‡–x0¶,µ£èGõoÀ n@ÐÛó:ôÏW¯d¨×‡Øû·GŸ,«øŸÑ™@´È÷.úÓ?µ* À@/ø1æ} ÀW!H£*Øòñ -€{-Âd€Ð‡S+?ÝÒè¶[sæÌxÒmã彨ÿ9V|€[Œaµl Öp_‘@xÊ·2É®¡ -Šâÿ7úœNžY‚EÀ÷M¿ê`‚w[ºî_õ´UKË×Õ½Û͹à!Àƒ!†$yBhøq" àOG0™Ô†_”æýÉlkkë`OÏîìLOÖq®ñËäo€å¿j,{üXùŸÕ«üÙþê£ì ”Ï1Í&ñ&™LšL³Üøc€DLÄ ®š?\¼G¾ïqž À´fë1úØ`™F2 %`ŒÐ»#-¿€_裖ښG>¨ùOOÎ.ç'(ÓÚˆ|P÷ÁÎOíÜY÷ÕΧôQ@&„g§ø!^¥H8‘¸2èà -x—ÙÇ2@7Ò€v»7¨Âç&5zÓ5iï"7w!üç¤Ùr’p?÷qŸâ4wTÎ8ýSqwÜIÕ…B˜~£ÄÀÿ(†x>„«L€ªô¾* Ý·^|K6@9à¶€² ÀU^ ìü/G¥Tƒ€üª€ÍÒ6£R'R›šdW"(@Ks8ÜÜ‹5þw7÷ÆŠÝP]äç%ò¥@Õ~P‚±ˆ¥ÿ±å5éþ/ËÞh‘ezåáAéèëƒw‚ÓŸˆxó¿ÿldÇŽ‘÷=Ó½ã]ªþÿ¯wG»^}~ÿ}b[£jôKý¶&"ƒT…ÓqXæqà 7䎨¤T: ¤ÿUéü[¹†W^À=Ü&XîY­¢«üºBó>•Õ™ˆ¯Ò*D ô*¾@^‹u£ó/ƒ€ˆÄ&ÃFd$öóø Á;RÜ¢@”C€î×èÙédûVúÀ⟖òÇÃKVz‚³óø?@‘çèY)¢)@Ü·Ãxv3óÀtàRÄ&øm"ªþCåär—_ý•U0ÔâöWÿLTã€9Ά[ú*r,áHò? À‡T‘sŸ½z¦¬±ÕAøßêÈf¯:MY“iæWWM¦¿'$7é€?«À]Ý识|ÕÐ?Åf -ý³Êð‰H³³çÎÍ.ÎÜh¼G¾çqÝà¡}WŸ­/ß¿fÑ,–‹Ä¦w€Z¢ˆì‰fd§FÍGãØ#=E3KØþ·„T`l€³0ÿ¥æãµÑ T°@6<´!$Ðÿç€0â3 CÍÎ>»ÝÙåÖl„ùZ€êø¹fwšãš=‡õZÎ’ƒp’@ß@9³ˆ9.ÿs¼2ìfç¤É"n·Œ³K(¦Ó ·X1(ÚµjlPŽ@f¬.Uí*[øÔU¹P™ܼ(ÏVF T ‹m)f!jþ?%»BJøÜíí´4t>nhhjijnj 7µø[bŦð³MÝD|1LLŦ|¿ÏïòÁÌGµ|}½¾ Mv0ð "€ûÿy$äóD9<&Y€wİ -þõà…fÿƺ+H?Bý–ëæÍÔÖÆ†¨½'†N¿ïY_O½ùÜŽcO?ÿt÷Žé‘éw_}õÕw?ÿüÝGNÓOyF±±q½ ?Ìsq¢¢ø¸ P€ - ð_¹2po`¾* p•Ku‡ÌŠC€÷ͳ? ¬H8@†¡¿hÕÃÿ ²ƒC¬òüŸoÕ7OÅ -e@D½rFv.Ç¢Q™ Ó%–á&ÂbììlGýO¸oÖ:Pí;ûâš“ßw²Ù§i¿µ¶ø§µnÀ?üe3Bf)ŒÅÅEKdÛ!3Ž"=}ùå<1&"„Ãb?´†3Å¥Lf ÿ¥oú=#„?$g$ÿ_÷@Z¼#w9á©avzØ…\JI#Òð'Pú3dã‡b=™uø;ŒY”ëIz7y3kJ^í‡)P4ÿÆ~UðÏþÞAw$¥Ñ_¾G¬€ЃúûÏk˜LûM&c²ÿWt€I¥üTá¿©J`£Ÿ >€_ÊþY}€~|2Ã)Aôgˆàã÷À÷;.è… P÷hØ  ;Ð5mÙa\´Û#}ö‘G?ŠE tjŠÆÆy=¹uœÐIÀããKjÀØJ·ÃÚññÇÆÁž¢Ëc!¨®v ªÄ` - â€çl6ÔÂ@g{œvùh6ÍnÑrn76NÚÌ\è[rDºr“ñ}¹“ôÆLПÓ>6Ç'Í,˜Í–œep õ¿Ù [Â0«0ŠU @dy¢žS€x,€£Êƒ[µ@¢y°¿µú_w•ýõY=×—Çû¾å,PÅÊqÀ›•$@q!ŒbÝ)} k›^”ÜÐÐù ÿ Mm Ò<÷©po31ßÔùò¾!² Pö.ËbŸ Þü³Æ¶ºrýO¸KÅ7 €~^½4”* 0TéÜ™e@7ÓÄöû½.WpªÙïq¥@9¶t¯WjCzÁÓ§Cô«t%ŽìÚÿø‘_<ðO;¦§_ýù«¯þìÝÏýôôé÷ʦŠAì‡ ˜L+R8;_ìæú¥P6FË;æY˜—æ¿$VÜòAk% Õ]ÿEÜàÀ9w|¯Ã{àùŽ€ý³€­n$ÇmÄ2m·tØíÑ0ØZ2VCæh‚J(‡ãÖ=V:³à#£‰Óý „þBjxàcX Tc„ÄÀ‹‚U -€ ÞþŸÞSÓ‡F—MÓÜPó1Le<ðßU`½›Ëæçr–I¸NZ&ã'Yü§»?Þ9iÇ&QDXd‡LºÙaÜÉ+ÂZÞnÂ6`UÜHÇñ`ʳ¡ºo©Ñ²à*Ýj(Oèo\Õ«Êû¾]Xÿ½ Ãj0p]‚Y†Ø(ñ€jˆ'Ñu}s[‘ÈfCû»’ém¸éùÎÞp¸7ÜÔ‹áªæá/ǰà_‰ä‡Vò~qD¸ãü—7¨ÿÇTÑ¿,ÃþcËœÏ"yâc‘1"â ¼“`q±4z9í]»°–^Où§üÞ-EÔ´WjƒÕßÔAÈÄŽ>{äñ#ÿuäÝ츸ãâ‘瘼‘€’Ç&àúv[ç6sIJ‰DÔ,€^¯°Ðpe^?*à -ýWEþ·VˆôþWe:“ƒåL@…ýº°ZÕü§'Æj>¶ -`ÕW1ÐÛ<]ø)Ã?;ÄØ `¬Øl•2\LyµXÇålgøg# _èY'¦Û Ùˆ ÐsÔ݉¼®·¸‰_ÃnTÒù¥ «ˆ£Èòçëë#+…_´8UÄA @‰x’¿ÑÿÏÏ÷Tê‡ât_O\J@"ÀÛ¡•Pa?NXz/{àž4½—4¡óß8kÊ:Z{²³0éÍ*¸FÀ4›}/I/&bpñID€IÁ>“ØüÀ$fíéŸSóe’€'K¯L,fûË›ƒg“ýçnÜøä“s÷À÷:n<Ðî´Ú£¶¾oМÓXÄk§ë€yÄ>¢d¢†„¡8dà-dQÃ8“ö Dt¸/ `¼,XÁ«ðAÍOÕ.BU›ôå2 {CÃ{êr6Þÿ‰m 6Êx›Y³Û54xªQ@}άMÂùoŸÔÿÚǹx|RÃì@ŽîÀ: ¬wkNó¤ÆîãO±NŒëÿpX–³0Á6@ä©1@»—€Ž»¥ªJ~ÝUŽ*k››j§ï¦ìÿ¶J}ýV Ç oVp AŠñ_O%b°½ -@g[Ú´ m„ÿ-ÍMô¦©™w„{‹½tJGQw€à¿óÁà+ ö 4óÑò—`º^[^^–ù?°€»ÅrÑ9bÿ¥ -áÿ£E:J>jˆföè8„²d?”&K:`%à±qj°¨Ö:Ìz3€ ¯:ªs€”Š8qæÊvþ×Bÿ'Ø6ç&-q››*úœÛ2‰è?Â~KWW€îOšÁÿAö¥  /LK0óÉýÅ·éL4€(@"EôàgލeÀ„ÿâ@ÇÝÃkxˢ«Âd'€~QƒúDi]/ÿ]åå€ß|X¬Œü) a]o(è9@ž„`´²›˜=Ûø×onnjðßÔnki -w>Ï€~K½lŽM57÷vLŦ¦x -ÐO@4'è_VMþå²÷omymm¹ÞËÐ?ªþçíÁ‘!ަ_;ZcL¿ú;·~ƒéôå5ÿþàå b‡Aüù ‚§6x9€˜ˆ -tŸFîjêè‘Üõþ¯í˜ÞñÜÅÏöÎûGø—{çßþñ¿¿³÷ý…SÄØèõŒ–67ïÔ=Q?9´Ì!u¬p,Àp€+…Š _V• WþóesÀê|T ÚSÞde- Ü à$¡UáJ¦ÂjÔ7O€M€Ñ*õ_áD7‰»£å!¼€ˆ¯ Ë·ÞÆ v›“«l´¹Ý#ñ‘8˜€³ŽÞ±Ñ}6·†°Î–ÿ[xÁÏRf‰#;ðDņñãÑÃëˆÄŽR ‡1ß5ô¢ÍE@2q‡ð7 -„³pÿ¯ß¥Àg~¢ßÚØ -J4JZ¼Hì“úÑy1ÎOàk$ð7±:ÒÝ€Ù²³Oî(ë“Ò$È&³ø¼kâ–¿"ÊÈ$!ÉÆFnêK `VåÿÀPÍ:p:[ ÐhÊ6þérüñÇñ½mµ ôÕõi¹;wRјR¼ë'ûvØ‘ÖÝð‘aØpèD"q(b0Dç¯>D`Þ°‡CDuÜ/KÌpúÂ~çøãô6tr}è° Ï2½M€œù3ûçÈÈÈ3ãÑ£ C"”˜@ À@øÃ@€w‰‰¹¨ -þþ[Çk°"¸Ö:¡ü6|®åè‹ú9Ä‹ ×'˜œ8ëWPrhýÄÝö¸6'Óܹ}TÊŸt›Ojû0Þ·Ïr’Jý.B{·97ižü‹Ä´wÆé^î `ŘYë8«u¸Ín»‹`@8V,r€ ‚€x L…y–÷Ãà){6K•’_¥÷”*Óë®J°$ú¨-A·9 èp_#t飲\EUÁ?ïÜÆ3Wgç3m-¨ý!þ‡›ÚÂáç¡°â?,±îÏ?Õ-«€¸§ _ðLZþ˜ý˯឵üc?}" plû"Côf¨àóƒÈ:ïTè¸^J{6Ò„ÿÁ˸öl¤Ržz¿o,ðOo¸å =—×üGè+\ï»ïØŽ‘c¿Øñø‘c?î_N‡NÿúÈéý}ìçGN/¸\îÒl.n{TPaxnbîÐðßÑcq¹b` àʼ¢…j#€.þ«AÌöè‚{Dæg%€%eä$)øWõ$‚¼S`bÁ÷‚K + -#¬ð>@ÂÝ!îÄÔ ‚€õ@I¢7BÜ#,ú³Ç õ?ÎøOïÅûluµ¶–Z–ýQü£þýk;‘Ùä—#?‰¬ä#¿¸ó›ZÁGàÏ^Ɖ,~³ t×ñ]L€nà*¸Å -€öD®G~4 i2þ/ç~;Ãyãú¹OL¦lkë`«c¦<±W öa—_ÙßOµ=cJñj–uöŠðŸäÈ`ùÜFîoäø¿ò¤`ã,' êÓÕ'tucñ½‡»ÀúM&I ¸qüÑàe"š…žˆ¹@NÛ™ 8µÏºÿ-ûrq{ÀùšÓ9Ò’1J5¤B‰!’üt C°bP§\öë™ñ¥ññšq!-ÑjËü $€‰£t"™÷ ‘–¶²p¥9@vÍl×rqÍf¬›'OÆ'ÝÜÒ'`þ€jx ½E,•þñÜNºÂ1´43qv"ðS7O#·ñ ç•Aà$@f!4Ô gÔ£ï®B]5 -x]Q(©ý=ú½ëz.P¹p; –êIú~ÑJJ(U÷ès·5`„ÍáÞp¸‰Þ65õ6´…›šžmnê… ¹‰ðÿ@ób7çüãÅ'«T_i X[ίåÙû ÞBî§ €+Cþ!ªá`ɃàŽ*ìpM¦/§/ƒ ú¯÷ ¦éqyóæÆå úµo\Øï¥ -qñÄ;;î;ö¢}Çóݾ÷¾‹ï<ôÐÏÝwäÈs;ŽüÛ³<£lðT–M¾± -À/¢Å¦L:æ$vi ð, !Êk -óÑÂïå뀨¤¬–£…¨Ì r€€ê ðgJÿà× -j >°Â ¬º†!½ U VNhþE3¤þ¹“S€ÜôŠêßɧs4`]<ÞW‡™ÿ^*& ü6ÖuÐK8*‘¬Õ)ü_®Ç&jt“òb \V°BŸv-:Uädå¿ù7Œ@Éu×U -À–(‰Øäµd¡ ÐÄ4ýj¶õª)ùòþP…›fû[w÷ ö7%o4ê™= -þMU?LŒ¨ð“¦¬˜oü‡ Ï d³­Ð²€j$(GwúÕÏ Ü8§2%zx[‡éêøc/+–:›– ìÄöŸ¾Àg]/OOcO—}Ds¶d%m΄ŽF¢ƒa81ŒMVÃÃ)'°N„°Io,þ[X¨}ªîƒZCÈ¥2Õ¤àp„3Æ#¡ïLœžÿhgŸfŸ´£€·i“š¥vÒÏÙmšù¤™JþÉ8]}ŒòÞÜEønÏÙ-ö¸[¶‰C€ -@l@3O²/gÜn'&€=ÿÜæ²¢(øŸÇÛÃ? 8ÒØðl”R·®Ö×]WD BØxËt dà¶€2·Xß¼¥P 2DJ§")!®íŒ “3hA?6VšÞh"ü§s9q€6¬ŽÁè—àBžðHíÊIùÏÑ?<H`¯S¬‚@å"<¸ò‹÷EÐsǹ{鸇 éôèqºp#?8FÀµ¾á z\¬À¸qùï/ìÿŽÀ÷Ÿ{áÅû^xüå‘û÷»ïóÏ_»øù<ß»ãÈÁÓÿr:´àqªññM}lc}Û|ô̘˜c@ëwéÊ`P€€…yXýþÀé* -`P`^7ø­ŠQ`~OU6€AÂÅ(Ÿ+6B¼D}«Qµ`Õ?êïkÒÀ<'2$©HÀ¿› @‘¯$(†ùQ6–¾ÝÙbët h·5ØÀÄ üÝìôü£þGæ¯,áôÞp †ù3KHë„‘ß§2þã‘…·cÜ‹P›©è‡Zá…O¬xóÍ X¸«ý©_HñN´²` )(¹@w]pM¦«W³¿2š¨Ò¦wSÿÈÙsj¢ðû\¥ì¯Îô1‰oßd2:’YôîÅ)(³¢°¹?KëŸå[ÂèË“z,€î'À窯Ç'˜T<€ìžakt‚{à% û¶:-þkš -€ÅþÒKÓöx­ó…Ž‘g¢‡†¡C‰GRÕ><|æÌ™Ä"s˜ -°Y€pœH<ÅñŒØjjj?¨0xªçOLDòb,J¤àË>AÿØžš@_ÎŽ>®95»æFEoÖâ“qÞì§MB€Æo¶Ö[èóœñ@މíŒÇ©šÈ‰“ÆÝNvrç±öSwgÎI°p¤¸x#’J‡ýÜ0 Tß·lq^wºÐøçÞÉU•P^ ¸éúŽ -€K-جÚä÷?+S‚øJÛ)8ãÄà @¿ŸçÃÄš{Ã0†1ÿG7ÀÐ|À7%›€ò~¤ù!Þ§Ðõ_S.€zÿ‰¬1öçÇü8Ðú÷ç¹þ—(a"ôÁƒD&¼^ozô‡:ëÒsõ륽멯÷zÖ]©`0 Kà"ýÊ7ðzyíàß<öâýÞŸ?ýôÅW/¾úêç÷ýíç¯ÞwðÔû»Ž¼ÿ¾ç}g¯ôu¹ä9ZZ¿¾Yõ-ÿ8`yâèÜQ¸@¨ðŸSÕÿÕ )}c¯ -+x ŠG°là)Àò -!)÷êÏë=ƒè¼ÞKð­X ð! eµ2¢g ³²°;Jàï“…À±ð³Ôôv[§Xl Nwg»ÿ@ı 9@Î:ÿNü'À@f` îºøX§ó©áÃÈ\}ý'wË*Uý,Kä#Lå±ï®À è+~Ë/9¤wq òÔ‡Ú -¥ þO° -€Ê(Úq=r·“€Œƒ=‡qßûÒH¥¿cpñÆÃ¾›Û1s˜Í¾|c£Ia%Æ/É€Y}N«°ðÄõù@©ÿ9;Ì÷qìãì¬ÄTO2c`Å·e {‚e" Ÿãï€?êáxþÀóö€]«³üs€S³Lw}f&0m!ÐÙd錩áСPdÂNH„ÃW]QSÅTödƈX3Q"ã°ÔÔ|ðAÍ£œ`+|0]¸%I„Ö]Ø4|eOM__ Ã¼Ï©¹â3# ÞwSýŸSŽ€f¶h–œ¦éÊ~Á }4‡D޹‰¸Ï~j{M€ )r’H‹éÐ8ÅCžGl€£ní(`…”8xÓ%m~o³bÔ%ýo? ¬+­_)e;Þ` ‚ƒ€u€äÑln£ÐÔÙ€ÎHgg['&:›šÂÍ’ˆÂ¿YŽ¾î¢ -ôùWüHä1@ÕCàÚòZ=ÀXÁOŒå%˜ÎÏ~Ž^”A@bCcÒóº§àëhI¹Ò^hþ.ÌÞ 0°¥àÚùìoîÚõü±cÏ_|õó‹;^ý]¯íõž:²‹£‚Sïÿ.ujÔ³>zj(6á¯6šöŒŽŽÊºÆ?®301‘˜›˜#„þGX˜3¨©@DxYÊ - :î {ŸlXE­oÕõÿùù2äó¿²gu~¾¬"€êÓ×]›/ï(Øm ¸øYdŸSàÀ2@ 2þÃVÚÆðO°OàßàVë8èÅÆÔû¹%X<V ºFý€ êø|eø_ž«Ÿ£ž(Ì;ù¼Ó¥D˜ Ÿ ?6^ûVüGÀ]V*&@*þS[2=±’éh˜‚l¼‹Ë³ï`ÿªñKc2Ùßo2îÞýw»{ÃØ -Ü76ž3eEÐOfûQ¶76öW»ŒÛ&S–½tAJÊ (€ÑˆAÖ˜œÍ&±Eˆ‰C¶±z¸ÙNÀLƒø¨ -šé— @^xüéþæœöÏ4›&€ÞX,Ó{¶†Û›Â™áfBˆ@I…=óVab|ôgØcÄ ¶¶v<âqI¦ù(2IlÉìÐ"µ}}»=g³kœŽêHþ)Fû´I·9>ÏA -hqQ„\NËiÄ´:¸&åU‹³ _Œ<áIí,€‘TþÿsS8&€¯0”çYvž *øW9žQÙ¾3zK`Eá_o¬—ø½ë:ޝ¯ëDàÛO›.õïn* À¥¯ c‡™Kí$ݨÚK°ÉÓÛ†ÿm-mM m½m Tù?ÓŒÀÌzaÀÀææn(>\~YLUýC_4I€`ÞWT;³U -àŠ «!@rA¶úb¾b,ê£ê?*»€š3áØ/ÂÌ(.Ñén`Ç?zp¶Î†Z‚}Ä»Gþ[¸ðϨڟ½4è°§€ºþÕÒ.9Ø@¯P$"&V -ù¼ (@(|;þßàØý»ªT™$ÀĄģ¨œt5’t7~º_>Òcü’ðßñe6Ûø[ÂiGσ—¨z7ö,Þp´"Õ·µÿt~¨ö¦lcV(€Žþ&™`Å>k4±úot¸ZE„%¸ªæûWU°²ÿU·Tªàu“¹S ú6× 0¸VŽáɫˬ(p€s€ù(ÆÂ1¬ ·`®´€»Óm{݆ý~´ñ@Ä€Zÿ0¡×aY!œ /ÅÂE= À#ÿxšN, ô£F®‡@ºÈ—ÈD¢&#+bX‰|û/l?uw[‹z-¬HLþÓU™äAćîR`Ïà—»¿t¼Å¡þÈñK^éÿ»ÝAílëâbk–;ö³Ÿü'g¹Ó߀žlµ @È:²¦¤Ãa¼ªôW³É¬òÿ/HÂ$`l5e[ÌLÐf%6(©Û¹5@Ü‚—Îècì -œ9wãÜ'3ý³<(í€{à;Žû{÷}# ¡¿= Y,]ŸMÛö®—¦»¦vçó6_¢pˆ¥¡ÂÑ£õŸa8qæÄ‰3gBgt ²2K‚þã™qëféd4^óT-=÷3‘ —¾UM1€‰ˆ!e€1€Tè ýKãµ} Vin;vøp OÎw#ñßìþË}µœé،üŸ§MÆu`æNŒ€ô哿³ÚÿÝSÎYlàAžŒù -+CV&‚â(×ÿ€äQÆ»’Þ¨¸W¸Ï¶ÿ’r”þK_ß¶ -¨(z€k½¤”gôÕAÛvæºÐ˶?ªÿÛ›šxPÏB÷÷Ƹ0ÕŒö¬{ÊOåÿPÞÏ©>*ËoY4zY[#°Æ½ÿzqÿøë@.òCŒþ¢ 厩$€ô]|† T—Òð"ÈL`~$ùÜtm\þ7…ßµëè?àéÝ;rì˜÷à_¾öâãÏ¿öÿþä?¿vß‹»v=½wï®ÓÞ………’’”Ý@grë‹®ÑÑëßY³A -Õ¹‘‰ÈárÑÀ €xôvVêyõŽn ”\SaA«•ÁyTû¢ÑŠ.°JÿôµhñÚ<=9W±@¦ðaÌ£Ô.ˆ `HwƦ÷}Bψ@¸)Ü‚xÉ×¥ìïÔ¥ÿ[»Ó‰LnÄqAùç—©þ3„þÜügø÷‰ü‡2!ê?œÃA\¨ç5\ö¯H—‚÷åa¬ÿö_0 -lOy ÀÝ•d0´üO$O¸%«Ó[i üaKÿ÷ÞÛ=ø–ãKÇ?ÐUÒÔŸ4ÞýÄÃTí;¸ÿNˆžÝ}ãÆ¥,Ôý¬éœ‘¨:¤y*÷³ô.Ïð¡EŸU¹?IG‚’IŠ$³W“Ìp1{©< ßáÈÎf…tdáÔôYAþ×$œœå &É oÈjn~ÈÛð#Ü#È‘¾Ðö.BØ`ºK³Ûÿûìö‘‘ç3sÃ[áP“I>Ã\"ü?Ú -ñ$àk”Š~¥ÿd`þÇðQÁ€!€êjm㤯-–ñŸ@ý\„“G|¾HÂå"rAÿÒøS}ÈühZ_À·;Í`öœÍ™C/`ñÿq¤ýSqÓ§Qù¿Sc"ZG¸ÏJ€9Ž:&ãîÉøÙ³î³gÏ:ÝXwCðO'šb3,ËV° -P$3ŒpU·¿_ÆÿŠê_*÷J¢ -°2°Îw—ªö®' œ2¸©˜€Ì”¿=;”PºM¾ÐvL ŸÐóabmo´55Ó+úÿÜàƒNñ¾©S>ôV|~?¶äÇ$âWh’×ó×@XðË0 o 9ÀT§¡0DÿDAç¼ÁãëwõI&ã©¥4‘€ôqn 20M‡>À`ýÄOÿåÈég÷ž÷–¿ïþƒ/>¾‹ŽÞ#û÷ÜÿÊÞû÷.,œ"¸PFþëŽztàÁüAé·ßáÊ €£ôü8:ðgÃó÷#°FÄ (@‰=U!À¬:úU1AUV?™À3-€+žXUÆqäû¢…k>`ÿ5ÎÛ-ð:€¼øîT öMÅ¢±îoŽYhêlkèl Wˆÿ-Háæ6€Û]ÇXýšýÃ-ÜþXŸ¢”þ¼üW—ÿçê—•8Žæ–뉖9–`E­ X) E -·ù£Æö¤FÑs[¿‹¹Š`+t†N¼ (Èð¯:ÜøKÿGÞ{ëËÃo½åø_¥zÝÑúÈ‚Ï:L3Bl™Ûoýí9‡Âä´õggP € ”ÞÊö¬˜îà†ûŠ 7Ðp˜f­0„Y£úWt÷¿šì€¤,4™úõA5)€†À‡<  †éƒ÷Àpx_nh§ºßÖ÷];©·|FÈO kšgFšb‘<!º -à ͶÎ$†Í# (3¾Äý¼%Äÿ,-ÿ …yëÀ,¶p¡>µ^®ÿÑñŸ˜‹ÈR¨`ëD"qeÏø£9úæ}øúÌ6·¹ËìÖ^B+ߢ¶ûMšQî£Ço3³úô?-çf÷_.nÞ XÀ$ºÎI³Û|¶£Ã Àén§úÿu`7|yÞHgVÒ!O:­f=ÐÝËÆûê@Iì*hSÐ_à_Ÿ ¸.®@=à[‹Iѽ}zù¿^=¨—ÿúOááæö%]8@>ªý7Âmá¶0½µaP3’šypóTìÀ”êÀày_‚ø‡JÃÿ˜̯åùÃô‘|ÞO,`ˆCzK€ªÿˆöŒy!¤×O¶õë¥tÐuéµ{ -í‰Tʵ±ÿï÷K ËuâôÞS£Þ#ï÷ßÿô…ûŸ~úÅ#ç÷>½ÿ´ï®§÷zF<ë%%úsbð¿óŒ2X\wyÒ Ä)Ž‹=ð[ºÌ&†átƒ €`Ÿí€Wàd+ ¯˜`"0ÊÎ@}þ¯Péõ¯ò`ß¼îŒÎWñ€r7€$ 3êóU•æ ¼®ú}+ì²ç@~$:3ˆÁ+v›¥Àõ?"%ÚÕn¾°Ñ¸qd2Káb¹ö÷Iø/gÿÒStNoþ‡&dFQ,¢"çYôôÀMÆò·ù;{8òC\€?ü"À[šO* ÚHm¤¶$ ` ìG*ý@6@#Áþ[o|«õðáØÜwô<øÄîã †ø³Tí³jÏÐ=øIc+ -øFc¶Þ=ã,·QbúÝˈÿBÅX>®²‹®BËMàÛòÉINfˆOVÆ’ê‘Y}q¿¨ÄÀ™Ë3&ŒÿM˜Y¼G¾+8ÐþA.,KÀ>ò,3]C˜io¡s $ª¬·T²OÿOœ¡×ô!´¯ øÀJ€hÍIëÀuðÕ{\eü§G}h"2È}…D)µ• ØYø »¸¬ßG…~ƒÝlËÙœ°û»5I¢{1ùgG`§&É¿È R6@¾¢OF@À¤ùìäë`ÿîD€ð1ž(°5;2PIBÛ½´QÒwðºÊ \®—n锸ûK›UáÀ›‹ßA¨–Ô–!ù%ñV6¥J¥Û à_Þ{Á¡ùAþÍmmXÐG;öYÂÍÝSTÿw7#XðŸ`Ü¿‚I@ŒŠÀ[_/†?vöIþÏX^^è+èš§}*»]€¾!Þ\ïõ½éÑ3®tÜ뽜Õ·ÿ¦‚A"ˆa¿Wœý.O÷éóç÷ïÝKÐÿòþý^Ïþý{_ñ¿üë—÷îÿbÁ³0ZRôÑ…ƒ¿>¸àñHdý¹éf:= -ûÙ·¨lt– ¹b+€Z8'Ž@ü“¼>ÂkŒ|\Ä ÀæËµ¾hå@Žà¯eµ ʆ‚yå!ÀmCA>ŽüÇ_C&Ð5V8qÏ/HëS«ŠŒûÝÿ‹Í™X8ÓŒ!€7”;¸jkE -@ÐM¾ˆó¯˜ÉÐ×dŠhÍ•ô_.ÿ—ëÁ†¸Á¿±L KÂÒ?Ë,ëÝNXÄóþw3 h½<EçBv„REÍQI[z.ÙÑõ϶Â~Ç;L{këàÃO<ñàîA² ú=ár#‡ðó^ŸK3ýŽ,ÐÞhšø‡ÝoVeúgáèo”zÝdB_ÿÀ,@à?ËÝÖÝ­ŽÁÁl²• K ޲RPA¶áy°_Ï€ãçnÞ8þa#”@HÞ#ß±ñsþÀóNÍ·úPÍÏÊ¿}Úby‰€³a Z8Â* ª™‡|"[BR'BÃÃWæ FÕÿã™ëjÔ -'ò@M-€Úh}Pß@xO"1Áêc†%€ —k+‘>´g¼N °@3Ûìn­ÃB·sN;ª~̲ §ûÌq·]Ã@Ü¢i¸ÆAB~œÔ4'í8ûzGG‡Óí~½ÎHmMÍÅf_ÑÇËéÑø¥CÁ*Ú­ïJ±£ÛUª^PªÖÿ7Ë~=½ J€Îo¯èóýºø¿^•TJ¹$ —Ê$Þ¾€£ÞƒcþS½Tå7½Ñôà?kãù¿po˜#€º››}S1ÀèäŠÅôçMìõz ÐÚ7”ï/¯üÿl¤ZŸ8ÃþcÈ¢/÷åé%¹ú~TϹ›£Ç/Ãfg ²©-n lx³×Ëٺ닃ÞóÞýûž?púéýõôyzç•ý¯¼B÷|á]X]Hÿîü+{_~·åϪÿÑo}ûu@=·¹çêë…¨@@" ÿ:@ ­ {÷!»õeÁµ P¿XV„øÊ«Aðèk ,!pó_œ× -¾èµ)Vدù"+»ü•WMAàE€ˆR›€ZÚ¸€¶[ úÿ@qý‡Ã™&Ýñ¼_$þþ‹SQUÿëÑÐÿ•üÁaDåB€.-ór"TŒæoû>5Á@é1hn«à*ï ðOpŸ¶‚²ø »wÿêËA‡Ññ¥ã°ÃáÈ:‡w?ñÄ»Þ=Øê€w¿ý|Xõ“YǬ”ø—g³ -íM¬°'€JtL<öŸeà¬túõ¿Ê(¤˜o3ØcÌ:Ê&Áª^|j¶z‹ožå‰ƒFQü9°qæ“7?¹¹x³qVOÈfï€ïäƒZû³v§]±Yˆ|fÑì¯Aû·¦»öÑ›_v´„ ‘b€ÿâóGèºuÛû@x{2ããa} pÜj-¬Vë@mÍ£µ ´ŒG%ï‡ñ.=Ðç -<< Ósþ‚8`gŸí%AŸPÞ>bÖÜf³Ûbsšÿ5ý ¼`ü]– x}GLê$À=éŽOº?í8ë&øwv8ÛÛ:Û‰Ðù©XôÃÍ”Ç:» xCétý7Ô@ep¥ôwéž½’î (•ñ_¯‹?P‚oÓ”¥¿ -ØõÙ‚2p•—yJú§ñ¸àv€Q*w×^¸p€áæ¦6TÿDŠØè -€ ÝÅH¦c%ïËÑõöùrù?V©þ1°&*€¿~Œ*ÿ< þ1dn ù98Þ7„.‚hˆ~|Ĭ4zÙ»æÃ#Ór­ß¼éJñ\Àeïù´‡u—ç•Õu1T€»ÿó2Z``6€Ž,óÜûBˆ^#"@¯×0g¿‚™N*µý’è£È{Ù9Bå|‚[:›8xËÖBø_‹Ž{Y<n‚S µf–dwo ª¯è¾æ+ïŒD&ôî?¶åm)üêƒôv™i@D*ònÿ÷MO°@O«Í»¦ð°Z -  ÐÿY‘ÄZÏÖ^pøË·¾¤¢¿•-ÿÀ_Ç¿?ñÄÃ?ÜÓÚÓÓÓJ|ÀÑÚJèÏ9¡?Oó1²gMô.ÃxÒ‘åÉ}c²ßäÈê€A(Å -¿“ -úÙ¨sþžŽúÜ"D ô•— -#¨"ì4Îf¹Ò—eÀÿþËçnÞ¸qãܹs6š’B ’òà!×ý½íÇìN›À2­Yìû>ëúÌlÉÒµ8À¾‘ÎŒ{û†‘ÀM'sÐq^ÞsBVø! €šX -g0ylÍ ÔÔrÐ8Ý¡Gþ¥B÷„ÿ:eðuQC$åâV‚u`gŸÝâì"LwRùN¸Å?bvLžD fwp—„팳 6@ÌÆÝf ¿›WŽÇÝŸÆ';Ξí0wtt4´7´wv>߉“Tw6´¡ÈØD}Pyy`Zíá,qÀh©TÞ\žø½4@¥ÿKõ_¾½~]GóÛœ˜•t€Èÿ›US€å)€+%é5lŸyi4~’À¢½o47·þßE‚ë• ¢¯»y -`аÛHß<ý3ö/Ë4ÀØXy)|öÊt€¡<Õý¾<Ïp¤0cj àG¶ôtózézi}ýz:í=_ï=¼Á*K×Múlß½œ~2-Ôn}táüþÑ'GKûŸ$ÐßÿÊþ¿a@¯ç…xÙ;:º°°P<Ç«Ë5:Zý–«ÃôË -@W‡`vSÁÀx•-=Q@µÏPÕ×J@¡ ÿ•@`Õз¨7DåÁP -¼û§°ê+¬rw=Z ?ý5¾¬¬À ð¯¯ä%äÆ:`(½¿‘ì…   ó¥ h¼ ´¨C8SÄÐÿ/exÚÏŠÖ?2оhAþëá?sËjöõÿOÇ)`$æÀzv,Ô„âJô;¸,½<ôs··Tª3!ð’ĸc›2o>¼»5»{7n™n`Ë`ÕÜ Bÿl¥UÁ\ì³  _ö\þpfæÃ™ež4à¸íqüBo»Ó>bÓ¦Ÿ}fùÌ>m·tÙ÷Ù-/úÛ»öÙuZ#Tÿ×c·/_ -\< ì51L§l°Ê³¼–^kÆ­Q6 -Pc° X£‘R/C!Wb"2g5Ð dtÈã€ÁZó•F @ÓìšÝî„€jÿeŒÓ‹Ý¬íƒ=À9€÷ÿæì˜öÏ9™ØÐ˜t+)ÀŸŒ»ÏºAœÄ:Ú_oookC}[œª²L(`:-9££)Ï(âw«‚\ WûJ·¯úðf¹@/Èþæ}±Ê&¶.ÿL™alºn¨Lè9À%¶í¬U" -pÞ?vá‚2B÷o"*ðÔúMhÆå˜ò­`ŸBXæ‡ €@†ÿ•±1¼ˆ`Œ@þ Ä·0 Xè.ø…Ð:êÅ0úc{Úm–æ‡St)8VOx–Ö]7éqóféxzTé0ô©OzŸ$@€ëþóçsþoöÿæb/¿rþå¿Úû;¯—À‚Gú;‹Ò¥…ƒ_ÿ½ç¸àå¹÷Èðr¤^avèë+‚Ë{m U{Ûõ÷ ²@¨"Ò5˜/ˆü€‚‚>Øþ§Öý\Šó:0 ¸"‹xü¾nô‡|¾X±;Æk€›š¸Ä1€í„þ -lû[Ê,ñ‚Ÿ%øgè@Ú_ÆŠÀ?Â~_Q¥þ­(øÏÐÿŸÐûÿ[i‚CÈi`$x»¢Iô«Âï¨ ûòßåÏ[ôr äº{ø¯bÀØ -±þ &‚² ½åádRX“îÄ(à—ÆG¾l=ì ø‡Ÿt´²å¯up÷àà%º ^j…ÐCEyë%ôäØåçÈ&J¡OËê>ã,||&ìü)Ï÷%2PJvQª«üÀã ¶õô$M=­³­YÇफ़K&£Cð[oTõÈrÏÁ$ëƒØ Ðßøá¹s— þŸã–€ þ‰S€†¸¿½C±¦KWÀ>­½Ñûfþ¿´ÛÝ™ÂÜ¡PâÐÑ‚/²2T'ÏVJ''BǸhy»…п¶¥¶¶f|uOtÜ:ÐðQ ‚–z¾Çà Gzibn®@¤žýtFÈD#¥Ôêè»›5gÎlvç`6;-f*÷ã@|éhhØ,v8Åèdg¸õ4@37œ“îÉv÷ÙŽŽ³Ng»ûùööןo#x‹ ­p˜í„¬£AôvZE6˜ܲ °¼¦ÏÅv|1lªÞ¼êÿ»”#ßAàêÞU€\•]ø@J}³ Z@h!ª€’øWâÊ ¿:¯Ç£°-OþÊq€„(†1M}Q‘ÿ ×VxFú☚Šúb>Æg±BˤÚÚžopÚ¨öç¼ØüŠaiüsß¿h…ãŸØ¿šúSc|JýÏsä >ý7Á‚øu ‹K@¤r‰ˆÈ( Æ¢ßéË_¬‡ßÍ8àòB€-,H!ügKv‘É@²G?%mëw~ë­Ã=ŽÃ­ þ*Æ­{¶ÃýÂÙÚÛÛÿºáõ6ŒµQ¹±RËëÀt¨ÊX¾èâ{9Pï-éi½®RÕh@•¹€·³¬Wõù+M†M}A"lþO•×úöÎ/S1ëõŽù§0üc+ðá°ÌÿôcÀÇk€¦ûàp}ðšøÿÆÐÿ_“)€0/ØŸ§·+Cˆôç¥àçy^ez~œO¾RÉ“ŠWŒH@0÷Š+%a?ún¡õë›ú_y}st8ÀñôhúÉ…'‰À p~?q€½÷>}ÿý»ŽìÝ{Žó¯ì}ú/~ò—÷¿öµßV7à[½¸‘z}€Á?"ü¢Lâ zC_Ïþ/ý= roe °Ò7`ðçÄaÖ|ó¨üW®E§|Œÿ×V®­  à£SOgè° Çÿ{©øo€ôß„¸.ö©ú·†ÃoKí#øE—¬E«ø÷EW -ªúÏà0@´dYá%±‡wã¡-BHƒê”3þÓC¿ÎšûnYúB4ùîvÀ¦2E¥<¡­”‡ßbQªnÜàv¤ð€mû¾>üåÂþFc’jížÝ>øðîÖVjþK­=—ÐìÙÝ3H÷õô8Zƒô!Vä¹7rŸ4Í:ðÀ$üŽ,'ùegûQuÃ>ˆÁ€¬¾ü§2@_tU¯ÿ!8ê=Ü-Èö[‘DÿZ+Õ¡J/@äG„õ€ƒ‡%ˆ×"ørc㇬ 4âá/»G¾¥ôþUÛ Úˆszš-Ÿ!зt½´¯ë_-ÿjwÚ¬‘ÄDâ(W€cB<¶€@èûùŠÖÌÛ--„ôµÖù9ÃëÀ¸µ-°ò« ŒÜ¿HÈ3Q`Ûà@ÆŠ$Pä³0^‡";ÏÚÍN‚}bf³ÅmÎQí?©™ã“ζÇÍ»Yß$’?•ü6¨-+Œ3 -ÐÑA ó¯1@¥-6 åÿÅ ,iôÿ!põ_YP±ªŠS¯Ç]ª7_¶ -ê @¾øL€©ê°¡*`y @Ú)b\ßÖeÀܸì=?vÁ'y¼ ˆ €±&ˆüc`… {Eð!>,ó‹òÁ@=Ê~̰è¯öÊkš?ã~7lô:Æ ^Àèöù·~ÝdÁ8¥ÄZÕ7¾^*]¯ú¬Ír³g}5Ø8LóÞóiï+/ï}úé#û÷>ýâýOïzñ¾¿üˇúåC¿|õk¿cŠ'Á”¼=GйzUþc;°˜Ý¤¹SÎ~y}°ßWŽôŸ¿µÝ/€Õr Ê3 À‚jýæ« ó×T]~ÍG °²’¿FW+× À¡)^8@¦9Ì MHÝϰñ•ÿgý3KQµê'Z,Â_@€û *gñ¾¼üG…ÿaU ‘/iºà»T[¸Cà;þYõ1€»˜X-ûaŽòp9Eéл‘àCV5É6|ÇÝ»<üð#‡÷>ì`ÓýជŸxâáÝüTú÷ìnìéAòÿ%*ÿé#tJÞ8e˜—ò> ˜7QÁÏæ=lûA€C}q'²€XÌŸåæÀU1$+#q 1ŽÝYS–Ó[w_ê1é{Ó·t8.9~$ËɬÚ¬â8ðr¿ììoüOœHØß˜tH&ï€o<Îøë»³]›¶[¦»°hºkºÃl™Þ÷Ëé}öŽ;6O xó7opÇŽŠP*”`]™¾†h4cåpb-55Ö($~ŒŽ Œ×Ô|„¥ŸTdb`žà\ƒãV Ri5„J¡Dâa¼ö«>³}Än1»Y°Û§Ó2é¶KþÒ}NÆã9 ÌvÍ<’ ä,ü7b裟ÆõCl€f€³Üx¡½½ã¯Û϶µ½ñF DÔ#Å^„ÒéRÜJpŒª)€ªe®Ò­}6Pw³Tv‚€,ÞÆÀ"Bªzá°«šÞx”À¥·Ím] {¡\˜þP€o¨ Àæ©îb7;e P=‡×KO,@$Ž¢b_H }î”,BïŸGÑàê`]‚»Ÿxzä!”AÛ‹ÎÑ8YKëÂÿ±~Ëé¼¢ +`tt“8@:^xÒë}啃vÿý„þOïýõÓ½÷¿xì…ûì¿–D0&"€ÄÝ̱02,$›øt€o>ªv‹PûÕr}¿Z†þª¯F«$ÉýSåà`!ìÀ7)°þï»æ›âA~6 ÷Á -ƒH€—ÆÂ-Àþ¦·›Âlù·ø[©êç%Å¥b¦ÙÚL•Qiÿü*ë†$c0/óÿAŒƒ€\ªÿé¬ÜÒ¡?ªÄn@Lú¾ó•³ïâ:Àjüç¹h(ÿŒÿJRµš¬TÚpµÿovï|ä¿ >òÈaŒ÷ö?ô'Äïi%¦j¥?!><€=»{Z¡€€H#€çö’×+8N5¸±,‘þô‘V]P¹>&I2euäÆü¿(ü9¤±à˜éŸ5ÎrÀ¯ÉÔoB܃z÷Áh¬ø’e;¶de ‘Äô—u3ËmŽäŸ(ø!ÀõýÖþ¿:G0ö¿oÚè²¼4Ýeß×ñŸÿò%û/íÎìáH$qô/ -@t{ˆ@‰ž˜‰Db‹]€GyhÈZ$8¯}ÛZËÛQIXÇ™¨­x´¥eÓ¾ … V|j&3°@ .§,,÷>Ât*óÍû^Š›;8 ‡©¿“qzs2n¶äÌM3÷å°üWrQý«¥@“€4:œîIçY„œ=û×ííp¢»‰ö¡|žÎ2ìr€%€QYÀ[xK `©:¨úÝÒï]¹”Uÿ61º #þÕ&Ãj`Jÿx™pÈÀæ¶£\Ú[?vÁ‡\`åhV]:©ã?EäoEb€¶#˜ñSõjõ¿YCF0ÿ úƒäÙPð¤ßúðqž°_yr©‡á°g÷¥A:¨ú‡`°õÒ#­ƒD.AàBtu‰gütK^¾TæÏ*”f:ÀM{X“øÈ€òå}Æà £uД¼:H_‹z¶j€Q«cu,€þÝñÚÈ­ì"ØŸU{„UD@c#,…Â/ÿ^þ¯Ñaqw¼€Ñm_×ôt×>ûOlñ}]_ê±Ä ÉCzºèö×{ééHõ?Ú¡aH[‰eœ‡¢ëx¡33ÐR[W[;nÂÍŒ£Ð'˜§ò¿¶e ‹²)D÷€Hj@ÆZ€0™¯ ìtöÌöªþµ{GWÇH—Ùݡѕ}3R€Í'sn^ -H\€H€Û,€“ñ¸¹6÷©;þiÜ]‹0À¸›ÊÿŽIªþ;ÎBÿooÿ?ÛÛÿkÛopð -+ÊRs€<8ʃ’¨ëÿ¿ßÐó{ËR@實 Ä­Ûáÿº÷ë*•ãoÁVt )Ä×·]ry½kyÿTs‘cáì) €HÛÔT7 ¾¼£_½ôûüç×òc+ÜþWâ?Ïú%`Ð/€ì"%à( ô”ŽÿÈŸ…ëPH°µ -ºñâ·%ù.®óá¢Zà=5ZZðþnÿéƒÝÿ{ïÓö¦‹ -§ìµ+çL±^ÿL8fŒ]|œÃņ70Fx¶²œ‰[oNâµG‚¹T»Æë™Þ•À¹Ýn~ŒR¥ÊnŠ&1:•6 ÍÂLçî©Úèœhtv¥ptó®ª;î: Aº -œ2Ñ•îû¼ïçk›$m“NÓvÛùÚ8Æ€!`ûyÞç}Þçý‹îîþýþòúÇÿåûÇ\˜6ÍIp"¨a)€U6H€ÐS©&À’¬(T,þ·< þ…¥jQ@ ¬¬V`IÙ=! 2d F@Tý<X(yd€X÷” êÿ¾?C0a}<ÿ}õ}7ú°ág®)þ„ýsŠ” í_+ÿy¿Æ¬*ü—Ñÿ½Ô¸Ú¸üç˜neᛃ€Þ -þuµ•ÿ’_'þojsÀ±6Ð6rÍrd•€’$ó;dý«Þv‘ÎÉ}%}Åí>„ºÏ…Æ®.ôù©Ò‡ÎŸ¶¹Ól€ mCùosûýnþ0ÿ"Õ㘴%ÅßÇù~hÃ'畞5,òÒŸ¤šÞS¡~D Pâ%GÀèÍdµó‡~·^¯ïÅ÷%þáçÅÁ\øÛÔ¥þ‘ÀòD ~Œ!šz‹÷Ue - WŸÿ{ðcâð¿;v,`×…#¾vË7ê:;Ïé,3ç,á ¼ðjr£Aª7ò}¶ÒC•'úH¯¤çgn´PÃÏèIÁ?•û¦Ä$½úCû1ÈApø0óG•‚•-€õ©I:¥ja €È°ÅBð¯3ÚuF‹ÅÆB Îa¤§ÃÃu‘NØþ¡Lgì ƒàoDp°ÓN·Ùgœ‘x0øà£c§Oœ8pâÍ}ûd»}v5lNõâˆßŽkë€cÒ(V\ŸÖ(÷ÿË+*êÀÖ§{Ö«wi“þŽê@QkðÉ¡&dåÐ W3/\çó¼ÿ÷…Žrù¯öq ï‘j>Ë{~Ä(e–½ÿ^ÿ,rb0êÿ쬴þ#›0@o³žqm ÀõÍ"nãTz¾DÎù<>UÄIýx+P¦éþèþvä/~üŸ~øïüÃWÿòÕ‡*m[V@¨üÏÁ¸p\,€šÀ‰Áù%^ª]S™ñŸqÝÃØ~‹yÁ-¤(@}¨Š(øç@@E¸  Ž;t#ÏÞQ$`¶$³€YœïxKÙ;ìÌçûZ:^x–Á¿£EbþPë³ÿOü¾Ä\Ÿül¬XÀúWþ.bo”cz¾X ‰‡´åDONX[µÑÍ ø˜ÀUVù¾fPfx‚ÓÏs¯­œJ^aWù ÷[÷[t]´½ýÊ•Wó÷ -&ýuu¹»Üî^†\¸ÙóÇ®¿þ~ºÚ³Ø ðq/ËhÒ/ ˆ_Ljþ|Qã Ii )ˆ€Û ×ÔzU³ãóúrå®×2€’z­¿o³õF‡è3£h4@ù·iÊ¿M”°3ˆÓ‡B˜b*0oh>O•¿AÛ"T¦çßj®°†ß€ަ§|pÝî¼þÆæ[„ÝteŒ7üÓ°åcÇì¯&j‚GzOKŸÇÚÔÖsµr¨½®õÿÛú­ ,#N&)_½ @Š^R‚&ÅòúÒ¿ßg=ë[­à´ÿÚ”/Q“+ö÷÷C$DÎb±[êœv‹¥Ón ƒXŒÆ€±Iti4vÂ& -0Œ0`ŒüË@$ÿZð¤àtÄIµ?ûiûœ8ð˯c °%O€VW»€%xCS8&I¬ÞTÆøò{;eŸFoŸ×Tiàxúß6Ä @ô¥ÄÊDxž@#ˆŠÜÛÝž–|G‹$ö±€ðŸ^Úy -x¬@õu@¼Í/›µÞ–ð_úç6þ¹ö÷fgÙú7+’•þ³#Œýü6Ë…¼µ°øo᩸YÌL¸è<°ùH/ï°–Y€ã¯ÿáÅ¿þ§Gþ¨»û/þÓøÃì¡î4Œ¶ñ˜›•'Ür+Aq( @°Ê¢ç‘&=üB*EGq€J—¿2°$È{«:@[ÌÂ|_*à¾ï"…þN>_¢K  Ã[òÞ1”Ê$uÌ5Â@ÂCÀ} üÁî×7Ç®¿ò¡}«ÛôU´òýd'üÿ܉8Çîxq´•SúÊÇùkò2 ¯Y¸* Û€ ªÆax5²•»‘JR¼=úÝ_¼r¥×ÝØÓû -Ó¶tÀOpïvþéÍíÔ÷ßÓ½6¼GM滹¦Ñm]þ$ûý°êá„ œ0/96CrQRmU-n=§ûðÔ~eüOÚL8ØŒð¾h8ïóÅþWݸOÀ?Y<€%ÁCͬð›v ‡`ó[çç+ºÁï À}¯ü³ÿîØõëfS$žØ¿´–rë~ÐþÇsÎs–ö?K,-„úº½-},Âüçà(SÇ©SèÐõ]¢‡˜ª¿aê0éˆPm_ŲF½%øü{ -#¹`¡f.À”š4¥|©ÉPŽ€€çuuH¶ètNªþía»®ÓnGÇ0a¿1lœÖÍX¦;¼pXÇ cdø×:İ - $@±ÏÌ¡ÿ>œþàƒc§8±o"ïúò¼ÓŽ^kšrÚs.®ð: ŒÖ|¯²«'þîóþW ›L 6?s‘WYà}±û €v¯•@mÑÖ^ÊÄ›ÆÇ©kéÓŠzM§w=}‡™/Íb ýqIÄ. N(eeºþ¸ZÄW”up$Ûí•Àô<¢ ÐW`€ë߯“q]ý·6·uzœI@<“ÉÈßlÝáú‡¿ù›ÿçÅÿðÇ?î~¨2-SïÚ€ÀÜhÐZž(Tl#â€@!¿g§ -°Ä -çú‡¸ü—h€ò"@Y 5 -•sõQZB €wQùŸ'p'?«¡ÿ¯÷±Ãªÿ±P9HZîŸè›«§Ÿ£/´óï"Ï1Têþ…Yú«´ÿJ"Þ=±Ã³QÿÜÛ gi5(¯:.bËãú×¾†½ü"¹i·²ã¡ã§®ÈGïÃõ(³{Ü==oÿë•÷”»çJï+~ÿ+„ö(û‘ðïî²Ï&?·›Ð£~tk/¿G7÷¸ý÷~¦| 3Ž@¥y¯¤ür D´²ÞÆ+¢úêØóÅ0€^ nVÄÆ)ïýî¡f¤û+¯ˆq¶UZúrÀÎ%ú$Ñ(œ -<„%@Iƒ:æåÄ:@ó[Íü£ñÁï À}€c×Ãa§®á=S{ªvàÖÚݵºpç¹±pø\Øþj BÖ¯ àüïWøu=vJVX¡3 `*…‰ÿA“©6E_–³k4m²åÿ½h5ñ 'Ö"*8U›g°ô~Ãs æ:Ës³€KÀØié !1vìãp˜]Øhï4†‡gŒÓˆ‚ pþŽð8Øà4Rí Àx€.Nüá_²ÿN³Óv¶ª c(™"çWËüUÒ±‚ü•ú¿Òp|† 2aµ f¬Ä iÛ€µ€f(~é1å)þRÓømFÿú:ZúæÀ’òÝ¡<Ë»ÝèõΪ†>oP)€jéLB˜¥S‰®ÏÎÎr¯ŸIûfùŸYt<³Ý¹›+-ùÉ&ÆGœÂX×âøˆ7ýSFl޶øñÿõóµÞkÓÛ+xŸ[@æ=ÃNŸË–Ñ—<fê°Sgð×VÿÜ -Ý©ñ„Tô–¬Ì²Qà>è× -ô;¡çßa' Á`¶ä-þççòy¾”9R(pHí¯ ¤ý±ë?¤E ò½×¨ÿYn硞”ˆï’}9e -@èØ¦á¿º‚‹àãý-,|Ý(M(Æxê­È -üã£ô?ý ä¿8å¾r¥‘À•+==éžžžÆFt€#Ð?MàŸî÷² -ЋÛzõî´ÞÍ‚Ê~Ðtáaà·E¿Û _ ݈…=~4éG™¯ñÌ”-°šè€£Ï–ÔÀû&7’z­þg -ÐeK÷bÕ€ê €Hðêë+{õå5Aª¥`“D?H ß<ÏñÀe - 5°.@B èìþ=¨Ÿ4ýÇcás? Ø_o¯¨­8²ºPìܹ1¢–cWCK£Gà-‰¬õ¯ÛŠ®BÿkPÿù‹c£ým9*[Vj°ÜE}Z )ø1!8B'Gò>èY?„ äƒÿ¯–εBÁ˜(OaÃÿºW-öçXú§“—Nÿ‡§ëˆLÓ5Ët§eÆ#›ŒàÆ7T°Sç4Φu08ý‡§ü&À––Çyœ}Üšk`œêÿ¶ø=i»ÅЈ¹ªjó‡£x_Á¿ãJ壟£¬—§\.mëðý@ ßUŽ ÂO` -PEf=}Ý-üBÎÙî ÿçóœÀ3Þá½Veÿóª€Än{µùÿnð…¼d€‡nót{pÑ-³€èüÛQÀSQåuÈÍ×?5ý“‹S„ÖcÇÿæŠÿà¸5w<‡ÀÊñ`®< àÌîÀé%Gxø<§ —5€8íBwäƒÜ(–ªŒ€œ Ñ©ÿ=÷‘µi÷N!ï¹ `–NÒ€Ïçócd®{Ž7H!J¢e®·û†* Àb¡¢¦ì/dÃÂþI>®”þåòf½ ‚}å• àWš §¢s[»=㡎¯û…ÏjÄÜc˜¿‡ü_nGÆ5À €ëì0xð^.H`?uåâ+W^¹BØOè¥gª§Ç=uèžC‡»àýï!xçB!?€ÿîô°×¯‡p?Í=^ÀE?Sâ ½/¦{{ü~¢~®>õB 蟗?tôÑ_ ÎŒïI™ï§+7“Z®_ù²<ågÐ/öPˆ0H¨ õå¯I*2°³À܃¿Æš†˜à<¯µ4à¼Zàïúãæß€ràG/|€Rßl4Õ^¸±Ÿ(À‘µµ[{ þ¶³øjjŽÖPß×Ê¢!ç9úZåiãå©%~MZ -%æ@ÌTÜc°>TCOdNé® yjj -W g{ƒ““)Yà{ÓG1pt)5øÔ`ÃsÏaÀ¨³YöŽ…u–1ìÿé´ˆ:-„øÆNËp ÎØ9=áK4¤|Tÿ64¼ŸJ,͹ڎç‚—-ü‡#L­­ÁL újSï¥Lµ)±S*,¶ŽÖ„jŸªÓ5ØëtØìcé´Øá1Ý–v€¥@ÅØÙÙi tB §§± `µ?o -˜a€×Ø#N§qÆhw‘øÑé ¼~`ß¿<}†{Ú„dV«–àž8o3l€L%èþzÿ¡ Zþÿl`9¤ˆ¨¯bL•ùj¸Peª=+'ÛOJ¸º7Y½ÝÝT¿å¡ôa0GajÒã- Ò—!€lPÓÿ­¼ýG‚}³³(ög󳳘œõ _4ØÊþϬ÷oùgA8œáEb™¯ϯ®_}œß§|Å£~Áú–ôªZ>‡ËúÇû?Kê}[ÕÂ{äÜÊØÀñ²€È<æ=Uрʈ˹¹r(@Aþys@H²ƒ–B•ª_ë  €{»SþâÐcð/!¥GÍÞ™-ÑSP”/àA‚­À-ðŽ´ð†-ç—‰ ÿU{~±àpåèÊBYõoãD8 5qŸãð\.MþÇ%ëämñò @«Ú›÷ED$àû<@f>×ÕÕu5¿ó¥m½Àò2£)þqQ*Ê?d8ߎÿ­õ> ÷å—/~H àâÙ³SSSSÿ|¸»¦z¯¤ÙЋ~.ë¹þïêus&wºØ‡€iúýmé.°w¯u7±€¤¿— ü‹6Y D[¢åhƒ -ëS"?ö¤è“—“ªMPígŽÀá‚C›Š°iÔ¡¢÷'õUæŠþ™ËÕLà<Gk}€y¸”`ù­â[C½íBóÕf›m¨ù÷Çß>ý“ëccçì‘Kµ7j/MÐq£öÈ‘»G0xݲ7ttôh¡£#Õâ æZcÖ|M¬ -ׯ­ZçZ­Á+=¯õõ>¤þ4DM&ßû‰P¡¿ÍÕ– R©2R3RÈsX®§òÒ”ª5aOÀAÓûµ‰šŒ«ôèþÉAÝ`ƒ…Ñß®£ß ñL:ôŽeÚR7m± ‡-FbÆNãt>@þ¥7îàÐEŒ3öcÀø§fÞä1ÀÃùY(å(k8‰PŒñ¦šà‹Ÿ— –rÂlUÚÂú˜êĸ¡IÒƒ~B…b¼Õ:ž÷ô±ö`:÷Íå»óˆ€Â ¬Zô£úþ|àIï–ÄÔ't'è/yT -p^ýÇ ·Û#³€Þ‘ì‹YV¾¶…,l+þ5[ë¿}œo±U”½óšå[„€¶âòíVfÛ…pÌ£H¼]¨jh ?â PЫLs¡¥;ÜŸc@£âT$‰géŽÂè;µ‘nƒ¾ Öÿá,ù;^P¾Î ,Üíè›;Loyèÿü“°?ÑSîøWLÿl\9Ž•Ç÷§µóÛØùÏ{þ7$ß¡x0(Bã­å<ÀVYø…þüðÄ>c!P•…C£püGüò–Ë=Š£˜5W\Óþã -óù*^œ*;îâìÔóÿz¶gêg?ûáÿÔÙ‹/Ÿ={aS]HþÙŸ-€nvùAò[ Õün¹ÂAØþ?†.ÀsÜHs€­w±§ Ëzýiþ¶Å´Ÿ{õ2ð - Oδ`•ö£¿º"2€ôùmÕøoóÏ’6ƒ¿2=X±ÿ«Î²Rÿë+ܺ¨/³¤¨ÿJ0h€èlžØÞ>?ä·­oÙÒщ«C¿'W¯nÿèéשطÛ/ÕöÃpkàÒ#kõ'~¶Þ¯-$RÏvx‚­­™`çö™–¿÷ÖFƒ Ö\k!ˆ…d¡úÔ%ß $³‰xÀd¢¦&×ïj R¡85³†«ÉDÊ—ªÅÁ;L¾DÁå=º4ùÜð`ä9Âsï0ZÐþöΕûÆé€°¥ŽÐß2m O×§43<¼ÇB û´@F*ÿÆ€ôÿ?b -ðÁ/üòõoî;à -€X¬M9«Uyª¢7Pû "ü;~ [4x‡”£jÄoÚ BLÛäж?)<œˆ7Q1Ÿï;܇à>ìÌcf0æÏ-ÿ çðê?Iþ£kÿ˜ý㟷Øà+ Ç›çM€ÝÝHÌ"aB_—™JôÛψYï1~O¿}¼¿À:?¶+øHá>KVÝ üáužMÁÜŠ•èuΊ§ÏÊñ`Ù -a †÷àª9¤vÒÛËFM `̿ŠÂ4 ” W žªÖ¿§ ¸Oo è4%¤ŸNØÈ«$ £ŽöÌyæò!z¸„pIïxòõO¼DîwA´^nh]9¾P®ÿ9þðÏ¿!Ôï1ö3;.ÌÀâ÷¸U";Ö¾à#ˆcøU¼ã§²tíØÁàÖ¿\ À!¯2ö/¥¿&´b5€XøÿÜD´°ú¦^þÓ?ýïSß;{öÚµ¯}øüó^|åÊÙ+gá êßÝØØÈðÞÀƒ€Ðý{Ù(M€.f@}ììêb­{{!¤ýØЃq?Øl~Žê>üˆ¦Z{ž-†rÜ«ø"èËc}*ä·Üà[à(ˆúmú* ×Wôÿõ¿¬R[‡‰8 òã£Ñ¡y„rõ¯‰LxeМß^ŸH®_öö¾²Þ¬÷~O2‡O]·µ Ô P÷F=1€;û,–¿L…úƒõ‰g}}…ã­Å\w¨?V­™­ÇŽŒB ä•œK…Â\‚eý”ɬ3lð¥R“K£ð æFF -ÖBp©†^q&±°ö½÷k'jÿ¦ƒ©É—‹=¦ÁÈ áEg¬3êꌄã{Ñn°ÔÕ…;Ãaº0ZÂÆNÂÿéð TþH -2²ù_/ÀiçŒn&0Ò ç>úˆ£€_ÿå>å@= zYhc¡#7‘»Uˆ=ügv~àêç*匱ê+ ©ÃEõÚ§y `à‰Ì[ñV+üúÄæ€ûsÝ̰Ѓ¡oé°j6m`æéýC ðÌÏ‚}pv¶{¶ÈßíE󿱂žÙnïˆa/Ž}-€"6û€eËØ÷Xlas{SŠG<.èï½QÜ@ÂÃCm g÷¸žË5åRÅA÷„ú+Ç©þ·5þƒ…l¹ªððBÊ €_P¸ï™«äÜ«î?›Ø”_6æW÷ÿ÷K¢ƒôV*Á€-@ªü/yý ô§’Ÿ(@ˆ®äçæ„ŒÜñTÉþ ²Ø0HÐoÕ„)ÿÛÚ„0"|ñ_3‚3 Ð‵•ßÑö…¤«ÍwÍϪ*ðq¯@ÖtËH—Çÿ7YÀðqÅþW*@+έ.-‹"­;4€©?ýï×þþyœ>|þÃ?¼xöìÙ+=StžšjäMRáƒtbÕ¿·\ÿ÷Ê»zÜ]lèâ†@ Hfp¶-öva`À†@@žÑ3Deºo3€è³'‘ã«¥õ–|’<ëïg÷ Ûlj°rDõÑh³¿â|  1›~ÇíðÙ¹ËßÌÛ!ùƒÊD@Zó¼ h×òÖÄ6]Û[ú^ÃrRÿ]'ËOÿ¯Ç®Ÿûçκé_×ÔÜ8rãÆ[“7ö/ì3îMIµ·ûBÁ\›+ò¼¶£g¶îºÛ¿p<l‚¬ -B¾”/a6cûŸ®v°Á„ÿàÂñ¶œ'˜Pd“õ<h2Õ¾—ª=Hø_[›JÚb ï›ê„AKÄ"£ÿ–áéð0\ÿÆ0‡t†± ÀBð¶LÓ­ÓF  $xZÇ1F£ÎŽÕ€ÆÓ‘Î<úô‡§O¿~âÀ›OÿËÓ-sjjmÎÊ&@Lß”§µUÀ™bæs;÷§VŸï +Ç€ÅÔê!Iü‹iN@ÕŒ9*1„ÛOP`à‹³È|Äà9”þ2ˆ »Qü« `fY^é“§Ò2ýngÑùç!€l7ª~z‡Þþ(ï‘ Àn äG¼pŒ| -ÀÕí­ÌÄ8Q~`¯¥ð˜-à-zˆdˆjhñÑ1ÇÆÃ2"ÅÔÎ>ù×Úª5x^€«hœ›?’…T@êàÕzs*%¸„îCRœG<úƒ/“m<žB¡bþ+UÂ%w(Ë[zJl¤ ¥Í6¶¦VmPõä-=!(`ì! ÿ@Ñÿ8ø¿^¨Ë÷«ŒÄT°¶ ¸¨›ëOr‰ùúD+&<„Ù}Öþó² 0/€ñò‡ÿòÛm˜gggÁ©¼³ØT‚ÀéùçùA7Ë=Ôþ,Kxš0þõ=Á¶¶ŠËEBþ WÌj}sûó]€ÿm4€‰âF<¾áxhÓæÚxú_9Qî) -À:@ÕR ¬Šà‘ˆö°ýµYéÜÁ{s¹‰—Ýì3äó*µR@T„Ê^>¸ JÐì³íaÌ‚dµ@PfX ’€'4‡í@yÕŒPwXÏ?7þ9×Sýø÷¸ä¿w€ÐOç87ÿ7öš &æ({b®8–rp>. |ñ¿?ðɺ!4@žœ‚ýmøYéçŒqË@²OÛ¾< €ó€77…íc ^è±Âv€8b╸#ÈBôxXÉV§üñÔÔµç¹ðòEö¸š#ü·± àÎÇÇкҚôß•Æ;à ]ü9=ªIpð¿ØÃaA½‹œÈkÿ1 °èN³ýÏÆÒ=Ðø4îÀW¡¶žÁŸ4ÿ+6Uéc¸À¦•ÿI}¯Í¿èçÕúòæ`›mqqÑÍy„UV½?ÕËðÁ|3qÞdˆV"Ìó’`‚ÿ]ÛÛ¿ÚÞžødYŸÞuÞŸ´é‡þÇw™üfö„ý¯ÂcÿA7ã4-3&*þn ¹1pãîÀ@ýêþÉš£…šŽ}{}…þV—§ï软\Žþý£XP°ÂH¯0©¦Ô%€áˆ¹Á×`z2ªa  –ƒAëSˆ ×šÞ«Eh0“‰Pk±ôhhòà°Î¬Ó=ç|C§«ƒ­™¿Ô÷a£+úut¶X,áÎép¸θ"l8±Ì茈ÑÌ8O§ã ûèÄ믟Ø÷æöÎòV{4 ¡`+Zþ¶$‹ýîŽ ¿¹vܶù( `ƒ~1vàRÛ¸Ò‰è®`Ù(¾€mÇÖ“T¸ 0îåêMšÿ2Hè艹´ -ö‹ @Þø3‹þ^Ízg•ûoBpn™ -¤â´Bì€#ã/Z›â_ësl}ë7àT§OÄ%¸wý³ËÿâÖÖúã¾Èà -8Á¯æ0wÄ*´Š ©ŠàrðÕº²¢IŒÌð×(x=¸! $gõ60'!A¼?€®.yÄ–b;@¡zú?¨Ùõø¤²©þÏrü°Äÿ–Ê JYp;y¤ _4çé›óÈ` }$+nB®þƒ ¹`n”á¿UÊý6Á}®û9Á…î¿Ìü³*¦D‡ôÊ=´ÿ5àwùëcò]\Ök@áÿ½6ùèñ¢Ò4r´µ.€ľÔ&ÀzQ@&³1 §Û¥ èßʹeØÀ¬&zqêÚ‡ÿ×.^#üù•+Wþ»qjT€°â?]vêeï*þ®F7«]]p -лL X P9A˜ÿïq/"؆ Aè¤Q¡c`Qm¶ÉF`öF5,ÇøªL:}“ðÚÄbB¿šÔ:ý•A?›-ª× ÑÇ9GÐVN $$·ÍÏ'ËÁr‹²|X;æYˆjÕ¿Ú¤µv-7/oïZÞvP¥3±k=¹h»'àÐw—L<}âúu˹±ëuÆ_GtÑZb7ˆX#*°¶:Zã騻·½#ØßÚ:—ÝéX=Š k¶à êoLvÔ§"¦vIgNEÌfÓÁà~¨æxkΓH%|‰„ §÷L µ<È^ÁÚDMŽ€úA•ÿκ:çÓ9A"öaè¶ ðs+ÀBèOG'zØL§È´®Î¨Óñ¶" N£ÚtúØG0žxýÍ}g8ÙÖSR=IÒì¶ -þ]¨‚¿ºË8*J@ìá"À#á?+u^N–=€Ž²ÀÅW•3ð‰v¤ 0ŽÍ=ìÂJ®l`¯7(Î?™¸-ãÞæg³jøv¶Á€“K’Äïäò¹! îÔÃíkük~–­K+€ÊôøÄD¦øÙø¿Eð¿ý¸ `s‹ûñ妦ìx“ã!¦µPLa?‡àì7YU Um»µ®H`¾”ÿ8ˆWŸq¿€‡´üëQý€;–<¼9Źì& *~fúÓŒ~…rà Þ²t^É¢øÏ‚€ ¬deºÕ“ÕÆ_Ìß‘o€—Íâü[YæTæ7Ç•ÿ=:€úèÇUÿ+ÞVãÙ(SqeÿkÍýްîF´) -ÀõjüÏåè/ý_ŽçîÅ0 ðå€M-Pœ_{2ªü‡ÿW>ô·rGô/›­º‡+WÎÂðáó×®]|ùâYd7B`ügxïB—ŸI·ÿݽéCn|úþ‡õ¢ ÐEâ‘AHþrøA øõTÒ£™/óú¢ÉGmœh3è“Ú¢sþ$™ëO‡p'm~=ñ[¥P PõYt‡Øõƒ íŽ`˜—x¡2aXL2`÷_ä+'¢6šHà]6,Ÿ_&²O€J©í]ï|ìþÓÿæ»Jšž>87öÏçÂç:‡#‘ȯM—nܨ¸q„ÀÝ[kk»ûkíæ½Ï&ÚÚ¬-“÷u®ÆŽ®"=¤d åè%¦>º”òu¤|ævSĤ6ÃæŸJ„j‚Çs¹áªþ oF±¤˜jS“5Ç‹ØXß@_‚l_>œu»1¢ uÔ)åßÒY× &@Õçt¸“WX¨ðG"€™¸@ÄÐEtFûŒsÚ9c<=EÐÅN`àMnx U‹ 0×ÔTaÒÈÄ” Æ.€‡¨éûóÇ2êTÜA`€,:)r Xö8T.@eB5€Íâm\½ºåj"-ïxõ k€xPp\^ö%·•°é¿ÙY•ŒOGPÞA.þa˜Ís"0"‰tË, ï øú dØmlîa¥>NT`ý³;ú¿)®o=¶°UÜv82ñø¸÷°uüA;šÂþtÞVØÿT §Ò‚+|9Î$ÀÊ)@@ßâÏ@O©P…Ĭÿßáâ_(×û!e,/úɲ„ e ª!½ Æ² p®  ÌrÉ_ ÿ¥ Œ8©¬ °…oIœ$Tw -럖ø‡Î?à_…ýßÃl?SNþÙ “_Þ‚¥Œxš!hÁàwXîá½Ã° ˆÙO{q»Ç&…\?<ΕÏ_Zª .´;ùr%€MÞ RäéãŒlleùŸ+ xX°Þå­²N]!ôþùkx…êÿ)À:°ÿ_TwíQç§Ý‡ð苪ög> YÁ0( ìfÏïÆ:?Çêå™Ë›Ÿ×'£Ucú€sê›RÅ7Ùºüÿ·Û/­’OÞT>ɤ£·Wbï¢$ ªÆ€Zˆ&€‡XÓ!ÃÿüPT›ˆjÃÚL .7ÿjy‚¨>ý¦Q}mO,Ò«t3z]ÍßI°õ£ëc8~z.1Gœ¯;M—n üâÀÀÚ©ÕÄ^s{ªo¡ßUè¨m'Xíß´ ãÞ`0” %<“—R¦v„ -ù†Mº”Ïdn ¼Oõ…BGsmÁD"…µÀ&_C -)µŒþ„ÿïO†‚Žþ£ 5õÌ]ĬŽÐ?gUóFg¶Â}cgg]˜Çà -DC`Ú8®³[êtèØ¡è0CåÿŒsæ4&ˆ|8ýËŸ¼NøÿZM%MhR«â•ìÍLÙXÝò=àø—Ú?³Aïá­º àxT›ÐÜTɃ±¢¶øÏQΈiù[Ž'ŒÿÒxC{²êý0ÕÞ¬¯ù„ÖôÒc•=€*˜waé/ -Ôÿ%¾Ìr¤ Jä5Rò‹Ð kAÉãàøxÓæ×þDÛ,¢P,~5 3Q,~Ú¬ÿÔ|èÇè«~“á;&"gmjºÿãVë=+,Þ9)ô`lÒ€\ÙþgÕ4À*JkP€BÖ3R€I³à-cÿ‚&Ë‹$ÒxAˆÕ€¥¿„Û,åþÄ]•á¿ ~–‘?ÈgàÿJve|¥,ˆlàU>Dv - (eAN²|Çl€óoAÐ_šÿ(øeÛþ÷6peCZýE†|¾Tøï}ê=ñ/¡Pu€{бã6úAø¼ÉÐRáhë—h`[I‘GŠª•èÊlpÿŸíò¿ÄÀ÷€‚Ö\~±Õ -ÀÕ©kÿþùç?üð§ôþwuª‡ºÄìÿ±&\ ì§ÏÔwA à&ùfäòP@ZÚÒp÷ôúõj‡ÝÆé¾0²¼¯Rü ‡mU@úýZàoÒ0ß|>šÖÛˆOÈhàÿ!ž@mþŸQÝOøoÐ÷.¦éš{qQÛ -´¸ˆ¾}ܽ¨Y ñÖÕ2úƒ*ù£Ú¡9 ïíj^^^>?çà„ åî2l_]§ŸOÿŸ_úäWÍßA0qø'XÆÎ…ÿC¸ó\Ørúu]àºÅ40pcà¿82päݧFëÍ{ÛSõ£m.Ob鵨Î@Û@Í*ö„FV¡Bý\}¢v.u££ÝiÖ™ÌúȠyÐwÐ÷~ -o …Lï×¾Oå?Ñ€A“‚_m-F਩7 6`·1b6ëtÃc82lvNªó;ÿ‹é¿0¶€X¦àÓ–¯ 6ZŒv,2uÎ@D7C7Ÿ–9@"Ç>8v1@ožá!öŸÉ 1 ÚÐZ∕÷*—•/FõA|“‡«ŸG2 çÈt•Ñ>æ(#¿V iÓ[Oœı€q»¬éòu4üñ‹[×r€ÇÑþ¿]‚õÏ«Ex˜xf½<@˜gI H@8x%€jÐ_adÜú WË¡LT}QùOhM§‡"üV&>ÁzyÌŸz›¾&_ÆéAв2ì‹úo•c¥I4_«UI\ÿ+  P¶p2`ÉsßQ’]€é HZ€‡­w -e Àƒ>Ì~åi„ÿ­ûWÄâGØÍP¿RZ ®Ð30 ˜¹= šø6wäûHá!óâJpa%'ÞÿÜ= þÛø¹¬¡ö¿‡ê?V1ÿ«l¥8$yîÿß“Áø¯öq’¢W«B0Ç Q¿´ç!=§·6‹¿%PÔº2(êWÿrU>䎯ûâË€6ŠàP¥ü×4·VÚsàçèÐéPAþàý¡ ‡Ø èn”Ä·[Û”fÇjò¿ß‚®^³Í_^Ì£6þFwîìåª>âW–?¿ûæùyC³!í·©QBÕâçÀrföúrÑÎD‚HÀ"\*û§9 Ná_¤;X„-Pï·•qÞÐÜ !@Âyù ¦ð1€ (ôÜÝÈÐßoûÇÕu8ÅÐÕ­åuCô;Gšž>a¹îœF»ñ¿Ôb -``íîÀ­»k£'O.™Ì>_èhk'šL’lòÕòÚ€£±þ£"}F$ùFÌ™PÝ.“€F{“ê}®ÿé²³ÓÒI<`ºÎh霞FW j@ nè?l—p`ã¯ÎÓDNa -púØëPZÎ&0Ëb¢´j%`pfGp¹ó_% ÀW†wX0ÐÈ@ôà3:Éë;:@~ñÈ™d &ß¡jUàæö“ö@ˆ[ÇG²Þ¬t,@ÖÏfÅ´/Þ?âY.ÿé ìŸ/‰÷Â(kÿòÌ <,ÿ{x!pžƒ€eÃ`÷ÒéþŠ_ÿ3^·ø{ØØ³µ¾½ù@+ãüËñ— UØz<°½Yœˆ755½ô€·?´~5øW}®ÿñ¶"Œ+¬d% €czP}—Ð@ ŸŸÓ¬›ŒôªÑ_ÖÌ#ÿ’Gšÿ#@ð‚$ €ð„A6È߈€Øÿ²·Eþ_$°r$×$&Hxeq  -¼=%·²’+Gþ¶õsõÖ¿‹Ûý÷þµËXÙú_NÄ®Lã1Òo…, í“¯˜tøK¹/›Ðc|°J1±Á¯GZ÷Å?èàxÞÁÙq\»øòËhDI¨¬\€ ‘Z€€ûXög€>}]]½‡ºT»€‰ЕVúz±§—w -¢+Ћùþh³Aæ¢jño¹Äö‹F`K^Æ€ßüåhó^ÍJõ¯yúqk}›e|ðmšš·q+îv(ª'ÀŽê£óz=Q€ù¤ÐÀü|2ªÍ¨ļ'ÈÀ -€Lè%uÃñ‰ã¥èF1Ù»½]7úÎüúw‹|ò£ŽYêÎ{#<>g9m7F†0€#wï°°{÷d{{*´@ðÝìp¸öÔ,Õ'B}!ïx2H';j} —"‘†ˆiÐ4l& ?è3™úTpÍYëM©ƒ¾÷™4˜j¸ @” Q_Sl[8Z25˜íDÿ#f]ØhqŽÑÑLü!š?‚€˜-Ó–N6X,–:äuvã0qçéðŒ‘“€>øàƒÀ±ÓÇþðô‰oîû—nä5@®)×$I€U@VáÓµ(€ÌCGÿ=ÐŒÂ!À¡<€E‰7åàMt`À/*‚_7Ÿ|àj“°üS8 Dgô÷ñK ŽÓ9ÈûÿàýQ6;K´€>t›§<›Gä?ç@?S€LôååšTD°~#ÖâÕ¯ÂÛÚß*ÀN - ý\œáEþ­­Ç£[ÅxüÁ࣠6ö§á¿¦ýkzÁ1”M€!}uìòªJ^;ÄnÉîM¯&xªÜ¢ ØBèQ͹?DÀæ¬ 5x¯5ðU?Lê ÁÑþ¶×¾Ä$DKn¯ÓCo‹U(¼‚dĨúÿMüÿÔÇŸ\ü{Ì\»v9ÀSî -hT €‘]ÙÁР¢ÿû¢‚òí¹+ rØ â{Ýc@;X4èéêñ'õJ-XìÅ‚=§KÔÆÔF€d9 y0žvßJ¦UÝo³¥ÅxSYÙÀfAN´% ˜ÝkFÌ`’îE=ú‹Üþ÷Ã_h0B}íßò÷g@µ†vÁÈøOoT£M_¦VÔñÉ剨þùåù¡ïÈ~ó˜%&üûçsçÆ®Ï\·ÿ—H-Ò€q÷î­»«'V×Ö¾T}0— …NV€ÑþXÿÀþýK¡P*Õj-xs}©#zCƒ¯]g²c·ï ™*ýWþYªNÀBâýƒµ&ßS>¢DLfl‚t÷DŽÖBÄ0P‡)³Qçì´×„[ŒN‹3l „ ãèý%Ðß9Í+‚xJ€F"F&3N1à4Zìö€Hœ>pàõûž>Ãø/ë€e - ,hõ¿ Œ‘ýþ9¡.Uö Þoð[Eø¬úÿju2<6W1€Œ2>;bÅò*þþâ PÛež¬àŠ7Yé•Ü˶r–øÕÜ«28 È*;^Ξå鯌JPŸÇB ¶…yyøcµ|ôJÁo€WNªûÅá?~³Gp™ÀŸÎ® néÿ†¾âq[>:PÙ[5ܯÀ>Së -Ç.ò[é÷ªy@Œ½bÁGó_†ñ½ÉSâ覼š¼Ã†º‰åyŒë4UÀËR€·0‚ž²¨øÙlùÝy $ ”…ÿo¥„Ôþ¥¿›Õð_úYQ0’õ`sÝÈlòc®-ןSVþyÅÏòý6ûc2ø'öM؈Å1ØÆa€_Ã#'´T³0Ú à˵¡Ù (.€ û‘díq“êÿ&ÕA -Àµk/¿¬Úú‡. ª§óÖØî¯$)û/à“ºØÃ¶AtÜÜ.@ ÙÀ’Ôõ1ˆA#\€ðv¥mnBi·?í÷ë£C6±ëE…Tvõb°^Í -êo´1èNëéöËtKÒ —/¹©q¿ÍŸæ­ÅÐD 9`ž*ÿ!¨†f›?IßÌïO¢ ç-„œÀ]€d¹îWø/$€oŸb `B1t6ŠŽeV™Þ½ú«·—‰z8†v9Ö‡¾C`ùé½Ç,TÿDÆÎÀvî¸{wmmõäɵյ¥ŽTýQ¬ñ½ôþÉþšúúÄ\ª#ŸËÎu„托‡Í϶›ëL f:Ö¦:šOM0—8ˆ€”É×€ÀŸÉܾ×äó%jÚb Gk–Þ?èsšˆ5Ž·ëŒ‘€ÎîvÖ9uc˜Îa#öSÍß¶‡-aî„ëŒØ yÀXgë"˜ ´Gè_'¼l ì;ö˯¿¾ï vÝq[Zëäšd€rf\Uþ«6ÀΨ¿3iÿsË?£ì‚téÂmb üð¯j@ @¬Ml€.m/`e ….·O¾ÀlA(ÿ\3Âäφ}6þ[³YkVb½rÎŽÏj€YÔ÷0ëÁ¦Xÿ÷ˆУ z³##Ùàxüó„[ßÜÚÜÞÜrlm Øg`FdTïE¼v0 Wg¢ôg' -°ù˜#÷ßд–q«Òþ¹ë;¾Â7qéO¿qX/‚YQ²#ÙÂx¡Tðòü€ðOÅ÷þ³Í)ô÷J_žI@H:î” úe´/«è÷€÷ôÍKTûß^Áie%{›U• äŠ%€WYQŠè§_É-XU÷‰môôßÛˆíˆúq!óÂ¥¹ÿ;$ pC²€‰G´~õõ? GÛe‘àã2€-Ƕ0€"'« &M°~––ûÎEªÿ¯½Ì1À=SUíÿ Jà&€HJøgzàfrpˆÞ¿ ®±ðv!+¨W@ßæ BÈ î…UŽøIû£IÞ àÇ-©O£7•¿ï²^ Tq?I´ýõÑ›óQµ2P¯m öK&0ºiš(@zqÑ¿Èz€-Ù‹HBz?šÔðث×/J#¡ õÑrBû÷f4j˜wè]˜ý|¦ëÛ¬«.ooëƒímG×ú'»vÍÏgÀß¾pÌyý±±ðcL ÔMÃx—(ðôäÚÚÚîPGh4·à!PyÈ÷Ø?P³?”¨Oøæ|ã¯o®Ït #~æKÓ^*îÍæWŸjx*Õpð`ÂgzÿýPˆ^#R¦W}ŒüµPL &³Ï¼7•åŠGk)Sê9g¤!¢368uN³n޾0UöÎN{؈Á Õþ¢a ýSWgœ&6Pž¦Ï1Zt†íø*„FŒv;ü€Æë’pàÀ›oî;à -^4½2 ð.@zÚM( ¯H*„çÂC©ÿ.EÔàÀƧ+ÕÀºò0PıbÙý'WbÀWâ¼*K€9„&œ˜@ðþrI¶ª M -@þß8e ÷g…È ¸@w f@Î8ÜÝ-0„Y€²`9ÀÖoÎ3n} `{K‰EöðßÄDü¥&Bÿø2ð9>á¿Ö>mýnßÔcÍZ©¾î ãÊô…7Æ>©)úõœ½œÄ1€^&žÜ€eW §²,ˆ•®ýYð -n–—xÜŸåv®¨è*ü¹ýû6Z·¡H$ Œ0SÐ܉#Y…ÿôZ ®HêNKü½§9ÿÐî/rÑÏ×7Ê~×âÃê‘\2ˆà xÛï”ø;_â€bžÛ ÷"ld&â*ý¿I¹ÿ>ë¼|íåkgE˜šêj¬†93þ¿ÆµOÁ` D€CÜ „ïb°ç¬ wšýƒþ·¿W9! J¨—Š=;Xˇ W üTU®øß$Äæß¼‰Z_6ß”ù¿ªõ*)ÐÏ ‡m6¬æî€Þ¶¸({Œ0œèvû“~Û¢Ÿ·—;ÑÄr.:ï -Ã0±±¼±ÌÇy¢xU½úî²cc#º>ÿöºž>奡oŽà‰€âŸ¿èÂcoœë„`ì\§aã鿸5°¶º{ôÔÉU"«¡"¡Ð©*pêTÿèõõ‰”¹Ã“›ë˜koŸcÀdªkð™Í‘A3¡ÿ¬ML¦ÞO$Bk_Êl¦’ÿ©AÓÁZiø³DM0Ö_8J4™#ôu:s]D×n ˜pÞÁìDþ.§1ÈôÑi‹1Ày@,èØJ8£³z³Ûí8ðú¾7_8súè¬ì¶µ–×U¹ †72.Έe*õfp‰8ÀzÝFYÐxÀ§€õBÚÊ=UUF2ØYªâÅõ'¨=2âTuŒg #¬*@˜àì÷fKZ€6½ à½M$€{è÷Ó•Ã6xYÈsíŸ÷öä+³#Ø\(Œ7}ƒÌ7ë˜ôÛÜÚ,nmÉ_|"ƒp X6‹®å¦Û»šˆ,Ç_È@" O.nný.ÿúýÒ­A²°ª!K«ºbç’0PõÏ$€ ô W’½^%Ýg9´ ˜UÈ7¥òu5* #ùÞrÍNîU£~2\l—@6ܾ½R‚p»$£œ(ß»¼¥X9™®ŒSñ/£ÿØô‹Ð?MýWkþdéµ’4=àá忤º”À&€Ö¯‘'~Ù­8"™hO"pPk¼©ÕªÀøç|ùÙ·Ï^ãES,ìT.h6ÀÀC€}Duí*àÆaoc£»ç­@üž®^^ÐÕèïU)LléE[šˆ€ô’²ýoǾž$ÁýMîÅÓ)z™Þ•ÿ¦á2Çýý©&Ä/Õ£¾O§ù]•ûŸŒ6ÿ×·>Š"lئŸÇ¼aš=‹ ~ùöɲ£POˆÞäœ`Œ–Ù¨¿Z^n€`yÛáØˆ;^YJò­/Í'Àò|3`±ÕYƪûÏ×Ãa4œÜ¸»zòÔ©…Ý«  £¹\(QE^{­¿õO––þ©¹ŽKÞ¹¾¾T‡)å3µûÌ0ñ›Ì{}Tè›>Õ`j8èKÔ÷%êkj -Á„ÉwÐlªõ™žb ÀlöµÃ#H XSc:˜2Í fßpdãF3[tÆN‹*~Xÿa6„yÀBÕ .LŸb± Ø?€.BøoÌD°à@G´ÀbØíÇB° 0Ÿç @ h $—Vþã çŒýÚZ€² à’&ñF¦l¨\àí³,倲àj«²UÓ!¦M–G´þ˜Ë辨à-‰Àƒ+ÌÖI8ÿ¹À nÀë›eîp ÌÒñ§k‡±[X¤ˆ}s"Àбuõ›t¬c…ßÿßà—¿ß帔 ËM/-ÇãË/Å98p‹þ&¿ýþ(žl)è-HÓ\0Ÿ¯IÖ‚èÿôÁÈ/V&Þ ¨ôÐfDöf9  TæYwÄè©ü#=9 2¨ïU`¯]0üsû…ƒÿ²ùÈÞà6@‰Î\*;ÐÊí Ÿxeà +åàÀ?¥õ‹ÉÌ*Ÿ‹pǧ1lll`Q€Ú˜û:•¢/ÝâØÚÜ”××êæÿ¬¢ÿ>Õ9û2L¹§¤P%ü¼,’°MP“˜þïÑb5öÂØ(àï–!8ÿYAèüï‚@nN#·Ñ5$5}¿‚ÿQ¶Üä.”. ¸°ùÓ@vºÝË7¥ðGJ°þ¦-Ƭ  (6ˆýˆ#"¨§ÏÞÛÐ À(‚^ohŽ2OØ×¶ó;,xàÝù]Cøo–Ó®æ ÿeÞÒ¹þvqûrtzCïF£ßÐôôOKøŸ;ë0Z_wŽðô§„­‘À„ߺ»ºûÔ©“»×V×vŸíïïͪÄdœê?Õ?Y»¿>T«ž0½Ã3×Ò>gn¿Äc~„ëßð\0Õ@ ÿÞÁÁÁÁ?ëXªI$¡£…¾Ô«þŸjxÏ„šMfß³æŽDÁÕv4X“òùt:³I—4Gž£ÞiF²Ÿ½Înv¢ëo ãÄqp`,€  -@'†ÂèÿuvSçŒ8#‘ÈŒÎi7¾ÐìÀÓ„ÿûž=s†“½‚dÊPÈ(`¬Œäe`¬úÓ(€væÖÿÏnEøTháóŽ]@hS£€B˜ÙÑþ9@Ù¢Ö‹_… “T¢¯Dy¨6ã·Æf€ñÖË ‹ó\ûË)¼˜óoÖ#þ?Ø»UP<ã0¯xõ›wlB÷ÏL@€&]tÅ_jEú?‘ÌôÃá\Àßx²bX`\¶–yÆ`„Ú?×Öªá¿KÅùÆTÊµŠ»,*ßÿgÀYØpmü·}øÿHøú‚>7ÑEtÉ Vd”|nÿ_#ÿh4îTí¹ 5´µ?e -pˆ}€€ý0 ªÏCD0g² ÀÝÓØÕÓëîô÷ªU¯@èí…cÏݳ˜æÍ=i¿¾jßî'´âóTã—‰ܼœ¼L¥?—ø7oêoÆ«dà(¨øO²pž>Çϲo´1×Àu=6`f éO&ç!È8A•Ç@1ƒAö¿ÓüîЮ]Ë»–_Z^ÆV€]˼¸yy{yBj1Ã'o¿½+Ú<±=±‹£„¾í øçû,0Ž]7^'`C àºñ#ËäY[Û}êäêêîµÝ»wŸŠõçæ:ª À©S«µõ80Ðî Í…Ú;L‰KÏv¤ÚS‘ÚˆyШõ >õÿ<øjj?C5…D‡#  4ø|¦öŽgë=­®`M(‘J4êt¦ˆÉÜ`~ά³Ûf¢F} Û°ˆ÷ZÂa¬4ZXÀª`žÀ¡ÓEìF$àÄHöØíÇ@μÀ&@¯WŠØq<à° ^™¨ôâ¥Ø/'¸¸ðæ+ð¯²â½ÏèìØÀ€(mÒSUEÓ4µ ðÉðš‰75ñ, –{Äì?®øZÈ6@®üggyQ¡~VöÀgÉk¡äyî"ß=Ç‹†=ÝsÝ}¥ûØ @ öâ¸ëê7ñX—Ô¿8\˜Þ Weá­D¨üŸ ò8àæöo¿ðߥ3óå…‡ýˆÇ• å¡K”ýòË÷ª¿Âƒ6HY!ÈCx ¥’à}I1HŒƒ¬bÛ•ý?+9BYIüÙ^Øk ø–AE²,°ñ¶&` Ä@…qUÿWªÿ Š-^±ªpc ý%è7&vîjIàeyæçâ?®¸¶ è“«ßžƒðK,€.×££?d ŽGéuh€ÆÆŸí$ˆ¨â¾K¥³Õ¿±"ìÙÓuð¿b}.n“L`ÄžÀ.̤{d„°«7aº”æ~žë÷« ~[U¾|í2‘€Ë¬°ìϛҶt¯7º§{ebÐ;e&AÔBÏâ‚l¢÷™ -ÐMéhr>iH"ÇY@óˆÀL€¨š !ª)ï ½Ës»ví¹yhÒ‡¸@¼«ËÛ»Þy÷îå‰íó» ønßr°|ø'Ç=Ÿ³tÚ-€ ÜùƒÀc. hu÷k'wï^{fu÷É“±Xk¢þ”£Ò8uòÈZM}¢~2TŸ¸Ô1ç™kéèèð„Rsõµ“õp÷|Ï4°`Ò4Ø`znà~r`ÿR¢&Xùˆø`¬å]€í&Ÿ¯=€£ÁPâý»ù¹ˆ9bö5˜#öHjù0¶é Âá°Ñº4ÎÐçüñ†±?Yv]„ú'@ovgÀy ½½}_Ç™^„ÕöÞªá[\Dø îýc ð>÷µ €ÑŸߥÞ6˜Àðé€Xw 8”ý¿Ï.YC̣ꔉ©p ¼DŸ«Ÿ7í£†y„†æ%OHáJþÏÏÏ– ïxø&м è/Çy0zž/o//ÿÁìÚ51ñ_' Ì'¾ÕàGO,uoXÆ:-aÝ1{øÜ9Þ¯˜Á: »·VwŸ:¹{õ™ÝÏìÞ}êµX[G¢š¼¶ûîêjÍ${)Ï\ß3íK·N\Û½{ÿîý©ÉÚZS=¦ R‰Ó n°¶–xÁR(‘Õô™|ƒÿïáŒÔ_{‡¯/Tpõèèн¯3›‡Íf“q@:bvÅ‚n>úQõßYg´‡9ÿ§‘ÀèÀþ'€uÀýÚ:&vóNûÚŸÝ×" -çÚòÚ´–·rQÕ¼Òùךò•9WÅòÏnA~•´‘‘NÀæg WïSýÛÚ4`Å ¥f‹•46¿ÃÒ€¬ã¨) Á³pŒÓ¿Z@Y  b€¶ P€ë’' •>Ó 1Žgµ¤Ÿq°®üýÁ*zPV‰˜OÈI\!ð¥i¥•ÓúÚ´Ùÿrñ¯r~Ô£Z®Ý'¬ßOx  ÈÁAñ üváÿæ¶Ì€Tÿ üãüH÷ðÉ•³,jüù¡Ÿï0¸ï9à‚ÖÐÞ°@Ñ6ìi¼ ×ÔAµG˜ÊþFwš¾m€®.*Ü»}Œ±@ÐÌí§ÑPKþô;|o³ýf<öàË»LØÓ–ÖÛnF›×këÁv?¤^@àNÇ"Ëÿ(ó¹·€0AÎö#,>*A½‹šúD66”‰$`0ìzgžkÿwßy©€H¦3vqDpqy¿‰åèÛ†¡‰óÅóHŒê Ÿ|k ÀÖá§ X,cÆso„vË–ë×Ö„¯‡#—0¸¶pêÔîÝk«hœzí^b²LèÝSßf÷êÒRýädýÉö¹B_{ÇÜê3k»Ÿ!º°ûû»WWïRý?Pû‹ú©¡apøàäþ#õKK5õ5+…‚÷†ƒ&5hòùRÿ{(äj;êóu˜MF³ÙÒ€,@Sà9‹ÑlÇ’"ˆ €€éÿa‹±"€ÑŽ€I2ê~ q✞°ÛíνÎövÂÿ±”dª]S° Hçò2ü+ðÍHç¿j/ 6ð'"€äo¨Lî|а~µ -ÿË /i±6¥Ä´>€ÃUmŽÊ¨ö(ÑÔͯ¦ .€Üx3f¼ÐK²#Z¿·Ò`KÀ,¦±0{{6‹n{$ýŸÃ€s`V”€n6° ²€—é+߸Éݔϟ¨ÜF,ÀVqp´M—­·D,`™'áZ›‘° /êXß××2§ávIÁ½@{p\¼²x#ôæEç),×ëAnÔ¨…€¿DGß²ü/Z%D; ¹ â„]Ùrš0_ Š™Fyí£ÔÿhB¬° 0{û¶jh€)‚u%8Ž,£ÜJNôäðnÃ{¼¶ÏÕVñýkí~m½ÅÃŽð_1€Llc€ñ{ß63€:¢‡çÿ[›Æ™X­xW®|'¨†oT›€Ë -SAvAþFMÏ ìÙ³§kÏÏ÷t©†§ Ša@bƒµÁÞ¶`¯” W(@zG¼¹ /#¢Ø#»ƒ‘í£¿™Ò#èG@Œ@Â…mNä„mçƒû8—ÿA^u;«eeoK‹@Ô qN+\áÚŸÓ sØgØÊ -@+÷þy˯Kóý9v”ÿAÿõ‡4Ô ãÿ½¸ËõíÂÿ-ÎB!õ«RÿÇGýNzØðs>ƒ4þ -Ù/¸°g6¨Šø0À.@ý=Ì^€C~~As hݵ@Y‚¬ƒ@P0v r  w1íOk@Ëü©šÈ×–óaòÏO4À–ŽFçÏ’¯ §‡0ØpÓÆÛé.{ý,`a×è}Îø³Ùzý ù‹‹z–$:Øð€¤^qݯ ð2ažˆþÏð¿3ôîÔþÝùî¹X»yCÐWXÇßÞ Çúgr*ÿ3ËTóolpðFf ÌQlmjjŠs ‚6·Ö¿hÀ³Ïvôu´AáÐ%@ÿHVx—ºð"w‰Ëùë1 ûLÐç§âž}Hlæ{ ¿ØˆÄ7CȲ`qÁ‹³ŠÈV™ö³Üc°_±ò ¸ð·^áö>l€œùå( ñÛ+j&Å‚+Ã?”ÿ/1ÎAYËq Þ¿'«~*;þʰ^|àJþ×wreÐ’¾uÀ¦„mH¦ÿÆÇ_Ì6=5žâÀ©Ÿ h¬2@ ÓÏ©´¿ ¹«'Áè3öì¹poÚÑ%‚Õ Ñ}¸lü˜U„žÞ0xöméJ <—§üxó7‘@ÿü+üþzò[ô¦þ¦Ø@To >Þ@€5 E©Â74Ï7ÏKœ¯ÜiR øy@€xô¦‘ˆf€[oë%b°¸èvÛ8@é.£Ñwæÿ€ÞÞy‡=`óÆQ€ùe´ˆëo²Ñü®^ÿNT?ÿ+Bÿ·š›‡¢†o%øÛ–}ÇýŸ°Ö;œ&þ«ÎÀ±H¤¶öÆ]üÉÝRÿŸÉ6YjØ - §kˆù¿ÜýWTV Ë­.ÿ¯?tP–àô-ÃŒHª×ÿ‚ÿ ×s/Pp4N]a€lð3¸s`ú3ü7ò €Ç÷þùM¬ŠPùAîFÞäföÀY<+ÈÉý½~=#3ÏóÙv ã]Ö(@Ôp3ÊÞ<ýM?ò~nú{lìÔç 1ù%Áæaï7° ˆèW÷z±&…,¦Ó½œ>€B?ÑÅ^ÝHß{Š•Ðfâ|ôí·!¼mx×5¼Ml£™€ß0_9††8'˜XÀö[ËCoc±a´y¢ùü[ÍXC`øÖ€OŠ?jùÉ1Vª{Ýp¶ï=`¼N °œŽüzò•øÀ´N‚¼vòäkÖÿGûþ¤~2„éÄ, …[ssög‡Ùì›[Ú}*ÎÏì¾»¶¿~ÿÝ#µ“&ÝàÜH¼¢?—h75`𽆃`©DÂSjÍ…žÔ^*üu¦ˆÓät:#ˆQ7£s"âë€Â–º@'ä~ì®3†;év¢D†%PÿØ,ìÔéÀ7Ú}íLú I£½* -€µUö³@§ IRðŸÑF¡T¶þf*Ãÿ|âìD¨AŸ®”­ð)ò@¬­2 èr• @Õ&NøªÀv†%ü¢ -„'¡Mž–0̤‰öO¸ÀpþÁüÇ™@\ü«, YŽ<ì™ëÎñT€$£gý€u^ô§‚|ô²Kü§ýZ·‹™eúãÆãMMËZPMi¢ôáÁèlÁÀ`û³ûž}–x)‘ÌHæ½jöKüÒ=‰`$¦…˜%,XÆv¨2b„ÐË €å Nm Aôƒ¾â函TúAqêYùÇÌaPK! JÒ3 dYÚ— áÌhÀ™Wdü£þÇêâ\þé9u/Nå?ÓÚ¢ËXuÉ¿Éh¿ùô¯?Ì ð_äÈú–Y7eÛ¸KÍÿKÜöøcÞÍTÏ•©ïM½vejêÿÄ0 Êº )8i£\ý7–Cƒ¾G€=Â.”IbAzd*!ŸE^ ØõqOOÏÇîžìïSG•°*ø2û Ôñ(Íý„Ñ—“6oÐÍëmiôôù›D æ Û©xWÝÞõÇw ­ßfC/@LþEú2ÿ"±ð[oÚ߳Ȧ$ -ãK/'/ì¿CTãí(Ôÿy  -`àÓPó¯–ÏÓÓº¸=± ‚¾ïÐù_5ŸÿÕ>û[§¼4{øÍëDo0FLûÚuËõÐ{&Ó¥ýGVOj€SDØ;Õ¶¿ar²¾¾°ð lTÖ/$:‚sûžm79[Ú}‘ß§¯Zc€¸Àîµ»ß?²?uð©Ú5 ÖN\MédÐT[ `¢¯Ï²¶B} _»À •ÿÎH{DgþuÄ  ó4ý¤Øüƒ@Fcgg Ó„þôÞ0– c0rþô6Hïš#s¤ÝÔŽ€z\vtôµ´ÌAP^^íÇú -Æ+ïxïÀQá™-yJjoRÁÃÒ?GøF$ «àžÑ¾ÄÖ e*¤Ç}p„NŠð̾U ¢ã ¬_áôa‰zYXW‹}Ðô`å&À¸àÿ -$Nýcý_Ê¥©q€wþJù¿³å¿Éh¿ùï_5¨²9(OoÀ!Û'aÿ?›1÷~z¾75uåïŸÿÞ÷®|'ÅÞDWåý©ï¥þï‚F@éÿ8ýñ_øÿ¹{ÿ˜¶ï¬MTkâÊDf Âcl \;.Ä `Ç‚ÄÅtœõÔœ Ã;J£×¾¢-êöÄ?6"£WÓÒ]¥“ªÑ»šŠX P!5j˜Mf3]]ÍDºUµZ©Œ. \]©N“˜±f.0a¢Wºç9çóýÚ$i§mÒüúbŒÍc ø<ç9ÏyžÆfÖ 6–Ï1°{GãR!Ý0칎e¨ö¸kÎ.² Ê“••¦¡€>ÿ÷¤R& >JqBšïTÄñðjÁ‘ó‰àˆI4|fÂàòeÀ†Ôe”‚—}#}—#)‡)B—ñµ•#ì@Tyçð#¨Ô –D‡Àß¿°òëÿ¶r²Ònÿ¨ÏÞ÷¯_È€8ùQ寳 -‰ö¦ÀiªýŸ1 ÐÙµ­Vƒw~i1òà;U2<[0øÎÏ´Ç85•¬í¸´žÃ–ÀÖ/ÝZí꺵ìšo‹Â 0‡îŸ9€ªê}Õª7;b–è8êÝìØ* .i´Ð #€Ãµ-‡ZŽÖ; -¾ÞpÜi}+ê$à@´_ÔÙë ÚÿfÆì°ØøçMº0!ÄpÌl¨1DÎ1v -ˆÊ"€3Šyƒ¥m#€c‹‡a‡‚g6Ž[™®×Ò1|sin|y6äÓâõН/(Î2þ3Ú;àð5õŸ1è* R?¥ÐGò$'³€|™njëÑDé`‚7‘ÓÝ0©Õøèn©,lE›æKÞélvrR´ÿìÿ‡tÿÙp@‚=€ñÔKO+N¼ òŸ L0éM×o=Ú'ÜÝ‚ÀmxÿßO°± «ŸÌNCq…J?|òE´Üñ¸Ž®=+¤)íÁö®ýû$xÀ«2˜±¾'Âþ,"g¼¼KÁ&V ÝH‚Gƒ gáÏóüÕþ«Éo Ü+FN¯Nªê߬Ôþ´ìþ1õ¿†éýš2!b‡¿zVÈÌ_„jï¡/YKkÕß/ý¿ €;ø—âÙ¿ú3n¼§ü ØÚ-ýß(“”!Þd'€Áâµg ˆÐÄ„+.ÿsŒÆ¾¯{æ½_,½÷ÁÏ>ùÙ{¼÷Û3ÍÚ`#—xéðe ™=†J€tÿü C¼10Û8T> -à•OHS …¨ä7„QüéÜ€Oˆ©¿–þÇÊÅ\„`¯ò䯩âòjóÿ>ö®¬´ø 4¥F"#/ø8uÈÞçãs:ìH ´sì¦Tûí¦Ôe± ö¥"¾Y4ø<l -Àüত\acSŸ2ú¨²t°]_X¡sì˜è»ÚM'_øý¯·WN.Ÿ¼ÐwóYÛÃ{ÏÃð3þ^³:ƒ–«§3Ðû/ÿZcŽZŒ1fÎj"€ª³ ïüü燌Tÿ§¦j§:ÐÒç.­_Ê]™JÎ´ÕÆj“A‹1J/W7©êoV«c½næ:Œ£¢¨†Ãà•®«m–ºÛ¨þ·AX{xºûpW²+Ùf±ž ºïDå§òÿWTàìó§²!ùCB€yìÈ›æ#7kØ00° ŸŸ X-жÑñ4“¯ŠàiÍ=íæEÀCPÔíuk_ ‰ ¥÷çJ¯µÿù"ç«•À¢l -þc@žÛxÎ ;‡â‡4  ¶ ÈR-Ÿ½Õ°±ñÙ¨G8Õ@ -Э i¼Ê#€,²€°8)~lÐ@kÒ&z ´&°À®@¢¤ON?Ö0¸øP¿u?@&î®(¬Äó; þBÁ]„³_©‡~1T©vò;Ïl²¶ÿ¹½i×9HºŽ¶,Â0±E7ô÷Š…r•ðˆBW1#ù;’Ü2ycA|0ÆGb£²óíf€ºi Î -¼ªõÿjÀvƒ‰á8¨ù'.@£¯–>0™.¤u(‚Ôÿп’_)ÿ‡â²Uƒ}þîöcWýWÿ Ú»ôú_ΰk€¸µgmpmKÙŒÇUý¯÷¦¿ÛT,üÁ™ç?xéç_úa€p3v¡Jõ½qhNí 5—ôk,A㦜Ýå¤íb…€3B‘0€°‡ê?fñ^Tc9•lqv‘uúÔ»SÃýÂM;"F¨½fc`8B×1Qá³Ù¿¤¥ìØÄe:.GLà8Pý¿¬"„}\ì#—í##tK \6ù@4९²OË {U÷+aü[É~„EÀ 'Oþþÿ>I¸$B7UùÑʯÿÛöï/|TyñÂígd{Oµhþ{mÿ‹Ñ¦ ÅB}·­÷ÿür>»‚ú¯#0«ÞÙüéTŒÊÿTGl3·ŽÄ :M-ÖÍׯŒIk0I@⯷¤ôo2°oß&ürûx¥ Ýfm¹ɶd’@òØÂôѶE‚Ö ÁjuZ-Ñ_Z ˆ¾e¦ößÀq€°4Ûz¹ÿ7k›ÿ(þ¶±7ÇÀ˜yñß`° Tþëp¹Îê´X-Áùù.ªÿ‹b‡ÎÏ’õŠ -À¥1™/«¼¨éý'8%h‚ë>]weèMFà@1ãRzÁ¯ê:¥ö³›ï–¶ €ëÐ!¹ ¯¹‹ gù†­G· Í  -W€ÉfpÌâM+¾?<˜Ìª1 Õ0©~‘ª•4þ|Ìàù_ÂÿºÔ‚…€žD"ëí¡¦ö'ùÇü¼CàöÆýhLyïùæ¹9ïY‘öi3þÆÙYÛ/· -Âç0hœ›lhnÔ§³ÍúJ Øzâ_ªäºÅÊÊpåß>ÂØ‚zÿH(‚îBÃËG.C H¸ã²¸VVB]JQÁ÷„|©Ë2ŠU"ÿ>5u0õ}t’K¾D—] À&A•'ÿÂIS -w§ò…Š_¯d~½lê3]yf€;qêíSNΰz10|µ$ƒÑ¨ã?0¼e1Ær—ξ£ê?;PÕlx§j³í?À•ÜzÕ%Œõs·:bÖùä•dÒR×e1Z,ÆêûY(]?FU2à¼TµosÁXgÅ@!ÿœL;æ?œž ð÷ÂÞSíoŸ¶õ"U÷3ǵ¨çž7Σ¶Ï¨Év|j\í¸¤í2ðÎÏ««ßih8»¯z ÖÁÇú¥õõ³¹õõ[¹©äü*й1j¹ZgY\÷Ÿÿ¿™€}ût{gñziûFЩ¶»ûµÿmAC°Ë:oqZƒk0èt:>38Ì̘ß4Û6äÿRé·Ì5c’4 @À`s4Ø¢23œˆÖÕE­QÞH1àúß² ÔMÂÔ+ K€8Wñâ æó'ʾÝ@ÉÊ"PãÙ]¦˜áÏÉ|… €6þ@¦žX!€_@€h®Àƒ%áô'>J€­ê%‘fA,gY -èXs¬A0`k€¼ÿŸe' ðýè[   K± 8“hi%ÐÒŠt€±®Ë<‰€2Üw¼HE¨H=?tÿÅŠåìrE¶! °Áõ£ Akh€`[;Dª]­‡{°…¿I°Ž2‘ía^%Ûòg^XðÞ€ ²þOÚ ÞI%÷W ›^9gŸë<}uð -$½ê‘æÃUŸ#‰×$”½za“7”Kà$lÒú[¯—¨Ø¹î¢ÆŸvQÊvÙ¢ÿ–>æß(køïó®Ý#eš=Àg¬þooå™DDýw£ù¯ÿîK1;Ï_úߟì=ÿÉŸÞÛûÒ^R½¿ªðýJXšïS•/í4–ô‚\þç´òc!VÈ.]4€aOˆª1¼0ÊgO 'ù™ú”¯MzP/×ðð>Þßó±yŸo„ð›þFBhöÙhà2l/CôÏÙƒ¦.§À4à‹¡ÿ÷±C°Zû“}BIV!Á¥„"ÊÊ>ñ$é{¢¾’[‘T Pù¯?òyšÃö¾*àüû%;؉gL$ö¶Ÿît:bÀµX¬ÌÊÛ§Ž 1£î^·¬:ûÎ`UõÙ†w¨œŸ]Gý¯®ÚìèÈ]¹råÒ¥õ\ÇfÇ­ÕEËÕU‹eϺ‘ºº©·ýÕê5§ ªùÏV­ãã«øŽm@€draáh0øF°Í`í²¶A¸DëµZNýœ½fQý1˜m55èþmœ Pó&Ò 8h&pÐl ê?Æ$À‰º¬lKÂàØâa8p‹ˆËÅ H\€Ô €;û’ôOÙûÐK…_Tÿœ¸òñ¯ãÿ…þ׃€©‰ÂOÏœ®»ÞÔv±@›0O,ôëU2@ö—IOÊ€i€0À°Z®üLÿ÷$x#€T=G9¸^= ÞȺŸÄgæí퉌»0œMœHd ôüœ¥ª"NÕ -k€+ñL&¿³±ÍK…|G€• .@@pÿÿÆ  kñèâÌÑE†bž$FT²O½Jvûki™¼Á nèݯ¬zTéWU^MêE -",-‚X!”)+$Š¿Ž1€L¼ì&µ­±ý{ͯ±ÿðþÕ<5$P{p·ç_y¯W½ßØEì^$ŠgLØ€@1ïÿôÜÚÏ>üàüKþé·KϽ;77Ç9€»Š{?Ÿ”ÊŸÛ{¬ –#(`n¶l@,„<,ÿó|ŽX÷¥<×Sö”ÉçñøØ¸ÏdòøR}#)M X~Hc®>àÓ5ƒ•¾ˆï&ó÷öÊËC˜&ð¤!fØfÛ~TþÅzˆcRì G@ÎfÆŸá…]v´+c`“T{“©”RXزX˜Ê>öâ1@Èô›>$ ¯¬œüÇGßû™ÄÀÛ½6|ˆR×=oì¢Þé07EÛk¯ü¨ªªD¼3x¶ºúY ¼Býÿ:ñKëµëë¹õ[t–4F§ŒÉdôÄ”ÅHàuþûD -°Y"`@·te -{€m–ù¶¶ÿ+yx!IV³u>úKjÿ?µ`|ý”î§NP`À&¹ÈþaCLj° `£â?Æs€(#€=ªþu„k4@O­,@£¤Ë4 €2Å’ €›~z+‚蟘Pr¿ µûÏÝ¿•^¾b TÿÙ‚^ÉRk€þ² À ¶ Wf€²5ý¨G èšÔrb_Õ²èQZnpSÉ.Àh0³Jû‡ö? »ºì 5¬ mÀ-,×}Á=­ЛÖW9?Ðý$VqÚ¡ÇÞUÈÒPp‹®ý ^7Fÿ y¬ä·5‹§ïz8›¬@ü…žëÂ2ÀÑÃGAÌ,rjòQú–­=$x™bfæÏ,`žˆ7Ђ¶ R|ù·ÅŽM^ÑñýDF÷i.ûLø VW¸úˆ ^,`ñ—^ƒð¯ ÒŸÿ£Á«¨üóæÿ!hÿ]ñC~æÿãjÀ2ÖÁRÿ¯¶îù ¸kPšˆ ýCSÆÅʬˆýа7ð™ìÍÍã㦠'+V*V– à=õà}$ýÁáì ü‹­¦×f³9l¶ÓQj¹“«Iã*õ$Îdm¬výìº^ÿ«Þùù;\½ùõ?æj¯¬W½³^ÛÑ1•L^ÊUmÖvä®Ü21c]Ûžäá={ŒÇr¹þõM:XX¥£xáærSmTü Ì'“ÇŽµìwv£Á$÷Á|Šößi0üÊVã°Ú° ÛGùˆƒýkŽ@`3jèÈ6Ø¢'ÆNÈ:À‰(×ÿ¶äþyzj­=|ø0ê¿— Uh‰0˜pß‚æ¾ÔûOpå/uøJˆÍ?æý 0ðI€¾¶þohª'ÙÔ“‰ -Py ºJk€üÙ[ ×-°­fõÝšS\7æË^!—E(Óñ©C hTì¬sþO  ‡³ÿfTñÇõžD+bZ{f޾ØÓã­ß~òž˜·ó_d2+îe4ýÅbÑ]xúÿÂq„ g õqرðƒ@Ä_Ð G×~Œ @`õèbêÿ =R‰ÖV¨(zfÌ´xgþÌÁtvCþ+àîIþ a0©ùõ*@cÒªðKÅO—€êÿ×XÀ?°Ë*Èõ¾V¬‚Z”€ôÿœüC¯q¼ËUŽfÃÝÀVî¢ÏP ÜG8ÈÁølÕÿkþOpú~ þôÞÜ»¯øÀÿ³¹3gμ;WFúó"ÃÆ¬„ ±TþgåSKR€!"¨Cm@ˆÄ âamþõ”φèúoåõI4ÀÇö]À—0éõ_‚„¡äcààé ¥°€  €ôO)f Åt€ºˆ@8E.›ì˜Vð.Àµ‘[AÙè“„iw~ÑM î8ùë -“gÈþÍÈÒJÅrÅÊ’/âS¶½{Ûß>}ÚátbÀVcûךÀ¿:ÌA‹ÑH ¹JH «¶öÖfŽûÿj¬Ä5æ]¹réìÙ³¹ÚŽUãÔ"LþoårëÆ©èæúcíÕ^½:º¾Î€ªM†ØØ'"€êê³UÕ¹ÝÖzm²mÞäPÀc]É.ª×gP¬{„pD¡3Œj h°Ñ i@¼h†(€ €­ QÇÁ1È&à ž%XæÛ’ÇXpxASšÖ%jw• Ô´_vü\âö—/fdÐ/gXrbý?d¥p}€;=×ÇhA—ËÏàСRÿ/CòºÔ£f6”p½Š§ë¦Žuàšøð -'àx0ÿß"¶@L]gÅúÿV”ÿ£hý°!@OÏ Ç×M<‰ÃÙíüÄJ|åx!ûzâÇÙŠŠÂñ¡ì°;¾w¿_p»ýœ°¶`û~5°ª¤£-ØÄv•@‹b °8s´µåŸßð8`fq¦eF­ HÎï ÿÑä—żMZUÇ®’_NÈ¥nѰ°_>¢ÿzÜDAµý“ 7ºV€P’Å©õ—¥p¬fÿ×ßý³¥ŸË4l«Ìûgãþ[ƒúÆÌà¡g¬þo‹úò¿µz÷ƒ;ß>ð³å¹ç?8Ó<×<7×OG£ZT¥Ÿ€~µШ’u  ;jÎÁ¬˜Óƒâ -ÈÔM9æÿ)“ë€>ÏšãH~vO˜ST§_ôª¿û0i•žz|ÝOû/GXÈÝ?ßt*Ž?!Ö @¼ÄØãÑh…lƒìZD hD‰€ù¿Vóùƒå@;™|ôÂÊ…T³ç7¿µ›*V***–¾”ðã§d{Ûp`ð¯6Ǫ̈“ÆÕ©©©Ø¼qsýJ.§÷ÿ\ôßù¹î \Uõów®ÔþǪ³U ’WsëWjc¹ÜæcÝUc‡qÏÕ«GÛêÚ,—ªr›£ÔéçÖG77K2Iâ£u$Û`ÓC·3ÕÕ•¤Nˆ³ûèͼãQ‡9` ˜•fó›jÐ&1€GÆØà`ÍF¿á ½Œ± ZgµÖ!qGW×1HZn`gªOr,ô—9S[Ï;xŒ'Ô²¿K7@©ŸPj?,º˜À{”P0Süz`K‰žñô'nÿ¸}èÿüHÀ!è@þÑ—5p³ °[˨}uR"eÐôß`«ÌxÀ»€-ˆ ðÿ a­-3‰E0‰œŽ¶2 b ñ'ò¹9ŸÉ¬Ä3ÅÌŠ»0¼œÎ. – …aD¯¸¡ÌÐB~{ûÕíMô§t2 `¦Æ€‹=G[Ñú3`г(€¼¨ã†˜/Àô;.Ý2¶™ÔF÷‚ -‚ê¿ö`m,»ª8 žíÿË”L1H@ÙZóóÿÑtÿ̰›±ÐÿËéžì¿­’À†(\îRÜÏ 8ÿŒ)®m]qe¸AûC¸ÁÛËgÞýÅ{ï93× ¿1äÒj¾¼™Õ†âõ£sÿýÊ@Д€åŽ@l3pðþA÷?†ý®[)®×T}#a÷Rÿ?¶Û¿Ôgÿ÷¯ÿ&¥ -à.Í¿ôö—e€BÞÜÇŠ@ŒÿOž<‰ØÙH‰±øû`w|}&ØÛUÇV‚Vßa%,qêûêoÊ×q†€~½ò›æ!Ïøø…¥ -°&õ-ŸbOì=E pDÍLlÿËøïæhp~Õ¸º:Ÿ¿[ûr9÷W—(µ¨ùÎ^ºre½êì¾Í©.‹qêÖ%èr›¹ŽØÕ«1£Ñ²Çr¸®®.¹Ûì Ú?šݤr÷¿o_µ¾ ßàÊ(Ô¤'-–.kpž^è¹Ð -€Ðh}º«Ž^êúˆ‚>À¸ï5˜ Ô˜ 5mm6ÞcˆRí·ž¨û¡¥ÍjÁü©þ·ha¨à¯WÎ%,,º4Ñ!ÙÐjϸTÉ—ÚÏóAtéÚ7@[BˆÏÀ 8‹ ðСÒõ_Ò€4à­k`п&Kb“ZfLùö4€p“ †ÀÈR»3/ΰ€Þ&²°fívÙ  }¬'ë=þdvg™Œ»¢PÍ?ÞÈf‡é=Ç@ 81ñÖdŠ Z­oðB gV`°µ•ŠËb«8@€TÅ™™}Q€—T”à ¯¬jÒ/E ôK§Ë €ú»“ë€ú& s_!à( ñÄxÖ×60þúeúá(avÞû䥟½ÒÿÊ™?¦PýUËß?Û_º\‚»ôe‹€C% 0;ÇJÀYe!ÈêØÿQwö¥°ÿO¥•7ŒÆ—¨ùf`·«p:}©sÿ:ðÝøR>aùYòa@ÀICŒ Fð*Ï!Ôy;Ü€e@Ù©‰‚½ÏÎ"eˆõÉ$îcö¿ò&›ìb!Ô›¸YYyrùä ™JÏÐoÿøGÓsË+ËËK_F`Vô( À÷†÷B°ý‹³ó´ÈYp´Y¦’Æ©˜q5v+W…þºÔûjy#ÙÕ"ã?{åÊÔú;UÕ9ãüÔ”‘ÐBC€X­±6fü©¥î?·ÕÕHNÅFc±Ža€Íß•k«K¬WsžÀj›%'€ÅcÉ µMNómAj‹>ur°@›ÿjffý{9Øü𹯀K6°ÍÔýÛdþ=Qg­³ÔY~ÈkØ< @ µÿXôR¨—ÜÊ»\&Øë,‰ú@üËÈ_[ Ä8 ãâjÏ ˜9 .ßw­´ ŒO·d@³€þOìSx°œÈëKÔ[ÒX×'a0­¼¨§ôJŒ²¶ê€å€7¼œQ_VßýÃ. @BaÔÂÀ™Ö‘´ $z Üx¬€ã+…åå¥Â²{¥b¥°²R,®¸‡ ÃÃ7a*þ™ Alo<@¢±®ES ˜ÀâÑEþ €УFç¼g)õ_³ ¢öÿJ4 C Q>PT‘wïæÿékJ ö¸Â3(Ôcø_€+ N)Hû@‘h¬ÿwïˆ Çö25x¿ö¿TþïZ¸·üë–®=s‡+> û…´òaÝâ»ïý ñî+{ Ïé?Яª~c‰üï×AÞé+a@é=³J>8;Ç›„³¥hlb@Å @_ø:´ÿv_8åó`€L`_$E¥–½zSã>½¬jÇÇJówÏÕ{\•yôú¼¢_ XˆÖÞä ]öE.0 pYßð]†I`ß”ˆöÈŒx5 ÏdW €#W\R!ìÚȂױ°üû•Š‹žñ Ï-]XZñ//U\ ð%îçÓ ò‰Ä©ÎSÓ*ùfN`? ÿ`{Û’œŸZíZ%kW`Ù—ËUký¿Tý’&°êlnauê]ØŒÍÏ'Wœã#f4N{¬ÆŸî9±ÇºÚÍ1Èmî0ÀyUUÿSêÿ»j»` 8ßeq"¾ï—huF Qs§Yyа™³éš!`æÙU9ð5u'ê¨ý·°k†ÇŽ^l9¼Ð² -@° çÇõå%ÞòÓây}÷_üÿèRœ5€(ÿrbxð&å; %ÙkÆ7Dá?DÏ ‡ôÒ¯I\ŠÀ¤ôQoò À¥YpN<;Ë äµr™þß`!@‘5,þçÌ:N–yuÔ=²Áx†GÙÜü·Êv;,ÙôöøÜ¼±Ï  -À¥ÄÒráxE¡yaùwE¡pÜ €ñ<(€ûåˆc‡Vµƒí×ZºŽž;Ê8` õÜÀþÖs @ ` -NX”3Q`3p’8ØëÝ­(h$Š¿œ ð—ëÿêy%Puÿüé„ÖÖ„ PºÂhtÚ­pÿõ¯ÂÇR³¼¸w)p—-À®@Yt¹ž=pÛ%ÿ`ÞôÃû³ýäÃÄŠ+ïõ¿Ë"€~5ùŸí/ëþûeP›ø—´ZõŸ›Ý5 P¾ ÐÌc€HØÑ]Ä3àl=)ÂÒ°ÛSö‘›&ÙôWB@ÔÛ/Ë¥ÿ÷ÃüNa„ˆ¨ €Ë)9ð.õóvÎ' …80ÅÕ܇M}Ús¹uO„SK>&ûj-@² -”ð@»ú°³?`Efå¹ßx.P÷¿TQ\YZºðÒEŸ}²„§¬$Ο:Ý@ÐÛf›Ÿ9zmSTÉ“SÆÕØj¬ãÖ: |¨ÃWn~ú$@¿°>55uB¾ùº¤ñV,·Y ž?·Ù3nÛ3V×û)wÄb£?QÿÏ €%€âÈ *Ç·™kéB—žÄN@ºh¬\ýßr8èî™@±Ç”Û›æ^¾Þ[o - m†ƒVƒ¡ÎQç úoåúßfa·á.!ÀtKФ—ªèR]ÈÛ~®’ —~lòÒ?ËxYÐÅânÿ™ À -@þëÊÆâÿ·`ÒãALÿÑA±]‡D8¨Eðúà#ï’óØN–Š Ö$@vË©àÀÞNr@– q­'ÀLBìZØXÄ=ÿÏ$f°F»µ§'ÑãMO<™€€Ûí>¾RÌXÎ. W–ìä3P°@FœÃXO8OàÏ]HëµD+\Z¶vµ´œ@ýWD$3‰£p D~ ü²bÈ®J¼ è}uÁ+BÍRý÷–NœGO¦y0-Ö4 )Qå¹ôØ h’i€´2‚Я…ÿø]wÔôßUÔ,»Ëþ $ØÅ4ÜÈ@1ÿ¬•˜m¹Á¯Õ?Ô›)Ÿ{åƒþôn¿D¨ª<÷ÿýeì¿ÂÐì‚ Žš%§7Ã0ìKyP®¯SËϺ½ˆE9µà>ä󎧴¿2âß'åß§ê­OÊ>Wß8°Ä÷G«ü>½úŒ˜*GÐÞ›L—á?‚ 1¼%€ Äe:EL¾PDY  Þ( æG`·3<Ñ×µ þkèÿ{ÍoÚÞd!@¯³—wp4»³ð lXAHÞ3‹GÕ Fkz€_ùèq€.=êGó‚1PQ6`”á©?Õ^t1' +_×ÿo±àyK*Dw¯|ÿü,(Åèfƒ2ØjØá(àG¶ó„LÜÓO*Î0¯N¾Jeå'² –ÿx…ùg@M ÀÆ„Zz*p óÿ ä{_œy2U€ËcÊŸ)ýnw0@¾¸â¯.d—‡—©÷ßÀn -®­Š€ûÕµk®ÿt60ÐÞÕ¾ŸEB̰2€£©Ô’…_–àÅéUIjPûÿªük2>ÅÿKÿï àOŒ5Üösý¯Ç U~ÿÂääŸÄ¸žçøò5Ţݑ¿Ü¢L”` ä¿’¸×hý/Y@®gnð53lôõpY…ÛùÄóçÎ?Cà@‰PM#BQè54 ü4‡Õö3@JàìÜ]„ÍTþQg#\îS>k÷°' zДVéË:|­ûת­P> ¨öÿrJ x  ‡Âv$AÍÿQŸiääG¸‘›xÄ™ØÎ‘f(Sà”àˆPû#v».O(+ý,4Ðïƒ?ªXÉ—/|¸´RôWøïýËÃCH/ˆ„Ÿ:ð~¢ým^°}f08Os €Ch§Å8µŠ—Xmí(5÷›¹êœ(ÔYÙV@UÕ%£qÞX œP›4ks Ö1èèÈMÕÕíùkGGð¯–X̸9z¥SÔÿÍœŽ&ÄX© -ªÖŒmóÉ.xöXƒ–¦6ŽÄàÿ5œQÐþG†#¸›æÞ^Û¯l20÷ÖðC/ š3¼a6Nœ°@ 6ì:v"À…®ÿéún%œVkjy©ÌÖGºzËR?¦ú3<ðGŃ -À& S.~ïÄí¯S4”ú- -X%ÅuàK¥»tUCiðè[`”Ls@Yw=¯¤_ÕÿÁ€˜dþ¿À §ÖríÇJ Èÿl ZY@"p«Ä!½,ÌÙ¬ÿI|†ÞžXqg Ç1ˆ»¡ý/ à.  -Çã™ímä¸mÓ[N|ã„K+VKS°©®Rí‡p «Ž­]€‹­‹˜m=ª@k+ØS£Š€ôݼféß­W}Høë§±ÈWï×HÔ}·ÂÌPÿ@^˜Ôp,¢fÿãÀÁ ´ì¥%À†ûŠ6îórOÿßÀ+ƒÏTùç-[¿öËé‡~ãçgçß{÷•þ ýËIÅû÷—›5–5V”û5!8äán< -‡}á+Ù‰‡"ìêGo즔¯|úï»÷°ïªÿ¬¼ì‹HµW4€BØúK±õP*ŠðnßH%»üò Áðr„-‰}vªÎ)J´ÇB€…•#>v­ÕçŠÐáÓô‡¼å§Ý'“éK:#°|re%ï_ZZ¢vq…°n±xÇ}a¨1¹î‰Ø7ž*°3œhïìtœ¶DÓ"øŒá³_Î'kkk§jc1©üoB¨W­mï+õžò8»pÕbŒ^¡*~ö–eÕx%Gx¡ -L?X€©äžº=±ÚVcÇzìVǕܪ%6Ê©æd‘°®P‹³WŽR­nµðÚž%èl²:ÍN‡Ùav¢¿·±©±qµgÀ^,ôéíU–€X ´¬Á á„Á°‡žM-VFIP ǺŽÕc  ®©'¯z¿„b ÎKýì ò¿¼î $»,,jê?Q‚ È5°U¶ \Pÿ°@¿ Äcå !€­kä9¢|šýbÙY¦›½åXà#@ðÌéÉì º¢æÿ7²Ù¬Öý³P+‡ºæ™ O˜Éîa héy2Í€¯]kh(²°;^Ì7ãþ -ì¬wv6ò÷q7ò©üç¿xP û‘}%Ôk9#ÜßÕÕ~nÿ~:ío8×…ú?°_4ÌÀ'vÁ-r–Ur¡&Õ¯(‹ªíMïft- X0hañvº^IÒÓø êúë5€@@AKVùºµ)@\âow°lð@ØúZ ç‹Ï˜æÿñx}ý´7íï~èÊ0mç~pàÀ½âkTÿìlÿ.]`ÙH  ¬áňÀlöl‡3®oÄã3}”Òª8b„í#a»'l·ß¼h’Zëûؾ[ü’›Ò9Upå‡èÙЄÊ B=…H¢’à=À&DÒ¼S“úv¶ƾ?T>;ŒûÔòŸÞïË·Å8 Âé¾”ÂkÊ ÀÒ2Ô@îå -C€xá½þFú‘ÇMŸ& ~p§ÁæøŒmŸÑ»¢]Æ©©Êm¬¶£ªŒ¾®Ý¯Ò¬ü©Ñ¯ÆìþG‹Fã§¶ ˆY’1úÜ}¨ÞÜœª»ºÇx¥ÃR»£[]¿d´€$ÈmîãÛÓ!€>¨ªz§ãÖádWk›…ê?f¡N‡µ>~߯j({qéˆv 2Œ° xÐVÃ;ƒ5o €%8FåñèGIô™¸Mkõ_ãÿ' €‰?¼8 »ÿ Í(ÃOtðW‘ºŸxüëZõß’@&5óòýq¸¸Ù Ð_ -VN€º ð£\Û€{HÕþUΕ™”ù¿È²“°ÿ… Z`+ ¬X´¶2󟀯 +é|€îZL<àw±RØØi¬'öÇQÊŠ’´2‘Ç ÎnÀ ¶쉞°2 @À•ŸÎÛ÷··ïß?ÐJg­íô€kOG!híÐÓÂa 7Tíǰ†}Òo€ÂÏ¿W”¿*àÓ~æÄ¦ÝjYЀú¯°@64u ª¿’ÑŠ`QeæÅø>Ýÿ–¾À…~«á>) ÷x¦<€¶òþ×¢ÇÑ;ùðožÀâ¹Ož·Ÿ«IÀg9!¸\ iÊó´ ¡FM¨‘œ !@h<äI…L!Ý„]½ˆöx€ˆ$½Ý·[êWÎÜ}q<¥úqŸTû’ø/µ Àï/b²sôÐe="nˆàßçë»)ëü`ûS¦‘‘“XþïSƒIî…´ý(þ> cð²PÀxÙ§¹Y¹\±R,V0d 0Xt?×|`(lúm$zŠ@bïl°h tv:€ôÂlÇœ7ÆV1X%på,ÕóM,”"Ý“öÒüU˼%ÆÁ>WkYåOµÓþjl^­ÛDx0 ‚oŽ®çj·¹¹oߦ–´O¤€g«J,@UÕ•Z*Øm‡6@Ö 3J%€€c Îÿô -@Œ9Ò{„°@o XC@u†ƒ†è˜!ŠçR(1Hv££ئë»9ö„[Í ˆ·2E)ÿ»ÇE˜ºdëOSfØÃÇ%( ^t}… ÀÖ®Eÿó -à`^-¸ýO¤N»dC A—²@l¯=Ž@‘CJD¦òåÒš e7¼b0ÉCÑÿϰP™µên@¬h™á16耖™öÜ[/f½äóß‚§ßù"žß‘  P(0@¿AzòvÇãlt‹@€‰ííÛô«~@dë -kÐ ×öšPý hoØßºØ¥¼ ¢$ u”ïx1h -^¨ý^]˜ÖD€õ~êß1àÖf¨µ/ˆN°^@@=«&Ó…5‰^c‡àz¥"Зî¸d,6¡ ,¾¦ü+' Í ð+€*0ÿ¬…Júpõdý÷pó·o3ð§÷Î4ö(ÓôÃXK(Mt@ݰtMVÎíŽôx"ˆ Æ?&$àÑÙúˆ/EµŸ.šB‘‹7G.ªE<ÙÐå~å•?åÓ¹ø”Òü±ž0¥6Õf`DÓ„9±À—M(û‘ËÈ Ja{þ¾TØ>"]}Ä”ò¤0)¶™Å>í^ø$fHxɆPHFc…ÁÄ~B+—î¬V -î‚¿°âö¯ýËï8Ðj 5?-`;»W‡èþÌ"€ªî_ÇüêÔTíT ¯pàݾªê²1€RñCÀC‹Õ2…w¯rùdïÿÑ\íO©âÿî*:F;6;bJï/ÎÀj@Ù 产æ“K°Íò+«%è4tF­NæüÍ56öüAÏ_Ó+€×z{¡¤ö?€Ÿ Æ`;(I€{ê¢'êêÊVŽV€É…IY˜Ö—9X[@‘Ÿ(è9hÀhø3Ú‰¾°˜pû+ ÂÈÓ× ÌGá4$@\öápG×àðøØ4Ê È/ÞððúI7TÌ-¿ª…ÑëlöF€÷ÆLV&33^ްעì°½>ÓÊ¡@-ò®°V8öx³¢üÓ¯‚ À7~ 7&V -ﻋêó7üo¡àcÝûñ8]@`þ ¨ø÷sÞÕVë~¹ÖÚÕÞlo - -@§®ýç0èÒ¬p:šh•@P^(ÙA…3 K“N« €f@{½Ûïú_…ùRýçkŒÜœømÛqXÿ¿V/@ihy ®&óšÀ=ª¿­M SB»ëÿÆ. «c €(»j×" xáÕüÏQ)[c€úi- õ_ƪÙçBá/ÃÕôãD_ÃçîC`ÇI3P -@¥ŠÒLX åƒ` pÇ¥ûò“äÖc˜h",¤Ù@ fYÈ+fŒ -“Þ¤f ÊKVYͨ›ÈýZÎ([{z‡,´AØ“ÍÆ ‚½µÝ°ýMYzÀwvüK¯/oPðk£Á=ÌNÀEöÿÉ ,*¿½ !€¿m<00ÔY-ê|×~û› (€½€®’;  YW ÒÏ;˜Z<£w˜‰e -$Þ?iÍ„½ß¯GbÖcdP`  @ŠçÿФù½B$è2Z̘¸'XÜ,Ëù ]p_€ ððtø L#–äû©ÿ×nßξ÷§ç_yåŽ~6ùéW&@³ýš!0ý³÷åÁsês¥X€Ð$Q9ñ`9"A=â• &…4LxDðòWM|wY«¶ì&ÁׯU~€ýˆaú«}N„M‰Â×=˜8¤"Ü·ÓKÈ΃-R8eâÀB“ Šxo!ÅVƒ>†ü}ÕС Fã¾í&:ÙGn>·´´¼\ °¼´,¡î¥?öxy(ÄÖS&ÐyÚqÚaûƒíôù€d|f&DàpF“F4ÿ˜ÛÇŒ«9@ ˜+eùá2¬éò¥Ú¤åêÕùŽM¬¨–ìrÐ~º³Óa>pôÌMM¶ÓXÀ.` ` ·Œ«±©Õ©y«ÌP9¯Ú¥Àµu‰ó;;½Zw5Yg”eÍþìc ºŠÍ«ª;tÕ²z«©ð Ú$±O©u€­‘pØŒ¶9­Ñè[§ ?Õz4ùGèBMM/•|3Wý€CŒŽôþ/ƒÍpжQ€u«5jµZ¬mAä%1À6@HLW#€z™{ja@J0!AE½õç5žóSåçÖ?.ø"º‚ë÷“²õφìÿk!yµks- ˜µl§J—ã C€†AÍðñ02«ä¥±ô«Šéÿê¤bÒì\¸ÀÕ?›¶šI¨ýžô'ÄÍ~&@›Ö£’ost†C²Ãßî§‹¯Ä'¶¿=€\o‚•ûÿðÛí|‘G`á8Ïvâ+þ•L1“Ïl7\» uLóìø$€„+ü7t"j=¡]þûLÛþ`[S0È:€Sû›Ú…À‰1€X‹ êXõ@†Ù¢Uÿ4é2 ®þ×,dÀïV+1j<@/¿›@ûT@½n&0ív«4ÍCZÿä:Á╼ÚþÏËö«ÒÀÒi›[ÿ­òùCé´»úsÿÿ” ¾Á¸.Ï€qÛßpþ?8ðü{ãÍô9€Nÿ7–-ò.àÜÜPY Þù—KAÌ ýd€â % ‡s¨—sÈûÇ•3¿É4î31Ño/%úÊ”€Te/—ùüÐ{G¨(§Lž»uÿ2úç‚ë¼àç‘­ö䳇ñ’Š<<‹ðI‡ÚwØí7隇åø°‰Wù1¿ JxãÒì…€r×>g;Cüö/M/\¸ðÜòòrÅòs˜ èâÒÒϼüò¿ áÁ|òÀµ‚ˆ°h³õ::O›¼ 0Ÿ¶™;ç©ö×RåÅVkcµ±Ø:ä\™‰oN¸¡йŸ]èºzÕ8e¤¢¾^µžãe¿Mjó1 t OŒ]m£nÜÛŒ]GPu—²°=ÈLBmÒŠ\@ǘ#j~Ó66Ã?ó55¨ýæ^ókHîU*@‚<¨9 Õ`=a±Â -ÐÚf·À±Å£µGy°0)N€œ¬Dqˆ‹¬O”Y K˜õ(`îïâÂϯ™ø} €-‘¨À-iÿó⬋ÙÀÏV@p€‡²ذ±ñ˜4×¶0`/ 8–¦%°›—ø­lLfUù×61€õoV¶þy€Aᤴj“€„HÚg²Þo÷ã¹ãT€¿µûþÆÖ6=ú¾àõý¯‘XÈdÜ(…Šú•xCÃmB` €‚ù"•ýú}ì @¶·¶·6þþà íĉÒå`€&°Tû›èuW{W×¹ý]­ç\ý< -è!ÕÀž–lª‹Ôü~¨ýVýºLÀåžuRù„aˆŠNwûׄ € >-,@A‹ÒQ„öt`øŽ¤ƒ(·Ô0@Ö ùOØ€»3cšGÿ_ž\~¹ú‹Ú_ÞêcõšQ³Õÿß§þoÉöŸðÿ[z×ÿ¼Ä‹àÐÿ<Äý¿ä€ðß‘Tn¤d àñ€ü„‹ -‚”Žä@ÀW±À¹€““…ô L‡'³Ùr0£ÖŠüÕ}5T{صB -ˆH@,¶ô$²ß®É˸ãqŒß¿Ãô÷ ±îeí`À}PÀÎ}¼a'_\¡ÆßͶYw÷Ç3y…¾@ÿ¿½-q@9±9ü禠• @Sçþö¦Sí§ÚÛ»Îukïj?G`@@Rx‚¼ïíŽÜþð¯ˆ@ 4îbÿKõŸ€êÿËY€’8^A莀!V ÀÃb@šÔÛSJÜg×óù”·ç¿bXø§Ïü±?@ոϞâ._Ã(ê¢ük}*³¿||P)G¯Òí îy¿à2ß¼BœÓÙBˆ]‹ÃÌX„=Œ">¡`np] ånÑôùçÚý¥Ÿë7öß|iºÀz°KÏ-áì“w¼|€E—/?á`;;p¾©óÓ¶Óðþ§Ãìd”€–ù)´ÿð˜ÂÙ(vÐ÷WKE_—q]Ùlj€ë«Æ:ËX¬zýRÕf‡1†>¿ZVªÙüw3Y¥~<8O·6šÅ–àè¾Íêû²ˆpÁ\Ç­c>šÍoÌ56ÈþÌcQ÷Ê6€Þ׎؎à¬W$ƒa,EµÎÒöÏÄ[€GY¨ekk~ñ` s\ÄýŸDþh–º(0#º€¢XÆ•@®âýžtîCºµ˜ÀAaÀúƒø/ôz(~èŽK9‚IÍ«Àãªÿš PrãÄ ¸óÿÉ´Hä„Eoö{qý÷Î(ë¿,›J`«øÌÌ(?[0’rOŸèýVk…´ZÆÏ÷gé¿QÅÞÞ¡Ö'”ð­²î?uÿ‚{ÅUÌqøWâqªu+®† º2q €ml°Ã‹šó×tâDC€¦öÆ`ÿ¹öý]t@B@kû€d²r†Ý•³° 73/z…æò¯YëyÀXàw‹ð_¹ùñ5.ýBÜj àN»Å@m—@«ÿqÝHÿyÍ@HýßÒd€J +Ýÿ–žp¿á?ƒßý—üxÔôû †Ðºø±ÿïλ¯8 eé€Îôß}`€î^ÌÍÞ¬©çʶµE.ÿaÄ¢†Kõ÷©œ“8ï”'íØwõÿT£EÀfBl.̆Ÿ‡Yy«üäÛx„q Ži~ÊäÂL#ðnÊ+öqµgtáá~ÿH -ò@ú6©HÈgW+ôÞPóPã|›TJ$†Êk ¬M"‘ÏY50. ‹`,xŽŽ¥ìs>àå—ûéõå—ŸhpÍ»·½óôi‡ƒú˜ºèüÌAhà´ÍZ5N ˆÕÞÝT¿ZíùI>¿£JÆùUëÉhÐÅÎý¼j_Ë+ÌT­×ÖÕÕ]­«3΃ ;°¹¹©)u[ µˆ9Àz5∪.Ýš"ìµF9øˆÍ† _CÍ‘#løŽð:€Ù\Cì­q8ésÍQœ?´X  SòX×b-!€0`  »Dø5.AüÊ.?š&@…ÿJÛÏ~"Pç„î‡ñË{­ÿׇ`J8`À"à ò:Uƒø>°M?¸ß­FÝiUõ_Eè¼—é`6(Lz©ø# PqÐ$²Ào[Ø -96ð±CÝ:ÊòlPÅúVkñ -Ô'7¬ø¶ÂSöÆßQó'&øÆþ¶ñ·|þ Ìÿ‡³ô3`ïP•´b €W~C‡xÌÿ3•ðÀ~k“UŸœÚª½I•ÿvDñ™âèq<*ÑK=´¼5~ ðhf-ÀOÊŒ€páOõ‡q+ü² è8P:À‚¼b+@Ï”˜ á èëÜqe¤U”€8Xó @+ÿ2 -ØÒ67ôå?õïq_þ_×ÿåŸ&¿ÚýÃéZQõÝ““ßÛ½¹ýî\#Sýe@ÿ}#€Æ9ݰÄô7ŠI Äp8°:Á @8©Ì!EÔûxs¿Ï>n×7èʳ€u ×üË©ˆf"„ªÁÌÈ#n(Â@‡©þÙ3ß’­C‚ ö0çâk†<רøÛ=j…Ë€zùhÄÇoú‚†!;Ðés4…!äø\XˆÏY0Îûã_€ -`YÊÿÒÒýË=ßOÕÿ½¼ü$€ã<€û#@åßæx+Êq:è m(N± Û¼ξ -Cîú5!@5_Å€ÇùW¬Á=ŸRí½RU•3SÔæ¯ Ñ￳ëIäòÕÑíÆFouln®óª@•æXæ4¬ö«ù[ÑéìB2Z÷VôWN§ €¸£„[¨í'`‘úß €€!J˜Á `A$[Ä `ar¡{Ý÷šŠÐÖ]qÁ”#£vxãB\ÿã¥m@Q0T`p?€t;¥¦G¼Ñ”P 8˜Ý€ù§9ð`~:•§ÑÇ䨕 ™ ×wà ˆU€r¤'¢ÇÃß PVûy7Àli€e@µ¶Ö*žp›ÀŽà·°ä­àb¼ŸØy(b‡íü™ ‡ûe¨ø#êiîüVâƒÅbÑÅå¬X„àñøD~{ד<¤<ÜßR•õ¿“. þÓk s{QûPˆ¼~@ô÷xU2£WÛÀ 6…Ÿèã{©üÓõe@$€2øçÞžÙ€‚öZ_H—Fì ¥éÿŸ @Šs€VþK€[ ù_ªÿJSZ¸‡ü/Mž¦ò¿‰ÁAüDßà_ {“Þîïñ½2×ÿÊ~58пƒE€™S’¿Y-P—hBŠ˜+KTS)Ìž°¢ìÇ#JÎg²Ë*Én*—4)Ï2l·ŒxÁhô=vN€h?ÆçP„Âj -Öï!ÏÆ!¤3û—„.hÀëKYzªXûóÞw ð}€ÄÀ©S>ƒ@¯Ùñ«d ÐiA­N¸E {Ç(ôþ¹} üs9ŽVIÁ9žõs¹ž²¢Ö±=QWáûƒOÁªM$-1cnpnÕ›÷ÎÿKÛ::Èë cfsÔ©¿mq§{Ñò³!|Íf“)@ÔZµZ,줗.B<hùwØ ³éézÝ >€èî3:Ù¯Œÿ\¬ÿwe&x ®Ìx€?RäEWü¾@Y³Ujþó˜‘NèõŸ@üÆp0 úÞ$œÐçYéÖã˜( -€·º Ä£V¤oxÓÙ¤(ÀšP¹€XùG—ÌÌ5F×¼,@Ÿóm@ë7ng†_<øC€ -<¯¸+ -Ôüó1\^(Â8/¿ ¨2ôW A~‹Çÿ:ðPM'¬MV% ‰Êÿ~Ž’vDñ Ás€ž™oO¶… À‹ ²Ã †õ,Yî ?ˆøÕ@¸¥ÿwûK,”0Ô€æ&è.'ÐÄÁÑ™š°¼lÉ*«`à] €.iøŠ6\ ù§¨þsݧ§ßhiiùï“ÆøŠòÏíÿ+s¬Ï¿!nôçfgË‚åÚgÂhV,u!@ˆuù¥Röý쿯ÌØôåÝ -4ÿ#¥Œ?´õÍt+©›#vÄSCî -…#¡Á/œ@³l„dæÀ€!fp ¬ìgVÁ“Š0ృY ’o+NÀ‘’¹Œì@bu¡,Š p(„À_]XÊ& /_^¸ðÜ…1 -€€ž×è˜9ó²O.¸æÞ{¾³“f¤œÎ_9f‡ã ¶;ƒFÔþUŽe¿Ùa>¶ûª¥3W˜*%`n3: у±}Õ¹QùªÑÜf‹ª°F³Ûkc¹Ñ[1VÞ_P¶À+ç¨í'0fC“ÏÁðè  õØz_ƒCÿ^(͆¨!å!€Å´* äâ1vwtKP½_Ï1qÅ• &äI€Jú‹cå4þ"ˆ»” ÈÃÛ÷Öÿ-]ð\f(K€yvÒ {PñŸBŠª;˜4}éæÝÓR÷¡ s~e3wá®­ß× @9@¯}F~ÍŠŽA¾‘ñfÏ~³¯Ï RýPßé4¤ -ÿPóõPsøzˆ5ÿžpˆ.†xð:¬ˆx§/"ì#x‡Bv_©”ûX]€û-Fv¶1Œ¨­@$ -_§^càÑ܇y¬ð¹˜§Æí_¢þ_à@v©0IõÿÒÚÂ^a -àåÛO*¸=±w ómçé8ôýfç[BŒ¨º?ŸZ…Qƒ£<Ì߬f@úòMe¼)s€M£%ºÇP7¶'7€ßÑ—ŽnæÖ7•LÑÂSÆ«–«Wµ·6 ¸ºßܽ!X½¯ã­7{aT3fcß_ó› {ùx Ýÿ³­—ÀA3ÜTQ§%j¡æáê]8Žf -€'ÝyºKàg€¢Kì&d!°(ë2àà —«l!toÜû—)žðü—o(ÿs€«œ`àÿò#`à -,Ï¢ˆF -ÌiÎäs¤§ ¬ÿ+00óúÌ ªÿŒ²bÀ{êˆ` *ýè[©÷Ç$€ËVbæÛ€Œ €ãî÷ ï38ÏäèÚ¸–ŸÈ†_OìÝ»“ÿãPþ Óµ™lÁD -PEa™ÀA¦˜ß¡âÏ(­¿ÌÿéWty ýhzƒ^Dl -vv6Û•7ð)–´·2hý§ÖÖÿ$€‚y àE:QóŸÎz½^Ý ¸ ü~ƪõ/åb*! x> -¬¶H»ëß/SBà `\‚>3À AÖLÔ¿¶ A€­û²ÿ*`pðiÊPõÿÝí†o„& ð¶x¿×{Õ¯‰Ü¿ÿçòÿ—¹9=ýg–«üÖü ÀÚÃd©¿áë4 ùœ¥©Ôo˜àþõµééwÖºgÞî(À÷ÆÀ - óúÌPßrœ6fö€Ãaÿ~ìNÅnÞ ÛŸcƒ?‘n²?À&ÕòÑu±«uuÑèž±(Â~6clÿ/xªª´Y,«µ®çb\Ûs%7Àj=pWõÇâA2:öæØØ›5œXÀ“Òeþ€ 4€VKÔ€dUK€àþ®dvx € îþü2€YüŽLôyÅ_íÿ©ÅÿŒ«ä ½@†mX9xŸç)ýÛú³_^b¸?Rú¿AµxH&ˆ1/U©'Ò-‰~\Ok¼ ±¼ ˜– @Lþ°0YP+š.$ä”Q"@êPxÞÏÖõTúyM¾•0ßhXÎ/3p¨Ã-Ô»3™²ãß Ô?•ýóoSû¿ŒP¦2²Ùz±¡a'¾â.?¾Â1À;¢ýÛØÀÎàÎðº¿0ø½° /Ђhj?Å/튠â‹z¨Èô"K^d9À‹°žÜ•ö‹ ­ÿçA—¥ï ¡€t=Áµ(ï`p‹‘¶lÑêýC¾ä˜/3Ò6J ÷YþÔRò®§ÈX#®Ý9ÄÀ?^À?VÚ»Ð2ù=Mx/ Ðø -“ÿsP éïÿ·fIBŸ›Û  ÔCj`–)€¡Æ„5»žUß¾›##©Ç¨@Ÿ¾ -À€”½²¯ï£JS8|?˜ñ§Ð•‡†˜Å§*Ì´€/„À­94~ÿ»ÐûY€-ÿÔu|’ÚJàAe@•Ûç?ú$ìòÛS˜ù‡S`þCCÍÐ`Ð,ß!ÄW=˜,„Yè¹ÎŸN—¯³X@SªÜVüæË—.~ÈjÀa Òkkg×.]úó¨þo?Á`%qþíÓ€¡€ Ðô–³ÓaŽè²á3Gt~~j~êV¬–q@íh¬#ÆÎ?›ìõËÂôý¼ÐŸ»`P=³D£Ñº±¿^EÙþÝU ªó¹Íu8¸ä5"8àª1–9{á]êm#ànK€ªê³¹.«5êìµõÒD*Pï©üGØàHo9½GjÌ–¼á$à´X‚óm,ì’5@Þà @=ûÕûË]âš KÍ<ùÈÈå¸tþ¼ûŸ)j~€ñ¯Pl—˜Ï­¼f…ª™àIrcÓeg …üâ,ð€¥Tx¾¼öØìpr)8€É´žÀ<€—‘@Á{ãF–Y€¢Èj9À d@ŒfÄÀf@²€9ÑŸù-hP÷Êp@¸Áøêy8ò9ßhHÛ€Œ Caís0NP;…×ñ|\÷”ä©Ï±@Ǹý„–ž[b€g>xùÀ“¬¸¶õúÞ·ƒ§P°ô¯7Ð錾u*àŒþê ™Þát¶W§Œ1N^…°L?Êý>Ùîƒ0¨*ï(óHžºZŽí‰©¬wXVcÆùXN”ÕUëØì7-€‹¼<¸ž«úÊÙYù—KµÁ_Z³í-Ã[†Þ±Ê}o CF6¤ÖÔ Àà4˜ Ö¨#ê´:-mbÔÕµ¸ÈF@ìÐÝ=]/>€eA&‡âÚÒâ2ý癿KIÿµ¥Q püŸx¹î³ Ï~e3м(C­ùELË.Ìÿïœà¢Ç(@&'—º%˜ PÿrFàFvò†:€2# Õú‹ ]a…šÊ°ãµ@µº&+ìœü-žQöœ¥–?î^.ÐÕÂû`º½÷ÊwÆùÌûÉÄ^1.%:æóEwßÈí^qMdòzÀÞ ×ÿú|VÿÉ$ Qâ€X ‚€_•€Ë?„T?C¦&þÄð¥$O‡“õÆÅ`<%þú>ûEa€Jýès+û û‹à”®ðº9ƒðöå½CêÑG.˜¥ ¾P$|m»è¥û¿Îª?¬ùËŠ¿Ú}_X6ú=*4í=cŒÐP#– èæ› ¶@N€o€ÑBøzD|…±p]vÃ×™ä‡Y ¡E\øð¹¥,×ÿK¨ÿ—f~ðü¿=ÉàvýÞö·ßða a/ðËhÔéDQ‡¡&à°ýÒ¸j\­íˆM±@l4ëѧÙüËq ûúçFGס0ÖÕ¨»UU}É2?e4&c€ ² °¹¾3ZÐcé¨Tp/á_"r»Èõ.KÁ]Eó[5½j #s@h˜c£Áà°p8 N‹ÓÙd Û‚]„]l9ì]àþ6€ìf\Z p1®D~ŠÐ ý)ÆuEÜwÀħÚâ·¥€Á” ÏPþéuzúÐ4{Ñ‹KÒWml=Æ%€Ò @žþõæ’€tµÀ0ú&€z@B÷H¨%ªQíâÿÃC€V|s J½Â°wÙ½R`>ooü¡Ìwr¼–_)@ËC`rÐm®dv ¸ËÚd"yÅ4lo‰ÐÆwi¿ÁàÎ7À¼ @“¬¶8À©SJ -80 á)ªþ„_^ÌöÈ*=.ØH‹ -  ûøúýkªè׫á¿_¼ýëëÝŠá×ë¿Æ@ 6CWaÚ2Ð :ñϵk\ýïGp÷Ÿ×ÿ•ðc^ÜÐŽoô¥fP×$Æû?þ³èßèÚ#@šP¼ÒH@mü? <ÍJáQ?_dæ¶L¨0€ vE*! ¨:‡}©«¿žJùì##Zð/Gÿòø¹?Ô<°É.URn·GÆíÌݧR#ã×ù¶R×…X †w§Ñæïþ_xp¹³bÏ#×<&àûØâÏãH0‡ÔÊ">qnVuûbÄ@<ÒàAƒr!¸®Ÿ„åPæØ¿|‰ÀR€É?øóÿøÅæ®=ÉàZ~ïÞ·;Oÿ!€Ï̇3ú©5àt:;á`D“«S±ÑØb€T€ª}LÞ+—ß*  P€÷€ˆ]ÖDÇ¢7Ï®çj B´Õ^©Úd – —´0˜Ê]ÊåöUí¶Ø§¢öéÃÿÍ2 ›F£coÞ´ÙjÞ¤ª•@`¼e¢‚øœ†¨ÕiýÔjµ~ v%y°xY€-“بÐú?-@üNÉÉLÔýªíÛ?¥ˆ» g( €¢ÿö=ÿØ e2h= ¯‹…üÔ)a¦Å ȯ¢€&òJEµñ8€k[ñ8—ˆ 8ÉFÀi.þÞÞÙ8–ù¨4 >Sk 1ä\9§Æÿ2H$¾ H ÎW -ÙÂñ•BöÇ„¸ö·0.¼O•*Ž9ýö·Sd -{ß~@{énfYÙS €{e§a'ŸÉ¬ø! ? p2ØÊommom=l+`u°`ílr¼Ñi b ÐÉ€7x`ï–òPÀp€ €¬rV @A…ýù•Ö߯Öê†ß_à -ω@¬„@Z1à. hã®ü Kû×sÊ$€e@:P6üÏ£ú7Hýç »ÿ¤ò s8Ê ™üã¯j ‡ 2€ú´û!€Ýªÿ þ27÷î™æÆææBÝñ/ƒ~1š•³9= ´  OxaµŸÏžqv×IÙíßÇÔßkµœíõ1ï3ÁÁ¶¼½çã`xôyÆ#vîÑyÅ/ÌÌ<&ïô}ì<à‚phˆ—õCLÒGdHF.„€×`Ç‹¸Ø€>+…퀯ð¸ŸaFóu¦mãõ6;‚ëü3*€‡ã¾//>·”]†&êÆŸ'/Ý8ÿ³_¼·ód€ÛÔ†uv"è¶fè[àSKÔiítv:f‡ƒZèU£ñV®`ŠGW¨åß`Sb©ìãz¿¯*7z5ºgÏ_ÇÆ,ëUUU I£ÑhYåÊŸ[çQÀÂb€ eu_{ïØÿkŽõäØ¯Æ¢o½i~ "ö>RÃÔ˜mÛ$ƒÓ´:‚mmó­Ç% ÀôZ7l€ËÒ€Pti‘@Zã¯ÿK¦ÿEµø'×ãà?ï1óÞBæéV^Pü·$X•ÿ<<~¥üj{€Ê hš€ZTn*—Ð2¹ÿGã_/À ¦”‘@Í¿×{C·†0æþ<ùOp40p6ÓúO‰s’e§–×Z™$póúϳ…שú»+¼?& ð:foŽ‹H" .›~s>`£ÁŸ% ðöùs{Åǰ•ª(Äôkv{1È ^AôRÌLÐñO2Œ5€ïá7e0¼ñ†µéÎNëBXà|êt€ÿ¾½}/{ìUBÀÿ”˜yqæE¬¾(€Í€ -8ñÃRÐùÔêŸ*å"  °¦&ü» z—Ä »•a°f¤¸³‰’ ¦ÌkI€zöŸDcªÀ ñÇÖ=xìÿÿs÷>@mÞY–h¢„´[±­¡,B –Â"$#mK –¥[4 Ýf´’帋xâ­O9,oG/öÔ(ìÛ'(pRéˆõÌ$±Ÿ©­yZÅ{RÕ½k“çnoRSnÕT*µ»U&ÕTo -¹·¶åx«y¯€‰‡õÔ»çÞß÷IØIì ¶ÓŸ„$@`–î¹çž{N}^SÞOîfÇ÷]¹E°rÇgVž^cü©ÔÞè=º% æ pX›Pý·ÙljÁ_Õm0%ž1^ Ô ¼‹•/HD#Ž:¾­5zD?ú`×r¼mÛê0ç5°íß³F€wëCZOh,û@kˆ'úRzCbÖ_×T÷ÉOáàÛÇ~,l ‡¿_w[wjÏ9*¸Ã†l Ö °!(qA*K‘AÌ ¿µàÒÆúA•$]³qå·is…&uf„ A:!Q@ ˜˜ùÏ®Sý?ý|zû¹Ý_ÊŸm @6 -+€Ë—Û @M[[wàÃnëIêž9!Àjý=¹ÕžÅ¹€ÂÞ¥KàØâoõ‰Uo^ ›üñ«}>Ú}ôè£ËKTáûû«ûM¦à“ÐTXõ.W˜Ìð<Ólÿ?cè¿i%°„Îúº­Ý••G_·}ŠJ K!|ºJ@v2T~“ÀK¥Ábµš­TÿnÊÿÙàY¡Dˆp;Uÿ…-¦bT³3×èü!üW}¿Fhl€ÔÿÛ€zm JCmÞD§ѳ#íµ - ÝÿŒ_â1U•, •­j-ÿ—fm`˜m˜*€Jïp¡$PoiQûS-Š+}:kÔXþ×›æÆ_W¯#)஋ò7`>ï(ì¿y,¾Sgg§å2(0À;ì îHtäa”/:2y<½™Ì~zp)ŽÕK1ïAT„kJ€<ƒ€µõ•u©ÿ_öËsÜl>n=n¶:—m@®þP2 ð<TuªWM.:ÑþÇ:Ù HÂ…@ 5P{Òýû•¼O·"€Ú·Õü_M¢2?‹ò‚Œäëoõ,óÒ#€6…ð—D4 Öÿó÷`EyÝÀ ü‘»@œ ò+ÑÖ#€=:  ñb€ú¿ýÌ8,þ„Õ§v?v“k=:ÿ @CŒ5Ój ¦{–„-~ýâ¨ÃNüp ¤gû¢ì× `Ú¿juë÷?K€I €UÀ0r…›xÿ^óþgÓ¡&€Ã58÷7…9ý|Ø„(´*< @ò‡ë°=P8¤vùxºf^ŸnµâS¥Ÿjâ@A›K:Û uHûoS$€M `@!ÎÇ„6x ‰‰Ä/ Hg®§¶ï9}ú7B`ÀÌÓÛj 'ÍÝt|hî6 ”vWPÍ_Ρÿg7x#ï·7˜ÃÏA È›O,áƒ;r=Ý»º5ïÚ¨Ú±TQQ=zÉÔ?ërïrÏ%“©¿ßtéâ·IÊq@Õ­O<‘ËyGOú~Ôf­¬¬”¦ÿ©§xøå@vª4àDGe·Å`¥òoÆ$€Á.aœ@8  šlH– —týIvùÑxÎ(–þ* kT^ýn”ö ëËÁ€žœT;í2`>ìcèþÇØH’jåp?€ìdTÉS)±T±°à¼ -ÃÃÜüsÿŸNK H±ÖÉ@À¥‰Ä·¶—¥vFÄ¥–ß=dÊ “~ _jŒذ÷B܈鿣¶ÐÜÉ€……'¡¸ß£näïð G.8¢Åü¢ßqýyÏ„ÏçóôÆ3ûSšOÊé7±Àÿ ’¼@0ÉÂB¬¬¯ü-t€_úÑ{Üg6[~Ÿ0€O,X@ußçià¡_'@€J_êŒgâßîL[ªÿ·%Ht€ÊÈ_"eú¯ˆ zü -àÊ¿PBÁµÄŸg `ú…` @›Yéü¾´#.Xºýÿšn¨¯HÙ·«êϧúÀVâd ‹¸+_<Øü‘»pj¥—¢­}$ËÚ¿Í @Ã> üŸÙÎË€¬ügñL÷þ£w¨îc/€¹|Þd@õ’êóø5ÖÍ1GŽ*NP]Ø–P›sl³3NPyþúZ÷ßëè"°íxì$H„¶µÊsú!6ÿ¹‰‰•~‚7¸'çïÇ‚P¸5Tǽk!Žñ¸ÖÄ>Bá¦V^1lºJ…ÿâ$ µGÇ5$pqÇU‡ -æÚo+µç(ºD$ü¼[& ˆ¿“~ìúõëéןþ’"·d|š °s€JÇ8è|hµ*Û Ý¦o•lïè"•þQ/AØ÷`¢ßÇi¿ ïyp•-‚~ö³Õ'väL»v=ºk—yt©ªêg³Õýý&·¦¤Ko_Oд÷âbEÿRUù êó¶ÊEUK‹ÖÊ×­Ý])ÛÈÂM ®á€fÁô¬ÖFB²p ‹ €ÿ1w}9€LP±­Ûœ\@] PÔb‚¢zôŸ~S @ö35?ù[K¿®HF’v}P‰¹ÿ§ö ƒlÁÜwÀÒ €­R0@’tÎ\—þŸ€4ÿ|xZžý7§ãû+5sս¨J¨½Kß,W—KŽxú%üFf þ âÛç«M9»º‚œ¢¡9Cí{mtÄï8Íÿ-–õ>ó!®çÞæÿ ©ñªø3(¬ñ8\´uw±‰H&“#ŒÀ -p„ý8 h}ee} þóqk£Õw«ŒÌ¾ÆÀ ¡€‰Fß uÿžÞÇ{=½ÆSF Pég€À·YÀs€‚– ,i@~Già×mªõ—EÀRùW!ÁPhAÿû~ÝÀžL9¿²4ýWö*HÓýKï/$€&€ðù0¨°®¡ŒXÑtž+· oùÚH;Û܉¨Ç’íØVYÜsK.$TÿÏúàÜøM´ÿÂò£®ãÖ¾©)=pj:Ö 9ÆD8UªÿŒ¸LŽ+óþŽ„j¼·‰»~b€ZfXõ×aœÏ}~Ý?ù¾æ«ÏY}u ©·&ÂÛ°)0 9ïÔÕ%BMuÛ€~Z—€É/ ü0ïç•}Që]“~žÚÛT@ ¤ Lú³çoSLYÄ0ÿ Øl1t¥û»Æ?f‹°$!¤˜¦B‚èÕ Kêÿøøö×>øÎvL8 ×ü¨ºOÙ4+`I€7Û‰K nR ½6Þ$«váˆa»óÃïÏaÐj}o–öY@×úýD ‚\ÿuuÛ€ l꘩«“¹AîÀúd[ë'Û~ºmFÅüH]+áÁ5îôÃ× èªÞôSM…êÄbM šbS­W1Q`• 8ž-py s®”ÃQ̆GãôMgØš:Í–ó333ßùà'?‰§ÓÆöþ’êÿÖ2Ù‚qyTúŸnc7€¶Ê¶€é¤ÉÜý¡ùCƒÏ`ô{—QõáT]ݳ셹Û¯²€ 8&hUT¼Þ_í6™Ý¦K;rASE…›n¬Š3pÕRnyÑÔ³´¤‹´~_ɪn[ ,çèsKÞY+( Ù@ù¯¬|úJe% V³Õbé6Ók%-Rý¸ÎžmÆ;8c `¬¤ôëÚ?‘@`oà¨üGKSUüQûÐ~ú™@¾ìê–#‚$ HR%þB ©ÛÇÆžS |NMî«°†iìQ‰N ùÙ?»]àÌ”LÒéäΟ -e×/Î[q–¢PõrFLîv*ïjN5=žà©`ï$”ú™¸Ë˜¦úÈžBF¤ûN(›› Äq±̤þƒQ¤8¢ Ñè§ùpí–À¹>€#Åþ—2/eYHæoÔ8ð%Lý/ÈÈ{D¼'Gò¿‘o²ŽT - -h±˜Í/›Y ࣳ™]'}¢4zN T$ÄÊó,¾È°0“Q € -‚«Ÿ¢ñý*X3ªî_ÊÊÅ€J 80%Dµú¯iʆŠñ_ÑüWÖÊê¿tþÉHâX”ÿ|6û  Ùoä]FÜò”üÌEööócíw¤VêÙ `ìãÚ­FjP -j€àôö3¯í6~0nƒÊZÌþØ @´}Ô3ˆM³I°T±`1@lZS"€‹#ë´€@˜÷²7\}®þ°kù­Òß³ ¿(ÄXŸç‰Vtûá]hÏg¦çÃø oê³’/ÄË\ý;X¥…~;û¡œÛ¸€·†ñãÝlâîýš-Æ ±Xk«tö1ü¨6þa…2ࢯ ML˜Å0K0.@“zdøgfúà'ÆÇ&·Óo7û•ùç'}m>„_Á. ]>]é;Ií¿ÉtWR½ØãõRÙÏñÀhO5~€©0@NYæV¶º£jÔt ~?Õ¹ª¹~V€ðærÞUÅô,Vx«–„üÇ&aUî/ÿËr S\µ4[Y©mÿU>µ³òétú8‹J‹ÕŠ)õÿ‚Á‚]gÙð:Û) Ö_«@;Gµu5õO*(À#úË꿟+ÿ3&ùÛjý-ü?´Rìr®öÚˇÊ8ª€ú¼6¸¿@åˆÐÉׯãœq£õ¿®ù* `Zc:ãÍqŽþåV³£l«¹\Ï÷ºŒ¼ €O|»p—°5Upy\û© ÛpÿgÇ)Ce¿×¸ßŸø©°Ä& àL7wuž’=aëƒ áƒb",Ôö‚ƒÞßðϤ {|_LÄEdBF0’ÔÿI¹¹ŽT€ßˆ'pve-»¾À—~?Nÿ¡­Ç}fz“A€Œƒ¼ hta{ÑÕ«ü X„D •3€ý`¡Ã¡+uO@L‡æ(ÇÂ-Å ©` •µs`2¢‹Ö6—Ê !ÎÇ,rDF=ïƒRÿ³2¥Óå<ÇP'½ìfý_;O§öú;ê cøk‘±±åÀ¾MàpÆÿ‡ÎlŸxgû¸±ñOL À©6éôe;<Ð)¡dbêÐÌÙ%˜ pø½m‰p(1Àa@0úeÒ_Bƒ¡¤ê‹ýùºDˆ€›´Þ0ïðw4ÍÀ(&Û{a±ü“¤`t𔞉ЯÇba[GH‘¼:85%Ãÿ«0† ß6%÷eÒµ^õÿxÔªüÛxšÐ¡î¤ý[!å{ÍÌχ}ðÁw>8ƒ_ïW¬dŒ°®ä“¥íijª m>Ó‡¦Uls7€‹Lû÷y{¼Õröz½«â ìõ²ÓÿjÕ*¿«}}¹K„¾{ÉÔoM»áüë6}×d -.U]dP…$ ÙEŽ ÜñFïê¦@Ÿ1ø¬Ä ¥îË5W®T>eÀ§Ÿ¾Rs£€Jz«Å€ j—¬@ ‘“€ƒ]Á³]àD(@¿ÎD9ËŒ«?[£Š`1€&ýßTþÕ•?êøô3ëÿçu©{Èu»]·ò³P&v- -`å~¿ RŸ ‹8l¼È>Èr^O9…ù¿žÖ·ÿµ(àL§”ÿ8gÔƒï7rÓ¯é8Æ×qµp—‰(ñL³Ó§þ¿9ÕÕÀqrÒèÚ_(d˜ˆ¢hÃÑ—‡Ö©æN€-A*ާØ{û‡ñtÁYp Kð‘Bá‘ýû©Ï æ?“àÿ}>_£§×¥eg0ýFóõ7¨HEjÑ' $‹=’Ì`Rscm‹2Ž[d -pÜj¦Ÿ²ÑÚèñ ÒÏ `~€FÁ–Sœ Ô+:@ÂUØLÇ3Î È%Ô€ÞæË VôkK5Þñy ž6Uþ5 -C(÷Ð 4 ÀJy@ž;ÓÿEzn#öìƒs@£kŒ$Kà ê ÛŸõ•cs3p‡!ÀZ¾h÷¥†ç^ÜrÀž={Ê€†_n?óÁ™Ãç -l·Mk±?1•ýSvÔëwÄØ@gûÅ#˜?Ïû`Ó•óM¿ä‰yˆGë‰Ùšci+VÃLüÿ°„ÿ&ÿ@ -ð‡„¶%Z±Cþ:¶Xe' è·¡àÚX»×!L>ûôtè[(å õ;XÙ2^·-4Š!iø*+Y¸Ç_±×{–âî6Lÿc±riCLÓ‚вÇCM!„ÄþhþÌ¡ÎÛóì—Wÿ·|z°wrè­¡ËO·µa@ t¥æ­“»>Üõ¡Õ8ihëî§ò¿Üs±¾}ð$°Ú{ßJ ÈR@ÎÂ2 |,.u™.™Ü—Ììü[Á €É´¸Ä›‚ KKýž½¿TõǞ˄Ÿá XUF¨£çÊv²¡Tþ+tÁ…Ÿ@@V­¦“fs#—ž€€`xxï°r󗌅Ĕñ¿š¢Òù—]Ýr @—©ìµûW¯^µò_’`P–ô' - ¢Ï³÷¬'“Q~íç5€Ôu8ÃTþ‘ -)üi1È4gšãÍiºL¨ÈŸ8·¨lZG5ê˜K„,[»K •3”g@Wsó·)`x&aÕ _¡X_,ú‹~È û )gºëa€`K 0Øèñ´œ’ }ñ…Â~äûeö³Ž`rb÷e:|“>8ìòAÆé,jýö øÝ£V4ô+ö_íur 0{²påïV>ÝŠD€¬¡Ål±šY à3·X€TðFåÒ`Ð3øø$ýà§ŒðYŽwjV†ÊâŠ>yNd€µo 𗠀߯¿÷Yäÿfà×—4 {2iW}rióuM™a)ý¿´y€±¨ÿ·ózl$b/>H ‹¡v¿&JÚóùúr§£úúúÛä8~î.†Ùµzz‰ñïu6oq* ÆìÀ¾ÃS§ÏœûàµC§ý…lœ¤GÿÆ”ü–€ªòÒÿô4sþúFbºDÈÌ\SÍ«”@óó€>Ì"½Pø*䀭Ÿ´r0§ê`?01€þŸÇàBMu¡pøÿáý®Û *ÿ„&®¢”sí–+ýÊåOÔú¨Ù¼7Ð -¥@lº©.Ö¡Ñך¤äóÜÊæ—ÇQ:äénöŽq:‰-€œ„ug0?~øKɸ7 »‡ -[W,5WÚþ…tݦÙKS÷‡k¥¡¢§ºšúÿ¾åÕœ×Ëñ~tù³jÐöXéÃXŸs¹¬¨’QÿŽ¥&LþQûÙû¯ŸN&V«¨î/÷ÏÎöÐÝ«  CAªüO”UÝ$Ù€U³••5OÿuÍ*Tù4½Ññ__ÇJ# }f*þð´ÀF€\¨ýx¯®,SHûÏOsY(J €48›ØEþ/pÿs;`×ýÒÚ_^{Ó™·—²ЮyAØ."¦Tñ*sßJÈü¯Ä;‘œrŠ k” lÄ hVëúJðꩵXpõÙèÄñÔßÝÍÏáÜŸ¦RïJ§@äéjîê:€Ä*†½™‚3nìÍP¿^‰Ôo8ñ] |tû[úû ¨`ú&=½LB ÁÌõ¯Œñwâ/¥§&=(§C¿syhhâç(¤$H‡Ê%Uÿ¬–Rƒÿ#IüYòõëH{\_§+ëk8­Ý ÓÖüÌ–ãt¦ÿؾãfŸï¸Å -!àP˜<îéõéÍeäPÄYðœú&Ž•¼én¾µZÿ ´Š¨-«û·Ñ\ü: æ'N>Ÿ,Iòº€€bÔ @4ªþçaˆGè;_äëb¤˜} {´]µ # À O‹åE>d/><7÷Ì)ÈÇöcKy«ÊM@ÇôijY_›<ôqýøøô´rúmØÇ1ðâ¦U›ÏNl$lÀ4ÏôvYÕÕ'‡Í#KúbÓ‡Ÿ&¾`A êzB<‚”QC> $¶}ŸpA¸u n aK4…ê -|ž!`ƒ€¾áµêî)gh²ªà²Ê'Ë &ÐÃ}.ö<@`@ìèÁ4Ù®Ù:b·|w›ZвÁh–€Œ>:BM°R:_î§_=89á›=À§-55VÈk¨ö›>4í2™­mTò1X]¥ÂÎ ¿ô<T³ 0ÇáÀè㹿ïéÃ{Õ&©ÿ¦~·»¿¢¢ßÝošeÇ`QTõ¸ƒ–¡&„è ~jÏoSí/»‘ÛÄäºßj«¬¹Le¿²  ò- 1,V*ÿ°0¤âon€¬P+Qö¶ËTS†›jø/,ÀBIþ'ú§[_,$õŠ/TqD¦ÿ: °³ Ю†íŒ4€cŒÉY¬# cu`àdé€ ÝæÂïdÀ .‹€TüÓÍ鸬ã73Ýë’³‹)jÆ{I, +‰D¶p¥»\-Ôü‚.jñݦ–à© ôδǕq£EzÝø3®Þ ýkÁ b!V‹¥mM¾gÒ˜¹) -Hþ¥¦Ÿ0ø#K›ï­Ýô¬˜˜ðœR@4t©h^móå 5L„×òkÈSá_Á„€[ó×zÁj>Žíl˜-VC˜ø<ƒƒ“ƒâ -ld%€ ¤6Ó]B‰ã9}k}~GÙÖßmÌÿm•_Ž(ÎѲÍHûHRD=Rž‡%NÀk ½©CdfŨúcð`ÕÿìJÔ^êØõ ]P»]²¼ÛíŸ'Y˜» -"€¨½¶vx®yîúV?”OÕõÿÓ§·ŸÛýÚO -cõÖûÿ}ü&f1Ù¸©f1 äiÀ´6ˆ1&@¥´P…R:ëqªãÌ“cþ~myDÛ7Mâ§;'`*€á@¸µ5ÔÚzµµn[ÝOÿþ‡?ýz¢iæÇ?ý$±m¦®•ªî5Ñãw4É»ü²N/ÆÛ6æ `#[Ç?g -ÿZ“æïƒOBNÃWÄ´…™sÜÜu$obv Ll0ùÐÇ7Þ÷% -ïÈÇÞhkÃ0½†Ã»©Ÿ2u›NÌÖÀbuß²wu¹ªöj_ߨ·t€ó@Œ ¤…g€×Vs}^ùŠK¦KÌÿ÷Sûß_Ñ_aún?ªÿ²7‡ìBý=Þ¥ªÜÒyûoaÿ«n3Tï©Á¥³}}?šþ6\ðÖbw·¥­Û‚€µ@@KKÐÃ#€®³]Í„œl@*ÿ;J@T÷’ PÍ¿äù_NÜN$¥ü3 TM¿:ëoÂDô-À2`»g5­þgï;XIÚHƒ ÞŸº~ªŒ×¹>r÷¯\€•ý?Hút'J?3üiÞþ—à½.£‡÷é“ÇèL§Ì]½î;÷q0H§;›ãÁp=Á¸³ËdÞe6›Áô~(ÓŽ¢¾½»?oñxZZZn³É°ú,—/QŸDÝ7ãÒ¿û»iãã¾·†¬xLa%vh’Ïधוɼ]x;…í€Ì~¤¯(øym÷_$a0 ëõ-ãk /ï>n€à¸ÙÇ3Ï Ä"À ÇzzôÆ5SÀø·é—Uö |yÏÕªH¿¾ à/­þ9Jƒ€Ï~®ÿ¿F°kf2iW€žƒ¡¬×´ùÿšfP¶À˜˜zj{1 ' »=ûÀíþèXÉ.ÖìŒáøø™öÏûº½ççÎßiP-Ö:››Ï6où#ÑÊ?êÿ™ÝÇNÔ/üšËÿaªüûø,‡õ+F\¬€00S€ï”†ZŸ¬X®ÄMá¦ÿ²µ¯ê–¢u[Y8b0& 4?ž«è=Þ·kJ„f¾Ÿhzo[(1OŸMÀ[þlϺæ2ÌZ@Lkà FŒ;n6ľ~5ú?vÆ?\äCpþç‰Öòßäws“@A€M€ZqŸ>dûòëÿ–€ìA£gÒgiSGMLÚ¬¾/uh2[ÍÖþe.ø}=ÕÞÕUhq{µg•Ê6UcˆúýŸwÀUvûÃ-o…»¢Âdr»MýnH08{~UVV—Vs££³‹s¹ª‹K«UU›š} -b1¬§mBøàÒ“'ÍZ_?ú#Ãë¯W¾Þf}-Û¨-¢ÚÚh5SýoT -—¬` À0/ÔJP¹ ª…Hò_Ô^ý—ñÿþò›n}±Bù/ò$´H/…Åê¢NU6ãß¾ð©c?ý3o -ho›3͘]®ÓwÍß5›Z\éÂõ¸+íˆð×ÒëL»<€ÉlFÚU[ÛåÝÿ×„Ñø8¶þ}pþ Ðv¹Ò‚,)‹•žŸÇ¨‡: t8y»p®Gò7´%°•˜üßXYçœmn¬d×VnüÝýµ^°ZŽ[^° -ûo!¨Kí? @ø8ˆƒz¡À/Vqߎw–ÇsNÎR¦þØþ¯õoúkžÀŸ{нß* _qÀöÕ%'€ú2 €ž¬Y«  lÈ×qÊgÄÃowÀ= ´ ŒÄa" -?Q8‹S“ÿ¹ÅýüÃçÿå(€•l=€ajQº¶üqÀ åŸëÿîü„N#›”AJ Pnõc£j:­„ Ú< ÄÈ]l¶’^‡ôËÜ&Ãwåÿ½0gB -€úÇ1?âÌ}ÃÊÇ?ÚöãÐüOüÉ÷ëæg>™$>Mupÿã‘¿¶ -À¾ÁÜæóe‹…Yècƒ?À:¿©ÞjA?«ü0 ¸)KÚcžRA‡ -Hä!°r8®K›l;ŽwØðËûrëÿÖ€Çäà¤oÈr¥†Í©ý©i«©ñy>4ÑÉlêž}²Çë¥N}¹¯§ï¢—Í€±ÐÓ3‡ªÝ×—cðv–Vy/VöTPõ¯õö»ƒjÐmj^Î]Ìy©æçV?Îy/õWS©_êcKÀ'6µü¹øž›6oñ ÌíXÊå–«ggOú|¯°~h} öfvjl<à€–ÿÜä%@zvA0¬­Ð³XÛˆb - vDФ6ÿ¹ý×A€¿¬òó03ÐÏ&¤ýçò¯Ø;çÿ$eÛ‰wÔ@®ÛÕ&ÀêÿqhFúê…È®$GüØÈ ;3ÃÒ÷Cï¼îT›2ö—´çpBçßIu¾3Í›hþ{ÑòC  âëõrÐóñøÈ]üŽ‚#Eà¥ý…·3@™ætgWsº+ÐÝíîêJYoêv5; ˜E0QMÞ”3ãò4zzƒ-ž€¹ÑÊ—ݾ×&Tù©ôùÞÂ\`lb1$©®<ìP„S3Ìù8èIæõ?ÉÊÊ –þÝXQvô¿Û²¿ª?ƒåxãqŸ…Æl ÒÅ“"0ööÆuS`:nù%òàíZ‰ýÕ¤µþZGí&±¿ÿ G~™¨§g³?RÉ xM4kei¥¥€ ó0 æ"]ÛÌúážCÅ(ÃK”—‰öî}xîá¹¹½þ=üq{ûÆT`ìÍé'ïÁã@ûúôéíÛÏÛ¹Q_ÿ‹= ‡Qü¥ö+J—¯ -"·Ò Z <]š–ßT@€Žñkâ£?.Ù{¡gø6…®Jg¯€àìÐì?P@bgqîU÷¥;¾Wjú¤næ“ùP"â„¿p](\7 :ÃÏä¹$,á¾ÝÕû°­§ 7¿Ÿ˜‚ÑÏÔT Ö þ›ð3Cí(`úfù€ 4l£øÿ\ÇClt5ÞÔ1~sßô¾}Ù¯ÈÞx{›OoÑ â±¨l{ºÒúaÅ.+aSwK°z™ª~ßÅåžUB¨ý?[îóþ ô}UtþªbÿW©ª£fSñïÃd ‡(ÀŠêQSµû’ÉM­Ù.¶XÍ-]Ìa j¹¿†Á¹œ²,%=±ClVs›lŸ¸};  -a¹\õ⥀ÕÐæ# ÀY©'¡l¡3.BiNÐGX¬Õ)=y ‹ê6€Z ½äúS®,yÞê߉š]LqÁ+Q<-¢ó‡IZžéÐ H*€)€övåå@„wªïwP‰ð¿*8S× ×1óÏ4gxàLoræ@‰å'ÿNö¦ª{q©û½â ô<>w7h¼Ž_(Àñ¯PØÏwgÊÙœ²o¤w¹û»ºþÍ_™Lßý®ÙN¥ -×éN³E ¯Ó?Õèôœê=°ÞªýîËC—‡†|²þ‡‰€Ñè™ðYÁ˜©þ{<§<®øÙÎt'!ç°xò;Éóâ¿âpndohq[²HÝ?!”6º´ð `G Ƨ€žWà¥Ûæ(Tþ± -È%ÍQÊ.ÿŸÏüë‚éÿýÚ )y{y†l¬¨Ú¯"€5 @½Öÿ£ò«öŸ®²î!Õ?µ÷E^&š››{²ùI@€/œ?ß¾q/€µ¼Àõ0Õÿæ{ñ0¦©üŸþhüܹs‡Šõ+ì9Ü€SC 0`0=%€–øÓ!@ƒšhÿÔô¦µ961 ãã² Àísè*k©öÖ ±Ïµ?R-~ˆu€„æ ÌS??ÀKzl#á€mœî5 -ÍÌ$®†$¹÷Wþ&qækçÐóF¿™ [x*ÆBÀ†›ÛZ§ðÁ&Ñò£êŒ#d qô‘N{tˆ€íTæ±MÙîèìÆéÙ¦©þ7d¿r »ž™˜¤CZdžn°TšN™ÌÖŠnHx,³Àrµòöâ#,d€'¨R/©ÛÂx1æ¯0õ»á4Ê€Ûm -ºGG{rç%¸ê¼·úRõ›ÿU•Ut¨±ÂgU•CÍ>ð¥¥ÅJk›Á7dþÐìáê €ž¸ÎØ|½>@˜Ô~ì(D7”)ª¬Uí×Īâ+ÝŸ’`pË/“о”wÂ2ˆˆ…ˆ]¹¤Úe ‰JL@»œü4 ~-}@€l6?Bµ7•I±,n˜ê?„~NÙùCäŒZT,@F„]®xsÜÅn@ ¤ìó ×Gx@ïßEÒiؾ§€÷÷  nß_in|a×®þå6¹ûƒÁ®®4ÓNÇ‚?_õÃé Øh’'=ž‰“`ÿ}»Û._¹r¥­íòå¶Ëô¿ß盜ä`€L<-0jæe€ááç ÷Da… -0YL¬Ý ?Ô-ü¼`}Áb0ûÌ@€m–!‚ƒÌàÍC€³§8k‘'–ÛKÛ¼ À?Î~å ¤–ذöóFQnÿýý:…O€HyV~EÓ -P°ý¿q1?GŠnÿ¯CÔÿ9Œ›ŸÄé@õºöö±gî@ 0ïw` àž€,Õÿñq0ùO³7ž=|XÆÿzõ×ê¿ðÓ cñTQXOO©ÑÿtiFÓ¥€1¥š‡€šd$íIÒû°Ë·­U°ã¯„çqJˆ` üÓþýº¯ÿë?¼Êcv¬Ù+Ì$æçg>ùñ'u?mMl{/nMà‹êMaÉèáí>Ö Ød™q_SG˜¡ Ýœ -ãÓ‹<¸<ˆÍÛxJ$šP¼¡*,“Ø8ñã<@êÿÇ©þÓ¯%ûÙû'„ú¼ öÿi Fëë&S`öC*ÜÖ]&ªù‹}ÕØìð2!>ºÌ`3àÕœ8ç°º -“ ê~ñ BlâþßÝÝß¼4;·„òõ`®ºº‡­u þŠRÈ=‘+|ÑñDÕRð¤Ù°šÍö$0Ë;€gƒ²Èa€˜ìUN€* {¾ ŠÊ P4E»ÖüßB¨·…ÛLó°C‡O¼]*=Cqu“˜¤D„ -°Gt/ HiPÉùDz+# üµb P(G -#u ü¯;¥æ;uÿÿò`Åð¶KfýÌ@ -pä˜ìº´i¸î -ìwø‹Ê™NBnQÕð¹uµ¸¤‚fÓ.ÂîiüÁÓœ?˜q Ñ|‘¾Ô™AÊŸgjùÉIðÿ>_ÛøIs"æ•UÒSaÂ78‰ö¿Åsª¹‚é´lB9æ;:¢`³®ïh¬¬À xío·ð¯Õh±·ÀéÊbõ¡ø[³ø,L4Š%p/–ØÈ…_+ý¦3Ÿñ}RN à(mø_ìäp”l£WòëÏ;ëóÉH²ÌC‰Öê5ûŸ’P Ä (ÙüØ[[ëŸ{‘þk=IÕî@õ¿à|ûØd€P&1§¢ïzö^<†ñè´@{ÊûöÉ`ª¡D èÛÂ1SÓ·tÿ̘‹þŽ%s6å®ßqªüìøBÓÜÏ7…ëǧ{éÐ «þÔüÏÏ' P)¯{/Q×z5œhÝV7p5žiO$3„pjM Kø‡u­Û¶1E –þ„Rx»_Ü ¦Äš` 0X½_‡úA¹ËçÙ†<Ô)ôGc0#PÀ¦Ë$€aFÓ/!˜& ôå×ÿ{²ëñIz´‚° TÇRótM€Y8ž 4vWTG{–û–½ÕÕL¨uÀžóKlħÕKô_ç¼X8@}?{¸M¦ïè¸+Üý¦'ç¼9ÔxBKã¹àY -Ä <ÂÏúø›|^ù¯ÚÌÐW[¯ï»X½ì•ú/Îv¥u`­¸”ÙE7¤Ïׯÿ¢(n¶ýñ—m,p[„w3PnepiW¯kI{iûŸ_ð¸å‰èFyNbC–úy zªú•£þÓã‹: -)µÇSºMÅ1£@gJíËuÓÿNžtRCz·ŽhIÀ×>wÜqÖqÒï¾è_¨-ð €=ý™¸Ç…P A€zÿ\Ëwݨ3sÿ›4òšÁ/œ’Œ ·Ž‚™—Œ“ƒTýç7Cm5°•VŸob‚úh—Ò+"^à}ž9o”~IÊS翲rC¬ßXûtËþà ‚ÇÛ èÿ‡x§j/€ÞS–\ohÇs(þÊدù+ -@­ÔÞBøKÀÁÍ?ß××`š¡‹„»Ò”kú`Y - Zëþ¹þí#Ù¯ÂA­ú“ÍÍ{›ïޱG¶çRlå=À{ÃdÇÇOЭÄ©ÿ‡÷Ýz4”kß;@'ØneÿÁ°Z®Ci„7oRöMÿÀvS¸SW(§&p ¢ ã*uWBMWë¨ôÏÃt—pÀ„¯†;uuÔüC3XW—€ÉAÙä?`›jhèhhjB¸‘­ƒNGù¿n~ Çšª1¦ê¾¸ h¹€ ÅñH`±Ã±é›Ù¯(Èþ&îaÀz¥3±ÕöÖ%ªÿfêßÍݦŠÑžÅ0‹^ÖVc°¯g‰·Ÿ€0»i$@Ž‚é­ß}‰EY,Í‚9¿y¶î€{ŽÀ¢õÏõye ”}’4›Áž>ïò2{­ -³ðy4OXb1aÕ›oº ÿ ¸g[ðàl×Ù´¥xà/I¸ºl(' áôÍaûKd€¾x; Õ{f3©ü“µ™Œ@à$/w$–ç<ˆØË¦âˆ€ Ùª®_¯@4Ùìä3™Œ´ß¼ñ¯óÿÕ÷ÇËl€©øÇ»X -Ø{·;]½®c.îN{]¢à:{g+@ÇZööûÙƒkU›$2÷´P¡>å‰ØÈ»œµ{›ÿÊäîj®K5Ç{Á‰Çãïd -28½7'v íÆ> Ô““¾¶ÊÊ+t¾Ì«¥CmX˜Ø²è¿PrZcY Ž•ןf+;/|QýOFýµðؼg?Òáééñÿð£þëåÿ 8€éimÕšËÿô´mÅoºŒ`¾\ÏÏÕÌ€Øg—3xšØ·wŠÀV͈×RyX·*½?µþóÊ^¿C¼cõ>4a0?Ÿ8׉pByñQÑï@À`˜ßa“ªöahüÁ@€•˜>™‚2pJÄþ(ÿÓ%@’¦äAÙbÊØXY -h‡n$–ØÿoØþÿÞ€lþyÏÄ[CmˬV"¸Æbš5¸Ý/X»wÍö÷÷,Vs&Pµ÷bŸ—5}K⸺ÄÕ~A«;T ï[]ʨ¨ø«K»L»Ì¦ÞÀ®nÈF/V#€îúªyn¹'8z€¾Ïœ*¼Úçõö›º=Ý&«=Ì<¬æxh°$ÖÁ:(ÓV-çž`-Á,€Üî@Ð-&@lt@zNÀ{%  V¹ŸJeW+ºö¿äýë/ü³ s’|Ë/ñƈFXÎd=¿¶)WN'ô¢§7þÚ4 Ò® Û˜è@0È ûi"€ë’0¯‚ÒºôO Tÿí¾Ë•îìù?•¤.3lU{Œ÷Ä Hêþ;<Ìwßýã?~õíúl¶þÅ‚B8R™4ýK×ý‘•ÈÇÍ×Ç6œ“q‡¿«%]i>à¦ÿ ®.V)ÄãF^ü3_º@¥|¡p!ó¼ñµÉÇ'†~çÊåË—¡ -Üíº<Ô†@ ðÉ)ª éŒ3µq -):QMDïŸÁiÂŒp–@ -ÇjƒaÿY±ëÂÀç;>44ˆm”€䟟×IÚîT«åjá@µÚà-€Ú’4€mýÑò4 òÀžLnÊÁ`M„kªþƒõ®gO ~–éKGŠöìoéñ =Á?W°Â€ÀÞ­ŽÜŒ.ü÷ò,6ØÇË -LMËÁ®Àt b¼©4` C¯šÊ7é9\ÆÙ3çj¨éš=ûCÐ÷ãs!ÔÇ>·ÿˆÕ ÏK¼Ž -(Áw˜ç#13) …pL¾ » ‡%žý~Œ@S8Æk€òŽ_»3©15¥Š~C‰$ä›*P„d±Ñ¦…JäñxG‡¶iÈø!û•Ù¤Ñ31ñ–ÏWék«j«¹r¥æJ›ÕVìê6XÍÐ4W÷Œ²/õÿ ØS-¦À°öÁ€WDÄ蟋KË£¦þ]Ôÿw¿`2[Á]îþjðÿH˾ÔSq©ý ©ÜÓw5í2Zè6»+z–½¹>üƒË9ñæ•ÃeÛ²6°ºè;ÏúÕJh XîJ³Q›ƒ¤™×Z}å`Wëÿö²…?­ük €ß› -ÿ§†ÑëakÑŒ„ ¢og%€¤ž%#ùˆ†t? žˆ°=j‡„ ž}Ö_¨åhyiÿ3šñ_&®Ò•ö™pìdÀ;€p† ÷ˆKŠ/ºøFÜy‡ú‡†^~õÿøåýôRºòG™Úb”ókü‘ȉZg3¼„ÇêëOìÝ©oOÿ|"^¸`<•N¥^D&pK°…îq2êŠàüñ—ÀéíöþÎÄî+W®p.€“vb™¾0å ¢¿ ™äû!HB&B5/Ÿ”XÀuªÿ| Ë[xPý?^i1Ô`ÀJàøehÈÇ–@Týâä ×øEßJöUñWž@Úì¿¶Ôû†€JÿA–Ô&á'ó#J¹y - ;+j `í€`–AýçÅ›O[€*€úϯÿlDàžþPu ªÿ_Tþe&ÀÓ ªöǸÿ (ÿ«K ]ù‡d>ÄP Ña«_mêHØ0AÀ½¶kãx‡!À<ù¦MMªë¾Ãÿq |’˜Iœ™uˆ`X¤ÿáRj!=Xý›îˆ5À@íô!ç¸AÞôc_YýoPæAšŒ!¦‹• ³þz>×ÿ}ÓÙ¯8ÈŽÄ=>ž)¶a pÅp¥Ò Ø`økSÐä>»X3`ªÑ}Ò™÷\¬Zâ `œsš T|U9„ÿ-y1ØeÞEßc—Ù0õϺ..-¡õ¯â<`º§w¶‡…€+.UôÓ98[AÅ¿Ñlî6N™û{zr=^¤.|ô±Ä°\ÀU¿j¶Ûºxñü›;ª.zXhñÌŠÊ¿««™%N¬ïŠ@¢òo(Þ_~°4P§àò¿ @À-Oò½ãO¢vÛåÌý œÅ³Téy ÅD"êÜÎb@Ž#`»ŠV]yp(€ìˆÃ©µþqµøÏlFäÜþk7¨äw¥Y€*ÀxW'x€Îø‘^Iê•ù?¨ç9×ïÐû¾üò«ýÛwÿõ·¾WþÈ?sú£Ȱ߈ÔG6ö:éOœ:!0Fï§{ã…Œñq¤»èoïjñ´=½q!ŒlýCàx摃 7¢ÆËtó±øã»/ÿΕËÆE?¿ñÝ}Áá`á#a€(Ø”?ð?#Üö'“ÑúÃËJ þZ¿X__ÙR`@ñW*@ \)c`Ï`c#^ðô¦¿ø[ý]Js·) ÷þz² *Ü¢à?jâIÍ(²€ìÀ”A)ö+ùµ’# ZÌ‹ )²›{6Á¿çRƒH¤ýsì9V‚½ß?V›ôßÓjßžgŸU€=_(  j?_s`G¬ä—§Í:4+`ÔËqL¨üYÀš¾p‚P+PµCãˆå%`S@XÚ|”|bÕ'Ø`†Îg08“`ŒRžüì4À¾Bà°Ÿ—^Q&4à^SRÔ;l›;þÍG™°Cyð"`i =4!l±†= û²_yÍCààžÀ5mWj¬æS"â3™ 3&g«G½Ë ¼ì@õ¸Ç[%ÿ`ÞßãA="þr«}¹¥SëÌ̦@…É]½Šr»ˆúÉ‹Ýôš*.]ª¨èï¯0íê6t¸ÍæA€Õ¾Å¾>$îX¬†1 K{¹Ñ¶n³Õsö|ÕEÂ+¿p»[”ÀÕå¢öÿ,çõ¹Ê`ÌQÊ÷ˆFýJû¯l€‹›cË´ - ,ÜFð  €5ƒÈó'„P®ÖþËð?¢Y0°ù¿¿‹‰<ˆhN€ʱÎ9»úà_–þ¥ö§ñ/}.z®8+ÿ¸äëmémqëìÄ8@TqŽ:&fÀwÐÎ=üåã½{ükú¯ÿþ]õS+¿×™rlø7èµócXšžH9‡_¬Ýˆœø—/ÎE"cÎLÁùØä„qð¤9àêr6»‚ž€ÇÓ‚´"†X|m÷îË—‡&ãÔ×~21ñóø…ý…—Œ“¯MLË\p^ÀƒÅ!r -)Hò7n@°²p `Ä>’ÈóR@þ7[ËôRÉGzw †¼ `‚- r|¨ÿÚÀÓk¹£®SÇ& ¶´¨7ÿµ·.Š °< p„£ò˜Ñßœ‡@¾<h}¥^MŠpËÌñ4¡gÜ–g:  ;ïȶŽ -£©ÿèIîñõ,€@€=›pÀ¥ ¤ê†;P“+àÿUC€ÓŠý·i’yÝPÓðÊœŒËDZâjåzÈnâ :¶ìg¹~f|``̲ó1N9ƒÙ?àÁ¾ke\f"€' „l S¸©¼ü8 (ƹ?±’îO×9ìÓD€S¬w¼YVÿcZpnqܤEâ'‹í£ú¿u/Ï÷d“1Nz°è³Pño3´]©´øNõ£6™¬–À‡‹Õ}Téûúª«GG{\\Êå¼}„ -V¨öœªóRÕü*̼° F즠Ûmå4€šjE~tkÁÁ|ïî]G †Ênp€¥òdÏòjßêrßêêò24Õ‹è#€'ª}«µû¤¹ÚkB -¯<¼<ÛÕuV$€N¸Ôò¢u€%¿êbT$€ròëÀ‚v¥ÿ³L“2ÆŒUùÇ0@ª?C¤D‰cQi¢ö¼=b/+ÿ¬Œò`@lêWòpcÄ¡óÿLþ§uÿ}õ_ Ûu©ö @޹\ØäuM -èRÂ@ºgò ÿécÏíÕ‡^}èå‡ÞýÓ?ý·ÿ«o cŒüEg-A€ÆÀ®£Ú9ñð“Íc'6ö:‡ ôú>K·9O¥œ.O Ñç9EøÄèA€[»/MÀZ0êxiòòîÉÌþ …ýïHx‰nê,•ªeç•7¯ùáßû£á½©T&>9q¹¦²’@øÿ€Õ`°6zèÇë%p04¡0Àï0°¯Ÿ˜0Æ/.Þygÿ…G`ðÈ#88è ÷£TöoÜø o0àH¦„ ØbÑFce¡Í€×8ãØ2¤Â1ðÈa¸›o–b)`JP€f¨[Àp¡\ >ÀQ?Ëÿ 6@#Œ’ɲ@}¾äÄÕÊ?æõ²€]YBÉÈØ ív¹Ýngg£Ñ Öyä~<›ÚÇÚÛo[¤ú_ýŸŸùÈÚ{þC­ìy–N‡§7ìCŽýg•ÿÃûÔ– »FýWr€é˜ÌT¨UYå–ëØÆ›TpèZÓUåþ×Ô ‡¯†Cu ì;TÔn“ôÿ¼@eþ¿„l¿´ÙÄ–ûv`ðÅ™3óó3,;MÊw°ì$ -ºžA¢ØéGkÿµU‡ÒÀôTClÓfƒ&ÐA€&ä%À/?þï~€ì·ž‰¶¡6Ë•6fá8i¢²z©bÔTáíñö-z—PÔWsÞžžQå4Š‚ÞÇö¾¢ïSäþ‘,šMÝbE4`¿)`õVí“ÿ’°˜¿qñ’ 1ÂÝ»º©ô›­†£ß4ì4Ô­¬¤>çÔ2ë -¼««¹å\OI@_|q.üŸFbá¨ý´´¸Qþ»\.\œm>Kпùº“ŠÁÞÚ½j PóŠrû¿Á^Úö¿]‹ˆj©?ý/ܺu8ÎJfÀn„ Ó¨¼ÿòvD”+°– D§ {»Ã.1HÈ?8@ÀÄhÛ§¤…%€‚(ÿpDüOg¼·‹ítz•å/4½®®ÞÒ€)€çéöÛÀ¼ø8þçsßþÆC^ùÖ»}ë?ýê{_û†ë÷‘ßû‹½Ïœ ð *?a€á½àê#ÏÌ=ÜüâÜ‹©‚“0ÀPÍÓOí<ÚmöL'|†£G4zz''\V(àòå OfaäF}ÞŸ‰?þ? ÀÐ{gPÛu€${äéÕý††òùõ-ý#Ô|“žœm–ãHïÂ`È2„õE˜ ²°>†½ñ»únŽÍR@ýGé¿•þל–-”¼€Å¨¨ò¯ÊY4üTüyPÚBˆpöKÕ¸qÝî +3Ç®®Î³œçàtÞŸ]ƒ±±±ÛT\ÿ#Ðÿ±&éÞÿP+Ù_?»oϯ§OŸ>,à °•IAûà|X¦NcÀ«ºkþ@“di -@)˜ã¼ðjºÖ$‘¾¡•ýð@â½0§÷1 rîÏx“Rª#4>.õ{JqããÔúÿâ øÿ33ŒÆ9ÊG– ;jp"P(¦ëÅœXÒÿa0¥õþ eBGÝôP¬€o*ãc–6lZj”Ó¶XÃ÷ÿ÷d³Ñø„/#l…ÂZ@+wï¦Ùž*ò?óæ°õ=ÿ‹^€Eä÷ŒzW°@öôØØŸ Õì6í2í -¸]g1˜e–@Šÿ’”ÍxÂî]æîJÃQ*ú†£ä}Ó`1T*0~xë…«j@·¨:¿ä½Ø<:Ûßìoq»[àˆî -@:± `³s.%I@µšÀ±i@¼€ôÊ/:Õók'Í8è6@%j+€ÌŒp¼c… þõ4€ˆFð Ú.ïó* ø+#Ž‚¬:•õ_Z])ŒŒTÔOq]ooW<Žj?âŠwapÝÿ—ÿÊãxæ‹€ÿù~4ú~ò}DZoüÁ×¾õ÷¯àøÞ+üîŸñË*5ü€‘€Às{oìÝzsï“‚]ôÒ_(\xlâòSOí¬9jxËê³výæÑGw6z` 4ÁªÀÇé‚ÀÂÂHžJ“ -*Žò½P1¿ãu@ÆIÂÑßä?]Aùµ­E5@t>ƒjã}À!«OL²p—ß Â?¼ Ôªî_í*Ÿ!ÎÐüûýË~¢+€d>›O4ú_ ’E¬ÀåE<ûå,úSíwñ°«+èjqu¹º@Rÿ?œºO^Cí·#€!¢~Ä Ý§§ótïŸÝsú£ìÙw›QÁÐV€@>èêfL<Q¡±Ù¯ŠuùÞý­Ù£éÀ@›aí¾˜Pêçz–9¹o‰#…¸ˆ€ ú8fØ„ÀOéaìÇ ‚Nv4c¬0™ý¹ªª2• æë7]2›ºé0ƒÿ·Âô„^ì¬VK%†üÖeFø÷w¬ê € o¼±5‚wix®º_b€Hùg0‡ &j?f#@ÕÿÛ™é·ëý¿6Ñ,‹ –OºmXàVèã;°º¨B‹*[HŒÎóšÚÏÎv€ºPvXSûO€ó‰Ùh½þb²y¢À lÿéú¿³býï,€"@T{êý þ·Ä]-½ ÿyO-]Ç,|û‹€ãý÷±{÷þûoÿYç±cÿÛ·þé¯^"ð÷¯ü³?‰À râÌg -üÞÞ‡÷2%ðLúABûßyìµËO?EGe¥¡ÛÚýè£=ztçß<µó-“ÆÇ±8a4â†1ž))ŽHIg¾[š\f»Qþ‹Ìð…€ú`d·pp7»€ @8 q¨S€ÆA €Þ»ÿvTÿSŽPŽdP[ŠÐ%åå_T€Qö@ûŸÜĬ­«|`@` ʨùK)ÿ¿´hÀ–ãj ¶tupuuÒQ÷Íkð™±óíí›Ì  g¾ŒÀð}{:c -pxü£í -ܦ`—`È0ªüK4°ähr> ÒÆæã¨ÆœóGmùÀ{ìë;0 -'êZßkM„¯Ñ]C× þ~œ/Ï(0þKx ÑÙf;mû%Àüøi´ÿ¡3ÔÿCÈnA¼gÐÔT -lÒTz²Ê¯ê¿²ä£†ÛV` €šmH°®l,e³ PlÏóÿ÷dóBÒÔëÊzk4õCºgZÎ--¯‚âGÿíõæ¼ÕäsFÐhõjO5¦«¼Þ]ž€qœ«¦îŸ @·ÙÔ4™gM£¹7vè3€=Ú·Ê‹½Ãn˜Pù·¼`0|Ój¨!à3´* •åó9¬€lPr7TÉîA®j©ê|Õù'¡ÿ;p+]ÍOv6³ °snïÞTíÞSÊT¦}#RôÛeãO®7Ÿéç‹Òô_íþ/ðùv®ÿEµAÀõ~DˆÚUC¯#*  Ü -X7`§‹"ÛÔç0 @v]£ÔþŸný‡ƒçÿÆSFÌÿÓŒM¿2À#-ȤâO ¥…õð -ÌÜ¡h¾X•!û'ñ¿?ôîCýêW¯¶}ïϾ÷Ê׎aPÿÌ3o¨'YÀÃÍOΈ´w¹ÍØ(q± 0@ÀîÜyÔ  €O=Õfö4f~7ý¯Ä_z)Ã'˜ÿ®Áp[ÖþyÑ=ÉÁƒäH^€ìb;`Dv¶v0¸³c:‹‚èÿ9 § P–Æÿ¥æ$%«ø˜ÿjq¹)áͨú£üo‚øŽß;nÞ)€”ÿ5™È - ûf‹j6ÿ%hÜgA7g€ Úïq¸‚G‚.˜Q5Sÿï¸Ï›±gÆ ¼YHÏw?^Žîã|åÙ_?ûѹsç¶ÄË›§¼! €©^ ÀÈ€qübÜ7«‹µñÄl6}Y®i\LþÃW  ø3Ðzµ.Ñš¨Û6ÓÚÔg  ýΗþËø¸ ÛÓ±éq&~ù“ï|pè'‡Püñ`Þ†}?ˆY È–BxO³!^AtÿSªûÿ¬òÏŸ1P¶* ÷m*è@EÛ¦îAý¿ ûFCmCmm¯ò¢‘ïdÅhÅlÅ¢w5w‘Íþ‘û³œ[­^†%P ïb5õV%½'WÊé¡j½äå8³¦ý&“{ù|UÕÒÒj•Æþ«(¼; -`î6Sƒ†ŠO0Àg©ü¦ÁPI=›ÅòºiqÿB•¸è[‡º¢ð ¾xæü“Ï5?Iíÿ“4Üì0¼·6¥Œ™ÈÜ@Þ®ýÙËIÙ nÿ³ Eo#TvpQ,GT÷U΂E¨C×ÿGÊVDˆ\  ¾34pƒe€lþËþ?ÊüÇ%L€’ÿ¡ö#ï1×z]ØK¿÷ˆˆÿZ€8â:¿“rdV˜8]YI®Dþòÿƒc¯þý¯^ùÓ—ßÅñƒ?©çQÀ3'˜ˆDŠÀ„þèÉ®æ½õ‘ΠÙ`0§<ÆŸ¼ÖVùôSÿéxôèÿ·óhw%æm–“Æ4ô\ì/.ìg@ý>6ü©iMjI€#IÑA }(º€m­@6[c¨ámÝ–!+Úhl ÄÿW¿#ê|ŠzýBŠw -N -,èFµº€Ž÷•,æ`Yb–îHçHr3 #¥Ð™ˆ{Ö—À©ø pÑÒð´]---]Tÿ›;ÓÎæ”³ö~>qÚe åGÓÿc˜øÇÆÆjïïzÏá_ô_wï>÷‚Øw pXg4)àéíãÓû49Àtl_CCy ÄþM1i•ÅÇ'ÄN¿ ÿ©ô_¥ËÖDýú½3ðÓÿ^ÇüÀ/Á$ægJ#€íó whÚvÚvš'gÆÇ©ô£ÿLj ÄÃ&6 –ÔFÚü߯¼ã–ö¿¤þß”~\æ ¥Ø4ƒ2—c~\ô1Ð%ÙßB]/ôz&'!¢——W-¾@‘~³À¿_ä&Éë…Àh] è©ð.W{ ð&@É«W4K¹þ~ªû>ŒÌÕÕwp/OTÑVQÒÉÏñ¼ Ûb6óøŸ €Õb1XQÿ» Ð!¬¬*!A•\ë€1Ào¼yþ_>s~ï\óYl8ÁÿK0‹ÇDˆú®…ýù• -`Cø£%ß_¿Vü!»½ÿ׎¢¦‡Ò6 íâ*¬±Á‘ÛOš  =Úιjd€•J7À&qmõm€T×ÂoÔnôêe_Ùý0ókÊUÚì;ïnn¾’]A©_y¿þßýѱ¿|ùÝW^y÷Ýã/¿üµ‡^=&rú£‚ˆ7Š8"'6j›»4×Ò‡ÆÒ-+u›“„&._ùÃ?üO³óÑîG»wý;»-¯K9}«ñ[-,D¡þs0 Mí åt·®â€‹Xþ+Š0À‚ Ä1 Øâ!€¡Í.&L@¸cñ©U€ÊÈ·t H´€õ–Ò—kµ,@Eˆp™$‚Å\þ5oÄ2`M§ -È />bøûuô»ƒÁ~‚ÀlÐC  Âú ›À.W—+Þœv:ë÷õ‰‹ÏH½c1°#ûû>×:~}xÏîŸÿ|÷îíºp³`Ï>!l?wî£i ‡c\J7ÙR-¾:¢.ùf >@6Éë{úá0/ÿµ†‰«lÙ70x¯•iéüáòF[ôß>þËÓ¼opzà£ñ×m—ÚOŸ;3&Ä"À©)ªÊãâTž@ ‹%ÈXlÿK@C¹° L©=@›rTLÍb²ÿßpOêÿ}ÙOF‡ LÛ`5Öø¡©v¶"¸ ~n¹$<÷ôxûzªÙÇãb×[æÓKµú Þ`…ÕßmÎU›³Õ\¹—¤dk$>ÎK£¦n«‰ê|wåÎÃÑÊÊ•5Ùb¨l«ì6[­mÏì2ò9†PØÞ;Pßj—ÿ7øâ Â`ÿY8Çõ?Å;lØÎ}bdÃß.¦¿ö膿ŒØˆ–ÿU߯ Àí9ÀÜïëüAQq EvIJ±ë£»]Ûü×ã€Ê8b "a½e - #c­ûwó —È]làâ_WÚ%¹ºTüôvuvõ¶´ @Ko $Ü1   Ð[½×ÿìÈ7¾ñƒwzè¡—ÿÁ÷ÞýÏ¿Ï$ëÊ `€úÕú›7üþT³ËŒ§j£þTÚcµÐÿ,ƒuò±ÇûŽq7€?ìåqLo5þ \Pé§Ë÷Zß«›¡óür~Î ççÌLâÐ 5ùÛ¡°±ë5ÿ¶~9>~æÐ™s:ô×>ø€n:×üy®qH®=lê(“plñ¬ÿU/+úZÿ_Â%'€RÊaÙF ‡Þ£ú@6[ôL èUF£¾6K Ø¿Ø pÿèòs9ªúÕÕTü©ì{ ŒV÷ÒûlÀá~ú€…€¹\5OLÌžF“É`ʽ¡î£íj `iq—ÙÜ=ÀšÊoÖTB`5›±»ýM‹µšÁt‘p…|{ -r䔟€p8øòÍóç÷~ü"•ÿáá÷BÀ;¼Híÿ :møÅñ¿]…ÿÚU@TOÖÿQ-:È¿p+ Õ^ÎÑòæŸ5Xéj3€b ”":Øh—pÀ"8?ål -*á?fÿñSTêÏÆÅà,Ûñ N€J|öÿ€49†Ú: æñçnÜ]íW ‰L€÷ÿÛ_û³?x¨ñk½üƒÁ—¿öê+þ-ãÿ¬gMà‰7à_ø˜ug¼×sª7K˜toÀztçΣÝ'‹¿óÎ…É QÀÑG»»wu¿±€'Tƒµqºs!åð‹×m~{7*ý7¤øK°äFÅ0©ÞÙb€—j,m¶í„€@û[CÇ©þÿõÉ~É–ê¯t€)ÅÈÀ¡bG) X#¬+–”)Dú¿–×þ¬¬ÚáTùGtÿ-i jû³žÀɽ™=TþA´´¸‚½®4’÷ÿ©cguŠÊüãAxFzøÜîÝ““»wkBÙØsX(!ÀôésÛÏmgà0WËé}{@­OkÆ97U¯ŒaüÕð5øø ÀþüÔðSéOP­hM\ 'Âót+Lµà*wý„ät†!þÓàÿ?BûOçíÛÇ·Ó‡Ï(xÀ^Âõ7IÓ/ÉBúâÊ÷ï)è®ÿ%ó¿ò«@`YÈq¬ô Æm㢤úÿìž=Ÿþö€ìBÜ39álDΘÏRi +FûûûÏ.­zûrT{—.zaØÃv€=ÕÞÑÅžžþÑÆÔ×— 8ßOe=`r05ÌV_”-*ýWiØaÑd0tí6·°À`±ÀØÌ7* –¡ë©å‹¹¥%Þ¥¥óKÞe/¶ qTU•€7ñöæ›ç©ûwÎ Ïíå @¶ð¡ænÐ)Bݶ?* @L€üå»^¥ RÐm&´øÀ m`£' °¢œ°—‡•,# -,+ H>p>˜ˆ€VüK@§()]ì@g»Ô¾ËfÔ; - -pHPô¿ük=ôò˃Cßz÷_ÿù·._Ow‹ °Qô/`“ï\¼”ŽÃ$ŸZÃw Ð}tç|ê¨õ±—Þy䑸ÄdÛΚšn+¤*l’vu¥›),úýæq"ìÍÈÿü - -’€8 -ë><ƒY‡€htmK@ l„ÿo«a`‘€åS ˜ð/HÕ/€ (à=Y÷,IÐ|±üÚüÄÎfÀ|ÃÎaÉìˆ,©Öë×D - ó vQŒüà a?/ü¹1ûw|«Õ|’·‡ @KKVRœ©èƒðÜ)ÕÿúHý3çZoâç»>ùósÛ´G)ì9¼gŸ^þoG > “Äâ:Ê­dʸœòš®Q‰7i!=‰0wþ­W[[‰0U~4þïÍÌÌ|òS:~|&„ÿ™C33gaÖOÿÚ¸ÿãØ~îƒsçÑG·Ÿ9àø8† p!RvAœÔ£Iû?UVþnéùK;*ÿXvn–ÑÓ¼„Ø4Îé°ÿ{öžôÿ÷d×÷÷Nz©þcÐf ,VôÌöW,Î-ɲÿj€¨ÿ –{z*z¼£0éAÈO•óZ…&XºØ¿‹Ê?³ÉL˜Ú?§)øõu@‚jÓQì •/èÒb°XÍ  ÒÒÖVYi­4™–ϯ.W¬ý‹¦@E°š‰€þà7οñæùáææ¹ës{ç´ÿ˜ƒÐüÅÈF©Þoðë™=*Î@bT¾À#~ïóp(aaI7¢¥úÏ À†ý–ñ9°á× ÆÎõù••ŒXq8±ý—Ѷÿ¤þóâÿ):QéOÇ»\ªý§£Ent¹0ày4-Ìþ‹XÇßÝÝ`…:üú5ªðYxÌåëÿÝsÿíØ~ÿù?xèÝw_yå•_ýùŸÿù¯^Eh`¶þÄ3ÏÏãGõ¿y'óNü8ýô½žF«å®£ÿñoþfgÛÉI…LÁh¡ÿj怛I»ºº`Kí0@¢]ºU‘ëy±VË€"PŽ9 ¶V€š_ó*p†< gkoÍ?òûò*@mA±%ÀÔLÚ‡tÿþr+ ÅyE“LŒð"@Qf€JümÀuå–€-€Øà:úgÏ ÀÜ'}ÀIjÿÖ€';ÄF!ºš3Î)l˜ÀõœÎ~ºûµŸ¿¶{÷¹ëõOÀéÓèÁÙ3`šY,ÂKmå|€¥ ˜"äÙ8$ }tu•Ê?úÿÖ÷Z[[gè±~uïÍ|ò‹_|òïÿøÇ?þ ¡C3‡è "?0®µÿmß~nû¹Ýç}ðÚkß9ôÁ¡Có¡–Ø§ô%@Цíÿ£ük«ÿ û6—ü]x‹€!ƒ=ë˜êF„MMã¶Ø¾g©þÿío7xÀA^*öY†¬ @EÅè2kxÐë­^À©€tkq€UôTi«~.-UW°¾ÿ¸µ±1`²Îæ”þ¯Jßå¯ÒÀÿÏÞûµ]çûÂÝ8p|rÀhnÜÒ°ÉéÐ$59&ákˆVăTe16Ø™Ú+ÏmVŸYO²s²œ=- T/÷Âi·Ô°ÍœñVe;Eëd8³Ì½-pö>—= cÃÖÇͶ ³3µ§½¨ó¼_ïÏ÷B[WÝm+¬| ?¬IÈëõ~½_ï×ûö”O_À9„ý&U±à)=óƒAõ}c‘®ÞýÐÐý·QOï×¾/Þ`oˆû£©Q¹øØ^Q£÷ð˜lþ—/ÑEó¾'¤·äÄš-/Prå ÉÖ«Æ•”*h ÐÏæl’à’¨‘„3°$g[ê¯l`Ð ØĽÓÕ…ÿ ééyÙýTR€‰¨ƒþBý'Èê?2ªï'€âßf·Ëu?&àú¿=øâ—Qø?¾$ ZDWz'ÿ¨|üðÏž-?ôØ¿nذáÝ—ÞàÕÏ~0Ž®þ±ÇþãKÄfçwÌ÷üçc–÷Û¦‚ï«Ðr"ð·÷Þk8Õüîüôù~§MLñ©-­„‰Øæ1@` €+°­mºmš«~᜶ÁE'¶€·Ùà}¦fÃu|ŒXsâ²C€9[´S€h›0¾lKP2~ÿû߯ùö·Uß¿Ãp¯áÿâí‰ôÏëß"û± xËþ-óûçY1ÐÆI¿BÿO_¼Œ–ÄåËXêÚ¶sÚ:½3°3@7Öi!Üà' ›;yw•ÿ^£áúüÍÊ€°°`õ+€'g‰FîÉÖÿpv@iðR@P¥þc€bO]¾ú¿Ñ'ÿ醀_ï8h>h6½â>h2™œN“Ûiv6Ùê¨þ·wßßo]ø/<Ý#c}EÃMãò ¬l}´±Êo¦„ÿJVð¦×ÕœÁ¨)oÒy\ÌÍ‹ÿï üï,­Üü=ôü7îÝ{ׯ½P7žåóVÕ[UU·Žœüé À$¦ôïшÎ_rà(¬ˆ""å¯TtûåÄ>Á>ÄèÿãË«¯rûå˜] (ÿò€p7tÿOþšK°Aé&Õÿ_/€àt655™Ý&Dñ‡ò’Éöd^fn-÷9ìjoO†Ð -Ðñb@ÜþÑ›ÝÔ'FôS·#£/UKÈOx­%vnÒ'u¾¸0'oñÁôW‡TÊÿ–‚»1³¯“Ê 2 -ZL- ôn§2`?“IrÀ`¸GëØƒ¾®ùßöxµ?V1:Zñ,¶Äb±ââÙÏöòrO‡p^Vær¹ò_R–Èçé,ÈžkX&²@¬À_£òŸ¥ ìõå²  ~eí¯¸\.Òƒy›újS°71ÛJý¬÷ŸC„¶_mc/°Ráú;Å »Â‚_Vàó1:ñ á…4ì€õãã‡ÆÇ-%–ñ~ííÿqÃCñÐ=÷ÜóÜsÿüÐs/?÷c±/àµÃûÅÓ ®Šv݆¼ “^²w—ÙmzUÍ·ÔêkTÄ/½^·Ù‰—Põý°d·àYo¡Â~zç4û§Å&àôo±þçòÂÂåp`»‚¬;…plþ??2 ",àWÍÆfÃõú«/·¡ 0oç^€hÈM€ñ• -€G!½rð•%ÈÀÊՀ̔ÃZÊyžàaʯ ÿ\ýóUkF€jé dzÅl:Ød6K{ˆhF0Ðo]XÇ÷/|Æ/ifö5jqgÄÐ_#å^@Ÿ57à¸ï÷• -?Ø*–>ª¬ÖV»ì~Væ1žÇ ÀÄJ‰ü Õÿ{oýÞÆÁ{éòógߺ•ðÿ‘7 ÿ¿5R5rºªêtÕé®®ŸNæUà_à -[†…G°¯´ïñå¨_™ -Ü—µïegÿV6ýsÆþsàŸ®¯_4€îÿI .¿>ÙÙ¹ øÿðM{N¾^0ññ1gÞ%ÝF£[ -%uºö¡Z××…Ô—+SK]»«V—¬Í“ À… ·ÏÍÝ®ó -À®¹]:ç·õÒVL¾&•4·œã+'á÷ºj‡$½ãÿ˜¤‚¡ÿM¼PÕìÅr#ý³è[-&ÉL#!¿/„ÄWwoªý~¿Ø{¶ À -lŠeô'èXÆó@¹@çò7<ËœòZiX¯%þXd¦ã ±ìà7J–öEw骀åAÀz,@ðyªÿëW¥°ÌoY^þÓ-ªí6ð6`Âüx9@57ÿ èmuÿÕ6§< ;é“ÝÑŸ¹çWüW,|\"ìx%%‡ýK&裤¼¾üµÇî|éž—Þ¿çå—^úë{ÞýëW_ýìgõè¸Ö¿öb?AØ,aZÿ êh²ÿÝîcÞa÷9ôZ­£“äz·Éì´ùºï' - •ƒqÅR¨i*î©È—§þ„ FÞÄÙmÖ[æo¡óÓ7ü™0pf8Ð龞¹U±È;°²Æš+ähbꥀbäÍ€õá,ú+7r–"ˆ Ëùóé¯ÿlý aÙŸã~tŒn³Då€Éè6¹%´.±) ÿk\+ ¯ïŒ¦Hƒ\àÆÆÆ¾¾>±*˜Êÿ®h´g²h˜~©2+,Kæ\þ?.çè<>ð)ºçb#/³ù7••›©\ß\y’ðÿ®AÆ~\Ξ½õÖª·Þà3‚kþĪªªººº&‹&‹ŠÐP8@'¡0A?Îîaþ(À€ØBðxŽqC‰›ÿßU¾¿ø¿"ð - ¯”ÿ«DNžì|ïQÀÿÃÿþM!<P‡6EÒÁ½®=”„ ³«¶¶=//ÔÞj¯MÖºtØ  ãˆàTv!ðíJ‹ß@N`µ£F«×>eB$ Þœ§Kõæxÿ/@jè_ò´R Ã>п…°_n´`*²  *ìAm1¢`~½{ïqGPƒ¿cAžµÆž­à5ÀųDŠW¼)z¶ôW@ÖÀï}׬T.MË¿-;GàYÊ•ä-Bœ9XÎðO%þÕI@õÙ¥ÀJ@xVÝûD:`åÀnyû¯`<T2€ PÝÏWÁìb°-„·ç:»Sfýd›6½Ps5€1dMâöÞýÇ{ú翿祇Þ®À{^ pPàkuÁ~ªkél9Þ¯®"Pä6z±ù“z­£ºlKŠÍ‰åû‹[Ÿ-+Û‚×öG‰Ì~Üë " ƒ€v - 0M€XÀ*ždü7ZD/à:?ϨýYPvvÐ%kÈAÙÊßD"°E8&χÃ+%åœÛ¸ÿž‡¿Â¿+ÞO ô…xû'‹-n“Q2K&£‰†!œNgã&ÁþýëøÿeŸñ3gfPcÏÌôḬ́áhÀŒø¯ŽL ÏtþúÑG— ‚›6eísŠÖ. t„¼‚ ßyoèÜÌýÊ»ö~ïÖ»ön¤ËƳt½õ­[ß Ÿÿ.##ù#t€ÿE »‹¸ Ð)*v€ Cxc‚}¥J„Ÿ<õ'î7Éá¿ å^íû¿ÆVåÿNæÐÿyêzC—ÿßÄWÓ×N&.îP; èö:}ºdFמ—L̹2sºL{’>¯Íb€N²¶–Ð?ƒ Ô™ˆ91 èr]péò¾M?«Æ§ô’Ykrü‹sTÉÊÝ ”h×j‡|ZcJ_ã5 Ðé7wÓ²;Ÿ¡ÐÂ|bÖ!V€bHuYwuuÜ À²·ÿ+F ýgYèè¸þ1½Y -ä‚vħñžGoý÷‡g^± -žW¶^y 1,aá@Î`®öŸ5‚"”`ÀÀÇ%«O¾”÷È@·¬ûc Œ«ãò6 {u\¸}܀럈2ƒ€ð6mßöG€…’tÉ„<À÷‚Ô¿öÁßý ùïïùÇÏÞ•(Àß¿ü¯~öá¼>ðXÝ“ÝØdÔ ¾ èêq7¿BÀA@b2Õè>u5[«ËÊ*¬åÅ"?òçP‡ „–¶0Oýpfþ¦Y ˜¶Î›ßi½ÅzË&à‹1üÊhøD€ëÿ×+«øÞƒ«lPT€•ξ¶Y²“áÜÀǹ»DP°%ÍYˆHyÐ@ ?Yú_ò…ˆªþc8A¿„úŸ>xÒiÆ€˜å–uüÿòg뙇‰ °o·Bu‹F#‘ˆ:J¨+4,H* +«#JÓÀ㟾ŽÎÒÇr¾Êû6w‚ ü殽DöB¸ëçw%üGûÿ €>ßÈÏÏWç«Õ‘‘1bEEhùÖÈ`xXô"-èœA€(À@6Éw€¯‹áÄ+^aúÛtMÝŒÜ8ÐߌÿÿÛ¾Q`b™MMn£9¢K¶g2ÉP&QëÊìB;À¹€$qx’ííˆé¯ÛU›J!©_õ(€°ÔJÄP³»Ýz·I•Õ¿X˜µ ŒÆó´’CûmýL - F“H@åɳ@fàF£ÞL­C0€ÿñ¿Œ*ÿ¸hĈ°þOoáü.ÞQ|%X’ëÂfÅÙä‘%€¬íoÙùô¹S ó¶¸t5þ³œ`aÀ²T¾R~À¬ú@à9ÀU÷.q¹£Øþ/—þ¸¢`+ã¿""Æ࿎o þ;qçS,€v'g=ùÇ*ŒÿèK,÷ˆÐÃ÷â_¼„iªÿÿùÝÛ^~éýWïyèÝqÑ5Øþ´íÉ:d«ƒjâTuDo‹bƒ.šÉ˜ôW 辿ûþ²²ýÅžCô@çH–gÄö[b¿å5À9ûÏ:me@úòÂå’óVúò&<M^Ù`¸ø?qéVÏ[e -@ðo-ÎáÅYÀX¹0Ý ˆÀŠ.¤’ú´œlIŸÇí¶//4Ä}IŸ/ò 9xøÏçpH6*(Œnâôžb4¡* À‘ëìÁîùô:¬…óðÖ­Ÿ!x-Š}X4†ËXO$N©#ÑÉèî¾ÆM²ø¯ì Ø4°5gˆ~wÝ„áÆûMùÍ÷uBÿ§ÛJƒg÷" pïÆÁ[ÿ,þç øç¥‹:ZÐ'Ñh×XÑ$\¸1øñ ÏöñÙ´Ü·<€M¯/›—#€Íû¿†ð¨<ýи©¯¯“Y‡À:_¼©lrÃjxE|<]ç$àvÚCèù!û7ãªÍû—!‡]"ì¬ÍÓ‰À]®TŠ}sÊzØÕ;çj'À<]o& ×ÊÞ?æÙ±TüÛÚ_Hº¸N2þ -i@üª» rõåÄô[è/ @­Äø÷o! -‹qü/òˆ3(–ëÿŽ+´yÅÈ=Ï’¢þg½ÿòÝ5–¬–ÿÖ«Ë1n@ÿ!ƒ;Bÿe`©>' Hár€[¯Âw dÉ1@¢ €øµ[#öH:¯ªø»ë„ý¯šÃªmËc€>|8q¯,´÷ÿISó ”× AÀRbùèÉ—?{õÕÏ>ûìå{Þõý{þú… FðÒ‹‚”yíiü+#ôϦ3B—¨ÚYÇÓ6§ÍŽé¿-ô±cËŽýÅV8ÜÅ0‡<â&@_®þÑ Øéïï–ùcÖù[¬Ö¶¶ôôôMy* âÝ7è¦ÀÿæËc€Š౬L` =þ+–È€×ㆃ-_v0îkˆûñ8›ÿ!Ÿ>d¦òcEf“ŠÕ/7šÝNÆÿ?¡³ôÍÕPæõ uMMQá]Œ üŸŠNÆ£GûÄà²L¾ÓËn€×ùŠ<ñ6—Þ·ù7÷ À Hø_ÊûÏî=ù=$ÿn܈€[O¿ñÖã?@~þñ‚ùÄÊ£Á)u4ZÕ5Ö5Ù?ûþ1s4PfúÞë›éÈÎò_±×geЦ{®räÌ>le$ú L<4}" áfkIVÇK"¼Ã‰LgÓþCy!ºÓé†LõjO¶ë’íI¤ÔÖ&S v!xî‚èý‹E=)6‚èú–§L5z2Xj$ûòðßíØ ¦À^î´».8 ý¼-¸Û¨RÝýý§Œ*}꩚0=ütháÿÇDPCuCµ¿Ìó£ú¯hå€ -l"€5@³¹øX¾“K‹<(¯fÙ_ézN{þà;eΰà’âÿ³æ -¦åCÊ—²õ?¢ë˳F@á\RÂÓ–ú´P¸Wh³B¡ÿÝêˆÜþ·GÄ0Wõ@ûêxµÄ>@.õ}ÊÕÆT@¼SÿIQ­ ì ‡Ç-aaš,)±Œ?ñãÛž{è¯_ýìžW_z÷Í;~|ÏûÄ^ý쥿“sXJ¶?]k‘•LÖ©‰túÐ]†é*o±Þ²ó–ÓÓá0•ýmrê]XÄþ[Eùo%üPÎÓ+ÍÏ÷ï´Þ$@ÄØðÀ7²3¼¿XØ ÿ[³¯j˸ÜÙÊí´ÉMúù>é+W‡•!îü£ø ð¥àß_÷Å}¡8ëÿ!§ÿØ$ɬu%¯ÞLÕ¿Aïö¾‚½ÈÍMÄæèUÕ¶é_íiaáá‡5„GâñÅS‹ö8H´¨;:\¤¸ -/Ù¸¼SïuQ€oútàSy…Né}ïñ´~eéo* ø÷žÜ{²’Õÿ²0?ÿÿ=.8ÀHþHpD?52¥ž¢ê¿«g²§kl²gpR#÷†‹„ÀÎÀ>f¿Ïô,` w -`ý¯\t¥Ðˆä£™Æfšø!½ùnì «åUaU;£MíqBúxH"´—Ì&ÔÝ¡¡ %ÛÛ±û€thÔ2¸]‰‚É?… – ÎétZ´éjL-XdÒ‡zå`ž(„l ¦SºPM(“ðkŒ-îèÿO¨Z¼-HjÁ5©ôúà?!ÿ‰(€Ãçû§:~{ƒ¿ €XYkÅvp Ðl1+×”çEôÌ{J -@`…€®–/ˆÈQF—O‡Æ)Å@7åK‹’¬|Ðéì€EŒ,ì ^ø?q1lïîçòߎ5êh»:’¨G8؇©L¸|‚8muN4Ä €“~#Uáhôÿ‰Yí˜Ãã?¨pŒ[©_xîÿÉ@Ÿ½üƒÛú_Ÿ½ÿþû!+èžÇ> ío6Õ»û_è?ÞÀp7˶ìoÝRV¶¥Â*fAEµ? ÙšiàK º·¦å-yÀþýóÀÿ-;úwì˜ßa½9i!w@¸ãFÿWöƒÍ² »@i(›4žl†ì št^Nçà?[þ‡ÏÓ•~{úËÀ?¸Ïïðû|RÃgÿ›%<ÀF©Àì.0¹½F³ÉèöºÍ=T²@XÇÿ?†œ™ÑìÛ7<6°oq*³þ/F5EÃ3,¶ç. Ρ›²àõ× ŒÙüÍ÷uøÿ~€)Àæ“Gߪ:ytp©þ¯ºUÖÿ©öçÛàˆ@\¢|ºÀŠŠDà¨pÉaÿ >úú–½ûWì÷Ív–~ý•åÀW’šF>3šF8!gÀ1&¾†Vìª!é·9ö¸.©óÇ%)”ŒŠkµZ§C›çÒåÕ)h×eæ.̹j3®Ä\ªwõÝ.˜Ç¦s®¹Ú<öí՘ܒô‹w¿PF|œ[Þ"P˜jÿv(“J%$•ñnƒÑ{7Ý©jT*ø´ÿ„þPÌZ=êœ-Dð¯‹W7ø«•À2! þ-îX üYü_ò(³ÿ9sN\ÃO±@®”ømò -ÀÙ)9N@¢ìóü_VùÕ?“ËòêÀzŽ]…o—ÃÓýÝòÀŸÿ%‘ÓÿXˆ89ý—{„ÿOûìu¾§m¾:½Œ°¥ í<€®€=XÜrþGÇÃa`º×ÀúãÛÔOþÃsÏ=ôòm?øÑ=l xyÇ»/¼tbÉE?àò‘žq ùÁv¼CüŽ-ý­Oìßÿì–-Ïî/ö(¤þÊ{ny <ï¸ÛÚü3Ë~ªü·lÙÒK?ý-7éɸ ðϯn΄ - 9y@r”fN3€e ›døWn9ÿ~©{<ø…:}E+€E¿ÃW À7äÂÀ&ýЛ[àýCïéáØ]Öìv7ÃèT¯ëÿÜ3=qyF3\TTŒííʤ‹‘¢S‹]ô­a°u¥Àçu9ˆƒ6a3 ]ENÖU–ÒW›K+OŸ>zöèÞA‚ÿ»ÿϾ5òÖùoÏ?~\05]¦ò©¤ˆvE»ÆºàD˜™@¬á Ÿß lÞ×Ù‰|âG•%…+Gù•À•þ¦\¶°ò4²úk4€>P€¯ç]xÃ*zU^ˆ@ Òetöƒ¿q›Ü¦ƒ&IÒjC¡¼<"µôP»+áºâ…€·§æþJQõÅR ×®D& *÷üàÍ-ÊéL.Ü>—:ø}}<5×m  ÑØâ…óÏ«gøUÿÚ=Z3·B>›¯¡®ñ†8П)"ä`LruxxàOeÑÞ¢4yûï´Gi¾DEwþ*€S¬|"þÓœô+4v”Ë€t}Î$ †Ó%«RMá uu܈ð\_ˆ"ܧçÅÎ*@¯ÚîãrP]ĉO#L®Ë°–E ÿ‚¬,”ØqìØŽŸXÞ®{ä¹{^úìÕwßö“—ýÿçÏœøÉ3à!GZàölOn™Ÿ‡/óTÏïÇê[O^7VªeÉd‘'ØÃÙí?mrž¥ ;æ÷Ï?òÐÖÀÍz2 7íi_n‡ÉÔVŽÐȶ,òÚ+e9°%-′à/+áó˜$ô‡„_PýúãÚûŸƒåö5Iz#½¸[¼¦zƒp› -L¿" - @OO]zÿÿhpif¬(:¶O}N“L¥RñS}³“§ˆ‘Ô¸¼ à -@¶¼.L€l(Åöœ÷J° ´rsçɪ‘AdýíÝ;HàìÙ7xå?./äQÿLa§ÈTD‘ÀQˆ±Y€pJPÎ(œÙÄ늗£ý࿪‹ù+#Eá?À!3àUgàèëûšž†ÕD&.îìnˆûã?¯ÝÔ#wÃ,ýBŸ7Ä[ˆ$é `þÿªp.%§Éà~Mt’yz³¤…Àdöêub`vpN ÐuÔn,Pù’íyÍ*£·¥Öÿ»LÐÿ”þA=•þt+éµ{ôlt0þWWû1à—C€è«õÿbžXª/ÏÆ˜åJ"P ð/'ø(Ö/·¸ûÒ -üï°zfEè@qG–”{åЄ°”ÄIÓ'ç—%žX•oÛ¬ý¼€ƒÐà6¸u¨õ}Ÿ˜´?M_ÒA€>Á¯A -pÖÕñïE €=8½H6;œ¸` ŒãXècç'o?ñôß½»áé}FåÿKÿóλO¼yøµ’×þÓ‰;ó,ÁÇîßFàÏ3|ÓV(?VÁñì[Ò˜/¼Ìa?2 q;€`{ðìÜ??¿…»ýÝý®à ÇÉ?5åÙiÀòå0@Ù  >K™dÀÖÖp€],X8è’¿º¢šÄчäù?z/ Â_2¹‘ -ê5šš½Æ&¯»ÇM/®`ÿô:’ÿ @Ó3Ø÷·÷®½x«J´Ž÷øñãùÝùÁî‘àTpª;éŽ@P3À–žÿƒÀ -À)žd €YÀLãÀ@__ß4€œ¿+æýsêþ«Ocã¦>€?¦ -f5ÄÎhFè¶ïk{6¬®×Dz?«n1N Àä5Ýn¡¯ - åû“ºÚ!ddævÍÍíºpÈŸ’ þ…b)à"µôtôã+Õ˜ˆHzSFN ʲ€9Ž$ -Jš¼ú!O2 -Œ-*Õ<…(§Ô?ø ƒHÝð4Pȇþø_]/óc°µ K[‹‹™t`¯†+¿ºRVLñ­øµébºN¹–.‹YÞP¬TÿÅYï!ÕK‹’ö+:Ë$À’Væà8¿J;º“Fÿ¨šŠx5a½ºÛÎ b«‹ Ço«óaûÿ6øœô-ìâI@vÔÁ€$àùÿ}ýþuH ‹q€0"‚KJÀê‰X:ü̆—ÞÿO'^z÷''î¾ÿÍg=óþ‰/øàmñP׿vxÞ:Í'0}>#l·A€²ð[1È&û‰x¨üß±ÿ–-‘ìöÿù‚ƒÕÎJãJÎår  X}Ù&–…-òпhýc*ðüò3€øäñ ¼¬,÷—QýßòÅ©î÷ICNIï0›õ&‰ßDoG¨¼^fn·»ÇU¯ãÿŸNŽE#‘øÔ™Æ#»gýéÚ3<#¯P€WÆëˆAüOå`^týÏ^ÀÊÎÍ»OsÖÏé³§ÏnÜKèÿÖðÿ8àÿº‰LAQìæËTT¢]EEJ LVÿÑ€€)þ1œœõùgþnÊuÿåxêSc_gûg‡ûgŠºú¾Æ§`Ãj{IxZãþDÆ~°ÎíŰ­Š8C¡¼P2)F’ÉZ—k®Ö•™s]˜ýÿÔ_ñb@Þ ˆ” „.17çJ²Pk–ôz)ë½]Î ”³±S¿ß§*@ äkð¹ FUѨzê)=ò„¾Mد5k÷hõ€pІ?Q€¸ˆ€þ«(Žñ`‘\ þÀ’ei©¾žKýÜfàª@9@¼Û}ùIxÿûg­yðpÙ{§94€•‹Ó+=ô¾ùñê$—. - £A§:JÀ¯† Èσ€˜„öÏÀæó±(À¤ÀæD#¿[О´¥U_|J„0!v¯.ˆ®,ãËáßÜðÌ'N¼{bÉgžþ¿ò—wÿ剟œ8qç‡DœPÉk[ŠçÏ#ªžb~ô¸çà/ =›{Ù²ú…y [ÊúËÐþY£ƒ¼*Óª„frÈeŽ ìLË@è34ÿcaôçþÿùÀç×öÓrÜßà‡|¡xóÿìÿzŸC/˜LF½±*þ ŒÞf/ÇõôÔƒëúÿŸþc®‰D¦Šž< ™y…À@ÑdVØ´ ;s w¯¿ÎûsäT~Lÿ•>ÞYÊ@çfú8:89¢f0¸ñìÆ³gß:ýÖ[˜þƒ@¬êîðÇùD‚ È*ÀÁý)Èþ ýc“üo)Ê2^U„3L~Ï—\‘™¯\ù>BßÌn~Ø7Ó¸OCŸv~­ÿ†U÷ŠH'ev7¯0™%›üyºŒê’í:ëBÆE …­ÀX RV󗉹„È ®µSñï&ø7™ -¤T¡’,ì¦?áÄÆï½F­Ôî“0è«ÒëkØùÿ ùAýƒú=Dü;þ«¡Të” t`GùÒÒ:DXl,KÿY33_,Ëѽ¢ˆW’€¿¼§; TÏ,ýVÿ;²*+²uþø§³‘Y@ºd•®1¹˜AnØjºÅHC¿Æ>Ž€^K ïDÀ‡;§å¿I@NÞK‚Ç®óÿiö‘#àŸ`C8À„|Ëø¡žy䃟ü/møË wÒÇÝwþäì¹óGNœø‹7ÇePþD ¾|¹Hÿ—aDèJv< Ü'€ì€'°ÿþVL«1ñçŽONhV@IºÎ¦,SÔý–0[²ÿŸ¥d‡yDàsþ±ØþXÙ¢Ÿ9}C¼!g©O"èwHfÉ\`Ò«L*£+Â[ˆ@p»›{¢=uÑàzý]N¤«hñüL㇄ÁE==Ec#µË»Ò\ì'ôx\nþ—b`ó}•ÈêÄÿš£ƒU#Ç»óOžÝH€%Æÿ~¾°­(ÞéSSÑHT¤ñø_‘'›8¥>%¼åÌô’óu``àZÿW~‡è‚ýû hº¨îïCòŒFÓø5?ø«L\NwdbýN³ÛlrÖt„g¨=”Ô%kÁj3ºÌ.Wf×\JÔûssb %°€Àháh*©u»¡7׸Ö¦r×ãÊa‚.ÓË5&c¡À`”ÚÛuCf7wÿ‘Ù.þSñÿ ´Ç!Ÿ>Õ ~u\„c €ˆœõ9 à7Àÿ¥kÅõ®hý{rÑÚóUfº<û úg­té °Ì²!D¢üÇÈ¿˜{Ä0¨ˆÈøx•¾/\n›—sìAu$HÕ“>` `8íN››¯.âÃVv€ß† |âtÂh{0 Þ¨±yÂþ0'‹kšnèÁ?ôö¶§Ÿy÷ÄK'ÞÿÏêÿÁ=ÏüÓÓ?zóµ7lxæÍÂb’°ÜjaÑ_>—Qø§›& ‹mi ²ÿw`e|¢éAeþ`Y÷7Òa™Œ{VÔþBÁ -ÈCàQ‰z,B ÌÛÿXùçúßø¼]€Øà}®õuœà? V#üq¢F½Ù€´PòÂ^3á3MXÇÿë£L\ZôŒœ*š뉎iF‚ÃÚÎ>Ùë?€^Â÷M›>ÀW9ðèŸÍïUn®(-E`içÉ£»GÔùù#DîÄ. [‰@?€îün:ýÝLº#Sàj¤F9•ÕÿÉ1ž à/ôC@à‡1sBàÀµ—üdEÿM° ˆâ_CËŠºúèëûÚý «ò5ö´é ¼ snÉ7¥•ò†òÚ“X -PK,‹3.tû)äÿÉõ?ÂoÇ$‚ üKÛ+5u“©¬wý…iô¡ö”»ÙèýQ¯Q’|uZ“±ÆˆÙ¿§0Cð Ãñ 2ˆT°jØÿ«ýl#(ÿ[+ŠŸï(ðü¯G þ€ìú[Æû@ôçìÌRƒ¯6ÓM°?kí(.½„@ PRËÑúËÃå|cõT-Ñ—çq¥÷ÊU»Ç4líçúŸ×ªíÂèâ¿(í†þ|l ´ûˆ „ÀƧ˜|ÁsÃþ©„áé07ÂDˆ” ·¿øØo>}çÝyâÄON¼âÎGþéͧŸ8ôÁ3ÿö£gþîƒÃ‡>fÿå‚% š - €p‘;ˆý%*À€ˆÚÏyûAŒºƒßŒÈ™,—#,òÃ?gþ‡Ã"BQfça€ÝL íš›0¹;»¥"VW44„|˜àôä5ëÝÈþ3c[¨×hBP¸ÁÝlj†þßT¯ëÿ×ïíAó¿¨h²1HT ¨ï¨Fîöcá.]^/½ï¾ÇñUNçÿ¾Òßun~osåï*;Å €Î£GO¨³ü¼õ,€ï² _àD`|‘.Bˆðëþt;†Ý„c(Þü? -À“§x$@ƒÉýΙ÷ZÐø¹ø¿iÓïÐ+åçÑ>D -ô5VEÎÀ° -ù «ôQÒÖ±C×uº%ÉaÒ:†BíCíIW²½6™¬Mþ»j“.—.̱¬OøŸ¢sÁ…)n¦Úé'ØáJf—+ë2Þ¼Æf$¢ÉgT™jT"˜Ä€$2€ã¨ÿ!bP/ˆ=+Þ¾´ýÈ’Lp––ˆX”]½Ù¸ŸÀŠlà€ã'ÒíW%ÎâųųÅL:䀠À`@VPïcPvêÕK.ïä$`´‚v*þÕubPÍ=JûGúì¶$Â{âp ûNŸÍŽÞ¿-< pC[¶p¦‘Œ—î8·à 8tèívøíýø¯¼öØÿØpçüèÎGž~óͧ_|×Ç·=!+qÏ4àÒÂå‹—/Ša€0¡vòb «õØþù-[ö[­ÎC×bòmBõ áôê³üOüÄÏ^|ñð¡qýJ&3ÿ=—‰0øm™@Ó€4 ëülI,ÛÒÿ74Ò逰bÚo‚CÓB1°œo ú£ûOÄáü•O}¬¸›;Š+ö·–źEÀŠcýè>Çÿ0©Œn#¯ñš -¼-F¯·¹ÙÝÔä|r]ÿ¿ÞGS4õì&¨m<^5ÐÙ÷ú¦Dûõ=> {þðÉ}¥¥Ÿ -ü§+²ÿ -€1€JNîÞÝ…ÄíÉ£'OîݸWVòçþw8…ë8ÿAÄ,$ £¤€ˆÉÀ±ž¢"ÂúSl ³§D^Ïj:û–—¬¤0 ˆMB}3'¬Æ}_ß°ºs•<êVñ+b¡mNgÄá³Û“Cyííðêˆè2®LfΕI`01‚ )ñ7'wPÿƒ)@h§ŸcÓ/ô’vh´0g7 @OÁ:g×[ 2z-°ü"ÿGkÖ?(iµR-`“€œD @ÞŒM@Ïni­(?‚sàÀTþTû‹ký5·õÉ!ÀWlòa@ñÑŸ¾Tì±"{@äÀ.uyQ¹§\yõœû2 —]€õá’Õûh›§Ú¿Ý4œN5<"ˆ[û›½á?v;" üKNØÿ’Ç ȃ€×# øËË %¬¤-ãt#0|è ‚ã‡?öÁ›Ï<óÌ#‡ïÿÈúѱCÖ'o;¼mÛ¶J–I€Ü ¸xù28„±h'±€éiÞ°eK¿½»{4®`"ˆá?M…¿ÅÒF7ôÐ]‘X<+GwutT´ž‹±Ðç÷ ù|’Ï1äІ$½ƒÞ3´* DDؽF¬õz½î_›Ý=QõŽ…õÇû:‹—4žã“G5gn9Û¨éTŒý¥B`õÿÓÇ_¸¯tsé§²ÿŸªþßUn¾þÿÊû:K;}t÷¤,¸kpãÞg7V½‘üþãóÇûß9wûEã‹‹¢øÏ+ jÀŸ‰Œ€cEÏp4À‡b6pŒ#5ËÃY#ÀÖ+Œ7)àÏÝ~nœ,šá€£«åaß°ª_ é[ú!öÚ⾡P(”LÆuÉÚÚdRž˜«M¸°*8ãÚ5—ºývÈq€ðË.…¹Ì® ©Æmv:M¦ ˜3nïM\< ò¼^•׈ЯNÿE°ãAÉñ ©‚Ÿ°[€ä ?áÅèv†ÿ%ªÿ—–Ê—¶ ô¯Ç`½g9 p¥ío¥1PN¢Ë•êÎ)³¨d  À*v° ¼^n(õ½¥¤>Íb)âÄæ*~GŸïÏD Àè´«ëìN5„}gÝ©Ãøwý}vÉé³9}2ðÛe Ç!àþ›EJä¤À‰Kº¤¾¤„ƒX BðÑ¿ùoüÛwî?|ÿa:÷~çLJ…?ÎnX)°%°MÞ 0½SˆýÁupÍEÿé@À–²¿N ?*ïŠÖØ9x㎸Ïçõ’C«ç ðþ=å5`O˜Å¿×`h6ºÝng]0|iý‘¾€“»îþ¿5•}¥¥ïu(íøT€¼¿û˜tV xosé}¿®,­|¯óèdÕiu~0¿jðèÞïQùÿóÁ[Ïž}‹ À;ýóÇϧšîÅEbDD@\"v1€Ï ô`;ñT½ÂûÍð‡Àÿ±1AxVpX^¤™)Á9"€¸ò¨ŸX%Ì«°õ§¯1: ÷ßĪyùlXí/Š‹mûƒêˆÝ -ùBÉö$Œºö !ûœ+ƒòߥÓÕf.\Hq ï⥀\»v\˜KÄâZýA,òv'S½·/g…¼¯¤èÏ\˜Kµë›ÑxÊØ¢7M5lyPïø¶CÒjŽöÑÔh*5Zá×ùî÷—u‹ÀØìÒ‘#½ÿ08BØÏ  ~©~¥Ò È~Ê­ºùcñËÔ‹™ N¶ƒƒˆåmIJ @VÿEPŸg!(-€U\ʤ­hþ£v4@õ!8ù׊}ˆö¿ÓÆz>DMà°û¦µmyPD—ˆÒ^lJ[ö>4~èðÛ‡ûÎý÷¿¸íð³Ï>»íÙcO 86.;DÈ(€8$ Ð6Mè?åt·cÿ:b|n191ñ¿p –#–ô­èøáì¬ÜAnG± e¡xµä ù´>‡"`‚À¨G0¸ÊPp7 Fƒ×Ðâ66{{š¢êùõùÊwFú:OBè+íxïñR†~Fº+éÿ÷QíÏ&¾‡ ³óèéª.Ôÿ#U§÷îÝøs^|v$ÿ»ý`8Nõ7àqQ!qùv1WH•þcS‚àÓ¢}3Èè?&@ÏfW4fá_Ñðû14Àû~úf¶jº†ûVÓã½aõ¿$ÂÖn¸t’¡ÂÿPi@:‹Êþ .øtííb$1?â“Ô… .—k±ƒ Ä#RÉ\ã5…RÙ4€9­×è™@s³Qåuë@ž4ëõZI+=¨Õîq؉%¤F ‰W”ùåÀ–Ö ?×ÿG–”Á…ñ}€ú+VܯøJ,øã a+£¿œBŒN‡³ Àca²ãOD‰9@”IõaΡYÅࢵ[m1P‡)@ž„øow -±ÛœvöýÁèdO‚ -°û‰‚ؼÿ¦îmS€¼áSø?Æ7K R²í;/ÒÙ¶mÛáY‹?"`ý䨸¸UNfZIÀå‹JTlÚj½e{€v¬ƒÐ— ççÛ”ú¿|{Gy9ZdÅ£"¹£cÿlk¬€¯ºaÈçs`ÿ¯Ö§7™jÌ5ª¯ÊX Â’PC‹É@õÿ¼ÞfcOSS]ÿo×ÚvÈ;‰ üÇ-(›°€>cüM€ß÷7o®¬d/`çѪªªµúøÈÈéÓg÷n¼õ¬HÜ1œÝÄ⢀+}•É$2rc aä{Æ¢0ì;øgs óÑ@b`·ÀV…4²êϹÀÉÿ}ά®G{ÃZxI\ºØ¶¿Œ'uPý'ãHÔ â®LâR=ÏÎ@tæèW3¸Î¥ü·ÙDE¾”)›u&ossLιôF£Êmvë1ò«5™ÌzS‹äØÃ€¶Xaªp´°p´·ðùÑÞ:b£²öS~ä}Q~`‰€8hʯ4æî¸2àOyp89ÃÇò$ ¥œ'å (þ<PÂã€b‚Š.«™ú± 0¢ÖÙ#"@Mp®¶×EEõïtÚëœöˆ-B¸‰° ÀécP'bœ0þ;#솿Žÿ VÒð,L(ûƒxTýÐG;thü‰ÃOÐ'‡ÿÂãññ0>d³ Àé -.ë|ÿü±u¬ø -§¾¾¼¾œÎv‚ÿ*ÿ!xè“sçb‹œß'ì9$­Ã¨’ôz„‚Ñü‰±…ª£Á𲊀ÛÝ]Ÿ¼±?ö¿> øïcÀ€p`àõMDäÔœ÷6wÂP ô¯üõÉ“]#ê‘‘îüàHÕ[Uƒw îÝ8xö­*àÿwçŸ{g ø#üOÿ3*û3©L"‘ʤ1?F_²,`$‚„ !Ì ôgO@ÏØ‡lÄ` ëØ¼©‘5>¬ÿôÉ…?ã‹Æ­`«íÁÞ°V^ikÌ++Ë ú÷gtµ¢\ºöZÔùµíäú( ‘|!1Ç€+ãré\s…£:­Ékt»‘ŹXêÂÁÿà¥3'ÇfÜn‚~½IϘhÑkÍÿ¡½4zG{Ÿï-,¤›í½t”êû‘YúèX*§ Ûþå@à€ÈI -dmÓbC¨5‹ÿ¼‹XLÊ+Ëe¯ŸrA‘)õ<^½1@|ÚÎ!  bê?¯­}¤þ°9#P"<þÔ7ÛœfŸ³ Qô›šÄ`]ðk"JK`0=­àz ÆÖÇŸxâØ¡ñCŸúèí‡è B÷ý -q€@X,±ü¶D¦ç ÿži^ Ü¿c*¾,+á— å::f¹бÂÿ2ªÿýˆuè}Z©F2}ßhjQîÖ·<` £ò Ðl477©ëúÿ}ý1½±?/Ê!ü,íÃ$‚÷‰°Àõÿã÷€ùàäÑ““ê|õH>FªªÎîÝ;øó³gEà;°öŸ;¾ØÏåŒ)›3Tõ è‡Ø~!2Õ3å©Þ0V¤9érÀXOÏ`P36<†ü‚SÃÄú5ÊøO àLc£\õƒÿ ýécõ=ÔÖЫÂÓ‹ùu™xÆT@.“qeBÉL"Óž¬¥"_©üÅJ $cT¦´¼¸ÆX@Ðÿ -~Õ\0$–Îi©üo¡Â¿ÅTc2bûW‹Þ¬×"0$íñébxqRÕ?JÐß+ΑÞÙ#ŒþÿDŽ”Ù.¦Ô/ÄZÞÀ•€œ$y€÷ÁþÉŒLøš•0ÈfïϤ•>]V7˜GZ  >j‡9@N;¼}tU¿6–úEÿŸ.M,Øš”@@D  íë{íŠåÁ ÙõÐ÷-Ÿ¢R¿¤¤dÞõñC³Ž‡Û‡Ç?Ù9žJÂá´L,mži˜\Š/‹þ%õ"“ @ñóŒý³Ä˜+ÎÅ„5@h8´RH/©Bz£Ê¬òª¸ð7ZÞUѽCÍî¦õÀ›púdøï„°‘»œ H`Ó§ÃPúxigieiåæÊÍ÷Uvî=Ú•Oè?r|*äôéÓƒwݵwãYlüîq^¾Ý?î\ÿ9VÿŠíŸ0?U˜"  [>‰L=€èT$)f¦¢ck¨îïá”HcÃbSàXQ»‹ÀˆÈøf+–þ‚`寀ÿ‡mll\ô†µôªXHø3~¿.©ËÐ¥Ö¥Ó¶gjkáöŸ›ÛE…? â×™»qÕÂ/q%R½©ŒÞh|¥æ£×dl&à­q…CF·Tû©ô‡Т•ö@ d OÐÁ‹côùÞŽ#£GžGå?ºªú²ßYÚ¾D<`I,X‚ú¿¸Êè¹úÖ¯¶àóS€ -h³ò4Àr <€`ŒÿõbjjU3…ç9!€ìûüà šû¨üÅMþ†T'Ì(ûmM{˜0ú;Ùhùz_½ˆ ’C鋨¼‹¹d<Ík„ÂiËø¸õ“Àx8L Œï´ÒwdK@Éx@¸Ï·ôøÀøßˆÖÿû tÿ‡ÞºõáÆÿ½*æ këU‘¶ì§'0q.á÷»üÌÄó|íPú‘û“qe)Yp¹¸%€¼ ¥ -{c’‰Sݯ&âó.m+M8Z¨w›©ú—ô+›ÏÖšJ¸\e~zÝŒŽÒG/ÝníèEá îyöŸS€—'×Äþ•ß·z®K?‘Dz^ÀŽâ+$€ó²ÿ¯ž³ÿêKÒiÑ -H¯æ!@€iÿv{Ú…óÏŽ®?@Ä&\NÔ7qßÜdÛÓdnr6ÙšXÿw:eð5·n•Ñ€$¯˜(™H3%XÀüÜPÿãÖñ –ñcÇɽ‹ËøÎómˆ¶E+`#þô¡ªÇµ^xÀ³½c´£b¶‚N**Zc‹pöúªB>o2i}w´þô«ŒïâÖðÏ~elnîiR¯gÞŒsib èâ0 ûJEDà{¥› þ;×ù›½“êü zdqDMø€»oåÿóó­çZ[ÏQåŸZ¥B€Øü—’á'%û"ñ©©©d„‰8©äîa°ç&ÀØØ©}<P$ÆÐÐhö훡BŸ.[·ž -ýËoݸõa†ÿ­[Wéã¼a­½0.[:b±D,£Kp"P  Ö¥ÛÕ^›¹àraQ:™²€àèìBjö…Œz£—WzÓ)o´°pNØo•l$ „pÀfãàD*‘ñWûËbÀ€ç‰ögô£òç5ŒÿKW û®A–]€×§à/Û:D <°T®äýX П.©ûÓ•ì¹UË÷ÚºÕvŒÚÙ÷_±GŠ€B?Â…?]›œfþk’!äwÂÀ2€¨ÿé6hî\"–|dM@¾¿Pò1v -¤ÃÄvZAøjµ~NdUìõ‡¬ÖéÀykz$®­øóàÏÐ_¢ˆDX(ï(åŸkr° ØÇ1ÀZ¬Ô륓êûú–‚;T†»½¨ ïzÿ -šMfµzǺà¦5èœiìc<õHÑC@`ß§H ||`siçæ_WVV–î=Y¥æOõÃpºê,€½?Gàwçç­VÏìülÅìèìè9hÿTþBê‡ù;Ìz å6l"ÔÿÉÈTM€¢S,À@ É<—E¢±á}`gd  &€™NfÓ¦OÁÞ:±Z•Ö kðeqÞ3ÛJÀ#0’B.Bÿ´~—®–Ø@m"=@—ɰ¹ Ó] ïÔÎöÎÅõ°ð! -0D¼ÀÏ cÒ›Ý-n“Io2›%I‚ÿÏæðÙ| ºDâ[eºjŒ±Ÿ®©íÄfEå¯,â-@"È#kk4®ä×­šˆa-€ìäP ü+x+ð² Í‚ÔË{èW9ôGˆ` 0ªŽ:o‹¢’WÐ_¸þþ‚45AØ#´3XçÊX¼zJ·…•o¬ò‹ÎÀÇ %%éÀ'ÖOv°·Z-ñÛ~¶íX‰tè‡õ–u|¸’[¡ÁR²¥YP²Ü(—€r~ælkkY™ŸÞI| ¿O -9ô&‡Ö¤RµU†ºÐù‰—{¯k€êÖ€›y¥Ÿv:Í OÜñJ@½×ÙYÚÙy²³ò½ÊÊáªüHþȹh¾,ì„0 vgͶÎÎŽâÄPûCÅ]6þe[²@´ Iëÿa˜:Ø3Æc -ÖÌ c€ÀÔÔÁèÁ±±O:µo¦ -ÀÃð `_`#ÿ}þ¯âxÚüQ·x*b±˜ßOø¯sùó´!n¸°$ ½¶Ø€®½½—ˆ\ ¹ÚÚÌ®Ú }Uø¼ß¬§êßÝÜü -t“±À[†8 —d2»õf³©ÅíÖük÷ø!¢>;Gÿ%èm¢,–üŽ™íÝÞÛÁÊ4ÿ—p—>oê/à¹Æ€çú5rg‘nÎŒzV¸äÐßz‘þÇ -€Œÿ«Ú8‘nëW; ùÕN9È­‹8³Á$3•ÿtöHM’߆s“$šMJ@оªÞºV|Â`âc‘\²¶|2n=vlào·>à‰?ÞöÂÏþáÉmy²³t°ô§#ê`´;ddòt• gGò¿3oõLÏâ0þ§ýcþê§rË+¼ ΀j|wÑ+hØóŠ }¬üGI `êàXÏ)Í©}ûD@„AõÿÑOŒúñ¶'~|xǶã;ž¼í¹çž{‚Øõ›°{É9¹`e@Ü,Õ—/  MOñìþX«¿,î÷ùü!LèÍZ½^oPéþÃuÿ†&UDÜôRÚvqbýÜd -p†êûþ{ºÆ`¹ßÔ¸i t¦ó¨fø¤æèÉν'+'£#êªù(;Nï$üg`oµ‚rÝ¿˜Âg…Ÿsx0!·âü‘Œ£ì‡÷¯ð/hö! úa÷Á):CÄ>­¤JÒŒw›ï¸Ûpǽ†»†‚TÜ«ò¨Vp÷4©ÕëÃ_K' +y?$Ìöô wÎ ôuÎT wuEwí{£ïh×ÈÔdwP-€Á³„ÿ#„ÿVO`ɳ4Û1J5[/‡¹¢üïEÇ¿W´ýåöïJ@<‰t`¡ÄãQŽ$à§ûƒÑ)|v -ÿ÷ةŃS¾¡¡©¡¡_ŽA˜iüo}NÀ‡×ú¯i@ "–H$2‰Œ+áÒéæ°þ‡=íy¡ödH«¥[‚€ Ðóza—‹èIÎ8ŒÆ‚‚—½l4Mÿor -UÈaÖë%­ƒ= >_C¼Úßà'üÅàÌbø;–:DÇ}¹ùï¹rÝÏÕðo_w<ŠWÌ2%±vd³€b@0€žþcì_BOÀªžâ˜ªþo“wȪ¾ÿÙ`æk“¹i­I‚°Éf37™™ðï&© ®ÖîmŽš­\Ò„ûô<¥×~k)ÁÁ¿=~èŦï_µ¯¡!Þà/óÇà¨8‚1ÀŽ#³Ø'2‹…b¨ÿé-… -‹¥l|™>Àõ¯%”I@îÈ€%¹–V{ßÅ Ì«#¢ü¿ HÞ”5ü1äKB¬@j2›÷8éÿ¿ tÀLWüÙ¸Z€,¢-,ÈŸaB€‚jiVÒåãõ–·¿ó£ç~P÷HÝwšš¿Ùø¿ þWwV€¿bÿ+‘)@¹…%àçbþ²ê8ýÿw&kTèÜÑRð€Ae¸£À`(Pým¡€à¿ÙÝܤ~Ò3±~¾60£á-½=Hà‹Fº#ÝtÔÃÇgvÿ´+:‰VMvMž<:rºjdäøñùY‚ÿ{ä{ ÿåÏz{ •K¡BXÈP"ƒê©îÅ(Ëüу§†ˆ ENAx%JEý¿ ôOòïÕìCܯ|JÖH‰µ¶ ÀùŠXÏ*û9±0 û_<”räi¡Ð7j3¸ Ë$k“®Ì.bŽf“»ÙÍ#Ì’[Ÿ:r{jnÈ ýŸ®6ŸÃ²ÉÀ£÷‰²Dì[£££±oUˆe"x9"¶ÿ` üêý27È*7ÄÄU¡,”×xŠ m©£ÿ%ki“yx^m§êŸí=M¸ `ø7sáÙŸ3%B~§ùú†½sâœH@Ós€ÛÖ„›½0û§³š,È•X,ㇿówñòyä‘o:\S¸Ú ;Àa@KòÚvÅÄãc±xýˆW‡|’çWé%tÿ\€Öÿ½¸£ÏÝëÀ×O.i:£]cEEÑh¤h[}ãÃ;4]c#Qͬ&ZÕuzò§»Gÿó÷Ïz:,Yé­…½ä±_ýS(@ö») L )(¢ŽäGã­QŽþetê`d(2õËEx£§ÆN½3–D¢Ñ…1ªÿ·žÙúðÖ……µó»¦ @z¶5á_§ãâŸx@»Ö"Ð -…ˆ8ByÈ „îÏ'ƒÍAXD'©ÅÌ£¿Ñ¨×»%³¤ÛžÊ8Ý„ ô9bAéø¯öëÊüeÜ S ®ÅåKò€¸\¡øN#@>7¨•Ç›<2à} -X{ø?qqºßiþ?–ò£NQü7ITâã49%ÄQó&„ÿ’Í-BlÙ$àµ1À%×µ²7pÅ70phÇ‹o>ôÐ_lXïE+,`ášàJ - “ÙPÁ$¹£øóù|HýÒ×è%“ª@e4ü?†‚;TTú ^yð}ðk§—43]cQu|€D,¶í)êªRï›]’^X[Ïp›U-6õ  IXþDg¿‰˜šYþ ¨§ÿfBþ&³ónˆ”`bö`ÿyû– ˆ…•³‚²A°Ä2þ‰uÛþyÃÄúÉ>2×` -¨_I8ØÃ,Å­ô#M?^MÕµ$©$•þoïF݇É`¼WeòRý_Pàõš¬^_¿°:NçL|,G®_lq¦~}3³G£UÑ®ª®I*ÿƒùýïÌÏv,ã¡°äVú……¹àŸsæR)XÆR‰ÅàÔHw׈uúTÄç=Á‘$UúÝýCøtêÃ`~æu÷Ð?™Šœi\ƒåÚ~A|€®$ò~±"8éòBÚCZ0€¡v]mR—Ü•™sÉ"€KçÒ% $â¡Ùm4MX,I6;÷HÈÿqöÛ€þÕ ~µýÿ˜ÿ[¬ ú¯hí(?s„ ·”bOÇç+i€õÆ=&bÀ#g["XÎþûx=ÃÛ¶¨jªü£MÎXúxº$@úbPBÏ_îÿ£1€1À=ì°e]ƒOûw®±ÿù…w27( býÄúƒuÈd†tM  >;(GàÇ´‚52Έ•5 àpHZ“^¯/0¨Tª{ ÷ª Ú^Öˆº£u«ØDòS43Hõ[\ŒhÞ9U¥®šéôÌtE«ººº4ïtOMw·Î²Y[ÆÿÞfÿ?pPÿfˆÐ_ßÝŸ?üÆùËEÑîîx$>µ8E,`jê–_2ËæåG~‘—Ì$33š}kS’[Û`i–@&¡Óaä¿ÖáHîëMÚ¼öd(rh%¢¡8Q¤\—B`×@Æå§?éëÖéB’ÙI@2;Ì’ä@”LȆú¿¡ÍA~¹þÿVl´âùŽÑŽŽò#Ëà/Ç~Ñà -p”{œÿ=b|·Yÿ/YsOqx:©‹ÞF€å¶ô Ë¿­‰0þGô¬íqš‘d³¡€A@'4XÌ b@]]pÍ -¸ ËáÁ %áñqëÄú¹¦°B ¸Ò(Û°1»˜~>Lt>%««}RÈ¡w˜TŽôƒê^úFÃßî} €ðß‹%ê ëój:33‹ÝS#»‹ÔÑè™ùãûþ«¢“»ÕUÝñùùs³ -þ+ðÿ‡Oo"Àâ¹î‘Ó'ÿ϶Kïœ -Æ» úÏMEtË/3™E"ƒcÑã#STýïÛ·oÍ>†k›¤+b±L"Ææ?]{Ir$ý’I¯ÍËkÏË“´TÒH6 1Ø¥Ã< ö¸ -äÒÕf\ Ë•ÀlhÂgv:$*þÑüç @>„CýçÀ2¬  ¢£cûö#Xx€.2ôË€—{:¬×6¬nè£ÂS‡([ÎË»JÖàsb Q€&úè¶ÿ&öù©™9ÿ-ü=Ò0 ð4&v ° @yr­€…lW@|I `ýÍÿó©ÒDް° -,Ôs ¢‚³2‹g[+è'Ûo‡À¦—$•¯àn#Uþ˜ü§â_Up¯ÁËk€Ü=Ѻ`zÝw±ê8€f÷ðdtd¸±^3Ü…£™ïÊïž:Ÿ•ñ_öû¯ ·cÞësκI-.žË¯:»ùÿø÷‰‹3Áîî¸=ÒßÉd⿜>'§Æ^ùÛ±è¥ÓÚ™™µ¼r€Yì¤:¾]מÑ9ZÜ-ÚPµ^jO¶Sù?¤7ý§Ê %±/Ù xa.1ç¢?ÃéÁJ}Ëg6Q é0;lDB¤‚ÙØàg `Ylôy%àÀ€€åÿ?·ú·æŒÜà‡î<²P^«ø?ñÛùˆ3€Ñ&hBhâØ?÷=M{PîðY@{ˆÀ è„@Â4þ‚„ƒýkWÁ]XXÞD `ýÿ ØÒmÅ 6ÒG+€g¶¢8ÖZ¡+kh(ÃO¼YkÔë ’ê£Ê 2p0n½^7;×ÝUx.ifÔcÃǧÏÿ'5Ç»‚ÝDì°ôùHooΔ_üçÞ]Í08—J%GFÎV¾õñ¥¶3Ñ`w0NOÅ3‹Éw<¿D>ð‡cÿ…ÿûk[ZÛ.À„Ž“ÿÛ3™†ƒn“Y+™ôIL­Ö‘¢ Z—œ 4皃 @§Ós!H óÛ:øàöÙB6@¼ æ¯íUàÿH.þË,@épím½‚¬tÞðÇÅ#'„ Þ²²$ogYQ§:*¼ŒétÌf›ù‘&Žÿ3æø;ÿû{DÐ3÷XPׯm`ËÞ­+ÑW=.9ÀÄ5WÈ …°¸•©úlGEEEY™ßWáðù¤,7šŒ÷ -î0ÜkD ÀHðz½Í=Quÿº°J)À¥™Á[Š&‡'' ÿßéR÷O]^ì˜Åüÿ¨<òŸ[øß.îoÿ\ -ÊÌÅ3VÔùù»«þÛÅ‘ªÉüHþTp*Í Aýóñ¡$–ÿý9¼Ö¸™Ø3Ëø‰$ð:IoÒ»[Œf_(Ô -QñïóiCCyC!G¨[À -Ì¡s~P€¹DbÎ劥\X‘ŠA DPˆGã~…PùßÛ+—ÿVXÿ§÷úòÇ•®¿›ˆÿ²ø(k7Ò;ûíNxœM=MQ˜¥&LøÙÁÌК$|ʃÿ<h~DX›ÄÀgÿ †¸Ö±ÿ ÀÄDn6ðŠò€‡ð¿BΚ­ˆùc¾X5q~­dÖëM¦•Šªÿ–{‘þcxàƒ÷TÁ¯¼Æžž:õôúc½ŠÏàÌî®ÉÉÓ3;'ó»[ÏÇŽÓÿ9ýý\ø—¯× ô¡ÿP2“‰-.vww÷ŒÜ2ÝÓŒDG"‘ó³ñx2~zd·æÑŽ?‹Çm€óôìëtíIŒÀͧ2¶HŽö6™7ä û!­6”§Òæp]@h oN`7}™àœÀ¹TÂ5—«!S£e!{µÏ²£ø¯Ö••ň”Utôöfc€s(€l@ý_Ì]E@}ñ4Þf$få@}xMù\œÞ¡Ž" °§ÇÝcnƒæ&öøãö’ 8l< `Þ#&é{M’P ÔNu0ØÿñŸÁì:ø¢ÇgÅn€yÀì ÐQQÌû2™œóûbŽêOoÓš´Æ‚–ôÿËûÂÄò !ÀQuÿúc»ÊOgçiÍÈH~÷ÔeŽlïUÒÿüWJÿÜ‹€ÿ`n.sŽð ñÜd0x©+:ÖUNõÏ×Wi4šËNJÐ'õ³‰²8á{H—tp7[ô’$…|¾Bÿ!BrG(¤ÍC( .“©E +1Ç>O&.+5š‚€/@bÕ6»ýÿ_¼ºº &€²ÑíXÿ“Õÿ(Õ¿l¨_bÐ/Vêÿ¬ãÏ*WÿÖåFÀMz (€óK-€µŠ~%ÓóÁ:u]øßD€s€@ÌbÀ†¾?ÿpày< ®OqS(ÀU @I À™Ttœ{6V«ªöé}’Þ(˜ î.¸£àîÿþöÞ7´Í;]œÊ;SJNícF}„,D¤²¤Ei$ùá‘„³Úà“ì\°eÁfÁ&¥qÕˆ7VØÇnv£àónyݨc)é,¯›€ .é´_Œòs(f0fá-õœÍK>xö`?P÷ÃJ“~Øûºü'ÍÌäoëäÞq€Û:)¨`oäjåò¥&Ø*þ›úÿv € þ6½âŸØú¶%ð‡Çr%º8P}Y €‚¸gÿéŒäáþŽè…÷ýŽ âP'÷ô6,ÈâCø÷‡ÿÍÀv °pþ/Ÿg®ŽU@Ï­hÙšô;M²Åjɤo0/Hq)f‰Kac ðKyþøÇ¿û»ÿýïþî¸_|óß>ùäŸùBwͼ±=H\á;wîÌß¹sûÏ«wJ.ÿ˵ÿûÕº}Ù#ÅDÿËȺuaøÂÁÒÁèŸËÁ¬=›µ[ÅÿóèÏAÚ{’Èöû“уDþç_aP¤°pûöAQ÷C34`ßéU°€Ê¾KBú¿´M¶¦ÿØ9ú7±sæßÚ¦úü¨ß›„ëhlh/ñ/1ÀÀþi ?]ùà#ûHP„ý Àé¤ÂŸê~ïw[Aþ#]ÿïÅ>@c“Ë¿ -PûÁ@s «kÂ÷tžG -m<-—Êþ¨_V²ÉwšbR&¸lÊö›,˜´cð´Ùl¨G/ÝÙ¤_PþÝnSzôßÿO _3# kk}ßÄ+yºüÓ?mø'fÿøÇ?þŸÿÛÿóŠ»n_v …"w¢íelù»páW×~~ëWÛ•¶¬#ë°g²¬\»ÄHàðážd^€d4:Oé?ú úEú#;W±š®ºì«Pù¿ï4ÝínüÇÿÈ€Ë[`KþŸØÝóxüß -ýØËÄ1 -ð2ã?@ÿ€y:`ÎÑàSNˆýCÂõ7pz7M€Á!¤ôÀ F’û¿`i· @/ÿ1ÀøyÏøx(´ŠDJÑñh™€Î£V‹Ó$IR+]pÇ@x1¬¯6Ô£Wô÷eéÞ½û÷ÄpÍ=0…Í{›ÛN¿Ú½ÍWüðÒ€‰•RY.—Ûé–J}>>§ÓŠE¿&»,£öÿ9'µóxÿð…v†­û„W„G*0úŸ&Npißi0J¥rùØVý¿3ð¿aÛRþùÞÚN°m«¡Ðÿ¬ˆU€/óO¸‘s_è5ôÀ4Ú(ðƒ¬òcúˆOð?„8@= Ò¿SOè ~0›_î ã<±°eÐ-€]\ÿOØJ%Ïøyb+¼ ¨œŒúåaÙáÏZìvɾli•â–BÆ‹Kq¬Jçófs‹ñm5ŽAö¤°RšWd{ùÂ…[TëÿŠI€ßšÅ–¿,ë0WþXx°}¸--'…µ« ·_»}[ÿ—öíc È—NW.]ª\:} ·•cMøßu`ÂoÂ[*À%`;ýg"ù)¾=œ¤½Ô*VC­ÂÈèD@ˆÂÀI[g <€ß€m­ ^0`´qÿÝ`ÿöºèêJ°Ðé¹X·MØ"6‚ÿh¹]±*ײV‡5æÄî{,¬‹R8Ž@>`ÐŒï­q °Ïfb"RR‚¥½=ê¹ukøçþá Ñ((€ÕŠåžÙìOH^H^(½Ös³€Úç"ààüüAîÿsßÿ¶ž´ª÷è…8@åråòiäJÿ0hÇöLÿÙôRßÀ‰.z5±ÃðÓ|{î©Tÿ¿Üù75(û°ƒùt>À, 8’ú?ðþ8¡~–à?蔹ùÏ‹xV«ƒFÐ0ûŒ€WùÈ:v }\ÿGèéÂãñŒÛÎOþ—JѨÇmX‘V‹ÕnŠ›b †ÿ%bX„-ùiC0ŽAöèÿü„-¹p:e¥ý€ý²Õ*+e¿Õ‘¥CÙìo²m?g@’°ÿ :QÄçÿüm8ú•}«lýãò¿r ÊÿitD éx ¦<è"Ü·ÙXó…lz -*~ð‰]2@è§ÃH$ÚKîb­©UxòÓhó#hÅ€SŒýë"€ÈÅP x]÷Ì½æ»ÆÿöW½ü_ªý0@,bý?ÑŠ„Æ=žò·ãÛx$Rú¶\.Ã([íV‡$ÅíR&f g¤Œ%cá%€é4:†{Ä8Ø£'q÷[O)*k?¿0¬\n“³AkŠ»ÃzÄïÌš²Î6¿ÒžnC#€âöÎ<«ÿáÿd`å‘,PéODàò14°þW ?]<8öëvé`«¸Ím é¶æ  ÛV`¡ŸòôÒ»XµÔÝóH~ÿ´˜æa ¦¹ 0&8ÀÖØ?öÿét èl¦zgö™€W¹þ¯5@Ó°Uÿ7 €ºB]‘È•ÿOiü[,ž¤µlWL‹ä°X²™L6N$€Äì"¸ßÈ_6ŽAöæÉÙÎ ”ÿ ÏhV†¯ù©æ·Bü7Y­mCÖ#Y둱¬?9ìÿý0F“b`»€_ð?2Bx¥ÿ},œÞ‡¾ÿåÓ—éáåÊ%ÆÿÊÄåcÇV&Ž=ÂÛ°ú‡%€ ÷ÄV½?Á®?›ÿîæV ã×ìYNƒ€é€NòiÂÿ‘ >øŽ0úñ@ìØR`„00"z9À7`踯jÝÿбþõ€.±xbàÏà6Ûøù(â>­e«ÓoµKŽàr«ý­CX,I1)nŠÛÃát:?½ßlhGÆ1À=ª»sàw}Π=èe¿Óš…øŸu8ìVÙ?DL`ÈI7G†“?‡Ð?¬@àN€ž„æÿüíÕy„ÿUÀ.­^Âøßi~Øÿ*ÇVÿ'.¯\f -ð`† Sèý6¯ÿ™`ñß¶c#p3Øø%{Fh™5ïÏïç1ªÈFÒ#ù`h@~ b`» tÎ f ÀtïïÌÏ'À0ì] öÐ [¹úïëz@å?²ÿ"O¤ì)}ëÁÃò·Ã«_q:MrÆÙÚÏÆ -¦xAÊHñ €ðÍô"€#Ð8Ø»`¶7ð»^/a‚Ãá”­VÇoÎ6kÖþ;€ŸÈÀâCCådò÷Ib?O&±0zðB{4zPþéú né¬N«TŽ]º41Aè?qŒJˆc++6q˜ÐŶ3°‰ÿÍ~€‘>󬧞s˜ÓŒÿH  `ü#œO;Eü½–®ì -þhŒˆ€Þ‹Ï£‘»vJ…¥²nLî¥ú_/þ0ýßÔÿ©üG@׊ Às±TöŒGJžÒµRùšB…‚U’¬1I*ÄÃ{¦À;™›’¾ð¢a0ŽAöj}êŸý]o@–Ù 5kuÒå—Vz [í¿ÌZ³Ù#B°j÷øÚœÃâ´GïÌ·3 ( ÷?ã?£ÿêiº;-^©ˆ31Q©¬Tÿ/sï?¢ðÊÖ°ŸMïýïxZÆoØ3ŸÍœûŒyÚ,@>=Â>@"ét08Ìê€,WÿA!Èl  ðaà¬ö>×ÔàBGm©£Oí¨×Îð“—é/lMÿ7çÿ´¾¾žþ#€©Ìý—Æ{Êžr‰ @9ê±–ýþ°×Òê,ØQú/KËñX,s(.Åo†%y³¹ß˜5ŽAö*Hô_ì%à”°þÉLØ`m³þÆjuf­Ct{Äšu*ž¤ßª(¼àB{{tž@ûü. €UÿæÁ (À± -á?Jˆó üŒÿØûƒn&š&aä]|î.ÿŸ‹ÈS5OïŸFõŸÏSí íIcò?¨»ÿcÙ1¢€càUbkqs/†žÇÓxG‡‹g*tˆ©?›Ÿþk;Áé¡Ù? õ?¶ÿrÀl+Üð•zÊãžHéÛR٣ܒ½a«Ãb7ų±˜dóqtÂaa0´LÏ8Ø«O+©»³½¿ `ü+ëpÚ³D†d6r Àë/³ìr:­Éù¨òq²½=™T.$ ýçÛç£Ñy]úßÖÿ§éR©«\>V©Dè²ryåò±‰‰Èùˆÿ¸u³ö÷V`3ÈftÿŸÓ¹§¥fÍX 3NH9í?8ƃTúg™ ©ôR€ÈÈòØè|pÝÑð´tM¹:::ŒΓ–é/„Vì€ÿ-ï¿ñŸãÿPÿ‡`Û‰DÆ#ªû=Ѩǃ5žkQª^éE’ -t‘2q‚K& 'à‡a{Ú°Ç {û`Yœ-§œ…ØÄ­ó7‡õˆÌØO4n«WéÎÏŒ_N&á8Ø>¯û*ÿüû*§ þ/Ãüßåc++‘ñJdeâXebÅv^Èÿþ…°üŒùnQøó،߮ç$òTyàô{ÿÓ| ž ~,Hgdˆ½€Îà;AzÃXP$EbàÈÈôþ@ï€ùb˳§z÷1¶øÏ}Vü¬x–àÆøáüt -@óƒ>bö¯£Oãð?—Þþï²uaõ_¤ñDzÊ‘€HôÏåv¥,;¬‡d1ÅÁâ…¸‹Å3Âÿ°î˜6Ïã`Ïá‘Ñpfªüý²³ º?üÖ#CòÐ*å!§ß‡¶ÿêü|{´œl¿Fç£ÑÕy‚ÿӜ枬¬ 9|<9½R¡çó|lK‚¸mÍÖ?ïž”ÀøÝz^§^í7ï7OçßLësùtÞ™&¬çrL$8ƒY®ûQúŒ`Œä…€s€ž}s¡‹JÊ…³Å¹_=:úëϦ ðÓK;“ÿv¬ÿãôß®¾ÐÀÿoþ؈ôŒû¢årÔS†ÐsËoWvS«½pÈž±,ËWb”ÿ¼x14›®?dã`Ï-ÑцœóYkÐê”qc=â?bÍZÛüC~çgÖê‡=`Èy¤Mña%`{{4Úmg!W_+U扼¶AÒ¤4îñtÒSGeÐ/.¶Ø €š{B¶f 1ûÿŸã×}f} -€;œÐÄ(à;À‚cަP´ÒÎé± ÈÀ2@÷3ïs›šrMM*þitôÀÉý¢X<Ûg0€ŸžQì˜þßÎþáá?®ÿC]ôÿ4)y¢ž¨¯G){ÊåHÙs«ìw~-Û­Tü[ì™°T°¿eÀBøo¹yÃ`ƒìuà¾x" òßÔ‡ ËNDÉÎ#¿Ìfý~yh(k…pÈêôûCòìõ—“=Éd4Ùã¡=ôÄ¥—ÒŽÓYòxJèþG"§ôêŸ]…Y€[Ï±Í ãëyžÜÝ&þ§˜1ÀøøYôœÁ!!pPp0AÀù@À³+gÎNÍ­žüÆÞ{ÿ¿~þë¹®~: ¶{ùOm{øOmÎþMpûÁÀÿñèá’¯\N–Ë -ýg/÷(>‡â°;2vKVjÿc‰Å2 †Ã¼ðŒ1ÈkƒìágWhf¶éïYÌdƒö¬Sö·9ùmCÖ¬ìèÉò¸ø½2ä¢^oRQ¯Wñö(=¾žž“=ÄG=Æ}ÏáN<òœ*ñ3Gi<2~þ”ÞhŽ2 @`ÂÆ[›"†üÿ|z×lÖñ/#˜H;Ó¢Þ‡  ¡òþ W ÁÀ~  ø™­\ ÀÿbñäÇöºôúØC£sS† ð'$ ÿ[ö?Ñÿ×´Ž>.ðþ…Ðý MLDЧÿÕ=%B}>å?—£Ã>ë×ÎOLv“#ceý—caº[±°X`XŒc€½üL =X9ßI ˜u8e§Õž%€.@Özd¨ÍiÍfÛ†Ž ±À?ät¶ ù½~¿—néÐ=½ôz{“=>€.žhô°Gœ’§YüŸ¢ÒÿTdœnÇÏoÛm"§ÿEðOŸüÿJžFËO¤õ@0$ º:ÓùTü§y 0èðOo9 L÷ -ð¬Ù=SsSssÅѱã¯xüÇßùbô3—Ñx|¸~èÁ³¼Ú#6ÿþÅêß ÿ®‰®.*ÿ#+„ÿõ<=¯ð‹@Y¹¨8d«CΘZ%{ÁR(Ø3lä0`ªÿÓ‹è\7RŒc€=|ú\ôÿ[h2ᾞÎÿ;âB2°Söú‡Ž8³üòÐ_¦šß©ÃÿÇt/{½É“¾}hö@ àñ°ÐY©DJ§ÆÇOþŸj:"Íú_x'š ~âÅK¯êSU#uqzSá@Â~~!¤Ï¦éš%ÀÃÛ‚A;[AFù‘@o¯`ö¿9sS„ÿ£„ÿé+cÇDzcÇ¿(.¨µ%ƒ<)x~åÿ6ü׷г.׃wÿC¢O‡9ÞÒø)O©œôú_Ó)ÀEEʲÃs¼k—,’é†%§kk8—nZÃÁEú…3Ÿ©?bã`ŸŽ®Je>ê“0ú;­TÊV{’¿ßO•Ö’­CV¯?Š•@~.ûø{½£ õŸN™%€Ãå(ü¬Ð3‡g|¼“á_¶zú6Àwx ^ÿ)ËÿFcýÕü%ݬü3Ÿ¾„ˆNÜg!8ƒÎlÚšfz#tۀͽ¾ÏHÎέ‹_?þþÏþaäø‡?{çøŸU"FÐã#öód(ÿµ­Oeï_Ÿ+äbü˜¨L°ý?-õ(Q`¿_p€²,ÿÁ!;ì‹ÉtHjÍÆ¤Lkœc€âX`_Ì#À|ÑH0ŽAö4è{p 9>¥’§½=êE÷i€Pd?$€¶!ùÈÓ -í_Q|^ ?.€¯÷¤r2©('}L¢=eQúCÀง -ÿoééø¿•0!¦˜ˆäÿŸfóÏwµïÍ£5V^ Q zfZÀ?S€4Šÿt:í ûcvÝ@AgÞ™þïï5° ðú3 -skŸAÿëýn†Þùâä‚ÚQ[ÒŒ§'Ãÿçþµzÿ‘Ï„òßêâÜD"¶ ¤ÿÙ*‘R)ê)+=²ì•¯Éþ?øeE.Ë=áßZÐ6}c’L)F@Lºiá!@t¾4~ÂÆ1Àž~v!pùtåÒê>ºî«”ÆË>¿ßjõZ¡þ³óß:¤x”¡6‚þ!b+ -ê~Ü+^zØã;Ù£$“==O9Úe †pw¾4ÞYêgô?ÙaÿÓë -é;?šù¿±ÔØqÖ øù^[o4v)¯JO@}øŸÎ§Óï¥Å€=Èú?[Òö4šzÿŸîLöÓ½ Ì<#þÏÍ¿>6òáñ‘H½óÎÉâLÛ4CxLð<}Ûãõíú_tÿ‰ÐÿÈ•ÐD(ÒÎ^)Qýï)÷(=Š"+þ6Å/_S®ÑCù)@’d*ØMRc,0ŽAöö“KG߃˗/]º´oßûøTN¯¾vð|’• ïGœ~¹ÃJYñû!þÌízñ~ìSˆœÄ€  -àùÖCÐO÷ß–ÿÏë€[õ¿°¸i|±_æ½:£þúÕõ\ƒ®ûøtÕ®÷þDèÕmÔ¤wyEàI»>줧 ¾™þ{¬JâØŽa°gÓŽ ÞÚíº 0»€ÐH=Sàgkg‹£ÿú³‘×ÇŽ¿ÿáØ;¯Ÿ,ºÔ:áV_7žD°_Dýß±…ÿ°ÿ¹\ xÿØËÙÿ" >Ÿ,þ­~Yö;dÙqMþ-6‡:$«ä²1SLZ¶Äâb°DøŸ àÙã#Œcƒ¼P`ãòåc—öU.1ú xã7.½qét%:´§N0–°¦ŽÉ;ó#üþVüîYƒ× œ$ü9Þûúñ“Çß9<8¥jõúR½‘0–þíßÞÚÃM€gúžíÿë¨×¶6ÿõ¹¸\˜L0ðóòŸàŸ@”àß/[å¶¡£²õkÂ"Šü[‹Ýa·¼k’L‡ì{&ž‰Å-ñ0†>y“S€Œ!@ã`?½h}Ž]@SÀƒ7ö]ªT<‡ým~¿ŒÊ_¹pÁÏ -†‡„ €ÚÿPÊ=åhÙÓCð_jNý=ßv–JDˆ ‰4 î 1h›¹^ìHõ½Žý:P‰äîst¿~UÕöâã­ºЀ4ÐX5ÀfË4Zo¦`Ñ?èL§³„÷ciîõ±@gÚÁC#Áæ" s w`à̳x¹¦ææ>›+ž|äýÞ“ï?ÜýŽ äêªjt£fN@M‡ÿ¥áÁ¿ï_W—(ým‘hÿ ü*IŒÿ9e±&” -ÿ¯‰| Ùa1YL­­ÁB†Ç3 ‹áô'Áàô~ó—×5ãÇgƒìmàz°rye_e ú›Là z¸:0Ipïeè— öxÀ.@?&”Ä@¸¨×ÿ€þNzH7ã§D°˜ŒlYu#À‹ûÚî±èèo¢N£~ƒ^Ó®®_Õðf"¨ùs<ðР鿀—ÿG|ϽŸMtò„þaüiªÿýѰۃN;ÆÁX”²ÀA€ÏRÉÍ]+Î}qòÀû#££ïèaû]Œÿi„þZ—ë☈¬@¬/y"ÈüS¨p¶9­mY»ÕaÿÈ!íøHVGíGÜÑjg `\Ê,[ÄÀâ'Èœ0›gïã`oÍEÿå+§/í[Ýw{ßN€Îí}—.«ÌG“ýó+BÀ€ïc….=ÛÇÓõ° @`~TÌèä}@ˆdü_Ñ…½ó)½ ¯ -Þ~Bu€ûU®ú:_áFmÒ³ ‰"Õ¯ÿsè-¯ˆPE`š]¬þ3æÛ‰0úC ÒëA;Œ€x!Á€Ï7ðö3TrsgÏÎçþÃè‘ÑÃ'œ<|à°{ -@ê‚£ºÿ ·kÏÇðPøo3ýGÓí]œýcÁ¿+%›(ÿ£¥hTñ+²?à°šÂVûQ‡ÃrÔA·Yÿ }ô#Ù*YLÂ>@ªÿ%)¼h §ÓÿL`vÖ4ŽAö:è{šX­T*«ûVoß^]ÝMöA¸¼ou5ª° àÿ=•Ä<ýRô5þGáO¯_$ÔŸ/E*•‰•Ré[$±A€0F¶Êžˆ¼¸Â_?„ý ®ú«©j5•jIÑnâtƒôP¼Ö¡¼"@-øO§ó‹ét˜ €S¸ý±&ð€ ð` - `îÅ€y ÿéQznjj­8÷yïhïîâI⟟r/¨èPé_3Âþ… à™(€þWköÿëÍüMÀÿƒ®‚ÿC€ì?ìøàÙYvØ­a“Éd¡»ãëO,‡ì°~duXb&S«C‚ýOBà¦eq1½|szzàÌuƒÇ {üÔµ]••Êü*öù2 °úÆênOÀ¥J%ÊÞ?¿÷÷Šž (=‡ ä_‹”*ÌæK•Ê¥ËðT*ããã%ƾ=…1€ñˆ¸2ÁÚhüŬüÛîkPýOW®ý¿JUS_ pßqÖ·Vùª€x½M|é@ÂŒ@îþ7}v‚~*Ôìv»Ä Á¿CŒ<€–_|3÷ÜÜÙ¹bñ‹ý'O8ÜÝ}¸xrpʽ iõކŠ!tã9äo€ÚöÀS»¶>†Žÿ»ÊÇÿ>€ýÀŠMxÿ±ñ'YV|ŠW–íV‡É.²[&Éb±µ|íp\ûío-Žw­¦X«CÒrŒêÿxx1þ$ŸŸÞÿ‹YÃ`ƒìõ'Mu=8])­Î\¥sðàmÜÝ&&Páêû¬–z_/20öŸ„-½V"Æp‚K§/ñÁLÏ·%v on^Ùr¼˜Î¿èsUkäüsÐñ×EõŸ¥½(úEµÿ0ôoá¿Êïˆy}à%g÷rgòùü""Ó‹ïˆi4ÿ¡„Ãvž°ÛHæU¬ ` ‚€SÏ€ÿssÅîãz»GéRì.ŽÂ¸ÞQ¿Ÿ¸O5¨¡ÿ?rמC`—þ¿eÿCþ¡ÿFWHøÿ@xø½|Ð}§ÝF§Ÿ®­ _í°ü‹ÕñµÅê°Æì1 ÿ¦¸ gâ7õ5ˆœ5¶zÇ {]È…B]]høß™§[âóÌ \ÚÙ XåSÁ…Þµr‰Ç¶ŽþÊåÊ*À¼ô-±€ÎÒ·Hæ1€Èx3 ðÅÕþéÇ ƒï5õ+ úW) ½ÞûoÔé‚ì?m]WFým€Wð×!%¼ô 7 ’€‘O7M€„ÿöðXÐ>†yÀ,ψò_'œØk6œyêJnð´xòýÑîÏ»‹ƒÅÁÁâ÷ ªV×êì0Àc(õmô: -Pû‹í=üý4àÿˆú¼„ ùß*Ûí)+I¦˜D8OÀn±|$ýµì°µ„[‰Pí‹Å±˜Àbpqø½ºiüüŒc€=}´DÕM¼ÿ4#úíƒççoÿÎÓ+·oë`·+€Þ€Ë>¤—] àòåKÀŽ„M¡ÿÃpÞ¶ò"Ñ¿Ùþ*·ïaò× ý‹ÂŸ°_]W×üÚýZƒžY÷M&8uMÀ•ï Wb ÷‹|^Ä,.ÞLÔ†)´ÿ³i'n¨üÏr> ûÿ‚"h$°A€³OM¨ü/ŽŽŽuŽvŸê¸bÃþÎHå9š,cüßï `ô›b‡,­–VÉâøú#‹ãèQùk»åh\jµZ¤Œd!Àð¿øoºÐ¯??ã`€œûüùÎññÈêðb¾åÓàÊe;3–ü Äë›TíÓ;QÑÏ@² æöâˆþ¿F4€®9ñÑÐXx¹SkDòoêø”Vºu0°£ò·‹1@ûVB  ˜E`ËÓþËSŹâÉc#ÝÝÝÅA:¶…©)K®h€ñò@}§àÉŒ»|•ÿ]ÐþGü¯N&"+6‚ÿH‰ªº¶—eX±ÛMv ¾TʷƤp|Òâ°8>²|-dq˜&ñV)CÁ OÚÿÁüô´yànÊøùÇ {ûÔs wggçlâ‹–æW·ÎíùÛób(€_ÛÇ£Ûè/ä€ -®ÆÿÊ¥}•Ó—éµ -ýËž²WçÛRd|üï<ÿâ"ÿ¸JGÇ^ÿ0þW?‚m*÷©ÖIÕjBOb¤×\*Ýå\9W¢/áÒ\š–c @üe5'"‚‚¼´€•»žÇ& ¿_ü0Ï Ö? þÛÓiQüsÿœÄ.€4ðºwÄÜ;00ð´KÝ‹„ÿÅãÇÇNtwºg܃ß/ÌÐw|½Ö¡rÀxyPÓ‡÷žÔPÛI*ÿ9ü—ûÿýß5²­Pý}Ý+¯yÊI*ÿþá÷ËÖ Ýb—Lèñ$ºýËäG–£µ9>y÷kËdìh¬5YâR|1¼H×à¿ñcÐ8Øë§‘H¸û;/öy{{ÊÑùÒªhûßÞGnãÊ>ÑX&À}BX]­0 ìg=¦À}¥R¹Çíñ  <¼(rjÜf;ÿ¿ -ýëW©VÏ]]‡l¯óýÞ\Ë£ÄG“_¥«+—P]E.¢.W‚.9z.%H€854‡µ*¦/­àÍ ;x ËZ‚i_´›¨ðÏ Ròœ0Lcà©s‹ssÅÇGOŒv÷»mkî……)U­wÔ¸ Ïó'Ç -@½¶Cx,ø¯íü«ýÐýÇí¸ÿ\¡MûýŒÿ%ËI½ÿñÙa·[$S!:<x÷ËG¿uH9>ŠÅ¥Vú“8¶Å-H£pfö®a0ŽAöøÑ)÷ùÙÙžÃJ¯âK¶··ÏsÕÿ -þŠÞú÷ñú¾}º,@t@øEëC€«ò¢=¢þïä•@¥Òxi<ò‚¿Šõ††‰ÿB~E?U]‡7PÃ&zÁ¾†?ßö7ü(ýqI¸6tCo) ž@  ®‰mÍà`Nx9$ßÜ6„_·‹n?(@-€iNr¤ƒa¼=ïÌG#Óû{üöSš¹çÖ>+ŽŽ8|fÎížqϰ@Eó¥N?ãéã±ëÿzm{ð/R€í?ªý öw{ôo;û¯¯oÃÕ•M„º0˜KØO RÂð{9ªDýʰ,ËY«%l‘¤xÆ"$ÉÂ?qËdø#û¤Ãî˜üè“b“’%‹ó@‹ùàô´yö˃áÇ {ü¨ ·»³³gÀçózïÅh´ýÎíÕŠÞõgOÌ€B Ø®þ·ÿ À -ÀÊ©rOOùb9z¸Üs¸|ø"1^ Üi{Ñ_Ä=MÌð_åâ²}µ*ž}6××áhþ« ÖýUA\‰ X 7èŽÑŸÑÕ•Ûpi Uä &š9™/ãÏØlžžN£ wÂÁ0·ü³ºòO¸ïHÛÃv{3Q@ÌÈ|Z FŠÆNžíw»Ýk¶ï§T:¹f xxü—¥@mg,PSæèÑ6ü/m÷þw¸ÿú:\Á¿ áÿMû_%ôÿ“Ñž²¢ø¯ ;­‡Ãd1I|¨Ò§B@ÜBTÀbqX¤É£ñ|xýf<>_ òf{ €q °ç,çÏwú|¾Þ€7àõ^ëõ···#àf/ ²ou‡@÷ÿ‰a–ÿñúêJ4JÕ¿¯ìè(÷ôèsåñú`wzgÿ+Î÷«ªæŸÂÀƒ*..îûkTèo¨ \]¹Ó€D.‘ ?D€K~tUÞˆ ƒFãåÌ®;ó‹ÅüMÿ7… À.ÂýY{pŒ7ÙÃé¦ ˜§'q‚ÿiÂóÀSæþÏÍ|½wôÄ(;¾ŸYt¸RKuÃð8`KÿßÊðÝn<‚Ô–vfþî„ m{ö_Œÿw=Ð7ÿLT"¶ -HÕÿ=Ér{´ÌýÅ)S•Oæ©ÐZˆ21‰{ñɰÅ ONZ&cq{¬)>y3¼¸ þs~ÚüålÕˆy4ŽAöøSLÎí>ßyÑÇ€ì fƒ²âSÚ£Ñ;•JE ¾pIxÿ¶÷‰@åR%â‰ú|==Ÿ¯ÜSÆjàQ€‹ /þ¿C×_ÛÊô¥êÿj®šÒšuzC]×TlüAó?Áâ>×þTý³@‚‚J¥¿æJðŸjuMœò.aY[‰çé¹ø^*1Öt¤³XD·‚0%‹òHæ$À™§æÖFÇŽŽžè\sϬ¹ÝƒSß»XHÀh<{<–°‹ì¶ÚµÝ -À®•¿ËÿTûkzøïÛÿA"ÿã‰*·þÉaeXþƒì°†íޏ«)žÉè…Æýâ ð³LNÆMü*ÿÃPßä1À~Ãhƒìñ£%¶ÎÙþ^90ä¤#Ë#²ß«(Jç G´*¢ ^ªà¬r`eßj¥Dì¡GQèÅð¿HD ÇWæ@§/ù‚?ýÆÎHÿjª%—£­Y°ÃQûc°O ¿0üm¤W7r.uƒŸþ0—ȹÄD KÕš§A×ÍfdpN_üÒB}_nÞ0‡ÃTêÛaÌò @Öâûè@XÌPùØß;`xºgò¹¹³k£ÇôžèuÛÝk3Sk ªš¨‡DËŒ'Ƕ§–¶ -ú¥f€*ÿ-ùŸjµÙÿ¼þGøÿ0ýÑñŸÁ¿ý–ÿš_–DLö¸£ÕRˆ·~ÓZÈÄ[3±ŒDZØ'%®ÿ'ã“Òd,̬ ¿9¹x»€§qñzÎø Ç {û¬ó ÀÀ@¯×é Œ8e¯L Í)aë¯7YöD/–{n]L”;¿]-­ÎÏ—¢ówœ?Ø=8¿ºêñ)'•}DøÀç»È,Àã~ñIàßiWEŸ>÷Õè--©jJïý/¡ýdŸuîù#çGui v>»ú€}­Áƒÿ\ÔC€ÀºÿÂúÇ™œ -$D€—úG.}˜s€ñ -@§3  ê]>DF¦{Íæ3‰§úwήÍ>ðñëÇœ(Î ºÝ"Z Õª«šñÜñXõ}çÀöÿ@ عëg—í—ùO˜ÿûPüÓõA(tŒ·ÿDØÿGwÑr’,c €¿µÚah•,K¦µÐˤB,—ⓘtd&ßþ[bÈœÌLfnÆ'ã–ÅÅð›˜4_Ÿ58žq °ÇŸbr ÷ÝÎÙÃJoå¿Õ’‡/±€!Ùï÷ûé1½øü%àõ)=óç£Ñžr¹çB¯Wé%Ð÷)Ä|ŠO羞‹‡ËÞ‡¾Àß/öýå®þ·T·ªŽ:á·Ê¦?=ÞjÁK… Žê¾¡Ëý›KuQ=5 ¤å lˆ†^o4êz,æ ‘!ôÒ'œ…¥´¤Ï" ÈI°Ïj€.ˆ(À4³oàŒö4€¹©³s£'6Ò;::Jå¿ûû5‘r'ÀÇŒçŽÇ";õ‡€]ÿ.ô_úkðï‚ý_èÿ](ÿ!ÿŸ¶a·'©(Ãåä-EIÊXàp8ìî°‚,/â±+LZ8 0&Åÿ-ñV Bâ™p<>ys’@>Ÿ7 -€q °×OG.q·¿sÀÈ^/]ý§ì¤ûã2À˜€\€.Eñ*Šß›ŒRàíU¼Þq¯ò±¢ôø÷þ3ðù<¾i Ø=ªï¯æ„Àø_Í5ýQhþs¬¯ª_]¬ï»0ým¨ü¦:gþ5×5µÆÒf']°¨®„ž -¨5š#0ˆ%Á/¿¿É.ÙO؃iǘ=‹.@:æ4 GÚ¡§ò|ïïÌæÙ§â;ssSÅÑã?=p¸»ß6ãžr¯M1h`àÿã -º°Sxˆüðñ#rÿ8ø¯Ó¸üß±þ¯ÂãÿÄÿ0H+J›b•­„ÿ‹dɶþÇ -ºf -ËÏÄã–0•ýáÉx\š¤×c­ô&)¿‡?á À3³ ãGhƒìé£%ªƒ³½ç^Ö€õ²Óïè£î÷ûXÀCB~‚}/½ƒ÷cúk -Qþû|¾ësgžª‡ö]o©¦ªM Ò0jN8­nj9ÔûpûåØâ¯i¨îUm»Ë¯©„ü¢Ý/tUE0 ¦m0o€û`pùB°Àð*,: ›‚½Þ@õÖaÇV@Œ„9˜®ÿ¾3wï?Ňž:»6WüÓñÞÞÝ,,|?x–ðÁ}Ý­à1 @½cG `{`DŽ߶濴»ôßû·­þ÷1ü?èê -Mtaú €³ôÿÛ“Iex˜^®)~ùšUvX&»E²Ké›Â7±XáJ¦p`‹£ä—&-qËd|rRŠ' ðϰ0¼¸˜~ó“üôÀ€hƒìuc €/0À‰òß)Þ‡¼0 ù½TõÐÛü‰ ÉÞ­£œôÑ›YýùÇûÔ¿ÃÚ¿«¢üO]Gù/ÞÎźŠ,Ÿšj‚}ƒGý ·l¸Ô†è4Xõ'ˆWa&Àžˆ¹„ˆ ³j5¡!OXãíB˜ ¿×ñ*¨tîÛ%S/|v;‡5èà1g~$@Wž|ª!€Ïæææ~ýÅÐèÈÃ݃ n÷Âàš.ÌÔÆ àc‚ÿzÇ6ü×wÃûŽIÿ¥Ýð¯w ¶åÿ>ÿ‡ÿ>p=@ýøÇ@„W½Æþ¿a"€ÿšì·:ÚSX2eL™ÿ7W– ËË­™+ßÞ[û°B$€/Ð?L×0÷¦‰ô»¡q °§š°Ý…0 ðßï…æ/;Yõ‡ À×aÜ¢àåù¦ý¹ôïõɼÚç^c}½9@ø_Õñ(íR¹œ€SñŸsqʇýÀòŸfíOÅ>–þr¿¡» 5ð†D3.ˆ÷ð„@c©F°ŸKUÕª -#(À«2çÆìi«ÝN× æa æ°ô>] ÀgsŹâŸÞùâøû£'Ï!pmpnj¡/±æîÏÀãÀ½^۾쒮ø—šàk˜Csð_ˆÿŒþ¢þïz@ð?ñ6Îÿ+aðOQ.”‡‡yØzÍzÔaµXLLbß2±ååØr!†@&çä‹…ðª€Åxüføæb8ˆ1À_̺e€Æ1À^>\b¦óâዽg@¦B-{§î?/V£@oQ˜(l@€I€7 +€Òëó^ôÿ¸èˆÂø«³[®W«©œ€$zMeß?JûGûpùN$ûW]¹ ˆý0÷'Äêôøé!PŸmx¯ Ø6ð±4ô4Π÷TYxE -ÙûKé “J‡Óî… pz$822‚ÀÀS$ºÝŸƒð_O{gt´{ppÍ=385åRçÎÍÔ ü¬Ó€ÀþŽ]£»vÿŒþõݳÿ}bø¿ëAsýŸÍ¦ÃÿkÑžáfýÍŽŸƒðßd²Š·¶fÅ¿‘ -˅ºÚ/K10ö€DfìnZÂanœ™mÑŒŸ¡q °— @Â}¾söb/÷ÿe‚w¨?û†üC~ÀŒÊÿcV¼²WÖ(½J'=_üøŸ9Uãºý¿¥ø–<÷ï¡úñ¯m`½ŸÈúÓý*KšK<-ÀÖ_ÄÑßÇ=ò~R¼8Á“œ¸Ž8‹¹jsq0† _ #€8“Ýt8Ðg:0=b`à“´¹ÏææŠ:ðÅØØ€â Û]\›Zs© çÎ%Ö àq€@‡ÿ‡I@íèßÁð_ßþåè?Wý_èî¿.Žÿ¥êŸ×ÿE^ó$•aÄÿÜJ3üËm&»€ÔZˆ·Æ i¹°|e™hÀIÊØ¡Ä¤ÖIË$ÿ[ôhLÀóæéëÆ2 ã`O-áî¿{ø¢SLîAïÇ\ü³@A÷Ÿ_õ²5Ž3 cê¯÷§`.ØÎ§/ø%ˉ!¾AõFŽK{ 6WùbßOöçøOåû[‰¤ª¹à¿Zý -"VsÀ"ðŸ?†JïL”*þZ£Zå»´FýUJ;í  ýbЈxæ) -9¬üõñ?eß;Þ{€ÀÌ÷ųkSšzî̹º1ø¸ -@áåÇŽ€ú_âuÑõâm+øð߬þÍêŸëÿ•ˆÍ6øŸvEñC–¿µí¨Ãa?j=$™,R!/´Æâ… <72DâÌþc0èc`<“‰ÇobK@ØŽu€æÙ»Æ q °‡Rúg/îñ†CÛeeˆªY¤ü?ƨ3/î˜%è@çÀÿñד?gü×8Ÿ?W½žj©V¡Å×4Àt|‚|.=ÛOÀ °zný‹ê?ñs€”¶ž[o¤¸@%>§¢ý¿¡»ÀÔ{ðVU¼+àÒè˜ ÿ³ äaxš)ÀÏŠÅâÆ^9°ÿð¹A÷©Áµµ.×Âgf:TÃøØ -»·Ñÿð_Èõ_Íÿ:×ÿã¿*Ôl¿„þá¿Ð"Âð?éõc÷¯’T†e[›lušì&‹Åd’2±BìTàs/™BlYB%Æ-i2ã €Oˆ ,Þ´,9à˻ƀq °—Ÿa`˜À¯@ŸŸÇd–Pÿí¯pí¯C ¢Ðû*:øIj¼44,þóÿÍô?Øÿ§9Ó——üˆE?h Þç·»À€å ÿ‰*‡ü~Uý*U½š.?"ô‡ žà±@þتڨ/Õ«)‚- Q«¿ZO‚Á^Vœyl˜}æ3wŸü+ü¬8WüõïŒÑyot°{Æ]œššRÝœS; àñ€ÝØQÛeÜ¡l±Ñøß!þk,h.ƒü#ûŸ×ÿ­¬Ø"ÎöD±öÇOÕ™^üò³Íšµ˜~c7I­q„ÿIi9S â¿¹±\ˆßÈÄ2­R,ç `*þ'3˜$V³ÇãaK<¼˜þ»fu€Æ1À^>T2ßíœõù„¢ÏÉ><üïå$`ýЃaÅŸôþþÿa/OÈ=>ïÒýŸâsF`O£¡Š-¿ÿ[€(µža^OóumÝ$°ù¯ùVtr •W¥ôˆÿ*/ÎÑÆœˆDŽ×æ6xk :ZNÝÈqÙ¦ùj!µç= @°¾YLJݕïú£‹A@y9˜Þè5÷>ÍÀÔܯ‹ÿzüõìØë½ï¿×ÝÙ?3Õ=75õ½ €…ƒ<æoB]XÐ`tg&°k ¾þ;æþêºùŸêÿ ":ü»ºôí¿"þ×fãøÿEö^óc` ²Õj·Ú-v‰ê}I*X -ñe”ÿhâØDxŸ ·6µ‚þ8Ïp@`8‡‰=š¾ì7€q °‡XÐãëõ¨èg —˹üþ½_áå ^þ~ŸO±þTŸ2gö! ™ÿ—ª¶@i¬×ô -ûä6„eÿVÆ¿Xü ’P—ÜŽ#ȸ&XýçA€„*ö `¥ Ñ„ZC…a@å,áFÇsš¨çó†þľµçe{ÙÛ£8FD@Xž|œ{nn­ø§ÞŸýìgÿð~oz7:¬,˜?pÀH1 -¨ ÛóuÑò×ÓþvtÿõúŸá_ëàÏ› ÿwñì]l‘‰³¼€ê¯Âèïõ·ÉmDV‹Ód²›ˆÄ0ù_p“) `YÊ\)d2ä`êßÒÇnòû1À6Àà4ýâ-ã`/¶ ôøìÀHNcÿTîÿÞû1ýÙïÑûç ¯¿‡î~ºÏXàÿº¶.€[®§ª)÷&gÿ -[? >¤ ®DÓ@8îâ7 '½À?—hÖÿ¹íuÂ, ðr/Al T1 €Ý‚ÄPÓr ÷jèÕú³=Ñku~®ß: .ë–v®zÛU¾èoó½à@ ?’Ë€Ÿüi|îìÙâÉÙ~8ÔûÞèà¹ÁÁîb‘ðßmþ…ª.ÏÍ ôÙ(m÷DÉ¿Õòוÿ£€*þ7¸ýßå -aõÂÿ»þW"H\‰T"žvß0ç{Pd…þë[Z©ø'ø7]!è—¤ÖÜÀàráF!Óš¹²Œ<@P€ø$P_âh`0¬ b Ì-€þ§ 0Žq ð#=¿$ÜîÎÙ‹¼Y4è? öy9xÀ?¬Oþ+>ÏOû)sù¿ÞКøßR­¶¬3þ»Ñ×pb¬§WXp @s…ôŽ€Þ%ÈéC€â¨[©‚âUžú'4lüo¨ û ΀Y@#"‚NA½þÔ €žÃ5\5zþÖÿM!ìj,mm€ý®†FÁ‹Y1z§½ OîåþþìZqôø˜4öáÈþýƒçfЇ‹sSSSîÎÕ4CxÜÿŸø½¨‹ª< ¡ã½ ¢) àGí¿ÿ‚`ôÿ›ëüWÄü?¤½aaô·É²Õê°Ú³¨ÿí&þÌ!Âþo -Ò•BüÆò2{¯,g2±e)† - 5Ñ?ƒd‰.{|2½ÌOû̳×S†ÝÓ8س§¡+>èþ²“=?:þ€_!€³qôTñ“Æ¢Àþ¿«¼ Ú’»*bT‡º -%Üô*oà·°óOÅ:"«ÿÜv@´qU øé Çã€b3° UÂ9•>­¿Úxªq@,$&üßòÓswƒžÎE@´¶uÿڎ¿©Ô7ï×î¿`!`š€¹÷)¦çÎÎÍO»1ö¿¯Û63PœZX˜ù`¾£Æ³Æã -CuÌòEÃ/I­COضúƒ76m»ð_·þóI úÇð?oÿãò*‘RO’ÅÿaÌû´Áàh³;,&Ë!ɇÔO•¡u9#-£p¥@w˱åe¢¼0ΩÀ¸Å+1báL€á01óÀ/fÝ›ÆÑ8Ø£²ù]wç€××@Ûüß×iµZ³HfÑ_Ìâ¾G9² /î[obï—-©–T•`p“ ¿Ù ø1Èm°ù_(ðªÜ€úŸòs@`xN»ª‰ÖÂ…<èG\Sb1X!¬&44 ÄKØ*ȱàI5M£çkz^¯Õ40î ðßd°´åü«íÂ~~üÁÿw?‚3ðÌ'Ÿ<»v¶X<9–ý(Ý ýƒ¶Ã¿.ÎM-LÍœQ ð ÑÁ¿ô¢óöCÀváä×êÚ6ú‹ìµOxÿ.$ÿrûŸ®§m‘ÊY¬ÿ+EJÑò°Ÿ ò•ýmNÙêÈ:PþÛ%)v¥‘Z37ˆ\)Äé%³§{º{ky9Æ )Ž%€ñŒž(Yt°Èëg¿4²€c€—édË!ÊCŠ“ãþüþßsüïOÙößY4ëÀzÓØÒâÖ8ÏpÛú ¼~ªpå?ÄžÐë½ü×´uÔðxÑ®Š¬®ó˜†ÿ…û.€£"ÇkЪM¥€ž¢ŸˆÐGè€ôßù¿5·¶I4`“½]»<¸¯oC=kª ÜÕ[àÀÀõ'–¦ÎNGG_Kß9p¢¿fðó"€kjŠðßð<ö¯{³úï`‹¿ìßìØ¤ßºjúͱ¿íàaÿK< ò?´¥þ#ý¿±¡ûAýŸT˜ø‡©øo“bÀd—LA}¦ãî¿TXîòK™B!þÖr&sˆ/e,¼0ž9€Ä$º†'y€y` ÿ®AŒcã38Ó}ª8·æZpuÀ“ñÝ\øn þù†/BC"* ,ÿºñ_Óá{ÿÿ!”ÿ¨þu -@Èô¯”^‹¶sño˜à¿ €V“ÃBÀ.Å -W¨ê—¤ØåVéJë bWˆ¼•Á þ%®?ˆc%0àÁÀ‹aÎ6›û[Œ¶q ðä'§­ßÚGÈ{ ÔpV ÿ«H3Úªÿsìÿ …ôqU¼Úÿ@5¡‡ý3tkÛØ_ßf TäCüG0Ç ‹tAøU¶ªûk9ìd[@ƒàüqŸ×ÿuç½F/aú×»6±š›ü; »ÎÓõ¥Mb„ý›PKõ‡ ÂO~ή=[üüøÈÈX:½´ÿœÛ=Xœ››"Ч1ÀOB×´mhÏ€ë}æŽ5~`lìý÷òÝ3ýî…ÁâÚÔÕ OòËÞÑ€JTçæÂ+Âv¿‚¿¶%¸xõ¯+äœ ‘ý7Q™`ôGý_Š&Û“ÃÉ2ÇÿÀþ/·1þK&¢a‰þ7¤eL\ †U@ôæÂ•å+Ëñåx,–Ñ€b Æ*ÎÍpxñßÒD>˜½nü°c€Ç<‰\K*‘šq¨,¨ c‘Æ# Fï´«*¯t·â%BêXÖõ>¡¿p0' -àÞHhXê“ÒáßE,¢y¾ûhþç0°Ž(@ÿ‘  ¦»„ -]7Ä 8qƒz£^ÛLa7Šà@¬ø[´M÷ñÔ^ƒp;ÐðÏÀù¿Fíaô¿¿Yoèˆjðµ†"ú´%­¦Á*¾´ôèä@ÝJ¸ýç/ÎCØ0zàÄØû#ïèœ!°vvÊ@@3~‹W)Ò«ÿôý;B}øЯËÿŒþ®D׃&üóðŸÍÆðÿZ…çÿÚ‰$‘þï—å6'€ €CÿTÆg–ãTùDž󟰟-€…Œ„}€™å· -ĈKÂ@71&¼#8œ¾IÀ<{Ýx3ŽAþæQS©sŸ¦úûgúgèôÿ· …„Áž8¨Ð;®WUìwW©.çñ? ÿ¡â%šÿ!d„¶bC¼Þ§*Jx•×ùÞ4º‘S¿Ûllry  dþ„–9näô ú˪ÆAÀnØU¬ ø« @mlùê„æµ-éÿ~MLÿ¡’¿·™kßÕ¸ègȯ5š1ÁúÀàý%6jÚý•‹ÅMP ˜ïïXZÚ–X_àwyN®….x{{ŒØß=xÎý½{pnjA%`ODjBèhz:Àöê|݉ÿ ÿ}úä¿Æãÿßý"dÙ+¬þWJ•H)Âøßž¼äõ¿¢úÇ1YL2€3éJAÄÿeXÀäV²ðVÓPC€Ô…Kü¦åfx1Ìç§1Ûoãà¯-‘z»æÓþþëç®÷Úÿ)€ë3îêTã¹ò‡õCÃÂîëÕjÎMO/¢ÛŸK¸D·Ÿ8€;¤[ÿBn·¨ùwøµu-Ñœþƒ†ÿ]­±û€ 4{U•€*Òƒx/@“À ©Àä¥u - %À"À_é¨>øÎ’|gÂOmw]^ƒÖKú>n9"h©þt0­Þ# „m² Pocáýͺ>[P¯m -÷ ú5þGžo €««kí³Ñ£z÷œèž™q/¸çÖº\.uªÞaOðܰ…üõà~} ýEÑ¿³ø 0ÿÃü§gÿFVXû/áæµR´½çV{M€aEö·qþÃzô¨I:„ `$Ä¿¹/Ü Òÿ -ý±+ËH¸Rˆ/_yk™^Cˆ±òOÕ&fÑá_’ˆä}ÀæÙëÕšñc4ŽAþÒIäþÛ¹OûÏ]?wîísýçˆôÏ´@HåR„\ØsÜàÀìñKÐs¤[ïÏÞ§D@À¯ën,òMèÎ?Ü‚èøÏe}‰ÝkE!×ÐØ•?§Šâž«W"§ËØ$´?£'èÚRÈ/DvüøGÚ€›AmW^ßÅÄŸpÅÏ—º¨õ’ëwÖb „¦è³$€@ŸB«×ëÚR/´‚¥M1X @06Ÿ ð™ëþüøè'öÏöÏ,,ð"àuaª¦¬ö ýâ":ÚŠµûþ´¦ùO¥‹H -= ‹Îl¶6ÿSéñÿÒkÀþvÆÿáaÂg›•ÐßñK»]2Ù% @ù¿‹e -­…Ëž¼ÒšÁ:À·2WbÑö/H˜‰ó†`)—,7'-‹áÅOòùé3³Æ6 ãà/ž™ëý×ûßîÿôÜÛo x»¿Ÿ^97“J͸«©Tb!•0¾Á»¨õÖ—@o.Õ“¾Tø§ùݬ@  G)¢T¶o/ªº×Ñ×G„?ë÷õwÛ¡Á/ÕïÕ… }‡!ôÖs÷Cãz#'l°ûmp kþuÔÜKK)"¹Þ¸Âð¨"þC0*Ñs;à8èèCçtŸžŠõf âp­ÑqŸÓƒ…ì¯ÛkpV)·;GßwB…²‹€&„^<Ä £¦écšö¼H@_G_×Ù"Õÿ'FOô»û¿O$¦¦0’®~_3€'8m  .LÛ…ÿVõÇûþ€þ\„ÿºâúß¶ä/‹€°ÿþ_`€@›õèoŽþ†ªªÿû¡!s£àráJlyùJæi¹Ð - ³Œå?1ÑøG ïŠÅ-áÌ"v¾™7ÿbັ À8øK§… ÊÿÛýoŸ#ÐßîÓ~âý3©™™T"EgÆ`Ûgs§óPJ»ÿ ÑP…DÅW ¾;‘ -%Ä@Šx¢ -£ Çÿˆ !à[(L8€>Ø3ZNd³mÇD«ª4„[ÏM|M›Þ¦>BP1d 4z‡*ýUdþÔ9ÿ‡Ý|ÛùîsÁÿ싪¿.Œ€ü,ôƒM¨)äu˜[¬Ã˜ˆÏH´ø7Á6èK˜©º«" -‘ßµVGP­¶‰3F ‹4ÄÖxæåÆ.W‡k­ØÝÛ=Ú}âÌàÌÌ‚{mJ¥·Ò}‚†ðø„w»üç.@£ãáòß…U•}^xóZÿ|ér¹BºÀøŒ—p ”ÚÌÿ_H+LÐü?zôè/cz×d:d?”Á`dþAð‡ °_†áÎŒÅ÷¿‰ã² Àí‚ËÍÉðâ"G -€q ð×]ÎQéO<€;o÷ϼÍ^À7d€™–„›¶ý|¨5Ú³^Í¥ª¹j]u,â5€¨þ!Pù Ô ¥ÜC„ E¯¤RUųÆé½4ÀÑßg€^–ÿjª+±‘3˜  gÜ0œk€ñ¥FB0èÌÚñ_¼/_èf{¡Ê‡ñîb€K >,õøÙ@ šáž>Þ:#ºþ*}0pþxZéÂ}*ëkÚºZMUgúïÎà=èïpp!ú u¦ øØëbÛ±ª6žqÕµp¶cªX<9ÚÝýyçÌŒ;±0µ6åR]Ú÷3Sõcºõ‰ ­£Qþá7-º÷Ÿ^6ûBPûDþ/oÀóÿ#º2þŸxÍ“T@ø÷³ð—tŽšL(R¦—Z …Ø öÿÁ€¦À2ÄÞ‚PZc‡0òßþ?‹=ÜÄ'ÃéO`4Ÿ¹^5–Ç >¹þO?…÷ïÜÛB Ðß"`2Às/¤.ã›,êóרT™§îV ‰¨— ¹6Ä -À&þWa@ åV@TÛT²»y¿/¶ÿ`Ên]ø÷~08Ä…³¿¡®ç8ìGÝZ1Œ¸—K¤€pG@€4Í ìwãSáÁÝve U]gÌoúÑèßl46묿]è‹YÀ%!ìÓçÉOýméC¼TöCÉñž^ƒèÊñîØ9¡h}µÚÒ?s×ÍAŠü·é£ßgðç–ôñ†ÆS#u±Xíï<×=ã^XHLM-h¹fjZ‡ñ‹üø 9À¡húÀ¿¨ùõúC¬ýÕèeƒ€®Dýo;Ïö¿ñSBˆö(~Eàÿp›µ­í¨L‡èÊéúûpb ðr!Nœ #Ån è­L¦5ƒÿÖ‚%&‰$ a„ -0ÇïüÅÅY·ñS4ŽAþ‚ðéuî¼ àÛḬ̂ Ÿn¡ àvïþT÷ÜË ¬çt k÷ ‘øGàoC €ƒ€CÕP*´DÕ:L¢JTÕÆRm³ñŽêù%Ñi¥9Î@ -€Ø7ˆÁ€¨ê;¸s©ªšh& «uè½óÙ¿±@Åv÷zí¡Ð_®÷Ñþ§ÂoSWõëšúÒª®á78ˆ7|+X -ˆ…«€@$„g0® ñÂ!þG6ùS¨Î¸gÝúR¡àƒ -n‚Ðã“ º>]ñv¸xò×µ©9¢§ûgÜßçÔ………¾ŽŽŽ…™)W½C3ž2û`YDFSæü $ªÝþº˜ú#&°±Õþàâõ<ýÏÀøø8;èx¢Š_V¼ ÿþa[ü&ÓÑwMï2ÁXˆIßÐ=¼0,#¸uy9»ÜJ €›™V:.èH­< -HàÏ;‚-‹á78ðå]ã§hƒ›ú>÷òu­_c­_ðžòÓ0ÄÀ½3ƒ¸XT °säÍ8"0²È.3bÕínqÏT9|ƒë±ÚHÕg8ÔH¿{šU.§ŠÅµ…¹Áb±ÿûw -á?®úb;Üî…DÝxÍKkÚ¹g£ñ@3ú‡€Ÿ¥ÿ ­oc«ô7]] äÿ‹Ûy¡”N•Ùb†(½þ"¾ˆsÅ.Õ=³·¿Ñz07ÔyªXúw»ô€pý¹C˜lÎýÑ#LTÀz—H¡<×Ös[zû£%À±ÈB1¿A°êN¨„£j³ÀÎ@Þ(Dvs =KÂ_A@XŠßmôD­a÷S€ú÷ãž q:Tõ{6 4U~¨Ìѹ×;<¦v ê… 5§3€”¸Õ•nÏ⦺ŽOߺKß“™P.„-Çl#p #ñ `æTqTs­Íͭ͹§þ+dÿŽ”[]XP Wëãôþá… 5%­iÿö« |ÑÓÀÿßL€à|äÏkžž$?á¿×M–Qÿ·YZ ýÿ»wa4™0ô/Z[ Rë̲Ä@ 4`ùÖ+ÿÇò²oE@ øYx€Îd<Ÿ´,Æ9Aw¿3~ŒÆ1À£N øŸŠÀ§î˜=÷6=¢{&ýçÎì§s¢»Øj°¸ÿù µâ k¦{ÿþ½ü}þŽ€Ü)&èê èu»¶,€zÛß] é‰ÀÕPµšÂ@5×P¹üÏåÖÕ6ëÍá8žñ¯"B(Quåøƒ¢÷Ÿ ˆ!È×Ök3n‘8øÜÅtDGroM"º»€1Ø%„|dˆÞ>×ûªÎÄMNÀ¿ÚКBæ -ë"~H(j3ï  ÿbBH"<¶  -ÏBí7ðþnân^¢„•Ç"ç›’Å~ÅÄ“S€…ÁÁÑujnmjíûï ª¦Kê÷)5±°`€'Pô}Qb@ÿ;†€¾>Ö\x€pØ„à<x¢žh™*¯ßëUdb¸ü·=Jðô7ï‚|£Bÿ¬€+1*úã…xfy¹µp¨õ'ý’ôM¬Uú]KœˆÀ$Á¿·Äã“7ËŸ,æó0Ù¯?Fãàg=5ÓòéL ºBóg -p¸ßýö™˜|pâÄæýûÍtŸoÿ‰ÏÏt~âD÷óþú§úú?ß¿ÿõ¿ßË"Œy9¶óaQšJUy•Ê@p€ÁßWÝî*—ÿ) œhÿ³ÿŽwøØÜÍHº°2‘@â¡Ð3BUtJpIU1…Šo TŽ'ô¤fŠ®…¹®®ÿ›½š{Á­ª©cªåI†aÿǯJc þû€þÌ@úÔ>Öè<¹BÍ @÷ `ø?íIö€x•aEöÊtÐøåQ.ÿß5µJ™BkL:Th…þ§; âzÒ‚¤¿*b€jÿVhR«…À’¹À$¢€ÒŸ¼™7› `ƒøà„µÿ™sg OŒž8±ÿĉÑçí¬<ÑOåÿ{¯ÿý‡îÝbˆ³y4ªZg«jK5ÿ9”­cK11@¥¿›!J7D€*,˜ï_çéÿÇøAø™Z¸ ó† Û-ö*á%Â9 @¤ïã`!úÆá¥ÝúéðÏe¿ê#‚‘k¶`ÝžèèvÿœÖ”ûyS8˜³|X^×À7u­IÔÄC²¼¦ïü"Ç:30—PFIz„[7]è{—{²¾}m¡ßåš[Àò?ׂÚÑ|c*± þÿì½LSyÚ>¬ôQ†Ô”Ž3´‘Ɇž?d$ñ±F°Abçy“òžh&ý~ÙdÌÌ3Zºä l8« gB²Ø×šŒ1»éð‡:fÍDC6ólŒÙt“ïó˜xf“}Ã÷ß,'1iþêQôÍ×÷¾îûs -θ»Ž0ŠnÏ)å‡m^×}Ý×}ÝÆÍ²àûüÒ«-•°êDþŸ±¬¢‰,‡l%<Ò¨àŸM€AàÿñK»¾L'Ûÿ6$ü¯€€Š÷+hk›oìgäJöø}ß<ÓÈ  º¿Âç T öøˆüªº£Ã÷+_uõ¦jììßuñbU÷Ly@ù(€§¦‡)@,û9¬ÿìà)À`°*qJ€·ŠÎ< Âþ¡v"í눵ÏÖ'¼IÔ}¼i€Lªƒh&’ ÿM¶†¤í‹Ñ_§"n@\3ú‹0Îá;ر Ø)?±Ñ³+Ž„ ('øYR «Þ>?*ß63ÄíÙT,¬ØKò‰èX!ºÄ5/,¥ÄÍïUÇ9Úͺ›HþCû_9ÔéqÃ,–w}_@6ÛŽdrÒŒ’²!ÿ³þé\ÿË  ('QþnmýqëáÃÈ8Øs°± €ß«aÀû¬TÿKEE8¼Ða?£HÀ4_d%ÐB¸-<7¿ðË……ŽéŒ¯#hóùªÛÜ€ Pý«êê@GE1"MSS{«ºË |” ÀÓ„Rúód?§Ë 4ÿ?§âÿhŒ¨¡þ©ª•þtÅ€×›¢·éÝÁÑö„wvc Àlb4‘¬Œ>&ŽF7ç£,káȪ¡¨c@W%¹X5IPÝÜ@’Ý€¡€}ádšðÿq4ê<²9€£Žæ5 à™!qýåé„ûßÒÕ8 @?Ïý£‘-öûiÙ?ëÉ÷aa…³s‘õˆiË €²"ŒÐºH ÈÿÑÃ4_!§Åòã–&ÅöSžÏWŠªú:=g‡ `˜ìÛ P~>[² OzܲÜww<ñmr޲08òÅ$qÝþŒ1Ò#£ÅÅäg†8 Ðý­ÄèGÈŒ`…#ü§‡oOŠÏT¼yó¦+u¥ådž±d7xëà?‡ ƒŠ¸)Àu«6@Nì‚b ÑÙYŒq9Ùrr÷îû·^† -°‡ ¿ç`çÿÕü_o×¼óöÿÝ·ëý÷ÿSÿòI8¼@õ8žÜ î(0_½·ï—  mˆÂ$ <€„ý¾Ž‚þOÿ…þ÷_œªê.”2øîa*>€ì磈%ø?zŠ -ýÄ5ïÚc -/„øÞÔ”7•b'õÞz´Žœ[oýïOy+GÐñx„XÀæd’àÏCùpנȃ2ø§RtMÌ\(vÿéÊÝþS,>;Îr -ã5_“?^:Áw#ôÄâAøó0¥]$Ìvò±Ø=†MœO( …:ýF(İ̄"‚Òw„Sx—y~°ød¯{nK ‡à@(Ê´âÂÔ‡kkÈKr°Ôˆ™@ˆçü ^°Ê¤&XŒðÌYb‘‚¹ÏÇè3<ù,L:¼Å?¿…ß5Y¢n=É‚ÿÄ€€¢l~b `Ý*ü£üï’Q€e4Ô`dQ›Ð¹þo¸DØùða¸ÂÐCྠ³ï¿ÿI__E¸bþëLf>ìóÖÏÏùæ€ü0,dæEhãX@bm¾¶_u@Šþj¶Bh¢÷Á¼÷â`¾üs/eðtàþž½¥Ëè_°ø/èÆû­CÚõUÞÞT}Â{Ä›¨§·ŽŒ®ïö§+“iàÿã‘tŽD£ÑMè(,ñ¦^ÂÀ*äÐ/WQÿšëû j¼À œÿ –%ÃÿŒÿXþ÷½ž0£ð!¸ðµ‹q€5TÃBØ¡¥¾Ì v -œºïĵ˜ëàL½µ¸,~Þ!úbfHZ2ŸbÀfïoAy‘Oì-pDª§7°A(çð‡ +¹}ßûôͬZùÖ2Þr¬6 ,ñJBÌ»ùþèlA¤ûˆÉ2å3Ì|<Ÿhˆ±$ ->Ã(ß’®At`o$–”Ÿ(¾ÿÁο’ €5 PM0þ# ¨k9´,ð``Àq´ïÆàîÃMðß#€hÔ¼Ã€ŠŠOúþ哾p¦m~>0Ÿ ·Íûò‘ú³°€lÀ¸€ÿm$´µ ´q pµTý̪‘$D€Àgýû§¦ªºË»ÊG™|÷ º4îÁ™½‘…üÿ9 Ì^K(ÀO]H¡ûÏØæC¨ŸJ%éãôâ=QO—ÁuÝühÚEõOàÿ8áF@忆Óá5Ì"î>"©`X~œ@™‡ÿKMÜ-VºMŽÑ+ -ßG‚Æ^>¥`ûF 5wΟíþö3žó׿Yí‚­Åfò®M`»ö[†Œ'ö-3äòî ÉéSʱ”Hø^PaÁøØßKðïð¬í]ɱG‘Nº<\)®°àÐÇA ¾½Qˆ7 -(!À+497 -‰·Á"xŒ 1 08dXœwhj±ü¼æÑ²KùX+Ô ² Øv·Úki€Òÿ™p <%ü[à@³âÄü›Ž8KXRcKEOE.Bî#:;þðFžMôü öóÊ€O–Sfß‹¹ï‡DؽËV}ƒs&o$¤ ò·³¸„ŽóÀ0"Õk˜Ë/æ +;×UÀ·õ‘º¯?d‹8»ðùyKïj60`œßçQD^MÀ ÆV­ý¢#ò>o.VTÀ‘2þ?ü.›ÉÉ'ÙJÒF º…TØórCŽ´ÙÎø HÂP4úõä³y-žÏZy¶r¨Â³<~hü/Ëðs +ð¸C€uÊàÑÿÅhtÙ!5 « èÿ*øRËnNj=Ì{€Žõl¼u QÀÈÜ…ú@8ö}íËÂáŒÏ·0¯Æ;2%'À|f€½…Á¿@Û<6ãð:ÕÕDªÃŠ@EuKMýû§”Žå£L¾ -út4þœõx¨ú? - ¢þ2x -€ÔoÒ‹?™„ÛÏŸ ¨g? ½#ú@ê}ýë³€QÎ~âC“èüàåyœ®¬ôo².À -÷ÿª[1 Ž³ÒŸå i>5‰ÿÑ´¼¥q鯳 ÀFþ¢¤ß|ÏŸaM‘L½¤3HÖ°$æ! -€ z%gjÙq+.‹ôeãIü“€»©˜ÙÚþ+.LBßgôǔ֪ÿm@{މBá>Ìþ(øe„½‡ðÐɱÂòNî)wí¥ð^Á+õ£ @÷Ž`„/Œ„e3BÎ3 Õ<ˆˆ[š©•ÝÝ?¼À1€+< ˆ>Àjÿ¿nµ r=€œÌÀ#× (kwnݽûðåžwß=øî1¬bøÇñþû¼ -à“¾OÂ(ÿça`F°Ÿ ß·àãïjËd°*¨jýtX@2À'M„þÕÕMýŸÑ9YÖ~ÊG™,. >LøÚ~ ý Ó¶ÈøPöcPu[`)@¿ -4}R nò5U755½óY„‰L¾,”2xâo{ÉXšYDnÜøœðÿè €SJHRý¤Hú++ÑøWG¿ŸŸßªìOVÒ;ônº?uâ„·þDêD¢™t$ÜÞ^ßÞ;ÛÞ>:;8;A½ŸØD*-!?Õýj/è1¤üÉÍó Ž–LÇÏŠèÀ?®l€šæ*ª¡xò ­éqKS @<‚^xJcü~c ¸›ztÌüÓˆhnøP0ËU>/Â(ã)4|ÍÊk½ Æð-|àù;ÁÔÿ†ý@À›*ÿ•"ÊÛ~NÍ“óq¤>{Á”ÚÙ‡‰qÅqžúߊ×A IA°JªR<ÄI0ïq#€{– å##ü׈Z扼ZuvÙÚ© x&ˆ¯\P)nP]½öd K²€PdÕÄ=—NçE—ÙH$àÖA Ðù6vTì -CÕÏ´!H8ÀBæëŒ+d2ˆÚ—Y˜@`[Ç‘žýG Яø¤º‚êÿáESÓ.nÔÕºQfå£LÖ -Kˆ^ˆÇ³Ÿß8ª€¿€xA.H{1¼UYég= ÒïJi•~¢éþJ:ý•i"ôï'ê½UõÞzï /âÛÛgƒ€y ™¦ÏM—´ÿhTºÿ Ñt:šLÕW%ÓÉÔ&êH¹Š¥|:¡NÄ09”O&ÿAµ ÈÒ½D}(ßwN±XPñt@cu  Ž»É[ò1Pü€zô—VŠÿä ›óƒ< ,û×°€µè/@.î@Ä  `±`Àn8Üs°ç݃=Jhl¬y«æíš·Þß…) ówÀßnã‰\Ü -XÀ{¥D@´PòSñßðµñ ®èÕÕŸ`°¢zW z×®¦ýÌk»¯œ9Tö‹”2Xó\–¶/6RfàQÙ|*q-qʵ°ûÏmü'• ÞðÒµŸq€š®‰¤û“ýÉä‰$FNÐéõÖ'dŠ0•òr®Ò#QÚ­þQö?–Úå´2‰Åþd4ºY¼0p - ¾*pžp”8À¸à?6ÿ2ðx´8FÑ/°ÿ—ìï7øÄϪá8ìÝ‹‡,qæb pp™ç5Rsv\C€®˜¾›£ÇÕÝ+"ß;¼\Ãáéþï;9çZþüNIû/”èÁSYƒãŽðæc‰ZâÀC´B@7;¤Ã»£›ñ4@ÐàÔ±+éŸþeD¿š?Ä~ƒb]~k]ðÇeM Ÿ2h,s €=XTÂnŒ/žÄÀ9à0€_C -pìÃFŽ~ë]}Õìð÷…Û™yC¦Ìó ó  m¾…L[ ­ƒ(ðÿ“ê÷aôùªOÂÕ »šªÄ€ªµg¼ÛËv‘òQ&k ž6–`Œ# `ô(ÿ¤“ ]€3)H 2ÈZÿÐOàßê?í' -¦Šž>PYÙߟ$*àv ä³ýý©Rã€+*òÓ\é3þÓÿägPéRé_•¢ÿ™~ìnCK–Ô¥\AMÑqô/çÚË €ây-âá  ¸ZÊǀϫBò‚]CVs»!¨ë¶¡3äSilE"h3°ùРåÍ8OÖOW!@XV{Q*q…?½<×äœ"ö O2¿ý¿87ØV@º±ÄaELi°ÂÔ@î:ÝYO>>Ó²y<⦾„шNôϱ(åNpn<ª+0ô—úO ¿½¶ r€Gÿ\@dq‚‡Æ•pù0ïx·ç ¶Aø°ñ½ß~û­š·ÞÚUA'GøPõO•|Ø×!€šT;Ж€ÀÆ?âm„ùmT÷+!Àh -#pWSÅ~6ŒŸöûÏœÙî)ãDù(€µ @œ€ž?ƒl? ·” àÇý$ePJ€Û@+€ :*@Zhíÿ‚ÝìÀu?>ÜOCP0ÏKÀ0ðÓ¦/@_‘úü‘tôñÈfL‡ë¼(RáÉÜ¥Z<ÈÖt´Þ‰Äe€møã±ðÜ]Hìï-J‚_ÌÎñ³Áü¸žïa\Æù C-à#4 üŒ¡IQÀ|ŠPnbçžú‡BÎ)íúOq6ÖTæ*‡Spâa‘-pL£´ô؈Å2ëldÿHg%neó31¦-ãq“Mƒÿ„µ?w¤d]#÷O6¾€ÚÀ)¸&€:q®í`üK¨þçE¥ú_–Ç9¨A,€¬ôô4|÷O~Hõ¿˜**ª‡ þ}¼°M!ÿ¼š$üÇZ …_fæùðF`€ð¿ A€&ÀáêŠ]Äv5µà^tí8}åJíÔµÁr`ù(€’P,rsíbˆ}>øP€Sƒ9À}Îþõ2ðS9ïš½\¢§©|§ëþµ €áßOôàïGS€(ûõ¬øK¯ÿqÚ/J€ŸèÏþE+£D!Ò é$‘¤l‚í€+Î’M À2 -9NÏåÜeÈ+ Æ3™ˆ[¼®9ý†ãžW4@N`Í®‚ö|Ä€ñ /ß7Èyºý%Ï/gÚEI2žRZpÙ9<ÇÚÿãÿü….8çï,z¸RTiCŒmàZºfÚ¨ú5è!3ׂ0Bb0;“ƒb Ãúg„s™NÓX&¾Ä´i£¿K±N_^3ü?þô&C:eࣵ€R,€œÔƒ@LRýÿî{oƒ¼óÖ®]ßœáhkóµ¼ó k s°ÿÍqýø÷eÚÿ2m¾Ž§ò:öÀX £é~×^ÛqÇ_{æÚv« å£L\r_äWhL ± ¯c ¡—ï+Áƒôí"®{ž -{; ‚fzÈ|ª@Œ9;dúú¸w¬9§øà‡ÎÍý{$ pŸ (j9Èß¡·ùÑàKZ^À¸F4@ãmŽþOóì^€å;›x¾ö7ÇÙ´7ö;)Ýu -€w|kUÿpÚ]ªýsÿÑhiYäm@„þ8E8ÖxðÖÁ?¬ùðí¢o÷½S3„«|y_¢þæ‰|í/d~É@¬ à˜Ètt° ]ºTTï  ‰ð¿z?/‚ê>ýÍWjkUÝ(OŒ”2ã¡€ŠH ØD à(Aÿ5ȉDUâT›ôV%fé ‚äJ*÷¥T'ìF…ŽAÀ4Ãÿ*@Ÿî—‘t èŸû]b ð?¢Êžö¯ÄhA%l~EW¦*±z¸ßccñi/{€=j¦)׺!KÿÇ:ÂÆe°€¸\iqÔy Vç<· À½ììþgÇ#Âã½ùññ<Ÿjÿ ¯Õ±9 —÷X|¸a?¥¦ÇÃ1Š(½‹)œ—<0õ0ÇÆ6“»S°:Xp*rÂb fã±üÌ _Üï¸e:¹ -€ÃãT÷«|‡e0€kLú6˜k¬úWV§ê¾µ °«NàúÿÍú£æÈ£Gˆ” ¸Ñ¸$ -@kÏå:ö¼û.6b Ãt {ß`‡oÀ‡­@® 0€þÿ/@|˜ïèȈd: ß^0XAlà6DÆNŸ>}çÎ•Ú e  |” Àj Æ[׊oh¿‰0lŠ}ŽUÀÛ;U äÿöÁ!ŽðG§§y\Ÿà;éçrî`<´ÕàF¿?MÀÎÿÊÝ·A-Qe¤Ï`M>XýÑÇé”L&Ó -Æ @Ÿ”J½Ìq€78ælÌê!݈È€ÆV€ &Àÿ V>®9È)ÖÖÆ\  Ô× 9k˜n ç%~zøqžDäm@ôŸ†ØúÇ} ]Ì+<»ÿBÙ§ÿn: -騜´¨1؃ ˜z^Ãì#q€¬'ŠC}ÔyÍ'½eD6Kèºòâm -ØY`c6u«Ðo¸ùï|+€€Ð2á?zþ‹ pbbbqq"81Ы€ ô> -ð.æß­yØ_Sóvß;„ÿïôUÂm¶ –SÕ/;æÅÿ÷Ë}_/|½YàV±€Žù¶À¡G  y€l¬hÚ…À@õ®I܇®Ócßœ>½cÇ•©3U×b÷ËPQ>Ê@ÍjÑó,ÁŠÁa0x²¼"À5i @çlU -+üé‘cc¦Å·Ïþ(úÿÜÄû¥ü¯Dc“€¨ëYHŠ ºÿý•®_ )ìÁïm˜F•wÊ›òÓ! àOy½/÷¹×1ébX>V1çè¶ŒF$‡—ÿÈáqá_VA30M‰Ò]‡®‘¾(€¥– æ{DZï/ØÄeëý#ºåÓ(ÚÅbÎÖâ¼8‡qÔ°ÿ† ì°„ì°FQ\yñ Ê+ŠO=$%ÐäÉKWÝ04ËÀ8@œm3Ù| dÐòÁCûuýûƃA¿yøñâÔW¸Bæ2ÿˆ¡là7- ÿ³ Ú²xí€ÌtÉÀ²Ršý1@Ø?±œhYÄ`ëVqôôî9|ðÖÁcïã¨þé¥"„}Õ¾À|À×öÁøõ×Ìd À‚ÌbÀÂBGfRÁ€¯c  =4ªwÑUSE ©úGœtâî7,ÔÖž9tíhy°|” € )¹‡¼8ƒº @6æ‰}»1ú—ÁQBþÑöÁvz=Ø>8˜À -Âÿi,ë!Ms3D ‰.ÚߟT¿_©(þ‘ ÀÓ•~5÷§(€(ÿ¢$ùqˆ"(™@~O>&Â1†Ý€^ïèË4zóÓ¶BtšÅ1t¦#®8ðòjÛÿ< ‚ÿ–l(þVÁûŒÏÆôtk„ÜÐ!-?ï%fé­üøxo0+I˜ ’¿PÀ*ÇÐâH²ÿ–@ øG"¿}ÿuþýc=Êù.èå”WjÂ|t=(³šÕ…(@V—ºØtóµlòŠßÏ‚¥$baÙÄ“$@(€i/o$@€ÚÀã€+ŒüΪ°® 8° +ôè]Eš±@@ÿE(¼ »·¶¶ö¼)ÀAn¼Ç€šN\÷õ ‡ÑChC -À¼/,€L8³ðË êß‚l¢Ó—i›ÎPåKG‡¯C±€j¬Ü%+jÇN3þïØQ{aêÚ)Oy |” €‹CxÚ Ç( ûc±1ìÆÚ¾Ñvbƒ³í탬ÈK`ßô~ºJDG*A XÁï¯,9ý¤¼ïç¾Lýjà/Z:Ôç H„ù3‘àO& ÂD ù£ÓcÓc¤PŸ}yïì0–lŒœY„¬;Ôâ?6å±?%5¼ˆ¥ø¸i©€%ÛY/¼8Àä)é8À -?NàwÄׯ³AAI“S@FLÍÀ~ú÷çÜ^î[x¹ðéäœï’Tè˜~ĉG;™F^eÌ¢€Þ·ây)ÝM'÷úiðf˜¦¥D&ØM\ +  ý,ÓCd,Ó¹¡M€‚20ýOü³N¥W÷¨À.C,¡P3¡?Í*9À{/íÞ -À›°´Âp°ó½·ßƒðÖ‡DX¨€ -0O À3ó_»£2 ^ ÀGðß6ݘ0öÏþ;Úšx@€ºÇPÿÞqgG­ÿÌ¡kÛ—ÊXQ>Ê@=»>„Ðq¸ÈÒ­¸Æ.€ì((²Ò&;Úô&ª¸À{úàÇQ>üýü£<Ê¿ZãÞ“Hè^¹ú/kÒ°=€ÕÈÿ Q¨ ÞvoŠëÿ(:¬Œ¤½‰ÙüˬÁ å$Æ"`Dòhj$OwÓ´Õห¸@Îz}õœÐgÛ¥¥yá´^Âüü¸$hyADè!±ƒv,ï1¡Ë0Š?ý+Ëô?/¹‡[Š“û–NRA5ñù!ÏŽk¶AÈ`ñBà [âˆ7_¿Åïô«gò8Iž.– -›fÅ[¨q„°&àaÀ cÿµ$@²W €"°!è4C@û¿ýÁÿ`Ë¢êð6 ÖÖÃLzÞbà{Ö` - /owSõ_A/™]‡y30Á˜qÿ—« #M€ß\Û@¦ƒÊ8E hƒ@ ˆ»dÀ¾Ó;Nûwø¯Ôz«¶[ååc£cóÌ?×6@Ä¿éàgX‰ä½ÀŸÇbGcÙøMM»ùÿiÙXo¶‹Ø”Çóûk´~?÷û  Ó#%lçúžËû ýéRÌŸ²à   À ý¬ [€à ž0ä~Áÿô8 ‰víe> ›ö’iÇ-3d™…ð"À½i(ù ’éÐù—Æ;€8ìéjpeòz¡€å|¶Ð,~>èÏrñ¯iããî"_™°ÐÑw¤[’7-5(fÿ'?ÓQöÿÍQñòõÃB)4¨à¬˜ -€u¸ã²ÃH’ƉªÛÒy¹µË½^]€›áß“Ïc bÞ¥šH~' x$p£DÄ‹`X(>™ ô¯“òßP!€¡æ—ÿÍÜàÀââ¢x þ·îÞÚÚú&@Oϱ^ø^#<ow¾õöİ¥"ì£ò½€p[¿Î„±ð— n*ã??ïì´Mû:Fý@&ÐD'q€½¸]WÆýOs à´¿¶öLÕö£e  |lПæfŠy°*ØxòÔ™€üþGeCïÄFc±s¨É“Ü ÿ>Ì}ý@úî+ò€Xü0á>™v€‘èZŸ@ZV öWŠMÀ%üO§eïÂGFÆFÆà¨ô&fG_ª`Ú蓘¦UÌx7(ÿ6Þ) mZ ³éȲx Â§øk¿-pN.¯”¶Ãx¶¤wœã€Æ³ÁR1&ÃçŸ3ãìãéçoN‰Ñ¦òSµGÕ^aÅI ‚‡Lά$èÏg#º¥]U¼+«ÉƒíÜ/äœ×Hò?Ïðïâÿ¢'’×DˆDX-³`«I€ -Bñ_@çß)Ö­õ–<<Ø%&`="ìoŽL4+ €8êÿë—ø üßÚêözØÀ€éz¸¦sx8¨à¿-˜'ü÷þÓÁd - BÀ¦3Ó¾L€E€¹ŽÜiºà€ÂÔØØOÙ@‡ÀµA«ì(µ†WœðÓ«Ê@Ä-x´ìÑX–Šÿ›Ù8½Êf³££±Q,òIV¦ypÄ…pâÃÑ•~i(„gsæÒœ(eÿ\tdnd ÝŸæê?™RIBéd*íô&°‚_6}|`zäÀã¨?ímy àšbMKúNNéÿz$XBþR€ÆtÀÒ–ïA@#Ù¯˜{`@€x.“þûNnZs”KVðKJðæxÀóyþ`ËrÈ%ÈéÒPþ¾6£€÷ ÿ üoðI?\a¬5ém€Î  õ¿œüÆú€:*úûœÌ Àk“e€œj`è‘8M4ãJõÐh¹Î`+]¶þ«(=Ÿöˆ °¦±±c€ÃÃ[ú*ú Šþ-ìà&æÿT€rp6 B:ÚÚÚàû#ôÏLî2wöp€_€}œ°ãοÿÌÔ¡kÛËyÀåcýÇ­»»{Ýžu+(Uoê0d5O6ŽêßþDzxõ‚¨4%0ΰð_Éžpû³ìÏ$%X•ÿ«øOïOõþ³ã»°]€°?áu·Óÿz<Í -@º²jЛ|i` @‹÷Î=Ìé¶›ÅGUçýp6?þÄõ?"x±)@޳õuAå6b`œ9@\×L­!.ÀÁ@tò A§ÿ™F!çh–GœÈ2.¾zièc¨›$&T·’˜b¢ÁÁø¶$ÎËMã5Y D”Óü_Í߸wcæ†à¿ €ó‘<›Pÿ ?ò ;´ ôWD`½NLü‰€'‹kFXýW3€*€“€]àDóD„àÿúÄââu¢âhÙzik+ºo" Àèlì|ûCVúÂtÏÍCýŸ`X_³ ,«çÚà t,L·ñ2€ŽNœÆü_4p‚ þ}cûNŸû†5€;;vÀxÆ»}°,”uúL÷‘î=¯8àçW¥p °ùk¸7Œ¬à?]&‰DŠ£Åêw@€Èý’ Ü$Ÿ´kôç¬Ñù+%pPÖ¨ÍÂ)Þ.Ì[‡ê©ÙDÒòŸ}~„˜Ž¦ýQï©ÔÐËé8ÿdÃѯc=×jô´‰ëÒZÊ™íɳúîáë8€8×ÞKŽS¼¿v¡¸RÄF@>‡ n<†ùƒ 6žö" ›‡>@+¢íÜJœnQ—%“·ì½Šk…’>Qp$ÓP­ -‡aÂ*è„LÞ{Äó¯ þ[•þ3WgnÌÌ0€€ƒwMi‹j#ŸXÿ -Ë6 ÜNÀ:¼ýOr 0‚œ'Æ]À@0Ï<â“c•@'êÿ–*ÿ·ò•ø¿ÙsŒÎÆcn묩îìæ³Â…}÷ü—êß,X|Ó™@[G` c€§ïæMHxpäî7cߌøsÀéÓþ?^AàPÕvOY(ë<̆î={Žì}õ€\á!v²m3×ãY=þ盆žÅH@ø;åLxS•IDòîOóedÚ ¨T›~çø#’PŠþMWFàFyK @Ò›ð¯÷zO òŠÁJ?³‚èÈcæé‘tbÖ;{Iõ¿MUüoLê˜úÜmD eÃÇü_\iЖ‡mqpœ J°g%·€Mî8¼6Œ#ˆŽ^AÄh`íäÀ$6¢lò8"Ò]y±þ,,”̲ [ãºÆB‡Ž€HæEÖ2í×Cp ”ÿÿtüé¼qð?®D‚ôXx„ÿËfbü2= ÔÙ¥5E» Kíº5ƒ€‚þÊÈ»€šaŒ47+¯O´\_¼~éú¥K"l½Ôºuëï[[Yø°¦±¦æVgãÛÀ~âþ-ìþ§£OÏÈ ï̦3Óètt È¢VfgîÞÝwê¿òì¸sE$€kÛ7Ap>W>^åÃïÞ³÷ÈžW^(°°Œß’Á‡dÃJV4²1&š'õ‚R`°_5¦ É!¤e±ŸTø#F¦ç8¨’gG”ïOBÓkDVò@Ò[_ŸHÌÎ&‰Ñ„ä§™ `H¾Y4é=UŸøëËÞl°—ŽÐE· Z#Z<¢Bù#º’`ä`KÓÁàªP€1¦Sl„â¼€(/ñÆó±Þ|^ fAˆäó1”ÿðÈsulÐwÎ[¸lº!öíã Sʺ_pr-Xê]Ü—=Á‡àHCò’’~Ëëÿ¦¥üO^p55?sï†HZ0­O‹ZPI°èĺ–CÈ€føçõ€ëàBÅ‚ÿŠE‘d -pí.€.ÛmØ!w Nîÿ‹01q.‹×[®+ã?ÕÿÿÚÚó&GÜ:v«¦ñ8@g ¡?(ÀpßUøÏÏ ü‡±å?̦ŠЖ ø¦Ñÿ¿3ÐÁ¯Ð¸ƒß¾ààßÈ ,D¦Xxéúñþ@D_ácE›ÜsþÈùM„ÿÏ«° À):KÄŽ20ì~Ó(MZZ<Mzc³^oz}¿»Õ7J2À¬íÏ8€ÜÎá9¿‘'óJsÄ¢~i¤¼^Âÿöã³í£P°f°2å âß²QéMœJ´¿v,!P¹yfDWæ?‹ê1&h2¤·âj9À8Øp¿èl€€%3q­‡ð½gò½ âŸc{Çó˜Ý”‰£ôh&s—¥¿—ð<¿;ôŒG„°ƒÂl2pŠâM> î÷Û"à¸ñÕ÷1Ѐå0ÿùy…þ‚üsÿŸÎ@`èô‡ðËà¿;6v÷4êñ" À™3ÞCÛÚ/õ‡kÌìÝ_QFÑWøÐg&÷9ÿî&ê<jMþ¶ñ4ê6L£ÎðÜ4@H&ÚO%’éd‚#z°èw$z`lV€9lƒÿôÜééèÙG˜Nû+W€G˜s'xj YIèŸLÕ×'f‡ÚÛ‡¼³Ä2R~ìœb'`š·Ânà÷Ò§|yó…?®;€ 9[–i`pÈ ^Lc¡¯ ä]€nY2 ¿Æ@älÀ@‰ ˜„‡Ê©_ã`ªþÑög@l\L€ -Ö#:q•z°Bð¸!¢¯x·¡çÝ UP…?_Ô6 X\Wò†Ø€Ç'&¤0qýúâuܸ´ €[ÿ< -pì¾E/hôIãß§êö*Àê[>_ hËtd:@ÓtvŒãÖWÝÛ÷Ó}cûÆÆ¾“Àé;;îøkk/œ9síåJvþÈþí -”%€Wÿ&»÷œ?²ç•'Å /Âi`50=¯—<šÁÑ€<ºæmLxÓ©D¢>á=‘JöG ôÇ  êýèpW€àŸÞ™æQA¶Œ<¹r>Ï”LI‚üªÄPûl¢>mJ¤x— @¿$ªZõ‰DûÍæ— ð@➦ÐrE£`²GÖÓÉ ñ<Œ¢Ä#–Å‹!,mÈd:á?øÒpuÞ ˆ,  [ÿ{±XÞçT@¾m²ØÎ9q¶#ð&¢½&€"×ÜvžDy€rX–Œ^óH¿½´’[r¤ N°NC@N@e0@0d$ÂY»ä¨°Dëep:ÆoÌl¿z~ûùí“8»'‰L¢0CøßÀø¯1E{õæÞð'̇  zôz¾úßaÌgð§ob1€Âñ Xi!D<*Dý©öÿÙâõ—Ü0@¢¨ÿAÞ|“Êÿz¹u«±±óÚ·˜°®Øυ骯"\‘á0_x^|>ìj Põ€ŒTÿÓ˜`üo>}—ðŸ°.À}Š\¹³Ã_{aêŒ÷Úö«/M0cGNìßµkWÅ®2޾ª‡Ñ0¹gÏž#{ŽœÕ •”P\¢'l*á˜PGÅ¿˜<Ñ€¹éiXä#Œõh¬6ðèVÔº ~?Çx뇳íçÞs±úÙvoJÂdC@šjÖüÞzï¹Þs/ÿe€îègTùPÑéfÿÈv68ýµ?ÜèR-Æÿß,m@ Âñìm‚Ð0Ù7`ïx¬+÷$tLƒhJD™‡û¸޽T¤°R@®nMc:À~Û4 —,1üÓy*Ú&CÚÃþìu>XW¨DbK¼ð`Íp#ö½â‡ÃÓWgü«®žgp^º|ÜkÈ744ŒŸ„0¡Mˆ  Y5ëBJÀõ€ -X™ösiôà2ðÝÓõëž8¤ C 滚YP=€ër!øàâ+!ðJ€¶öÜ:@M§:†û†Ã}[ú*¸òÿd‹ °pN¤\™0•þ˜ý›îÈx°õÿ IØwwlß¾ŸÒË7n €÷]©­½P{èLÕöøKùÙ>ÐcGöþhÿ®¦Š@E¸ ¤¯(?7º' þÁ^PdeYzKK¢¦§ð"†T”ÿHŸ»æ÷§ý#ÞAÂÿÄ‘Djš€¦D£TòŒ°@ïaj=€è·Je˜v›¬ì÷£ÿÏúïl{ïh¶³D¼Þ)ô`ôsB`¥ß;š:›xÁs‡c|‘’@Õ½©ßÇx´±º°”¨å=:'³€˜ŒCøƒ½°‹ú—ɈGæ;æ‘gñõlб@ðŸG ©Xf)‚~¢K(–×{K87ÂÓת[ÂCSÀ¦dâè5÷Kè7ÆÒ ŽÉŽ’œÜrèÅu ô¥›O7Û• t -kˆÅ«ŽÿXýGø?sµj{ÕµÛÛo³@4à*D€IîþçNŽþÓï(ÿDtp9–å -FÀe3d>O¹‹ö¿Kä€"Pø6þ«=‰ì‚@ ‹?ãö?S€K×[.]gÀï/a -`kë›­oÂøëOõܪá( ÎìîÃQÑ·%\A, ¢«~5 €^D|nÃà4–wÜ šPwçîÝ1ºŒ úLæïpæÎªºú2Vé3{÷ïß¿k?Õÿáð._K_Iü‡þßMèþÈä+„âŸ%‡½[<`MðïX cÕÄ6;àF|tÔ;öÛÔƒ³‰S©‘4Lcc#Àý9„ +v¢ 2Ò¬F ú‡÷§Ó•Hð&†fÛcÇg{oŽz‡,ý§¼l5ðó@€¿, ™lŸ=;šzñUÎê[õbζ ˜A—õ?zÄ]ÎÆžÿ‡ + €ðÿâX·2ý°c}ÝäAx]‚t¾Á¬»X“ÆÔà’­Ûúܸ¾bBŒAhκhHº?ÕÿöCÞdZ†mÑïŠFØÏÒ|–G³‹:ÂøWÈt¤+€Ó:ÅW‡qŸÕ©öyËâk²âõ>ºMV4ëM¥’, ¤T ß]äomå^¨ {Ú&·Tý{àê+ä »ÒtÍÒV‹‡ò1Fÿ®PpC1à€ùVÖ» ø–6bgÖÞòXŽ"ÌÇò ¸À>C«†éF tˆ(q bÆóÂæÿp…³ˆàû++ÏšzñüÝ®8ÿÂèZ>žÍ뎙ÕF^Ä;x-â’½n*äe[iYpñµyvá¸iíÆ ªÿo_»x)ÀÕÛÛ/£ 099Cb÷ffè‡L`BEE`` ë -þ—õÿ`ìz§ð¤À$@κ“]Y R š›#ÍnÀ OneUþ(ÿ±HÐåVOã¶š[¼£}ÌúÂÃáŠð·@/[Øÿ%€@À—Éø:2ðý·Mûæ@Ø•5~÷·c„ÿ˜C‹°ÀÿßΜ©ºvmÐz‘vÑ‚5sdï‰ý»†wUÂ>ºcŸ”áôÕû Õò¨ÿ»÷îÙÓ}¾{3m}NP,eV@\^ €²ÐÑ wõlb,ð&è‚Â<ú¿G*‰ªz¯·rä¤vÿAà¡ÎàÚN»ÿÕ ` ½wôÜ—£ÙöÁs¼r0y!5k ×ŸF&v Ñ·L z+{ëêB/øY…˜–·½r!ªcÑ ïlV‰ÿ\Ç 0-¦³wÂÿ%ÙÛÌu?Ç¿!¸!v26óßx–{<DL18Då鶃E¹–é°”ñ -@á!AÿÃÂ}tà‰ØæRÛ ðc‰¤aàKËq¢VÈb!„¾©£8äìéƒN¯A4f]{¡ ¸>Ý¿«k³éèþ[žù«“À~0€*:'Ïo?O/“W‰Ìü7Ük` !pO€`x¤ö>Š„šu¥,‡tƒe€Ð÷Î*¬jÿ…U) $|ëàT€.vŠPü· €Kœ€òÿÒÖßÿž§Z{Z‘ø)òo5ÞÚÆ6€ßêìf/àp_EEßj ö†`;@€ª®Ðè "¤ƒ'ëî þÿ龟ý¿ã@iY@2 -píÚqÀÿöÃýÞ…ÖÑ€2xå[k˜™ìøï©¢«ÍtÓž7 -¸Èƒ< -€ò¬®¸¤s]·d3f°0ëóz½CÞúT:•9àíb0 Þ;•Jc°€x€àÿÜÙÍnyoN *À;4{.Ö ÐÛ>{ -ø/æ@@̤ý¼P8=Ø^ßkh/ÚˆÁ»%Ë4âÈU±sEz4 =ŽU@€·l^vÿqF;LØ¡ˆUÀˆ”ú_<€ë­R ñÖëVi‘Žøÿ|Cþ1\±a@X €ö?¼Î™ñ%¬24ðý$BlÂþVÞá°‡†€JÞ±sáßzlèþBÐÑüT´ñ@Hù¯a›)– ØëÕÛ€|Á†ÎQÙºÉýÅYž|þj£ÿÅ‹·™ÜÞ~{’(À$]®þQ€ÿš!ÐÐÂÀ²€&T Døbà‘ - dÒ«ïk,<õAÀµŸt¸>åü·‰ŸMüÛuºúÙõë-¬l½tIü­¿çu=ºà-dþ×tv¾ÕùV_߿à ¨4€°„2˜+Ñy&m9æxðOøï¢þGñU@2¨l€wv\ñ_¹R{i×¶W½ 6€¡Ú{bjÿ®ð?@÷ˆHKü eD}Åð??ÓÝ=¹gÏy”ÿ{6Ó&€uld+UN(¶qõªU† ÿ©ŠÕ³£Ò *Ö½Þ¨7522«i£õô$:ôÚõ•bœC - f”V­Éÿy²Hg‰ß›H ž=ø’á¿dêLj -fÀšÈN§ýÉÙ„÷\ÈûÑ‹Žp$Ï©þ¶‘#ZÄæ{(ýbþ÷° Ž×z\úž8ætåØ 9LQÓu} в%Þ¸iIXpÈŠhøÄÕè¸964žïAF¨òÏ𾨇+þW -ߊ\Y*®ˆO$dÉm!ôGû#.>HM·M^‰ˆí’ŽäeÄh¨8ÒÊX'Xrñ“/êÛÏíêªËm*û€Éýÿí“Û«ÿ¯U]¼}ñöíó··Ÿ¿=y¾{’Ž{"LÂØ‚IÀ ðÒѱƒ3xzs(a@_&'€þ¼u!÷-PWà€:¦%€€Ñ €þ­™€Ûhq“ÑüK@™>íi$иíCXÕÀ>ÎØÂw#à³L |è¤Âs$MwtLcàƒv*ÿ÷ýô.ìÿŠœÞ 8€ÿŠŸ "·_}yf¶»jï ýÛ5€ô€½ïBR_©Ãþ£p@÷ëA@r% -P„Ó€ ÓúÛt­›úMϨ?•H&Þʤ7Mh±ú¡/›Ï6Ÿ=ûåÖŽŒñðß4ýJ€Bþ´¬ PqÁ#® ’C‰Ùs£íͺøg@*éõ³ Пf`äcèæìÙÂKx^6ulöC®®]§G$Œ_S¶?ž´$ €,²,™(áÿ:o5ð}G¦ìM IÀ¶Ê>Î dèÏkAOÞ€7µênÃÖGS‘\†;Ïö¼/ø¿ò°ÇßÊCÀwN…"莽²¤#æ(ΈWVHÍÒ%ð_"¼UJG:ÁËÙk"Ñ/©u¿egø‹ÿü¢~èÜñ›ÄÃ6`ZVþÆÕÉk„û„ÿ‡nßfÀµóçÏwŸ¿z`rF(ÀɆ“8„'Dh5£üàk]‘ÖôÐzí—¹oéEÆÿBqM Kõ8 ÀüF.mÅ"@øÿEÿç}€¬ôô þ'ÐXÓYsëmÿ·j:é£RýÓë-nùŸ)md+€™¶ŽLGà~”¡Óì„ ðv”ÆïÀ(;yðâ¡k§~ð6€ë®:±÷Ä~ªÿwí_6ó |eðjz~ru?Føúµh0(ˆë‡m¦„Ñé Ús$X;šôV¥‰©´·2åmÿèç]uF(t“Ο·'¼ibÑ9ôü焬VýéÒŽàt©€J©@ûl{,FW Þì•s€? -@¥?šô&êSZöìKx¶ÌxÜD¦_!â%4‚¼º.‘{<Š—õ(ÄóäAt¶ZœT|P¼¿Þ›ü]ZZâD^†'ûûßÃ`´ÿñqøò½ÄtbTõÛºmß×,61˜2¥ÿ¬Õ?ûìØ$Ê„™{“ˆaX¦‘3aBTYÑÜì×-lc [yLz QÍ¢‰4Ý#ºˆá8+˜ -DT­ý2þLvLÇ_|4ÔÞÛœËÂ6ÀhZž3ªü?tñ"Áÿí‹·«nßÞ~NàÿÍÜ»793Ù@ø|üøxKp|Bv4à j@Ö@—@XéëÀ¿-° ˆâ6Q¨ÍÂTù]B/I@E³p -c—[xõVggŸ’þÊ -dV×Bp'ÝDáˆШ;`¹0ø£ú'0".€Ó;vÜá.@í…3‡Îº¶}û° P0cUUG¦ý›î@ÿ†€á† - 8,g¼BGÑj˜éžÜSEàß}¾jÏyЀׄ¬þe9WãBÏÓÅ%îóÆã§.œ¢jÝë÷&û«Ú‡†BÂùeÚèìñúèã±k‚þçFÖ6ÿe!°PÙ LñK Çlï¹D»J†ýßë=#S•  h6‘êýkèì ß Œ½>lê×éOå?DA{‚þ8X€'¯ o„sôÈâ–õîüÆqŠëvÜ/ª@¢%pøkfHÖ!8F— L€ ±qªÿƒtk¨þ×0N·ÕÖiHèœjðLê{á¡übsÁ¿¸ìOýÓ}3VàAÀ0—A,4ä‰Ä#TorL¡fsú`mÅ=¨¡°„| i09/|?žÞ2 -ðŸ?!p®·ŽÑlóZþêÕªªÛ‡.ž¡ó›ˆœÇÑ­€É†™{ ÷Xh9$ -Дջ˜šù€Àø#N¶QÈö (ªFâ@"`só"÷áäYÐÊ»€¸ àÖ±m T÷ýk·unÃD`__gxg¸ogŸbÿühË*˜  -4ÝÈðPvÛÿ ÿO#˜^V6òB€µWj¥ PEÀú¡~LªþpõßýW "0 SSi”qõU9­ú?•ýtU…ú¿»{ò5˜p[Âd/ ½´ÄÏîœìŠŠ™ÀØœ8a>544Ô%@ÆÍP¨îlÿãÄÖFÿ»À­ÿe;°»:ØÏoýl;ÎH€—gRRI®þy0Y­ô¤‰ŒD餲ڗ‰ÊüÈÂ=gYôÀf¡À €ìnÑÿÅ I€G:zƒ ДítÖÍ?¡°A7L÷ü…ØŒ€E@A òBÀ˜ ` @ é¦f›ZÑöÄãfÜ–Í„Î3>ÉËïDÖGÌý#€?çèØ)‚ÄiÁ }ÏÞiAŽ 4ñÑI4+0©‰ERÉd/ Sç¼°äÞbxçÇá[¶ôUØù‹/†¾ì:÷×®BnÓìÿ¹1³ýü5Áÿ¯èåâí‹U·ÿô¼sù2ÀîÿšlØÝpò^CÃñ“½Á“ã-ãAôÄqß,½ d"Àb€}¤YßæÖ¶Š¥d@[BÅ ùÙâϱ˜êÿ¾¸À›­Jÿç(àctµ=·j¶Ýú ¦óƒÎþ½Ï=¶ô…W[T[ËÜèÈq›ü¿•  }w¿á9ÀoîŠ@íÂ(à•?î¸RËÀ™3‡@~6@ÑÌ'ªªNì…ù¯¿)° ·±©/ L;Ä€CX_‘ÃWíBÎè>¿¹€õ+ª À‰@‚ÿ†# WL󦕭JŒHz“éöQÿ•(tÓ¨;72266ç® ,þñ+Ùàæÿa¤Ÿ=êOñ`{û_{G{‰vì¾ øïöˆ#øý~¤§+éjh0uîf¯÷ô¾PøgÄ´yp!Çî:™Ãã%€’¤ð_ã€"*à7ÎÒúqÊnA¬%êÚÒYð׈8ÀX¾!KD€—À©¨[!ÄëŽÕ-#n™†ý¬S…‡øprì9ò×^Z‘9~Û,:’B@ÇÍeó&Öó`„fDå?¸€¤élJÄ·Õ9$9® 0íâ -5ˆÞôB(ÀO>ÞÞ¹“PcKß–~üñÿ9ôѹÙösgC˜jß%†`wÕµ‹Ï|uæâÁ?ŽÛ·÷^<þòùË“—/ïžÜ=9yò‚€î±àxËxK €‰ ¬ßþO4GøuI Ð!0 ÓÐ7öV¯²ôŠ® Ôµ,* dhý×\z„úÊm"·jjþ£f[çÜúà;ÿý­}®°Ïõf¸1€nÀpx‹}ˆŽXÒu÷·öýt?½»v"° ¸¶öÖ cãÛNÕÿ‘‹'NüH€&ö+†ùj¸B–• À+sÀþ·‡q²û<§ØT€uy$/öœ¦±Ä‘î¼#8þù©S±ÁAïoò'±¡.À¿ûw¿x#¤·°€Ùÿ¨ü£’­Lª@ÚĘôÖž=ží=7Ú>‹5À$&@öÿñ>ÀÊèãh:éOH{“£Ú—‰ú¿Ú/ðiYRŠ^DxÉð#–„=yYHå?;¨Çÿ —Üë&áÍ%gÉÄÆò:ð]1MÃð_¯Ê‚'æ#¶Ä -¬)Ä ô÷g,xXý—\î?8ø…À‚Sgr -=q"²-’¾¥¼?"Ô%¨P‹„èØˆD 1ÓöC›-&6÷~h~ðÞÞ²—p|:¤ý5ö?B/, nuŒÎ™l¼8*^-®cÐ œþuºå¦,!¾'·Î^‘xð–¤f†;8‹U€Ø€ú??sw± >¬k¦Ä‡ˆaèÆJÜŒfíœgkpèßCGá¿M<æ¾ã¬Ø †¶ãæš2q“ ÿ¸Få?šã¸2¸þÇ⺶÷6$ˆË£ƒv,…û?à‘ -ÿà -ÿÃLvÃð“¡s??{6´Y€myòW«ªPÿרújê+€½çÏ$ø¿|x÷åÝ—'wß;~éÞîK ÷vï>Ùp²'4€– ìDω m …Á% -°±m€'ËÕ€)vðfÀ‰›Xl°ukëï[y@ -¾Eç±O?%ÔßÖùŸXÀ6ºîü`Û¶?q*€‹ÿX È`'+óaI - `®#Ð  0u÷î>Hw÷ÝZ©«Ý÷SÔþ%ÀéÓ¼rúÊæW”m€•crÚÑnú9VüOíïïßÕ„òŸŽ]1 -û‰á¨ÃŠ2¶¾GQð_¹ÿ€Tñ{¯ XË8Pv.ØpôT,6šÀÄßìqÁÿœKrÌ -gÇö˜‹Vúû+WMªó¯ºÑÒL€¿2íOa P{o¬÷¯½½í³ !lþOI 0}±d2MFýèÌÆ¼g{ϦBûÅP¼#Àã¸Û 9z.=5bÅKª?½Xy‹Ù4pÄá(üwxp½›‹¼“`I|€ÐÓM î~Ôÿš˜à0 ññ^‚ÿì8ÿCˆn­k¶±t'‚¶„ „gõÈ7å‡À0ç~è6hóB›:šýòP€ì#FHS[ ‚ZˆÀ  ø¯Ô!Ä-¶]dkA+…â% ïüÏá€ÿÌá-oÌñ4ÙοþxËÇ_œëýò&€Üf`®v_ãú à+èS÷8H àðå×[qî¦ê¿ádÃnº¾tòR@]æh(é‘U -à¶~ðñ 6ÀþI B€8À¿M´ü÷ú}ëꀞžƒ˜ì8vkÛ0ü×ü‰(À¸Ú¶€XvºFÀ°zÝ7ìŽB\ïhëh‹:šøyaj&ÇöÝ­í*äº.îÛwzí±£€ÿ~:kE8TuíÚÕ úø'°j -õ¡?@¸ƒ… -0– -%T”§^…ÃÖÿ“{¤€5À{&… ¼6Àíäåàa®%®!,a'àÑÁ,€ªSÉÔJ&·m ˆ?ú~ÿoÇ¢T©óÔ ÞøW…i*Ó0üô~©Í¶·'ê½¼(uF’ý`þt²Òï§×QžH¥ƒÞ³£gíuÙs_¾ €ÃnMËæ)v(bÔ`zÇÞÿ=¼ 3€jöŸ>Kü®÷©Eç76Od°­.bàæóãqe¾¡7ßoàe€Ø Ìs°¨F„Jñû,L`'ð3¶ø{<°/:†ƒ]‚Î’©;¦P ú7#âú×Ùˆ‡%Œ&æ–žxmØ+R’Í¢ca_ æLlî]ºÑÇÇÃ_ ïìƒÐGð~#3÷»Ìïæ¶È‡~ñ“sçÎvá·w3<͘ñ«3„_qõ?U»ÿ+HS{÷î½ý.wˆžlÝÝJåÿ%ºÜ - l¬Lp&Àâσ¥#òÄáº7Úð·9ox¤¬×[° Àï[Õ žcǶü£º¿M€èêP€mtþ‰cy -p8<¬á -fý<7Õe+ wª9 ° -F€±»w&êïÔª¾ÁLÀ* üÿãŽ+w® PÅ:t-¿Að?3ˆò/¡ÿÔgý¤ê_Êÿ€/˜÷‰` ¹PV6ÿa ýGlììV€=“¯“P(%áXR¥Ÿ$¶˜Xò2:J`01˜L}ÉÀÚ vÑrç~;ÆHOU»Èé’PšÀ ,€ðâ·ž‹ÍöŸM0þ{“)LŠE ™öcj0 ôb#pjÖ[Ÿ=×û‹ÂÙÄ‹Y è K€–à°ôB!¤Ìo:Rî"¼Xbx0›‡w—%§Ù·¦ñg#b/ñX½!7U>’zÇó ã±Þ4@ÁãÄàÐlº=^0Çãᙄgº=qèq&‘ Ãs°‰QÇ€Y6ßD'BÓÝÖ¿œA]Êà?z‘ˆø°Cˆ§¢dð,Ç6@œÂÃþ?úø??&¬W€72[ÞÈ R&ý€á1ôe(„&À&øû5­üÌök§Î|õ??›šúlÿ~ô¦þ/Æÿ÷Î$ -p˜H@ëîÝ­—.Ø}o7Ž{DþOº, ÅmL<éàN Sdê/àضÁv@€×` -à_Ý ˆ$ -°íÖ§þÕ…êbúÂÿNÿpÍó`_ßN• \!azª¹ÞÈtÌuæš~Œo½÷.F«ê‚cw“ÁÉZŒ|3vÚ5"ˆÍWîˆ`ªöÌÑ ÑŠ-‚àÿÅ©ýû?£ê¿éκqÕâSTGÆÍ7.›7ÿ¡Ç&%þ‡Ÿ[“b˜ìÞûÞ¦º¡§ÔaPuW[±?gGO ¦RØ6½f ÿç:»ûí•÷ý•ýý²À2 @ŸÞœ“ ÀhšË|o½wöx{ï¹ÞØv -à@Þ¿ü•Ñd2QŸ¸9t6YJ%^H ÈÑ{&"Ú\€ms+ÕDÕ€Gc2à!€¡Ó^òÿmÀ Xñy -t)Mº)ú:³ljèæ±ï!ö 1ÀfHCÐJ¦„¸Ü¦Â3Üo¤öìÿXÉ9h U;b~\qAå FJÁÄÁg`!(‘€›º[}ÚÅ:Óª³ã–Eø¯Ç‰Õ0×ü!Êÿ†þ×Gýäãà þ;ß¿1÷F&óFæw8ÃolÙò1Ҁνêzù À1µÛ«.žùjªö³©¯j÷sù¿ŸðïÁ½ß=ä wZ[Ñ8|i÷nui8yòÒø8àÿ¤ËZZ>1Qb‘ ;'xqp©°q‘ÿy¥ k‚BB°ü÷ô¤ ðfϧ„ÿ¿n¤cÛ1BBýclTÇlëT€@x'_÷)€t—„v¬¢ëÜnü*!xŒŠ}$%‚wîb'0áÿ7n&àLüñ -]j‰ü·*þ 0×e°­ØÌÌdwÕí*Ôÿûû…4ª þ«ù4 "ÀiÆØeP&›þ( ý¿ûÇÝÝ—Ñ ˜œd:°¹nê–õÝQYÿåºdPíŸÅþ9Ïh -Àh"ùÑš¹©‚#L§]W¨üítº¹½ýiiDÓ²8­¢Jdüxéé·ý\l6‘Hx½Òpçÿ©àç :-ŽÁ”Ÿ>’¬%n¶÷ζê‡^ÄðÀɈ#ÙOGÕ¿=ZòTj•&O\—y¦øíè!\oq[È%cpñsÒžm*Ã=Z ù|–wÁÐ;Îè/=áßÖ‹޹DÛx–@#‡œùkÚ9Þ€yPÛ4â¦#ð“¿xYlõòÀ_Dãɪ1Ùû§é -rä±2˜ 6ø%FÀ© -VÜ$bSÜèYÀ„ý_ü¯}ñ±‚˜Çüßÿ.CøO¯Â¿ëÛò‹‡Î}ùeÈÞ€mݘÙ~êígµŸí'ð§cjÿ{{ßc -ppÏÁ==—÷´ ‹TÿÌvŸdà8]‹# ¥e¢¥åº À< |¢ €d@ý…ˆJè²m‰¸Ž ¢­ÿº•%€cÇ©þoÜö©(êøÓ¶ÿøl€¼ÕÙ·ö¯¾Fž„t›˜t°0€ð rW…ì;}Dëêšúé>å¼Sš8}åÊáà_€ÐLLÞ¿Õû¶›™œ¡úÿ|ÕÞ‹ûÑØÿY“ÕÕji!¬™p`Þ(+¯Â±Ÿ!ܟ܃+qpÿÏe~ë5"5ÊS,º³¶d¶/!S£YOvt4VUùeqÍÜ´ ÿt]g¼¿E@?DØþúÓ€ÿ®ø£n> VRÞÙs„æC‰Ä×ÿ<ˆ&ä^LoEy(CÔM&F½³7œýÅÃöúºÂ ÐÔÜÏÐéÊ ëÅK$98ùЬx^Sþvå·wŠÖ-n;"P 3¾S40TgÀåÈ?äÿøó€’Ä>|Ъ´‹“ƒ0Gø ÏE Â= ø'΀;‚ý ÐØ21ögDJ‹ Ý#¢‡â ÿâþè¥(:Å §P4<²Í"ü’HÜX }üÑtüä?1þ¿èÿÆ*ú3\ûÿ.Î̽‘Á@à/~B  n˜ -füFwÕWgj÷ÿ¿µŸMɹÿ«ýïýˆðÿ]fD÷\î9ü&(ÀåÃ`à—vóZ€BÿÝ —À¤p b””€ bº¢¡åˆþÂî»E&ˆšlåu˜”!€F„;ö)w¶Éะà­ïëìðViP1z-õ@a«HÓÜ ð3óø4Vï»»ãQ¡k&©¥úÕ°< -À•?Öb »‡fºgf´çì+OÅÿöó{ªöî½8µÿ³~Àÿ«KG Zäÿ@‡/ãóq"@E8PÆØÍ|Àþ÷cfòBõÿáî݇÷H/ ûµSê @¯ÖØùå*Zv4ó&Ï~'8Eùí\ûÿñÿLG¬©pï÷CôQ¹ÿ¥Œ`a• x -  >áM¥3¬¦ÿ*ùŽ À_„®§aL&ÛÛS¡Á¿&šdó‹Hp[Y²e Rg @-øˆ,⓹6X-ñ"ò‹€ðP5oHe[Ì©=€÷MƒªeÃ6؈ÒƒyÙFœÅÆ{gzó Zl€.%‘ÂÛ¶u»øgüÿGXûÿ³÷þ!mçëºhv꬀²P—f’ É÷£‚·ùÑÔ¶¤x¥æO'h6áäp-Šš„Í4üÚi›ï¢`8j×Ä€r)݃âu»èAö&¬u³‹ ´]k±›u¹ Ó?Fj@Hf`C2µ »÷}ÞÏ7¶kMç0³FÛ¡ô›ŸFÛÆXó<ïó>ïóVwKLúˆl×ÙªÔQ¥+r°T“ÅüE>]ØØðú‹úŸÛ#èþ7hE-]äF*­R®î+XT²µ,½)!øðòØ’›þ'ïMü/»4ïj–ø/¿ûàÝå;îÌßy Y˜û`"¹•uü :¥Êooþ›ï¹ß{oå½ø -?U‘,øpÕ?BàÁÿèœ>wzãÂé¥ ˆLŸ"à‡à¼=}›E±÷úõ/˜xpíñ Р_ó¶èWGpjåò×hÿÂÀ'¶_¸Ø«Î~Ê“€ŸøáþÿûAœ;:™ttÿ›Å¿¸M¡þg$má>—ØZ\õX¡\%ø¿zu¤Z=a=þü ‰À,üówÛþùŸÛþò(ñ>^óùÊnÔe‰àÿÒRsUÿ7oöÝü¸ïýøÜÞ•» tÒ{õð¼ôx’ËüT]ZË[àçŽÿi.ûÏ .çÆ¸°'ÀØÏËð“ [¬\ÿ‹@ B1ú†ÃÒÚÚ•†OX«Õ—ÉÄ ²Ÿ|2+’ÿâ™80<#D5XPÔö1âq $#öÜ%4  cúðlöÙ,?}õì,ÅìþLlÈp%|ìµoG6_Å»vMuA²¾\cP/‹¦·Â -<á¥"úÿpZ,LO`ß7Uþûd…—è@…w”¤ôšÛ€PóWF¥Ê(ß—„€}€é ¤”_·¯»·»¯M€þ~‚ÿs¿:wýtéÙ`p{â¿“¹ÀíÛª ܧÌ*¸.™Ñ žÏpkæ~‹Öòy‡ãúõë§þÛm‚ÿ¿cÀEä\¼xá׿þ5Oÿó$À;ültš:T€˜@ªÑÐÿM&1xp Xð#õ\ƒð½ç=ç«V‡yïêŸ7â üï^{x÷Ÿé¦íî/o°–˜îëY% -°”g‰hòþL)‡GóX?Ö¼:†à¦nîÞ¸Wèðzô  zn¨.q°va1½%?ãCI/À AÿÆËcPDSàçµ ðp€šë[`°amx÷†G‹ £—>8ÿÝäT - àøä“[…‚˜î7v4ÖÄ#:5 -Љ@ˆØí˜ÿc@[cõßììÉY®ÿgÕQÂ! -ÈÄFG EÖ~¾˜yæí*Á%4ðpI©ÕáØvPÝĸ„vÿÎý;ÀÿÊÎŽwagÁ{WO—îˆ^€Ë䥧r½%?ßc?èìcÇ?«ÿTú÷,u± géÜxÁÒ›Dž/ûÞ® -<Zå@# p-H @ZûhØñ g?¹Z ÜŽCP·Üü3òC(F€_—0 Û#¹õÿN uóo àä³ÙY¸ÿ1HÐ6ÔÆé‚ȸ´–yœu\I–uÓ¯àMyµØÁSªWA˜ ÷X ªçæð*< @§J€ÄöÔª‡cn¯7zb¤ Jï¤èÂ{`ñ§êŸ—:çš4j®Hô1пg>˜ŠGÆâž:?­°˜üÆ»û4¤  PYì€ý$¨\eM¿ øzÌ Í_\xA2o -JÁ¿8ô‰3É*ÿéZ ›r­ŒõJ¥cò6½²¥`ø˜\W§ pöìûÉGÀM;à¿0_X&ÈgÔg`~-ßiÇjàáÍ-kµè(¾V ®H¿û7ÜïÅwÜ^º €tû:;}téöõwÿ»{¡l\è¿ðÿ]@? ÿQ¸Nw&üïB`ƒ}t÷¶ ·Oý‹H n$™¥ë¬k¦§ä)+¯ðû¬ÖÊÏuóDðÅþ‹½ìx§•Žw>í€÷Ÿ(1€{?]Ðh¢£ZÎÒ"RŸ(€‹Ï&nœQ›^“wïÖ÷Ž_ýï_>ÌW=Ömçµ/ãwÿ|íáŸ_l<$p- €µv˾ՑՑžæÄèEÄfÑZa¢ÐrùéóïFS$67¯öÝüøc7¡¿ûþ -+ŸÑeêÿ…½Þ»0@賂Þ+D€·ÛÆò¿”äcòÿ¨ò‡€aÜéÛèû™=cÍOÿõ¬nWŸ¯ÂZ쪳 ¼VTŠÒ·k—>øn @DÈ>ûäsÑãçëY4ò‡ë Cþ6˜#<ÿgçÀúOçÌ3àÿÉY >šÍÄt¢mЋEÖrþÑl1Q4 [­G¿HŒîn—, @¹ìpˆ ÜÒŽUÖ*ÇÔ©@±òå2nžб­Æê¼zÔ€ vùÃf,¼L Àédݿ»€Ä:€ $x -á-Ocá÷*»u±¾£‚¼@æH(<¦”Ê5Æ\ýÊaÿÃU¬¤$ÂAu]€“ˆ ¾â(3€‰ÀÈ›ª!]‘““•0z åC ïçrpÿßKM¦Rÿ…ùe>1ì?WwÀ°\piæÞß²ZÙç˯ÿK•nÞxï®ûnÜ}×{ÃË€ÛÖé£Sgow¯¯Û×ÛÛ}±ûâEâÄúùØè?׳qúÜÆÆiÖþ/³!`£kã¶ §n à_Ìæ/ˆ|a6§Íf³ÇŒ>€¤Z˜¼ÊoµZv +þÓ¿` À§ïô¾Óûé;ƒ­ƒ­¿Ç&ÀhG«ÿÿájRõ~"¸«濨9¦|t-)À“Å4Ðhè; ¼?öçãÇ¿üó ö™jGåøuÏÝ«/Z~yíÚ¿ÙuùøècÐ7Ò72Ò362æ;K,À P–äb`E(£¿€ÿ›7Wéô§¾›ú1€?&°bûÝ -d€•ÅïÎݘô/Ì+ºè‰/PÞBðëÅó¬þªõ6¬â$6p´2ÀÏlÀa€¿(èÅT çÏð2 µ €âÚ•>|iv:€œÍ|ò ½(ÿ9û÷Vc5 êÿYq¥~NK$û êâbþ/£f=;ykvö1\m< €ÁÀXbôÛ„ÿÊùuó•Ùâ‰âÑÿG€ ¼¯H!EÝþ×%Þ„‹wTöãm¡Dèæà,È{Ë×þLz‚C—Ž ¨¹• šÿ£i§sÞ¦ÌiÔŒÁD^îÖ+’â¨Ëô¼èŽòýÛëå,«Û‚ªµýí}ç»Tûïò@`ØQu ·QË‹êßÓ(ý‘¨†Ha‚~\‚(ûƒJƒÈøèÏ €\÷k2f‚ì±€Ea{÷'BñãP(—œØŸl×h4®ÂòÉå“dô§âùs€Ë j–ð˜þ?g_ë@Àd´ù¦ûîÝø]ï]ïJÜëöºmD|nc'H@w7Îý¾þÞþ‹téçK÷9¸7.¨€@×Wt6Ü>è\æ˜àS‚`K70ÄRbðÊgþ˜€ øß €µþÑÿà`W4øoŠºš:`Ôjñ/ÓE°þ £iKYSâÆÍ¡€Tøy¼9}~{ìŸ÷ªÎ±''þüD€ãBxxíø üä«Nÿ]ØtÉLjèri,ŸË;`DŽI•FâOsl8Ý$ì¿ùñï>惀:VV>£ëÅ••¯wÇëàN€^„ÿoZIJߢðk;ªJZÔÿK"ó­gú!@ èù™u‘<çà0¸`8\ †‹aóš=gµVÿB¨ª«Ãaø/ŸNÞRWˆìßÙ¡F`Ѽ 2][<3¬v†CB$ó×>;9ûìäÕÙ“'¡€7èDQCÌ/ù“~ÇcqÖÿ -t[n×9 FNˆCÞ—Um»µûë°º @ÌÃÖ½ "³Š~h“m<¸ÍÀ*ݺbAq%^8j–p‘¸# ÒxÕ1IþÚ¡ÈUåX˜· o™-cÏஞ"”:È2ý“ ãŠ#¬n<ÿ ÿ/vXïçèD{ÿ胲ì(; 0@{µŒqìà AõŸøÆWÜz¼•›HnNΡý¯),þxr~¹°Œžÿò»®Ø èrÝQ€{¹­·Nl[eÇkûÍ-—*ÿ:Ö|ãFø°· ÀM'0߸¯^À^:÷#:‡ûl -¼@ ¦ÀÓ·—ÄL@×Ò™`ýÎeÿtù €)€$(·Jb§ã+¤;牘á@&刻µUœ[;;¢höGµœù—R“ L©cDè’„jÅ( *¸Ä€×kzHWN°çw¿¼zÃjuì[«Öô“êµk•æã2ØxzÂçö?6âµv³ìâëöuöõuÎôõuÐ1Æ]±±<3:"cÍ=ÍÍ}†›3t‚ïïwîÿ+÷‰¸þ¯¬Üg@—E";`z½:@Ï^€ï¡ü°ÓÊÕ·Hüš9“Óÿ6–Dþ@×9ÎDñßµÔƒ~ÀÏíYºÀÑ@õZ]L¬…ƒEGqMJNÐ/Òw{ÛÈt'>ùää­“„ñðXø6ÀÂÐ5P×f ó?ó| 0 Qá?{röÖÉ«'Ož¤¯æ.;±=€lÄžuІ¡â‡Gþ;ÂûoKTÐ 'P®ÊØÚ<¯ÇÚ_©rÌÌëKh°*¼ãîðžò°«ù©šÒP/;‚‚¬ù#H’*Ît8ÝÀøáÜ•W€ÛŠ\—Ñõ1~fõïùV…Óáý¬ÕyúOVÐÀ.„šèàC2† ÐsЂiá•jd!p³4¨Îûñ`Pí°¡_.£“‡!/<&•Jµ:,5ö;üí?Öb1»•K>ÚÜŸ#üÏpp@£¹£iOµ·³ ÉÀô°FãšÜtœ'Fkuȯ­â¢ß®cùæï­Ü]ú{½q·×b³þmîNc§ ¾qïE&>p€þWàÆé 6nøEàÿÕéÛ0€ œâÍ -JOŸ:•¾|JeO…@©ÜõêÊ+Ùá¹~§YøÕ…‹Ÿ -ðä“êüoÿуå¹ZÞ,ÆñPÃÿ7 àô…AÑðê½—ñïYã_^5oÓ{–ÇYµ¶=Ì5¿÷Âj ëü%ýFz…éb´Ñ¥ÓFw;ÝF&_} }=è -DzF–"=Í(ýGPõߘ¹îupãã7ãÿÇ÷é¼ `a^ÀÅ|°° ¨ÿÕß§\®TÌÁrý-¿ù??¶´qvÃ~¢ßá_$.q+@4Þ`@]íÉ>€²¬zäb°¸ö­ø|õ¯$€Æ`1¹úÉ<@;CH®‹Çö¢è§Ó‹QCCºúÿ4“Àæ_Z ù'Ÿ¤óU–p qtP‚[‘H(” íÓkW³Å£îTE¢Ljy7€–ÔQ@N@À±R©„O3@Ùop  Æ‘‚UÄèaû2ïôˆ?í¬„*•5§3„`3$ôzKÿ½%y_‘²€_ŽuûD èß)ÃPxùMPä¾¢?a©!û¿0X’‚a•°ê0GÑO¯Æ -BƒÈ5nȼÊêr©´[ßý›@6›-æBÓgsÉRØû[0 -‚ÿööåe×½Ô²†JD¹`|—XAjó|6ûOÄä×å¬KÇòa|ÌÍ -€… Âí% -`³YÜ)0W¦¾Þ‹¾^Ÿï¢¯W{û/°ð«Ó66 lˆ`€¯NwmœVñŸ³H QÁé49>Ê,y*N/k0¿²FÀþyá¼Ý%$€_#xðÿ¼x1«5b 0zþ.WUþ(þ£¼ÈÄQ€Z‹+£5Ð/2M@Yhíìï¯ö}yõfuÛ:¶]}ïê‰ó¿4Ÿ¿y\„¿ædüïiýØè»ß ô§[£Ñh£‹;eÄëO4`†H@÷L_ß Ì„û¸G…Ÿ˜÷ø{1öGçßÙDéï¾o# -€ºqgç³î€¨ @<9ߣ8÷*DÐä· àuü>VòK|þùËSÿ€ýF+`¬ç,]¿©@¸ŽÝÀ0†IAbYiÔžµVÿЍméâ‡ÉÙÿòŸ·nÁo‹'è/V랇4ð?£‹ICœ`=£ÀˆÿŒ)ÀÉÙ€@kÃÑb"]wdìóQ ·u*TÙ'—”rµ,<lž‚0 Ó/*Z‚€=øÿƒáRgèj‡ºà–)€x¡©ü‡ŒN, H?žúGÀÉa€N‰@ZJ ýqE -=](J©$ÿ£ü}€§ µê7Å¡T÷—Ðêõ`w…ù{—ž ä7c=b¢C˜ž—8®Èq°>IÌž` £?ÛñzQõ_.•¡`Qmt<ý±SÙb¶¸µ¶õ87:;®ÓöRèô§tˆÔ`#б äÀ…)€ÉÜVòCë¶ÕúºZJIÊ_j¾yã†û.çÆâÚæµX,nKªÓ–²±@ ~/•þB ð‰Kÿ…‹1à\ÿé®ÓK§OßÞ ôß8`|\Æœà4]€ÿÄÒØàä¡3|LJ`¯ª €Å_œº};.üê}kÀþqŒþÁüÏU¾F›Š¦Pö»RË\ðcƒŽVìàU@hhMÞtFÀ©†a•ñ>Ô?Ô{½ìðÛûòêÐ6«õ†ô$äÜ>ßv‘ÿpí*rW»Œú[ý6ÿná¿…(€^ãx_'´€Î¾TõwÞèÈï¶¹Wèçä¥"Ÿ®âwyô~z÷m÷WpueÑëôÓeíïŠÞ«_ñZ@¼ ߣ,-å‰H%Çþ[@~ÅÕ¿"íÖwm,-mp€—ÿŒ‰Â_ÈôÙ%Nxc À 'à ï€W¤pQv¿ÍnÙ§¿CÄW:²£‘Ø'ŸÜ:y;ç¼±¾1±¨± ˆ @"f§ÊŸàÆn+1ÿ—aÀ'è¿J§Y‘'À+„ÙY\ Ù‹’}íÛ«Ùbèˆ5NƨP‚µ:C/ü –àüç$  ‚ÿ0 µý§‡»àn¿†…9µ}tªÜ?G€ìYz¿$UF£ÎT‘œÌú<¿‚½Àè°c«ÕïùÁo#¸€Çÿ0ň†&° -à]d`èÏ_¦¥/ÔbIàË_ŸüÞR>﬘Krí-&¿Ââ_J®ô ê7EÛÆ–XPïþ €C#Y@b°V+ï‹ábx­t%)ëOZU…@†_À!å"†O>9yòÖP›Ž%{$ùµÑMŒ—Ši! `×!×Å ú3†Ä ±>±&·Nb—dà B†Ät1dx¼fp\*ŽæŽ˜"|¯Žý{%™§ÊŽýª·ƒaà 9kl$èó” ´—8Ì_^´ÿéj‘ª¬b ræ°Gì"*à­¤GÓ¡Ñ´Y5@#¸˜§P„«o÷¥ÍÅê70T÷Õ%PDJØP‡A¿¬;‚aNâEÈÁ°üÇö©ÔØ…$Y`; X™ ÕY€ Ê¸7àh˜q¥°PðÃhY -£›Bÿpõ…M?XøP" -ð8çç€öÉÔIX—5®w5ÿ¶9Þîjçmÿ698>ŽŒMjróÑ?å¶¶²_ÁHÉKßtJÒèo››O¸ü·Xþ{-q[Ê’}Dz{[{}*ð_lPº‡ã>Q€Û$ôß °oàRƒ\‡h|!•<_”$ÔCrx^ ¨"Å®Óç.\øuï§½­ŸŽ0R០-€†³r´…nøsæ/Ëø(EøI4€˜‚ÿ‡‚èU.ðÐ{6@¯ÞÛÇÒÎù¶«Wù0’?Q=ß|~{ iWïr/ÌlDùOõ¿¯ÕØJµÀf ÐA<@ -`ѦŒ©V0·±ÓØisÛl67Õý6/Ý®¸ñãBIoÒ#ðwa`aÅë]±-®èP÷ß÷ à' š¶â‹ô•øÓzù˳º”'ÀÀ“·¸üªŽªGªìaêéàèQـ谰ø_¢ß«§?³§hà Àï¿ÕpzÇ‹ª°ŠÙõÿB¨6‚‹æõ$€“ûñXÜ>šóÛg3:CB °÷?s`˜3Ó™±„°‰è€Ù“Ïx -À¬'  ö öK¡lB÷ah]Ö%×"ö#VÊ\ -—ÂXª¤j#á Î¨ öç(@Vêå}ªÕuÅ­ -†ô×ò®†2¯2ó2^$Vœ¡Šs ~@§dNó" $£KïQèDOéo4Üý¾9À§ûµzíÿ¸Ë°þO.•ʽ*çá¦?ŠÅ Gzîÿoè  @_ >"å@â  ±ôßHV@tê˜Làÿ¥ðý>­Öd’"þf¿5‡rÛšÉO75í˘¤êß5y/Õ®y×E `r2Õžº‡5A©öáôþã÷·²Žâë!Ø8Ö|óFÜ}ã®—×ÇB@ýŸ¢ÚÒmIv|ÆN'Ÿ¯µµµ³µ÷bk+€V!  @ ÿa?&7NÅÕ+gÇP®?€óò4¡¿“ñ?-U¾¨”$¹äQƒøJz5 à ºØaÈkú?%øoìHEqN¹´tq™– ó5t­m¡û¦–ºáúßÄ €Úº,šãŸÀ€é®i`gz€_Il[›¯]½võêUëvóñkÕêÍã×¾|ȶëÁ²µÞo5Œ­€ýT `³,ÄlhÀ¥ˆéb³YltöŒM]õgYñZ = è‰|èEìÿ¢~Ų¸²hX±Ù>þضè%ð™à‡Vàï@$ ö{@ž»Ðy'1€·À+Ã¥²$‚ú»xp‰sÅFÀ³"ÿO0€7U8€µÈ'@ƒJ±T KßåbÑ“-†ü'¾cØ®ZÙ+þ†‰£­ï¿)Nf ‰!÷ɨ‰"ˆÊ‚]âœCécub€»'¹0 sN´ bÃG¹5R*ráL(Ò¶~Äá¹r — ü„€,PQ8 €]aô¼Aˆ9Jž½ÃQ€$Ž!+ïjrƒè0ðš¥t%D˜?ê$ -€Sž €É‹j;8T®#Ê-ýúËÇ`¾‡Ï°^å ^ÿCå¸\?V¯É’$cšYGR°d¢ÀÕ?=â@JKêBE¨ýau“€ž÷X66(VËAÖdŒ[ n)|Œ{-ÛõúRIÍæ’ÉäÙ‰öñ{÷~3®™ÇΟåeM;Êÿ¨ÆU¸Ceÿ½öñÍÉñ¹”¦=•¼·¹•}”Û*žÈ¾€E2˜t»ïZÜ  Uâ„1Œ]B0ÚZ[‰ô¶úøÚ1ÕÿÁ. Mÿ¯úû7~EèõŸ%€ –/Åîr¼eåÎ.§Óy;<¾l渨 -¶Xy$!ˆŒ`ºv8äWñ{À„ àÂÅÞÖA>PÿcÒ_«qñ8õ9ËÌVþY€÷?E ¯öÿê½,x‘³çåíÀ„ÇZp€ËüߨëÚñãW¯ŽíŸؼ½=võøÕ먮ÏûÐôoå3@‡‘¡_K—€EKD ˆj©@”¨Å¦¥G´Ä¨|÷Ú¸Ž×ë‰upÚ?NHþ×/,è å óm‹ˆ"&@|@¿°è]X¤OÚ¼ô1 †—€ƒ4ðÖðjÅœïÛè!Ò¼´…¿lX@Ñ` àÒÙ.¤ŸÛó?Ì@õ@äà€ðšDï®TXÓ[ç­Õ¿äXò¸ -ÀìP<†tÿLBJÜŠt¬õÓ5<€,èbXŒ‚>Î.ÀXœ@F þ™U“‘4›‰ eX'@€ ßŸ‹øC¡Èãìþ6ÃÑ.@¹†¸úR¹º]æt{XÛ¥’‚ªŸ]oTü ]Æöµ—kõ§‡<¤¨Æ3± «$ òŽb@;+æ -F¼ ÿ›ÕxÉ#É„¸åºDü„ú¾´ÀøO7Õmv*¼Žcåj fuÉGýÅùrà «>µ DäÑËÝÉ h‘„ùÏb“ °Ôke«"9`l”ë5E ;V -#ˆxWQv÷Ÿþhàø6»•˽?±91™KMNÜÓLj` à¶·§4ï¶»î¸4÷îi65íšI—Fóï÷þýQnóŸè¿õëQdôݸ±wÇ ¬0ÂŽAKŠe4¡©ì÷1JµöbX ¡9 U"ÀËt/b pã¬Dx&àœØZ:Âm˳Ð-{ÎËνËô…3]Ä$€êWB pýÛ[µì¹n>uª«KØz{[Sƒlüã¨_{ Mõ?€1ÿ––åeü¹L‘lqyYóç c0>ö. rŸ`Ù¢Õk-¶³l~ùçãׯÎÓ;רµãÿ“Üÿ©Ü·QéßüSùoŒÚ´Ñ€Ö0´ÄEˆ¢ô±CtmÓóÅK5¼v¥Qôó1€C¯_Dôð?°c»oc à}Øvõ;tZÜa# D€ïQ–òy›|žÀÛ<€W"ÅUòK«ctö/õl -¦6º°æ™týܾC"…ÿ6ô6^º©¾ÊšC¡ÇëA€¿ø?}%iˆü'€[XÜ3 ì±L›=Ѧãð5 Hø9ò?Žs,1 ïxAàòŸ¯9=ÿL,Ñ–0Ä͉Èh(âß -&‹†¤nö(›wËp§… ²Ð`ä -Âò‚5Xp âEæ–ö÷mùÛÁ¿&èXUuò.düʤ·ôÑQ'öñ6€4ˆ‰™óúJ÷à•r*k8è»ùÇ— mÿi}¿Î Ê[d™Ðx;Ìy¾Áe¥áøcÿ?ëX,L¢ÔWaàÉ?Œb(!ˆm $$"Ù ÖkxÙêÕ²rLRÊO÷a(×ÿ†ÚçýâôãPÎÏÀðæoÎFÛSËTÿk¨üoö»Ú— šÉÉñ{“×”Fsor"wºeµn¹}¿¶Áµ<€û†›Õîÿ£ö÷Â|†b3ÅÛAèD°ÿÎÅÞwZN@¦z/^èÇHài$ - ÀÆo.ïiF xór -ü§sºRAVDã+ø%ì QÁæsGÿ–ëá@ ÛÀø ¯úѦ\©TÊÅí}$ü-7BþZôƒè=“‹Ér0þïUi€ê‘⦼WëÕ‚HqàüÌñ«¾å¶n;ymθþ­6Vÿ[ ý|.ÿÚQ€‡MiÁ´ü±M«Ðß)PDcA? 8sæÎ,€Ðõ±ý¢Šþ•EÛ}P€ÅÅ¢ -¬÷RýOŸ·ÐSû^€‹Í1bs©ü_A@bÒµŠsp2à‹Ù?f„ûy¾~“[ àà+DÚbqMúV‚ Kçé­­ªÀTÁjµC¹ÐÃHäËã¼ÈoH›#L‚jÅuC™ƒ=:¶ªÀûÿùˆ‹bp¨Á†D˜.–j‹ À`ˆ\ò?Î^I®_Z»b0d"[Gø&µË~x¸ëV02b•¸å1iMlf}p+ôìrýp§Ä¦tÿ­M^òSVÒi$ó# «F¼Ñ€\‹…€’,!¿¿.‰=ÅÊË€í§U5Dô£ÿè0üùØ'dãAÚÈ>f2 plbÙ_ýð0ƒ€Aƒi ˜ƒ²Ü`» 2e„'nïcçP]9v¬Ä©D?þ%|Êx?w¶}xrP3=N…þüåå‚«Ý¥)¼ëjŸ#*rMº&ÿÍoOn&s“ý“|¶X|ƒ€O‚gs_ߌÛí»-–¸WHÿ‹–`:ú ù[áhíGéÿ×ÿ­¼P÷â¯ÿ/^ìçl`8ÑèéYíÁŽúÃXÞI¨ €ï±"ˆiˆ×éÿŒÇC,ZÀÑ«5•\8}¡¿¿·w0ÅG”¯´.—I¦åe‚ôe–ô9ßgYtT´·@ôÇàŸW؉@=({!°ØðRj-ÆSø÷óÇ¿¼zõákWE@uƒ> @À  ÃØaëtP½ê6€@“¶qLiõ ú€M¯µè‰ X÷ÿüÔXX8sF¿00§_@¿¸¸è]´‰€P€••û;;Dl6Û"¨‰ö{[ °W‘‚ò[|>rü/-úùEgÐîo4Š~¡ÿ£ò§Ã)€7“T¿ƒÿl8“‹’´&­e¥¬‡À‰ÇÓ¡lö„£è(sŠšÕzÞº|‰\=™™½u’p>NO`έ~]ìy Ç´a³OLùý:q `›ˆÆ¥ÀQÀÜ:È$2Cºý1l Š ¹µ\2bð¯›ý‘Øúèã£UÊe¶Ã  ƒçá= ¦Áð1± -€S÷…í svtzºÈî*;12·ÖòéJš—ð¦‘TJ›œæAÀФšñÄêØ„ ;Äû¿4€ð›-€ÈþWxøS–……/ÌÂ?0"øÜë§*Pø…4ÐpùÚ?_+XÿÃL „5Â%I´JÂ/HuYòÐ=¼nÛUù…KÇŽ…YT¯W÷¬×¶ -…r¹drs8Õ>ÜžÒ¤R$ßqÝЮIiæR…;š;ã“gé+C›É÷‹ÓïÙâkÙPÍ QÆë†Ðditÿý6.^-D£ÚÇó­<ÀÀV‚ÿ^îôÒ.lô÷ôÓ&==c7±«¦yl¬™NbÑ-Ž=¦ì@" ºH:PðìšG­œ0è:}z£ÿâ§ã>apEyÏŸÆ¥% - þ¾‡¼ògy@ôû§,*þk{€ÄþŸ‡¼pjçyõ6t ÛÓ©‹ºi®}y\lr1ãEF¿Ÿ^\~::@FQë‹¢?%ðg`,Sz­žê÷®øLTô,´œ8£?sfÁ‚Õ¦"z=·þé°ÿVD<àâÊ}Ë -}/UòKyVŸó•Šçí^€£>êAªÿWÇèL ¿*†Ï-½ û?o,uå–øX@<ø°j•Ö¤ÇkÒ·„þ¬är[Ù·è0 ·ÜlÎï÷G’—ì³<îWB“Ÿ.N×<¨R€ pžBR Ò?¢€ãTÿ󘡼ꘅô?+Êÿ!”„¡!ô82 òQd}þÅuÿ•5"á÷Ýÿ B'ºÀy¿Š)‡˜o—1ÈS€HÝ-)l »€±Coûp{‚!°Æè/‹)€`8MÈŸwqÏ9š6# ÀL€£%IáÔ¢r5Ì!ÅJs€/ýë¿C‚j -0g–ÕÄàøËJžà÷_%ìŠTuÿ0£?=5 >˜Šˆýã¥üò°K‚þ(þŒ\ç, Z­\/¥KD‚š”báð1zÍËØLTûq£ÅÜt.711}î\oïxç`*¥gÓÒY›2t‹ˆ¦8/®©ú† W¥ïÁ'¼¢öסõ‹z¸öèoµE}ÌNÄÿ|üÚñ>`´Ñk̆ÿL€£àh0ôÓU@€‹~JÐã¾^æ=þ½©Eß2°`ZhY è0 ;z0ƒ)ýÔ‚~!Gàz hì,xé®wÇ»è]\ x/#O^Æðó’Þn:jü¯Ð˽JÈà{q«ý@¾k)Ïåß\@]î˧ í«Tÿ;‚Eé[IzLçâ *þ‹Ù­éœŸ€kÚ–Ê­’ICÒï¿ä QY¯Ëœd‘?ƒV?BfÅv YNô‰#((Žpߨ C:¾–»Xú“@ôÿÿo•6´ ë`‚û‘uC!ƒ!)®g±äÑ)(PëJI:F %ïÓ[VPVÓ‘±ù/,ñ -`„(Kûþ» Rø`Ð%L% §Š4]Í;+kˆ -Uè#¢kžJP-ÑaLtìî#jI@„ïåo¶_êà x1P+—x@°‘ýSòüEâÏóN@)ÈJ¿i¿¼1 ±ñ¯÷‡ 냢— c…ý¥åšÌ+é Ñ«)—Õ -õ2fÂaŽR~l.ðÚÙ¶N´OlŽOFç1ðî<•ÿ©#@ðß>¼™KnÞÓµ» -ís¶¶&²Š‹×ÑzþcäÛÿ/Š)[ÊkKYF[[YÀ, ¯é`!€ÀI:y"(ÀFÿ9Bÿž~zGkîi^½yó¦ `ì¦PÀüG™0þhÜ®›Ù À"@úˆ¿«çºùvÒúûÇ ÿh ôO«Ñj5Ï÷ü¼Xê¨XO¿ðü©é¸ò¤ç±|/ÝPÉZ,QbF1xãêÕbÅ»j|nýwà¶cüÇè£):Óá¢êjJ ü×@ýo¡»SHÒ €‰ê>ˆ,´è¹!°0E'à¿þ³•û‹;Tþß_ÙѶ³ÈYA„ÿÞÅ—wò¬9«À^¥~ËŽò+yì÷[à¿ÊÞ¿¹€š“M€HÕx3=ÕÆ™áF´¬Žbñ[)z,e¥Çæb6›5g‹ÙC[[Ù­PÈOÈOðoøÈŸóÛý†Ì°AäÿaÆØH§ Íê˜p¢¯.®:úclDç?> 6Ñ ðŸUyïj‹‰Hà˜¡ÙnXÏù§“‘õÈ·Òú­Lä[ÈÄUÂázm_‘k ÜÀP@iÂ(yÔ\”À -/¹«¦ ºÍæ?ºX˨êe1äïKØýcÆ& 'q,z ¥Óδ”†ÍŒÙ"–_±–$Ä)<ð2{úõên]Ùeã/BÞ¾þП yIl@C¢ð= >V0¸×Øì/8» -%²…yœ0HÜŠ·Ò¿'£7@´É -¸¯³_Û ë`>Ø«ð#^Êœ?w–À#*ñÇ7‡'ïˆÝ¿Ë®övMª}ùÞü¸f.™Û¼çÒ¤†Ú ©vûû¹äû'¬ÛÛÕסì¯åGú¨þwÇãq‹%.€,6­3g˜8Ù´­¶€˜RÃU§Zë%p±uðbë;l €d@l êéïß@ûuluµçf3ÁÿÿI àæ/V›—šÇ~¡2€4 €x*Œø¬þãÆÃf@uÕã_'ÒéÛ]§7.ô÷úzÑý´ÖØñWp¸ý³à(í½jØ¿Ú÷7±ÐkÒ[L^Öæ ¡ÕÂÆgë`øOÙ„ :ÒgUñ}~#ûFnýwˆâ¿£‰°_«m‚òßärû§\S@~Xèõ½VßÒ¢?³Ð …Jÿ\› þ3X˜ÂL 8ö¼˜ðêwl‹;Þ伌„áÚIFIÂi=’L& èíë†ý1¶¨×""ïŸùAø&g æ ¼ñ÷ùÖ!ÿgtê=´  CFÀ+þäãQƒîŠ$2vÿ‘lC&ܬïÃ`À^ÆzèýAi­‚"˜Çí9ÿ®$Z‡<P‹€¨F'HuPõó„þ`C‘§Âo!3Oæ¥+Es…ÍùìÌSeP– ÷öë/SjÂðÀû•2r€ä§à­Yð/‰­AÁÄä 'Vþ¨ê¯ïô÷áVàÄBNúÊ¿–½‹2ï(ÂH€0 i@r0Œ¡ÀºþÕz˜Žcåz F€ÝòÊT:{öìûö‰‰‰ÍÉááÉI," -ð Ðî¢Óƒ;"ãþÔ×;ËFî=šHn=¶þÈÐÁÃÒÀ+ù‘îNw|å.'jÕþ?Ð?å† e´Ä  -`ãuŒ Ø(T É€ý±+¸»¿ŸÀ• 8‰cL -á?¯¨ad -PQ›þé 3À«‚$æfI:bodÕc>åì:×ÓßÛi.@‹ðßÕ²ÜXñ3°¬Vÿ^Æ{ÈïÄ€¾1ý¯Wÿ.“ Áz“E‹QýsÃÞ ¤°FÐÕZºŸÛ<b²Ïµð· -ìÇ)Ê·MtšÒÒ…®Pý»\S.}÷L-ˆ´L¡  B¨?в°`š:3µ@ åÌ€ZÿüO ,˜ˆ°î¯¿‹ÁÞÅË -G¼Äâ‚ <‹Â¶éÜ#º&)oÀýÿSÒXð¼*D—†õO,®?4Íœô#q‚8—Dª¦óÍTÔj³\³Ö0ªKoãìö?_”Bk!)[ôì;è(JÙPè1 WÎd$¹‰øcöKÉKI¿?‘°æ2QÿÇ8ȰÇg3±L,¡£’ß ‹€úü9žÐA#€À+€Bý“,ú±˜óbm³œK$"‘uÿ´ß`OŠßF [GF`D(~˜ý}¬ðV\xêƒÜD °Ë9 h— m‡=X¥a¬•ÐTi„ñ¥Ó£ÎP…sÿ0Èq£.û1ð¨&@¥ ½c€p¼ô™í?-³çQÆþcXø‡ÂÆ~øaI)ñ@ÎöE€¿aIŒù+åFõ_¯ÕĸbUl/Æä1—oÚuQ‚2/ ÆkZÆ^À]+Ö ñªq‚ò…ž+½æ "ôrÊ» T?Ÿ“ɉ³›Äˆ ß)´k4æß]~—ÀM”>" -àj/¸Ú5t¢óÜä£Gïç²VëökvÍ>ÂÿΓç`Uþ·imTý»aR3úà¤7ðX«p9#@?€nßÅî~:¯èé^]½¹Ê&ðüvéþÍi^ \AhTå ,¨4LfÏu‰i€`G+X¥S]]父 °X\^äýjRøsi\ -ñ~ f,&á! \ê&=õ»% Ø:R¶(mKOtZó£%z@¥¿±$€°4á‚?Šåƒt‹òŠG@K<ÀD7Ðô¦ªü§¨è_8£?£7é[ˆ,@09ÓÂA¿~A¿³¸HÀ»³@åÿ}Ûâ‚Þ»¸ `å%é*ýŽ=6o5€#’à$ôÿÿ4Ö¼ºŠ)„ý/ýõ Ï4 ß>æì½7š(rM&P“ËP›é-ÜQ\ÛZ›^ƒPeDàüõû“Í»ÁoHDþC—xúŸ-~q±¿×0’ˆ5Ö’‘ØPÿg€åñ ÿq ;ô¡ÀÀøÕ‚º!± ôù6úÊÿÇ@¤ÃŸ Æ [rÈ¿vD«\`,+OvˆO°Ë€-î¨Ø\…vIí—9 ððæxµ`µnåÀD *6$ºò¸4ÝÑ4/9N.Õ‰$”˜ (PW¬ â¯þÍË-5Œ<Ö‰èwèd(ª«¿(Iab=á gøÀ Ȳ¿ª.ËŸô( ô³ _ˆQ?|/%þÁ2¿\+#‚¸¬8ÊÅj=ü5\X €q„ý‘‰>‘|ÿ$€‰¹áá9>¸ÃY®;ó®w5®åvMj²ýÁ».H©T{tróQ2·•uX_ÀœÁzìþó>ï¨"€Åæ6º1 ôªümF·ˆØ|½˜èmoí}§õSQû÷övúSùßGçÕ¾¾Õ‘›Íj¾¹:F`U´” L. `æ@`¬äa@©â5ÿuI@?Kî3vþw ˜ìà[êý!®ùð¬ßù=„ÀôPO/•üáô¦ëµ^-»õ¸øÇ݈©¨1 -#Ày[Ê«µpÎ/}ÎH?8@”I@“¶©‰à¿ €( øïššÒÓeJÏ ý!| gL-hþOi¡çr†žÛ¦ˆÀ¢@àÌBË‚iAÿØ¡ÿ€^¿£X\±aO ÷%€å´Áþ!ì½ÕŽâP¤<•ü« «œø¿qPóÕµ×€îI†ˆö4ç÷`x“€*GÎíb‹\.Jk[ÒyBÖ%tNd‹l\{¦úŸÊðÈHÌ@ðŸ°'#Id8aŸÁ¢¿Xb.·GÐáÛ€‡¸ `øÆ@NÿÕÁˆAÁLÕ?ƒ¡džÑ×"ú?±¬Ð d Ö&„][,B ëO†ˆ‰‹WüG£Sìì×yp°\ƒPä9x`Xxޱ¾$„v®¶ÙÍ~ˆcÿ˜²¥f{ž¸ÐôGçÄBq-- -73íá(â>UÂ¥ÿ%<ßÁR1PåЈî¼ÈOæe>a¬V^q¨Mþ<%Š÷²ºÝ&Þ(\«[kUg!Ì+<7(ï—wé.fjV´ Ø-€¹“§¼ -¸Î›¿ü¤ÆùÅ?øýïlòìÄÄ£‰‰áLA3—ââåÿåÄ|>Ow,îGñ8q€{ìI4^=Æ|„ÿÀúFó_d[ WÃh³¥Ä‚z ªlâž…Ûœ3 Oè'&@ ›_gŸ¯¯›à„àliõK¿ý - æÿÕúŸ.§Ì¼È\Y3³@˜ÿC>A¿Y ¿YRIÀFT=æé®¥s=ýÄ^Æ{é<8>>h„´1ÞŠå<­ûç}?"á_?”¯¢‰ðbÞŸ“ÿþÅȾ6БŸ€¿#šêˆ;¢éêù^‹–§-£î9 5Ðñ{áhâòjŠ=.´û]&-zMÜpµè‘K|†ëÿ3gþp†˜@ËÀ™)8ÿéã)}Ì)‹úψ |†y@Ø \‹èÿú•—µðÏçs”€J¥ô–6þWòTÿ¯¢õ/¦Ÿ/þëZÚ[êRgðcpæýÎ<]€ÿ]ù®'o*¨ -½yoïEkÕï¿Ãê(†ÿaxl^ˆ¤×B¹é+þDì ðaÆn‰Øé~2iŽëtsèþÛG2"û_º¸.1c @ê@~0Î2,€mXzž\à0ú³èĆÚbmôé6:ë †¤?w)¹r#EéÒ‘¼w?Á$º\߯•”:$ðòv5è(«à'¦ê80Ì[ƒªÜ¾ 7û¡®Ä@ά£ˆæ ‡° -`ÚzÔ‰•@Ò‡‰( ‘ÙKøO_­ì£¯Ž‚ þªÛÞºyü2:A k| ©‘¤â¿Xì Q!,– 9ĸ?›þÙ§À½ÜÓW{ôÏ“©ñ" .Ø’hXkXFH4 þ|UÏW)s2ö+ý`àý‰äDnbÂ>>WHÅÛç5œ<ÿ€À™·AXžl§Ç ËšÔð£³ëÉ×Cž¬õùÜtØcq ¡YÊÂØÄ6‹›“jë;„@p®k øxC1€Æj`!øºþq hUuÿ-ñ Ëà§Ò8ƒð8€ -4ä\¥=àœ D×G¨ÃˆQÀs0nï0úÆ}FLIz…Ùß+öþðô4´¨·À¨¥¿‹9÷ÿ£MZ€{ -å}´#ÕÚaŒÝF‹ú>Xÿ;8 ££© .¢Q¸ÿ]S-®m‹ {§ÄiŠ2µüÁD ¥Åd:ó“I¸ÿÏèZ¦ZàA0i‰|FgíÂÀ"P¿ea‘è -sdx™ðDôÿ(äç¼hT$åm&àaÏÆÿz8¨g•€ØŸ¥Jίö`øË7Œ€øQ°pÏÙµ—ïêzsM€\iÒ›¾¼+ËÛUYήe%Iv%nÔ? -IÂý÷x4t%¹ž$̉D8ÍÏn±@øÀžÈ äÏ™!ü«èßX`Œ€†C -²Žë_V¾Ïô¬Š2[ :žãi6:Aè -)€"™A¡e0˜ãÿ®RÿŽæƒú¼,sê±d8WÑßYXÁ‡E -Ü8PÉ«~uÆ~¾ø×A%€ÿÀ~ÜT«u±Ã¨¶Ïbï›þ8A€¿ +à¿&øgƒÐ–÷ëb‡á¹rɳg'†7gt…ŒF´_FÑO'ë݃yzdøÄ=ÐÞ>nÏmå’þLjµ|Å¿´µ|ŸÛÍ•¾[-ÿ½TÁz±y6Ť€5£¶!ð( MÜò†@·ÑèëäP@ÌøzûÙÐÝM S€>ØÿWÁóÿØtêò©S§Ò§žS,“­¨ã€f3÷˜°À€'GFªÏ)^¸ÐßÝÛ `œjÿAþ.ðH¤pÁŽD/2E -^¸ÿ[MZØÿµz—ŠêØáGç@”=ÚÑ1È WQ,ûA@€ÖbC{mnü3þ7t@@@«7a€Îì@SÀ…þ?ªÿAÐ ø‡3Sΰ>€§ò§ðÙ"Ö.´ @ ð_ÑÓÇ;•Å—D3Üïåö÷Äôó=çÛLÀÃwÑþ_e@EÿÕFû?¿´çüʹG/ÿWù.u(#O÷¡þç÷„ 0ýÆÞ„@–jm—ª¿¢4úXB@ññ¨ÿRîJîJB€3 -¡ø4@ù¿=2œôGìö™Ä\L7æl°ÿ‰@™Äˆ=–à`ÃLc -€cx?$€¶¡g8Yàñ¿ ¯æ¿h–ó€ÚfuCÏÜ–ˆ$×ýf¢%¹bÒo•ÏQ  Œ’KjêTzW«ÁF wЀB®„_(‘… `_Tí‡aÉØfºjÝÊCõeERwîƒìÿå@ lZK¯¥Cpt…Ó± -Ó -úîg~ÇcÀS†€q…]úlrÎ"ú²*~(9ḐÁÇÇ€Á¿&8<‹\Õ×ÄH·÷9˨Æä¡¼äÝI»<(Xcº°ÏZA­Ú`H>¦'¿ûcÀDòýäæÜ\*³¬1Í/þx‡êÿåùùùÏïÌ®ù|^“Ñ-§Ú5íÐ4.Ýø£d.9‘Ì9¬²ãï(tÂéÏM^ –3p %@¬Nl>1€!ìÂŽ`cg']Æ}ÆÞÎÞN*ü{»}½>ºõõuúf:gúfˆ¬6ÿéc`ôÖuû2btsêò4qäX 3Ã?ü×%¶š… ]Ç@ÉQ½ ÏõéÛ§Ï>wà|ܘì¤R=eLÙRnA?à¿ÓB×n"F7«#¯þဘð  Õòê­kJO¨MÈÞDðÞ$ÁA:b j‹,"×רÁl!ЊªŸÀïéÄ"}À俉þBb Ð ›]l`à§âŸ[L--xÅ,šZé©Üׯ€|æÕ/  °h[±-zwˆÂ|票Tö8¬ª3 ¿+¯T à-8¬_=©’ïõ§¥Uöÿ­Š qÀó×E˜¯r0–aðXú2l?¿ €C$(6Ëu%|å’ÁNå(ZÛ’²„ú—üþ+¹Ñ­Ð•œ?·v%éö °G Ä׉$ÎÒ£3ÉÄDd†÷¹ýŸÒ0h‹Û?Šc p޾>–˜‰ `[Œ€ð…Øúƒ?Â-NjˆmºÙg¼øý½mCC:Cä£ä•\îl(»f—Š¡õ£ ˜èß– á÷ëT ËÛÕF\Â&@á9á¶Ä+o/¨¡¹>4  *úçVŽ”9mÁü¡·–F {+!È!á²¢Àz!.a{™JiÎù©çG¾]¯20£ŸO»,˜Œºß@†j èû;”²¨øeaû«±ó_®íã~µŠˆUH|!@ì1$lǃô¯ñÇErpøŒP:@ÄT~])Ñëü¯"CHùÁ/ØYx†ç† -…ÂÐ|¡°\˜G рχ5ãù‚=ç×h,k– šåöÔäð£‰a{2ä8"éóƒ­ô¾YV°8·¸é”âÞ´àn°÷_þ¨ýF4úŒt6º}½½þ{ûûû}ýݽ}Ý}3¾™¾‘‘¾‘›ÍÍ=˜DºL×åÛètyšêâigM$™9Ð,´£ëØ%Éñ¦H°z®ŸºŒ@/Uÿœ å…@©hT4Dèå±¹Ýôvãé4‚1Á1©çO™„íÎ=Dr´)ÚÔвªßÄðßÚ1ØJ ÐÚ¢Z£‘þj’ ÷Ú@Ó”Šÿýé*bÄÇh«eЇ!h[ˆb¸çÿ@À¯§úʤg؇ÀäÇ#Z/€?ðÙÔ¢~ajqg‡% ‚~ÖW6›wñ%Û¡3ïñ æ¿.øÎUz À[À!²T£_‹ÕAzÄ€¯¨üßÛã¦?&y“™D´ËNìÕ¾ü€ZUVÂkÿõÊ·~!ëÚ¤þ®åB’ß¿ž½ -æüWÎ^bÿA,b -löäY;ñ‚¹d2“™‹gȨâíe`L$æb†¸ŽÍ€ùQïCj:É«gg‡Ô]ÀødÛì¶óL!ƒcvŒŽúsŽlÖjÎ„Ž ðÍþ7eVGê_PÙ®z€‚ÿ…B-—à“‹Ä|±<‡ê㺈Ã9œtHè€U‚Yêz€Ä ÷$;+N$sÓ_ -UB•ô¢<˜,I_‘Åܧ'ZÄ?êª%¢eØ÷dÅ -Þn°ü‚Ú¯ w¸Ìt€§–þÙí‡n?J}øûÊœÁ‚>?d¯U ¸×D¯¡&F0iRóJ–Tø¯m«–nÔd¼ÎÇÄCùËɳÉ͙ɡ!Íò<Áÿò|}€á‘Ï7Së3×Ff4ãˆ| ÑhRL OœÏæ¾ÍZ˯öíUë´ñ¬¿ˆˆóò:®ÿm)‘ móä[„ƒ ¸Á|¾Î^#ÿ¾þÞn:‰ôÍŒŒÜ黩n‚Ðuûòí˧èÝëò4B¨¢áìˆJX¯Z‘˜F€Ym&a3rH0›oŸ>}¡¿»»·•áñýØŠZRZ –ü™¼)¸ül6zÉ|Ó[ÐŒZ¸% m}øÿ¦ D£èïøýàïÅœfüa€0`#[øŒ®Wˆ|,ê¿Kø3Þ°ñŒ gIØá?«¤ß2€Cy_W*Î¥æ† q¥¶üÿ„ó_9ÅOC¸ÿX€ °ËéL¿ÁoÕ5X´©ÒŒLÍ£Tò¯…ü¡Ç~ÿ¥ä:An.4šŒøÑ€pÈoŸI$f>I9¿Ý>ç¿”™›‹©šŒšŒŒÀx¦:f„†’uƒÛ€a€ª‰ñÀ,UÿmLÚbzD²’œõ'Ö r}¿Î«t -«µ`ðkÑ|/©ëu%‘‰'•”]Yì½Uà‰øÃѪ5+ºã@Wù€eˆ  J­gzÍ\qò–w‘ -x°¬:ãk¥¬Tëå°RÆS&ðý¦ZÿK€.êÿÀ2¾ /PX ³ƒ-ÿ -kÿ»åª -ÿ|®ÃÉÏ(^gðgø¯a)¢À~è!ðb4²ú´*‚yK½X»Ü)`šÀ2Á>VÃ÷ˆ.9=å°ÄÎÅ]Œ/ü°—sólîìæœfàV ¿°ä=Zzè ÒÿΜ1µ,`C°iJï -è áÑX¬¬,Zôµ Dˆ,jqz õ?*M‚ÿ¯„óloOÍØsVÌ%Ç[ðSZJ¦±ž›«Í°°þ",|•ÿª‹$áÈÜ?Â~þÑ ?à|“ @•eZBšpb­8z%ç ù¯ø/E"—üÉ’W¨ô÷_IF’ɪüöˆ}Æ0lNÌìI{Òi·'ý£TÑÏÅçæ2qZþ‹ ?Âÿ Ï&ú£qÀlTÀ³“ÏT ð⋬ ¦¯y£]2±"ÿ•é\Vvd§‹¡µC‹®Õëßì×a¯ ÿW@øãåº ýa:—‚99ø57Æ1ÓÎ]€êOþÔA­ôW:¸/+ªÉ -þQ6¢€$*ÿÌ‹{ƒA^ø5BdÞ²Wæ€:¦ÿŠðš![û@/Ô¼^Uõ'Œë¼éC}岘Þ+³sŸžÞ6[ÿ«@yqà93ÀçÙ Œ Û܆xdâXÖ]úþ˜@ šÄv@l]d €ó•h ™žËdæfŽN.ŸücaˆpÞžÊ|>ìN†Fb#s…ɹe QƒBanrxøƒ÷CY¿ÃñŠçêyøÛaõóz¹ À<À›J±øßpØÔi3¦Œê: Þ ÐÊ#>˜|B@:°  W ÿ3„ÿ#èŒýO*tša\ZºMõËå.ȧœ˜ -H_Æ·Ðø‚à¾ÂRÀê4 ™G ˆ„à#x%žzÒ·Ïë'pÐÐjŸ_Yàü³˜´^/ó›I">CÝz¡ýëÙ¨EÙM…{S€{/Q¶DÑTÀv0bóOÆš:Ôþÿï›þ7qìßAýÏZ“W ßÃgÀ¦Z´ äÙ„3&N)¢gB€Û‹zÿtÙY¤¢‘÷/ªc‚ýBôô8÷¸ÅŒò“êPΞiH< `~«üäwu¶ÿ¯ö¬®BÀY5lôöò0‚¨~LX2ñòƒÀ èt¾Ñ V †Ãkbº+ÅPÈïäú{òáÿºý€Ö/Ù/3ÃH$a'€€HÒŸü@ -ùuCs3 âÈùÃb fqªòc$rÝL$ p°@|A -Ê̶ÅÚb±!Ñ'àÕ@° & ö’¹Q¤¸„¦‹ŽCwqpÕTŠf ¼µŽ~z0Xò0äÃÄVÀ fÖƒªÀ¡x¼PlVüé?+‡ës‘¡Áƒ7ë`y@¥?ˆÒ¿’nôÿÕ¬G]!hæ€ß’üÝyz1¡_Ž~L1(eð€ _ÔõF™G xêOdý°sg<½m㺣ƒ_Ç©Ñÿg*Àõÿv½vhÀœ«€X,Àü@›hœT¡OÔ„'By)Û è¶-TåmFŽànŠ_£¯Õ–"ø÷ø÷Ò‰êÿ^_g¯¯o¼ÏG'>º ÿ›{zš{n.5ÃxyÉ™¿Lo^]Tûw]æ¹—yp=þÿãñ÷?Òô 6p x"€Ã1711œ8 ÀçŸÏÙ— Ãó±xb8>¬ñ_9i*hà,¤ -¦‚=9¡™Ü -ù“Ó¯: Psóˆ{Üĵ?ã¾r€(þm\ë¢í²a1€üctwªrøÕ?`¿··õo÷¸¯—(À¸0²:2‚¥ÀÍcXÄ«ÌNAÿ¿í¼<}@úò)ˆéQ¬‘©¤“YìúÂŒÝ@®Gð¦lNwa%0€V£ð¢ü·¸4(À»¯7i½b –é±øWØ$ˆ üSƒÉ~Lêø»Àú·¶¶¢@WÄŒTþGQlÐ"ów*ª®ÀŽßÿñ†¨¶ 3€&­Z¢Ø xD§?´ü#ZþÐâÂ$]DýOOO¸e -=€„ë óWôýéÁû¶€ï€|…ÁEŘ.”š(=E& d€½Ë•ŠçmÀß~<‘¥J~iu„weýI`Rÿ6}€‘?¾°ÿ‚U™<{ØðŽÄ×o¥äúÚ%Ây$²n°°‚‡ÏöÖ¯Óm$2Œe@Ãëô@bÄŸL†"ºáD|.6§Nµ°Ë?# ŸcÜW1DÇfbmñXS™Yu°ÿƬ‡k  Bþg³mD,žÁ @Ö ‘ÐãlÑj]Ïö 7÷¦y°\Ãï55íW Š @¬ K%ö†EH`c .ªYTÅ? ÿkªI?:ñð‡çŸ!?ù‰‰½ƒ¯á­zÍ£îìU£zÔ H/ÿ' ÖóB_6àVjŠÐuÉúÿõýíòaŸÏlØG×ÏQ-Ù ¾« àlù¯±„áïãØßªèÔÄöAö Š Bav¨V“0ÓúW"[åÝzõ‡JÉäæðŒ.~kþd¡ðùüü­xáóLÁ×f -®ÏãC…y¯¦PHif&5C©™áááHµ~œ-¿R@î¡2þ¿8âí½¸µÄmj°ð¹3°¹Ý¶”;eã º0vBðÏg½,ôuûPÿûºûfºûºÑX°ª*—nƒøŸ2;1>e¾¬¦ é¨1 PáUÄÒj&0Ò<ÌŽàµð¤±à7H4èì¤âß•ra¹ŸÅäè«ØÏۀŽv/Êjz}ˆ¸m¶¦%SZÞÙ‡€èsõ¿‰˜[;ŒÈ$`ì°E9,0ÊÉÏ¿”.Q*ÿµM¼¨…П;M"—h#À%"§ô°šÎÐÓÂ@HZýÔ‚~jQ»Vô+‹Øl  #p?°xÿ>1´¾³üjÚ_0 WƒÕ€ |Å,ËOÞBùßö~ªpúÿê*(Œ,‰MKbðù ÚùÅ¥âÌWöÀ` ¤ß 7–ˆu@áˆÁÐÜ–È cØ/Éa¿†ˆ¿ÙÞIFüþiºØéÂ~;lÿ·»ß0g·ÇuD¸À‡ò@F§£{s™DL—Àð_}º“4€Äuèô í¬Ç„@Wm¼ €nƒo¶¿€Ù!ôÿ3Ïèª-– çæ_Ë~èOøOTˇ ÿõýš… °\U(‡9õ€ -@¥6HžŒ>:Ürè‘ï«cm?Á Fˆ€ƒW)hAxýxþYÀ¸CT \ò Àæ^ÌïŒ°Š£Í‚žîîw-1 „¾¼Ïí4 t:Áeü‹€ßm1¯/ìúh¨ e[|§œ}À]ñüàÓª°÷± ±]øD@õrX»Åô‹' t.IÇx'ã—F†íÃs·nÍÿ±póŸž™Idæ3‰ìºùÏÂÛç'‡é?êðÜÜÜðäöäÿÏÞû‡´§m£¾w’“㎩¢A’üaTÈY£M‘ˆo©yþÛ q”!à%͆I: fŽa[=Ú”¡Û³ä…鲋¼‹Ð°iߌGü­uÀÜ1bïCOÚ Xa(÷cÔp.*0?kŒ†f„P 8ýò,ØÍ[Uúõ‡fÂé+ÞÖWÍ©sÍ)Á4FŽ> -j@X6œBý€|Úä{kF`MˆÀÂ×ø¢„Í8ÌŠe¨âàK›,&m”C¬uö÷Ça·g—[xèÚÔIà´²ÀÒ÷¯ÿ.èÊÐ - fî KßC‹^_þI2BÆ ôe´ù­‰1¸/ç}ŇãÉý—®ÓãDî3Wûlåe†IÛ~‚݃d¢’ð—/)A?ƒþ”a_I‹ú¡Ù? $è!UÜÓÌ$ÔNÚf¿JúQïG{@E(¹ vV2R¥‡Pn-ƒbãòaâEƒ¯<†‡C³³;¿>uêן--}iggig)U³´3ìYÚù,ôYÓRhiøâpMMÄjž­™oŸËµž³%ŽÑ -hßrEZv1épúO! Å…Á?·]\´´¨H€6³ÆÚx ÍDùŸ»M Û°ˆ3œ€;œ#}###£ þî¨T“Ë‹Ë/ÇÇ‹sŽ9:¾ñƽæ{‹ÍÊöGáA9IìÕ¥@µ Ò|ý•™ývÈÿå_ºÜ§/¶HñßÄ–~S·ÖþÏwõ±úßË÷ÐP>D£RÛ ¨% ˜¨­}GÕõï`ðôM¬L˜'tpø7C -0áU$`BÁ÷Dp-€&ýäsy™ ÷‚µõ tË?û¹ X¯£ü¯É`Á>¢À;d€ì\jë^tÿ/{M˜ X¼/ > î«òÿ€¾³ô<Ðìèäô«Q{ò[ðWÿ³ªþwn8;q®&nl,?ˆ-̃ÊNÆœþŽ‚ü> -¸1PùŠwÆÍÆ=Æð˜}!à‡Þ߀€5ˆ ð{bñÂâ›ÙÐð¦ÝX²Ž¼'ø>;DC‘(_ -wµæÁàP8¤¯ Ég0FB” -†é¬Ò~è÷;„Šÿ£2€†ÔŒüÃðO)ŽÐˆÖybB,¬­åbacÀÿµÑEæã@žžHî¿S]lÓÑì—æ8”(¸åû8ªÌ|¤´ô”·iY¸-`÷¼¨…ëÑu Í>µ˜M ²ÿä©éGÈ;L -hÙª5êöJ‰|É…Bägùã/Q*>ÉcÏ.%ÿC›Zúc÷_iþXŸËC¡Uú¤ 4ø/îioi4§È¾=>©R/¨ £'{ÕÕ¶üËO*½þ<·¹R vTŠòqúyŒ[Æ™bTú ÈÐ{¡Ù”~H°€%X|–ŠìDô;ÃÖkK©Ï®,Y—fkvôMCÑxhxxvvÀú`lì©<¾Ç÷';ît¹Ö#at°ÞÛk‰¬[z]–Îl D(·ZÌ-mfK V,-mXüc R@40èës:û)Ñø/É&À¾à&wÇ{’0Üå À—ÔÜ[‹Å¿Å{y垣öô±™Ç%=–kªì÷/.ŽÉ;t\ÈÆv"×ø6[^ÍÙ÷9;H"~ïË?ê0(ÀüCëË=@5û×´ Ò3áP¾’5”ª˜®.¾W@~OóôÕÌ(í‘Tš`š‡Õ6#ó*G±ô¬ƒ€kX+!à_üÀ„g‡";©ï/ýÛgKŸ}víâÎRÍg—vf‡>ÛÙ^Ò_¼6§Ôÿ##Tndá¼<7·L \-ÿçÞêÿ ÿEP;§=j€hî|¨Íþ?T:@yî}ÐS‚Àž6›[th ³¯&þ-:Dâd.p?Zƒª H/b¼o2›*î¿ï ÷ߨxÓt‰¿8y±ýwšÀ-Æ4z+ ƒÿëº'pݨ Ò £DAjƒ± x;Øý˜£€à„E©ÿu† | -˜Fˆz_;„\¶Üº¬[÷Zny½¦Õ[!/Zææøz±à±Wþ3ÌxÈh§ì·M€'ü/–³Øùðw*0ÒÙIüßÒÌ7žup Éúê7SàïÈ.¿Ê€½RÉ·XðÛ3™ŒuÖø^ ¥`بfÖÀÀ¦0€y”ÿò¦^Ð_ -®1¤þKíŽÌ¢ª§÷<€0€Ý@Ïå~dÿ†äé@lwHÑé¡zJÿR)Õé—jÀ¿² $Ž@h Í4F#&±´'žóËwûzDäª5€dÒ>ž$ -ïå%)ųíûTð~2a÷É?û Pb9qÑx‡Õ€›â_ù‹ _º•Þû¨ëíÍ$îáü €B†‹™¤ôŒ÷@€Ä`eÚW*b O;½²|‹Ï·Å±ÊÓ"|ó‰d©¬” ¹ªèW¨]ú½gð¯.¥Ê·¬Ý-îaOÔÇ 5 h€Ö@£Ÿ‚€Ê4@¾L¦™ÈuÙždå/wØ“§Ýε™tv–~MÀg5K§šä-¥+ï]Yª™Ì†¢³5ïÅ=éÍ1ÄÛ_ì“ÂÊŠk×Ùü÷ -pµ¬ “ €ïâ\ Ò‰ üçaÆY‰Ú €-.'XÄèß-ç¶'Z#Bˆÿ£Xàùœ¼ªµc°(Wÿs‹sPÈ!ðÿá³@Áß®F‚þ6Û?T@àÿ7£“°Ñ øí®®ó§/šÍÍóüú‰¯DÿþÁA9¿ÛOÛ¿A¤ÿ Yœ T7@Ò×H`ª*Õ½›œ˜+ï:Íx ©ø1g +P‚üÝjpB×XœÂP«þ…x•AÀíÇ· ¨ *) íÿáAÐ ý?G¡†/ë/L,ÞË·,^ö®šÜ‹áÀžCà7䘊v€M©5—¿pÀŸî‹J:0JÕÑìâ~þ[`ÿ _Êvá¿££RücþïܸêÔ$Xì„Às5ôw¨&îdÁÄüÿs…Â?öfÿѼ€¿Î-€=¸Æøo¥ÞËHaÎ?Ö÷Ø0b€®¬˜€T̸£—RV>³˜±ýXýFÂtÿK¥ŒVöòѧ†Ð[E]Qh"ÜÔ7D(P¶,ùÑ húµ Âz`ƒÜ†9@kB¾'¬-ãkOÍM*¥rñ÷4­)çáCsø1y{%Šäò,’“ÔBþ§‚÷5É|<‘q×úWïª&z«j N–z*}­€¢¿@å?,ÇšÕ^—¶Ç}š€MP] -üâ>ˆ êÿÿ;Qþ#üÏ‹ŒñcÀ†³1 Hý¨Úœâ¼ŠÞ﫸LQ«õ‹\ÐÂsÌGÞýÈϾ@Iqê¾€Ò”©€ }˜øËEÇ÷ÑøË@8~yíÚÒ©¡¥S;WN)pí3©ü—º—–R¿L¥j–†‡£³;5ak|8><ß°µÚΕŽí/¶˜]°_Ù]€( AôäÊ‚Îd€‘^’ùgr3o"mÛ0ïhiã:`Úèpº¡ÜpB0B`ÝèOÐÈ.²Ÿ|€@VÅ-.¾¡ªÿ›5çz4} ƒ›+&@Ø øÆéòÍ·¿Ý +·©«í42,,¥‘²#8? -ð®\÷b0hÐúêjÐÐmÀ>@mï€Uôo¼)œà´ K&óiÕ¸Ù¨uµfÕ˜¨…@×M¢ëå_I˜ˆ Áǃ8u?f8@}$€XY-¡ò$lÑ]Öy½-ªЂ‰¿åò*äÿ&‹¤;¼ø@—Cy5 -þÏ)E #«¡’"ȬÅy4[ø¶ ðý¥ù2‚þ„~”þ¬ÿ9à6à(e€`Uø_¦ýÿAÕ­¤1- -sh€:^að$ñ£ŸEôq»q(=¶ hbG£aµ €å¿8'ÆM&ÍxfŒFˆøö±È‘>öûÙhÐë¡ô‹¦ô³ðÿç`$D‡!-ˆ„CÖþ‘Jhä}C”øƒp HÒ Ÿ i3ÐDh ÉŒ0ŒÇ öæ©ïëp”ú¨ @þËüø~r¯˜h-æ¹Z¯íÉ æ3hÜ>Ž¢›MsHhšÇå}Mð䯠šþZ8ŒÆó$Ä@Á|a1Þÿ˜€`¿q¬P‰ÚïÁÞ"VðçC7-tìñÿÉ[O^å åùQ´T;‰DY9ý•XóU{þ/t+޶*|àEyɳI@Q{XÕv`ÅV ² -Pìa-t#þÌ£8µ·ç¹5”ÈlêÚ©kM5ßÿl V ø¬fé3½5û,µ°z¬m©T(î‰ÇõSc­çZóÇg\ή|BꬺÖ]»rY¬£é2 µzI\Äá¹Ì]–‹nA}¸µ™pkà67ÑŸ&@”Â-€:zr¨™}#«²L• ðæšßXœ»×¬i›±òW ÖÔB –{š?Tâ?.|cU§Ï7`¨ºN·ÁïP@TÊ|©ª›ú…Ô7Õ+¼dóß0¨Þâ¿P`è–3ü{½€wjþåZ£&üø†I»ÁP®Zëkƒµ‚öòÿ»Qýë„ÔÂN  ÷²€Æ_ÿkkƒP`P[£ AùÒ -ô -Á'  «~ ñÿ2îÞº|YAÿ-‹ù–ûÖË€`ÎÌY”ÿ  Ö|Ú/²Ëí˳šÑ­ÎlaüÛ&ÀŸý;ëñg7:Nçª\î8Ùÿ礀ÿ¸,#x´² ¢˜ÕB&§ásèþÏ-ò‚ßÓâ+J¸~•HU\- f¡ˆýØÃ½~ÆËç”j?…ø_€0gÜÄ@6òÛŠª.Àf, ŸØ/X¸àYØüÛ -"F×—¿,"8Y,Úò{R‡Ã*Miª°`3`ûþ>jlvlPb´N -P5µùw21Í5¯¨ähÖ'zì : •¿1c×B€±ËÑ ‚|Ïø.Ь€…ðÃòÃÃ?þu#ºæ¾‰Ä#lø8úO¨ _µ·W.>Ë6þ­IÊjÀ_Ò„ƒ@yµôÝ-:è>p˜•Žïï'ö·ðÕ >Ÿ’óTü†µÃ*ð/ϧkß?•Ò‡¤þÿ>T¸\©©é^ú,TXXÚÙ©¹’š Y­õÞ÷´ årÇé”]ü?ÙÄGï¿l`×Y‡?0€`>`‰D؈€@Ц-˜•ðy*a€8 '.XìügÐr v&€Ç\³ÃT@¸5cpQÓj€Êb@Šþ°ø¡’ÿ}“‰ôù¹öÎŽÿó_º:º&Ý]*ö lª×þÀüÁÁþwûå®\Wdý h¾¾fì¯a¿Wmø™ªÍöL`ÚÛ¼Õq €³ÿÚî ´° à…0ØH  ’BUX‹€"ºÚz"…ÿAZäâ•÷èÖ[,^¯é–ÎëÕé.có_À-¯û–ܘn½øЙy‘u?~Kêê`î@¥Ð žÎ±ÌÀr'„ë8gíÉÃo1þO¼ÜäíÙçUçŠÛµÚF -@ àþ<6¨è\îä*Àè3 +ÿþÉdçൊ À¿üŠ -HÐxeGªrâµ³óžŒ=üÇöÔ˜b‡Ð -üXV)™bq Œr‰Ï§¬F¬òÑïWÁ?R~µ@¤úÿ0å|š„õz«Çc…%€ÿž©?;§`ó‹X`e! ‡Â‚õ)à½|4Ê~80[˜“"ÿGQjy£5f4z2þX,öÿß: D:äHz/ŸÜ·û’‚þ‰½rÞq½òT^ììïcñž oÓ@”¸ €Õöçþ½`É=B¬™çø4ƒ_ŸæÙâ`À=Ò\h÷ù*_[.¨ç1ÅH¾¸HWR\À·\bZP’˃ô3V{|OþÆeÆç¾$ü{‡O˜:¥¦ý{•¬`5ÐÜ8"` €AãÌ1øŠïb þÖÀ[ñ¸0€©áaXQ„#©k×vRÃßGñÿÝ–j–v~zeié××ä];;ÓúYaë¬Õó`Í_³ÙÎHÖ­¬¬Gzw#'ò¡ø úwíÊØFÖ9Àµ+à‡€–‰ëfç¿‹V€È„ù¿À—Óíîr‚87@þ;G¼ñÝåìh6»(¯eÈ€à H›ß€ $€\h., -hV${€\üoVâ´ì=ß ô¼Ô  ZrÀó¸)õMªM‚§Mƒýõý´Úì—CGÜPÎ@ô l©5ÔNx!ø?mÂQA}š´°ŸÓïTþ, ü ÄO¡` 7XÁ~ïÍÇÞÚ›^5P³Ö×+§`Vÿt]o%“ÐÛâ'`ÀŒµÁ~Z·Ìyã%À³î™WŠ–ÿˆ¡ýBÐÿ‹ ->uB -8:*¸U°ë ø•/ É¨sÅévYVÝ«.תü}Ð S°_ëÀ -€-ˆ6F7¶* -@º;4ïߪÿÅÊiQ±€W¸°WÊ-`êð¬e¬aÕ¿¬ ¡ú‘èÁè“\ …=ajö0ò‚g/ÆÿZpX?+÷”`8Õ³×cž€0`á Cá°”iCÌ ÚQ‘@Œ € €¾ÁhÔÏp @áÀGa¤3 ðYóŸ4€oŒuXSô,x˜?#ÇßöšTTL+À×öù½Râp›uj`Ÿ‹8Ù“>å¼W ¹Ó6ß‚Àª¥]Y¡ûK‰a1u\k"O¥žÿðƦZüãöÅ1ØäZŠÿfmr‹ñ¼Ãá´—W&ʼn|ò0ÿû?ú ËÊŒ‡ÃÄ¡p_¢˜/iò¿V…ÿ•éþ×õ ÛÓV°@”ß{¢žxÈÐÔÅgêI0òkB¿ö÷‘üòocjê­øÀ@\®ãž©x|$:FÈDddäÔε¥Ï>€À¯kº—j~5ýléJM÷ìÅaN«uxûœ=í;×ÚzlSÕdç'ÿݽ®õ]9÷JýY -€‘@oìºv{Ù€BÐâjSêÀ6)ÿÛº08ojë2Iñ߆±9:“þîNt p:G:±0ú]9/ÿd4[Èf1_~ƒtœi^¼‡+ÁýB3ýíÍ•wš{ -ö{\<íéùFWÏðÚR~Ànt¸``?ÿúßíGõ/ÿ`ý aPÍÿëéÁSo"Ü ¬€!ôV«~’¯j˜”àæéw0$`—@ÐÞ<áÐM4vc‚”;:Ј ŠÿZ@øM n²ðØ«l`öÏ´@ù²ë0ø…mš:Çà¿÷–iý–yUJÓ-“eÕ|Ëâ}ÉÏЧ/3ç3ssY j4ÕÆÁò㋹ÇòŽv \E¤Í¨ãÛp€¯xõöe–ëBòG#Øßüw­ºWØ `„]€Î €?) ” -•ʨ¶Ðü?( À_ -~U¯0(åÇd„ÞNofIfÃ!`,vÿ╳ÕhM…¨óc/?¬j` ÁR_$¢fz*ÿ£Pý‡¢ülrQê@(h84+•þÎ5ø¦ôF˜ã€\°¡"$+˜úƒ0´¬´)œ§?AXNu`ò¶ß¾‹Åüö\kîoà£CÀý»äa9±w($ ñ]~›Í·¯©¸¸HÞ‡I@‚H ×øT:ºÒŸÑ=’{=AÁV´|É·8ã·cíŸpŸ€_žÌ9¨eDM¾4ØÃ^‚Ó}áŸ/4PÿÓc@¾qhÿ11("ó—Išéß×Výk?ÛÕRó“=mëÿ‰jx”JOòj#°ô䙤 -eÌècðrà™šHÇãoÅ=éô…ôÔÔHÜ2F®ECÖÔµSK×~ýcµ (§t"5Bô¡ýùÔ¬usÖs.—N¥186°_·ò‰‹(¿»â:±îŠ|.¨ÂÕ»BgÀ•Ë\\-lþcPÐßeF ƒÿ.u¸M4èp»û¸/€ŽåuÖ¹QÇÿìÁ"-L 0[¤þ€‹¬ÿ)§R¡™F…j€N4°³ø¿÷e³ãLgŸ]“09°x/B Õèïo¢°°©å ø¯ ¨oB¦}x½Ú àæ‘€é&èÀÍÊ-ìÑ0Á -€Ò¿Zhj½ºFX JÙ¯«½\{«±6ìÿ…¦x|\ûø1¢¤ðÖëºúKÁiŸÎÒ"ÄEX€¥…ï!1yo™o™Ü·Ìr¶XÌ¦ëæ—5öšiÈì sfÕ¨vp³Ü.väWÚ¹Õ9Ú)çÑo›/{íöFGœ®u0gË*€Åí\uºWUñ?ru}!Pò0b€ÀQm -U)€s3` ¿£ÖÿBäÞ«Lò3ÿ­a&¥?õÁ{F6ÿõa£ÚP6€°ŠÇP7GýC4óy‚ïLÿøSÔªEÀˆZýÃ"a=+<#4ûƒ\p(E+y±>5Ãø@½ÑÊ=g Ëà0†)xÿ7èS33§f†Ô2q3@k""?¾Eš{2ö¹œ=c*8ݺ—ÿkÿ>ŠOr‡-ðöó{,¨Yå'•àþ8Šk#”)P>ÿ0¯êL±ÄHå4á°ê Tüóà¿WÉÄ¥| -[’NÀ ­Áog`³ÿ1nÆÇ•; rò•ó­‚åÂAÌ‚¡Ï‹@>ûa«f2°ÉÏÒ -ç†þ)×þ'ޝ±ú¯ Ô•6àŽÔÀ¡’5TBÈ€ò(Ap‘ØO~Õºÿé©´'½–c@x€'àA«)Ù¹&Ï(m -ÀÀ_ý”󀚎éᦚ+;;;³Ã›ccÃVOÚvòÿbíWO¸NHý¿»ù|·äó•Š}4ý{å.¬àÚ¥öÑhkã Í|ÞmfñßÕ¥åþ¹àæ€àFhŒþ±2°5QZófa¤ -ûï-6ãå-Ã&§J¢#z ðM[Ï$—ÿ]ÄŠéàØ/E¿5?[ýìûÓ€Þ{õT t«A<·°nòª€\ÕÞþ“ Ü4áb¢Cð³MAïÒƒi 0ìÖMu ö‡ü?X{ù7½µïÔÖÞDïÿ±Öÿ¿­E°á€¾¥Euþ Xalil¡Ñðßrë–I€p€[nóªùeχ²1ÕÀïhÑá ˜;Àï‹[é¨þ¡øbYM­ý7:ëF³öomþþý£u+HÛ\W9««ri[]u†4 ñŠ @ñÿÌ -PåÿÀù®pà?€þ_µÿ›‰ÿø=½¢@^våñKä2 O8e… V&€´6Ò -(—˼UÞNÅàïŸbùO)¿ýu'¬ -|yŠÿptÿþÿFkH>3Uø`©ùõú! „.AÖø…“çäXóÄ㞥~ú0 -„ÀÐÌ©? É'ÿH5&ðñF•T ð~ÁŸ‘âÿ©Í—K(3»ÖbÂ÷×±¡rñrØÑ'b |àQ5>ëµ XÆ BôhË^ªé•’N­" -oïÏSÍj+yµ¥ßZ*Ûlôø’š ð"*6y}ÃøÀE͘!™/%Hö} ûù‡/ÐKʇ?Ï@FØÿC7@ØÂ^ÅÏï›¨Š‹Š¨ÏL Ù¨=@¸/àÑ‚¾Ï/ _òåVžt|È¿ýþƒ19¤š_ËLF#c,<´³™Yú1ñÿŠKK¿þwïìüº¦f¨¦f¶E.ÃñáôööÚÚñýÁþ\êþ•õÈnï‰ÝõŸ£ýÏrßÅÜêc+Kþþ]mXû33¨«­Ëtž€mNÜôuÝér÷u9»T€Ô9¾»\·<ú“Ñúÿj Ôf0ä¡úÔh%)×Ê ÐÓ\5üæôÿGTíg¶(@ *zŒš˜±×ô—ò¿Ÿ v@áC°ƒ¦`SР«‚÷fo£×«T7UÒŸ©ê -pS܈Í@ÑPþë„õÁîZäë`Ä9ÀMÁþàÍÚ_Üd3à1úÿµŒ¨íÆê!Q^§kñZ´TÂôˆÿf¯ÉŒÀê-“Ûm2™_Žÿ{*“i®r5ç(haÍà`èÞ|ѾŒ6qª“>¶uT”¾…ýÊ‘ßø‡Íœµ9;s»þWž5œÜ¬ãàV° -8:Z `ûŸÒË9¬À`Q -ìÿãüM¤bþ£tʉäxÆ—ÉdRaø0±_áë|³vrc`Sˆ€5e „púkH…#têÑ«ôŸ”êÿ‡éðà ~T¨L„¤üŒñ¨[}C” „#Cœª1kxÿÿ£K௵Øzòý±x¼AoŒÂõ·^B©¡?œBj°^MŒÑ4ô7ÖQ—WBOFjãœÂ/¶Ò_Ñ@Ù®ÒòˆØ“ùC)Ž‹ðÍD»?å˜T$#€qÆïÑHOmÒ«¤ÛC̸ ð'çéÅJ0Çï­èÿÃHþ3SmRþÛ”°ù5åÛ·1nÈk7€í$0È—Zó¬ç“ùäK¤¥Šçd^~ýôÿ+þ%då¯ìhV‚Z¼Ÿú"šCV/ ÄõÃ2ý†™£âäKGé”þckk¹µíkÆÒcÛöô‚à¿Ú÷Ãàfãó‡¶XYÐ52Pà_ç•â9„(î½løE€”Ö>~Ü! ¯Î :õf@½P ?cŒZä] ˜½f“yÕbº…èf9V-/Ÿh$L“æˆÿüÀÿƒÅ(a -ܾüE–:€Q–­ètŽf¿õ®¼‚>´ÿð±¸ZZ­¥æg´¹VÚV´œl”p',ˆý[Ú ºÿ@æúÍ\ÿ“?”{‹‹÷þÑf__ u¯œÿù“ª;=ˆ¦¢Æ0»ë6ÿÃa%¹£€ÔñÑH Ž<¬‡æ&ýú»ÜákPÿp$ -E@8:"5¢L„ЈÇ7!)ì!œ‰„¯:µŽD§ÞÇVQ;ZÕñ~Ü8  @ªaèÔÐÌ©™™? é m‚\s -ø7cíOí9_ÎæøÛ|9¹ïK´æþ}I%eHG¼}{2ñ#ý½|ò6}ªà§0¯0˜†Žþ‘Š¤Çžf¶Ëv¹ÂŠ_M´æ?Wò­Z{ÞGs:üÙ3¨ñ›U 2”Ð X¾ùÛ!Œ‹ÿÅ$WüBAÿÂWc*/¾3õ}‚²”J´,—JßüW1ÿHPr ð_ñ𨥕Je:î&à²$èKöÆHñal{í©íéÚÚÚÓ÷l?x0vÁ3` -ø]›©kC³€~ü_ÿôÊ•Ÿ.]ù镚+‘šš+5;8Úô;§‡§¶·×N¶î‹ÇFV\'"'\'\®».¨ÿwQþ»V´ò½‚øØÔ^Ä ÀÀÝææUzç!p« @þ>!w” kœºÎïbð“,ñߣÀ"üÆÐ p8ÐÏ,(è),ú5OIBÀ|%hØÜs,cæfÇòÖÛšM&@'Jè€KÿcîÏ.ýþ&ºê»1 ¨nOèt–ÿJp³*¨ÞbEð;&)ÆMf°ÄNxÑöשz^nZttø#"·µï Ðøø)þÉj µ:C-ÊüFáò%-³|ñ– _ôê&ZA LÞ[nÓ­U“6¥q›_®€h~6¨vÔ @ ²í¸,·W;·`nWG»ì¢=ù-Øû2oÏ -ü F²¦Pg z–UEäâ†àU­ àÔ&4=ÍÒ:ÓÏòÿ`ÎÁšŸµÿ›÷ =ͯ$`Ó9ï{êXŸZˆEéþüðž§Ö> -ȵBÿ5ÆSñ˜Ôç‘¡ÔŒJôS!~ì4`+ž•2}–fBÖÍÕ·Æ=žÍ¸? -¨Ä`©é?¨±ÎÇCñ“Å=Ô¼•s±õœMð\:ÖËW•¯€ŽÁÌÌИ<¤TœèªÀ¼g!3–±gìãö€?7.§œï©Ϲ֒/÷'~ü£ñy˜Rõ¨œ&¥¥'ï^+"sm|Z°^¸pF ùÁ ¬Þåm e±ƒ":år% 癟nñHå¿§VßK*pC|Š‘Œ1ƒ¿öf»Ï¾oKŽ÷ØQ³Á ÍHåß ðñk¢ºßËûñ›(?|I˜M” ” Zî_ßi©ôÍÁq¯ô¢& ‚þJ æ¥²Š‚QÀ¸Ok”Šä¢~a §k9(>l9[Nî¬m?õŒ lÊóÔ÷gã¿Fé¿Ó¤¿B#à_ý´{ggúмëJÍÔÅšÙšîiëÔæpÒÖz|F‰Ÿ¬ú£ä?Ñ+· ÀýÚ áðrEN.^”Àå"ô·¹+':’`Å ]$ÈÑqÕéd0àŸ{££ÙXVxÍfçÆcÿ¢ðϧ¿à—;~Þdä=Ì`B=y, ô ÇÇígúúºÜ&³€8*zƒŽk~p¬§õï»ýMt œêU6@°©ÁÁj@ ™‘@^­á÷¼ 0Ð*ˆgÌ XÁÿ Î0aNèº16¢p3è½IýÿÍǵïÐPˆ4^oÐËU?¹jT=[ ÄCÈ…m÷ªyÕ„€ÉýòŸ½n ÕaÌ\õfn® õ?Fh -à@Ϻ[Äÿ«‚f£ÙÌ7èÒð¤úOf²1ÿ«‘^$kö¶Ð>‹:€U·ËÍ1€‹v€Ne4Ò¹¼±Å@§¦ÿÕ¢—188 óWç*K€Ë`göÞ—¯$h}XæZ~|<³ÏÀÂ×0†6cFcÝf !ŒH`b.ˆ@( 7zÂ!ÔÿÜÖêÓΗù¾\ðG÷?„%€÷Œ#Ö ˜x<é Æø…Mc<0¤ÂÿqЂ5ÖûÅjýÏ@þܹsÛñ@8Úš9•ŠD°ôW €ª°P „±@Lß¿àÏdüOÇ}æ Ð* uúor¾Ö¯ªfÆcQ¡Ïó¡Ã’rÌ'…aç1ß+æmRà³°`Z <Á}Oî €‡ -€¤-Q Óå Ö5œâ³ˆ¼J‚NQK *1£'Ôÿr_AùŠ6Œ3’öñ_®àXļ?ÝÖ¢ÊRG] âPc)ËÝ…y¡Ъ$ÜøWD¥œxRL¨VEék×þUâ7ÅИP‰¤ð`!]HŒè²Ä8ƒ½ç½OrÆä$å¿°Eù@<‰rkkÆ.<²z!ì¢ ¥jvš¤äÄßÑÕ,í\¹²teéW5KWjô¡œO¥×rï ÿ<®5À/óu+`@|¹ŠDHÐØå=׳®ÿŠ«Úý¯ˆ»ÚXÿ ê·QÐ{îópls†Ô²3{œu à(Ì€H²Àáw@J*€ï÷ü8ùy]PWìPWz<KÑÞÞÎ@—Ûl¹ 4§P‡@½TüïrôO`˜ -à_¨4 A¨ ¼{ÍÔÞT›*¨±bdê29Ì–Æ ¤*ò Ó5ê ÝX `L-àãËÂn>VkëƒÜÔþ!807zMÄ{³×l¹ˆM‹¥Å,ŸYÞ…Ù¿ûúªÙ}½ëúW4ööîinŒÍÕ©ŒZ@Àñ¢è -ô…Ö+ÚÖ9‘l;²üŸ;%øI~¿cõXÍ]pP t€.' ÀU§æ¼±%,jk´sk™n@ ͳŽâ™ \$ à üQÜC ù•ìò Âù2?úa8ü_‡Œe°ÎÏ£à4è)ø¦3€5òhÆþ33)FøÂðÕ>½Ôþ˜èÃ!kÈ8ëYWd{gÛO{<ñx ªÒÇ/¤ãk6ÛQø?2h]‹o†ôÈB<Ó€†H„jТÈŽÖ5@©H Âþ±!g·?ÍøÑ Èäаû’r/ñ® +pt%<ÿ¼ë{¦‚<‚ó`E˜>òÙÍÀg$P"¯E󲛞„·^¥¬VL(n/Ý(bßm¯¨¶òiˆKûÈó[Õ@B-øÈ ËÚ‡ RªM3D@*DÔÿ­`‰!QFYÿ‚XF’¡€(PÿGÊQ*¿Ñ8|î'ÅÊý'ªÀ=€Ã’Â~Œ,À4ž$Þ°2LÂ\á¹ÀšPþ'ˆÞ|Öä×¶åé•–'ͧŒ³³;555½Rì_™Ý™½rå§5;5X ؙީ¹8]3mšžJ¿¿f;w|{€Éº XTãÿÝÈ ŒûOðû€ró‰ý¡¼x±Úgù<)€û<Ô~ˆPêÿ6u¢Ì9$—Î:)pü«=p:-;´.À(€PÉE…ý‹@‡?«x€¼+c——:4œŽ«ØI¼áØB*°’´xu‚ì:eýþwÕ  {€‚þõ´æJ`<Á–n¹.kyù¡ô²’Wý€›îw™N+"ÐhQøíÅ!|.z'º½A]­ @\†1Ðã`#ÀceÄnÍ~©(` ‘×l²\ô^0[&Z¤ü7›Y÷¯rþ/øïþªñÑŸm FsJ°ÁŒ˜Ó|áXn‡`T©:7ê0€¹Íèb%@1±_ÈŽŽ^½ºÞÞ»þ®Þ^K…¸…HS xU±c>`°f=:«Iœ@ ü´(À=b¹–7_Í@)‘Øÿó(ð5`Œ#ö¯bÌ-€°”ý!„Fú—ô`Î;¤€?B¥s| -€‰€Õ Y¥ð—Wea›cþtÚ -0lØnólŸÔðŸX¥ ›'nl85#È}vÿ‡p;Ž"ˆ, Š•Èæ=ó±©g @õÿ#!¯e2þreÿ}<ç0þÔžHø„TðLzƒìÆžëУ^àûNtÉb>ѺW¶%|PÖð÷Õ6@où|Õ4õ¶Š P‰ì”åŽÀÚ!#ïÕ‚6 €Ó.‹£)«èœP>~¡=û¢Ðj³Pøk@ÍvÖÚ3Ž*r0_ - eþ>Ö÷^œh_¡œW_ˆR€‡ªOQ,¿i,,>ªžÈÀø¡<—åúÉ¡êE”Ç¡­H;,ùIžØžŽ ÈÙü—Dä®-·=Ÿò¤ýé@À9÷XC5M5;Mïu¤jf‡_﮹RÓ]SóúôÅš_^j0üúvÞ?w®uï¸Zûu+ŸC°) ®¥î_ÁMš*0×-5p¹WCn·‚ -ÎCñ§M•;:0@ù¯°_*© -Ñ®ƒº¹ûMßeÀ#4 ›õ€øÙà)ËÞ?±_Þâ (µ€Çg7‹E€ù™ÌÂ#å—2?)ò»Õ ï¾Û¯Žzƒú TÿõÁ¦úúî¦ Ý¼ƒ×œð𼦯ZaX0›+±•Ê¿ë;àü7Vî^/\ü…v@8aöÖêÿTÿIݳöq#­nËA€Pz•Ãñy (pM`ЂÈ&‹å–ÙDôì¿~½K¸ÍËðžžfF2)c†fµ Q ïl"Ð>çh?  ©@#Üi¿ -ã'GÖžøÏG“v¶Å?à·W.!-l( -í¦€Ë¥€ •  à)Ë[ªú'ü+ -¥ý•ûz`ö{÷ì÷ïýc=_H 2Ò‡G¢³¡áèôìöˆþJMhúŠujxçÊRwÍìt÷ìðô•š‹5S7â÷×δ±p,‡€ÝÝ»‘•‘•Å€¸Â`­€•þœ´­†V- -þiôÉ—»³€Ž XüË•+þËi bBêh«Y›•¢½ƒx/÷ûŠ -( -P -0~ŒvóyG{百>·”Ͻº‹°Ôé… ÐUè7 ä+ FPPýg¨ Ö××ëÿ‘Ädk¾Q‰LfNLäÿNN]ßAà;“•y†–îóa;!ìâó4¢ä׊ÿàïƒõA¥Ô‘h[ò9¼Ð2¢ÙlqyÍ:8cù_ˆÛuÿë]×û¾ª°¸x¯ùž]E2= #HЇÁËÔfÛ™^;J@;;HÚBÂúê²ÙÌ®.@9iÏfGëê®^uº"‘]ÁÿÞÞݦݻá–^ø3aЉ9¬¯b0¢TØ¥Üâ@% -xôH ›-øèƒ8`—ÙÜ|á˜pÌ~% ‰ñ×2gçóá@†ûá@<0ÏMû@ÆÆp*j5êSQd®.SÊõ7Å­  ?Bp«‡p(XãðL{¬é1ÏXÚšNoÛ/¼2¿vòœÖþ縗Ðúl -Ð×c@/5Šð?”ÒÆ tÔWÕ€4’bó…LfÁïÏø! ÈØÕYÜž0þÔžyêË xjÏ= ÈZø£€ -ÌMrÚ€ÜË?JÚ”0Ÿ2&±HW› J꘬«ôõì²Ú.+5 *ýª ¨Œo p§,¿¤Äù%µ›gƒ €Þ>>[ÒN ÕýoF°fÕF¯VåüO´2ˆèÐfóáK>Ì¿„¨€¼¢e^ %(>ÉÿéØß¯«š€Rõ{åÊ© &Ø'` ?Î<ƒD¾|„Ørò£æl6rÇR²Â -ŠùÜØØƒ kiO|Vh£~zÄ:2¬{¦gµtå§³žÓK;¿Þ¹X3=}~Z®¦§âÛS­çÖÎk=¦4€Ã×®žXYY‘ lPô¯ ê—{þÈ'ì¬ì*^°Ò¶âr;1pbˆÌÀEœmÈÿEp[ÛŠÔÿW+-Nàÿ:$ž×©u1úœfqë ðd=ʲ~9 ðû³¿"rÉþ\qû±JËš‘ hr›[ÌœÈ[tMLÜÚk¥?(À ¢Ðà¿T¬W< ¾>¨É÷Q½×z«ëÿZ. é¦é;rš09ÙõI¹–{×A ;Äæ¾h‹I7õ>]°¶V _>UPʼñ¸ž@P"-&Ã^sã3=[¥4µ]´˜[,æ6š4²ù½ïz_ßõë_Eî57Û¥°T à( (hZÀƒ¹vÚ¶±¬­ªhàN0åkGyÛÈhÖ¿ÿŸÅ°ì+(ðç°Lëý þßU"@©ÿ[ZÖ#½˜ þw9Cîç*M2±èìþk2@­ ÀFPþw %@ÿ‰˜üž^U À^ëCy¥Íù0ë‰ÃHîñyLþÑ0Z‘©·S0ç¦FNE•ÐG´oÐ0_Î3 )G€°>ü^È:j ŒÄñ˜Ð€Í´'=öÀn·==™È­«ŽÿUý¯ZU`ÛÓpJ¾‘™kC* pHõÿDÿ¢ÿJø‡F&êæ!\ðœð#¼Še4ð—K…ŒÛyÊ_0ý™;p$Õµ{"a‡ÍO"/aÃÆ¼M+ù)دLð¦M§'Gר ¤P`V©ýÙ -`ÇûPÞ‰`0¤ùj3;ŒIdú ö3ƒØŸŸd‚qˆì±ïÛ«ñíì S@÷a)ÿqJ¨­þrŸ—h÷Xx·–¿qôÿÊf€Šª$Ñ8¯íN–Ç¡¤ Jr¹5aÂvÐ(ùžT @bíÁûkOscÒ!}“þbtdjjøÆp|vvZ/ÿ•aëΕšš×/ÖÌÆ§kÞŠßHŸ;ßþ?Öäyx\yÀv ?T€‘ÁùÝ•ˆ ÿ'ò¹vEä+ëJ؆¿suÕ½ÚÁ92ñ_[ýWé¿!·R(ô—óÈz˜oh+㈗âtt`yÀ³ìÁ`ÁÁ^§€}ÖO -ðsÜ-øÕH€l p¼3IÇÖ™>zê&,\€ ®ÉÀ~}4°%P5ÀKý†ú ¡_0YÐÛÛmÐ5BÐ…>Fó^“JÿãæÀŸ€ÉÉLNÿ'¯Oº'»„˜M³„o |uØí‡œ h®õ*ëŸàãÇõ·ƒºßÕ ¨…Q¸A%\k…&÷i3šÚ,î6müïv›¯Cþ×wýSa_ù|ø…eOs•Èùž&h&€àÜV—«¡ÀËÜcÛàÎçH…ütfíÉWìŸ/Äê ù_qõBAËâ¿WÀß D€ë‘#n€8­(‰l§Jdðè–ÚPS€ÑÊ #‹À¹€š â²ýí= j¯æ@©T|˜(—úcOdÙ Ä=Žÿ±ˆåûÈP* ‡CÖÀ)!,ü5TF¤OJéC;¼ÁÃ0ä7"F0÷x0F‡f®¥xjˆICô 7D«1êX1Ö6cž˜œ³ ˜ø! Ôz~Æþ#õ~0ƒßdülÄæ1hÀváÐÌQŽIóÀP21¾q_fÉl$ªØ÷iد€O`ê! ܦDôÙ§¾Žv¬ä“Vð¦ÈŽ®i€£ Ycˆ@?Ÿz€;:ÿò)sJ¡ùëaÿ_K`þ#A°Ø*Ÿ;QTî9åÄÃسfP¨俨M…R±ôµ†ÿü¹¿ãç$}Œz– (§'N@„p>ù°\|R®6x=ÊëAÅí¼ÇötíÁÀƒ8d&³Öéá¸ÀÿÅ×g_Ÿšýé•‹?½rcjD æõ©x:}cjmíþöIá 6ÛñÔ»_þüê'(÷O¬ ðãZý'P÷«3Þ€,aEJ—6d™õûiF³Ÿ^cûŸü€«ŠÜ‘¢¨Ž€ Úwi dGc££±ìh,«¡¿_®?×î ôwü­¹8Þ†òas{gG‡ÉÌxM–¿&v°ˆÎÿ &õý¨ýû5b  ¾¾)¨ëÆ¿—òÀÉ}5þO&”90®mì'áHk`UöåVꢴ¥×ŽZx (©F|E‘Çá¿€GI޾²;6Që£ðßïÑriÙÚƒî€mQWL$óOÊ/Ù(éÀo¨T¨ÍûãÂÿ:{GGôNÈs T¶')R,Ÿ!ò(åò­¥œ<©‘œ"FkÆÚq-`xúâôÅøùÙááየüg§†­çkjºÿuúÆT|júõñíûésçÖr¹“¹ãù± uDpÃ¥NÐüáÎ:‚Nhï\A{"?ç†ûM€øw„ -Ü@ýÕ®ÿµ9« -¡wHF± ØIôÐæ¸ö,8Ë€Öý÷„ -ø€( ûðx_Éí£}n©Ç¹‘çUk}:Úþcí¿ ë€ýï ¨éY(€áD€öÿ'àã[Ïî¼’ð5B¡§ê“‚ ÿ§“o¿ý½·ßžœì»~ñƒn“…Gï-³eîC:ha "HÀÿ±·6ø¸íÿzN‚PR^pS®nRMàf6“vmmxË}Ý øï»Þ÷éÖ§[_=úø°¹ç^ýÈ.@³fÏxôŠÌ8Ú5+ U¹ÂÉímù“ÏöFöf»íû×AðïêÝÝäÐß°kè½´+ }€»J™ž)àßòÌSË€¦þwâ2º¥y,Wv±À_Õ@*-­P¸çó½Š@À­”HúêbþŒ'ÎÁ<àYˆó›Ð -ä"‹WÝ,þ‡ôÚØŸÐQ½€Êœ~hHÓëé#Ñp4:¼0§Ÿ •€øfzl{lìÁI”ÿš úúX|¶ €ÀÃá¡™ðgT\>̬}8*Õ uÖ:!óuþ‚_•ùrõ#?AŒÈ/¸“Ð:b Û33£3ôé[Ëò½<´ï+¯_yœ¸–§Ü€9€Ù¾z‡2B«úQ’†@ZÔŽrÜ/+Ó -´)e`±ü„ÍrÅŠ'¯L„¡'ÄÁ§~ôKÈ÷©< »¶جZ>Öÿ‰¼ ¥½Ö¢MÆ|9 ÁÁ‹À*ú+3˜PzÏéÄß¡£·§í•´JU -PÜûýþ><r÷È ¾?òhÙýã9_ò°åŒ¥ãkö7¦‡‡§â5ÃÓ÷oLŸŸNǧnL§ãñi¡Wî§Ç†_¯©¾?}ò­µbѶf³ËKæ—?¿ªñÿå~¤Büóm×Ê'¸ -¹Cmªðw«I¯³KÈÀF×ß±¡™ÿ ¸ª\N„üëFÀFäÌðø3šS€l óÈb< 8‹nÀOÔ<@Óø³þã¶<ÿÒ~¦¯Ë}Þ|=xxóêÔU>&õˆÖ¦ÿÔ@ÿ‡,È7ë™Ñ3!»Èí­Å6`%hý_øÿô{oãôæ›o~ïíOûº®Ob®Bü__ÇÙb1ü[°èÇ.@-ÎH¼=¬ vwßɨðNÜôªöÿMµWh61œ¡K­jp÷ YÛè¸Þ××÷i_ßWãOO0€ÏØLUà3_ & p,;ª^€Ëíàª_;<3ÚBwFVCm«DºÎ­vÇ«ÆòÉײ£òÇ#°?8hÓ¥»—ÿw{/„ÜíÝ•òÿ.Z(ÿ׫N@Ìv¯´­RÈ%%ìÜR €£U@GVÙǤôÿìÄ` Ð^`ýßó&øº|¤þJ"Ùæì<mÿÍ@Ìã ÿW‡ý¿¡¡°Ào4û+ väSLö­ ´1€ü3íQ«_JÿMˆðÙ6=qOóƒµÜöûÿ­ÏƒâѶýq45óÁ)~¹S3z=C؈©¾Cu -ðÃh --˜Å<zTù ~¹ã?Ë{˜ÿ“ûåšþSRðªŽP‘2zé‹‚åûö}ôõóØ–°(Ùÿ>%ˆLø´ˆ Ÿ­ªßË?óÙ)©KB‰·‚Ïù'jĦ@ ¡lóaÿ±C¶<¾ -[Iø´áÁ®tøÂø¿åÖ<³u… -”Ê/Ù¤`¥ð'ÈCîX:ij ¼÷wà˜6?aü0sx&ü?ÄÍ^ñá>¬Š@˜~_|¦D؃Ϟ·¿–K–ª[îBÚKMM ÝŒ§§Ï߸15õ¯ÓÛÛÏù×­ÛSžáóÓ¦^ï®yýÆýøv+’ŽË -0Ÿ­[¹zbåDó¯†V\òª¶ê\q®\]]ùDî+è—ãêŠ;¤ßíÜè#л7œ}wú6œG¼ê檀ÿU”ÿr‚Ú5Î(§èĈÁУq€à_®N€k?öä’-øÇ{Ô™X>Óg‚t‚3Xyáô«ë¿\ fÚ`€ú¦KMM¿£@W/u¹Î;-€Zø º é¾Jé‘ÿä¾÷½ï½)§·q~óí7·Þt¾Þu½Ã}Ë©@¯eý¢}å³´pD ÖÛl쮿ݼ  Ú . -46ÞôV× -M]r&þƒœW7wúúÜRþo}Ú÷iñOÁ´T:£vhÆsj«€sp¨Œ„@¼Ö9Ò©âíªO·`œÛÕæ–lyî–“ãÿèhÝŠÔøw{›î6]º;x©÷Ò ÿ»8÷Þ”÷ÿ[ä]K¤ÅµÞ«uüåïkUËÖ„í‰Î-ÄËã¨-TL€ŽB–ò?6ÔF ›{ذÿƒ‰j¾ÆÇx<ó£y#"u¨ׂ•tØE‘Œ~{Cª¸?³Óz¦÷§ç?Z¬ùÉv´A=6"i5f!À ³=x`MÕÿ/l†UÀÚØègN©ÀÌ3Ȇ5 |pTÃ}cå–{ó1;(€VJþØY0m0F ÀüÏäçú#im¨ †fÂú#œú|vå¹áŸD².Zj迯íª6@BøÐ'H敃_‚q@ UÿC PV÷ô»Q–wÜÔŠ¹}PãäŸÒ?8å™9ØŸÖ¨à?úøà¦ _¹˜EœÇЗlõQiXnU-ìÛµªýµŸðÍ¥|¥ °¤¾,ý¾X…ä0*€biÚŠ‡ù£ŠD"gKä2Zöƒbò´IØÖ\HLÅ6âSSñôð{S7âÃ7~iˆ{ÎO¿~qúbÍìÔôÿœšžž¾q#~#}R@ë9ù¯ÇCß½úë÷JÕïr­8C+¡Õ¼z³òðIheueîe@}˜ý:}RñË‹ü>áΊ¯é•Zû_þ?(€³®®~gêè¤/Ðh z%4 «ìÑø‰\³ À}€ª=À±7:ËígºÜ§aägÆž=”xX„ö¯¾¾¾ n€—êû›.ûëûëµNûÿè»áÑÓØí5#¬·;Ø=á57ž6³ $à;“? …?Šÿ7ß–›3[[[”}`îÕU×-×-t„¬7!’ð P€Ç¨þåTOÓ`µd@…`]]Ê– š„3^ïØèëìœùtkù«è{χ=r¶Ø,çÄ0RÐ\h&ø{ -tmG"Ðrû€ÿaw:• -@Ô¹µ­¶9»®¿Ý÷©£çÇn÷cáoDŠºB2úR¯AH6ÿ/áJð_¨Öz ìúSrí^u†ðçq‡ `ƒÜ›”Õ@úgè¶¥ÁA=þ¸µÓ H~;÷šÿ±â¿Æ5Àäkgë~fœ÷ÛcáÍ€1¶éñ{b*fÏZѽžZ|€T›ùjûO `Æ«íÿRj¢ìÿonF¬¤[­Æh`”¾°ýàý“{Zû¿¸÷G-4s‹¶m㇆>˜a[™Áª0$<$Ì`:ø4!òýÖÕÍ×ÍÏÏÇÿþëFÓDcKm#`ð.ó€ßÅÚŸæÔ)+à`Sè/¨,ÈŒ¾¿ I~rÿ¶f×ÇÐ_èIÓääÞF€ÇÛo¾ÙþÏon½¹µÕÙw]Q÷ª{õ‹suu}½×²ºn¹, €–µµµݵRöKùï•O[;¯S«ò-Ì @¹  ÐÑÕá®tœ [gä‹8>ýêŸùãu ¾ì¡#Ð=œ¹wëù ªp WË_°ÐŽÀ–¦Ñž0ƒt l»þö¤{²o+Ûœ8ü ýåEÕ^öË“õjHàß0¨À?Zÿƒ½hÿ 0ì -ü“ô*! Òz)°pZE`;€ÌÊ’Goy£skùˆ 0ÐP€Àœò^T €fM`ïi~;EX*'Æí¹L83< žymLŽ ›ÿÚ„?œÒäøÏ\€ØÐG¤ìçBûÿ!cÔˆ¾y/øÇ€Õ#GÚ¿ ·“­ÏÍÿ+­÷Š`mÀNi@ÌÐkB#€™Ì ƒ|f&à<š¨êëæcœ÷gYÿÇΞÍ.h]Ü,Ìc`DŸCµ7à)Ä#Ü -ÑÊíµÒŸ¯Œ€/‘´%­lä™ ¸ßO(O@¡û\ @Ñž¬X뢚§«¿jýs#@™åa}î¶ê#$èýóÖÿüû’ˆùW£ÿ}»Êî±Wž}$ðH* `±µ´'Ÿ­µœOøbà^Uý¯¦H"o ÎÄ{Ç0^R´nÑ-€CXÂm¡Œ¥†Òá3àƒ»ƒÔÿOí9­3PÌ'r¶ÜX:Ž)78ÞŠßß0}þþðù‹5÷=Ï×ܸ?<•¾ñúÍ·nÜß>wN™OϤ»ÓJµà”›6Áz¾tK•ruUþùjHNWWI øÝî¾ŽŽ þrÞèèècówÅ¿\Éùª«²ˆ0 ‘‘Jý?2R72*×#˜×buTT1dÄ4)lüÇ? -òµwLv1Ó—‰F®¥»©I üC(p¥û?Ø_¼„V@}½®I ^8@­”ý¨×½(Òëu¸©§©f -‚Ò]?¨ »ºÞj?# @jô¾>!Vnÿÿåt®~þy/z¯Å 3êƒ^,ÖÒøq°;¨«à–÷¦—úÿF”ÿçåÒ'¥_GW›6¸Þ%ŸøÌ–|ö­­?ñ3ý?ÄÀÞlÿžv´î©âÿTH¦ðÁ²C[жfH%(vFVÜ}“}<¶²Û¼”€ßçòb'ÐÏçi]+vÃÝ&Å ƒw/¡ûoè¼d¸t÷$\À@Ë’“&Xq„ø(ÝáC&Ø?ºÅ8ÀªÀ€9Ha*0% €€fÍ[à_~E¯b½î$l‰Ì ÀÂØB Šúئj]˜=røñòºkÞg*@ÞÑëõ)©ù!ÏO釢F}ÈEÿ­È‚•q"\¬­´{¡ðÒÖЈÿcú‡ÃüÛŒ7üáTJÏÝÿÚÿFu¬ø¨òf¡_NÈŠyø=JòŸybgå ª  @kÿågÕô úðQ;@ô–Jª‚ß—Â>™GìV«ÏVγÞW‰ÀÜ @`|_Û´1‡Õþ£<ƒ±‰|kB­òš ƒâ;å”WÍ®ªýr‰„mœ.€Im€«¤Fö1 €þ_>ÐíAë4€P@[œ¾”h£ÿ -úkÉ@JXþãȽãàúO4`©¼§¾ å -PVÉÀRøÃÒ€¥g"€½§Hxxš±çJ• ys¶µ± ñtú‚<Õ¦¦„ ÜŸŠOݘ¾c8žž¾q!=•þåé×åtãÆýomÃŒBHÀ19îâåL#h*¾¶ÀwH‘çJHÛëã‹ûFÇŽëä}àÎgŸö²¯ ¥ø¿ã¼³á¬Ž„GFú€þhŒtŽ’Ô þ3s.ÆbÜ -ý‰´g ‡KÙÂßA -â˜4™O+ÞF]ãEÊë ‚ÿMýM†à zƒõ—À.Iñ î?ªgÙ_«${ÁàmõõÝÐñMhcúÉɼù¦p€å°õ±ÿ­Î-h*6î¬ÞY]½sgõ“KŸ¾î^ï5¬ën èÿ¢šÿÇ0º}ûv°cƉZ ÒjP€™ -7‡}îŽ85vtt95ü—ZýÏê¨À: zÍ”0‚¾ÐŒLF´;–” -àŒf„ivå9 ýê…Oš¯oM¾Ý99éÞè\~ãä¹ÿ0@X¿”Z66:'«âÊØøkp44Ðþ—³A8€áRĆ]ù‡Á]Èš€ÿªþï]G@D…i¯¶9]«àFÊ{€pà eeäP@HÄ€èÏ&@3Ó± -ÿž{öG¯$H$Ç3gÏ.Øsól“£òø<ð3€pªÊ¿¡™TD.QÿœøÓ–‡®?Êø/¥ü‡q¿>¢7†¤NŸ2΢ `¡Bñ4€žôØØûkkˆzI+B{1·y¢¤¢˜üCû?ttE™l…ý:á 'º`ÀsVÀYOŒÒl,̳à¯ìÎÏÏsj€«ªŽòŒÏÔr*]û业ø'ò{‡øQ ÌäŽM  H¢­OToEY^¬xî ô/+G lÜ«¸á„RþÃ=[’ûÿDìö÷$å"bû8Ä€ÌêñÑ9ÁèÿãK>i=Dœ3†D¢ü²~Õø§_}Ž(»kU…P –¾,ý=žÆ%µ¸G³ä’öí¨t@f)`ïí“ç| Ç¥ø·ç"B¹µˆN‹Ôÿ¶œýA:= Ï1 ÒÛéôÔ”0€ûSSÃÿL߸1uúF:~ÿÆìë÷oÜß¿/rî8³ŠÉX]ÝÊsÀµ)`kÜ+jŽ«#2?ÿ}û¨ëðNÿ5pGþ×*œ•wŽ`?p¤££o„‡€º'òªªtZ £ €l€ª@Í0ûwtí}hp}O(À„%ˆ¸ß¦Û‚Á¦`}P0¿ÿ6 €ú/ê/IáWö±à­oll”†N_Šu‹ƒ€‰FÓi¬Nþ`-€ÿòqåhÿXpR0÷ŽÕ;ë`ër¬Þú|p=è½ Ûßn4n×BýW¯Óu'ž (Ð¥õÿûºú:ú°–áî`õÝù6Ê9þþW€:^z -ÔšÁp®R}¨@pÐÞ3€3‚Y°mt2Ùn¤úDACÈ}Õ½êû´o„î¾û?þ韠É:n—çÝ(ž¡UäÐäcý&À~“’¨.@ôw »— —z±H€F{éÔbaÐJÛêªz€:Á؇R.@íË嘕úÿksò€þvíÊ^ߊ4ü’^EP|"àóÿ¼<æ_àÒöµœ/³à 6ÚÊÿ –ÿf†Ã×ôjú_íþ“  ûŽjð6FÂú55¡0ŽX¸q -q€BÆãb;×úü€êÐ -ðBôƒ¢©fô‚ÿá,* €HÈju¿€¿r+ÂIÞ„´o~ÉÀ@û¬¦ùGVðY?·Ø€m0Áßþ(ª‡­pá,è¯Îò%` ¤h ßþ¾o?!E<2%òìÉ+/M’Ú€Â=ÕÀF`«JæÉ+Ñ]‘ò;$  W^}ÜL$m6lÿù¸øO„ûH?ޤß<êÿJíò>DÿÐÿ_éÐu —ž¥3Cþ¾l®]Æw¢ÅW·«jè^¦ýßçå¢7`*U2"IYS …,ñ=þþhÏ8gO”0<®ÖZbýŸ{º¹€þ¿Ã#\3}AÍ„l¾ÿ×ÛnLOO§§^ŸJßO§ÑˆÿwäNžk=®@39B r Óµ¢½€¯¨WqUÿw8YèÔ;… [-ÜÝè»ÓáÜ9 ]‚üdw”Jÿ¥CP¿cè2öpê tŽÚ`^ÙŽÆ*KX…ò;²ŽÑüßá)`;Ã`„ô4 -þs :À&Á9êéô;Aý~÷`?öò±€€ÔüÖÞ ùWy‡üƒ¡©;¨ƒÐŒô¿ïLNN¾ý½ßüç?žû//^˜›8/Ÿéäc¸qgãÎ'Ÿ  °þÉå[«·T`(¨öþ½·Ã¨>ØÄÀ‰FP€[µZÞ Y“¢å/ «<àNGß™··Î¼¹ÜþñAûŸœzø*àÿ¡]N=vèÌš{TòÊÿB5€vÀÙŠf#j -Pa‚®BMê"™ì“·'¿÷Ûßþöÿú'[þ”Èk•oÜN‰]'Ÿ”8ÒËp¿»j¢/O€»,ýï*  ŠÐK»M” îöî -7èåénSK‹ê´¬·´¨5@×*<5™–)“êœ@ÿ·µ1ºÅ(`Gö€€nÿ9þ\(4ª-¡e2´žß«¸ ¯­“¾×æ9%÷þÛRЉ……ù@,|Ô7ÌÌÌ4@,ŸŠ¦N©\¾¡ŠSà΃õ£H°FÃÂÿ!¶¢NÜÄ­ž1(À6gç*.@Ū`ø¿fü·ô©†hýƒ;)¹£W•zC”m~•`óí­¢ÌËó¬öýžÊÚ_lC–ÿòãÅÎzØ þ+ `Œå–÷TšåÈð¥‚u}\ä -U"`"ê¿ Ì!€o|œ-m  ÿXžæ­ùCÕ H&JO•O`Yiþ“*ð—<îÿIzû&}ŒùÅA!@Ïø£DÂÞ£Yÿúzö™€ @B¹úp­B¾Þïó1=™MÕýüÆ8ü'(³PÄšÝßM9¬iž> -ð„& eæA0©¬ó”NîÑ>LhXU"—Ë­=ry!í“ß=’…¼+ŸŽ_ˆßؾ÷ܸáÆ¿n¯m¿¿Ž¿•ÞV±Åã - Àxu¥N‰öYó£éR¸ïä=êú;œÏúº}JÐ Ù:FéÿûÎNu{ǽιý¯8A( Z `ä*u£#ì<ÓÄÔ%¦Í4ðwi-v˜Ns @ð_п±€þõ -ÿƒèøó¶ÿwõõhýt‚ÿÈò Rˆ Àn¯\×½Mýõ옽ÜÙ3uM¾=ùƒ>4>~ã7py»RLnlu‚¬~òÉÿÚ¸³úùçë««—,—.Hê1ûǀΠ Ê'¯e´ Nà fÓy¸þ(°¡êÿ¾3g¶ÚßlÏøÓ ßs€{¸¢ïlŸyŽå?wh|gådÓÙWuÔŽU%D ÃíÞèûßÿßßþóÿöÛÿñO'ÿ¡(@±Œˆû8ýuu#WëÈ…]+®»»‘ÝÝ»»w‰þŽý »zÿRókÕÿ]ä€Mònº_R^½MM4怅^€–ȺEà¿mEUÌñر°Å€0€µˆáÿ½U@sá^³Ò4Óu¥YQ€W°PDªÝxælÆžñ/øsÿÓœÖÇcÌcð®o` /ÿÄS׸™U -óHDiˆÌ†¥XŸFÁ"oÂ=xÝz€¿1„;ÑÐpÀÃËrz,Y[[CKe@+þ÷þîÞ?¤í=[=oÔ$õjZâ(I“‚&ˆ¿Ò´‘æ E;!š°•74t°)ÇLéw·îÝ”Í ¤¶æzFÚ¾CXèöÌÀ S†{Ed8o§ô\½›9°g©ÍkN¡˜ìÝN9s׳ÖçÝsv;÷r_ÚM¿ùaâ¯FMó ýxðòe¢ÍJ(Q elú‡(y²Lð(à÷ܾ{nï’ûX럈ü©õ7úo¿úÕ§vë»ÁýœÙr”íA["O·*z>Bñ_ŒKˆß&×òq†àg½,üÉÎ}}·´ÿрÞg\7ö¦Ä €£ëÙ -çv †í–E§j•¶f¥À#öTÆPâ¿eöÄ€4À°ÇiM{Îè¥÷6 -UÿÁl[ÕÈÎËæ 3·3™Löì…/1üÏ^š9¡ûý‰.`ö£ÉxåäTœÛþjòO¡¬&د> i ÝiJ45%D/¤Ó iû™|ið¯äÖ3 pÿ›ì¿TÉÆ“ÕG6ËÝz”ÿM2î¿r—ðúÊ]?¡¹®¾U¬þ“òF™ÿàC¼Ë0çÿEÀ¦•Ð(§ð-'oLb`’e‡Ž†;N¾˜DwŸôDT è†¾½4’[pÿÙJÚ·:Ô"€öŒ>þ,§ïæÐæKñÀjíO2Ø3Ø®±ø?<²£îω´þ[ìÿÃÉÞâúŸ ¬ôY‰×Èïæv‹üØÿ+þ«æ?ó]P ¤ðU$ð;šn­/ _¡ ð5º/è'OO,*þÃúKÿyåþ‚4à‡çžþüç=‰$~ðG¢¢]g¬«^<§×{Ïésò–z¸rb6MßnP”€º@!ÿàðÁ›`é ¾£P¹\³ -¶!j6˜ÑÜçN>RyÚxË]Ôÿ)à=]ÚŒµ¬éÕÒ[¬é•£gÀñÀ˜÷ÖÖ“€¬ÀìuWÄFŽZ9ujeeäÔœï‰oee®YzÀO€ÿ`kOžì쬯-îPiÙkDïS€ÚÇø†µÈboÈüÿ¬ Ëÿ -ÿW\}®ˆÿúèŸþ7œ|óÏÛÑìè:Üpm ¤b³c‚¡h! -ÐB§eݘl.ÝÀ§wÿéÏ  ¯g%æö¹c^ïµß´n·¶Ž¶¶¶kýÍûÕÉ_ýùÌ­oAïš/jèÚ%#°•¦çU•®*,¸¢YÙ<„zñõNTû0ñÃ-À?7ù{ð»»‘þ€ö/"¡zùd °nì¤?Ñ:qø;ë!ô[øªs‘n´³  ÀJeƒ‰™üî€ @ —ÿh²À@ì1è£îçÞ?|×¹@ç¯ß;P„Ñ=á,f¨”Š82-É8"e3ÓTÊòþc0Q}A€ýºþo‰qªø+SƒÆ'VNUNNL! `rbJ?&§ÇƉÜõ/ÌÐkó 1€‹]Ü(Áÿ†ÕšžüøÄÑÉ©ÙKâõÛTý—ŸýìRAôd•X÷¡í?=}Û|~Ñõ#Ò¯J†WþÃñ~Ñÿ_ÁÐ÷SñŸQŸïGÀ˜Ì~*­ƒ©’« Ô ò4~ ³„zP©j[[öd9~Öa<{“»Àn˜Vh‚ÝIQåi˜Yó~Ÿ¬è«â ”“µ-ˆ>š1ÑwÿYOé?½Ï¾E/‘UöoP†ü…š"\þ¿(ä4 S!ÿmC\YiPÚ«B~‚Ùƒžü»k(QB^2ñöóc-¾,lI;囨¨’Yà?ýž` ŸZú1ÈÊ´Ì0üûüçW³ölúiOâÜè‡&`a!L”à« gÒ ?XÝÈ¿Mðâ>ÄN²°Ês¸Ì5ÿ­A]ÌMõºSŸ`( -€'P>' Wüì €qÿÁÿÏ»}Î{t¢WXç„Ó3Aðχoÿ "Up ðŒ±=PÊ -¤Ã?7-Ó&sËïêIÐáòòz¶ fDòÈ„?І]<)nPe^ ñ?á|dÿ µmãµmµå&¨·‰2°Í5•PÀ{1ú ƒ7/©ïü’ `-€¹_‚üÛ-bkë©ùEc*ÕmLÇ»ØAèîFÏÀf= PQ`ðÏu?ΧúæN¡þ?y±áo€`Wð¯¦ØDѹÇ:€= x«iÀ©f¸Ô À'ÜÐå*ùÜðz潘Üs{¼×Z[··‰;Özì7ÿë7úì'|üøÇ0¿ÒÿÆVëÿ·ü¹amRíO/«5~Õ²ò¾—Çí7`г‡^×÷Ѿçîÿ&¸€ÈÌ¿»·»–¿»— @·ô%Ô'ðߤKýz -3ƒäÓ`œu˜{Û&‹ üåÑOYnþ9*ÿ—‘ÿwu¯eOðÿ‹=‡tbØ›ØøA ¾‡lniùj)-Hõ–Ú‘Lhš!±²ÿD|r¶òRõØ¥IÙ09ùÑ$•þƒ•‰á&SœªÿÊþʉɣÿÀõÔäiLÿ!¨>=‰4 D¢©ÇŸð/„ž†pî²[µ¬öÄ¥“lЯ›¤Úü/'&+û­WB5å¿;íÏd¨Ì s£*Àj=/þá]jÛÿcHþ •òd€$@ØMMJ"ÐÔ¤h ûÿÒßÿ^ä`½VD÷P…¿Gúd°ç ~ÔêÏèÙNui2@iý$W÷¼âÏ‹`VMq€<+ÿg,î4ìþI €“QöGxñŸÑ Øê€ÛŸƒ×ñ üÇÃÌçᙓӠ(¼(|«Pö1Z/ª€Jß+H‰ï”þ¿"ÈÏ…Ñ„˜ä6r°Z nCñå7ÍÍ4m—ð?’Åd1³˜ñ/Käs2@¶ÞûÏŸ;÷óŸ£°°°J׫?HØíö®Õ…§Ö·J6¶ €]ï­[Üòä3®—ø·¸_ßÒ*€ö ǘx¤æ'À~>•­>À?îx½Oܺ†­«hÏiŸáßÉz× wªà›  Ï¦ÿýïÌG¾ÐŒdÓX ¨E60šüåòr£P€r¥4È5dÓ—?ü·a\Pnhë†$î¶ TÂuâàöýa…MrîQù¿4o£7KŒßüW=¹õdmíÖ“õOÖvÖ{{SãX;¨%ÒÁ´#À  œ%˜˜ÝulŒ_±k¤¯ïT_s_ó) O3×ÿŸ64|ú¦Ÿ–þswØ P‚ Ô˜{"9¸ -àeèÒ¯¶´èa@^s@Ö$Èé¹!šÑyϼ/æñÅ<±c¨þ‰C  õ7­¿ùÇ#ÿ¨&°ÀøÉ‘šš#]ÿ?|ƒYÑqìíI­Ï˜K*~â¸l¹Þ_ë\·´Ç ’;ÙŸÏÖNø'ü·tnrûs.ÿ{Õµ:ºeð<bÒ€ žxÀ&¬€:7Sðb c§Úˆó@܆jbÞ«ÂuÀQ@º°ìÀà*‹” «ÿlÿ'¡«ú”æ}ì$#e·ƒV-ü”e"Ç縕™©B >€•Sñøä¥1ÿeÌC€ÉÉøGTöOM6…šˆLM`o¯²3¶ì£°˜<Í~ðHþß%@•Z8ì_ìâX  ÿ™lâ×'¦æet0UM}i¸ÿ—I?'øP©?6í¿Ë#ý àð,¤‚Ú~Yÿ“ä_…ÿlh4³,àvHÍÀ®\©¾2&€©©ŸêVœq| ¯FV¢TñCÿ¯ `¡²›È -½³wÞÈå¶ ÛßJj[z?øÌN€ÎÉ]±ùµLÞÅ@†9Ö°åüKiZNì~’.üíp!”ò_,üÙv„Ú“¬#ä@dóIèÿ9è[þC³¡&BhÕ­vè [ïJyïLðrãe>ÿòÅK¶` ¼“<ùk €¼ŠÒ“–ê(è• Áõ)r„þÑXxºš¦š?AП -ðtáÜB:k?“¦g_Öþ!/‰ºh‰[K·î—è^5þR•îÆï$°äyRåZB`Ð¥Ÿ¸8]>a` -ZòúžøÜOÿg!IsºÜü'hºé>a018èä1€:†ÿqÆb NxðOƒ.Žï1›£Hæc<ÀN?0æ¡’|ôæ‰D™˜eðøß6Ρ€ †¶(ÑCy´.`ú‘­î1ß=¯wžÎ÷|OÚçïÝÃðnnåOýé²¶F—õÔú"ÁL*Õ{=ÕÍ‚CÈjà!™ÊEX  ³D|>,ý­þóæ?êÿæ“'áìûé› @0øgzƒßà°›íàè¹½IhiQ‹€<^Ñ[ß 7Ú½íÞ?܃ÄéCóŸ@ëÀ1œéøÇ#G¶©9¢t«¦¦æxÍ?>q]Õþ?¿¦m9ö2{<هœ—ííltáAÕ¿/Æãëëë–õÍxçzgØoüÛÚ;ãÔìÐümÖ¯×SéOÐÿIï7á¹Á n -`+Àh4Š'0ûl2@#!N÷,hØâíâäåÁˆ >a@ˆÉ&ò·²Ü<·ÜL¿Ù«_Òo™{—%Ýp1®ü¿VK4ÞG ZØ‘²¬q84ÀŸ@DÛ¥»™¡j(ŽÎž˜­œ¨†c^ˆp?Î{ðÎ'Àÿhjò£øÔGazµmjjª†Æ(¨ã"@÷²z¢iª÷ÄÝ1Âÿ0¯háõ™n­®¦»` œöŸþõßUß¾;&ûý°öÇhjC/Ç“z\ó9åþKð \{&öəЪ-T…òGÔºúÖ¿H0pОiš僪Xs… ­ˆôäæ~›˜_fÿü€`HT´*•=S¶Þ™/¼ã'ta#Ϲ€¢ åB»G|ë’B0¡§”%ô÷¥ó2=gäîù…Ðyìœ>]¸¸ð*|înZd«tøÏý`uaµk5oµ¿¥0`õgøWHX{^¢kA²hÿ8«l© -?½ó]ñâCKKe -iŸÔüK>¬xqËhû'0¢óxÝž³>Ž¥áö¿Ûç»ésž¥Û< @ j¬‘³Wðð K%¨]@Âÿwù—¿ƒ ÐŒ6ºíÑh~ü0ù+gGÞ€ìüñaà†@y[¹yÜlÀ”žðߥûèøczüÆ æ@I†ìÅœ¶GÞöG¼¾yÛ¼—ÀÊÒÒÜÜ“_¸õdíûkkkŸ¤Ö×6ÿ½ÝFS2y€5ÿ‰`YÈ€èø\}¨þýêøìäÉO?ý´ãÓ7fÇÚþAi”¤€Å8~ö n¹ŒK ›çzVæú†…øm^Ès£F¬´#:jEð?&ðÀÀ±c£ÇŽ#¸ß&Äê3ðóé8Ý4Ùæ]?ùåD¸Ÿ;sæï»ö–‡±WÊM%(ú&æ©Ò㴈벃ßNп_§òX¿ØiAIn¡“Štîtn2 k4þEðúŸÿXX¯”Àþ7Öë×´^ŸZ7²Ð¢Ò€X¨{zoxK#þO¦:"˜ûNf ZlÝñe྿Cÿ_lu¼—Ø­£§üy0™D2º]È[#e™+„ÿG í/MÆQÌÇ+ý—*ãq= r’Wý*§f{²~aü} -ðú¿x%Ö§þSüyTÿùa8“ðgf0ðû©8Ãb@"qîôéÓ ?ªy ó›0ç§»zÚSßê1^ÝG Þä#˜GÑçp¨rŸ¥3L2¡ ×ÿX àúzh†" D(@ˆ?üK±?`D­ìÿ ýdéï·rCÛèÈÉ 0)F}h0 ÜF_R“…À¤¨e@ÍzIòW:4±`ï¿gìÿKÕ}RÚù"þ²ÎŸ €#J €7‡šÿTûß°Û“š 8^ @~ù9 ÐÙxÍ -€´˜ °ÇŽîpG%÷‹—ùwÍ6Ø ˜sŠ"WÜø:A ïkãM0Ê $M "ˆDVCçÂ0ž~šY¸èÿùBö)Ü0XM,¬¦WÓyÔÿví-vŠ!´Ioþ íÑ b¿Š#J€ù®*À?*u+UK˜ -Hk`'.'«¥ °t«ð³¿çf§Ûí¦¢Ôã$\ò9}nÂÿ›„þÿ7™8a €NÀ¹aç ëœK¢¹0Ççeÿåä»üûkÜàUÀPh³ê®|Ü\^þ; ÊÙò×€Õ¼þåÑ瘴•Ã;m˜Œ+²¢ð¸<`ˆŽÿÈdr×Õy½&®ÛççïyÍ›LóókO üÞÒ“µ[TþïØùd}1õ 1ªÿSã©”±—é‡à™¢¦:!¨ÿÎ’íßg‚ýti!üÿûbo$Sv;wìvÆÿà¡.<ç` -¸×ÀK€ÿË—[àÔ#3€!K.çÒAnÌOÌ7zÿ#¢sÏüßÇ €ð¿u`€ À¶Àÿ‘ã̈8X´Õ9ò“«]g^'„>ûÇ?ùûåaßö‘íííFÏà ï„ÒØµÛ:Ûa½‡ñ;•ü‹ë‹ítŠ/¶3ÂCçÏUz ÖÿY”Ã/:ÿõrµàß¼óW#€înn`õ.µÝ@}|,Ô#ÀXO ÔºÚÿ«·”â-6 ¶éWƒD@Ïšj.ìðoO\çZæZ–! –Å —WeŠÿýÒ°åèØú®YþÝÿ&ü‡+}¡ÀKU[Á²:Ó»ùBðó™ªê£Høùxvj2Nõ}µ¿b -3˜ó±ãÏÔÔG§O¿" Ÿšhª¦MrÐT|k{<È'p‹ƒoÓXbúîBbš°á®ØÀ —dçgBTΗïb³Ýûêê+×\ÝKKŸ+ýhü2œà @ íM+%àÌÐLè>ºÿ™¢3uÄÆjð§“œyÜ´ò/˜|•A+“G÷? °Ôà -"@ÉÞ -îr, 'UV0¢ÁÐ”ê® A€vÉ bÝ êÀ¿¾ÿ‡¦?‹ýöe§àc©ÿ ùƒ9Î(檂nëFžÓ… åÛxùâ[ @Qã‚‘Ä\ü ìs›]¼ßAà_¿Ìä_æ%P¬¡£x™/òTå6è+ ¡"—áÐù™ðÓ†Wétzu¡i!‘Nc°pž×PÒÙ‹OÏXÏØßª ¸÷=˜ò£0¬zÃ`\˜¸ Ò«"B°$>T¯T¡ÑKdV>Xùò,ùõEЀ˜ÀœlHï¾étßôÅ|NçY] -1@€“ÀÿcÃc.™øa ¸¼|5÷NŸËÀ>``6G£„ÿ> °·aî?n*"¯0úÃã6xö–ƒ-ÐgñMøöX ãfC]€êu›ÁbÃ)`4.Ú¼÷º#p ãÿ'Kß#ð¯kÿº~km}gsg½·€ßH·!y!¡9€æ:48ÀCÌËujEþç?c -pòd¡WGW×ßЙè8öJéó<Àfú—Hú[k=²¸ââ)Ã?³€ $GS¹;ï…€Ûç¡âáÿ@ë±cÇZ û÷ÁPù—:¸ý§ëÆQ#Û:Ââ€CéXŒü?þÉOþó‚í{6ÓñšííQÛuSÀf¡šÛ&ÂûEKiŸªòvÙ싯3Æ÷Bá·ÙÉ”@æÿ6&¼¾ß‹é?ôõߨÿ7 ëÑùçô?ÂùîúzY 0Bõ‡ö"žÆ±@âÿ·i2ЂGÄÃÒÞ8?¯W9.Á 5º yy—%ðª86  µ¿jËÈ[>¿w€]äÙP±›Œ @‚¦Á/c›œÙ;•<•ŸõÇ+åÅ h¢z° {þe þ¦ÓM2¨ä­¿JÂüøT‹ù¦*ãxóc‰»aÿ˜ÿüÝsþ4ü‰……*ãž:ž:PÀØ—y~øg)—ø‰vo†>!ú`ΛqdíY Ÿ? ¯ú™ŒCzÓúÀžø‡¦å» -Ì ñGÙH.˜þÿtŠ•‡•Ggr8ðÑ£PÖ‰/-íïæ¶ôµ¿›Ñ].ù“(}M DÈ{€š,þÛs -Àò}Ìÿ üy0)å?QF|rû[Yvûu”_™ÿ$ÙGÙÿäò¹<&ì¡›,ÊJÿ·Jù%ˆHuàŸ[”XhøG´òÀWïÜ1Œ5¡EÉ’=´·ØS*Å7‡Cd¡ô‡†¼$‚|§‰8‰…pWö)¶ØŠª‡(@8Ý•/À·÷ó½Ü›c…ÔÒ0/F c7Ÿªÿ*—¾Û]åÖcÓKÞ]6àºÅ£ô0Î%¥ôyd;Ðã£}ØÑ¹º¹ €Ãé#ü'0qÖƒúÿ4ñ€ ç¼ϱ ðï‚ JW¢Ððnÿü¹fÁ3€SpbæåÏAÆe0þ7ËÍ<À`Àò¨|-" -ZWg1Séo²Y TÚêlÆq£-æ~°™¼óóKO––~ À-*ÿ¿¿¶öÏ©OÖ×>!héN©ZQùoäõs]¹êp÷Ÿ5—ØäúŸà¿å³/?£«“'?íøû.:þ¾ë»Ý.Y^ÁCB€­/9øwð*aÒ—lØ¢{¯ˆK°àñïÛ=ÞFï=ßÈŠ/æ=†%@tF[Y00°_£ãÿq®þ÷ñöHÀb¹F7öÑ 8ò§#G>mà—œ-ÇÕŸü -Ð/bšýØ£:ú²í}“¥ÂkDÓï\Î×.ׯwÆQð¯ëŒõù:Wç(ÿã6 +, ý,$ˆ'°ÞM¿ö;BRwµýÇí\ ØÄ‚f'/ÊÚàú¨ï´Ô³°¥Ý·©4`Oã„·±”žN €kå°ðr S°þ’§þ€{‡²Ö­ÞÃv"ÉB.™Mj»‘;¬R) ͧ&/]¶üÄéêɦ¦ ¶ö›ú¨¿*‘kªþu8N'¦ššþÏN±œ.ŽáÿÑ€ ^˜¨>]=æ_ bÿÌÅÌUkOÃØ\¥S˜€ûá¿êàC×?õ|æsÇmBîÛ™™ûTÃrSÊÜfS?€`ÖÉpë€Å}ÀºóyF €ÿC(ÿ1˜8PÊž -\á@ _^aÀäO«§øQÓ§6ò} (´›ÜÚbð 9F<}.Çêÿ-hö9WúVkÉg‚ý¦vÆÙô–¨€‚n¸a~ ‰ûX´~ɰGùŸ,uØ/`ßYc–ÿSù@H0`…ÿÆ·ynhô‘]},QTÛŠÈ 4òï|—\ ¼Jb’.«!üVÅaŒ¸D¤2¼Z à?u8ÿŸ†Ï/ô¼J?]Ày/®fíÖ·jÈ4åÈå›CÀ…Q(òyïÂ-¥ N°$‘oƒ  À!p,à9 À'#´üÝcn÷Y0€‘‡N§û,Q7ÊÿÓh8qvƒø茹Ǭ -´Ü²õŽ_Ó:Vb˜<à€tèx ìð;ÑÊ>ór`Ÿ9ÚffÔLJÀ ûÏ£µt?Zg2j Qƒ¥Î°êõÆN›×0ÖŽ›b¦À#ï=ï¿=Áà{OnÝZû×µõµµõOR©µî h?_ï®M¥j¯Ư—ÌL#Lä C£`’ñ¿ÓÙ7Û_Àÿe\šÏþñ)ðßÞõ&qIG‡]ÀŸá?xx±s˜87¨Hz.O—¥Ь[ùðÔ8YŠôÆàóþ¦u»u¿µ^Lj#po=¾½­—ÿ|µÏ"€y›­‚îŒb@þ‘?mûVˆz^¬Zú+E-@ÁdÚ§/Ú~`#ï4¹üï4Š/üy1Òï\¤› -û±ê%c\ðÊ|åÓý_g½èÿqs³÷Bï_Ý‚ýXß]ÏK½„ëMú'hü/ê€8Ñ¿Ã,£½ÝÛ8O´È3/:€%þÿärÍ©‚€ ør¯åKüšÑà@]òÏnþo ={ÿ4EvµhB—]-²¥íRvƒ‘Hfº -¸8Û? ;_Lô«S ¢©zjp¬i¬©©rÒŸëÿc0‘öŸ›¨ž .ø!˜äÀݪÌüþ™t:´Î¦ÓépÃS´m™àäp”…Í3¬ðÏDÞC™²gPå>¤OðYÌŽ>H@$3Ûß`<PĈ2„†f–¡Äga`z芴$  ºú§ôæ¨Ä ÐÝD‘—xÖº@yVîÑ,±²‘ÆE»ô¤€YŽgì^[|¦åJ«úPÿ3H2îBþo×ÔÚ`0¸›³j°úK:$Àþ×Íÿ$³°Mœ9N¸hU ”…¯µ]ôñ¿zKýo©ÿ5V.žDÀ÷ xÇ Eúò/‹©ÿ ÷7òسÔX°øFh`mHó¥ Ò§_ÿŸ²ù”#üô|ý´²Öì¦o“·–§‡‡¿'á|ì‹;”âèMâ6æÐç¡4w¡=Àd@²}`Œò߉ 8è‡ó¡Êÿ‡Î³}cgg ýé]° p–À„rÀA8°AðØ ·\Ã=º %øŽ_Ó --+n‚SE…Él2ëø_^þ=€—üÀî°( ¶îøl×Mto_d£„𦕥ö®ÅNËEŽK Àôh-€?l¶1ŒCuO€ªrúF£¤òa¹ß‚Ö¾ÑØËL ³] l¶¸lìóþ?sv¸Ó»Þ«¤€½b -ØÍ²?Y4 -êƒ -à¯CàOÿ&‡QýwZ¸Áè/Ó¬N̤kJŸÈ6пÀ,¼ÜÂ@JÿïpHå¿õÅÖA€Àë}ììÂçŽ0… -ÿ]øìæ’p’¬< ïŸÅ2_õG³MÞc§ÏýSúbOSuÓpËj8Ñ”ûav¦' ›¿©©¸„ÆáÜ?9;;Y‰Y@u|R\Y¸‹ß§«!$Òë±Rn;2Yƒ>ªõUõet§ ø›Þ;t{æ>ýtÅ¿7 -0Üç±þt¦ µÿ« öüø» âW ŒÿQö£À쀾׌ÊS^@“?•]ÀÉI4ˆª\¹;ý_>'BÀünŽ%2@tAÎ.©½É­d‰°ª=¸`qÚçáÆ3@®¬Ý!À<ýç+(ó±õtlI3Ãn ¨Aþ¼$ó -%,„òϪŠåÂF.É£üÂÑ–¯¿MçQÌá›Ìé1Ì d'P…pä×/ÿÒ%]¶¸Q`âõ·:áPFŒ!fˆOf !ÈŸi …³Yzš=mxŠ9ÓÓ§™Õðj&¼š'²i:ç¬oÕ#u+4÷=~u.¬È—õ|¦UK®ª¥a5¨¢×.zÇ *?Ÿ‹C~ÐpÂõÿMø0 Ü÷qíÿð¦óáYHÜ7éîi4&”Ð) J-ªÀòžö®_Ô‚}1w†Pˆð¹üCž Hç¿ù9@t< R¿>V¥·Ï D Æ?šÛÚjH¨ƒb?j¨­' -°ÔÖÛÍÑÔ=²yïýAÖþumgmíû럤Ö`RRÝ)C­q‘BÈ0s 0=,Ž„ÐÇËÈ -pòòåÏÎ þüŸyc€—¸ !€êluìúoQåùE&{ì|õjór w†çæVàHO—ÒH<Ðì¾SH÷=÷1Ö´î׌¶ŽRý?Ê#€íýšmrÕØç›í¶€Z -8Τ`ßv¬®sÓI˜Ê:A…ÿtU÷ˆon7Ú¶¸…‡î\€ö®ó2þ:*t1ç‡ËŸq}—ý`Í_Xâ6‰ûã®ÅHÀ¿$ z€?ö± ØKô0è…s@½q]eÕ€¥Ó&ÆÞôòYÒ•@\•—[`Ô ÀúM_–ffþzø¥@£÷¬ÏínE"É]Î[ü§[»»Z0BÅ8r.MVORm?;åoIüÃ?ÁÞTWz5‘HøÓ]éžéäÒ‰ÄÌi^˜•x^ü1q(Шnš Ð4æ_ ‚¿!s1}1¹ø4Z˜NлBaï ÍdþþŽÏ™Û™q™ÛÜø',§w”…t¦ø"´ ^Eˆ)8è=Ÿ;BC,ùÿýOfÐÈȽ¦CÐTÿ `ªzR:,²ø0œÍúo°0f/Š˜$Ùó($¾¾²õ·Åþ0°'¥@çøzµçÈEðù¿êÁs 8ÊGÈ/þ¡îç÷0äKN ²àfÂ3µ^ ,†‹.ÿ‹p'ïüo]` !yHèƒì报p!Åw.7ÂüKÎT®‰y› 6öÆ@8¤ž™†Œž@~Bþ êÿp8ó´áÕ*®Ð Èdìéì[Îäÿo[{ðHûÞð/n1Зð{†¿y ø§«%!.ר|ÄÆdÉ÷7t|®AÄó($àáÈÍ›î›1ßCœŸ:é.Q€³,lôœhÔWÑQÃÀ5œP `οì(¾ëg@þäJÌ3=0U0ü?0™pàÃr´ ,7ó ŒdÀ`n{ŽaÄ‚æ(òÚñqs -%̶¨É‹™Çëm&3Q€¨Ù0n `ÔÙ%ðdíû;ß_[K]ød‡*ÑÞT·q±Ûh À8P'€ÿ&w}77'3˜@ÿóÌXHàÌ™3ö3gÞHôË­E¾Ðð–4 PØ.³P3Z+ÌÅ -Ú³41ïiä³ÇÓî‰Å˜ø  -PC,k­ûG€þz÷Ÿü¸tZ Îõ¡”‚ûû¦Bó{Æúîm!ºr``·¶k¼¶>‹Íf±XËÇ x›lÏÃ[ýª_úT`“7õ;ÛaÀ»y¶xéS:EØ»i,þ²(Áݰì®åY@-¼€Ä -X$€½0î³50X‘ ›ü#Ù8˜€ ÿb<Î%õÿgX˜PùOð¤Þ _ø{ ߘý /Û’M-º¼_ªswƒ\þs=ºK·’š Åçe3Wª0ÍŸ˜š­œHøý‰Ó­y¯k9ûûÅ…ÄùW¿¾hM¤ô1Nâ `¬ÌöWÎNöWÆé¶^þ³ ÐÝ¿ÅúâSº¼zšÎÒËôª6ˆa=rèpDn¦G¸«{›Åþeh „fPç—92Äès"Y§ÿáÅ?’E`hˆˆðŸ»X -ÍÜŸfýÿ_DX}E¥ýôàíØ•°c&­iV‘¢¿N¿¥]iPÔ^PÙM¿‰b Àä.ïQbDŸÄü_DÌD¨) açƒÏXÓŸÔ=¶²'th" d† øŸ„ñßA „þÒ¸×^°—ßë[ø,T*@yó"§òŠ1Èç8è/¼Ì¿,r4 ýXE«¤&±#џזa¢Àó ˜B„¯ÐJÓÛ4é”!àHûþÏx«îÞÐÜ/–ç–©’þÞÜôœnÃ7×3÷M -u½Û¥(À Kï_º8ž7úè]Nƒ?Ôþ>'SßÈÃØÍ˜{Ä9òÐwÓíéÞYïMít§xÙÌhç @“²FûßävÇ|þ'²ÿó'ކ‹ -ÿA^ÿc~jç€À¿Ý®,Ôª Ô°ÇnÀDZæØ ¸G€Ð{!bHÅîÄϼïˆ![£­ûÛÇ‘pŒ®J#€]XÀã5­ÅºŠãrÔ€ì_0¤ê„³­êº -€¹À~Í5[À°HÀø§+‚atä Åyü_¯;ütÖ¯S…žRø/3Œ,î¬Ã  ÷cj À¨ þë€p€N¶X—p`ÎTÙÿogýo0€5‚ÊI„o¢Ä(Ìþà…5€’L‡ÿvþV4C{ÿ:Åd‘ -HÂý] ŠN“ÝÅlýJ5¯ú}Ôtοà÷û›.Z5{ú",$íôÚy¦«ç?ÿicúçéD"tºz’íûYX9g5@e%/VWŸ† @â.{®ÒËoÚžíÊÚ»Òá4ZiÖòGt¯ÛˆDëF"™Û„ï™ÏC÷3·Ñú¿í(£×òÏq …þçpÇud#Á,Ì‹B™Ì -Pßßæ:ÿ6kÿ® ‰óÏ«ÿfnCHpŸ…¼%Ðô˱_ª„A¥»2óʱjÏ¥‹lÀÓh‚àùƒI.º ¨èÕfÀíÐôçìlУ×úœcûL÷(àóT[êø¤$ÚÑäïàn?¾QŽíþÔn€ä hlü LŠ‚ ûµŸQõÿ[Õn$÷ö¦—1=÷ äðÎM/Os_Òáûñʤ&òü)XÐ ¨” ‹“Ï Ó×炸þßtŽŒÄn>ñŒŒÜ¹É›€€7ï:ÏzÎ:½g½g©BX0ã¿gplpŒ;¸nù.Ô7 x€y;Êÿ™H#€]è}Î`Ñÿc ¾ú€èóçfp(øUÿQg D ð2˜b×Lõµˆl«m  ›É`ØLóÞyVÜZûçub©îOÖz{/,0vÑ&@ @¡¿¸ -cåbÓ—¾S§Øø—Ž«„ý8—|¼–vüYþÜЕ€‘tAo¦! °¹eyNÏ–çD/©õ6ÏR»ç÷º¯ùbèPÄ~C ¿½¿]C, õwx°/@^²Âeû‘Ñöè¸Î -Ž£0jèí­»¾Ù;°?ª&z'€[ÛóTÿû!¨W#øz#õRØ7U}/–ÿÑâ`A®ËAx˜OŸq0úg%@ý¦$æ× Á@l # ²E›à__ÔõôíÛm0àN@#<íz ‹w(‡eÿ¯™ð@—õ à†l^ üÿBt[ú‰Ð_Úï›@Ó°ê†&ãQ²d -"÷CÓUG+§&&ÓöóT¹'`ŸnÇÞ4^:éÉmíúïቱɅ±I,^bü§â?^9I·*Ò-è©ú¯â @²ìtÚ+;.éð+ˆù³á8 é²IQÓe·"! "„ÿ8ÊЀK1Wù¬øœ!+ç`$” :Beøñ¬?DXæ>‚ÐwþY 0R{‚¿„éQ¸H¤Àôt&˜uä´,DZÆP”/j<Àh>‡åXÉó³3þ Àö¼l[WrÈÙ¥j·Ê}‚Zî@»ÂM»#H8oÏí x Ýÿø1¡=ÀÉ’žÕ9YS”úCÜþ¿ ‹¢®ÃÞ‚ô’ -¤'O¼ÈIÀ;ïÿ"Pð€]µçó&áþHŸm€›#¾›#âpÖÃZ ÓíôÒíFØN :õlúz‚„¾ /o¹“#פ€ž;Cÿƒæò²(õ‚ÿçì ð\Rÿã½Xˆ¶™þ†pm&@, P‹µýŸ ÑqäÕ &º,.Ú¼O<€ÿ[·vvÖwÖvþï ;ë½ÖS½Ý©T} -À@TìpW¸©Àæ@ß -¹ðo8©à+g8júM@µý`ô!€(7ž\½Ü°Çy@,Ï-÷4Ïõ­ ÷­¸”ÄÉŸÇÛîmÇ Õ¼ñÅ|÷¼1Tý­ú µµu€ €ôüueŽ×lŒ¥ `ÀèñÑ@ªw1`é¼WÁ `ÿ¸>5à/Þ>î#ü7ð Ówéú7Øë €jÌ¿ÉÎ?íú@œ!5>Æ!€›œ€76ïôÞÊoö7Kæ¿Ýµ< èî®í­Åô¿iJ0@Œ£“gF‘Z:m¼g¨ú ˆôN¨0½…Æõ¿L¾¼ÌàD·`À¬ïûË"ØQúÛHë{G66^Hã€ÁŸÏTðfnUWš:¿AH}Ñ?ÖÎhËæsz½¾øÃ³‰éÊÉJdÏÎ";8>g- ÎÈàÙâJúÿ ápC¯½t È[5Øù|¿B©›…»Ì#€ö`Àþ2Æÿ`ÆïGYY÷3< ˆ$AŠ£P$B¸Vÿí4ƒ!\bxOO Á -èJõ/9càJ5[ý²jzfÆ¡e³ÄNò2‘æRis¢„ 5j0gÏÙíúâ?c?DZNG|ÿ‡wHóÝ.º»"¤ü9½œ‡Ž»€2öÇÇÑéP¦,~ãõBþø -vÄcÄç%ÔìââW| <Üã'yÁ¹Dðø!EŠPò,"*€w?À&@aCbB?¯UÞÔÀóÐôßcÆ¸Ç ›}EO° (ÀS<ш; -§ñüC•õí€\do9´ü 0€¹_˜ž^öc7À)ü0Á?rùPýûé•ê€Ì¡#Ð7ìâ<¨ÏÑ]Âÿsƒçÿ©ô÷ÝDq:‚#¾‡7‰œur€-˜`à¬f%AÌZ´ïÂëZC€ -Ó“ýÍ‚|hVm~3ºþìÄÞ€bPNTàCÂ& Ñò¨!o3FëpSy›9vÍTû¸­îÓ; hí,‹‹óÞ[óÜXûçõïï¬}ra}}ýBʘ¢BsÜ8ÔÁX¯ÿcnêü¦#.1¸Ì“*¾øô"<€ºì‹4àx—Bœ;›Èþ¢èyyÀÈ” z¸Ä!Þ%d?OÌs³»½Ñ‰-€˜×é=F•?a?ÀèÀ@ëè±}øloó⟎öLŽoÛ- û>6߯!P½Â˜z@_yüKìÁd  ”#~Ôá›õâÉ’>Þ¹^ßi!Œ·t¦â–õöÅv`³tèÛmñvNêÜ\‡QP'ëþ8îô²Ì¿··4€ ^äP*‘4t€…U–ÃX¤É‹0€ Ñz\>®þÁtW†A§šçZZ, ¼øÿóÿ`É„]Ý|ÿÀFÑeWÇÿüáw“[e¡tš¬DÎjÿÐm„îc40Ä÷gØ€à_í V3 ø%Lˆa4”Õ²ö‚Òïr Ýhl²äå:djšè“äl€ì¢²SJ{»òF7À.ÛwA‘@.`#ÈåvYç÷,)yÂ|;ÿ³˜Œÿñõ»I»¦+ö 9Õ˜àòuCøÐ ø6 £ÇWdy=Ã)Îz‡"wÐ%@ìaaã]¯lˆ!1‡²l!É®E,š,¼ ©9ºQæ{Ü%BO^¯ ¯à , ¾“Pz*3z«2GGYè>¡ÿýe\Oó…NÃôf=ÜX^æ€Â6/ëëã&dÃÒ8çtžsºFèí ¯o¤ïÜÈ9ß9tFFúR7¼s>t?TÛ€8=H v"oPèÛε$¿ ¯k¹Ë§ˆÄ*ÜÀ€b $G¹øýtá@Uý—h~NŸ†K j6aÒo°DÍQót1ÚÌ×®EkÛø´ÁbÐl0Ø®ÛlíókžµEb;ë;;kë½ë;Týïô¦®{Æ€€ -.þÝ1^´‡ÀÅ@RÿÊñ¥ÐuæŒõotìV¯7þÊÀ!qpF&З-———[ܳ2Ü'N€¾%ç’ÓãtbÏIÀÀ»Fo ¦Pn·7ö¿Ž ØoÀ"àè(€ýã9ûJ¸½H°½/〚ß?nJ©”m`à·ÇÕŠ Rð?°Øl 2ò—Q’Ë#B@¶wÊΦóJ/qгT —­ú¹ólÀÈB@qâž-§É ÕIA :u+ö†;a|Ñ&‘ôOÍOx濱8Ç+ÃÜk#NÕÂãÿËW‰k9¾èø¢Á¡ïû—þ<ß8ìÏÞC°QLB˜Û•úÑÎEº]}ô褟^&ÏØüþðE¼f:蕳áïÓ!{ªÿû/]šEé߯쟥ÒjrrvfÕc`Œÿ¡™óab«OÃçá´ðÔœ´ÿõê[j¬¤€8ÿ?çÅ€HNùØ ÷Ë" fÿ%¨ïÔiÁlªf ŒýC™Ì}^"!ÀÀFzWt»`ö# -€œ!GRË4»•@NT€/ -¼FÙbïÿ ŒêrA*éYáÇF€s€gtVŠÿ’í¾.À”þ°”VANž«MÌØR(¨¬™ÓÙ[ ÷L~7Ðþå@Ð^ôæ5’ü0¥øvK"•>ôÙzXfT3 ûšjh’ -ðU>ÿîŸÕäãyh-Òoì™–Ìås IÚ‹7t4"‡0…"È/sû3¼!–˜ :^½rPùïx -àÈB -ø4 Me^%Q¾UÜ -‡Ðø? ËhðáŸó/sM_z±jQz€9‘ëó³KR}ú0 ó9—¤ÒúnðõÝì ¸ U Ïíö(œuò…[g‰œ¦ºQæ—,!^ýNt6ìÍ#1<0±s€©¼'”À-€qëÿ±ÀŽ¿ÞG LQ¢QƒÙ-õÛÚL×*Æ_KpN_ZW0Œ6:æ½k·nØù>Ö×{×èÒm!4þS€o&VÄÐÿǀ蕯ÀÐþKë_j`}Їþ‡á_ÉÌ;”б×Aõÿ WEpµ…áî ÒÉÀ'Njw¯Co/œ€cnOã5BýíÑÖíý}ŒXP£éÿ£Èo%ªcäŒâ#Rµ£µ©TÅÀè¾bz7ì¬L‡Á‚ê¿^"y!X‡mŸxl¢&çà‹íôù- Jñ3Â>@¿)¥¿bþ]Ç ¾·žE€PЛZñ`3€ÞÍz6 êì4t¢WBÂ}0LøŸ¹ÁYb(+àÃÂ0Xná-Ë=L\öDý/Jþü³ý0þ¿—ÎÒ_‹úcØ ð#e¡ª£•³ Àú4Á÷j‡ €ôÐÈ[Ó§3™‰©x%áÿ%ÌNö÷ÿ«!ÿdø§úÿî0|ØWáÎ^ùéÆ q.k/a¸¦Ê¤ñQæ¬Ï_q9˜¥—ú ¾'Äœ€ÏPÌó®½^û«+]†^MUµJ À/ü)@Äüb ûAM|¾aA¢{ zé -íÿëåñ ¹¯`²Ï;u/ I,Š€NQTgs…üËw/qÍ¿€â¢ i…â°ø¢À{Ö7€ F/†dÀûÜ4r8^E¨ìÁÄ4€Jÿ§Y–ÓôœCÀZÈ¿mÒ“tìíÝ…¸pyˆØS€áiþT–ý§͇nQž %Ьö{X -€>WÂ5xnÐÕ×Gg:FøÊu“«ÿ‘›}#}#°~Hˆï>K×âȧFÏÄ„Ç);c!°%÷xaË74_‹a -€ãCßHóJ@^þg3@àÀŒ¨ ný³ÀL<á94ƒÑ@ jˆR‰Ï›è”›ÇÛ>¬¸fzü¸ œWÑ€Á@Õâ#oû­ùµElì,®§zSë½½;Æ”ñºñz] Ž п"fŠÅÿ}#+4†Å4>%Ðø4Møß¥$`tõí?aGIZv^é%xOÓ!PkiA`€9–° -]ÝvÏ o{£À{nw]¬µu›€5û0lÝôß3`5Ø?>Ê¿}Ûfoçñš#5û£ûJp¼bq<5šJÕ Œ裂CÚÁSÀ`×}BÜz FåÿhïÕ#zãÊŸ¯½äÎgã(€E–¨0Àz®ÿ±pGåt²dì¯ú÷öÖÙ  7µ.[Äøðƒ!@õÿ@Õùãmâô¼Üü\×ÿîðÎ~!j¨«‹F1`õ@ôùãòŠc×Ê?.7™Ÿ·Æ£3ÕøíÞùùöùµ˜,Ò¥·$ uŠL›!ðÈ`&@#ÆåLŽ‘>_ŸãÕæÒ::º¸ FÜxƒ°„ýÖ¡0#â3Â’æ‹Î¸Ü²‡0 x¡°¢ì èŒ)‹ÿ½Tþ{&½à(n“Ç»ÔoÝßGÐ@ëèj¨Eù/&Û£÷Z¨Ð>¾-ดûã©ñý€15P1:0º¿]j(Ášk–:6ü‘…›ðâ -l‘;¢ïïd§ß¸¥sé¿<üç&€â¸Î~~08\(è/‹€ ¸m¬OõeMðoÜ4ÿKd ªÿEe9ÐwäC#€aלK5–ç ÀÕ/ö®òÈ…k®ÿÕÈ_™5óŸ -pÏÞS°Q”@¡¸ñ"ìB‘@$T=9[9vf#¿:³ÐrÑn×'âŸJõ“ÝÿÑlåì‰KXì¿4Ûß_9ÛŸeãŸê¦Ájªý›Æšü þ@HÇÅ™UŒ`ÓZÞJ%½ßr¸D!êG•ÿúkY\’EðQþÉý\Á -Ý€¦ìgî‹¥ð\ù%1PrƒÙ†f¿ZPGµË  ¨m‰Ûo0—ƒp~>J€Öÿ3ìëå0à4Àƒ"ûн¦ßuýÏx0'SÝPS{‚É\IS¸Ë¾ÈýxÐçÝÿ—¯“ïk¹ÿjò5êj<^´)Dpè±ñïPÖ?òï~ |ãEüQ¹½’+°rîõP F²Ró³‰$¯‡ú¿£â„ýY DÙ‰@±¨·z#{™=â÷ ý÷þ÷Zˆ„ÿC|ZÆ–i5Æ{”,W—›—Áz†{ÄÀÇåës ÷ “þTsß©þùÚ×ôç“Ûwö¬ó§×íV‘APJ2€“W -‰Hœû®€ŽæS×bc˜Túš?4—C 8Îø?^n@0÷ÿͰx*0þ|\†æ? +S‰[f¢Ü(§3}Ùµcmé Ú5Û0ï]\k_#"°žJí€ØŒã6Ûõ€- »ÿÁßÄ}.}õ§ÿuÉu—ÔIÜx à þù ©  ýP@”èP øâªrfüŸ[éãÉ  åñy˜4zd¸Îi€1úóÆ*®mmÝ?Ò:€UòÝ£ ªPS t{mÇ··köFe4@ï{4Þ=J`-€QÔê´êl6`ÿG -d±({ßN¥d yŸ…X@ÜÂö<6}q -‚ ó€Ü9pá‚ þ»Ù ˆý€ô#Õ[ŸÂ¿¦°Øn[l§kÎÀ¿Dø½.…ÿ¢¡á=@iˆÓ;%ÿ”¦ÿvTýAû3¥Ö´ßS°QÜÕuàyâp«ÛŠÜ®š¹ä.Uÿ.´ -¹ÒhB¾Ì>÷îóu¨ ë€33¢˜þw©ü9hÀL6¨å Y-Y¥q€—#“A–J(ðôüœŒöªMÚKÂ:í0ÂÒÅ*]vÁ¦ŒúÏÄÚ¡€9I‚ €MØP~,ù&Ðÿ±×K¶ˆ©¡ûÿºŸ¯‹ZÆüœ% °_ÓJÍÕ¯Hò·G”àÆ»w‚+HFA¡ˆß‘Ø$²ÎB³¾¾€- xOŠÑ`V¦xÃýWF²B‚Yú®’¤ðÖŽ£l¯ŒŠÔÿÜàÛÄè´ÌWê˜Àܲ_­ -úçz–{ýç¤0<œfÐ×7×Ó|ª¯™H@OsŸBÿ‘›1^ð}è;;BÐöìY7G¸¡l„gˆ5 k¸å»òòVø´BÀ‡˜|øLø±`½?ÌÿÚ00?<Å@Bœ¡ÿ‹Šk¾›€È` Ÿ÷ü±ùÚ5óãÇåæèãññè¸Áf°ÙÐXœ¿µvkqg}mq'µó¨ów½©@Êl¦À#“4L þ×x o…Nº`×ÿ]]Á.9ì2°¾a ã¾ûÁ@ÉEœ3ÿŠô  FÎ%Ÿ{žÆFìÊxÝëÆ”Âín7Ř´n# -§Èû!ÄßÖ­ÑØÀ -ÿƒº#5¿À¤à1õ[¯ÑHø?Z±/ë%øÇÍhE? -ðB@g§´ÿ¡°P}R˜Û:Û1.¨¦`3àR àŽºQÏz@v@o7ê~£Rôr ćÆz4 ;•Àbܶh‹ãºüŸðN8²#"---{¼xµÕÜ(-”Ð¥?ݲÃÕÕ|_ üâ _ç9 *€b2ºr”ð¼çbb,q>}æ`ÿO T¥ÞÔ?û³ÿüß¹„òÿ£˜þ£öçÞbL5ÿåXðûþUcþ+wíH±¬ÜÈñÞ½¼"çQGt™Ÿ*ô“»Vwî@ö_Ò äÿ¶2`ƒ[úŒdS4ùËxšpm€™Û·C·¹Àr€WB€!æÄ2ÒÐt\v{‘7‹É-iösôa+ -~è÷Ÿ%Y д4÷·ÚsoêëîŠ9Þ`Ì·‹(€ÿb Èn¯$U©Îð Ç>I(„€]ó_¼dàkÚÿ€ûÏ.®'ñ„p*Ò -4•[ÌÐ|ñÅËwÿ¬Î³ÈázX¡Ð¶8C!ÿÚTFb ‰¶?1L"hûs»(˜å6@D‡ú~V5GyÛÇÖ@†¯÷2Š\%äßc ½€!AÿéåÒA4`ÙßL7z`Ѓ ´ƒTÓîþÖLWs€\¨Üq²A0Ý:Ë.öœÀW|¸¤0èúÎÈúŽ¡å^Aõ¿É !»`ø€ÓtæçãœDÕ?Íì“5ApüÂÀ `¹˜%Ñ?zýÏñ¾]â•r0)}þî-‹àÙ7€D_ð€×.Ÿ@ÿ¥y®½ \(ý± è$€ózéÌÀ#@··Îë>F2€cXøM¬r8Î=ÿý -6ïÿH``_uF+~7>po|q b`¿Ÿ¶Ègw jÁÀ Ë€½¬úÿ(É× ù;ÿ–v^Ï×Cz,í–¸q½³w½^wÖ‘ÿWý*ðÂ&úÙ@œ± h”ú6²XòÀf‚ÍÆÿ¼Úmí7¼ž%ð•DܲÜìYìoŠý9 gvû3u¿ï³dî½%0“G ÷– Å]-¹ºr”0½²zlðîù.«õ@grkÏÚ›.Uþìã__ºCø‚ð¿2^9¯nªžj¾ ü¿ë¿Ë˜#£é¿áôL"œ©ö[“¡p&ŸÏÚó<Ž•›Y…‚&»ý[ÜègØ·r¥_КýII¶·¢/^ô§;ôµ¡?GY&RÆÞ ¸¹}b€Ð}Ž †#$€ÿŽòÈÏÉANÒ-VYà™4†€Ô FÈQTÛ~lþ ¿lhzÕÿM+ÕòJ‰Ÿ?€œRü3‹°å~P…Xû_”õ?(4Tü/p+_xÉê¿×6pÑŠÒÊPRÄ ;Ùµƒ6E’•(ÿ_¾ø*ÿ`lÀ³ ñ†È Ãz­Ö‘>œMóY)ù©ÜÖÃ"Œ€›dÙ7Ì3§žpoûÇKBØêÀɱ—¹ººša@d Kð -¢ó¼Ðâg -°ÜÒÓÒ¼<×Ò³¼¬ÜÇÐèkîÁ8ºY½•&ÀO|hŒ8c±æ<ëEL°˜`à•h P€¨Z -ß™·ÜÉæ>ªcMnØï#‹ìþ?ÎçÖ?êz€?‡À°¼´.øÙ`¶Q‘Oè5«Ý|EEÅøïÛÌã?n‹^[×ëñÌ/zn¬í¬­ïÌ冷/Qù=`»n’X"oE,f"Tå ]ßÊ)©ÿ›/Ë@æþˆÿû3ƒ?odσ¿ýpõ_òà8X ð2·>ã@`8ð`Y@tÍ[îèvOÔä5úb&·/æõÆî]CÙ?:z VœþwÐÌg¤g‰,õêSGjè³äãø@€@à:‘‡ýû¿U_VS²®¹f“€èFÜÀ*âzXâõ°ýi§[èÇÇEhkä!½#€zlûaŸ_R€ÔàÎ…C¡@"¬‡´ï»% `3Eõ¿„`QÖéŸìd ðFY'`NÆàr3»Ë; ¿jÿ?“ÀfªüƒT›¡üf×Þ[ €ÞŠè&¿Ü`V¤Ì•£'¨¨ŸhjJ¬ž±–žÓrÓnÏf/VÎö8qçRÿ‰—ú+'㳕<þçÃ~‹ÿn"q*DúÃŽpØáœ -jÙ»vÍoú§þ­êÄ n(ƒ³Éˆ¦w ùÑêgü·Šâ¯ 7@ ¨2¦GL€ßÂØ÷¶$PÀQ–ÑO÷3eØ ÌÜÆ> ' Éìÿ -î„f†Bè *qÐÃ=1æ1p =ÿBidO?ûsÚïs¹Â!@!÷ } ëYˆýAiÙ±7xx}Á?ÇËjý¯À"^ý€aæ/ÉâˆD²¤@ÄÒrJ¥Ánð;Üäx™“ôB‰W(ò øZ#€\2 *üÀ¾€z¦<ÈŠr{V廘]q@Ü"$€h3«™«áPh/Œf]µp_$ EÔ‚`¸@3½möÏ€ž}¥?›ôŽžÒ @Œ}È®=Kg6F’W•ÿN*ŒèÔçº98ø"öÏúF¨àþ {ì  OÊѶñ¶òh´œC€þ÷]€"¢²´Ox0×ÕQõ_” ™Æï㠀ţï„|‹l9¶€ÿ|ÙƒyÁUǞþÚÛ +a@Ëýå¨yÿKï´\îiéiYnö÷ÌÁ- "€zWsé8Ï×=}J -0Â2@ìÄFõo6ú¼ èF.²}§O8À ëêwˆl44¸9¸ÂD,n&ÑÊ ãåm†¶hÿ¢< v`.çárƒÁÀFBÚx@‚¾øÂïÛ·Gh¸Ÿ˜rkgqqѶ¸“ -¤l× t2=âæÃ=ú×c^Ÿo…ÀÊ©¾Sp Hëî ¹C•Òk €(ÊíI@zïÿÀHµÔà$(À—Í ÿÍè€øœK¬ àiœ ÐØÞH€nS£×tm uÿØ(ÕÿÇ®!–?ûÄJ>tðàA=–ê{kj€ý@`àzÅoÇ+j~»( Hvê„þŒü?²ÑÛv›RÈÂ?‹¥‘my‘ÍÀƱC?Ô€"Ä$?•‚ð°üïB©ý/w. bâ8@cª³#bàtlrnï\dÇÁvÀ£W¶, -b¼HÇeôÿþat`ÿ+‚(ÐöGíÏŠ­gôšô~€1èôGÿ×¹\ì꺸úÇUy,|ÅÖ²/E@(¹òýûÿ.^9qú|Wî@€( *ÿÓ™Õ©~ü³„ÿ³'À`ý3V=ó¿êÄt8œX ü»K<`¬éœßn‡³ WîV÷O6iÉ1M›¾Xð[5Gغq08 < °*Ó;^Æ—À†–,¬ úŒÿºi}Aæ.ç -ÿ¥dàøR¢¼Àà?$WÓrBÿÿ>:YЊC3€¼p‘rO½ô|nC!4Ϩ5.þs¥m}ú¸ý`,V¦/9-Ï ÷öÒ>@N÷æg p9´ë±½šDöŠúò?¼ú^°aþF^Y÷¿¿Pûkx´EÏÁï?'ÆÄü¨ùqócá.;=€$/|`øQ5l¨E"v};ÀD?›”mÖü£ÝaC’>á÷8”ë$ýeÞ‘ ·!àØÚ‹ì1ø;xÐ!p5³w@Ð`q ³ÌZZš——›à_ö«Æ}úÀÉóŸÿL@sq€lª}:³)àÙF÷{ù”ÀÃ]€*(ƒ-ùïÐË[îü -ZnSÅb lâ4 3´{åbÿ `^þu~¹‰½Ø¹—Çþ.ûa€O6?ç`¡MX"øýcb:tžø¼žùyÏ“ÅÅ5Ûâ|ʸxýÿÀ£ºG¦{&“7óVÜã|ÌÿYÿ'ø™08“;£¿JŠUÊë €=X’–# -ÈÞ¡»Í£­ëaر‡€“œ¿Ìø?×¼‚=Ä"À ¯ûFŒÿåÊÛèà æm¬«»v £Âÿc­¸1¯_@¾òÐר€q“êéššÖkûúÀ¾i`ÿ·¶šßV€ð ”$<ÀTg1Ø€þÜ€-ÍÖ‰@½€NYþ·p6_üG¢°ÈkÏ×;{S›Æ^ã:·ü/¸°yA'õB º/ô^èî¾€@-Äõ½|b @'’9”Ћt;`"íž* @Íÿá4Œ( ªÿ¿Ü €Žàƒíü’v ¿]^8‰¼'€üBSü×%VW>:ߨâWÞ T€0Žã5€ddæû'úÿ®?>Õ”NÛ@ÎŽ0?ÇjfúÎlåÏþøÿñ‰þþþÉ©Ùɦ&¿ÿnb¬:q><ã‡î&°ú—HœK,¤ÓÿXx&Žl …ÜÌB0é·;¬ùlâbþ Ö.V‘ºë‹ørŒ@+0ªî2ÄG—@A5=ô¼Xÿ‹¤õF”0!€ˆB·oßFBˆü;rƒCH F`Wø/=à0$õhLçŠAÞ¬‡;m‘¥ÿèàëözúØßZR@¿Î«ÒÝYs‡Eƒr'©ôþ²—‡Ø¾\A€IÞ‡ÔŠœ“ˆäo_Èrj’TùY-Œþó°ÓY•UANŽɳ¾€-¦[+:x{qŒ3{Ž«{ŽÌÕÐUµ°ÌD e¯¥%¤€:D0 ] ]-4Cð?ÿYËy:1@  ™ÍNZaE 2ƒYÿÇ>^Ÿ×íü{œƒ¾—-€«ߥ££¹/†¡¢Ïäv» îXÌ}·)vÝúÿ\_Ÿo½j½ÞzÝ„@7L‹‹¦ÅÑEÈÿíúyôBpVÖÿz' -ö‚ N•BýW ' ¼€­Âf?èú»B€ê?v†ëÿ¦œ ¯äjÉÉÿ}-úqŽ>ÆðÿÇüÿO˜ mìÖÿ©Å‹ÛoC•÷æJ[ÍGZÚ+çÝí ˆ;ÑàÒËs‡>œ(î¾oÓ]€8È'ØÌ]œ¸|ó2ãÿÜÜÅ≉Éá÷„àïÖx2$†kº[çè}55¤ÿÖp©79Qs~xxXñ +J\ᵿ”%ý"à €&Q=ÿQ‰ö«eÝ/Zz7œ×Xèû8*ý„¥ ùl py±7ür@Ôÿ,€PÃ?'›û¹Üt)É›ŠhðÏËȆFµg³\LKñŸù6`Éè´¬0ååÞ¾ìÈGU}çOs–eƒ¬GÄr&«ÿs3ÿL6ó§ ‹ó‹˜U_d ÎDÖŽ U0£Ên¤„ €£€yrÓ—eSDÔì_û7s•Ï=€ sá’{ñ6w|Q±èc}w,í%¹e}ÿL‚Ì6òxä8œ”Ò@ÿ#^ þCPïŸöÏìû§uü§‹nâ^/V€úu(Çѯc -àe1 ]é€q‡Ê|$€î†ÓM44°#P…= žÆƒE2žÑQöàs®™ Àx¿¨(Ta`jîÁâê« ³”"ÈPØ "Í"?èí·¡x»bã_7v }SPÜuc°°k½¾~Ý:?Ýzµ¤o}ÝÄ €Eöêœÿ÷é¥w€ºÎº¥éñ‚ ®ÿsøo­Ìo$¢ð¸@ØR {I‡ÆŽ›ýÚÙ@F•gÈ÷ñq-“‚8sóGxdT!ûÏjRÜ lú4ÚŸ0íËbn 7,þmYXÏ{ -¸v(æh¤Â&X–}—èÆf÷e5ëÛàëÈ 2Ÿ:°7™âš_f)±J’W°+@]µoŸ üˆ\ts³essÓ¡ŸØ³ø°dÉGfÄûbIP€ßЋh -à­–Ýõ¿g0=Ž@Úñ*âÓãô)R ÐÙÝI&ƒ¿jD(€h 0†H€ˆF¸§±ê@€´Z78ê4~ÚÎ -Ž6õ…àXT9ˆ@¨yÒ€>Lúˆôõñ  ¶¿ô9»¨üÃ( ¹h·b%#Vª•=‹€»‹îëÖu*þ¯^µ^íë[Gùot;GÝTþãSàÿ ô_®ë¬Ëg‰ð?(Äž«ÿu } P}ù5¾ò/`®Ðø¯z d€±Zw­q÷ÖÂBZn"ÄlVÂZ›sÑél `[¥êÿèÑþY¬q@¬H!˜ûѯ¼ŠkF£ÞØ[œí7ýÏÕþŠþÚ­Úüö€àÇL}fku_µ1 UäU 'þj›îüWM¿½Ð›f/ òæùçç…ñß§%Bî'*ÿ¹Pà xö,oTŠúŸÇbý¯>%Õôr¬ºÓÀu×»±˜-ÖôîX~à-vìå@ýÃú™iÑÿG `ûÿ?¤ö"€> `W èÙ Àÿ°/â‚éCèì¨ -¾kázã¿&d€êŽ ÜPeÀ®ê"ÿ‚@úû²¹1€¸Ü—mE•†@ºp`§Ð=àoá¡?Ó ý\·_4²šhu|+„‚%ì° -)ÀtßZôNÃsë‰8q‚Á° :{b%tˆ£’¢™,[$ª_Û°?OSQôPé+Ü ðÉ^¿uA¹ Àá@-pÊX~z`ýáDÒ¦/زÜtøh -ÛbÖ~ä‚ÿ䣀FnÌÔ?šÀ/IfÞß0úÏ  ï˜étþ×c. H@SvêEнç¦Ïi“³Á ll9X ]…€ð2V˜Þ6Ç@¿‚ðߨ Íôjwd·yU~3,‚Bp €!@&EÂ;ÍEðÞ-Ú}ûøîn31¥K(<ž» ‹wÝëî÷úõ˜õúÕ«}ëp²Rõïv»yýÿûƒôÿYÿ Ài½À«ÿø/„I¾þ1 ð,íå}Åø¿ÅþœKÒ+ð§… -~¶åàroãò‚gA8974¹]TûÛÞÅ Àe›¢¿‡h‹ÉMpë%蟥ÓQ¶z »ýêÞ3^íé)¯ü®õeî_‹ŒÆÑþþ-·‘»y#p€ß›Ìf+ïòøo2@áûSíjµêãxŒè*Þ¶Y«ÅÜ’~tæ?•Þ~D><+[ÿ= -2Ð%… - ’¾¦r,ûƒô-®3öcêp]á4à²Zm¿tÅšž_&Ý@È€˜´ä¦ÿÒhgí½ˆ¾ÿ€ sWÿ -FôHµ)çþ¿t¼øDx,ÜýfwâöGe%-zŸ³¯œhD“\|½}îâX`ƒØíXŒÇSÞɉRÂÿâ¹ËÏæþŸž†ÛÒöá¶”7P+`OMœ‹{ÖÔűáÉ›—¼'"þ‹ýÅÃIŸ?lù6p£Û³~ƒM«–ó ÊQ‚tÎOItð‘oÀÎ:Ðnòàž°dpçNäÎ)Îâh Säa¤` ° C,fYžLoªQ.–ùÀÂx ønÉïûÉ6.³ï-â%ƒF¼¦"vïÙà7+§Y™÷›å•?q’Ö z–~ò­è…¯“‹‹bEÊ}»ªX2óÛˆ"œ(JŸ Ü Ÿì„œ)ÙuN€ZVA @ýZ €‚`h˜üa~’Rð -¼‡ý¤Å@P:Éx  ¯¼´@:ýñšÍM>Ó)èãQ€> òãx”£ù9$À_?C/õ¿`^<¦Ç;¦99¶ƒ>oÎÔëjý༠8 øÿ•ÇÓ0JÀﱦöF2ulhtÒyí8‘ˆ©¨7üqFk6TøÓy$ÔghUõ¸€IÀHEb›1&ØåSsÑÛH`YÀˆ tPùÿß=‹®«1ëºuݼNõÿz_̼¸3:9þ÷¾gðþ`ïrgç2×ÿz …-X(šÿ–Ó7¨LìÒõG6tÅYË 2€ðn!ð`†€Pwb P¤Â§&ý›Ù -Ðfu9ÝtÏšÜT‰›F—gg¢ €ÀÑ!Œ`þ¿U›S”í! ÈhÀ^}HŒ¶Vs¡¿µµkëkx×Ú,Ä‚>@˜ü"63Vx÷Žê{ˆ«­T޳ðŸO¬ø·Úè÷ª~—ÐÿÝêê)¼«Ä -ìò—”|*œýt÷ÿ³gÏ~H4àC 0èbS€³,Ð%€pà9À|k5Úÿ†’ja`…Éàu:ÁuÀÝäþ%7ÞhZÈ¥¿µÜÍ€i¸U €´öµü‡¸+ ü·ÛY0ÀU’`|¼Ú-ü6oâäß=S,c'káp÷g‰xø3µû×¢ψ €öø=üÁG—>œû(¼½'ÈoKÿ¡hkKù''&/ß|V|âò³sØþ»Ä“Ýô3jö§ão >‘pDªãò¶Ã;÷ì?]r8†Ÿ/}#éˆLüyÏ5ùÿ+±A˜y~RÀ"¹Ï³„ä;;²à“}€ÃØ -<ì¿q'¹ãg; ^ +w’È„õ ºƒŽ{á"ûîC"§² j‘­ 0ì°í_&#P~_Lüq û?¾báE>5T>È-y¶Àûâ-¹ï¯é°^“É÷ªõú?³Oý·ß>™,3®£Ù`ÿIVSôDbþa¹0‹Uˆ¾8í,6# â¤_l?³ÃÆÈ_›Ü§ø’þÀÓ¤#ùTû¡v|o‹ÂZ1%ñ_Xp28ÅK²¿26ýƒ8€´€èª@±˜”$`&9ƒ³8ý‰Ìp;À/[ãð‰ ÌtÌðÎX]  ¨Ÿge :K, äÀ »_1äÁÀçÀOC£rÀ@ºeE,8àqrþ¨Ì!ü/ç>À. úÊ™ŒúŠ }kbæo(’vÁôVóÈnsÑnóîîns3Q‘>ÆÿegÑã^¼ë¼³Æb릫æ˜ÉÃiÑävêú?Ïr/€°¸TÇ€Wª„ú_ùfüÿZÅ‚ùc™/ÇzP8xÐ⨂9-¦Ô¼È<ðÿ4›kX´¹.YYè²™àóDÀÚjršîÎÞçÀ±¡¡þ×8 @B¹0âà²þë%„ªó0î7nÕ4ûûûú°4îÕîÕÖøâ˜5ã°ZÍ.+1 =v ´r­_-TÿRø½ T¡š]{°ÉW9ß3_‚­>QþsøÏY1ý? 3€O™H z©,)¯œ/áýÎ8…f„¼dxÝêº^ àj:ã>sCHd©QÔÕý‘0S•ëÿ3`ã?ÞùPçd\õÍìWœX,+á±KÏ>«y'½òYq8üâÝŸEo_°ÇÇ/ óÿDÌb š$pâ$m©8Ò€ÚR(ÿÛR©À仓o¶Ï¸|¹xrb‚ηŽ@*×TÍ›°;¼ÞDÀë­Ny‡'æIée*ýSçŠ +¾àpàÏ­µ¯6ž’q‚ŸÊ}€h0”mÇ=äÝIÞ¹@}ÀŸô; €° -¨Î¤ÖWò6Å`JŸ6h ïúå }@¹…‘Ýí=û¾° (d€Uxû*:Àçc\ ëÜÙH¿X£‰U€?U¿fµ}o,ý¬[Ü¡;&Ëñ°P0q°³å.Þ8m–[ø¸ >QhVð•¿ÚžRÔTä”?L:`•‘ ŠKÿAGáÉ‘‚Ç2&-ý’†p-àÚ/È]ü–-Á‡L4Ä( )q1“¬b€-Á™ô¦õ3h€øU€q‘O|s€Ži¶’6¨ñWžÑ_y>ið¸N7g‚ÐѰì;h@í…°ñ“œ@E_ÅHa|ÈÚ…Ê7üE -ºh ŒÐÇàl@0ÿEÍ»2 `„@Ÿà¿€ææ£žÁFb £wÝëëîë„üë}ÐýMÎE§pÿõ v./wvb "êÿœ Àò˜_¨gþêŸõ¶_ÃÕÿ"*ÿ¾¢ ÿ†f0€P__¨ˆ÷ÿD§·+*v‰ -ÿw7`¼Û\Qa6›àíƒÀ‚g1æ¾³º×­ëDLn¢n÷â¨í^ÿ£Ú¿Sà?ÕÿÓDt\i¹ü„ºpü_¸Òüu–é¡Âe^ÚØ¥ `A €ïÊ-3 ˜×êÄýNh4¸9˜7]¼ -àš2ûÀØhö0Å*Àlÿ챡þþ-‚í¡þc{e²˜Ïúûç ]»BÜè_Õp¬×kýC[}ý2¸, -\Vkf`bðÇ8€ó¨$Ç‹xÀËyS<pa°„?«N>ðóÑ>]gý îÞóó.¹€m|$YÀ•ålLÔ¡¼‡@¿g~žÍPü·2ñ pÝÚê"DW¬‰ë¡”+€ØŒ©çp%ñó '„ü½¢,û/HuU ö¹^a`°_xãßÞ¶£o ´ÜnAVÙd‹ZøÔh:9Ð4Kn!P®@À.ÅÄPÕC*U5þà<}jïâ¾HÓTM¨þxîÏLi2ø œÌŸÒÿñ ‘Þ#ˆ!wt·¢uÂÌB‘½-™•–à =€/v8i™€ µÕ¯ëØ1õ·§ìq¸`Ð÷¼}ƒ¢¤ž:ȃ&\ÙÀl(]^– -õ©|`Ä)¾– O8 ¦âà)$ÿôTåð« ù~&Äêñ6°ßQE'¾ȚþÇëëëdJ€0l„¤Ýéi:ÝàvÓkæ€BÇ#vÄ£à4 -G€ãE*æ©Ì/ý±9*ßE`ÑH¨Ü°a14 DŠÌÂü—˜BÅÛˆ ØE€êþ t $©8îv:— Ùï{= ‹nÏâUTÿ¦õuŒÜ‹T?»¹û?¸Œ€ÎºNLç-t ‹ú\ý_¨TúºÚp8‹&€È‘ô:úÓ©åA•ãJUUÀÒtØè]~ €7à'wc¿ÛfuÙª­Öw­n쎎Z=¦EúóþÎÂà˜è?6T¶W[–¯òW©â7†æ+»ºBpXXÕ§eCkkýBP›ÏÐ;µÄ“ `ð·ÙÌ€_D–ð21³›½ÿ¸ôwé1=ÖV¸÷òÀoç?§W%óbÚ¶‹ÿhûšÂj¯À ¼£´ÿ[…# ࿤D(«…Ë0‹bgbô œù‡¼áÙpR¸VϼÀõ¿èˆ{‚jÿÇðü“²ÿ¯2€W˜ØÛâcÿ6VüYøÜÉ7ãÅ-5áð;—Æ~}áöÓ@{Àb‡s¼g° ødÿ ‡4w"¼ß¾@uÿ -ñ€íÀx||²ýÄä‡7Û/ž˜;qdrø½ÒaÏH\Óž½ñ¤÷épià|Ø¡–žˆøK/+þ?—<âriq*y¹XMýÓ°åIúGXÂÊ+0Æ€hŒ)ÀŽpˆF7ó €c"§îDôÀÿ¤ã!„OÈ [²_ €Ýd‹]MzìKÉ•§ ölûÈ.^Ñ{0+€t²ÈjŸÁ>Ã$@Wýëå?¾é“úiÎ%Ú‡Pó;ܼÀ²ì- wH¥{•€òkK&›s" Že€u9V'bW2Ê›–ÚW÷Sú¡:ˆÁŸ[Ó±(>‰ÿHfâ»7£f¾ñ¹ù'øÃ%OpþØÇs€ =ý;|IÄjà£ÃUŽGŽb3˜T=‚"àÑLÀ?#Z’ P!CÏcqÈ™âÀŒ*|, &ÓãõK¼ÐÛ»^Ïà œ± ànÂ1'ËÚ ·F!4?1UãÜGØ]Ô `yh£¼(Dõ|y@¼@¼`¤y„8/4#4 ¹¨âí·ÙpwݱA`w‘>³Éídk¿åÁÏÂý¦ÅÅ•ÿðÿ³Æ p.Ž:=LéSý;—–ê–d@•>à€Å¢¯%ËÎ’ö­ ÿƒvÑx,Í€}¹,} °Š]ªTͰ`ý’n ²€x 1€Œÿˆ²Án¿atÔé6Κ߰Ñßwtö¾Xä4 ×ч†¶Êô!?.‡ˆô¤@íÐjÎ -Uk¿#°ºgZ¬e@aPmÙ(wÜ„þ1³ÙŠ À¼ø .ÑöG6›e€'ZmìಶZ û¯³0zJ~[òÛž¸ý ûŸ®ž.ž °K®àƒTõwÁ ˜^8 P ?θ¨9ô®· -ݶ›b2 -¨©qAzA8M`Züßè&¢ÿÏúÐÿXÕ·» -ÀçW—ºWÅ—Æn‡kε ¬Ò.Ú_ß¾Šùov¯ØŸŽ§Và›É>€hòƒC'ŠyÀŠ]O\ˆ¼‰mï\ûÜäGÀÿ#Å¥Ãï¿I&ýþ€š¶$©…H<âˆÌ…ýïÅSÊ{—‡“ç/¯(ÿtÙ,ýÛɉÉhéÏU{NÈ÷è @{ò¶vTeG<ãÁ‡%ð߈܉Ü]D;’ œ@ˆ¿P€>÷TPôÖeµŒ¸`ÌõQËg °ÈJß²ŸÀ¢öû¼R°­ öö*+öäÎý÷y‚¡£~®¨Oëa€ßévÈJ Rþ•(qa„]ÕbgK ™^rÁ5»@€ÊÓ¶)fòôÂCÐ߆ {jg攟ANš’r0ú'“¡®²  Eɼ¼úŸ;9 - š²láQ€ØÈÍxÍá÷ŒõUÉG3Ž™$®1Ðs¯ØqÅZg:x@Ÿ À€¥€˜°p¶€Ÿx¨xt»uGg“s±wæàßQžÙø¸ˆ¨èã-€òr‚üP9Œ€ Íõ£üoæ1˜Òg¡`z›U»¡]ž°,p¤‚ -e'Šûe*ï ç ˆ™ÖqáŽ-ºbý_ :—±þ¿Ô  P°€]l<'H?ßø– a¹X6ÇÀþB ‡Vqý:Ç>€K¸ { þ1ð4"ÁîAÖäfè¹»aŸ<ÚïtÇLf·K€ý¬è?†4 ½c{yÀZiú³ZRN ŠÀ*F{ùÀ^ßïú¯öC¸º—Ê=À2¤ƒ¸‰¸Üf¶«Í­Õf$þCŸÈþ"˜ó\rMñ¿cVÎSÏè?ßÅî¿28«‡a -PYYÞU‰éOfÒ -@ŒJXX å×9 -Èu&æÒ]›¸° N˜;€ì¶ìh‘ÛÿEÝy¿ôBèW¥µë«Kâ5ÝáCï\¸5vòÍÄ¥ûÊŠnÓ^_ „ãñÏþ.‘±¯PÙüyFºe£7J‹‹çÎG »=žˆþ{5íí—&Úo^>1W<ñÞùóç#É WYŠ’"`§³#H–û^Ô^_}GÚµäßÎG¾Œü<’ú`Ò’þñª¯‚o‹¿Aù\®@"ðF2rÇï—*ÿ©þ;p„k0~G±ºò últSÁvp)ª|žƒ[f‡b€^v,Ú‡.ïÚ·KcMTùYŽ HóØ_Ìþ³¢õŸCþBf²é'ß ÿÅsøü(28—0ÈREéF¬°A' à`Œ¹²VE 3_ѾbHðÿtC)¢;þþÃ(µç€#éÇ…#HFÞˆ -OAí%€éPáËq€M^Øb@†ÿÍG¢ $ŽÔƒÄ÷3 àq@½;€ €>¶Ç¹ @\ ÊÁšè;f¦ÇÙ ûZowcc/D €êÿ&7ó7UÞƒ7H[êœÆQã'£¦ãFã'kÇMÇ+ŽW˜‹ *—a€»ÍE!ÁF ͸€À€$™XˆÐ  x`!`¤‚(î{ï/Ô/.6Ŭ‹ë1÷:€‹n÷]úð"-c`©“ €é,Ú„*-3Ï•ü‚äüɾNäÂþ²£Ò@trA€-¼žMǃiŽ?¬_’IÝË`ìßDøO¿+g›]S²¹œ³GMN"Ö -“ѸLà²ð°Ü[²Ê_"À½Ð|É|:pý¥ä„€{k}Ƶþþ¡-¹P–O€Ótœgn›ÛdÀê2TÛ8ýÇ,:6¹—¤"«ðé}Âx¾õS)à%€.± ø!–¹ýô?{–cò7õ+KZy°d^a´ÀY@×­Õ­×Yànúe,Œ XÑ ;ú£=ÀÎKv*þÔ¯€?¿Ê¼Ê€D¢øõpâÍ[ç. $ºãön%ñìR‚ðߢÖ·YÞ,Nn'5੟݉ޙ˜»4ŽÔþ¯x„7‘˜¸Ü>1÷ìfûÄÄD)ÊfÆTî±:ÇӸߞJú‘ÉÒ”Ø)M¾÷ó§¾ó_Že&þßÉTðˆ7y$å»eOÿ˜í×Âo-¢!Ô ¦7ü7"7ü} -ôö'ïaüŠE1ú -ÌÚÕ‚ïªi™¤r­,tô=›Æœ_Ћ¬ýÅ+º‚4Anþgeù/Ì}APÐ`_ÿ¬h2ˆÒ´ýå+ô'ßõfÓDÿ_Ȳ<€þÉ>'á1½Íä\ЏÅÎûhˆ=@èNÈf qØ9›þŠ õôB|»Š9€]!— FÕ<}Ñ”§Ž@’Nþ¤°[ */Ë +•—-‰ðGÙà•^¥ ×`ì'0ã &IP(«déŸT±j 0=S?ÞALº!Xnìmìeàñpélb.ànjŒ<îtMº ‰u€pýék.oÞØê77ïnð+DpÑl¨0ŒT4‡š+8 ¢:âEØ,Úeü?nvàÙþ21€Åeè­ÿëÄbÄwD€õuK9ø×C€ Pä %ßÿ×ôg ñÆ×?Î`1Ë»ºàyÀ´ ¶—¦ëaÔ `ï2Uÿðnbû:£ýoµÙlÎÑ££££0ÿYì7ÎgÙ ¸ÿèÐlÿ†úC[y€¾¸g(¡òZ*÷WËVóàêÚÚš„ÚÚÚ|ó¿V_0¡þ·™lnzÅ2@Ϊ¶š©ö!¥€®‰€0±óV¶œGмôbìïê’Ò$ˆ\:~Î àý®.nÿ—  ˆ5Ð7Á·ªæ é &¿l>À M ðä T†1À"Pßx¬/°_êÀs€Ë _¼²ÀbôfMÍJ÷gáñÔ…TjòöÊí ðõ±[,5cöÀ­ª@<ÊÒ9ÞƒW£7~V\<ñÆDbú€ÄùD$<÷ìâ䉛7çJ'J#7"ÂÊÔ=žXÂfÕAÏ·D"‘@dÂ›Š”–¾71¡ù2™œ8añ}ù³ˆoxR=_š²ÿ„O½,hø<»Ã«Ñœ/ðá{Id0øê†Èþ$/à¹Ù¢dž·zÑNÀ {øD£"•÷ó³¼hÉè'4°“®XÄ @ü¥·¿.–^CÜH¿Øû×Ç Úçšþ³¾Ç €9€À5ê£÷í³ 0+\-šð@>ò!nÄ~¢v è• -gF4+²|K½ QLÅŸ:¶·/lÇŸ¦”Œ8\°€¡k -=q$‰àyÀA_Æ’Ñ^ž)Ìe@ŠƒÐl:°À"€Í<Mh«  @t çs†:§¸ ÀC€$ë!œ™Œ¨«¯ë¾†@#Ç ¢†„ˆ£dl6¨4àÜàÎ4êDà8„ÀxTô`€0¾|cʾ"‘@$€†– -ä¯ € -Ñír„póo@€ñþòèýeÏýE"±Åغ͊À‚®ÿ[ù?:þw,åúÿh<† ,/Ìüe à›gP¨Ùr.·X`X%×ÑÄAàRý’ôè^ædŽvjr 3 ªqÕcœ¥¬k«ÖmZî… K joíår}åo®®–ã]o÷÷¯®ÖæÀÐÚÕi}uuk¨ÿ9ùŸxµ'5nà¿v?n¶pîÝ.‚îNتå€GôÖw­ÖV—˜ß#Õ§íÿùßöÈ5É><+fÿg?änÀYaÜÕÓ\¢ÛWö  µdžG¹âjس -ÐED®Iú± Ð2L€ ”V8ôú¿ù?`Êc½Cš·qµ0ÉCƒ7óÊ»¿t(>´’ð^:—XY±‡Oˆ|?0€pÂ÷{S{‚Pµµ=udòYÍdØnœ üÞá¹Ë—ç&Úo¶cíUäµÙj€Ê¬mÿS5ˆDÞ+M¦ÎÿïG"ç¦6™L†•Œ÷A@Ó~| -õü“;\ö³QÙðñ. ãp#€ÐÞ¸s*O€È)ÿ Ça?ëĪøÎsMb^.„0º©JÍf‘Ù†|¹ÿ¤°[ÈÅ-O¾Ò3|’oéŸß>«9r-ΈFµlZÏ,Tž_oUyWgÒ/™`…¿ŒHaBàkã€SñÀx`{{›{%,˜_hö§q¿¿>‰>€ßF@Ê—Ê(šå«Ó?é_&’ã² À¦`ÁM08 SéBðÈÁM&¨óõÙnœ[ü!¨¡œî`!ü{Á@„Œ¬Áãq8›Þò@üOkU£7 ›ÿC44o”‡š7Pù#ÀÏ_ûÿŒÀøkkÂãÿf4ŠÌÇMÇÝÎÅÁFh.Ìß÷xï»]‹±»nbÉí¹ëY¡Soà ­ÅκÀR°ö—ëß}kàgÌaèl×]}Kìø`æÊÿŽªÿÇ -'€å:)ôokh8-öð… Á3;:jÚÛš5ÍRé ÅÿÑ!"0ÚÚËKÐêçÑ~_y9+¶Ö@ö -4E¿[³ö { ÿºÀ×ÿ\û›ÜnÈ1p g"î¦&"n.ÿy:ÀÞ€×Ô%¿-ieŸ¶ .  lÈ `LxÀøß³Ñó>æ]•]x!ÀÀP DÂ ÈÆ/cgˆüƒh4pà­e¶ªÈ€*–Ί¾™4cäàßÇö|ùo÷®*ÀŸ•]¯n Õ–ø»Ïn·]84vr,Oâ³³/üýWˆà]Ã)‹%Í•#ÌpÕè©É‰›“{*|îÁñ³g—‹çnÞü²øg¥7ñY¤ýq -™»Tý£¼¢JËn§ª+òŸüIßù#‘`é?e’¥Š%ãS4®ü¢gÝÌs=]rìú±ïc ˆEÿ?w"?Ò€"w¨H¼‘<ìð¥ ?Ëྡ¹œ^6šyö¿QÂ`͉üX÷ÇÕ5¬þ¿½‹&"„ûFLTµ6° ÷ËGïzîß÷À -˜ëÿØ]¢Ï‚pb ðŸU.\ÑCs+€™L€¾ëTö1Ò9¢£ - 5›\ÿWa °Š“€ ÿg.ñ ‘¸ÎîNÆÿ78ŹÉíÆôÛ¦lè±O¹Ý¦Qã¢ébŽ™ˆì =Ú?ÄnÀ[ee[Øñ+Ó]@°Ý*¯$H]«ý½ÁØo4®ÖævþŒ¡PWßúìÞÞÐÐ^!þË+³&—YôÿÝ`ÈoµÅÌœÉëvC Ðäj²²?£?LzxTßÚ*wøJ`4¡dÐ5_™›ˆ£§«²œÝ€+ËË@¥\¬áÂr`½Þjm…Ö¿të v@0’€ê9€Uú -€î /Ê1ûÏc×Ì+Þøâä¹âÏÂ+ñÛÅZüDñ›QþÛWâmqe%n·ö”ß›Ò'Ù„šJôðá€?>17×þ‹_´_¾ùìg¥ï%‘—ÜQ¸NÏ`£~Q‚É”CIyô<{êo¼ñyÿfØž±X´— -ÿú_ÃZxGàÇ“˜œò³$àNćûĈ¤Bñë -ö}vØaŸÚ·s‘ÎËÿБù!·_Vß=€Mtø•(¶#eÝoW -r9& še3 •… /Wð92ŒÐ_Ù'¦¥~˯’è~3ÜÝNŒ'ÀÒiÜsôJo¼Ýáð-ÁüO«Ð¡r¤R9’ûòDªhè2…CÀD4œ¬ûÑ AÿaÖö ˜¾Ï"Ëü7 f:Æe¹®÷Zg#æ„ ì&{±igl&þ§§?¡²Ôˆ!À'og`Å,¸@è_Þ¼‹P@tŠPàWŒpf °ÿm!¬íUìnl„Ê‹Ð=@ÓÚétzzEýŸ -}€…ÅØB¬)æ¾ëYXôÜçýÿe6ÿ…ÿ4|Ðñ  -€¶–ÿ°Ûó!€r~añïO=Ðè_Ž7ÏóŸ> €ªÖL×Õ×  –:áŒ'{9ø»à8ÅÀŒšŽ–ýž0{¨loh €cLþ‹œàçt€®bÒ_w¥Ú×BëÆµµ½ÚU©Ü»š/ï+2åueµGQú›Üf›“ÀºyÝeåm?«+ææúKŠ.¡Î­ÜªÇß|%øoí§Çé4 çÓJ=ð/Œ€é–Åûy ±Ÿ¾ ¾G s ÏàxÆEèÿM !À€“Yð6€º(žõ{þÜófÌÜújÎû•í\ºt)œøõöJñGZüf\Cý¯Úíñø€%¾bi³?­§VU§#_ðžw"ì¼ØþQ{{ûG—NܼüåïÝÚü1QÈ(œ·ç‹¦¨hÆ–•’<ŸL¦‚ÃïùO•SþáÌË·æëë'™Ï³b õ±$³Õ?N¸r3€ÃÁ¤’ÁoeS?á[yûéÌéÈg÷!È -ÝZÀº?T_ÔÎC»tÈ2©úò}¶/‘³ÁÓrøgÄ‚Ä71€poø³î7!ˆ·ÙÓìó£¤VDb,Ì€fJl_6à‘[æ„€º%àýKø/ˆà˜@}& vôùô}rX -¶¤Ð`ázÓ3ãÓõõ¹@@GgšÎ`Vz†jµ:HwŒ:NBÿÑãFHŽc02ì/§’Â?¤ý6CæoÀ@ÀÿÛ€„UTì±û߯FsQQ__Ÿ¹øÏþÈ÷Y>Š4€ûúÇb‹Mÿ=v÷.Qªÿ`¸Œñ¿>Àüÿ¿±°Tõ €–yÎøOûn🻀D¢z@°NÝaà£êÁLo,Õ/-ÉpçNvsô€¿ØàÄç¢ó¦íæj³É3;ë=º·ul á?T»ƒ@0´U&|ù5€²!0CˆªëQ¼w  §,«´öw   -2‰@œvC`²¸Í˜ÄÜ1«Ëmuq€} -­`â§õ þnCÆW‰Ëß–°À< ž @—ôüˆTvmta°²¤‡‰€l 0ê‹E@|_L8‚‡;v&o€ÀµÞkÝu‚°°Åq%×ð {´Ç¹‹ˆx—u?(€ðp}e ÀäíšÏ0,õjâ;¤¨ñ•¦ŠÝž:wÁ¢$ðçæJ_å?¹|âÃg¿hÿ¨øÐ‰/oþìƒó÷6Sÿ,bÚ26›W¸µî»—Ц|ÞóŽŒ/ùÞ{Éà{þdœC1_iÿô:€4–3œäÕ ¡ôß¹ã¿sÊã”q@‘ð’sø“Áƒµ ÷Ÿ,ýú?HcÍoð–æÍð‚Î.’TadÉÒ;1ŒÞ£w5Ë2—6à•D¢™é Ü µoecccŸ%¶‰TÜBÏË)Ƕ}{|;>£7ðú#¬>r”—K˜äUàe>Ÿîä -K ÑÐÑ þ!ˆû¹½Ì | ÿvÞ)ÓSeXK&¦39CÀÞk½oAHÞØðFv¤Ä³ä/ÏÔPPetY`rš* D`dd„«~8†Øé¿k!C‘<ÿE€áŽÀôù}Sf· £Èû—q Ü_¾»¸xGÓöÿ—YH`›[àÀWªx€'Lt@Fú>€ôœ -T¸°‰€¼ã® Ú±cºciü!Áÿ‚ˆÐ©Îˆpnržv‹E@›™ÐßMÀeœ5Öîílpà±þ£C¯ òá4D°¾ºW»W]ÒUY~r@ãÚúÚjž\-)é*Y7Ñ'be ¬P€+¦ãlàf@ðo#`s[cVwS“í ˜’9P®êW£xµ{É<¯âb1œÐÅ®€g?­&ÀPtÝè!P â •ˆ„Pɧ%œÜ*m€ª¥ï û—Ä„€5€ËoõŠÀ4oΠÁ"º-ÌšóRÆ€Xrûܪþ¢q„è+Ü8¾Ý>™OÄ/µ[aL¾—Q´¼îO{©ª¥3ûOD €U€TYNÞ‘*€d€Á¤ÿTð`nBe9ÙàaLgcþóýš 3»˜° -À.ry -%>_äk/éO6€ôK±¤¿ ÿÓé0á?1€•í {ʢމñ€7è3 À3€@ÀŸ -$q;KR^ê@Jز£ètÀO}Â@Z«€|ÁæLúuô—^ævá-ßR8˜ tp6 0®ƒ#pãž7ÞÈé¤éuý“ØG1àP@§ÉtÜ\% a¤™W±ßŸ_^h. P/wÿÅ €-€‹*šC\ÿƒG âwÑsó}Ñ@à]& w–Y€@'£î’èàx^`†ØÐ=¥»ÇóñßçwCðX·t žn¦å‘ nÓD¦Ñý_’ €îNÖoâ€}“»|b Ð5e®¶ÅÀѽ×ö°ñ·7´wŒ°–ÓŽåå<ÿ Ø[]­-³†`Êo-«ýýÕµßõ íå†ó¡ùÃÚÂ÷dï ,¿PFw‡Î ŒYc.WŒƒxݰ—d Ëeã”H«[¡håÞ½°ð«„ŸVú©ÆýÿJö‰`^„ƒ¼ßõ>Þ_Ξ€•åLø»”ˆï¥[ W[Ùw0v&öK·ôlôðÀ2’€ëŠ »êÿÁ©Œ¹÷§fö…KÖ¢iÿµW–\ª¹ s"±Ÿ{– -',Z[<Þ »Ån°ûoÇÕTÄ’¤ƒ7o¶Ô^|è—/~yä½$* -çëe8ˆ ÂãKúhfú¾´ïÆù¤OñûÒZF;7ØÈ2,ä[`‘;~–caAMÿbQA€TénBÀ¥§)BïÚ¥0 -a€â“ÑbÄÀ—pfÒjöœ¹¸cÉjòtû6!ýÊJÁ•++ãÛ‰ð›TûÝþŒ@··Û+ìžÚ©”jyÉ @Ü#ª¾ -˜>”",l -Ó -Ñ ÊÊ$àðŒ.ÌÐðÉ6¦ m¹@ ;VÍð@fÔ±’¼Ú¨†7–ÞD—õ™ƒùÖ샣ŸkÇMN©@:@xý€ÿð÷mÞ!¿Ý'–9`ƒ>ÄÉ#ŒÿîÑE碇—üÅqa‘Î ‹wÝ„ÿ Øÿ_ ö²ÿÿòÒÃNèÿáÿ‹Àªÿ €6¡+€ÚóÀçVþd €€O)oøZÄìæ -ÇUMÏ`s©¾SH81èd# övfÅg›B Úlu™FggGG;·ÊŽþ—a0t”—Žöÿ¾,§ÿÃÀ:€½«¡žòòSmíìÕµ¢¾ÕœPY›íšúAòiez0ðkNÀ?ÏÿéeÝfÅ»àñ À³Y9&€·8²WŒî«õ$øwÉÞþ…@^L÷»ºÎv½ÿ~9úÿ`Tÿcû¯„W«KJ¸ú¯fCàë"x ærÿÒ €¦žô^{kF€E ªJJèç$QÒ@Öÿ´{ÿÖúÕ4’WŠœ»€–hb80ysÌž¸€h_»fOÙÛ2x{ÇÕ §û¸xùrñ/ÚÛ?ürâƒSA–þ)Lÿ3: `XMm*ØPÇTÆ—d*0±¶UŠ ntäcK@ö”KŠ}Œµ4¨0Øá¼öùOÿKïp‹œ_àšþþïÆ>û€‰±ÏØ ûì³Û¿º}rŒ@$¤ÞÀS‡DíåÔÝ @)HÜd ’ƒRè:@l:óô?ùœø¯%ØÒ”;dð1Q°ûòS‡šFJÝoºë®õ^«ëí½†)@c#¦ o,¼ÑPŸ=°bÇà쨰>Ž@`ô̰4€ì -˜G+.? }E}»<ØE\ "C0¨è«091þGÊß}Qäß§s#À~Ëxõ?•ÿèûKU@zÿ_µçB,ú ­iß»×}Ìf€„A›2wY‹ð˜é`@ÉÛ:ÁH:—õ €Ó  É'@›Õ†Ýû)—iÐxÔh<º·?b[{h!è/ËÇîI ½þUÂùÊùÊ’ß:éÝfc__Þ -°ÌTê)q#x¨Œ÷k âd:mr›<pÛ¬ÿÇ ”˜Y9Xm€i¨òA~­•óìÌŠ?}ü/É@Oå§Ò ¼çý®Ê÷Ñ€™@lÜ*­€Ä@kµ«4€=™ ÐHðïilD†צë%þëjK €"'Ý¢ -7Wìýéù­-óí}ȃ>ÃócØ;<ž+.¥'Џ=íñ”e€þâ@MÊžÚ¦:X/…í_~ùåÍ¿8ñÁeøgøså¯=ÙÏ@Ÿat¡g± ²ã»—ôíøVƒD"è´þЉÈÅ‹Ïn>ûK¶4Èè4ÁUx @8¼Œ–¿ö“ÎC´Ü¨ãÛØÀ€-éí>áÄ\ã€(8€Êú@6â øÉó™ôþξBÿ{h5¥éAöÝ«OÞ¤Ç÷ØíÛÿ6–ðRáû9ù/'OrkÀ;žô'¼Dài<%—R_v€ Qþ«b;UŽ6¹ €¤°ÌsÿGÏ¡?àßçðÈú_‘ …ÎÒTŽ£8^__w­ûRê–»—å!˜@ã£KÒi¥ê¨é¢NŒ*Ä&@ßH2ÿ„ÒæÍE!Š€8BTþ‡6Øÿ·î?nÓâ( bÆ/ÞCåÿ$ ü…Ðrð–€èÃüW]q@èkóÿ‹LÔkÃo ÿù–)ò€¢¹ wªZfWDœSÇt}ïÿ‰@gÝàro/v8ÊÙ} «Ù6ÅN@6ó%Óèlÿ¬ñØA? ºvoh `c€B°'½€ ­DÀïÖúæû‡ô8À2Ó|¨¤¤ÏÜ?ÿ Õ²²œ L˜Κ10 # 6«Û•#6°&8ÌV[5õ%ß÷© %=]`•ÐþI»ß®r0€’ŽŠ€³•px¿¼¼‹*~ì¶b •sú«K ¸»†X9سZ[€ú€P´è(0BÅϲ?ö àŸyùÛl¨I¬„Ãov‡ééð£âá‹t² lÛñ0¶×Ä•”CÉä;_^ü÷ŸºwçpéxYa+#jXâ=A4 Øã?ºèÑ”oG ïQm­d‚öô5“‹œ8râ"—ÿ2h+/2ì仃çÚ`póï¼Äºœ½úÕÌþý€Ò%€<À*€{ûéL”wÑuC ìâ^D\žX@Ü·~ÒÇX4oøch-Gj¿ë+™*úû‡„b@Hü¯¢Ô}ÜÆ³uݳQõíZwA(Ö]ÕX…[Õbö/’üØÑO ½ûwñÂ_¥ r/ïÞ@0:lØ…æ?_cp½î‚­Þd aˆë ô)Š@ÅeK@¸“ŠLäsÞAö§ô€ØQSa° n)¼¾Çm>ýú;¯ÿóéžzýãDˆ¼s’8@w¸;œØŽâ)»%¿˜ò;Ì„ÞBwŽ˜s€Ï|qøEègñ_‹îþøOcìð €Ø*' -ÀžÀDêë~SÇ —°Q,•õ.£@šQÓ›虀ÇMÿ¦ô ¼ç_QQÔG À (B€xöÚÀjæ6Áqs…{ÔmZtâä&0*êüe4ýïËö¿x à<‚þ@À[¿´Ô1Í€Wÿ¯´ØÛ¸Õ¢è€–tÐ~H í‹>FàcßcáãÄ;LÚ°¾9³ô°nI´:;!ôø¤ÁCõ¿“áÕ7ü€§¨Ä6WÛf¡Ü*c×ÿ2^ìçú_vÄ*ÿ§í Õö÷×–™ I rËjKJLk¡¾Õœ@È -õ™ú‡"<”gº€IïÄØ˜ên›Þ` `µÕÆ«øL%:À§ðDÚÿröè: C`Ùè‚à_rôºÎ¢ï_fÀN­Üà=”Tª+¹À†èØ\¶XS¬ž…Þktvó±˜óÀ¿Î@AýŸ³-“/þ ø¾qÀm5c‰ÄxÂûF¤ædMéJZ÷ °[ì+á_ʧ*fêÿ³Ë?/ˆê_¬’ç•èOà‚'[†Qžd¢  V¸<œ«ÿ¿ç-æ-¾Øþ¡€ÿö‹ss“IôgM<ú­… -@ü‚¸seN_ö[8›Ö[|®Tµç²>8ÐGðeDÃ]L0}B.p–['ì´¯IÆ!~ê¹%™å}>ÉBX 6£Gü•k~E iñJ;j؆?ÍCŸ1?­f5 n5 ¤2ß“”u7ÿóáÿë#8O½~éÒ¥wΜô²`|Àò²…)‡ ŸAxJKü¡ÀìLÿA,(È Â?zôÔåù±¾þ?VXÕi]€6»((z 0!@á÷òµÞÆÞ^Ào#¦Ê„y¿QÒšLŽš>1ÑÙYaÂFazUþÇÿ¹Ýo`üçÅn4ÿqËÿ|F…‰ýLnaÿâ¢Ç­{ýÜ/,.Ü]¾Kð¿ÐÈ$øßy­n™`÷!ao½Ôÿ‹€Xäþa àÇ^àúÿ±¾¿ÉŽÜ¶ï˜áúŸ[X[èDùßð‰³¡áôi§àÓÙZm³N٦̣`³Ç0Ø"ü¯Ú:6k4ÿgõ?6âÀ*‚~×ËÙf§¬öjÈÔ7€`«¡ßÊ&ÙØ+ËI xm‹8²˜…Àý'†@´ßÑ@gÂõ® €­Sèž±´ghÐ]Âz~áÜE€ûýÜà}гü®æÊ÷+ePO—h`@l²@¥È¬¶Š$€˜«INþÙ˜wx “•Žœ €r 5£Š@!òg´WŸ¼YoN…í+5çÚaÅ[€xÛ·ÇWRš#•Ù)¬þ¯Ë_~0ñ_ý÷8û6›Ía½*&OÉ÷ìdwÞ®V£ -=ù”h‰Ò‰9½þ?qñÄ‘â#“Á %·ºÝü˜(Êa^Wà–3þm³Ú¾Æ"¬ÜeõÿcÂøÏñ®}™‘,"yngõé:c»œ±õ÷%[RùCZïÈ쳟=©ì5@辟 @ü?š?½Ðm`aS忟ÛÍjæ •žs@I&7•Ç<–Ff‡Ü PEÑOCˆ ÝŽ3™Lšç6hDíú" °ßÎ¥¿ÜP®YStø'ò¥ˆ0"I:Ðø¾Ï¨Zúõyçõæ×M½þzñÔ¥ÓïÜ«•í”Årþu @T݉F9=€ ôÊÛ ºÿÁ–Üî¿þ  VYé$p¢“.hóµ0¸Â€REX6=.å•÷övö6ö2ü/¼um3}À@ç¯Fáp|ut1é@…p(D,`·)ÁÍååå`¬ÿc¹o¬Åbn÷ÝQ* 1ÿ÷P½×s×-èô–,pÔc–¼R`ç`9+¶ ÿW\€¾Ï_ôgÐ"}€D `z¦^HØ‘÷Øà`ïà¯<ž†O p: ·™O›Íl`rΛ%p ʽ²½½½¡~Ö<ôÑ LG`—ïËkûCýÆ«å¡cùÀÕ’ò 탡¡2á˜wDÀi":%\1} 0¦Û›ÝÕ)´bA‘Àß\­kKt+¿= §R >ïüá·Áõ³b%°RÆð[=• ýb P¨aTÝÊ[†.« ög¼ –—!Ä]úPøW9®8r@d2)¼ ôÿÐþ ë±èÿk ‰Û‰íðÉD¸&€V[[|@³‡¸0¾]¥d^ô:7öéÅ‚Z_Ëè°Î/œ7Ówä\_‚9¯ÊùwØÐ¾³¨œõWYœ•hV¢¹ï· h då£Lp‹·ñ,þ’$À`C¥5 -I»`v;¯(}l  bYÀγé(çf~lW'NmdžA.Up;æ‡}»©×§¦^?ðÎí“'?ëö&âö”=}öx4¾'¸ ‡Fyp3ÊÕ¿ÏA—!»€*ûYùï`áŸ>ú——Ü ;Îò˜ÑŸ¾ç>âmܸBGGUÇxÇøÒ¸nD%å2€F0€kAí 3€–^´„'0FÇAXH°?ÂÁªù©øßh†=CŸÁÐÇ fÆ¢ÚºÛEÈ‹¹<÷=Üö¿ëáâݪüéå­k\ý?¬«‡ÐLÇ ;´ˆ€\ K!6d¾_`áa#€\ Š“áßÄ&ÀuR؉Àà ÇãùõÃiÛñ˜­fˆ]§g¹À9@{ee[CÇ 4öË5À2!,@ŒöjVö”÷­­]Ÿ¯4†ÊC‹«œT»Z{ìj¨¤²ÏD`uHŽ rI‚ñãù`xÿºÑ~gc››À”ÍUmƒWÁTµËP] Ûáã ÐSÙ3_"пk€z÷ŸÎö° pWׯÙòò÷áU„%8ÀJ¸R,PõÏ<€»RH¿ƒ­)fss0H]w]в €ðÔ 4…šEö3–ç„wñ«MnŸKÆÎµYÿùœjã? ²èñš”=®h_v }Q†%í™-«Ðí²CÚŽrãÔÿ8Ÿ|瞿ٸP+ø]ý–¤weÛž -$ãÉxŠ;—©x öFJ'í@¸´¦tÜïøÁðϽp.€±¨Õk1 Û–牲“ž™- @eãCqŠîHO^G"" ?*gåÊdù\4*_eqcÐ%Ó,~s|¢äjv_S³Rh’Ö…?jƒ]Ÿ(››Ä‚›Ùô‚ž@ŸÐ^ŒÁˆ øxA@‡ÜaCþÌ\uþNôUH2ÓÚé> ªé?‡uŒºD4 'lj•¸j·h‚°@ŠXIEoð`×Qóo¶H6Åä?ÈÒ¿ €ib¦Ã?NÒÒ§r!€ l.ÓAí¸´•í† -o`pÍ‘>ð‡¯sÔ9jr28Î=€·±P„€’æòòP(D¨ß\N €Žr*ÿK #}}¸ÑÑa^·ÆlЩŨ<\¼»ˆÌßÌéDõ?à_Æ üŸ®'À‚<±€^.ZôY±Lªøs:d_ø¸À€lÄ-€ºiaˆãh/K=ÎOD Áä¶¡þG,¯yÊf¶º‰5þ¾lˆ ÀÞÖÖð `V4ÿ9xO®ú Qq_{´¤ëDyßZ­¹2d*ïªì«]åÀ^íïC%å•}}F¨Ù (ï$(›GyÁdC€ËsÅØ€Gd³ ³ +€æjCu‰ÝûyÂ}¦#ü—±óþÝ  Köt½ßµQٵѳQY^I  DäÐý@/ÿ ìTÍÉÃLB lhj€ ‘×:ëêêÖÏÈ€Lë³ÂÕIÖÿZ.Þ9óWFî½t;ÁÏ ñøÀ€0²´ÏKúRx-í¥¸bÍD3‚‡ Bò”Ø›ô§ôORXlö}'L ,v<‘HþDòBÊžJÑ}’ŠÇ#ïùððä‰#¥ÃÞñ[áa/¤\á ï¢L`¨†Pp37Ïjû™}1îÑ'ýûw²ŠšóÑGµ¦r: lr K}½„.Ãѯò³u~å8H&ðXãŸÍY"¬²P|ÀÃçMn7Ó­EÓУúd.°~Gl‚EB h€’…/šòr#ïGø7Ȉú)ÍϤPw;‘ð¯P1dA… DÑj<>9žŠ:¾¾u¯¡vÕXû–Q2>…-ãuǹá {SöøÞa‰ˆ ¢ݱ]•X ¬Æý‰ñxlŠíñí•d‚8A$|«¦æ–7|¾f¸´´g:½{¤ØïHù|ŽÔwïdD€9S‰¾·¹WE¾‘ð¿!¨VvTݱ…­Û¹™/ž²U‰îhÛÒ3÷&jjBÕÛ¨¬£:Ðù€\©Ï½¤[ñÍ30ºg+êý¸ ­Ë@ð«+HbÀÑ€jNˆf€ÑOö¨žY¯¢5"Ëoét~õýߺã¨å’Y å¯ªü~U¼õg_¤÷_?ùÙéÛ·ÃñøJÜòòWõ;‚E#\ÿ3Åâê_LÄ ½´¥ :̘8|°þ+çê_7V¦ -Q…Ñ_§m-mWx ðC€éq9èí^®{«ñ­ÿŸ¼÷mëÞòEsT‹À b¯õd$a´epCRë×qbdLñטpüÇ«ðÊ_kÃCŸ† ;‚%ÆãXÐ …˜²vÃéæ»íÍõ? â l¿É)€7Onú‚IÖýÛyrÀóüœ”»a6¸Ü}£û­ÿÊ Ûœ’òÿ¼¨+âØåJš.€aÔÃõgªÿ¿»¼ã¥CW¯Ü7mí6!Û¶--Ì™@ãµ\,VÒg˜÷Qåߦ+#LG,Œm{M³×t;Fo™ÿr-:ahfÎÔf¿ã×ã:¸æï¿U^Bí§«”™¢3‹Rvy«kÂÊå2Å ÁºLÐe«‚—^¾D(àñnþŸ¨=ªð:|Kù¯ ¨í‰'Züsø+PŸ«Üì£þUՄߨºE<Ï^-y €*•þW^‰Ñåܬ–btõJì¿çœG¯Í_¨Wªxßœ0ðÄ.aMz¨ÒþÁÉg1€¯¨ê¥j­²‡(G:úŽXÉ¢û  cK}Ç)鼫ÎNX&îÃ3²ÏB€'ÿnjû„€\Ô’_£&``k!ŒZå{Ë!Èä¶Rãø†ÿ«M\  À~.Y@yéÿ…«Îb÷Ï;º­*ó¬1‡©¹6€ŠÀ ÚØQ€–PB@5Y†àìYf–{±5‚| C*]#}}x_ó¿îà"ǵQñïÇàî PÀ\ „êï ù¨øC(¹u™]bºoÄ©I}ÿ},@Âùò?ª<¸~„ÆœíbÏ8ÙK¨¬…&P?Q-^LÃ[Tü‘Ü•`áÁÙ+ÊøŽ,`p„€ûú>5ôà9ãÅ™ŽŽŽ3ÞÕûpï?~|÷ ’±Ð1:ºy¦g°`×uú¥&+þ=SïBGu÷æàBhx°`œ‚¦Ž{ç‚íÁ9oßÔè®ò<~ü püøh_ú4ûވߞ´»ÀËx,ˆ3XŒ$=\´eÀoƒŠV&@2À" •~v¾9È W8`˜m€ xXPHÍ?ˆ [ïŸä-€÷›€½Ë.=­® 0½¦ zU;[JÿT. aÍ4SC³V*7},ÊÃÊ8æšMÇûúÇÛZÇàz µšú•ºnØÎšÛŠåìØš½¶–ùã̱kvîíroçjæý—ÿö\}¸ëk°åutÛŒÅÄrœM¨¥ÆÇÇm ºàC‚[K+W,E LLX™bôØå£Tÿ/ýÅå?¦÷מWPÇsà.ìa{ qðSÊlƒ]ðЙ©Â¿£ŒÚªêK9¬©åE¹¶W›¬€QÅG%:ˆ#Þò%.þ(ÿr”Ï—xb€ô=ÑI+h8ÛßÈÐåª?ká€(éÛtìÿwJ¨"\:4Nd1 î_sCkè‘b?¶¾Ÿ‹QkýZk‡/e]šûG­ƒUýÕökê×¢¦¦ÿõ½ @…-jß_U~Y- €kµ «4ÀªRÂfy>£åÏ û¯ÄÿnûÏLŽÿA˜™ÆÔ¿£©3ÞÆeàwZJOÉ~Y—ìî°PÔÑtC? ±<"ူ~ #€ÎlÛÅÎ9€ÿ§þ_VÆ|L„Ïè«Í¿{¦šÏ´9;´2ó“îúX¿F¸;íU÷óÜú3WZñnw18yÀ”]ˆì« 1Pد {ƒca^¸Wo|¿`[¶!Y è` W Øpå@=)íRÊa M ˜5¸·ÄYWK-ÍÚ_«·ÐõVZàë0ÅûXÖJ݇Tõ£Cv\¬ˆàûM" ¿D¼ØÅiÓ˜^ €Là¼; `-Áñh¥ÿ5ÞàTÃ37Æ %P†ÀãM; èEÈ@Xz+ òŸ8Ñ{çÄ¡•Z×¹ÉÏß@*Àç¯#ˆª¿§íâE¸÷·÷÷Þ½K…¢½Ý7‡þ?â‰dCxÅ >t+O¢qRÜÀiÔÎý[ï¥ñ ÷:J?ÓÿLwñ€)X댩žîÿëO–Šï¬¨î0€0~–ϮȠÚÄQ““TúûÄÀß瀈,†éÉÕÑQv<3Euú¾*ÿLlž!pft -Ãüã.€àF0æSwÛ©c À®×— ¶g¼£Sð êqÃ]+`Fj ð -/#Ñßc ß}³ÿøb „5 01êÃÀO’|¨™‡' [ò%PøÐÍ…»hÿƒA0éÀü3 -ô%}>¶‚ ÔÄ»»O+€=—‘s¬h!Àêè Δ٨…ëOÉþ[Û›C*ÔþS[`R©ÿqéÒ±èt1:[Ëå §úßç}­óbggq¿mltwŽêÿÝÁàœÏ ÷9XÅàDåÿ–ˆNŸþÛ“;0€w‡¿¡Î¿—Ï'z¡ÿ_‘Ð85þO¨þß‹Qõo¶Šªõ¯¿ OŒÓL¼—ˆÝ‹AØ nÿïH4€ð:93Ї Š?ÎTü „^oÇêæêîñ3Shô1À{€»TʽTö÷°Ûÿ.ÀTÏèÜ0oÜñæ•à jþésS»›è´Û‘0êÝØ/ÿ­FÿyƯ|¾P -ÀîÓ§Otc ¤<úrÑ} ‚Ááêÿ»ÃTÓ9ýoAéÔ@€Ý€‚íw1 Xh_0HÅŸ·Û¡à®ýj0 šGª?]ºoPý 3Û±±Óoz ×5m€b*@—¿ötTúïÓÝÿKWý¿3›Ú¸£YeúmúÙ±·s­Ù\þKõú™k½¾mÐñÚ —j†^××Âöcò4^ÉÏÍÌÐt13ÿ§[Z-lAP ÛùØÚÄÕÿgJ¹æ«g“q3ºfkvŒŠ}n©lj)M¨ÿØ€raÈÊÑ BaΪ#àbݶ†Ê¡€h´8={ìò±i—£ÇŽMÄòßMÁ¬âXؼXäýõWLæcVï´hø•_½!†þlð5ûºïqÑúZy>Ú«ï=âN[Ì[€BÃ/0†Šç<^Åã >8á Òrb°Ãß L¶186Œ¬=² ÈC*ìÚž8Ñí¸zD(0£`uAþXØ J”Öwª^sÅ‚L*ÕÝÞWòïø†dK ) V 0Crn‘ëµï—xÉ€ÓTèj °jWóªÌ«š¯®žqRí“@õg º66 Ģϸ®ýNWn@p˜ã ¨ÛWÎ.ß),Î.cÞ]X>ëšg¯Ö5Ù·ê÷®¾æõoR÷úðß~HƒÌÃ1†Êd1 aXd‘™âd(y+Éå¿ûÆé¾Ó§¨6 ô^§úJÅá΃eæþ¨ÀXqŒIÈÂ@/Œ«À@ý€ð»þÒ @Wµ+ñ0( ezYx m¸ÿ?'"€¿àúß7ÃÀïd»¡Åx÷k£Tò‘0u¼çþ} `Àêè*¢7FyÉOÙlØÝð ƒü'0øøxŒv± -ÐÇuÖ€]×HøÉ1ÀªÜ þ?À;§!Œ¨âßMÝù"±8l€BÉ ´ÿÈnWäÿ>ï¿¿ À ÀMøÜ\`€ª~;Ûÿ²PÚOèŽÞIýÅx<À Gœ:5Â"À;è×댣€tιNM­™ðTù? l:Ì ÖRvªl–©Ë.\ûèZW,¯sýç.­Ñ2¬¯mÓÕݰpnB»VÖ­­\¦+X¹Üµè±èùÿ÷Ô¤W´\MËÅrù ž]5§þ´èÏ}*¹ÄF!Èw‚¶fv™XÑ2S¤øs©¥²u› V5›yMº½d ‡2™b4:=þü±éécÀç‹ßå¹Pü½òí)‰:Ï€…®ëp푚OýðÙLÏ7X»¶‡ú‹¥+ké qBûZa;»Ú×`¸ëßÔ¹^¼*wWÁ¬TêØ×oˆ¹R.IèãG€q±£#À‚ó„_ŒÀÏ)ÁByÊŒ}$ËJÚtÜ”`#°ª¡cÅ]†°Ì@ËÍ’^ûžZ !ª>¡ÐÞþž X,mÔÜûœú#üX ãæfj?` RS6€F3 ˆûÝmýÁàâ¶þyWü§NÐhÂý×P ;.  ¹€†=€q kâ ü„€1¦Ä˜ @®úáyúê½0ö{áÐæéÌzg€ÎH€*lw è=³Jo÷§îï² P“]õŽîb `TE2 0…Àî*?5âÁxð:|6¦¦F;æ »‹LMõLzÙÐì{þƒšÜ’áÊxüôé÷ Œ§ãuÇÙ§ßzâ•§¿o¸ý `AÔòapÎ7á´0|Sl€Ú1˜;€§ù‚Š`àbd‘M‡èA°Щ“x•GFØÛù®ÿ¢Làˆ®C%;u•%Hgôs8Pá#ZT%æl×{¸Æ»Ú¥À¥QeíSýèÓ¤n`HPã\åG{¨}NI3žŠ£Rbèëçò9Xp£Qªé_ëœÑ/¿è~†lZDßãÑ"¥4 EŠ¡ÃÜᬠ<ƒY§„u‡!@;0·ó;¿î6ÿqàvI{JûÁ/½bj -g!qO˜–©?68pò‰‡ÝÈ{¾Ìz°íNŸt½ỉ€x/EÿÛB0÷Ï9À,Ü~c ‡é¾WµŒ$‹1Õ€aÀÊJâ0€Ø$g{ýž‹Ù‹Ù‹mž‹Øý»ÏLò¦¹Ï§6Ä]›n¹78500B¥uýÈaÄîÈ’¸œºšô¿š`®ÒB´Šá*ñ¢[¢¨&0 l€î,·Ø2ý/ÀÀÌÌÀ$Èï ]±0¿x(àïë=sÆÛqj÷>½Ma @ëVÏ ë?_F¯oìNµSý‡Å^pxp0À&Ü66¦6V}ï¶û"p×ÿ[,øaÀÿÝpúÆéô[7âÝ„Bqx„H.Ò%ø¥/Içà°OFýîù’,¸h@­2 0 &¡þo'pça3 ìÀÿÏû¡¦•ÿÅ8|€º œ?uʵ¸þà×(š6€úŽZ|ÚÖ¡rÐõôeËüî bQU-‚V7mœè±6êû>GÚ|¤6ŒpÌзb¦}­¶£™L†ðB4SŒ¨ý?võ'cÓcFØNmå4{mzþØŸ]{L¥¡VÿëZmû‰'‹©ÿŠÛòAˆ¥Bx).ûX`ÿÖšf™® ŒÓ' åÂ… ³³Ñh¦l‡Í% žÀ™˜™+ÍÏOOG½uí;=NSÆÏ´-ø½^ÙsSÛxU•þ¨ûœÄžà`VÉg¥r¯îÂô5±‡|ŸLh¥„äZ%¤ |÷ !¬ åXD߉›oˆ„ñ:î ﺑwœª£;ù’ÞÈÓÇ{¥Ú¶óB rj -! –JÛ•=ªõp=:–2†¾ƒ)ó~"ì?´€›5IœžQkQD¹Õè»’&ýkŠh2Ø'€½€h+êB8?´×xªþ{|H{pØÀÞ6§FÓ¯E^æn6ð3‹?wÿ¼þ'€€l¥qC-8ÊxÜqvÄ -@Ó%f.áÊätv…™Búazú}ŸÃ ˜]lúÛîA¿ÚÏÉñ †™† ]aIœ;ÃbjO¦ÞçÙ°¨Ãz¹ù‡ä¾ðþ¿2’ÀqÉPÔüÅq±˜®ÿN€Dì^‚¾?¤½'ÎöÞ €Ê˜‘þÀŒ" "˜~‡º»ý3¼p†úÿãTíä…`•·¦¦À -´2S£ôU˜Æ‡©Ñ.@°Iµ£gjjt)AÞûX -¯äÿûV€˜ÜÜè¾uùÖ-(,o|¿‘>Ý}ƒs.Rûe"€ïKöòc€…ƒÃÿ¦kÿ 7°š@­=Ø?ÜÞ>Èñ¿Ðüc—ÀçÆãyYr S€în8úOαγ oEIåOI3š‹µæ uñ¯ÖÒÁþ0@¥2^¢¯ÄvfIÁØèL¨5@Lšìqhœ´¿¸ƒ'5`À—®–ÓÊáÆ$ÇJ`g§'ë¹êŸëz€ú=Ä!V†…|R}â‘ËTP—>Ý7ðþI*ÿ“###0AèíeÝ!ŽÜ£w÷ºTóïÎÿ 1ÈÞOh]oÊ`_àG’t'~‰îÅP ÀžÍw\ -`ò܈ôÿ“33}“¬¤tèFàA à_]…éß™ãÜ´cúïF pwŠ€Ý&€*¿±;…-ÀÁ¿ü”ó÷>È xw£gt^ýs>l ߨ7Þ_”H`,&“Tüo]&pã½·n¤Óñ@<ÝÍÞo†Ñ]ð…‰éÂØZd;Ÿš80„ðž´•= Þ£,JˆCeÃÅ>(?ÀU3;!îu5€»žaºÛhÙ"áѨõˆ=`  5 àò†ÿ?(:º;{øð ’¾ns­§¶Ã=À$¥5 -È­ó%÷ƒf÷.£”š!&BôKûïr,Tì€Ò…€)Àd¯ùXË÷O1ç0Á§Þ¿@0A€×^ó^ËzŠRû_,·2—þ|ËÊÄìšÉlÙfÆš>fä4#‹m`®k\w`ŠŠxÀÕ\€c˜á‹”a–µ%«`Qù/[Vy©ÌÀTˆÒ 3¥-±< •Zº}a¬XÌX)­lÍÎF‹¹­\.—yû£écÇþèík[6´jÏÛÏ ‘•2¯Þ5 (…l„£<'’ïãDvB] EêÇ™. AuÝa˜i@ ã< wŸ¢ªŸçI´ÕR"¯5X_ǽ4 âéi§bÉqz)apý×׌ÚÿXãáZìÌ… }›°Á×z©‚}…@NJtÈà…ð5&šìù‰³,ôeŽ&!% xQAåˆ3 $lñàð6ë?®x¢U~¼«óâ @?Ømó&@]N\†B½â–`,ñdª4ê¿ú~zÃÆ÷\Û\Ös¨€„6] ¯CAÕü—XúWýŸ ìmJíàÏþaVÀ7XöԔʴ ¼ãYÈ¢ôÄVü.àGâ‚‹Tû=T0%æ´8,‡'á/þpénTÿ“§FFÖOqa€8á=nþ©òRííº—Pyq %‡å?Œñ¦@M?ŒJåEwÅ߀, ‡C®tX>Kè¤p§W…(À$~ªÿé¾û>a ´È @‡é=g¦¦¦Î ïgÀ+À e`ϾpUù)7½Çƒ`ðAûppwË=Sïç’ïb[ 9PNÀûÀÿ kXpãFü-„vZŠ$e:= ÁÐHƒöÿ”ððð»üá]˜a °½ýÓ ¤„æØЃÀ OvYà †ð Õ³b¦‡€Nò¨‡}€9 𬔠í4Yz=ü-ÀKZþ_TÂá\yËœX«Uôµý;+èΨ}wòa#¯Ùf̼–ÛšX³¦s©Üü¼;Z(Æ¢ýì‚{¬MÛaÓ,X±ÌµcGuûq̶<•_ìú5Zž2Ãu|Ä3€:ç ;¶æ€å·Ë);e–Í\нuÁ²,(SæR¡\&X¢w˜”5À ”SåÙèð@®P¸V`#ak"÷öôtn-¦Ûy;Ÿ×ëÆóÕAeâU;4Oü©ïèhqwÐÔ¬'4ú•)ŸÙ×»x[á]’ú`E—{X\õ¿^1 - h²«ÎYî2& °ƒ°útÕ³Îú{èú÷dc«ÿTvõ„ÃÈ!ÿÙƒWb±‡%> :/ŒÁŸ†~`êßðÀ  $Òþ#€/”á½ò—}B|ÆîÅLU°gª}]è€F‹:ïô‡!íçœ#§.‰ÇPú……¨ñ8€ó ÔdA’^‹’žX%éïÖ;KoÚ?!€t|†‹ïêêj‡×Oõ~÷ŒT}¯W¦^ðÞQLµ¦mŒ\þõÂ. •ýQï»@ÿp|ªçø}—øoî61Àèéèý©þÿÓ­ø{7âñ4[Æ•6þ 0äLÿ‚Uü@þ+ €¸Êîjþí Ü\à, O©Ùïç!…=> ðq¾PÕI–z„ظû4ï2°ÞÜ\æxGw¬pc@ÔžLu:0øáø<¡kÖA,vQ£nTœðvÅÐëáµµ°=a®ÅRr9+ge¬ÂüÕŒu´XœÝ*)NÌf¢þ˱Ò/ýô'–£[öcÃÈ¥¼~oÿIƒÿ«ü•(€Òý™2pÄ—E÷G-þíâ…Ù±¯Š`Êtu»|ÛºPB €i©-ÑýC™œF¢áÖ„©Ùå5s+óöDÌÎOäm:xÚºñ/›ø¹jNÌ)µ¾,~çôõñQ×WT§F»Ô+ ç¹ùÇ -b,L\ý1ðçÇM<ïàŽ¼LPö ¸¥×ÑAï?¤ -^P`u5–E‚µ‡«k'^¡›F¾ŠÄ]{£Äà÷nßÎÿÉ›p?fÑCýkà^D‘á%X¸B—%4%•dÄÖ†RþŽl86 ±F6 ·“çÏU”‡°„ ÔD<¨‚2ÿ¯c¢ÑÐ÷ðÿ5ž5žˆ§Ì?!€,読ób6ë?´à›í¦ÞtÑòÚ¥¡)`¨!Àþ@­¬qlÃŽxíßž€\ý64,ÂCÉÕ;;‡Y€PÚ¡’öøhÿý\ÿTû=è/}!éþy€ígâTºÙ1}'Ï+`¤À‰‚¼÷ו@o¢é+B1¬H­¨;2¨?•ÿ‚ @Âib ` šË8 -I€#ëç:FÖ''›;€3tò" íg+Þ@„¥öêøWÏlfÓ˜œ…"Ðû÷J@H`uuŠ“þ¦ö÷w‚ ƒˆ*ñà¯oŒbíojtô]ª±¿ü‡ã»Ç{¼?îi‰Ø—ÐùL:ýÅ ž¼w+~ã-˜Æ…%#ÉËR™ƒLëœ ó9¨,†E8Ìßܵ†—CoßäíH<°áÑÿ¿¤/Ä ˆ}(€ˆ'©‹ÝØà|×yÒ³Ì €J@0’T ?ý»_ù_ÆÙ#ßßÅ«Z(˜ÿô ¾æÔm˦š:QÞ2—¬L¦\Îd¢ÑâP´X›žÏÌšVôçÿ2;ÿ“± ჟþ´lÛ¹ {ܶm*Nv£ÞOàšHÄl˜;`€€ÁºRíi†?l ðDðÅBH“Êói «Á+¸pXdÜAC¹Í -†±-ÞÇ £!Õ^¥ !yÛ 7¤ïwXÀ‹€„IOl?ùÃPç?×üµ{Þýð~ Ó¿òãeçæ<Ý/±ŽMùÜÿ·6þr¦ )À”?æšÂªú‹°a4 Q®ôO9ÔoPB~‹\€©%zc!üî¶*¥¼A½öµ¾Îˆ§3õ„. >Äõß'1±ý²F•‡IaÌ…¢o˜ÞœàÀŠÈ ©÷X¤šµ I‹ŽsÀýø À÷£€ $€¬Î.÷6wÖ•*ÿ}3~è† - ZLüÞÕŽÕ¬tõÌÔ*ÕüM*ûªþó4ÿ»SÇŸ SC~.È™ Ã÷{F78ºñ˹Ppî³fðñ§–Å èF$òOI(ãñ¿ê~/ýUÿt<¹ç¤>~ã ÌêÑüã - )ÿ-à bÚ% -€`BûÂݾ‰j ÞÄÇã¡Û!çó®Ï¬d¼€ê¡òï2ëj@W×þ !g7¨þ$S9¨øAc»Æ™Ô—× £±‹…mjûm-“+|”ÚÊXÅÙÌP4W.”‹W1V¤²Ÿ;ú“h&z$öÓ?½ûsÓ,äìœI!€p½´ P;1Õê²ü´alÇL[+›9“C±ûÇô>ª*U.,ü/•/\¸ðÉW_]È] P¼04tᣠCVy)eZCKvªœ+@+`š1üW6ƽ†|{>•žCPS8 ýKæ1}ϳ{‘ýñj<ý‡èý×VÊ-´M\î× ºVòôÕyú‡+±¦LÐÅr³ -¦µ*ŸÑùã,_,ï~ú¡Q×°Àa&ðñŒ?í…`:tÇ1nôy!øØï÷Âý*þæÇ«3£Í-»ìÜ´ü€@ṵ̂”á¹ú¢ÑÑÀßd}¾Ž·ø7qÀþ]}–þ#€_ÝúÕ¯°ȉÀXŒ$™šWƒ¶í¡H–YÿA‘È`pPÒˆT° nÞlg #@Áþ §Ÿðþ1 HÀ ' „"‹tîŽ/ºÓoˆàÉ÷O¬s€øu±Á3[vÔjdÎÓ@퀯Cí `.[‡…¿Q·ëµ’Q³©tš–a›9ËîÚÊMr[]óÅ\&JeÙ<^¹:VŒ©ù:Ë}øá'™âRfÉ6-SúzÃÈëpûEÃï–2Žªó ´‚t{l° €BŽÉÿ%´¾UØBPÊ4o—Å05n]}óÊØÜ¬Ù¨5dÝ.Sï?k¥RVÑÒR[es\C„àVì±ÆúB,ð¦ásÓdmŠ›§’΢·ÿ`÷cÊÆçáZ—¢ø»ä]sè¯ì«¼ãŸïÊ'ò]\ÝÆäÜóÇ”½_É‹" +Ax £@ú&59™æxõ @sÄäC¬ªŒd©Ð– 4à¿ €^»$Á€LØ—ê{  ÃÈÑdö¯XTvרF®ñ+Òu¤ 3 €ÅF6à%ŽYÀ÷á¿3Ö ðÊ ‡o1[ q ŽX0TEøäOÑÙÙ–ëþNÿñ?þLJ?XXhëD&ü·þhp€Áâ€çtðåô `;i·ê+.€ª·èÔM…\P ±({5³ ±#^, ptCÈ]µþªø«s=±âò¯œne0p˜4€"›é ^£æ× -dÑþS—˜L¢Çôqñ€œáºý/@˜Ã^¢òÿ—½+'öb¹úËs"õŸåoŠ‹ÐÍBå×ö!À÷@'ø[?x@å¿pg.“ë“çÖG”ÀÌÇØ˜I÷ùûÒ}i¿_…Ò3à?³êíXý8â—Š?³¹éeÕ~º¹‰\ªÿûV€=0ýõ B’ü"ÈÂüÁáÝ]¨{z6¼¾¹sYwû -´¨ïû¿èŽü•øÝz/ŽE@0ñˆ*ýôR`€@Á³à°Ú€@Û‡Jè° R€àÌí7ƒÁöþ¬<'ÜKžðôÈø‘åž àôÉ“Ølj—÷¿¸¥q -7ÂOöÿµ—uòÿ=¬fW¨G«‡©e§ÎÊ'pÍ6mÛ¤Bc~TÄt>Z´ -EB…ÇÅù±«Åb4úÖ…µŸ\[{Óú™•ƒ¯°‰œJ·nÇòƶnÔÙNà`Ic¢@„74ÛÙZBÌOÝ~0®™K·­ Ÿ|2då¶4Í·µD€fjܼð®9rõïŠÑ±±¿›-”Ë·-«¬¥ÊEki<¥Á˜þxÚ(ýa¤íÕL!þàðonªpbì§:ÿŒýY׿Rå²K—X~@À:Ê?Ï àÕ? öûßH¿áGPw·'IFúfþ~”@–꾟2¨”WXüô´œ¦FwG#ƒ €òáöá¹Ý]ÉÜúedjt.Û³/ýëyZðã©Ó_tc €WâïÝH¿Ç@6¾ì'“ä%ý/ƒ¬ÏLºJ@,ú£îóð_Ñÿ²èºß]¸9s ‚@l;×ã&Ç=*`Qd‘¦ßs7•ÿ÷±íÁQôJ+»'L½øÕÝ1à@s•Ê‹y:PÇŒ•z›@:1»¢åì--üQN£žßÊär•‹+S´¬Œuôê•«G¯ZCW2Gg ÖØ'Ñ«™«™®ÛeõhF.åš­çóQž°Å3Ý¡F8÷‘ÛKšeÙªèk‰jz±ËmÙCíñqŽ6S£¼8améöÐís|Ü×RŸDg± À™Áð56œ0~ -7¬0#úö1´;| ,ÅDúïÊù ·§“Sâi=Ö…¿DŸÇ˜ Ä99ù<Œr«y½Š À@]ëùª‘—r`ê‡Ûµà~GÞî>@ˆ) Úm.¼ìD"¿§ Gwvçôˆ ` …'`4ŒºÓø=Ò‚<ºgO`FÌT• Ã×Ú~ €Á£h™ â $˜ b—)wµ; ¸"¹ígË€üÔøôg-5¶µµuvúg:î¾:÷Û»wÌLv¬®~ËÕIEê?Òƒ|s>vzùÆ v按ƒ$ž4V -hŠ\@gc]V„ño‚]ˆÿýs´4k¬y•Ø·H: LVÀ³Îb29øå Î(I¸ÿ„BìIÛÝM_7À€L€ÿÿKêÿOœ(¨eû#Öâÿƒ51}_ÿ‡ƒ]jáÚA @ýIÛ˜ï6Ïà£ëÞÃ.¯œ¸SxÀý?0ÀÈ$– ÿÀ܇1‚ùÇ\$„úçg ÀL$K…¿3Ab2þ½Jè÷nnÀ#X1ÇÝ@cøà»ñàð`à™LØÊø"«šþ}/Àƒà³™/nÜb@ïQý‡ ².Ë€Ú_2‚ä>BÃÉ 2À÷âŽ?8ØD 2 {î.Ü7ÐîSÏô×jÇ'îÿ}IáLz0ìYŒ„©þ¿ñVúdú´d²ìö  v4Qí­öò#€˜(쀄îk`†a#ýeÙŽ™¹-TÿóÓÅBÆÊ])–sVôÊÐÑ_¼yeìèl&úéüìX4sµh-|T(/åÌ0 @¸¶M%©¾~T©?ÙÎÑwÓ!5¬aëh¼—TnÖLYKfñê•£o¾ùæÑŸ¹zôÊüX4zÁÔ4kö#s<®TèUÂY»¢7Ì­¥r¹X´Ì%k ’Ó¶ „ØlD£¼f*ϘP•ç ¤ëJý¯çWJ+< ÐÒ}ΊRõÑm^Ü“‰uU6éáÌÞàã8}A©£:Zpò1&P* ©$ÐÅP ¤'㦒ïÌ䯨ÀaâKßjǹsßò#   ÀÊÀ\;öaô€fïï6þ¬ªä«ÿ‹BªLùȵâÉ¿¾Ó¤ܪü§Êb«ÜŠöŸ›ñT—V9„'ãúÈ€Rø@$âYL&=Wa ¼Œ¢ƒ‰0úAÞH÷ýÿÈ)‚Šÿ'€±pEý bÒ';*hÑiµrmUÿ_ÁÀD5?$Ѐ½`xn#êþÏM‚ýGP³?ßðüÝiB?!â€üþ¸þe~ïÇY‡À¦¿) ëì¦w -Ù¾-V€Çw 4<¡?-‚>ßîTR‚{zF³þûþ¬¼ïÔ¢øñýÝ37ؘªÿeh1è¾$é|9’L^NªSP ˜lH*€v1PV -àîvI„€=É~öö0 ‰×Ó"g Òë½tw÷QýÇ༫è½£^ë®Ä;üBc×Ûp=ê-ZŽ}à‡ ò¶Cζ!ÆüPûN¿ðk–昙Œ­YǨ·ŠQ+W˜žµ2köÓèÒü§Wgç?-_}³øéÕâÕ1Ë*N|…ñ}X+›âýÖ*ÿˆ¨;µJÃxª Ǿa­æÔ¨/Îç&bes4X²n({ayʸûW'C&ªþ7¸þÎ3êçfg[['Ëffþš_߯þkdõÜgß0 „hoï—äÏË–Po¸›€ÂìªóW@´ÒªþËF¦âüݶ¿)üs•› eäúÿ( ðN‚íÐb‚ø¶q@Eë¥v‹ð¡ÕÁÅn×Vúÿ8 ¨¤PþÏ#`„ãá¹ÿ_.¬VöÝaSº»ü 1;)4#Ü×è@@¥uuì»ÎžÅë€(‚.˜,/ßyÐ{ýNï:V×e ûÿ,ûïóûùÜ—¤y²èaœfµcôÌLÖñNfãžM«²èÝý%ò€zÜ€Tó©©3Y&ÿ©ô~ ^ÐsIÙÍÝãþÈqÙýk¢€ãÇ?îsÐ?Ñå4ߢgž“ù’ñ$«1¥þøÒÇ&b Þ ³€2\ÀÁv¶lÄ }°f€ííÜôäÁ€™>"g€0 -X$@€Êÿ§1òÞsa€ð{8+ëž®¾c¼iÐê\;ÀïÐaܶœzrÐò¸wÛ´ÙŸw©˜Ë}”ÉYÖDôr&7_,YCóc³ÅòØO£oŽ‹³cÅ1*ÀÖÕLù62ý4ú7Ú¸3ÃuÛÎSû_S­7-«.åþ$Çk•±=˜¹}³‹~2ÿIa6:;;öæ'ÔÞg|åµ.+U ›å£þË‘OгÅÂÒØæfaËÔìÇ6á± öŸ TØðWŠ-®ò1eý‡1vBg]`ÂÐ:{³Èâ:Rl8ä^ÎìcÃÖºøÔ7õ½G¼Ú¾Ç÷5¾º– @5¯UU:@^ÂـÞl¯'b»Xs£ít [I}[g› úf:<‡xÁ5|›*Ï)ë¿Í»0¥¯ÒC­Uºjó5…Ðx [å(ï’E§Ìê˜üpX™fpt°p%GUýùZµÿû €üVäó¼5ðõ3ê?ÿÎÎÎ54««¯·½ÞéßôžùÑîtœyæÓ j4N} u sAªýýí’!ð²M°n­/©‚Ï" -‡ïr}) ÑâÌý?”*@GfG¤Š?Îp°n.¨ÑL¤fÍM@•a °{(@E¿>2p’Ê`< Qp(„I‘ƒ¡EiÎÿý@ɆéeQ˜¸Ã¿ãªÿüN×v”Ï¢ú5m˜¨·ä`‹_Ä"„.I#XYYy° ½X\_™9790Éý_z†÷ÿûÐÿ÷AºŠ`ÂßDZ¿Ù@ÖûË@ä"d›âÈgo–ÀÆ¡?YŸà®È Á¹Ï -`ã—ÙÝ]ogKéïqÏNŸýò—·âÿ”'€Ë·B·’J -è Jýÿ×0àéÿ‡EÈÓ€öàÂà]ƒw9 ˜{þ›ð<€Õ½IlŸxß/|DYa ;é“<¸ÎF@'š.8‰@“yä“&À‡€þÿ>€nP¡ÆºžiÎc-¬Û¶©ik¹-í1Èõ²µ2ÑⱫE³h-Y篌Áèh´xähÑŠFÇèK®3Å!ðeÀtUÑ'lG-á•xï—\øçÿ¥úN0ù?„À!ÿSÿÏÞÿüçFÿˆˆRR–ÇÁþïSû@aeT? ÿB @×;lE°rÞè|b¥·.@hþ'GF ˜é˜œaÀ—€?ô! -ø¢'r+ðÙÀ ÀÇ6éö\ôú6½3^nþ½›í·ÚÐitw·ÓdÛ]\Ñ;_’á8Õ™E~°ŒŽïiÕ4ŽcðVäÖ­_%ÿ*ÎI `@/•ÿËÌþ3@uß÷å0R||XÿcàÂMfpsXy°ÀÍÁ…»àÚ9 -hPÒû“0 Â1€ˆØ °6AñîÅîî7Ò}§ñ&#€w -* -ˆ!½Æ˜ï¸ Àþà`М°_YÀD­mÓ/;gó˜s‚ù~!gMg¬c™âO3e+cÙæÕŸŒEËW¯¼uåê‘èì'EX–Ç¢s ~>ÚV.\{œÓä0V2¤ÛÏù\Z·ËÖíÛ¢…k±«bU2„Âá”yáBÅz³\Ι[šùضe£¿Î1õìCð¼ €›·š×aÌãšó”è×ëkìc¨(¢:WzGùòÀ›³}Ù$òRÕP7Þi' ðÿ†¿yïy]D|0 -dÖáé…5¶ØGB -|>¡vÔæ/Σo1”tl:Ì+l¾÷ÜÆ@üãÈ: ô„t½ñMIº{剒àçÃa€U³’&É5t'.®‘­ú7ìb ®ÀPå¿ùNTüAc[ÏFIÏx¼sž6œ²þæ÷{W;:Îtœûì³ýè›gü(}333}þÓÃ?õÕÁ Šœ›ëo{ùÜ’üè¨æßF\öaÈäBžü(·@Y¿`PV‚îý¿¶£Æ3rç?µøÇ)ÕM?ËD¢éôN !w-8 ;ÜÅHÚCý¶Ád<°ØMý€5sÔÿŸfþ}HÆÿ*ÿ+²S‰Þ¼îâæ'î-þ­€º;û¯·ÿ®‰'6†`ùAïƒëçN¬`ýŸ.ðÆã¤(úúðçðó$ý̈'÷t®®z½}ž¬'ük?Õÿe¸9ºÙ6º1µñÄÀîÆÔTÖÇ„ „ÂþcþïõφO‹,ôDùg`dd]e*®ÿ¿SIj°éçtXªÿ÷Âä×Öt£Žþß6lÙþÓìœË=.—‹åpÞ{åâå+Çæ3™ùâùO>J™G¯FÍ+GÆ¢cŸXÖÐWÅ«CÑÛe³\,j5ÍÔÂa;Ãÿýlù¿m8õÚó‰ñé‹­ý>?Anmív¥2^\²— -–Ka >ÆámΛn F‡T'ïĘêŽûÙw¨]aŽ­‘™äj˜¯£ÀꜙÇe×iPÁO€6€¿¡ÙÎC…¶¾Ô¨—¶{2% Öœ*Ý6á -À¿I0àx&æ¡oû5WKèýŒªd c•[ÛiÀî•KöíP(U9g°ƒÊ0Og»Ô00¨=_Fìeà.È…ªáTja‘18îS"Z*&IÆ0¤ìäÀ…†W\Øy€¸Ór?«© -çÒÿlÀU§¶­WYßxÿïñd7;ÛæÚ:;_óÂüR€ŽÉsç::žÕÿÏô Ì̬wÿã«ÿøá‡ƒAÍ¡ü¿„*GÜ€˜P¥ßU:Í» öØ÷ijˉ  ýq­¹YAú~ãO¿#‰–¥?ÿKlEW¢Étɇïp€Þ8¤ ¶>p2N8Ò¿\ŽP%ˆtƒ0ïKSÝäð‘õ^ †¹ƒ@A¥Ã» €Œ¸\ùïÝŒ·€fPm? - þÄÄø»W´ÿ÷ººV–ï¡RÑe{ŠÐöN®sÐipÿ~7U6¦Æ×Oh¼£«£}‹é ¶_³þξØDF0Uÿ©ž W¨D»Ss>Œá¡ÉÃ~pîãQªÿ=»»»¾ìT»ÿ×Ó"p]¥þ÷ôü}$~ëVòŸ0ÿGý'±@x ù+©ý!ÞËd1€‡e`ßó‡ -'Ôÿ ûÒ{¼7Àƒ€~¸<ö‡ƒœÜ/‘4Ÿ‹Ý!zÝßHƒ—QçÀœX>{ö¬"~Ç' €Ã¡þÿE€kÿ‡ :N£úÛv*Œl=+gNÌbYÏYÅ\Á:våòüµó³—ŽFÇŠšvôÓèÕ¡¥(\ù®d¬Ü’UŒ-M[ZB²_Ø.ä4-lØ1­nÔé°Vo°àö°¹¨Uô7—L+³Dß„DÎ`”./êó1ža;*ûÇ]Ì3غF°K ‰˜ðÃ*HÈïËÞèð¼£ -.š|ȳ€(ÿáÖç8y¶ÇáÀ›šÃrÁLôªl€ÆýÙ?[sP3˜Q@3˜‡¢k\Q‘Ç‹‡èð"»ôÓÿ˜×Ù”§Dõå›çbê¬PTxÀ°I¦Ÿ€Gž5ñW\¿ÒþI­×Ôˆ€ë?dz1¶Ô9¥NzÛ§YçT^÷m0¨|ž@$’„"þ™ÍÕÑŽO äY$(°ìe'lìŽîR]ßèÙ7Ä`cãݹw‡ƒÁ/Û±–·Ìh˜ê™ê9“ÍNíö´Rÿû -€V/Àžÿ¸¹•Ä@÷{lˆúa ¶ŠaÊœdqàó (•qaaxá×ný¿;ØäL€›ƒ È-@e -.z‚‹X -äe€P$3 îÅn0ô¢Ÿìã­O8ËÀYaÜ$@Í `#¼ïçüï -ÄìX~ÍcXoÇp1µÇ¦d+ó‘•ÊMË*¶ŠCÑ£WÏOGçÇ¢³GÇLgìˆu´h??0k}”±Êå å0µÿ„ -[)fÀqÉx$ ;ÆÎdt)eѯ衚 /è`Ys áÿYðœM ³Ú1™u#„EC±vj{Ì^pãîÔXÒÏûöÊ‹Eâ–Ø Wq³ø÷UUyP­þµ^ÝnTóP×É”«{nóê /¿gäTd1µ†S¡/`° ¸@§È¾.`xÒ°W§ZÍÛ‡gËóŽ Æò ^Kx-À×òpŒo+°€ª8ýøk!yr¡'ªÒîóÎ@Ž(hìT·còñßA%_òw˜ÒV®Ú ÿ•Òê+È6.=Ûİ–&¯·õÏÍ]ô{;ÿ¹Ÿi˜œë˜|tŒô®Ÿ›™$pnýËÿôê$Ð>—mËbà™k{éâƒë5™4›—þoªø†dýÊFÀŸÑøïh\õKhÜiFWËÞŸ®·DˉÎOüþ™x‡ßÀˆEåŸ]#ïSŸŸÄ»ñÅœx¬;€úCØÓç©þŸ’üßÔÿή,ó -€û0À³ª©|…§&NSЬþõïM3.å¿ë,³ÿèrç7½½#ë ÿGˆò?2àÙx#íï\ÄÌã"ÕÿoÑïß\]=ã,z<‹ž@g K÷lz›k€Tý™×ß=  ûææ¨ -ûxøN•Ø÷7›ÌlLMÝÏfG{šËÿ.phúþ¸9¸ÿÅ/ã·n¸Ñ}CÆqqD4ƒ/$ -ÀPÒÇÀ\û}\ö9}HÖØx¸¹ 8<ÌM;Ü„`û Õÿvd>öƒ°}ìGÀ0ÈÅPÄࢬï*ßGñ|zpY€`ÞQ €f¨%€ZøÉþÿp`€gbù|¾^×mý±­ÃDGƒû_Æ´3VÁ2·2CåLù#êô‹ËÌÿt¬½òÓŸÌ…#Ñ«W -ÅÙ«WèscEëj.¾XŃ·?\„©X=¦ò¿Í…ØÙ†Pøö4ܾ]ïº`æì²iÃÀv8k &¡ÃõçDìjçVt¨Ë¹E3”Åfël“_rýØÐâ*å;7¿×JG—¥.ñyƒõÙikŒŒmçküŠqèôêßÂnˆ¡¡—w—e`ÀB…=dÔU|+j±Û­¬f¨r ‡ýyv’ $J†*Ãz¨_Ó'Œ*[ûTÿüc3߬± Š P¿ÄhÈ„;°”}C—x­z›ß8¾A€Óx&PÙìÜôžñnεÍõ÷÷¯þOo[›wÆ;³ÚÑqPxöΉÞs드K9üêÂð»ï.|øá»smYÙÌvö½l½+«IÔžd“p›kð[Úa9 ]ëœÌ&hÿ¡h¶þºëi£Ê×¾íD—¼%DøÎ ò85–OJ§!ˆ‹w3@ˆñß@U‚¾ÓTþAÿ¹g©ú3#Sá¿ZBsGÆ'p¹¸Ï0ÏX«¼8àÇr¶k…UÐÿؼs}ý\/D', œ„úÿ´?ý›_Œ²ˆB Ÿòömð}É#´ÿ -´° ‚ÀýAŒÛÕ&`;ûÜ¥êßì‡ àb¿§뀘u„<‹ AèuD”À~§è»sâìrs >€;ÍpÇZ­öïpP±×ìüšQ×ók:<ümó±¥™9ÓÊYVŽ0@¹œ2‡¢Åù"äþ—ŽEç?¹rä'GíÜØ•+cVñê•è›Ñ¡èWCe-·”Jie+åp$Ìx5ëþÛÌÔ øƒ=©B¸T¶Šˆ"°Q eßvûy—áyàÏ::ìÐ7”ÆŸCíy­N/Õ«8âVÙÞV—Há‘[’ú¦³¾+«òH]— w`†ªQÍóŠ]•¹ú._Ô¾æ½g—Þ2À Øi€` ˜$„~é¼ ŽiýtÖŒé€lÈÃÛ ÿæ Ë€€*ìaÄ ÅQþ?MÎÒ?ºÊ$@Ç¢¢Š -à‰5§©ípùu¨d7¸üWœWòÌÿóŽÅ3Vçf[Û?oz±ÐÖÖ³³cÕÛæ]]=wîGwZû§³gá—FÒêÌL_ÇÌ¿úrØçñ .|øÿdç²mž6ôÿÙ5>ø xÔpM\Qéþžä>-À›• õò‰ù‰ÃvTÓªª?ëØczÓí'ñNP¯»Bo1ýW~X'çÄòN§}ÝñÌ`‹Ýl@@Ô#×ׇX ¹pJ&³YœPË"ÿRà°rËÿ÷sê{Jœ=ñ`ù7Ô²>¸sýÜõsX\ŸÄüŸÎÔÖò@ú5 Ýù¯D/F:C‘,µÀLüWÏø‘‰ç¡g 3›öoΰ0ÀFÏ §žs>´Ü¾áóɃ¿ÌfyZ@ ›ÝÜmÿ?ÃPN羈ñW·š°ÿ*0”& €á¿/©L$ˆ÷Dz0\Pk€®³•„dà›7Û}Ã7ûy0 KàPÊ(tÄÃ!ØÀ±@Z!€Ó Fz×{a©Ì6@ÂHÈ㸠ZÍ,€ ³óz]Ÿx¬¯ék)³œBùñoæ¬bÑ,Âs¾8{éÊ[ÓÅèU:Gg£W?-šå1ºQ,ËGǬ+óˆæÑÝk‡ÇÍ-0 ¼À«(Æ ”ÿ?ì3[+°}C¯%2ëu·êÏ«>¬èRÁù_ð_3ÂZ®÷躪ê6§±UVûk%G™ßklç"Gñ¥äVw–Ø#–‹Uƒÿ1NÛb– ?z|àð<Óbxõð*`^å 7²ÌÝ«oÔ¹¨n—œ^O°€Ãxÿ¶=°,1²-°þ×ZX¸Pa™$&%vó ä(—@¼Üî2Öÿ ³í`M]/©LWýOpÀÕ&¯@°Påúÿì‹=:½ÞÍ,¶š;ûÛ:::g:Î}ÖZÿ wzG:f`”>sn0ù«áá‹Ï» ÿøjç\[€øo^:€xÌ– gaBà’s@ €ü_´# - ,jê;û€‰² [€0»Y©ü`ONï)(äú¨ïíNwâÔ‡öÁ 7‚C##C½×{‡˜ÿö¥ËuFÒSlÇÛáôücÍÆÙß]EÿïÔ•`ß ~ øG]©­œ¥Fu„5Xë½×ÏQñ™™œ<•&N¿‘î†ýO Ïÿ<€º¡Å@(pÑÀ*üEeŒžùшÔ²Y™x_g`Šj=ªÿî`·ço‚¿å@*É 2à¡…¶Hv_2¸ßý÷´,ðG?¾#‚0€x÷iDDÐüÇãÌûû¨í÷ù|l Tïeç`Ø]ÿ_`à×|Gót—Ó€Úƒí70ÜÞ>Øþ©dð Ôä€ ‚ q„ ÿ‡óóM`äÔú9°>ËË4€êup:ëðïTl}ímÛÈÛ'b[HòÓ¶råbŽê~´\Œ øÿØ{ÿжî|[4V­gÞAõ‹tu¥+#‰°·ÌØ©¡Ç–Æ¶ØÆ„TyºÂ8ÂŒ-Æœ£AJF5ζ¹rÆ÷FÂpÂK:'ʆ¾?ÆP‡Ü„ÁFƒƒÞ^Æ…ó8LZbÁáTÓR,5NÃã}Öç»%ËNÚ¦9I'9é–,+ŠȲ¥µ>ŸÏú¬%­$$õl‹$ÞŸ•fC15´pWÊåfc¹˜¦*ó¹C1uVË% -¹\67(/Ìx )„XŒ-ù (Vž{ÔhÖsÏãâúJ8ÅÎ|Ra3ý-þƒÊl…™øa˜Öñ<•NÕ¬mÒ¥Æ×ˆƒ»úk¸þŠÎ‚<†ÿ”Ø›KóÖÛ6kµ\~P|2¥þ}èm–Œ ¥¢Gâ¡ïV‘KeÞëGîÙ?gî>Øæ&¶„ €)@5ŒaB8ÝËÖHÜÿàr‰7äÚ\ æ¢&6Ò>ÓUÈþƒJqG%\»+Õ4áÿÖøx -1oRØ&lôÖeƒ y*oÌ-ƒÖÌzÓêêÀˆöþéOm«èLw»,«Íævøã)Çåÿ:ÞøgúÐÿB>“+õ¿›½=À†ÕI OD€rú3± ã:ëT©ˆøÆRm !ü¯7,_#Üy⮣ý\üù° ~„aº8þWwœäŠy0•ÿz ,¼6*Æÿ£ûžÕÄ\»<hTž]͈޿8SùO§U®×é€Ýÿ£Än|Øþ?Ó…Ù†ÅrÆm1sSlä¶[Œ™L¦»‹˜¯aÎa°Ùy&y¸Ñ.Fû$€LƺNÃ&³)ŸoÇ`r28²×0x4Pß œ<|xÇ~•£®ña€ŽÆÀ„Ö¿É)€M¼0l¾ã×[þ¼þ÷~Mü?¬¿ŸÁÀŒÿÚ¦:€k¦žaÌD*€“ç=÷ÜOÿ§ìì†| K]oýÂÏë'N\ÄkŸ: ¶÷k]5UGùelüû @ª°ü OJ.œ<ž¬W»—Ðrý{¥H$”RåHhHJú·.œ•uaAÂÔ_’I¹¡ŸÁ(—Pcªæ-Ì{µÄü¼ìh®Â|Ö#§²¼ÈñBxH«©Ò÷ô ¤^ SE…_ ˆ"zÒß#¦ñ•ª¾êÇ -uHèõ~ÿ6úßú˜vßkÇvI÷ÐÓxKÂPÿ m!ê W´fBX¹ÿ w„fw_'`—ÌðVX÷,ÖY€ÌßW+¬\ä†>K<.†ï˜üWþÐÜN迳³q¥9@ïôÅÿFÀáý"ÀöŸû6€ïMDSý$À>wmÿ¯¯ÏÀ€;ÃØÐÝÿYÿO—ï×q_¼þˆ üñ0`6ÀX4oÒW`ià:†g°}pó - ìî9ž ù7?Ä@$€Ø¬˜;=¼àr•]/M àÏrt1U+,/Gä‡%É)‰D±Èø]P *¼ùÎ&CÑIÕf/-„îJw‰ -ijrö†¤iZB‹ÑÛhÜÁ›e @!%?”EJ¬K—â=ãÀ7•²ðð+¦1x(—¿Ã·ŠÿeVüo’¶R"a—ë}¾»òÛ5ˆgw?°öú!Qd[{>Wvp¯ÿ£Æ ðÆå\ZˆjÍ…Ò×Væ‰ü%‹plø«¼ÿŠÿñÌêxá4áîU™ÂVSŒÈã¼.Fß¶Ê3‡Ýoð€)VÓâfŽU4¦{SBÐh>#ö„gbmb_rIg@µêŸMÃ[g¼ýu€æææ|Q€œm:±fN¯¯7 ¬½³t²AXZZF`ÆéøôÜð°ÃtÙ?ók4ÿq[Þò¢>—À`oò_ÚS°ú ”¨$§èïá…øoët ¾A/ùgÞìåÿÑþ.aà €':°ØÉÀ<Ð=êŒÿ£ ©Q¡Wm0ä@•пê*7îTž¡lL4VÙà/„YïÂàÄ¿`ù¯ÿèéþ.ßÑ.„Áç¶Ë×ewûŽØvÃ6þ T» sÇ‘üCÀmŸ›ë -l–Àm zyŒ&‚;è0âïkl´wLµ•<®Ñ‡Í}W`Ø>ÙÞ|Û¶±ÓÞ˜Èoû²˜|b¹ÍYÀ¾Zà±cÿ;8ÀÄœE  ƒUþBë?̸/Zþ=# ´ff®Áð1Žÿ1›ôp}Ží€¬vÄÀ97EŒ‡Ðßí†)TW—øÝƒ ¸Sô|Ä€\ÆmüÇ.zηžO=TF²Ë÷"¹Ü|d^Id³Šš•Ôœªå’ZvVS’!é¬$%CŠ2{(¹ I1XkÚÐzHÊa 0§Îgz—-hY9‹u|^[B÷ßÅ*ÀÄžÝZ) -¯Eõ bOãp!.Œ‡A8*ßá; -§?ݱWÈç¹\¯öÕ:æWuÌïõBÏMg_BÞ_)WËvu{à†Ï †BŽw„¿ôµå¿¬žÂõ‘Ø[„÷¡0Ŷˆ+àýÅÂÂß-’«ðF*¨IYñ°Å» [Ü·ßs(m—Ò[%½ëQƒ¼÷Íù{÷VÑÓ —â•þ³–à•Hßa|@x”Ëå¯!qÛ„`Æi«@MKKK'äëK^ºa`µÃz;–<öŸ{ŒÓÓðûÿc‚FËtfÚòâ>™«¥½@£ -°F8RA, þ€ô_wô¾{héCýï;‚=0´ÿOÓ‰%€Cœ@ðßy!rñâ' øï-Ô—ÿJ €©>€€ÿJŵþŸ!T´uú¯^XEÉzý/ÿv½cðúõAà¿“ Â4ßq"]ö#H?ì²#j_lÌÙÜÜo:õèÌùS{3²òÜؘÀb€ý#€Éöî?˜âúJ>]Á¤>îèæ=ÀÃù@>Èkƒ‡k!€á_ücç“Ñ øóÈ1B˜ÜBúïdk 4Ý!2Ð'l€ ÿ@:>ÚC~ј1;8!Ðï€  ùZ~ó0j–ôsÂñÈàœâ »ß‘3 KNþë€ÄÞ@¯ÞëÖNûÀ_o輀˭­+rxe,›]Žh‘,ayAË­dCÙœÚ9«eCC…I%¥³7T8ÿ,,̆$iá]×9m~þ­¢Æb‰œšõ&´,]ädW!Kô¹ §8^¨´í*–+º/ß3z`=…ñåeÏx8OQeº*©È:>B™‚ðG 篺[ÙÕñ!ØÛúLÄØ ÔoD|=øGà<|¡CeºÂ׫eú:H -ÚÅà=ÄÇ6’†úЗpS©ow«"^@Ä Ôþ«"ˆO(+‹b;̲¥*»/¢ç ×mJøî»× ÿ¡ÿïïåÿÜœAÀî&øŸ³[朆)¾©9ØáLÍï Zƒss†¾¹)“Án ØPÿçƒ €ýÞè6ù‡E6ŸÿñÇŒS7œ»Ûƒ·›ƒ:c8ü ;¯_?<í~Ê~ßÕ#W;rì‚Øâ} Ð)@Ÿéΰƒ ùMÂp¸ÁzD¿ˆ2 ôÇÀï@ Ì€ è@ –‡pB˜²/"–”Ì.@ý§õÀêê…½ÀW2žFõ„§ò««(.¶þ§h¡ jËžHdq>+ÍSý¯årI9Ò’S¥yIÍIª$Io½u‰~^»´ …B±ÙYuHcŸ`9‹ôžP.!i®\bå¿,ß…ÔvJ,ÀÊF'Ïhð Ï8áÿ8_Â"Gf†ã„þ…4o᧞ðJ[<¬Þ®£¥¤'ëôÄ£¼'ˆܳ¿,Þ |§Ÿ}—ØÁ.”ˆø­S -¼àcñ¾”NKo¢üe¹FB8o°ª«ýéVáÇKÀß[[ÅghFêϪ%áч@x›­¸7QýÆA -ѰßÒyïAüŽ»÷UTòãÜ~H‹-€´~ÌM¸ oD,%è{ÿé­×x”ùƒ, ¬>–r -ÐÄs€fÛ ¬ÍþË'?nÉÛ{rimµÃÚ?m1¦ly[>Ðl„o°Ñºnµf¬ÖÓVëô ýl.ï1€Æ%ÀF3bv?ôþ¿ùAô8 -íßÑ#G¾yôèHÿ‰ýo…ÀлC¨ÿ.Dö²zÿ_ÏÿÑaÿ ÊgOPÝŸü–PÑqau•ëÿÁÁëBÿw¢ÿç€ °k„pgì„ý9ŸÝ0Gïœ(„§èÂn™€éÏqÝl!\¤'¡Þ8±¡€Idühlžlï&tF1îôû ŽÍþ¼1ϑؤ'ÒNƒ -ððcd€í‡_?¼C$àêícWݾ#î7ÙÈÉ‹€nÝ ÈAgäs ßq ÀT7ÿá¥@Æÿá÷ý{6~ñföÓÙqíúþf³Ølp˜L&3¯Îzà@?,ç!»íÐÒaaÿ§é£Ü8qb°Ch.Ô:^h˜>c ÀcL^‰,ok]~¸¨dµ{ž{š–XÑÔˆš‹hj,«*CjN Í+Òzna¡EŠI WîfË쬚 …´œ¢ET*üsÚšPïªÞHNSç©ü˜ÍÞÀìr‰½áÉÇoÕgòÀþ¿¨àácÈbÄMüÃém¨ÿ¿;(¥·î˜Pˆ™½(·«,­/×PŸàÿWùOñWB_£²[ïè‰Bé'IK,Å8a»*T}d^dO„ƒ"¯;bðå—õ½úª°JAÓ÷ÿtÄev+ÕoìÇÜá@ÜH±yÞØb5gÙ[º÷¯Èü Ãæhû·„12›#³Þ‘ ^_ûO{ÄcŒû$ €ÓÌ´Êéþ1ÑÌ5Œ [qçë«K8Šû €wiim`ðôt׿ÐÒ+_ µ£Ñz¦ƒVëã“^(P©IERuC€š-@šêÿR:õÄÛƒØ64 xÂ~ßYëÿ`Ïí:ëÀ‘‹m(þ—ôt$¡þ‡¾’g©ƒb ÐUb Wõ@àÙ1¨TýËàjÇà»×©üï§ó4×ÿ]G}"Šÿ®#öã¾3ªÿÝö9B@»30Ån8†©ãÿÿw0h dì LPÐ-Á #¯‚ìK®¥eâ&˜î¾Oõ6âz›óÁøåÌÆ,7Èì4®ÔHÀÁE"V·ÛwÌGç#î#Ècècn8y àôÿÿº vÿqůÛ3ø4óÑžÀ<ƒ@@|ýþMìLáŒó7 v÷Ô\àø‹ ðÂÉÓ×O Xí\åK´}x7V–Ge!p¬ÿ_ :Z[“­cm‘N¹È|vH•4/Ò}µ˜L >›K¼•Õn¨³¡äˆR$Å•½Ñr³E -…B+Z"››MfUIº‘KhCÙl.;Š(d¤da1ÜH—é¹Rú®=€‹  -ð€¬ é -dnbÉŽª\|+Wñ»çš¤ÄÜ;Å+sz圬0æWj)ÑÿÎÀ”r™Á·6(ñ8àÉ>ó2wyG¡*Îbg±Ä€G²?%2yeÖÕ±@´é9*€E UâH»ßüíx# Êø/T,Ö¯Ù÷VK["2yK€ÿg"!¼¥ÇÕmés-溙…¶Æ_Ûâ ‹Ú®[±”Ú}äO£¹kªyª[€Â €¥|0X[ÚWÿ½_y{Y°6m·X-¶8Ï òœlœ>ͺÁÁþ ]Aþ³X ©{&³×„X#©þ€ïOð,F €]`éÝtàâĉ¡Á!€ûê‚Qþ7$¦FS,ÿ}t··žàjÀÿÊ3Ÿ__½þ—A:]¿~¢ÿúõ~, ÀÕ¿èœ9Š-÷3vßàŸÞSsv„Ï9a 0ØDaÜc·lÜÈóÁ øR%¿1Ùþè±ÑÞw¼Î 1ßg6‚ù+¦`P›ÿ`l¨ÿ×Åû%€üö‰›€ÿ*¡¿" ! &vàý?“‰ÁØï¨ D€PøÿªÀa1 €2{†± †,äú™é<5Eè?ÌÙÅf„ï ¼ûoÿß üg À@­ ·žxÿ_-'@:–Ïk*‹ZD‹xîi‘Ü)%–Õ´%7;”HæÔPVmIJ!iH]ÐZbrj^ýZZbpÖT%‘\hI†ÔÜ|N›ÏÊ¥‚’ƒ!/2ùR•p -Ì…{Ö¿“ƒ§4â$BJ¨r\FéOu*wzOgÀLªò¾*Õ'ÎhD¼”X—•IŒøwŸÃNH¹¸«k*BPPú. Q¬Üƒ€“¡^€QŠ §{yÀËúz]ѦGã=ųÝʃÝocc_âý*ÅÆ…aÞØ«‘b+ÓÒxWŠ]zyp‹mjS:þT}éŠ?Ý\ ½¥¯@è aevþ³ñü?o9žÇ+™Ívœ ÀÀ¾ú¿LØïõz—ÖšÖWצ ØŒãÓò6 ¤ƒÓÓH:`ü¢G:MúÜŸä¨v\õxãhì (àÐ!¬þˆ4„Þ½þšjB8- -ð=€ÿª{VÀõÓ³¾ÿ×;Wáÿß‚@ÿõÓ¼€O|_—ý •þSgŒÞ·}Ê95‡šß07u€n#”q&[ÀDO#l&ý'Ä`cã1`ƒ -þa3°Éä7™ýŽ@&c € ~'Ï´·E ñõöF@û…¢€5À#Çê6ÀNÿk>@Ã\þsõïۀ·Ô&±)±l¸6| ~À€ú"Üp‚äô íអ«ûÔœÍn9`ñY°Ê#€Ó×Ot -*}éS-ºe/Oð3!Å_´FWΫž{Þ{5‘¸—ФYe(Q¤Ø¼¦†r³jváP¨Âÿ…СøåîÆnü³ª9PÕ¡Ü|V‹å´˜ì’5 mY~/@ö`#@8óó%•£X xÂ{¦Ìgï)ªB4Cõ–SÊrÛxÞ‚hW8¿°ìÇ ÌÀ;?ÀTqå»?TäêKtbâ_Ù}~rÐ/«B'Xæ‰ÀwûÜå/yY žóә弈Ÿ -‹}‚jùp¥T îcÂT•í¾ýÇc®!bŒð¹Dxz¦—«DxU’^8¹#¢êÓz|ð°¯ü—S¼‹À«Ø/ é4÷.ĉÀzƺdk¶Æmù8ÓªÄê upÕú<£ËU14`OøÙ÷f£ñòÏ.vžxãþ‘þ¡þ7Øÿ÷70ü¯ "þ—Ý‘y#\·ÿa÷RùQ䯰O(6Ÿ9ü·hÿú¯¿Að F8íb#Âÿ3€|l»ùìð¿·àL ‡·áì·8÷oÊÐã虚 -X,˜ŸÑ A–îÀÜgã𣀠Èp˜ÌÃN³807]ŠÐàÒ€‚‡÷¦{q€;¯ÝWyÃMàØ§ÉäæÞ?Îê3aüoºC¸ÏÀÏ ¬¾ï×÷?¿pýKü›þk8üL &“C€¹!tóú_€¡ àÈñ3]8úûÿ¡ÿĉAÖv¬®®&0à@¯7¬ï¾DðÿŒÀJ4U"J$Q”{š–%p/1+©ZªU›JÞj‰I1UM.ÄfÊfDì`6–£Ps u¨ §d­EKäx+À”k;Lm¥ÄnG¨owS ì:À¹.t¬Æd`.ó‹<Ý41Ü€ -¦ÁÇ &ãf3Öñ©Âv›ýþ+“Á?èªú¯ÛÛ»?iß§Ø· °wýûUûUb¾c>·ûÐÀïø³ Œïð Õüï‹j9À~½и òfüáCüfÿæpßo6à €…XŽ“¥¦A6â·Žþoœ@ `µs5Ác€ý7ÿDº -pÿÀ«5(£—ZÇV4×ÊP.«h 9çU&+!Í›Õ$5¡i!Eón†TihvX@h6¤i‘콈·ÒîE´ÇE”Ù» m^.`~À‰<)9U®¤üÓSæAoB øí/l´¨¤H+š¢h­JI‘<ËË‘ÅEåüؘ‡;ÿ©:à-Cž«—uÅAõ)±»$DúEû¯÷En<Ýç~Yß),2Ý)?`·A6áç‚_°€­¤‚œÑðXß’?õûÕê¶ðF؃€tx\$#ð€áÛ¾D¥*؃¾Ì®K…Æ’(Èî×=61˜0f&¾øâ 64¥·Ì´uu x½^®ÿ×ÖÞYZz§)c±f63Öð¹lþgìÂàôê×Þ½ŽK@$ªÔ¸(XÓâÿ'§ÆmÊ»'8ùwèú‘šð·f€ˆðr€.ù?1önXÐÏõùÿsù þGëº_ÿ÷û¦QΊ ŸÅÞE¸o?Bð?å6@ÿÛ=gƒÀ0uÆb Nf&¦00LA0aœÐÓ€ƒ°ØØn|òè `2‡u·Él2[&ÛñÉ òííŸL>¼üíûTíõ‹Ã¯g|W} ÿÇÜN–8Eñ¯DX¨Oþ!ûׇÿ¼pMøk–@¸†˜Ã× W`Ñ@°'r€ †€Ýf?^ƒ˜%è €þÓ§±¸Ê-tÚ–zÛxà3ù3át@ðª€ä¥èbdQÍ*cJÖ+gsR"¦Éª–õjRH;¥©RL’囄ÿÉ–Y)Sï.„¸QÓæ³Z¤mYSb³7b§T-’ËFrZV.¤ —EÎbŵ]`ü/ëÌ[»ùÖìPtvDR†$E[Œ(ç²aIódÃÈ(Æ "gHJ­@¬W©?-‹åÊS;p)KLâ -ãgHžúà4y¦,µyþnI„0•öRû`¬ÛìVÙ·'ͱ…µêûÉþÚ…?—þãaæ0AÉô_Û5—ÃR‰­xZZD0€“-üEȰ˜iW™ƒ|ý÷´ä-¶©©æ‰ææLw·±‰„ç™ÓƒMº °«ôÕ•ÿTÿÓññZÓÚZw¦¹»¹™H€nP“|Ý7Yíè¼øBQ€²Ø-‰ÄDÖþPÿ§'q¤³³cèíëCt1xâ],€.Ö;„å^ÿÁ Ðýƒÿ¢ À€r­þN÷ÿ_0øçþ¿XÿÃ蟦-ðÿ=î³»1pÎÍÍ9ív'‘€)Ä9úÇ'‚™`ÐÈ%²Á‡p€ ¼oÿÇt6ÚwâfÇeôÜýŸ›&“er£½ù}ù/0&ЮwÿëjÀý>@º Óo÷á€@$¢`¸:Lÿ}Ã3œ,tÿ̇p4×ÀÜüëœL˜*é‹»ßü½mÇ1øb³9ؽn §­?K€.WiTÆþá?aÿ;MëĬ– À¶òôƒƒ™¯+ÿè¥ázÿ‰7^,àÚ”R©ÔÿßíH]ümÇ»o¸þîЉ7Þêx»!€‰Î ù€0 EþŸ€!ØæµO Zû€ÏíþÿËi´ú»>ìºÞåû°ÿî#>v¶é¢K;çPç€gSsLÁyp -K )ƒÍÂAFaèߘܘ<ü`óeGïóÇÿ`Ž[°Xs -Úò;ð -hÔ0¿ñŠ0 ü˜Àÿ*¢ÜÎ#nÞ|›ì èY@}uÉÿŒhú 7€Á¸õÿÑŒ®d ßÏI¦$âŠÁä49`ˆ€p²¹-v]ÿgéXœÆqÂÚQ—üi€ð_wF¿ç±"€W‹Wˆ I®e…jø„–Íåb꼺+gaøj9+Ýh ÉÚObêÈ Z€SêJHRUâ M»‡ (õ‡åVe¹¥:½$§\•”+…‹óDïLW~ýc¬©-?‘”›³‰åˆ"-„¢QEQVÆ$5Üó<ô,ˆ¬Û%¼Z -á_ -yî¨?==Ç$û…ÿýﻃåûn¥ó,¡¬#Vëæ<¬sFÚ.Ç ”¶Ež/쪼 ð¤?ïýj©æì2Ì'Ý÷ÿt{Àtø3¡Ø,‰$öû|AÿßöýˆÎ[@ò¶ *ç¿hîîÎOX,ëÀZ/»Ó3W•¿òz×–>þ¸Éºþq·um½;“Ïó¶L&žç=€é áÓãkü¥^Ø® ž8ýÆ/Ô F˜üéßñðP¹ßàßë<üêê@Qþ·µõ¶ñþŸ··¦ÿû,õuÕ?*3ÔÿÜx®õ?ÿún¿~LûPÿ±øŽN#ý¯ËÞe Й#v÷œeÎÚß`sö¦ÜlÐcû‡À|<Žì Kp‚­èæ ®íÛßظ7q½í¸b Çó;$ü‚vz¬­ÿtÜ¿ðñ‡zàˆó˜Û¤Çðõ?Çšúîè}ÿ÷gj€Ú6 ¿ÞýŸAèlâfH6˜0¸‘LÇT»Ín±ðô‡hܺ5}tšÀõÁÁÁux­^h#ÐF ì€Ñýk¯b ¨DçǤBDÊÉ9’ŸWγ³-Þ”*Ý rvá¬Ò*Í¿µþKwÕÜ)ªÊÕ4´rJцÎþkX ü@Íf½µlA@4á˜à¿ä*ù]•о ˆ¦@êkø3ü†£—~2äñ<S)™T%IQÔe%q^UÆ"ž{Dä½îItÿ…Ï@…s”¿‘`| ¶V^šW¹rý=¤wbð€—éH  &×x\ª<@nŠðïDw¾çéZXørª!Ã<Ô¼Ý'’Ŭ_O€I -póÿIF,¶ãXã›8ÎÃBó/š§ØX;éõz駤'n‰ðŸëÿ×»qÊt €P o³vÛŒFÞ\]mzÜ ]ö¶ýiø½uÿý–ç7[©1h%~ôïüÀ ƒÞÿÇ`çÅ‹ú -á¿×[3â—“QþåGÑ_Çá°+Œ€žïýgð÷MØåó}x”ÕîóY|°·ñè|Sv8Þ‡÷wÀç¸Þwv"“ÝÆ)"=St¦çO^ôÿE`r#¸±±sÐ x²}#`Šór¾ÃûÁv=3ˆ/-Bü .þoø·èÀ -èpã¿ûØ1ço -vvÜ @_Ÿèýsí/ºl PÓú™‰ÌøÅ¨ÿÌf\7›Mf3¬€MfÞäÖ?«@ƒìx€Sõ/°Ÿ8À­.†ÿ8}ÚÊ‹M°­íO<yðˆðËSÿ?;P¼·|¾Ud©tÏzs9äûÅæµ–®ÒÐBKLeïÿæ’¥›7Bê;ƆԻtNÀ*ÄîÍgµ¡\!âņx%\Ðÿ.½o†k%ð‚¯ Ò”³­êyiavÑsv6J_S‰jcª:¦¬¨8-æ–z -žeO¡ -×E,(Ut»>úˆÃ§:v_¢_}ÓQ˜–«%ªËb' LøÁÞ€{ëT¤Ëhû#$ÓùR0øŽ~†Õjª”(vútBØ3YX)¥ÒbBÆíüÿ[o" -àó™üÃf]¸yÍo¦²Ÿ^“`ÀÉ?=:,8Ž@mgòÊÿ[P¢ü‡È…ÕÕz$pXìóxYBž9(*-­ª–Uró2"‰¨Ò¼Ör3[ξuHUCª[Àü?R’ç³¹Ø?߸A| ¦ê‡”¼+ÅàÍ©¾G`ù^ÁU*¤˜;ý„ÿ)Õ®4ú<¿oÌ6‰D£­#+Ñd2ªDcRò-õl‹$Ec¡s—¤¨*E#°"°<¶¼<' ªm 隀÷¡Ýgc›ïb(äV»ÕòËûRWÖ§Uá*@?V…p‰C<èÈiÑø,ÍÎ@ÕÔ–~[$ÀãçUèþu ’?]æG@¿¥_åØ} Mñwû&ñfÃúwe`ÿc4f¬ë?]›'ü'@ÿOOZר¼ÿßõîAôÿ'©ÔÉÀźþñÚO×~ú1¡ÿÚÒIïW££>sT–{—ÚVW¯÷O×\Öpñýb9úñ(Êg…§­íÂF~1ÿ§úÿ×ÿmlXè {õ Ò£ö?è\ÖÅÿ5èÇ ŠãïãµâCôÿ}Œ¥>»É¿ Àÿ.vþÃU,Šº¿Çi‡/ŽÓi·äÁÉOŒâSâÏÞÜÀ"ÀÆÆÎÆÖ7î´Oš„ ß|Åü¹ÅrX`?[·ONëa@‡"¿¸Žû|ìÈUlbì6õÝ¡³ƒªÿ>Þ ëÕ¾.ô×Ý® ó_К7gÐú'àïáêŸ.hpð ÞSn"{õ?5 `×ô­[Ó<8=È#¬\¸0Ðö'áè•GSÿ]/ã -À³%ÅV%*É®•\ÖÑÚ©œŠM€–›r)w³eˆðVÍÆ†B³„îYžWgC³ÿ¹å-‡Zn¨ä¹l$ë½Ée½…1 VÀ% *ºr–à°ÏŠ€r*+©0ýÿþ«Q)•ÎFGf¥•˜tiVYIÉÙÖÙ…Yþ¤$I‹‘±ójd±­@$€­þ·k›€¼ -€ßÄðOÖ`Ï•Ê.Ñö°{© >ÀÏÁ?e¸–Øx\°^ ”D¿ ÎMÆPùÎÄ¡„µRŸŽ *±Ç°žt\³(*•ÒÛWúÇð “¡b~ ‰Ðõ ÿK£Þ¥µõÁunú»3A´;ÁnëúêÚ;K'O¾ƒÇ±¿g íoIæÀêàé~¬WYø|Æ×ÿ"E#}ú(ZúÔFˆß9Й¸À@ ±Øæa ªÿ -0fý?ªÿÑÒãÅ8Uõù?޾Ÿú-Bÿ®«–«„ÿGìn·Û~u5ÝñºÝ2Ç0Ï{ðœúëÏ'„þqM!0 -h‚;“;““‰ÚØùäJÜl6¡2›ýWtÓá~`ÜÑÕõ€zàžP¿¶îsi9‚€Ó„)€ ö¿¦Ë¼Hœè3l†Ptþuôg2 €Yà0³ -²?äù7¹@wT˜ÓÚnHS»^ÿ[j[„þ·¦OŸ®€ŽAbD [áÑÚ `Oørý?KP‹ªY—"y嬚Óª¦J±ìPË!ÙùÉφ†N©êÒfoÆ´ÇýÌçräæ©äÇ$­ g% )¹ì ̬¹ -§ÊbP˜h”+%î0þ6‰o^XTFZ£TÿŸ—’`±…õçoÅÔó‰Å‘dòR(šT[Õªÿ•1e¹ày(#(-¤ˆþ)±KÙ - ü¨‰üY¡,;_îA¸Ïö¤ÒÿK=‰›Õ²z±'§èe~èp -ëO•§i|!†HTùÛiÀý}†ªÇµøwŸÊÅ®yJwò±Ùò· å[gõÿW:þ³Àåõ¾Cøoµ"¶<1fº»›Ö„âŸÍ>:j=ºY–½¼>ÝÅe7WA^¨ßéã»3/áKÕ_áH1ä_¸p!ÑYÃÿ‹bàÀ2@ -€îþqçs€ª0vé="ßÓÝgí?1˱«·8|.þ‘€ºwÎíd`rô˜ðÞÖE `£ÛŸŠ÷løT~Â2Á[ÀÿàÎÆÎΣ€ný$7_æü¼?06þïá`~Ïîÿ‘ Àý;‡_úÎøìÇÜîc°èã'ñ`ØÁc×üÃõU@‘$Œ„úŸÏfv0û¯}Ž)€YØ`+ÀbN°7`½Ðe©­tAxk v4­Bü÷x½a/ýæ÷w^¶?ñgJŠ’)Ȫ&ËbÚ1€S9åPK¹<ôÿ-¨ê©\ @ê,J‚í~ÎË…ì|!m>§å"ê½lŒ PÚfŒ'L.¥ÄàOõ?œ|¶Ó$•Èb²õíÖäßH#Qé,}›Ð%I]ˆª?›•08«HŠÖšŒž(Ë‹žBaÙ“*Ô¼K"fˆ7©~O ò·-ˆi9, K0Õ‡ ‘Rù?BÅÅFrÛåêö.§”€È¥ôÓÒCNÉ(ÛõvÁw9îÓ§TïW·«ÕÝçòS쇕éñ<÷¨ªgÉ;ê•‹50úü¡úÏЙê,rbðɯ¾Õ¿` 9ÿ.ÔÿôÞÞÎ_þ§;n†zaÅ\õ¸ÅþBý.¿î—‚W+ˆ ]Åޝ;*á¶‹m ¦ëøß¦wzõ޳lˆq?TË *rÅå÷Ÿý¶ýöm·›®p Ànw® ¹9ìþ 0MþM¦æ|žê|t¦ q›ÁŽ0à‰s e³šË#eSYäûh*Ëüs7V,Çþ¾%R4xÄ4õî»Ò 57_Úl–è‚:«ÄrJ.—ˆä²€ÿ¬n½Ä ®b©Òz‰ P,oSZIÆÅ ˜’”Æ¢Òb2m=•’’•Ô䂲p)&¨#IuLU£ç”•³ª¤,+ÊØòrÁS@2 öÊRÛ)WUz°'ø†ßdYØç ×ßje·T-–Šè @|`÷¥}Éã&+¾Ü­VS»pïãß)^Æç9ÛËäC6!¼yª»åOó Ÿ—G=Êÿ@s€ðßfãu÷€÷ÕõuX»zùÄÇ® ¶ 3mxt5¹ Ë¥·ÿË/ÿ?þl°A=d L9ÙJüåøMëøÿø¦©—j½‹‰ BþÈ@›ðèõ´×,ö·ÿ]õ7ŒÿkÛÿÜùÀïñîúß¾xÏâö¹ÝÂ}·ïQDÞœDWsnøà°ÞàŒS5lyTû“ÆÀT 'n±YŒØŸà4À Àoúm´ïØâæË¦Ë±WL†?ìûˆÃôŒÚÙ›þïyÔ«ÿö†…€ÃVŸï¦n§èAÀÃÜüF€Þù¯ìïˆ6”¼ -€âÿÚ r¹°‰†Ä5¿Ù¼é‡0€MtâBˆMâ==Ä Œg±Å(šÂèô´ÀÿÓ§­ú €Ý€E"pX®^VüÆ èZÖ"…H¨ ç$À)¤h¹ŸÜ(çò÷³R,§†b°Ò4)v{ÿZ.7¯ I1Uâ\`ºa¾àE0P®T‘Êð¤¯`% ¯°M…á?L(Î"@¯\x»UM.ž'üo¥ú¿U=+©Šš”ú^¡¤*-\ºÔr6yVý¹.F#ËËžBXˆ`z/´…bÏ€gHú¦Ò»œæé?@òªž¾ÂZ€ -®¿ÔýU±øð/V軬KêÇgiP.ñâþÓ¥ŠïhÓÅ_û¥Ó4üë™|3q€©)TPSüWË?‡°@€Ùè«JÊaç[?HémÜÿï"€Þ^½}™­Éÿ¹ @+‹þpÕ¶ÿKõÀïõG¼m¹¸mì·Ý÷ªþMNL ô/ƒ!éŸÝ-êƒÉà…=&'»'ÄŸ È>@è€ ÀãFxü2ÊkûŽÛßß#عm1Þ‹Ø[¬E6z¼ži‘›ï­³e€&X€ÃtÇÌY@tÍ¡[ÿ:Ä.À°£fôþµ3»ÿÎPÕ¿9óGÿý„ÿü—f± `0˜áh69èÇvº€ɇÿoYºþÊ Ÿ­Á°/ÀÞ¥^6Ð ÀKŠÿÏœ#‘±BA¥²ju¾JÅ},›ûI‹·XÖn¶¨pRCš6¤jô¿X̨JN=¥j1m^š¥#9¹Ô{ÏSxèIUäBÁ•N•Ùÿ?ÅðOOªr9íAž/ËP4)ü"=/;Ÿü¹ÔÚ:Ò:ΆT@Ð")#-7ßúy¨U:›^°»Mà_EÁ+Âèõ‘ìêqÁ¤€ÏÛ/y xõ÷ÙM³ ̪€úÞÞðx/ç}&s$ìd0€ÝFÿPnž€…×ÿTþ3˜ÎXWºD¨Îξ<êõ6Á ¨»»9ÏN§x¹ƒ÷O÷úúÀÚ’÷¤·X|¤àð¿äõžøå/ÝÇ܆Ë?þ5‚ƒ͆)Ô-0õ"·t -Ãè/ìG_Ñ!@Šð?ÜöíCO üÙ°ÛÿìÈ€’,€)ÝÀ%Òa+5ë}ð¯Ÿ*ß7Ùºm§êßpû®¼`¡?”þ>»kï§Ám"N0˜ &üóŠÁ×byú{lÈÎד€°ÀÆcœ7šã—ã~óeÓëÆ?øã>"o >¼7¨‡îÖþ‘±øØ¼ýÿZ ÉÔ7ü{f‚°°žÄ~¿®œ¹†úŸ?×ôÍÂþÓfOÉ@DÀŒ,,  -@?nÀ‚èO1˜æÀéÓ½þ?¡kVá0 ¬€yBØ | ŸÏœ³ÒÊh6©¸åûü©RÖ{óïÔrqô?ß$R ÞUqû©•˜$À4í®*© >6—Íådùò²)y¹à*{ ²¡gl -òü’«ìª„zÆõ'S!*I¤FÕd4z®Uúy«tN:/-DÕUQ19w¨¥U•.µ$£’"µFWÎkÄ -ãã…TZD²€7 #À¯Qô£þOÁ¹~7\™´©RºwzP§§¯U9ä6ý2×VÐTùA¨èKyå2Ûˆ9€G7Æþ3>Ì^”úÕ¾AfXc2Âh°iiiÉ{_à¿ì%ø_zçîL&?Ñlžè66ƒØzBÿu`íïÒÉûè¯ÏÍÑý‡{ðÒ’óر>H•L¿þ1Z†8^G¦^è€K˜È^ae'ÒL^¹@¹”÷\„œï[GP¥Þ^$ÿèa?×ÿa]’­ÿuô¯íþ»xæ_uÕ{Õïj±öï¶û6Ðßôªj*ú-"ô.à }& ã0pò"À@`Êb n`(VëLl -c€Ç46hÄM}]f<ÜŸ˜Ïêø¯—ýí<€öˆ€Ñç³ó¹ßs ÏiÂl‚ÀŸpÿ¶†M< -0¡öŸq0þ‹0@¿ØüˆVÿ?ú|æsîþC -ðG³™Þ6›=æžxOOÜa6ôQùÀ\û¸í›Ý&ð@âÓº `} ÷mK4¾¬K5Ïž5¯+¢%³²“ÿS`1M“¥¿Ÿ¥WÞº¡jÚ©fö§ûsóÄRL -…þ9¦e= Í[¸§ä䇑l©° %`¡4>©ü¯ʸ°ÿ7^u  Ü|$ªÊФ¬D[ÕäÙÖŸK­É³Òˆ`E‰µ†bÑä¡–óJhá,Ýþvô¬šl(ç=Ë‹„S/ 7ÀŠžÐYÖ}+ÿ*AûV*¼õ%[פ¶ÒŸ¥SÅþÁñµðµRIØØm¿Ô¯’ʨ–‹_–RÛÂð€nƒ}0ÅÔgWØÎ¦R/HÀb³5ç›1ùüc0‘7æ1øéÒIŽF÷›êûwÖÖÖÖ­ô -7Ñ=ak›-¨w \_[:)>ô @Û€ˆÃÚÀÒªóÈ1§}ʉ@ 9`04ǧ=¼¸¿S,tÿéÅk‰…̽^n¼Z=€jj˳|Ñó)Úž@@˜¿„Ê ÓQÿ÷zu ÿ{,ÀÅëþ®šè¯Ô`ˆMãïýG½o'ìÔxè£rß°ÐMÜûwøÝ}ƒ“þð?n -ØÄ@И·M僈þ›`AÀˆþÿc\˜\1Ç‘·gv܉ÇMÖ} -v#œ€ö ä¾´ñÝ>âv:ûˆ\÷¹ûû üûx°‘~­û?ã¿£÷†q#ÿ›Yh6Såïß$ð9¤×6=ÄSœ· ø‰8 î)<"p62 óôt×­éÌ­º -ð„õ3l ÏQ!`@±ðªí5”Vm¡PˆIRLÕf‡b¹˜–Hh÷“Uðóÿ|(t*§©1mHû€à~>›…06šÕèz$—•ï­D¼OVNe#ax„S„Ó…T¹L×d*ÑÞB¸^´„V”KŠçRRŠF£#ÉÖs­ÒÙÖ_HÉÖ!I’T:IÒ‚z^m¹ùÖ¬¢¾Õ"]J¶&•Ũâ!ræº0;l 3 ± `c€~•Å~épxœÊû°f;¾›b[ÎÇÛBF.÷ЀOÞË(Pf—ãûì Ì>ITê  —~fÞ(qüOC^€¿~z7×úþ0¡‹ic`|ýŠP¢‰Oè?д¾Ö1¿ Ú¢9ÓýE‚L÷úêO½Þ¯¼åÆÞ¹ÀÿQÙ»´´´6°º¾>`ó9ÝØ£r ÿúÇyss3Q€)•/î/tÉ‹îÝ}*b8ÔEŒëU"åRØãùtìÓ‹cúJß·~† ħ×û6¡þÓËÑM•ö$€.Æwý¹å¿·ðýîÿ5Tú®DñÅÉ -Èÿì‹=oƒ›ÈÔÿ8aˆ`ƒ(€±ŠTÿØAnØ|¬Àw\Æ0ÞÑì0}²_#h¼m¬{7ZµïyÕG¯g®òÖ¢w3XÝáM€ah©ö€Jÿ;ÃÃõ`ž àÿƒ¥?¿óó?"^ý==`†8¼€1èÃ" ¡Çíž³ÛѰ»Œ„ÿþèܪ/ˆ=ÀŽÁŽÕŠ @mP¼dðÿœ@ñܹH$)/ƤY5¦ÜMhZîgª6÷æ‚{ÿœzê”vJ ݈Ý@@.¡¨wgoœÊÊ¥ÂÃĽˆ¢Íç²Dd¸õ hüa¸”Z.•+—±û—Ú 8_”.]’䂪H?O®„ZÏJ&‰ - P Iª*-DWF’‡Z¢¿]::«D¢Z4‰FÏ{<Ë—=l\¥ú?U›þ± X9Øx°[­€¤ÓüqØâл­þYþ{Jã°®ô‹T;¢Û¥—=RÑU °-‡*á`UPŽ JÁ -(Å -@t^- Åò…Íbÿ‰<^¸Œ¶ Aš¨ª—¿¸Ÿ\ZZ…Ûÿzww0?ñE>¦9h`+Ö¾Úïÿ/¦ç££Þ¥ùµµ¦õAkSÞ‡*“yØÿç_7 Í„ÿ{q À޶Ax"âUlI™_P -Sñÿ)¡ÿØÅ‹Ÿ¶a -pñÛ)C/Àɳ¤÷ÿÃ"€#dL¾äÚüŸá¿–ý³×(—¾wý¸¸âæúßä¸Ân€@~"\……ÞÞd -ÔF;;;“˜÷±ö#à = A@íí_3ppÚžcØl6Mèä7ô@þë«€‡Û1šö݆ -ªÿ>Hàx‡wx`³C÷òëâÿ Ž"È÷CHe?‹ÿéŠc³Ç -@ÐoŽsùÏò?‡Þ` Ђp#xÀ-ÞÐ5§OˆDàAL¸pÿ÷ªÿ—Š<PÔ²)uÖ¥†$IÓb9-Ë¡¿¹ù»?‹ÅrÙpêa$‘•³ó¹NiwvãÆ?ÿìT/Áp!«išBçù{ó÷+œ-€ŒËáBª€­¿”LïJá‚ÜØ  iraÿÒÏ[[[FÎ_j EÕèY5“F$u$6{è’´¨.\j -ªgÏ/DÏJË‘±EÞ@]€Š‹;åšË»†€~6Å«¦Â[½ãaOzIvÂý­-ÏV)½åá’+U‹µñu¥5fø’¶Ø˜Èšüâ-Uvë )nsÈiPžÿó  úW¥†ƒ1³i#æ ]µÙlp÷iZýiyÉÛ‹]À¥Õ&ÂÿÁŒ±Ûš¡_Èç­ð  xÇÛ°ÿ_‡à¿ÙÁÀÿ̺Åâ6à.>óã_ßîáŃãöã¶®ö× Óêê`ÿýý§é:{™ŒŠ8óWýSaϧ;?»øi„."Ÿ¶AÐöíŸÖÃÿ˜4:54ÿõñ?Oþq®›ÿWá^ZúÞå Àp…JixaÄb·Ûn ýTï»ÅèŸ/MT,l°3É‚?t6PþyK–Apc§}çÑÀdÐb¾|Mâù+fËþ@0¿SOÞKjßÿ5šZÝv6,èèã€ÉAWÜ 3€a‡¦Áÿ"€ÿg8ÐŒÚf“ 7ýf±ÿç¿¶IÕ¾1GqGÜLøïì19Ñ`+Àz€±‹ÎN‹%@= ðÄà*ç  7J_F!à¡çõ\+dÏ)¥hA¿¹¬vj(¦Å¤![Ú©D$›½ç-d±CË,šP£nP½>¤h‰¶Ê¼„ÿªÑ—Ó…qÂÿBøa¡TIÉûLY‹Y¹,'”KRë²§å\ò\§ÔmM†¢ç¥Öª.$U=Û’T‡ÎÞ\PCçZZCI©E]TÇ"˜ÿ)Îæ¶Ù+•bu  -;ôpPøo…=ž-Âýqª&Òá­×z—·Â)ÏøVš{éñpXÄ×¥YX„S`±ô2¿p>Ø­ì‚US©m0ØT«Ü(¹Òl ˆæ nfjð4¾ýÏêh6zz2ÆMcþ%Œýb0a±d¬ëMëK'ù$"€¬°â@ä-Æu6lZÃ|oO'žáŒÿ'—è‰5LO[›}ξáá÷ýÃþ±€ö|q“C¨aNûÞøó¿óÒËŒÿ®ÿøÆÀåt¯çÓÎO;Çèí"Q:]üò~ϼšõ6aÁê+€zýïªI…ù_…8€Þ -¨¸v+¥¿ÞÃ{Å`r^q^1¦º!ÀršÐ˜°àt›˜˜^Üb@v˜cð`BÏØÙy4 ˜>Ðg6s?n¾l<ðb 0x¸>ho°Þóæ4Ààm0•cn“»¯³úxð÷Ža“Žÿ&?¿î\óžá\æØûgüßúà ÈMÀµ@êÎ;4£À>5'`Öt§Ñ˜Þ›œÀs{€zŒ€] €—/èy€¢¬­\Z,)³#³jv>†ÄßSZèÆ1€q-q/;?ŸÍÒ -Tëçîžb›`øçèÖ{ó̲ËÏCOÀ.xÆ–‰*¬T²ÒyOJIjªÔ2¦œ{«U9wvå¬ÔQ¢¡äˆ4¤&¥¤4$½Õ¢ª¡b#êbRm•”èÊì€Âã*<È€•GFTËðÝçt5*#¶Ðû÷l½¶5N< ü гåaôO#Ø–¨}H˜{æÅR•§ãÿ¾‡óþƒ¿âKg±üà>¶‹ÕÒvš·+EØ—¹— ÂÐ?Üÿ+ÝWƒ \~*c±ô¡î£3šy[ {ié¥ù?ͯ-5­®[ÿF+qv¢¬C8°vÒ `,7â?ûqhZµâÈd¦FKÝM/G3~x¦Ù-–3]Ç}Ç_Üg{?äÌÓ]ý¿þõ¯ÿ÷ÿoo$N‚æÔZ˜ÿ¡”çâXggçØo;?ý-1¢y½ÿSOø ^ÍÂ{àß«/Ê©Ôg)y/˜ôÁ©¬;ÿ”¾oûßÇ<%®8 à±G÷^•ú\öÛoc`w[˜ƒcNÿÍ;&ÀÎ$Ëý9ùæb€5€I>'7,—ã¼ïp¬ÀŽ€þ`ƒPÃæÿ9€Õâ³súœ&º_î÷ÐýGù¯ÜÇ›€~6ðëïÏ ;ô< a¿Ð@÷ÍíóMó7¯™1ø|“›×67¡ˆðÇ{茞SÈ`'@ 6Æ.]p+³gÄ"@áLà+yßàËùzn ˜ˆ&ßÒ\‘$Á¯¢ˆÁXû@ý qJ HDr‘y˜Ìà ®Á*¯j9E1 žìr–ýÂèñå±Å±BCöŸ~,Ϋÿ-é* ¨Jèܘò~ôí–hô¬U’ÊŠ -â%8„Z~¦Ž¼•TUõìlälRiÕÎkÜD €J[^Ä¢7‚úöy,ßêõxèùÑðx¶R©×<„ÿ iÏ8qL¶ D›ƒÿ®TöûÕjú7_¦…%„/kÅõ—Õú©øåóçú‹»UÞöÃî?1ÆþÞtš^EªR‰Ç%$ûýuƆø”­¹§¹Ç–±Ù‚Ö‰æ .í±`™°3™Áõ¥wÚÖšVW›ÖÖ…0ÝðþÃaE“`õ§KÞ¯ø©]ûéYçËÉókMVîL3u0Z¾0X,¶<‘‘ Bèú?Û-ÓýÓÓËÌqüù¿ÿòb¯W~™—˜Ÿ¼!éëüí»¿å4 óÓ cÜ€Àóí¿²r˜ÿ¸ôçñ?2€VÚ¸ ·ª®Ú€€\ùkâàJXjº‚)€“­€EíﶸÝWL†+WPü÷!q§ïŠé -:;;‡Û7Ð` Q—‚` ø Ýœ›Òãèûd2Ï>0€š ^øÞ¯àc͈°(î€1ÀTÿ# ÐïÐçþïÏ1€@þaŽb/ ÿgИñNÀlÞüzëá±xÇã=Ü€pÀ`ÑgFˇè°`º?ƒ€X aØ+|Ây¯¶üƒÀ£‡šLF—]Ù¤¤J U‰ÅrÿÕþZ.ñz*N Ñ­ BeÜN !.WÙl.{/w/‚ý¢'];~qqÙ#?òM"¹eIõ,Ë+¡ójrö|òísÉhR:¯H­êYõ¼42 ÀBhE‰. "8¤H-ªÒ]XQ[eœ± ° €žDå­h4ö±ÁªÄJ,O§ Þ¡ä9?|„à0^Â6!?S€×¶Rlˆ‹Ê¿ÿ¿$øÿÕ¯~—Æ9]ýÕ6hÀ¯øíW"·÷Kœ¿Ü=àªû,IA¹ÈIh”8šcä&•°Q’·d"Ÿ¥…°¼[å|ßï `s*ÞŸÂ`Sýn€;fûTÿOäcƺÖ4ðñúàúà uÍjΰCÆ›™`ww÷z÷à`SÓÚ;®ÍÅøË"ð¾kÖéÓÆi#ŒRá/d=a×pzŰ¼ÀOöþþé.þøsÿg†/›þǹ —þãã5å9ÿ6ï¾-ðÿÓÎí¼p±S÷ùôIŠ¥07Ð-?K5xèöÿöËÿj-°êú«jb®°ë×çt;—D÷í·yÀ};p…(À{&ôÄa¸b¸ ÀNû$í“;í;œ™ç°!ࣀ`ü2¶ý—›/[8@ôe€Ã; 74.4´ûH-àβ0r ùïÃ?B“¾(Üÿê†À$‚fVÿ¸ùѦy“̈`ÐÀ؇k‡Ù _öÄÙÄËn·Xò ¼ #zNŸ¶Ö;ºPÇÿ†(`×>9ç ²K–BjT¥Ò>A¸¯%>@—?AU>±ù„šËÍÓ-÷r9€ÿÂî€ójΣ)J¤ üG<=ã‹Ñ_œ_S>ú- @þW©íþW…@å¯ì´|Åýž[øN'¯Ø¡ü3®Â!ØyÅùžûö{¦+üW` -ì˃ØlŸD`À>Á2€ ðz\¿lŠû~‡Ù$Ò€7H j7æ»wêÀß~¸½aÐ ôzÐn±sd¬éŽ9œ¢ À ?oøYøÏ$7r`ø#Îâ5€k€òó3ÌüÜ ·ƒ¹è%Çþ{°`Ÿ‚I"[øŒ–é.dÐ pý„¸ ¢€ê6@.×K¼G{蹇r+úç.©‚ÿ¨Ôÿ€[ýt9¤Ík¹l.§©ô>‡â_ËE‘ˆšœM¸JáÂX4â{Xx­õÏø×}ùlk’>PMJcŠ´pII&£ç’ÚßHQuDŠŽH­ÒYIR¢‡BhA,Ì*g%Ez_R“—ZZÕVm12æ)Ð)f'ÀR=C€ƒY%Xý1 è §=Ûá-ºm·±ïCu>¸ÄÖøk¯A8¾µ]*¥Š°ÿz* ЗÕôoÞó»­¿}í¿Vÿöô£_ý/û£¿ýÝï^ûÑo^£[÷â¯ýh‹ÈÀÖïÒéíÚ@ H$àKn;ïòAð€•À÷WóAã$ŒvØc0#8ƒÉÇäO 8nº|yØìpw?ÒþçÃh³LîÍö¥ï­¶¿žAV¶à³…€ófwŒõ¼°·ÿ'ŽÿÓ›ð¿‰( kìd6Sõãš¾3`Bÿ)Œ0ø7LÅy"``O;gO‹e@AD@h:VV9`IÞ x™}4ž?(f5äóµ\º”R¨Ä§²?74„+ ¼ -‹äx@\@Q¥–PÎåJy•Há¼/þ­ç¿–¡GàQT%z6¹øÿ³÷>0mÞiºhqìI@6v‘àæ~˜qþ°' Á°üÑ—Ë¢Öc±Ç`ÞñµÊ°2$n&|T5);qöV‚D¾›HÓ©k¤„;!º•öº \[t”eËU†Ù+rF=RÕj«bíœÁg¢ H+í}Ÿ÷÷™¤¤%]:MGýlŒ!@ÀàïyÞ÷}Þç‘_ȧv7ŸÍ–³¥FG’”ŽyØ“°Sv:=}ΉFYvÉùCEæùÂ8fèb¯Sl˜\ÀŸ¶fd›O$x–ÍÖåä&Rƒ“[IÅñ„r©Tb×íàíÖOÄ¿5^*!|†âQ«õ†7¬·/Gÿò¿†¢¯g¾á³†|»èCQº†˜0# A"°ÎD໣cªÿ×ñ˜¬m¦÷6ƒlr€‡$FT„›¦àïÀ X˜ZÝE„ÿËˉ?Â27ö´^­_Ëä^«ÕB¹”†N4‰ù}范Øù €NÄÿ>_ñ»{oíþU|t|hˆ}ƒ±A¿®ÔÓªõ¿ ' œrªŸðç:6õõÆÁ’37ó+«ZjÎ Xˆü)¢ÿZ"d±¸Vþ³º^8À‘¬æÃÍBø›ßdü‡Ð %`ÞvZt³Œÿ‹Ðü?ñ`ùÏ6€ªúo“^%Ùÿ'‘üн±G - /¢  ¾0ž…¹·Œ•0 wAˆhFì6͈>ßžËa@«lÄìŠö¿˜þ³7¡øê§ €Cï÷›q Û‹Jö–Ü2éÚ‹ÛÓà¾öÿAG€â½3¹Æ\‹4P`ÀÀHäꟳ€ íEþ°ØZ«ûe-ê~XYä¶ÿ¢pZ\4c'¼Xþ÷ûÅÔEv¯‰þWÀG%D˜˜©øŸÃOp–TOžcmÕAK_ß§ÐSŒÿD‘d·"eŸÞMu·îB5ÇÂüë£/ àLÀëvMx}e´ ’³¯Ï}ìrÏ%ƒž—äñGe÷hX.rˆx©OjÞ}6Ð-KÝø*ÙÝpn<ëì?¶›Jg¶S -t+Ýg»w£ Ëîq׸¥yMb0Ýf€ŸFeæòÉd"Q~»)q{ùþû¹Ñ Ñ@*L[C¡Ö4xLg¼ ÿÁy4·îÊüÖë—3­¯gRýßp¹!5uÙç{#êóYoûZ­qk«µÕ÷†o×.«õv3h(% !ÈRëk;+¸š#°ð¿ g z8Qb ŽÁ"µ5€)ÀmHy)àËþ ƒÁ—Ù«½AÎ4`4 óX0™êMF¡¸Nlý!)@ç€`&cúxEÑ}goµüGf »NOgLOþ`¦Ãè4hsØmðø0¸…=“ó„×ÿóÏÔE @—ã]Ê?Ruþ _pÛâ¥E_—sZ*¯_ׂÿWŽtSõú;G/\8r©±¹ù -(ÀÁ+Wòá:8àZÁ6àÁíÈ@+~@üTÐVðOúæ_ñƒQ8Rh·1öçöÂ÷—Çë¹Fv°ß2þD´Fl…óG -|Ñ¡$€_-~¿]‡-€ÙU‘ÈS€Y–̾ÿ‡^@p²ßÑë‡õæZ³þai€÷˜ÝnrÀF`ïÖ6àƒË€þ÷î}\•¾ã|B~ ò€õ¶|3þ˜þײÛ /@Ô‰á?€µ¿<°gÍ¿°@ùoR@z%Œ¸ì/ó{ý¶ð{‰¨ä]…`¶ã:[Þa¤V  !H·¾¾Tù©?ÎS4z½ü…¹QY -¼ðÈDd¥‹I€ûú nÎT€Ï]sEÁ å¥ð‡£Y Ò©¸hü3» £]Ù£g‚ëýÝewcà”ËÓ—­x$ç¬Gr"PR:Ñ8Kl û¬"”€B"y$¹ß5N`®)4Gh–XKtÏÓ½O•Fê™’ÎÁÖ¦$²Ño)1 1E%´Ga¼±ë6Öú×R²¾žŠGvEã«5î»|ùrÔ/sÏ®“™— õ_ßµþ¥o—/óöÔ>«o—r€]>+·âÖx\Ì"˜Dèº,ºk;¹’l€ufHq2ý”›PFBò°\]$&¸€uÀT*” -}É{ŠeÿoŽùµ~“Vë÷Ò+:Dߟ_ÅD@£§7ì~bƶ˜‘x€ê›ÁÒšŒç‡**Ò{½[å?ÿÂü/##£fff¦f0v7fÒÆJZ­wÿ;:JP!L>éOõ*¸œ À ñè‘K͹°Mü'nTT^Q1ô5(ýW^éi>|8KÀ?§‰¼Â*ÀóWX àÿÊA×ÊA"+Ûšào¾e¿ãË'îqîÏfZð(ÃÛEñÏ-ª«¸É­4þ¤ÒHdÀž[x‹I€^o‡c€è´‹Àl1[a0Ëq€èü!ÀÏ9°ôúZzÑ;>Ñ÷¿ÏöGˆÐgï½/ Lû}B8Høo‡{!òòõ³ž×ÿê˜`°¶Vøâð¿Vøॶn î?†ºtÁo0˜™”ø¥À¼^/tvÞ` :i3@£²`K=Á¯ñ€ð*O'%¾!Û<ææx£ª¨KÚýò©€Gñx¢{$ÅM4€A–¢Èî¹9‹eÜ•%š&<òèçw'‹Ü]î9L_-›À)÷Æ€Ò³[’¤ìF©Qj–$eBêîD# o¢±Oêq°ÐØç–%YîQÜãn‹M€ Õ°k -,Öç×6×Þ½K&MÁ¦ÍV¡oSUné*y3´JÍï‚'@(¡âÈö‹ÿH<Æ£·£»þárfCfæåŸÿüò¾Ì×§2£ ¾©ËÑLßTff¦•ðßz›¯Ü-ˆý‰°€[Њ1À΢oò^rž{œ‹°œPm€Ä^E"‘ìÜ^Nm®Ù+:-”ÆÌe-(ÿµ¦˜Ö$‚Û„;FÎ2Æ88Æ­-ßùß4ðŸýçEùÿa•ÿÕœPSZ33h$ø7ùé3µ^S½ñ%<h©yÒŸé-Xlî€Íy̘3ØqàÀ¹¼ò¢mo/U A!‚åóóyOjíß´‹êþæ¬æ#Gº_éî&ø?}áèÅÓ§~çè…W^ÉÊ:,VÃà -SÑXÉÛÀ€ë°ÿÄý àµô€A?©ŠD/à«H -/rp!œÿüô -Å¿±’.?1Þ2"0—ÝG4íy @©ß*ŒPè¯ÎrýÏ7<€?Ðlñ§t€Lüج«Õ̬>l@wbv»}DdžâÕ-G€ûÀ´)ðûÆJpM >€Kfï°Pm혰þ‡ó ¯ÔšÅàC]- †±:®ý!P_~ ) 00ôbú¯aà×§Gô”®èŸ[Â;3ÀÿA þ'ü¨F.dùG©àk<,û£Âò¹ˆ#/ ^|öÙŸ}ñÅg_~ùéÀ©@¶”-)ýn—';½[R\Á åcˇYþ¼¯Ùó‚[þpTQz”lIòìn”_–”>YîódwŸ•<ÎlYjV”FE’EàÜMõ#ÝÒ;v÷H©»_ñ¸\p´„0X †–‰pà¡Cñs$‚" ­›°øYSTêG®m¢Þ¼·+t›.‰zë)ÂþèmkÔJÅCfÃåË{~þÓüÑÉË™S¾×}Ö†]™ ‘ËVŸõ²Õêóù¢QßmÂ~ô¢˜Ä™8à5f¸P¾YF ¹ƒ€wÄ ±žL±Ö[Ðýà ¾ÜX-XO%¾\_@Ôÿ½0ö3øµ&“–Ú¤m‹iÛ´ZXÐùŒã€ÛL1ÿº˜°6êL:–7ùgfÐþ'æçÓΘý=?ôü»TÿÏ”æä -@bô êü:ô K þ«Ÿôþÿ<1Ü -ÐA?Ç̆>*(xLü':T>4T^”÷$þˆÉÛ®¬W.\ ¢¿Ðvôèþ£G/ÅqáôÿÃ3€ÆWl°ÀA×AÊÿíã(@úßï¸ýBÔþ"!?VÿsàIHÆáâÿVe.ö¨ì  º¿Wi´ã^¡]\òGòóõö‘Â@³é/\~E:Ü€ÐáÝF=Ò÷j ÃÃæÒâ‡èØíì4T\ ðþ§âÓKØá„±„ÍÌãÿ%¬rùF,¨‘ P˵ô^xþÓ !~ï þ+ÃýE¾ð v½e,0øý xMi õ%%%º#¯¼“ÓRÓ’ÃaÀlŒ<è¦Òøâ°íÃ2Z07:*S‰ì~ùÅ_ü÷Ÿdg…-®ìS»O)×Ýe®(9?êÞÎW »ÝŠÅrLžðHÙéÔıÝöý’âqº‰UÈ’Ó#5Jò1³Sšèë–¤¾€tú¬Ò–Ÿí:vªQ—zÜãt´Îꦅ -‚Àºýä#ä»ÉT¢©)”jåç7âØçk<€õ÷Í]¡PÓíàc6RÀ‚oëåË—}S {öüð‡?üÇüáž}S™¯OM¼íËôíñE^ffì7D#¾]V:vù¬q¬@ô'ŠCÀ$€•ëë©¶‚ø? Óƒ5öسàwÁ RxHÝKnðã‘â‡êKÓ`üo.{“•½Dê©þg vÿL,ÿÖëýb&±ÍÈD9#X‡ ¤ÿUT$N¤»<ÿU¯˜†ðï“5T4Š-ÂA&´¦œ-&êØ ãIž_Ë©jL3€Ý Káb¶= a? –ãb¡;MOÜO˜²È¯=}ú¦ÍvûîóO£ôG àèé‹G¿sô;¯É:œÅ2x€¬ðõ 2¶9àÀ§p€5át_€-€'áQaøÏÍý‰‘‹ÿJcne¥‘×Ýèæ‘#±¨Á0Ü®^À(ýgÛ‹Qî³F€DØÞΊÀO®¶¯:tšÚ3CmA¯±?D@‡iÄ>B‡X3àFÀÞUµðÀ ½räb`6„þu¨ÿÍÂX ßåõèO}»|tìÚE ~› ÿ6vT5`„ÑDjƒ€ž$‘ˆŒ@^ 1À6@)ÈÜ ëòf’û"ˆe_‘o6Ìæ§Ì¦š2¿Ö¤ñ£ýƒ@ úc1Ý`¬M˲¿˜Xÿ#ü'¦Àñ¿5bP-ó„íoÁÿd’ÿÐÿgó?¸þ€€.'Ç€pƒ'] `b/ôC þéÞÌä€m}çCC„ÿì€>ôÂÝZ†ÊËŸ¬04Þ|áôÍÓ7oÚNëmH’ÏÏ·å½xš{ß9J¯/\8Òx©ùü8èºò›++b00°]À|òÓè_p߀UÿBð¤øÂêÿÄX‰@e%ºþF~1bú*`áÀ…l¬G.ÍŽp¬vxs@-ê4€àœ@P€Oì O 1×Öš‡ËôKÛÞOòß¶ß²ÛGì¹#v]ÎûLÚ€È üvN%êmš| >ê«YP[+¦@TÇNÀª öoþ! -xQD/ªL€ €_h8 È«/0o`ÀnÀhý×c ƒ -ÿ–gZjÔ€0,//*Jƒ°oÀgbÅ|’p -älùC‹»_öÈ׸ËåzÉóÒKÒ…ÿ[:þ½iƒJà/ðÅÃrØ='Ë2$§¤þÓò.ER$OcÀ)y”lEiô8émÙã쓟ڭ(#y:•³×å7]n©QöôÈýÐ6Ía‡-§/Ëúèö~ÉM˜üµ®A—PÏ©{b-oîºj}œ ÀðŸŠÿÌ"ô?yùäÉ}ûnÜøîwoþŸ$:à#R°ïdtßž†E|‘ŸîÉŒÆ_¸üoSoL½žI@Hãê .FØ -„U ¼‚RÂh[ÈHB¢Ÿ¸Ëèð…ôð``™Þ·™@Š—#׿Œs"2½êž €¿‡· -ôöîš´m&ÖÿÇ _fÄMm&Žý‹Åàˆ„@S[}Œ q¦úùŠÒ“mÕö÷ed 1R¶þ§â™ s†pgÑšc;„ž{ÒŸå5ÀÿŽ:Ä€äÛí@‘W$ájÕHÀUý—ÿÕá G—–lKˆ)Ì·êµ>j³¡@<à;/½ðJÖá,aÄ €ý LÛ­j„ïoÚýOhÿ„ ߃`~í ydDÝ_ ôçšÕ=jÑ ÃÎÆ@D4z;üíļ¬¿úÙÕÙYQÿ³€h8>Ý@`û¬nج7ÔÖ-éÍìî}@€-¨üè ê+´%¸ïŒO(ÍU]—ÓÛl04# í~Eòo­*€°N fý13  efž¨<ÀP6¦Q €Wlbàõj02Àza™Á™Àƒ-мÓ tÞÍ+Ïã€pú:ãÿ—J¶N.h¨=OOì§’[îyÉãy©§§G&°«ç¯~ÖÚúEÿƒ¢ðÄ1÷¸è&x<}4\ŠÒéQ:ÞTò¶>XO-þ‡¢»öìi@ùOE?Áÿûöÿ/7ìñ!Ø÷ÃLßIª÷#ÖˆÏgµF­ÿ#Ý3Màô&¦»xÀþQш¤"¼ &ì¤ {Tû'–釆èom¦@ˆ¦K雈 -²!`jþËþklhè™Å\Ïd*Óš¼^SÙ¢‰ŸM€è@80fÿ&5ßkÔê`æcÔ bphKÙvBØþO •¢ô/É)l²|N—Ó23“Q3=1ƒÂ'kžt€Žk-ð?Òј©™É˜œGÛÁôþóª3&k2&'LVc -:d)Ú©Àx˜°¼íê9rÚVg^23`Ç"§m§y -à…Wf?àóê€êÿst¥cŽâÞ&¦?­¥o9ˆJ'ÇÛ•Æý•\òSá_B·ÏïÃn.ÕÙ¦Bÿà?FœT\ü>@}–£Pÿ¯Rù߆ù¿#Mîc<¬Ú:?ðØ`¶ÅŠ:ÀÀÛ'z[sqdDïhß±Z\ü@÷+'°4ׄ¹¶l6ø²Á€YX‹Ð¿±3g„ à¢p†¿ƒáL™Yþc cbP¬Øbf€Bà5¡kªçÂ=;D @G˵––g°0yà\õÀ9Ñ(‚ĉ¯7þ¹€¤Jx¢*ÿ™â–û‰È=bp÷ïù+â7µZ¾à×u‡·¥K–eO#a»,’w+n*ø!ÿ‡ ä¡7Ej”ÎJ’óeEÙÝG¯¥°ò¬[Ùýqã©fÉ#ËãX„›m0 `Š.÷XÛ÷¨@*Ø”X»=¿‘J €¨ßeÀ"è- @a»å átˆêÿ©»LÐOP¿‡ÊÀÿž“{N^n¸Lw ð# ëêåÞÆú|jc}=µ‰Æ­>L¬»ýãqá((@$DoÜŽ.¯£Ã°³ €Ÿ¸'$‡ÖÄ`#¤ú#€¦PB(×ÙøË1›Å9áÍ2NöæzBC¨õ–a M¨D»¿Íí_¸ÿSù¯£5™LºÁ–"ÇÓ¬RÀCÓ9Ó5ƒ\/Cÿ7è`¡Œ &32r¸1x€îW(>ÙÏq£©êŽŽÁ«"À¨M ÔÿE' -¶µðÿ“`…v ƒj .ô†vŠäýLjáZÈâºÒLøo[‚QÜUŠT62p°qàÂiÖ^ȆÐùt"Lœ[9ø˜-€û   Ý(à€pJ¬=1˜ü j~ôþ+sÕˆtñ)`n®)—àßø 2-ì… ×ý¢þkíÐû‹…À-lŸ-Æ`Vg6ôúaƒM_¼÷a>€{± e'b‚ÿû-dlù? ¤×Fl-B ½^O¿Ý%½p8ê?ºð›uj¯Îü -2D3;œcÌ/+sNTEØ\LÏ4Þ2. `\ŸK…¿‰)î@PRÒRÅ[>×øïÿÀä9¶æÀï˜|C>¯ @Ñw^v÷Ë €ÿæ—ðçrõç…ZÇ¿¸ž÷¡&@5¿äÎvÊTëÜS¤l'‚$¥@‘ú•ÝN©Oêî;Õ){úÎJ²òrX~ÖéQ\r…½æ–ƒ¼À¶ÆÝˆná“L`»½‰*ÚÄ< þ\ÿ³;Toðnn³üpû?Þðó“ {nìÃqcwÿO89ÝÜØXØÜH-D"©…å…T$B@ißüÆüƽùù{˜´Z¡ ˆ[Ó,€p$ åôÀH(´¼ü‰0áøåÞƒÑÈG 4Ïž@ L‚Eì ,©Ä—$ˆ6›Ÿð1ü?e+ëå@¯é®w0 ˜gÕ?a¿– -ÿA4„-0¦lå«ë L¯žVTŸ(¢úˆŠÿ™]”€ŽŽÔÌL¢Æ1™‘`Æþ'ø¯4oÅx°ÞÈ?ÂôqÎ<ØþWO½0=9Y#òŽPuãE¨úî,­Ä¼ãï#õÀ`.´ ¸67¾r:>±K˜›©`Dëø´-ÿ¦íôMŒÿ1xå¼ÎŸïáÀÊÁ++çX8p½,Û< %·’ÅúŸ…¬ý{’bá¸ùOà_YOÕ? _,¹á6HGøo·{ÿôâ/ÐÐ3d– ¦ÿô¯5©€5ô¢õû€U„ÎÆ†ë4XØÇáá-€XáÈÈÈÛvýˆŸ ½r¤½½Ô±÷d ½iw€½{K·ˆ(\™Óó`< ®Î ÒΜ«S»œþw†Gg„4.À‹¿4ëúe,þãDà1Ñ€€j@U™AÃQD¼¹ØTg蘤E€¬¼Ö‚(€ƒ“¿97p"@” -ó߀ÏfIÕR%Ùóï²  ¹§§s—«g¼©u|î }ye¢¸-,(T- -{ï]t¸Ðþç¼W:Øfb×?Æ~$€€£©dppfòùŒiÿ+pz~&'G7ƒ”ºþÓ€ÁšŒŒêêçqÃãð¡¡'}PUu-çAI{W¤`ë€m4’C/TOOfÔÐ)Éè5Ïp *:;Ã,–<‹ÅÒ -nË0³ d¡ºSƒd*X~ðüáª#‡»/µ-å³QÜ’9ßl³qý¿tÓ¶tú&¦7ÅÀ… ÝÝ—²7g©¹ÀWVx`@p€Çi$UÁßZZü§v’¼ -ð$ýê…ö/eFžþsqkª¯g´óÂÇ+üðùª±covòÿâÙÕ“Öh' ky€<û×q"°ãA€Çû:ƒÙ †w¿ß¾·øaqÀF»Ön§âÙ#Ʒ鋨3€âTB¨»•{Ñ^¨×CÕA  ¼Bõ„úÿUÑN€€þ_ñ€ß0À `±ÌÌÞ?è˜UèWo ýÇÊÄ hØI\c÷B@ F%¹¬˜() -°£Š8@Í5Œ&ž;÷î€Ø(J%¾!~ž$Ó2œ—8÷gZ== -•ÿÍ/A àrõ÷¸C­®/4(R¤°"¬ ÃèX@qQíßåh 4Êáì1€³¥³QRœçnE -H»RgŸtÖ9e>É UÀ¸Å%Ï…Zç°f€¢¾}(b%ƒ©"nDáí_*Ä*€e"b1¾õv(±¼±ø ûo½íûÑÉÌ©†ÿ‰ãÏ÷D¢ÑH„Q9Š߇ñ?ê|kœ>3Ê{Ë ÷6–£øFïm¬¯¯‡âÌýÑXÀ.€ª Œð2ÀÎ%?U €¨$Ì'7ˆ‰eHÑ€câÚŽ[ðLp¬wÌ,šÿ~<5^“Ñ»¨Õ¢Ú‡ -0fÒµcÜúœy¯Ô¡Õ±!ÒÍa ÃHrj~0Í(^Áè_14=]1C%Î 7ˆ"€n@MKÍdõq^Š;>T~¼¼âIÄÿ¡ £¥*§ô·t¡ÇÁ¤E#'ƒ À6$“ÕôX@Ò!BZˆ`*oh´¼b‡€e…^Ê[›Ðøìo'hY!ȯª:œ×Ôd9x˜¥ìû î‡@ìU}­™ÊDRãòóÍTýÛ^¶¾yú"¶/^¸yt«p¾¹Yí\9xevÀn ?ÝÜîÜ;¼óÏMUÈÛÿOÒo>7·°rìý•ä -‡›ç¸ -`ª÷z ™ ðó Ÿ×QÝð}õ½˜]32ð‹<Ñý‡1@ûûíŸnwÌvPý¯7üÕoÿŸŸÆÞÐ޼­·`ÓK1–ÒþT:`±*tÜ2ލ1zVÿÙïõfF{áûKèoP×ÿϨ!€ufCíì" -í?|ÿ9@…þôQ&tC[Ëø5~nÐÔ~zÈ*1(!âKÈÀ `r`ü·‰Í€ç¿!ŸÅ¶BUà°~êYBg¹GéñxÐð¼Ô/¿ÔÓßßÔ:nù":ÀQ·"w†Ç·VO†€ -Á¿¤(Š$Iò1©[ò8%ø:•>g§ÓóÜnKg‰HN¹O’»ÎñqyÂÒ:g/ZN›Ö°Fþ‡«7¨Ä]#3¼dŠ>)%DA€ `/•¸MDàs+þ1»Ÿúdž©Ì†Ì†=èþï»ñûßßð-,lDR„ä>_<è§Š?곂`ð/,‰,¤Ð ˆG—éË­ó2E*mµú~vù82…„0*rƒÓ)A;ôû]›ßäeîÐONÌ ¥>Ì’M| Šînjž_ñ#²Cÿ¹™*ÿ7å žŸÏ=¼^þÄéµ8õĸÀç:ú?ÂûÒÇ]phL`&]c¿¬™™É¨žŸž~oèøGÇŸžžÎ˜œ©lŒ•š`€MAfƒB0=t¼ü8È"‚+žtPUÕQi$¢ãüm)Ô 9¥33ÓCÛšLNfLÒc‘ÓbÔØÌcGK'¢å U4íH8ÀF:K“¥©©©ˆþ^ -X†öÍ9Ú˜/%B¡¦¥uåÊ•æÆÆªC%•UÏÐDÈ;¯¦7ß px–“â X4ÓKKK7—– r‰ÝÕÀÕ˜ÑÛÛ®C’ôM -Í?–ÿYþ'ÆOÖocþ\±òW¯^>ÿtô -ü§+[âz5Zdh·¯®b¬¿úmÈdÕ­Y‘H †vÛì'Ò~ÛgÛu³»ž·Î¯×ûýß~¨°Înûm?úÿÃ7mš‹í¥¬Ø[ü‰1¿ÇÎ@D±këè*,9 @¨ÿØ0m$¶Î,RMo!@ªòoŒ_,–-–l±èµçš¼F#@¥ñ¹Ê\ÔÿÆç:ZZÞàÚ5gã´žÀLËÖvF ˆY/'ÑeÌ<†qZ˜&ÿb™©Þ_»^–ÆŒmF&Øü+}/ÆÀˆàE@ž;jfj&Oÿ ïy‚µçßÎÈ €,Ô–j m&Á „!hu5ÇWp8\QÅÿ$u”±­NÉÚÖ&‹ÀçáÆÌdFMÍ`‡1ÿµï}ï&1"<(§G`G:Œÿå· ÿAšŠš8u7D¯›Ê›Ê-–>²ÅïáÆª#‡ªP—+YÃü'h¶a4Ìvñ0Œ³™ó—lu6¢¶›Tþc àôØ -€[—ΧW¯¸Øh@è¶mV•TÑ(€5€OØ/žÀŸ'¢jt}= Ÿ^«øïõ¦[B¯-Ó¢Þç(ªêßwÄ®‚: -ì‡PÛ> ÌK³_N½aØàÿt ¨ñc#vÿˆ~X?<¬×ß´ ëy”pŸ|¢ ÐqËŽméˆXñW'Ò€êjÅ*¸ƒ @ØƒØ PHÿùŽð“1æe‹~”ü<0b Wø$”ªÄ褥øÿN˵šçøÍ¹¼¼ò!lÍC>Ÿ¨*€äèŸܲ"÷` ‹YPô»,D¾À.³@þÐ#‡ee‚ÐBVW8ìFп j?…ð¿ñ¬ì”z$'•þ»’Ô×}–‚© }è)ùcKÿ„¥i®)8—Xn€˜ÿƒ<¼î %Ö ü79òny5 -À2ÄB›©à|ð³·7R‘ªËaæ?u¹á‡{2}SS '÷lxë÷û|ûgú¢S˜üƒD¦2}>â˜àåþ¬‘õTåû™õg?‹®ß[€ñß= DBqä‚p@Ð2¢Ð Hm¬ïhS!à•VNÞà Èf‚ÐÇ$D 9¿ù³fÍSftðÌc˜Ðج1hqƒ¬ß €6æ×¢¾ç.€ ¦¦X[i©õŒ³ؽô!õ,Ì«žœ~ž.CÓÓlûå¿iæ®nð®.ÆÒÇ [Cù79Åÿ‰¯Ç9 ä*~1­=m{”3“13½ ŠIúÈÔÿÆ×^{íû¯ým¾©£¥fòÜ4›¡îÈžgY(·´–7Ý?ŠÊ›è]y–¼—Àêžóßj>L àPÕ!´ecC—^{/tÜfùMÖ(l6øþ1*8=zôÈ‘W_jnnþS€ƒìtðà€[UX¶_ˆ è/Å’ÿû€'îoâ€èúÁÅ?ð_Y§¡ß«Õ0þ‹{ü'†‡Ír~ÁtŒ:äưè Š°÷A €ö÷³Þ?ì×>̰¸ØôöÈÅ‘áaó°m˜®z½qÕ1HDâÀÖÛQx1-äõ?›6€¼PwF¥"X¨&è,¦-€·š, ܇P#4<àF€Ÿ×í^;ýYõM^&•ûÏU–À`UË3מ¹vðÿào@òÊ+š*¾äÿ+ïÜŸ$³_ìwMðÀ“Å ç%&.K¸w(ø8_Ü-0ûWò”côZöÈØèSº7,KJX†ñRœRç„3€NIîCbð~gwÀIoÓíntŸ „Ç»$yÎ2>+ &!úÿG‰6S¡ù Uÿ{„ÿ0Á œ ?\N¡@`ø™[€ëhÛó¦ž5óç?ÚscOC&ïÿŸ<ùÖ[T¸Gèj]ðýãT<êËDåÏæÿSS>ÀëÐúë ok´«©ÿ‹ß»U¨þào±  ×\ä¯ýÀG¤ è(µ _Ò«"€a´ê *øŸA"ÐL„èË ˜àÿWØ€€j<Æy€3÷ÌX -DÕo^¤3Ç›ª€Í€!".ÔØM/þ¬ê÷ó ò9aØÑü€sçÎ ¼Ë‰À_û€?ØR$çž~` €l:èouÿ:¸Æf¼ÛþÒ×ß|ñ”D°ß7çv - (=’Û-»Ãr—[éTdYêTœÒ1Eñ8;É©tÊγôÉ™ý7R·³›î*]ô%Ž[p»-–q‹%¸ ëÖØ(ùp [þ1è±®Šÿ‚ `?€XÁgl5…XÕ[/Ÿ¤²þä>@?Õþ'2oÜ@í2ЧÐø¯™™™>!ý· -è°FÓøò2a{$’Š 1‰§Ö#qôú×yÒŠÄÁ'迃#à:–ƒ¸YÞÁx€M‘˜B@`Ù?\ä'°VÂ…ÅÝx°îÝïüG±ô‡€™nÍš±­)¿xѰûM1žÐ  :¾í®£ô®˜ÿ¦·±ÐkÔ•üíýÁ–Xþ‰?a下=è6ææô!¥¥ ~/Loï%ž1™÷՛沽YŒ£ÐDÐÐ瀌tC`"89öÚkßãËkÿZG #;Òý ø_!ø//o—–ËŠ#€ÔÿßH:¨2óæËì^Ƽ¨FÅþ—`#¼|S Àö£@ «9«ùõæûžÀ®st}ÌM@qv( ¿úè’kOâÉ ÌDu¬7—Ð^´þës¹ó¯ÞòãŠÀÖÅktpðêÞUùðø µ 0›£K{?Ѐ }µÝ®÷SùoðûßvTÿ’$÷IÉÙHdÀéá·eªÿqËnËx¸n™Àh$×)±øÐçõz"µL¡XK%xþÍJ@zÙ¸\NÜ{ø7¾üÆ?| Ö}™?'XoØ·çd¦€ÿ“{PþG}ÑÈB´á߬Vxkƒ jõOŸá‹³0à>Ê©?Xú®©XŽØcc0²Y_Ç(`è€/÷íŠ øG8@JlìÜB «<@؈§IŽHq @­%ÔìäùÏðXØÆQ¦á@€ØÍÛ@Ïa/$€H°Ò*˜ò¹Àj\àg‚9ÀÝA‡VËlÔV#£qp°£ž?ì÷3:L°rhu9wÛˆ;èM:Ý`)ô«§_Ê۞쟓s«§«'¿òì\-:ÁFž‹˜Œœ}”î|Ög¡!Rƒ acÇÌ"|¼ö¯Û2ùƒwŸ/‡‘àN|oy–1 ªKÀò?z÷ÀŠëàÒÍÐràÒ!f¡>ób¡n†º±7 Œýgže@W½…&Ø ü?º¿û‘#—²0H/¸®À¡ÀGÌ?Ø„b˜À“yr?²ú^¯·¾ÞkªП øgnµê(@emƒ¨òÛ…ß´£ºoSëtb³m³mD§ ÷Uà¿£¸=W£÷›ýмó‰ý?õÚ~ -€ÛÍat†õš[·JÓn€éÒk à};vòáh6Ã]À\§G­_Wk^â ÀýôÄÀ\ËJ@Ø›q³È™Àµwé a¸¸X¦ç&À˜Øôs @~™&Ÿïåz{+^`?ë'*;JžÃ€tþçä¹sÕÕyOVÆ“«HÏ - -‚E?}Ê%c [é2‹ËµËÒš¢ ¿Í/-w‹®ËòÙ³ëœ tºÂ2¾Gé -Ë–ëĺ,aIRÂR@’:'éF‘;)pLB*`·e@·VÇÜ]’âV\pškjšk -1.³¶ík€Éµ žÛÞ|Ïs$ŽjˆFÀÆ–à!´~ëþÉ—™ùÆ™ºí;¹‡ê~†ÿ†”ÿÈû£)ÜîÉŒ³ùOC*Ÿ5³!S°P\ÕDE„0øðòE­!n. Ø_gÛ`^6XH­G°  Eà °>¿cÛù,dc`ì¬ ¨O¬Á ˆ®b •îŠ0Yø¢ì¹ÌüT>A¯ ÌN°2h½õÔjíÚÂE­.gZ# Mm¨äM˜ý—ê8&H+Bt±_ðv4L~øÀæÿ š&GN[[N›©”-22¦0T^1”ñ°?õO¾]TTôQáÿлՓt|ÅOòB»e|‘\=$€Ï$ÏOÏp²ŽèQǯ^ûÞ;L–1ýnùN5ˆ`"”ÿB€»xßJÞÊÀAÆÿ¼ÔœÕxépãÿsD¨ž%(£·fŒkÿ11 ø?Í-³íô’í4€ì?ZÙ]‰‡››_WC¯t­t¥–Ç;Á¡ °¶ù¤â?a•³„óDL˜Ðm/æ&µ!`òzï#¿IÜmC€ @1GB -ÀÀ߯ö?ºYD³ŽÙâ»üXÜ®óküèø‡uì}ä=°ÿf4€æá‘ÂBøÅª(ûÓ2@ñRj·Øêl<€´SOÀ?\§®ppÝs­ºûÇ à?&  À,"€kÉà¿ßÀ6\Càûsû.PäšzÁšrs÷sK„0Dï píüsçP]þ ø¼'HÁ   ‘e¿(ËÍ=èÿ‹@–'«ÇÕ:î·|Ü´Ö4çroï+Ÿ}¶q|®¨hîºóoæ¤7Ö(2úÿn·–Ã]n·Ò)KÇ'ÕúðV&ž=«Hž³NÉé!Àÿvº‰.úw÷¨åc×ÇsMÀÿP‚žÙkÜÇ~(H-S¡{I,+3ö‹4 Æ~¬Òg݆î¡g×åoýõ_û|S™ÿÍ:µo²DýÿV&•ÿ<²Š)@„Õý¸ñeNMñ`*= ˆò C¿U~ã×Ö]ÖhÈ}Aÿr4ŠÅÿu^ ŒDS¤…8 0… _æwL €Ž ïl²!NŠÉµÄòï`¬2€äýÝ<°_l€FÏÒ:ÍSfzÊæ—½I$Ô]ìñb™NbðÌ5••±€×°ˆŽ¿ÖÔ¦ÕÅîÒIì.zÿñÆ6ü ”±_ç 7€ö›£MçÐÆrt1‡IW:3˜33ÃëEÙûOŠMý°>q‚ †ª«‰8pà+}ŽßÓæ{íZ»)ÆžH:ý(?ø¼,àŠé¡éÉÿ¦ã4îܹsæ{?ίá Z°Pý¿"(ÀÖ`«`H/ôœï9ßÜ|øpccÕ‘’Ê’\#Úÿ^¶}È/3cÔ`~Õl` €`Üü¬m 4 7oµ=Z¸¿2·reå:.ÎÊÚrrapeq@yDG—$ŸØ>0{ÚåæRñŸ[Ï"Ôü`¢ò‡PHÔ‹–…±V#ÿPýÃâ§@6ÿCÞ -pÐ Àì–pq» -@^?ì7~2Hܾ7rÑ62Ì[€6›þmÛÈÛ#ºöÕö-+€ûV€˜Øáç`Ös ·fa¼´µ vÓGÝV Á\»xFlÿ³ðââ¢À°Ÿ×ÁÌ ~3΄³%"oNx{Eý$%c%áÕ;U×®¯¹và@ÍÁÉß¼[—7ÿ ØN `«(*èv¢_žh”{º=ÿ³³{äqË8*]=Û#sÊ˱;ð²âškº^ÔÕ'õ9=Naùx8|Ý},|,–»¸Ã?A%?þMJA -v†?ìup»Üý–¦¹àÜÌ€þEÀÃlk0ÝN7Ù €„€›ÖçS·ƒ‰åGˆƒ—úÓL_þÿ¼ïÆI¡ügü'Øçú?ÎÍ+½Iu?á¾/:5•9eŨßJ¯}jòŸ5®ÎTk`ŸHC<÷…|™!‚{Âþ诉,,ð$`{‡­Œÿ¼°°œ¢k$ÁÝ€‹éM®s4@BXá«&ÖBL%Y5™Ü"œ»üEð¿7ÿMs¾Æk.3hÄ&¦Ìï×–iéÉ»ˆ~¿=¦¥âÞeôkì¼`dW þ·™t¦2ªì!èÐþuF“I¤ä0ìþµ±R­Nk‚öycƒg2f2ªŸgà«x8ü¯á/üĉðŸ.EMéúÿ@Íš¯ò9u³7¿ˆè8É€G/TTü}ÅôtÜ¡4Ž1þŸ9ó½ï}`¬™"ú°CëXö`ø/ßÒðˆWÆà@3OJJ*Qžq;×›)8€¹LìÔ=ËÀ:lràæiHûsÂø¨±1+ëpVs:XY¹²¢jÆòB}Š{bÏí&z”æ!úórÅïU¿ikÕ‚ðÕK7&`ýì*€Ðâ_mo×ÝOà«™|b°¸Ø¡µkX ýaÐÞâoÇ.^D€êÿ†o~ )ÔͶ‹\Á½÷"xu$DƒúŸ»ÿè` ¯ƒþ÷êØ°Ö¬¦ñaæö­¡öñ¿Pþß :¢³¡¬n̬!ü×4~;8€@®W,ä¦)@IIÉUbt\«B  æÊ¹s“çÎýiàÿcfÁ„åi§KñÈ=Lø/ey<Ù==Tÿè'ôÉåÞÎW¾^1±;pöÙ§Þ쓜Áàèè8üŽM„»ä.÷‡/¸~À|ÎwJò1„èAgPžUdÉé†o`8ìR\áÇ?&€<Æ/:¡?BZ&¤ß¼§6þÕ¤Þ¯$Só‰&¼Gd…þéG?ºÜðŸÿ—·ö©ðW7¢ ØöG}¨ö§¬ QžúûDåOåþ”OŒ|VÕ q" еT(ógS¼>_XÞ@ÑHdóþõõ/®/c_ Á‚ %”ôy˩쨦€)± @d #îlÞƒ|ò¾!àjæ÷jlš—édÏ®%ÂÇÓïEû®L£-+‹± €OLÀë÷›Xc!vàèvð—w!ÄTð_¢ãö?·¸ô7ÅbZUÿ1 Csظ&''czš•o‰?pÿLnÅ]Å=‘¾T”W åqù_SSsí™–¯ð9Þk·{¡`S8Ïd }VÀ‰}TQñüô &F¢ÆŽ_¡@øÿã›æ–™j^Ø—7°bQ÷,MåsjÀ":+D\Øh 8|N@%%b ZnQ%÷&s€:4‹5K°¦èi3¶l§óžÞ¿®ø%ÄJ.U]:|©9 ªBÿW\+®•÷Ê㩟ôÃÔKà­?/Æÿ&–ü3ð·©ínüC€…P¢Ñ¦z¶cþH ÙYªüÛXô×ÖÎË~;ü±ð :íųv»fØŒ€}ïÃÀ-Øþß„àmýðÈÈ-üŠˆDÀ½°B‹u úa3›úÍ0¬3Ÿ‹u†3é(`zY¤ [«Ù„òé@¾%‚”Qí`vˆ?" ûŠjL½èÔ ÿÄ\˜¨ª*©ºJðÿN6jþf2oò°} €J'‚ÙO_'ü—„ '+;;[†À\«Åå -Î5yzÂÛùÊ’lQvt»ÿwP’]îq·Ûs €QÅ=w½ â>Ù9倾l®þåN¬8ÏJÝ -’¤FéâTŽøsË]’ÜïvõZššæ–×‚Â HͼýÓ$ÿƒ˜i¯©i¸ê µ–HmΧ¨¶m -¥%|ýçÿÛÿ¾çÏÿõ÷7ö4¨ÇTà ´ý±îgõ4,÷'>0•ÙàË$š‰"?­¼ˆþ¿5î#.ÏŒ¦" Ö(L©ÖD–aÈÙë ‘ø._”1H-0 cãÞæ½‘¤Ä#D8B’÷(a -È2ÎWØšü'ñð=®qzs/Õÿæ§Ìªý¿>€nà•a“Ù¯5ù5ôBØà¿ËÈo÷ÚY Èxo¤¢^{×ähûeYÌ(|‚ëØ÷3éŒØFv4µå´9à€êÈÉ™©)ÍÉ)Í˜Ì øÿè2`ÿÿ“< .H¨Å?½@€úŸàÿZ ,DžùÊžâ¹¹ô0€ˆð#€÷†ŽŸ8ñhü'À €Òßêbv­F;¸¨©%ðãê -[j2ªÃig¾9ìú /@à¿El²[€ãlî†Ðt 0‚ÖÁȬ)ÝþÓà)€yÉ–O<À|ZxœÞ_¸®xW¯vT"Kàp#ZY,„€áÿÀÊÀxÞÀŸþ³èÕ?ÝÔ åÿ} SZõoò~b ^ñ#о—ñ?&T€êÀ¬1¦. -¶3\ó«Uöí¿Ù¯ÖǾý µª7Ž\Æ@?|wˆ -ÜrÌ®¾ïX}0 P¬Gô8̨ým,Ôëaý[§?ƒ>€Øà6€êþË9@ljõ=À]Oˆï÷£ àgì÷‹ƒß`^¬-ƒ¿´~¼K,A ØëÕôBbÊ -¹•%Uجê¸ZõŽÚ -ðOõ¾^ ­À üg]ý²âÉR^ò@ @ @~ÉÓ?ÞTdŸh -Žö+㣟ÿ…=Ù·¥ï”2A¾»³hwLÿäNyÔî•ÃãîÑ.¹+,ÃH–©Ô÷ (€¤Ð=g#dR@ -ÀJXî ‡»²;¯»” ‹eîcÞb¯‡ÇÿmÁŸ0´Iª·Æ·)6ÁK¦šè^Þþ÷¿~kßɆïÿþÆ{Pÿïþ?ºAð,D¬SbÀojàúß7‡ k”‚3§Ø Hôv©ø$í #Q,F°ˆÝ€HjjÀ&kók|9r;Î)‚ ›ë;cÒ¯ -˜0ÚCAð¸à5¦Ò-€dòq€·;_£é5# Œ3‰µ?¥vˆ¹úǼ~»ßK˜E\€ñAË2,² ù‹ÞA¶ 8o4vP™_"²‚yï«hÜÕ šè=ƒ*–qL¢ûÝ;ªü‡·¹ÔúŸñ#ÔÇCTÿ øÇöpKKU‹ñ«zŠWz 鼯Úáëž339TQTðˆ@A€¿;>ýÞL©#‡ø‘ÉN¡»££r¾½%'§z²º¢¢b‡ü6°°baðÀ* $¼àb@ó•f¢ç=‡_j—vÏÚ4Kðµå›m°Ì?š{´’£Ý®–p/÷Ò¥Ã,-Âÿ´ oÀ’÷§BÔe?“·×$þEÿž#0pkJ3mz€7ëEÒ&üt¥ºžžƒím¼ ›ðëT @±š´ÊN@p,.ÖQñO¥º­Ö~_Í·woZÝ¿÷êO -‡‡?°Ý®ø¿=2rkÕÑÞ¾ú ß¾5RHD@¹n˜€HWVÿy•ƒÔ(`!0 cààÎÛÄî”±/ðân”ô~¬èˈ^¸ü_Ä2 `0âIìTæÒ_ÍÕtÀª€ÿ×jÎ_;p~þðX#€ô `îé³ã2¬‰HYÙØ|Éó’k.8géq?vËîmÌ}yN HXõû¿ƒr_„rØ2Úåvwv)£†Ã·âvžm–ŽÉbã¯sBU°= ätvK}J¸/ì–Òh8 XFÇÇ-ˆ²0o®=TÉÇ`9ˆªmCu¶}à{XЇ áÿÃF—¿õÓÿô÷N~÷û„ÿûö1þïüŸµ|0üÀGEãš?êÿL«¯¡aŠîì‚ €µ€ý(Ü~£Àÿ_G|ûûvE9*8²F8Mf°`-Í|Cqñ¿žn¤°0po'~ë©ÍÔÛÿˆàö$ÛÂ)[†€óI‘ ðl:46s¯Á¬yÓŒ$Oî˜Ç4<(3q±ï%p7ÙïŠrÕL}ƒø_«‹iµ¢ÒaøÁÁ¶6çQ­ãÁ»&GN é?53ï=ÿüôóCÇ+8<‘V‚*û+ ü«(¯¨øh¨ñÂw.9Ó1zA¢èWó ·W¢°à-À™ ‘0ÿ(üÿˆñÿvD2 -ñÀ/ v»¶¤c†]+v̪î<ÌÊa¬bi*W%ÂCyç¿êþ÷ˆÀ! 󱀦¶ÆkâæíSj,„Ù€Ñ|9ßf~9¿nɶ”¿”úâÑýû‘‰SRyµäjGáU㥬Ƭæ,¬^Y¹²‚]VÆò,*§v“PýyUÛS}ý-w´vuPtÐ9ÿ<Ë[„éƒl¥18«VÿXÚ_5Â+¨]‡ÈÀ4X]å˜@*ä5ˆúñ× ‹ÿÐ xïޜ‘aÛ¶ˆÜ6¤ØôŽU,ì-¾¯YxÏtë¢ÿëy`¨æ‚~*ÿÍ¢ bk놅ÐP[ëR‚}ƒßl@"€Ê?bÄ€þ|…ÀoÖkôa hæ*ÂÌø¯ñzó½…^;QNä-ìT^Å•Àµkó߀퀂OˆE‰ì§»d™€ÙYRvVv v€ãEÁ¹~¹hÎå[>üÜ/œuê‚<ç&÷tz”³Eã§öÝnYv[>u^µ|˜G¸~lŽÐþ,+deBV¨ø—¥Qé”%g·Ó)uö;;ÃÇ$çœû”2îqÏÑ$p®AÖõˆ}u®õo£nÓŠ­ÍsÌÞü|ˆD(”H«à>9þãò?ü¿?jøýž·þœðŸ9Àž“ÐÿÅ!ò‹7€Àå‡ ´¸NÁ$¸Ëÿ7î[ˆ9@\ˆ…ÀîŠð -@”Ð}!µîBž@¸  µL{›ã˜,,§à{;ã ”S€„ºê·É=\Rp ºo‘•Ô¶utÏÏïí5÷šÙȬª^AãǹŒ_0ðüqŽ3rÀk#ìÓA -PFÿPV†h½·­Þh,ÑBã ·S 0*ÐÞµ™b¥9ËÁ1ç8pÑ¿à“š¯5õ]xuâ«þÕãDuËw.½ðã×TuTa‚XuõPeIîWñ?„@x£9ç@˜bôC¡ÀÀä#ǧ§grrرÂô¹:£ÖØ18S= )ÄÐŽ€<^¾(  î 0>0àf ãsccã¥CGö—ÔWÒoNU³y9М_ö²ø«xY¬½l¶Á0?ÿ(Wst"'EwÕ¥K‡.e±ÀÁBàZAàOfÀ»~¹Âò—,*û úÛ¼mmê @þth´j*€·×ÛFðï€Ûÿ,þƒø8¡Љ$€ÕUÄ:fuí«ª ¶°€½ºa¿axØðÀàV+€`½}d›€7ëÀê–Ð,¦/ÁÁ§²‹…#a€Í_W§§O1 ×üÃõ©®¶îÕ3¯B)€yxXíPý_ç§Â8-Póðý˜þ3ð/š‰”™ýfyÌ @: ß«É7åÚváŒà‰«HŸª¬ºZòNUNÕµw®ø†¥±Ï­tv^·ôIrv~€<@ ÅIh¬%×yļ·9¿†LÜÍ”èn«ûkók¯F߸üo¾©ï6ìûþ[„þ'÷`p£!ºõEÖÙ ꛊª¦>út“ üÏLwÒ`Wz u?ü~ZéKÔGSì „é?6 ãlöÚ`_€¸X`c`,†ˆlÌï €áý·¦Nl°å0,…äÚæ6ëÿ£Ïå÷B¼£1?eèeÊ®)ë]ìeÚîÕ Æ-³cì3jý¬û×¶icœ -L5ŒØ„Î ‹OœlBqÛ6SªmspõÏ‘Áp¤n‹™rJ‘šCxWñÑ ®þïG[ðÞȸÆ5 ÿÓÕt¤ÛŠÊ ðž»ù¯ÆŽŽî=—Tö|ÏolÍÁܼÄ3¦“]s2¦=JˆðŸN!cBæ CrMF5ÎŽ}0Ä Ï2TΑÀÜÀ À@ÞŠKTƒ:täPåþÜzâ3F!l÷r‰mn¼j«ƒmi)ÿtþÑJNÅ­4^58|©ñ‹^:@.ËŠ 2 ^ìù«Ã?÷þé©ÇLý±(t€éÅÅôÒƒF0]ýóþÿ¬#6ˆŽiÚ ˜ñŽt¯}X?Œ¸_ÇÞO 1X¹…€~xéfæKöá«DÚÛﯪL vkdDÏ“uÃÐý›ë†±æ/ºýØøÕ«µ¬$àGq-&Tþ×ÖÞÙR.òð? ÿÑ -Nƒ•fu S¨ÿ9à9£±¤̱’x|Õ;„ÿB €/›¨ €‚-´<pËÅÓè¡êŸ®lÙ“í±Põ?1ü°?üôÙÏk§º³¥¦.çYiBö8ÃA%»?l!Ðw‡?œëïírHTÀîRÂ〪Eê$ÞÁGcÀ”ÝŠ|V–F΢pà:¤„–¹¦9$×Ö„ðaN)`þySDò#wžEp¢% -ð‡Ÿ÷€ý­†“ßGõO/ÄnøÖy¡ßÇþÂñ ódCš° 3ÝØÅW믅€‡¾8D€ô^(Bà>ÔüÄ·²ÇÄîmÜK.,[oÇãqöb 6–wÌP˜ª=€$¢’ÐX.vª´n ›kÛóÈíÝßGõ¿¦×üú¼üæ—i¼fw~MÜÿ`úãÕêLÚEtLZa~+^ W@o =?bÏŒ^£×ÛV¯5•–š˜€Ä¨þ7iï¶1P -o:/=ûþÕt+õ`ø¯È›®®Î¨žDªPEËÍÓ7mzÛÍï}oЈ(^€OIåW 8|èH%¦ i€FÞr­BKãáàïÄà·ƒ9:ö b…„  ÞØÑ’#¢wî\á0 g÷Ùc¸wºúÂa9Ü3ÊŽDÁ¦àšj´ö0 W·PßòZ·¶Sjk€#î4Oå¸oÏwö@@`ßÉ“ oaJ÷Y£Pù˜ÂÆOÿOžÌä)€/3=  wÿlËøuÀh<2•‰7–£—ãú§P$±úþ;rƒáŒWü XØØXÄPIÀrD(B;´‹$VIˆÝ@ÁÐYáGé~ C€m0€ÞJªÿmPrá¯Á$@õd zÊ -½?!½ÝWË%+ëÞ…•ô1¡|.g¼z¯¿¬íˆúk+Å&Ú˜ÖÞv·^ÇbÈþ™©~þxzøŸÜê˜ ü_»ÿÇ©ôÏ@¤ Üsk*ò oÚòõfÛ¿¯3ŠàO>Dsa¡Ýd'ÄÔu0­É¡ŸjèDâ6@„ÿ?ô1f¦Xs€X®ÑØ‘S3Y·“ d©y€þüXœ³ˆ4 ´8¨Y„9t¤d?F³Æz¦u" PhB5ÂH#Âã¨ø¯3?m³ÙòOæR1wËXY©»Z¢;ÝÿréHãá¬ÃYçÓC0€ñÄ”oüi“‰èm="1êyݯޔ^hnÜþ‡T*-úc¿ ¤ÿg8µ³Êom4ïgp³ÚUÀ*á>:ÂÕDolëö> þgø%xï֯ؖ†ë–Ó—ˆ °Ъ£øÁþ?Ýÿí-{aáEv *€Zƒ5¿Ù\7l6ë9𠺿ãå¿ÚaÀ=€M^¤í"ÿnøýwXÀúº~=ëx €Y"J4{.âr¡ÌVxúb% ’ð¿ƒð¿jþ°MPðÀ%­`1É“È&(¿@ ;K¶p÷‡OK}ŽЩS§ž¾àñÈs.E–û]aÏ\0;ûÃ~÷ÇyTÁ8:÷aÞèuùX¸K¾î–·ûØh‚† ”R©O’º¸u“ŽS»ÃnÙí »‘J0×´\°–XN[­}!IÛÝñ6kó›kÜx„Õ}ä6ö7öý^€ûN¾•^ò~°ƒ(×ÿ¾)±þ× J.ÿ§¦^ßšˆ@\eø„]¾¸ïg™»¢0Ї8(.DBôe­j шàóH €äà6ò„>Év¨Wàt4 ýPÂWB]Àö\ª`†@¹û÷?‡ @Moo4^cfŽÀÀ€Ví&?0Þhò.ú‘|£µ«ò?£: 7¼ZY™©Œ[¢e0Bã„@væ@´ èªmýîŒ ŠØ3¯à“Øk,ûC¿œð¿üùêiÄ× =‡ˆCµy~¾ñe¯Í`ú4òÇ~rxæðá#ûs±`g$7~›Q­ú>TðÑߟž,ÍDW$fç&À pIîhAàŽâÿü|€À†˜´–§÷¹€Á Yìz9Ò¸ÿ·LÄêMöƒè-+3#ú|sþS˜ý‹D€%ª6ó ææ -ÖQÕQ9÷¡K—@²šÕ<ˆ-DˆXþT€ikÛÿ®—×a00© -æÃ­ªüÃGj´eªðl›¬Î®–¶±Sa~? -G.Z|…U`±H5 ;•ýˆ^1çSù~{÷b×O7Bð_G•]ÝÒð0šúÄ^Ym'°zßP0€«· -/^$f;@}?Kü 0æð§3,8ƒv€-€ê¨þ®õûñæ"7ˆ7ÜထX€è p4½«Œw96À ¢¦?výàüµC‡°ƒv¿É3²ð$K¾Pñ÷ÿ.:¶F`_$цÁŽAT ßI@õÿÕÝyåÜy@¬lË€Ûu°Ÿ[¬<ÔxäÐ~¸7r€5B[/’"óE*àÒRÝ’íåü£G{Uo·JãU:—w\…©Ë¿ºÔx2Àó´Vа„þT€W˜ýäÕÀ¿ºÃ[‚Ä4Úæj`©syÖ÷·ëtõ°ÄBýßÎÛô -aí`ö®‚` Ð1 ŒGe=òú«]â·.¾=ÏÜ -\¸ˆâ²¿=ï³Ë, ´ÛáÐÒàÑ–}Ñ–h|_Ü~AŽ·Dö¨œq$ À p{ë°üÿ–†u_n9uºæ·š ?y«ð-`æ‡-À„S¬ù#*sËÿÕ ÀFñ?‰Üà``µÿ‡)ÀìlJ ‚!ð$Lg‰M)Î Rà \] ZVIAô€n#"€E‚C³ŒÖÖׇ°¶ -@ pgNÉ ŒøÃµ 7vþªû©,//?T¼ã $üÖÕ'½ì -³fGQ@Ûy©ÀÃÈ`‚¦É»l³É€4ëèÅHŸ@à§†Š†¦i™¹Mjn4>̨êkÒ"&HµË©Ë™ÞËæY®GüŒf¿Ÿš^¨gnÝ‚Œ×c1m¥vÆ`öÒƒ²èÿëJ¯Ñd6y½fSí_»s|ýDE¹ÇHç4ÓùY iUðEÏÒ½Ÿí… ÀÇÂHD"ÀAˆ¾ë}ŒDr¦‡.07 à¶<p0÷¿sC›àmƒþA?œ¡Ü_Aå߀æöi¡´ºúXÈoôK·f€ÅýÞˆÛÚíî ê?dz¾®§€ -Äࢠþ&—¸ÕÏÚûqùçŸmýùü€KEÝ”ðBÐ÷fÙ0€›¾ ‰-²‹€øB;oý1ç¿"ü¶_fy ߻һŠe4½á”µöÕžŸŸ÷ÝÑ+£npÿïeÍüõú÷Eäà†  ŠÞ7Щ2x@ÛO%ßP/R^nlü-L€ñ±þƒò§®£}Ô÷ú?Õ_U¸ëÿ‹ꯉ=@ •ÐÃK"{„y @?sèZZÏùŽóž¹¹Gà[TŽü?|[òzºzººò»0ÈË“3gó£KEýò¾¼ûW#€¼¼¼-¡¤ßß?H&þ“™@’à@&à¿8ÆñøÎ’qz÷\RŽ6:ñ(3P" ødûìÏçÙŸí´G£0|~ÜÞ 'ýç h•L|ëø—}!‘ÒEtŸä^ú„ ¶ë“ · 4;SªÊ¿Š¸üã®ïWló:uc–0AŠZ}¨x%`Öy:ü/¡á¹ö~òêÚÈþYVb êüúúU•àA2'©A€ºÿ~„Üá^¿Ÿƒ„W²XBŠ5v^þŠú_y¸²¼øÔ·ã±°Í"ýV‚@Ìþ]¢ûw¡½×Ñ˘L’Á…Ñç°êº&ÍöÀ^¯"̨$BötÙH» ‰@¿F·b ¶å§‡÷>}Ÿœe.»ó/6þkj¨žÆÛŒ¶ ÖÑÑ¡íàÅy­±nÙF…ˆNKè›ÐRx%ï_ûoûõûk Ø€’4¨ã8lT#à/úžá½ÿ„ kÿE<(^¨ËÙõ»½ÃË0 0pˆ4 =æv -` ÀþÞ³ûåû+ªZªªŠ‹‘ØÔd$ЇH«¥~€à$êÿ%V4ŠÀ{–n«ÍÚWÌC3¼kÏÓqªª -"BûO\<ûÑGlúÈá¸þ7Ðã ä®au@À¼õ žö.F -áð?Äà€M@^ñ_¹©5™ÞF 6» py{;[ÿ‹–;ãx  ]£ŒR³>&¤bÀÖþÿK{~ìÝݼÎÿ=ý(”€nË}[Wîéð=7ÏÏMèßÕgóF \âah©§êÿ2 ^Ïw¥~T¥ân0ŒZ=fÿª#pýµz$ýÉ ŒRû¯F ÂHÁ žõza`ÕK -½J&³f»I³µßhóÒÓÇc«ôTvÌ=ßl`tEḢBr(›ó»ºº „wÜãðwžëoÏWÞï§!8$ý­%IGò®c`À7éwÜ-iMÞ- zã%ùBÆÈŒÇÇ;ãq9*_HF£ªÿçäh(jß|8„LÀ£¢!{ï>ÙNõä¹9:`$ïöƒ(âE@ÖÀó ]$Ò|©íÒ'…©Â·²€ªñ:³ø‘oøS©ÇøŸK3×~HÞÈ.²Ð&ðý7 Ð9#§#:\ב 4ËB¸N:g'l5À¤8ªÞÖo‹¤ µ«CV&Ä:€ð|àÔ«l¨p!Ê,Äî?æ+@Kª@à+8€òÊòòâò>«µÏb ?†¢Ï;a—!ì’pIg6ÅëE3(™ŒfÍ2L€$i™û¯Ðþ!$Ȩ`U@â(:*`ûM„‚>V‚iþ Òi#uó99ÓY¿ï¢¹EÖ¥§Ÿ~ºä³ágÐ -OOOïšÞ5<¥QéW…cÈÛ1†Í†gŸýŸÏ>KÀK§[ð’ô×þÛÞ¢¢¶Êc4ÓCà$/€MGÁÌôô—GÒ?˜©.ð‰ €´Ö—.˜™xð!Z08ˆ5Àp& 'ˆT/@ù,§µ9²ÏsÈxkìpÓ‡ É-e€éYÒ -:@ˈÛ:âv[­6[ŸÙl3z´<8_yÞS‹PÀ–S-ûOà?›%èåoÁ -@óìñoâИmþ4â¯A±ýÇu_ãrqùgÀVÀ ø!ðkß¾Ò3ÁøGexô¿½|èEË~€ð  L@ßå}W/é'þ›jì—mè·þ¯ôüÄ»n7š½›{Ë•ÿF‹[Oèî¸z#P½R0ïEv€Þíö²€~´ž«=^ –Æ—-Üü×[è…꺢7y¿¢¨A@õõ‚æçŠ?ªp÷¯.2?@@„[ôtU’,Š Ì¦°—J¿.Ztؼ^£Ícƒ†Äó|kàÞ`n©d±¿7Ÿ€ èÎïÊ颋®Í'ÆCùù=ò8ëô:¿šõ8ú3ýãŽLÒáÈ8üÉq¿?ãpô÷—ôß dçÆ“Ñ ÑqÿÑmw£Ñx  ñxô0Ý»|4*ïÃ*à‘}ûކŽÊû¢‡ m% Ð?o%0Ñß¿º°-ßê—)úä f ðï -› ßb7àÂK þguoFŒÞ>Ù³0Jqígµú_Ô¥N³ -PUžNÍ6§"hýÁ0À›ÔÒG0÷‡?ÐÐ$&gE>@B ˜\‡OÐÕ9¤¬/ð@ÐìiôP¤ÐKk¼ -€Z³z‡ €HN,ºÃû’ˆäÛÀè+LATZûú¼}ÔåéQô-tÖ÷Pø£Q$ÅKÝ½Ä E“ÖÂk¼°l‚ŽzB•:!úó6b2@ ˜FD Ö -«|¨q~ÔÆb33S»ÔòÏ̺è饧÷Ö ïÝ55=ý³é©œ™™º™f¦b¦˜‰Ê%C“1]àòZž}ÇO™Ê¯¢Hå¯ý·MõÿTe¥Ç(€À5TÉ; -r¦†k>û’%€™©iȘÿg@ÚÇ@ {¿nfjxø³š‡[ÿ 8·!X8"è¾D@¡{ge4¼P~è±²Éhl2ÂâÎ*õY\}.vdÀe%@`±4ޏ­t0 >6ö@ @åùJO•çߪªZ**Äà³Ï^ü÷,ø› °øQö±$&€³M&uÿŸù.Èþ€ 3€ìàVJÞØà6¿]\2@l ÇoÇ6¿oeûe/lÆôYÿ߬½ÏãÚùóócŽº¡lÔê'ÜØï¿Ò¨Ÿ5¸/è¼wÌ=A÷5Æa£ðül /7QúYû‡ý£Š2*€˜óC ·ÀHu¨7ü©þOؤÏ)zL(‹âÖ0ðJ²3$¯ÍÌÀlÃa†Œç¼§Ò8÷| €:ÿÏžAé\Ú_R”ÌÏóGCy-PlîÚœ?2² 仺òâ™@(Ú#_øjžQö8Zý™ÅŒ#spˆ.Zï:@äd&ãhÍ´Êã™Î[%Ñx&.:Q˜tÆ£²lÛ[d{ôð¾(¦-G[ŽFíñ¨=°w†ìöè€=ã„pqIÿµ‡FÜžuFRÍoµ~r©9 ­¹­Ð¹°¢êݬ n6à "È5 rŸÐ œ–€‰Î˜ T}² ÂIÁ‘Mì04;+L‡²YB`hòöU‚·o_<˜;ƒCëÂ`ý¡ Èî|ÊrJÕ  _x,ñ2 oQÂè«(:ŠÍ6©Ïlɲÿ’Ëe Þ¦IѸè•Nh -ýÉš`ðç]•\Äò´“—Œ&àF“Y2óä“þL‡ÅÀ J7 Q'ërrrææžÎ.û (ûtMM*ÿ4Áƒ©þQg3UkbÁ´1˜æDPæý³Ï>ùëß?ùk£‚TBÄVøÇü5WÊ+ªÊ_2Z9 -Ý?œŒ±žl|1@†C€c"™ª¿ ¦åßÇô3Ÿ•|öôéi@€2`J6v2  S—^Ú@Õ¾JÏ!ãÛÆ·µ0ºé£Ò¯Æ[“0°"ÕÍbÅP^@î·Þjë³™Mã¼ÑE—§ö|ymÕ©*B-û+À°ðâà(ùè_ÿ…°Ÿ#€¼TÕVûá™/i²»!‡!í’\ ^ÖhƒÐø˜ JÌ @µêÄ >aúÓΫP -` `å2OV.¯xß•¼cÞù,ŸÅ[}óÆù‰õWÜpîã €JèÝZ¸ ÃøÞ70z¸9?661¡—°  µF!õ«¯Ù`±°ð¸ÖȬÔÿ,íãe¨ýYóòŸçŠÞÀìÿ¨KõzûÓ'¡¨Çë%N¤§‹Š$‰Ú~«WÒSÿ?o¶!`îøV €0J˺ÓgúK3]=þ^==]ù›ó©þïÉïÉïêðÛóìG@Ž÷4Œ‡þþ+c“ÉdëAÇjkkæ`ëÐÁƒý­ýùãÓÉqêà·úñ§oufÆí°¦Ú!Ï‹Çå}Ø pnUýd4ÈÏGÄ»çdG2ÓÚÚÏú\¬>œœh ï{âRîO/5^ºôVa[ªí’ó*5þë“oþ‘ÃQå 4Ã% €8tÍgšu÷\©ôÓp¤ÂZ§;£ÃÀ&1Þ@Âé/!²" 6jþ4‡“ª0ÆTï¨Ø#D˜¿ c€‡3`ÀC€9 ,øÐ`NX(àF_µ -`.¯ô÷í¬RxC¤Ãâ:oõQÏ‚FFј0è¦z¯(¦ ü V@ÓL+ Œ}z%NÆ[°¬e °¬]ÑÀ+ü=¼35½ÈJÿ¢û,>Û;ýôtÎT55þtÄb3±‚j-ˆ2k´4>ûä“¿~Va†gYÍmÔ£VûWûã®­¨­®)úB°T7•3SGýÿût²gî?íMû Œ½_=“ó»=Ô‡XV†>l -+ ,ÿÏ¯ì €¯2(;{âÄaÄqý¿Ë&s¸zXøCAà²<&a" I}Vzºèál¥úoí³Yé>oš÷°€G @#€O¼qöì& A€ëýÐý€—„Û+Å3_Òh$‰P(§Ý(.¿ -?-(]áe, ¼ãcÆ_$ôQe¯šTëþÑõ_Ö^¾,Z…•vh… -peÅg£¢=/¢úóqs~¾cŒš~ªû–FË{Ù°_P^ßö­+í7±E Ú¨ìÁöóTý?Ô»'õn·eé}ÃË/××[p(Àký€£Bâo`×õsÌþëy/e^dBô§À:sPôH ÄN¤’^¡Æ¸XÀÆÀhž7{€oK܃õCˆæåÙ»º7sÿ?r,¿ksþæîP¯lïŠg:£ò>9jP‰¶iåÍ8Rã¿ÚÏÉ=ýPíµâ2™t8î:ÿÝ»²œ ŒãeÜ!Ûåøx ï´Ë ‡Hÿ#J÷¿/´/ŠÆ„Óþ®¸Ü »håP@öûýßýXg‹ßKb 07•úÄ9ÉNÀ©„“:ygJˆÿÚ0ÿèÔ ôÿºÈ&(° ûÿ7P÷7Ñg6Á;pC Ò…öo“ Ì.ú'®NÂ0‹x qr-2;ËrÀYgÖðê -X\–Àê€ÀÒ§wÖÄ& nSôåS€ÚòrµÒL'.Ôÿ>½êÙ‰ 6î -£ùGýVè4çâµ?LÿyÊÏ+€0ÅÇØðz5F€è¿ üÿ@T_[fNó­ÓZ¶Ë#ðYÍÓ%,û+ù [ÿÓ93ÔÄ - -´ÔüÇÀ”P­i5tÚe- ƒàΩÐv˜e þc.„‘Áo Õ¿I«íÐvÔvüþ¶«Ê«ŠÍ6«Éè¥:ó±´?Ý13½·æ‹]¦Ôú¯…ï‹*ÿ3yµ¾ÿˆi9aïgElK"XXŠÞ,Q‡lœ,£ò_VZÚðúîÝ•µ¿z»ãmBÚ&#õ·æ>¹ÓÀUN‰`BÀÒÍ,€ÕÝ'y­^¯pd¬ôxÌ6Om9=«ªªÊ[*^o8qâDìü¡Sb@x‹å–°Fâ®_bM ¯ÐPý‡‹¶8¸Š`ŒÀåw°uûe.oèׯ΂>ªÛXäÍÀvÌ|ÞwõîQoõÖÚ/–û7ΟŸÓ7ºQÿé@ÕµRS5?þVl¿§¸9À(½ ˆ‡ÿ°6X^fßé0ÀÑGÊ_/üþ–ýáMÁj€Ea…€×ëy 5@B£A,JP*ºÐKú°—P€›ºÿ1*ÿnªÿLŒymsÀ·K÷#ú¸¿(Ù•'÷æÉëÉg`½lî&(Ð’åžÐ¶¤œ‡}¯ü÷{ŽŽé½·tì/ZèǾ~ÿõëCC`€»Ž¤?IåÛ!Ëòxë¹@ íŒÆe{ô–?DåÎx§=8ŒµÀdDåÃ-Ñ}Q öN»½3$'“pDëŠXà;«ipvý©Ko]ú¤ãs #ÎÂ…õO' ètTïS„°ô¯kÎ-ÌmVyÿ”îŒîž #+gRº,+aKªú˜Ä6abVç<„Ijþ,gséOpùOð`€…ÎÉõYBë‹@‰¡¡ÙÙÉ¡…‡4X,Z[\bOà5®ÿŒ[Ý^ÂièêØ/á***[¡°†%CXdwJ’NÔº˜ÂÞ&:uQÝV¨QØÌÏ´ö²0_˜ÒŠFË >S.¬ ²2€€†0À²IãÓ.t ;ÑŠíAmANÎÔϦŸÙ;¼—wýÿ©f/]ù§½9Õ±i^öóÁG310-W›ÒËZM0-ö „ФYÆ©ˆN´Š¤ð`‰< :bÚ™±ïûoÛã)ö­z6AÓh–¡Œ¥;ª§k>û"Àšáé©°ÂöOèÐxÓÿQ«ËùªÝ>>*û(0èÈ®dT3`LÄ€aǶÁd™¿ŒB»wï®­-¯ìxûm-D€P°ôϪFIl2[ÜViÂl¦úïõÀÑÕlµ™+Ïcà)÷0€ãýg߀_Uìt´þ OëXñGÚŸ)¼aø£zþH ý5<’€®ëšK ‚°…^MZi®õe½€²Ï´@ˆÀ& 笴û¤w•wÝ£lÝðÈŠŒçXèCý‡»?]ìÀ{½{ìòå•­,¼¼õžïM`°q´Q?ŠÿQþ-Ð4rñ‡‚J?Ý'ø‰!€Êü×+bÛ{}FðT`'dPèc®@¸-=a~G É` ë%ôý6¨þóؼsÀ·EÉ`P”ÉËëíµc pds>•ÿc{öŒtŒtôôÊ¡ž¸ÿB4Þs>ûo;åî/ËÄô~=â k ‹ýdñ‚€ßjkÉÝ@IÀîˆJÆ;3Ñrü9˜ŒËÑxT¶ŽŽÚ¢˜Žîƒ€  è•t? HªYZ]{X›€ëê~þ€ÂÜÂK…m—RζÉÛë‰UâHÂIm¿FTàfÁˆt ,ý±0ð§³õŸÛDÀÍ¿sS*raB,Øä¼Ž÷lÒ1pΊbº?Äþ@Ì$Tiµýë“Ø˜\Ÿ%„p°ÂÐÐÚäCAkEklŽœШÀ¥…¡¬¿ÎÚê"ì‚¿ðÛUzÌ}VU}3NñØþ“\(ÿfÅä2‰Ý~‰.Óf !Ì û×hÄ x@cÔ¨®ÀFôEù±7Ž) ½¼¬TûŒ.M“I$˜P7“35µkúgÓ{§aõ?ý uÎÉÕ~ÀõÑX mœÖŒ¡Yö«5&mP¥p7ˆßïŠS­¢ p±‰Ýx4Ðq î{žfÉ+Ü D"’¶`¦nzï¸Ô ?³+g¦õŸ-YÀºc:6#€§¿¾þK€PV6Hõ_``'šÿ%%­%%%;…¯¢þ¿@ ®b÷_Õ¾ÝñvGGS%¡)ìöÁ ÈÚçbÁ=ËDQûá„ÌÝÍó&¡èF®{±ÙãÁ>ÕÿÝ'NœÝOõÿA!€ð`çõ4Q¼ÿ/BÿÉ+)¢øcâ¯ÁŸ¢¨V˜ð4€-Ø (xò¾öö•ö˜¶ÉóiEpзq°70àvÿÚW„p»oe¥`LÕ{Ý7³ÃÿíYwŸê±ÿeú0Ûÿó2•kz½Ñ¸²€[·näÓ÷Ÿ›p#?ptTÏXd  AXˆ=>,òé¼1®ÿ< T`U0híoáÄ@ߨ:ßÍ€¥^Ï¢ƒž;Gè­ô\udó¾;6æ3ÿ-öÿ]€Utö/y±+$o µý#Çöà@þH*€²sã¡£ÏÇ£=ÉŽ§ö„¢_â -´Ú?T´ZÄ"½Õ¹Å…"ÆCŒ ¨ü;ÉLòn¿#“qôgÆò-‡ÄɸŽÇ¹ØãD%4pî°]ŽüçìŒãn+2yð À’:xëÑÛ¥Tê'kë‰D -‰¾W'QíSjøŸÊü£î7·åæþ¢MQ€"ÙÀ`ðû"/0»Yà&Týˆf›ðAsä:>¦¢>›ÕLªåŸ>\àÀ̈' “ŸÞ¾³À¡Äì ->íÃÚb‘H‚ -`¨q0`qmnuqHÝXZðÅ€¹²ÜÜ'ñ@ÎÕ'2»ùÄVšÉÅ~XùCѧF›…|&/(w‘LM~šk?ÓP;P—ƒL¤5×þU ÓM¨¢#37f¬ŒuÄ ó›É™þ`:‡p@ÎÓÓ?«öø -bÁlL.rré"F¢šîÆ·¬Aû/2‰Òì·:’Ê?ýÈ ÉÈÅD+!€^¯ûžgˆ¤Óô@ðãÓFãLMÍÞÏþ¢“ÿ¬foÍðTüŒ85PØ#QÁ(„Â<`ék껈þüS‚mÛa€’ëþ?,,h-©QgA€ÀTiiCÝ*'ÐD}®>ôm.z{ÌÒG×­˜s«í?]¸é¬nFÀ µtÔþ{j=fÊ¿§ªª¶¢âuêÿ÷#i WX³p䇬€”5,,LMÀaú`Ï ù™ÐH*ÿope¸QÚÛƒ¨ÅíÛÛ}Œ“Õò/€˜ÿk±èÓ2 æ‚8¨ö޽;:6±r_¸zÓ;ÞææÁ¿ž!€^ï–ÜÔˆ[ôcf¯lmooÏZªß´ueÂ6æÿߨŒ6ê!4ÀèeûÃÍO•û±§ -¾>ëø÷'&FÑõcàOÙ oF1ü70ó…#± -@HB²è½^ó<ˆ*ÿôê}¾eý_º×ÿßcŠKúº^¤J߀êÿžcôFGþæ‘.¸Ä{ã½öÃ]ÑÍÏ—Ø÷Ø[¢ö–/þCð–ã³5 €E† ¨þ‡Z[3IG2à„’þ[àVHvDãÉN¹s<Þ¿”ãì -âõ!€h½Å.#0>`ï‰;’~LpŸL<擺kj×ÿÓŸ¸Ô–ºTx5á\XO¤Ro&tÍjë$À¶f81 ÁBðfîoÚx$Ðü DÞÀ­6©È@͸èœÝÔܼ)ÁK&‡f"`RŠ+À ·Ö¡˜AAÀ2€;ø °¿u¨$ÀâÕ9u -€Ô%¶úÂUeì+¶õñˆ^Œ¤¾°bÂøß%,ÎÑÓÓiÎ@½¾(ú^Aù§©³Ð(ŒÏ€¨á‚Zúì2ƒÁeÉ¥\G€Ñ¨¥ª©í@—^P73S0M `&çƒêœ™êiâ´“ƒÓ!ªdÐ0Öh –5>RµÑé{3AåNk„²QÊ‚±leGGÕÿï€æ6zå bƒÀ‰êÄé’§‹žþ\!/âPƒá]ôo=M‘6ÀZv6ié—1“#€¹¯Â)ñ?ÄAŽÀ@(QÿQþé­õ3º¬QcËÁ”ò àWt¼m<¤m25Añçz,ŒA@ØÕÇ!ÑÈtu1°°P²AÓí7=••«­ø%§ò¥bOí©–×wŸØOàGû÷¿Á€9hèçþpSÙH]ëK.IƒÄ,ÅÅDÙÑ?ïÓn\4 Ð$B.c´ß~ YáÊì@+6ÿèƒ@A-ƒ‚ .¯Ì#ówleû½Ú/.þ›qÞhþ–>ìÒ„K}1üè%ãM¤ -ng'û€jÇ&Üî17;# p´žê?zÿkõ†F°ú1ÇW„ý?°0ÊÄÿ¨¤¯†z¯zCý(ÝY½EiTðieTBõ÷*È à–¬c ÿ¥¿åúÿ½Õh¨˜`±$™—×êéÚ à±c#Ç^=FàØH~wwèHWOÏø{ù}íÉ8žzþ\‹½kß×8¬zP‘¡Ì¡€ÖþLIfÀ?.ûãù\ôVo<Ðpî­sñÀ­NÄh€0.Ç¢öhË>ûßÃ)S€ûx²Ž€‹b@M´ùÎÇU¥žxâ“·rÛ -sEPáÚÂäÕ«‘„“šþH"! €é«mBÿŸZÿ3¿(|¦€ÙNŸuÿ°¼Èý?Ô¼ pCð5"à"A€æ5ØÄ Œ(^ù›eÀ°€]‚ññÚäúÜÚä † ¼70¹¶öéw;.­²ìJÀ5îýŨJÀÛýý\ôo¯‚X[ìÿ‚o/.6÷# PvÝ< ó¾Òä2›¼’Y‹Ug蜯ioR˜`Q ³ªÅbÒ:1òàã°ÿ"]c0av`jÒò²|¥¶2 Po:¦ëªg -ª b3Õ¾ŸÁ3Ä?Fý"%—ª:f¹úO¦›‚· `ú1rÅq)ssuZ#Û+˜´ÂU´£ãêé÷ù§íõÐ/Ž~³!hæMœpP½Wdsn”Þq¨ž†0†*üÅAÕߨ¡-˜™~F(¾•|cà6u Pl‚ÀÎ’Öö (ë$P·{÷¯jx@¬à)¡gfè1·¾>+¬—!°¢Ñ´Ò™\²ÑÓ„n~^ ÌfOù§ª¶–)€ý[öWvgÕP ;¸™lù›.ÿ.8e„ñtÌÊÿ\¤iaöÁšjºVXÓDþ;púÛºÒ¾ÒÞÄ‚Pýiš \ú|i–à)ÑÀ -çc9pe%Mål´]íþï ·úl/Ǭ(­"â×"ém¨êzI/qô»e§ÿªvpëöù ”Ä¢_olåßÈË€œl¨·è zÑós_/ª?Õ ½?(=|êY(¬‚v(õŒ!À_HÁø€žJzÅkePbyW¯óêÅÀØÜ#ðÕèÀ¨Àו߅ À±=¯¾zìÕ=Fò»òº»òò]ö–}#ñÅ}›Ø£½¡h(=øu`‰Q€ W‡P` (êÏ9é8'âöÎ@€AüB¼SŽ wñ8þ£G÷ñ@ :l/ œk“­­$ØcíáX¬AÐü–ÚrÛryð­K‰uHÀÊ3± €Ts3‚€Ú˜ ЉŠÏÚþÔ¿ÈÍÍ}3÷µ_d'P¦ &8ÂSvx›ºMp„Ûo"1‹ž–~Ö"… `vV ÌNÞ˜LPÇ¿¾žØ”˜R“‚Ùè;A€Õ;ýkì0·$Ö|ÌC€¥ÛC<4¢þò»Ãæ¦âC’ÙêÌøRÿO½¿ÄN?.“â¶XôÓpó i@šõЉŒ°Âe¯ j„éÅÈN€iÎ ‚#*:%cº â=#¿Q‘f¥Öýc¾X¬:› ÓÔõð˜'¾ ¯`»>íª^^®6]Ó@È[ø °ùOGGe%(ú9®g õÏ6JžŽÚ¯—–NM}ÙååhÞ¼,;ÛÚ‚‚êêgö~vÿ -€ð7¨Ù»+§ŽÀN¬C,A >‘• †{à3ÿôÙ7‘2Å÷ôâÓ%‹ßŒP³€¹ýÇ €Ë?•}”`Î`;@‚/”•¡þï®Ý]û+ú•VV¾ÍÀõ˜Ôg•ú¨ô3°Ja3l¡]°vëß³Y-n«ÛjõÂËÅìµ™a}d•§¶ö¼Om9õ£ŠûO¼q–ÀØtlÛyÝñÃ¥`ò£ájŽØ+áõÇP@qiÔ *ùEeÿ%ñÞ"¶'¤&­ñC°Ò ­tµOôü(ü¾jàdŸVSÉ«"€èüW¶Cÿ‡ˆ í˜mllL{_÷¯6õ+6ê»ÉÜVNn²X­zÌhܦ‚íÛÛ9@¸Ý“nÝÃ"à( -àˆ’ÿìµÆ— lÿ.ÀÀ«ÿÂ@É®þó‡ŠâÕ*Ï  € ÂóEÏ¢=³ÿJã(Á1èþq/ð‘Æ&æ€ÜgôIGÞ–(F=#{ö¼J½ÿSÇ@èÞœßÕÒ5â8·§gÏóEþ§ìrˆÊÿþs¡Ð×äáød}Ñ2gVûWúá”é?˜lÍøýy<)žKÊþ@ü\g<¾-ï¤Òß¿mˆÇGãöhèyhèC;´‚Ѽ^Ç]fqbmõá0k¨ïÍŸ4_ºÔF¼sßz+q{!¥ãFÜÙöm¬Œ¨Ë:¾h>Óv&âý àöƒÈþH·‘xC5Ø$º–ÿ9±wpƒ¿ƒ €YQ, ÄFà$“(ôt…“ ®˜e0$L±øéíïÄVpû¡«ý³ Ÿ0‡/©7ZûÂMS_Ÿ¹ÏÊÝ -–¼ÌtÆB,çacæâ¶FA Öš'p^pý˜ í‡Ð”‚Ñ9RC `  (¦Áh›´Ô®p¼O5"þ°ñçÓVMAM°z§@† Ðuh—Óšk>í¿Bo™B’&,?!‰-{Ô×ÿòÉß¿rÅ]\[»»nªô{Ü®¥ç©×ä…égúåLï}æŸ>§åcãφ§§Pý9ÈÄNŠìúÂÌt ×ÿ¢¯ˆIFR"ßäQ&·A'ÀLl4ÿª€Ð@V8X6ØYVÚ€ÀµåoT5™ X±þGÕÿ±0›b/´œ9Š?µsVD]Øèè8ï±Ùè—Sùo§j+NUœÚ¿e ç  ìl™ØØyý‡* ¿ -lõ!øBf¦ý‰ÍQù¯‰Ò¿!Àw½­Eà;>,ö¯T›L&zú·W ¶R­FC^€Ò‚ûogo ›+ïÏSý·½t-æócZ­×:†èI(õ6Blz·ä¡ÿßNßßžeÿ7´[_½ [ßXc#ü7èy ,ÂãǨx§çK Ë|êfõýœ¤ˆu@=ŒƒG±Œ@÷MU_ïÕ[Ùâ›~TšmÌ€÷x €(þ€Å"G^èÅPÏæ#]#,xõÕ§@€ÈéÞÒ5 t?52Þ¿yO4„]½<{ˆ^åÎoÔk®®®-Ð+µ™«ýCûû¶ötdIGÜ‘L&/Bp¸µ C9È â Qzm8j? /€8¡€¸,‡ä¸ü¢æbðPÝTêÌOshƒð'…“ëÔû§ -T}SÌÕ5·q ûÊÀæ¶æÜ3ͪ/pórégþ˜ûfó™?Š¡Àé ‡`¶:@zÑý(q‘Þ]yÁÎëJ̪j€ÙIlú±,T?+¨×çÄ€ÙÉO×o¯%"B4(ƒ‡Ö©zЖh‰»ûO—îÌ-a`q¨dˆ‰ -8Ô*üï|ŠÄà/¢ŠÍ}FœãàâöŽÎmf;¢ÙÆf\ÿÓP*(ùP¤±î'LøV¨Í`¸5Æ´‘ ‚¬‘–aŠ‚Ù!léQñ7b`2¦+ÁÏh™üäþ‡~DPC ˆa?ÝŠ`’ÒØù£[ý¯ËËü#AÁn<üX¬ £kŠ–ã¿ÿõïŸ|òø/ß;Y\[QW:5¸ë{ûó+n†#†$PƒJ~?àlãÏön›a[#†=FŒþµì¢Àû -39¥Óløõê>úÅþo‚^Ø6(\T ­Ý?# -$Tƒ±X‹ªÿ•‡šÌMæ>×cV‹«Êö>W¸Ï$ž àêýõ ¨í÷ï1mÆyÏyc­ÇãÁ2`EEÊÿ–-ûO8{öQÿ×zûZÿ!òPx½¢xQB (@@ö°¸^æòÏW³ŸÇÀ„`Å×^€¾¯±™L¤‰ª¾É«- ¼‚€o{52|æç³U|CÕ·u«ÖX;ó’ÕŠ°voÆîk­Vßã* 2Bpžpê¯èõnê˱ûoh¼V_Íð,Ûû@ÓÝ ->ØQë èÇ”wÁÀb`Á(ܱ  F \ýõ£Ø\@ñgÓ@ ôì2è0ïJsÀ·'DéÏ©Ì-mx:zòB¡®®} ¨òsùõر=#›÷Œ€C{Æ‹ö?Õ#·œ ɲÜboéí É™ñoòs?-â•2 Ðh¶Â$(ƒÐ ¤ÿ–ß½•ôG/ŒŸ“Ÿ Dã’ñh 3Þ§WxEíÑÃEÇ_ìŠg’™¡~Õ èဈ.ÕöwÔúcüßö“æHó'j¸×ºÄÕ„“@€¶Ü\hR)UðÏ+þÜî7¿Yø¿ÿ!÷Í?žÉ}Åß™Bá¿!²„üŸ:ÿ3ôÓn¤ÞàÍá 4+ê?.1ؘÿqˆàÐ;.€˜\ ~ÿ*}×}zZ€ÄÚÂí—¬®-eu€Ÿ.–°{#@dÔú«` 2€…/ <Ðø³ 0.¨Ë—̉›~m: ýäÿúƒÏ7!H#BMìè‚JëF6H¡Ë7…MØ‹ÒcDoÁ&ììk¹jµÕFÖ˜|é`uz9˜^nGr FËr¤ƒ3¸vͧÁÂ=† -šûþ‚‚ÚJý•÷~ÿä/¯àøß®”{*JK | -ÀªbY2‹ Ts¶ž®))ºßüÿÓ5ÃÔtt°Sd,þCx ‹¦¦¦Gàÿúêþ%•¼³¦þo€Z… Xàâ/^T D b3€††Ý‡+~U^{¨¼ÒÓdõŸZýÇ$aÌÁ7B IzÉæF ÕB Àf¶MP퟇¡›‘Êq忕מ:uêßö¿BõÿÔþ- ö—ž-+û¨ì£mv^ÿnðŒ_âµ>¼òÕ0>©Q\.5HKèÿ¯ØP‹ë¿…·àÃX¼\M%}{ûåíàéývû;Y`Lë«N+ -õüi¯H‹¢K¬ x¯øV`pÓ8o›Ÿðn½²ž€+cÚ˜×k³RÁ·XX§‰• ñéµÜøßÄá}c•0~èÅ!J8!Ì®YvÀRŸXæçµÃý$À¨âõÒ+œý™€U"ƒ ²Tä ZF½—†ý=kư¨ŒzõsÀƒ€lý_šaEý‹E%/æÉ¡®ž¼®¬¼úÔSŒ° Ø5r¬‹@^HîOî9Fý^´×Þ1Ú+Çþ}‡/|³r#°ÀkGÆ8qg2.û£ññ[TøÇ‘Øp®!Ú@õ2¢r´³ç¹Þh4r82ý T¼Ò€@J×üÓŸï~A7K'ú°X4ã¯4iš mұ؟ƸÀ¬ð¢ö{€MZA-FCî5 -‹@3S64†¨ðI7…Qc&,òa¾Ï»p&muPkb“_j÷}Áeí²ïýe° ˜§Å2Œšôò¿¦µËbëïsŸêÿ£¥ûø•+ï]¹Ò½ãÇÝÝ¿fØpé~ðÙðÔLA¬R& -‰ë@ °kxïÞÏžþ&Cý%¤% 3Ÿ_ó Èý{€jí/¹Ÿ@> P” ‚(­Ø}€À¡âCôïk"Ð×GÕÄeuõõAó–LŒ­.«‚7›Ím›°y6£‘ÝlžZOmÕ©*ÿ¯¼²å•-PžØ¢ìì • ²/ÁÎè@Õø©©Yˆ·cÕ¿Ä<¿·]÷‹Ë`PèU€hêÅW|Ac“êÄô?®(zcŒ¯–G`°ŒÌRí0 ^ÙŠÀÄü†öï^5¿Iˆ2F¶U¢ÿ0u`ÅÆ$U⇭¬Ü¼Ü~Oý·q+nøÀ6ØÂZ L€ £õTú±Ë»E„þ2÷ÿ®=¿2ÆþØÆ•DL^ÄB@ÅŒzü1½aT?!¯#¯¤®*6Òƒ“LÌ=Š–î«ÿ‹‹8õ•dJBçzá42püÕWUàžîüc#y=Ý`zŽ ‘å¨,‡¢œíÉ ”üy2à÷û¾ˆŸµÕ¢Õ+ø`&—à¤?ãˆß -Øåñ€—¢qBÑs„ ;à†@(ÏëE“ÉÖV º§µï¾¸D ’jþ)b€ÛÚr Ûš ?ÑM®S¦Rý‡ÂH"·°M+@ÎþCõoÎ -ÔËæ7ÄgÛ^kn~#ѧSÙˆ@´ÿÂ`““¾|æ"•ûÔEçéAù¿É9ƒàÙ¡YÁp4Ьj IJÿ«Œf'×Pð¯Îrœ0F‰!ä> €\e˜€¸ƒ @ u`iî΂ª˜ûBëA³¹˜Nóa µ1\&ÉeÔô)×LưÉx÷ú¨Æ1ðR­7)\õ4 -^Ô2³B¹ͨ1°Ì|=}zÃè°)…û0¦›: -¸³g†ßÄ[~1lBsÉúÒÁಯz9ä -Iu?-d‡tïÆe×µ˜†·­?ÿðë -^?Ðá©úe>Õw7½î8yò½r¥e/¼ð=Õÿ†bB6£D¿p!;¤cÕ3SÃ5ŸwóaàôTÁl*#yEû/²‘˜˜Þ5<üÁô7ú_.*¡ò¿m½ ðõ`P¸ítd%€jï_’j(Ý*°m°³¬¬a÷îŠÝåµå‡Ê=MÅ}Ì@`铬űÕ=›¸Sw òŸºÿ‰î ÛKÔõÛŒçÏŸïx¿ö¼Ç³ÃóRåùªÚS¯l9Eà•-[**öŸh8q¶´¬¬lð#Çï¶úÖ´ô*§–6öýÅÄUùë]P°0€m)?œô{™n“¯šWüƒ—øŒ’bŠùÌi! -ÀŸ -ßú2Dü€[cc8>ØÐÜ›t¤µ+6«-ëÓ˜=˜bHD$À=óÀì:ÀÖǵºéÿ‘ ->ÕþF 29L¾Á2šý›¢ù÷jhƼ`»FHÎVÀ&ŸÚ}\ê‘d,!þoÔïáFþ¢ò·L|ß ÀýõŸ@ÑRÑb‰ãn2 -åíÙÃÀS@ŽÁ¨ëHב¼îcùÝöÞž<ªþ-yQœ €¼$ðGEÝÔÜê쯿pá¹ç¢=QrCYÔ¤¡-=þ5Þá/Zè_èo ãH¶úå@ ;ï&¢òsw£¼Gãµ¶GÃà–=:î?'‡è[Ä`íaØ'@ä7ÿÔpTûæO -&S:g&À©Â\]³“=šSªíDµ†+€ðÖmËo¶å¾Ù‰\L©2€, àD6 ó¸Ï¥tÎëÌýð@dÐä¬3‘¸ž€ý/²PX%f¯&¨ÛÇõ…õÛë·RÎë 53`èÁg¢«Kw—V¡X[äà†!ÀíO©õÏJ¿è02÷™!jÆè¾>.£Âf£šðãÕˆps#Œ~¼./|yÀ+ª¼Èøáõ|ºB¥_Yæ 4“Ñöº®¡gä$AHŒËÕ&êô1ðä*±?týÁô2r|0ú`™§ °ë -3 škZVüÙï««#pò—'wìØÑíî.>ùÊ+'\Lõ¦lªìûåUÅ;Šád&Ñ£ôjx£/VðÁÞ–îŸ ïª+èÐj½ü óšTj„C‘ÔÕMíšÞùÍþâ‹j¦wåünŽmÛ¾Ø&$€Ûx "€û«ÿ= - *€mƒ l¨8\^àÐsqŸµŠ¿[@Âá°Wb`‘¬tp_¡â11AàüyÏùÊ—æÍO‡ç¥bOUmUUuÿ'ÿO €Š–ý'€ÊÊ0˜p\0ùf°§ŸÄ³}ᙥªü @ަ¤ë\u!Içš·5\/³PJg=ÿA´ûšLÚv_Œ>~‡#"´—}Z«äÅž0~ Àö•Ë+¾vßÊÍí7ß…ðƒ{1)¿+Þ‚cš~<ø1è-T¡ÛÙûïfûö  k%´õñ›úQ¶hDÛ¯@ È?ésIÇ~?ïªõ_â·wD+ª¢º`Áô:†­?–þ)Y -@Ï^€b0PgáQýÒ#ð]€ú1»Œûǽ¡h׫#› ¼úÔqQÿapldOwO~W^Ož=¯§'/ÔÛ}1tË/‡ä^ù®ã–ÃáÚ:ž“eû…šñ’§3¨Ý²8¢ö@Mæ¹£O½ºç±h šw¤'ïdWמüVa°º¸&¦Î äLr[ÒŸ S82 QºN$Býg‡°½!÷”¢eö@Ò·uˆgka€N?ÒöÉÏ/µ1È%🛯.Ì:ׯ®O:''sÒìL8›y€ã> Ë›ßÌýÅo -s_{íóÚkmÀº”Zø³N@›ØþµNçEÝ?Ÿ‰lJD~”Ú`â.¦N'˜È–~Ìÿ¯b€ò…9àìZëwÖ@€@„à«ÖP÷°E Ì€úûKX ˆ¤ õ¥µ;ý_ŠÍÅæ°Nìf(ÃÐø5aþŸ{©ð*FFŠù™úcàÕ\ƒ¯=›®ià,hüÃZd6IBC2æ A£6h } ø~ý‘( á’Ïs €eöcüH€ ˜í˜9ðç?VW·»£ö½“U'wXw쨪­mAm-5œeeÛ¾—?¾Ê«<VÙÊyˆØU,(˜v¾÷NhÂ`¦.f4h“pPàyúÿJ<󻜜oô÷^´kÿ®©º©œ)FÃ;wí¿î#ÇG`؈%€÷€þì(@ä€@@ùáòÿQE øïÍ}„¬}ÒcÖÇèå_ò†Ej4Ï—mný{W\¹Òížp»'l6Û¼í%›uâ¥/¿ä©ú7 €WNÒKÕd7œ8QZV6X6øÑ¶¶]ßy}ç0PäüYÐß‹µ*ö’ºîÏ_b``L`à,=*¦/»ð‚Ojx¯ß‡¥þöËTí €Ø× -,]øLTMÓ1ÄDá3ÀF<úþÃ×Þ¾õqú%Ï¿T}‰Ÿl/öÝL[î-°!°v~’éV¬l¿wë4í{&ÔE@DÔsÈ«µý‡²ÏÀ9Àlÿã÷àõ*ôŒ¦w‚ཀQu]P Á˜2*±À˜>[úÁཛu‚Òèß2ðWs.@ŽdO~ÏžW»F 8à)ŒŒtuÉ QñÏËëî‘íyr4 -d{KHF‹ •ÛåÌþ†ñ[’@CçL}q{|¼S¶‰Ê#‡ã/jû›1'hN!î¿ Lþáí'4N§î";±@ìÜPWÅ»ë‘Hó›ÎĤóµÔÍÎ:©À_Ô½™eW  M ‹DN “‡ý4;¹¾†¤àõÛŸ®ÏFœ˜$øãý·ÍaËi Ïd1øj8` ]W!ÀŸs1:=œØËMPµK`÷I0¨ûZûÿQ«*ðrWï5)TáNñ¯¡úÍ(@¢’-…¯]ÃVAØe¢· )h4jMA7Ñj—yÍ_ƒÓ\0m‚k06þ|ZÍòÍ´$8Ôd¼—MšÕ†æ¿èÿçæ¦Jë¨=YAu¿¸ª¼vwÅ©–Š×ËËwŸh8[öý¨é§”{v˜­ftiÞéOÇb3?ûsÀ&€Ó L¦˜Æ ð ‚ú±£ƒ ÃÔôðÉ{QQIKñ{;êÔ•–N½°kpÛð×Ûé:vf“€pÜ–”ôók–Ø)(€À ƒ XlA&ð¡òâ‡ÌÅ}¶>ëc¨÷}R ÃÛFSõ§NÓ&€+Wð6±cbÞOù  ù©MFýça¸E|Š)a€—- ®¹,‚¸Ì?±Ø;Ú`“¶]8 àR£Z¡`'€ËÕíÛ??ïŸðÝ·H½¿¨éFm»ÏÊ&ÀÆß6Þ³Üú¹á¿Õ޹GGGÝl`áL_°%ÐÒ*²‹x”²´ˆÎ¿uh¨uèc^\ã€!:à ô—ÀxÈ*fTªQö¹ÖRã.¼õ½&cXc$x€^ÜËɧŠ)ì50€ñ?ª´QÌê9"“Ålæ™§—zFÌÒM¦`S€D+èt4¨ÿA|ˆ€?ûóÿÕç[Ö˜‚,ö7©[ô(™8÷ÿòŸN%ñõºª-û+ZŽ—×V¨¨x½â@E)(€ïC¸ÿDUùŽZ›‡gÁ0-vØÍçø,»矂4c/Û&;b±×©›Þ•óÊÑÓS'wØ~Ùøú¥¥/t2ðu€Õ}ÃàÏÊÿÇBH Ãv@ƒ/˜h9\Q¾àPqS1 -¿Ä#W_¸¯O¬„­’•Ê -–Dý¿2A`â%›yþ¥ù¶;&º'¼òÒÉW^yåäÉÿzòäÉ--˜”ÒÁ8”ÿë?4@aÒß@Õß ü%¬Ë_ãù¾Þ¥,,@ÓŒø;LÓÑ„¿L¯<ÐKôoç Çýa»üŽ/˜õ X`’lZΘö  +x À·}kûüüÄDûãÛ·Þ3uü¦1]P-IzW–p[$·EïÒ[¤ÊËÂÿ'ûÛï­ÒÑþ!õÔø[àäþß"æŠb •uý(ûþ«²? J»×;ÆÅ]âeEŒƒ0 h@ÅŸF¼HüõêùvTÿ­’› Åñ|—úŸ¥ÿÅ 3~בÌ;Ž•¿ªÏdU##ÇFò{¶Ø·äuåE»ºä@ï‘^Hî;nQùwŒ;Æo9¢-‹ò¾¨½ænt›ã‚܈¶Åí îCÇ/|^umFÈÐ0#ÇC¸5À*U 293Ø+ÂR@΀ç‡ãQ»=w”êH¶–£r pNŽ3Üÿ/~w - @ªí-uPØæt¶å¦œ·×'ˆt ØIŸnÃ~žDRÜÒ«ÃöŒ4§t¯ýæÿÇt¬û?Iæ @*›a+ÀHdÖùÚ€tÿLm?n -5@ -;›@ ÌfWyÀWD@޵,þX_»º~;áœ)‰…µö 0„!LÿúûK 2€;«wÜ04„]ÀÏ«Çìñô±¸+,LÎÓFÑÐkÌø˜~4a“¢`éMV^ï5…·P¡ÍiÀޱ€¬Ó›™*5º8\Â,ô‰6_ Ã?^þ÷©3Ø-k`º$ a€œÕð}š“é þåSSS»s*öŸ:qª¼ªœº€Ý¯—¿^zBþ^êÿÜþÚ–*O_±d33E‘záW+Èþó@Ÿg>ûlïôTA¨E1ÆA¥5^úÿ·M=÷Ïv»ª¨Û¶<ùËæ1ÞÿZ ûŠúßzo  õcFge;… Dðj8ÜR^~¸r_ñ¡âC•}8Ðí»úúÜôŸ -ž¨¬ÿÁfnåÿ=ôÿî ÛÄļwbÂ=áÞqeâ䎓ÿòJ|¼RÕBÿ7 ¥˜ðpüŽ -~X:€r”3Võ,¬ú3(Bå`SÀ0ét³—ë × /[°¨—zúÇ À;Aí;lLä…?­I’L•äZû²ÁØÜŽøÀv¯ÌÛÆlçÏZùm¤o_ñjÛ?0Š,«Êÿ[;ôÖpLäoßþ9í úÁäFGG-HóQô£œà-¿àÿ¡íÏ*½š1P€Šwã˜ÞC‚ ¬…Tx=PAä5ÁkB èb“b˜<ßúl?wýÂrdqý¿ãVÞñ=##Ý,<þäñ'™8Î{€°ÊïêêÎë=Ò%ËrÞÈ‹¨Ð9Ú÷Ç8:òæ ý]Ñ¥¥’P|||ݯúµ²àð d€ »wÆ&@yå¡Êbè­Tþû` ÆU`áþ‡ÀÚ”^øp‚@mG1ªÿŽO þŸ<ùcFU„^ß}‚úÕÿï£~HÀ†àL½ž% »ü(Y·—Eq©¢9 Ôc’^ ·Ã¿—YHÏ}SS*@Ÿ6(rÿb,” ›OkE0=µÒ++Û·ßô!ÏgëãÚyÛÄü½V6ø+óÖnÆË>€®þâÂê¶èM7QîW¶oÄßÓ>¾Õ6?JPÛyðüå>¥Þ"üüd”úQ‘ý‡†žË<Æ à¼ðñb;ˆ>E(z—º/½„—ª¾Ïl/®`@ ` - -àx0½†óÄ**ÿãIyóñî¼$ïùí«¿}ŠêÿSO<…-€c¿<6²9¤$€Ü+çåÙó¨—ã·žsÜç@¨³(S’ìÚŠÇ·o‹oï}>Nõ¿ÅNÍ|/}C^׿|Ž|õÿ£þ$ó½‡Ä`‘­Ž»­ IF~9îˆFãrƒ €–èfº³¨Ü½Ð•ó¢IG?dj ‹Ÿ~Ç_J{€¹oýü“BŒ°Ý)lN­¯ÏM¢Ô'.ý4—¾ššt^*a|´iËýC³NLû#œx&•ºØüfs3Ç]„o°\Ä+È]d“n“ºø&¼€SÎ3ož¦«7œ0÷‰DÐïG  1Î!öš…€;˜ -¬‰œ`týk b -0”@8àÏúQìWa€-@@:†Øxmn} ¥/>:*+Í’1ìUM|Œ&¡¿ƒ?Ìy%l¢×0{2ï§A˜£}zg6¹„ºÝ$ Má°ƒnêý髨RyWEÿZ.ôË@ú¤ö[€Â&'ÓÒUšÿ4Ó_ÿïÞµkWéÔï¦vO½°ÿ•î“eSµ•ꦦJ+öŸ-ó¶>ì?½ÒŠS-µåfÕ¿ŒÿéÁòNÿÌ3{aè{ÏKcxïðïXÈ; þ{9‘ÈuuSÃt‹¯”vÂúŸêÿ®]ÃM•¿|¶¾žÀ“¿÷ 6º“À×Îàºïp¨>€÷¶éø˜)!Ì"€mÞ<±fVV*îëîã@I²†û$³× -  UEÄô¦çº ÷Ä•+?þðä¿üø_T ª¶¢¢n7D¥/ ò. ?<$ÿ€Îè­g«¨rÙÜÔf  öæ¼?,¨ÂƒhþÕêÀ(—bŠ}—.ÇLMMpÈnòÅ´& mÌko÷š‘0‰æŸ0ñ¼¬lݺÒþíí7·?î›·Í{W¶n¸ùÃ…\ë–*·oÕZÜÜþö4¾,€[ÿžä½¹={Üg ¾}åÃQ÷»n7F£õJ#çøŒÖ‹Aëÿ=d} Ôú>Ô¾÷a)( ÙF¶@ -S"üËÁù"ÌdÙì5° -@Bá˜uÌ=6¦}¤þϩ쿀K«Eý%ãŽÌ@ϱãy¡žÍ›Gºa@µÿøSÿ÷qUÀ2ÀjÚóGºòì/F{ãy'·ô¼X 0ûïgÅÿ‘ç–伞Îñ’ñqúH>ò\f¤ÇnGÌß6Y¶9à1&øÞ6wÜc¡y)` +™¡þÖä]:÷ôÞrÄýwe{`@†‚Ÿ=o?"Gâçzâ¡.9pƒgßy €ÜŸçþ”€t…mm‘ÜÜÈÚíõ„sòêÕ„.59élÓ9S—~¢.Š$€¶¶×r³Q:Ýì ¤.þEt¨ÿô¦»È(€QBóÅÞÃ0àâ€toL4óÖ(…Èì“, %€:EZPÀ`íê佬¯Mò€ÁÚƒQ«w¡þX*j]d+€Vz[\\]D 0(€Å!h†þœ0šÍÔ¦§%vÿ¥‚Ö¤§¯€pûõbÿ[1èAºeÕ}Å$,°# ÑÇ.SØ$!h2pFŠ7 » mФ2ÿ*°ìÓòæ?ûþ{æË¾Ô±0Vëé£à7˜˜Úµk[ÎîÚÒ©Ò©ŠJÏÛuS»JKwW4”î÷;Z²Ù "îj‹‹+%£9¬ÀÞÈ '`ÖÌLí­ùœ¥Íððt‡ …$›á—¡õ`05=¼·¦æ+þÊá"ë¿]9Ó&cã“Ï -ðlÅnj£¿žp8Ôò¿aÔªJûŸ.ù˜‰uPÓ:Λ€/t–5€¨` -àìÌ};° S +XÃVáþgu«óèÝz› ¶@ný„ÛæÞáþðäÄI‚„~ÌÀ‘ªòŠÝ»9¤qªl×  -}Âõ’Ò9}ÑÑbÛÈLŸ­&ÿð&«ÿ®,ªsŽ@«sÍð2>Uop¥cA±pÙÇYÀF¬›Ò1nø!IJœ×[©öÿóB°B‹€—WÚaÝ7oóToUCýø­½Ïk³R£ïs[ܪð=¾4`@â–ecõ/;þÇÕÚÿ݈JܨŸÐ[,Èò€Ù±£/ÞT^T4Y a`/•†È3¼ >€`“/3eŒÌ`0æ¶Ú8>àx°†OØpùï_…P #{uOHîéÞœ¿ýo‹öÿ)á(¨gÉïBµþÑ-y#¡@(ÏÞÛ9wÆoõn.Z;6ò\2Éç¶÷ôõ n΀tBSŒè$á `Ä4|Y¡Ò5dÿÿì½L[yš-عñmì’ÃÄto/ -¤LÀ(ƒã2dX^¸»6‰P{­¸[r0ôôFPéÐ`e_#AÒõç-£ÑšhIíRI˘¨ c”´¢lEb¢iU^”Z•*šè…W“ -ª§ -TjÔµßù~×$Õ]éJR©Õæ)0Æü‰qðýÎw¾óOá˜" ? èýeùlÓYc€æ¿ºŒ ÙˆþYª–2fål—›zœß»â£†“• ~·îºsÇý•…TkŠ«zën<[%>¿³ÓVTw*}úã(€u?‡à˜9þ“IÄÑyÜdù0D„OŽÃ×ÿÏñÿû·ÿIÅLźʆ¹¨êøkxù• ¢·÷[¦ç÷ -@å¿ ¼®lК0¿{?ÖDóû„VA †ð®Ý»÷þ¦È]tÈ}èPÞë—- Ktÿa§Óê2k €ä¥®Ž“Þ­Ž e úÏ@?‚ðdYkIIñ”@Øc<ŠúM€¸Ô=Wgõ{u§÷ØÁº½!€ -àòeOzW|»aÀƒ»À8šJ¡úÃ`3=á:AÈ%Ì“~¤7'tGì}i!Å[Ôÿ§ø*;o0ļqí¡¥¾-[ÀLèV«³tK¥Ã!Ê¿=ýÎÓo·ªf¶£ºØp}ã†'>ðR9Ž TÛ€¨øWÓo ±¼·–3qY§¦@…Ûa›Ðþ `·$f@ ¹“ús³¨NÝ!a-ÀíÀ§eÖ`uÜK+çNåWõô´¼}ds{TútŒìÀñ -½ŒŒôôtýjGWmWVVµí--GZ6×76¾ÓžÕ^õöKô}UǪê3ãK_uÔw¼½õíÃU-›{vl*ø›7ßl<Ö²73³½=Ï¢þ¿‡Ži ³­ýkb4c­Ku êþ½±àÜæ‚üªŽ·ëÙy¸£££õµöͯ·wìªêhϬ·ÔìC{zsé;ŠF¡çÿi2t'7”L†rs©»Ï½ãsE,·BÛ·ÆF-{ö$]/ŸOºr‘Äš8ÿ³ À<Gx?W-–wƒ?Dð‡tM×38§/:Y %BåÚrÅeù!!, -º²O L<ÏxÀ5?¿FPÿ?ÞÀ€£Â"ðÒèÍ{w/Fæ €¾§dVW¯€ø‚þ ¨öç÷å×aзÈ9ìĀś_§ -Ünwžâ ó@åNôá%¢.½>ù0Œ?´ÎˬÒí&hü`ÙÃÕdÃâ¿ ÛT"SYX ðþÕ~‚gáz’ú¼V©TCtöüg—|ÿÿ3åqtäÏ ðQʹÊÊʹÉ÷Taƒß_\r:çTNÁ3E9'Šý%~_§OR¬*º»è<(Ù¾ÿCnÚ33“•H;–yL`@Ä_‹fÏMÎßþåöíKÿïÏ?^1·n]eevC¢Ò¤T¿R]]ý×;­Õîb*£‡+r¾M>w{¨À€>–,¢ù§w鉀1ÈÉéÝZ¸õí»wÿ¬¸#€¢CyyÂbÀîÔ:"‡(­¬^<ì´ µýºÿúÑÉ¡È+ñSý¯à°rns&@AÝsvb_½Ç†È6ŒýÙèõþ²Xý³€ òë\†½¾]P*µúÍÍg±ø;5 ÃL5ps(0§6SJˆ -pZ²3¥ˆñÛ'ßÒææ[6,,hNyÍË—E„ ¬Ó…€Ý˜ÿW§€¤e‹/4´€Æ -áeaÁÉW'E& µÑ}V(mÕ6Îùc[?kºû·Æ¤tïæ“¢¹éT¡‡Ãa„‚…%azÃP„w¨ú‡¡P©ÇÐtEKË’uhþÙài @úšnªºÝçªþKÖ®cU›3ã°®­íñЃE@zéÁè¾?#«¶ y@-­-ÿÿcUK;V3é¶Ì––®Í+'kWQµîxgoÇ››ßÞÔ}¸±± -Óøÿõ£ÿgVaÏú[ãým™_'«Âèfw÷¹îƒÿ^wäÍîú–ÆÆúw:ªêßhoÝüÞë›;vmÞÜÚñN[æ©s‹œð÷ »‹ü‡dhdüæóHú ýeD¬äQU3φÆ\Û\££cI¬ †`ü -šÿÏÜñPpœ—þꛆvМû ¨ýjA]ù0y×bùÄ1c.q½›Ä0À2îZ/æÃpà´„»¨þ @0àªK†có‘UÜ—›b+Ê¿ÑQìÜýbÔ5/b胧€+›V»ûú¾¸ÿÅÅÅò¾:ìc þ³ pÁÊ=|úæjßâjßÃt‹?êö»5znª)ÞæCýWàoc´7ÁüM•T¬ôÃ<&)zì¿ÛLÐ `#Ùpý‘L—/ÓS=ö˜’¾ì‘t -=o“Ðÿ±á‰`@ˆ HãMªQ ét5üÏ”ÔãÕd €£‡QW&©üN®ÓÖíÎ+ª,+>zÅï—{……SEþ"‡_Ñ$úíeS -Ëýœs #øÕÿøJõùè'sÙ ü:ô Æ qБÈ)À xT2=Àÿ¿:³®Ò/ÂŽ²éÌ9ò××b÷»§vMRýV# Ûå·%€‚rÀûïïþ à³îýÀ‰P¼YžC ¢‘€âÝl\ä?¤:¤uÖ„k´Ië¤òvjµnŽ¡2Gºü0@õßjE("‘ôBõÿ¶ eNþS•ÿ¶“e`Š P8yøhEïÑ£<ÅÀžâóg@nž“@ŒUþXpy'½*LðlÆN€-æ1±(€ÀïLaF¿+êZ@¬ý•6”A*Ž€büÀà7//__Þ¸Aц” ¸|ªþ×—eiÐ+ Ê¥²Ý^û þWÛË`huÊ× ^زaù÷Ct”2Œ¸î° |Àá½à‹@±qÀ¢ý‡ÊÜ=רÙ!x  „=è™H1!|1¾ZU4 €®‚qêÎA@€ ÀS1kõŸ·ðºëÎü/HõimÂ(ÿ¹VcõŸí€k³úk³ÚO¶·Ð‘YõöÖÆso¾ùv#}cfGÇK-ñžüºͬ:òNkÇá‚Fr«Žlniy-3³µÚÿþÚîÿw|Åõ?#«=#Nèák•HÌVov÷ÁèTwÁ;ožªê¨' ÐÒÑØ±¹%^ûZ|ók›÷Vµy-ëÈÁÅûl%ð3–ÐYêãsg©j»,‚ÀlÔ•»m,y~ÛùàìËc®¤+ȼ¿%I;[#8â?ÂR‚ã‘õAËB„>‰Ç#–w“ "ë-„æÇ-.˜ð– j<¡€õ,å+Tý¯æ@ìÌzìrÑ¿4 -`tý˜Øì}Ї‚Í~0K¡ï]¬C÷Oý½å³2à ºÙpê[½ù°€?êwG 86© ¼&îTÔtxÿqÓ<&Åþ–é2[þê°ÖcŠnó˜l˜ jazïÑ<x$OX£'?Ú6ËǦs@Ÿ7Ã÷WÆ B­‡ §¸ççT%ª< Ä>\ÅQªÿ…•8¦¢¾†É©Î©Ê6waËéœúò¾Åg÷Ä;1U\X\âÓ4‰ÎaÔЈõð àË%}ݺ™ÉÊD”~9é¿ V ˆ&d_!ÈÌÿæg÷’ˆ¦úß„pËJ4¦¨ˆOñîÌsûwOíýV'à5 ÀA1õ_Lÿ¼@]a\¸#€Ý~ÿoüEîC‡Üy5Tÿk:;šÞI/Ô»9†Àó_¸ð# €»W¶7<^0÷JqxÛ¼˜´ýh ÀÉ“eÅS» ç&ÿ @ïÑÆ£b€U€çޏXWB7ü¨®_¦w—Ñï湨œ;‘ªGÍ´•‡ÜEëˆýiÆYsKO@N¼x}9 è¦AáUú»RŒü@Îòj@yÈ©-d§—øØ`¹T£¢ìþûõÃê… -ÐØ4Ä*þƒCCΠ⧆¬ˆĴ߯i¾bwÜj@ºDS`‚€Pâd1"p3‰úoЉõZ!–bB€¯Tx'Ð à´z_€§%Ò `e±ûà©‘¿è8²w3éÿ€âÜ ÀY=¯ôüºCÐ_‹šÝ–™Ù²ù¥–#ØÔo,Èù¯9§ -ÞnÉÊÜôÎæíoæ7᛫¨÷o·´l΄ý_ÚƒMáúß³/àŸV£µ€ºƒçêŽÕŸ+8FÿRÕÛU-ípΈ·g x­ãxKûÉSЩß_úŽ @Uàä¶ yÏó¹¡Ù—ÍÁ`$ø?͎ͳsß6‹köÇ/Ÿ$gÏÿ/³!KRpýŒ”´oo‡,¬ü§Ò? þ0ò¡e|Ü•¤F:B·M›#Ó–È©ôÃþŸ¾åÖz×8}3DW9&8‚ 6#Wy!àÁN Áð)doÀÕ»÷ÆÖ N@x>iý‡ Û ûÑúSåg - AŒ¾X[€ªŠQ¿?mPÜa9Å‚¿œ÷!\—à†Ì-ìÜ? ¬„é|g2‰(\ 28ê†ù¼@ÐÇ ñl÷`  aü#^™ -H5™J—!”›Ä®!tòøÿV §¢&s¬h¨¬Ô´ŠßXÝ»}N×÷ä/>;§™Æ…S%%nŸß©+|.Ã@e#¥¸s3©ú–*&gæ*d…*ªV(t>Vf_KTÎÿºbðaöýÿ—¯þäãuÙÙôõŠŒ,AYµ+Š^&Å´"?Ò¿Õâàž\"± d€Ÿµ¿{ZŽàMŒŽ‚°Û¿÷7î߸ój܇hèݤNµRnTþÛ.| `õ…/û½aå+†9Éî°CxrèÂ?•••ý¨ìdYYºçô¿S89yt2€£½·srn”C÷ðJyy÷óvr?XÒé¨Ôc'ð2¯ü³èÏ -½?¬ÄÁ_‚FšÊ¡Ê<ÿÙæ³g›ÎQåTJe’“ÍÍ2tõòD -zØÔ ’ZÀw”Š@`™@¶¾ ;•^~èÛ’Õ> Ê -‡í¦ƒÄ€äõš†Ál yoСl0~LbhÀ;`€À6Pc# $Øb&NþÄîÎuÿÀEë(qì Aàùœ“ ÀIÁ ª€®(@t ¾O_þÅØ}µ{ýKñ¿¾÷ÚÞÌÖVêÿ 'ÀÚ.L`HõŸ ± È:À,‚ ñÌ–—27©:ÒQìíÆªSoù¯õ§²ªŽµÐ õU-oWe®å¿Ë?Õÿ>vôt±Ì ¿­ª€¬¬Œ?â¬EÂßÊ -H€sÝu§ÎÕÁ¸þ0B‚27WÙ¼0äõx{ËÞŒÌöS79¶ö[(î•¥% †‹$ssÍ{„ΟŸ…'ðÿ‘‹ ¾ìJ†¨¶]£÷X4ì€9ÐeÈÿ‚H Æ.€ Ê?—%h¶ÌÇ-Aºj7»>9c9LF¨ê»"ãË>Ü@å½{Pý‘«Éõðd*Z@—ký¼ëªXtÍ ) Ò0:¶*ÜG¿ éÀ ø„ë‹«}}@„ ÿóëúÊÅF ƒ/ð%}@,¸ø¨tG³©ãV¨Ýà-u±¶N%Žü*Ø;Î=£gx,¬;l—M¬0ÅTX{šÔËàùL&‚vÇÄé?G„ñýôó¨ÞËFïV¬ÈMŸö_iâ“GSJ}ÊgCN9ÀaÔÿ©Ý•••QMk¨ÔÃþÊ<ñÞ‚‚üÕ‹Ï -ônÝz ¸8­(Ö!è\†(@,@|ŽNN|üóWÿ÷wlr…7*±ì€é¿¥£²¢²²âø—KZý9ÔãËí3O~šÈ¦o—T…J?!Ž·¬N-J裘—é¾ý—‚Ù~ÚÈØ|È -è3ªÿk{€Ûϱ -0f€»NìÚ]  €ûwîCZÖ©iNêþ©icà¤îј x¹üë<àTXž´YYÐv¡ŒMNž,ñù‹„ -°brkÅá -¡à@ùó ØW¹±`·]æš‹sVtá˜ÿï4ÔbP - Þc@–„µ('ÿ >¨+,„Ñeêÿ„XĘïJ7n¬\Ð4=°!m¼qËr`°Ìk¨¶«r€þe¨þZ$°WYÞò5àÇÊÀС!c`ÃÙ{Ã;ý_ul'ÒÿìÌYì4škz€ÿ³%]Ôt_aá±K¸x£K¤€Ÿ{b—cb¾,Ÿ0  FBÁ@r J/ÀÓMÖÎüuë‡dîøíHüõ®=èù5šÿt0uì¿îÙ!šv±ð6²¨r·¶f¾´9sï;-G޼C¿ñHUKK¼„ -Þ>BíÕÞ̽ÈŒgÁZx8BL1´µÇÛãtu}SEbp³»{å๾S§ - -Þ>ÕX¬±±esGÕ;Ó?’ï½½¥½¶j=bj–¾òð[àáQ"ÀùùdÒüò¶=wîÌÎÞ™ ™·™ püžkvvll–Úþ±K£‘þÆAEÞ ­Ÿ¸Î›€Áé$uþæHp|:â -ý;? ŽIŽÃh8ùn0rþ€@ Ã",Ì?½[æ#cÃúƆ-ÃØXŸ„ìÚÀ5[ ®þØ€-‘ Àë÷îݽ;% XxBW॥U̺é¡\áh@:ã_©ë& ¦E¶Z„Gƒ@1Q´Áu£;E¥baÃ>ž[»0T½’d#L޽õÏX SÖU#Æô?N6›É£ƒüïŒÁX ÛÔ° -)6þçþÿ,âÐ…0âýRà}êgÕÈVLNN5¸£Ñ†kn·v­ÁéÏ+ÞzºàvÝâÊÒÊ3yÞÝÞzzkqqQ‘Ã>‘PT\Qu¤ë|ÎàrÝñ4°nfæ'“• Q…óŒxBçôhv"»¹ìô' €aý·ÿ—?_7—ˆ¦´RŠª…©gRj¢S~¿¿rWåãÝûH¬®­Ö¥×ó¹ó7ª¿a\ßàÞ -fvÿÌÿ3‘:@ØjZ¸Sëthšäœ Î2êÿ Hؾa œ!€ÝkçEÁ¡ eC'/”½q2Ïç+)ò00Y1y´‚ý€rn2€çË€îV§Câ~û2Úý4 °¶H‹PöÕeã@OX>+7@6„ñ YÕ•@©Ø, è¦÷õ!c¥Rü‘¼|N@@7^Wu'ÕÏÓY€[–S²ê¿Ýk”eïC…ŸA€çxØ›…`cúݧpmºfð– Ê§‹ö¼ÿF ìäx¿5 Ûÿ¤ªª@ ³¢äŸ M@˜—ÓGL°h%è„¢Ò_”î©_E¯þ|`ie±ïàÁ‚ƪÚßþö¯üaǪýLó3HSöÔ¹cð[øÐ§©go‹ÇO¶·¶gÒ±‚€#GÔ׿ S€S‡« 'ø%RÛ3[ãì*Àål¯{zv ìgd -dc _~¸h$Ö!%èß N*8E?·¾±ê¥Žªª×vŒddÐÝÜûÚ‘áî‹ßzŠŒ~äÅG€±¤%t>w϶жóçƒóìù;{,£ÐÖ¹ré½Ùt¹ÆØX¼ŠP€PÈpà}®ÙL}þt$òIÐ2íZO!—T@º(,ë©ý×by—¾- ùƒ àúäU„÷Í_O^`0*€>2B@Óbõÿû¯Þ½·:Ï”€}OÆP㿺rNø>zÈëÄ#8®,Ýÿbu±{Õÿáú¯(Q@€¨Û­È²IæìݰpõÅêNë&À°£ò¦‡?‚í°D(Ÿ­Áô°Õc cî–Þ¢7U„#ׇŠ<¦ýTúé NjJýO‡œòr¡(¬¬lhÈž¬ŒúÝ -Á™¥¸x×ÖÛð™ZZ}O¼£½§ O—ùœeN%»ôZB7ÅÞç1êÌÔ@¶ñµ“ë¨þÏ@\*ORr"‘Èæ=…uåsý_Úô§Ã”èÿæ²DJCÐ1Nwb*Û¿{÷î©Ý…§S»`ùZ04èü?{x€ë?/4B@@˜¹‹° Ò™‡òßé;jþ5'=êô©$Hbßñ°aFVŒ¼mCC„†NRù/ñ¤ðïžªÜ ëf‡é¥ña - àùãZ:ØñÇnˆÿÓ lh3äÿ6«a‹ò@#€R™J¦ª‡ÕhBÓú—0ÖÁ.M$ä eB… -€)€ëË[®C¸Ü¼qÖ7°çºܲ!àt²u/ ˆWÉ–ÒQÀ6ã½{^Ojã`\ùø jù½C G¡ ¼,@ÛoE ]øÿÚxÈ÷Ð - $Z•k>„À¸T™þ7ñ(Sìs½òêωcð@I‡@²:_0ß Åž¯ë+¨oyoÏžWvô·µÁ ¿¶¿@íH,€FFB€@üdk<ó¥öÖ–êô_jÁrÕ}úˆ*fGK{f;Øÿ cš €?ôìØAB¼½5ÞÏÁ]ôÚòÈÉôJw÷Ís"&°¾þXUU㱖̪–ö®÷Újw¼×Þ¸ïàÒŸýMéòþÒEá5üh°4 - €ùÎìžP2tþNn07—_Ø&ƒc—’³!—‹=~’\ÿ…¹¯ÿe)€Å2>==>ý õþà¨ç„@üS¥7[\Áq «Ç-ë©ë·¸Ø5p_2¹ -¾+¹Âa¶ ^Ïê úÿù½¤Û×GÖ]5„kÆ@Ø@„)0/àÒµz÷î%ºó xR {•­€@§ôÕÕQÛ/Rà»1X\\¹·ôMn ²¢L€À!‡.þ&%Å>LÄÂßÁõL Çt§ôÏ—uEB$ÄM€á? Âö·¨÷Þ(*•R5*Oú9ë¤)p–U8ñl‹qßéÙ¼¼<‡7 ©°TFÓ‡¯Á_| jëÖ‚:úÕŸ‰ê+§·÷ÄÞâ<Ÿæ±Ú.Ó:}-… Ó ˆE4)Q¹A|í\ÅÌäúÿ”ÐJ|ŽÝ -x úOÎ?þ%—ÿ¥oÿíÏõËW_)•³e®LªIJiÔþ+n´¡aª²rj÷cÝß{b¸~ÅØÀèüó÷‹@`‚rä/#ôpaá®»ŠæçLàxª>ó·¿}ïõ6ÁÈ3ÿß/®1 `haá/T»¡<Ù_&D­'ÛQø[[Zé².ÚOfijژI0Øÿ?00B?£¿5“>Gÿ ýÈ,¸³ÌP]‚ ýܹSõ§ªªŽ5ëh©ÊlwõÿºöÀðð¦oˆ³öÒ}ã—f€wq:¥öÞBàÎ,Õs3²þ"–=wFº,‘1×|'t~Ï$(‹ ÿ1ðåŽcø¤ëÀIK02Nœ æFäž¡Îÿ–™ÚýqËtò‡–3Ó–HðL2âz7ˆþÿ V©½O»æ“–õI± ˆ‹äAæ !@fÀØH¼*ÌñáØà±±+¢Ú®ŽZ/ݽ7Šä"¼ú$ËKðX¼‰=?ž“,ÀU@€G}#J‹õk jT̬±»OOS™ß’s;I÷°ó¯¤Jð3§†€F¥ä>RX³áIŽü?À|?Z„&x qÖ‰|Bgd¡Ê0?ç6ÇûnϪbP89Y˜½;»2Ûß>#á÷ŸÀ  {ñ™å·szûŠ|Ц«6’ÐMò„)ÅYˆ˜Ä(Cή\ À¨LçH¾]×?g¿àÊÊu3TþáðÇ€µàŸW阙ù8;•MœŠôEòƒ¢²;Šò¿{ò±ïðZ±ˆ5€n#Ðx×· xPTò›"a_žrHéTÀ84§C”ÿ…2ªÿmÆÀ+ÆÂ¬…:91ˆÌ³zVúú²7Þ(û§<Eþ"ë4žztžç3ÿ£†‘¾ª@¸ƒqÿòOµÿ²(ÿðˆy@EX“TýŽÿ‘€¾çÀýÅ›‹ÝôZw°þ—=¿íoÏhkk˨.@t €eÔýV€T«%r²˜ïCÈœôþhî!ûg %ÁHºùåtaþߊƒxºúk[Éݯ§L!p0À±#-U@-íñöþ‘ÚwÎt¯|céÇ»c×ñ¾7„òÿ(º  t'4›kqY^ž=çüì·çŠ$ÇÆ’ç-®Ph[2 -&¹þ  ò hñ ª?>þjñ͹׸%4î²L‡,@ô*ŒÁýHZ†“Tþ‘´Þ2<ÆÁW±¸>2LåžnÂ6àUÞ œ°C‚®Š½Cט˜À ÈÕÇbÀ»«—æ#œOÔ÷d»H,b `qõ‹ûK÷¿ ¿ -zʼnÿ[Ò…¨´hšÛwÈM@AùWÂTëˆò“Dÿ¯ÃÖVÀ&-,ý3Á^ ¤_Fòçç6:-Ø.ÛÂØ{K‚3j8Ì2@ìöqê¹òÁ¹'z^uu­mvÛ¥º¿SÝa;¹ï´Y=Vnÿ‘ÐT -' ¶†á’«º5]R ^$RÒ€n]H¥®A¸0‘šl8-oYnn¾ÞL¥; Kƒ^'uD˜¥[66gë¬ý—ähØ þ«™‚°YÙÓ‡PˆÌ(âAÀÆ@õë ïÇ<pÞ¸1P=ÀÂ:€‚ ßFp6€" ت#ÞÑá\ôQûy`Gƒ0ˆ:Kx˜ˆ àù<Æ4·à†¨Wèì #@‚0aÅà© 4}ÝuW -Ž}ð̶۬Úx<£ ¾Qà0Â$€±}@í_ðç³ø•Þ²Ú²2²²úÛ˜ PØûÛo€Ž¢ÒÏ;vŒ`‰úÏ -€_ÕfAWxïÏ”¦•Õîn¬8Xpê$ï´Ù¼·%žyªïODZÂÜÀ°9X1"WVùaà @„*°ùÎ={ö˜gïÜ™5[ÆÆ,c—¨¥¶Á¶¹ ÝŸLZÒsÿÜŸnËÍ ‡¦ƒÓ2›#Ó*öfªñã¡õI³ešà„Ù„6‹¡ †ñ*B†“ÃÁäú±È‡Tì“HŒÐ'ßeêßµ>2]@l æs( <æé®°)ÿѱù»«È X½;JŸ¾"n]½ù˜RÀ%á€!V*ÅþxPŠ¢©ŠÏí£žÙ­ºå „ ²|Ãvêä%¤JpÿÓàì¡ó øÉc»ŒcÉ<6é2=¿Ãx¦‡ñŒWMMLÿC(Ãà¬x㘀.î?À"€Š£ÔS"¸ÒŸ®ÿE%…N€Ò3xêå÷þÿ_|NIwè²È.Òa[¬§ä÷Š"q»1¬R¥BT‰2&êL5€ÉŠW©ÿÏÿcýŸQþ©ÿŸù¸bÝÇëæJP "F© -*{ãhxüû+œö9 P„I°ú¿>ކ @9§ãØU¸»øg„ŠZ©ü·úå:äÖ|œNmA¤ž~oCFý÷¦Eá’á -ƒ xF0ePö†¯ÌçóÓ«Û_ÔீÃG+ŽVô†tñÜq{½Þµ½{DèyDß/vE€H¦wlø ` Q£²=€Ðý#ù/  Ƭƒ-å…Ôï'&èÖkÀòõëN@V§$9¬ÒÓê¬NuÖ ÍÞ<°ªQÉj ªÿ6ƒ Àg¤Á‹eC€¡ÿuùÂ…ýÿǃÞ7¼Ä`€ƒº~XXÀÀªó - œª³Õ ˆØ‚Ã0&XØÁKœ®1§Ø‰x)"@êx"°ô€õ²¯ƒuõßÓÞÑþ^¼µ=«–[v£ú $ÀH-7ÿ¸àžnû@p˜0 - @uœBF†¸ êþ&ÿ '¡ž?üºGø õ·îÝ›™Á¨ÿþ¬¬¯ùþÀôP$À¹ƒÏúeKKU}Ký±cûöQýÿ:©¿”¦VÖ¬ŽÒ3€%,=Šplûñžó³çÏŸGÂÏìžÈݱHäV®9ÉK÷®ÈÚòÛþ&ƒæÜ\*ú"(4›ÇƒôÂTƒg\–_L[> YÆÇ“ãF:òÀ¬§ë·Æ,Tó-BH°`ø•ûá¤pºšvñ`é¢ù¿j\ ýŸOï\º4ºJ`u -‚y#+à±I€/àpsñæ“Æ*QýW·¦iÑwÍïPµ˜Ñ Ã׋ž±šIå¥^ɤÅšdCà7Ä^:·‘úi¢§vض۸ÁÁ+ÈNÉcª2Hi¢:ÙÄõ? T€ à€~ç0ó8rŽ÷B7 ©øDáo˜W|¢åÀmBùÝÏb˼ïha1•1ŧ+6]æ}IãÐe,èˆDÐ/ÚL«hÜ#,çˆhÈFðöíÛÿØÐþ¹Ú*ÿ¥s¥¥ÙˆD’Mz*¦Ä$MI4TV®£Òùøw÷**4bÀôñëgùk€ué @NãQ”ÿÅÅ(ÿt”äµæÑ¡åùòàÛ¢ Þãÿ²eeCm7ʬ(ÿ0†e‰8#aBÈA¼`¨úOù˜€ -‹œ À~@”ç\)îrèXÜËѶ\ÿm€v–þÙ4ßBˆC -ã)`8% &yN®ºPÊþiV¤A+Ôü ÿ òÄï¡,]nÞþ¿Žçœ:¤¬ÊÊœÿ 9Ý0b–ìšì¶?ŠD?vöZSn‡òñƇ¼²‡.x‡×?º10ð¾÷€VÖ°Ð) „ôc¶¶2ØÃû`«ü7f €ì° P:QÀ,œÚXX숓CXHáE÷÷ðtå_ã¡8XÐòíõ™µñÌ8G Zw‰âŸÁ‚QðÙêÿ©üÈê<•qqµö^!Èò òÃO©‚€ †ûÛ÷b _tÑ÷ÇÛÛ_ûÇcP¯®„êÖ>L?÷jD°„†Ñé#4˜'ì``„dõá<§º\†)0ô€«cc7ïÞ½4æb0?:Ö=zstõûýU4M¯‰*šé¼;ªÔ()ª÷aöëÿèþÃXù ‹žîÁvmFø1•n¶]î y.Kô|7Ñ-& -‚à ]ÿ 9Ê–å¥gŽ -€u€…•»§4¸Ýô®°õÀªÞ‚ò¾gâ\Gõߟ‡PSA‘ ³~ •³~9È„\T–K°ã™¦óàó5E€ €íû/þñô?‚ÿ¶cø?7Wúiiviv"‘Š}.§˜-„|ëÜdNå=2Æ Ž£é¥ï³E6êNkØý?Û¢ÿ?±ëgÅ?Û[´·¤¨µõP^@gYMYžSsÒßÈÂ*ºÃ[6t^Ê8ˆË?ra â÷4A"‚Åéôåy >ß¿ø|nE„*Nn=<Ãg«Àý¨üôQW¿Qþ׃0?]†ðoǃþGÏ+;øÔÆ[3ãTÿ3²è«³`/œÑoÝÜÒ¸µþÏŒ¨¯¬vßd pðÔ¾3YxsõkS ž÷?TúâV9õ`é3€{«.„f÷ÌÎR™ŸÍýñž=£ó÷1›-Á;³‘Pˆ€ÆÌ?dÞöSÐû€zjóCÓŸX,¡i*㹡qÈŒçZPÿCãA1ù§ÚO—H†#–}–qú™Ã‚¸j1°ei@rñgO@¶ -€€q;‹0¢yWÚ°C@\š§>ïâm€ÑÕ¾Õû÷¾¿?QUÃп†`€æ¯!àVÔ0½ÚÃlïH¿°J-h˜0×ä}Ä4êð)"‚tÕÉþœ?ÃHŽOsÞ -VÅ€ Ù@pþazŠì“Ä3Ñæ•—o//  Ì44TR™Éö»'Ëv—”œ PW÷,€Ï|×œŠ¢Ëhu¡ì‡µ{v€>Dv, aã†ÝI•CÒñÑçºJ4‹ÈÞ¾}ækÓ<Ãøwû«3ýœúÿ¹ìl”„ (6MWwCå:ª•Otwï ZýJZh ¸[èK€œÞu€€’×JZ_Ë+Ë+++{=¯³3OëÔtŸ² -8õ!g™—JÿP½`ÕßÁîn:¯‹bð¹Î3!x#=ìÔ 9øÀLøÜÑ·ð(D(Ò迬¢"§÷vÁG·±À÷8çy;Íß-h`ó4üÕ†àNú@B`1—j€Ïžm¦f>¡„UÔ£ÃÁ{„(KŠ³êƒ¿Pã¿ðûÀµÀµ] hFR8éN‡S²:ô6ªŸ‡Œ¹þr§Õnÿ]RÏC†Àc"`Õe«œV°pnÐ;xc`è\ñ‚ƒ ªø6^´‚ˆÅìôëÖ˜äÄß7œ°ÓÙCÜý0qÁg6õ° †™âà&`€  éN¾`žŽ`àf_ßÁú¿ÿûª#ñö–8Fö="§§¶¤gä¡Ma $J>Êû_ýÖèªÁ.–ô‰É?\„ÒÝϯ{þ@×F0_ˆo~)3#â  Fí™ç^ª:w®££þQà"ÐÔ¨õ¿¹ #ý›íh­ˆVéë“€ô¹r…›ÿÅG.®B{‡^ƒ6¿|þΞ;‘›(´ú w6Ä>@‚ýOŠúŸ‹ù?èÔô‡Æ-æq3'Aú'“˜@@·†> G‚g"A-g’g0ÿO&…,+€X ëIx]à;®µ(—ØHÆØ`õî%úM\W\ìxóÒêÍï‘@\/§µÎCš[uGkÜ)hz:õ F¥×U°zšÎ¡&5† °˜d³™8ŒNó±°+€Vˆ{íb@÷ˆ¨³°€`ø¶©9ДÍÕ_–ŸÉ/p¼`;ËŽçG;‰²R™]9ÙàvOú -}%EP<“¶r5gjªÁ‡Ø$þ?hé9 `@"^À* ûPø±?ÁFĄ́˜@ÇïNL­›<þêöÏÒ…?mü‡òüç3?ùý?öÿñšH©ÿ].ÕcQ%ꯜ™ùh¦â ¡ª?€|–.þÆ*`·p怂lž®"°«x/¨ÿ­y¯—塸—åå9ó|„´7`<äºÐ6ô£!o™{ð‚æþ?6ö!M"FU5¾>'ê¿oý?Sþ©Ý•Þ$a X^ðQ¹X¸R0õ¼è»_rxyo'À’;Û°Ù.³ûT -UNn(5*x6þ›a€¢é@J¢\©k…ÔD -#€å@óõ-×—›KÞ2áäõC\8·°š„ŒbI °A¡aœ&ì° °Ê ±À†-Íìýp]²zoxÌ;pAôÿôj·Á b6T¬ tèpó£WEŒôÓ‡ -?ÏclÿPè†x"Àò ”v²Ñ}…jÑóTý¨ÛÖTnTúéâþ¦‹Ýß ØÀ’»'D DõÞ5ziôþ•Ú`n(˜› % %û~âE˜þð:`Z K$4m¶XÌÁà»$ÍãAú(€ð»[° Àä0Õýa€€«¨´ 0° »®Ò3¬ ¸š4¦Œ®FæñqÄeìÎs*¶ùÚýѱ3Aq{ßèêè¥ïˆM­“¼;ìŽR™âÃa%†3“ä¡þ¿¢…ßAH«Â³a¸J¼ê†@ì - 0v„S*¶ýD ÐÙ&9Ñ$³ßIâÙôÿ/..² -$x¸\ÙÐÐPèŸôûŠŠŠ {±)ø êañœßUÜzJþÿøÝRô“H˜°@™ÒÙõŸ¾@£Š-ŽQ¦U­Q¢„K ˜YcþEùÏÿ’êÿqªýs(ÿÙ‰h -\K¥>ÏN˜ ÿ›9¾ýÕãOv‡ïq ÀLêÄ@~÷gÝâ-ß@Â@0[{ OØ `oI^kk^^#€2zƒ -`Á§ø4'uþeTþ˼m^§äìÔá  Œ;TÈʶ|ão{ÃçŸðO¹ý °€…I6À ÷6bÊg-às—|ºÌñE–JõÎj«]€ €ªG4Scªø¿á´Ü|6ð; ièuÖ:¬ÿä4ƒ7ÿ1 @å_^¾Þ¼ O [ü:’|ÐØh¤ü\—=ØGt$dÍãH—}Ñý‹Kžļ©l Ë;!–ÿݸÁµ¿zÀ;ˆD ìÐ¯Æ -o8xb’•úx õß Ê‚å‹B÷Çüs¨0þÇ_a„9¡Hf€%‚°ãB(/ÀSôÿÐÞìîë;øe9Ÿþ.*Ò"˜zûkG؈ ôg`ð¾à¡Æÿ‚úíÿ;ÿû†Ôÿƒ Ö¿¿½?ÞÖÅt&/EdTé(ø÷Æwlî(8õè_wúæbßÍ%Ñì¯ý+FO´²Öø/]ü:¸ÈäÿÊ&h -¿‘ˆãVÿ<–ýgggC‘±±QËïÜ¥’: ¢Ww%C¹/‡„é/÷üÐý‰P±ŒX4mÎÍX 4O3F Æ©þé+‚°ãT‹å‡bz0l¹šL¢´dM@äÃaŒ¸ðó¸ÀP2@ÀH`Ì’ €Ëˆî3RæïÞ[KZ®`qÊ€Õ¾ÑïO@]=Qñ•0–Í¥FQ%vñÑà ±N‰³¿ÃIc õ+—ñäÖôEg…·Þºìa³@ID€‚<0Õ°«pJib`zZg-î³²}Ë/¯ÛnŽÏ©XGå¥2»Ðïúý»ORû×ËsŽNEý>%ªQ¯¯›RTöxô¯2ù7Å/,+:ìÿñ»ë&fÿ¡Te7ÀñWPÿYú¿J;¸ÿÊÊl>ÀŽàÀUú¶9%ñé:X<Èz|À•+忉ù?Õ¡ -àKo7n=}ºªðÀâÞh-ÀNH5-OS4*ÿo` Ì{;e^§—!r„þߤà -ÝÄI’p{S”7|¾ ?0À¿° ˜¬›¬àP ŠÞŠÞœÞÞ - - óâ+W°ºø\êWx½éU€Õv+oÚìF0Šûi‡gÙ -Šy ÁWSk)Ý¡fœÖ÷­ƒÊ5™ -?¿—¯Á?£™MJá°qc)•r§ÕkµKêu!èÛ¸¼,Çì?’"Ëgpå·òUÄX ô­^InnN‡l\–‡½CØ WÿjìJÿ°€=ã¼§ßM‘ë,Õÿš5Àƒ@Öø™Â,ŠA -k# mÅ 8<<06Ï ð˜`é! À@_÷Á_:Vç¾øŽžfä{~ûÛW~Û3RÛF £­]D©§Úß&Öûj³x@4þØäƒŸPþt±u (ÿtôüzOèÖ¶Ì×Û2Û1ù§·Ú_Ñ?7"œé>¼ùæ)¬÷¿]PÿgÁòâjw7§ÿ¬å}%þò| û¬üYÀ*@è|0w@ÁPîy,^…PÐßý\ª÷ˆþK²œ/ˆ¯É5‡,éƒÚûPp<ø®Ùœ£è“CãAsÈŒ@ éqþ2Ë»¨û¦aø!j>êÿUêúÁÿ»nч˜ þƒ# «ó ˆ -¸ýwÍs1Ì€„€0›]½´:fáO0péæ§>æQƒr®áÕ-©rDv8ÌÞó˜û#ß[…ü_èyÑñ«t›¤Úø‰íáþ¿KÎvñ¬–¨›$Š”?Uød!YêôÀ4÷Y €ío?^p€Žj/ ¦v7ìžÚµµ·¼ü»ªWsþmÒ?åN(Qz|R<ßO™¨Ó‡øOTu%¥* m\ƒ‡;}]Å 4…ÇAƒp]ÅÌÕNý™ù˜GÿTñ€Fôÿ‰ì9ºMÎþ¸!{rf;üŸð.3°Öÿ‹òàn8D­Ù# °œRoo}ïV‚»v±`o‰¨ÿšÛ×™çÔÊœeXPœoˆ5€ ?ºp¡ÍÛ¯©SÚ`׃·€’äW'à LøøØ˜UÌ€È!ïâœ+å"Á˜Àóe ¸¾ÕëÀD›zgl߃€Š^8ðPc€X¸¡9 Ÿ=»|–Å#§rQE] ;u9 Y­ï/° Õþ ™·šË×áà``Ý)Y½«Õ¡ý§-i‡ßØÀ ¡Ò¿(qég@F(ç¸svë`¢ÙÈÚH?qÂ9ä½0`½@õ¿Úˆ¨ÞÉB@®ûV«ÇNÅ_H8ñÑf°ÂÜÏù:k þŸåý¬fÍÈ…ˆ1ðˆa€$8Ø… -°m¢ýxÌòÿ5`‰Wž9R_¤¥%³½«;J?5èhå³^ÏàmÀµþ?#«-+N¤mmVV?Èþ,Vþ³@øRõÑ¿ƒ%¼²ÃPî©m¿GíV†øú®‘¯z 0ÈêoÏÜ[pîTfûæö͇O½ýç“›ÝÐó­ÕðúFß¿ôPÙ_y 4nf ÅG-®¢Ê†Î'“æ L€è¸³k€£c¡ÿ¶ æ:.3Œ€ÙöÇbøxà À ¿%„m?úBs.µû©ý§ú?> ½`dzœé4ÿÓÓ·8 )TB˜¾J€¯ãÇb=`®ÁÃ0€Z0Éo7p¥gBÀc€±ÑÕ{wÙˆ×Go®®öÝý^„€˜QBðÔ¦Õ¨žN?P$œ¹Ù/ÁÀcRuO šeUéá˜&¡þ³ù›-ì0¦'õ[ 5sÀ¦&MœÜÄD΂xVnt $GÍT ²ðÚüÕ™£½ß™S¦úb÷œ?:‰Î£~öf3|€"#­G–à{=µ2ñÞ€7@CåäOŽW`Sºý?þ*UÿJ–ýËFï|Tš]ºn’nŸ›™ü9ö6íßô¤wš­uÒXþuò,ô‰›Ò>€9½·©þoÝuúÀϨþ—µæÑkž–'ؼ(º²à3\€èåGCmÔó:À]CÅ.¡›560øàEºUS'(÷ЉÏïçTàÝ•…ë„%p€ -Ô± P`8óòB_þs$øÏŽ6L ·¯®ÞiÿoÙwÂKdžÉô4I@ÔO Æä`_] f.®tU (ïÃÌÿï2JÏšA\/5¢Ë$,ýym-ágYõx=?°ÿÀª$Tkzöï/F’ÝË[}^»|]ÌDŽ “Ú~¯€Þ¼vkõ€•ç€ ìàÁóÝŽÚÕ}Ý©Ia˜ù‡Ãé=LXýæù?x êù¹øóHHH é¬`\‘Ä›ð žj°´´r³»ný¾úúªw^ÊŒ£cI?¾¹å#U™qjÊ©ýÏ‚UoZÑ–!,~â`þAøguñnÏòkÅì„ÈÜÿ÷0 °ûýïá'ôsþÅWvt@IКÙx.'žÑÞÞÞÑØxê[ 3ñ+`¹ï¾ø¯­õ~éëô¿¸mueéþâÊʦ•o¬R)MgÍ{öÌŠ-À\êûG’Ûfs]cêä“—aÌ‹ü BLX,éMË8x~³ÅŒÑC‚Õó¸%ÂÕ`èBŸp,€Ù$,` R•ÿ -ºEÔy*òA¡ æ¬ºÉøÀ0fû ’È!¾Ê†€‚`C N˜¿;ú \LŒÂàûÜIó"”T­ñèj@§‘ð {o9À£Šýÿ0½ÚÃó=æÑñ,ŽÇ Œº„·.ÛbH£F€~"ÂeÂmJÁê!@rJVž•0Ä@Ç!¬À€¹RLš ·Âð; s¶NWN4ø¢n%ŠE}º|ý}][äЩTTŒ ÀWA, °0»²¢"MlÚd´ÿXüã­?DÁȼS€ë¥ss¥3??>·î8Ö7}Cpà·¬ª7ê¿Át ÀnÃ@8@xûvãé­§«Nì:P| xïÞ¢’¢’Cyy‡ò4Ÿ–§9ËœešSqêpÀ AC°@%ÈÉÛa*;"–Îøœ&‰½p]vP”7Žð»ÿ¥È/" -…¼**x0'§üöí+éÃrãž?Gj€¾<¨Æ. Aˆ `xêy„0æ‘K‰±¼¼…šúhX¤êxÐ¥ÓCé”S’uhpð÷ý=|е9Š©A)¬l °q£âµRù§op§ €-×åN*òõëEŠãÁ" èÅʘ‰å4°‘~¢óÂï«õ°@`X±Xc@@B¸·ÿþ¯;UÌt]ƒ€Qlÿü? C - ¼ 0H/ˆI€'à‰ùO¬0 -™s1ÿ7‡PõÍŸ@ðIÈbù$bù$8}&¹Åe}˜E–ƒˇË0ÿPÜÄ`#)Ô‚ŒðË¡=à@"fŒ]€1jþÇæé>c`t,›ŸG.ÐêêÍïcÝD­¿Z“ªI©=}uvvh÷šTøùSV%í²¤ЛG• 2Ycaˆ‚lb¬ÇhÞîyë¯=àcT˜å©l˜bJ‰æ_VäÄ3ÀblÀ`Ý$¬s -+Ožðô3åÕœ£'¨þ»ýî¨2aÒ©þ/˜Rƒ&“é}]Eày0€`ÌR Ððgà­\WñslJ·ÿ?Ÿ™œãÜ¿„ÌO HÈΞ›ÄÆà«¯ŠØ€¥? -|,Xt¥Àh¤9’^¨ðw‹êo(˜ÀÆÞ­õ`#À’¢¼¢ͧäù4M+s”ITûŧ,@pÃ[v¡­ k€^4…‰Ý€u5Æ €Ø4Ü$ùGל>å ŸC€¿óÿ@±°€`Å$õÿŒnÜ./ø¨à¡»mÜõîÏ_¹º´úÿ÷óýj}ŒXáijcô$;Ûé0.¥’N`ùlsàw†”Nëb†sÜAë aJÂÌXœä@éuf–—9Lpˆ܇PÌS =߯æNúú=P"y%¡F¨æ€m€™t^‡ ¶4ËCÖ^êû½^xÓnÀ,3äP@ú‡ d”ðÝ©kbèÃõ_}h ‘‹cÂSBb1,Ãø¡€`àƒ00àÀ ð¸ýÿÃ6@+« NÕWý²¥J{VÏWñÌŽªÃÿøæ›Û¸«£åHfÏHk>@i•[üd<žÏгåQ>]]põ¯ízÏXÿÃÀˆ±¸#­ ú¯í#8«ŸG===¯Œ0ЖÙÒR¿¹¿5 À;»S7ÀAè¯<´ø·tñâŸp°²´rsÓÊ7ž W9ìwvöÎêÕYé—;{'twCvª²³çƒÁäìË®ˆpàB„¼Ÿ¯A@%ž.~š¢3ÕÿXæZÆø+Ì, ?·˜ƒÓÓIº12m -°X>´ˆŸ±?d8`Iî³ì³ ÉÅ_,?A®> -ÀèöîR×û=G ›—Ü}öõ_–kd%UÓ¤ -æAÀšªhˆ¦u'0 -ˆ™` ¨«Pèðÿ‘Øñ†e¶ËžNIêÄSù­Ë6f¤PçÛD?%Õ$Ó"RªÁÿ§žmý¿H嬼R¼¤Çì \9UY|àDo/5•OÛK.æœ.œ*ö_s_Ó ¤”®èìû“¢B7È»þº®ÐYz"[NѧR@< -zäã1CÂBÀô&ß~±û÷·3“ë0éÇ^DJøˆŠÿ§¥ŸÎMþ|æUžüåÿ‰%“KWPÚÓA#`ÖðUA”ääôÖSý?} êÄì”WrÈ—§*Óò¤2g™Cs:§²@Ù!€ p€ . ¬Œ©’ˆˆ' Â_l¢ù‡ °È¿Ûˆ˜¬N0¾Sp»€^…ƒqÔ}–ß××Ýݽø€‹oŸtx?üûN[õNv`G Ô<+N4gaéÈ*ª¥6,òŒÃ¡[­ïßHMüõÿ½È -Ì„¸¶1úÂ>uƒ‘𻜠:/´V¶s!sÿ’×ÃvÀ\×ÑÄD’0ËŸ*7¼^+…ÐZmõò—Ѝ!«Š}?²|Ã5š†üŸkjXS%€YÕ|äðýq„±€E€Ï¤˜1 £ÓCÈäx<àë -€¥Uõ§Îiɤ¶¾ŸêûÛÛó7‰æâ\Õ‘ŽxOW;ü~ÚÒŽ?Y¨þœò“g!–…I Aÿw½Ç?ªú{ ´ÿxƒKð^ÂY""€£ ÐÖÖÒ²¹µ6ÞÞßÿúßtìzçñ~£ûK+kEÿ€Áðdà~: `éâý57àÅ›œ ø§ @Ä``ñšÅ‘›º„‚:–4C!Ü>z)L®mýñ6€èýÅV€%¸-„]*ù³¹fv åæB,n Dõ? Ž“À ÓÁ[Óº´XnE’?4~à‡¦ÇÇ ì"`\LûÖþeþ{ºÖ  ûßK"³àæè½Q te¬oõ.8€gj¨ê¨5rM“RcâtrE‡$$vX‰a“Mƒ‡ÍeU±‚ÔÕu=m1 l¯8æ—Ã:7m¶·`àA|€Ä+¦&¥I@ÿ¯ªÈA+§<ë'Z9!~ɳXø´²Á?µûÄÖ­¼eö4?z¥®··ðÄÔTÔíSÜŠ¢c¹] Øÿ"€!€lRdEV°¨š`EÀ„EÄ+Š àäß -`?ÓÿXýƒò/ ²à±B@WJKçDû¿ýK‘D`é)V&àï':é>ôÑ\ôñî³>1à(€:N*¸Ý»µþtÕ‘0` ¨$Y€0¦êWªâ ¾žðµ•µY1 ŠÖàh.À’‰ÿï›TèaˆŸsÁíc€b&Ä& G0_“àmÞ¸} Fuéí…¾¾Ïúº?[\\]yNù'áàµW[mÕ @…6ºpÓ±ÃMÇC@–ϲ±o @Ø1 -¬ŸÁ#‰êïЃƒºs"i- œ€à ÜÜܼ±Ô+|ôNì³eãr'-ú[;D@ ’Ø`>Àa•äÀu!`è0åº`¨¾%//¦#¼Èu yìÜÿó€ÆëÿÌÀ Àˆ÷€0‚ À¿ˆØBcaî¶@Æawð +^Z!°¾~}ý±#\ÿ¿êiëØ¾I´ Ðçoni©í1¸ÿ6C€”Ÿ“ør¸ø ß¿Z1û§wï±úWýéJWZ˜ÖŒ¼×ßßž™Áù(ÿ]_Qù‡ê`¤?+£µãH{W{¼?#£½åg-qZ]¢þû(í¦ÿâÊÊR°- à˰ˆAÀ7²ˆVGHÄà@ ¿Å…‚¿<ÿò6sˆ@nn.fHbS OÞ¥¦?ò?ƒHÂ`Ú2Ì:€à>úì‡ܺu À¾[bìB@A\å½ bƘ@2½`îO€nw]ARÀ3G²%áZ -þ¿¬ÚguP`ÿOÇ“›ú^ø|cÌSÃ0ÿ7…c<¾ÓæÿÔýÛmoy.#òTŠYÃ1øÁÆ 8ÅíŠÿTJhåŸù3mÍè.ßg`nª¡¡ÚÍ­·sžn -°Z¾uë‰Ââ†"ŸÛM­,,þQþU=3Âï(0rC2à Œ¦Ÿ~Q5E·ðBD€•ë&×1_Æ~ûöã3tÿ²áù' 8C€Dö§sWÌüü8G -àé’{i |®£† ˜ô r‚)ô6öÖŸÞzúô‘`°PR’Wâöùù4gY^™*@ͧ(o8œe È` €„²å”48Ù¨ªhÿõôú‡‰#¥èaÓ hP\󆓼`°À @iî‚îx]ßb_÷3Êtþÿ@ -x¤¬  š“xìˆÒµÃI‡'dô䈅åÒ³2ºù-×›¿ÓUÉ”öÏ£Â:%«cÐ9¤;ä‰ 8f"(›Úþ3¥Í,|¬ˆnÞk54gý¨òÞ´ë{ÿ ºù„^×APÝêñ% 4’7–ú¬Þ hÿ¹æ X«íö˜G°8m°¬sþ_&Ì> # HûÂüçò/äÿ€…BÛˆÆß„[ÃÆøÿ¡qÀ ð8€‡€¥û++‹ÝϨjÉÌlwõÄçïïæfAŒÔÇ÷¶wa @†X÷ψ·ÆÛAð. öø„•ˆ -êâ:OÕÿ=± >WF.ìhßÛûnÿá ‹à‘‘Zúâ/µ´õ··ÁZàoöV| ö•רÈð8 D Á`€EØèþf€+9±„ö0çRó?› -Fàù_n0’D­§šq‰^ŸgèòCA‘LïÇÍÁܿڲPÝßfÎ}9לû¶1QýG€ÕÀw#Á\˸ËbþE’­…|°Lߺ¿õCˆnYÆ#Túßõ~Ÿ± X€a£ý·D̈ˆ¤I HFû[466ïE,€‹Ê¿k¾otuõ{Ï´þ£cEenR䦌ªY_°üì¨ô#@˜½¨B¨Ç4c»/výʼn筘džµA/ CÈ”jå¿ óívá À÷ðT;mù_æo¯ÛŽúU€ÉÊʆ©lÿµÝSÅ' -o³ ÷IOçå§sNVúýQÅ7á&„†Æ„5¿Võ»ý¨¦A>Oë²”~O_‚iÁLNÒýrþþ|jÿ2¹nÒæÿ›dS o»VZúñŒÑþ£üZ„«(S¼ÀkŒu&s»¾·w+[ó@Ik‘/^óò|eehÿXXx÷/€¡2Ì.@è"–~ÓŸ§ÁëÆ¨˜tj}·Ï·àŽNø§@3È +Ò‹9½½ô_Ä@ÁGWÖ ŒòAW0°ôœœô¿8í Ç…]¡ cØéHö˜‡¹ôT)uö˼‚ømVÃI¬ R«;©ý§ú¯M\ \K@V²H´¼‘ Í×èa§_j`.¿TrE¬1;…þ,„˜xjñY‚¨Js:˜…€Cƒpd3`°ÿ<`3 ¬`ÐùÔøw @lÆÿñTý Ć¿0’€°:KØ s"ð%€ç…àI5€\3—..Þì;uæÔ©cG^Ê|)žÕÓþf~þþMbPÀ  =óõ¶Ú‘ŒþŒ¶8}@¼ ¯mYYl ü•°ÿaÿ¬ùd¿XìêZ#jû3FÚZ°ü×Úÿ]ô¼Âæ€]µY,ÞioÆ@í{m“ù³Çè«V˜0– ­ŸÁü¯¬8`%Mÿ -Ðgî™À+ÝÝ+ß0¼{%ér%Cw ÿ òœ½;ê -a"š?± Õ†ð/)ª¾…@Ûÿ¡†cÛßœ»m[î¶Ù—gC³/¿êþ‡¢þñߺ•dŽ i €‡¶FÇÆ¨ñŸ_]2‚Œî®^zv€œä)TþkdwªF5Æz«·TÎûäkTÌ%Žy׉ŸÏÈÐ=@ÔK8.ã¼ã±ñ–o§$ÄÂôÆ?¼BSª)¥pETRÐ íûŸÕ3‡¡h¸ÖjÀ€u½åO²°T×Û{º°°˜J–?ê£ö_R¨Ÿ5±= ƒô‹~zL§ß ¢€ß7˃©¡wLÁ'®¸FÑÄ\åLÎÅí¯nGè/µÿ“• x"§¥L©˜œm’‰ì¹ÉQþŸxõÿk@ù•‚K\ü©f >¨ë®# Hˆ·ž8À&%Ey¾"jÛó°à„¥¯SQß‚“^ß(ó–• yÐH^ÉF¤)ÌX›Ð2ÿ%wìjšâÐ௜"@/»+§Ö‹€`zÙðöí‚ÛWØhÍÀ¨û³¾îçdÀÇýÛ­Tdyçžß8WϾa‹>µ®9=Ðo–±K/VhÁ¥ å¶:œÎAç‚S_Pp„å(½gó À®*ÈÌp”R)Ÿãÿ;vÖ¢«íÕ¶i?@ÐbÀÁפ(€°Ú²q¡@VÁÿ߀€M¬Û€‚ÍÇЩ† %@8,\ 0àïÝ`ÿŒE@~Ç¢@‰9Ï×úÿ ÀcJ—ÈãVà|ðÌ©‚ú}GZ23Û¾jß~.SzLÀ ¿¥½­½–3ÚØ(‹€²&ÁÐñ{.ÿ]#ïá*€÷x kdGmFÿŽ‘ÍÂý½ÿÈÈW==øWV ?èHU?íïõ·oî¨zŒ=¥WÓÖÆ2À}z\•Åxa²mÿ¢ ºW¾‘ˆ¸’Á;"07J&©î]£rk…Ì" ˆjN_'D€As0b ]|:}óO_FÌçg·½<›» {ô=ì@ß:ÎáãÁ_D"? Fx*ðCË8Šþ¸98ŒÂ>¼EÇø-Ë­aûóo0FûË2}‹î.x bÄŒ‰lÀQÄŒ]r]½´:*B¯ŒŽö]º ?€gó÷Äfü¸hRšjd–þ§”°ªz$d“)f‡lz¶+¦0Üïc&…ʾÀñ¦˜ÆÀìh—lö·.¿ek½L„Ùü¶)¥šèg4©räP© ”ïå¹–öµù²ŽƒØ @Cƒ¿á›ÂÓG{sʱxûqi€ÅºÞ­GOœ ò?áGž®Q/ËDtÿPÒ¢ÄTX-ÈÊ‚ª§šŸbø/¿¯¢¬cT RU%‘¨œ«€¬ŸÞŽŸ\·ÎOíT埽‚Ô&•sÔÿ¹‰êÿ¦ïö€@93lÿÃ&@ÝÆ ‚èE €°òï-)q•¸¡МN>t ý NÍÇz9 2@§äpêT $ž"€ XqS1P4Ÿâ‹úýSø?¡‡´xw1{‰EÀ£½½GXx» `ÍÀà³¾¾ü>êÿWŸ§óþÁìZ½l¿<ÍêN:GXÉ. ðÞ–ëÈþ¢ºBO¡ëƒº€)áOÀD¾Œ–›¥Í¥ú¯ƒj¾œþò™®Z=R^žÕÐÿï´_®fK Vñl• Xµæ„'ðußÀ!ï@ï ¯hýíö‡5¶æDwì>ÇþÔh5ŒðÆŽ¡i6Î Îå©@RÚCˆÇ±tïñ@Òÿ¸àY20è‚»ûÖŸ:xªþXKËKñÚ×ÿ6ÿ¡úÏ cùõíTô{jÛ^ÏjË€ò?#.6a÷¿.Ñÿ ïÿ‘öþEÕßâ`zë¯ÝÑdÀýÔ@Ï"¡ëï¨oÉìïȨíßQÛ¶¹ã[%"ðâª÷/¡ú³ p5mô'‚/Šôß%‘ÌÔ€AÜì^üSpŠ9wî̆¨Ì‡¨xSávÝ%dtE` §6Ì?dÞCž¤%Ä -?ú–ÜY³ÅÊ}™ ¡3Ý4 -Á. ˜;ü³å¯ráh±L¯þ‚zþ[·X=ˆÄ@ºŒDÆoM'ÍŸP÷•á 4̃€5}b:2m¾¤o½Å¦D‘‡@z^#—\÷Æ@Œí»ywõîè3Ùn3é£éw2¡…9=&™”4 ‹5_‰ë¸IgN@2ÁÝ “‰žtR¹ìñØÞ’l±pÌÉ~À1–…UŽÇQ?‡œRäA€Tf9ß2€íuÛY àdaaee¶¿a*»aÊôÙÛ[{©¾pîÍ—úo˜)ÝË/@ýG`É„/õ)zÔŠŠoÒØåWWßçâ}]¦l (_O™ þ_æTþRUf—VnŸ9þêñWsfÖÍ4¡òŸÀfTƒ€rJΖ¿iÓþMß­þß˹ýÐ.=QÌÿYÿß×·5( - -rê{·($°«Ø €¿Äçö¢·=Bˆ* Åy `J‹l@üC{g þM¦Ù-[ª „  ‰î©Õf2Úª§èGÅàfKZB~´˜ÐiŸO÷ú}ʧ[Ïò@¶`O€×tØ}(—Æ…0?`h‚PÿÒ佉[Wx*À‰¡+«÷~ÿ(À -ϼÜ€A¿f®I‚<m£*Y½È%¡z~ºAÄá…Œt[*ñ•Í `‰#†¨°8“~G Ì@y`5ÀM:8'Òò¤Ç×X8±Û‡J2 ²g¶¢ÐØö^›á\ã¹sûNlž& -pÌvû˜ÿØÃé@‹‹+¥ôöÉ)óŠÓím/mm­¨pvÉQ6ÃC5«Â˜›€u½ºˆ€jõìÿìwüfNíe==³1±@^ÓfØôóÿ€Àß‹0ý•¢Ì‘B,1'”ƒ†á÷.®Ûùô‡BúÿWò!ETl¸ö `H(üŒÿ©cÇÛŽMþo…PÖ*·7þ»ä¸™Àße‘,fY>yuŒ×¡D"0ÀßlVÑ·T²Gl†aÄ`4„ÃÇ„=²ì’¥JWå›DÎ5VœÛGg6˜™y~ÛÎçw¾tlg;/æsŒÅþâÐçH°ö'ÕŠItÌ„·1ˆè Ìá0½J4^¯—±÷îÛ’ÑìÀwÏx0êó\…À"±ü&“Bˆ8âÞŽi]±ï/£‘ï­E¸®*X kKN˜Ù%ùÜjîn±€›¿ªy_|t¬Vÿ>ÚÿÇ!Øs\q„ €ž×0DQÐàâ@ð+;ŒÌpÁñA EÜ ú†÷þc2}›Ã|i¸ó%øÒŽÄY)]-½å_XŸ - "hàÛkãÿ±1tg¡´üÕ¾ñæÆ{0(è.î.^ÀÐt¬e ˆ@=‡ÿþ/`àLXpÈA2YÐs¸¹¾»«YaKp@ì`°¸¹ÌÝu4ÙSŸ¼Pìùöî#Y€a;Qê¯"ä— >VKAV «üxù&¾eáÖÊâBé-ª ŸÒ@ ðìòü,×ì&øÍÚoQí?Ë.€‘Œp -aKø>­á=¼à‡6?PümÙ2‚bÐGŸ§2¦Þ·"ºÈKgÎö"6¸73Õ _?"S9ðm»9Ó뺴.w¢@x) eÀ iL r¡·Øà¡.À%¥@`Òþû‰ „B81¹zï«¢º²®óÞµÀ\“¦‰ÓlUxY{<„jß(…1ñÆr vÚe¬,A´ÌÖå¼p¯©Šè•î¸v on$rÈ;ñ0…hÂb8ª[úAtq~fTjzl*?d3€›„€½Û m„ÿ†÷Ú pö˜>1M(“bÁYž,&Kùô ±”ØA5ñ‰­ç*ÎnˆnY$޶sÄ$!PD` €=Þ½*¡á=§ÁðîæMŽ˜Ý}<  šááuÐ%^lÅ¥„'ü Àÿ ËØ6.ž)ç]ž¿¶rûaú‹‰¡ß&C8±p~`K °õÄÖÝ'öa@ÀU]Yé’y *x‹Ùj±œ”Äj©ü'ðwÖÖZj±"h¶ÈÐÈÅ?:S©• 0ÜÆfR¥ôfe5ºÿhÿ‰lãÀótzIÿŸÛ„@L/~K¿óç­° â-µz1Õ_Gq `ê»»^dè©âa¢ÏB`óPõ•Ζ«obQgB×À*À»›á@\ ÃâQÕäC诿6±NÅ{~ôÂy`Í €=0@PoÂ@€Ð½²Cä øeôxíèØ¨~´] -#@=\Á,ØæððC¶äK* ˆÖ=_\Ä:ŠšðÇr°æ ÄײRÙøA¿¸B(‰HÝÄPjp}{ ¯¯uCqÁ«ªÿÅ  ´<ë?záh3Ýpï%ô/€ú-®bA @óø@~ëÿOÿY ê››/4ÃH°…ÇÇ?çHèÇtúŽ6$ê“Égúÿ9õñÕþâ­UÂû{Dˆ$p=±’¸µ Ÿi7îà_𿺳@-€?u&%°E4óg—‰\±ëª~±›LЈ `mƾÆT­GàÌ^:ÎÎÎn™Ÿ'0 ðŸåžS_hªêÐY­ÉÑþcD7õµPhÊ׫ëEÀÔfëuK!´rÄ íKGrö9‚üõiÐô¿‘€/Kk}¸¦øèÖö/ñÀêÄäV'.eì €W‰!ÐŽF7Øg”U€bD/<€=a¾Róè+ÐÿQ•sþKð8ŒzÞä—y‘q§a¾$P·À˜P:b90Š·²¶hºëÕ&Ì„àç˜`ÐHèo0¼gh|o_C'N´n{iÛm*xoo³Sôƒ‹åDʉT–H.²úoÓ±/8A`ذàßExíèæA5c¤GˆâŸuîj$ÅØ ?ªöÞ40úóòãHö'5†Æ‹ükŽj¢Ä‚†¹GÂËòÈÀ>†aø7ÈýÅ‹¹ô¯%œ«ëW|ýå Øé%Ö¬‡ü$A–E)¢ç3€s-¬ÓwØî²:-V÷ÿe‹Ë,£ý?Fåÿ;ÎwÆÆÞqÖÂÀ¢²ÈèȲ -ó`ü®)¾98.L!†®ÊWCEÃ>бF:³aÿ̶c/µ à&¤^_c/ô«~ñŸHv+$zøû¢[VÂYÀqœÃÏ!Ó¯ƒ·ð6Þ–Ãæp˜‘S…ÀQ‚aàÿ¨Å"GÁÎߤ¿fØûž÷nÍÝÍ7ï² °Ãû¦YO€·ýTÜËÿªFeC„÷<Àÿ=ù]@ž×¡þ§“€J{OãÍÍù(A¹¶¶öýÑÚÚãÈz+%ÇÙ ˆC„¸…á‘9È(ó´1P…óù¾ -þÇÅŠ¿ s™ƒ²J,ó¸ÀÁ,A Ç / Àœ`|NèçÇ`*xÖÝY8€µúÿŽX™»ãÏÖ½p&É? ŠEÛ0úãb@Lõ¡ÿöØ€n¾ÐÌ™BôéÅúæîdW²YLÆŽ( €“€›»;ÅÍÝ…Éqb eýÁøúÐ -£üb‚È­EŽ4Z ÷§•z©Óq L÷X)X]½£ÌVï,¬&˜ ñûô'ŸšÉµÌü`´Ì€ÉLÈ>1iϘ°Éd|&âuPí!ì j«´Üê'ÌßKÿ®ªŠ~BÕ¬¨ÿ}X¤Ý!l:kê…%ð[ºœiI»¤M/¥µé©\š°|Ê·„OiªêÓ—y 绀ïYâÌúé4îv(M¿Dާ¶œäˆ@îLLN®NL¼>Á«€n - . àÞ#x?¬kl$€ 4¤ô¡ €u´oÙïgmÀ£–PÌ3@Æ«Ëo’ƒW—b1Dœ(f×®yðòư“s€`7'2æ4\‡u“ÔTùØÀB¢®nÀ@î8f·Ml W´œk­8±mzÛ¶mÇDÃyÓ1á!€|ܘ‹—û‡v -·U^¹\Q—@äŸ9$•C„"¨c`x¢$ Ë<ù÷zÑð Kú¬æÅ~Ü6hsÃm†á¶(ÃÒ°dŒ©ÕÀ&ã †‹3ßøÿ×¶DmÿÃ~ºyèO$YŸØ¸`K¥ŽÝ†€v+¶[¶ €í.ÙIØßmá=cWÇÆœTþ¿à¬% -·Ä-Tü›é)‚QP$"¡9;–ñ„F^$äM€†ŠsÄÍÿÏåu€Ï¿„)3€Û;n_ç&¯0~^ña!è´ð†Ûè䋳P>lô¾íön¾5X ‡µþZËè(ÿ£WÇ<ž«oJ^¥?‰¨:ÇÀÀ[㵨8 ÖQ¢×ˆ, ;ò8KNå)ÀƒVoâ‚Gp¦®†áÿ«7nÔxôÇõcccÿc`~O‘>ßP©F=øÿ‹v6aŠÀ°QäÒk  ¢RrþÐä×£þ/²!«q›ˆF*A_ä5€'=þ£#¾˜ÊŸ }ÓG:_)xþ@é' ¢ÐwôBý™ôü»°ØNv{º”@q’£ÇëÅÀ¸¨ûÇë›…8°Y$ ×ôt—uå‡ͼ¸Öh..HöõŒCXŸdÐþçߤ‡®_G­H¤Šk+Aÿ­¾¼•(]UH>3ð¸s‹ÞÄný© BX™®óàÊĄݙ¼2™1e8 ª½H†7û``ϰQ÷þMUUß ò~Ø?‹5-|CÌžÒj«z«¦L¾)Sï!SoÄ÷”/£{j)Ñézÿôc—r™× ÙÓK9v ¼AøŸ»áãù¿2 È1Kˆ˜–è2?€ £ŒÄ `b‰¸KæÖ½U;û) àQ0ì {½ÿ‚"ãÇXGkÒ X-±–›…ëb•Ï#±âWF æÐù­Rƒ<ø„9,¥ËV˜U¶jÞ1PcðoŒJÑÊh´áñuvÔ)¡@Œÿ8m½È àÜ{†÷†¢ˆ¤¯F õD+QŒŽQ½ ÜgMÜoÑ>ðû›ŽÑw·ž ;·ÞUé’0À&(3sÛƒsoÁ„ ÀF€¶€Bù÷®— Ó÷=/§iæÔNWKRe”ÎQd"NÄÒÿƒžƒ  QC›Á°îüwê>$üÿ£Ø¯ÿ_1C6k€¼ -`H1„D€( #Ûÿ§OìÞG{ûiŒ¬V—Õétþ[ÍyÌrrì$:c€ÿwjÇx ð?.cg$l ‹\à0(‡IÉb_\‰rTCôß×(RŸiçKÛ^:ö‹ „L@¥ðÛÄâï>—oþ+­³nýz%)S¡Êa‡qøn ì|Eïp8îQêÛï2°\…º.^x^%¢îõ¾ àÝ»o³ ÀÌ®=\ß›™L|užÿ„ý„ú§jEé_¨0‹h`ìê­DJJ<ÞÂxóÆ‹s£ôŸ­­}_Ï2ýžã*î­%jgö0C@4d£ϧౕˆ)€YTýÌp#!>Æ„ U<€‹ ¸öE7x< ” -`0ÐG `°¯ïHW×”þ kåÙÂñ g>ê> ÌÇ  ˜€L` À*@ õ¢óAlÿŸ@T`2ÙÓS\ÀfÁÍC—GÇ1`@,ìïâ áñd×3v €ØKâúÏ~ô£gŸýQêõ¥‚ô8ˆãgƒ‹·‚6B¿h$0ã_¥Kt;V ÷¹Y°H ‰â€Ù? ¿É€|+€!náÏkMvÄúf}™Ìì¼&ß,ÛüÏΆtm&d å¯Ý2;_¥ó™¶ L¨ -†`¬0MÁ ×Š„´¡ÄÁÙÞ4UîK¦tD§]šò¥Óº™)‚ñ4]¼ž!F` -mÿ ü™¬ ò*—¥«zu!mŽ®‹(@gÇc“tåÊêä•ÕÈ„]‡TÀ!¥ pïÞ#èÜi¬AÏ„ ‰eûÔÜœQ"â\@õÕX«1¼úUaÅÐXÂ, †8 •²Ä r5#?Ú Â+®BD-MØ0 ÿø1€ÜØÁ Þà4t† çP{»ÎQZÝP½¯¢uú8À1áDHYnƒ ~‡íZá»gvWlmimh°nwE ý]ì²CYD5¦uLFÐì Ô•€ƒswç¸û?7¬ö^¬Ñ`¼Ce5½kʼnIMs•sØ—ÿÏý3Ž -†üÑ?w"ŠsØé3Ëþ-„3‹ ®ÿ×BhKݦ'"ðÒ¶é­È¨h ZV˜šN³ðE ³»Öù·ccïŒ9kß!CÀB o [Œr“',¤’ž°M#Þ(eWIL -dÉ%7¸ˆ„µƒй}'`øüÌKÛ N #6vn¾~Ý}hèsÚ@ À‰¤DsI~ J¹'šmbØ[ƒM@î;bŒÿ@ÿ«c}ÒD5ï Ó…·’à›€¼€ú¿£ÑCð§R^Åé¾›k0æ¦ÿ"þ—%þ{@ - t_àZªA†DQzûðxôïêGSýÿ>]¾0ÊD@ïUê= 3øn’šØ€Ä&£ð .QZû%0 ‡ÚðÚµîþ—@PÃ,„9 —ÿJØ—à?*`ø'õg¯ú§ûŽv3¸³Æ(øèÌxt˜üwwå—y-þVý׋ͶøÖ@ÍbHðD}w'ÑÑ €*àå—•@=úq­…ÅÍÅü³Ðèü36wVVWÁõÁÁ#?øÁ‘Ï~¿/•²SÁ m(H³CY¼Wù¹€nåbb•IÀªÿEb «Á•ÄJ)Ú¢ÈèìöŒiÿ¼ Í|tfC¦É‰áûü2fþv‚WPŸX4Íï Ío™Õm™ØM³U¬Øâó™æC¡ùC³Ü¨"Ô‡žp„¡J{(4åÓNié–ªz}9ÝÔ”îlæõÈem:MgŸ/“Ö=› qy¯[Òé~–I³è@ê/¾Îðïƒ @ZK‡Î”†ùp¿,KÌ1†ˆ˜˜˜°¯j'#C÷.e"Üšºr‹ÀïØ ú‡”€¼ ¾ çv’G‚íDîFU ãhxd¼1ëÇ ŸØ¿G™ì©0ôI0zbû]CÕ“QŽb ®²²©2ºO®\xŒ `G9|7á¼sçyN$üol34F Ñ÷\WÃvWuuEKEEk+Q€écc ›vÐÙvl´p[·Û½µ¢b_Cµu»ÜP)±Þñí²EœÞó ªH­–àp¨V¼ÿ¼sèÔbƒÅ˜Úû=cô¬ª5h£¨ŒbÑ‚žD‡:Bîh¢QÃo×1ü—>øW<®ûwy ßX„ÒÙæ$`–¤ ‹Üvlzë¶ÝûZ÷U´œ®ÞNðï²ZcáÏÌa\• šœccÝccc;ÖýÎ;µDèö¸E%[¨Æ—ùG#öÛ ²'l† ›¸`ØpŽ(À¾}»·ÒñüKÛ¨üßvŒu€pØqÝÆ:ÿçÿî´b`¶„AÆ %ü„š.âš›ñ àÝøUoXÌÆõ*ÂhϨ@Û«²$yEDt”8"CGÍ]ø - ¦VEØ -Sq ÐÍ00a½þAã¿H4ÿ÷”èkUb €A€J¯²`…@ön‹›7ÞŒZFkõP Œrà8‡¾  2·$üïå­aQúcþ/Ø?ì†`f€ŠŸðß;E׋РúÉDÌ*n`F ”ÿØü’üÙcQ,½•&ÐH,®FƒTüO÷a yø‡ùÄ;kÀ;¥þ`áÑ3%÷ÞÿÀGAWw"hÆØŸ±¼žóÆ•æ?ýÍÉä@})à›¼ð$ÕÿG_† +YØß…P¡ñz¢=…ýeÿWV††‚ëS8)[*õì‘LÙlƒn¦Ù¡D6Á -¿˜Pµ?ëßÅ[«„þ?@*°ˆ›ÿ„üî•òöÌì~4ð¡Ú ÍÎúBDL± -e ``x˜Bö‰È¼O‡aÄdò™ Ü2?¿<¯­Ú2‹ì!&`!®ê-Ó×BU_;´÷k&Ýÿ¦…p&}9Àe-±ŠÜë"ôé¥Èc:¢BN¸¡SLƒ´&¢Ä-´¡´N§Ý›!Q€UÿÅxrâRfub53qeÒ®£Û.¡-0±Ê:€‰[}‹ò[mÃÞñ®1 @™ü‡cèmÃñ†cY ˆëHöR…aÄk1£ÃVû9Ò4fÄÖ  -ÎAl…ÔÜPi0ÆÞDo ¯°€( ÛÎ#?Ùùs Xð›‹Ã3m˜@ ÓÇÕ`m¨n"$oþ/mÚ´í¥M'vnkÝ:ƒe¸ -â ²«¡²²2*S}‹ò‡ ‡"žl;bj–bãŽ!üójæüÏypݨ®ùͰöH2g-Æ<Ĩ8.%æ2 ÂaþÃðÿˆð߯´Ï¯+2:Œý¹ý¿HC,€ ß¶ ÀÆ[€x*vŸà4Àíĸ`!ü§“b8&AXë¬ív޽3öNwí;ÝfsÜâ”Í ôXŒˆ‰ã±0ŽXK 椒ÃY²BP 3€­çöÛݸø?³mfÛ¶—¸3ÀMpÆ=€?Õú|~Ž!+L”–ÀF¿aÞ÷jJß¹Ùáå@>T2yŽ©ðkV]µŒ^»Jøï‘¯‚ w¼‰<Àa¯WI¾[Cl ¦Æ!wüUoc’o䪺„~ô -ú³è_•ç%DX -P)&…–†››ó‘5®Zý1€wß}÷øûïç}@´<ªQì‰éoW惓š°À'ÎbÏÛ:Jâà\ñŸâA?dEø²ÈŠ@bÑ à³Ê±– -hþ’üÙ?$–¼Ý)J¬ÜYá&yÖOØéìëììë)~æ‡kø¯øÓçE¶ðÿ©§Âÿðáž.eP!¯°|Xˆvþ›ÙXý³Dð‰ú–²ž.±/Ø ÀÇD>&ì 8vuv²=ÀÑqú~€Ôï> þVîÜZŸEÛ1›E2›:Rø¿wé ¸t“Ÿ(@*èÏeñ(‡²~ªøC‰UP\Y¡·±¡;‰`$(;äÿ €ŽÊ{E€úŸPß7yÅNÕ³nyÖ®3i}¼ô§Ë g´!­}R›ñÍjµU³!ªðQñc"ÿUà&­¢ô}~näÿS&Cx}(‚îÿÙËÚÈÙ!ùë‘õ6ÒÝȼ®õå–´ºÜÔë¡4v¨úGÓŸm¦rD Ðjs9­I  Ö4±‡´‚Øu0-²çÍ&W'uw® @G`äN€úëárG^\ 38(9Ξ\cˆõ…É aœ‹nØPË꘬â,€°¬2«bá"Ñ`ó_X«% vyŽ¢˜QŠÒ)FoF©IŽF%¹²²M~Œ`a‡Œ' Ö]œYG$À°ÓÐ6lhh‹¾'G¥í®†êí§··T´œ«ØÝzâÄôóǶn:qlÛ¿ŸØ´ûßOÌœ ê¿ÂUQmqE]² Ë訄g;ÔÌa›Ð3#c€`ŸzrõOTÀ‹^ÀAÈÔs¿w" -€® -«p,,”êˆ>Ì5•ÃúçŸÞÁøÿfÿuuuþÇÀ%Mo­þ€EæC¼(\€‚bp[¬b°»¢ât{»ª-N+GƬ—Y²\•1pÖ:Ç^s¾3Ö=æ¤ï9U á¸ÌCb$IH¢ô±1\+zâ*Ù—X°½ºa{EÃ>"çDàÄÖib·é|û¶2€¡Ï©@ÓNkÜ‚€î‘cÛ?ü0Ó8 Gÿ›¢°ycGX„à~£*-ãÅ«²Òž“<è€lî¸ÛQ6P£¡R+–üŒ5w½¨ª•࿼ô~¾EŠüÏÁð_ò .À,”< :kFõïŽRé?úþñwéC,ŽzFõžQÏZqá’Ü„ŽV“’ÄÜ_º—t'ô/Á®?|ÂPý_+Š©\hÐ;JŸ ‡"Œ©¾$^8—¢÷,¿•&€CÙ` ïÈ4Õÿ -»º~øÿó€Ò€ÿÜLø_ØsÙ¿ÝŠ°‡5¢ðÓz¶â3ê1ûOòü?™¬¯/ìøÿÓææâÎ:*$€ƒ,$“Å=-…"ÿª«§Ìý^ëÐñßYºnó¡{6‘Ý‘ì$ -Pìn?RØ7˜J¥l)4%SÙ ¾Sn q7u¿²ôãjÖÿÇ`•€Ò÷ëe-pßÇ€LhÖþ‡Iªøµ³™ UÛÀ¤þ°ü_kšŸçåŒX5;?ošßËAÂóX@`Kv -´¾*Sè?=eª -}9ÀÄ t‘Þ¥ÐeÝRšªùt°¾¡¬ù¥ÓiíìÐÿG»Ÿî@4€ -ÿÜôÿéœvIkú†i‰W ÓZS(Ç΄:(\Š<$œ´Û'&Ó«—t"1èÒ¤² -ð(vüH¢}› Àƒ>Àœ4×-7¤\T®¶$óeµG¦7r9F*ˆèt¯bOŒ³‚bˆ TacŒIl…F 7Ñ»E\§b!}îq€¼p伨œ9Oçó/žo446¶EÛ¢Q™P½ÒE·b€†Š–ŠÖŠ}'v¿D ´µb¦å¥Š™}çZZ\ÕVWƒ«@rIDTJR±û1F ôЋbDŽØÇwÎ{ ŸŸÅƒl¤aù¿‹_ XS˜}˜ëañÀ15v‰PùÏÑ¿Ê<ûûiK€uOü¨ù‹ï¼èÀ«ÿ -X€¬_àÿí”-€À¶­î»a´½…Òv—µÚjvvcàtZ¬cž“òIÙr²-V‚  jµ`@ [âô÷!ó@dI©×‚ þÑ0rIàôöÓpÚw¢ñľ[wƒl›žÞvûvà6§ì€€Ÿk‹˜Å«l¶Äãæ8Ø(̶?šuØêçé;(€èG¸ªÖƒA öå«úû~S3<ç툾9÷&@ÈÆ8Àëe`×—fkUŠÝ?n{HúÏö¿*6.yx2ÀÚÄÚZ³JÚ˜·ØxSÒ×ZÆÆF¿{üø»ï‹}@!PyDÀC¿1%öjBJXX8Â(€ëþS§J8éE§ð«êsÀÁ „‰XD Æ»_€?7LºUšrñ¿ˆî¿ÀÝFàH__kgaKOñ??D”0 ÒÄý`ᙣ/ò )ZJ‰ô%`}\x°õ’ ¬t’õõÊZºÆÇ bŒàpt@¤C2PÜUع¡+YÜoUèêéì|æø ÆCÁ,ã¿I–(£§³³ðãÎþN7ýÓÀý”-ë¿o»oÃgzƒÊò0 «lÜ‚<`Åïeôƒþè?qïÊ•+¡ý˳ÂÙ‡ð?3»lÿÝd¨Ê>©«šÍÀ ˆ-øøû(½±éç3…f}Üì×!Ð"JÈ5ã¿Ö´¥ŠÕDt_Û{èOÍëLS¾ÐS—§zµº´î¬ö-"étd}€JƒŸŠý^ÝÒR: èç@zê†O‹>ÀÁ:·´dÒžÍäLHÒò’Ø> “¹Ä¦€“Š+pD71a¿w› öëvÅ€ï_/€ë‹×à_#r ÌÕ\¾yX¨A ΄aa™ŠXÛªb1v{ò·Š•ñÆp çºԒJ­Žybô3¢ô/¤¦&©­±¡É¬ €ÎD DßÚy~Óù™ó;/^œ¹Øf S¥TY)5(uhu5s€êŠŠŠ­ /mŸiÙ·}kõö§Õe…úO¶È.ªõ=ü­ºS9èQ¡‰Æ–Œ~PïÏy±úGøy€F!04r2ñ( ïQbq úFƒáâÌÈÓå–¸–üÇó¼ÒåŸxd#ß©#šP·£n„®Že8O¤¡ôîþ'‘,|ÐðûÑög 8ò;€¼Äà¦ÛĶŸØ- á9B@Ž[p /Ä« 2ÀZç;Ä àð¾ÅRkf™€9n1ËqŒ‰Ã2ÛH"@½Ò9ÎŽW© ™lCöÚ@§é­Ó Ûn¿¤d‹<Àϯ@6§3NO[Üç¸\U8N‡Jo2tt wlÌoá ¨I€¢ú'üGË]FðpGtx‰Àô¯jØ €È@ÍðM‰ÿ8ú7Ìõ¿R~cïŽÑÞQT¢wÔ*DÀ¡X•˜Ùœ€Q½Ù»1?¸õ KA„°*Æã/øÊ’Åø‡Î£©I‰vYã¨W•\¿ÿ׋§Švº¦ü^×è&UÑ©ñ»ò¯‹[±’k_€?¯þ[\L /NU1¡cÖ– -¸;;[; üçŸðÀ–->sf¼à0v -”@ž$Ñ€±ïÇã<ý¯û}bøŸäÀÍãÉÃotsÚ/æ<ü׋@t/ÔÙÕ ­ÀÇÀÿä+=eíŸ-\Yò©À§ú?[Îåýâot=ãîú¸¹Ïý†Û½Á=èNÙlô}t‚Yº_6˜H\'0”b ð¯$ÖSùŸ(þñ"¤rW&Cû÷‡ìš éBËË“°ë"W&|ó&_†+ÿü‚·„Ø2ؤ¥@¬Á#`n˜83t’Bb -ËZÓ7C¦½ï{ß -UQõŸ‹,ÁõO›^¢²?Ç!¼þÿl.—;{Yÿ¥3>bÚËiíß§AèúÒ~úì¡CUU‡Ò¾ÞPˆíBb!0’‰ˆÈB»]Ú'&/äOÚA ®c?`â–°øÝ_=H4bÀ½k6›£3v]÷aùxÏè_zàú#çÏ/,œ_7sñâE 5êžyzgºýüù‘§™ˆ{’$®ÛÀ?|…à·ŠÀÛqýÏ"€ op Q€VÞ@€83'=VÙb•¯bò*‚Æj‰Ô¾‚@ D²ÅL…./ÂòGÉ~aáïá%xÖ[ÁªNà àÜwŸØ½uú€éÛÓÛǸ`ÛdãÀçVv}¢Ã"¬Äãt†Ž¿ãf>Œos¥1@ðT¦§P(e‰“ôžá=†î}s˜Ï"€ÍÜÀYÙýÇ‘ø›_3ûý—°€%%Op©Í:=ñ…=ø&,ŠkõµôGíº›ÿ%6vXjGGߣ÷*hÞU40ˆt ‡ö?¶š j€Š]1¶;dø¿v¡ˆÛ°$¼F¨_B`Xˆ¦(ÀP \ÛEŽ¢/ ÀŸAÿ[‹CÙD‚1h#@$hLø/ìê*xíÀCøÏçÒDÖ8s¦ž«þdB(|Ø(Ù €¼éÿ€ðýS¦ÿÍô‰<Œ$Å`Î/ÆÿBÐ<€t¡.Lè[¸[WOaÙ§orÿ•Þ}ÿm¶,«’ ÿWî,vö¶¿|”M Õp÷ÛÙ€í>îôgSÁ„Ÿ@vˆ˜]É.®¤lèÐ[×€CßÜšœˆì_f“ŸÙÙiyvâÞ%_&’™E`ýÊ(èOGk€ÀWfçgµ³ó[¨ôŸ €!R…©BÇ.à,Q¿ÓþÝrÆtèÐ7Mºœö¬/ŠèÒ¾%íåùrÿºý|SD ¦Ò72¹™g¹ð'àOŸÅ®@Ýÿ¥%PŽ´¶×d:„@‰i8 -O@%‡ý’=s)réÊä„=ó#;RÀêê_¯Ì·Œrh/ ->ÀÊ&€,F£äÐPY'ó¦—‡ð^ŽyÂ1¹È#œÌam L•æÿsÇ©ku4J$€ÐŸê…xe“ÜôX |€`42²é;¼ @Å2}ìgƒ³º[¶Zã€*³ÚulV)fç}‘*\ÄÎfáÁ»D`~PupN\ÌåI…žùÄ…Ø cÔjÏãœG2ËѶuÜþ¯;ðôüàþó#þ3Ï_œù>h è¡ìÜù­ó;Áè~¥L>™ì`Ì+€ÜÀ @ \[x`˜Út;€4ài7€Þlh¨lpU:]§Uü»L ='ð޽rÚ@§Ùi‰³Þ=.³bBüÅЫá(ÅÉ@èÐÚôÌWoohi8Ý"œOœ8A€À¶é¿½íöícè ðÛÅÏ=$ªéɇÕ/æ_ÊYe¾IÅ|wÞq4†™arÿŸÕ”úì1z®j†±Ybðº¢DØÁ{y Aê‡ñ~­Ãaæ¤_!ôGڌيÿ Çã~TúÚQýž«žZ½' --#îz= -@€®é‰¨FU,„à;ÁbPV«ÔavÿÅb¢¦/ÿ¡’k»¨ô§ßíÔµ=¢ö/ 8åàÍ€"üNŽ"¢øk4¾$Ÿu¬h®_O¤=觺˜Jb[ª=t÷õwvvwuí~h 0? VO ™@Ÿx^PÀ.,ÈŠ4 ±ë§~AsWwOb€ùëæŸ&YÿÏ`0lF[¡0YÜ|t@˜6'» -Ëú>k`î;„‡Bäå¾[‰Ò•RªèË; û  - -Ÿéìïk·½öÃTû ;å¾o ²©TПºŸ°ùÑg—üt¾LÑûWv(õÉÀïV©Höý:2a_Þ?Kµ<{h~~âÓ¬ÎgÊLš°Cºµ€³~µ0  ó–Yßì–-Jí? G Ù*“–X€ð6UÍî×úæ¿:ôoìEÇÀ—6¥×—©üúÃîG4àÿ›Kë–tKiº9±:½Dç)Ý3€³gMK¦³&íý˜*Èð›àÈù|ºµl û$·&#CW&&&&‘ ìû#À#Íü1^rÀa´«áäA*yb¶àVëÑÀI¢š~ï}‘A0ãF@€µq¬I.’UØ}g±[¥F¢þ‚MR¥ÄÏ=¶=ÀWQýc€e€€H¾D `ݺ}†C¥d¨ŒJ.œ\.Xåíf«‹ÈÀ¾Šë>s…Ù -];ªT½þ«d™}TUE+õ1•Vc˜hÔêƒs˜ü{Ñ8(ÖØþ‡.‚ë.´Ö@X°–ñÐýaPlÿÍr(À,ã¿VÈ–÷j·|íßÐiµº-éª\ÎÔK¨G?vüy=Âk~°ÿ÷=›óM-åÒt™™JÓ½¦–`|V›¾¼„Ðßt¶êrU¯É´¤å°4!Ÿ’œQE `Ân÷ E.]YøtëE`âo<‚?-´Xø/^>xP3g”æÂ¼û§Ø { XÕ’GMoî2[¡!îáÊó]æ¼=ÀR %#°ßÐxq]#ë⺭mm„zëå6‚î<@33óóu?' -°ŽÛ¢.)êªD €%þøärZ\-Û!ü³¢£–7•½æ8µ%²XqFsÉeŒÿK1nâK¢Õ@8¼ÂP£QkØÂüK‘Ä<ŠjOÌ ËR´qÝù§ëêˆü¹øGŸèÊ šÿëèyƒ„ñâºuÃE„¶akÇ/vœŸÙ92òt]ù‰‡ë ” žÿãcˆu€‹è =ähÚ·¦ÝÓÓ„ÿXlؾ½²AŒ¨*¥ÂŸž&úd¡ §Óù>äÿc¯8Çœ'‘Ä<€(€5.d~¼:æš·“ò°XÜì:À††Óbó\+Áë´8nOßÜNþ_·]ÿíÿ„ùæpÜoÂô_ˆWÞ½ÙQÓ±fÅ¿ÑÀ«ùlªˆú¾»Ð[ÈÒÜ›š÷†½5F¶í¤ª¿†c„ovxkîz;~шa>ƒ>T » !ì¯s{&h°«laL@\´‡Ñ˜ïјûE>øæ°Ç<ªÇ@üݱQýûæãðÔë=k^ÿ%?z(|€Jb1Ý÷œ**ÙE.‹€þ{v]£ÿð®SE§ö ÷_„%ì/Š•‡Êlv|I>cŒÄ/ƒÒàýòÒç`Ê–%Ð×évs §«¸ ¬i€°-½£dgSí©žýg -D õŰ Xƒue±_ñø]«þ øë“=É?¹ãQ¥þ'ðr3!>Æ G“ÍãGlj$8\VøcaåÀz0Û÷c7iqñÎÅTaÏáæ/ÒcêÚ]X– -¼–ºßélO ÚîÛ„þ)0˜²%‚h$JS6'˜Ÿl•Ø'¯LV}}vÿþ ë{Ë_¿5Aµtf62  -\þ‹=“2Ðò€èB¤jYáZŽœ…NЧ­biñ‰ª*“î)“o‹i)¤5å´¿4ÁðçFnjŠÝ|ŸU:Töcîc)·´t6Ý›^"€ÑÿÙ³K˜ÿŸ5õV™MþÓOÑ‚hE2A(„h úùl`;gM^Ò]™˜¸²:á;ë‹\Wt€· (¯ÑˆÀƒ]@öí| “$&6U+Cö²¡7xp6 BÙ·w¨©,óÖ€ºÈ®½ID£Rì}—›š¨ -46Á÷q€îàär|BÓ€™ó3ë` ØÖVFY -è›*Ñœ®¸SÞnm0[ ÎÌkͲʇ†Z·¨â%±¸ž‡E*=d¨¥9µÈöbôÿöAá ½' £Ú¨{¨úé¹K ‘ ºÉ¦¨aæ[#Ѝ€ººòº§GfÖ‰Ø C£¡q9Œü„ýIÂbå0…jgž>3þò+[ÏÔ•ø€D,ì¸î·íÈ×þåÊ@¹b­%-Ý”Èûs€(¶n ä@K L+ätŽ! -è¤äº*Ÿ”='1{¿›°ÿ§£øXaˆeA™ëC…1âoƒ½’üÆÞxXŽËį8`ûéÓçZO·¶r@¨Dà6C‰/ m·ÊШDû_÷  ÕtttÔÜTf›7ÿBB£ÝÌ@B•…^aô\^uy5•· -/‡uÐý;x@×oz þÍ„»µãW7ÿÂhÆz=PèOÀíЃ)wÿJ_ {•¹„À(ýkïݯ -ÀÆϘglll‡žh:`÷XF@’`xôÉ(D¼Ê§Â üÔs1@Ñ ÿ."»^Øuê…¢]Pœ*Êï òF¢ù zð“²}I>B×ý‰Ò;+‹‰Ô`ßÛRPº;ûû:;Ë6~¥8ÙóÃr±D$€úmÁöîýõìøW êzöîfùóƒ0à¼Á¿ÿ)å’µƒ—ÿì\?^ô»‚à'‹›÷$»Š“…°»ë•ÂÎO'¼H ÚÖÛîû³~áLRZšX)Íöw=SXà~£ÿ™7le=íý…îvw»íµqÛ`*Leý¶”ÿg‰¬m(›M¬ØƒÙlŠHÄ' œ'Lû©pe–Åçç'&í9“)B•´/Ðd -‰-Ôÿt§ -nýo™]öaw€Ùgñí€úb~~/¬2ZŸ©*Wå«Ê¤CºËÚ_F¦.›þ«XýßÐå¦nøÒZbhûçèò­t~@ØO4ÀD  ×¤EÀDø9‚ ÀÇBÀ-€ÌP$29±:yïž}*4›àë“ øH -¤ƒ× ? 5C^œc?~׌þ’hÈjX9&Ø#Ç<2ö¾‘öæ ÇöÈa¾;~Ž -®÷’ôc\9Ž1ù¹¨,?®8 –üˆ`€ó`“ó™ë8¸(á¿T)ÞÌdkÜ*[10» e“â*kÜBïÚØßŽó SK^æv(®ÇØæçÂvN-R5çνÍ5CüÏÿéÙCÎß367ý?Ò$´TÆJ"ÿp ŽÇuOÓÅ΋m@ûè0!~tXƒ+„ÿpiÖHêaµ4G·k Ãß™{òÉ^®¡Gàw°\Ûô³}`Cè @пƒëÛíÔíÛpšvO·¶Vlà8 WµËê2;-cNËUwx@ö÷]À$ÈrÕ‚%Hò#jDIx¢ÿÏYR`ƒF@HÜ¢l6T7œ®8ÝZÑŠskëtëþÃïtýzùêŽYMN™°ßæm@à¿Y¾xóü›lâcØcAÀcQ1 `E– Œ ¼4û<x[!7%:šü†Í›¿ª)Q{ÐÚCð‡?\•b¹ƒª{WQ‘² È9¨í©â/Ñ{ïn ‰šZñ½QOí»úãc°€€JÏ9ÙÂ>€ô@âü`tlo€Î¶üK˜aí*zþÃh”ìÙsm×®"€’=§N•q8zÿô;Ó +n.!šm~ÑìL-|I>ãXw{{û Êw_Kaᆞž®æ®Ýu¥å„€¥¥‹ÙT ÝýÝý’XT€«È,Häeýyx@Rdÿþ/4în~Pü‹û\@`ðÑ£Ì88h Y@aC×@l^Nö§>cà÷+‹·°`°»œÿýÅ•Òßû?:sf ¬³óµÁ–þWÝýýîÁûöÁ€; É` •²T°¤†¨ö_êãUì'W¥îØ#“¡È$÷ïC0 ùf«&nE «›ˆdæíº¬v‰ˆ-@-7÷yçŸÿó³ó¾Ð|HùnPý¯­š_¦ê_»·êP(}¨WçÓ¦M9m&÷ëˆÏtÙô3¯ü  îYDýþk:§Kë¦t7Ò„ÿ——–Ò(þ—Îö^®:{Ùt¶ª·WÛ‹A•ÿ¡)6œÒŠEà?1€LfÍ À~åÊä%â1TòGˆÅ`sE$=iu†,{¶`¼ŸC°¨æ¤ðœbˆñ_%ovKˆó`@&Ð7š¡ñBœ° -*p ©6r÷;,7Q‘ÐD5÷sTzËßÇ&d -P)`9Á¿ŸàÿÃ:ŒÎlB[S€s$òi¸ C×n•¢ÖJ«Svše"s¥³Äen‚¨=^ÂêªZ‡™ÍÚé͢墘Ce¡ -ÞãRŸ{þÿHõAþ²ˆ}ÀÊ *ÚµˆÌ?#,¸þÇ¥J­jŠÖYÀJ«ûGvÎü#´}NkÔ /ã5 Ó0j¼Fu4F„Œ˜€Æ0óä“»ž|ùåu;ñó¯„!ÿøWªaÀê?^ô—ç%€„ÿAN©c¶Ûcì¸ v$]ÕÀönªí ç]2»\µŒ™Åø¿ÛlqYœ.ä8-V36YâÇð?^(eÕc˜íxÀ"8—ËUyºå41€Ó­8·žþ~k߉ï38FõÿzÛç`­.ù¶õÅ&gØÌÈÏ­ ân2È{mþ…¤lâ)Ä@–=ÈâWdñÃb„o¬;ˆ@Ðq³C¥`•ƒ*•ƒ§ÿ±¢’k 1Þpˆù@‘âÄ>€ì!°v"r7Z«×:G¾{*ýñãz³= ›9ÐIæò?6Jaak ²ƒcì)B°¿ ×w•ìºöµ]{ŠöИ]P‰|„a~Øít¶úï|I>s `%› üSY6ëO¹ úÝöv(aŒ%€W’=îÌ8HüNéby6ÕÞÞf¿#™—ûñ4º¸!0 êÿ¤ÒÿWŒ~…úþþ=ÝàŠ ð…ñ \ÿ×—ÊŒ°P\PÜUØ S¬4'‹»z -ݩϚ¬,&üë ƒ˜Àè§\¨¶Ô -[¾òê¿pô£¤ÛÝUà-PævÓ¹p{ òý~[ÐOe¿-X~ˆQˆ~È'×ìC™-&ìÎcˆž Î''ìvÝ^{&4«› ÁÏ/äív­2˜Ÿ÷-›ÿéê²Ðò.@hЩjy˼ɤ­ -íÅê>av¾Uº´6ÉME./e„×?²þ¦Ò—‰¼¾D`iéòÒeíRð_Eàlt:t¨·Š¨Ð’€?QšÝ€Xð_4ˆLên]¹7aL‰]@6x4CÊ5 ÜxàVΘïà‹Úñ­°pÇCý6ZXh Ë1##jñ†©( «%©­Rjj"ü¯¤++ˆc€x ®¼¼üC?_Ð,<¿I„]ÜghkkŽ6TJ•Ø@9[­r­Õc¶-2½AÇ­æ¸S…€SÕæ‘o.dŽ¢Sª°¹¦@v <ó?8'€`xìð@V²‚51z"bœDÏ!2ƒ˜ÐÏ0ÊÑÆu3üí@ýÿ­ó;w6^ŒF+ótaÌ@ŸæèÍŸÿ¹îÂôã5tÃð™ž|ò…'/î<¿ }¥à¿þþMÙP€!Þb ` -€àØÜæ=ÀÛÛǦ§wO÷+`ûöj«Õy3€Z§Ùj¡²ýªå*€,ÎZ„:aàâ°¸cÀç1kÄÌHý À@t $Weµëôé tjÝÐÚú•Ó߯hýþ‰ééAÀõÿooýþ‹‚~«5neퟷ 77NäRª¹Ûá½{WIâÙ¸ù«p : x*ËÒUÙ;ü¦æM,êà%z·a5ï`ðîÝp-Ëï-_„‡¹ÚߎȽpäU o•CÌÛ± @¡tYFõfô¢7YðÕãè»*ýéöwõïŽÕê•£Þ@‡U€²ÑÈ鯰æ0C½¾h—XJÔïÉKvá&ÔÿÄ -Ní)):µGÌþ%ñÚ8½¼ -ÌqBÿíî¡Õ……/ À§óÇ•;+@ôÁzžÊú>b¯^k öwö»û ÷t½ÒÕ•ìêé=>h7¥Ú]gÎ<º_1òå}qwA7#¿ OÿšóS€ÃpRôÍÍ<δ¾«LDž`WYñÇG?>úñO~Jtàp˧Ä­.ÞÊ®¿UÈþyÖ–¥3X€­³ë9“ &JÝg>z±¹ ÛÓ‡GÀöZ€>§üí}6ÿ`6˜ò§²T±dþÔw `³½ö  s¦ý³Ë³­6ÃJ¿ySæ“v“}R;›ñÙg‘¸›å?N‚ÌγÐ àYmóu0 š‡50_ܧ*g2Ú{ȧ½Ê™t9_îP.·´¤Óþ,¢í}=“ã À©im÷ò„ÿÚ·ÞB÷rÁ¥%1€^:=E'í!´° ÊùèŒ!Ÿ ¨‹À$;L^¹r)71‰ÀßÓ­—®ON^Â"À£ù+-_gÀÀ°Àªÿ›4ÒA:SÙ¯ÆÏý52Sþгè- ,q»×lD¹ïF5FÀaΔ"Hÿ¢i8ÚÖm¢º¿)Úþ8ú¸ðŸ-€þw”ï`ø//ßQ÷aù‡#u;žÆZ ;7r !Z —b—±’*.£Ë%S±´:³ kûx¥Ù7ײ.ÛÌñ©D -JDÊiL.¢÷;#BÕ깃û|ÀDànôúKa¡ÈRAÍœ}– °Í’'¬V«bj)zqf]ùw6ñr?~·‹Ã?Vâ¸ý¢aW&6À`ÁHÿ ¢15®ã9óÂÿ|òå'gfÀfüßñ øÏw”Ú_dp£# :Aÿuð:wlë7Á  Œ@À +z8°3a±œä@@1ü·bIÐâyyK@1"f„q2@5÷8A’Q3X¢Ÿ -𓯜þɉ §¿ÒÚ:ý}e€ú?ñ…Áè‰`* ýúk²4 ß¼ÙÑqó®²H—.<Éf‚Y‰þ%Y0)Ùë•Ø ¦ÞŽ·k:îÞ¼KPÝQÓ;᎚=b„1Æß\ɪzª«Ù°H$ôŠýU$óÅôk†€,”\R¥K_SI5Š -Ð`TY° -8ú¾~”“ôz³Gåá OŒ$Œð2Êr À,ñ°*àXŒ~8/îBÓ¿„Kÿ¢=»öp!ݲkÏžSô:òµã£÷Ð……/ Àg€ë?K+’¯emí}î¾míƒîö€»p·ûHKO!ÂþŠ“=-u‹$ÿÑH¹»öŸŽ~y-¡1b¸ô¬` 9ßð3侨ÓÓœìÎ ñmdÃ.øè“õOr àÉXܳ¡ qB/ãg³àgÌrVVoÁÉàNv½ígp4òÓ¹(½+ÙŽþÛ™3g’ÄböÛ½˜oîêq÷ô»ßhw§Üí¶û@" -‚ƒôvu?Už  ~•úäìÒäD$ÄÝû ¡¶âpvu¾Iú¦o2’ ™BÊ@Èýò ?€¢ÿŸå(­vžC‚ùX-cïúŠþY¨ -Æ@¹GûåΦQù/ét<¸áCðßûÒg ÷—žÍý×¥åæzjêòYÓ[Oqùß«]"Ñ[UE-†þV¬B à¿ÐØ'"—ì¼GÇ7amàÐЕGEJ¿eð¢ ðp<ðAhùkÔ’b4Å:»cc%,dO¥Šg¾‹ŠÞØN2ª Šñ2@¥ŒðÊ&•™!1€¨\Ùö¸$€¼ÈÝÿºrÿåÒ·ÐØùó;yÀÐvnJÀ¼€â%Ïy`c«"P/á·isÉEqaX®¢ê¥ˆNÃ*='9<ù @´GÀè**^:Å`Ã@q.¦Q«5Ãsj!ÿ’k<ô•* 7E×Ìœßù­ŸÓ/Öh0´†¥˜ÑaT‡%ü#ëÔbsÆ4jž¹ ê¡2O=¹ë…^~òâÌÌNølbüÿÄ‘ÈÇòèˆõÿ‰¼;€¨ÿƒy@à6ö·Á -°“ÀZ“k{§Õ*a!Ã~…8±)y³â<*pŠ ¿,‰<Ôþœéy *fC@sXŒ\Àÿ< Ó‰¯œ˜žþ>Ì€×Û®û‡~ÿ‚ÅíNkÜI…=qKºpÒI– 77Þ쨹{—#pÔ ù/‹,w‘ä‘¢ÃÒ°Fô7 ׿3ØøöÛ^/ î›U%TK·‰@`îó«XïWT"Âö8f G‘¸™.Ù㯤ijÝÃ×ô*/裋€@~ t€Çõb=P&X˜”ÿ± £'bì"ðn¿(ýa9°GЀ¿?P²ëS‡ ôSHü~aáKðg¶l?ø§Ál"Ø,ûj ¿ÓÝïnßævo ”u¶¾Ñy˜×º’‡»þû«TL‹ƒ˜Bª½ÿÅý5ç]|”£» @þ ìɼ²Èw®§»t±PÌÿþÂ/¸¡ÿwéí‚®îdWaOñÀÇ/aÈ—C>ôïµÈ¼uɎ¿Êg·›|º—ñ=èhYý¿ùù-Ë„Âèl™!@`¡yŸo~Ë7æ—uûçç«f÷îÅî~’|ˆhu`KiÓRdéòëtý¢ÿþIàÿ¯KSiŒÿ§¶¸|–àÿò[Ú©½‡èè¥-‚œ‘@é oáËøò^¢0±_š˜äE{æÿ‚O0Û­>²¾ÙÊÓ kØxSg‰8}­hµÀÏV˜?îQãmžN²ŠÞíãØ•—y3Ê@V$•ÑᤨõTQ8Ü–›ŒMrœPwßãz±í>€TõûEÿÿ€ u;>äÀt€3Ø7b -… -@ÑH¶H’JŽ»ø©ÞG§U”CE ^{Ê1^„`S.§`k_±ówþz<„Ô„Ñ1ªÑUjäÁúGM À i ÄƒÂÃ9Ä%Äç ¼æ×¸®ÑÐŽj†£ˆ’Ô1âjüü9–âˆyAbt± 4ÿ癈Ô6Ø9²iZ‰‡–ÿù?»+"ö à -)+שú§“-uìv;€€{zº¿kÕÕÛ­Äœâ³i—ì´ŒYÆØ ØÌ=—•[ÎüÀ7[¸A¬XGÍ¡ ã †N̲ð_ ð“ï}ïôW~ÒJõÿ†ÖÖï:0ý#ÿ_¬–°ÍJÇsV®ÿãax+Ç­šš›7‘ì+œ€ hOÊ  'ˆ€Gb×½6XÌÍ19Ææ€÷m6î!àÝXC|À ÒQyïåMþÍ2÷ûÍlÅÏݽékˆõÂ’-,H¯ÒÓK†z}Ã]!FØÜ¡Ò¿K ÀcóPù?jI¿fda[,<@ñï 71ô‡9%+N„û˜3`þuÆè÷€œÅŽZ=ýq¬ø¾ÈÇ_OV=_+þ›ÂNw¶®ÝÝÙ¹»¯¿ïµÁ~÷ ]ïßPˆ@AWq²§ðÅgÿ!›}õÕ_Á(¸ÝÖþFrÿ©ñüdÝúd1;ó@³Â„ù¿˜Ñ_òpÏ@R8åS€…þˆ „°¹¸;YÌ9Cãˆø)Œ^)ûôÀÊÊÂ*"|S©ÁWïÜñߦVRí ªøUžíëùø#wgý/ô” h¾Ðtžéî,+ëìé?\ö†Û]6ø¼»þ}‘#Œ0¾ o¸¯=¼xÏŽÔ<ºLÆgÒ†|¦YÓÄĤ=cÐÙDàOèj‡PkR:óÜ ôŸ×Î=´‹Ò¨@hý‡ 4…¾¾šÕU}]›ƒ}.Cº´0Ô.¥#SÚ%ðúϽî[Ò>«%ôÇZ „7ár©÷—ÚËOzj/zUg÷n1ai@S!Æø„rà&>€‡ íxO\ºwïŠÝ~6‚ÀäУY m¤f‡—å°頑£Ñ - Š?Š®. ¿’Oh -ð8à†¹*äÀàŸó‘ `$øo -9Œ•?ŽJ ?&æÐ 5=Ö(@lÖÕí Ô÷Síÿ[¥ PW^Ç=€MLÖÁ  ­M(í*%Iì4PÑCÀÈo‰s~[IœßKq•ãÔ®SŽk€ÿ8gÈl(6þ¼ô,}`„÷¬“bFkýÕF*ã¹ì7zç<üÆðäD$Ló© vÄÂjM[ÛpÛð0ÿ. NÌÆØsRÌ!]qº Hs’†èwÔ#1ð+õ{2€'Ÿ´ÌlE `ÓŽ‡ðŸÑ_(ý•€Äo•< e@À¿_ôÿq¤R·ÛiìvVT´T‹€NÀ÷«…Šv ðßBØÎí˜õ¤Åz’;NÔÿNs7O±ãbÀ*€9ÌÀf€ª°Yñ²Z]'««‰|oÆŸ|å'_iý>Q€il^¿þ…æßþ¦Ÿ`O@3;;¥¨áîÝŽ:oTøÏK²h± €‚î¯Ê²¦MfJÎ"º»WHï*‹€ÞŽ*âc*•ñe_XÈë—Dî‰@,¦â8@Ôèì ˆ8àZ³S²èõžZ½Þ¨Ì4œÌÝB GÍ¡€%€-¶yF“6¡ ò † øùpÔ³¸üx!àš¾Di¨jÍ%ñ:õÅmþ?pçwCÁ eeñùþÎWËS¯õµtAcüù¾7vwöwv–¾Òs¸€·««§°§§Ì½#Û¾éÕWmí¿J=ß÷ÿî¿007÷a -Ä@’‹îÿ?d Øô )àÁþ?úÿHØ?^ÿ$HÀw…  -wõt5=Jà§IhzºÊv†À„Ÿ üH6q'Uøƒìâ‘Îû}?¤«=Å=é¶{°ySO¿ûÛgÚÝã=¯¹_,ìw—õ»ûËún÷`g =`K  üS¶Ávª°¯Ï -þq š×b†ÒÎj}ºÐü¯ :#Äì“‘±]Dëc PÞ`ž{°ýùú²/4Oè®L0ý÷a2€NÀ׫–—«¶/𙪪~iŠhµé4Ö÷o˜ªÒ뵇Öçt¿­±²¸²’ÊþìHaaÂÖ_ÞW¸R^ØÕÕÿji¶øL}Y²=Ðü«úç/úû{^,o/øn»ÝýL²ÀÝ^VvØÝßÙN$ З²õéKíÁÁ¾TvCá‘þÀÃN÷.Ù'í¾ªeŽúE0:úóvM»=D;w|­ðä?wÐ ü_®2-£âWŸovy~y¾JÑ †æÿ*ú÷‚ü²Ê”Ö¦C¹\:ÌßH¡À¿Ô½µ”¹ÁaŒþ—ÓK¿´ô—ÿÇ[g—žZzë©¥©¿Ó¾Þ»å©·L‡¨î?Ô{¨ - ÂhJçó¥C>%«HçSÖ3e€xÌê•{ºÿ|ݹtÉ~}âÊ­GØXX(¿h2p€á|€ú QãÑx¢¢@7F+5²2G7Jq"j¸þ¨?À{¿¦jÙ¡‰^süßô!E£²Ã¼¯6!¬£ÿ‰òÅòrp€:Ö€@03³:@¸üG]XZ«”%Hþ±%ÇÍ ³³kPUCÿwVªhw -X–© -󊄆៣œ%Þ}Ç$ݬVÏi>P{½sïÅà" -sÜ#€¨º‰÷夃Xr¶`,¦™“®I1è£Ãa8+ω ˆ 9_@jܵgÏßþ´qfæù›6ÁL`ªqVð?Ÿ(öÿ¹ýŸð+Ýÿ ’Äø¿Þ–ºHÝÞèƒP§ÀÿjNJ° -¹Ÿì” ìk-ÝænFÿßuÒêR:ݵÝN~_WT€F9¿^Ä@HɘÄÑ8ptž|å{|ü`ÃŒÐRýÿ -ú[›˜X!ˆ» Ã7ç7×d€3.‹xž-b¾Æý5¯,EçàáÓ a€6Û{ßî¸{Ó뭑РG•of p¸Hxîb!ÐS5Õlö¶y„ñŽJøï9j1PaЀL *ù=Q¾ÖŒìËè»Äþ³-¡ÙÌfDó±š cÖÇ)YÂÀ‚o bv±å¿~>³9€¨þ“æsœÈ_u ñ»…/ À_ªËî$²G>.ît¦¶ æo>ÞÝ×ßúFKgKYa×ážWº -Š»8‡§³ìµ”-kkß”|­pÿtí¹·4 Äv‹>€0Pz¢üç¯ -’ÈöQü€p§ ¢PÏîßåOõŠ 0ä…]‡ ^?:>0þrr ¸¸ø•žÎOÓ¬'HÜZ¼åÇc¡?õ7]¿*-ïdªÚ;kÚ»÷×U¦ª§ª~iª"Îå8Üw½Nû•ÌÙ\Žhnä`û³´Ôû?Þzê¿^¾|ùìR/€Þ¥o|ý›KgypHÔÿÜ .¡ói}9g°P0€È`;€‰ÿ½÷jû¾¶EƒŒ‚ä!ª)™*² ØQ€Š`~ˉÁÈA„x¨ŒŒ­V‡±œI9©NÁAC^™sRn ïÐ;±!ð‚yŸç™¨~e\:žÉuÏL|rJœ1i'ƺšðúzŒqšäÆo¯ýù -;=¹÷6­óOIHBóÃè»ÖÞ{íµú -x©} þö´ÜW°¼7A£©Côu î Œh{96ú!D¿Ü C:xÒ™‹å¬¥+D+Àí©Õ&J|G«5Ë©RVëÌj¨éHõõ¾Ü¶snÍv–î]ZÚ¼´w‰¥ŸŠÝŽ’JC€ÚÒÚbv¤oÍŒx“;MæÍ¹“aü›!4ÿàP ·ËßY,Ý,§’%»½¡dY·Å†Î¼ö€äxÈ>¥N´$b´oƒžð{ -2AÛbXéKœº¶¨€RÚ8B|ÌŵñÓ¯Êym^óÿ¶è¥Ge‰D5<~4cˆPù¥–£w¡)¼˜‘‘]š]RòÂû7Ò+¬} ÿa÷_W t“KDsàŠè˜øMŒ`tÚqz¼€÷a@åa®©È<ÐA è/(`ÿ¿‚üü—3^FPú†^?ºh0¸«Ù -À&ܤ½b7Y"hÿÑÀ©ëå“ ¯Ÿü×öú¾OŸ…`éoQ¶ºÓpˆU‡ ˜„B:õ[y‹‹‹y‹WŠw®ñžkÔ²`^X'÷“®J(Ñù‡p¼@ê Y^Æ¢?XòÁûÏÂïWæÖlÙ²xP͆@B§s‹dñ‰6¼¤†°€=ÿ’ °÷÷=@øß›Ñ‹T‚^½Losëõ!¢!·-CË aºŒ¨«Œó0€ë†)¡`¼çmC¬ -ü/è‘]½ÿóó߀ÿíA¹½æÖòf“Ï—štä³­Fˆþæ]Vëp°© €•€/ÕO×£*¸Ó9{ÂÙêìÙÚ÷v_ŸèÖKêdK@áî—z×õWZ¬IÀ"'¨³óÞÞ@s/¶}è_$\€è ¬*ð%u¶ÑgonN­ð§&ùT®áà—*n­"ʯÝôãÖ&ëæÔж¤M›¬¯V4¿ú‹MͯŽ V5%Yƒ ›]FcU‹õX`ÖiL -vq†YƒV£Ñõ¬ªÉÙä0Y›Z›†ø˜œ*—«ç^ ÉêKårn¦#ó'jº‰¹Øíþ¬i8£¨³¦ -ø‡徂 V瞺9öÔ\úÜÍ›éhþß¼97aŸ“žñ‘‚7&rÓ™8@Î uEL‰z?il|B•ª{$¢„ÿÿÌÌ}%i¹:ò‡Gùþ÷ŸP~‚ ¿)#9é#ÿÓ0 RD$ ðŸ3êïé   ?ÀÛý‘ߎ½Q¶Ÿ3îç€*ÈIM¥¦R¾»(——…ÕeZy!Ïm´a·Gë¡;Të‡ÍÂPy1“â y?rv R»¡ôB>¨sË.w{EjÈ×ûrÛoÐéø‡ -àqÁÆ1@ €@­Ø ƒ¬¹P'ÓQÁ„ñ¿¶äzÂý¬êÿ1èF€;Ù]ˆ²*E†&<¡?<°¼Jk“¥$j9ñ/‘Á_‹à›–E‚S䕉4×&+¬ž’qbŽ× ¯\·V¤- ¿<ú\™\+“[¸ÔwË&ŒoÓ†IFÇöxŠk‹ÓŠw—f?ÿ¼h´ü¾}óïñ›éèóe©E´K åÿ•]ö?.T!aÄá8Ý´ÏJ `=‹¶ -Í…\äÒ (À $>€…|6`àïÍ÷3(ÐçÇ[6±ÍÈ6€6áH¿ìëÝ -ø±GðæË'‰ü#(Àëë܇À•¿Õð–m‡ i`òuOåâÊâAp€-qP‹ß3ÂY™jcà©ÔÉåjpé@Ï ’g°>¸aËÁÊ aVÊd¢ºO£?ÏnÑH}yèW*µÉ"‡†ýɘxõ²´d™íçS/¥ S@$#ü/©„/e¼Mgz íîà‘pB@e07@JF2Ñ -¨ ùŸ$ÀOy2™] <Ä^ ›èõDs«óó߀?G=òFÓr»ÉªºSubðˆ*èòUU«ŒÕÁÖ}p6ªŒ*Ì|„Û© "`='{¬Gw>õ*»O,ì³üm%_ f©÷ú ƒ’hÁy–Tœ—€‹ú„ 0”6‰øˆ$Ü9~§ïNEs*ÚÕ;­_º@—––YÓà­MÖ–ø:Û~QóêS¯¾úêßo2¾z¤µï³þ¤kÀzì„)xÖjÝ{œ„ýÇ‚*«Õ´:‡­ƒV½µ¶:O›‰Xïí¬)±³æ&”,§WÚ3çb×ûûëìYJ;vìuJ;·÷XTð`fÜïgùÁs7»™‰ç` ÄÐ äÌ¥ç@ÿ—“s8=’s8b‡ R¢ìWFGfˆì3xöÿ3Ñ]/~ðÊ»ffF®>ý¿Ï5žÛñİ&øûF8 Ê¿ºº!{ÜÀÎÁÀõwUèdÕOôß^ͪÿŽr¨ÿ¬Dîë ©C“§ -€JÞ`›9ë¹éÌ)ªf±DofàñÔÒ]˜ëk€SSjUì$˜(,ƒÔ›Ì[¦³¹é˜F£¯}ð8V÷ü÷.-Ñ[Ë^± -!`ÇÆ:e&dà ¹Df‘ 5£Ì¢Ocí_( ëÿiOvsP Û§tó0Í7ޝt£sOq‡_.mNqí.Š]NMâ,Эä@׉&'Ã\ò{ ¥²Y¨Èóñ©Üþçx!›Z.û¹ÅC_BÇýÂ{¢*…2O1~ë…æbs-kŠÏמÉÎ.ya#$€KÜ óï…é_»´€€$h‰Ã¿ð¢38ï7}´›€Ð4íÛ·o}.Œ -· …:Â$Œ`Üëïõg ÞÏÏïÄ€%˜øóýÒIgàÜx"#5ƒMëÆOê&¬¡ZíeßÕÅC€×yðìíÿÛÝ {áʤ€§2ooæÅG ²(«”ºB¶ÝÕš ý!DA^%«6¬ðJàbå…?ÿ-ø_Vþü·Ìoz]å°þx_EpÐi5ºâ©æW­PZ«ë *Dü´CÀÀêt8zœƒ©Ou÷ Ç^†tªþ©Bg!ûû‹!¾À©ß_‘”z×þ—ñÿ|<€@Q___‡ -!z¶_å;ÞÜÖ×w§¯â;>â]AgðË~H–Zjf[Ö`‹Ïg,j›-zõ'EE¿ý¿f}Í#³Ö¶Fãã` àfU'NTX{¦¤Î 1p,PíJrµ«V—ËÙÔŠReØaR\AÓŸhúÇ2£kûM…ÝŽ>ÀÜŽôÛõõʬ¬z%›eÑÃöt$M°pþ%ØÇ"²ÿnΡôŸ»{Êœ˜ÈLGH ¢\aŸÈÉ)?lO¥CUÄÊ…ú¡XT©$ÄgéßHtáÿÐЩèÕÈÂÌÓÑW£¯œ›9÷ýè‹<ý 1Š@ÿá0TÇQvIÿÇF÷ ²â™ - ¿>òËéú¬+YWÚûïëKi)!/\™K 8Éå¿’Ë„§ÐöW—©åSí”y -þ9¹‡ê}'ì©õ›¹’Æ›Y-§çð¤@Ëa8˜Ž£,s«u&¹¿öÀöšÍÜXÚÛ²w‰1¸ °}óã°Dør&Àë̲‡p4K q-…Úÿ'9©„=NÓ,Ýÿ€Ã)Õ?2­Òá!I„õèýk±ó_™×+•»„ä‰L0°%‹U>ŒRò0™Jä¹–0Ñ&ƒ"xÿhQàk‹1QA±ofb±§xw1‘Mqam¡‡ _sæLé™Ýgv—þt ÿÛ%ÁïüÅ—ýýK¨ÿ¥F+kÚÛ… ®Ä"Âÿu9§·Bàâ=ÀêÜÂm†ÂB‘XþÁ€J*ÿÀ N <§ÇY -h9 @&³% -Eƒ²˜d°ŠàÍü7»Þì:¹ €üéÙ®¬þíÎ…[¶q@GN:³9¼"fBˆAÀC?סÿ_˜‘AÜ/C”ÙĬÍrµØtyPn8Èû•¢<×#°Ú’OÛ•ÏexÚÊ–ƒZÞHIc­¾¥Ìd:µM&àÉ2xþ°½Íz| \l6¢òlèìæá¿è¸9&#™˜Dÿ(ö“Ÿ|Fb1ý‰ö¡GdÈ\žÿ–ü¯F7W[ÖíoiùÐåKR¶V ü \çW«],Tu5€pÐß01p8›œÖW_­hæLþýÍ}œ -àKZ˾'è¯BìûÁýçÿÞè@¢ýßÖ†}P -A|pþél>Þw¼¯€ -ŸOõ¬Óúe€[×éX4Û^Cä¤ÉØâJõW|n2¾ZôùùÏ{ÚÛš­G7[;O´ž¨®€ÿßk’Óø…Ã8´žu3ŽVÖaË ]=X°¶š\¾/€KÓYÓ—²”;uõõv Öíu9uוcYX@ >Ë^§¬WNæÚëx à@P€úô›7›xŠàŸÊýt¾¡‡Ñ @; ü1€ÅáœôôH,çƒHT1£ˆ)‘ÈØ©J~{4#ŠàŸ…èHl×HôõÇ®¾xu¤ñêÈLy´q¦|¤î¿ÑtéÌI€uCuûã -€µ@ý]Ð?0€àþéúþ¡³Yö³Óýßž¾Ÿ3Ñ`øÿ•ˆ”¿u@Örž­GËAZ ¿‡›Ðžp1ZæZî„‹åžp˜Ÿ"öÔ,Yã€YëölªÝ_³ - Â`‰7ÞèØØÑQ2Z2šp†@1°È@…vaHF… -Ôÿô–fч*B°$-íº»SôR:m:›Ì-ZÚÜ´?ÀÞ¾Z›,Ñ‹õGtþaýŸxb@b°–'r?€ê|M^¢ÈT”«Y¯kàÚŸ-ÓªåH)2³>±Ð ‚e¦Z¿öÌîââmµg¶ÕŸÉ.ÞMôewiön‚ÿç_(ÙH?ÕÆ%dý`×o‰àþ÷ì™ ,@°$ÙòÀÿ+&(ÿ¯¬c 6·žÞ×´oßzÉ ¡¡0ß@U©Aå4¬ùëó_îÍ¿çäg! Vüú|ah£E­Èº?¬LÒ››­€BTH"ü C„ü®¸ð__ÿÙƒg?jÿ›–…9 †m‡Á(?d0Þ"°áZeÌýâ3€R]†ûPÂs:ÀÚ0·„°þ¯\@Maå ¤+•j™È¨²¤ €ÍÕ ,­°‰•VŽYÁÊJ%ý){97@rL>[¡-#ÙË€d‚½ ßöR|@ }}H=b? õµºM¦CK@&é…µJ2’À&èüä“)b ýz¿^Ÿß»¯e~þ[ð¿iü3þ_¿ukݯ«öo>a­n4Y*úý>p€ ‹×«UBàG{ŸÞ§ªVYÖ É÷jŸ´çßÙÙÜéjjhîK¥§ùR…Pgª X+ÿé]Ÿ´ù/¥ÿrþàŸ@¿/Ìó(š; Ä›aÀfløé½®àënÜZ^¾µ €ÙÁV‡UÕb¬hðõ¹v¾úÞO:_­ªI2}ÏžpUÍ:ƒ®£ÎÃG‚'ŒÆÃUNÇQªþŸvÇþ]F¤¸‚¾a+Á¿µÉZC`øÞÀ´–? ÏŸú1ýUL¤+‰ô!@ÆîØXÝUÖlÎ],æL@@¥ÿ®ææ»yøO13˜¸11wcnbGùk7&ÊçD—+bTÂGc±g"ˆø"3 -– ÿ_ü2² Þÿç"3‘]W_9wõÅsÊsçˆ4ÎPõŧrý Àbßç]ZˆwêbJåØ=^@¼€«ÛýýýßyEùƒ+—VWûÛÛ/Ý×6òÖ° €0?уپ@®æµuGxÂÙS‹{žp­Y¦ºÕã-üo©ðÅ=­ŽŽÿt4“i‰|½ ¦æqìˆâ_à?/ @ˆ@6« ¤oùüÜlšªgûßn™þZœ]BUÿ(ÊþÒŸ–fŸÉÎÎÞ:ú,LóKíí¿§7.÷¥µnû3ì/‰;è - -°_2d"À"€u¡ ¯ÿYnnC®Á@C>!Õ¬ùÿz*Þý½½½ù/¿,¡?½OÅ?ðÎÏ€Î0þµé6X¼Ä`OørUj¼ °ëäz(þÆñ~éÑmÛ¶¡Ÿ @(ß`–cwp1oqQ2|è±­B–€>aþ£V‡'Õˆ‚”£3—È?¸ À–• ·àêàâ–E¢ÖÞäá;€ÀOÕ~(YÜõ†Ù8`KÞTJJ²E–, ¶,0Ä_²ˆ†,9™îãbt•ñöÛo÷¾më}Iß‹€(óÝœä`³…2´6>@üªa·a:%'ÃgŠÿ'…Ù ¾˜^F$›ù†}ß ñß_GV¥þÿò|Mëë?øŽÏqÂtäC“1ÐéSÃ…à¿ÚE£JÕ@ï©X€9?>êê!P„|^É࿹Âp9:›Ñ)Hòû Z€ -I ˆç¤&uŠ]À5w€ -*ý…U`Ä„à}Püc±ÐÏO‡àñ¶ææ;wú޳pj ø%ˆ!hi1 :­ÆW’êXsÑ΢Ÿœ¯¨(ª ¹z¬ÆàfGpg xÂa ZXÿwV9Ö`…Ñz´µÚh­îÙtºœ[‡UO“5Øjµš\©ª/|±Õzûô€Rùݧn>õÌTÓéöëÓTÿ+íìÈAuP‡òF¿™pB‘Oàÿq€Ì¹ à&°@àÝMŸ+WLä”——ß8œ͉òü>Fgå©(UìTþX‰F"»ð6³+zná—#CWÿðâ‹O7žšŽ—®D0†ÿ‘cCbÝ€é[WÞãÏ"ŠÓ¿Ú?ýÊß½~éÒôÀíý«÷wœÖ1™—à ^„%=ÂI± §‚D#Gÿ_Sëù Aÿoj &€°z‚ÿ29Ð_Œà~'£ŠÁM°C௷P³'-bþÏ=n|ÊàñŽuŒwŒ–Œf#°TS îb†# L - ¼E•&{@†F€h¤"NõÉ_§X.Ët²4Xé-Øò—éˆ+ؼHýEõ/§Ê_vÙ+c ݧÃq¢È곟?{û&ÚärÛ”PT¨y<¿`­ T z<ÅÅ……Tïîú—fgïÎÞ=šÓÎÑ÷³Gÿ{ îRùŸÍÂÿ_š_¥”ðå?οçjŸeÿKöc ×ÿÓ¢ý…E5¦+û×!ð£ÁÓ„œ®Þ‡ @u.•¬†|ØØ£×@ñ~ïÿËg ÄX ÷ˆèô<Ķɤ€ÌË{âBÜ6N€ƒŸ`×›ñÀIàÿß:˜ U B™„9œ—·aeñ`q€EL0(ƹ…bB]ȃD`u˜€ý¼€¡-%°ˆ±ÀÊ¢î™uÃ2 ÷-B¯"¯<¸U2N”qcK&,®!úÜ&Ölû§d™÷%L*Ôokß¶¡Oà}²„ð2~è€ý8…dB Y ðs -þIäþ! ðIaü#cMMžþˆr¿Qðÿ€[K‚0Ò‹õÖòfW ÐÖi=a%ŒøýI~¿¯r—Ñe\o¬öU»De/Ú÷t_åR¹Ž¨~[„2_rnnóÍúÚ’|*ÞóKò£úO½;@êŸè‚4 ùý¿„ÿ(ü ú¡ÀãRû 5µ“hCEÅñæã}wè&µ³Ë§ªþÏ€ùåOØ f6¾ƒVW €€ª¢!ðysRQÑ ÍG­FÕ a¾¯AÀ~kµ§!¸Ó¨r«'Æmk°j¸Á8hÅþc@F&R“)ès©îý:ý«—¨Ôì)¸éŽLÔ¥Ý&ø´+ê™Hõ5à_ÁÆþ÷žæ„o™\ü yàM‚ÿ¹é‡sêr"ué±™º™X$J>‘EäÔØ©vÿ¢‘h¬q¡ÿÈ+tdfa!ùùWÞ<öôÓOÏÌÌDŸËT4¦Ïˆâ_‘>sxH™žÎÎbp/ü+% 4` -@Lfºÿö¥þ¡¡¡KoìB Pû},wh4š<j˜„åáaµÜ¬õH:@*ð‰È5fŒÿk5(Pkk5žZpmØÌöXðLÉÊñúºÖæåÎ_s àqiPPÞ‹€5„ÿwt””ŒbÀv€ -ø' Ó¹Ù¨!å–´p” u³à×–KÈ-ë¶$[ô^^®F‰$³$"á'Q Å¿—~@›—ˆ ´„éB/<-,97»S‰,ŽÄ/‡ôo :t@î‘{ÞòxJÏÔöS­¦t7p>%vöó[·¾¿ñù’’÷·ŽÎ3øõ]Zj‰£ÿZÑßÎi ³ZÄ`Í -60]ùÈàGĬ§]®' -ÐÛÐ öÖáñ‚E¬Wß«/ðä?Ü ÆË˜îèÂ"€Ÿ-¡“¦Ä ¦À×d}2Ô„ùPþw­?yöìG«óká«6l3ª -U f†€1Àâš#p6‚ˆªé7h.,ýÂ~õ«sXÇ€Ø\9G ¼•-‹S®O´ý1Ý7l“ ãj¦’÷¶¬„µ²¸Ç“-ñÑd¾Ø¨¨ÇïK€¤«m/½M ÷¥— Àj d!·Í¦ -[æŽo~ 8@2zþÇ+€Oòæ_2ûþèýCî7Gü÷×€åU!lY÷FSËò­šYSg[Õ‡&cg’·ô: îýªêõFÂùjÖ£ì÷û…ºŸ>h¨¬ÃmÎ~vî÷«TÍ•/žì OêýÉ ¾û×\!ô~\ÿÇ•€h@ Ô‚à ]¾Î;Ø<^Ñì«ð§ªŒÖž/hÀYÓ‡&GkkpPº’ÕmIç›­ÎcÖGÆVçà‡„þN£Ñi 4 ëi ;«U¹ª’;]Æ +阫º)Øê°ZMM>ã@{}V?öåÊ¿«°ÁòH‘cŸÈú¤Þ^¯!àÏ×%+ ÄúpŸÝ~æ2ÑöG'à&Íe–ÓÍTÿOä(ÏÉ™8|#àM SÄì±H$[¨;Å›ÿTüŸ›Áõ®«W‡¾ýÁHãÓW¿»ëœbÝÿõÅÆÆ™‘‘èÈ#0@ó@\°‰€=.ðü·+ã2À{;YÓ«·ûû§/]êϪ€1@ÿý]¨ùdOiž†ƒ ¬Ä2•òej†(ÖÿÁ¹6¬AÄ õj‹‰ÐMiØ£Ñx4a\ö„=fºá&FSj‚Ó!ÿÆmûš@\((@ d€ñçoìÀ3€3šRM-UÜf³Y´\Ct ¥<ç_ºIc «Tú£¸B5e‘éd6À¼Í’BøÍ¦?,sD¸ *‹MZèSO ïß)aæO¥ÿ”++âœøä#0ú½‘*-=sf÷OwÄggfsñf÷èÖçŸ/yz¿÷K²³¿ä˜±º„úŸIÀ’´ù¢Il,Iq@5ÒÀ•öšýWè\Ã:Þ@"€cÐqút¼Ñ ÀûýéUÛ«ÏðüαWÿpï›ùR@,  Bô° ’Zn†½W&\i0 €X]_P±÷Í®®“`ÿúúú³¦oÂ^˜éж±ÈÙòp3€Ebyè<´aË¢¿<ƒH©2ˆL@yÞb7€ÑÀ`Ý[Yá‘À†-–á±öÓSx@t+Q~´aˆ +µB!¨Ç +þü¦VÛ ýuj›8õ‚¼”,8œÙÈYü×fp°ñ]³AúŸ…DF¢l”œ’VYYQôGT½~þ[ðg4â"‰[¯§¾»tkS‹©¹Ùètø+÷¥ß$_ƒÊX-ÀjˆøEìzS}¾W°¢‚hAEEª0¬hî£ÏRù dW <Û'nâvÒä¿‚Ã×Ê^$À-›õÝi6€ÜBhî ¤6?Þv2€¤wR}ê`Í,/ß‚©æ3ì;­T뻪ÕÕ¢cEÎóúFÕ³Fë/œÖ­® ÉjüѬó˜+)è4žè ;1üï ª‚AcµÕ@â`°ÕÚ$ ò}aOô·E .w¿ªÕ×éëL­À}©ÖO%¸ÄgB+HàÍAI èóáSãÒ‘€¼_Hþûúú*Àúš1h£; ¤b’ÚÜFŸHàç¶æÎf¬þd5Ÿ”[«·–oµÌ™5õ8á`Ðt¹TIU¾æóÀh0{‚NÇ ÿÎ*«³ÁhrVƒ¯á‘ qãÑg­Áê #tì ÐIÅ^ˆ¦ ýîýZ—ˆ (_»1MPYO˜:TW761p]™SŸ5VÏ>@Ð(ïé@˜>‘žC¾ÈäíÿœL°€sååå€ÿ‰t›s#çpÎLNÎLzÎá™@õ¿²^þÃýï\ãBdäéWfFüåÕ軑È+/D‡®FÏ 8:iœ9,äx~Bi_Ûÿ»KìR(ðš0Ot„à¬Û—V~ù¼1ÝNœ ýöõû|è¼Å: g!ˆªHÓåæ²0  ~ UÐ_Z[:Y[;©©- OÐHŸ‹Å@"¼€š™°_ëå¾á×M6så/‰Z¤M€íR$ÐÆ÷Ä2ÀÉÒ3¥µµáb³ÙÃZ+](Ä#Ò´%${€Ž¢ÝÝ2’ËÒºéPŠ£)g«¥ÈÜØßóZmX æÚºD¢îØ%M ÿ©ô‡G€V`ÿ” -~ÉZ9QJPþëäfsXS{¦Öþ£Ïô—¼ðBÉ %%Ù/ÜýÙGÜñÿ¬½¼º„&ÀZ  =>X.@’ à^€Wö_Z@ö€Рã#) €(À£¹ÕÜÐå³j }\\ühô^ìíêõ¼pw'žAlÏSbo"/€%›÷\|¸7ÿMÞX¿ïì•oÈh¸}[nÕZÀà) Cþ[¢°á¡¸¨§V]¨óð ¤-«Ì»&Î˹7¬‚~–®¬ -°ÅŒ_´ÔfaxÇ€%”¨eÚpá’þ4‰É^¨ÑH¶ÜÅmljj®Ö"ƒÈöÒh3^ :Î 2²dnlwôÜv°IÃñ-V -yñ¿ €ý¡rKóó߀?kP4+Póúë[6Õìou¸ÚúZO8Œ,êë;Ïsz¿/) £ -*€@ U"Ï'à®Ú™T‘êó3P§²08B*1…¤$fì ,‚y¤¿¶ü/Ò@ãÿî½6a  ø@'ÖîôµÑµ/i€ë‡M_üyØ ½åÖRÍgƒƒ&çà Õ -ü¶“c¾¢Öª¤¤† 1hu8NB{“ѹ9˜d=´›«=ÖÁ#=Æ*cgÐt9‚FU•Ñhmµ­/¸|ª¤/jˆL+sr™¨W(éöÌÛÊ,ÄAÿ/­Ø `¢Ný 3w3}âæM üç”ss;2ç2'ûçæÊ'nð5Ó9éé‡Óg"Ȉ1ˆŸŠ4bíO[D#§®îBøïÐÐÕ«3Ñ]Êz‡ÐEÿPt¤QÁ¡A"ÿÂ?ûdÿ§¢ë¡øS¸J".ÿa8½z ƒŽ±¬ú+Yí«—î³`¼ ¨ K~€jiBýsºÔþÄÐïG®.<õ4£áQf²Tƒ›<¦€Y€†Gr­ˆ†qÛ´^/Õ$_Þ€ÙÀýÐZ³@`?“€½R$ÐæÍóà¹Pd'dã»g;@³Ç\VÒɘ’& éá Ø&ú¤–îºk ŸUìÐá.ÅÂæöœ‚Â)·^/2${EÓŸÛSjíÔÚ»S‰"OQÍM‘)þ ÊðJöxŠ×࿤dcÉF>•<þgîLßZE`é:!þuI xÀ]`Qÿ³ Pû~Ñ` £?Ç„EÀÓÖ&TWç¶!8”oÈ22ôú^¬^ÌïíòÓ%¿‹@øßëïÊ¿;È ç³ÈM§sëdk* êH¶¢‘%ÿ® —þ‘‡»Þ<ùë<ûÑ•o -,[«¶¥Â2€¹6ÿ¼Jªð%Cà‡®E/4s™.•TjëtSy9 H%àÁÅ õ‘ý·D8o±è¹óÏŽÿ^&N‰!t$µUtžï#†§bø D *U—$`E'Ö»| 7 Ðôç-Ÿ/À=z""ÂЗ³€ -iñ/Nõü¾ - ýÙpM<Ø|¼YÕEOo;ÞœzCŸÏµþOÃnÝZž‡”¡¥¥†j &Ö­Aœ¨šï³Šük%øwª'f;O œ0{zŽƒF_ gg gØj}ÖJ,ÀΠª¶žºèŸQ÷~¥ëX“›‹Õ}÷©ï*ÞCÄŽBqãö4Á~=ÐðWH ÝÎà/åý(ÒoNd¦Ï혘ËÌ™˜+ÏÜQ¾cÇŽ¹×æ&¸0Q^>q8'''ZMIø¯ˆ¦+g"ï*b§”‘Xl(6‰>±°ð`ôE¬^9}e$úXäõÆ(¸ÂáØá‘È >¹.2ƒ÷/+þìCÊX<@8 - -o° ðÑÆØ¸„m‡³õ—úûÛo_ºïÓÓM%“yì ¨A­/÷LQ¯fZVúC  ôOÐŒjˆ”NN–Nj4ÈdÀ'Nº•‡åSvÇÉ6)‰î/ñZÆ6žºLýרüßܲ¹eio| € (Á§Üxœe%%% l4Zû›Òb¤ëÌ:7Æ®2Y§…ã,ÉÈdÝz:Xv§ýº[fqs`JGXw¢å2¯ø—qmdQÓ”’bq{½6^í—£±@{À&ç²?ÞàdXèþ¬Œ„gèU!q0–ý³³G·fþ¿¿±ɆŸÿ -Ò¡UÁü¯ õ¿Ô Xbý_û¨á!À‘ˆë+WD¼€0ØÇ{ÛÌk€ðû eä£Àû~Xì x¸ °Ÿ‘ßÀãz\/ž›ɸ±kf[bÉÉ)HŸ/@  ÷áü7»v¡üÿèT¶änÛVCàC D<“×ÐXáwè\i(<„š„³!mFYeÞA¹üWai@¸ã…% «µŒÃ!ŒZ¼i²d±  /ÓVò.O%1† <¼`ý$»Ý¶©Ü‡u³M-Ÿ’ÿœn3Ô6¸8âqþ/´q$° cÿŒ«Ü!HôˆÍÔëã@6q‹/®ú°b”ðŸi~þ[ðç6ö/K>€ËÿòÛ¶·´ožužpZ}E狊úÎ÷q™Ÿ`À¨ZUíjPUù|(äÙ×`¸1½(÷Ép òq\/Il2'€'OtÖü€šã§ -¬ö±ëoQs< ¸ ž}wú„Kš›U©wÞÀ;Ç1¨T®¦/ -1¸µÜR3;KÓ‡&ªÿ›Œ;ƒ®žÖ ÑØPð'T—u§»€¿0]ƒÁ@õg=A× “³Çal{ÖÑy4#«±!XdôРĺ5ðÅqCÿ4:cö1û#cÂLO‘>Qw;F…´Äë;'³P| Ñ¿Dü锓NðÏj€‰œò¹7  Ð Øøò+Øòw,- HÁ6€ñÿ®QþýÕèô¹èȹSÊhä\ôé™è/£‘‘!´F†¹ÿx ±Ç¨ô¿ üB@œÅᢤÄUÿê4Kn¯öOg½1Ðß>0}åÒ'÷_>½w´t²¶’=èèÁÞavÿñ`áOãÉó ÷¯©M(¥Â¿”nJK¯˜œÌK˜ÔL汊 O¢L"i?…&ò¡üÂ׃0F ÐŹÿzðûÍTößÛØËº€½R&PÉÆKJè;NÈ®•ZžBÎ0âÔ[Ò `¼âú?ÍrÞbé¾Ì¦êÝ!¯Ì¢# ¦üîD^ý/“Ùˆx½œÝ›È6€0ö? ’DT€˜Ø@‚ÔT_¡ðçŒ%5\ÞˆÀØw7ÊÎöÝøþfŽ6þ*uÓò- –â ¾ y,± @‹Àa@ÓbÀŽ@ÂxÝG&tžÙÇ^€?Û7`FÔÿzð¿€dÿTÀç¿™ïÏ¿Øwêêb‡ ˜ b ”ZëÿC,ÙÍôò`×É“Tÿ?¾úñ7œ Ûª¶ l±¸ÍS ܇Äà†‡¶tf¼Þtº°Ðº3Ìó*°€ÀAŽæ@˜“a´²8…LÞ4þ»…P -[XBø;;0%\ܰn€L xã…ª_§·¹3t¨ÝÝ6Z=%' - f¯ÿ—2@ˆ`mSHýÝzîý«m|ƒø>ƒûzúÜLA¼XœH©?†õ¦Õùo ÀŸý2nŸ_€–ã«m?Üh1}Túý¤í'ts}~’Ÿ U*#t€Éwòî>gÿø ê÷ãAùðèÁ$¦Iâ–ù@¨Cg*ZRé_áRÔ\Ô¯ýI[ba03Ÿ¯â;ÍÇïÇv`ª¯+ Zo[þ“eŽn¹~ @Ó`Ð4è°Z©Ü·ZÖg]G.cs•Ú:h ‚ÛÆ=UN“ÕZÑc²ö˜œÆžãVßùª# \~£ï¨Ê7¼ÞÙÚªÚy/·üxÝXýô@Vlh¬îûõvFÔºô‰úÛÓb¥^)v±HÞU€ -€@æÄÍtÅÂnÖå¤ÏeÎe–—gfÞÈ!àŸËÜA ¼üªÿsfrfRæO,ª\ˆEbvÅ©hD¹`EÖο2s*2Yù÷™sOöGG" Ð,DFØ&pÀ:¸G#¢û?deY3f @Œ®çGïzþ÷׋m€þÕKýôðÙ¬uY_à š0I¯©£|5ÆLØýWã)õhˆdSÙ_RšP:^Z299NŸ2>:ym’y5ÜFˆ+­ÛÂ#‹0Wër9MœÝ2KÈkÑ¢±ª•iÕtÄ´xeZ×}9QZ“¨Óz¡íSOqê[ Nnb3@a˜&ª=…ó6Oín¨þ³7ÀñûŽÇÿçóþ/?}|k•…Ò @:_oYZj›Ä·Ú…°Ôà3·Ö‰E@Žx”÷ s1ÜGI¯Óôk €Þ®‚®ü.Õñâd`c?áðï§çöëò $P;¦‰=1ÄЈĹß\ì͸‹àßéö¿Qˆ°T½-·j[î!, Íš<€Eˆã*À‡4:ƒÚ« ue]†;¤s»Ë*óÐÈç=€Ê„Wr àBå -»ü""8ÌÛ–¡ÊKa³?ú•Ó+î@™Ö]&çÀ¢\ø²ò]ûM¬jÚ8•ÊFÔTþs¼Pmj[ÆK6[þÛ<ed°²PûÓ_¾-o@\ÐÐÁÞAÒx±çI*èäçW“ú;÷,½;/&óíM-³ÃªàÕÖ$UL$ -úŸOÕÀC ¼ß×)ì{‘ýÓ׆€O4üqć‡PÀwï)b@ ¼ÿ*ú*â €"^ÿgIØÇK}R@€@jsêñ¾¾Šã0 ohýzןT&ì´¹³€zL§³ÇÄÌ¿WÆ€1Påªê¦Ç¬ƒÕI΃VLJDœ³Æ`+pÌ ΚžýÐé´«¬Ö ÊJ|Ç×ÖV_ëšK—¨.®W<öˆ²îûv…h©žÈºÝ_'±0&:R`æÿÜÈœHÏœ°ßÌ™HÏIŸH¯Ëœ¨Ë,¿Qžy#Å?|€3'Ê'>Èi<<£ªeŒªÿˆ2Í:ÅïÇ”@øGž:wuýÐߌœ{æ\4Rá -ý!E£w"é»"²æü7fW(ìÂ{1øÒ–+bÏêðºÿÒ*²^ß5°4Ý_3ïay¥aoÖô—QÏÖÜüú׎&¼?I@ú\)¡ÿxµ„ñÉk£“ “ñS^iÞÝ>ïBO%²—·ç½2zC¶ ™ÎeHu'º½*\þªcì^¡Ø$ZqÀ§ì ;Àã<(•¼d@à_èÖêu!‹›kt?`ÌTÓà(³¸9WŽ”!o -"˱ÙèÖºÅAÏ‚H?Âaþ‡%) /QÊù³±2[Ò†jMØcóo+þÍî3¥¼ñWò× ˜W¹ pwÐ"Üâ€x ž< ! HÀ `úhPŒ\V?Z› '¾æ4¡ü ½ÞPÑ/©ÿÿ»âÊ¿®¸"°7?##;;È*C2ÉFNŸÆò0:õ`€êÿõëOtéão$˜¶Uo34äâ ¥m¼@ `ñÚJ\¸á!ó!³š^0‡t:ZÚ¹Ûv0/,GDׯ¼"jŽ€(`%Œ?E‹´äŸâÅà%Mæ¶b­Šì¿ÈÅ"€šñ~=~·›wùµpÿA0µ½0Ô)uOJœA·nÎûqgèB˜ì¸õîñ}(3zlr °ä ŒÿsNýé:Ýòñü·àÏ Ò^ƒ1€åé]*gÓÑ>Ø\¥ª -ðýäs"Eˆéúú© ï -  jð¥ú}©Rß™”ÚWAóû⢠ÂB£€À]DÄ-ï™4ÇqW"À¢¾;/Ð,©ðL&mÍ©ÇHÿ¸q}ëŸö&¯/ÝZ¾5kšÝO à3SËêz68¼sØÙP(XÿOoTõ?£¤â†ˆ€"οYÉYyêé…¡G¢C#Ñ]Ñ‘…™hdˆ?ƒxÀ4ƒ3Ñz%q€H½2îü3DïsëŸî³%4uJH-€»¡@ýtº2ö/gûW³Ú¯-`þqbßaÞô@þ¯Aþ¯ÆLð_[Kð_;Yª)IèH/íH-/¹öܵqb×&¯]K .@U6æPjÂjù”:Ñ–ÈNúnöÒ¥ZZëaû`„{µ^ Ι6ñ/'/\ò À&:ÇÍ€X°çq)p4›(6Ù Hg¦"†½ëôi—Å †êiÝç-i—ý^·×ká'Åë¶Ø´üCPñƒ¨Ö‹7›Æ\æËáÿÏ34ÿñá¿Í6eãÜÊy·R.5Âê¿ƾ¢øÿ+ÀY -¸Ú²ÿÒ½5ø¯‘$ñ[XHj!vÀl€=À܆ü\I׋Ÿ½ŸE€½ùú.Èòã+Ìz»zÙßÁA®ÿa Ì `ÑsýŸ–üNò“Ob‰õÿ¾³ë¾yÝá7>[½m[î¶ÂÜ\ȹ°aqm€E¡Ì Ú­Ó½…!²•Ê*ó°‘swðàA8làd`xå]K[ùz,¬ÈâI€ô÷9%WÛdÚ0«‰&¤Y’ÙžèÏ-7Ôÿ:LYªZýóJyx -‹;:›.##ƒ  Îz[Ü@¢ï*$Óch& …ôø§B¶»Óäþ`ø_ó͆ÿ¯NVÿAöÿãwRMNÓ`§*¨:Ïøÿ½÷Ðèk- ÐrW5`PEœ YúzóX ¬þI¢ïßÙ©Zod¿à$f"G0¾ uÿ+XûÇ -Ìý9Q)Àñ¾¶¶fºjn~§¹&ƒètªüØ8~¼ù8»|Õïý‰ X†‰€¬ŽA§³§ÇJ¥ü‘ªé«ƒAcCPe ¸;z¬N{ècÖàgF£)8왵öüÂuþ¨+8ÚzÄa¬ðª@Õp°i_“©ÕõE×Áé±ú¬úz¬Ë¯SRÝM€_7§¼NÁ×â -TÿcÈ@ ðû¤Qé¯@' g.G‘y¸œŠ~LvØ•;^Sľ_Ž@úÈ oýÍØŸ¡ê?RÿA4Fëc§b‘XŒð=¹yê‰×"ý~ôQ<òÿ_Òg(`ŒíAE´.R§ŒDcJe½õ>†vEcädB )€RäÄE;$øo'°z{à¬þúut÷_ X.™„#šYü¯® cS{~¥PþM–v”>žÐ1šÐ1^2žðÜøøxÇøÇǯ^+I¸vm4áZ‚à“y¥šI:~%…àÂXÅR;ðry™;QfñÆZ.[.ÿ‡Å›˜èÖýÅÛ‚›Ö:„ÿ›D€w?e;`tÆG… °ôL)Fl¤¦¢Fçæ=ª-ÈH±tc"তè,—Ý^7ZZ­­Ìæ&n@ú WxþA?\ÿ^ö -Ò -ë:¨ªE¼"æ*«Lš‹Ùõgë—ü|e‘´ в6¢€[Zâ6€P´óèŸïIúæM@ìœ>-¬€~†@—ÔàÏäSõü§7‘ÿsQ€{Râ„€Ýìtz‚ -(È‘=‡t˜´‚'Ÿ¼X@ç®7O®?ëøý¿˜pë4ð¿!×l0 -k5‹×¨è¿¶x ]Ipͬ֙éeW¦+ «CpÜÉp›YËW‰5€¼Et.Hæ>+èí/!»…Î"-E†}á½äõ–!¬Â¡­<(†j¯Ì"ˆ½qݯãâŸ-ªð*˜âM^¥¼V­¶ÙÞ¦Š_>@H'³…B6@?¡p‡Üèñp†¦VïŽû>#íø¿þ£Õùùo ÀW8}²¼¿… ‡µ¨þí·ŸÍ.ø‡ƒ mçûþ?ïs4³€Ÿ¥~¨òùé½Naä'vûUD º|©¾.0ìúºTª€ÊÕ©rÖ3)è}À S²’8@Ÿ$µ8¸¹èät)ŠÇv6Ã; ­Ùç«8^ñжо;œ¨:ò Y^E ¡M T€'­ƒÖáÖž Õe þ?Ø4‚;F§³á¨Ó<<áxÖÚãpÛ[ƒÆà‰à±MÖ*¢ «+XÝtU×pкuP5ü…%€¦§ûß}-¢¬/Ïd-ý˜2ó1û@}=êHø?ŸØÇ&ÐÈa @´”ö9zçð\fúÜcJÕÿ9åå7väÜxíÆ Å½ÿAN#Õïé÷7f_ˆÄ¢ï*ˆ(b ±zb Š…ÈÈë”›9×8󇧆¢‘]ôY Ïm؉AP¤.‚ èþÑêW*C9Ü€)°2f²ÃÎpM(•ÿý"hàÒm,¼‘ÕNTàk!óK㥓y•b‚Ïž>Bÿ4á< |&qÞ®Ù>úÜøèÆÇŸ#ðn|ÏøsׯAÆÇ˜ $ KÞd±†ñp¸ÑZ±ýfCD,QÂZ* é`å¾ìMù¯7ñ²¹zÞm©o0·þ7ý™  °‹ðÞÓÑñ#$”–Ž–jŠ‹=Å"y—ëÿP(Äë~!ð€ó)G„$kuËe:d¦tC@2޵n™WëÖêèxš’‚ÙF¢X÷'"À¶ÿ|PEò¯M–Èè/ -,¹tæàŸÑ3ÅžÙ9z:û¿o½¼í–Ð2À2@ûÒÝ->ÕÜ3¸Â÷¯Hvë t4I‹€¹' þ7òcÈ€ùÆÅ‚ÞÿEÎý%&àÇÌmÐÛ%XA¯€ÿ|ÄÚóœØ¢—éÙåÿ;ÿD—‹¿ëZ¿Ïq囉ËíÁmÕÛ¶aÅÂ[\›·Heÿ5Ñ67ÔªÍpÑÒé¶©¡¤¤úº Û|¿ -Ç;àÿ 3@a -¸r°2@4 ½°]Ã¯Û #N=: [4Z™žSüln/l¹tZ·›;S(øÅ¬ªåšÊÊJ{ À ¶3BZŒÿy¸c@bÄï° üõ`ÜýŸÿöôÀWüÓøŒñVçéj¶¨-©³3ØdôQþ“÷^}ïÕÏßãÚ\ìûSùÞE¥?zXçóùãÖ¾~E—ÑÇÐú§ÂXÅ€õĈ¸¨ŠîL"B –…¯os|ØGP|ü¯ˆÖ?oˆÓ;X„1Aóq_CjEjÛñ;ÍÇ›@#Øô'ǤÕ%xÖ|6è¶:¬V§1¸Óh4>Û3¸ÓIDàY‚tëWÀøáVãN“3Øã´=Æ“‘ðŸp?Øc´šdž7º¬A—ÕW /AŸâ29Ž/.I£:βE‡Ò±ö§TÖ½67Ö?ÀMôzá7RÔ!  .½n‚Ê}a01W7Á‹s™;›8üÚDùÄáòÃ7nL¤§ï˜¸q¸üƒòœhÎLÎXd&6„ wg"Qû»±È»ÊHäTý‚»D †ÖÅF®]:ÙõÝ¡‘HÁ€ÊsônD"±G¢±ÈP]D1dĤ©?Uýéé߯aYÀ’5J»b€>HÔaÆ’à%ÿý««ýYî:[¿Úÿõhè´}rR£A4`8l–kÐà¼,NÖŽjJ&K·Ovtòc»¾ƒÐ1çÀ@è ª€ÈÇéßš¼FÜ!ì#ð21×jej¹Ù,Wk-TT'z-\/{ÙWÙ£6÷_2 -XÚ´7^þóC€½X€»n€‡ýPf5[éd¼(³¤„dn6èÆA´;-%…W¬QO¹-ÝÝÝøæÜ^­Wx{[¦ìêÿàªäøs@ÿÁì_›¨[UÚD9çqÈb¡<ì1›‹KÏŒfïË~~ëîû/ÿ¯¯m\o—ÊmŽ $K`é†GWjös& ã£Ó§÷F$ðÉ܆†®\^î3ägè{õˆö÷^ô_ì¢V÷ÞÕH®@ô@o¾¡0Ÿ÷2`! až¤òÿ:ÿÓÅü®õßïŸ/“ÿ qæfI€E€–é~Äü5CùO=azÀ{€X½ÊÇOöùŸy €ÞsζþBAà/Z3ºƒš¿¤£™Á.@¬„é`Åw:›û:©„þˆLm®H%>âºwpYü`ÂüÖæY¶ý]TþÎ#Tñ;‚UA£qçpàX -}çlO ø §óˆµÊa -$©é1žØØc šzZ«ˆ8‚­Õôƒùª‚.:Í:\³_üÀО¥´(ÇÞ@ñ|)«îúõ¬,€»€:¾Ø¬€°\xÙ3A”ßÍT(Ï)Ês—çìÈÙ³ß(çSNŽb&‰>Qå ¾^¡X‹(£Ê…HL©ˆÄ"œmŒFžˆü…¡ú!±ýÇFG"CÑ]0 ‚‚Ð..0ý¾?õvEzæ˜2Ë®RÖSõ?¬À^7TÏV@ pÿ ¬Bp¥¿½õãÕ¯ÅdsS ¡v^8¾Éö„‰ü¦¶V3J$`T3™P:¹9a|û N·wlß³gÏûÛŸÛó>±€ç~8ŽÀéœ0.hÀääè¦$\Ë1€@­¤’S{Âo©Õ‰j/U!`X”Ó&^¶\†a›ßþ‚6ë¦ø`Ó¦»-€íPn—ì€Ð(ÕÀ -ØSHe¹NmÓ¹©¤Ñ±•ZHDªt C5l"\Ír™>Fpîö'°ÉÜTa_à¿u'º©ügôç `íhPXË‘ÙèˆjƒÎjjj*ÞûG¦¢'FØouvIIöÖçïÓ›Xl‘¥l ѨoöÅåŠts€+û¯¬c'€Óg1x4w}îÉÜ“ è]Piß[Ðë÷_ìåJ¿ËÏýþ.®ü¥)@4€y@aH‡ !™^ÿ@>MV ² íI¢ÿTà?ÙteùŒ -Ÿl}6î²PX ÀCmàߨ5–Éåµ0Òête„»e!FÂÿ_Éóàþ—<ß°²ráŠd T©ÍÙôñ• Ü *Øó•D’Ðfng3ÛÐÂöë¸SE7p.ƒ^–ò0‡W*+5¥µ®ÔÒ·©ŽYO† B¡2îÿÝz·°}ÈÈ×eäšn} þ_•,¯^Ù,›æçkÿòomª cvIU”ÔYQô“Ïß{õ½Ïßkû‡òJž>À¿ª¨N…>±•¯L É×äò5¨ü©ªa×zU’pÄ==. T©À "˜÷xg-ù¯OÌýãsøÿIëÍïÜy'.@`…¯+µóxß;©}mDZp­ÿÂd~yþÖ²ˆœ5Õ|¶yvÐÙjÝétZ­Îac0¸3xÔj  @ätpÐXÕ³±5xÄi4ZIAzæ‰Á#®*“M€áྠÓ×d%rãr]æ?úx:k`º>B•ÿáº7¸pNLùÉ€rŒƒ€•ÀÙ{’€xi€™‡y;€ -¢ é9uÀEzyÝŽ %z,€gÒ£é(äé4´Àæ¿§¢§0ûW -ôE¨º.|0UžŠÎü A #Ct;DE¿b¤ñ {ó‚ø¡˜’7ýa0b¯S^x¬‘%0Œ›feñ@=\€ã3‚ÿþÕþuÓY°ºýõHmÐÈËC.<ýгù?ìÿJ'F'G·nïØÓñéžíÛ÷|ºgϧã{øŒYÀ8“€çˆ”Œ?—pmrÏ5Í8.Xf h»óN`0ØMZ„ëzÁlÖýꃀxñÇÿ%±°—}¶C€=Àlü P ÿ‡S7ÆšOA˜&êÿËTIu[ÜœdÌl€ªÿËœkoqëBn˯/cJàÅ@€*~¯VÈÿH2­ê´ÄÕʧäx“ÃWàSýÛ—½ñùJî×Ûòê-Ixg n—¢€ï=K| Îö ! 6Ÿ9Ýtzý¾õës«»º ]](ò{ òù¿»ègzøáü‡þ» -òï’8Á<ÈÊ' - /@’á’>¹ íwÒÞ)xçâIÓÒ7[Ö²ïÑGYhÈÍÅ à¡ !ˆ;|Ê£?HµÚì)S€³:úKÓâ¾QåZ ú¿¸)0z±ˆGõ?üûc•†šMkvk‘íÁ=ƒ äZ7¤ô²•Ý-ÿAt67þ`1 ×!}‚&¯rËâdÞ"}¹ÿKóã›TÞæCâï'øtÑ[gsjjƒ«-É×°ª|IœÛ+¾žà‹ËÿRÑð‹€h°ÿ+Ðÿ7Íà¼(Â:SéÎ;tÿx<5¸EEÛñ;mX /µÞèºg7ï–˜KÞºu½¥¥fÐÔjýÌ´ù„+xÄzÔ¸sçN+ûGšŽZD@Œ©à:G«‚=Vºí1&m\A£Õèl -8]>£1ØdT½àpþ X›îÈ+ƸèWÞxzâúíµ@ˆ€C…iÀ9°Pp(@º='='³ÎžSž©ÈÙ‘S~ãƒP¯Ì4~kœáµþ˜2}õ½Ò>3¤\¨g6ÀÙ¬÷Géz&»†ðˆ0 ¢wí‘«öúSv%ðŸÅo(ë‡ìÊ:º—nê±,¥pˆˆÑÛH2@N®"€~ÎD «½½ÿú¿ž˜[T¸¯YúÕr#ý‡.,žK ðxGÂæŽB‚ÿŽíÿ "°çŸÇ÷% ÐAççÀ  ˜|®c2a\s {µá0Ö -Ô r³¦–‚Êà£Õz´a¹Ç,×¢§ž"ÖV´_Ä‚¬­þÅ@ɨ Oq1€š•ÿn.ô€äb9CiwÊe<àd@ÌpíÕiËRd²Ëxµe¼Á˜( !ÿ‡W ö6·.ªF-§#"V‰®¦ˆýÆã©=S\º3;{ëÖ’’ûù·ººæ,Å´ÜãTó -Ð.µÚ¯Ä[oœ~cßY¬Ï=Ù•Û•ÿrþ›ùðøyOoA/– ¾èïõ_„°««‹uo¾Ìr¾_Ÿ!€Î`Ðtz˜Åa/¼;Ÿ|§`ý•o<<Ôˆ‹Ü†ÂÝ“\ø³ ¶é ‡ÔæZÏ!µhÐߥ[.KÎu9”ð8¸ÜØ‚w=2™;Ù›–æM†,9Åkñ'ÐÏv—o¨¬d÷  [ÂlÙ“èæ\™6N8½‰)+öUÔêBâ×W*‰›lÁ—Z\Ì —e5@QPº…€[¯ÇÀ'”‘¡3äš¾Eþ¯Nn-I€MËóíëöÏ.-×X¶ -«ÊßYÑ'¯~ÞÖöy›X™††µ¾$5wZ]¾æ -UÐÑ´¯Õ×ì÷}ÙI%ÌR×â+*Rãö?ÍR Ð`€-ÅØÇþˆÿ¡wÑøo>ÞG|£ùÎq‚ÿÔÎã˜8XƒÆ/ŒÐ@#r–.NÇ Õ1ôš? €s6xþ¨µú¨‘à¿ú묓p¾çYë`c˜Á‘Ög“’6Ÿ«Nûþ Élí4º\MAUpÐqâO…ýíýÓå -¸äp¢zPÞ¾TÅøŸ@V8ï @…"{<ÿçY€"gB9‘É—¹ºòºôÙ9é™9DrÊË?@P4ýeTÁµ>ú)E4‹.Äxø¯|C€ÈÂPŒõ~hÿ_UžÛÙ%žY‰ž£ò?2QÎ4¢Á ÿA©Õo·q©³+¯4Õ )ë†ê”Cñ<@ÄÄ @‘xÔ?}iu`º~:ëÊ}¾§PI¸VŠ\ J^ãCüO©8O––Ž&ŒŽ—<·w”Wë·ú).Û?ÝC ãŸ÷ìaÐ1ÀúÀ^Ûœ0Ù‘0NŸ -Am-wÐ @&¯\ãa) Úãð¨e¼ÜLDkàXƒÿM¬þs"àžÇ;:ÆÄÀ¥µ˜úëÌÚBLçFdq2Ûšó Ufä/È€;EÆ¢nž¸Y0ÐýëËÝ–DÁ?7t˜ûcé €!jÐa“*™ˆƒ«ÿr1ý@q…X…ÚÚÚ3°ÿÙúü}HT€ëxѵ¯õÿ…€zm 1€Í¢€@¨ßpœnú):?;™{²áeBõÂ.‚ý^?Þàÿ›ÿp,©þ÷?œßW îSЯíäëØð>„aÄéõÉß)(ðwíkÿ–_ØWý³Ü܆Ü\öÚkÜöÇÀ†x à¡°®PwH­~Km>TÆ€2]è-úÓy«2æ 4çónA 0Z° ¶%&#l‘'iÉi)ÐѨÝ`·ZyeÞ±Á2˜nè´nÁÊÊÔ‰QiC‚ èt6íÛX 0Ë+5T„/AW‹šC:]>/&"ñQ* à…x €ü¡°ºæÛúÿ/!€›Ö=óúúAª$"EŸïóW!hC`Í€€°ê"4÷w6ûû|Õ.•ÃÑàs¥6Kf?q?@ÿ~É ( Á€ˆŽ—ÿbÇŸýY - èh>θÝtÆD#@îTTøRS„Üó_è` §ÙšÏL§Ãåp‚@úötôzµkõ?쎵¶DDÚˆ%¤u{Ýh©N¡ý?…ù¿š©ÏojSZûS„þ>Ÿ}ŸÿãV—®‹ú ) 8>þ¿·ôà/šÓ5bpãôÙÓg÷œT<™²‹jû7ó ýõoú{/æ÷>ÌTàbvý~ ˆàœï`Ca~¡AW¨.,4ä>(€‹>¿ë¤£ýö·°0?¿´µúÑ\f…»K7üŸ ØpmÃÚ@c ˆ-«5«ãðO—2uø-lV.nY„`%§¯¬\€ ­€ƒ:‚ÿd¶]€ôÒ›æ•l°·Ôyµ˜à6ˆ@^%ñ«æ®U¿àìT!¢Éåyyô½1ذ"AÏ5¼!C!/„Üz6 é‰~ú­úÿ/!·–Þ €ååë5óó›|çß|­›­çzŸ¿.€Ÿ¿÷‘€ïµIþ|¼ ˜„Aƒ*Ð¥êTís©š]©©Ö&DPYï ¬9þâî¿â«ÿ$ìT¬éÿûâW}b ´€ÐÂü¯¯¢³Ýÿ$ø¿#]HMõo¾óNçq¶ŒM;¿¨@À-D}ftÎn†ÙŸõH“±º‡NA§3t6Œ;­ÖaÿQ½ã4ƒGŽ8zz¬ÕÇ‚³¦`pØXÝjÚüaµÈçªðŒMAã>‡Ëñ§¿ÂÛèŒÕ+Ó³„ðàô“iB}„ dŽö©øg+àt¤ÿe)o*±`Ç> ÒíßM/Ï<œSÞx8}æpNzô0Êeäµ3Š(då:ÂõX”@§êùé*:%¹äG#ö'Î6îŠòþ_ä—Ê«<¡ún4vöpl]ý:{D¹ 9ÿƒ (²Æ†°¹0ÿ‚¡FEÔn?Kà,Q€ú±±{ð_ L_ÊZ½=05=Ý¿ºz铯‰r/wŒNÆMýKk'5¥â4™0::Z2>þÃŽ½÷üºyïÞíâÌ}€íÄ:¶Jàß±g;Ýëxn|ós%Ÿ–Œ—tŒŽÃ¯”ªo¢»'4Iÿ¬ü¹2ÌÔ¹©B aÙ»ü½_ÿÃeÑ@Wò«·–6ÝÓàH€ÍÛ7üÃk€ Âñjº¬tƒ7JÈ‚寅½T-úînŽ<òþ£á‘ªþýë˪—d„÷T? À}ÕDâÞ)­Z’¥¥\FýŸc1@®’GŽ@qm-ý²Ÿ¡äù’ùûΤD 5ø—Ðÿ `³˜ H+‚ -°ÎôÑGo°ðúõ?[Ÿ{²ðf½]ö º üë½xñá.ÔÿÆ ?ÿá»^€ù¢ý_Ègu!!‚ÈÈ÷ú»¾Ý ŸÚ÷=ÊC€ÜÜŸi® FñÀ¸Ù ƒ?5Á~È­+Ó†Beî2¸f²šŸ·Ø -€g|¦“\Çnüzáô›œ–,Bz½Dl&|áÂA±5øÿ³÷>@Mßùºð¤äçЂCŠ@Mb#BÅ‚‚à=Ñ­kÒys¢%g³¿-uIÒ£„¢E…¡³™;¯N•s¶»h2]Ï2玲Vàœiqïç}o©gyÛU{gasrÊìÜymÝSßÏóùþ‚v·Ý?n=÷œ¹ü’H¨yžÏçó|ž‡kÓ¿!T¸ßÐêÛ8ÊZ™hY«Óê ì«Ð–»®ð’ætôøuU{ÔþuСçrôôÿѲüïAÀÜBw“‚ÿ—»›Òf¨úÊxïˆ5Ôù1زåéO?}ø{‡·œÇ༕;òñiüþãþ6Æë¸Ý»Ý^^„ßqŸ"ù Ÿ#RS­¬ - €{ù¿|œ @ô0kèæÖÎ-ì=À!Àwï ØÂ)Þö­¬ðû‡£÷¢VNšN˜ÎôuµÎl³0`©?Ã` -„ÎXøëÛü3}Z†¾>CàD£ÁBt ‘a0Î3¨ ù3ünƒ»Øò[&@ ããaù/%æô‹Ù¹Ý~‹ ÓEè/›íJ>GÚyðf>xošãOþƒl3ÿÍÞ”÷Ëæü'7¸¾öµ¯½ð†è¸Iû'¤äþ¿Œ%'öO(&€þÛŸÄÍþd~’)“€˜z:&ÓýêþÄÐM¶À `èë±o½/=÷T"6 ¤ææ?½WKTû‡þC×ñ(½´sæS\ÿÇéœÍrÊ@  w‡¯t‡å©0]Ï<´@ÃèŠ WÃÓ7Õü‡ÁßÖ­5+jF×®£æG€@HOþîγw0 ¨dß½J"£ÏG_¬„>]øÙƒG´ÐL¸°gÅ…žÕ-={ÒW\Âw¨YÑrõožþðõŸþ/å­­Š’îOoÌÝ7(äH ;©%€5<غuÏÙÕXÔ•Âß\E%‘Nï)/È.÷txš‚?ÕUnù’Ÿ,¿zëSôvçáæÿÕÖ•¹å þp¦RJôàwlC¼€*;ûj¶JET€ßT/¥k{ZtÚžÒôø)"þg]qMqÍÑ/ÿonQñR|€ äïGÿn^ R0RÓˆì:6B  dÕªãeDZ”ÿß÷m>þ6þÇß®€àøæÇ}¾Ç ‘ (ÀñªãÂHWTTŇ® -=Œ¨Ö]µ»iv–Ž£»_­g°þØÆGÅÀ}€¬‚ØçQùCm¯ót` —÷G{–@3»û®½@hnNWÙR3€Ì¼ì¼¼òLεBHÕŽol¬å)=ìÖîÈEWî]îbÚ—”Öbt6âpZ]K-s†¬ùÕÊR¢ -vT€PýO§":—ñÿAÈMsÊqy¡iì‘ö¦ ãDà ÅÒÔy©ìæ Ìÿ…/}œ3ðŸÐ_rïîôû±€÷Áü'Äî9ÂòŸ‡þ˜û‡Ø8Ÿýÿ%`*0uc«h s(ÄÛ ˆÒ€yÆ9¡#waœ““c0¸ïÌq²‘ÃÑ=‰<`ço,–Ɔm„þ{-ÛoXBÛˆêo4ˆ;X }û,:ÿ7žè:h ôí³4†¾2irLšÜCÝ:ÃîÈK«~w‘ˆ‘qܬNÊf±üïJÞvÊ’Ä›€/à7Õñ77ØßŒKo>)ÇŸ|sÿ›O¼ù¤]zòÉ7Õû_ ú?ÿ† êü_¹’/¼ žxòfþÍ›ùÉ„XH$©ØO¨cÓjP©?‘L&§á<'.°+¢›Ñs Ðcþgš´ÿËCæ±ûÐþíÜäAÕoO˜ÍjyÌ´#àèÝe -V€ŸaJñÍÝ·ÃSæðøC\žëÅß…ÕèÓ_غbõŠ­+ßj†©š§ƒ@¥ñak!3€;Ü’t Ä1ÚP9jìí5ÖTŽ~wtXDñ°?žlxEOeúÖÕ=+Ò1|aÅèš ¶“Oõé§Ÿ~ýÿá;Ž?}m ¸¿p@€4 b$‚…þWW·TUi‘D¬ƒ¼åR+ëû Ê9 HU~R…$‡óÕO%€ÐÓZ~Ú@ŽÀBU«Ç³2WÂùg%oRÙ -xk ӣŽ·²°E»ƒ>ªKWWŸeüÇàèÃø«cOà™îÙn¡0¦8ð?¨ý¡3T:04M 3ÀöÝ«V­zÈ˸ð¶ï-Ÿïø[¬þÿûÿþãoü »€÷ùä+à_UZ…Ô»²²úúçÿÖ›Ÿó÷S\_ -°¾¬zëõG9èÆ£÷TØ,ÚQD«ÛÑQàÀb°`£bp‘eý¬XË"€ùÚ­¶LndaÍÌÌÌkå ¾P{jéoS€µ76¦#]þhþë@°Íгº*ªö«8þO»úfÓulLŸ"¬§’¿¨HfDôê—åÿF§‚—Sàr቟þýƒ#8w"'ƒ*|”ôÐâ}ïé-[΋êœ+t^T´ÿëiMÆqQÜg0¶”ù¬÷÷²QÿH¦OøAèy­œ",Êy+÷ú‰á}ØR@§,©@0€ °W¬"Я Ü'\¸Ìq@ ÁÙɈóD£eÒÑ1öEê·ýr;à˜ú܆:Õ÷í>˶Fªý÷ ]ðj<@øoill48áôúMASWÀ²m¯ßò9 ú?ueqP’d—,_øÿTþ­™Áp•µ=7sÚŽÚeWó* úM—ëÿƒæïÉ'óí2Õýùù\øÿ/lذ?ÃDþM)ÿ¦=ù«‰¿úfbÿDL€$Êÿ˜4”°ùGW±hLb@¬?‹"ˆÀþĄĞ±'žÚµ=–&K¨ÑØÝža§´$äÄeyD–¢vµ,G%)—ì/›e;ќ - ‹mÀn"ã·`0î†àÃúl½žJ÷»@ `ëŠ ‚ÔÔ|“àŸ@e¥‘ëÿÙ…ܹ#úʹ’«î†ÞgÏöÞé­ü ·wt”5øÀ`ðˆš[GW`¹àBËhzÏÖ5½/îQýÍWß~ûºªì•T¾|ã:øot¯0ÛP¨H8 -HH ÿ÷ -€À_«Ê-Èí°iaìC€_ÞÁãþrèÿÊóW§7ÙÛ×£L2àÈL |ÊŸC^//.Y‡:­÷”}<^ Å ÀbÀ]‘¬˜Òa1€•ž¦X9ôz5uŸýñf -éÌ‹ÆIK£3ÐTßèCßPo8-3 ½î@__ã>úcc`6M ]›& V 2‰ìs[œnÍçü Ç ÷cXû—%õ—9|kPÆ$€÷é¹ÿ/Ëj—Òˆ»$W\Â" äzR8¨óÿÂÏ2?ÿ…ü CÄ^P'6Ä&ÔQ¹ß5¡¾ùÂM% -8šŒÆÔüöØ4Á¾2@·èÉ(Z»°!Å*`"1M7~Š d’{bbèÉ(§ÿØGìÑ!upjàÞ¡l7ÀZÁE&0å@$ T€ÿU¯½¶êxÜÛŽs€.Þ>~œ.Pþ?^ñøñãP¼uœCߢÓ+EÇ‹*ªRýœõ%%»‹7— Ãß=L»w×—½Zÿj}õVöÿ¹qcþÆ£Š ëºöy-á"õŒ²:Äîå–^JïÙ¸äØœ%ºÿky»€«=¶ÑÈÌSe–gÂÏ¢@åùǵk©ú¿x±§¶Yì,Q<¶¹åÒ%-ïjµÂ“ýgéõú¢ªYókE2!î*æCP zÿº¢õÛ–åFæg¦–ða*Íᘠ:,9gNLº ¿ÀÝO@¼åðùÎÂèq€0ßߦ ¹5!xûå0¦‡D(P†pÈŸ!¨€—ݾó - °Pr€”u‘ö+ ‚èâ¼ JÕÏÑÀÈJI0þ?bÍñæXE±Och¿Oà’H&ƒ&‹óLWÄòK‹Áà6èÔxÂàœ±X,~k qVÿØ`[ Ðh ìµôA!ØȨ;Œø¸ý†ÆIÓµ&‹»½ïs~3èŒËò9žÌÅòôÉ`RŠÇä°Ìý¨ÕÊ"€ÿQøç»Pÿc/Ðo6¨ó‡6$ò_˜Ôê‰ $ç'&n&7¹Àe}2š´÷_K­øO'%âÓ1öH$ ö úÓ±šø)‘ƒ'þ9MŠICçÒbês7e¬ˆ0`Y²G±æg‡{æhøe‚üéáAùå8‡ǧ–€Y, ,º‹‹ôw...<´7ØÙG‡¯_`Gÿááë¢ù_SóÁ7?x‘ñ¿rb¡µWä€@p§²DaS€=ü5½k^\C$¢F„ÅÏnÞºbxÏÖ=«W|sS劈›-ØüîW<ýº­•g¶hþ/|F'àÞÞ…aÏðÖŸïia - ƒæIס‚€§ƒ-Ô;<å' ʳ©†*ÏóœÌ|W;Tå'¯zr‘œMÕ¿*v0¶­l]©Z©ÃbtfvëId!`@EõT:KÿðAõÿ÷´ToÝyvݺÙwèК£õHDtß ¾×øÇ¦Ç/‚'¤Ú~ôÑé¬zíxÙkÇq|í–TTøˆ<ÎÀ㯉»Þ:þ -]½Rõ - ~LåuIIɱ⣎eåßçÿ×ruý«ëןMÉ/ ä–êŠPü3` -À™;*]© °‘¡‚>L8¸¹¹…þÁe² {B@ÿ8Ó7Þ¸HkÞÈ:@ô - x@óÅæÚôô¹Ú:à?  b±öÓ‡^«ÝØŒú @ú"ªöÿˆˆÔƒT PÔvtùïù ÀBpjaI0›–6Öoœ¤×búånÂÿ2‚wo(ãüÀôáyI¯S8óQ½-ô|šãÞUXà½ÈëÍáÀ ˆýQö+#þ‡¼!#€>‡Oÿ¹#  Æ ``·Šý€Î6dpD|ðçsü9¡Ã¡úF^¿æà}?ÝŸ¨ö7™~Ó5Ùh  eÛ–½–m#Û,†ŒƒþÆ_î6 ` μÑ×xÆPghlº¢ë/®A ’;…ÆB®ÿÅ ]P€; - `2@,¬¼3K_º©aSeïÞÔ±OÑ[SS9<<|áƒÕ[G÷ `¬\­«ÐWUTøêë—²ÙSïÒ€ûñŸÿ1¨Áž=--¼XZEou¹Z• `­SåÂãïjÊï‡Ç*6%@Žº -¹WËÙýÿ$1›g%ª}[y®ÑÆöpÈV,Ï&øçÙ‡à&@ôýèÛîþ¯;´ïPÍчý´°¸ÈÏ3 ù ß¾uûöå/ßÏ?ÆWqtð Oc -ð÷V­*#ðýãòo•}ÿ­·¾üñ·¨úÿþãtÏñão½†Áñ²WŽ¿òJÛ+\ú¯ÿ1àÿìé5ŽÙeTøÂÃqzwIý«õ¯–•^à$à7æ± øhje?¢÷Âó›/f¥FÐÜà¡B-•ÿ¬ ¼&€€M¯ÕsàWþ#šXÏ™DÿÙ ^cæÿë—Ý|òñL÷þÏ]69"»ÚÛ˜£±8û,ˆú£óAwHÿy+@ñëe”§¿Í²æÔç ˜ ü]Bã#ÖT.KÑqèOªâ§Ça®ZBú”°hÿg°€0¤Ä…”þÖE"ÀÝ¥\ øt¾k=ÂñÀ>¯ ^¯ßýÙÀÂìB×LŽÉFS¤=`©·¼[Pà2ꋥΟq€Šÿ®¾@__Ÿ3òG,~Cà—¦Æm½“ÁFï“Óë?àÏøN¤Iãnÿ|] Òr“ù_—ºÍj5*þüñ[T(£½Îûtlä‚ܱ¨v‰<€|tûqÈù/äLäÇò'èq’:‘ŒÝ¼)õK7…¹?ÛüKíÉi^HF‰ôO$wMLÇ’ý±é‰„”ÒÏÅ¢çÛ±íHý Ñ„:: ÓÂÿiH&ryù\·¬–e{Tú‘9*É#quôåsÄY„9@”½€e‹€ãpÄ@N“ouŠÀC\ží%Ü¿><¼‚íýWpÿŸðÿY‚#€††ÏtÚÅaDþ.òޱ¡°FüÐ{›Ä.Þ&!ô"F`K[·öî¹paÅÆg÷@ND àûo¿ýöëéWWòÀƒ0€¹ÂßjpÇåð"8»‡M1Ъ<:m9ì|Tº*ó;Dp6$ªîÕD®ò»©*6øÛü>±¯oðo9ýäPLBë"½“¤(ì~å)‘?^ ÇÇ$éÀ#ìb‚µÈñs\:'Ë2~iJ,N¥aõßøàà­p˜G‘\nàô_gO_äüԼث(î°þ¯ð¾£¡pIˆÝ½³•…è -ÜAÛñUn"P¹éqˆšÊÊáÞáÑáš £Djˆ"¬.Z_µ¾ªªÂ÷vÁÛ¯ÿ?Wá©‹lÜÓÎÿJ Ð…uàˆ€ÒÒ\¡ÐÃ@UŽª©¼#›=ÿ -¤ºš­‚1Q6œXÙωê6U6\ƒl¶ÖòrgåJä‘ÈËζ!oÚ?Pkµ¥é-h{ØÿOuuõγ0®9t´ø?öû×ÜåÛs‹0 þ(mÍy/à•·*ˆ -¼Å€ðÇ+¯•½öêkØjß½ûôéÓÅŧ.£ÿäÖMŧÁè×¶•u€ó÷™f­ÖUñü¿ÀS Â¢v ô°öå!°†À€üâEE °öb•*—AOmU®Ç¦«Ý¼Ç›o¾8Qùj…àæ£7j/í ª:íŽØ $ð/ªø'½ -S=1-¨èÀGAÅóXñì€ëcQý²üï ÀÌÔÌeÿñEw7Úå&·ß}Æ8éÎ1¸5tnÓ´ù…0¯JÀÃHç`U~Èê˱®ÒX‹å¼Ã<¢çn¾Õš#D#€@ž§\Òû2”A†" ôt"á/Uÿ‹ÒÉSeIP± ¢—pw€¿Ñ&ˆðy5 *¡ïïýhºÄLÆHŸG `Øk°lû¥%°ÏÐ×hé;q †ºÆ.bξ½g~³Ï@DÀÛèè˰˜Î„°ÿoØÖíÎÉù"*58.›gÔò¯ìÙIªíñðb8,Bw`{2®0õ†{u¾П°èŠEÕjõ„+¶!¦Fàk±ÄþdTÊŸVG7Å`"ÖŸ§'ÄÀù?<p±K-bûIl%&þ"ÿ‰¡þíýçÛŸ;'"0q.¦NlˆÚ‡ÔõñhÜ.Çì²k$,ÿ *GÕýC÷7‚ˆ 8GEÏÉèÿc l–§ ”ǰ–Óƒ·ºÀCd…•£ê÷âèèwk^]#ÐÿÙ%0ÛðüŸU(À,n]@áìBøð] y ëxäᎆˆôW×ÔÔlÅ@CåÖ²’²êõX=ó½ýº¶•}õ/]Ò^z°p/ 9£ß]Z<»z J©äAPV•«Ú¡+÷ì@ ßQ΋åªl4Êyù?®NfSÁŸ­j%Vàiͦ÷W„yZmúÃ2X•ÝZÎ1Æ*]½eztØ©ÎEã–à¿§E€’³Ö­YóŸåìöå?¾2»8kj:]²êÕ×”ªÿøk«^+YµjUɪÝÇNdjšêž]œ[•Ìòñ‡èU÷Ñc»KJ^­¯n«VZ÷œ²J‹`¶ «=¾„Ý. ô:m!ÿ ÑàR^0f ëó¹PòÄ€x*<¹+ye°™{ôÁÝ17=ÅèFÏ%vd÷`bÅ6ôûùÐUè(ÂÍ -ýó*@EGQÛéeù߃€à‚pÌÀ´]cMŽî`Ð4i º;5€ž¦Nã½{Àû]ÎTpx€€w•†8uŸrp¼¯2åp޾?w¸ €ºßÇv@° Rf9Ks ?€”ð/ådÅüŸ^…r_§z—Ÿß‹8èüšûÌ€ææ -gè§šœ49'푈aUø·%à~ÃbqÒ-ú!1ÿ§Û†º€¥k¯!à?hš´8h1½¨sNº3Üî:C} Øåé‹~“·Æ“áu|CR²'íqsx|Cx†8ŽË)/€¸KrßsÑ—¼ÉE -àŠºÔQ—Ës©v‚*ñó7ÄâöD>‘€D26ë]±ÄÍþ -ýýŠég`î7c»’±]ìýËaÀ‰¤4´ÿ é©§rbú‰'çìÑ¡¨=v.KûÓ¢ê1É.KÑýö¡ç®¼óœüˆpþaÁ ãÄ<Âæqµ—Ó˜0 O˜¹=ÈÉÀ‹W椵¡WDû±­ÿ7Ùá¿r©`l˜-¼Ÿ°€‘Ÿ;¸aä{Œ øH]7ôVþzMeMeÍpï…á­Ã½›*×µ(xüݯ¶°¹î¥tí¥!K>À Æ¥ Àšáë`¸óçØlÓIVgSyô:ªümT7y:€ðålÿ›)Šþ«yåïàÖ:ÿ„þ­(°ø;*t_=±{¥ÃNÍ£Óz´œÿ‹ò²ƒê=g· ¯;T\sôКÿdïg·A»?*ÞNÁÿéš>úÈô‘ijvñãÛ——µþš:cÖÁCXV_‡ðÿÆZ…\¯äôrõOéʰÞ×¥¯V†ÍBÒ.@–˜4×Â(]¥Êà -gþÀœB•{‰>‘µVtšÙJJÓ k© pãFzúp‘@›2úG¾ƒЋ)ÒUÔ¡ ÐV¼Üíù3ÀœÒ&À4íšþ©Û99klÏ1X4÷î€[Ce5!µä-hÿsV/¾ÕÆÿ÷Ã4ñw¹wÏmýÒø§þ?XÿïTªaÌÖ`© âÔ)Tèö/yÿá;YC©ï&œ€@6rX’ ä ´ù—TsŸÌ]þdn¡p!8éhšœtžhêkßÙë¶}Cà Å‰É~ÛàŸ%` ën:-u&M~ƒ³/h4üí}`o“Éoq~a/Å<3c†Œ[fɵáM‚G³<.‹þœvÕŠ# âoªE, Ú•¯ÞÀÊ@,øÅÔ¢qõö ± u,iO``B4?a˜6!OK¬`ùŸX ˆÅÔýï«12ˆ©§û·'v%vŧ/G£ é™§bÕ¿_ý„º{Lºfª£’:‹ªÍØI‘eûЋ¾÷ÜËa‚VýÄeÞÿ‘Ô²:VGã2ÿ`xD1Àà##ãáA¶?ž\¼õ0 Àl勽£©sï‹\þ?{üü I 8)w,¤¦F#vŒ¿øÿšnP]q`ï¦x9pxE @ÍúÓe¯Ò{"˜Gþ5ýZxè?@…µp/ ø€fÀKgÑØ@•Â}}¹JyÀ¶­¼£†ÿ* Ê©¤W! -ÐÃýêÿòÌVÂúÈ¥â"kzœ§õêJx ]…°@§Òé;0T`ý}“–†ÿžj®;»îP ÕÿGÿ“¾­Ý¾M$À9r:M, Þ¾½ŒýÔX4š°lñªb1Þý-€Õ˜¹‹©{ ë/Ø\ ×õÔnlæE^\»” ¸v¾y#¬þ6Úþl¼’<(Ù°ù>æ0¯l,¹ 1 xôÆÅtÄå²0lD  BÞÓ=4€Àþ狊Šê—§=PŠd1: ”{é‡?<´ä¸»Ü†mξ.w½®¿>^ÖGý/°D 'Ãên#¸8¬Èò¬BŸÿ®`!âhÏóŸ—°ß—㥯ÎÈI- ÒÓ¢+@, Cé@½AÎÒü?…óÐt¦ŒƒX¨Ø€nàËsèÙ|>¦Ÿ!Eo€ ã7‘&gÄÔé²lëk¬7XLù†}}Bû3Î>‹…°‡…nµ,kÀ1i±llt2,†6§Ãív~ñûÒ-Ù<.%©^6óÎR=388n6#Tµ5–îDõ/ ~W>;ªq™O·£®˜Ýb„»qÙ~*Vú'7'&&úc7'bQDÿÅÞþó ÿßX¬?‘ŒuOÿe²IM÷KiÉ~uÿ×¥iõ?Çbò?oï÷oI$¥Ä†hRç¡„úæ¿%KÑü!xóÐHœÍ%ÇOҤó¸=ƶFH9”Íiá)^0ÿ4|%LÈ}¨¼æ°±—cýØÛÿY–ÿ‰@%á9\öæçø”ÒÜ#Tþω6€QœX8KàœÅ´ÀhÜTÙkÄnàððh/1„Þ’£šzÖœåTajžNà™žþ o°sJ è4ô¾Èþ+”<¢­{ª÷”r°NUjClOJvU¹g‡íª‹€*aPÎCÿ«ž`jÛö³|x`K§/”£qÓýlÍÇæ@÷Í`ÓÇ9¿¢½/?ƒÚ«¨üaäÍàtàœ”H»ÿ9ÌB@v±Yh¶@l1ÀáéïD_/² -աϧ©×ø½~¿b´À•Ø"À8ÙÕgê2h,ÃAƒNÿÎ@[ þ€!€  ®mÎ0ìuêfD¿Ù›A_ãx¿ì=ÓÝøy€KoI×%s2iNr½owÝ4‡Í¢³@~ÜåbôÇGt)¸À†|DÐýɘ+³oÇ7L¸&’ùùÄÔ 5ÿt,Au¿Ô¯¾–¼9=!,è¾dÁ )|-1»Ùo¾6M÷ôÿÛ×i?ŠÇ'䯿üi|0퉧&† ý'!‹&H,´G1ç—ÌÑü÷âRxJzêez­ø^î{D]$WT=$ '€¨2€P~ìJø¿ÞZ c àÊâå‡(,$ì¬}¶÷ÅgSA¿ˆø £"XBÿßæœÈÓ ´€Ì8˜gfó…³lÐk„®`xtÍ&, ì;vúµ²UÇËVù†[V¯îééù9ñ€zá"YE•Ê -@J°uëžÕÕ--¥p;©ÊÕ£ò×墓Ïi¿*ó{ -„ù_Vé„ÿžòìòVO9½³®Ìf -€&¿ -ËÌtª“­\§²é:T:Q ,SAhHߪ”¾_õÙê³;w®û—á£G׬Y~\ž˜Žnã)@YYÙ:ºqãzÊ (ëF áD¹˜ôþlδí `^©ãohžWÄ›…µOfüTÈôÓ!NKëÉe;¿µÂDÑÀÍk¹}°–â¤H³æ›ÓA;RÌ*8á™Ã€Y€ÙÑúõ»—ñÿKèˆúÿòåàØØØd°ÉùŒfÒi‰´[/-n·ß‡¼_Vîñ>Ëñáä yõ9>Dôq™¾T±w~&ÞG, -'@ô÷½¼àO‚h?äÕ4T¸+{‚Š‘ æ(NÀb= 3e 9 -bgç€b! Zð.#*þëÝn_ã6‰6ì"êNš Û»"&gŸ“Ê{;Ðgi BuþógöZöY¸þ7êÑ k÷ÁŒ>£1‘¡ øëÿݦÀïÁÿËTKÐZ'XM&]·Âæq3¢âÊ áªZéH€ÛÿÛ …€+¡ÎW_“óÕ±¤Œ%?:â¼þ§fÄŸØ»¹?¡Õ"I•?¯Ä~…ÍÀ4é}¹-€Xšý©Xšº)í\âGO=9x!ÝAAâÜvº!’€@Ìäõ©sô‚ßyYËêwdéT,ËÑiD-=8'E%xÊi˜ ˜Óà0%…ÍÝáñð 쀻ÿ‹·nòÐê±¹Ê^QýWrºß³• ’ú r¥þŸ»o ð»3 Ñc*ü©þŸUÒzg9¨×øëM•5•ý½•Žã¯{Ý8ºÇÿ…“ƒÿuõêÕ„ÿ——°x¶÷ƒšQÄ3þïÁ€¹ªT·CgëÈ%¸Îú{tXñïhUew®_Åê¿ -‚.ò˳¡­Î+Wµ–SåßJ§•6º¶µ–gçj±mU Êà !ÑB<4ÕWíеhKQÿÿ¼…÷ÿwn]wl]q €åwÎeÜt´˜w¡¸ Ø)ðOW׉ >¿³H§óé*x ¸ÒcàÆ’óÿæµó¼Ð,¶ûçm­™¶•ÿ'r(lt°×ï¥áÅø@¡ókA%à#”•ÐÕÆ± ¨¿ï€ö¯€à¿ ƒU€Ï—­_oY–ÿ}I€›åsÁÈ®]iN·»rÒ±Xœíî€[£©7 ¦æ@§¢½ƒ'¿ÕçÍ©×@ÂoU€VŤ÷]…ð–¾âùËâÿŒ+¶¬¢ÜÏ`Vá£jBDú‰VÚÿ9¼AH¼~ØiXê„؈à0ù›=+¶B>¯O°ÔàÕþ„ý³ì ²ÿN &¸‹1ßÒµw ôƒêZÿû‰`åóŒÿÎ`ä‹çÿ|t›ÇãIûIvõµý“ANf€¡ºÙ•‡Ð"éÀ’KàL¬Ä\I9®ÎO¸bÉÕþêdLÞ'&bR"ö~l"1‘œž&ÿPÿ'Y0A<`W"Ö›€~i:‘øÕ¹‰þÄvéæsO$âßú‹ýçbCûQ¿`©ÑúÆGÔ’Ùü!Ï÷Ÿ{ì[Ï=öØs~+j7‡ÃïѧÂöSD ÌCçÌQÑ`€>»š‰Œ„Ú}{*À+‹·>¾õuFÀ>œï°IØc 0…ÿs¿Ý¸¿P(:…FTÿ…\þ§>ÄóT×TÖôönºc46Tö›NïÖ”¬Y1¼âÂÖ[/lìéy0õ‚Øÿã€^xq3€Õg÷ü€RíóZÞ£Ó«`œ·²C·?}xtˆ¼ZÞÚãt²O¶¢5@Ü€ªýÖÖ•ªr›­UGè¯jÕ‰ÜU›NU®' +×ÃYX§‡Å@é-4--{JÏî9»óìÎáu‡]S³Üøß~€pSñéÝh¼Z_öª€þûTY+ž/*ªB2`/ôdÒ© /·§¶ö":ù7Ä$_ìöÏg1 Pêøô\ú% ‹ì¦Ñâ?x]ÜÈ ù";q° "ÀD`c®C¬‚Àä¡ ÐßÁýµ•/û<}9^N5-Ì9ù骗&ƒ‘ÆövS—»¯ñ—C»»M8ørë‹àÖ§×ãóYYÈ}, L™õˆàžw¡Ò³*-€ (DH€H -Àú>ϼÞÐ’þOÔþÄBì tD,, bXD8Ìˈb6ÿ`HNˆá?Û¥™§ˆÈÑð_›ÃƒWÆǯt/.ÞºE\ëáÍ6U>Ë]tÀ¸€-þ†1˜û½=€BÅ@4ÿ ʼnΠʒ~ wÓšÞM•¼P¹fͦÞM½ðXqaøÂŠ­ìuó7ÄØ¡rӳ fûcþ_ W~PêÖr òs©ü‡ÒŸ§ÙWU0ûÍÎ-Ï+ÏS©Nª°÷‡-@Œ~°@Ef«Mך«Ê%Ð -鱉¬nèÐþoiÁ ´ûÿ;w[Gà(ËïŽËÇâlÐq´xwÉn6¬ß™%b³îVt•ê¨ì.`üÏÌ+Ø\°y³*³:Íx˜_ /`žð±ÔÎTkµ+mœU±R•›~Q|JLj…¥àZ&©&}6}‡ÎcÃ?á›B@=0‰às2‹ÚÚê~²üwø%uþ§¥&w½ÔHXç_¨³ÍIŸ€{¬b:p—Ï©Í}TçÊÀ—òÿÍÀü!È …}ƒ–ÿå÷­ï -3¡Ç:;Àá-Àóð Fð‘%(‰0Gð÷¶iÇÛNî, "ÇBð%g0 ±¸-CÆÄø¿bõôÓ½¾®3C}À`hCýﮫs»ë3~qÂøË@Ý/,MAG¤¯ñü¯Œ‡ûãbíß¾áMuüüóáˆ;Û• !à  šûÿÜHÚíT›»¤d,)ITàþ÷'©øßß/È'ÔÓû“ ¥À= xL`Z€iÀ´ÔŸ–Ø?žº•¢Qé¹h<“£ý’úIâá§ðí‰ØÏ…§äSç¦ä¸ù±sSƒCv³Ú ƉHXͧ†$1ÀR lNKåN™ÇQùŽ#€ÅÅOn?S$`¡ßH£sßÂÿˈƒq.þe;¬þåOÂðГe¥þÛíqÅ P1Ž.W¾À{”™ÕýRRN&“vªá iÚ•HKb±¿‰¥ýD×õ„Èý› –01œ&üO‹Å’O&Æ'ÆãO<7=4.%†&¤i{Ô³ÇÆÍãòþ1;||Dо0Ë ÏŠ¿ÙTÿŸáNñéƒSQ€;´øVå&N XóâšÑÑáÅ~VXV¾ØûÝF¿ù±‰¥žÛÎjªÿµœÜ)9UIÙTÒcëÿ$›ù”{P©²±ýGu+LZ¡lmµÑ»©þª -ïª*mn¦J‹$ ›J±Q¯B®´ª”ÎUìþ[²ŽÎëÖýËšš£k–ˇ»MG‹wï.©çM€âÈšO…B +PéV@ŽßA 0¢é==Í - j~> nÀÈùã^>ù’ÏïÚ¡@@«M¯mV¨ -ò> ’#² rÐÓ¡CØŸžê}lèÑü/Ðöóø¿­jÙýïK%‹³3³3ަ´ÈØ®ö¦Â ³Ëä˜t¶¿ävN «¼~oHˆñRž~9Þ&¤¸pÕÏþ€¬Íë\ÚÏï\’í…R†€Š×OF²{é"”ãUŽœ å—3þx¼/…¾@ûac€»Ä¶|ï0]³$Q|tümßÝÞeérv9.#  -ä75»ö-oö[,Û,w} à>°*à÷×¹ÏXºˆtÜ~ƒæ q•ïÔý¢Îéø“î<1ùÇüÃÝád?«!îS›g š‹¡žfügÐgà[H $üGõQ…N ‰» «‰#Äc’Ù>]¨ûe¶üKöK7ÿòf,6=øÏ¥?}$oò-8$võHëÿË¿h²ÿU,MšøÑ¾P’¢ÉqYJüèG15}ó˜‹Q™¯ІÍ?S„ßQKñ¨=z -X‘Fì/Û¥bt3.ÉcB Àqáð3cæG® .Þ‚ÀÌÂþ[Q€€8þŽ;ÿ°ô¯„¸nÉ -X$YÜȘzÿ¢ÀÇõ=€âÑ» {3HÙŠ¤`@¥»©ò ?S=‹è¬ùíNR€;tèܸ=TþÛDÁÏ’?€ž‡]€à Œ{[Ë=P`¿šàZ@›­µU ×?ì”êè:}j'mi•®ø_Z]Z]½ `çÎuëŽ:zhÍ¦å·ÆåC´‚Ý›LÎÓ§ëëKêÿï²¶Ý×S­ÿ{ `V¯KoÑU訯(ÈTm~73o³js¦.=½Vô¸ @ K€óJÙŸu_Ú/@ý¢#úÐkµ¥µ…ÝàüÅ‹µx¸ðžçLa…4§ÃØS@Åt¾}EA ŠÚŠÚÚ—å_&XèîÎt7pîŠ/™&¦]íííAªÿÝ¿×kUæù9œðã³fhØ£ÿ0O¸ €ÛwY „TÊç(Ý%m_(eüg=bÍñe0ÈA’Ñ‚Kþ„аs oû)5þÝ-Ê¢_F±‡-@ÿïáSD:ÏóPÆBÀƒ¦MC%¾“ŽÂ…Ë ³³ÜpLšLÁIKd28<ñ“¯|ÛÛæo3Ô»í,ÿ[Ðû7¸Ý†œŒ:_è+¡¯¬ûÉ^'ñ zƒûwÿG¡ÝO¸žt©]áATÎ" ˜5LR4€‰€Lø¹?q€d4b±qDó$]±¤]&èO&â»’Òt"¹kBŠM#(ÀA?ݢ뉛œü à?‹É |Iÿö¯SÍ›ÀíO Ù£Iº;¦Þ.™Õ’ôˆÄCö¡‘ð‡vyÈ<ø³÷¾5ôÎЩ÷¢ï½÷ÒO¥™‰àõFÍæÔ. 1äŒIæpšüHx||qp|­o_^|h›€s…Üû¿Syï`  ðõ)ÅüܽÀ¬¨ü—Œøð+ûÿ……— -¹é5W¸" <®ÿ5 g¹j72¡Á<øÿle£½ßýÝ}nµ0ëñ°gºG¥+×y<Ù0bÛúÈæúÿ¿xèº5³\è ûG0a¤ÊµéZu6­ªUWEÅZ‘ŠÀ_[¤#Pª¥ê¿e=ÖÿªÏÖï”#$ÿ98À à¡N{%uˆžùÿÅÀÿ(FgÈŠ¯£‡[Ù“˜}ÙÀyëy~U¾ HŽû5m« DÚÎÆ®ßÌ.Ì-Ì… `rÒ1ÙØh²4ƒ Æ_œÿÞ·Ïgdd„||mš:?sz_áÞ]]ÀÔ=é ¸#ûúþØ> -:qµŒÊÞ>3¼ [ÑP†ÿJ€Nê¤=ê²þap%“©Ï&ÍR2ž”„Õ2¡&R1O çRH úþßœ`üǧ¦cÓ±~ÄNËÓ®ii:*E¥DÔž˜€+ÿ¶ÓÕiðû3§ÅǤwö»>Œš¥©ð‡O]‰…eó‡a»}äD‰þ}týóˆ,ZfÌÒÌqЀp÷àø•AD+€‡çÌVX¹4ö¯äú_¸ú³Ä^,ÀBJÚÏ÷¦ºÿJý/Î…÷ž^}³Ê¦ ¤€ Â-ˆˆÀGå¦;ÆM½½•wð%3‘¨D`%VÖŒ~ðÍßý"Ö:ÁþdžݿVü0ý9 ÷®tå­úK´ W|¦?lœµ’kÓÚTýGOU Õ¢r"ð×Ui«àþS]Z]R}¶dçγë¶óÀ¡å7ÆåCàÿ'/‰8‹O³°¬¬úBŠÜÛ¸AxK‹ è-À |t¡OOOC€ÚÚ…œOlõ-Áþ’»1€K6ÛJ½ÎÆ—úÜÆù,6¸¸ÔÑ‚¬ØaƒóÀRO_QQP¡¯(*+k+*[®ÿ¿l½|·vy…Ý‘H·£ÉätîrFL]îv·ÛíÏÍá?Çö²XŸ ˜ñÿð]ìãÑ»[„òŸ}û… -°S$úŠý>oŽN½,ðòB ürîZyøïÍI­ÿuò–ÿ®ûQâïS=]àèä! -Yék¸0 -`=o+€ÄŽcà®wSAßnŠœy©Ýiúx¡;ØMgGÓ¬qò7t§! ÎN¾ñ‹ï|åÛ[þ¯-Ä;2ü9Öз·|%ãÀŸì 싘& þ ÷‰ÈÏ¢Ããܹ'´·çÛ7°RöÇ•kÁîÉ\ýG“„ÿ1WŒuüuɘ$K15•îÀýä.º¯Ÿ0þš´—²€âŸM‚Yþ/¦£„þÒ4=.è=eŒªþ¡Ù¯Ù÷?1$Ç¥~»&°:12ËïHòÏ΄ã†íÑŸ ¾K4dÆ>“¥±8V`Æ+#aóÈà•pÓ­ÅñÁÁÁ[cðáy-4pɯt8Çž}àJà¥K“áÃ#¼øg—Z Ÿy¼7€Q@³ÆJb›îôÆ+æî±”g7qrÁ‹½½Ÿ+%ԭשt¼ÄÏá>å©)@y^knóX Ï“—KÐï«Ù0YWµæÚ²³©ªòèµ6Æ~½Ê¦+­B¡U5æÿ¼þW²óìÎcëÖ:th¹þ_>îýÀ& ‰ÀîW!Øy]Ù„# »ge]Ð趦c¯ ´™XÀ»yXÈÛlÓŠ]Àµµky°v^,¦Šù{L`íÚÌEùŸkÓÛˆ±Úr÷ˆ¯!qñ¢p`;! €ôØ<Vÿëà Ÿ¾þÿeee‘å°Ç/Ÿàm6èÎ-4EŽÉ¦4ç˜ÓÙeéjÉ­ÉYªç­BÑoå•@®ÿE*€»[ŽÀè7ÄÈK}!_Êú7”ãWt€„Õý+Q&  ÿØ'Dkÿ{Ì@>ý0EXåç…΃ °åüÀyî@b(‚€4~Æ@¼ÅýR_¤)Òµ«ëþ}Ó¤ f@CÀD?¦i_`ïOþ[Æ·ÏŸ?ÿí¯üo{}û"SýM¿¡ý®þqÜ -wÇûÕ<í—¾¶Aú$ŒP {«€vA¤¥,@p1þ»’tйÄx䀮éý 1Îú±_ëOÂpÙ€©-À_M¼O“€„²œN¢]0-íþ3PǢѤ$ŶÇå(^G¿ÀIN“Îí7_‘¢ïIF£çž±O™¿uê”ô˜9e“¤¨,ŸJ }±‹õq™àÌ<òŒü3Ù–ÇÇÆ¯\Y ÎÌ@ÿ÷0E—xòÇ(êVV²@é(2@¡ë»Wü -í¿À~B÷Ùûêåß|j`ÀäÀÈ£€/ã³úëx<;ú…“•Mâ+!îg›ÿÏILÊ=B€™y¹MŸÝJuv.(€ÊÖšIÌ¡¤ò¿U‹æji§@‹Ìô"]UiUQU•Põ_R²Màã¡}Ëo‹ËÇ=ü_˜ vO™>úè41€Uõeõe;eÜçX GAÀu­¾ek•ŽJðÍ›1È„ -p³*OßÒƒ>ZÑ€»ü®½ÏØ÷^7€žj¾¶T ÑKUnº˜õ¯çG*†@)µu½®C¯ïÀúŸ½½@àÿúeüH ÛqÍ±àˆ T6¥E"i„Ng»[ã}—Wð„)oûôZy€Žlúwî¼›Rÿ¥¢{Ù¹—ÿ^‚üP§ÆK5q€Mh0H­°`anniP8›Zûk(\ÒüüóS+¢`CaC×õzÁ#ÀU6mB`A†_ô¥°þñ Ú׃¤ŸV¬¶"©lØêQµ´ªÊ³µØë[3[aÈQ+ýë2›ŽPÁ[)äÚ@ÿ¢ªÒõU-ŒÿÕTþï\·îôpñÑåúùøÝ½ÝGœÅ–Ý%«v××—­ÆÀ£ÞH-2(­èY]UAh¼Y -@$€.[„—O-ü¨”G Ÿ{Šü?k‰¤DYóku6¬„§L.ÖŠ9À¼¼Q[á)HíVt` ÎEmEeëËLËøÿÀåIG0ØÔ=»lºFUp“ÉdŠìr¯ú¡WdóY•-€Nöâáü¿»„ÿøÀ `@¬êá^.þ;yÊi¿µò¿ŒœN¦Ó›:@òú˜ÃÍ´ÿÙ\H„ Ü%<駱ÿÓÇ_Çå‡O¿~øÓ§ù&Tˆ ~ -΋Á–§y pàô€ÄÞ«$TÿÓɸÄ>iÚ.¥Ùév¿‹¾¯ŒgU§…‰p?‚Šzéû¥hT–íÑSCô…#ñ‘è;ïD£Qäú{3äcò#cæø#²$É#æðȈYž2O .^¹ *@Ðûaz^ž3ŠÎtwÄ’}Cª°pÏ Xÿüß'¤«Ï'sô ŸKþŒúóÿMX^D -@oïèq™ÇV€î6€ùt+›®yß¿<Ô [• Ž |aXÎA«ôiØyl-‚Sr颊ºÒ¢ÒªêõUÕ;÷”ì<»íرu‡Š ÿ—ËÇgÿ_}²(ÀG4,»ëWÕCp]±*ïzEÕÖd€XÆÈÄÍ¢Ké ¶o4צƒ\dIÀÅZa xüSóqçõZm®º”ý¿X$@€åtOz‘^Wàá@4tEØÿ+*:^UVV²¼Âúð€#8œ](œq45Qaìh -#í«4þ èy£/Ãw¶â9Ìö;Pé‹=BþÃGXûŸjÿ¿»$ì>ÀVM]g†°D÷ßKOìå)@çÝ#Gî¹{ø®hôz·óðá- è8à[ø-¬úûÚ¼~¯/Ã:p*€§·ˆ=Àa ãój4«€ýîv*åÝgœôc»AÓoÿËiì³ôüþ@àŒ¥¯ÑqöYÎXÎ,Û,}n¿¥ýôü¾ÇÃÓFI&3ãæq³Y2ÇÍ.–ÜóÀnÏw©©æRŽ»ÌùŠ =J…¾‹.¢vº‘”RóH±¤dŸŽÇúa K^‹O'ûE æhLŽ¿<%»F\cvéĪGòé›þ5˜è;±5Ý}F‹?? I~D¦Ú?š&7™£ÿãƒrÚ‚þ$£ð0;—¸@ÈÅ?.ŒwR ¸0Çëý…Šòo6e`ÄUð‹ËûÂ/ýñj@ã&#R fü{w `ã¯Ru¨tÙÐüeóÈ¿¼Ü¦:©â4@øÿ ð¨2=­{Ú#eÀfÓWU© -ôÚm•®ûeUeÕÏW­ß³ž×ÿŽí,&phßÑåÀòñY€¸´Ùn‡Ãù¨Øyš8@I}ÉõTàúGU–o”µl­B!þý - æ7cP *PikÑð§² @ØúóRàÚµkï_X¢|k¾µ‘ý»[ÿ‚l$p_ÓƒÝ?7ÿþ‹@**ªŠÿ—íÿ"¸¼PÍ@99~ Á8߽ˉu:ü^+gçdø±{è÷ú « m~¿àõ?"<¬-à -QÉ¿E ÿ‡(ý q ¿ }3í–.K{»%â˜1R‰ï0N~v›¿Ýâl÷¶ú¾ûÆ'¾kzã—',=äÁß·ÂaYæþ}Ò¾!_š ›ÍðÔÛ «Íã¼hwÅå7]vWXVÇc)7@¶†‹P^|±§[ýt¡OöËýêé$‡þI»ÔýTûK‰Øtâæ´zz|b"ö>±é›R?Ñ4Ø%%ûÑ7¸f—ãýPÄãûÕ±„=Ç*¹l¶›ÃÛåAÙœŸãN™åÇpï3QIQ%ìtcLŠÚéEv =I\–ûågäyLN#f36/Ž„o †9 àö'—o?Ä@!Fê•ì×Ó`\Z TZ ÷ŒE@\ðgþÿß/A®Ð¦M¼ø{âhõ@Èù< ›WÙ Õ“I×z̲U6þØTy2Uªl¸åнN[ª×UUéª0ÿ_¿ž·ÿKvîÞylÛºâuÅÅG/WOËÇïö @¿÷£ˆ“8€e÷±o>ªP!äŽÀªžŸë …©ú'°9“Õª‚‚ôÕopã?+ýE"`í|ÖRë?ë¾…€”.`>=WûDÄ.‹.¾®G¥G’¥Þ'½® -À"bmeeõŽÛËe‘ptn083‹½yl4AãeÑ?–ï8È—Gÿ‡yïo¥?.ްøï.ýïZ;s„jÐËýÞèôçdø|ðYs|~ÌéÝÕúß8ñF±…¾¡>!¼ÆýÓ—Üî—¨€w"ÐýÝ7 þÐë¯cãßÊ¿}óØP"àRÈZC,óa@ã¼DOÐÕC É`ø ‚³Ÿg Õî&šÐNÈÿçþëš'ôïP«í3aXÛ]² Q_*H²Ëö ø/ˆu)@µ¿M"+0ž”®Å ¾“P쳘Ÿð?ï%¥ät¬z€é~NŒÝŒ½?111 °KìĤiû4½äJiñ4mÉL¯É~..'ì˜ûKЧ“ÃÒvé¹åýѰ4E/e -®’}DŠ¿3¤Ž>ÂG“„ ®Acñ(&ñG¦ä©px, ÀíOte€Ë±P(w*Ǟʥ5@¤Èp‰@ªøÿþ¿Ã뫬4Rñ7¡g{_ìýn‚¼ÖGèŸY^^.ül j=Y®d”Û2U¬ÈDéoËÖ­ô´fzZU¹¹X«VéU]•N[UðüÓ¹ºº¤¤úìÙmÇÖ­£úýÿåúùø¼&Àâì,œÒLSä¨ótñ±áÿ–-½ž%˜ËKW—T¯Ðû* -*¾ï+ØŒ`•JÏ:ÀùùÀ›S柵¸_ 2°Q SÀžæGEfÀ|³b'0Ÿ•5¯õè P`Óu(K€Eôº¢¨¬þt÷òß×C%Äfgfgyk. šºÜS•n lD/äõ„ü¼÷ø°püþrÙDYþcû^8ý!ÎÏ›ÓéúCãçõZ±€-Âï]o»æ ¡{ÀÒØ¸f²±ÑÙ~f·e_ãªÛ-ξïN•¶nÐâÐÛ½ÿð§<ù¼~Ÿ×—áË ?œç,@a,êÿ ; -»¨w» Ótêêršì€T`˜_ü1¿ -d!Dšþ´_ßàxX–þ'Ù]’á™q3óÃÕœ?§?Êq—$úRªŒÚ…þzÛ€p„€-“Tý£d¡ŸÛ±(Œx†@X˜žNBÿ¿‹^G”žåš™Øƒ=>.ÛÃXI”c¬ÿ3ó€<4$}K›íaY˧Æp½Âè;ïÀ0.?µ¿ƒy@€¸L4€éØyŒƯ ..Þ¿2³xëöѧ‡Î:þhÜaÀÊÔ ¡p6E -áïó¿ú¿|„F*Ðûâxˆbûßêɦs9'Áö§<Ï#–¸ñ¯²]…õÝ\‰¡}B¤þæ Êÿ*(ÿ颬ôÕõÕe%%;QùvÛºâCûˆ,'/ŸÛøx`ÊdÚ´fÍðè‹ -ð·^gøgõ¯?^]u3›}âÐW÷° `síÆZ!̺¿ýŸ@Ö=5àZm®nÇŽô¢E â6ŠiÂ¥[b€¨ö/°a@|¶¬¶¬$2»ü·õ À'³‹ ‹ ‹J|Ž)Ò¾ÊëõY}‡­þgøBáüw—Ýz°ñße÷ïˆ~Y­)ÿ?«5C1ðÏÐ/ðâp€_ãoo׸#'NXN¬‰4ö5N -0c_Úëbƒw#qË ~뇟Š6?1€ƒ^~ >¯ '» û2¼±&P§Ñ¸ÝðöuF"ΈÓÙeº6É?Spa–QâþS -:]ô˜?é×·OºúÑuOæ»ÌƒXĺ½dOåÅyÀ¥6ÿ•tïH*ë2Vâ˜@ï—åk2lb±4ú’ñé•÷Ø ˜NN³@XQ$€IŒv©é‹úÓ$z†~$Œ›íOv‡ÕQ9Êêÿ°ÜÏX¯Î—·»>–ÕSö1ùTô[2Ä~Èþ‘$ûå®N™¥hT¶ás€óHœ@xJ/šoݺÂV€üÛssÀz1ôN}Ê­Ù†Þù_P(À„ÿvK@nð‡S`Wñ¸€xʯ*Í&úgó´Úr[[yÀÛƒl"«×ý¸´E«­¨^¿¾´ Õÿúb\ÿ->ÔX¼ŒÿËÇï¡ÄˆÌvwÏ6+Á”.@ -ÿÍÚúó=UÇ ýé‚®|›Ñ[P J_ð€Ä¨ˆ¿qOÿŸ•ÿ”¿ïÚ¬{Þ@—rsuZmËÆµKw³ð¼GO¨ï)ö¨°¨'ð×§­ßmZÆÿ‡ßødù9³3lŸßq¾¤ñ>žã ÞB˜žáódœö"à^áŸrî (~ ¾Vë»9Jh Œ2BL4!?–ÙHÀË2€—,í“&cW{$òK“qÒ8épÁà’·»âïN¼èÜò4¯dßEœvÿyyÀŠÈ¡Úœàõûý¼ho·0Ñ)ÂëýÁœYýòÅ¿‡Óošèa“¦ÒØôV8<Ÿ@ý.ÅÔÉøŒl&ħzÛeÇHu7ï÷Ij»L÷Hq±hê§ì%ŒîãÄ!ª¥$èÓãã‰$4ýùètRÉšVóò_âý JFcÈý¹–&Ì1;¦öæ4YЉ>1ôusÔ,qí/1 Ârt<ü­¸ý©@÷€@î‡sr,.ÇžŠE‡ˆA<#="ÕŒÁð™)$ÊÝáÁñðøâà-„ß"ì˜"JÁë4î, -–Zÿ!ð¿•, ø¯ýcì„y῜ӄ€ð1À¼ÀL@׊a€j¥ .@ôaóxtªÌr6t:}i5ÕþëK«ÖWaüÿ*Q€’’uëŽmû—u¬ÿ[N\>¾øýîòÜâeªý>^ 3ýwû»¿åãÑû¢•e€þãm¯üÿì½ol[÷™%<¯˜±îš›&,¢V´\•dse;±S[baŒŽ-O÷¶’–¡‡$æ<[¿€£+. J…X‹J8pfˆ1 õ,º™ÒÌ%B»®½0öVýób?T€¾ T+ŒÞ Yö¾Õ›SRŽmÞç<¿KÙiÓ9bï‚?Iõ¢d‹ç<ÏsžsˆLÜuprç$Œ‚?ó$œýA„ë!øÅÖ5·Îm~ýàoÿ|ý§}ä/¾þÛÖ;ßúë/~ñ?LëØ5=½œ–˜ÀÎîƒÝ»0}%˜jÏÿ·4Öë­ÝL8\ˆè/£…?7dzӌ˜3ÙÀî@3¢ýÿ‚{™}ïñº€TüÔ³sÀL"‘5ÍI/;Bh*¦7¡wMu¥‘ó„µD•@àƒð¿îZ»­Ÿ™#üç&"1ÉÑÂÂhä¶øn]H -ô©Ù©$šÁXÐü=zE Jðßhô6˜,­ÿ±ò?VˆU -éè÷îN˜!Lô9È„¹ÏFY5$Ìü},4D(@+@läl· `o:!8€7&†VZ³K%äòc~gM[«;r^a°•Êÿ:–ÿùsœ²û?¸öÑ7`.¡É-ä5Ù > ý2ë¥ÓñÓê/_²,*é¹"_Û -–ŠÎC²QÿÃ#ÿwÛ¹F¤AV‹9{á U5¬kp^)g¬›ïª ¼ð§‹(þøgàwŸD +è­µt€÷þs ðãÿÙ­6è 8ÑqÂí ÐøÀçØ ãÀ±Øìxà(càh 1}W7B…†þbh¨ûñï ø.¼ÿöÚ `ÿ+ǹp&ÚÆÿöùw(6žîx8ìý{—ÜAöïÿ6ž¿=qnøóöMôõõ}ÿ­O¿õ×O¢ðé;[à»m~þ|åÁ·þ®ûÑîîGý»·\žðÅ/~ñÑÇ8x'±ƒbü¿ë`7êÿ‹ÁTÛÿwÛ À:sžTS™LÅ“î2ͬ7û˧~xa„ 7;Õ•0ÝŒ^Ø”‹ô^‚ÿˆxéC/Œ èGØýw2àOR•Þ¥cEßäD à?°ZÑ/éJ(Ü'øO1úþ]ðOνöÔŸ™‰NÂøÄ¤€ÑdàŒ`“]€Mq‘0ÊW!ìÂ* (@€X,V‰Á(Å$€)@ƒèÆí~ -èï&EtÅ—Ky«lÉ%4ñ5'.U-¤è¨l¼‹÷1Ƴ°ÁiÜì›yAB ó0^–sª‘sµ\rÌ÷Yì¬i€ùU‡uu¸Åʘ`/‹€ôiõ#e»„v÷íUÃö%ƒ·|†q™C -l¹¨~…h‚¥Éñ¼eÅKFñš]ºÆ=ˆk%#Wú©*ÿ´nËc|™Þgï¸F7uÍø©å!^QV3Öò²Ñ,ߨ(g–7šD¶õôNøw¡ïK»ÆÿtîüçœÂÁÁÿÀ_"QppkB'ð0þ‰cNtø~Öq`b‚~,x”ÿv`xb׉ŽTÿÓä# }whHÿîáêÿêÞ£Üþß}f÷ó/¾Ø6lŸ»FƒÞ¿ Åþñ]£ß%üg"01Ñ7qp‚q¡¯?ùÖ[oýöÉ¿øôo݉ÿæ|ÿ÷à_ŒÞúóc>Úýè#÷ãß -üò²-¦w‰á?|€±ÓzphÿОã¿fjíÀ'ÐXZ¿¹Þh6šÐË@Ÿûh³fb$¢$\usß  òg8Īÿ,]@„Ô˜õ°w`gÒ?2¡˜ìãG”Â̲ ®ƒi(ô©ÚmøoñQ—B ówÿÏLçÒz¾‰(€¾ÝN¬vvNº¡Â‰sTý#änÀ~èõK" XˆËaªíc¬t^Ö[äg½‘â<&®Pˆ†¦ôg/ÝÝï3€xŽÊn">¢†ªÚqðS ¨â‚8š\õ97å16`€çU•AX˪SÂ,œ5TþŽ3æäJÚÚšStפ–'` ±@²Ä×þbÙ(W%ž"Û_ƒ¿¿ñßÿÀ²¤¢z™SåÙ°ðW4^º,áÿ³lˆÀR‘^çê;ì/ÓgÌ6ršQ\@8°ê1V,Õ“Ïä›ùüƆ•_nn ÿs;ÿBÇÝ€{që6 pC~kûã®V{÷mv…<8;ð—[K¤úþÀ'ü .þ‹ÿ³a€ úêÿ:è‹RýOå73€!1ÿ?tèè¡CW‘þ³÷êÑWž}¥÷¯Ÿ‡ÿ_{ÿ¯}>ÿû¿ÿûÿÚjüã?¾²÷xW×h×·è…Xq¾„,`hÏg>óž¤1à“oÝn| p»'@çIúŸ{lº{úÑGðþ'ÿœÞÚybçNªü§Ô½kˆÀÁîýû¿u|7á£ýϱýÕpsŠj* f‘ÜKµ7Öì̉‘P¤S™äÎ;ba -€™>AþC3?yˆÞÿBväç#.þ ÇzóBÖïïœèĦŸ—C‰(z2™ŽΧ‘½ƒòýøÏm)–T&ýæ/Ÿ™4¿ à$†°¦[O¨ù…7 Žà«~ÑÇà@°@õ&“ªÄ° Ðlð,À¥ t£¶@ˆU‚Á·£¡Ð¥ÿxw¨–±2eÉÁò}üW’j©6€W•ŽØ®–¸Â×·xÁ°Ÿ°™˜€ŠÉ¿Í-{ú•Þa8Ž+³©êwJEîï¯1X+Iu ¾C•?»¯­ùÐ&F@rN¥ï±jZã„Ux ÿË–&Ñõ‘‹¾Q±¬j,¤Â¾¨òÚ5mGQ[Ó䥢ŒáFÿòšñ†‘3®©œ´¢æ-œüÍ 77¶Õ G;š-& €°û¿OK½1£€ ààS€Á-F -Ÿ‚€À‰@§=ÐÑñ_:ü »ØÄ~ S€cÇØÝ»éƒô*¥Ç‡úïÈþÙ{ôjÿÕWú¯`ÿù¿ÃíÀöùè,€J0Ðð€ãÇ_9޳—(Àèèèþ‰ý£ß&ðmâ‡þù3ŸùçÏüöÁ·„àß9ðzüÑîP<ùé·þî/ÐûïØEлÝ}þïêÚ34úì‹„ÿíÀ'Bn.6¡ð¤“0üµ9ŽÚ1GÌÈ…D";â*ü½Xöÿ¹wäçôŠJrªýµ÷GÄœß; T£³dßœœT:¹E?É¡=æg;•d(-¢=ó•@ ¨}þ Pé}êµ"Nè)33“Àÿ -¦ò{ç«°€0d€é‹ n`@蟉ÅRÕTµVm¢ и“4ªèÿÇ‚ÁX!,|¯P¸»8,–%)ÿÿIvUµ,U3$‰¶-ù|§%ëÁ;ª}ìû‰È`ºŽúamÉX54Þ@å/;9‚ùœÍóÿ5žð¼¿Q \ÿê¬ -¼^rrîjAÉvâöâa¬þƒ…Ћ?©-ÃR-Â{_ÎÖŠ_»ŒHb~!4ŠQmM†p±¨åJ×ä%î ¤;äòµµ\.[V9CПÏ7E`c;ÿ/×n—ÿ›$€y@j\þÖî0(öûoôÿ%Tƒƒ[üÚS'Nœ:A$@$þìGOàØý£7¨ò?¤ÔGùRUè uúú¡!z:´—ÊÂÿC¯ìí?Úßße÷îç ü£m€öùxxÀø­ßD~³pñ•$Ñ€½ÇG»öÒÓ(Qýû÷øö¡þÌ?ÿÕßýø­',2ü0Ü¿­ |믿ÞÝ=ÝÝýŸy)ÖØqb'€võ=rM-öïÙ³ûÅ`˜êµö¿À'@„/B¢ª€ÁY…ªõ/ͱð¤yáÒÔL‚§ïìæ×9Énÿ@yïÏ_Pö…ì „ ‰.=AÿÈ !ÿ7 ös‚jsÓ<ç%Ì6Mè…J%X!ü`óß…ÿ¥Mà€õ‚©üò)ÿSœ)œÍ>53Ù9Iø¯L(¦ÒÐïRºô.Â|?a¿¢Œ¢ÿß凧( @DÃ\ Æb±p†€c€Z-Õ„`½ÅÜWÕT%‹¦Ó¡ä¥ãþÈÝ-nd,K޳à¤ääU["æ.Õ üçà_¢¢öÇ`ïUþ{¥wÿ™þ©þïi´ÏÇvÞ]j¾[­ Ï€ßD"‰ ì=.úß½ú™þ§?óä/~üÖ/Þjy¶XÀƒ¿Ïèâ­¿{¤o¨¯¯{úÄ4”þ»vî:APþ#ùwÏž½ §Ú€O†à×|s©Ñh6S©p,2›ùæÌk3là7™MD ôa¶ÇR>¯‰.?=y÷ïÿ<ûÐÈ Yzžá¬MN4³3Y*ÔñžÉN“ ™ßÏ¥»~< ¾¨¥°ýÇô_ ÿ’ ½çýæ/G:áAØùÍN˜Á’°3arðlÿzâç.}”^ùù>ž† O° @O±J-Qò£å_k°ê¡Q£§Ïà†˜ W*…B$NßÝü4_¶Vë•ñNüG¿ªªeIà - Í3~Y…Pc{›Gÿ«¬ÒCÿ}Õ^•ùó cÍÞL° Í‘J 틢ê_“Eç¿Ä–@°(Êk‹cR)·xÝS*åÖ ÙËÙqËùr -€¾Ú4¬º!×ë¶±¢ÖUÕ¨”Ã.ˆjÈ=ôê—±G¨í -ÀIĈ ÄN<ò}ŠÇ°¨þ·V¨þ¯.W7;7ÑØ6Àzï€qwÓn“ˆ@í~ø›ÃÝy‡£Ð@ùÿæÀÙ­9FXÿ?q -Jªþþ²€‰  ðtÞ¿pýAÿÿ‘]CÝ|Ýÿ=ÿ0€«„ý„ÿýHÿ»xåÌîÝÜýo×ÿí³-ìôšÉ¬ Iˆ˜Àñþ+W~üã_üâAÂÿ–‰ ÛxðÓ­7ýL·8Ólù³óı¬þcó¿ýCTþ¾Bõ&Õl.µ3?™@ƒ×ˆd±´‚ÀSßäi»9¢˜YÖ¾,¸Ã”ßôz;E±ÏL¼33xo–½z²“ °,è'&Ñ®bÓËÏêu?|ÿè$Ï×°àN–nKEý¿ð+3s#6òùì7³ÙÉìÈS#Ä?`øë×»ôY½…öw\N‰wÁ -ð?(xI¥bž0ýœDzkÕL,ä é„Ãá -±„06b•`ÚwC€fÙ*Úw¤×}ÕØèêÛ†ü3Ô³íŸÁƒˆlØþ -» 쮪XdI ¶ïƒ.ø9û:O´’@ÿ\iM[\ÅZ ºZ—ëÒìRIƒy°ˆû•éÎP½ù™À‚f©§/ûž³Œ’†âŸxe½$(þ‰¬ª¶\\5ê—ýtÃòš]tŠF‘Wá)dää2\€èVñ”_Îç«7Ü@s›5º½-Ù?××ÿ·6gã)7û÷¾ ¢@Õÿ­[gñt`‰ðÿ§ºO=|âĉŽðäŸÁ±cÀú·ãÑcP‘ô7Äòêÿ¿úô²÷PÿÞ£Üý‡ýïógÎÀÿ·-lŸížܸ¹Ô¬eg{zzÞ¼råÊ÷ñ‹ÿëÇnîºn‚›\àÓ-"ðàgº¢°ë`ßôô.L¦wMœFò__7•ÿ£{ÿTÿ7Ûðÿ‰€›èº‹5ª’ IeæÂÜS„¸TÆ{z‚`UñÎö¢~çšÞ; ðˆ×ë}èçÈ@S¸ÿ!ü7ÛùM!ѧz?‘Åz¾®×!ÓŸÒŸ¥úü|4:5ß ÀðÉÝÒ_ïí-$ü¿œû³‘ìS?déKÍ º$÷b0›Ä¡×úÉã—ŽÏNŸb‹±Hð/:ÁØJ,“ŠÅz‰]pÇ¿·&N€ ©2ŠÌ0U0ýwõ+´2–äCÍþGµ ÍÖþãŒûœþÓò š_6øôqµl;9½v5çî ²5AÙ!\/Êr‰wé¬ÕQøCà¬9ZyM“KugqÌ©—d{M+ò À÷yI–NªGVí2Á|ù±Ï[ûŠyÞ@,ÛªÇ.¿#³50/挺TZµ‹ØsX?¨«kÄIð¤ - Æ‚\6T¶èÍä—oÞ¨¢°!:Û÷Ó;Þšÿè•ãÈgÓ Œßsî’­A1` à]Í&Àè{ðþGx¸uìSùìØ®GØþ‡åÿß}ü»Èý¹zèêÑ«Wû¯>ý -Ägv÷Ÿ¡ò¸§mØ>ŸXGà=f÷Þüþ_^¹ò ¯ÞIn» -2xð­¡>*õû¦ îû¦wN³³0‡úúö íÙ¿wïñÝ=±p¦Öl´ À'Ø€%OBÙ¹/ýÃHggÂ;7ãõ‡Î§CÑèùB…1`¿—À|Þýƒ àϽY¨èËÌI&&ÕþHôSè-û)Ý?©„ú¨_¿Ä"ýP!z¾&6{—>Hðÿ©70¥ŒÌý0Ûyá)4þ±WOøýÏ&»”ÙÙdš?‰è?:ˆfõ?â„BéÝéÝ‘ˆ»À#€XŒª{”ýëÜ€%@•)Á¿Øˆ[€pR׻Ъ˜¸«€•±¯;TKkGö9y¶`3`™Xná¿d}ê:FzCvìœjQá.||éPÝ­AìçxŒºŒ…gÍíü£õ®@iÌÉÉku 9Éa±€#ƒ,ðî^Y>™Ñ¹ª¡YòyÞPå²EÕþaúâ!«*ÖdùË> -þâô#ŠòªZ$ÄÏ *F -9CÝ¡.¨êеbÈÃøf¾ -üßàÀöqˆëÇ7Möì¸9¨‰UÀûàO4€•ÿÜ`pW7›_Xþ`ðÔ üO°%бîÇwîêè~d¨û‘]ÝC»ˆ =þu1ý¿zõé«O÷÷?ÝÏò¿á3ÿÓÓîÿ·Ï=h ¬¿Ûè ŒÿW6B¨€¸lu>-º>©Lôì:Øw°› -ÿé];wM÷ íÿÖèÞã/Pÿ·Ÿ ‹‘8Áˆ2÷¥ß]è윙óêçÓÉ„’˜ -é¡·#—L/Öù:½¼/DÐÀH4LXód;qL†þ 4ì'ÌÉ.?T =¡„¦týÙK¡óçC¡ó…óƒlø‹!À&,=b°³a„þXD@ñëI]Ñ“èðX‡Ò¢Û+ûÓ<[‰ú &F¬ˆ„oö²è¯Vk¤š©˜'ScÀt"‘Ñ -?ý ÞìÝü«VF}`9îyÝÈ—Ù -Ø?öÿ%›5ˆ ”JÈÊ4Ë9hì@ôÖdÞp4yÍ–êc2‚œºÄCÿÒ˜<&ç8€è¶–sÊœ˜£ë²S"º †—xûßö uŰÕË–uZ¶NÓ[VY³Ub$ –Ì €‚§ë%-ÿaƒ¾¿±F¯‹üâ%*Ý5±°`H*«D2ùŒ…é?]4ol4·w  w¼ÈQÀâÕ-Ñwwï +S¸Eåÿ­[®à]€uŽý;uàÔ±S'NñBÀ)XŸ:q¢ûQ ÿw>òÈ#ýúz„åÿßâùÿÓ¯\úï¾òü™çÏ ø±]ÿ·Ï=¦hÝ SÁEÀP«@‡ƒ«'†úú¦Ñôï›ÞÕÍåôß:~üâ‹Á•p*Õl®·ŸdàÝF³š¢B893÷»/ü¿ŸEBºÿy`ç=øvTñ&º 0½„ÿ“¦ ü‚tòÌNXP¥è»ùx­ÐÅ9TÕ!€)}*M‡ž„¢·-—îìþÏ+‰¹¹ÎÉì…¢ÙoÒ•l'ãHW’(ØÇ`ýAúñ¢I\ÐQPÑà@l¥‚!@ÊUý§ªT,¼¾Iõ?ÿ1 ?Ý -á¿¢(“Xv¸‹_`ÓÊX¿òÉrQ“~bWU£l¨exjq˜ÿ!×v vÿ+©¶±}€…Àª½j»øùñ…ºý%cM^¬»ª”ÿuI\]­€Ò;ÿÑ©´ - BîrI³‹–ÁŽ‚_;)ÛÆ± ð€ïXÆ?0l£íÿŠñ·Úe|&€y‚þz©¨±=qÎ0Št‹BŸãö‘”ÖUõXªÅ"tnä3ËÜXÚV@/gìßi…3 xGLjÞHÀ}ÐhiPûßÄåÙ»òaõß©ý?…@Žèx>ñßãCõ?.8ôWWö?ýô+(ÿwŸ93|†^ý{Ú }îÐ{' pÓ†a%´(@ߺ88}pºoß~zç^àÿ‹±ãû÷÷‰·°ÄãðX0bνö¥§¾é¥ò?4¥LÍ÷йüø”?Z™×áåOU¾wR ¼wÀ?ÛòwfùrÂdЧç.XôûyO߯ø©<×§¦ˆèç£S"¼è.®o -{kÀ”93GuÿSÐÂòæ‡æ$lþ’³J²PpõýèÛGÒcÉdšÑ'Â?J§[^ÀÄ*\ÿXI­h¸YCüq3\åúøïáÛ%õQ,+ÀÑhjë¿Å›U¨ ôöÿ—lA~§ÈÇ%Møüþ#¤‡®ØÚªa©Õûe£¼ -5?Œ~བྷ“9À1dI“J@ð¿&‚€ÙÿGZ£OE7`Í^+]_,iØÝCv0– Õ²,/H>#¿G@ºº¥òc_Ë«¶ÊóëŸ4£¤J墡®XUé•Vª#~ˆîÔ:þN1ퟡ²ü•ªÃðÐW¯Xå+ïZå›Í&og  Æ ?.j\†oÝjã÷I @t$üsûÏw½ xêÔ£XüûÔ°H>ÀËûÝòïyá?‡xýÿèÕÿ·ÿi8ÿüúJÿîáŸ'øn?¶Ï}Æ6#þq/ìÞïß;4±g?ñ¼5::º7tqw4Îdj5*HÛ à“ê¸;ÕL¨þªÓ;—ÕuÅß³iÓ»´ô åÙùŠž5»„/‘äðxy'@ó$&³¦9aR¡Žþ?Vó¿ŠÒ_ðèdTúO…BIâ¡hZþíäó|ówÿÿJ MwaÆì¼0Â1€Ù§²“_í½tq¶k Ú~8üÄÂáT8U "D"Ü` -À…|„­€…ÑfÀ<ˆez5df2OŒÐ?SÁŒ À -Àd úžð3~ÿ.þ ,J’ Þ×µ²¥ª†#³! ­ÁÀçs\s^™ß‰!€ºªÚ¢ô·í5{Õáþ?º#¯" ¸¾Æ&?oüÉB0ÿ‡ž‰°9Pé:}ªÆëƒ×d¹¸ srÜÐâˆ#rà5$/qÍúÎaÙú,çó5iÅ~Â*Ò{mÙÃÃÐ$yÕ(9­%„5ú²5´,€þ̵Œ5@ËÊäóÕåe"ËÍÛ=`ô'àQ@X´çÐ÷™7÷¼POaÐê„9øÖÀÝÞΣÇXðÀçNqùâTÇÄÿŸêè>öh_w÷#ˆG{ü»C_?´‡£ö^Ý{õéþ§ÿ¿þþ3ÃW¨ü~Ñ-ÿÚís?ò6~åøèèqöÝ¿gÿèžQÈþõãÇCÇ/^¼¸; ÒÃr­Ù|r€+|6Èd‚É s_z*KøOðýl%5Þ{›ôú•J¡+«ˆeþÍg>ÈýÿÐü%xUß?Ú²é &ô)Åæÿq¬N]:~>:¥G£úøí· Л -Ì"¯Î=e~s&‹››@ÀÜDò⬒&øç‚>®ÀÜ7ÅÊűÙdä=ñhäŽå9Á{ìXá)@†(ÀŠŽ€þÇ«Ì\`El4Å Š,€ÍÀvÍÖÙa‡Åÿ˜ð"`«þ窛°wüÞÏøÎ¼†oÁ -c€ÁÁ»¿œø?ÀŽNzøaBÿÝðNíc !ÿãû…÷ïÓGû¯Âúâ?œyü߯ÿö¹ŸO -VB}ö7Á =d¿¹ùÍo"¿¡‡ö•p&Åøß®ÿ?±ÀÍõ›P (òêS¿›#ü÷j‡SãêëMŒV¢Š@9G/‹Å@%qŽ€ÞŸàɿӓMyhé&Ä$€žGu}Ôºš‚OßTh6Ô£+oëç×{7‘Ÿ¿I-0¬œÏz/¼ß™èÌBõï7‰dGúñPz¶+‘>Öõ¡ßgÀ‹üáQ€×ñ~~âú¿ œ€þ‰5„ËáL̳ÜybzàA|¡§Á6A—âvp<{-€¼¬Õmxþë¯òe5npÍoÛœÀwž÷_ôý1ñÏÁ-€'øŒÿkÂÒe¿ì°Ý'°Õ?H€Ì€EtÿåUǨ/D8ƇÞ%#¼·(k—UÓ̇lv"ºü –•¿,ÉuÙ’îÙ"Àœ¤õzÝ.÷–²±Æw×ÃÈ@V°P¶2&Í bÄšÛØBü7Hσ·.:€ÞñÀ½wpï êÿp€0¸õQFœbüçhBÿìêèØylç®î]¼ýàGûôèÕ§¯}š Àî+¿¾rfx¸§G4þªýØ>÷÷¹±´^ ÿQ?Kw›µ ÂÚ‚ôàŒîªÆûmüÿdÁ¿»@Uq¸œ›ûo–ñ¿Fk½½w8õÌ›ÏÒçÌ.Åtëz~á7'ÌÎItûö&¶ý?¤ÿþÏþõ %W~ª¯C—t4ôKéŠú[^Àø6½½ÿoÞKz³ï¿?™0½~vJLèŠwdBEfg#Pô!Û'•êm¤`â×p)@€(@:X b™¿Ð:¼Ç2@b+܈…S„ýOl…ãX"(ôÿ®PW”s H>žÙúo²iåä}‚kß×|US•Šn€>A<€$›m‹¢ ,ÿpe•œ¨@Αí5X ²"€~R t è¬Adaÿ‡|à:óg½}9 þ=õ}EºÝk’¦ù4ße¹7YZ°èNÈTÿKÆ -0ÿ‰—ÔËe*ÿ54øÕUc]VBLá* ðÄ<2ê~#Çå¿åepLµZÑh²À히sK¬ÂX¶ ·dµ€ˆºÇqƒ®7aóÿÀ;ô2pkp0<øQn«ãÀ?ü©jmѾ½š°òs» AÑpÁ?¸‰þøÂ -OÄs“^ôà“02H‚pÆKt´õM€fUÖ®ÃðÏy}ŸÊÀÂý8 €õxe[vèbåß@$¡~ Ú"«Õð«ŒëŒÿŽ“Cá¯9kŽ«ýÃê?ô€«\rrÊýEz]¦q¤œzZ^mmÁþÎ>4ä¸+Æ‚aÈFù0=kòßöy´z®µ¨íP=ì#(Œÿå"ÝA¸ ¡ùÏ;«FLuÈÊ[ùŒµœß¸±Ù¸¹­€·„0@˜J,`à–€.î °ÔêH5wx`« å¶ù?wʵÀH cç‰îÝ»††v=>´gè·ÿ±üGØÏÖw~m»ÿß>ÿ;2€›TLПqOwÛèÿ €:p$‹)sÿðCï\– üYDõ¸ð/ŠsôÒ…B2¡‡J›õ /vý“\ÿ 0;¹ÿOð?êßÔÿ33@R¯?RZ QèúÔ<Ó *þ+•ùàÛÁ‚2ó—°ÿ« -4ÿ0ý é½ÿþˆNõ°Uý§ˆ°@¸@$ VëåS€Hr6¬þ¹øg@ïáJŸªÿŠÀÿpŠÞ(‡¡ýó ýÅ!,…t¥Ë¯œKtr `$›Mlõ7¹Q5œ_É9MŽÿäu¹jY„¯qaÍË[€¢÷_V ¤K¼uï”la{_vVËÀ|cM,ée î¨þÙægM¹@‹êu õ?Q€êõÒš$-Ö‹rý²Æö?¥“¯í+>C> —AÙ^áYë¢mÉ_É—‹O\¶òÚ“dDÿ!çÖ š3FŸ:fˆˆÂœÍÚ@8®–˪`–Gµ\#@ÑàA¬¶×xܵÿã ꀠ® p<5Þ›ºçnÀW†.#¹5æû9Àw6ðÑÖý¡ýëè8Ðý¹;;Ø(µû Õÿ}CĆöÚûW„ÿ˜´ëÚçÿ -@$€³YþÛà“íü¿{;q±ÈÜÜŒwn„ð?4O_)Æÿ@  ðÍ`$¤èl–'Ôr ,üQý0¡ø'çDýÿÕ.¿Î:@Æþ ØŒúG‘ LEF‰$C!¢J"©'ø›U*ܽ&M‚?ßþ%=yiv6”žýïJRùìØlºäúsåO„¤!î[ øÏO™÷"É1Œý¹ügÀJð=L „p0&N8#D±B̃‘AðŸLŽq²¿Kè³##?Ln•äÕÒItõãÒ3>+ß´âeÃ5æcdåö>]¢îöí+9ñº*Ä×ek6A>±‚Kü¡$ÈGàŸã9þo‰üß5$ÿæl¢Ž%/ò§'‹r..kuË>i[lÙ(ÅeY-"ø+–ªž|Iµ¿sø%˰ÊOúîP ,Xÿ7ØÀ ›]U×d£lsPÀ*bV­2êÿ2oü #À;5ÛúŸy\ðú¿@Õhí6wSµÞñÚ½6Þ”%Ò=C©Àë€ñæ>pêħœ"ðï˜î8A—Ý»¦‡º‡ötz|Ïwõï½úô+íǹöù?‹¸ëèíóI€‚Kf³–нsOu^˜õ….þ·Æ•Îùଞ>¹8â8>Ìû'üTÿÀu‚qkÿçÂý£P¸:@¶D`Ÿ®LECú¥Q?1€K£É$øCâ«Ä"XÝÍš=dr¸Ï%Xü%aù“Þ‘æ&}!Τª©&еÿ‹ )"©J8L' -PýWߣú¿ -ÀoBfâZÁ€ÇÿÁ‚â¿H:2–†°ðÀôšØsœÙâ¯òF¦ìÛìÕ´#OÈù²dØl„V»†;Ã2šÿôÕ–¤:Á¿ä”$Ù¡k«6&úÜX¥Köûç\€èýô¢¶&­–¹€À‘˜ñz™Ç3t ò¾#; 9|œ¾Ã l¬løsRͪzZ:]¤;cå­Ï—,zýÒ5uûˆú5@`«œÿwbtÁâU,XyÖ²P¾Ê-€¥æÒÍml¸>€Ø @õuXôÙ"}:€Ôxã·6 ˆž` ìÆTƒ‚Ç:Æ  ££c×tÇô®é¾îƒ}ÿihÏÁ>n?ĵOû´ÏÇÓpM€‘˜œ›yá‚i&ž Vîà:ó{•PW4Duý k’¡»7ÎçS ÷ÃÿØ@®D˜o@ÃqQÃC|Ÿ3 ù7Vm¼ƒíÿˆPÁ_¯;9ÈÖJ`%øý¬Ù9{ѹ,{4 êØ(I?ËáEzƒÓWD ÂxÉòù¬•Ó„ý’Aø­Ê—˪Q,Ê*Ûx „g!« @ÿ²js`ñªŠ Â~µ\V-Õ ²ˆ,old–áÀ`ñ— ­6@ƒá[ü²©|'uˆ6ïM˜@` pk0Ìn€ƒù<ܱ«ãsÓK™ÞÙÝ7Ý7ÔwpOß¡¡îG6ÚqíÓ>íó±u–ÍF5Ž<ôÚÌÌSægÉïU+BøA°4®D+Aý|0úvR &Qîû±2—Íš ŽýEýŸ˜à-ݯtùÙø\b‚‚x7 =M†üº¦þzW‚³…F¼Þ¿!ÄU.%CaæÏ.~@é‚«!™LµQkºÐÿÔÀ%×Ex½×f„ü‘±dš@…‹ÿ Ëÿð*, \ø÷ ÐÿQý?;Û….…2ËF¬oT“Do¶ö»læeç´|MÓâñ}_‘òy•@S­³Û¾&Æ9Ù¶58ÿÇK²ÏÁØßv´ÅVÿaþÇVÀÂéWBÝÏ,@*9ÅÒ"zуµë1I“=¶÷8—&ÉeÃx¢(EY+É— *֋ھÚÌi,>0ì“ÖlG,ÕÃÍ岪±ÈZ?´ äktè:‚<,[°Ê2g Áûô\f@>€ù ŒšÜxw£¹t“ Ûò¹×Ø!DðÓÅ=3àº$@¸Þã?9Ñà–ß¿ð-¶üÈ·HåÿLPÿO÷M !?íÐþ¡þöã[û´Oû|,r‹uv¬¥Â±—wáÂû“Þ¯†¢óóƒ-üßDnôNM+‘P4’>þ^ÚD±ùÛÿ¢ÄO€œ3 ð•QÖ*lâÃFAt9!ä€ú³zB‰êúq$ó u÷,rüp"Àþ°˜ÕgR©j­Z[_¿ÙjYl¾Z¿# Ú½5Þ €GPa,9„Ço…{aA\C®þ Á˜Gøÿæ"édzvVïâ”aºCÊ«çˆè|•î¸w‹-€Œäød[+ú~ô¯RÙÊ;¶š·5´áÄË -;yM+I‘yñ´]Òr6!»¼ø¿NCXGîŸT‡ë¿ðÿw#ëuP5"2„ƒ‹<*(]v$¹7êÆ3Õêרä/IuÍ8l”ó¶,[q©ÈqÄ*2 ù´úÝ-Y-öWòyC-ƒäX!ˆšÿš¬í°û[fÿyU$ä¸öÇX€º¢º ¡àò¿É*Àm< ˆên…DMF]`0È;ïÔî‡=€ÍˆBºo (¸³xùS4ùŸ;Eè¿óÄÎ]Ó»º»v÷Á9ýОöÃ[û´Oû|Lˆ/×o"(“ ýò©¹¹I3Šöç+ã½`‚,Í+çß D#çC» !E›ˆ$ô‡ÿï9³ó—Î VþcàŸ4[ø?1ª+0 -J˜¡)ý÷Û üu?$Ékà'ò{ÂT÷¯Ä2U¬†4?¸j¶î^¶¿Õ`¢Ò¨5ØÞ…(@®WÂ1ýáØêí÷ -žß@[‹ÀK8)€$óU&'ètvmé·¹‘/ûöi9øþh¿:I³SR­:§òÚ\‘³ÐÀêŸ-K¥¢f8ÎáÃ×}öªhìË9I$-JÄ ê.þ;uGÆûÙ%È^“rFIÍI>5gAºÕ×ËòeIÎÅKR1^Ôž«Ëª$K¾ äî7•—3ªVTeù´¥^^ÉkTëÛ öÈä dUÕTŒ4 >ã¿j©–;€*U‘ÄNÀ 7·SX þAà®håûmÄåDÀ{mغ+Ü »9-àÙðÝ}  @øß1ݱkçÐt÷4²Ò†~Ó×~tkŸöiŸ‰4è‰w›©L䡘™3³f¨'ü¯Õzžõ¥t'¡3"w#ºNNŽd'98g’("ÌIÂÎ (0ú‡¿W€ ö „R€@ߟ …¦’!ý8Ot*ý“é‹èú³w/Ás&œÉ ó_eWÈß“†þþo²€V'€õ™ŠM * á -WþaÿÅ<¿ñ‚n`!=›MÎê¢x9ñ*LŽºô.¤²'À–~ŸÍ¼ñ+‰À^óýèó?2,:†ŒX^4ÖÚÛßÑJZ©ä{æ‰'ž8íPY.ÿê4d|¹UÃÀì_Fò]ÔùJžœz±HàPw…¡ðS}vnŸQ÷iì4 •¬b¼®í;é;IÄB2¬83Í¥ºï°JLD}²^’mË8 ^@•?<Æ‚) *k%â)×´2}‰Z„O04e.ÿÑýWËÖŠ•@`ùf3/œ€šÛ*6ì¯o}Áx`s ÐK uïU€î -3úÃXdÿI{ù§¦wî„à`&íǶöiŸöùø: ñÔ¬¦‚¯ÎÍÌe;³¡hôíùÁ€kØÛŠà>ÀÒº™O×'ºD`9‘èÉvš /w&M/†&4°†¨Ï/è À5„@v@‘‘ìü³ä/"þ¸ö3ú¯¤0öo¬ÿQð‡Ç}_£·Ê !Öþ+0¨¸@±à=€:cé1hg¹'¡(/'/ó€@§wk†@7ªyß‘†¦I’ïúÉjÙP-ÇG…5,y ¥Ó§K`Žïä‘“’¡}Izæ™Åº,9«Èÿ“eØý:»ýÚ/!ê¼0†Êk˜h9[ªÕWø²GŽï®¡àg¡ }³²!©Ö>¹hÛ’¬JTåkVÑÊÛªšÎZÉKFÙWD³ß^Y €Ö¿\¼ óÙ(j«e)ÇQÁÜP…üOÄ”3,ÀúºÍfàæ6þ_ˆ~:7ÖѶºk€áwvÇï§À;aHÑpOøOºÝŽ]Ó„ÿ;»ûöt÷ µÚÚ§}Úçc#0]h®ÃŒ9•™}ᇯeÍ‘ÐÛÑïÍWÿ+@­ÿ›À ?P%;Ê sfÆLLfÁD“ßøOœKœkuþE€%‰Ä9<ï'  ˜Íw“!ìúÿÙª>?ý…«X÷o|È^(ãÿú‡¢ÿmZÐèm™æ*áTÅd*" ôÀ õÿB!²Ic ý æ)/+fâU¥µ˜%†“ m­PþÕ>9'k>éG>5oa˜Ž €X°TCÖÈëÊ–‘sêñ¸Ï!¸/í#€/;¥Ò"fý0þüî Xbs`€9§i¼¿¯ÉF lúBÌ÷m­¨Ù¥×-{Ÿ¬Æ‹XE° -^´ä¢*㪦¼[F1Ÿ×Œ¦õìú ²ð)Z°TãŸlz.²NÐöØlìqñ ‘'Àü2Âop`=€mÕÂ"\7,ša! ÜÞÔj½µ{nP÷”Ý÷® œèùÓn¸ãs; þ»vO·ÛÿíÓ>íóq€¥&ŠëF£š*<ô»ßÍ$füў VæáÍ3Þ’¸øUæÃi³‹göXðó^1ÍΑ™lÖ‹ àIFû ó\‚;.ðvò’_‹@ 0Š]€KX&Œ"‚·5ø_©`ÓèO§Zk4×ÿh$ôú‡Öÿë·7Ö‰;ðJ@llá=´Âa4Vü·ÂCîÿ{ˆwä" é‹c® -À$^u¥ ±åàÝZ0àjÞÙW·mYŠû|G6ª†l«–Aµ7‹ìU®©1½?éØðÜXüÕ"L Îmnÿ;bPrJXî“Ä2 àßf{ :ú9Â÷& -šæf,qC>l'`ÓAªáé»kªöŒ‘ÏËŸ·âùücª*û–­²$³þ_™¿DOŠZY¸kj¹¸ ‹ÞD÷ß²˜°þ6å û5·Ù (ÀÅ?£˜íu¹]À"XÜóÀ;-B‚V,0þüÉæ¼}û»»‡ºGÛõû´Oû|Œ€jÿÆú+b]ss_2gÌç ÑùÊüüü7@;‡ë½‘D´R0½Š»-o&²Y`#ìò0ýŸôæsoº5?Q±Àõ? ‘àQ€TM…Ò‘hAøxç/Ì ŒÿTýÿáìÿß…ÿõÍí@¦½œƒ…PŠ˜E%À°x<Ì - ‘\d,"F]ú¬ýùU0Åà\ NïÈÈŒ¹•Rw#_>"—dfr^µé©Ì€Cÿd -~ }¢9ƒƒK‹‹uyÍW‚ÎÑŸ#×W(!ÀÍ -Æ—h§5 n¬*´‰;xd¾eG.jù!0?-Û„üT²K¸|FÎ[†ºÏÒ,ãt^•-Ùr£€ ù#º®Ñ­•‹LUãšÌÀå([ª%r€ò´|cc9ßÌ€T·µ°.rõÎ - -€g‘·Þ,¸¹@ pÿèj­¦+Zø¶çìŸÌ:††N´á¿}Ú§}>Vp£Á(‹ÀÂ/ç~—ÍfÏGÓߘŸœŸ'üœ¿­@Jï|2Q¨»LÂÿP’ @vd²ðovf½^6˜ä6?„ü­ºß *pŽáÔÄÒt=y)y>Ž‚.ð+üBûWCïÿæ¿ ù!Øßû—x -ÿÜÈÀ - \YA6f„ÿÌÆØ €. `¾ÌJØ¡ÝJ2àz>ïò¬Ç¥}?*[Õ¼a—yÒΠ/Û|yÑ PÓq*òãŽÁ}øŽÉ\þ;¥œíx - kcH rŠš\‚ãæ‰x¨ô·à1ƒ`AÖlNÿËVQ¸ª]¤×ù“Q ùeÕ^á>›Ê}ÛcÛ"1@ê5C-zŒ"j¼›¯ÿ‹€2l€3,oܨ6ol þÏoo Æ¸kð,cêà€Ð„!h!HÝNnWBÏÏbð1äó µåíÓ>íó±Ž^øàsäRúùè|p`BÀÔxï¸Èê«U -S:•ë!EÑCɤÞÕÅñNØåwfÑÿ+lì{ÒÿN,rýÇÀTÄ*Rô)=‰À|¥N¦#TÇbÿT•áý×ÿ@cöGËÿ;¦î§ñ Ž]°IP%ƒ4 át; pf°ƒà_ïR^~5ñ2á?&ôÓx‰äLn¥±¾ ‘´¸&í;’‡ %¤vXp ›=¨ªºK†á¬:TÀKN]EC ¾H¨/Á€áEúø, ¹¤ÚŽQ÷6ìûxþQ€«,j’lÃq DÈ"–55n,«$}V\¶× Ù°V\ à}ð.ü2P‡Ê1À<ùç¿´&HΗ3ËUzÙ¸±€ÞM-ÝÙAÑàvhéßá5À{? ø¿vÝE÷ÿìÙ`Oϛ턾öiŸö¹ßÀ:á?œué2–|ÿµ ‰å|$¾ÝC `¾Rá¥fXï­<š -½]HrýŸL„@óq9“n©Ï#s8ñ Ë$ÀKØ?‰+“æŸ#vÿ1  W‚…àjWÿR)Æÿ¥ÛŽwÉnwÀ` D˜¿šâùš±peE,ÿ ¹Hn ‹€`ú¬ÒõƬ+0Ù"ú!¼Ù¬9Û0NJ>4ûãû¤2´÷ÐÚ«*þ†›²Ç }HáqìUñíUèÿe²¿º#;õÅ:›úàðDÀ–Kåœ$yì“u™Qž‡ ²|MÖ ùÓ4•Gÿûrœ;úq~ÀºD¼zZn"Œ@ÍØ% -obHùƒXÈ+Ð,z¸þ7X¬Î`•…p¹5@Õ¿Ü\¦×ËÍj¾yóÆ6FôŠÀÙ;æL¨eº÷3ãé–Kþé#€Ï ·”Ú§}Úç~" 7}±YKE¼¯ýƒ™í EÎG£ßcü¬ úϳP ¢r=’Tèu $€qY¹èÿ‹º…ý¨ßïw À¤ €^xº­—%$&èç8àP$’>_¨+á -×é®Û¯@ÿÛ ~·ð¿~»À  À•XŒ¿(@%ÓÊð ´0KÎî˜í‚З1x•ŠÅÁ€Äg¼¸º•_¬e9‡÷5Ç·Ê>* Ö`àuY÷d[ ïs¶a³îÏ‘J‹>¹.£þ—`¸È3hýì5CµK>qÑÔ¾ö9 ÀŠ5 ´;.iD«+ô.éÄTöÇ2ʪì° Þõ£»†kôp7¯"<)€ €%- @´Ð ÈW·×°&€_œAw¸=›…Ý5€ÞÚøxàž·Â"© 0n üϾØs†Î‹íG¥öiŸö¹¯@³ ¼m¦bæk¿Ëš3þH:ô|4úö7æYP™/` M°u%‘ý¬©Ñàyááv²ÓD0ýÒ'ÁÐ/–ý¹ožEã¼KtYog§p  vû¢ÁB6=Ø÷!æ—{]Tÿ­Àï3ÿK[ ÂæÁÁÕ1a¡¬V8 ˆ³"cј}£ë ¶V^U”—M×»CŒDWrKÉÀͪ%ù.sO^’âù¸·W騲+¹ã“³!àg -°ÊûN½$ÕëŽS:r½$K× þë‹¥5¹ähkÐýK>Ã#?fŸ¶5x cìO< ¨E Þ‚E[“4™>$ýÄö‘WTͧÒçYª×æ-•§ª¸/¸_À}ÔüÜ †qÍòÈE,C5\`µì¶ÿ[€<à‰·µð®X¥ãbzÀ僮¡€µð84½Z`ü·R„ü\û‡ñª‡žÎÒÅpÏð™áÝmÿöiŸö¹Àz“À¿†1@&9÷ÚHb$J‡ÎG£…žùtæ£ÑùÊ|Ò¯Ê+Êäˆ÷œØŠ'🛛™aÉŸ‰¡­?á]}¿î÷ûGyÐ9éíÌf ý±D'(€×µÕõPú*ÿ…H!P©ö×xø¿Æ‡wþ7Ëú¯poû€ˆŽ­¤ªX1¨¤ÂÜXa7€ Çñ0€ -`L,¾áº¼ -¶bžƒã‹ÙddK¿ÿ|¦|ý$œxå8t€p™­Ú²Üjp^ôrPÈØÿw$GªK9yqñº¼ú/‹%  ä#N`wJ²±è (Ú qCìÈ„úvÉá”AÍÖ ìûK÷ûò¶eü$o=ç³ò‡OÒ7F‚î a>¡¿Mµ½jƒÈ­S€âÀ2]±ÊˆŒµ€˜dh.oÜ@À2»åollk ·ÒÏòÀ…×`ps €¢xïñŸ›p×øN£üï!ü?óâóÃýmÐ>íÓ>÷ ¼]o"^7Uð¾vAñf©(…¢Ñï½ývp~>¥Ë÷"ºB¸ _|,ü¡î™››»0“õºÎ?\ïŸãšc<ê°r;YïHVp€V"‚@(Z(+•@ª©ÔRUébóosðßjÜþ[ÿß묣«@Ä¢™‰Õª¢ À}€ðJ˜ <ìˆ@RDÏò*à—•Íë€ôó'Ó±ÚV~µyKþüsÚ‚!kñ}q ¾»³c?‡ª"¨¥þËܨËúNÝwú_éH©.´H.Ò‡‹¶, É6Nkìü#kî A+b ID|Ä~·dÉÐTK³´©Æâ–¥‚XjѰ¸Á o¬XÖOí2Vè£Ð”Uh=H‚ì7Ø ø¶€“€Ð ¨º6KÛØXâbð?v 5pÖ2 Fìà À€°À=<Ëw»gøE"ÿWú_i3€öiŸö¹oÀR£¹„Z¬ëµ¹D"«L…ô©àÛÑh´çíyBÿpðÒ¹‘¬ÎÌb)ÎKHþÂû¼Y×ÔG^¬@¿tüRrj6tijj–€ß­?ÄÿYì °Q@V(&ñet“]~ÿE -‘h •ê RXØãú¿µÅÿáÚ¿­5Ö?ÀX€§ÚJŠ€ë5.»©@Ä„ðØÅ$Ì€Þ«€]›à1 ÄËŠžŒDb[úÕ6óßuFv).çóªf C@.ûÕ²Ðb%0gc“F?„ÿRÉöY@‹Ò¿”J§µR}‘Ã$z2ì"òÿ$¹hø GØxaœ¢!û|š-Ç59þXÞ²þ•¾%iϨ’e[ð:LÐoI܇X±„"Êý—Ö!ÿSE“‚­yú¿Æb '@öj­d–1ôç—«Ëlç€ kéΊ€X´ü€E&P­s€{>lÎþydÑÓÃõÿîá3Wv÷?ÚßfíÓ>ísÿ€F3SkT3ɹ¹Nåç =¤|u>¸ûüóTûƒÑn¾?bR©Þ5wõA)?éF¨â§Ø5OEžOG·BI· ˆ=|> XÈBà@—P@€Ú?Œ¥z…øÿæú;€ÿM«ß¥-2€õÍ6@5“jÜÑ`W€Ø -z …ÂS€äìB}VÑ•7n7` -D?h:RØâ¿@3¯>V„K<Ëy.¯[“ ˆ =mÑ@ÿ_öÕ1¨óè_ª—|‹¥Ó—Á ¤Ë§C+!ñ—°^¶%YCÉ_Š£ €å?Ö €ðŸ¸ŒÖ>]æ<¦å<}ÕŠ—,Ã¶Š„órž•ô¾"VmË’=b€{¸+ ê -Ó* 8 (íÌóÍå*²¶µ°pýtÜAÀàí6À@`ð€ª½ƒÀ½ý³s¥Š=ôò&Fÿ/Ÿ9Ó/ÎÞ½íG¦öiŸö¹O,÷›ÍTá…§.$¼^àÿ{AýŒy"~sdfÄ«ŒÎŽú'ÌÓ›8gzéÌÀî‡÷øºD½\âÕÁB´ …Bîú+D¥ÿÈ_À+p²Sì`­Ná<$¤“$õU©ªôõÆúÒí§«þ×—Ö·4¸³Ð"ÄjÍTë°PdÃp:€¤0šírÑßí˜ÌYèþ+[ü'ÈgäÃ'5õZ䖹Ŀ®¿,6lñ–(ä©üwûëø;fÿ×Á‹R©ôÌ¢†x ɧéZ[ÿ`@|ƒ¢&ÁvÑD Œ¼-YqiÙú¡û²êS©æÿŽj¶ó1KTûF>Z-æ‹ô6D0lq” b´Â€|Z"À ìPñŸoÒ%:Û› ªi6Ô;ëNX ¸%²÷Þ!0>Îb€{ûg7hQ ÿ›=Ão÷ ï¾²û -¡ÿÑ«G÷î=Ñ~hjŸöiŸû‚Tƒ¹L¦Q‹y粓æL‚ ¹LLE{ -:¡ÿûæ9ýÙä³ -Çà ä÷ҵϚæ«.&öwÍ&áäûb¡@دëXé ]R?btVÎc Ð §€ÞV‰s°MôˆpT”Pÿ7ÖÿùïÀÿ¥»|…Xoå©Öè)UÍ´8@x…ý -¹Hd,‰À¬ ÜÐoO€ÿ…Bj«-«,•>¯QE.Iq»içYnçîÿË»Bx»@€8Àu$Aøw}QÀGJ§OÖe陕ÿR]“Š’$ÙZ\¦ç8°ß.Ê­M@IÖl#¾O“U~Ëgi¶h—¼}EËÞUeÖ#ð{Uk…ø¨‰VÌ#°À†Eà‚¡î É­@U¤ó`~³Є°šo²%Ð6g -=žÝ5€³® Tƒ·ƒ(ýaY¸uÏ5ƒ®ô÷÷Ížžááá3W†_!ðôÞ½{÷ìn?6µOû´Ïý@‚©ØJµ~un$kz³ŠIø¯LEBJvƋΒJy/7‡â*¦HÆë‚W¾>;›KGÒé`°+ Á¨’èò›Éç/…’Sb ´âXm9´ìyp6y‰0•@•@Jä÷ý1çßÍ©Àçÿî”ànn}©QeÙC³ÊjVV*+1^@& wÄ©s(€îræ;Áp*³Å+cHÆá"¾ä#¦ú:¯ÞÉÄœ{UAJ¥ºo@‹’t}Q’O—¤Ã_“ŠNýäIŸ#iTùkq¼ÈEM£Kÿ… ^¶fûTK’1Ó×p’‹xº 2•òôahlàŠFU½ñe5_”óyùûÿEÃ2®±øÏR9ˆ][.Õåež°çnÜØÎ4àu¶ÓkQ¾Þ2 -ßäè=ŒÆØÁ»×kb_øßóæYBÿ7‡Ï ÷÷ÓóÑWŽî½zhÏžC¯´œÚ§}ÚçÞ€f& 7S³/Œ¼‹¯^ñ$ü]fsÿã„z¦÷…‘줩øg‘ FK¦üðíÁ¹¯À>Á‚âï]÷¼· ]€P:ÈœËóYq¼L\g@“ûô©‘¦ DÞCûÿŸÿ;äÿÿø=†°ô! Sk4ˆÔªÍZJ(3+° IŠH Y}V„¿Ñ¡£Þ…vE2RˆÅ*[Mw_.[ÒTxôª†t2ù½ò€Íë€ àÎD äÔÙ¨.Õë}þ‰ëZ©$->vò²Ï)ú¨ü/iKþ¤x1î¿ûÕ¶¬ùdàŽÿBshK¼øï‹—á@¬ÆY÷W¤+X - {Ó€n F>Ï[‚¶Z,Ò‡„,×ÿòåo76ò™j>#ÈÜæ5@^¨ëžzg[j€Á³ÂàÖÀ``ís¯ @²0«®$&ß¿ðY3™+¤Ré÷³Š ­ßÈ #„þ(zßà^Ás1¿õ*œ W˜ڇ …Jrª·¨¬§º§ -%CIª™Ñè‡û/FÄF^È¢ø×ÓiÿEà*¬(³…XŠðp,†à&Ìÿ!œßñäÊû>À n£ý‡}Éï3¸Âþ£€jS¬„Å2 Ü8@ïB@H‘@ðßD°BŸ¸e`•µÓ_ ’Z‹Ç÷±ò„¹Æ¦€-^8!Ý8c¤I‹ÏväÓÏ->ç+IŸwÖd麤5Y¢úµ¿$cß\0äV_Ý~Õ"ºa«r‰ð݈Û‘M]†û¯a/ô¡°V6íUöøi^ö¨rÞ*· ‚Wx†`”ËùÍÀ²0°šÍªüßÞ(€¥†P|ƒ€ÿ. h­²ãÞ-\ŽÞ ï½&ìýËÛÃoCü÷lÿÞ«G¯öïÙsˆªÿ=û‡ö µ[íÓ>ísÏ aÚJ¬Ë̾ ¼‘¦º>µTSÌī旻”/w;1;6»6F5,¶"Öå8§W\×Ñ?o4‚…H4U £ëa%|/¢cÐR€·3;3CØÜŸP›öÊTFùìl:9V@T/±xóÕ>¼öÿ½Ñ¿‹ø\¼Ó3hý÷nãC ˆH`%€PÆ` ¼™ À~¼îBÇ"»ˆ @8¶õ63Üw|_9¢rÍ®- ùGpòí3ì83[a+ gÛŽ ©?q€úõEÛ#=ñÌÉÅgNJu­ôXür mÿb<!•ÿbøÏá²Ðlš ÇmËÎn«’!VþŒ¼uš -~[¨ÿ 5o¸ËEzІk­˜#‚V Ûü`Å‚ÀjY ŒpÀÆÆ¶þWn ð -À0«ê¾ñ&°Šaæ¥@a ˆ|€ð=þ»ëy“½ÿ†‡_Dýewÿ•þWž=úÊ¡«ÿ÷Þ={÷ìßÿŸö õµ@û´OûÜk0–«D²¸I‡ AÂ߆çRrW=@~*ò9œ7Å¢ùÌÅ|t¯GŸRˆöT*Á·#•Ú¬^’¨ÿõK:½Bb€)œ€¼#f¨Œ”F^Óë5C©ÙD8\ËôÒ¤RëëZo þÿXé¿ÅŸýCøÃ2€æ:(@­‰•AØ €e€B ûßÐј %ÑÿO -Áp8Ö¨mõ_ac¥,©yû9ªÖ M“òPÜÛÊsxõÆeKTï.vC÷]¿¾X’còõ#‹%G:üœT*¬—â—ã¥xI‹kt‰ÊŸ)”=ß„ÛO`Ć2ƒ¹•§g~qÃ.€ ²Å|ÄVÙPЏ€²›B$«Îä @îÿ/ãÅþ—óM«¹ÑÜ^ ^Œ¾áŠ¡xQè ¸%ÒnÆkTýãê½þÃãÅœç¡þ#ôÇôÏ¡CTüêÃên›´Oû´Ï='³c…´wNyµ+I -/ñz\³ÊØÎ¡y)Þ—ƒ\®õº)˜€øŒp™ÈB¡PiP2ˆ*‘`AGàRr*Ñͬ’0g¨ôW&“‰PÞcš‰‚BŒÃ|y*Rè;Å‚p,•©ô.ÝðûpøÿH¿†d -Þùþfƒžßå1@…žo@°Ù˜Õ•.,;ÒØb¡ßýð[þþyK}`{ħaKŸðÒöqð.öó°`Éñ–5³xdÑW"Ï•¯×1 -¸¼X’_F$ O’J’£ è—ý5‘ÈØo¸¶Â¢°YÕC¹ÇÖÿ@y,æEöga¿Ÿ>²’Ï_³ î ±}p_E†ÿTïÀ^nÞÀ:€U¥&³œ¯67nlw€§þg¿ßóŸß¤×Û3€³"—nàÞãÿ|‡ñ|¥ÿ •ÿýGŸÞ{O˜þïßß7=z¬½Ø>íÓ>÷ž,-Lé/Æ¥“ÁÂfa\k¶ð¾ÚûrM%›îá%z®™ÃèÄÞ "¡t ’Lÿ£…äÿº27— é *ýýº’ÐcAÝœûŸÞ‘φº¼TS¿¬¤b³©Úÿ:©?^ÀÐÓç£P€gKb -Ð Þ#~–.DÆ. -Àƒz= û -±JjË{€KK72yùðç%˲ãñ½þ“'ØOλq”ìr|ÙŠ?³Ïçó]—âXÄWegßõÓ’ãÈkNÝ·&—®£õOLø/Å}õx¼€I@œíM|õöáÁ>±Œ<Š|Ñí7ÜMD—ð ÝYmM,|´°ô/Ø—ýù.hnl@Èý€2fÛm¼Ô‹ Àî9û}Œ†¿1<Ìû³=¼p7x–c°ÈA÷üøÿ"Zÿ»¯þ?ÝßûŸC{õí¡3Ô×¶Oû´ÏýA–üú«JZmªÚÈ76î ¡œË5ZoŠ‚YÌ*cÁH:HU‚ó‘t4‚g^×%Ý›MD"º>J+Ù™ÓÔ¿ï½”4Ò/y“‘‚®ÔR ±Z3+¬ÈÄ©ßCw™éOÀþóÜ$°Ž6Àí@8Ã*€tšÍ“„ûTüƒÐË<‹#žB!œ -ßE`i#_öû~‚í¼elÓ©„›¬¿G÷ýzw¹Î*¥}G®—Ô„þ-–dGªêKR]Z”JX —4z×ðÔ‚{³úŠ~ÑùO×úªû ùý†û!Õ…† ÿîB€ŠfÐÏØýçQÞrm€ÿ-yÅôçËå|;€7¶÷¿rïÿpÏ÷ÿÃt¥§çûD†ÅB •ý¸õ?q€{þ‡÷õÏ\ùu?žûû_yúèUz:Dø¿gÇÞ½{ÚKíÓ>ís߀ -Û¢v*‹ 9:_\Ù|K\u!C‚Êj°,©* -´Þ÷*¡t(¤+z!­(Ç+µä”€;õ†b…Yo"¢báÂZ£¶K5ñðzÆnôf*µÍâ|ýö¶ßÇþì&š:,x 3€jŠØ ZÌt¶@W“‘1¶< Ï ü.¾¹•—}T«ïûÉO~7`Ó»lɆ%¨œ Ÿï'G|>Ÿw=}T”5¢%)@’¯îó1àæ¿ä*âš+ÿ¿Ýúÿ`ýßjç[›å>È}›¨Ë¶j¹U?hCѲ )D Å©SЈþéúr~ãFÓ°Ëb f¬ü¶+¸ ÀŸOOëd€èpJpÀÜû{þÿÕ?ÕÿWÙøÐÞC‡vµ“Ú§}Úç¾"X ˆëM*1"_§§;¸@Ã…K &õ‚ž`… 1ÐH£0ô‰(/xg£‘P4”œš“ sD™ÞH¤K7JêÉ`DyÕ,$ƒ©Tl¡ÖˆÅzµXj)ƒÜ œºc p}[‹ÿÖy—‚ ¬ŠÀJ,IG’œ(JÞÿŸE - Õÿ …`Œîý]t–š–õÒcO|å1_ÜçÛìÖò˘ȫB€‡®¼¦bO’~ó9Àõº¯ä‘ÿGÏÿ.(¶€qÉ% ·Ëÿ–ôo³½/ð¿…ï·§†;àÞ@«@§¸laC C]r?º\Ê¿æ2óêÆŸîc9p³¹¼±Ýÿ•gÏRùÿ}*þ¡«¿ÂøvøìY~qýƒƒa¶ ¾÷yO/õ_yþÊ™þ+gÎô}ÚÅÿöRû´OûÜÿ€+c6åo®7€Kpè£ëë7ßÅ+ÆKŒbT˧*áFª‚4€HhVñ*óáÂlä½@ª7ù~$¢{½AÝ$@Õ^ýÿgïzBÜȯtzE›*z@iÜÁµ‡í¢«ãhDÄ–ü‡e·ØU(*ꪥ³ÙbäÚ°‘…bU‡j¼Ã†\âÁU¤m&Ê2à¡ÜA>µíYÓd —@¤@LIj3‡}ïýJê¶'—±ÝrÛyŸÔ²úou—¦æûÞ¿ïm/YêöíÛj­î&ÆÝAâ[ (znÇõ‡T˜5;§Îý„§“Ä4öxž0œ¥°02#Õ·@ð´Ýo2k6 ÒûXW”¦-çm9ìbŸz _l+ºôž":±,åmt´?'c`tT>Uò” À—æ§€ñ, =“OŠM;~Õò˜ö ¢mf%â@£úD«›VøEüïc@>ìw;cgÏ3a ‡N½°ƒöº·ûýƒh¤‰b2 zŸn½K}ÿ \zCà~lünƒÿ7Ä`0Þ0ЮŠ;yážÌn#|¤Ï0èû4¿ç’6õÇ{^}ÛóÖ\«´+µw̨vûN[½R/•jço×kK‘á]¹ÒöϵþÁ`ˆAâ'¢<ßrŸqû›Ûÿ­á¯¢a€ðT-,eˆ•€iþ 5ï^í¹îÍG|£as Qm÷š´ß”…õ¿Þܧf„/µåãÜž­Ë4ܯ£@ àÏ‘ø -ÿûáŽÌoëðyÆ3;!ç9öf €t¼~~/ÔŽ§¨ @ß]âþØiá÷@ýš¯a¾¿;µýÁ€°ß%àÎXû$Öz4Ð -ÃVw €Nçlù{ˆ¹ÿtÖ=!Rwà÷? o}|‹¯|ƒÁà¥XqFûÃôM<³˜0,w¸®aÖÏ›Q¤ªj¤mW­á–Ÿ’·VûßmÓ¬ßñsuÓ¬ÝP7D®z®n$‘‘ô€ø‹ðøÓÅ1;Ç`^Hèm(MšPÑ @í/ê <¯ÁߨV#/2¢oÈ`Ø='+²ÝÔe¤rtñ%'>ZÀ#ƒдø–à5EC[`ñ’?ÜÕ?·%ésÛ¶?Çw§üR@–åã.@{fEGLú§œ ä='Ð÷bš HÅvø?y¿âˆL~ºHù Æ w|#ÓŸ±óÅ_È p-`Ør2!UNÿ5Z»…}ÿTXÀ;J€ÂïáíVá÷4 ðöâ‚€[ùÊg0,^òû§a?2?>tè!é<%%„écøo홆k †‰ -Áþ•¥;÷ séÊùè ~[u¿¬ùnæK×½û n¹VyoÉàØ ÛöGnxvÎu7¦–À–eD´ µ @ù‹ø_U Ku¿ñ! ´Ö[ÙWlIǤ}lË8‡‡ëŠX!>%F= ~1ÈÊGë?¸bòŸ”V„˜æ¨´ ¥IGKéæû0R‡/ôá§²æa7¤ð=œ.÷þîØCèß…'Hù öáq$â|ßù$üä—Ÿ¼óËŸÚ;ÿ‡½®îÉÔ0‡ -@çý‡$n"õ/4 "ö.¤]±#Xxð…Ï`0ßzE?'I÷E~öÍi]®A<©C·~e©™WÎûíúܘW6’½Ì`•×:ç ê÷3™oý‡tŸþáäÃìÐàŠ¿†i ¤}, `½Ná¿¡ª_µ ×}sôè’nÅã¤fë’vÉ•GרEPv$Yw° <¿”@pH ]€ü¯Ocšgƒ€2ÕB ªG?rýmasˆ ò!ÕµwðSÒGڇЂä`e`VJÐ)”ÿðEðé§²ôÅ/Ãí…}­‡ÎŸÝþ<::Ã[ …ưq£±°"4åÈ-ˆÿA ð•Ï`0X¼²ðxf¦?œ¾‹9óA’ \r­¾–˜WjQdÕ– ?*¸I¯ÝAwŸL¹=t÷ö2nÇÈ$£…É Ñ0rû¸í(ÂýD®á›5JP&ÀtöǪÚþ -;àsƒ@¸š¤ØŠ­ëè\á8Fê@Ú6(Úâg øëýhÉ/ÅýiÂf¿ø]Ãê¿æØvœv¤óJÿ›Ýud'þô0˜58˜:ÍC¬ - ÿ/l‹b5@ãV§.þëE±ç"öò•Ï`0X¼R’Íy4€%DLΡ áZ{{õ(qëuKUÍ/­ÄÈìY8äo®a$ÃA&³ç­^gà÷Ïÿ‹¿Nl¤íÞÁ^¹lª_]ŒDà|Ýô uËÛÂFG«sm÷EŽ<«5×ÅNü¤¼B]x¸£møä>¯Ø±Øñ‡;‚e±Ëéæßg¦ÿcªýDZÆq ÇøÆ8¸ß¥æ=LÐO[ùh…/Ð5ÖüA*èN ºäüVjÅy‰,p›0üñ´‰U6+ìþöaü‡¸K› âžX𙦣€y¼>?‚Ð~á!ÆÿÆB±X\@ P8€†…ÂMaÄW>ƒÁ`ðJ òø_ìÄ@àÿddX{®™{&ðþgeËW¿4F @ô èOÒïìe,×µ°åtOÕSR,i¸´ïX͘eoë?#ï|½~ÞÃ…‡¿(á&ã­Hm·}оá¿ÈŽºA×Qlm|(|Ç$@@{'uë Ù¶o\ÓcŒ¸g@î·…j@0mü±kû›;a,ßR_òíÅ0ÐÂÂ}èÀ±ÉDïØ2$u|C‹BÜ(L3 -˜ž°•O•]¬C8ŽüÛÍ Seÿ¶àØ»®žÌãõY{X(4¨ö¿ä¿\D4Š Pˆ™x¸ÙÀý{¬ ã[§óc)0"ï<7ñ-+ù®•Ù+gÜA¹lŸO£»2*õE½ß]=ÓçjD)€þ #Ü ë@Ň[ØþgXªwÿ~É4ÿ©pÿ -Þ· ÿÅR8„¶¢ÛvL$¬Kºá–`±À(Ëøò¿LKþïëbÛ/~ ¾€!òÞèè7"S^ü92±9ü`2tÐÛWs$Ü=¤Ø©w€#úÌ#ÄThˆS'¡ôpÂVØ™:Æq:<@ïùŽÖÒöâ–?Ÿ@§óASÿâ£âÂÆ# ”¬ŠØ ¸Aö€›…Æ(‚ÿâKŸÁ`°8%`¢å¾›$Ù[–ÑW3 Œ$³g¹ÑÝt­¯`ÿaºÊïÙLÂTèo8èû¸æØoãR@õ+µ\«m{f}i©¶µ}¥ªTUµ í/&:lû“ŸH¶-Û¸ƒÏx\NwðÑz`âøXŠ!övtY0²Ž ‡Ö’y0Z÷ÉA¬AXT>ã> ôÁ—Iù7ò -n - ôe ð»±P€T?€ÐŸÊ $*b±þ'>¡¾ô {¦ÿAÈð‹ŸC{àù¼:`üìO €´°P·… á pâtßÇ4_ú ƒÀéÑ%ð?h€!ez¸BþmwaãŸRÿ 7ÿagÖHx61a€Xr좼JêwþîþÖ?þXýx+Â¥G†‰€ñ‚‡š`/`^×›H·À¶zóš#’]°¨`pÞøÓ¡&éòô¡£Ù´î·@¦Eú -ýq¿´0'/+‡öµK—®)Âçv…Y,Ši6AŸÒ|º: žÒÿñN¡“ …þ‚Ðdm·;Á\LñŹ…ÝÿHüÅ"%6–+ËHÿT -˜UnnÜlll6øÒg0,NÄÿ>¶÷õ÷\·wlä?%ÿáÌÓïXœeŒú#kÀ.¿mjt×ôjåRÍ+y[¸èÑùXÅ…€m×j¿0ŸaãŸÝÔ›ÈÌv,cK€Ý -Òå½b”Ÿ4€ã¾`ˆËC ·ïâ'¬øk²Þj…A—S•^Rn\û§KÍ<þDõbb`—æt}Êñ8_@uýY’3¢çoê!t¼VàyöŸ.èéáîn+èΩ¡cXx¸Ðx„Ôÿ}*ÿWŠ•exûM¥QÜ(â\`¡¸AO66®®³`0,NóÉhlY.vöh‹î “þ‰ØÿÍÂhàÓ\ƒk´1p€Ë¼rÍ3Í_À“›ÂD!`E(Ë2^øPG bEnê¦âÐþÕ¾NwFAnîEo?G‰C$cÙÑCÂ~[0³Æ­þ8ZùJ×Þû‡÷Ö/}(‰ž=¢wyÚ"8k¤r@ÊÿÓåÁ$¨‹ÐIŸg¯“?™÷¨V‘þŸÌç•\,ýãÃN£ÿåëËÅb”ÀòÆB¡±°Qh€øañúu¸óÞ=ƒÁà43®ke0öOF=ËCñÏmð›=Ÿ.8óö}lt±ÍßR1ê7M4 ÍÀõZÙôöL3“‰0_ðâ;B­Ùl*Ф@\o+vÓ–ãV F÷5ìØ×B4ð·e%t4) <àÝÀi…­`ܵøPR$[É_ûðɵfs½ë -yQG:'˜’¿L - >ò‰ýǤ¯œcY0Ý"t¬p -°…r0§ÀNçG……Ìþ?Z¦ÀJey¹BI¸‰‰Àbë×7á–ãKŸÁ`°8Í ÌÊ °ú·g=Gî'Òýh®3JFÃñ‘H|ߥÀ®Ñj«ÑŸq%ÀÔ¸VóÊ÷<ó.Ò„½/^À|ð¼´nï7íØÑmÙ¶•õ÷p2@ Ñtcm\Ê뀰)@ úá¶¾@Dþ’Çʯ.=Y_WšÍ¼ { XÜÒ2€C™,'Т7ÆøFê€þ‰Sq@™²Õ‚«Âi€T„ñgáÜ&:× - ˆþa‚¸W°P¬VªÄû×70ò¯\¿ ü¿¹É€Á`°8ÍîZ**¿ç'É´çÿ9<ôG£ÑÓ7©€+‰i#P›vbÀ+—D V.yeÓƒe¨`DÑK¤:“.𹼯ì+Ô ëʺ­Ù±d;úç²ÖÇiþ¹õûA·?úÀÿ-ˆáëôûЬoÃS±!8-î#¨CÿÉK·an ÄîM¬Àh8ˆÞ -é²&Ó´Á³#Ç=‚T h…-x6¯ÀPm<ö?˜@þ/î@ü_EP-^§ÛFqØÿòææG¹Ë|é3 §)®oõ¬Ôgø\› ôòþÏ)€že$®Ñ¶à®¨‰=–k¦·çEÆ€aEmëeŽ5ÂLÿzSiê›ÛºoOÖ•÷ó±=  ü1‘>Òw|¨Ë¶"Úù¤¦­+Dû ‡þÄò"|l 1êïá§Eø8Ù ê"O`KšfÓ–a´@«Aü²0mHÃþ“eú‹]Âè+|4¯Wåb¨ÿÑò÷‰ÿw(ÿ_©îTªUÐ×)÷¥ÿjqsór.wù#¾ô  €SÄ Á9Ã÷Ý¿þýßÈ“–Ÿ–Ô$À=oJÿ¤<Ïô2 0Ð~™@gr„É}i_ÙǸ\—ÑÏ7V[Qö?DRVòŠ$IÍ?5óÍ&ò3R5æùcPè ¨£M¯.Âÿéª]ŒÒˆ¿,vzB\.,~à=Ž-šð»ÓÑ,Ðú`X”¦œ¯…ÔŸ€=XŒèŽçö¢\l,`äÌ¿³S©ì@ü_ÍVwª•Jn³²¹Y¡€Üfnó£•Ü»¹Ü -_ú ƒÀi -€¾Aórý¯ó?ŽÔOÞÐs6ì$½Œáºm«­ª¦úMÏ«•¦üOË5dÓ3Û†µö’G›à* ø½æ>NÐ>_‰ü $ŶŸäáI €yÉÖã4ů 7_òöB 0en'ž…î³É~'5IGG¯!ÜJ€‚öéÓçŽH -a(FR{ êMèáãh~žÎCÊö¯ì<®>Î>Îå*ÕH€ðq³X©lVª—sÙwWþöç?`À`0Xœn¨Üøîàëãýolì?K^X™¶kXj›pð^¹VªÏj÷Êeœ4½È¼ôÁ&GhýóžÝn§Å»rˆÔKY{ÝVšOö›ëy%%z=ÖÓî}b{YÆò¿.jøäëç¤~³1>1ê/Fý„He®àüAs_iÒQq¡l£U€Ø¤OÉ^“ãYó_HA?6$ô´n ƒñ_’Bcy¹‚©|ÌVW«¹\î£j‚þÊï6¿WÁ<Àåþ?ZYùŸŸó•Ï`0XœîÇݹÎsóþÉhô†Ÿµag5³g 0 b t¢  T®ye³fÞ5Û¯äp“P õ8¿ß´ØÖ±X´èO»ôf „‰/9ûP1€züœ©2@“ßÔßzÚlª_ìö# Íýuø2‘CP( E4JðÞ3€)ñýGÝQó}I’ºÿýïTsÙ²‹Ù«Ùle@µZ­7+¹Ür+@ÿßÛ¼üC¾ð ã[§~„ѳô?FÉÚ†Aæ.5Z8ñgÞóî¡(¡ )Pªyž½²ã+’.)û—ž4íÙ>¹ø;éÞ¿xjäCvýÀþ’ÏœÔíwZ´Ç\~ZHÜ  -Í- .rÿ±$)¢ ¿Ì‰iûO:î Rþïváå'ýpÞ/¡€å ÿÇÙ\h²Õ*<ËmV‹×sÕËü¿»’}—³ÿ ƒ1à>Cÿý7>úOÿa¯l¸m`ÿtÂþÚ3Ãæ«œmÄy@-¶›ëMYn6›äæGëúbÙqŽ úO"–Óú>åÿmi×Þ•¶DMÔ(–û ¯K6mù¥%DíÒ~S‘lQNXÙ¡#ñÏ:þ5êìâ­tûŽŽ»:ZÁœ_Õñµúx§ºø8W]Ì®€À{µúëJÛÿ6¹÷Á`0æ)NÞŠè?ý“†ƒ½rÛU-3¢@É,•JõÏ4@)z¥<êÂãBwÜØÌÓˆ¾ãÄÏÒ¿ðèûiÒ—&!„·•¼žÚùÐÀŸ“uÚâû¦-ÚøEÎ ] HŸ¤}p¨ À,Mþ…Çqÿd2鼿–Τ1Mý/Âíê²¹ ÙÜJ5[ݬüæzõ»ß­ðåÎ`0ó'Âÿ·çÄ ‡Ãdï³Èh#ýGžwo:°½]«o›æ+?àäh2éR¼© ›þ°*"àŸy÷ŠÔÆö4–ù©ƒOÿñ=[¢Gà~\ ,IN:H6>šØ<jé°¿ã ö˜ZýCìÌü“³1Ì‘h`'›]„°1›Í^€èÿBv%[ÍU½YeóƒÁx€2#÷- ÿg -`P>gjdnQ Wª—ê@ÿÛÛÛÞiuP³Œ}u…LbÆÿh¶æóD׿ŒÃûÇKh “! DŽ@¶pˆcçØÇÏ™õóݰ+ºùS¾ÇO Áð ÖŸœî/ÇB‘âÿ*f¯®ü4{aå§+ ²‹¹*_è ƒñú2®?š¼Mg«‰ù n©Ø€JµúIx§íl ÈÙÁv|Ǿ–Ï+6h€æ¯¯7ó¸9HQD»Ÿê@æµ–é[h’GÏ )ëOù½;ëèÃwðˆì‡“£Î¼s_Çaáfª‹;‹W³W«®^øyö¿g³›Ìþ ƒñz€ß³Gÿÿr Q<ˆTs n%¯Vº÷%sŸL Nc´ö¦‡¨^v„_H«ùd[ú4/a>¿%Ö‘CVíѵÓz]¸wǓщˆžnip?I¹þÍÐm…âòÎòÎâãÅǘþÇào²Y¾Æ ãu -€¡ïÞ²37ÄÀjÒ¾r»$ºK5¼×þy^¿Àd<6õ-yA÷dæ^Kõ‚÷‚ò»£ 0þ;“·ëå(T€þwvsÙÜ…Ÿù¯l^ø{¾À ãõ -€¡ßOÞ¾s7¬ÚK?¹]7#³æ•ðnÎó7˜Œº³Vüây¸Ýc˜œˆwúNè¿]U˜g@qñ¸š]ü—ìU ÿùêf0Œ×.Üþèèí;w”X]Ôîüìöý’W‚»·5ï_bD´?§Ô>éŒO?<æŸ 'oùÈI£¸³¼³³¸³¸¸³à*_Û ƒqÀÛubÀêêš·ôŸÕ·<Ó4·ÎÐo¢ óÖóþ3€E -€Å®ü3  €ÓV«ÉêšZÿΔÌ_˜|F^ -"þÿG|: ƒÀé+€ÕÁ ½ôí%Ïàóñºÿ2Ó?ƒÁ`°˜‹XVWÕ;ß.ñÙxýî|* ƒÀÜRÃ់׊Վ»ÃôÏ`0,NŸùO¦:C>! ƒÁ`ðW¥ ƒÁ`ðWÆÿX`!À`0  ƒÁ`0X0 ƒÁ`À`0 ƒƒÁ`0  ƒÁ`0X0 ƒÁ`À`0 ƒƒÁ`0  ƒÁ`0X0 ƒÁ`À`0 ƒƒÁ`0õø)S/{ž³uáIEND®B`‚ \ No newline at end of file diff --git a/examples/web/models/models_obj_loading.html b/examples/web/models/models_obj_loading.html deleted file mode 100644 index fa5ac82..0000000 --- a/examples/web/models/models_obj_loading.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - -
-
Downloading...
- - - - - -
- -
-
- -
- -
- - - - - - - \ No newline at end of file diff --git a/examples/web/models/models_obj_loading.js b/examples/web/models/models_obj_loading.js deleted file mode 100644 index a0859d3..0000000 --- a/examples/web/models/models_obj_loading.js +++ /dev/null @@ -1,46720 +0,0 @@ - -var Module; - -if (typeof Module === 'undefined') Module = {}; - -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'models/models_obj_loading.data'; - var REMOTE_PACKAGE_BASE = 'models_obj_loading.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - - var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; - var PACKAGE_UUID = metadata.package_uuid; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onerror = function(event) { - throw new Error("NetworkError for: " + packageName); - } - xhr.onload = function(event) { - if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - var packageData = xhr.response; - callback(packageData); - } else { - throw new Error(xhr.statusText + " : " + xhr.responseURL); - } - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetchedCallback = null; - var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; - - if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } -Module['FS_createPath']('/', 'resources', true, true); -Module['FS_createPath']('/resources', 'model', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - } - }; - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); - } - - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_models/models_obj_loading.data'); - - }; - Module['addRunDependency']('datafile_models/models_obj_loading.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}], "remote_package_size": 4022872, "package_uuid": "73e63b86-f720-46b3-ac42-7f037bffef23"}); - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; - -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) - -if (Module['ENVIRONMENT']) { - if (Module['ENVIRONMENT'] === 'WEB') { - ENVIRONMENT_IS_WEB = true; - } else if (Module['ENVIRONMENT'] === 'WORKER') { - ENVIRONMENT_IS_WORKER = true; - } else if (Module['ENVIRONMENT'] === 'NODE') { - ENVIRONMENT_IS_NODE = true; - } else if (Module['ENVIRONMENT'] === 'SHELL') { - ENVIRONMENT_IS_SHELL = true; - } else { - throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); - } -} else { - ENVIRONMENT_IS_WEB = typeof window === 'object'; - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; - ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -} - - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function shell_read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(xhr.response); - }; - } - - 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)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function shell_print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = undefined; - - - -// {{PREAMBLE_ADDITIONS}} - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = Runtime.stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -/** @type {function(number, number, string, boolean=)} */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - -/** @type {function(number, string, boolean=)} */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -/** @type {function(number, number=)} */ -function Pointer_stringify(ptr, length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; -function UTF8ArrayToString(u8Array, idx) { - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - while (u8Array[endPtr]) ++endPtr; - - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; -function UTF16ToString(ptr) { - assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - while (HEAP16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - - -function UTF32ToString(ptr) { - assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - 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 : (x + ' [' + y + ']'); - }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - 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); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; -var ASMJS_PAGE_SIZE = 16777216; -var MIN_TOTAL_MEMORY = 16777216; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBuffer(buf) { - Module['buffer'] = buffer = buf; -} - -function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); -} - -var STATIC_BASE, STATICTOP, staticSealed; // static area -var STACK_BASE, STACKTOP, STACK_MAX; // stack area -var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk - - STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; - staticSealed = false; - - -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - assert((STACK_MAX & 3) == 0); - HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; - HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; -} - -function checkStackCookie() { - if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { - abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); - } - // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. - if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; -} - -function abortStackOverflow(allocSize) { - abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!'); -} - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 67108864; -if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, - 'JS engine does not provide full typed array support'); - - - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); -} else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); -} -updateGlobalBufferViews(); - - -function getTotalMemory() { - return TOTAL_MEMORY; -} - -// Endianness check (note: assumes compiler arch was little-endian) - HEAP32[0] = 0x63736d65; /* 'emsc' */ -HEAP16[1] = 0x6373; -if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Module['dynCall_v'](func); - } else { - Module['dynCall_vi'](func, callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - checkStackCookie(); - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - checkStackCookie(); - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated */ -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') - HEAP8.set(array, buffer); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]) }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = Runtime.GLOBAL_BASE; - -STATICTOP = STATIC_BASE + 24848; -/* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,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,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,15,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,15,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,15,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,15,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,15,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,15,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,15,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,15,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,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,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,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,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,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,205,204,12,64,0,0,128,63,0,0,128,63,46,186,232,62,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,128,191,20,0,0,0,255,255,255,255,255,255,255,255,0,1,0,0,255,255,255,255,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,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,36,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,7,93,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,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,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,111,98,106,32,109,111,100,101,108,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,5,5,4,0,2,3,7,0,3,3,11,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,46,103,105,102,0,114,98,0,46,104,100,114,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,111,110,108,121,32,51,32,99,104,97,110,110,101,108,32,51,50,32,98,105,116,32,102,108,111,97,116,115,41,0,46,100,100,115,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,111,117,116,111,102,109,101,109,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,35,63,82,65,68,73,65,78,67,69,0,35,63,82,71,66,69,0,110,111,116,32,72,68,82,0,70,79,82,77,65,84,61,51,50,45,98,105,116,95,114,108,101,95,114,103,98,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,111,114,109,97,116,0,45,89,32,0,117,110,115,117,112,112,111,114,116,101,100,32,100,97,116,97,32,108,97,121,111,117,116,0,43,88,32,0,105,110,118,97,108,105,100,32,100,101,99,111,100,101,100,32,115,99,97,110,108,105,110,101,32,108,101,110,103,116,104,0,99,111,114,114,117,112,116,0,35,63,82,65,68,73,65,78,67,69,10,0,35,63,82,71,66,69,10,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,37,50,105,32,70,80,83,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,56,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,59,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,0,99,111,108,68,105,102,102,117,115,101,0,116,101,120,116,117,114,101,48,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },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 frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - - - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - 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); }; - } - - // Extension available from Firefox 25 and WebKit - 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"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - 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 _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - 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); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var 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 { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - 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/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - 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++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },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 /* do not set timing and call scheduler, we will do it on the next lines */); - _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; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - 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; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - 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) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - 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(); // empty shim - 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); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - 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)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - 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) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - 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; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['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); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - 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) { - Module.printErr('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) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - 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 () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - 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(); - } // drop it on the floor otherwise, next interval will kick in - }, 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) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - 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); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - 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 () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['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; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function (event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function (event) { - GLFW.refreshJoysticks(); - },onKeydown:function (event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function (event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function (cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function () { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setDropCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.dropFunc = cbfun; - },onDrop:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data), { encoding: 'binary' }); - if (++written === count) { - Module['dynCall_viii'](GLFW.active.dropFunc, GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - 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 the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - 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) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - - var fd = process.stdin.fd; - if (isPosixPlatform) { - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - 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) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - 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') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - 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(); - // add the new node to the parent - 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; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - 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 = {}; - // device numbers reuse inode numbers. - 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); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - 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)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - 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) { - // reuse all of the core MEMFS functionality - 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) { - // check the cache first - 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; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var 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(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - 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); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - 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); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - // Issue 4254: Using curr as a node name will prevent the node - // from being found in FS.nameTable when FS.open is called on - // a path which holds a child of this node, - // given that all FS functions assume node names - // are just their corresponding parts within their given path, - // rather than incremental aggregates which include their parent's - // directories. - 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]; - } - // We also accept FileList here, by using Array.prototype - 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); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - 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(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=STATICTOP; STATICTOP += 16;; - - var _stdout=STATICTOP; STATICTOP += 16;; - - var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - 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) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - 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; // root node sets parent to itself - } - 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 = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - 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; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - 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); } - } - }); - } - // clone it, so we can return an instance of FSStream - 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); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(err) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(err); - } - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return doCallback(err); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - 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; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - 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 != ERRNO_CODES.EEXIST) throw e; - } - } - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - 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); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : 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) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - 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)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - 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)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - 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 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - 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'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - 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) { - // ignore EEXIST - } - 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; - } - // make sure we can write to the file - 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); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - 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() { - // Find length - 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; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - 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!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - 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; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - 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) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - 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); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - 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(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same 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; // no database to load from - 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; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - 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) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - - // Chromium does not fire the gamepadconnected event on reload, so we need to get the number of gamepads here as a workaround. - // See https://bugs.chromium.org/p/chromium/issues/detail?id=502824 - var firstState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null); - if (firstState) { - JSEvents.numGamepadsConnected = firstState.length; - } - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceMotionEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - 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 ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - 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 _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - // NOTE: offset_high is unused - Emscripten's off_t is 32-bit - var offset = offset_low; - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - 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 ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - 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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - - - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - - - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - - - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init(); -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 self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("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) }; -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; -JSEvents.staticInit();; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); - -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; - -staticSealed = true; // seal the static portion of memory - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_glVertexAttrib4f": _glVertexAttrib4f, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_glVertexAttrib3f": _glVertexAttrib3f, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glVertexAttrib2f": _glVertexAttrib2f, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { -'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_max=global.Math.max; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var enlargeMemory=env.enlargeMemory; - var getTotalMemory=env.getTotalMemory; - var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; - var abortStackOverflow=env.abortStackOverflow; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _glVertexAttrib4f=env._glVertexAttrib4f; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _glVertexAttrib3f=env._glVertexAttrib3f; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var ___syscall146=env.___syscall146; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glVertexAttrib2f=env._glVertexAttrib2f; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _llvm_pow_f64=env._llvm_pow_f64; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var ___syscall221=env.___syscall221; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS - -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $dwarf$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1232|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1232|0); - $dwarf$byval_copy = sp + 624|0; - $0 = sp + 20|0; - $1 = sp; - $2 = HEAP32[2]|0; - $3 = HEAP32[3]|0; - _InitWindow($2,$3,4424); - _LoadModel($0,4468); - _memcpy((18724|0),($0|0),604)|0; - _LoadTexture($1,4494); - ;HEAP32[19328>>2]=HEAP32[$1>>2]|0;HEAP32[19328+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19328+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19328+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19328+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(18988)>>2]=HEAP32[$1>>2]|0;HEAP32[(18988)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18988)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18988)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18988)+16>>2]=HEAP32[$1+16>>2]|0; - _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[19328>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[19328+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[19328+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[19328+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[19328+16>>2]|0; - _UnloadTexture($dwarf$byval_copy); - _memcpy(($dwarf$byval_copy|0),(18724|0),604)|0; - _UnloadModel($dwarf$byval_copy); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dwarf$byval_copy = 0, $position$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy2 = sp + 624|0; - $position$byval_copy = sp + 608|0; - $dwarf$byval_copy = sp; - $0 = sp + 668|0; - $1 = sp + 604|0; - $2 = sp + 664|0; - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $3 = ((($0)) + 1|0); - HEAP8[$3>>0] = -11; - $4 = ((($0)) + 2|0); - HEAP8[$4>>0] = -11; - $5 = ((($0)) + 3|0); - HEAP8[$5>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy2); - dest=$$byval_copy2; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy2); - HEAP32[$1>>2] = -1; - _memcpy(($dwarf$byval_copy|0),(18724|0),604)|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[18712>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[18712+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[18712+8>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$1+3>>0]|0; - _DrawModel($dwarf$byval_copy,$position$byval_copy,2.0,$$byval_copy2); - _DrawGrid(10,1.0); - ;HEAP32[$$byval_copy2>>2]=HEAP32[18712>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[18712+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[18712+8>>2]|0; - _DrawGizmo($$byval_copy2); - _End3dMode(); - $6 = HEAP32[2]|0; - $7 = (($6) + -200)|0; - $8 = HEAP32[3]|0; - $9 = (($8) + -20)|0; - HEAP8[$2>>0] = -126; - $10 = ((($2)) + 1|0); - HEAP8[$10>>0] = -126; - $11 = ((($2)) + 2|0); - HEAP8[$11>>0] = -126; - $12 = ((($2)) + 3|0); - HEAP8[$12>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(4528,$7,$9,10,$$byval_copy2); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; -} -function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; - var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; - var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; - var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; - var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; - var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; - var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; - var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; - var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; - var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; - var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; - var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; - var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; - var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; - var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; - var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; - var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; - var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; - var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; - var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; - var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; - var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; - var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; - var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; - var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; - var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; - var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; - var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; - var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; - var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; - var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; - var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; - var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; - var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; - var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; - var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; - var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; - var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; - var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; - var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; - var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; - var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; - var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; - var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; - var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; - var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; - var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; - var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; - var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; - var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; - var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; - var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; - var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; - var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; - var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; - var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; - var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; - var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; - var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; - var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; - var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; - var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; - var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; - var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; - var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; - var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; - var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; - var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; - var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; - var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; - var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; - var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; - var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; - var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; - var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; - var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $7 = sp + 64|0; - $8 = sp; - $9 = HEAP32[$2>>2]|0; - $10 = (($1) + ($9)|0); - $11 = HEAP32[$5>>2]|0; - $12 = (($4) + ($11)|0); - $13 = $6 & 4; - $14 = ($13|0)!=(0); - $15 = $4; - $16 = $3; - $17 = $16 ^ -1; - $18 = (($15) + ($17))|0; - $19 = (($18) + ($11))|0; - $$1753 = $14 ? -1 : $19; - $20 = (($$1753) + 1)|0; - $21 = $20 & $$1753; - $22 = ($21|0)!=(0); - $23 = ($4>>>0)<($3>>>0); - $or$cond1702 = $23 | $22; - if ($or$cond1702) { - HEAP32[$5>>2] = 0; - HEAP32[$2>>2] = 0; - $$0951 = -3; - STACKTOP = sp;return ($$0951|0); - } - $24 = ((($0)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 56|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($0)) + 60|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - L5: do { - switch ($36|0) { - case 0: { - $37 = ((($0)) + 12|0); - HEAP32[$37>>2] = 0; - $38 = ((($0)) + 8|0); - HEAP32[$38>>2] = 0; - $39 = ((($0)) + 28|0); - HEAP32[$39>>2] = 1; - $40 = ((($0)) + 16|0); - HEAP32[$40>>2] = 1; - $41 = $6 & 1; - $42 = ($41|0)==(0); - if ($42) { - $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; - label = 14; - } else { - $43 = ($9|0)<(1); - if ($43) { - $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; - label = 6; - } else { - $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; - label = 8; - } - } - break; - } - case 1: { - $46 = ($9|0)>(0); - if ($46) { - $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; - label = 8; - } else { - $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; - label = 6; - } - break; - } - case 2: { - $53 = ($9|0)>(0); - if ($53) { - $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; - label = 12; - } else { - $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; - label = 10; - } - break; - } - case 36: { - $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; - label = 243; - break; - } - case 3: { - $75 = ($9|0)>(0); - if ($75) { - $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; - label = 18; - } else { - $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; - label = 16; - } - break; - } - case 5: { - $90 = ($9|0)>(0); - if ($90) { - $91 = ((($1)) + 1|0); - $92 = HEAP8[$1>>0]|0; - $93 = $92&255; - $$01412 = $93;$$111518 = $91; - } else { - $88 = $6 & 2; - $89 = ($88|0)==(0); - if ($89) { - $$01412 = 0;$$111518 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; - label = 243; - break L5; - } - } - $94 = $$01412 << $25; - $95 = $94 | $27; - $96 = (($25) + 8)|0; - $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; - label = 25; - break; - } - case 6: { - $106 = ($9|0)>(0); - if ($106) { - $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; - label = 32; - } else { - $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; - label = 30; - } - break; - } - case 7: { - $120 = ($9|0)>(0); - if ($120) { - $121 = ((($1)) + 1|0); - $122 = HEAP8[$1>>0]|0; - $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; - label = 39; - } else { - $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; - label = 36; - } - break; - } - case 39: { - $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; - label = 43; - break; - } - case 51: { - $152 = ($9|0)>(0); - if ($152) { - $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; - label = 49; - } else { - $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; - label = 47; - } - break; - } - case 52: { - $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; - label = 52; - break; - } - case 9: { - $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; - label = 55; - break; - } - case 38: { - $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; - label = 56; - break; - } - case 40: { - $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; - label = 58; - break; - } - case 10: { - $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; - label = 60; - break; - } - case 11: { - $193 = ($9|0)>(0); - if ($193) { - $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; - label = 66; - } else { - $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; - label = 64; - } - break; - } - case 14: { - $224 = ($9|0)>(0); - if ($224) { - $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; - label = 75; - } else { - $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; - label = 73; - } - break; - } - case 35: { - $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; - label = 86; - break; - } - case 16: { - $452 = ($9|0)>(0); - if ($452) { - $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; - label = 116; - } else { - $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; - label = 114; - } - break; - } - case 17: { - $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; - label = 125; - break; - } - case 18: { - $503 = ($9|0)>(0); - if ($503) { - $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; - label = 130; - } else { - $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; - label = 128; - } - break; - } - case 21: { - $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; - label = 136; - break; - } - case 23: { - $572 = ($9|0)>(0); - if ($572) { - $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; - label = 153; - } else { - $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; - label = 151; - } - break; - } - case 24: { - $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; - label = 160; - break; - } - case 25: { - $696 = ($9|0)>(0); - if ($696) { - $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; - label = 182; - } else { - $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; - label = 180; - } - break; - } - case 26: { - $737 = ($9|0)>(0); - if ($737) { - $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; - label = 195; - } else { - $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; - label = 193; - } - break; - } - case 27: { - $784 = ($9|0)>(0); - if ($784) { - $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; - label = 206; - } else { - $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; - label = 204; - } - break; - } - case 37: { - $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; - label = 210; - break; - } - case 53: { - $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; - label = 213; - break; - } - case 32: { - $842 = ($9|0)>(0); - if ($842) { - $843 = ((($1)) + 1|0); - $844 = HEAP8[$1>>0]|0; - $845 = $844&255; - $$0949 = $845;$$881595 = $843; - } else { - $840 = $6 & 2; - $841 = ($840|0)==(0); - if ($841) { - $$0949 = 0;$$881595 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; - label = 243; - break L5; - } - } - $846 = $$0949 << $25; - $847 = $846 | $27; - $848 = (($25) + 8)|0; - $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; - label = 226; - break; - } - case 41: { - $858 = ($9|0)>(0); - if ($858) { - $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; - label = 233; - } else { - $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; - label = 231; - } - break; - } - case 42: { - $871 = ($9|0)>(0); - if ($871) { - $872 = ((($1)) + 1|0); - $873 = HEAP8[$1>>0]|0; - $874 = $873&255; - $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; - label = 241; - } else { - $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; - label = 237; - } - break; - } - case 34: { - $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; - label = 242; - break; - } - default: { - $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; - label = 244; - } - } - } while(0); - if ((label|0) == 6) { - $44 = $6 & 2; - $45 = ($44|0)==(0); - if ($45) { - $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; - label = 9; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; - label = 243; - } - } - else if ((label|0) == 8) { - $47 = ((($1)) + 1|0); - $48 = HEAP8[$1>>0]|0; - $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; - label = 9; - } - if ((label|0) == 9) { - $$sink3 = $$sink3$shrunk&255; - $49 = ((($0)) + 8|0); - HEAP32[$49>>2] = $$sink3; - $50 = ($$01507>>>0)<($10>>>0); - if ($50) { - $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; - label = 12; - } else { - $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; - label = 10; - } - } - if ((label|0) == 10) { - $51 = $6 & 2; - $52 = ($51|0)==(0); - if ($52) { - $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; - label = 13; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; - label = 243; - } - } - else if ((label|0) == 12) { - $54 = ((($$sink1705)) + 1|0); - $55 = HEAP8[$$sink1705>>0]|0; - $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; - label = 13; - } - if ((label|0) == 13) { - $$sink9 = $$sink9$shrunk&255; - $56 = ((($0)) + 12|0); - HEAP32[$56>>2] = $$sink9; - $57 = ((($0)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = $58 << 8; - $60 = $59 | $$sink9; - $61 = (($60>>>0) % 31)&-1; - $62 = $$sink9 & 32; - $63 = $61 | $62; - $64 = $58 & 15; - $65 = ($64|0)!=(8); - $not$ = ($63|0)!=(0); - $$1754 = $65 | $not$; - $66 = $58 >>> 4; - $67 = 256 << $66; - $68 = ($67>>>0)>(32768); - $69 = ($20>>>0)<($67>>>0); - $$ = $68 | $69; - $not$1755 = $14 ^ 1; - $70 = $$ & $not$1755; - $$31100$v = $70 | $$1754; - if ($$31100$v) { - $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; - label = 243; - } else { - $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; - label = 14; - } - } - L46: while(1) { - switch (label|0) { - case 14: { - label = 0; - $71 = ($$5>>>0)<(3); - if ($71) { - $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; - label = 15; - } else { - $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; - label = 20; - } - break; - } - case 16: { - label = 0; - $73 = $6 & 2; - $74 = ($73|0)==(0); - if ($74) { - $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; - label = 19; - } else { - $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; - label = 243; - continue L46; - } - break; - } - case 18: { - label = 0; - $76 = ((($$sink1710)) + 1|0); - $77 = HEAP8[$$sink1710>>0]|0; - $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; - label = 19; - break; - } - case 25: { - label = 0; - $97 = $$13 & 7; - $98 = $$131322 >>> $97; - $99 = (($$13) - ($97))|0; - $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; - label = 26; - break; - } - case 30: { - label = 0; - $104 = $6 & 2; - $105 = ($104|0)==(0); - if ($105) { - $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; - label = 33; - } else { - $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; - label = 243; - continue L46; - } - break; - } - case 32: { - label = 0; - $107 = ((($$sink1713)) + 1|0); - $108 = HEAP8[$$sink1713>>0]|0; - $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; - label = 33; - break; - } - case 36: { - label = 0; - $118 = $6 & 2; - $119 = ($118|0)==(0); - if ($119) { - $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; - label = 39; - continue L46; - } else { - $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; - label = 243; - continue L46; - } - break; - } - case 39: { - label = 0; - $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); - HEAP8[$$sink13>>0] = $$sink12; - $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; - label = 41; - break; - } - case 43: { - label = 0; - $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; - label = 243; - continue L46; - break; - } - case 47: { - label = 0; - $150 = $6 & 2; - $151 = ($150|0)==(0); - if ($151) { - $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; - label = 50; - } else { - $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; - label = 243; - continue L46; - } - break; - } - case 49: { - label = 0; - $153 = ((($$sink1716)) + 1|0); - $154 = HEAP8[$$sink1716>>0]|0; - $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; - label = 50; - break; - } - case 52: { - label = 0; - $162 = ($$231630>>>0)<($12>>>0); - if (!($162)) { - $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; - label = 243; - continue L46; - } - $163 = $$271018&255; - $164 = ((($$231630)) + 1|0); - HEAP8[$$231630>>0] = $163; - $165 = (($$271124) + -1)|0; - $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; - label = 44; - break; - } - case 55: { - label = 0; - $167 = ($$251632>>>0)<($12>>>0); - if ($167) { - $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; - label = 56; - continue L46; - } else { - $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; - label = 243; - continue L46; - } - break; - } - case 56: { - label = 0; - $168 = ($$301537>>>0)<($10>>>0); - if ($168) { - $171 = $12; - $172 = $$261633; - $173 = (($171) - ($172))|0; - $174 = $10; - $175 = $$301537; - $176 = (($174) - ($175))|0; - $177 = ($173>>>0)<($176>>>0); - $$sink17 = $177 ? $12 : $10; - $$sink16 = $177 ? $$261633 : $$301537; - $178 = $$sink17; - $179 = $$sink16; - $180 = (($178) - ($179))|0; - $181 = ($180>>>0)<($$301127>>>0); - $$$301127 = $181 ? $180 : $$301127; - _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; - $182 = (($$301537) + ($$$301127)|0); - $183 = (($$261633) + ($$$301127)|0); - $184 = (($$301127) - ($$$301127))|0; - $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; - label = 54; - break; - } else { - $169 = $6 & 2; - $170 = ($169|0)==(0); - if ($170) { - $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; - label = 58; - continue L46; - } else { - $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; - label = 243; - continue L46; - } - } - break; - } - case 58: { - label = 0; - $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; - label = 243; - continue L46; - break; - } - case 60: { - label = 0; - $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; - label = 243; - continue L46; - break; - } - case 64: { - label = 0; - $191 = $6 & 2; - $192 = ($191|0)==(0); - if ($192) { - $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; - label = 67; - } else { - $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; - label = 243; - continue L46; - } - break; - } - case 66: { - label = 0; - $194 = ((($$sink1719)) + 1|0); - $195 = HEAP8[$$sink1719>>0]|0; - $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; - label = 67; - break; - } - case 73: { - label = 0; - $222 = $6 & 2; - $223 = ($222|0)==(0); - if ($223) { - $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; - label = 76; - } else { - $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; - label = 243; - continue L46; - } - break; - } - case 75: { - label = 0; - $225 = ((($$sink1722)) + 1|0); - $226 = HEAP8[$$sink1722>>0]|0; - $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; - label = 76; - break; - } - case 86: { - label = 0; - $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; - label = 243; - continue L46; - break; - } - case 114: { - label = 0; - $450 = $6 & 2; - $451 = ($450|0)==(0); - if ($451) { - $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; - label = 117; - } else { - $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; - label = 243; - continue L46; - } - break; - } - case 116: { - label = 0; - $453 = ((($$sink1729)) + 1|0); - $454 = HEAP8[$$sink1729>>0]|0; - $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; - label = 117; - break; - } - case 125: { - label = 0; - $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; - label = 243; - continue L46; - break; - } - case 128: { - label = 0; - $501 = $6 & 2; - $502 = ($501|0)==(0); - if ($502) { - $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; - label = 131; - } else { - $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; - label = 243; - continue L46; - } - break; - } - case 130: { - label = 0; - $504 = ((($$sink1732)) + 1|0); - $505 = HEAP8[$$sink1732>>0]|0; - $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; - label = 131; - break; - } - case 136: { - label = 0; - $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; - label = 243; - continue L46; - break; - } - case 151: { - label = 0; - $570 = $6 & 2; - $571 = ($570|0)==(0); - if ($571) { - $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; - label = 154; - } else { - $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; - label = 243; - continue L46; - } - break; - } - case 153: { - label = 0; - $573 = ((($$sink1736)) + 1|0); - $574 = HEAP8[$$sink1736>>0]|0; - $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; - label = 154; - break; - } - case 160: { - label = 0; - $610 = ($$591666>>>0)<($12>>>0); - if (!($610)) { - $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; - label = 243; - continue L46; - } - $611 = $$621159&255; - $612 = ((($$591666)) + 1|0); - HEAP8[$$591666>>0] = $611; - $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; - label = 140; - break; - } - case 180: { - label = 0; - $694 = $6 & 2; - $695 = ($694|0)==(0); - if ($695) { - $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; - label = 183; - } else { - $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; - label = 243; - continue L46; - } - break; - } - case 182: { - label = 0; - $697 = ((($$sink1739)) + 1|0); - $698 = HEAP8[$$sink1739>>0]|0; - $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; - label = 183; - break; - } - case 193: { - label = 0; - $735 = $6 & 2; - $736 = ($735|0)==(0); - if ($736) { - $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; - label = 196; - } else { - $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; - label = 243; - continue L46; - } - break; - } - case 195: { - label = 0; - $738 = ((($$sink1743)) + 1|0); - $739 = HEAP8[$$sink1743>>0]|0; - $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; - label = 196; - break; - } - case 204: { - label = 0; - $782 = $6 & 2; - $783 = ($782|0)==(0); - if ($783) { - $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; - label = 207; - } else { - $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; - label = 243; - continue L46; - } - break; - } - case 206: { - label = 0; - $785 = ((($$sink1746)) + 1|0); - $786 = HEAP8[$$sink1746>>0]|0; - $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; - label = 207; - break; - } - case 210: { - label = 0; - $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; - label = 243; - continue L46; - break; - } - case 213: { - label = 0; - $809 = ($$781685>>>0)<($12>>>0); - if (!($809)) { - $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; - label = 243; - continue L46; - } - $810 = (($$751491) + 1)|0; - $811 = (($$751491) - ($$791070))|0; - $812 = $811 & $$1753; - $813 = (($3) + ($812)|0); - $814 = HEAP8[$813>>0]|0; - $815 = ((($$781685)) + 1|0); - HEAP8[$$781685>>0] = $814; - $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; - label = 212; - break; - } - case 226: { - label = 0; - $849 = $$90 & 7; - $850 = $$901399 >>> $849; - $851 = (($$90) - ($849))|0; - $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; - label = 227; - break; - } - case 231: { - label = 0; - $856 = $6 & 2; - $857 = ($856|0)==(0); - if ($857) { - $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; - label = 234; - } else { - $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; - label = 243; - continue L46; - } - break; - } - case 233: { - label = 0; - $859 = ((($$sink1750)) + 1|0); - $860 = HEAP8[$$sink1750>>0]|0; - $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; - label = 234; - break; - } - case 237: { - label = 0; - $869 = $6 & 2; - $870 = ($869|0)==(0); - if ($870) { - $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; - label = 241; - continue L46; - } else { - $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; - label = 243; - continue L46; - } - break; - } - case 241: { - label = 0; - $878 = ((($0)) + 16|0); - $879 = HEAP32[$878>>2]|0; - $880 = $879 << 8; - $881 = $880 | $$0948; - HEAP32[$878>>2] = $881; - $882 = (($$931190) + 1)|0; - $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; - label = 227; - break; - } - case 242: { - label = 0; - $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; - label = 243; - continue L46; - break; - } - case 243: { - label = 0; - HEAP32[$0>>2] = $$sink30; - $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; - label = 244; - continue L46; - break; - } - case 244: { - label = 0; - HEAP32[$24>>2] = $$100; - HEAP32[$26>>2] = $$1001409; - HEAP32[$28>>2] = $$941085; - HEAP32[$30>>2] = $$961193; - HEAP32[$32>>2] = $$961299; - HEAP32[$34>>2] = $$901506; - $883 = $$991606; - $884 = $1; - $885 = (($883) - ($884))|0; - HEAP32[$2>>2] = $885; - $886 = $$941701; - $887 = $4; - $888 = (($886) - ($887))|0; - HEAP32[$5>>2] = $888; - $889 = $6 & 9; - $890 = ($889|0)!=(0); - $891 = ($$1961|0)>(-1); - $or$cond29 = $890 & $891; - if ($or$cond29) { - break L46; - } else { - $$0951 = $$1961; - label = 258; - break L46; - } - break; - } - } - switch (label|0) { - case 19: { - label = 0; - $$01413 = $$01413$shrunk&255; - $78 = $$01413 << $$8; - $79 = $78 | $$81317; - $80 = (($$8) + 8)|0; - $81 = ($80>>>0)<(3); - if ($81) { - $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; - label = 15; - } else { - $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; - label = 20; - } - break; - } - case 33: { - label = 0; - $$01411 = $$01411$shrunk&255; - $109 = $$01411 << $$17; - $110 = $109 | $$171326; - $111 = (($$17) + 8)|0; - $112 = ($$17>>>0)>(4294967287); - if ($112) { - $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; - label = 29; - } else { - $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; - label = 34; - } - break; - } - case 50: { - label = 0; - $$01410 = $$01410$shrunk&255; - $155 = $$01410 << $$26; - $156 = $155 | $$261335; - $157 = (($$26) + 8)|0; - $158 = ($$26>>>0)>(4294967287); - if ($158) { - $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; - label = 46; - } else { - $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; - label = 51; - } - break; - } - case 67: { - label = 0; - $$01300 = $$01300$shrunk&255; - $196 = $$01300 << $$37; - $197 = $196 | $$371346; - $198 = (($$37) + 8)|0; - $199 = (4563 + ($$361133)|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200 << 24 >> 24; - $202 = ($198>>>0)<($201>>>0); - if ($202) { - $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; - label = 63; - } else { - $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; - label = 68; - } - break; - } - case 76: { - label = 0; - $$01202 = $$01202$shrunk&255; - $227 = $$01202 << $$42; - $228 = $227 | $$421351; - $229 = (($$42) + 8)|0; - $230 = ($229>>>0)<(3); - if ($230) { - $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; - label = 72; - } else { - $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; - label = 77; - } - break; - } - case 117: { - label = 0; - $$0980 = $$0980$shrunk&255; - $455 = $$0980 << $$49; - $456 = $455 | $$491358; - $457 = (($$49) + 8)|0; - $458 = ($457>>>0)<(15); - if ($458) { - $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; - label = 108; - } else { - $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; - label = 119; - } - break; - } - case 131: { - label = 0; - $$0979 = $$0979$shrunk&255; - $506 = $$0979 << $$54; - $507 = $506 | $$541363; - $508 = (($$54) + 8)|0; - $509 = ($508>>>0)<($$541257>>>0); - if ($509) { - $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; - label = 127; - } else { - $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; - label = 132; - } - break; - } - case 154: { - label = 0; - $$0971 = $$0971$shrunk&255; - $575 = $$0971 << $$62; - $576 = $575 | $$621371; - $577 = (($$62) + 8)|0; - $578 = ($577>>>0)<(15); - if ($578) { - $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; - label = 145; - } else { - $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; - label = 156; - } - break; - } - case 183: { - label = 0; - $$0959 = $$0959$shrunk&255; - $699 = $$0959 << $$71; - $700 = $699 | $$711380; - $701 = (($$71) + 8)|0; - $702 = ($701>>>0)<($$681271>>>0); - if ($702) { - $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; - label = 179; - } else { - $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; - label = 184; - } - break; - } - case 196: { - label = 0; - $$0952 = $$0952$shrunk&255; - $740 = $$0952 << $$76; - $741 = $740 | $$761385; - $742 = (($$76) + 8)|0; - $743 = ($742>>>0)<(15); - if ($743) { - $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; - label = 187; - } else { - $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; - label = 198; - } - break; - } - case 207: { - label = 0; - $$0950 = $$0950$shrunk&255; - $787 = $$0950 << $$80; - $788 = $787 | $$801389; - $789 = (($$80) + 8)|0; - $790 = ($789>>>0)<($$761279>>>0); - if ($790) { - $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; - label = 203; - } else { - $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; - label = 208; - } - break; - } - case 227: { - label = 0; - $852 = ($$871184>>>0)<(4); - if (!($852)) { - $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; - label = 242; - continue L46; - } - $853 = ($$91|0)==(0); - if (!($853)) { - $854 = ($$91>>>0)<(8); - if ($854) { - $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; - label = 230; - break; - } else { - $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; - label = 235; - break; - } - } - $868 = ($$901597>>>0)<($10>>>0); - if (!($868)) { - $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; - label = 237; - continue L46; - } - $875 = ((($$901597)) + 1|0); - $876 = HEAP8[$$901597>>0]|0; - $877 = $876&255; - $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; - label = 241; - continue L46; - break; - } - case 234: { - label = 0; - $$0947 = $$0947$shrunk&255; - $861 = $$0947 << $$94; - $862 = $861 | $$941403; - $863 = (($$94) + 8)|0; - $864 = ($$94>>>0)>(4294967287); - if ($864) { - $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; - label = 230; - } else { - $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; - label = 235; - } - break; - } - } - L119: do { - if ((label|0) == 15) { - label = 0; - $72 = ($$51512>>>0)<($10>>>0); - if ($72) { - $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; - label = 18; - continue L46; - } else { - $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; - label = 16; - continue L46; - } - } - else if ((label|0) == 20) { - label = 0; - $82 = $$91318 & 7; - $83 = ((($0)) + 20|0); - HEAP32[$83>>2] = $82; - $84 = $$91318 >>> 3; - $85 = (($$9) + -3)|0; - $86 = $82 >>> 1; - $87 = ((($0)) + 24|0); - HEAP32[$87>>2] = $86; - $trunc = $86&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; - label = 25; - continue L46; - break; - } - case 3: { - $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; - label = 60; - continue L46; - break; - } - case 1: { - break; - } - default: { - $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; - label = 61; - break L119; - } - } - $240 = ((($0)) + 44|0); - HEAP32[$240>>2] = 288; - $241 = ((($0)) + 48|0); - HEAP32[$241>>2] = 32; - $242 = ((($0)) + 3552|0); - ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; - $scevgep19611962 = ((($0)) + 64|0); - _memset(($scevgep19611962|0),8,144)|0; - $scevgep1959 = ((($0)) + 208|0); - dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1957 = ((($0)) + 320|0); - dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1955 = ((($0)) + 344|0); - $243 = $scevgep1955; - $244 = $243; - HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; - $245 = (($243) + 4)|0; - $246 = $245; - HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; - $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; - label = 80; - } - else if ((label|0) == 230) { - label = 0; - $855 = ($$911598>>>0)<($10>>>0); - if ($855) { - $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; - label = 233; - continue L46; - } else { - $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; - label = 231; - continue L46; - } - } - else if ((label|0) == 235) { - label = 0; - $865 = $$951404 & 255; - $866 = $$951404 >>> 8; - $867 = (($$95) + -8)|0; - $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; - label = 241; - continue L46; - } - } while(0); - L125: while(1) { - L126: switch (label|0) { - case 26: { - label = 0; - $100 = ($$131110>>>0)<(4); - if (!($100)) { - $127 = ((($0)) + 10528|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = ((($0)) + 10529|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 << 8; - $134 = $133 | $129; - $135 = ((($0)) + 10530|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = ((($0)) + 10531|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $140 << 8; - $142 = $141 | $137; - $143 = $142 ^ 65535; - $144 = ($134|0)==($143|0); - if ($144) { - $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; - label = 44; - continue L125; - } else { - $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; - label = 43; - continue L46; - } - } - $101 = ($$14|0)==(0); - if (!($101)) { - $102 = ($$14>>>0)<(8); - if ($102) { - $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; - label = 29; - continue L125; - } else { - $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; - label = 34; - continue L125; - } - } - $117 = ($$131520>>>0)<($10>>>0); - if (!($117)) { - $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; - label = 36; - continue L46; - } - $123 = ((($$131520)) + 1|0); - $124 = HEAP8[$$131520>>0]|0; - $125 = (((($0)) + 10528|0) + ($$131110)|0); - HEAP8[$125>>0] = $124; - $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; - label = 41; - continue L125; - break; - } - case 29: { - label = 0; - $103 = ($$141521>>>0)<($10>>>0); - if ($103) { - $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; - label = 32; - continue L46; - } else { - $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; - label = 30; - continue L46; - } - break; - } - case 34: { - label = 0; - $113 = $$181327&255; - $114 = (((($0)) + 10528|0) + ($$171114)|0); - HEAP8[$114>>0] = $113; - $115 = $$181327 >>> 8; - $116 = (($$18) + -8)|0; - $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; - label = 41; - continue L125; - break; - } - case 41: { - label = 0; - $126 = (($$201117) + 1)|0; - $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; - label = 26; - continue L125; - break; - } - case 44: { - label = 0; - $145 = ($$221119|0)!=(0); - $146 = ($$23|0)!=(0); - $147 = $145 & $146; - if (!($147)) { - $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; - label = 54; - continue L125; - } - $148 = ($$23>>>0)<(8); - if ($148) { - $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; - label = 46; - continue L125; - } else { - $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; - label = 51; - continue L125; - } - break; - } - case 46: { - label = 0; - $149 = ($$231530>>>0)<($10>>>0); - if ($149) { - $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; - label = 49; - continue L46; - } else { - $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; - label = 47; - continue L46; - } - break; - } - case 51: { - label = 0; - $159 = $$271336 & 255; - $160 = $$271336 >>> 8; - $161 = (($$27) + -8)|0; - $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; - label = 52; - continue L46; - break; - } - case 54: { - label = 0; - $166 = ($$281125|0)==(0); - if ($166) { - $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; - label = 220; - break L125; - } else { - $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; - label = 55; - continue L46; - } - break; - } - case 61: { - label = 0; - $185 = ($$331130>>>0)<(3); - if ($185) { - $186 = (4563 + ($$331130)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 << 24 >> 24; - $189 = ($$34>>>0)<($188>>>0); - if ($189) { - $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; - label = 63; - continue L125; - } else { - $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; - label = 68; - continue L125; - } - } else { - $216 = ((($0)) + 7040|0); - _memset(($216|0),0,288)|0; - $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; - label = 70; - break; - } - break; - } - case 63: { - label = 0; - $190 = ($$341541>>>0)<($10>>>0); - if ($190) { - $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; - label = 66; - continue L46; - } else { - $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; - label = 64; - continue L46; - } - break; - } - case 68: { - label = 0; - $203 = (4563 + ($$371134)|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204 << 24 >> 24; - $206 = 1 << $205; - $207 = (($206) + -1)|0; - $208 = $207 & $$381347; - $209 = (((($0)) + 44|0) + ($$371134<<2)|0); - $210 = $$381347 >>> $205; - $211 = (($$38) - ($205))|0; - $212 = (56 + ($$371134<<2)|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($208) + ($213))|0; - HEAP32[$209>>2] = $214; - $215 = (($$371134) + 1)|0; - $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; - label = 61; - continue L125; - break; - } - case 72: { - label = 0; - $221 = ($$391546>>>0)<($10>>>0); - if ($221) { - $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; - label = 75; - continue L46; - } else { - $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; - label = 73; - continue L46; - } - break; - } - case 77: { - label = 0; - $231 = $$431352 & 7; - $232 = $$431352 >>> 3; - $233 = (($$43) + -3)|0; - $234 = $231&255; - $235 = (7360 + ($$421139)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (((($0)) + 7040|0) + ($237)|0); - HEAP8[$238>>0] = $234; - $239 = (($$421139) + 1)|0; - $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; - label = 70; - break; - } - case 80: { - label = 0; - $247 = ((($0)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)>(-1); - if ($249) { - dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); - _memset(($250|0),0,3200)|0; - $251 = HEAP32[$247>>2]|0; - $252 = (((($0)) + 44|0) + ($251<<2)|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($253|0)==(0); - if (!($254)) { - $255 = HEAP32[$247>>2]|0; - $256 = (((($0)) + 44|0) + ($255<<2)|0); - $257 = HEAP32[$256>>2]|0; - $$010951864 = 0; - while(1) { - $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (($8) + ($260<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$261>>2] = $263; - $264 = (($$010951864) + 1)|0; - $265 = ($264>>>0)<($257>>>0); - if ($265) { - $$010951864 = $264; - } else { - break; - } - } - } - $266 = ((($7)) + 4|0); - HEAP32[$266>>2] = 0; - HEAP32[$7>>2] = 0; - $267 = ((($8)) + 4|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 << 1; - $270 = ((($7)) + 8|0); - HEAP32[$270>>2] = $269; - $271 = ((($8)) + 8|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) + ($268))|0; - $274 = (($272) + ($269))|0; - $275 = $274 << 1; - $276 = ((($7)) + 12|0); - HEAP32[$276>>2] = $275; - $277 = ((($8)) + 12|0); - $278 = HEAP32[$277>>2]|0; - $279 = (($278) + ($273))|0; - $280 = (($278) + ($275))|0; - $281 = $280 << 1; - $282 = ((($7)) + 16|0); - HEAP32[$282>>2] = $281; - $283 = ((($8)) + 16|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) + ($279))|0; - $286 = (($284) + ($281))|0; - $287 = $286 << 1; - $288 = ((($7)) + 20|0); - HEAP32[$288>>2] = $287; - $289 = ((($8)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + ($285))|0; - $292 = (($290) + ($287))|0; - $293 = $292 << 1; - $294 = ((($7)) + 24|0); - HEAP32[$294>>2] = $293; - $295 = ((($8)) + 24|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + ($291))|0; - $298 = (($296) + ($293))|0; - $299 = $298 << 1; - $300 = ((($7)) + 28|0); - HEAP32[$300>>2] = $299; - $301 = ((($8)) + 28|0); - $302 = HEAP32[$301>>2]|0; - $303 = (($302) + ($297))|0; - $304 = (($302) + ($299))|0; - $305 = $304 << 1; - $306 = ((($7)) + 32|0); - HEAP32[$306>>2] = $305; - $307 = ((($8)) + 32|0); - $308 = HEAP32[$307>>2]|0; - $309 = (($308) + ($303))|0; - $310 = (($308) + ($305))|0; - $311 = $310 << 1; - $312 = ((($7)) + 36|0); - HEAP32[$312>>2] = $311; - $313 = ((($8)) + 36|0); - $314 = HEAP32[$313>>2]|0; - $315 = (($314) + ($309))|0; - $316 = (($314) + ($311))|0; - $317 = $316 << 1; - $318 = ((($7)) + 40|0); - HEAP32[$318>>2] = $317; - $319 = ((($8)) + 40|0); - $320 = HEAP32[$319>>2]|0; - $321 = (($320) + ($315))|0; - $322 = (($320) + ($317))|0; - $323 = $322 << 1; - $324 = ((($7)) + 44|0); - HEAP32[$324>>2] = $323; - $325 = ((($8)) + 44|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($321))|0; - $328 = (($326) + ($323))|0; - $329 = $328 << 1; - $330 = ((($7)) + 48|0); - HEAP32[$330>>2] = $329; - $331 = ((($8)) + 48|0); - $332 = HEAP32[$331>>2]|0; - $333 = (($332) + ($327))|0; - $334 = (($332) + ($329))|0; - $335 = $334 << 1; - $336 = ((($7)) + 52|0); - HEAP32[$336>>2] = $335; - $337 = ((($8)) + 52|0); - $338 = HEAP32[$337>>2]|0; - $339 = (($338) + ($333))|0; - $340 = (($338) + ($335))|0; - $341 = $340 << 1; - $342 = ((($7)) + 56|0); - HEAP32[$342>>2] = $341; - $343 = ((($8)) + 56|0); - $344 = HEAP32[$343>>2]|0; - $345 = (($344) + ($339))|0; - $346 = (($344) + ($341))|0; - $347 = $346 << 1; - $348 = ((($7)) + 60|0); - HEAP32[$348>>2] = $347; - $349 = ((($8)) + 60|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) + ($345))|0; - $352 = (($350) + ($347))|0; - $353 = $352 << 1; - $354 = ((($7)) + 64|0); - HEAP32[$354>>2] = $353; - $355 = ($353|0)!=(65536); - $356 = ($351>>>0)>(1); - $or$cond = $355 & $356; - if ($or$cond) { - $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; - label = 86; - continue L46; - } - $357 = HEAP32[$247>>2]|0; - $358 = (((($0)) + 44|0) + ($357<<2)|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==(0); - if ($360) { - $$lcssa1779 = $357; - } else { - $$010911856 = 0;$$011971855 = -1; - while(1) { - $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($362<<24>>24)==(0); - L142: do { - if ($364) { - $$41201 = $$011971855; - } else { - $365 = (($7) + ($363<<2)|0); - $366 = HEAP32[$365>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$365>>2] = $367; - $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; - while(1) { - $368 = $$010881838 << 1; - $369 = $$010861840 & 1; - $370 = $369 | $368; - $371 = (($$010871839) + -1)|0; - $372 = $$010861840 >>> 1; - $373 = ($371|0)==(0); - if ($373) { - break; - } else { - $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; - } - } - $374 = ($362&255)<(11); - if ($374) { - $375 = $363 << 9; - $376 = $375 | $$010911856; - $377 = $376&65535; - $378 = ($370>>>0)<(1024); - if (!($378)) { - $$41201 = $$011971855; - break; - } - $379 = 1 << $363; - $$110891852 = $370; - while(1) { - $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); - HEAP16[$380>>1] = $377; - $381 = (($$110891852) + ($379))|0; - $382 = ($381>>>0)<(1024); - if ($382) { - $$110891852 = $381; - } else { - $$41201 = $$011971855; - break L142; - } - } - } - $383 = $370 & 1023; - $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); - $385 = HEAP16[$384>>1]|0; - $386 = $385 << 16 >> 16; - $387 = ($385<<16>>16)==(0); - if ($387) { - $388 = (($$011971855) + -2)|0; - $389 = $$011971855&65535; - HEAP16[$384>>1] = $389; - $$01194 = $$011971855;$$11198 = $388; - } else { - $$01194 = $386;$$11198 = $$011971855; - } - $390 = $$010881838 >>> 9; - $391 = ($362&255)>(11); - $392 = $390 & 1; - $393 = (($392) - ($$01194))|0; - $394 = (($393) + -1)|0; - if ($391) { - $395 = $390 & 4194303; - $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; - while(1) { - $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); - $398 = HEAP16[$396>>1]|0; - $399 = ($398<<16>>16)==(0); - if ($399) { - $400 = $$211991845&65535; - HEAP16[$396>>1] = $400; - $401 = (($$211991845) + -2)|0; - $$21196 = $$211991845;$$31200 = $401; - } else { - $402 = $398 << 16 >> 16; - $$21196 = $402;$$31200 = $$211991845; - } - $403 = (($$010941846) + -1)|0; - $404 = ($403>>>0)>(11); - $405 = $406 >>> 1; - $407 = $405 & 1; - $408 = (($407) - ($$21196))|0; - $409 = (($408) + -1)|0; - if ($404) { - $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; - } else { - $$21199$lcssa = $$31200;$$lcssa1778 = $409; - break; - } - } - } else { - $$21199$lcssa = $$11198;$$lcssa1778 = $394; - } - $410 = $$010911856&65535; - $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); - HEAP16[$411>>1] = $410; - $$41201 = $$21199$lcssa; - } - } while(0); - $412 = (($$010911856) + 1)|0; - $413 = HEAP32[$247>>2]|0; - $414 = (((($0)) + 44|0) + ($413<<2)|0); - $415 = HEAP32[$414>>2]|0; - $416 = ($412>>>0)<($415>>>0); - if ($416) { - $$010911856 = $412;$$011971855 = $$41201; - } else { - $$lcssa1779 = $413; - break; - } - } - } - $417 = ($$lcssa1779|0)==(2); - if ($417) { - $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; - label = 105; - } else { - $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; - label = 138; - } - } else { - $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; - label = 139; - } - break; - } - case 108: { - label = 0; - $429 = $$471356 & 1023; - $430 = (((($0)) + 7328|0) + ($429<<1)|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431 << 16 >> 16; - $433 = ($431<<16>>16)>(-1); - if ($433) { - $434 = $432 >> 9; - $435 = (($434) + -1)|0; - $436 = ($435>>>0)<($$47>>>0); - if ($436) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } else { - label = 113; - break L125; - } - } - $437 = ($$47>>>0)>(10); - if ($437) { - $$0981 = 10;$$0984 = $432; - } else { - label = 113; - break L125; - } - while(1) { - $438 = $$0984 ^ -1; - $439 = $$471356 >>> $$0981; - $440 = $439 & 1; - $441 = (($440) + ($438))|0; - $442 = (((($0)) + 9376|0) + ($441<<1)|0); - $443 = HEAP16[$442>>1]|0; - $444 = ($443<<16>>16)<(0); - if (!($444)) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } - $445 = (($$0981) + 1)|0; - $446 = $443 << 16 >> 16; - $447 = (($$0981) + 2)|0; - $448 = ($$47>>>0)<($447>>>0); - if ($448) { - label = 113; - break L125; - } else { - $$0981 = $445;$$0984 = $446; - } - } - break; - } - case 119: { - label = 0; - $471 = $$501359 & 1023; - $472 = (((($0)) + 7328|0) + ($471<<1)|0); - $473 = HEAP16[$472>>1]|0; - $474 = $473 << 16 >> 16; - $475 = ($473<<16>>16)>(-1); - if ($475) { - $476 = $474 >> 9; - $477 = $474 & 511; - $$2983 = $476;$$2986 = $477; - } else { - $$1982 = 10;$$1985 = $474; - while(1) { - $478 = $$1985 ^ -1; - $479 = (($$1982) + 1)|0; - $480 = $$501359 >>> $$1982; - $481 = $480 & 1; - $482 = (($481) + ($478))|0; - $483 = (((($0)) + 9376|0) + ($482<<1)|0); - $484 = HEAP16[$483>>1]|0; - $485 = $484 << 16 >> 16; - $486 = ($484<<16>>16)<(0); - if ($486) { - $$1982 = $479;$$1985 = $485; - } else { - $$2983 = $479;$$2986 = $485; - break; - } - } - } - $487 = $$501359 >>> $$2983; - $488 = (($$50) - ($$2983))|0; - $489 = ($$2986>>>0)<(16); - if ($489) { - $490 = $$2986&255; - $491 = (($$491146) + 1)|0; - $492 = (((($0)) + 10532|0) + ($$491146)|0); - HEAP8[$492>>0] = $490; - $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; - label = 105; - break; - } - $493 = ($$2986|0)!=(16); - $494 = ($$491146|0)!=(0); - $or$cond24 = $494 | $493; - if (!($or$cond24)) { - $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; - label = 125; - continue L46; - } - $495 = (($$2986) + -16)|0; - $496 = (4567 + ($495)|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497 << 24 >> 24; - $499 = ($488>>>0)<($498>>>0); - if ($499) { - $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; - label = 127; - continue L125; - } else { - $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; - label = 132; - continue L125; - } - break; - } - case 127: { - label = 0; - $500 = ($$511558>>>0)<($10>>>0); - if ($500) { - $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; - label = 130; - continue L46; - } else { - $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; - label = 128; - continue L46; - } - break; - } - case 132: { - label = 0; - $510 = 1 << $$551258; - $511 = (($510) + -1)|0; - $512 = $511 & $$551364; - $513 = $$551364 >>> $$551258; - $514 = (($$55) - ($$551258))|0; - $515 = (($$531044) + -16)|0; - $516 = (4571 + ($515)|0); - $517 = HEAP8[$516>>0]|0; - $518 = $517 << 24 >> 24; - $519 = (($518) + ($512))|0; - $520 = (((($0)) + 10532|0) + ($$541151)|0); - $521 = ($$531044|0)==(16); - if ($521) { - $522 = (($$541151) + -1)|0; - $523 = (((($0)) + 10532|0) + ($522)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - _memset(($520|0),($526|0),($519|0))|0; - $528 = (($519) + ($$541151))|0; - $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; - label = 105; - break; - } - case 140: { - label = 0; - $539 = $10; - $540 = $$581565$ph; - $541 = (($539) - ($540))|0; - $542 = ($541|0)<(4); - $543 = ($$59$ph>>>0)<(15); - L241: do { - if ($542) { - $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; - } else { - $544 = $12; - $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; - while(1) { - $545 = $$5416611868; - $546 = (($544) - ($545))|0; - $547 = ($546|0)<(2); - if ($547) { - $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; - break L241; - } - if ($965) { - $613 = HEAP8[$$5815651869>>0]|0; - $614 = $613&255; - $615 = ((($$5815651869)) + 1|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $618 = $617 << 8; - $619 = $618 | $614; - $620 = $619 << $$591872; - $621 = $620 | $$5913681870; - $622 = ((($$5815651869)) + 2|0); - $623 = (($$591872) + 16)|0; - $$641571 = $622;$$65 = $623;$$651374 = $621; - } else { - $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; - } - $624 = $$651374 & 1023; - $625 = (((($0)) + 352|0) + ($624<<1)|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626 << 16 >> 16; - $628 = ($626<<16>>16)>(-1); - if ($628) { - $629 = $627 >> 9; - $$1964 = $629;$$1968 = $627; - } else { - $$0963 = 10;$$0967 = $627; - while(1) { - $630 = $$0967 ^ -1; - $631 = (($$0963) + 1)|0; - $632 = $$651374 >>> $$0963; - $633 = $632 & 1; - $634 = (($633) + ($630))|0; - $635 = (((($0)) + 2400|0) + ($634<<1)|0); - $636 = HEAP16[$635>>1]|0; - $637 = $636 << 16 >> 16; - $638 = ($636<<16>>16)<(0); - if ($638) { - $$0963 = $631;$$0967 = $637; - } else { - $$1964 = $631;$$1968 = $637; - break; - } - } - } - $639 = $$651374 >>> $$1964; - $640 = (($$65) - ($$1964))|0; - $641 = $$1968 & 256; - $642 = ($641|0)==(0); - if (!($642)) { - $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; - label = 176; - break L126; - } - $643 = ($640>>>0)<(15); - if ($643) { - $644 = HEAP8[$$641571>>0]|0; - $645 = $644&255; - $646 = ((($$641571)) + 1|0); - $647 = HEAP8[$646>>0]|0; - $648 = $647&255; - $649 = $648 << 8; - $650 = $649 | $645; - $651 = $650 << $640; - $652 = $651 | $639; - $653 = ((($$641571)) + 2|0); - $654 = (($640) + 16)|0; - $$651572 = $653;$$66 = $654;$$661375 = $652; - } else { - $$651572 = $$641571;$$66 = $640;$$661375 = $639; - } - $655 = $$661375 & 1023; - $656 = (((($0)) + 352|0) + ($655<<1)|0); - $657 = HEAP16[$656>>1]|0; - $658 = $657 << 16 >> 16; - $659 = ($657<<16>>16)>(-1); - if ($659) { - $660 = $658 >> 9; - $$3966 = $660;$$3970 = $658; - } else { - $$2965 = 10;$$2969 = $658; - while(1) { - $661 = $$2969 ^ -1; - $662 = (($$2965) + 1)|0; - $663 = $$661375 >>> $$2965; - $664 = $663 & 1; - $665 = (($664) + ($661))|0; - $666 = (((($0)) + 2400|0) + ($665<<1)|0); - $667 = HEAP16[$666>>1]|0; - $668 = $667 << 16 >> 16; - $669 = ($667<<16>>16)<(0); - if ($669) { - $$2965 = $662;$$2969 = $668; - } else { - $$3966 = $662;$$3970 = $668; - break; - } - } - } - $670 = $$661375 >>> $$3966; - $671 = (($$66) - ($$3966))|0; - $672 = $$1968&255; - HEAP8[$$5416611868>>0] = $672; - $673 = $$3970 & 256; - $674 = ($673|0)==(0); - if (!($674)) { - break; - } - $676 = $$3970&255; - $677 = ((($$5416611868)) + 1|0); - HEAP8[$677>>0] = $676; - $678 = ((($$5416611868)) + 2|0); - $679 = $$651572; - $680 = (($539) - ($679))|0; - $681 = ($680|0)<(4); - $682 = ($671>>>0)<(15); - if ($681) { - $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; - break L241; - } else { - $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; - } - } - $675 = ((($$5416611868)) + 1|0); - $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; - label = 176; - break L126; - } - } while(0); - if (!($$lcssa1799)) { - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; - label = 156; - continue L125; - } - $548 = ($$lcssa1802|0)<(2); - if ($548) { - $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; - label = 145; - continue L125; - } - $579 = HEAP8[$$581565$lcssa>>0]|0; - $580 = $579&255; - $581 = $580 << $$59$lcssa; - $582 = ((($$581565$lcssa)) + 1|0); - $583 = HEAP8[$582>>0]|0; - $584 = $583&255; - $585 = (($$59$lcssa) + 8)|0; - $586 = $584 << $585; - $587 = $581 | $$591368$lcssa; - $588 = $587 | $586; - $589 = ((($$581565$lcssa)) + 2|0); - $590 = (($$59$lcssa) + 16)|0; - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; - label = 156; - continue L125; - break; - } - case 145: { - label = 0; - $549 = $$601369 & 1023; - $550 = (((($0)) + 352|0) + ($549<<1)|0); - $551 = HEAP16[$550>>1]|0; - $552 = $551 << 16 >> 16; - $553 = ($551<<16>>16)>(-1); - if ($553) { - $554 = $552 >> 9; - $555 = (($554) + -1)|0; - $556 = ($555>>>0)<($$60>>>0); - if ($556) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } else { - label = 150; - break L125; - } - } - $557 = ($$60>>>0)>(10); - if ($557) { - $$0972 = 10;$$0975 = $552; - } else { - label = 150; - break L125; - } - while(1) { - $558 = $$0975 ^ -1; - $559 = $$601369 >>> $$0972; - $560 = $559 & 1; - $561 = (($560) + ($558))|0; - $562 = (((($0)) + 2400|0) + ($561<<1)|0); - $563 = HEAP16[$562>>1]|0; - $564 = ($563<<16>>16)<(0); - if (!($564)) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } - $565 = (($$0972) + 1)|0; - $566 = $563 << 16 >> 16; - $567 = (($$0972) + 2)|0; - $568 = ($$60>>>0)<($567>>>0); - if ($568) { - label = 150; - break L125; - } else { - $$0972 = $565;$$0975 = $566; - } - } - break; - } - case 156: { - label = 0; - $591 = $$631372 & 1023; - $592 = (((($0)) + 352|0) + ($591<<1)|0); - $593 = HEAP16[$592>>1]|0; - $594 = $593 << 16 >> 16; - $595 = ($593<<16>>16)>(-1); - if ($595) { - $596 = $594 >> 9; - $597 = $594 & 511; - $$2974 = $596;$$2977 = $597; - } else { - $$1973 = 10;$$1976 = $594; - while(1) { - $598 = $$1976 ^ -1; - $599 = (($$1973) + 1)|0; - $600 = $$631372 >>> $$1973; - $601 = $600 & 1; - $602 = (($601) + ($598))|0; - $603 = (((($0)) + 2400|0) + ($602<<1)|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = ($604<<16>>16)<(0); - if ($606) { - $$1973 = $599;$$1976 = $605; - } else { - $$2974 = $599;$$2977 = $605; - break; - } - } - } - $607 = $$631372 >>> $$2974; - $608 = (($$63) - ($$2974))|0; - $609 = ($$2977>>>0)>(255); - if ($609) { - $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; - label = 176; - } else { - $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; - label = 160; - continue L46; - } - break; - } - case 179: { - label = 0; - $693 = ($$681575>>>0)<($10>>>0); - if ($693) { - $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; - label = 182; - continue L46; - } else { - $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; - label = 180; - continue L46; - } - break; - } - case 184: { - label = 0; - $703 = 1 << $$691272; - $704 = (($703) + -1)|0; - $705 = $704 & $$721381; - $706 = $$721381 >>> $$691272; - $707 = (($$72) - ($$691272))|0; - $708 = (($705) + ($$681165))|0; - $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; - label = 185; - break; - } - case 187: { - label = 0; - $714 = $$741383 & 1023; - $715 = (((($0)) + 3840|0) + ($714<<1)|0); - $716 = HEAP16[$715>>1]|0; - $717 = $716 << 16 >> 16; - $718 = ($716<<16>>16)>(-1); - if ($718) { - $719 = $717 >> 9; - $720 = (($719) + -1)|0; - $721 = ($720>>>0)<($$74>>>0); - if ($721) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } else { - label = 192; - break L125; - } - } - $722 = ($$74>>>0)>(10); - if ($722) { - $$0953 = 10;$$0956 = $717; - } else { - label = 192; - break L125; - } - while(1) { - $723 = $$0956 ^ -1; - $724 = $$741383 >>> $$0953; - $725 = $724 & 1; - $726 = (($725) + ($723))|0; - $727 = (((($0)) + 5888|0) + ($726<<1)|0); - $728 = HEAP16[$727>>1]|0; - $729 = ($728<<16>>16)<(0); - if (!($729)) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } - $730 = (($$0953) + 1)|0; - $731 = $728 << 16 >> 16; - $732 = (($$0953) + 2)|0; - $733 = ($$74>>>0)<($732>>>0); - if ($733) { - label = 192; - break L125; - } else { - $$0953 = $730;$$0956 = $731; - } - } - break; - } - case 198: { - label = 0; - $756 = $$771386 & 1023; - $757 = (((($0)) + 3840|0) + ($756<<1)|0); - $758 = HEAP16[$757>>1]|0; - $759 = $758 << 16 >> 16; - $760 = ($758<<16>>16)>(-1); - if ($760) { - $761 = $759 >> 9; - $762 = $759 & 511; - $$2955 = $761;$$2958 = $762; - } else { - $$1954 = 10;$$1957 = $759; - while(1) { - $763 = $$1957 ^ -1; - $764 = (($$1954) + 1)|0; - $765 = $$771386 >>> $$1954; - $766 = $765 & 1; - $767 = (($766) + ($763))|0; - $768 = (((($0)) + 5888|0) + ($767<<1)|0); - $769 = HEAP16[$768>>1]|0; - $770 = $769 << 16 >> 16; - $771 = ($769<<16>>16)<(0); - if ($771) { - $$1954 = $764;$$1957 = $770; - } else { - $$2955 = $764;$$2958 = $770; - break; - } - } - } - $772 = $$771386 >>> $$2955; - $773 = (($$77) - ($$2955))|0; - $774 = (3516 + ($$2958<<2)|0); - $775 = HEAP32[$774>>2]|0; - $776 = (3388 + ($$2958<<2)|0); - $777 = HEAP32[$776>>2]|0; - $778 = (($$2958) + -4)|0; - $779 = ($778>>>0)<(26); - if ($779) { - $780 = ($773>>>0)<($775>>>0); - if ($780) { - $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; - label = 203; - continue L125; - } else { - $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; - label = 208; - continue L125; - } - } else { - $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; - label = 209; - } - break; - } - case 203: { - label = 0; - $781 = ($$771584>>>0)<($10>>>0); - if ($781) { - $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; - label = 206; - continue L46; - } else { - $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; - label = 204; - continue L46; - } - break; - } - case 208: { - label = 0; - $791 = 1 << $$771280; - $792 = (($791) + -1)|0; - $793 = $792 & $$811390; - $794 = $$811390 >>> $$771280; - $795 = (($$81) - ($$771280))|0; - $796 = (($793) + ($$751066))|0; - $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; - label = 209; - break; - } - case 212: { - label = 0; - $807 = (($$801177) + -1)|0; - $808 = ($$801177|0)==(0); - if ($808) { - $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; - label = 139; - } else { - $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; - label = 213; - continue L46; - } - break; - } - } - do { - if ((label|0) == 70) { - label = 0; - $217 = ((($0)) + 52|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($$381135>>>0)<($218>>>0); - if ($219) { - $220 = ($$39>>>0)<(3); - if ($220) { - $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; - label = 72; - continue L125; - } else { - $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; - label = 77; - continue L125; - } - } else { - HEAP32[$217>>2] = 19; - $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; - label = 80; - continue L125; - } - } - else if ((label|0) == 105) { - label = 0; - $418 = ((($0)) + 44|0); - $419 = HEAP32[$418>>2]|0; - $420 = ((($0)) + 48|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + ($419))|0; - $423 = ($$451142>>>0)<($422>>>0); - if (!($423)) { - $529 = ($422|0)==($$451142|0); - if (!($529)) { - $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; - label = 136; - continue L46; - } - $530 = ((($0)) + 64|0); - $531 = ((($0)) + 10532|0); - _memcpy(($530|0),($531|0),($419|0))|0; - $532 = ((($0)) + 3552|0); - $533 = HEAP32[$418>>2]|0; - $534 = (((($0)) + 10532|0) + ($533)|0); - $535 = HEAP32[$420>>2]|0; - _memcpy(($532|0),($534|0),($535|0))|0; - $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; - label = 138; - break; - } - $424 = ($$46>>>0)<(15); - if (!($424)) { - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; - label = 119; - continue L125; - } - $425 = $10; - $426 = $$451552; - $427 = (($425) - ($426))|0; - $428 = ($427|0)<(2); - if ($428) { - $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; - label = 108; - continue L125; - } - $459 = HEAP8[$$451552>>0]|0; - $460 = $459&255; - $461 = $460 << $$46; - $462 = ((($$451552)) + 1|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = (($$46) + 8)|0; - $466 = $464 << $465; - $467 = $461 | $$461355; - $468 = $467 | $466; - $469 = ((($$451552)) + 2|0); - $470 = (($$46) + 16)|0; - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; - label = 119; - continue L125; - } - else if ((label|0) == 176) { - label = 0; - $683 = $$641161 & 511; - $684 = ($683|0)==(256); - if ($684) { - $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; - label = 220; - break L125; - } - $685 = (($683) + -257)|0; - $686 = (3264 + ($685<<2)|0); - $687 = HEAP32[$686>>2]|0; - $688 = (3140 + ($685<<2)|0); - $689 = HEAP32[$688>>2]|0; - $690 = (($683) + -265)|0; - $691 = ($690>>>0)<(20); - if ($691) { - $692 = ($$68>>>0)<($687>>>0); - if ($692) { - $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; - label = 179; - continue L125; - } else { - $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; - label = 184; - continue L125; - } - } else { - $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; - label = 185; - } - } - else if ((label|0) == 209) { - label = 0; - $797 = $$751682; - $798 = $3; - $799 = (($797) - ($798))|0; - $$not = ($799>>>0)>=($$761067>>>0); - $$not1747 = $14 ^ 1; - $brmerge = $$not | $$not1747; - if (!($brmerge)) { - $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; - label = 210; - continue L46; - } - $800 = (($799) - ($$761067))|0; - $801 = $800 & $$1753; - $802 = (($3) + ($801)|0); - $803 = ($$751682>>>0)>($802>>>0); - $804 = $803 ? $$751682 : $802; - $805 = (($804) + ($$781175)|0); - $806 = ($805>>>0)>($12>>>0); - if ($806) { - $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; - label = 212; - continue L125; - } else { - $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; - } - while(1) { - $816 = HEAP8[$$0978>>0]|0; - HEAP8[$$791686>>0] = $816; - $817 = ((($$0978)) + 1|0); - $818 = HEAP8[$817>>0]|0; - $819 = ((($$791686)) + 1|0); - HEAP8[$819>>0] = $818; - $820 = ((($$0978)) + 2|0); - $821 = HEAP8[$820>>0]|0; - $822 = ((($$791686)) + 2|0); - HEAP8[$822>>0] = $821; - $823 = ((($$791686)) + 3|0); - $824 = ((($$0978)) + 3|0); - $825 = (($$821179) + -3)|0; - $826 = ($825|0)>(2); - if ($826) { - $$0978 = $824;$$791686 = $823;$$821179 = $825; - } else { - break; - } - } - $827 = ($825|0)>(0); - if ($827) { - $828 = HEAP8[$824>>0]|0; - HEAP8[$823>>0] = $828; - $829 = ($825|0)==(1); - if (!($829)) { - $830 = ((($$0978)) + 4|0); - $831 = HEAP8[$830>>0]|0; - $832 = ((($$791686)) + 4|0); - HEAP8[$832>>0] = $831; - } - $833 = (($823) + ($825)|0); - $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } else { - $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } - } - } while(0); - if ((label|0) == 138) { - label = 0; - $536 = ((($0)) + 24|0); - $537 = HEAP32[$536>>2]|0; - $538 = (($537) + -1)|0; - HEAP32[$536>>2] = $538; - $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; - label = 80; - continue; - } - else if ((label|0) == 139) { - label = 0; - $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; - label = 140; - continue; - } - else if ((label|0) == 185) { - label = 0; - $709 = ($$73>>>0)<(15); - if (!($709)) { - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; - label = 198; - continue; - } - $710 = $10; - $711 = $$721579; - $712 = (($710) - ($711))|0; - $713 = ($712|0)<(2); - if ($713) { - $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; - label = 187; - continue; - } - $744 = HEAP8[$$721579>>0]|0; - $745 = $744&255; - $746 = $745 << $$73; - $747 = ((($$721579)) + 1|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748&255; - $750 = (($$73) + 8)|0; - $751 = $749 << $750; - $752 = $746 | $$731382; - $753 = $752 | $751; - $754 = ((($$721579)) + 2|0); - $755 = (($$73) + 16)|0; - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; - label = 198; - continue; - } - } - if ((label|0) == 113) { - label = 0; - $449 = ($$461553>>>0)<($10>>>0); - if ($449) { - $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; - label = 116; - continue; - } else { - $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; - label = 114; - continue; - } - } - else if ((label|0) == 150) { - label = 0; - $569 = ($$591566>>>0)<($10>>>0); - if ($569) { - $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; - label = 153; - continue; - } else { - $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; - label = 151; - continue; - } - } - else if ((label|0) == 192) { - label = 0; - $734 = ($$731580>>>0)<($10>>>0); - if ($734) { - $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; - label = 195; - continue; - } else { - $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; - label = 193; - continue; - } - } - else if ((label|0) == 220) { - label = 0; - $834 = ((($0)) + 20|0); - $835 = HEAP32[$834>>2]|0; - $836 = $835 & 1; - $837 = ($836|0)==(0); - if ($837) { - $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; - label = 14; - continue; - } - $838 = $6 & 1; - $839 = ($838|0)==(0); - if ($839) { - $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; - label = 242; - continue; - } else { - $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; - label = 226; - continue; - } - } - } - if ((label|0) == 258) { - STACKTOP = sp;return ($$0951|0); - } - $892 = ((($0)) + 28|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & 65535; - $895 = $893 >>> 16; - $896 = ($888|0)==(0); - if ($896) { - $$0937$lcssa = $895;$$0938$lcssa = $894; - } else { - $897 = (($888>>>0) % 5552)&-1; - $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; - while(1) { - $898 = ($$01834>>>0)>(7); - if ($898) { - $899 = (($$01834) + -8)|0; - $900 = $899 & -8; - $scevgep = ((($$09441830)) + 8|0); - $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; - while(1) { - $904 = HEAP8[$$19451815>>0]|0; - $905 = $904&255; - $906 = (($905) + ($$19391817))|0; - $907 = (($906) + ($$11818))|0; - $908 = ((($$19451815)) + 1|0); - $909 = HEAP8[$908>>0]|0; - $910 = $909&255; - $911 = (($906) + ($910))|0; - $912 = (($907) + ($911))|0; - $913 = ((($$19451815)) + 2|0); - $914 = HEAP8[$913>>0]|0; - $915 = $914&255; - $916 = (($911) + ($915))|0; - $917 = (($912) + ($916))|0; - $918 = ((($$19451815)) + 3|0); - $919 = HEAP8[$918>>0]|0; - $920 = $919&255; - $921 = (($916) + ($920))|0; - $922 = (($917) + ($921))|0; - $923 = ((($$19451815)) + 4|0); - $924 = HEAP8[$923>>0]|0; - $925 = $924&255; - $926 = (($921) + ($925))|0; - $927 = (($922) + ($926))|0; - $928 = ((($$19451815)) + 5|0); - $929 = HEAP8[$928>>0]|0; - $930 = $929&255; - $931 = (($926) + ($930))|0; - $932 = (($927) + ($931))|0; - $933 = ((($$19451815)) + 6|0); - $934 = HEAP8[$933>>0]|0; - $935 = $934&255; - $936 = (($931) + ($935))|0; - $937 = (($932) + ($936))|0; - $938 = ((($$19451815)) + 7|0); - $939 = HEAP8[$938>>0]|0; - $940 = $939&255; - $941 = (($936) + ($940))|0; - $942 = (($937) + ($941))|0; - $943 = (($$09411816) + 8)|0; - $944 = ((($$19451815)) + 8|0); - $945 = $943 | 7; - $946 = ($945>>>0)<($$01834>>>0); - if ($946) { - $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; - } else { - break; - } - } - $901 = (($900) + 8)|0; - $scevgep1947 = (($scevgep) + ($900)|0); - $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; - } else { - $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; - } - $902 = ($$01834>>>0)>($$0941$lcssa>>>0); - if ($902) { - $903 = (($$01834) - ($$0941$lcssa))|0; - $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; - while(1) { - $947 = ((($$29461822)) + 1|0); - $948 = HEAP8[$$29461822>>0]|0; - $949 = $948&255; - $950 = (($949) + ($$29401824))|0; - $951 = (($950) + ($$21825))|0; - $952 = (($$19421823) + 1)|0; - $exitcond = ($952|0)==($$01834|0); - if ($exitcond) { - break; - } else { - $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; - } - } - $scevgep1948 = (($$1945$lcssa) + ($903)|0); - $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; - } else { - $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; - } - $953 = (($$2940$lcssa>>>0) % 65521)&-1; - $954 = (($$2$lcssa>>>0) % 65521)&-1; - $955 = (($$09431831) - ($$01834))|0; - $956 = ($955|0)==(0); - if ($956) { - $$0937$lcssa = $954;$$0938$lcssa = $953; - break; - } else { - $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; - } - } - } - $957 = $$0937$lcssa << 16; - $958 = $957 | $$0938$lcssa; - HEAP32[$892>>2] = $958; - $959 = ($$1961|0)!=(0); - $960 = $6 & 1; - $961 = ($960|0)==(0); - $or$cond1752 = $961 | $959; - if ($or$cond1752) { - $$0951 = $$1961; - STACKTOP = sp;return ($$0951|0); - } else { - $962 = ((($0)) + 16|0); - $963 = HEAP32[$962>>2]|0; - $964 = ($958|0)==($963|0); - $$1961$ = $964 ? $$1961 : -2; - STACKTOP = sp;return ($$1961$|0); - } - return (0)|0; -} -function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); - $5 = sp + 11000|0; - $6 = sp; - $7 = sp + 8|0; - HEAP32[$5>>2] = $1; - HEAP32[$6>>2] = $3; - HEAP32[$7>>2] = 0; - $8 = $4 & -7; - $9 = $8 | 4; - $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); - $11 = ($10|0)!=(0); - $12 = HEAP32[$5>>2]|0; - $13 = $11 ? -1 : $12; - STACKTOP = sp;return ($13|0); -} -function _LoadResource($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$05664 = 0, $$05763 = 0, $$065 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0; - var $or$cond60 = 0, $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 64|0; - $3 = sp + 32|0; - $4 = (_fopen($0,5650)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(1,4575,$vararg_buffer); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - (_fread($2,1,1,$4)|0); - $6 = ((($2)) + 1|0); - (_fread($6,1,1,$4)|0); - $7 = ((($2)) + 2|0); - (_fread($7,1,1,$4)|0); - $8 = ((($2)) + 3|0); - (_fread($8,1,1,$4)|0); - $9 = ((($2)) + 4|0); - (_fread($9,2,1,$4)|0); - $10 = ((($2)) + 6|0); - (_fread($10,2,1,$4)|0); - $11 = HEAP8[$2>>0]|0; - $12 = ($11<<24>>24)==(114); - $13 = HEAP8[$6>>0]|0; - $14 = ($13<<24>>24)==(82); - $or$cond = $12 | $14; - $15 = HEAP8[$7>>0]|0; - $16 = ($15<<24>>24)==(69); - $or$cond60 = $or$cond | $16; - $17 = HEAP8[$8>>0]|0; - $18 = ($17<<24>>24)==(83); - $or$cond62 = $or$cond60 | $18; - if ($or$cond62) { - $19 = HEAP16[$10>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $$0$lcssa = 0; - } else { - $21 = ((($3)) + 7|0); - $22 = ((($3)) + 4|0); - $23 = ((($3)) + 16|0); - $24 = ((($3)) + 20|0); - $25 = ((($3)) + 24|0); - $26 = ((($3)) + 28|0); - $27 = ((($3)) + 8|0); - $28 = ((($3)) + 5|0); - $29 = ((($3)) + 12|0); - $30 = HEAP16[$10>>1]|0; - $31 = $30&65535; - $32 = ((($3)) + 8|0); - $$05664 = 0;$$065 = 0; - while(1) { - (_fread($3,32,1,$4)|0); - $36 = HEAP32[$3>>2]|0; - $37 = ($36|0)==($1|0); - if ($37) { - $38 = HEAP8[$21>>0]|0; - $39 = $38&255; - $40 = ($39*24)|0; - $41 = (_malloc($40)|0); - $42 = ($38<<24>>24)==(0); - if ($42) { - $$1 = $41; - } else { - $$05763 = 0; - while(1) { - $43 = HEAP8[$22>>0]|0; - $44 = $43&255; - $45 = (($41) + (($$05763*24)|0)|0); - HEAP32[$45>>2] = $44; - $46 = HEAP32[$23>>2]|0; - $47 = (((($41) + (($$05763*24)|0)|0)) + 4|0); - HEAP32[$47>>2] = $46; - $48 = HEAP32[$24>>2]|0; - $49 = (((($41) + (($$05763*24)|0)|0)) + 8|0); - HEAP32[$49>>2] = $48; - $50 = HEAP32[$25>>2]|0; - $51 = (((($41) + (($$05763*24)|0)|0)) + 12|0); - HEAP32[$51>>2] = $50; - $52 = HEAP32[$26>>2]|0; - $53 = (((($41) + (($$05763*24)|0)|0)) + 16|0); - HEAP32[$53>>2] = $52; - $54 = HEAP32[$27>>2]|0; - $55 = (_malloc($54)|0); - (_fread($55,$54,1,$4)|0); - $56 = HEAP8[$28>>0]|0; - $57 = ($56<<24>>24)==(1); - if ($57) { - $58 = HEAP32[$27>>2]|0; - $59 = HEAP32[$29>>2]|0; - $60 = (_DecompressData($55,$58,$59)|0); - $61 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$61>>2] = $60; - _free($55); - } else { - $62 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$62>>2] = $55; - } - $63 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $66; - _TraceLog(0,4672,$vararg_buffer4); - } - (_fread($3,32,1,$4)|0); - $67 = (($$05763) + 1)|0; - $68 = HEAP8[$21>>0]|0; - $69 = $68&255; - $70 = ($67|0)<($69|0); - if ($70) { - $$05763 = $67; - } else { - $$1 = $41; - break; - } - } - } - } else { - $71 = HEAP32[$32>>2]|0; - (_fseek($4,$71,1)|0); - $$1 = $$065; - } - $72 = (($$05664) + 1)|0; - $73 = ($72|0)<($31|0); - if ($73) { - $$05664 = $72;$$065 = $$1; - } else { - $$0$lcssa = $$1; - break; - } - } - } - $33 = ((($$0$lcssa)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$vararg_buffer8>>2] = $0; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(1,4718,$vararg_buffer8); - $$2 = $$0$lcssa; - } else { - $$2 = $$0$lcssa; - } - } else { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(1,4626,$vararg_buffer1); - $$2 = 0; - } - (_fclose($4)|0); - $$3 = $$2; - STACKTOP = sp;return ($$3|0); -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[18440>>0]=HEAP8[5023>>0]|0;HEAP8[18440+1>>0]=HEAP8[5023+1>>0]|0;HEAP8[18440+2>>0]=HEAP8[5023+2>>0]|0;HEAP8[18440+3>>0]=HEAP8[5023+3>>0]|0;HEAP8[18440+4>>0]=HEAP8[5023+4>>0]|0;HEAP8[18440+5>>0]=HEAP8[5023+5>>0]|0;HEAP8[18440+6>>0]=HEAP8[5023+6>>0]|0; - break; - } - case 2: { - $3 = 18440; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 1: { - dest=18440; src=5030; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 18440; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(18440,$1)|0); - $strlen = (_strlen(18440)|0); - $endptr = (18440 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(18440,$2)|0); - $12 = ($0|0)==(2); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _DecompressData($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = (_malloc($2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - _TraceLog(1,4768,$vararg_buffer); - STACKTOP = sp;return ($3|0); - } - $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); - $6 = ($5|0)==(-1); - if ($6) { - _TraceLog(1,4807,$vararg_buffer1); - _free($3); - } - $7 = ($5|0)==($2|0); - if (!($7)) { - _TraceLog(1,4833,$vararg_buffer3); - HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(1,4896,$vararg_buffer5); - HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(1,4931,$vararg_buffer7); - } - HEAP32[$vararg_buffer10>>2] = $1; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,4966,$vararg_buffer10); - STACKTOP = sp;return ($3|0); -} -function _UnloadResource($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - _free($2); - return; -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(19372)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (68 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19348>>2]=HEAP32[$1>>2]|0;HEAP32[19348+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19348+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19348+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19348+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(19372)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(19376)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(19368)>>2] = $23; - $24 = HEAP32[4837]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5040,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(19352)>>2]|0; - $10 = HEAP32[(19372)>>2]|0; - $11 = HEAP32[(19376)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2116 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(19368)>>2] = $23; - $24 = HEAP32[4837]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5040,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(9); - $6 = ($1|0)<(9); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(1,5437,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $10; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(3,5085,$vararg_buffer); - HEAP32[$0>>2] = $11; - $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; - $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; - $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; - STACKTOP = sp;return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } - _free($1); - return; -} -function _rlLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[4845]|0; - $7 = ($6|0)==(0); - $$off = (($3) + -9)|0; - $8 = ($$off>>>0)<(4); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(1,5135,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[4846]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(13); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(1,5179,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[4847]|0; - $13 = ($12|0)==(0); - $14 = $3 | 1; - $15 = ($14|0)==(15); - $or$cond97 = $15 & $13; - if ($or$cond97) { - _TraceLog(1,5224,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $16 = HEAP32[4848]|0; - $17 = ($16|0)==(0); - $18 = ($14|0)==(17); - $or$cond99 = $18 & $17; - if ($or$cond99) { - _TraceLog(1,5269,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $19 = HEAP32[4849]|0; - $20 = ($19|0)==(0); - $21 = ($14|0)==(19); - $or$cond101 = $21 & $20; - if ($or$cond101) { - _TraceLog(1,5314,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $22 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($22|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $23 = HEAP32[4850]|0; - $24 = ($23|0)==(0); - if (!($24)) { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); - } - break; - } - case 9: { - $25 = HEAP32[4845]|0; - $26 = ($25|0)==(0); - if (!($26)) { - _LoadTextureCompressed($0,$1,$2,33776,$4); - } - break; - } - case 10: { - $27 = HEAP32[4845]|0; - $28 = ($27|0)==(0); - if (!($28)) { - _LoadTextureCompressed($0,$1,$2,33777,$4); - } - break; - } - case 11: { - $29 = HEAP32[4845]|0; - $30 = ($29|0)==(0); - if (!($30)) { - _LoadTextureCompressed($0,$1,$2,33778,$4); - } - break; - } - case 12: { - $31 = HEAP32[4845]|0; - $32 = ($31|0)==(0); - if (!($32)) { - _LoadTextureCompressed($0,$1,$2,33779,$4); - } - break; - } - case 13: { - $33 = HEAP32[4846]|0; - $34 = ($33|0)==(0); - if (!($34)) { - _LoadTextureCompressed($0,$1,$2,36196,$4); - } - break; - } - case 14: { - $35 = HEAP32[4847]|0; - $36 = ($35|0)==(0); - if (!($36)) { - _LoadTextureCompressed($0,$1,$2,37492,$4); - } - break; - } - case 15: { - $37 = HEAP32[4847]|0; - $38 = ($37|0)==(0); - if (!($38)) { - _LoadTextureCompressed($0,$1,$2,37496,$4); - } - break; - } - case 16: { - $39 = HEAP32[4848]|0; - $40 = ($39|0)==(0); - if (!($40)) { - _LoadTextureCompressed($0,$1,$2,35840,$4); - } - break; - } - case 17: { - $41 = HEAP32[4848]|0; - $42 = ($41|0)==(0); - if (!($42)) { - _LoadTextureCompressed($0,$1,$2,35842,$4); - } - break; - } - case 18: { - $43 = HEAP32[4849]|0; - $44 = ($43|0)==(0); - if (!($44)) { - _LoadTextureCompressed($0,$1,$2,37808,$4); - } - break; - } - case 19: { - $45 = HEAP32[4849]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _LoadTextureCompressed($0,$1,$2,37815,$4); - } - break; - } - default: { - _TraceLog(1,5359,$vararg_buffer9); - } - } - } while(0); - $47 = HEAP32[4851]|0; - $48 = ($47|0)==(0); - if ($48) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $49 = HEAP32[$5>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(1,7891,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $49; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5388,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadTextureCompressed($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($3|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($4|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($3|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($4|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(1,5491,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19348>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19348+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19348+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19348+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19348+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(19376)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,5537,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19348>>2]|0;HEAP32[$0+4>>2]=HEAP32[19348+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19348+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19348+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19348+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19348+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19348+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19348+28>>2]|0; - return; -} -function _IsFileExtension($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strrchr($0,46)|0); - $3 = ($2|0)==(0|0); - if ($3) { - return 0; - } else { - $4 = (_strcmp($2,$1)|0); - $5 = ($4|0)==(0); - $$ = $5&1; - return ($$|0); - } - return (0)|0; -} -function _LoadImagePro($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy = sp + 20|0; - $5 = sp; - HEAP32[$5>>2] = $1; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $2; - $7 = ((($5)) + 8|0); - HEAP32[$7>>2] = $3; - $8 = ((($5)) + 12|0); - HEAP32[$8>>2] = 1; - $9 = ((($5)) + 16|0); - HEAP32[$9>>2] = $4; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; - _ImageCopy($0,$$byval_copy); - STACKTOP = sp;return; -} -function _LoadImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $$byval_copy = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer7 = sp + 16|0; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - $6 = (_IsFileExtension($1,5587)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - $19 = (_IsFileExtension($1,5640)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_IsFileExtension($1,5645)|0); - $22 = ($21|0)==(0); - if ($22) { - $36 = (_IsFileExtension($1,5653)|0); - $37 = ($36|0)==(0); - if ($37) { - $46 = (_IsFileExtension($1,5725)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[$vararg_buffer4>>2] = $1; - _TraceLog(1,5730,$vararg_buffer4); - break; - } else { - _LoadDDS($2,$1); - break; - } - } - HEAP32[$3>>2] = 0; - $38 = (_fopen($1,5650)|0); - _stbi_set_flip_vertically_on_load(1); - $39 = ((($2)) + 4|0); - $40 = ((($2)) + 8|0); - $41 = (_stbi_loadf_from_file($38,$39,$40,$3,0)|0); - HEAP32[$2>>2] = $41; - _stbi_set_flip_vertically_on_load(0); - (_fclose($38)|0); - $42 = ((($2)) + 12|0); - HEAP32[$42>>2] = 1; - $43 = HEAP32[$3>>2]|0; - $44 = ($43|0)==(3); - if ($44) { - $45 = ((($2)) + 16|0); - HEAP32[$45>>2] = 8; - } else { - HEAP32[$$byval_copy>>2] = $1; - _TraceLog(1,5658,$$byval_copy); - ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; - _UnloadImage($$byval_copy); - } - break; - } - } - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$5>>2] = 0; - $23 = (_fopen($1,5650)|0); - $24 = ($23|0)==(0|0); - L17: do { - if (!($24)) { - $25 = (_stbi_load_from_file($23,$3,$4,$5,0)|0); - HEAP32[$2>>2] = $25; - (_fclose($23)|0); - $26 = HEAP32[$3>>2]|0; - $27 = ((($2)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$4>>2]|0; - $29 = ((($2)) + 8|0); - HEAP32[$29>>2] = $28; - $30 = ((($2)) + 12|0); - HEAP32[$30>>2] = 1; - $31 = HEAP32[$5>>2]|0; - switch ($31|0) { - case 1: { - $32 = ((($2)) + 16|0); - HEAP32[$32>>2] = 1; - break L17; - break; - } - case 2: { - $33 = ((($2)) + 16|0); - HEAP32[$33>>2] = 2; - break L17; - break; - } - case 3: { - $34 = ((($2)) + 16|0); - HEAP32[$34>>2] = 4; - break L17; - break; - } - case 4: { - $35 = ((($2)) + 16|0); - HEAP32[$35>>2] = 7; - break L17; - break; - } - default: { - break L17; - } - } - } - } while(0); - } else { - $8 = (_LoadResource($1,0)|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(1); - if ($10) { - $11 = ((($8)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($8)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($8)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($8)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _LoadImagePro($2,$12,$14,$16,$18); - } else { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5593,$vararg_buffer); - } - _UnloadResource($8); - } - } while(0); - $48 = HEAP32[$2>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - HEAP32[$vararg_buffer12>>2] = $1; - _TraceLog(1,5805,$vararg_buffer12); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - $50 = ((($2)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($2)) + 8|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $51; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $53; - _TraceLog(0,5766,$vararg_buffer7); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _stbi_load_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return ($6|0); - } - $8 = ((($5)) + 172|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($5)) + 168|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) - ($9))|0; - (_fseek($0,$12,1)|0); - STACKTOP = sp;return ($6|0); -} -function _stbi_set_flip_vertically_on_load($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4855] = $0; - return; -} -function _stbi_loadf_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__loadf_main($5,$1,$2,$3,$4)|0); - STACKTOP = sp;return ($6|0); -} -function _LoadDDS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$0101111 = 0, $$0102114 = 0, $$0103112 = 0, $$sink = 0, $$sink2 = 0, $$sroa$0$0 = 0, $$sroa$0$1 = 0, $$sroa$0$2 = 0, $$sroa$0$3 = 0, $$sroa$28$0 = 0, $$sroa$28$0$$sroa_idx61 = 0, $$sroa$28$1 = 0, $$sroa$42$0 = 0, $$sroa$42$0$$sroa_idx75 = 0, $$sroa$42$1 = 0, $$sroa$56$0 = 0, $$sroa$56$0$$sroa_idx89 = 0, $$sroa$56$1 = 0, $$sroa$57$0 = 0; - var $$sroa$57$0$$sroa_idx91 = 0, $$sroa$57$2 = 0, $$sroa$57$3 = 0, $$sroa$57$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $exitcond = 0, $exitcond117 = 0, $or$cond = 0, $or$cond106 = 0, $or$cond108 = 0, $switch = 0, $switch$split282D = 0, $switch$split2D = 0, $switch$split312D = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $vararg_buffer24 = sp + 56|0; - $vararg_buffer20 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 184|0; - $3 = sp + 60|0; - $4 = (_fopen($1,5650)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5836,$vararg_buffer); - $$sroa$0$3 = 0;$$sroa$28$1 = 0;$$sroa$42$1 = 0;$$sroa$56$1 = 0;$$sroa$57$4 = 0; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; - } - (_fread($2,4,1,$4)|0); - $6 = (_strncmp($2,5870,4)|0); - $7 = ($6|0)==(0); - if ($7) { - (_fread($3,124,1,$4)|0); - HEAP32[$vararg_buffer4>>2] = $1; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,5923,$vararg_buffer4); - $8 = ((($3)) + 72|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $9; - _TraceLog(3,5953,$vararg_buffer8); - $10 = ((($3)) + 76|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer12>>2] = $1; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $11; - _TraceLog(3,5989,$vararg_buffer12); - $12 = ((($3)) + 80|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer16>>2] = $1; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $13; - _TraceLog(3,6028,$vararg_buffer16); - $14 = ((($3)) + 84|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$vararg_buffer20>>2] = $1; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $15; - _TraceLog(3,6055,$vararg_buffer20); - $16 = ((($3)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($3)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $$sink = $22 ? 1 : $21; - $23 = HEAP32[$14>>2]|0; - $24 = ($23|0)==(16); - L7: do { - if ($24) { - $25 = HEAP32[$10>>2]|0; - switch ($25|0) { - case 64: { - $26 = $17 << 1; - $27 = Math_imul($26, $19)|0; - $28 = (_malloc($27)|0); - (_fread($28,$27,1,$4)|0); - $$sroa$0$0 = $28;$$sroa$57$0 = 3; - break L7; - break; - } - case 65: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $29 = ((($3)) + 100|0); - $30 = HEAP32[$29>>2]|0; - $switch$split2D = ($30|0)<(61440); - if ($switch$split2D) { - switch ($30|0) { - case 32768: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $31 = Math_imul($19, $17)|0; - $32 = $31 << 1; - $33 = (_malloc($32)|0); - (_fread($33,$32,1,$4)|0); - $34 = ($31|0)>(0); - if ($34) { - $$0103112 = 0; - } else { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } - while(1) { - $35 = (($33) + ($$0103112<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = ($36&65535) >>> 15; - $39 = $38&65535; - $40 = $37 << 1; - $41 = $40 | $39; - $42 = $41&65535; - HEAP16[$35>>1] = $42; - $43 = (($$0103112) + 1)|0; - $exitcond = ($43|0)==($31|0); - if ($exitcond) { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } else { - $$0103112 = $43; - } - } - } else { - switch ($30|0) { - case 61440: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $44 = Math_imul($19, $17)|0; - $45 = $44 << 1; - $46 = (_malloc($45)|0); - (_fread($46,$45,1,$4)|0); - $47 = ($44|0)>(0); - if ($47) { - $$0102114 = 0; - } else { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } - while(1) { - $48 = (($46) + ($$0102114<<1)|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = ($49&65535) >>> 12; - $52 = $51&65535; - $53 = $50 << 4; - $54 = $53 | $52; - $55 = $54&65535; - HEAP16[$48>>1] = $55; - $56 = (($$0102114) + 1)|0; - $exitcond117 = ($56|0)==($44|0); - if ($exitcond117) { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } else { - $$0102114 = $56; - } - } - } - } else { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - } - } while(0); - $57 = HEAP32[$10>>2]|0; - $58 = ($57|0)==(64); - $59 = HEAP32[$14>>2]|0; - $60 = ($59|0)==(24); - $or$cond = $58 & $60; - L22: do { - if ($or$cond) { - $61 = ($17*3)|0; - $62 = Math_imul($61, $19)|0; - $63 = (_malloc($62)|0); - (_fread($63,$62,1,$4)|0); - $$sroa$0$1 = $63;$$sroa$57$2 = 4; - } else { - $64 = ($57|0)==(65); - $65 = ($59|0)==(32); - $or$cond106 = $64 & $65; - if ($or$cond106) { - $66 = $17 << 2; - $67 = Math_imul($66, $19)|0; - $68 = (_malloc($67)|0); - (_fread($68,$67,1,$4)|0); - $69 = ($67|0)>(0); - if ($69) { - $$0101111 = 0; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break; - } - while(1) { - $70 = (($68) + ($$0101111)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $$0101111 | 2; - $73 = (($68) + ($72)|0); - $74 = HEAP8[$73>>0]|0; - HEAP8[$70>>0] = $74; - HEAP8[$73>>0] = $71; - $75 = (($$0101111) + 4)|0; - $76 = ($75|0)<($67|0); - if ($76) { - $$0101111 = $75; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break L22; - } - } - } - $77 = $57 & -2; - $switch = ($77|0)!=(4); - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)==(0); - $or$cond108 = $switch | $79; - if ($or$cond108) { - $$sroa$0$1 = $$sroa$0$0;$$sroa$57$2 = $$sroa$57$0; - } else { - $80 = HEAP32[$20>>2]|0; - $81 = ($80>>>0)>(1); - $82 = ((($3)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81&1; - $$0 = $83 << $84; - HEAP32[$vararg_buffer24>>2] = $83; - _TraceLog(3,6085,$vararg_buffer24); - $85 = (_malloc($$0)|0); - (_fread($85,$$0,1,$4)|0); - $86 = HEAP32[$12>>2]|0; - $switch$split282D = ($86|0)<(861165636); - if ($switch$split282D) { - switch ($86|0) { - case 827611204: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $87 = HEAP32[$10>>2]|0; - $88 = ($87|0)==(4); - $$sink2 = $88 ? 9 : 10; - $$sroa$0$1 = $85;$$sroa$57$2 = $$sink2; - break; - } - $switch$split312D = ($86|0)<(894720068); - if ($switch$split312D) { - switch ($86|0) { - case 861165636: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 11; - break; - } else { - switch ($86|0) { - case 894720068: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 12; - break; - } - } - } - } while(0); - $$sroa$0$2 = $$sroa$0$1;$$sroa$28$0 = $17;$$sroa$42$0 = $19;$$sroa$56$0 = $$sink;$$sroa$57$3 = $$sroa$57$2; - } else { - HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(1,5875,$vararg_buffer1); - $$sroa$0$2 = 0;$$sroa$28$0 = 0;$$sroa$42$0 = 0;$$sroa$56$0 = 0;$$sroa$57$3 = 0; - } - (_fclose($4)|0); - $$sroa$0$3 = $$sroa$0$2;$$sroa$28$1 = $$sroa$28$0;$$sroa$42$1 = $$sroa$42$0;$$sroa$56$1 = $$sroa$56$0;$$sroa$57$4 = $$sroa$57$3; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; -} -function _stbi__start_file($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($0,3644,$1); - return; -} -function _stbi__loadf_main($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__hdr_test($0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - _stbi__float_postprocess($7,$1,$2,$3,$4); - $$0 = $7; - return ($$0|0); - } - $9 = (_stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4)|0); - $10 = ($9|0)==(0|0); - if ($10) { - _stbi__err(6110); - $$0 = 0; - return ($$0|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ($4|0)==(0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = $14; - } else { - $15 = $4; - } - $16 = (_stbi__ldr_to_hdr($9,$11,$12,$15)|0); - $$0 = $16; - return ($$0|0); -} -function _stbi__hdr_test($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__hdr_test_core($0,7718)|0); - _stbi__rewind($0); - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = $1; - return ($$0|0); - } - $3 = (_stbi__hdr_test_core($0,7730)|0); - _stbi__rewind($0); - $$0 = $3; - return ($$0|0); -} -function _stbi__hdr_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$0142 = 0, $$014033 = 0, $$014253 = 0, $$014344 = 0, $$014538 = 0, $$0146 = 0, $$0150 = 0, $$114131 = 0, $$1144 = 0, $$1147 = 0, $$1151 = 0, $$2148 = 0, $$2152$be = 0, $$215236 = 0, $$3 = 0, $$314943 = 0, $$315332 = 0, $$430 = 0, $$540 = 0; - var $$lcssa29 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond87 = 0, $exitcond88 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 4|0; - $8 = sp + 8|0; - $9 = (_stbi__hdr_gettoken($0,$5)|0); - $10 = (_strcmp($9,7578)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $12 = (_strcmp($9,7589)|0); - $13 = ($12|0)==(0); - if (!($13)) { - _stbi__err(7596); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - } - $14 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $14; - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - $$014253 = 0;$17 = $5; - while(1) { - $18 = (_strcmp($17,7604)|0); - $19 = ($18|0)==(0); - $$$0142 = $19 ? 1 : $$014253; - $20 = (_stbi__hdr_gettoken($0,$5)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$014253 = $$$0142;$17 = $5; - } - } - HEAP32[$6>>2] = $20; - $23 = ($$$0142|0)==(0); - if (!($23)) { - $24 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $24; - $25 = (_strncmp($24,7646,3)|0); - $26 = ($25|0)==(0); - if (!($26)) { - _stbi__err(7650); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $27 = ((($5)) + 3|0); - HEAP32[$6>>2] = $27; - $28 = (_strtol($27,$6,10)|0); - $29 = HEAP32[$6>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(32); - if ($31) { - $33 = $29; - while(1) { - $32 = ((($33)) + 1|0); - $34 = HEAP8[$32>>0]|0; - $35 = ($34<<24>>24)==(32); - if ($35) { - $33 = $32; - } else { - break; - } - } - HEAP32[$6>>2] = $32; - $$lcssa29 = $32; - } else { - $$lcssa29 = $29; - } - $36 = (_strncmp($$lcssa29,7674,3)|0); - $37 = ($36|0)==(0); - if (!($37)) { - _stbi__err(7650); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $38 = ((($$lcssa29)) + 3|0); - HEAP32[$6>>2] = $38; - $39 = (_strtol($38,0,10)|0); - HEAP32[$1>>2] = $39; - HEAP32[$2>>2] = $28; - $40 = ($3|0)==(0|0); - if (!($40)) { - HEAP32[$3>>2] = 3; - } - $41 = ($4|0)==(0); - $$ = $41 ? 3 : $4; - $42 = (_stbi__mad4sizes_valid($39,$28,$$)|0); - $43 = ($42|0)==(0); - if ($43) { - _stbi__err(6336); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $44 = (_stbi__malloc_mad4($39,$28,$$)|0); - $45 = ($44|0)==(0|0); - if ($45) { - _stbi__err(6129); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $$off = (($39) + -8)|0; - $46 = ($$off>>>0)>(32759); - do { - if ($46) { - $$0146 = 0; - label = 23; - } else { - $47 = ($28|0)>(0); - if ($47) { - $$014344 = 0;$$314943 = 0; - } else { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - L39: while(1) { - $57 = (_stbi__get8($0)|0); - $58 = (_stbi__get8($0)|0); - $59 = (_stbi__get8($0)|0); - $60 = $59&255; - $notlhs = ($57<<24>>24)==(2); - $notrhs = ($58<<24>>24)==(2); - $or$cond3$not = $notlhs & $notrhs; - $61 = $60 & 128; - $62 = ($61|0)==(0); - $or$cond = $or$cond3$not & $62; - if (!($or$cond)) { - label = 28; - break; - } - $67 = $60 << 8; - $68 = (_stbi__get8($0)|0); - $69 = $68&255; - $70 = $69 | $67; - $71 = ($70|0)==($39|0); - if (!($71)) { - label = 30; - break; - } - $72 = ($$014344|0)==(0|0); - if ($72) { - $73 = (_stbi__malloc_mad2($39,4)|0); - $74 = ($73|0)==(0|0); - if ($74) { - label = 33; - break; - } else { - $$1144 = $73; - } - } else { - $$1144 = $$014344; - } - $$014538 = 0; - while(1) { - $$215236 = 0;$87 = $39; - while(1) { - $82 = (_stbi__get8($0)|0); - $79 = $82&255; - $83 = ($82&255)>(128); - do { - if ($83) { - $84 = (_stbi__get8($0)|0); - $85 = (($79) + 128)|0; - $77 = $85 & 255; - $86 = ($77|0)>($87|0); - if ($86) { - label = 43; - break L39; - } - $88 = ($77|0)==(0); - if ($88) { - $$2152$be = $$215236; - break; - } else { - $$014033 = 0;$$315332 = $$215236; - } - while(1) { - $89 = (($$315332) + 1)|0; - $90 = $$315332 << 2; - $91 = (($90) + ($$014538))|0; - $92 = (($$1144) + ($91)|0); - HEAP8[$92>>0] = $84; - $93 = (($$014033) + 1)|0; - $exitcond87 = ($93|0)==($77|0); - if ($exitcond87) { - break; - } else { - $$014033 = $93;$$315332 = $89; - } - } - $76 = (($$215236) + ($77))|0; - $$2152$be = $76; - } else { - $94 = ($79|0)>($87|0); - if ($94) { - label = 47; - break L39; - } - $95 = ($82<<24>>24)==(0); - if ($95) { - $$2152$be = $$215236; - break; - } else { - $$114131 = 0;$$430 = $$215236; - } - while(1) { - $96 = (_stbi__get8($0)|0); - $97 = (($$430) + 1)|0; - $98 = $$430 << 2; - $99 = (($98) + ($$014538))|0; - $100 = (($$1144) + ($99)|0); - HEAP8[$100>>0] = $96; - $101 = (($$114131) + 1)|0; - $exitcond = ($101|0)==($79|0); - if ($exitcond) { - break; - } else { - $$114131 = $101;$$430 = $97; - } - } - $78 = (($$215236) + ($79))|0; - $$2152$be = $78; - } - } while(0); - $80 = (($39) - ($$2152$be))|0; - $81 = ($80|0)>(0); - if ($81) { - $$215236 = $$2152$be;$87 = $80; - } else { - break; - } - } - $102 = (($$014538) + 1)|0; - $103 = ($102|0)<(4); - if ($103) { - $$014538 = $102; - } else { - break; - } - } - $75 = Math_imul($$314943, $39)|0; - $$540 = 0; - while(1) { - $104 = (($$540) + ($75))|0; - $105 = Math_imul($104, $$)|0; - $106 = (($44) + ($105<<2)|0); - $107 = $$540 << 2; - $108 = (($$1144) + ($107)|0); - _stbi__hdr_convert($106,$108,$$); - $109 = (($$540) + 1)|0; - $exitcond88 = ($109|0)==($39|0); - if ($exitcond88) { - break; - } else { - $$540 = $109; - } - } - $110 = (($$314943) + 1)|0; - $111 = ($110|0)<($28|0); - if ($111) { - $$014344 = $$1144;$$314943 = $110; - } else { - label = 52; - break; - } - } - if ((label|0) == 28) { - HEAP8[$8>>0] = $57; - $63 = ((($8)) + 1|0); - HEAP8[$63>>0] = $58; - $64 = ((($8)) + 2|0); - HEAP8[$64>>0] = $59; - $65 = (_stbi__get8($0)|0); - $66 = ((($8)) + 3|0); - HEAP8[$66>>0] = $65; - _stbi__hdr_convert($44,$8,$$); - _free($$014344); - $$1151 = 1;$$2148 = 0; - label = 25; - break; - } - else if ((label|0) == 30) { - _free($44); - _free($$014344); - _stbi__err(7678); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 33) { - _free($44); - _stbi__err(6129); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 43) { - _free($44); - _free($$1144); - _stbi__err(7710); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 47) { - _free($44); - _free($$1144); - _stbi__err(7710); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 52) { - $112 = ($$1144|0)==(0|0); - if ($112) { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - _free($$1144); - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - } - } while(0); - while(1) { - if ((label|0) == 23) { - label = 0; - $48 = ($$0146|0)<($28|0); - if ($48) { - $$0150 = 0;$$1147 = $$0146; - } else { - $$3 = $44; - break; - } - } - else if ((label|0) == 25) { - label = 0; - (_stbi__getn($0,$7,4)|0); - $50 = Math_imul($39, $$)|0; - $51 = Math_imul($50, $$2148)|0; - $52 = (($44) + ($51<<2)|0); - $53 = Math_imul($$1151, $$)|0; - $54 = (($52) + ($53<<2)|0); - _stbi__hdr_convert($54,$7,$$); - $55 = (($$1151) + 1)|0; - $$0150 = $55;$$1147 = $$2148; - } - $49 = ($$0150|0)<($39|0); - if ($49) { - $$1151 = $$0150;$$2148 = $$1147; - label = 25; - continue; - } - $56 = (($$1147) + 1)|0; - $$0146 = $56; - label = 23; - } - STACKTOP = sp;return ($$3|0); - } - } - _stbi__err(7627); - $$3 = 0; - STACKTOP = sp;return ($$3|0); -} -function _stbi__float_postprocess($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[4855]|0; - $6 = ($5|0)!=(0); - $7 = ($0|0)!=(0|0); - $or$cond = $7 & $6; - if (!($or$cond)) { - return; - } - $8 = ($4|0)==(0); - if ($8) { - $9 = HEAP32[$3>>2]|0; - $13 = $9; - } else { - $13 = $4; - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = $13 << 2; - _stbi__vertical_flip($0,$10,$11,$12); - return; -} -function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$023 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $5 = sp; - $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = HEAP32[$5>>2]|0; - switch ($8|0) { - case 8: { - $$023 = $6; - break; - } - case 16: { - label = 4; - break; - } - default: { - ___assert_fail((6138|0),(6164|0),1066,(6187|0)); - // unreachable; - } - } - if ((label|0) == 4) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($4|0)==(0); - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = $12; - } else { - $13 = $4; - } - $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); - HEAP32[$5>>2] = 8; - $$023 = $14; - } - $15 = HEAP32[4855]|0; - $16 = ($15|0)==(0); - if ($16) { - $$0 = $$023; - STACKTOP = sp;return ($$0|0); - } - $17 = ($4|0)==(0); - if ($17) { - $18 = HEAP32[$3>>2]|0; - $21 = $18; - } else { - $21 = $4; - } - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - _stbi__vertical_flip($$023,$19,$20,$21); - $$0 = $$023; - STACKTOP = sp;return ($$0|0); -} -function _stbi__ldr_to_hdr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$042 = 0, $$043$lcssa = 0, $$04345 = 0, $$04446 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond48 = 0, $sext = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__malloc_mad4($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(6129); - $$0 = 0; - return ($$0|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$042 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$042|0)>(0); - $11 = +HEAPF32[753]; - $12 = $11; - $13 = +HEAPF32[754]; - $14 = $13; - $$04446 = 0; - while(1) { - if ($10) { - $15 = Math_imul($$04446, $3)|0; - $$04345 = 0; - while(1) { - $16 = (($$04345) + ($15))|0; - $17 = (($0) + ($16)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 / 255.0; - $21 = $20; - $22 = (+Math_pow((+$21),(+$12))); - $23 = $22 * $14; - $24 = $23; - $25 = (($5) + ($16<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (($$04345) + 1)|0; - $exitcond = ($26|0)==($$042|0); - if ($exitcond) { - $$043$lcssa = $$042; - break; - } else { - $$04345 = $26; - } - } - } else { - $$043$lcssa = 0; - } - $27 = ($$043$lcssa|0)<($3|0); - $28 = Math_imul($$04446, $3)|0; - $29 = (($$043$lcssa) + ($28))|0; - if ($27) { - $30 = (($5) + ($29<<2)|0); - $31 = (($0) + ($29)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $33 / 255.0; - HEAPF32[$30>>2] = $34; - } - $35 = (($$04446) + 1)|0; - $exitcond48 = ($35|0)==($8|0); - if ($exitcond48) { - break; - } else { - $$04446 = $35; - } - } - } - _free($0); - $$0 = $5; - return ($$0|0); -} -function _stbi__err($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4854] = $0; - return; -} -function _stbi__malloc_mad4($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad4sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = $0 << 2; - $6 = Math_imul($5, $1)|0; - $7 = Math_imul($6, $2)|0; - $8 = (_stbi__malloc($7)|0); - $$0 = $8; - return ($$0|0); -} -function _stbi__mad4sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $15 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $15 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__mul2sizes_valid($8,4)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = $8 << 2; - $12 = (_stbi__addsizes_valid($11)|0); - $13 = ($12|0)!=(0); - $15 = $13; - } - } - } - $14 = $15&1; - return ($14|0); -} -function _stbi__malloc($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_malloc($0)|0); - return ($1|0); -} -function _stbi__mul2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 | $0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - } else { - $4 = ($1|0)==(0); - if ($4) { - $$0 = 1; - } else { - $5 = (2147483647 / ($1|0))&-1; - $6 = ($5|0)>=($0|0); - $7 = $6&1; - $$0 = $7; - } - } - return ($$0|0); -} -function _stbi__addsizes_valid($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 1; -} -function _stbi__load_main($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[$5>>2] = 8; - $6 = ((($5)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = ((($5)) + 4|0); - HEAP32[$7>>2] = 0; - $8 = (_stbi__png_test($0)|0); - $9 = ($8|0)==(0); - if (!($9)) { - $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); - $$0 = $10; - return ($$0|0); - } - $11 = (_stbi__hdr_test($0)|0); - $12 = ($11|0)==(0); - if ($12) { - _stbi__err(6110); - $$0 = 0; - return ($$0|0); - } - $13 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ($4|0)==(0); - if ($16) { - $17 = HEAP32[$3>>2]|0; - $18 = $17; - } else { - $18 = $4; - } - $19 = (_stbi__hdr_to_ldr($13,$14,$15,$18)|0); - $$0 = $19; - return ($$0|0); -} -function _stbi__convert_16_to_8($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = Math_imul($4, $3)|0; - $6 = (_stbi__malloc($5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - _stbi__err(6129); - $$0 = 0; - return ($$0|0); - } - $8 = ($5|0)>(0); - if ($8) { - $$01819 = 0; - while(1) { - $9 = (($0) + ($$01819<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10&65535) >>> 8; - $12 = $11&255; - $13 = (($6) + ($$01819)|0); - HEAP8[$13>>0] = $12; - $14 = (($$01819) + 1)|0; - $exitcond = ($14|0)==($5|0); - if ($exitcond) { - break; - } else { - $$01819 = $14; - } - } - } - _free($0); - $$0 = $6; - return ($$0|0); -} -function _stbi__vertical_flip($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$04553 = 0, $$04652 = 0, $$04751 = 0, $$054 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2048|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2048|0); - $4 = sp; - $5 = Math_imul($3, $1)|0; - $6 = $2 >> 1; - $7 = ($6|0)>(0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = (($2) + -1)|0; - $9 = ($5|0)==(0); - $$054 = 0; - while(1) { - if (!($9)) { - $10 = (($8) - ($$054))|0; - $11 = Math_imul($10, $5)|0; - $12 = (($0) + ($11)|0); - $13 = Math_imul($$054, $5)|0; - $14 = (($0) + ($13)|0); - $$04553 = $5;$$04652 = $12;$$04751 = $14; - while(1) { - $15 = ($$04553>>>0)<(2048); - $16 = $15 ? $$04553 : 2048; - _memcpy(($4|0),($$04751|0),($16|0))|0; - _memcpy(($$04751|0),($$04652|0),($16|0))|0; - _memcpy(($$04652|0),($4|0),($16|0))|0; - $17 = (($$04751) + ($16)|0); - $18 = (($$04652) + ($16)|0); - $19 = (($$04553) - ($16))|0; - $20 = ($19|0)==(0); - if ($20) { - break; - } else { - $$04553 = $19;$$04652 = $18;$$04751 = $17; - } - } - } - $21 = (($$054) + 1)|0; - $exitcond = ($21|0)==($6|0); - if ($exitcond) { - break; - } else { - $$054 = $21; - } - } - STACKTOP = sp;return; -} -function _stbi__png_test($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__check_png_header($0)|0); - _stbi__rewind($0); - return ($1|0); -} -function _stbi__png_load($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $6 = sp; - HEAP32[$6>>2] = $0; - $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); - STACKTOP = sp;return ($7|0); -} -function _stbi__hdr_to_ldr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0.0, $$052 = 0.0, $$054 = 0, $$055 = 0, $$056$lcssa = 0, $$05658 = 0, $$05759 = 0, $$1 = 0.0, $$153 = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0; - var $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond61 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$054 = 0; - return ($$054|0); - } - $5 = (_stbi__malloc_mad3($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(6129); - $$054 = 0; - return ($$054|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$055 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$055|0)>(0); - $11 = +HEAPF32[755]; - $12 = +HEAPF32[756]; - $13 = $12; - $$05759 = 0; - while(1) { - if ($10) { - $14 = Math_imul($$05759, $3)|0; - $$05658 = 0; - while(1) { - $15 = (($$05658) + ($14))|0; - $16 = (($0) + ($15<<2)|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 * $11; - $19 = $18; - $20 = (+Math_pow((+$19),(+$13))); - $21 = $20; - $22 = $21 * 255.0; - $23 = $22 + 0.5; - $24 = $23 < 0.0; - $$052 = $24 ? 0.0 : $23; - $25 = $$052 > 255.0; - $$153 = $25 ? 255.0 : $$052; - $26 = (~~(($$153))); - $27 = $26&255; - $28 = (($5) + ($15)|0); - HEAP8[$28>>0] = $27; - $29 = (($$05658) + 1)|0; - $exitcond = ($29|0)==($$055|0); - if ($exitcond) { - $$056$lcssa = $$055; - break; - } else { - $$05658 = $29; - } - } - } else { - $$056$lcssa = 0; - } - $30 = ($$056$lcssa|0)<($3|0); - if ($30) { - $31 = Math_imul($$05759, $3)|0; - $32 = (($$056$lcssa) + ($31))|0; - $33 = (($0) + ($32<<2)|0); - $34 = +HEAPF32[$33>>2]; - $35 = $34 * 255.0; - $36 = $35 + 0.5; - $37 = $36 < 0.0; - $$0 = $37 ? 0.0 : $36; - $38 = $$0 > 255.0; - $$1 = $38 ? 255.0 : $$0; - $39 = (~~(($$1))); - $40 = $39&255; - $41 = (($5) + ($32)|0); - HEAP8[$41>>0] = $40; - } - $42 = (($$05759) + 1)|0; - $exitcond61 = ($42|0)==($8|0); - if ($exitcond61) { - break; - } else { - $$05759 = $42; - } - } - } - _free($0); - $$054 = $5; - return ($$054|0); -} -function _stbi__malloc_mad3($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = Math_imul($1, $0)|0; - $6 = Math_imul($5, $2)|0; - $7 = (_stbi__malloc($6)|0); - $$0 = $7; - return ($$0|0); -} -function _stbi__mad3sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $12 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $12 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__addsizes_valid($8)|0); - $10 = ($9|0)!=(0); - $12 = $10; - } - } - $11 = $12&1; - return ($11|0); -} -function _stbi__do_png($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4>>>0)>(4); - if ($6) { - _stbi__err(6219); - $$045 = 0; - return ($$045|0); - } - $7 = (_stbi__parse_png_file($0,0,$4)|0); - $8 = ($7|0)==(0); - if ($8) { - $$2 = 0; - } else { - $9 = ((($0)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(8); - $$ = $11 ? $10 : 8; - HEAP32[$5>>2] = $$; - $12 = ((($0)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$12>>2] = 0; - $14 = ($4|0)==(0); - if ($14) { - $$1 = $13; - } else { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==($4|0); - if ($18) { - $$1 = $13; - } else { - $19 = HEAP32[$5>>2]|0; - $20 = ($19|0)==(8); - $21 = ((($15)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$15>>2]|0; - if ($20) { - $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); - $$0 = $24; - } else { - $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); - $$0 = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $4; - $28 = ($$0|0)==(0|0); - if ($28) { - $$045 = 0; - return ($$045|0); - } else { - $$1 = $$0; - } - } - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; - $31 = ((($29)) + 4|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$2>>2] = $32; - $33 = ($3|0)==(0|0); - if ($33) { - $$2 = $$1; - } else { - $34 = ((($29)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$3>>2] = $35; - $$2 = $$1; - } - } - $36 = ((($0)) + 12|0); - $37 = HEAP32[$36>>2]|0; - _free($37); - HEAP32[$36>>2] = 0; - $38 = ((($0)) + 8|0); - $39 = HEAP32[$38>>2]|0; - _free($39); - HEAP32[$38>>2] = 0; - $40 = ((($0)) + 4|0); - $41 = HEAP32[$40>>2]|0; - _free($41); - HEAP32[$40>>2] = 0; - $$045 = $$2; - return ($$045|0); -} -function _stbi__parse_png_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0219 = 0, $$0208 = 0, $$0213 = 0, $$0216 = 0, $$0219 = 0, $$0228595 = 0, $$0230 = 0, $$0233 = 0, $$0237 = 0, $$0241593 = 0, $$0243 = 0, $$0247 = 0, $$1209 = 0, $$1214 = 0, $$1217 = 0, $$1220 = 0, $$1229590 = 0, $$1231 = 0, $$1242591 = 0; - var $$1248 = 0, $$2221 = 0, $$2235 = 0, $$2239 = 0, $$2245 = 0, $$256 = 0, $$3211 = 0, $$3222 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; - var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; - var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; - var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; - var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond250 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $3 = sp + 32|0; - $4 = sp + 22|0; - $5 = sp + 16|0; - $6 = sp + 8|0; - $7 = sp; - $8 = HEAP32[$0>>2]|0; - $9 = ((($0)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($0)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = (_stbi__check_png_header($8)|0); - $13 = ($12|0)==(0); - if ($13) { - $$7 = 0; - STACKTOP = sp;return ($$7|0); - } - $14 = ($1|0)==(1); - if ($14) { - $$7 = 1; - STACKTOP = sp;return ($$7|0); - } - $15 = ((($6)) + 4|0); - $16 = ((($8)) + 4|0); - $17 = ((($0)) + 16|0); - $18 = ((($8)) + 8|0); - $19 = ($1|0)==(2); - $20 = ((($8)) + 8|0); - $21 = ((($8)) + 8|0); - $22 = ((($0)) + 16|0); - $23 = ($1|0)==(2); - $24 = ($1|0)==(2); - $$0208 = 0;$$0213 = 0;$$0216 = 0;$$0219 = 0;$$0230 = 0;$$0233 = 0;$$0237 = 0;$$0243 = 1;$$0247 = 0; - L7: while(1) { - _stbi__get_chunk_header($6,$8); - $25 = HEAP32[$15>>2]|0; - $switch$split2D = ($25|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split52D = ($25|0)<(1229209940); - if ($switch$split52D) { - switch ($25|0) { - case 1130840649: { - break; - } - default: { - label = 105; - break L9; - } - } - $26 = HEAP32[$6>>2]|0; - _stbi__skip($8,$26); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = 1;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - $switch$split112D = ($25|0)<(1229278788); - if (!($switch$split112D)) { - switch ($25|0) { - case 1229278788: { - label = 85; - break L7; - break; - } - default: { - label = 105; - break L9; - } - } - } - switch ($25|0) { - case 1229209940: { - break; - } - default: { - label = 105; - break L9; - } - } - $130 = ($$0243|0)==(0); - if (!($130)) { - label = 70; - break L7; - } - $131 = ($$0208<<24>>24)==(0); - $132 = ($$0247|0)!=(0); - $or$cond = $132 | $131; - if (!($or$cond)) { - label = 72; - break L7; - } - if ($24) { - label = 74; - break L7; - } - $135 = HEAP32[$6>>2]|0; - $136 = (($135) + ($$0216))|0; - $137 = ($136|0)<($$0216|0); - if ($137) { - $$6$ph = 0; - break L7; - } - $138 = ($136>>>0)>($$0219>>>0); - if ($138) { - $139 = ($$0219|0)==(0); - $140 = ($135>>>0)>(4096); - $141 = $140 ? $135 : 4096; - $$$0219 = $139 ? $141 : $$0219; - $142 = HEAP32[$6>>2]|0; - $143 = (($142) + ($$0216))|0; - $$1220 = $$$0219; - while(1) { - $144 = ($143>>>0)>($$1220>>>0); - $145 = $$1220 << 1; - if ($144) { - $$1220 = $145; - } else { - break; - } - } - $146 = HEAP32[$10>>2]|0; - $147 = (_realloc($146,$$1220)|0); - $148 = ($147|0)==(0|0); - if ($148) { - label = 81; - break L7; - } - HEAP32[$10>>2] = $147; - $$2221 = $$1220; - } else { - $$2221 = $$0219; - } - $149 = HEAP32[$10>>2]|0; - $150 = (($149) + ($$0216)|0); - $151 = HEAP32[$6>>2]|0; - $152 = (_stbi__getn($8,$150,$151)|0); - $153 = ($152|0)==(0); - if ($153) { - label = 83; - break L7; - } - $154 = HEAP32[$6>>2]|0; - $155 = (($154) + ($$0216))|0; - $$1214 = $$0213;$$1217 = $155;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$2221; - } else { - $switch$split82D = ($25|0)<(1347179589); - if ($switch$split82D) { - switch ($25|0) { - case 1229472850: { - break; - } - default: { - label = 105; - break L9; - } - } - $27 = ($$0243|0)==(0); - if ($27) { - label = 7; - break L7; - } - $28 = HEAP32[$6>>2]|0; - $29 = ($28|0)==(13); - if (!($29)) { - label = 9; - break L7; - } - $30 = (_stbi__get32be($8)|0); - HEAP32[$8>>2] = $30; - $31 = ($30>>>0)>(16777216); - if ($31) { - label = 11; - break L7; - } - $32 = (_stbi__get32be($8)|0); - HEAP32[$16>>2] = $32; - $33 = ($32>>>0)>(16777216); - if ($33) { - label = 13; - break L7; - } - $34 = (_stbi__get8($8)|0); - $35 = $34&255; - HEAP32[$17>>2] = $35; - switch ($34<<24>>24) { - case 16: case 8: case 4: case 2: case 1: { - break; - } - default: { - label = 15; - break L7; - } - } - $36 = (_stbi__get8($8)|0); - $37 = $36&255; - $38 = ($36&255)>(6); - if ($38) { - label = 17; - break L7; - } - $39 = ($36<<24>>24)==(3); - if ($39) { - $40 = HEAP32[$17>>2]|0; - $41 = ($40|0)==(16); - if ($41) { - label = 20; - break L7; - } else { - $$1209 = 3; - } - } else { - $42 = $37 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$1209 = $$0208; - } else { - label = 22; - break L7; - } - } - $44 = (_stbi__get8($8)|0); - $45 = ($44<<24>>24)==(0); - if (!($45)) { - label = 24; - break L7; - } - $46 = (_stbi__get8($8)|0); - $47 = ($46<<24>>24)==(0); - if (!($47)) { - label = 26; - break L7; - } - $48 = (_stbi__get8($8)|0); - $49 = $48&255; - $50 = ($48&255)>(1); - if ($50) { - label = 28; - break L7; - } - $51 = HEAP32[$8>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - label = 31; - break L7; - } - $53 = HEAP32[$16>>2]|0; - $54 = ($53|0)==(0); - if ($54) { - label = 31; - break L7; - } - $55 = ($$1209<<24>>24)==(0); - $56 = (1073741824 / ($51>>>0))&-1; - if (!($55)) { - HEAP32[$20>>2] = 1; - $63 = $56 >>> 2; - $64 = ($63>>>0)<($53>>>0); - if ($64) { - label = 37; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = $$1209;$$3222 = $$0219; - break; - } - } - $57 = $37 & 2; - $58 = $57 | 1; - $59 = $37 >>> 2; - $$lobit = $59 & 1; - $60 = (($58) + ($$lobit))|0; - HEAP32[$18>>2] = $60; - $61 = (($56>>>0) / ($60>>>0))&-1; - $62 = ($61>>>0)<($53>>>0); - if ($62) { - label = 34; - break L7; - } - if ($19) { - $$6$ph = 1; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - } - $switch$split142D = ($25|0)<(1951551059); - if ($switch$split142D) { - switch ($25|0) { - case 1347179589: { - break; - } - default: { - label = 105; - break L9; - } - } - $65 = ($$0243|0)==(0); - if (!($65)) { - label = 39; - break L7; - } - $66 = HEAP32[$6>>2]|0; - $67 = ($66>>>0)>(768); - if ($67) { - label = 41; - break L7; - } - $68 = (($66>>>0) / 3)&-1; - $69 = ($68*3)|0; - $70 = ($69|0)==($66|0); - if (!($70)) { - label = 44; - break L7; - } - $71 = ($66>>>0)>(2); - if ($71) { - $$0228595 = 0; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - break; - } - while(1) { - $72 = (_stbi__get8($8)|0); - $73 = $$0228595 << 2; - $74 = (($3) + ($73)|0); - HEAP8[$74>>0] = $72; - $75 = (_stbi__get8($8)|0); - $76 = $73 | 1; - $77 = (($3) + ($76)|0); - HEAP8[$77>>0] = $75; - $78 = (_stbi__get8($8)|0); - $79 = $73 | 2; - $80 = (($3) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = $73 | 3; - $82 = (($3) + ($81)|0); - HEAP8[$82>>0] = -1; - $83 = (($$0228595) + 1)|0; - $84 = ($83>>>0)<($68>>>0); - if ($84) { - $$0228595 = $83; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break L9; - } - } - } - switch ($25|0) { - case 1951551059: { - break; - } - default: { - label = 105; - break L9; - } - } - $85 = ($$0243|0)==(0); - if (!($85)) { - label = 47; - break L7; - } - $86 = HEAP32[$10>>2]|0; - $87 = ($86|0)==(0|0); - if (!($87)) { - label = 49; - break L7; - } - $88 = ($$0208<<24>>24)==(0); - if (!($88)) { - if ($23) { - label = 52; - break L7; - } - $90 = ($$0247|0)==(0); - if ($90) { - label = 54; - break L7; - } - $91 = HEAP32[$6>>2]|0; - $92 = ($91>>>0)>($$0247>>>0); - if ($92) { - label = 58; - break L7; - } - $93 = HEAP32[$6>>2]|0; - $94 = ($93|0)==(0); - if ($94) { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 4;$$3222 = $$0219; - break; - } - $95 = HEAP32[$6>>2]|0; - $$1229590 = 0; - while(1) { - $96 = (_stbi__get8($8)|0); - $97 = $$1229590 << 2; - $98 = $97 | 3; - $99 = (($3) + ($98)|0); - HEAP8[$99>>0] = $96; - $100 = (($$1229590) + 1)|0; - $101 = ($100>>>0)<($95>>>0); - if ($101) { - $$1229590 = $100; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = 4;$$3222 = $$0219; - break L9; - } - } - } - $102 = HEAP32[$21>>2]|0; - $103 = $102 & 1; - $104 = ($103|0)==(0); - if ($104) { - label = 61; - break L7; - } - $105 = HEAP32[$6>>2]|0; - $106 = $102 << 1; - $107 = ($105|0)==($106|0); - if (!($107)) { - label = 63; - break L7; - } - $108 = HEAP32[$22>>2]|0; - $109 = ($108|0)==(16); - $110 = HEAP32[$21>>2]|0; - $111 = ($110|0)>(0); - if ($109) { - if ($111) { - $$0241593 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $112 = (_stbi__get16be($8)|0); - $113 = $112&65535; - $114 = (($5) + ($$0241593<<1)|0); - HEAP16[$114>>1] = $113; - $115 = (($$0241593) + 1)|0; - $116 = HEAP32[$21>>2]|0; - $117 = ($115|0)<($116|0); - if ($117) { - $$0241593 = $115; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } else { - if ($111) { - $$1242591 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $118 = (_stbi__get16be($8)|0); - $119 = $118 & 255; - $120 = HEAP32[$22>>2]|0; - $121 = (6535 + ($120)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = Math_imul($123, $119)|0; - $125 = $124&255; - $126 = (($4) + ($$1242591)|0); - HEAP8[$126>>0] = $125; - $127 = (($$1242591) + 1)|0; - $128 = HEAP32[$21>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $$1242591 = $127; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } - } - } while(0); - if ((label|0) == 105) { - label = 0; - $205 = ($$0243|0)==(0); - if (!($205)) { - label = 106; - break; - } - $206 = $25 & 536870912; - $207 = ($206|0)==(0); - if ($207) { - label = 108; - break; - } - $216 = HEAP32[$6>>2]|0; - _stbi__skip($8,$216); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - } - (_stbi__get32be($8)|0); - $$0208 = $$3211;$$0213 = $$1214;$$0216 = $$1217;$$0219 = $$3222;$$0230 = $$1231;$$0233 = $$2235;$$0237 = $$2239;$$0243 = $$2245;$$0247 = $$1248; - } - switch (label|0) { - case 7: { - _stbi__err(6309); - $$6$ph = 0; - break; - } - case 9: { - _stbi__err(6323); - $$6$ph = 0; - break; - } - case 11: { - _stbi__err(6336); - $$6$ph = 0; - break; - } - case 13: { - _stbi__err(6336); - $$6$ph = 0; - break; - } - case 15: { - _stbi__err(6346); - $$6$ph = 0; - break; - } - case 17: { - _stbi__err(6366); - $$6$ph = 0; - break; - } - case 20: { - _stbi__err(6366); - $$6$ph = 0; - break; - } - case 22: { - _stbi__err(6366); - $$6$ph = 0; - break; - } - case 24: { - _stbi__err(6376); - $$6$ph = 0; - break; - } - case 26: { - _stbi__err(6392); - $$6$ph = 0; - break; - } - case 28: { - _stbi__err(6410); - $$6$ph = 0; - break; - } - case 31: { - _stbi__err(6431); - $$6$ph = 0; - break; - } - case 34: { - _stbi__err(6336); - $$6$ph = 0; - break; - } - case 37: { - _stbi__err(6336); - $$6$ph = 0; - break; - } - case 39: { - _stbi__err(6445); - $$6$ph = 0; - break; - } - case 41: { - _stbi__err(6460); - $$6$ph = 0; - break; - } - case 44: { - _stbi__err(6460); - $$6$ph = 0; - break; - } - case 47: { - _stbi__err(6445); - $$6$ph = 0; - break; - } - case 49: { - _stbi__err(6473); - $$6$ph = 0; - break; - } - case 52: { - $89 = ((($8)) + 8|0); - HEAP32[$89>>2] = 4; - $$6$ph = 1; - break; - } - case 54: { - _stbi__err(6489); - $$6$ph = 0; - break; - } - case 58: { - _stbi__err(6506); - $$6$ph = 0; - break; - } - case 61: { - _stbi__err(6519); - $$6$ph = 0; - break; - } - case 63: { - _stbi__err(6506); - $$6$ph = 0; - break; - } - case 70: { - _stbi__err(6445); - $$6$ph = 0; - break; - } - case 72: { - _stbi__err(6544); - $$6$ph = 0; - break; - } - case 74: { - $133 = $$0208&255; - $134 = ((($8)) + 8|0); - HEAP32[$134>>2] = $133; - $$6$ph = 1; - break; - } - case 81: { - _stbi__err(6129); - $$6$ph = 0; - break; - } - case 83: { - _stbi__err(6552); - $$6$ph = 0; - break; - } - case 85: { - $156 = ($$0243|0)==(0); - do { - if ($156) { - $157 = ($1|0)==(0); - if ($157) { - $158 = HEAP32[$10>>2]|0; - $159 = ($158|0)==(0|0); - if ($159) { - _stbi__err(6562); - $$4 = 0; - break; - } - $160 = HEAP32[$8>>2]|0; - $161 = ((($0)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = Math_imul($162, $160)|0; - $164 = (($163) + 7)|0; - $165 = $164 >>> 3; - $166 = ((($8)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = ((($8)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = Math_imul($169, $167)|0; - $171 = Math_imul($170, $165)|0; - $172 = (($171) + ($167))|0; - HEAP32[$7>>2] = $172; - $173 = ($$0230|0)!=(0); - $174 = $173 ^ 1; - $175 = $174&1; - $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0216,$172,$7,$175)|0); - HEAP32[$9>>2] = $176; - $177 = ($176|0)==(0|0); - if ($177) { - $$4 = 0; - } else { - $178 = HEAP32[$10>>2]|0; - _free($178); - HEAP32[$10>>2] = 0; - $179 = HEAP32[$168>>2]|0; - $180 = (($179) + 1)|0; - $notlhs = ($180|0)!=($2|0); - $notrhs = ($2|0)==(3); - $or$cond5$not = $notrhs | $notlhs; - $181 = ($$0208<<24>>24)!=(0); - $or$cond7 = $181 | $or$cond5$not; - $182 = ($$0213<<24>>24)==(0); - $or$cond250 = $182 & $or$cond7; - $$256 = $or$cond250 ? $179 : $180; - $183 = ((($8)) + 12|0); - HEAP32[$183>>2] = $$256; - $184 = HEAP32[$9>>2]|0; - $185 = HEAP32[$7>>2]|0; - $186 = HEAP32[$161>>2]|0; - $187 = (_stbi__create_png_image($0,$184,$185,$$256,$186,$$0233,$$0237)|0); - $188 = ($187|0)==(0); - if ($188) { - $$4 = 0; - } else { - $189 = ($$0213<<24>>24)!=(0); - do { - if ($189) { - $190 = HEAP32[$161>>2]|0; - $191 = ($190|0)==(16); - if ($191) { - $192 = HEAP32[$183>>2]|0; - _stbi__compute_transparency16($0,$5,$192); - break; - } else { - $193 = HEAP32[$183>>2]|0; - _stbi__compute_transparency($0,$4,$193); - break; - } - } - } while(0); - $194 = HEAP32[4856]|0; - $195 = ($194|0)!=(0); - $or$cond11 = $173 & $195; - if ($or$cond11) { - $196 = HEAP32[$183>>2]|0; - $197 = ($196|0)>(2); - if ($197) { - _stbi__de_iphone($0); - } - } - if ($181) { - $198 = $$0208&255; - HEAP32[$168>>2] = $198; - $199 = ($2|0)>(2); - $$ = $199 ? $2 : $198; - HEAP32[$183>>2] = $$; - $200 = (_stbi__expand_png_palette($0,$3,$$)|0); - $201 = ($200|0)==(0); - if ($201) { - $$4 = 0; - break; - } - } else { - if ($189) { - $202 = HEAP32[$168>>2]|0; - $203 = (($202) + 1)|0; - HEAP32[$168>>2] = $203; - } - } - $204 = HEAP32[$9>>2]|0; - _free($204); - HEAP32[$9>>2] = 0; - $$4 = 1; - } - } - } else { - $$4 = 1; - } - } else { - _stbi__err(6445); - $$4 = 0; - } - } while(0); - $$6$ph = $$4; - break; - } - case 106: { - _stbi__err(6445); - $$6$ph = 0; - break; - } - case 108: { - $208 = $25 >>> 24; - $209 = $208&255; - HEAP8[6570] = $209; - $210 = HEAP32[$15>>2]|0; - $211 = $210 >>> 16; - $212 = $211&255; - HEAP8[(6571)>>0] = $212; - $213 = $210 >>> 8; - $214 = $213&255; - HEAP8[(6572)>>0] = $214; - $215 = $210&255; - HEAP8[(6573)>>0] = $215; - _stbi__err(6570); - $$6$ph = 0; - break; - } - } - $$7 = $$6$ph; - STACKTOP = sp;return ($$7|0); -} -function _stbi__convert_format($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6232|0),(6164|0),1477,(6288|0)); - // unreachable; - } - $7 = (_stbi__malloc_mad3($2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - _free($0); - _stbi__err(6129); - $$0163 = 0; - return ($$0163|0); - } - $9 = ($4|0)>(0); - L11: do { - if ($9) { - $10 = $1 << 3; - $11 = (($10) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $12 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $13 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $14 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $15 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $16 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $17 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $18 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $19 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $20 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $21 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $22 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $23 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $24 = Math_imul($$0164259, $3)|0; - $25 = Math_imul($24, $1)|0; - $26 = (($0) + ($25)|0); - $27 = Math_imul($24, $2)|0; - $28 = (($7) + ($27)|0); - do { - switch ($11|0) { - case 10: { - if ($12) { - $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; - while(1) { - $29 = HEAP8[$$0151255>>0]|0; - HEAP8[$$0256>>0] = $29; - $30 = ((($$0256)) + 1|0); - HEAP8[$30>>0] = -1; - $31 = ((($$0151255)) + 1|0); - $32 = ((($$0256)) + 2|0); - $$0165 = (($$0165257) + -1)|0; - $33 = ($$0165|0)>(-1); - if ($33) { - $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; - } else { - break; - } - } - } - break; - } - case 11: { - if ($13) { - $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; - while(1) { - $34 = HEAP8[$$1152250>>0]|0; - $35 = ((($$1251)) + 2|0); - HEAP8[$35>>0] = $34; - $36 = ((($$1251)) + 1|0); - HEAP8[$36>>0] = $34; - HEAP8[$$1251>>0] = $34; - $37 = ((($$1152250)) + 1|0); - $38 = ((($$1251)) + 3|0); - $$1166 = (($$1166252) + -1)|0; - $39 = ($$1166|0)>(-1); - if ($39) { - $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; - } else { - break; - } - } - } - break; - } - case 12: { - if ($14) { - $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; - while(1) { - $40 = HEAP8[$$2153245>>0]|0; - $41 = ((($$2246)) + 2|0); - HEAP8[$41>>0] = $40; - $42 = ((($$2246)) + 1|0); - HEAP8[$42>>0] = $40; - HEAP8[$$2246>>0] = $40; - $43 = ((($$2246)) + 3|0); - HEAP8[$43>>0] = -1; - $44 = ((($$2153245)) + 1|0); - $45 = ((($$2246)) + 4|0); - $$2167 = (($$2167247) + -1)|0; - $46 = ($$2167|0)>(-1); - if ($46) { - $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; - } else { - break; - } - } - } - break; - } - case 17: { - if ($15) { - $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; - while(1) { - $47 = HEAP8[$$3154240>>0]|0; - HEAP8[$$3241>>0] = $47; - $48 = ((($$3154240)) + 2|0); - $49 = ((($$3241)) + 1|0); - $$3168 = (($$3168242) + -1)|0; - $50 = ($$3168|0)>(-1); - if ($50) { - $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; - } else { - break; - } - } - } - break; - } - case 19: { - if ($16) { - $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; - while(1) { - $51 = HEAP8[$$4155235>>0]|0; - $52 = ((($$4236)) + 2|0); - HEAP8[$52>>0] = $51; - $53 = ((($$4236)) + 1|0); - HEAP8[$53>>0] = $51; - HEAP8[$$4236>>0] = $51; - $54 = ((($$4155235)) + 2|0); - $55 = ((($$4236)) + 3|0); - $$4169 = (($$4169237) + -1)|0; - $56 = ($$4169|0)>(-1); - if ($56) { - $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; - } else { - break; - } - } - } - break; - } - case 20: { - if ($17) { - $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; - while(1) { - $57 = HEAP8[$$5156230>>0]|0; - $58 = ((($$5231)) + 2|0); - HEAP8[$58>>0] = $57; - $59 = ((($$5231)) + 1|0); - HEAP8[$59>>0] = $57; - HEAP8[$$5231>>0] = $57; - $60 = ((($$5156230)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((($$5231)) + 3|0); - HEAP8[$62>>0] = $61; - $63 = ((($$5156230)) + 2|0); - $64 = ((($$5231)) + 4|0); - $$5170 = (($$5170232) + -1)|0; - $65 = ($$5170|0)>(-1); - if ($65) { - $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; - } else { - break; - } - } - } - break; - } - case 28: { - if ($18) { - $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; - while(1) { - $66 = HEAP8[$$6157225>>0]|0; - HEAP8[$$6226>>0] = $66; - $67 = ((($$6157225)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($$6226)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ((($$6226)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = ((($$6226)) + 3|0); - HEAP8[$73>>0] = -1; - $74 = ((($$6157225)) + 3|0); - $75 = ((($$6226)) + 4|0); - $$6171 = (($$6171227) + -1)|0; - $76 = ($$6171|0)>(-1); - if ($76) { - $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; - } else { - break; - } - } - } - break; - } - case 25: { - if ($19) { - $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; - while(1) { - $77 = HEAP8[$$7158220>>0]|0; - $78 = $77&255; - $79 = ((($$7158220)) + 1|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__compute_y($78,$81,$84)|0); - HEAP8[$$7221>>0] = $85; - $86 = ((($$7158220)) + 3|0); - $87 = ((($$7221)) + 1|0); - $$7172 = (($$7172222) + -1)|0; - $88 = ($$7172|0)>(-1); - if ($88) { - $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; - } else { - break; - } - } - } - break; - } - case 26: { - if ($20) { - $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; - while(1) { - $89 = HEAP8[$$8159215>>0]|0; - $90 = $89&255; - $91 = ((($$8159215)) + 1|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = (_stbi__compute_y($90,$93,$96)|0); - HEAP8[$$8216>>0] = $97; - $98 = ((($$8216)) + 1|0); - HEAP8[$98>>0] = -1; - $99 = ((($$8159215)) + 3|0); - $100 = ((($$8216)) + 2|0); - $$8173 = (($$8173217) + -1)|0; - $101 = ($$8173|0)>(-1); - if ($101) { - $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; - } else { - break; - } - } - } - break; - } - case 33: { - if ($21) { - $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; - while(1) { - $102 = HEAP8[$$9160210>>0]|0; - $103 = $102&255; - $104 = ((($$9160210)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (_stbi__compute_y($103,$106,$109)|0); - HEAP8[$$9211>>0] = $110; - $111 = ((($$9160210)) + 4|0); - $112 = ((($$9211)) + 1|0); - $$9174 = (($$9174212) + -1)|0; - $113 = ($$9174|0)>(-1); - if ($113) { - $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; - } else { - break; - } - } - } - break; - } - case 34: { - if ($22) { - $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; - while(1) { - $114 = HEAP8[$$10161205>>0]|0; - $115 = $114&255; - $116 = ((($$10161205)) + 1|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = (_stbi__compute_y($115,$118,$121)|0); - HEAP8[$$10206>>0] = $122; - $123 = ((($$10161205)) + 3|0); - $124 = HEAP8[$123>>0]|0; - $125 = ((($$10206)) + 1|0); - HEAP8[$125>>0] = $124; - $126 = ((($$10161205)) + 4|0); - $127 = ((($$10206)) + 2|0); - $$10175 = (($$10175207) + -1)|0; - $128 = ($$10175|0)>(-1); - if ($128) { - $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; - } else { - break; - } - } - } - break; - } - case 35: { - if ($23) { - $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; - while(1) { - $129 = HEAP8[$$11162201>>0]|0; - HEAP8[$$11202>>0] = $129; - $130 = ((($$11162201)) + 1|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($$11202)) + 1|0); - HEAP8[$132>>0] = $131; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP8[$133>>0]|0; - $135 = ((($$11202)) + 2|0); - HEAP8[$135>>0] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = ((($$11202)) + 3|0); - $$11176 = (($$11176203) + -1)|0; - $138 = ($$11176|0)>(-1); - if ($138) { - $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $139 = (($$0164259) + 1)|0; - $140 = ($139|0)<($4|0); - if ($140) { - $$0164259 = $139; - } else { - break L11; - } - } - ___assert_fail((6286|0),(6164|0),1506,(6288|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $7; - return ($$0163|0); -} -function _stbi__convert_format16($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6232|0),(6164|0),1526,(6263|0)); - // unreachable; - } - $7 = $2 << 1; - $8 = Math_imul($7, $3)|0; - $9 = Math_imul($8, $4)|0; - $10 = (_stbi__malloc($9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($0); - _stbi__err(6129); - $$0163 = 0; - return ($$0163|0); - } - $12 = ($4|0)>(0); - L11: do { - if ($12) { - $13 = $1 << 3; - $14 = (($13) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $15 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $16 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $17 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $18 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $19 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $20 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $21 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $22 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $23 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $24 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $25 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $26 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $27 = Math_imul($$0164259, $3)|0; - $28 = Math_imul($27, $1)|0; - $29 = (($0) + ($28<<1)|0); - $30 = Math_imul($27, $2)|0; - $31 = (($10) + ($30<<1)|0); - do { - switch ($14|0) { - case 10: { - if ($15) { - $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; - while(1) { - $32 = HEAP16[$$0151255>>1]|0; - HEAP16[$$0256>>1] = $32; - $33 = ((($$0256)) + 2|0); - HEAP16[$33>>1] = -1; - $34 = ((($$0151255)) + 2|0); - $35 = ((($$0256)) + 4|0); - $$0165 = (($$0165257) + -1)|0; - $36 = ($$0165|0)>(-1); - if ($36) { - $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; - } else { - break; - } - } - } - break; - } - case 11: { - if ($16) { - $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; - while(1) { - $37 = HEAP16[$$1152250>>1]|0; - $38 = ((($$1251)) + 4|0); - HEAP16[$38>>1] = $37; - $39 = ((($$1251)) + 2|0); - HEAP16[$39>>1] = $37; - HEAP16[$$1251>>1] = $37; - $40 = ((($$1152250)) + 2|0); - $41 = ((($$1251)) + 6|0); - $$1166 = (($$1166252) + -1)|0; - $42 = ($$1166|0)>(-1); - if ($42) { - $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; - } else { - break; - } - } - } - break; - } - case 12: { - if ($17) { - $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; - while(1) { - $43 = HEAP16[$$2153245>>1]|0; - $44 = ((($$2246)) + 4|0); - HEAP16[$44>>1] = $43; - $45 = ((($$2246)) + 2|0); - HEAP16[$45>>1] = $43; - HEAP16[$$2246>>1] = $43; - $46 = ((($$2246)) + 6|0); - HEAP16[$46>>1] = -1; - $47 = ((($$2153245)) + 2|0); - $48 = ((($$2246)) + 8|0); - $$2167 = (($$2167247) + -1)|0; - $49 = ($$2167|0)>(-1); - if ($49) { - $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; - } else { - break; - } - } - } - break; - } - case 17: { - if ($18) { - $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; - while(1) { - $50 = HEAP16[$$3154240>>1]|0; - HEAP16[$$3241>>1] = $50; - $51 = ((($$3154240)) + 4|0); - $52 = ((($$3241)) + 2|0); - $$3168 = (($$3168242) + -1)|0; - $53 = ($$3168|0)>(-1); - if ($53) { - $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; - } else { - break; - } - } - } - break; - } - case 19: { - if ($19) { - $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; - while(1) { - $54 = HEAP16[$$4155235>>1]|0; - $55 = ((($$4236)) + 4|0); - HEAP16[$55>>1] = $54; - $56 = ((($$4236)) + 2|0); - HEAP16[$56>>1] = $54; - HEAP16[$$4236>>1] = $54; - $57 = ((($$4155235)) + 4|0); - $58 = ((($$4236)) + 6|0); - $$4169 = (($$4169237) + -1)|0; - $59 = ($$4169|0)>(-1); - if ($59) { - $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; - } else { - break; - } - } - } - break; - } - case 20: { - if ($20) { - $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; - while(1) { - $60 = HEAP16[$$5156230>>1]|0; - $61 = ((($$5231)) + 4|0); - HEAP16[$61>>1] = $60; - $62 = ((($$5231)) + 2|0); - HEAP16[$62>>1] = $60; - HEAP16[$$5231>>1] = $60; - $63 = ((($$5156230)) + 2|0); - $64 = HEAP16[$63>>1]|0; - $65 = ((($$5231)) + 6|0); - HEAP16[$65>>1] = $64; - $66 = ((($$5156230)) + 4|0); - $67 = ((($$5231)) + 8|0); - $$5170 = (($$5170232) + -1)|0; - $68 = ($$5170|0)>(-1); - if ($68) { - $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; - } else { - break; - } - } - } - break; - } - case 28: { - if ($21) { - $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; - while(1) { - $69 = HEAP16[$$6157225>>1]|0; - HEAP16[$$6226>>1] = $69; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP16[$70>>1]|0; - $72 = ((($$6226)) + 2|0); - HEAP16[$72>>1] = $71; - $73 = ((($$6157225)) + 4|0); - $74 = HEAP16[$73>>1]|0; - $75 = ((($$6226)) + 4|0); - HEAP16[$75>>1] = $74; - $76 = ((($$6226)) + 6|0); - HEAP16[$76>>1] = -1; - $77 = ((($$6157225)) + 6|0); - $78 = ((($$6226)) + 8|0); - $$6171 = (($$6171227) + -1)|0; - $79 = ($$6171|0)>(-1); - if ($79) { - $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; - } else { - break; - } - } - } - break; - } - case 25: { - if ($22) { - $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; - while(1) { - $80 = HEAP16[$$7158220>>1]|0; - $81 = $80&65535; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = ((($$7158220)) + 4|0); - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = (_stbi__compute_y_16($81,$84,$87)|0); - HEAP16[$$7221>>1] = $88; - $89 = ((($$7158220)) + 6|0); - $90 = ((($$7221)) + 2|0); - $$7172 = (($$7172222) + -1)|0; - $91 = ($$7172|0)>(-1); - if ($91) { - $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; - } else { - break; - } - } - } - break; - } - case 26: { - if ($23) { - $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; - while(1) { - $92 = HEAP16[$$8159215>>1]|0; - $93 = $92&65535; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = ((($$8159215)) + 4|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = (_stbi__compute_y_16($93,$96,$99)|0); - HEAP16[$$8216>>1] = $100; - $101 = ((($$8216)) + 2|0); - HEAP16[$101>>1] = -1; - $102 = ((($$8159215)) + 6|0); - $103 = ((($$8216)) + 4|0); - $$8173 = (($$8173217) + -1)|0; - $104 = ($$8173|0)>(-1); - if ($104) { - $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; - } else { - break; - } - } - } - break; - } - case 33: { - if ($24) { - $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; - while(1) { - $105 = HEAP16[$$9160210>>1]|0; - $106 = $105&65535; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - $110 = ((($$9160210)) + 4|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111&65535; - $113 = (_stbi__compute_y_16($106,$109,$112)|0); - HEAP16[$$9211>>1] = $113; - $114 = ((($$9160210)) + 8|0); - $115 = ((($$9211)) + 2|0); - $$9174 = (($$9174212) + -1)|0; - $116 = ($$9174|0)>(-1); - if ($116) { - $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; - } else { - break; - } - } - } - break; - } - case 34: { - if ($25) { - $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; - while(1) { - $117 = HEAP16[$$10161205>>1]|0; - $118 = $117&65535; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = ((($$10161205)) + 4|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = (_stbi__compute_y_16($118,$121,$124)|0); - HEAP16[$$10206>>1] = $125; - $126 = ((($$10161205)) + 6|0); - $127 = HEAP16[$126>>1]|0; - $128 = ((($$10206)) + 2|0); - HEAP16[$128>>1] = $127; - $129 = ((($$10161205)) + 8|0); - $130 = ((($$10206)) + 4|0); - $$10175 = (($$10175207) + -1)|0; - $131 = ($$10175|0)>(-1); - if ($131) { - $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; - } else { - break; - } - } - } - break; - } - case 35: { - if ($26) { - $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; - while(1) { - $132 = HEAP16[$$11162201>>1]|0; - HEAP16[$$11202>>1] = $132; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP16[$133>>1]|0; - $135 = ((($$11202)) + 2|0); - HEAP16[$135>>1] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = HEAP16[$136>>1]|0; - $138 = ((($$11202)) + 4|0); - HEAP16[$138>>1] = $137; - $139 = ((($$11162201)) + 8|0); - $140 = ((($$11202)) + 6|0); - $$11176 = (($$11176203) + -1)|0; - $141 = ($$11176|0)>(-1); - if ($141) { - $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $142 = (($$0164259) + 1)|0; - $143 = ($142|0)<($4|0); - if ($143) { - $$0164259 = $142; - } else { - break L11; - } - } - ___assert_fail((6286|0),(6164|0),1555,(6263|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $10; - return ($$0163|0); -} -function _stbi__compute_y_16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&65535; - return ($9|0); -} -function _stbi__compute_y($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&255; - return ($9|0); -} -function _stbi__check_png_header($0) { - $0 = $0|0; - var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = ($1<<24>>24)==(-119); - if ($2) { - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = (_stbi__get8($0)|0); - $6 = ($5<<24>>24)==(78); - if ($6) { - $7 = (_stbi__get8($0)|0); - $8 = ($7<<24>>24)==(71); - if ($8) { - $9 = (_stbi__get8($0)|0); - $10 = ($9<<24>>24)==(13); - if ($10) { - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $13 = (_stbi__get8($0)|0); - $14 = ($13<<24>>24)==(26); - if ($14) { - $15 = (_stbi__get8($0)|0); - $16 = ($15<<24>>24)==(10); - if ($16) { - $$05 = 1; - return ($$05|0); - } - } - } - } - } - } - } - } - _stbi__err(7566); - $$05 = 0; - return ($$05|0); -} -function _stbi__get_chunk_header($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__get32be($1)|0); - $3 = (_stbi__get32be($1)|0); - HEAP32[$0>>2] = $2; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; - return; -} -function _stbi__skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(0); - if ($2) { - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 168|0); - HEAP32[$5>>2] = $4; - return; - } - $6 = ((($0)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 168|0); - $12 = HEAP32[$11>>2]|0; - $13 = $10; - $14 = (($13) - ($12))|0; - $15 = ($14|0)<($1|0); - if ($15) { - HEAP32[$11>>2] = $10; - $16 = ((($0)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($1) - ($14))|0; - FUNCTION_TABLE_vii[$17 & 63]($19,$20); - return; - } - } - $21 = ((($0)) + 168|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($1)|0); - HEAP32[$21>>2] = $23; - return; -} -function _stbi__get32be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get16be($0)|0); - $2 = $1 << 16; - $3 = (_stbi__get16be($0)|0); - $4 = (($2) + ($3))|0; - return ($4|0); -} -function _stbi__get8($0) { - $0 = $0|0; - var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 168|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)<($4>>>0); - do { - if ($5) { - $$sink6 = $2; - } else { - $6 = ((($0)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - _stbi__refill_buffer($0); - $9 = HEAP32[$1>>2]|0; - $$sink6 = $9; - break; - } - } - } while(0); - $10 = ((($$sink6)) + 1|0); - HEAP32[$1>>2] = $10; - $11 = HEAP8[$$sink6>>0]|0; - $$0 = $11; - return ($$0|0); -} -function _stbi__get16be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = $1&255; - $3 = $2 << 8; - $4 = (_stbi__get8($0)|0); - $5 = $4&255; - $6 = $3 | $5; - return ($6|0); -} -function _stbi__getn($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($0)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 168|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - $11 = (($7) - ($10))|0; - $12 = ($11|0)<($2|0); - if ($12) { - _memcpy(($1|0),($9|0),($11|0))|0; - $13 = HEAP32[$3>>2]|0; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($1) + ($11)|0); - $17 = (($2) - ($11))|0; - $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); - $19 = ($18|0)==($17|0); - $20 = $19&1; - $21 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = $21; - $$1 = $20; - return ($$1|0); - } - } - $22 = ((($0)) + 168|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($2)|0); - $25 = ((($0)) + 172|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($24>>>0)>($26>>>0); - if ($27) { - $$1 = 0; - return ($$1|0); - } - _memcpy(($1|0),($23|0),($2|0))|0; - $28 = HEAP32[$22>>2]|0; - $29 = (($28) + ($2)|0); - HEAP32[$22>>2] = $29; - $$1 = 1; - return ($$1|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); - $5 = sp; - $6 = (_stbi__malloc($2)|0); - $7 = ($6|0)==(0|0); - do { - if ($7) { - $$0 = 0; - } else { - HEAP32[$5>>2] = $0; - $8 = (($0) + ($1)|0); - $9 = ((($5)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); - $11 = ($10|0)==(0); - $12 = ((($5)) + 20|0); - $13 = HEAP32[$12>>2]|0; - if ($11) { - _free($13); - $$0 = 0; - break; - } - $14 = ($3|0)==(0|0); - if ($14) { - $$0 = $13; - } else { - $15 = ((($5)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = $13; - $18 = (($16) - ($17))|0; - HEAP32[$3>>2] = $18; - $$0 = $13; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = ($4|0)==(16); - $8 = $7 ? 2 : 1; - $9 = Math_imul($8, $3)|0; - $10 = ($6|0)==(0); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($11)) + 4|0); - $14 = HEAP32[$13>>2]|0; - if ($10) { - $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); - $$4 = $15; - return ($$4|0); - } - $16 = (_stbi__malloc_mad3($12,$14,$9)|0); - $17 = ((($0)) + 12|0); - $18 = ((($0)) + 12|0); - $$0103117 = 0;$$095119 = $1;$$099118 = $2; - while(1) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (3028 + ($$0103117<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (3056 + ($$0103117<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($20) + -1)|0; - $26 = (($25) - ($22))|0; - $27 = (($26) + ($24))|0; - $28 = (($27>>>0) / ($24>>>0))&-1; - $29 = ((($19)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (3084 + ($$0103117<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (3112 + ($$0103117<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($30) + -1)|0; - $36 = (($35) - ($32))|0; - $37 = (($36) + ($34))|0; - $38 = (($37>>>0) / ($34>>>0))&-1; - $39 = ($24>>>0)<=($27>>>0); - $40 = ($34>>>0)<=($37>>>0); - $or$cond = $39 & $40; - if ($or$cond) { - $41 = ((($19)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = Math_imul($28, $4)|0; - $44 = Math_imul($43, $42)|0; - $45 = (($44) + 7)|0; - $46 = $45 >> 3; - $47 = (($46) + 1)|0; - $48 = Math_imul($47, $38)|0; - $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 13; - break; - } - $51 = ($38|0)>(0); - if ($51) { - $52 = ($28|0)>(0); - $$0106116 = 0; - while(1) { - if ($52) { - $53 = HEAP32[$33>>2]|0; - $54 = Math_imul($53, $$0106116)|0; - $55 = HEAP32[$31>>2]|0; - $56 = (($54) + ($55))|0; - $57 = HEAP32[$23>>2]|0; - $58 = HEAP32[$21>>2]|0; - $59 = Math_imul($56, $9)|0; - $60 = Math_imul($$0106116, $28)|0; - $$0107115 = 0; - while(1) { - $61 = Math_imul($57, $$0107115)|0; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($59, $64)|0; - $66 = (($16) + ($65)|0); - $67 = Math_imul($62, $9)|0; - $68 = (($66) + ($67)|0); - $69 = HEAP32[$18>>2]|0; - $70 = (($$0107115) + ($60))|0; - $71 = Math_imul($70, $9)|0; - $72 = (($69) + ($71)|0); - _memcpy(($68|0),($72|0),($9|0))|0; - $73 = (($$0107115) + 1)|0; - $74 = ($73|0)<($28|0); - if ($74) { - $$0107115 = $73; - } else { - break; - } - } - } - $75 = (($$0106116) + 1)|0; - $76 = ($75|0)<($38|0); - if ($76) { - $$0106116 = $75; - } else { - break; - } - } - } - $77 = HEAP32[$17>>2]|0; - _free($77); - $78 = (($$095119) + ($48)|0); - $79 = (($$099118) - ($48))|0; - $$3102$ph = $79;$$398$ph = $78; - } else { - $$3102$ph = $$099118;$$398$ph = $$095119; - } - $80 = (($$0103117) + 1)|0; - $81 = ($80|0)<(7); - if ($81) { - $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; - } else { - label = 15; - break; - } - } - if ((label|0) == 13) { - _free($16); - $$4 = 0; - return ($$4|0); - } - else if ((label|0) == 15) { - $82 = ((($0)) + 12|0); - HEAP32[$82>>2] = $16; - $$4 = 1; - return ($$4|0); - } - return (0)|0; -} -function _stbi__compute_transparency16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP16[$$04>>1]|0; - $15 = HEAP16[$1>>1]|0; - $not$ = ($14<<16>>16)!=($15<<16>>16); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 2|0); - HEAP16[$17>>1] = $16; - $18 = ((($$04)) + 4|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 2|0); - $12 = ((($1)) + 4|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP16[$$16>>1]|0; - $21 = HEAP16[$1>>1]|0; - $22 = ($20<<16>>16)==($21<<16>>16); - if ($22) { - $23 = ((($$16)) + 2|0); - $24 = HEAP16[$23>>1]|0; - $25 = HEAP16[$11>>1]|0; - $26 = ($24<<16>>16)==($25<<16>>16); - if ($26) { - $27 = ((($$16)) + 4|0); - $28 = HEAP16[$27>>1]|0; - $29 = HEAP16[$12>>1]|0; - $30 = ($28<<16>>16)==($29<<16>>16); - if ($30) { - $31 = ((($$16)) + 6|0); - HEAP16[$31>>1] = 0; - } - } - } - $32 = ((($$16)) + 8|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6629|0),(6164|0),4568,(6681|0)); - // unreachable; - } - } -} -function _stbi__compute_transparency($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP8[$$04>>0]|0; - $15 = HEAP8[$1>>0]|0; - $not$ = ($14<<24>>24)!=($15<<24>>24); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 1|0); - HEAP8[$17>>0] = $16; - $18 = ((($$04)) + 2|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 1|0); - $12 = ((($1)) + 2|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP8[$$16>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = ($20<<24>>24)==($21<<24>>24); - if ($22) { - $23 = ((($$16)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP8[$11>>0]|0; - $26 = ($24<<24>>24)==($25<<24>>24); - if ($26) { - $27 = ((($$16)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = HEAP8[$12>>0]|0; - $30 = ($28<<24>>24)==($29<<24>>24); - if ($30) { - $31 = ((($$16)) + 3|0); - HEAP8[$31>>0] = 0; - } - } - } - $32 = ((($$16)) + 4|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6629|0),(6164|0),4543,(6654|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($0) { - $0 = $0|0; - var $$05461 = 0, $$062 = 0, $$15566 = 0, $$167 = 0, $$25663 = 0, $$264 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $exitcond = 0, $exitcond71 = 0; - var $exitcond72 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = Math_imul($4, $2)|0; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($1)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($9|0) { - case 3: { - $10 = ($5|0)==(0); - if ($10) { - return; - } else { - $$05461 = $7;$$062 = 0; - } - while(1) { - $11 = HEAP8[$$05461>>0]|0; - $12 = ((($$05461)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$$05461>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($$05461)) + 3|0); - $15 = (($$062) + 1)|0; - $exitcond = ($15|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05461 = $14;$$062 = $15; - } - } - return; - break; - } - case 4: { - $16 = HEAP32[4857]|0; - $17 = ($16|0)==(0); - $18 = ($5|0)!=(0); - if ($17) { - if ($18) { - $$25663 = $7;$$264 = 0; - } else { - return; - } - while(1) { - $46 = HEAP8[$$25663>>0]|0; - $47 = ((($$25663)) + 2|0); - $48 = HEAP8[$47>>0]|0; - HEAP8[$$25663>>0] = $48; - HEAP8[$47>>0] = $46; - $49 = ((($$25663)) + 4|0); - $50 = (($$264) + 1)|0; - $exitcond71 = ($50|0)==($5|0); - if ($exitcond71) { - break; - } else { - $$25663 = $49;$$264 = $50; - } - } - return; - } - if ($18) { - $$15566 = $7;$$167 = 0; - } else { - return; - } - while(1) { - $19 = ((($$15566)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = HEAP8[$$15566>>0]|0; - $22 = ($20<<24>>24)==(0); - $23 = ((($$15566)) + 2|0); - $24 = HEAP8[$23>>0]|0; - if ($22) { - HEAP8[$$15566>>0] = $24; - $$sink = $21; - } else { - $25 = $20&255; - $div = ($20&255) >>> 1; - $26 = $24&255; - $27 = ($26*255)|0; - $28 = $div&255; - $29 = (($27) + ($28))|0; - $30 = (($29>>>0) / ($25>>>0))&-1; - $31 = $30&255; - HEAP8[$$15566>>0] = $31; - $32 = ((($$15566)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35) + ($28))|0; - $37 = (($36>>>0) / ($25>>>0))&-1; - $38 = $37&255; - HEAP8[$32>>0] = $38; - $39 = $21&255; - $40 = ($39*255)|0; - $41 = (($40) + ($28))|0; - $42 = (($41>>>0) / ($25>>>0))&-1; - $43 = $42&255; - $$sink = $43; - } - HEAP8[$23>>0] = $$sink; - $44 = ((($$15566)) + 4|0); - $45 = (($$167) + 1)|0; - $exitcond72 = ($45|0)==($5|0); - if ($exitcond72) { - break; - } else { - $$15566 = $44;$$167 = $45; - } - } - return; - break; - } - default: { - ___assert_fail((6595|0),(6164|0),4649,(6613|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_stbi__malloc_mad2($7,$2)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(6129); - $$0 = 0; - return ($$0|0); - } - $12 = ($2|0)==(3); - $13 = ($7|0)!=(0); - if ($12) { - if ($13) { - $$0574 = 0;$$0583 = $10; - while(1) { - $14 = (($9) + ($$0574)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($1) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$$0583>>0] = $19; - $20 = $17 | 1; - $21 = (($1) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($$0583)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($1) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($$0583)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($$0583)) + 3|0); - $29 = (($$0574) + 1)|0; - $exitcond = ($29|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0574 = $29;$$0583 = $28; - } - } - } - } else { - if ($13) { - $$1595 = $10;$$16 = 0; - while(1) { - $30 = (($9) + ($$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($1) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$$1595>>0] = $35; - $36 = $33 | 1; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($$1595)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($1) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($$1595)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($1) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($$1595)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($$1595)) + 4|0); - $49 = (($$16) + 1)|0; - $exitcond9 = ($49|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1595 = $48;$$16 = $49; - } - } - } - } - $50 = HEAP32[$8>>2]|0; - _free($50); - HEAP32[$8>>2] = $10; - $$0 = 1; - return ($$0|0); -} -function _stbi__malloc_mad2($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mad2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__malloc($4)|0); - $$0 = $5; - return ($$0|0); -} -function _stbi__mad2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mul2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $8 = 0; - $7 = $8&1; - return ($7|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__addsizes_valid($4)|0); - $6 = ($5|0)!=(0); - $8 = $6; - $7 = $8&1; - return ($7|0); -} -function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $$0562 = 0, $$0562718 = 0, $$0562719 = 0, $$0565$lcssa = 0, $$0565709 = 0, $$0568$lcssa = 0, $$0568708 = 0, $$0571811 = 0, $$0582 = 0, $$0591 = 0, $$0602810 = 0, $$0605809 = 0, $$0608 = 0, $$0608787 = 0, $$0608790 = 0, $$0617808 = 0, $$0619728 = 0, $$0725 = 0, $$1 = 0, $$10629758 = 0; - var $$11$ph = 0, $$11630749 = 0, $$12741 = 0, $$13733 = 0, $$14$lcssa = 0, $$14707 = 0, $$15$lcssa = 0, $$1566$lcssa = 0, $$1566701 = 0, $$1569$lcssa = 0, $$1569700 = 0, $$15699 = 0, $$1572 = 0, $$16$lcssa = 0, $$1603 = 0, $$1606 = 0, $$1609 = 0, $$1609779 = 0, $$1609782 = 0, $$1618721 = 0; - var $$1620806 = 0, $$16694 = 0, $$1715 = 0, $$1716 = 0, $$2 = 0, $$2567$lcssa = 0, $$2567696 = 0, $$2573789 = 0, $$2593788 = 0, $$2610 = 0, $$2610770 = 0, $$2610774 = 0, $$2621804 = 0, $$3574781 = 0, $$3586772 = 0, $$3594780 = 0, $$3611 = 0, $$3611761 = 0, $$3611765 = 0, $$3622802 = 0; - var $$4$lcssa = 0, $$4575773 = 0, $$4587763 = 0, $$4595771 = 0, $$4612 = 0, $$4612752 = 0, $$4612756 = 0, $$4623800 = 0, $$4695 = 0, $$5576764 = 0, $$5588754 = 0, $$5596762 = 0, $$5613 = 0, $$5613744 = 0, $$5613747 = 0, $$5624798 = 0, $$6577755 = 0, $$6597753 = 0, $$6614 = 0, $$6614736 = 0; - var $$6614739 = 0, $$6625796 = 0, $$7578746 = 0, $$7598745 = 0, $$7615792 = 0, $$7626784 = 0, $$8579738 = 0, $$8599737 = 0, $$8616723 = 0, $$8627776 = 0, $$9580 = 0, $$9600793 = 0, $$9628767 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink635 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; - var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; - var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; - var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; - var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; - var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; - var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; - var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; - var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; - var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; - var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge888 = 0; - var $exitcond = 0, $exitcond858 = 0, $exitcond859 = 0, $exitcond861 = 0, $exitcond863 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond874 = 0, $exitcond875 = 0, $exitcond876 = 0, $exitcond877 = 0, $exitcond878 = 0, $exitcond879 = 0, $exitcond880 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next843 = 0, $indvars$iv$next846 = 0; - var $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv842 = 0, $indvars$iv845 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $or$cond = 0, $scevgep = 0, $scevgep844 = 0, $scevgep847 = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep860 = 0, $scevgep862 = 0, $scevgep864 = 0, $scevgep866 = 0, $scevgep868 = 0; - var $scevgep870 = 0, $scevgep873 = 0, $trunc = 0, $trunc631 = 0, $trunc632 = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = ($6|0)==(16); - $9 = $8 ? 2 : 1; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($4, $3)|0; - $12 = Math_imul($9, $11)|0; - $13 = ((($10)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = Math_imul($9, $3)|0; - $16 = Math_imul($14, $9)|0; - $17 = ($14|0)==($3|0); - $18 = (($14) + 1)|0; - $19 = ($18|0)==($3|0); - $or$cond = $17 | $19; - if (!($or$cond)) { - ___assert_fail((6710|0),(6164|0),4294,(6751|0)); - // unreachable; - } - $20 = (_stbi__malloc_mad3($4,$5,$15)|0); - $21 = ((($0)) + 12|0); - HEAP32[$21>>2] = $20; - $22 = ($20|0)==(0|0); - if ($22) { - _stbi__err(6129); - $$2 = 0; - return ($$2|0); - } - $23 = Math_imul($14, $4)|0; - $24 = Math_imul($23, $6)|0; - $25 = (($24) + 7)|0; - $26 = $25 >>> 3; - $27 = (($26) + 1)|0; - $28 = Math_imul($27, $5)|0; - $29 = ($28>>>0)>($2>>>0); - if ($29) { - _stbi__err(6778); - $$2 = 0; - return ($$2|0); - } - $30 = ($5|0)==(0); - L12: do { - if (!($30)) { - $31 = ($6|0)<(8); - $32 = ($26>>>0)>($4>>>0); - $33 = (($11) - ($26))|0; - $34 = (0 - ($12))|0; - $35 = ($6|0)==(8); - $brmerge = $31 | $17; - $36 = ($4|0)==(0); - $$0608787 = (($4) + -1)|0; - $37 = ($$0608787|0)==(0); - $$1609779 = (($4) + -1)|0; - $38 = ($$1609779|0)==(0); - $$2610770 = (($4) + -1)|0; - $39 = ($$2610770|0)==(0); - $$3611761 = (($4) + -1)|0; - $40 = ($$3611761|0)==(0); - $$4612752 = (($4) + -1)|0; - $41 = ($$4612752|0)==(0); - $$5613744 = (($4) + -1)|0; - $42 = ($$5613744|0)==(0); - $$6614736 = (($4) + -1)|0; - $43 = ($$6614736|0)==(0); - $$not = $8 ^ 1; - $brmerge888 = $36 | $$not; - $$0571811 = $1;$$0602810 = $4;$$0605809 = $16;$$0617808 = 0; - while(1) { - $44 = HEAP32[$21>>2]|0; - $45 = Math_imul($$0617808, $12)|0; - $46 = (($44) + ($45)|0); - $47 = ((($$0571811)) + 1|0); - $48 = HEAP8[$$0571811>>0]|0; - $49 = $48&255; - $50 = ($48&255)>(4); - if ($50) { - label = 101; - break; - } - if ($31) { - if ($32) { - label = 12; - break; - } - $51 = (($46) + ($33)|0); - $$0591 = $51;$$1603 = $26;$$1606 = 1; - } else { - $$0591 = $46;$$1603 = $$0602810;$$1606 = $$0605809; - } - $52 = (($$0591) + ($34)|0); - $53 = ($$0617808|0)==(0); - if ($53) { - $54 = (6817 + ($49)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0582 = $56; - } else { - $$0582 = $49; - } - $57 = ($$1606|0)>(0); - L24: do { - if ($57) { - $trunc632 = $$0582&255; - $$0619728 = 0; - while(1) { - switch ($trunc632<<24>>24) { - case 0: { - $58 = (($47) + ($$0619728)|0); - $59 = HEAP8[$58>>0]|0; - $$sink = $59; - label = 26; - break; - } - case 1: { - $60 = (($47) + ($$0619728)|0); - $61 = HEAP8[$60>>0]|0; - $$sink = $61; - label = 26; - break; - } - case 2: { - $62 = (($47) + ($$0619728)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = (($52) + ($$0619728)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = (($67) + ($64))|0; - $69 = $68&255; - $$sink = $69; - label = 26; - break; - } - case 3: { - $70 = (($47) + ($$0619728)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = (($52) + ($$0619728)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $$sink = $78; - label = 26; - break; - } - case 4: { - $79 = (($47) + ($$0619728)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (($52) + ($$0619728)|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__paeth(0,$84,0)|0); - $86 = (($85) + ($81))|0; - $87 = $86&255; - $$sink = $87; - label = 26; - break; - } - case 5: { - $88 = (($47) + ($$0619728)|0); - $89 = HEAP8[$88>>0]|0; - $$sink = $89; - label = 26; - break; - } - case 6: { - $90 = (($47) + ($$0619728)|0); - $91 = HEAP8[$90>>0]|0; - $$sink = $91; - label = 26; - break; - } - default: { - } - } - if ((label|0) == 26) { - label = 0; - $$sink1 = (($$0591) + ($$0619728)|0); - HEAP8[$$sink1>>0] = $$sink; - } - $92 = (($$0619728) + 1)|0; - $exitcond858 = ($92|0)==($$1606|0); - if ($exitcond858) { - break L24; - } else { - $$0619728 = $92; - } - } - } - } while(0); - do { - if ($35) { - if (!($17)) { - $93 = (($$0591) + ($14)|0); - HEAP8[$93>>0] = -1; - } - $94 = (($47) + ($14)|0); - $$1572 = $94;$$sink635 = $3; - } else { - if (!($8)) { - $99 = ((($$0571811)) + 2|0); - $$1572 = $99;$$sink635 = 1; - break; - } - if (!($17)) { - $95 = (($$1606) + 1)|0; - $96 = (($$0591) + ($95)|0); - $97 = (($$0591) + ($$1606)|0); - HEAP8[$97>>0] = -1; - HEAP8[$96>>0] = -1; - } - $98 = (($47) + ($$1606)|0); - $$1572 = $98;$$sink635 = $15; - } - } while(0); - $100 = (($$0591) + ($$sink635)|0); - $101 = (($52) + ($$sink635)|0); - if ($brmerge) { - $102 = (($$1603) + -1)|0; - $103 = Math_imul($102, $$1606)|0; - $trunc631 = $$0582&255; - switch ($trunc631<<24>>24) { - case 0: { - _memcpy(($100|0),($$1572|0),($103|0))|0; - break; - } - case 1: { - $109 = ($103|0)>(0); - if ($109) { - $$1620806 = 0; - while(1) { - $110 = (($$1572) + ($$1620806)|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = (($$1620806) - ($$1606))|0; - $114 = (($100) + ($113)|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = (($116) + ($112))|0; - $118 = $117&255; - $119 = (($100) + ($$1620806)|0); - HEAP8[$119>>0] = $118; - $120 = (($$1620806) + 1)|0; - $exitcond880 = ($120|0)==($103|0); - if ($exitcond880) { - break; - } else { - $$1620806 = $120; - } - } - } - break; - } - case 2: { - $108 = ($103|0)>(0); - if ($108) { - $$2621804 = 0; - while(1) { - $121 = (($$1572) + ($$2621804)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = (($101) + ($$2621804)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = (($126) + ($123))|0; - $128 = $127&255; - $129 = (($100) + ($$2621804)|0); - HEAP8[$129>>0] = $128; - $130 = (($$2621804) + 1)|0; - $exitcond879 = ($130|0)==($103|0); - if ($exitcond879) { - break; - } else { - $$2621804 = $130; - } - } - } - break; - } - case 3: { - $107 = ($103|0)>(0); - if ($107) { - $$3622802 = 0; - while(1) { - $131 = (($$1572) + ($$3622802)|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = (($101) + ($$3622802)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = (($$3622802) - ($$1606))|0; - $138 = (($100) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = (($140) + ($136))|0; - $142 = $141 >>> 1; - $143 = (($142) + ($133))|0; - $144 = $143&255; - $145 = (($100) + ($$3622802)|0); - HEAP8[$145>>0] = $144; - $146 = (($$3622802) + 1)|0; - $exitcond878 = ($146|0)==($103|0); - if ($exitcond878) { - break; - } else { - $$3622802 = $146; - } - } - } - break; - } - case 4: { - $106 = ($103|0)>(0); - if ($106) { - $$4623800 = 0; - while(1) { - $147 = (($$1572) + ($$4623800)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($$4623800) - ($$1606))|0; - $151 = (($100) + ($150)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = (($101) + ($$4623800)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = (($101) + ($150)|0); - $158 = HEAP8[$157>>0]|0; - $159 = $158&255; - $160 = (_stbi__paeth($153,$156,$159)|0); - $161 = (($160) + ($149))|0; - $162 = $161&255; - $163 = (($100) + ($$4623800)|0); - HEAP8[$163>>0] = $162; - $164 = (($$4623800) + 1)|0; - $exitcond877 = ($164|0)==($103|0); - if ($exitcond877) { - break; - } else { - $$4623800 = $164; - } - } - } - break; - } - case 5: { - $105 = ($103|0)>(0); - if ($105) { - $$5624798 = 0; - while(1) { - $165 = (($$1572) + ($$5624798)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = (($$5624798) - ($$1606))|0; - $169 = (($100) + ($168)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = $171 >>> 1; - $173 = (($172) + ($167))|0; - $174 = $173&255; - $175 = (($100) + ($$5624798)|0); - HEAP8[$175>>0] = $174; - $176 = (($$5624798) + 1)|0; - $exitcond876 = ($176|0)==($103|0); - if ($exitcond876) { - break; - } else { - $$5624798 = $176; - } - } - } - break; - } - case 6: { - $104 = ($103|0)>(0); - if ($104) { - $$6625796 = 0; - while(1) { - $177 = (($$1572) + ($$6625796)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $180 = (($$6625796) - ($$1606))|0; - $181 = (($100) + ($180)|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = (_stbi__paeth($183,0,0)|0); - $185 = (($184) + ($179))|0; - $186 = $185&255; - $187 = (($100) + ($$6625796)|0); - HEAP8[$187>>0] = $186; - $188 = (($$6625796) + 1)|0; - $exitcond875 = ($188|0)==($103|0); - if ($exitcond875) { - break; - } else { - $$6625796 = $188; - } - } - } - break; - } - default: { - } - } - $189 = (($$1572) + ($103)|0); - $$11$ph = $189; - } else { - if (!($19)) { - label = 54; - break; - } - $trunc = $$0582&255; - switch ($trunc<<24>>24) { - case 0: { - if ($37) { - $$9580 = $$1572; - } else { - $202 = ($$1606|0)>(0); - $203 = Math_imul($$6614736, $$1606)|0; - $$0608790 = $$0608787;$$2573789 = $$1572;$$2593788 = $100; - while(1) { - if ($202) { - $$7626784 = 0; - while(1) { - $204 = (($$2573789) + ($$7626784)|0); - $205 = HEAP8[$204>>0]|0; - $206 = (($$2593788) + ($$7626784)|0); - HEAP8[$206>>0] = $205; - $207 = (($$7626784) + 1)|0; - $exitcond871 = ($207|0)==($$1606|0); - if ($exitcond871) { - break; - } else { - $$7626784 = $207; - } - } - } - $208 = (($$2593788) + ($$1606)|0); - HEAP8[$208>>0] = -1; - $209 = (($$2573789) + ($$1606)|0); - $210 = (($$2593788) + ($15)|0); - $$0608 = (($$0608790) + -1)|0; - $211 = ($$0608|0)==(0); - if ($211) { - break; - } else { - $$0608790 = $$0608;$$2573789 = $209;$$2593788 = $210; - } - } - $scevgep873 = (($$1572) + ($203)|0); - $$9580 = $scevgep873; - } - break; - } - case 1: { - if ($38) { - $$9580 = $$1572; - } else { - $200 = ($$1606|0)>(0); - $201 = Math_imul($$6614736, $$1606)|0; - $$1609782 = $$1609779;$$3574781 = $$1572;$$3594780 = $100; - while(1) { - if ($200) { - $$8627776 = 0; - while(1) { - $212 = (($$3574781) + ($$8627776)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = (($$8627776) - ($15))|0; - $216 = (($$3594780) + ($215)|0); - $217 = HEAP8[$216>>0]|0; - $218 = $217&255; - $219 = (($218) + ($214))|0; - $220 = $219&255; - $221 = (($$3594780) + ($$8627776)|0); - HEAP8[$221>>0] = $220; - $222 = (($$8627776) + 1)|0; - $exitcond869 = ($222|0)==($$1606|0); - if ($exitcond869) { - break; - } else { - $$8627776 = $222; - } - } - } - $223 = (($$3594780) + ($$1606)|0); - HEAP8[$223>>0] = -1; - $224 = (($$3574781) + ($$1606)|0); - $225 = (($$3594780) + ($15)|0); - $$1609 = (($$1609782) + -1)|0; - $226 = ($$1609|0)==(0); - if ($226) { - break; - } else { - $$1609782 = $$1609;$$3574781 = $224;$$3594780 = $225; - } - } - $scevgep870 = (($$1572) + ($201)|0); - $$9580 = $scevgep870; - } - break; - } - case 2: { - if ($39) { - $$9580 = $$1572; - } else { - $198 = ($$1606|0)>(0); - $199 = Math_imul($$6614736, $$1606)|0; - $$2610774 = $$2610770;$$3586772 = $101;$$4575773 = $$1572;$$4595771 = $100; - while(1) { - if ($198) { - $$9628767 = 0; - while(1) { - $227 = (($$4575773) + ($$9628767)|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = (($$3586772) + ($$9628767)|0); - $231 = HEAP8[$230>>0]|0; - $232 = $231&255; - $233 = (($232) + ($229))|0; - $234 = $233&255; - $235 = (($$4595771) + ($$9628767)|0); - HEAP8[$235>>0] = $234; - $236 = (($$9628767) + 1)|0; - $exitcond867 = ($236|0)==($$1606|0); - if ($exitcond867) { - break; - } else { - $$9628767 = $236; - } - } - } - $237 = (($$4595771) + ($$1606)|0); - HEAP8[$237>>0] = -1; - $238 = (($$4575773) + ($$1606)|0); - $239 = (($$4595771) + ($15)|0); - $240 = (($$3586772) + ($15)|0); - $$2610 = (($$2610774) + -1)|0; - $241 = ($$2610|0)==(0); - if ($241) { - break; - } else { - $$2610774 = $$2610;$$3586772 = $240;$$4575773 = $238;$$4595771 = $239; - } - } - $scevgep868 = (($$1572) + ($199)|0); - $$9580 = $scevgep868; - } - break; - } - case 3: { - if ($40) { - $$9580 = $$1572; - } else { - $196 = ($$1606|0)>(0); - $197 = Math_imul($$6614736, $$1606)|0; - $$3611765 = $$3611761;$$4587763 = $101;$$5576764 = $$1572;$$5596762 = $100; - while(1) { - if ($196) { - $$10629758 = 0; - while(1) { - $242 = (($$5576764) + ($$10629758)|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($$4587763) + ($$10629758)|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246&255; - $248 = (($$10629758) - ($15))|0; - $249 = (($$5596762) + ($248)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = (($251) + ($247))|0; - $253 = $252 >>> 1; - $254 = (($253) + ($244))|0; - $255 = $254&255; - $256 = (($$5596762) + ($$10629758)|0); - HEAP8[$256>>0] = $255; - $257 = (($$10629758) + 1)|0; - $exitcond865 = ($257|0)==($$1606|0); - if ($exitcond865) { - break; - } else { - $$10629758 = $257; - } - } - } - $258 = (($$5596762) + ($$1606)|0); - HEAP8[$258>>0] = -1; - $259 = (($$5576764) + ($$1606)|0); - $260 = (($$5596762) + ($15)|0); - $261 = (($$4587763) + ($15)|0); - $$3611 = (($$3611765) + -1)|0; - $262 = ($$3611|0)==(0); - if ($262) { - break; - } else { - $$3611765 = $$3611;$$4587763 = $261;$$5576764 = $259;$$5596762 = $260; - } - } - $scevgep866 = (($$1572) + ($197)|0); - $$9580 = $scevgep866; - } - break; - } - case 4: { - if ($41) { - $$9580 = $$1572; - } else { - $194 = ($$1606|0)>(0); - $195 = Math_imul($$6614736, $$1606)|0; - $$4612756 = $$4612752;$$5588754 = $101;$$6577755 = $$1572;$$6597753 = $100; - while(1) { - if ($194) { - $$11630749 = 0; - while(1) { - $263 = (($$6577755) + ($$11630749)|0); - $264 = HEAP8[$263>>0]|0; - $265 = $264&255; - $266 = (($$11630749) - ($15))|0; - $267 = (($$6597753) + ($266)|0); - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - $270 = (($$5588754) + ($$11630749)|0); - $271 = HEAP8[$270>>0]|0; - $272 = $271&255; - $273 = (($$5588754) + ($266)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = (_stbi__paeth($269,$272,$275)|0); - $277 = (($276) + ($265))|0; - $278 = $277&255; - $279 = (($$6597753) + ($$11630749)|0); - HEAP8[$279>>0] = $278; - $280 = (($$11630749) + 1)|0; - $exitcond863 = ($280|0)==($$1606|0); - if ($exitcond863) { - break; - } else { - $$11630749 = $280; - } - } - } - $281 = (($$6597753) + ($$1606)|0); - HEAP8[$281>>0] = -1; - $282 = (($$6577755) + ($$1606)|0); - $283 = (($$6597753) + ($15)|0); - $284 = (($$5588754) + ($15)|0); - $$4612 = (($$4612756) + -1)|0; - $285 = ($$4612|0)==(0); - if ($285) { - break; - } else { - $$4612756 = $$4612;$$5588754 = $284;$$6577755 = $282;$$6597753 = $283; - } - } - $scevgep864 = (($$1572) + ($195)|0); - $$9580 = $scevgep864; - } - break; - } - case 5: { - if ($42) { - $$9580 = $$1572; - } else { - $192 = ($$1606|0)>(0); - $193 = Math_imul($$6614736, $$1606)|0; - $$5613747 = $$5613744;$$7578746 = $$1572;$$7598745 = $100; - while(1) { - if ($192) { - $$12741 = 0; - while(1) { - $286 = (($$7578746) + ($$12741)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = (($$12741) - ($15))|0; - $290 = (($$7598745) + ($289)|0); - $291 = HEAP8[$290>>0]|0; - $292 = $291&255; - $293 = $292 >>> 1; - $294 = (($293) + ($288))|0; - $295 = $294&255; - $296 = (($$7598745) + ($$12741)|0); - HEAP8[$296>>0] = $295; - $297 = (($$12741) + 1)|0; - $exitcond861 = ($297|0)==($$1606|0); - if ($exitcond861) { - break; - } else { - $$12741 = $297; - } - } - } - $298 = (($$7598745) + ($$1606)|0); - HEAP8[$298>>0] = -1; - $299 = (($$7578746) + ($$1606)|0); - $300 = (($$7598745) + ($15)|0); - $$5613 = (($$5613747) + -1)|0; - $301 = ($$5613|0)==(0); - if ($301) { - break; - } else { - $$5613747 = $$5613;$$7578746 = $299;$$7598745 = $300; - } - } - $scevgep862 = (($$1572) + ($193)|0); - $$9580 = $scevgep862; - } - break; - } - case 6: { - if ($43) { - $$9580 = $$1572; - } else { - $190 = ($$1606|0)>(0); - $191 = Math_imul($$6614736, $$1606)|0; - $$6614739 = $$6614736;$$8579738 = $$1572;$$8599737 = $100; - while(1) { - if ($190) { - $$13733 = 0; - while(1) { - $302 = (($$8579738) + ($$13733)|0); - $303 = HEAP8[$302>>0]|0; - $304 = $303&255; - $305 = (($$13733) - ($15))|0; - $306 = (($$8599737) + ($305)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = (_stbi__paeth($308,0,0)|0); - $310 = (($309) + ($304))|0; - $311 = $310&255; - $312 = (($$8599737) + ($$13733)|0); - HEAP8[$312>>0] = $311; - $313 = (($$13733) + 1)|0; - $exitcond859 = ($313|0)==($$1606|0); - if ($exitcond859) { - break; - } else { - $$13733 = $313; - } - } - } - $314 = (($$8599737) + ($$1606)|0); - HEAP8[$314>>0] = -1; - $315 = (($$8579738) + ($$1606)|0); - $316 = (($$8599737) + ($15)|0); - $$6614 = (($$6614739) + -1)|0; - $317 = ($$6614|0)==(0); - if ($317) { - break; - } else { - $$6614739 = $$6614;$$8579738 = $315;$$8599737 = $316; - } - } - $scevgep860 = (($$1572) + ($191)|0); - $$9580 = $scevgep860; - } - break; - } - default: { - $$9580 = $$1572; - } - } - if ($brmerge888) { - $$11$ph = $$9580; - } else { - $318 = HEAP32[$21>>2]|0; - $319 = (($318) + ($45)|0); - $320 = (($$1606) + 1)|0; - $$7615792 = 0;$$9600793 = $319; - while(1) { - $321 = (($$9600793) + ($320)|0); - HEAP8[$321>>0] = -1; - $322 = (($$7615792) + 1)|0; - $323 = (($$9600793) + ($15)|0); - $exitcond874 = ($322|0)==($4|0); - if ($exitcond874) { - $$11$ph = $$9580; - break; - } else { - $$7615792 = $322;$$9600793 = $323; - } - } - } - } - $324 = (($$0617808) + 1)|0; - $325 = ($324>>>0)<($5>>>0); - if ($325) { - $$0571811 = $$11$ph;$$0602810 = $$1603;$$0605809 = $$1606;$$0617808 = $324; - } else { - break L12; - } - } - if ((label|0) == 12) { - ___assert_fail((6796|0),(6164|0),4314,(6751|0)); - // unreachable; - } - else if ((label|0) == 54) { - ___assert_fail((6822|0),(6164|0),4376,(6751|0)); - // unreachable; - } - else if ((label|0) == 101) { - _stbi__err(6839); - $$2 = 0; - return ($$2|0); - } - } - } while(0); - $326 = ($6|0)<(8); - if (!($326)) { - if (!($8)) { - $$2 = 1; - return ($$2|0); - } - $595 = Math_imul($4, $3)|0; - $596 = Math_imul($595, $5)|0; - $597 = ($596|0)==(0); - if ($597) { - $$2 = 1; - return ($$2|0); - } - $598 = HEAP32[$21>>2]|0; - $$0725 = $598;$$8616723 = 0; - while(1) { - $599 = HEAP8[$$0725>>0]|0; - $600 = $599&255; - $601 = $600 << 8; - $602 = ((($$0725)) + 1|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $605 = $601 | $604; - $606 = $605&65535; - HEAP16[$$0725>>1] = $606; - $607 = (($$8616723) + 1)|0; - $608 = ((($$0725)) + 2|0); - $exitcond = ($607|0)==($596|0); - if ($exitcond) { - $$2 = 1; - break; - } else { - $$0725 = $608;$$8616723 = $607; - } - } - return ($$2|0); - } - $327 = ($5|0)==(0); - if ($327) { - $$2 = 1; - return ($$2|0); - } - $328 = (0 - ($26))|0; - $329 = ($7|0)==(0); - $330 = (6535 + ($6)|0); - $$0562718 = (($4) + -1)|0; - $331 = ($$0562718|0)>(-1); - $$1715 = (($4) + -1)|0; - $332 = ($$1715|0)>(-1); - $333 = ($23|0)>(1); - $334 = ($23|0)>(3); - $335 = ($23|0)>(7); - $336 = (($23) + -8)|0; - $337 = $336 >>> 3; - $338 = $337 << 3; - $339 = (($338) + 8)|0; - $340 = (($336) - ($338))|0; - $341 = (($337) + ($11))|0; - $342 = (($341) + 1)|0; - $343 = (($342) - ($26))|0; - $344 = (($23) + -4)|0; - $345 = $344 >>> 2; - $346 = $345 << 2; - $347 = (($346) + 4)|0; - $348 = (($344) - ($346))|0; - $349 = (($345) + ($11))|0; - $350 = (($349) + 1)|0; - $351 = (($350) - ($26))|0; - $352 = (($23) + -2)|0; - $353 = $352 >>> 1; - $354 = $353 << 1; - $355 = (($354) + 2)|0; - $356 = (($352) - ($354))|0; - $357 = (($353) + ($11))|0; - $358 = (($357) + 1)|0; - $359 = (($358) - ($26))|0; - $$1618721 = 0;$indvars$iv = $339;$indvars$iv842 = $343;$indvars$iv845 = $347;$indvars$iv848 = $351;$indvars$iv851 = $355;$indvars$iv854 = $359; - L168: while(1) { - $360 = HEAP32[$21>>2]|0; - $361 = Math_imul($$1618721, $12)|0; - $362 = (($360) + ($361)|0); - $363 = (($362) + ($11)|0); - $364 = (($363) + ($328)|0); - if ($329) { - $365 = HEAP8[$330>>0]|0; - $366 = $365&255; - $371 = $366; - } else { - $371 = 1; - } - switch ($6|0) { - case 4: { - if ($333) { - $scevgep853 = (($360) + ($indvars$iv851)|0); - $$0565709 = $364;$$0568708 = $362;$$14707 = $23; - while(1) { - $367 = HEAP8[$$0565709>>0]|0; - $368 = $367&255; - $369 = $368 >>> 4; - $370 = Math_imul($369, $371)|0; - $372 = $370&255; - $373 = ((($$0568708)) + 1|0); - HEAP8[$$0568708>>0] = $372; - $374 = HEAP8[$$0565709>>0]|0; - $375 = $374 & 15; - $376 = $375&255; - $377 = Math_imul($376, $371)|0; - $378 = $377&255; - $379 = ((($$0568708)) + 2|0); - HEAP8[$373>>0] = $378; - $380 = (($$14707) + -2)|0; - $381 = ((($$0565709)) + 1|0); - $382 = ($380|0)>(1); - if ($382) { - $$0565709 = $381;$$0568708 = $379;$$14707 = $380; - } else { - break; - } - } - $scevgep856 = (($360) + ($indvars$iv854)|0); - $$0565$lcssa = $scevgep856;$$0568$lcssa = $scevgep853;$$14$lcssa = $356; - } else { - $$0565$lcssa = $364;$$0568$lcssa = $362;$$14$lcssa = $23; - } - $383 = ($$14$lcssa|0)==(1); - if ($383) { - $384 = HEAP8[$$0565$lcssa>>0]|0; - $385 = $384&255; - $386 = $385 >>> 4; - $387 = Math_imul($386, $371)|0; - $388 = $387&255; - HEAP8[$$0568$lcssa>>0] = $388; - } - break; - } - case 2: { - if ($334) { - $scevgep847 = (($360) + ($indvars$iv845)|0); - $$1566701 = $364;$$1569700 = $362;$$15699 = $23; - while(1) { - $389 = HEAP8[$$1566701>>0]|0; - $390 = $389&255; - $391 = $390 >>> 6; - $392 = Math_imul($391, $371)|0; - $393 = $392&255; - $394 = ((($$1569700)) + 1|0); - HEAP8[$$1569700>>0] = $393; - $395 = HEAP8[$$1566701>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = $397 & 3; - $399 = Math_imul($398, $371)|0; - $400 = $399&255; - $401 = ((($$1569700)) + 2|0); - HEAP8[$394>>0] = $400; - $402 = HEAP8[$$1566701>>0]|0; - $403 = $402&255; - $404 = $403 >>> 2; - $405 = $404 & 3; - $406 = Math_imul($405, $371)|0; - $407 = $406&255; - $408 = ((($$1569700)) + 3|0); - HEAP8[$401>>0] = $407; - $409 = HEAP8[$$1566701>>0]|0; - $410 = $409 & 3; - $411 = $410&255; - $412 = Math_imul($411, $371)|0; - $413 = $412&255; - $414 = ((($$1569700)) + 4|0); - HEAP8[$408>>0] = $413; - $415 = (($$15699) + -4)|0; - $416 = ((($$1566701)) + 1|0); - $417 = ($415|0)>(3); - if ($417) { - $$1566701 = $416;$$1569700 = $414;$$15699 = $415; - } else { - break; - } - } - $scevgep850 = (($360) + ($indvars$iv848)|0); - $$15$lcssa = $348;$$1566$lcssa = $scevgep850;$$1569$lcssa = $scevgep847; - } else { - $$15$lcssa = $23;$$1566$lcssa = $364;$$1569$lcssa = $362; - } - $418 = ($$15$lcssa|0)>(0); - if ($418) { - $419 = HEAP8[$$1566$lcssa>>0]|0; - $420 = $419&255; - $421 = $420 >>> 6; - $422 = Math_imul($421, $371)|0; - $423 = $422&255; - HEAP8[$$1569$lcssa>>0] = $423; - $424 = ($$15$lcssa|0)==(1); - if (!($424)) { - $425 = ((($$1569$lcssa)) + 1|0); - $426 = HEAP8[$$1566$lcssa>>0]|0; - $427 = $426&255; - $428 = $427 >>> 4; - $429 = $428 & 3; - $430 = Math_imul($429, $371)|0; - $431 = $430&255; - HEAP8[$425>>0] = $431; - $432 = ($$15$lcssa|0)>(2); - if ($432) { - $433 = ((($$1569$lcssa)) + 2|0); - $434 = HEAP8[$$1566$lcssa>>0]|0; - $435 = $434&255; - $436 = $435 >>> 2; - $437 = $436 & 3; - $438 = Math_imul($437, $371)|0; - $439 = $438&255; - HEAP8[$433>>0] = $439; - } - } - } - break; - } - case 1: { - if ($335) { - $scevgep = (($360) + ($indvars$iv)|0); - $$16694 = $23;$$2567696 = $364;$$4695 = $362; - while(1) { - $440 = HEAP8[$$2567696>>0]|0; - $441 = $440&255; - $442 = $441 >>> 7; - $443 = (0 - ($442))|0; - $444 = $371 & $443; - $445 = $444&255; - $446 = ((($$4695)) + 1|0); - HEAP8[$$4695>>0] = $445; - $447 = HEAP8[$$2567696>>0]|0; - $448 = $447&255; - $449 = $448 >>> 6; - $450 = $449 & 1; - $451 = (0 - ($450))|0; - $452 = $371 & $451; - $453 = $452&255; - $454 = ((($$4695)) + 2|0); - HEAP8[$446>>0] = $453; - $455 = HEAP8[$$2567696>>0]|0; - $456 = $455&255; - $457 = $456 >>> 5; - $458 = $457 & 1; - $459 = (0 - ($458))|0; - $460 = $371 & $459; - $461 = $460&255; - $462 = ((($$4695)) + 3|0); - HEAP8[$454>>0] = $461; - $463 = HEAP8[$$2567696>>0]|0; - $464 = $463&255; - $465 = $464 >>> 4; - $466 = $465 & 1; - $467 = (0 - ($466))|0; - $468 = $371 & $467; - $469 = $468&255; - $470 = ((($$4695)) + 4|0); - HEAP8[$462>>0] = $469; - $471 = HEAP8[$$2567696>>0]|0; - $472 = $471&255; - $473 = $472 >>> 3; - $474 = $473 & 1; - $475 = (0 - ($474))|0; - $476 = $371 & $475; - $477 = $476&255; - $478 = ((($$4695)) + 5|0); - HEAP8[$470>>0] = $477; - $479 = HEAP8[$$2567696>>0]|0; - $480 = $479&255; - $481 = $480 >>> 2; - $482 = $481 & 1; - $483 = (0 - ($482))|0; - $484 = $371 & $483; - $485 = $484&255; - $486 = ((($$4695)) + 6|0); - HEAP8[$478>>0] = $485; - $487 = HEAP8[$$2567696>>0]|0; - $488 = $487&255; - $489 = $488 >>> 1; - $490 = $489 & 1; - $491 = (0 - ($490))|0; - $492 = $371 & $491; - $493 = $492&255; - $494 = ((($$4695)) + 7|0); - HEAP8[$486>>0] = $493; - $495 = HEAP8[$$2567696>>0]|0; - $496 = $495 & 1; - $497 = $496&255; - $498 = (0 - ($497))|0; - $499 = $371 & $498; - $500 = $499&255; - $501 = ((($$4695)) + 8|0); - HEAP8[$494>>0] = $500; - $502 = (($$16694) + -8)|0; - $503 = ((($$2567696)) + 1|0); - $504 = ($502|0)>(7); - if ($504) { - $$16694 = $502;$$2567696 = $503;$$4695 = $501; - } else { - break; - } - } - $scevgep844 = (($360) + ($indvars$iv842)|0); - $$16$lcssa = $340;$$2567$lcssa = $scevgep844;$$4$lcssa = $scevgep; - } else { - $$16$lcssa = $23;$$2567$lcssa = $364;$$4$lcssa = $362; - } - $505 = ($$16$lcssa|0)>(0); - if ($505) { - $506 = HEAP8[$$2567$lcssa>>0]|0; - $507 = $506&255; - $508 = $507 >>> 7; - $509 = (0 - ($508))|0; - $510 = $371 & $509; - $511 = $510&255; - HEAP8[$$4$lcssa>>0] = $511; - $512 = ($$16$lcssa|0)==(1); - if (!($512)) { - $513 = ((($$4$lcssa)) + 1|0); - $514 = HEAP8[$$2567$lcssa>>0]|0; - $515 = $514&255; - $516 = $515 >>> 6; - $517 = $516 & 1; - $518 = (0 - ($517))|0; - $519 = $371 & $518; - $520 = $519&255; - HEAP8[$513>>0] = $520; - $521 = ($$16$lcssa|0)>(2); - if ($521) { - $522 = ((($$4$lcssa)) + 2|0); - $523 = HEAP8[$$2567$lcssa>>0]|0; - $524 = $523&255; - $525 = $524 >>> 5; - $526 = $525 & 1; - $527 = (0 - ($526))|0; - $528 = $371 & $527; - $529 = $528&255; - HEAP8[$522>>0] = $529; - $530 = ($$16$lcssa|0)==(3); - if (!($530)) { - $531 = ((($$4$lcssa)) + 3|0); - $532 = HEAP8[$$2567$lcssa>>0]|0; - $533 = $532&255; - $534 = $533 >>> 4; - $535 = $534 & 1; - $536 = (0 - ($535))|0; - $537 = $371 & $536; - $538 = $537&255; - HEAP8[$531>>0] = $538; - $539 = ($$16$lcssa|0)>(4); - if ($539) { - $540 = ((($$4$lcssa)) + 4|0); - $541 = HEAP8[$$2567$lcssa>>0]|0; - $542 = $541&255; - $543 = $542 >>> 3; - $544 = $543 & 1; - $545 = (0 - ($544))|0; - $546 = $371 & $545; - $547 = $546&255; - HEAP8[$540>>0] = $547; - $548 = ($$16$lcssa|0)==(5); - if (!($548)) { - $549 = ((($$4$lcssa)) + 5|0); - $550 = HEAP8[$$2567$lcssa>>0]|0; - $551 = $550&255; - $552 = $551 >>> 2; - $553 = $552 & 1; - $554 = (0 - ($553))|0; - $555 = $371 & $554; - $556 = $555&255; - HEAP8[$549>>0] = $556; - $557 = ($$16$lcssa|0)>(6); - if ($557) { - $558 = ((($$4$lcssa)) + 6|0); - $559 = HEAP8[$$2567$lcssa>>0]|0; - $560 = $559&255; - $561 = $560 >>> 1; - $562 = $561 & 1; - $563 = (0 - ($562))|0; - $564 = $371 & $563; - $565 = $564&255; - HEAP8[$558>>0] = $565; - } - } - } - } - } - } - } - break; - } - default: { - } - } - L207: do { - if (!($17)) { - $566 = HEAP32[$21>>2]|0; - $567 = (($566) + ($361)|0); - switch ($14|0) { - case 1: { - if ($331) { - $$0562719 = $$0562718; - } else { - break L207; - } - while(1) { - $568 = $$0562719 << 1; - $569 = $568 | 1; - $570 = (($567) + ($569)|0); - HEAP8[$570>>0] = -1; - $571 = (($567) + ($$0562719)|0); - $572 = HEAP8[$571>>0]|0; - $573 = (($567) + ($568)|0); - HEAP8[$573>>0] = $572; - $$0562 = (($$0562719) + -1)|0; - $574 = ($$0562|0)>(-1); - if ($574) { - $$0562719 = $$0562; - } else { - break; - } - } - break; - } - case 3: { - if ($332) { - $$1716 = $$1715; - } else { - break L207; - } - while(1) { - $575 = $$1716 << 2; - $576 = $575 | 3; - $577 = (($567) + ($576)|0); - HEAP8[$577>>0] = -1; - $578 = ($$1716*3)|0; - $579 = (($578) + 2)|0; - $580 = (($567) + ($579)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $575 | 2; - $583 = (($567) + ($582)|0); - HEAP8[$583>>0] = $581; - $584 = (($578) + 1)|0; - $585 = (($567) + ($584)|0); - $586 = HEAP8[$585>>0]|0; - $587 = $575 | 1; - $588 = (($567) + ($587)|0); - HEAP8[$588>>0] = $586; - $589 = (($567) + ($578)|0); - $590 = HEAP8[$589>>0]|0; - $591 = (($567) + ($575)|0); - HEAP8[$591>>0] = $590; - $$1 = (($$1716) + -1)|0; - $592 = ($$1|0)>(-1); - if ($592) { - $$1716 = $$1; - } else { - break; - } - } - break; - } - default: { - label = 140; - break L168; - } - } - } - } while(0); - $593 = (($$1618721) + 1)|0; - $594 = ($593>>>0)<($5>>>0); - $indvars$iv$next = (($indvars$iv) + ($12))|0; - $indvars$iv$next843 = (($indvars$iv842) + ($12))|0; - $indvars$iv$next846 = (($indvars$iv845) + ($12))|0; - $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; - $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; - $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; - if ($594) { - $$1618721 = $593;$indvars$iv = $indvars$iv$next;$indvars$iv842 = $indvars$iv$next843;$indvars$iv845 = $indvars$iv$next846;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855; - } else { - $$2 = 1; - label = 147; - break; - } - } - if ((label|0) == 140) { - ___assert_fail((6854|0),(6164|0),4465,(6751|0)); - // unreachable; - } - else if ((label|0) == 147) { - return ($$2|0); - } - return (0)|0; -} -function _stbi__paeth($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = (($1) + ($0))|0; - $4 = (($3) - ($2))|0; - $5 = (($4) - ($0))|0; - $ispos = ($5|0)>(-1); - $neg = (0 - ($5))|0; - $6 = $ispos ? $5 : $neg; - $7 = (($4) - ($1))|0; - $ispos26 = ($7|0)>(-1); - $neg27 = (0 - ($7))|0; - $8 = $ispos26 ? $7 : $neg27; - $9 = (($4) - ($2))|0; - $ispos28 = ($9|0)>(-1); - $neg29 = (0 - ($9))|0; - $10 = $ispos28 ? $9 : $neg29; - $11 = ($6|0)>($8|0); - $12 = ($6|0)>($10|0); - $or$cond = $11 | $12; - $13 = ($8|0)>($10|0); - $$ = $13 ? $2 : $1; - $$0 = $or$cond ? $$ : $0; - return ($$0|0); -} -function _stbi__do_zlib($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 20|0); - HEAP32[$5>>2] = $1; - $6 = ((($0)) + 16|0); - HEAP32[$6>>2] = $1; - $7 = (($1) + ($2)|0); - $8 = ((($0)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = ((($0)) + 28|0); - HEAP32[$9>>2] = $3; - $10 = (_stbi__parse_zlib($0,$4)|0); - return ($10|0); -} -function _stbi__parse_zlib($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - if (!($2)) { - $3 = (_stbi__parse_zlib_header($0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - } - $5 = ((($0)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = ((($0)) + 12|0); - HEAP32[$6>>2] = 0; - $7 = ((($0)) + 32|0); - $8 = ((($0)) + 2052|0); - L5: while(1) { - $9 = (_stbi__zreceive($0,1)|0); - $10 = (_stbi__zreceive($0,2)|0); - switch ($10|0) { - case 3: { - $$0 = 0; - label = 11; - break L5; - break; - } - case 0: { - $11 = (_stbi__parse_uncompressed_block($0)|0); - $12 = ($11|0)==(0); - if ($12) { - $$0 = 0; - label = 11; - break L5; - } - break; - } - case 1: { - $13 = (_stbi__zbuild_huffman($7,6865,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 11; - break L5; - } - $15 = (_stbi__zbuild_huffman($8,7153,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - break; - } - default: { - $17 = (_stbi__compute_huffman_codes($0)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - } - } - if ((label|0) == 9) { - label = 0; - $19 = (_stbi__parse_huffman_block($0)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 11; - break; - } - } - $21 = ($9|0)==(0); - if (!($21)) { - $$0 = 1; - label = 11; - break; - } - } - if ((label|0) == 11) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__zget8($0)|0); - $2 = $1&255; - $3 = $2 & 15; - $4 = (_stbi__zget8($0)|0); - $5 = $4&255; - $6 = $2 << 8; - $7 = $6 | $5; - $8 = (($7>>>0) % 31)&-1; - $9 = ($8|0)==(0); - if (!($9)) { - _stbi__err(7519); - $$0 = 0; - return ($$0|0); - } - $10 = $5 & 32; - $11 = ($10|0)==(0); - if (!($11)) { - _stbi__err(7535); - $$0 = 0; - return ($$0|0); - } - $12 = ($3|0)==(8); - if ($12) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(7550); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<($1|0); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = 1 << $1; - $8 = (($7) + -1)|0; - $9 = $6 & $8; - $10 = $6 >>> $1; - HEAP32[$5>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) - ($1))|0; - HEAP32[$2>>2] = $12; - return ($9|0); -} -function _stbi__parse_uncompressed_block($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & 7; - $5 = ($4|0)==(0); - if ($5) { - $$ph = $3; - } else { - (_stbi__zreceive($0,$4)|0); - $$pr = HEAP32[$2>>2]|0; - $$ph = $$pr; - } - $6 = ($$ph|0)>(0); - if ($6) { - $7 = ((($0)) + 12|0); - $$promoted = HEAP32[$7>>2]|0; - $8 = $$ph ^ -1; - $9 = ($8|0)>(-9); - $smax = $9 ? $8 : -9; - $10 = (($$ph) + ($smax))|0; - $11 = (($10) + 8)|0; - $12 = $11 >>> 3; - $13 = (($12) + 1)|0; - $14 = $12 << 3; - $$037 = 0;$16 = $$promoted; - while(1) { - $15 = $16&255; - $17 = (($$037) + 1)|0; - $18 = (($1) + ($$037)|0); - HEAP8[$18>>0] = $15; - $19 = $16 >>> 8; - $exitcond47 = ($17|0)==($13|0); - if ($exitcond47) { - break; - } else { - $$037 = $17;$16 = $19; - } - } - $20 = (($$ph) + -8)|0; - $21 = (($20) - ($14))|0; - HEAP32[$7>>2] = $19; - HEAP32[$2>>2] = $21; - $$0$lcssa = $13;$$lcssa = $21; - } else { - $$0$lcssa = 0;$$lcssa = $$ph; - } - $22 = ($$lcssa|0)==(0); - if (!($22)) { - ___assert_fail((7441|0),(6164|0),4033,(7458|0)); - // unreachable; - } - $23 = ($$0$lcssa|0)<(4); - if ($23) { - $$136 = $$0$lcssa; - while(1) { - $24 = (_stbi__zget8($0)|0); - $25 = (($$136) + 1)|0; - $26 = (($1) + ($$136)|0); - HEAP8[$26>>0] = $24; - $exitcond = ($25|0)==(4); - if ($exitcond) { - break; - } else { - $$136 = $25; - } - } - } - $27 = ((($1)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP8[$1>>0]|0; - $32 = $31&255; - $33 = $30 | $32; - $34 = ((($1)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 << 8; - $38 = ((($1)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $37 | $40; - $42 = $33 ^ 65535; - $43 = ($41|0)==($42|0); - if (!($43)) { - _stbi__err(7489); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($33)|0); - $46 = ((($0)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($45>>>0)>($47>>>0); - if ($48) { - _stbi__err(7502); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $49 = ((($0)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($33)|0); - $52 = ((($0)) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51>>>0)>($53>>>0); - if ($54) { - $55 = (_stbi__zexpand($0,$50,$33)|0); - $56 = ($55|0)==(0); - if ($56) { - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - } - $57 = HEAP32[$49>>2]|0; - $58 = HEAP32[$0>>2]|0; - _memcpy(($57|0),($58|0),($33|0))|0; - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + ($33)|0); - HEAP32[$0>>2] = $60; - $61 = HEAP32[$49>>2]|0; - $62 = (($61) + ($33)|0); - HEAP32[$49>>2] = $62; - $$034 = 1; - STACKTOP = sp;return ($$034|0); -} -function _stbi__zbuild_huffman($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $3 = sp + 72|0; - $4 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($0|0),0,1024)|0; - $5 = ($2|0)>(0); - if ($5) { - $$07688 = 0; - while(1) { - $6 = (($1) + ($$07688)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($4) + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = (($$07688) + 1)|0; - $exitcond91 = ($12|0)==($2|0); - if ($exitcond91) { - break; - } else { - $$07688 = $12; - } - } - } - HEAP32[$4>>2] = 0; - $16 = ((($4)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(2); - if (!($18)) { - $13 = ((($4)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(4); - if (!($15)) { - $69 = ((($4)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(8); - if (!($71)) { - $72 = ((($4)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(16); - if (!($74)) { - $75 = ((($4)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(32); - if (!($77)) { - $78 = ((($4)) + 24|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(64); - if (!($80)) { - $81 = ((($4)) + 28|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(128); - if (!($83)) { - $84 = ((($4)) + 32|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(256); - if (!($86)) { - $87 = ((($4)) + 36|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(512); - if (!($89)) { - $90 = ((($4)) + 40|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(1024); - if (!($92)) { - $93 = ((($4)) + 44|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(2048); - if (!($95)) { - $96 = ((($4)) + 48|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(4096); - if (!($98)) { - $99 = ((($4)) + 52|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(8192); - if (!($101)) { - $102 = ((($4)) + 56|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(16384); - if (!($104)) { - $105 = ((($4)) + 60|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)>(32768); - if (!($107)) { - $$07785 = 0;$$07884 = 0;$$286 = 1; - while(1) { - $19 = (($3) + ($$286<<2)|0); - HEAP32[$19>>2] = $$07884; - $20 = $$07884&65535; - $21 = (((($0)) + 1024|0) + ($$286<<1)|0); - HEAP16[$21>>1] = $20; - $22 = $$07785&65535; - $23 = (((($0)) + 1124|0) + ($$286<<1)|0); - HEAP16[$23>>1] = $22; - $24 = (($4) + ($$286<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($$07884))|0; - $27 = ($25|0)!=(0); - $28 = 1 << $$286; - $29 = ($26|0)>($28|0); - $or$cond = $27 & $29; - if ($or$cond) { - label = 7; - break; - } - $30 = (16 - ($$286))|0; - $31 = $26 << $30; - $32 = (((($0)) + 1056|0) + ($$286<<2)|0); - HEAP32[$32>>2] = $31; - $33 = $26 << 1; - $34 = (($25) + ($$07785))|0; - $35 = (($$286) + 1)|0; - $36 = ($35|0)<(16); - if ($36) { - $$07785 = $34;$$07884 = $33;$$286 = $35; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(7379); - $$075 = 0; - STACKTOP = sp;return ($$075|0); - } - $37 = ((($0)) + 1120|0); - HEAP32[$37>>2] = 65536; - $38 = ($2|0)>(0); - if ($38) { - $$382 = 0; - } else { - $$075 = 1; - STACKTOP = sp;return ($$075|0); - } - while(1) { - $39 = (($1) + ($$382)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ($40<<24>>24)==(0); - if (!($42)) { - $43 = (($3) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($0)) + 1024|0) + ($41<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) - ($47))|0; - $49 = (((($0)) + 1124|0) + ($41<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($48) + ($51))|0; - $53 = $41 << 9; - $54 = $53 | $$382; - $55 = $54&65535; - $56 = (((($0)) + 1156|0) + ($52)|0); - HEAP8[$56>>0] = $40; - $57 = $$382&65535; - $58 = (((($0)) + 1444|0) + ($52<<1)|0); - HEAP16[$58>>1] = $57; - $59 = ($40&255)<(10); - do { - if ($59) { - $60 = (_stbi__bit_reverse($44,$41)|0); - $61 = ($60|0)<(512); - if (!($61)) { - break; - } - $62 = 1 << $41; - $$081 = $60; - while(1) { - $63 = (($0) + ($$081<<1)|0); - HEAP16[$63>>1] = $55; - $64 = (($$081) + ($62))|0; - $65 = ($64|0)<(512); - if ($65) { - $$081 = $64; - } else { - break; - } - } - } - } while(0); - $66 = HEAP32[$43>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$43>>2] = $67; - } - $68 = (($$382) + 1)|0; - $exitcond = ($68|0)==($2|0); - if ($exitcond) { - $$075 = 1; - break; - } else { - $$382 = $68; - } - } - STACKTOP = sp;return ($$075|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(7431); - $$075 = 0; - STACKTOP = sp;return ($$075|0); -} -function _stbi__compute_huffman_codes($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); - $1 = sp; - $2 = sp + 2039|0; - $3 = sp + 2020|0; - $4 = (_stbi__zreceive($0,5)|0); - $5 = (($4) + 257)|0; - $6 = (_stbi__zreceive($0,5)|0); - $7 = (($6) + 1)|0; - $8 = (_stbi__zreceive($0,4)|0); - $9 = (($8) + 4)|0; - $10 = (($7) + ($5))|0; - dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $11 = ($9|0)>(0); - if ($11) { - $$06579 = 0; - while(1) { - $12 = (_stbi__zreceive($0,3)|0); - $13 = $12&255; - $14 = (7360 + ($$06579)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (($3) + ($16)|0); - HEAP8[$17>>0] = $13; - $18 = (($$06579) + 1)|0; - $exitcond = ($18|0)==($9|0); - if ($exitcond) { - break; - } else { - $$06579 = $18; - } - } - } - $19 = (_stbi__zbuild_huffman($1,$3,19)|0); - $20 = ($19|0)==(0); - if ($20) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = ($10|0)>(0); - L8: do { - if ($21) { - $$06678 = 0; - L9: while(1) { - $22 = (_stbi__zhuffman_decode($0,$1)|0); - $23 = ($22>>>0)>(18); - if ($23) { - label = 6; - break; - } - $24 = ($22|0)<(16); - if ($24) { - $25 = $22&255; - $26 = (($$06678) + 1)|0; - $27 = (($2) + ($$06678)|0); - HEAP8[$27>>0] = $25; - $$066$be = $26; - } else { - switch ($22|0) { - case 16: { - $28 = (_stbi__zreceive($0,2)|0); - $29 = ($$06678|0)==(0); - if ($29) { - label = 11; - break L9; - } - $30 = (($28) + 3)|0; - $31 = (($$06678) + -1)|0; - $32 = (($2) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $$0 = $33;$$061 = $30; - break; - } - case 17: { - $34 = (_stbi__zreceive($0,3)|0); - $35 = (($34) + 3)|0; - $$0 = 0;$$061 = $35; - break; - } - case 18: { - $36 = (_stbi__zreceive($0,7)|0); - $37 = (($36) + 11)|0; - $$0 = 0;$$061 = $37; - break; - } - default: { - label = 14; - break L9; - } - } - $38 = (($10) - ($$06678))|0; - $39 = ($38|0)<($$061|0); - if ($39) { - label = 17; - break; - } - $40 = (($2) + ($$06678)|0); - _memset(($40|0),($$0|0),($$061|0))|0; - $41 = (($$061) + ($$06678))|0; - $$066$be = $41; - } - $42 = ($10|0)>($$066$be|0); - if ($42) { - $$06678 = $$066$be; - } else { - $$066$lcssa = $$066$be; - break L8; - } - } - if ((label|0) == 6) { - _stbi__err(7379); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 11) { - _stbi__err(7379); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 14) { - ___assert_fail((7395|0),(6164|0),4006,(7403|0)); - // unreachable; - } - else if ((label|0) == 17) { - _stbi__err(7379); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } else { - $$066$lcssa = 0; - } - } while(0); - $43 = ($10|0)==($$066$lcssa|0); - if (!($43)) { - _stbi__err(7379); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $44 = ((($0)) + 32|0); - $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); - $46 = ($45|0)==(0); - if ($46) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $47 = ((($0)) + 2052|0); - $48 = (($2) + ($5)|0); - $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); - $not$ = ($49|0)!=(0); - $$ = $not$&1; - $$4 = $$; - STACKTOP = sp;return ($$4|0); -} -function _stbi__parse_huffman_block($0) { - $0 = $0|0; - var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 32|0); - $4 = ((($0)) + 24|0); - $5 = ((($0)) + 2052|0); - $6 = ((($0)) + 20|0); - $7 = ((($0)) + 24|0); - $$070 = $2; - while(1) { - $10 = (_stbi__zhuffman_decode($0,$3)|0); - $11 = ($10|0)<(256); - if ($11) { - $12 = ($10|0)<(0); - if ($12) { - label = 6; - break; - } - $13 = HEAP32[$4>>2]|0; - $14 = ($$070>>>0)<($13>>>0); - if ($14) { - $$171 = $$070; - } else { - $15 = (_stbi__zexpand($0,$$070,1)|0); - $16 = ($15|0)==(0); - if ($16) { - $$3$ph = 0; - label = 28; - break; - } - $17 = HEAP32[$1>>2]|0; - $$171 = $17; - } - $18 = $10&255; - $19 = ((($$171)) + 1|0); - HEAP8[$$171>>0] = $18; - $$070 = $19; - continue; - } - $20 = ($10|0)==(256); - if ($20) { - label = 12; - break; - } - $21 = (($10) + -257)|0; - $22 = (3140 + ($21<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($10) + -265)|0; - $25 = ($24>>>0)<(20); - if ($25) { - $26 = (3264 + ($21<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_stbi__zreceive($0,$27)|0); - $29 = (($28) + ($23))|0; - $$064 = $29; - } else { - $$064 = $23; - } - $30 = (_stbi__zhuffman_decode($0,$5)|0); - $31 = ($30|0)<(0); - if ($31) { - label = 16; - break; - } - $32 = (3388 + ($30<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($30) + -4)|0; - $35 = ($34>>>0)<(26); - if ($35) { - $36 = (3516 + ($30<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_stbi__zreceive($0,$37)|0); - $39 = (($38) + ($33))|0; - $$063 = $39; - } else { - $$063 = $33; - } - $40 = HEAP32[$6>>2]|0; - $41 = $$070; - $42 = (($41) - ($40))|0; - $43 = ($42|0)<($$063|0); - if ($43) { - label = 20; - break; - } - $44 = (($$070) + ($$064)|0); - $45 = HEAP32[$7>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($0,$$070,$$064)|0); - $48 = ($47|0)==(0); - if ($48) { - $$3$ph = 0; - label = 28; - break; - } - $49 = HEAP32[$1>>2]|0; - $$272 = $49; - } else { - $$272 = $$070; - } - $50 = (0 - ($$063))|0; - $9 = (($$272) + ($50)|0); - $51 = ($$063|0)==(1); - $52 = ($$064|0)!=(0); - if ($51) { - if (!($52)) { - $$070 = $$272; - continue; - } - $8 = HEAP8[$9>>0]|0; - _memset(($$272|0),($8|0),($$064|0))|0; - $scevgep92 = (($$272) + ($$064)|0); - $$070 = $scevgep92; - continue; - } - if ($52) { - $$067 = $9;$$266 = $$064;$$5 = $$272; - } else { - $$070 = $$272; - continue; - } - while(1) { - $53 = ((($$067)) + 1|0); - $54 = HEAP8[$$067>>0]|0; - $55 = ((($$5)) + 1|0); - HEAP8[$$5>>0] = $54; - $56 = (($$266) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $$067 = $53;$$266 = $56;$$5 = $55; - } - } - $scevgep = (($$272) + ($$064)|0); - $$070 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(7185); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 12) { - HEAP32[$1>>2] = $$070; - $$3$ph = 1; - return ($$3$ph|0); - } - else if ((label|0) == 16) { - _stbi__err(7185); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 20) { - _stbi__err(7202); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 28) { - return ($$3$ph|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(16); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 511; - $8 = (($1) + ($7<<1)|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($9<<16>>16)==(0); - if ($11) { - $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); - $$0 = $17; - return ($$0|0); - } else { - $12 = $10 >>> 9; - $13 = $6 >>> $12; - HEAP32[$5>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) - ($12))|0; - HEAP32[$2>>2] = $15; - $16 = $10 & 511; - $$0 = $16; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - HEAP32[$3>>2] = $1; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - _stbi__err(7211); - $$0 = 0; - return ($$0|0); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = $1; - $10 = $8; - $11 = (($9) - ($10))|0; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) - ($10))|0; - $15 = (($11) + ($2))|0; - $$029 = $14; - while(1) { - $16 = ($15|0)>($$029|0); - $17 = $$029 << 1; - if ($16) { - $$029 = $17; - } else { - break; - } - } - $18 = (_realloc($8,$$029)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(6129); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$7>>2] = $18; - $20 = (($18) + ($11)|0); - HEAP32[$3>>2] = $20; - $21 = (($18) + ($$029)|0); - HEAP32[$12>>2] = $21; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 12|0); - $2 = ((($0)) + 8|0); - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = 1 << $4; - $6 = ($3>>>0)<($5>>>0); - if (!($6)) { - label = 3; - break; - } - $7 = (_stbi__zget8($0)|0); - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = $8 << $9; - $11 = HEAP32[$1>>2]|0; - $12 = $11 | $10; - HEAP32[$1>>2] = $12; - $13 = (($9) + 8)|0; - HEAP32[$2>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((7307|0),(6164|0),3848,(7344|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_stbi__bit_reverse($3,16)|0); - $$025 = 10; - while(1) { - $5 = (((($1)) + 1056|0) + ($$025<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - $8 = (($$025) + 1)|0; - if ($7) { - break; - } else { - $$025 = $8; - } - } - $9 = ($$025|0)==(16); - if ($9) { - $$0 = -1; - return ($$0|0); - } - $10 = (16 - ($$025))|0; - $11 = $4 >> $10; - $12 = (((($1)) + 1024|0) + ($$025<<1)|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = (($11) - ($14))|0; - $16 = (((($1)) + 1124|0) + ($$025<<1)|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($15) + ($18))|0; - $20 = (((($1)) + 1156|0) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==($$025|0); - if (!($23)) { - ___assert_fail((7231|0),(6164|0),3876,(7247|0)); - // unreachable; - } - $24 = HEAP32[$2>>2]|0; - $25 = $24 >>> $$025; - HEAP32[$2>>2] = $25; - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) - ($$025))|0; - HEAP32[$26>>2] = $28; - $29 = (((($1)) + 1444|0) + ($19<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $$0 = $31; - return ($$0|0); -} -function _stbi__bit_reverse($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(17); - if ($2) { - $3 = (_stbi__bitreverse16($0)|0); - $4 = (16 - ($1))|0; - $5 = $3 >> $4; - return ($5|0); - } else { - ___assert_fail((7278|0),(6164|0),3766,(7289|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = $0 >>> 1; - $2 = $1 & 21845; - $3 = $0 << 1; - $4 = $3 & 43690; - $5 = $2 | $4; - $6 = $5 >>> 2; - $7 = $6 & 13107; - $8 = $5 << 2; - $9 = $8 & 52428; - $10 = $7 | $9; - $11 = $10 >>> 4; - $12 = $11 & 3855; - $13 = $10 << 4; - $14 = $13 & 61680; - $15 = $12 | $14; - $16 = $15 >>> 8; - $17 = $15 << 8; - $18 = $17 & 65280; - $19 = $18 | $16; - return ($19|0); -} -function _stbi__zget8($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); -} -function _stbi__refill_buffer($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 40|0); - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($0)) + 32|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 168|0); - HEAP32[$11>>2] = $5; - $12 = ((($0)) + 41|0); - $13 = ((($0)) + 172|0); - HEAP32[$13>>2] = $12; - HEAP8[$5>>0] = 0; - return; - } else { - $14 = ((($0)) + 168|0); - HEAP32[$14>>2] = $5; - $15 = (((($0)) + 40|0) + ($8)|0); - $16 = ((($0)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 176|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 168|0); - HEAP32[$3>>2] = $2; - $4 = ((($0)) + 180|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 172|0); - HEAP32[$6>>2] = $5; - return; -} -function _stbi__hdr_gettoken($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$014 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $$014 = 0; - while(1) { - $2 = (_stbi__get8($0)|0); - $3 = (_stbi__at_eof($0)|0); - $4 = ($3|0)!=(0); - $5 = ($2<<24>>24)==(10); - $or$cond = $5 | $4; - if ($or$cond) { - $$1 = $$014; - break; - } - $6 = (($$014) + 1)|0; - $7 = (($1) + ($$014)|0); - HEAP8[$7>>0] = $2; - $8 = ($6|0)==(1023); - if ($8) { - label = 4; - break; - } else { - $$014 = $6; - } - } - L4: do { - if ((label|0) == 4) { - while(1) { - label = 0; - $9 = (_stbi__at_eof($0)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $$1 = $6; - break L4; - } - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $$1 = $6; - break; - } else { - label = 4; - } - } - } - } while(0); - $13 = (($1) + ($$1)|0); - HEAP8[$13>>0] = 0; - return ($1|0); -} -function _stbi__hdr_convert($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0.0, $$sink1 = 0, $$sink30 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 3|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - switch ($2|0) { - case 4: { - $38 = ((($0)) + 12|0); - HEAPF32[$38>>2] = 1.0; - label = 10; - break; - } - case 3: { - label = 10; - break; - } - case 2: { - $$sink30 = 1.0; - label = 11; - break; - } - case 1: { - break; - } - default: { - return; - } - } - if ((label|0) == 10) { - $39 = ((($0)) + 8|0); - HEAPF32[$39>>2] = 0.0; - $$sink30 = 0.0; - label = 11; - } - if ((label|0) == 11) { - $40 = ((($0)) + 4|0); - HEAPF32[$40>>2] = $$sink30; - } - HEAPF32[$0>>2] = 0.0; - return; - } - $6 = $4&255; - $7 = (($6) + -136)|0; - $8 = (+_ldexp(1.0,$7)); - $9 = $8; - $10 = ($2|0)<(3); - $11 = HEAP8[$1>>0]|0; - if ($10) { - $12 = $11&255; - $13 = ((($1)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (($15) + ($12))|0; - $17 = ((($1)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = (($16) + ($19))|0; - $21 = (+($20|0)); - $22 = $9 * $21; - $23 = $22 / 3.0; - $$sink = $23;$$sink1 = $0; - } else { - $24 = (+($11&255)); - $25 = $9 * $24; - HEAPF32[$0>>2] = $25; - $26 = ((($1)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $9 * $28; - $30 = ((($0)) + 4|0); - HEAPF32[$30>>2] = $29; - $31 = ((($1)) + 2|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $9 * $33; - $35 = ((($0)) + 8|0); - $$sink = $34;$$sink1 = $35; - } - HEAPF32[$$sink1>>2] = $$sink; - switch ($2|0) { - case 2: { - $36 = ((($0)) + 4|0); - HEAPF32[$36>>2] = 1.0; - return; - break; - } - case 4: { - $37 = ((($0)) + 12|0); - HEAPF32[$37>>2] = 1.0; - return; - break; - } - default: { - return; - } - } -} -function _stbi__at_eof($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_ii[$5 & 15]($7)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); - } - $10 = ((($0)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $$0 = 1; - return ($$0|0); - } - } - $13 = ((($0)) + 168|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 172|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($14>>>0)>=($16>>>0); - $18 = $17&1; - $$0 = $18; - return ($$0|0); -} -function _stbi__hdr_test_core($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$07 = 0, $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - L1: do { - if (!($3)) { - $$08 = 0;$11 = $1; - while(1) { - $8 = (_stbi__get8($0)|0); - $9 = $8&255; - $10 = HEAP8[$11>>0]|0; - $12 = $10 << 24 >> 24; - $13 = ($9|0)==($12|0); - $5 = (($$08) + 1)|0; - if (!($13)) { - $$07 = 0; - break; - } - $4 = (($1) + ($5)|0); - $6 = HEAP8[$4>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - break L1; - } else { - $$08 = $5;$11 = $4; - } - } - return ($$07|0); - } - } while(0); - _stbi__rewind($0); - $$07 = 1; - return ($$07|0); -} -function _stbi__start_callbacks($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; - $4 = ((($0)) + 28|0); - HEAP32[$4>>2] = $2; - $5 = ((($0)) + 36|0); - HEAP32[$5>>2] = 128; - $6 = ((($0)) + 32|0); - HEAP32[$6>>2] = 1; - $7 = ((($0)) + 40|0); - $8 = ((($0)) + 176|0); - HEAP32[$8>>2] = $7; - _stbi__refill_buffer($0); - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 180|0); - HEAP32[$11>>2] = $10; - return; -} -function _stbi__stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fread($1,1,$2,$0)|0); - return ($3|0); -} -function _stbi__stdio_skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($0,$1,1)|0); - return; -} -function _stbi__stdio_eof($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_feof($0)|0); - return ($1|0); -} -function _ImageCopy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx11 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx13 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx15 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = Math_imul($5, $3)|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 18: case 15: case 12: case 11: case 1: { - $$0 = $6; - break; - } - case 6: case 5: case 3: case 2: { - $9 = $6 << 1; - $$0 = $9; - break; - } - case 4: { - $10 = ($6*3)|0; - $$0 = $10; - break; - } - case 7: { - $11 = $6 << 2; - $$0 = $11; - break; - } - case 8: { - $12 = ($6*12)|0; - $$0 = $12; - break; - } - case 17: case 16: case 14: case 13: case 10: case 9: { - $13 = (($6|0) / 2)&-1; - $$0 = $13; - break; - } - case 19: { - $14 = (($6|0) / 4)&-1; - $$0 = $14; - break; - } - default: { - _TraceLog(1,7738,$vararg_buffer); - $$0 = $6; - } - } - $15 = (_malloc($$0)|0); - $16 = ($15|0)==(0|0); - if ($16) { - $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; - } else { - $17 = HEAP32[$1>>2]|0; - _memcpy(($15|0),($17|0),($$0|0))|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = ((($1)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$7>>2]|0; - $$sroa$6$0 = $18;$$sroa$7$0 = $19;$$sroa$8$0 = $21;$$sroa$9$0 = $22; - } - HEAP32[$0>>2] = $15; - $$sroa$6$0$$sroa_idx11 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx11>>2] = $$sroa$6$0; - $$sroa$7$0$$sroa_idx13 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx13>>2] = $$sroa$7$0; - $$sroa$8$0$$sroa_idx15 = ((($0)) + 12|0); - HEAP32[$$sroa$8$0$$sroa_idx15>>2] = $$sroa$8$0; - $$sroa$9$0$$sroa_idx17 = ((($0)) + 16|0); - HEAP32[$$sroa$9$0$$sroa_idx17>>2] = $$sroa$9$0; - STACKTOP = sp;return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($23<<24>>24) { - case 10: { - $25 = HEAP32[$9>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = (($26) + ($25))|0; - $28 = (+($27|0)); - $29 = $12 * $28; - $30 = (~~(($29))); - $31 = (($30) + ($$05153))|0; - $$150 = 0;$$152 = $31;$$2 = $$055; - break; - } - case -62: { - $32 = (($$055) + 1)|0; - $33 = (($1) + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $$1 = $32;$$sink = $35; - label = 8; - break; - } - case -61: { - $36 = (($$055) + 1)|0; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($39) + 64)|0; - $$1 = $36;$$sink = $40; - label = 8; - break; - } - default: { - $$1 = $$055;$$sink = $24; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4905]|0; - $2 = HEAP32[4903]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - $10 = (($2) + 1)|0; - if ($9) { - HEAP32[4903] = $10; - $12 = $10; - } else { - $$pr = HEAP32[4903]|0; - $12 = $$pr; - } - $11 = ($12|0)>(255); - if ($11) { - _rlglDraw(); - HEAP32[4903] = 1; - } - $13 = HEAP32[4905]|0; - $14 = HEAP32[4903]|0; - $15 = (($14) + -1)|0; - $16 = (((($13) + (($15*144)|0)|0)) + 8|0); - HEAP32[$16>>2] = $0; - $17 = (($13) + (($15*144)|0)|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[5091]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(2,7845,$vararg_buffer); - } - $2 = HEAP32[5091]|0; - $3 = (20368 + ($2<<6)|0); - $4 = HEAP32[5348]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[5091]|0; - $6 = (($5) + 1)|0; - HEAP32[5091] = $6; - $7 = HEAP32[5353]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[5349] = 1; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - $5 = HEAP32[5348]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _Vector3Normalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[5348]|0; - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5352] = $0; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[5352]|0; - switch ($4|0) { - case 1: { - $$sink37 = (19632);$$sink38 = (19644); - break; - } - case 4: { - $$sink37 = (19680);$$sink38 = (19692); - break; - } - case 7: { - $$sink37 = (19440);$$sink38 = (19452); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[5352]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(19448)>>2]|0; - $5 = HEAP32[(19436)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(19436)>>2] = $10; - return; -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[914]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[5349]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5350]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[5351]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5348]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Vector3Transform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[5350]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[5349] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[5351]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[5350]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[5349] = 0; - } - HEAP32[5350] = 0; - } - $21 = HEAP32[5352]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[4906]|0; - $23 = HEAP32[(19632)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[914]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[914] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[914]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[914] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(19644)>>2]|0; - $28 = HEAP32[(19632)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(19644)>>2]|0; - $35 = HEAP32[(19632)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(19644)>>2]|0; - $43 = HEAP32[(19632)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(19644)>>2]|0; - $51 = HEAP32[(19632)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(19632)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(19632)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[914]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[914] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[4918]|0; - $62 = HEAP32[(19680)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[914]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[914] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[914]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[914] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(19692)>>2]|0; - $67 = HEAP32[(19680)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(19692)>>2]|0; - $74 = HEAP32[(19680)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(19692)>>2]|0; - $82 = HEAP32[(19680)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(19692)>>2]|0; - $90 = HEAP32[(19680)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(19680)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(19680)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[914]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[914] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[4858]|0; - $101 = HEAP32[(19440)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(19452)>>2]|0; - $106 = HEAP32[(19440)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(19452)>>2]|0; - $113 = HEAP32[(19440)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(19452)>>2]|0; - $121 = HEAP32[(19440)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(19452)>>2]|0; - $129 = HEAP32[(19440)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(19440)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(19440)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[4858]|0; - $140 = HEAP32[(19436)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[914]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[914] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(19448)>>2]|0; - $$promoted = HEAP32[(19436)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(19436)>>2] = $147; - $148 = +HEAPF32[914]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[914] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[914]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[914] = $149; - STACKTOP = sp;return; - } - } -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5091]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[5091]|0; - $3 = (($2) + -1)|0; - $4 = (20368 + ($3<<6)|0); - $5 = HEAP32[5348]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[5091] = $6; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4858]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateBuffersDefault(); - _DrawBuffersDefault(); - return; -} -function _UpdateBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4906]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[4963]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[4964]|0; - $5 = HEAP32[(19652)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(19656)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4906]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(19636)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19660)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19632)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(19644)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[4918]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[4963]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[4964]|0; - $19 = HEAP32[(19700)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(19704)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4918]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(19684)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19708)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19680)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(19692)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[4858]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[4963]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[4964]|0; - $33 = HEAP32[(19460)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(19464)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4858]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(19444)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19468)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4858]|0; - $40 = $39 << 3; - $41 = HEAP32[(19448)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19472)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4858]|0; - $44 = $43 << 2; - $45 = HEAP32[(19452)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[4963]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[4964]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawBuffersDefault() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=19480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=19544; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4902]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[4906]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[4918]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[4858]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[4930]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19544; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=19480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19748)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19768)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19780)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[4906]|0; - $20 = ($19|0)>(0); - if ($20) { - _glActiveTexture(33984); - $21 = HEAP32[4904]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[4963]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(19656)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19724)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19724)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19660)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19744)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19744)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[4964]|0; - $25 = HEAP32[(19652)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[4906]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4963]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[4918]|0; - $36 = ($35|0)>(0); - if ($36) { - _glActiveTexture(33984); - $37 = HEAP32[4904]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[4963]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(19704)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19724)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19724)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19708)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19744)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19744)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[4964]|0; - $41 = HEAP32[(19700)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[4918]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4963]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[4858]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[4963]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(19464)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19724)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19724)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19468)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19728)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19728)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19472)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19744)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19744)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19476)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[4964]|0; - $56 = HEAP32[(19460)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[4903]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[4905]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - _glActiveTexture(33984); - $76 = HEAP32[4905]|0; - $77 = (((($76) + (($$031*144)|0)|0)) + 8|0); - $78 = HEAP32[$77>>2]|0; - _glBindTexture(3553,($78|0)); - $79 = $$02830 << 1; - $80 = $79; - _glDrawElements(4,($75|0),5123,($80|0)); - $81 = HEAP32[4905]|0; - $82 = (($81) + (($$031*144)|0)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83|0) / 4)&-1; - $85 = ($84*6)|0; - $86 = (($85) + ($$02830))|0; - $87 = (($$031) + 1)|0; - $88 = HEAP32[4903]|0; - $89 = ($87|0)<($88|0); - if ($89) { - $$02830 = $86;$$031 = $87; - } else { - break; - } - } - } - $69 = HEAP32[4963]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $90 = HEAP32[4963]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = HEAP32[4964]|0; - FUNCTION_TABLE_vi[$92 & 31](0); - } - _glUseProgram(0); - $93 = (($$02932) + 1)|0; - $94 = ($93|0)<($$|0); - if ($94) { - $$02932 = $93; - } else { - break; - } - } - HEAP32[4903] = 1; - $5 = HEAP32[4904]|0; - $6 = HEAP32[4905]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[4906] = 0; - HEAP32[(19632)>>2] = 0; - HEAP32[4918] = 0; - HEAP32[(19680)>>2] = 0; - HEAP32[4858] = 0; - HEAP32[(19436)>>2] = 0; - HEAP32[(19440)>>2] = 0; - HEAPF32[914] = -1.0; - dest=19480; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19544; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4981]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4982]|0; - _rlViewport($7,0,$8,$9); - $10 = (20236 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20108 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 * $4; - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($1)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($2)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($1)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($2)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($2)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($2)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($2)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($2)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($2)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($2)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($2)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($2)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($2)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($2)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($2)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($2)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($1)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($1)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($1)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($1)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($1)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($1)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($1)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($1)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($1)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($1)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($1)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($1)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixToFloat($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[4965] = $1; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(19864)>>2] = $3; - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(19868)>>2] = $5; - $6 = ((($0)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(19872)>>2] = $7; - $8 = ((($0)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(19876)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(19880)>>2] = $11; - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(19884)>>2] = $13; - $14 = ((($0)) + 52|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(19888)>>2] = $15; - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(19892)>>2] = $17; - $18 = ((($0)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(19896)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(19900)>>2] = $21; - $22 = ((($0)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(19904)>>2] = $23; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(19908)>>2] = $25; - $26 = ((($0)) + 28|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(19912)>>2] = $27; - $28 = ((($0)) + 44|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(19916)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(19920)>>2] = $31; - return (19860|0); -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=19544; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=19480; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Vector3Transform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = HEAP32[5349]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5351]|0; - $6 = HEAP32[5350]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[5350] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[5352]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[4906]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(19636)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[4906] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(2,7766,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[4918]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(19684)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[4918] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(2,7791,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[4858]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(19444)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[4858] = $41; - $42 = HEAP32[4905]|0; - $43 = HEAP32[4903]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(2,7820,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _Vector3Normalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_Vector3Length($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _Vector3Length($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = 0.0; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = 0.0; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = 0.0; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $2; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = 0.0; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = 0.0; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = 0.0; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = 0.0; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = 0.0; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[5348]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _FormatText($0,$varargs) { - $0 = $0|0; - $varargs = $varargs|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $varargs; - (_vsprintf(22456,$0,$1)|0); - STACKTOP = sp;return (22456|0); -} -function _DrawFPS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - $2 = sp + 4|0; - $3 = HEAP32[5354]|0; - $4 = HEAP32[915]|0; - $5 = ($3|0)<($4|0); - if ($5) { - $6 = (($3) + 1)|0; - $$sink = $6; - } else { - $7 = (_GetFPS()|0); - HEAP32[5355] = $7; - HEAP32[915] = $7; - $$sink = 0; - } - HEAP32[5354] = $$sink; - $8 = HEAP32[5355]|0; - HEAP32[$$byval_copy>>2] = $8; - (_FormatText(7883,$$byval_copy)|0); - HEAP8[$2>>0] = 0; - $9 = ((($2)) + 1|0); - HEAP8[$9>>0] = -98; - $10 = ((($2)) + 2|0); - HEAP8[$10>>0] = 47; - $11 = ((($2)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(22456,$0,$1,20,$$byval_copy); - STACKTOP = sp;return; -} -function _GetFPS() { - var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_GetFrameTime()); - $1 = 1.0 / $0; - $2 = (~~(($1))); - return ($2|0); -} -function _GetFrameTime() { - var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF64[2321]; - $1 = $0; - return (+$1); -} -function _LoadTexture($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $2 = sp + 24|0; - $3 = sp + 4|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - _LoadImage($3,$1); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - _TraceLog(1,7891,$vararg_buffer); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _LoadTextureFromImage($2,$$byval_copy1); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _UnloadImage($$byval_copy1); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _rlScalef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixScale($3,$0,$1,$2); - $5 = HEAP32[5348]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _DrawGrid($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0|0) / 2)&-1; - _rlBegin(1); - $3 = (0 - ($2))|0; - $4 = ($2|0)<($3|0); - if ($4) { - _rlEnd(); - return; - } - $5 = (+($3|0)); - $6 = $5 * $1; - $7 = (+($2|0)); - $8 = $7 * $1; - $$024 = $3; - while(1) { - $9 = ($$024|0)==(0); - if ($9) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $10 = (+($$024|0)); - $11 = $10 * $1; - _rlVertex3f($11,0.0,$6); - _rlVertex3f($11,0.0,$8); - _rlVertex3f($6,0.0,$11); - _rlVertex3f($8,0.0,$11); - $12 = (($$024) + 1)|0; - $13 = ($$024|0)<($2|0); - if ($13) { - $$024 = $12; - } else { - break; - } - } - _rlEnd(); - return; -} -function _rlColor3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $0 * 255.0; - $4 = (~~(($3))&255); - $5 = $1 * 255.0; - $6 = (~~(($5))&255); - $7 = $2 * 255.0; - $8 = (~~(($7))&255); - _rlColor4ub($4,$6,$8,-1); - return; -} -function _DrawGizmo($0) { - $0 = $0|0; - var $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 8|0); - $5 = +HEAPF32[$4>>2]; - _rlTranslatef($1,$3,$5); - _rlScalef(1.0,1.0,1.0); - _rlBegin(1); - _rlColor3f(1.0,0.0,0.0); - _rlVertex3f(0.0,0.0,0.0); - _rlColor3f(1.0,0.0,0.0); - _rlVertex3f(1.0,0.0,0.0); - _rlColor3f(0.0,1.0,0.0); - _rlVertex3f(0.0,0.0,0.0); - _rlColor3f(0.0,1.0,0.0); - _rlVertex3f(0.0,1.0,0.0); - _rlColor3f(0.0,0.0,1.0); - _rlVertex3f(0.0,0.0,0.0); - _rlColor3f(0.0,0.0,1.0); - _rlVertex3f(0.0,0.0,1.0); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _LoadModel($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1152|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1152|0); - $2 = sp + 536|0; - $3 = sp + 472|0; - $4 = sp; - _memset(($2|0),0,604)|0; - _LoadMesh($2,$1); - $5 = ((($2)) + 68|0); - _MatrixIdentity($3); - dest=$5; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = ((($2)) + 132|0); - _LoadMaterialDefault($4); - _memcpy(($6|0),($4|0),472)|0; - _memcpy(($0|0),($2|0),604)|0; - STACKTOP = sp;return; -} -function _LoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 4|0; - dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,7920)|0); - $5 = ($4|0)==(0); - if (!($5)) { - _LoadOBJ($3,$1); - dest=$2; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - _TraceLog(1,7925,$vararg_buffer); - } else { - _rlLoadMesh($2,0); - } - dest=$0; src=$2; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadMaterialDefault($0) { - $0 = $0|0; - var $$sroa$05 = 0, $$sroa$05$132$sroa_idx = 0, $$sroa$10$0$$sroa_idx = 0, $$sroa$1014$0$$sroa_idx = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$6$0$$sroa_idx = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(304|0); - $$sroa$05 = sp + 152|0; - $1 = sp + 20|0; - $2 = sp; - _memset(($$sroa$05|0),0,152)|0; - _GetShaderDefault($1); - _memcpy(($$sroa$05|0),($1|0),132)|0; - _GetTextureDefault($2); - $$sroa$05$132$sroa_idx = ((($$sroa$05)) + 132|0); - ;HEAP32[$$sroa$05$132$sroa_idx>>2]=HEAP32[$2>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+16>>2]=HEAP32[$2+16>>2]|0; - _memcpy(($0|0),($$sroa$05|0),152)|0; - $$sroa$6$0$$sroa_idx = ((($0)) + 152|0); - $$sroa$10$0$$sroa_idx = ((($0)) + 156|0); - HEAP32[$$sroa$6$0$$sroa_idx>>2] = -1; - ;HEAP32[$$sroa$10$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+20>>2]=0|0; - $$sroa$1014$0$$sroa_idx = ((($0)) + 180|0); - $$sroa$14$0$$sroa_idx = ((($0)) + 184|0); - HEAP32[$$sroa$1014$0$$sroa_idx>>2] = -1; - _memset(($$sroa$14$0$$sroa_idx|0),0,288)|0; - STACKTOP = sp;return; -} -function _GetShaderDefault($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _memcpy(($0|0),(21424|0),132)|0; - return; -} -function _GetTextureDefault($0) { - $0 = $0|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4904]|0; - HEAP32[$0>>2] = $1; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; - return; -} -function _LoadOBJ($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$ph374433 = 0, $$0$ph377422 = 0, $$0$ph379$lcssa386 = 0, $$0$ph379412 = 0, $$0$ph445 = 0, $$0344$ph373432 = 0, $$0344$ph376$lcssa388 = 0, $$0344$ph376421 = 0, $$0344$ph444 = 0, $$0345$ph372$lcssa389 = 0, $$0345$ph372431 = 0, $$0345$ph443 = 0, $$0346$ph$lcssa = 0, $$0346$ph442 = 0, $$0347392 = 0, $$0348391 = 0, $$0350$ph = 0, $$0350$ph$ph = 0, $$0351$ph$ph = 0, $$0352$ph = 0; - var $$0352$ph$ph = 0, $$0353$ph365399 = 0, $$0353$ph367397 = 0, $$0353$ph402 = 0, $$0354$ph364398 = 0, $$0354$ph401 = 0, $$0355$ph400 = 0, $$0356 = 0, $$0357 = 0, $$1 = 0, $$byval_copy102 = 0, $$byval_copy103 = 0, $$sroa$12$0$$sroa_idx244 = 0, $$sroa$12247$0$$sroa_idx249 = 0, $$sroa$31$0$$sroa_idx270 = 0, $$sroa$45$0$$sroa_idx286 = 0, $$sroa$45289$0$$sroa_idx291 = 0, $$sroa$64$0 = 0, $$sroa$64$0$$sroa_idx312 = 0, $$sroa$74$0$$sroa_idx324 = 0; - var $$sroa$75 = 0, $$sroa$75$0$$sroa_idx = 0, $$sroa$75$0$$sroa_idx328 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0.0; - var $26 = 0, $260 = 0.0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0.0, $312 = 0; - var $313 = 0, $314 = 0.0, $315 = 0, $316 = 0, $317 = 0.0, $318 = 0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0; - var $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0.0, $338 = 0.0, $339 = 0.0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer29 = 0, $vararg_buffer33 = 0, $vararg_buffer36 = 0; - var $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer52 = 0, $vararg_buffer55 = 0, $vararg_buffer58 = 0, $vararg_buffer63 = 0, $vararg_buffer7 = 0, $vararg_buffer71 = 0, $vararg_buffer79 = 0, $vararg_buffer90 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr22 = 0, $vararg_ptr32 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr47 = 0; - var $vararg_ptr48 = 0, $vararg_ptr61 = 0, $vararg_ptr62 = 0, $vararg_ptr66 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, $vararg_ptr69 = 0, $vararg_ptr70 = 0, $vararg_ptr74 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr82 = 0, $vararg_ptr83 = 0, $vararg_ptr84 = 0, $vararg_ptr85 = 0, $vararg_ptr86 = 0, $vararg_ptr87 = 0, $vararg_ptr88 = 0; - var $vararg_ptr89 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy103 = sp + 320|0; - $$byval_copy102 = sp + 304|0; - $vararg_buffer90 = sp + 296|0; - $vararg_buffer79 = sp + 256|0; - $vararg_buffer71 = sp + 232|0; - $vararg_buffer63 = sp + 208|0; - $vararg_buffer58 = sp + 192|0; - $vararg_buffer55 = sp + 184|0; - $vararg_buffer52 = sp + 176|0; - $vararg_buffer49 = sp + 168|0; - $vararg_buffer44 = sp + 152|0; - $vararg_buffer41 = sp + 144|0; - $vararg_buffer36 = sp + 128|0; - $vararg_buffer33 = sp + 120|0; - $vararg_buffer29 = sp + 112|0; - $vararg_buffer26 = sp + 104|0; - $vararg_buffer23 = sp + 96|0; - $vararg_buffer11 = sp + 80|0; - $vararg_buffer7 = sp + 64|0; - $vararg_buffer4 = sp + 56|0; - $vararg_buffer1 = sp + 48|0; - $vararg_buffer = sp + 40|0; - $$sroa$75 = sp; - $2 = sp + 664|0; - $3 = sp + 464|0; - $4 = sp + 428|0; - $5 = sp + 416|0; - $6 = sp + 452|0; - $7 = sp + 440|0; - $8 = sp + 404|0; - $9 = sp + 392|0; - $10 = sp + 380|0; - $11 = sp + 368|0; - $12 = sp + 356|0; - $13 = sp + 344|0; - $14 = sp + 332|0; - dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,8092)|0); - $16 = ($15|0)==(0|0); - if ($16) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,8095,$vararg_buffer); - $$sroa$75$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; - dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $17 = (_feof($15)|0); - $18 = ($17|0)==(0); - L5: do { - if ($18) { - $$0$ph445 = 0;$$0344$ph444 = 0;$$0345$ph443 = 0;$$0346$ph442 = 0; - while(1) { - $$0$ph374433 = $$0$ph445;$$0344$ph373432 = $$0344$ph444;$$0345$ph372431 = $$0345$ph443; - L8: while(1) { - $$0$ph377422 = $$0$ph374433;$$0344$ph376421 = $$0344$ph373432; - L10: while(1) { - $$0$ph379412 = $$0$ph377422; - L12: while(1) { - L14: while(1) { - HEAP8[$2>>0] = 0; - HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,8129,$vararg_buffer1)|0); - $19 = HEAP8[$2>>0]|0; - $20 = $19 << 24 >> 24; - switch ($20|0) { - case 102: { - break L8; - break; - } - case 118: { - break L14; - break; - } - case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $21 = (_feof($15)|0); - $22 = ($21|0)==(0); - if (!($22)) { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,8129,$vararg_buffer4)|0); - $23 = HEAP8[$2>>0]|0; - switch ($23<<24>>24) { - case 116: { - break L10; - break; - } - case 110: { - break L12; - break; - } - default: { - } - } - $30 = (($$0$ph379412) + 1)|0; - (_fgets($3,200,$15)|0); - $31 = (_feof($15)|0); - $32 = ($31|0)==(0); - if ($32) { - $$0$ph379412 = $30; - } else { - $$0$ph379$lcssa386 = $30;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $27 = (($$0344$ph376421) + 1)|0; - (_fgets($3,200,$15)|0); - $28 = (_feof($15)|0); - $29 = ($28|0)==(0); - if ($29) { - $$0$ph377422 = $$0$ph379412;$$0344$ph376421 = $27; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $27;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $24 = (($$0345$ph372431) + 1)|0; - (_fgets($3,200,$15)|0); - $25 = (_feof($15)|0); - $26 = ($25|0)==(0); - if ($26) { - $$0$ph374433 = $$0$ph379412;$$0344$ph373432 = $$0344$ph376421;$$0345$ph372431 = $24; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $24;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $33 = (($$0346$ph442) + 1)|0; - (_fgets($3,200,$15)|0); - $34 = (_feof($15)|0); - $35 = ($34|0)==(0); - if ($35) { - $$0$ph445 = $$0$ph379412;$$0344$ph444 = $$0344$ph376421;$$0345$ph443 = $$0345$ph372431;$$0346$ph442 = $33; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $33; - break; - } - } - } else { - $$0$ph379$lcssa386 = 0;$$0344$ph376$lcssa388 = 0;$$0345$ph372$lcssa389 = 0;$$0346$ph$lcssa = 0; - } - } while(0); - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,8132,$vararg_buffer7); - HEAP32[$vararg_buffer11>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,8156,$vararg_buffer11); - HEAP32[$$byval_copy102>>2] = $1; - $vararg_ptr18 = ((($$byval_copy102)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,8181,$$byval_copy102); - HEAP32[$$byval_copy103>>2] = $1; - $vararg_ptr22 = ((($$byval_copy103)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,8204,$$byval_copy103); - $36 = ($$0$ph379$lcssa386*12)|0; - $37 = (_malloc($36)|0); - $38 = ($$0344$ph376$lcssa388|0)>(0); - if ($38) { - $39 = ($$0344$ph376$lcssa388*12)|0; - $40 = (_malloc($39)|0); - $$0357 = $40;$369 = $40; - } else { - $$0357 = 0;$369 = 0; - } - $41 = ($$0345$ph372$lcssa389|0)>(0); - if ($41) { - $42 = $$0345$ph372$lcssa389 << 3; - $43 = (_malloc($42)|0); - $$0356 = $43;$370 = $43; - } else { - $$0356 = 0;$370 = 0; - } - _rewind($15); - $44 = (_feof($15)|0); - $45 = ($44|0)==(0); - L31: do { - if ($45) { - $$0353$ph402 = 0;$$0354$ph401 = 0;$$0355$ph400 = 0; - while(1) { - $$0353$ph365399 = $$0353$ph402;$$0354$ph364398 = $$0354$ph401; - L34: while(1) { - $$0353$ph367397 = $$0353$ph365399; - L36: while(1) { - L38: while(1) { - HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,8129,$vararg_buffer23)|0); - $46 = HEAP8[$2>>0]|0; - $47 = $46 << 24 >> 24; - switch ($47|0) { - case 118: { - break L38; - break; - } - case 102: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $48 = (_feof($15)|0); - $49 = ($48|0)==(0); - if (!($49)) { - break L31; - } - } - HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,8129,$vararg_buffer26)|0); - $50 = HEAP8[$2>>0]|0; - switch ($50<<24>>24) { - case 110: { - break L36; - break; - } - case 116: { - break; - } - default: { - break L34; - } - } - $51 = (($$0356) + ($$0353$ph367397<<3)|0); - $52 = (((($$0356) + ($$0353$ph367397<<3)|0)) + 4|0); - HEAP32[$vararg_buffer29>>2] = $51; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,8229,$vararg_buffer29)|0); - $53 = (($$0353$ph367397) + 1)|0; - HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,8129,$vararg_buffer33)|0); - $54 = (_feof($15)|0); - $55 = ($54|0)==(0); - if ($55) { - $$0353$ph367397 = $53; - } else { - break L31; - } - } - $56 = (($$0357) + (($$0354$ph364398*12)|0)|0); - $57 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 4|0); - $58 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer36>>2] = $56; - $vararg_ptr39 = ((($vararg_buffer36)) + 4|0); - HEAP32[$vararg_ptr39>>2] = $57; - $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); - HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,8243,$vararg_buffer36)|0); - $59 = (($$0354$ph364398) + 1)|0; - HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,8129,$vararg_buffer41)|0); - $60 = (_feof($15)|0); - $61 = ($60|0)==(0); - if ($61) { - $$0353$ph365399 = $$0353$ph367397;$$0354$ph364398 = $59; - } else { - break L31; - } - } - $62 = (($37) + (($$0355$ph400*12)|0)|0); - $63 = (((($37) + (($$0355$ph400*12)|0)|0)) + 4|0); - $64 = (((($37) + (($$0355$ph400*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer44>>2] = $62; - $vararg_ptr47 = ((($vararg_buffer44)) + 4|0); - HEAP32[$vararg_ptr47>>2] = $63; - $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); - HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,8243,$vararg_buffer44)|0); - $65 = (($$0355$ph400) + 1)|0; - HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,8129,$vararg_buffer49)|0); - $66 = (_feof($15)|0); - $67 = ($66|0)==(0); - if ($67) { - $$0353$ph402 = $$0353$ph367397;$$0354$ph401 = $$0354$ph364398;$$0355$ph400 = $65; - } else { - break; - } - } - } - } while(0); - $68 = ($$0346$ph$lcssa*3)|0; - $69 = ($$0346$ph$lcssa*9)|0; - $70 = ($$0346$ph$lcssa*36)|0; - $71 = (_malloc($70)|0); - $72 = ($$0346$ph$lcssa*6)|0; - $73 = ($$0346$ph$lcssa*24)|0; - $74 = (_malloc($73)|0); - $75 = (_malloc($70)|0); - _rewind($15); - $76 = ($$0344$ph376$lcssa388|0)==(0); - if ($76) { - HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,8252,$vararg_buffer52); - } - $77 = ($$0345$ph372$lcssa389|0)==(0); - $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; - $79 = ($78|0)==(0); - $80 = ((($vararg_buffer11)) + 4|0); - $81 = ((($vararg_buffer11)) + 8|0); - $82 = ((($vararg_buffer11)) + 4|0); - $83 = ((($vararg_buffer11)) + 8|0); - $84 = ((($4)) + 4|0); - $85 = ((($4)) + 8|0); - $86 = ((($5)) + 4|0); - $87 = ((($5)) + 8|0); - $88 = ((($vararg_buffer11)) + 4|0); - $89 = ((($vararg_buffer7)) + 4|0); - $90 = ((($vararg_buffer11)) + 8|0); - $91 = ((($vararg_buffer7)) + 8|0); - $92 = ((($vararg_buffer11)) + 4|0); - $93 = ((($4)) + 4|0); - $94 = ((($vararg_buffer11)) + 8|0); - $95 = ((($4)) + 8|0); - $96 = ((($vararg_buffer11)) + 4|0); - $97 = ((($vararg_buffer7)) + 4|0); - $98 = ((($4)) + 4|0); - $99 = ((($vararg_buffer11)) + 8|0); - $100 = ((($vararg_buffer7)) + 8|0); - $101 = ((($4)) + 8|0); - $102 = ((($vararg_buffer7)) + 4|0); - $103 = ((($vararg_buffer7)) + 8|0); - $$0350$ph$ph = 0;$$0351$ph$ph = 0;$$0352$ph$ph = 0; - L51: while(1) { - $$0350$ph = $$0350$ph$ph;$$0352$ph = $$0352$ph$ph; - while(1) { - $104 = (_feof($15)|0); - $105 = ($104|0)==(0); - if (!($105)) { - break L51; - } - L55: while(1) { - HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,8129,$vararg_buffer55)|0); - $106 = HEAP8[$2>>0]|0; - $107 = $106 << 24 >> 24; - switch ($107|0) { - case 102: { - break L55; - break; - } - case 118: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $108 = (_feof($15)|0); - $109 = ($108|0)==(0); - if (!($109)) { - break L51; - } - } - do { - if ($79) { - HEAP32[$vararg_buffer58>>2] = $vararg_buffer11; - $vararg_ptr61 = ((($vararg_buffer58)) + 4|0); - HEAP32[$vararg_ptr61>>2] = $80; - $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); - HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,8323,$vararg_buffer58)|0); - } else { - if ($76) { - HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; - $vararg_ptr66 = ((($vararg_buffer63)) + 4|0); - HEAP32[$vararg_ptr66>>2] = $vararg_buffer7; - $vararg_ptr67 = ((($vararg_buffer63)) + 8|0); - HEAP32[$vararg_ptr67>>2] = $88; - $vararg_ptr68 = ((($vararg_buffer63)) + 12|0); - HEAP32[$vararg_ptr68>>2] = $89; - $vararg_ptr69 = ((($vararg_buffer63)) + 16|0); - HEAP32[$vararg_ptr69>>2] = $90; - $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); - HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,8332,$vararg_buffer63)|0); - break; - } - if ($77) { - HEAP32[$vararg_buffer71>>2] = $vararg_buffer11; - $vararg_ptr74 = ((($vararg_buffer71)) + 4|0); - HEAP32[$vararg_ptr74>>2] = $4; - $vararg_ptr75 = ((($vararg_buffer71)) + 8|0); - HEAP32[$vararg_ptr75>>2] = $92; - $vararg_ptr76 = ((($vararg_buffer71)) + 12|0); - HEAP32[$vararg_ptr76>>2] = $93; - $vararg_ptr77 = ((($vararg_buffer71)) + 16|0); - HEAP32[$vararg_ptr77>>2] = $94; - $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); - HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,8350,$vararg_buffer71)|0); - break; - } else { - HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; - $vararg_ptr82 = ((($vararg_buffer79)) + 4|0); - HEAP32[$vararg_ptr82>>2] = $vararg_buffer7; - $vararg_ptr83 = ((($vararg_buffer79)) + 8|0); - HEAP32[$vararg_ptr83>>2] = $4; - $vararg_ptr84 = ((($vararg_buffer79)) + 12|0); - HEAP32[$vararg_ptr84>>2] = $96; - $vararg_ptr85 = ((($vararg_buffer79)) + 16|0); - HEAP32[$vararg_ptr85>>2] = $97; - $vararg_ptr86 = ((($vararg_buffer79)) + 20|0); - HEAP32[$vararg_ptr86>>2] = $98; - $vararg_ptr87 = ((($vararg_buffer79)) + 24|0); - HEAP32[$vararg_ptr87>>2] = $99; - $vararg_ptr88 = ((($vararg_buffer79)) + 28|0); - HEAP32[$vararg_ptr88>>2] = $100; - $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); - HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,8371,$vararg_buffer79)|0); - break; - } - } - } while(0); - $110 = HEAP32[$vararg_buffer11>>2]|0; - $111 = (($110) + -1)|0; - $112 = (($37) + (($111*12)|0)|0); - $113 = HEAP32[$112>>2]|0; - $114 = (($71) + ($$0352$ph<<2)|0); - HEAP32[$114>>2] = $113; - $115 = (((($37) + (($111*12)|0)|0)) + 4|0); - $116 = HEAP32[$115>>2]|0; - $117 = (($$0352$ph) + 1)|0; - $118 = (($71) + ($117<<2)|0); - HEAP32[$118>>2] = $116; - $119 = (((($37) + (($111*12)|0)|0)) + 8|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($$0352$ph) + 2)|0; - $122 = (($71) + ($121<<2)|0); - HEAP32[$122>>2] = $120; - $123 = (($$0352$ph) + 3)|0; - $124 = HEAP32[$82>>2]|0; - $125 = (($124) + -1)|0; - $126 = (($37) + (($125*12)|0)|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($71) + ($123<<2)|0); - HEAP32[$128>>2] = $127; - $129 = (((($37) + (($125*12)|0)|0)) + 4|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($$0352$ph) + 4)|0; - $132 = (($71) + ($131<<2)|0); - HEAP32[$132>>2] = $130; - $133 = (((($37) + (($125*12)|0)|0)) + 8|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($$0352$ph) + 5)|0; - $136 = (($71) + ($135<<2)|0); - HEAP32[$136>>2] = $134; - $137 = (($$0352$ph) + 6)|0; - $138 = HEAP32[$83>>2]|0; - $139 = (($138) + -1)|0; - $140 = (($37) + (($139*12)|0)|0); - $141 = HEAP32[$140>>2]|0; - $142 = (($71) + ($137<<2)|0); - HEAP32[$142>>2] = $141; - $143 = (((($37) + (($139*12)|0)|0)) + 4|0); - $144 = HEAP32[$143>>2]|0; - $145 = (($$0352$ph) + 7)|0; - $146 = (($71) + ($145<<2)|0); - HEAP32[$146>>2] = $144; - $147 = (((($37) + (($139*12)|0)|0)) + 8|0); - $148 = HEAP32[$147>>2]|0; - $149 = (($$0352$ph) + 8)|0; - $150 = (($71) + ($149<<2)|0); - HEAP32[$150>>2] = $148; - $151 = (($$0352$ph) + 9)|0; - if ($38) { - $152 = HEAP32[$4>>2]|0; - $153 = (($152) + -1)|0; - $154 = (($$0357) + (($153*12)|0)|0); - $155 = HEAP32[$154>>2]|0; - $156 = (($75) + ($$0350$ph<<2)|0); - HEAP32[$156>>2] = $155; - $157 = (((($$0357) + (($153*12)|0)|0)) + 4|0); - $158 = HEAP32[$157>>2]|0; - $159 = (($$0350$ph) + 1)|0; - $160 = (($75) + ($159<<2)|0); - HEAP32[$160>>2] = $158; - $161 = (((($$0357) + (($153*12)|0)|0)) + 8|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($$0350$ph) + 2)|0; - $164 = (($75) + ($163<<2)|0); - HEAP32[$164>>2] = $162; - $165 = (($$0350$ph) + 3)|0; - $166 = HEAP32[$84>>2]|0; - $167 = (($166) + -1)|0; - $168 = (($$0357) + (($167*12)|0)|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($75) + ($165<<2)|0); - HEAP32[$170>>2] = $169; - $171 = (((($$0357) + (($167*12)|0)|0)) + 4|0); - $172 = HEAP32[$171>>2]|0; - $173 = (($$0350$ph) + 4)|0; - $174 = (($75) + ($173<<2)|0); - HEAP32[$174>>2] = $172; - $175 = (((($$0357) + (($167*12)|0)|0)) + 8|0); - $176 = HEAP32[$175>>2]|0; - $177 = (($$0350$ph) + 5)|0; - $178 = (($75) + ($177<<2)|0); - HEAP32[$178>>2] = $176; - $179 = (($$0350$ph) + 6)|0; - $180 = HEAP32[$85>>2]|0; - $181 = (($180) + -1)|0; - $182 = (($$0357) + (($181*12)|0)|0); - $183 = HEAP32[$182>>2]|0; - $184 = (($75) + ($179<<2)|0); - HEAP32[$184>>2] = $183; - $185 = (((($$0357) + (($181*12)|0)|0)) + 4|0); - $186 = HEAP32[$185>>2]|0; - $187 = (($$0350$ph) + 7)|0; - $188 = (($75) + ($187<<2)|0); - HEAP32[$188>>2] = $186; - $189 = (((($$0357) + (($181*12)|0)|0)) + 8|0); - $190 = HEAP32[$189>>2]|0; - $191 = (($$0350$ph) + 8)|0; - $192 = (($75) + ($191<<2)|0); - HEAP32[$192>>2] = $190; - } else { - $193 = HEAP32[$82>>2]|0; - $194 = (($193) + -1)|0; - $195 = (($37) + (($194*12)|0)|0); - $196 = HEAP32[$vararg_buffer11>>2]|0; - $197 = (($196) + -1)|0; - $198 = (($37) + (($197*12)|0)|0); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$195>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$195+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$195+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$198>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$198+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$198+8>>2]|0; - _Vector3Subtract($6,$$byval_copy102,$$byval_copy103); - $199 = HEAP32[$83>>2]|0; - $200 = (($199) + -1)|0; - $201 = (($37) + (($200*12)|0)|0); - $202 = HEAP32[$vararg_buffer11>>2]|0; - $203 = (($202) + -1)|0; - $204 = (($37) + (($203*12)|0)|0); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$201>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$201+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$201+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$204>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$204+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$204+8>>2]|0; - _Vector3Subtract($7,$$byval_copy102,$$byval_copy103); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$6+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$7+8>>2]|0; - _Vector3CrossProduct($5,$$byval_copy102,$$byval_copy103); - _Vector3Normalize($5); - $205 = HEAP32[$5>>2]|0; - $206 = (($75) + ($$0350$ph<<2)|0); - HEAP32[$206>>2] = $205; - $207 = HEAP32[$86>>2]|0; - $208 = (($$0350$ph) + 1)|0; - $209 = (($75) + ($208<<2)|0); - HEAP32[$209>>2] = $207; - $210 = HEAP32[$87>>2]|0; - $211 = (($$0350$ph) + 2)|0; - $212 = (($75) + ($211<<2)|0); - HEAP32[$212>>2] = $210; - $213 = (($$0350$ph) + 3)|0; - $214 = HEAP32[$5>>2]|0; - $215 = (($75) + ($213<<2)|0); - HEAP32[$215>>2] = $214; - $216 = HEAP32[$86>>2]|0; - $217 = (($$0350$ph) + 4)|0; - $218 = (($75) + ($217<<2)|0); - HEAP32[$218>>2] = $216; - $219 = HEAP32[$87>>2]|0; - $220 = (($$0350$ph) + 5)|0; - $221 = (($75) + ($220<<2)|0); - HEAP32[$221>>2] = $219; - $222 = (($$0350$ph) + 6)|0; - $223 = HEAP32[$5>>2]|0; - $224 = (($75) + ($222<<2)|0); - HEAP32[$224>>2] = $223; - $225 = HEAP32[$86>>2]|0; - $226 = (($$0350$ph) + 7)|0; - $227 = (($75) + ($226<<2)|0); - HEAP32[$227>>2] = $225; - $228 = HEAP32[$87>>2]|0; - $229 = (($$0350$ph) + 8)|0; - $230 = (($75) + ($229<<2)|0); - HEAP32[$230>>2] = $228; - } - $$1 = (($$0350$ph) + 9)|0; - if ($41) { - break; - } else { - $$0350$ph = $$1;$$0352$ph = $151; - } - } - $231 = HEAP32[$vararg_buffer7>>2]|0; - $232 = (($231) + -1)|0; - $233 = (($$0356) + ($232<<3)|0); - $234 = HEAP32[$233>>2]|0; - $235 = (($74) + ($$0351$ph$ph<<2)|0); - HEAP32[$235>>2] = $234; - $236 = (((($$0356) + ($232<<3)|0)) + 4|0); - $237 = +HEAPF32[$236>>2]; - $238 = 1.0 - $237; - $239 = $$0351$ph$ph | 1; - $240 = (($74) + ($239<<2)|0); - HEAPF32[$240>>2] = $238; - $241 = (($$0351$ph$ph) + 2)|0; - $242 = HEAP32[$102>>2]|0; - $243 = (($242) + -1)|0; - $244 = (($$0356) + ($243<<3)|0); - $245 = HEAP32[$244>>2]|0; - $246 = (($74) + ($241<<2)|0); - HEAP32[$246>>2] = $245; - $247 = (((($$0356) + ($243<<3)|0)) + 4|0); - $248 = +HEAPF32[$247>>2]; - $249 = 1.0 - $248; - $250 = (($$0351$ph$ph) + 3)|0; - $251 = (($74) + ($250<<2)|0); - HEAPF32[$251>>2] = $249; - $252 = (($$0351$ph$ph) + 4)|0; - $253 = HEAP32[$103>>2]|0; - $254 = (($253) + -1)|0; - $255 = (($$0356) + ($254<<3)|0); - $256 = HEAP32[$255>>2]|0; - $257 = (($74) + ($252<<2)|0); - HEAP32[$257>>2] = $256; - $258 = (((($$0356) + ($254<<3)|0)) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = 1.0 - $259; - $261 = (($$0351$ph$ph) + 5)|0; - $262 = (($74) + ($261<<2)|0); - HEAPF32[$262>>2] = $260; - $263 = (($$0351$ph$ph) + 6)|0; - $$0350$ph$ph = $$1;$$0351$ph$ph = $263;$$0352$ph$ph = $151; - } - (_fclose($15)|0); - $264 = ($$0345$ph372$lcssa389|0)==(0); - if ($264) { - $265 = ($72|0)>(0); - if ($265) { - $368 = ($$0346$ph$lcssa*24)|0; - _memset(($74|0),0,($368|0))|0; - $$sroa$64$0 = 0; - } else { - $$sroa$64$0 = 0; - } - } else { - $266 = (_malloc($70)|0); - $267 = ($69|0)>(0); - if ($267) { - $268 = ((($5)) + 4|0); - $269 = ((($5)) + 8|0); - $270 = ((($8)) + 4|0); - $271 = ((($8)) + 8|0); - $272 = ((($9)) + 4|0); - $273 = ((($9)) + 8|0); - $274 = ((($12)) + 4|0); - $275 = ((($10)) + 4|0); - $276 = ((($12)) + 8|0); - $277 = ((($10)) + 8|0); - $278 = ((($13)) + 4|0); - $279 = ((($11)) + 4|0); - $280 = ((($13)) + 8|0); - $281 = ((($11)) + 8|0); - $282 = ((($14)) + 4|0); - $283 = ((($14)) + 8|0); - $$0347392 = 0;$$0348391 = 0; - while(1) { - $284 = (($71) + ($$0348391<<2)|0); - $285 = HEAP32[$284>>2]|0; - HEAP32[$5>>2] = $285; - $286 = (($$0348391) + 1)|0; - $287 = (($71) + ($286<<2)|0); - $288 = HEAP32[$287>>2]|0; - HEAP32[$268>>2] = $288; - $289 = (($$0348391) + 2)|0; - $290 = (($71) + ($289<<2)|0); - $291 = HEAP32[$290>>2]|0; - HEAP32[$269>>2] = $291; - $292 = (($$0348391) + 3)|0; - $293 = (($71) + ($292<<2)|0); - $294 = HEAP32[$293>>2]|0; - HEAP32[$8>>2] = $294; - $295 = (($$0348391) + 4)|0; - $296 = (($71) + ($295<<2)|0); - $297 = HEAP32[$296>>2]|0; - HEAP32[$270>>2] = $297; - $298 = (($$0348391) + 5)|0; - $299 = (($71) + ($298<<2)|0); - $300 = HEAP32[$299>>2]|0; - HEAP32[$271>>2] = $300; - $301 = (($$0348391) + 6)|0; - $302 = (($71) + ($301<<2)|0); - $303 = HEAP32[$302>>2]|0; - HEAP32[$9>>2] = $303; - $304 = (($$0348391) + 7)|0; - $305 = (($71) + ($304<<2)|0); - $306 = HEAP32[$305>>2]|0; - HEAP32[$272>>2] = $306; - $307 = (($$0348391) + 8)|0; - $308 = (($71) + ($307<<2)|0); - $309 = HEAP32[$308>>2]|0; - HEAP32[$273>>2] = $309; - $310 = (($74) + ($$0347392<<2)|0); - $311 = +HEAPF32[$310>>2]; - $312 = $$0347392 | 1; - $313 = (($74) + ($312<<2)|0); - $314 = +HEAPF32[$313>>2]; - $315 = (($$0347392) + 2)|0; - $316 = (($74) + ($315<<2)|0); - $317 = +HEAPF32[$316>>2]; - $318 = (($$0347392) + 3)|0; - $319 = (($74) + ($318<<2)|0); - $320 = +HEAPF32[$319>>2]; - $321 = (($$0347392) + 4)|0; - $322 = (($74) + ($321<<2)|0); - $323 = +HEAPF32[$322>>2]; - $324 = (($$0347392) + 5)|0; - $325 = (($74) + ($324<<2)|0); - $326 = +HEAPF32[$325>>2]; - ;HEAP32[$$byval_copy102>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$8+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3Subtract($10,$$byval_copy102,$$byval_copy103); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$9+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3Subtract($11,$$byval_copy102,$$byval_copy103); - $327 = $317 - $311; - $328 = $320 - $314; - $329 = $323 - $311; - $330 = $326 - $314; - $331 = $327 * $330; - $332 = $328 * $329; - $333 = $331 - $332; - $334 = 1.0 / $333; - $335 = +HEAPF32[$10>>2]; - $336 = $330 * $335; - HEAPF32[$12>>2] = $336; - $337 = +HEAPF32[$275>>2]; - $338 = $330 * $337; - HEAPF32[$274>>2] = $338; - $339 = +HEAPF32[$277>>2]; - $340 = $330 * $339; - HEAPF32[$276>>2] = $340; - $341 = +HEAPF32[$11>>2]; - $342 = $328 * $341; - HEAPF32[$13>>2] = $342; - $343 = +HEAPF32[$279>>2]; - $344 = $328 * $343; - HEAPF32[$278>>2] = $344; - $345 = +HEAPF32[$281>>2]; - $346 = $328 * $345; - HEAPF32[$280>>2] = $346; - ;HEAP32[$$byval_copy102>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$12+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$13+8>>2]|0; - _Vector3Subtract($14,$$byval_copy102,$$byval_copy103); - _Vector3Scale($14,$334); - $347 = HEAP32[$14>>2]|0; - $348 = (($266) + ($$0348391<<2)|0); - HEAP32[$348>>2] = $347; - $349 = HEAP32[$282>>2]|0; - $350 = (($266) + ($286<<2)|0); - HEAP32[$350>>2] = $349; - $351 = HEAP32[$283>>2]|0; - $352 = (($266) + ($289<<2)|0); - HEAP32[$352>>2] = $351; - $353 = HEAP32[$14>>2]|0; - $354 = (($266) + ($292<<2)|0); - HEAP32[$354>>2] = $353; - $355 = HEAP32[$282>>2]|0; - $356 = (($266) + ($295<<2)|0); - HEAP32[$356>>2] = $355; - $357 = HEAP32[$283>>2]|0; - $358 = (($266) + ($298<<2)|0); - HEAP32[$358>>2] = $357; - $359 = HEAP32[$14>>2]|0; - $360 = (($266) + ($301<<2)|0); - HEAP32[$360>>2] = $359; - $361 = HEAP32[$282>>2]|0; - $362 = (($266) + ($304<<2)|0); - HEAP32[$362>>2] = $361; - $363 = HEAP32[$283>>2]|0; - $364 = (($266) + ($307<<2)|0); - HEAP32[$364>>2] = $363; - $365 = (($$0348391) + 9)|0; - $366 = (($$0347392) + 6)|0; - $367 = ($365|0)<($69|0); - if ($367) { - $$0347392 = $366;$$0348391 = $365; - } else { - $$sroa$64$0 = $266; - break; - } - } - } else { - $$sroa$64$0 = $266; - } - } - _free($37); - _free($369); - _free($370); - HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,8398,$vararg_buffer90); - HEAP32[$0>>2] = $68; - $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; - $$sroa$12247$0$$sroa_idx249 = ((($0)) + 8|0); - HEAP32[$$sroa$12247$0$$sroa_idx249>>2] = $71; - $$sroa$31$0$$sroa_idx270 = ((($0)) + 12|0); - HEAP32[$$sroa$31$0$$sroa_idx270>>2] = $74; - $$sroa$45$0$$sroa_idx286 = ((($0)) + 16|0); - HEAP32[$$sroa$45$0$$sroa_idx286>>2] = 0; - $$sroa$45289$0$$sroa_idx291 = ((($0)) + 20|0); - HEAP32[$$sroa$45289$0$$sroa_idx291>>2] = $75; - $$sroa$64$0$$sroa_idx312 = ((($0)) + 24|0); - HEAP32[$$sroa$64$0$$sroa_idx312>>2] = $$sroa$64$0; - $$sroa$74$0$$sroa_idx324 = ((($0)) + 28|0); - HEAP32[$$sroa$74$0$$sroa_idx324>>2] = 0; - $$sroa$75$0$$sroa_idx328 = ((($0)) + 32|0); - dest=$$sroa$75$0$$sroa_idx328; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlLoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = ((($0)) + 36|0); - $3 = ((($0)) + 40|0); - $4 = ((($0)) + 44|0); - $5 = ((($0)) + 48|0); - $6 = ((($0)) + 52|0); - $7 = ((($0)) + 56|0); - $8 = ((($0)) + 60|0); - $9 = ((($0)) + 64|0); - $10 = ($1|0)!=(0); - $$ = $10 ? 35048 : 35044; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $11 = HEAP32[4963]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = HEAP32[5389]|0; - FUNCTION_TABLE_vii[$13 & 63](1,$2); - $14 = HEAP32[4964]|0; - $15 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vi[$14 & 31]($15); - } - _glGenBuffers(1,($3|0)); - $16 = HEAP32[$3>>2]|0; - _glBindBuffer(34962,($16|0)); - $17 = HEAP32[$0>>2]|0; - $18 = ($17*12)|0; - $19 = ((($0)) + 8|0); - $20 = HEAP32[$19>>2]|0; - _glBufferData(34962,($18|0),($20|0),($$|0)); - _glVertexAttribPointer(0,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(0); - _glGenBuffers(1,($4|0)); - $21 = HEAP32[$4>>2]|0; - _glBindBuffer(34962,($21|0)); - $22 = HEAP32[$0>>2]|0; - $23 = $22 << 3; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - _glBufferData(34962,($23|0),($25|0),($$|0)); - _glVertexAttribPointer(1,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(1); - $26 = ((($0)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - _glVertexAttrib3f(2,1.0,1.0,1.0); - _glDisableVertexAttribArray(2); - } else { - _glGenBuffers(1,($5|0)); - $29 = HEAP32[$5>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[$0>>2]|0; - $31 = ($30*12)|0; - $32 = HEAP32[$26>>2]|0; - _glBufferData(34962,($31|0),($32|0),($$|0)); - _glVertexAttribPointer(2,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(2); - } - $33 = ((($0)) + 28|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - _glVertexAttrib4f(3,1.0,1.0,1.0,1.0); - _glDisableVertexAttribArray(3); - } else { - _glGenBuffers(1,($6|0)); - $36 = HEAP32[$6>>2]|0; - _glBindBuffer(34962,($36|0)); - $37 = HEAP32[$0>>2]|0; - $38 = $37 << 2; - $39 = HEAP32[$33>>2]|0; - _glBufferData(34962,($38|0),($39|0),($$|0)); - _glVertexAttribPointer(3,4,5121,1,0,(0|0)); - _glEnableVertexAttribArray(3); - } - $40 = ((($0)) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - _glVertexAttrib3f(4,0.0,0.0,0.0); - _glDisableVertexAttribArray(4); - } else { - _glGenBuffers(1,($7|0)); - $43 = HEAP32[$7>>2]|0; - _glBindBuffer(34962,($43|0)); - $44 = HEAP32[$0>>2]|0; - $45 = ($44*12)|0; - $46 = HEAP32[$40>>2]|0; - _glBufferData(34962,($45|0),($46|0),($$|0)); - _glVertexAttribPointer(4,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(4); - } - $47 = ((($0)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - _glVertexAttrib2f(5,0.0,0.0); - _glDisableVertexAttribArray(5); - } else { - _glGenBuffers(1,($8|0)); - $50 = HEAP32[$8>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[$0>>2]|0; - $52 = $51 << 3; - $53 = HEAP32[$47>>2]|0; - _glBufferData(34962,($52|0),($53|0),($$|0)); - _glVertexAttribPointer(5,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(5); - } - $54 = ((($0)) + 32|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==(0|0); - if (!($56)) { - _glGenBuffers(1,($9|0)); - $57 = HEAP32[$9>>2]|0; - _glBindBuffer(34963,($57|0)); - $58 = ((($0)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59*6)|0; - $61 = HEAP32[$54>>2]|0; - _glBufferData(34963,($60|0),($61|0),35044); - } - $62 = HEAP32[4963]|0; - $63 = ($62|0)==(0); - if ($63) { - _TraceLog(0,8044,$vararg_buffer3); - STACKTOP = sp;return; - } - $64 = HEAP32[$2>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - _TraceLog(1,8003,$vararg_buffer1); - STACKTOP = sp;return; - } else { - HEAP32[$vararg_buffer>>2] = $64; - _TraceLog(0,7950,$vararg_buffer); - STACKTOP = sp;return; - } -} -function _Vector3Subtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - HEAPF32[$12>>2] = $17; - return; -} -function _Vector3CrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _Vector3Scale($0,$1) { - $0 = $0|0; - $1 = +$1; - var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = $2 * $1; - HEAPF32[$0>>2] = $3; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $5 * $1; - HEAPF32[$4>>2] = $6; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $1; - HEAPF32[$7>>2] = $9; - return; -} -function _UnloadModel($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0); - $$byval_copy = sp + 8|0; - $vararg_buffer = sp; - _UnloadMesh($0); - $1 = ((($0)) + 132|0); - _memcpy(($$byval_copy|0),($1|0),472)|0; - _UnloadMaterial($$byval_copy); - _TraceLog(0,8442,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadMesh($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _rlUnloadMesh($0); - return; -} -function _UnloadMaterial($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp; - _memcpy(($$byval_copy|0),($0|0),132)|0; - _UnloadShader($$byval_copy); - $1 = ((($0)) + 132|0); - $2 = HEAP32[$1>>2]|0; - _rlDeleteTextures($2); - $3 = ((($0)) + 160|0); - $4 = HEAP32[$3>>2]|0; - _rlDeleteTextures($4); - $5 = ((($0)) + 188|0); - $6 = HEAP32[$5>>2]|0; - _rlDeleteTextures($6); - $7 = ((($0)) + 216|0); - $8 = HEAP32[$7>>2]|0; - _rlDeleteTextures($8); - $9 = ((($0)) + 244|0); - $10 = HEAP32[$9>>2]|0; - _rlDeleteTextures($10); - $11 = ((($0)) + 272|0); - $12 = HEAP32[$11>>2]|0; - _rlDeleteTextures($12); - $13 = ((($0)) + 300|0); - $14 = HEAP32[$13>>2]|0; - _rlDeleteTextures($14); - $15 = ((($0)) + 328|0); - $16 = HEAP32[$15>>2]|0; - _rlDeleteTextures($16); - $17 = ((($0)) + 356|0); - $18 = HEAP32[$17>>2]|0; - _rlDeleteTextures($18); - $19 = ((($0)) + 384|0); - $20 = HEAP32[$19>>2]|0; - _rlDeleteTextures($20); - $21 = ((($0)) + 412|0); - $22 = HEAP32[$21>>2]|0; - _rlDeleteTextures($22); - $23 = ((($0)) + 440|0); - $24 = HEAP32[$23>>2]|0; - _rlDeleteTextures($24); - STACKTOP = sp;return; -} -function _UnloadShader($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteShader($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8500,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteShader($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0); - if ($1) { - return; - } - _glDeleteProgram(($0|0)); - return; -} -function _rlUnloadMesh($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - _free($2); - } - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - _free($8); - } - $10 = ((($0)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if (!($12)) { - _free($11); - } - $13 = ((($0)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - _free($14); - } - $16 = ((($0)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _free($17); - } - $19 = ((($0)) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0|0); - if (!($21)) { - _free($20); - } - $22 = ((($0)) + 40|0); - $23 = HEAP32[$22>>2]|0; - _rlDeleteBuffers($23); - $24 = ((($0)) + 44|0); - $25 = HEAP32[$24>>2]|0; - _rlDeleteBuffers($25); - $26 = ((($0)) + 48|0); - $27 = HEAP32[$26>>2]|0; - _rlDeleteBuffers($27); - $28 = ((($0)) + 52|0); - $29 = HEAP32[$28>>2]|0; - _rlDeleteBuffers($29); - $30 = ((($0)) + 56|0); - $31 = HEAP32[$30>>2]|0; - _rlDeleteBuffers($31); - $32 = ((($0)) + 60|0); - $33 = HEAP32[$32>>2]|0; - _rlDeleteBuffers($33); - $34 = ((($0)) + 64|0); - $35 = HEAP32[$34>>2]|0; - _rlDeleteBuffers($35); - $36 = ((($0)) + 36|0); - $37 = HEAP32[$36>>2]|0; - _rlDeleteVertexArrays($37); - return; -} -function _rlDeleteBuffers($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4963]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - _TraceLog(0,8590,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteVertexArrays($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = HEAP32[4963]|0; - $3 = ($2|0)==(0); - if ($3) { - STACKTOP = sp;return; - } - $4 = ($0|0)==(0); - if (!($4)) { - $5 = HEAP32[5390]|0; - FUNCTION_TABLE_vii[$5 & 63](1,$1); - } - $6 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,8542,$vararg_buffer); - STACKTOP = sp;return; -} -function _DrawModel($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy4 = sp + 664|0; - $$byval_copy3 = sp + 652|0; - $$byval_copy2 = sp + 640|0; - $$byval_copy1 = sp + 628|0; - $$byval_copy = sp + 24|0; - $4 = sp + 12|0; - $5 = sp; - HEAPF32[$4>>2] = $2; - $6 = ((($4)) + 4|0); - HEAPF32[$6>>2] = $2; - $7 = ((($4)) + 8|0); - HEAPF32[$7>>2] = $2; - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; - _memcpy(($$byval_copy|0),($0|0),604)|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawModelEx($$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$$byval_copy3,$$byval_copy4); - STACKTOP = sp;return; -} -function _DrawModelEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 992|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(992|0); - $$byval_copy9 = sp + 928|0; - $$byval_copy8 = sp + 456|0; - $$byval_copy7 = sp + 384|0; - $6 = sp + 192|0; - $7 = sp + 128|0; - $8 = sp + 64|0; - $9 = sp; - $10 = sp + 320|0; - $11 = sp + 256|0; - $12 = +HEAPF32[$4>>2]; - $13 = ((($4)) + 4|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($4)) + 8|0); - $16 = +HEAPF32[$15>>2]; - _MatrixScale($6,$12,$14,$16); - $17 = $3 * 0.01745329238474369; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$2+8>>2]|0; - _MatrixRotate($7,$$byval_copy9,$17); - $18 = +HEAPF32[$1>>2]; - $19 = ((($1)) + 4|0); - $20 = +HEAPF32[$19>>2]; - $21 = ((($1)) + 8|0); - $22 = +HEAPF32[$21>>2]; - _MatrixTranslate($8,$18,$20,$22); - dest=$$byval_copy8; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($10,$$byval_copy8,$$byval_copy9); - dest=$$byval_copy8; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($9,$$byval_copy8,$$byval_copy9); - $23 = ((($0)) + 68|0); - dest=$$byval_copy8; src=$23; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$9; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($11,$$byval_copy8,$$byval_copy9); - dest=$23; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $24 = ((($0)) + 132|0); - $25 = ((($0)) + 284|0); - $26 = HEAPU8[$5>>0]|(HEAPU8[$5+1>>0]<<8)|(HEAPU8[$5+2>>0]<<16)|(HEAPU8[$5+3>>0]<<24); - HEAP32[$25>>2] = $26; - dest=$$byval_copy7; src=$0; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _memcpy(($$byval_copy8|0),($24|0),472)|0; - dest=$$byval_copy9; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlDrawMesh($$byval_copy7,$$byval_copy8,$$byval_copy9); - STACKTOP = sp;return; -} -function _rlDrawMesh($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0$off = 0, $$03539 = 0, $$036$off = 0, $$03640 = 0, $$038 = 0, $$byval_copy10 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $exitcond = 0, $exitcond42 = 0, $modelview$byval_copy8 = 0, $switch = 0, $switch37 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(464|0); - $$byval_copy10 = sp + 392|0; - $modelview$byval_copy8 = sp + 256|0; - $3 = sp + 192|0; - $4 = sp + 128|0; - $5 = sp + 64|0; - $6 = sp; - $7 = HEAP32[$1>>2]|0; - _glUseProgram(($7|0)); - $8 = ((($1)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(-1); - if (!($10)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$9,$$byval_copy10); - } - $11 = ((($1)) + 48|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(-1); - if (!($13)) { - $14 = ((($1)) + 152|0); - $15 = HEAP8[$14>>0]|0; - $16 = (+($15&255)); - $17 = $16 / 255.0; - $18 = ((($1)) + 153|0); - $19 = HEAP8[$18>>0]|0; - $20 = (+($19&255)); - $21 = $20 / 255.0; - $22 = ((($1)) + 154|0); - $23 = HEAP8[$22>>0]|0; - $24 = (+($23&255)); - $25 = $24 / 255.0; - $26 = ((($1)) + 155|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 / 255.0; - _glUniform4f(($12|0),(+$17),(+$21),(+$25),(+$29)); - } - $30 = ((($1)) + 52|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(-1); - if (!($32)) { - $33 = ((($1)) + 180|0); - $34 = HEAP8[$33>>0]|0; - $35 = (+($34&255)); - $36 = $35 / 255.0; - $37 = ((($1)) + 181|0); - $38 = HEAP8[$37>>0]|0; - $39 = (+($38&255)); - $40 = $39 / 255.0; - $41 = ((($1)) + 182|0); - $42 = HEAP8[$41>>0]|0; - $43 = (+($42&255)); - $44 = $43 / 255.0; - $45 = ((($1)) + 183|0); - $46 = HEAP8[$45>>0]|0; - $47 = (+($46&255)); - $48 = $47 / 255.0; - _glUniform4f(($31|0),(+$36),(+$40),(+$44),(+$48)); - } - $49 = ((($1)) + 36|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(-1); - if (!($51)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=19544; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$50,$$byval_copy10); - } - $52 = ((($1)) + 40|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==(-1); - if (!($54)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=19480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$53,$$byval_copy10); - } - dest=$3; src=19544; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=19480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelview$byval_copy8; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=19544; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($5,$modelview$byval_copy8,$$byval_copy10); - $$03640 = 0; - while(1) { - $57 = (((($1)) + 132|0) + (($$03640*28)|0)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = (($$03640) + 33984)|0; - _glActiveTexture(($60|0)); - $61 = HEAP32[$57>>2]|0; - $$036$off = (($$03640) + -7)|0; - $switch = ($$036$off>>>0)<(3); - if ($switch) { - _glBindTexture(34067,($61|0)); - } else { - _glBindTexture(3553,($61|0)); - } - $62 = (($$03640) + 14)|0; - $63 = (((($1)) + 4|0) + ($62<<2)|0); - $64 = HEAP32[$63>>2]|0; - _glUniform1i(($64|0),($$03640|0)); - } - $65 = (($$03640) + 1)|0; - $exitcond42 = ($65|0)==(12); - if ($exitcond42) { - break; - } else { - $$03640 = $65; - } - } - $55 = HEAP32[4963]|0; - $56 = ($55|0)==(0); - if ($56) { - $69 = ((($0)) + 40|0); - $70 = HEAP32[$69>>2]|0; - _glBindBuffer(34962,($70|0)); - $71 = ((($1)) + 4|0); - $72 = HEAP32[$71>>2]|0; - _glVertexAttribPointer(($72|0),3,5126,0,0,(0|0)); - $73 = HEAP32[$71>>2]|0; - _glEnableVertexAttribArray(($73|0)); - $74 = ((($0)) + 44|0); - $75 = HEAP32[$74>>2]|0; - _glBindBuffer(34962,($75|0)); - $76 = ((($1)) + 8|0); - $77 = HEAP32[$76>>2]|0; - _glVertexAttribPointer(($77|0),2,5126,0,0,(0|0)); - $78 = HEAP32[$76>>2]|0; - _glEnableVertexAttribArray(($78|0)); - $79 = ((($1)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(-1); - if (!($81)) { - $82 = ((($0)) + 48|0); - $83 = HEAP32[$82>>2]|0; - _glBindBuffer(34962,($83|0)); - $84 = HEAP32[$79>>2]|0; - _glVertexAttribPointer(($84|0),3,5126,0,0,(0|0)); - $85 = HEAP32[$79>>2]|0; - _glEnableVertexAttribArray(($85|0)); - } - $86 = ((($1)) + 24|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(-1); - do { - if (!($88)) { - $89 = ((($0)) + 52|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - _glVertexAttrib4f(($87|0),1.0,1.0,1.0,1.0); - $94 = HEAP32[$86>>2]|0; - _glDisableVertexAttribArray(($94|0)); - break; - } else { - _glBindBuffer(34962,($90|0)); - $92 = HEAP32[$86>>2]|0; - _glVertexAttribPointer(($92|0),4,5121,1,0,(0|0)); - $93 = HEAP32[$86>>2]|0; - _glEnableVertexAttribArray(($93|0)); - break; - } - } - } while(0); - $95 = ((($1)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==(-1); - if (!($97)) { - $98 = ((($0)) + 56|0); - $99 = HEAP32[$98>>2]|0; - _glBindBuffer(34962,($99|0)); - $100 = HEAP32[$95>>2]|0; - _glVertexAttribPointer(($100|0),3,5126,0,0,(0|0)); - $101 = HEAP32[$95>>2]|0; - _glEnableVertexAttribArray(($101|0)); - } - $102 = ((($1)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)==(-1); - if (!($104)) { - $105 = ((($0)) + 60|0); - $106 = HEAP32[$105>>2]|0; - _glBindBuffer(34962,($106|0)); - $107 = HEAP32[$102>>2]|0; - _glVertexAttribPointer(($107|0),2,5126,0,0,(0|0)); - $108 = HEAP32[$102>>2]|0; - _glEnableVertexAttribArray(($108|0)); - } - $109 = ((($0)) + 32|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if (!($111)) { - $112 = ((($0)) + 64|0); - $113 = HEAP32[$112>>2]|0; - _glBindBuffer(34963,($113|0)); - } - } else { - $66 = HEAP32[4964]|0; - $67 = ((($0)) + 36|0); - $68 = HEAP32[$67>>2]|0; - FUNCTION_TABLE_vi[$66 & 31]($68); - } - $114 = HEAP32[4902]|0; - $115 = ($114|0)!=(0); - $$ = $115 ? 2 : 1; - $116 = ((($1)) + 28|0); - $117 = ((($0)) + 32|0); - $118 = HEAP32[$0>>2]|0; - $119 = ((($0)) + 4|0); - $$03539 = 0; - while(1) { - if ($115) { - dest=$modelview$byval_copy8; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$03539,$modelview$byval_copy8,$$byval_copy10); - } else { - dest=19544; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - dest=$modelview$byval_copy8; src=19544; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=19480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($6,$modelview$byval_copy8,$$byval_copy10); - $120 = HEAP32[$116>>2]|0; - dest=$$byval_copy10; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $121 = (_MatrixToFloat($$byval_copy10)|0); - _glUniformMatrix4fv(($120|0),1,0,($121|0)); - $122 = HEAP32[$117>>2]|0; - $123 = ($122|0)==(0|0); - if ($123) { - _glDrawArrays(4,0,($118|0)); - } else { - $124 = HEAP32[$119>>2]|0; - $125 = ($124*3)|0; - _glDrawElements(4,($125|0),5123,(0|0)); - } - $126 = (($$03539) + 1)|0; - $127 = ($126|0)<($$|0); - if ($127) { - $$03539 = $126; - } else { - $$038 = 0; - break; - } - } - while(1) { - $130 = (($$038) + 33984)|0; - _glActiveTexture(($130|0)); - $$0$off = (($$038) + -7)|0; - $switch37 = ($$0$off>>>0)<(3); - if ($switch37) { - _glBindTexture(34067,0); - } else { - _glBindTexture(3553,0); - } - $131 = (($$038) + 1)|0; - $exitcond = ($131|0)==(12); - if ($exitcond) { - break; - } else { - $$038 = $131; - } - } - $128 = HEAP32[4963]|0; - $129 = ($128|0)==(0); - if (!($129)) { - $132 = HEAP32[4964]|0; - FUNCTION_TABLE_vi[$132 & 31](0); - _glUseProgram(0); - dest=19480; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19544; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34962,0); - $133 = ((($0)) + 32|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0|0); - if ($135) { - _glUseProgram(0); - dest=19480; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19544; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34963,0); - _glUseProgram(0); - dest=19480; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19544; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetShaderValueMatrix($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $3 = 0, $4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $3 = HEAP32[$0>>2]|0; - _glUseProgram(($3|0)); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $4 = (_MatrixToFloat($$byval_copy)|0); - _glUniformMatrix4fv(($1|0),1,0,($4|0)); - STACKTOP = sp;return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 116|0; - $$byval_copy4 = sp + 104|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($6,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($6); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($7,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($7); - $8 = HEAP32[$6>>2]|0; - HEAP32[$4>>2] = $8; - $9 = ((($6)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($4)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($4)) + 32|0); - HEAP32[$14>>2] = $13; - $15 = ((($4)) + 48|0); - HEAPF32[$15>>2] = 0.0; - $16 = HEAP32[$7>>2]|0; - $17 = ((($4)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = ((($7)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($4)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ((($7)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($4)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = ((($4)) + 52|0); - HEAPF32[$24>>2] = 0.0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($4)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = ((($5)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($4)) + 24|0); - HEAP32[$29>>2] = $28; - $30 = ((($5)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = $31; - $33 = ((($4)) + 56|0); - HEAPF32[$33>>2] = 0.0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($4)) + 12|0); - HEAP32[$35>>2] = $34; - $36 = ((($1)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($4)) + 28|0); - HEAP32[$38>>2] = $37; - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($4)) + 44|0); - HEAP32[$41>>2] = $40; - $42 = ((($4)) + 60|0); - HEAPF32[$42>>2] = 1.0; - _MatrixInvert($4); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = $4 * $4; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = $10 * $10; - $12 = $5 + $11; - $13 = (+Math_sqrt((+$12))); - return (+$13); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _Vector3Zero($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 0.0; - $1 = ((($0)) + 4|0); - HEAPF32[$1>>2] = 0.0; - $2 = ((($0)) + 8|0); - HEAPF32[$2>>2] = 0.0; - return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[5392] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 18576; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 18616; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4654]; - $111 = +HEAPF32[4644]; - $112 = $110 - $111; - HEAPF32[4656] = $112; - $113 = +HEAPF32[(18620)>>2]; - $114 = +HEAPF32[(18580)>>2]; - $115 = $113 - $114; - HEAPF32[(18628)>>2] = $115; - HEAP32[5391] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18608>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18608+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18632>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18632+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5397] = $116; - $117 = 18608; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 18576; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 18632; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 18616; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 18608; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 18632; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4658]; - $160 = +HEAPF32[4652]; - $161 = $159 - $160; - HEAPF32[4656] = $161; - $162 = +HEAPF32[(18636)>>2]; - $163 = +HEAPF32[(18612)>>2]; - $164 = $162 - $163; - HEAPF32[(18628)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18576+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18608>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18608+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18616+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18632>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18632+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18608>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18608+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18632>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18632+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5397]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[5391] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18608>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18608+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18632>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18632+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[5398] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[5397] = 0.0; - HEAPF32[5398] = 0.0; - HEAPF32[4656] = 0.0; - HEAPF32[(18628)>>2] = 0.0; - HEAP32[5392] = 0; - HEAP32[5391] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[5393]|0; - $7 = (($6) + 1)|0; - HEAP32[5393] = $7; - $8 = HEAP32[5391]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18576+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[5391] = 2; - HEAP32[5393] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5393] = 1; - HEAP32[5391] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 18576; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 18584; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 18592; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[916] = $34; - HEAPF32[4650] = 0.0; - HEAPF32[(18604)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[5391]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 18592; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18576+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18592>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18592+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[5394] = $49; - HEAP32[5395] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[916]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18576+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18592>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18592+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[5396] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[5394] = 0.0; - HEAPF32[5396] = 0.0; - $$sink10 = 0; - } - HEAP32[5391] = $$sink10; - HEAPF32[4646] = 0.0; - HEAPF32[(18588)>>2] = 0.0; - HEAP32[5392] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[5395]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[5395] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 18608; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[5391]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18576+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18608>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18608+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[5391] = 8; - } - } - $82 = +HEAPF32[4652]; - $83 = +HEAPF32[4646]; - $84 = $82 - $83; - HEAPF32[4650] = $84; - $85 = +HEAPF32[(18612)>>2]; - $86 = +HEAPF32[(18588)>>2]; - $87 = $85 - $86; - HEAPF32[(18604)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5391]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5392]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5391] = 4; - } - $4 = HEAP32[5391]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[5391] = 0; - return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 18640; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _TraceLog(0,8645,$vararg_buffer); - HEAP32[5402] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_keypress_callback((8674|0),(0|0),1,(6|0))|0); - (_emscripten_set_click_callback((8674|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchstart_callback((8674|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchend_callback((8674|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchmove_callback((8674|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchcancel_callback((8674|0),(0|0),1,(8|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[5403]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[4660] = $5; - $6 = HEAP32[5404]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(18644)>>2] = $8; - $9 = HEAP32[5405]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[5403] = $0; - HEAP32[5404] = $1; - _MatrixIdentity($2); - dest=21640; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,8869,$vararg_buffer); - } - $6 = HEAP32[5403]|0; - HEAP32[5426] = $6; - $7 = HEAP32[5404]|0; - HEAP32[5427] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[22520]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[22520]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[22520]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,8895,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[5428]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[5403]|0; - $48 = HEAP32[5404]|0; - $49 = HEAP32[5402]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5400] = $50; - $51 = HEAP32[5403]|0; - HEAP32[5429] = $51; - $52 = HEAP32[5404]|0; - HEAP32[5430] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[5403]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5404]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[5426] = $31; - HEAP32[5427] = $34; - } - } while(0); - $38 = HEAP32[5426]|0; - $39 = HEAP32[5427]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(1,8920,$vararg_buffer3); - $40 = HEAP32[5426]|0; - $41 = HEAP32[5427]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[5426]|0; - $43 = HEAP32[5427]|0; - $44 = HEAP32[5402]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5400] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(2,8958,$vararg_buffer6); - } else { - _TraceLog(0,8991,$vararg_buffer8); - $55 = HEAP32[5429]|0; - $56 = HEAP32[5430]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,9031,$vararg_buffer10); - $57 = HEAP32[5403]|0; - $58 = HEAP32[5404]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,9052,$vararg_buffer14); - $59 = HEAP32[5431]|0; - $60 = HEAP32[5432]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,9073,$vararg_buffer18); - } - $61 = HEAP32[5400]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5400]|0; - (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5400]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5400]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5400]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5400]|0; - (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5400]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5400]|0; - (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5400]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[22520]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[5403]|0; - $74 = HEAP32[5404]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5429]|0; - $76 = HEAP32[5431]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5430]|0; - $80 = HEAP32[5432]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,9098,$vararg_buffer22); - $73 = HEAP32[5403]|0; - $74 = HEAP32[5404]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5429]|0; - $76 = HEAP32[5431]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5430]|0; - $80 = HEAP32[5432]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[2334] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,8802,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,8733,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,8726)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - $5 = HEAP32[5399]|0; - $6 = ($5|0)!=(0); - $or$cond = $4 & $6; - if (!($or$cond)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - HEAP32[5399] = 0; - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 18656; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (18664); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (21624 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ($0|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[2331] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,8682,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5405] = 0; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5403]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5404]|0; - return ($0|0); -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(1,12654,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[5403]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[5404]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[5429] = $3; - HEAP32[5430] = $5; - HEAP32[5431] = 0; - HEAP32[5432] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,12588,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[5403]|0; - $36 = (+($35|0)); - $37 = HEAP32[5404]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[5429] = $45; - HEAP32[5430] = $37; - $46 = (($45) - ($35))|0; - HEAP32[5431] = $46; - $$sink1 = 0; - } else { - HEAP32[5429] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[5430] = $42; - HEAP32[5431] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[5432] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[5404]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(1,12445,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[5403]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[5404]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[5429] = $23; - HEAP32[5430] = $1; - $24 = (($0) - ($23))|0; - HEAP32[5431] = $24; - $$sink = 0; - } else { - HEAP32[5429] = $0; - $17 = HEAP32[5404]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[5430] = $20; - HEAP32[5431] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[5432] = $$sink; - $25 = HEAP32[5429]|0; - $26 = (+($25|0)); - $27 = HEAP32[5403]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=21640; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5429] = $0; - HEAP32[5430] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(1,12523,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[5403] = $1; - HEAP32[5404] = $2; - HEAP32[5429] = $1; - HEAP32[5430] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[918]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (22527 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[917] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (22521 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 18656; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[917] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[5435] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[5434] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; - var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2528|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2396|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,9121,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,9139,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,9157,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,9175,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$063 = 0;$$sink64 = $14; - while(1) { - $15 = (_strtok($$sink64,9193)|0); - $16 = (($vararg_buffer7) + ($$063<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$063) + 1)|0; - if ($17) { - break; - } else { - $$063 = $18;$$sink64 = 0; - } - } - _free($14); - $19 = (($$063) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,9195,$vararg_buffer10); - $20 = ($$063|0)>(1); - if ($20) { - $$06268 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06268<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,9230)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[4963] = 1; - $27 = (_eglGetProcAddress((9257|0))|0); - HEAP32[5389] = $27; - $28 = (_eglGetProcAddress((9278|0))|0); - HEAP32[4964] = $28; - $29 = (_eglGetProcAddress((9299|0))|0); - HEAP32[5390] = $29; - } - $30 = (_strcmp($24,9323)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[4851] = 1; - } - $32 = (_strcmp($24,9343)|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP32[4850] = 1; - } - $34 = (_strcmp($24,9361)|0); - $35 = ($34|0)==(0); - if ($35) { - label = 14; - } else { - $36 = HEAP32[$23>>2]|0; - $37 = (_strcmp($36,9393)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 14; - } else { - $39 = (_strcmp($36,9426)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 14; - } - } - } - if ((label|0) == 14) { - label = 0; - HEAP32[4845] = 1; - } - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,9466)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 17; - } else { - $44 = (_strcmp($41,9502)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - HEAP32[4846] = 1; - } - $46 = (_strcmp($41,9535)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[4847] = 1; - } - $48 = HEAP32[$23>>2]|0; - $49 = (_strcmp($48,9560)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[4848] = 1; - } - $51 = (_strcmp($48,9593)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[4849] = 1; - } - $53 = (_strcmp($48,9629)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP32[5433] = 1; - _glGetFloatv(34047,(19412|0)); - } - $55 = (_strcmp($48,9663)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[4852] = 1; - } - $57 = (($$06268) + 1)|0; - $exitcond71 = ($57|0)==($19|0); - if ($exitcond71) { - break; - } else { - $$06268 = $57; - } - } - } - $21 = HEAP32[4963]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(1,9766,$vararg_buffer15); - } else { - _TraceLog(0,9691,$vararg_buffer13); - } - $58 = HEAP32[4851]|0; - $59 = ($58|0)==(0); - if ($59) { - _TraceLog(1,9902,$vararg_buffer19); - } else { - _TraceLog(0,9827,$vararg_buffer17); - } - $60 = HEAP32[4845]|0; - $61 = ($60|0)==(0); - if (!($61)) { - _TraceLog(0,9994,$vararg_buffer21); - } - $62 = HEAP32[4846]|0; - $63 = ($62|0)==(0); - if (!($63)) { - _TraceLog(0,10040,$vararg_buffer23); - } - $64 = HEAP32[4847]|0; - $65 = ($64|0)==(0); - if (!($65)) { - _TraceLog(0,10087,$vararg_buffer25); - } - $66 = HEAP32[4848]|0; - $67 = ($66|0)==(0); - if (!($67)) { - _TraceLog(0,10138,$vararg_buffer27); - } - $68 = HEAP32[4849]|0; - $69 = ($68|0)==(0); - if (!($69)) { - _TraceLog(0,10185,$vararg_buffer29); - } - $70 = HEAP32[5433]|0; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = +HEAPF32[4853]; - $73 = $72; - HEAPF64[$vararg_buffer31>>3] = $73; - _TraceLog(0,10232,$vararg_buffer31); - } - $74 = HEAP32[4852]|0; - $75 = ($74|0)==(0); - if (!($75)) { - _TraceLog(0,10298,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $76 = (_rlLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4904] = $76; - $77 = ($76|0)==(0); - if ($77) { - _TraceLog(1,10402,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $76; - _TraceLog(0,10351,$vararg_buffer36); - } - _LoadShaderDefault($2); - _memcpy((21424|0),($2|0),132)|0; - _memcpy((19720|0),($2|0),132)|0; - _LoadBuffersDefault(); - $78 = (_malloc(49152)|0); - HEAP32[5351] = $78; - $$06167 = 0; - while(1) { - $80 = HEAP32[5351]|0; - $81 = (($80) + (($$06167*12)|0)|0); - _Vector3Zero($3); - ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; - $82 = (($$06167) + 1)|0; - $exitcond70 = ($82|0)==(4096); - if ($exitcond70) { - break; - } else { - $$06167 = $82; - } - } - $79 = (_malloc(36864)|0); - HEAP32[4905] = $79; - $$06066 = 0; - while(1) { - $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($79) + (($$06066*144)|0)|0); - HEAP32[$84>>2] = 0; - $85 = (($$06066) + 1)|0; - $exitcond = ($85|0)==(256); - if ($exitcond) { - break; - } else { - $$06066 = $85; - } - } - HEAP32[4903] = 1; - $86 = HEAP32[4904]|0; - $87 = ((($79)) + 8|0); - HEAP32[$87>>2] = $86; - HEAP32[5352] = 4; - _MatrixIdentity($4); - dest=20368; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20432); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20496); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20560); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20624); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20688); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20752); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20816); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20880); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20944); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21008); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21072); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21136); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21200); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21264); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21328); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=19480; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=19544; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5348] = 19544; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[4981] = $0; - HEAP32[4982] = $1; - _TraceLog(0,10441,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5431]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5432]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5429]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[5430]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 19480; - label = 3; - break; - } - case 5888: { - $modelview$sink = 19544; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[5348] = $modelview$sink; - } - HEAP32[5353] = $0; - return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5348]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _LoadShaderDefault($0) { - $0 = $0|0; - var $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx9 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx11 = 0, $$sroa$14 = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$1415$0 = 0, $$sroa$1415$0$$sroa_idx16 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx18 = 0, $$sroa$16 = 0, $$sroa$16$0$$sroa_idx = 0, $$sroa$1622$0 = 0, $$sroa$1622$0$$sroa_idx23 = 0, $$sroa$1727$0 = 0, $$sroa$1727$0$$sroa_idx28 = 0, $$sroa$18 = 0, $$sroa$18$0$$sroa_idx = 0, $1 = 0, $10 = 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $$sroa$14 = sp + 96|0; - $$sroa$16 = sp + 80|0; - $$sroa$18 = sp + 12|0; - $1 = sp + 549|0; - $2 = sp + 108|0; - _memcpy(($1|0),(11017|0),483)|0; - _memcpy(($2|0),(11500|0),441)|0; - $3 = (_LoadShaderProgram($1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - HEAP32[$vararg_buffer1>>2] = $3; - _TraceLog(1,12055,$vararg_buffer1); - $$sroa$12$0 = 0;$$sroa$13$0 = 0;$$sroa$1415$0 = 0;$$sroa$15$0 = 0;$$sroa$1622$0 = 0;$$sroa$1727$0 = 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,11941,$vararg_buffer); - $5 = (_glGetAttribLocation(($3|0),(11989|0))|0); - $6 = (_glGetAttribLocation(($3|0),(12004|0))|0); - $7 = (_glGetAttribLocation(($3|0),(12019|0))|0); - $8 = (_glGetUniformLocation(($3|0),(12031|0))|0); - $9 = (_glGetUniformLocation(($3|0),(12035|0))|0); - $10 = (_glGetUniformLocation(($3|0),(12046|0))|0); - $$sroa$12$0 = $5;$$sroa$13$0 = $6;$$sroa$1415$0 = $7;$$sroa$15$0 = $8;$$sroa$1622$0 = $9;$$sroa$1727$0 = $10; - } - HEAP32[$0>>2] = $3; - $$sroa$12$0$$sroa_idx9 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx9>>2] = $$sroa$12$0; - $$sroa$13$0$$sroa_idx11 = ((($0)) + 8|0); - HEAP32[$$sroa$13$0$$sroa_idx11>>2] = $$sroa$13$0; - $$sroa$14$0$$sroa_idx = ((($0)) + 12|0); - ;HEAP32[$$sroa$14$0$$sroa_idx>>2]=HEAP32[$$sroa$14>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+4>>2]=HEAP32[$$sroa$14+4>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+8>>2]=HEAP32[$$sroa$14+8>>2]|0; - $$sroa$1415$0$$sroa_idx16 = ((($0)) + 24|0); - HEAP32[$$sroa$1415$0$$sroa_idx16>>2] = $$sroa$1415$0; - $$sroa$15$0$$sroa_idx18 = ((($0)) + 28|0); - HEAP32[$$sroa$15$0$$sroa_idx18>>2] = $$sroa$15$0; - $$sroa$16$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$$sroa$16$0$$sroa_idx>>2]=HEAP32[$$sroa$16>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+4>>2]=HEAP32[$$sroa$16+4>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+8>>2]=HEAP32[$$sroa$16+8>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+12>>2]=HEAP32[$$sroa$16+12>>2]|0; - $$sroa$1622$0$$sroa_idx23 = ((($0)) + 48|0); - HEAP32[$$sroa$1622$0$$sroa_idx23>>2] = $$sroa$1622$0; - $$sroa$1727$0$$sroa_idx28 = ((($0)) + 60|0); - HEAP32[$$sroa$1727$0$$sroa_idx28>>2] = $$sroa$1727$0; - $$sroa$18$0$$sroa_idx = ((($0)) + 64|0); - dest=$$sroa$18$0$$sroa_idx; src=$$sroa$18; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadBuffersDefault() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(19636)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(19644)>>2] = $1; - HEAP32[(19640)>>2] = 0; - HEAP32[(19648)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(19644)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[4906] = 0; - HEAP32[(19632)>>2] = 0; - HEAP32[(19628)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(19684)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(19692)>>2] = $6; - HEAP32[(19688)>>2] = 0; - HEAP32[(19696)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(19692)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[4918] = 0; - HEAP32[(19680)>>2] = 0; - HEAP32[(19676)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(19444)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(19448)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(19452)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(19456)>>2] = $13; - $14 = HEAP32[(19444)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19448)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(19452)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(19456)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[4858] = 0; - HEAP32[(19436)>>2] = 0; - HEAP32[(19440)>>2] = 0; - _TraceLog(0,10488,$vararg_buffer); - $20 = HEAP32[4963]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[5389]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19652)); - $44 = HEAP32[4964]|0; - $45 = HEAP32[(19652)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((19656)|0)); - $46 = HEAP32[(19656)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19636)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19724)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19724)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19660)|0)); - $50 = HEAP32[(19660)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19644)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19744)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19744)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4963]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(19656)>>2]|0; - $58 = HEAP32[(19660)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,10626,$vararg_buffer3); - } else { - $56 = HEAP32[(19652)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,10561,$vararg_buffer1); - } - $59 = HEAP32[4963]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[5389]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19700)); - $62 = HEAP32[4964]|0; - $63 = HEAP32[(19700)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((19704)|0)); - $64 = HEAP32[(19704)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19684)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19724)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19724)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19708)|0)); - $68 = HEAP32[(19708)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19692)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19744)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19744)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4963]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(19704)>>2]|0; - $76 = HEAP32[(19708)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,10772,$vararg_buffer10); - } else { - $74 = HEAP32[(19700)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,10703,$vararg_buffer7); - } - $77 = HEAP32[4963]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[5389]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19460)); - $80 = HEAP32[4964]|0; - $81 = HEAP32[(19460)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((19464)|0)); - $82 = HEAP32[(19464)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19444)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19724)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19724)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19468)|0)); - $86 = HEAP32[(19468)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19448)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19728)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19728)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19472)|0)); - $90 = HEAP32[(19472)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19452)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19744)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19744)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19476)|0)); - $94 = HEAP32[(19476)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19456)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4963]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(19464)>>2]|0; - $100 = HEAP32[(19468)>>2]|0; - $101 = HEAP32[(19472)>>2]|0; - $102 = HEAP32[(19476)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,10918,$vararg_buffer17); - } else { - $98 = HEAP32[(19460)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,10853,$vararg_buffer14); - } - $103 = HEAP32[4963]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[4964]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,12155,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(1,12103,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,12152,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,12256,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(1,12205,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,12152,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(11989|0)); - _glBindAttribLocation(($20|0),1,(12004|0)); - _glBindAttribLocation(($20|0),2,(12308|0)); - _glBindAttribLocation(($20|0),3,(12019|0)); - _glBindAttribLocation(($20|0),4,(12321|0)); - _glBindAttribLocation(($20|0),5,(12335|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(1,12351,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,12152,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,12397,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22521 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22524 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22521 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22524 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[5400]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,12692,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadShaderDefault(); - _UnloadBuffersDefault(); - _glDeleteTextures(1,(19616|0)); - $0 = HEAP32[4904]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,12719,$vararg_buffer); - $1 = HEAP32[4905]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadShaderDefault() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[5356]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4963]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4964]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19656)|0)); - _glDeleteBuffers(1,((19660)|0)); - _glDeleteBuffers(1,((19704)|0)); - _glDeleteBuffers(1,((19708)|0)); - _glDeleteBuffers(1,((19464)|0)); - _glDeleteBuffers(1,((19468)|0)); - _glDeleteBuffers(1,((19472)|0)); - _glDeleteBuffers(1,((19476)|0)); - $3 = HEAP32[4963]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5390]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19652)); - $6 = HEAP32[5390]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19700)); - $7 = HEAP32[5390]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19460)); - } - $8 = HEAP32[(19636)>>2]|0; - _free($8); - $9 = HEAP32[(19644)>>2]|0; - _free($9); - $10 = HEAP32[(19684)>>2]|0; - _free($10); - $11 = HEAP32[(19692)>>2]|0; - _free($11); - $12 = HEAP32[(19444)>>2]|0; - _free($12); - $13 = HEAP32[(19448)>>2]|0; - _free($13); - $14 = HEAP32[(19452)>>2]|0; - _free($14); - $15 = HEAP32[(19456)>>2]|0; - _free($15); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[2335] = $0; - $1 = +HEAPF64[2334]; - $2 = $0 - $1; - HEAPF64[2336] = $2; - HEAPF64[2334] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=21640; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19860); - STACKTOP = sp;return; -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 32|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 48|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 52|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 24|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 56|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 12|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[5348]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[2335] = $0; - $1 = +HEAPF64[2334]; - $2 = $0 - $1; - HEAPF64[2337] = $2; - HEAPF64[2334] = $0; - $3 = +HEAPF64[2336]; - $4 = $2 + $3; - HEAPF64[2321] = $4; - $5 = +HEAPF64[2331]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[2335] = $10; - $11 = +HEAPF64[2334]; - $12 = $10 - $11; - HEAPF64[2334] = $10; - $13 = +HEAPF64[2321]; - $14 = $12 + $13; - HEAPF64[2321] = $14; - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5400]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[917] = -1; - HEAP32[919] = -1; - HEAP32[5436] = 0; - $3 = HEAP32[5400]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[4660] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(18644)>>2] = $7; - _memcpy((23039|0),(22527|0),512)|0; - ;HEAP8[22524>>0]=HEAP8[22521>>0]|0;HEAP8[22524+1>>0]=HEAP8[22521+1>>0]|0;HEAP8[22524+2>>0]=HEAP8[22521+2>>0]|0; - $8 = HEAP32[5435]|0; - HEAP32[5401] = $8; - HEAP32[5435] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (23551 + ($$05160<<5)|0); - $scevgep67 = (23679 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((23679 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[919] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((21748 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[5436] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[5403]|0; - $3 = (+($2|0)); - $4 = HEAP32[5404]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 0.5; - $11 = $10 * 0.01745329238474369; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(19860); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5348]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12784)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12788)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12792)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12796)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12802)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12840)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 12859; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12872)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 12893; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12908)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 12923; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12938)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 12953; - } - } else { - HEAP32[$3>>2] = 12824; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12968)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12982)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 3; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12994)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 7; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,13008)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 8; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,13020)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 9; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,13034)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 10; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,13048)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 11; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,13065)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,13088)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,13114)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,13127)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,13143)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,13156)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 12; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,13170)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,13190)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,13210)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,13227)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13244)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 4; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13256)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 13; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13269)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 14; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13285)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,13308)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,13321)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,13337)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 5; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,13348)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 15; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13367)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 16; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13389)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 17; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13408)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13437)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 6; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13454)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13469)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13484)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13505)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13525)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13545)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,13571)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,13590)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,13602)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,13614)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,13626)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13638)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 18; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13650)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13662)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13674)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13686)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13699)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13712)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13725)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13738)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13751)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13764)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13777)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13790)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13809)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13828)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13847)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 19; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13860)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 20; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13878)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 21; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13896)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 22; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13914)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 23; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13932)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13952)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12893)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 7; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13970)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13985)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,14006)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,14021)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,14039)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,14055)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,14074)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,14088)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,14103)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 8; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12824)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,14114)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12923)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 24; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12953)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 25; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,14130)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,14157)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,14171)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12859)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,14191)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,14209)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 9; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,14221)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14242)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 26; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14260)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 27; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14278)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 28; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,14299)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,14325)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,14348)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14386)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 10; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14402)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14417)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14440)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14453)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 29; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14467)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 30; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14481)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14501)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14521)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14537)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,14555)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,14571)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,14586)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,14608)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 31; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,14626)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 32; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14647)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14665)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14678)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14693)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14707)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14717)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14727)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14749)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14775)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14802)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14815)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14830)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14845)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14869)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14880)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 33; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14902)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14924)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14948)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14957)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14965)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14978)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14992)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,15004)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,15013)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,15023)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,15035)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,15046)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,15054)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,15066)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,15081)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,15093)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,15107)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 11; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,15132)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,15149)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,15165)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,15181)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 12; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,15193)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 34; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,15205)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 35; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,15229)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15242)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15256)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 36; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15278)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 37; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15285)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,15301)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,15318)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,15335)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15351)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15367)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15384)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15398)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15410)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15421)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15434)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15444)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15461)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15473)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15495)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15515)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15528)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15550)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,15570)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,15587)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,15604)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,15624)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 38; - break; - } - } else { - HEAP32[$1>>2] = 6; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ($0>>>0)<(245); - do { - if ($2) { - $3 = ($0>>>0)<(11); - $4 = (($0) + 11)|0; - $5 = $4 & -8; - $6 = $3 ? 16 : $5; - $7 = $6 >>> 3; - $8 = HEAP32[5469]|0; - $9 = $8 >>> $7; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if (!($11)) { - $12 = $9 & 1; - $13 = $12 ^ 1; - $14 = (($13) + ($7))|0; - $15 = $14 << 1; - $16 = (21916 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[5469] = $24; - } else { - $25 = HEAP32[(21892)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(21884)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (21916 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[5469] = $77; - $98 = $77; - } else { - $78 = HEAP32[(21892)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(21896)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (21916 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[5469] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21892)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(21884)>>2] = $84; - HEAP32[(21896)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(21880)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (22180 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(21892)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (22180 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(21880)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(21892)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(21892)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(21892)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(21896)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (21916 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[5469] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21892)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(21884)>>2] = $$0193$lcssa$i; - HEAP32[(21896)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(21880)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (22180 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (22180 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(21884)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(21892)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (22180 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(21880)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(21892)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(21892)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(21892)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (21916 + ($425<<2)|0); - $427 = HEAP32[5469]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[5469] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21892)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (22180 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(21880)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(21892)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21892)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(21884)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21896)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(21896)>>2] = $511; - HEAP32[(21884)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(21884)>>2] = 0; - HEAP32[(21896)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(21888)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(21888)>>2] = $526; - $527 = HEAP32[(21900)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(21900)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[5587]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(22356)>>2] = 4096; - HEAP32[(22352)>>2] = 4096; - HEAP32[(22360)>>2] = -1; - HEAP32[(22364)>>2] = -1; - HEAP32[(22368)>>2] = 0; - HEAP32[(22320)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[5587] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(22356)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(22316)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(22308)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(22320)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(21900)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (22324); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(22352)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22308)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(22316)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(22356)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(22320)>>2]|0; - $612 = $611 | 4; - HEAP32[(22320)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(22308)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(22308)>>2] = $627; - $628 = HEAP32[(22312)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(22312)>>2] = $627; - } - $630 = HEAP32[(21900)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(21892)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(21892)>>2] = $$749$i; - } - HEAP32[(22324)>>2] = $$749$i; - HEAP32[(22328)>>2] = $$723948$i; - HEAP32[(22336)>>2] = 0; - $635 = HEAP32[5587]|0; - HEAP32[(21912)>>2] = $635; - HEAP32[(21908)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (21916 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(21900)>>2] = $649; - HEAP32[(21888)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(22364)>>2]|0; - HEAP32[(21904)>>2] = $655; - } else { - $$024371$i = (22324); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(21888)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(21900)>>2] = $679; - HEAP32[(21888)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(22364)>>2]|0; - HEAP32[(21904)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(21892)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(21892)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22324); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(21888)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(21888)>>2] = $727; - HEAP32[(21900)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(21896)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(21884)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(21884)>>2] = $733; - HEAP32[(21896)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (21916 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[5469]|0; - $760 = $759 & $758; - HEAP32[5469] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (22180 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(21880)>>2]|0; - $803 = $802 & $801; - HEAP32[(21880)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(21892)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(21892)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(21892)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (21916 + ($836<<2)|0); - $838 = HEAP32[5469]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[5469] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21892)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (22180 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(21880)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(21880)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(21892)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21892)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (22324); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(21900)>>2] = $946; - HEAP32[(21888)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(22364)>>2]|0; - HEAP32[(21904)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22324)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22324)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22324)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22324)+12>>2]|0; - HEAP32[(22324)>>2] = $$749$i; - HEAP32[(22328)>>2] = $$723948$i; - HEAP32[(22336)>>2] = 0; - HEAP32[(22332)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (21916 + ($968<<2)|0); - $970 = HEAP32[5469]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[5469] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21892)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (22180 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21880)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(21880)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(21892)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21892)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(21888)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(21888)>>2] = $1050; - $1051 = HEAP32[(21900)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(21900)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(21892)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(21896)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(21884)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (21916 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[5469]|0; - $38 = $37 & $36; - HEAP32[5469] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (22180 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(21880)>>2]|0; - $81 = $80 & $79; - HEAP32[(21880)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(21892)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(21892)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(21892)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(21900)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(21896)>>2]|0; - if ($121) { - $123 = HEAP32[(21888)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(21888)>>2] = $124; - HEAP32[(21900)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(21896)>>2] = 0; - HEAP32[(21884)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(21884)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(21884)>>2] = $130; - HEAP32[(21896)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (21916 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(21892)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[5469]|0; - $154 = $153 & $152; - HEAP32[5469] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(21892)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(21892)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21892)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (22180 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(21880)>>2]|0; - $200 = $199 & $198; - HEAP32[(21880)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(21892)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(21892)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(21892)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(21896)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(21884)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (21916 + ($234<<2)|0); - $236 = HEAP32[5469]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[5469] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21892)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (22180 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(21880)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(21880)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(21892)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21892)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(21908)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(21908)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (22332); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(21908)>>2] = -1; - return; -} -function _realloc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = (_malloc($1)|0); - $$1 = $3; - return ($$1|0); - } - $4 = ($1>>>0)>(4294967231); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 12; - $$1 = 0; - return ($$1|0); - } - $6 = ($1>>>0)<(11); - $7 = (($1) + 11)|0; - $8 = $7 & -8; - $9 = $6 ? 16 : $8; - $10 = ((($0)) + -8|0); - $11 = (_try_realloc_chunk($10,$9)|0); - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = ((($11)) + 8|0); - $$1 = $13; - return ($$1|0); - } - $14 = (_malloc($1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$1 = 0; - return ($$1|0); - } - $16 = ((($0)) + -4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & -8; - $19 = $17 & 3; - $20 = ($19|0)==(0); - $21 = $20 ? 8 : 4; - $22 = (($18) - ($21))|0; - $23 = ($22>>>0)<($1>>>0); - $24 = $23 ? $22 : $1; - _memcpy(($14|0),($0|0),($24|0))|0; - _free($0); - $$1 = $14; - return ($$1|0); -} -function _try_realloc_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -8; - $5 = (($0) + ($4)|0); - $6 = HEAP32[(21892)>>2]|0; - $7 = $3 & 3; - $notlhs = ($0>>>0)>=($6>>>0); - $notrhs = ($7|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $8 = ($0>>>0)<($5>>>0); - $or$cond3 = $or$cond$not & $8; - if (!($or$cond3)) { - _abort(); - // unreachable; - } - $9 = ((($5)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($7|0)==(0); - if ($13) { - $14 = ($1>>>0)<(256); - if ($14) { - $$2 = 0; - return ($$2|0); - } - $15 = (($1) + 4)|0; - $16 = ($4>>>0)<($15>>>0); - if (!($16)) { - $17 = (($4) - ($1))|0; - $18 = HEAP32[(22356)>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $$2 = $0; - return ($$2|0); - } - } - $$2 = 0; - return ($$2|0); - } - $21 = ($4>>>0)<($1>>>0); - if (!($21)) { - $22 = (($4) - ($1))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $$2 = $0; - return ($$2|0); - } - $24 = (($0) + ($1)|0); - $25 = $3 & 1; - $26 = $25 | $1; - $27 = $26 | 2; - HEAP32[$2>>2] = $27; - $28 = ((($24)) + 4|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = (($24) + ($22)|0); - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - _dispose_chunk($24,$22); - $$2 = $0; - return ($$2|0); - } - $34 = HEAP32[(21900)>>2]|0; - $35 = ($5|0)==($34|0); - if ($35) { - $36 = HEAP32[(21888)>>2]|0; - $37 = (($36) + ($4))|0; - $38 = ($37>>>0)>($1>>>0); - $39 = (($37) - ($1))|0; - $40 = (($0) + ($1)|0); - if (!($38)) { - $$2 = 0; - return ($$2|0); - } - $41 = $39 | 1; - $42 = ((($40)) + 4|0); - $43 = $3 & 1; - $44 = $43 | $1; - $45 = $44 | 2; - HEAP32[$2>>2] = $45; - HEAP32[$42>>2] = $41; - HEAP32[(21900)>>2] = $40; - HEAP32[(21888)>>2] = $39; - $$2 = $0; - return ($$2|0); - } - $46 = HEAP32[(21896)>>2]|0; - $47 = ($5|0)==($46|0); - if ($47) { - $48 = HEAP32[(21884)>>2]|0; - $49 = (($48) + ($4))|0; - $50 = ($49>>>0)<($1>>>0); - if ($50) { - $$2 = 0; - return ($$2|0); - } - $51 = (($49) - ($1))|0; - $52 = ($51>>>0)>(15); - $53 = $3 & 1; - if ($52) { - $54 = (($0) + ($1)|0); - $55 = (($54) + ($51)|0); - $56 = $53 | $1; - $57 = $56 | 2; - HEAP32[$2>>2] = $57; - $58 = ((($54)) + 4|0); - $59 = $51 | 1; - HEAP32[$58>>2] = $59; - HEAP32[$55>>2] = $51; - $60 = ((($55)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 & -2; - HEAP32[$60>>2] = $62; - $storemerge = $54;$storemerge1 = $51; - } else { - $63 = $53 | $49; - $64 = $63 | 2; - HEAP32[$2>>2] = $64; - $65 = (($0) + ($49)|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | 1; - HEAP32[$66>>2] = $68; - $storemerge = 0;$storemerge1 = 0; - } - HEAP32[(21884)>>2] = $storemerge1; - HEAP32[(21896)>>2] = $storemerge; - $$2 = $0; - return ($$2|0); - } - $69 = $10 & 2; - $70 = ($69|0)==(0); - if (!($70)) { - $$2 = 0; - return ($$2|0); - } - $71 = $10 & -8; - $72 = (($71) + ($4))|0; - $73 = ($72>>>0)<($1>>>0); - if ($73) { - $$2 = 0; - return ($$2|0); - } - $74 = (($72) - ($1))|0; - $75 = $10 >>> 3; - $76 = ($10>>>0)<(256); - L49: do { - if ($76) { - $77 = ((($5)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($5)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = $75 << 1; - $82 = (21916 + ($81<<2)|0); - $83 = ($78|0)==($82|0); - if (!($83)) { - $84 = ($78>>>0)<($6>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($78)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==($5|0); - if (!($87)) { - _abort(); - // unreachable; - } - } - $88 = ($80|0)==($78|0); - if ($88) { - $89 = 1 << $75; - $90 = $89 ^ -1; - $91 = HEAP32[5469]|0; - $92 = $91 & $90; - HEAP32[5469] = $92; - break; - } - $93 = ($80|0)==($82|0); - if ($93) { - $$pre = ((($80)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $94 = ($80>>>0)<($6>>>0); - if ($94) { - _abort(); - // unreachable; - } - $95 = ((($80)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==($5|0); - if ($97) { - $$pre$phiZ2D = $95; - } else { - _abort(); - // unreachable; - } - } - $98 = ((($78)) + 12|0); - HEAP32[$98>>2] = $80; - HEAP32[$$pre$phiZ2D>>2] = $78; - } else { - $99 = ((($5)) + 24|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($5)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)==($5|0); - do { - if ($103) { - $113 = ((($5)) + 16|0); - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $117 = HEAP32[$113>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - $$3 = 0; - break; - } else { - $$1272 = $117;$$1275 = $113; - } - } else { - $$1272 = $115;$$1275 = $114; - } - while(1) { - $119 = ((($$1272)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)==(0|0); - if (!($121)) { - $$1272 = $120;$$1275 = $119; - continue; - } - $122 = ((($$1272)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break; - } else { - $$1272 = $123;$$1275 = $122; - } - } - $125 = ($$1275>>>0)<($6>>>0); - if ($125) { - _abort(); - // unreachable; - } else { - HEAP32[$$1275>>2] = 0; - $$3 = $$1272; - break; - } - } else { - $104 = ((($5)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105>>>0)<($6>>>0); - if ($106) { - _abort(); - // unreachable; - } - $107 = ((($105)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==($5|0); - if (!($109)) { - _abort(); - // unreachable; - } - $110 = ((($102)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==($5|0); - if ($112) { - HEAP32[$107>>2] = $102; - HEAP32[$110>>2] = $105; - $$3 = $102; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $126 = ($100|0)==(0|0); - if (!($126)) { - $127 = ((($5)) + 28|0); - $128 = HEAP32[$127>>2]|0; - $129 = (22180 + ($128<<2)|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($5|0)==($130|0); - do { - if ($131) { - HEAP32[$129>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $132 = 1 << $128; - $133 = $132 ^ -1; - $134 = HEAP32[(21880)>>2]|0; - $135 = $134 & $133; - HEAP32[(21880)>>2] = $135; - break L49; - } - } else { - $136 = HEAP32[(21892)>>2]|0; - $137 = ($100>>>0)<($136>>>0); - if ($137) { - _abort(); - // unreachable; - } else { - $138 = ((($100)) + 16|0); - $139 = HEAP32[$138>>2]|0; - $not$ = ($139|0)!=($5|0); - $$sink1 = $not$&1; - $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); - HEAP32[$140>>2] = $$3; - $141 = ($$3|0)==(0|0); - if ($141) { - break L49; - } else { - break; - } - } - } - } while(0); - $142 = HEAP32[(21892)>>2]|0; - $143 = ($$3>>>0)<($142>>>0); - if ($143) { - _abort(); - // unreachable; - } - $144 = ((($$3)) + 24|0); - HEAP32[$144>>2] = $100; - $145 = ((($5)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==(0|0); - do { - if (!($147)) { - $148 = ($146>>>0)<($142>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = ((($$3)) + 16|0); - HEAP32[$149>>2] = $146; - $150 = ((($146)) + 24|0); - HEAP32[$150>>2] = $$3; - break; - } - } - } while(0); - $151 = ((($145)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[(21892)>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = ((($$3)) + 20|0); - HEAP32[$156>>2] = $152; - $157 = ((($152)) + 24|0); - HEAP32[$157>>2] = $$3; - break; - } - } - } - } - } while(0); - $158 = ($74>>>0)<(16); - $159 = $3 & 1; - if ($158) { - $160 = $72 | $159; - $161 = $160 | 2; - HEAP32[$2>>2] = $161; - $162 = (($0) + ($72)|0); - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $$2 = $0; - return ($$2|0); - } else { - $166 = (($0) + ($1)|0); - $167 = $159 | $1; - $168 = $167 | 2; - HEAP32[$2>>2] = $168; - $169 = ((($166)) + 4|0); - $170 = $74 | 3; - HEAP32[$169>>2] = $170; - $171 = (($166) + ($74)|0); - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 | 1; - HEAP32[$172>>2] = $174; - _dispose_chunk($166,$74); - $$2 = $0; - return ($$2|0); - } - return (0)|0; -} -function _dispose_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; - var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0) + ($1)|0); - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = $4 & 3; - $9 = ($8|0)==(0); - if ($9) { - return; - } - $10 = (0 - ($7))|0; - $11 = (($0) + ($10)|0); - $12 = (($7) + ($1))|0; - $13 = HEAP32[(21892)>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - _abort(); - // unreachable; - } - $15 = HEAP32[(21896)>>2]|0; - $16 = ($11|0)==($15|0); - if ($16) { - $100 = ((($2)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$1 = $11;$$1418 = $12; - break; - } - $104 = (($11) + ($12)|0); - $105 = ((($11)) + 4|0); - $106 = $12 | 1; - $107 = $101 & -2; - HEAP32[(21884)>>2] = $12; - HEAP32[$100>>2] = $107; - HEAP32[$105>>2] = $106; - HEAP32[$104>>2] = $12; - return; - } - $17 = $7 >>> 3; - $18 = ($7>>>0)<(256); - if ($18) { - $19 = ((($11)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($11)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = $17 << 1; - $24 = (21916 + ($23<<2)|0); - $25 = ($20|0)==($24|0); - if (!($25)) { - $26 = ($20>>>0)<($13>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($11|0); - if (!($29)) { - _abort(); - // unreachable; - } - } - $30 = ($22|0)==($20|0); - if ($30) { - $31 = 1 << $17; - $32 = $31 ^ -1; - $33 = HEAP32[5469]|0; - $34 = $33 & $32; - HEAP32[5469] = $34; - $$1 = $11;$$1418 = $12; - break; - } - $35 = ($22|0)==($24|0); - if ($35) { - $$pre25 = ((($22)) + 8|0); - $$pre$phi26Z2D = $$pre25; - } else { - $36 = ($22>>>0)<($13>>>0); - if ($36) { - _abort(); - // unreachable; - } - $37 = ((($22)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==($11|0); - if ($39) { - $$pre$phi26Z2D = $37; - } else { - _abort(); - // unreachable; - } - } - $40 = ((($20)) + 12|0); - HEAP32[$40>>2] = $22; - HEAP32[$$pre$phi26Z2D>>2] = $20; - $$1 = $11;$$1418 = $12; - break; - } - $41 = ((($11)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($11)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==($11|0); - do { - if ($45) { - $55 = ((($11)) + 16|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $59 = HEAP32[$55>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - $$3 = 0; - break; - } else { - $$1426 = $59;$$1429 = $55; - } - } else { - $$1426 = $57;$$1429 = $56; - } - while(1) { - $61 = ((($$1426)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $$1426 = $62;$$1429 = $61; - continue; - } - $64 = ((($$1426)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - break; - } else { - $$1426 = $65;$$1429 = $64; - } - } - $67 = ($$1429>>>0)<($13>>>0); - if ($67) { - _abort(); - // unreachable; - } else { - HEAP32[$$1429>>2] = 0; - $$3 = $$1426; - break; - } - } else { - $46 = ((($11)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47>>>0)<($13>>>0); - if ($48) { - _abort(); - // unreachable; - } - $49 = ((($47)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==($11|0); - if (!($51)) { - _abort(); - // unreachable; - } - $52 = ((($44)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==($11|0); - if ($54) { - HEAP32[$49>>2] = $44; - HEAP32[$52>>2] = $47; - $$3 = $44; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $68 = ($42|0)==(0|0); - if ($68) { - $$1 = $11;$$1418 = $12; - } else { - $69 = ((($11)) + 28|0); - $70 = HEAP32[$69>>2]|0; - $71 = (22180 + ($70<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($11|0)==($72|0); - do { - if ($73) { - HEAP32[$71>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $74 = 1 << $70; - $75 = $74 ^ -1; - $76 = HEAP32[(21880)>>2]|0; - $77 = $76 & $75; - HEAP32[(21880)>>2] = $77; - $$1 = $11;$$1418 = $12; - break L1; - } - } else { - $78 = HEAP32[(21892)>>2]|0; - $79 = ($42>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } else { - $80 = ((($42)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $not$1 = ($81|0)!=($11|0); - $$sink2 = $not$1&1; - $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); - HEAP32[$82>>2] = $$3; - $83 = ($$3|0)==(0|0); - if ($83) { - $$1 = $11;$$1418 = $12; - break L1; - } else { - break; - } - } - } - } while(0); - $84 = HEAP32[(21892)>>2]|0; - $85 = ($$3>>>0)<($84>>>0); - if ($85) { - _abort(); - // unreachable; - } - $86 = ((($$3)) + 24|0); - HEAP32[$86>>2] = $42; - $87 = ((($11)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0|0); - do { - if (!($89)) { - $90 = ($88>>>0)<($84>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = ((($$3)) + 16|0); - HEAP32[$91>>2] = $88; - $92 = ((($88)) + 24|0); - HEAP32[$92>>2] = $$3; - break; - } - } - } while(0); - $93 = ((($87)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$1 = $11;$$1418 = $12; - } else { - $96 = HEAP32[(21892)>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = ((($$3)) + 20|0); - HEAP32[$98>>2] = $94; - $99 = ((($94)) + 24|0); - HEAP32[$99>>2] = $$3; - $$1 = $11;$$1418 = $12; - break; - } - } - } - } else { - $$1 = $0;$$1418 = $1; - } - } while(0); - $108 = HEAP32[(21892)>>2]|0; - $109 = ($2>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $110 = ((($2)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[(21900)>>2]|0; - $115 = ($2|0)==($114|0); - $116 = HEAP32[(21896)>>2]|0; - if ($115) { - $117 = HEAP32[(21888)>>2]|0; - $118 = (($117) + ($$1418))|0; - HEAP32[(21888)>>2] = $118; - HEAP32[(21900)>>2] = $$1; - $119 = $118 | 1; - $120 = ((($$1)) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ($$1|0)==($116|0); - if (!($121)) { - return; - } - HEAP32[(21896)>>2] = 0; - HEAP32[(21884)>>2] = 0; - return; - } - $122 = ($2|0)==($116|0); - if ($122) { - $123 = HEAP32[(21884)>>2]|0; - $124 = (($123) + ($$1418))|0; - HEAP32[(21884)>>2] = $124; - HEAP32[(21896)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = (($$1) + ($124)|0); - HEAP32[$127>>2] = $124; - return; - } - $128 = $111 & -8; - $129 = (($128) + ($$1418))|0; - $130 = $111 >>> 3; - $131 = ($111>>>0)<(256); - L96: do { - if ($131) { - $132 = ((($2)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = ((($2)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = $130 << 1; - $137 = (21916 + ($136<<2)|0); - $138 = ($133|0)==($137|0); - if (!($138)) { - $139 = ($133>>>0)<($108>>>0); - if ($139) { - _abort(); - // unreachable; - } - $140 = ((($133)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==($2|0); - if (!($142)) { - _abort(); - // unreachable; - } - } - $143 = ($135|0)==($133|0); - if ($143) { - $144 = 1 << $130; - $145 = $144 ^ -1; - $146 = HEAP32[5469]|0; - $147 = $146 & $145; - HEAP32[5469] = $147; - break; - } - $148 = ($135|0)==($137|0); - if ($148) { - $$pre23 = ((($135)) + 8|0); - $$pre$phi24Z2D = $$pre23; - } else { - $149 = ($135>>>0)<($108>>>0); - if ($149) { - _abort(); - // unreachable; - } - $150 = ((($135)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==($2|0); - if ($152) { - $$pre$phi24Z2D = $150; - } else { - _abort(); - // unreachable; - } - } - $153 = ((($133)) + 12|0); - HEAP32[$153>>2] = $135; - HEAP32[$$pre$phi24Z2D>>2] = $133; - } else { - $154 = ((($2)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = ((($2)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($2|0); - do { - if ($158) { - $168 = ((($2)) + 16|0); - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$168>>2]|0; - $173 = ($172|0)==(0|0); - if ($173) { - $$3435 = 0; - break; - } else { - $$1433 = $172;$$1437 = $168; - } - } else { - $$1433 = $170;$$1437 = $169; - } - while(1) { - $174 = ((($$1433)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==(0|0); - if (!($176)) { - $$1433 = $175;$$1437 = $174; - continue; - } - $177 = ((($$1433)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - break; - } else { - $$1433 = $178;$$1437 = $177; - } - } - $180 = ($$1437>>>0)<($108>>>0); - if ($180) { - _abort(); - // unreachable; - } else { - HEAP32[$$1437>>2] = 0; - $$3435 = $$1433; - break; - } - } else { - $159 = ((($2)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160>>>0)<($108>>>0); - if ($161) { - _abort(); - // unreachable; - } - $162 = ((($160)) + 12|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($2|0); - if (!($164)) { - _abort(); - // unreachable; - } - $165 = ((($157)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==($2|0); - if ($167) { - HEAP32[$162>>2] = $157; - HEAP32[$165>>2] = $160; - $$3435 = $157; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $181 = ($155|0)==(0|0); - if (!($181)) { - $182 = ((($2)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = (22180 + ($183<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($2|0)==($185|0); - do { - if ($186) { - HEAP32[$184>>2] = $$3435; - $cond17 = ($$3435|0)==(0|0); - if ($cond17) { - $187 = 1 << $183; - $188 = $187 ^ -1; - $189 = HEAP32[(21880)>>2]|0; - $190 = $189 & $188; - HEAP32[(21880)>>2] = $190; - break L96; - } - } else { - $191 = HEAP32[(21892)>>2]|0; - $192 = ($155>>>0)<($191>>>0); - if ($192) { - _abort(); - // unreachable; - } else { - $193 = ((($155)) + 16|0); - $194 = HEAP32[$193>>2]|0; - $not$ = ($194|0)!=($2|0); - $$sink4 = $not$&1; - $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); - HEAP32[$195>>2] = $$3435; - $196 = ($$3435|0)==(0|0); - if ($196) { - break L96; - } else { - break; - } - } - } - } while(0); - $197 = HEAP32[(21892)>>2]|0; - $198 = ($$3435>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($$3435)) + 24|0); - HEAP32[$199>>2] = $155; - $200 = ((($2)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($$3435)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $$3435; - break; - } - } - } while(0); - $206 = ((($200)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(21892)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($$3435)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $$3435; - break; - } - } - } - } - } while(0); - $213 = $129 | 1; - $214 = ((($$1)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$1) + ($129)|0); - HEAP32[$215>>2] = $129; - $216 = HEAP32[(21896)>>2]|0; - $217 = ($$1|0)==($216|0); - if ($217) { - HEAP32[(21884)>>2] = $129; - return; - } else { - $$2 = $129; - } - } else { - $218 = $111 & -2; - HEAP32[$110>>2] = $218; - $219 = $$1418 | 1; - $220 = ((($$1)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$1) + ($$1418)|0); - HEAP32[$221>>2] = $$1418; - $$2 = $$1418; - } - $222 = $$2 >>> 3; - $223 = ($$2>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (21916 + ($224<<2)|0); - $226 = HEAP32[5469]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[5469] = $230; - $$pre = ((($225)) + 8|0); - $$0438 = $225;$$pre$phiZ2D = $$pre; - } else { - $231 = ((($225)) + 8|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21892)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$0438 = $232;$$pre$phiZ2D = $231; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $235 = ((($$0438)) + 12|0); - HEAP32[$235>>2] = $$1; - $236 = ((($$1)) + 8|0); - HEAP32[$236>>2] = $$0438; - $237 = ((($$1)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$2 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $$0431 = 0; - } else { - $240 = ($$2>>>0)>(16777215); - if ($240) { - $$0431 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$2 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $$0431 = $262; - } - } - $263 = (22180 + ($$0431<<2)|0); - $264 = ((($$1)) + 28|0); - HEAP32[$264>>2] = $$0431; - $265 = ((($$1)) + 16|0); - $266 = ((($$1)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(21880)>>2]|0; - $268 = 1 << $$0431; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(21880)>>2] = $271; - HEAP32[$263>>2] = $$1; - $272 = ((($$1)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$1)) + 12|0); - HEAP32[$273>>2] = $$1; - $274 = ((($$1)) + 8|0); - HEAP32[$274>>2] = $$1; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($$0431|0)==(31); - $277 = $$0431 >>> 1; - $278 = (25 - ($277))|0; - $279 = $276 ? 0 : $278; - $280 = $$2 << $279; - $$0419 = $280;$$0420 = $275; - while(1) { - $281 = ((($$0420)) + 4|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 & -8; - $284 = ($283|0)==($$2|0); - if ($284) { - label = 121; - break; - } - $285 = $$0419 >>> 31; - $286 = (((($$0420)) + 16|0) + ($285<<2)|0); - $287 = $$0419 << 1; - $288 = HEAP32[$286>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - label = 118; - break; - } else { - $$0419 = $287;$$0420 = $288; - } - } - if ((label|0) == 118) { - $290 = HEAP32[(21892)>>2]|0; - $291 = ($286>>>0)<($290>>>0); - if ($291) { - _abort(); - // unreachable; - } - HEAP32[$286>>2] = $$1; - $292 = ((($$1)) + 24|0); - HEAP32[$292>>2] = $$0420; - $293 = ((($$1)) + 12|0); - HEAP32[$293>>2] = $$1; - $294 = ((($$1)) + 8|0); - HEAP32[$294>>2] = $$1; - return; - } - else if ((label|0) == 121) { - $295 = ((($$0420)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21892)>>2]|0; - $298 = ($296>>>0)>=($297>>>0); - $not$19 = ($$0420>>>0)>=($297>>>0); - $299 = $298 & $not$19; - if (!($299)) { - _abort(); - // unreachable; - } - $300 = ((($296)) + 12|0); - HEAP32[$300>>2] = $$1; - HEAP32[$295>>2] = $$1; - $301 = ((($$1)) + 8|0); - HEAP32[$301>>2] = $296; - $302 = ((($$1)) + 12|0); - HEAP32[$302>>2] = $$0420; - $303 = ((($$1)) + 24|0); - HEAP32[$303>>2] = 0; - return; - } -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (22372|0); -} -function ___stdio_close($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 60|0); - $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); - HEAP32[$vararg_buffer>>2] = $3; - $4 = (___syscall6(6,($vararg_buffer|0))|0); - $5 = (___syscall_ret($4)|0); - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $3 = sp + 32|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$3>>2] = $5; - $6 = ((($3)) + 4|0); - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - ($5))|0; - HEAP32[$6>>2] = $9; - $10 = ((($3)) + 8|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $2; - $12 = (($9) + ($2))|0; - $13 = ((($0)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = $3; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $16 = (___syscall146(146,($vararg_buffer|0))|0); - $17 = (___syscall_ret($16)|0); - $18 = ($12|0)==($17|0); - L1: do { - if ($18) { - label = 3; - } else { - $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; - while(1) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } while(0); - if ((label|0) == 3) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 16|0); - HEAP32[$24>>2] = $23; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|0); -} -function ___stdio_seek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 20|0; - $4 = ((($0)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $1; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $6; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $2; - $7 = (___syscall140(140,($vararg_buffer|0))|0); - $8 = (___syscall_ret($7)|0); - $9 = ($8|0)<(0); - if ($9) { - HEAP32[$3>>2] = -1; - $10 = -1; - } else { - $$pre = HEAP32[$3>>2]|0; - $10 = $$pre; - } - STACKTOP = sp;return ($10|0); -} -function ___syscall_ret($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0>>>0)>(4294963200); - if ($1) { - $2 = (0 - ($0))|0; - $3 = (___errno_location()|0); - HEAP32[$3>>2] = $2; - $$0 = -1; - } else { - $$0 = $0; - } - return ($$0|0); -} -function ___errno_location() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (3884|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - HEAP32[$3>>2] = $1; - $4 = ((($3)) + 4|0); - $5 = ((($0)) + 48|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = $7&1; - $9 = (($2) - ($8))|0; - HEAP32[$4>>2] = $9; - $10 = ((($3)) + 8|0); - $11 = ((($0)) + 44|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($3)) + 12|0); - HEAP32[$13>>2] = $6; - $14 = ((($0)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = $3; - HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $17 = (___syscall145(145,($vararg_buffer|0))|0); - $18 = (___syscall_ret($17)|0); - $19 = ($18|0)<(1); - if ($19) { - $20 = $18 & 48; - $21 = $20 ^ 16; - $22 = HEAP32[$0>>2]|0; - $23 = $22 | $21; - HEAP32[$0>>2] = $23; - $$0 = $18; - } else { - $24 = HEAP32[$4>>2]|0; - $25 = ($18>>>0)>($24>>>0); - if ($25) { - $26 = (($18) - ($24))|0; - $27 = HEAP32[$11>>2]|0; - $28 = ((($0)) + 4|0); - HEAP32[$28>>2] = $27; - $29 = (($27) + ($26)|0); - $30 = ((($0)) + 8|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = $2; - } else { - $33 = ((($27)) + 1|0); - HEAP32[$28>>2] = $33; - $34 = HEAP8[$27>>0]|0; - $35 = (($2) + -1)|0; - $36 = (($1) + ($35)|0); - HEAP8[$36>>0] = $34; - $$0 = $2; - } - } else { - $$0 = $18; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 10; - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 64; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = $3; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21523; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $11 = (___syscall54(54,($vararg_buffer|0))|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($0)) + 75|0); - HEAP8[$13>>0] = -1; - } - } - $14 = (___stdio_write($0,$1,$2)|0); - STACKTOP = sp;return ($14|0); -} -function _strtox_768($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $5 = sp; - HEAP32[$5>>2] = 0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $0; - $7 = ((($5)) + 44|0); - HEAP32[$7>>2] = $0; - $8 = ($0|0)<(0|0); - $9 = ((($0)) + 2147483647|0); - $$sink = $8 ? (-1) : $9; - $10 = ((($5)) + 8|0); - HEAP32[$10>>2] = $$sink; - $11 = ((($5)) + 76|0); - HEAP32[$11>>2] = -1; - ___shlim($5,0); - $12 = (___intscan($5,$2,1,$3,$4)|0); - $13 = tempRet0; - $14 = ($1|0)==(0|0); - if (!($14)) { - $15 = ((($5)) + 108|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$6>>2]|0; - $18 = HEAP32[$10>>2]|0; - $19 = (($17) + ($16))|0; - $20 = (($19) - ($18))|0; - $21 = (($0) + ($20)|0); - HEAP32[$1>>2] = $21; - } - tempRet0 = ($13); - STACKTOP = sp;return ($12|0); -} -function ___shlim($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 104|0); - HEAP32[$2>>2] = $1; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ((($0)) + 108|0); - HEAP32[$10>>2] = $9; - $11 = ($1|0)!=(0); - $12 = ($9|0)>($1|0); - $or$cond = $11 & $12; - $13 = (($6) + ($1)|0); - $$sink = $or$cond ? $13 : $4; - $14 = ((($0)) + 100|0); - HEAP32[$14>>2] = $$sink; - return; -} -function ___intscan($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; - var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; - var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; - var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; - var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; - var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; - var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; - var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; - var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($1>>>0)>(36); - L1: do { - if ($5) { - $8 = (___errno_location()|0); - HEAP32[$8>>2] = 22; - $289 = 0;$290 = 0; - } else { - $6 = ((($0)) + 4|0); - $7 = ((($0)) + 100|0); - while(1) { - $9 = HEAP32[$6>>2]|0; - $10 = HEAP32[$7>>2]|0; - $11 = ($9>>>0)<($10>>>0); - if ($11) { - $12 = ((($9)) + 1|0); - HEAP32[$6>>2] = $12; - $13 = HEAP8[$9>>0]|0; - $14 = $13&255; - $16 = $14; - } else { - $15 = (___shgetc($0)|0); - $16 = $15; - } - $17 = (_isspace($16)|0); - $18 = ($17|0)==(0); - if ($18) { - break; - } - } - L11: do { - switch ($16|0) { - case 43: case 45: { - $19 = ($16|0)==(45); - $20 = $19 << 31 >> 31; - $21 = HEAP32[$6>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$6>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$0157 = $20;$$0159 = $26; - break L11; - } else { - $27 = (___shgetc($0)|0); - $$0157 = $20;$$0159 = $27; - break L11; - } - break; - } - default: { - $$0157 = 0;$$0159 = $16; - } - } - } while(0); - $28 = ($1|0)==(0); - $29 = $1 | 16; - $30 = ($29|0)==(16); - $31 = ($$0159|0)==(48); - $or$cond5 = $30 & $31; - do { - if ($or$cond5) { - $32 = HEAP32[$6>>2]|0; - $33 = HEAP32[$7>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$6>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $40 = $37; - } else { - $38 = (___shgetc($0)|0); - $40 = $38; - } - $39 = $40 | 32; - $41 = ($39|0)==(120); - if (!($41)) { - if ($28) { - $$1160169 = $40;$$1165168 = 8; - label = 46; - break; - } else { - $$1160 = $40;$$1165 = $1; - label = 32; - break; - } - } - $42 = HEAP32[$6>>2]|0; - $43 = HEAP32[$7>>2]|0; - $44 = ($42>>>0)<($43>>>0); - if ($44) { - $45 = ((($42)) + 1|0); - HEAP32[$6>>2] = $45; - $46 = HEAP8[$42>>0]|0; - $47 = $46&255; - $50 = $47; - } else { - $48 = (___shgetc($0)|0); - $50 = $48; - } - $49 = ((15736) + ($50)|0); - $51 = HEAP8[$49>>0]|0; - $52 = ($51&255)>(15); - if ($52) { - $53 = HEAP32[$7>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - $55 = HEAP32[$6>>2]|0; - $56 = ((($55)) + -1|0); - HEAP32[$6>>2] = $56; - } - $57 = ($2|0)==(0); - if ($57) { - ___shlim($0,0); - $289 = 0;$290 = 0; - break L1; - } - if (!($54)) { - $289 = 0;$290 = 0; - break L1; - } - $58 = HEAP32[$6>>2]|0; - $59 = ((($58)) + -1|0); - HEAP32[$6>>2] = $59; - $289 = 0;$290 = 0; - break L1; - } else { - $$1160169 = $50;$$1165168 = 16; - label = 46; - } - } else { - $$166 = $28 ? 10 : $1; - $60 = ((15736) + ($$0159)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($62>>>0)<($$166>>>0); - if ($63) { - $$1160 = $$0159;$$1165 = $$166; - label = 32; - } else { - $64 = HEAP32[$7>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$6>>2]|0; - $67 = ((($66)) + -1|0); - HEAP32[$6>>2] = $67; - } - ___shlim($0,0); - $68 = (___errno_location()|0); - HEAP32[$68>>2] = 22; - $289 = 0;$290 = 0; - break L1; - } - } - } while(0); - L43: do { - if ((label|0) == 32) { - $69 = ($$1165|0)==(10); - if ($69) { - $70 = (($$1160) + -48)|0; - $71 = ($70>>>0)<(10); - if ($71) { - $$0154222 = 0;$74 = $70; - while(1) { - $72 = ($$0154222*10)|0; - $73 = (($72) + ($74))|0; - $75 = HEAP32[$6>>2]|0; - $76 = HEAP32[$7>>2]|0; - $77 = ($75>>>0)<($76>>>0); - if ($77) { - $78 = ((($75)) + 1|0); - HEAP32[$6>>2] = $78; - $79 = HEAP8[$75>>0]|0; - $80 = $79&255; - $$2161$be = $80; - } else { - $81 = (___shgetc($0)|0); - $$2161$be = $81; - } - $82 = (($$2161$be) + -48)|0; - $83 = ($82>>>0)<(10); - $84 = ($73>>>0)<(429496729); - $85 = $83 & $84; - if ($85) { - $$0154222 = $73;$74 = $82; - } else { - break; - } - } - $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; - } else { - $$2161$lcssa = $$1160;$291 = 0;$292 = 0; - } - $86 = (($$2161$lcssa) + -48)|0; - $87 = ($86>>>0)<(10); - if ($87) { - $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; - while(1) { - $90 = (___muldi3(($88|0),($89|0),10,0)|0); - $91 = tempRet0; - $92 = ($93|0)<(0); - $94 = $92 << 31 >> 31; - $95 = $93 ^ -1; - $96 = $94 ^ -1; - $97 = ($91>>>0)>($96>>>0); - $98 = ($90>>>0)>($95>>>0); - $99 = ($91|0)==($96|0); - $100 = $99 & $98; - $101 = $97 | $100; - if ($101) { - $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; - label = 72; - break L43; - } - $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); - $103 = tempRet0; - $104 = HEAP32[$6>>2]|0; - $105 = HEAP32[$7>>2]|0; - $106 = ($104>>>0)<($105>>>0); - if ($106) { - $107 = ((($104)) + 1|0); - HEAP32[$6>>2] = $107; - $108 = HEAP8[$104>>0]|0; - $109 = $108&255; - $$3162$be = $109; - } else { - $110 = (___shgetc($0)|0); - $$3162$be = $110; - } - $111 = (($$3162$be) + -48)|0; - $112 = ($111>>>0)<(10); - $113 = ($103>>>0)<(429496729); - $114 = ($102>>>0)<(2576980378); - $115 = ($103|0)==(429496729); - $116 = $115 & $114; - $117 = $113 | $116; - $or$cond7 = $112 & $117; - if ($or$cond7) { - $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; - } else { - break; - } - } - $118 = ($111>>>0)>(9); - if ($118) { - $$1158 = $$0157;$263 = $103;$265 = $102; - } else { - $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; - label = 72; - } - } else { - $$1158 = $$0157;$263 = $292;$265 = $291; - } - } else { - $$1160169 = $$1160;$$1165168 = $$1165; - label = 46; - } - } - } while(0); - L63: do { - if ((label|0) == 46) { - $119 = (($$1165168) + -1)|0; - $120 = $119 & $$1165168; - $121 = ($120|0)==(0); - if ($121) { - $126 = ($$1165168*23)|0; - $127 = $126 >>> 5; - $128 = $127 & 7; - $129 = (15992 + ($128)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 << 24 >> 24; - $132 = ((15736) + ($$1160169)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($134>>>0)<($$1165168>>>0); - if ($135) { - $$1155192 = 0;$138 = $134; - while(1) { - $136 = $$1155192 << $131; - $137 = $138 | $136; - $139 = HEAP32[$6>>2]|0; - $140 = HEAP32[$7>>2]|0; - $141 = ($139>>>0)<($140>>>0); - if ($141) { - $142 = ((($139)) + 1|0); - HEAP32[$6>>2] = $142; - $143 = HEAP8[$139>>0]|0; - $144 = $143&255; - $$4163$be = $144; - } else { - $145 = (___shgetc($0)|0); - $$4163$be = $145; - } - $146 = ((15736) + ($$4163$be)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = ($148>>>0)<($$1165168>>>0); - $150 = ($137>>>0)<(134217728); - $151 = $150 & $149; - if ($151) { - $$1155192 = $137;$138 = $148; - } else { - break; - } - } - $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; - } else { - $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; - } - $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); - $153 = tempRet0; - $154 = $155&255; - $156 = ($154>>>0)>=($$1165168>>>0); - $157 = ($158>>>0)>($153>>>0); - $159 = ($160>>>0)>($152>>>0); - $161 = ($158|0)==($153|0); - $162 = $161 & $159; - $163 = $157 | $162; - $or$cond187 = $156 | $163; - if ($or$cond187) { - $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; - label = 72; - break; - } else { - $164 = $160;$165 = $158;$169 = $155; - } - while(1) { - $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); - $167 = tempRet0; - $168 = $169&255; - $170 = $168 | $166; - $171 = HEAP32[$6>>2]|0; - $172 = HEAP32[$7>>2]|0; - $173 = ($171>>>0)<($172>>>0); - if ($173) { - $174 = ((($171)) + 1|0); - HEAP32[$6>>2] = $174; - $175 = HEAP8[$171>>0]|0; - $176 = $175&255; - $$5$be = $176; - } else { - $177 = (___shgetc($0)|0); - $$5$be = $177; - } - $178 = ((15736) + ($$5$be)|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = ($180>>>0)>=($$1165168>>>0); - $182 = ($167>>>0)>($153>>>0); - $183 = ($170>>>0)>($152>>>0); - $184 = ($167|0)==($153|0); - $185 = $184 & $183; - $186 = $182 | $185; - $or$cond = $181 | $186; - if ($or$cond) { - $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; - label = 72; - break L63; - } else { - $164 = $170;$165 = $167;$169 = $179; - } - } - } - $122 = ((15736) + ($$1160169)|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = ($124>>>0)<($$1165168>>>0); - if ($125) { - $$2156210 = 0;$189 = $124; - while(1) { - $187 = Math_imul($$2156210, $$1165168)|0; - $188 = (($189) + ($187))|0; - $190 = HEAP32[$6>>2]|0; - $191 = HEAP32[$7>>2]|0; - $192 = ($190>>>0)<($191>>>0); - if ($192) { - $193 = ((($190)) + 1|0); - HEAP32[$6>>2] = $193; - $194 = HEAP8[$190>>0]|0; - $195 = $194&255; - $$6$be = $195; - } else { - $196 = (___shgetc($0)|0); - $$6$be = $196; - } - $197 = ((15736) + ($$6$be)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199>>>0)<($$1165168>>>0); - $201 = ($188>>>0)<(119304647); - $202 = $201 & $200; - if ($202) { - $$2156210 = $188;$189 = $199; - } else { - break; - } - } - $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; - } else { - $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; - } - $203 = $204&255; - $205 = ($203>>>0)<($$1165168>>>0); - if ($205) { - $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); - $207 = tempRet0; - $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; - while(1) { - $208 = ($209>>>0)>($207>>>0); - $210 = ($211>>>0)>($206>>>0); - $212 = ($209|0)==($207|0); - $213 = $212 & $210; - $214 = $208 | $213; - if ($214) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); - $216 = tempRet0; - $217 = $218&255; - $219 = $217 ^ -1; - $220 = ($216>>>0)>(4294967295); - $221 = ($215>>>0)>($219>>>0); - $222 = ($216|0)==(-1); - $223 = $222 & $221; - $224 = $220 | $223; - if ($224) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); - $226 = tempRet0; - $227 = HEAP32[$6>>2]|0; - $228 = HEAP32[$7>>2]|0; - $229 = ($227>>>0)<($228>>>0); - if ($229) { - $230 = ((($227)) + 1|0); - HEAP32[$6>>2] = $230; - $231 = HEAP8[$227>>0]|0; - $232 = $231&255; - $$7$be = $232; - } else { - $233 = (___shgetc($0)|0); - $$7$be = $233; - } - $234 = ((15736) + ($$7$be)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = ($236>>>0)<($$1165168>>>0); - if ($237) { - $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; - } else { - $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; - label = 72; - break; - } - } - } else { - $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; - label = 72; - } - } - } while(0); - if ((label|0) == 72) { - $238 = ((15736) + ($$8)|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240>>>0)<($$1165167>>>0); - if ($241) { - while(1) { - $242 = HEAP32[$6>>2]|0; - $243 = HEAP32[$7>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - $245 = ((($242)) + 1|0); - HEAP32[$6>>2] = $245; - $246 = HEAP8[$242>>0]|0; - $247 = $246&255; - $$9$be = $247; - } else { - $248 = (___shgetc($0)|0); - $$9$be = $248; - } - $249 = ((15736) + ($$9$be)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251>>>0)<($$1165167>>>0); - if (!($252)) { - break; - } - } - $253 = (___errno_location()|0); - HEAP32[$253>>2] = 34; - $254 = $3 & 1; - $255 = ($254|0)==(0); - $256 = (0)==(0); - $257 = $255 & $256; - $$0157$ = $257 ? $$0157 : 0; - $$1158 = $$0157$;$263 = $4;$265 = $3; - } else { - $$1158 = $$0157;$263 = $294;$265 = $293; - } - } - $258 = HEAP32[$7>>2]|0; - $259 = ($258|0)==(0|0); - if (!($259)) { - $260 = HEAP32[$6>>2]|0; - $261 = ((($260)) + -1|0); - HEAP32[$6>>2] = $261; - } - $262 = ($263>>>0)<($4>>>0); - $264 = ($265>>>0)<($3>>>0); - $266 = ($263|0)==($4|0); - $267 = $266 & $264; - $268 = $262 | $267; - if (!($268)) { - $269 = $3 & 1; - $270 = ($269|0)!=(0); - $271 = (0)!=(0); - $272 = $270 | $271; - $273 = ($$1158|0)!=(0); - $or$cond12 = $272 | $273; - if (!($or$cond12)) { - $274 = (___errno_location()|0); - HEAP32[$274>>2] = 34; - $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); - $276 = tempRet0; - $289 = $276;$290 = $275; - break; - } - $277 = ($263>>>0)>($4>>>0); - $278 = ($265>>>0)>($3>>>0); - $279 = ($263|0)==($4|0); - $280 = $279 & $278; - $281 = $277 | $280; - if ($281) { - $282 = (___errno_location()|0); - HEAP32[$282>>2] = 34; - $289 = $4;$290 = $3; - break; - } - } - $283 = ($$1158|0)<(0); - $284 = $283 << 31 >> 31; - $285 = $265 ^ $$1158; - $286 = $263 ^ $284; - $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); - $288 = tempRet0; - $289 = $288;$290 = $287; - } - } while(0); - tempRet0 = ($289); - return ($290|0); -} -function ___shgetc($0) { - $0 = $0|0; - var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 104|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - label = 3; - } else { - $4 = ((($0)) + 108|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)<($2|0); - if ($6) { - label = 3; - } else { - label = 4; - } - } - if ((label|0) == 3) { - $7 = (___uflow($0)|0); - $8 = ($7|0)<(0); - if ($8) { - label = 4; - } else { - $10 = HEAP32[$1>>2]|0; - $11 = ($10|0)==(0); - $$phi$trans$insert = ((($0)) + 8|0); - if ($11) { - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); - $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; - $$pre35 = ((($0)) + 108|0); - $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; - } else { - $12 = HEAP32[$$phi$trans$insert>>2]|0; - $13 = ((($0)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $14; - $16 = (($12) - ($15))|0; - $17 = ((($0)) + 108|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($10) - ($18))|0; - $20 = ($16|0)<($19|0); - $21 = $12; - if ($20) { - $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; - } else { - $22 = (($19) + -1)|0; - $23 = (($14) + ($22)|0); - $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; - } - } - $24 = ((($0)) + 100|0); - HEAP32[$24>>2] = $$sink; - $25 = ($26|0)==(0|0); - if (!($25)) { - $27 = $26; - $28 = $29; - $30 = HEAP32[$$pre$phi34Z2D>>2]|0; - $31 = (($27) + 1)|0; - $32 = (($31) - ($28))|0; - $33 = (($32) + ($30))|0; - HEAP32[$$pre$phi34Z2D>>2] = $33; - } - $34 = ((($29)) + -1|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==($7|0); - if ($37) { - $$0 = $7; - } else { - $38 = $7&255; - HEAP8[$34>>0] = $38; - $$0 = $7; - } - } - } - if ((label|0) == 4) { - $9 = ((($0)) + 100|0); - HEAP32[$9>>2] = 0; - $$0 = -1; - } - return ($$0|0); -} -function _isspace($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(32); - $2 = (($0) + -9)|0; - $3 = ($2>>>0)<(5); - $4 = $1 | $3; - $5 = $4&1; - return ($5|0); -} -function ___uflow($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = (___toread($0)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); - $7 = ($6|0)==(1); - if ($7) { - $8 = HEAP8[$1>>0]|0; - $9 = $8&255; - $$0 = $9; - } else { - $$0 = -1; - } - } else { - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___toread($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($0)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($8>>>0)>($10>>>0); - if ($11) { - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); - } - $14 = ((($0)) + 16|0); - HEAP32[$14>>2] = 0; - HEAP32[$9>>2] = 0; - HEAP32[$7>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = $15 & 4; - $17 = ($16|0)==(0); - if ($17) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = $23; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = $23; - $26 = $15 << 27; - $sext = $26 >> 31; - $$0 = $sext; - } else { - $18 = $15 | 32; - HEAP32[$0>>2] = $18; - $$0 = -1; - } - return ($$0|0); -} -function _strtol($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_strtox_768($0,$1,$2,-2147483648,0)|0); - $4 = tempRet0; - return ($3|0); -} -function _copysign($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = $3 & 2147483647; - $7 = $5 & -2147483648; - $8 = $7 | $6; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; - return (+$9); -} -function _strcmp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP8[$0>>0]|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($2<<24>>24)!=($3<<24>>24); - $5 = ($2<<24>>24)==(0); - $or$cond9 = $5 | $4; - if ($or$cond9) { - $$lcssa = $3;$$lcssa8 = $2; - } else { - $$011 = $1;$$0710 = $0; - while(1) { - $6 = ((($$0710)) + 1|0); - $7 = ((($$011)) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = HEAP8[$7>>0]|0; - $10 = ($8<<24>>24)!=($9<<24>>24); - $11 = ($8<<24>>24)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $$lcssa = $9;$$lcssa8 = $8; - break; - } else { - $$011 = $7;$$0710 = $6; - } - } - } - $12 = $$lcssa8&255; - $13 = $$lcssa&255; - $14 = (($12) - ($13))|0; - return ($14|0); -} -function _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _strncmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - if ($3) { - $$020 = 0; - } else { - $4 = HEAP8[$0>>0]|0; - $5 = $4&255; - $6 = ($4<<24>>24)==(0); - $7 = HEAP8[$1>>0]|0; - $8 = $7&255; - L3: do { - if ($6) { - $$lcssa = $8;$$lcssa22 = $5; - } else { - $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; - while(1) { - $$01926 = (($$01926$in) + -1)|0; - $9 = ($10<<24>>24)!=(0); - $11 = ($$01926|0)!=(0); - $or$cond = $11 & $9; - $12 = ($13<<24>>24)==($10<<24>>24); - $or$cond21 = $12 & $or$cond; - if (!($or$cond21)) { - $$lcssa = $22;$$lcssa22 = $23; - break L3; - } - $14 = ((($$01824)) + 1|0); - $15 = ((($$025)) + 1|0); - $16 = HEAP8[$14>>0]|0; - $17 = $16&255; - $18 = ($16<<24>>24)==(0); - $19 = HEAP8[$15>>0]|0; - $20 = $19&255; - if ($18) { - $$lcssa = $20;$$lcssa22 = $17; - break; - } else { - $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; - } - } - } - } while(0); - $21 = (($$lcssa22) - ($$lcssa))|0; - $$020 = $21; - } - return ($$020|0); -} -function _vsprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_vsnprintf($0,2147483647,$1,$2)|0); - return ($3|0); -} -function _vsnprintf($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $4 = sp + 124|0; - $5 = sp; - dest=$5; src=4260; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = (($1) + -1)|0; - $7 = ($6>>>0)>(2147483646); - if ($7) { - $8 = ($1|0)==(0); - if ($8) { - $$014 = $4;$$015 = 1; - label = 4; - } else { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 75; - $$0 = -1; - } - } else { - $$014 = $0;$$015 = $1; - label = 4; - } - if ((label|0) == 4) { - $10 = $$014; - $11 = (-2 - ($10))|0; - $12 = ($$015>>>0)>($11>>>0); - $$$015 = $12 ? $11 : $$015; - $13 = ((($5)) + 48|0); - HEAP32[$13>>2] = $$$015; - $14 = ((($5)) + 20|0); - HEAP32[$14>>2] = $$014; - $15 = ((($5)) + 44|0); - HEAP32[$15>>2] = $$014; - $16 = (($$014) + ($$$015)|0); - $17 = ((($5)) + 16|0); - HEAP32[$17>>2] = $16; - $18 = ((($5)) + 28|0); - HEAP32[$18>>2] = $16; - $19 = (_vfprintf($5,$2,$3)|0); - $20 = ($$$015|0)==(0); - if ($20) { - $$0 = $19; - } else { - $21 = HEAP32[$14>>2]|0; - $22 = HEAP32[$17>>2]|0; - $23 = ($21|0)==($22|0); - $24 = $23 << 31 >> 31; - $25 = (($21) + ($24)|0); - HEAP8[$25>>0] = 0; - $$0 = $19; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vfprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $3 = sp + 120|0; - $4 = sp + 80|0; - $5 = sp; - $6 = sp + 136|0; - dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = $vacopy_currentptr; - $7 = (_printf_core(0,$1,$3,$5,$4)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = -1; - } else { - $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(-1); - if ($11) { - $12 = (___lockfile($0)|0); - $40 = $12; - } else { - $40 = 0; - } - $13 = HEAP32[$0>>2]|0; - $14 = $13 & 32; - $15 = ((($0)) + 74|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)<(1); - if ($17) { - $18 = $13 & -33; - HEAP32[$0>>2] = $18; - } - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $23 = ((($0)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$23>>2] = $6; - $25 = ((($0)) + 28|0); - HEAP32[$25>>2] = $6; - $26 = ((($0)) + 20|0); - HEAP32[$26>>2] = $6; - HEAP32[$19>>2] = 80; - $27 = ((($6)) + 80|0); - $28 = ((($0)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = (_printf_core($0,$1,$3,$5,$4)|0); - $30 = ($24|0)==(0|0); - if ($30) { - $$1 = $29; - } else { - $31 = ((($0)) + 36|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); - $33 = HEAP32[$26>>2]|0; - $34 = ($33|0)==(0|0); - $$ = $34 ? -1 : $29; - HEAP32[$23>>2] = $24; - HEAP32[$19>>2] = 0; - HEAP32[$28>>2] = 0; - HEAP32[$25>>2] = 0; - HEAP32[$26>>2] = 0; - $$1 = $$; - } - } else { - $22 = (_printf_core($0,$1,$3,$5,$4)|0); - $$1 = $22; - } - $35 = HEAP32[$0>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - $$1$ = $37 ? $$1 : -1; - $38 = $35 | $14; - HEAP32[$0>>2] = $38; - $39 = ($40|0)==(0); - if (!($39)) { - ___unlockfile($0); - } - $$0 = $$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _printf_core($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; - var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 24|0; - $8 = sp + 8|0; - $9 = sp + 20|0; - HEAP32[$5>>2] = $1; - $10 = ($0|0)!=(0|0); - $11 = ((($7)) + 40|0); - $12 = $11; - $13 = ((($7)) + 39|0); - $14 = ((($8)) + 4|0); - $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; - L1: while(1) { - $15 = ($$0247|0)>(-1); - do { - if ($15) { - $16 = (2147483647 - ($$0247))|0; - $17 = ($$0243|0)>($16|0); - if ($17) { - $18 = (___errno_location()|0); - HEAP32[$18>>2] = 75; - $$1248 = -1; - break; - } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; - break; - } - } else { - $$1248 = $$0247; - } - } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; - break; - } - case 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; - break; - } - default: { - } - } - $24 = ((($25)) + 1|0); - HEAP32[$5>>2] = $24; - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = ((($27)) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$0249$lcssa = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $30;$27 = $31; - label = 9; - } else { - $$0249$lcssa = $30;$39 = $31; - break; - } - } - } - } while(0); - $34 = $$0249$lcssa; - $35 = $21; - $36 = (($34) - ($35))|0; - if ($10) { - _out($0,$21,$36); - } - $37 = ($36|0)==(0); - if (!($37)) { - $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; - continue; - } - $38 = ((($39)) + 1|0); - $40 = HEAP8[$38>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($39)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($39)) + 3|0); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } else { - $$0253 = -1;$$1270 = $$0269;$storemerge = $38; - } - HEAP32[$5>>2] = $storemerge; - $46 = HEAP8[$storemerge>>0]|0; - $47 = $46 << 24 >> 24; - $48 = (($47) + -32)|0; - $49 = ($48>>>0)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((16001 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16465;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16465;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 16465 : (16467); - $$$ = $238 ? $$ : (16466); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16465;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16465;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16475; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 16465;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (16465 + ($208)|0); - $$289 = $or$cond283 ? 16465 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16465;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; - $$0228$ = $or$cond ? $$0228 : $11; - $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; - } - else if ((label|0) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } else { - $$0 = $$1248; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___lockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _out($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = $3 & 32; - $5 = ($4|0)==(0); - if ($5) { - (___fwritex($1,$2,$0)|0); - } - return; -} -function _getint($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $isdigittmp4 = (($3) + -48)|0; - $isdigit5 = ($isdigittmp4>>>0)<(10); - if ($isdigit5) { - $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; - while(1) { - $4 = ($$06*10)|0; - $5 = (($isdigittmp7) + ($4))|0; - $6 = ((($7)) + 1|0); - HEAP32[$0>>2] = $6; - $8 = HEAP8[$6>>0]|0; - $9 = $8 << 24 >> 24; - $isdigittmp = (($9) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; - } else { - $$0$lcssa = $5; - break; - } - } - } else { - $$0$lcssa = 0; - } - return ($$0$lcssa|0); -} -function _pop_arg($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(20); - L1: do { - if (!($3)) { - do { - switch ($1|0) { - case 9: { - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded28 = $5; - $expanded = (($expanded28) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded32 = $7; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $8 = $6 & $expanded30; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - HEAP32[$0>>2] = $10; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$2>>2]|0; - $11 = $arglist_current2; - $12 = ((0) + 4|0); - $expanded35 = $12; - $expanded34 = (($expanded35) - 1)|0; - $13 = (($11) + ($expanded34))|0; - $14 = ((0) + 4|0); - $expanded39 = $14; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $15 = $13 & $expanded37; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $arglist_next3 = ((($16)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$2>>2]|0; - $24 = $arglist_current5; - $25 = ((0) + 4|0); - $expanded42 = $25; - $expanded41 = (($expanded42) - 1)|0; - $26 = (($24) + ($expanded41))|0; - $27 = ((0) + 4|0); - $expanded46 = $27; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $28 = $26 & $expanded44; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $arglist_next6 = ((($29)) + 4|0); - HEAP32[$2>>2] = $arglist_next6; - $31 = $0; - $32 = $31; - HEAP32[$32>>2] = $30; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$2>>2]|0; - $35 = $arglist_current8; - $36 = ((0) + 8|0); - $expanded49 = $36; - $expanded48 = (($expanded49) - 1)|0; - $37 = (($35) + ($expanded48))|0; - $38 = ((0) + 8|0); - $expanded53 = $38; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $39 = $37 & $expanded51; - $40 = $39; - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $arglist_next9 = ((($40)) + 8|0); - HEAP32[$2>>2] = $arglist_next9; - $47 = $0; - $48 = $47; - HEAP32[$48>>2] = $43; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$2>>2]|0; - $51 = $arglist_current11; - $52 = ((0) + 4|0); - $expanded56 = $52; - $expanded55 = (($expanded56) - 1)|0; - $53 = (($51) + ($expanded55))|0; - $54 = ((0) + 4|0); - $expanded60 = $54; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $55 = $53 & $expanded58; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $arglist_next12 = ((($56)) + 4|0); - HEAP32[$2>>2] = $arglist_next12; - $58 = $57&65535; - $59 = $58 << 16 >> 16; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = $0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$2>>2]|0; - $66 = $arglist_current14; - $67 = ((0) + 4|0); - $expanded63 = $67; - $expanded62 = (($expanded63) - 1)|0; - $68 = (($66) + ($expanded62))|0; - $69 = ((0) + 4|0); - $expanded67 = $69; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $70 = $68 & $expanded65; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $arglist_next15 = ((($71)) + 4|0); - HEAP32[$2>>2] = $arglist_next15; - $$mask31 = $72 & 65535; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $$mask31; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$2>>2]|0; - $77 = $arglist_current17; - $78 = ((0) + 4|0); - $expanded70 = $78; - $expanded69 = (($expanded70) - 1)|0; - $79 = (($77) + ($expanded69))|0; - $80 = ((0) + 4|0); - $expanded74 = $80; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $81 = $79 & $expanded72; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $arglist_next18 = ((($82)) + 4|0); - HEAP32[$2>>2] = $arglist_next18; - $84 = $83&255; - $85 = $84 << 24 >> 24; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$2>>2]|0; - $92 = $arglist_current20; - $93 = ((0) + 4|0); - $expanded77 = $93; - $expanded76 = (($expanded77) - 1)|0; - $94 = (($92) + ($expanded76))|0; - $95 = ((0) + 4|0); - $expanded81 = $95; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $96 = $94 & $expanded79; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next21 = ((($97)) + 4|0); - HEAP32[$2>>2] = $arglist_next21; - $$mask = $98 & 255; - $99 = $0; - $100 = $99; - HEAP32[$100>>2] = $$mask; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$2>>2]|0; - $103 = $arglist_current23; - $104 = ((0) + 8|0); - $expanded84 = $104; - $expanded83 = (($expanded84) - 1)|0; - $105 = (($103) + ($expanded83))|0; - $106 = ((0) + 8|0); - $expanded88 = $106; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $107 = $105 & $expanded86; - $108 = $107; - $109 = +HEAPF64[$108>>3]; - $arglist_next24 = ((($108)) + 8|0); - HEAP32[$2>>2] = $arglist_next24; - HEAPF64[$0>>3] = $109; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$2>>2]|0; - $110 = $arglist_current26; - $111 = ((0) + 8|0); - $expanded91 = $111; - $expanded90 = (($expanded91) - 1)|0; - $112 = (($110) + ($expanded90))|0; - $113 = ((0) + 8|0); - $expanded95 = $113; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $114 = $112 & $expanded93; - $115 = $114; - $116 = +HEAPF64[$115>>3]; - $arglist_next27 = ((($115)) + 8|0); - HEAP32[$2>>2] = $arglist_next27; - HEAPF64[$0>>3] = $116; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_x($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0); - $5 = ($1|0)==(0); - $6 = $4 & $5; - if ($6) { - $$05$lcssa = $2; - } else { - $$056 = $2;$15 = $1;$8 = $0; - while(1) { - $7 = $8 & 15; - $9 = (16513 + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 | $3; - $13 = $12&255; - $14 = ((($$056)) + -1|0); - HEAP8[$14>>0] = $13; - $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); - $17 = tempRet0; - $18 = ($16|0)==(0); - $19 = ($17|0)==(0); - $20 = $18 & $19; - if ($20) { - $$05$lcssa = $14; - break; - } else { - $$056 = $14;$15 = $17;$8 = $16; - } - } - } - return ($$05$lcssa|0); -} -function _fmt_o($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; - } else { - $$06 = $2;$11 = $1;$7 = $0; - while(1) { - $6 = $7&255; - $8 = $6 & 7; - $9 = $8 | 48; - $10 = ((($$06)) + -1|0); - HEAP8[$10>>0] = $9; - $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); - $13 = tempRet0; - $14 = ($12|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - if ($16) { - $$0$lcssa = $10; - break; - } else { - $$06 = $10;$11 = $13;$7 = $12; - } - } - } - return ($$0$lcssa|0); -} -function _fmt_u($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(0); - $4 = ($0>>>0)>(4294967295); - $5 = ($1|0)==(0); - $6 = $5 & $4; - $7 = $3 | $6; - if ($7) { - $$0914 = $2;$8 = $0;$9 = $1; - while(1) { - $10 = (___uremdi3(($8|0),($9|0),10,0)|0); - $11 = tempRet0; - $12 = $10&255; - $13 = $12 | 48; - $14 = ((($$0914)) + -1|0); - HEAP8[$14>>0] = $13; - $15 = (___udivdi3(($8|0),($9|0),10,0)|0); - $16 = tempRet0; - $17 = ($9>>>0)>(9); - $18 = ($8>>>0)>(4294967295); - $19 = ($9|0)==(9); - $20 = $19 & $18; - $21 = $17 | $20; - if ($21) { - $$0914 = $14;$8 = $15;$9 = $16; - } else { - break; - } - } - $$010$lcssa$off0 = $15;$$09$lcssa = $14; - } else { - $$010$lcssa$off0 = $0;$$09$lcssa = $2; - } - $22 = ($$010$lcssa$off0|0)==(0); - if ($22) { - $$1$lcssa = $$09$lcssa; - } else { - $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; - while(1) { - $23 = (($$012>>>0) % 10)&-1; - $24 = $23 | 48; - $25 = $24&255; - $26 = ((($$111)) + -1|0); - HEAP8[$26>>0] = $25; - $27 = (($$012>>>0) / 10)&-1; - $28 = ($$012>>>0)<(10); - if ($28) { - $$1$lcssa = $26; - break; - } else { - $$012 = $27;$$111 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _strerror($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___pthread_self_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|0); -} -function _memchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1 & 255; - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)!=(0); - $7 = ($2|0)!=(0); - $or$cond53 = $7 & $6; - L1: do { - if ($or$cond53) { - $8 = $1&255; - $$03555 = $0;$$03654 = $2; - while(1) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; - } - $11 = ((($$03555)) + 1|0); - $12 = (($$03654) + -1)|0; - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($12|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$03555 = $11;$$03654 = $12; - } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; - label = 6; - } else { - $$2 = $$035$lcssa;$$3 = 0; - } - } - L8: do { - if ((label|0) == 6) { - $17 = HEAP8[$$035$lcssa65>>0]|0; - $18 = $1&255; - $19 = ($17<<24>>24)==($18<<24>>24); - if ($19) { - $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; - } else { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; - while(1) { - $22 = HEAP32[$$046>>2]|0; - $23 = $22 ^ $20; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - break; - } - $29 = ((($$046)) + 4|0); - $30 = (($$13745) + -4)|0; - $31 = ($30>>>0)>(3); - if ($31) { - $$046 = $29;$$13745 = $30; - } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; - } - } - $$140 = $$046;$$23839 = $$13745; - } else { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; - } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; - } - } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; - } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; - } - } - } - } - } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); -} -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $5 = sp; - $6 = $4 & 73728; - $7 = ($6|0)==(0); - $8 = ($2|0)>($3|0); - $or$cond = $8 & $7; - if ($or$cond) { - $9 = (($2) - ($3))|0; - $10 = ($9>>>0)<(256); - $11 = $10 ? $9 : 256; - _memset(($5|0),($1|0),($11|0))|0; - $12 = ($9>>>0)>(255); - if ($12) { - $13 = (($2) - ($3))|0; - $$011 = $9; - while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; - } else { - break; - } - } - $16 = $13 & 255; - $$0$lcssa = $16; - } else { - $$0$lcssa = $9; - } - _out($0,$5,$$0$lcssa); - } - STACKTOP = sp;return; -} -function _wctomb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = (_wcrtomb($0,$1,0)|0); - $$0 = $3; - } - return ($$0|0); -} -function _fmt_fp($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; - var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 524|0; - $9 = $8; - $10 = sp + 512|0; - HEAP32[$7>>2] = 0; - $11 = ((($10)) + 12|0); - (___DOUBLE_BITS_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16482; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (16483) : (16488); - $$$ = $16 ? $$ : (16485); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (16513 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $85 = $84&255; - $86 = ((($$0523)) + 1|0); - HEAP8[$$0523>>0] = $85; - $87 = (+($80|0)); - $88 = $$2473 - $87; - $89 = $88 * 16.0; - $90 = $86; - $91 = (($90) - ($9))|0; - $92 = ($91|0)==(1); - if ($92) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$3501$lcssa; - $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; - } else { - $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; - } - $$7505 = $$7505$ph; - while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,16529,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,16529,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 16501 : 16505; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18432 : 16509; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _frexpl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_frexp($0,$1)); - return (+$2); -} -function _frexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $5 = tempRet0; - $6 = $4&65535; - $trunc$clear = $6 & 2047; - switch ($trunc$clear<<16>>16) { - case 0: { - $7 = $0 != 0.0; - if ($7) { - $8 = $0 * 1.8446744073709552E+19; - $9 = (+_frexp($8,$1)); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + -64)|0; - $$016 = $9;$storemerge = $11; - } else { - $$016 = $0;$storemerge = 0; - } - HEAP32[$1>>2] = $storemerge; - $$0 = $$016; - break; - } - case 2047: { - $$0 = $0; - break; - } - default: { - $12 = $4 & 2047; - $13 = (($12) + -1022)|0; - HEAP32[$1>>2] = $13; - $14 = $3 & -2146435073; - $15 = $14 | 1071644672; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $16; - } - } - return (+$$0); -} -function _wcrtomb($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; - } else { - $4 = ($1>>>0)<(128); - if ($4) { - $5 = $1&255; - HEAP8[$0>>0] = $5; - $$0 = 1; - break; - } - $6 = (___pthread_self_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___strerror_l($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $$016 = 0; - while(1) { - $3 = (16531 + ($$016)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==($0|0); - if ($6) { - label = 2; - break; - } - $7 = (($$016) + 1)|0; - $8 = ($7|0)==(87); - if ($8) { - $$01214 = 16619;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 16619; - } else { - $$01214 = 16619;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; - while(1) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { - break; - } else { - $$113 = $11; - } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } - } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); -} -function ___lctrans($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); -} -function ___lctrans_impl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = HEAP32[$1>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (___mo_lookup($3,$5,$0)|0); - $$0 = $6; - } - $7 = ($$0|0)!=(0|0); - $8 = $7 ? $$0 : $0; - return ($8|0); -} -function ___mo_lookup($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 1794895138)|0; - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_swapc($6,$4)|0); - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_swapc($9,$4)|0); - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_swapc($12,$4)|0); - $14 = $1 >>> 2; - $15 = ($7>>>0)<($14>>>0); - L1: do { - if ($15) { - $16 = $7 << 2; - $17 = (($1) - ($16))|0; - $18 = ($10>>>0)<($17>>>0); - $19 = ($13>>>0)<($17>>>0); - $or$cond = $18 & $19; - if ($or$cond) { - $20 = $13 | $10; - $21 = $20 & 3; - $22 = ($21|0)==(0); - if ($22) { - $23 = $10 >>> 2; - $24 = $13 >>> 2; - $$090 = 0;$$094 = $7; - while(1) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_swapc($30,$4)|0); - $32 = (($28) + 1)|0; - $33 = (($0) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_swapc($34,$4)|0); - $36 = ($35>>>0)<($1>>>0); - $37 = (($1) - ($35))|0; - $38 = ($31>>>0)<($37>>>0); - $or$cond102 = $36 & $38; - if (!($or$cond102)) { - $$4 = 0; - break L1; - } - $39 = (($35) + ($31))|0; - $40 = (($0) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==(0); - if (!($42)) { - $$4 = 0; - break L1; - } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { - break; - } - $62 = ($$094|0)==(1); - $63 = ($44|0)<(0); - $64 = (($$094) - ($25))|0; - $$195 = $63 ? $25 : $64; - $$191 = $63 ? $$090 : $26; - if ($62) { - $$4 = 0; - break L1; - } else { - $$090 = $$191;$$094 = $$195; - } - } - $46 = (($27) + ($24))|0; - $47 = (($0) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_swapc($48,$4)|0); - $50 = (($46) + 1)|0; - $51 = (($0) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_swapc($52,$4)|0); - $54 = ($53>>>0)<($1>>>0); - $55 = (($1) - ($53))|0; - $56 = ($49>>>0)<($55>>>0); - $or$cond104 = $54 & $56; - if ($or$cond104) { - $57 = (($0) + ($53)|0); - $58 = (($53) + ($49))|0; - $59 = (($0) + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)==(0); - $$ = $61 ? $57 : 0; - $$4 = $$; - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } while(0); - return ($$4|0); -} -function _swapc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); -} -function ___fwritex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $7 = (___towrite($2)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$3>>2]|0; - $12 = $$pre; - label = 5; - } else { - $$1 = 0; - } - } else { - $6 = $4; - $12 = $6; - label = 5; - } - L5: do { - if ((label|0) == 5) { - $9 = ((($2)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($12) - ($10))|0; - $13 = ($11>>>0)<($1>>>0); - $14 = $10; - if ($13) { - $15 = ((($2)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); - $$1 = $17; - break; - } - $18 = ((($2)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)>(-1); - L10: do { - if ($20) { - $$038 = $1; - while(1) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; - } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { - break; - } else { - $$038 = $22; - } - } - $26 = ((($2)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); - $29 = ($28>>>0)<($$038>>>0); - if ($29) { - $$1 = $28; - break L5; - } - $30 = (($0) + ($$038)|0); - $$042 = (($1) - ($$038))|0; - $$pre47 = HEAP32[$9>>2]|0; - $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; - } else { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - } - } while(0); - _memcpy(($31|0),($$141|0),($$143|0))|0; - $32 = HEAP32[$9>>2]|0; - $33 = (($32) + ($$143)|0); - HEAP32[$9>>2] = $33; - $34 = (($$139) + ($$143))|0; - $$1 = $34; - } - } while(0); - return ($$1|0); -} -function ___towrite($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 8; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($0)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 28|0); - HEAP32[$15>>2] = $14; - $16 = ((($0)) + 20|0); - HEAP32[$16>>2] = $14; - $17 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _sn_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - $8 = (($4) - ($7))|0; - $9 = ($8>>>0)>($2>>>0); - $$ = $9 ? $2 : $8; - _memcpy(($6|0),($1|0),($$|0))|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + ($$)|0); - HEAP32[$5>>2] = $11; - return ($2|0); -} -function ___floatscan($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($1|0) { - case 0: { - $$0105$ph = -149;$$0106$ph = 24; - label = 4; - break; - } - case 1: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - case 2: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - default: { - $$0114 = 0.0; - } - } - L4: do { - if ((label|0) == 4) { - $3 = ((($0)) + 4|0); - $4 = ((($0)) + 100|0); - while(1) { - $5 = HEAP32[$3>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = ($5>>>0)<($6>>>0); - if ($7) { - $8 = ((($5)) + 1|0); - HEAP32[$3>>2] = $8; - $9 = HEAP8[$5>>0]|0; - $10 = $9&255; - $12 = $10; - } else { - $11 = (___shgetc($0)|0); - $12 = $11; - } - $13 = (_isspace($12)|0); - $14 = ($13|0)==(0); - if ($14) { - break; - } - } - L13: do { - switch ($12|0) { - case 43: case 45: { - $15 = ($12|0)==(45); - $16 = $15&1; - $17 = $16 << 1; - $18 = (1 - ($17))|0; - $19 = HEAP32[$3>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ($19>>>0)<($20>>>0); - if ($21) { - $22 = ((($19)) + 1|0); - HEAP32[$3>>2] = $22; - $23 = HEAP8[$19>>0]|0; - $24 = $23&255; - $$0 = $24;$$0113 = $18; - break L13; - } else { - $25 = (___shgetc($0)|0); - $$0 = $25;$$0113 = $18; - break L13; - } - break; - } - default: { - $$0 = $12;$$0113 = 1; - } - } - } while(0); - $$0107127 = 0;$$1128 = $$0; - while(1) { - $26 = $$1128 | 32; - $27 = (18423 + ($$0107127)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($26|0)==($29|0); - if (!($30)) { - $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; - break; - } - $31 = ($$0107127>>>0)<(7); - do { - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP32[$4>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$3>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $$2 = $37; - break; - } else { - $38 = (___shgetc($0)|0); - $$2 = $38; - break; - } - } else { - $$2 = $$1128; - } - } while(0); - $39 = (($$0107127) + 1)|0; - $40 = ($39>>>0)<(8); - if ($40) { - $$0107127 = $39;$$1128 = $$2; - } else { - $$0107$lcssa = $39;$$1$lcssa = $$2; - break; - } - } - L29: do { - switch ($$0107$lcssa|0) { - case 8: { - break; - } - case 3: { - label = 23; - break; - } - default: { - $41 = ($$0107$lcssa>>>0)>(3); - $42 = ($2|0)!=(0); - $or$cond5 = $42 & $41; - if ($or$cond5) { - $43 = ($$0107$lcssa|0)==(8); - if ($43) { - break L29; - } else { - label = 23; - break L29; - } - } - $56 = ($$0107$lcssa|0)==(0); - L34: do { - if ($56) { - $$2109125 = 0;$$3126 = $$1$lcssa; - while(1) { - $57 = $$3126 | 32; - $58 = (18432 + ($$2109125)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - $61 = ($57|0)==($60|0); - if (!($61)) { - $$3110 = $$2109125;$$5 = $$3126; - break L34; - } - $62 = ($$2109125>>>0)<(2); - do { - if ($62) { - $63 = HEAP32[$3>>2]|0; - $64 = HEAP32[$4>>2]|0; - $65 = ($63>>>0)<($64>>>0); - if ($65) { - $66 = ((($63)) + 1|0); - HEAP32[$3>>2] = $66; - $67 = HEAP8[$63>>0]|0; - $68 = $67&255; - $$4 = $68; - break; - } else { - $69 = (___shgetc($0)|0); - $$4 = $69; - break; - } - } else { - $$4 = $$3126; - } - } while(0); - $70 = (($$2109125) + 1)|0; - $71 = ($70>>>0)<(3); - if ($71) { - $$2109125 = $70;$$3126 = $$4; - } else { - $$3110 = $70;$$5 = $$4; - break; - } - } - } else { - $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; - } - } while(0); - switch ($$3110|0) { - case 3: { - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = ($72>>>0)<($73>>>0); - if ($74) { - $75 = ((($72)) + 1|0); - HEAP32[$3>>2] = $75; - $76 = HEAP8[$72>>0]|0; - $77 = $76&255; - $80 = $77; - } else { - $78 = (___shgetc($0)|0); - $80 = $78; - } - $79 = ($80|0)==(40); - if ($79) { - $$4111 = 1; - } else { - $81 = HEAP32[$4>>2]|0; - $82 = ($81|0)==(0|0); - if ($82) { - $$0114 = nan; - break L4; - } - $83 = HEAP32[$3>>2]|0; - $84 = ((($83)) + -1|0); - HEAP32[$3>>2] = $84; - $$0114 = nan; - break L4; - } - while(1) { - $85 = HEAP32[$3>>2]|0; - $86 = HEAP32[$4>>2]|0; - $87 = ($85>>>0)<($86>>>0); - if ($87) { - $88 = ((($85)) + 1|0); - HEAP32[$3>>2] = $88; - $89 = HEAP8[$85>>0]|0; - $90 = $89&255; - $93 = $90; - } else { - $91 = (___shgetc($0)|0); - $93 = $91; - } - $92 = (($93) + -48)|0; - $94 = ($92>>>0)<(10); - $95 = (($93) + -65)|0; - $96 = ($95>>>0)<(26); - $or$cond = $94 | $96; - if (!($or$cond)) { - $97 = (($93) + -97)|0; - $98 = ($97>>>0)<(26); - $99 = ($93|0)==(95); - $or$cond7 = $99 | $98; - if (!($or$cond7)) { - break; - } - } - $111 = (($$4111) + 1)|0; - $$4111 = $111; - } - $100 = ($93|0)==(41); - if ($100) { - $$0114 = nan; - break L4; - } - $101 = HEAP32[$4>>2]|0; - $102 = ($101|0)==(0|0); - if (!($102)) { - $103 = HEAP32[$3>>2]|0; - $104 = ((($103)) + -1|0); - HEAP32[$3>>2] = $104; - } - if (!($42)) { - $106 = (___errno_location()|0); - HEAP32[$106>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - $105 = ($$4111|0)==(0); - if ($105) { - $$0114 = nan; - break L4; - } else { - $$in = $$4111; - } - while(1) { - $107 = (($$in) + -1)|0; - if (!($102)) { - $108 = HEAP32[$3>>2]|0; - $109 = ((($108)) + -1|0); - HEAP32[$3>>2] = $109; - } - $110 = ($107|0)==(0); - if ($110) { - $$0114 = nan; - break L4; - } else { - $$in = $107; - } - } - break; - } - case 0: { - $117 = ($$5|0)==(48); - if ($117) { - $118 = HEAP32[$3>>2]|0; - $119 = HEAP32[$4>>2]|0; - $120 = ($118>>>0)<($119>>>0); - if ($120) { - $121 = ((($118)) + 1|0); - HEAP32[$3>>2] = $121; - $122 = HEAP8[$118>>0]|0; - $123 = $122&255; - $126 = $123; - } else { - $124 = (___shgetc($0)|0); - $126 = $124; - } - $125 = $126 | 32; - $127 = ($125|0)==(120); - if ($127) { - $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $128; - break L4; - } - $129 = HEAP32[$4>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$6 = 48; - } else { - $131 = HEAP32[$3>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$3>>2] = $132; - $$6 = 48; - } - } else { - $$6 = $$5; - } - $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $133; - break L4; - break; - } - default: { - $112 = HEAP32[$4>>2]|0; - $113 = ($112|0)==(0|0); - if (!($113)) { - $114 = HEAP32[$3>>2]|0; - $115 = ((($114)) + -1|0); - HEAP32[$3>>2] = $115; - } - $116 = (___errno_location()|0); - HEAP32[$116>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - } - } - } - } while(0); - if ((label|0) == 23) { - $44 = HEAP32[$4>>2]|0; - $45 = ($44|0)==(0|0); - if (!($45)) { - $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + -1|0); - HEAP32[$3>>2] = $47; - } - $48 = ($2|0)!=(0); - $49 = ($$0107$lcssa>>>0)>(3); - $or$cond9 = $48 & $49; - if ($or$cond9) { - $$1108 = $$0107$lcssa; - while(1) { - if (!($45)) { - $50 = HEAP32[$3>>2]|0; - $51 = ((($50)) + -1|0); - HEAP32[$3>>2] = $51; - } - $52 = (($$1108) + -1)|0; - $$old8 = ($52>>>0)>(3); - if ($$old8) { - $$1108 = $52; - } else { - break; - } - } - } - } - $53 = (+($$0113|0)); - $54 = $53 * inf; - $55 = $54; - $$0114 = $55; - } - } while(0); - return (+$$0114); -} -function _hexfloat($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; - var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; - var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; - var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0; - var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; - var $or$cond6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 100|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)<($8>>>0); - if ($9) { - $10 = ((($6)) + 1|0); - HEAP32[$5>>2] = $10; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $$0 = $12;$$0142 = 0; - } else { - $13 = (___shgetc($0)|0); - $$0 = $13;$$0142 = 0; - } - L4: while(1) { - switch ($$0|0) { - case 46: { - label = 8; - break L4; - break; - } - case 48: { - break; - } - default: { - $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - break L4; - } - } - $14 = HEAP32[$5>>2]|0; - $15 = HEAP32[$7>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$5>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $$0 = $19;$$0142 = 1; - continue; - } else { - $20 = (___shgetc($0)|0); - $$0 = $20;$$0142 = 1; - continue; - } - } - if ((label|0) == 8) { - $21 = HEAP32[$5>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$5>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$1$ph = $26; - } else { - $27 = (___shgetc($0)|0); - $$1$ph = $27; - } - $28 = ($$1$ph|0)==(48); - if ($28) { - $36 = 0;$37 = 0; - while(1) { - $29 = HEAP32[$5>>2]|0; - $30 = HEAP32[$7>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$5>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $41 = $34; - } else { - $35 = (___shgetc($0)|0); - $41 = $35; - } - $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); - $39 = tempRet0; - $40 = ($41|0)==(48); - if ($40) { - $36 = $38;$37 = $39; - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; - break; - } - } - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - } - } - while(1) { - $42 = (($$2) + -48)|0; - $43 = ($42>>>0)<(10); - $44 = ($$2|0)==(46); - if (!($43)) { - $45 = $$2 | 32; - $46 = (($45) + -97)|0; - $47 = ($46>>>0)<(6); - $or$cond6 = $44 | $47; - if (!($or$cond6)) { - $$2$lcssa = $$2; - break; - } - } - if ($44) { - $48 = ($$0146|0)==(0); - if ($48) { - $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; - } else { - $$2$lcssa = 46; - break; - } - } else { - $49 = ($$2|0)>(57); - $50 = $$2 | 32; - $51 = (($50) + -87)|0; - $$0133 = $49 ? $51 : $42; - $52 = ($53|0)<(0); - $54 = ($55>>>0)<(8); - $56 = ($53|0)==(0); - $57 = $56 & $54; - $58 = $52 | $57; - do { - if ($58) { - $59 = $$0159 << 4; - $60 = (($$0133) + ($59))|0; - $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; - } else { - $61 = ($53|0)<(0); - $62 = ($55>>>0)<(14); - $63 = ($53|0)==(0); - $64 = $63 & $62; - $65 = $61 | $64; - if ($65) { - $66 = (+($$0133|0)); - $67 = $$0152 * 0.0625; - $68 = $67 * $66; - $69 = $$0155 + $68; - $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; - break; - } else { - $70 = ($$0133|0)==(0); - $71 = ($$0148|0)!=(0); - $or$cond = $71 | $70; - $72 = $$0152 * 0.5; - $73 = $$0155 + $72; - $$0155$ = $or$cond ? $$0155 : $73; - $$0148$ = $or$cond ? $$0148 : 1; - $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; - break; - } - } - } while(0); - $74 = (_i64Add(($55|0),($53|0),1,0)|0); - $75 = tempRet0; - $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; - } - $76 = HEAP32[$5>>2]|0; - $77 = HEAP32[$7>>2]|0; - $78 = ($76>>>0)<($77>>>0); - if ($78) { - $79 = ((($76)) + 1|0); - HEAP32[$5>>2] = $79; - $80 = HEAP8[$76>>0]|0; - $81 = $80&255; - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } else { - $82 = (___shgetc($0)|0); - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } - } - $83 = ($$2144|0)==(0); - do { - if ($83) { - $84 = HEAP32[$7>>2]|0; - $85 = ($84|0)!=(0|0); - if ($85) { - $86 = HEAP32[$5>>2]|0; - $87 = ((($86)) + -1|0); - HEAP32[$5>>2] = $87; - } - $88 = ($4|0)==(0); - if ($88) { - ___shlim($0,0); - } else { - if ($85) { - $89 = HEAP32[$5>>2]|0; - $90 = ((($89)) + -1|0); - HEAP32[$5>>2] = $90; - } - $91 = ($$0146|0)==(0); - $92 = ($84|0)==(0|0); - $or$cond206 = $91 | $92; - if (!($or$cond206)) { - $93 = HEAP32[$5>>2]|0; - $94 = ((($93)) + -1|0); - HEAP32[$5>>2] = $94; - } - } - $95 = (+($3|0)); - $96 = $95 * 0.0; - $$0165 = $96; - } else { - $97 = ($$0146|0)==(0); - $98 = $97 ? $55 : $99; - $100 = $97 ? $53 : $101; - $102 = ($53|0)<(0); - $103 = ($55>>>0)<(8); - $104 = ($53|0)==(0); - $105 = $104 & $103; - $106 = $102 | $105; - if ($106) { - $$3162183 = $$0159;$108 = $55;$109 = $53; - while(1) { - $107 = $$3162183 << 4; - $110 = (_i64Add(($108|0),($109|0),1,0)|0); - $111 = tempRet0; - $112 = ($111|0)<(0); - $113 = ($110>>>0)<(8); - $114 = ($111|0)==(0); - $115 = $114 & $113; - $116 = $112 | $115; - if ($116) { - $$3162183 = $107;$108 = $110;$109 = $111; - } else { - $$3162$lcssa = $107; - break; - } - } - } else { - $$3162$lcssa = $$0159; - } - $117 = $$2$lcssa | 32; - $118 = ($117|0)==(112); - if ($118) { - $119 = (_scanexp($0,$4)|0); - $120 = tempRet0; - $121 = ($119|0)==(0); - $122 = ($120|0)==(-2147483648); - $123 = $121 & $122; - if ($123) { - $124 = ($4|0)==(0); - if ($124) { - ___shlim($0,0); - $$0165 = 0.0; - break; - } - $125 = HEAP32[$7>>2]|0; - $126 = ($125|0)==(0|0); - if ($126) { - $137 = 0;$138 = 0; - } else { - $127 = HEAP32[$5>>2]|0; - $128 = ((($127)) + -1|0); - HEAP32[$5>>2] = $128; - $137 = 0;$138 = 0; - } - } else { - $137 = $119;$138 = $120; - } - } else { - $129 = HEAP32[$7>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $137 = 0;$138 = 0; - } else { - $131 = HEAP32[$5>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$5>>2] = $132; - $137 = 0;$138 = 0; - } - } - $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); - $134 = tempRet0; - $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); - $136 = tempRet0; - $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); - $140 = tempRet0; - $141 = ($$3162$lcssa|0)==(0); - if ($141) { - $142 = (+($3|0)); - $143 = $142 * 0.0; - $$0165 = $143; - break; - } - $144 = (0 - ($2))|0; - $145 = ($144|0)<(0); - $146 = $145 << 31 >> 31; - $147 = ($140|0)>($146|0); - $148 = ($139>>>0)>($144>>>0); - $149 = ($140|0)==($146|0); - $150 = $149 & $148; - $151 = $147 | $150; - if ($151) { - $152 = (___errno_location()|0); - HEAP32[$152>>2] = 34; - $153 = (+($3|0)); - $154 = $153 * 1.7976931348623157E+308; - $155 = $154 * 1.7976931348623157E+308; - $$0165 = $155; - break; - } - $156 = (($2) + -106)|0; - $157 = ($156|0)<(0); - $158 = $157 << 31 >> 31; - $159 = ($140|0)<($158|0); - $160 = ($139>>>0)<($156>>>0); - $161 = ($140|0)==($158|0); - $162 = $161 & $160; - $163 = $159 | $162; - if ($163) { - $165 = (___errno_location()|0); - HEAP32[$165>>2] = 34; - $166 = (+($3|0)); - $167 = $166 * 2.2250738585072014E-308; - $168 = $167 * 2.2250738585072014E-308; - $$0165 = $168; - break; - } - $164 = ($$3162$lcssa|0)>(-1); - if ($164) { - $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; - while(1) { - $169 = !($$3158179 >= 0.5); - $170 = $$4163178 << 1; - $171 = $$3158179 + -1.0; - $not$ = $169 ^ 1; - $172 = $not$&1; - $$5164 = $170 | $172; - $$pn = $169 ? $$3158179 : $171; - $$4 = $$3158179 + $$pn; - $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); - $176 = tempRet0; - $177 = ($$5164|0)>(-1); - if ($177) { - $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; - } else { - $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; - break; - } - } - } else { - $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; - } - $178 = ($1|0)<(0); - $179 = $178 << 31 >> 31; - $180 = ($2|0)<(0); - $181 = $180 << 31 >> 31; - $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); - $183 = tempRet0; - $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); - $187 = tempRet0; - $188 = ($179|0)>($187|0); - $189 = ($1>>>0)>($186>>>0); - $190 = ($179|0)==($187|0); - $191 = $190 & $189; - $192 = $188 | $191; - if ($192) { - $193 = ($186|0)>(0); - if ($193) { - $$0166 = $186; - label = 59; - } else { - $$0166170 = 0;$197 = 84; - label = 61; - } - } else { - $$0166 = $1; - label = 59; - } - if ((label|0) == 59) { - $194 = ($$0166|0)<(53); - $195 = (84 - ($$0166))|0; - if ($194) { - $$0166170 = $$0166;$197 = $195; - label = 61; - } else { - $$pre = (+($3|0)); - $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; - } - } - if ((label|0) == 61) { - $196 = (+($3|0)); - $198 = (+_scalbn(1.0,$197)); - $199 = (+_copysignl($198,$196)); - $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; - } - $200 = ($$0166169|0)<(32); - $201 = $$3158$lcssa != 0.0; - $or$cond4 = $201 & $200; - $202 = $$4163$lcssa & 1; - $203 = ($202|0)==(0); - $or$cond168 = $203 & $or$cond4; - $204 = $or$cond168&1; - $$6 = (($204) + ($$4163$lcssa))|0; - $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; - $205 = (+($$6>>>0)); - $206 = $$pre$phiZ2D * $205; - $207 = $$0151 + $206; - $208 = $$pre$phiZ2D * $$5; - $209 = $208 + $207; - $210 = $209 - $$0151; - $211 = $210 != 0.0; - if (!($211)) { - $212 = (___errno_location()|0); - HEAP32[$212>>2] = 34; - } - $213 = (+_scalbnl($210,$184)); - $$0165 = $213; - } - } while(0); - return (+$$0165); -} -function _decfloat($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; - var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; - var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; - var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; - var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; - var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; - var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); - $6 = sp; - $sum = (($3) + ($2))|0; - $7 = (0 - ($sum))|0; - $8 = ((($0)) + 4|0); - $9 = ((($0)) + 100|0); - $$0329 = $1;$$0396 = 0; - L1: while(1) { - switch ($$0329|0) { - case 46: { - label = 6; - break L1; - break; - } - case 48: { - break; - } - default: { - $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; - break L1; - } - } - $10 = HEAP32[$8>>2]|0; - $11 = HEAP32[$9>>2]|0; - $12 = ($10>>>0)<($11>>>0); - if ($12) { - $13 = ((($10)) + 1|0); - HEAP32[$8>>2] = $13; - $14 = HEAP8[$10>>0]|0; - $15 = $14&255; - $$0329 = $15;$$0396 = 1; - continue; - } else { - $16 = (___shgetc($0)|0); - $$0329 = $16;$$0396 = 1; - continue; - } - } - if ((label|0) == 6) { - $17 = HEAP32[$8>>2]|0; - $18 = HEAP32[$9>>2]|0; - $19 = ($17>>>0)<($18>>>0); - if ($19) { - $20 = ((($17)) + 1|0); - HEAP32[$8>>2] = $20; - $21 = HEAP8[$17>>0]|0; - $22 = $21&255; - $$1330$ph = $22; - } else { - $23 = (___shgetc($0)|0); - $$1330$ph = $23; - } - $24 = ($$1330$ph|0)==(48); - if ($24) { - $25 = 0;$26 = 0; - while(1) { - $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); - $28 = tempRet0; - $29 = HEAP32[$8>>2]|0; - $30 = HEAP32[$9>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$8>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $$1330$be = $34; - } else { - $35 = (___shgetc($0)|0); - $$1330$be = $35; - } - $36 = ($$1330$be|0)==(48); - if ($36) { - $25 = $27;$26 = $28; - } else { - $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; - break; - } - } - } else { - $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; - } - } - HEAP32[$6>>2] = 0; - $37 = (($$2) + -48)|0; - $38 = ($37>>>0)<(10); - $39 = ($$2|0)==(46); - $40 = $39 | $38; - L20: do { - if ($40) { - $41 = ((($6)) + 496|0); - $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; - L22: while(1) { - do { - if ($368) { - $cond = ($$1394511|0)==(0); - if ($cond) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; - } else { - break L22; - } - } else { - $43 = ($$0345512|0)<(125); - $46 = (_i64Add(($44|0),($45|0),1,0)|0); - $47 = tempRet0; - $48 = ($$3514|0)!=(48); - if (!($43)) { - if (!($48)) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $57 = HEAP32[$41>>2]|0; - $58 = $57 | 1; - HEAP32[$41>>2] = $58; - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $$$0401 = $48 ? $46 : $$0401509; - $49 = ($$0341513|0)==(0); - $$pre = (($6) + ($$0345512<<2)|0); - if ($49) { - $$sink = $369; - } else { - $50 = HEAP32[$$pre>>2]|0; - $51 = ($50*10)|0; - $52 = (($$3514) + -48)|0; - $53 = (($52) + ($51))|0; - $$sink = $53; - } - HEAP32[$$pre>>2] = $$sink; - $54 = (($$0341513) + 1)|0; - $55 = ($54|0)==(9); - $56 = $55&1; - $$$0345 = (($56) + ($$0345512))|0; - $$413 = $55 ? 0 : $54; - $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - } - } while(0); - $59 = HEAP32[$8>>2]|0; - $60 = HEAP32[$9>>2]|0; - $61 = ($59>>>0)<($60>>>0); - if ($61) { - $62 = ((($59)) + 1|0); - HEAP32[$8>>2] = $62; - $63 = HEAP8[$59>>0]|0; - $64 = $63&255; - $$3$be = $64; - } else { - $65 = (___shgetc($0)|0); - $$3$be = $65; - } - $66 = (($$3$be) + -48)|0; - $67 = ($66>>>0)<(10); - $68 = ($$3$be|0)==(46); - $69 = $68 | $67; - if ($69) { - $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; - } else { - $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; - label = 29; - break L20; - } - } - $42 = ($$3399510|0)!=(0); - $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; - label = 37; - } else { - $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; - label = 29; - } - } while(0); - do { - if ((label|0) == 29) { - $70 = ($$1394$lcssa|0)==(0); - $71 = $70 ? $73 : $72; - $74 = $70 ? $76 : $75; - $77 = ($$3399$lcssa|0)!=(0); - $78 = $$3$lcssa | 32; - $79 = ($78|0)==(101); - $or$cond415 = $77 & $79; - if (!($or$cond415)) { - $94 = ($$3$lcssa|0)>(-1); - if ($94) { - $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; - label = 37; - break; - } else { - $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; - label = 39; - break; - } - } - $80 = (_scanexp($0,$5)|0); - $81 = tempRet0; - $82 = ($80|0)==(0); - $83 = ($81|0)==(-2147483648); - $84 = $82 & $83; - if ($84) { - $85 = ($5|0)==(0); - if ($85) { - ___shlim($0,0); - $$1 = 0.0; - break; - } - $86 = HEAP32[$9>>2]|0; - $87 = ($86|0)==(0|0); - if ($87) { - $90 = 0;$91 = 0; - } else { - $88 = HEAP32[$8>>2]|0; - $89 = ((($88)) + -1|0); - HEAP32[$8>>2] = $89; - $90 = 0;$91 = 0; - } - } else { - $90 = $80;$91 = $81; - } - $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); - $93 = tempRet0; - $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; - label = 41; - } - } while(0); - if ((label|0) == 37) { - $95 = HEAP32[$9>>2]|0; - $96 = ($95|0)==(0|0); - if ($96) { - $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; - label = 39; - } else { - $97 = HEAP32[$8>>2]|0; - $98 = ((($97)) + -1|0); - HEAP32[$8>>2] = $98; - if ($380) { - $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; - label = 41; - } else { - label = 40; - } - } - } - if ((label|0) == 39) { - if ($383) { - $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; - label = 41; - } else { - label = 40; - } - } - do { - if ((label|0) == 40) { - $99 = (___errno_location()|0); - HEAP32[$99>>2] = 22; - ___shlim($0,0); - $$1 = 0.0; - } - else if ((label|0) == 41) { - $100 = HEAP32[$6>>2]|0; - $101 = ($100|0)==(0); - if ($101) { - $102 = (+($4|0)); - $103 = $102 * 0.0; - $$1 = $103; - break; - } - $104 = ($105|0)==($106|0); - $107 = ($108|0)==($109|0); - $110 = $104 & $107; - $111 = ($109|0)<(0); - $112 = ($106>>>0)<(10); - $113 = ($109|0)==(0); - $114 = $113 & $112; - $115 = $111 | $114; - $or$cond = $115 & $110; - if ($or$cond) { - $116 = ($2|0)>(30); - $117 = $100 >>> $2; - $118 = ($117|0)==(0); - $or$cond417 = $116 | $118; - if ($or$cond417) { - $119 = (+($4|0)); - $120 = (+($100>>>0)); - $121 = $119 * $120; - $$1 = $121; - break; - } - } - $122 = (($3|0) / -2)&-1; - $123 = ($122|0)<(0); - $124 = $123 << 31 >> 31; - $125 = ($108|0)>($124|0); - $126 = ($105>>>0)>($122>>>0); - $127 = ($108|0)==($124|0); - $128 = $127 & $126; - $129 = $125 | $128; - if ($129) { - $130 = (___errno_location()|0); - HEAP32[$130>>2] = 34; - $131 = (+($4|0)); - $132 = $131 * 1.7976931348623157E+308; - $133 = $132 * 1.7976931348623157E+308; - $$1 = $133; - break; - } - $134 = (($3) + -106)|0; - $135 = ($134|0)<(0); - $136 = $135 << 31 >> 31; - $137 = ($108|0)<($136|0); - $138 = ($105>>>0)<($134>>>0); - $139 = ($108|0)==($136|0); - $140 = $139 & $138; - $141 = $137 | $140; - if ($141) { - $142 = (___errno_location()|0); - HEAP32[$142>>2] = 34; - $143 = (+($4|0)); - $144 = $143 * 2.2250738585072014E-308; - $145 = $144 * 2.2250738585072014E-308; - $$1 = $145; - break; - } - $146 = ($$0341463|0)==(0); - if ($146) { - $$3348 = $$0345467; - } else { - $147 = ($$0341463|0)<(9); - if ($147) { - $148 = (($6) + ($$0345467<<2)|0); - $$promoted = HEAP32[$148>>2]|0; - $$3344503 = $$0341463;$150 = $$promoted; - while(1) { - $149 = ($150*10)|0; - $151 = (($$3344503) + 1)|0; - $exitcond551 = ($151|0)==(9); - if ($exitcond551) { - break; - } else { - $$3344503 = $151;$150 = $149; - } - } - HEAP32[$148>>2] = $149; - } - $152 = (($$0345467) + 1)|0; - $$3348 = $152; - } - $153 = ($$0401473|0)<(9); - if ($153) { - $154 = ($$0401473|0)<=($105|0); - $155 = ($105|0)<(18); - $or$cond5 = $154 & $155; - if ($or$cond5) { - $156 = ($105|0)==(9); - $157 = HEAP32[$6>>2]|0; - if ($156) { - $158 = (+($4|0)); - $159 = (+($157>>>0)); - $160 = $158 * $159; - $$1 = $160; - break; - } - $161 = ($105|0)<(9); - if ($161) { - $162 = (+($4|0)); - $163 = (+($157>>>0)); - $164 = $162 * $163; - $165 = (8 - ($105))|0; - $166 = (4384 + ($165<<2)|0); - $167 = HEAP32[$166>>2]|0; - $168 = (+($167|0)); - $169 = $164 / $168; - $$1 = $169; - break; - } - $$neg442 = Math_imul($105, -3)|0; - $$neg443 = (($2) + 27)|0; - $170 = (($$neg443) + ($$neg442))|0; - $171 = ($170|0)>(30); - $172 = $157 >>> $170; - $173 = ($172|0)==(0); - $or$cond419 = $171 | $173; - if ($or$cond419) { - $174 = (($105) + -10)|0; - $175 = (4384 + ($174<<2)|0); - $176 = (+($4|0)); - $177 = (+($157>>>0)); - $178 = $176 * $177; - $179 = HEAP32[$175>>2]|0; - $180 = (+($179|0)); - $181 = $178 * $180; - $$1 = $181; - break; - } - } - } - $182 = (($105|0) % 9)&-1; - $183 = ($182|0)==(0); - if ($183) { - $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; - } else { - $184 = ($105|0)>(-1); - $185 = (($182) + 9)|0; - $186 = $184 ? $182 : $185; - $187 = (8 - ($186))|0; - $188 = (4384 + ($187<<2)|0); - $189 = HEAP32[$188>>2]|0; - $190 = ($$3348|0)==(0); - if ($190) { - $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; - } else { - $191 = (1000000000 / ($189|0))&-1; - $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; - while(1) { - $192 = (($6) + ($$4349495<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193>>>0) % ($189>>>0))&-1; - $195 = (($193>>>0) / ($189>>>0))&-1; - $196 = (($195) + ($$0340496))|0; - HEAP32[$192>>2] = $196; - $197 = Math_imul($191, $194)|0; - $198 = ($$4349495|0)==($$0350494|0); - $199 = ($196|0)==(0); - $or$cond420 = $198 & $199; - $200 = (($$0350494) + 1)|0; - $201 = $200 & 127; - $202 = (($$0385493) + -9)|0; - $$$0385 = $or$cond420 ? $202 : $$0385493; - $$$0350 = $or$cond420 ? $201 : $$0350494; - $203 = (($$4349495) + 1)|0; - $204 = ($203|0)==($$3348|0); - if ($204) { - break; - } else { - $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; - } - } - $205 = ($197|0)==(0); - if ($205) { - $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; - } else { - $206 = (($6) + ($$3348<<2)|0); - $207 = (($$3348) + 1)|0; - HEAP32[$206>>2] = $197; - $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; - } - } - $208 = (9 - ($186))|0; - $209 = (($208) + ($$0385$lcssa553))|0; - $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; - } - L101: while(1) { - $210 = ($$2387$ph447|0)<(18); - $211 = ($$2387$ph447|0)==(18); - $212 = (($6) + ($$2352$ph449<<2)|0); - $$0380 = $$0380$ph;$$1373 = $$1373$ph448; - while(1) { - if (!($210)) { - if (!($211)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; - break L101; - } - $213 = HEAP32[$212>>2]|0; - $214 = ($213>>>0)<(9007199); - if (!($214)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; - break L101; - } - } - $215 = (($$1373) + 127)|0; - $$0334 = 0;$$2374 = $$1373;$$5$in = $215; - while(1) { - $$5 = $$5$in & 127; - $216 = (($6) + ($$5<<2)|0); - $217 = HEAP32[$216>>2]|0; - $218 = (_bitshift64Shl(($217|0),0,29)|0); - $219 = tempRet0; - $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); - $221 = tempRet0; - $222 = ($221>>>0)>(0); - $223 = ($220>>>0)>(1000000000); - $224 = ($221|0)==(0); - $225 = $224 & $223; - $226 = $222 | $225; - if ($226) { - $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); - $228 = tempRet0; - $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); - $230 = tempRet0; - $$1335 = $227;$$sink421$off0 = $229; - } else { - $$1335 = 0;$$sink421$off0 = $220; - } - HEAP32[$216>>2] = $$sink421$off0; - $231 = (($$2374) + 127)|0; - $232 = $231 & 127; - $233 = ($$5|0)!=($232|0); - $234 = ($$5|0)==($$2352$ph449|0); - $or$cond422 = $233 | $234; - $or$cond422$not = $or$cond422 ^ 1; - $235 = ($$sink421$off0|0)==(0); - $or$cond423 = $235 & $or$cond422$not; - $$3375 = $or$cond423 ? $$5 : $$2374; - $236 = (($$5) + -1)|0; - if ($234) { - break; - } else { - $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; - } - } - $237 = (($$0380) + -29)|0; - $238 = ($$1335|0)==(0); - if ($238) { - $$0380 = $237;$$1373 = $$3375; - } else { - break; - } - } - $239 = (($$2387$ph447) + 9)|0; - $240 = (($$2352$ph449) + 127)|0; - $241 = $240 & 127; - $242 = ($241|0)==($$3375|0); - $243 = (($$3375) + 127)|0; - $244 = $243 & 127; - $245 = (($$3375) + 126)|0; - $246 = $245 & 127; - $247 = (($6) + ($246<<2)|0); - if ($242) { - $248 = (($6) + ($244<<2)|0); - $249 = HEAP32[$248>>2]|0; - $250 = HEAP32[$247>>2]|0; - $251 = $250 | $249; - HEAP32[$247>>2] = $251; - $$4376 = $244; - } else { - $$4376 = $$3375; - } - $252 = (($6) + ($241<<2)|0); - HEAP32[$252>>2] = $$1335; - $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; - } - L119: while(1) { - $289 = (($$6378$ph) + 1)|0; - $287 = $289 & 127; - $290 = (($$6378$ph) + 127)|0; - $291 = $290 & 127; - $292 = (($6) + ($291<<2)|0); - $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; - while(1) { - $265 = ($$4389$ph|0)==(18); - $293 = ($$4389$ph|0)>(27); - $$425 = $293 ? 9 : 1; - $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; - while(1) { - $$0336486 = 0; - while(1) { - $253 = (($$0336486) + ($$4354))|0; - $254 = $253 & 127; - $255 = ($254|0)==($$6378$ph|0); - if ($255) { - $$1337 = 2; - label = 88; - break; - } - $256 = (($6) + ($254<<2)|0); - $257 = HEAP32[$256>>2]|0; - $258 = (4416 + ($$0336486<<2)|0); - $259 = HEAP32[$258>>2]|0; - $260 = ($257>>>0)<($259>>>0); - if ($260) { - $$1337 = 2; - label = 88; - break; - } - $261 = ($257>>>0)>($259>>>0); - if ($261) { - break; - } - $262 = (($$0336486) + 1)|0; - $263 = ($262|0)<(2); - if ($263) { - $$0336486 = $262; - } else { - $$1337 = $262; - label = 88; - break; - } - } - if ((label|0) == 88) { - label = 0; - $264 = ($$1337|0)==(2); - $or$cond11 = $265 & $264; - if ($or$cond11) { - $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; - break L119; - } - } - $266 = (($$425) + ($$1381))|0; - $267 = ($$4354|0)==($$6378$ph|0); - if ($267) { - $$1381 = $266;$$4354 = $$6378$ph; - } else { - break; - } - } - $268 = 1 << $$425; - $269 = (($268) + -1)|0; - $270 = 1000000000 >>> $$425; - $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; - while(1) { - $271 = (($6) + ($$6489<<2)|0); - $272 = HEAP32[$271>>2]|0; - $273 = $272 & $269; - $274 = $272 >>> $$425; - $275 = (($274) + ($$0332490))|0; - HEAP32[$271>>2] = $275; - $276 = Math_imul($273, $270)|0; - $277 = ($$6489|0)==($$5355488|0); - $278 = ($275|0)==(0); - $or$cond426 = $277 & $278; - $279 = (($$5355488) + 1)|0; - $280 = $279 & 127; - $281 = (($$5390487) + -9)|0; - $$$5390 = $or$cond426 ? $281 : $$5390487; - $$$5355 = $or$cond426 ? $280 : $$5355488; - $282 = (($$6489) + 1)|0; - $283 = $282 & 127; - $284 = ($283|0)==($$6378$ph|0); - if ($284) { - break; - } else { - $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; - } - } - $285 = ($276|0)==(0); - if ($285) { - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - continue; - } - $286 = ($287|0)==($$$5355|0); - if (!($286)) { - break; - } - $294 = HEAP32[$292>>2]|0; - $295 = $294 | 1; - HEAP32[$292>>2] = $295; - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - } - $288 = (($6) + ($$6378$ph<<2)|0); - HEAP32[$288>>2] = $276; - $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; - } - while(1) { - $296 = (($$4485) + ($$4354))|0; - $297 = $296 & 127; - $298 = ($297|0)==($$9483|0); - $299 = (($$9483) + 1)|0; - $300 = $299 & 127; - if ($298) { - $301 = (($300) + -1)|0; - $302 = (($6) + ($301<<2)|0); - HEAP32[$302>>2] = 0; - $$10 = $300; - } else { - $$10 = $$9483; - } - $303 = $$0365484 * 1.0E+9; - $304 = (($6) + ($297<<2)|0); - $305 = HEAP32[$304>>2]|0; - $306 = (+($305>>>0)); - $307 = $303 + $306; - $308 = (($$4485) + 1)|0; - $exitcond = ($308|0)==(2); - if ($exitcond) { - break; - } else { - $$0365484 = $307;$$4485 = $308;$$9483 = $$10; - } - } - $309 = (+($4|0)); - $310 = $309 * $307; - $311 = (($$1381) + 53)|0; - $312 = (($311) - ($3))|0; - $313 = ($312|0)<($2|0); - $314 = ($312|0)>(0); - $$ = $314 ? $312 : 0; - $$0333 = $313 ? $$ : $2; - $315 = ($$0333|0)<(53); - if ($315) { - $316 = (105 - ($$0333))|0; - $317 = (+_scalbn(1.0,$316)); - $318 = (+_copysignl($317,$310)); - $319 = (53 - ($$0333))|0; - $320 = (+_scalbn(1.0,$319)); - $321 = (+_fmodl($310,$320)); - $322 = $310 - $321; - $323 = $318 + $322; - $$0360 = $318;$$0361 = $321;$$1366 = $323; - } else { - $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; - } - $324 = (($$4354) + 2)|0; - $325 = $324 & 127; - $326 = ($325|0)==($$10|0); - if ($326) { - $$3364 = $$0361; - } else { - $327 = (($6) + ($325<<2)|0); - $328 = HEAP32[$327>>2]|0; - $329 = ($328>>>0)<(500000000); - do { - if ($329) { - $330 = ($328|0)==(0); - if ($330) { - $331 = (($$4354) + 3)|0; - $332 = $331 & 127; - $333 = ($332|0)==($$10|0); - if ($333) { - $$1362 = $$0361; - break; - } - } - $334 = $309 * 0.25; - $335 = $334 + $$0361; - $$1362 = $335; - } else { - $336 = ($328|0)==(500000000); - if (!($336)) { - $337 = $309 * 0.75; - $338 = $337 + $$0361; - $$1362 = $338; - break; - } - $339 = (($$4354) + 3)|0; - $340 = $339 & 127; - $341 = ($340|0)==($$10|0); - if ($341) { - $342 = $309 * 0.5; - $343 = $342 + $$0361; - $$1362 = $343; - break; - } else { - $344 = $309 * 0.75; - $345 = $344 + $$0361; - $$1362 = $345; - break; - } - } - } while(0); - $346 = (53 - ($$0333))|0; - $347 = ($346|0)>(1); - if ($347) { - $348 = (+_fmodl($$1362,1.0)); - $349 = $348 != 0.0; - if ($349) { - $$3364 = $$1362; - } else { - $350 = $$1362 + 1.0; - $$3364 = $350; - } - } else { - $$3364 = $$1362; - } - } - $351 = $$1366 + $$3364; - $352 = $351 - $$0360; - $353 = $311 & 2147483647; - $354 = (-2 - ($sum))|0; - $355 = ($353|0)>($354|0); - do { - if ($355) { - $356 = (+Math_abs((+$352))); - $357 = !($356 >= 9007199254740992.0); - $358 = $352 * 0.5; - $not$ = $357 ^ 1; - $359 = $not$&1; - $$3383 = (($359) + ($$1381))|0; - $$2367 = $357 ? $352 : $358; - $360 = (($$3383) + 50)|0; - $361 = ($360|0)>($7|0); - if (!($361)) { - $362 = ($$0333|0)!=($312|0); - $narrow = $362 | $357; - $$2371$v = $313 & $narrow; - $363 = $$3364 != 0.0; - $or$cond14 = $363 & $$2371$v; - if (!($or$cond14)) { - $$3368 = $$2367;$$4384 = $$3383; - break; - } - } - $364 = (___errno_location()|0); - HEAP32[$364>>2] = 34; - $$3368 = $$2367;$$4384 = $$3383; - } else { - $$3368 = $352;$$4384 = $$1381; - } - } while(0); - $365 = (+_scalbnl($$3368,$$4384)); - $$1 = $365; - } - } while(0); - STACKTOP = sp;return (+$$1); -} -function _scanexp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($0)) + 100|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - $7 = ((($3)) + 1|0); - HEAP32[$2>>2] = $7; - $8 = HEAP8[$3>>0]|0; - $9 = $8&255; - $11 = $9; - } else { - $10 = (___shgetc($0)|0); - $11 = $10; - } - switch ($11|0) { - case 43: case 45: { - $12 = ($11|0)==(45); - $13 = $12&1; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$4>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$2>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $22 = $19; - } else { - $20 = (___shgetc($0)|0); - $22 = $20; - } - $21 = (($22) + -48)|0; - $23 = ($21>>>0)>(9); - $24 = ($1|0)!=(0); - $or$cond3 = $24 & $23; - if ($or$cond3) { - $25 = HEAP32[$4>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - $$0 = $13;$$049 = $22; - } else { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + -1|0); - HEAP32[$2>>2] = $28; - $$0 = $13;$$049 = $22; - } - } else { - $$0 = $13;$$049 = $22; - } - break; - } - default: { - $$0 = 0;$$049 = $11; - } - } - $29 = (($$049) + -48)|0; - $30 = ($29>>>0)>(9); - if ($30) { - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)==(0|0); - if ($32) { - $100 = -2147483648;$101 = 0; - } else { - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + -1|0); - HEAP32[$2>>2] = $34; - $100 = -2147483648;$101 = 0; - } - } else { - $$04861 = 0;$$160 = $$049; - while(1) { - $35 = ($$04861*10)|0; - $36 = (($$160) + -48)|0; - $37 = (($36) + ($35))|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$4>>2]|0; - $40 = ($38>>>0)<($39>>>0); - if ($40) { - $41 = ((($38)) + 1|0); - HEAP32[$2>>2] = $41; - $42 = HEAP8[$38>>0]|0; - $43 = $42&255; - $$1$be = $43; - } else { - $44 = (___shgetc($0)|0); - $$1$be = $44; - } - $45 = (($$1$be) + -48)|0; - $46 = ($45>>>0)<(10); - $47 = ($37|0)<(214748364); - $48 = $46 & $47; - if ($48) { - $$04861 = $37;$$160 = $$1$be; - } else { - break; - } - } - $49 = ($37|0)<(0); - $50 = $49 << 31 >> 31; - $51 = (($$1$be) + -48)|0; - $52 = ($51>>>0)<(10); - if ($52) { - $$254 = $$1$be;$56 = $37;$57 = $50; - while(1) { - $58 = (___muldi3(($56|0),($57|0),10,0)|0); - $59 = tempRet0; - $60 = ($$254|0)<(0); - $61 = $60 << 31 >> 31; - $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); - $63 = tempRet0; - $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); - $65 = tempRet0; - $66 = HEAP32[$2>>2]|0; - $67 = HEAP32[$4>>2]|0; - $68 = ($66>>>0)<($67>>>0); - if ($68) { - $69 = ((($66)) + 1|0); - HEAP32[$2>>2] = $69; - $70 = HEAP8[$66>>0]|0; - $71 = $70&255; - $$2$be = $71; - } else { - $72 = (___shgetc($0)|0); - $$2$be = $72; - } - $73 = (($$2$be) + -48)|0; - $74 = ($73>>>0)<(10); - $75 = ($65|0)<(21474836); - $76 = ($64>>>0)<(2061584302); - $77 = ($65|0)==(21474836); - $78 = $77 & $76; - $79 = $75 | $78; - $80 = $74 & $79; - if ($80) { - $$254 = $$2$be;$56 = $64;$57 = $65; - } else { - $$2$lcssa = $$2$be;$94 = $64;$95 = $65; - break; - } - } - } else { - $$2$lcssa = $$1$be;$94 = $37;$95 = $50; - } - $53 = (($$2$lcssa) + -48)|0; - $54 = ($53>>>0)<(10); - $55 = HEAP32[$4>>2]|0; - if ($54) { - $83 = $55; - while(1) { - $81 = HEAP32[$2>>2]|0; - $82 = ($81>>>0)<($83>>>0); - if ($82) { - $84 = ((($81)) + 1|0); - HEAP32[$2>>2] = $84; - $85 = HEAP8[$81>>0]|0; - $86 = $85&255; - $$3$be = $86;$102 = $83; - } else { - $87 = (___shgetc($0)|0); - $$pre = HEAP32[$4>>2]|0; - $$3$be = $87;$102 = $$pre; - } - $88 = (($$3$be) + -48)|0; - $89 = ($88>>>0)<(10); - if ($89) { - $83 = $102; - } else { - $$lcssa = $102; - break; - } - } - } else { - $$lcssa = $55; - } - $90 = ($$lcssa|0)==(0|0); - if (!($90)) { - $91 = HEAP32[$2>>2]|0; - $92 = ((($91)) + -1|0); - HEAP32[$2>>2] = $92; - } - $93 = ($$0|0)!=(0); - $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); - $97 = tempRet0; - $98 = $93 ? $96 : $94; - $99 = $93 ? $97 : $95; - $100 = $99;$101 = $98; - } - tempRet0 = ($100); - return ($101|0); -} -function _scalbn($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; - var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)>(1023); - if ($2) { - $3 = $0 * 8.9884656743115795E+307; - $4 = (($1) + -1023)|0; - $5 = ($4|0)>(1023); - $6 = $3 * 8.9884656743115795E+307; - $7 = (($1) + -2046)|0; - $8 = ($7|0)<(1023); - $$ = $8 ? $7 : 1023; - $$$ = $5 ? $$ : $4; - $$21 = $5 ? $6 : $3; - $$0 = $$21;$$020 = $$$; - } else { - $9 = ($1|0)<(-1022); - if ($9) { - $10 = $0 * 2.2250738585072014E-308; - $11 = (($1) + 1022)|0; - $12 = ($11|0)<(-1022); - $13 = $10 * 2.2250738585072014E-308; - $14 = (($1) + 2044)|0; - $15 = ($14|0)>(-1022); - $$1 = $15 ? $14 : -1022; - $$1$ = $12 ? $$1 : $11; - $$22 = $12 ? $13 : $10; - $$0 = $$22;$$020 = $$1$; - } else { - $$0 = $0;$$020 = $1; - } - } - $16 = (($$020) + 1023)|0; - $17 = (_bitshift64Shl(($16|0),0,52)|0); - $18 = tempRet0; - HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; - $20 = $$0 * $19; - return (+$20); -} -function _copysignl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_copysign($0,$1)); - return (+$2); -} -function _fmodl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_fmod($0,$1)); - return (+$2); -} -function _scalbnl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function _fmod($0,$1) { - $0 = +$0; - $1 = +$1; - var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $7 = tempRet0; - $8 = $6 & 2047; - $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); - $10 = tempRet0; - $11 = $9 & 2047; - $12 = $3 & -2147483648; - $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); - $14 = tempRet0; - $15 = ($13|0)==(0); - $16 = ($14|0)==(0); - $17 = $15 & $16; - L1: do { - if ($17) { - label = 3; - } else { - $18 = (___DOUBLE_BITS_272($1)|0); - $19 = tempRet0; - $20 = $19 & 2147483647; - $21 = ($20>>>0)>(2146435072); - $22 = ($18>>>0)>(0); - $23 = ($20|0)==(2146435072); - $24 = $23 & $22; - $25 = $21 | $24; - $26 = ($8|0)==(2047); - $or$cond = $26 | $25; - if ($or$cond) { - label = 3; - } else { - $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); - $30 = tempRet0; - $31 = ($30>>>0)>($14>>>0); - $32 = ($29>>>0)>($13>>>0); - $33 = ($30|0)==($14|0); - $34 = $33 & $32; - $35 = $31 | $34; - if (!($35)) { - $36 = ($29|0)==($13|0); - $37 = ($30|0)==($14|0); - $38 = $36 & $37; - $39 = $0 * 0.0; - $$ = $38 ? $39 : $0; - return (+$$); - } - $40 = ($8|0)==(0); - if ($40) { - $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); - $42 = tempRet0; - $43 = ($42|0)>(-1); - $44 = ($41>>>0)>(4294967295); - $45 = ($42|0)==(-1); - $46 = $45 & $44; - $47 = $43 | $46; - if ($47) { - $$073100 = 0;$49 = $41;$50 = $42; - while(1) { - $48 = (($$073100) + -1)|0; - $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); - $52 = tempRet0; - $53 = ($52|0)>(-1); - $54 = ($51>>>0)>(4294967295); - $55 = ($52|0)==(-1); - $56 = $55 & $54; - $57 = $53 | $56; - if ($57) { - $$073100 = $48;$49 = $51;$50 = $52; - } else { - $$073$lcssa = $48; - break; - } - } - } else { - $$073$lcssa = 0; - } - $58 = (1 - ($$073$lcssa))|0; - $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); - $60 = tempRet0; - $$174 = $$073$lcssa;$87 = $59;$88 = $60; - } else { - $61 = $3 & 1048575; - $62 = $61 | 1048576; - $$174 = $8;$87 = $2;$88 = $62; - } - $63 = ($11|0)==(0); - if ($63) { - $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); - $65 = tempRet0; - $66 = ($65|0)>(-1); - $67 = ($64>>>0)>(4294967295); - $68 = ($65|0)==(-1); - $69 = $68 & $67; - $70 = $66 | $69; - if ($70) { - $$07194 = 0;$72 = $64;$73 = $65; - while(1) { - $71 = (($$07194) + -1)|0; - $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); - $75 = tempRet0; - $76 = ($75|0)>(-1); - $77 = ($74>>>0)>(4294967295); - $78 = ($75|0)==(-1); - $79 = $78 & $77; - $80 = $76 | $79; - if ($80) { - $$07194 = $71;$72 = $74;$73 = $75; - } else { - $$071$lcssa = $71; - break; - } - } - } else { - $$071$lcssa = 0; - } - $81 = (1 - ($$071$lcssa))|0; - $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); - $83 = tempRet0; - $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; - } else { - $84 = $5 & 1048575; - $85 = $84 | 1048576; - $$172$ph = $11;$89 = $4;$90 = $85; - } - $86 = ($$174|0)>($$172$ph|0); - $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); - $92 = tempRet0; - $93 = ($92|0)>(-1); - $94 = ($91>>>0)>(4294967295); - $95 = ($92|0)==(-1); - $96 = $95 & $94; - $97 = $93 | $96; - L23: do { - if ($86) { - $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; - while(1) { - if ($156) { - $98 = ($99|0)==(0); - $100 = ($101|0)==(0); - $102 = $98 & $100; - if ($102) { - break; - } else { - $104 = $99;$105 = $101; - } - } else { - $104 = $157;$105 = $158; - } - $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); - $107 = tempRet0; - $108 = (($$27586) + -1)|0; - $109 = ($108|0)>($$172$ph|0); - $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); - $111 = tempRet0; - $112 = ($111|0)>(-1); - $113 = ($110>>>0)>(4294967295); - $114 = ($111|0)==(-1); - $115 = $114 & $113; - $116 = $112 | $115; - if ($109) { - $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; - } else { - $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; - break L23; - } - } - $103 = $0 * 0.0; - $$070 = $103; - break L1; - } else { - $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; - } - } while(0); - if ($$lcssa) { - $117 = ($118|0)==(0); - $119 = ($120|0)==(0); - $121 = $117 & $119; - if ($121) { - $129 = $0 * 0.0; - $$070 = $129; - break; - } else { - $123 = $120;$125 = $118; - } - } else { - $123 = $160;$125 = $159; - } - $122 = ($123>>>0)<(1048576); - $124 = ($125>>>0)<(0); - $126 = ($123|0)==(1048576); - $127 = $126 & $124; - $128 = $122 | $127; - if ($128) { - $$37683 = $$275$lcssa;$130 = $125;$131 = $123; - while(1) { - $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); - $133 = tempRet0; - $134 = (($$37683) + -1)|0; - $135 = ($133>>>0)<(1048576); - $136 = ($132>>>0)<(0); - $137 = ($133|0)==(1048576); - $138 = $137 & $136; - $139 = $135 | $138; - if ($139) { - $$37683 = $134;$130 = $132;$131 = $133; - } else { - $$376$lcssa = $134;$141 = $132;$142 = $133; - break; - } - } - } else { - $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; - } - $140 = ($$376$lcssa|0)>(0); - if ($140) { - $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); - $144 = tempRet0; - $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); - $146 = tempRet0; - $147 = $143 | $145; - $148 = $144 | $146; - $153 = $148;$155 = $147; - } else { - $149 = (1 - ($$376$lcssa))|0; - $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); - $151 = tempRet0; - $153 = $151;$155 = $150; - } - $152 = $153 | $12; - HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; - $$070 = $154; - } - } - } while(0); - if ((label|0) == 3) { - $27 = $0 * $1; - $28 = $27 / $27; - $$070 = $28; - } - return (+$$070); -} -function ___DOUBLE_BITS_272($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _strlen($0) { - $0 = $0|0; - var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1 & 3; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $$015$lcssa = $0; - label = 4; - } else { - $$01519 = $0;$23 = $1; - while(1) { - $4 = HEAP8[$$01519>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - $$sink = $23; - break L1; - } - $6 = ((($$01519)) + 1|0); - $7 = $6; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if ($9) { - $$015$lcssa = $6; - label = 4; - break; - } else { - $$01519 = $6;$23 = $7; - } - } - } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; - while(1) { - $10 = HEAP32[$$0>>2]|0; - $11 = (($10) + -16843009)|0; - $12 = $10 & -2139062144; - $13 = $12 ^ -2139062144; - $14 = $13 & $11; - $15 = ($14|0)==(0); - $16 = ((($$0)) + 4|0); - if ($15) { - $$0 = $16; - } else { - break; - } - } - $17 = $10&255; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$1$lcssa = $$0; - } else { - $$pn = $$0; - while(1) { - $19 = ((($$pn)) + 1|0); - $$pre = HEAP8[$19>>0]|0; - $20 = ($$pre<<24>>24)==(0); - if ($20) { - $$1$lcssa = $19; - break; - } else { - $$pn = $19; - } - } - } - $21 = $$1$lcssa; - $$sink = $21; - } - $22 = (($$sink) - ($1))|0; - return ($22|0); -} -function _strchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _mbrtowc($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $4 = sp; - $5 = ($3|0)==(0|0); - $$ = $5 ? 22436 : $3; - $6 = HEAP32[$$>>2]|0; - $7 = ($1|0)==(0|0); - L1: do { - if ($7) { - $8 = ($6|0)==(0); - if ($8) { - $$0 = 0; - } else { - label = 17; - } - } else { - $9 = ($0|0)==(0|0); - $$47 = $9 ? $4 : $0; - $10 = ($2|0)==(0); - if ($10) { - $$0 = -2; - } else { - $11 = ($6|0)==(0); - if ($11) { - $12 = HEAP8[$1>>0]|0; - $13 = ($12<<24>>24)>(-1); - if ($13) { - $14 = $12&255; - HEAP32[$$47>>2] = $14; - $15 = ($12<<24>>24)!=(0); - $16 = $15&1; - $$0 = $16; - break; - } - $17 = (___pthread_self_439()|0); - $18 = ((($17)) + 188|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$19>>2]|0; - $not$ = ($20|0)==(0|0); - $21 = HEAP8[$1>>0]|0; - if ($not$) { - $22 = $21 << 24 >> 24; - $23 = $22 & 57343; - HEAP32[$$47>>2] = $23; - $$0 = 1; - break; - } - $24 = $21&255; - $25 = (($24) + -194)|0; - $26 = ($25>>>0)>(50); - if ($26) { - label = 17; - break; - } - $27 = ((($1)) + 1|0); - $28 = (3680 + ($25<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($2) + -1)|0; - $31 = ($30|0)==(0); - if ($31) { - $$2 = $29; - } else { - $$03952 = $27;$$04051 = $29;$$04350 = $30; - label = 11; - } - } else { - $$03952 = $1;$$04051 = $6;$$04350 = $2; - label = 11; - } - L14: do { - if ((label|0) == 11) { - $32 = HEAP8[$$03952>>0]|0; - $33 = $32&255; - $34 = $33 >>> 3; - $35 = (($34) + -16)|0; - $36 = $$04051 >> 26; - $37 = (($34) + ($36))|0; - $38 = $35 | $37; - $39 = ($38>>>0)>(7); - if ($39) { - label = 17; - break L1; - } else { - $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; - } - while(1) { - $40 = $$141 << 6; - $41 = ((($$1)) + 1|0); - $42 = $43&255; - $44 = (($42) + -128)|0; - $45 = $44 | $40; - $46 = (($$144) + -1)|0; - $47 = ($45|0)<(0); - if (!($47)) { - break; - } - $49 = ($46|0)==(0); - if ($49) { - $$2 = $45; - break L14; - } - $50 = HEAP8[$41>>0]|0; - $51 = $50 & -64; - $52 = ($51<<24>>24)==(-128); - if ($52) { - $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; - } else { - label = 17; - break L1; - } - } - HEAP32[$$>>2] = 0; - HEAP32[$$47>>2] = $45; - $48 = (($2) - ($46))|0; - $$0 = $48; - break L1; - } - } while(0); - HEAP32[$$>>2] = $$2; - $$0 = -2; - } - } - } while(0); - if ((label|0) == 17) { - HEAP32[$$>>2] = 0; - $53 = (___errno_location()|0); - HEAP32[$53>>2] = 84; - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___pthread_self_439() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function _ldexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function ___unlist_locked_file($0) { - $0 = $0|0; - var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 68|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = ((($0)) + 116|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - $$pre = ((($0)) + 112|0); - if (!($6)) { - $7 = HEAP32[$$pre>>2]|0; - $8 = ((($5)) + 112|0); - HEAP32[$8>>2] = $7; - } - $9 = HEAP32[$$pre>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $12 = (___pthread_self_607()|0); - $13 = ((($12)) + 232|0); - $$sink = $13; - } else { - $11 = ((($9)) + 116|0); - $$sink = $11; - } - HEAP32[$$sink>>2] = $5; - } - return; -} -function ___pthread_self_607() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _fopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer8 = sp + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $memchr = (_memchr(18436,$3,4)|0); - $4 = ($memchr|0)==(0|0); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $$0 = 0; - } else { - $6 = (___fmodeflags($1)|0); - $7 = $0; - $8 = $6 | 32768; - HEAP32[$vararg_buffer>>2] = $7; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $9 = (___syscall5(5,($vararg_buffer|0))|0); - $10 = (___syscall_ret($9)|0); - $11 = ($10|0)<(0); - if ($11) { - $$0 = 0; - } else { - $12 = $6 & 524288; - $13 = ($12|0)==(0); - if (!($13)) { - HEAP32[$vararg_buffer3>>2] = $10; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 2; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 1; - (___syscall221(221,($vararg_buffer3|0))|0); - } - $14 = (___fdopen($10,$1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$vararg_buffer8>>2] = $10; - (___syscall6(6,($vararg_buffer8|0))|0); - $$0 = 0; - } else { - $$0 = $14; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($0) { - $0 = $0|0; - var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_strchr($0,43)|0); - $2 = ($1|0)==(0|0); - $3 = HEAP8[$0>>0]|0; - $not$ = ($3<<24>>24)!=(114); - $$ = $not$&1; - $$0 = $2 ? $$ : 2; - $4 = (_strchr($0,120)|0); - $5 = ($4|0)==(0|0); - $6 = $$0 | 128; - $$0$ = $5 ? $$0 : $6; - $7 = (_strchr($0,101)|0); - $8 = ($7|0)==(0|0); - $9 = $$0$ | 524288; - $$2 = $8 ? $$0$ : $9; - $10 = ($3<<24>>24)==(114); - $11 = $$2 | 64; - $$2$ = $10 ? $$2 : $11; - $12 = ($3<<24>>24)==(119); - $13 = $$2$ | 512; - $$4 = $12 ? $13 : $$2$; - $14 = ($3<<24>>24)==(97); - $15 = $$4 | 1024; - $$$4 = $14 ? $15 : $$4; - return ($$$4|0); -} -function ___fdopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 56|0; - $3 = HEAP8[$1>>0]|0; - $4 = $3 << 24 >> 24; - $memchr = (_memchr(18436,$4,4)|0); - $5 = ($memchr|0)==(0|0); - if ($5) { - $6 = (___errno_location()|0); - HEAP32[$6>>2] = 22; - $$0 = 0; - } else { - $7 = (_malloc(1156)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - } else { - dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $9 = (_strchr($1,43)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = ($3<<24>>24)==(114); - $12 = $11 ? 8 : 4; - HEAP32[$7>>2] = $12; - } - $13 = (_strchr($1,101)|0); - $14 = ($13|0)==(0|0); - if ($14) { - $16 = $3; - } else { - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$1>>0]|0; - $16 = $$pre; - } - $15 = ($16<<24>>24)==(97); - if ($15) { - HEAP32[$vararg_buffer3>>2] = $0; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $17 = (___syscall221(221,($vararg_buffer3|0))|0); - $18 = $17 & 1024; - $19 = ($18|0)==(0); - if ($19) { - $20 = $17 | 1024; - HEAP32[$vararg_buffer7>>2] = $0; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $20; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $21 = HEAP32[$7>>2]|0; - $22 = $21 | 128; - HEAP32[$7>>2] = $22; - $29 = $22; - } else { - $$pre31 = HEAP32[$7>>2]|0; - $29 = $$pre31; - } - $23 = ((($7)) + 60|0); - HEAP32[$23>>2] = $0; - $24 = ((($7)) + 132|0); - $25 = ((($7)) + 44|0); - HEAP32[$25>>2] = $24; - $26 = ((($7)) + 48|0); - HEAP32[$26>>2] = 1024; - $27 = ((($7)) + 75|0); - HEAP8[$27>>0] = -1; - $28 = $29 & 8; - $30 = ($28|0)==(0); - if ($30) { - $31 = $2; - HEAP32[$vararg_buffer12>>2] = $0; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21523; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $31; - $32 = (___syscall54(54,($vararg_buffer12|0))|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP8[$27>>0] = 10; - } - } - $34 = ((($7)) + 32|0); - HEAP32[$34>>2] = 11; - $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 10; - $36 = ((($7)) + 40|0); - HEAP32[$36>>2] = 3; - $37 = ((($7)) + 12|0); - HEAP32[$37>>2] = 2; - $38 = HEAP32[(22376)>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = ((($7)) + 76|0); - HEAP32[$40>>2] = -1; - } - $41 = (___ofl_add($7)|0); - $$0 = $7; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___ofl_add($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___ofl_lock()|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 56|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($4)) + 52|0); - HEAP32[$6>>2] = $0; - } - HEAP32[$1>>2] = $0; - ___ofl_unlock(); - return ($0|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((22440|0)); - return (22448|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((22440|0)); - return; -} -function _fclose($0) { - $0 = $0|0; - var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $29 = $4; - } else { - $29 = 0; - } - ___unlist_locked_file($0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 1; - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (___ofl_lock()|0); - $9 = ((($0)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $10; - $$pre = ((($0)) + 56|0); - if (!($11)) { - $13 = HEAP32[$$pre>>2]|0; - $14 = ((($10)) + 56|0); - HEAP32[$14>>2] = $13; - } - $15 = HEAP32[$$pre>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = ((($15)) + 52|0); - HEAP32[$17>>2] = $12; - } - $18 = HEAP32[$8>>2]|0; - $19 = ($18|0)==($0|0); - if ($19) { - HEAP32[$8>>2] = $15; - } - ___ofl_unlock(); - } - $20 = (_fflush($0)|0); - $21 = ((($0)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); - $24 = $23 | $20; - $25 = ((($0)) + 92|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - _free($26); - } - if ($7) { - $28 = ($29|0)==(0); - if (!($28)) { - ___unlockfile($0); - } - } else { - _free($0); - } - return ($24|0); -} -function _fflush($0) { - $0 = $0|0; - var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[1064]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[1064]|0; - $11 = (_fflush($10)|0); - $29 = $11; - } - $12 = (___ofl_lock()|0); - $$02325 = HEAP32[$12>>2]|0; - $13 = ($$02325|0)==(0|0); - if ($13) { - $$024$lcssa = $29; - } else { - $$02327 = $$02325;$$02426 = $29; - while(1) { - $14 = ((($$02327)) + 76|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(-1); - if ($16) { - $17 = (___lockfile($$02327)|0); - $26 = $17; - } else { - $26 = 0; - } - $18 = ((($$02327)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($$02327)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($19>>>0)>($21>>>0); - if ($22) { - $23 = (___fflush_unlocked($$02327)|0); - $24 = $23 | $$02426; - $$1 = $24; - } else { - $$1 = $$02426; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___unlockfile($$02327); - } - $27 = ((($$02327)) + 56|0); - $$023 = HEAP32[$27>>2]|0; - $28 = ($$023|0)==(0|0); - if ($28) { - $$024$lcssa = $$1; - break; - } else { - $$02327 = $$023;$$02426 = $$1; - } - } - } - ___ofl_unlock(); - $$0 = $$024$lcssa; - } else { - $2 = ((($0)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if (!($4)) { - $5 = (___fflush_unlocked($0)|0); - $$0 = $5; - break; - } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)>($4>>>0); - if ($5) { - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - $15 = $11; - $16 = $13; - $17 = (($15) - ($16))|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); - } - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$3>>2] = 0; - HEAP32[$1>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _fgets($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; - var $sext$mask = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $6 = (___lockfile($2)|0); - $17 = $6; - } else { - $17 = 0; - } - $7 = (($1) + -1)|0; - $8 = ($1|0)<(2); - $9 = ($7|0)!=(0); - if ($8) { - $10 = ((($2)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ($17|0)==(0); - if (!($16)) { - ___unlockfile($2); - } - if ($9) { - $$0 = 0; - } else { - HEAP8[$0>>0] = 0; - $$0 = $0; - } - } else { - L11: do { - if ($9) { - $18 = ((($2)) + 4|0); - $19 = ((($2)) + 8|0); - $$063 = $7;$$064 = $0; - while(1) { - $20 = HEAP32[$18>>2]|0; - $21 = HEAP32[$19>>2]|0; - $22 = $20; - $23 = (($21) - ($22))|0; - $24 = (_memchr($20,10,$23)|0); - $25 = ($24|0)==(0|0); - $26 = $24; - $27 = (1 - ($22))|0; - $28 = (($27) + ($26))|0; - $29 = $25 ? $23 : $28; - $30 = ($29>>>0)<($$063>>>0); - $31 = $30 ? $29 : $$063; - _memcpy(($$064|0),($20|0),($31|0))|0; - $32 = HEAP32[$18>>2]|0; - $33 = (($32) + ($31)|0); - HEAP32[$18>>2] = $33; - $34 = (($$064) + ($31)|0); - $35 = (($$063) - ($31))|0; - $36 = ($35|0)!=(0); - $or$cond = $25 & $36; - if (!($or$cond)) { - $$1 = $34; - label = 17; - break L11; - } - $37 = HEAP32[$19>>2]|0; - $38 = ($33>>>0)<($37>>>0); - if ($38) { - $39 = ((($33)) + 1|0); - HEAP32[$18>>2] = $39; - $40 = HEAP8[$33>>0]|0; - $41 = $40&255; - $50 = $41; - } else { - $42 = (___uflow($2)|0); - $43 = ($42|0)<(0); - if ($43) { - break; - } else { - $50 = $42; - } - } - $48 = (($35) + -1)|0; - $49 = $50&255; - $51 = ((($34)) + 1|0); - HEAP8[$34>>0] = $49; - $sext$mask = $50 & 255; - $52 = ($sext$mask|0)!=(10); - $53 = ($48|0)!=(0); - $or$cond3 = $53 & $52; - if ($or$cond3) { - $$063 = $48;$$064 = $51; - } else { - $$1 = $51; - label = 17; - break L11; - } - } - $44 = ($34|0)==($0|0); - if ($44) { - $$06266 = 0; - } else { - $45 = HEAP32[$2>>2]|0; - $46 = $45 & 16; - $47 = ($46|0)==(0); - if ($47) { - $$06266 = 0; - } else { - $$1 = $34; - label = 17; - } - } - } else { - $$1 = $0; - label = 17; - } - } while(0); - if ((label|0) == 17) { - $54 = ($0|0)==(0|0); - if ($54) { - $$06266 = 0; - } else { - HEAP8[$$1>>0] = 0; - $$06266 = $0; - } - } - $55 = ($17|0)==(0); - if ($55) { - $$0 = $$06266; - } else { - ___unlockfile($2); - $$0 = $$06266; - } - } - return ($$0|0); -} -function _feof($0) { - $0 = $0|0; - var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 >>> 4; - $$lobit = $8 & 1; - if ($phitmp) { - $$lobit9 = $$lobit; - } else { - ___unlockfile($0); - $$lobit9 = $$lobit; - } - } else { - $4 = HEAP32[$0>>2]|0; - $5 = $4 >>> 4; - $$lobit8 = $5 & 1; - $$lobit9 = $$lobit8; - } - return ($$lobit9|0); -} -function _fscanf($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - HEAP32[$2>>2] = $varargs; - $3 = (_vfscanf($0,$1,$2)|0); - STACKTOP = sp;return ($3|0); -} -function _vfscanf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; - var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; - var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; - var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; - var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; - var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; - var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; - var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; - var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; - var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); - $3 = sp + 8|0; - $4 = sp + 17|0; - $5 = sp; - $6 = sp + 16|0; - $7 = ((($0)) + 76|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(-1); - if ($9) { - $10 = (___lockfile($0)|0); - $306 = $10; - } else { - $306 = 0; - } - $11 = HEAP8[$1>>0]|0; - $12 = ($11<<24>>24)==(0); - L4: do { - if ($12) { - $$3291 = 0; - } else { - $13 = ((($0)) + 4|0); - $14 = ((($0)) + 100|0); - $15 = ((($0)) + 108|0); - $16 = ((($0)) + 8|0); - $17 = ((($4)) + 10|0); - $18 = ((($4)) + 33|0); - $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); - $19 = ((($4)) + 46|0); - $20 = ((($4)) + 94|0); - $21 = ((($4)) + 1|0); - $22 = ((($4)) + 1|0); - $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; - L6: while(1) { - $23 = $24&255; - $25 = (_isspace($23)|0); - $26 = ($25|0)==(0); - L8: do { - if ($26) { - $53 = ($24<<24>>24)==(37); - L10: do { - if ($53) { - $54 = ((($$0273429)) + 1|0); - $55 = HEAP8[$54>>0]|0; - L12: do { - switch ($55<<24>>24) { - case 37: { - break L10; - break; - } - case 42: { - $76 = ((($$0273429)) + 2|0); - $$0293 = 0;$$2275 = $76; - break; - } - default: { - $77 = $55&255; - $isdigittmp = (($77) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $78 = ((($$0273429)) + 2|0); - $79 = HEAP8[$78>>0]|0; - $80 = ($79<<24>>24)==(36); - if ($80) { - $81 = (_arg_n($2,$isdigittmp)|0); - $82 = ((($$0273429)) + 3|0); - $$0293 = $81;$$2275 = $82; - break L12; - } - } - $arglist_current = HEAP32[$2>>2]|0; - $83 = $arglist_current; - $84 = ((0) + 4|0); - $expanded1 = $84; - $expanded = (($expanded1) - 1)|0; - $85 = (($83) + ($expanded))|0; - $86 = ((0) + 4|0); - $expanded5 = $86; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $87 = $85 & $expanded3; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $arglist_next = ((($88)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0293 = $89;$$2275 = $54; - } - } - } while(0); - $90 = HEAP8[$$2275>>0]|0; - $91 = $90&255; - $isdigittmp315414 = (($91) + -48)|0; - $isdigit316415 = ($isdigittmp315414>>>0)<(10); - if ($isdigit316415) { - $$0266417 = 0;$$3416 = $$2275;$95 = $91; - while(1) { - $92 = ($$0266417*10)|0; - $93 = (($92) + -48)|0; - $94 = (($93) + ($95))|0; - $96 = ((($$3416)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = $97&255; - $isdigittmp315 = (($98) + -48)|0; - $isdigit316 = ($isdigittmp315>>>0)<(10); - if ($isdigit316) { - $$0266417 = $94;$$3416 = $96;$95 = $98; - } else { - $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; - break; - } - } - } else { - $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; - } - $99 = ($$lcssa355<<24>>24)==(109); - $100 = ($$0293|0)!=(0|0); - $101 = ((($$3$lcssa)) + 1|0); - $$$0305 = $99 ? 0 : $$0305423; - $$327 = $99 ? 0 : $102; - $$$3 = $99 ? $101 : $$3$lcssa; - $narrow = $100 & $99; - $103 = ((($$$3)) + 1|0); - $104 = HEAP8[$$$3>>0]|0; - switch ($104<<24>>24) { - case 104: { - $105 = HEAP8[$103>>0]|0; - $106 = ($105<<24>>24)==(104); - $107 = ((($$$3)) + 2|0); - $$319 = $106 ? $107 : $103; - $$320 = $106 ? -2 : -1; - $$0268 = $$320;$$5 = $$319; - break; - } - case 108: { - $108 = HEAP8[$103>>0]|0; - $109 = ($108<<24>>24)==(108); - $110 = ((($$$3)) + 2|0); - $$321 = $109 ? $110 : $103; - $$322 = $109 ? 3 : 1; - $$0268 = $$322;$$5 = $$321; - break; - } - case 106: { - $$0268 = 3;$$5 = $103; - break; - } - case 116: case 122: { - $$0268 = 1;$$5 = $103; - break; - } - case 76: { - $$0268 = 2;$$5 = $103; - 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: { - $$0268 = 0;$$5 = $$$3; - break; - } - default: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - } - $111 = HEAP8[$$5>>0]|0; - $112 = $111&255; - $113 = $112 & 47; - $114 = ($113|0)==(3); - $115 = $112 | 32; - $$ = $114 ? $115 : $112; - $$$0268 = $114 ? 1 : $$0268; - $trunc = $$&255; - switch ($trunc<<24>>24) { - case 99: { - $116 = ($$0266$lcssa|0)>(1); - $$$0266 = $116 ? $$0266$lcssa : 1; - $$1267 = $$$0266;$$1284 = $$0283428; - break; - } - case 91: { - $$1267 = $$0266$lcssa;$$1284 = $$0283428; - break; - } - case 110: { - $117 = ($$0283428|0)<(0); - $118 = $117 << 31 >> 31; - _store_int($$0293,$$$0268,$$0283428,$118); - $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; - break L8; - break; - } - default: { - ___shlim($0,0); - while(1) { - $119 = HEAP32[$13>>2]|0; - $120 = HEAP32[$14>>2]|0; - $121 = ($119>>>0)<($120>>>0); - if ($121) { - $122 = ((($119)) + 1|0); - HEAP32[$13>>2] = $122; - $123 = HEAP8[$119>>0]|0; - $124 = $123&255; - $126 = $124; - } else { - $125 = (___shgetc($0)|0); - $126 = $125; - } - $127 = (_isspace($126)|0); - $128 = ($127|0)==(0); - if ($128) { - break; - } - } - $129 = HEAP32[$14>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$pre507 = HEAP32[$13>>2]|0; - $138 = $$pre507; - } else { - $131 = HEAP32[$13>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$13>>2] = $132; - $133 = $132; - $138 = $133; - } - $134 = HEAP32[$15>>2]|0; - $135 = HEAP32[$16>>2]|0; - $136 = (($134) + ($$0283428))|0; - $137 = (($136) + ($138))|0; - $139 = (($137) - ($135))|0; - $$1267 = $$0266$lcssa;$$1284 = $139; - } - } - ___shlim($0,$$1267); - $140 = HEAP32[$13>>2]|0; - $141 = HEAP32[$14>>2]|0; - $142 = ($140>>>0)<($141>>>0); - if ($142) { - $143 = ((($140)) + 1|0); - HEAP32[$13>>2] = $143; - $147 = $141; - } else { - $144 = (___shgetc($0)|0); - $145 = ($144|0)<(0); - if ($145) { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - $$pre509 = HEAP32[$14>>2]|0; - $147 = $$pre509; - } - $146 = ($147|0)==(0|0); - if (!($146)) { - $148 = HEAP32[$13>>2]|0; - $149 = ((($148)) + -1|0); - HEAP32[$13>>2] = $149; - } - L55: do { - switch ($trunc<<24>>24) { - case 91: case 99: case 115: { - $150 = ($$|0)==(99); - $151 = $$ | 16; - $152 = ($151|0)==(115); - L57: do { - if ($152) { - $153 = ($$|0)==(115); - _memset(($21|0),-1,256)|0; - HEAP8[$4>>0] = 0; - if ($153) { - HEAP8[$18>>0] = 0; - ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; - $$9 = $$5; - } else { - $$9 = $$5; - } - } else { - $154 = ((($$5)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = ($155<<24>>24)==(94); - $157 = ((($$5)) + 2|0); - $$0292 = $156&1; - $$6 = $156 ? $157 : $154; - $158 = $156&1; - _memset(($22|0),($158|0),256)|0; - HEAP8[$4>>0] = 0; - $159 = HEAP8[$$6>>0]|0; - switch ($159<<24>>24) { - case 45: { - $$sink443 = $19; - label = 64; - break; - } - case 93: { - $$sink443 = $20; - label = 64; - break; - } - default: { - $$pre514 = $$0292 ^ 1; - $$pre515 = $$pre514&255; - $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; - } - } - if ((label|0) == 64) { - label = 0; - $160 = ((($$6)) + 1|0); - $161 = $$0292 ^ 1; - $162 = $161&255; - HEAP8[$$sink443>>0] = $162; - $$7$ph = $160;$$pre$phi516Z2D = $162; - } - $$7 = $$7$ph; - while(1) { - $163 = HEAP8[$$7>>0]|0; - L69: do { - switch ($163<<24>>24) { - case 0: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case 93: { - $$9 = $$7; - break L57; - break; - } - case 45: { - $164 = ((($$7)) + 1|0); - $165 = HEAP8[$164>>0]|0; - switch ($165<<24>>24) { - case 93: case 0: { - $$8 = $$7;$176 = 45; - break L69; - break; - } - default: { - } - } - $166 = ((($$7)) + -1|0); - $167 = HEAP8[$166>>0]|0; - $168 = ($167&255)<($165&255); - if ($168) { - $169 = $167&255; - $$0286420 = $169; - while(1) { - $170 = (($$0286420) + 1)|0; - $171 = (($4) + ($170)|0); - HEAP8[$171>>0] = $$pre$phi516Z2D; - $172 = HEAP8[$164>>0]|0; - $173 = $172&255; - $174 = ($170|0)<($173|0); - if ($174) { - $$0286420 = $170; - } else { - $$8 = $164;$176 = $172; - break; - } - } - } else { - $$8 = $164;$176 = $165; - } - break; - } - default: { - $$8 = $$7;$176 = $163; - } - } - } while(0); - $175 = $176&255; - $177 = (($175) + 1)|0; - $178 = (($4) + ($177)|0); - HEAP8[$178>>0] = $$pre$phi516Z2D; - $179 = ((($$8)) + 1|0); - $$7 = $179; - } - } - } while(0); - $180 = (($$1267) + 1)|0; - $181 = $150 ? $180 : 31; - $182 = ($$$0268|0)==(1); - L77: do { - if ($182) { - if ($narrow) { - $183 = $181 << 2; - $184 = (_malloc($183)|0); - $185 = ($184|0)==(0|0); - if ($185) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $311 = $184; - } - } else { - $311 = $$0293; - } - HEAP32[$3>>2] = 0; - HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; - $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; - L82: while(1) { - $186 = ($$ph|0)==(0|0); - $$0278$ph336 = $$0278$ph; - while(1) { - L86: while(1) { - $187 = HEAP32[$13>>2]|0; - $188 = HEAP32[$14>>2]|0; - $189 = ($187>>>0)<($188>>>0); - if ($189) { - $190 = ((($187)) + 1|0); - HEAP32[$13>>2] = $190; - $191 = HEAP8[$187>>0]|0; - $192 = $191&255; - $195 = $192; - } else { - $193 = (___shgetc($0)|0); - $195 = $193; - } - $194 = (($195) + 1)|0; - $196 = (($4) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = ($197<<24>>24)==(0); - if ($198) { - break L82; - } - $199 = $195&255; - HEAP8[$6>>0] = $199; - $200 = (_mbrtowc($5,$6,1,$3)|0); - switch ($200|0) { - case -1: { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case -2: { - break; - } - default: { - break L86; - } - } - } - if ($186) { - $$1279 = $$0278$ph336; - } else { - $201 = (($$ph) + ($$0278$ph336<<2)|0); - $202 = (($$0278$ph336) + 1)|0; - $203 = HEAP32[$5>>2]|0; - HEAP32[$201>>2] = $203; - $$1279 = $202; - } - $204 = ($$1279|0)==($$0276$ph|0); - $or$cond = $narrow & $204; - if ($or$cond) { - break; - } else { - $$0278$ph336 = $$1279; - } - } - $factor331 = $$0276$ph << 1; - $205 = $factor331 | 1; - $206 = $205 << 2; - $207 = (_realloc($$ph,$206)|0); - $208 = ($207|0)==(0|0); - if ($208) { - $$7312 = 0;$309 = $$ph;$narrow469 = 1; - label = 137; - break L6; - } else { - $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; - } - } - $209 = (_mbsinit($3)|0); - $210 = ($209|0)==(0); - if ($210) { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - } else { - $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; - } - } else { - if ($narrow) { - $211 = (_malloc($181)|0); - $212 = ($211|0)==(0|0); - if ($212) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; - } - while(1) { - $$2280 = $$2280$ph; - while(1) { - $213 = HEAP32[$13>>2]|0; - $214 = HEAP32[$14>>2]|0; - $215 = ($213>>>0)<($214>>>0); - if ($215) { - $216 = ((($213)) + 1|0); - HEAP32[$13>>2] = $216; - $217 = HEAP8[$213>>0]|0; - $218 = $217&255; - $221 = $218; - } else { - $219 = (___shgetc($0)|0); - $221 = $219; - } - $220 = (($221) + 1)|0; - $222 = (($4) + ($220)|0); - $223 = HEAP8[$222>>0]|0; - $224 = ($223<<24>>24)==(0); - if ($224) { - $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; - break L77; - } - $225 = $221&255; - $226 = (($$2280) + 1)|0; - $227 = (($$2307$ph) + ($$2280)|0); - HEAP8[$227>>0] = $225; - $228 = ($226|0)==($$1277$ph|0); - if ($228) { - break; - } else { - $$2280 = $226; - } - } - $factor = $$1277$ph << 1; - $229 = $factor | 1; - $230 = (_realloc($$2307$ph,$229)|0); - $231 = ($230|0)==(0|0); - if ($231) { - $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; - } - } - } - $232 = ($$0293|0)==(0|0); - if ($232) { - $250 = $147; - while(1) { - $248 = HEAP32[$13>>2]|0; - $249 = ($248>>>0)<($250>>>0); - if ($249) { - $251 = ((($248)) + 1|0); - HEAP32[$13>>2] = $251; - $252 = HEAP8[$248>>0]|0; - $253 = $252&255; - $256 = $253; - } else { - $254 = (___shgetc($0)|0); - $256 = $254; - } - $255 = (($256) + 1)|0; - $257 = (($4) + ($255)|0); - $258 = HEAP8[$257>>0]|0; - $259 = ($258<<24>>24)==(0); - if ($259) { - $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; - break L77; - } - $$pre512 = HEAP32[$14>>2]|0; - $250 = $$pre512; - } - } else { - $$3281 = 0;$235 = $147; - while(1) { - $233 = HEAP32[$13>>2]|0; - $234 = ($233>>>0)<($235>>>0); - if ($234) { - $236 = ((($233)) + 1|0); - HEAP32[$13>>2] = $236; - $237 = HEAP8[$233>>0]|0; - $238 = $237&255; - $241 = $238; - } else { - $239 = (___shgetc($0)|0); - $241 = $239; - } - $240 = (($241) + 1)|0; - $242 = (($4) + ($240)|0); - $243 = HEAP8[$242>>0]|0; - $244 = ($243<<24>>24)==(0); - if ($244) { - $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; - break L77; - } - $245 = $241&255; - $246 = (($$3281) + 1)|0; - $247 = (($$0293) + ($$3281)|0); - HEAP8[$247>>0] = $245; - $$pre511 = HEAP32[$14>>2]|0; - $$3281 = $246;$235 = $$pre511; - } - } - } - } while(0); - $260 = HEAP32[$14>>2]|0; - $261 = ($260|0)==(0|0); - if ($261) { - $$pre513 = HEAP32[$13>>2]|0; - $268 = $$pre513; - } else { - $262 = HEAP32[$13>>2]|0; - $263 = ((($262)) + -1|0); - HEAP32[$13>>2] = $263; - $264 = $263; - $268 = $264; - } - $265 = HEAP32[$15>>2]|0; - $266 = HEAP32[$16>>2]|0; - $267 = (($268) - ($266))|0; - $269 = (($267) + ($265))|0; - $270 = ($269|0)==(0); - if ($270) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - $$not = $150 ^ 1; - $271 = ($269|0)==($$1267|0); - $or$cond318 = $271 | $$not; - if (!($or$cond318)) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - do { - if ($narrow) { - if ($182) { - HEAP32[$$0293>>2] = $$5299; - break; - } else { - HEAP32[$$0293>>2] = $$4309; - break; - } - } - } while(0); - if ($150) { - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } else { - $272 = ($$5299|0)==(0|0); - if (!($272)) { - $273 = (($$5299) + ($$4282<<2)|0); - HEAP32[$273>>2] = 0; - } - $274 = ($$4309|0)==(0|0); - if ($274) { - $$10 = $$9;$$5310 = 0;$310 = $312; - break L55; - } - $275 = (($$4309) + ($$4282)|0); - HEAP8[$275>>0] = 0; - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } - break; - } - case 120: case 88: case 112: { - $$0272 = 16; - label = 125; - break; - } - case 111: { - $$0272 = 8; - label = 125; - break; - } - case 117: case 100: { - $$0272 = 10; - label = 125; - break; - } - case 105: { - $$0272 = 0; - label = 125; - break; - } - case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { - $285 = (+___floatscan($0,$$$0268,0)); - $286 = HEAP32[$15>>2]|0; - $287 = HEAP32[$13>>2]|0; - $288 = HEAP32[$16>>2]|0; - $289 = (($288) - ($287))|0; - $290 = ($286|0)==($289|0); - if ($290) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $291 = ($$0293|0)==(0|0); - if ($291) { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } else { - switch ($$$0268|0) { - case 0: { - $292 = $285; - HEAPF32[$$0293>>2] = $292; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 1: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 2: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - } - } - } - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } - } - } while(0); - do { - if ((label|0) == 125) { - label = 0; - $276 = (___intscan($0,$$0272,0,-1,-1)|0); - $277 = tempRet0; - $278 = HEAP32[$15>>2]|0; - $279 = HEAP32[$13>>2]|0; - $280 = HEAP32[$16>>2]|0; - $281 = (($280) - ($279))|0; - $282 = ($278|0)==($281|0); - if ($282) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $283 = ($$|0)==(112); - $or$cond3 = $100 & $283; - if ($or$cond3) { - $284 = $276; - HEAP32[$$0293>>2] = $284; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } else { - _store_int($$0293,$$$0268,$276,$277); - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } - } - } while(0); - $293 = HEAP32[$15>>2]|0; - $294 = HEAP32[$13>>2]|0; - $295 = HEAP32[$16>>2]|0; - $296 = (($293) + ($$1284))|0; - $297 = (($296) + ($294))|0; - $298 = (($297) - ($295))|0; - $299 = $100&1; - $$0288$ = (($299) + ($$0288425))|0; - $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; - break L8; - } - } while(0); - $56 = $53&1; - $57 = (($$0273429) + ($56)|0); - ___shlim($0,0); - $58 = HEAP32[$13>>2]|0; - $59 = HEAP32[$14>>2]|0; - $60 = ($58>>>0)<($59>>>0); - if ($60) { - $61 = ((($58)) + 1|0); - HEAP32[$13>>2] = $61; - $62 = HEAP8[$58>>0]|0; - $63 = $62&255; - $68 = $63; - } else { - $64 = (___shgetc($0)|0); - $68 = $64; - } - $65 = HEAP8[$57>>0]|0; - $66 = $65&255; - $67 = ($68|0)==($66|0); - if (!($67)) { - label = 22; - break L6; - } - $75 = (($$0283428) + 1)|0; - $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; - } else { - $$1274 = $$0273429; - while(1) { - $27 = ((($$1274)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = (_isspace($29)|0); - $31 = ($30|0)==(0); - if ($31) { - break; - } else { - $$1274 = $27; - } - } - ___shlim($0,0); - while(1) { - $32 = HEAP32[$13>>2]|0; - $33 = HEAP32[$14>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$13>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $39 = $37; - } else { - $38 = (___shgetc($0)|0); - $39 = $38; - } - $40 = (_isspace($39)|0); - $41 = ($40|0)==(0); - if ($41) { - break; - } - } - $42 = HEAP32[$14>>2]|0; - $43 = ($42|0)==(0|0); - if ($43) { - $$pre = HEAP32[$13>>2]|0; - $51 = $$pre; - } else { - $44 = HEAP32[$13>>2]|0; - $45 = ((($44)) + -1|0); - HEAP32[$13>>2] = $45; - $46 = $45; - $51 = $46; - } - $47 = HEAP32[$15>>2]|0; - $48 = HEAP32[$16>>2]|0; - $49 = (($47) + ($$0283428))|0; - $50 = (($49) + ($51))|0; - $52 = (($50) - ($48))|0; - $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; - } - } while(0); - $300 = ((($$11)) + 1|0); - $301 = HEAP8[$300>>0]|0; - $302 = ($301<<24>>24)==(0); - if ($302) { - $$3291 = $$1289; - break L4; - } else { - $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; - } - } - if ((label|0) == 22) { - $69 = HEAP32[$14>>2]|0; - $70 = ($69|0)==(0|0); - if (!($70)) { - $71 = HEAP32[$13>>2]|0; - $72 = ((($71)) + -1|0); - HEAP32[$13>>2] = $72; - } - $73 = ($68|0)>(-1); - $74 = ($$0288425|0)!=(0); - $or$cond5 = $74 | $73; - if ($or$cond5) { - $$3291 = $$0288425; - break; - } else { - $$1271 = 0;$$8313 = $$0305423;$308 = $102; - label = 138; - } - } - else if ((label|0) == 137) { - $$328$le441 = $narrow469&1; - $$old4 = ($$0288425|0)==(0); - if ($$old4) { - $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; - label = 138; - } else { - $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; - } - } - else if ((label|0) == 139) { - $$328$le439 = $narrow&1; - $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; - } - if ((label|0) == 138) { - $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; - } - $303 = ($$2|0)==(0); - if ($303) { - $$3291 = $$2290; - } else { - _free($$9314); - _free($304); - $$3291 = $$2290; - } - } - } while(0); - $305 = ($306|0)==(0); - if (!($305)) { - ___unlockfile($0); - } - STACKTOP = sp;return ($$3291|0); -} -function _arg_n($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - $vacopy_currentptr = HEAP32[$0>>2]|0; - HEAP32[$2>>2] = $vacopy_currentptr; - $$0 = $1; - while(1) { - $3 = ($$0>>>0)>(1); - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded1 = $5; - $expanded = (($expanded1) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded5 = $7; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $8 = $6 & $expanded3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $11 = (($$0) + -1)|0; - if ($3) { - $$0 = $11; - } else { - break; - } - } - STACKTOP = sp;return ($10|0); -} -function _store_int($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - L1: do { - if (!($4)) { - switch ($1|0) { - case -2: { - $5 = $2&255; - HEAP8[$0>>0] = $5; - break L1; - break; - } - case -1: { - $6 = $2&65535; - HEAP16[$0>>1] = $6; - break L1; - break; - } - case 0: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 1: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 3: { - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $2; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $3; - break L1; - break; - } - default: { - break L1; - } - } - } - } while(0); - return; -} -function _mbsinit($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - $5 = 1; - } else { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(0); - $5 = $3; - } - $4 = $5&1; - return ($4|0); -} -function _fseek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (___fseeko($0,$1,$2)|0); - return ($3|0); -} -function ___fseeko($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $7 = (___lockfile($0)|0); - $phitmp = ($7|0)==(0); - $8 = (___fseeko_unlocked($0,$1,$2)|0); - if ($phitmp) { - $9 = $8; - } else { - ___unlockfile($0); - $9 = $8; - } - } else { - $6 = (___fseeko_unlocked($0,$1,$2)|0); - $9 = $6; - } - return ($9|0); -} -function ___fseeko_unlocked($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(1); - if ($3) { - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($1) - ($5))|0; - $9 = (($8) + ($7))|0; - $$019 = $9; - } else { - $$019 = $1; - } - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)>($13>>>0); - if ($14) { - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); - $17 = HEAP32[$10>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $19 = ((($0)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); - $23 = ($22|0)<(0); - if ($23) { - $$0 = -1; - } else { - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = 0; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = $26 & -17; - HEAP32[$0>>2] = $27; - $$0 = 0; - } - } - return ($$0|0); -} -function _strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strrchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($2) + 1)|0; - $4 = (___memrchr($0,$1,$3)|0); - return ($4|0); -} -function ___memrchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1&255; - $$09 = $2; - while(1) { - $4 = (($$09) + -1)|0; - $5 = ($$09|0)==(0); - if ($5) { - $$0 = 0; - break; - } - $6 = (($0) + ($4)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==($3<<24>>24); - if ($8) { - $$0 = $6; - break; - } else { - $$09 = $4; - } - } - return ($$0|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 18704; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _fread($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = ($1|0)==(0); - $$ = $5 ? 0 : $2; - $6 = ((($3)) + 76|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(-1); - if ($8) { - $9 = (___lockfile($3)|0); - $36 = $9; - } else { - $36 = 0; - } - $10 = ((($3)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ((($3)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19; - $21 = (($17) - ($20))|0; - $22 = ($21|0)>(0); - $23 = ($21>>>0)<($4>>>0); - $$57 = $23 ? $21 : $4; - if ($22) { - $24 = (($4) - ($$57))|0; - $25 = (($0) + ($$57)|0); - _memcpy(($0|0),($19|0),($$57|0))|0; - $26 = (($19) + ($$57)|0); - HEAP32[$18>>2] = $26; - $$054$ph = $24;$$056$ph = $25; - } else { - $$054$ph = $4;$$056$ph = $0; - } - $27 = ($$054$ph|0)==(0); - L7: do { - if ($27) { - label = 13; - } else { - $28 = ((($3)) + 32|0); - $$05460 = $$054$ph;$$05659 = $$056$ph; - while(1) { - $29 = (___toread($3)|0); - $30 = ($29|0)==(0); - if (!($30)) { - break; - } - $31 = HEAP32[$28>>2]|0; - $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); - $33 = (($32) + 1)|0; - $34 = ($33>>>0)<(2); - if ($34) { - break; - } - $39 = (($$05460) - ($32))|0; - $40 = (($$05659) + ($32)|0); - $41 = ($39|0)==(0); - if ($41) { - label = 13; - break L7; - } else { - $$05460 = $39;$$05659 = $40; - } - } - $35 = ($36|0)==(0); - if (!($35)) { - ___unlockfile($3); - } - $37 = (($4) - ($$05460))|0; - $38 = (($37>>>0) / ($1>>>0))&-1; - $$0 = $38; - } - } while(0); - if ((label|0) == 13) { - $42 = ($36|0)==(0); - if ($42) { - $$0 = $$; - } else { - ___unlockfile($3); - $$0 = $$; - } - } - return ($$0|0); -} -function _rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $phitmp = ($4|0)==(0); - (___fseeko_unlocked($0,0,0)|0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & -33; - HEAP32[$0>>2] = $6; - if (!($phitmp)) { - ___unlockfile($0); - } - } else { - (___fseeko_unlocked($0,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 & -33; - HEAP32[$0>>2] = $8; - } - return; -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[1032]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = HEAP32[5613]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[5613] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[5613] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[5613] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[5613] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function runPostSets() { -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; - end = (ptr + num)|0; - - value = value & 0xff; - if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { - while ((ptr&3) != 0) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - - aligned_end = (end & -4)|0; - block_aligned_end = (aligned_end - 64)|0; - value4 = value | (value << 8) | (value << 16) | (value << 24); - - while((ptr|0) <= (block_aligned_end|0)) { - HEAP32[((ptr)>>2)]=value4; - HEAP32[(((ptr)+(4))>>2)]=value4; - HEAP32[(((ptr)+(8))>>2)]=value4; - HEAP32[(((ptr)+(12))>>2)]=value4; - HEAP32[(((ptr)+(16))>>2)]=value4; - HEAP32[(((ptr)+(20))>>2)]=value4; - HEAP32[(((ptr)+(24))>>2)]=value4; - HEAP32[(((ptr)+(28))>>2)]=value4; - HEAP32[(((ptr)+(32))>>2)]=value4; - HEAP32[(((ptr)+(36))>>2)]=value4; - HEAP32[(((ptr)+(40))>>2)]=value4; - HEAP32[(((ptr)+(44))>>2)]=value4; - HEAP32[(((ptr)+(48))>>2)]=value4; - HEAP32[(((ptr)+(52))>>2)]=value4; - HEAP32[(((ptr)+(56))>>2)]=value4; - HEAP32[(((ptr)+(60))>>2)]=value4; - ptr = (ptr + 64)|0; - } - - while ((ptr|0) < (aligned_end|0) ) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - // The remaining bytes. - while ((ptr|0) < (end|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (end-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - var aligned_dest_end = 0; - var block_aligned_dest_end = 0; - var dest_end = 0; - // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. - if ((num|0) >= - 8192 - ) { - return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - } - - ret = dest|0; - dest_end = (dest + num)|0; - if ((dest&3) == (src&3)) { - // The initial unaligned < 4-byte front. - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - aligned_dest_end = (dest_end & -4)|0; - block_aligned_dest_end = (aligned_dest_end - 64)|0; - while ((dest|0) <= (block_aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); - HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); - HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); - HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); - HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); - HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); - HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); - HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); - HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); - HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); - HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); - HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); - HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); - HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); - HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); - dest = (dest+64)|0; - src = (src+64)|0; - } - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } else { - // In the unaligned copy case, unroll a bit as well. - aligned_dest_end = (dest_end - 4)|0; - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); - HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); - HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } - // The remaining unaligned < 4 byte tail. - while ((dest|0) < (dest_end|0)) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _sbrk(increment) { - increment = increment|0; - var oldDynamicTop = 0; - var oldDynamicTopOnChange = 0; - var newDynamicTop = 0; - var totalMemory = 0; - increment = ((increment + 15) & -16)|0; - oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; - newDynamicTop = oldDynamicTop + increment | 0; - - if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. - | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. - abortOnCannotGrowMemory()|0; - ___setErrNo(12); - return -1; - } - - HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; - totalMemory = getTotalMemory()|0; - if ((newDynamicTop|0) > (totalMemory|0)) { - if ((enlargeMemory()|0) == 0) { - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - ___setErrNo(12); - return -1; - } - } - return oldDynamicTop|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _llvm_bswap_i32(x) { - x = x|0; - return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; -} - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _llvm_bswap_i32: _llvm_bswap_i32, _roundf: _roundf, _main: _main, dynCall_i: dynCall_i, stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, dynCall_vidddd: dynCall_vidddd, setThrew: setThrew, dynCall_viii: dynCall_viii, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, dynCall_iii: dynCall_iii, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, ___muldi3: ___muldi3, dynCall_vd: dynCall_vd, dynCall_vii: dynCall_vii, ___uremdi3: ___uremdi3, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_viiiiiii: dynCall_viiiiiii, getTempRet0: getTempRet0, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, dynCall_viid: dynCall_viid, dynCall_ii: dynCall_ii, _emscripten_GetProcAddress: _emscripten_GetProcAddress, dynCall_viiii: dynCall_viiii, ___errno_location: ___errno_location, dynCall_viiiii: dynCall_viiiii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, _memmove: _memmove, _strstr: _strstr, stackRestore: stackRestore, _malloc: _malloc, dynCall_vdi: dynCall_vdi, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__roundf.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackSave.apply(null, arguments); -}; - -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_getTempRet0.apply(null, arguments); -}; - -var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____udivdi3.apply(null, arguments); -}; - -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setThrew.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__fflush.apply(null, arguments); -}; - -var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__sbrk.apply(null, arguments); -}; - -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__llvm_bswap_i32.apply(null, arguments); -}; - -var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____muldi3.apply(null, arguments); -}; - -var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____uremdi3.apply(null, arguments); -}; - -var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackAlloc.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setTempRet0.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_GetProcAddress.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____errno_location.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__free.apply(null, arguments); -}; - -var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_establishStackSpace.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strstr.apply(null, arguments); -}; - -var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackRestore.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__malloc.apply(null, arguments); -}; -var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - - -/** - * @constructor - * @extends {Error} - */ -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 initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - Module.printErr('exception thrown: ' + toLog); - Module['quit'](1, e); - } - } finally { - calledMain = true; - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - writeStackCookie(); - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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(); - } - checkStackCookie(); -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - process['exit'](status); - } - Module['quit'](status, new ExitStatus(status)); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/examples/web/models/models_obj_viewer.c b/examples/web/models/models_obj_viewer.c new file mode 100644 index 0000000..44c9947 --- /dev/null +++ b/examples/web/models/models_obj_viewer.c @@ -0,0 +1,163 @@ +/******************************************************************************************* +* +* raylib [models] example - OBJ models viewer +* +* This example has been created using raylib 2.0 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2014-2019 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#include // Required for: strcpy() + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +const int screenWidth = 800; +const int screenHeight = 450; + +// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +Camera camera = { 0 }; + +Model model = { 0 }; +Texture2D texture = { 0 }; + +Vector3 position = { 0.0f, 0.0f, 0.0f }; +BoundingBox bounds = { 0 }; +bool selected = false; // Selected object flag + +char objFilename[64] = "turret.obj"; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Program Main Entry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib example - obj viewer"); + + // Define the camera to look into our 3d world + camera = (Camera){{ 30.0f, 30.0f, 30.0f }, { 0.0f, 10.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f, 0 }; + + model = LoadModel("resources/models/turret.obj"); // Load default model obj + texture = LoadTexture("resources/models/turret_diffuse.png"); // Load default model texture + model.materials[0].maps[MAP_DIFFUSE].texture = texture; // Bind texture to model + + bounds = MeshBoundingBox(model.meshes[0]); // Set model bounds + + SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadModel(model); // Unload model + + ClearDroppedFiles(); // Clear internal buffers + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsFileDropped()) + { + int count = 0; + char **droppedFiles = GetDroppedFiles(&count); + + if (count == 1) + { + if (IsFileExtension(droppedFiles[0], ".obj")) + { + for (int i = 0; i < model.meshCount; i++) UnloadMesh(&model.meshes[i]); + model.meshes = LoadMeshes(droppedFiles[0], &model.meshCount); + bounds = MeshBoundingBox(model.meshes[0]); + } + else if (IsFileExtension(droppedFiles[0], ".png")) + { + UnloadTexture(texture); + texture = LoadTexture(droppedFiles[0]); + model.materials[0].maps[MAP_DIFFUSE].texture = texture; + } + + strcpy(objFilename, GetFileName(droppedFiles[0])); + } + + ClearDroppedFiles(); // Clear internal buffers + } + + UpdateCamera(&camera); + + // Select model on mouse click + if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) + { + // Check collision between ray and box + if (CheckCollisionRayBox(GetMouseRay(GetMousePosition(), camera), bounds)) selected = !selected; + else selected = false; + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + BeginMode3D(camera); + + DrawModel(model, position, 1.0f, WHITE); // Draw 3d model with texture + + DrawGrid(20.0, 10.0); // Draw a grid + + if (selected) DrawBoundingBox(bounds, GREEN); + + EndMode3D(); + + DrawText("Free camera default controls:", 10, 20, 10, DARKGRAY); + DrawText("- Mouse Wheel to Zoom in-out", 20, 40, 10, GRAY); + DrawText("- Mouse Wheel Pressed to Pan", 20, 60, 10, GRAY); + DrawText("- Alt + Mouse Wheel Pressed to Rotate", 20, 80, 10, GRAY); + DrawText("- Alt + Ctrl + Mouse Wheel Pressed for Smooth Zoom", 20, 100, 10, GRAY); + + DrawText("Drag & drop .obj/.png to load mesh/texture.", 10, GetScreenHeight() - 20, 10, DARKGRAY); + DrawText(FormatText("Current file: %s", objFilename), 250, GetScreenHeight() - 20, 10, GRAY); + if (selected) DrawText("MODEL SELECTED", GetScreenWidth() - 110, 10, 10, GREEN); + + DrawText("(c) Turret 3D model by Alberto Cano", screenWidth - 200, screenHeight - 20, 10, GRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} diff --git a/examples/web/models/models_obj_viewer.exe b/examples/web/models/models_obj_viewer.exe new file mode 100644 index 0000000..2437e78 Binary files /dev/null and b/examples/web/models/models_obj_viewer.exe differ diff --git a/examples/web/models/models_orthographic_projection.c b/examples/web/models/models_orthographic_projection.c new file mode 100644 index 0000000..b2c1c9e --- /dev/null +++ b/examples/web/models/models_orthographic_projection.c @@ -0,0 +1,130 @@ +/******************************************************************************************* +* +* raylib [models] example - Show the difference between perspective and orthographic projection +* +* This program is heavily based on the geometric objects example +* +* This example has been created using raylib 2.0 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Example contributed by Max Danielsson (@autious) and reviewed by Ramon Santamaria (@raysan5) +* +* Copyright (c) 2018 Max Danielsson (@autious) and Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +#define FOVY_PERSPECTIVE 45.0f +#define WIDTH_ORTHOGRAPHIC 10.0f + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +const int screenWidth = 800; +const int screenHeight = 450; + +// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +Camera camera = { 0 }; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Program Main Entry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib [models] example - geometric shapes"); + + // Define the camera to look into our 3d world + camera = (Camera){{ 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, FOVY_PERSPECTIVE, CAMERA_PERSPECTIVE }; + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed(KEY_SPACE)) + { + if (camera.type == CAMERA_PERSPECTIVE) + { + camera.fovy = WIDTH_ORTHOGRAPHIC; + camera.type = CAMERA_ORTHOGRAPHIC; + } + else + { + camera.fovy = FOVY_PERSPECTIVE; + camera.type = CAMERA_PERSPECTIVE; + } + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + BeginMode3D(camera); + + DrawCube((Vector3){-4.0f, 0.0f, 2.0f}, 2.0f, 5.0f, 2.0f, RED); + DrawCubeWires((Vector3){-4.0f, 0.0f, 2.0f}, 2.0f, 5.0f, 2.0f, GOLD); + DrawCubeWires((Vector3){-4.0f, 0.0f, -2.0f}, 3.0f, 6.0f, 2.0f, MAROON); + + DrawSphere((Vector3){-1.0f, 0.0f, -2.0f}, 1.0f, GREEN); + DrawSphereWires((Vector3){1.0f, 0.0f, 2.0f}, 2.0f, 16, 16, LIME); + + DrawCylinder((Vector3){4.0f, 0.0f, -2.0f}, 1.0f, 2.0f, 3.0f, 4, SKYBLUE); + DrawCylinderWires((Vector3){4.0f, 0.0f, -2.0f}, 1.0f, 2.0f, 3.0f, 4, DARKBLUE); + DrawCylinderWires((Vector3){4.5f, -1.0f, 2.0f}, 1.0f, 1.0f, 2.0f, 6, BROWN); + + DrawCylinder((Vector3){1.0f, 0.0f, -4.0f}, 0.0f, 1.5f, 3.0f, 8, GOLD); + DrawCylinderWires((Vector3){1.0f, 0.0f, -4.0f}, 0.0f, 1.5f, 3.0f, 8, PINK); + + DrawGrid(10, 1.0f); // Draw a grid + + EndMode3D(); + + DrawText("Press Spacebar to switch camera type", 10, GetScreenHeight() - 30, 20, DARKGRAY); + + if (camera.type == CAMERA_ORTHOGRAPHIC) DrawText("ORTHOGRAPHIC", 10, 40, 20, BLACK); + else if (camera.type == CAMERA_PERSPECTIVE) DrawText("PERSPECTIVE", 10, 40, 20, BLACK); + + DrawFPS(10, 10); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} diff --git a/examples/web/models/models_orthographic_projection.exe b/examples/web/models/models_orthographic_projection.exe new file mode 100644 index 0000000..757868f Binary files /dev/null and b/examples/web/models/models_orthographic_projection.exe differ diff --git a/examples/web/models/models_rlgl_solar_system.c b/examples/web/models/models_rlgl_solar_system.c new file mode 100644 index 0000000..b3f646a --- /dev/null +++ b/examples/web/models/models_rlgl_solar_system.c @@ -0,0 +1,188 @@ +/******************************************************************************************* +* +* raylib [models] example - rlgl module usage with push/pop matrix transformations +* +* This example uses [rlgl] module funtionality (pseudo-OpenGL 1.1 style coding) +* +* This example has been created using raylib 2.2 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2018 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" +#include "rlgl.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +const int screenWidth = 800; +const int screenHeight = 450; + +// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + +const float sunRadius = 4.0f; +const float earthRadius = 0.6f; +const float earthOrbitRadius = 8.0f; +const float moonRadius = 0.16f; +const float moonOrbitRadius = 1.5f; + +Camera camera = { 0 }; + +float rotationSpeed = 0.2f; // General system rotation speed + +float earthRotation = 0.0f; // Rotation of earth around itself (days) in degrees +float earthOrbitRotation = 0.0f; // Rotation of earth around the Sun (years) in degrees +float moonRotation = 0.0f; // Rotation of moon around itself +float moonOrbitRotation = 0.0f; // Rotation of moon around earth in degrees + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +void DrawSphereBasic(Color color); // Draw sphere without any matrix transformation + +//---------------------------------------------------------------------------------- +// Program Main Entry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib [models] example - rlgl module usage with push/pop matrix transformations"); + + // Define the camera to look into our 3d world + camera.position = (Vector3){ 16.0f, 16.0f, 16.0f }; + camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; + camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; + camera.fovy = 45.0f; + camera.type = CAMERA_PERSPECTIVE; + + SetCameraMode(camera, CAMERA_FREE); + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//-------------------------------------------------------------------------------------------- +// Module Functions Definitions (local) +//-------------------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera); + + earthRotation += (5.0f*rotationSpeed); + earthOrbitRotation += (365/360.0f*(5.0f*rotationSpeed)*rotationSpeed); + moonRotation += (2.0f*rotationSpeed); + moonOrbitRotation += (8.0f*rotationSpeed); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + BeginMode3D(camera); + + rlPushMatrix(); + rlScalef(sunRadius, sunRadius, sunRadius); // Scale Sun + DrawSphereBasic(GOLD); // Draw the Sun + rlPopMatrix(); + + rlPushMatrix(); + rlRotatef(earthOrbitRotation, 0.0f, 1.0f, 0.0f); // Rotation for Earth orbit around Sun + rlTranslatef(earthOrbitRadius, 0.0f, 0.0f); // Translation for Earth orbit + rlRotatef(-earthOrbitRotation, 0.0f, 1.0f, 0.0f); // Rotation for Earth orbit around Sun inverted + + rlPushMatrix(); + rlRotatef(earthRotation, 0.25, 1.0, 0.0); // Rotation for Earth itself + rlScalef(earthRadius, earthRadius, earthRadius);// Scale Earth + + DrawSphereBasic(BLUE); // Draw the Earth + rlPopMatrix(); + + rlRotatef(moonOrbitRotation, 0.0f, 1.0f, 0.0f); // Rotation for Moon orbit around Earth + rlTranslatef(moonOrbitRadius, 0.0f, 0.0f); // Translation for Moon orbit + rlRotatef(-moonOrbitRotation, 0.0f, 1.0f, 0.0f); // Rotation for Moon orbit around Earth inverted + rlRotatef(moonRotation, 0.0f, 1.0f, 0.0f); // Rotation for Moon itself + rlScalef(moonRadius, moonRadius, moonRadius); // Scale Moon + + DrawSphereBasic(LIGHTGRAY); // Draw the Moon + rlPopMatrix(); + + // Some reference elements (not affected by previous matrix transformations) + DrawCircle3D((Vector3){ 0.0f, 0.0f, 0.0f }, earthOrbitRadius, (Vector3){ 1, 0, 0 }, 90.0f, Fade(RED, 0.5f)); + DrawGrid(20, 1.0f); + + EndMode3D(); + + DrawText("EARTH ORBITING AROUND THE SUN!", 400, 10, 20, MAROON); + DrawFPS(10, 10); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} + +// Draw sphere without any matrix transformation +// NOTE: Sphere is drawn in world position ( 0, 0, 0 ) with radius 1.0f +void DrawSphereBasic(Color color) +{ + int rings = 16; + int slices = 16; + + rlBegin(RL_TRIANGLES); + rlColor4ub(color.r, color.g, color.b, color.a); + + for (int i = 0; i < (rings + 2); i++) + { + for (int j = 0; j < slices; j++) + { + rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*i))*sinf(DEG2RAD*(j*360/slices)), + sinf(DEG2RAD*(270+(180/(rings + 1))*i)), + cosf(DEG2RAD*(270+(180/(rings + 1))*i))*cosf(DEG2RAD*(j*360/slices))); + rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sinf(DEG2RAD*((j+1)*360/slices)), + sinf(DEG2RAD*(270+(180/(rings + 1))*(i+1))), + cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cosf(DEG2RAD*((j+1)*360/slices))); + rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sinf(DEG2RAD*(j*360/slices)), + sinf(DEG2RAD*(270+(180/(rings + 1))*(i+1))), + cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cosf(DEG2RAD*(j*360/slices))); + + rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*i))*sinf(DEG2RAD*(j*360/slices)), + sinf(DEG2RAD*(270+(180/(rings + 1))*i)), + cosf(DEG2RAD*(270+(180/(rings + 1))*i))*cosf(DEG2RAD*(j*360/slices))); + rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*(i)))*sinf(DEG2RAD*((j+1)*360/slices)), + sinf(DEG2RAD*(270+(180/(rings + 1))*(i))), + cosf(DEG2RAD*(270+(180/(rings + 1))*(i)))*cosf(DEG2RAD*((j+1)*360/slices))); + rlVertex3f(cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*sinf(DEG2RAD*((j+1)*360/slices)), + sinf(DEG2RAD*(270+(180/(rings + 1))*(i+1))), + cosf(DEG2RAD*(270+(180/(rings + 1))*(i+1)))*cosf(DEG2RAD*((j+1)*360/slices))); + } + } + rlEnd(); +} diff --git a/examples/web/models/models_skybox.c b/examples/web/models/models_skybox.c index 364562e..243844a 100644 --- a/examples/web/models/models_skybox.c +++ b/examples/web/models/models_skybox.c @@ -15,10 +15,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -38,19 +34,11 @@ void UpdateDrawFrame(void); // Update and Draw one frame //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - skybox loading and drawing"); -#endif // Load skybox model Mesh cube = GenMeshCube(1.0f, 1.0f, 1.0f); @@ -91,9 +79,8 @@ int main(void) CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- @@ -112,13 +99,13 @@ void UpdateDrawFrame(void) ClearBackground(RAYWHITE); - Begin3dMode(camera); + BeginMode3D(camera); DrawModel(skybox, Vector3Zero(), 1.0f, WHITE); DrawGrid(10, 1.0f); - End3dMode(); + EndMode3D(); DrawFPS(10, 10); diff --git a/examples/web/models/models_yaw_pitch_roll.c b/examples/web/models/models_yaw_pitch_roll.c index a113141..e1ec513 100644 --- a/examples/web/models/models_yaw_pitch_roll.c +++ b/examples/web/models/models_yaw_pitch_roll.c @@ -18,10 +18,6 @@ #include #endif -#if defined(PLATFORM_ANDROID) - #include "android_native_app_glue.h" -#endif - //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- @@ -54,19 +50,11 @@ void DrawAngleGauge(Texture2D angleGauge, int x, int y, float angle, char title[ //---------------------------------------------------------------------------------- // Main Enry Point //---------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) -void android_main(struct android_app *app) -#else int main(void) -#endif { // Initialization //-------------------------------------------------------------------------------------- -#if defined(PLATFORM_ANDROID) - InitWindow(screenWidth, screenHeight, app); -#else InitWindow(screenWidth, screenHeight, "raylib [models] example - plane rotations (yaw, pitch, roll)"); -#endif texAngleGauge = LoadTexture("resources/angle_gauge.png"); texBackground = LoadTexture("resources/background.png"); @@ -114,9 +102,8 @@ int main(void) CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- -#if !defined(PLATFORM_ANDROID) + return 0; -#endif } //---------------------------------------------------------------------------------- diff --git a/examples/web/models/models_yaw_pitch_roll.data b/examples/web/models/models_yaw_pitch_roll.data deleted file mode 100644 index bfd36b4..0000000 --- a/examples/web/models/models_yaw_pitch_roll.data +++ /dev/null @@ -1,12570 +0,0 @@ -# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware -# File Created: 23.07.2017 19:55:30 - -# -# object P_51_Mustang_Proppeler -# - -v 6.98 -5.85 40.44 -v 7.18 -5.71 40.16 -v 7.46 -5.54 40.90 -v 7.65 -5.40 40.61 -v -1.06 6.70 43.10 -v -0.66 7.22 43.05 -v -2.20 7.04 41.37 -v -1.32 8.19 41.26 -v -0.05 7.42 43.02 -v 0.03 8.62 41.20 -v 0.55 7.21 43.04 -v 1.34 8.17 41.23 -v 0.89 6.69 43.08 -v 2.11 7.01 41.33 -v 0.86 6.04 43.14 -v 2.04 5.59 41.46 -v 0.47 5.52 43.19 -v 1.16 4.45 41.57 -v -0.15 5.33 43.22 -v -0.19 4.02 41.63 -v -0.74 5.53 43.20 -v -1.50 4.47 41.60 -v -1.09 6.06 43.16 -v -2.27 5.62 41.50 -v -0.20 3.16 38.93 -v -1.94 3.76 38.90 -v -2.97 5.30 38.76 -v -2.88 7.20 38.59 -v -1.71 8.72 38.44 -v 0.10 9.29 38.37 -v 1.84 8.70 38.40 -v 2.87 7.15 38.54 -v 2.78 5.26 38.71 -v 1.61 3.73 38.86 -v -0.11 6.40 43.97 -v 2.25 5.68 40.33 -v 0.23 3.72 40.34 -v 7.55 -5.03 41.18 -v 6.53 -5.89 40.11 -v -2.39 6.87 40.27 -v -0.36 8.83 39.88 -v -7.68 17.58 39.26 -v -6.63 18.36 38.02 -v -7.10 18.35 38.37 -v -7.59 18.07 38.89 -v -11.88 -2.05 40.51 -v -12.14 -1.59 39.98 -v -11.39 -2.12 40.84 -v -12.14 -1.14 39.60 -v -2.58 5.85 39.82 -v -0.73 3.87 40.17 -v -0.75 3.90 40.52 -v -2.60 5.87 40.18 -v -11.53 -1.92 41.09 -v -12.28 -0.94 39.85 -v -12.28 -1.40 40.23 -v -12.02 -1.86 40.76 -v 7.74 -4.89 40.89 -v 2.27 5.69 39.97 -v 0.25 3.72 39.99 -v 6.72 -5.74 39.83 -v 12.03 14.07 38.30 -v 12.17 13.89 38.58 -v 12.04 13.60 38.00 -v 12.18 13.42 38.29 -v 11.76 14.57 38.74 -v 11.89 14.39 39.03 -v 11.40 14.47 39.35 -v 11.26 14.65 39.07 -v 0.60 8.66 39.71 -v 0.62 8.66 40.07 -v 2.45 6.68 39.69 -v 2.47 6.67 40.05 -v -7.29 18.19 38.11 -v -6.82 18.20 37.77 -v -7.77 17.91 38.63 -v -7.87 17.42 39.01 -v -2.40 6.84 39.91 -v -0.37 8.80 39.53 -# 79 vertices - -vn 0.56 -0.83 -0.03 -vn -0.69 0.31 0.65 -vn -0.42 0.65 0.63 -vn -0.85 0.35 0.40 -vn -0.51 0.77 0.38 -vn 0.01 0.77 0.63 -vn 0.01 0.92 0.38 -vn 0.44 0.62 0.65 -vn 0.55 0.74 0.40 -vn 0.70 0.25 0.66 -vn 0.87 0.27 0.42 -vn 0.70 -0.20 0.68 -vn 0.86 -0.28 0.43 -vn 0.44 -0.56 0.71 -vn 0.53 -0.72 0.45 -vn -0.00 -0.69 0.72 -vn -0.01 -0.88 0.47 -vn -0.45 -0.53 0.72 -vn -0.56 -0.69 0.46 -vn -0.71 -0.14 0.69 -vn -0.88 -0.21 0.43 -vn -0.01 -0.95 0.30 -vn -0.60 -0.75 0.29 -vn -0.94 -0.23 0.27 -vn -0.90 0.36 0.24 -vn -0.54 0.81 0.23 -vn 0.02 0.97 0.23 -vn 0.58 0.78 0.25 -vn 0.92 0.29 0.27 -vn 0.91 -0.30 0.28 -vn 0.57 -0.77 0.30 -vn 0.00 0.07 1.00 -vn -0.01 -0.09 -1.00 -vn -0.05 0.06 1.00 -vn -0.09 0.02 1.00 -vn -0.48 -0.32 0.82 -vn -0.52 -0.35 0.78 -vn -0.53 -0.33 0.78 -vn 0.07 0.13 0.99 -vn 0.11 0.16 0.98 -vn 0.47 0.44 0.76 -vn 0.51 0.47 0.72 -vn 0.52 0.45 0.73 -vn 0.40 -0.58 -0.71 -vn 0.39 -0.54 -0.75 -vn 0.42 -0.57 -0.71 -vn 0.06 -0.19 -0.98 -vn 0.02 -0.15 -0.99 -vn -0.03 0.15 0.99 -vn -0.06 0.19 0.98 -vn -0.39 0.54 0.75 -vn -0.42 0.57 0.71 -vn -0.40 0.58 0.71 -vn 0.84 -0.36 0.40 -vn 0.88 0.46 0.06 -vn 0.88 0.46 0.07 -vn 0.67 0.38 0.64 -vn 0.66 0.38 0.65 -vn -0.70 0.72 -0.02 -vn -0.63 -0.42 -0.65 -vn -0.64 -0.43 -0.64 -vn -0.83 -0.55 -0.07 -vn -0.84 -0.55 -0.06 -vn 0.53 0.33 -0.78 -vn 0.48 0.32 -0.82 -vn 0.52 0.35 -0.78 -vn 0.09 -0.03 -1.00 -vn 0.05 -0.06 -1.00 -vn 0.92 0.21 -0.32 -vn 0.84 0.53 -0.08 -vn 0.38 0.85 0.36 -vn -0.49 0.87 0.03 -vn -0.49 0.87 0.04 -vn -0.34 0.71 0.61 -vn -0.34 0.71 0.62 -vn -0.73 -0.68 0.03 -vn 0.38 -0.68 -0.62 -vn 0.39 -0.69 -0.61 -vn 0.57 -0.82 -0.04 -vn 0.57 -0.82 -0.03 -vn -0.43 0.46 -0.77 -vn -0.42 0.41 -0.81 -vn -0.45 0.45 -0.77 -vn -0.08 0.01 -1.00 -vn -0.04 -0.03 -1.00 -vn 0.05 0.03 1.00 -vn 0.08 -0.00 1.00 -vn 0.42 -0.41 0.81 -vn 0.45 -0.45 0.77 -vn 0.43 -0.46 0.77 -vn -0.29 0.89 -0.35 -vn -0.57 0.82 -0.10 -vn -0.83 0.43 0.35 -vn -0.89 -0.45 0.07 -vn -0.89 -0.45 0.08 -vn -0.69 -0.28 0.67 -vn -0.68 -0.27 0.68 -vn 0.70 -0.72 0.04 -vn 0.65 0.32 -0.69 -vn 0.66 0.32 -0.68 -vn 0.84 0.54 -0.08 -vn 0.84 0.54 -0.07 -vn -0.52 -0.45 -0.73 -vn -0.47 -0.44 -0.77 -vn -0.50 -0.47 -0.72 -vn -0.11 -0.15 -0.98 -vn -0.07 -0.12 -0.99 -vn -0.91 -0.27 -0.32 -vn -0.84 -0.54 -0.06 -vn -0.39 -0.82 0.42 -vn 0.49 -0.87 0.10 -vn 0.49 -0.86 0.11 -vn 0.37 -0.62 0.69 -vn 0.37 -0.62 0.70 -vn 0.73 0.68 -0.00 -vn -0.41 0.59 -0.70 -vn -0.42 0.59 -0.69 -vn -0.57 0.81 -0.11 -vn 0.27 -0.92 -0.28 -# 119 vertex normals - -vt 0.04 0.85 0.00 -vt 0.03 0.85 0.00 -vt 0.92 0.13 0.00 -vt 0.92 0.12 0.00 -vt 0.96 0.13 0.00 -vt 0.96 0.11 0.00 -vt 0.96 0.10 0.00 -vt 0.92 0.14 0.00 -vt 0.96 0.14 0.00 -vt 0.92 0.15 0.00 -vt 0.96 0.16 0.00 -vt 0.96 0.17 0.00 -vt 0.96 0.15 0.00 -vt 1.00 0.18 0.00 -vt 1.00 0.16 0.00 -vt 1.00 0.15 0.00 -vt 1.00 0.13 0.00 -vt 1.00 0.11 0.00 -vt 1.00 0.09 0.00 -vt 0.91 0.13 0.00 -vt 0.80 0.95 0.00 -vt 0.81 0.94 0.00 -vt 0.81 0.96 0.00 -vt 0.82 0.95 0.00 -vt 0.82 0.96 0.00 -vt 0.80 0.96 0.00 -vt 0.38 0.65 0.00 -vt 0.37 0.68 0.00 -vt 0.23 0.65 0.00 -vt 0.23 0.67 0.00 -vt 0.23 0.66 0.00 -vt 0.37 0.66 0.00 -vt 0.37 0.67 0.00 -vt 0.35 0.66 0.00 -vt 0.35 0.67 0.00 -vt 0.06 0.85 0.00 -vt 0.05 0.85 0.00 -# 37 texture coords - -g P_51_Mustang_Proppeler -f 1/1/1 2/1/1 3/2/1 -f 4/2/1 3/2/1 2/1/1 -f 5/3/2 6/4/3 7/5/4 -f 8/6/5 7/5/4 6/4/3 -f 6/4/3 9/4/6 8/6/5 -f 10/7/7 8/6/5 9/4/6 -f 9/4/6 11/4/8 10/7/7 -f 12/6/9 10/7/7 11/4/8 -f 11/4/8 13/3/10 12/6/9 -f 14/5/11 12/6/9 13/3/10 -f 13/3/10 15/8/12 14/5/11 -f 16/9/13 14/5/11 15/8/12 -f 15/8/12 17/10/14 16/9/13 -f 18/11/15 16/9/13 17/10/14 -f 17/10/14 19/10/16 18/11/15 -f 20/12/17 18/11/15 19/10/16 -f 19/10/16 21/10/18 20/12/17 -f 22/11/19 20/12/17 21/10/18 -f 21/10/18 23/8/20 22/11/19 -f 24/13/21 22/11/19 23/8/20 -f 20/12/17 22/11/19 25/14/22 -f 26/15/23 25/14/22 22/11/19 -f 22/11/19 24/13/21 26/15/23 -f 27/16/24 26/15/23 24/13/21 -f 23/8/20 5/3/2 24/13/21 -f 7/5/4 24/13/21 5/3/2 -f 24/13/21 7/5/4 27/16/24 -f 28/17/25 27/16/24 7/5/4 -f 7/5/4 8/6/5 28/17/25 -f 29/18/26 28/17/25 8/6/5 -f 8/6/5 10/7/7 29/18/26 -f 30/19/27 29/18/26 10/7/7 -f 10/7/7 12/6/9 30/19/27 -f 31/18/28 30/19/27 12/6/9 -f 12/6/9 14/5/11 31/18/28 -f 32/17/29 31/18/28 14/5/11 -f 14/5/11 16/9/13 32/17/29 -f 33/16/30 32/17/29 16/9/13 -f 16/9/13 18/11/15 33/16/30 -f 34/15/31 33/16/30 18/11/15 -f 18/11/15 20/12/17 34/15/31 -f 25/14/22 34/15/31 20/12/17 -f 35/20/32 21/10/18 19/10/16 -f 35/20/32 23/8/20 21/10/18 -f 35/20/32 5/3/2 23/8/20 -f 35/20/32 6/4/3 5/3/2 -f 35/20/32 9/4/6 6/4/3 -f 35/20/32 11/4/8 9/4/6 -f 35/20/32 13/3/10 11/4/8 -f 35/20/32 15/8/12 13/3/10 -f 35/20/32 17/10/14 15/8/12 -f 35/20/32 19/10/16 17/10/14 -f 31/21/33 32/22/33 30/21/33 -f 32/22/33 28/23/33 30/21/33 -f 34/24/33 28/23/33 32/22/33 -f 26/25/33 28/23/33 34/24/33 -f 25/24/33 26/25/33 34/24/33 -f 30/21/33 28/23/33 29/26/33 -f 27/23/33 28/23/33 26/25/33 -f 36/27/34 37/28/35 38/29/36 -f 37/28/35 39/30/37 38/29/36 -f 39/30/37 1/31/38 38/29/36 -f 1/31/38 3/31/38 38/29/36 -f 40/27/39 41/28/40 42/29/41 -f 41/28/40 43/30/42 42/29/41 -f 43/30/42 44/31/43 42/29/41 -f 44/31/43 45/31/43 42/29/41 -f 46/31/44 47/31/44 48/29/45 -f 47/31/44 49/30/46 48/29/45 -f 49/30/46 50/28/47 48/29/45 -f 50/28/47 51/27/48 48/29/45 -f 52/27/49 53/28/50 54/29/51 -f 53/28/50 55/30/52 54/29/51 -f 55/30/52 56/31/53 54/29/51 -f 56/31/53 57/31/53 54/29/51 -f 3/30/54 4/31/54 38/30/54 -f 58/31/54 38/30/54 4/31/54 -f 59/32/55 36/33/56 58/31/57 -f 38/30/58 58/31/57 36/33/56 -f 60/34/59 37/35/59 59/32/59 -f 36/33/59 59/32/59 37/35/59 -f 61/31/60 39/30/61 60/34/62 -f 39/30/61 37/35/63 60/34/62 -f 4/31/64 2/31/64 58/29/65 -f 2/31/64 61/30/66 58/29/65 -f 61/30/66 60/28/67 58/29/65 -f 60/28/67 59/27/68 58/29/65 -f 62/1/69 63/1/69 64/36/69 -f 65/37/69 64/36/69 63/1/69 -f 66/2/70 67/2/70 62/1/70 -f 63/1/70 62/1/70 67/2/70 -f 67/30/71 66/31/71 68/30/71 -f 69/31/71 68/30/71 66/31/71 -f 70/32/72 71/33/73 69/31/74 -f 68/30/75 69/31/74 71/33/73 -f 72/34/76 73/35/76 70/32/76 -f 71/33/76 70/32/76 73/35/76 -f 64/31/77 65/30/78 72/34/79 -f 65/30/78 73/35/80 72/34/79 -f 66/31/81 62/31/81 69/29/82 -f 62/31/81 64/30/83 69/29/82 -f 64/30/83 72/28/84 69/29/82 -f 72/28/84 70/27/85 69/29/82 -f 71/27/86 73/28/87 68/29/88 -f 73/28/87 65/30/89 68/29/88 -f 65/30/89 63/31/90 68/29/88 -f 63/31/90 67/31/90 68/29/88 -f 74/1/91 44/1/91 75/2/91 -f 43/2/91 75/2/91 44/1/91 -f 76/37/92 45/36/92 74/1/92 -f 44/1/92 74/1/92 45/36/92 -f 45/30/93 76/31/93 42/30/93 -f 77/31/93 42/30/93 76/31/93 -f 78/32/94 40/33/95 77/31/96 -f 42/30/97 77/31/96 40/33/95 -f 79/34/98 41/35/98 78/32/98 -f 40/33/98 78/32/98 41/35/98 -f 75/31/99 43/30/100 79/34/101 -f 43/30/100 41/35/102 79/34/101 -f 76/31/103 74/31/103 77/29/104 -f 74/31/103 75/30/105 77/29/104 -f 75/30/105 79/28/106 77/29/104 -f 79/28/106 78/27/107 77/29/104 -f 47/1/108 56/1/108 49/2/108 -f 55/2/108 49/2/108 56/1/108 -f 46/37/109 57/37/109 47/1/109 -f 56/1/109 47/1/109 57/37/109 -f 57/30/110 46/31/110 54/30/110 -f 48/31/110 54/30/110 46/31/110 -f 51/32/111 52/33/112 48/31/113 -f 54/30/114 48/31/113 52/33/112 -f 50/34/115 53/35/115 51/32/115 -f 52/33/115 51/32/115 53/35/115 -f 49/31/116 55/30/117 50/34/118 -f 55/30/117 53/35/92 50/34/118 -f 33/22/33 34/24/33 32/22/33 -f 2/1/119 1/1/119 61/36/119 -f 39/37/119 61/36/119 1/1/119 -# 138 faces - -# -# object P_51_Mustang_Right_Rockets -# - -v -34.05 -4.42 7.01 -v -33.98 -4.35 7.01 -v -34.09 -4.33 9.68 -v -34.02 -4.26 9.67 -v -35.60 -3.83 7.68 -v -35.21 -3.94 7.69 -v -35.84 -3.60 19.17 -v -36.18 -3.24 19.14 -v -35.88 -3.53 7.66 -v -36.29 -2.75 19.10 -v -36.09 -2.72 20.16 -v -36.01 -3.10 20.20 -v -35.35 -2.67 21.77 -v -35.74 -3.38 20.22 -v -35.37 -3.49 20.23 -v -35.37 -3.74 19.18 -v -34.88 -3.61 19.16 -v -34.81 -3.84 7.67 -v -34.50 -3.54 7.65 -v -34.50 -3.25 19.13 -v -34.37 -3.14 7.61 -v -34.35 -2.76 19.08 -v -34.46 -2.73 7.57 -v -34.46 -2.27 19.04 -v -34.74 -2.43 7.55 -v -34.79 -1.91 19.01 -v -35.13 -2.32 7.54 -v -35.27 -1.77 19.00 -v -35.54 -2.43 7.55 -v -35.76 -1.90 19.01 -v -35.84 -2.72 7.58 -v -36.13 -2.26 19.05 -v -35.97 -3.13 7.62 -v -35.97 -2.33 20.13 -v -35.68 -2.05 20.10 -v -35.30 -1.95 20.08 -v -34.92 -2.06 20.09 -v -34.66 -2.34 20.12 -v -34.58 -2.73 20.15 -v -34.70 -3.11 20.19 -v -34.99 -3.39 20.21 -v -36.27 -1.89 6.80 -v -35.13 -3.10 7.59 -v -36.34 -1.96 6.81 -v -35.20 -3.17 7.60 -v -36.30 -1.80 9.47 -v -36.38 -1.87 9.47 -v -35.16 -3.02 10.26 -v -35.24 -3.08 10.27 -v -33.90 -1.89 9.45 -v -33.97 -1.82 9.45 -v -35.18 -3.09 10.27 -v -35.25 -3.01 10.26 -v -36.43 -4.31 9.70 -v -36.49 -4.24 9.69 -v -33.87 -1.98 6.79 -v -35.15 -3.17 7.60 -v -36.39 -4.40 7.03 -v -36.46 -4.33 7.02 -v -35.21 -3.10 7.59 -v -33.93 -1.90 6.78 -v -31.30 -4.44 6.99 -v -31.23 -4.37 6.98 -v -31.34 -4.35 9.66 -v -31.26 -4.28 9.65 -v -32.85 -3.85 7.66 -v -32.46 -3.96 7.67 -v -33.09 -3.63 19.15 -v -33.43 -3.26 19.12 -v -33.13 -3.55 7.63 -v -33.53 -2.77 19.08 -v -33.34 -2.74 20.14 -v -33.25 -3.12 20.17 -v -32.60 -2.69 21.75 -v -32.99 -3.41 20.20 -v -32.62 -3.51 20.21 -v -32.61 -3.76 19.16 -v -32.12 -3.63 19.14 -v -32.05 -3.86 7.65 -v -31.75 -3.56 7.62 -v -31.75 -3.28 19.11 -v -31.62 -3.16 7.59 -v -31.60 -2.78 19.06 -v -31.71 -2.75 7.55 -v -31.71 -2.29 19.02 -v -31.99 -2.45 7.52 -v -32.04 -1.93 18.99 -v -32.38 -2.34 7.52 -v -32.52 -1.79 18.98 -v -32.78 -2.45 7.53 -v -33.01 -1.92 18.99 -v -33.09 -2.74 7.56 -v -33.38 -2.28 19.03 -v -33.22 -3.15 7.60 -v -33.22 -2.35 20.10 -v -32.93 -2.07 20.08 -v -32.54 -1.97 20.06 -v -32.17 -2.08 20.07 -v -31.91 -2.36 20.09 -v -31.82 -2.75 20.13 -v -31.94 -3.13 20.16 -v -32.23 -3.41 20.19 -v -33.52 -1.91 6.78 -v -32.38 -3.12 7.57 -v -33.59 -1.98 6.78 -v -32.45 -3.19 7.58 -v -33.55 -1.82 9.44 -v -33.63 -1.89 9.45 -v -32.41 -3.04 10.24 -v -32.48 -3.11 10.25 -v -31.15 -1.91 9.43 -v -31.22 -1.84 9.43 -v -32.43 -3.11 10.24 -v -32.49 -3.04 10.24 -v -33.67 -4.33 9.68 -v -33.74 -4.26 9.67 -v -31.12 -2.00 6.77 -v -32.39 -3.19 7.58 -v -33.64 -4.42 7.01 -v -33.70 -4.35 7.00 -v -32.46 -3.12 7.57 -v -31.18 -1.93 6.76 -v -28.67 -4.46 6.97 -v -28.59 -4.39 6.96 -v -28.70 -4.37 9.64 -v -28.63 -4.30 9.63 -v -30.21 -3.87 7.64 -v -29.82 -3.98 7.65 -v -30.45 -3.65 19.13 -v -30.79 -3.28 19.10 -v -30.49 -3.57 7.61 -v -30.90 -2.79 19.06 -v -30.70 -2.76 20.12 -v -30.62 -3.14 20.15 -v -29.96 -2.71 21.73 -v -30.35 -3.43 20.18 -v -29.98 -3.53 20.19 -v -29.98 -3.78 19.14 -v -29.49 -3.65 19.12 -v -29.42 -3.88 7.63 -v -29.11 -3.58 7.60 -v -29.12 -3.30 19.09 -v -28.98 -3.18 7.57 -v -28.96 -2.81 19.04 -v -29.07 -2.77 7.53 -v -29.07 -2.31 19.00 -v -29.35 -2.47 7.50 -v -29.41 -1.95 18.97 -v -29.74 -2.36 7.50 -v -29.88 -1.81 18.96 -v -30.15 -2.47 7.51 -v -30.37 -1.94 18.97 -v -30.45 -2.76 7.54 -v -30.74 -2.30 19.01 -v -30.58 -3.17 7.58 -v -30.58 -2.37 20.08 -v -30.29 -2.09 20.06 -v -29.91 -1.99 20.04 -v -29.53 -2.10 20.05 -v -29.27 -2.38 20.07 -v -29.19 -2.77 20.11 -v -29.31 -3.15 20.14 -v -29.60 -3.43 20.17 -v -30.88 -1.93 6.76 -v -29.74 -3.14 7.55 -v -30.95 -2.00 6.76 -v -29.81 -3.21 7.56 -v -30.92 -1.84 9.42 -v -30.99 -1.91 9.43 -v -29.77 -3.06 10.22 -v -29.85 -3.13 10.22 -v -28.51 -1.93 9.41 -v -28.58 -1.86 9.41 -v -29.79 -3.13 10.22 -v -29.86 -3.06 10.22 -v -31.04 -4.35 9.66 -v -31.10 -4.28 9.65 -v -28.48 -2.02 6.75 -v -29.76 -3.21 7.56 -v -31.00 -4.44 6.99 -v -31.07 -4.37 6.98 -v -29.82 -3.14 7.55 -v -28.54 -1.95 6.74 -# 183 vertices - -vn 0.69 -0.72 0.03 -vn -0.52 -0.85 0.01 -vn -0.01 -1.00 0.02 -vn -0.52 -0.85 0.11 -vn -0.89 -0.45 0.10 -vn -0.89 -0.46 -0.01 -vn -0.98 -0.20 0.08 -vn -0.94 -0.18 0.29 -vn -0.85 -0.42 0.32 -vn 0.32 -0.56 0.77 -vn -0.50 -0.79 0.34 -vn -0.01 -0.94 0.35 -vn -0.01 -0.99 0.12 -vn 0.49 -0.86 0.12 -vn 0.50 -0.87 0.02 -vn 0.86 -0.52 0.01 -vn 0.85 -0.51 0.12 -vn 1.00 -0.04 -0.00 -vn 0.99 -0.04 0.10 -vn 0.88 0.47 -0.02 -vn 0.88 0.47 0.08 -vn 0.52 0.85 -0.04 -vn 0.52 0.85 0.07 -vn 0.01 1.00 -0.05 -vn 0.01 1.00 0.06 -vn -0.48 0.87 -0.05 -vn -0.49 0.87 0.05 -vn -0.85 0.53 -0.04 -vn -0.85 0.53 0.06 -vn -0.95 0.29 -0.04 -vn -0.95 0.30 0.07 -vn -0.81 0.52 0.27 -vn -0.91 0.31 0.28 -vn -0.43 0.79 0.44 -vn -0.46 0.85 0.27 -vn 0.01 0.96 0.27 -vn 0.49 0.82 0.29 -vn 0.83 0.46 0.30 -vn 0.95 -0.02 0.32 -vn 0.82 -0.47 0.33 -vn 0.47 -0.81 0.34 -vn -0.01 -0.09 -1.00 -vn 0.25 -0.35 -0.90 -vn -0.02 -0.08 -1.00 -vn -0.27 0.19 -0.94 -vn -0.25 0.35 0.90 -vn 0.01 0.09 1.00 -vn 0.02 0.08 1.00 -vn 0.27 -0.19 0.94 -vn 0.73 0.68 -0.01 -vn 0.27 0.33 0.91 -vn -0.00 0.08 1.00 -vn -0.27 -0.17 0.95 -vn 0.27 0.17 -0.95 -vn 0.00 -0.08 -1.00 -vn -0.27 -0.33 -0.91 -vn -0.69 0.72 -0.03 -vn -0.73 -0.68 0.01 -vn -0.98 -0.21 -0.02 -vn -0.00 -0.09 -1.00 -vn 0.00 0.09 1.00 -# 61 vertex normals - -vt 0.71 0.65 0.00 -vt 0.81 0.65 0.00 -vt 0.64 0.57 0.00 -vt 0.64 0.58 0.00 -vt 0.83 0.57 0.00 -vt 0.85 0.57 0.00 -vt 0.89 0.58 0.00 -vt 0.85 0.58 0.00 -vt 0.83 0.58 0.00 -vt 0.64 0.59 0.00 -vt 0.83 0.59 0.00 -vt 0.64 0.60 0.00 -vt 0.83 0.60 0.00 -vt 0.64 0.61 0.00 -vt 0.83 0.61 0.00 -vt 0.85 0.60 0.00 -vt 0.85 0.61 0.00 -vt 0.89 0.60 0.00 -vt 0.85 0.59 0.00 -vt 0.39 0.73 0.00 -vt 0.39 0.74 0.00 -vt 0.39 0.72 0.00 -vt 0.37 0.73 0.00 -vt 0.37 0.72 0.00 -vt 0.38 0.71 0.00 -vt 0.75 0.65 0.00 -vt 0.69 0.65 0.00 -vt 0.98 0.63 0.00 -vt 0.91 0.63 0.00 -vt 0.98 0.66 0.00 -vt 0.91 0.66 0.00 -vt 0.98 0.70 0.00 -vt 0.91 0.70 0.00 -vt 0.37 0.74 0.00 -vt 0.38 0.74 0.00 -# 35 texture coords - -g P_51_Mustang_Right_Rockets -f 80/38/120 81/38/120 82/39/120 -f 83/39/120 82/39/120 81/38/120 -f 84/40/121 85/41/122 86/42/123 -f 86/42/123 87/42/124 84/40/121 -f 88/40/125 84/40/121 87/42/124 -f 87/42/124 89/42/126 88/40/125 -f 89/42/126 87/42/124 90/43/127 -f 91/43/128 90/43/127 87/42/124 -f 90/43/127 91/43/128 92/44/129 -f 91/43/128 93/43/130 92/44/129 -f 93/43/130 94/45/131 92/44/129 -f 94/45/131 93/43/130 95/46/132 -f 95/46/132 96/46/133 94/45/131 -f 96/46/133 95/46/132 97/41/134 -f 97/41/134 98/41/135 96/46/133 -f 99/46/136 96/46/133 98/41/135 -f 98/41/135 100/47/137 99/46/136 -f 101/48/138 99/46/136 100/47/137 -f 100/47/137 102/47/139 101/48/138 -f 103/48/140 101/48/138 102/47/139 -f 87/42/124 86/42/123 91/43/128 -f 93/43/130 91/43/128 86/42/123 -f 86/42/123 95/46/132 93/43/130 -f 95/46/132 86/42/123 85/41/122 -f 85/41/122 97/41/134 95/46/132 -f 102/47/139 104/47/141 103/48/140 -f 105/48/142 103/48/140 104/47/141 -f 104/47/141 106/49/143 105/48/142 -f 107/50/144 105/48/142 106/49/143 -f 106/49/143 108/49/145 107/50/144 -f 109/50/146 107/50/144 108/49/145 -f 108/49/145 110/49/147 109/50/146 -f 111/50/148 109/50/146 110/49/147 -f 110/49/147 112/51/149 111/50/148 -f 89/52/150 111/50/148 112/51/149 -f 111/50/148 89/52/150 113/53/151 -f 90/54/152 113/53/151 89/52/150 -f 113/53/151 90/54/152 92/55/153 -f 114/53/154 113/53/151 92/55/153 -f 115/53/155 114/53/154 92/55/153 -f 114/53/154 115/53/155 109/50/146 -f 107/50/144 109/50/146 115/53/155 -f 115/53/155 116/56/156 107/50/144 -f 116/56/156 115/53/155 92/55/153 -f 105/48/142 107/50/144 116/56/156 -f 116/56/156 117/56/157 105/48/142 -f 103/48/140 105/48/142 117/56/157 -f 117/56/157 118/56/158 103/48/140 -f 101/48/138 103/48/140 118/56/158 -f 118/56/158 119/45/159 101/48/138 -f 99/46/136 101/48/138 119/45/159 -f 119/45/159 120/45/160 99/46/136 -f 96/46/133 99/46/136 120/45/160 -f 120/45/160 94/45/131 96/46/133 -f 94/45/131 120/45/160 92/44/129 -f 120/45/160 119/45/159 92/44/129 -f 119/45/159 118/56/158 92/44/129 -f 118/56/158 117/56/157 92/44/129 -f 117/56/157 116/56/156 92/44/129 -f 102/57/161 100/57/161 104/58/161 -f 100/57/161 97/59/161 104/58/161 -f 97/59/161 112/60/161 104/58/161 -f 84/61/161 112/60/161 97/59/161 -f 88/61/161 112/60/161 84/61/161 -f 98/59/161 97/59/161 100/57/161 -f 85/62/161 84/61/161 97/59/161 -f 121/39/162 122/63/161 123/39/162 -f 124/63/163 123/39/162 122/63/161 -f 124/63/163 122/63/161 80/64/164 -f 81/64/164 80/64/164 122/63/161 -f 125/39/165 126/39/165 127/63/166 -f 128/63/167 127/63/166 126/39/165 -f 127/63/166 128/63/167 83/64/168 -f 82/64/168 83/64/168 128/63/167 -f 121/65/169 125/66/169 122/67/169 -f 127/68/169 122/67/169 125/66/169 -f 122/67/169 127/68/169 81/69/169 -f 83/70/169 81/69/169 127/68/169 -f 129/39/170 130/39/170 131/63/171 -f 132/63/166 131/63/171 130/39/170 -f 131/63/171 132/63/166 133/64/172 -f 134/64/172 133/64/172 132/63/166 -f 135/65/120 129/66/120 136/67/120 -f 131/68/120 136/67/120 129/66/120 -f 136/67/120 131/68/120 137/69/120 -f 133/70/120 137/69/120 131/68/120 -f 137/64/173 138/64/173 136/63/174 -f 139/63/161 136/63/174 138/64/173 -f 139/63/161 140/39/175 136/63/174 -f 135/39/175 136/63/174 140/39/175 -f 138/65/176 134/66/176 139/67/176 -f 132/68/176 139/67/176 134/66/176 -f 139/67/176 132/68/176 140/69/176 -f 130/70/176 140/69/176 132/68/176 -f 80/65/177 82/66/177 124/67/177 -f 128/68/177 124/67/177 82/66/177 -f 124/67/177 128/68/177 123/69/177 -f 126/70/177 123/69/177 128/68/177 -f 121/38/176 123/38/176 125/39/176 -f 126/39/176 125/39/176 123/38/176 -f 138/38/177 137/38/177 134/39/177 -f 133/39/177 134/39/177 137/38/177 -f 135/38/169 140/38/169 129/39/169 -f 130/39/169 129/39/169 140/38/169 -f 109/50/146 111/50/148 114/53/154 -f 113/53/151 114/53/154 111/50/148 -f 112/40/178 88/40/125 89/42/126 -f 110/60/161 108/71/161 112/60/161 -f 112/60/161 108/71/161 104/58/161 -f 104/58/161 108/71/161 106/72/161 -f 141/38/120 142/38/120 143/39/120 -f 144/39/120 143/39/120 142/38/120 -f 145/40/121 146/41/122 147/42/123 -f 147/42/123 148/42/124 145/40/121 -f 149/40/125 145/40/121 148/42/124 -f 148/42/124 150/42/126 149/40/125 -f 150/42/126 148/42/124 151/43/127 -f 152/43/128 151/43/127 148/42/124 -f 151/43/127 152/43/128 153/44/129 -f 152/43/128 154/43/130 153/44/129 -f 154/43/130 155/45/131 153/44/129 -f 155/45/131 154/43/130 156/46/132 -f 156/46/132 157/46/133 155/45/131 -f 157/46/133 156/46/132 158/41/134 -f 158/41/134 159/41/135 157/46/133 -f 160/46/136 157/46/133 159/41/135 -f 159/41/135 161/47/137 160/46/136 -f 162/48/138 160/46/136 161/47/137 -f 161/47/137 163/47/139 162/48/138 -f 164/48/140 162/48/138 163/47/139 -f 148/42/124 147/42/123 152/43/128 -f 154/43/130 152/43/128 147/42/123 -f 147/42/123 156/46/132 154/43/130 -f 156/46/132 147/42/123 146/41/122 -f 146/41/122 158/41/134 156/46/132 -f 163/47/139 165/47/141 164/48/140 -f 166/48/142 164/48/140 165/47/141 -f 165/47/141 167/49/143 166/48/142 -f 168/50/144 166/48/142 167/49/143 -f 167/49/143 169/49/145 168/50/144 -f 170/50/146 168/50/144 169/49/145 -f 169/49/145 171/49/147 170/50/146 -f 172/50/148 170/50/146 171/49/147 -f 171/49/147 173/51/149 172/50/148 -f 150/52/150 172/50/148 173/51/149 -f 172/50/148 150/52/150 174/53/151 -f 151/54/152 174/53/151 150/52/150 -f 174/53/151 151/54/152 153/55/153 -f 175/53/154 174/53/151 153/55/153 -f 176/53/155 175/53/154 153/55/153 -f 175/53/154 176/53/155 170/50/146 -f 168/50/144 170/50/146 176/53/155 -f 176/53/155 177/56/156 168/50/144 -f 177/56/156 176/53/155 153/55/153 -f 166/48/142 168/50/144 177/56/156 -f 177/56/156 178/56/157 166/48/142 -f 164/48/140 166/48/142 178/56/157 -f 178/56/157 179/56/158 164/48/140 -f 162/48/138 164/48/140 179/56/158 -f 179/56/158 180/45/159 162/48/138 -f 160/46/136 162/48/138 180/45/159 -f 180/45/159 181/45/160 160/46/136 -f 157/46/133 160/46/136 181/45/160 -f 181/45/160 155/45/131 157/46/133 -f 155/45/131 181/45/160 153/44/129 -f 181/45/160 180/45/159 153/44/129 -f 180/45/159 179/56/158 153/44/129 -f 179/56/158 178/56/157 153/44/129 -f 178/56/157 177/56/156 153/44/129 -f 163/57/161 161/57/161 165/58/161 -f 161/57/161 158/59/161 165/58/161 -f 158/59/161 173/60/161 165/58/161 -f 145/61/161 173/60/161 158/59/161 -f 149/61/161 173/60/161 145/61/161 -f 159/59/161 158/59/161 161/57/161 -f 146/62/161 145/61/161 158/59/161 -f 182/39/162 183/63/161 184/39/162 -f 185/63/163 184/39/162 183/63/161 -f 185/63/163 183/63/161 141/64/164 -f 142/64/164 141/64/164 183/63/161 -f 186/39/165 187/39/165 188/63/166 -f 189/63/167 188/63/166 187/39/165 -f 188/63/166 189/63/167 144/64/168 -f 143/64/168 144/64/168 189/63/167 -f 182/65/169 186/66/169 183/67/169 -f 188/68/169 183/67/169 186/66/169 -f 183/67/169 188/68/169 142/69/169 -f 144/70/169 142/69/169 188/68/169 -f 190/39/170 191/39/170 192/63/171 -f 193/63/166 192/63/171 191/39/170 -f 192/63/171 193/63/166 194/64/172 -f 195/64/172 194/64/172 193/63/166 -f 196/65/120 190/66/120 197/67/120 -f 192/68/120 197/67/120 190/66/120 -f 197/67/120 192/68/120 198/69/120 -f 194/70/120 198/69/120 192/68/120 -f 198/64/173 199/64/173 197/63/174 -f 200/63/179 197/63/174 199/64/173 -f 200/63/179 201/39/175 197/63/174 -f 196/39/175 197/63/174 201/39/175 -f 199/65/176 195/66/176 200/67/176 -f 193/68/176 200/67/176 195/66/176 -f 200/67/176 193/68/176 201/69/176 -f 191/70/176 201/69/176 193/68/176 -f 141/65/177 143/66/177 185/67/177 -f 189/68/177 185/67/177 143/66/177 -f 185/67/177 189/68/177 184/69/177 -f 187/70/177 184/69/177 189/68/177 -f 182/38/176 184/38/176 186/39/176 -f 187/39/176 186/39/176 184/38/176 -f 199/38/177 198/38/177 195/39/177 -f 194/39/177 195/39/177 198/38/177 -f 196/38/169 201/38/169 190/39/169 -f 191/39/169 190/39/169 201/38/169 -f 170/50/146 172/50/148 175/53/154 -f 174/53/151 175/53/154 172/50/148 -f 173/40/178 149/40/125 150/42/126 -f 171/60/161 169/71/161 173/60/161 -f 173/60/161 169/71/161 165/58/161 -f 165/58/161 169/71/161 167/72/161 -f 202/38/120 203/38/120 204/39/120 -f 205/39/120 204/39/120 203/38/120 -f 206/40/121 207/41/122 208/42/123 -f 208/42/123 209/42/124 206/40/121 -f 210/40/125 206/40/121 209/42/124 -f 209/42/124 211/42/126 210/40/125 -f 211/42/126 209/42/124 212/43/127 -f 213/43/128 212/43/127 209/42/124 -f 212/43/127 213/43/128 214/44/129 -f 213/43/128 215/43/130 214/44/129 -f 215/43/130 216/45/131 214/44/129 -f 216/45/131 215/43/130 217/46/132 -f 217/46/132 218/46/133 216/45/131 -f 218/46/133 217/46/132 219/41/134 -f 219/41/134 220/41/135 218/46/133 -f 221/46/136 218/46/133 220/41/135 -f 220/41/135 222/47/137 221/46/136 -f 223/48/138 221/46/136 222/47/137 -f 222/47/137 224/47/139 223/48/138 -f 225/48/140 223/48/138 224/47/139 -f 209/42/124 208/42/123 213/43/128 -f 215/43/130 213/43/128 208/42/123 -f 208/42/123 217/46/132 215/43/130 -f 217/46/132 208/42/123 207/41/122 -f 207/41/122 219/41/134 217/46/132 -f 224/47/139 226/47/141 225/48/140 -f 227/48/142 225/48/140 226/47/141 -f 226/47/141 228/49/143 227/48/142 -f 229/50/144 227/48/142 228/49/143 -f 228/49/143 230/49/145 229/50/144 -f 231/50/146 229/50/144 230/49/145 -f 230/49/145 232/49/147 231/50/146 -f 233/50/148 231/50/146 232/49/147 -f 232/49/147 234/51/149 233/50/148 -f 211/52/150 233/50/148 234/51/149 -f 233/50/148 211/52/150 235/53/151 -f 212/54/152 235/53/151 211/52/150 -f 235/53/151 212/54/152 214/55/153 -f 236/53/154 235/53/151 214/55/153 -f 237/53/155 236/53/154 214/55/153 -f 236/53/154 237/53/155 231/50/146 -f 229/50/144 231/50/146 237/53/155 -f 237/53/155 238/56/156 229/50/144 -f 238/56/156 237/53/155 214/55/153 -f 227/48/142 229/50/144 238/56/156 -f 238/56/156 239/56/157 227/48/142 -f 225/48/140 227/48/142 239/56/157 -f 239/56/157 240/56/158 225/48/140 -f 223/48/138 225/48/140 240/56/158 -f 240/56/158 241/45/159 223/48/138 -f 221/46/136 223/48/138 241/45/159 -f 241/45/159 242/45/160 221/46/136 -f 218/46/133 221/46/136 242/45/160 -f 242/45/160 216/45/131 218/46/133 -f 216/45/131 242/45/160 214/44/129 -f 242/45/160 241/45/159 214/44/129 -f 241/45/159 240/56/158 214/44/129 -f 240/56/158 239/56/157 214/44/129 -f 239/56/157 238/56/156 214/44/129 -f 224/57/161 222/57/161 226/58/161 -f 222/57/161 219/59/161 226/58/161 -f 219/59/161 234/60/161 226/58/161 -f 206/61/161 234/60/161 219/59/161 -f 210/61/161 234/60/161 206/61/161 -f 220/59/161 219/59/161 222/57/161 -f 207/62/161 206/61/161 219/59/161 -f 243/39/162 244/63/161 245/39/162 -f 246/63/163 245/39/162 244/63/161 -f 246/63/163 244/63/161 202/64/164 -f 203/64/164 202/64/164 244/63/161 -f 247/39/165 248/39/165 249/63/166 -f 250/63/167 249/63/166 248/39/165 -f 249/63/166 250/63/167 205/64/168 -f 204/64/168 205/64/168 250/63/167 -f 243/65/169 247/66/169 244/67/169 -f 249/68/169 244/67/169 247/66/169 -f 244/67/169 249/68/169 203/69/169 -f 205/70/169 203/69/169 249/68/169 -f 251/39/170 252/39/170 253/63/171 -f 254/63/180 253/63/171 252/39/170 -f 253/63/171 254/63/180 255/64/172 -f 256/64/172 255/64/172 254/63/180 -f 257/65/120 251/66/120 258/67/120 -f 253/68/120 258/67/120 251/66/120 -f 258/67/120 253/68/120 259/69/120 -f 255/70/120 259/69/120 253/68/120 -f 259/64/173 260/64/173 258/63/174 -f 261/63/161 258/63/174 260/64/173 -f 261/63/161 262/39/175 258/63/174 -f 257/39/175 258/63/174 262/39/175 -f 260/65/176 256/66/176 261/67/176 -f 254/68/176 261/67/176 256/66/176 -f 261/67/176 254/68/176 262/69/176 -f 252/70/176 262/69/176 254/68/176 -f 202/65/177 204/66/177 246/67/177 -f 250/68/177 246/67/177 204/66/177 -f 246/67/177 250/68/177 245/69/177 -f 248/70/177 245/69/177 250/68/177 -f 243/38/176 245/38/176 247/39/176 -f 248/39/176 247/39/176 245/38/176 -f 260/38/177 259/38/177 256/39/177 -f 255/39/177 256/39/177 259/38/177 -f 257/38/169 262/38/169 251/39/169 -f 252/39/169 251/39/169 262/38/169 -f 231/50/146 233/50/148 236/53/154 -f 235/53/151 236/53/154 233/50/148 -f 234/40/178 210/40/125 211/42/126 -f 232/60/161 230/71/161 234/60/161 -f 234/60/161 230/71/161 226/58/161 -f 226/58/161 230/71/161 228/72/161 -# 330 faces - -# -# object P_51_Mustang_Right_Wing -# - -v -48.14 -0.16 8.05 -v -48.99 -0.03 6.01 -v -48.12 0.14 8.01 -v -29.31 0.19 6.44 -v -37.50 0.25 7.12 -v -30.21 0.47 8.72 -v -37.42 0.46 8.93 -v -44.57 0.16 7.71 -v -44.63 0.35 8.79 -v -47.59 0.24 8.96 -v -44.79 0.51 12.04 -v -47.99 0.25 12.03 -v -45.36 0.48 14.13 -v -48.50 0.36 13.97 -v -48.43 0.22 15.21 -v -49.84 0.07 14.16 -v -49.74 -0.04 15.39 -v -50.25 -0.08 14.12 -v -50.04 -0.09 15.40 -v -49.58 -0.10 16.12 -v -48.28 -0.12 16.74 -v -45.18 0.20 15.46 -v -29.52 0.68 12.85 -v -45.01 -0.15 17.06 -v -37.84 0.31 16.08 -v -37.82 -0.24 17.66 -v -30.95 -0.31 18.28 -v -29.88 0.43 16.64 -v -30.50 0.73 14.92 -v -37.93 0.62 14.50 -v -37.87 0.66 12.48 -v -37.95 -1.08 12.58 -v -38.02 -1.05 14.59 -v -44.85 -0.90 12.10 -v -29.86 -1.33 15.03 -v -37.90 -0.94 16.16 -v -29.38 -1.15 16.73 -v -44.96 -0.79 15.49 -v -48.45 -0.33 15.36 -v -45.08 -0.88 14.18 -v -48.53 -0.34 14.14 -v -48.02 -0.34 12.18 -v -49.75 -0.18 12.22 -v -49.14 -0.12 8.71 -v -47.61 -0.23 9.09 -v -44.67 -0.62 8.83 -v -44.59 -0.38 7.72 -v -37.48 -0.85 9.01 -v -37.54 -0.59 7.18 -v -30.23 -1.03 8.80 -v -29.34 -0.65 6.49 -v -29.61 -1.28 12.96 -v -49.23 0.13 8.56 -v -49.74 0.14 12.03 -v -50.13 -0.08 12.02 -v -49.58 -0.07 8.63 -v -49.75 -0.17 15.42 -v -49.85 -0.23 14.35 -v -29.74 -1.25 16.26 -v -29.78 -2.23 16.37 -v -29.67 -1.06 11.16 -v -29.74 -2.36 12.28 -v -29.92 -2.36 12.29 -v -29.96 -2.23 16.38 -v -29.85 -1.06 11.16 -v -29.92 -1.24 16.26 -v -32.53 -1.18 16.28 -v -32.58 -2.21 16.40 -v -32.35 -1.18 16.27 -v -32.40 -2.21 16.39 -v -32.54 -2.34 12.31 -v -32.36 -2.34 12.30 -v -32.46 -0.98 11.17 -v -32.28 -0.98 11.17 -v -35.27 -1.05 16.29 -v -35.32 -2.19 16.42 -v -35.09 -1.06 16.29 -v -35.15 -2.19 16.42 -v -35.28 -2.32 12.33 -v -35.11 -2.32 12.33 -v -35.21 -0.94 11.19 -v -35.03 -0.95 11.19 -v -29.68 -0.25 3.04 -v -21.55 0.05 5.47 -v -22.30 -1.51 12.76 -v -22.41 -1.49 15.29 -v -22.62 -1.36 17.25 -v -23.33 -0.39 18.94 -v -19.50 -0.44 19.26 -v -19.00 -1.50 17.12 -v -14.13 -0.49 20.28 -v -13.50 -1.56 17.59 -v -14.82 -1.75 15.41 -v -18.80 -1.58 15.14 -v -18.58 -1.57 12.58 -v -22.41 -1.16 8.70 -v -21.59 -0.77 5.53 -v -18.71 -1.36 9.03 -v -18.35 -1.00 6.58 -v -14.07 -1.37 9.24 -v -12.73 -0.99 6.36 -v -18.23 -0.74 5.10 -v -12.47 -0.77 4.38 -v -12.44 -0.05 4.34 -v -18.19 -0.02 5.06 -v -12.67 0.19 6.29 -v -18.29 0.22 6.52 -v -14.04 0.46 9.14 -v -18.63 0.56 8.92 -v -13.44 0.66 12.23 -v -18.47 0.74 12.46 -v -22.34 0.49 8.60 -v -22.20 0.75 12.64 -v -22.31 0.72 15.17 -v -22.53 0.53 17.14 -v -18.91 0.57 17.52 -v -13.40 0.59 18.05 -v -14.35 0.80 15.32 -v -18.69 0.73 15.02 -v -18.32 -0.76 20.39 -v -18.70 -0.53 20.37 -v -18.30 -0.83 18.46 -v -18.68 -0.59 18.44 -v -18.68 -0.07 20.33 -v -18.66 -0.13 18.40 -v -18.28 0.16 20.30 -v -18.26 0.10 18.37 -v -17.89 -0.08 20.32 -v -17.87 -0.14 18.39 -v -17.92 -0.54 20.36 -v -17.90 -0.60 18.43 -v -13.54 -1.60 12.35 -v -19.63 -0.07 20.24 -v -20.01 0.17 20.22 -v -19.65 -0.53 20.28 -v -20.44 -0.52 20.29 -v -20.05 -0.75 20.31 -v -20.41 -0.06 20.25 -v -21.96 -0.75 20.15 -v -22.34 -0.51 20.13 -v -21.94 -0.81 18.22 -v -22.32 -0.57 18.21 -v -22.32 -0.05 20.09 -v -22.30 -0.11 18.16 -v -21.92 0.18 20.07 -v -21.90 0.11 18.14 -v -21.53 -0.06 20.08 -v -21.51 -0.12 18.16 -v -21.56 -0.52 20.13 -v -21.54 -0.58 18.20 -v -26.32 -1.30 15.42 -v -26.39 -2.57 15.66 -v -26.01 -1.30 15.43 -v -26.08 -2.57 15.66 -v -26.38 -2.72 15.16 -v -26.07 -2.72 15.16 -v -25.97 -2.76 11.48 -v -26.29 -2.76 11.48 -v -26.19 -1.32 10.34 -v -25.88 -1.32 10.34 -v -20.03 -0.82 18.38 -v -20.42 -0.58 18.36 -v -20.39 -0.12 18.32 -v -19.99 0.11 18.29 -v -19.61 -0.13 18.31 -v -19.63 -0.59 18.35 -v -24.91 -3.09 9.88 -v -26.21 -2.73 9.87 -v -24.99 -3.07 16.55 -v -26.29 -2.70 16.54 -v -27.54 -3.07 9.90 -v -27.63 -3.05 16.58 -v -28.55 -4.05 9.98 -v -28.64 -4.02 16.65 -v -28.97 -5.38 10.07 -v -29.05 -5.36 16.74 -v -28.68 -6.73 10.15 -v -28.76 -6.70 16.82 -v -27.76 -7.71 10.20 -v -27.85 -7.69 16.87 -v -26.46 -8.08 10.21 -v -26.54 -8.06 16.88 -v -25.13 -7.74 10.18 -v -25.21 -7.71 16.85 -v -24.11 -6.76 10.11 -v -24.20 -6.73 16.78 -v -23.70 -5.42 10.02 -v -23.78 -5.40 16.69 -v -23.99 -4.08 9.93 -v -24.07 -4.06 16.60 -v -28.86 -5.35 18.00 -v -28.59 -6.59 18.07 -v -27.75 -7.50 18.12 -v -26.55 -7.84 18.13 -v -25.32 -7.52 18.10 -v -24.39 -6.62 18.03 -v -24.00 -5.39 17.95 -v -24.27 -4.15 17.87 -v -25.12 -3.24 17.82 -v -26.32 -2.90 17.81 -v -28.10 -6.30 19.61 -v -27.46 -6.99 19.65 -v -27.36 -5.86 20.77 -v -27.47 -5.35 20.74 -v -28.31 -5.35 19.56 -v -27.55 -3.23 17.85 -v -28.48 -4.12 17.91 -v -28.01 -4.41 19.49 -v -27.31 -4.84 20.70 -v -26.47 -5.36 21.07 -v -27.01 -6.24 20.79 -v -26.54 -7.25 19.66 -v -25.60 -7.01 19.63 -v -24.89 -6.32 19.58 -v -24.60 -5.38 19.52 -v -24.80 -4.44 19.46 -v -25.45 -3.74 19.42 -v -26.36 -3.48 19.42 -v -27.30 -3.73 19.44 -v -26.93 -4.47 20.68 -v -26.42 -4.34 20.66 -v -25.92 -4.48 20.67 -v -25.57 -4.86 20.69 -v -25.46 -5.37 20.72 -v -25.62 -5.88 20.75 -v -26.01 -6.25 20.78 -v -26.52 -6.38 20.79 -v -27.02 -4.02 6.72 -v -26.22 -3.82 6.70 -v -25.44 -4.04 6.71 -v -24.89 -4.63 6.74 -v -24.72 -5.43 6.79 -v -24.97 -6.23 6.84 -v -25.57 -6.81 6.89 -v -26.37 -7.02 6.91 -v -27.15 -6.80 6.90 -v -27.70 -6.21 6.87 -v -26.53 -4.91 4.15 -v -26.23 -4.84 4.15 -v -27.87 -5.41 6.82 -v -27.62 -4.61 6.77 -v -26.75 -5.13 4.17 -v -26.26 -5.43 3.93 -v -25.95 -4.92 4.15 -v -25.74 -5.14 4.16 -v -25.68 -5.43 4.18 -v -25.77 -5.73 4.20 -v -25.99 -5.94 4.21 -v -26.29 -6.02 4.22 -v -26.58 -5.94 4.22 -v -26.78 -5.72 4.21 -v -26.85 -5.42 4.19 -# 252 vertices - -vn 0.92 -0.09 -0.39 -vn -0.00 0.99 -0.12 -vn -0.01 0.99 -0.11 -vn -0.00 1.00 -0.09 -vn -0.01 1.00 -0.09 -vn -0.03 0.99 -0.17 -vn -0.03 0.99 -0.12 -vn -0.04 1.00 -0.06 -vn -0.04 1.00 -0.02 -vn -0.06 1.00 -0.03 -vn -0.03 1.00 0.09 -vn -0.11 0.99 0.03 -vn -0.09 0.98 0.16 -vn -0.28 0.96 0.07 -vn -0.18 0.98 0.09 -vn -0.34 0.94 0.05 -vn -0.16 0.99 0.06 -vn -0.14 0.98 0.16 -vn -0.04 0.97 0.22 -vn -0.02 0.98 0.21 -vn -0.01 1.00 -0.04 -vn -0.02 0.97 0.22 -vn -0.02 0.96 0.26 -vn -0.02 0.94 0.34 -vn -0.04 0.92 0.38 -vn -0.03 0.96 0.28 -vn -0.02 1.00 0.08 -vn -0.02 0.99 0.10 -vn -0.01 1.00 -0.02 -vn -0.03 -1.00 -0.03 -vn -0.03 -1.00 0.04 -vn -0.09 -0.99 -0.04 -vn -0.03 -1.00 0.05 -vn -0.04 -0.97 0.25 -vn -0.05 -0.90 0.43 -vn -0.05 -0.91 0.42 -vn -0.05 -0.93 0.38 -vn -0.07 -0.97 0.21 -vn -0.11 -0.97 0.22 -vn -0.13 -0.99 0.07 -vn -0.09 -1.00 0.03 -vn -0.12 -0.99 -0.01 -vn -0.13 -0.99 -0.04 -vn -0.09 -1.00 -0.03 -vn -0.06 -1.00 -0.04 -vn -0.11 -0.99 -0.04 -vn -0.08 -1.00 -0.04 -vn -0.07 -0.99 -0.14 -vn -0.05 -0.98 -0.21 -vn -0.03 -0.99 -0.10 -vn -0.03 -0.99 -0.14 -vn -0.02 -0.99 -0.11 -vn -0.02 -0.99 -0.17 -vn -0.02 -1.00 -0.04 -vn -0.28 0.96 -0.07 -vn -0.29 0.96 -0.04 -vn -0.47 0.88 -0.05 -vn -0.51 0.86 -0.09 -vn -0.15 0.99 -0.08 -vn -0.04 1.00 -0.08 -vn -0.09 -0.98 0.16 -vn -0.13 -0.98 0.15 -vn -0.10 -0.98 0.15 -vn -0.24 -0.96 0.12 -vn -0.28 -0.96 0.08 -vn -0.33 -0.94 0.00 -vn -0.37 -0.93 0.04 -vn -0.26 -0.97 -0.03 -vn -0.11 -0.99 0.06 -vn -0.09 -1.00 0.01 -vn 1.00 -0.05 0.01 -vn -1.00 0.05 -0.01 -vn 0.02 0.12 0.99 -vn -0.01 -1.00 0.03 -vn -0.02 -0.64 -0.77 -vn 0.02 0.11 0.99 -vn -0.08 -0.05 -1.00 -vn -0.08 0.09 -0.99 -vn 1.00 0.02 -0.07 -vn -0.08 -0.06 -0.99 -vn -0.08 -0.08 -0.99 -vn -0.08 0.03 -1.00 -vn -0.10 -0.12 -0.99 -vn 0.93 0.01 0.36 -vn 0.93 -0.02 0.37 -vn 0.99 -0.05 -0.15 -vn 0.99 -0.02 -0.17 -vn 0.87 0.29 0.40 -vn 0.99 -0.04 0.12 -vn 0.92 0.27 -0.29 -vn 0.75 0.27 0.61 -vn -0.02 -0.66 -0.75 -vn 0.99 -0.05 -0.10 -vn -0.02 -1.00 -0.06 -vn -0.03 -0.99 -0.11 -vn -0.04 -0.99 -0.11 -vn -0.01 0.99 -0.13 -vn -0.01 1.00 -0.08 -vn -0.92 0.09 0.39 -vn 0.08 0.12 0.99 -vn 0.08 0.06 0.99 -vn -0.12 -0.06 -0.99 -vn -0.03 -1.00 -0.04 -vn -0.03 -1.00 0.03 -vn -0.02 -1.00 0.04 -vn -0.04 -0.96 0.29 -vn -0.04 -0.96 0.28 -vn -0.06 -0.88 0.47 -vn -0.06 -0.90 0.44 -vn -0.04 -0.97 0.23 -vn -0.05 -0.92 0.38 -vn -0.03 -0.96 0.26 -vn -0.02 -1.00 0.03 -vn -0.03 -1.00 0.01 -vn -0.02 -0.99 -0.16 -vn -0.02 -0.99 -0.10 -vn -0.01 -0.99 -0.16 -vn -0.00 -0.99 -0.11 -vn -0.01 -0.99 -0.13 -vn -0.01 -0.99 -0.17 -vn -0.01 0.99 -0.12 -vn -0.00 0.99 -0.16 -vn 0.00 0.99 -0.14 -vn 0.02 1.00 -0.09 -vn 0.01 1.00 -0.10 -vn 0.02 1.00 -0.05 -vn 0.00 1.00 -0.03 -vn -0.00 1.00 -0.10 -vn -0.01 1.00 -0.03 -vn -0.00 1.00 -0.03 -vn -0.01 1.00 0.05 -vn -0.00 1.00 0.08 -vn -0.02 0.96 0.29 -vn -0.03 0.96 0.27 -vn -0.03 0.90 0.44 -vn -0.07 0.88 0.47 -vn -0.04 0.96 0.28 -vn -0.05 0.90 0.43 -vn -0.01 1.00 0.03 -vn -0.88 -0.48 0.01 -vn -0.89 -0.46 0.01 -vn -0.86 0.51 -0.03 -vn -0.84 0.54 -0.03 -vn 0.01 1.00 -0.03 -vn 0.02 1.00 -0.03 -vn 0.89 0.46 -0.01 -vn 0.88 0.48 -0.01 -vn 0.84 -0.54 0.03 -vn 0.86 -0.51 0.03 -vn -0.00 0.99 -0.14 -vn -0.00 0.99 -0.13 -vn -0.00 1.00 -0.08 -vn -0.01 -1.00 -0.06 -vn 0.01 0.09 1.00 -vn -0.00 0.18 0.98 -vn -0.01 -0.96 0.29 -vn -0.01 -1.00 0.01 -vn -0.00 -0.62 -0.78 -vn -0.02 0.92 0.40 -vn -0.05 -0.90 0.44 -vn 1.00 -0.05 0.03 -vn -1.00 0.05 -0.03 -vn 0.99 -0.04 0.13 -vn 0.98 -0.05 -0.17 -vn 0.98 -0.02 -0.19 -vn 0.91 0.01 0.42 -vn 0.90 -0.02 0.43 -vn 0.91 -0.15 0.37 -vn 0.96 -0.03 0.29 -vn 0.94 0.03 -0.33 -vn 0.85 -0.17 -0.50 -vn 0.96 -0.10 0.27 -vn -0.75 -0.27 -0.61 -vn -0.93 0.02 -0.37 -vn -0.93 -0.01 -0.36 -vn -0.99 0.02 0.15 -vn -0.99 0.05 0.16 -vn -0.99 0.04 -0.12 -vn -0.87 -0.29 -0.40 -vn -0.92 -0.27 0.29 -vn 0.52 0.85 0.00 -vn 0.01 1.00 -0.00 -vn -0.48 0.88 -0.01 -vn -0.50 0.87 -0.01 -vn -0.85 0.53 -0.01 -vn -0.86 0.52 -0.01 -vn -1.00 0.03 -0.01 -vn -0.89 -0.46 -0.01 -vn -0.88 -0.47 -0.01 -vn -0.52 -0.85 -0.00 -vn -0.01 -1.00 0.00 -vn 0.50 -0.87 0.01 -vn 0.48 -0.88 0.01 -vn 0.86 -0.52 0.01 -vn 0.85 -0.53 0.01 -vn 1.00 -0.03 0.01 -vn 0.88 0.47 0.01 -vn 0.89 0.46 0.01 -vn -0.99 0.06 0.15 -vn -0.88 -0.44 0.16 -vn -0.97 0.06 0.24 -vn -0.86 -0.44 0.25 -vn -0.52 -0.84 0.17 -vn -0.51 -0.82 0.26 -vn -0.01 -0.99 0.17 -vn -0.01 -0.96 0.26 -vn 0.49 -0.85 0.17 -vn 0.48 -0.84 0.26 -vn 0.85 -0.50 0.17 -vn 0.83 -0.50 0.26 -vn 0.98 -0.02 0.17 -vn 0.96 -0.03 0.26 -vn 0.87 0.47 0.17 -vn 0.85 0.46 0.26 -vn 0.51 0.84 0.17 -vn 0.50 0.83 0.26 -vn 0.02 0.99 0.16 -vn 0.01 0.97 0.25 -vn -0.79 -0.39 0.47 -vn -0.47 -0.74 0.48 -vn -0.55 -0.24 0.80 -vn -0.62 0.08 0.78 -vn -0.89 0.07 0.45 -vn -0.47 0.87 0.15 -vn -0.47 0.85 0.24 -vn -0.83 0.54 0.15 -vn -0.82 0.52 0.23 -vn -0.75 0.49 0.44 -vn -0.53 0.37 0.76 -vn 0.01 0.06 1.00 -vn -0.32 -0.49 0.81 -vn -0.01 -0.88 0.48 -vn 0.45 -0.76 0.47 -vn 0.76 -0.44 0.47 -vn 0.89 -0.01 0.46 -vn 0.78 0.43 0.46 -vn 0.45 0.76 0.46 -vn 0.01 0.89 0.45 -vn -0.43 0.79 0.44 -vn -0.30 0.58 0.76 -vn 0.01 0.65 0.76 -vn 0.32 0.56 0.76 -vn 0.55 0.33 0.77 -vn 0.63 0.02 0.78 -vn 0.54 -0.29 0.79 -vn 0.32 -0.51 0.80 -vn 0.00 -0.59 0.81 -vn -0.48 0.82 -0.32 -vn 0.01 0.95 -0.33 -vn -0.47 0.81 -0.34 -vn 0.01 0.94 -0.35 -vn 0.50 0.80 -0.32 -vn 0.50 0.80 -0.34 -vn 0.85 0.42 -0.31 -vn 0.84 0.42 -0.33 -vn 0.95 -0.07 -0.30 -vn 0.94 -0.06 -0.32 -vn 0.80 -0.52 -0.29 -vn 0.80 -0.51 -0.31 -vn 0.45 -0.84 -0.30 -vn 0.45 -0.83 -0.32 -vn -0.02 -0.95 -0.31 -vn -0.01 -0.95 -0.33 -vn -0.49 -0.81 -0.32 -vn -0.48 -0.81 -0.34 -vn -0.83 -0.46 -0.32 -vn -0.83 -0.45 -0.34 -vn -0.38 0.63 -0.68 -vn 0.00 0.73 -0.69 -vn -0.95 0.01 -0.32 -vn -0.94 0.02 -0.34 -vn -0.82 0.47 -0.32 -vn -0.81 0.48 -0.34 -vn -0.65 0.36 -0.67 -vn -0.01 -0.05 -1.00 -vn 0.39 0.61 -0.68 -vn 0.67 0.31 -0.67 -vn 0.75 -0.07 -0.65 -vn 0.64 -0.43 -0.64 -vn 0.36 -0.68 -0.63 -vn -0.01 -0.77 -0.64 -vn -0.39 -0.66 -0.64 -vn -0.66 -0.38 -0.65 -vn -0.75 -0.00 -0.66 -# 284 vertex normals - -vt 0.50 0.03 0.00 -vt 0.49 0.03 0.00 -vt 0.71 0.21 0.00 -vt 0.82 0.22 0.00 -vt 0.73 0.24 0.00 -vt 0.82 0.24 0.00 -vt 0.92 0.23 0.00 -vt 0.92 0.25 0.00 -vt 0.96 0.24 0.00 -vt 0.92 0.29 0.00 -vt 0.96 0.29 0.00 -vt 0.93 0.32 0.00 -vt 0.97 0.32 0.00 -vt 0.97 0.34 0.00 -vt 0.99 0.32 0.00 -vt 0.99 0.34 0.00 -vt 0.98 0.35 0.00 -vt 0.97 0.37 0.00 -vt 0.92 0.35 0.00 -vt 0.72 0.31 0.00 -vt 0.92 0.37 0.00 -vt 0.83 0.36 0.00 -vt 0.83 0.38 0.00 -vt 0.73 0.40 0.00 -vt 0.72 0.37 0.00 -vt 0.73 0.34 0.00 -vt 0.83 0.33 0.00 -vt 0.83 0.30 0.00 -vt 0.12 0.42 0.00 -vt 0.14 0.43 0.00 -vt 0.10 0.50 0.00 -vt 0.16 0.34 0.00 -vt 0.16 0.43 0.00 -vt 0.19 0.34 0.00 -vt 0.20 0.36 0.00 -vt 0.18 0.43 0.00 -vt 0.16 0.51 0.00 -vt 0.14 0.50 0.00 -vt 0.15 0.54 0.00 -vt 0.13 0.54 0.00 -vt 0.12 0.50 0.00 -vt 0.12 0.54 0.00 -vt 0.09 0.53 0.00 -vt 0.09 0.55 0.00 -vt 0.05 0.54 0.00 -vt 0.05 0.52 0.00 -vt 0.04 0.52 0.00 -vt 0.06 0.49 0.00 -vt 0.01 0.53 0.00 -vt 0.04 0.49 0.00 -vt 0.07 0.41 0.00 -vt 0.05 0.41 0.00 -vt 0.08 0.33 0.00 -vt 0.05 0.32 0.00 -vt 0.14 0.33 0.00 -vt 0.98 0.23 0.00 -vt 0.99 0.29 0.00 -vt 0.98 0.19 0.00 -vt 0.96 0.23 0.00 -vt 0.14 0.56 0.00 -vt 0.13 0.56 0.00 -vt 0.11 0.56 0.00 -vt 0.12 0.55 0.00 -vt 0.04 0.54 0.00 -vt 0.77 0.13 0.00 -vt 0.77 0.11 0.00 -vt 0.87 0.13 0.00 -vt 0.85 0.11 0.00 -vt 0.01 0.74 0.00 -vt 0.52 0.02 0.00 -vt 0.65 0.02 0.00 -vt 0.52 0.01 0.00 -vt 0.65 0.01 0.00 -vt 0.03 0.73 0.00 -vt 0.04 0.73 0.00 -vt 0.56 0.01 0.00 -vt 0.49 0.01 0.00 -vt 0.47 0.01 0.00 -vt 0.56 0.02 0.00 -vt 0.19 0.51 0.00 -vt 0.20 0.49 0.00 -vt 0.22 0.51 0.00 -vt 0.21 0.49 0.00 -vt 0.20 0.55 0.00 -vt 0.23 0.54 0.00 -vt 0.24 0.56 0.00 -vt 0.20 0.56 0.00 -vt 0.20 0.58 0.00 -vt 0.23 0.57 0.00 -vt 0.22 0.59 0.00 -vt 0.51 0.02 0.00 -vt 0.51 0.03 0.00 -vt 0.48 0.02 0.00 -vt 0.01 0.32 0.00 -vt 0.72 0.15 0.00 -vt 0.96 0.22 0.00 -vt 0.48 0.03 0.00 -vt 0.48 0.01 0.00 -vt 0.59 0.01 0.00 -vt 0.15 0.26 0.00 -vt 0.18 0.26 0.00 -vt 0.21 0.27 0.00 -vt 0.23 0.28 0.00 -vt 0.24 0.24 0.00 -vt 0.21 0.23 0.00 -vt 0.26 0.18 0.00 -vt 0.23 0.17 0.00 -vt 0.20 0.18 0.00 -vt 0.19 0.22 0.00 -vt 0.15 0.22 0.00 -vt 0.09 0.25 0.00 -vt 0.06 0.24 0.00 -vt 0.11 0.21 0.00 -vt 0.07 0.20 0.00 -vt 0.12 0.16 0.00 -vt 0.08 0.14 0.00 -vt 0.06 0.20 0.00 -vt 0.06 0.14 0.00 -vt 0.49 0.18 0.00 -vt 0.56 0.19 0.00 -vt 0.49 0.21 0.00 -vt 0.57 0.21 0.00 -vt 0.51 0.26 0.00 -vt 0.57 0.25 0.00 -vt 0.50 0.31 0.00 -vt 0.57 0.31 0.00 -vt 0.62 0.24 0.00 -vt 0.62 0.31 0.00 -vt 0.62 0.35 0.00 -vt 0.62 0.38 0.00 -vt 0.63 0.41 0.00 -vt 0.58 0.42 0.00 -vt 0.57 0.39 0.00 -vt 0.51 0.43 0.00 -vt 0.50 0.40 0.00 -vt 0.51 0.36 0.00 -vt 0.57 0.35 0.00 -vt 0.25 0.71 0.00 -vt 0.25 0.70 0.00 -vt 0.39 0.71 0.00 -vt 0.39 0.70 0.00 -vt 0.25 0.69 0.00 -vt 0.39 0.69 0.00 -vt 0.25 0.68 0.00 -vt 0.39 0.68 0.00 -vt 0.61 0.19 0.00 -vt 0.16 0.16 0.00 -vt 0.39 0.72 0.00 -vt 0.38 0.71 0.00 -vt 0.39 0.73 0.00 -vt 0.37 0.73 0.00 -vt 0.37 0.72 0.00 -vt 0.38 0.74 0.00 -vt 0.60 0.01 0.00 -vt 0.59 0.02 0.00 -vt 0.02 0.73 0.00 -vt 0.63 0.02 0.00 -vt 0.60 0.02 0.00 -vt 0.63 0.01 0.00 -vt 0.78 0.11 0.00 -vt 0.21 0.50 0.00 -vt 0.20 0.50 0.00 -vt 0.24 0.54 0.00 -vt 0.23 0.52 0.00 -vt 0.19 0.54 0.00 -vt 0.19 0.52 0.00 -vt 0.19 0.56 0.00 -vt 0.24 0.57 0.00 -vt 0.22 0.49 0.00 -vt 0.20 0.51 0.00 -vt 0.23 0.51 0.00 -vt 0.88 0.10 0.00 -vt 0.88 0.11 0.00 -vt 0.75 0.09 0.00 -vt 0.75 0.10 0.00 -vt 0.88 0.08 0.00 -vt 0.75 0.08 0.00 -vt 0.88 0.06 0.00 -vt 0.75 0.05 0.00 -vt 0.88 0.03 0.00 -vt 0.75 0.03 0.00 -vt 0.88 0.02 0.00 -vt 0.75 0.01 0.00 -vt 0.88 0.01 0.00 -vt 0.75 0.00 0.00 -vt 0.73 0.05 0.00 -vt 0.73 0.03 0.00 -vt 0.73 0.02 0.00 -vt 0.73 0.01 0.00 -vt 0.73 0.08 0.00 -vt 0.73 0.09 0.00 -vt 0.73 0.10 0.00 -vt 0.70 0.03 0.00 -vt 0.70 0.02 0.00 -vt 0.68 0.04 0.00 -vt 0.68 0.05 0.00 -vt 0.70 0.05 0.00 -vt 0.70 0.07 0.00 -vt 0.67 0.06 0.00 -vt 0.67 0.05 0.00 -vt 0.70 0.08 0.00 -vt 0.70 0.09 0.00 -vt 0.67 0.07 0.00 -vt 0.68 0.03 0.00 -vt 0.94 0.08 0.00 -vt 0.94 0.09 0.00 -vt 0.94 0.07 0.00 -vt 0.94 0.06 0.00 -vt 0.94 0.04 0.00 -vt 0.94 0.03 0.00 -vt 0.99 0.07 0.00 -vt 0.99 0.06 0.00 -vt 0.99 0.05 0.00 -# 213 texture coords - -g P_51_Mustang_Right_Wing -f 263/73/181 264/74/181 265/73/181 -f 266/75/182 267/76/183 268/77/184 -f 269/78/185 268/77/184 267/76/183 -f 267/76/183 270/79/186 269/78/185 -f 271/80/187 269/78/185 270/79/186 -f 271/80/187 270/79/186 272/81/188 -f 271/80/187 272/81/188 273/82/189 -f 274/83/190 273/82/189 272/81/188 -f 273/82/189 274/83/190 275/84/191 -f 276/85/192 275/84/191 274/83/190 -f 276/85/192 277/86/193 275/84/191 -f 276/85/192 278/87/194 277/86/193 -f 279/88/195 277/86/193 278/87/194 -f 278/87/194 280/87/196 279/88/195 -f 281/88/197 279/88/195 280/87/196 -f 279/88/195 281/88/197 282/89/198 -f 279/88/195 282/89/198 277/86/193 -f 283/90/199 277/86/193 282/89/198 -f 277/86/193 283/90/199 284/91/200 -f 268/77/184 269/78/185 285/92/201 -f 286/93/202 284/91/200 283/90/199 -f 284/91/200 286/93/202 287/94/203 -f 288/95/204 287/94/203 286/93/202 -f 288/95/204 289/96/205 287/94/203 -f 290/97/206 287/94/203 289/96/205 -f 290/97/206 291/98/207 287/94/203 -f 292/99/208 287/94/203 291/98/207 -f 291/98/207 285/92/201 292/99/208 -f 293/100/209 292/99/208 285/92/201 -f 293/100/209 285/92/201 269/78/185 -f 269/78/185 271/80/187 293/100/209 -f 273/82/189 293/100/209 271/80/187 -f 293/100/209 273/82/189 292/99/208 -f 275/84/191 292/99/208 273/82/189 -f 275/84/191 284/91/200 292/99/208 -f 284/91/200 275/84/191 277/86/193 -f 287/94/203 292/99/208 284/91/200 -f 294/101/210 295/102/211 296/103/212 -f 295/102/211 294/101/210 297/104/213 -f 295/102/211 297/104/213 298/105/214 -f 299/106/214 298/105/214 297/104/213 -f 299/106/214 289/107/215 298/105/214 -f 288/108/216 298/105/214 289/107/215 -f 288/108/216 286/109/217 298/105/214 -f 300/110/218 298/105/214 286/109/217 -f 286/109/217 283/111/219 300/110/218 -f 301/112/220 300/110/218 283/111/219 -f 300/110/218 301/112/220 302/113/221 -f 303/114/222 302/113/221 301/112/220 -f 303/114/222 304/115/223 302/113/221 -f 304/115/223 303/114/222 305/116/224 -f 305/116/224 306/117/225 304/115/223 -f 307/118/226 304/115/223 306/117/225 -f 263/119/227 307/118/226 306/117/225 -f 307/118/226 263/119/227 308/120/228 -f 264/121/225 263/119/227 306/117/225 -f 309/122/229 308/120/228 263/119/227 -f 308/120/228 309/122/229 310/123/230 -f 311/124/231 310/123/230 309/122/229 -f 310/123/230 311/124/231 312/125/232 -f 313/126/233 312/125/232 311/124/231 -f 312/125/232 314/127/234 310/123/230 -f 294/101/210 310/123/230 314/127/234 -f 310/123/230 294/101/210 308/120/228 -f 296/103/212 308/120/228 294/101/210 -f 308/120/228 296/103/212 307/118/226 -f 304/115/223 307/118/226 296/103/212 -f 296/103/212 302/113/221 304/115/223 -f 302/113/221 296/103/212 295/102/211 -f 302/113/221 295/102/211 300/110/218 -f 298/105/214 300/110/218 295/102/211 -f 314/127/234 297/104/213 294/101/210 -f 272/81/188 315/128/235 274/83/190 -f 316/129/236 274/83/190 315/128/235 -f 274/83/190 316/129/236 276/85/192 -f 278/87/194 276/85/192 316/129/236 -f 278/87/194 316/129/236 280/87/196 -f 317/129/237 280/87/196 316/129/236 -f 317/129/237 316/129/236 318/128/238 -f 315/128/235 318/128/238 316/129/236 -f 264/130/239 318/128/238 315/128/235 -f 264/130/239 315/128/235 265/131/240 -f 272/81/188 265/131/240 315/128/235 -f 265/131/240 272/81/188 270/79/186 -f 283/111/241 282/132/242 301/112/243 -f 319/133/244 301/112/243 282/132/242 -f 281/133/245 319/133/244 282/132/242 -f 281/133/245 280/134/246 319/133/244 -f 320/135/247 319/133/244 280/134/246 -f 320/135/247 280/134/246 305/116/248 -f 317/116/248 305/116/248 280/134/246 -f 317/116/248 318/136/223 305/116/248 -f 306/117/223 305/116/248 318/136/223 -f 264/121/223 306/117/223 318/136/223 -f 319/133/249 320/135/250 301/112/220 -f 303/114/222 301/112/220 320/135/250 -f 320/135/250 305/116/224 303/114/222 -f 321/137/251 322/138/251 323/139/251 -f 324/140/251 323/139/251 322/138/251 -f 325/140/252 326/138/252 327/139/252 -f 328/137/252 327/139/252 326/138/252 -f 329/141/253 330/141/253 331/141/253 -f 332/141/253 331/141/253 330/141/253 -f 330/142/254 333/143/254 332/144/254 -f 334/145/254 332/144/254 333/143/254 -f 333/146/255 335/147/255 334/146/255 -f 336/147/255 334/146/255 335/147/255 -f 334/140/251 336/139/251 332/138/251 -f 331/137/251 332/138/251 336/139/251 -f 333/140/252 330/138/252 335/139/252 -f 329/137/252 335/139/252 330/138/252 -f 337/141/256 338/141/256 339/141/256 -f 340/141/256 339/141/256 338/141/256 -f 338/142/254 341/143/254 340/144/254 -f 342/145/254 340/144/254 341/143/254 -f 341/146/255 343/147/255 342/146/255 -f 344/147/255 342/146/255 343/147/255 -f 342/140/251 344/139/251 340/138/251 -f 339/137/251 340/138/251 344/139/251 -f 341/140/252 338/138/252 343/139/252 -f 337/137/252 343/139/252 338/138/252 -f 267/144/257 266/148/257 270/149/257 -f 270/149/258 266/148/259 265/150/258 -f 313/151/260 311/142/260 266/148/260 -f 266/148/261 311/142/261 265/150/261 -f 311/142/262 309/149/262 265/150/262 -f 309/149/263 263/150/263 265/150/263 -f 312/152/264 313/153/264 268/154/264 -f 266/155/265 268/154/265 313/153/265 -f 314/156/266 312/152/266 285/157/266 -f 268/154/267 285/157/267 312/152/267 -f 291/158/268 297/159/268 285/157/268 -f 314/156/269 285/157/269 297/159/269 -f 299/160/270 297/159/270 290/161/270 -f 291/158/270 290/161/270 297/159/270 -f 289/162/271 299/160/271 290/161/271 -f 328/141/253 326/141/253 321/141/253 -f 322/141/253 321/141/253 326/141/253 -f 326/142/254 325/143/254 322/144/254 -f 324/145/254 322/144/254 325/143/254 -f 325/146/272 327/147/272 324/146/272 -f 323/147/272 324/146/272 327/147/272 -f 266/163/273 313/164/273 345/165/273 -f 264/121/274 345/166/275 263/119/274 -f 313/126/276 263/119/274 345/166/275 -f 345/167/277 264/130/185 266/75/277 -f 265/168/278 266/75/277 264/130/185 -f 264/73/279 263/169/279 265/169/279 -f 263/143/280 313/165/280 265/145/280 -f 266/170/281 265/145/281 313/165/281 -f 266/148/282 346/171/282 313/151/282 -f 347/172/283 348/173/284 314/127/234 -f 297/104/285 314/127/234 348/173/284 -f 297/104/285 348/173/284 299/106/286 -f 349/174/287 299/106/286 348/173/284 -f 349/174/287 350/175/288 299/106/286 -f 350/175/288 349/174/287 351/176/289 -f 352/177/290 351/176/289 349/174/287 -f 351/176/289 352/177/290 353/178/291 -f 354/179/292 353/178/291 352/177/290 -f 354/179/292 352/177/290 355/180/293 -f 356/181/294 355/180/293 352/177/290 -f 356/181/294 357/182/234 355/180/293 -f 357/182/234 356/181/294 347/172/283 -f 347/172/283 358/183/230 357/182/234 -f 347/172/283 314/127/234 358/183/230 -f 312/125/232 358/183/230 314/127/234 -f 312/125/232 313/126/295 358/183/230 -f 359/184/231 358/183/230 313/126/295 -f 349/174/287 348/173/284 352/177/290 -f 356/181/294 352/177/290 348/173/284 -f 348/173/284 347/172/283 356/181/294 -f 358/183/230 359/184/231 360/185/296 -f 361/186/297 360/185/296 359/184/231 -f 360/185/296 361/186/297 362/187/298 -f 363/188/299 362/187/298 361/186/297 -f 361/186/297 364/189/300 363/188/299 -f 365/190/232 363/188/299 364/189/300 -f 364/189/300 361/186/297 359/184/231 -f 366/191/301 367/192/302 368/193/182 -f 369/194/303 368/193/182 367/192/302 -f 368/193/182 369/194/303 370/195/304 -f 371/196/305 370/195/304 369/194/303 -f 370/195/304 371/196/305 372/197/306 -f 373/198/307 372/197/306 371/196/305 -f 371/196/305 374/199/308 373/198/307 -f 375/200/309 373/198/307 374/199/308 -f 375/200/309 374/199/308 285/92/310 -f 375/200/309 285/92/310 376/201/311 -f 291/98/312 376/201/311 285/92/310 -f 291/98/312 290/97/313 376/201/311 -f 377/202/314 376/201/311 290/97/313 -f 377/202/314 290/97/313 350/203/315 -f 350/203/315 351/204/316 377/202/314 -f 378/205/317 377/202/314 351/204/316 -f 351/204/316 353/206/318 378/205/317 -f 379/207/314 378/205/317 353/206/318 -f 372/197/306 373/198/307 380/208/319 -f 379/207/314 380/208/319 378/205/317 -f 381/209/319 378/205/317 380/208/319 -f 381/209/319 380/208/319 373/198/307 -f 373/198/307 375/200/309 381/209/319 -f 376/201/311 381/209/319 375/200/309 -f 381/209/319 376/201/311 378/205/317 -f 377/202/314 378/205/317 376/201/311 -f 382/210/293 383/211/320 384/212/254 -f 385/213/321 384/212/254 383/211/320 -f 383/211/320 386/214/322 385/213/321 -f 387/215/323 385/213/321 386/214/322 -f 386/214/322 388/216/324 387/215/323 -f 389/217/325 387/215/323 388/216/324 -f 388/216/324 390/214/326 389/217/325 -f 391/215/327 389/217/325 390/214/326 -f 390/214/326 392/211/328 391/215/327 -f 393/213/329 391/215/327 392/211/328 -f 392/211/328 382/210/293 393/213/329 -f 384/212/254 393/213/329 382/210/293 -f 367/192/302 346/218/330 369/194/303 -f 369/194/303 346/218/330 371/196/305 -f 374/199/308 371/196/305 346/218/330 -f 346/218/330 266/75/331 374/199/308 -f 268/77/332 374/199/308 266/75/331 -f 268/77/332 285/92/310 374/199/308 -f 362/187/298 394/219/333 360/185/296 -f 357/182/234 360/185/296 394/219/333 -f 360/185/296 357/182/234 358/183/230 -f 394/219/333 355/180/293 357/182/234 -f 390/220/334 388/221/334 392/222/334 -f 388/221/334 383/223/334 392/222/334 -f 386/224/334 383/223/334 388/221/334 -f 392/222/334 383/223/334 382/225/334 -f 395/220/334 396/221/334 397/222/334 -f 396/221/334 398/223/334 397/222/334 -f 397/222/334 398/223/334 399/225/334 -f 400/224/334 398/223/334 396/221/334 -f 401/210/293 402/211/320 403/212/254 -f 404/213/321 403/212/254 402/211/320 -f 402/211/320 405/214/322 404/213/321 -f 406/215/323 404/213/321 405/214/322 -f 405/214/322 407/216/324 406/215/323 -f 408/217/325 406/215/323 407/216/324 -f 407/216/324 409/214/326 408/217/325 -f 410/215/327 408/217/325 409/214/326 -f 409/214/326 411/211/328 410/215/327 -f 412/213/329 410/215/327 411/211/328 -f 411/211/328 401/210/293 412/213/329 -f 403/212/254 412/213/329 401/210/293 -f 409/220/334 407/221/334 411/222/334 -f 407/221/334 402/223/334 411/222/334 -f 405/224/334 402/223/334 407/221/334 -f 411/222/334 402/223/334 401/225/334 -f 367/226/282 359/227/282 346/171/282 -f 346/171/282 359/227/282 313/151/282 -f 413/141/335 414/141/335 415/141/335 -f 416/141/335 415/141/335 414/141/335 -f 414/228/336 417/228/336 416/228/336 -f 418/228/336 416/228/336 417/228/336 -f 419/147/337 418/228/337 420/147/337 -f 417/228/337 420/147/337 418/228/337 -f 420/146/338 421/147/338 419/146/338 -f 422/147/338 419/146/338 421/147/338 -f 289/96/339 350/203/315 290/97/313 -f 289/107/340 299/106/286 350/175/288 -f 365/229/282 364/230/282 366/231/282 -f 367/226/282 366/231/282 364/230/282 -f 364/230/282 359/227/282 367/226/282 -f 415/137/341 416/138/341 422/139/341 -f 422/139/341 418/232/341 419/140/341 -f 416/138/341 418/232/341 422/139/341 -f 413/137/342 421/139/342 414/138/342 -f 421/139/342 420/140/342 414/138/342 -f 414/138/342 420/140/342 417/232/342 -f 399/210/293 398/211/320 423/212/254 -f 424/213/321 423/212/254 398/211/320 -f 398/211/320 400/214/322 424/213/321 -f 425/215/323 424/213/321 400/214/322 -f 400/214/322 396/216/324 425/215/323 -f 426/217/325 425/215/323 396/216/324 -f 396/216/324 395/214/326 426/217/325 -f 427/215/327 426/217/325 395/214/326 -f 395/214/326 397/211/328 427/215/327 -f 428/213/329 427/215/327 397/211/328 -f 397/211/328 399/210/293 428/213/329 -f 423/212/254 428/213/329 399/210/293 -f 363/154/343 365/233/343 368/152/343 -f 366/234/269 368/152/269 365/233/269 -f 394/235/344 362/236/344 372/237/344 -f 370/238/345 372/237/345 362/236/345 -f 362/236/346 363/154/346 370/238/346 -f 368/152/347 370/238/347 363/154/347 -f 355/158/348 394/235/348 380/239/348 -f 372/237/349 380/239/349 394/235/349 -f 379/160/350 354/240/350 380/239/350 -f 355/158/351 380/239/351 354/240/351 -f 353/162/352 354/240/352 379/160/352 -f 290/160/353 299/240/353 289/162/353 -f 266/153/354 313/241/354 268/242/354 -f 312/243/355 268/242/355 313/241/355 -f 312/243/356 314/235/356 268/242/356 -f 285/156/357 268/242/357 314/235/357 -f 314/235/358 297/158/358 285/156/358 -f 291/159/359 285/156/359 297/158/359 -f 291/159/360 297/158/360 290/160/360 -f 299/240/360 290/160/360 297/158/360 -f 429/244/361 430/245/362 431/246/361 -f 432/247/362 431/246/361 430/245/362 -f 430/245/362 433/244/363 432/247/362 -f 434/246/364 432/247/362 433/244/363 -f 433/244/363 435/248/365 434/246/364 -f 436/249/366 434/246/364 435/248/365 -f 435/248/365 437/250/252 436/249/366 -f 438/251/367 436/249/366 437/250/252 -f 437/250/252 439/252/368 438/251/367 -f 440/253/369 438/251/367 439/252/368 -f 439/252/368 441/254/370 440/253/369 -f 442/255/370 440/253/369 441/254/370 -f 441/254/370 443/256/371 442/255/370 -f 444/257/371 442/255/370 443/256/371 -f 443/256/371 445/254/372 444/257/371 -f 446/255/373 444/257/371 445/254/372 -f 445/254/372 447/252/374 446/255/373 -f 448/253/375 446/255/373 447/252/374 -f 447/252/374 449/250/376 448/253/375 -f 450/251/251 448/253/375 449/250/376 -f 449/250/376 451/248/377 450/251/251 -f 452/249/378 450/251/251 451/248/377 -f 451/248/377 429/244/361 452/249/378 -f 431/246/361 452/249/378 429/244/361 -f 438/251/379 440/253/380 453/258/381 -f 454/259/382 453/258/381 440/253/380 -f 440/253/380 442/255/383 454/259/382 -f 455/260/384 454/259/382 442/255/383 -f 442/255/383 444/257/385 455/260/384 -f 456/261/386 455/260/384 444/257/385 -f 444/257/385 446/255/387 456/261/386 -f 457/260/388 456/261/386 446/255/387 -f 446/255/387 448/253/389 457/260/388 -f 458/259/390 457/260/388 448/253/389 -f 448/253/389 450/251/391 458/259/390 -f 459/258/392 458/259/390 450/251/391 -f 450/251/391 452/249/393 459/258/392 -f 460/262/394 459/258/392 452/249/393 -f 452/249/393 431/246/395 460/262/394 -f 461/263/396 460/262/394 431/246/395 -f 431/246/395 432/247/397 461/263/396 -f 462/264/398 461/263/396 432/247/397 -f 454/259/382 455/260/384 463/265/399 -f 455/260/384 456/261/386 464/266/400 -f 464/266/400 463/265/399 455/260/384 -f 463/265/399 464/266/400 465/267/401 -f 465/267/401 466/268/402 463/265/399 -f 467/269/403 463/265/399 466/268/402 -f 463/265/399 467/269/403 454/259/382 -f 453/258/381 454/259/382 467/269/403 -f 432/247/397 434/246/404 462/264/398 -f 468/263/405 462/264/398 434/246/404 -f 434/246/404 436/249/406 468/263/405 -f 469/262/407 468/263/405 436/249/406 -f 436/249/406 438/251/379 469/262/407 -f 453/258/381 469/262/407 438/251/379 -f 469/262/407 453/258/381 470/270/408 -f 467/269/403 470/270/408 453/258/381 -f 470/270/408 467/269/403 471/271/409 -f 466/268/402 471/271/409 467/269/403 -f 472/272/410 471/271/409 466/268/402 -f 472/272/410 466/268/402 465/267/401 -f 472/272/410 465/267/401 473/267/411 -f 473/267/411 465/267/401 464/266/400 -f 464/266/400 474/266/412 473/267/411 -f 474/266/412 464/266/400 456/261/386 -f 456/261/386 457/260/388 474/266/412 -f 475/266/413 474/266/412 457/260/388 -f 457/260/388 458/259/390 475/266/413 -f 476/265/414 475/266/413 458/259/390 -f 458/259/390 459/258/392 476/265/414 -f 477/269/415 476/265/414 459/258/392 -f 459/258/392 460/262/394 477/269/415 -f 478/270/416 477/269/415 460/262/394 -f 460/262/394 461/263/396 478/270/416 -f 479/273/417 478/270/416 461/263/396 -f 461/263/396 462/264/398 479/273/417 -f 480/274/418 479/273/417 462/264/398 -f 462/264/398 468/263/405 480/274/418 -f 481/273/419 480/274/418 468/263/405 -f 468/263/405 469/262/407 481/273/419 -f 470/270/408 481/273/419 469/262/407 -f 481/273/419 470/270/408 482/275/420 -f 471/271/409 482/275/420 470/270/408 -f 472/272/410 482/275/420 471/271/409 -f 472/272/410 483/275/421 482/275/420 -f 480/274/418 481/273/419 483/275/421 -f 482/275/420 483/275/421 481/273/419 -f 472/272/410 484/275/422 483/275/421 -f 483/275/421 484/275/422 480/274/418 -f 479/273/417 480/274/418 484/275/422 -f 484/275/422 485/271/423 479/273/417 -f 478/270/416 479/273/417 485/271/423 -f 485/271/423 486/268/424 478/270/416 -f 477/269/415 478/270/416 486/268/424 -f 486/268/424 487/267/425 477/269/415 -f 476/265/414 477/269/415 487/267/425 -f 487/267/425 488/267/426 476/265/414 -f 475/266/413 476/265/414 488/267/426 -f 488/267/426 489/276/427 475/266/413 -f 474/266/412 475/266/413 489/276/427 -f 489/276/427 473/267/411 474/266/412 -f 472/272/410 473/267/411 489/276/427 -f 472/272/410 489/276/427 488/267/426 -f 472/272/410 488/267/426 487/267/425 -f 472/272/410 487/267/425 486/268/424 -f 472/272/410 486/268/424 485/271/423 -f 472/272/410 485/271/423 484/275/422 -f 433/244/428 430/245/429 490/277/430 -f 491/278/431 490/277/430 430/245/429 -f 430/245/429 429/244/432 491/278/431 -f 492/277/433 491/278/431 429/244/432 -f 429/244/432 451/248/434 492/277/433 -f 493/279/435 492/277/433 451/248/434 -f 451/248/434 449/250/436 493/279/435 -f 494/280/437 493/279/435 449/250/436 -f 449/250/436 447/252/438 494/280/437 -f 495/281/439 494/280/437 447/252/438 -f 447/252/438 445/254/440 495/281/439 -f 496/282/441 495/281/439 445/254/440 -f 445/254/440 443/256/442 496/282/441 -f 497/282/443 496/282/441 443/256/442 -f 443/256/442 441/254/444 497/282/443 -f 498/282/445 497/282/443 441/254/444 -f 441/254/444 439/252/446 498/282/445 -f 499/281/447 498/282/445 439/252/446 -f 490/277/430 491/278/431 500/283/448 -f 501/283/449 500/283/448 491/278/431 -f 491/278/431 492/277/433 501/283/449 -f 439/252/446 437/250/450 499/281/447 -f 502/280/451 499/281/447 437/250/450 -f 437/250/450 435/248/452 502/280/451 -f 503/279/453 502/280/451 435/248/452 -f 435/248/452 433/244/428 503/279/453 -f 490/277/430 503/279/453 433/244/428 -f 503/279/453 490/277/430 504/284/454 -f 500/283/448 504/284/454 490/277/430 -f 504/284/454 500/283/448 505/284/455 -f 500/283/448 501/283/449 505/284/455 -f 501/283/449 506/283/456 505/284/455 -f 506/283/456 501/283/449 492/277/433 -f 492/277/433 493/279/435 506/283/456 -f 507/284/457 506/283/456 493/279/435 -f 493/279/435 494/280/437 507/284/457 -f 508/284/458 507/284/457 494/280/437 -f 494/280/437 495/281/439 508/284/458 -f 509/285/459 508/284/458 495/281/439 -f 495/281/439 496/282/441 509/285/459 -f 510/285/460 509/285/459 496/282/441 -f 496/282/441 497/282/443 510/285/460 -f 511/285/461 510/285/460 497/282/443 -f 497/282/443 498/282/445 511/285/461 -f 512/285/462 511/285/461 498/282/445 -f 498/282/445 499/281/447 512/285/462 -f 513/285/463 512/285/462 499/281/447 -f 499/281/447 502/280/451 513/285/463 -f 514/284/464 513/285/463 502/280/451 -f 502/280/451 503/279/453 514/284/464 -f 504/284/454 514/284/464 503/279/453 -f 514/284/464 504/284/454 505/284/455 -f 513/285/463 514/284/464 505/284/455 -f 512/285/462 513/285/463 505/284/455 -f 511/285/461 512/285/462 505/284/455 -f 510/285/460 511/285/461 505/284/455 -f 509/285/459 510/285/460 505/284/455 -f 508/284/458 509/285/459 505/284/455 -f 507/284/457 508/284/458 505/284/455 -f 506/283/456 507/284/457 505/284/455 -# 472 faces - -# -# object P_51_Mustang_Right_Landing_Wheel -# - -v -21.65 -7.03 18.48 -v -20.12 -7.12 18.43 -v -21.65 -7.03 18.62 -v -20.12 -7.12 18.57 -v -20.72 -9.30 17.99 -v -20.96 -9.30 18.00 -v -20.29 -0.52 17.44 -v -20.54 -0.52 17.45 -v -21.12 -9.30 18.19 -v -20.70 -0.51 17.64 -v -21.11 -9.30 18.43 -v -20.69 -0.51 17.88 -v -20.93 -9.30 18.59 -v -20.51 -0.51 18.04 -v -20.69 -9.30 18.58 -v -20.27 -0.52 18.03 -v -20.53 -9.30 18.39 -v -20.10 -0.52 17.84 -v -20.54 -9.30 18.15 -v -20.11 -0.52 17.60 -v -20.33 -12.95 18.23 -v -20.20 -10.30 18.07 -v -20.11 -12.93 18.22 -v -19.87 -10.28 18.05 -v -20.30 -9.53 18.02 -v -20.07 -9.01 17.98 -v -20.64 -9.29 18.02 -v -20.61 -8.74 17.98 -v -20.32 -12.95 18.73 -v -20.01 -12.93 18.71 -v -20.20 -10.30 18.56 -v -19.86 -10.28 18.55 -v -20.30 -9.53 18.52 -v -20.07 -9.01 18.48 -v -20.63 -9.29 18.51 -v -20.60 -8.73 18.48 -v -21.23 -1.10 17.16 -v -22.09 -3.52 17.35 -v -21.15 -1.12 18.27 -v -24.19 -9.64 18.88 -v -24.42 -9.57 15.50 -v -24.22 -9.64 15.49 -v -21.89 -3.59 17.34 -v -23.98 -9.71 18.87 -v -20.95 -1.19 18.26 -v -21.02 -1.16 17.16 -v -21.65 -6.86 18.47 -v -21.64 -6.86 18.61 -v -20.11 -6.80 18.41 -v -20.11 -6.80 18.55 -v -20.12 -6.80 17.67 -v -20.13 -7.12 17.69 -v -21.65 -6.86 17.72 -v -21.66 -7.04 17.74 -v -21.66 -7.04 17.88 -v -20.13 -7.12 17.83 -v -21.65 -6.86 17.87 -v -20.11 -6.80 17.81 -v -20.14 -11.43 20.48 -v -20.18 -12.67 20.94 -v -20.12 -10.55 19.48 -v -20.30 -15.29 18.74 -v -20.31 -15.01 17.47 -v -20.27 -14.90 19.94 -v -20.15 -10.67 17.01 -v -20.12 -10.27 18.21 -v -20.23 -13.94 20.74 -v -20.89 -10.51 16.93 -v -20.86 -10.09 18.22 -v -20.86 -10.40 19.58 -v -20.88 -11.34 20.66 -v -20.92 -12.66 21.15 -v -20.97 -14.03 20.94 -v -21.02 -15.05 20.07 -v -21.05 -15.47 18.78 -v -21.06 -15.17 17.42 -v -20.29 -14.13 16.47 -v -21.04 -14.23 16.35 -v -20.25 -12.89 16.01 -v -20.99 -12.90 15.85 -v -20.20 -11.62 16.21 -v -20.94 -11.54 16.07 -v -21.69 -11.63 16.26 -v -21.64 -10.67 17.07 -v -21.61 -10.28 18.27 -v -21.61 -10.56 19.54 -v -21.63 -11.44 20.54 -v -21.67 -12.68 21.00 -v -21.72 -13.94 20.80 -v -21.76 -14.90 19.99 -v -21.79 -15.29 18.79 -v -21.80 -15.01 17.52 -v -21.78 -14.14 16.52 -v -21.74 -12.90 16.06 -# 94 vertices - -vn -0.05 -1.00 0.00 -vn 0.32 -0.07 -0.95 -vn -0.45 -0.03 -0.89 -vn 0.33 -0.07 -0.94 -vn -0.43 -0.04 -0.90 -vn -0.95 0.03 -0.32 -vn -0.94 0.02 -0.35 -vn -0.90 0.07 0.44 -vn -0.90 0.07 0.42 -vn -0.33 0.07 0.94 -vn -0.32 0.07 0.95 -vn 0.43 0.04 0.90 -vn 0.45 0.03 0.89 -vn 0.94 -0.02 0.35 -vn 0.95 -0.03 0.32 -vn 0.90 -0.07 -0.42 -vn 0.90 -0.07 -0.44 -vn -0.03 -0.06 -1.00 -vn 0.03 0.06 1.00 -vn -0.01 -1.00 0.00 -vn 0.01 1.00 -0.00 -vn -0.94 0.34 0.07 -vn 0.94 -0.34 -0.07 -vn -1.00 0.05 0.01 -vn -0.04 1.00 -0.00 -vn 1.00 -0.05 -0.01 -vn 0.46 0.89 -0.01 -vn 0.99 0.16 -0.01 -vn 0.97 -0.10 -0.20 -vn 1.00 -0.06 -0.04 -vn 0.98 -0.10 -0.18 -vn 1.00 -0.06 -0.01 -vn 0.07 -1.00 0.00 -vn 0.06 -1.00 -0.00 -vn 0.05 -1.00 -0.01 -vn -0.99 -0.13 0.01 -vn -0.59 -0.81 0.01 -vn 0.32 0.95 -0.00 -vn 0.06 0.05 1.00 -vn -0.32 -0.95 0.00 -vn 0.05 0.27 -0.96 -vn -0.06 -0.05 -1.00 -vn 1.00 -0.04 -0.01 -vn 0.22 0.81 -0.55 -vn -0.02 0.83 -0.56 -vn 0.24 0.97 -0.05 -vn -0.00 1.00 -0.05 -vn 0.25 0.87 0.44 -vn 0.01 0.89 0.45 -vn 0.26 0.55 0.79 -vn 0.03 0.57 0.82 -vn 0.27 0.10 0.96 -vn 0.03 0.10 0.99 -vn 0.27 -0.40 0.87 -vn 0.03 -0.42 0.91 -vn 0.26 -0.80 0.53 -vn 0.02 -0.83 0.56 -vn 0.24 -0.97 0.04 -vn 0.00 -1.00 0.05 -vn 0.22 -0.87 -0.45 -vn -0.01 -0.89 -0.45 -vn 0.20 -0.55 -0.81 -vn -0.03 -0.57 -0.82 -vn 0.20 -0.10 -0.97 -vn -0.03 -0.10 -0.99 -vn 0.21 0.40 -0.89 -vn -0.03 0.42 -0.91 -vn -0.27 0.40 -0.87 -vn -0.26 0.80 -0.53 -vn -0.24 0.97 -0.04 -vn -0.22 0.87 0.45 -vn -0.20 0.55 0.81 -vn -0.20 0.10 0.97 -vn -0.21 -0.40 0.89 -vn -0.22 -0.81 0.55 -vn -0.24 -0.97 0.05 -vn -0.25 -0.87 -0.44 -vn -0.26 -0.55 -0.79 -vn -0.27 -0.10 -0.96 -vn -1.00 0.04 0.01 -# 80 vertex normals - -vt 0.07 0.76 0.00 -vt 0.30 0.92 0.00 -vt 0.09 0.92 0.00 -vt 0.30 0.93 0.00 -vt 0.09 0.93 0.00 -vt 0.30 0.94 0.00 -vt 0.09 0.94 0.00 -vt 0.44 0.70 0.00 -vt 0.44 0.73 0.00 -vt 0.44 0.74 0.00 -vt 0.43 0.74 0.00 -vt 0.43 0.75 0.00 -vt 0.32 0.98 0.00 -vt 0.31 0.98 0.00 -vt 0.33 0.98 0.00 -vt 0.33 0.99 0.00 -vt 0.32 1.00 0.00 -vt 0.33 1.00 0.00 -vt 0.47 0.08 0.00 -vt 0.53 0.08 0.00 -vt 0.47 0.11 0.00 -vt 0.67 0.11 0.00 -vt 0.66 0.03 0.00 -vt 0.61 0.03 0.00 -vt 0.47 0.00 0.00 -vt 0.66 0.00 0.00 -vt 0.08 0.75 0.00 -vt 0.09 0.75 0.00 -vt 0.07 0.75 0.00 -vt 0.04 0.84 0.00 -vt 0.04 0.85 0.00 -vt 0.03 0.84 0.00 -vt 0.03 0.85 0.00 -vt 0.08 0.76 0.00 -vt 0.09 0.74 0.00 -vt 0.43 0.73 0.00 -vt 0.42 0.73 0.00 -vt 0.42 0.74 0.00 -vt 0.43 0.72 0.00 -vt 0.42 0.72 0.00 -vt 0.46 0.72 0.00 -vt 0.46 0.73 0.00 -vt 0.45 0.73 0.00 -vt 0.03 0.68 0.00 -vt 0.05 0.68 0.00 -vt 0.16 0.67 0.00 -vt 0.03 0.67 0.00 -vt 0.08 0.67 0.00 -vt 0.08 0.68 0.00 -vt 0.07 0.67 0.00 -vt 0.07 0.66 0.00 -vt 0.16 0.66 0.00 -vt 0.03 0.66 0.00 -vt 0.31 0.99 0.00 -vt 0.85 0.94 0.00 -vt 0.85 0.96 0.00 -vt 0.84 0.93 0.00 -vt 0.80 0.99 0.00 -vt 0.78 0.98 0.00 -vt 0.82 0.99 0.00 -vt 0.80 0.92 0.00 -vt 0.82 0.92 0.00 -vt 0.84 0.98 0.00 -vt 0.32 0.78 0.00 -vt 0.32 0.76 0.00 -vt 0.34 0.78 0.00 -vt 0.34 0.76 0.00 -vt 0.36 0.78 0.00 -vt 0.36 0.76 0.00 -vt 0.38 0.78 0.00 -vt 0.38 0.76 0.00 -vt 0.39 0.78 0.00 -vt 0.39 0.76 0.00 -vt 0.31 0.78 0.00 -vt 0.31 0.76 0.00 -vt 0.29 0.78 0.00 -vt 0.29 0.76 0.00 -vt 0.31 0.75 0.00 -vt 0.32 0.75 0.00 -vt 0.34 0.75 0.00 -vt 0.36 0.75 0.00 -vt 0.38 0.75 0.00 -vt 0.39 0.75 0.00 -vt 0.29 0.75 0.00 -vt 0.78 0.96 0.00 -vt 0.78 0.94 0.00 -vt 0.79 0.93 0.00 -# 87 texture coords - -g P_51_Mustang_Right_Landing_Wheel -f 515/286/465 516/286/465 517/286/465 -f 518/286/465 517/286/465 516/286/465 -f 519/287/466 520/287/467 521/288/468 -f 522/288/469 521/288/468 520/287/467 -f 520/287/467 523/289/470 522/288/469 -f 524/290/471 522/288/469 523/289/470 -f 523/289/470 525/291/472 524/290/471 -f 526/292/473 524/290/471 525/291/472 -f 525/291/472 527/291/474 526/292/473 -f 528/292/475 526/292/473 527/291/474 -f 527/291/474 529/291/476 528/292/475 -f 530/292/477 528/292/475 529/291/476 -f 529/291/476 531/291/478 530/292/477 -f 532/292/479 530/292/477 531/291/478 -f 531/291/478 533/289/480 532/292/479 -f 534/290/481 532/292/479 533/289/480 -f 533/289/480 519/287/466 534/290/481 -f 521/288/468 534/290/481 519/287/466 -f 535/293/482 536/294/482 537/293/482 -f 537/293/482 536/294/482 538/294/482 -f 536/294/482 539/295/482 538/294/482 -f 538/294/482 539/295/482 540/295/482 -f 540/295/482 539/295/482 541/296/482 -f 542/297/482 540/295/482 541/296/482 -f 543/293/483 544/293/483 545/294/483 -f 544/293/483 546/294/483 545/294/483 -f 545/294/483 546/294/483 547/295/483 -f 546/294/483 548/295/483 547/295/483 -f 547/295/483 548/295/483 549/296/483 -f 548/295/483 550/297/483 549/296/483 -f 533/298/484 531/299/484 519/300/484 -f 519/300/484 531/299/484 523/301/484 -f 531/299/484 527/302/484 523/301/484 -f 523/301/484 527/302/484 525/303/484 -f 520/300/484 519/300/484 523/301/484 -f 530/303/485 532/301/485 528/302/485 -f 532/301/485 521/300/485 528/302/485 -f 521/300/485 524/299/485 528/302/485 -f 522/298/485 524/299/485 521/300/485 -f 534/300/485 521/300/485 532/301/485 -f 551/304/486 552/305/486 553/306/486 -f 552/305/486 554/307/486 553/306/486 -f 555/308/486 554/307/486 552/305/486 -f 556/304/487 557/309/487 558/310/487 -f 558/310/487 557/309/487 559/311/487 -f 557/309/487 560/308/487 559/311/487 -f 561/312/488 515/312/488 562/312/488 -f 517/312/488 562/312/488 515/312/488 -f 563/313/489 561/312/489 564/313/489 -f 562/312/489 564/313/489 561/312/489 -f 516/314/490 563/314/490 518/314/490 -f 564/314/490 518/314/490 563/314/490 -f 565/315/482 566/316/482 567/317/482 -f 568/318/482 567/317/482 566/316/482 -f 569/316/483 570/318/483 571/315/483 -f 572/317/483 571/315/483 570/318/483 -f 568/319/465 566/286/465 569/312/465 -f 570/314/465 569/312/465 566/286/465 -f 567/313/488 568/313/488 571/313/488 -f 569/313/488 571/313/488 568/313/488 -f 565/312/489 567/312/489 572/312/489 -f 571/312/489 572/312/489 567/312/489 -f 566/320/490 565/320/490 570/320/490 -f 572/320/490 570/320/490 565/320/490 -f 540/321/491 542/322/491 548/296/491 -f 550/323/491 548/296/491 542/322/491 -f 538/324/492 540/325/492 546/321/492 -f 548/322/492 546/321/492 540/325/492 -f 537/326/493 538/324/494 544/327/495 -f 546/321/496 544/327/495 538/324/494 -f 535/296/497 537/321/498 543/296/499 -f 544/321/499 543/296/499 537/321/498 -f 536/328/488 535/322/488 545/328/488 -f 543/322/488 545/328/488 535/322/488 -f 539/327/500 536/328/500 547/327/500 -f 545/328/500 547/327/500 536/328/500 -f 541/296/501 539/296/501 549/323/501 -f 547/323/501 549/323/501 539/296/501 -f 559/329/502 560/330/502 553/329/502 -f 551/330/502 553/329/502 560/330/502 -f 553/331/503 554/332/503 559/331/503 -f 558/332/503 559/331/503 554/332/503 -f 554/333/504 555/332/504 558/334/504 -f 556/329/504 558/334/504 555/332/504 -f 557/335/505 556/331/505 552/336/505 -f 555/337/505 552/336/505 556/331/505 -f 552/336/506 551/338/506 557/335/506 -f 560/332/506 557/335/506 551/338/506 -f 528/302/485 524/299/485 526/339/485 -f 563/315/482 516/316/482 561/317/482 -f 515/318/482 561/317/482 516/316/482 -f 517/316/483 518/318/483 562/315/483 -f 564/317/483 562/315/483 518/318/483 -f 529/339/484 527/302/484 531/299/484 -f 573/340/507 574/341/507 575/342/507 -f 576/343/507 577/344/507 578/345/507 -f 577/344/507 574/341/507 578/345/507 -f 579/346/507 574/341/507 577/344/507 -f 575/342/507 574/341/507 579/346/507 -f 580/347/507 575/342/507 579/346/507 -f 578/345/507 574/341/507 581/348/507 -f 579/349/508 582/350/509 580/351/510 -f 583/352/511 580/351/510 582/350/509 -f 580/351/510 583/352/511 575/353/512 -f 584/354/513 575/353/512 583/352/511 -f 575/353/512 584/354/513 573/355/514 -f 585/356/515 573/355/514 584/354/513 -f 573/355/514 585/356/515 574/357/516 -f 586/358/517 574/357/516 585/356/515 -f 574/357/516 586/358/517 581/355/518 -f 587/356/519 581/355/518 586/358/517 -f 581/355/518 587/356/519 578/353/520 -f 588/354/521 578/353/520 587/356/519 -f 578/353/520 588/354/521 576/351/522 -f 589/352/523 576/351/522 588/354/521 -f 576/351/522 589/352/523 577/349/524 -f 590/350/525 577/349/524 589/352/523 -f 577/349/524 590/350/525 591/359/526 -f 592/360/527 591/359/526 590/350/525 -f 591/359/526 592/360/527 593/361/528 -f 594/362/529 593/361/528 592/360/527 -f 593/361/528 594/362/529 595/359/530 -f 596/360/531 595/359/530 594/362/529 -f 595/359/530 596/360/531 579/349/508 -f 582/350/509 579/349/508 596/360/531 -f 596/360/531 597/363/532 582/350/509 -f 598/364/533 582/350/509 597/363/532 -f 582/350/509 598/364/533 583/352/511 -f 599/365/534 583/352/511 598/364/533 -f 583/352/511 599/365/534 584/354/513 -f 600/366/535 584/354/513 599/365/534 -f 584/354/513 600/366/535 585/356/515 -f 601/367/536 585/356/515 600/366/535 -f 585/356/515 601/367/536 586/358/517 -f 602/368/537 586/358/517 601/367/536 -f 586/358/517 602/368/537 587/356/519 -f 603/367/538 587/356/519 602/368/537 -f 587/356/519 603/367/538 588/354/521 -f 604/366/539 588/354/521 603/367/538 -f 588/354/521 604/366/539 589/352/523 -f 605/365/540 589/352/523 604/366/539 -f 589/352/523 605/365/540 590/350/525 -f 606/364/541 590/350/525 605/365/540 -f 590/350/525 606/364/541 592/360/527 -f 607/363/542 592/360/527 606/364/541 -f 592/360/527 607/363/542 594/362/529 -f 608/369/543 594/362/529 607/363/542 -f 594/362/529 608/369/543 596/360/531 -f 597/363/532 596/360/531 608/369/543 -f 604/344/544 603/370/544 605/343/544 -f 605/343/544 603/370/544 607/348/544 -f 607/348/544 603/370/544 599/347/544 -f 597/340/544 607/348/544 599/347/544 -f 598/342/544 597/340/544 599/347/544 -f 608/341/544 607/348/544 597/340/544 -f 606/345/544 605/343/544 607/348/544 -f 591/370/507 593/371/507 577/344/507 -f 593/371/507 579/346/507 577/344/507 -f 595/372/507 579/346/507 593/371/507 -f 600/346/544 599/347/544 601/372/544 -f 599/347/544 603/370/544 601/372/544 -f 601/372/544 603/370/544 602/371/544 -# 162 faces - -# -# object P_51_Mustang_Hull -# - -v -2.18 8.58 9.73 -v -2.30 8.86 6.02 -v -2.39 8.59 9.73 -v -3.01 6.76 9.95 -v -3.00 7.11 6.05 -v -2.52 8.87 6.26 -v -3.01 7.30 3.85 -v -2.47 9.05 4.06 -v -2.46 9.23 1.97 -v -2.94 7.47 1.76 -v -2.64 7.71 -0.97 -v -2.18 9.48 -0.86 -v -1.61 9.68 -3.39 -v -2.16 7.97 -4.05 -v -1.03 9.75 -4.33 -v -1.12 8.59 -5.66 -v 0.11 9.80 -4.96 -v -0.16 8.78 -6.15 -v 0.64 8.86 -6.31 -v 0.67 9.81 -5.10 -v 1.22 9.79 -4.97 -v 1.42 8.77 -6.17 -v 2.36 8.56 -5.69 -v 2.34 9.73 -4.36 -v 3.35 7.92 -4.07 -v 2.94 9.65 -3.40 -v 3.68 7.66 -1.02 -v 3.37 9.43 -0.91 -v 3.56 9.19 1.92 -v 3.88 7.42 1.70 -v 3.89 7.24 3.80 -v 3.50 9.01 4.01 -v 3.48 8.82 6.21 -v 3.80 7.05 6.00 -v 3.24 8.55 9.69 -v 3.68 6.70 9.89 -v 3.42 6.70 9.89 -v 3.02 8.54 9.69 -v 3.54 7.05 5.77 -v 3.25 8.81 5.98 -v 3.62 7.24 3.66 -v 3.27 9.00 3.86 -v 3.32 9.19 1.84 -v 3.62 7.42 1.64 -v 3.43 7.66 -0.98 -v 3.15 9.44 -0.88 -v 2.76 9.66 -3.28 -v 3.14 7.93 -3.92 -v 2.21 9.73 -4.21 -v 2.21 8.57 -5.48 -v 1.17 9.80 -4.74 -v 1.35 8.78 -5.89 -v 0.63 8.87 -6.03 -v 0.66 9.82 -4.87 -v 0.14 9.81 -4.73 -v -0.11 8.79 -5.88 -v -1.00 8.60 -5.46 -v -0.91 9.76 -4.19 -v -1.97 7.97 -3.90 -v -1.45 9.69 -3.27 -v -2.41 7.71 -0.94 -v -1.97 9.47 -0.84 -v -2.23 9.23 1.89 -v -2.68 7.47 1.69 -v -2.76 7.29 3.71 -v -2.25 9.05 3.90 -v -2.75 7.10 5.82 -v -2.76 6.75 9.94 -v -2.84 6.73 10.23 -v -0.81 12.12 9.64 -v -3.12 6.71 10.24 -v -1.01 12.45 9.62 -v 2.05 12.10 9.61 -v 2.28 12.42 9.59 -v 3.57 6.66 10.17 -v 3.86 6.66 10.17 -v 3.58 6.71 9.84 -v 2.05 12.09 9.29 -v -0.81 12.12 9.32 -v -2.83 6.78 9.90 -v 3.86 6.71 9.84 -v 2.28 12.42 9.26 -v -1.00 12.44 9.30 -v -3.12 6.76 9.90 -v 4.66 -1.79 -1.03 -v 4.25 -0.21 1.79 -v 5.11 -0.16 2.78 -v -3.87 -3.05 -1.87 -v -4.48 -1.72 -0.95 -v -3.60 -2.34 -4.87 -v -3.65 -3.03 1.13 -v -3.68 -1.87 2.11 -v -2.89 -2.82 3.93 -v -2.58 -1.80 4.33 -v -1.34 -1.85 5.56 -v -1.63 -3.21 5.62 -v -0.01 -1.92 6.45 -v -0.09 -3.54 6.63 -v 1.51 -3.23 5.59 -v 1.35 -1.87 5.53 -v 2.85 -2.86 3.87 -v 2.62 -1.84 4.28 -v 3.78 -1.93 2.04 -v 3.66 -3.09 1.06 -v 3.95 -3.11 -1.94 -v 3.82 -2.40 -4.94 -v 3.26 -4.73 -4.88 -v 3.54 -4.03 -1.52 -v 3.30 -4.95 -1.65 -v 2.58 -5.40 -4.82 -v 3.39 -3.91 1.68 -v 2.74 -3.53 4.26 -v 2.35 -3.57 6.63 -v 3.21 -4.15 4.04 -v 3.01 -4.04 6.65 -v 3.11 -5.17 4.28 -v 2.84 -5.09 6.73 -v 2.20 -5.93 4.14 -v 1.97 -5.61 6.76 -v -0.20 -5.90 6.80 -v 3.21 -5.14 1.70 -v 2.63 -5.80 -1.55 -v 2.42 -5.98 1.71 -v -2.81 -5.76 -1.50 -v -3.47 -4.44 -1.52 -v -2.64 -5.36 -4.77 -v -3.41 -5.09 1.76 -v -2.70 -5.94 1.75 -v -3.37 -5.12 4.34 -v -2.53 -5.90 4.18 -v -3.16 -5.04 6.79 -v -2.34 -5.58 6.80 -v -0.18 -6.23 2.91 -v 1.26 -6.32 1.56 -v 1.15 -6.28 -1.34 -v 1.38 -5.76 -5.00 -v 2.45 -4.83 -8.13 -v -3.37 -4.10 4.10 -v -3.47 -3.86 1.74 -v -2.85 -3.49 4.32 -v -3.10 -2.40 -8.95 -v -2.97 -3.71 -8.45 -v -3.25 -4.68 -4.82 -v -2.52 -3.54 6.68 -v -3.23 -3.99 6.71 -v 2.64 7.92 -7.83 -v 0.66 8.54 -8.04 -v 1.70 8.81 -6.12 -v 0.68 8.16 -10.79 -v -1.38 7.95 -7.79 -v -1.27 7.48 -10.79 -v -1.94 6.54 -10.08 -v -1.76 6.04 -15.12 -v -2.35 4.01 -14.71 -v -2.68 4.18 -10.15 -v -2.65 0.18 -14.70 -v -3.13 0.11 -9.48 -v -2.51 -1.75 -14.35 -v -2.17 -2.56 -13.63 -v -2.37 -4.79 -8.08 -v 0.70 7.68 -15.64 -v -0.96 7.14 -15.33 -v 3.16 -3.76 -8.51 -v 2.57 -2.60 -13.68 -v 0.19 -2.88 -13.74 -v 0.33 -0.98 -18.94 -v -1.92 -1.05 -18.81 -v -2.26 -0.55 -18.26 -v -2.16 1.12 -18.78 -v -1.95 3.55 -18.87 -v -1.41 5.63 -19.24 -v -0.63 6.76 -19.48 -v -1.82 0.96 -23.00 -v -1.73 -0.34 -22.73 -v 0.33 -2.07 -22.55 -v 2.58 -1.08 -18.86 -v 3.00 -1.79 -14.41 -v 3.43 -2.45 -9.01 -v 3.70 0.06 -9.54 -v 3.90 0.33 -5.99 -v 3.73 5.02 -6.62 -v 3.92 4.94 -3.00 -v 3.27 7.20 -5.88 -v 3.38 7.92 -4.06 -v 2.45 8.56 -5.59 -v -1.49 3.34 -25.54 -v -1.66 1.28 -25.54 -v -1.68 3.36 -23.04 -v -1.44 -0.13 -25.65 -v 0.43 -0.87 -25.61 -v 2.56 -0.37 -22.78 -v 2.94 -0.59 -18.32 -v 3.33 0.13 -14.76 -v 3.65 4.13 -10.21 -v 3.13 6.50 -10.13 -v 2.56 7.45 -10.83 -v 3.39 3.96 -14.77 -v 3.02 1.08 -18.84 -v -1.36 0.20 -28.16 -v 0.48 -0.62 -27.84 -v 2.38 -0.16 -25.69 -v 2.79 0.93 -23.05 -v 3.03 3.51 -18.93 -v 3.01 6.01 -15.17 -v 2.31 7.11 -15.36 -v 2.69 5.60 -19.28 -v 2.87 3.33 -23.10 -v 2.72 1.24 -25.59 -v 2.39 0.17 -28.20 -v 0.56 -0.18 -32.31 -v -1.02 0.49 -32.48 -v -1.45 1.45 -28.24 -v -1.11 1.83 -32.23 -v -1.22 3.44 -28.23 -v -0.97 3.60 -32.20 -v -0.54 0.61 -36.78 -v -0.65 1.57 -37.11 -v -0.39 0.69 -37.86 -v -0.54 1.56 -37.94 -v -0.40 3.34 -38.12 -v -0.52 3.41 -37.33 -v -0.81 4.47 -34.00 -v -0.80 3.33 -33.98 -v -1.08 4.53 -32.20 -v -1.18 4.91 -28.36 -v -1.43 5.01 -25.55 -v -1.39 5.21 -23.17 -v -1.29 5.80 -25.86 -v -0.82 5.27 -34.30 -v -1.17 5.60 -32.19 -v -0.67 5.70 -35.24 -v -1.25 5.89 -30.06 -v -0.71 6.30 -31.82 -v -1.23 6.04 -28.10 -v -0.11 6.62 -25.95 -v -0.61 6.31 -23.30 -v -0.34 5.20 -38.31 -v 0.09 7.37 -36.51 -v 0.29 7.13 -38.50 -v 0.20 8.38 -37.33 -v 0.34 8.23 -38.61 -v 0.86 15.56 -39.24 -v 0.26 8.62 -35.31 -v 0.18 7.65 -34.16 -v 0.30 8.02 -31.06 -v 0.74 7.30 -20.27 -v 2.04 6.74 -19.51 -v 1.68 6.61 -25.97 -v 2.08 6.29 -23.33 -v 2.78 5.77 -25.91 -v 2.84 4.97 -25.60 -v 2.67 4.88 -28.41 -v 2.57 3.42 -28.27 -v 2.44 3.57 -32.24 -v 2.41 1.80 -32.27 -v 2.28 1.75 -33.92 -v 2.14 0.64 -33.77 -v 1.86 0.59 -36.81 -v 0.59 -0.02 -33.73 -v 0.65 0.31 -37.01 -v 2.30 3.31 -34.01 -v 2.63 4.50 -32.24 -v 2.42 4.44 -34.04 -v 2.83 5.57 -32.24 -v 1.89 16.66 -36.52 -v 1.85 15.87 -36.07 -v 1.97 16.49 -38.45 -v 1.95 15.68 -38.16 -v 1.92 15.55 -39.26 -v 1.73 8.61 -35.34 -v 1.85 8.37 -37.37 -v 1.68 7.64 -34.19 -v 1.83 7.36 -36.54 -v 2.41 6.27 -31.86 -v 2.42 5.67 -35.28 -v 2.88 5.86 -30.11 -v 2.51 5.25 -34.34 -v 2.12 3.39 -37.36 -v 2.07 1.55 -37.14 -v 2.81 6.01 -28.14 -v 1.48 8.01 -31.09 -v 0.89 8.76 -29.21 -v 1.54 8.93 -32.66 -v 0.96 9.49 -30.87 -v 1.34 15.98 -35.15 -v 0.84 15.88 -36.04 -v 0.90 16.67 -36.50 -v 0.87 16.50 -38.43 -v 0.81 15.69 -38.13 -v 0.92 16.38 -39.42 -v 0.38 8.94 -32.64 -v 0.96 17.20 -36.78 -v 1.38 16.76 -35.70 -v 1.06 16.91 -39.48 -v 1.94 16.37 -39.44 -v 1.94 16.37 -39.43 -v 1.94 16.28 -39.43 -v 1.85 16.90 -39.49 -v 1.89 17.19 -36.80 -v 1.41 17.28 -36.06 -v 1.45 17.57 -37.12 -v 1.48 17.32 -39.52 -v 1.44 17.63 -36.65 -v 1.99 1.54 -37.97 -v 1.75 0.67 -37.88 -v 2.02 3.32 -38.14 -v 2.14 5.18 -38.33 -v 1.69 7.13 -38.52 -v 1.75 8.22 -38.63 -v 0.67 0.46 -37.85 -v 3.86 7.51 0.69 -v 3.95 4.68 1.12 -v 3.90 7.06 5.85 -v 3.95 4.60 6.04 -v 3.79 6.68 10.01 -v 3.87 4.45 9.55 -v 3.70 6.44 11.84 -v 3.81 3.46 11.93 -v 3.68 6.42 15.10 -v 3.73 4.91 15.20 -v 3.73 5.37 19.12 -v 3.69 2.76 19.65 -v 3.60 2.71 23.29 -v 3.53 0.63 23.15 -v 3.34 0.90 26.42 -v 3.07 -0.41 26.45 -v 2.86 1.14 31.85 -v 1.48 -0.38 32.12 -v 3.83 2.01 9.53 -v 3.89 1.66 6.29 -v 4.03 1.15 1.42 -v 4.05 0.52 -2.36 -v 4.15 -0.95 -1.80 -v 4.21 0.67 6.43 -v 4.10 1.18 9.55 -v 4.11 1.23 12.19 -v 3.73 2.28 15.62 -v 0.99 0.57 36.00 -v -0.28 -0.63 32.46 -v -0.28 0.36 36.21 -v -1.53 0.59 36.02 -v -2.00 -0.36 32.15 -v -3.23 1.19 31.90 -v -3.45 -0.36 26.51 -v -3.60 0.95 26.49 -v -3.73 0.69 23.22 -v -3.61 2.76 23.36 -v -3.60 2.82 19.72 -v -3.38 5.42 19.19 -v -3.33 4.97 15.27 -v -3.14 6.47 15.16 -v -3.46 3.51 12.00 -v -3.08 6.49 11.90 -v -3.37 4.51 9.62 -v -3.10 6.74 10.07 -v -2.61 -1.47 26.73 -v -0.26 -1.79 26.94 -v -3.76 -0.41 24.24 -v -3.32 -1.40 24.00 -v -2.16 -1.98 24.36 -v -0.25 -2.12 24.38 -v 2.12 -1.51 26.69 -v 2.91 -1.45 23.95 -v 3.44 -0.47 24.18 -v 1.68 -2.00 24.32 -v -3.35 4.66 6.11 -v -3.06 7.12 5.92 -v -3.22 4.74 1.19 -v -2.85 7.57 0.76 -v -3.06 5.00 -2.93 -v -2.21 7.96 -4.00 -v -2.13 7.24 -5.83 -v -1.19 8.59 -5.55 -v -0.40 8.83 -6.10 -v 0.66 8.89 -6.31 -v -2.77 5.07 -6.56 -v -3.39 0.39 -5.92 -v -3.61 0.58 -2.29 -v -3.64 1.21 1.49 -v -3.57 1.72 6.36 -v -3.56 2.07 9.60 -v -3.87 -0.89 -1.73 -v -3.99 -0.15 1.87 -v -3.99 0.73 6.51 -v -3.91 1.24 9.63 -v -3.98 1.29 12.27 -v -3.58 2.34 15.69 -v 3.48 8.59 10.06 -v 3.42 7.85 11.79 -v 3.40 7.97 12.78 -v 3.48 7.69 15.11 -v 3.72 6.84 18.67 -v 3.66 5.67 23.35 -v 3.50 2.82 26.85 -v 3.33 3.01 31.94 -v 2.17 1.58 35.93 -v 2.97 3.24 35.96 -v 1.87 2.09 38.21 -v 2.20 3.58 38.12 -v 3.30 5.02 36.17 -v 0.83 1.30 38.26 -v 2.01 3.59 38.71 -v 2.70 5.55 38.59 -v 3.26 6.60 35.87 -v 2.69 6.79 38.51 -v 2.56 8.39 35.96 -v 2.08 8.17 38.43 -v 2.14 8.94 35.78 -v 1.33 8.81 38.39 -v 1.17 9.51 35.68 -v 0.66 9.21 38.36 -v 0.16 9.58 35.68 -v 0.11 9.29 38.36 -v -0.45 9.22 38.37 -v -0.86 9.52 35.70 -v -1.16 8.83 38.41 -v -1.88 8.97 35.82 -v -1.96 8.20 38.46 -v -2.36 8.43 36.01 -v -0.94 9.87 31.34 -v -0.99 10.19 26.34 -v 0.31 10.34 26.77 -v 0.24 10.10 31.35 -v 1.40 9.85 31.31 -v 2.43 9.42 31.16 -v 2.98 8.72 31.28 -v 3.55 6.98 31.31 -v 3.30 9.02 26.28 -v 2.49 9.75 26.24 -v 2.79 9.81 22.99 -v 1.60 10.17 26.31 -v 1.80 10.21 23.30 -v 2.05 10.21 20.89 -v 0.35 10.44 23.69 -v 0.39 10.50 21.00 -v 0.42 10.41 17.76 -v 0.46 10.45 15.10 -v -1.03 10.08 15.41 -v -3.29 7.11 21.42 -v -3.28 7.11 23.77 -v -2.82 8.99 21.40 -v -2.82 8.71 18.17 -v -2.21 9.52 17.94 -v -2.03 9.13 15.29 -v -2.22 8.81 13.72 -v -1.24 9.98 14.02 -v 0.48 10.47 13.79 -v 1.91 10.06 15.38 -v 2.10 10.07 18.02 -v 2.87 9.77 21.15 -v 3.35 9.04 23.40 -v 3.64 6.98 26.77 -v -3.23 6.90 18.74 -v -3.39 5.73 23.42 -v -2.82 7.74 15.17 -v -2.65 8.02 12.84 -v -3.59 2.87 26.92 -v -2.66 7.90 11.85 -v -2.61 8.64 10.12 -v -2.70 6.83 38.56 -v -3.20 6.62 35.03 -v -2.83 5.59 38.64 -v -3.42 5.07 36.23 -v -2.33 3.62 38.75 -v -2.50 3.62 38.16 -v -3.25 3.29 36.02 -v -2.32 2.13 38.25 -v -2.60 1.62 35.98 -v -1.35 1.32 38.28 -v -3.53 3.06 32.00 -v -3.56 5.54 26.97 -v -3.59 4.96 32.12 -v -3.34 7.04 26.84 -v -2.77 9.09 23.46 -v -2.17 9.81 21.20 -v -1.29 10.09 18.05 -v -1.30 10.23 20.93 -v -1.11 10.24 23.32 -v -2.80 9.06 26.34 -v -2.13 9.85 23.04 -v -1.92 9.78 26.28 -v -2.63 8.76 31.33 -v -3.37 7.03 31.38 -v -2.01 9.46 31.20 -v 3.57 4.91 32.06 -v 3.72 5.49 26.90 -v 3.66 7.05 23.70 -v 3.73 7.06 21.36 -v 3.44 8.94 21.34 -v 3.50 8.66 18.11 -v 2.97 9.48 17.90 -v 2.82 9.09 15.25 -v 3.02 8.77 13.67 -v 2.14 9.95 13.99 -v -8.03 6.05 -27.42 -v -4.52 6.07 -27.32 -v -8.03 5.97 -28.86 -v -11.48 5.96 -28.73 -v -11.12 5.68 -31.09 -v -13.81 5.66 -30.77 -v -14.13 5.91 -28.57 -v -15.24 5.49 -30.33 -v -15.27 5.57 -28.02 -v -14.18 5.73 -27.39 -v -11.49 6.01 -27.59 -v -11.64 5.76 -26.95 -v -8.48 5.76 -26.64 -v -5.05 5.77 -26.30 -v -2.22 5.77 -26.09 -v -1.90 6.05 -27.63 -v -1.72 5.88 -29.69 -v -4.26 5.97 -29.14 -v -4.42 5.63 -31.75 -v -7.79 5.68 -31.43 -v -1.74 5.55 -32.08 -v 4.34 6.11 32.28 -v 4.06 6.10 32.66 -v 4.63 6.10 32.53 -v 4.17 6.09 33.03 -v 4.75 5.76 32.68 -v 4.21 5.75 33.23 -v 4.60 5.42 32.56 -v 4.14 5.41 33.05 -v 4.31 5.43 32.30 -v 4.02 5.42 32.69 -v 4.19 5.77 32.16 -v 3.98 5.77 32.49 -v 3.79 5.77 32.46 -v 3.80 6.10 32.64 -v 3.78 6.10 33.03 -v 3.75 5.75 33.24 -v 3.74 5.42 33.06 -v 3.76 5.42 32.67 -v 13.07 5.77 -29.01 -v 12.75 5.49 -31.56 -v 9.62 5.83 -29.06 -v 9.43 5.54 -31.80 -v 5.87 5.90 -29.25 -v 6.06 5.54 -32.00 -v 3.33 5.84 -29.75 -v 3.46 6.01 -27.69 -v 3.72 5.73 -26.16 -v 6.08 5.99 -27.44 -v 6.55 5.68 -26.43 -v 9.59 5.91 -27.62 -v 9.99 5.62 -26.85 -v 13.05 5.81 -27.87 -v 13.16 5.56 -27.23 -v 15.71 5.50 -27.73 -v 15.71 5.68 -28.91 -v 3.39 5.51 -32.16 -v 16.80 5.32 -28.38 -v 16.83 5.24 -30.69 -v 15.57 5.42 -31.45 -v 16.72 5.01 -33.40 -v 15.72 4.99 -33.73 -v 2.75 5.18 -23.22 -v 2.74 3.31 -25.59 -v 2.61 1.41 -28.29 -v 2.21 0.46 -32.52 -v -0.90 0.66 -33.74 -v -0.94 1.77 -33.88 -v -3.75 5.44 34.55 -v -3.73 5.78 34.73 -v -4.14 5.45 34.56 -v -4.02 5.45 34.19 -v -4.29 5.46 33.81 -v -4.13 5.81 33.67 -v -3.94 5.80 33.99 -v -4.26 6.14 33.78 -v -3.98 6.13 34.16 -v -4.55 6.14 34.05 -v -4.11 6.13 34.53 -v -4.72 5.80 34.19 -v -4.19 5.78 34.73 -v -4.59 5.46 34.07 -v -3.71 6.12 34.53 -v -3.72 6.13 34.14 -v -3.74 5.80 33.96 -v -3.76 5.45 34.16 -v -4.87 -0.09 2.87 -v -4.96 0.33 6.76 -v -4.97 0.69 9.85 -v -4.97 0.81 12.34 -v -4.02 1.40 15.81 -v -5.09 0.90 16.22 -v -4.95 0.55 19.82 -v -3.90 1.32 19.99 -v -4.83 0.16 22.21 -v -4.59 -0.55 23.22 -v 5.14 0.25 6.67 -v 6.54 -0.19 3.45 -v 6.70 0.02 6.36 -v 5.11 0.61 9.76 -v 6.75 0.38 9.22 -v 5.06 0.73 12.25 -v 6.64 0.56 12.08 -v 5.08 0.82 16.12 -v 6.67 0.70 16.38 -v 6.69 0.53 18.92 -v 4.83 0.58 19.72 -v 5.76 -0.33 22.01 -v 4.60 0.08 22.12 -v 4.27 -0.62 23.14 -v 6.08 -0.69 22.43 -v 8.22 -0.70 21.64 -v -2.94 -4.05 6.84 -v -2.50 -4.14 5.16 -v -2.29 -3.64 6.81 -v -1.95 -3.79 5.13 -v -0.10 -3.68 6.76 -v 2.10 -3.67 6.76 -v 1.79 -3.82 5.09 -v 2.71 -4.09 6.78 -v 2.31 -4.18 5.11 -v -2.69 8.37 10.10 -v -1.01 12.37 9.64 -v -2.40 8.38 10.10 -v -0.82 12.04 9.66 -v 2.27 12.34 9.61 -v 2.05 12.02 9.63 -v 3.51 8.33 10.04 -v 3.22 8.33 10.04 -v 3.84 1.26 19.92 -v 4.07 1.34 15.73 -v -4.70 -0.90 3.35 -v -4.70 -1.20 6.48 -v -6.30 -0.85 3.61 -v -6.56 -1.14 6.50 -v -12.47 -0.77 4.38 -v -12.73 -0.99 6.36 -v -6.67 -1.53 9.41 -v -14.07 -1.37 9.24 -v -6.52 -1.75 12.40 -v -13.54 -1.60 12.35 -v -6.88 -1.99 14.90 -v -14.82 -1.75 15.41 -v -7.22 -1.67 18.64 -v -4.86 -2.15 14.61 -v -4.82 -1.75 19.27 -v -3.62 -2.25 14.45 -v -3.44 -1.80 19.64 -v -1.88 -2.40 14.58 -v -1.67 -2.00 20.13 -v -0.19 -2.16 20.12 -v -3.22 -1.95 12.03 -v -4.78 -1.81 12.13 -v -4.74 -1.59 9.42 -v -2.95 -1.72 9.49 -v -1.52 -2.01 12.24 -v -0.12 -2.14 14.54 -v 1.61 -2.42 14.55 -v 1.30 -2.02 20.10 -v 3.10 -1.85 19.57 -v 3.08 -1.79 21.12 -v 4.47 -1.76 20.56 -v 3.43 -1.11 22.63 -v -0.09 -2.11 12.44 -v -2.90 -1.39 6.33 -v -1.41 -1.87 9.61 -v -0.05 -1.96 9.46 -v 1.31 -1.89 9.58 -v 1.35 -2.03 12.21 -v -1.47 -1.58 6.59 -v 1.48 -1.60 6.57 -v 4.85 -0.98 3.26 -v 6.45 -0.95 3.49 -v 4.75 -1.28 6.39 -v 6.61 -1.24 6.37 -v 4.68 -1.66 9.33 -v 6.61 -1.63 9.28 -v 4.63 -1.88 12.04 -v 6.36 -1.85 12.28 -v 4.61 -2.22 14.52 -v 6.63 -2.09 14.77 -v 6.91 -1.78 18.50 -v 4.50 -1.82 19.18 -v 7.17 -1.73 19.64 -v 3.37 -2.30 14.39 -v 3.06 -1.99 11.97 -v 2.87 -1.77 9.44 -v 2.93 -1.44 6.28 -v -0.21 -2.18 21.60 -v 1.16 -2.18 21.93 -v -13.50 -1.56 17.59 -v -7.50 -1.61 19.78 -v -4.83 -1.69 20.65 -v -3.45 -1.74 21.19 -v -1.59 -2.16 21.95 -v -3.78 -1.05 22.70 -v -14.13 -0.49 20.28 -v -8.50 -0.57 21.80 -v -6.38 -0.59 22.55 -v -6.57 0.66 12.21 -v -6.69 0.77 16.50 -v -13.44 0.66 12.23 -v -14.35 0.80 15.32 -v -6.79 0.64 19.05 -v -13.40 0.59 18.05 -v -6.02 -0.24 22.12 -v -14.04 0.46 9.14 -v -6.62 0.48 9.35 -v -6.54 0.12 6.49 -v -6.32 -0.09 3.57 -v -12.44 -0.05 4.34 -v -12.67 0.19 6.29 -v -2.87 -5.00 6.90 -v -2.45 -4.96 5.21 -v 2.56 -5.05 6.85 -v 2.18 -4.99 5.17 -v 1.76 -5.52 6.88 -v 1.50 -5.39 5.19 -v -0.19 -5.70 6.91 -v -2.13 -5.49 6.92 -v -1.81 -5.37 5.22 -v -3.14 5.42 35.50 -v -3.77 5.43 35.52 -v -3.16 5.24 35.02 -v -3.79 5.24 35.05 -v -3.34 5.42 26.54 -v -3.97 5.42 26.57 -v -3.34 5.62 26.05 -v -3.97 5.63 26.08 -v -3.93 6.43 26.05 -v -3.91 6.61 26.52 -v -3.30 6.42 26.02 -v -3.28 6.61 26.49 -v -3.73 6.43 35.00 -v -3.10 6.43 34.97 -v -3.73 6.23 35.49 -v -3.10 6.22 35.46 -v -3.88 5.93 27.60 -v -3.87 6.28 27.39 -v -4.34 5.93 27.59 -v -4.29 5.60 27.42 -v -4.74 5.61 26.94 -v -4.44 5.61 26.67 -v -4.17 5.60 27.05 -v -4.28 5.96 26.53 -v -4.09 5.95 26.85 -v -4.41 6.30 26.65 -v -4.13 6.29 27.02 -v -4.70 6.29 26.91 -v -4.26 6.28 27.39 -v -4.87 5.95 27.05 -v -3.87 6.28 27.00 -v -3.89 5.95 26.82 -v -3.91 5.60 27.03 -v -3.90 5.59 27.42 -v -1.21 9.64 14.41 -v -0.71 12.35 9.95 -v -1.44 9.65 14.42 -v -1.02 12.35 9.90 -v -1.45 9.34 14.15 -v -1.00 12.00 9.77 -v -1.22 9.34 14.15 -v -0.69 12.00 9.83 -v 2.22 12.32 9.86 -v 1.90 12.33 9.92 -v 2.27 9.62 14.38 -v 2.04 9.62 14.38 -v 2.17 11.98 9.74 -v 2.26 9.31 14.12 -v 1.85 11.98 9.80 -v 2.03 9.31 14.12 -v 0.81 -4.99 -22.81 -v -0.46 -4.98 -22.79 -v 0.82 -4.71 -23.17 -v -0.44 -4.70 -23.15 -v 0.89 -3.01 -22.29 -v -0.38 -3.00 -22.28 -v 0.96 -1.67 -22.95 -v -0.30 -1.66 -22.94 -v 0.96 -1.54 -22.03 -v -0.31 -1.53 -22.02 -v 0.89 -2.88 -21.51 -v -0.38 -2.87 -21.49 -v -1.47 -5.74 -4.97 -v -1.38 -6.26 -1.31 -v -1.57 -6.30 1.58 -v -0.12 -6.30 -1.26 -v -0.03 -5.59 -5.78 -v 0.03 -5.10 -8.16 -v 3.48 5.22 -27.47 -v 3.30 5.03 -29.46 -v 3.33 4.89 -32.33 -v 5.82 5.02 -29.12 -v 6.03 4.88 -32.03 -v 9.40 4.92 -31.81 -v 9.58 5.05 -28.94 -v 12.73 4.96 -31.49 -v 13.03 5.07 -28.91 -v 15.50 5.01 -31.28 -v 15.68 5.13 -28.83 -v 13.02 5.21 -27.78 -v 6.03 5.22 -27.32 -v 9.54 5.21 -27.51 -v -0.26 1.32 38.26 -v -15.08 5.26 -33.04 -v -14.07 5.22 -33.39 -v -14.09 5.21 -32.45 -v -13.95 5.24 -30.69 -v -14.16 5.36 -28.49 -v -11.51 5.26 -28.63 -v -11.52 5.40 -27.50 -v -8.05 5.35 -27.31 -v -4.55 5.31 -27.20 -v -1.99 5.26 -27.41 -v -1.77 5.07 -29.40 -v -1.73 4.93 -32.15 -v -4.31 5.09 -29.00 -v -8.06 5.19 -28.74 -v -4.44 4.96 -31.91 -v -7.82 5.05 -31.65 -v -11.33 5.14 -31.30 -v -1.04 1.63 37.01 -v 0.59 1.62 36.99 -v -1.77 2.24 36.99 -v -1.91 3.36 36.92 -v 1.37 2.21 36.96 -v 1.61 3.33 36.89 -v 2.64 -0.09 1.94 -v 2.34 6.46 -0.67 -v -2.37 -0.05 1.99 -v -1.39 6.49 -0.64 -v 2.56 -0.95 10.54 -v -2.59 -0.91 10.59 -v 2.52 4.84 11.25 -v -2.03 4.88 11.29 -v 2.59 6.63 11.43 -v -1.94 6.67 11.48 -v 0.49 10.12 11.77 -v 2.05 9.05 11.64 -v -1.17 9.07 11.67 -v 1.94 3.49 38.22 -v -2.26 3.52 38.26 -v -2.09 2.18 38.33 -v -1.23 1.46 38.36 -v 0.72 1.45 38.34 -v 1.65 2.15 38.30 -v -3.85 5.90 29.03 -v -3.83 6.25 28.83 -v -4.31 5.90 29.03 -v -4.26 5.57 28.86 -v -4.71 5.58 28.37 -v -4.41 5.58 28.11 -v -4.14 5.57 28.49 -v -4.25 5.93 27.97 -v -4.06 5.92 28.29 -v -4.38 6.27 28.08 -v -4.10 6.26 28.46 -v -4.67 6.26 28.35 -v -4.23 6.25 28.83 -v -4.84 5.92 28.49 -v -3.84 6.25 28.44 -v -3.86 5.92 28.26 -v -3.88 5.57 28.46 -v -3.87 5.56 28.85 -v -3.82 5.87 30.47 -v -3.80 6.22 30.26 -v -4.28 5.87 30.46 -v -4.23 5.54 30.29 -v -4.68 5.55 29.81 -v -4.38 5.55 29.54 -v -4.10 5.54 29.92 -v -4.22 5.90 29.40 -v -4.03 5.89 29.72 -v -4.35 6.24 29.52 -v -4.07 6.23 29.89 -v -4.64 6.23 29.78 -v -4.20 6.22 30.26 -v -4.80 5.89 29.92 -v -3.81 6.22 29.87 -v -3.83 5.89 29.69 -v -3.85 5.54 29.90 -v -3.84 5.53 30.29 -v -3.79 5.84 31.87 -v -3.78 6.19 31.66 -v -4.25 5.84 31.87 -v -4.20 5.51 31.69 -v -4.65 5.52 31.21 -v -4.35 5.52 30.95 -v -4.08 5.51 31.32 -v -4.19 5.87 30.80 -v -4.00 5.86 31.12 -v -4.32 6.21 30.92 -v -4.04 6.20 31.30 -v -4.61 6.20 31.18 -v -4.17 6.19 31.67 -v -4.78 5.86 31.33 -v -3.78 6.19 31.27 -v -3.80 5.86 31.09 -v -3.82 5.51 31.30 -v -3.81 5.50 31.69 -v -3.76 5.81 33.31 -v -3.74 6.16 33.10 -v -4.22 5.81 33.31 -v -4.17 5.48 33.13 -v -4.62 5.49 32.65 -v -4.32 5.49 32.38 -v -4.05 5.48 32.76 -v -4.16 5.84 32.24 -v -3.97 5.83 32.56 -v -4.29 6.17 32.36 -v -4.01 6.16 32.73 -v -4.58 6.17 32.62 -v -4.14 6.16 33.11 -v -4.75 5.83 32.77 -v -3.75 6.16 32.71 -v -3.77 5.83 32.53 -v -3.79 5.48 32.74 -v -3.78 5.47 33.13 -v 4.13 5.56 26.00 -v 4.09 5.36 26.49 -v 3.50 5.57 25.99 -v 3.46 5.36 26.48 -v 3.69 5.18 34.98 -v 3.06 5.19 34.96 -v 3.67 5.37 35.45 -v 3.04 5.37 35.44 -v 3.08 6.18 35.41 -v 3.71 6.17 35.42 -v 3.11 6.38 34.92 -v 3.74 6.38 34.93 -v 3.52 6.56 26.43 -v 4.15 6.55 26.45 -v 3.53 6.37 25.96 -v 4.16 6.37 25.97 -v 4.02 5.53 27.34 -v 4.41 5.53 27.34 -v 4.03 5.87 27.52 -v 4.49 5.87 27.51 -v 4.05 6.21 27.31 -v 4.45 6.21 27.31 -v 4.07 6.22 26.92 -v 4.33 6.22 26.94 -v 4.06 5.89 26.74 -v 4.26 5.88 26.77 -v 4.04 5.54 26.95 -v 4.30 5.54 26.97 -v 4.59 5.54 26.59 -v 4.87 5.54 26.85 -v 5.03 5.87 26.96 -v 4.90 6.22 26.82 -v 4.62 6.23 26.56 -v 4.46 5.89 26.45 -v 3.95 5.50 28.78 -v 4.34 5.50 28.78 -v 3.96 5.84 28.96 -v 4.42 5.84 28.95 -v 3.98 6.19 28.75 -v 4.38 6.18 28.75 -v 4.00 6.19 28.36 -v 4.26 6.19 28.38 -v 4.00 5.86 28.18 -v 4.19 5.85 28.21 -v 3.97 5.51 28.39 -v 4.23 5.51 28.41 -v 4.52 5.52 28.03 -v 4.80 5.51 28.28 -v 4.96 5.84 28.40 -v 4.83 6.19 28.26 -v 4.55 6.20 28.00 -v 4.39 5.86 27.88 -v 3.88 5.47 30.21 -v 4.27 5.47 30.21 -v 3.89 5.81 30.39 -v 4.35 5.81 30.38 -v 3.91 6.16 30.19 -v 4.31 6.15 30.18 -v 3.93 6.16 29.80 -v 4.19 6.16 29.81 -v 3.93 5.83 29.62 -v 4.12 5.82 29.64 -v 3.90 5.48 29.82 -v 4.16 5.48 29.84 -v 4.45 5.49 29.46 -v 4.73 5.48 29.72 -v 4.89 5.81 29.83 -v 4.77 6.16 29.69 -v 4.48 6.17 29.43 -v 4.32 5.83 29.32 -v 3.81 5.45 31.62 -v 4.21 5.44 31.61 -v 3.82 5.78 31.80 -v 4.28 5.78 31.79 -v 3.85 6.13 31.59 -v 4.24 6.12 31.59 -v 3.87 6.13 31.20 -v 4.12 6.13 31.22 -v 3.86 5.80 31.02 -v 4.05 5.80 31.05 -v 3.83 5.45 31.23 -v 4.09 5.45 31.25 -v 4.38 5.46 30.86 -v 4.67 5.45 31.12 -v 4.82 5.79 31.24 -v 4.70 6.13 31.09 -v 4.41 6.14 30.84 -v 4.26 5.80 30.72 -v 3.68 5.39 34.48 -v 4.07 5.38 34.48 -v 3.68 5.72 34.66 -v 4.14 5.72 34.65 -v 3.71 6.07 34.46 -v 4.10 6.06 34.45 -v 3.73 6.08 34.07 -v 3.99 6.07 34.08 -v 3.72 5.74 33.89 -v 3.91 5.74 33.91 -v 3.69 5.39 34.09 -v 3.95 5.39 34.11 -v 4.24 5.40 33.73 -v 4.53 5.39 33.99 -v 4.69 5.73 34.10 -v 4.56 6.07 33.96 -v 4.28 6.08 33.70 -v 4.12 5.74 33.59 -v 2.00 9.86 13.69 -v 0.48 10.50 13.49 -v 2.82 8.80 13.37 -v 3.16 8.00 12.53 -v 3.18 7.88 11.58 -v 3.25 8.63 9.91 -v 3.52 6.72 9.87 -v 3.62 7.10 5.87 -v 3.59 7.56 0.92 -v 3.15 7.97 -3.64 -v 2.31 8.62 -5.12 -v 1.61 8.87 -5.63 -v 0.65 8.95 -5.81 -v -0.32 8.88 -5.61 -v -1.05 8.64 -5.08 -v -1.99 8.01 -3.59 -v -2.58 7.61 0.98 -v -2.78 7.15 5.93 -v -2.82 6.77 9.93 -v -2.37 8.67 9.96 -v -2.41 7.93 11.63 -v -2.41 8.05 12.58 -v -2.01 8.84 13.42 -v -1.11 9.89 13.72 -v 2.65 -0.56 6.70 -v -2.55 -0.52 6.75 -v -2.25 3.17 2.89 -v 2.75 3.13 2.84 -v -1.08 9.58 0.57 -v 2.23 9.55 0.54 -v -2.17 3.24 6.44 -v 2.58 3.21 6.40 -v -2.27 0.09 6.82 -v 2.37 0.05 6.77 -v -1.09 9.25 -0.17 -v 2.22 9.22 -0.20 -v -1.96 -0.05 1.55 -v 2.19 -0.09 1.51 -v 3.50 8.34 10.37 -v 2.27 12.35 9.94 -v -1.02 12.37 9.97 -v -2.69 8.38 10.43 -v 3.22 8.34 10.37 -v 2.04 12.02 9.96 -v -0.82 12.04 9.99 -v -2.41 8.39 10.42 -v 1.01 7.38 -18.16 -v 1.12 12.77 -18.66 -v 0.72 7.40 -17.87 -v 0.98 12.78 -18.51 -v 0.43 7.39 -18.16 -v 0.84 12.77 -18.65 -v 0.72 7.38 -18.45 -v 0.98 12.77 -18.80 -v 15.64 4.97 -32.81 -# 1073 vertices - -vn 0.05 1.00 0.07 -vn -0.95 0.32 0.03 -vn -0.95 0.31 0.03 -vn -0.96 0.27 0.04 -vn -0.96 0.28 0.01 -vn -0.96 0.29 0.01 -vn -0.96 0.27 -0.04 -vn -0.96 0.27 -0.05 -vn -0.95 0.28 -0.12 -vn -0.96 0.26 -0.14 -vn -0.88 0.37 -0.28 -vn -0.88 0.40 -0.26 -vn -0.66 0.56 -0.49 -vn -0.59 0.64 -0.49 -vn -0.29 0.75 -0.59 -vn -0.31 0.76 -0.57 -vn 0.00 0.78 -0.62 -vn 0.00 0.79 -0.62 -vn 0.30 0.74 -0.60 -vn 0.32 0.75 -0.58 -vn 0.60 0.62 -0.50 -vn 0.69 0.52 -0.50 -vn 0.91 0.34 -0.25 -vn 0.91 0.30 -0.27 -vn 0.98 0.19 -0.09 -vn 0.98 0.18 -0.10 -vn 0.98 0.19 -0.01 -vn 0.98 0.18 -0.02 -vn 0.98 0.19 0.03 -vn 0.98 0.21 0.04 -vn 0.98 0.18 0.06 -vn 0.97 0.22 0.06 -vn 0.97 0.24 0.05 -vn -0.97 -0.22 -0.05 -vn -0.98 -0.20 -0.05 -vn -0.98 -0.17 -0.06 -vn -0.98 -0.16 -0.06 -vn -0.98 -0.18 -0.03 -vn -0.98 -0.19 -0.04 -vn -0.99 -0.17 0.01 -vn -0.99 -0.17 0.02 -vn -0.98 -0.18 0.08 -vn -0.98 -0.16 0.10 -vn -0.92 -0.28 0.27 -vn -0.92 -0.31 0.24 -vn -0.69 -0.51 0.51 -vn -0.62 -0.60 0.51 -vn -0.30 -0.73 0.62 -vn -0.33 -0.73 0.60 -vn -0.00 -0.77 0.64 -vn -0.00 -0.78 0.63 -vn 0.29 -0.74 0.61 -vn 0.32 -0.74 0.59 -vn 0.60 -0.62 0.50 -vn 0.67 -0.55 0.50 -vn 0.89 -0.38 0.25 -vn 0.89 -0.35 0.28 -vn 0.96 -0.26 0.11 -vn 0.96 -0.25 0.13 -vn 0.97 -0.26 0.04 -vn 0.97 -0.25 0.04 -vn 0.96 -0.26 -0.01 -vn 0.96 -0.28 -0.01 -vn 0.97 -0.25 -0.03 -vn 0.96 -0.29 -0.03 -vn 0.95 -0.30 -0.02 -vn 0.01 0.11 0.99 -vn 0.03 0.08 1.00 -vn 0.01 0.10 0.99 -vn -0.01 0.08 1.00 -vn -0.96 -0.28 -0.06 -vn -0.62 -0.79 -0.00 -vn -0.59 -0.81 -0.00 -vn 0.59 -0.81 0.01 -vn 0.54 -0.84 0.01 -vn 0.93 -0.36 -0.03 -vn 0.93 -0.36 -0.04 -vn -0.01 -0.10 -0.99 -vn 0.01 -0.08 -1.00 -vn -0.03 -0.08 -1.00 -vn 0.01 1.00 0.09 -vn -0.07 0.99 0.07 -vn -0.01 1.00 0.08 -vn -0.01 1.00 0.09 -vn 0.10 0.99 0.09 -vn 0.25 0.97 0.08 -vn -0.11 0.99 0.08 -vn 0.08 0.99 0.08 -vn -0.03 1.00 0.07 -vn -0.75 0.66 0.05 -vn 0.13 0.99 0.09 -vn 0.20 0.98 0.09 -vn -0.03 1.00 0.08 -vn -0.03 1.00 0.09 -vn 0.05 1.00 0.08 -vn 0.03 1.00 0.05 -vn 0.05 1.00 -0.03 -vn 0.08 0.99 -0.08 -vn 0.06 1.00 0.01 -vn 0.08 1.00 0.03 -vn 0.06 1.00 0.05 -vn -0.01 1.00 0.05 -vn -0.05 1.00 0.04 -vn -0.07 1.00 0.03 -vn -0.04 1.00 0.01 -vn -0.07 0.99 -0.09 -vn -0.04 1.00 -0.03 -vn -0.05 -0.95 -0.32 -vn -0.21 -0.95 -0.25 -vn -0.32 -0.93 -0.19 -vn -0.19 -0.98 -0.10 -vn -0.26 -0.93 0.26 -vn -0.13 -0.99 0.03 -vn 0.11 -0.99 0.04 -vn 0.21 -0.95 -0.25 -vn 0.31 -0.94 -0.16 -vn 0.18 -0.98 -0.08 -vn 0.25 -0.93 0.28 -vn 0.03 -0.95 -0.32 -vn 0.08 -0.99 -0.08 -vn -0.50 -0.86 -0.08 -vn -0.04 -1.00 -0.09 -vn -0.09 -0.99 -0.09 -vn -0.18 -0.98 -0.09 -vn -0.01 -1.00 -0.09 -vn -0.04 -0.99 -0.09 -vn 0.02 -1.00 -0.08 -vn -0.03 -1.00 -0.09 -vn 0.47 -0.88 -0.06 -vn -0.09 -0.99 -0.08 -vn -0.14 -0.99 -0.08 -vn -0.00 -1.00 -0.09 -vn 0.02 -1.00 -0.09 -vn 0.07 -0.99 -0.08 -vn 0.96 0.27 0.06 -vn 0.60 0.80 0.00 -vn 0.62 0.78 0.00 -vn -0.55 0.84 -0.01 -vn -0.59 0.81 -0.01 -vn -0.94 0.35 0.03 -vn -0.94 0.35 0.04 -vn 0.41 0.82 -0.40 -vn -0.95 -0.30 -0.05 -vn -1.00 0.04 -0.08 -vn -0.99 -0.05 -0.12 -vn -0.96 -0.21 0.16 -vn -0.94 -0.19 0.29 -vn -0.89 0.08 0.45 -vn -0.78 -0.00 0.62 -vn -0.65 0.14 0.75 -vn -0.63 0.51 0.59 -vn 0.02 0.13 0.99 -vn -0.01 0.11 0.99 -vn 0.65 0.46 0.61 -vn 0.66 0.08 0.75 -vn 0.89 -0.00 0.46 -vn 0.78 -0.07 0.62 -vn 0.91 -0.27 0.30 -vn 0.94 -0.30 0.18 -vn 1.00 -0.03 -0.06 -vn 0.92 -0.40 -0.02 -vn 0.99 -0.14 -0.10 -vn 0.86 -0.51 -0.10 -vn 0.95 -0.32 0.04 -vn 0.89 -0.45 -0.02 -vn 0.52 -0.85 -0.13 -vn 0.98 -0.12 0.13 -vn 0.84 0.44 0.32 -vn 0.51 0.86 0.05 -vn 0.96 0.25 0.09 -vn 0.91 0.41 0.06 -vn 0.88 -0.46 0.08 -vn 0.82 -0.55 0.13 -vn 0.38 -0.92 0.10 -vn 0.32 -0.94 0.14 -vn -0.01 -0.99 0.11 -vn 0.90 -0.43 0.03 -vn 0.56 -0.82 -0.06 -vn 0.52 -0.86 0.02 -vn -0.65 -0.76 -0.09 -vn -0.94 -0.35 -0.03 -vn -0.56 -0.82 -0.13 -vn -0.93 -0.36 0.00 -vn -0.55 -0.84 0.00 -vn -0.92 -0.40 0.06 -vn -0.41 -0.91 0.09 -vn -0.86 -0.50 0.12 -vn -0.35 -0.93 0.14 -vn -0.01 -1.00 0.08 -vn 0.13 -0.99 0.03 -vn 0.15 -0.99 -0.08 -vn 0.13 -0.98 -0.17 -vn 0.47 -0.84 -0.26 -vn -0.94 0.33 0.07 -vn -0.99 -0.03 0.11 -vn -0.81 0.51 0.29 -vn -0.99 -0.10 -0.13 -vn -0.92 -0.35 -0.19 -vn -0.89 -0.45 -0.10 -vn -0.48 0.87 0.03 -vn -0.89 0.46 0.04 -vn 0.66 0.74 -0.13 -vn 0.01 0.98 -0.20 -vn 0.46 0.85 -0.26 -vn 0.01 0.99 -0.13 -vn -0.62 0.77 -0.14 -vn -0.62 0.77 -0.12 -vn -0.91 0.41 -0.10 -vn -0.90 0.42 -0.10 -vn -0.98 0.17 -0.09 -vn -0.98 0.19 -0.08 -vn -1.00 -0.00 -0.09 -vn -1.00 0.03 -0.09 -vn -0.94 -0.31 -0.14 -vn -0.56 -0.78 -0.29 -vn -0.50 -0.82 -0.28 -vn 0.01 0.99 -0.10 -vn -0.60 0.79 -0.11 -vn 0.89 -0.42 -0.16 -vn 0.52 -0.81 -0.27 -vn -0.01 -0.93 -0.36 -vn -0.01 -1.00 0.00 -vn -0.58 -0.81 -0.14 -vn -0.97 -0.19 -0.14 -vn -0.99 0.05 -0.10 -vn -0.98 0.16 -0.09 -vn -0.91 0.40 -0.09 -vn -0.63 0.77 -0.09 -vn -1.00 -0.02 -0.08 -vn -0.87 -0.47 -0.16 -vn -0.02 -0.99 -0.17 -vn 0.54 -0.83 -0.11 -vn 0.91 -0.39 -0.12 -vn 0.98 -0.19 -0.11 -vn 1.00 -0.06 -0.06 -vn 1.00 -0.02 -0.06 -vn 0.99 0.13 -0.06 -vn 1.00 0.08 -0.05 -vn 0.91 0.39 -0.13 -vn 0.96 0.25 -0.14 -vn -0.99 0.07 -0.07 -vn -1.00 -0.03 -0.07 -vn -0.99 0.11 -0.06 -vn -0.77 -0.62 -0.11 -vn -0.01 -0.99 -0.17 -vn 0.83 -0.54 -0.13 -vn 0.95 -0.28 -0.11 -vn 0.99 -0.09 -0.07 -vn 0.99 0.10 -0.06 -vn 0.94 0.34 -0.08 -vn 0.66 0.74 -0.11 -vn 0.99 0.08 -0.07 -vn 1.00 -0.04 -0.08 -vn -0.81 -0.58 -0.11 -vn -0.01 -0.99 -0.11 -vn 0.74 -0.67 -0.08 -vn 0.99 -0.11 -0.05 -vn 1.00 0.07 -0.07 -vn 0.93 0.35 -0.09 -vn 0.63 0.77 -0.10 -vn 0.94 0.32 -0.07 -vn 1.00 0.02 -0.03 -vn 0.99 -0.12 -0.04 -vn 0.78 -0.63 -0.08 -vn -0.01 -0.99 -0.10 -vn -0.81 -0.57 -0.12 -vn -1.00 0.01 -0.08 -vn -1.00 0.02 -0.09 -vn -0.99 0.07 -0.08 -vn -1.00 -0.02 -0.07 -vn -0.75 -0.65 -0.12 -vn -0.99 -0.05 -0.11 -vn -0.72 -0.67 -0.16 -vn -0.99 -0.06 -0.13 -vn -0.99 0.05 -0.13 -vn -0.98 0.14 -0.14 -vn -0.99 -0.03 -0.13 -vn -0.99 0.03 -0.10 -vn -0.99 -0.09 -0.09 -vn -1.00 0.02 -0.07 -vn -0.99 0.15 0.00 -vn -0.93 0.36 -0.04 -vn -0.84 0.53 0.04 -vn -0.98 -0.05 -0.18 -vn -0.91 0.39 -0.13 -vn -0.97 0.20 -0.11 -vn -0.71 0.70 -0.06 -vn -0.80 0.60 -0.04 -vn -0.49 0.87 0.01 -vn -0.72 0.69 0.04 -vn -0.70 0.71 -0.03 -vn -0.98 0.16 -0.12 -vn -0.97 0.22 -0.07 -vn -1.00 0.07 -0.05 -vn -0.99 0.05 -0.11 -vn -0.99 0.10 0.02 -vn -0.95 0.32 0.00 -vn -0.94 0.32 0.07 -vn -0.00 1.00 -0.06 -vn 0.67 0.73 -0.07 -vn 0.75 0.65 0.06 -vn 0.84 0.55 -0.03 -vn 0.88 0.48 0.07 -vn 1.00 0.06 0.03 -vn 1.00 -0.07 -0.05 -vn 1.00 -0.03 -0.05 -vn 0.99 -0.11 -0.04 -vn 1.00 -0.07 -0.06 -vn 0.99 -0.08 -0.07 -vn 0.80 -0.59 -0.09 -vn 0.71 -0.70 -0.10 -vn -0.01 -0.99 -0.12 -vn 1.00 -0.06 -0.07 -vn 0.98 -0.18 -0.06 -vn 0.99 -0.13 -0.09 -vn 0.94 0.33 -0.11 -vn 0.96 0.13 0.26 -vn 0.96 0.11 0.26 -vn 0.99 0.13 0.01 -vn 1.00 -0.03 0.02 -vn 1.00 -0.03 -0.01 -vn 1.00 0.01 0.06 -vn 1.00 -0.02 -0.02 -vn 0.97 0.25 0.04 -vn 0.99 0.14 -0.03 -vn 0.83 0.55 -0.02 -vn 0.98 0.16 -0.09 -vn 0.75 0.66 -0.04 -vn 0.99 -0.11 -0.11 -vn 0.99 -0.05 -0.09 -vn 0.99 -0.14 -0.08 -vn 0.52 0.85 0.02 -vn 0.96 0.26 0.10 -vn 0.02 0.97 0.22 -vn 0.99 0.08 0.14 -vn 0.03 0.82 0.57 -vn 0.01 0.55 0.84 -vn -0.95 0.20 0.23 -vn -0.95 0.22 0.24 -vn -0.98 0.19 -0.06 -vn -1.00 0.07 -0.02 -vn -0.63 0.76 -0.13 -vn -0.98 0.18 0.11 -vn -0.98 0.17 -0.08 -vn -0.83 0.53 0.15 -vn 0.01 0.57 0.82 -vn -0.86 0.50 -0.08 -vn 1.00 -0.03 -0.02 -vn 1.00 0.03 -0.03 -vn 0.90 0.44 -0.05 -vn 0.87 0.46 0.16 -vn -0.06 0.74 0.67 -vn -0.06 1.00 0.01 -vn 0.04 0.99 -0.10 -vn -1.00 0.05 -0.02 -vn 0.98 -0.15 -0.10 -vn 0.70 -0.71 -0.13 -vn 0.99 -0.05 -0.13 -vn 0.99 0.08 -0.11 -vn 0.99 0.08 -0.08 -vn 1.00 0.06 -0.02 -vn 1.00 0.03 -0.00 -vn 1.00 0.02 0.01 -vn 1.00 0.01 0.02 -vn 1.00 0.08 0.06 -vn 1.00 0.01 0.03 -vn 0.99 0.11 0.03 -vn 1.00 0.07 0.02 -vn 1.00 0.09 -0.00 -vn 1.00 -0.00 0.01 -vn 1.00 0.03 0.03 -vn 1.00 -0.03 0.03 -vn 1.00 -0.03 0.07 -vn 0.99 -0.14 0.07 -vn 0.89 -0.42 0.16 -vn 0.88 -0.44 0.17 -vn 0.49 -0.84 0.25 -vn 0.98 0.17 -0.05 -vn 0.99 0.14 -0.00 -vn 1.00 0.08 -0.01 -vn 1.00 0.03 -0.04 -vn 0.97 0.21 -0.13 -vn 0.98 0.19 -0.04 -vn 0.95 0.30 -0.03 -vn 0.96 0.27 -0.05 -vn 0.99 0.15 0.03 -vn 0.99 0.17 0.02 -vn 0.50 -0.83 0.25 -vn -0.01 -0.97 0.24 -vn -0.01 -0.97 0.26 -vn -0.53 -0.81 0.25 -vn -0.52 -0.82 0.24 -vn -0.92 -0.37 0.15 -vn -0.93 -0.35 0.14 -vn -1.00 -0.05 0.05 -vn -1.00 0.07 0.05 -vn -1.00 0.06 0.01 -vn -0.99 0.13 0.00 -vn -1.00 0.09 -0.02 -vn -0.99 0.11 -0.02 -vn -0.98 0.18 -0.03 -vn -0.99 0.16 -0.01 -vn -0.98 0.20 0.00 -vn -0.99 0.10 0.00 -vn -0.98 0.17 0.03 -vn -0.51 -0.84 0.20 -vn -0.01 -0.99 0.17 -vn -0.98 -0.10 0.14 -vn -0.73 -0.67 0.14 -vn -0.27 -0.95 0.15 -vn -0.01 -0.99 0.16 -vn 0.47 -0.86 0.20 -vn 0.69 -0.71 0.15 -vn 0.97 -0.18 0.16 -vn 0.25 -0.96 0.16 -vn -0.99 0.10 -0.01 -vn -0.99 0.12 -0.01 -vn -0.99 0.12 -0.03 -vn -0.99 0.15 -0.05 -vn -0.98 0.17 -0.07 -vn -0.93 0.33 -0.16 -vn -0.88 0.46 -0.15 -vn -0.66 0.56 -0.50 -vn -0.43 0.86 -0.26 -vn -0.97 0.22 -0.08 -vn -0.99 0.12 -0.06 -vn -0.98 0.17 -0.03 -vn -0.97 0.22 -0.02 -vn -0.96 0.25 -0.07 -vn -0.95 0.29 -0.15 -vn -0.96 0.28 -0.06 -vn -0.92 0.38 -0.05 -vn -0.94 0.35 -0.08 -vn -0.97 0.24 0.00 -vn -0.97 0.25 -0.00 -vn 0.98 0.16 0.10 -vn 0.98 0.19 0.05 -vn 0.97 0.25 -0.00 -vn 0.96 0.28 -0.03 -vn 1.00 0.06 -0.01 -vn 1.00 -0.02 0.01 -vn 0.99 -0.09 0.04 -vn 0.98 -0.20 0.08 -vn 0.78 -0.59 0.20 -vn 0.94 -0.29 0.20 -vn 0.79 -0.54 0.29 -vn 0.91 -0.25 0.32 -vn 0.98 -0.09 0.19 -vn 0.61 -0.75 0.26 -vn 0.91 -0.31 0.29 -vn 0.96 -0.12 0.25 -vn 0.97 0.19 0.14 -vn 0.96 0.21 0.20 -vn 0.85 0.50 0.16 -vn 0.78 0.58 0.22 -vn 0.63 0.76 0.15 -vn 0.56 0.80 0.21 -vn 0.30 0.94 0.13 -vn 0.30 0.94 0.15 -vn 0.01 0.99 0.12 -vn 0.01 0.99 0.11 -vn -0.28 0.95 0.14 -vn -0.28 0.95 0.12 -vn -0.52 0.83 0.19 -vn -0.60 0.79 0.13 -vn -0.75 0.63 0.20 -vn -0.83 0.54 0.13 -vn -0.28 0.96 0.08 -vn -0.27 0.96 0.04 -vn 0.01 1.00 0.05 -vn 0.01 1.00 0.07 -vn 0.31 0.95 0.09 -vn 0.61 0.79 0.09 -vn 0.87 0.48 0.09 -vn 0.98 0.16 0.06 -vn 0.87 0.48 0.05 -vn 0.55 0.83 0.07 -vn 0.61 0.79 0.03 -vn 0.29 0.96 0.05 -vn 0.28 0.96 0.03 -vn 0.33 0.95 -0.01 -vn 0.01 1.00 0.02 -vn 0.01 1.00 -0.01 -vn 0.01 1.00 -0.02 -vn -0.46 0.89 -0.04 -vn -0.99 0.14 -0.02 -vn -0.98 0.17 -0.01 -vn -0.90 0.44 -0.02 -vn -0.91 0.41 -0.08 -vn -0.69 0.72 -0.09 -vn -0.77 0.63 -0.10 -vn -0.84 0.54 0.01 -vn -0.58 0.82 0.03 -vn 0.49 0.87 -0.03 -vn 0.39 0.92 -0.04 -vn 0.67 0.75 -0.01 -vn 0.92 0.39 0.02 -vn 0.99 0.11 0.02 -vn -0.99 0.15 -0.04 -vn -0.93 0.36 -0.06 -vn -0.94 0.34 -0.02 -vn -1.00 0.00 0.01 -vn -0.96 0.27 0.02 -vn -0.97 0.24 0.08 -vn -0.95 0.28 0.14 -vn -0.95 0.29 0.09 -vn -0.98 -0.02 0.21 -vn -0.98 0.04 0.17 -vn -0.93 -0.23 0.27 -vn -0.94 -0.17 0.31 -vn -0.96 -0.21 0.18 -vn -0.83 -0.48 0.28 -vn -0.82 -0.54 0.19 -vn -0.64 -0.72 0.26 -vn -0.99 -0.11 0.06 -vn -1.00 0.08 -0.01 -vn -1.00 0.04 0.03 -vn -0.98 0.20 -0.01 -vn -0.89 0.46 -0.00 -vn -0.63 0.78 -0.03 -vn -0.36 0.93 -0.05 -vn -0.30 0.95 -0.02 -vn -0.26 0.97 0.03 -vn -0.84 0.54 0.03 -vn -0.58 0.82 0.02 -vn -0.52 0.85 0.05 -vn -0.84 0.54 0.07 -vn -0.97 0.25 0.04 -vn -0.57 0.82 0.07 -vn 1.00 -0.06 0.05 -vn 1.00 0.08 0.01 -vn 1.00 0.05 0.01 -vn 0.93 0.37 0.01 -vn 0.94 0.34 -0.06 -vn 0.73 0.68 -0.07 -vn 0.81 0.58 -0.08 -vn 0.88 0.47 0.03 -vn 0.62 0.78 0.04 -vn -0.02 0.99 0.14 -vn -0.01 0.99 0.11 -vn -0.01 1.00 -0.08 -vn -0.02 1.00 -0.08 -vn -0.02 0.99 -0.12 -vn -0.09 0.99 -0.12 -vn -0.15 0.99 0.00 -vn -0.18 0.98 -0.10 -vn -0.14 0.98 0.16 -vn -0.04 0.99 0.16 -vn -0.05 0.93 0.35 -vn -0.03 0.94 0.33 -vn -0.02 0.96 0.28 -vn -0.02 0.98 0.18 -vn 0.02 1.00 0.05 -vn -0.03 0.99 0.15 -vn -0.01 1.00 -0.02 -vn -0.08 0.99 -0.09 -vn -0.03 0.99 -0.10 -vn 0.00 1.00 -0.09 -vn -0.01 0.99 -0.12 -vn 0.01 0.99 -0.14 -vn -0.43 0.85 -0.29 -vn -0.14 0.94 -0.32 -vn 0.37 0.86 0.35 -vn 0.25 0.81 0.54 -vn 0.72 0.00 0.70 -vn 0.39 0.00 0.92 -vn 0.37 -0.86 0.35 -vn 0.24 -0.81 0.53 -vn -0.43 -0.84 -0.34 -vn -0.15 -0.93 -0.34 -vn -0.83 0.06 -0.55 -vn -0.44 -0.00 -0.90 -vn 0.13 -0.05 -0.99 -vn 0.04 0.86 -0.51 -vn 0.01 0.85 0.52 -vn 0.02 0.02 1.00 -vn -0.00 -0.86 0.51 -vn 0.04 -0.86 -0.51 -vn 0.03 1.00 -0.08 -vn 0.03 0.99 -0.11 -vn 0.02 1.00 -0.08 -vn 0.02 0.99 -0.11 -vn 0.01 1.00 -0.09 -vn 0.00 0.99 -0.13 -vn -0.00 1.00 0.05 -vn 0.09 0.99 -0.08 -vn 0.02 1.00 -0.02 -vn 0.04 0.99 0.15 -vn 0.04 0.98 0.18 -vn 0.02 0.99 0.11 -vn 0.04 0.96 0.28 -vn 0.04 0.99 0.14 -vn 0.05 0.94 0.33 -vn 0.06 0.98 0.16 -vn 0.08 0.93 0.36 -vn 0.16 0.97 0.17 -vn 0.17 0.99 0.01 -vn -0.01 0.99 -0.14 -vn 0.22 0.97 -0.09 -vn 0.12 0.99 -0.11 -vn 0.08 0.98 -0.15 -vn 0.04 0.98 -0.18 -vn 0.96 0.28 -0.02 -vn 1.00 -0.02 -0.04 -vn 1.00 -0.08 -0.05 -vn 0.78 -0.62 -0.10 -vn -0.84 -0.54 -0.12 -vn -0.99 0.01 -0.10 -vn 0.00 -0.86 0.51 -vn -0.00 0.04 1.00 -vn -0.26 -0.80 0.54 -vn 0.13 -0.94 -0.32 -vn 0.40 -0.86 -0.32 -vn 0.84 -0.02 -0.54 -vn 0.43 -0.04 -0.90 -vn 0.47 0.83 -0.30 -vn 0.15 0.93 -0.33 -vn -0.34 0.87 0.34 -vn -0.21 0.82 0.53 -vn -0.72 0.04 0.69 -vn -0.38 0.03 0.92 -vn -0.39 -0.85 0.35 -vn 0.01 0.87 0.50 -vn -0.04 0.86 -0.51 -vn -0.15 -0.02 -0.99 -vn -0.06 -0.85 -0.53 -vn -0.14 0.97 -0.18 -vn -0.17 0.97 -0.18 -vn -0.39 0.91 -0.13 -vn -0.41 0.90 -0.12 -vn -0.46 0.88 -0.07 -vn -0.47 0.88 -0.06 -vn -0.44 0.90 -0.04 -vn -0.44 0.90 0.01 -vn -0.41 0.91 0.05 -vn -0.58 0.81 0.10 -vn -0.59 0.80 0.11 -vn -0.63 0.72 0.30 -vn -0.67 0.62 0.41 -vn -0.71 0.49 0.51 -vn -0.71 0.49 0.50 -vn 0.07 0.99 -0.11 -vn 0.12 0.99 -0.10 -vn 0.08 0.99 -0.10 -vn 0.12 0.99 -0.08 -vn 0.11 0.99 -0.10 -vn 0.11 0.99 -0.04 -vn 0.10 0.99 -0.04 -vn 0.07 1.00 0.01 -vn 0.07 1.00 0.02 -vn 0.11 0.98 0.18 -vn 0.15 0.96 0.22 -vn 0.25 0.87 0.42 -vn 0.34 0.83 0.44 -vn 0.29 0.76 0.58 -vn 0.21 0.82 0.53 -vn 0.19 0.92 0.36 -vn 0.53 -0.83 0.18 -vn 0.31 -0.94 0.15 -vn 0.24 -0.96 0.13 -vn -0.00 -1.00 0.08 -vn -0.33 -0.93 0.14 -vn -0.27 -0.95 0.14 -vn -0.56 -0.81 0.18 -vn -0.97 0.22 0.05 -vn -0.91 0.42 0.01 -vn -0.01 -0.11 -0.99 -vn 0.99 0.13 0.07 -vn 0.94 0.34 0.03 -vn 0.73 0.43 0.53 -vn 0.70 0.56 0.44 -vn 0.65 0.69 0.32 -vn 0.58 0.80 0.14 -vn 0.57 0.81 0.13 -vn 0.46 0.89 0.02 -vn 0.44 0.90 0.05 -vn 0.46 0.89 -0.03 -vn 0.47 0.88 -0.03 -vn 0.50 0.87 -0.06 -vn 0.49 0.87 -0.06 -vn 0.44 0.89 -0.11 -vn 0.41 0.90 -0.12 -vn 0.19 0.97 -0.17 -vn 0.16 0.97 -0.18 -vn -0.67 0.00 -0.74 -vn 0.67 -0.06 -0.74 -vn -0.05 -0.99 -0.10 -vn -0.06 -0.99 -0.11 -vn -0.04 -0.99 -0.10 -vn -0.03 -0.99 -0.12 -vn -0.02 -0.99 -0.11 -vn -0.02 -0.99 -0.13 -vn -0.03 -0.99 -0.10 -vn -0.02 -0.99 -0.10 -vn -0.03 -1.00 -0.07 -vn -0.05 -1.00 -0.01 -vn -0.03 -1.00 0.02 -vn -0.04 -1.00 0.07 -vn -0.08 -1.00 -0.02 -vn -0.05 -1.00 0.07 -vn -0.08 -1.00 -0.03 -vn -0.09 -0.99 0.06 -vn 0.02 -1.00 -0.04 -vn -0.12 -0.99 0.01 -vn -0.01 -1.00 0.02 -vn -0.06 -0.99 -0.12 -vn -0.07 -0.99 -0.11 -vn -0.05 -0.99 -0.11 -vn -0.08 -0.99 -0.10 -vn -0.01 -1.00 -0.05 -vn -0.03 -1.00 -0.05 -vn 0.11 -0.99 0.02 -vn 0.07 -1.00 0.06 -vn 0.19 -0.97 0.14 -vn 0.10 -0.97 0.22 -vn 0.53 -0.80 0.29 -vn -0.01 -1.00 -0.03 -vn -0.11 -0.99 -0.10 -vn -0.08 -0.99 -0.07 -vn 0.07 -1.00 -0.07 -vn 0.01 -1.00 -0.09 -vn -0.18 -0.98 0.08 -vn -0.88 -0.16 0.45 -vn -0.86 -0.25 0.44 -vn -0.24 -0.94 0.22 -vn -0.01 -0.97 0.23 -vn 0.23 -0.95 0.22 -vn 0.16 -0.98 0.08 -vn 0.83 -0.32 0.45 -vn 0.86 -0.24 0.45 -vn 0.03 -1.00 -0.09 -vn 0.03 -0.99 -0.10 -vn 0.04 -0.99 -0.11 -vn 0.02 -0.99 -0.12 -vn 0.03 -0.99 -0.11 -vn 0.02 -0.99 -0.11 -vn 0.05 -0.99 -0.11 -vn 0.04 -0.99 -0.10 -vn 0.06 -1.00 -0.02 -vn 0.07 -1.00 -0.00 -vn 0.04 -1.00 0.07 -vn 0.09 -0.97 0.23 -vn 0.07 -1.00 -0.03 -vn 0.06 -0.99 -0.10 -vn 0.09 -0.99 -0.10 -vn -0.01 -1.00 -0.02 -vn 0.13 -0.99 0.00 -vn 0.61 -0.78 0.12 -vn 0.66 -0.70 0.29 -vn 0.23 -0.89 0.39 -vn 0.14 -0.91 0.40 -vn 0.14 -0.91 0.39 -vn -0.07 -0.98 0.20 -vn -0.10 -0.97 0.23 -vn -0.11 -0.97 0.22 -vn -0.21 -0.97 0.13 -vn -0.14 -0.99 0.00 -vn -0.01 -1.00 0.05 -vn 0.25 -0.97 0.02 -vn -0.56 -0.78 0.28 -vn -0.11 -0.93 0.35 -vn -0.14 -0.91 0.39 -vn -0.14 -0.90 0.40 -vn -0.25 -0.89 0.39 -vn -0.69 -0.67 0.28 -vn -0.66 -0.75 0.11 -vn -0.27 -0.96 0.01 -vn -0.08 -0.99 -0.09 -vn -0.18 -0.98 0.03 -vn -0.01 -1.00 -0.07 -vn -0.01 -1.00 -0.01 -vn 0.16 -0.99 0.03 -vn 0.06 -0.99 -0.09 -vn -0.11 -0.99 -0.09 -vn -0.46 -0.88 0.13 -vn -0.19 -0.98 0.07 -vn -0.46 -0.87 0.18 -vn 0.44 -0.88 0.19 -vn 0.18 -0.98 0.08 -vn 0.43 -0.89 0.14 -vn 0.09 -0.99 -0.09 -vn -0.09 0.99 -0.04 -vn -0.04 1.00 -0.04 -vn 0.00 1.00 -0.05 -vn -0.00 1.00 0.01 -vn -0.03 0.98 0.17 -vn -0.06 0.97 0.23 -vn -0.21 0.89 0.42 -vn -0.20 0.84 0.51 -vn -0.27 0.78 0.57 -vn -0.32 0.86 0.40 -vn -0.09 0.97 0.21 -vn -0.10 0.91 0.41 -vn -0.15 0.87 0.46 -vn -0.00 1.00 -0.08 -vn -0.04 0.99 -0.09 -vn -0.10 0.99 -0.08 -vn -0.05 0.99 -0.10 -vn -0.10 0.99 -0.10 -vn -0.04 1.00 -0.09 -vn -0.05 0.99 -0.11 -vn 0.01 0.99 -0.11 -vn 0.97 0.08 0.25 -vn -0.51 0.85 0.14 -vn -0.32 0.94 0.12 -vn -0.26 0.96 0.14 -vn 0.06 0.97 0.23 -vn 0.32 0.93 0.16 -vn 0.26 0.96 0.12 -vn 0.54 0.83 0.16 -vn -0.96 0.17 0.22 -vn 0.01 -0.93 0.36 -vn 0.00 -0.98 0.17 -vn 0.00 -0.98 0.18 -vn -0.02 -0.98 -0.21 -vn -0.02 -0.98 -0.20 -vn -0.02 -0.92 -0.39 -vn -0.01 0.93 -0.36 -vn -0.00 0.98 -0.17 -vn -0.00 0.98 -0.18 -vn 0.02 0.98 0.21 -vn 0.02 0.98 0.20 -vn 0.02 0.92 0.39 -vn 0.04 0.04 1.00 -vn -1.00 0.05 0.02 -vn -0.04 -0.04 -1.00 -vn -0.08 0.86 0.51 -vn 0.01 0.86 0.52 -vn -1.00 0.08 -0.05 -vn -0.99 -0.02 -0.11 -vn -0.99 -0.02 -0.12 -vn -0.01 -0.85 -0.52 -vn 0.08 -0.85 -0.52 -vn 0.09 -0.85 -0.52 -vn 0.99 -0.09 0.07 -vn 0.99 0.01 0.12 -vn 0.99 0.02 0.12 -vn 0.11 0.85 0.51 -vn 0.02 0.85 0.52 -vn 0.99 -0.11 -0.09 -vn -0.11 -0.85 -0.52 -vn -0.02 -0.85 -0.52 -vn -0.99 0.11 0.10 -vn -1.00 0.01 0.04 -vn -1.00 0.00 0.04 -vn -0.01 -0.10 -1.00 -vn -0.01 -0.79 -0.61 -vn -0.00 0.46 -0.89 -vn -0.01 -0.44 -0.90 -vn 0.01 0.36 0.93 -vn 0.00 -0.53 0.85 -vn -1.00 0.05 -0.01 -vn 1.00 -0.05 0.01 -vn -0.16 -0.97 -0.18 -vn -0.17 -0.98 -0.08 -vn -0.14 -0.99 0.02 -vn -0.01 -1.00 -0.08 -vn -0.01 -0.98 -0.21 -vn -0.01 -0.96 -0.29 -vn 0.01 0.95 0.30 -vn 0.74 -0.64 0.19 -vn 0.81 -0.47 -0.35 -vn 0.04 -0.94 0.35 -vn 0.03 -0.97 0.25 -vn 0.02 -0.93 0.37 -vn 0.27 -0.96 0.13 -vn 0.19 -0.98 0.08 -vn 0.48 -0.88 0.05 -vn 0.25 -0.97 0.05 -vn -0.00 -1.00 0.05 -vn 0.01 -1.00 0.05 -vn 0.01 -1.00 0.08 -vn 0.01 -1.00 0.04 -vn 0.08 -0.98 0.15 -vn 0.15 -0.99 0.04 -vn 0.10 -0.98 0.16 -vn 0.07 -0.94 0.34 -vn 0.04 -0.94 0.34 -vn 0.07 -0.85 0.53 -vn 0.01 -0.96 0.28 -vn 0.02 -0.95 0.31 -vn 0.04 -0.86 0.50 -vn 0.03 -0.89 0.45 -vn 0.14 0.98 -0.13 -vn -0.22 -0.92 0.32 -vn -0.01 -0.94 0.35 -vn -0.07 -0.92 0.39 -vn -0.00 -0.91 0.42 -vn 0.06 -0.92 0.39 -vn 0.21 -0.93 0.32 -vn 0.42 -0.10 -0.90 -vn 0.13 -0.53 -0.83 -vn -0.14 0.03 -0.99 -vn 0.17 0.25 -0.95 -vn -0.00 0.06 1.00 -vn 0.00 0.07 1.00 -vn 0.02 0.06 1.00 -vn 0.01 0.07 1.00 -vn -0.08 -1.00 0.03 -vn -0.04 -1.00 -0.02 -vn -0.10 -0.99 0.04 -vn -0.17 -0.99 0.04 -vn -0.12 -0.99 0.04 -vn -0.10 -0.98 0.15 -vn -0.03 -1.00 0.08 -vn -0.05 -0.94 0.34 -vn -0.03 -0.95 0.31 -vn -0.04 -0.86 0.50 -vn -0.03 -0.89 0.45 -vn -0.02 -0.96 0.28 -vn -0.03 -0.93 0.37 -vn -0.04 -0.97 0.25 -vn -0.05 -0.94 0.35 -vn -0.29 -0.95 0.12 -vn -0.20 -0.98 0.07 -vn -0.50 -0.86 0.04 -vn -0.29 -0.96 0.04 -vn -0.02 -1.00 0.08 -vn -0.02 -1.00 0.05 -vn -0.02 -1.00 0.04 -vn -0.07 -0.85 0.53 -vn -0.08 -0.94 0.34 -vn -0.11 -0.98 0.16 -vn -0.06 0.99 -0.14 -vn -0.02 0.99 -0.16 -vn -0.39 0.83 -0.40 -vn -0.84 -0.40 -0.38 -vn -0.78 -0.60 0.17 -vn -0.13 0.98 -0.14 -vn 0.01 0.05 1.00 -vn 0.01 0.06 1.00 -vn -0.12 -0.06 -0.99 -vn -0.15 -0.52 -0.84 -vn -0.43 -0.06 -0.90 -vn -0.19 -0.01 -0.98 -vn 0.00 0.12 -0.99 -vn 0.01 0.37 0.93 -vn -0.01 0.12 -0.99 -vn -0.01 0.10 -0.99 -vn -0.01 0.11 -0.99 -vn -0.01 0.09 -1.00 -vn 0.27 0.23 0.93 -vn 0.19 0.41 0.89 -vn 0.34 -0.13 0.93 -vn -0.16 0.43 0.89 -vn -0.25 0.25 0.93 -vn -0.31 -0.16 0.94 -vn -0.33 -0.11 0.94 -vn -0.11 -0.42 0.90 -vn -0.17 -0.38 0.91 -vn 0.12 -0.44 0.89 -vn 0.01 -0.61 0.79 -vn 0.17 -0.39 0.90 -vn 0.32 -0.19 0.93 -vn -0.95 0.22 0.21 -vn -0.01 -0.99 0.12 -vn 0.96 0.13 0.24 -vn -0.59 0.79 0.16 -vn -0.31 0.94 0.15 -vn -0.30 0.94 0.15 -vn 0.35 0.92 0.16 -vn 0.63 0.76 0.18 -vn 0.02 0.69 0.72 -vn 0.22 0.53 0.82 -vn -0.07 0.70 0.71 -vn -0.20 0.55 0.81 -vn -0.32 0.28 0.91 -vn -0.34 0.21 0.92 -vn -0.33 -0.24 0.91 -vn -0.35 -0.12 0.93 -vn -0.14 -0.63 0.77 -vn -0.24 -0.49 0.84 -vn -0.01 -0.48 0.88 -vn 0.16 -0.61 0.78 -vn 0.25 -0.50 0.83 -vn 0.34 -0.27 0.90 -vn 0.36 -0.14 0.92 -vn 0.34 0.25 0.91 -vn 0.35 0.19 0.92 -vn 0.09 0.71 0.70 -vn 0.00 -0.92 -0.39 -vn -0.00 -0.98 -0.21 -vn -0.00 -0.98 -0.20 -vn -0.01 -0.98 0.17 -vn -0.01 -0.98 0.18 -vn -0.02 -0.93 0.36 -vn -0.00 0.92 0.39 -vn 0.00 0.98 0.21 -vn 0.00 0.98 0.20 -vn 0.01 0.98 -0.17 -vn 0.01 0.98 -0.18 -vn 0.02 0.93 -0.36 -vn -0.03 0.04 1.00 -vn 1.00 -0.05 0.05 -vn 0.03 -0.04 -1.00 -vn 0.31 0.87 -0.39 -vn 0.37 0.92 0.09 -vn 0.68 0.61 -0.41 -vn 0.63 0.62 -0.46 -vn 0.55 0.72 -0.42 -vn 0.64 0.67 -0.37 -vn 0.24 0.96 -0.12 -vn 0.26 0.96 -0.12 -vn -0.11 0.92 0.39 -vn -0.23 0.89 0.39 -vn 0.47 0.10 -0.88 -vn 0.54 0.10 -0.84 -vn 0.16 0.98 0.09 -vn 0.08 0.99 0.10 -vn 0.24 0.97 0.08 -vn 0.31 0.95 0.05 -vn 0.23 0.97 0.07 -vn 0.51 0.86 0.06 -vn 0.45 0.88 0.13 -vn 0.34 0.94 -0.05 -vn 0.34 0.94 -0.00 -vn 0.10 0.99 -0.11 -vn 0.10 0.99 -0.09 -vn -0.08 0.99 -0.10 -vn -0.09 0.99 -0.11 -vn -0.34 0.94 -0.05 -vn -0.40 0.91 0.10 -vn -0.50 0.87 0.05 -vn -0.21 0.98 0.05 -vn -0.30 0.95 0.04 -vn -0.14 0.99 0.08 -vn -0.23 0.97 0.08 -vn -0.07 0.99 0.09 -vn -0.14 0.99 0.09 -vn -0.54 0.16 -0.83 -vn -0.47 0.13 -0.87 -vn 0.24 0.89 0.39 -vn 0.14 0.90 0.41 -vn -0.24 0.96 -0.12 -vn -0.23 0.97 -0.12 -vn -0.59 0.72 -0.36 -vn -0.54 0.73 -0.43 -vn -0.62 0.64 -0.46 -vn -0.64 0.66 -0.40 -vn -0.26 0.96 0.09 -vn -0.38 0.83 -0.41 -vn 0.40 0.85 -0.33 -vn 0.55 0.82 -0.18 -vn 0.74 0.63 -0.24 -vn -0.23 0.66 -0.71 -vn 0.90 0.23 -0.37 -vn -0.90 0.43 -0.07 -vn -0.98 0.21 0.05 -vn 0.02 0.10 -0.99 -vn -0.38 -0.03 -0.92 -vn -0.92 0.04 -0.38 -vn -0.99 0.13 0.02 -vn -0.99 0.13 0.01 -vn -0.83 0.17 0.53 -vn 0.10 0.89 0.44 -vn 0.02 0.90 0.44 -vn 0.03 0.90 0.44 -vn -0.00 0.90 0.43 -vn 0.00 0.90 0.43 -vn 0.01 0.90 0.44 -vn -0.07 0.90 0.44 -vn 0.78 0.61 0.15 -vn 1.00 0.04 0.04 -vn 1.00 0.03 0.04 -vn 1.00 0.03 0.01 -vn 0.74 -0.16 -0.65 -vn 0.85 -0.02 -0.52 -vn 0.93 0.33 0.17 -vn 0.95 -0.02 -0.30 -vn 0.93 0.36 -0.05 -vn -0.72 0.64 -0.26 -vn -0.71 0.28 -0.65 -vn -0.70 0.67 -0.25 -vn -0.38 0.91 -0.20 -vn -0.50 0.81 -0.31 -vn 0.01 0.99 0.10 -vn 0.01 1.00 0.10 -vn 0.01 0.34 0.94 -vn 0.01 0.12 0.99 -vn 0.00 0.91 -0.41 -vn -0.99 0.16 -0.06 -vn -0.99 0.14 -0.10 -vn -0.96 0.04 -0.28 -vn -0.96 0.04 -0.29 -vn 0.96 -0.05 -0.27 -vn 1.00 0.05 -0.08 -vn 0.96 -0.05 -0.26 -vn 1.00 0.07 -0.04 -vn -0.01 -0.18 -0.98 -vn 0.83 0.10 0.55 -vn -0.74 0.66 0.13 -vn 0.94 -0.32 -0.07 -vn 0.83 -0.56 0.01 -vn -0.09 -0.40 -0.91 -vn -0.12 0.12 -0.99 -vn -0.07 -0.68 -0.73 -vn -0.07 0.27 -0.96 -vn 0.02 1.00 -0.09 -vn -0.12 0.53 -0.84 -vn -0.10 -0.26 -0.96 -vn -0.12 -0.15 -0.98 -vn 0.05 -0.53 -0.85 -vn 0.03 -0.38 -0.93 -vn 0.03 -0.98 -0.21 -vn 0.09 -0.09 -0.99 -vn 0.07 0.04 -1.00 -vn 0.08 0.14 -0.99 -vn 0.05 0.26 -0.96 -vn -0.99 0.12 -0.09 -vn 0.96 0.29 0.00 -vn 0.58 0.81 0.00 -vn 0.61 0.79 0.00 -vn -0.53 0.85 -0.01 -vn -0.57 0.82 -0.01 -vn -0.92 0.38 -0.02 -vn -0.95 -0.30 -0.00 -vn -0.61 -0.80 -0.00 -vn -0.58 -0.82 -0.00 -vn 0.57 -0.82 0.01 -vn 0.52 -0.85 0.01 -vn 0.92 -0.40 0.02 -vn 0.99 -0.12 -0.07 -vn 1.00 -0.07 -0.01 -vn 1.00 -0.08 -0.01 -vn 0.99 -0.11 0.07 -vn 1.00 -0.07 0.04 -vn 1.00 -0.01 -0.00 -vn 0.98 -0.13 -0.12 -vn 1.00 0.03 -0.08 -vn 0.88 0.04 -0.48 -vn 0.96 0.13 -0.23 -vn -0.96 0.10 -0.27 -vn -0.99 0.04 -0.13 -vn -0.99 0.04 -0.12 -vn -0.91 0.02 -0.42 -vn -0.90 -0.01 -0.43 -vn -0.99 0.02 0.17 -vn -0.98 0.06 0.19 -vn -0.96 0.03 -0.29 -vn -0.91 0.15 -0.37 -vn -0.85 0.17 0.50 -vn -0.94 -0.03 0.33 -vn 0.71 0.05 0.71 -vn -0.02 0.12 0.99 -vn 0.02 0.12 0.99 -vn -0.70 0.12 0.70 -vn -0.71 -0.01 -0.71 -vn -0.02 -0.06 -1.00 -vn 0.02 -0.06 -1.00 -vn 0.71 -0.08 -0.70 -vn 0.01 1.00 -0.03 -vn 0.03 -1.00 -0.02 -vn 0.06 -1.00 0.04 -vn 0.08 -1.00 0.04 -# 1154 vertex normals - -vt 0.41 0.82 0.00 -vt 0.39 0.82 0.00 -vt 0.42 0.80 0.00 -vt 0.39 0.80 0.00 -vt 0.37 0.80 0.00 -vt 0.37 0.82 0.00 -vt 0.35 0.82 0.00 -vt 0.35 0.80 0.00 -vt 0.33 0.80 0.00 -vt 0.33 0.81 0.00 -vt 0.31 0.81 0.00 -vt 0.30 0.80 0.00 -vt 0.30 0.81 0.00 -vt 0.29 0.80 0.00 -vt 0.29 0.81 0.00 -vt 0.28 0.80 0.00 -vt 0.34 0.81 0.00 -vt 0.30 0.82 0.00 -vt 0.34 0.82 0.00 -vt 0.39 0.81 0.00 -vt 0.43 0.81 0.00 -vt 0.43 0.82 0.00 -vt 0.98 0.38 0.00 -vt 0.98 0.42 0.00 -vt 0.97 0.44 0.00 -vt 0.50 0.74 0.00 -vt 0.49 0.75 0.00 -vt 0.54 0.75 0.00 -vt 0.47 0.74 0.00 -vt 0.45 0.75 0.00 -vt 0.43 0.74 0.00 -vt 0.43 0.75 0.00 -vt 0.41 0.75 0.00 -vt 0.41 0.74 0.00 -vt 0.40 0.75 0.00 -vt 0.40 0.74 0.00 -vt 0.42 0.75 0.00 -vt 0.46 0.74 0.00 -vt 0.54 0.72 0.00 -vt 0.50 0.73 0.00 -vt 0.50 0.72 0.00 -vt 0.54 0.71 0.00 -vt 0.46 0.73 0.00 -vt 0.43 0.73 0.00 -vt 0.40 0.73 0.00 -vt 0.43 0.72 0.00 -vt 0.40 0.72 0.00 -vt 0.43 0.71 0.00 -vt 0.40 0.71 0.00 -vt 0.43 0.70 0.00 -vt 0.40 0.70 0.00 -vt 0.40 0.69 0.00 -vt 0.46 0.71 0.00 -vt 0.50 0.71 0.00 -vt 0.46 0.70 0.00 -vt 0.45 0.69 0.00 -vt 0.46 0.69 0.00 -vt 0.50 0.70 0.00 -vt 0.54 0.70 0.00 -vt 0.58 0.71 0.00 -vt 0.59 0.75 0.00 -vt 0.58 0.73 0.00 -vt 0.56 0.88 0.00 -vt 0.56 0.91 0.00 -vt 0.54 0.89 0.00 -vt 0.60 0.90 0.00 -vt 0.60 0.88 0.00 -vt 0.59 0.86 0.00 -vt 0.65 0.85 0.00 -vt 0.65 0.83 0.00 -vt 0.59 0.83 0.00 -vt 0.65 0.78 0.00 -vt 0.59 0.78 0.00 -vt 0.65 0.76 0.00 -vt 0.64 0.75 0.00 -vt 0.65 0.90 0.00 -vt 0.65 0.88 0.00 -vt 0.64 0.74 0.00 -vt 0.70 0.75 0.00 -vt 0.70 0.76 0.00 -vt 0.70 0.77 0.00 -vt 0.70 0.79 0.00 -vt 0.70 0.82 0.00 -vt 0.70 0.85 0.00 -vt 0.70 0.87 0.00 -vt 0.75 0.79 0.00 -vt 0.75 0.78 0.00 -vt 0.75 0.75 0.00 -vt 0.58 0.75 0.00 -vt 0.55 0.78 0.00 -vt 0.55 0.84 0.00 -vt 0.50 0.83 0.00 -vt 0.54 0.86 0.00 -vt 0.51 0.87 0.00 -vt 0.53 0.88 0.00 -vt 0.78 0.82 0.00 -vt 0.78 0.80 0.00 -vt 0.75 0.82 0.00 -vt 0.78 0.78 0.00 -vt 0.78 0.76 0.00 -vt 0.69 0.77 0.00 -vt 0.81 0.79 0.00 -vt 0.81 0.77 0.00 -vt 0.86 0.78 0.00 -vt 0.86 0.79 0.00 -vt 0.81 0.80 0.00 -vt 0.86 0.81 0.00 -vt 0.81 0.83 0.00 -vt 0.86 0.83 0.00 -vt 0.92 0.80 0.00 -vt 0.92 0.81 0.00 -vt 0.93 0.80 0.00 -vt 0.93 0.81 0.00 -vt 0.93 0.83 0.00 -vt 0.92 0.83 0.00 -vt 0.88 0.84 0.00 -vt 0.88 0.83 0.00 -vt 0.86 0.84 0.00 -vt 0.81 0.84 0.00 -vt 0.78 0.84 0.00 -vt 0.75 0.85 0.00 -vt 0.78 0.85 0.00 -vt 0.88 0.85 0.00 -vt 0.86 0.85 0.00 -vt 0.89 0.86 0.00 -vt 0.83 0.86 0.00 -vt 0.85 0.86 0.00 -vt 0.81 0.86 0.00 -vt 0.78 0.86 0.00 -vt 0.75 0.86 0.00 -vt 0.93 0.85 0.00 -vt 0.91 0.88 0.00 -vt 0.93 0.87 0.00 -vt 0.91 0.89 0.00 -vt 0.93 0.89 0.00 -vt 0.93 0.97 0.00 -vt 0.89 0.89 0.00 -vt 0.88 0.88 0.00 -vt 0.84 0.88 0.00 -vt 0.71 0.90 0.00 -vt 0.88 0.81 0.00 -vt 0.88 0.80 0.00 -vt 0.88 0.78 0.00 -vt 0.92 0.78 0.00 -vt 0.89 0.99 0.00 -vt 0.89 0.98 0.00 -vt 0.92 0.98 0.00 -vt 0.82 0.90 0.00 -vt 0.86 0.89 0.00 -vt 0.83 0.91 0.00 -vt 0.88 0.98 0.00 -vt 0.93 0.98 0.00 -vt 0.90 0.99 0.00 -vt 0.93 0.99 0.00 -vt 0.90 1.00 0.00 -vt 0.93 1.00 0.00 -vt 0.93 0.79 0.00 -vt 0.46 0.86 0.00 -vt 0.46 0.83 0.00 -vt 0.40 0.86 0.00 -vt 0.40 0.83 0.00 -vt 0.35 0.85 0.00 -vt 0.32 0.85 0.00 -vt 0.29 0.85 0.00 -vt 0.29 0.83 0.00 -vt 0.24 0.83 0.00 -vt 0.23 0.80 0.00 -vt 0.19 0.80 0.00 -vt 0.20 0.77 0.00 -vt 0.16 0.78 0.00 -vt 0.16 0.76 0.00 -vt 0.09 0.78 0.00 -vt 0.09 0.75 0.00 -vt 0.36 0.80 0.00 -vt 0.40 0.79 0.00 -vt 0.46 0.79 0.00 -vt 0.50 0.78 0.00 -vt 0.50 0.76 0.00 -vt 0.45 0.77 0.00 -vt 0.40 0.78 0.00 -vt 0.36 0.79 0.00 -vt 0.33 0.78 0.00 -vt 0.04 0.76 0.00 -vt 0.09 0.74 0.00 -vt 0.04 0.74 0.00 -vt 0.24 0.80 0.00 -vt 0.33 0.85 0.00 -vt 0.36 0.82 0.00 -vt 0.16 0.74 0.00 -vt 0.15 0.73 0.00 -vt 0.19 0.76 0.00 -vt 0.19 0.74 0.00 -vt 0.18 0.73 0.00 -vt 0.18 0.76 0.00 -vt 0.18 0.74 0.00 -vt 0.51 0.83 0.00 -vt 0.54 0.92 0.00 -vt 0.34 0.87 0.00 -vt 0.32 0.86 0.00 -vt 0.31 0.86 0.00 -vt 0.28 0.86 0.00 -vt 0.24 0.85 0.00 -vt 0.19 0.83 0.00 -vt 0.15 0.80 0.00 -vt 0.09 0.80 0.00 -vt 0.04 0.78 0.00 -vt 0.04 0.80 0.00 -vt 0.01 0.78 0.00 -vt 0.01 0.80 0.00 -vt 0.03 0.82 0.00 -vt 0.01 0.77 0.00 -vt 0.00 0.83 0.00 -vt 0.04 0.84 0.00 -vt 0.00 0.84 0.00 -vt 0.03 0.86 0.00 -vt 0.00 0.86 0.00 -vt 0.03 0.88 0.00 -vt 0.00 0.87 0.00 -vt 0.04 0.89 0.00 -vt 0.00 0.89 0.00 -vt 0.04 0.91 0.00 -vt 0.00 0.90 0.00 -vt 0.04 0.88 0.00 -vt 0.09 0.89 0.00 -vt 0.15 0.90 0.00 -vt 0.14 0.91 0.00 -vt 0.09 0.91 0.00 -vt 0.09 0.88 0.00 -vt 0.09 0.87 0.00 -vt 0.09 0.85 0.00 -vt 0.15 0.87 0.00 -vt 0.15 0.89 0.00 -vt 0.19 0.89 0.00 -vt 0.18 0.90 0.00 -vt 0.21 0.90 0.00 -vt 0.18 0.92 0.00 -vt 0.21 0.92 0.00 -vt 0.25 0.92 0.00 -vt 0.28 0.92 0.00 -vt 0.28 0.90 0.00 -vt 0.21 0.85 0.00 -vt 0.18 0.85 0.00 -vt 0.21 0.87 0.00 -vt 0.25 0.87 0.00 -vt 0.25 0.88 0.00 -vt 0.28 0.88 0.00 -vt 0.30 0.87 0.00 -vt 0.30 0.90 0.00 -vt 0.30 0.92 0.00 -vt 0.25 0.90 0.00 -vt 0.21 0.89 0.00 -vt 0.18 0.87 0.00 -vt 0.14 0.85 0.00 -vt 0.29 0.86 0.00 -vt 0.05 0.84 0.00 -vt 0.01 0.83 0.00 -vt 0.15 0.83 0.00 -vt 0.08 0.82 0.00 -vt 0.15 0.85 0.00 -vt 0.14 0.83 0.00 -vt 0.35 0.31 0.00 -vt 0.35 0.37 0.00 -vt 0.33 0.31 0.00 -vt 0.33 0.26 0.00 -vt 0.29 0.27 0.00 -vt 0.29 0.23 0.00 -vt 0.33 0.22 0.00 -vt 0.30 0.21 0.00 -vt 0.34 0.20 0.00 -vt 0.35 0.22 0.00 -vt 0.34 0.26 0.00 -vt 0.35 0.26 0.00 -vt 0.36 0.31 0.00 -vt 0.36 0.36 0.00 -vt 0.37 0.40 0.00 -vt 0.35 0.41 0.00 -vt 0.37 0.42 0.00 -vt 0.34 0.42 0.00 -vt 0.31 0.42 0.00 -vt 0.32 0.41 0.00 -vt 0.32 0.37 0.00 -vt 0.28 0.37 0.00 -vt 0.29 0.32 0.00 -vt 0.28 0.41 0.00 -vt 0.69 0.72 0.00 -vt 0.71 0.73 0.00 -vt 0.70 0.71 0.00 -vt 0.72 0.73 0.00 -vt 0.71 0.70 0.00 -vt 0.73 0.73 0.00 -vt 0.69 0.73 0.00 -vt 0.70 0.73 0.00 -vt 0.70 0.74 0.00 -vt 0.71 0.74 0.00 -vt 0.72 0.74 0.00 -vt 0.73 0.74 0.00 -vt 0.33 0.58 0.00 -vt 0.29 0.57 0.00 -vt 0.33 0.52 0.00 -vt 0.29 0.52 0.00 -vt 0.32 0.47 0.00 -vt 0.28 0.47 0.00 -vt 0.32 0.43 0.00 -vt 0.35 0.43 0.00 -vt 0.37 0.44 0.00 -vt 0.35 0.47 0.00 -vt 0.37 0.48 0.00 -vt 0.35 0.52 0.00 -vt 0.36 0.53 0.00 -vt 0.35 0.58 0.00 -vt 0.36 0.58 0.00 -vt 0.35 0.62 0.00 -vt 0.33 0.62 0.00 -vt 0.28 0.43 0.00 -vt 0.34 0.63 0.00 -vt 0.31 0.63 0.00 -vt 0.29 0.61 0.00 -vt 0.26 0.63 0.00 -vt 0.26 0.62 0.00 -vt 0.38 0.14 0.00 -vt 0.39 0.16 0.00 -vt 0.38 0.22 0.00 -vt 0.39 0.22 0.00 -vt 0.37 0.27 0.00 -vt 0.39 0.27 0.00 -vt 0.38 0.31 0.00 -vt 0.39 0.31 0.00 -vt 0.38 0.37 0.00 -vt 0.39 0.37 0.00 -vt 0.39 0.43 0.00 -vt 0.39 0.47 0.00 -vt 0.37 0.49 0.00 -vt 0.38 0.49 0.00 -vt 0.37 0.50 0.00 -vt 0.97 0.50 0.00 -vt 0.95 0.45 0.00 -vt 0.95 0.50 0.00 -vt 0.97 0.56 0.00 -vt 0.95 0.55 0.00 -vt 0.97 0.60 0.00 -vt 0.95 0.59 0.00 -vt 0.97 0.66 0.00 -vt 0.95 0.66 0.00 -vt 0.95 0.70 0.00 -vt 0.98 0.72 0.00 -vt 0.96 0.75 0.00 -vt 0.98 0.76 0.00 -vt 0.98 0.77 0.00 -vt 0.96 0.76 0.00 -vt 0.93 0.75 0.00 -vt 0.47 0.73 0.00 -vt 0.46 0.75 0.00 -vt 0.44 0.73 0.00 -vt 0.42 0.73 0.00 -vt 0.41 0.73 0.00 -vt 0.23 0.78 0.00 -vt 0.28 0.78 0.00 -vt 0.29 0.82 0.00 -vt 0.45 0.82 0.00 -vt 1.00 0.79 0.00 -vt 1.00 0.77 0.00 -vt 0.99 0.72 0.00 -vt 0.99 0.65 0.00 -vt 0.99 0.60 0.00 -vt 0.99 0.55 0.00 -vt 0.99 0.50 0.00 -vt 0.67 0.71 0.00 -vt 0.68 0.72 0.00 -vt 0.66 0.71 0.00 -vt 0.66 0.74 0.00 -vt 0.67 0.74 0.00 -vt 0.65 0.72 0.00 -vt 0.06 0.05 0.00 -vt 0.10 0.06 0.00 -vt 0.06 0.07 0.00 -vt 0.10 0.08 0.00 -vt 0.06 0.14 0.00 -vt 0.08 0.14 0.00 -vt 0.13 0.08 0.00 -vt 0.12 0.16 0.00 -vt 0.17 0.09 0.00 -vt 0.16 0.16 0.00 -vt 0.20 0.09 0.00 -vt 0.20 0.18 0.00 -vt 0.25 0.11 0.00 -vt 0.20 0.07 0.00 -vt 0.27 0.08 0.00 -vt 0.20 0.06 0.00 -vt 0.27 0.07 0.00 -vt 0.21 0.04 0.00 -vt 0.28 0.05 0.00 -vt 0.28 0.03 0.00 -vt 0.17 0.05 0.00 -vt 0.17 0.07 0.00 -vt 0.14 0.06 0.00 -vt 0.14 0.04 0.00 -vt 0.18 0.03 0.00 -vt 0.21 0.02 0.00 -vt 0.29 0.07 0.00 -vt 0.28 0.09 0.00 -vt 0.31 0.08 0.00 -vt 0.18 0.02 0.00 -vt 0.10 0.04 0.00 -vt 0.15 0.03 0.00 -vt 0.15 0.01 0.00 -vt 0.11 0.02 0.00 -vt 0.04 0.04 0.00 -vt 0.07 0.03 0.00 -vt 0.09 0.02 0.00 -vt 0.11 0.01 0.00 -vt 0.20 0.10 0.00 -vt 0.27 0.11 0.00 -vt 0.30 0.04 0.00 -vt 0.31 0.05 0.00 -vt 0.33 0.08 0.00 -vt 0.32 0.09 0.00 -vt 0.31 0.11 0.00 -vt 0.29 0.13 0.00 -vt 0.23 0.17 0.00 -vt 0.28 0.08 0.00 -vt 0.34 0.04 0.00 -vt 0.34 0.06 0.00 -vt 0.26 0.18 0.00 -vt 0.33 0.07 0.00 -vt 0.41 0.31 0.00 -vt 0.41 0.38 0.00 -vt 0.50 0.31 0.00 -vt 0.51 0.36 0.00 -vt 0.41 0.42 0.00 -vt 0.50 0.40 0.00 -vt 0.40 0.47 0.00 -vt 0.41 0.47 0.00 -vt 0.51 0.43 0.00 -vt 0.43 0.46 0.00 -vt 0.51 0.26 0.00 -vt 0.41 0.26 0.00 -vt 0.41 0.21 0.00 -vt 0.41 0.17 0.00 -vt 0.49 0.18 0.00 -vt 0.49 0.21 0.00 -vt 0.45 0.73 0.00 -vt 0.44 0.75 0.00 -vt 0.09 1.00 0.00 -vt 0.09 0.98 0.00 -vt 0.10 1.00 0.00 -vt 0.10 0.98 0.00 -vt 0.27 1.00 0.00 -vt 0.27 0.98 0.00 -vt 0.28 1.00 0.00 -vt 0.28 0.98 0.00 -vt 0.28 0.96 0.00 -vt 0.27 0.96 0.00 -vt 0.28 0.94 0.00 -vt 0.27 0.94 0.00 -vt 0.10 0.96 0.00 -vt 0.10 0.94 0.00 -vt 0.09 0.96 0.00 -vt 0.09 0.94 0.00 -vt 0.15 0.96 0.00 -vt 0.15 0.95 0.00 -vt 0.13 0.96 0.00 -vt 0.13 0.95 0.00 -vt 0.45 0.81 0.00 -vt 0.36 0.81 0.00 -vt 0.41 0.81 0.00 -vt 0.42 0.82 0.00 -vt 0.42 0.81 0.00 -vt 0.44 0.81 0.00 -vt 0.48 0.76 0.00 -vt 0.44 0.70 0.00 -vt 0.45 0.70 0.00 -vt 0.50 0.68 0.00 -vt 0.55 0.69 0.00 -vt 0.58 0.70 0.00 -vt 0.49 0.04 0.00 -vt 0.47 0.04 0.00 -vt 0.48 0.03 0.00 -vt 0.47 0.03 0.00 -vt 0.01 0.72 0.00 -vt 0.02 0.70 0.00 -vt 0.02 0.72 0.00 -vt 0.01 0.68 0.00 -vt 0.02 0.67 0.00 -vt 0.01 0.62 0.00 -vt 0.02 0.62 0.00 -vt 0.06 0.67 0.00 -vt 0.06 0.63 0.00 -vt 0.11 0.63 0.00 -vt 0.11 0.67 0.00 -vt 0.16 0.64 0.00 -vt 0.16 0.67 0.00 -vt 0.20 0.64 0.00 -vt 0.20 0.68 0.00 -vt 0.22 0.65 0.00 -vt 0.22 0.68 0.00 -vt 0.20 0.69 0.00 -vt 0.16 0.69 0.00 -vt 0.17 0.70 0.00 -vt 0.06 0.70 0.00 -vt 0.11 0.70 0.00 -vt 0.12 0.71 0.00 -vt 0.07 0.71 0.00 -vt 0.28 0.42 0.00 -vt 0.01 0.75 0.00 -vt 0.48 0.02 0.00 -vt 0.47 0.02 0.00 -vt 0.01 0.63 0.00 -vt 0.08 0.91 0.00 -vt 0.05 1.00 0.00 -vt 0.07 0.99 0.00 -vt 0.06 1.00 0.00 -vt 0.08 0.98 0.00 -vt 0.04 1.00 0.00 -vt 0.03 0.99 0.00 -vt 0.00 0.96 0.00 -vt 0.01 0.91 0.00 -vt 0.00 0.94 0.00 -vt 0.01 0.98 0.00 -vt 0.22 0.61 0.00 -vt 0.20 0.60 0.00 -vt 0.20 0.62 0.00 -vt 0.16 0.68 0.00 -vt 0.16 0.63 0.00 -vt 0.26 0.21 0.00 -vt 0.25 0.22 0.00 -vt 0.38 0.09 0.00 -vt 0.44 0.82 0.00 -vt 0.93 0.78 0.00 -vt 0.94 0.78 0.00 -vt 0.49 0.05 0.00 -vt 0.49 0.06 0.00 -vt 0.48 0.04 0.00 -vt 0.47 0.06 0.00 -vt 0.23 0.73 0.00 -vt 0.27 0.73 0.00 -vt 0.21 0.74 0.00 -vt 0.29 0.74 0.00 -vt 0.29 0.77 0.00 -vt 0.63 0.01 0.00 -vt 0.66 0.01 0.00 -vt 0.63 0.02 0.00 -vt 0.66 0.02 0.00 -vt 0.90 0.76 0.00 -vt 0.90 0.75 0.00 -vt 0.89 0.76 0.00 -vt 0.89 0.74 0.00 -vt 0.84 0.74 0.00 -vt 0.83 0.76 0.00 -vt 0.84 0.76 0.00 -vt 0.83 0.75 0.00 -vt 0.68 0.90 0.00 -vt 0.61 0.96 0.00 -vt 0.67 0.96 0.00 -vt 0.61 0.97 0.00 -vt 0.67 0.97 0.00 -vt 0.64 1.00 0.00 -vt 0.62 0.99 0.00 -vt 0.66 0.99 0.00 -vt 0.93 0.77 0.00 -vt 0.94 0.77 0.00 -vt 0.36 0.87 0.00 -vt 0.37 0.87 0.00 -vt 0.38 0.87 0.00 -vt 0.53 0.97 0.00 -vt 0.53 0.96 0.00 -vt 0.55 0.97 0.00 -vt 0.52 0.96 0.00 -vt 0.53 0.95 0.00 -vt 0.59 0.99 0.00 -vt 0.59 0.96 0.00 -vt 0.59 0.98 0.00 -vt 0.60 0.97 0.00 -vt 0.59 0.97 0.00 -vt 0.59 0.93 0.00 -vt 0.56 0.97 0.00 -vt 0.57 0.93 0.00 -vt 0.54 0.97 0.00 -vt 0.54 0.93 0.00 -vt 0.52 0.93 0.00 -vt 0.52 0.94 0.00 -vt 0.53 0.98 0.00 -vt 0.55 0.98 0.00 -vt 0.56 0.98 0.00 -vt 0.56 0.94 0.00 -vt 0.57 0.96 0.00 -vt 0.51 0.93 0.00 -vt 0.58 0.97 0.00 -vt 0.58 0.96 0.00 -vt 0.58 0.95 0.00 -vt 0.57 0.97 0.00 -vt 0.47 0.75 0.00 -vt 0.40 0.01 0.00 -vt 0.40 0.07 0.00 -vt 0.46 0.02 0.00 -vt 0.46 0.06 0.00 -vt 0.38 0.01 0.00 -vt 0.38 0.07 0.00 -vt 0.35 0.02 0.00 -vt 0.35 0.06 0.00 -vt 0.46 0.03 0.00 -vt 0.46 0.04 0.00 -vt 0.41 0.03 0.00 -vt 0.39 0.05 0.00 -vt 0.39 0.07 0.00 -vt 0.39 0.02 0.00 -vt 0.58 0.93 0.00 -vt 0.52 0.03 0.00 -vt 0.49 0.03 0.00 -vt 0.57 0.01 0.00 -vt 0.62 0.01 0.00 -vt 0.52 0.01 0.00 -vt 0.62 0.02 0.00 -vt 0.57 0.02 0.00 -vt 0.51 0.02 0.00 -vt 0.48 0.01 0.00 -vt 0.52 0.02 0.00 -vt 0.62 0.03 0.00 -vt 0.57 0.03 0.00 -vt 0.51 0.04 0.00 -vt 0.21 0.51 0.00 -vt 0.19 0.51 0.00 -vt 0.20 0.49 0.00 -vt 0.19 0.49 0.00 -vt 0.22 0.52 0.00 -vt 0.20 0.52 0.00 -vt 0.20 0.54 0.00 -vt 0.23 0.54 0.00 -vt 0.24 0.56 0.00 -vt 0.21 0.55 0.00 -vt 0.24 0.57 0.00 -vt 0.22 0.57 0.00 -vt 0.24 0.59 0.00 -vt 0.22 0.58 0.00 -vt 0.20 0.58 0.00 -vt 0.22 0.59 0.00 -vt 0.21 0.49 0.00 -vt 0.21 0.50 0.00 -vt 0.19 0.50 0.00 -vt 0.19 0.52 0.00 -vt 0.19 0.54 0.00 -vt 0.19 0.56 0.00 -vt 0.48 0.73 0.00 -# 642 texture coords - -g P_51_Mustang_Hull -f 609/373/545 610/374/545 611/373/545 -f 612/375/546 611/373/547 613/376/548 -f 614/374/548 613/376/548 611/373/547 -f 613/376/548 614/374/548 615/377/549 -f 616/378/550 615/377/549 614/374/548 -f 616/378/550 617/379/551 615/377/549 -f 618/380/552 615/377/549 617/379/551 -f 618/380/552 617/379/551 619/381/553 -f 620/382/554 619/381/553 617/379/551 -f 620/382/554 621/383/555 619/381/553 -f 622/384/556 619/381/553 621/383/555 -f 621/383/555 623/385/557 622/384/556 -f 624/386/558 622/384/556 623/385/557 -f 623/385/557 625/387/559 624/386/558 -f 626/388/560 624/386/558 625/387/559 -f 626/388/560 625/387/559 627/388/561 -f 628/387/562 627/388/561 625/387/559 -f 628/387/562 629/387/563 627/388/561 -f 630/388/564 627/388/561 629/387/563 -f 630/388/564 629/387/563 631/386/565 -f 632/385/566 631/386/565 629/387/563 -f 631/386/565 632/385/566 633/384/567 -f 634/383/568 633/384/567 632/385/566 -f 633/384/567 634/383/568 635/381/569 -f 636/382/570 635/381/569 634/383/568 -f 636/382/570 637/379/571 635/381/569 -f 638/380/572 635/381/569 637/379/571 -f 638/380/572 637/379/571 639/377/573 -f 640/378/574 639/377/573 637/379/571 -f 640/378/574 641/374/575 639/377/573 -f 642/376/575 639/377/573 641/374/575 -f 641/374/575 643/373/576 642/376/575 -f 644/375/577 642/376/575 643/373/576 -f 645/375/578 646/373/579 647/376/580 -f 648/374/581 647/376/580 646/373/579 -f 647/376/580 648/374/581 649/377/582 -f 650/378/583 649/377/582 648/374/581 -f 650/378/583 651/379/584 649/377/582 -f 652/380/585 649/377/582 651/379/584 -f 652/380/585 651/379/584 653/381/586 -f 654/382/587 653/381/586 651/379/584 -f 654/382/587 655/383/588 653/381/586 -f 656/384/589 653/381/586 655/383/588 -f 655/383/588 657/385/590 656/384/589 -f 658/386/591 656/384/589 657/385/590 -f 657/385/590 659/387/592 658/386/591 -f 660/388/593 658/386/591 659/387/592 -f 660/388/593 659/387/592 661/388/594 -f 662/387/595 661/388/594 659/387/592 -f 662/387/595 663/387/596 661/388/594 -f 664/388/597 661/388/594 663/387/596 -f 664/388/597 663/387/596 665/386/598 -f 666/385/599 665/386/598 663/387/596 -f 665/386/598 666/385/599 667/384/600 -f 668/383/601 667/384/600 666/385/599 -f 667/384/600 668/383/601 669/381/602 -f 670/382/603 669/381/602 668/383/601 -f 670/382/603 671/379/604 669/381/602 -f 672/380/605 669/381/602 671/379/604 -f 672/380/605 671/379/604 673/377/606 -f 674/378/607 673/377/606 671/379/604 -f 674/378/607 610/374/608 673/377/606 -f 675/376/608 673/377/606 610/374/608 -f 610/374/608 609/373/609 675/376/608 -f 676/375/610 675/376/608 609/373/609 -f 677/385/611 678/389/612 679/390/613 -f 680/391/612 679/390/613 678/389/612 -f 678/389/612 681/392/614 680/391/612 -f 682/374/614 680/391/612 681/392/614 -f 681/392/614 683/393/613 682/374/614 -f 684/394/613 682/374/614 683/393/613 -f 683/394/615 681/374/616 685/393/615 -f 686/392/617 685/393/615 681/374/616 -f 681/374/616 678/391/618 686/392/617 -f 687/389/619 686/392/617 678/391/618 -f 678/391/618 677/390/620 687/389/619 -f 688/385/621 687/389/619 677/390/620 -f 685/394/622 686/374/623 689/393/622 -f 690/392/623 689/393/622 686/374/623 -f 686/374/623 687/391/624 690/392/623 -f 691/389/624 690/392/623 687/391/624 -f 687/391/624 688/390/622 691/389/624 -f 692/385/622 691/389/624 688/390/622 -f 674/378/625 671/379/625 610/374/625 -f 668/383/626 621/383/626 670/382/626 -f 621/383/627 620/382/627 670/382/627 -f 670/382/628 620/382/628 671/379/628 -f 617/379/625 616/378/625 620/382/625 -f 620/382/629 616/378/629 671/379/629 -f 671/379/629 616/378/629 610/374/629 -f 610/374/630 616/378/630 611/373/630 -f 616/378/631 614/374/631 611/373/631 -f 655/383/632 654/382/632 634/383/632 -f 650/378/625 648/374/625 651/379/625 -f 646/373/633 643/373/633 648/374/633 -f 648/374/634 643/373/634 651/379/634 -f 641/374/635 640/378/635 643/373/635 -f 640/378/636 637/379/636 643/373/636 -f 643/373/637 637/379/637 651/379/637 -f 651/379/638 637/379/638 654/382/638 -f 654/382/639 637/379/639 634/383/639 -f 637/379/625 636/382/625 634/383/625 -f 629/387/640 628/387/640 632/385/640 -f 662/387/641 659/387/641 628/387/641 -f 628/387/642 659/387/642 632/385/642 -f 659/387/643 657/385/643 632/385/643 -f 632/385/644 657/385/644 634/383/644 -f 657/385/645 655/383/645 634/383/645 -f 625/387/646 623/385/646 628/387/646 -f 621/383/647 668/383/647 623/385/647 -f 668/383/648 666/385/648 623/385/648 -f 666/385/649 663/387/649 623/385/649 -f 623/385/650 663/387/650 628/387/650 -f 628/387/651 663/387/651 662/387/651 -f 630/388/652 631/386/652 627/388/652 -f 633/384/653 656/384/653 631/386/653 -f 656/384/654 658/386/654 631/386/654 -f 658/386/655 660/388/655 631/386/655 -f 631/386/656 660/388/656 627/388/656 -f 627/388/657 660/388/657 661/388/657 -f 661/388/658 664/388/658 627/388/658 -f 667/384/659 622/384/659 665/386/659 -f 622/384/660 624/386/660 665/386/660 -f 665/386/661 624/386/661 664/388/661 -f 664/388/662 624/386/662 627/388/662 -f 624/386/663 626/388/663 627/388/663 -f 667/384/664 669/381/664 622/384/664 -f 675/376/665 676/375/665 673/377/665 -f 612/375/666 613/376/666 676/375/666 -f 676/375/667 613/376/667 673/377/667 -f 673/377/668 613/376/668 672/380/668 -f 615/377/669 618/380/669 613/376/669 -f 613/376/666 618/380/666 672/380/666 -f 672/380/670 618/380/670 669/381/670 -f 669/381/671 618/380/671 622/384/671 -f 618/380/672 619/381/672 622/384/672 -f 647/376/673 649/377/673 645/375/673 -f 656/384/674 633/384/674 653/381/674 -f 653/381/675 633/384/675 652/380/675 -f 635/381/676 638/380/676 633/384/676 -f 633/384/677 638/380/677 652/380/677 -f 652/380/677 638/380/677 649/377/677 -f 639/377/669 642/376/669 638/380/669 -f 638/380/678 642/376/678 649/377/678 -f 649/377/678 642/376/678 645/375/678 -f 642/376/677 644/375/677 645/375/677 -f 689/394/679 690/374/680 684/393/679 -f 682/392/681 684/393/679 690/374/680 -f 690/374/680 691/391/682 682/392/681 -f 680/389/683 682/392/681 691/391/682 -f 691/391/682 692/390/684 680/389/683 -f 679/385/685 680/389/683 692/390/684 -f 693/395/686 694/396/686 695/397/686 -f 696/398/687 697/399/688 698/400/689 -f 696/398/687 699/401/690 697/399/688 -f 700/402/691 697/399/688 699/401/690 -f 699/401/690 701/403/692 700/402/691 -f 702/404/693 700/402/691 701/403/692 -f 702/404/693 701/403/692 703/405/694 -f 704/406/695 703/405/694 701/403/692 -f 703/405/694 704/406/695 705/407/696 -f 706/408/697 705/407/696 704/406/695 -f 706/408/697 707/406/698 705/407/696 -f 708/405/699 705/407/696 707/406/698 -f 707/406/698 709/403/700 708/405/699 -f 710/409/701 708/405/699 709/403/700 -f 710/409/701 709/403/700 711/402/702 -f 712/410/703 711/402/702 709/403/700 -f 711/402/702 712/410/703 693/399/704 -f 713/398/705 693/399/704 712/410/703 -f 693/399/704 713/398/705 714/400/706 -f 715/411/707 713/398/705 716/412/708 -f 713/398/705 712/410/703 716/412/708 -f 715/411/707 717/413/709 718/414/710 -f 715/411/707 716/412/708 717/413/709 -f 716/412/708 719/415/711 717/413/709 -f 719/415/711 716/412/708 712/410/703 -f 712/410/703 709/403/700 719/415/711 -f 720/416/712 719/415/711 709/403/700 -f 707/406/698 720/416/712 709/403/700 -f 707/406/698 721/417/713 720/416/712 -f 720/416/712 721/417/713 722/418/714 -f 723/419/715 722/418/714 721/417/713 -f 722/418/714 723/419/715 724/420/716 -f 725/421/717 724/420/716 723/419/715 -f 724/420/716 725/421/717 726/422/718 -f 727/423/719 726/422/718 725/421/717 -f 727/423/719 728/424/720 726/422/718 -f 720/416/712 722/418/714 719/415/711 -f 719/415/711 722/418/714 729/425/721 -f 729/425/721 717/413/709 719/415/711 -f 717/413/709 729/425/721 730/426/722 -f 730/426/722 718/414/710 717/413/709 -f 724/420/716 729/425/721 722/418/714 -f 729/425/721 724/420/716 731/427/723 -f 731/427/723 730/426/722 729/425/721 -f 726/422/718 731/427/723 724/420/716 -f 732/426/724 733/413/725 734/414/726 -f 733/413/725 732/426/724 735/425/727 -f 736/427/728 735/425/727 732/426/724 -f 735/425/727 736/427/728 737/420/729 -f 738/422/730 737/420/729 736/427/728 -f 737/420/729 738/422/730 739/421/731 -f 740/423/732 739/421/731 738/422/730 -f 740/423/732 738/422/730 728/424/720 -f 741/428/733 728/424/720 738/422/730 -f 741/428/733 726/422/718 728/424/720 -f 741/428/733 742/429/734 726/422/718 -f 731/427/723 726/422/718 742/429/734 -f 742/429/734 743/430/735 731/427/723 -f 730/426/722 731/427/723 743/430/735 -f 743/430/735 744/431/736 730/426/722 -f 718/414/710 730/426/722 744/431/736 -f 718/414/710 744/431/736 745/432/737 -f 718/414/710 745/432/737 715/411/707 -f 737/420/729 746/418/738 735/425/727 -f 735/425/727 747/415/739 733/413/725 -f 747/415/739 735/425/727 746/418/738 -f 746/418/738 748/416/740 747/415/739 -f 749/433/741 750/434/742 698/400/689 -f 751/411/743 698/400/689 750/434/742 -f 751/411/743 696/398/687 698/400/689 -f 696/398/687 751/411/743 733/413/725 -f 696/398/687 733/413/725 699/401/690 -f 747/415/739 699/401/690 733/413/725 -f 699/401/690 747/415/739 701/403/692 -f 748/416/740 701/403/692 747/415/739 -f 748/416/740 704/406/695 701/403/692 -f 752/417/744 704/406/695 748/416/740 -f 748/416/740 746/418/738 752/417/744 -f 753/419/745 752/417/744 746/418/738 -f 746/418/738 737/420/729 753/419/745 -f 739/421/731 753/419/745 737/420/729 -f 754/435/746 755/436/747 756/437/748 -f 755/436/747 754/435/746 757/438/749 -f 755/436/747 757/438/749 758/435/750 -f 759/439/751 758/435/750 757/438/749 -f 759/439/751 760/440/752 758/435/750 -f 760/440/752 759/439/751 761/441/753 -f 761/441/753 762/442/754 760/440/752 -f 763/443/755 760/440/752 762/442/754 -f 762/442/754 764/444/756 763/443/755 -f 765/445/757 763/443/755 764/444/756 -f 764/444/756 766/446/758 765/445/757 -f 749/433/741 765/445/757 766/446/758 -f 766/446/758 767/447/759 749/433/741 -f 750/434/742 749/433/741 767/447/759 -f 768/432/760 750/434/742 767/447/759 -f 750/434/742 768/432/760 751/411/743 -f 734/414/726 751/411/743 768/432/760 -f 751/411/743 734/414/726 733/413/725 -f 769/448/761 770/449/762 757/438/749 -f 759/439/751 757/438/749 770/449/762 -f 770/449/762 761/441/753 759/439/751 -f 713/398/705 715/411/707 714/400/706 -f 715/411/707 771/434/763 714/400/706 -f 771/434/763 715/411/707 745/432/737 -f 771/434/763 745/432/737 772/447/764 -f 772/447/764 745/432/737 773/450/765 -f 773/450/765 774/451/766 772/447/764 -f 773/450/765 767/447/759 774/451/766 -f 775/452/767 774/451/766 767/447/759 -f 767/447/759 766/446/758 775/452/767 -f 776/453/768 775/452/767 766/446/758 -f 766/446/758 764/444/756 776/453/768 -f 777/454/769 776/453/768 764/444/756 -f 764/444/756 762/442/754 777/454/769 -f 778/455/770 777/454/769 762/442/754 -f 762/442/754 761/441/753 778/455/770 -f 779/456/771 778/455/770 761/441/753 -f 761/441/753 770/449/762 779/456/771 -f 780/457/772 779/456/771 770/449/762 -f 781/458/773 782/459/774 777/454/769 -f 776/453/768 777/454/769 782/459/774 -f 776/453/768 782/459/774 775/452/767 -f 783/460/775 775/452/767 782/459/774 -f 775/452/767 783/460/775 774/451/766 -f 783/460/775 784/452/776 774/451/766 -f 784/452/776 772/447/764 774/451/766 -f 772/447/764 784/452/776 785/446/777 -f 785/446/777 786/461/778 772/447/764 -f 786/461/778 785/446/777 787/445/779 -f 787/445/779 788/462/780 786/461/778 -f 788/462/780 787/445/779 789/463/781 -f 789/463/781 790/464/782 788/462/780 -f 789/463/781 791/465/783 790/464/782 -f 792/466/784 790/464/782 791/465/783 -f 792/466/784 791/465/783 793/467/566 -f 793/467/566 791/465/783 756/437/748 -f 754/435/746 756/437/748 791/465/783 -f 794/468/785 795/469/786 796/470/787 -f 781/458/773 796/470/787 795/469/786 -f 795/469/786 797/471/788 781/458/773 -f 782/459/774 781/458/773 797/471/788 -f 797/471/788 798/472/789 782/459/774 -f 783/460/775 782/459/774 798/472/789 -f 783/460/775 798/472/789 799/459/790 -f 783/460/775 799/459/790 784/452/776 -f 800/473/791 784/452/776 799/459/790 -f 800/473/791 785/446/777 784/452/776 -f 785/446/777 800/473/791 801/444/792 -f 801/444/792 787/445/779 785/446/777 -f 787/445/779 801/444/792 802/443/793 -f 802/443/793 789/463/781 787/445/779 -f 802/443/793 803/440/794 789/463/781 -f 791/465/783 789/463/781 803/440/794 -f 791/465/783 803/440/794 754/435/746 -f 804/439/795 754/435/746 803/440/794 -f 802/443/793 805/442/796 803/440/794 -f 805/442/796 802/443/793 801/444/792 -f 801/444/792 806/454/797 805/442/796 -f 806/454/797 801/444/792 800/473/791 -f 800/473/791 799/459/790 806/454/797 -f 797/471/788 795/469/786 807/474/798 -f 807/474/798 808/475/799 797/471/788 -f 798/472/789 797/471/788 808/475/799 -f 798/472/789 808/475/799 809/471/800 -f 809/471/800 799/459/790 798/472/789 -f 799/459/790 809/471/800 810/458/801 -f 810/458/801 806/454/797 799/459/790 -f 806/454/797 810/458/801 811/455/802 -f 811/455/802 805/442/796 806/454/797 -f 805/442/796 811/455/802 812/441/803 -f 812/441/803 803/440/794 805/442/796 -f 803/440/794 812/441/803 804/439/795 -f 813/449/804 804/439/795 812/441/803 -f 812/441/803 814/456/805 813/449/804 -f 814/456/805 812/441/803 811/455/802 -f 811/455/802 815/470/806 814/456/805 -f 815/470/806 811/455/802 810/458/801 -f 810/458/801 816/469/807 815/470/806 -f 816/469/807 810/458/801 809/471/800 -f 809/471/800 817/474/808 816/469/807 -f 817/474/808 809/471/800 808/475/799 -f 808/475/799 818/476/809 817/474/808 -f 808/475/799 807/474/798 818/476/809 -f 819/477/810 818/476/809 807/474/798 -f 807/474/798 820/478/811 819/477/810 -f 821/479/812 819/477/810 820/478/811 -f 820/478/811 822/480/813 821/479/812 -f 823/481/814 821/479/812 822/480/813 -f 822/480/813 820/478/811 794/468/785 -f 795/469/786 794/468/785 820/478/811 -f 820/478/811 807/474/798 795/469/786 -f 824/482/815 825/483/816 826/484/817 -f 827/485/818 826/484/817 825/483/816 -f 827/485/818 825/483/816 828/486/819 -f 829/487/820 828/486/819 825/483/816 -f 829/487/820 830/488/821 828/486/819 -f 829/487/820 831/489/822 830/488/821 -f 830/488/821 831/489/822 832/490/823 -f 823/481/814 832/490/823 831/489/822 -f 832/490/823 823/481/814 833/491/824 -f 822/480/813 833/491/824 823/481/814 -f 833/491/824 822/480/813 834/492/825 -f 794/468/785 834/492/825 822/480/813 -f 834/492/825 794/468/785 835/493/826 -f 796/470/787 835/493/826 794/468/785 -f 835/493/826 796/470/787 779/456/771 -f 778/455/770 779/456/771 796/470/787 -f 796/470/787 781/458/773 778/455/770 -f 777/454/769 778/455/770 781/458/773 -f 836/494/827 833/491/824 834/492/825 -f 837/495/828 830/488/821 838/496/829 -f 837/495/828 838/496/829 839/497/830 -f 838/496/829 840/498/831 839/497/830 -f 840/498/831 841/499/832 839/497/830 -f 840/498/831 842/500/833 841/499/832 -f 842/500/833 843/501/834 841/499/832 -f 836/494/827 843/501/834 842/500/833 -f 836/494/827 844/502/835 843/501/834 -f 836/494/827 834/492/825 844/502/835 -f 835/493/826 844/502/835 834/492/825 -f 844/502/835 835/493/826 780/457/772 -f 779/456/771 780/457/772 835/493/826 -f 832/490/823 838/496/829 830/488/821 -f 837/495/828 839/497/830 830/488/821 -f 830/488/821 839/497/830 828/486/819 -f 839/497/830 845/503/836 828/486/819 -f 839/497/830 846/504/837 845/503/836 -f 847/505/836 845/503/836 846/504/837 -f 846/504/837 848/506/838 847/505/836 -f 849/507/839 847/505/836 848/506/838 -f 850/508/838 849/507/839 848/506/838 -f 848/506/838 851/509/840 850/508/838 -f 851/509/840 848/506/838 852/510/841 -f 852/510/841 853/511/842 851/509/840 -f 853/511/842 852/510/841 843/501/834 -f 841/499/832 843/501/834 852/510/841 -f 852/510/841 846/504/837 841/499/832 -f 839/497/830 841/499/832 846/504/837 -f 846/504/837 852/510/841 848/506/838 -f 770/449/762 769/448/761 780/457/772 -f 854/512/843 780/457/772 769/448/761 -f 854/512/843 769/448/761 855/457/844 -f 854/512/843 855/457/844 856/501/845 -f 857/502/846 856/501/845 855/457/844 -f 857/502/846 858/494/847 856/501/845 -f 858/494/847 857/502/846 859/492/848 -f 860/491/849 858/494/847 859/492/848 -f 860/491/849 859/492/848 861/480/850 -f 861/480/850 862/481/851 860/491/849 -f 862/481/851 861/480/850 863/479/852 -f 863/479/852 864/513/853 862/481/851 -f 864/513/853 863/479/852 865/514/854 -f 865/514/854 866/482/855 864/513/853 -f 865/514/854 867/515/669 866/482/855 -f 868/516/856 866/482/855 867/515/669 -f 868/516/856 867/515/669 824/482/815 -f 824/482/815 826/484/817 868/516/856 -f 869/489/857 862/481/851 864/513/853 -f 862/481/851 869/489/857 870/490/858 -f 870/490/858 860/491/849 862/481/851 -f 871/488/859 870/490/858 869/489/857 -f 870/490/858 871/488/859 872/496/860 -f 873/517/861 874/518/862 875/519/863 -f 876/519/864 875/519/863 874/518/862 -f 877/508/865 875/519/863 876/519/864 -f 876/519/864 878/509/866 877/508/865 -f 879/506/867 877/508/865 878/509/866 -f 878/509/866 880/510/868 879/506/867 -f 881/504/869 879/506/867 880/510/868 -f 880/510/868 882/499/870 881/504/869 -f 883/497/871 881/504/869 882/499/870 -f 882/499/870 884/498/872 883/497/871 -f 884/498/872 872/496/860 883/497/871 -f 872/496/860 885/495/873 883/497/871 -f 885/495/873 872/496/860 871/488/859 -f 885/495/873 871/488/859 886/487/874 -f 869/489/857 886/487/874 871/488/859 -f 886/487/874 869/489/857 887/483/875 -f 864/513/853 887/483/875 869/489/857 -f 887/483/875 864/513/853 866/482/855 -f 888/500/876 884/498/872 882/499/870 -f 858/494/847 888/500/876 856/501/845 -f 856/501/845 888/500/876 882/499/870 -f 882/499/870 880/510/868 856/501/845 -f 889/511/877 856/501/845 880/510/868 -f 880/510/868 878/509/866 889/511/877 -f 854/512/843 856/501/845 890/520/878 -f 889/511/877 890/520/878 856/501/845 -f 889/511/877 891/521/879 890/520/878 -f 891/521/879 889/511/877 878/509/866 -f 878/509/866 876/519/864 891/521/879 -f 874/518/862 891/521/879 876/519/864 -f 891/521/879 874/518/862 892/522/880 -f 893/523/881 892/522/880 874/518/862 -f 893/523/881 894/518/882 892/522/880 -f 894/518/882 893/523/881 895/517/883 -f 895/517/883 896/519/884 894/518/882 -f 897/519/885 894/518/882 896/519/884 -f 896/519/884 898/524/886 897/519/885 -f 892/522/880 890/520/878 891/521/879 -f 892/522/880 899/521/887 890/520/878 -f 899/521/887 892/522/880 894/518/882 -f 894/518/882 897/519/885 899/521/887 -f 780/457/772 854/512/843 844/502/835 -f 843/501/834 844/502/835 854/512/843 -f 854/512/843 890/520/878 843/501/834 -f 853/511/842 843/501/834 890/520/878 -f 853/511/842 890/520/878 899/521/887 -f 899/521/887 851/509/840 853/511/842 -f 851/509/840 899/521/887 897/519/885 -f 897/519/885 850/508/838 851/509/840 -f 850/508/838 897/519/885 898/524/886 -f 898/524/886 849/507/839 850/508/838 -f 898/524/888 849/507/839 898/524/886 -f 898/524/886 896/519/884 898/524/888 -f 898/524/888 896/519/884 900/525/889 -f 900/525/889 896/519/884 895/517/883 -f 895/517/883 901/517/890 900/525/889 -f 901/517/890 895/517/883 893/523/881 -f 901/517/890 893/523/881 873/517/861 -f 874/518/862 873/517/861 893/523/881 -f 902/526/891 898/524/888 900/525/889 -f 903/524/892 904/524/893 905/524/892 -f 905/524/892 904/524/893 877/508/865 -f 904/524/893 875/519/863 877/508/865 -f 904/524/893 906/526/894 875/519/863 -f 875/519/863 906/526/894 873/517/861 -f 906/526/894 907/525/895 873/517/861 -f 873/517/861 907/525/895 901/517/890 -f 908/517/896 901/517/890 907/525/895 -f 908/517/896 900/525/889 901/517/890 -f 900/525/889 908/517/896 909/527/897 -f 900/525/889 909/527/897 902/526/891 -f 910/528/898 902/526/891 909/527/897 -f 910/528/898 909/527/897 906/526/894 -f 907/525/895 906/526/894 909/527/897 -f 907/525/895 909/527/897 908/517/896 -f 909/527/897 908/517/896 911/527/899 -f 912/485/900 887/483/875 913/484/901 -f 887/483/875 912/485/900 886/487/874 -f 914/486/902 886/487/874 912/485/900 -f 914/486/902 915/503/903 886/487/874 -f 915/503/903 885/495/873 886/487/874 -f 883/497/871 885/495/873 915/503/903 -f 883/497/871 915/503/903 881/504/869 -f 916/505/904 881/504/869 915/503/903 -f 881/504/869 916/505/904 879/506/867 -f 917/507/797 879/506/867 916/505/904 -f 879/506/867 917/507/797 877/508/865 -f 905/524/892 877/508/865 917/507/797 -f 866/482/855 913/484/901 887/483/875 -f 866/482/855 868/516/856 913/484/901 -f 918/529/789 913/484/901 868/516/856 -f 918/529/789 868/516/856 826/484/817 -f 792/466/784 919/530/905 790/464/782 -f 920/531/906 790/464/782 919/530/905 -f 919/530/905 921/532/907 920/531/906 -f 922/533/908 920/531/906 921/532/907 -f 921/532/907 923/534/909 922/533/908 -f 924/379/910 922/533/908 923/534/909 -f 923/534/909 925/535/911 924/379/910 -f 926/382/912 924/379/910 925/535/911 -f 925/535/911 927/536/913 926/382/912 -f 928/537/907 926/382/912 927/536/913 -f 928/537/907 927/536/913 929/538/914 -f 929/538/914 930/539/915 928/537/907 -f 930/539/915 929/538/914 931/540/916 -f 931/540/916 932/541/917 930/539/915 -f 932/541/917 931/540/916 933/542/918 -f 933/542/918 934/543/919 932/541/917 -f 933/542/918 935/544/920 934/543/919 -f 936/545/921 934/543/919 935/544/920 -f 926/382/912 937/546/922 924/379/910 -f 937/546/922 938/547/923 924/379/910 -f 922/533/908 924/379/910 938/547/923 -f 938/547/923 939/548/924 922/533/908 -f 920/531/906 922/533/908 939/548/924 -f 939/548/924 940/549/925 920/531/906 -f 790/464/782 920/531/906 940/549/925 -f 940/549/925 788/462/780 790/464/782 -f 771/434/763 772/447/764 786/461/778 -f 786/461/778 714/400/706 771/434/763 -f 714/400/706 786/461/778 788/462/780 -f 788/462/780 940/549/925 714/400/706 -f 941/550/926 714/400/706 940/549/925 -f 940/549/925 939/548/924 941/550/926 -f 694/551/927 941/550/926 939/548/924 -f 939/548/924 938/547/923 694/551/927 -f 942/552/928 694/551/927 938/547/923 -f 938/547/923 937/546/922 942/552/928 -f 943/553/929 942/552/928 937/546/922 -f 937/546/922 926/382/912 943/553/929 -f 944/554/930 943/553/929 926/382/912 -f 926/382/912 945/388/931 944/554/930 -f 945/388/931 926/382/912 928/537/907 -f 945/388/931 928/537/907 930/539/915 -f 694/551/927 693/399/704 941/550/926 -f 941/550/926 693/399/704 714/400/706 -f 936/545/921 935/544/920 946/555/932 -f 936/545/921 946/555/932 947/556/933 -f 948/557/934 947/556/933 946/555/932 -f 948/557/934 949/555/935 947/556/933 -f 950/545/936 947/556/933 949/555/935 -f 950/545/936 949/555/935 951/544/937 -f 950/545/936 951/544/937 952/543/938 -f 953/542/939 952/543/938 951/544/937 -f 953/542/939 954/541/940 952/543/938 -f 954/541/940 953/542/939 955/540/941 -f 955/540/941 956/558/942 954/541/940 -f 956/558/942 955/540/941 957/538/943 -f 957/538/943 958/537/944 956/558/942 -f 958/537/944 957/538/943 959/536/945 -f 958/537/944 959/536/945 960/382/946 -f 961/559/947 960/382/946 959/536/945 -f 960/382/946 961/559/947 962/560/948 -f 963/534/949 962/560/948 961/559/947 -f 947/556/933 964/561/950 965/562/951 -f 947/556/933 950/545/936 964/561/950 -f 952/543/938 964/561/950 950/545/936 -f 966/563/952 952/543/938 954/541/940 -f 966/563/952 967/564/953 952/543/938 -f 964/561/950 952/543/938 967/564/953 -f 968/564/954 964/561/950 967/564/953 -f 968/564/954 969/565/955 964/561/950 -f 965/562/951 964/561/950 969/565/955 -f 965/562/951 969/565/955 970/561/956 -f 970/561/956 947/556/933 965/562/951 -f 947/556/933 970/561/956 936/545/921 -f 934/543/919 936/545/921 970/561/956 -f 970/561/956 971/564/957 934/543/919 -f 972/566/958 934/543/919 971/564/957 -f 972/566/958 932/541/917 934/543/919 -f 970/561/956 973/567/959 971/564/957 -f 973/567/959 970/561/956 969/565/955 -f 962/560/948 963/534/949 974/533/960 -f 975/532/961 974/533/960 963/534/949 -f 974/533/960 975/532/961 976/531/962 -f 977/530/963 976/531/962 975/532/961 -f 976/531/962 977/530/963 978/568/964 -f 979/466/965 978/568/964 977/530/963 -f 979/466/965 980/465/966 978/568/964 -f 980/465/966 979/466/965 981/467/967 -f 981/467/967 982/437/968 980/465/966 -f 758/435/750 980/465/966 982/437/968 -f 758/435/750 982/437/968 755/436/747 -f 983/569/747 755/436/747 982/437/968 -f 983/569/747 756/437/748 755/436/747 -f 984/463/969 978/568/964 980/465/966 -f 984/463/969 985/462/813 978/568/964 -f 986/549/970 978/568/964 985/462/813 -f 978/568/964 986/549/970 976/531/962 -f 987/548/971 976/531/962 986/549/970 -f 976/531/962 987/548/971 974/533/960 -f 988/547/972 974/533/960 987/548/971 -f 974/533/960 988/547/972 962/560/948 -f 989/546/973 962/560/948 988/547/972 -f 989/546/973 960/382/946 962/560/948 -f 980/465/966 758/435/750 760/440/752 -f 980/465/966 760/440/752 984/463/969 -f 763/443/755 984/463/969 760/440/752 -f 763/443/755 765/445/757 984/463/969 -f 985/462/813 984/463/969 765/445/757 -f 765/445/757 749/433/741 985/462/813 -f 698/400/689 985/462/813 749/433/741 -f 985/462/813 698/400/689 986/549/970 -f 990/550/974 986/549/970 698/400/689 -f 986/549/970 990/550/974 987/548/971 -f 991/551/975 987/548/971 990/550/974 -f 987/548/971 991/551/975 988/547/972 -f 992/552/976 988/547/972 991/551/975 -f 988/547/972 992/552/976 989/546/973 -f 993/553/977 989/546/973 992/552/976 -f 989/546/973 993/553/977 960/382/946 -f 994/554/978 960/382/946 993/553/977 -f 960/382/946 994/554/978 995/388/979 -f 697/399/688 990/550/974 698/400/689 -f 697/399/688 991/551/975 990/550/974 -f 996/570/980 997/571/981 923/534/909 -f 925/535/911 923/534/909 997/571/981 -f 925/535/911 997/571/981 998/572/982 -f 999/573/983 925/535/911 998/572/982 -f 927/536/913 925/535/911 999/573/983 -f 927/536/913 999/573/983 1000/574/984 -f 1000/574/984 929/538/914 927/536/913 -f 1000/574/984 1001/575/985 929/538/914 -f 1001/575/985 931/540/916 929/538/914 -f 931/540/916 1001/575/985 1002/576/986 -f 1002/576/986 933/542/918 931/540/916 -f 933/542/918 1002/576/986 935/544/920 -f 1003/577/987 935/544/920 1002/576/986 -f 935/544/920 1003/577/987 1004/578/988 -f 1005/579/989 1004/578/988 1003/577/987 -f 1004/578/988 1005/579/989 1006/580/990 -f 1007/581/991 1006/580/990 1005/579/989 -f 1008/582/992 1007/581/991 1005/579/989 -f 1006/580/990 1009/583/993 1004/578/988 -f 946/555/932 1004/578/988 1009/583/993 -f 1004/578/988 946/555/932 935/544/920 -f 1010/581/994 1007/581/991 1008/582/992 -f 1011/584/995 1010/581/994 1008/582/992 -f 1008/582/992 1012/585/996 1011/584/995 -f 1013/586/997 1011/584/995 1012/585/996 -f 1012/585/996 1014/587/998 1013/586/997 -f 1015/588/999 1013/586/997 1014/587/998 -f 1014/587/998 1016/589/1000 1015/588/999 -f 1017/590/1001 1015/588/999 1016/589/1000 -f 1016/589/1000 1018/591/1002 1017/590/1001 -f 1019/592/1003 1017/590/1001 1018/591/1002 -f 1018/591/1002 1020/593/1004 1019/592/1003 -f 1021/594/1005 1019/592/1003 1020/593/1004 -f 1021/594/1005 1020/593/1004 1022/592/1006 -f 1023/591/1007 1022/592/1006 1020/593/1004 -f 1022/592/1006 1023/591/1007 1024/590/1008 -f 1025/595/1009 1024/590/1008 1023/591/1007 -f 1024/590/1008 1025/595/1009 1026/588/1010 -f 1027/587/1011 1026/588/1010 1025/595/1009 -f 1023/591/1007 1028/596/1012 1025/595/1009 -f 1029/597/1013 1028/596/1012 1030/598/1014 -f 1031/599/1015 1030/598/1014 1028/596/1012 -f 1028/596/1012 1023/591/1007 1031/599/1015 -f 1020/593/1004 1031/599/1015 1023/591/1007 -f 1020/593/1004 1018/591/1002 1031/599/1015 -f 1032/596/1016 1031/599/1015 1018/591/1002 -f 1018/591/1002 1016/589/1000 1032/596/1016 -f 1033/600/1017 1032/596/1016 1016/589/1000 -f 1016/589/1000 1014/587/998 1033/600/1017 -f 1034/601/1018 1033/600/1017 1014/587/998 -f 1014/587/998 1012/585/996 1034/601/1018 -f 1035/602/1019 1034/601/1018 1012/585/996 -f 1012/585/996 1008/582/992 1035/602/1019 -f 1034/601/1018 1035/602/1019 1036/603/1020 -f 1033/600/1017 1034/601/1018 1037/604/1021 -f 1036/603/1020 1037/604/1021 1034/601/1018 -f 1037/604/1021 1036/603/1020 1038/605/1022 -f 1032/596/1016 1033/600/1017 1039/597/1023 -f 1037/604/1021 1039/597/1023 1033/600/1017 -f 1039/597/1023 1037/604/1021 1040/606/1024 -f 1038/605/1022 1040/606/1024 1037/604/1021 -f 1040/606/1024 1038/605/1022 1041/607/1025 -f 1031/599/1015 1032/596/1016 1030/598/1014 -f 1039/597/1023 1030/598/1014 1032/596/1016 -f 1030/598/1014 1039/597/1023 1042/608/1026 -f 1040/606/1024 1042/608/1026 1039/597/1023 -f 1042/608/1026 1040/606/1024 1043/609/1027 -f 1041/607/1025 1043/609/1027 1040/606/1024 -f 1043/609/1027 1041/607/1025 1044/610/1028 -f 1045/611/1026 1046/612/1029 1044/610/1028 -f 1047/613/1030 1048/614/1031 1049/615/1032 -f 1049/615/1032 1050/616/1033 1047/613/1030 -f 1050/616/1033 1049/615/1032 1051/617/1034 -f 1051/617/1034 1052/618/1035 1050/616/1033 -f 1052/618/1035 1051/617/1034 1046/612/1029 -f 1052/618/1035 1046/612/1029 1053/619/1036 -f 1054/620/1037 1053/619/1036 1046/612/1029 -f 1054/620/1037 1046/612/1029 1055/621/1027 -f 1045/611/1026 1055/621/1027 1046/612/1029 -f 1045/611/1026 1056/612/1038 1055/621/1027 -f 1045/611/1026 1044/610/1028 1056/612/1038 -f 1057/622/1039 1056/612/1038 1044/610/1028 -f 1057/622/1039 1044/610/1028 1041/607/1025 -f 1041/607/1025 1058/623/1040 1057/622/1039 -f 1058/623/1040 1041/607/1025 1038/605/1022 -f 1038/605/1022 1059/624/1041 1058/623/1040 -f 1059/624/1041 1038/605/1022 1036/603/1020 -f 1036/603/1020 1060/625/1042 1059/624/1041 -f 1047/613/1030 1061/574/1043 1062/575/885 -f 1061/574/1043 1047/613/1030 1050/616/1033 -f 1050/616/1033 1063/626/1044 1061/574/1043 -f 1063/626/1044 1050/616/1033 1052/618/1035 -f 1063/626/1044 1052/618/1035 1064/572/1045 -f 1053/619/1036 1064/572/1045 1052/618/1035 -f 953/542/939 951/544/937 1065/576/1046 -f 1065/576/1046 955/540/941 953/542/939 -f 955/540/941 1065/576/1046 1062/575/885 -f 1062/575/885 957/538/943 955/540/941 -f 1062/575/885 1061/574/1043 957/538/943 -f 1061/574/1043 959/536/945 957/538/943 -f 959/536/945 1061/574/1043 1063/626/1044 -f 959/536/945 1063/626/1044 961/559/947 -f 961/559/947 1063/626/1044 1064/572/1045 -f 1066/571/1047 961/559/947 1064/572/1045 -f 961/559/947 1066/571/1047 963/534/949 -f 1067/570/1048 963/534/949 1066/571/1047 -f 1026/588/1010 1027/587/1011 1068/586/1049 -f 1069/627/1050 1068/586/1049 1027/587/1011 -f 1068/586/1049 1069/627/1050 1070/628/1051 -f 1071/582/1052 1070/628/1051 1069/627/1050 -f 1070/628/1051 1071/582/1052 1072/581/1053 -f 1072/581/1053 1071/582/1052 1073/581/1054 -f 1073/581/1054 1071/582/1052 1074/579/1055 -f 1073/581/1054 1074/579/1055 1075/580/1056 -f 1076/578/1057 1075/580/1056 1074/579/1055 -f 1075/580/1056 1076/578/1057 1077/583/1058 -f 949/555/935 1077/583/1058 1076/578/1057 -f 1076/578/1057 951/544/937 949/555/935 -f 951/544/937 1076/578/1057 1078/577/1059 -f 1078/577/1059 1065/576/1046 951/544/937 -f 1065/576/1046 1078/577/1059 1079/629/1060 -f 1079/629/1060 1062/575/885 1065/576/1046 -f 1062/575/885 1079/629/1060 1048/614/1031 -f 1048/614/1031 1047/613/1030 1062/575/885 -f 1074/579/1055 1078/577/1059 1076/578/1057 -f 1078/577/1059 1074/579/1055 1080/630/1061 -f 1080/630/1061 1079/629/1060 1078/577/1059 -f 1079/629/1060 1080/630/1061 1081/631/1062 -f 1081/631/1062 1048/614/1031 1079/629/1060 -f 1081/631/1062 1082/624/1063 1048/614/1031 -f 1082/624/1063 1049/615/1032 1048/614/1031 -f 1049/615/1032 1082/624/1063 1083/623/1064 -f 1083/623/1064 1051/617/1034 1049/615/1032 -f 1051/617/1034 1083/623/1064 1084/622/1065 -f 1084/622/1065 1046/612/1029 1051/617/1034 -f 1084/622/1065 1044/610/1028 1046/612/1029 -f 1084/622/1065 1085/607/1066 1044/610/1028 -f 1043/609/1027 1044/610/1028 1085/607/1066 -f 1085/607/1066 1086/606/1067 1043/609/1027 -f 1042/608/1026 1043/609/1027 1086/606/1067 -f 1086/606/1067 1029/597/1013 1042/608/1026 -f 1030/598/1014 1042/608/1026 1029/597/1013 -f 1087/603/1068 1082/624/1063 1081/631/1062 -f 1088/605/1069 1083/623/1064 1082/624/1063 -f 1082/624/1063 1087/603/1068 1088/605/1069 -f 1089/604/1070 1088/605/1069 1087/603/1068 -f 1087/603/1068 1090/601/1071 1089/604/1070 -f 1090/601/1071 1087/603/1068 1091/602/1072 -f 1091/602/1072 1087/603/1068 1081/631/1062 -f 1091/602/1072 1081/631/1062 1080/630/1061 -f 1092/600/1073 1089/604/1070 1090/601/1071 -f 1085/607/1066 1084/622/1065 1083/623/1064 -f 1083/623/1064 1088/605/1069 1085/607/1066 -f 1086/606/1067 1085/607/1066 1088/605/1069 -f 1088/605/1069 1089/604/1070 1086/606/1067 -f 1029/597/1013 1086/606/1067 1089/604/1070 -f 1089/604/1070 1092/600/1073 1029/597/1013 -f 1028/596/1012 1029/597/1013 1092/600/1073 -f 1092/600/1073 1025/595/1009 1028/596/1012 -f 1025/595/1009 1092/600/1073 1027/587/1011 -f 1090/601/1071 1027/587/1011 1092/600/1073 -f 1027/587/1011 1090/601/1071 1069/627/1050 -f 1091/602/1072 1069/627/1050 1090/601/1071 -f 1069/627/1050 1091/602/1072 1071/582/1052 -f 1080/630/1061 1071/582/1052 1091/602/1072 -f 1071/582/1052 1080/630/1061 1074/579/1055 -f 1035/602/1019 1060/625/1042 1036/603/1020 -f 1035/602/1019 1093/630/1074 1060/625/1042 -f 1093/630/1074 1035/602/1019 1008/582/992 -f 1008/582/992 1005/579/989 1093/630/1074 -f 1003/577/987 1093/630/1074 1005/579/989 -f 1093/630/1074 1003/577/987 1094/632/985 -f 1002/576/986 1094/632/985 1003/577/987 -f 1094/632/985 1002/576/986 1001/575/985 -f 1001/575/985 1095/614/1075 1094/632/985 -f 1095/614/1075 1001/575/985 1096/613/1076 -f 1096/613/1076 1097/615/1077 1095/614/1075 -f 1097/615/1077 1096/613/1076 1098/616/1078 -f 1098/616/1078 1099/617/1079 1097/615/1077 -f 1099/617/1079 1098/616/1078 1100/618/1080 -f 1100/618/1080 1056/612/1038 1099/617/1079 -f 1100/618/1080 1101/619/1081 1056/612/1038 -f 1102/620/1082 1056/612/1038 1101/619/1081 -f 1102/620/1082 1055/621/1027 1056/612/1038 -f 1094/632/985 1060/625/1042 1093/630/1074 -f 1060/625/1042 1094/632/985 1095/614/1075 -f 1059/624/1041 1060/625/1042 1095/614/1075 -f 1059/624/1041 1095/614/1075 1097/615/1077 -f 1097/615/1077 1058/623/1040 1059/624/1041 -f 1058/623/1040 1097/615/1077 1099/617/1079 -f 1099/617/1079 1057/622/1039 1058/623/1040 -f 1057/622/1039 1099/617/1079 1056/612/1038 -f 1103/633/1083 1104/634/1084 1105/635/1085 -f 1105/635/1085 1106/636/1086 1103/633/1083 -f 1106/636/1086 1105/635/1085 1107/637/1087 -f 1107/637/1087 1108/638/1088 1106/636/1086 -f 1109/639/1089 1106/636/1086 1108/638/1088 -f 1108/638/1088 1110/640/1090 1109/639/1089 -f 1111/641/1013 1109/639/1089 1110/640/1090 -f 1111/641/1013 1112/642/1091 1109/639/1089 -f 1112/642/1091 1113/643/1092 1109/639/1089 -f 1112/642/1091 1114/644/1093 1113/643/1092 -f 1114/644/1093 1115/645/1094 1113/643/1092 -f 1103/633/1083 1113/643/1092 1115/645/1094 -f 1115/645/1094 1116/646/1095 1103/633/1083 -f 1104/634/1084 1103/633/1083 1116/646/1095 -f 1116/646/1095 1117/647/1096 1104/634/1084 -f 1118/648/1097 1104/634/1084 1117/647/1096 -f 1117/647/1096 836/649/1098 1118/648/1097 -f 842/650/1099 1118/648/1097 836/649/1098 -f 1113/643/1092 1103/633/1083 1106/636/1086 -f 1106/636/1086 1109/639/1089 1113/643/1092 -f 842/650/1099 840/651/1100 1118/648/1097 -f 1119/652/1101 1118/648/1097 840/651/1100 -f 1119/652/1101 1120/653/1102 1118/648/1097 -f 1120/653/1102 1119/652/1101 1121/654/749 -f 1121/654/749 1122/655/1103 1120/653/1102 -f 1105/635/1085 1120/653/1102 1122/655/1103 -f 1122/655/1103 1107/637/1087 1105/635/1085 -f 1123/656/1104 1121/654/749 1119/652/1101 -f 1124/657/1105 1125/658/1106 1126/659/1107 -f 1127/660/1108 1126/659/1107 1125/658/1106 -f 1126/659/1107 1127/660/1108 1128/661/1109 -f 1129/662/1110 1128/661/1109 1127/660/1108 -f 1128/661/1109 1129/662/1110 1130/659/1111 -f 1131/660/1112 1130/659/1111 1129/662/1110 -f 1130/659/1111 1131/660/1112 1132/657/1113 -f 1133/658/1114 1132/657/1113 1131/660/1112 -f 1132/657/1113 1133/658/1114 1134/663/1115 -f 1135/664/1116 1134/663/1115 1133/658/1114 -f 1134/663/1115 1135/664/1116 1124/657/1105 -f 1125/658/1106 1124/657/1105 1135/664/1116 -f 1135/664/1116 1136/665/1117 1125/658/1106 -f 1137/666/1118 1125/658/1106 1136/665/1117 -f 1125/658/1106 1137/666/1118 1127/660/1108 -f 1138/667/1119 1127/660/1108 1137/666/1118 -f 1127/660/1108 1138/667/1119 1129/662/1110 -f 1139/668/1120 1129/662/1110 1138/667/1119 -f 1129/662/1110 1139/668/1120 1131/660/1112 -f 1140/667/1121 1131/660/1112 1139/668/1120 -f 1131/660/1112 1140/667/1121 1133/658/1114 -f 1141/666/1122 1133/658/1114 1140/667/1121 -f 1133/658/1114 1141/666/1122 1135/664/1116 -f 1136/665/1117 1135/664/1116 1141/666/1122 -f 1142/669/1123 1143/670/1124 1144/671/1125 -f 1145/672/1126 1144/671/1125 1143/670/1124 -f 1144/671/1125 1145/672/1126 1146/673/1127 -f 1147/674/1128 1146/673/1127 1145/672/1126 -f 1146/673/1127 1147/674/1128 1148/675/898 -f 1148/675/898 1149/676/1129 1146/673/1127 -f 1148/675/898 884/651/1130 1149/676/1129 -f 888/650/1131 1149/676/1129 884/651/1130 -f 888/650/1131 858/649/1132 1149/676/1129 -f 1150/677/1133 1149/676/1129 858/649/1132 -f 1149/676/1129 1150/677/1133 1151/678/1134 -f 1152/679/1135 1151/678/1134 1150/677/1133 -f 1151/678/1134 1152/679/1135 1153/680/1136 -f 1154/681/1137 1153/680/1136 1152/679/1135 -f 1153/680/1136 1154/681/1137 1155/682/1138 -f 1156/683/1139 1155/682/1138 1154/681/1137 -f 1156/683/1139 1157/684/1140 1155/682/1138 -f 1157/684/1140 1158/685/1141 1155/682/1138 -f 1159/686/1142 1148/675/898 1147/674/1128 -f 1157/684/1140 1160/687/1023 1158/685/1141 -f 1160/687/1023 1161/688/1143 1158/685/1141 -f 1162/689/1144 1158/685/1141 1161/688/1143 -f 1161/688/1143 1163/690/1145 1162/689/1144 -f 1164/691/1146 1162/689/1144 1163/690/1145 -f 1151/678/1134 1146/673/1127 1149/676/1129 -f 1146/673/1127 1151/678/1134 1144/671/1125 -f 1153/680/1136 1144/671/1125 1151/678/1134 -f 1144/671/1125 1153/680/1136 1142/669/1123 -f 1155/682/1138 1142/669/1123 1153/680/1136 -f 1142/669/1123 1155/682/1138 1158/685/1141 -f 1158/685/1141 1162/689/1144 1142/669/1123 -f 1143/670/1124 1142/669/1123 1162/689/1144 -f 804/439/795 757/438/749 754/435/746 -f 804/439/795 813/449/804 757/438/749 -f 769/448/761 757/438/749 813/449/804 -f 813/449/804 855/457/844 769/448/761 -f 855/457/844 813/449/804 814/456/805 -f 814/456/805 1165/493/1147 855/457/844 -f 1165/493/1147 814/456/805 815/470/806 -f 815/470/806 1166/468/1148 1165/493/1147 -f 1166/468/1148 815/470/806 816/469/807 -f 816/469/807 1167/478/1149 1166/468/1148 -f 1167/478/1149 816/469/807 817/474/808 -f 817/474/808 1168/477/1150 1167/478/1149 -f 1168/477/1150 817/474/808 818/476/809 -f 818/476/809 867/515/669 1168/477/1150 -f 818/476/809 819/477/810 867/515/669 -f 1169/514/1151 867/515/669 819/477/810 -f 819/477/810 821/479/812 1169/514/1151 -f 1170/513/1152 1169/514/1151 821/479/812 -f 1169/514/1151 824/482/815 867/515/669 -f 1169/514/1151 1170/513/1152 824/482/815 -f 825/483/816 824/482/815 1170/513/1152 -f 821/479/812 823/481/814 1170/513/1152 -f 831/489/822 1170/513/1152 823/481/814 -f 1170/513/1152 831/489/822 825/483/816 -f 829/487/820 825/483/816 831/489/822 -f 1171/667/1153 1172/668/1154 1173/660/1155 -f 1173/660/1155 1174/658/1156 1171/667/1153 -f 1174/658/1156 1173/660/1155 1175/657/1157 -f 1175/657/1157 1176/663/1158 1174/658/1156 -f 1177/664/1159 1174/658/1156 1176/663/1158 -f 1176/663/1158 1178/657/1160 1177/664/1159 -f 1179/658/1161 1177/664/1159 1178/657/1160 -f 1178/657/1160 1180/659/1162 1179/658/1161 -f 1181/660/1163 1179/658/1161 1180/659/1162 -f 1180/659/1162 1182/661/1164 1181/660/1163 -f 1183/662/1165 1181/660/1163 1182/661/1164 -f 1182/661/1164 1184/659/1166 1183/662/1165 -f 1173/660/1155 1183/662/1165 1184/659/1166 -f 1184/659/1166 1175/657/1157 1173/660/1155 -f 1183/662/1165 1173/660/1155 1172/668/1154 -f 1172/668/1154 1185/667/1167 1183/662/1165 -f 1181/660/1163 1183/662/1165 1185/667/1167 -f 1185/667/1167 1186/666/1168 1181/660/1163 -f 1179/658/1161 1181/660/1163 1186/666/1168 -f 1186/666/1168 1187/665/1169 1179/658/1161 -f 1177/664/1159 1179/658/1161 1187/665/1169 -f 1187/665/1169 1188/666/1170 1177/664/1159 -f 1174/658/1156 1177/664/1159 1188/666/1170 -f 1188/666/1170 1171/667/1153 1174/658/1156 -f 991/692/1171 1189/693/1172 992/694/1173 -f 1190/695/1174 992/694/1173 1189/693/1172 -f 992/694/1173 1190/695/1174 993/696/1175 -f 1191/697/1176 993/696/1175 1190/695/1174 -f 993/696/1175 1191/697/1176 994/698/1177 -f 1192/699/1177 994/698/1177 1191/697/1176 -f 994/698/1177 1192/699/1177 1193/700/1178 -f 1194/701/1179 1193/700/1178 1192/699/1177 -f 1194/701/1179 1195/702/1180 1193/700/1178 -f 1196/677/1181 1193/700/1178 1195/702/1180 -f 1195/702/1180 1197/703/1182 1196/677/1181 -f 954/704/1183 1196/677/1181 1197/703/1182 -f 1197/703/1182 1198/705/1184 954/704/1183 -f 966/706/1185 954/704/1183 1198/705/1184 -f 695/397/1186 1199/707/1187 1200/708/1188 -f 1201/709/1187 1200/708/1188 1199/707/1187 -f 1199/707/1187 1202/710/1189 1201/709/1187 -f 1203/711/1190 1201/709/1187 1202/710/1189 -f 1202/710/1189 1204/712/1191 1203/711/1190 -f 1205/713/1192 1203/711/1190 1204/712/1191 -f 1204/712/1191 1206/714/1193 1205/713/1192 -f 1207/715/1194 1205/713/1192 1206/714/1193 -f 1207/715/1194 1206/714/1193 1208/716/1195 -f 1209/717/1196 1208/716/1195 1206/714/1193 -f 1208/716/1195 1209/717/1196 1210/718/1197 -f 1211/719/1198 1210/718/1197 1209/717/1196 -f 1211/719/1198 1212/720/1199 1210/718/1197 -f 1213/721/1200 1210/718/1197 1212/720/1199 -f 1213/721/1200 1214/722/1201 1210/718/1197 -f 1208/716/1195 1210/718/1197 1214/722/1201 -f 1215/723/1202 1216/724/1202 1217/415/1203 -f 1218/724/1204 1217/415/1203 1216/724/1202 -f 1217/415/1203 1218/724/1204 1219/725/1205 -f 1219/725/1205 1218/724/1204 1220/726/1206 -f 1218/724/1204 1221/409/1207 1220/726/1206 -f 1220/726/1206 1221/409/1207 1222/727/1208 -f 1223/405/1208 1222/727/1208 1221/409/1207 -f 960/382/946 995/388/979 958/537/944 -f 995/388/979 956/558/942 958/537/944 -f 956/558/942 995/388/979 1196/728/1209 -f 1196/728/1209 954/541/940 956/558/942 -f 1193/729/1210 995/388/979 994/554/978 -f 1193/729/1210 1196/728/1209 995/388/979 -f 1224/730/1211 1225/391/624 1226/730/1211 -f 1227/391/624 1226/730/1211 1225/391/624 -f 1225/391/624 1228/374/623 1227/391/624 -f 1229/374/623 1227/391/624 1228/374/623 -f 1228/374/623 1230/731/1211 1229/374/623 -f 1231/731/1211 1229/374/623 1230/731/1211 -f 1232/728/1212 930/539/915 932/541/917 -f 930/539/915 1232/728/1212 945/388/931 -f 1233/729/1213 945/388/931 1232/728/1212 -f 1233/729/1213 944/554/930 945/388/931 -f 972/732/1214 1212/720/1214 932/733/1215 -f 1211/719/1216 932/733/1215 1212/720/1214 -f 932/733/1215 1211/719/1216 1232/734/1217 -f 1209/717/1218 1232/734/1217 1211/719/1216 -f 1232/734/1217 1209/717/1218 1233/735/1219 -f 1206/714/1220 1233/735/1219 1209/717/1218 -f 1206/714/1220 1204/712/1221 1233/735/1219 -f 944/736/1222 1233/735/1219 1204/712/1221 -f 1204/712/1221 1202/710/1223 944/736/1222 -f 943/737/1224 944/736/1222 1202/710/1223 -f 1202/710/1223 1199/707/1225 943/737/1224 -f 942/738/1226 943/737/1224 1199/707/1225 -f 1199/707/1225 695/397/1227 942/738/1226 -f 694/396/1228 942/738/1226 695/397/1227 -f 1096/613/1076 1001/575/985 1000/574/984 -f 1000/574/984 1098/616/1078 1096/613/1076 -f 1098/616/1078 1000/574/984 999/573/983 -f 999/573/983 1100/618/1080 1098/616/1078 -f 999/573/983 998/572/982 1100/618/1080 -f 1101/619/1081 1100/618/1080 998/572/982 -f 1178/739/1229 1176/740/1229 1180/741/1229 -f 1176/740/1229 1184/742/1229 1180/741/1229 -f 1175/743/1229 1184/742/1229 1176/740/1229 -f 1180/741/1229 1184/742/1229 1182/744/1229 -f 1132/743/1230 1134/740/1230 1130/742/1230 -f 1134/740/1230 1126/741/1230 1130/742/1230 -f 1124/739/1230 1126/741/1230 1134/740/1230 -f 1130/742/1230 1126/741/1230 1128/744/1230 -f 857/502/846 855/457/844 1165/493/1147 -f 1165/493/1147 859/492/848 857/502/846 -f 859/492/848 1165/493/1147 1166/468/1148 -f 1166/468/1148 861/480/850 859/492/848 -f 861/480/850 1166/468/1148 1167/478/1149 -f 1167/478/1149 863/479/852 861/480/850 -f 863/479/852 1167/478/1149 1168/477/1150 -f 1168/477/1150 865/514/854 863/479/852 -f 865/514/854 1168/477/1150 867/515/669 -f 1234/745/1231 1235/746/1232 1236/747/1233 -f 1237/748/1234 1236/747/1233 1235/746/1232 -f 1236/747/1233 1237/748/1234 1238/749/1235 -f 1239/750/1236 1238/749/1235 1237/748/1234 -f 1237/748/1234 1240/751/1237 1239/750/1236 -f 1241/752/1238 1239/750/1236 1240/751/1237 -f 1240/751/1237 1242/753/670 1241/752/1238 -f 1243/754/1239 1241/752/1238 1242/753/670 -f 1242/753/670 1244/755/1240 1243/754/1239 -f 1245/756/1241 1243/754/1239 1244/755/1240 -f 1244/755/1240 1246/757/1242 1245/756/1241 -f 1244/755/1240 1247/758/1243 1246/757/1242 -f 1248/759/1244 1246/757/1242 1247/758/1243 -f 1247/758/1243 1249/760/1245 1248/759/1244 -f 1250/761/1246 1248/759/1244 1249/760/1245 -f 1249/760/1245 1251/762/1247 1250/761/1246 -f 1252/763/1248 1250/761/1246 1251/762/1247 -f 1252/763/1248 1251/762/1247 1253/764/1249 -f 1249/760/1245 1254/765/1250 1251/762/1247 -f 1247/758/1243 1255/766/1251 1249/760/1245 -f 1254/765/1250 1249/760/1245 1255/766/1251 -f 1255/766/1251 1256/767/1252 1254/765/1250 -f 1244/755/1240 1242/753/670 1247/758/1243 -f 1255/766/1251 1247/758/1243 1242/753/670 -f 1242/753/670 1240/751/1237 1255/766/1251 -f 1256/767/1252 1255/766/1251 1240/751/1237 -f 1240/751/1237 1237/748/1234 1256/767/1252 -f 1235/746/1232 1256/767/1252 1237/748/1234 -f 1256/767/1252 1235/746/1232 1257/768/1253 -f 1257/768/1253 1254/765/1250 1256/767/1252 -f 1254/765/1250 1257/768/1253 1258/769/672 -f 1258/769/672 1251/762/1247 1254/765/1250 -f 1251/762/1247 1258/769/672 1259/770/1254 -f 1259/770/1254 1253/764/1249 1251/762/1247 -f 1259/770/1254 1260/762/1255 1253/764/1249 -f 1261/763/1256 1253/764/1249 1260/762/1255 -f 1261/763/1256 1260/762/1255 1262/761/1257 -f 1262/761/1257 1263/771/1258 1261/763/1256 -f 1263/771/1258 1262/761/1257 1264/772/1259 -f 1264/772/1259 1265/773/1260 1263/771/1258 -f 1266/774/1261 1259/770/1254 1258/769/672 -f 1267/775/1262 1257/768/1253 1235/746/1232 -f 1257/768/1253 1267/775/1262 1268/776/1263 -f 1268/776/1263 1258/769/672 1257/768/1253 -f 1258/769/672 1268/776/1263 1266/774/1261 -f 1269/777/1254 1266/774/1261 1268/776/1263 -f 1269/777/1254 1270/776/1264 1266/774/1261 -f 1271/769/1265 1266/774/1261 1270/776/1264 -f 1266/774/1261 1271/769/1265 1259/770/1254 -f 1260/762/1255 1259/770/1254 1271/769/1265 -f 1272/778/1266 1268/776/1263 1267/775/1262 -f 700/779/1267 702/780/1268 1272/778/1266 -f 703/781/1269 1272/778/1266 702/780/1268 -f 703/781/1269 705/782/1270 1272/778/1266 -f 705/782/1270 708/781/1271 1273/778/1272 -f 708/781/1271 710/780/1273 1273/778/1272 -f 711/779/1274 1273/778/1272 710/780/1273 -f 1274/745/1275 1275/747/1276 1276/746/1277 -f 1277/748/1278 1276/746/1277 1275/747/1276 -f 1276/746/1277 1277/748/1278 1278/767/1279 -f 1279/751/1280 1278/767/1279 1277/748/1278 -f 1278/767/1279 1279/751/1280 1280/766/1281 -f 1281/753/1282 1280/766/1281 1279/751/1280 -f 1280/766/1281 1281/753/1282 1282/758/1283 -f 1283/783/1284 1282/758/1283 1281/753/1282 -f 1283/783/1284 1284/757/1285 1282/758/1283 -f 1285/759/1285 1282/758/1283 1284/757/1285 -f 1284/757/1285 1286/784/1286 1285/759/1285 -f 1264/772/1259 1285/759/1285 1286/784/1286 -f 1285/759/1285 1264/772/1259 1262/761/1257 -f 1262/761/1257 1287/760/1287 1285/759/1285 -f 1287/760/1287 1262/761/1257 1260/762/1255 -f 1287/760/1287 1260/762/1255 1288/765/1277 -f 1271/769/1265 1288/765/1277 1260/762/1255 -f 1288/765/1277 1271/769/1265 1289/768/1288 -f 1270/776/1264 1289/768/1288 1271/769/1265 -f 1289/768/1288 1270/776/1264 1290/775/1289 -f 1273/778/1272 1290/775/1289 1270/776/1264 -f 1290/775/1289 1276/746/1277 1289/768/1288 -f 1278/767/1279 1289/768/1288 1276/746/1277 -f 1289/768/1288 1278/767/1279 1288/765/1277 -f 1280/766/1281 1288/765/1277 1278/767/1279 -f 1288/765/1277 1280/766/1281 1287/760/1287 -f 1282/758/1283 1287/760/1287 1280/766/1281 -f 1282/758/1283 1285/759/1285 1287/760/1287 -f 1253/764/1249 1291/785/1290 1252/763/1248 -f 1253/764/1249 1261/763/1256 1291/785/1290 -f 1292/786/1291 1291/785/1290 1261/763/1256 -f 1292/786/1291 1261/763/1256 1263/771/1258 -f 1292/786/1291 1263/771/1258 971/787/1292 -f 1265/773/1260 971/787/1292 1263/771/1258 -f 971/787/1292 1265/773/1260 972/787/1293 -f 1212/788/1294 972/787/1293 1265/773/1260 -f 1264/772/1259 1212/788/1294 1265/773/1260 -f 1212/788/1294 1264/772/1259 1213/789/1295 -f 1264/772/1259 1286/784/1286 1213/789/1295 -f 1214/790/1296 1213/789/1295 1286/784/1286 -f 1293/791/1297 1245/756/1241 1246/757/1242 -f 1293/791/1297 1246/757/1242 1294/784/1298 -f 1246/757/1242 1248/759/1244 1294/784/1298 -f 1295/792/1299 1294/784/1298 1248/759/1244 -f 1248/759/1244 1250/761/1246 1295/792/1299 -f 1296/771/1300 1295/792/1299 1250/761/1246 -f 1250/761/1246 1252/763/1248 1296/771/1300 -f 1297/786/1301 1296/771/1300 1252/763/1248 -f 1297/786/1301 1252/763/1248 1291/785/1290 -f 1291/785/1290 969/793/1302 1297/786/1301 -f 1291/785/1290 1292/786/1291 969/793/1302 -f 973/794/1303 969/793/1302 1292/786/1291 -f 1292/786/1291 971/787/1292 973/794/1303 -f 1298/773/1304 1295/792/1299 1296/771/1300 -f 1299/795/1305 1293/791/1297 1300/790/1306 -f 1294/784/1298 1300/790/1306 1293/791/1297 -f 1300/790/1306 1294/784/1298 1301/789/1307 -f 1295/792/1299 1301/789/1307 1294/784/1298 -f 1295/792/1299 1198/788/1308 1301/789/1307 -f 1198/788/1308 1295/792/1299 1298/773/1304 -f 1198/788/1308 1298/773/1304 966/787/1309 -f 967/796/1310 966/787/1309 1298/773/1304 -f 1298/773/1304 1296/771/1300 967/796/1310 -f 1297/786/1301 967/796/1310 1296/771/1300 -f 967/796/1310 1297/786/1301 968/794/1311 -f 968/794/1311 1297/786/1301 969/793/1302 -f 1268/776/1312 1272/778/1313 1269/777/1314 -f 705/782/1315 1269/777/1314 1272/778/1313 -f 705/782/1315 1273/778/1316 1269/777/1314 -f 1270/776/1317 1269/777/1314 1273/778/1316 -f 1235/746/1318 1234/745/1319 1267/775/1320 -f 700/779/1321 1267/775/1320 1234/745/1319 -f 700/779/1321 1272/778/1313 1267/775/1320 -f 1273/778/1316 711/779/1322 1290/775/1323 -f 711/779/1322 1274/745/1324 1290/775/1323 -f 1276/746/1325 1290/775/1323 1274/745/1324 -f 1120/653/1102 1105/635/1085 1104/634/1084 -f 1104/634/1084 1118/648/1097 1120/653/1102 -f 1192/699/1326 1302/797/1327 1194/701/897 -f 1303/798/649 1194/701/897 1302/797/1327 -f 1302/797/1327 1304/799/1328 1303/798/649 -f 1305/800/1329 1303/798/649 1304/799/1328 -f 1303/798/649 1305/800/1329 1306/801/1330 -f 1307/802/1331 1306/801/1330 1305/800/1329 -f 1306/801/1330 1307/802/1331 1308/803/1332 -f 1308/803/1332 1307/802/1331 1301/804/1333 -f 1301/804/1333 1198/705/1334 1308/803/1332 -f 1197/703/1335 1308/803/1332 1198/705/1334 -f 1197/703/1335 1195/702/1336 1308/803/1332 -f 1306/801/1330 1308/803/1332 1195/702/1336 -f 1195/702/1336 1194/701/897 1306/801/1330 -f 1303/798/649 1306/801/1330 1194/701/897 -f 1299/805/1337 1300/806/1338 1307/802/1331 -f 1307/802/1331 1300/806/1338 1301/804/1333 -f 1304/799/1328 1302/797/1327 1309/807/1339 -f 1310/808/1340 1309/807/1339 1302/797/1327 -f 1302/797/1327 1192/699/1326 1310/808/1340 -f 1191/697/1341 1310/808/1340 1192/699/1326 -f 1310/808/1340 1191/697/1341 1311/809/1342 -f 1190/695/1343 1311/809/1342 1191/697/1341 -f 1311/809/1342 1190/695/1343 1312/810/1344 -f 1189/693/1345 1312/810/1344 1190/695/1343 -f 1312/810/1344 1313/811/1346 1311/809/1342 -f 1314/812/1346 1311/809/1342 1313/811/1346 -f 1311/809/1342 1314/812/1346 1310/808/1340 -f 1309/807/1339 1310/808/1340 1314/812/1346 -f 1315/813/1347 1316/402/1347 1215/725/1347 -f 1216/814/1347 1215/725/1347 1316/402/1347 -f 1317/723/1348 1318/724/1348 1319/415/1349 -f 1320/724/1350 1319/415/1349 1318/724/1348 -f 1319/415/1349 1320/724/1350 1321/725/1351 -f 1321/725/1351 1320/724/1350 1322/726/1352 -f 1320/724/1350 1323/409/1353 1322/726/1352 -f 1322/726/1352 1323/409/1353 1315/727/1354 -f 1316/405/1354 1315/727/1354 1323/409/1353 -f 1222/404/1355 1223/416/1355 1317/814/1355 -f 1318/725/1355 1317/814/1355 1223/416/1355 -f 1324/815/1356 1325/816/1356 1326/817/1357 -f 1327/818/1358 1326/817/1357 1325/816/1356 -f 1326/817/1357 1327/818/1358 1328/819/1359 -f 1329/820/1360 1328/819/1359 1327/818/1358 -f 1328/819/1359 1329/820/1360 1330/821/1361 -f 1331/822/1361 1330/821/1361 1329/820/1360 -f 1332/823/1362 1333/824/1363 1334/825/1362 -f 1335/826/1364 1334/825/1362 1333/824/1363 -f 1333/824/1363 1336/827/1365 1335/826/1364 -f 1337/828/1366 1335/826/1364 1336/827/1365 -f 1336/827/1365 1338/829/1367 1337/828/1366 -f 1339/830/1367 1337/828/1366 1338/829/1367 -f 1339/831/1368 1338/832/1368 1324/833/1368 -f 1325/834/1368 1324/833/1368 1338/832/1368 -f 1338/829/1369 1336/827/1369 1325/816/1369 -f 1327/818/1369 1325/816/1369 1336/827/1369 -f 1336/827/1369 1333/824/1369 1327/818/1369 -f 1329/820/1369 1327/818/1369 1333/824/1369 -f 1333/824/1369 1332/823/1369 1329/820/1369 -f 1331/822/1369 1329/820/1369 1332/823/1369 -f 1332/832/1370 1334/831/1370 1331/834/1370 -f 1330/833/1370 1331/834/1370 1334/831/1370 -f 1340/668/1154 1341/667/1167 1342/662/1165 -f 1342/662/1165 1343/660/1155 1340/668/1154 -f 1343/660/1155 1342/662/1165 1344/659/1166 -f 1344/659/1166 1345/657/1157 1343/660/1155 -f 1346/658/1156 1343/660/1155 1345/657/1157 -f 1345/657/1157 1347/663/1158 1346/658/1156 -f 1348/664/1159 1346/658/1156 1347/663/1158 -f 1347/663/1158 1349/657/1160 1348/664/1159 -f 1350/658/1161 1348/664/1159 1349/657/1160 -f 1349/657/1160 1351/659/1162 1350/658/1161 -f 1352/660/1163 1350/658/1161 1351/659/1162 -f 1351/659/1162 1353/661/1164 1352/660/1163 -f 1342/662/1165 1352/660/1163 1353/661/1164 -f 1353/661/1164 1344/659/1166 1342/662/1165 -f 1352/660/1163 1342/662/1165 1341/667/1167 -f 1341/667/1167 1354/666/1168 1352/660/1163 -f 1350/658/1161 1352/660/1163 1354/666/1168 -f 1354/666/1168 1355/665/1169 1350/658/1161 -f 1348/664/1159 1350/658/1161 1355/665/1169 -f 1355/665/1169 1356/666/1170 1348/664/1159 -f 1346/658/1156 1348/664/1159 1356/666/1170 -f 1356/666/1170 1357/667/1153 1346/658/1156 -f 1343/660/1155 1346/658/1156 1357/667/1153 -f 1357/667/1153 1340/668/1154 1343/660/1155 -f 1349/739/1229 1347/740/1229 1351/741/1229 -f 1347/740/1229 1344/742/1229 1351/741/1229 -f 1345/743/1229 1344/742/1229 1347/740/1229 -f 1351/741/1229 1344/742/1229 1353/744/1229 -f 1358/731/1119 1359/374/1371 1360/835/1372 -f 1361/392/1371 1360/835/1372 1359/374/1371 -f 1360/731/1373 1361/374/1374 1362/835/838 -f 1363/392/1375 1362/835/838 1361/374/1374 -f 1362/731/1376 1363/374/1377 1364/835/1376 -f 1365/392/1378 1364/835/1376 1363/374/1377 -f 1364/731/1379 1365/374/1380 1358/835/1379 -f 1359/392/1381 1358/835/1379 1365/374/1380 -f 1366/392/1382 1367/374/1382 1368/835/1383 -f 1369/731/1119 1368/835/1383 1367/374/1382 -f 1370/392/1384 1366/374/1384 1371/835/867 -f 1368/731/867 1371/835/867 1366/374/1384 -f 1372/392/1385 1370/374/1385 1373/835/1386 -f 1371/731/1376 1373/835/1386 1370/374/1385 -f 1367/392/1387 1372/374/1387 1369/835/1388 -f 1373/731/1389 1369/835/1388 1372/374/1387 -f 904/836/1390 917/837/1390 906/836/1390 -f 917/837/1390 898/836/1390 906/836/1390 -f 898/836/1390 902/836/1390 906/836/1390 -f 906/836/1390 902/836/1390 910/836/1390 -f 918/835/1390 826/731/1390 913/835/1390 -f 913/835/1390 826/731/1390 914/393/1390 -f 914/393/1390 826/731/1390 845/838/1390 -f 916/837/1390 914/393/1390 845/838/1390 -f 847/837/1390 916/837/1390 845/838/1390 -f 916/837/1390 847/837/1390 917/837/1390 -f 847/837/1390 898/836/1390 917/837/1390 -f 849/837/1390 898/836/1390 847/837/1390 -f 915/839/1390 914/393/1390 916/837/1390 -f 912/840/1390 913/835/1390 914/393/1390 -f 1374/550/1391 1375/841/1391 1376/550/1391 -f 1377/841/1391 1376/550/1391 1375/841/1391 -f 1376/415/1392 1377/724/1392 1378/416/1392 -f 1379/404/1392 1378/416/1392 1377/724/1392 -f 1378/416/1393 1379/404/1393 1380/727/1393 -f 1381/405/1393 1380/727/1393 1379/404/1393 -f 1382/415/1394 1383/724/1394 1384/725/1394 -f 1385/814/1394 1384/725/1394 1383/724/1394 -f 1384/725/1395 1385/814/1395 1374/727/1395 -f 1375/405/1395 1374/727/1395 1385/814/1395 -f 1377/842/1396 1375/842/1396 1379/726/1396 -f 1385/727/1396 1379/726/1396 1375/842/1396 -f 1385/727/1396 1383/405/1396 1379/726/1396 -f 1381/404/1396 1379/726/1396 1383/405/1396 -f 1380/404/1397 1382/405/1397 1378/726/1397 -f 1384/727/1397 1378/726/1397 1382/405/1397 -f 1384/727/1397 1374/842/1397 1378/726/1397 -f 1376/843/1397 1378/726/1397 1374/842/1397 -f 734/414/726 1386/431/1398 732/426/724 -f 1387/430/1399 732/426/724 1386/431/1398 -f 732/426/724 1387/430/1399 736/427/728 -f 1388/429/1400 736/427/728 1387/430/1399 -f 736/427/728 1388/429/1400 738/422/730 -f 741/428/733 738/422/730 1388/429/1400 -f 741/428/733 1388/429/1400 1389/844/1401 -f 741/428/733 1389/844/1401 742/429/734 -f 743/430/735 742/429/734 1389/844/1401 -f 1389/844/1401 1390/845/1402 743/430/735 -f 744/431/736 743/430/735 1390/845/1402 -f 744/431/736 1390/845/1402 745/432/737 -f 1391/846/1403 745/432/737 1390/845/1402 -f 1391/846/1403 773/450/765 745/432/737 -f 1391/846/1403 768/432/760 773/450/765 -f 767/447/759 773/450/765 768/432/760 -f 1387/430/1399 1389/844/1401 1388/429/1400 -f 1389/844/1401 1387/430/1399 1390/845/1402 -f 1386/431/1398 1390/845/1402 1387/430/1399 -f 1386/431/1398 768/432/760 1390/845/1402 -f 1386/431/1398 734/414/726 768/432/760 -f 1391/846/1403 1390/845/1402 768/432/760 -f 706/408/1404 721/417/1404 707/406/1404 -f 752/417/1404 706/408/1404 704/406/1404 -f 693/847/1405 695/848/1405 711/849/1405 -f 1274/850/1406 711/849/1406 695/848/1406 -f 858/851/1407 1392/852/1408 1150/853/1409 -f 858/851/1407 860/854/1410 1392/852/1408 -f 1393/855/1411 1392/852/1408 860/854/1410 -f 860/854/1410 870/856/1412 1393/855/1411 -f 1394/857/1413 1393/855/1411 870/856/1412 -f 1393/855/1411 1394/857/1413 1395/858/1205 -f 1396/859/1414 1395/858/1205 1394/857/1413 -f 1396/859/1414 1397/860/1415 1395/858/1205 -f 1398/861/1416 1395/858/1205 1397/860/1415 -f 1397/860/1415 1399/862/1417 1398/861/1416 -f 1400/863/1416 1398/861/1416 1399/862/1417 -f 1399/862/1417 1401/864/658 1400/863/1416 -f 1402/865/1418 1400/863/1416 1401/864/658 -f 1401/864/658 1161/866/1419 1402/865/1418 -f 1160/867/1420 1402/865/1418 1161/866/1419 -f 1402/865/1418 1160/867/1420 1157/868/1421 -f 1157/868/1421 1403/869/1422 1402/865/1418 -f 1403/869/1422 1157/868/1421 1156/870/1423 -f 1395/858/1205 1398/861/1416 1404/871/1424 -f 1405/872/1425 1404/871/1424 1398/861/1416 -f 1398/861/1416 1400/863/1416 1405/872/1425 -f 1403/869/1422 1405/872/1425 1400/863/1416 -f 1400/863/1416 1402/865/1418 1403/869/1422 -f 1156/870/1423 1154/873/1426 1403/869/1422 -f 1405/872/1425 1403/869/1422 1154/873/1426 -f 1154/873/1426 1152/874/1427 1405/872/1425 -f 1404/871/1424 1405/872/1425 1152/874/1427 -f 1152/874/1427 1150/853/1409 1404/871/1424 -f 1392/852/1408 1404/871/1424 1150/853/1409 -f 1404/871/1424 1392/852/1408 1395/858/1205 -f 1393/855/1411 1395/858/1205 1392/852/1408 -f 884/651/1428 1148/675/1428 872/875/1428 -f 1159/686/1428 872/875/1428 1148/675/1428 -f 949/555/1429 948/557/1430 1077/583/1431 -f 1406/876/1432 1077/583/1431 948/557/1430 -f 1406/876/1432 948/557/1430 1009/583/1433 -f 946/555/1434 1009/583/1433 948/557/1430 -f 1200/877/1435 1275/877/1435 695/878/1435 -f 1274/878/1436 695/878/1436 1275/877/1436 -f 870/856/1437 872/879/1437 1394/857/1437 -f 1159/857/1438 1394/857/1438 872/879/1438 -f 1011/830/1439 1013/829/1439 1010/880/1439 -f 1013/829/1439 1021/881/1439 1010/880/1439 -f 1017/882/1439 1021/881/1439 1013/829/1439 -f 1019/883/1439 1021/881/1439 1017/882/1439 -f 1015/884/1440 1017/882/1440 1013/829/1440 -f 1022/885/1441 1024/886/1441 1021/881/1441 -f 1024/886/1441 1068/887/1441 1021/881/1441 -f 1068/887/1441 1072/888/1441 1021/881/1441 -f 1070/889/1441 1072/888/1441 1068/887/1441 -f 1026/890/1441 1068/887/1441 1024/886/1441 -f 1021/881/1442 1072/888/1442 1010/880/1442 -f 1407/891/1443 1408/892/1444 1409/893/1445 -f 1407/891/1443 1409/893/1445 1110/866/1446 -f 1410/864/1447 1110/866/1446 1409/893/1445 -f 1410/864/1447 1411/865/1448 1110/866/1446 -f 1411/865/1448 1410/864/1447 1412/894/1449 -f 1412/894/1449 1413/869/1450 1411/865/1448 -f 1413/869/1450 1412/894/1449 1414/872/1451 -f 1414/872/1451 1115/873/1452 1413/869/1450 -f 1115/873/1452 1414/872/1451 1116/874/1453 -f 1415/871/1454 1116/874/1453 1414/872/1451 -f 1116/874/1453 1415/871/1454 1117/853/1455 -f 1416/852/1456 1117/853/1455 1415/871/1454 -f 1416/852/1456 836/851/1457 1117/853/1455 -f 836/851/1457 1416/852/1456 833/854/1458 -f 1417/855/1459 833/854/1458 1416/852/1456 -f 833/854/1458 1417/855/1459 832/856/1460 -f 1418/857/1461 832/856/1460 1417/855/1459 -f 1417/855/1459 1419/858/733 1418/857/1461 -f 1420/861/1462 1414/872/1451 1412/894/1449 -f 1414/872/1451 1420/861/1462 1415/871/1454 -f 1419/858/733 1415/871/1454 1420/861/1462 -f 1415/871/1454 1419/858/733 1416/852/1456 -f 1417/855/1459 1416/852/1456 1419/858/733 -f 1421/859/1302 1418/857/1461 1419/858/733 -f 1421/859/1302 1419/858/733 1422/860/1463 -f 1420/861/1462 1422/860/1463 1419/858/733 -f 1422/860/1463 1420/861/1462 1423/895/1464 -f 1412/894/1449 1423/895/1464 1420/861/1462 -f 1423/895/1464 1412/894/1449 1410/864/1447 -f 1114/870/1465 1413/869/1450 1115/873/1452 -f 1112/868/1466 1413/869/1450 1114/870/1465 -f 1112/868/1466 1411/865/1448 1413/869/1450 -f 1111/867/1467 1411/865/1448 1112/868/1466 -f 1111/867/1467 1110/866/1446 1411/865/1448 -f 1110/640/1090 1108/638/1088 1407/896/1468 -f 1408/897/1469 1407/896/1468 1108/638/1088 -f 991/692/1470 697/898/1470 1189/693/1470 -f 845/838/1390 826/731/1390 828/394/1390 -f 826/731/1390 827/899/1390 828/394/1390 -f 1007/900/766 1010/900/766 1073/901/766 -f 1072/901/766 1073/901/766 1010/900/766 -f 1234/902/1471 1189/903/1471 700/904/1471 -f 697/905/1472 700/904/1472 1189/903/1472 -f 1123/656/1473 1119/652/1473 838/875/1473 -f 840/651/1473 838/875/1473 1119/652/1473 -f 1424/906/1474 1425/907/1474 1426/908/1474 -f 1426/908/1475 1425/907/1475 1427/541/1475 -f 1425/907/1474 1428/909/1474 1427/541/1474 -f 1428/909/1475 1429/910/1475 1427/541/1475 -f 1313/911/1476 1312/912/1476 1238/913/1476 -f 1236/914/1476 1238/913/1476 1312/912/1476 -f 1234/914/1477 1236/914/1477 1189/912/1477 -f 1312/912/1478 1189/912/1478 1236/914/1478 -f 838/879/1479 832/856/1479 1123/857/1479 -f 1418/857/1480 1123/857/1480 832/856/1480 -f 1216/915/1442 1316/916/1442 1218/917/1442 -f 1323/918/1474 1320/919/1474 1316/916/1474 -f 1316/916/1475 1320/919/1475 1218/917/1475 -f 1223/920/1442 1221/921/1442 1318/922/1442 -f 1318/922/1439 1221/921/1439 1320/919/1439 -f 1320/919/1475 1221/921/1475 1218/917/1475 -f 1430/814/1481 1431/405/1481 1432/725/1481 -f 1433/406/1481 1432/725/1481 1431/405/1481 -f 1434/438/1482 1435/923/1482 1436/924/1482 -f 1437/925/1482 1436/924/1482 1435/923/1482 -f 1438/926/1483 1436/924/1483 1439/927/1483 -f 1437/925/1483 1439/927/1483 1436/924/1483 -f 1440/928/1484 1441/929/1484 1442/930/1484 -f 1441/929/1485 1438/926/1485 1442/930/1485 -f 1442/930/1485 1438/926/1485 1439/927/1485 -f 1007/931/1486 1443/931/1487 1006/931/1488 -f 1443/931/1487 1007/931/1486 1444/932/1489 -f 1073/932/1490 1444/932/1489 1007/931/1486 -f 1444/932/1489 1073/932/1490 1445/901/1491 -f 1075/901/1492 1445/901/1491 1073/932/1490 -f 1445/901/1491 1075/901/1492 1446/901/1493 -f 1077/901/1494 1446/901/1493 1075/901/1492 -f 1447/901/1495 1446/901/1493 1077/901/1494 -f 1406/901/1496 1447/901/1495 1077/901/1494 -f 1009/901/1497 1447/901/1495 1406/901/1496 -f 1447/901/1495 1009/901/1497 1448/931/1498 -f 1006/931/1488 1448/931/1498 1009/901/1497 -f 1448/931/1498 1006/931/1488 1443/931/1487 -f 1443/814/1499 1429/725/1499 1448/724/1499 -f 1428/415/1499 1448/724/1499 1429/725/1499 -f 1444/723/1500 1427/724/1500 1443/727/1500 -f 1429/405/1500 1443/727/1500 1427/724/1500 -f 1445/813/1501 1426/402/1501 1444/416/1501 -f 1427/404/1501 1444/416/1501 1426/402/1501 -f 1448/723/1502 1428/724/1502 1447/813/1503 -f 1425/402/1504 1447/813/1503 1428/724/1502 -f 1447/813/1503 1425/402/1504 1446/726/1505 -f 1424/404/1352 1446/726/1505 1425/402/1504 -f 1446/726/1505 1424/404/1352 1445/727/1506 -f 1426/409/1506 1445/727/1506 1424/404/1352 -f 706/408/1507 1219/417/1507 721/417/1508 -f 1219/417/1507 706/408/1507 1217/417/1509 -f 752/417/1510 1217/417/1509 706/408/1507 -f 1217/417/1509 752/417/1510 1215/419/1511 -f 753/419/1512 1215/419/1511 752/417/1510 -f 1215/419/1511 753/419/1512 1315/421/1513 -f 739/421/1514 1315/421/1513 753/419/1512 -f 1315/421/1513 739/421/1514 1322/423/1515 -f 740/423/1516 1322/423/1515 739/421/1514 -f 1322/423/1515 740/423/1516 1321/423/1517 -f 728/424/1517 1321/423/1517 740/423/1516 -f 1321/423/1517 728/424/1517 1319/423/1518 -f 727/423/1519 1319/423/1518 728/424/1517 -f 1319/423/1518 727/423/1519 1317/421/1520 -f 725/421/1521 1317/421/1520 727/423/1519 -f 1317/421/1520 725/421/1521 1222/419/1522 -f 723/419/1523 1222/419/1522 725/421/1521 -f 1222/419/1522 723/419/1523 1220/417/1524 -f 721/417/1508 1220/417/1524 723/419/1523 -f 1220/417/1524 721/417/1508 1219/417/1507 -f 1449/668/1154 1450/667/1167 1451/662/1165 -f 1451/662/1165 1452/660/1155 1449/668/1154 -f 1452/660/1155 1451/662/1165 1453/659/1166 -f 1453/659/1166 1454/657/1157 1452/660/1155 -f 1455/658/1156 1452/660/1155 1454/657/1157 -f 1454/657/1157 1456/663/1158 1455/658/1156 -f 1457/664/1159 1455/658/1156 1456/663/1158 -f 1456/663/1158 1458/657/1160 1457/664/1159 -f 1459/658/1161 1457/664/1159 1458/657/1160 -f 1458/657/1160 1460/659/1162 1459/658/1161 -f 1461/660/1163 1459/658/1161 1460/659/1162 -f 1460/659/1162 1462/661/1164 1461/660/1163 -f 1451/662/1165 1461/660/1163 1462/661/1164 -f 1462/661/1164 1453/659/1166 1451/662/1165 -f 1461/660/1163 1451/662/1165 1450/667/1167 -f 1450/667/1167 1463/666/1168 1461/660/1163 -f 1459/658/1161 1461/660/1163 1463/666/1168 -f 1463/666/1168 1464/665/1169 1459/658/1161 -f 1457/664/1159 1459/658/1161 1464/665/1169 -f 1464/665/1169 1465/666/1170 1457/664/1159 -f 1455/658/1156 1457/664/1159 1465/666/1170 -f 1465/666/1170 1466/667/1153 1455/658/1156 -f 1452/660/1155 1455/658/1156 1466/667/1153 -f 1466/667/1153 1449/668/1154 1452/660/1155 -f 1458/739/1229 1456/740/1229 1460/741/1229 -f 1456/740/1229 1453/742/1229 1460/741/1229 -f 1454/743/1229 1453/742/1229 1456/740/1229 -f 1460/741/1229 1453/742/1229 1462/744/1229 -f 1467/668/1154 1468/667/1167 1469/662/1165 -f 1469/662/1165 1470/660/1155 1467/668/1154 -f 1470/660/1155 1469/662/1165 1471/659/1166 -f 1471/659/1166 1472/657/1157 1470/660/1155 -f 1473/658/1156 1470/660/1155 1472/657/1157 -f 1472/657/1157 1474/663/1158 1473/658/1156 -f 1475/664/1159 1473/658/1156 1474/663/1158 -f 1474/663/1158 1476/657/1160 1475/664/1159 -f 1477/658/1161 1475/664/1159 1476/657/1160 -f 1476/657/1160 1478/659/1162 1477/658/1161 -f 1479/660/1163 1477/658/1161 1478/659/1162 -f 1478/659/1162 1480/661/1164 1479/660/1163 -f 1469/662/1165 1479/660/1163 1480/661/1164 -f 1480/661/1164 1471/659/1166 1469/662/1165 -f 1479/660/1163 1469/662/1165 1468/667/1167 -f 1468/667/1167 1481/666/1168 1479/660/1163 -f 1477/658/1161 1479/660/1163 1481/666/1168 -f 1481/666/1168 1482/665/1169 1477/658/1161 -f 1475/664/1159 1477/658/1161 1482/665/1169 -f 1482/665/1169 1483/666/1170 1475/664/1159 -f 1473/658/1156 1475/664/1159 1483/666/1170 -f 1483/666/1170 1484/667/1153 1473/658/1156 -f 1470/660/1155 1473/658/1156 1484/667/1153 -f 1484/667/1153 1467/668/1154 1470/660/1155 -f 1476/739/1229 1474/740/1229 1478/741/1229 -f 1474/740/1229 1471/742/1229 1478/741/1229 -f 1472/743/1229 1471/742/1229 1474/740/1229 -f 1478/741/1229 1471/742/1229 1480/744/1229 -f 1485/668/1154 1486/667/1167 1487/662/1165 -f 1487/662/1165 1488/660/1155 1485/668/1154 -f 1488/660/1155 1487/662/1165 1489/659/1166 -f 1489/659/1166 1490/657/1157 1488/660/1155 -f 1491/658/1156 1488/660/1155 1490/657/1157 -f 1490/657/1157 1492/663/1158 1491/658/1156 -f 1493/664/1159 1491/658/1156 1492/663/1158 -f 1492/663/1158 1494/657/1160 1493/664/1159 -f 1495/658/1161 1493/664/1159 1494/657/1160 -f 1494/657/1160 1496/659/1162 1495/658/1161 -f 1497/660/1163 1495/658/1161 1496/659/1162 -f 1496/659/1162 1498/661/1164 1497/660/1163 -f 1487/662/1165 1497/660/1163 1498/661/1164 -f 1498/661/1164 1489/659/1166 1487/662/1165 -f 1497/660/1163 1487/662/1165 1486/667/1167 -f 1486/667/1167 1499/666/1168 1497/660/1163 -f 1495/658/1161 1497/660/1163 1499/666/1168 -f 1499/666/1168 1500/665/1169 1495/658/1161 -f 1493/664/1159 1495/658/1161 1500/665/1169 -f 1500/665/1169 1501/666/1170 1493/664/1159 -f 1491/658/1156 1493/664/1159 1501/666/1170 -f 1501/666/1170 1502/667/1153 1491/658/1156 -f 1488/660/1155 1491/658/1156 1502/667/1153 -f 1502/667/1153 1485/668/1154 1488/660/1155 -f 1494/739/1229 1492/740/1229 1496/741/1229 -f 1492/740/1229 1489/742/1229 1496/741/1229 -f 1490/743/1229 1489/742/1229 1492/740/1229 -f 1496/741/1229 1489/742/1229 1498/744/1229 -f 1503/668/1154 1504/667/1167 1505/662/1165 -f 1505/662/1165 1506/660/1155 1503/668/1154 -f 1506/660/1155 1505/662/1165 1507/659/1166 -f 1507/659/1166 1508/657/1157 1506/660/1155 -f 1509/658/1156 1506/660/1155 1508/657/1157 -f 1508/657/1157 1510/663/1158 1509/658/1156 -f 1511/664/1159 1509/658/1156 1510/663/1158 -f 1510/663/1158 1512/657/1160 1511/664/1159 -f 1513/658/1161 1511/664/1159 1512/657/1160 -f 1512/657/1160 1514/659/1162 1513/658/1161 -f 1515/660/1163 1513/658/1161 1514/659/1162 -f 1514/659/1162 1516/661/1164 1515/660/1163 -f 1505/662/1165 1515/660/1163 1516/661/1164 -f 1516/661/1164 1507/659/1166 1505/662/1165 -f 1515/660/1163 1505/662/1165 1504/667/1167 -f 1504/667/1167 1517/666/1168 1515/660/1163 -f 1513/658/1161 1515/660/1163 1517/666/1168 -f 1517/666/1168 1518/665/1169 1513/658/1161 -f 1511/664/1159 1513/658/1161 1518/665/1169 -f 1518/665/1169 1519/666/1170 1511/664/1159 -f 1509/658/1156 1511/664/1159 1519/666/1170 -f 1519/666/1170 1520/667/1153 1509/658/1156 -f 1506/660/1155 1509/658/1156 1520/667/1153 -f 1520/667/1153 1503/668/1154 1506/660/1155 -f 1512/739/1229 1510/740/1229 1514/741/1229 -f 1510/740/1229 1507/742/1229 1514/741/1229 -f 1508/743/1229 1507/742/1229 1510/740/1229 -f 1514/741/1229 1507/742/1229 1516/744/1229 -f 1521/822/1525 1522/820/1526 1523/821/1525 -f 1524/819/1527 1523/821/1525 1522/820/1526 -f 1522/820/1526 1525/818/1528 1524/819/1527 -f 1526/817/1529 1524/819/1527 1525/818/1528 -f 1525/818/1528 1527/816/1530 1526/817/1529 -f 1528/815/1530 1526/817/1529 1527/816/1530 -f 1529/830/1531 1530/829/1531 1531/828/1532 -f 1532/827/1533 1531/828/1532 1530/829/1531 -f 1531/828/1532 1532/827/1533 1533/826/1534 -f 1534/824/1535 1533/826/1534 1532/827/1533 -f 1533/826/1534 1534/824/1535 1535/825/1536 -f 1536/823/1536 1535/825/1536 1534/824/1535 -f 1527/833/1537 1530/831/1537 1528/834/1537 -f 1529/832/1537 1528/834/1537 1530/831/1537 -f 1521/822/1538 1536/823/1538 1522/820/1538 -f 1534/824/1538 1522/820/1538 1536/823/1538 -f 1522/820/1538 1534/824/1538 1525/818/1538 -f 1532/827/1538 1525/818/1538 1534/824/1538 -f 1525/818/1538 1532/827/1538 1527/816/1538 -f 1530/829/1538 1527/816/1538 1532/827/1538 -f 1523/834/1539 1535/832/1539 1521/833/1539 -f 1536/831/1539 1521/833/1539 1535/832/1539 -f 1537/667/1121 1538/660/1112 1539/668/1120 -f 1540/662/1110 1539/668/1120 1538/660/1112 -f 1539/668/1120 1540/662/1110 1541/667/1119 -f 1542/660/1108 1541/667/1119 1540/662/1110 -f 1541/667/1119 1542/660/1108 1543/666/1118 -f 1544/658/1106 1543/666/1118 1542/660/1108 -f 1543/666/1118 1544/658/1106 1545/665/1117 -f 1546/664/1116 1545/665/1117 1544/658/1106 -f 1545/665/1117 1546/664/1116 1547/666/1122 -f 1548/658/1114 1547/666/1122 1546/664/1116 -f 1547/666/1122 1548/658/1114 1537/667/1121 -f 1538/660/1112 1537/667/1121 1548/658/1114 -f 1548/658/1114 1549/657/1113 1538/660/1112 -f 1550/659/1111 1538/660/1112 1549/657/1113 -f 1538/660/1112 1550/659/1111 1540/662/1110 -f 1551/661/1109 1540/662/1110 1550/659/1111 -f 1540/662/1110 1551/661/1109 1542/660/1108 -f 1552/659/1107 1542/660/1108 1551/661/1109 -f 1542/660/1108 1552/659/1107 1544/658/1106 -f 1553/657/1105 1544/658/1106 1552/659/1107 -f 1544/658/1106 1553/657/1105 1546/664/1116 -f 1554/663/1115 1546/664/1116 1553/657/1105 -f 1546/664/1116 1554/663/1115 1548/658/1114 -f 1549/657/1113 1548/658/1114 1554/663/1115 -f 1549/743/1230 1554/740/1230 1550/742/1230 -f 1554/740/1230 1552/741/1230 1550/742/1230 -f 1553/739/1230 1552/741/1230 1554/740/1230 -f 1550/742/1230 1552/741/1230 1551/744/1230 -f 1555/667/1121 1556/660/1112 1557/668/1120 -f 1558/662/1110 1557/668/1120 1556/660/1112 -f 1557/668/1120 1558/662/1110 1559/667/1119 -f 1560/660/1108 1559/667/1119 1558/662/1110 -f 1559/667/1119 1560/660/1108 1561/666/1118 -f 1562/658/1106 1561/666/1118 1560/660/1108 -f 1561/666/1118 1562/658/1106 1563/665/1117 -f 1564/664/1116 1563/665/1117 1562/658/1106 -f 1563/665/1117 1564/664/1116 1565/666/1122 -f 1566/658/1114 1565/666/1122 1564/664/1116 -f 1565/666/1122 1566/658/1114 1555/667/1121 -f 1556/660/1112 1555/667/1121 1566/658/1114 -f 1566/658/1114 1567/657/1113 1556/660/1112 -f 1568/659/1111 1556/660/1112 1567/657/1113 -f 1556/660/1112 1568/659/1111 1558/662/1110 -f 1569/661/1109 1558/662/1110 1568/659/1111 -f 1558/662/1110 1569/661/1109 1560/660/1108 -f 1570/659/1107 1560/660/1108 1569/661/1109 -f 1560/660/1108 1570/659/1107 1562/658/1106 -f 1571/657/1105 1562/658/1106 1570/659/1107 -f 1562/658/1106 1571/657/1105 1564/664/1116 -f 1572/663/1115 1564/664/1116 1571/657/1105 -f 1564/664/1116 1572/663/1115 1566/658/1114 -f 1567/657/1113 1566/658/1114 1572/663/1115 -f 1567/743/1230 1572/740/1230 1568/742/1230 -f 1572/740/1230 1570/741/1230 1568/742/1230 -f 1571/739/1230 1570/741/1230 1572/740/1230 -f 1568/742/1230 1570/741/1230 1569/744/1230 -f 1573/667/1121 1574/660/1112 1575/668/1120 -f 1576/662/1110 1575/668/1120 1574/660/1112 -f 1575/668/1120 1576/662/1110 1577/667/1119 -f 1578/660/1108 1577/667/1119 1576/662/1110 -f 1577/667/1119 1578/660/1108 1579/666/1118 -f 1580/658/1106 1579/666/1118 1578/660/1108 -f 1579/666/1118 1580/658/1106 1581/665/1117 -f 1582/664/1116 1581/665/1117 1580/658/1106 -f 1581/665/1117 1582/664/1116 1583/666/1122 -f 1584/658/1114 1583/666/1122 1582/664/1116 -f 1583/666/1122 1584/658/1114 1573/667/1121 -f 1574/660/1112 1573/667/1121 1584/658/1114 -f 1584/658/1114 1585/657/1113 1574/660/1112 -f 1586/659/1111 1574/660/1112 1585/657/1113 -f 1574/660/1112 1586/659/1111 1576/662/1110 -f 1587/661/1109 1576/662/1110 1586/659/1111 -f 1576/662/1110 1587/661/1109 1578/660/1108 -f 1588/659/1107 1578/660/1108 1587/661/1109 -f 1578/660/1108 1588/659/1107 1580/658/1106 -f 1589/657/1105 1580/658/1106 1588/659/1107 -f 1580/658/1106 1589/657/1105 1582/664/1116 -f 1590/663/1115 1582/664/1116 1589/657/1105 -f 1582/664/1116 1590/663/1115 1584/658/1114 -f 1585/657/1113 1584/658/1114 1590/663/1115 -f 1585/743/1230 1590/740/1230 1586/742/1230 -f 1590/740/1230 1588/741/1230 1586/742/1230 -f 1589/739/1230 1588/741/1230 1590/740/1230 -f 1586/742/1230 1588/741/1230 1587/744/1230 -f 1591/667/1121 1592/660/1112 1593/668/1120 -f 1594/662/1110 1593/668/1120 1592/660/1112 -f 1593/668/1120 1594/662/1110 1595/667/1119 -f 1596/660/1108 1595/667/1119 1594/662/1110 -f 1595/667/1119 1596/660/1108 1597/666/1118 -f 1598/658/1106 1597/666/1118 1596/660/1108 -f 1597/666/1118 1598/658/1106 1599/665/1117 -f 1600/664/1116 1599/665/1117 1598/658/1106 -f 1599/665/1117 1600/664/1116 1601/666/1122 -f 1602/658/1114 1601/666/1122 1600/664/1116 -f 1601/666/1122 1602/658/1114 1591/667/1121 -f 1592/660/1112 1591/667/1121 1602/658/1114 -f 1602/658/1114 1603/657/1113 1592/660/1112 -f 1604/659/1111 1592/660/1112 1603/657/1113 -f 1592/660/1112 1604/659/1111 1594/662/1110 -f 1605/661/1109 1594/662/1110 1604/659/1111 -f 1594/662/1110 1605/661/1109 1596/660/1108 -f 1606/659/1107 1596/660/1108 1605/661/1109 -f 1596/660/1108 1606/659/1107 1598/658/1106 -f 1607/657/1105 1598/658/1106 1606/659/1107 -f 1598/658/1106 1607/657/1105 1600/664/1116 -f 1608/663/1115 1600/664/1116 1607/657/1105 -f 1600/664/1116 1608/663/1115 1602/658/1114 -f 1603/657/1113 1602/658/1114 1608/663/1115 -f 1603/743/1230 1608/740/1230 1604/742/1230 -f 1608/740/1230 1606/741/1230 1604/742/1230 -f 1607/739/1230 1606/741/1230 1608/740/1230 -f 1604/742/1230 1606/741/1230 1605/744/1230 -f 1609/667/1121 1610/660/1112 1611/668/1120 -f 1612/662/1110 1611/668/1120 1610/660/1112 -f 1611/668/1120 1612/662/1110 1613/667/1119 -f 1614/660/1108 1613/667/1119 1612/662/1110 -f 1613/667/1119 1614/660/1108 1615/666/1118 -f 1616/658/1106 1615/666/1118 1614/660/1108 -f 1615/666/1118 1616/658/1106 1617/665/1117 -f 1618/664/1116 1617/665/1117 1616/658/1106 -f 1617/665/1117 1618/664/1116 1619/666/1122 -f 1620/658/1114 1619/666/1122 1618/664/1116 -f 1619/666/1122 1620/658/1114 1609/667/1121 -f 1610/660/1112 1609/667/1121 1620/658/1114 -f 1620/658/1114 1621/657/1113 1610/660/1112 -f 1622/659/1111 1610/660/1112 1621/657/1113 -f 1610/660/1112 1622/659/1111 1612/662/1110 -f 1623/661/1109 1612/662/1110 1622/659/1111 -f 1612/662/1110 1623/661/1109 1614/660/1108 -f 1624/659/1107 1614/660/1108 1623/661/1109 -f 1614/660/1108 1624/659/1107 1616/658/1106 -f 1625/657/1105 1616/658/1106 1624/659/1107 -f 1616/658/1106 1625/657/1105 1618/664/1116 -f 1626/663/1115 1618/664/1116 1625/657/1105 -f 1618/664/1116 1626/663/1115 1620/658/1114 -f 1621/657/1113 1620/658/1114 1626/663/1115 -f 1621/743/1230 1626/740/1230 1622/742/1230 -f 1626/740/1230 1624/741/1230 1622/742/1230 -f 1625/739/1230 1624/741/1230 1626/740/1230 -f 1622/742/1230 1624/741/1230 1623/744/1230 -f 1102/620/1540 1627/933/1540 1055/621/1540 -f 1628/933/1541 1055/621/1541 1627/933/1541 -f 1101/619/1542 1629/933/1542 1102/620/1542 -f 1627/933/1543 1102/620/1543 1629/933/1543 -f 998/572/1544 1630/933/1544 1101/619/1544 -f 1629/933/1545 1101/619/1545 1630/933/1545 -f 997/571/1546 1631/933/1546 998/572/1546 -f 1630/933/1547 998/572/1547 1631/933/1547 -f 996/570/1548 1632/934/1548 997/571/1548 -f 1631/933/1549 997/571/1549 1632/934/1549 -f 923/534/1550 1633/934/1550 996/570/1550 -f 1632/934/1551 996/570/1551 1633/934/1551 -f 921/532/1552 1634/934/1552 923/534/1552 -f 1633/934/1553 923/534/1553 1634/934/1553 -f 919/530/1554 1635/935/1554 921/532/1554 -f 1634/934/1552 921/532/1552 1635/935/1552 -f 792/466/1555 1636/935/1555 919/530/1555 -f 1635/935/1556 919/530/1556 1636/935/1556 -f 793/467/1557 1637/935/1557 792/466/1557 -f 1636/935/1558 792/466/1558 1637/935/1558 -f 756/437/1559 1638/935/1559 793/467/1559 -f 1637/935/1560 793/467/1560 1638/935/1560 -f 983/569/1561 1639/935/1561 756/437/1561 -f 1638/935/1562 756/437/1562 1639/935/1562 -f 982/437/1563 1640/935/1563 983/569/1563 -f 1639/935/1564 983/569/1564 1640/935/1564 -f 981/467/1066 1641/935/1066 982/437/1066 -f 1640/935/1565 982/437/1565 1641/935/1565 -f 979/466/1566 1642/935/1566 981/467/1566 -f 1641/935/1567 981/467/1567 1642/935/1567 -f 977/530/1568 1643/935/1568 979/466/1568 -f 1642/935/1569 979/466/1569 1643/935/1569 -f 975/532/1570 1644/934/1570 977/530/1570 -f 1643/935/1571 977/530/1571 1644/934/1571 -f 963/534/1572 1645/934/1572 975/532/1572 -f 1644/934/1573 975/532/1573 1645/934/1573 -f 1067/570/1574 1646/934/1574 963/534/1574 -f 1645/934/1575 963/534/1575 1646/934/1575 -f 1066/571/1576 1647/933/1576 1067/570/1576 -f 1646/934/1577 1067/570/1577 1647/933/1577 -f 1064/572/1578 1648/933/1578 1066/571/1578 -f 1647/933/1579 1066/571/1579 1648/933/1579 -f 1053/619/1580 1649/933/1580 1064/572/1580 -f 1648/933/1581 1064/572/1581 1649/933/1581 -f 1054/620/1582 1650/933/1582 1053/619/1582 -f 1649/933/1583 1053/619/1583 1650/933/1583 -f 1055/621/1584 1628/933/1584 1054/620/1584 -f 1650/933/1585 1054/620/1585 1628/933/1585 -f 1627/936/1586 1441/937/1586 1628/938/1586 -f 1440/938/1587 1628/938/1587 1441/937/1587 -f 1629/937/1588 1441/937/1588 1627/936/1588 -f 1630/939/1589 1438/940/1589 1629/937/1589 -f 1441/937/1590 1629/937/1590 1438/940/1590 -f 1631/939/1591 1438/940/1591 1630/939/1591 -f 1632/941/1592 1436/942/1592 1631/943/1592 -f 1438/944/1593 1631/943/1593 1436/942/1593 -f 1633/945/1594 1434/946/1594 1632/941/1594 -f 1436/942/1595 1632/941/1595 1434/946/1595 -f 1634/947/961 1651/948/961 1633/945/961 -f 1434/946/961 1633/945/961 1651/948/961 -f 1635/949/1596 1430/950/1596 1634/947/1596 -f 1651/948/1597 1634/947/1597 1430/950/1597 -f 1431/951/1598 1430/950/1598 1635/949/1598 -f 1642/939/1599 1433/952/1599 1641/936/1599 -f 1641/936/1600 1433/952/1600 1640/953/1600 -f 1640/953/1601 1433/952/1601 1639/954/1601 -f 1639/954/1602 1433/952/1602 1638/955/1602 -f 1638/955/1603 1433/952/1603 1637/947/1603 -f 1433/952/1604 1431/956/1604 1637/947/1604 -f 1637/947/1605 1431/956/1605 1636/957/1605 -f 1643/958/1606 1433/952/1606 1642/939/1606 -f 1644/947/1607 1652/948/1607 1643/949/1607 -f 1432/950/1608 1643/949/1608 1652/948/1608 -f 1645/959/1609 1435/946/1609 1644/947/1609 -f 1652/948/1609 1644/947/1609 1435/946/1609 -f 1646/941/1610 1437/942/1610 1645/959/1610 -f 1435/946/1611 1645/959/1611 1437/942/1611 -f 1647/943/1612 1439/944/1612 1646/941/1612 -f 1437/942/1613 1646/941/1613 1439/944/1613 -f 1648/960/1614 1439/961/1614 1647/960/1614 -f 1649/960/1615 1442/957/1615 1648/960/1615 -f 1439/961/1616 1648/960/1616 1442/957/1616 -f 1650/962/1617 1442/957/1617 1649/960/1617 -f 1628/938/1618 1440/938/1618 1650/962/1618 -f 1442/957/1619 1650/962/1619 1440/938/1619 -f 1435/723/1620 1434/963/1620 1652/415/1620 -f 1434/963/1620 1651/724/1620 1652/415/1620 -f 1651/724/1621 1430/814/1621 1652/415/1621 -f 1652/415/1621 1430/814/1621 1432/725/1621 -f 1653/964/1622 1654/965/1622 1655/966/1622 -f 1656/967/1622 1655/966/1622 1654/965/1622 -f 1657/968/1028 1658/969/1028 1653/964/1028 -f 1654/965/1028 1653/964/1028 1658/969/1028 -f 1659/970/1623 1660/971/1623 1657/968/1623 -f 1658/969/1623 1657/968/1623 1660/971/1623 -f 1655/966/1624 1656/967/1624 1661/878/1624 -f 1662/905/1624 1661/878/1624 1656/967/1624 -f 1655/972/1625 1661/973/1626 1653/974/1627 -f 1663/975/1628 1653/974/1627 1661/973/1626 -f 1664/975/1629 1662/973/1630 1654/974/1631 -f 1656/972/1632 1654/974/1631 1662/973/1630 -f 1664/976/1633 1663/977/1633 1662/967/1633 -f 1661/966/1633 1662/967/1633 1663/977/1633 -f 1432/950/1634 1433/958/1634 1643/949/1634 -f 1636/957/1635 1431/956/1635 1635/978/1635 -f 1410/979/1636 1409/980/1636 1108/979/1636 -f 1408/850/1637 1108/979/1637 1409/980/1637 -f 1122/981/1638 1121/982/1638 1107/983/1638 -f 1123/912/1639 1418/914/1639 1121/982/1639 -f 1421/984/1640 1422/985/1640 1418/914/1640 -f 1418/914/1641 1422/985/1641 1121/982/1641 -f 1423/986/1642 1410/878/1642 1422/985/1642 -f 1422/985/1643 1410/878/1643 1121/982/1643 -f 1121/982/1644 1410/878/1644 1107/983/1644 -f 1107/983/1645 1410/878/1645 1108/987/1645 -f 1145/985/1646 1143/984/1646 1147/988/1646 -f 1162/914/1647 1401/914/1647 1143/984/1647 -f 1399/989/1648 1397/990/1648 1401/914/1648 -f 1401/914/1649 1397/990/1649 1143/984/1649 -f 1143/984/1650 1397/990/1650 1147/988/1650 -f 1397/990/1651 1394/850/1651 1147/988/1651 -f 1147/988/1652 1394/850/1652 1159/877/1652 -f 1162/849/1653 1164/991/1653 1401/848/1653 -f 1230/731/1654 1228/374/1655 1665/731/1654 -f 1666/374/1656 1665/731/1654 1228/374/1655 -f 1228/374/1655 1225/391/1657 1666/374/1656 -f 1667/391/1658 1666/374/1656 1225/391/1657 -f 1225/391/1657 1224/730/1659 1667/391/1658 -f 1668/730/1659 1667/391/1658 1224/730/1659 -f 1665/731/611 1666/374/614 1669/731/611 -f 1670/374/614 1669/731/611 1666/374/614 -f 1666/374/614 1667/391/612 1670/374/614 -f 1671/391/612 1670/374/614 1667/391/612 -f 1667/391/612 1668/730/611 1671/391/612 -f 1672/730/611 1671/391/612 1668/730/611 -f 1669/731/1660 1670/374/1661 1231/731/1660 -f 1229/374/1662 1231/731/1660 1670/374/1661 -f 1670/374/1661 1671/391/1663 1229/374/1662 -f 1227/391/1664 1229/374/1662 1671/391/1663 -f 1671/391/1663 1672/730/1665 1227/391/1664 -f 1226/730/1665 1227/391/1664 1672/730/1665 -f 1201/992/1149 1277/993/1149 1200/994/1149 -f 1275/995/1666 1200/994/1666 1277/993/1666 -f 1203/996/1667 1279/997/1667 1201/992/1667 -f 1277/993/1668 1201/992/1668 1279/997/1668 -f 1281/998/1669 1279/997/1669 1205/999/1669 -f 1203/996/1670 1205/999/1670 1279/997/1670 -f 1207/1000/1671 1283/1001/1671 1205/999/1671 -f 1281/998/1672 1205/999/1672 1283/1001/1672 -f 1208/1002/913 1284/1003/913 1207/1000/913 -f 1283/1001/1673 1207/1000/1673 1284/1003/1673 -f 1214/1004/1674 1286/1005/1674 1208/1002/1674 -f 1286/1005/1675 1284/1003/1675 1208/1002/1675 -f 1307/1006/1676 1293/1002/1676 1299/1007/1676 -f 1238/1008/1677 1239/1009/1677 1313/994/1677 -f 1314/1010/1678 1313/994/1678 1239/1009/1678 -f 1239/1009/1679 1241/996/1679 1314/1010/1679 -f 1309/1011/1680 1314/1010/1680 1241/996/1680 -f 1241/996/1681 1243/999/1681 1309/1011/1681 -f 1304/1012/1682 1309/1011/1682 1243/999/1682 -f 1304/1012/1683 1243/999/1683 1305/1013/1683 -f 1245/1000/1684 1305/1013/1684 1243/999/1684 -f 1245/1000/1685 1293/1002/1685 1305/1013/1685 -f 1307/1006/1686 1305/1013/1686 1293/1002/1686 -f 1673/417/1687 1674/1014/1687 1675/417/1688 -f 1676/1014/1689 1675/417/1688 1674/1014/1687 -f 1675/417/1688 1676/1014/1689 1677/417/1690 -f 1678/1014/1690 1677/417/1690 1676/1014/1689 -f 1677/417/1691 1678/1014/1691 1679/417/1692 -f 1680/1014/1693 1679/417/1692 1678/1014/1691 -f 1679/417/1692 1680/1014/1693 1673/417/1694 -f 1674/1014/1694 1673/417/1694 1680/1014/1693 -f 1674/726/1695 1680/726/1695 1676/727/1695 -f 1678/727/1695 1676/727/1695 1680/726/1695 -f 1164/892/1696 1163/891/1697 1681/893/1698 -f 1163/891/1697 1161/866/1419 1681/893/1698 -f 1401/864/658 1681/893/1698 1161/866/1419 -# 1961 faces - -# -# object P_51_Mustang_Right_Wing_Flap -# - -v -4.86 -0.53 -0.60 -v -4.41 -0.27 3.38 -v -4.43 -0.76 3.40 -v -29.11 -0.39 3.17 -v -28.77 -0.08 6.47 -v -28.79 -0.68 6.50 -# 6 vertices - -vn 0.99 -0.05 -0.11 -vn -0.01 1.00 -0.09 -vn -0.00 1.00 -0.07 -vn -0.00 1.00 -0.06 -vn 0.13 0.05 0.99 -vn 0.13 0.03 0.99 -vn -0.01 -1.00 -0.09 -vn -0.01 -1.00 -0.08 -vn -0.01 -1.00 -0.06 -vn -0.99 0.05 0.10 -# 10 vertex normals - -vt 0.29 0.02 0.00 -vt 0.23 0.01 0.00 -vt 0.23 0.02 0.00 -vt 0.71 0.15 0.00 -vt 0.71 0.21 0.00 -vt 0.39 0.10 0.00 -vt 0.38 0.16 0.00 -vt 0.23 0.00 0.00 -vt 0.46 0.00 0.00 -vt 0.46 0.01 0.00 -vt 0.05 0.31 0.00 -vt 0.01 0.31 0.00 -vt 0.06 0.05 0.00 -vt 0.01 0.04 0.00 -vt 0.33 0.02 0.00 -vt 0.28 0.01 0.00 -vt 0.33 0.01 0.00 -# 17 texture coords - -g P_51_Mustang_Right_Wing_Flap -f 1682/1015/1699 1683/1016/1699 1684/1017/1699 -f 1685/1018/1700 1686/1019/1700 1682/1020/1701 -f 1683/1021/1702 1682/1020/1701 1686/1019/1700 -f 1686/1022/1703 1687/1016/1703 1683/1023/1704 -f 1684/1024/1704 1683/1023/1704 1687/1016/1703 -f 1687/1025/1705 1685/1026/1706 1684/1027/1707 -f 1682/1028/1707 1684/1027/1707 1685/1026/1706 -f 1686/1029/1708 1685/1030/1708 1687/1031/1708 -# 8 faces - -# -# object P_51_Mustang_Left_Wing -# - -v 21.73 -0.34 5.07 -v 29.47 -0.26 5.88 -v 29.43 -1.11 5.94 -v 13.89 -0.70 20.02 -v 13.32 0.44 17.79 -v 8.22 -0.70 21.64 -v 6.69 0.53 18.92 -v 13.59 0.59 15.01 -v 6.67 0.70 16.38 -v 13.51 0.45 11.97 -v 6.64 0.56 12.08 -v 12.99 0.26 8.88 -v 6.75 0.38 9.22 -v 12.85 -0.11 6.05 -v 18.46 -0.07 6.17 -v 18.38 -0.30 4.71 -v 18.77 0.27 8.57 -v 22.48 0.10 8.18 -v 18.54 0.45 12.11 -v 22.26 0.41 12.21 -v 18.69 0.44 14.67 -v 22.30 0.37 14.75 -v 19.28 -0.74 18.90 -v 18.83 0.28 17.17 -v 22.46 0.18 16.71 -v 23.13 -0.75 18.50 -v 30.30 -0.03 16.07 -v 30.77 -0.79 17.69 -v 29.80 0.01 8.15 -v 29.00 0.22 12.29 -v 29.20 0.27 14.36 -v 6.63 -2.09 14.77 -v 13.47 -1.97 15.15 -v 6.91 -1.78 18.50 -v 13.40 -1.81 12.10 -v 18.43 -1.86 12.23 -v 18.67 -1.64 8.68 -v 22.40 -1.51 8.27 -v 21.69 -1.11 5.12 -v 29.73 -1.49 8.23 -v 28.90 -1.73 12.40 -v 22.15 -1.85 12.34 -v 22.20 -1.84 14.87 -v 18.58 -1.87 14.79 -v 18.75 -1.79 16.77 -v 13.22 -1.77 17.34 -v 7.17 -1.73 19.64 -v 22.37 -1.71 16.82 -v 30.16 -1.61 16.17 -v 29.10 -1.79 14.47 -v 18.09 -0.19 18.03 -v 18.07 -0.12 19.96 -v 18.47 -0.42 18.05 -v 17.66 -0.35 19.98 -v 17.68 -0.41 18.05 -v 17.64 -0.81 20.03 -v 17.66 -0.87 18.10 -v 18.02 -1.05 20.04 -v 18.04 -1.11 18.11 -v 18.43 -0.82 20.02 -v 18.45 -0.88 18.09 -v 18.45 -0.36 19.98 -v 19.42 -0.43 17.94 -v 19.40 -0.37 19.87 -v 19.82 -0.20 17.92 -v 19.37 -0.83 19.91 -v 19.40 -0.89 17.98 -v 19.76 -1.06 19.93 -v 19.78 -1.12 18.00 -v 20.16 -0.83 19.90 -v 20.18 -0.90 17.98 -v 20.18 -0.37 19.86 -v 20.20 -0.44 17.93 -v 19.80 -0.14 19.84 -v 21.31 -0.91 17.79 -v 21.29 -0.85 19.72 -v 21.33 -0.45 17.75 -v 21.67 -1.08 19.74 -v 21.69 -1.15 17.81 -v 22.07 -0.85 19.71 -v 22.09 -0.92 17.79 -v 22.09 -0.39 19.67 -v 22.12 -0.46 17.74 -v 21.71 -0.16 19.65 -v 21.73 -0.22 17.73 -v 21.31 -0.39 19.68 -v 6.36 -1.85 12.28 -v 12.90 -1.58 8.99 -v 18.40 -1.29 6.24 -v 18.34 -1.03 4.76 -v 12.79 -1.19 6.11 -v 12.60 -0.96 4.14 -v 6.61 -1.24 6.37 -v 6.45 -0.95 3.49 -v 6.61 -1.63 9.28 -v 6.54 -0.19 3.45 -v 12.64 -0.25 4.10 -v 6.70 0.02 6.36 -v 25.72 -2.97 15.17 -v 26.04 -2.97 15.16 -v 25.78 -1.70 14.94 -v 26.10 -1.70 14.93 -v 25.71 -3.12 14.67 -v 26.03 -3.12 14.66 -v 26.02 -3.16 10.99 -v 25.71 -3.16 10.99 -v 25.78 -1.72 9.85 -v 26.09 -1.72 9.85 -v 49.14 -0.79 5.08 -v 48.24 -0.91 6.93 -v 48.25 -0.61 6.89 -v 48.48 -0.39 13.06 -v 45.09 -0.22 13.27 -v 48.37 -0.52 14.30 -v 49.79 -0.70 13.22 -v 49.65 -0.81 14.45 -v 50.18 -0.86 13.17 -v 49.94 -0.86 14.46 -v 49.46 -0.86 15.18 -v 48.14 -0.86 15.82 -v 45.11 -0.50 14.61 -v 44.86 -0.85 16.21 -v 37.77 -0.27 15.37 -v 37.66 -0.83 16.94 -v 37.87 0.03 13.78 -v 37.92 0.07 11.77 -v 37.54 -0.12 8.23 -v 44.74 -0.34 7.95 -v 44.69 -0.53 6.74 -v 47.69 -0.50 8.05 -v 49.33 -0.63 7.63 -v 49.65 -0.83 7.70 -v 49.74 -0.63 11.09 -v 50.12 -0.85 11.07 -v 48.01 -0.49 11.12 -v 44.83 -0.18 11.19 -v 37.83 -1.66 11.86 -v 44.77 -1.59 11.25 -v 37.86 -1.64 13.87 -v 37.71 -1.53 15.44 -v 44.80 -1.48 14.64 -v 48.34 -1.08 14.45 -v 44.94 -1.58 13.33 -v 48.44 -1.09 13.22 -v 47.98 -1.08 11.27 -v 49.72 -0.95 11.28 -v 49.21 -0.88 7.78 -v 47.66 -0.96 8.19 -v 44.69 -1.31 7.98 -v 44.66 -1.07 6.82 -v 37.47 -1.43 8.30 -v 37.60 -1.17 6.48 -v 49.77 -1.00 13.41 -v 49.64 -0.94 14.48 -v 37.65 -0.33 6.41 -v 29.53 -2.84 10.92 -v 29.47 -2.71 15.01 -v 29.60 -1.55 9.80 -v 29.51 -1.73 14.90 -v 29.69 -1.73 14.90 -v 29.64 -2.71 15.01 -v 29.78 -1.55 9.80 -v 29.70 -2.84 10.92 -v 32.08 -2.73 14.99 -v 32.26 -2.73 14.99 -v 32.13 -1.70 14.87 -v 32.31 -1.70 14.87 -v 32.14 -2.86 10.90 -v 32.32 -2.87 10.90 -v 32.22 -1.51 9.77 -v 32.40 -1.51 9.77 -v 34.83 -2.75 14.96 -v 35.01 -2.75 14.96 -v 34.88 -1.62 14.83 -v 35.06 -1.62 14.83 -v 34.89 -2.89 10.87 -v 35.07 -2.89 10.87 -v 34.97 -1.51 9.74 -v 35.15 -1.51 9.74 -v 25.90 -3.10 16.05 -v 25.99 -3.13 9.38 -v 24.57 -3.45 16.08 -v 27.29 -3.50 9.39 -v 27.20 -3.47 16.06 -v 28.21 -4.49 9.44 -v 28.12 -4.46 16.11 -v 28.50 -5.83 9.52 -v 28.41 -5.80 16.19 -v 28.08 -7.16 9.61 -v 28.00 -7.14 16.28 -v 27.07 -8.14 9.68 -v 26.98 -8.11 16.36 -v 25.73 -8.49 9.72 -v 25.65 -8.46 16.39 -v 24.43 -8.12 9.71 -v 24.35 -8.09 16.38 -v 23.51 -7.13 9.66 -v 23.43 -7.10 16.33 -v 23.22 -5.79 9.57 -v 23.14 -5.76 16.24 -v 23.64 -4.45 9.48 -v 23.56 -4.42 16.15 -v 24.65 -3.48 9.41 -v 25.98 -4.22 6.21 -v 25.18 -4.43 6.23 -v 24.57 -5.01 6.27 -v 24.32 -5.81 6.33 -v 24.50 -6.61 6.37 -v 25.04 -7.20 6.41 -v 25.82 -7.42 6.41 -v 26.62 -7.21 6.39 -v 27.23 -6.63 6.35 -v 27.48 -5.83 6.30 -v 25.96 -5.24 3.65 -v 25.66 -5.32 3.66 -v 27.30 -5.03 6.25 -v 26.75 -4.44 6.21 -v 26.25 -5.32 3.65 -v 25.93 -5.83 3.43 -v 25.44 -5.53 3.68 -v 25.35 -5.83 3.70 -v 25.41 -6.12 3.71 -v 25.62 -6.34 3.73 -v 25.90 -6.42 3.73 -v 26.20 -6.35 3.72 -v 26.42 -6.13 3.70 -v 26.52 -5.84 3.68 -v 26.45 -5.54 3.67 -v 23.60 -6.99 17.58 -v 23.33 -5.76 17.50 -v 23.72 -4.53 17.42 -v 24.65 -3.63 17.35 -v 25.88 -3.31 17.32 -v 27.08 -3.65 17.33 -v 27.92 -4.56 17.38 -v 28.19 -5.79 17.46 -v 27.80 -7.03 17.54 -v 26.87 -7.92 17.61 -v 23.89 -5.75 19.06 -v 24.18 -4.81 19.00 -v 24.72 -5.76 20.24 -v 24.83 -6.27 20.28 -v 24.09 -6.70 19.12 -v 25.64 -8.24 17.64 -v 24.44 -7.90 17.63 -v 24.74 -7.39 19.16 -v 25.18 -6.64 20.30 -v 25.72 -5.76 20.57 -v 24.88 -5.25 20.21 -v 24.89 -4.13 18.95 -v 25.83 -3.88 18.92 -v 26.75 -4.14 18.93 -v 27.39 -4.84 18.97 -v 27.60 -5.78 19.03 -v 27.30 -6.72 19.09 -v 26.59 -7.41 19.14 -v 25.65 -7.65 19.16 -v 25.68 -6.78 20.30 -v 26.19 -6.65 20.29 -v 26.57 -6.28 20.26 -v 26.73 -5.77 20.22 -v 26.62 -5.26 20.19 -v 26.27 -4.89 20.17 -v 25.77 -4.74 20.17 -v 25.27 -4.88 20.18 -v 29.89 -0.71 2.47 -# 266 vertices - -vn 0.10 -0.07 -0.99 -vn 0.10 0.89 0.44 -vn 0.06 0.97 0.24 -vn 0.09 0.92 0.39 -vn 0.05 0.98 0.21 -vn 0.02 1.00 0.01 -vn 0.02 1.00 0.02 -vn 0.01 1.00 -0.05 -vn 0.02 1.00 -0.05 -vn 0.00 1.00 -0.10 -vn 0.02 1.00 -0.09 -vn 0.01 0.99 -0.10 -vn 0.01 0.99 -0.15 -vn 0.02 0.99 -0.15 -vn 0.02 1.00 -0.10 -vn 0.02 0.99 -0.10 -vn 0.01 1.00 -0.03 -vn 0.02 1.00 -0.03 -vn 0.02 1.00 0.03 -vn 0.03 1.00 0.05 -vn 0.09 0.87 0.48 -vn 0.06 0.96 0.28 -vn 0.05 0.96 0.28 -vn 0.06 0.89 0.44 -vn 0.04 0.95 0.31 -vn 0.05 0.91 0.41 -vn 0.01 0.99 -0.12 -vn 0.01 1.00 -0.09 -vn 0.02 1.00 -0.04 -vn 0.02 1.00 0.08 -vn 0.01 -1.00 -0.01 -vn 0.01 -1.00 0.02 -vn 0.01 -1.00 0.07 -vn -0.00 -1.00 -0.06 -vn 0.01 -1.00 -0.04 -vn 0.00 -0.99 -0.10 -vn 0.02 -0.99 -0.10 -vn 0.01 -0.99 -0.14 -vn 0.00 -0.99 -0.16 -vn 0.00 -0.99 -0.11 -vn 0.01 -1.00 0.03 -vn 0.03 -0.97 0.23 -vn 0.04 -0.98 0.22 -vn 0.08 -0.97 0.23 -vn 0.13 -0.92 0.38 -vn 0.07 -0.93 0.36 -vn 0.05 -0.90 0.44 -vn 0.03 -0.96 0.28 -vn 0.05 -0.88 0.48 -vn 0.03 -0.94 0.33 -vn 0.04 -0.89 0.46 -vn 0.01 -1.00 0.04 -vn 0.88 0.48 -0.01 -vn -0.86 0.51 -0.03 -vn -0.84 0.54 -0.03 -vn -0.88 -0.48 0.01 -vn -0.89 -0.46 0.01 -vn -0.02 -1.00 0.03 -vn -0.01 -1.00 0.03 -vn 0.84 -0.54 0.03 -vn 0.86 -0.51 0.03 -vn 0.89 0.46 -0.01 -vn 0.00 -1.00 -0.09 -vn -0.01 -0.99 -0.10 -vn -0.01 -0.99 -0.16 -vn -0.01 -0.99 -0.17 -vn -0.00 -0.99 -0.13 -vn 0.01 -0.99 -0.12 -vn 0.01 -0.99 -0.10 -vn 0.11 -0.07 -0.99 -vn 0.02 1.00 -0.07 -vn 0.01 0.09 1.00 -vn 0.02 0.18 0.98 -vn 0.00 -0.96 0.29 -vn -0.00 -1.00 0.01 -vn -0.02 -0.62 -0.78 -vn -1.00 0.05 0.00 -vn 1.00 -0.05 -0.00 -vn 0.99 -0.06 -0.14 -vn 0.99 -0.06 -0.10 -vn 0.99 -0.05 -0.10 -vn 0.98 -0.04 0.19 -vn 0.85 -0.11 -0.52 -vn 0.83 -0.07 -0.55 -vn 0.94 -0.10 -0.32 -vn -1.00 0.08 0.01 -vn -1.00 0.07 0.01 -vn -0.99 0.12 0.05 -vn -1.00 0.08 0.06 -vn -1.00 0.01 0.00 -vn -0.98 0.13 0.12 -vn -0.99 0.11 -0.07 -vn -1.00 0.07 -0.04 -vn -0.88 -0.04 0.48 -vn -0.99 -0.11 0.08 -vn -1.00 0.01 0.01 -vn -0.96 -0.13 0.23 -vn -0.90 -0.01 -0.44 -vn 0.13 0.99 0.04 -vn 0.05 0.99 0.10 -vn 0.11 0.98 0.16 -vn 0.30 0.95 0.08 -vn 0.20 0.97 0.10 -vn 0.37 0.93 0.06 -vn 0.18 0.98 0.07 -vn 0.16 0.97 0.17 -vn 0.06 0.97 0.22 -vn 0.04 0.98 0.21 -vn 0.04 0.97 0.23 -vn 0.04 0.96 0.26 -vn 0.04 0.94 0.34 -vn 0.06 0.92 0.40 -vn 0.05 0.97 0.25 -vn 0.04 0.99 0.10 -vn 0.03 1.00 -0.02 -vn 0.02 1.00 -0.08 -vn 0.04 0.99 -0.11 -vn 0.04 0.99 -0.15 -vn 0.06 1.00 -0.05 -vn 0.05 1.00 -0.07 -vn 0.31 0.95 -0.06 -vn 0.17 0.98 -0.07 -vn 0.54 0.84 -0.08 -vn 0.31 0.95 -0.03 -vn 0.50 0.86 -0.04 -vn 0.08 1.00 -0.03 -vn 0.06 1.00 -0.02 -vn 0.01 -1.00 -0.03 -vn 0.08 -1.00 -0.04 -vn 0.02 -1.00 0.04 -vn 0.03 -0.97 0.25 -vn 0.03 -0.97 0.24 -vn 0.05 -0.89 0.45 -vn 0.04 -0.91 0.42 -vn 0.04 -0.93 0.38 -vn 0.06 -0.98 0.21 -vn 0.10 -0.97 0.22 -vn 0.11 -0.99 0.08 -vn 0.08 -1.00 0.03 -vn 0.10 -1.00 -0.01 -vn 0.11 -0.99 -0.03 -vn 0.07 -1.00 -0.03 -vn 0.05 -1.00 -0.03 -vn 0.09 -1.00 -0.03 -vn 0.05 -0.99 -0.13 -vn 0.06 -1.00 -0.04 -vn 0.03 -0.98 -0.20 -vn 0.01 -0.99 -0.11 -vn 0.00 -0.99 -0.17 -vn 0.11 -0.99 -0.04 -vn 0.24 -0.97 -0.02 -vn 0.24 -0.97 -0.03 -vn 0.31 -0.95 0.01 -vn 0.35 -0.94 0.05 -vn 0.22 -0.97 0.13 -vn 0.26 -0.96 0.09 -vn 0.11 -0.98 0.15 -vn 0.08 -0.98 0.15 -vn 0.08 -0.98 0.16 -vn 0.03 0.99 -0.11 -vn 0.02 0.99 -0.12 -vn 0.08 -1.00 0.01 -vn 0.10 -0.99 0.06 -vn -1.00 0.05 -0.02 -vn 1.00 -0.05 0.02 -vn 0.00 0.12 0.99 -vn -0.00 -1.00 0.03 -vn -0.00 -0.64 -0.77 -vn 0.00 0.11 0.99 -vn 0.05 -0.47 -0.88 -vn 0.07 -0.07 -1.00 -vn 0.05 0.63 -0.77 -vn 0.05 -0.19 -0.98 -vn 0.04 -0.08 -1.00 -vn 0.04 -0.11 -0.99 -vn -0.34 -0.94 0.05 -vn -0.19 0.98 -0.09 -vn -0.32 -0.95 0.05 -vn -0.99 0.06 0.14 -vn -1.00 -0.05 0.08 -vn -0.10 0.99 0.04 -vn -0.80 0.60 -0.05 -vn -0.85 0.11 0.52 -vn -0.94 0.10 0.32 -vn -0.00 -0.66 -0.75 -vn 0.01 1.00 -0.00 -vn -0.50 0.87 -0.01 -vn 0.52 0.85 0.00 -vn 0.88 0.47 0.01 -vn 0.89 0.46 0.01 -vn 1.00 -0.03 0.01 -vn 1.00 -0.05 0.01 -vn 0.86 -0.52 0.01 -vn 0.85 -0.53 0.01 -vn 0.50 -0.87 0.01 -vn 0.48 -0.88 0.01 -vn -0.01 -1.00 0.00 -vn -0.52 -0.85 -0.00 -vn -0.89 -0.46 -0.01 -vn -0.88 -0.47 -0.01 -vn -1.00 0.05 -0.01 -vn -1.00 0.03 -0.01 -vn -0.85 0.53 -0.01 -vn -0.86 0.52 -0.01 -vn -0.48 0.88 -0.01 -vn 0.01 0.95 -0.33 -vn 0.01 0.94 -0.35 -vn -0.48 0.82 -0.32 -vn -0.47 0.81 -0.34 -vn -0.82 0.47 -0.32 -vn -0.81 0.48 -0.34 -vn -0.95 0.01 -0.32 -vn -0.94 0.02 -0.34 -vn -0.83 -0.46 -0.32 -vn -0.83 -0.45 -0.34 -vn -0.49 -0.81 -0.32 -vn -0.48 -0.81 -0.34 -vn -0.02 -0.95 -0.31 -vn -0.01 -0.95 -0.33 -vn 0.45 -0.84 -0.30 -vn 0.45 -0.83 -0.32 -vn 0.80 -0.52 -0.29 -vn 0.80 -0.51 -0.31 -vn 0.95 -0.07 -0.30 -vn 0.94 -0.06 -0.32 -vn 0.00 0.73 -0.69 -vn -0.38 0.63 -0.68 -vn 0.85 0.42 -0.31 -vn 0.84 0.42 -0.33 -vn 0.50 0.80 -0.32 -vn 0.50 0.80 -0.34 -vn 0.39 0.61 -0.68 -vn -0.01 -0.05 -1.00 -vn -0.65 0.36 -0.67 -vn -0.75 -0.00 -0.66 -vn -0.66 -0.38 -0.65 -vn -0.39 -0.66 -0.64 -vn -0.01 -0.77 -0.64 -vn 0.36 -0.68 -0.63 -vn 0.64 -0.43 -0.64 -vn 0.75 -0.07 -0.65 -vn 0.67 0.31 -0.67 -vn -0.88 -0.44 0.16 -vn -0.86 -0.44 0.25 -vn -0.99 0.06 0.15 -vn -0.97 0.06 0.24 -vn -0.83 0.54 0.15 -vn -0.82 0.52 0.23 -vn -0.47 0.87 0.15 -vn -0.47 0.85 0.24 -vn 0.02 0.99 0.16 -vn 0.01 0.97 0.25 -vn 0.51 0.84 0.17 -vn 0.50 0.83 0.26 -vn 0.87 0.47 0.17 -vn 0.85 0.46 0.26 -vn 0.98 -0.02 0.17 -vn 0.96 -0.03 0.26 -vn 0.85 -0.50 0.17 -vn 0.83 -0.50 0.26 -vn 0.49 -0.85 0.17 -vn 0.48 -0.84 0.26 -vn -0.89 0.07 0.45 -vn -0.75 0.49 0.44 -vn -0.62 0.08 0.78 -vn -0.55 -0.24 0.80 -vn -0.79 -0.39 0.47 -vn -0.01 -0.99 0.17 -vn -0.01 -0.96 0.26 -vn -0.52 -0.84 0.17 -vn -0.51 -0.82 0.26 -vn -0.47 -0.74 0.48 -vn -0.32 -0.49 0.81 -vn 0.01 0.06 1.00 -vn -0.53 0.37 0.76 -vn -0.43 0.79 0.44 -vn 0.01 0.89 0.45 -vn 0.45 0.76 0.46 -vn 0.78 0.43 0.46 -vn 0.89 -0.01 0.46 -vn 0.76 -0.44 0.47 -vn 0.45 -0.76 0.47 -vn -0.01 -0.88 0.48 -vn 0.00 -0.59 0.81 -vn 0.32 -0.51 0.80 -vn 0.54 -0.29 0.79 -vn 0.63 0.02 0.78 -vn 0.55 0.33 0.77 -vn 0.32 0.56 0.76 -vn 0.01 0.65 0.76 -vn -0.30 0.58 0.76 -vn -0.99 0.04 -0.13 -vn 0.02 0.99 -0.13 -vn 0.03 0.99 -0.13 -vn 0.01 -1.00 -0.07 -vn 0.01 -1.00 -0.06 -vn 0.90 0.01 0.44 -vn -0.05 0.07 1.00 -vn -0.05 0.11 0.99 -# 299 vertex normals - -vt 0.55 0.02 0.00 -vt 0.58 0.02 0.00 -vt 0.86 0.72 0.00 -vt 0.86 0.69 0.00 -vt 0.93 0.75 0.00 -vt 0.95 0.70 0.00 -vt 0.86 0.64 0.00 -vt 0.95 0.66 0.00 -vt 0.86 0.59 0.00 -vt 0.95 0.59 0.00 -vt 0.87 0.54 0.00 -vt 0.95 0.55 0.00 -vt 0.87 0.50 0.00 -vt 0.80 0.50 0.00 -vt 0.80 0.48 0.00 -vt 0.75 0.48 0.00 -vt 0.79 0.54 0.00 -vt 0.74 0.54 0.00 -vt 0.79 0.60 0.00 -vt 0.75 0.60 0.00 -vt 0.79 0.64 0.00 -vt 0.74 0.64 0.00 -vt 0.78 0.71 0.00 -vt 0.79 0.68 0.00 -vt 0.74 0.67 0.00 -vt 0.73 0.70 0.00 -vt 0.64 0.67 0.00 -vt 0.63 0.69 0.00 -vt 0.65 0.50 0.00 -vt 0.64 0.54 0.00 -vt 0.66 0.60 0.00 -vt 0.65 0.64 0.00 -vt 0.20 0.10 0.00 -vt 0.20 0.17 0.00 -vt 0.25 0.11 0.00 -vt 0.16 0.16 0.00 -vt 0.15 0.22 0.00 -vt 0.11 0.21 0.00 -vt 0.10 0.25 0.00 -vt 0.06 0.24 0.00 -vt 0.05 0.32 0.00 -vt 0.08 0.33 0.00 -vt 0.14 0.33 0.00 -vt 0.15 0.26 0.00 -vt 0.18 0.26 0.00 -vt 0.19 0.22 0.00 -vt 0.21 0.23 0.00 -vt 0.23 0.17 0.00 -vt 0.27 0.11 0.00 -vt 0.29 0.13 0.00 -vt 0.26 0.19 0.00 -vt 0.24 0.24 0.00 -vt 0.21 0.27 0.00 -vt 0.23 0.28 0.00 -vt 0.19 0.35 0.00 -vt 0.21 0.36 0.00 -vt 0.16 0.34 0.00 -vt 0.39 0.68 0.00 -vt 0.25 0.68 0.00 -vt 0.39 0.69 0.00 -vt 0.25 0.69 0.00 -vt 0.25 0.70 0.00 -vt 0.39 0.70 0.00 -vt 0.25 0.71 0.00 -vt 0.39 0.71 0.00 -vt 0.17 0.09 0.00 -vt 0.12 0.15 0.00 -vt 0.08 0.20 0.00 -vt 0.06 0.20 0.00 -vt 0.08 0.14 0.00 -vt 0.06 0.14 0.00 -vt 0.10 0.08 0.00 -vt 0.06 0.07 0.00 -vt 0.13 0.08 0.00 -vt 0.48 0.02 0.00 -vt 0.51 0.02 0.00 -vt 0.53 0.02 0.00 -vt 0.55 0.03 0.00 -vt 0.87 0.46 0.00 -vt 0.95 0.50 0.00 -vt 0.95 0.45 0.00 -vt 0.37 0.72 0.00 -vt 0.38 0.71 0.00 -vt 0.37 0.73 0.00 -vt 0.39 0.73 0.00 -vt 0.39 0.72 0.00 -vt 0.38 0.74 0.00 -vt 0.01 0.74 0.00 -vt 0.02 0.73 0.00 -vt 0.04 0.73 0.00 -vt 0.03 0.73 0.00 -vt 0.77 0.13 0.00 -vt 0.87 0.13 0.00 -vt 0.77 0.11 0.00 -vt 0.78 0.11 0.00 -vt 0.85 0.11 0.00 -vt 0.20 0.52 0.00 -vt 0.20 0.50 0.00 -vt 0.22 0.51 0.00 -vt 0.21 0.50 0.00 -vt 0.21 0.57 0.00 -vt 0.20 0.55 0.00 -vt 0.23 0.56 0.00 -vt 0.23 0.55 0.00 -vt 0.21 0.58 0.00 -vt 0.23 0.57 0.00 -vt 0.23 0.59 0.00 -vt 0.21 0.51 0.00 -vt 0.21 0.53 0.00 -vt 0.20 0.53 0.00 -vt 0.21 0.56 0.00 -vt 0.21 0.54 0.00 -vt 0.22 0.54 0.00 -vt 0.22 0.58 0.00 -vt 0.23 0.58 0.00 -vt 0.48 0.06 0.00 -vt 0.47 0.06 0.00 -vt 0.39 0.62 0.00 -vt 0.44 0.63 0.00 -vt 0.40 0.64 0.00 -vt 0.38 0.63 0.00 -vt 0.38 0.65 0.00 -vt 0.37 0.63 0.00 -vt 0.38 0.66 0.00 -vt 0.40 0.67 0.00 -vt 0.44 0.65 0.00 -vt 0.44 0.67 0.00 -vt 0.54 0.66 0.00 -vt 0.54 0.68 0.00 -vt 0.54 0.63 0.00 -vt 0.54 0.60 0.00 -vt 0.54 0.54 0.00 -vt 0.44 0.54 0.00 -vt 0.45 0.52 0.00 -vt 0.40 0.54 0.00 -vt 0.40 0.53 0.00 -vt 0.38 0.54 0.00 -vt 0.39 0.49 0.00 -vt 0.38 0.59 0.00 -vt 0.37 0.59 0.00 -vt 0.40 0.59 0.00 -vt 0.44 0.59 0.00 -vt 0.12 0.42 0.00 -vt 0.10 0.50 0.00 -vt 0.14 0.43 0.00 -vt 0.16 0.43 0.00 -vt 0.18 0.43 0.00 -vt 0.16 0.51 0.00 -vt 0.14 0.51 0.00 -vt 0.15 0.54 0.00 -vt 0.13 0.54 0.00 -vt 0.13 0.50 0.00 -vt 0.12 0.54 0.00 -vt 0.09 0.53 0.00 -vt 0.09 0.55 0.00 -vt 0.05 0.54 0.00 -vt 0.05 0.52 0.00 -vt 0.04 0.52 0.00 -vt 0.06 0.49 0.00 -vt 0.01 0.53 0.00 -vt 0.04 0.49 0.00 -vt 0.07 0.41 0.00 -vt 0.05 0.41 0.00 -vt 0.12 0.56 0.00 -vt 0.13 0.56 0.00 -vt 0.14 0.56 0.00 -vt 0.54 0.51 0.00 -vt 0.65 0.01 0.00 -vt 0.65 0.02 0.00 -vt 0.52 0.01 0.00 -vt 0.52 0.02 0.00 -vt 0.62 0.03 0.00 -vt 0.66 0.02 0.00 -vt 0.62 0.02 0.00 -vt 0.22 0.56 0.00 -vt 0.20 0.49 0.00 -vt 0.21 0.49 0.00 -vt 0.23 0.54 0.00 -vt 0.24 0.56 0.00 -vt 0.24 0.57 0.00 -vt 0.75 0.10 0.00 -vt 0.88 0.11 0.00 -vt 0.75 0.09 0.00 -vt 0.88 0.10 0.00 -vt 0.88 0.08 0.00 -vt 0.75 0.08 0.00 -vt 0.88 0.06 0.00 -vt 0.75 0.05 0.00 -vt 0.88 0.03 0.00 -vt 0.75 0.03 0.00 -vt 0.88 0.02 0.00 -vt 0.75 0.01 0.00 -vt 0.88 0.01 0.00 -vt 0.75 0.00 0.00 -vt 0.94 0.09 0.00 -vt 0.94 0.08 0.00 -vt 0.94 0.07 0.00 -vt 0.94 0.06 0.00 -vt 0.94 0.04 0.00 -vt 0.94 0.03 0.00 -vt 0.99 0.07 0.00 -vt 0.99 0.06 0.00 -vt 0.99 0.05 0.00 -vt 0.73 0.03 0.00 -vt 0.73 0.05 0.00 -vt 0.73 0.08 0.00 -vt 0.73 0.09 0.00 -vt 0.73 0.10 0.00 -vt 0.73 0.02 0.00 -vt 0.70 0.05 0.00 -vt 0.70 0.07 0.00 -vt 0.68 0.05 0.00 -vt 0.68 0.04 0.00 -vt 0.70 0.03 0.00 -vt 0.73 0.01 0.00 -vt 0.70 0.02 0.00 -vt 0.67 0.05 0.00 -vt 0.67 0.06 0.00 -vt 0.70 0.08 0.00 -vt 0.70 0.09 0.00 -vt 0.68 0.03 0.00 -vt 0.67 0.07 0.00 -vt 0.48 0.03 0.00 -vt 0.64 0.44 0.00 -vt 0.40 0.52 0.00 -vt 0.01 0.32 0.00 -vt 0.49 0.03 0.00 -vt 0.48 0.01 0.00 -vt 0.66 0.01 0.00 -# 229 texture coords - -g P_51_Mustang_Left_Wing -f 1688/1032/1709 1689/1033/1709 1690/1033/1709 -f 1691/1034/1710 1692/1035/1711 1693/1036/1712 -f 1694/1037/1713 1693/1036/1712 1692/1035/1711 -f 1692/1035/1711 1695/1038/1714 1694/1037/1713 -f 1696/1039/1715 1694/1037/1713 1695/1038/1714 -f 1695/1038/1714 1697/1040/1716 1696/1039/1715 -f 1698/1041/1717 1696/1039/1715 1697/1040/1716 -f 1697/1040/1716 1699/1042/1718 1698/1041/1717 -f 1700/1043/1719 1698/1041/1717 1699/1042/1718 -f 1699/1042/1718 1701/1044/1720 1700/1043/1719 -f 1701/1044/1720 1699/1042/1718 1702/1045/1721 -f 1702/1045/1721 1703/1046/1721 1701/1044/1720 -f 1688/1047/1722 1703/1046/1721 1702/1045/1721 -f 1702/1045/1721 1704/1048/1723 1688/1047/1722 -f 1705/1049/1724 1688/1047/1722 1704/1048/1723 -f 1704/1048/1723 1706/1050/1725 1705/1049/1724 -f 1707/1051/1726 1705/1049/1724 1706/1050/1725 -f 1706/1050/1725 1708/1052/1727 1707/1051/1726 -f 1709/1053/1728 1707/1051/1726 1708/1052/1727 -f 1710/1054/1729 1711/1055/1730 1691/1034/1710 -f 1692/1035/1711 1691/1034/1710 1711/1055/1730 -f 1692/1035/1711 1711/1055/1730 1695/1038/1714 -f 1708/1052/1727 1695/1038/1714 1711/1055/1730 -f 1708/1052/1727 1706/1050/1725 1695/1038/1714 -f 1697/1040/1716 1695/1038/1714 1706/1050/1725 -f 1706/1050/1725 1704/1048/1723 1697/1040/1716 -f 1699/1042/1718 1697/1040/1716 1704/1048/1723 -f 1704/1048/1723 1702/1045/1721 1699/1042/1718 -f 1708/1052/1727 1711/1055/1730 1709/1053/1728 -f 1712/1056/1731 1709/1053/1728 1711/1055/1730 -f 1711/1055/1730 1710/1054/1729 1712/1056/1731 -f 1713/1057/1732 1712/1056/1731 1710/1054/1729 -f 1712/1056/1731 1713/1057/1732 1714/1058/1733 -f 1715/1059/1734 1714/1058/1733 1713/1057/1732 -f 1688/1047/1722 1705/1049/1724 1689/1060/1735 -f 1716/1061/1736 1689/1060/1735 1705/1049/1724 -f 1716/1061/1736 1705/1049/1724 1717/1062/1737 -f 1707/1051/1726 1717/1062/1737 1705/1049/1724 -f 1707/1051/1726 1709/1053/1728 1717/1062/1737 -f 1718/1063/1738 1717/1062/1737 1709/1053/1728 -f 1718/1063/1738 1709/1053/1728 1714/1058/1733 -f 1712/1056/1731 1714/1058/1733 1709/1053/1728 -f 1719/1064/1739 1720/1065/1740 1721/1066/1741 -f 1720/1065/1740 1719/1064/1739 1722/1067/1742 -f 1722/1067/1742 1723/1068/1743 1720/1065/1740 -f 1723/1068/1743 1722/1067/1742 1724/1069/1744 -f 1724/1069/1744 1725/1070/1745 1723/1068/1743 -f 1725/1070/1745 1724/1069/1744 1726/1071/1746 -f 1726/1071/1746 1690/1072/1747 1725/1070/1745 -f 1727/1073/1748 1725/1070/1745 1690/1072/1747 -f 1727/1073/1748 1728/1074/1743 1725/1070/1745 -f 1729/1075/1743 1725/1070/1745 1728/1074/1743 -f 1729/1075/1743 1728/1074/1743 1730/1076/1749 -f 1730/1076/1749 1731/1077/1740 1729/1075/1743 -f 1731/1077/1740 1730/1076/1749 1732/1078/1750 -f 1731/1077/1740 1732/1078/1750 1720/1065/1740 -f 1733/1079/1751 1720/1065/1740 1732/1078/1750 -f 1733/1079/1751 1721/1066/1741 1720/1065/1740 -f 1721/1066/1741 1733/1079/1751 1734/1080/1752 -f 1734/1080/1752 1733/1079/1751 1693/1081/1753 -f 1729/1075/1743 1723/1068/1743 1725/1070/1745 -f 1723/1068/1743 1729/1075/1743 1731/1077/1740 -f 1731/1077/1740 1720/1065/1740 1723/1068/1743 -f 1691/1082/1754 1693/1081/1753 1733/1079/1751 -f 1733/1079/1751 1732/1078/1750 1691/1082/1754 -f 1710/1083/1755 1691/1082/1754 1732/1078/1750 -f 1732/1078/1750 1735/1084/1756 1710/1083/1755 -f 1713/1085/1757 1710/1083/1755 1735/1084/1756 -f 1735/1084/1756 1736/1086/1758 1713/1085/1757 -f 1715/1087/1759 1713/1085/1757 1736/1086/1758 -f 1737/1088/1760 1730/1076/1749 1728/1074/1743 -f 1737/1088/1760 1736/1086/1758 1730/1076/1749 -f 1735/1084/1756 1730/1076/1749 1736/1086/1758 -f 1735/1084/1756 1732/1078/1750 1730/1076/1749 -f 1738/1089/1726 1739/1090/1725 1740/1091/1761 -f 1739/1090/1725 1738/1089/1726 1741/1092/1762 -f 1742/1091/1763 1741/1092/1762 1738/1089/1726 -f 1741/1092/1762 1742/1091/1763 1743/1093/1764 -f 1744/1094/1765 1743/1093/1764 1742/1091/1763 -f 1743/1093/1764 1744/1094/1765 1745/1095/1766 -f 1746/1096/1767 1745/1095/1766 1744/1094/1765 -f 1745/1095/1766 1746/1096/1767 1747/1093/1768 -f 1748/1094/1769 1747/1093/1768 1746/1096/1767 -f 1747/1093/1768 1748/1094/1769 1749/1092/1770 -f 1740/1091/1761 1749/1092/1770 1748/1094/1769 -f 1749/1092/1770 1740/1091/1761 1739/1090/1725 -f 1750/1091/1763 1751/1092/1762 1752/1089/1726 -f 1751/1092/1762 1750/1091/1763 1753/1093/1764 -f 1754/1094/1765 1753/1093/1764 1750/1091/1763 -f 1753/1093/1764 1754/1094/1765 1755/1095/1766 -f 1756/1096/1767 1755/1095/1766 1754/1094/1765 -f 1755/1095/1766 1756/1096/1767 1757/1093/1768 -f 1758/1094/1769 1757/1093/1768 1756/1096/1767 -f 1757/1093/1768 1758/1094/1769 1759/1092/1770 -f 1760/1091/1761 1759/1092/1770 1758/1094/1769 -f 1759/1092/1770 1760/1091/1761 1761/1090/1725 -f 1752/1089/1726 1761/1090/1725 1760/1091/1761 -f 1761/1090/1725 1752/1089/1726 1751/1092/1762 -f 1762/1094/1765 1763/1093/1764 1764/1091/1763 -f 1763/1093/1764 1762/1094/1765 1765/1095/1766 -f 1766/1096/1767 1765/1095/1766 1762/1094/1765 -f 1765/1095/1766 1766/1096/1767 1767/1093/1768 -f 1768/1094/1769 1767/1093/1768 1766/1096/1767 -f 1767/1093/1768 1768/1094/1769 1769/1092/1770 -f 1770/1091/1761 1769/1092/1770 1768/1094/1769 -f 1769/1092/1770 1770/1091/1761 1771/1090/1725 -f 1772/1089/1726 1771/1090/1725 1770/1091/1761 -f 1771/1090/1725 1772/1089/1726 1773/1092/1762 -f 1764/1091/1763 1773/1092/1762 1772/1089/1726 -f 1773/1092/1762 1764/1091/1763 1763/1093/1764 -f 1774/1097/1771 1722/1067/1742 1719/1064/1739 -f 1722/1067/1742 1774/1097/1771 1775/1098/1772 -f 1775/1098/1772 1724/1069/1744 1722/1067/1742 -f 1724/1069/1744 1775/1098/1772 1776/1099/1773 -f 1776/1099/1773 1726/1071/1746 1724/1069/1744 -f 1776/1099/1773 1777/1100/1774 1726/1071/1746 -f 1776/1099/1773 1778/1101/1775 1777/1100/1774 -f 1779/1102/1748 1777/1100/1774 1778/1101/1775 -f 1778/1101/1775 1780/1103/1776 1779/1102/1748 -f 1781/1104/1777 1779/1102/1748 1780/1103/1776 -f 1782/1105/1744 1775/1098/1772 1774/1097/1771 -f 1775/1098/1772 1782/1105/1744 1778/1101/1775 -f 1778/1101/1775 1776/1099/1773 1775/1098/1772 -f 1780/1103/1776 1778/1101/1775 1782/1105/1744 -f 1783/1106/1778 1779/1107/1778 1781/1106/1778 -f 1784/1107/1778 1779/1107/1778 1783/1106/1778 -f 1777/1108/1778 1779/1107/1778 1784/1107/1778 -f 1703/1108/1778 1777/1108/1778 1784/1107/1778 -f 1777/1108/1778 1703/1108/1778 1726/1109/1778 -f 1703/1108/1778 1688/1032/1778 1726/1109/1778 -f 1726/1109/1778 1688/1032/1778 1690/1033/1778 -f 1784/1110/1779 1701/1044/1720 1703/1046/1721 -f 1701/1044/1720 1784/1110/1779 1785/1111/1723 -f 1785/1111/1723 1700/1043/1719 1701/1044/1720 -f 1783/1112/1779 1785/1111/1723 1784/1110/1779 -f 1749/1113/1780 1739/1114/1780 1747/1115/1780 -f 1739/1114/1780 1743/1116/1780 1747/1115/1780 -f 1741/1117/1780 1743/1116/1780 1739/1114/1780 -f 1747/1115/1780 1743/1116/1780 1745/1118/1780 -f 1759/1113/1780 1761/1114/1780 1757/1115/1780 -f 1761/1114/1780 1753/1116/1780 1757/1115/1780 -f 1751/1117/1780 1753/1116/1780 1761/1114/1780 -f 1757/1115/1780 1753/1116/1780 1755/1118/1780 -f 1769/1113/1780 1771/1114/1780 1767/1115/1780 -f 1771/1114/1780 1763/1116/1780 1767/1115/1780 -f 1773/1117/1780 1763/1116/1780 1771/1114/1780 -f 1767/1115/1780 1763/1116/1780 1765/1118/1780 -f 1786/1119/1781 1787/1119/1781 1788/1119/1781 -f 1789/1119/1781 1788/1119/1781 1787/1119/1781 -f 1790/1120/1782 1791/1120/1782 1786/1120/1782 -f 1787/1120/1782 1786/1120/1782 1791/1120/1782 -f 1791/1120/1783 1790/1120/1783 1792/1121/1783 -f 1793/1121/1783 1792/1121/1783 1790/1120/1783 -f 1794/1121/1784 1795/1121/1784 1793/1122/1784 -f 1792/1122/1784 1793/1122/1784 1795/1121/1784 -f 1788/1123/1785 1794/1124/1785 1786/1125/1785 -f 1790/1126/1785 1794/1124/1785 1793/1127/1785 -f 1786/1125/1785 1794/1124/1785 1790/1126/1785 -f 1789/1123/1786 1787/1125/1786 1795/1124/1786 -f 1795/1124/1786 1787/1125/1786 1792/1127/1786 -f 1792/1127/1786 1787/1125/1786 1791/1126/1786 -f 1727/1128/1787 1690/1129/1787 1716/1130/1787 -f 1689/1131/1787 1716/1130/1787 1690/1129/1787 -f 1737/1132/1788 1728/1133/1789 1718/1134/1789 -f 1717/1135/1789 1718/1134/1789 1728/1133/1789 -f 1717/1135/1790 1728/1133/1790 1716/1130/1790 -f 1727/1128/1790 1716/1130/1790 1728/1133/1790 -f 1736/1136/1791 1737/1132/1791 1714/1137/1791 -f 1718/1134/1792 1714/1137/1792 1737/1132/1792 -f 1715/1138/1793 1736/1136/1793 1714/1137/1793 -f 1780/1139/1794 1782/1140/1794 1785/1128/1794 -f 1700/1141/1795 1785/1128/1795 1782/1140/1795 -f 1783/1129/1796 1781/1129/1796 1785/1128/1796 -f 1780/1139/1797 1785/1128/1797 1781/1129/1797 -f 1696/1142/1798 1698/1143/1798 1719/1135/1798 -f 1774/1144/1799 1719/1135/1799 1698/1143/1799 -f 1774/1144/1800 1698/1143/1800 1782/1140/1800 -f 1700/1141/1801 1782/1140/1801 1698/1143/1801 -f 1693/1138/1802 1694/1145/1802 1734/1146/1802 -f 1721/1137/1803 1694/1145/1803 1719/1135/1803 -f 1696/1142/1804 1719/1135/1804 1694/1145/1804 -f 1734/1146/1805 1694/1145/1805 1721/1137/1805 -f 1796/1147/1806 1797/1148/1806 1798/1148/1806 -f 1799/1149/1807 1800/1150/1808 1801/1151/1809 -f 1799/1149/1807 1801/1151/1809 1802/1152/1810 -f 1803/1153/1811 1802/1152/1810 1801/1151/1809 -f 1802/1152/1810 1803/1153/1811 1804/1154/1812 -f 1805/1153/1813 1804/1154/1812 1803/1153/1811 -f 1805/1153/1813 1803/1153/1811 1806/1155/1814 -f 1803/1153/1811 1801/1151/1809 1806/1155/1814 -f 1807/1156/1815 1806/1155/1814 1801/1151/1809 -f 1801/1151/1809 1808/1157/1816 1807/1156/1815 -f 1809/1158/1817 1807/1156/1815 1808/1157/1816 -f 1808/1157/1816 1810/1159/1818 1809/1158/1817 -f 1811/1160/1819 1809/1158/1817 1810/1159/1818 -f 1811/1160/1819 1810/1159/1818 1715/1059/1820 -f 1714/1058/1821 1715/1059/1820 1810/1159/1818 -f 1714/1058/1821 1810/1159/1818 1718/1063/1728 -f 1812/1161/1822 1718/1063/1728 1810/1159/1818 -f 1718/1063/1728 1812/1161/1822 1717/1062/1726 -f 1813/1162/1823 1717/1062/1726 1812/1161/1822 -f 1810/1159/1818 1808/1157/1816 1812/1161/1822 -f 1800/1150/1808 1812/1161/1822 1808/1157/1816 -f 1808/1157/1816 1801/1151/1809 1800/1150/1808 -f 1813/1162/1823 1814/1163/1824 1717/1062/1726 -f 1814/1163/1824 1813/1162/1823 1815/1164/1825 -f 1815/1164/1825 1816/1165/1826 1814/1163/1824 -f 1815/1164/1825 1817/1166/1827 1816/1165/1826 -f 1798/1167/1828 1816/1165/1826 1817/1166/1827 -f 1817/1166/1827 1818/1168/1829 1798/1167/1828 -f 1796/1169/1830 1798/1167/1828 1818/1168/1829 -f 1819/1168/1831 1796/1169/1830 1818/1168/1829 -f 1818/1168/1829 1820/1170/1832 1819/1168/1831 -f 1821/1171/1833 1819/1168/1831 1820/1170/1832 -f 1821/1171/1833 1820/1170/1832 1804/1154/1812 -f 1802/1152/1810 1804/1154/1812 1820/1170/1832 -f 1802/1152/1810 1820/1170/1832 1799/1149/1807 -f 1822/1172/1834 1799/1149/1807 1820/1170/1832 -f 1799/1149/1807 1822/1172/1834 1800/1150/1808 -f 1823/1173/1835 1800/1150/1808 1822/1172/1834 -f 1800/1150/1808 1823/1173/1835 1812/1161/1822 -f 1813/1162/1823 1812/1161/1822 1823/1173/1835 -f 1823/1173/1835 1815/1164/1825 1813/1162/1823 -f 1815/1164/1825 1823/1173/1835 1817/1166/1827 -f 1822/1172/1834 1817/1166/1827 1823/1173/1835 -f 1817/1166/1827 1822/1172/1834 1818/1168/1829 -f 1820/1170/1832 1818/1168/1829 1822/1172/1834 -f 1824/1174/1836 1825/1175/1837 1826/1176/1838 -f 1826/1176/1838 1737/1088/1740 1824/1174/1836 -f 1826/1176/1838 1827/1177/1839 1737/1088/1740 -f 1736/1086/1840 1737/1088/1740 1827/1177/1839 -f 1736/1086/1840 1827/1177/1839 1715/1087/1841 -f 1811/1178/1842 1715/1087/1841 1827/1177/1839 -f 1811/1178/1842 1827/1177/1839 1809/1179/1843 -f 1828/1180/1844 1809/1179/1843 1827/1177/1839 -f 1809/1179/1843 1828/1180/1844 1807/1181/1845 -f 1829/1182/1846 1807/1181/1845 1828/1180/1844 -f 1828/1180/1844 1830/1183/1847 1829/1182/1846 -f 1831/1184/1848 1829/1182/1846 1830/1183/1847 -f 1831/1184/1848 1830/1183/1847 1832/1185/1849 -f 1832/1185/1849 1833/1186/1850 1831/1184/1848 -f 1833/1186/1850 1832/1185/1849 1834/1187/1851 -f 1835/1188/1852 1834/1187/1851 1832/1185/1849 -f 1835/1188/1852 1797/1189/1850 1834/1187/1851 -f 1835/1188/1852 1836/1190/1853 1797/1189/1850 -f 1797/1189/1850 1796/1191/1854 1834/1187/1851 -f 1837/1192/1855 1797/1189/1850 1836/1190/1853 -f 1836/1190/1853 1838/1193/1777 1837/1192/1855 -f 1839/1194/1746 1837/1192/1855 1838/1193/1777 -f 1838/1193/1777 1727/1073/1856 1839/1194/1746 -f 1690/1072/1857 1839/1194/1746 1727/1073/1856 -f 1727/1073/1856 1838/1193/1777 1728/1074/1743 -f 1824/1174/1836 1728/1074/1743 1838/1193/1777 -f 1838/1193/1777 1836/1190/1853 1824/1174/1836 -f 1825/1175/1837 1824/1174/1836 1836/1190/1853 -f 1836/1190/1853 1835/1188/1852 1825/1175/1837 -f 1832/1185/1849 1825/1175/1837 1835/1188/1852 -f 1825/1175/1837 1832/1185/1849 1830/1183/1847 -f 1830/1183/1847 1826/1176/1838 1825/1175/1837 -f 1830/1183/1847 1828/1180/1844 1826/1176/1838 -f 1827/1177/1839 1826/1176/1838 1828/1180/1844 -f 1728/1074/1743 1824/1174/1836 1737/1088/1740 -f 1834/1187/1858 1796/1191/1858 1819/1187/1858 -f 1834/1187/1858 1819/1187/1858 1833/1186/1859 -f 1821/1186/1860 1833/1186/1859 1819/1187/1858 -f 1821/1186/1860 1804/1195/1861 1833/1186/1859 -f 1840/1195/1862 1833/1186/1859 1804/1195/1861 -f 1840/1195/1862 1804/1195/1861 1841/1196/1863 -f 1805/1196/1864 1841/1196/1863 1804/1195/1861 -f 1841/1196/1863 1805/1196/1864 1806/1197/1865 -f 1841/1196/1863 1806/1197/1865 1829/1182/1866 -f 1807/1181/1867 1829/1182/1866 1806/1197/1865 -f 1842/1198/1868 1814/1163/1824 1816/1165/1826 -f 1814/1163/1824 1842/1198/1868 1716/1061/1824 -f 1716/1061/1824 1717/1062/1726 1814/1163/1824 -f 1689/1060/1869 1716/1061/1824 1842/1198/1868 -f 1840/1195/1870 1831/1184/1848 1833/1186/1850 -f 1831/1184/1848 1840/1195/1870 1829/1182/1846 -f 1841/1196/1871 1829/1182/1846 1840/1195/1870 -f 1843/1127/1872 1844/1125/1872 1845/1124/1872 -f 1846/1123/1872 1845/1124/1872 1844/1125/1872 -f 1847/1123/1873 1848/1125/1873 1849/1124/1873 -f 1850/1127/1873 1849/1124/1873 1848/1125/1873 -f 1851/1119/1874 1852/1119/1874 1853/1119/1874 -f 1854/1119/1874 1853/1119/1874 1852/1119/1874 -f 1855/1199/1875 1856/1200/1875 1851/1201/1875 -f 1852/1202/1875 1851/1201/1875 1856/1200/1875 -f 1857/1121/1876 1858/1121/1876 1855/1122/1876 -f 1856/1122/1876 1855/1122/1876 1858/1121/1876 -f 1853/1123/1872 1857/1124/1872 1851/1125/1872 -f 1855/1127/1872 1851/1125/1872 1857/1124/1872 -f 1854/1123/1873 1852/1125/1873 1858/1124/1873 -f 1856/1127/1873 1858/1124/1873 1852/1125/1873 -f 1859/1119/1877 1860/1119/1877 1861/1119/1877 -f 1862/1119/1877 1861/1119/1877 1860/1119/1877 -f 1863/1199/1875 1864/1200/1875 1859/1201/1875 -f 1860/1202/1875 1859/1201/1875 1864/1200/1875 -f 1865/1121/1876 1866/1121/1876 1863/1122/1876 -f 1864/1122/1876 1863/1122/1876 1866/1121/1876 -f 1861/1123/1872 1865/1124/1872 1859/1125/1872 -f 1863/1127/1872 1859/1125/1872 1865/1124/1872 -f 1862/1123/1873 1860/1125/1873 1866/1124/1873 -f 1864/1127/1873 1866/1124/1873 1860/1125/1873 -f 1837/1200/1878 1839/1203/1878 1797/1204/1878 -f 1690/1033/1879 1689/1033/1879 1839/1203/1879 -f 1842/1205/1880 1816/1200/1880 1689/1033/1880 -f 1689/1033/1881 1816/1200/1881 1839/1203/1881 -f 1839/1203/1882 1816/1200/1882 1797/1204/1882 -f 1816/1200/1883 1798/1204/1883 1797/1204/1883 -f 1718/1206/1884 1717/1143/1884 1714/1145/1884 -f 1716/1139/1885 1689/1207/1885 1717/1143/1885 -f 1717/1143/1886 1689/1207/1886 1714/1145/1886 -f 1690/1208/1887 1727/1130/1887 1689/1207/1887 -f 1689/1207/1888 1727/1130/1888 1714/1145/1888 -f 1728/1209/1889 1737/1210/1889 1727/1130/1889 -f 1727/1130/1890 1737/1210/1890 1714/1145/1890 -f 1737/1210/1891 1736/1211/1891 1714/1145/1891 -f 1714/1145/1892 1736/1211/1892 1715/1138/1892 -f 1844/1119/1874 1848/1119/1874 1846/1119/1874 -f 1847/1119/1874 1846/1119/1874 1848/1119/1874 -f 1843/1199/1875 1850/1200/1875 1844/1201/1875 -f 1848/1202/1875 1844/1201/1875 1850/1200/1875 -f 1845/1121/1893 1849/1121/1893 1843/1122/1893 -f 1850/1122/1893 1843/1122/1893 1849/1121/1893 -f 1867/1212/1894 1868/1213/1894 1869/1214/1895 -f 1868/1213/1894 1867/1212/1894 1870/1215/1896 -f 1871/1214/1896 1870/1215/1896 1867/1212/1894 -f 1870/1215/1896 1871/1214/1896 1872/1216/1897 -f 1873/1217/1898 1872/1216/1897 1871/1214/1896 -f 1872/1216/1897 1873/1217/1898 1874/1218/1899 -f 1875/1219/1900 1874/1218/1899 1873/1217/1898 -f 1874/1218/1899 1875/1219/1900 1876/1220/1901 -f 1877/1221/1902 1876/1220/1901 1875/1219/1900 -f 1876/1220/1901 1877/1221/1902 1878/1222/1903 -f 1879/1223/1904 1878/1222/1903 1877/1221/1902 -f 1878/1222/1903 1879/1223/1904 1880/1224/1905 -f 1881/1225/1905 1880/1224/1905 1879/1223/1904 -f 1880/1224/1905 1881/1225/1905 1882/1222/1906 -f 1883/1223/1906 1882/1222/1906 1881/1225/1905 -f 1882/1222/1906 1883/1223/1906 1884/1220/1907 -f 1885/1221/1908 1884/1220/1907 1883/1223/1906 -f 1884/1220/1907 1885/1221/1908 1886/1218/1909 -f 1887/1219/1910 1886/1218/1909 1885/1221/1908 -f 1886/1218/1909 1887/1219/1910 1888/1216/1911 -f 1889/1217/1912 1888/1216/1911 1887/1219/1910 -f 1888/1216/1911 1889/1217/1912 1890/1215/1913 -f 1869/1214/1895 1890/1215/1913 1889/1217/1912 -f 1890/1215/1913 1869/1214/1895 1868/1213/1894 -f 1868/1213/1914 1891/1226/1915 1890/1215/1916 -f 1892/1227/1917 1890/1215/1916 1891/1226/1915 -f 1890/1215/1916 1892/1227/1917 1888/1216/1918 -f 1893/1228/1919 1888/1216/1918 1892/1227/1917 -f 1888/1216/1918 1893/1228/1919 1886/1218/1920 -f 1894/1229/1921 1886/1218/1920 1893/1228/1919 -f 1886/1218/1920 1894/1229/1921 1884/1220/1922 -f 1895/1230/1923 1884/1220/1922 1894/1229/1921 -f 1884/1220/1922 1895/1230/1923 1882/1222/1924 -f 1896/1231/1925 1882/1222/1924 1895/1230/1923 -f 1882/1222/1924 1896/1231/1925 1880/1224/1926 -f 1897/1231/1927 1880/1224/1926 1896/1231/1925 -f 1880/1224/1926 1897/1231/1927 1878/1222/1928 -f 1898/1231/1929 1878/1222/1928 1897/1231/1927 -f 1878/1222/1928 1898/1231/1929 1876/1220/1930 -f 1899/1230/1931 1876/1220/1930 1898/1231/1929 -f 1876/1220/1930 1899/1230/1931 1874/1218/1932 -f 1900/1229/1933 1874/1218/1932 1899/1230/1931 -f 1891/1226/1915 1901/1232/1934 1892/1227/1917 -f 1902/1232/1935 1892/1227/1917 1901/1232/1934 -f 1892/1227/1917 1902/1232/1935 1893/1228/1919 -f 1874/1218/1932 1900/1229/1933 1872/1216/1936 -f 1903/1228/1937 1872/1216/1936 1900/1229/1933 -f 1872/1216/1936 1903/1228/1937 1870/1215/1938 -f 1904/1227/1939 1870/1215/1938 1903/1228/1937 -f 1870/1215/1938 1904/1227/1939 1868/1213/1914 -f 1891/1226/1915 1868/1213/1914 1904/1227/1939 -f 1904/1227/1939 1905/1232/1940 1891/1226/1915 -f 1901/1232/1934 1891/1226/1915 1905/1232/1940 -f 1901/1232/1934 1905/1232/1940 1906/1233/1941 -f 1902/1232/1935 1901/1232/1934 1906/1233/1941 -f 1907/1233/1942 1902/1232/1935 1906/1233/1941 -f 1907/1233/1942 1893/1228/1919 1902/1232/1935 -f 1893/1228/1919 1907/1233/1942 1894/1229/1921 -f 1908/1233/1943 1894/1229/1921 1907/1233/1942 -f 1894/1229/1921 1908/1233/1943 1895/1230/1923 -f 1909/1234/1944 1895/1230/1923 1908/1233/1943 -f 1895/1230/1923 1909/1234/1944 1896/1231/1925 -f 1910/1234/1945 1896/1231/1925 1909/1234/1944 -f 1896/1231/1925 1910/1234/1945 1897/1231/1927 -f 1911/1234/1946 1897/1231/1927 1910/1234/1945 -f 1897/1231/1927 1911/1234/1946 1898/1231/1929 -f 1912/1234/1947 1898/1231/1929 1911/1234/1946 -f 1898/1231/1929 1912/1234/1947 1899/1230/1931 -f 1913/1234/1948 1899/1230/1931 1912/1234/1947 -f 1899/1230/1931 1913/1234/1948 1900/1229/1933 -f 1914/1233/1949 1900/1229/1933 1913/1234/1948 -f 1900/1229/1933 1914/1233/1949 1903/1228/1937 -f 1915/1233/1950 1903/1228/1937 1914/1233/1949 -f 1903/1228/1937 1915/1233/1950 1904/1227/1939 -f 1905/1232/1940 1904/1227/1939 1915/1233/1950 -f 1905/1232/1940 1915/1233/1950 1906/1233/1941 -f 1915/1233/1950 1914/1233/1949 1906/1233/1941 -f 1914/1233/1949 1913/1234/1948 1906/1233/1941 -f 1913/1234/1948 1912/1234/1947 1906/1233/1941 -f 1912/1234/1947 1911/1234/1946 1906/1233/1941 -f 1911/1234/1946 1910/1234/1945 1906/1233/1941 -f 1910/1234/1945 1909/1234/1944 1906/1233/1941 -f 1909/1234/1944 1908/1233/1943 1906/1233/1941 -f 1908/1233/1943 1907/1233/1942 1906/1233/1941 -f 1885/1221/1951 1916/1235/1952 1887/1219/1953 -f 1917/1236/1954 1887/1219/1953 1916/1235/1952 -f 1887/1219/1953 1917/1236/1954 1889/1217/1955 -f 1918/1237/1956 1889/1217/1955 1917/1236/1954 -f 1889/1217/1955 1918/1237/1956 1869/1214/1957 -f 1919/1238/1958 1869/1214/1957 1918/1237/1956 -f 1869/1214/1957 1919/1238/1958 1867/1212/1959 -f 1920/1239/1960 1867/1212/1959 1919/1238/1958 -f 1867/1212/1959 1920/1239/1960 1871/1214/1961 -f 1921/1238/1962 1871/1214/1961 1920/1239/1960 -f 1871/1214/1961 1921/1238/1962 1873/1217/1963 -f 1922/1237/1964 1873/1217/1963 1921/1238/1962 -f 1873/1217/1963 1922/1237/1964 1875/1219/1965 -f 1923/1236/1966 1875/1219/1965 1922/1237/1964 -f 1875/1219/1965 1923/1236/1966 1877/1221/1967 -f 1924/1235/1968 1877/1221/1967 1923/1236/1966 -f 1877/1221/1967 1924/1235/1968 1879/1223/1969 -f 1925/1240/1970 1879/1223/1969 1924/1235/1968 -f 1917/1236/1954 1926/1241/1971 1918/1237/1956 -f 1918/1237/1956 1927/1242/1972 1919/1238/1958 -f 1927/1242/1972 1918/1237/1956 1926/1241/1971 -f 1926/1241/1971 1928/1243/1973 1927/1242/1972 -f 1928/1243/1973 1926/1241/1971 1929/1244/1974 -f 1930/1245/1975 1929/1244/1974 1926/1241/1971 -f 1926/1241/1971 1917/1236/1954 1930/1245/1975 -f 1916/1235/1952 1930/1245/1975 1917/1236/1954 -f 1879/1223/1969 1925/1240/1970 1881/1225/1976 -f 1931/1246/1977 1881/1225/1976 1925/1240/1970 -f 1881/1225/1976 1931/1246/1977 1883/1223/1978 -f 1932/1240/1979 1883/1223/1978 1931/1246/1977 -f 1883/1223/1978 1932/1240/1979 1885/1221/1951 -f 1916/1235/1952 1885/1221/1951 1932/1240/1979 -f 1932/1240/1979 1933/1247/1980 1916/1235/1952 -f 1930/1245/1975 1916/1235/1952 1933/1247/1980 -f 1933/1247/1980 1934/1244/1981 1930/1245/1975 -f 1929/1244/1974 1930/1245/1975 1934/1244/1981 -f 1934/1244/1981 1935/1248/1982 1929/1244/1974 -f 1929/1244/1974 1935/1248/1982 1928/1243/1973 -f 1928/1243/1973 1935/1248/1982 1936/1249/1983 -f 1936/1249/1983 1927/1242/1972 1928/1243/1973 -f 1927/1242/1972 1936/1249/1983 1937/1250/1984 -f 1937/1250/1984 1919/1238/1958 1927/1242/1972 -f 1919/1238/1958 1937/1250/1984 1920/1239/1960 -f 1938/1251/1985 1920/1239/1960 1937/1250/1984 -f 1920/1239/1960 1938/1251/1985 1921/1238/1962 -f 1939/1250/1986 1921/1238/1962 1938/1251/1985 -f 1921/1238/1962 1939/1250/1986 1922/1237/1964 -f 1940/1242/1987 1922/1237/1964 1939/1250/1986 -f 1922/1237/1964 1940/1242/1987 1923/1236/1966 -f 1941/1241/1988 1923/1236/1966 1940/1242/1987 -f 1923/1236/1966 1941/1241/1988 1924/1235/1968 -f 1942/1245/1989 1924/1235/1968 1941/1241/1988 -f 1924/1235/1968 1942/1245/1989 1925/1240/1970 -f 1943/1247/1990 1925/1240/1970 1942/1245/1989 -f 1925/1240/1970 1943/1247/1990 1931/1246/1977 -f 1944/1247/1991 1931/1246/1977 1943/1247/1990 -f 1931/1246/1977 1944/1247/1991 1932/1240/1979 -f 1933/1247/1980 1932/1240/1979 1944/1247/1991 -f 1944/1247/1991 1945/1252/1992 1933/1247/1980 -f 1934/1244/1981 1933/1247/1980 1945/1252/1992 -f 1945/1252/1992 1935/1248/1982 1934/1244/1981 -f 1946/1244/1993 1935/1248/1982 1945/1252/1992 -f 1945/1252/1992 1944/1247/1991 1946/1244/1993 -f 1943/1247/1990 1946/1244/1993 1944/1247/1991 -f 1947/1244/1994 1935/1248/1982 1946/1244/1993 -f 1946/1244/1993 1943/1247/1990 1947/1244/1994 -f 1942/1245/1989 1947/1244/1994 1943/1247/1990 -f 1947/1244/1994 1942/1245/1989 1948/1243/1995 -f 1941/1241/1988 1948/1243/1995 1942/1245/1989 -f 1948/1243/1995 1941/1241/1988 1949/1249/1996 -f 1940/1242/1987 1949/1249/1996 1941/1241/1988 -f 1949/1249/1996 1940/1242/1987 1950/1253/1997 -f 1939/1250/1986 1950/1253/1997 1940/1242/1987 -f 1950/1253/1997 1939/1250/1986 1951/1253/1998 -f 1938/1251/1985 1951/1253/1998 1939/1250/1986 -f 1951/1253/1998 1938/1251/1985 1952/1253/1999 -f 1937/1250/1984 1952/1253/1999 1938/1251/1985 -f 1952/1253/1999 1937/1250/1984 1936/1249/1983 -f 1936/1249/1983 1935/1248/1982 1952/1253/1999 -f 1952/1253/1999 1935/1248/1982 1951/1253/1998 -f 1951/1253/1998 1935/1248/1982 1950/1253/1997 -f 1950/1253/1997 1935/1248/1982 1949/1249/1996 -f 1949/1249/1996 1935/1248/1982 1948/1243/1995 -f 1948/1243/1995 1935/1248/1982 1947/1244/1994 -f 1689/1106/2000 1953/1107/2000 1690/1254/2000 -f 1796/1169/1719 1953/1255/2001 1798/1256/1719 -f 1689/1060/2002 1798/1256/1719 1953/1255/2001 -f 1953/1257/1856 1796/1191/2003 1690/1072/1856 -f 1797/1189/2004 1690/1072/1856 1796/1191/2003 -f 1798/1258/2005 1797/1258/2005 1796/1254/2005 -f 1690/1204/2006 1797/1259/2006 1689/1260/2006 -f 1798/1259/2007 1689/1260/2007 1797/1259/2007 -# 500 faces - -# -# object P_51_Mustang_Left_Landing_Wheel -# - -v 19.25 -7.41 18.44 -v 19.26 -7.41 18.30 -v 20.79 -7.36 18.42 -v 20.79 -7.36 18.28 -v 20.30 -0.82 17.29 -v 19.89 -9.61 17.84 -v 20.06 -0.82 17.28 -v 20.05 -9.61 18.01 -v 20.47 -0.82 17.47 -v 20.04 -9.61 18.26 -v 20.45 -0.82 17.71 -v 19.86 -9.61 18.43 -v 20.27 -0.82 17.88 -v 19.61 -9.61 18.42 -v 20.03 -0.82 17.87 -v 19.45 -9.60 18.24 -v 19.87 -0.82 17.69 -v 19.46 -9.61 18.00 -v 19.88 -0.82 17.45 -v 19.64 -9.61 17.83 -v 18.91 -13.24 18.10 -v 18.69 -13.22 18.10 -v 19.03 -10.60 17.93 -v 18.70 -10.57 17.94 -v 19.21 -9.83 17.89 -v 19.03 -9.31 17.85 -v 19.56 -9.60 17.87 -v 19.59 -9.04 17.83 -v 19.58 -9.04 18.33 -v 19.02 -9.31 18.35 -v 19.56 -9.59 18.36 -v 19.20 -9.83 18.38 -v 18.70 -10.57 18.43 -v 19.03 -10.60 18.43 -v 18.59 -13.22 18.60 -v 18.90 -13.24 18.60 -v 23.32 -9.94 15.18 -v 21.57 -3.85 17.12 -v 23.08 -10.00 18.57 -v 20.86 -1.44 18.08 -v 20.94 -1.41 16.97 -v 20.73 -1.48 16.97 -v 21.36 -3.92 17.12 -v 20.65 -1.50 18.08 -v 22.86 -10.07 18.58 -v 23.11 -10.00 15.18 -v 20.80 -7.18 18.41 -v 20.80 -7.18 18.27 -v 19.27 -7.10 18.42 -v 19.27 -7.10 18.28 -v 20.80 -7.36 17.54 -v 19.27 -7.42 17.55 -v 20.81 -7.18 17.52 -v 19.28 -7.10 17.53 -v 19.28 -7.10 17.68 -v 19.26 -7.41 17.70 -v 20.81 -7.18 17.67 -v 20.80 -7.36 17.68 -v 18.93 -10.59 17.88 -v 18.90 -10.98 16.68 -v 18.93 -10.87 19.15 -v 18.91 -11.75 20.15 -v 18.87 -12.99 20.61 -v 18.74 -15.33 17.13 -v 18.80 -13.21 15.67 -v 18.76 -14.45 16.14 -v 18.85 -11.94 15.88 -v 19.50 -14.55 15.96 -v 19.55 -13.22 15.47 -v 19.60 -11.86 15.68 -v 19.65 -10.83 16.55 -v 19.68 -10.41 17.84 -v 19.68 -10.71 19.20 -v 19.66 -11.65 20.27 -v 19.62 -12.98 20.77 -v 18.82 -14.26 20.41 -v 19.57 -14.34 20.55 -v 18.78 -15.22 19.60 -v 19.52 -15.37 19.68 -v 20.42 -10.87 19.10 -v 20.40 -11.74 20.10 -v 20.36 -12.98 20.56 -v 20.31 -14.25 20.36 -v 20.27 -15.21 19.55 -v 19.49 -15.79 18.40 -v 20.24 -15.60 18.35 -v 19.48 -15.49 17.04 -v 20.23 -15.32 17.08 -v 18.75 -15.61 18.40 -v 20.25 -14.44 16.08 -v 20.29 -13.21 15.62 -v 20.34 -11.94 15.82 -v 20.39 -10.98 16.63 -v 20.42 -10.59 17.83 -# 94 vertices - -vn 0.04 -1.00 0.00 -vn 0.41 -0.08 -0.91 -vn -0.34 -0.04 -0.94 -vn 0.94 -0.07 -0.33 -vn 0.93 -0.07 -0.35 -vn 0.90 -0.02 0.44 -vn 0.91 -0.02 0.40 -vn 0.34 0.04 0.94 -vn 0.37 0.04 0.93 -vn -0.41 0.08 0.91 -vn -0.93 0.07 0.35 -vn -0.94 0.07 0.33 -vn -0.91 0.02 -0.40 -vn -0.90 0.02 -0.44 -vn -0.37 -0.04 -0.93 -vn -0.01 -0.06 -1.00 -vn 0.01 0.06 1.00 -vn -0.01 -1.00 0.00 -vn 0.01 1.00 -0.00 -vn 0.96 0.25 0.07 -vn -0.96 -0.25 -0.07 -vn 1.00 -0.05 0.01 -vn 0.05 1.00 -0.00 -vn -1.00 0.05 -0.01 -vn -0.43 0.90 -0.01 -vn -0.97 0.25 -0.01 -vn -1.00 0.04 -0.01 -vn -1.00 0.03 -0.04 -vn -0.98 -0.00 -0.18 -vn -0.98 -0.01 -0.20 -vn -0.06 -1.00 -0.01 -vn -0.08 -1.00 -0.00 -vn -0.07 -1.00 -0.01 -vn -0.09 -1.00 0.00 -vn 0.98 -0.22 0.01 -vn 0.55 -0.83 0.01 -vn -0.29 0.96 -0.00 -vn -0.01 0.05 1.00 -vn 0.29 -0.96 0.00 -vn -0.09 0.28 -0.96 -vn 0.02 -0.06 -1.00 -vn -1.00 0.04 0.01 -vn -0.26 -0.55 -0.79 -vn -0.27 -0.10 -0.96 -vn -0.03 -0.57 -0.82 -vn -0.03 -0.10 -0.99 -vn -0.27 0.40 -0.87 -vn -0.03 0.42 -0.91 -vn -0.26 0.80 -0.53 -vn -0.02 0.83 -0.56 -vn -0.24 0.97 -0.04 -vn -0.00 1.00 -0.05 -vn -0.22 0.87 0.45 -vn 0.01 0.89 0.45 -vn -0.20 0.55 0.81 -vn 0.03 0.57 0.82 -vn -0.20 0.10 0.97 -vn 0.03 0.10 0.99 -vn -0.21 -0.40 0.89 -vn 0.03 -0.42 0.91 -vn -0.22 -0.81 0.55 -vn 0.02 -0.83 0.56 -vn 0.25 0.87 0.44 -vn 0.26 0.55 0.79 -vn 0.27 0.10 0.96 -vn 0.27 -0.40 0.87 -vn 0.26 -0.80 0.53 -vn 0.00 -1.00 0.05 -vn 0.24 -0.97 0.04 -vn -0.01 -0.89 -0.45 -vn 0.22 -0.87 -0.45 -vn -0.24 -0.97 0.05 -vn -0.25 -0.87 -0.44 -vn 0.20 -0.55 -0.81 -vn 0.20 -0.10 -0.97 -vn 0.21 0.40 -0.89 -vn 0.22 0.81 -0.55 -vn 0.24 0.97 -0.05 -vn 1.00 -0.04 -0.01 -# 79 vertex normals - -vt 0.07 0.76 0.00 -vt 0.09 0.92 0.00 -vt 0.30 0.92 0.00 -vt 0.30 0.93 0.00 -vt 0.09 0.93 0.00 -vt 0.30 0.94 0.00 -vt 0.09 0.94 0.00 -vt 0.44 0.70 0.00 -vt 0.44 0.73 0.00 -vt 0.44 0.74 0.00 -vt 0.43 0.74 0.00 -vt 0.43 0.75 0.00 -vt 0.31 0.99 0.00 -vt 0.31 0.98 0.00 -vt 0.32 1.00 0.00 -vt 0.33 0.99 0.00 -vt 0.33 0.98 0.00 -vt 0.33 1.00 0.00 -vt 0.32 0.98 0.00 -vt 0.66 0.03 0.00 -vt 0.53 0.08 0.00 -vt 0.67 0.11 0.00 -vt 0.47 0.11 0.00 -vt 0.47 0.08 0.00 -vt 0.61 0.03 0.00 -vt 0.66 0.00 0.00 -vt 0.47 0.00 0.00 -vt 0.08 0.75 0.00 -vt 0.09 0.75 0.00 -vt 0.07 0.75 0.00 -vt 0.03 0.85 0.00 -vt 0.04 0.85 0.00 -vt 0.03 0.84 0.00 -vt 0.04 0.84 0.00 -vt 0.08 0.76 0.00 -vt 0.09 0.74 0.00 -vt 0.42 0.74 0.00 -vt 0.42 0.73 0.00 -vt 0.43 0.73 0.00 -vt 0.42 0.72 0.00 -vt 0.43 0.72 0.00 -vt 0.46 0.73 0.00 -vt 0.46 0.72 0.00 -vt 0.45 0.73 0.00 -vt 0.05 0.68 0.00 -vt 0.03 0.68 0.00 -vt 0.03 0.67 0.00 -vt 0.16 0.67 0.00 -vt 0.08 0.68 0.00 -vt 0.08 0.67 0.00 -vt 0.16 0.66 0.00 -vt 0.07 0.66 0.00 -vt 0.07 0.67 0.00 -vt 0.03 0.66 0.00 -vt 0.82 0.92 0.00 -vt 0.80 0.92 0.00 -vt 0.84 0.93 0.00 -vt 0.85 0.94 0.00 -vt 0.85 0.96 0.00 -vt 0.78 0.98 0.00 -vt 0.77 0.94 0.00 -vt 0.77 0.96 0.00 -vt 0.78 0.93 0.00 -vt 0.31 0.77 0.00 -vt 0.29 0.77 0.00 -vt 0.31 0.76 0.00 -vt 0.29 0.76 0.00 -vt 0.32 0.77 0.00 -vt 0.33 0.76 0.00 -vt 0.34 0.77 0.00 -vt 0.34 0.76 0.00 -vt 0.36 0.77 0.00 -vt 0.36 0.76 0.00 -vt 0.38 0.77 0.00 -vt 0.38 0.76 0.00 -vt 0.39 0.77 0.00 -vt 0.39 0.76 0.00 -vt 0.36 0.75 0.00 -vt 0.38 0.75 0.00 -vt 0.39 0.75 0.00 -vt 0.34 0.75 0.00 -vt 0.32 0.75 0.00 -vt 0.31 0.75 0.00 -vt 0.29 0.75 0.00 -vt 0.84 0.98 0.00 -vt 0.82 0.99 0.00 -vt 0.80 0.99 0.00 -# 87 texture coords - -g P_51_Mustang_Left_Landing_Wheel -f 1954/1261/2008 1955/1261/2008 1956/1261/2008 -f 1957/1261/2008 1956/1261/2008 1955/1261/2008 -f 1958/1262/2009 1959/1263/2009 1960/1262/2010 -f 1959/1263/2009 1958/1262/2009 1961/1264/2011 -f 1962/1265/2012 1961/1264/2011 1958/1262/2009 -f 1961/1264/2011 1962/1265/2012 1963/1266/2013 -f 1964/1267/2014 1963/1266/2013 1962/1265/2012 -f 1963/1266/2013 1964/1267/2014 1965/1266/2015 -f 1966/1267/2016 1965/1266/2015 1964/1267/2014 -f 1965/1266/2015 1966/1267/2016 1967/1266/2017 -f 1968/1267/2017 1967/1266/2017 1966/1267/2016 -f 1967/1266/2017 1968/1267/2017 1969/1266/2018 -f 1970/1267/2019 1969/1266/2018 1968/1267/2017 -f 1969/1266/2018 1970/1267/2019 1971/1264/2020 -f 1972/1265/2021 1971/1264/2020 1970/1267/2019 -f 1971/1264/2020 1972/1265/2021 1973/1263/2022 -f 1960/1262/2010 1973/1263/2022 1972/1265/2021 -f 1973/1263/2022 1960/1262/2010 1959/1263/2009 -f 1974/1268/2023 1975/1268/2023 1976/1269/2023 -f 1975/1268/2023 1977/1269/2023 1976/1269/2023 -f 1976/1269/2023 1977/1269/2023 1978/1270/2023 -f 1977/1269/2023 1979/1270/2023 1978/1270/2023 -f 1978/1270/2023 1979/1270/2023 1980/1271/2023 -f 1979/1270/2023 1981/1272/2023 1980/1271/2023 -f 1982/1272/2024 1983/1270/2024 1984/1271/2024 -f 1983/1270/2024 1985/1270/2024 1984/1271/2024 -f 1986/1269/2024 1985/1270/2024 1983/1270/2024 -f 1987/1269/2024 1985/1270/2024 1986/1269/2024 -f 1988/1268/2024 1987/1269/2024 1986/1269/2024 -f 1989/1268/2024 1987/1269/2024 1988/1268/2024 -f 1967/1273/2025 1969/1274/2025 1965/1275/2025 -f 1969/1274/2025 1961/1276/2025 1965/1275/2025 -f 1973/1277/2025 1961/1276/2025 1969/1274/2025 -f 1959/1277/2025 1961/1276/2025 1973/1277/2025 -f 1965/1275/2025 1961/1276/2025 1963/1278/2025 -f 1958/1279/2026 1960/1277/2026 1962/1274/2026 -f 1960/1277/2026 1966/1275/2026 1962/1274/2026 -f 1970/1276/2026 1966/1275/2026 1960/1277/2026 -f 1968/1278/2026 1966/1275/2026 1970/1276/2026 -f 1972/1277/2026 1970/1276/2026 1960/1277/2026 -f 1990/1280/2027 1991/1281/2027 1992/1282/2027 -f 1992/1282/2027 1991/1281/2027 1993/1283/2027 -f 1991/1281/2027 1994/1284/2027 1993/1283/2027 -f 1995/1280/2028 1996/1285/2028 1997/1286/2028 -f 1996/1285/2028 1998/1287/2028 1997/1286/2028 -f 1999/1284/2028 1998/1287/2028 1996/1285/2028 -f 1956/1288/2029 1957/1288/2029 2000/1288/2029 -f 2001/1288/2029 2000/1288/2029 1957/1288/2029 -f 2000/1288/2030 2001/1288/2030 2002/1289/2030 -f 2003/1289/2030 2002/1289/2030 2001/1288/2030 -f 2002/1290/2031 2003/1290/2031 1954/1290/2031 -f 1955/1290/2031 1954/1290/2031 2003/1290/2031 -f 2004/1291/2023 2005/1292/2023 2006/1293/2023 -f 2007/1294/2023 2006/1293/2023 2005/1292/2023 -f 2008/1293/2024 2009/1291/2024 2010/1294/2024 -f 2011/1292/2024 2010/1294/2024 2009/1291/2024 -f 2009/1290/2008 2005/1261/2008 2011/1288/2008 -f 2004/1295/2008 2011/1288/2008 2005/1261/2008 -f 2011/1289/2029 2004/1289/2029 2010/1289/2029 -f 2006/1289/2029 2010/1289/2029 2004/1289/2029 -f 2010/1288/2030 2006/1288/2030 2008/1288/2030 -f 2007/1288/2030 2008/1288/2030 2006/1288/2030 -f 2008/1296/2031 2007/1296/2031 2009/1296/2031 -f 2005/1296/2031 2009/1296/2031 2007/1296/2031 -f 1982/1297/2032 1981/1298/2032 1983/1271/2032 -f 1979/1299/2032 1983/1271/2032 1981/1298/2032 -f 1983/1298/2033 1979/1300/2033 1986/1299/2033 -f 1977/1301/2033 1986/1299/2033 1979/1300/2033 -f 1986/1299/2034 1977/1301/2035 1988/1302/2036 -f 1975/1303/2037 1988/1302/2036 1977/1301/2035 -f 1988/1299/2038 1975/1299/2039 1989/1271/2040 -f 1974/1271/2041 1989/1271/2040 1975/1299/2039 -f 1989/1298/2029 1974/1298/2029 1987/1304/2029 -f 1976/1304/2029 1987/1304/2029 1974/1298/2029 -f 1987/1304/2042 1976/1304/2042 1985/1302/2042 -f 1978/1302/2042 1985/1302/2042 1976/1304/2042 -f 1985/1297/2043 1978/1271/2043 1984/1297/2043 -f 1980/1271/2043 1984/1297/2043 1978/1271/2043 -f 1994/1305/2044 1995/1305/2044 1993/1306/2044 -f 1997/1306/2044 1993/1306/2044 1995/1305/2044 -f 1998/1307/2045 1992/1307/2045 1997/1308/2045 -f 1993/1308/2045 1997/1308/2045 1992/1307/2045 -f 1999/1306/2046 1990/1307/2046 1998/1309/2046 -f 1992/1310/2046 1998/1309/2046 1990/1307/2046 -f 1990/1311/2047 1999/1308/2047 1991/1312/2047 -f 1996/1313/2047 1991/1312/2047 1999/1308/2047 -f 1995/1307/2048 1994/1314/2048 1996/1313/2048 -f 1991/1312/2048 1996/1313/2048 1994/1314/2048 -f 1962/1274/2026 1966/1275/2026 1964/1273/2026 -f 1957/1291/2023 1955/1292/2023 2001/1293/2023 -f 2003/1294/2023 2001/1293/2023 1955/1292/2023 -f 2002/1293/2024 1954/1291/2024 2000/1294/2024 -f 1956/1292/2024 2000/1294/2024 1954/1291/2024 -f 1971/1279/2025 1973/1277/2025 1969/1274/2025 -f 2012/1315/2049 2013/1316/2049 2014/1317/2049 -f 2015/1318/2049 2014/1317/2049 2016/1319/2049 -f 2014/1317/2049 2013/1316/2049 2016/1319/2049 -f 2013/1316/2049 2017/1320/2049 2016/1319/2049 -f 2018/1321/2049 2017/1320/2049 2013/1316/2049 -f 2019/1322/2049 2017/1320/2049 2018/1321/2049 -f 2020/1323/2049 2018/1321/2049 2013/1316/2049 -f 2019/1324/2050 2018/1325/2051 2021/1326/2052 -f 2022/1327/2053 2021/1326/2052 2018/1325/2051 -f 2018/1325/2051 2020/1324/2054 2022/1327/2053 -f 2023/1326/2055 2022/1327/2053 2020/1324/2054 -f 2020/1324/2054 2013/1328/2056 2023/1326/2055 -f 2024/1329/2057 2023/1326/2055 2013/1328/2056 -f 2013/1328/2056 2012/1330/2058 2024/1329/2057 -f 2025/1331/2059 2024/1329/2057 2012/1330/2058 -f 2012/1330/2058 2014/1332/2060 2025/1331/2059 -f 2026/1333/2061 2025/1331/2059 2014/1332/2060 -f 2014/1332/2060 2015/1334/2062 2026/1333/2061 -f 2027/1335/2063 2026/1333/2061 2015/1334/2062 -f 2015/1334/2062 2016/1336/2064 2027/1335/2063 -f 2028/1337/2065 2027/1335/2063 2016/1336/2064 -f 2016/1336/2064 2029/1334/2066 2028/1337/2065 -f 2030/1335/2067 2028/1337/2065 2029/1334/2066 -f 2029/1334/2066 2031/1332/2068 2030/1335/2067 -f 2032/1333/2069 2030/1335/2067 2031/1332/2068 -f 2026/1333/2061 2027/1335/2063 2033/1338/2070 -f 2034/1339/2071 2033/1338/2070 2027/1335/2063 -f 2027/1335/2063 2028/1337/2065 2034/1339/2071 -f 2035/1340/2072 2034/1339/2071 2028/1337/2065 -f 2028/1337/2065 2030/1335/2067 2035/1340/2072 -f 2036/1339/2073 2035/1340/2072 2030/1335/2067 -f 2030/1335/2067 2032/1333/2069 2036/1339/2073 -f 2037/1338/2074 2036/1339/2073 2032/1333/2069 -f 2032/1333/2069 2038/1331/2075 2037/1338/2074 -f 2039/1341/2076 2037/1338/2074 2038/1331/2075 -f 2038/1331/2075 2040/1329/2077 2039/1341/2076 -f 2041/1342/2078 2039/1341/2076 2040/1329/2077 -f 2031/1332/2068 2042/1330/2079 2032/1333/2069 -f 2038/1331/2075 2032/1333/2069 2042/1330/2079 -f 2042/1330/2079 2017/1328/2080 2038/1331/2075 -f 2040/1329/2077 2038/1331/2075 2017/1328/2080 -f 2017/1328/2080 2019/1324/2050 2040/1329/2077 -f 2021/1326/2052 2040/1329/2077 2019/1324/2050 -f 2040/1329/2077 2021/1326/2052 2041/1342/2078 -f 2043/1343/2081 2041/1342/2078 2021/1326/2052 -f 2021/1326/2052 2022/1327/2053 2043/1343/2081 -f 2044/1344/2082 2043/1343/2081 2022/1327/2053 -f 2022/1327/2053 2023/1326/2055 2044/1344/2082 -f 2045/1343/2083 2044/1344/2082 2023/1326/2055 -f 2023/1326/2055 2024/1329/2057 2045/1343/2083 -f 2046/1342/2084 2045/1343/2083 2024/1329/2057 -f 2024/1329/2057 2025/1331/2059 2046/1342/2084 -f 2047/1341/2085 2046/1342/2084 2025/1331/2059 -f 2025/1331/2059 2026/1333/2061 2047/1341/2085 -f 2033/1338/2070 2047/1341/2085 2026/1333/2061 -f 2044/1319/2086 2045/1318/2086 2043/1345/2086 -f 2045/1318/2086 2047/1315/2086 2043/1345/2086 -f 2043/1345/2086 2047/1315/2086 2036/1322/2086 -f 2047/1315/2086 2034/1323/2086 2036/1322/2086 -f 2036/1322/2086 2034/1323/2086 2035/1321/2086 -f 2033/1316/2086 2034/1323/2086 2047/1315/2086 -f 2046/1317/2086 2047/1315/2086 2045/1318/2086 -f 2041/1346/2086 2043/1345/2086 2039/1347/2086 -f 2039/1347/2086 2043/1345/2086 2036/1322/2086 -f 2037/1320/2086 2039/1347/2086 2036/1322/2086 -f 2042/1347/2049 2031/1346/2049 2017/1320/2049 -f 2017/1320/2049 2031/1346/2049 2016/1319/2049 -f 2016/1319/2049 2031/1346/2049 2029/1345/2049 -# 162 faces - -# -# object P_51_Mustang_Left_Rockets -# - -v 28.30 -4.77 8.29 -v 28.33 -4.86 5.62 -v 28.36 -4.84 8.30 -v 28.39 -4.93 5.63 -v 30.30 -3.78 17.72 -v 30.11 -3.64 18.78 -v 29.93 -4.14 17.76 -v 29.98 -4.36 6.27 -v 29.58 -4.47 6.28 -v 29.44 -4.27 17.78 -v 29.18 -4.36 6.28 -v 28.96 -4.13 17.77 -v 28.90 -4.06 6.25 -v 28.63 -3.77 17.74 -v 28.82 -3.65 6.22 -v 28.52 -3.28 17.70 -v 28.94 -3.25 6.18 -v 28.67 -2.78 17.65 -v 29.25 -2.95 6.15 -v 29.04 -2.43 17.61 -v 29.65 -2.85 6.14 -v 29.53 -2.30 17.60 -v 30.05 -2.96 6.14 -v 30.01 -2.44 17.60 -v 28.80 -3.63 18.79 -v 29.07 -3.91 18.82 -v 29.44 -4.02 18.82 -v 29.82 -3.92 18.81 -v 29.46 -3.20 20.36 -v 30.23 -3.25 18.75 -v 30.46 -3.29 17.68 -v 30.29 -4.07 6.24 -v 30.41 -3.66 6.20 -v 29.13 -2.58 18.69 -v 28.84 -2.86 18.72 -v 28.72 -3.24 18.76 -v 29.51 -2.48 18.68 -v 30.32 -3.26 6.17 -v 30.35 -2.80 17.63 -v 30.15 -2.87 18.71 -v 29.89 -2.58 18.69 -v 29.57 -3.63 6.19 -v 29.64 -3.70 6.20 -v 30.92 -2.50 5.38 -v 30.85 -2.43 5.38 -v 29.61 -3.61 8.86 -v 29.55 -3.54 8.86 -v 30.89 -2.41 8.05 -v 30.82 -2.34 8.04 -v 30.77 -4.79 8.27 -v 29.63 -3.54 8.86 -v 30.70 -4.86 8.27 -v 29.56 -3.61 8.86 -v 28.48 -2.33 8.06 -v 28.41 -2.40 8.07 -v 30.73 -4.94 5.61 -v 29.59 -3.70 6.20 -v 28.44 -2.48 5.41 -v 28.51 -2.41 5.40 -v 29.66 -3.63 6.19 -v 30.80 -4.88 5.60 -v 30.94 -4.79 8.27 -v 30.97 -4.88 5.60 -v 31.00 -4.86 8.27 -v 31.03 -4.95 5.60 -v 32.94 -3.80 17.70 -v 32.75 -3.66 18.76 -v 32.57 -4.16 17.74 -v 32.62 -4.38 6.25 -v 32.21 -4.49 6.26 -v 32.08 -4.29 17.75 -v 31.82 -4.38 6.25 -v 31.60 -4.15 17.74 -v 31.54 -4.08 6.23 -v 31.26 -3.79 17.71 -v 31.45 -3.67 6.19 -v 31.16 -3.30 17.67 -v 31.58 -3.27 6.15 -v 31.31 -2.81 17.62 -v 31.89 -2.97 6.12 -v 31.68 -2.45 17.59 -v 32.29 -2.87 6.11 -v 32.17 -2.32 17.57 -v 32.68 -2.98 6.12 -v 32.65 -2.46 17.58 -v 31.44 -3.65 18.77 -v 31.70 -3.93 18.79 -v 32.08 -4.04 18.80 -v 32.46 -3.94 18.79 -v 32.09 -3.22 20.34 -v 32.87 -3.27 18.72 -v 33.09 -3.31 17.65 -v 32.92 -4.09 6.22 -v 33.05 -3.68 6.18 -v 31.77 -2.60 18.67 -v 31.48 -2.88 18.70 -v 31.36 -3.26 18.73 -v 32.15 -2.50 18.66 -v 32.96 -3.28 6.14 -v 32.99 -2.82 17.61 -v 32.79 -2.89 18.69 -v 32.52 -2.61 18.66 -v 32.21 -3.65 6.17 -v 32.28 -3.72 6.17 -v 33.55 -2.52 5.36 -v 33.49 -2.45 5.35 -v 32.25 -3.63 8.84 -v 32.18 -3.56 8.83 -v 33.52 -2.43 8.02 -v 33.46 -2.36 8.02 -v 33.41 -4.81 8.24 -v 32.27 -3.56 8.83 -v 33.34 -4.88 8.25 -v 32.19 -3.63 8.84 -v 31.12 -2.35 8.04 -v 31.05 -2.42 8.05 -v 33.37 -4.96 5.58 -v 32.22 -3.72 6.17 -v 31.08 -2.50 5.38 -v 31.15 -2.43 5.37 -v 32.29 -3.65 6.16 -v 33.44 -4.90 5.58 -v 33.69 -4.81 8.24 -v 33.72 -4.90 5.57 -v 33.75 -4.88 8.25 -v 33.78 -4.97 5.58 -v 35.69 -3.82 17.67 -v 35.50 -3.68 18.73 -v 35.32 -4.18 17.71 -v 35.37 -4.40 6.22 -v 34.96 -4.51 6.23 -v 34.83 -4.31 17.73 -v 34.57 -4.40 6.23 -v 34.35 -4.17 17.72 -v 34.29 -4.10 6.20 -v 34.01 -3.81 17.69 -v 34.21 -3.69 6.17 -v 33.91 -3.32 17.64 -v 34.33 -3.29 6.13 -v 34.06 -2.83 17.60 -v 34.64 -2.99 6.10 -v 34.43 -2.47 17.56 -v 35.04 -2.89 6.08 -v 34.92 -2.34 17.54 -v 35.44 -3.00 6.09 -v 35.40 -2.48 17.55 -v 34.19 -3.67 18.74 -v 34.45 -3.95 18.77 -v 34.83 -4.06 18.77 -v 35.21 -3.96 18.76 -v 34.85 -3.24 20.31 -v 35.62 -3.30 18.69 -v 35.84 -3.33 17.63 -v 35.67 -4.11 6.19 -v 35.80 -3.71 6.15 -v 34.52 -2.62 18.64 -v 34.23 -2.90 18.67 -v 34.11 -3.28 18.71 -v 34.90 -2.52 18.63 -v 35.71 -3.30 6.12 -v 35.74 -2.84 17.58 -v 35.54 -2.91 18.66 -v 35.27 -2.63 18.64 -v 34.96 -3.67 6.14 -v 35.03 -3.74 6.15 -v 36.31 -2.54 5.33 -v 36.24 -2.47 5.32 -v 35.00 -3.65 8.81 -v 34.93 -3.58 8.81 -v 36.28 -2.46 8.00 -v 36.21 -2.39 7.99 -v 36.16 -4.83 8.22 -v 35.02 -3.58 8.81 -v 36.09 -4.90 8.22 -v 34.94 -3.65 8.81 -v 33.87 -2.37 8.01 -v 33.80 -2.44 8.02 -v 36.12 -4.99 5.56 -v 34.97 -3.74 6.15 -v 33.83 -2.52 5.35 -v 33.90 -2.45 5.35 -v 35.05 -3.67 6.14 -v 36.19 -4.92 5.55 -# 183 vertices - -vn -0.73 -0.68 0.01 -vn 0.85 -0.51 0.11 -vn 0.82 -0.47 0.33 -vn 0.49 -0.86 0.12 -vn 0.50 -0.87 0.02 -vn -0.01 -1.00 0.02 -vn -0.01 -0.99 0.12 -vn -0.52 -0.85 0.01 -vn -0.52 -0.85 0.12 -vn -0.89 -0.46 -0.01 -vn -0.89 -0.45 0.10 -vn -1.00 0.05 -0.03 -vn -1.00 0.05 0.08 -vn -0.85 0.53 -0.04 -vn -0.85 0.53 0.06 -vn -0.48 0.87 -0.05 -vn -0.49 0.87 0.05 -vn 0.01 1.00 -0.05 -vn 0.01 1.00 0.06 -vn 0.52 0.85 -0.04 -vn 0.52 0.85 0.07 -vn -0.85 -0.42 0.32 -vn -0.50 -0.79 0.34 -vn -0.01 -0.94 0.35 -vn 0.47 -0.81 0.34 -vn -0.35 -0.53 0.78 -vn 0.92 -0.26 0.31 -vn 0.95 -0.29 0.10 -vn 0.86 -0.52 0.01 -vn 0.95 -0.30 0.01 -vn -0.46 0.85 0.27 -vn -0.81 0.52 0.28 -vn -0.95 0.07 0.30 -vn 0.01 0.96 0.27 -vn 0.45 0.77 0.46 -vn 0.88 0.47 -0.02 -vn 0.88 0.47 0.08 -vn 0.98 0.21 -0.01 -vn 0.97 0.22 0.09 -vn 0.84 0.46 0.30 -vn 0.93 0.23 0.30 -vn 0.49 0.82 0.29 -vn -0.01 -0.09 -1.00 -vn 0.27 0.17 -0.95 -vn 0.00 -0.08 -1.00 -vn -0.27 -0.33 -0.91 -vn -0.27 -0.17 0.95 -vn -0.00 0.08 1.00 -vn 0.01 0.09 1.00 -vn 0.27 0.33 0.91 -vn -0.69 0.72 -0.03 -vn 0.28 -0.19 0.94 -vn 0.02 0.08 1.00 -vn -0.25 0.35 0.90 -vn 0.25 -0.35 -0.90 -vn -0.02 -0.08 -1.00 -vn -0.28 0.19 -0.94 -vn 0.73 0.68 -0.01 -vn 0.69 -0.72 0.03 -# 59 vertex normals - -vt 0.81 0.65 0.00 -vt 0.71 0.65 0.00 -vt 0.83 0.57 0.00 -vt 0.85 0.57 0.00 -vt 0.64 0.57 0.00 -vt 0.64 0.58 0.00 -vt 0.83 0.58 0.00 -vt 0.64 0.59 0.00 -vt 0.83 0.59 0.00 -vt 0.64 0.60 0.00 -vt 0.83 0.60 0.00 -vt 0.85 0.58 0.00 -vt 0.89 0.58 0.00 -vt 0.85 0.59 0.00 -vt 0.85 0.60 0.00 -vt 0.89 0.60 0.00 -vt 0.64 0.61 0.00 -vt 0.83 0.61 0.00 -vt 0.85 0.61 0.00 -vt 0.37 0.73 0.00 -vt 0.37 0.74 0.00 -vt 0.39 0.74 0.00 -vt 0.39 0.72 0.00 -vt 0.39 0.73 0.00 -vt 0.38 0.74 0.00 -vt 0.69 0.65 0.00 -vt 0.75 0.65 0.00 -vt 0.91 0.70 0.00 -vt 0.91 0.66 0.00 -vt 0.98 0.70 0.00 -vt 0.98 0.66 0.00 -vt 0.91 0.63 0.00 -vt 0.98 0.63 0.00 -vt 0.37 0.72 0.00 -vt 0.38 0.71 0.00 -# 35 texture coords - -g P_51_Mustang_Left_Rockets -f 2048/1348/2087 2049/1349/2087 2050/1348/2087 -f 2051/1349/2087 2050/1348/2087 2049/1349/2087 -f 2052/1350/2088 2053/1351/2089 2054/1350/2090 -f 2054/1350/2090 2055/1352/2091 2052/1350/2088 -f 2055/1352/2091 2054/1350/2090 2056/1353/2092 -f 2057/1354/2093 2056/1353/2092 2054/1350/2090 -f 2056/1353/2092 2057/1354/2093 2058/1353/2094 -f 2059/1354/2095 2058/1353/2094 2057/1354/2093 -f 2058/1353/2094 2059/1354/2095 2060/1353/2096 -f 2061/1354/2097 2060/1353/2096 2059/1354/2095 -f 2060/1353/2096 2061/1354/2097 2062/1355/2098 -f 2063/1356/2099 2062/1355/2098 2061/1354/2097 -f 2062/1355/2098 2063/1356/2099 2064/1355/2100 -f 2065/1356/2101 2064/1355/2100 2063/1356/2099 -f 2064/1355/2100 2065/1356/2101 2066/1355/2102 -f 2067/1356/2103 2066/1355/2102 2065/1356/2101 -f 2066/1355/2102 2067/1356/2103 2068/1357/2104 -f 2069/1358/2105 2068/1357/2104 2067/1356/2103 -f 2068/1357/2104 2069/1358/2105 2070/1357/2106 -f 2071/1358/2107 2070/1357/2106 2069/1358/2105 -f 2061/1354/2097 2072/1359/2108 2063/1356/2099 -f 2072/1359/2108 2061/1354/2097 2073/1359/2109 -f 2059/1354/2095 2073/1359/2109 2061/1354/2097 -f 2073/1359/2109 2059/1354/2095 2074/1359/2110 -f 2057/1354/2093 2074/1359/2110 2059/1354/2095 -f 2074/1359/2110 2057/1354/2093 2075/1351/2111 -f 2054/1350/2090 2075/1351/2111 2057/1354/2093 -f 2075/1351/2111 2054/1350/2090 2053/1351/2089 -f 2075/1351/2111 2053/1351/2089 2076/1360/2112 -f 2053/1351/2089 2077/1351/2113 2076/1360/2112 -f 2053/1351/2089 2052/1350/2088 2077/1351/2113 -f 2078/1350/2114 2077/1351/2113 2052/1350/2088 -f 2052/1350/2088 2079/1352/2115 2078/1350/2114 -f 2080/1352/2116 2078/1350/2114 2079/1352/2115 -f 2081/1361/2117 2082/1361/2118 2076/1360/2112 -f 2082/1361/2118 2083/1361/2119 2076/1360/2112 -f 2083/1361/2119 2072/1359/2108 2076/1360/2112 -f 2072/1359/2108 2073/1359/2109 2076/1360/2112 -f 2073/1359/2109 2074/1359/2110 2076/1360/2112 -f 2074/1359/2110 2075/1351/2111 2076/1360/2112 -f 2084/1362/2120 2081/1361/2117 2076/1363/2121 -f 2070/1357/2106 2071/1358/2107 2085/1357/2122 -f 2086/1358/2123 2085/1357/2122 2071/1358/2107 -f 2085/1357/2122 2086/1358/2123 2080/1364/2124 -f 2078/1365/2125 2080/1364/2124 2086/1358/2123 -f 2086/1358/2123 2087/1362/2126 2078/1365/2125 -f 2077/1366/2127 2078/1365/2125 2087/1362/2126 -f 2077/1366/2127 2087/1362/2126 2076/1363/2121 -f 2087/1362/2126 2088/1362/2128 2076/1363/2121 -f 2088/1362/2128 2084/1362/2120 2076/1363/2121 -f 2088/1362/2128 2071/1358/2107 2084/1362/2120 -f 2069/1358/2105 2084/1362/2120 2071/1358/2107 -f 2084/1362/2120 2069/1358/2105 2081/1361/2117 -f 2067/1356/2103 2081/1361/2117 2069/1358/2105 -f 2081/1361/2117 2067/1356/2103 2082/1361/2118 -f 2065/1356/2101 2082/1361/2118 2067/1356/2103 -f 2082/1361/2118 2065/1356/2101 2083/1361/2119 -f 2063/1356/2099 2083/1361/2119 2065/1356/2101 -f 2083/1361/2119 2063/1356/2099 2072/1359/2108 -f 2087/1362/2126 2086/1358/2123 2088/1362/2128 -f 2071/1358/2107 2088/1362/2128 2086/1358/2123 -f 2085/1367/2129 2080/1367/2129 2070/1368/2129 -f 2080/1367/2129 2066/1369/2129 2070/1368/2129 -f 2058/1370/2129 2066/1369/2129 2080/1367/2129 -f 2062/1371/2129 2066/1369/2129 2058/1370/2129 -f 2060/1370/2129 2062/1371/2129 2058/1370/2129 -f 2070/1368/2129 2066/1369/2129 2068/1372/2129 -f 2064/1371/2129 2066/1369/2129 2062/1371/2129 -f 2049/1373/2130 2089/1374/2129 2051/1373/2130 -f 2090/1374/2131 2051/1373/2130 2089/1374/2129 -f 2090/1374/2131 2089/1374/2129 2091/1348/2132 -f 2092/1348/2132 2091/1348/2132 2089/1374/2129 -f 2050/1373/2133 2093/1374/2134 2048/1373/2133 -f 2094/1374/2135 2048/1373/2133 2093/1374/2134 -f 2093/1374/2134 2095/1348/2136 2094/1374/2135 -f 2096/1348/2136 2094/1374/2135 2095/1348/2136 -f 2048/1375/2137 2094/1376/2137 2049/1377/2137 -f 2089/1378/2137 2049/1377/2137 2094/1376/2137 -f 2094/1376/2137 2096/1379/2137 2089/1378/2137 -f 2092/1380/2137 2089/1378/2137 2096/1379/2137 -f 2097/1373/2138 2098/1374/2135 2099/1373/2138 -f 2100/1374/2139 2099/1373/2138 2098/1374/2135 -f 2098/1374/2135 2101/1348/2140 2100/1374/2139 -f 2102/1348/2140 2100/1374/2139 2101/1348/2140 -f 2099/1375/2087 2100/1376/2087 2103/1377/2087 -f 2104/1378/2087 2103/1377/2087 2100/1376/2087 -f 2100/1376/2087 2102/1379/2087 2104/1378/2087 -f 2105/1380/2087 2104/1378/2087 2102/1379/2087 -f 2105/1348/2141 2106/1348/2141 2104/1374/2142 -f 2107/1374/2129 2104/1374/2142 2106/1348/2141 -f 2107/1374/2129 2108/1373/2143 2104/1374/2142 -f 2103/1373/2143 2104/1374/2142 2108/1373/2143 -f 2101/1375/2144 2098/1376/2144 2106/1377/2144 -f 2107/1378/2144 2106/1377/2144 2098/1376/2144 -f 2098/1376/2144 2097/1379/2144 2107/1378/2144 -f 2108/1380/2144 2107/1378/2144 2097/1379/2144 -f 2079/1381/2129 2055/1381/2129 2080/1367/2129 -f 2055/1381/2129 2058/1370/2129 2080/1367/2129 -f 2056/1382/2129 2058/1370/2129 2055/1381/2129 -f 2095/1375/2145 2093/1376/2145 2091/1377/2145 -f 2090/1378/2145 2091/1377/2145 2093/1376/2145 -f 2093/1376/2145 2050/1379/2145 2090/1378/2145 -f 2051/1380/2145 2090/1378/2145 2050/1379/2145 -f 2095/1348/2144 2091/1349/2144 2096/1348/2144 -f 2092/1349/2144 2096/1348/2144 2091/1349/2144 -f 2099/1348/2145 2103/1349/2145 2097/1348/2145 -f 2108/1349/2145 2097/1348/2145 2103/1349/2145 -f 2101/1348/2137 2106/1349/2137 2102/1348/2137 -f 2105/1349/2137 2102/1348/2137 2106/1349/2137 -f 2079/1352/2115 2052/1350/2088 2055/1352/2091 -f 2109/1348/2087 2110/1349/2087 2111/1348/2087 -f 2112/1349/2087 2111/1348/2087 2110/1349/2087 -f 2113/1350/2088 2114/1351/2089 2115/1350/2090 -f 2115/1350/2090 2116/1352/2091 2113/1350/2088 -f 2116/1352/2091 2115/1350/2090 2117/1353/2092 -f 2118/1354/2093 2117/1353/2092 2115/1350/2090 -f 2117/1353/2092 2118/1354/2093 2119/1353/2094 -f 2120/1354/2095 2119/1353/2094 2118/1354/2093 -f 2119/1353/2094 2120/1354/2095 2121/1353/2096 -f 2122/1354/2097 2121/1353/2096 2120/1354/2095 -f 2121/1353/2096 2122/1354/2097 2123/1355/2098 -f 2124/1356/2099 2123/1355/2098 2122/1354/2097 -f 2123/1355/2098 2124/1356/2099 2125/1355/2100 -f 2126/1356/2101 2125/1355/2100 2124/1356/2099 -f 2125/1355/2100 2126/1356/2101 2127/1355/2102 -f 2128/1356/2103 2127/1355/2102 2126/1356/2101 -f 2127/1355/2102 2128/1356/2103 2129/1357/2104 -f 2130/1358/2105 2129/1357/2104 2128/1356/2103 -f 2129/1357/2104 2130/1358/2105 2131/1357/2106 -f 2132/1358/2107 2131/1357/2106 2130/1358/2105 -f 2122/1354/2097 2133/1359/2108 2124/1356/2099 -f 2133/1359/2108 2122/1354/2097 2134/1359/2109 -f 2120/1354/2095 2134/1359/2109 2122/1354/2097 -f 2134/1359/2109 2120/1354/2095 2135/1359/2110 -f 2118/1354/2093 2135/1359/2110 2120/1354/2095 -f 2135/1359/2110 2118/1354/2093 2136/1351/2111 -f 2115/1350/2090 2136/1351/2111 2118/1354/2093 -f 2136/1351/2111 2115/1350/2090 2114/1351/2089 -f 2136/1351/2111 2114/1351/2089 2137/1360/2112 -f 2114/1351/2089 2138/1351/2113 2137/1360/2112 -f 2114/1351/2089 2113/1350/2088 2138/1351/2113 -f 2139/1350/2114 2138/1351/2113 2113/1350/2088 -f 2113/1350/2088 2140/1352/2115 2139/1350/2114 -f 2141/1352/2116 2139/1350/2114 2140/1352/2115 -f 2142/1361/2117 2143/1361/2118 2137/1360/2112 -f 2143/1361/2118 2144/1361/2119 2137/1360/2112 -f 2144/1361/2119 2133/1359/2108 2137/1360/2112 -f 2133/1359/2108 2134/1359/2109 2137/1360/2112 -f 2134/1359/2109 2135/1359/2110 2137/1360/2112 -f 2135/1359/2110 2136/1351/2111 2137/1360/2112 -f 2145/1362/2120 2142/1361/2117 2137/1363/2121 -f 2131/1357/2106 2132/1358/2107 2146/1357/2122 -f 2147/1358/2123 2146/1357/2122 2132/1358/2107 -f 2146/1357/2122 2147/1358/2123 2141/1364/2124 -f 2139/1365/2125 2141/1364/2124 2147/1358/2123 -f 2147/1358/2123 2148/1362/2126 2139/1365/2125 -f 2138/1366/2127 2139/1365/2125 2148/1362/2126 -f 2138/1366/2127 2148/1362/2126 2137/1363/2121 -f 2148/1362/2126 2149/1362/2128 2137/1363/2121 -f 2149/1362/2128 2145/1362/2120 2137/1363/2121 -f 2149/1362/2128 2132/1358/2107 2145/1362/2120 -f 2130/1358/2105 2145/1362/2120 2132/1358/2107 -f 2145/1362/2120 2130/1358/2105 2142/1361/2117 -f 2128/1356/2103 2142/1361/2117 2130/1358/2105 -f 2142/1361/2117 2128/1356/2103 2143/1361/2118 -f 2126/1356/2101 2143/1361/2118 2128/1356/2103 -f 2143/1361/2118 2126/1356/2101 2144/1361/2119 -f 2124/1356/2099 2144/1361/2119 2126/1356/2101 -f 2144/1361/2119 2124/1356/2099 2133/1359/2108 -f 2148/1362/2126 2147/1358/2123 2149/1362/2128 -f 2132/1358/2107 2149/1362/2128 2147/1358/2123 -f 2146/1367/2129 2141/1367/2129 2131/1368/2129 -f 2141/1367/2129 2127/1369/2129 2131/1368/2129 -f 2119/1370/2129 2127/1369/2129 2141/1367/2129 -f 2123/1371/2129 2127/1369/2129 2119/1370/2129 -f 2121/1370/2129 2123/1371/2129 2119/1370/2129 -f 2131/1368/2129 2127/1369/2129 2129/1372/2129 -f 2125/1371/2129 2127/1369/2129 2123/1371/2129 -f 2110/1373/2130 2150/1374/2129 2112/1373/2130 -f 2151/1374/2131 2112/1373/2130 2150/1374/2129 -f 2151/1374/2131 2150/1374/2129 2152/1348/2132 -f 2153/1348/2132 2152/1348/2132 2150/1374/2129 -f 2111/1373/2133 2154/1374/2134 2109/1373/2133 -f 2155/1374/2135 2109/1373/2133 2154/1374/2134 -f 2154/1374/2134 2156/1348/2136 2155/1374/2135 -f 2157/1348/2136 2155/1374/2135 2156/1348/2136 -f 2109/1375/2137 2155/1376/2137 2110/1377/2137 -f 2150/1378/2137 2110/1377/2137 2155/1376/2137 -f 2155/1376/2137 2157/1379/2137 2150/1378/2137 -f 2153/1380/2137 2150/1378/2137 2157/1379/2137 -f 2158/1373/2138 2159/1374/2135 2160/1373/2138 -f 2161/1374/2139 2160/1373/2138 2159/1374/2135 -f 2159/1374/2135 2162/1348/2140 2161/1374/2139 -f 2163/1348/2140 2161/1374/2139 2162/1348/2140 -f 2160/1375/2087 2161/1376/2087 2164/1377/2087 -f 2165/1378/2087 2164/1377/2087 2161/1376/2087 -f 2161/1376/2087 2163/1379/2087 2165/1378/2087 -f 2166/1380/2087 2165/1378/2087 2163/1379/2087 -f 2166/1348/2141 2167/1348/2141 2165/1374/2142 -f 2168/1374/2129 2165/1374/2142 2167/1348/2141 -f 2168/1374/2129 2169/1373/2143 2165/1374/2142 -f 2164/1373/2143 2165/1374/2142 2169/1373/2143 -f 2162/1375/2144 2159/1376/2144 2167/1377/2144 -f 2168/1378/2144 2167/1377/2144 2159/1376/2144 -f 2159/1376/2144 2158/1379/2144 2168/1378/2144 -f 2169/1380/2144 2168/1378/2144 2158/1379/2144 -f 2140/1381/2129 2116/1381/2129 2141/1367/2129 -f 2116/1381/2129 2119/1370/2129 2141/1367/2129 -f 2117/1382/2129 2119/1370/2129 2116/1381/2129 -f 2156/1375/2145 2154/1376/2145 2152/1377/2145 -f 2151/1378/2145 2152/1377/2145 2154/1376/2145 -f 2154/1376/2145 2111/1379/2145 2151/1378/2145 -f 2112/1380/2145 2151/1378/2145 2111/1379/2145 -f 2156/1348/2144 2152/1349/2144 2157/1348/2144 -f 2153/1349/2144 2157/1348/2144 2152/1349/2144 -f 2160/1348/2145 2164/1349/2145 2158/1348/2145 -f 2169/1349/2145 2158/1348/2145 2164/1349/2145 -f 2162/1348/2137 2167/1349/2137 2163/1348/2137 -f 2166/1349/2137 2163/1348/2137 2167/1349/2137 -f 2140/1352/2115 2113/1350/2088 2116/1352/2091 -f 2170/1348/2087 2171/1349/2087 2172/1348/2087 -f 2173/1349/2087 2172/1348/2087 2171/1349/2087 -f 2174/1350/2088 2175/1351/2089 2176/1350/2090 -f 2176/1350/2090 2177/1352/2091 2174/1350/2088 -f 2177/1352/2091 2176/1350/2090 2178/1353/2092 -f 2179/1354/2093 2178/1353/2092 2176/1350/2090 -f 2178/1353/2092 2179/1354/2093 2180/1353/2094 -f 2181/1354/2095 2180/1353/2094 2179/1354/2093 -f 2180/1353/2094 2181/1354/2095 2182/1353/2096 -f 2183/1354/2097 2182/1353/2096 2181/1354/2095 -f 2182/1353/2096 2183/1354/2097 2184/1355/2098 -f 2185/1356/2099 2184/1355/2098 2183/1354/2097 -f 2184/1355/2098 2185/1356/2099 2186/1355/2100 -f 2187/1356/2101 2186/1355/2100 2185/1356/2099 -f 2186/1355/2100 2187/1356/2101 2188/1355/2102 -f 2189/1356/2103 2188/1355/2102 2187/1356/2101 -f 2188/1355/2102 2189/1356/2103 2190/1357/2104 -f 2191/1358/2105 2190/1357/2104 2189/1356/2103 -f 2190/1357/2104 2191/1358/2105 2192/1357/2106 -f 2193/1358/2107 2192/1357/2106 2191/1358/2105 -f 2183/1354/2097 2194/1359/2108 2185/1356/2099 -f 2194/1359/2108 2183/1354/2097 2195/1359/2109 -f 2181/1354/2095 2195/1359/2109 2183/1354/2097 -f 2195/1359/2109 2181/1354/2095 2196/1359/2110 -f 2179/1354/2093 2196/1359/2110 2181/1354/2095 -f 2196/1359/2110 2179/1354/2093 2197/1351/2111 -f 2176/1350/2090 2197/1351/2111 2179/1354/2093 -f 2197/1351/2111 2176/1350/2090 2175/1351/2089 -f 2197/1351/2111 2175/1351/2089 2198/1360/2112 -f 2175/1351/2089 2199/1351/2113 2198/1360/2112 -f 2175/1351/2089 2174/1350/2088 2199/1351/2113 -f 2200/1350/2114 2199/1351/2113 2174/1350/2088 -f 2174/1350/2088 2201/1352/2115 2200/1350/2114 -f 2202/1352/2116 2200/1350/2114 2201/1352/2115 -f 2203/1361/2117 2204/1361/2118 2198/1360/2112 -f 2204/1361/2118 2205/1361/2119 2198/1360/2112 -f 2205/1361/2119 2194/1359/2108 2198/1360/2112 -f 2194/1359/2108 2195/1359/2109 2198/1360/2112 -f 2195/1359/2109 2196/1359/2110 2198/1360/2112 -f 2196/1359/2110 2197/1351/2111 2198/1360/2112 -f 2206/1362/2120 2203/1361/2117 2198/1363/2121 -f 2192/1357/2106 2193/1358/2107 2207/1357/2122 -f 2208/1358/2123 2207/1357/2122 2193/1358/2107 -f 2207/1357/2122 2208/1358/2123 2202/1364/2124 -f 2200/1365/2125 2202/1364/2124 2208/1358/2123 -f 2208/1358/2123 2209/1362/2126 2200/1365/2125 -f 2199/1366/2127 2200/1365/2125 2209/1362/2126 -f 2199/1366/2127 2209/1362/2126 2198/1363/2121 -f 2209/1362/2126 2210/1362/2128 2198/1363/2121 -f 2210/1362/2128 2206/1362/2120 2198/1363/2121 -f 2210/1362/2128 2193/1358/2107 2206/1362/2120 -f 2191/1358/2105 2206/1362/2120 2193/1358/2107 -f 2206/1362/2120 2191/1358/2105 2203/1361/2117 -f 2189/1356/2103 2203/1361/2117 2191/1358/2105 -f 2203/1361/2117 2189/1356/2103 2204/1361/2118 -f 2187/1356/2101 2204/1361/2118 2189/1356/2103 -f 2204/1361/2118 2187/1356/2101 2205/1361/2119 -f 2185/1356/2099 2205/1361/2119 2187/1356/2101 -f 2205/1361/2119 2185/1356/2099 2194/1359/2108 -f 2209/1362/2126 2208/1358/2123 2210/1362/2128 -f 2193/1358/2107 2210/1362/2128 2208/1358/2123 -f 2207/1367/2129 2202/1367/2129 2192/1368/2129 -f 2202/1367/2129 2188/1369/2129 2192/1368/2129 -f 2180/1370/2129 2188/1369/2129 2202/1367/2129 -f 2184/1371/2129 2188/1369/2129 2180/1370/2129 -f 2182/1370/2129 2184/1371/2129 2180/1370/2129 -f 2192/1368/2129 2188/1369/2129 2190/1372/2129 -f 2186/1371/2129 2188/1369/2129 2184/1371/2129 -f 2171/1373/2130 2211/1374/2129 2173/1373/2130 -f 2212/1374/2131 2173/1373/2130 2211/1374/2129 -f 2212/1374/2131 2211/1374/2129 2213/1348/2132 -f 2214/1348/2132 2213/1348/2132 2211/1374/2129 -f 2172/1373/2133 2215/1374/2134 2170/1373/2133 -f 2216/1374/2135 2170/1373/2133 2215/1374/2134 -f 2215/1374/2134 2217/1348/2136 2216/1374/2135 -f 2218/1348/2136 2216/1374/2135 2217/1348/2136 -f 2170/1375/2137 2216/1376/2137 2171/1377/2137 -f 2211/1378/2137 2171/1377/2137 2216/1376/2137 -f 2216/1376/2137 2218/1379/2137 2211/1378/2137 -f 2214/1380/2137 2211/1378/2137 2218/1379/2137 -f 2219/1373/2138 2220/1374/2135 2221/1373/2138 -f 2222/1374/2139 2221/1373/2138 2220/1374/2135 -f 2220/1374/2135 2223/1348/2140 2222/1374/2139 -f 2224/1348/2140 2222/1374/2139 2223/1348/2140 -f 2221/1375/2087 2222/1376/2087 2225/1377/2087 -f 2226/1378/2087 2225/1377/2087 2222/1376/2087 -f 2222/1376/2087 2224/1379/2087 2226/1378/2087 -f 2227/1380/2087 2226/1378/2087 2224/1379/2087 -f 2227/1348/2141 2228/1348/2141 2226/1374/2142 -f 2229/1374/2129 2226/1374/2142 2228/1348/2141 -f 2229/1374/2129 2230/1373/2143 2226/1374/2142 -f 2225/1373/2143 2226/1374/2142 2230/1373/2143 -f 2223/1375/2144 2220/1376/2144 2228/1377/2144 -f 2229/1378/2144 2228/1377/2144 2220/1376/2144 -f 2220/1376/2144 2219/1379/2144 2229/1378/2144 -f 2230/1380/2144 2229/1378/2144 2219/1379/2144 -f 2201/1381/2129 2177/1381/2129 2202/1367/2129 -f 2177/1381/2129 2180/1370/2129 2202/1367/2129 -f 2178/1382/2129 2180/1370/2129 2177/1381/2129 -f 2217/1375/2145 2215/1376/2145 2213/1377/2145 -f 2212/1378/2145 2213/1377/2145 2215/1376/2145 -f 2215/1376/2145 2172/1379/2145 2212/1378/2145 -f 2173/1380/2145 2212/1378/2145 2172/1379/2145 -f 2217/1348/2144 2213/1349/2144 2218/1348/2144 -f 2214/1349/2144 2218/1348/2144 2213/1349/2144 -f 2221/1348/2145 2225/1349/2145 2219/1348/2145 -f 2230/1349/2145 2219/1348/2145 2225/1349/2145 -f 2223/1348/2137 2228/1349/2137 2224/1348/2137 -f 2227/1349/2137 2224/1348/2137 2228/1349/2137 -f 2201/1352/2115 2174/1350/2088 2177/1352/2091 -# 330 faces - -# -# object P_51_Mustang_Left_Wing_Flap -# - -v 4.70 -0.34 3.26 -v 5.20 -0.60 -0.73 -v 4.68 -0.83 3.28 -v 29.00 -0.53 5.74 -v 29.38 -0.84 2.43 -v 28.97 -1.13 5.77 -# 6 vertices - -vn -0.99 0.04 -0.13 -vn 0.01 1.00 -0.06 -vn 0.02 1.00 -0.09 -vn 0.01 1.00 -0.07 -vn -0.10 0.04 0.99 -vn -0.10 0.06 0.99 -vn -0.00 -1.00 -0.06 -vn -0.00 -1.00 -0.08 -vn -0.00 -1.00 -0.09 -vn 0.99 -0.04 0.12 -# 10 vertex normals - -vt 0.23 0.01 0.00 -vt 0.29 0.02 0.00 -vt 0.23 0.02 0.00 -vt 0.98 0.45 0.00 -vt 0.65 0.50 0.00 -vt 0.97 0.38 0.00 -vt 0.65 0.44 0.00 -vt 0.46 0.01 0.00 -vt 0.46 0.00 0.00 -vt 0.23 0.00 0.00 -vt 0.01 0.04 0.00 -vt 0.01 0.31 0.00 -vt 0.06 0.05 0.00 -vt 0.05 0.32 0.00 -vt 0.28 0.01 0.00 -vt 0.33 0.02 0.00 -vt 0.33 0.01 0.00 -# 17 texture coords - -g P_51_Mustang_Left_Wing_Flap -f 2231/1383/2146 2232/1384/2146 2233/1385/2146 -f 2231/1386/2147 2234/1387/2148 2232/1388/2149 -f 2235/1389/2148 2232/1388/2149 2234/1387/2148 -f 2233/1390/2150 2236/1383/2151 2231/1391/2150 -f 2234/1392/2151 2231/1391/2150 2236/1383/2151 -f 2232/1393/2152 2235/1394/2153 2233/1395/2152 -f 2236/1396/2154 2233/1395/2152 2235/1394/2153 -f 2235/1397/2155 2234/1398/2155 2236/1399/2155 -# 8 faces - -# -# object P_51_Mustang_Right_Elevator -# - -v -1.73 4.93 -32.15 -v -1.43 4.98 -35.87 -v -1.80 5.11 -32.31 -v -4.44 4.96 -31.91 -v -4.06 5.00 -35.35 -v -7.81 5.09 -34.62 -v -7.82 5.05 -31.65 -v -11.23 5.16 -33.95 -v -11.33 5.14 -31.30 -v -14.07 5.22 -33.39 -v -14.38 5.21 -32.45 -v -13.95 5.24 -30.69 -v -13.81 5.66 -30.77 -v -11.12 5.68 -31.09 -v -7.79 5.68 -31.43 -v -4.42 5.63 -31.75 -v -1.74 5.55 -32.08 -# 17 vertices - -vn 0.91 0.41 0.08 -vn -0.01 -1.00 -0.01 -vn -0.02 -1.00 -0.01 -vn -0.03 -1.00 -0.01 -vn -0.03 -1.00 -0.00 -vn -0.02 -1.00 -0.02 -vn -0.02 -1.00 -0.00 -vn -0.03 -1.00 0.03 -vn -0.03 0.99 -0.16 -vn -0.02 0.98 -0.17 -vn -0.02 0.99 -0.17 -vn -0.02 0.98 -0.18 -vn -0.01 0.98 -0.18 -vn -0.01 0.98 -0.17 -vn -0.03 0.98 -0.18 -vn -0.00 0.99 -0.16 -vn -0.01 0.99 -0.16 -vn 0.01 0.99 -0.15 -vn 0.98 -0.18 0.11 -# 19 vertex normals - -vt 0.96 0.79 0.00 -vt 0.96 0.78 0.00 -vt 0.02 0.62 0.00 -vt 0.06 0.63 0.00 -vt 0.01 0.57 0.00 -vt 0.05 0.58 0.00 -vt 0.11 0.59 0.00 -vt 0.11 0.63 0.00 -vt 0.16 0.60 0.00 -vt 0.16 0.63 0.00 -vt 0.20 0.60 0.00 -vt 0.20 0.62 0.00 -vt 0.20 0.64 0.00 -vt 0.29 0.23 0.00 -vt 0.29 0.27 0.00 -vt 0.25 0.22 0.00 -vt 0.25 0.27 0.00 -vt 0.29 0.32 0.00 -vt 0.24 0.32 0.00 -vt 0.28 0.37 0.00 -vt 0.23 0.37 0.00 -vt 0.22 0.41 0.00 -vt 0.28 0.41 0.00 -# 23 texture coords - -g P_51_Mustang_Right_Elevator -f 2237/1400/2156 2238/1401/2156 2239/1400/2156 -f 2237/1402/2157 2240/1403/2158 2238/1404/2157 -f 2241/1405/2158 2238/1404/2157 2240/1403/2158 -f 2241/1405/2158 2240/1403/2158 2242/1406/2159 -f 2243/1407/2159 2242/1406/2159 2240/1403/2158 -f 2242/1406/2159 2243/1407/2159 2244/1408/2158 -f 2245/1409/2160 2244/1408/2158 2243/1407/2159 -f 2246/1410/2161 2244/1408/2158 2245/1409/2160 -f 2247/1411/2162 2246/1410/2161 2245/1409/2160 -f 2248/1412/2163 2247/1411/2162 2245/1409/2160 -f 2249/1413/2164 2250/1414/2165 2246/1415/2166 -f 2244/1416/2167 2246/1415/2166 2250/1414/2165 -f 2250/1414/2165 2251/1417/2168 2244/1416/2167 -f 2242/1418/2168 2244/1416/2167 2251/1417/2168 -f 2251/1417/2168 2252/1419/2168 2242/1418/2168 -f 2241/1420/2169 2242/1418/2168 2252/1419/2168 -f 2241/1420/2170 2252/1419/2171 2238/1421/2172 -f 2253/1422/2173 2238/1421/2172 2252/1419/2171 -f 2253/1400/2174 2239/1400/2174 2238/1401/2174 -# 19 faces - -# -# object P_51_Mustang_Back_Wheel -# - -v 0.75 -3.90 -21.82 -v 0.72 -4.53 -21.59 -v 0.78 -3.45 -22.32 -v 0.67 -5.83 -22.72 -v 0.69 -5.68 -23.36 -v 0.67 -5.64 -22.12 -v 0.79 -3.49 -23.56 -v 0.79 -3.30 -22.96 -v 0.69 -5.17 -21.70 -v 0.29 -3.41 -23.61 -v 0.29 -3.21 -22.96 -v 0.27 -3.37 -22.27 -v 0.24 -3.85 -21.74 -v 0.21 -4.52 -21.50 -v 0.18 -5.20 -21.61 -v 0.16 -5.72 -22.06 -v 0.16 -5.92 -22.71 -v 0.17 -5.76 -23.40 -v 0.72 -5.24 -23.86 -v 0.20 -5.28 -23.93 -v 0.75 -4.61 -24.09 -v 0.24 -4.61 -24.17 -v 0.78 -3.97 -23.98 -v 0.27 -3.92 -24.06 -v -0.25 -3.96 -23.97 -v -0.23 -3.49 -23.55 -v -0.23 -3.30 -22.95 -v -0.24 -3.45 -22.31 -v -0.27 -3.89 -21.81 -v -0.30 -4.52 -21.58 -v -0.33 -5.16 -21.69 -v -0.35 -5.63 -22.11 -v -0.35 -5.82 -22.71 -v -0.33 -5.68 -23.35 -v -0.31 -5.23 -23.85 -v -0.28 -4.60 -24.08 -# 36 vertices - -vn 1.00 -0.05 0.01 -vn 0.18 0.82 -0.54 -vn 0.00 0.84 -0.55 -vn 0.19 0.98 -0.04 -vn 0.01 1.00 -0.04 -vn 0.18 0.87 0.46 -vn 0.01 0.89 0.46 -vn 0.18 0.55 0.82 -vn 0.01 0.56 0.83 -vn 0.18 0.09 0.98 -vn 0.01 0.09 1.00 -vn 0.18 -0.42 0.89 -vn 0.00 -0.43 0.90 -vn 0.18 -0.82 0.54 -vn -0.00 -0.84 0.55 -vn 0.17 -0.99 0.03 -vn -0.01 -1.00 0.04 -vn 0.16 -0.87 -0.46 -vn -0.01 -0.89 -0.46 -vn 0.16 -0.55 -0.82 -vn -0.01 -0.56 -0.83 -vn 0.17 -0.09 -0.98 -vn -0.01 -0.09 -1.00 -vn 0.18 0.42 -0.89 -vn -0.00 0.43 -0.90 -vn -0.18 0.42 -0.89 -vn -0.18 0.82 -0.54 -vn -0.17 0.99 -0.03 -vn -0.16 0.87 0.46 -vn -0.16 0.55 0.82 -vn -0.17 0.09 0.98 -vn -0.18 -0.42 0.89 -vn -0.18 -0.82 0.54 -vn -0.19 -0.98 0.04 -vn -0.18 -0.87 -0.46 -vn -0.18 -0.55 -0.82 -vn -0.18 -0.09 -0.98 -vn -1.00 0.05 -0.01 -# 38 vertex normals - -vt 0.79 0.99 0.00 -vt 0.81 0.99 0.00 -vt 0.78 0.97 0.00 -vt 0.85 0.95 0.00 -vt 0.85 0.93 0.00 -vt 0.85 0.97 0.00 -vt 0.78 0.93 0.00 -vt 0.77 0.95 0.00 -vt 0.83 0.99 0.00 -vt 0.31 0.75 0.00 -vt 0.31 0.76 0.00 -vt 0.30 0.75 0.00 -vt 0.30 0.76 0.00 -vt 0.33 0.75 0.00 -vt 0.32 0.76 0.00 -vt 0.34 0.75 0.00 -vt 0.34 0.76 0.00 -vt 0.36 0.75 0.00 -vt 0.36 0.76 0.00 -vt 0.37 0.75 0.00 -vt 0.37 0.76 0.00 -vt 0.38 0.75 0.00 -vt 0.39 0.76 0.00 -vt 0.33 0.77 0.00 -vt 0.31 0.77 0.00 -vt 0.30 0.77 0.00 -vt 0.34 0.77 0.00 -vt 0.36 0.77 0.00 -vt 0.37 0.77 0.00 -vt 0.38 0.77 0.00 -vt 0.83 0.92 0.00 -vt 0.79 0.92 0.00 -vt 0.81 0.91 0.00 -# 33 texture coords - -g P_51_Mustang_Back_Wheel -f 2254/1423/2175 2255/1424/2175 2256/1425/2175 -f 2257/1426/2175 2258/1427/2175 2259/1428/2175 -f 2258/1427/2175 2255/1424/2175 2259/1428/2175 -f 2260/1429/2175 2255/1424/2175 2258/1427/2175 -f 2256/1425/2175 2255/1424/2175 2260/1429/2175 -f 2261/1430/2175 2256/1425/2175 2260/1429/2175 -f 2259/1428/2175 2255/1424/2175 2262/1431/2175 -f 2260/1432/2176 2263/1433/2177 2261/1434/2178 -f 2264/1435/2179 2261/1434/2178 2263/1433/2177 -f 2261/1434/2178 2264/1435/2179 2256/1432/2180 -f 2265/1433/2181 2256/1432/2180 2264/1435/2179 -f 2256/1432/2180 2265/1433/2181 2254/1436/2182 -f 2266/1437/2183 2254/1436/2182 2265/1433/2181 -f 2254/1436/2182 2266/1437/2183 2255/1438/2184 -f 2267/1439/2185 2255/1438/2184 2266/1437/2183 -f 2255/1438/2184 2267/1439/2185 2262/1440/2186 -f 2268/1441/2187 2262/1440/2186 2267/1439/2185 -f 2262/1440/2186 2268/1441/2187 2259/1442/2188 -f 2269/1443/2189 2259/1442/2188 2268/1441/2187 -f 2259/1442/2188 2269/1443/2189 2257/1444/2190 -f 2270/1445/2191 2257/1444/2190 2269/1443/2189 -f 2257/1444/2190 2270/1445/2191 2258/1442/2192 -f 2271/1443/2193 2258/1442/2192 2270/1445/2191 -f 2258/1442/2192 2271/1443/2193 2272/1440/2194 -f 2273/1441/2195 2272/1440/2194 2271/1443/2193 -f 2272/1440/2194 2273/1441/2195 2274/1438/2196 -f 2275/1439/2197 2274/1438/2196 2273/1441/2195 -f 2274/1438/2196 2275/1439/2197 2276/1436/2198 -f 2277/1437/2199 2276/1436/2198 2275/1439/2197 -f 2276/1436/2198 2277/1437/2199 2260/1432/2176 -f 2263/1433/2177 2260/1432/2176 2277/1437/2199 -f 2277/1437/2199 2278/1446/2200 2263/1433/2177 -f 2279/1447/2201 2263/1433/2177 2278/1446/2200 -f 2263/1433/2177 2279/1447/2201 2264/1435/2179 -f 2280/1448/2202 2264/1435/2179 2279/1447/2201 -f 2264/1435/2179 2280/1448/2202 2265/1433/2181 -f 2281/1447/2203 2265/1433/2181 2280/1448/2202 -f 2265/1433/2181 2281/1447/2203 2266/1437/2183 -f 2282/1446/2204 2266/1437/2183 2281/1447/2203 -f 2266/1437/2183 2282/1446/2204 2267/1439/2185 -f 2283/1449/2205 2267/1439/2185 2282/1446/2204 -f 2267/1439/2185 2283/1449/2205 2268/1441/2187 -f 2284/1450/2206 2268/1441/2187 2283/1449/2205 -f 2268/1441/2187 2284/1450/2206 2269/1443/2189 -f 2285/1451/2207 2269/1443/2189 2284/1450/2206 -f 2269/1443/2189 2285/1451/2207 2270/1445/2191 -f 2286/1452/2208 2270/1445/2191 2285/1451/2207 -f 2270/1445/2191 2286/1452/2208 2271/1443/2193 -f 2287/1451/2209 2271/1443/2193 2286/1452/2208 -f 2271/1443/2193 2287/1451/2209 2273/1441/2195 -f 2288/1450/2210 2273/1441/2195 2287/1451/2209 -f 2273/1441/2195 2288/1450/2210 2275/1439/2197 -f 2289/1449/2211 2275/1439/2197 2288/1450/2210 -f 2275/1439/2197 2289/1449/2211 2277/1437/2199 -f 2278/1446/2200 2277/1437/2199 2289/1449/2211 -f 2285/1428/2212 2284/1431/2212 2286/1426/2212 -f 2286/1426/2212 2284/1431/2212 2288/1453/2212 -f 2288/1453/2212 2284/1431/2212 2280/1430/2212 -f 2278/1454/2212 2288/1453/2212 2280/1430/2212 -f 2279/1429/2212 2278/1454/2212 2280/1430/2212 -f 2289/1455/2212 2288/1453/2212 2278/1454/2212 -f 2287/1427/2212 2286/1426/2212 2288/1453/2212 -f 2272/1453/2175 2274/1455/2175 2258/1427/2175 -f 2274/1455/2175 2260/1429/2175 2258/1427/2175 -f 2276/1454/2175 2260/1429/2175 2274/1455/2175 -f 2281/1425/2212 2280/1430/2212 2282/1423/2212 -f 2280/1430/2212 2284/1431/2212 2282/1423/2212 -f 2282/1423/2212 2284/1431/2212 2283/1424/2212 -# 68 faces - -# -# object P_51_Mustang_Left_Elevator -# - -v 3.14 4.95 -35.92 -v 3.33 4.89 -32.33 -v 3.39 5.51 -32.16 -v 5.75 4.92 -35.46 -v 6.03 4.88 -32.03 -v 9.49 4.95 -34.81 -v 9.40 4.92 -31.81 -v 12.89 4.98 -34.22 -v 12.73 4.96 -31.49 -v 15.72 4.99 -33.73 -v 15.64 4.97 -32.81 -v 15.50 5.01 -31.28 -v 15.57 5.42 -31.45 -v 12.75 5.49 -31.56 -v 9.43 5.54 -31.80 -v 6.06 5.54 -32.00 -v 3.41 5.07 -32.37 -# 17 vertices - -vn -1.00 0.08 0.05 -vn -0.01 -1.00 -0.01 -vn 0.00 -1.00 -0.01 -vn -0.00 -1.00 -0.01 -vn 0.01 -1.00 -0.01 -vn 0.01 -1.00 -0.00 -vn 0.02 -1.00 0.02 -vn 0.03 0.98 -0.18 -vn 0.03 0.98 -0.19 -vn 0.02 0.98 -0.19 -vn 0.02 0.98 -0.18 -vn -0.00 0.98 -0.18 -vn 0.02 0.99 -0.16 -vn 0.01 0.99 -0.17 -vn 0.04 0.99 -0.15 -vn 0.78 -0.24 0.58 -# 16 vertex normals - -vt 0.94 0.79 0.00 -vt 0.93 0.78 0.00 -vt 0.01 0.57 0.00 -vt 0.05 0.58 0.00 -vt 0.02 0.62 0.00 -vt 0.06 0.63 0.00 -vt 0.11 0.59 0.00 -vt 0.11 0.63 0.00 -vt 0.16 0.59 0.00 -vt 0.16 0.64 0.00 -vt 0.20 0.60 0.00 -vt 0.20 0.62 0.00 -vt 0.20 0.64 0.00 -vt 0.29 0.61 0.00 -vt 0.26 0.62 0.00 -vt 0.29 0.57 0.00 -vt 0.25 0.57 0.00 -vt 0.29 0.52 0.00 -vt 0.24 0.52 0.00 -vt 0.28 0.47 0.00 -vt 0.23 0.47 0.00 -vt 0.28 0.43 0.00 -vt 0.22 0.43 0.00 -# 23 texture coords - -g P_51_Mustang_Left_Elevator -f 2290/1456/2213 2291/1457/2213 2292/1457/2213 -f 2290/1458/2214 2293/1459/2215 2291/1460/2216 -f 2294/1461/2217 2291/1460/2216 2293/1459/2215 -f 2293/1459/2215 2295/1462/2217 2294/1461/2217 -f 2296/1463/2217 2294/1461/2217 2295/1462/2217 -f 2295/1462/2217 2297/1464/2217 2296/1463/2217 -f 2298/1465/2218 2296/1463/2217 2297/1464/2217 -f 2299/1466/2215 2298/1465/2218 2297/1464/2217 -f 2300/1467/2215 2298/1465/2218 2299/1466/2215 -f 2301/1468/2219 2298/1465/2218 2300/1467/2215 -f 2302/1469/2220 2299/1470/2220 2303/1471/2221 -f 2297/1472/2221 2303/1471/2221 2299/1470/2220 -f 2303/1471/2221 2297/1472/2221 2304/1473/2222 -f 2295/1474/2222 2304/1473/2222 2297/1472/2221 -f 2304/1473/2222 2295/1474/2222 2305/1475/2223 -f 2293/1476/2223 2305/1475/2223 2295/1474/2222 -f 2305/1475/2224 2293/1476/2225 2292/1477/2226 -f 2290/1478/2227 2292/1477/2226 2293/1476/2225 -f 2306/1457/2228 2292/1457/2228 2291/1457/2228 -# 19 faces - -# -# object P_51_Mustang_Rudder -# - -v 1.94 16.37 -39.44 -v 1.85 16.90 -39.49 -v 1.94 16.37 -39.43 -v -0.40 3.34 -38.12 -v -0.34 5.20 -38.31 -v 0.05 2.94 -41.04 -v 0.27 4.65 -42.12 -v 0.29 7.13 -38.50 -v 0.58 6.72 -42.03 -v 0.67 6.59 -43.07 -v 0.75 7.71 -43.00 -v 1.10 7.67 -43.30 -v 1.43 15.17 -42.50 -v 1.44 7.70 -43.02 -v 1.76 15.18 -42.35 -v 1.50 7.81 -42.12 -v 1.78 15.24 -41.86 -v 1.75 8.22 -38.63 -v 1.92 15.54 -39.35 -v 1.82 16.10 -41.76 -v 1.82 16.67 -41.61 -v 0.34 8.23 -38.61 -v 0.87 15.54 -39.34 -v 0.67 7.82 -42.09 -v 0.92 16.38 -39.42 -v 1.07 15.25 -41.84 -v 1.10 15.19 -42.33 -v 1.49 17.19 -40.75 -v 1.48 17.32 -39.52 -v 1.06 16.91 -39.48 -v 1.15 16.68 -41.59 -v 1.10 16.10 -41.74 -v 1.14 16.05 -42.19 -v 1.47 16.03 -42.34 -v 1.80 16.05 -42.20 -v 1.81 16.63 -42.01 -v 1.82 16.83 -41.81 -v 1.17 16.83 -41.79 -v 1.50 16.81 -41.93 -v 1.17 16.63 -41.99 -v 1.49 16.61 -42.13 -v 0.94 4.41 -43.65 -v 0.48 4.74 -43.09 -v 1.05 6.55 -43.43 -v 1.41 4.73 -43.10 -v 1.44 3.03 -42.87 -v 1.58 4.64 -42.14 -v 1.61 2.93 -41.06 -v 2.02 3.32 -38.14 -v 1.63 1.73 -40.70 -v 1.99 1.54 -37.97 -v 1.44 1.15 -40.85 -v 1.75 0.67 -37.88 -v 0.74 0.99 -40.75 -v 0.67 0.46 -37.85 -v 0.05 1.17 -40.84 -v -0.39 0.69 -37.86 -v -0.54 1.56 -37.94 -v -0.09 1.74 -40.68 -v 0.78 1.47 -42.17 -v 0.24 1.84 -42.10 -v 1.35 1.83 -42.11 -v 0.84 2.58 -43.11 -v 0.29 3.04 -42.85 -v 2.09 4.08 -38.22 -v 2.14 5.18 -38.33 -v 1.49 6.71 -42.05 -v 1.69 7.13 -38.52 -v 1.41 6.58 -43.09 -# 69 vertices - -vn 1.00 0.09 -0.04 -vn 0.91 0.42 -0.05 -vn 0.99 0.16 -0.05 -vn -0.99 0.04 -0.16 -vn -0.97 0.15 -0.18 -vn -0.99 0.03 -0.16 -vn -0.98 0.10 -0.16 -vn -0.98 0.14 -0.13 -vn -0.99 0.11 -0.10 -vn -0.89 0.11 -0.45 -vn -0.88 0.09 -0.47 -vn -0.01 0.10 -1.00 -vn -0.01 0.13 -0.99 -vn 0.89 0.01 -0.46 -vn 0.83 0.04 -0.56 -vn 1.00 -0.03 -0.06 -vn 1.00 -0.04 -0.05 -vn 1.00 -0.04 -0.06 -vn 1.00 -0.03 -0.05 -vn 1.00 -0.02 -0.05 -vn 0.99 0.15 0.03 -vn -0.99 0.05 -0.10 -vn -0.99 0.06 -0.09 -vn -0.99 0.07 -0.10 -vn -0.99 0.14 -0.08 -vn -1.00 0.05 -0.08 -vn -0.82 0.12 -0.56 -vn 0.03 0.99 -0.13 -vn 0.02 0.99 -0.10 -vn -0.87 0.48 -0.08 -vn -0.97 0.24 -0.01 -vn -0.99 0.07 -0.08 -vn -0.79 0.19 -0.58 -vn -0.01 0.25 -0.97 -vn 0.80 0.12 -0.59 -vn 0.75 0.35 -0.55 -vn 0.71 0.64 -0.29 -vn -0.68 0.67 -0.30 -vn -0.00 0.83 -0.56 -vn -0.74 0.40 -0.55 -vn -0.01 0.51 -0.86 -vn 0.00 -0.04 -1.00 -vn -0.89 0.08 -0.45 -vn 0.00 0.09 -1.00 -vn 0.90 -0.01 -0.44 -vn 0.84 -0.22 -0.49 -vn 0.99 -0.01 -0.14 -vn 0.99 -0.06 -0.13 -vn 0.99 -0.05 -0.14 -vn 0.97 -0.15 -0.17 -vn 0.98 -0.17 -0.14 -vn 0.65 -0.71 -0.26 -vn 0.64 -0.75 -0.19 -vn -0.01 -0.97 -0.24 -vn -0.02 -0.98 -0.18 -vn -0.68 -0.67 -0.28 -vn -0.68 -0.70 -0.21 -vn -0.98 -0.08 -0.17 -vn -0.98 -0.06 -0.19 -vn -0.02 -0.80 -0.60 -vn -0.80 -0.39 -0.45 -vn 0.78 -0.46 -0.43 -vn -0.01 -0.46 -0.89 -vn -0.85 -0.14 -0.51 -vn -0.01 -0.10 -1.00 -vn 0.99 0.04 -0.13 -vn 1.00 0.03 -0.09 -vn 0.99 0.08 -0.07 -vn 0.90 0.02 -0.44 -vn 0.01 0.10 1.00 -# 70 vertex normals - -vt 0.93 0.98 0.00 -vt 0.93 0.99 0.00 -vt 0.93 0.83 0.00 -vt 0.93 0.85 0.00 -vt 0.96 0.83 0.00 -vt 0.98 0.85 0.00 -vt 0.93 0.87 0.00 -vt 0.97 0.87 0.00 -vt 0.98 0.87 0.00 -vt 0.98 0.88 0.00 -vt 0.99 0.88 0.00 -vt 0.97 0.97 0.00 -vt 0.97 0.88 0.00 -vt 0.96 0.97 0.00 -vt 0.93 0.89 0.00 -vt 0.93 0.97 0.00 -vt 0.96 0.98 0.00 -vt 0.96 0.99 0.00 -vt 0.95 0.99 0.00 -vt 0.93 1.00 0.00 -vt 0.97 0.98 0.00 -vt 0.97 0.99 0.00 -vt 1.00 0.84 0.00 -vt 0.99 0.85 0.00 -vt 0.99 0.87 0.00 -vt 0.99 0.83 0.00 -vt 0.96 0.81 0.00 -vt 0.93 0.81 0.00 -vt 0.96 0.80 0.00 -vt 0.93 0.80 0.00 -vt 0.96 0.79 0.00 -vt 0.93 0.79 0.00 -vt 0.98 0.80 0.00 -vt 0.98 0.81 0.00 -vt 0.99 0.82 0.00 -vt 0.93 0.84 0.00 -vt 0.65 0.02 0.00 -vt 0.65 0.03 0.00 -vt 0.66 0.02 0.00 -vt 0.64 0.03 0.00 -vt 0.56 0.01 0.00 -vt 0.55 0.03 0.00 -vt 0.55 0.01 0.00 -vt 0.53 0.03 0.00 -vt 0.52 0.01 0.00 -vt 0.48 0.03 0.00 -vt 0.48 0.01 0.00 -vt 0.48 0.02 0.00 -vt 0.56 0.03 0.00 -vt 0.49 0.03 0.00 -vt 0.51 0.03 0.00 -vt 0.49 0.01 0.00 -vt 0.53 0.01 0.00 -vt 0.64 0.01 0.00 -vt 0.65 0.01 0.00 -# 55 texture coords - -g P_51_Mustang_Rudder -f 2307/1479/2229 2308/1480/2230 2309/1479/2231 -f 2310/1481/2232 2311/1482/2233 2312/1483/2234 -f 2313/1484/2235 2312/1483/2234 2311/1482/2233 -f 2311/1482/2233 2314/1485/2236 2313/1484/2235 -f 2315/1486/2237 2313/1484/2235 2314/1485/2236 -f 2315/1486/2237 2316/1487/2238 2313/1484/2235 -f 2316/1487/2238 2315/1486/2237 2317/1488/2239 -f 2317/1488/2239 2318/1489/2240 2316/1487/2238 -f 2318/1489/2240 2317/1488/2239 2319/1490/2241 -f 2318/1489/2240 2319/1490/2241 2320/1488/2242 -f 2321/1490/2243 2320/1488/2242 2319/1490/2241 -f 2320/1488/2242 2321/1490/2243 2322/1491/2244 -f 2323/1492/2245 2322/1491/2244 2321/1490/2243 -f 2322/1491/2244 2323/1492/2245 2324/1493/2246 -f 2325/1494/2247 2324/1493/2246 2323/1492/2245 -f 2323/1492/2245 2326/1495/2248 2325/1494/2247 -f 2307/1479/2229 2325/1494/2247 2326/1495/2248 -f 2326/1495/2248 2327/1496/2249 2307/1479/2229 -f 2327/1496/2249 2308/1480/2230 2307/1479/2229 -f 2314/1485/2236 2328/1493/2250 2315/1486/2237 -f 2328/1493/2250 2329/1494/2251 2330/1491/2252 -f 2330/1491/2252 2315/1486/2237 2328/1493/2250 -f 2330/1491/2252 2317/1488/2239 2315/1486/2237 -f 2329/1494/2251 2331/1479/2253 2332/1492/2254 -f 2332/1492/2254 2330/1491/2252 2329/1494/2251 -f 2332/1492/2254 2333/1490/2255 2330/1491/2252 -f 2317/1488/2239 2330/1491/2252 2333/1490/2255 -f 2333/1490/2255 2319/1490/2241 2317/1488/2239 -f 2327/1496/2249 2334/1497/2256 2308/1480/2230 -f 2335/1498/2257 2308/1480/2230 2334/1497/2256 -f 2335/1498/2257 2334/1497/2256 2336/1480/2258 -f 2337/1496/2259 2336/1480/2258 2334/1497/2256 -f 2336/1480/2258 2337/1496/2259 2331/1479/2253 -f 2338/1495/2260 2331/1479/2253 2337/1496/2259 -f 2338/1495/2260 2332/1492/2254 2331/1479/2253 -f 2338/1495/2260 2339/1495/2261 2332/1492/2254 -f 2333/1490/2255 2332/1492/2254 2339/1495/2261 -f 2339/1495/2261 2340/1499/2262 2333/1490/2255 -f 2319/1490/2241 2333/1490/2255 2340/1499/2262 -f 2319/1490/2241 2340/1499/2262 2321/1490/2243 -f 2341/1495/2263 2321/1490/2243 2340/1499/2262 -f 2321/1490/2243 2341/1495/2263 2323/1492/2245 -f 2326/1495/2248 2323/1492/2245 2341/1495/2263 -f 2341/1495/2263 2342/1496/2264 2326/1495/2248 -f 2327/1496/2249 2326/1495/2248 2342/1496/2264 -f 2342/1496/2264 2343/1496/2265 2327/1496/2249 -f 2337/1496/2259 2334/1497/2256 2344/1496/2266 -f 2327/1496/2249 2343/1496/2265 2334/1497/2256 -f 2345/1496/2267 2334/1497/2256 2343/1496/2265 -f 2345/1496/2267 2344/1496/2266 2334/1497/2256 -f 2344/1496/2266 2345/1496/2267 2346/1496/2268 -f 2344/1496/2266 2346/1496/2268 2337/1496/2259 -f 2337/1496/2259 2346/1496/2268 2338/1495/2260 -f 2339/1495/2261 2338/1495/2260 2346/1496/2268 -f 2346/1496/2268 2347/1500/2269 2339/1495/2261 -f 2340/1499/2262 2339/1495/2261 2347/1500/2269 -f 2340/1499/2262 2347/1500/2269 2341/1495/2263 -f 2342/1496/2264 2341/1495/2263 2347/1500/2269 -f 2347/1500/2269 2345/1496/2267 2342/1496/2264 -f 2343/1496/2265 2342/1496/2264 2345/1496/2267 -f 2347/1500/2269 2346/1496/2268 2345/1496/2267 -f 2348/1501/2270 2349/1502/2271 2350/1503/2272 -f 2348/1501/2270 2350/1503/2272 2351/1502/2273 -f 2351/1502/2273 2352/1504/2274 2348/1501/2270 -f 2351/1502/2273 2353/1484/2275 2352/1504/2274 -f 2354/1483/2276 2352/1504/2274 2353/1484/2275 -f 2355/1481/2277 2354/1483/2276 2353/1484/2275 -f 2354/1483/2276 2355/1481/2277 2356/1505/2278 -f 2357/1506/2279 2356/1505/2278 2355/1481/2277 -f 2356/1505/2278 2357/1506/2279 2358/1507/2280 -f 2359/1508/2281 2358/1507/2280 2357/1506/2279 -f 2358/1507/2280 2359/1508/2281 2360/1509/2282 -f 2361/1510/2283 2360/1509/2282 2359/1508/2281 -f 2360/1509/2282 2361/1510/2283 2362/1507/2284 -f 2363/1508/2285 2362/1507/2284 2361/1510/2283 -f 2363/1508/2285 2364/1506/2286 2362/1507/2284 -f 2365/1505/2287 2362/1507/2284 2364/1506/2286 -f 2364/1506/2286 2310/1481/2232 2365/1505/2287 -f 2312/1483/2234 2365/1505/2287 2310/1481/2232 -f 2366/1511/2288 2362/1507/2284 2367/1512/2289 -f 2362/1507/2284 2366/1511/2288 2360/1509/2282 -f 2366/1511/2288 2358/1507/2280 2360/1509/2282 -f 2366/1511/2288 2368/1512/2290 2358/1507/2280 -f 2356/1505/2278 2358/1507/2280 2368/1512/2290 -f 2356/1505/2278 2368/1512/2290 2354/1483/2276 -f 2352/1504/2274 2354/1483/2276 2368/1512/2290 -f 2352/1504/2274 2368/1512/2290 2369/1513/2291 -f 2369/1513/2291 2348/1501/2270 2352/1504/2274 -f 2369/1513/2291 2370/1504/2292 2348/1501/2270 -f 2349/1502/2271 2348/1501/2270 2370/1504/2292 -f 2366/1511/2288 2369/1513/2291 2368/1512/2290 -f 2366/1511/2288 2367/1512/2289 2369/1513/2291 -f 2370/1504/2292 2369/1513/2291 2367/1512/2289 -f 2371/1514/2293 2355/1481/2277 2372/1482/2294 -f 2372/1482/2294 2355/1481/2277 2353/1484/2275 -f 2353/1484/2275 2373/1486/2295 2372/1482/2294 -f 2374/1485/2296 2372/1482/2294 2373/1486/2295 -f 2374/1485/2296 2373/1486/2295 2324/1493/2246 -f 2322/1491/2244 2324/1493/2246 2373/1486/2295 -f 2322/1491/2244 2373/1486/2295 2320/1488/2242 -f 2375/1487/2297 2320/1488/2242 2373/1486/2295 -f 2320/1488/2242 2375/1487/2297 2318/1489/2240 -f 2350/1503/2272 2318/1489/2240 2375/1487/2297 -f 2350/1503/2272 2316/1487/2238 2318/1489/2240 -f 2316/1487/2238 2350/1503/2272 2349/1502/2271 -f 2349/1502/2271 2313/1484/2235 2316/1487/2238 -f 2349/1502/2271 2370/1504/2292 2313/1484/2235 -f 2312/1483/2234 2313/1484/2235 2370/1504/2292 -f 2370/1504/2292 2367/1512/2289 2312/1483/2234 -f 2365/1505/2287 2312/1483/2234 2367/1512/2289 -f 2365/1505/2287 2367/1512/2289 2362/1507/2284 -f 2373/1486/2295 2353/1484/2275 2375/1487/2297 -f 2351/1502/2273 2375/1487/2297 2353/1484/2275 -f 2375/1487/2297 2351/1502/2273 2350/1503/2272 -f 2336/1515/2298 2331/1516/2298 2335/1517/2298 -f 2331/1516/2298 2329/1518/2298 2335/1517/2298 -f 2329/1518/2298 2324/1519/2298 2335/1517/2298 -f 2314/1520/2298 2324/1519/2298 2329/1518/2298 -f 2374/1521/2298 2324/1519/2298 2314/1520/2298 -f 2314/1520/2298 2311/1522/2298 2374/1521/2298 -f 2311/1522/2298 2371/1523/2298 2374/1521/2298 -f 2363/1524/2298 2371/1523/2298 2311/1522/2298 -f 2359/1525/2298 2371/1523/2298 2363/1524/2298 -f 2361/1526/2298 2359/1525/2298 2363/1524/2298 -f 2328/1527/2298 2314/1520/2298 2329/1518/2298 -f 2364/1528/2298 2363/1524/2298 2310/1529/2298 -f 2310/1529/2298 2363/1524/2298 2311/1522/2298 -f 2357/1530/2298 2371/1523/2298 2359/1525/2298 -f 2371/1523/2298 2372/1531/2298 2374/1521/2298 -f 2324/1519/2298 2325/1532/2298 2335/1517/2298 -f 2325/1532/2298 2309/1533/2298 2335/1517/2298 -f 2309/1533/2298 2308/1515/2298 2335/1517/2298 -# 132 faces - -‰PNG - - IHDR{C­ -7iCCPsRGB IEC61966-2.1xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð -Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX -?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j -õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs  ÒÝ~ü IDATxœì½x×u':Ä`†Í$˜-DhØ´ʲ)v+qœ8ÏÍ‹Ýl½IÓ|»n»›¶Û÷uÓv_Û|É×~Þík¿ì˶›4__“4I›Jiã­SÛ ׎YŠhÉ´aR’!Q¤A„08Äp¾sî™? (ÉùÓ×÷½w5ßÕÅp0sqçÞßïœsÏ=7:ÿ;… µQƒO®ëBŽgúÂK”þ°lµÂr}Ù¡ÂŽ±´Qªç›Nxþˆë•àÚ–%D%!*³Ïž<»×Vv×ÏŸŸÊÙÑlø0Á -Kw–û ô¼zýóüÀ¿°ÒaÑqœðC›;ßÏHáyîþ’È}p¹2w^ìã•¿(¼“UmÛ–eÙ4M1*JQÉ´LüÃ*fjB5âãÂÿŸ®#}牃YÅ2-Ûûì¿kQÄné8v$"²¢ëÚmï-Kp²Ýv!Çó«nðÖÂñâ„ˤ¨(Hªà²Gˆ¬Ó¸¬ó¸M¿óÃsYÿgÕbX,]6§ÎVœUÞ5ô:I’à]Õ>üÜsÞñv*^}58¯(qÈçÎÏA^7Œàü}ïýŸ‚òÑ©ãxÇ=Wæ½ñ%÷Ë˦]2²Ð¶Ýû-Xyo,˜M'0Šªˆ«\_m‡}U‰ÅÖ¶³Qµ¹™N ›Í†¹\׺Ù45»¥ª:üg;M1_×ÛŒˆR›ýÕvÛ²‰DEx{‚ì7/ÜAŒ„£YÃçÖ/cE“ù±ÎR4,¶¦Ý²ÔÔ¤°¡éŠc»¶ƒ/ -xCY¤±i6mÓrãÞÝÒº¾xe‘ÊŽíˆ2ž7—ñ‰1)WëK8eÅ«§q¹n¯8j"¡Æ“ì;F±×n­¸ÖJ[î‰V;™|âñ;òéÔ ŠmáõfÍ‘c‘ÞÜûz›u6E’-Ço¨ª -~Å“+ .ðþæ·[L’êfº¥ÓÂΉMB=»2»:®Wh·¡ñ×¾NH3gÙ³5%&ÌÍûýÌ' €Á j~Lëñ5‡áËr…]à ƒ5iÿþýA¹8_\ï²ÿO%B((´WÛN Ë2´aþ Ï÷KÿWñŸ%í{sò#/~è;¸ç@P–£¢Ý‚n/»®7œ\–lg¯F"pQåŽkKbØ{Û>Âðò€/â8j5ÃG¶9¶áð’xcǪ ŠÎ×Pb ˜øžÙGþó'!Ÿœ|vò;ß-ÌÎç*"È]?uä#{÷@þO~ûɧž–åïx'|¼çÀ=÷ÿ«5ùí§'¿ó4pâ>KöŠí¸UUöd,)& ¬Ö)Òh:²Qc’œŒÓµJMPÓÃÉÊBýzšZK)²¼П>ô«1ÕhØôÛ@-b(kvÑßu$‘—˜ýƒýÐáá=×ú×$@9ª8N8@—B|–;R„Ê•š©Æä´®2Hš–U©ÁO¯˜c5LSUUËÁ:¤S@$ÍÕU—П@ñì‚¶1©tÔ‡Æ/ŒV+"ÃOPúE¥?Bòd£MDÐÏ'@ÈôÇ&…GÛŽašŠŒã ?ø“•€ WÄ1ÐßtœŽPyËQÿ„œH4`ûB.Š7‘p€@‚=US¬¦èÿøSÇz/Ÿ©<[€nÓ!©‘¦éKËÔNì…•ò(ÖFŽ¿ð÷áKZÉ-ªòôª-N Y(-å×78a—í;Ο?{>([¼nÀÝ¿#­wþ'™þðÑG –¢€ª¨#1¬8Bâzo5û­Û!?]l½÷—§~‚5þq$-7––ºNZvkê•Ó?Êm'ŸžüÝ_ÿ*ÛLàu“€½ÂHMQlúÓ•t’°>õ$'`èŠâ ¡p ¿'Høï˜(ÝCïWÐóI†e*\cÕJÍQúeHÛ£“üÌÖ’±²×o{ä÷?>ùÌ?Á|ë¹zr}ÆwßûÎO?ú‡O>õÎßþä'Ÿž|Nþ'á?=ð3xäþþwžÞ½ÓÓ¶±çøÃ ”µ°–Ë„D‡5@ðˆl.[¿XŸ~a µ)EçÕd¤Zö°nØ ‘ôçv «©I"(¾v Lô -Ò*p€,Å"¢7:|ýD{0.:†æô÷¾‹H…×§‡õÊBíùç§çæ*££i8º÷.`Œ×jH-S  2P%öst@IŠ ŠøÓHð7MGfJýƒŸ ¸¯Æb¹l -x·š!ø€Ê”È#‘U"ÐÊ• - ?¾=A g.a[É‘>¸ôr ?ä¹…¾ª‹x¢£ö7ê$J2®,” ÐÖj¤X&~hÀb! þÖJˆŸ“ `·Úìú@Ö ì²>è{ú¬¯ô†55U>3W®š÷ 3P8ðS¹lÔl7¤ÁWX]Yö­¿û»¿ ÊZ¿ýº¨ðØC­ÿáÿ0"°æÜ¾%ºZØ×—?ò¯÷,«•Äú—½> D~\÷'€¤ãÄÛu;t_àÐ ÑøÓ˜-ÆŽà’Ô9câ Ñ3µð%†JÔßûl¡É©¿pk ‰ }ðºI(¼Rô?ô·‡ù½G†þ ð(½P.ƒì﻾ 4‚?œ!ñÿ·'CÖ/¾2£!:ƒÖ(‹¡‰§é ‚$û›Mqô–ÈÀøÝi| `k´ó -COÈý1˜Ôäl2V«6‹³5=“å:š€–ë@ ø#ôGe~›¿±F⿈@}رM1"™6ê2.̈d¿Åà«©A|úô E (Üyçxðµ&‚>µ - %C}è‚TJô%@ˆéu¡ÙvÚôKN^£AL=NÆ¢"@?½dÀ$n XK‰Uªøt¢2NEd@ÿZ­!´«ôP´Å“5Ô( 4€Ìy½Þ­K t¥FÃôǶŠ"ÊÃJ@ÓðLî@±„ŠçA h9 %À_AQÈèšÑÄ–E ´³å¼B&Ò@„™}¢Ø -"g´Î é…ÙÊ¡ÿ1­Ó>TÚ­¸Agª]qô x¦ºÔH‹uÓ-^4}kjÇ›R÷¿s‡Ö//…¶ìXÓ *cÞòXN[=©°A;â¡îó_Ð*pfÛ6ys|Ï´>ðóü5V‹—΢å¯z^”UIrWùŠ…ªŸÂkü}ûZ+N×ýù²æßßY±,Éj¯zTj.¡êXø]@ öµöŸƒ¿ŸÏß®Á §¬ü¨òðFðlY(¼†2u~*õßùïùwüòoKùI'x5åE|;šßˆƒƒº‚ ËC‡.¼~釾·e5#lŠÅE6U £Ô†œäå*ø'—Ù…l¨ -ã`Rÿ]J‡Ôõ»e»­6Ü-"(í¶å®Ú’¨¶}éÕµlOPD(¸Š€#ïëóh “ê–¨B­ -RYbbâÐ×=ö…ǼeßÄ;ï*¿v~÷Mù¯†/NÑÂN–Éàx9yêI %ôÑ‘ás#‹‹µÂK³7çrÿ/KnÔ‰ÈĨl»&ûEu¡xÄ:XD N¶’ oÇúvAIi. Õ‹¬zƒéÔ`ªºX]¼´ˆ ‚oßH&“Æ’iG KfÓµ—Sƒ2ŠÒSJÝ0id™Í²ñ0]WÛŒöAJe²?hWžÅÀ±q®¢ÙÄŒ¦!/N¾f:6—Ò« ˆ«†¹¾`RÊ5Ɉ¶!Y{q#øì -p@{Å+ʼn41RAO$á Ö›ОžÀVz×âJÓiÚŽ•T±mÕ¤Î7O’B³¹¤ö3ö2-£\ÎmÉ@¹ò:¾YwU´i€[õ²U‰DÑ„!)‚Ầ͖d™8S -ƒT±¦ÕlÖ,;áÖتNßE’Évöü‘ ø1´šWØô€i5—LЈàUJѤ÷ªHŠ‚Æa8¯Å@|ø¾µlƒHÀQ…_`½¹-tÎFBè rÂ3Fƒ–'T '¥y C褤*&"Ђ³¯Uýüà€wŒ UÿÉ’§`!´×ô'XbBÒ¯( 9Óö€O•ùiƒ¶*ÂwžMèÑü³’ Möu™îÕPÊ“¸º‡3'8?&:7mdÆìžx)~WùçŠ=ï£0‹›ÚïÍ.çM²c&ÜU!˜”W¹z®ô`»H4’Âa ¨æ²IkS~¶à¡/~‘╃·æß?ôtùÁßB#ÞÁÿ’{àþÌî›z~õ_\2,ÓÚüëÞDÜ¥Ë?4ú{‰¬ -Ý–í€À>RÏÄö‡óèÀ ÛŽÒ+~Äëeþ+‚oPâ{ˆÈTbâŽËçú&Á/Ĉ\/¬4 J,Äô©S€þ»'îû¥M}û¹Òk(ï?øþû!?øÇ¯òçÎ-Œn¾ëî½PNg°ÏüêãüÞL¿òGr`¸Ñô¦…ú%4>¥ÉNšTA ­×¬ÆåpJc¦0³ÞIž¡-lAb­.ÖRƒzŠ)sIMÝm…µ|L’ìvw°ÝvGöŠ=œAæç* s¡¥ª±tJ/Ηff¯=GX»ÒÊ–ÛÎÞ(½ŽÕËÞZˆA aôÃÁT ÐTbÆ7¨‰Å«†%÷+ЬÀ¨‘ѳ³³©TÊôU((DúÚ#Àpô16p¨M€ÅýÂ%ƒ%xý’9¨Sæ•¶Øo±öĶ9v»Î\f‡"ÈŠ‡6@ ªJóÁ‚Â$BÀq5*TFK(\푚Ԣ€þ4ÙKü1®Ã&À½FGcŽþ”KB}IX@IÇû‘@J§D èõ^†—ç{üÛ³$b¹|Êã€@ùm…èV(§ úùÄXa+úv›ãlzÕÓW¼ñè*kÇW®c ÄóÀÚtœónŠp&)ËoD–3c¨"š–«*èsšP„›ÓÖÕð…¹}ëÎu[øNwvývk,wŒ -’÷©ÐfN @0RçKó2k§[ú‡Ë-þNqõþÌzû—™†Ò(yýR˜Zv+@ŒÙ{·-ϋö@ˆ€lc5ÄkGœˆ'¡ ŸˆAdA”ÑA ߾㚄þP¡DôiÆÓüÎïúü]±„tBBôGA»~l …šQ;qâ||ø.2èϾiò|~ óWgo¾iG„ëÃä666633ó쳇AöïúíÀ_ûëƒýìƒ<$bxY³å™Ú€t&ð~;Œ,a}êLš¶Ðdaú3ŸPe7’‰d£Ñ Ï ¡ wy)’ÐUàmôj­iØ«m¹/BUöDzí£úe5‰_9úü4(€þ äF²€àr®uŽ?Ž’*ê"Àú¬A¿à½ÄD: è=§š“hˆlìë:ªžõ+–³‚È J€»ÚDk>U²žî ¸æ²M Æ¤¦Õ6^™EZú#ôUåF.@¿ºÁCRH sœ‚Vëñn +’mÙI™ úáO ­(ý²µbÂ$˜ðAÖ<§åͨ;4õèÕܧ²Ü'>ˆ¿YÈrAèi8# &Ô@üç“ÅìM󗺑hò3¹WS¹›½Ï„•8´ÂøQQô'%ÀjqJIKäM@j‡‹%‘„Ó s™bó-óñœàÖn]ͦ¤tšVT¥û‰ë¥tB®4˜ÞÀOÈXá³NûÁë5Ÿÿ[ª*i<ûláåÂÄÞ}ç °Ù$Ш÷¬5NZùÊ+?Z-ÿ¦ÜüàKT€¼´x¿ÆKù-™Í[sO}§cæ`PS k½¯ü)£)CÙìK…nÉÄÿ#Çl+›{ïß²¢úe’ÓÙ|XË €r”`èà0Äg ïß'М9P¤8â”÷L1ìö^n[ÉþŒdBÿ®â?€þP.¿vžÄHÿðÄ“äÇf^C‘üþ{Ñâ?[œè§k@îC%€~ýëËÞe$þSa¦`Æh‚~JÕÅjP&ðhÀï· ûëñЩ‰ŒæDÉ8š€š -4ЯÇôNiÂCE;0oÚ †FÈ Ôeçýk—j‡ŸÁ -“ ˆŒï”“ýǯOf\ùú$—“¼Y[èS}ñ? ¸_,6TU49§-@ÇŸG›»¢4›øgÿ‰@ p#®,É@šŽ†Vÿòš¥Ê à™€d6#¿3¾ZØ\ó—ÿPÞHªÆD2Û¹ŒR,[?^ô‡d,YÖ…Òf&ïnÔ¦^E&Т‚½Ö7¯;Eá µ\‡éõðJZ®N-û@À|™)»NËnûoX•Ø*:\ׯ°9=1|¿bŸƒÓ•ý -² h,&Ñ2"tqÑóÁKöyNJ±~eÙVNÏU^Ó4íØ÷üÛƒpNߘª]®BÀ4{z&5¨üæAa•öÜâk •‹•…צ5MQdqˆÍÔ«ÙÌ èÐåR¥x®P<{füfœ;¥‰ÐÆJ¥nWU) NjÓVq¦–F´5Ñ -u]„|`‡› 7dýw­P )™%¸R‘Ðæ0L¡äâJ”ÖìàÒ’3V£ŠëZ²¬6[ÌO†yaZ «O’ûÙ@tMüO”ÃOŒ%áÀ]»+‹Øc-æâÕ‡›3k.y(ã"˜¡±‰Ì5õ+u(’q ßhj(Q«ºQU%¥fÒpPÑ‘$±í ¢¦ëY˶k8§ÚNÆ"ŠB“”j:=<÷Ä÷ [7{ÃJ‰p¨™þ¼iÍd E ×.Š>ÔØ0ªÛ¶£Ä–L •+!šmâpŒ[{$+~ßs…ÔÆ¤L ÕŠ©’ð¸¶?Ϻ!“ÝHÐ@}ܟμfúg3ÝEèÿ÷Ϙ÷Œ)D×ó·µà€ý¬º÷¼ÃÑ—½êæ·)…3ÖÁo¾?»ÎwÔڀíT½‚M“ì¿ÖÕüã’å¶»NšÍõõ°•×–Eî-Ôú9àC2.×—z[ÛÉtÛÂê+V…ÁbZ%ÅÐödù6M-.‡/ª­ñæ¯îú$õTrã Ù¨˜K‰«6:TH"ÖJoŽÝzä>—?ðVmòã¿„ÔkOOXË8bò;â‡/ÿá_–{~q½T6¬Ég&?øþû wÛ-@ÿ7ôõëLV m°¸oâ¦\kyió ƒWÿÖ˜\†eb·½Î²Â—Ã޲̚Q‰1¨1cE ÈA‹Å“¶ÿ.÷ îÐçÑŸX!Ð*Ö:/¼ Eáü|Gsó%Ès[Çús[…âY”ñý!Ÿ}µ¸c UÇþìKïDX€# i(Ý}_–¦_™& T_é0öÎ=ô¯,TÈǬ ýAõÄÊs¬%˜ûxÓnÂå&s¿!¨”‘–€ 0ˆ Â0¹cb“ZͨïY "ÿÑçÑ %@ÿ q¨>ÔùéYîŠ+w®."—\"*\ôÿl¹´ÔFlºj…9³% 0rC2&ÅšNxWI(¤á)ÌïÔ…›}<ú\R—ÖBíêä±P[µ¬u„ªhog“N,?æ9gîÎ>ûü³Ü5á}bJèÁ˜ôî³÷-w­}8 ¿q¥j ¨kd]•º×PúÇï×Bÿ®xæëýב¿ìþ„qïmÒ¯1èâ€ÉgŠîέýVƒé¿ÃY 6¦ ú²¹e× -Ýl‡`*ñìÅVT¦âÌ–¨²‰r‚fÊ#«R’ ï $9)ž÷ºq™·_jƒZ½bŠ‘5@Ìîßê&Í7÷ ŽE÷«Fw«f= À\Qê53Àðµâé©Üö  pó*[ ½÷ßwØLÞtÏÁ÷¿x®˜ËåŽLýÄ݇àÕ\¨Ôà o(à€[G‡Zr¼pæG]hµš}–ÙôXhukD–€@(Û“ëc1Ä*ïú&³üˆQ ¿Ýr"Q H:|FDôÜþ:<p"AUUÀ}P§dæéé°i™õáŠé¤U©n!Àéšù›3p ùÑ#SÓ§¦éY;¶í©\ªÀ4P5 ýƒjådZHŽ/ÔñLÒw(Áßl˜€þè3¼ÅÇ9L“&ú¸isým6›¬œWØäÙÇ»9 RK§u2gô;¾#f¿JÇdð´÷Îñ…ó^ÛV.u³ÔT–à}I‚dr^ŸWÈÿià€ºé]ÐÅ¥Z)«gÙw ‹©Ì¾ «ëV§·ÅÑ#‡ƒ²½¶PûFÓ³ÿô|PÖ´õîëM€þT y·é´£Ðæäûï -m™™/ý!/•žýOÎ:_úf©{EÎ5àþ‡>aN{ 8 x®Çb‚ñëgŽ!úC¹pºÆãæL%É8[¾ÁÏ x“Ò&»†gHÎ3*,Þ®öãõë -MÎ 4ÆØ˜ Ã ”¯Ðu¸Šòu>¥ŠíPdî}þrÐŒžØ®ô h„­º1Aí\²@ËÁ@`ÁoLÚþ(B(üÀO”´¸bpFKØ ‚›ÈmûQƒ€& Ð?t…›!ºdV¡1aˆÿQa×£àØŠ$×LrqÕérï!_àR8<…€A?éÁ5FO 8³„þ^SÔ‰Hü§B*ååÄm»Š¯- V"âWX*—Ãq§1‡Rý;ˆÿ‡è_7%mYê\“Õ³}½ÿ-ÇR¢!¤u¦U0Ü,ärYà·O"g|8¢l¼å[Eççð',ÌyÏ=À²ÂúðÒÓ9Ÿ'н•ûêeï»<Œåq é*=:{7lš–¬è¸øÖVpMžÜ{Ûž_ûw-–9²çݸ;ÂÒàý¾pø3ÿíS÷¿WðíCÙ7X×òÒÉÂ`z(çOÔ?ö™'öÜ>ñÑ_~˜oCý߸…â|?QÂ:(qŽ„8<™<òÄÔK!WyTbK½",ÏèJa¶º0gÄ¢‚SKWðÒÝc’&)O¿b}îoÙú´ ®‘S1_‘¬¦¨I¥sæì…ýÎcîÃ÷Kߣ<{2|7‡/<ð¾ñÂLEOúÌì8ã¹á¹ŠñÜËHBäZgVÅFÓñVßø©Ì ÀW%o9ßøUmtÉÂÞGU‘Üü­uÅ1½´¦¦U˜m7PúÌײzˆØè!@“ïlEd®œ¦Õ=$¨žJ¿°Ð8«Ð0qfpm"/w¨0ܪd÷ÝμÁj 7¾ùÞtÖÓœhå$ÕÊ]u%QBÃñOr‰òÄ6â¬[á\¹ðÒ‰ûîÞWœ›/œ½ðc–¦(ÑH‡½?3¨Y… rêÕÃ[¶c-¹g€åŸ…,Òí¦G2™ìxïQœªWê)UBI'¬v?'døx®½Œ¥5¸¿µl*죹T§ø0älŠ®eqUZÅ^´g7šJ"›e µN¾T(Î&5¼xïÄø‡þí¯ÏzåÅg=zøûG¡üî{0ÞÃÉ“S€°š–…cï{޾püÈÓ'nß½íÆ‘‡?ú°Ùðxèìk³ßü;tuÃj’ÄÔM[ТÙ³x˜Ë œà¢“F½Q‡Ä2gÅ!‡cÒÖ¦d6/Ýöüá¦*À9N1ùÊøŠ«Øï…I®Ûý’Dn¦¸°+è¸+®Ø8‹e(DD‘|„iò\•#ÀPÏÀ—Ÿþê]æW#& ¬æÀEj žƒ+›HôîÅÚR¼ŽÒ¢Qºle7*ëF%aT’ZØáhýˆÀŽ®mÆÿg>›óÚ§É)1®ÊU} IDATnN¥TvðÚF!@ÿEúÄMö.P­ÎÏÿðXüS{oý§£/õüSTŽ.Ö;ôÍD<Ç{^üÃ¥ $Bs骢šЃLßhtɘ,Þš7 ë¾°¸ÊÀfAÁx‡ ÆÖû˜Ë¦8 èß3™K&I¯µFèŒèÿ¥¯Ìf ý!Ÿ>…pŸÞ4\¹¸pôèÑðÊ“S»vMÀœô‡ÐòÝ{ðü¶7u=ô•ééü-㦹È~—7üg^.V+Þ_‹þ])½)3 ›°OJÜR†úRØ€¼„ -À(#Á‡þE–KLß‚Üî4fÎtz‚îW:Ñ¿3i\,¶ËüÑaµý ¯U`ÞiM¨¥Ùh¢úT*õt:IyݬÃ1œF+|»µ Çú±†Íåf~l7…™ŠªW*Z= 4 ˆ2¨ãÁôCñV;·%èOg>üs&žD2ݨ‡†¸‰Ûwá̼Ÿæ.Ìßy×Û¨ =­rÉŸfh¥ÿU‹ÅØnIqËlÖúÆíU®l!íWÞ²_¥¯ªÀØU¦`úwˆÿ'fœÏòÄä=7+ӳ̪>@Ë„µèO©¹ÜŽ D 'ô§ü÷þÒüäGÔx øÖÉ×ÔŽhX, k(¥+=ÏóÍ—eu@B%Àå<…¼Aé ½é§`^.@nÕŽ—T¿+«ý¢é‡"Àß ¼æ£u'›¹J¢H3 ôÓ_Iü÷–¸­†ó]k‹ø ?á>(òÆ -ŽÕžƒÐ?³E)3ç=Õ2=|h2×íᥩ3Ý× jqkUè5¯7½ðƒ—Öã€.ôÐù ˜·r™¸6845}µy €J­9g@GªÔŒä€×þ@õ庞ԛÌóÏ®„jMöò’äv] Ç$sœ¢ÄbÐ-U³i’µÄõm&èÔƇQ•üÄÑ“’i~08sY½K,fœ åJö"Ö¡rq>½iäcÿ˯=ú|†.èÿðGÐnðÿñW•xö¯¾ø €ÏüÉç‚;L;qhþàÚv(¼<½ï­÷ú᪩K• ôzu0RJÎY`‘Aá$( £Aë,ߌC7q¯¸ÄÍ'P¸ÐÇ!¡Cã‚âÿ4PÑ¢‘Ô‚•WAÿì ˆ -·"Õ^Ç¿k»¶ÝôGXu‰Ñ!¯_ñˆ*¨UåR ¡²GRM¦’©€ùÍ7…, â?)]¦'€~È'Ÿ™þR/C¤ã?Ã]ù'¸¦…»nTd%Iâ?ä®å:uVíšÈÞ=JÀÄÝp@­ÔÒo?v­¿±ô#`_…ºh§Ï]ïã´x<&_{ž cè!—L&½…¬QoØCR£´bˆ åAÒèIò¹Û*ÁªÑSÏiµ6ÝÁbãò"Ù€ζKsZ\A%€™bNM¿üõèÔ4ÐÀ}›F*="ãO@ 8õâ `‚™³eú)*°ã&©Ï¾6{ð«‡@ö›Â\ô‡Ââ¥/þ¯m4 -7¼Ec€ûìš)@ .€“p†Q«Öô”^óô=€0wx3Þ”È6Øèbo7ùgU*èOÐß• ¢úgnÐàµlíBí®–J&d8àcižM³ËÄ®NAꢠÜl¨8œjÂZAS) €¤ þ¯­Í:CT±@ˆ_6c*­Ýݺi9r,\tc±°ÏVånLa¾Qµ/Â%¼¸ˆÕ²æŠfY6¨ÞDQ4f x¨á:,šVÍT7¦hRú|± ÅM0W–r¹LͨO~牺?wS&&ÆŒ+·àm—?ÿ³Ç ðáýHcO>áŇ è 5ÃøÚWÃ%êðp$Ûôæ‚”¨V«¯ÌœŸØ[K2)r¶0k‚Æí›[Ýìxâ*ú2µ£8pÈ©)¿-Ô¥r©PðÚ9¥¥ n‚-Ã[à˜zyJ‰+®¯C‘·•mÙpqŒÁ¥,iõËvD‰±¦¶ [WÄìæô‘g¦ –’óúZ­f\6Y[å”´AUßí¶šÛª×.[åÓIÄ¢0Ö\sÃ%7*¹¼¾P4ë4>zÈc@õv;‰P°Jµ" HÍZç„[wE†gEV#1)†¦9  nbLÀ÷ÞûAMË”ËÅÜyßyoØïEl¥Vž˜ûð/~ Ð~×®Ý{ƒ–܈Åt½ÏM&ÏNŸ|û· 7ZÆ3w#òqDtÇ_±ÚûúÍEý•[ÐÙ;’EÜDi€À›Rõ%CéOÚð–ãÑ­÷H«ÆƲYœwÁà4–BÚ Çʵ†”$µ#A.Xp`Ó\2s[4ÓŸ¬ôÐ?£"ô£¿Pe@ôÇN_“¤¾¾½;õá‹Ð}%»I }î¤sçIg<¯NÌô ù=ŸnÌ&æ^ï–;ÒlÂÙs«geÈáh^¦¥{ÍW§“Øù*WzLg¥4žÙˆ²^±Öý°´¾®=wmâã&y_ß g•ÖÜÖûk¢‡MÒ¥Ò i¯å=}Þ|/gЇþ×bóØÄoÓVûúo8öçæt<.cTN å¼g™!§ÌûÞ’+œ)­Ü R\ìxtnP+.ö¶.e7Ƹ‹¾GŠžLôDÀ^„rßtiÑ[²œÑ¸­v˲ñÖDÍf†2™Áâü5ÂE´–kÁz}mýAçÕª¦å‰¢¢ëÖ.U‚ë5ÃŒ1+* K°_hдÕ·}¥¦ :ù¤¯²8À1¥[ÍÅF–u@ûðžŒdYÕúÍËž.^(xnšF­¡éa°ïáaO”e¥T®–˜GM͘Þu«'ÑŸ™)lËSÎû< ?’ÇBrZ³:{zV8-Ü~ûí;ò;ýg^QýåЄõ »P!HdÜ ôŸššÒõ¹ô'º§€V蟸e(‘MQX£I«éZÒ2›ý$ÁúC^ºP] ÓêP‹? ÿ‰c¸NbÛ-éäFµ~™Åb,›Ôcógk•×­ü„.Æ A;€Œ€©„ô€êåÚ ®A®F-]Õi]X À¿ómïËdr†áIÜüâеiò©ƒ¹­7Ÿ:uj×ÎPÌg ËEŠér츧Àô÷L’¢9–9 «Õ¢œ,Ï‘¨Üî\Ø”ô]ëKF¬_ \`é䞉»ŽOa´p«i[¬·sp¼¤'ð¦@Øâ?ý)Í4Ȇþ¾'ùÁoß4’ÌdY`r]Óe €ÜV¤bÀ}øYÀÞ“}â06 ?p@­êÄó/ÚÛnôZ”€§Žïò×¥ž/5îºmx´Ôˆq~$?ŽWü™(ÀáŒ%âú‹ÅàJ⃛rE¶™Ãi-TýË–û„«¤JͨóNGýb©ºî: àü/> «+=9 â×abK:«©%¡@~ÂÛ'‡Ræ­¨ôca½å`·ã4ïŸüæùÇÁ˜9Q\²©tO!<ñ}ÏÈÞ…þ쌑Éæ{¨¥ËêÁ¢ wéë¸]ÁŒÛ™$Å¡ÁAá jåÎUÇš7ŒŽ @ÿë á,&[I¹õ|Ï—‘ÿ¡—¨Æbk 8³e -Ì¥ðú[åó•Dༀ˜!ˆð†à+Æ’ °Cg0🿉^“ó3kfØW^Îç¦^B&Ð}›;á8ä´)J6“ôÙ_Àyãi@ÿ{úA@8Òƒút¡8žGÔa<ák¥R-ˆ]¸VƒívBý¡LkÊ2Ù ¡?Ð@vs=ô;Hjc*KôgÓY8æ/Ì{¶j [vÀªEúÞXžøíÉÆ>ÑàþU^"6ËšÛ¢úë æoÕùлÁæ07oÌžy©Z˜ªÔ§¼‘ £ÀÐ?‘ô(v±fÀh‚£ÓU[¸çíÿ3h= µbê‰4Ñ@«£¼T<û -hŸú£OÑÇ`îPä" àeç§ Ç;÷G‰T"‰ÓÂ1I4 bª–‹*ƒÐæ¢PM‚[%üÁÖ^]‰ ¨”ïv þw4hoMâ¿À†Íú <ôžmÚ"+ \ºd‘  „b3- ~°9²IÞCñ§>±Sâé ?Pî{«×ô <õý ôÌÀäG’ÎÖ÷µrÙE#à}/ÅU>ÛÓ>Ý'%6{Ñ6(ÑÎp^âžuëjh«m­C Pωí^ÙἘ¤·”T¹¬ÞŒ·àHcìGª¡Vë!nîk Í®=™û«üÃXlpIXÏ †ïq­ÇúÚè¿=3xºìIîë×~ -òœÓÐÚ/.ùïX‹{ÀúÇA›G;?^»bA R=hÚ´ªÑޱ|´8§‚žÁXtôêÞ1XI…lF‡¼ÄŒÔð¸JךèìÍÂyË7¡€Àß ¿Æ<,ú‡¹?úSaçx)˜ ²Xñ¿²ˆ²¡¶šlÔM² è/0Ëð~8`þÜ<íBCa¦¸ßë±%ý3YŒSÄm RzªÊ–íØŠ÷ÜǢP»\# €¯[s¹©mèXÔBJÀÚ_~…—À1—ÄÈ‹gkúã–æÂÙ -( ]ÁĢᜠ-âÿBÑ„ä¸vÒ÷“¡Ô¨7øÙiª$‹¤+:â?{zØ&ý@XŽze°Q<[8ð®ûì#|ýYlÁn¿Ðäœl Èï@¯¡À -$±…¾¤x÷g… )%ÆWi4Áüsû›ï$ @aýò¨¦ƒh¼ôj ÇÆ0Ü’Cü'¦‹ ¼m#ÊR ÝÿK‹8bÙÁo÷Þ‘Ü)Awd/+¥Š’äYÒµ¤Xœ·vdÄ»ÔÉÔÞûžìýú‰S5Ô–DŒ€Ê”î¹’:¾E>‡åŒfüÓ”;v)P8!«uË©\¬(¢0¬©1?ºÅ©öL®þë·lÛoT*—íöŠ«÷ót×¶ü5å¼…€¨p bó–"rLŠx‹åš–K.*Brø¸ÊôRúÕ þ+ý¢Q·qw7I¤mÞð+‚,ÿ‘üçâÌp¸@Æíèì’è´"e²)'c „PÖä~E–caúYW’ƒ(± ›p·XGš‘àbAi(­–öøÞÒm?ãͲ6§n@IÎmÍÏ6¡](U L+NQ!?·ùf£Qa²fÚ­CX¢€ŽUÃÛ¢ LRôç/Ø×çL@ÿ…¯ß§|g‚¼Xáwòfî €þÝ;‘–K8',*L“˜.Úã[B¨zá”uÇ®ðY“ùVz‹§0¢iãTðöÆ|i¢RçÃë³èÐýr­ï 8 H„­àÇ üLULW˜A-“šmÕváÐÙRi¡¢?A?åĨ@@Ž>"€~j\$RŒ;1×+? _Ÿhùßj2<Ô,ôT*€@’±í&P¨/V\\(p;ˆ~‰¢µt­øÂ¯wÄÛ ô§´ûv”,VOïûÍOÌê«×å]óÒ¹0phö†ë]ø¾´´tÿýW¦‹7çÖA-¯ò·LL~ß[²€[ÂDþ‹JÔã—2Û-`sfðByqÍ-Ã¤È @jtÑ<]L!›þ­O ×îúœ…óf,´gÓnã>æ;ð%@¿Ïe¼-Á¶|æëjþŒ=\Vcb8h%0$_ר¦×ÐO9\Ð?)Ìç’ÉŠ#T+ÕTá»Z¯úóéðatöØ}zª”ðn£7b̲¹ós{ï;@¥n,\X ™·k‘#ïÂO)ðqÔ5O&1öì,±ä slûÐ@±ˆÁB AA`kÄ®ò.®™êË2µƒm,¯X©MJŠ™ª­Üötñ´g£¯”ñ[€þPÐ4…67T€Íw@Dݨ¾­]ißžwS¦UZ?»ª’ø/Ðü6n¤¡)ôO~ò·Ÿý.rÞ2V7q¢ ¼É•0¢)ÉþkSZuý!ÎÐèGojì”¶î£=ŽeÀ›Î­û.}+NÒ·Æ$qµ/”¾]Üy‰ Re›Qâ"Æ8Ra¥OW%àÐVÝð7j^¸7<Ó` ª²Ë…›îJ4¤q¡ýP¡ú“†¡¬ØÉ‚~3mYÃk-v§cŸ, ¢"8Éæ¯Úç/ø…Oþ-OXøØ¼4ùœñÞ_+~á×3·ë@û×ñO}u½'\#ÝzSî¥WC_ûŒ¦@ßýÊ7žà¯i,-]X\W€/[ÂÍW}Dñ¥r ÆFp1KQâJ4â]¢´‚Ž€×5€×Û¡Ï,Ê쬟ÐܯÂLpÄ&w0€û¨·IŒÂWmBÈib3&ƒ°âPduâA?yIlŽJOh@† 4 « (ÜÂ>¤°–æç‹Ì#òÔP -FÆœgƒ}àŽ;\G_i(ˆ$´A@ Œ€ ýÉç?-` d¿J¿ À "Ò:W8Ó¢îϾíÎï>{ø“ŸüäÚ6é\-Œ¯ 0[ÈïÈ—.Íû' dÿTçy Ä ЄBŸÓCÌkÍDHù·¹Òam= TÁ6ÍnŠ*`­ŠJ¹7ìïÕ·2ð(ܺÓäZó̲Ì;ÈS|/Ž~¹É@–dy)Êó,™ô€Ô•äz8Œ%d£±R¨:ؼ È -ìw-Ïþ(ÖJ·¶Ñ¹IެFœbß%…ÌÝk5' MlIýа&µ[mH{ ô{í¤G¿n<ò;ú È ”A¸ÊWz¦<Û•©ô:‚Kv£Âs@Ù°ŠçŠ|ÿ}<$âñ«YpáRÅøÈÏ>ð—}èêÏ…1Ò¥ðr«G•ÀXÇï¨g²l¬!5škWer(îšI '~=Wà@ L@üzro­[ÿ% -´à+\+Ló_!ô}ÑêtqHõ -‰d‘‰À ½T€ò‘gŽsχ^x¾è«û÷ï'ô‡#;œôîÙçýoÜ2zøùãÃÃH¢ Ɔ7ӺܮԱˆwý­2€„³ÂäS“„þ}ö±òbùc¿þ±ÙÙÙÇÿáq€~¯ò ÌK 2õ¸ž¨^®¯Çý´,£ÍíX$uC8:/6'¿5 èyñLå÷ßrà=yàøSv„Í‚0% |®CNZ»‘Ÿ€ñ_` ki~UòC<) ÐEܾØe¦!¬ ?h úôÓwyè_›hßæ®4ýŠ'͈¢šë^È}ý‰Ðÿ•ÓèÆº¦B²Kƒq÷‰Ôéô¸ÒF[¬}–…ùE+—‘Rª2¸A®УüM Ãh× W×Äá”´;'Ì]̶˜Þà6š^ÈNU »^w’IIßÚnLXÅÙ¶q…¶ušK -@ÞÖiú,ÑìùÑܶ­¦È†vußGRä^3¼rœ,ŽipZâ<Ä>!ƒ¯Ñ^NÛTQ ¶Ó…KCsÕ:'èÏòƒÐ»gתC~_gU¨&íå]Ö÷ %;¾Wæ4ÍÖjß’Ý^bË£>ìã}(FîG¢rÇcDª¤ 9$ó>¶ I‚„"Õ:¯0-ášWøÿ ¿ƒ®™I‡Ö˜Oý:bïÁ.AÚ~ÃÐæ'9™º0WòB%â“/žîº¾P(f7†/t‚«ˆÿ”N¿^Ûnw°{NS2[rG^ìäK‹¥ìÈ–ž7A%`És5Þ·'=J€¢ènKv¹Žn`²ÐjRÛО²?y#Ëô®=Y¤%‡¦!U¸*âlñ—ë` 4ù×0“‘ê¹ÿ‡ÛO’ž|S©ù›Å³ä®ú“ š–HL¼ygþæm…WΜPƒ0pŽ>o©:ŠZ -¡`n@VËÚû–w~ñ‹‘Ëe À"ÆJ¸!»$™Žã-pœdTSÝ´à§áŠ”/}ùk;wŽK¢T<3%Ýónrp_mµS鬢$c -®óöpqÇ@hIQvæóÿ•ÂáO‹kΊ'/r>tP%9{Còw¼í¾—_ÅY•“ªÚÃa";ØŲ£ibõгÿVìv€û ->®¦yn6£1¯±VÖ…FSXr„D'a†‡ÕÈ•>}úøèßu&©¥{ÙO:îÿ¸nìä•}#+~ÄD>´ò6uA†í)¦/0¿ÏÝ·i(é·„'—vïòà{_ÉïgÓ/¼| €ž\¦W ÿ`XÖä÷N|ì?øèŸп|ÅÀÝŠ³§xÿ}‡˜Þè×ô%£‡,o\+íz›Ø±yj¶Ç<Zÿ™ŒmWX•½ðMlŽ‘…hF¸ïCi@éG³]`¬˜Ç< IDAT ìWZͦâ‹Þ -Z1ÀÈ£½n c²½¥ýUÿzº[¤SñôS1ÌàÐ ÀÌË3€°ÛùÀÝx/×ø„–œüD>ˆË¶û6´‡doHçÇ<_Oà€~yÍÎóåç„ÖKÙt¶Ta~÷[°’O>óä¯ü›_Ñuýñ'qÚØÖ1Ð<øëÉD—¶Ñ3zÕµ“ÈD<9’š’æ6KÙ{÷Ž£ÏÌBþÀ¿Ù'ØÂä“Ó¹­éâYÏn¡mTjµ¦“š›­ò©~Åó³¢°Kã;÷®5‚yu¡­Ü˜léüØ_<ªÈ(™Þ÷^ ý¸¯ùÞSpM»3¢p@Ó2vîìáĸO9p€Àm]NQ L£¦júÞÛ÷=vrú“„–‘É‘sMV–U‡\Ó†wlÛùø“_ÛŠKÞðîJýT= Ÿcá‰nÔ…`÷öD :±Tg3…‚¡ÝÀm “ਬï&¤:† L­=OÑ&\.ž»3¢ôõ…«M¿²òeË] »`…Û{2Å9Ÿ‰ƒ°‘îå|ɇ~঻·uKÇ•bÑ+—¾¶çLWJo '’ƒa³Ðԥݲqö©O„ñì¬8]V _øãòÿ”;ñÓÝ»´ý!9V#¸÷?tKñAñÿô:¾4Wñ¶ø«¯z×['žú^sèõȺ‹–ôweª/g°·l§ÂKçJk¿H©Tž?pç¾/NQl¸ž»ôÿ#=F¯Q«áÔ’åq£Iìk“YqÙ2 ÀâÕã?Ä¿g½©™Á=m›Û»‚½•³0°·&1'  ÙmÒ$°qØî•r¸Í%@ÈÉî/° )È3m‡²paáè÷Ž÷ÐÌüîÛv/[hÔ°«ƒPÚˆ râÓ@‡þþq€~¢”ÐûeÚ ¥GCS;ˆ"ï,O©Þ¨gi€*¬É™sg¶žÛZ~¡½|ãæ„#`œÂÙsln÷Š·«ý\EP¬%S×9ÿº“NKé¤ÉcÍý·ë3gqÿH•­€-Îãݵí·“¢XKnPlÓ.-eF2ç'Þ‚þLŸ:ujŒ[=ÏËPZ:\:Ôàçò ©$NŠ/Ìwìð4_^ºçÍO¼.Ü1ÃÄï8¶N0¸ŽÙ[·Û¨å%.Zè·8Öåj1Ìéï&·;µ÷ä‘m7%S¡(NzúÈi®˜ð GµnXÒîôlø* Ø“_kò* ù˵X-xô/Ç—‹÷Ýsà‰§'»oÛJkD0 ù,Ìî®MR¤U*)Y-^Z4Èí‡å—´LÆ Ukx(;¤­5áòj^A½‰Ã,¦`üJ{…Möú A-àÈl^Ê^iÊ’h;.äýPp›¸M+…²Vœ˜,zqÛ.iíûÒ’‰FäΠ¦éH2œd¥6|4ìUÏÁCI&€´ò7åwlG†k,µË¤Ó# óÅ>ððÑ#“ ,æðÍ7ßñqüb ¿r¾øÚž ŒS3ªÇC¸×ÃóN¾8}âÕÉîkX@‘ýwÜmh-Õ -³¸Ì8¿c<¿-ŸÍähèÞjüÂ%³KïIܵo8ÒrÎÌ›[7«O©ä³j°›I»É¤ìáâï[Ó/CëˆÕË6©òrÝ»87¢&W°Ö¯àÄÝüüÂ0›Gܬ4c×Î]üDkÇú!®Ö1~—œ(G«…Ãë¹ïòS½z<¼Oxp;…­¿éWîôâèyMs]ïòcá¾À•y-áx¹üèéByq3©œO€ãe?fäeCø¥%ƒ÷ðé® ÇÙA­ÀÙˆp‰€±TâæŽ\5 -tš¶e-;Š¿3¨½âÛ| õÉR4â‡kõF;î(Ffá°ÛæÌM_ˆæ } P pF\¦ëéBÜdë}$YáCáßÿ¾3œ‹­QëéÞÀÙœ#˜SV½i"ÔÎÍŒÞrÅôÉ“€þüïÍmß¶sç8@ÿI·HBÿ±[ÆŠÅâôËÓã,ͽ6[*wD—ìJ yä6 Ê}áèÞ;ö’α{Ïnª|$KÔ™™™£ß{ªäýÆÎé - Õß÷ÿ1j5ÒÌç~Õ¾U3º–q`h@­\¡0¸IƒC@ c$'@ôŸ-ÌúC.¶ZîJAetßþè•G¯—öì™ø, É÷Ï“ž?ìm °ëÍëêJãcÓ38ÐZΜîhˆ¤*ÕMçž;¤çwJÏ -U$â€#ý÷îK ûÒ'U?Â%; þ×)ÚOT¿`ÿÝ >ΚÀøæ6« øiáÂüÞ}{ÿæIŠ-tÚÚt;|t¸½Cy€îtÁ¼vXàÿ‰mª•Ïï(€>â›­wMìâ5Þ…ŸŒ§”H˜ej»ªrš -'íoÛ¶mϞΠz?ŽtzþÒzp=éÂëëšòBiszíŽë&k¥É¢by}XŽvŠç,´z1‘€o™-‘dÁ÷ ->¢_?:.;¥¼ÆV¥Ðb1²Dp&¤ 8ˆà‹p8’7NW¨c9 €ÙÚ¢ÕkIÐt-6<’ñ_`‚v&›)—ÊS?À ›{ï¼ Ž£Ï£ûy€þ¹mÛŠgÎúCù”ý]顟í6>P¢þÁ^.‚b~až,<À£Ã£‚¿0È€ŽÂ©)Bà$ÁŸ²¢Ûv¡ÿØV¶¢‚”V³ à° O’šG[Ì¢7y? ¾TNP©XýÄBÔHmÒáÉ—¾8=U©ÌW ý±2Ì®+q6à§ôPG¬æ}o9päû“‡N^?€øù;ßñ†½«?û矽ý¶Û÷ìÞsüÄñëü - ÿsßû.@?”OÄÜl„û>öqÛ¼ö‚øOÇoÚÀ¶íZ@è¿s§L¸è',DnO“øP¹¤•ü­}áu?ÖÒÒä3 ‘I€ûhÿa‰Œ?ÓæjõN³; ?èÐí¯óÇÿ¿1úóON$⿵›ºA ÊÁÚKý7ïñb\1~@<º}d¨a4ÊkëfÒš’Ð -3ëŠÛ/½üâL4–jñx¯‰ª7’FÒ/þç™ë÷bÝÊÞÐ#âPW" @î—°À‘EÝòboE=ËO€þüȵŸwðg;û(ÃÂKJWàvaEߘ$Ùõ€¶âÿ0³´€¡Ù^/Úà<ö™?yè#?ðµ¿ü"¢ÿ¶m@“ßúǮۂøJ@u¨:Î6à{]&‹høÚ¹ó²,wm Å´€Hê?qüýµä³>þÅù„,$øS2¸Ž¢M‚JÀb3=èAó\yx´Ý¹qp€6¨ F¬êÅZj“4BU¥dVÊ&èúCÂÅó¼…YUôט@z ?2ÃxŒu4øáMýŸy?û…@è­Äð±ËÈ–@ÿ¡oü5xM‡‚[Ø%pû3#ÐJ,u¤ïð ( ÐT™÷]îžQ§·Œê/1P#ŽÜ‚u)_v÷Œ)ã[…ã3VjP™=WÎ(P8yºþî÷Œg· ¿5=¾CÏçõéY¬ŠÜ'TñÊyýøKµ'ž3ÆoÕӃʓßO§ÔJÕT<ꉼºïVáø)+é˲V47¾]Éo.Ÿœ®_n,mJ´Œ¨T1pCbûd‰‚(ùfuĆ寭öÑ”^Ã5V¬c5]Çû°[¦EÂoTàî㮺´C$Eú}€n ÎBšD"š{8á<jbØ£j`g¤Fë'ëåz2‘”¥d×Êxè@ýÑõ£¡¾ñ4..aC\X46o™|¾‡eÆZj&T¯=ïØ•{ádÇ ‡×wk~ûK…u]ŒºRiÑÚœ‹õ -¤Å…hT¡•ê]ùÊÓ½ÍD™¸ë\ÓP˜ÇŽ 4V˜.<|:7<Öñ]Åj-Y+ÁGf% ç^LŠ-9¦¯DÂ1i vÏ8¬pïci‡#¾ÍG„›6Zöw9mˆ‹Eè‹w*•J&‘t\…}~ø´öºlf*Él1ÆvŒüú?ýàW>ÿÅœ‘£òÂ¥¹±ûîß•?ôÅ¿ÊnÎV+ÆR 5¦¨Ñ¨‹ÇÔÔç>÷ùáÑôÈ(‚ ’tK«-š™¡á‹•Jõ²1­½ßECéW^[À°ðÊ|Ÿ]Y”Sº7ûºÐËLäfPJªž‡Ì­±X †À0ÛL¦Öh꩘,£w¬( ŽÛ´ûÐ3ʾ‚n ÉÚÕ‹f[h 6pcúº74VÃaXŸ˜t颹ë8jLZXªÍNW¤˜ :„6³[í“/!ú[–kŽÖa]Àúˆ,Q23ÕJ=ÿæ‘Éï*ž. gG†³s—Š‹ånYm·é)bx"æÎ«'ÕæŠSœ-äó™b­ög_›œUÚDˆœzºÐïZMW‰‰FÕæWüÖ–BZçWéú]RUQgªU-=¥h©}tYU‘hU¶¦©Š"–EŒß•úE¹Ÿ­5{“öøwXE;ú?úÓÚÃ\^([€þÁùüÖô¯þÚmgÒÓ³ø^Ò)e–mÂ0[À»ð½N>Wô/ÎAÀEH¿?=UðTd¿P_®ž\¸ðÊ…Ò5—ü‹JsçÑfôÆa(ÀK'gJÁ…¸uk®ëúÂL!?–ÏÝ|è›ó·Œ¦§áÐ4>ýâôô‹žtND¾@M^w¿û}¡ÉBTKÞÔñµV/{XƳ –4S - Zoysñò¢ÅÄxâ€ý)%™Ñ?Áv8ИçäꀋAN~±²$1‡«Þ^ª'àréi.Ûb4 `,0'цÝР@QBú•Ù Pà_›JcÅvÜBþK\`5E„ïB4`ù° Q*ýr©h™ üÉéah4 d;5I!µ™³–;+¸+²Òlutu€~-gEøS.§‘/ÜfNº ¢šþÔÞ­â‚À¤pà€šaÑÒæÐÌ̸τ¿»-ã‚~¼f¥íÝ8`æ5CM ø?¬_I|úoŒ.ø“ÏLnÛž>°/[©Z•jÐ@üO Å Ô¨,ZÓ…hFÃÉhÀäZèuNÜßÖA—Ovç¦"·¦0:ü+‡çø XÏo.þ:Š®nîó -cZˆGFRN»âÔ|'Wšœèâ5Êmý£ Á¢ˆ]è/ HÁ&6`#5”˜}y^UÅáaÏ1OQ"¾à+i ô×êf¬_R“JeÁ€Žª¿¯2ù×ÒÔ1ÂíTjù–¢D3›™ºì*roOh>EE >‚ìoTñ—Êr&\ÈîÜ`i]µ˜ìëivät lP9@öm  ìSxOæÐ·P¯6ñ8sºR¿Œå4{y„Kh,*ÔΔ½Š Èý"Úb’Ùt~å鉼Jâ?ÈþI®bãÛ•éÓW›î–áuIåk—çQŸ éC‘(ð’ƒóÁ™.\¶;õ .î>è:ƒ'ûäà‹Zƒó qC;oÇSº’gÖlu€ûÚ¸á?DúÎg0þ_ñ5f¸°­|žE.XþÂÇáÿŽýÈýÚU`­€©ÇãZ<^,—ÙfÅùÞ¾I§Ï]xà=^\õ!®Žþô•Ì`Y#/£Cg±ÜÑarÃC@ GfpÕ¾›2G^ ýç6ŒôÜLØZÆ*Ïõð…툤X½'‚u_I^…ïm÷×¹uøLö÷¤~²ÿtÑÀ½ï:0ùÜ‘]·ŒÿüÏ>ôÅ¿þÚìkÐçÙ^`ó8ê'§ÿôOÿ´«~‰„NzÀÂ\% R ·,vÈ0ò(Š™í5g;Ætm¶6úƒ* È„þ ô ÐêhBº›ìOŸú Ü–8té‚¿ÞˆòÇ¥c|ú˾Å×sì* µR‡cÇ¥p~¡ÇÐ  Œ×v­;†óÿNv8]¬c_2}¡„_]Á£¿·Á@q?àДØÕÄ;ñéwuÑ€÷»‚Õì *Cñ?&{Ê–&ZcÞé‘$ÈS l_*x×fSHõS5iútõ¾=#ÙDú±oV¥Ãá¯m8 j}ÝL§ÔR¹$)0´Ìh†­(;Áæ ¿ø¢ÿl±fYrNó·Fª®>>¡´¦ž<ƒ&ZMéz<ÊCÙYG%ôuqC‹fÖAëêë•Öø¬^ó917®g™Ú:.­×YJ|&ø¨¥µÖj<ÕF¢B\˜|Þø…?(>ò‹™ßýh78ô„'†ïÿåB驉xÿÕꜗÅq.Èò±(ôZ«h,Agˆ¶„·ï~l¾ÛÙÒö¬~ºpz{&žÍä -ç®í—i,Y-§Û‚S^ãöº¸dí{sîÈ‹Ý7\YŸ˜õ·'+ÀÞw£Ê¥jï ÐÙá¡﹯wm¢Üæã_ ?( ¯×‚J´7¬g[ &Gn”Ïœ2561NFöùŒ³ºY+ò|9Óvïž$áçî¡ÿëË_=5}rknë³ß{V`ë¼ -³3úÀ‡ff –!¸+b¥\Ié)wÅMmLÕ¯Ô·¾ ]õ›KM¡eì¾=çýŽ>+=*Vêv¦/#üßì½}ŒÜfz'øV±È&›Ý©ê.u©[’˲ZÓrÛNkÆväØXßÜ8™`ÇÉbçds'ì%»À.‚ÍåîAp‡|pÈ»Ù$$ã½ÝI<7pFÞ;vlϸÇV[mµ$—ÕR»JÕ]"UUl²É"ëž’Åê.Ùšlþ8àf±Xäûþžïߣ¨[¶qx°¶½Óf ,Ÿ½v·ùœ¿?Xa@¿er.@T«fuÎE›é+lÛŽ’æ[!Ö·cY…¸Ë}¯\.‚ê@÷6¢d²Ô¦ëzmø  ¬`ÞÛ¼pÍ?‹Ñ†¬GÒŽ+t£Ês ööª' MU7®¿«¦~óÒÖ–;=­ìÜi…qÌqiЯrCJ°1§ÔNšï|Ç~×ï«å)9DŠ®G!’€ò) Ðk'I -“~ lMŽ}R±jwL´•Æ4šþJ 9l.!Åá@*&†WDWDB‘„TPÁ¿À6ê±qEL®H’ƒÝ½ˆy‹ÛNW7e}K¦×G±*a"õ÷ÜäöÔN⽫…]aº&Ú]YW(±V/»+§õçe€¸ËôOº«£³ ßôÏþú ?]yä4¢?Þèíy—Ž8¼]¿õŸšòÿ©Q=’ا[÷”mù[Ø„Wþßÿçã};ùq¬:›gÕÐwrèuér}i±öăµ×ÞË‘BO©³³IæÒ•›K­Ü‹PÕ{R´»žýa˜“êÙÅËr%(°/±rßìê‡Imsí¥Ÿ_ØïIOFÉÞÜL¨lzÅ›ÙÛ#iÇwùäé­•y\W#4!ùˆq¾Ê½w¯ÖÆÍæÍÇÅ¢`íÒå«\ýüç>ÿÀýÀÎüüÂÂ<Œ…7Þ|ÐŸÙØ¸è_Îõ[{wmùáexѸ~µY;5B -­OH=ÍIV¥"£²2@Pj† øœHmîðuò)U‘Uä+,çXLôu“2’tJuº‰È—5=ê‡qz1¾?ŽuÇíD•ªÞj`VÏÆKG -Œ“æÊŒ9V— žcðõQÿ[ít’$V™©¬­ýiLi3?¯g´ Dý˜UiPYŠiªåÒCæú*c’:w"b™ëa„ë;EΑ èÖK“ãijµúu‘¨êJª¿GDd,¼£  ¸‹¢¤Úý¦¸ÝX7Šéi•ÐdÂd؇† Ý|öUÈŠ©åÈà@¬^Mж¹ -U—É’ -ñ;2ðN=úÞúÐÐ;‹Ý;b„ðRÊÐpÐvÞ¹ìÆinW^”MiéHNÛúÿÇ=<î¯_Ë]}«wöÑ©çÿ›¹•G§>ýÜÅüŸ¾ý§ÎœB÷÷ÅkŸ`n¼µ>¾] XöŽ¿¾2 €þg—Í·ÄÅ:^Þ•zãÔòÇp‹  ÀvNݬۺqæô© ߟ>4­‡HgwŒÎ þÔ}Ç.®_ köü ýyd(¿–}ýrpJêðÌ]y¸ŸEåíÖ<Я¿}•Ñ_ ¸rÞ‘ÿpÊ\k™ÖÃ?²ü ¿ˆéùô¯¿VO‰ÕŽ×Žƒ¿ÕÀ¥úÆê•êâÚ¥$· ÿ[ßþÈ€ìd€þ‚pŸÿ™INÔá.1_&úæÎzýJ2²KC™. ú2 y q™¹(¥QfJìè x­’·)’©– &ÕÉìý ýEÊHêyž¦iA¿„ªÿa ià ÑNÇ7ˆ< -dÀFÅËãÁÍ ºn@AK?­ùÌRWõ\¯D°]ÊïùcsåJ–1èßÚQs™×’?L½²,äRÌž§­MW')u\ôýTß-ÐðŠ"ÖâÁRñ -DZ}I˜pSo"Rêë7¼J9­Iô3×1²úÇHó Í"‰bIÆfâí4#KÍÕ åÛyšé½‹;YùõkíÚ3úwqVD `ûO¾TùÞ§Ü·ÞwA 0­ ? -€¾¶§VôãsòʲöÎå´}ØÝ¿íDO¬¨lðXydùù_LjRJ¹I·2óV?÷‡RŽ’¡ŸËÌéÇù(­;ŠÑðÃŽ3HÅ\Š—û²‰œÉ)”<+È ¢Ü5HÅáñQ®ÞGOË·n6Ì\¾ÿ`䚇?XËíww‡ÇTçÇ÷çú¥¯ÔçwC IDATúAüÓúÕ. €Ÿÿïîš­?gªÇæfX0]ÆeT5Kì…g#`x%µÑò/Ö“g -G¬_\ÿìã}÷7ïö-<¬¹Ôºqéò]“G§îb(Ø»ž59^=çÀÁ:çöÇõ û{Ë!-Lkk§2ÿC×Ó=òÈò;﬽KÙ;O>ýä«/c‘Íúæµæýóƒ8Y;Éê?üóñÇßÂ<},'|à‰¤]Ô7°õJ»<Úmøkÿök°½¶±ê?[:¯¹{¼ŠhhZ,`1€úÏ2 ³ÝlÍÚÅdg3J¹lŸ -> v@9ì³+ôO~”!³v+SˆU)AðŽGýEŒC2Ê¡²ú׊(缌b®û 1Þj{–¶¡ (¹©>™‹N«»€‚0örž^@Pÿá%ÅœLX# sÇ¡ ˆËÛ@xD½¡zÔÁ(érÑ݃GŽÿþÌCå’à5¬² /ŠL$ìi%Þrñ¤¯½Õ©ÕôOÉÿà)}ó¦zùº¿q¯ÏKŸöò}Ò£gŠ`4ácë†ëï; -Š“HWb´uú‚㯌“Öª!¾o…QÿÒ¶x䨭•ÇO&×—÷·æ–ýHsêNº{8!tJ8SUËumú§åûC@<×ÈäJi<^d<þŽcLæ½RûwN‡£sãG>A× ÒŒ/ë.BûNÛ§²yˆ áÞð:óÙÁžwüDõÕïbâã“O<”½_ÿ Qÿ yþ'P¿îÜNð¥ëíŸÁûÿlüêÿÚ\ZžýÜóãÿ*螃áë‡ÉßGc×p²†‘¼úÁ~¯=úîܪQ˜liû¶]RJ§™ûS=À3qs¥T,t„v›­Û»rs¼‹ ~ ¬ÈÜU-ŸâCW·ìUi’‰’L2> 0Ö(ÀVoÐGø35¼~—é·_VÔÆõ¶ÓÃHìê[ëæa£v8",bsÅÅTq“¸Z˜BâÌ[ÏvwU­Áœùó¯ÿ_|Ì¿üoÿÉfýÚ«¯"èWŽ˜‹‹\ýó«°ýåü÷ÿøÝ·¾ÿÿÌ㺡7v°}âÑ'ª Ö…o¿Rÿí†óÏœ¿ðרiPò‹_|nmuµÙDOàœŒWU§¶Öœ©[ª9¥^ý 1s{]ɱ×Ùõ¥¢Y)[G&´VÛ® ŒÊŒÁM‹Ä•dŠa|"¹¥ù.T¹õbÌ©VŒê,êÚ~¡ñø/—W6®­]Ôj“úñ…~1ko‡ˆr~Œ r@8ë¡9«ŠÔeTv“…Ün¹Õ…9›& -&`ör×£æã.9þœjµ\VËHç'•#è¥X{w ÐÖšÎd\Âa_õûìã"xü¡TBÃöPô§ùŠßñ]F9eyô@gþ¸AˆÖÀD„wo„÷@:øž€›`JëVàz²ÕWêoªÀyH¾b 9òÅdJC¨È®‹ì¢º'ü^Ò˜@-’8ìq’z€-˜÷Bøí¾ãW*LKpç2!¥’K阰­VJr‚†®bSr@ÄŒ.º\·T¯Ó¼7åÅúâ‰4 6ìjy@Ö7˜Ñ¶!¡?Ü»(‡ÚÜ_Îkˆé¸E_mø©6­ëÓÛ­ážPuf åÇ”3i¸»,ˆôNsè®Ùb»ªH—Èà -ØÏ…b å¹íôì|^PLS#º‡*ÌšdèF¾bS)©œ’Ñív;–a˜ ‘)-€¤óQvHóሠ-9~Ú¹³C`ø~~Hƒ!d®½sõÉÏŠÍë  úá«”ö·tb‰dúñý¨9_¾W&l| ú Zf°~ê}aܽçž9ÿÂ(1Üg?…úæ·V"üÖß¹ûÐß¼·8Á¾ñ쮼8–b(¹"4ô“ú‘¶?ìøûe†"áH€öqç³$‡`2*Ë”à¡ÈšUž{Ø0VÊ\´X €ÍÓ„(@ÿìø¯ÿÅ׿gféÌìô3ú󨨏Ê[Àý&þÈAý¹f¬¡Q«¨%$¾£ßú_X2÷|x+0©¦&»ûÀýÕÏÿDâ©cŸ ?}kÚÂìÌIµ6Yí8A«Ñ­Ì¡ÆS”ÀH.•Ó(ïÖB \6gÊV‘ª Û]‹'ýÛ·q&ÃÍDµ:—±ƒ79ŒÙÇ÷þ*K E*ú»xäÜ1Ói»3³C=wwwèz2sÌBþÒ¢Õ MmßöáµxÊD;ѺՂ–Ʀ(ê]z„)JÑu#Pw‹$Ì)i«A¼u½hþ¨Üuãi1{ùA_èGß}1ÓÊÙŸƒOæ`5<üéi¹ÛMsãИÔsL$Í¿:˜ÿãØž_uÕ‰a›bìMÈz#ôÓµ„ÜàŽÕ§ïZ ú±#¹ŠåŽ þÏë!ˆ[¨XGGy!¬ûó(æºw…9IËèïEØáK»&¥J¡ÿ]C6aw·óݰÀ9g€ûøÎîP÷çO©CÖK*ºÃ¿’g03:½»†2Lè/X&éûN§£–è<ôOÉ]g}ïŒ&§ #,’úæåá;‡,çÎ]/„ö“ŸÞ¼Ž(|üÄ\s;‘|ÕJeß‘ ûÿdÀÇOH—¢qæTm,)~¬_«/Ý?n}ö‘*¨<òêþ.}ª¶O䢰®ÜÄ[ô1tÓ7Zc•1~0PÿOÝ¥ŽA18‰|S Cùò°^F—KÓ]/‘| þÆ0¡ÀU”¹ê ×õ&[zfÙ€—Cí†VE;À¹ÝaT0È@˜½~ V'»“ã:—.¡ÿ+ÿóïæ¸|å¨ÿ úÿôã &ì#úïØ; @ýç#k÷è?ÿ¹Ÿà‚úÏ; ÷;áèÅ_üµ`Ày¶m»s%ñ•b¥Š² ÄÀÌ,^!lw¶R1çk¾ã–$žÌ)"6/SæÝÙè¯R™UÛs"™Æ`K±ÀvÙØ9†=™eÞ=ÏèÜnUS@ ˜el³º?]†Þ鄦•6ïÛ ìôwå™ý«¦ПýÔÿryˆ¡kÄ’ê¿GœN9ktí ˆýa«N!ˆeZì|Uf`ŒöHOˆeYêgoD#Ö@Šþ/Ã2U^0„~6S`ËÊm’zk]D2”P M•ýÙÛÅQ8ôG‡ÀÐ?ùë^›øTŽ¡’¯ -d@Ë• ´-¼qÅÔ89N€î¯kÓ®×Õõ»zW†©Ç»};ùOÁ‚Lï$F€¬úOOê]â&4¦¬LäåÇô´Õíâû€ûY#£¿5Mfìn0??Oê‡#T‰HˆA!£Îh9 º€F%÷Aô7@¼‘ ÐÿÂËŽÏ×@ýϰBÌ-~o$evZC‘pÐôŸ>ž}òÜ‹¯Þµ©Œ «Ÿœä³þA=3øDÿ}cjRí¥¡Ýs?Ró½~ýúÇ5'8V™»²ùÃÐÏÅ!'¨H%)áVõ,çxZ›Ëì€~&ö1`ñŸIêøð2­j}ãêAÈ@.Pü÷Á*e#l—´ZubèÛÒ5лPÿA÷ àÌ™3a°›Y€þ_üÉÏ㯾2àïQ3O£èoßnŸ>‰QVÿyú_øö_ó~+%•ƒ¯'Ô[sæÉû‡b’c³ÔÞÒãâ,¬þ ôq+`n€2@"ú¶ܽÔ,@"¶aRo†þûÜI¹+2·‡ŒôA*t½\À\’Bºi:ܽ4†L¹\A@1§IðTÕÛ^8ç¥ÈC¿HÑ?{  „N«›€#}7íp$Ð cJBõ¿*T,3úÀƒ¾]3aŸo® ¥¾tMä¿öæ¦k¤}ÕO8$èGùQ8’ßb;þ}iÛa0cá"A €ÐêÚ]6ò½JqAh¨ãc¬Ù~ù°¹vÉY>c¶‰éW"=ò£¹¥òú:½¡¡7b#åäX’[DyùPñð€Pý1Ûzro-Ø¡°è‡™ZßékÇ5)*Iä‚ņ¿$Ž`‘ÀRq³rÒ`À&¡ zXHÜÉ*W<êÄ­iºïu2*sYl·ÜŽ [eÊHÛßíÒcÀkÐ&H)Änàz{¡6!%ž é‡Ê¦îRí˜z¬s d¬:QT'¬N׫4‘N)k ü¹ªF³ "ø‘‚q¾ÌéŒ#L*5G:žÈ¿BžÄ¿Ø$œÊG«;·H œðâ_ýuu¾²tfYƒ‡§Ú­Ž®btÜ›û ê9V¼úœ×;újaåîøûyç霩VçLŸâÏë›;ØTyl«¡ƒŒóü“+^Åt¹õëcŒß±§Ì¡/²TÇæª7š PÿáulΚ6µÆ¶®ç3ü8¯?¾Íî_5ÐòúAýŸT'at^ð.ê7Ãà6/¹pW¨T k1QßÈ Ð­ xè ÓK)D2Â;LQÏš1áåÜvAßT§TÎäHÐÇ&\i OîÝÖ퀢3Å8k¥ã6æË§×ÿæ;ËÇf¾üSŸ[»¸¶|ß¼¸”wmvÝN/Øü“SÏ>z6N|êôÚ»ïx­Ö3çŸIïª)ßùî…ÿø è–}sÓTåúÍMufh$i%Ð!:ÌéïøÝ;¾Óóg*–×÷;½±ª!³Žvü>&•ûƒ¨uÛÕ'´ÊŒ -"ÂnÛeúlŠ&¹””©—e·Mþ´½²{NH¦?ßš2Z䉄‚.˜njª™åt1f€¾Yrû°r'ÔRÉa ‘PHŠìÚŽ”Ú w:ÉX¿ ÷)A? -°^Òœgì'Šïtׂµë4[·ZÜ|¦IÃBbJÖpn9¦¥vwýb‰\a%A™hß -Ú·`޺Ʃšƒ½k2?ÿWÅõª€¾ 3 -™””’ Ë? -cL!+p#4Â8URE…ÕC®Z›óIÇ-„œ«ËbÚÅ\ªYLn|ôÕ­ÆÎéÅi·)®æ#’ÑÈ"–bÝÔ'W§ @Ôª”‰&x"ð´—ÏX àUÍYHÐÿ‡nÎ3Èøc)Û·Ú¢4÷Ôccã0”J -¼Š(j@؈LlÎëÒuv:wz`¦zALîW9áqCÕÀÜÞþ`nø‡­2=EѸ‘–"ßêΣÕè¯N( qöU@œµœÄdU%¹Ô¾W#¦ŠDôè†óy1ÄÃ"qÄèÏBü½@WA[¼àdºïÀSÌ| ô! UÞnØO<{6{Ð^÷rÿ/ü»æù/ÍÕßǸjïÎõ{i±â±cêÆõ³BÍFu.Ñ ™ÇÙIV>5·~ý$Ï>½Rßl–dõâïM6à£pÌêåD­ßCÀ#'G†u£‰²0GÇNïÜr{ŠqE1ÿõÙÏ,Ýh%¹=SÆT&$îÖ&žY˜å5¢#ˆæ¨–꼺‚ê‹w"bpB”SâhÁ\ŧO“0 î‚ä÷’·aii(%YG0mb¨\󂌢¶1‰_Ê[€þ_ûÓ¯ýƒŸ}.;òþ«_€íýŸôÈ ->ôíßâöµ×_ûuñë,^yó•ìøïôüçÿáÏ׎ƒ8þÈɯýÅ·~û¿ÿ•ßúŸþàù_}þúÕßÿêïÿ›ßÿÕükù‹d%Î:Dÿ\]º»çK´v¬2ZØ^LYü¿…Õj.$ØÄ4¨þŠ@îhE>¯\Ø‚P((R´{T¯J2çþKò„Ÿ&ÝI6r}+ý± k"¥{Ùs%IU&dxÉÊÁ:PÝÔI%kÔ¾ÝQrwþR:I@„{QÖÑSžqéðiAdíSÓðʹÛ0?kUŸêÐé%'Ìx_ìΤ“Ú ¢ *U‹«ÔQ’T…ðÛˆÕ!9M)‰%LÁ-åxl÷õ¬âÉÈÐØ¹Ó1‚gÿ@%uÆgÅf ûùgkk—ì²™óræ,›ÙÊ0Ÿ7“h;»Ù~ÞCêNÌö‡ý°h¡÷ÙÇÇT©ºËÐò@÷g¥ý€ŽÆSYÂIƬJë°=ZW`Øí–bl1 °çɼ`G»˜Ô< |íÞë‡\Ò ÛŒÊ–³¤(ðWÛu-¸»VQ$ªz¬ªR‘ aè2úÃ5ëúÀ%åBOS/ç.³Hbcq¸ïÙæ•Ư}Ð/аj6k'Ïì{Ÿ€—fË”+†Ÿö[ÖG¼jŸûuñ/ê|ó¡Ú§¦.¾á<ü傟™õg]Ú¸²¿ÆJPJ.À:ïÏŽל:jÍ!g®ŸËÀ½ŒcóFk¼ò¾¾¹-Ä6$ˉ¸úßh¥n¢Û];ÄTo¦0 ¯L@ÿjµš{¸ª/ªŽŸÅ§ë f¦$±'X~¨¬ôevértªÕ´Qý·É\ÃÐçIZ3Hˆ\•zœš° À<šTüNg7Ñ™–——×h0[øÚÛë¿ý¿ÿ&lßY}‡¡?€þcÝö<¹:6ë7®×ŽXÆ“ßʳòØþ* ön±kɶÂV–1Ø¥E$SžµGä b¢îŽØ¡wFò÷¸M'•únZûËÖ p bÖËTöû~\ÂH ¼ü¹Jh¾óð¦¬ëH=Dn‚£`°€6¡Œº£)¿êäÐq èv[—„âúá1u:‰`Và&$kJ­_K>žëJ¥bDˆ…CÜy°~ŽÚTgW’ÃaBV^Ñè¤XB‹ëºÖs½v;Y2Á’ú0Ã['줿4‘t<€-€ ­ÛàT–"6KZ$‚ÁʲŸ  Ø°,aõ­:(†óóï¦ËͰ`ª¤ø‘¯¦„ŽÒLÑpÔe.ebõ±ÿ"¢?l}Ïè¯o|÷µwð® ~gÚ…ÙxéÂKÌ4Çè7ŸÐÿÂ민F!Aý¤ûú¯¾¹ -;ùËØó fËЊu9AÿƒCž”ò2ÐeÀD‚þùÁ4–úaÎWÉ"!¨þÃKõ³ –J™Ðº.Ü¥Td2A±•ü·* -€So†{Aü±aÕk[e»ûãŸrã x->‚ H²ÎÃÈ”©Œ¯‚Ó‚ÂŒŽ 89d€½ãÂãçwçæ‰¨ÃM~—>]t»q}ݯž’?d‰$ú#=?9ôo5l0ö}ip¦PŒéþìÙfô?x‘€þ3å‘“¸Ý‘ÈPe,ÒCƒ¶bS!M6D˜./‘+¾û\ Ù-0u©HilœF„i±Eö~ -ü\,2Î -ÒçMc§záÆ\% ƒ™æ I˜^ìúˆÂü,ñåRTˆa_ÐCEÖ½9gH>(f®@,“€øƒ8À®L=¶­V§R1\7ªTt…³¾ïvw“žé ûHD¼"BRJú…»”~ËçWŠ<¬è{<€NÐÑ¡w¬{Ça.‘V¯›ºA&Gª.·¨Õ\eÎlÝàªÅòÚê†uÄ=ýÂK«§œŸ?^yý¥ÕŇÓ7.5—æÛÛÝöNçÜSgÝîVëV«V«]}wcqqziµ³U¿²ˆ=t€×ÿ(ù…b”8m1ÿÚ÷; ‚Ñ °lü›]ÿéÏVŸ}Æ_û÷1£jr„WŒO¤©Í™~g<É2 3௚*³3Ö…”:ó)å‡9ˆ/÷ZWý¹¿<ñÌ”º“Sè -Ò]É;aœÿ±• 3’ñÉWÞYS+×GâP`\±‡Ô$6ì“?foÇÝ£ŒäI¸«8 aòÀ&-¨·ÎübIqÀ–~cÛaöG…ê `³*“ˆZ€z>v øLÆÝç›J#œ ë ¥¢×ZâmõÔœtD¬o­·'ž®-=tßgžºoýâ»ÕûTÓ(;6lk`ãªr¥¼´òeÓ²ZÛ;-æ¤,ùµã¨c©DZ0,W*íNkñä’5ï—[§yZ]o¼¦OþÇX²P(õöµöôwm -ÓPEE¬®7Õ’™Í%Ôi1ã Uû†@¡X9ZÆiSºó’䥿}€†&N-‰}>èý— -ð©B4„­7HV‡:%iS&(šÓÆ㈠-†]|€9ìv]ª}I&*Ü«"û ˜g8 ;«ß2¶Fê£Å‘Ç!82¬$°äÍx(²¡+ è‡ ÈI#fk—èúŸ÷…ßQëù.eÜ5П](âÞË€ü;•rÙî%¦ítü®kΚ֌eïp3ƒ1aIÇqmÛ­Õ*¦©_^¿|zé4láý3¹ðÒk –> ; ÏÍWVß\;÷4BóÚjýüVZÍDÀvg»  œ^ ™Ïâ Xž1àþ¹üp¢Ôñ§>yãê7þò[‹‹èC›«ÍF¶Ãß2SuÇ‘è“ã}¿ø?4?¾üÁÑÈ)×ÇjÇÄ÷`ò¬a™è'tÚòÓØÏҌɩœ0œgÍTý¸ßèôÉU³}¬‚'̧{²8gÅ<ñé‡^ûþø -†}蟕GW^xi ;Üéž‘ ‚ \‘ ÿÄÚªÌÎ,?xšL@°vâgßó(ÏâÇÎ=úlûvC/Z¿½e_6Ôr4p8C ù8ÕDÜš³Õ0oܺ²u d>Ð÷Uýñœ)áO{§©Õ÷8ض¯MXò'&ˆN-B°“T ,³¤9¢¦9ÞÿŠ)Íq(ÍÉ4 D-Û˜ÉÕ PR;Óý‹qt§B¤è v’wìÛ¼ÌC*¼ê›ŽuHm~8œ{ÞÞˆñ*1ƒØ7aœ¡?Ÿ*3èú÷ƒ›tN“ ""}Ëx޳uûL5)çDrgŽt/¾o0]K庲OŸHÉM´Èñššp·îS ziªÿ ?8*tàrñ‡Ë"éÙñ-R1Ï d“C±oQI±4¯˜"´OOפܦlgìhµÛJSsìŽiÜ_{®Z®¯×ë¢~ö©³«/a/Í'ž:ûÚ+oW—+Õ™µï_^þôi:3ÎãzWNžÐ -пr­•ǵ1*K; ûúÃÎò -Z—­F»2W6fõv«ê?l7ÞEFû–ݾåPáXBÁ4M X‚ÓÉ 8 -àÑè¿ðÊ‹`<þéa«RÀ}]û!Úá¾û§K§îSµsãárߨ7Çrÿô­¼æS…³>¡íש…»^Û¾hð±ÊÌÅFr=Y°«'_r\=l6n'rÈ$ÇŽÓË,ŒWÓÁ½Ý~o÷®N¬Kmи3H‰¸ úa»`»—Xý‡†)â -CW&}íqžÒ€ûË/\x ó÷—V–:)q±„ùÎçãuMA¡@±.ƒâ ìÚ¶[©²Òê„ÁP;i4s~Õ­¤­äÂÚÛ­ ³õ†ñ¹š™•g+p ¯î¶Âx3Àà ÿðò8¦Ía³=w(Âc«TeMX0jAàˆ¹ÚÛåÄü¿KéJZÚ‚2 u#»½Ž®iø"ôé˜\§$RZò÷Ò(.œ‡Ük€ €¯¿´žÉ€ò åRìً ˜HeG†º]¢jgíd­~­¸ïPk[Yà U7™„ßîâŸØ¯•}eùÖFNèºë(ÍTñ|ŸI1=p7€þÜhš}Œ^0_Õ;)ñ””Ë[aÇ>ŠL]æÌæ4\HZ¬ ®Œ¥¤ÇÃd’YôRb$+æëßFXX„—Žžšä^ä}L•¡›“ ~¸JÛ¶a« h½J IDATº›†e<ÊŸaõkëæô´Á;KK5x´õúÖÊÊRó£ÆÖöÊ£K«o­‡+Ë.\xùl+‡µËçÏ=!Hñ¯Õ@ÀÎÒC83«ÿ§Ól ØÙæØ²@ôÅÔ–¥*¨ÿ,ÖÞE; uk‡wDZ^éùäü!/ÐḦ>ßÛ#`÷ö˜–^`p¾ibìMnl\;`qãäµë›†ií4–—PÀܼ1w÷.™ŽãÆÿöÏ“ûõß©qc€USµ{þúóŸY¹è“éùfI4)å†[ï®ë -pÌT»¾?3ŽÖÿ‡} êÀk†Õo´…:ÛÇÒô÷}±æGÍçž9·úÖj^Þ”rÄJ`dœ*°òuRªÝ½›ðbôuùßû ¼ívÜ"y1Ÿ˜|¬“nm¶[·F1Ë}RãÔ1šNÐÏê¿$)Þ]tnl™ŒR~wø#óG²ú}ŠŠrÈ^רe£h''â0~STu26²(ºG¬þû¶íG£?3^ <¬x(ÒK0ÁØG/F9ŽÐ_ŸÔ‚­†ê?w0Ü_½Ø¬þRNÈPÿó7‘YB æÒЪ¨Tt²ÆLò½1–/&MBÏW †ç’HÆ”2„~EB½ä²ßTÍòKƒ\CR)÷`¢(§YØaბXÀÂmÈExE¢žÀÄÍ©WB­ê-}0Y9d´ZýÑíE>åðJqír»2kT*ÆÚ{7«Ôqþ7ož~xaÇvZ {y¥¶¶Z}ÿ‰§Ï¾ö26›^9·ôÚ_¯.f ùò¥ÍÇÏ!:7n:gÕÚ·»R[›Vƒ—5e>òfL•Ïæ)¢áUågŸÆ,ºÖ-°ŽÜÜlË’V)kï¼…Õ’ª¼øï.¤fr‚†ÜB  çA-1ëâwSw„TâT…d˜e½zdfáèÒÇ mgÐýksf½™£vKJÓÐòtI¼µK“ãi>¸Þ•fŸµÑû€õ˜¶ÿ,RŒNàcèðÚîÕùòã¢àËšìw}4¨'d¹( cƨ0ňÝäkÖÝ -UQ&yŸRÐÖWבŸ‚ÿƒze=z/$åBÅB!„Ѻ€w1£¨ˆ)d~„˜—¬úR®ËPŒÞ$ô@'$0©§ YÈ^æƒ -ã´¥v¯vs\ˆ‚=_7ˆoŠø²XT A„óx2á@ÒUÑS¿Š"ÒŒR´ƒL‡Se«ÝÄùP­˜ÇOTj'æÛÛxµù>ÑÀ ÝP’¥¢R´L¸°¶ºš@jŸèš9_¨wsn8×ÃÉõhoSßÊ;¾¥ÅQ"% -#.Ë -a'uÄA _—kdßÜÄ‘ ¶O]6­Ê¥«õòá -hõA{¢‹ˆ"‰&m‹Ð ( CÁ–Zý† ¨4Ó‹tå1^¼¢ªŠºþNÝ<¬vöUõÌ#fçŽãõaÉ«ÌÝ& (/SSÛ6~^Âr!KD»À‰@‘$ëÓ’ðBœR±ÚÚj©ózÙÐ#grѧÙŤ£Ò@bZ &m”#DÊ>°T`R &'ÍÀsEÉŒ"—óÜá*ò&ày*³–ešôT#¸i…On;Bc~NÝ"ÞGØiµ‡¸µMÕª³*ìhØìòº=3«Áa_ýK÷ùŸÒßÞÖÞÛ:_1ZÛ]ØùÉ/]{'Íò9ÀwÌ ²@ùHòšô“Y©ZœrúÁD]ôÇ/ý¨Íèvnn¶¶6=ßxuM ½‡~ÿÒñd»Ý„çßæüJrvŽ—]oLqCe΀Vž.“û5 -+Yãˆüݲ¦ðœW¯48UµsAP Yšñ´Õ#åõõ«sU¼†¿ù'<òعüÞÚOŸo6Z««k++˰Åøì§—ßþþZõh¥2_i7Õ¬|¤rî™3í[x-ž=Ó¼QW'S6WS¯Ø£dey˜d»[–>/ÇÉ»ºtÍ?sR…-ì¿ü¦ÿ[ˆ÷ÿ·¹vnE­=¤Ö/ú÷?õq^ ¼ýüÏõc¿|â¨ý„8ÁÇŒ<úâdÛÝ»ýõÔ}sûdXœZ‡]†Æµ€6&ºÞÖ¤.'*!ÖsÄ”†9û˜rNé‰"çý‡÷+U³2g]ø¦ÝjÚOÇ0m}Ð3@ñ+)rëú“ AÄXÃ2€IŠD’'ƒ% ôíT#gŠpÞ¼À‘pÏÃÈê¾;æµÈ¤žþç’’)×"ñn%‚Ýô+ŸÁ¤ÿÃ_'÷St:NÖ °X&· îä”ÅŒÃÆœè'Õ[)úH±`rŠ‹È  ™ tá9ÇüPOÉÚ¦áA„œ$±¤‘“¾»a¶åïåþÀ—¯­=qxè5ͺzè’°/7œD–ÂÔŸžgNUPBÄAD¯¨4Wo7-K­_ÛŸÖÌÂUÏõ}ÜÓ FVƳLPöÔ… ¤Óíq»®ÛqUcˆWê™2½Ñé¸1?¯w:Ãì²Îyúx=Ô¶³RZ'ÌØ1"Z·ÜÊ[X,?l¼ø §zTž«*/|³ñø - ;O>Vàuþ™ÚÚz—4×ÞstuPÎu³;»¨ðö¥ :f¾5;ݺiWè)ÂÎòƒ ­í ÿ2õ_¾LA³×^ºD©ÆDÄn!R–y{;iýìÂB™ËkoæºÙeãı×o\1`‰ã Üï7³&``Î/à§¶n¶t -1Óá´™¨ÿ`´¶Àœo ¶ŽVDàè¿vµñù/œ…Í+çή¾Ž–Êçξýîå*ÉŒFs„k~‡ìîv«Åº?ˆ´ZMPÿAR®W’ ðë/]Z|xЄ¢@5M7˧è¯Ý‡Aig;AgÇö¹~ÄÀ¾›ðc¿¼þ¯~£ö3Ïàm葉`ߦfŸ»KGøƒc£^?ußþš&”Ààn£vô^=Ÿ؃þïw€`îîºåú.ìs-n@Ý›rq!kωpiÎ>ffìrÅ&¥è±?ºÕh·Ét½¼Žx&­Bà’¡øRÈ €MÇDIâu!G_6ˆ¼!qÀ6»<¸˜ª®X†nw†€F€¼ç[†ewlØz{X—l2?0訠$ - •e…‰0&™þ"*RAwP&!DÌVľêÑ*èþíöâêg€Î(?¨c"hâ1¹&—%1$½9È~ÃÙ¢(R ,k,«œ2 ÔÿyÛSdGôg ~DT@€M ¥%²lèZBÝ2à0â¨ÿc'CLišô Pº›”×¾°g»~èŠzë×ÓbÝüq‹­¥¤zAšÝ;ó˜pO´ðð$Ðú‹ `D».躡×;õú¦íJI6s b¾ß–8ä—Åq™|S•„Ýví×ë(rñ¡äø÷pS;Ƴ±2 ÔÜr[î³_ª­¾Ù²ï¸ËWÖÞmøhýa =w„1ÀèoU*j«å_x9Éèxí•ÿ÷÷³@ý_Ý[Ž|!ei#¤þxBNÔéŒó‰WæLƒ$!NÍŸ¨TŽ–Aý‡­KEg€þ"… ÆtU$ˬ½ãS‰è1p™ºD-?¼¸öî†:‚îÿÆ«—çÏX‡åþüB"^ï,¯Ì·]çž60/³Õ9€Ð>Ë;|a­¦“wª™”x[[¬ÙmÔÿ³'ÊÊÊ“¼v@û3³xÜÏ>[­ŽŸŽlm¼{¶\ÛÌèÏÃv\ôÝ+)?~é+õ_úŠø›?\zì!Õ¾°òê°ð1ciN5-‘ómmÔ1mÿ³¡ àä™7×-UUe¿¨U¦öGÃëÿ©Í™lH™SêÛx΄)?ý̹‹ëé õŠÞ‹~W^§XÅÜŒ9^^·Ó»òaóù/žƒmÞÀŒÏ~éþ°“´×¾X>³ètѽ°üÐßÇÒ߇—k›˜ÍÌèÝÛ-XE°ãÞép1B†’3Ü -jÇf>jÙχ¥87ésбxf¤'œÅ3gšÍëXÑu5LÌÀÉû~ÇqÕÅëc²¼·ç›15MÛ` -ü/ÿ´öü—Ì_ù/Ìs?²dλqW2†õ¦¿ÞldüZš¢Zªº~%Iõ™™À…ûì#³˜HŠçž\¹±³scgûØÂ©·~p‘Ñ?óÝÃ9Ìé‘°Ø©Š:C[ô½ö/5ÉiÓO’|ìæÍÞ¨4þ´ªu}¯v´ºtÔÌäOµ»]6|¼ùQsîè\€ÉßµYå€uªöá÷¿úý™ ·ï²#yW@RKjGøEôŒû…|'/¤©&­‚'&` "l±Zະ(*J†1 zÒæ‡lO.±‹¼ ´QÌð]RQ•ö¼½€=0á1Ñ£ *+ó‚äˆÒDUŽ©Fˆ b8yŸŠÐè®d ú¦0a¿Ü´·7!# ˜#cŃ‹è#E_›·‹,XS*þs¿%Õ -Z Q<üÉäRøTánðìŽî”?^k³]ÇíVfç”IÝw‰ÛTR¹DŽ=B±À'Æn] ºb^ ¦Êʼn -òD)”:ÃN9,àOÍ8!Ì|˜ÿ° -àzŠ%‰Y9ÁJË|ýTŸ–pjb„º2œ{îí¶xЫÎP J_^$Ý@è'mÆÛa‘ŠôM“lVU‡Ëð‡„u,é”&äù†RÖ«¬­¾u Ðk×Úì{1§RI¯úÊB¿ª% vŠ$JជäÔ*1ÿ>*¡HX,ÐBFÿØ bsZ8U÷"MS¢žy0¾©R1‰œð)Öo†w¥~à‡q‚…© ×»~TÑà.ú¥´Qª: Þ™Òµ½«õJcáüãzÊÜYS~ì¡dÎå]»ãA¬_ –o%è[xâ­Èضó_xvmuµÕl<ðÐé5J®_^:ýú7WËsæâJ vÌyÓ*[õúʹÛî:·;+‡ Ø‚òÔ&r®2ÛtådÏŸJ| 8ù·V›‡ÇG¿ÊÍ­ìt:^¥b¯X­– F¦eù…uŠ(hšÆ)S”.D@6¡ú{0quÇn1×´ë»\›—0‘õŠÜÂ%©Ø“kXFö]ŽM=,½ÛsÏß^«WãõW¨G3Lýê„kÀ 0Zˆ¿ô¾Ê<¼¿“‹‚v¶jó•$DØ;ŽY“–x -3¢sÇ…W÷Ž»ºŠ‰¼¼÷é‚ß›7’0ÛÊ£g67±i(^…{Éy@=aðj:ÿ“9åÛ ˜öER,X³xÆ™Éм¾ÙÚÜl=údmùÁ•µlb—;yX÷×§u·ë2ú³9¢MI`ú{Hè&sð#{¸šPý/áÏÏÊ€²]0ÿÁ =Òõp,šïU‘ -£2O]VMÆ”ÈÖ4üÒ¨¾^¯Q¶7míÊœÑj$) ûÛ6µÈ¥S/?xÖ`òÕª2^Õ9ÓÙöLÖD181ÄCvGsr2C?ȼ9¡,Ã;£&  ”£ƒ®) %ë‰çI^ÜúF#[ÊÄ™ Ø›6I#|I OˆÒ…3àÐôñ©Z">Eš«ß¹ã€ (}ëeûä}â°óè -NÓ·.våçªõ­ ~3õÿÂn£<ÿsÊ…W]gN(o^ìeF@66êÃÅsæ—N)-ÊM^N áóOý$ïTçæZf¥:¯ÍÆf%­õ¿=šøá·‹Îh¨`ÇvfÈh·‡ïwèà}’ÆÂ|Ð$Á3?q®•Æ“ó½yÛTµê-LF÷JŸIÜüÜ›‰ŒwX)Iöm×:¬ÃvýÒÕLð¨ßh™†ŽzElZÛ;’±«&@×S-ù÷;2ô¯*gÜ?ûäÊ‹¯ŽIzîÉ•ƽσoÜ…w¨6·?_hå~|g5- » -ÑñƒbXâÜi´c2;Àó»NÏá0*žØœoˆãúDÔ.,•_ T^x#òØ–p6bõ_bÇñ²PÙÊÊ’ã çg”eTeÐýý¿»»×ÕÀÛ sPÁ?ijäiR¤€Ò÷.:ËÔáCÊ5IÁlTâ¢Øv0cRE ó1±Ÿ&êx©?Þa% -†œŽÃ8-âo/|êI4¬ÿøO.´¶›ðb €îd"8]‡q<–b× ¬9r]÷ág¦ KŠ"+äJ¢ œ‘Ÿåø8«>‚çèiòH‰q'w‘7°ëº û²*þ”]êlÛ&­¹V³³¶*ºÑ#õ_̯d=d,Ó¬l³€X°íbYŸ {¡óg*Ç]ð j>HµÂ0² çóõÄ7‡ÀGãèâTNNÁ'”—IßÏŠˆS(Ìøå÷A÷‡3‰ÓŽÞí"A”\ßoÛbáˆV­ŠùYô/ôjþVÓU¥Bí¨äwÅÙSªw¿´ùAø“OQ®ïvÁ¾õü–Û…ùW<ÿ„ -ö¼ -÷ëGÔí›n™~¸jÛ…©Z»*“Ž2)¨CLŒì8],hŸGÙ4¢0I„p‘‚‚Ü©A\LëŠ0®ý=Î -€ßãEØÉT¨ Bo|°!¡ú„äõ\&'5* àÏ-Ql»íêU«V9l¹w |°ïùÞÒId\°?j¹w}ŠèÛÐÜ Üž—…B•™â‡U"ßl®ò#ð0i?°£‹Rea¦r˜“ºbc^§ïBF h!´ÊŠZYÏÔ›\×n»ELìiÀœ_8j «jZ³·ÛrÕ~´·ƒ“Ÿªtîøí¶«iÔíT¶žÍ¥^ðw$î¾Ûh“j õm—ÉΨÕÕïõ×oöj¦º~uõ¹/=+î.NUJg?Uý“—FÞ<¿<§ûö®xýêH[v¬Éô÷r„d|‹¼#èÊå÷ŸÿâC_ýÆ6ˆÇNOýÙËc.F3M_8Í;Ý|^©5Uu¦¨ö DÅ_¥´Oœßðû=¸Ÿpoõ 3‹|{Ø¿×íÁ·õ)•_Sa'Ð5‰„05@®Ã VŠ®YØÆ4Ø,Ý6Q&¢ÍJ@d/’ ”4Ò'¥ºŸd¹x‡¿ÓìIX5ØÙcà¼S¼˜MOµ¤öö\»V©%J”i¢5íûLk¬P =LÎ!Ð`·rl8¡) -’_QgstùG ŦšsÖ)%9=Ÿ×]Øó§ÉcíE˜,rtá»!¬.”MSÙØ¨›t RQ‚ƒ)\”$"Gë¹’,#©<£ÂRÄi÷@MQ£8dClcÂðz^)¥(Œª U0௠½òªšê!R„UÂK`ž9u©HÛø¸ÌÞñôi…B,>,&2ñy®Ð®_q ¤)Þ¨G®…ž8Q“ØŽ§Œ—’ÁJ^°‹ù&Ó“·îÜñZ·º œŠ©·¼@•°E¥Âïò±©5`Áæï}?*t X_&ËÒTQ -ˆ oo±(i²×ã¢Ï\,¨zÈOÕ ²[á9ƒ8)ýIP`Ò60ÀÜ)%mÅ¢Áq "@<¶XL$ŠÂ"ŸKÃü¾÷Š*Dé¹gª[Ôlwš8ÑŸX©µ˜EK%%Ráa À £ŽÝLîrú@1×5—!0v4·€~-ÍÙ=Ó€>ì¸èLEa.¥3^žÆT3˜1¼¸q+ë×p¿Øß—np¤ÈÂ\Ádá‰"ç´¡ èG'9ÒvlxáâÇÖŒ~VYÎ <Áa]Ö>îŽ Ó+‰îФéó0ýŽœ•´¾ˆÑg!ñ:P­9l R<º~Pmàx˜ÜYFs~œ>Eɦ©ŸªR±`¡Z¥¯ª«Å’èv¼õ54·ÕI€¦–òmÛΦebÙÁoþÎÏ æs5¥I|7%-¾Ï‚Fõ˜õkÿõŒ}vµóO¾¾£æŽo©%@A,Ksbýý+Ï=}ꅗdzAܸݿÑÚ¯þ_XxÐT±…Ðß<ô½²iÿg?6¦ÀmnJLÝ=DÜlõöU8Á×ÒN©k®ë5áº{6 ÿÁ󴉈 -|WáœQ´»›¼¿@|—ÞÇg”Ñ“`B)È|‰eãðG¬ií¡ÝuÉ×ÁܱèÏSq=ÎPT¸'&kÊ€ã´,’r*Î KêÔrƒÝ’ ë5ÕãñT¥bRß°‹zÞÒB¦Ìäôq—¾kÐÒdM°bëWZ•yåܹ•Œ… ?ìǘ5O+B&o É(&¤Žë%ÁEΊ`-Ä„eËå÷Ù5‹¬ M•I'óÇcr4¦n>>BŠXtA'“‚,²ë‘khПP§÷eΦJ‹”è)†¡v:¾B凕#à êrÓépë›…"|J£ -¬¸ó{6äâб–½i·ÃŒ/E”üݤí¿“µN¸€¨68ŠG3)‘A˜hË Q¶Ñ^¬P0Ÿ ,3ñI–ýad;íô¶údgùHÛs+KlmL¢2è3;Ððê£| «0â‘‚™¯¥·fž“æ&²Ð‹ bü-ˆùnÂü x~éYð,a -fLûŸ\¥ IDATÍRÑ@ØéŇ”ڜĂ -#¾Ñ䪰5cæÙ÷³V;ôÏ ÛÚ= jå»c&•¢²ÄèþÍ,ï-Íl=Œ~ËoÂæ: -§ % FÜG0vn» ×?ñ£µ7Þ´ú1ÛÄ6iÞ®§M‚`gx«•x0az½À±1Û)röϪ4ž¿WÄ~I&yjý¾˜NkOÎþ¡ ßÚ¯Yóm:·R}Ê÷Ô©áô^oŠ¥¥ñßÜ̾ðÜÓæ /rI<{hBŒn¥zóÒsOϽðòˆ ™5Õ†=Þû_=2¦BØ®´lNºŠ·?4>86êÿž#å̧¼y#9?Ø:Éx¯‡|à °<§ë/.bø7_ž†©*/¶|%äN„´ ðÔzµŒÏ‡§wÜÏ -`’ìULeÎË´õŠÛ 9-S|"©“ò¹3z¸ãyz’ˆÑ1’üQÐÄrË? äu¸ïøØÎ%ˆc·íÖHSWØC`,.¢«ÓÅd«ÈJ;C€ #‘jè1¯e0Ö«šÅ -)ŸuÔœB¢_ÇBkNSѱÊW¤ -VœÆÏ`Á -Rä”J´.XM¨Nù.†UyÍî —³¤1UNã†Ï ã„“ù¡°M[ -")8êS¸u«è/’’«áÊÍtVEUòŸ*QHªŸºn«1ÒCЯ`›{ú ôP?,ˆ¢U–÷U/öƒ!¸Ö³ú/RaÀœ B$æó9¦x¹k ½'s³w× –´ˆþ‚÷¦Ãècõý(__¿²þ±4£÷ý<^üÛý'Ë/Dçó•oúoŽ¿”×Þß~ ßMÿjµã7 Y7àŠQ 6Ì¥V ã0eôÝÀäŒB[ADYžØ„zs «1­Âkuu=3Xý‡-€{f.ÊòR‘íœA<׎¦KjzK23UÐûd‚sÁ K×Ád/æ¦ Áq|.jŶSÈ­›ÿ:}JFÏÎÙ5áFIæÆÈU9fY_ýÛºYcÂêªÌ¢‹ yýA;ÔSZfø9¾;Ì;мa¶R'¹+¿™ªÿ.GŒÑ"ׯtR1)ƒcòk“å%¼˜d $ˆjºa¦¢?oY”rRCÞÈ«ÿ•šD‘AS/äò–¸c‹óJ3_3lµ)äU @þ`øgàÅÔƒS†2k ‹ Æýìä *¨¤Ä€5̵™ äZ€ÅÒt©ŠJ‰ãLÃÌ,IEªG'Ç«”Úx è üä.KlV¡ðA_È‚(JŽG(Ê¥Ÿ§†IÇó}§'¬ —ÕKµ„*¹Oõ¨ì{Ѧ4ü®½aƒoJQ°è§üǃ¨çúÒ„Ñòà‡Üáyã{iÓƒX»{ÃwÜ~ÇÝÁΜö¶ß´^A o~¼_kƒåô; í³I¯Rö]<辟®.Æ òÉj6tT…\×0³Óž^?Ò'#äMïÙØNÈG^ú->¨º^èR´@ìúÖ¶kΆe´¶;  -Ë“IO`mNÓqî¸Ø¡5òãP\ßjw‡Ö¾ Í#Ò4¿ÑÜP§$xõ¹zP¦)Øßu<׌t´Ýcáw^©§ÑkfWò£Jâ¹_8÷Â霡ÿÁññèÿÿÚqþ™¥F&< 3"'XÔ÷6ìN…»½ùÑe¯ï:ä;Âå-IðØU„&+ä;¦Ôà ²û",„Õ#ZyF}í•FtÄ/Ïè]\jˆ…Hê÷û¥R©×í1<¤ -"È™Œ à‘_’“ mùSTÖÄŠˆç!g×Àdp儊>z¢ƒ?0úg*sËtÂ;!1CÑ_d -‡ ?°D`R©åS»¾BgO®} -%eãö1e¿¿ê´8 ®(°0bxͨÀMHü{bÌ´ë"–®‘×sä%¼ÿX "A+i€)…¸€þOÀGÛ½€;Q•Šd%ô±^;ˆ‚À -vWPÈ”z s•¶x¡6/7ë! Ü"øZ/†‹ÀbŠB H± býb±†Ôðg -04Ô,K½@ý1’S½K¨•â ›F&K‘~f½BêuQ÷ÇâEøõá aÍ/%¯ç3‘'>‘`´ïíÂß"¥©è e^µDb©C…’Ï<½f¾)w_tz®1E9H9—Y ñ·zûŽ]™µÌ)£·gÞìv]”²}ü梔¡??‘&”q%8Ÿ© §u^Ó§jˆDh«›uHi]"rĘL?:’Í@IÓý%v¡FAæxa*Öž¸œ2i/ üvJœ°pÒêܾ«îOZšà<­(îǵÃ6UÙïG¾—H¤. ô‡)· rÉÉv{¼ûÅ<˜í˜ŽúúÍÚrc‡‡i¾Úíá­ëô|î‹ÛÞÞÿ+;÷@nh6‡8u,I §Ÿ¼òÝÕÙYë7ççøŸ½]jRåuIQýÝž:Ivj¹¤*%?èç+5¢ðäBH)e³C*e‡õÃ>ƒ ž“|jUÃ3£7ÂjÜ µ¿ÓS§UßöK9è>›6…ôüÎ⌑Âßþ°LíNÀçÄo™ãÙ?8ÐuãzwøËY¹Ã [H•=Ê-õó »'Úij¬‘£(ç+çmÞù;L á®d‘È<øì¡Ly.áa5 »$‹›åºN ›ÌG1ú¤õ‡ifj>)>e Jj¯Ò“3~!}<]PâÍ@ïDªñÀ Ôt™ƒXû¬[{Û®¿W¯gרWSÊ®!Ì3ãf ø`.«šŽx¨y*¹Fyã¢Ý0ÚK.l‡Óð%"ÑÎNöü€H¨hh¤ß¶¯½—a)'M|¢kÃ|\$¹d"[æ<]Ø/Ž2Ûwïx)]ú¤r*|t r0ü­hZáoYÊò¾eªdÊpª¾°*`ÔÉ:Ò)‰ºè8×à>?òé|<Â0þS* †9•øx·¶ðì<øžX~°6ühÔ÷ɘ¢–9·^XÚÝwÈz2òaAÈUû‘Åñk’"Ÿ»²Q¢ R:E’Öhª’©t6J (Ê,D*Jqêf‰Ê6#þ)çßÏÀ—Ѧ£¿{;2+ª5«Ößsn^#¯ U—¸ìĹ€[¾#„Êq³\ȉ«°Õ5ù+aëúŽNUšºjuzû5åúYWLöÔñuCÍŠz8%ž• ˜[æL0Üî”ÉÒìÜî€$àR~UãSÊà> « w«¶4 U±Ã*ßC…«:1âV,½É¤‹ÞõëÍMjÙFƒ}ÔÍ™ HÐ?æúƒ0(D‰w[¤€î‡}ÀtØÏDE)Í©ÊvLvô©+,Éôœîù¥$^:P-µïõKZ‰µÈ’¼M$ýcI ¢'Ê 'ciîæ½@›ºhm~4$ÞÈÛõqÄþI”Y0ìpî -;¯w¶‡‚ý؆-€4Ì8„HÆ/¯çñ«´ˆþÅD$YPÝÑ“4|ÀD¤;–r6r2—Y¥MF)@Jù©é¾Ÿ¾e&F¤|˜H’Ê&KlŽ wbR €€ ýaGSÅÍkx‹ ì‡îš)ËØHu:Kd_'Wù¦äEø½ÜÌeUV&¤¼ü£Š€Göe2ó¶Dnq±ˆ”È(i¹ŠÐïñw±£°9¦BQÙ°Û 3Èݔ՜là@®LžiJ9;$ü¹Ø˜>”OWd}` ¿ßÕ,r ú°Å˜jÌ_*HñÅè¼c·\ÙG ú½â@‚:†v@ô}xŒÔWiLÝU㤞ËèñàÆQvCEz¯“ýÌÈÒÉð7ÄìÂp«æw!óôû&,lÂl¥‚:l¤¬×In%c=£ÈžÓ’ -:Bâ: "§ëª6vçGЀõƒÇ¤"ÁiQӆР-ÐoVáEç­Šì¹±¦Ý;ñ<ñzgâ ØUMÃ~.ÒÀ)RÙ?+&j@^¸Ãtµ°µÊ¼ØЧ5·ëéÆÈ“S zÌb€¹Óa;µ´?È€CÖÈ´ƒÇyé*º]ª3æAÆ|ë×çÏs÷g˜oÐGLb@×+þ®ë´[°½ôþ˜$ýGT›Û£'¨ÿ¸u{ª>ÅÚ7Ã+è︉Þ]ê…Ãð‚#K…œ",•øM<[±dj*È@ó©Iü½lôwái—úþPwNFaD ðù¡ö]ü'æ”…ø]‡å -X3Í´‘½ªíÛ]n4©áSf YÃ6ùÚPÿ¹ Sè -…V+ö—Võà\´ffH‚ùûæùƒ]§;95¹¯j$ñY§êöÈ]“MYε¿v»ÆQ©­Œ4©0~×ôG™¬t.YRK+˜"‡%q$²Ly»‚‹çlþªØô´Ê:æbî…~R+wn» 'Ñóyé­º>-¬Y d{ÿ,ö~Žt -%_ÒÓ| ²ø™5­ÛYpbǶf,þƒ/'Øôûþˆýáü’@Ù™|SÐï‘0•¤K¡  OËõud@òÜe©éø°e1ÀŠ?o%i¿"ßn¹ÌÇÉ´?šŽ ÉjAäGì*à~¿N'‘†fMˆ™¸°Ö|Øÿ½@aÒ<…j8ŠŸÐQ– Á @ÿ|zã# ô ²½ÌJ›>¤çI蔜E’¹€ðÇjèJÅ,™*i¬Sbc3:~8Ç3Ç_ÌsÄÃ@èIËìá¬ÛÃ)[Õòw ªï¨ú^k2Ò¼=U%Ö*¿ç[Äjïø°PŒ²¼ÓFç½" §xíßH$ÙD!~>˜Ç’‰9¼¾K~ƒ` ékÔ¤ÕrEØ·ýxPÌz¿ù=z,Øi\·¹ñ/*æ}Ÿò1W¼=¤‹r—x&ÀJ ²*c\{§ì·]¤ô’%ÌÝòý­kîŒ R„ó—dQ]bíºnׯ¬Ãšo¥5ÒÔKOq“¦ÛÛ­Ì•'z»%ijÖdÍQŸÀ”¹TÐ “š!÷d 4¯>võéc -sæÍã} H "„zâ»èïÅR–ÐÆ¤Çp ^ñƒì» ¦Š,YÆ{¯¡Yà‡Cé’wB˜ÓC°vHE@Ú%Ëpní°NÊ¥ÿ2ý€âSÞ«;JF'‹] ¸JkÑ Q™m¦&·`%0æ¡aV˜ëcçXÎŽF·tßE¢4ŠÍÆ9m¿u SŒÄýɃV§UTP2c±B…`ôYM(òɸ3Rä!Ð -Q"I -\_Q£~àÚH9%ö„Û‹j÷Q¶Ø¶ weì*°XÙÛ¾b·¤»Úiw°á%í»úu%,6EGSŠÊbhHLœ€Ô$ 0›Ô=X¼`%[ä\v±¶Úqh9”ÈùíÔ—Ne…`ã`,Ü,¿>îë)—½f÷¼¬Y|Çu5UÂh-Ê!Åí¢$[Çï1c>yöû’z1Žòv¤übç.(Õ9¼ªÐ‚]UFY"Ž1 0öʼ -„9™ÐvA˜¦uÆÈÃ$¢òœÞnb.“e©¹}Þ¹ÖZ\ªk^e aÂ`)KÃ/À¬Ã 0mé]æ‚;˜gŽüNŠ ÿœÖàé¶wˆg Zm·\ÖÛd,–g5ûVG,‚Ì®·;ê”íâW¸ž¯êø8dÎ~ è}…oûQ¿‹(%°‡1§¡:$-íÐ(É­‘@D°´9>“`î0Ô¿ñ7x¿øcò¿¿€ñÙÏ?&ëÍðøáâÒ}Ò×_æi<Í×¾~ù³òÚõèê­vàŸðæù¢¯þNˆçÖý³¿4~üA¼¦ÿñÏ*ÿòá­yã2þikÓÞbé¡*ìH -€ú:ª s§Ô­ º_e¥~¥Q;…¨„;pd݆×ÒJµ^ÇÅ\«Y°Ï ¿^wk5À>±¾î/-©Ntíš}¾Rô_{¯µ´d ?rÍ6-Í:¬ÂNyFã+;î<žùZe«Þ}y¾fmÑGæŽë­òŒ^žÕõ†U±T]µ[¶QÖÜ;¾{Ç«·àƒüYØŠ`kÓ>$S¢¾¹eêZ‡¦ëWìÚ)‹ó7@ÀíG½N®§ÚI˱=–"p©pn/l5ÜÚ)Ó%t®-¿ý}¬>èqwæ1OJåJ‚€ÃA~ª–‚.6„?w¸$œ§¾^—5bT]˜ËÞo4é)©h©`ì1h5Û•ê w3N¦ ¿®ƒ ¢ÑtªR"s3&цŠT8Êäq”dŒÊ³&‚šl€†#Öcý*"°G4UWX7[VÓ"íÆf+ÿþÚ»ØØ§rÿzíÒU~sKlÁW bÃh\̉Yê˜~7lÌ-Ä0M›ÛZs - ìxe¢Èè/ËðÅ®/7½Ûrj2A¾%^ë^jåXr噚϶)lÑՠ霮Pµ -S ™SÉÁÌ+•¹#Ð+BZ`ôÁy'K}ÉM“‹¤Ro:§3¡ WŠ€þ^ŽÍ"뉈.ë!)[ ÷sºší2ä ¬ùŸëôü}®† ýÁBb*CAŒ&Yš¸¦Hîn”ætJð'ù™£ÍlEšAç´»fyšw2üð’>¶R¼|8Q«g,ݪíÖÈÁŠ]25^û&ÙÄtú6!5îl»ðÔH²\1©½«Y&ewî-ZÅ  õ鶇ÓCív=ƒ¬'½cº&3>ÈØéÜ!:9¸ÂkÃKÒ5P=s™~œ'1¤ÌQxa–ÊÍ&Q³Á`ä¯ë’Êž ÔØ9ùÿ°ö6P’÷`TFevfgwM=4ÓÌx¤ˆñÀXˆµ „=gíHZiå/ÎÞ“ñòì'=öqò=V+Ý顇å5²¥ó®žyZ­[¶O2ֈ܃eɈYRK0C5EUSÝÙ™Y™uÿˆÈȪê´ç˜z9ÑYYùñÿþÿþ»Õ‹Îùçàè_¸¬öx•C[Éÿ ¯éÒ Óo?å€WÿÐ÷Bà?wŸ©¿ ÒÏù¢²ól<Å ›éÇÑYp³¸Ñt\\BYf^[þX›s+ƒêàeÕAã2Zw³Þ -Ur…Î3ÇÕ‹{ìá6ÓÕÇé'ᬟh´ˆt …‰‘µ@ú‰ú'`VÍdí¯ÆÎH0:>,û ]Æ´AP¿ýÏõt=€fðQ2=~aÍð PS ý,õsb ñ_¿^ºÔr/àŸüªUFg¡glÜS“|Ðam%+%:\{ðxÛÞlúIRÿáIÊ~´ŠDÇöùõ‚¥˜lŽ_W•M±L=f¢{÷·ñ¼{srPJUþI¢Ñ°õç’ò¬CëYô=à1\$šœÏ”ޱ^Ú÷}ÏañhôÆa[ €Ë„dX®©L@Ô@д®” hûÖÖ|LýMs½éÎ&”ýu þ*šAS`„IÎJ×ÈU(Õ‡aãYŒñX °í³°Ê‹"ªš–ìØZÊQ@?d=ƒÕâu h¯ ±~ᜅ‹ ØÖ¯e7£Äɸÿ‰bŠpN²SŽ}tÐaUÀ.‰Ê‹‡Ó¦$†(领[¢,I(Y?@i”,BÇQ“8ŠKP-öP¹óìÐJ­™¶dÏwàÁ£~&g|L6;ÅVžXÚ4À×™D½ EsLùÇ2!ýnìÏ`Úg²!8\*O0ö™ŸˆËêrß»‰„ZDQ+Û‰œ„x ò"hûÌs9Ê{늖 b`Q¬J²+Å“V]’âð$ˆBM…„¹Zú–¬ç9\„Gí˜jw?ø~›3i­Yp~h‘ 0\T5¤ç…]_Wsul•–¨bB\îLŠ¢‰˜!Yˆ€BŒ2Ø-ʈÑ8èÞ÷aKûXöGñß/‰ FgÃïQlŘcÌQŽR¿t$Çâ| 4!Ó“õ¤Ñ áö^Î’aÚïpN_+ÚŒ3yå$DÐ7ø3~A`ÂãE]棋ÙR¹Á—FŽ»•»¹d&ä™Ì^ôªÄþ¨P¸Í·Ð˜Ãù\è$à·äWŽLŽºÄr”jÀôáÁ£ˆÀˆDÞë%ð8hñ×ÔpΉ‰³˜]Øî—nÌ¥í¨`Ù ð‰dÿÏìJ66+¥”3`CŽá‰‰WáœG;\«†õ¢M5Îþ¬ã²×0êçz‰Du*##R×v¼‰oÎåßþæÓýµ¨IÊzW;¨ÑSm‡ÈY6VËz/2‚› Kdˆ7b‹‡KË­]»üÞj”&¬¸9)]ÄOÍ“ÍãSêèáƒI6¼°±€ ozÎ0eX8»æÙ‚ÐF…¹´£1Ï?âÅæÃjáŽ%µ0€é’;„?r±°Áˆ’'F‚MÄuèÏaй/`Â…“x5ÅëäÀ…IJ^hÝ ñ8XKf›a}ÿ^«Ž®5¼€Ÿ~Aì;·R¨Ï®»ÔÇ {ÿÁ°Çì&™Î:¨iÈfòDÅÍ XB¸£L) |ƒÂN` ÄgcccŽÈ“~·šl Äè~yÏú[ìc+H²FP¹| Nëù’“­^;ð‹«q">_œ†„eÁJWØIâÔ*7#H‹ãD?¸vó&)üd=J݉`;Xán(³dºÌnj»cÃL‹ÂA%1{·²±`˜Rœ äe`@Š(•šùÓõy¸5„vÉŠ"DW$ýL +?Z]~õ.z€rðRkìh NM)ßmöꎛxî9ÔŠq²¸´Øiw€Hmb:y¢ÃP\În…-D˜¨ ¶‘‹;5¦ø‰9Rip_@ÍOçI–¼ÁqJ(…zå+n,×£;–Æi½mÂvqLX·æ0esÏh‘ñO°¦Æ'I¢€þ×1v°ÙòZgè¯ü ºô’%DÛ,õB&âáœËvv89gÛ²„Î!+êHt4O³™ˆ€v‚gÈ—]”îØt&:†§IIœ÷ûI -L=Ù€¾=š ¬  ;Ï–yd·›ì»å¹G[m4üÕgW±† QSùÈ=ãOÏÿ®¥° -ÜCoÀ IDAT4Õ†òÚI­–¤gpØ(ïYÚùÚ -°åý‹Ì€µÈDCeê¬'·¥ÚÏxY0Œ„«Þ˜‰l-Mã~ŸMÐŒ‘ÕÈȨBí»î'»i S+±Œì¤¬@HZ°O¶µ-…áQ UœdA!ª‰æT(¡çlé–iÃS¢(û0{-Ú›Reô¦P²Û78žŸÁ'>2‘ãÏE_ü»Î-¿²üðwÅs/Šë®wÝ'χ_/îùGñL[\}±øÔ×ĵ\~ïãâº+Åskâáãâw‹§žGpË{Ä=ÿ@žäŸuoÿë䪋ÃóóO= ÞÃÊó½Å…HI>h/ýÔr¯Û]Ñ:{¡×c¶öWc`aÓ‹ú©7ë(t¢ÓÛ³Øê¾ŒÀêj Kíòú«=à@Íû¢·ýnׂ 0· ÀZ›¡]çÝh=#kAÈÐQ Kõúˆÿ $¹hk)°VÑÙ.¬^4°îôcÍlA[^8뮜ÀGÈ( ®ÙμÀÌš *ÚgñÜ…••PXZ?~¡¤~ÒéFK;C§KwíBè7mš;[xçðÛ~-ÛÃÀaœpYs—óa0H÷ì.Y²â&w(¸C‹ -} hâF§„®|ÇLôÝÇL#Õ¬›óa-ßgˆZš!#|¬BXI•´7³Õ•¼< ·1ëùãçWá΢wnuµÛ~±Û˜µâ”³¢óBgì'X‰Ó2k»³çI;ôq¯lÂmvr~|)þs> -“~GËJÿ'p’CË@ðb¨#éû¥‡ÅRkÖ—5Hjœ0%¨ðš[s¹š#S Ä@ýA‰ì÷Ò>ËXùY~I¦aVʤ„eƒ±c°­¨ºÃ‚?~“ -sTHømsÖ¼äzÅÌ0€ær-\!càʽ¢ bÆ# õW¯ƒx ©È1Óy~Š4Mä!ŽVš*ˆF_¹.ðZdzó"Ÿ~F«æOf¿;àmÚ4Ï”uˆl(YåÒ -/ H?Ü(<ß@^ 1ã]0â)ðžýGÈ1»L¶xPz/EAÀd8 -Yˆ††V䰈Ƅ¹_Pü‡`ÏffY5ú¾aÀ Qy&“Ëj“¦E£u4†Ò­”M÷¹Jÿ.f3=c²NÞ­Ðz|–Vh:bê©=™‰õLµVÄbêsb ÛCeÙ+Ÿï”€w ÖWƒhW¾M@ þ€ö쪢þø!í݉ ýþ~ ³O; ¶Ä³yíEÙ½ßs¹3“cüYüÊòãq'Ô!ÌžÖ€ú"B§™›'%`~½^Êþ“m)i:M3¦þxò 'úœIfŒÚ@daU1õwÑ• -;ÈŒ_¨?¡dÙMP”E ùpkW˜neÑfÆ8Ýl»f†Ïâ?o)ôBu5: -tøH²¥””ñ{äÕe#àüaÓ€l@ËàÀ`Òàä#eœS¬MŽA·c#òE§2Uì-@-®Ë)£Ñ sj44?Àt›ºìY+x@€Ä/7ÎPÿ———VVÚ!•BTV~2x5>–x¸NCl%Ð%ñOV¼wjCóQîIÃ3¹„@±À°”øom Ô>"HêB¬F±`ìÜ”ì]ÌOyñP !?KÑ&’—Qíª’XeÔ Æ~‚6Vð-a$ÏH:ÛøQLcEŠ­@ö U*Áõä#”÷…Ž£e/4ô›Mß„s=J÷ýDºrLüÇÉ •­†÷ô»¼° -'É€@Cæ/dc0å0c@×YÄHà,ŸèñÇ; Ì‘Œúk­’V1g*ø2€†Œèœ 1[a&Œ›I ÿ ZE× -¥CLò>ûi'Ùùý™Ð$r¬o“ÓÆØ°PÏKÒŸ…,ÅT›ˆøx¤/X¬cÌ -Ü¢$åîÐAoÝ5Ên¦Ô52Z’ ã52‡¹â¾—l¨ç­7—ðu]¾ä?þÔà‚sÔ…¨SêQ+«V Û9±ú2FÍ7æT‘åpÍy‹;p ~pÅÉNW J- Óõä ę‰8Ò„ P¡ ¡ø’í†ùHéò9¼^9$¿4<̰.•<&e¶¾…/-âVªõ«f…ß1‚ ¿ž‚AùP-M+™Ã!БBÊW^©Ph¦¾Pûr"IJ@“ˆ[»ÀZd#¯Ãƒ’6©ˆ:§†’SŒ}ÌO -¢DàÂb½ºŸ’ŸWf¦ìæ0[°J­Èžýï'Û -‚ yðÉ“TdúÒ{ÝÒȃX]3®WsY Ç=³ü~P*À6PNã°°Q-ãÚuð€…•Å- eÏá¡K©8—ƒø0hå„¡C(st™P]C·ÊpÀ˜>:EÙèO8%nk­C9\ébý à. uŽ@ -XH5'Õ±ä°,Kû"S²R^$&ý9ÈBæá @ö7ÖW{fÊ&%_K-k4üö hÃ?oßk°xØ&™ËæŽ$ƒ ±ßáX±B6 zÒÚbH×òP¸2CÀ2MoÈá5Éd«Åmôè  9«@Aà 2sHz 8ú¤È(Õ6Û‚~Çdœ¿RÇN ‚õ’Sq\¸Éh+2+Éd€ÂˆE9ÃÑå’ÆY¸¿ûboº½'VÉ”8&#ÜŽ }à™-™E4ØÁ>< -VbM\Ò`bº7¯&UÞþñã½ÅÝž?_tN¦y‘b—ô{œ—G[µ ÓËK,´x.ŽÓïÖK‹%2ÑÕI³˜£Öd1Ñè®EiLRš¸+¢´ÉR”Eÿ3¢iÌ¿¥Hk5/"#LjáÔ¤¢àšŒq•@ý,2[ÿþZ¯¯Ëdðšâ–Ž+ªÙ&úŠïm; u|ÜhoÔïüÐJ Ô_Z`‘,Þ®¿ü¹òb›"®Ø™Ó=¥þ\;%ÆšyÙÆ”Œj,Án”‰×Ô—bQF§¢$î\ WEiÔ4Gˆ†š0¢Y.JÇŠy1æ™ô0¥ æeQžLA/&O9s¬úì¶7œŒÊ‘"Ô9”ˆÁX X³×ȳËKÉ1H꜒ãÙÄœ%¡Ã'ë=?ðíEà:±(„’›—ëCyhÊyÈpVv-¬!wÂ,´ÉåÄ´Ÿ<“¦Jœ©'ÝR|h… ;íŽ]Ürü2“þÖB+Žc“í…©ü@y‹è2¨)Ah±±¾·žûM¶(tXaŽÁ÷pAŽû7(³Ä34aŽ~B^ÕŠO)ä”' uHdÁyhÇד”­Ë¢²oŒÜDÈÁEª”k -N¨÷kÙ¦-ç)Ú ß­2ÍS˜SD8Ét|ÎÖ•õõ˜ã¾ççƒÕ¡áÂ'#‹C¶,. )A@†y޲»dh)Aa`ÑZT€$aÜ×FÆefaå3´¯ZAC¸–ÕåŒ6+“héÔµ˜IãÉ·¡.M•âtÅ#¥•Ç žEƒ¸ º9¢UƒI`"¯ç¥[¥îwœ¡s’²횈"¯E¤¸$ EF#ó*D„º0J-'2¨5›bØÜa^Ê·Ÿhƒ¼6$PÿÉn‚–‡›%ˆxÐÓKÃQ„tWJ¿,»¾…WÆjuwÅ©ÒyÃrw@#QÒoqí§üîd^Xk?ÃX87p3mSE;WÖ\>žËó ­~Á¡ð°õ­Pæá’sM¬VÆ?G›Î#~Jöë¥êtâîGþ—ЦÃ<À¶÷éüäíH½–ö)×. F -kc„‰€râ5ú±°º½‹Þ )þÁÄ”âhd¸žÑÊsææç†‚gz'=+CXçJõÆ=’ÖŒÁ ဖ23)gç›r²sXÙŽÕE1æ½V†¨fÈó˜´©/ À‹c1ª%—,Ay|»ÁlõAQ¡ct§›Š®hP*#OŽ’‡P2¸J 0àÏ•µÌ¤‰òfšXWB7ÐSò¦–Wohà -œ|³" þ°5ˆÆäY[`P07¡4>=4v5¥¶:GE&¬Ìû”™\ ’øñÕ̸¹•&&,³Sv~"¦ìèJ¥ƒ¹0žJÇA Xå!žUAŸÜ›“Ἃ^“´PìVÃuñ¯±z£®×¨_ - †ˆ¼¥þ€ÿâûî ÔœzÜ)熲JÑ I­lPñ+›Z ývX*þ”¼Z¨TK’•u&®¨Ž1dÓ¼IÍU¨ñÍ>ç±q}F5z‚¹×¨bÿa&°ùyi¹ÉQ¼eä’¨Ü —>¶Mš¾‰Aàsê˽SIk‡¿ò¥Oî"B±…­ÚY~8xÊ -LHf§Qhï0šƒ,p;jÈŸ±ü^`eç‘ÖL˜i ¹)'{F„ßB>—ðÆj„rWÈ&%ÄX£k¤œª©qVc÷y{ í9ê~vï®ø¹+m¸M$N݆>¦Ñôë×ÿÄ*yü)tß-*>þƒ";v\‰Çþ{xÂJNcÒÏÎ@„Ùþ#, €Ûê©ñˆžö˜õ£I6ˆùµ¼V™|°°Yv¶-¤ 4úß/ªTAâYY¯Û]1úl¥±ˆÊÀˆüEÔò· \…4Ĩ¢å@Ì5Oóàªv!pæ5[ŒŠq úCÄ[`¢“[j ñ'$ÐðЂy3+Mj*S4bÏSÞÃ$Ô¯è¥2›QuVµá:|»dW–FGXÁ¾u<ÓVPXsE¸Í~£NÁ{Ù½ç¶ÿL6´Íò­ÐÔßwH¤¤f, -ÁpcQÆ´[¨ˆ  -/“]†œŒ$%K]ÆÓˆhÉÊó¡< RWC9ÄÕb“O I*}=×kGÕ‡aÙÿ$VÓj¯ôÈŒ©?»¯Íý(IK*$”…5èÕà¾2.hÃ)l©•ÈÒ£" ûÑzÎ<€©ùBOgo“V›%Lûu ˆ{¸-™Åo7Ê#9ÀdìûÁK|oÊõ1d€ÕJX¯|óŠZiN@úç[ƒuʇwÝòŘ·ÚÜÿŒg°Ô¤MJm` ù¦å^}‰w‰“?^ïY ry^åÝ4…»â„½ òϼútpÝ6‘~;<´Ý—Lá ŒIÎyêšh"GÍŒe°rÓ¼~0îÕz½ -ߟ#F%;ˆ‡åê²S Ø"Âh²µi°V{Pj {órÊ UÄ:hqÉ5†‹&ÕHZè%I³UZBè*ÅV,MR)“B˜ìXp•íÔtç5\Q”®C¥ôa|ß]ClgX =N ±[ -¶Œo±Ý6áÄÅ4vó-É#ãxANéTy’o r|E®K°v!Ìýû¥ñÆðZôȶZzœ¥ÆOQÎ[ -[BÏŠš¼Á’âÆ[IèùŽB4âޤ2Å1¼¤r($”dñì®’naÕ{×§n–;q>–õ=8-ËÍ«I-Y +ú»²jD{ذœäIIÙü¶*+~?Óý<Êy!0.%ÈÒÑX¿\EŽnis$ ®Hw(£ +˜ªõb9Çð Õ]Å)ä¶çº8Ö—Ç5JÄó#ÃHÑk„–ב kÙH'ãú!­E“ê·±9!Æëņe½z`^&…²®ëß|*àõaZÿZõuý¸<[f!é`D® ‰Ö$8>uÌ´²ÆMÐ 1æ‹»†lŽKi#gá=QõQ‰Õ½œ ¦&Ù'–3Ë#Sb𯿽 0’óP¡¥r[67-©T#Iã­,ÐÑoœ±áQ2›5±ÆôfêÏâÖû ÜfܺYsnæC‘©‚×~âŽÐÐ…ÑÄKSA\ëü–h´J=O7oÖ[I037Šã0P_qúÂÄ™qqñÁÖT^5nx9=†˜2RŒÓúòÒ†=\²a8ç­|¿ ToÝ`sc«.w’ÍL܃Ä&3E1nm3ÒG)|¼1Öz§p”Ö¬E¯H?|â4T6löÐ9Õ#zåf¦Ê3JâZöYXžú1ÓùVÐhúSqx||èðTó>~ØÂaÉg§äê³…ââ£Hà ]ÛKõ5õ‚Îhä 9ÆP†Ò‡ÇGжºpú! ˆ…þÌO^øZà+ORm,å#¢ …0ÒyJPQ޶‹Ú¤c1†ö›ÅÈW4)g…!-ËNåÎøÞLÂõWÐa ©™ÑRà½ñ3³Â -‡0õGéJ×ÙªÔøúèBÂ3¼Âú¤!%[åàžx¹âvxæØÊ¥Õî–»:!SÿÕ¯“"6Zeç2º=ûש_ÑhÐMÚÛ6­ü6™BùõW¦z= ça†4#•ðž[>º®Í`m6«¬“ÐŽþ형C½x¬ïQ.Ćd]͹¥¥³‹ÙÄ;ÃfÈî -ÌMÖ™q TWθ£ËÄ3ê­÷pƨÚvûkI³åÃ í¯‹æ<ÚšûëÙ®>lá”Ícoí\l´Û=.dß~©ÇÒzo€5ÊÛT}i©Õc“…0êF‘Úm?ß๠›÷²®h¨´L¬/ï·ŸÇk-¸|ÎV#ÄŽA Ûíx‰Rûí¸¹„yàý^®Â·±t6\7¡ëÂIÚ¹:¢nÏ'ð¯d+i5Zí—qò-4ºƒ.ˆ“@ý;Ý^G:E”¤‹Â#Û%zhñL ºˆw˜©{¨ÜïžéZ@»Ý^o#[:'4¨È½v¶\ õQ/ó8‰{½¬Õr£uÌ&á¯ò$6*¼×¡+žC‘÷m5Ü“T6r÷îtf}H-\Ÿu;/qæp$†p~ú­ß£¤bx¢ÎIá -qy±%Sl Ià·NbÒF2¿#^\HN¶Å<•2„gg·ƒœ ÷pN#[„“w"P Ìý`¹]Âi€%9dpç½ßÃkl ÇoNÀI?8øÝhy¹7’Œd‡2E—šˆãë èœìcmŒaÜëöZ ­ ïSsb ý¬a`gµ·|¾JøW©­iAUÏÈ(4¬8#eMæNUúÔy‰ŒE¾x÷Hi%}/Ø›É4 Œ˜‰’¦…âÔß– -ÃÖ4-’/¡s!赈ʹ_jû3>~èïÛ½ïiñ´¬Húé*,æ³Ü3?ô°mèq2 -&ÍzƒS‰-ÿÒ"Ytê«™öv¨²|³®+¹²ª¯l|néçôQÿÏ¢„,|ˆÿ@ýõ˜xE‡R€ŠÕ†®;ãõûi5õ$ ;|~¸–°eà©ãm®ŒÖë÷ù9{Ýd‹NDµ<ò9x¹C—“«/ ˜ŒÓ¼EO´O‚Ê™â9_D¡µM†×÷¸:ÙKjÄV¾ßF~³‘§`m?ðVO¤°0–ý9ïÇJÄÀÎ&%”œ$¨ Sã!I’neÆç6¢KÈ&íå÷;þ}Õébp…/6Ä*E9ø‰è¿Œöɘb¥‚öóðŒ5d8m%¥BS¨~ìûH†RÜá®|_eE´7⦠5œ wÎÞ}°}è»÷]ðÎçV¾#úFUd2~YôÖ:½5uÚŽ¿N/Â]]0°ÌcÏ üÃcú=ìÀ¨¯|hоøÑ"n!Ùx.™2½—{I–Üúác'OÜ|÷=÷ÙE¾zk@j['Û@|{Òíwþ‰°fÂÕ\åêjϯûI?î’›ôGkƒý° w’¬Vží¾ó_Æ µDÞ>Ñ{ ÆŽô°¾¿t6BA4,›\±rŒJ&j5Äwžø{uþ n⸭¿…ïäs«áœÛ^SæÏέü@U"¡X~ž =˜WÀ V¾ŸXáB<÷£°L଎7qm3Hm•)†ÆÁ!!m“/4Yö刣òU˜€°…ª\×c  -©°7Xe¥M˜Í>#éhê£Â„,%j62Ó1좦eÇ‘.*™ ®î×Ýv;ëQ%ÁÖŽ§dœ.œ%Ò:Vß-, - O6Ì•Òb‰¡5}LÊPŽ^h áÙr%¢²ÒøRUgÃÓ…g…ÍFø -*N -èëmûí*)lÓˆ¶D8cqQg -ï-¦Å„˜}@÷ m+y@1Ñ™`,3“Å¥,·xLÕw)‘,¡¥ufËczü-S¡½s\–ãs“¸¢ÕøTFxòIÇZK%¦§ÔñÒ, Ãl9[8§ØòP™°pRbñ)¼CÓ&ô¹žçûÎá"†MV”Ïïê߆š‰0¶#ÌŽVÓXùqqb6èû1YÏs1˺©Ê®…óð블vé½Ä©h̓<Ë2²„ÙL x:£ÈYú†~cÖ2Ê›BºŸ ~ZÃ4åI ªåk÷C³©ÇÇSü7£éD 0²]:ƒÞôˆŽÝç* ëä Ý©œ¾í¿ðüãºê´ë¯ßõ¿ùþÊ$B}þU v÷7JðD ¸ï»ñ†#_»Ghpoû·@ôÑèT-z†û}–¯÷Èzž[õ¶ðä½þ/ÿ -Rêwþ`v1×#¦µ•À'9¥ˆ~DL‡ûpl/#U5¿)Ö×Ïþ·Ïð]O~õî·úÀÍ|ã›®œüêÑï}ÿM7Mî}>êÞ´?Ã-ÇUnªþzÊs ˜EZ/Hÿ`=YÄiéf0[ÍËøIÚXÁ/2¨p¶ -F$K‘Hl@Qÿ3ŸS2F4™ šÐ{aÞÖïgfzéoîaÛ{bJy¾Ó´l+{¢hVR[–1²Ôu+Ô¯þÈ7ñÅ?üM”eì2&­}…„ÌWTÚK>¥°§É‹ í‡} ËÏnÆ( ÖÎÌÁËÑ¡·2Ç<·Ú>pàÂ'Ÿ|êÉ'êòö IDATŽ ŸzÀ€ô«¯F²h>ùÔw¸ó†×ï[XØ[Þí\xìØÑ±xÃåW> Zg •ß10ÙîþÊÝÜ9ÕWñÑÿþÆ¿ÝÁ¦Â–¬aXïí?qš4hè6…o ÙúËzé„䤶ï<|õ{ÅÍ‚KlUÌw sËéV”¥‘ë…¢(™¨ã¸çÁ‘òVæêéÂ"¹Qÿ»ÿZ=û·þá¡C×^{èškŽ=úè·¾QÞÆ\Éœœ¤â„çðß«Ø2|J‘iPŽw´™òdC60#LŸŠæLl»Øo^!Ž¥WV'7¨Ã4’ žc¨ÍJVÝ]NM•%Iª´¼À5å[eê -25™‹q‰–ƒ–AäW-(‚˜îš1,NjÈà¶ò~@(»Ñðk¯‰ ¹Ó–·ÖY$[2õGN0-q`áTÅ#ßS‚˜{þ.eêÇ¥xJ›`œc²?Óq6ûœ¡Ó ¨ÝÆŒz“yyi¹_³Â+é‚õìÆ-cÃI¦Xæç‘eÆ&s®RµG7L(ß.)£ÒJS{ª³z¢¨‡xXiŠlÀóRíæ¢m - J"®eÈygT H‡¾^Ž F3’õo}S0G=Â}Ì\Äÿ"P<ºÕ(Ôܰ`œ ·Öcñ1É|§~R“½u±´SÀ¶–§»ö*„æ,Q‚âýpÐ"Ð{):g'þvåùÞòOµ¨8IÚÜUvú«=Pæ}ouµÇH«ýµhמ(ÂÉfÖÚ5¯gÉFºôZÏ€|üAG¼Y|ê>}äkGðø'00Aé9 ûÛþÉ_¸ú0òspôþ#Gï?JˆÿÀnùðï›7áÏ5oùÐMc<àÆÿíƒË{ëè×QZ¶ž»õ£ŸÞî]B{øÁ‡Þþ¯ßiþ\~µªíüÉ?þä{ÞõžþÇn÷C®ñÀvÿd"Š ¨¿O¨8‚ìݲ>.ü^rÙ%@ú¹ø¦©§mŽÉÒØ¤Î°éÂn5ðÊÚ£÷ðí¿íØ™=ï{ÿÿú©;•ÕöퟸýÑÇå¯L”cWðü1ñi«6LåÑN2ƒuõúÈêQ†l€vªZF[¨‹çÅ0‹q,ŒøŸ ¬ëâ?*ŒjLõË4áóíïõŸ]é_J@oê—–è_®m;°…júââe±Òk/ãÎg_˜~[|ŠaÝ¢‚U_ud% -ÈŸÆ„¨_Ja¶·ÔNܰë×ÇÕU©íï²n 3.GJÃ`6€¦âÏ8ü'ô©PÃ3yD|)æ’®Ž0”ÔR"”•ü/j¾·”¾³öûTûw”f)È8ïsG`N,fŒ`íD¥ ®ÿ£™ˆo2Øè4q´+Ž ½<-âˆî’ðãZ-Ù-Y`ñõÀg¬4ן àA\´ád :©ÂUY¸ÒÉ㸓¯†ˆ;i¡iAßœ ØÙþK(ä‘WHŸŽgr>Ê»ŠìrNU‘mm¨&c æU¬ÿDësñqæã J’ z|Ëua¶³,Š¢Aá˜pA/§Ø$Æ”!ÛÉÙ¢lèF4^MËÊ«°˜\Ü-uˆ†ßàg†) 4B›­[ó¸HN·Ÿ-ímUäÒN_0’tøÆùÏÛ÷Sd-.±qõ Í«f[™ ²ZI˶ïÈza6Þ¡´I„¨)³•Í2¿¸6ýµ2e=̱Ú5BVå*CMùl¸˜L ~{Ò…-ôá+è+^É[Ñ8Œ#A]…s€Ù;S DK”¨h.¨¼ .¯_Ö¬~Þë'TÒ×?û«…q§ó9µ‡á–fºDŸã!ÞY53’\ߤ²Ðô’uÃìV!)áíÓÍ -×9q¥ê lC·Ä޲V)Ý_È…ŽSC@1ž¸–˜ƒÁEä¿À¯2m«…ÊÁ›Ñ̛Һ*Çðpâ¢2*[ÒÓs† S=xôªŸ»¶@úá{€ Øgdñÿò*QmÇøªøÉ~ŽAêôN‡xÊDÐn÷}ý>Ø^ý%›;ö|¼Â>Ɔzå–+$GØ?^bÁ4L;tMù¤×¼õÊ»¾péÔ_y¾%>Á»¦Ò dãJJ…@6¾" ûo:h¨ÿÛ§î¸ëý⺻¾ðg˯V–·Ø`–ú¾¶|AD)UGµãPÐRc@ ËÆe"iþäÓS*´Á*z6Éo—÷ò*ÔóÄÁt|Ô\¯É-¬,ºTWå}ÆŽVøUâÀÖ®úGÛ×el(é8RL´Æ®_+¶ËL¶è¤í| ,¼ ’iõº›Ã„#ñºæâ9M1f˜ÙŸÅøP’ŠÚÑ]QU= y®êƒМ+¿²‰xbEþHGÃ>{L/\¶3œûŽ,òÇà¨Üì™Y .$”le6X’cý‚½Œ@ÂtÐj)½{oÂ[ D¨¿­šO<Àf6hbFñH]­Dµ¬€¡é¤˜wîÔ†4á‚ì(ÊXõI䔹¡ÆJIˆj42æ3ä\A­1IͰQµïÊK°×ÌN`¹Ð¹æ ŠÍÎu¥‚`Ó¶#:¯†®ÁÁ£>Y9'̧gh®^;¬À±è`F>t/0ø<þ­GÍñ^´¼D|ˆäÞ+ßðsc'<öÀ‘Ýç.í\'ww¦2“̶k@ÇöÜò»·Ìù73ØÿÓ¨bßò¡Û}¬Â„ J°L0ÈT9æyþø Sÿ·\£ ŸþÞKö’oÿÃãÛÝ*³¬‚$²š[MSßj+#\ªû¿øÅ/nw¡É<àÑ¿ÄüÉs,#0î«lÊQ*mÂü »Ñ:—v5±ÊÞH[ð=gp*Éꅎ㘨=i 4£Ðb’¢õ1“vNÓ&A¡Ë¥ [YÚÖ\Œ¿D ¶Àü(Y˜L'LÜ\IW޶a–ÛDµDâ—fy ¦F¯Ší,ÓQõ¢6韔ýÏ£ [V5  ¿!ú[ž êˆ'Qwf¸Þˆµ‹Œqœ-\) b\ÛÇmȤ?3‡¿â†™\NYg -¯‚â?]¡&·’M@@X½rtÞ±ØdÊ .Æc‰ús‡aŽP Üûçe§À^[ Ò¼ÁSwý' ûÒ~Ý,þ#'`uUú Ä™{e`þ:MpÌråRmÇ´ˆ Q‰U ëŽ;ŽY–ƒ<ÀTfµ@àïj _£«;BkÃD&Ô1{NÉþŒ5m‚§ Èþâ#•ý ÜùÿîcÜQÝÓ€úOží•·æŽæi¾£ƒ@ý?ôÁöøÕO\ àþ£÷s5AzÀ»Þõsdš”`>ä©'u­ €©»óRåbú¯¥=ÓyÒ%?{韺¶ÐïPÄk´Á5¨)mÐÃæb<Ü…QÚ °`7)ŸF5X½\šüݱG8>v̸å?Üü¡›ÿËÿõé×üÌ…?|⩱oþüw~¶T\×#óz -ÔÐÐDƒÛÁeŠ„Fg–¸mh4tã¸J#›ƒTÀ«Ð«QJ ɦ†’|Õ„MVÏqÓÏ“¡ï“u àèËÒë‹9L/­1°à™Ø„t~5"‹´ ¢ç°TW Ø$¼æÍ$M;väàÁC—ÿ˃+?~þÜuîÙñF?wP$Y[[9xåÁ¥]*ƒƒè…øæ7ÿ:E£Î™zF˜9–´í®õÛ«ýkßrøß}˜ØéœHòK’,!_Ô}rh³ÌP=™”“FèïÚI¶r:ýëÿ§×ƒJÊNà½{÷þÆ¿ûþÇòï\¶ÃȦ¨ãí\-ßxÅ…Ëo‰Î–:TFÚ´Âyî\öú9å]ó?£MIrÁtEú×¿ç Ø¸U {á}ãUàÓ±ûŽzëA¶Žõ×ve mWÍöŸÕ×éEàžÑHU*ÀÉ¢•Àå=ËíWQuõ¬í“êÛM¿·¶ò_ÿìÎkßrÈ%tá…&Zÿß÷·ÀÕ9ÁpSUsô¸ŽTQ¥Úf©Ô’G’iÖ—›áâ§p{èе°FöÖ­«õ{iûÝÏŠÒ½'G$ÕI‡,±©šáœ%`›šIåÀìU3L.‘¬ÙÌQk 5Éñ,ÑC†iZšì0J¡·à ”=S¦“Id ­•§y9ÓÌóDJÎ[‚µ¦¥+gšöYB@­:Ûï˜ j¬÷ËÁÄ~cßZœ®€<êSÁè~_óSí‡1bQµ*ï¢É(€°¡Œb' Š(!úUb0Gà*q»¦"2‚0¶rs˜ù WÈRGV#²ˆ–1^Rùüøš ÂàK[0Î…ã:ŒW¬Ñ’UÚˆ%›×ð´¹à1¥ ÝÎ|6ÇA/‚]`”3|-Çp-Y!Êd±}³#JzZ”®žŽ*ÄSL*ÍEvb˜®ÃAD4 #Ì!SåÞÉùF*·;¿¬à¦É¾ÇÔ_Àº´±{Òð»—‚â[#õÞÔ]pý¨3…b/¿êØ|óá}ûî4;/{ýÇ;zß=“¿í¢R;ÊUtï×ïiíö}ï ¢kÞú¶{¿6]ø‰Âá[Ú}õ[ÚßÞò»ï›ú«:©ÆøéÏÁöÝïø…w½]9¶Ã…wë>¿Ð(éÃ1׿÷Ýêø:<˯qŸ 4Ð_ø:tðmoSwÒ>ùCsžfk'wŽ}ðȽ1y¡êÒo·|øûÏ£GèuDŠÆ<Àne½+@SX¹A&×™Œí³8}3U(DÕæ b²åÈá4‰§÷Œp™ºíÂà3?£K -Ne5Î6uuŠ(Áâ—Þ8@]wé;’ùtêY‡I7l!Õ~Mu'Ä¡y€Šé¨Z_ÏUo¡B'@üO5^¯~Œ[ <¼1r„¢·R´Ã‡iq]èW)­†â -Rìòt};ÂÌÓHOèŸÌLš†°&Š>€¸z…*¢LGÓÞõÐüS“1œç1=e á± °c«…vL!¯Ò“)>³G‡ ñßLÛ¢A`± ©R¡ûÃ1àø‡²¬¹¢ŠÙ— çØXÞZâÈ -Eëù¹8ÀJ«Ž}YU±b—ïjY ‰Ð¶Fœ›è¸,Þ`ûRÂ77é!¸²m½a <¦þ,âÑcæþ|`'Ê«_T3Úõ§zì¡WÁ|=öÿ~4ó'° ~zÿ=_þÒ¾}û'Gâ4ÔŸ;À®¹æ0ÿÙÜY2P7@ü÷gÎÀ®}ë!;ëéËýåwR<è½÷Þ{ú~èƒ%¨`[±fpÝõ7¿ëí÷ßuçÇO*x¡éi¡½ïFÀ¹<€;+Ïî2ìÒj4›Lú¥ÿ6F÷|ËÁ;ÿäN±M»÷ëGî ê?• °/B€— O¢ú[¹ŸVãÍuKq*­—³ŸŒê†iÔ±fLc?·›"ãÛ "……Ôf² -4X:šä´õC‘–q0·[ßÖäààøúÆ\`¬°m@òúµÂ3T±²ºúXØk¸caá €y@Õ l ]ÃdëõŠÄ+Q48Mc’ -J@š+Ñ^t¯Êz0ަMÇHÍ™T˜–E¬0‘¶s-ÖTôo倢ؖ«[u'ÜF´v戩J”䆻Hv,“½k”g&;™¾5àÑý9Ÿ«,‘¬,–$r¤þ }e¿%L -Ë‘úcIÅQå9ŒgXÖKƒ²°£‹kµCv¯°Ì˜c[c°¨|Š˜B®ŠÆ1ßJ­ÒÏ?0 ®Kµý|B‡á¢(Ù€ãå,û;®ÌHªÖݪæ(ÈC*Â.Òê{;vl\âÒîü‹Ë.·¿ºwk×¾å0| ÃÜVûýæüé¬ÿåÏßzÈ(˜õë Â3€ß~ë+9·O~ês¦ÿ¥¯Üœ}ð€_ýÅçù‰7mÚ7þñ;ïü7ï59rÌtö_°kòxÐì?¹2šZ=¯C`¼6pÅåW=òØCtN™$:6¡¦<¢¨#ÊÜ »LÅéògëÀ$Tá‚=jå}–¢úÄBžä+†¬ç:ç”—Ò0°Ï¼&Žöd’#èôµèÎ]%þÛÔ1ôIB?Œ&r0ØPcûMøïUÕŽi¤Nê¨ z¹$y™#ú/îÝ·ÿgÊRç cç½QŸ¡÷±ÒËB½ aê[øxf@à‚Á#ùZ­9MwÖ:6°$•ÎqÅÈóƒ4‰©‚©æ×"þaàà˜i.çZ¹)8Íæ*d™ËzX˜×J†å¯í˜N‚¤éÔ´Ó]úíp„—©å¨€Ðä.tR –3D8 ¢‰5mYÃWŽô,ðý8Mqf0Í Ë¼_8.äòtí—OPž°eÈ_$qr–b6§.Baך)¾ó½'ïúüí׿÷CÐïv; ‹ sh4ÿÎwŽ_{õ¡+Þ„Ê e«'Vzø¶89ÃamØ,Óœ_híXH,°ÂÕ~ Û°‹]a$Y÷z+¡·‡÷' &ƒ„Õï÷9¶ú¶OÜšle÷»¸ûkwW"fæÄwÜq͵×ð¯Íîöj{i×l}ßWõÂh!-¿zyÆóù Ë{P*ïœúØã͹¶¯áš“~Rwêœ àû˜Òÿöè¾ ß0èá>çŸÜþþ·½õÝ÷?pT°9«®ÑÑ…2ˆ#Ð?ÙdòRÅWbµƒó)I7l¡±n¢aâK·5ÂøçK‰2½êq¡Þ!?G (zÑrÇÚÏ%UFˆ*âWTg§’ã,Ébyµq–òšp}Wë¨9ÑyŸ„ΚÏáE£€EqŸõPG©“`…6auª€„ìÀƒz‚uSëJàn%|0 qt¶Âãåkb»Q¹3Xè Š‘~Úå›l%‚Ôˆ½»Ï?ÿ¢‹–^}N2èÆëk°=GÒ¿??)Zg/‡l…y?tº‰ÄjÔTE =Kb~m†îBFÑeuÆÏ¶"fq®=-,H¦‚çzX$·´2+=Ò·Ô"ΰãôídqÁ0 X½†a÷½l"%Rí±ü…¥ròäX-­ÔÄ„U£@Õ…>Cþ -Ê€ËÁkÃ$=ÏcØg]SÃ:Mi -œ¨¾&õXÉøÚ¶®=L49f"ëÅ„ÒjåÜ32eYÃBÛMªC`Bîˆ|Ë‚}¿UÐ+rFåiUîi`ta4ó-ŒàÄ*µ®º8>!9?̯Œpç®*ìE–ZSLMts†Ç4ðÓtÿèÕ‡î½ïÈ5W2—˜ò³jk5šÍX'Iš$[ã&”öZ{içÒÔþ36¶ì£Ÿ¦(ùßX[ÜùȽÇ^sïºö ØF@¶Ð} þÜ7™É“Í®Öwú–V}€ƒõé¸Lc-Úè…Ú b´1ãéUZŸf?ΨBåH &ðáÜ6M=.˜¨Oâ™ø×/I‰df`»º¤FK•E¡°Á}½¸bf*|l¸dÁö|M+*ƒC €¶ó”~D¦"ýú¼¥ Ï@)ÜÚ3ÙÆv_ N)‘…˜D¥ù3~2¼îâ}¯{l“ uà7xÃëÆ5\¦þª? Ür[h¨F½‚#Ÿ~;;©ÓÚá4Ãb¥ã' ~FÓÌÓ +«…å;×Ë¢(q)ŽÀ‡ŒTdù,êò›Ž,é)I žL m»—nU"[Ukf–U‹ý•UÅ·²mÕ[6Ís 3k\y²šº ¹î[–2ƒ»Ëze]Žùqxr…q”Ÿlˆ@ñMdGáÓa¡ÆKQ­PVàŽ -FÝÖ‚Çy0ƒá¹½A4M¨Ð1Æ_2ÕÖš„OªgTäjÍHŒ›vTýa²1²µÐõTˆ*(NÀ?¤­ÖäT•ͺÇe1¸Ž<€¡wÀ ò1ou2,ôFyÅCRêE¾ûä“,û Dúì4æÇiÜ~ìØÔý@÷û}…g¢ ýb³º¶Ú{¹ÓëϪsxäo¿Ÿ+Þ|ÙÔ³í_¦ô«í¢7ÝtÓÂ(SZ®%rZŠÝÞÓ-‡ŽüäþŸÆèœ ¹Š$ ^fLXwÝõåýÞgN*Ó2A93öYV ¨_LBkv‰qvô¾{Œ?ƶéÚ‘Ì\íå2¡Ï’JeŒœÐŸ¸V%*ŽE‘T-P ñT¥#õ,͘ƒk©\Lì Eí6Г0`ñ_)0ÓëžòÐK#¤VUÏð‰•§÷,ïã~fY8b[дQ‡-ú–d3`†QXeÛæ»*l~¦ßÚç% þïö¿ñ]E—}¢<Ñx ÁÉi}ÂŽçÊÀ@÷Y Z¬`¢â¿«Ï[pꔋ*ßJAügSw†<àšÈú¾WŒr, çI tE ŸÔ#jÄ™oLCs4CêÊB.c ë(JÔ"E2S¯¹¬ó _9¦›Ú¸@±¢PHªj©|_¨Ï‹©­Rk”®>›†»›K悎ˆ€íKx&Ír¡òlÑ “YQðü½Š&¨„©™>Ëþ ëfÞ èÒRWƒ’ý -Ÿà×D«A㜚b÷¹S““D*NWûÐ -Kötq ØÂZ`&Á¨¦q° ù0eÇlÎÁT$TJ]>ÞDˆ¡ ÈJÇãbñÈ¢´_ -4€g¾ÿäå ú'hÌ/_CÀµW—ÎahlÃñÓ·Å þ=‚¹To×Ùh%ߎôC»é}7í¹ë¿Ýµyÿͺù>mÄžºv<4Þ4 ûg$ý¦*ðÙ-¶Q³ù³»¾òJNån_“¤r˜+³iéTÜó¾e:›l!¹R®¹ú0|lŸ¼1÷£ÊX'Pu8ó)È.d -% «N†7QäÎ4®üeíš<Àh³Ä¦œ -H<~7á‹V AžÎ`O­‚<ŽöÄȺ²?S|„,c=ê@ÄUUû4¢‡ -çÔaƒÞwl0ÊJ§íê·€¾[ÀJÍ%ý¡ÿôw¿{`_(v eBÙŸæÏ$K–æ±ëì¤ßœ¡ ãѰ}Mƒ1 g±mŠÝäÛçšb¾“ô7ýæ,nW -ŒÏc ,6§&AÎʬǡH²"NÀ3t#ŽÓp^ª2¤€ÁY Y®Ööˆš­ôäŒR—b°Q4 -äò”q¨X ÁtDL!!dAÇÍ£õŒ_*¼r®JçXç!5ú WÅŠý²HcÎl¤ *Ž‘õÍ&ê¹ý~¯¹g©¿£Žè ¾¿¸®œèu¬Œŵ³Ñy¾çúÒóinÖIvÐ몘ò—ެô„s¢áÁÿûI%#8Ø‘5ΚàÀMk˜±Š$ÂÕŽ`–×3V @·• ƒ`“Ž;R–м6n^@z-•[‰G>E`2…z(‹DÖT¼PJúD§Š¹3åßúZá55å‘­ ùAŠ ˜=:„s\™`£‹& IDAT¬e:*´Í£Qa¢[sþW¾ú—¸tïÒž•‡ËáŽÆ¥ÿb<‰¿üÍz ø -C'Z#Iêª`Å¢úà-7½ ÓÒ9Êü}ðªk¾õP’Çëq´$ühûä²]Ñf‰¢ ¹Ù«'úwES4š†Ÿþ£_zÉ2¼úÏÜùGï}ï wß}OkgëàÏ<öÀ±Ýö±Ütýy{w ò.íA³LkÂÊÄô·nø¥OþñçôX©ýR ×\{…ïûQ¤“ó6Xìh¯v8ÓêWímï¿ñÖ½:ë*Ó~ŽÞZï_]{Å%.Ñ×*ÀM}'çï©Ø‹@x¢°o L´R³¹«}â8]=¬ÐUSÁ¦ÀV”\ñ¦7@'Gø£LïߪFc®G”k‹«¢pÃÏ+¥‡x%äÆÃ3+é0GWAZÃÈf‚„ËhLh¶ÔhöK²+pMiŒÜeè*‘øÈq<¿&[)¬04²²L”† WPâ…A+º ¤0¼h¼è}Å×Ñd¹Ñ$eá`ަEuYŒ<¡ .²Œк+Gpã{KÈ–q’„g³°{·˜lzÌ£AOº–@‰º1Òª³R5á»ÏÛ·¸÷¼¯;°x’餟 N­yä…4YÞp>Õ]m0™þÆ÷¢?ú |€Ž±èlS õ@ô¹.œŸK/.ˆR ZóØYZÀ ¯t‘Û÷6{pÚV«DZÌ·ÑJ^j3¾øýµ>tÏóòµHú.ðøÌ-5{½ˆ¡qûkm ýá|‹:p>äŸbð'j»y†.âÍð:)Ýq&L!2 ›ÎŠ33n8CËûz„e3=øHý®ç¤irjÌÈRРeئz–hþ0os_Y9™ „óÖpV‰ùÀ‚Y¸ºâaÓÅ2›ÄH ~Qèz¶sO†Êúä˜(Ká¸eõÀ’}”O8UXn\H_>T…‡5ê”8äún¨ÂÿN0œ”á}iB`9Ñ-3lº±êÌÈû-”_Ç8`5 »Íº”: ³ùÙŒÏu”øO?7R¦·™ ~\f†Ã,èï@¾.ã#/»ô -øØoðØßÞ»²²²¼<ÝüݘkÀglçÊ ÚsÅ\så•Wß6õ,íÐ[¯6ýw¼ã00<íÐ<€ùö~ÿ“Öï~‚ðšk¯¹Rhº¿]3 ·c…Í{þæ¾{¾z?t^µçìò«y5‡?yÇ”àÎHTµôëéiÁDHÍÚÙÚÉ£¥ 7aÁŽ#MimQ×>%tj¬¦{¹N)÷7ÕYŸ®‹wK)Ä -g-Ï«wÂþ3+y .äkù:cÉÙÉ'¥ôäÍø©Ö]?,† ®åæv5çLÙ™ú(`Eõ§5³~ÎáQœºÚôjß@4DóÆÀ`Ý›f9«½z §Ÿ@ý÷œáÑÐï¼HmRb8ãlûÆ÷Pn6¤ÿ )Ä `¼…öÔ÷Å…¯ÅêÒÝžXžE¢¤ÿkÅÊótÇ’ýíÖ'Å™™ -¬ÒX—Ù“V<µÂcÊ\‡jWò6<ÆÖ0‘JÝz¬x–Lëa$Š$,}ŠèŸñ‚)µ¨VûâârÇŠ‘7–Ž `œr•o¥S ,q¡m8€P×–žªÙS ã TX‡,1”\Jã*z|…!K(PÿæLÌœ·îö‰u™1KZÏnˆþvÔqïòü|H?0€±¯ÖuQ Ð*↡þB(ãS û{–p+„ÿA䢯:±ètES‹PË»E»‡oey§c²y!VõK’ F´V]FÔÊb“kã¶t𸩠EmùI€°å'¬ºø,§ -;Š©¾f¢^é],²jH1®¤ 0 oŽ ní¼ Ë®Ç⿾Ã3ÛL3K¥n<¶ÑfìâR«Ó®`=º¨íZÑ«ªfEYŒž·¬ (=ªˆÿe«“uÑzfš>f å èêf¨ã’Îç*†²®ÿ†ýPåÖ„µJ¥å3drï…•õ=òZ:ÿJ#ß ¡#X=ŒHW % ͅż‡M@Èf€úg*'ê¹ßfc 4€ÅÅéä¨ÿ¤øo7à ;þÿ’þ/¹$y§ÑENߦRÔSEÐ}îϾú¹??òoåпýÕ·Ù‚ÿÞm”€®6a_ L¦‰]yÅÆö%dpf¸Ùr¦ˆš”´“ŸNËõ§ƒübÀZGSpèä6›ô²|\Ma½Ç#T’tT9è¾§%Wgû¼-¡ËòO/l+]hFÓ9ºu ´ ˆ–iÑúºçMw\𘜆ú¸â Ð7ÙÄêQœ½a.€ÞFÒšãNÚ«IˆlaÚ²¡†Q%· Ê’Cá$¸Íuøæ<Æ‹¶Óž¤|ôTD™¿‘ÁÒVÊšàŠhEŽeÞÂm8‰Qán*#9ò@Z—žz>áiÐٱβbp–¦%†xDHSP%¦‚ˆDEOŽî³œTy¶Ào¦[ƒ (`+ ¯îz•‚-˜¹Ê>®œ¥ -âÁgr6Î0¬±²¿ÛN]k’÷(àÎ0' F,r¸4˜Áœ;èÆhk+e [K€z&$tc5Œ­œc4›ÉËxym’rµZ€UD’,˜+¥¶‘N €ýœ˜Åy"ˆ__aú^Ø?…ìÑHŒ:ÅÜ‘xp)èƒw°" ú]éø888”«={ˆˆã…fÐéG§.gXŽF9¯òQ'9L-Gàë@§·0€©:_†ML5Ä€Ì 'Š÷»„‚,jXÆJõG§4£JÓ œ\t_ê<úÍc0&Õ•EmÂnSÑÝGÿž޼ë"0ô‘•x#Y:{iœúçJÎêB/\³Ùtaö4£8ÂX ºè­¶ù›á÷œûÓÉ+?–¥)èÿoüÈ_þå_®žÀ»{ï¿ÏŸSµ¿ýðáw†sÄHì³9ÇYßD¶ÒˆP]=D]AÈ-ŠØE8î–PÕá¹P‘¿êÍ—Ñ­ª‹Þpãmý÷ ó|äÓO<»ò§Ÿ(ÓÍÞñ–Ë¿ú×_’̵òaOÖ[i²âû=“Ç$†‰ZPBÁŒRt‹·b nù§ZÕ)ù€¶ s(ã_ÿë×ßúû·^ŽÞ÷ï®Ï»~M ˆ×N¼°vÕ›¯:ðÚ}ÿùO>ÉÅ`?Š@WõH·NüYPF:èVwÆó¡3°†‹1B–dpÌH出ìM…™“cÚ­_o)¤@û5× -壺ÀàYƒ^@Q:5—Á‰tÔÄŠñÕj¶î‹Ø…šxãºÐk¿ôëQZÈt3óPä/G,‰45¯y&ÿ&#ÎOÊ6i’¸ÚãIaTD$#¬ùƒé [[œòÜ7D•œ‘ª)†Í¢c쿹äoÜóê%ßvS©×4éfñš“w”…DŠñQ¦0Ú&_¶*D•ê,zpæÎØXd*V2&Ç{¿u4ôaâKJâ/$~G¢OÇŸÁ´¡¡¡…•vßòÎb˜³o¶^XJôð²ÏÛ”'Íγí@÷È €èŽÇ¸42ÚC(ægÙAáÀP#z{TªBŸy<­˜c"½:Í^Ì6v®ŸZœê6v¨˜¬4‚µ¶‰éRžt au^ÔŒB² Ê6а®(8[ëI­fX)*‹ ËJ`áÌR?a*é‡-uQ!F“ -‚?8ºU¶26Íá=eYCƒN-<ƒÁºªž' â–.¾ÓÌœSÙÓB׫¡Š%™Wµu*ÛŽFï@sQ ¡¡©Çè[Šâ»ŽÑ„Ôh°/Žv<ù½ï|á/Ä/ÿÒšÎZ{Ñr¨>öùà±,âWÞÂÙ?ÁôÓíÚ_ýÕ_ýâ/þâyç÷‡Ÿúñ¯€Ø2õ¤Á³"#pd£¸ ï,ë w\š3õ¿Qÿ{¾öÈÎ÷«Ð—ûÅÏùâŸùìg>ÎÇþWÅo—?ê<>žV9o‰î$ÜŽîsKÆË’ˆ?sÉ5§²£_¿ÏÞyì¾co¼ä·Þö‘ëó·xÏC‹l¨?lïüÜÌ‘¡[Žê$Tƒñ‘ÚÍ”—`¢<ÌQ¥ú -=ÛY)qg ;`¬B­ ãAÊ •”÷U÷?‰“ö‰Uìd%z_P÷Ã…ÅlS-À4V|Xà±^Ë_Õmç­jóùºÛði‚õºf~Fá°D›…§ @[¾èbªw¿fyÏkJ3꣤Ï>³¨÷4öG µžtê)P[Y‚4Œ5&ñfÕ"'y>ÅÒT@dúë -Éy@Š$H -,ȤÀ[_ úa=qGåBUa'iz ÉÜu"¤2:úÈëM–I ²8Α”¨x¶¬¡½щÙI¨g(u%M°½ØÐ}f°¾Êg†z#‰œ qÃ5Ô¢,EǬÖ>]Í-$c”±ÒG§eð ·79¿c'oÝ[g—Ðcl9·QÉ'ЃŽé”¾ÂÊÂ53îó¦Ú^úÉõšón¿.tfå.ÚJk?ê`þé¡|pãfgöÅ+ÁuXûÁŠ-RÄéIýf3‹"8>0ø­&8ƒë¶æVˇ¥ù+U!ëqÇlÉo¬ _dô—<¶ÆI€…¶õ¤ruÒ?ð€[>üëoxŸ¡þÜa €g¦ 4¡ÔÖüÎÔ\4½²Êd»ë³Ÿ¹î½7Ø{€øs¯Èž:¥;©Ä•‘u„[Z¢ õºÔßì?ùc¤M{^µtâdû½7Ü,># ¸çoÊ@X.3ÀÍÀXŠ ©_no 7íÉ'¿ãößô1Æ"}‹·wþé~Ï/ÿP`ðyü;O²øo7D=«É2—K™–´{¨¥Ü|¢Ø·Â଻Ì`ªYbÄLí_ šµRÍápÈl Ðõ·•Òà7h]Ó'?y0úøìúŽ7ÇY`ÿyeRužh©FžóÃͤîlèÉgBm»D<Ó¸xc±@ú—¼;ç½ÊìL“žéÚ¢åù yښƟ:“2Nšð¬¸rêÝÉxpÌãGÒJL°X*„fà,˜äøÏ€Ð‹ÿ@ý¡E‰Ée’'@$M˜3‘õ÷ÈÎËï“ÑL:ÙûÆY—y¶€ÆŸò)4`Ó(VL$IŒQjÔõ‹a„ >-ß¿ï*„ ›Êð€€ìÏâÿIñ¢ñ$Iß̘š¨ÂrsÉP›A À~)úhÊ2þm½4Èopu(ˆJ€šAlL^¢šÛiÆ_¦WÑ;Ø+».ÎüI93¢Šÿ -³­¦¢}i‚Ž®Ùdì'ìT`fÀØ@ÊÀ#FT^Q2ú³‡@iuÉ•˜¬›À´ÎKH0õ !ÌR÷Ì©N•fËþþÃÃÛö®w~×—éî3 }æÎéiY†LwBæ‘p"!Õpýw ñ>ü䔃uƒ¾|ø~P¿­di²ÂV <xrÜœ™¡û_ýŒ xÀ…?3ÎL»äÒËXøè­˜<•ú£ò3RkÔ [d`ç»Ø-#xÊNQ’ Ex‚\ÔÒ^1&pL6ö'儿ƒ' -µéï­v`› VðÐ:¯J4súî7K§ý‚_Jú%Ø?¬Ö¢¼3|´Zs|XX -“ÍUØG(7²æâîÖÙ{p{V @_¬díYÒ·x@×tÐT+•e»>*,]‚ Õ€õÑïMZ6ôL}+ š—šþ=T®%9©ØVጒУ°Öè[ÏŸUšR--s¾AÙd^NÞ®%‚‘+ž—p6´YÄ‚@'xM„¤EÄ~ë´ cÔ°\©Az±Æk–aƒß¿´bi(‰®Ã¦îaè±Ät°Øò-EÔœ+ùsê [›´áì!ÄÐu E¢Á@„?‹€'?øþÓóäîöç‚|¸ÞiG˯mŠºªk*ƒ‚ ãé8ÅG++CRúžÃƒÆå$™IÝïo$&’ Tf¬îAÅHåŒd3WÆfTé'yú~”$¹¹h“|ã[ú*„†iôÐ$I¹H}†<9orÁµ$5 -&0:*K™RäÕ2(réÏûX -XŠa>°&îùž§ùJôhá¶Ãê- -޼®Hk˜÷€ö"—•BÖ‘Û›ek‰ºx™&ÀêÀEwÖºœœ)ÐÝzüøÓÿÄaBl·T“–$bE‰mÓ@#>¬rŠ|0r{¾•ô­|‚þ©gVž]=pÆé<ƒ¡1Üù'ŸYþ©?øô[Uã-9àðÛO¥þ¹@š+k¦Ñ£ÂÛtSP¤k4… FáODÖc­«9·þ7}äÁ.jž© Í–@Ö½tá ~_­½ãoû¹7ï¿û+G`TÔEPî®îš…€‹ó4YÈS⣶¯Òã¢,ñdP&úùK+?îì¿èâ®´?öáÜõù²,Z:ÂQêŸ#÷ùí÷)°T˜–¼6w$ɤãûõTG”&=·„Ê®‘,ú_Ô*hµÂ -óÙÚ|ËÌ7s<›P¢GÙ ã³Ø™NuÍhìh¤å|F²V÷‚&N¯ÖêÔ G`s4 £Ìm˜9u•å }›èû"Èò$%k&ÊÔµUÇ.x¥×o‚’SËLK?(«MšÂ™ç_xÀ ç[ Í…¸%-“}<…´’ˆvà‹Î‹Hús‡"—Ȥ旸aùtÕ%MñYÑ[w[ój‘!þ³š°üa¡´iU¥/5®oáKÑOq‘G©Ï<ï#Í|+U…¾Îø@ÙÓ­Ø› õ7P6ÓZ4¡y,xN0v` A8Ý\îh ŒÐn~¨ÅüЬZhaèEUŒ¾°ALh°­âî@)b0Htd²I¤_7 þfxr¥ã*±¸FY–`…R(;Lèp¦ûN]qbN7Cç0Zl¦þÿ@f®òù֪ToàdZ09·¦quéN·D$Ч?KŸ -zv$išÄY“Jƒ&›){ŒIuÈBŸU†ù:þ‡t ¼£S©O8g|¤øªü¡¾„ñ ªïÊÚñªÂCdÃaeØh½t&ì¶ß™¬:§~(•º€[:fßçßó7G¿ú•OtêXÜöñ[nûD pŸmJ¦þÛµ[~÷wnùð-·ÿ§ÛÕßzá|àØ.Ä“AîžÆ…,4 æ'ƒ¼á·Uœe81ÕÓª"»¸«t>ï|;¦FÓ¤~¦ÂúÒg€šlúèíð‰O›gÿÙË/¿á·ßÏýG)Ëvb¹i --CöK’;H ƲŸt#ˆºö Ê ÏÒÔµ,¶èœ«êÍxc@=ÉÆx|ºÚÃBí)$Ž@÷Í·‹Khg‹Ö£p> fÑL6Ñ`÷ÀÙ^{%³,¥ä+ ÊYË3SÿÊõÀ0±þR¢“ÇÚÞ}ö½îógïEÔkÏ»õ§ç–™bÇÿéx£ÙØýêÝ+¿}b¥EÔcñœæLxÃÀÍ­¨­m•dK&ž’xGÞ / QˆQ¿×?7³d–ýL ´£nÕ­l%À˜ ˆ*é7}»ð)“Ýp–?r‰ëÄÛé+U§ú ®ágC;dFH é7× -O‹m=FúrFkt*wÔIRz©:2ÏFVöƒºî íÞƒwιÀxge®= lÀò3hλ QFÐ’XQÓ\Ü£­76Š‹$sð‡€˜ìB:êy©þ-óƒu#HÒ'ñ½@|Avï¯GþŒ ×êw#æÂ‚V*¼Ðþ&vMQÇ‚ÔÉ6ÔVŠ”Î?2M\±j?&%‚¨2mgl -SCŠí þ9Ûþ÷¼òƒúç#ÌDNP%“xÀ;Þ}u¿o5Ïz)U­³ŠF þ °üŸV™ÞÿÇÜÛÀÈqÝw‚¯»ºjª§¦›UìasZ3ªEŠÔH”Ê’¹–­Ø–íUìX¹|ÝAØÄ9ÞÝCn÷rÀ]°‡],68`ƒìl.ØÅX\Î9v7ή½¶yN”h%ËÇHÖX --š©Ç3êasšUìžšª©êê¾ÿÇ«W¯çC’=àž -¥bOwuuÕ{¿ÿ÷ïOŒfE÷Õ$= ÜðpM½åƒúí/¾ôò×¾.å«§¹GºàÜ -™Õ35Ê]¼JƒƒXòqëT!>@r~¬u¿b^R-׋-S›óÎá4X7*ËJ F™¼â^åœwr*̰ñh¢Ôÿ™Nˆè¦e:¶L´sœº°ȺHoî²úàpæåHtj‡°~1…{žó¸§Ú+/cNÅôUCðŒPq‘=kôËo¤š@د½uuùYÉÅÐñß|å™_~N?gÍ•W’ Øìƒî¿ù£N‰¾cPÿ÷mG°úû×.]yì‚ì˜Tùýÿ½«NÔñ•2ew¶Ä æ•VöªYHðèTÅš&ª§´em¡Âc©ÓmDA4ªFÛ¼GLèÆÚ:¨íüX¹º™Ž”®6!ƒXlçA?I|RFlµâ¤£‚…6N†°¯ÚÍ(•;®e ÑEÌ9½nž·Û´À˜C³ bÅ”™ÓòìD:è­$ -á{1?Ò¤jdí»ÊGå˜BR®GÇd°¸|†³?“q}þX-#÷w{eŲpÝîÆœ]¯IõÄi¶ü®‹wÐ!=¥Z1Â)Þ±~˜’ ×Ë&yŒÁ™jÏBºqÜ¡¯(Xýh¡ÙI¦j÷ì#Ru7ú­ãîqÞw - Åí6> î»Ê…|Y)÷œM§Ñî}|L%ÌåÜ8êô·c]t9\}B± ‡r¾ÓQ¹ÂM«Y·å¦oüÙ’@Þ:< ØB\åÀn~NM¶9k éEÓ"mY#Sa«\4>RåÔ -Z/Á7ÂaäÔ¨ŒqV¾ÞMØÝÄéþ¶_TO`VF\¦JÅ2é -‰ÐвfÌd7u—ßéüÐÎó¸‰2ɨjÙc@‰{n”ªFT$|ó ÓkB|d€øƒŠÍ¿ý]xñß~Ù¶ÕóÊ>ýyL|üüc¿ñë_„‡Ç_û÷jW(ó˜b&цÃÖ©Ðý±/ÌʺÜ$øÏªQÝmÞút,ëoðWovA½mÞC“¡ï{Kíêl½š«ä[}Ébvêä)ÃñŠòC¨ jÆ~yVœwCLG¡ë±M#ÞD…ÞMŸ3e8 ñ–ƒ㸊)À2ÈûoÒúDZ|vÐ'‰­ùÄ+UÊÉÿxÀ53inª:“‰ì¨å¸ î¬ÇHßV’ -:úSŒ[£³a”)/“®Ê -N±ÑbÅvɥЗX7æÍF¶^¿×@Š4Ç¡­×ÿêåÞ5d |éë²òØã¿ôw~ãÊk¯nt®ž»ðä¯üר?ÎÎKÀþÙ?ùÒùó+ïýîõ+¯ã~ßš {·Í㸶g-kÛF~üö;ç>zvÐíºž÷Ò_¼Œ„;ß`þ`ykO ÚÝûåêzþÕAc.ëogR8ÝŸIß`¸1¤ú¯Ú,ÎK&‚¿¾æÝ IDAT:3‚ýçèDQ‰‘èeîÜ,N2d·Žf”±vÐß‘¨Þ€“Rººb›é°µÉ€v» 6fŸDºôŠÒdÃMù:€þÉÕxÐ÷ˆ:8Þ YÎÃÖl5;o!"ƒ €}i\®še›Ð3´)à ö^Íæ")1=Â`à¸SõD?À9?µ#ó° ÃíF³.~°qæáÅšçÕº5/ÀŒêõ¹º[sƒ!öŸ²g«!\! €q’8ÕZ!én”$Í–LòuHHt×üÖ²'´ S¬ éæbqaz2C<?|á‹£Xý©uO‘«å ©u«ŸGW°tŠ˜yjزåoõïôG¥ùá p„ZÀmŠ…Ÿžoe:Ibp7qjSw~€rÍ)ZW®{ˆŠ'Œ²Ð¥dÄV$ò¬P‹3Rõ~y`TÀ*•ÊPfáÈžjç-´•Ë tÿæ²ã1Ã;ÅÏM4Àž}õ'lŒÝ½În¡ Ïà Hމü˜q‹¿|ñ•AŒs ,€ýå —)Yº÷¯ŠÓ Ôùl74m;ÝWó£I€Ë7:©6OVV$Ä\¹råõ\Š\¿qýÊ‚3µ»^O1½ŠUuÌY§š?.Ò¦óLeTþ4-£RÕc¹€þ\3LŠnªV j:ÙóŒùpÜΈ†]e…ÄÊ[e0n€¼@10Šè£WGê‰ì‚g¢`P‹L³Z‹¬Ý5õÊSŸG×â͓Ô¼§+dÀ£þÈ'~ögùŸ ¾öÇÿêõK/ƒð…ÿ£, `ƒƒS+çúƒú/Hœ}tÉ´ö‚ú¿ç•Êõ›Åƒ\:¾Wšõ·Ùœ!Ðù¬zUuÍ9ÆÍa0mpø·{JMfÜG5?÷¯ ©77`°I€ÿ -b€ƒc€þ ÔBí\Aì@|A.@xœÍfvPÿúÁ(Ôÿ0lÝ‹¾Ä€ù û+ŸÆZFŒ©Ù\£€2 £`L¦{Øôèà>«ÿú©wû ®þ@J¾•'Îî°Õºbz° öYQO ·}26åÒ›+­¾DqŽÃ¼ѰªUtøÈ/,ô"¦xƒàcu°÷üùh.Ô›‹5ÐýçµÞFl€õP¯¹µabÀ¨ÄÍ~N\憘}±Vè°ñvt@ÿÚ³û#éâpê¶5C¹¦c¦7'W2zl -»Å’„éŒè¸¬öUbšI¨F=Ù•T©‚R{‘05B7Òf ?Õ˜WLYê?€=¿Ô|võ°ú_t9Í-É™ŠÔ³S¦ÌTú¼‡cH€‘q~]2-–ß+ Æ'žzâÝ­ãpðÄOW2àÙŸûy!~]eOÀA9u -§!¢¨šé!i6‚Ôÿç_]íÜì4x¾g|áï#Ê_¡b:PÿßüÞ+ø"A?ˆý -ýa<ý™‡Ô±ïOu÷£¿@Ù:›·âƒ¢±²Ö+2c´QÉkcù¸|x'ÐÏ*%Ma¨ª5/‰ƒVÚhÆÚŽh:"HÜj­I÷WÌ/¶áAÄqTuj 1Z9ÛxÍmNòG˜$±I©>þžã5àÚž¼#õh„d®ö‘FcòèB»Þõ£m~i)žD ÙIÅ H˜×I,˜a²sWd0@òç1rϲ›(^”¥ƒnà4šÑhm”äîŒrZ©ˆh„¹ˆÖJJXcâ•&ØÂB£}R·œ --À›÷Z÷æÒã"qü7>.!Û®j1ˆ/ùpçô÷«c5}Üé äw»^­Õ]ÇÙP;8Øõ†v‘æß©äœPUH÷V׶Ο:y"³ë³öbJC©e˜Õ,²QlY™ã,YÖz{ƒT™¼/ž «æl ã˜$\Ùðy—®ûåýénö93½ße+ ŇèÛ5¤½¡A2Žë³fó˜*¸ËªÂÅ@p7KÃ$ŸKÿÖp0”+R@é>Š­ìYv7{F®¥”ƒìܺíW« ág;o­Ã¢C\<’1˜æ[¸CZÒxG][bÒ_Yy:Ò wcŽZ9I )GÒi$g”¦‘Ð!†¦*â+ÿæ_ÃÆ/»^1g¿˜3{õPþ䇑6î¥^°±arä÷óÌ´ò8ÆÖXD™©|ywûSBÝvß|ë?ùêŸÂáâ=ó.`?œ'_yòq:øá5³üÔg?×"¢ù…ãM>àñÇ_ýÆ7.æ<¬%äv” Wœ‡SV;woÐÊÒýþÕb]ÄQìsÁx¬/#—¤"g/6‹Žr… ÚSxÖ*Y "ØY‡;XBÈ6Y*ÏL®<Ô9ÐŒè–bK€ª!DNèdbÇl[±×דk¿}¢]¯kzÛ¤t,ç\›«Íº¹Ž+{²Go+Æl!\Øn¡Œ©FÕÐ’ÙâÝ¢{ÚÂ1â‡øÑ•ðîÏÿgpÏãµî¥—VÏ>.­®õ›þC?åµÝz= "Š7wðœ¶Ö?òÊ+¯½¾z¥9_o«a’ë¬Ó=)–¾qP+8PÐësTŽÌkè )ˆ_ÃP±(t1÷$yµ@Q¥Ì€¼’A>ïõçër‹¯ˆ晨a”–5û.¼8G¼ÞZöœÂÎãܾŽoû}‹›#›yžbJé)`èIÇHþ‹•GRÑíQÝÁÍy“ýüÏïj˜ºö½öŽ–¤¥ù—u^¡ÉÙ³ítTÔ%Ì:·`ÿÆk˜¤µòðJñ~šF¯}ÿÇ~êÑ0Fü¸ü} ­œ^^¾ 68žs¡´<¨rXäî¬=-FÛ½ÝÝaAû%ós†áÀqêHF£u¼ŽÞQÕg(Æ j¡gÄ@}¶çí?ÅxR­Öª¦›ŒS·FQèa¿»’ПßÕ8V?ý0þÞx£Cœ#†Àp“_ê;×:ÒóÐß*ü¶ÆÁÂ]“Ü#ÈXœê&857þ]ÓnÝ×´g|úlpN{^Sc -L‹CÝ¿²‡ÖÛÂ=úïþqþQÙ˜¬ó£õJ¹rõò)J¹þÖUõ¶-‹\^Mã* 6€GÃ2“ahÌX WŠâ{ÿ7þÛ¯þ» z”À¾‹9 ¸ß%®ùk7$x5Žzú{Ñ}F>‚,‰ *#ÄEÍí|«Õ(Š,»È‹3fÌl7…=v+š³ýå©,³œqÓGЏpÖÐ$§ã2F!ñ VŸ«¡¼"– GªÞÃsßZ>µpïI¼ª<)¼{óÓ).žh/8”ɰ+À~P{W¢Êw²PÍÒ!NÔ²õþÚUÿÖÚkÿÏKgΞ¿zyþ ¸Ï¯_øØù0ŽO ºðÓíøN⇠t0,ÛëT€±ööÆó/Jôh 7š9ŽU”ú¿Gî3ÿóFW€„CVË -ê[êÆÙZA€ 8ÚÇYq{SCÞä“xÿ‰X†‹ål»êT‘³,T(¬A¦m7—ÛŒþpÐï®§q -2€³Ñ9Ýö\©ÁÙc*£/ËbÐýE£`óØ3@ èäQ€þ­ãî­þêë×:?,²§‚-M[·x8*_þëŽØÖ^×fåëU˜uqž_°ºúºžjÆ£¿Èý˜ûF’‡öTlo‚ìGÏh8Öjµæl5Þ³M Ì“Ë} TB´€ ®x° # TéüGZVþØÅa‚Á€WÇÙ F@{ñt÷Ýï~ã›hâ´`ÊŽ2Pÿ·ë 8."Kx* ëx‹‹äÜÓRu7oÉŒÿn‡…v)ëÉ;âÀ¦øÃ§b!Ú €Å¶*ó¹úƒGžþìâEØL¨üPŽ—â_x¢@R_›?¬z®ÓÝ êGÀZvü-ßš¸,ÇX±¡T@ÿ/þ*’¬­¾ñê¯<‡€þ¿ôsÏ}ûE¤[xæ³Ï^üæ×¶w“‡}ìÍ7^û¥_ýbL¬¨O}âã/þå§àã­¥ƒ E×l$) Uxî4wŽhI–[ˆV¿ø ?Û¯ü­_ù½ÿåä5ç…™/¼øÒä¦p·QÄy‰ö@õž929â8²Zåªþ(¥‰©X7&xy©)*pb‚ šºã˜ŽY €²UVt °©ÇRî@ózí—NŸSŠv øX¥0µNœz¾ßúPè˜N«•zþ£œóÓDɰj:Éî Mð‡´Ÿ«o¼¾öýái"¤ZZ^X_ÛôXÀ/Õ°8Õ%=tÿÎóO :š:@ÿÍ·×a¯ÐϨèDóû<ˆá°(×;À,‘ Ë³B±A(#€ Öýy¿Ÿ*\u’{A"rÆ•lœ/C£Í«0BßÇz¼2> ?ì‘f oßÖ³,àœf®ÌÂÌFÒi‡ûßdÎ:a¿—D6š~Púó§Ùp[Çüô¬GЍº£5ñx_ _5ÉT-"Ó"¹™Ð¹š»éDû ¾qÓÃÙ×$=¿{Ú€þ ö” ë Ñ?Áp)fèϬIä#‡ŸUO’luqÑnXµäì´m¹„X ¬®J}Œ€U$€ ÀsºE§Òý6úËÈ­»yz+¨2úõk©•  ÏÀ‚ðàBt¤M48 ßßhº[·}Ø«²0=©\§ÐÑËÔŽöJ €+œEÅä|V[ö¼=”›Ðÿµ7^]yèq@ÿ7¯^;àÆõkð:Ø`,,KEõÊ«í{^üË@¨ÏFÄ"“ewq*”ç Г¤ªtHpòËü‡—.½ÊÇñ¡×%GÿÎt¯ -[†kwxô40!ØÓú.TàÂP2e…ÍC@÷Göˆ,µX6§ã”É£hÝ&6q¯*¿é9èMjxȯ@iž82 j/tßÁ[×í\“ÍÝØc1Õ3y¨ûÖ'Ú"¯ØJØÕ2Z“aYñr2K]€`ÌØFÙèg10Ž}ÅWïL­8F°jN¼¸ü^ÿúX}åÊVÐÇË÷/r‚5ˆÞÖT®W…‰– sªœÒ³…¿¥ -VE<þˆ`å‘ ?EáÌ>);5¥ÎSjÿÄë Ýèhn;ØÒnb „sd Ý‘iÌØ`aÒt.@+]ˬ{ã]lú‡…£“‰àÒ»,sêõ‰¿ÞƆíÎNÕïöŠPUÅbŽìT®Ÿœmœ–Èø’ ±ãó„êcÓ,³ª®s¤Iê³=Êž³œ$Áˆz/ݳ\?²äÙ`Vºb4h-I ·gàN?Êä‰ý4Ê[\Ö#wÑÀÒnRÊt’+,FUËà/‚ý©‡ÑÞPÌ< -á~ÚÍæÂü±yÕNZäùÚWAA M¹ÙB]Xùû}%öãp`ii”Üõ68àrðô äNÅ;obú1³{mã Ã=ï“Váìh¼+s/½í¾/²•`ú½õµÎCœ0¸ˆ{¥põÊUOKÍôjÅq™ û4YÙôæÌPI‚ p]YÖ¯´i0ÆYmÁO (•ô\/¡Zn8g£Ñˆ»ò>þòòÛìn.´ddrËßjPä<ŒC™ äߴÏ&©iêF|ÿóú[×aSè/¦Ùi÷°¯ûìþ"þ"<@}æFr9ÁudÎT-™oŠÜ$ñAúµÞýUP¡õþqÝ0úÿÃç~æsjö"©5˜~À‹ÎŒFû?@矑]d5ÞŸ(Æ´“úp?Ó«æê½MœÿÏåTUó›W¯^y»#>E·®Ó±f)½*NépÞ|ËâG嚦í8ã’$Õ`n¥12X{Z_mooï9Ø?üÁ^®-5úÙ(W)¤fÅ| .uØWåeŠéÜÖÆ’ø};‚:a Z• „¦è€ Е¤ÁVo㊠×%»;N­æ eÃÃF] \×…íRw›,ü­.l±Úí4Ûíåö}ËwÖœjœ’¦{^ùã4™{D@ööƒm¸•üÆÔ*Ù¬øÕxïÝêÁöÊÛ=€þöýh(Ôë6sÒ,.zãòÁnžŠ$S%Æ¥ýQYy)tߨwÂ]:ýAÐÌä ¦<p`ƒ^ˆÈâXñ„ wÑÏŸ&¡fÉ(ÂÂù(ÏTÇYÂ謼ùØ.y0h=ÐŽ·Ãh‚`èçÚl;s¤!·âòû·dþ%XúŠžËw²æôAƒú1eœZêÿâ='`ÏoX^lÁ¶Öí¥Æ5e¬ò+Å_|>ýăµ_ãñˆµT\]Ógpä= Åè"£©˜ê÷ú=iºîìiüea€ ˜ª¾¦G€* ”g-¨EI.ïLÇIwCY.KÍ@N>ˆÂrRèÏCM!e\  ú€þ løëàøê«RÎ=‰ò“níìÍ«ßXøqYãÒ‰GvÑòf‚¿ÑmÎ=®õŽöÌÔvr÷ƒî…¼á¸mÁ½R‰Uj­9³Ó~9X3LP.W+e€~8Xj¾©³gNç×Y¼xå¦Ì@?Õnƒ >À¨Î:±L4$ê(Sñ„l aì ê8`Y±ÿP^Òn¨"+RýÏÑ_w̺s-É(€¶OØó#ŦDåŠÉáÓvÒÑ”K$¼Ówò|¼¥S’‹"¢èQóÞ6È€êAJ[c¾¡ãkñb ‘Bʬt2bÍq¯¯è°T(¦ž’kŠ öMzy¦_ç@ÿÓŸüÈ€Þ-´-¤·‡õ}‹Ë0GάbÀ “Oóö†ÉÖ¿ï$¬B)ôW ý²á;Öó¶x?€~u=:ô‚3½OhÔJ0dªCÄŸáç:ç`2(‹=³9KÓDFhYA‡†Þ$cÜí;¥ô-­ ‘—aÿ[*똩¢l$h2à”0 ¤zçÊg:q¥¹°tyõRo°G©½5¼Å`ŽÙN½êÔ`¿¸(5e˜¦Y2Ž#‰•aºÞ bõÓ‰´ô¸È¡7‡¬(&#Ý©ï±üX. Õ÷x¦&|—¤·Ë™3ýafÏ›O°Kžf:íj4äjÑó‚a1(õ_Ï÷ÿ . ÝÂ`¶»¾ßW. …þj˜¸øMfDȨ°™[ˆ1p@ 'êŒÈ¦ãE§8uãúõÎú oæl” •E¶§6J—m ¿Á öÓC‚vÏÅáþ ôÈG¶•G0Uºu4b’%ü#ôTåš„67tSä@³á1Q~ÿ\]Í›â`k•c]ñž@±J•cŠo{ -ñÁ`îã¶T,€=¯8‡¤©€þXp;}Z7#±åÒ{¨ÿ‚Ð_í÷¬‘–(&ïIŠ­â¶8>Ç À dl,™ñ£óä™öE™›íÚ|ßAпûÎZÕµëóÍÁ–Íp8d!¼›{f4Ž©ô0û#Ž cÚó…ŠàzˆÂ,X÷ïtP<;Õ©Þ$†5¥ -¤‘ŸR" €;˦›ô§›†´øplPæ°awÛå<µñù?[=qÿ~­–ç_aÅ´¹Ô¬ç±ŠŠ ÉŽ§\@6œ4‹íXtß‹M×i•£[Ýr÷ͼCˆ8È´ÜP£l— Û(ÃJÁÈ1Ì2ư‡çhØõ1…ï­Ù:<éR%Ks'5¶ NPO#K0„`sx§—ÌØaÂÏnž<9¼Õ5Jå¹z­y²ÝÝêö®__|øìÆ.G0¡…ÑÝòÛ'Ï$ñv-ÏH;Ö¤GÒðŽH‰jNL8üQ'HdM@<²„Mq³I(v}þ9D&“&ÙÜÒ=˜'›òƒóËí~«ìvs¶ž‘ D}»V“ÃB¦hÓð=FIæ’ƒ @M³bQµ8gθôÊïÜà€*—·èéã*¨‹>‡‘ØènÔ¸øN°kAË)ë2&)Äçã;u'„úy’åA?hŸnŸ¸÷DP$™ tsŒ2zÁÈ(߯vÝŒ5s“‰©åW'¹wåÃO}|ñÄÚúÚÍ5\<þ¶¯â“0‘4ú-:)aJ¶kôo£óvc»ßïÉûY«¡2®äGoMѽz³ž³&׈€:ï…’ŒEV±ˆ–5©—AcZV]ä©„øé9·õΜÕï|éw穜)è§–YÝî¨Ëƒ_fb¡ŠìÝšDìwdÞ -'ž î&pW'¥tc ÔD³µÔ‹zœe,›7$q¤m$ÃÔ®×`jqÉTæ–A|˜ h±%ªFA/Ã3”g&L…$ÃV°qÒJ‚Ü„bð­[ñÖD¢¿ ‚lxºÌ#HDdO¨Y˜ &HZ·¹˜‰qo­Ã>¾Hª,ôzõfsx÷‹'Oun\u6`[}å*(þõZ}$à>@çÆµÎ Qµl÷ª¨^³Õn·;ŽJâL#”bÅ)‰0EN,MeþºG<ÕUŒÄfkIýRª¤ª IDAT)›ñ=©eÿ¿ ý‡%ƒ -vòL£}®>¬Kr2èž•¯ÿ)üØÙA×o\OGÅý)wµ -I^&ëò²\Þ‹t°´Œî:o_Ý“§/qn¾!r觃*'„(Cž)¨²ÔàQá1ö4åRk*}6Öº[¶ÃÅçx0-Ôá{a«68¿ý¥ÿöÿìŸÿ€ßü¯~CLæb ò{š‘7¤Õ_t\'ÛÍT·dñ>¡¢©q¦ÝîùCîbà}SA¯äÀ~™˜Veâ {¥´¡ºGp+¡Ãw -§Ÿ€ŒiÁfZUfuåîþ°Çþ"8(•LF¦Þ:ðä:ú;ÔU€_áNÆÌ"wË0d3EA=Ïḯl%ô+Þ ¾áܧÚÐâ"l XÔÆ¨K Òe—Æ…G(F)U€÷É'Ó ÅÜsM?Haóê† ->•á¶§ ìÓ›Å+/zº¯{ubâÈ‚ aÏ”¹ë±µ¢-«Và ÙUϬ±wÓ~?œo8 ÍžE ПûDDeÆ\nº„”A+Û@ôËî¬4g8oÊ:ÄuÀÄ<`À}•‘)4Ò°iüÂÊhzoÄá`¡½Ò¹‚Eù=úAýIÐ_;Öõ ¿À®˜XÃè¿v8hß/{ÑØêûåS§A(Ü,8F´±¼X ¿7ðè@î÷º²àÈ[\ŒÃ*¹€&¥±øO=ª4q‰ ¯V­y~—¸æÜf“laÚÃäSbìÐ>´š¿xªìb1}|÷ƒArØOèçÿ@³kç¥4Zò‚èu‹4Üæ=͵µ›ËúæüÜä×4@\½v5‡~vUËÉCþÓ é®é9âÿç¤ÄšÐõoËØïq®Gé˜yy%ÀÔa©#©HB<ÿ_ðØ£ç~ï_üÁ¯üÝ/~ù_þaóžVïÝ®8d`«Â,5J Å(7m%qbUNKý cO+æ©oÙË™“8Âá–DE~pîý6Rýš÷ƒh$À¨a1«Mo] ò°A¢±fòm¯mÔÐW¼¹}fªà.$_`%pyLªºú;ÕÄù ¼¿ : 6@ýú[:ë‘ÆJTSºÑa='@p&š+~]’î½9 ˜—W –“Øë(þˆò‹&)“·Ã…À5SÿWêˆ™Ž£Øô#€Jà 'ýçîUúðìL^ª<- ?È{úoe=ÜÃpš3e§>õô+…ŠqÈØèŠ†‡€}ýòR±Äbôcl -_§v``m¤™@š1{†”í°1‡:Ca¯vj/)úP<”Mø5ðbû‘óáÝì€ùæ‚C¾û^^v¸øðY«/R×Ó“$A‹ÈýW\±zàç¼7½nûáó€þpOÒCA­PC`5Ç«ÿ¼×e˜QGa"»V÷76b:ÞëÛýO:Ú§V0Õ¬Û±µjƒ^Z¬1•µš¾±>wî©÷ë>Cx„ìÃê(iú}ßûÈTPþ4:7Uíâšõ†!käðá½þM—·}Ì3ª©ê… H=DtpÏ9¨û3Ìôs‰µœ,eú³b+mtê'ÊpŽƒúé{¯‚ øÇÿ×Î~è<Ë€X³¸59º+&YÑg‘à†} ¸K²ÁN§Öœ/r„ - ÿ¸k ö…Ÿ”Ö¢Xš€\«\pöDüDCAÿ°Y>…aJ–Á5Ãm˜Q–mlt¸Ò%â¢Ì8Ï sf«ƒ(bob6Bõc-ÞM—×¢~Þ°t†~u-=º’Ó Ò$3äSwk‚ØÕDº+Î,Ší±ˆ2\Þ°lJ%Q* Îë¬ç80 ÃX0ŒAl#H»&†'*qRPÆ6Ä;CÊJä.b «aJ@:N4¹¹—ö‰œ—5Š|fî®õ–î;íÍy–0ÒùÈõŽÃ´àD@ÇkÜxýUÀôÎë«­…åöÊY«ÂäñÆÜÜh~òLg­‡¥“÷§ÆFIl»^­&»¿ÂÙÖ‚@”ä·ÇCØõh8€Ç™Â»Ö,¤Í¹v©ìÞ³¿V'ÑÊ#ÅŠåX§Ö×€fÖ ¢°ª2ÒôÈ'åËÖyØ%³µúÆ;×ï;uá“ÏôÞ½a»¸º9K“Œ¹Ú§Ö›v|èÛsâ࡙ɇ¥0éAæ©@1zn ÖÃàîVx§?{æ”íÚ«ß¿¼þ#™ bí«ˆfåCÿ®¬”eyïdb¨èÔXX·ú°Þcg\L úQ˜Ê³L²¬L èME#¹P°Û·é ‡aÙ£žQB$&ç×êÑݾÅØõ5w¶`jr’Rº,JŒ0ɰù‡`§´)(šñþ·šÇa÷)êãÿXóøâ?ÿ_ÿ¹Ý/œ}”âFA`dY ª9ΛÛ „kÛË«uF䬚g–²ÞvÏŒL×sãtlVÊÈ!:ʸyk–a‹¥ÊŒUôŒÍŸ{{éžÕ«l’2Ná¼b¿¼›ù›éLRÄ‹IjUl¸×·JÞ«IÞ·gË<¬1faâ}{Àåcäÿ-ç™ÄecR#ÓJ)Nݱܢ¶9CŽ-Œ4›Ä¼É­¥¢Pycm½ùz.ÁÖkYã1õIÒþÄÂ*±¢š‚Ü7G¦äÖçÀçqåg…ëZcC§hÇÖ«† ͺ\¶Ëy¹/+þJÁA;ð50¢Ø9y֎‚ÐßÏ®[1=ÃpðÃÎâbó¹_ýÂWþ?úíß9'>ð`v°Dø&¹ÚœY'Ü ³jU ØÌQ™uó¾v/¯4!S%¹¶œÒW;kYþÀœêÆ=ÞÞý5ú€­¸ÈÏcPì´Ð8âõïú{?õG²=°æê°ª€î5¥¦ßl-ôó?ò‚­`M»È£²”é€ùìý‹П Hö¼¿µ¼¼úâŸ`Âæ¸ÈËGx­åõÄO4ên£Z1jÇšõyôCpíº *x“9J“ش؃$ZNŽ'\à Ÿ\ý‚Ò¥0ÎL±U¾\T\¶ËÕE”¹¹/…ÞÐÖÏ{ú·£`+^¸w/C÷?Gh¸8EúA1!þæG­vdvØZO´ÆØïI·še5@RìÕHbéWÕew|ô×ià˜Å‰ƒ0±VT†da_n-‚Š [û>äx‘w™`tytéôºÝ¡à¿nüàò ×[ùäÓòð<ôÄG°hèh£^«¯o u³´Ø†^yåe>• è—8O=¼zãêé§ÏP\q?OKèßÌ»ñu×:ý›?jÃ;gâCš­«¡ÐŸE…|¿^‘›w½àº?X`ì?ÕÉ@ÄZnžNk§ú9õêßâýS¶ºÎ`zØ{4ŸBU³"½«(bãýùªSÕȤ ÈÆÑÄЛe“Å=ÖSÔ8£T¨Ré|p² •P•qQ¹Êc›¾Á,‹ªŠü3 {&È]ÎnâQ8µw°1^³9ź±ýÕØØèîöÑ7¾ô~ë·çwñ DIÍ@¬µ Њž¬*lEÃÙÓBäù6{†ãºOž?÷‘Ÿzô»ß'ÒÀÓ5ô©V®½½vÀg´ÁmRø†síUcŽÆ”„šJô7ôk”£qDb¢ª;ùôSO-_Pô*£¬ÙlêLhñòžÚe§&5êÇ÷› ÊÛSÌ¥t7UèŸ`§è̱M8µœõ ØsïE=¸®£ÿ(ÁåQ© & 2 »VÜ¥j­îk¸^Ÿ½Ävs1Èe@D:7…ŸºT=6)Á¯¯{ vÎÎ;Øêñ\aô/~ʧٔË x7àƒÝÈÈ\;c·ÂFrà1qÜRß\;Aÿc,¼übÐŽÝy"@%]Œ\½ÿyÐÿåUüâ3펟yr~}ãö—ÿѹ‰&€þR0c-çQLÐÿc›h -€9FI“ŃÀaj~nÅSàöq9fÝŸí¸00…ƒ”HXŸ½^o¡ÕõŸK½öäÛÒÜk^¿¿u Ðß§¸.²2ÜîúbÄo²?‡·{N8‰êÿÒÉÓõYgI´C9}•qP\vnTgëJ cgˆ2€^_¸¯0Îôi!ž÷ïøL6"¦°£¥îźepX¥ØH¦²€JпýÁBþŠëW»º‹Õ=˜²hjô~4hîS -ÔèþˆÚø´öê\kƒõµáò‰bmWŒBJq(‡Lõ…{§™ECpÊà0˜¦ %¯]Î<™ ì3è£O•â‚(¹  atRR–„ -c°n’ûyA3ÄL>ätÃÈÚ9 -¥2Öª³Ž˜cÄ©VCòäÖ‰z!V•K±ñER—ßxŒ€/ýƒ×áàÜ™S,`o›TŒ&{ìý8ŠÛ,eª¯Ñ`[åi' þ‡è261íú{ãZkìüiz°Ì§dÜp“ k,‹q_z“¨ý  H:iÅ´‘êÿ¬¿³¡^_}cuU¬J@ø°ý寘«;´–õ9ÏÜ_€þ`hèO_GÆ4Ø{Úð™Ðߪ”ÌO ýå…²¸/—ĘŒ “<¯w” +Dçpþ£Ou×¾ìw×úÙ£È;Ú`²÷x;öò²^åá k5Cù^íwëa=9ý™Å6 }VÿšT0£z=tlXFu[Wª-  æB ©ËàݔՔA -º¿¡U/qMø÷ˆ¼ÐýÏ?…w5ØLúý€§–æµ¢ø¯ªñ„ ‹IùÅgÛo¾Ó9wÊyýzè͉³'ë—o êu• ˜/vl °#‹Xø¼ôH¸¶ð-Ö"hF¥™¦!¢ª‘FqPÆZbVe™Y‰, 9›'ºóÖ¥ó ˃ Ÿå8É@b&a˜• P@–Ac8éo/P¶WPC_g-éÖíÍÞVWlûg½°õîZÍ«·OaÆ f솷B¿¿¹ÖXXÎ*Ìûˆµ ‰‹g9 A–ÄíjE¬<ò¤wß)AS3«80íˆÙ"õ\Ës½áææØeQ·óæâé³úħßxù…5âäúIÆ”CN^Ìòý§ÎêlQ*áóü«=’–+¨0+¹ m´Õɬù5qr!æ’5ƈîø!&Æ6!=k¦I•%EJñh%É€k8â>ÛÍ|tyõÐ-ƒy¤õ -p½+”]Îy ½ú©Ÿ–2‡°¬ðçÏšöŒkë][ȸBƒ6ÁÙs¹?žõŒ=€±{ëö¶”ëõƒ&9ø]#›}"0OÝ9—ËágÂÈzÆ -ªÏ1<7c”µénhéÔÐÆ9i5Òë»Ý ÛEBÖ~ϯŠì£0´]n~na6|ͪ#!çÌ©BiênÆ­9e~í³M`½’@ïÇ ß—7÷µ«?9Iä{ ŒË“¯FÞ>¯Áaz‹ââ|ÀÙ#Ä -&£¸JJ™]uήœç†<½­…”R ú·Pºr~HóøbóøR÷Ý·ý៸ÅÌ!áL÷²ë˜’ÀQJI5V¡¿zç"å­ü û½Z£ù±Ï> `í­«°oiÔá¶u°Â¨û1R‚¦÷.èÇ>õ € J›…-a[ì÷†šC?×Ö òø˜ì‚@õ·æ„-DJ^6$žÃ!P¢Ì–?ͱ‘  ЮǴT[DôĪ%©è{ýÆõ‹Ï_TÿIpQ\|æo>bàäÙ“7.O¥Üñà2Ô1¼XëMŸâCÍÃ$S*?ÈNÊÆãü*ÍCúýG™•Ûœ›1u‡éy -ïÙãMÂ("ëV(3:‡ÉáÓñ$QL8 „åù¦—¦³#eÿ¯ÓÇ3Ÿöâ׿OsOµ>Þ7°AŠæwÇ™F 1éHvBÓü9ª,Ìh”ø~üXGøþI>+a]Û'>‰¢€þ¯|ç»'îÅ@ü©Žh·"¦úUÞ‹Š{á쉸trºYˆ3£(·Tõ8DèW¬· 僘3õtwkÙ©hßƈ¥~d"P÷¹Ô—Í™f¸-íòju>KQcMS¬b)S!gö¼æÙó:âReÀb‘~†93#°Š¦iñ¾ÂL3#‰OWeƒ°¶~@úï…'>~áñOÀÁïýÁ?>yâäp8ä*nÐ^j… è/MÐfsí±kU«Ž2M&ÍÌ8 ÐoÎÈÔa{Îó%܉)sÇ™‡ÛW‰·\ eŃ´šwÕfÚí4 -qú_»Ãöì3Þ+ßóö³-…þ<À`=d€Àöñò_„S¿7÷Ò›Ì`'§Ôk×åµ>~šR?+EKŠ~Wš¨ýw7œùÂH ï·²æÍ<_äËàÐ\ó„¼D>£NްÎ3ª5¥eæØn“j¯aÏÚÙ“ŸAìôû½[ë=bõoÍù§11ô‡²\(ÐÓ+íÚ< €Âù›ä)•X£HÀ±D±AîÀå°[~ófá#ú±àþrû$ì×Þ¾z8£?ìÝ£Vó¸ŒCÐú+—®NÌÈ8Â;•A‘Çk& q4Q”Ps´„úè2EA ’¼zpß"þ8)YѰ b J7éâÿ}‘òú÷^9¼~ãä_þ[¿|àïJõ5­És¤—ô --3]h²°Tmúý'Eýh‚J­MY%qgã©ln°m°€Q‹…Ž÷e"ÈZ0BÌMÄœ'¢Ó&ðâsÀU`  ¿ßcÐ?‚§H2Àm¸bzÀšF††\èVg« ŠR®lÂ$wqà`èg1Àèh¢Š°"úu‡¦í@ïVöÍû‹XB¶›<ôØã,Ú-ОøèGÀ¸ôç_SèŸ_§íTR%BÙºÕ‰©NpýÆFÿÁ p´‚åíâ1‘!ôÓ`>¥d;͹@ Dá&lUE‘\³mòÛÄ}«ÌìÙ=ØDÙ‰wúöl#ж¬Š‘$9¼Ú@LßrþB{a/ƒûè -ÊšSB–ÏÙ“ýƒ3Dõþ”É Çr™íyJ$\¸p÷ãÂ…á ¿À‘tÕëõ8gºvªöDD0û éG‘SÈ“€8!Iªåw€úŸÂÏž1@TÀ;u²Šö}St,óÇÜ»Ã> 4L`Ï•X€þÒ8}Òæ}³9åƒûgÿÍ¡½oä/|ÈV{•‡~þz:&ˆðêµ,¬|ó‹Åù}¿0Óâ ò7:ù¯ÚYyâÉ Ò©—Ú§U–®¶ÃGt%«·ÕÍÏCÔíÇQîOœq·68ÓÔ–úÐÑÿÀÁ*6ïÓ\S†ÈƵ¢»€@AÀiBøjrpñ¤RAJ5[hš4‰unœN*g9ɣʀþ`¨ƒÎ.»¡V°]µ¼6Z„ŒãLí8[aÞ4l! å§ävªÅ MlΓ’háô šºâ/úçã4¥Ø‚ÀÿDËàÿ¼xê‰)ïLIÁ‚õ“ÁW‹Ü¡ @C %CA?ŇÒümxd~§ê¥«43ùÏé6G˜{6­¶Ã›8k>oô#SºEQo¬¹¡­‚ÀÉ´Ò}ýZ”ÑÖ*ôß3²ý 9LÙo”öðùè ;ÕÐ9MU•VL×ìí+lL‚԰dž]; yÄCèçíÁógŸxR~v»Hõaôçпý?ø‹D»òd -XYý?p(ègõ_ -ÌïgÐ/×n‘½èÏ{üФñÈ-ýÞe»†àÆê¿WßKî ƒ;¡ ´hp†—x )Ü€(œ%2óŒ¤å%\¹§î_b€c_¦ªÃw´¼Œ²(‡{Ó²ùwQÇcÎà¤èþ(F`lÞ‚1ÆÙn(IÜygÓÈ€þ­Ûl D*õ _e1Tb?øÌ‡K—oÕÿÕ Žj¢ÖÔŸ}Ø>×T]ÌÚhJ›ÐôåúÔ:¥Uœ}èÔÆ»ÝKßê‹+×W-Ïúø³?é/.]zñåÅöÉáµ9cÆNF±5cGÑPÂ1F0q¿„)Ø3ÒL2)À‹F–‹ÖIÊÙGÒT)¢ÁFfØ ”UˆÕnÐdÌÒ3DÊyÒˆ¼Ýü0 ÝA•_æfùü’yD`‡`Óv1”°_>L‚˜þ°gà î0—à ~ño1­°B„pF•Jª/ z†ÇÌ2]c&¯#)1ñ‹•æ »]3Ø?Š6ƒ8 oÏ*MÊŠïqAºM‚Š©Â_|ñE¸¸3ÇÍæ‰3rš½{] ÐG Öõ7­w¯l?r^äéáV×!L¸~õ›µ×_TÓ›½ tÎ#¿ ÷”KëVÚ°—!+tu£ž¹Ý×fÉ{ƒw,Àä´abUÌ€!u7…Yj–e2ØãQÈÓ4Ó WÉÆb§çVmø§MülÛú¡yšH‹<¯ ³ùEì¬RÅÖÁ1%€a#˜ÿÛðíÙÝ+10ÃUxiñ;\1‹_Ú:«Õñ¥ Œ–îcG?~Ÿ±ˆ¾kÞ™ûÐÄ9Ý~héøÑZ}ž; µI 6 -bBuŽ*]´äxorª°UBú 5_ñ‰|\JÍsœ¸›äÛeoÆÆ’]Œ~£¨¶ÎáÅ0í‰ãR÷õ,ôŠIAJÛ6[^ýycöî *“$AUcŽÞ¹œ Ðÿ+o,>÷èFcrKþÄEÑjÊIðzÏUüÝßóA[Úë#¼+­6ÓÌjáüô‡ûŸ‹÷â‹°Gç¾õÕ¯œZ9 ›S1žÿ‹—Ï>ŒóµóŽ®ÙáÃè¾§w%&ðâ}ÊÍ£‡Ss÷¤?; O4Dº³W/ rëOo^‘_sßbÃs»+¤ pÏ~èl¯Õëu{kkS”°Ê‚I¢a‘SThÔ¸ÙevÙ$ ·Õž2Ûú½Föꕈ:ÕÀÃæŒεô‡›Ð_Ð:´ºW¸ah[¦ÊÍý|ŠF˜¬á©ú÷üüáñfW¸Z÷´ý/}çE¼™G½ :¿ØÝÜ "Ø×_¹ô§V¯± È¿ËyzçGÒ‡#¦‹oÙƒoM+Âìñ× -˜ËúG”– g“&EîPšcNs,ÞLÿîLšªXßxœd“Ð,óº‹8§1€ƒÇ;ÿ‡ÿÛÂ1AQyé IDATt×»nÍaÚQ.Ž ËûšõéÕË5ü¸Bÿ(Wo]ǰàÉõÛ:ZhiÿðýÃkýzïæµÞM´°ÃÁ°—÷írJñµ¬"úƒ}|rÅ™/Œu@ÿ?¼ {n™éQÁWÄ<ø9IƒN<Á‘Î>)Mð»`zÂäÕ”ªÃÄ8€þnÝ!:)yË47Ô­ Ø‘{ÐJs{‹e NÎqP±+u@7*±bþ ÊÇç?éµ2a4Tæ Ç¡ÅÚæZ£Ž7äÕ×Ñj/µW¨‹äC§Ï­Ü_T{¸óîànãGxo“L3-Lûã¹Õ$ŽJäOGT LÀS31Þ›ŽÙÄÇÞ L©•Æ»aœ„È­‡°L®ügùý { l8Sãà5~½½Ò®|éÛ(¾Î\¾U»Þ/òOôm€~ùyU²ÿ½¢³ÒùÅ`·RÌ’I¹À¦žÿz¯u®‰(î®?—.4ÙAˆÌfð»RÒÙUßÒRó[ß¾¦?ó Ï]¿rÀÓŸ”fis͈ub<Ÿ_D' Øt¿M½Ã¥B8ða³5*c¤ª&è7g‹‹wêuµ–¼Æ¼çJq ;¡«Mc4fC¿`ß (åîž&lu· 掳L €2J÷_áö^ùÚ ÝíxS(è“Xí1‹td’E>#ÍuPóa–ãD¯ˆÍÛxZX`˜A³CFÁ@yÌ‹ cn™ £jëá€ûî¦I8õ† ›ÝœÿÐy…þ0÷7Z þdNýH]µà–,(] ÙéójrŒÖhX(?‡ü<ê<Ê÷R./rëîab0.Ð*6¨‘£ -ÈÓÂTYCîEXŸÉ ù'¦Cà:2yC(nF@_>œ¥§µÐ~íµUØ@ýßó'Fðý<9až” áX¥?5fXJÈ®Ã#J -#€È…ûÝ;Áõ¯ª?1ú÷¨ãUGëEܦTq°òäJ˜Ü -ýEýú¨[e`»è;¦ÀƒÜåLÇÈAýè‡=lR/¥Aº³ŽJž9Üx´˜0*:$ Ì9G´p"•Ǥ …©ùϨ -‹td°*6I aº˜ÿ“ ”°Ó½±%Ô`èÿÿò·EËVTaͽÃÐ/0—¿§…JQ+∲+ƈˆžd%<%hTgf‚à"!ÅÍ®+—±œ+$“v -ÿ„;ê0ìÙ*‘€þ€Š°ï\ëx9ê?‘£ÿbÛkµÚþm 5r~ ÄTCm…þçšÁv½x=Ü}Þm@µw¥Ù( -í8Š -@4æ¤àY_Ç70úxffd;´u¢ [4S ß“3Œ€A¯ º?l`pn¾*³J¢d€#('7wÌ òxƒÛh(Í.ŠÃq¼•Ïö¬þËëwðúÙÄUA]²™z-hªç2À*[á (–}žwÜtꪥ0˜ª¢ÉסNR¥ù&ÙXºë8ÂÁ¹ŽÓݶP·ÚM‚A¯Ã¶é(l[¥„ò)8ÕL¢³fRë2`Пòt+ôç±ÞÝ\¼§[?7„z÷+.€,F1G°±ï[Œ2s@ËØÍU¨LùQ¬:•±‹›©z—«×ù‚ÊDÒ©tT©`ï¦Ì4-çQ†qñy [ùAF|2°GSà=+ýa€úèê?¼rþÁ÷ ¤ Â}+¯^VnF|#¡n|&bbÙ,b½>*"pOú{”èÒÖ@ÿ¦ïÃ^1¸¾ôâK—ÿã×Þûb@œ:ýPs…²é®¬^üw_9ìõiâ[Äáæ°´öŒ1²Úäñ p¹5 ®ÏbŽ:¤eŠ#2I"U{¿ì YÈÀ€ù«ç?¹t==vu ÐG(lf€~<†uQE9îNÈ-zèÀ -wä:ugf—–O´NÀþ[ßAž±ÇÏ=ùÞwOúóû”)/8­9KV2¦Òÿ{g¦xONö€laÊqÂîK|†|ÉçÙ  ûÑ_~œœ µO˹‡. {ˆ;9  ìƒ-¿Ïwl'$˜ËR-C#¤öG–®ß/Ïx‡<9:àfZ]ø(ævÞq<°…ízOeÌ c¹Bh ñïÃïS$YÉöfx‡Â•u¼SçNyb´6 ÆrñlqïìUØR`ǭ؃°Wwð¯¶V•š¤ƒ3'óõF¬IØKwzƒÝ" ¹5Ü#õàî ¾ÓëÚÒ@é÷};¯rLv埃ëìÑyúi¸U.Ë×èçTëé¡sÈH®pB&ÒÄ!ç·-·âIØ: e Ù‡–äGºV&ºtý1üµ:K^¹RbÏQŠJ—¼¥ßÉFønžÜq–úÃÛ£§2ÌËÝÖÊá.%íLDJ&-¶¦²ÐoˆVs Ô #áÔÇ/1“-JxwÏ -Lý^¿'J†“«Ø(F*ç:%‰z2àñyó^w³Û¢u°Þ{ ¯V‘'-”áñƒ J“ÙQZµ¬l71`ÍOÆ‚â«UÌI@ÒÍt ôõLf Ûœ‘ ²Œû2rP±•vl‹’û‡ Ò¸FT}Yß|Ü¢<ƒk',ødÊpm©ÈãÌc®j–Yr^Ìø"H¥5‚nLâÅ2L“qb;Iý­ ½ÄÖpüÅ_ÿµx]üúŸÂ†·K«Õb¹}úµ¿~ƒCŽýÛ{ùÙŽ$wE5*ŠPÍ©VçQ…ˆd"ABÙRÊåJó\`‡ 3‰zVµ‰ûZÞ/âØÙ†NXV8UãíöBkqõ{—øßË÷ŸäƒËį¹Ü^„-ÎÑövÍSÝé¿ ÐÏ^rÊÄéI$±&HyµêFÓ œÖîqNˆØ›s] -µHŽ£>Jº6eX$;~°Çû£Ý+X-ž`—_ -ÖŒÊýñ -*Ì{Ð}˜lõ£±¬ÀåDH·pÌ…ÏŸØC -è— ³NŒŒÎ&3'§è?%·i|×°ÀÆÆÆùóç»ßì‚ àWàŸKIºœzxö±ó—_[•W^«Gƒ¡Dlú†Uß&ryR![šú[¤¶g2¼Q°BòŸÊe­âKã5 ™¤[-wõ îúIXôgûW`!Å”û^ò†j ñ!©–YƒQb`¹b\>(ÿ‡ÇïýÏ¿wé»—~ó¿ûMÝgåi­&Ê•bòm¼{K+Å.—),Pö¿\)±ËK}Gõ¯„þ"‡~ØÓÝ0ÂõDÝ`q ¶ý'ÄYÍž¢€¾÷äC«¯¬øÎ è -e>9Ý%¼#ùuKŸo,>pïþ‚Ž’ÆB•ÂÆÉu2{oN¼;â½) ® æaæŒFfEÞÒ˜x>ô¤/nPVtpE³{´Ž´vl­4¬4Øw·¦¬ês<õèYìwáügÔ‹ð\¨¯A¸'¨7ä1Œ§fa˜_.ôpwÈQY¯>m CåÛQ®o¬ -HË aWñŒàÜ®kCVàžÃtC gŸSÐß™­]½Ü9³R ÁíÐv`ÁMe÷Uz¾tË`·¶!Ÿ"vÐýyÞ],;ÅÃT¥Üýnïͤdþd–îØtP6\ŒópâÔ´£ûÇQó›Ñ÷ÄÕ5¤+á^ÎçLF*·wœ/~ŽÝÊïlWú¬)ÆÊ+ÁÊ’`KI¨?šƒB­{–@ tÞê,«¶ÕBeô—_rÅt’ÜNâß%õ;9 À<×L[@v¿þÖêL#"õ¿j7ÈðÝ9¦œ>!ÚÙc=Ç7kÖ €£»â Áø®üž|À¦1þSUÁÂKŠŒ ¡õà”Y¾?0×A%¢ÐóšÑö ØWãÝ›\øð…K…Rö¿øìç>÷ÙÏâÃ+ ú¯®ñ¾†É(¦}ñ&éìÜÈ~ŒÎKÑ ÃŸØÍ›ìFXACÂŒhîËÞyQ.×xÃ#Ô2ȶ£˜-€8Š“({fñ,ò,ÀÜŒø#­¢—œÆF¾àµƒ)/Ð ùüÕ7ÐÏþåýe¸X‘®îµØÇ´úµ¯£CFõòÄkv=nMåIº§àì'õøxHè¿Õ½y«;¼[3ÀýdšÅ~ýí7Å9î½åcŸzæ¥?¿¨¿HêÙ±rèßSÀèÔ‚IÇU;HUxl¾­ ,R‰8;™Ð-‰SÌG‹ˆúóìm$,5á#0odß—Íò8ÝÉŸ€þ½ ÐgúçŸXa1 rôw‡³Úº›ä%®ØgÏ`†úÙÏŸ}ø`Ç£ÿžÏ>tv8 ’$’ÊJ–3).Þ²¸ÈëÀÅŠ» ˜Îª¹&–}i'¨ø›FÎÙYŽã<›$.ˆ{ìb3œîRÉäèý­£ cÞ½z¥ûâg‡)kŠèˆ1Ëåÿáqñë/Š‹ –M@é»ßÙ0g‹8†ãaZŽãžñf¸-](ƨè_­Ö¢hˆ‘¨¾ÏóŸã-@jBó`| œè6ÝGt0è¹GñK9«Wh‘úAXÄÂí.èþ!)ÎfI·Ttî,/VrÓü<þÝaëhÐ6øçÇ>ýŒz?(þ|°ÖÙ0ÅÍâÉXÍÍŠÃú ûcßĆ·X“eõ8öa“_õ÷ÄýXKŸå?É¿¦…+ÀÊ mÀˆ1„EÎʤHq(O§ÏýùÑÒµ1A‚ì詯ÛMܺc”ʼQ0ÀÎ} ü,`Þ³€5ê"Œ©&‹ZqÜ7¾ù Ðú[ -Ø:ë,¤nõœÅf™$Œ<â—B.G40~›ZÏÝ_h5Òè#bwùH™˜R’ú/èWüw1¹ -ýÍY§ª±QrXܰÉô–³PïPAè—Côµc$–žÒ -/|älâ'ûi·á2Ò8 €uÿ$ÅÆ©öÌ”Ôi5üÚB?Ð|{%ê‰4–îhãí+?îµaAbç×£xÄ<è¶æ³â©/£?ìõóèê|qm˜ÊÌ)j¨øîó@‹J˜œºf™-6I_ØÇÌö”\ʦb!ÛߨŽCì÷dœ?ÿô“çßß›/JüÒ?ùÒßÿ;_tÝh` -ì¯w8¢9*>x`om ÓßMöáˆT–Ýpm¿i(õŸâ"(‚ µ«e€~W¾ŽE?,æ-Íâ w†NNX¹E®Å¹‹7ß X÷·©Óß#@€JfxË!7™3¦K½þÆõõ·aåtš'Ï:G›Njþ{ÔÞZ]cÊÎ +òÀF®H-h|Wšº°zâ;·AþXw›éèf<œàÛ‘]¿A¹ÜûTþºÄŽ€lö~ Ð ½†÷‡…šÅ]#ã–^ÅYì*.WçÙé…;`IPˆbÈ'ýJÄAa†Ÿ{h)Þ‘éªþv’îIä—á=Yî7œ±œI æ±S­ÁËJ˜¸%òxr:Š P2ŠéúM&õHœw.“辯 -@iÕ7Õ0±† pw ]4UÔåÙªùûÜt\F³)"'o½ùÁÝ!j÷£”`¢J¦‰“dÉp£±M¹Ãðf¤™5ó¦ÜCŠ ”ÉgºšŽ¹ug@Ñõì,I†aœ%5{NDQo‹•[ÿù/>ûµOnÓQ¼úÊ•UÈ¢?ǧŸ}º·Ñ ï[ân èJÎÈcšWÙȨ“2OCÙ6ȽƒmœàÅ)(þÔ8³5 “s½²RЬˆÌãIg+^V…wÆ8«Ò ?÷àŠ=çQê™a5¢]!}3wRpƒ¶‹Ê¶ÔHlš]Y4Š\MùË&–p V «dÈÔ ü0þpâAÚBm&x&”óZ5Ò(3g)<¾#+ÿCJÔt0M aìø|‡ÑäFeNÝ¥˜uÇêÌ|)+Ä9hÏØŸ£‚‡0Õôn\7yr¤]_§JÚ:µÕÝÚ7±Ù:‘¦úzŽÕȉýˆ´RçÈquÞ]y‰hîñ¶–-ªx°2öòÛÉц¾eqŒ1æYeÎ8á°'ʆrÏqâ -§y¥|ÕZÌÁ}Ê÷ˆ"©kW«RiЍæ°Z¢-l—¿SØs‚•´¹%›bs$Ø÷ãqÂDói‚$`æafé!õ9ᓃŸ©¸Æ¶l@XJG³èG…ÃxèzM%d‚s>8ƒ ™ˆîÞŸŽ F>¹Èýûüóa3Å´&ù É JŒ¹ïÕ8c‹Ô¥ÕxŒ1rez60 je‰d#1è؉Z¥0㵫k§Ï,?ûsOI°o<û O/ܳ¼±¶×Cȃû)¶—’žd°.³‘J)È[Z`мÙ‹È‹{1° œU¥O?“€ -L“Ëû©=бµŸžê½»Ç8/FA¿1°´ÔòƒA§³ÞnD¼á ;ûHÛÏk>üAái¨(è×e@ãžÅ0çî @LŠù4 ôJÞ‹Çÿ/iï·}ß b KpW€A­¸^ŠÒZ2Ú´*vXÉRR³qܤç¼W§iâ—¹?™»¹N{íÝäÝu:Ó¹™¾é½Ît.wózí¼7íäunrNò®W·¯nãºNé:²¥*±ÅØ¡M‹‘¼ÅÕR+®í,vïûç,–¢’Ü=AÀ‹?¿ßçûÿóÝE‡»w‡xÄú@?£;•v‰™-dá~Ìߢª:Ñäù,’~³( ² vâÛÄâßwÀ€-ï¤k+ý])®³wÈ®Ôb­Ðß0¦cgzÂþTâVˆÚ,æóìqà¢$öj:vˆ ÆAâÏ dFÌ"¶£Kñš%ÉÔè -DÔ㉯[Ýœ3‡Ÿ˜¨dà> >ozd”tá\ïݹ3«ï£gùÊ{øŽ¦?R™­NSâc»-ú¹ïY@·Êv•øDŠ‹x ›tv€þa誮Ȫ¸j͇^üz4!7C¤Mrl¬¦ëÌÃÃÔÜ¢=OÔ,L³  -GôÂ2]HUU´®È¢LÄ€r—7 ½€úoÆ*ÚälÜh5‹y=é²€©zYT'÷òލôCšf³ä‘y¢puÿõ.¡kgÙ=Õ pe?òî^¨#@?X:6;uu¡dÀF܇ÙU Eq=GŽMÍ}8QªÓ­§\¯”€/é@ôš“ký“ñÏ;,¹9ø¹üÖåùÍ$G^~¿^=Z%V=æ[nÝPÕÜÜKË2 ãîãZÁƒë-Z·J•q†þf· úŸxèñ4î—Hª1! -çøþ˜:¯þþïý÷ÿão¬‡Ý}œZR:zG'Q†“†Íq“¹}àQôÃèô×FP­Aèg’N»Y0úó“5Ôý1§r§'J›b=&ˆÚ{êƒeºM['ÚpÓ€wXt¨žÀíôôB¶FÝs ´ ³`‚5Àb ÇCù{7¸po7 sß"˜íýùm$ä\cKK÷ð¼“êÃû¾@²ò…Š6&þÔ‡÷º )ö6k¾Ã2 ÓÙÌRò•ë:(H*‚úF@Cƒ°â<_ÐýÙÿvw†K@?þÉîÂh|̧ÒI{ªÁ1ÍK$àO6¸ ‹ÝèL èŒH ;ŽäºÁ 40™Ú˜Kä1àwEP¶º aMsmˆÊu[Å4aø'¤8AÔŽ{ÏUYuÅžñRÜйåhq)\è†÷rly€)ÀŸ$ùû úyv¦æPçñoàr™<Œ-ÝAl\QÄ9¹L‘ªºrMôáFĆ…úýplCVÃX6 º‰Åú -ìp&5å•¥ülº®í úkì¬'=M¸\È5dJ%ø â2ãìúÝó|T ,4-¸Ë;Ÿ4ðIw×Ù³€îÏ2L¤xŠ(ZïÆ÷ýÄ`õ¶H;ÓWýá@ßÓŸy€/¥b!BPž'„2s=‘H.,À}ØaP=˜êæF[@°î¶ðàéYî¡Uw[h¬3î§½Õ€þÕS éZ¢ôøgêY‘´CÓ´q£5ÿ±½¿¢Qí£Æì€î· H/wëþJ‚-IÞû9ذ¦òQ[õc Ÿ°¤˜nkÏÂÍ,x'دk4/Tmƒ57ù¼ÒØòýA¡Ê_1H«Fûžíã.qŽ!ã[g+4&5gŸ°uÄØt75ÔE­T6Ù; ûó¯ØËï…êk þ—*JÚ(dè×(––ÃàJ_’6Zr¶PÆ‹‡Êáîb›,ž BŒµëúܸÙß ’éÃ7ñU G;—Ê”b~Ú‚"Ú€£pÉ‹; ú‘:¶¦ ¤ÈÛWDÊ®ŸÏç›ÌS©ÌËu¨bV%Fî÷À½Ô]aÚ»wT£ q Sí¾Óâ‰æ'd„)ú ¼ÎmÞŽ6")2ó8’ûUÎùNÜ-r³A÷ÅÁ¯Œx>Ø®h×@¡Ð+òíXE#·‘à*áHÀÒKµå·Ñ¥öGÿÛÍÎÏ>÷‹Ïñ9OSÙó2qéEc²2¹AN¶uj¨kÝg­ýhMKUcúÛ>óï'ÌpÛäJÝH¹¿ü®aMYÕS3hty‘£r6†žëïºIîKçW?sŠ]F†‘o·ÝRE\’;)}x -,\å>{Ö1‚êuq›ÏQó[fþQ%Û¶·Û¶×Á -N«IÙ|Qó2ÁÖí›mzËè »¯'ooá3iwÚ€=J?°Ì©øúãMNe*&Ÿv»]¶ò§VšÐ(«€ÙԌɈºÄJ. ¼ù,‹yÍ3=GŠvóÞ.êg˜Ó5K·×A¼e ˪­ÕõbiÜ,­¯×­ûŠE+[_oV C34'”v-ã žuóƒ¦}G“l©±á$ ź–7‹dÀ6êÉæ}èþvÃ9>'̲©ä² )²»8ÇgÆVÇ> IDATD‰”ZôÇÚ¢$Ë‚•í5bu =¹©\þ0€Iœå ©¨4—8ú£ŸÁßñÐ1C[×|2âü¶Ÿüz’xkc~*µ3¦Æ@ÎPV•¦Ã·G©†+? ›Ôls„qÁÞ¼$ýØŽgà­¿ÛV¸`Ä÷uÓHõÐÏÌ|†!&^ È{‰7\_ÔFt‘J„Œþw/ß~ñÛâê?6?nŒ/,,l¼Ô©¡ú3ýàôzc`E%ÝW¤ú×××y'ù39 ztª±‰ÿÊVVk)’ÎÊT¥¾>èñôÓ,ç¾{îÈTóçžcP=^=÷êÒÙ'abv~í·÷ýbbEEب]T{¦{äÁÒ³T )ƒd¹„þ®±GeÛk²7R׋ŽËê?l{‘0Ûר®ìº.¾bÀýpDQ³xVse²„Õ:ù`×PHå}s]´°,ý!m7íDÍ'ÓJQóüÞãP?Eï~,H6§ìo"xîŸ}}¤ë$˃Ó‘ùŸÂ]'صýaG"N|%˜ë$Åt`ã&ÍýNƒ©Pª³“ `M~¢T›`^è¡ü9mCïȹbé|ãÍáÆ“3OÌ€ˆ¯'Ô‹zÂ.åwx›ZÁØXýiiDŒi•^ZMD…EÑ`ÞŠ‹o UÕÅèËÉù…KˇNbS¹kaà³òwA%×D®S=o·ô±ÁÃùÚ¿}þ+¿ý;{>üé—fÓ.•L×õkµFyŠ*Zž½˜Vѱ:Å1Ô>-r˜·ïà ]ý!NU dXÂPMÚœIu¦£Ô\Ð_Š[´r/9€~ó¾yzÆFúŠW(È—^Kè¢ÅÝé®lt³ÈçL\%¼¸éà•ÈÝÀ‚V0 ã´C˜ Á¿‹sMܶ9T+‘ÃeÞ~©c¼ é9é‰Q0Pá™ÕU?ÀvFP.4z]œß(ϳÏÇup8†n,šÁ2€ÁÞv‰çG)ÇÆ/t0Ü'è/Ž'vV˜Ñ¬Úù–å”Êä$ ÚD‰±pzáâù‹åûËå‘tñâÐ`•0¢ni”C²vemúøôÙSg_þû—;À™'°Œåëßà#Ï>qvþóËÿ%Ïóùä“Å'—^]JdÀ õÃõ‹oˆ_\ü9ñ% -3âÙž< ªwò'/ë×Öa=9ÉÔ`sìéè?}bÿ®è”¹¤âƒêÉ{ÚD3}Ûà!çu™*WÙÅ!  (þAqr©Š… ÈmÓü%Bÿô/‚€~èQ=¡ÞK– •IH81 /FƦj{ÛVÁF œæ=7¥ÝåDÕHKá}Ѱ…"Õw£?ã~O„Uq¿Åi† Ðln¶R·¶[rŒþAè‚Àz:ÈþMqS¾ÍÙ žgc¾C,”üÀ·cŒµ rÏÛ§4 ONš¸‘zž,²£b?pD7S²¨o­ÄŽeŸÎ—w/­f{O¿Ü»—ưÿпu nm¨Á"îOE zîÕsrV©P}m¬ç¿þüú5Fý+ïqÓ»Òôõêú‡µçÿìkü’§O¼óÌ¿øÒž›5 -ùt]£׈ü‹;×ìÀØ.¥ÍÀü$^ fùONöó¨ÀYd•-ú»;ítw²@TÿáàØå…=~‡“ë¹H¶( ˆš?ß]qÌd ìwJ3нòè¤T».Ôºc «fA´(,1sâ¤u¨<õÀB?- úãååt×kr=ŠJšJ,R?êÙ{ý©5žŸ(þi^Ø%’8 Iýh”£x/Öd.ÛCUµìã7¥¨XÒ çæ§››­}ýø ú'®?Ðâ{ÑÐ4)OX û}„ÁžOÊÿ˜dÛ&”@uú‹/’ú[£/”6~ªg—tÁ?ùVíêúôÌ\ò¹¦ L]ùÑJÉ* -òïþÏ?üoÿóßxóW.¿öå/|eù‡Ä:5°ÔYýw]¶` ôóç Å1ôò°Ðpƒ¢›]DÿÚÚš2À¯­ÛÒÔ@¢ˆYÀÐFÀÉÇçé‚…’Çê?lmÇK²QrÉñý_yN8p4Òzxšõ‚vaÄ„i - §Žˆ¶•¸éæ5â3ð·}‘çVB&#eTЉR.cù5U&¨’Ïsa–ú;¢;ѲD45ì0•“I÷3(ÿ‘û˜˜ÓX¿Žúœù¤fsr¸+R-)OfÂË»~€m€07."e5ÈôŽmòZb´ŠGT¿¦s]®µ‘£¨È;ú´iH«‰ÊB À÷ü÷Ï;›µ§öóW×0ïÅeËc„³c¾~ ~€YžØ¼"à†½º–dR¥Ò~6Ö7EyméµÖV ƒòÔ$Nªµ+W­ûð…YVIAP€KýäéO.¿»üÿðêáj¹Tž}r¾²~Çñ3Ÿ{F¢²¬©#èäyîKÏFŸ;ŽváÔÂÄÄÁ—_zùܹsÖ¸×0;; ‡¨hÒÂúû›ÿô¦JNð2µîi¬7`ÅASž„¯¬®®Â‹®NUmÇ2Q iÙ-Ó‘a8”#ßv<)V–¥Œ´öÞÛ;Þ/ã3É™Á®ŸÍ©jNǾ»îL)É™>gåÊè—˜{²z¤ƒ#× %n¦ ˆÍbó[dËêú"ìãVK1"5CÅ -úëÃn`cbVxàáV8vãâc|d®S/a«æuý@Cå=b:€«Mê„A0™GôŸ˜õ~=Ìá¾`äÔ@—šÑ#q.±”í²Æ3…ïä)Œ}ù¿û5 k…6¯)èªäÜ0ípVqA‘)ÎêQ‚´T#ØôÂm7ÀpQúý¨¯GýP]”~eÇÛÂ$fdf(¸‹’ ±(‹Ô¶nm`RrŸ-Î|S©·„‡ šÝ˜)Z2ÈR¤Am5™Ç¹ç!·kOσ¾Hë9UÏ)«Ë”×JέNs³Yš°4m§T±š7qðx]ßè·ƒÎØÕܵ<ð= -""§ gÅh Zíø¥‘,XbîŽt½êÌ„sÛkÐ@cÂÙ‡¦­ñ&è æ¢>ªi#ñ f¢ ‹mœa #^ÓĸðçǘYˆKÒ4S‹)Ð5_ìDÝM ÍÏÿ#ÎÐk7P<:üßý鿟{x~qé;¯|þ—ž‘GüOž:+ £œU8þWóaûæ÷W~çÂï&ÏÍvba©HögæQ¡ƒfc6åzÍ-—°ŽwõÊjɪ4¨gYuR«møy #ÆZAq:Mд«U- ·d!@;UñígýÈF¿4µ¸R[Ÿ}p‚I@Yý/•,@)—×ryöšæZq+.«Run¼ÀZJæË=…"%Š%¢Ã‰÷c™ÍÍû,ûv Ð_ÓãýÅík‚\WÁ„ª(¡çTbZÄtƒ\²Ìm¿r PÐEl©¼åeòðäÅ ëõÊd Ö ¯_€-º‡(¶ [XNY§À¼ k–›7›‹O-Â%a³ÀR ÄÃb =B5°"ÖkÒ ÿô±é¤ÿ—yŸÉŠ]¨é ~ì‹ý-4G@¦û.­öd®×õBAúOXlÛö:6W»Yo;N‘’Ö`ÛºÕÐSìߥƒ( @ë…´hYÖÖžSª¤ü–ª"‡JooJ’–|ŸÅ€ßÜã~ Êd-D¢ Iº!¢½Ëñ‡}ú—¾äoo-½„Ô µ+W¤Hè¶v«ŠÅÀ7M‹¿ÛƒUŠóÙ±4]FÎs˜8 ˜Ì5eì0}¼¨_Eq5¸žy ›ú]I¤«IDCÊÍ[âYÃyƒánÈ„PÙS³@^ŽsI -EŸc6mó56šrn(­³tè'tâ»×båµišÕ˜f™aéRÖ¬]¹'îʲø³(žÿîܹw~pÀ‰ë…Òê{8~ï_}ðpî‘éo}s/ßêÉù¹ùù¹åeœÝM{`É•—/¿‹¸<~P_]v*Uêuè„€þ”“Zww:%KÈ ZVcè;vl¢†1°e#LÀ¶EН¬­²`Em:èB91‚‹÷·o\pn‰ˆ·^ãö›\BMþû˜ÿ€þú -ÑSîÂ9–øn7­ÔC{áÅà],>±ÈX|þ­ó $ì–S{þë² ý øO‰z¶Àdýº?ýÐ,08^ßz>9óÄ€þ­VkúÁi°÷—^AMпtš&4@ý‡ßmß HDþ‰¤ÀĆ€þôŸë+£Øe9ý!£¿^¼· 8•º”,¬|´$)}vSzè°À‚¢a€H8·ƒÎ}´“*ì K›F¸~Ðt©µìøŽº?',(˜™)ã@äôj‰iÚîy­üC‚×Å£óÈ.fbéì=à> ògõøqD¾£V,ÚLQ€häÃÅäq£ƒªÌ5¼ðÄ °ÈVÝ?¤ôdVˆPûIšZ“WÍ÷}ˆè-EÅ% œ Ê»R’¼ÀÊ -€PÁ–9Iød¸N>!”ÍÉ¢ÚÜ Ožšk\ošF¬ƒ?Åâ‹í;m9+Ô¸SOžŒKü×Õé -=–ŽÓj÷á³ @Š…–W}*Ž-M˜î¶§íCÈóøG÷gìX¡œ…€È%O/ ˆ"Þ¼„Óùµ×Л¿ôç—^»P¤‘ÿ/ã¥áÌ:@ÞÎÍÍpÇ÷ß\yü±¹JÙúÚ¿ÿüy d€"-|¼rñ{õÉÊИgô/JqÞè|‚úcUB7q.y‘œeÖ<Í¡QÍ(º® -ƒü½€=dTê\)ÿ¸ÊV¸s3 ƒYÚë÷@Ô>Ë\õ‚/2%²í¶+>è8k¤«’%+ °­ý7)éÛKùÄMª#&¹½Í¹@H7ÚÊÉàšnÚÞ;#+…©Ù·W;|…éb`õc‚HéÒľëƒR/ƒú¯(:lÕÌ€E2)•b’Ebðh1R¬þƒ 0 -…¦¿~jŒþ¦ÇnÁºT‡+G> êí]ôƒ³ â-MÙ#Ò™ÝO?ùôìüì·þ¯oýÊ¿ø•ßùŸ~Ǵ̩ɩ#‡€Ü @üÂe 뢴FÇH8œ›mýÄÙÄ2;räH ûƒ6 6@<6ÿ„§OUî'7ヸÉò,p‰P€ú2€ÒØcûƒdKDƒž§cïõæPüúÁ°?ÜÜè­€ h·š°æÇL؆¡>¸Aü䜗÷Z´Têj;+·mˆ¥Ê?èþP¥,«ÿ`„®¯R:YWÑ€. e0fä8—Ü¥ä -Vÿ÷”¨Y™ÕRº1d=ØDmŸn{ çW•˜Iÿ×ó7akT¦Ó§ª>8¨QbÿiUjÄÆCèàNÐKÒªãÒ]‘·Šb 'ú=„iõ¿ÎG¶4 +A°F¤ÃÆ}œ_;a›Žq·}Xõ¸-p³¼I)@ÿöÏþð±,Ôk©”åThùØìù‹ç¿z×çë{G8XxÙ —ÀìCÓ+?|G"FÀÙ3'{|ÿkbÐíëÄUPÿÇãR €~Ðýa…¦rcôÖ‹Ü^Éâr -‰‚ô…›e†Žã’w+fDfÊnT[ßœ}_wqLkÃñÜÑÆI9×ÙÔ ÃuØJý¬>f©Ä²’•1åÜâF1ZBÿÅNvGQ”ôRðS ^ -’œtÂò(g¶QT¶›©ÜaÏ7“ôýÍo<™­‰I-ÕG—mjkÍ«ñ1ÚÐÿ¥–Ö ÃÿR¥\1¾0)îC€s¾;ˆ`„i^•­‰Jk³PÑY0`pv -\ ì¬_º¨<.äe?§$«ÐÉuƒÝP[Ó­éâÄÙæÚ‹pº.cëÔ€9ÙÈKaJZÔ6jÒ˜´¹µ¹ú£ÕñûÇWVW`­V«‰åüøV× ·vµº9ìØ-{åòŠeYÙL–ã4k ØI2766@…?~œ)ß¶K–5g‹šÌòA|æHª•eI3;$üY˜»Ñµëˆ;sóB-uw]îÀuê§NI§¾úû_]¿*l§8˜Œ5ñw†¾‹½iPûÔŠ; aÛùŒ’##çÇËúXÑÝn³¥aL’ÈšÚí4 'Ú½1n©©›ižŸd)0àý@›˜fäã3³‰?j8k‡Øfü;æt¼„`îì5†G2$#_#ƒ²åÒOw%APÚ‹|âêõ¸à¨/óç2èsOÓDîWš[~èÊ•µ«—._»¹Y·ô÷NÝwVãñÓŽú#Ÿó‹EùòÚF±øæÍÆLÜ[Ó'ˆç4x“I˜HŒ–Ã&YF^4±Ý¬œËëšÖ´í’9–•ú¨*Áõ¹,ý6:1ãÃ禱i;áÎ -7Zù1M°¡œAï+ó²…Q˜Wò˜* -’txÔ¿ï –_‰›º^ÌSIMù~„žÆõwvåÆ É+•ﯴw˜àîÞjPK¨!CáþR§3P<_š¼1}ãFÛïðw)E2åiH‹æÙGpT×®ÔíÍòAá®xýÕפõ½16±ðñO.|üg%””ùÏ<õ9þ<#Ù›(wˇŽ/½Œ¬'_ùíß[{åÿä·}äôÛà=ñЗpÚ¾¿òÅgÿ‹-ÙÙ,~ù¿šÔ5%Ú•>y­êÑyX?¬ÿ«¼éOŒ—Î_ˆ½îã£ÑnÄÁÿ`W:r¼àoGÞvÏÏ´©ÉDž˜Qvv#–åûµh—î7‹MA”Œ z¹ÄÎíL*±Q@Þ ÈXcæ}zÞÈË­Ž}Û=ýÄlãfY’pâxÈIúýn(¦Z³&®É¥ ¦›–ݰͲéu<ŒûÍVé@ l`èGÏÀ­&¼i@–\=X4Ø’"áJ••W=[ûfÝôOÌÎ^PG%6ŠA”¦Ÿi~ð"<7Ã0ÀÄ`®ù0’‚hÏ™¤+kÂÞO'æï»,~zqå­•­Ö¬ãÖø™…3Kß]‚µz¤ÊT”ñçÐÿéÏ<}åÊ•—_zÙm; <~ù¿Æ âÛûW °'@å?6}Œ3y^ÿîë ¾ø…/‚xý×ß¼ˆÏó¹_~v}£þÂ_¾À¿ûì/>+WäÿòE€~‰²Q¥¸4!½°­“æQáeòpuã:ÞZeªŠ7´˜T&4 ¬ÖfP(€u˜È~N.0˜ZÒ—’kª6£0y脜Žnùº°ØâÊ«l‘w‘R¹ðxníBg¦~íy¸ØF™Œ tdž5Êå™”¼«âO³”ˆªeæè@±EèÿÑeØâ5ôpz»w6@àÈ¡d·½Åô×ÍF]Ž­:Ë*fSÅŒ‚‘T¢Ê½APJ^’“N }³‹?Ÿ„A ÔˆþAøK{2v "ô#¨Ü-ŽOË)v°†ý¡ñÊÓÄ£¿„Ä_¦çcæL~$«xù|2ý}·Ç`u±{<.]\aͺÁvmc›š*‡¾Ü=èÏ;•Š˜Ú¾çUÊB·s;ÒÄýB‰Ì§Ié¾ñ‹Õ'a@<ý¹3W/_= -ÑÌq­;¢ú)⥡óLÜ<¶yóª4¼úŸ˜;ë;+æ>2+~öψ{92 ÷Øj5,K\Þùï r@yH›†Þ¼Õf+ìØ›a~, 2@ÙÛ–bA±w£Mjé¥)²FÜí¯3èì÷ãž‘lÀÖ08 èk™ÈÙ‘Œ©Ér¬þ—ªUØY½p^7,<@ý÷ˆ6ÃîÃ…”øçAÜ‚‚Ç’>?4õÞ–'i¸o|¸üÐGOo|xÔ±“O~¶FF«ÏsŒ¡zbvÊU4ýÁÐH--–Ê•‡A§üþl‚=É/FkR$XÍ͸sï4Pù“-‹å ž²ÕÔ>€¾@üÊT:Õ ÀàYœJ}>àTÂ[»¼2II`ŒþNHR aG·†,YLëÁ{Ðùå$”*a¶>ò'§Óó÷,K¿”•²3Ó3—×.óºH~öÚµZãÏqb³xíÕ×®ü(T@,<¾ðµ®|íOÿ¸JÝ>¶pQº2à_ÇŠ3Ÿ8Àëç_ÿÆ7éÏ'Îä³ò¹ Ÿÿs„þJ½G¿w$7x™þÈôÚûxÁ3δîkmÝFGJ¸×¸ñ%ØJÈ#ä€þí;¶:.FÝŸd ¿¿ÝNÛÎV˾µe™‰U'¼1¼0óRû‚×ÎvÛ°†êzx«¤žýñO^ €É–šjbÌ6`èõ_)(r¿‡Ðƒ_Îkœ°‚àÔµ¨C-ÇWßw´¼lè`Š ê\?äÔz£»)ÿ‡½@µ«€Ìb.4ntklÎ7>¢ - @š»Äè/‘/xÏý€ú ˆûú°s†w$´Í@°0 ÃÀ“ñbúõî·€lŠýÝKÅÒ/ÀvõvãÔg>᥿€êV^]*­‚|Z¹°T"4îTñ4¯_›;u–Aúc{;Ÿýåç’ýfªG9ÀñxåÈV}/AMZ÷_9÷:ï ÈÌO@ÿJ,í9•(ˆÝ£\O„,¾-tñ‡JÌL? -ò–kÒ2`þÄ|•4»§áé—ÿöåä9ßKÔ®Ö zS‰ö ê?È€ZÜ ùâ…‹““(±ú¯ÐâRä†ÑpПüâ—¾º’ÎÏÑ`X5âZ˜š¤„™ÐçZVÁègô‡_OÐß0Dhc†W_ûôR_¯ÍEEs%KÌ Ð÷›·œ&¼÷áôÓ3Š¡?Yâtþ6£?<“ꃳùœy4›VûòûµÓg懾¢¨JNI:ö`fNL‰Šz=ש S—þ§ìÀ·…Îl›Nã’c¼˜ñ„nœ¬b Àù#iÐ’EãZè8áízñó-+º)Ʋ“ ƒ|6@ -€ X~a}½qíúæÙ'æ9NpòÔìôúô×KsÍõ\´…/lÔëW®nLÞÚ­Ù™2Íp¦ƒa +ÀÇßuÆ÷êÑ û³ ¥Ðÿ'.‡ö1Øÿóã°öý Ÿ -NÕþ— IDAT$wë„ ûG»{Ýðè´ Ï­  èöü˜„•Ú½… ¯k±€í=( ¨zl  ªöú=Ì&\ÃxKÁhßñÍ(WK`=è¦!Èn§S¥ö¼¸óУpNÛÞ„†Îâ³_´ÛN´+}tÁ»½5z_ytT«_«UŽÍ‚Ö¾Ù´&«è&ŽÝÙ¶)øæ`gœWg»ãoûÍ[0Õó¥ÉåW‘Gaþìâò¹%c¼4ûÈÜ…WÏO?Ú­VѲªó^{«?ÍT èh͹Ýd‹€X1²ÈâÔņÕýÜoÚïkQ´ú`>Ëaܼ- $J²H”òDÙ0Ë'æƒí•µ+´”î´f³)gd0¨ÑÝ?¦ñÖºÏ2ÆÏ>óÙ‹o "ú»yÈ|üãsj,H‚GyÔí´a-*ÍÎ̘J“eaÐX‡&¸È`}cÝoûÖ „Mõ”7õz½<^ ¯¯®¡qÖɇON=0µþÁúµÚ5ÐSسŸíϾv­KPP÷ÆtËTëÍH‚<4r¥ )yµú‡«Xw»Û6Í -ƒàÒsPããaÛ'·žç dƒ9^òº½m'­h:µõ ŽÍÂ;å˜P‹¼ˆ~Ç.€Œ¤èN£ŽŸXÄÜrš¥‰Rà»ÍÍæ¡˜¢Üß<²2 cjÔuƒñj·|ƒÁ„άª½ÙGHç¸Ñ˜›/±VUšœs·®§Ów^xå)¨Ìð»þNÃó6óù‰|dñ.‚¾ÆuÎQ/´íDÊûŒhžê4áݕʓµÕK­Ûþ‘£å(ð-«øèül‘=m´º¸XS ЄNÇÑó&6挲#¯jOÉjØ~6’ÒÕÊ0嬂LÚ`˜Q”ÁNl.\^+“ýn¤å¨ÝphPu›‹ßEOÚÂ'ÎÌŸ|’Îà’º~yjJzBB¼ë4Í’—®fa]¦¥zá†;[ý°‚P²2¨ÿìâV6¼8U6$ʨáÁ(Mì­GkPý[â° !°çNýJ£&4ƒ+«+õÍ7çO~vpI£åôy´̆Ìö‘QÐÄ@{gÚ0E»¦s`1è2 ö£÷ØÄg8uv(ó VÊb@ç­+¡ ô‚Y†]Ôcèç4‰09 XëOW¼ §¡Š‰CŽge0žM²lgáàa¯QþÜ•D÷Z%¿Yk”°™— ¦¼p&£ô·[.ØèLt˜hèœV~ON™®Ë~i4"¤›æ¾êš¦y¾‡¼Âšf“:bt´ötYºk#àgÏ~6¹ò0ÐXK¡ìýúïþëßÿÃ?øßÓŸ0ôK)ô—†ÑŸ…ˆs¢ç/ò8éfíëµÂˆzj¡´Y¿dеÿÕÉ%-Ø^×ÕhâÀ”&ÇÑh·XO7 ¦ë¡R àI¢ßü\&ÓQ3ݰ›ÉH8§À–ù@âtòü”•'К7æM{úáê¥ï¿W=6iÞW´o·µQzä=lÐ…Y ÜbeW_t»“zèÓÀг®pýƒ´è¡ ˆB2`qš5è[QV‹v…â1ÛJ&Û'}v|E úh=€Z.…¢½ÆÛi<ØTK¬eèm÷ßmo·Ýö¨äu|mÔ—v‚$ÐzQÔ K÷½ÀM³{Æ ´OS”Û><ØŒŠ&ôˆ®Žè¹U$t¥p;*Î4[ì:kfQ·§p7]ò¡gñª?uæÜÅ¿ú~-5~R½ÒsÁ‰#R¿üÏÿù™³ŸìÒPìR§x‰s3 ô'=ØÉ>¾Ï~Ùk² •söD„‰¨šFæ@qŠj;ÅK$ƒ@ÇþT¢¿F™ZRh˜t0ÌÑI]sÛ¾¯ûn·;Í`iØX€uñƒC1Aôw][×Í^„™zAàÆ-áótð$Y0sn̈¨ß ŠÆ‚~˜SØíŠGâÕ8š‘x‘³²œÉ²[IQX¦Eñ: Xb›IÁaš>U''¥ÍŽ ¥ª¤­‘ôkIk%©œnUhÙAJcrÒ€›j´+â¯ØŒ…wš·:O?sb቙úz«2e¥ûÖ&\’–¬ú®»Y"~$?ní©•úÅoy©ª‚LÚ$-^#ÙôïíldG'_˜qªF¥éW×jW/ùWgêIBÔw—ŽL¢ÊÉÁØ v:Ønêj‘U³p×õ{¨Ï¬•ÃÖµBþÄîØ°ƒîìÝ Ow èoQØív)N§³™Ö¡eEÞ¤ðW;Aâ–QØFLÑn· šk—Hb³™l¯?¤uºmÄ€9®1Qšx5v¬ öb'øú"ÛÉ×[/¤ê÷»\±_[Äfhri.wM×'‹ß5q7ö¼écûtÈjn9Åq#ýI:KuÏ‚œ Vqb¢Ôl îEÓaL Ô æG¡Æ9J’t®¨ûüô½çη=& W’1Ï>Œó_ù—¿ù°6® ‘(¥èD©É“²gžødòa.§õûr¯×Ëf³˜ÝGÐߥY–fÄèÑÙ»Ø?°›¨‚AmwBX™~‘î#Ï…„éË€³Á»Æ’RŠú*¹´oSŽÈ Àªï0€•Ù@IH•‰‰ú¦ð“ëÚÀÒÍå ú¦Ñ|2ÚÄXú*ÕßÜÇ’˜åŸ%¸¢hü{°íuú¹ªçØý²ª®qU!)þ¶NMÒ–>ê÷ú‘mT6GùøA?“E“MžˆyyË /†G_¸wñŠrµ–ÒùÂ2¸« õ÷Ñ A&L`¸.GÓ#<ÂnnÄ(S£Nô䮿ÁÈ€ås©Jæ8=Χ†:%MÁªíãêåמéþú3xÝôbîùÓÆ¡Ýe6Æo&µŸJL í^J©ã‡*[Òçb2H×OQó䤾 Ð_?ÜâöÎ>@BXi€[ GŽ$^gSMŽáOA Èy+ÍœÉô‚vpìfr•@„!&ù)Z %AtÿiXAˆ«ºVƒµ˜o˜ÎN»Q+±Ä¡9ØÉçÁÃæ,ë ©%RØ‹cºÝ–l*Ÿ‘GH±Z™ÄNUT†Úºi¯P›?%X|Ïè—ó˜¥ãGB•1 yØÂ%Í}Ïçnã€þ`M†€Ý2L ôUú×V/-ûÚ܉j“úâž|' þKÏ`Õu”^œî…šÆX¨Ž €[Êòˆ;2ª‰ƒ&ñþ2G!]×ý9!´à¤ß‘DÐÏ;­›)MŒ[ ¶¶ìq*ÙsNéh¥ö#ðÕ+Ëÿ´êu¤¹ùAº=£¿yP×òŠ¿jÔ]Û0p7IXìøå¯hú˜ÓZ7‹øã: wê°(Ó©m\Œ" gOX*‰Þ0±IDú§\ºÝ½NªQ—w3Q®+£=oÃ_³ç‹¿•П&^¶äáAK”)KÕØ†@Ã.Dw”úúYýWè­%DgpæÂ˜Ò‹Ÿ.}¹z¬j˜¦}Û¹¸Œ. …y¢Ä÷ÅM·¬÷ï\aÔ£ì¬4i·!uŒÓô¯FÛë )Ï> 3C½Þo¬¼sÙ*󸘞çÉq OS5wÇ‹‚;iÜááÓÈZÅbÇua¼Åb뎸`Läè÷ò0êH•aµ`4£y~{ç¦x‹Pö"c–q èÂ;Šs½¢\ìîÎI;nh•ÍÖM5¿òN d ì\x±ùÔS§ÃNÓ$Š·-›f¹· æ¡mʽ2Ü'RH|„ò€»þéÅyÞ9ù˜ˆˆÂ·¯²—Û-gö¡9x)íÛ’eU@´½³¼éw5ØF‘׸!æƒVh>Áš„ï |DyJ“mܴˇL.:˶“‡}9À–U¿Ñøö‹ËÕ*Õ&}ßFÅCºf%—ÙX«¯”'Ë^Ð6 ãnž—„–,Û“úrªÝo†ç‚J {>N,œYüɺ\–ΰǧ'Q(Ч´%XY3 Ë#JÔë#Dn'’#º6xÞm40Tв9ïð§.ùñÈÂHhFâ 1¡¿‚IJÁ ú^ 5šN Ì%ß±ÊG=ÉŽzQ–ò, -£V } ä¼Ž(ß³GþöVåðtñòàg1 -pŽPxœêÐOm€eÊ¥™L$qA6’i®ª:( ~’* -³§Ñ=íuð1Ü`C(¦2Eb2=Š8ÛÓ“ƒ¸š6q°{„b‚42²i3"¯¨ ßa±{N˜#¨þg/ LÒâ1ËJÉ"úS$šΰà ØxÛl 4PJŸÈ²cžLo?ÝÑÿ·~rK¼=K1?”‹Â¨ÇÄ]0n†éÒNÇAkÖ>øI2|ËBìFNÂYMg²pvøØCIÃ=v%ÏÄìf²IÜEò=ºu™EnF”'ŠË˘‚=ûÚéŒkÉ‚žMtµ©¨,úwÁÞWýÁÞ± OÏóý’$˜‡UMõˆP–uf †{”!.É¡‚þæÍº.‡•«Èn)8“}x˜I›Rœ’Љ}Ð[­æ e ß]Þ<~¨4sbŽ‚„8$Óÿé{Ÿ”š€Å°u¯Õt’¦µŒþ¸³Õ²HY†ó ¾uËuf¶zéÒÍž|ü!Pù£næÈQÑ"tz¶záÜ%kÜK˵“äNÓ?3 è¿UÚßÏKuZ±¸:¶†·Y:d -2`úÄ ]^Ë:„™ÍòäD£Þhßv@2?G5]ùœ¸~Ÿ°±ËØ–&Í=ÿj·AÿÊ#ôÏ#îƒè¯]ÝPƒÌP¦TH6²ŒWQuuQ^AZ4%€é†ò0£|CŸi|$j¡Î1jЧ̱+òˆÈ±öª’ ¢HE¾r„~Ô@S˜¯PÁâfŠVåD`Ôÿ†í£S\)d|g%ÇÔ¼è .‘–*TI¤þÓוj?Ë™ìh¨#ƒcýÙÿÒ”¥Ôý?*63èOÃf0Ùšqpré•ó³­š¦iÛ6:yˆ¸©+CäfbHÐÛÆNƒûÒÔ›ÍÙjõòÚ - ÿéS‹°Ï©z´¼ôê¥jµ2 ºÿ8Q‡^^­™Ô Ô|ðÝÌz ásX\â¡è–rÂ0´FÃnlÉ„·KäY@èk[¥îF–9Ü)׸g=èþ€¶€ÑÎÍ6èþÖ!kíË~|t0N.̃ÖW¦ üîÍFTïåsÍúìgN~û%4 &ÊÆù¥ÚÉSh*5®7O?9Ï©«pÚæ&î,~Ú„P“‡…®øèR…ÿ‡€Äb˜ÛÀŽOï:a¶™?; 2À»Á<ΤX3ÓÓoÿpd€/ÿ7Ï~ûo^[úÎÚ⧦A \ùà÷Xi•Ïê¶ÇÙU©ebºíñ,‹ÒðÎF‚6÷?'1p·îŸ, •8©‰¶“›º(1[!@:¬¹¶1Š@÷§n -W„!ôK˜åɱUCçÇEdèú«©qlµP®âXbÀ€e™°£izRó‘ëw1Ã^É)¸JÕ|Àø•.û]'ÄY‡¡BÀå,€ Ðàz‘ì¹Qý&Û^˜dQÀ„ÏÊYf½· O™šˆIè( -D‚{ØnIÁÔÏÈAj‡ÒtQ*À?ø»½`W8úÑËÄOG¹Éjk"N ’ùr5RÀ³Ôá‹<<œs…^7Òó:¾³,\¹Ä„éðOù9/ -Ö¢Àõ¸¸†9Ü9WÅ÷Ðq¬›–g¹Û·PŠÑv‰q5Õ÷{†¡ƒCdž㲖†ö8<7[-”ÍfmoPW–}ì;:& ö´CG‘‹RÜŠ²Pd܇mQ/&¶“Ü|4’b+©W°_ž»ãF³îNGtEg§?æ³÷<'GH\-a®¶èœüPÄ?'–Y"¡‘W™È~¼|ŸžÄÎМäG>²OM•4 ´°ZV.ΞxÔ/5ˆˆØÔTtvaô«™,R–Î!c‚ÚCÉæG”bÜ7ã*4–ÁZE³F‚—kä]“CaœT#+Åãǧ`õw"-ŒòDU˯ÕÞ÷kRcþÄÌòòeÛ>ýÔé󯜌[øôÌóúí©ÊGªç_[]|j^æÒ+˧OÏÂI}Û—ôuMouµêQsc]oùŽ1iTŽ˜¥Ã†¬÷:R¯¨ô&—¶Ö#Ûnlݘª¯olØõ³§¦Ž»Rkbµ¤|ãëK|š"þÿö?Õ@Øâ7Û`Ö'ïÝO)Ù`±LM¡öº¾Þ2Æ46…‹c–,¹ì6ÆÌâ(ÚÅØáÆ(ëõuÔèg©®“<=]Y[«‚Ã>ãJÕ™²Ý±Ac°ÊEL„àú¡i`ëlû†¦a}(ÕFÁp vC¤Ú-`Ϲåp]XÛÅûu#Wuýê±b‹cÚß~ñíé™}L»ôƒõfÓ=ñØLãz Ô¨/ü -­VæKØ3Ü›šŒ XIô'Å¢›Ô˜g8úÕ ²Y5Iög5=121¥81 ÃDrÔÈä5ï!ø…Åúp%ôùø"áŒnóÛE#_wÃAáUrl,CµÜvƒ½.l`u ¹òÄ1ØŠ":­)¯N ¿çaÀP};¼°‰'‘Ë<‰+6=¿—ðZª“œ¿%fçòë/Oô䞃5¬¼(gtðšÁ_Y݇Τ¸î5 9î/èÝûXø.~·×côgÒGv¯a•g:•3å&bn¥ÔŸ‚Ñu÷IÔ)Žé¿O ÇYbM\Bÿž5»³`»ôÆÚÂÇ1'g²b-¿u©q£1ÿ1|zßf#€î«cð"Cƒ$á@0ŒDGܽ–W³`ÅåÍгÁ`ã5±ëoT«m øsƒbýÏÿÒÓžã/¿s¹|È’NÌܦ.Q€þ67ýù°ê±ríƒÍê°³Yšé·ÿò6V•¤ç¿þ·¥B¾ðõFåHyãÚæÊ -¾ÙëÍ‹$­‹Ç\|Ѝ Ò¹ ™EµqcŸRs«TôFÕñ |/°MR¹K‡¬ôaù´9D÷Ê•«?ÿ™§k«—.¬V§+¦U<¶eݸÅ:‡^™8Z’*°£dôË$wZ[m‰T2Rxjfƒ£±Ù:Im¹`gfzŽ›ÐÑÓn£¨^|ò$òóŒiÕãø¬J˜!ån»L§Ï„ôVXl† ÈR!çªëcŠ›*”±.FöPóyloK\¤qZ«(X*ж˜Ù]Ð1}G¼S@Ðļ]<Ìw<2E=P¿±µðØLåFëâ›—7þïóó§fʇ-éçÌzýy‡ƒÀü¯Ù,#ñ“av«·¬éº—U‘,ì£e|¥Tº 7ô¥P7°êcðT‰[B‘ŒŒæ‚JÛc_HVè=D*Ƨr·c¥pLõ&µÍ>ާhÐÐÜO &A‚mNŠ‹uým—CºÅ@mÕ L9FØÊÙÊøÃŠÑË¥Ó>¢ÆN‰xÉ1mH$j€m¤-ÔÓ~'¾½¼’% vÛ~V”çß±é#ŠöϨ)Ñ*Ä3ÅΪc$²ÈøC$>}|¦©¥sá››°‚úÀ¿3PÛa NL+OŸ?ó´f `غ~mæÔYgkp Oƒy2—2@|˜TÐÿnÀùÚgŠï¶î7º‡53ªàñ¦,K9“J íbw6Þ×õ¿M¡ÐÞ¼¸`\¶c¢º^j¤ ¾¢pàJJ;åäU‰yW\RYY 4o¸ÒÇÄ1€ûL0b»6 ¥B›ê­b -â¸HF^Rˆèf¿˜E!8<ÀGJñ,…1ÃWèb |àT¢N`e€T.}¯¾úÞ•¿øèÐ>~½ñ -2÷y tþAá{åš`÷IÀ;µ« ú=spýygáÔ€ºCë[€þŸÿâ³ëuuTphKÂَ ßZͶN¹[èl)‚Ú¼Ùô_yg ÞóücÓËo®MÜo=0e{}íž+^Üß½ô2 ¯I$¦v«]ª” A ´ìfá€^ 0MýrýaGÉb=ÁÌle }åQeJäËçdñNgf«Í!L䤰M#šKiÁú~'Ü’0ó âšÂY½„(…©Ê$äù\~ØÍìÄåLoÉ_á¤þW•rC“º0°ž£Xƒôîê:;W…1ü}~ò~ëóŸ;}þÂåå —ávAÔj7“ÃØG«çédž ”>¤ÀÒŽ¼ÇÁÃv@z¹WÞ5£? _?%Kþd@è3{ †ðæ²ô¯4µœ¨Øn,VÓÀœÐmP±Ή-G -—É/¿¿ÆIRLKÃ@?ËÀý,eöD)èA¬0Ç·ï{ÈPN‰Æ¡ë²[$èHÄ8|Ý•8õXÉÃ?£œ'•(é1Æ-y~ˆyª×ëcn¨‚ý¬)6’’¼ ú:&—Ê,$Øbp1¤™$`@^’¤Á@1‘²úœp=ºÆ¡…$äÛ¼¾¾ráÜìc§™`¶ G1QÞ¼¶ºù‹ÇëWŠÛÒ£iikCV†s›[Žëì“jæ{Ç„’¶ZF†N"^Uìÿ‘$)íëW(UT-º;m9.µS€Ûd³²H=íí¶BYRâ)2 eûŽí5±8ð;y)DZ@2¨¥á*Ú°RDä‚kÍ#@>Ý¢ÜØlp>¾šp•ÀŸvœ5kuª´B’ÅÒ½$¥˜\–u}@9§õB+uáC8ÔÿjŽ#饜үgNÌ€кÙR -)Š‹ÔÛ8yrƒÝX·)_£zÑòGƒú?ydbå À`š—k×7@€°¾Q?½ðØò[+åûKó›»ðê*èþÓWÖÞ­O=`ô_~»~úÓE@é«Ý¼ÑÀèŸ^Ž?¶~ýÄï> ´‚è—î½úK8¥µp` ´¶ö‘v[­æxôõ_ü\Œþ „ô¸Î‘Õ‰‰3{ˆàdÄ4åζ;¬Ô'ê?™&}:»£Da®â¯$Ó€)ÞÔ°€tÉzè»LÊÌ9𢨤G²T¤è_¹|ãFkbrV›–1±÷~9[:ýI’ôÜëÝÄÏ_Q{ÈÒ3€J‚þAVÿ…+ißB0ÒÓ`]‰ÑîÚÙôMVµ,`dW³YxØØ_5E ³°.ƒÏÆ^ {“ã¸2¨ÿŠ®l5š[·š3³{ùkAýbˆƒ‹P5çuNÂX[Awe’`YQŒ´œa>AŽk´‹Î_uD)‘dß²eJ,Â×ÏäD¡§äå‘Am7:Ì>¹íûìûÊ¢b+Ë]rÖSì ‹}YÑ;ŒSý |•w¤)w‘¢Ã¹:ƒ'Kb.v"¬È§¤£¬$÷HNa:0fÏxØx\Þ îͪ‡«‹Ÿ{®Vu¤r ² ÷ªÎ.½Ðj·Ö]{SŠv [kþöIz‘~œ ÅýW£–£¬\xþ_ÿNø‹RÒ³}Gì„]Ù“ÆGÄàr{B3rvÑþˆ”ÉÂCsw½l?k°8­¶#wŒâDQ7(oÞÂf,VÌp¦ÆÝñl1k©L\«oÒ螘?9>a\¹ŠŒãÇ@ûsªqÎ‰í °À¡Â«Vso»GŽ p7vSÀû"iàK»·«îgû#ùPëÌ‚yþ»µöÇÓŠcò…ïžkÔ›ó§Ø4jWÁ èÁ`€¶Q€ÏÁ ìGžE]™I%$¤ô‰ô -Ùʰ€««É}2½ññ{< -¦ Òöâ+ OÌ9­òacñç©v?.©_¿¶^:„¸°²úöÜì̵Ív½V›?¹º| Fþé³'9Íqñ©“ßþËKåŠ9Q1.^\v(ûóò»µŸY˜ß²Öm{æªu @ãm{~Ç úŽ”óííš~ŸôÈÔÇßÓz/ÃŒ™8jÂlµo×gç¨îÆvaG+€êþô%¿’å~ÑpH]áQ šB!ÈQ.«yÙ ¾¬0À¡ŒN16aõ!ÿ™Ê`‘Ô“î³X‹ãXÓ˜,+teÝ4Cßwm‹³Hµ‡_4á^y?瑉ë -©7‚d™ëÔàly ý?~(šLÀŸ`F h ³ÃSáÇÑãÄõ"]¡r  !”*ÅP - בÏ<9Îÿ¿Ô½}çy'öîôto÷öN£³ì` íjÉY ‚‚Ç"NŒD:¼³¥sʶâä'N9º8U±êR¾¨ruŽ’Ô]]þñÇ9¾ -s•8’}ç“?ˆ²Š1h 4aˆ$Ö¢—Xa p€åfлÃnôlïôvOÏæùèîéY,%%%/ºº³óÑïû|?¿ßì믭ýôÒ3W®þÙÏüÔ"!:9ª¢Ìƒ½=`uq_Lªªtä•Çï´<ã’»ž* º|¼È:Œ&älh’JÃ2M·ç€èßw>» /G¯Qªq‹ ‚v)‚”/+å4ÿCS4òë{KŸ¬UkFë¹ìG@´†H5Bx7C’»U3Ê -n²š‹!0+/žM†™Ù -lï¼”Þ^»zíÖêÊÅgøéÊw^¿xéhM›Â Ý´nÝ0-'—W -„KLîÏ…°ïBei°#¦,sþTt@m¶R#c¶ÊtÙná¾Ӷë uóˆiMY=ϯ×*nׇÍ,™ÜpŽýxëM ú÷“ëãcŠœànÉÊ35ÞUíZ‘}yÙݲë9Z`–ò Ö˯€@k 5e¯³èè§A—daß}Á¸ÃŒàóœc˜,¾YÜvä÷DýB|X¦Î|d“'?ø˜¿–Ö:Ä,ú™‹‘뙨¿'bŽI‘ -|Jp.èC곊(~¦=‚<ËX¸A}àúÎÇZAí9„N¡MªIHÙOüæ Tgª¡¯7ðÍÖGüªÌBÇÿäFéÏߺÇáùaæ>KÎ'–F–À>Plïÿˆ*PÖ -AoÝÆz‹º‘:¥ªãR¾(QpWàv‰(k“"¨‚¤_ -DK½T‰CÆv3¸ÔKeÚÚ»Ø*žJÔ˜L‚Ñda¦èa"^‡ gËÉ»Q΄dè§è‡ ‹qÍÑÏ!&>P®g––VnÄ÷Ï¿Ž8W¦™Ö•Gù׎­Q]@oÇcÑ>Šž®ŒÀ!—¼Ä‘RÔh¾Ïù& ó¸T“óäXYE#W7Â&µdX30üY_<^`×Þ‰Ú‚œ ¹80iÎså>¶ÛF'±ÄË݉ ˆ³-0¾Ý“Áõ¢æn8š  -B^¿ó;›t“ÁY“Sé/„x¨ ÃxHp~RÏ@Š¥Â^ü0 -4}÷<ý*¬‚?ÁA–ó€Ë—ö'%9»ºäKc$BJtÐнÔ2N} 8ÀY&ücÆ7,ýô&@úw­Z}¾‹½;ùÓ@ÌQ’®Ãs¦s’Ytb?ŒP81!ƒ5 ->KW°7ØþLÞB–µ¢£„­hÔ7ëÐbpÛ™®ˆÁÉöÏ"ø¬”$ª•ôîòÝ)£©H1àIy!†f¾@hòdâj(â¥4 -”Ü#MË:’Ǒċ7¦Pôw7´ôxð,ìK @G>93»°¸öæëà¼øºüâÓÊÙ%³¡>#^}[‡í¹'ñ†³Ä´Y÷{{>q«¢ó”¯ö!ˆÚáŽ%ïÒ%‡ÊĤ*ïQøVÊIÆr½ÙÊÃ)„z¶îÞ4sŠÇ!c¾.),¤¹b|’³JÖr³=ÝLbÖËß[ÉB@ž->Ó`E9&`74'ôìÑs9%»Àêˆ,2Ë2ÙÖöDó¤ÿ¹OÕÏÆFs£6s¼ïþ°æØ}Ô@á¡•¿o”[½4¬dÒ3P©–O|lÆI£ê`þ;›ÿz„M‹~–æAðDpsqªÇhþ÷Á­•¡2#ØÈ]ýXC@œë{>âdéUGÃDZŽ ³\}B:yÛóYÐ~HEƉN>žÆ”©<}1BÑKMF‰GR‡ †iϾB&÷Y…°ùŸR„‘(¼¥TO#™-÷u“ôÏŸƒ l§B½¶ÛÜÁ—áã‘ãúà /!ý"J¿q™©¢Àò”r? -r?£Ï„ñô³sà¨8F1íeL:`o˜f•º¯àCȉ=9’ãb…D+ˆq½ -Eܸ'€<ó¿*'sÀbP P~pIƒu¸ê¸”ÝØЂt7Ð ï- D, ôgP/3›¼@·Ìôì  N?6S>’ø@)ÀM$+zQ-bÀ yÆØö„Â貂ö¼ž£F4/4áúဨëÇÀ®Gp>Ã!XP  - -(¤ý -Àes\el |&˜”ñžb!™}¬PV’È%((]ÈÐÔÆ…Õ>~§ Ää™î©(ö’Þkš…cÃëÏܰœ{("=ìǘSÕÎý=!õÒ¾*ô]Ó¹h‚õt?Øþ°…Š=öõÔü ®óÅQ´ôCfã+ç>ûµßk­7ÝžY,ØΧÒQìe5¹^BCì…L&35e¬Ñ$|ùͶút2#+µÊÍ›[ÓS[à öŒŸNEŠ#(ž1F³¹c5'¸óX1N=tõ3G¨’ï:Îa©#Çœƒ9)©ªÕ«Œ(á)iŠÖ {°/½HñŠ1Ѻç8­ƉâU×Õ ˜[ˆÉ¡ÈAA§_ˆXÞ}är2ØyÁÑD„ï‘é§)A/Í*ÚÇo•±¹dhûúQµjÁFxTµbF—¿õÆô´Y_xÔ÷!Ù Pü–eè \ ‚ŒnGRq¯¦ aÜFý,DSB&Ô„¾Mc¢ö."âb‹P?6ËË«å© -èNØ0´e_8¦ÓqÊe nÖD*È¢]º6aõä›ï\›:еqíÆÍé:–<Ûïߪrl\$‰»~»3{ªû9Á±7„Ó £¡ÆPò!£½áëÅ\iÂX.0¹—+}+ó¾ê| Üþ–6>|dccÃïŸ/5ׇ¨GU°ãÿl×ç0ÀÛŽ›P)„ 0‡}Xú×toý>ú1 îåñL±Ä÷ï…îßL‹^R1êø"•ceñýäxqi¾DæHfÙÕÆe £LÊ^é*dêa“HÿÝâ‘§¡B–þ)„²à&aÐq¿Ï,˜KŸXÀ9ö:S%·\:Yì+—BÊð;½ -Xó™9z8£šXØ^ BV}Ró¨hÇ8dœ~¤jßß²ïw.=wA/)^оÀfož#±!™Y=†]ú%™kBÕ›ƒ –&ÿw–fF#•K©˜[Kæ?Uܧáß”•Ç0É)8!‡xS‚åP~öå‚Â5ì1£Õ¿—džùñe9AÒŸ+;QîOª `ÏüÉÙÈØ ßCéCÓ)Lï –S<9DÇâ‡áÿð ü0%i›—éšGeŒ1÷ÔÓJñð#{‰¼ÊxÊ -E ,£LÅILE‰Ú›È}0µ$°•{1è€Þ΀“(•#„™OÕƒ8ÿññV2ª´l¹ƒ%Ä‘gÌdœé”ðà7TY`~ÁÆ/Vr½ë<ÿÁøH¤K /ƒ2½˜J -dêAÖu ¤ûÖ*ìÕÉ’’1¡ƒR 2駨[)62ÍïAÈ­Eó_õ¥ÀËÔ MÏ;êá§²Ú2ÛÇÖ‰&8HúûŽ£Sø»±¼\››ïv¶šk7Î_pZ-·ÝZzþ'–¿õ͉£SóŸÛºuÕ“sí´Â'?š·×²ƒúùK`y€È äòÙ -þxJãjk}R¯Låø© Uj„ÊR«çÙ…•ȈÖ©lÛû^œ¥ÊñÅ'fW¾¿þÿöÿ ÌÇw`ÂR3ð¥yks«³Õ¹pñìYöt}ßÝô§‰:[9žïwÁëÜ¥°Ïî@7ä 2[h‚…Íd¼ч!ö‹¦¦«ÝÚ²ïu.»€‰Ù\y;˜ÿz.UÎÔ.¬a &þ8¢Û†yéÏ2+è‚X±³ÈIcu•uK—d´·“X<•jÙšÔX*Ziƒçð+°Á -‡U —‘XÎ(h¸hG’5¤ÔÀHF•lR¯ÀM·³Y;Yc`õ -R¥†!¬Qfÿ$Õ–…8¦ìÔ¸äw#iL rhø,ý±Ç3ŽY¸£Œ¦œ -ÜRŠïnÀžÍð峯ÀˆˆFðäjIRÖ”´, ->Ö -¦¦ýÄ„|I€œ‰¤¤}2‘'ø(ûˆË:ö:(")ƒ½ž7ÌW£¤jüb3'r’3$~p7Y"ý‰SÁd”¡lŒ$ÓÓ$÷ÑöO9èÕ}Š´ø"± ‡Ð/Ii;€ÑœÕÃùHc`<û " “ÃÒŸM -˜èð «,;¹ËúãiFÑnœ¡è÷]œóp'gNê úñ=Û¡·=€ÈóŸÛu9²C=RÆ¡äŽùÏ -¤^0‚Á¥wvX˜Òľ´§ôr¶<{ʤIÜçûû/²„¡ïøÚä@¥úÇAе N€…¡mƒ£’|xŠ~KwZ®B©»eWª•î§¹ÞXøÄìÁXXZZ%*ï«W¯9^š©®6•ú°"¢Tžò:Ђ*÷ËXÒ×¹¿ñÆ«|ðýï~tÀòkÈs«Ä’ý~ÒtËÞÛ6PÑ ,–¢N­Zàxý2耥§/Uvˆ¡‰å©QýòcŽÿ_H‘šÿAR!¸ôï;ñêïù…yýªÀaÈR5ÍÕ»)ËJ-å\+éz/”ñ‚ïE`–D»iïh¹¥Äh¬Û ƒxöc&@’*Õ©Å'ÉÃK¥?¨„­ÖýJ-I3Ÿ—ãùpö8—¬`¦¤?ÓY‹kZ-©Ò`ØÍŽ! fu‰1\Éõf9}¾v«³š†€å{¹K™ê$‘f³0ê•rH€é§kÿŬ8…\¨H4¡ºóõon€=5 -€è¯¥ûû²Á’t,¦Aú“‰V?Yåd,¥2‚ÛŽrâý):ˆÈʮаÓd»Ê¾*^óÜå›U¡€$ )œ’|!Ùþ‚t@8†ßÏ86ùy‰¹˜4ýf¿»íôÁÀy¾JÕ´[®ï ×cçSÖÌÊÇŠn êÅÞÈzd @qÐHBÊtò¬÷ #rEYî‹ 4—ß›dØGúO_dïß9ÔCm¬lð³/Ì(”¶?O†êôh'IÍÊ;Cp'9ø#p’ûà dž“7¦7wbù - vÜj¬y­–wæÉØÛ÷1ÓÉ: ›ÿ9´¨ýO‘d¿9’‘3Ȥ¡)|¿¦Šrµê}èÀý ý[µ³Õb×Ìs:†UvûÉËa¬Ðzïó³¯.¿U_Xt¶lwÓ^¸øÜÍï]ç?y±ýæf0S_:4Ö5£b­z¶]žžSÂùÞeèçZ¡ÐíØŽ¾Ý¼vÍio8íÆÚ›xÞΫI´§ÕnäÊÓ¸H -“0ƒ†,’¡‡+° „ïL™ÞÚDûôÔü\•˜›÷mä=àlÖ49Ow>Xõï®V?¶¯¹m×8ZiÝkììú–Z”¬\3‚]GÇʃ^_Ñ}ürI%L˜BÌp¤°þÕ´"6"â„ìú²—q¼Ø§ˆ9Û)`H°Ä„‰ÞõqÆMä§øMh:{”Ã!uÌG};îë¨Ë¥°ï»®:njãVoω|\4PÒ1ÝáAÄ4jI™ VkhzÔ‹`õ‚@”©cc"4ïÕq]×a_(â+Ìd„~)…>ƒX¼òûo,.ÕÝn«2mµš÷û]ë(å„ àeb”_*H: ô4½mðc“Ð^aÒàÅ"æ"£"U(ÒnØlQÂa¿Å°1óÜ®|¿±øX]-¢åOaöx¾7iOO¸Ëã½Aïaþ‰]cÂg´Ë¢*° “¥X£†Á@H‰ïijP©UíÎÿee ˼pêDëÖºª‰ÀíÎ×g6&ä^ЛÐÕNÇS­—<)臌 †˜Û¤ ‚B@—C¶¹„ršíb½c½#XÐuigLr7=gË;sñQ½¤€œ¢B<·Kب Q"^Ëñ¬Y)‹Y/zT-£¨R ZÑ4µÛ¨ö´¢osOö")Lû>wÛ¯`jE)0;Ì>40%8ÚÆ…` úI0‰–à„ÇxΠQŸàø2aY?@Dý>¦5øº°ÒƸ®”¬:ùö‘€ÜÑîìÆ]nCç°½+˜ä øÊ˜¡ô©x”Aj\¦Èiy}²Ä5Qð •£Õ¦¥µî9Ó*#߃éíbÞxÀ5øR$"º"Ìu¨¹ào”†â|¾˜[Ø–•`RöWª2sLFsŸØ ²ñÂhîÑ „Õ¦$ôrQH{¨ ÕIÙsüx7R§Ì=ªº,’R‹@ çs#Àå–ÎÿÂ8ñ± œ6¢8`c¬¦Ó%ðWœ-›ì¦TQJ¤MXú¡2—{dÒˆiM¹&¬ÃåV­'³\­àïøúB{ÂýWëFÙ4[ï5Žž¬om¶`›_8³qû&HÿGÏ^€ƒ©™SÓ'?¶üÚ7«õ9sªâlÚ&ÙG=ª6±è¸ÓL,YPæôŒÛÞXþépÀ¯/¿úMY×ìfãò¿Divî€É±>àÁ¨mæQl¹â2J«R£‰ÐüPÕ\é%͸2½_8íߟôaøëüi½ûo0œÙð486 ó{ ͇ÔöIdq/é»®OÎOƒ‚•jvKž)ñ%ë:É_ „ ›²ôÇA "¦ Ös×È%û¤羫ÏЬƒ‹º”&¯l¿ÉŸ Pè$±”ÕÅb š°è,÷…lgÿÍX¼o’tpÙ(H÷¾W¼{XöX}@!+‚ %+&ŒuËò‡Ë3¥ˆr‰Ã[GEß ‘7ÊÞt±sõ±¡_h·Ìbýcà>¤ì"ÊP•[ma¯ÑbŸÍȼÿ†e;ê„Ê=…Qxó3gë ýa£#s.¹ê_ð³‘Ï?ÜOŠ”òɇES]/Šþ0pâ~Eÿ ăn°hjï¶êæÁÕh\›„•t9)š |„=b»Q~þç?»§‡¯üSbl¥¸½˜Jý €3óBÓ $-lÒ?u$©24OÁÆx©wÞƒ}«±,_Áï-ÔX]yø$´Én -øú!‹ãé"Õê ýñ?Oq¾‚€+8pdZ‡x;‘ãÚø -vn¾u¥s/}gQð9€&¨W«`þ“7ϤÓBUTM£Ïà¸ØÕ,™Ü2Ëó»wó - 9aX`Ø P-t[ßY-Fèöd.øƒÔÔKA¸_æ’&H~ ±SÒ×o¾Ó˜¦¸˜ÿ‚,öFÎt—¬Qó6&²˜¢¨çƒŸõ^ù/kìí‚s(²b–LþyAï¾5iéB‡ƒx‹)$%Áü'ø°†ÝvÎ?» JþÈì­^Âäao§Žß‰ #Ôü™$”¬&xMÕp¬#ÍI¦ï¤b›Êsñ±‘7»íUO[œa†=—úñ÷s«Qò>‰¨ŠúÃl!w_ƒ@éO:qø¹î -/GR®´Úöê{ç‰4A …wb,„S‚[Pâ.ߊ•Çá’¿¬ÚªÙ´;MÏ"æNطڧʸM,¯•‘Û‘C<14Œ&» ßc9(ÈjE¨Z%œÇu4²‡à@§­ Í3L§ëaéö°)lßé¯N¢M¢1g)©O¸˜ 4Š b!ÆÊÈ$ÌL'—’G>K¼{¦ òžqß$„éÅ˼³èäÛ<ÌW/¥à¹ç•;)_1ÒeØA×ßj<,ýÃ\R$Á“(ËÁÅžôÛ8›ûYn€J'ÁNB]Ns©/ Ξjpk#ø+ ל¤gƒÑß7àºÕl­qƒmœ^‡t`$•²>PÀj÷'Ô^&¤‚‡5.Ÿž W‘š%l ¼¾Ú8³P· ½EâÕZ"º³2ë"w - •U«S¬r4½i3¸¿Meòï%F1Øþ‹¦[b´Ëô`>UAÎÏ#ö¸þ·L„sùrÃ|­úH)äCìä»^á»›mÇnÓ®ÓNÐ`ʇ+™èw©þ½v -cÄñ`øÙé*!Ô´[/<ÿ·7½©cÈ÷R>6ËöûKŸý |çiTu¿A -À "-]ÆrjÔøT8-Èüønd#D4?á Jq2†¡ˆ,ül¸‚8ë%Éüæ¤åøwQù‰KˆçÀt©ºF–}ô2«Š^襺½]ªï*øXqEpȱ ‘6µÑw¢hÎ#8Š4 -Ä -@M낸†Ä\L1úBáÊr£2'jD?8ìðGØz„g@Z¤PÆ@A´MÏÉÀñE(ÊIZh`þ_~íú¥g‡‰™Å¥V,,¤1´ôMKÍä…‚S<²Ìt5&1˜ÒPRñ†¢4 ¶˜‚G }êŒHs? Ì©’Ä™#²Îp$û¦~(^ð,ÝøV1[Ûy4©…×­#Vc'[}aFÔý´a›K}’šŸq´Ø PÇAiçb^ êz5ÀÇ Dj01âLU{}9Γè¥I8à1lN&Ô|-Z›dy)âÍ×o>¥Kƒ·òQ/­ñ~`’ªGTçâYaš¡ú;‘>!kiÇ8¡]g»è‡2Õ‡ˆ2+˜nñ¯_¹ÑrÝ ŸZbZ¾ÏT›|XëÉvåvWÄÀ™`«½H/ÉÚ$â/•ø*ë&‡áb=p–¨ÿ€[™üºu7ñ$Iµ?ÀcØ»î°>/ΙȾ“ôâ‚sй‹"¾râ´}÷–Uqê§™°ô™¹êŸ  ¹'Ͻü»¿Ï~éÙKüºK ´Z©DWTs¨”÷ç©”bi²Õâv¬!é.ü+ä*@AîónTâpÍÝ´­c³dà§I)Ø€‹Þõ ÈüƯ˜$öÁü‘eÃ&d‰c6p/¤&@&ýù —J4” -’F°¬Aè‹\£ -ŒnOÔ€©©Õq¼' ò4*&q!]€²+šrß…½Tp9I [ÑN‚½Ž§ a‚I%f‰¨W8‚OÈí3‰éŸýÖüöfU’HpÁÕÆxä,( ¢¿–YýxÝßñýžÏ×üëÈ ƒ Ø÷ïœK×¹/›†1}´²ôøêa«iWÕ{¹¸M>òÃÅiŽïWËå¦Mˆ úÐÄ&ðœÁ0g@cãºÀœ=×¼ëgö–Ä -÷}Ò_ŒÐÚ¤œ¯££M°yÌWH+ã0žgíT%¼3üT -‡ìËA`u¢[¢*ø,ôîÆ\$QÑ65î€Ò+dT`up²d=Ê]N€$5ˆt$ýJÄÐC"ªâI‰Ô‰K….±Hêy@”SO™ÿxiÉI‚€ÒŠ b„ IÂeE¸^(o„L œ -Ky‘ƒZm»d¯ïpÚÜ)­ÉC·•ñ_o¾³¿ -Üñ\Ë884Ÿ/²2S¸0ûÁ(ïÞ7fOîý~Ô0Òßj·‡¥˜õ“&w¸.û÷r$Õ¢‚<¼ìnÇ—Õ4ñ „b™ºC•£v§ÛâÜÜÃ?šÍÿââ'/ -º¡ïÝbó_ <ÖHöÀ{à°²Ïe†QX`ûg‘"<«ž/tŠÁ—wŒ‰2lp|'…¹Ã äšBmR»ü­s%SèæZ¤?WI²ž : -%«§ÎÜYÀÍDv³ ݧŸæÒìÐùƒÑqƒ˜i!U¬0Dû¾½üÎJ^œ9·hYCyŠ cñ€ƒu‰*P*z¾¢Ÿu€ŠL˜–‰ y*˜Ëîus#lÝJðN«'®}—êètlA -¤¿û 4qç“e]S0D“Š9,#}BÁîP=ÎЂúɪZR›Äß j`ʳ2^o%gx177ÇrkÖ0íFhPuµ2ެkp©YObþ“ÜϤ|Mið$ðê'°Q?äÚPz^ þp ÊB¤šŒ"‡Ô†–Vª$f«Œ"´[©MŸ~5„ùSià1ˆ·].ÃgŠ1¦šAÔ†CgŽÙ¯À5  È î¦Á¶?7ÄÍ}yþñùu€7éxpÌCåŽs0pP¯ãoÍΞ^_Ç(ÅÜ#§|ÿ3<Ï7 Ýëb¯zíD Àòrsi©Ö¸ãš&¸ê*ô‚XS•VÛ±rßÞôA7ÀÞï†õ¹JcÍ0÷xÕ¦fÌʬÙhØ®ÉÝd~¥\æmemmnáôüÇOñïæçÑNc/vó®ýÁP¼Ú»MfMÀ! f‚E£96³Kãò¶×׳(PÆ’:0´é“õåï\®ž¨/=óBî’“¥´~z®ñƒµÚÇæ“W¹2§6¢3ÁPôý%´ÿ›ÿ7B‰Åÿ}Xd\€Ðé©þ w}yü€ÓÀÚ:’G$ž”,*R;4æ£ØÁƒ[ê¡S°ÏLÄ "ÛŸŒ©HReX¾È¬ $•, 9”Ñr+½ x ëpÀ¶Y¸GD ÙY1ë¼3J=8ˆ¹V½ïÂf•ê Z›Ë dk“’‹E»LÓ3©ÍÒŸE?¢ó“ÀÊÞv¤?:„Y4U6Aô³À¨8~àÃûAR¦-~3½ñAâAbu|× ’ œœÿŠÿˆ”•<€ÖýL§ë×V.<³`•-‡~7“’ HÖpÈí -ˆþZ¥²P¯ƒ&è|ˆßµ%Š´_ä>›ÿ"Çð·q7ÖŠ¢vߌ®€ªd -À,‹ú¬n¢ä…€@úƒ`NªI”&s²Ç,©ìå˜GLÐ úu,Š‚Åßb¶Õ7ùÈS°©Ù¾Fæ "åÆgÁ,!x Ã,H„Þ£*û®`w¸^ UÖaÓ© úñ ‡Ôz½b‘ ›¥?¾¿\^[EuÅ: ?ÿ‹o}÷Õá/ÂÆÍÄZ¬Ÿ~Ô4áþ˜ž‹áúcIz-Øö²Â×_þ?þèéÏ¡!ÿ¸ja>ÖsÔqU%+Õ:2ìôÀàj"Éš¦:–0‹P4;ü§ (Jïìv³l;çI]]ôýÚ0 -á@Q&3E® FXÿ‚d»XÜÂ)JÄ›÷»lºÂG¤ „ÈN×ëÀ¤²D©„(£»A¸»]HíPøœa–JgX¬p©>‚‹ÁÁù]i€õoL)ÆAVÕ€¾˜Ó‹%ÉÙU‰N»¨ê{1VþøHt §pÓ`zG])Éœ‘Æ(Ø2>ì’‡‹òz®H\ŽE`O0ËÑfDF!QЕ’<.a¯zÌêú= ‹…C.† IDATõ¬[¸Ÿq¬F1×è1UÂxQKÅoÉÙv’~,(tP‰£°¶µq3)¨B #¿Ô#08/¼ ¡Pðv\î‘@Ðì„) )uàÆÄÄ!ué©…¶˜üLÕ@Ä_‡™€\X·'qõˆèõÂA®’ŠðEÔD¿8 >…TG±6¡ *û["Äó˜háò+GgƒÚÚìqà«ja¢8àæÛ4Œƒ˜ˆ9vjN¨Ø$ôóÊ݆ýë¿þÏ^ú]¬5ÿÅÿôÿåoÿιO=U=wö¿þµ_úÒ/ûµ¯¿ôåôe³d®|€çz›7ŧ.á^ˆ ‹gà÷Ï<¾47;óæuQ­¬²¡úÈÌÛOÀÁ'žZUân;>¹0}Øjm5ÿĺÏÎéú¼}ÙÛ=ÁƒR¾Û1TݨO¯¿×©Rè»}Ïѳզ2w³ ýÑÃxEëwÉ #ÎN<ßKbGëk.,ìÖ=Ÿ™Óã~Ý*NÇGZ—Ýtpëž=FQ\¬+‰ãâü“çÊÇ’Ãìöƒè4×k”P-¹nó½V¥êPõ$Kÿ|˜Ì¾×¬«µ7“ض?ìxf–@¦¢:>=@Tabp´À ŠÁmWäx±©ç½Õj‡0úÌb4ŽÚ$ï‡Gáe°T7-X‹È]ˆ¤ê½?ènÙÙùdÁ^MIw­©Š³e³’Ü{fŽBöo*ŠÔë%€ºÙP'ªao$ˆiy$UÓç.A t‚ÚùXp+†à8;±_áù“ôwˆw>Þ“tã€`(ßÏü“>í=˜¦j@d &Ø$—p>IHß otõÈ™Ö&6T íÇrÂd°gÓ¸$­½cÏ=žÜÃ5¤ wÏ_Lö3&¸H$ô#$×d4­JâQ ƒ´x¤¿Bhš*âÊtY¢Ñ¸Æ×¥¿ý¹ì#ŸYl´öcCñh~ЮOj@²lmº Gîº_M®¤ÿ•ïì÷¥@¤$Þz{ùì“Kÿô×åÕ‹_ÌþšHRÔÕx¯×ç©S{ à`ãN¸ùÓD ì}è0ÍÛÍr½¼Iû£IoÁÜãó`ÕH²Å1å·‰· ¿2ÈåÛ,’7îƒQìÀÓ0L÷°¶Xú×g+¼ÄÍrÉéxKg«Ç*ÌV5$aT̤ç^3ì:õyŒ¢Â^U$°ýÁè:#Ë1i=ŸÕˆþüŸ²‚§€dÈP¤XKºs°èOÍÿ¡ôß'¶Œ2—ï´7æ?¢œa* -ż@# Fâ×å£3¸5!Š\“@ð³Är4ªQE?nº®•F²F½YTþ3‘XÜÃH€s-Øiô£ÝwÉõ#ýh|X¬ {Iмß0ŒÆ¤J¹Â\"fa8n’wþ¨Ïè{Q^ € rò4G¾z¤?èÇwÀ©°&-p0O1.&óÑj’À긌Ñ-ÊYGŒO.c„mä:œ.N -Ô`þ¹an¡‚€ešK0ÈÖJFéGû6[œmDiÑ‹\àâzþ8Höd9DV¯c(¶þÈé•åDb~í»|á9\„×ÿjù̧–Àü_y·ÁDçë­sŸ^ºö—Ëpð…Ÿ}áæ»Ží\xö̵﮳xåë uró5-5z¦ÿ©³è?÷lâðH@‰svLónë0ÿYúÃAí®;þ ÖÞMÂÕ×õ¤|´|•è‹eMeþzØoÜm--¥y{ýù“a5Goe÷âÿÅhµ×ÍÈ~аµè©1a§E8×W—Ï,,­oÜ™>7W[[kFý v¼¶º² -{C7Vÿzµv²f˜ÆÕ+ËðèYO,=ºÑ´›ö¹s‹o|%f}¡ÞXmè%cn¡võÊêù‹ ®ãÞ\m\¸ˆxeyíÒóçaÇóÕßxíz¹báÁw휀Æ{v½ŽRèæjúëÜs瞬ƒó¿.j°ÇwZ•©£˜ÿà¼å£øðæ›oþÙË‘]òO Ð °úv!{=ÈW-Žb|-¿sýá[·øøÙìØ°†9ÔS'“¹:`‘¬"þ•£àØ×²÷øA"ôËSå|…do» - N1}­H2Š"ùà'³ô¯Ÿšw¶qþÔғΆV3Aôƒà–»Ëo­´U@ Tÿ>ƒq¡ ×5›*†'Ä‚2ÅÆN€Ý´±Qdþ•cÃpçÛ¾áÓ`f«^o?‚PzñHÈI©!(Eæ”§gòE?dH˜fùE„†«ÙDšº0èÉQ]Ë4¢~ÈN€ù˜Cyë Ÿ$D‚|bPp'¨1I0OLf$…pÉìEX((ðñ®ã‚íÏè–QN¡;~H-æ°‘7•þàÄ{{îfÀ= "×ý8”þi\žEs§uœŠV+„ý,øKgŽ|>pþA°ëha¡'R3<Ì•{Ã{½wŸÈ~ˆ:¿|tø@Ë„_ÖI[u¸’G•¬)‘é–@ú£ ¹ì‡ò j™aVBR¤6Ò:Ql"ÅN@ö‹³'’g„Àú4* ¤¿½éÎÌVAô $«ÞL…/ˆ˜éYœ€öúö -œç>’&ðF®=й„FdEé¸Fžè€Îƒ¤8¢zÔáÐÊÛ×ÌØ¹¿? :`ûßh4ëõÚòòª(ªõ™jc£šÀ8¤µî´ª'«à€Ç³ðñz³i{]éühð3žZh¼‹†Zý±Úòk«fͬ·–WZK‹U× Û9óì™Æ» û/<ÿÅåeDjóyùÍU>X½Ý¬¯˜‡ôÆö™GÑöÏr§dþãò÷x ú÷3ãÖuÈU…çÎÒöµ&® lÚZmÀ>ØW¯à;Ap}3èþ†Ëߺš=üÛyÃv0>Žæ?ƾYô—§ô7®4œ÷êË :ëõ·ðüA´^]fé/HôÃÌ8h53Ožó^¹pî Hÿ_ù/~YìçÆÈÍð<zžK£¸_†ðX½q½þÁa½ß˜¦.Úkoáåá/@úÃ>áY¦á¸¸§ _›_˜ƒý`/®ÏÕk §ã.|böú_ãÉ×OVnÞnL&Ôgk®³ -À:|lÿfÃ^Xª¯.7àü—>Qo3Ò£šµ¦x¨(F[ ×QL‚;Þ‹WßZí匌ò1»C•¬åÃÆN×+Oþ”×ÙêªäöVŽšán’Ñ<’ÜEy[uÚ˜:9]ó¶áûq¢ |U‰³H¦ôf/QK,Щi… &ÐUBÖilð}¯\©HÛ²ß÷u…nÔ²@IÑp ¡öKxæ¸Ó‘T»gq–;ncÅ9ÿ,.XŸ·o´íûÎ¥çÎ(cÁPQ1Y 6:v0Åó• -ˆƒˆccˆ4™ç4å!@G„qšÀOðˆ”„Jžð–ß¾¶ôä¹úñÙko­\{ý–"©×¯ 8˜©U¯ßXæ;y÷v öƒ1ñw—™§ÌÝò2Ìוn¬ÔaŒô©lötÃBCÏa´úÉúÏýÔ%7h-=µ°ÞÞú“—_?u¢w¯@ÊZ:5qûA?Yl'f+玽Š<™Ì«Ö=üÞê±òÆF‡nÙz»{g—–wÛÓ“ÓΑB»e[“ukÒ/F©¸òäÜô™)æëàšÚÛÀs#¢ Á7p8¶«ZªÛ –;(g›mŸeô¯¢„µ~íêÍ6õêk(=ÛÛ^{ßÐ 9[™¶®/&®aÂç90iþèß\®Õ*Î}çÖå)kå{+‚®ËùÄ[„•µ±‘ÈÊk‰ºyñ±8¨V…O,¶Û¶u¤:¬ã$‘jõDvKTk(|wz×¶Á,ÒT´QJ«3NŒòœr*ÁCCÛ´þµŒwéÚ_ÿÅÓçÏJ’û‡ü[/>û…—_ûÆÕï½ò«¿üÕ—_ùøë‹/üýßþͯœ>½øÙçæËÿÍ?xñ³—æOÕÿù¿xéËÿå—Öï¬_yíÊá‹/ÿéŸÜ¼¹òåøÕ—ÿô¼Aü«¿ð•ÿñ_}uîäÂÅó?ñÏÿû¯¼øS?3¿°øµ?xéWåËð…o¾ýú/ýìÏ¿ñæëkë֔ʼ³3ã†v0'Ø«]Å.Ü ˜:ö`Ì…Ú Z%PK°î1wsæ6y}\•ÃýŠWÜï@€‡“^cXŸÁé"ßÏØÍÒ$–0~(lg娬}o·fb`Úi -K¢oFi«iHEÓÛ {„?î<°ó7èÓözTªšYµSµÙ#'20Ë(L ¡A ƒXûµ24’/G!­ÍœnÜj6nSãèüðr*9”Ag?ÚôªõÒS3?ë¡ÅøûnÜÛíqÄ/KÛøm“?ö,ýñ{6ý'žD<^.ObÄ$…Á0°Q^áz>­ˆ+œ¿V×àö°y;Û\ŠšTÊ’2àJ$Èdz…¬3þÕc3ßyÁÏ]ܸg׎ë3Ôû^kNÃÑß±J°WX™õÞétNÏ'Ñ¿Wþ¸eè~%Y&ü î7ŽvUÆ -5Àyš?ò“/â(€ü­V)ÃgãòköÏý•Fƒ*…êê7_½|†ŠV¯¿³ræ‰'Z­-ÐgÄüÅ Ï_¼põʽ@½ô·@´.WŒÅr«m·¾EÀ‚"hnàƒ&î3Ò¸T5{¼zåê2ìa[¾†Á“j­ÜB@Íí{Îô1ëÎm‡f…a·½}ÐYÍv«ÆØˆ 3…vÏ·&†Z«Yͦ†slf÷ós‘²åÌ/Ô{9:CÐà•£†Myoc¢bÛn¥bŠwÅÒ^xµJ³»ÙÑ{5Æcðb«eÃ>ˆzÛ-WLØ»Áâãõ•w jGLðE@ëƒ_²ÞNXC6™z¬{³Y?¹Ðl6Aú/||aõhT}áóŸßhƒÕo¼ùƯ¢­/nÞY}Q0@úóÁ|J   ýEZÝ?÷ñEØø J”P Hø_þG_å–þø'*v¿ðÔÓWßzÔÀL -èôèéºßÅ{µ°ˆm:ƒ½º> îiåˆYG"„ -ÕÿttÍ©d êzæç £ØSeœ¢½° +d¸ëºÀÈg[]Ç·¨•›!¾¿:@P- ÷7Àâ-šâ}*²Âø -\ÅšÀ4-×u¸­·½~{z–Jˆ¨ç û&²’Á‘†#š õd;ãº=uŸR ˜¹á@˘( fš h·ò: ùòݹìaé¢Éç¨än/„„m/Ñ Ì±öÐÈ;ªfn¼¿Æ›5=½òÖþ 54RAšØPÑ­qA€€¯ä» -ªÛ:T©Ï.^ÿ›ËZ€p —)1‘¢Wªh,QQ†5¬L­L—ƒíB™’þâTM%ìÃÎFuýÝaúú6šrë·[³HʸQ?…ëünh3ø1#ŸÒжÒüZ°O+ÕDðÕfrœ½¤$XúWÊuÇõsŽ #•²ŒÎ"~Y( ¬Ú ?gí];ëH.ŠŒ¸Þ6ÁW„(–þÌ %m|„.Ù¡Š²|68ëH€WTTÃKk“!R%بjw„ýÆýÆF³uíZbþo9]tªn7Á¬Y:—,rE•nÝDðí?½yc5f r™§$e=ÞüÜß¾È,úA ¼ñú­’‘œ?Ãodp{Ùxéi_zÖé§šÖL³¨V1÷ jlÿò‘©ÎVd)™õÓÖ¡êt;5&Ô\¸Ïïн­ ÄÏ/­Ðà,l5; ðkï¹Õc&\zþQý‚ 2gbiiæ•oÝ8·t¤ÿµåë3 }§aÙõSppéù3+Ë„ét±Òßó‚……êµk·@úƒùíÚ -+€­Mœ€ö½h²þÎùå·ÖÇ¿ôœ±ò>š ŸªØ›ÉDæ?ìAܹƒçpþìÂÚí¦J¥ -ËË+pvƒA|óÝÆ¼ åvßÉ P/Ðuü<º´dX#yã’‘ä?jµZ0!öIÿ Oa5ÎüÉ…ù_ø -ê€g¿`šø+/þ;?ÃïÛö·n­€ùϯÀÁ:Ýü‹ÏâsŸŸO5Äüâ4}Ì¥±šÑÏI*„Z2*Þ»ëÙ~à‚Ù¤§¥%L†#¨&AžáÀu¬|ß1D8~šR -£v^è3… é/°t*ùÓÔôH-,‘TGE×q9Ì:ÔHšÿdûkÓÓU×É~8Ÿ˜ÌöëXœ*i•x´’'ÏÊÓüS¦êåÜ¿MËPs’ —ÆÜ¿ûî¡|C°=²Þj˜€ Œ4€"Ñæ*dã+ÕÓ§ÝMÛGaªâ¥ôß3Ìé„ä·xö"*€L7]…û`[å -—Á7qÐ_R•6®°¢"#J¥‚Z0M|x€@¢Pô\k1{z:;ˆƒI>¾ôÙsBŠì”(»Qv;¹?M¯c{½žËlV –¯›ø@5—+•)ò–òÒßu¦ÐYª“/‡é<‹ûçCÇöÅcéåÜwÀ|»ôœ%ƨAÞfB/ éû*á ²áŸ‡OYÏ&?÷!gcû’@é¶1]Åé¶ÿ9Ú7[mP‚¢@³$¥^Wßo._[©Ö* :Ó[µÙàu DÚSF•SædÃë™)‹ˆHQq²Ñ¸ìSÙ`g¹®#SåÒáÆÝvýD¶×^[™&“äã¹óOl|Ðóÿó?ý…׿» -¢ÿÒs—VÞY)™ˆþ»mØ—N¶7orùíuq6©,|d®j·<Р Z¤ ¦i¿ÑBóœV¿/Rñ¯ÍNC"dÁü©íŸ?˜§|ïô±2l `_;RÛ[|x'©7–r*ª9yÕÅø”×In®u¤|g¢Y³,Ëq¸‹Þ‡.¨2J¨vhÒ¹Är}~± j¹)cý°G=ôAÏå¸$¼_µªÈ÷ÓëÂF篦4Æ"ˆ£`'ªN•§”5ÊÁzöÊQÅ+Œ—0«GÔ®‰˜†ADÍ·Al¦v®g{!k¯ç)2WX#Å cy/Ò²&—¢Âf‘1¡­“’˜:jhã’i–«SÓ×ÞÆ–ŽÙ…Êʵ›•™©¥…ºÛIMÂfG-Î0­• X`Ø¿þ:žyæ‰Ûï¯Ã&HU L奥9µ¤²ÆX_Ä})qEûI™/"¨a¡€ì©à–-=Y·& tÃ쉺ªéž¾£‘uÌôË|ÓdIÑ©=Ñ‹‘ŠGêõ½¸Q¡<®c¬(Üö»ØŽ«è¥¸µø+¢ï«ªÉqön·­OJ§çNhàaíTMº;ISÚø«V¥j‚äfû2wEùݨlêe³¾òn£|³Q!Åpí*Ì„j§`g±a•T›w -j4–åÂA‚;ŸÿÉçR(CkõƵ_û¯¾Z>¬ÿÉï¿lÌ%Vw;Ä™~橮 h¬Ù ~J ÅЬ1Èúñ( ÀT¦%7nûkÝå*y37«º¡ˆ Ó˜=©x»-ÅŒëfuõö›ú}¡6× œ…3s¢ ÙÛ[õ£ zÁÂ㉨úÜ gÀ-«XÖÑŠåØÞ©zL—F£5÷ñŠT”@Ð/,VÁà[ߺ{þü·»*UóˆÎÆÓÒ¹ÓAÖN”U‰"ç뫬¶–~XƒZ†‹dBÂÉI±Y2Ü.±0×&!ëÅc‰fS5ussÃàVŽ£>H2qÞb[*£™hJou½ÙQÉuÝÂ^¬*R¥I¹‹Þ` )ká®O}yTÖŒ”Š -aÃaǾAªãººÌ=Q±[( -¤½ÁųŸ2&ËÕé ïÁ”VdðàYOÔ›”£,+Ýí-¦&ä …®[æd=‹p`½_±y«§†‹ï»ª¤²‹ŒÖ …7Å¡ù¹C¥¨n -L])õHúÁJ/(…ˆÖ#2^ ›2èJA-ª±¤‰V’ì¾$4é~G¡‚xà *B[Šc ä€*7Þ[…i¼E²¸ycíÂá¥Î–«Oš …°¬£P("wŠ4é?H; 8p¬âî2sý¦‰X»Õ»¾aåéZ§Ý„JV’ë÷hêTfBB’”©ªêåcÿÂ99˜î|t¯@•ú„§kIšˆ˜íæ]ÿ>ÈsÏ~öÀOåÄ3Þøã?ë)]-¿†Çý‹ÂûÙó€=ÌéA4ˆzÔD‰ôDšhßÇ«»ô\bÜ-rªÕáå b5+8Ë}PäDa8áÆ®ê1 ¶å·5*€æ”Ÿf!cÒâ5Rn#¦?(i‰di¡ÏÆqêòAúÝ CbÚá\²G (ÁüÏöí´“ˆrðõ#–m» ú7>8¸:ùáѼÓü¹ÿ§ÑHÇ•¿¼üktpæ“O½ô[¿óã¨Æí¶ê‰á1Ò :`X’ää3vÏCJHÖ@`f«´Rax´Kî¼KZ$Ã%L®`ä Ø”¡”d"̇‡®¤£ðÐu³ô×uSÄ !L/ì©ú°¢ $gÈœ‘ãÈ: ¢Ÿ1AÁDǹúaõ˜w¼œn `Ña m®½3kr ßaìÏ=”°u2f O~‘Öaó$2PL¸é˜Ç÷+XßÛû27L-Ö©êÌáã7>HX“`ïÃI ¢Ÿ¥?ðz½ƒÍ|>ëd]ü9Ún­ÆíÝÕ ª(+ËW |ý€D=ô{µ;·› ´aAî_ÃâÁt®änzöÄÒÓIÖ»D>ì°ô‹ž¤9è““Ÿ‹QÐlû¯¯HÏõìZm¿ôçóQ.g¹$ò˜-rîÔ]zrXšW©T.U.Ùv¢Z¸¥@Où¿X¬³è—rœXañ_ù#H€ú£‡4¶Ü<ÁÒŸå>›ÿ õÆ­oü[û¹Mcð‡D€”ƒ(ßxÐéŸç¤3—-!tÈ%÷ö™ÿ`ûó‹þåïa±oâòçã •R0DpÜœmæÒfªkÜ㸓B”TQŸ¨¿S|ø V6°g¬ÿl€¬S'q?H¹J¦î=¦¬¨×f· -,ENcÖŽ£å±±Ñ±?hp4A¡1H‘Hƒ?¬X”3Ö?¨0ÿ© - ¹¤¨÷J*¯"„n•¢”ã%ê{±`û3±0ÿ lÿü%°`ÿ8 -¤ÔöfÉΈťI<í òÀüß§DêäÉÝx "NˆQ }@6d ܨ~˜h\î#I³k1K‘Bü³@Ý#E>L·7c°ˆÓ`42›ú..üîļð4–¿¡rM¿¡ˆx“8â©I=‹åÛ= ûYÆè‹/ãìÜoi*b|ö{’Ð:vëöêÊÑé`® -,/ Ðô`Ò¿"­9t¥Eîx•cUØ«*(«M#84=ƒ=½ë`©ë‚.é^yÕÝlÁV9>K¸’ª9UµŽTuÓb–(êáÂR{ ù»UKQ¤ï_ývõÄ|}(™¦gª³õÙaÁv0ô.£ÄöZŒÜƒÄ­óªfDÜÚzh*ÉœPÕü Ú†%ƒ¥«Ä.[ƒ)¨cÝ=Å4Ç{1í{:=€ÚáU] ûÖ2äΘÀðΛ_ßÚj¨z%Œ\¤»+ðãP5T ”˜ë[$Yß E0Õ- -5X]]æTó °œ\ ç'Éðq}ôŠŠ4NÕ)ý Éñösã. ñ¬ÚP–MWͱ‚^2— -0Tþ¼´ ÔÏò2ªÏéiËóvâBLØ¡9¥2 µ¿këã•B!@ƪ~„¤~²*íIpÁ®'I=í+á6Ýlù¸ü­ëõ… -ܽ½Axw}½y{cá©G½½]?GÓ ²'4Äž -Æ=4PFщOÁ±ÔAº! "¯¶P*€D“{…­M÷ÖÚÝ Ïž‘¤éVûlð祧f_ùÖwøÜ¬É| ™»¶–HwïÆÙOâã‹ÃaJ0kÃãœ1ñÌ3Cfº+ß½ìô¸ÿöK?ÿ‚:ø]~ÝnßËÞ³rsØ›¥/¿r9ȵXæIHà¶_'ñ™¿uvÛ­õÎ¥®GZvŒ‹bð£Xæ»á‡ƒ]cX€"htE£€ <·½‰ qQÌ¢å Z÷Aš4ã½”p&Ç t5•£ÛQä±Vg-PIMJøÒKÑzaT2Aúw:¾“½.’,Kz¼±F@” X u§ãö¸X/GÐÕSÅgW™”ÜífWy!ÿåždPÙX6Tº-i$(Á(æø`Ý=ä4ˆ# …Û1븉—_¹J†pPÒ\þÎ˰ñù¿G6=æm·PG"Øi<È*Ç0ßi˜eXbaØ3žÔ“H‘Ô¬p{èÒñ•±ïHP*SAticTOî*Ÿ `žóHp<ÀbPŠ -R®Ž¡$†gFæÜ ÌsMâïKq€•r v$œy€-áC K‡$w+£0ƒDÆ! JߪS97.ȇŽÓò6äãÀÞ×\± çNA²r²ìB -AS­²†äºï&”Gmä‡Hÿl/0’sK|÷µ™S“—2Yºôï}Ñþ`€ª&ú4CF˯$LU©r]zæEP,Ô:)Ã0v Òû¹Ñ‰É¾µ‰ý -9IRõ#º­ÈñE>«\Y–ò(|¨æ$õǞ܈~u²Šøªf7°XÛwX¤(N×·J(ò`&_K ÀXß‚ÅHÂÛuñÄA3 Ó£\æbÄ2¡lûa‚𗲡qåîÃ'ÆHã =öžØ÷6ŽŸ¸žgÛôô~»&+ Ñ -à€ÚuôqK¤ă8k—5§tØþ ÿ"ÿp8)¸,JÜ€¢J!åN`ËTÖ5ªÖB?D A ž`FÊh!oÇv˜ÆsÏ= wë…çŸáÿŽÅÃç÷Óî¤ï}ÿì™…·®¯Âö?ÿ‹ÿúÂÅKÃóüh®‹¿øþþ—"Ú¿ô¥¯Àþóo˜µä:‡ Cðip@?2%Æü‘2r!› ¢3Œ޹8†TYZ¥@WF‰9ø–cz!é°0K`$R“öBô Jš·„<‚œc/˜¥6!¡8 sÈøôˆFi|~Åq]Æ5ÊTA¨!µ†Y¶¬² Ò?èEj:ÛK%µÛ¥5›ç¼Ü S“펯L2z(7Òaô7¦°ž0ƒ¶£s£ÜF ERÐ: è$R°wÁ(†!†qÈŸm~IùÑ€6v È&+ŒzʸÂHŽú2¦0–5<¹s)\š¢IòxúþÌz, ’Jè>— ô¤\+²»õvà %ôLmNo®%³ÈëbQ¤+Ž»ñqš'(˜qŒ ÿå -l,Œ êÁÎ ‰~3E#éO–>„÷PìLã]L#¯¼}ݾ·ܪzâôT¥6UÁDBêé/HîƒùÏoÓ-+ìõØ $ É!Lô‹´½žUøB§† ¶Po§Çj`ÛÛæ×Q¤ó ÃÜù’Íôiñ“½®'ö] ¨Öê×GîÕ¸l <°À2¥Â¼³ -KP]jÑd ÓjaEíÏìWb/Þ'ý§Ó0¼¬îäé0Ìá1œ_3ê5%˜ô -Z!û¾@ÅXD'@·|‘Äý]WG²!üž¨Ãóö© !·ýÈPú‡ ã0šÿü‹îCø·Ö$‡—åWÔ‹uM0ðšÿ}X©cÇDž^ÐÝí¹!¨Ô8ìlv§Ž˜óÕI$ãŸþ³_»zõ;ßüÖ_üöoücÕ;Éǭü¿ñ›¿÷+ÿùÏ¿q-ñnÿãÿì¿ûê?>ÿ÷òèå?bÀv7€ô×&TþÌô£c·¦Íb|Ó†pg½ü Dÿå-X˜„Ç@yú ý‚üëÐ~´îüp·ö댌î§v´ï¬˜ÿY”#«SÌ¿ÔwL0õ1¿ˆæàs¬“;|4d0ãÍjóúU´î[ w£×£¾ø8ƒ -8­å`;9UÚC¶»¼4ZQ’áI±paÝúÈ - 4>´ÁÙ`BvØàg/3™ÎæùGwÕÒÁ®XÆÈ—–q*e! ¥¥úò²`^Ì|œ¤?l¦RUdYˆš„)>”°m¬ÚK“(JóöÒ `éÏ¿Nì^ -Ë#ƒ£&aAÉ=‘Þ«(*Ñî^¢!ð,!¥½úŒåùÆk×çGyáÁüð¥_ù'¬²†?HÿsŸDý ¶öúö|þ/|í÷ëÀk32ØtÐý •Á`À¢ñÁrÍÃS¤ŠøþX¥…$ óžïX#*MI‘¬Ð#%v<…Œô°ïÁ¬Œ¶B†A†¡PrŠE킵ª`#ü—’g¹<ˆ6ÕÌa=\AÒ{iäÁ…ÅdÀ‰¿Ù6ÑÉ€[Ý€™:ìµ×mñ·_=u}—cÔÈ3u¸<;W‹©|û’¼(Ƥ[EHÑ ,nFã8êõ»¸Ø|ôšcÒI`y¹ìÂ+[,É'¨%V*Õ -ö>°ÅÐ n?ËE€†ªPñ\ŠF "èèL+…éð¬˜'ó¡æžÂçÞ{„d¬î±%0ˆâ~œëÁw0åãynÅzDõ×ð³x‡ÄŸfár0—æ¢P?,–ŽÕçâXyãéby$BVŠHö”p‘»Ž F¡-…ŒA¢àÙÅpà »ýMs -V> -.£¨3ŒG†îPÉ““§lÍa«ÂüBë]Ë<ó'ü¿ùW¾ôå_ùõ…§e|yùz£þìoþ«_{á……wß]…‘D"bª\\xaáëùzé/Ÿú?úßý—œgý1Á p[O·®æÒë¾Gd ÿÆlü\ïb¿HbZÁ8xžãm³FUí[}»ÛQÉÆZ»×klÁ3ô·d›Bº‚õ0 mÝÒÑ$FXýFfb–P‹ƒ‘AÖ=H5­Xâ*íÍ›üôˆ¶Å7|[<Âá$ë>LØF\^¯{‘gäBcJõ¨-‡’“Èâ‹…k*ðžq4Úñ@éh9X š£AP*€PÃñµ`ú{EÊÕüÊ­Þ®€(:T ="$ZøÑRƒ~óXäÅùÎ@¨EÈÌ×fàG¸(BèÀÐA.€è…z<òEãPõ䉹 v¬ûVçXóÌâüéá3­Yó åðœJ¼ðb✪±a“,E¹¦ùƒWÁ0FWx¶^@àºÆ„ñR„;žV4ø;•\žÒE‰UZ†Šuœñx´¹Õ¯”A7 ÀJ††úc”RBJµ‹vTÅuÁ´'gÍ8¿G†[òhùáÜ(ˆÅ‘[Ü<,*‡T»ã!”@ VÿiuéÂyw³Çó9OÇ‚ôc"‘²ËIéƒAg€ô‡cõh½wb†Wk²Ľ¿;œ´ß]ÞA[oÆô„ä¶·éUg ŽA3",ã4s/AFfŒ7 cÆózž/áKÑ>ÊÄÇÓð‚Hز¼Ýîmµa6›»!i}Àœ W屪Ê[=¯aYÎ Á–(•D>ä& x¿=tÓ^5a’‚Ñ£»3Ó2ç=ÛŸþ»¯}ãµ?ÿá?à?¿üË_¾˜Gƒä§o°úîêüÖÜþÁêŸý»ß?ð ÿm úAüè÷¤ìF¨¶îúfAÞ8hƒ5 jÄ~‡bØHý0p8.”d<ß%²÷„‘‚ƒ9ÕÉläðü™K"eþZä…'yû2çj R*•+Ä(&9E ±¹)ª^á$¤ÌöôßsKU•Q~úN ÉãÈ#dÓP×ó,ý÷|V£ 9O4ÁeK {|òÚkµªmLô(·ˆ†‚E<×ÞÈöêçóœA¤ë¡F\¬±,(\;;¢€ûFiŽ ÑàOÁu†;x„K……cŠ¼ÈŸ¢¶?AÞÕóáØTŽÀׇi­S†`aËŽ\ Ò0aëßrè…íÕ2©§©d;ÜG«hÿ;…¿íÁ®MKlêÑÆ¶m_ùÎ%Ð=Û6ɦF'àh]+WªOÈ~ë>ÕÔ³ =FLƒ@Ïö qÄÕ@·‘çš÷˜ºõŒ’Áeá@|üÈNS‡žP•KÔß’åç(ˆþ<µ-‰$«Ì3ñŒˆ½Ã1¿0¿òæ7šokKç.´ÌÍ(?q-é¹'ÀñðWÖ©šþÖû0ˬN>w"ýªÖ© µí -v¨(Cc—Ä*¸(ºšG@+­Q7A`ÁÔ®äjµJMäI™lÅÒ±uv78H’ à‘D¢8‹h<ï¾ssýNïK¿t®sl‹ ’”è€ôEôOÁ4ÛrÃñCUSg`TñærûÜg¬jÝêuÝkýåN§{öX‚Æl®ì|p˜{ ‚0¤ù€(ÿà«Qù–ï8NÊÃC÷aÏÛAóŽLÃÒ*&Àá´¹Êmÿö…WÁ9÷‰ôÏwHîŸ~}þ)t o ôú_¿vé¯çA|ñÕ‹â1Ûµï_yÜá7üûïþò¯þ[½p@Ð,>å Q7¼Ià jæâbíò›2BÅÊ[~œOÜù…̺~$’œ0k‚ô¤BóßË̳l‚FécN+,¼ˆ’7b-Žò³\ËOð¸@êO‰í©y5©Â M.¨¹'ØI­ -0Ø–þ ¥¶¿À©ˆröI‰# j -~§2€<Á-ˆ•ñe ˜UærÏ´‘;½ .J»Ã`Tغc¢`%ýöƒÍÚ‘™ä¡¼þ…Ï%iÎå¢ ¬ ô¹î@I,«î«â@B¥šq¤÷ΣÄ9s%‡ÕŸˆ¦úœ§$5PÓö•×󥆤Rä‘nßi˜ªä=7BÚÎêˆ~~eóж™#ÓÌdAÁ&íÝ[OŸýߕ٢0‹È‘îQ4‚« #³€`™!z¬з¤‘Ô¨QÈA®Ä]Æ+ƒÍqˆ'(?'§ç¤^ÙO`Q1© -AIìüP²Û$Û†&þäÖlܽ“Û’ï5Ð"TöšOÖ:wmðàä»ß~›ß³v«»ö:ˆþÖÓµ×ÿ -ûÈM³Þ´fgËð$°=ŠãN‰¦Ó­ÑNRY\O˜Ârôz=—uˆ~<šz­ÞÛtwÀïÙ¸P‡ñ'À €“æñ*ìÙ÷pYѨ‘ª6@ϹÅÎö%'¶›ÿ,Ñì¾ÇÒß(jç>ƒ¡¿Þ†:`¶y@x~w0ðàS$Ì®,ÖÓØF¨jhã[?bÖ*&+ËE?È/$U§&—Çyû7ýÿ9Û/ÿÊï~ãÕ‹ÿóÿøÛ}¤²°ýøùý/Êþê¿ð¸ÿÝS@±3Êe»Û¹ìîµ[¥@Vªë±G8Y·,ñ¹˜ŠÿäWìž“vé§n‰l²"3EŸ\ è˜P°æ<À—yóCØ(ü…ðåÙµÏTþpÀü -ý+—W­Ãå÷WVApH–Àqʪ¦PÜŸ)éed_c9HرÚ ÇL^¯bAØÇ~x¬¥dñ†ÐŸ›O=€/~~w’_’qG¯Iö~086TÓä9F½0jG®f‰žúÔƒ¹{TfãW o`/ÿÓM±{‹(ÇÇøCìx±b“U­™~ nsÝÈ4Õ uˆ 7 ¸ÃÌsÆ«Çë é‰Àj ŒÃT¸›»æ7ë -|ǬØvGa7jÛ‹rˆK7B®X…Àе¶œiÖtÉ©Â@LQÈyЕ­ª0ŽEéyµ*_tŽ$À'Mª0‹GÞ¤n'Ê-õRD ë#U€°*e ÙtG"'Ü­<ïÜxãZ*G1¸  L9­à4½>w„Á Ór) $Ãp8ĺ܂®ák±^ë±”"8h=ËËCíý˜Ùh5ç"WM ”¥V©˜Sjd=-ݵ›Ëÿ-8-(þ²É+g m·;Tàt²ÖQa\¿çrì¯kוµ.ÆÊ*Å=…Ûù¨Ûþ@47Z¿òY±ãÄÀŽª‡ öÖqªa>…V_áIωY0SÀØîG¸zCÇì"»HÃ2µºiÂÕ¾Ñu»÷œzËj±Ö7z¦U -ü £dU-ÒWæÈÊZ›{zIQ‹w7„Ñ–°€0§ãœˆÆ}Š:CÑJEÃõzzÑ…¶ ->õþC‰éq>ßYmןDMáÖ?¬nn’4$Ì+cÄdUõVNƒÕd'`7Œš`g2Â<òt]«&‘¡èÜåI³¼z¤Ú˜­ýÐ)1É(”ÌiB'cnOçF ¤ú[¸ÂæfÕ£ XŸÀõà7'=þ¬Xˆ¯þß_ÿÖ—ºí+É‚œïw:Ý…gÎÀñôsÏ£Ó±õ7ÿൿzíÔ38mŠÕªdÙq¨¿dZ˜Ó’)?èûçÓHÆ£(ynß?ù“§Oœûîß½Ózª–ª˜Ã2˜Ð͇ãöèÞg™Ž·¬tëWônW ->¤©ça`¹€({ -ÎÒ¼ZÒ¼¡§j ÆéQxº#Å:¼_óËIOÕçÑÝB²{…£OMúB¢@å*êx”0ES}íì5¾˜p;'Ì^ìð**ºeÈ^6¸Èf¼@Ѓ¾Ñ 䤈<ð×Ñ!Á SƒÅ–‹½¨P'š‚3MŒß¡ =‡l€ã9ü 4# -¢6£\~ó å ŸÂ>ƒbŒyf§ä ¬'”Æ$ª%éá -”'¬LlË¥€5²0Át <*ß`Pdªßáù•¿øÓ§?çï¼÷Ž>mêz©j頒㨤¶üyNÀ|òœÿz¤çs -ü÷W¶FÉ€7h¹™ê‘öoGN­1?èoF^ÏÝdµükzb"2g¢¾mÛ`B”­JÏöœ @J¡eF'MõI–ÿ4]g·ƒÖýF§ãtØÌßåkcD…IÌI«°ôÏ«y,æòà ÚpÄä®m=]¤ý½CÁ³ >ˆþ´ÓŒŒ÷%u¥þΰTÄ fŠ£šR IDATªH.eƒ©ÜhµàèØ6L”Ðóâ¤Ú§¬Õ]õX਒€=å •®$%å¨Hú4›-PÙx7²ŒZÓÚ»´{ý•›IdsZ¯6ì‡ÞÊm»JÝ+½G^¬lò®!Ô-ÞïÙ—q› W\àûz ì+fªCu%Mƒ&iM–Z -µfŒtÝ]ÀÞo¶¢îA`o¸Tñ&Å -—‡6ëÕõ”c€Lú,DQO!¯ù ôz“ ¡·M¬‚½ £@Ô±L¥ ;žU©±¿¢Ÿ«ƒ@ô‡IÙ\wÝA€3çÑV¿·Ù;ÿÒ9ya”!ˆ¤Uqêù²• $Tu wÉL€ìš¦ÍÍT+-_]ç…˜ŠÈ‡›£ü–2™õS6”ÝÖ;6HÿÇý¯±/øó¸­Vk.,LfZ‚7®˜é^TÀ‘–4 JÔ)Ê®iºL‡˜6@´K¹÷%%ð`›F'”öö@$…Nh€\&dPwˆÈÁRgÞE’HH„éȆ!4EÕ´ÊÔ%)®ÙÝ|àîxÛÒÝg3ŽÜЀ(it×ÃEç¡1Ý1¢ ÏjP~ZA„©a‹•wW_XL¿ÿÍø^zeÏN8 zŽˆ¥#뛱Εbò-ôå|ÓH©‡œzX¶Œ×o»s³-þpü«¿¯üÍkNwçãNºœ-æf5¨Œ•˜q5*BI£BLr-BñEÒ—P¡ÊÉ>!¡éII«®qò²eTLµÓ&¼¬™j-Pf–tN’«?@x×î u™-5NzàŒ¤qœƒ+Ö’†µ¤J˜*,S(h£”𮸛_UU«d:¾ËšV¾Aˆ«Î °*àõ+ÝE1T€ôóŸ~+æ¹ÎŠ:àèØDlþóû‡Éu³íƒæW”#áÔ—r„×›ÿ!r¶$Ò?³¹Ý úÁ{;hÇá­»“ 9È}‘€¯ž"ÜÚ^Åëõ=ï18wÁv¢û•}_Œ#°úY²è·Ê /‡,$æúÀ lØW–Û­Cuf†£š-êÇâèQ:w]ª7% ŸùøRã‰F£»á>Ü þ,Í„£ûœŒá[* @úû™LW¶BÔÀÒ¹VcÖZ8æŸ9•ò\c4 Ó–`øf5'¹eX¤´9)}"Ò$ HôëI¿aéÜd‘?nÃýŒ5ðÒ¹¥Ö‰Vûv»•Pì‘þáÔ{àŒî—þÞcMÎ~bñÕŸ}5ÕªŒ_S‘›:ùéÓ§'a(Øú( é€G¾òƒ6xü§iM<ΔT0÷“K$öIüd4qj‚9êùŠ'dËXô™/`[)Q=”Œ`¹¾§P0Jÿ(3„«}àqÀ¨t7ÂÆƒž èiînáIEÎ¥HÖUMC‘¸iEÓîö.~-€KÝ« ÷o¼×®Ö¬™#¦³9H«9ÁüéÏN7âqÿ#LjXú§Ý¦¡2êšJ¨™*†nP vÔ¯VŠÀ¼R/¾r‘ s`ÑÿÒO ˜‡Ÿòy€šL¢ÑòɳôÇ”([áê%N ûÐ줓±IúóŠ›#â>f7cª -€n6hP×7H?i”î ²zšbá:+FëÃv„Àœi¸;ÝÕ•+Í'eá;Èý ‚åN¹­á¡…£ëÈ% jÀ¦¸© ¦P dұрµ×ïtnbÒiýæªÒ¤ÙòúŽQ±¬ªQo6Mæùй/©M¹²ž{AS\A]F¤°¾®(R’¦ž¨‡”ÀÚø+õð~hÍÀ1mh‚“R1QmåÐäócU”©÷/döËrô"%g¯* âéïÜ» ;HÿÔü·zÛ•Õ6x뵪|}íþ¤ŠãêJœ€je’e?ÉQÛ8†ì ô'ž©1V²F’!KÓRo '](¬Ð7TÕ&:gŒË9Aß #ÆÞ×sñ3KÁcˆ)8ãÄ1_–þ©4ìv7Oì-X2¦vM–¼pU°xØö/ >I[ 7¯ï.¿ÓdñƒH¿Ô€¢+†!s7Iyé¼ÄÓÁšiàÀƬ#«JO”ßþV2‰»þäbvÛ¿ÍÍ6ZO¡§ø^ÔäÉ †°ÿ‹_ú¹ýŸµ©aþ_ü—³ñÞ8ø“n ý%os²ÕªÖéíÊC¤: UµšÈz»ÞL%ÿ\–Ãl9 Ómàà‰ /‰ž Á0*¤0jFy]ú P¿#p@  %Ëèoìù¨Pà1Ø¡RÍÌ œ•0ßI©÷°Ÿ–!¨¬€äFK²iìî$ ÍÒ4ÏvoÁ®”dN^©³ûA.¸‹¬Àüw©«‹5’qÐÁöW dþ“Aílùl³§Ò¶Ëo¾!H ýÒ6ÑûJq¢h¹þ‡u€–ýÔ€¨až€~šÖfLüŠü¿Û¸pîâå«—¾A¶?ovÏ©%e{ŽùÒ=€BÀ¹ô”-\$Ò?õÔ´|÷­ sñÛÁp=)Q =ÚÁå¡iå~8Õw#=S*3‡ûÆá¼põ›_KÿÃwݹã­îGíÖÓ ÆLÕ˜6Ìø¢rEíÜ]/Wk¡WèŒH#åÙ7¡‰]ÒLáºà…-?â0Y£Œáná³Á‘Ìçƒp¤*y/¯ò¤©ù[·te”¯y×áü‰jLQo|Êf‹ÆxÌçT u‚Ú)HÕbá‘éä,OI>qA±ºR¹¬äSWki±‚¥ )œǵ¡¢@ ×ÛàпóÁWøÝ+ïwá÷åÊÂñæêGEŒ.ÿ(™_$²o_ÅðÎÒü\›h¯­ŠÑs¼þ 0M¼C­ ÷Ñ“YÓfo¯øÙ…†óÀ×ózL]²9Åbü^Œƺ¢²93ÑÆáï\ fÈOϲZ>‚ßÉ¢S -Ía€Õ> èØÑA4 GùBžêb…Ì/å„Y©²ä3<ò÷¡o¯÷´ü”:¥™’ÝÁµZÑ«þŽŽ+ Tx4Áv\™Æþ!U-ÁMIn9ðÀsŠJ}$¼h€qo<×ñ˜×7Ö7ºݪU…Ýõ]l£B Ðkì´»à -œEj.Åðk„iù "êAÌÉ!Gë!%‰>»?²ë­ê½‡×¹ïá¿þõ=­Mܵl­v!?ÝNКm¶ & UÆç¸j1u¿øùÏNBÿɵê-1¼öú·×úÙOe….ž[øúñzà35¦­|«4òE‘”’#ËÿÉÿ‘¾ßóðKçæôµµ v$Ó—KÇåïÛ¥i=DÖ½wŸBcJ¶‘Vƒª’®ä”®)Ã#–DÍè -Dž~^“i‰«el¢‹ÇT* -WŽ1²l††\a» "ðª¶?< Ä¢ñѳYe•žö à”ÎÇA©H-¶"äíó%D( <ÿ -®ApŒ+ßY®ÖðÑh¥<R®Ó‡“`cÜ0‡y~fö6¾z˜ Sò¢L£4„ëшcíPúûr¸˜¥tbJ@ŠU·À7–ß[iÔj¥R#Ÿ‹á9ÂÑßê;›‘?P1i¤cÉ?Þ”>Éc#‚’ÌTð-RS®”ÈbƒýtácH &xÞUÚÀÏýÒÏÿÚ›ßÃ:àÅμyåLÝ>ñ‚èÁöiϘF ÔãPŒv)¤SÏ-œýÄcƒK¯ýí·^ýܧ÷¼øÙÏìå÷ÕB__~ž3H8ÞxCpsOkz¥ŒZ=º×ë•…ùªlâÍA›”¥™£m´QRŒ&AA† ê@b ²KÁÕ>Á‘D³œ °àÐ;§)ÄA6h”œäñK+û0’E¬ZÓÄYá<å½®ØX·üöjP…É)›~“­„=€…`8”GêÐDi˜Xß[ä1—&A¾/¬¨Q ùºinÖ^@ýϾ|±kÛ]£=ûcçÏþع½c÷„!^·ªFc¼*À¢Ã¤ ¼%KÖOä}£yÅyo&ç&&=‡%lL§øÒyœ—¯ àª6ü9cÊK ™‚îÖ)œp“Hæ?ì0ÿ¹‡Û lCOÈk ½PV“F8ôB¸P°fÊpÙ¥ÍMÇ{$/»K\ÚÀ®¼ƒP`Z¡µ '·»i3& Hÿìp€QpŠû„gêÇzݵj o<¿Ï\ð â!Vøp)g@~æa¢QDÉ.ÒŠhÊòQSö&˜; -¶!dµTd+8B*]:∣µ‚°ˆqËF™ -V€Î¢Ä“¥c†“C!ƒÉಀ' a÷.ÁªÉS|VeäîE¿ÛEi˜€°‰›7ºAà.PÓ/x+·eÍëÚ½^~ß¾‹ã{âÉš¢«íšÿ…)*e½O:€EgÃó9_8 „å…ž’Ëq`Ñ@¨Â­‚Gà³ V1¯Eóf‚ôçOULÌ€JÒ%:v–þ^3eéë'ÚIqeólû35¼réòе™ª òá0쀇.…H®ƒ#õFú0Ôjªqc®yØ6Ô2H8ýµëYDèn¥Ç® Ëõ& IÄgO¨Çú4iîZ>2ZrX «Nt@Ïîo>Ì?'1“çˆqåÙ…ÿ´ O‹öDO¤4^‰À¾ùÞê«¿ðsÍæ‘¥¿øË×ã·Nö+A:àu"pWж•JKd4Ë™¥#é9{¼ù‡qµ Øc,åòº÷ˆ·îþD™1ð¦bU~uhµ ²ù1„ÄŽ¤|@‚Ÿ #¦éYäG‚ÕÃþB‰'¡(œ[…CÄ%lRɧñ`'fÑÏõïàV‚ùÏÁË@ä+.aÀD4gø°GüŸ˜DrAúóÉBk–u@ªît7GatkÝ>™¡V7“ä-HÿA’]8Yï$ÁúSÏJiåeR©Z¢öãLu„¡Kée†Ã˜RkUc{2s$ñžGõ¬ª’ì)˜Ä? ØbÑ1M\¦I1ȶ7{µ#3Y`U&<µñHæ? ©¬* ‚à @yÛëxá®vVþËËËèd HAý¸<†›G`ƒaˆÁŸÈS“y€…ô»r’aÈèJ¨È3öP˜ ÜMµV¹ñ^§w¤|ç¶á§-VúpbBgñýõÂåÐjù—¾áNt€ éN@Bê €Ø·ôÿçÿÕ¯×ïÿ¹¥ -€·l¨ºÖP— 1Ì"-NfHqHã £ÞðàØwÜT0þ¡±ÞÅð,,¢«ƒÓi’ôÕ` «>Ìõµ|Xú †AX“å9>©ÐgÑÏïá¨ó ð6=¥ÃŽèÊ´t0æ#ò$MJ0buuŸçE¨ŠÙpõ…̬í -rI¦_–Þ+ë˜þˆ Œ£T n>X¢ÃÉ—ø#ö(–©n:QDP¦  à)¥ÁŸ´#UP0€¨1o'3ƒêwÃDtøEn´G±9Óð¨2hãC½`°ÃÀN-€ 0ë5ÌéZL¢³±ˆ3^Ÿn°ß‡ }‰ì™‹µúCªØG4 •Íy°Ç¥qÏÇèŽB¤Ì¡šƒö{‚䕎ð#ïÍpä5£®è‚ªûáÉB‰ó¨ÉãŒùjX©)B5, À­†0}ãU± ¹¨Š¡æBäF£ -%4Ï ÙaR*¯ v.)gàZe3Ócömãp‹~DÎÍׂÊU6ƒæ¨œ„#Xðš5c¼Í9Cÿ;Öœ™«WW>êmºýqAUÌZð =ch·?ħÂ]-öƒ¬4„e?àñœkT}LJÉQMX&È“R#LKÁ*s·‹ ªvA1Ö`w‡)|8= ϸü õ$e"• -Ü;6ÐŽc6…ÃQxîVÞ„[ËëN×QiN©•NïF³Z©LUÏÖŠ -A´çÈ« ¼À­Y-]Õã°Í¦ ÷TçGãr¡|ñRà ƒÖIKŸ^Ú ÜyØâòSôb^)Ok„61œ/ -ETó¨°7+eBφ¸R*ydˆª@‚Tº±aç_^ò\¯q¨nöõcóö½žþ$šH2Ý—õáNäû.!}ÎÝ`éŒî8qûÃȪ¤"F±¡ónÎÖ_ZjeÝç_ûÍß{ý[ß­¯†bqÉúoÿû?†ý­+XPx†ç1¤Æ¥~‘–Ïs]?1«†_¢‹{³&ù£Òé€éöšÓ»ï.~|>诵>y>JNo2‘\?`³Lxˆ(‚s˜‹PHqc¶A‰^|³QTÒúÚžÓ3Ë&‹Ä0‚%¯äX݃=„¸ º¡*#Ϙª-ÆhŸ©y~Q/`hZçæ<¤eùØPø'zÿ¡<¡̃Ô&òÈ2¼rl§DçÞ²ZÐoÞîTWªVy4Šàf1–/â¢1=$K§â@Éy‰ECÓÔ=¯2G&£P^7Š °¬‡#Ø-ðá2vÂñtU¬—‚¥Ó'»]»ÛY üøôâY8;…ù# ̰aUŠ’à„f¬OsOõéIxP¢.óLȆ‡¸Z'Ð!*(¢ì«#|0ªdK"‡1]{&ª·5Rrq 9àF#l{’ª”²’þHPXÌÐÉ™c•|yxn´¦äx>{&f¼Ð Þ2Ýï€ ÔMӾ綊MQÀÙ|A±¨ ;aÃüÉ­ ÙNÂ¥õôšÄ_þTJt/ˆ{˜V†Îw?$Ú(¸±’€l(ðR@¸GÏ- d&çR‡±€ÀH¡Þ?þ_¾Â/CôʉåÉð}Çz&œÂsÆògÕ$­‡têŒ0Á1+ú ­4±pAîû½©ôç]×5©füÆ -Úû³G­kï¶×ï;pÂo¸¼|€½ÑK»…ÓͦÒéF­²ô\sù=iVw6ö¶ær-[úªVJ}Æáe?[@©ÐT -†«E¨EÏËx[ZB¯e°íqk8uƒâZh‹E\gÉíš1#ƒ(‡põ­ëÕÃVÕ2{ -½¿ ¢@M7ô©d3"kþ†n²}§QÏ0[ðé{—¾y=…`\^nw7œ¥¥è€`LJ]‹Vž†É’ç²?…f ¥{GŒÒš^X£LŸJ—‰÷<­Ç0 XQvÛ®µÐ Ñ/>.jO qÇHnÏÎ3…=q¢j¢ !­€VK öm_üüEØSð_ÿöoü›ßÛóžZ]¿ôÍ®uäüŸýéïñg&ÑÿW^¹øÆ—JÅ] ¤zT½w?Vò‘>•ÜH’ÊUÕæ¬ÆìQ»‹ƒ¿òýý¾×:%“F`§3ƃR—CŽÌ‘ÍÔ QÂæS³]Yb‹•ÖTßɉÊÿ9K«IݼxœhœÆ*{°ÍïAJ©’Ê *,HUe8­ -ªÒL¦ÿÒ·QøþÆ{í"bë9ƒs?¶Ð#xp$rI’®,ýù$7žxÀ<“Ó¨&>Áa>uRh“R]‡XŠŸ©,X^΄€þñ»¿ñ¯þ»³?þÉJ&Áò¸ªB÷!¾yxæÀÿ}ÜFe¨ªZÝç‚ GNO„qcÀ6A³p €«R11qœÒM ë@ãöƒáÔÖ¢z®šPZfÅ5ŽÛ¯Î˜33Rjq¹×¸n,»äì.Z¸ -2¾&qäÄ7a{¿õâ…ôÏ,"˜³LæÍ1wË2ÇeÊ¡FÃ(³ôGXþÕøÃ:,ê ý&HLËoŽB’&À!| -“™x+8(äež4"· À§´$÷¦«UÖ³ßÏ?‘jûö%ïáØMØšRMp“$8‹þ/½B-S4WA¬môt*pdrß~è-ž¨Á öd¶f½V™6ú[ÞKŸ|nrº‰m àbŸE¿?j9%å;µ(ÝÄI68)[zV,/߬׫ӇxÜò¼6R7œLˆg:†ŽV^õðÁˆr¼pa†í„%JáF;¡QÚû~UµÒ¦˜[HŇ<3m{Ãi™“S½Xrû‡æÒâq P1ܸJ[~7, "ÀD€'ÀýM -)Bƒ3K¨ðORº,úEjû³È«\ŒGL¡²™íƒk=¥¶Új÷ètpá%n ýÿù/þf}ö€&2Ðý­à—¿ü»ßø™‹ øÅŸ"àïŒ@8„Ç}¦Ž·:€¹^?'€ñ½‰‡m2™ÁP2y2«ZX=¤° -,kPé€Éšl,mPš\…œih>ç\1È}†€ä -,1sƒÀaÞ˜¤ª!%&OæÖ r§j2Râ@ÄÜeÂïÁiFWÂa ì$êLBà †?x|+y† -ŽÇ轂ôÇ\èÄüGS&ÅÄçØH°(9?Ь$Kx –€Áýˆ-¡xd«Ÿ¢ â\(A2ŠÕWÖé4?²AžŒù/7VbÊA9N!$oJ2JýÆ0ìÀüƒµˆ‰¹|6Þ•4Û+qN‘ÙLA°@ @˜T§—§ª™)Åq‹hD*ímº©B6Þ³ƫ×h„E—¾Ä4›ÏxÂO1ž\SºÐ·H"‘S’Jcf_™@íK‹æb4‚#ܳ¿B’é!<±aœ±Ö'NsCk4‰Ñ6)¨à¥²€à!&€ …uOZƒ”ò¨¤”¬ôç¾3ÄGˆÁÁÊ Aà’÷ú©àrŠÝ“ÀŠ ‰L×¹mN8g“ -qî²ÉÊ (Pîô:ÅW9$ ù°HIË ÐÒ§º2¶ÇQ+Èr ''¸z-™•Øì}ˆ«~X\Z}`VW8$¿Ù0°\$D‚þadŒô\¢¦Ü €ÙcèŠz ¨5‡§ ”HµŒPÖë1ò "ÊX¥¨á$`Ý>«ÔU_W•xäÅðEo%ß„2â¢`&qlBȹ§”°'ÞYýÓ`ÓU)aȾÐòî Ú…l]7ßïp‘7x+´]K34~·?â<Œ>7Û\vîi5\ 1˜²~ IDAT–V^7¨Ð:;çß»ßî¾ú_^,YÖ÷Û"WBx#†I樣øˆë*°™…‘Ä©•a¦Aì‘Ôð -~DHGMÝyD5¯eÝš1,ba„Ї©L„”ŒÿÃÜŽGÁ([»×b ²»Žk«W¯"cÏÒ ‹àôô†µ£+Œ°'+yîÐÉsž…¦ü^ßÇáõ‡ncºî&³Z*¢ä‚Aë9§\ûï\üéßà«ÚíöjûÌÔ,õ k[Y»5J..¨—]‰Å¸Á«?óÉŸü©3ÿ×ÿóÿæ_ÿ¡½a·NâbJáCpT+qmÆC?_)ZÜWÿÏ×ÿîï¯ü/ôÛŸ~åÂ'_~å«ñÆÉ“8˜§ÊÍ&²,Sð(%Ÿçê½h;f‘MÅjžF¸w¿ß¢6fÞbŠ¥ ‘¬’RR§B (ôAúƒÂ B¤ÓõÈÍ´Ê úÛm»A*³JÍ,܉üM—\c`þsÄ OYf. ®N©Ž?:im/&’¢þ šÁÒŸªÑlÎ&ßÇ$Á œXFK‹Rs[<µ°A)bSÚ(ê†VŠóämì„ 8WƠͺºÛÃJ(˜½µ¶õ½~Ðpggªlþã/RÃèØ-³jZ†ëìZ§à›C¤?¿²ºzãkßtñå³`û r^ÿε?ø_¿Â:À¾/­ÀÚQiÙ€ùÿ ?’Æv[ÖÆC> -¥؃ȎfMÊJ6ê.¨Î›4A$oÌêPx,ñ8®Õ¬Úsí^Û²¬Ò”ÎAf-xT²Y«hX39ÄÌŒ•'º0J¥Ì×¢o;î6¾^™ÂÞ»ïÀÉùŸæþ©NŒÕ­JÅ…ÁíàpKa¡÷ ˆaIÁú¡Œ‡±N1Qä’â¼K 1lì \Ó2ãaä £Ò8+ õLU©¢¤ˆ,½A­Ñ°t½ä kgÀð‚p‹Šs-†Ûï<-§„‚¯A FŽB† Uºƒ’¿í[UkîÄÚvv½v>ŠvÑ·P­Eõ¸î¸2ÒË´™‚÷aNŒ§,œÖ>¦[Õ’ãÀ•‡ˆd7”øeàÀ…àG~ÜI AV! E…ì’ååÕêá–x[úÙ³gíGÄY#hš5 ³@±Ι&dy=ÔgŸ’á`žKsÇçhÜÅgžºqÓž?U™ÒêîÆZ£^ëRù²9SvÉÌ?ñìÜÆZ,kèöÉgð {]ûÔÒ"ø 7WÛç.,akŒ´N´–ßÂôRë™VûÝŽÐÃÖ|娩s!´ï½²…¿Þþ¨Ó¨WЦxK/ž~{Ëm.Í]½Œúbé\µýö;Ús§ªµê•ºzÞD,‡wn]=ó±…¾ëu>²…ÖZ»Eµ‹z£÷À‰w‚J<1°«Ú?tÁi¶¢8hÀ}.´æ_Pž qLJãÊw.EAô©—Ï:V}V$#·¼Þ^œo]~sùæ‡ë/<²h[õ*Ú“ Ã$%WÈH0Bs1[ßAÈ(§ -*ú4¾9æuÂê$Ù5"tŠÇÒ«Ñt”I€ˆÅXíIß k“aïbŽu—° –Ë{`C‡ìE -7cêjÞ‡©¬€ðD/?ð#+€7û;q÷‡÷K ´†üÜa-Ë<êŽÑ ]q ™ØR>E±{óåϱ®®Ž|Š,¡fCùºV -B?ÅÔ‡{Qhì69þ#ˆ³WbLÙNF+¨E^â2%͹ßOðÇBK$S¢qâ^d}áÈC¢?(÷Ýκþ$¥ïöu$2@Œo°¸´±Ì õ2 ¢,úO>3'/¶Á\ÃZë:i'ðã¶Ö¬YŸ±n~d÷\¯jˆfãö]*É*¤¨½%UbrômI‡j@lMŒm‚=155–A8NßÚÇIÀJÿ|ŽüÉBÕKj“ ÏQ.’Õ;IXÂ~à‚àsî0`AÃGý#`'è>D‘&¸„4³±¶?tÀý{ó™4Àã6TQE*ÐÌqUzÁz†îNŒ£‰ËÈ™.yÅ -«uĘÊ|á±ã“XVHØŠ"‰ªñ†UãQHF7ÿ)ß ³+Â:+klWaðápm퀚«î:BýÉÒž×YôËL‚¨°p;JÛYØêçèZHÒT+I3ùɧZ°÷Ï.57+feõŸV_<»˶‹/ŸY}¯íØÎ™—Ï\ÿÊÙ…¥Öêr»bÕzeùívëŽFûÆÚ¢˜·»›ö½ÞéOœ¾qC%çÏ¿ö=¯`ûí¯^?yâ$ˆþ^σ=Îʻˋ/,Ù÷7îtºŸûÌE¬¢Ù°/¾r®M%mKµ -È}Pðý s©ÞWô6lÜÈœ Æ¶pF™Td KØ<*=ÔK—/-.,ÂÎ3¨u\ÀÒ¨Q(XîpF=¨ [±`=Î?‡É<9A'N¯jUûÖ_øX NZ‹¨„¼GAíI+Þ -¼­€¯* -üÖÓ&XiæleueñÙE°/SïöÛß¹vâøÁsun®17·qgmcnÎ25`ç×½-¸kši,!A¦Ã‚g - ÃíÌ=Ÿ`]–N±T‹÷Ê[n&éhØœÐÃ:! “åþDð˜8Nù¼~ÔÙ²—žG‘e2´Ò„fŒ­ žr…6–˜˜o,¨UŒaJIH^M!|…™z­¤bA'-]µ¸K¬cø>ÌTÞ®'yöê¹àšÈC4ØÓP.)9YÃ@òlH¥ý2™p?HÐ(ê½P,ýS'ŠR -ú}ag]gC5Lð("Ïê.™…cÁXã$ r÷‚@ôƒ€Îßü~ÔÀÜæÍ›k`þË K2x°¤k3F{}O»‡iÒSÇk z4SM³;œ,.M"->¡&èÅŠUž ´³|Xá.ñÀCÄWœM¹´XúÃYpôé™#¸´z›ý„z[DXìtS“nšQRÅÒuö¨Éeñ¹–}Ÿ ¦ãºµIèƒXOcƒ JÅRͲ²³tµ®¡ËÔ*èŒ^˜\T½ž{ãfûü¹%z§_3-j$ö ƒ‹I]‡ /¡%ñ©Ê(ö8U4 I2ó‰@É3J~êÀ 'ó´É:Á¶(êbרʰX|Ì%†ô_ŒÑ¤—tP½ ¤¿`50«ŠŸ îÜ ÅH_ûåþÜq=¹јÕÍ~¶õ”{pï/Ç¿ÀHj¯fŒmÄú€u@³Y³íÉ÷TÌÊžmU³@À‘aB* |KÓlþײ¡©Z•Þ@“¨:׉®™ñÜΟkqª¤?~ähŒnýøU50ÿ[ç“¥Q²€ô‡žQ§hVƒ¼>µÐBÙ}Īi`¬¸ÌµÒߢÄœ´N5/^8˜]§vdWIu÷Ÿ›zóOI€–™ÃÕ˜ëú»³» o D0‘=fzP}™ì]&W–¿Ç'·îÈÌóÚ8hZ¹ºYð8 LÃ?µ:€Õ€1=1JñMž˜(ú¥¨ãbŽ›½ø…mÒ[y²v1x‘ÌÎ){çèÎŒFJ²®­#ºu¸Âajóad¼ºY=Î]ÃÃ5ÂÜ´5Mþ$ÔN¢u‚ƳÊ:ÓöSºA!ûˆ`%s0|ŸÓLê¢Â@ËO vF±çßfÛ?HŸ|ô>ò˲W•V"g·†l¯ ¶Œ¸‰# -Ó2!Ö -è3rÍà'Š0Ø\ÓU\‰w0þÃ,w•²™ué€OýìKo~ÿÖÚ=w­á‚€O4W(Þ„À¹_«Dõ±èóŽl½¶?Ÿ´\KP™jZŒ¯\Ò 5œÜl(ËÅ$³ëeÍNÕò F{3¤Û ›™‹ÃšÖ‰ u‰˾ -,ÒŪPÁõY©í¥ŸTAÀɨ¤i˜´DÁßñ'™ö ÀÜL !ë ö’nÕªÉÒß“<8Ù$•¶…ŽÑ̈Ü9,™yÎz!Ò}¢-~ôælÉkcÞ¡,‡8 ˆ}NÀb°(žãôPª6ïít››Sa“éòwð ^¶ºbùªÒv1FÑÿ¸ËÐu <€´—EHV©¼È´2pt¸?` Acõƒ¶ã`ûó74•OàyÁ®š8mæ–,HÃ&µCƒãȈ~>™©Röæê¡]u_i–ø?ãü*óWëµEŠzI¶_P7¨ÀI ¯ä[/à•· »ÆÞ´k„?æºÏŸìÛfŽT{Îda‚ªcé:oxÖ»v×cj\ØÀö_Là/%ƒ,©p¸˜{Ý™xöÁÖ^ßî€ ¬ix|ººçe™"Μð–šbj—Dž¢’O„»Šl¬©:صq6{Œ-“ã®ìôOd™÷<‹Z1@ ´×î,.IÜâTúÔ+ÄØÔ64\QÀ}¶*Z÷`«#)/„Š¡(>‡ æï&NU㕃†áVLÿÂ;Çcn®ƒµ†È?qlê%„u;Á0‡º^À"'†0ÌÏg"|Ú*§øØt -¶Ýj±´ùÐ-¤Bˆ nÄýAåð^žn•²:*éº(i³{§ôœ¹c­KõÕÖ3‹­…Å.ÙÑú¡YD4"î>8º®Dã„–a¥Ã5ðAë© B€Eçã6g/<­áá8ʬõ Ôƒ,ë¤õ#5·ª©SßçRSÜiñ€Å ·Ìñ‘ï6ÕXêîjN. Îä •C•í­]æ HÿþÃë€~ØKªÕÞ½õ^·sêãgáÄ^_;ó_\Ð8†6Hå(+ú‘I°/©)¹8h›£ª8‚ôã?^æߤR³—žkÁI5ÃÙs›w=qWœzÒRMcµõdíUÎxzöì¹Åæ¬ÝY·›³5ô=*Èk>Yyýõå §^—³=­­cwlʾçV›»Œ„NÇ.W0vÜ÷™ª—KŒ‘ DHV\\yÆKˆ»>ª¦ V[j¸Ù>è>÷|¿Vµ¼í€¥?Ý ,¹~r¥o蕚Õ$@/Níõ‹AúwîuÏ~| N¸ -Hpäg( "y'7sØ7m2¢H8§‚”‹•)2 -“6ÔýsH)Ì8Jj'î£!¸‚ŠªçQ¾“«÷… 6„Ê -\´ú¸ß2«CiP“s<²­£'—IÚŒ¼*3=yþsL«|hóhsv6•þ‚ø×Òs¦a‘'É:æ¬Iʦ)r2>Éá&^ùð'Œ¨çóÅà1ãi%ÕhØú+5°ú‹¾Ö¥ÀßW¬€ÒÞîÒµ)mÃØøä¤?-È}æÉ¢“  c92d”Ê‚Ó4$?¾´Ô&ðÖV ®…eª>ö6†Fû³S®ëpÄKº’iéZ^Y9óü¢Ndv¥âÁ1ófãÖ™xŸ›Û›!ð¶½ìÌQ -{E•¹1aâ^W]+€ðamÆgZ”*ÂM™ -qÖÅL,Ê9K~s¶fŒ7†èºD‘ÕFËeÛrÙ6Ꙫ-²_} WÁ±a‡«ëµ ÿAúƒ†p4è »×¢ýy 1Ê\[œçVuÖÉòEÔœŠžÎ!ö¸«›é_JD2b(€ÍîúLC‚aè8›ekfõ­+•CÕru¦só†85!f©>1 -€¥ÿõ¿¿T"[¤?x ¤JÕAï÷µ#Ä1ùtè…¤m}’‹IÿW.¾š@ôÿí_¸ø‡~iùftÀ©Í›·;çÑçEÀcˆ ûpdÛìnòÂ4p[*ýƒO#Ë‚M*ÌQÓŠéÃÂæÿCü­2VŽ'^E!AŽ£[V`ŒÔ™‰­ÝƒKŠQÌÙ¶óöRâ/–(ªãûñEúz"~pwýA§f4©¥2èX¸ûÞg_Å ïò÷ñÍ ú;:;‚’÷§Î¯<,+Ð UÉæx0T‚ó8å·]—±Ž<|ìÅ©}àê¾6ô¸ íÈG €¦=Þ‰/X©j‚GÆÕ¢DoÇ®‰:>ŠIxjzèvpÝ:vÖîØK‰Œ¦ø²š°aó+Rb&9°(¥7à pÈ1ºdÅÁ„_ýÁªëv@ôóÛî®o>91ö  IDAT+#9`û‡‘¶?ÚdC? r²$5ü™^é SÁœÖ)¥”ÏàËS….„ߟåf€¥áºˆÎÄ’9œ%|‡Ó¡àJß³ü´*¥ùEé_åpU©#;YNà,SLËSd,LˆüP¶Žã‚ €À“^0ÿ“oês4 ¼ H¿y½ëTÊRe‚è_Z”! =!4]8ulõæÚÏ}žj=3,r'1íwùÍkÇæfûŽ]±&k6µräœêô%«Áp–Ü/úñ‚Éü÷é˜Ú.øDvƒ*“€G<9²ÈØéüO…gúqÝP»m·RÑjµZ»Ý†g×µ{õ$Èó3O…I‰ˆ¼è<·qq± £Ê+H ±±…GÅþ^e,ó< òy5kBñ-Pqg‡’` ’ûHÀñë¬÷ˆT$ÃfµæÜlgmöc­c7–1ézþ3?wý;¯ÃIóÄ|çödÈ@0ÿÎÕ{Åóƒ>Åc-š³ ¨zRˆo§rŸáé€]zÙ´:µÛ?Žý›ß[aW€¥?ˆ~‘ø£@ø=§/šSøgeﳿýC[‡Mš lT™³@‘æR°˜²ƒÊx\*楻CŒ§*©œA­r˜Ø:–Û Ô%”…§v¸f6ZAÀ\fJiZq\糟õúýÉWþúò§?}±×ÇÜû­ÛoüJÿW?ÿª5ÓÒè V×ÊVµ\*‡1<7´ÎŽy>VB¥uFUãBÙAá+bÌkߣzج×M”¸ÑØß¦Ç R”4ˆsI,¨ 0_7ŽÈ8C¡^¬ßI4l(Çd…MAÒè†CPÞ6ÍÁ}©ë…’ç…ºn‚yÕ¨U'Ù´1&@0½6"Õ&•'HÊdm“åŽÒW‘¢ÊÊ«Rú?Ö#ß»±ô‡£ÓíÌ¿ôéMRÍŸú"ü Ò߬ÏvWßÙ¸õ>èØo\»43ÛÚ\oƒ°2xf˜3O̱ô7ëÔÒYËþ -耹8ó £bl¼®ÁL€;™¯!ù%£± "µ¬ŽÓÌÛ»?”_ÎÒÿÆÍ]¬\•CLÇõܤ@mád]/—VÐ^xþ t¾t@l¯G((Õš!(A‚²4…4E „çÒÏkOÐ +‚G²ÇÕ2unXcÀõ0¼8cr3>¶—úŠ N–Šèû;»pìžÃQT8úàMÓJwdÍܱ‰­×hV7šU8 -$íZG,:LT71˜Gૈ Jdæ–âVĨ4•aDJ:m)×µÇØÿdò§@‚Ì|…jLÁel°L-zø9ø ­˜|[RDK“˜zn ý»Ž{«½ô CK£Ø)jG]uF£ ”…r*ýÓ­R1VWÛA`WiˆiÓnµ<"ÚãžËˆp§•Æ‹¹^õ$ƒ [É’$,ŠÉhÚ$ìòtÊ[ÀÎM¬+G†)ÂeÿU -éLùu5gJ×öl)ÒÉžmù;WLp -¤;Z¤Æ¬¼ –)£ •i0âæ˜ì·ùaÄO‘ý¶É â÷Än×Ó§UØá•³/žÍ~ñb¹H÷·~íkßøö·þÃxþÔ)þéŸ$ýkpœ ZxKôãñda†ЗOOÄBwݵªFàG0±© A½Ž'e ê0JRܨ”M3(X»†A!¤ðX&C¿Žëš¼TÝû“ÌÓÅØI %¼bâ"ï»nÅ4‘n¨}ER¢Ày"Á—W3„4†‚ðçiþ€¹Èå¡Ù͹¿Îís+ÿpiñ'08л·vêãD‚P83‡NV{ùš»±»ל»Qû°W›-Ø=wD¿|[~æ=Ñr¿qLzm(ú -X±òÙ 6@úk庖ô1EØ}g¨„”—ÅG¸µoËÉñÂ| œ& -zç¦ü•%Ÿa}V¡â„#87oo˜æÞ{ß|¸5øh#ýÓCB 7û°`Ç“Ýìt,ý7Ð2zµ|8ß¹DÆï ì{}Vç_Zâ\.Øw{0F´Ýj9‚§X@• ÿ—JwVÿiµy¼Y%^ÉÉ;#Äê#ת:ýŽUi†Iý1ƒÞе*5þàJëô= Ô6ºîëW¿~á“gY 0:[Ú,ªìÖ n˜Œ¥ôâTú+ÄäÀ爮H“•;Nt›EÝ*› ÒXÇØ$y–[Fžg,)ßuáŒ-J£.„ÄåÂê{Tš:8Û Òt@ëð.ÕÎ5v`A' ·É1ÿ˜Ë:ÇPf; ÷`#2DIo\¹z&Ì4°ý]—šªLkÐçô©Œ½€ù/¤HQ­@žÆÄùŒ Ìú”ÆõšˆEj(쾓ŸOC ðª™¬Y¤Ê !áEx.k”¢Æ BDÎ…¢_`²D³LÃ}øÛ¸ã+œn5±Î=œßp”¯¿u½u¢e¶¬#P¬ÀP€‘Ϭ/©à“´5Gª -Y³Ñïxžeˆ½ÄΆOWEo¦LxÀõ§qÜ6~ˆ+îÚÛ×Î~ü,ý©ÞÀ£Ùaó¥/|êíwçÀöÜwj’céŸ\ªVÚvÄ8]­ORb&Vp@Y-È}0ÿÙ¬ÁD}(9U/Sß)È“ÀTâ:“+Ï0Úঢ˜ê¤eßÒÿGÙÛÇ‘žwb/¦§=h̰›61;XpgÉ" jWôR»–—ÑZ¶ÅöêÜN®ºÒ?q9•r.©J)IåÊU©Jîê*Wv®êªTWeG—K®$Ç·gÉò:\Ë»&Ò.¡]a—Ô,A gÐÀ°›=hL£{z&ÏÇÛ= +'½]½ÍÁLOO¿ïû|?¿¸"ŸdX-×óŽ}©mCeœÎcKËWïm¬­è¯7­f³0mYeD}àU‘ö:e=Y„‹‘Töº `t`ÄÁÜ„™ä´P¥ÆÆ½dåÕך﯂°çË‚¤?˜ÿOÍß|ý[‚ÜÞÍ·ÿ¼J - R[÷Ï,#õJí¹¥öGQ.^¹:@’0g[•+ 'ôéãÅ ¼ôŸ=s®}ïìK¯8»1¦Ê¢¾ -@° ë`¥Çä`«Å¤’>Ùл´(—÷¥…ù÷?BoÖ$¬Ì=.@"äÿÜ|£4Ým~ŒñýÆ3¶Z˜Ø}ˆÑJ8®¬4Î/7ÿ ÃìŽGko7˜9%!Ûþú>^†çy„U¹“jÅRZâ¸Író§ÍÅOáW½ÌÐx¤²<,þ±Ià ª^œž.rXÉHiu+föüÈÓµw7@ôƒ' ÌezôÔ@À˜ TN—÷xë´öfë3zNêHÙÁ²ªwNCjUÕŠhþgIÚ’väã‚ ">‰Ä%£%Áø>_–£« š&îð²æØF‹R1šª@ú³ðI:€~]g–úªx³•QˆŸÿ©LD®m7”ËBEÄšlŸâ6­–“$>KÿÅ…Å••ËÿÁãh\®#OçØðd€r?ìsü‡úrä E³ž‡•Í8vŠ.›xÒëÊÃ./FcHÆa1‚Y9CÇš1Ù#ŒÂ(`ß·XÊðŽàäò ¸œ›Ä¨Ú¸°èQ«MÆ‹* -¼ÀLú³ŸÁßÈðôÁ¯_ˆ!Š’R(¥þ_œ3üóS¸‡½H/?9s“Qe÷]?ñ͂Ԁ@3–þˆŽxq3,‹~Éë78Þ”°ú.â–¦4ÿ‘·3·Ø$¦®sº4AøG™œCø2ˉšÑp”"K€@ÏJuYú—tÝE],9N`Öžz‚¨,òÒÒf‡Pt£Ãvï§çžÙïÅo~wù•/ûþ¶³Õ³ýÎÝf€áš—º[hƒom·ª³u1¡n¼ýfãÒ -Ì”æ{k+ÿÁ—@SEQ.e>…O³ùÁœ¬¯^«bñÂÊæk^» Ê@ óQsé…«g>u©¹q‹h¸òꯧƒG€!ë«ÍõË/¿ -¶ Ágž¶o¯­nm¼W­Õ‘p¤¬-?Š2U36o½35=Óíl»žÃ3>ŠCPÉ£vòh[+ÛÚÔyÿá-&Љ{!xšpÛØr=Âgr÷#lg רáÚ¾EÈn£Dܾç|ë_ýœõ·ÿSAåÂm§;Q0ZÛÎ,–[9µÓU³b6·Ö°×>wåÜBu¾QÛj¶Å@ønâpR"˜·Š^AH÷(Ý™„rñ &‹EŠ3jŒ=÷±Ûs«3 -c¡pâCìe˜1+!ÃUb‚Ëd>‡ebRúL–=Ä« u^W‡ ª?pÒ¶œ2ËzsÏÑ'‡^ö£DDÒNÐõ)SL Aôëš®Rèyz±¢UdmûT0ؘ:ÆF•êÔìü™Úþæ=8z¾_µK?ûéQܰ̽lhïúµÚLHŽsx°O.ªÖiï•ᙣÙ1ªZzï æÞ×Òž~ÃhÜ)œÍ øå&þ¹…ʼnÁКÖͪáî¹ð£Šˆ2 J” ³‰±€PGˆO…9ÆIEHr!ÁKW-Jç6ˆ†!õ°t"QDêòð‘Ћ†5ƒØ8înÍŸ"8U0 KÒ´¡Òðýš¢s®E$¡O#ý1úÿŸÿ]Œ®þävóž³pÆ^R ê´½åÏ4柭=þí*õ - j`F#Mšx™›¯«†iØaä£ÿ4iÀÎv\p4žnœ®¶þÁú±kš æƒ°?ÐKE{@€›:3Åj|GK˜ý>»l¶@{©>½¨–Kzg×ã¸?Ç÷™ù Ú”´«`Œ\_TÖê Äþÿ’>‰ãçB… j:àøCPÒ@×ñ2VȬ±™YƇû‹17ÃëÄsÂMØ C ¸«ƒ1è~R²ªm{TI%5n†P•®æÒ§þ£À'P„ëo¾qí•/Œ¨l!¦Ë®6¨} -ļÑ'Ï@!yu¤Ë!3 1ègå=Q -(G Ÿ. µAÌîÅ1'#ØUXÚ°ô·gmPAÚê”uócɧjÐ,‚„`ì2º7XâE†˜ÃGéO÷©÷zA¹Œe½nsÁ«¼çTú ÅäѳÀqz° {º"Þú)î×·¾ : :?æ?¨8M˵ù›k«Ãƒ¯Óqw°dåm Ç+3öì3 þ ´ ‰Ãš€.˜ÿpM–þ%Žæl­[«ƒ -£QAk ^åjt¤¬›.Þ>w3ŽcÜlÅÞöâ -ªßÛnoQjÅûO(èf™ÈçgŸ³aÿþë«ëžG×ñ6ï9_þ¥eP ¤ÅýÎn÷Ø¥Ú;ãWš÷·U-Bóÿ¾C ‰A£þ'½_ŒKâ(Ü9!¨¨Le…¶ÿ±ïj,ØÎÇ-ý Nä’ G…ÁP@óCJ´©º(²ÓÆ€4Ÿ Z£êL¥zª¬Ljܬ/RàzÈ84aM/îjéÈÂ|ö–Ø xùó(îÁüߺ×÷h.QÍn…ºÞúÊ5÷ úÁ ¨Qzjå3‹üâfVÊ @,_:çì:°-ÜüØé¿ò 8I¢dùÂÏ˨ [EÑ聾âYù©‚É`¹¨’Ñ‘°ôÏþÉB‡>’Ý‹'DuíšéÀC†hÄß+Í7ÖJJ‘]¤dâu¥`M3{šR ïú1è€îN_„ËAU%rË?iÖç¥ qí•Wó1¡Ê7³j…ÈÙ‡¡™`¹—˜27Xú£„ðâ” €gHÿ þ€áȱ^zBŽJ7õ8×úÀÒ®¯u§ãdàB²†>‘χ{•0u•Ž32n¦9°hÐB7½=¹H-Û* 5î ‚ctÔÒ‡€ùÊ÷¨“TÌæhtFfÉ2sÖßD’´ý·ˆca C@ÿÁ­<–DVÅÂ*§ÙYët ¤9¿Š4"Hÿµ`n}ŠD]§½ˆkµü•Aú{{¨<@€Ú/ìw£"ŸÀ¹b”´ëþöÚ*;0=:ïhÅ`îž—®Ûð×Ì ¨Í̓às­<ÎãÏÌ]f'`Hþ¾Ì±HˆrqîœíuÀö‡ü&¯ÿõú?ùcªȡЬ}p¤H 9ß' 1_oná \ûÜ•7oˆÇ6U+ñÜGw᱿2 (‚Ó2,L,)EªÜnà¥ø-†9n`!Sˆe bb G ¯1SIÀ,DÑ Îã`QõTùØ 0»/¨sÚ,1• ¦[†µ7Š™˜ÙD±ƒ5àu‡ìVŠÿ¨È¾„í¤?†€zÂèUN²Y€í/È éß~ Õ^)íÕ\{;†º],7ZX¨ƒì}ÿ·³4>¨2™l×ß\5péâÕ;·7¼`þ»倕,aG‰Ìÿ,¬Ìdô°¤=JØ>~&ìeíËÀÈ?ãJö Ý7З`š)v’PP^3Â(ýÚ©è×w̲Q3¨çÎÝ É{&ŽªÎ)e¼sMIbC¶O[UÓízZ.f¶#u3óOpñOœv -ÉŽoÆ@Óh˜•ôÌ9ä²Ñ!%“Pú+„AË/ -£„þ·ã‰Q¼ùA“=Æ4•! ŠÙ2߯.t/ ؈ ¦7ãâµ ×Iý‚Q¢`zÔ›Jvã§TN½Ç¨;@ô+9TmP–Ò =mòÒs•,Ö);¤ €ÀHB裬 `¶zqìŠfØÕ€ ¸á ñAîƒèîùpÎ!!$[ ÿ -d`Ž%Ø&ac©xBRp›ÇÔ5†?ë€v³½ôéóÇh…äWƒ+Ì4ˆ‡qq8RKªÉ¸%]²ß9¼¨’Êé9Ë2á¨&ùú{(ö]ñ ÏÃÿ¯ÿÑ6ž»º´òböC™,W ’‰#cJíÌÜÆ[¦ÄÒË¿žáŒ¯}ï[f¯gÕê‚óré&Yè9mÓ®Á”…]¿èû>Èn¯Ü|ãÛ $Xµ¬½ñ]½Xš_ºäï9•é„ÙFŸœèÇÃ~\eÚ˜(D3OÙ´;Aª‚ãEAká[z¹¦QÁ%µ¨‰Âd!ÜMÝl?ð;ížÿ°ÿÞFëµ_»¶öþæ¶ÏU S°p=¢§¿kéÜ|{Ä…*@Šâ"“ªZ6|®öŒíJÍp8DZs8F‡4ÎEQ­`ìšx”è%„[ - xsÓ#bÕa﮾/†Í´ÔáİPÇ9„ðGž~ÂàÔ“Ï0®-Sµ "vã},(VW¢ˆ¹À¨Á?GàïÓJhþG‰2ÕÁÃ)¼‹ücq(ûaŒÕ>!+@"¦ˆf1Ø ÆDÕœn3¬Úêì¹J *EQš’T«0Ô6wi*bn~.mÀÆ$s@Qg1Qpöel¼g×,USœÐ®Ù¼Š’~¨ ûdÝÙmå±@‚ž[ÆõÏ)6—4uÒ¨LiÔ²¦-ëT)¼³AFý)Ûzºäd>W.Q¿%XvÕK+T’0I@ƒN&‚]ŽKsQøûxñf¹F.Xg°”†5]c>?Ó*›'+žï›L¤Ò¿ˆUðå2æDñWh˜T „SJOe~Œ9UävÍ’‡Ãaœk -cq÷6fxH™ê r_F -„¤«8, 6Bÿö€¬·ÈøPF WëâeãrÌ•(e5TƒGÔem’aTšB~ŒPS䃫HàæWžO•™R€›ÑÁ íq…ZÌ”rQ )šGæÇ†{ÃÐa Ô -ýA FC‚õc¬z(°ù IDAT#!éH„ä0F…Ð -õ…y·ëît÷T½°ú£Õ—^~Ñõà±ëq -Þ„½èØ}°/ceYÒs¸@Úh°ÜD -²¥ø·èE°ßUC7 ™eÅ´KØW'õø0„£2A?IÓÔbð™ ³Tœ5&ýn·{ùÓÝÞ] –˜~¢’`}D!&Å~ßS. Hkà4ªN]cg{þòËÕ¨ ‚á×í3ç*fµÕ¼]&¦žn/¶NŽl²R-Ÿìz”þðÝ\Òæì<ìÞƒmVp„s–ûøž‡ø~øgãÂey¾¿´´ÔÜînvp@ú/œleÆŽ)QÌ !2Š( JðÛø&Ï.;ï¾1û³;µgÏÑc Õнa/»K³‘Á‚‹Ò!;ŒHA!šËgë¿÷µ×^ÿkÌplµÆûçŸ;ÃçŸy\hüƒ]i-¾ñßé¿òŠlAlï¹àw[ä]r½f‹(XÍSDrIupŒBÙòÎç¹ôÂõ"P‘-æàÞnás8OÔ\Ũx ‚”í€ñ!@„gå4™B£¬ÛuË(.ñFfAeQœz4в)h4úZÝGÛ©*^ûµ«bP[}[â&iêŽrQ©ô«)öHš!ÕŠ ~Z.­“£¸Geݽ€s$n¯Ólnôo~¼Z ^Ùø‡iîÙ±rŸÍ+÷åu}­iSS¨óÀWÀÇ…“…óçgöå Wœ‡ã2b’þh<úŸÌûÆHÿÖgí§­å‹Œ$Êa¼`ë°"å2(p¤ÜÀE”\ÅäÞºŠaNi%‚ ï%ÂÐ=ͪٹßiî{ÖÉŠûÐoœ­ -×iLñq¦8å²dc¦ÂU~ƒ-r1YŽãp9÷îŒÑÇpî ÇU:Ó²ØèkXóh3ì<¡çDXR`O ÕŸa0§§"\‘åÚbr‡Q‚°ª³Ó0¦¿ø@Â…2?-ˆ~A“0—2r‡¸û$ý…ìòž²òn è¿Û'v-™à.'.x¿uóVÆñpå¹<ý}¿’âtrI¨Ž)FŸ -fJìäšò’Q¢¥¥hEqu|<žKKPþÞûØÙ"ò?8®›ëElàXž1—WdÎ`ù3ËöS6ìNÍYxöÒ:VmÛöÜÆæûð×…¥ÆÍ·nÙ§ ÐëÍ:±#vMˆ'möé#5vY‹?8[ Ø*—µF¹TÊRcÔ@÷aSE®˜ÐëµõÉ'èà[?ÚðöÛ+/,yÑf„+¨…˜B ‹Ä“ˆ!Däp·2·&ã΄»bZÚèp˜„¬MÊÉ4™£fAø&¬Ê”4¶hvR¾YµtA/öÃA†'ÙxÁI7Þ¼)uq”s×z%¦¡zðf ‘¸D5¡®(䵎¹~˜ÕìŠBYÉß+«ƒ&ÇüºÙ²æžIØÀÈt@‹âÃårYK¬D*úeÜæo©èÿ9›¦•’x<â¼ ÇOËn'DÌ;UÏzÁÈÍJŸ, t]ÉÑH‘ã$ž HØ\ÐÆa˜«J;²1X}!mÿ ¸êñ›kÞĨwãÅkìÀæÜ»{ƒâ³àdj@þæ\Nʧ@X·Ùà Ì·}Ï=Âí±NaýèLQôƒùNÿÔ^¯ƒÄNdÒ_¤@†|ÂæþNÀÐ|gµ“z8XþO-õ¹µVH!31樋µV­½‹SD¦gß߬]½ÒtÀ™úïþÝ߄׾põ2(€ï¼qsãÎÖ‡݃½}óG úÿÎo}y}c3/úÛ;+éI(°ñÇ%ÜCÃ/bh j”Ã|Œ±6ÃÁ?>6éæ÷Æ“ ƒxC‘Ùãù‚¢ ªW¤•YÅtà÷AT­qE|~²æq1|üXµ@¨Ÿ# >­­­:ÕŒ1L#›lY•7¥þ€/Êl«Ÿ¿å;Ô ƒðˆÎ0‡-¬ÓÉÖ3rzø^ÌN€@àÁί—Šmñ® PÙ  HÿõV«§Læ›À ¶Ö}t88¶¸ÔØÜh<|BÉQ>šÀÙÝcI -r61륖%†û£Ð2,—À|Àöo¥èàŹÊqv––ÀÛ/€ôç‹þcø3`jfÒŽ’óJé“ …›7Q¶çŒÄÊ’Cšd& )dúÎ ª,Ñ[ƒžœ~ jKß*Ô˜RÅ0€ùϼ›0©`/M©Ì®óøËšá“ tCê$é¯I Ké6ÌpIðRE‰¬†ÿ£HvÆÊoÁHzQ4n×uSS‰uKÿÌ (¥ -à“BöBHž">ÿ9ëü-íVa–ò¼©€?a)c¯Fˆ$ï  -Å# -&&ÍÇþHÐèY?–|†ªNrn jiv{cÜ4Œþ‘¡ÅÃ"|<3ÿùZ¬Fe'X[ÄØEøÐ³‚1ë+õ9T4…Be¦z÷f{XŸ×§ M'"6%1`Ú™f­kÌÜýÑ0 8lí†×qæ/>Ÿ ^Õ§ëK/_ëÞoPòö\QÝìÕD­ƒÏ{^ý IFRƒ1U"döàF<Ó+åy¢ÀW§ §µÅ™†d„²m“tTŒÙKßV`„2ZJï¼ûqÔ¨}R>œ®ë}ëõë¿ý×–¯ýÑŸ^ÿ×ÿÏ6‚0Üø¸ãî¹þ#í§” -.ê—ÌÊÚýæ÷ßZ}çÇï¿ðüE°$ñ6fE Ü À8eL€³¬¬°&O¢Hxá á‰@˜ÆŽT`¸üžwîlC×­í{kàIT$^c‘IJt#¨Dý}¬œQ¿Vzµ:7Ž|/²ëÔ£[¥2ØC8ñúãì";pÄ Æ@’ÿp »22 m¦»âlqé ìÍ[ý^©³s-²nÆ Iá‡"8D¼­¨«ŠB¯G|nhj†Gï!æ%RŸ":n± -0ÜAÏ‘¸=‡X°ÂPº8¶""GÅ«M6´Ií,ôey6^QžÍõ<¬©ÎÕ¸i½Põ´9$;½j›[?k3™{û~»2­#3M9sƼsæXX{ºvçnóú­}éË×ó³ºÓ§° ]ŒPrü™|Y…úKüý@Zt€=½ÜÛ¥57èsY0(òâxÙü ¹ön{ùââPÙ/U* *ªÕ - ÓdÄÏØ/ä–D*ËPE1* ÌùrüeèË”äRÆ‹~ˆF²æ K¡hí|ÁP>—Àƒå¯$Œ› /VÊjÖ[7!Å÷`ó³0¢NŽQ1ÄVà ‹ËþꃸŸ²9饩k_ÂÊï÷Þ}/AB|ÔðKûû±÷H6)TÕ{˜ÿïÇÒ.Q´!¶F,.òÄa‚üNGî^jDŸFH¸dcÿó¤Öà´bܺ¹QÁ€Ê<6ÿßÿÉí…ç¤ÍZ)W1…[Ô1[C(:"C3#5±H2ékQáî‘Ðb: -D«¦MrŽ„Ö!I°TüÃC/ ‡)ñ 8…£1ž9 2ÌgÓ‹ÌHPÕª¡ãØ1Z†.ÔgV ÍP5Z‘ í µ”ôà ´fDrØ­˜Õíû·ã‰®ç&)†^/àl9Â(Ê8â‘LÛ\ -g[§ž j|æŠÛÞ®LŽû19ˆ$OÅÛÙn\¼Ò|_¬½ñí, ÜX¹¬OW‚G)æÓuýp„=Ü2­OœS¶œ²Æ4Œ4ú¦]ì!ÿ„§Êµ¸´n¯«“G{EAô–ðÚùײNÞ¶ZRØÜp´Ûuœî,E-/,xî Ï6@lRã8ø Ôûz»Õ½ûú7wîlýÿâ÷áäŸÿó?~þ…K•©Hz»g[84ÉÂ…¾.ÊųÈêZ?ŒYá©ÚxxW'¿emÆþ£@%ÜyeRS¨á‰qoÒjŠ-:X3äþçý ßmÒ3‰U¦»Û«ÎTÌ’Î%pt}ǪÕÔ¡Èp ‚°ë¸›FIšÿ׿wãÚ¯]u÷Ž»àcÁžÅI1òð¤ 'hæ0DBsʶÕ(ŠøÝaÈÊÐù3Dt,&ð¯ýhX“Œ­¶·È’aËÄœt¬ë¹´‡× »;rÜ“Ã~×ñºÔhë¼@.ÓZ8;{ãN¯ÿé[L×Òt0Ç`ë´÷ÀQtt×ßݼöå«ï­"{̕ϯ¬þ`­–‹õQW£<„8Áùè[ÑÞ.…Èm‹!‚íÓ3ëïoÞkµ®VLã( ÀÚ6&ËóvD92«nºñÖsD7?hYvÅÛEÁZ¡X?ÕYýíT\•r †ÎF˜8ÎJÂàéßÓ> 2¢c ŽsÛâNƒ&.‘þ¶º:;'£…Rd -pj -Œ>b`>‚›ó±#J½©·Ÿ š’Ea#¿Ò‡)y˜FK¸OxŽ@|¹¿úo}ÿøoÿéç_þbøåŠœ±¥2Þ §óS’ëå,JÚÁƒ'9¿m˜ViS3¿ð¤p²¬é¤-}šwé©—ÉÒ+g»G¦a?çAèDц=Ô¡™ùÞ‘Êr3ç°ôláGX”‹Me_r¹ä> ÒßsœÆ…#0ªV]VÖ7ß]mPãU‘6Ë.¢ 5Í:ÀÛ©»I‹Ô˜¾Ù7NŒ'4ˆþciûn“ºEóÃfã|céò’·ïÁ³à60ÿuï?I i¥À­íGDÏÒ‹×ôbéúŸ| œ;½ç#ãQ=»w÷mYêSúÖÏpΓElÛÕõnƒô¿öÊ‹*MÄ÷6¥Ûþú_^¿M]ãUŸì—é -ç‡AôÃ.Hôä?Ë)ÆRMM‡µ™#)“Z]Ž è£jÄ1þÜq -K,ʬp8á›lS -z¿ßÝ¢"ÚùùƇëMö`ï£é.PúOj 1‚i9R'¢‡“`5:WLã—rQvëã–Ÿòóu÷üî^tÅ.â8çf"ìÏàˆ¢:¶ÙD=áíVªó3Ï3ð‘#´#¬NŽ]ĆŠüM˜†¥b‰ˆl0Ê7©˜eÕCl€˜Gð§(UcX4=àŒ"E¥Ù8ÈyîlC…ƒñ QsJdØþ|n–gÅùzè†2|·Ó ‚þÂâxè¿{§ ;ÜìÚ»›Œ·uýuYòë<8²öÞògá¯ËÔñ°¶vke3[›ÍEäÑEé?sj¼JKíììPz,‰4Å€¯óúø¥,ý›9º ÀÇ—¢aq ×ã7.ÔA ¸Žß8Ó¸q¯¾xþU7Ôê3íÖx9ÖÌ‘¸ü®ÒYªU–ÃR®&gšUJ#SH55Sç@Ô¿£M–W_¾Ì¿—R ’ŠC™Tã P C~oYÀ!~îƒ Ö²¼ÄÉé@'¸`Ùb )Úþ*¢klD–ˆr®æ˜ {˜ÿà -(!¦‚:ä>õ‘׌e—X†¿×š)=ôñA ôÑiuÁXùìÂÖÏÔèÌÓÇû¡PîF‰Ä‚Gˢϴb_I;59øÃËý²YÎú3õ…yý‹X虉†‡12=VŒ¬ÍÊЫbâYð2§Y;úà0î"’=±AëØ¯À€†jÑÃÂãæXª¡–ï8ø Ç¢ ³3åt{3Å/GÐŒ]ÌGñ·mà$ýÜôH§JítUÉùavU48–o~'€{q·ÿ¨=w¦úàúÔ   ö -òÎ9 -æ0¨‰à<Ýxó˜ÿðâÝÛnVY´ùQkñ¹:›íuB½54œ€¬ íhš9Y‹Œ 8pÒxºvëÍ ùÓº~5çI€ô‡¹t뇛sxÍ[o­]~yÅïù­VkéSKpœR kVÏCl"䘪êÓÂõeV ©oT/b\g Žá1îŠÌü%wã­[œTÏ)!QšTQ/Ö@¤ÒÖµŠeGF„;“Ìì#ú1¼®© p’0]„‚0GÌö7š•´¢lÿüŸü^tÀ±Ê@f¹Á:¢8È¢üY†_`-¾j2Ép{ýHW”R¦‚U²ßdý/oÞ"ùˆ·›ƒ¯«=3g_xíóp|ý»?pzŒ´ÊhÀ£ ~:§ºZ€tœÄ˜ýddE3À3 - ‰â;ÛóÏ4à&u]F%¡0•¡«’÷ÒMSå9ðãÞ#qޤª³³æ<ì.ƒç^5Ö7o÷ëõuV€k WÙúY“­‘ë?DÿvzfÖÔ+§kUÓ¸}·Ùu=®µð}|bå†Q©0£@á ‚7ƒ±”ŠîõBo¿ß81«¤Äod@iÓ×°Z)‚«¬éôW½l…Ó ÍË;éMÜÓèïí·Ïªì£w G•¥é¸ -<µA\*‚:AÞ ‘’‚R^a"+×&åÝzgãê/^e™öKº"á QL4¸X©¤Ž†F†Øµ€‚UÂgD]ÛêÛ3g¯¿qÝ>mƒ‹Q²ôk¿²ØîP]!Z$u)È {!¡†2üQ“˜ ‘ a¶bûÈ’d”„¹¶IÌ-iñ©`/’˜£À7 -Sªg±`× Øì6›Z¨Â^ŒÔ:b¬?;NR“MC¹3œàt¨}²œ$1'0q›À§ÆÅŽ~Úi ßÞ}¸a"#جFE3Y¶-FU=# 0¸ŒÞ¦!Pß ÀÑtwÃëú ¤†™ÓpãMXJ×A”¤å 5‘øöŒ¦CXHºª»>øü/Ô¾ó|»>?wåsW~pýêI»Zµ»ÛŽQMS”ºPØ/ñJ2áÜzWº­í´ãÎÝ­3gì÷ïÁ'Á£>ìöS³¦¥+‰¢V«u;~§Óµf—îþtÜijŸªßxscñB½bé›6gˆº®ûýþÊÉŠ.tÿ¡_1µÎƒ½˜œ27Y'*î#_/¥¢¾¹q{æTÁsÛgLéz¢+F©ô»š"ãàœ.Ò©vF/©ð¼aλÙE"ÛeMQJ -œcÒR]‚»ˆÄFªÀ aáÎ^^™mïµn?¸³<:÷öÛo\½z­?Ã}\ÈaèwU £fL•¹¬ zÐsh|ƒ Ô¨äŠ#Z F8cLWá»”´¿2³>ãó§a~{…³Ò `ñEE#l°Æê• ‰N -µ HÆGIÝJ3%ñV-y '^81A=&ƒq¥)HƒrIë_‹Tî>FE -‘u²lž6Æéâf†4Ê4ë 'H*—ÀÖ½²ÆÎiït È¢·çPJ®ß¼n?ݰ*Ò‹£î{TZš0§˜¤4ÑP <‘°æò —f)uù•¯`ŽH'ðK¿öyþ+HØù¼”«c«ïsz Ž U>ôã¨Danª °Ù™HØ.ø~!-ÌJCµ|¼'P`ß–¹ywŒD½~ß¹¶Üp*Áû-ý`ñ‹"eFÜsñPÙG@ú/œm¼LÝ.K„$êÃÀ÷r%襨ԃˆÁvÚ-·V·`w;.gùEÊ4;ˆòB:nª? Œÿäs6­Ãæ6q"mÍÇ´Y”0a=o¡.¸ážbWÕ Ÿp„Ç$E[u¦ÚÝCAã³Jéš -¢¿ßûXe¬ŠžØvœÊQ4æ®ß6*ÖòÅeP Ž0j§åðH×8YRN±e“FD³ÔPà|ŒYE‡ã¿ŒX€m5ÄPˆ¡”(•òÉ|¢eÑ?”þ`(õŒÿ¶×“AfŠ9m"çpQKt•«YpÉþKSÀ¹ÑiËÿþ^¤g*«åIÅ£ÂPœ5©†V¤IÌd8=ÿéœÃþøÔé¶B‚rvºíŽŒÁIV?3?ßêõ77l»bŸ*·¶¶AúÏQÔ”¥?>ÿ‡ ê]Ù%è|ðlö0Œ~ý©•tèéwèYFuõÝ·³ æ±Á³„‡H5ŸH‘M SSÄ0nÕ Õûsï´à¸ËXá™°fé_¯þÁ'þ~ùàNi™of -cÐÈÛ• 'PÞqiP»oàu SÊðŒÓ­;wÇHU ÷ENF”/ØUJºò@úƒWž¤Yõ|Ëå×çk/åüù—H÷C [ãPW¡Ý®AÀ‚†‘ÀöuÌ>HVë7%É胊‚AÑ\N^ü€òÜro[þß3'-Ö6)'÷6ò­ãð×ëõž/ƒn¬fs”Ó`ûƒþ€OèõÚó|öB-ýY>tØM4áÌ Ë}Ñþ>8˜ÿ}Ž!ؼ4WaÿñGæ°ßW©^DkæÌCþ¼AC·Hd‘LØd0‚ðöc–þç—Äèp•‘°Fê•QlYàQE ælÛ'QëM·8;ìè MÊ8Î !0©¡Q͸ôàÊé…ÙǬsšŠØ–¢@Mùˆ˜¯I”9õ,â©{@‘Öˆãþ¨Bjäá>•X€«ëí‡Û¤LLJCQYúGô¶l‚½É!iŒG+I -mRÕµ\)¼Ít€—–E¸GC@,ý±`‰’íà€èæàž"RÜ\bŸ®ŽÛÒ -P -åHîma Ïqääqv{w?@ÕÀýVëÁñ¾¾ðÜ2§¬ " ä>ßúþ*ìÊtPKiMä°O›°S:I†eúI4 [Ï•^ÂúÚ`£%ZàÙƒØÛíÍœ*/^jTO›YÊO²í»p\y~ií ýD¤ÿ­õÆÓu«ªƒU¶¿mmÃ4+–5îÚ Â®Z,3D>ÆÁAž»[(ã¢á˜]€$wnê†æî¥)U)޽gÈ0¹ÔT®m¬Îžš«Íà/}é%‰d™øÏ>EÏ‘/$õTl÷5b-ˆ¢À( -æí€c潕¦Êª‚8NÆ4|8¸ lúHD(Œ}x'HЛkcÆà¢Èìa˜~X0ªKÀ>6ÿAúkzA›(D9JÙ¹ù˜%Í/KŽÊÆ}ê1œ’·¹å¬œnd8 $ÎÒcB­¨Xl5©›OÍ "õ¤¿ÝX€c7à Dêò‹×ظfébz8¢¬ɬÝÇdƒÃñWž¿˜…€~Îöå/IW€Ý‹þ¡´S4JNªI¡TDüAùCûðܱKË™¨à£ p¿yn¶S6øìhO{¥.€ßZß—ÌÒoLÌrÅÑjö8èæÑ-fØ;äZV©-nc³ æ?ÏL?˜ÿN í£HHWQ}¬‹$¯ðéM—²˜`)>ƒùÒÿÖêæ°:ø-xq0ÿƒ´€*èETì£ÀIŸƒraRÒ‘ö’‘uÁ€?;ÝØHî+'tЮ·¯þ⑌‚—‰øD¥H©;÷‚ R|ù HðùÌ% IDATlm¬bÊÒÃx=€d%¹Ç< Ëd•3ÃÙe!0 ûŒU‰‡àl “ÌÆAŒvÐ!Bêð¢b`‰6Rš}Zʈrµb?%EXI«p&ßét“‘ü ­Aø0éYtiôY £°r²R?[a<À ×ã³Òow¬ðuëö”m-ø}‡… HÓõ©±¬0qÃ>Š~j,gûúèıրË@D¬b\ÇV+KWÚ{òq½ýö/Ñ@1_šn™ôÏ6Vž×¤«ÉGæ?Èt8êEËHiHTýøÈbé99Rú?¶EX؃!  Ç:ºJc&CxTØày.ÈÓM&”Œo™Aâ$L³’‘îŒhqU¦Æ«À\aiÜ[è -Å‚àeã¤3Ç,/°R‰V”^*(0‚VÅr°(¨ òb~^–%ÝyˆD%º4,äª0Ф¾òƒŒÃD’œƒ<ú£Ög¤KägŽ¥Jn úhÖ:¶ÇÖ(8OøI‘Á@§ÂÄ ÃIå¤ÁȺO¯RNbHu#‚9$^7¬ZUuR±I¨}v;C):öIi"WÓ°$ôÀóAÌÁ½©‚RT)¨$`œ”K½ùù´›z -$ -#L– UX䎄«# ~]¼ð¹KB?€³FsLƒn»Ûít{;'÷îÈW"wÀ&ÎuÊP§‰»fº0?c1`ßÙÅÚ…OkÚ-)¾;Û=ÿÀ÷÷÷ÄÖ^«Ùm<רÚ2›â€*³OÍÌ~Wirê¥pz|ø~³ÑÀzÂÛïoVOÏ€æ<éŒL†f¤ŒS"*r¢RQ^tH¹¢?L’£`DI6)°`R í£=aÁ<êxóþAЃºDœÀ'lk¦‘Ä>ø:­nÂHaGP›ÀâKA5øºn%ÉA]ÇÅUžžcì.˜ÄãXfIº,¤_ÂÌð!üL™’».,>ÿÖ¿çP6.„“êEy¿¥Ý–pÑ¥‚,?Ä_ 5ܧˆS‘h>d³T×ÅQ8”Xš£D›Av -;ÄÎvañ÷¢Å sà°Q…Ð ªt˜uF*yÌÜ‚7pa;í•—^i,,¸Ý®U­Ž{²ÓÞýÅ‹WhjÆGkÖ¬•ŒÑï{´HÔ|‚{éâÂU¡G7–þqJ|üå/_{ýõë~×Ëf\ -vXHlA«%#î -bZaµ¦éôP2è]Õíl7×V­Ù9·s<@ÉA=ÏàâÏ/^ÚÚ|vxåÊ‹+ ýqïú ýçNY&-¡¹\Û³}Ú›wýnsù,%]Ñß:{.ìç>ݸó¢—ût£¿¯;­f@d~`íe {hø"ˆ6A°PÒ ÊÚÿ4š"Ý=·»'{Vyk,؃q¾$~‹Žˆ>À‡/LâÇO›Áˆð8Jû3ž©›§ŽwXÄ]H•VÛ©–¥¹´ý  š’A]@ ¬ýpmå³+V'ÿqÐyz©Ï€šøï‘`\AäÁÑö Á!úkE–a¸½~L <"™µŒaR*è3ê(ù+%½bœ1Ü -²Ë´ÉRtØCtv ø3£aFsÍØq¦ÈbŒ!aRŠ'm„žƒÛ@dƒVöÚĶ‚¨ö”…^è yŽx‘ŸWOsÓcA[UÃ¥“þATš’ãV¡Õ‹«*)©…iV½£¿½E¥TtÞúñ†=ãÛ³ÜtÚ]®3f'€“¨åô: úaÇûÙuYÀ±G1è6=™( ÖÎyÊX´WÔ©iCõúa&ý)=Mx®+­-šæ øag Þ’µqFÇõôPeAÉá$ʤF`›µªéù¬ª´S®ĸéO•ÐDm=ŠVa¢¢óräšgj@Uôö°ô Ÿ3 &ý€xÈ^oö¾Y/Böº>u\µÀB ‹)¾7V¬†œ…F/` ¼“ -zJ›å/‚=ŠXúƒÐÞÎqP§ p§åd­ñÇ)»6³œJy—Š`8i$jí]´ÕÜݰ–†‰D¢ÍΕAú·[¾U—³®Þ¨êE¤ÿÂÙ­¨`8ûìuñš – ú9róö<'Îî¨S3ÆÅ<ó´½°<ÿs½>gÏ=m¯¾µ¾´\ó…ëíÚüØî©äšø@ÃnQtN(²Wt€nš‹ ,ýâ‡ÿß×^ù >Ç )©‚2–vÜ{%¸wRx¼XŒ)Yåq,gâH±kŒži|F} c;.¨~˜Á㋬²¨ä;^ÁUš) ú¹Q$('È`÷<ù6qT è=þ9Ž?gZŒzìšVìÚ‘©ÕX’£¦OéˆÙ\?7Ÿ#Ô’ø µÌÇ6–àùwn¾)©ù Ï÷i‘÷1_ƒE1Áû饄»·0á_3­H«*U¨à€ÜWx‰ªÿÖ{à€Ÿ³ ÏØô‚€8ÀTDPÔµ'5š¶š›••«ÊfO¨ðÀü‡ ð`»·VoŽñùAôÃ/d'ÿùñ&èv³è8X.NÀõwÖXôÃ>{´Õ‹mÞ`Rü÷!. Ðàä#Å£‘@ÅœÓÙæ¦d²N¡ž=R7ùØ–Iÿ’¦èóäc»ãX&CëÔé§³‹ŸÕ@©Tj·Ût†¿d -`¾á{£¹°„~˜ÿüW89ò{™ …(,Ô‚’yfp¢ß®ZE“¤ô/•`……d5ëXÌe2¸J¦×9-‘I”ï{™o±áÈ{ ‚ÜV6à`Ûë•1e£D@QW -NX+Ä)“¢Ju)xÙiL³¬áètiY‚ºK~+bXâòí²ÿ± •4ö\aœØü×Khq³ªD9^_ŽMÙx?a§Ó‘E嚺¡N_‘Å‚9éÍ[Pž·ÚÓcÑ“©lcÛŸ7MUö¨8ªS˜ÿ¼g‹`È»{RytØgÝîÁ -À°Æ÷P{ -¿±z -£@Õ“¥ìu®…ãc›Ê¾I ìñ_GNK6ÿA ¬o`pªµ=¾C0ÿ[÷E£^k¶ÚÍíöµ+—ßù1v´ÕëÖÆOÛæŒU#ŒCC…nÇe‡=ñ¤-¡™©$©Q›kßâ@|25ÅÆÃQUÎ4ãúT‰ òbÑÏ4¿`ƒè·ª*øa0ÔóTÃtYM•¾”R•3$_xÁÙœmMýL SìxsZeÊqÄâfÊÅr«ˆµ· -µSÁݨJ0@ÖLVPaµùy˜XlÓ%ÔS­lXÓ¦³uçá6' -e bUÕµ–ô¦ùn…x'À@°Ix"` -¡S\1ôiÍ4õöÖVœ(©ÐÅ*¤~ƒÃØ£ö%ê֞iàMs@ð„©ë¥NZÎ{†^A_±×FÃGAOE>wg§5_?»öæw:„~É4·oã<]±}çPëîFãéšO‹êòË_r ôï´ûí!w£µv|ØggqúF§¹å(j\›³ÂA»û°ã¸ÞKŸ]™­×æÛìkÄ ÄyÈLT?Sï{ý8 ‡ãƒ4¡2·•€@énÜëûë™ú” Ì`[dQC: ö‰þ|ÔÒ༅ºè«xBïéGv½235…urä€@@Hú‹ÏªdL]ÕÐð·Qe X^¢D²B =ò1Y7 -5ª‚!v¿kŸšŠcµßë#\"Ö–a>@vˆ‘…Cöàvlo9¬Ü‡[vOŸ¶gKž‡Îõ1ùÆ@rá‹Õ2iŠ^™¨X†¥kz¸6—61²Ê5·ßÖ†£þ0bxW,ÆFµ*Fí™kלÖK“:ø%UF„Á‚žò]UáS^/0(à îúE‰3ƒö‰H[Hâ_òsÛ?¦œ~Dg¬1‘!„“ìg„,áÁZ¥Üèž@6LÀ@·æa÷QÇ`›(>%*1˜2p\­›Šæ^詳|É+=:T³¡1}bŸüü>B=†iZgS õªEC¶¼Ù·Ð¨ì¾ Ì#ã„¡`€CŸ]RÁ/‡á+©x§z…³©‚0ýÇBBWûûÁö]D1ñ‚°„ඦò´ÑÛê³¶•²Š?{qii“½Û;[­-UÑ:;÷Ú;hm?¸KG|›}zÖ!h û´Ù:q¯^O‘0è·TOªh?á,:»ˆ­šbÐ?÷\•1õšwäoÞn…òÝ××jus¶n]3mæL¥ÙÙ0‰mžª”ÛAe -˜o¼¹¶x¡í †þ6¦±sÕ(èÂ*2ƒžçî5k´–%8Mq,£óÖSV¬ëYø™d`2~?Êñ$Q¨¾-‰D!Fñ ˜ °”à -ªfðõ£Á<‚ ³P|Í÷ƒ‚RЧ Ð Y™ˆ¸¹i<ùaÊ‚eà±ìÖ§…©fÙ€ˆÚ´ŽqÕPItsõëVõ¤U9¨E=8ØCÂzCéé@®•"GjÊ·,Lƈ‰o\J‘Uj7ï·–Îå0rõHI@Çumë8îwónëú÷W¯}SA³5Ôí>³±—&ËýCª´ÓS¬‹8ÒDPLz$:›¢$Ôj‰á‘ƒ¾KôWøˆ´{Ô@iAð]é èÜ!(r,fœJ‹ˆ(LCÀÕD™¯Àu#X­päR~ãP2j.3•ÓðhRó\9Èá\fòÔu ~’6Ác´ÓžŒ¡î‡Hæ¥àÈÓü'V?}5/¢ÇX*õã~àœJß)«Të"Ë4p¬?£”o¦È-‘"BU˜À]Ë¡2*M°ƒ¨€n;èS%Øá¡ôçüÜ  Ð›±ý]þs§çë§ç½ÎÊÅ—e¨‡pn½‹&TuÆdGð?VWqÑàŽe›*ˆ,k¦þô„1®ˆµs. bWR¼,ýÞžÏ;–®îøöiœ`{».ìUâˆv:Hÿ商Óv;;Ý•‹»Î<ú·þæ¯^ºúùoÿ :ú_ù­¯ÁÉùóÏ/]XÙø` Žâ¶Vk«þ$ ™cÜÿ_¶¬…ŸƒÓcE+ÇWôi…{M°äŒú9 Æ¡‚\&SîÏ” ¬Ê ¹=*Ü…ê—Ë•¥¥ó†A1ä…‡qÈ”Ÿ°“ÔõÄ ÂW#BÃâè±A¢\Ì>¦“Rcƒôï¶¶@€ôçðK©¨3¼;3)YãC•¶Æù³ÍÑÑCfœ`éG-wí­öŠ ' ->¹0”mÿäbÏ=}¶±¹†}õ×¾ÄÒ_ LŸóÿØ\ùÿ«óçÀöçWZï¿Òö'ŽÙ—¿‚Ò Vtó.›']îºÊÔÀV+E° 1¸ùãæ‹¿€&K‘zÛífþ,x|aꈲ•#cH;È­i©²… rˆºÞd–°<üþÌLôÜ0§±Wþ)f:9ð§4ænè]™` ÍÈùwyyÉ´Ìv›BùmofÆÀp_¹Gp,@úºŽ—ÆÙ:èØ¯^YÑÏ:lÿðÐ×'+V¥–‹ã6™íÄ*ÕþA/VÚ½&8Íò>È}سk‚ôbùK³‚ðÅTL`ÂQ»€ìCL†rAnsA––ÿDØZÙF ¤¤álŽ÷öCð03¹G´Y%5keÇ,ýHã - -ËVg˜-ÀQÓU™¹1ͧ‘9»+¨Í<•Ô*3«`‡š¦yAbš$¬õB©Té÷ûœ„oßo©¡§ûÈ/(l†µD¡d¼9Ê^öÓî“8éfx›6b‡y”¼ÑS“NÏØƒKºš‹Š0A· ŠÖ>ý -а{`y¥ ÇíõjµÙÙaæIýÚ«©H¥uÁµî£€:Ñ<Ы7×ÅMÁ: pl‰ 5èøú™#ŠAâe¡‰)íq¿ë;;=®d]÷.Hÿ™SÖæMø À à·åÙ¶Aô¿ü¹_Îþ¹±ñì àüÛÿç7¿ò,ïÿÛoÿî?üÆÍ»wo}ñW¾r‡DDé±rÏlã’ò PššfSY#Ø úYú3Ó Çx38?‰î‡õÒHWþœŠ©’ËAP¼–<,n,´Ë™Ö ýÓŸùáó¿(‘Ü€Oâmãœ'>R`~‚ Ž3‚¯â¡8rÛeëÔ»H ý/þÖWá¤u¯™Ei³ª‘j'Á]È€ˆ1Sí(XGžÖ#“þ?Jеy»™¹'íµÚN2ÐÕÙZu¶Óí´o|ï»IßÛßßi0m9c®\ÿÎ7ù¼u{@vñ¥W¿*éé3ÝÇ¿\n`ûó1¥“[à´<6ÿÇj€t€Y+öm<³ÎÜ]×÷VpR™6rD.Rúg#hkÐbtºžsòHY·}ªÜma,÷Ó¦3ÃMI$‡.vé!Ó pcœÃÆqù`ÔÖj&©QY®€,i0Žæük³ÇqaÁ (-þµ§*Ȥ†â’*¬)˜z°ƒà‹6×ÞÁ‘¥?›ÿ‚舓¾ª”Z ëÚw{žÇ^‚ÐK2ü,N£ô׸懛t¯ç©È$&²ÛKÔ&³VQ9M’r§`h`ñeêdðá f\æÒsy‘Šqû£»·7Ö_$r:o¯c< ¸ð´9žæ@-ølÍG#)ý÷eýq:|Š+8 ýÁöç@–xSÆ ,°cýɰ3lT¬ŒŽxؼaè ÊHØ šm9C¸ì´¸î®g”$ý/+€2é†Lë6––ÛÔˆ0Gr¿”’ ¶w¶ô)«Ý–®pc»;1=;ŽÕÇ´IèðÉ6…û.‡€¼½~¦†B™%dÆ 3‘7â -•kÖü|Õ^ñ)qŠ m·dàCîÐ5ß¾!1À °«3KK—>üéûàð‹ßøG ¯ûI.#ý_âûŒ¿û;ßøÎŸ| œ€+Ÿ}ùú›ß]¾°b{³,À&«uÉCÒÝÁ“F&ýáhO§Sĉ7š0¹âR2©Ù ©PÌ^¬ k¥pZ®-,.1ê‘(Ò –Ï5EQ¦Xç^rˆ”Š3ƒ>¬QÝEóÃuwǹüê58r‚Ë8af5!üœ­×·~v§~ᇺtöb†:csærºÈû¥ˆó†µgçÀ hÞßËÊ‘¨1BΧæ6N‹—¯¾¸|ãGï”Ê%nÌ1OÕÖßþs{þì;áz°‹úìº?û—˜}™eÖÌûù_úU¼ÃÛë•“ÕÝpÜ_<ïlݽøÒ/Wí_ôZ­–t¥ï91IÕ¨ ý=dϘ4 -š1Œ‚dH@u{†]› è=1އ%ЍÀ:³N=Ëß„N×üdëãîÖ=*§ó\¥\)é¥ÍÍmÏíb=8ÙΊÎÖ4êzéÌœÑ}NOaQE  0u 2>PØÓLF‘CÁßᤫ•Ð:©o|ÐöÜÐ>¡#9µniE=ÜïØ–áìâ+…ŠÛMx4õ©–×õ ucR÷ûn´OCièQªv<7€ñªÕj8 7&±zlê8Š-bep\·)Í 3s5§Óæ€á¹³³ T®ÿ?UŸ«^yq‘~–\«£Q—0+r1ãôaô¡3*$A?Þ?ôÑÊ>ÄvŠ ö•¤dGE©T3ÔZ2*#¼Æ…ð㾨â£T‚~_£†•˜ì ÄÉ]PqRÄy³V€£®z ý$Ô§šF ³Ÿ*)!"w•ƒ(ý8‰ÑuüɃa8@á›Vš.ÕN7¢CÕš6{Af&++Ko½‰šóÙ…êÖ–3W·Á…Õs–#[dœßSÔ±,K›º1] ö}}µC4¦Ô ±Cή]45ªxáL ¥¦¥1ïéƒ3 ôI¤y=¬ô@©¤«í]·ö” “$(ªFß›P@Ü rˆ®&øü,pÊ 0…ÎY‚nôG+jTµ†j+iOB¬sëDa2BBy¡J¼såxLŽT4Hº».ؘa?t».wÒFQž[aÄ7»&5Ù¹¥åþ~?Ø *âìîx]* èv½h˜lµÐ(»ùÃgOË–YMKZ­ZްhÔëUX°-[­S(©b)/~~¡»;vca¼¿qç7߀ó«+ãÈÏ×þþïÂñ½[·®|öêò"†ˆï?CPwnógЈÖuÓíõ»® -à÷ÿ—ßÿýÿî÷×ÖÞ¹õãw¾þþ“µ[7á +Wh|•æ½nã ®ö˜1|WÄê~þ"DèÀÃ/ÀêƒcLQq¦æŠ¢| ‘é}ˆÖGåCŽæsfˆ’Fª,èÁéÕX"nÑ}Äæ«×ò4–ã+š¢ÄÉ‚mŒI§)Eíh3jÿ0„=Ct0L+ð\ó´ »›6yÚóà‘çlià¹Ï”¼‚ç¨î›a^T,»N»s©†ÏçÏ5?<Òt{ýÍUøY×ð#þ§÷HÚ¹7n¾Ã¢K÷ -@ ˜èØUEÙ¼ùvõi´Dì§æíÚ8ò§šë°ÃIçãÍÊÉ«K/`;˜ï’¡±…]Ás^ÔAú‡Gt©aÏ)M#9 ÆÉ%ˆ¤”‰0:Q)c®ë¡Ç$¾b¨ñt &ñü9)A ,.ΉOØ*¦ºýññ¬@+œX¥5‡B•§8þAÝŠö©þr&‡ÃІq=Cv(XÕ²™ƒéoÛÈ8f¾OÜž‘7Üéìq­ " ¨^Ô@ -€¹F·Ž-uò&ƒ¾mˬ€1m´¶»ßù77@ œ[l€¹.ÿ8õG›ž»ûXn?bììü é÷Ÿ ‡#¼™€XˆË“6{ x'ÔÓÀ¡¤hØ×”R¹ ¢UÁ檫² B:)Lƒïûi¤žk‘±y0 ô| ñÅ@5ækŽe|´øË"ŸQ²†Ó©Ñ]«Y®´Û®"´3ós[[­{[ÛºRÙjâ39óÌl½nm·äbYýáí+Ÿ]Ø&ÜŽ3Ϧ!”Ýq‰”=c#gFV}ÐÚDäø1)‘®Áw\¯ÙîÌP*žûeXoçP0à>V¿LqUzŸOÙ³ÄzvŒf2L# Y¨[ -H¸§"ªº½¸M•NÌËX¢Qã -¬t쇩"‰°I{Zþ$à IDAT‰wÐ~ƒ,ÜAa‚4+ÜUµF‰$‚€©T¶F¹µ»bV|×CÇ(묪U³Z•:2L¹›Z­nyJwvña:N·ÝÆ]îí©ìžûÔ¼D=M$d°ýê«¿ñÅW“¡=¾ð&vϘö­¯®­­ÒxÝ\ý!óý“F -L¹|~yn¾ñÒU‰Jð•ÔEøÆ?üFþÁÞzÔ ¾ù¿Ó:9sí—¾øÍ?þC8Öês7Vß÷9­ûGÂr¼>Û4 û“ŽÝ ƹâÉ™U¯ôçãDû~X{Zg|8¶¶Üå_Äh{Ò ºÅóŸø\­r°ô$VRoÇ1©älÿ€ä²A`û¿ô…_ö\¸ïfôÝyD~^rX™.?ú.‘ÿ²4ˆþoü÷ÿìØ—†á‘@Ç7$¤Ï½÷ßÊ^¬7_|I £Àü÷ÞqÚ÷â›\þÌËÞžN€u -v9ü‡]Ä„ Õ…v&cš§71*`ûƒô×gqÏÉ'yTMéGôÄØËÑoPI xåÜÓcéæ¿ ']ÖÒZò½€O‰>0ÿÓ盦äBA††”WÔ*£úð1ë‘óß´t8Â.0d„ÄR*¦YZ˜›™è?,^þ†Qr·’æu{~Ðjm®\:Òõà k¥b‰;³øE{¶æ§o¹#ùˆ~Õ{]Î1ÀöÚk×àÏ#ðÝx‚kŒ¦·Ä˜Í%þAD Ö®–Ã}jêN‚&64¼g8¢„Zo†_Äç ¸g™‰&wVƒÏª4ƒŸã{à÷äñÜ3'æt…á4,Ëø³ûöü|}‹PÍ6ÿa{çÇxÂ<$™`ΘkoáŸK;mÛ§@ÝŽµ£Aô„Áa Ò<»b¨…ˆ~¤*/éáÖ˜‚µŽ¼Œ‘¡E²OÀ ØÑH×§ŽI|;öØA—ä› ¸8 -&!âi—Uþ úS`€\ª®Gƒ¨ß¹Íý€dH¡3l×Î[(¬ŠÒ ý‚<…¥¿`ÑïùiwB)ƒ3©ädb&áIê*˜,´œS¶ÖQ¸ý±,*ÝÞî¶HãÂû‡)^ËÂņ(%†âÕWH_Y¹"þAöòï±0tmýÃuÞ›Û[ÿÓ?þG‚²qH,-._o=ƒ™Ï{ËøêÑûÔuë;‚‘F,ýÍ£‚×ߺ¾²rNš}Øxî¼1©²` k4-4pØû!“[! QY Òæ L¸Mr_Ê܃0¯²„ÌŠ*€‚’‘ˆi…q+5ü•½ -Ô+¡”þ0^30J:˜ÿ Ä”Á­vÜláí'ì`ÏJêQ=^­¹ÓzÔ‹8þCó!dœQA¡Î,$0ø#ý$¯—6šÕ«YÇ€Tèyur¾»;ÁÜœükÐU™åíöûÍæ® ZüùZ™Fiö…W¤€ - ·]ù,Ç B°ýåKä\ráÞööÆæïÞnGüKü;耵Ÿ¼æ?Hÿì:_ÿ”ÂAø_ýÿó?þ_ÿkA@þ‹œ–ê ö×; ©Aú“À4(«Á ¹>16F¹OV•ŒÁ8Ô¢8¶ù/ÈöGéŸÛ¤¿E…3ì|AßÀ‚I -XTqf“çhìA8ÒµÞîÞ¹O_#‘‘Óabhd0öö{~Îy°ííãjD÷½¨(àÈOª ñ¬ª% Ì‹è@A~ç™Ó&xííf«¹ÎÈa¸ïÕž[#‡hÕ™©©ûê+/ùÃïÿú9B\ØÞÑo¯ƒÙU -·‚¹ýðü—^ã·™«0ìSà’®P`\°~ávå­ÞpÚmÑÖ½æÕW¿è¹çm¦j}¥õÁw’>³ðè&)ûA5• ÌÊΛ‰DS -L—È¥;~Їg8*$žëaÇ“:Eu{ÿ/goÉuß >vu«XìbÕ4ÙÃ)ŽÚ3žÉH#9–2ÖXŠâIlÅN´›µ×Yçp› @Î »H`àE‚ìñ%6֛ݽóÆ›]{“ÓÙëDŽ#yÆËb$Q¦8šQk(¶šÓdO«»XŪ®îû¼ª.’#opO…R Ùݬ~õÞÿûÿû…àÚ{dÖ%ÄJœ Â9 ûðJ×™u‚ý‰”òª:Á$0`c ÁŸ4ëŽÈòh:XfNíÝ¡iV;·Q ƒþ Ò_?BÙÃïÇBQÓ¡lTÅPôà$Á”UƒQìíøUǪVULoÄiôÏÍ‚Y`¦¡#šC¯n\šŸoo¶L1 pÙÃ(§Q4¬Î²„ó6 ¶Þ‰àâG/ÿ¨Z»}æt,ìŠ>i8)⫚ÌF!Xf^#9©§{ý4Æjý’0‡©*FŒš’«Ö·”œ$ìcè…;ðDt$ûJ¿Ž:‚¯oÆIçŒ)t&tÎi›hU‘g9¤ä31KëeÐ&‡AtczX^iNi`–…Ù†ÙÒ&KºQb¡æu=]“¢¼Ýn#ܦNˆªËu1QcéûÍÛõw¶½nÇmµ\¾Ï~°Ò8]¯_¸±Öò磥ùS274÷ͯ<ÿÊ +ë?ÿÁKW~°?ª/΃Y´ÉÄô”ñZÓÑñ rg†¬A-¥c‡µl¸dai.”TµÌjkï:VO€3‘È.“ÜüD´mM#D¬—Ùr‰Ë£^2Ó‹M©e`ù,ºt “À#Ã"ÉBm55RÂ^À:Ô*ܳwŒF©ãLsZ^w,|šÒù(0•ÓZc>Çßõ@¹×ë5¶¸ |‘ö–eÕ°I¢ÝØ!¢½pQÊ«–5‡§x€Îð<ŸI@obèøþ3§z×£/QÀçÕõç_|éùæ ÷üy)èKšqù‰Çøúòå§òÏÑÉÈxì'QOä± þÞÏ}OB=wv:íî7þý›„)ååw?¼òÃçíYíòûžû -ìÎj£fÏZ6e¾½Q'ÒìÈGDRFÇëlyUG B°3üÆÉÅ[¯û»amÁñý Ž(96­F.Î#ñý°@ë;Ð;H)šœ{ ÑÒû÷æz×÷ãÇ )Å`;úÓJ ‘ˆÆº1|²ÉÅ<íAÔÏÀÛ1é®sl^8çh˜çëÏx?)VDå $¦eŠB8bå;×@dK_pɉsÛR?s™i­^‹3,½Ÿ}ßã_ýêÞѬgÈ«îfó…o>sáI‰&jŸÃÌ:‚5ÍIeyn»ïE`ûw6šçÞ{yzÆîÞÎÊ\E6”Zµ³½í³~GVˆæ Hd…á&¹aÖÞi¬KÙ“9wž);õýžÆ4?¨ÌXôÁAÌ1â˜,)Ža‚;«)H2? *‰iíˆs-¢S.†9àúQüdTXñq„‘ÅF"¢Ø†ç.‡¹&±·/?ŠZÖëF¿]àæAdc‘Œ*¤þ×mîve`ÈàÀk@nö2û˜îŠn§»N•Ä–c5H‹3.1»üfE÷CN¥Œ§…jœA»æhˆ –Sze}að×åC¤îD¹iÖ`ª˜äÎxК[ØE0>^éõÚpF tø-žß¦×Ñ~ÈÜa9û˜²À‚I°_7“-vÕ~þû×kYt一ðàbRét:9}îìœÍÍ6µz5¯££ìâ¯:[ÝÚ|õ™o^kz3\€E|a5e½> {´~oýkþõ b^q凫ó„Ä7ÉrLDõzùŒ1ìŠ «ÈFÙ+à0´WÁJ¤<þyè‰Êp^vfƒ£HS&9àfT†;Í Ž‹$l}0ÀkA€&8œŠ™‡øÁð‰ -u}ʨĈá¦(²òòSCv½!úÅ å¢,0x­DÓà]E(S0! B!\ÒŽÎZ2¦Ìp/€³7‹l Ÿ?éÅ1¶çvúDZ -»A_|qõ¥¿G§í™ï¢@æoŸ½ðvý -6!=yÿ£ïATüK/‰ƒã±÷J…ñØÅŸφˆ@ôóuóÖKÏ|ç›|½þR«z¼×½íW[š>ÆCeþNüüÇ-wç@™5"T¢NË÷]7ÕvÓƒ³¦kÍ7=ÐyA>jVÑ^/Á$0x{¢sL™pAäz -–º(J™[iàÁ·cO\ãGèÓãÝØycȈê±VpÒËó¿óÊ‚Õç¯-œ8Cy3 - ¦Ò(¨ÕA_uZ8g­&Šï…Fã«ÿî‹`òk@ àÏd:H%ýÍךØ{L -Ì8^zuã›DÁ -: òenÀ°œöÍæ×þÏ/ÖO6@ `‚Âð«Ñ^š3¥C(7›y`çöÖìqÙ8Æþ/•*?¦¹ƒ!‹1d1æ$'‚#‚êàæa;0Q©Åœ®€“:@Cl““`…n÷ÕážAÔæœö–ÛÞŠÁ qL½¿2'É¡¹8ˬ¥?NþKDÎc™<]?àÆ[þzÙ<ÅUô¼@ðΉ -»‚D§ÛiÂŒUk%­”gŸŠÃó’¬nÂÓ4@ ØU“¿#Íjæ°{w¼•;+ @°¿Ÿ‡}Y Zê”®fü0œ_/X.{.z‡«Q9ì¢Ä:; ÎT‡¥œ°2ÃýбpÉ“Q‡R $Cn  ¼¸‰œ«Y´ÉW©<tüE{.ÃêfàÀ†~î‚|…¾rQ! D–ä¬Ö0ÿáÀ™ïŒ5=bï,Ë\KµFÝ›76›7[àª1të[†/\]ÐÞÜjÜwHÿ:%u×^m.PM½ß .=rÿµç©Áêžšƒ;R±^1Á8®‚€³ðaŠÈâ3ˆ¨1¡qÜ,Ï ä@Ä1µ˜9<Õ 1 XLƒ¸©­u¯QÓÔ5N' N•M…C¦§ShÕb½Ž"ç8¶ŽdtyhN·'!@¢¬Ô˜Ê(v³G#Î1OŸ›.áQIw£±:`ëM”þ¨þÜÈ=ôˆÀ&Á €ãì©û³?ø©•—%V*뀫߿zåÚ•?($‡Ï?´Üh`À9×Åæ¿<“÷ðÌw¾çî®Ä£`UéBóVTµ˜À™Y"ÇòîøfŨQ lÃ’¨za/ƒô¸û–¿¼Üð¼ÌÙ™yŽJå.P†ÃáK¥R¤d˜=xðnaÕjð¸TÍßéZ³ÕÞö\œzðraÈÀ0&UPnéºv,@u¦†qžOaÍ1¾üæ(v¯}癣÷Tà!MÀüÏuãæ]°£a€€ãÒ—:BÆ óïEj is:õzãÁ ,ýá æ?(€êqœÙ°ïQ×µ\啹±8C@ʉXؤ?–ÊqeKæ9%àMëüuÐFãvV˜^6†’C°Žy¨¦(D û$ ýçGåÀ ÈÛJÑèÅÅ:hðrÃQ72BËì5Ð)2}b¬/D‚Êž+µr¹ºçÓË †À^0Ãw/ÍgàhÌQÏJÚMB£Ã²ÎÂoséŸ&<Ç› @¤Ù¬íký‘q™ñ+ÙVÍßÈV9Hœ"Ÿ*ÿm.Å·h&Å|P¬«TN -gkÊt3x¢¨@õ§1¿”„­)ã²gAÓÀßQèmGX.9YR'Tæ*M°Ùò¥ @΀® Jrò?Yôöcïä?iœZ„ØTƤ`Y¯eûÍöÚ˯/¿û8‚é,ýÙØ|«³xO Ž0 ‹0Y"ƒwæQ!Ï'q/Á¾hÙ,Mh¾D+‚û%ÙOsë>§íÍ’?‰}Do0Wè0уÏÄ(ÐHÕhµÇ vN€€.$oéuAÒßçfcFªá‚z¹ò©›šõ½Jd:Ö0Ò¾S– 4AŽU…S­±ùgš«Xª@@i0íRL`+[)¡Íd5ÇbˆÜvŒÀï@P IÊ8=¯/Ä\‡ z²tRµÊá 3„­U_f«MX-C­Œ4ÐMAXMð(»]¢úC4Ž ‰5nD¬éºŽàFqÀ|#AàsòÐ6¿7 #.éŒiLšZ9výN´ä9ƒ-Zä 5ðèÀåž:ûà}ðO>wn{•}ÎS¥á­×q[•JC-U~㟢½Ù%aU%2 -’âiú‰FÝ U ëÁEHv%ÜS“Êʉ>ÉÒC u婪|ìlmyÝnóúzã4zâÃI°F€NcdOfõ,A÷€€yH$‚Ñ^ÐuÉ@–GƒÄËp~òÎO¾ð2ø‡b(#7V@ ¦‘BdP•ë²™pÊ&\xX-`ôð6æ [ýœøX)¬¿Ö©VÁÂåp²•ˆi6Èâ~„ପIØP …¯YÑâ}4´á fSàbƒÿn=0®chUN™zdÈmD(e™êá`È€3ŒQš‡üÝHŸVÊÄ]n`A¹O5$Í7;ac©ÁhòÅÒ&œ¡¶ÅØ0œgâÌŠš5–ƒùæˆþ8‰‹lk`ckU%6·”As¤°žÁ»Š“N¸Jw^ ¢NLF†*£´¬ËAsäQ˨\øð£|½´°àù=7ÈR %ŒSD?:ç9ଠ5ÌÊÌÀ˹‘-DYÄUÑêt¦¦TÏ—ÜÁ¶5Í<Ž‚ªJº·+ÕãÖ•o­iqI\}a¿Í‹ˆL uR®BÐ`û¯¼¼Â -À²A¡YïÃ9E¨‚¼ÊS6F¨å!üA'gä1-™Ò Py‰£Ð?‚¾Ç|é ¹1XùÏÄŠÎpø¼fœûõ¡TŠQä™÷°Ùm­¿Ö~ü"U‚¶Zµê)=Éo}»{8@J:@Éx-ÊÍôî –[X{åÝÙŸ8 ÷Ë,J0ÒAîÛ²êWEö…DEó¿°®À`éÏlÉ;eÚB†Ñ…^¼¢ê…W‚5Š¡*eÉ.S©F%”Xíê¸q!ÍÃVªVÂöÚ)zÆMbLi¾35ÉÑC\ÀÃUÈ>HPž`\·’{„0ÎÎr¼?#Ö^cPv»c”—‚u˶?Ÿ‡û -'`,-”øà9ÙmðG¿:à•ÀFît\ZvXÀ=ÔŽ÷Xp¡5Hëx?(mØ P¨QXbGÇ‘á_Ðÿ9,œß˜¿+ÕCÏÅ÷Ö3\pØʈÃ-—#²a-ÍÿBœä¾·½Å! Þ* ýÑç¢æ>0ÿY¬Wçgë pvf‰¨0MíæôM<öÂ@Þ_À6 @Þ¤: —¶µ…Ú]¥?þõ’|ð Œ\ú÷Q€í?³ -À©Ú® žzCϬEŒ €Õ²¾²jÎnwgùÑK‘E°i_³ìÌåÒ”êýàä÷ƒŽ`é¯dØnB\oU®@ (¨ð€ ´«µd€[‘—»U­øwȦœi–!ñO€QªIìïÙLnÁ]”ÓNö9„*^ -÷†ÆTI T0ÃÁLÃØhš2®_ ë7)9ðùÑ~ ¦ïzAóÕÖ¥ÚòìœÃ ãI²aÎ^ÛÑ‹ÍSôQˆ:@4ŸIñ;çÈp±ù²çÔMÖìèÓ‡½LÜû [×ìõj ü\róŸã?ö4梱€?CàbÒy±Ü·+¶d‹+ƒPÕà'FàRB\~™,ÆÄËŠÅÃt¼tÍbéÏ#Ê ›\ImT¬)+¸ÓÑ/_£ÚpL -%ë”ò¥w(¥QX ’”†àDä072#ô2æ¿»ÛwfHÿ£ãCýyAj@IÑ\«Ú·Ð¾©Í; @úƒ¸¾FUX3 -ˆþÊ1sáR]YÄï¶ò÷ÈÒÞ¸o¡ùF«~Ï<¬gn§€ ý‰ôŸXú£& %ÄÒŸû‡¹¯r‰´ IDAT‹… ‰"U’s>ïØ‘¤uÚ"®ö¯a´Y-V‰ÌHbeÉðbfEç×À_9D‰‘#ÜÕª*wPH0Ø¢1eD²Y¤ñaÛå88østDx­Í¬d‘òg·Þ¼Î:ॗÅÔþ0ÎÃõÐ4“Öæl8”‘ÁÝΠÂýßË¿ÁѺ R(ÍC@¦3V\—È:D?†Àv¶L*›±67à·¸Æ&8EcˆY4¸.«œ¦’PÀ+›Ô`wbM¥1K‚‹t³bƒ¬ðªV¤ÓgnüPÔµ{C#ƒêÜuEÒ§?Sò@èøÑÙ §_ø›çqmëN°/,ÏaZ¢ŒY+kôøÂ§Ó¶íìîÛÞÙnè÷ýôãÿÏ×1Ä#¼Eǹwv:VJ D[kõ…zw;ÁM^ —?2èE…§Îþ|2¬¿àvg•°%Î=ú8ׯ`$/¨D¡zVŸ=m­q(0Þwz>£W¦Í„,ó -hðÝáFºµ¨“Š1¥gÐX"ê¹–&jþ¡ÍõÍö8X0瓺5¥ÓZBhþþvLD¥o!µ û½\†·»‰5CÑWX¦öÅh ØT¦…ûýÈr*7"d¤šTðó&RÈ1üý¸V²¼g¨ˆ!W -‚Àö)|KŒ< °–ƒ°šr?–xm˜C ¥²©! ‚Ó‹˜ ¸§CÌsÀì–ÁEH‘•=íõeµ6OI02´š—LW8ÇL¾Z_SR”!,¡‘¦¨*BÒÁr1 -Ÿ`!â±€j9[ÍØ<”‘,„W…2(+å,È£L¤~OvÒÁ0Mkk{«Z­q'qu¼¢ã–1¥pˆwZ¤iÏˤU°Ÿä#8\-‡Ÿ_й:窄q?+ðN=›-Ö1ÒÚIK0{š¯ÃÙ)£=äXÃpG+[¾»Ûì ¢ú\#ˆ¨F…!F&(!1T¼;=}²Ó¢‹x4ˆÓÒƒ³íÁëâuÍärIÐÖ\¤ßÎ9f›sÎÖN{ý•æ,”’î÷=kÚÖõºïmÁïC¦%d<]œ_0 µ¹±Ü)…="üº&1U ÍÛé4 Ù¡6(Yº³ÙÚiµºþ'—®}ïÅÎvïÜ b?G¢4¡XǸ޴bw:ÝxéÓ{ʶÆÖt™´ˆÀ6Ý„óChãR0÷Ñr -œz #%M‡ -r:[¦Ë1\-%AhBHf O’ÃgšÄ¥¥hØ.‘f âo¾96cš)òfPKJ§ÕŒÂÈ…'JFñü=K:*®2ŒÁÿ|ÝV ÝGÎåDAÙŒH‘0„²^¶OÞ'Å¿÷ô©óÑŽ·¾l²­Öîí[m¯mÍŠ-ü‰·“%xž5;.ŠÑmÛ%>mÏ­× Üÿ ãÄÂII*‰Ó6Џc#pÉС^‡`zÜâjVRt©%E%>—[o4{Hè[²µAÙõY61è˜[dÿÂØot™ á[βXd>üö©åK÷?|Éw»–S…»¢8!Ygj°ófSÑm}†Êì -a\ìàH“µ®ÃÿüÂgÿœŸþï {îÙ×úûÔŸ€ƒ¥?Œ¹Ù¹C/Æ7)¥6Ú¯·æ_oÕÏŒ'Ú #Å‚ó_¯w3›Îæˆþüe ýCn"ºú´¬k:»È"É–ôÌ+‚œ8ĺ¹ÓögëÒA›#>áø@t¯Û »]Âø&«G5à%Ú£]²Yͱ%Uñw¥(sZ¯ÍKt³±À_\ÈáRÄ0´¼@sû®VFûW-Ô‡9³“”]ÁVVüS( åöQ8Ï⺮lme!J2Ü…¿‹o´fä…üÔNd¬Š (ì´‚å¡3n°0m3F Ä8ð‚­ˆò*ë€bƒŒ~æ©J^ŽBs›ç]´ùÀ¼IìG z²d2ÇŽÑi€£h(å!&5BTÝ„YÐ(”d7¦*º«óï5Ä%X¢*ö:Á`™\j†×†Š€¦ª“sëŽ( „bÓ­.H…s}ÖövÇD?(€£wŽT’Æâ`½ ÷“TËáu5k_œ’.ŸF˜Cºy ; ÔSç¯~ÿ¯®\űMba³ˆ³,$åçm»öœ“=?X½`gØ  Ò ‡7æß)XÁ>bî¬iXad˜:w©þÌÃnxÉ4ù¦‰~~E|$SÊcóæ:HÿÅ“gà̘°Œ`.(‘jàòG?á „»ÑdéÏÄusG°d£½ ô¯ÿÖï¶_ûkìüÏo~Íùo|ûYpÛAA<õÁŸdøýù4åƒ8ºLÕ–­×7A¦rJFÌ¿]_Y©Îoq¨¶¸jŽ‹DÛXÇ ¶ÞXo!¢<—LÓ¨–¸¼ }d Ób p¹LߨÝòáp·Ç–…yL®`«*ŸMµJöi’›T:,ôÔ`Å}”0}(é‘ =, =€è¤ Ìi™C–AU"(±([c¨ºt(ãCp¬¾Ð8ÀÅÙ`‡Œ¦¯µáÃï­m¾Ùùg…ØŒ*Á@\ºÇõëMÛV¹L×KŒ|éíx¤äá>ÜξuZ29Š˜&‰»Àm×ê&û,ýƒ0)en;Í>ÙëׯÃEÇõ"9°+Öt¡u»Øü/ü›Z.‡üwqŒ¨ãz ‰B‘En&× RCl˜å±°pŠ«ÈN@D HD—Å4èØ\ oØÌÊž‚ :@™HòÚw}Ê`a ã e=Û\$B¢uFNŠe+ÞèùOÐ;œõ…³N±ÃôÂ)pWä/Êj7Ê,ýa6ìó1 °L7‚YÇK€x¬^}<g©Qü¡$œ®`óŸGý?:€¯Ÿ|ÿc|ö²… j€Û‚r%Q?÷þÇ~›.”2S($éàî œ€û:z£Á -ÀÌëÒ!˜ÿg -è¯ úW¯> ~ˆòCÒŸ‡¤ä&Lv¢sK%^<7OpXŒœSTÉÀ¥b;‰ûf¸þJ«ÛA#«×¥§ÒM@p›ÇG`þŸ>Û‰ô ýâ±€_¢àà‚ŠBNeÆ,®ž.ðÆ„´4ç [x lò’•þ™Åƒ)Ьï±n°€4éûÏáCä?ÒŸã?"S‰¹W­Ö®__-jŒø™¦‡ò'æG†ÔH\Éš˜Ðó%> † Žð›Â&/‘ ÊÒŸ-$µð˜À`¤I j«0ÚïŠ,¢ :@к BÙ¸›Šx ÃeSà¤)¥)+¢E'@â±³-“@{ãJ(ÕšjÀ¢nJŽÁïslq·aÏZÿi/¯—–â_g? óÖvg»×éø êuÏ¿ãbèŽ[«UωÓp'Ìÿ…“µµçQy<°|zíµ&者zí„í´àAj A³ƒL“ o)wú›r?'Þy™±VÝ o5²¢0ÿ™;6H Aô« †JÒ?Ì:Òy[!1Õ¹Gø˜ÿÌDNGœ\LLð+E~̓Õ¯´H«ù‹K¨ÚÞñÒ_úå1ª+‹þ ‚?X(¯Ä}ùw}OÚþüÏꬹ@ÝêOínã§­½ìÂN<ñ‡•ŠœÆlýKF°4F6T ¾üíµ¼â~H³V[Àð+Ûee¢|ÜOô)ÕZläRöú®UÖs¸A½µÝ»Y'Dsý†è‡Î<1Ä’´ª7~fmå+úôØ‚ž—2!>üÔ“Sà 9Â!$^—¹')ð'9{êé§¿à´øs˜µÙ(•VëÕMDZ9ú²›u ˜:!ÜušÍZ%]Å—>øº7Ü™Õéz¹ -¤¦)Vmy¯sÿÓDЛ>ÜÀªšÔf«³Bgc8Ëc"”bÈ0E8?îí¡ÓÆôŒR_ Â'²"±Gq¯â`7JG¢³“‚Q—Ÿ#¤èQ‡Ác¦¦ÍŦØäɘɾŸ#Q_¤ù÷z¥2ÍO nO'4ðžÚ2Ã4eb5Ø'ÁþD á’*e½¤bƒ|¤1%§ÎÍ â¢^$&Rð-˜1×Aé`èÝéÕï©)=Û²t-±kÛ`?Ff¥ªi—ì ¯ßj4Í LEVk•­-.uP•A"IµáÆ m8@ çEiâ(9^ž˜f;AÄ…®l–Uz~›h.jsˆ,g:sÜ4qûvëüý¿úäO!„Ë[×tcå[ýç´œ¢œE ÄèјTght0“¤±>iö"Op+;L5gŒ8¥ˆ>”ÛÈ’-»²IlÕç*f[^!>Pµ ÛE¸Ó3ì¡HjX0éhˆÝLÂ…¯n»ªHx£¼ˆm1e¢]›ŒYÙP•&&¶Ü ííEŽÓàþ2XüššÖ@ާ¾×j“†ßv/—N7äž äíµÌ;…*_q& ;‰åé^–íßC[GŸ2OÜ7 ç3÷ŸètZgD=|··Á©Õâõõ5ƒÄÓÍõNuÞ:ûðY·ãÏ/-85ë¸SãÕm}Æ2tçÊwÖΜ>  sv‚f"+`_ͧ§@ QPuì Œ“ß¹Ó­"*Žâ˜Bö_ˆ½(P«%Ceˆ‘[»Ž'q§IÉ@—fµ4‘rq-¦¦6Û㦼 )Î0âDV¼Âµ[éÄx½å*IÓ•®2é!:‹ -µ"€8Ûm‡˜òòÁKì°P)Ç¥¬[QÇànì!©‚{eð[·ßâH5>B}—îeÄPÍ -]…˜tY‚¨þ–Ì¡~¬—q%Û„;®^©cz²,,ÔÖñ¨˜6 ; ÇѺ£µÞÝÛ­õ¯9…Sl1Ǽw[¶5/¿ÿ#Q?<ô.tº‹À…qvù#Í×¾–ÿDÿpX¤ŽyÛñÔS? dzW®=ýÿþÚ‰;ov„¬Ò FÍ0)ç™¶ g8ë[ÕùÅîÖæÂ}‹•ŠÛ¶=cBhG¦BbúQ`g…GÈPˆ`ד&ø œ¹vc\;\ÊxìêBgGm-[O”kŸ±Îdf 4'EV§˜¶¼´}!$fÏÛÞ|“Ü?Œ€ ðÏ(«×¤N.xÐ -8ËyC E„äóŠ +ç r<½n×®JcܘË=F¤­)iØA\«™ÆtãñVDZõ³o<ù·¥ë̘înÀ¹òw,ýÁ¬fŠd@E˜¶([ú§‰îPù‰¼v•^™AÔÙvÅ6;(JN4°ðä>bO8½xâô~æŸÁõ·þú?owÞZyY‚v­¾‚ñÆsY! >ÉÉÕ ëƒ•C5DiÖŽ pÙƒÊ2f¼ð }n äfPLhê”’—Ïæõï°ÅTØÆûñÖ¶&°9©qJÈÔ̈ˆ0Á Ï€§Âœ$´Ëȵ§æá>òa®çŸØº}‹/z{@æöècŽéñ0§lÑE5ª¤?ëF-œÛ€GÀ]BU[%Šó0Dx‹$M@ô›&ñ–¾(.\ÄÄ@»ÕM•A·ÝãPçækTU³¼íÞ†ØZXš_$澕>U>?ú2×–‚HÑ‘8ò°@96,ýE– dhE>¶æK×¼ÖæÙÇ?äï´­Ù:s¨‚‡»u÷Vø_ùå_ÿÒŸ}AÞVAÌæÓϘ_9,„Aò©§0”öñ?%þX°øöw®<ýu© š7P°6NˆD îåP/{L~5}1yºnt@1<‚h´šÆakºÂkFP`‡‚û1{fEuwÐ/XiÈpÙ صbºý±,âTóyÑŸ¦Ã‚ÇYb‹d8„ ¤f‚^“¶ô•1 aó?—À&äUŒ­™â`*·!1:(B‘XèR `xÙžVÈ4•ˆƒÏˆ‡TÔ æºˆÿ70?o#J -v`úƒ"dÕxBå ÒlÄ€ WµŒœÅ°ìÀI!’a#5„8ð);[›³$.Ù@†nÒöñEö@îçç0êd;»Aâµï^ ðÕÿúô¯ˆ±8:lvó±uq<õ äðÑú!8³øËo`§1¨ækê"Àö×ÊŒO+y:K7[_ þµ‹g œ¢Õ´žâ¬Ô¤žu¬Ñs›,ý‹¼²bBçÆ´ø&?EEjHFÄ¡ŒK‚©ªøÞaWQV@S<‘‰$qÑw—8#ê€P‘6³ÄÈÐê6|Ѥ¿NrüLacºF H7†ü´GhqƒpªŽÛõ½nÕ˜ÿÛŸ3Ì™ú=5ÇW7­¾„™iîgY~°áíÍ\‚Z(h¤€ˆA2F,òŽ0’ËõN°Ks[‰5"GÆ‚}…å>øI’°£À€ÈˆhþácùÁÇàhna÷ê€ÕkÝ]¿½ÓdÞwaå»`'ý€m¡"Ã0fUÙ@‡~@Yek ð…;'D€ å~À©æ’žu/#²M¶Þ4ÄîN9’¦º¢˜ úƒý±Ìuƒ6öôØÄAÑÿTzyGkîÈîåí².Ú¸Œè`b™-¹¼ðÌÿdo¼8A XÇЄgét€ù/ЩÓJùîPÇa£¥‘ÒÍF{»¢ÿ¹uØoÕEköÞ*è€êŒÕu½õ›ÍK/¯¼Š»ìÑGÎvïølû›Sœ]—æù“ëj]wXúÙeS:êÃ~Ìæ#Èýl†ß•'Y޼¾'»f? %v - gÛ_Uõ8ޏ‘ŠÁeìúEáˆs€ÿ5+ Û0K;™ˆr ’ÄÈ]†¹Ù02 =Ú?,7Àü).½µåÁ.C3+ CEAš0‚ Q4=€œ«Äx™ !æèÃ05D‹âQÉ(SUYшÛm~×!Ð4VAt£n)#–/<yí¼ÂÏ™²¢8´MÇ *@L#˜0ÞÇdö½K¥ùųW¾ã·~ã3_øÜgŠ_ q~¨Ã6ˆbEEv£h?… 7Šr~DhVVÞËa÷•Áã—°qìëßxö7~ûÿУp³Ù^$(:ß%, ˆ8½©«õº]•2K¾ßé¼y˱¬ZãH^ -2¦¸Î†H¹éõ´$'’Qƒ`!‚ù6a=¥%,^&ô<…ƒá0E¤mCïlt:;m~Àh›“pÇü§hÄ^õá!ÐsÈU‚‰¯Œ$"hå@$¨¢dM+~¬f‡©šu‰æk^ãv#Jß @ð‰>µ¤ÙsV§åæ þ.Løpö8’¨x}_²gíæf»±XÿðcŸøê_J¨ö¹PpLiveS!6a‚]<ÂTšJiaA¨3/‘B6ÍütQ¾)‚«6l’àœ‘g섈"JjªOlÑË5Ù—°w°ê˜»<0Ø)ú´ç±&¸ P ß„,Š`kAAònF|60,\V²°0Ï…!ðG"ê¦×LR)£I¶¥‚/£2+¿r æbæ$Ö -pЋï<'Þ »Zãålï´­š ¡t[/<{öq‰Ëœ¡IÒ?J«,YØ•ÚÀrÿõßøô>ÿ™Ã/+ Á½QA0™G_ÌDÿ×¾ùœý¼N=̬?­jÕ§Öß…Ó§íYG|O€ô?ôz0Ê0L°ìÊñàíÍÎ{IÕòúñÁŒä»°¿î ç”w s‘bÕ©TÆÓËe XÊ]b}ÁæyœÅ:{½!(€^o\ ê‘« «H0$婬k$„¸ yÌ%pšk\Qj V0· 3œPö‰’Ìaêv“ÆnT—P˜mCâ.¬& †À-ð -õÝ ÷€šxŠ5¨ðxô© -ÅÙÀhl†rß}Kº$,Ö€¬-ζåsŸÏ”§?-Ž#åÚã‘â¹È›¡ä?'²lrμã§«bTziÈ_¹ò¶*'ÄŒ‚ÀÌbašŠÜ%7ÒŸÁŒàx+2:KsjrThAšA(ëËΡË̓£®áó,ˆPXÿ½òÊJ›òجä{§Àl—ù¹ê¬)$–T˪Lç¼uµªƒ¨A]—MÇAqâÓMzÙŒw8¤ 4QŽ`ç|"—¨”!ò!‚Ì¥Vg/¢½ãIÆümã†x á¹îå{.1cÁW6@Ä·[]8tRü›Ï,.Õê„*€Ç"– ^y~í Q&tnw'1ZëºUÑÌJÞpnåà"kþà„³ªåÒ?øc"߉gªúT"²*_ðY¾w›H;TˆEwÏ4䃃9ãûÌ ~'°6H ×ké,xf¡•‹¬àÛðw™Ä±.ã´C—Z=¯ Ž[í`¡n&ƒÄ®Ø\ëÌ_šïBn¦Í -¹DÛ¡8AÏÖÀ+Û|mÕ:&C䌗kh¸;`,œ=—_ëô[þ`ƒh¤‚É…G{Ž, :à—~é×ÿüÏDZ ,–­Š²©ïQ|Ö4‡è¼mšø÷ÿóðŸ/¸ÿ˜aQbjíêÕʱJmi©³±qù—Å™­wÞðßEù ÚÕœ»?ØÁ Aò7$*èÒ0À3uš°Sh6gL¸(èçÒA/ñý(Wì²YÁAgÐ©ÎØ–ÔxL•¿|9'ÌÈŠèEÖ Ã)2×Ã&{„i¤ÂM“*R*éÏŸlOcê«Á2ë œ€æ†ÒŸÕ@¸—€èóÎ,ýáŒ`Ñ%áPÜ\Î^= IDATæ#¥9ADUÏ áOÃѨUA€°çpßr‡0œívÏÉ?^N”2ÕhVò…³L/ã¸-:d}1$2<0¾uÉ'&„ÌiÓœ‹*q0ËùüB'–̱ZÿgŸ„óC¯< -ß”Á‹/£&ØÜÂÐÄâüáÜþLjSæVòB»®E×u]W¨±Ç˜áA`¨*ñ0F7—6HÇ2ìÐ(ØÍB4‰49iÏB9"øósóód߀`à0º“ê鳇#Z–¯æû™r…‚°§±bÝ:½í<ƒÈË@äæ?¿…EjÖРrÙBL8 ¬‚Œ«Ô€ÛG‰Ì€]sÀö÷›ž3CUŸ>ƒËc™² ½~Ä}RØ™s³S'|ºöæŽåØ ý™9€}Ì\ù>‘ú=VóÕ6èÓÂoÄ:ÎQ~G¥¿ˆš ÒŸÀ¡ !ŒH„ÅG>>þ%ÎÕŸÊL€¢dmýCª8*•´$ Ò¬^%ÉÄ=«„dfH?¢ûîçY>MÛq=WFö€ôç‘c×Ù@50ˆâBCraÁòƒ jéæŸ”Ô€L·1µò´&Ɔ àëºß­#éðÆ`'‘Š»Óq -ŒÕ Ð ÒŸÓðEgN€ù©ðbŒüéÕx¢•ÿò_ž†ã£}êÐÏ#BÀÁ«Bé LÇT]{µù•¿øŠþ;ŽÆÎ©¹EœPp~æOÿèÜû~ŽeWLþpFWÜäÙ³p°…ÇõÌVATY¬¶µí©%Õœwå -@V)Pƒ®(p^s ˜Ê±õ ¹@ÀåÐùhµñ· hžËe×i ýï´Y°èÇB–‰¬j(Hdó·húÁ”õ4É~(‘‰Á7vAÁèp4)òM© -û‚9^2[µ vî¸ÌC ÞŠÀü˜@¦iœ[ð(ù V6(€ (BcòAðD)­hÖ9Ÿ {ò+—OÁüÇþ E^”(‡1.£bãÖúÒ‰3E{ž`„À¹g‚t€8:Î?p L£ó^úø/tÀÍk Zí&œu¡;5\ê ÚÓ}в3E£%8)A¶îé3ÁºÔªÆi¡0Á2žÿ¼­$—þ -à“'õ|»À‘ƒ¾/è™§¤ÂÑ-ì¡e †w'@󟧔±²ÁU)ëcâšB¸¿ÕY­Œ œ‡ J^$¼¤Æ¾ C- ÙΆöõ@ @4/êÄÌ“¤’n,ó]XôóðÞ†³Êlì[{ɽRŒ$ˆô¹Ã/ˆGJ!ò[¬Xú耕ç×î]éßz³5Í59ýz9SlÖ! ù4sR âEilk¢ÄÏüV ÷¹éùOÀµr®’APÿ6œö˜ †¡\—œŠ Kœ¬.V ¡àÐÁ+!{æn²^Ô³k½ñ“íõ’JE-‚ãš-,þ2»˜ë#L´’bÙ¦KXúlMšèƒ°¶t -ü,w»°e¬:7ßÝjaÏ[è_¹ríÌËUòCÙÅä9´çªÍíú¢Å³.Ï—íGÿ§ÿùôW0œ–à#_.BÜò]{ûÊÞ¾÷ù?ùÒŸ|þK[›M졆át”‘èÆ‰5cž:+M¶@–X!}ècï‰1©<}ÚïËÔVçÆƒ¨2­C ƒ%‹A‘—kÿé‰êÎè\(ü‹EœC1ÉÀÀW&Jz“ßδèvðAGÄ îRNêªÚíôáe0$Xf)‚< -crò™Rh¥xè÷Nuh¦‚‘%Ú·^ßõ=ƒW«Í™RÀ()Öõc‡$\t`gVà†0îM¤Æ$ÚüíhŠèÓ¸ÂãÅ“ê(¥-MýÉ.È]ð'† [YÜ„ƒ,òSBç R¤ï -&d‡e‡Ö´>z½éœ¥„ÕÃ~Ï_\XözbBÛ$âONåqg&ÈæüûCF’íУH™œÐþÛñ¼šmÚÓllêjòJö‡L35m*T»ë¤,ÚÞ–»Ó¬˜œÊ#%žÍ4 †Cpç±¼©i¢ù|ãæÚÅ ?ûÙÏý+1P.¾ Þ<ÄûCÀ¸‹Ë—/>ˆ±ÍN·µúÚµ[k«¯\T6݈^,aE”’ÆìcjYcœ¥tDˆfe³Šó +ó½ ÿÌÉ yˆÿDL=“áz–a&klXb +°¼E*ŒRFK«x¦¿Då}«’`Q©Y¿GV×øadB5ã¹í<_=Òä÷#L*x¡ËÚHËÐOMÍîFiÇß0õ*Ý­•ˆ€íc”eÁé˜M}ÒLÒU«ížßI -Tnq<."2\êD’€­¶¿:`™PœšeZjã»ÕÖ›0ðýŒÇ¸{Ûå¾¢ª¢¸¯uÂ,­šíÔ7ßð´ ³³éun»çjtwº;;Áì¬ibqáô³×¾«•o§iOKÃ8¾…V>PðãºÏ‰R?Sœ\Q˜¬#!¥3<ô±U±Õª×ëÚ•ªÍì‡), pÍeœvX0%³õS;ö)ÌV’F|°UÞzƒŠD ˜,ÁÌ”`1ƒp—­Ž$yôÔг¶m_jlÞ"ü êq'ÝO/½GzùºÑè´ÛŒäÌ8?óm7D ;ôöæ­õgþöéO|üƒ ðàOÝwŠô}3‹\išØQ MåÖ3et࣌ŒÛ]SÇ*YËwSåLYNÚŠ!Ó,ô@¥;)rLlƇMJá™RBi<МöGìNêç0‰¹Àh¥QÈ·—Ôˆ€/èÇù5÷|`ù2Á[éHvª–•B³.‹þ"é‡U«·ˆóúìò²Oý ÷ûý6,ë€õWVfçæ9Òµä>päKYjr!}ð‰Ý ö‡Út¦ÙšhßÍYo÷²â¹ ¨‡w,¸n¤¿19~‚¢+°üÈrVÅ”wJz^¡ú%C+„g §*눻QTÑB%]éßÛ KÚ„d¹Žìà$AÅ´,s‘H_]Ï-¢’J'b¹êA:*¨[¤¿ž“´pžE‡Š~žuW¥\«š‡€Š£³Ý+ú<VpJG°Ë³~LHûµtŒ2ÿ#âÐlµ¼J϶*ؼ#$í¸ŽWCÁÙ(;yͬÌÌPbÎne# ‚»>n ŠXrvšu@QôQ9yœ:hþó¸«è?:–¸Çÿì3_üw_½ü>ÔŒõÏä_DR&_ Òßah,%LÇ&¼Râð`s ƒªHv4î Ër"ÃÎKi+I€êú¹â.jÕ²:O™°Û]„­ÅÇî‡ ý¹o4“ƒðú’rg¯7õ*˜ÿù?AôGq:@+s©.¿%E:ós(Ž=ÿm{wGòr¬ý´@7Ÿp%¤ðšU¾}?˜ÿÕª gUi×êõñžôºÍsᬾԼÕjƒôgÐÚ‘¼]ûnç-Y%Õ¼u}íÖÆ©_;õ¹?ý¨'ßÿ›7Öjó  ¸êß4m¸à¥(>ĪŒ+¼™;ùcæ@VµŽÎH1¬ª¦]à ¢_Cg#?ÿQK(´‘Tïèä$Ø¿”*âðÚÎGnU¤ÌÅte¥l -ì„fFˆÐ:Æ‹ÓAöA“F´çwnݰæHŽOY¤Aa¯ZÙØëwý]ãÔ»°÷>8èv”IMå˜$¬Ÿ=»òlÊó¥ó޾ÿç.céN±t’‰&ëUõœô×Õø¨T––êËúÒÿÕ²÷²7”MzIj˜Vãþ3ºnx]JG›b4T2ŸÛnd•5Ž6&{þN{óÌ»/¢)§ë]ZÕ{U²ìÒt¤ wî>ݪ֗ãݦ`™Ý¡žL ÷Å÷¹æ;<+&‡È(:Iv“ï%-!\BÝ(2–™§–+·vÜÎñ‹ôiS­èøT_¤l¬l×nmt®¯ošÇãÞÛÅ-‚ñT<ì3,Ô0UhŠi&Ù”bãÅ[°… -žlŒ‹—ÅÍáf7TO¹ÈTKèG­øï6ÆdbLf:3*vš ÒîN¤R«zu¶ -V¤jªöq»s»Í9¥Ò=°ú ¼íæÍÀßÅÏ¿ð.„〩;ºSµÜ®¹ƒîm÷\Ï?qb@#&Μ\iƼ­Àœ7ÕtŠÖ«…œºC5/îîË5 ßÛúpDÝ+£Ržì1çØö¥Ÿ|?ÿ3.lÀ£ÌC½œLb¯„ò@_ùÚ—×®¯z;í„BÛ"£4)¾¾8¸ß'g’ê—繉D‹£×쇆il¶¼jM¾Ì™žîá{m¾ê+ý\(#…kÑ›@[,xÏ‚Í|T®ðpµIÌ$Ã!÷FƒØÊêñ´i-Þ ‘>:†åˆd¹ð[Û×0 eÀOëäÁ·]×(—"x´û‰QÏ“ðy2¾u‰õ;‰Ì`Ý A ŠÆ]¡šT:»7Jª¦Àmî;~ÜÕ3… -~@}®aèK !¢ØËž=cÔOØãi¥ ø“Hø=ÐC*W †œ?Ð9§À*_öÇ‚“4iƃ„e®ZÀêánXoǃ??œènmu1ø }¤t¶w@ª.ÜkŸ¼žW ¸ýܵ«X#~å{ÏÀNˆ>‰8`ò⵿û.x^¶‰,Ä_þÏ_þÔÿþ)¸ø÷_þ÷û§sކà4‹»ÈýâRµ:ÆÅ¬† ©†1aÌF”ʆG“HÞ9 «M”".vàL/Ár`ùL2ˆeøP¬ÝÀ.ù»à5šã'£ÞåúoЈ=?:ù@Õ´58?Ö%ÜH1¯kŠ>…¯½0ÂÈ+Èþðyn?Ô°nýmu.ˆž«ÑcƒsÞâu6Mj@7‰{þP"¡þŽ¥öëG?êÿÑûá¸ë_ù‹§Ÿùŧ.ÿ˜Û(޼J—‡{Ûo<´8oáÁ82¢}ŒƒpTɶ'UXÖÁ~\½g~Hÿ.BŒ£F9‚Jø½|Î’ÊñlBðy¶£c07 =ôn*ã¥þDÝ[ë½Ò߮ڨ -]Á„¥–¸™,»ö6)°²XXª‰ïøÖöŒÞÞb6Q;èÎ+Œïó -.\ ƒq" À”CFëhèÙ³ÄËh©Ý¿»#ã?ùªÀâ?Â瀣Ӗ¶WÙÿRçvŽÚqôaµÚÕ -ÃÌ]XF[Û±-Û«ÀyÇ•yø­®>­Ùó&ê35§* ýƒ½ži½m 1D˜.é(¹ë ¬Hx4dÇæÝÆG~þc__^ùÁ wýíÑQÄ{Ÿ9Üî¢? Bdë¯4ψF®VWÖAúÃ!È„g<½ûíã ”Š‚°CÃLúq·¹~ÄG1Éb@ä -òʇ0¸øSÜmÀ}g\„ZCCJ¸Ÿ:–æúÒÞÎ׳V€cé?äOLu)«g«Æ —®¬"Å6Þ˜Ú£d÷øPc¨mÜ/…ç¢?ßÜÏ•‘ ý~¢ë ”T8P PX•ƒyÁ /rözᬈqV#ÊzV¸(ëâ£_|ô18¯­ oºò÷/¼°²ríï®ÁÁ/ûÝÏüÞcï}ü¹ï{‰V´ -ÇÇ>ö«+/àk–/Œ¹$ÿ!CUÍ$ 2º$AtC‚M~Œ4¤ã b$Ù—PìzÁÆ7î„E0þ-|¾ªÄ_êÌßK*¼—Ô¨ -œ²ÖI+A«p%°­’B#1u 0¼X:¸U8çwðÑš'‰C8´É;3 61V‚Z„ਖ>D¸Û¨~ÿô‹wÉý‚èÿ˧Ÿó¯!¹†ˆ"ß}îÚW‹¯Ãë†þðýQß’ë·ààWÚUŠ$ìö ¦²BÆÁÒ_NÓ¯jàú¯=úÔGø‡9jéü¨$ò5/z~=AV†äðV2¼½»:þú]éb7¯7õ)ü´¨èX(a‰Ø^@„|¯Þu U}¡ý¾oQøò€(&Ë%£jÁC(ɘƒ~¢”ê‘ÁXX8¼žð-…> Yz_1½í.–le8é`û;ÇT8ÎR¼@7\‚{ÝâLÌj.a·5 ë7[Ü݃ßtZcúè¨#ÈÏ^@mnÁõ±ÐàÀGNÒcòÕ,¢Çó{ðð'„+Õ¯ç ¶åí¦4I00ý ÷Mã0‹=¢ ÑÝX<óáõ"3£U©ÕªG_@Ý@r©ÈŽ%øì9€ìй㚰 IÃ>2-ÞsÉèÌaH‹PIUÄ \Q\uš'‡ñ†i1°ôÏ»ÌA©c™?ýy=ÃØPR –þ¦fz½¶KaPá€K]¹GR¶¿`Å*uª3Ú6÷‰¼" ÄêIlgͰHú‹ ¶>–@‡d¶(²ø‚×½yûžÛKôxhh%Py`œ€Cmƒ0®]ELÀŸ&€þ ËËŸø5aÛN®‚¿é³Ï=:`ùá ŸþÝOÃ?ÏÝŽ¥??þüï<òðO?üî'àâgžø¥Ó?q—ø!ÇY.K¹C ;®TF|S™Yd˜¨ð$"6ùžYés‘B•¬±|§YãPje3)óreÀvÆ¿CÑÏ Åèj[ƒƒ[VÕb”Ñüg'@àöˆe+é08»³ùÊ*èùŽtÁhYï@i&itö}å‹?y1»ÈS’ŸbÛŸçþöÛ‚Ìÿ/þÛÏ>p›çˆþ×_]{ú¿}哟úôêk«nçò{0tâä’¢Hûà9¢“·Aƒ¯ »(¨3Ъȥ/rŸ -¦ÑÆ–!YtYA« ŒãÌÿøßØò¹`²ù?ä¾²6,£»‘ÁšÅeÌ&Œ&SSçE9Î5‰}|U<(­F¡‚Snƨ¹R½ï–¦q“´^¼êwÚ ,÷¶·tsN+)í >>€‡~êáöÆFÞèÔ8×øÅ=.2Ü¢Oÿá—Ö~tý«ÿõiüÕ}u5ƒÝX{yí£¹ò/àÔÍΩSK^?Bkì⾇øiá“Æâwä;§Ö»3ç^xg™ZwwƒÝ^ITàõéÄp¢ Ö -z[po¼Œ&&”S÷£VKGêÞç»p‡°OÂÐu0£4eÎÑ ¡ §g}¦áû¾^iÄ#_Ó" Â2`/Õ׃7OÑ $›Bšö†õùj,8+ªVÇIƒi vñžeç÷~?Ƹ>AP퇈¼=÷*Ð\͹øÞsŽã<óWל™é \p ÜtVù.Ki‹ÔJÅA% u²tþÝø [­õuÅž›·©Ñ´·;ÞHëÔ0Œv£á["êÎöÄ­[(ຽ}ÝëÕºí·:wÚÈZ—˜6luÑ85_é—P{ ^t—’F‚¾M{[8iöZ3è¯Å¥†Q¶— EÕl§‘«ÀRTÌæÍMÛ©ÁE7ƒ%?îÔ4¡EQ{qÞ~ñå5Ú^·Ó8±¤M²™¦lìlØ\ª4Àï{ý& -î_úGZ¿Ù¼úgü~Çë·áìöUKTÕ>õë÷|‚ôïGLƒCJq½-pSà\ÁåÕ*–ÛîÃüP}&‚»Ò£a¬¬~•ìØXÀš}¼®L)í¾çz¡®«~ÀªK?Ás}æÛWA›bTM7Vš­îå^‚÷¶7Ý8JÏœ]Dpl˜C«ŒHïG¥žk†l›Tƒ=Þ/ø¹è”1yƒ¤i“&ÚPc²¦¦ïk2¡Ú]hÒÇæÄ¦£f³¬æë?NG -Yà‹Âb0NƒépÈÙ¤Œ”¿iÆ¢ŠöÕ['%%}Dç¸2¡³·V™Hõ vý¤beÁÌÄ–a `SÖhÐ’ÔJØÓgϘ9q¼i”¢ýl¢‰ã—/™ÎZŽŽ´ÉwÝ -Õ0·ÝÃC sÙ¹~ýy¸X}uÍžw¼äÛßøöó?\yøÝË¿ù¿~~¾|þᕟÿ1‹Ç.ñOÿ8õÎ?tîÅ—Vá¬ë¢:§l¼þúÒñ“±à–]ÇUBò/1‚ƒNPeʪN[>LHV¢v}Œ‰®„›à)#ìÕÜ÷R )Y »Ä ç÷éP -sÄèíG­7ñ£ju» +65ˉFñÄ@poÙØAʘÿ(ãDx{¥ƒF°UuŠÿ„-« gžÔTÝÎlÆVy‘ƒC$Ω‡ÎÞø‘,•ûÃ?ø|ñ¯ÿèKÿæsÿi‹HzÏÞz5Úë‘æÇX?ý;ŸýÌ¿ü­â_·«µ­=Ⳟ2óŠ£|,ȯ…%^_V˜×ú =k„… ë¾Û鮿²~æ3ìœ~7š ÷1À:â$ú1p 4t¥âÓ°,KIJÃA"åH¾k?I&¤õ ;ë ßÞWSX–éR…Ss IDATûHgêk‰ŠFÔ †GÎÚþ.5‹w,4_oý¹@ãï-ØõÍ™»Mq±ü]ß(ЛFk%Ž}ÌÀF˽³å“Áø&3pQrÄJËJ3€Ã¼ZÉ:&¿¸ë\…†wþN^ô#$1žÖMÃìlûì`*éõEã$xØl—G°üÝ =7¥™žß¡¤Hu6°Ñ8™¡ywƒ3§kë×±$üòO ýðÃóž?Ð…ž¥ÅF:‚~ל®Â™ÒŸ5Kï},ð¤ßcMW1åž•“c(ºÃ§Ã³ÝO¼­€&PæBþ 6¢Õ#1«Na-Ugïò¬s aP`—0Õ0õc˪ÊÒ£‹ ý²î5EanÔèS:Uº¹¼þ)‚„¹.Y=¶jZbÍ(‰mtVÈØÄB‚DG'SS!# !(Þ;”ý|ý“Pê\̦Vr0ìÿ^T9h*Ï K(¸)ÜìûÔ¸Fid„b¯üWÒ·2¢ÜfuJý8wþÔÚZ“ñœ5rÙâ$„ ¢R-A Z¬ùã±ñzÛsÆjcýÅÕÙùZõxMd¢Ÿoïè¢ÿnFr&9bˆr¶Z³ÁñêÍôHààSq€PÀ`gLpÁû6-»¹æá޵¦à¸°é‰Îóg½Ä -èXÖ°'Eó&Þùû—Zovî­Y3f'c]÷w]4uw¼+Ï®8…¨þpÁ:.^Z}é¡sÁÅÿ¯/íù§oÞÚX.´ãƒè‡£³5f*-J•i4h@úó?s˜_]·‰~$KÙ;€– æÔ? n:·‰±®O`A[]8üžÔµúÝùE†¶ËÑ•PÝŸu@­î @hV¸cƒý‡QÒXŽÄ2Y¥Q@KÂAãÀâ…)k†Ã¡1ipÇ€‚À‚¨„<—ÑiØ®ƒ²D7‚ó¨D&G(Â’D”à,ý£,¤‰ ÛÄ¡ N@³)'»Ô‰¥?'pý—E³å–:¾YY0ÖÎÛ*wÉéJdQ©޳ìƒÂçäI×"—²·Ûrý /ïÊ ËÌàÎ2D‡4ïµêÌÿÇÙÛ¹q¦wb/Ðèžnöì&f@@‡„HÎh¤¹Ã•Ì%#-zµ¾ÕÖ^âu9¹Ä¹Ë9{—Ø•ä/»œrÊ•«»JÊ•TR©\ʱ“º“\®ÊŸ×I¶¼özm®mÊ¢éÕr,îH³C‘‚83 ÀnÓÓ=Ýh ÏÇÛž!µN®ÕÕjbþxßçûùýžm9}õßûùtãûïÞþ«ï®­¡>øßÿß‚-Hÿ_ø¥_áDW*ýí9ë6 à9 tÀÎ6 -LÝÐëåKÿáþ@™D -@˜ÅJúŒ[êbéÏÕ:²"Hè\×6Yêd—JÕÛßã§7c öý`„:ܶR-陼5NuÀÂd–þ‚DL&qú§9*m¿¿Æ! AÖ¨ñ½¹±’¸ ÷¿õ‡ -ë‹/ÿ¸¿'>má’ílêt@õ¹úüŸüÌÓÇIP¶sÍí{-X/ñ…€MTÙ8ƒâƒÆ{sós° -¬þ\貕zœL”ÆHp6â#âµfÛ\^mj -³x óŸË7yq‡tû¥äÓ’ÈL6‚úà %.çÉÒ¶³T6Óúhûú ÐëïvYhÇðmù$ºÐS`œ)1™0ì/Íù@Ö}uà‚ù -¶0ô9Õ.”HHçÚûÄ£@&¿•´€aÀÞ´PÌé¼³¶Ž3sÔ…Ï"ÎÆ_?¦q¬2oaæ?8,hx`{«Õ ®éÒq»rRr¡€²u'0l;ð·¸Ì°ý៰ÃÒö¯ÿÙÕ‹?±µÝºqóúÏüôW[÷ò³RE³cH¾×/üüWA\ÿýo¦?Šþ¾˜æÿ§ö”t©T˨:½Á^?ûùý{ÛgÏ5Ž,M–Ñ_Ÿ^š›/mnlkº: +ýÓY -|€ðÝfÒ˜F¢C*!·uƒý#—cÔwØr“£v˜Ú“ºã8ÿ 6y.ä#D-Î3·^PÑöE:!˜ƒù„‡T#µ7åù«¾ëîM% Ëʬ#Â1퇘rT°±s1¨, }˜ÀY¹ :@>¢Ø«Ï¯$kŠçö?/éyõ£°€¼¬®¾«øYÜ¿ùî7Áü—ç¤1vë/P14Ï5[‡¬*!’mÜû`¹  @î£Ð’:‹ŽÍªÁ~DÍïŠlBû¸ò´§[®”ʆûûaWòq+íÏj€©"¥ ¹%b MÅìåòß¼ -æËÂRsg«%FâæÍëÖ‰róìÒÎ'ml©2”Ð5ðuf”þ“¾Å Ãû5Wim¬»½î¹—WAºÞx~ÑÛïG Ú¬®À½ËñV4=Ûb¦aæ±ÇRŒ‘x±Å Z~¬€A¥ô>’–Å8¦nŠžY¶å~ÉT7:P‹ÇÁ¡'¨gFÁÄ^†íŽ$1H:|÷"j·û†¥kF^Ÿ‰‘i}¤ÃŽu¾` =0ŽiY“3‰ž4¾aq5½Ê ’TÏiÜT@å @ߨ*nC¯Ÿ"Oìtºµç’ðk(ÑÍ Ýè¸8S P±ñ7qÁC PƉš3Šˆ+ÀÆWZ'ÙJµ †.÷þÄŠ"¸Õ“º7Dó_#¿d®QŒgw›¡ªßsÜþcçê«—::ÖI¥IØa•$!éµL£qï^ÿ×ÿçÿ þyõÊ0^Y½T¶jïÞÆé·tö"ÜÅ»w°Uø•‚õÿô×ßüñ[yyù7~ówðû µ²õ¬èpö²Á ¸CE`ë¿®ÙİY"ÓÁw^h6¢7JGAtz±R,…ì<õYeá\¥»Óu,Ä.›ŒŠ\‚0ª -&‚™%;.˜`xÁ:àÇ‹Ç+ñ¸ /.¤ê¨à`|ú\íö_n6Nã`îõýf\ÓÙ÷0.­*–¡²sVÈmaØ1©ÌëHäºL<0­;·š0QÎ|CSÕl;¥³ÛSYLÊ„°ưÅxb¢j,]Öj\û·~âú¿vhvá¼¹ -jQ÷TJSößó,ò÷ÿÓ_úGo®=› -øòçWÏ׸1gííëà†XÄdä>ÆÙÅ¢ŸwŠ³ÅªeI@D¿=_i.¯ ]œ±ÝíV÷aËœ«UêÒdÍ'm -°dgd^A+€quÝ]0ÊÜÑÚÚšHJáá¡ÈØ=ëïÞ® ݈dŸlÿ1#Q+¯›ž-¦©šWóÅŠ*½³d×êÍÛïM™LÓæÜ[±T›-U³OU×gaíöܬôO»Üô÷ãÍ–þb -o£›eðÌ¥¹’ T–¼ê™p༊‚è¶]A>I0œ'²DAúwºåùgœÐ„qµ?>ùaÝ× œLÆÑõ=‹Ê®À¾.Ð-¤ÄÖ!Fl‡h·³ðÂEþÎ.^&ºz(LoŸ¬µÄš×ïvﮃ0Ë-£Pî³’AÝðÞŸ¼ÛΆ¦Ø!€·r…ØþßþöŸ‚ø¯þëøòÅ—¿ÿÞ÷å½=_«?_…­ Ñ_]hÖš¨>w•¥º€ଠÌ<¤%! N¨~ç-HÿÊ©¦yBšçÈS¨évQs†!ŠË\â¤nyñÔ¡ -rKÑ4ŽŒÕªµ* -Áü§„mAô³ôÖê¶·äsðøå¹9"á#,õò¼ :Ìÿív¶¬Jǵ6AAè&’¿³ôW1'Ï€‹HâI)ðjyPû,÷­¢*Š*šÿ `\,vE¹Ó ›ÔÖm{9M€è|‚“äˆè//1üºº ’ÇÞ£€Qð`imS“ZV1&•Žj`"D^ðd&”Ⅎ‘£ºž–ЫÆÑ‡:œ¶ýa¬ÂNªi@üÑÿHÿ7¯½ùíëXx÷Oÿɯ±€ß„íwn°Û|Pßúƒ?€þí[@¾ñ¯?û…=µTþ$,šG¤?/Ò<çULJ‡‡ƒ)"ÿ¬é<šºí«—§9°¹9Ö#'t]¯L ‹{ÅQ¶âø©7:.â$‹Êɹõ;›yU{ñ|ÌP0Èù,°¾¿:cÀaj—!¨(Y¥¦­Ãx XwD±~$ò,hŽïÙ†©ùƒ^e^á•K™¸Ÿ€¥?ï„ H=ž*Mó&xv¼MÑèð%Ž‚1yZðÛLÊf’œb[¤•…ÐF24 -:<îeMƒàµ¤À0„¾wý_Ëð+¬Rwº|æÑG]Dí3Çì8`øëO÷$ –é2vK¥ -¬B¤ÚùB<°Ü²¶i•z•G&Ô÷…Àöz÷&^µcòçJ–ÒnEEŸ@·³]©I‰ïôײ€kûA‡^¸ü|tNÌ KAˆ×aüšÍûlûÃÖÝ݆Õ:‰?ÆØ# -ag¹.yÜæøGÁ[ÑÉÜc-U¼üù×@Üú£·EÒÉ6‡Ùž^ÜAfmù:@üÒ?:e°4Á©‹§ÒsVÅæZ÷7›g—ÀpÑ`²ÍF9’`JŠêµ®dY•F<€•+×Zn°`Me"íeôà]Pxg¦!b©r=lÚ2óª*uÀ§TzVÏÉ·2²/ú=pý(a¨3ŸŸK¯&lÔçÚ ÷àI:¶•Ó¥à¦{q -Æ|Úat@¼…$]–jwá‡9ä¡f k°ýAôWê¦YR÷)iÆ~@ˆãÞßóÓ–ÆH/À è÷ðæÊ&{úü9ë'3hÙ¡1Éðư5 ëŸbhá%òyžO?Éš) #áA°¹ÑúüÏ£ôçÏ_ù f¤Þý+ôÆ~îüØþ¿ü‹¿ û­7Ø€åÿþÆï€ù•ÞßÇ -…ü«¿"~Uüèë×D<̃ÔÐ+^©”OŠD˜†Ö~(ꧺ…fc§Ó¢c(ôgM%Çj™µÆÆÚ"4ÿí²iÍSu@›qüåñ©+@'Á¯TN–¹š¨ï¸—¯\jow`5—u ÷‚íqY¦™˜À‚ÈÐùaxÇ—ýe¶mseŽNù¶ÜÓøè«(SØ'D0ÿÁ832”aàXôu„@Ú©ÆOKVÖ€¡ˆcCšÿÄM‹ŽÔ«qò€t·3’Uäy—CÛ_0ÉDþS’N´¬ýÕÍK¯‚èÏHÿOí6GÑ/‰€4ñC2Clùn1‰"ìí¼rñò»õ àØ”\›Õ¹Û±Yª*!¥ôiTôݾÓ÷B<Ñ?´Æ—ìh–@ ÀÜ)¯´·ÖOºzQÞ”mÍN±îÇOAæc`§à8.«Ùžó¸à˜ó ½PEÀz§T¶ãÞ–>èõ÷Õ^q~Naæ€êDHŠm„ðU˜?Z ¿f€¹œ«ïaSX»;ÍWĹqýÅ¥×ÀVí÷ß¹±á§Tj#.Š¢-Ö³ËãÁ‚¨•ëúÆX - ç›+W(áì Ò„­Á4[Œˆs©VJßuµcÓŒ¿~ñà2ïlù•«îC !é|¼Ñºó®U“ü¹ÁHúÐãÞ`bÖ-sØqOvv t!á:ñÄPIÕ•‹(’ÀQ”„º6Q~æãŠæyá>fÈh= ¡(ɸÝ—ÂÆÒw‘QÄšÕÁ| Ä)҈öû0!„q#&çPâ†cÃ3 M˜* ]™²‘ù#£ ZI±'À'/ró-õ£Ã½†ˆ¬©÷„1ks‘N8$ÊÊzð„|?dE*¸ç`Ö5¡L`ú¡uú /<ÊÇ#}0ŒKEØ1ßWAÅHz,çõÐåõ|€ÒËR"Æ”€=s† 'I?š:yDØ'„xp“˜ ]}?NtÝp>Úþ@|wo^ƒmÐÙõþÞßÁ²¼n¯sùs™¥ùkÿË×~ñ—~essãî>ø¹ð÷ÛmœK«_þg¿õŸûû_åSy{Ò‹o··¼ƒÊ{w0…ðîwç?O£¶¸³ùÇéìêwñ¶>Ú‚5Ì&UAU M/ Új–!•««éÞk$Üdœ<º¾½»3=Þ2_¿x :A¶v£^†m»ÝËçå{]§~ª“?Ø“…>¶ûRS.!4ðHí;Ì“86âb.#ë;Á ?m7Á„U$ç‰ï1ì&†.ao d<9?F±3ò¸r>À$0W²q·n˜T៱ՔZèaö‘‡ùÞ¡ ²¬{woŸXØQòzNÖÂO+yïZL@¢`Sê*'œ%¢Y´yqš3W ò±†J¨3¡¬Â(7›Ï/9Ãþ×~ó¿4‹Vý¹fã9)«/\MŸs–Á0 æÊàw{8H*sÔ¯)‘„ëBbpö3šÆq‚BPZ–mU—é­•àF&Â×gyÃ>¤_fʈìW8C²‘éð8?±–" ,ªú¬ìµó5~G<÷½a¨ëÇø$ý^ÿÞÇzð »pgñÆ­å Ó#{ué?á)ì¢EK!leps4­t"aîõ7Þ©/£|äÙÈ 9Y?}®~ú>ì,¿:}plhŠ.ã\óãPÉH¬=âg7[XÄ«dðÖ¯}é‹×~ï÷¯Ÿaê\ÏS£|ªº;ÝFµrª†]ïIÊZ1”æ x‘ÎÛ˜êé¶Z¦eUšÍÀqÕÄSæM#]j#qqÊ\yãû˜7ö©~´–è®·u)¥ÿ aÛOHVq|ƒAR§c.]Ø®V7’4ÿ³ Æ‚€c`Œ>}ž³z¥fw;NÙÒûîÑï²iŸ&ÄòôE4µh:ƒØa-"b¨Ä­©æ£|JH™’(¥u·Ë:@$æ¿8œ1&$¸픲Cܲ‰lÇE5ùâ ÕñÒÁn„l!5Æ·§+ ЕÉ8Ãç- -Ù/¾´ ¼až Éü»œZ(—®gipÔC÷£[™É³ôO—%jêi·ï}å'1¢Áü+,—_}ýÛò[BHÔÛæÙ:¬ ýaË¢e:—¡WIDQxä$î¤0äGÏ!ØvZSµÑ>SßN´ˆ¡äAô¯"èzY¨ÛÙ¶j ®ã´K6lÑë'S¶`2I=÷¸˜3›ÿ†1’3h ÂD‘ ÖAŸèJŠ™N(8&…¼æf¿áÎrŸá͆P„×˹bVØu9ŠÀ¨Õj·×6;Þ¥Õ¥`Ï8G¥ šÆ¥GÂ$1 s #Hùq6ÑÊœÖñ1¬ @¤:€cbˆ¥zbëï]çmó ÈœÿV Ê÷ÕÏ]ä¿./½’=8å+E6mrAD¢òùCÌÿC¤èò[;¯ˆú)#Ÿ°#õž«‘üœr -iôŽ´dN1Z3L|Xk¤Bî³G½b9Úzp(!Ì -€™'X@¥qî<ó`–þ2”Ä ýAô›I6ò¼tÈò»¶¿ë9Ì`¼šh/pª‹S‚û¤Õbº€@†¿ç{u¶2×`’Zå˜O¤ÿø)ÒÃìÂCŽ×ui¾©ô!°“mb„!zZ À>tF:LêsvjÈsÖ¤ÿÜüœjà{ýo¬<ã‡iÁB¬TZA8ß4j¡]d„EÁJcœŸ,¿zmð¸;xÒmá %„rÿ=LG—f”A¿ß| 5›È䪜fò.ó”r÷g«gcޱH@Š)Œ™<²y$@yΪV›ú[t3Uµá Á?1ꢋ1€能¿‰qbok"–vL4ár4L®qؿ纂ñ(tÚyLÖ`ä3þ$ìågT-7V°³?IHÛ Ž‘ïW&ñàh•pÉÔŠÈÕ9Ó>av -œÓE ùBÉÞŽ˜ÄJ׉½r%Ýls»iŒ-åÞ=o0ÊetQ·?víš”ej!³io yF dî_Ý@j†Áu†²i¶£> îÊpo{Bù`N{‚Á"ö`üå *XQªQò÷P…«J\ÕYu&Xëc,¤£$3 6?P|Íй•Wý˸H¬~¯[ž«€çíô:ç¬"’L9cy¾±Û×ç¦/%Hã X”N+'šàÙÔJsÓsƒÆB¹rÒ÷¥y¦¦ÏL`NTÁˆÂA?‚™¤«9›n¸®·Õ‚+±Z÷ÛîãÁê«Ë­à•Ôëõv»]šµêµÊƇ­åóÍý\ ׿l ¶ñ>H|ͶËë-}¶séå RÎЫõä‡Ñ5ÝÂI.6ŽéÞp¨ä! «Ab~%I¿cesN¢ùjÇLU×~x|ùèÀ‹ÂP“´¢pã¡nšc"Æ%äG-…1þq¬å4pGÆ>új†—Ï¥¥ ˆõ‚Ê yLTN–×ïlvwûW®¬2Ó@”ÃÑ‚5£3'IÛÍÈøã`”ª¦æ-ÌÖÙ=ÎG˜ëÇJ>Ç¢Á`ÈÝøÝ¾:s,}Îi\RöKNáªtU‹3aýµï¿“nA¦Á€™›¯ÀvñÊŠ•^Á MÜ#0uU³É8¡­ç§cÍZÈœ¤jj'mç ¿& }#oÎãži*î0ЍÔ¦j,Û°bžåÄF1¦®[ƒ½.ÆT -c¸‘Ð…»F˜ÏZµs®lÊ`ˆ;+ºž×&¨¹@cšè~Òâví8]ùDÊ'kýÝÎÊkŸßøîõÒ‰JÑ®Àk¶ ûž8°¦h°ÛY~óK¼O¤?£ ÒHʈ'Û0ß›Jÿd©-Ô×Ä¡…¥?ïg«§ë§ë xß,jáŒ`]ŤNÜ'|!§×ë Ï£yú¡Y6…tNØ…Ì9Ï/¶?¼[ ýçªUPC§[:!ƒÂš&2°S>9ßß™Ff@ôóŽžÄ”·/Ä+e`¨š1ŒmÄ5B°­€_&~ØÂn,Îÿ"³\zÓ[BFly‚©¸ò9^"–G&…' 2"Û´:áŽNÜaþ"Ù -D lÙÔYéÏg@ ¢IAœnª‹°8ü]jˆö-Üâ ï[…žÕ(VŒil®O“ƒì)Âk|¸Ò‘IyG6~æÅS TH# ÛŽ;9Ž©8^Äj€cÁqÂÓ+êGVð ‡[Ðw™UQ_!³É¡ü# !‚ÅÜñŸJD©0miĄ̂ ÷†(•ô©ô§…‰|±†‡”(ø³¬YJªºÑ –Q:í' ªL;y%Ïš’k@7+(Ä51òaR¥VUv'mLH¥ -E±aÅÂv=:ÂèÂË¥Õ‹·×Þ[ýÌØÉ~FtH “Ó§1ì{ƒÞ½mô3@úÃö§~zÊ_·ü=줥·)€KÆpàÃ6ý–K¹©™“D?èpÀuÑ_'à ýKg› ýË'셓͵5Écã>XÇK ýA hºÆ€kòGvÖ±lœLÆF ¶ý´t¸”´¦£˜Æ:2D$Èt楈Xa¨SL`$Z^æ›ÁRÇ;³û–á»R¶2šÀÄ›Mª¤èü‹?‚D½¸ÜL!ó`§hËþ•xœ4P)Ш›±ŸX'`v–ç£ÄG‚³©”‘”؃Ÿ›·¯ÿþ;â©D?-MEÇ(—" D©€ñ%F£{ÿhºñ²¿î±™BeÄu1Z[-û8:®ãr»+#'OFŸQ;{N5„¸$£ÍcMT”e9åþÜðSÈ‘„˜R³Vã`šT•çš×þÖWÓthó¥Õ”°¾|rgð¸Ë! ‘ÁÆ%+ýa’¨_¸ä&Ù6xˆ,™S Ðï Á ã=xJâ -€ÐZo}ýëßÊž–ÓY)f·8e0¯‚”}ɲۭlõQìŠnm¬¿¸"ŒÀ ˆÕ€¥¿ø *Y £iìmüÅMЂ‚?‹W^ç[ܘ$檻7°’÷‹~VMP\oxHr³èeð$Ïf/lë5»ÝÁ‰~€–äˆ(áP‘ó˜³Jªe1A¹Oñ¥Â&âïWÊ'k…ì/ãÏÁOƒçáHÄÅ<³"+-TÝH>^p™ýC¨”``a†€<¸fŠtƒyWÊAL2Å¢^¢rf¤ñJ,T¤ÐM~”5É¢Ÿ†‘·ªºtxœÐ™”h¨[Òa$,‘ "ÇEWu3ØC˜Y -hjI•ñr‰"ñŒüV -ñÆ Øþ `¶vq£y-z˪0}ö¦ƒ±’xÝ6Ö›±ôÿêøs_ÿ½ÿu{»ÛHè¯ù¦`Ëù›,F£Ÿ ?¦Ò_ŠþOYRó8„Ç+Ÿ|?5[Ô<ðæ‚LipÌ*¡Aµ:À÷#Ñ’ñ$°Í#è?*vÙqI‚-Í š¼t¨#+ȈfF—ƒRöA ½)ÿpözRZAñ =P˜ e?§\…*&n3†u<‘‚}ŽÑ%ö>X·XòäIH°vÃÃ鄵¿Xkžo2'G£Ÿ -<´‘“£ÐŠE£*éX,˜)4$»Œòª¼¿ö‡, úí—©Yä‰%Îà' ýí¶ï9²÷(»®Ëöë]n»á†zE±2‡»F–Ÿö[ðŠÙÀ×]`\ lÃ.€ç n üMê -‡Súô$í“5ï±sòLsãæõz³ ‚•zD¤b1AÀ®kÌ٠–_$9;"ŽSþUôÈP<1ú‚‡·!4jÔ6rIéN^…›´¸ÿEÑ•O)(Sº§ïê†ÇãåóM¡ƒá>Fð5ÝÛ‹ÊåR•Ü$ØÁLiž]Y¿õvÿÁVåÌBéXI$Æö¢¦å(ŒF0fM6‚ô‚X¸€·c5š±n¼÷Ý׿~JÁºOÝ̘ @ŽÛ¾[…jùÔO´[ß™70l]*;±JêXW$ ¦ük «­áÕ ÛÃ’¥Ç -ÖáÄ’†^åòŒ!Xü &ð2ÔÀ ¸¹~È÷0w¤+ºÛG{¥ûÈõ¼ 2oÁ9$‰yqg|0&BQaèÉ»(ä£d ˆÿÁ‰¢ÐžÓRv-D9ðÖe¦sqœ£¾€œ’ G -‰oòW&Š¡å}Fª(èFŽB@ÊXAR$ÌöÁ½°ôg‡ ¥¥ J³F`2t0¹‰ˆÙ’½DXÇQ0ÍäÀÒÑ?ð1öáØàèœ>kŸ;½ð_üçÿökÍi2VÏð+œN0Æaé>în|øÁWÿý¿»ñÁ»jÞD*+ê½ÈÅx‘¬óÐêžQÙyE ¤ƒÀÐ DÛÏIÅæu˜/\Å‹…X…±^P8³ó5OӞʟ` ` e?ä˜3¦eÙ"èˆXY]…Ùçïöv‡Ãa±X$[$ ß©"êZú(ì5= -QAårÊl7CD)ÃäçÀT_%¢'ãRÉöfÉŽñÁê:HLˆéÚ`¯Ëo$/òØR>Yô 6–uxiŽ_k¹Ù0ð`Ì€)Œ&á™F1Ë‹ÜjuÀ…Ö±ýÈ[ý‘•ùjç8é¹ñ$¶L{øUÄ#bB+wà/ -ԊĉV2$hc¾€½;“¼c^K,ñ’9ËÙ‚Ò°‹/âXe37"÷]t¬ä*©’Ž*¹ðkBöj:Ñ$– l4«¾ßšmƒ–‚iŠJW–«”÷–õNhìæBD/RT˜óƒ`“º)/²jPWp˜à’„`dm4j1É\0W&ÉË6^ú1%Ì~b´a™ —šöÒu×é×–¼ÇX`+ãè D£à?ÔV*Mç¦ZÚ!£~à:,ýaG/ÚœB¶¹Q0ÈøÝýÝíÞn{‰ ƒ8)ªRÕF€É ôÈ¢Id*Ôt6F‡Ú¤ô¨KJÌí%:€–o|ãú—‰8:lqèÆÑš*°Sàýq¥é˜¦mWÖ¾{Ýy€M4+?úZåô";yßf± äfu|j{høM³T´ËC«˜6?º'Äåk_Äê@xÇaž–ð¯2…‹˜^-›˜„Ròú ¿¹„},!‡Šã ”á5L-ÕTú‹ ^VÊŽdât<úaéùÁÅ·fq ¾ -8ˆðÝ|RlÃ…L(“F3oiIB‚ -´Ñv„ò¸ôRS¼$«o±‘%i©÷¨P”í8Vÿ‚t€B†9Ë)—±B©w¤µíb'ð~:ÀK„ ÷\ýêQ8*W±)‘4'ãë+ªAŒšvðâ}JÏêü4øü§DH׸ÎÒüžƒÈ“r8& mZ3ï wFÄ¿“<_þ‡ÿðµE¦'C›|7a\¿s'=!w„ñÒyä¤Á"…N¢(˜šÅ ˜2«°ãÂWçãeÓç®àWUJT6 -oT{?Xd"£w—’¯ññŒìo•Kôð^Ø­'¤Ö00Ð2 .bY4™"ùƒ­6“go’Dj‰‰PR,LA‘Fá1}ßÛ+BŸ·a„q¥ƒõ c;&˜M:޲§)ÜL¢}>p5Ä%N%PwÞ>¥RH~¹D½ze¹Ö¨u~w -ö5H¼œ Œ5âf`Ü?ˆ¬²BуÆ;…"6 ÍóCØú#ŸŒX‘<[äUÎŽŠ”M¡ßwËe~D!Ó»bUBbé;ŽÃL2˜N÷øqÓ´aľ–acé2î–¥ú¹Gh•sÛó¸ìûÆ1Hÿ(CJãL,SC‡òÁäè.½U7(·JÎP”üÀ–¸gûDÓk?ÐbaAzÒÙ€ðhÒÃ@Z.Ëñ”€Šð"Э§#ÚžÿaØLNŸÞ -M›åås øsja…É’Àqºà4Ï®tg·@ôw) -„ÅRf‰¡æ9ÛÑDpDèÇÓ¾z…wºi£Ÿ>sŽ -à•›ÇñòÀènµŒj -VЂˆ|<'ŽX±Ö%M› rNÖk3ëø%ðϨ!Kd -cd9°®Æ{Òºa\Éô9XeŒÿR-­Q‚2ä<,ýi‡®<6a\®MJ8%¸q)Ó£<; z=Ñ{ä¢ð>Ö ‚V3ˆC =¶ÄÊNß>L昤ۘks± ¢¿u·;ãLÊ4íÑ÷‚höX¥?8^$#m4ÛüÓ¡B•,_nþâ`A1ä6IlÿO }ŽC?Žž]aÀ”p -Í¡Kð,=j Ûìæ¸Sì&wç!§ â+ çâqZÙ¥Ñ"_\IjVP|×’aÍ5Ïæ| Ãâ`„ ì˜'ô6¨…ã¿‚ªn˜…‰Á‚¶Ë¥æb$C»Ó.&ŸŠc«@ÓúH1(/qŒRXP˜8©ù¯ëV*ƒ8¤fê:8êªD~‹;9¦DRt?1†I8ˆ0¶ÙüWŒ˜ŸÁ ÍT)×Á ðüiMÜÅqGwÚÝÕYá™z`>ZÏJRPh_Žâ¼¤«”ñ5Sk—Ä$¯ˆö„?dó?+ýYp#‚È£™liØ.Çã*}}T„'r%ë€h„!ÆReéσ\e (ZÏD7ba¡Çî˜q,çVSÿ, Ïÿ(ç3—r~¤¢þ¼TÝÝníTµC<3 ‡ Nq´“ÇÌ€KˆÊå{•tQD¾0˜$تÇâǾ1 -êÔ5x2 w<ŽöD.õk±ÌÔŒÀíl¾·¶tq5žŒÃ[Àï`lj ã¸dÆÑˆ->… ž¥C±¯™ÇÁ»vmõë_ÿæoýÖï|ùË×tªbceâö=#‰W^z¹ù­?PƒÀßùÞ¬ö=$-¨àVækpªVk#pûº­÷?Ùj.¯`(ƒ0× TòpûhÁ æÁé7fBÇñ žœaœkÕFçã{_úÙÿö{»S+oã{ïÔù+ƒrój ÜX­yA¨Ýð IeÓÙn¾½Þù¤ož8Û› dÓÿ…Ssðܺ»ƒ…œ&@ØE2“Ê–÷¼2‰mÛôÁ}=ˆ00ºTª¼i1ž¸O¨Ø« hœ´@¯ÀŒZ–‚0˜cõFÄðYg½ËBŠ&S]¢1'+‚tx¾ú1>D\X,Qü§»ãÀ‹/•Jðz¢ýÈ,›ÅcEÌ6„QÕ¶àÚ@ãÁܳmÛu;ÞX0WÑÆÚFföB£ÛîŽý¾U­« -åÆ'ŒnTkÁ &ñn¶ fTôÛÀî£ÿCL0ßàjEÒF'#º.›E?,Çp¢cCO¦ä -­™®«¤V´´É¼lÄ:ŒC?Èa%Äb É ©¦žfy£H W€€.7Ĥ·©mØ<óV»}oeI-ÜBå$·.{Eñƒ½<ù‚ÝGƒzCÚk7¿#i°@½ý¸Þ°ƒ!Ã´é©Ø2jØØ%V=åé¸âEÆëÀx c7öQoiêÚÚðL—^¨lþ »ô‚溃{?h/]¬÷wªÐ*'-P!]×!¦j1ä*à|Z¬âùH-Q>aõ»bf$ÉnÏ›>E3<ÙÀÅž.¡×ÒÂŒ¾‚e") ÇÂQòº2ƒÑQPÛÚLÉœ1½¯?p¬¢í=î†lRüåÀW__6t£µÙ­k\„,„ÚÛï;º®5O•ù¶ú»ý{÷,&¡Nƒ^:ªa]§¦œLKÄoÊ.bCo*‘󹼉°ÕÓ'²Z s¡Ç:ÒÒ±faóClô\9 -³lFÕE~¸Åû𠤀eÜ`ò£œô"lsÓR¬óÈal%¤Õô¥ÍbKËKO‚] -N†ÃÎðq k²hùüAA3º#õ8ÆfÉ‚'©À´¤H9Y áÔK{wŸôÈ.²¢‹jËxÆôw;ýÝê\Uêpg½ˆE|žK€à¸{Rî`µ¢"»bß$|ª9kÌ?¥ê sŒÆÉ.tfy˜Ò#¹ïܸîôºð’?ø«Û3˜ÃO!oÍzsº Âaû„ -ÖÛßùÖå·þõö}º¸ü…Ÿˆ2¾ë¿ýÏa»råõÊ©ÓÁnKE¢4Ò«4ªµ¹ÕÏ.ÙªÝÙ•š9ï¦ßÑ_9Y‚­Hª\` Ò$™ª¦€ë„'`ÍIâ$Ðn9vY^ùvÛ}ñùÀÙ4fl}®ð q5™¢ð²L+1á5ih $ìi+·§¦—šò(…ˆë£alÁ¸ç௿Ç~ÊVmF)W¦Õñúáª|ø`KªTÕ–öI‚xU"Œ‘ô§«ÂxÏ´ìÕ¤@›ÀžH-ÓO[âQÈí )Ø-[ÖŠ*ƒ`‚|däx à‘Ô¶³‰ÍC¤?úAÒ?&Ÿä¾@LŒC~ðñÝ~í¾¶„<Ž¥{»ëæfó”-Ávú&y·nnèI=e¾L©.ñz§ûÌóEãåª<¿m5[÷ð$ÍsMï0ËX¦Ößk]ûÂ*laå³Íµ›¸³z¥¹±Þ²O XYë~«RÁÙÒt@i=¯/TÒ^O[²(I|ßi!¾eý HÒ§ìwFÔøÇÒ¿d™k­ÆéH~ëßkéV°ò’ì«@à~êZcÜ}ÔÑÝZ—xGzZÀzÈüÇ9®))–ÑôŽC©ßuûón¹’êº ò¤ÀÂÐdÞ¡HÉå™è[Å”ù–Ù4dVN·ãÂTºV›ú\eb=Œ§ˆ%~Âô«pDˆš¨nyã#e¹ÍV ¼"ëbœÞ3LPBi²Ä:¦³Ó jÀ¸L¬†/™€0 -Tâ&9rAÛs3¬ÁánéöÝupJåJH)œM›ƒx‡á£y:òUq®“À öú'‚àgðHkFfó`¬8‡Ôÿ‹±AžÂNëãÁkÿÚêwn§·a—°bA™$Óæ¡=WáJЬô—/û0µÀä:ˆþÕ+×Ü~—ËKÒ¥~ö,è€ßùõ_«=ßìlÉNq['éßXènOìÀ!R¨x®öœ¼ÚÎŽäŽrÇÄa›JAiI×—p›r4ÃVd„‚ 'ƒø$cm²Ø dÐ ¦I—°éŸ&?q,âhÃ6ðÔÞ1‹‡ò¨•ª †?˜ÿZG! NÌûQð÷È3\ziqóý»ýnvòšì ‚=ôñuêdÙî„2Q÷*ñ¯I¦Åò²ê9H¥?cPsFª7Òvµ(¤Í§G3ˆÙš)èYš#t d‰$UtmÕ´PªŒøªP ˜6‡’ͺL€³¨×Ÿ&Ÿa½B -D?(€ËW–V^ƃ××°~tååxq—/WŸ¬\h²=Åæ¿21&htw©’À¦$¢Ô­VëC\¯}‹&ú=œØ‚…~õ vT>YºötMV.Jƒ×*M˜»Ž - ï8 ®œXÝØüP ÎyØaùåf{ çQýùÓ­»-NÅý$/7…I¹/°ÒÔÞ&“@Ú : dM/„&Ü;(€k_¾4x<­.‰B®Á§ÈU,²oÔ IDATüÀ¼ÔjË}‡Š¶#iáVxÉcŠiƒÐ3,I ®¼q( (ÏqR“HA<YÀÁ”, LÐ8&‚s¢ªfŒ'Ôøæûè²'z νPãI‡‰ñ‰`$Éš„}è -¯ÑAÌÒ¥(X$† ‚…d‹²VH¹cÁd®ð†o¸¼B‚ -‰žF ¹‡y -ÌŽËTé`û|ší¿|åÚ ß…œÔ³øhà°a¥Òã' ·³N€IšÀÒuº Á=_驨pó‚é¬MÛUTí¨º–¨m`ûÊÓÝÞí;›ýG·ÿ|Ú5œ%à•?a˜­u–þGfÔÄÕõ+ÇÌ»y£\_(×±íË.¢çó¿væÜ­?Ä4oã,NÝÚ©&®Ä:0عÛ}ø€ŒÄ^žÊDz®ºTZ;=qxa€Õ€5¯§N€2£2#J -‹‘˵Ge ,ý­²žæ@ú—Jz©8µY>êN—2åCœ¯Ã8~QªÎÔQá3*að¸ÁbeU†€ø‹)™£±ëô‚8ò›v¥X= ýÆ%˽Gý±ß¯ž“[ñd ä”êD$=),ýIƒ¹­p¡‘ ì 8–4ÙU‡€Aúç ù˜c‰XE*ÂOQé‚ Ã4î—=€ô0>ÔHþI=Ü#Æ®@ú ýÁ ªì? 2ûŒ”Uþf±N@kホ7[à|å§ID¥6LJôóŸÀúÖµ7WÁ´‡¥—¥˜Sýöìy[VFиb`Î&è¡„Íóøð7(Ï™›?è&Ç£’ ˆi"¼Vùw¶ ¢ÖÕW°ïlÎ Š~Ü.â¶ß{,ÈÆçŽ·ï°¸}cíÒë«NÏu9g—XC€ªh}ˆI)Ph€ܡйþ©à²[ -µ+gÇòjÓÐë¤üИ+D6^©T¶Ûþ˜Só˜Í–lxà³·mP)Qjû£ãËê'“ØÏJ®Û¡ìû°ŠD±8Ôµ@VZÖ†EÉ’Ç5ÀÆŠïO{ŒyáúË(C -Èö1×üÀŽBŸÊX"U"ªòa *já´-R·NÒ>¡Hבl1ñ‡\7p´ :l€€á…€&Ü´²§är(&qtØf÷G¢µ‰èÖ|5šDˆÞ‘Ì‚lézQÏçÆK/âœÉáÐx‚ˆ“¡a±9|ÎWE¿À”r0S¸{G–eÃöÿ‡¯õqh:î¯oxp±Ön7_\¶S€É .XDØI)›x »a½ýç7?Mëå7þf»uï½wÿôêou¢¨ª5kÕóËvÕU¥¶pûÏ$Ä¿"âÂ:ýÂÊÒÅWêÏ#,èâ…Ë\ÑÿÎ7¾Þ¼° -`s':ˆÒÜBüˆñÞbÄåF@|ò -õ`´'ˆÜYW+¢È´3Tgé>Q ¾N,JÇ»=8Ô¹ƒ<º)LK§BÚÀ¶ôÖC“•J ˜Q•y[ÉyÞÞž^n&— M µÍ”Ljô+K­¼êP—&†°öf):žy ‰C¬¸÷a»2_ÔueÃyˆ°-𢠼ìÈçw¦+ -Q2ß Œ l> Ÿ£TÔ\ê°·lÃÓtäÅ-¥6!<†Iž%°I*ÁóÐk‰¹÷2‡YS®ó(¸lQÞ[™Ñþû–3>‡= #Ü#Œ¹M’Âx5ÃÁ`†ô -†ÄaÒc8ÑèÙ„#Ä>bxEv1â™èƒ¬¡(Ì|e¶4•#ŸfÎÉ*’ž{B]7a5— Ë6>¶­ˆ%_†©w³µýнví¢U&vÒ~°Ó‡ùR®Ú¶ë¾òê9)0V/~æ h7oè”Oèþ~Ókàœ^Þ@çaÇ:®#Ρ5ÏÖÛ;°…‡ÙjµWW—qçÃöÕ7.m¾ÏQA@Ÿ~+qûíi“&ÌÀáÀ•Ô~Ø|gŸgy®´öYì|ÚeJSõÉú^ûÞ‡pL½²p÷½.ƒ!»ýsgO @¯¾v¹R++m®\Y\¬ïïÅOúb¬IΕïܾ¾°P¯ÌÏ­os奥~ÇYÿäÞêgWv:ÝΓ֥ KU’Н›ßÙ([¶ïùXCìÇ̆/tn§çô¹sóV4ñ#BÈiB—èEÝn;ÖHXçF…J a´¡•CÑ,ŽUò>¼#ö^¦hUU“I sbÌ q\0ÆNvçÈ;¤Š81|ãhÚÑüùñ^:fG‘ƒþ´Šh ¯¿aÃÛäSñàÇŠ!Xú« Ì©q †´<˜ !’°ÊÎb?Ð šl¦£ç/‰¾}”Ô0[S/%—×ðÄìÒ˜n“|1âåGqÑ"ô˜/Çß÷@HPjžÃXa$ÿ z×™âxív%‚[F¹ÝãÓÊïLx‚ù<Ós f;ënºãkšOIV§_8»µqÖ¾q/[}Q;#ÕuóÅsMRÝMR6,ýÍ¢·0~†ûÒÙÚjœ9·ýñ=þë¼íw;­µ5g§ãVw`›’Z-­^.WËísw·ïmÖÏ/¾÷6‚ĸõGߨ<×Ño‘S«V.­®tvºµjåée Ÿe3L[(±«;É:v»ƒF#Ss9#œ!n‘>)+5¶¼çziìûHãèæFwi¹&¼ ÒõsW@Sx®Œlð˜÷ÈF3©Ž¶f.5,ÚEXAjÔ‰ö¬ïe"’uÄ—¶ì»ð.( #lý®ÃÛ…³ÍÖ]ÖöÝ»­ÅÅf¹lݼ¹¶ú™e°ßAúÃy<ú.Hö~oP[˜z0!uÍõ Ó¿â?{ƒíÖz£^iow·Û]®âei©’÷ïm>àµïmž{^ÆÄV.¬°é_©”yôÖž«€àÀ›𥟼zý÷oWª6¬Õ¹jBuYçö¦Ð{ôüó½GG‰yy)—Ÿ1ûþÚ¥R±‹'¦²‹èÇEªDÊ31–1I9oÉù!2EÃü§ÊEWñy‚ôOϼ½Ý½usýK_”HÃ0¢œ¡Dùh'©lø«I%(çôÄ+ Ó²­ÔÕNK‰A7ò‡`ëúTÐôœÁqÁŽ]ÔxlSèI1‘¼v «V÷§(è ˜Ø€ª©²2’BåJE¼½ôÆ[ŒÇ¢_cüïø¨ÀmÝß´NÌÍ+²ô§k• 0ó“¹$©s -Q pÏÌL¤…e9†š/d¸R–vP­VëƒéûÓž‘ÎílMCóõ¦ç ÐÒáôf–B~wFñÃ1—ÀÛŘǶ†27ïcX9Š}ˆêÝ2aÅP/LÅåŠH"ûÙÚvFg [É©×AÔTúÃ㧤 å”þœƒ¿ö:‘¤oL1t]%ˆ>9¹L}£% ||˜÷ÈëïP#Þ ½uߊkÍU9PË¢\+ 9H^9ÈðÇÉ“àÄ&`r ãWq -W•?i@Ÿ‚î¦<’4Ê.\zN%ƒH‘{ {]&ŸáÕ€€ƒ)Ê! ´C fR%èÍ™0ô®ýÈ«¬5ª ýïÿüf0Ò/_Yj 2¯Ú'¤À‚Cê¾5Ì·©³“('Q8¤`/ÀX Ϙÿ l»xòd¹G¦1¬`þ7IUôÅEi0•“=œ¤~ -E<ˆõ+¯—îÂ+×@þþî;•zùìâØà‹/aÒ¸ß^¡aGžkHVŒËBl}r?½°î£½Ês2ç?È,vw»°òþÔ@|_þ¿ó öyé¦rûÎfíä¬XtPµ[<19ó‹«Lÿ·¹²¼´ùa <€«¯_zçÆmX¼Sž³WÏݽ»Î: Ýjm»dY×Õ“v"÷ñÀ¢l|Úð%HúÃví»«¯.²¢Úð˜û{¾'ÖH‡E韦ÝpACC%`šÍž{·Ñ¨ÀÚnT²¡$x_I••Tðq!¶ƒäUþˆY¥é\eËÕ®\¢Ï:1Á`X¶é:Ó‡ïk.¡ð5ÏQïvZs¢?Á‰(Á8B€mÿÛâu¬4I`Šè©´m‹„¦5_EÄîZ -cVB©î>î1©üR”Ì:–þl;Œáb0ä# £¢¤Ê¤??#wÏéŸ*€, RÊð~ý_~KäMi𽡰çjýO¶¶¨}] ²èoÿù ˜±lþ³&(WjìÀuÎÔÀíï\_Z=*ÿé¶?x°ÿ•ÿàAÀÊ ¼’Ý£Ìv¹ÞÙFÑ÷‡Ùšßì1G„Å”ô#³€=—&\Y«ûZ1-3íú´…Ëx8Žo 9$Ÿ kt‘ÅSO̹&tLM“u8`}`¼èú•åzr jgǵ-“B@N’¼k–ÎjìkjõRMUW ý Àpöôlš.õ`Ì€èÇ4ŒÑÔðI»/–3%ŸÀ·â À¶úLð'Ûä,0M">…HX³‘¬—PrÓ3`C<Í -Ô9ÎB‡Y -eþ 2ß4%À)é1Ä -rè‡;Û;·o®¸ô*âA‚1 +x\Íó‹â‡.Séÿ¬…u˜ÿ,ýaG?vÔófý$•w  ¸E‘݈Åå:—ÁŽfºí>HÿJ}.û]#ýz $ôœ æ?ì_¾¼ò` íñ×_[ºñö¦aè+Ÿ]' R›;{¾±Óé­~'‡ôY \§2gCÞ`ç“ÔöÇRÐ"ᾦœS«L•mêô¼~C¢¶P鱃¡Ï&+îdÌØYÿV½Ùéš 2·šBjßý ÒÿÊ•Up‰jì]¿µòRÓ:Q‚cÀ£)÷œF yϳ‰IwŠ6wrÁNo8H@åÆ -Ùò “."ÄNôÈÀj€—ËWVÀ²Iˆpa[MO“‘·ál‚ Î(zÒµÀéwÓ@ -¡:àú·×Ài››+nþ ý¥/Ÿ~ç»ÀçKgŠ9j0¨ÅD^’»fZbWƒÜL0^¦ŒT¨ÜòÀEZFAÂÝÀN¬š0 ÂÀÚEºy­AGÎ\ŠwŠ*AÇ£è‰Ç -P Ä¢1¢·£ †Á$G­Iû\\!ç˜ïùq†Ø¤ï£¨5iXä—§x\5Ww>ºÛz›òëK+æ¬ÝÝn5—/mß¿;xìÝ[¿Óo?-ÓypÏ®T°).‹>gR(–»/7Ön›ÇKð7p&gãÂaqœ¤¤®÷¸ÓÞÜð†Ã͵wáÕz®Û\]uÝN<‘À|ìX1™Þ¾ç¸AmîjÐZä¼AAÏñ¾†°ãƒÀÅEE ±G|¦X[â £¹ùbí”>D!<ƒlÕp”$Šdžéæ,Åš’wú‘n$8`,c» -äíOœ¹rI¥À¨mé^–‹žU(e,äC ©RY 0²„Q>æWšÍ Æ%/ª•KØp4°a£>/(ô©ÏĈc£ëFÓ ñÄöcñ à½ØãB9»ÚÑ}|÷‘eª^,'üÀo3ù0âø%›Gý:­h2ø#G9ÏŽ¦ë5MÁ¨Ç[‰¶Î@p^ÕqÑ3($cÜ1ýQкÿž@cUÍáÆqN±Mª A¶‹ý4øÅ ·ëÀOb–¦Øœ8 m< -¢»2è)Šc»6sy{®9kgíÎV¿Óò/½v¹¶PÞüþ{íÛËŸY^y¹Ž-{.lanÇ"§É’ÜH¡®ìÈÅŽV?u¼ÇáA×ÃÕ_†¦ÅuËÒczHÁ^×ݱì*L  -‰€< Nc)0X‚²‹-ß„ž?ˆ9c‰…+™š·¾3dBÌÓ’UÁ¦Ž»JVt]øL_SA¬¾Òt÷ú çç`Ž;{né„ # ¹µ'±­w?é„ûý‰(µt77ZVIë÷Ü­;«¯,¯ßAýòë—77n•çê+Ÿ½¼µÕ:g7+ÏÕºŸtò“ Q¯mS–"¥«¬u>ñî}¿µðÚbëîýÊñ$¶‰þc*ÚŸü¡tÜ׿۪=‡ý:áF/Þµ7w>Âg;n7²‹•Ì©‚mY‘e5šgšÝnÄm°ÝîžxÉjž^¹þ‡×a ºêÝïmüÔßzkû£Nû“•Ï,ln`ÅvãÔÜú­ÊI«rÒîî:ª‰öþ®[>ié4Þ|¢7Jf¿;àÜI0ÈWO2ŸWÒkn!ô”·¿sãGߺ({3K s c…2 X©D9L¾’‡I_,¸Õ«¾éD~ǾTnß‹92JLzp.^DÕÛÔCA=+Yf¤…'ò0V‰-6E6˪!LÊêõ¤É[¢½?U%Ù|iÕ¥U¤J u޹cjRÿÍmSÕÔƒæ~3à =‘Q•²I•Æ:õ ›:(€ìšIí&Ø?Eª¸X¿y}åʵÒ\ ü³úü"ˆþJ£Ù}ØZ×Á€¹°§IEÄ š/aÃJ÷î&(ØŽóqsåE3Lñ3/ܬ¦U‰2IóÞÎWµzî¡àã‘BÌD±[¦uÎs寧sîeðÄ)·‡Ç]ØI+ISÕ, š÷Ûî“À:.瀦+ B’L,ÙÚõ÷Ç ýcS[ X4Ä ¹„- Â |û¿øò j†r »r[¡ÉŠÍâS -+¦ªä|sm"ì˧1Ä1JËÖA܋óƌ‘Þ,1Ý»l`ºT2·Û]PEÌêÞ®óðq³C”ø˜‰e´ÎH|òÍr,HdzhSZ‘ VbAAÒƒŠ§ýÆ4‘` ž,¨~$9fƒ‘›À–²I‘’l(Õfä°4“[J;¤t}ÖÛs̤¨³ÕÑ+hþD¦þ0Ó©S 7u£p,ÙX"cþÆåš7A -€c®fÓLðè£IÑžªÁ‚¡Ë#Nžƒ"[y"P‚?‡Ö{“Ç3Ñ&V‹!øį̮̂Ši ¨mJ€ñèÈŸ+s8eCnD$£5”笫¯ËªJ¶©yËK¿‡ciý{k ýyçÂ¥eþ·þrí§~ò­µ;ÝÎê…Õµ;kþc¥¹xŽW·×JÏà“ö]•Ϲ ÒŸ‰Ü„ªì(OÙ!¿µÈnç£{ó{ÿÏu„,CUq“ÞÝ^«µuí×a[­UV.¢ô¯œ¬\~ÏÝx®«U× ½˜z£ÜúH†‘×ï´V¯ vÜ|¯uõ «àît>éƒÇ;áCg饯æû(y.¿ruíέÚÉ:¨­æEÎ,¼öÆë0h$h1Hã|œ6sÐÞ“AåT¶7Skx!­e#–.®öw±±ùâßÀòjVú¬å “Ê.Ù7LÐþ„iŸj ôÈ$Ê©é³5‹ª7Œ@úƒîO? ¹`ñ˜ä¦¥ -Ò8I¢ÞdìËG7Ø Jdˆ>aié¦ÊÈ -„®'æ¿`æ iYU¤“NÔ€Bô>¸]߸Ë:@d‚’.²BâÙS¡Ï;A&jaYV³ÑP*š ºÎ=/ìšê€4»ËÝjàäI“ŸYˆ©¬ Å/, -ÉaÄÊ EÕ¦ÖjÀÔH¬?…’KóôbëÁÝôŸÄ½§‹¼b¨(ýœÆ!å0 \$3¤ºÏ˜À$îãŒWN$>D&y4@Lc/ ýo¿½yîå2˜ÿéèbåÊû!ݨºdÿ#ŒoÎ?æðãqh±5A†°SžJW H9i…éÀx—Õeò\ Ò‰$Œ=ŽÒ>ª"¯‡”;˜¡ÁJK„ó©À´©VñähÎ/Ekड़ß9ZÕ{´½´ŒxJ ®}ù-°ý–·® -ª—¿ü#«ì€Ô†€Ó -@ô·î¢!ÕÞÞé|íÍk׿}]?VZ½¼²vk½Ú¨°dg@„åZ¥²úêû„Ô@«b|zL–Nõþ}´Z?hž9 '_Å ¶ÚÝ[b ¤ý¹êõRñ|ý·ß©œ4¸îœ€>í,Q/E•jy¹×gëá3’P @ö¤ÿLÙÞÁþçú¢l@˜ x‡÷m[eNоï±ÅÑ×,À¶A<€oþîõÅ—¤Ð¯TËÌyj@O"+  ”|ž‘G1Ä${ì)Àá—¹=+\d¤¿@}"“ úyó:‚;`{ý~ÈáHß÷Ë')}´Û'àäù"Ñ0³•l²qHËb–þ‚lX/è´:¥8t6ïܺúfä®Hа -àúoÏcôûµç—ÀüÂÛnà‹Ù@Û+úûí­ÆÙ†E%I_¹Êô¼xO…àјU´L"D?w5{ŽÒŸÉå™·Ëó-åØ÷º­)$‹~X°Z†æKñ¸ˆ~˜ê.Y|sI™ 8\rÒß>®gÕ1¦} -ÈÐé »¬²¢8ôSÒ¿G - a–ôÙ13Ú‹r“ Ï…žýv ‚'>Õ律 \²­\"K§%Úv¹”²H‹„•Á852©¦-æÉ‚ÿ˜Eó0ô`”.x DÒ¥<}D3ʘÊ8Äid®b»ÄzH (I\œøfiU<«üè(”|–6N>FJ‚)ˆCp”B‚÷0Bg"KäÍUÿ"ÔLu{!xaG@ ØÐØöö\oo*À ‰ù¼ª££‘}›dïtú¡6£2î! ßÔüOËÛÉð×ÁÀ.9ÙãÍžÝGÀUI5»¼9‘J>€S8 ý5J¹£~<¦y€äuÅÊÒ¶ûgø‘en~Ê·ÌÒÿé¥zg˜ío½ùVç¯uó̰m4++pjÃvFW5áZØ!óäûÚû ÁWvuA\{}>ÏíwQ²_zevÊ•J£^Þn÷a{zaẸq MrñàÁÖµ/ m‡à9µ:HÿíO¸©ÜÞî'ýÛRúuwcÇô~Úˆ7O§ó g)ôwºpˆÍÞá#·>Þzû;7®}qòS¤®8@Cžò£H-> -Mc*|²] üq‡€TUpžŒõÄ•7°Êˆ=A:€w»%U,ý)´€ÿä®1C#»~Ô4„Âk-Ù6ebuý„=èIJÝ•©£RÑòq8ÖLU;fb¥óÐÙ÷=é‚ †;aŽ -O0·Æ¦œMvt÷áVåÔƒ;´]ºpyw¸©PzçdmáÖÿ_œc»÷ýÛåj#>ðJV¹dÍÁV§ -Y§×qíÔÍí‡-°/®\‚ÙR.Ϻ۰ŠúBgë^ãÔR©TîílGnSÛn—†OÃ#%l³™ðަéƒÇníTs›©%w|Ø‘¥¨qùÂÊÖ#ï"Z\8ß:[¿úß#ˆük—˃ ƒp÷à' "xù3°^y±X¤ $þ.ò˜ùþF¨óØ¡FWÅe¸J,DÜŽÎv€iáH=,âÅ(Ü$éÛÛí/]höw’ût剑T6³”¦[[u곚 BÄõ0þ æ§âDÉI ÔÚl†SD1e° -ši(Hp†6ªB 0¢õ~WBí0Ÿ¡å{2MØ -“ŠýÇýQ6ž àióÌa áGbR ß*E‡R𥠶­¨hÜÄÑ$ϘY ©X -³ÀÉÚÖœRúîÖ pçlSăZ]ƒS‚¥¯‘ò¦Ž9,¼ƒmçPNä…æ? ÜHQ™à Û*MÍ$‚kµïxŠ®Ã¬ˆò׈’$ž“¨YGq›‰w UTŒ#˜ç&vÿ@ }žŽ¢s£5¨%« -€Œˆsã0éL$¢ ²tI¯‚·…í;þ^€cLãš=ønúâ$&Lˆ[Ü‹ÁÃÈwRÊ|^(¼V›Ž×ù`øÓpз¨xãÃõ0ÁdÏ®Dve¡ç zCôŲªúñN§eŸÀY?Üï-®,ÀK "ÿê«ËÝÁ–i‹své^çNq^ÑíZÇÙ(À_Üío F­3Øïßß‹zµ²ÔimùW‚öÖö­¿¸õÖ—¯v>éïtz×~ìs´0Âñb³yýæÚÊE¬[]óâg›åŠÝï:+—šÞÀOKQyþ:¤ãÙòa3®¨>¾¿õ%ÙZݦ IDAT†Ûs——^;óú¿ó³?ƒY˜|ÂcbU†7±*êñ …GÅŒ×Xv€j#¡ƒ+À'º˜Ïsöü”w¼2`¯3ظ³ï‚:Ôt,ê„áýÊ•‹Ì|YBxk -¢*ù`2æ <ŒŠ  îâ ŽB˜ä£aÇÈ@î•fì3µk6n¼Sš+ç禽õÉÁÔS•Œ8§ßo..Úå2wö~D;œvû~ëÒ•« ý»Û@ðç`õƒáÝþîvYæRÄ\­+(‘é ¸}ã›Íåÿ—³·Žã<ÏÓÓ4fØÍ‡3äˆai@”hÑb1¦eÉ«8–Öç|ÞÍ®îÎç²c—Ëw¹J­/[{åÛ«\Å•‹WjoË»¹Ueã¬#ù*:I‘å¥V¡MšúÁˆDé!Œb4Í4¦Ñ==sïÏ×ß4@JN®ÕÕjκ¿þ¾÷ÿ}ôø@˜i+µ8ó‹à¬4¯a!H‹1ÕP7-Dúv×BÀ nFo·[qrŸÚî»ÝØ_ýØ10ÀŽž¾ÙGJ÷»ï§çGLf†÷Ñ™P¶j¥¥é `ƒ-Õ« @s‚ .6ÈÚbÐJ¼)‹XÔ>±Ì•2ÌÚUgü¶¼ ŸÚJ ¢ß]Ð B« ‰äKJȱ½¶Ö\x£R¸E”-“ð)y(6ü;ƒ'7[·RI{îZi†½v¨Ö8¤º¦–ó{ •Ü^_€@lƒðäBOñkƒX¶,36†e©qB‘?øðZÞ8…Àø’„7ÐX‹Ä ™ä«TyÕëF4ÂbÐÛ¢ûÙ ë%pI[Ö©ñ¾»x¹>U*¤¨V今Y-žJЃlü@/¥É*àh|ÙºÎÆ¼× ‚ŒwÖèø*wª$–ò·ÀM$u×0˜]§ë• -hh×›Ž:ä±Ẏ,´L³½áÊ8 ëÐi‡Œò6tpÖÄ¢‘ü¨ $ÐTM±Ã þI¢ßm¼+‚‚¨¼S窿Ņ•ÆZëÀô8[0n)-Ëâà ¢ô"¼SÐB7‡Óî¦ðÉÀ1™Žhì¦îÀ -(§Ùš9**>‹Ä˜LJv‰aŸ¹s²…Œ˜f‹]•¨ù ^o -¹Å7+ @Ž\¹Œ×|üþÙ³/`)êìÌÁf‹mNÞðô §çr™zÚ‰ûf@<õ„ 6XZXT†Û¹Ì )¢H4¤M†5d“Ô—l.µ#h°¼àóMQ‹ŒxQN0Ë ’g —N?{!¯ c¡çs¹Q/ìq3¸ÌÅRa%A2 ˜ÍˆÙä!H<ƒ}§FS{PÌTœšŒß€È-†ÒÕ©‡Í¦2›ÊÒÒÔá#n ¢ZY³=mgAîï+ÁÏfl¤?¿;¹Û]dJ¹5VWËç …ñ•wáwÆ÷NÚct$~j8…¹Ö †YÜvD?(P¹­ëVk Ž™YA Ð(C2[–zL×ÐX“5Ëq|üî£ò|=ðÿå7¾öâ¹ó¬>h;ñ1T°þ‚#VÌd2ív†± eM®xx˜åv8—›±D˜µPÔ #—ÛP_ù€m-rKeObí-.T³cè–öb½kkžò®rÊú ¬©À—IÖ˜mÜ)ÜÏ|aLÕF›DRS:ÑH²*>Vo¸™h A ØÅБ%Ѝ‘ 7¨ƒ€=€„ÇÁwI)¥?æuc7(#àh…=™NPQFŒ¹5l/w¥Á±ÿ¶éK¿˜W".ßx}§Âùùˆ±.ä8(?ÃàðK@ùu˜é¶¤] DÒ_‰Á–ðæ8 'ÆÝiN*¹ÔˆA…áèÀít8§Xz*2y÷zØ’ƒíl ÚUâé#xZ=¡sq!‰†Î†ŸÑAúƒ`kÑ4ƒ+ƒ-ÛbZGl1L´ýy™ˆ†,Ê\0gÒ#ãh(c„’D·"‹”N½ƒí÷Ú‘$w¬¤Ék˜Þ‹‡]R¿œPæOçYèX|EåpQL,NÆé8îÌGKõU+Ùwa™Pâb¼@‘µù ò&á¡#nÊݱ\N¤sØ“™"%›©lžÃvji[!jeùÍÒÿäýÇë„­'÷›Ü`¡`ëh <PàÀ³ùo[®ç®_Ãã™çAúŸy±¼goþ Lþ‹o-ÍÞ} ÞѤ­|+Š™ÁÎML¿KASWÁ<Ìï›Ûþ¢£˜ªà@…¸Šûqg•_ç°ôW‹‰» °¶+çHC“`÷KÁPH4˜ï£~!F$RÈT—:ÌqîW7L¦‚ßÃÖ®H~ @'õkõÜ®ajNÍÜSEó¶ -~ðâ+«X~}ŽmÿÜøžN§3¶{œ³Ò@‡ ºrüÁG¹6ŸE†¬-+JHàE?W«å°ÒßBõ0èqÏdÆ´adÈâfZLÞ“¾†oq ò©iðfb‹ÀÌÌ^b¼4ÿê¾ûK¥¿‚ÁŸûÄãÑRh¶ÞZ­(€t:ãû-Y¨DЃpÌX[Ҙ؟ ´28èhwÅè×¹' žÅ[v· ;c<0÷L­†ÑäT‘ú9{1.cå]¡ðXb²€¿o ò²c>U¶ÍvPX—v5|¸G$Îõ޽Ã04.> )“I9 Õ´Ô’³^áÚdîQd)& -„(,bŸ8î™&Eáh¸&0ˆà“Ø ÙÅÐã›”þ7±ýÅ?TTäœqØ_…¡ùLˆl\ ý¹­Aã¶j]#Àóö¦³¶ÿä¾7‰ Ü£ªÝû.²% t€¡%$¤ý×4dÛ›NÖškŽ×£Êô:lwlÃ15ÐÁ80u €¤*'3OÔq¬^h©³-+¯/‚ƈƒ2æ¥ 1HÍN€BÒ‡‹;àÞj& õR0â:R3¤Õ€J€K¹ct‡ÜN3ñÙåÎvð<*}Ãåø‰ƒkÍb$PÞRðБϱ‡½}Œ¿ -Œu@¼Ê¥}Ýe' uÌd«GÌ*pÒl¶âÝpÎýðè±+»„?¢Ì>é¿í×@ À¾ô‹Wà"Mœ“*ëªÎuó‹W#t%l‰Â`.?~—Jר“õx0ÃWª5ÎxóQâM±ô—0D² “Ï9™ä%Ä¥¦ª©ú®ÊE„-Pþ˜jÀÌ$¸s/œ¶Çrˆ±ü~ÝÛ£LɤU.WRUT½õ¢zx^ibbåÝJÆÎáêl7/¿ñJ둳¿1gÙh¹Û¹œµ+§Þ>•!~•ê»ÄæŽìÂËè4Y㥫ï.÷{avWŒ‡ŽÓœ(ð:.Å­vÓ÷=“nÞ¹îX;,Ÿ¼?cX…&뀣U(…Þuoæ®<œ\z7ŠÛb€qòã(¬OÞ{ x~—] HØxÓYñâÏ~êy›‚ü¥Q¦àõF³qÝD!ƒµ‘ïìuòkÅÌÀ*Èd5“¼r¸ ‡ëqý Ó£à><P)#áyxµù]¥ÚНkÊ0RW/¾¹2NÏ¾Þ oÓ·…ó®Â×½u¿ã)£`‘ ýØ«!ZôMÇÅß§á&˜`×7ìf­¾‘ÝšDãc“ b@0˜¥² º‚ ßóÝõ°´7ŸRìÚ¹Jæ–LÄV—ùë y0j¡€ ª™†m–ë907ô¤‘P1C‹ %˜ ÓÉ“Yñ% ^W }ðaz)ò$ZT…,£ 'úQ@3ðÙAà&f—«¢"Îhå ü|¹Ll˜óê¨å­;ÛH¶Â.‘©`ùâŠu;­sCª`•âxH¥„×µ 3ky¯{±ÍÀo6­+—ë…[Á.·12£*»M*ÒÍ‹uPMTâàŽA;Âzl4ÿAÀŽÜôyw3€1‡â4•¯jhËwbó"¤Z„Ëu´¨o¨–‰+šÚí6¼‚‰®tézÈÎMzÄtZˆŠŸÊŸ"R£±FS§(»kX,‹X³ž :VX(k Û»xVsbŸª‡‘¢£Û—ÃT\Œ¯i¦‡¸6˜Ub,UœŸ!Hœ“µ•zsÝËí¶®TkˆŽwbS"~ÏCœJÕ1Zž2„ØkjBûLS+ÌXˆszÔ÷X—XvËóÚ.\8È» (¿Pk4Z šÇ«ï6rEQ‹og”¢ÛkÒ-÷E" -±­Ò æB )ÑCW©—€%æ`V “I]í„IŽW˜Iå>ï €¿à¢ŸÛ[º¼8ÿúüôá ¸¤ä—7‰áF70wf!U$™‰>]¸àlúý4PÀØa‰ÑSôA‚)žÁaÛQpgÃÊ¢kí0­ÑR§¥]ã§gÎO‹÷Þ}l5¹ -ö·§u£›€ëGfÆucbö+€¯'åJöéEá))R[M¡gOœdH5Ž%u€”:¸$4»»°v#﫵ÖZíâ™§ù‹\g6V(N΋›Õ_T@ôOMÏ‚ ÏWaQœÛnåŠE3#µÅÚ…ÌÞ+‹~…t€vCËoOþÍ3üúC|K! è§þëÏ>²\­Â®Ð—–( 4K1åâè+®!›C mÄ{í(c\rcö>Ð:Å‚¨E^Sº!ˆþ³Ï׸*3VÈì*dÆÔ”Õ•bÍ®¼9_Ѝ@úo-Ádq¯7ÌcîõíÈÉ^ÔBÍ–ÛaÀÑ/?³tYt`1~G𠻬G?óiØAlµîo¼!ú}j›ânoŽŒí²'§J oU@úƒ˜º™ôo÷}üÞm¯°ô—ÿdI'K€™Ï}ü€Ùj™¬Îš§QÅXDômO 1„Ã[C/zK9„å¤n“¾žÚïÎX¦³ÖÛߦÀHÿø»¢ÿnX—s¢¶ÎÊÆô!‘°bÛNœk54öéoƒ7Üxk»áiæZÃeÀ²´é Ñ žLù]‘ˆàGá`%JŠ ”ÒM›G ­ãoIœˆ¿Hd0„p’ ¥{ÓÐàó„‚ç 9žœf1…7ÛÞh+1È9ÞÌ! Øh¯õº9Šrßs·ãƒpíÌc˜J—ÍOü …Šn<ý¢^Å ñw9=Èt›X˱µ+þ© zŠGQ”³•QñwCJž‹hLØ“wç¹lvãOr^‡-Ê@ø ⪑;± ÀŠÃtQØŒíÙ„ÄÐO¨Tÿã³ÈA$‰e†°°±‰:ú½ì"}ÂÉÙ3sM6Õ±ùÖòZèÐÄä”àRþ¢p)~ŦÈ/f±àÌVÄt‚ÚÀÝ0Q5q®µ3±ä–& MPòEv¶xp°ï:)¨‰é’Yn9ŒxBƒ@ -̾t±V¿ZŸ><}òÔÉúÕK á€`Τ_ê\b;K´|&rAY7@À‘!bº7tBºð‹å—æóÅAøDÿàaE q}énúrž$S‘ÕƒÁ5Âï“D7õ ¹e9U0ÃÀ! eëë¶³îp<}òð *€Qœ~w±|žËxÖjÕ‰ý¸Xú§3ˆ~Žàã5mýn[äv¼ ½­ WQ™=€•«5©ìÛûäþ}p´wd@úŸ}é8žþ»Ó ú•¿÷vckevÌj¬ Ô ¨pý¦n+)¼xégËœ”þ<}9ó©ªÛÿ‰~t€â‰6lY¡2(ÆJïnS¼-¾¹¢›¥Œwð:^`oM€ù¯`#{ -@Dÿ`üêÊ [°é!ØÃ°BŸR Œ¥P‡RonTü¨Ñ´Ì”‚ -‡.k6ש -ˆhfM0è“)×kÂD¿˜kx+ƒ?!bä&º`Z¢%¡¦ï{Ñ(„˜©)W ›Ÿì¡»7ÇÎln»Iηé‘ùÛlËŽw÷Ô‘ŽšØ"÷ã8ú•c ýA# ÎIȼt¼Ä@ÿ ©¢Å!¶¡++ÆÌãÆ¬~–øplÁüØ 8Èiað_5ªŽ•_äÌ9O¤ô¨&=ÙSÆBâò†u¶ý9•½2B®u5&”>53£WŠŸàâ)9v¨M/@¡ò…`XxÜHàÉ ä°ôWH4×k úÁ à j?HSj‹‘%9PœQ8›sáFÂ&ì õ0Þ…€Œ6¾´=ét×Nåš:»دÉGfŸÇ¦¼0`Ï#õþ®‚F˜WaTaè˜ÿ nþÏ¿>j`f¦Äô†/¥mLY,£áv`ˆ\·É48˜?T+A -€C@ -6°‡­×ªuV:þô¥(ä`H†[Xôãxn%^L"žÌ:/" <Ñ>>0ßÐŒ¥rêž•ew½"ÇV‡ä. B&ϳÃ`ôÕzM‡%{n¬+P•g·3yÇaLp‘Z&е°¹Vcäw=¶*ƒN7Ê£€áŽXÍ!²ßÍÞöøÌôÁƒ·O壜-Çî½Ð·,#ÜÄüóõù…‡)Ký̉‰Óþ8Žl,þßçÿ?²ç¶Þ|]ÁÒXæS°žk›;òc÷ßý«ÏýçÇWjRi=à&ò¥ŒÒ­ùË—(U…ܹA"¢škÀJ­$_®ÉëWP0™ù[5˜ÔXpÃXêÖ«a0Úψ 3ÞíXisbOvéÍjg½'ž;$`…L°ÀdPÂSP 6[®1Í4×à5R掔ϵEÃ:¸‘L(\Ú_8^°—¯ÀJP -y[KàÔÆç¼8øÈ)š2›×j0Mø+ë>X(¡ÂÙÂpa¡‘êã_l6üÕ«u¤l¶[Nk¼T¬Õ±â+7aÖ–×t]ßž|* ]c±@¡UMr¿{ÅtÁé`ç˜Ïúz`ŽbÔÂm!nS1\K‚´µƒ¬–2jW…Äå¶{ö”@eÒ1Í«òä1è¶±-î5Æ=ÌPæëJÉ£…_h½/~ªp[öΚnö2££š‘¶:¤R…äv„bw^¢CÕ_zJ[,;½§™¶ÉøØCØFc’‡»Ù†à;C=Ï÷tPØ= 8(È^€Ã9êž@ƒ²¨Gü.‰r‘ë7Cè•N¢JDTt|‘odXä]Y£8ëaÚÀô/ò4ô•6…IÁᶃ ŒÉ´qˆ| üaÁ¤0–UžÀ$Ô¨„ñyS¢_ÿDS®»ÌNƒN©9¦=P(Üêm†àýxÃ÷hiÆÁ‘T‰¤(•€éÜuá³¢3Õ;œqÅz=á -«(vÞ@€¿-Û‰­QÌÓ0ä ^ /y14މiºàžx g3³‡y`V ÁH‘⣙ì³ñkêÚfäD`}}´8P\º®0Óc–.n(HÝ(IšdÜÒ W¢sØÐº(ýÏ…ñ˜í@!$Toï ¸Í€.¬T¼Èå‚mHcÎqp¼Luœ†Šy…È&ÅÎÞ[¸dÆvÖZ¥©"¨°r¸ª -KZ;>²\DtJ¤’ya‡»ƒÑã·`ü >;xñ†À@0AàxF…ßr~þØý"¨Î-`¹ÂX.Ÿ•ü¾$u±8ñÔXP5öª!Š€‹ré/&–/f*â oDzéßšNtÖ?„ë ‡ŒzÜ•­›>8Yzkî_*áZ=~:€Çfñ®@ú+[+sâ›CjÙˆÕzŸ/c´ -Dÿãùä‹¥ÞÈå²\à•6G¼hì†6…ùN€ª÷º>vÐt·°Ý^ šÃ#‡vâÉ=óÈgEX ¤?–“oN—vgÁö?ýÂö˜vtÑöïqþM~^ÆOàò¦M®®U¤ Zï¬Ãš'@µãÇ"…bVne¯µO¢Þ -6œüÞ«k—Ù\s+ u8¦ì˜ÿë÷0WIP?Tm)*FXúß8¶=´d†¬h>u¢€¾T­õ 3ªé»³å×çÁç‚WúQ%8ª‰¢¿¾ìÂQA+° „no33¢¢·Ç[Í»‚Ù‹(S‚¶¿.NF¹ºå)E…‹²¹:ÛÝpK¥b¥R5ðÛÿôS¬`â‡ß?ñ+'AúŸù»Ó§N¢)°péÂÔþ#7Þé/Ý$I;ãbu|½y'èI @!"6逴›|%zËœlñ%»l~}”¤?ÇèYp Û°‰èí ëï‘Ó›rfô³|d=‚Ó!È<ê8^¬ZT“e¦,Lùœ×‡Ô ì¿%—}vüÀjÓ‘‘e´[cYk/r¶r›—˜)[r†Ç·[Kç ´––ªFëž{¦@ ’]T"É¥Ÿ\Â¥¨*r³k&R"½²D7Ù3¶--TAÁ–nr]twH Šþë]‚ÖðQôóg¬i3ˆ¢sââÝ /•4•É-De¡ -jàžûgЩ¢¦zUÊ] æÉ)fÅJˆQ:ø“!ñDN…º¯Äã¡lx‚J^S‹d±Uß©ó‰ÄƒC¹OËšÖlÏLjˆPà'}âá[¤knð&)Äç èùDS½'ø&ſ୒²ÝÚb×I‰M|e2¤“ËÚŸÿM\œÓ‡0ªóЉãÊ?d£)¢ytŒ–<^ÀQXr¯Ï/˜£ÆÉœøY^p4bp'¸žÙˆ:×åæÿáéIð¿¹tìî-u¾êÐM¼¥R̹obpUEêNlòìq|,&‘å1¨œaÐFÆë¹><Ô#QEJ©(¿´´Z̶:uJ Šd‹/Måœk.8œëwbÏʦa¿«‰d5\|ü•wiðB_p_l¢Ú¶-¼í”r7)Àq¸ÀÎ'ñ˜{Ü=eú0µwCV+7—§˜áz'&╦Pgp‡N6gÃÞ¤8²ÛoÖP£Åô%(fóºâD‹éÛø¸×"µ;3=k[™{'&Kp4âè]žªK¦q/Ö!¼ ¶Áõø^Tr7„ k¡ÈŽzÎzóÅŸ{øÁ“àI-½„EbhÚ$BSU8D«v<¤ö‘Ûç>sŠ¾Õ 6;Åâå÷êŒDØÿ‘ …_›ºíncô‰³/¿|òã§Ôîu,SöS12¾S7FMcïÅ]÷Q%Q‹",íj«þ~ ®MתB J ±â!ZH@\:hnÍçrvÑ0æ{ÕÆÕÜ®´$ˆ@úøŽ^áÖ\¦MZ}ÓtRH %À™ìþÖ­ 7©¦FLZŒÃÙŸ.ض™¿% !½#í€}7lpD æŸnêP¯KT½œÙ¦{7L­3 ³gYöÞÛ0É.ÿT²ÐZoeFñétbž\»5@ÿveYÎ"—»£ñoy†ì”^~{ðÝ ž,.¢È0D±̺ìøó¿øò—»´ˆñ„‡~„8y=3} vøç—~ûKü#pâ85ÅkÞsçìþbÎ[¯Ôk×áˆCñó³S3Så ss¯”¿úoþéÿñxñ«¿ûÍ<þ8œ|þ³ÿàGO}泟ƒóüåãÓÓ‡SÛ-ÕÞ«­ÖVK{wªÚ0 <³l¤tÃ^Ðv\#•H$•^Bíɧ.BEª6²gÑíïvì1‘Ø÷TUj›p³'½ÎE)TD‹yõ »êu¦MGÛSôÞO0æS¸`t#‰X\K¢“zk5”8d…”McüG6cí˜É„Q¹çœÃÞ¦KB8ÚÅí¬c ÅuÓ:æuB‰Àœ„€'ÿÉS\ô¥ø)•4µR}{¡³±p‹å¼ïÀe##q*ÔvÎΙ!¦Üš×mG}Ñ`\‡ú°F¬¤àF4nÕG†àPAóËs[~óN!dŹ£Øz?*•ÆVgØÑ¡é‰›Â”ow>ˆBwH f¥R&³û¥ “Ûð±”Ñ!92Ý™9]ŸsßHòù‚Ó¬‰VC*ó Áh…›*e˜1@ÔcHÚ!Åõê›ðáö{`eÂõ³VqÔ ¬!†ÍXâŽÎ)Ïž˜RÔÂ4…Úéæî!HÇT$ßAKÁ¤R/P1SHGysQwGG‚¢à²òK¶Ïž¿ïø18*±ÚêøvòÁ‡‹'fi«¯ÅÐ:¹…2v"aŠ!Ѝ1à=¦užyꙇŸ>89q©ÓWA|á–íWÎ7F‚Ü?ùñŸœþÙóÑU%âž—Ü@pý*µ’_måò„isÁ`ÁcjGt †îa¯ &_b¶Éô¡R³]QÞŒ W›¥ýD`°îùéÁíܯ×tèaj/Äù«ëá&öT¤FEI"ÃM+ãžA¹ú^#O-òÜmÈÈÏaØ—”UÞÆMÂq†¹ÅÂj6ÝJ¥^*å°VaÈÏ/^Â@RsÔªf:m’>Èå¢Bᱦä+¦ÓU$ŠJ:Ò -í¦—Þ‘Êì0Ò×½öõ¬ØÖÚ`d^~K¢_yu.Në˜E)|ôNT+ÕX4CŒÍž{½¼áµîš=üÊB>öåÇðõ»fa‡“O}æaþ<ˆ~1þ1¾R‘3D, t˜Ä3›*ÿ|ÁÊfr»ÓKKÕl6j@:é Ì7/1â›NoúVËieÒ£7} uÿV¾ -¢e*òE6$ž¡Þ³Ï·³ÙI€hI轞€bä´µuëkA ´[C—ÍÕ–i:õ Ÿ¥w0–¢£~ao›ç?¶Ý©ª Ñ¥©íy¢‘SAÝž}\­Ö¬½çœ|ø¸¬a0(Q¶¤rslBL¼¸ŽÔ$j”ˆçî&M*°MÜf\zCœ—ÏW ]™º«$u—ÇX²jK׌@ƒ•Âá z{®$ô|ìT‘‚}aˆïËØpÙ±ì¹3gáxÜq+ -KcI,ã•û!3ÂRƒø/š·H®N>B.îém­Š5P" -¿&¥ ¢‰n´²˜çó»…é:oNÚMrí”ø15ý7HÿÉÈÓ‘ãŽWÞ8>RúÿËÿék]U=~ Ó¶ßùã?;{þþÀ÷ÿä;'îØ Š–Ü(úy ¶Æ­â[\ôËšk=ªÜ˜¹SÄj^Ÿ¿jÌ©$š>Î!^ðÖU®,ô}lµÀô#÷eúàüõS¿ýß|n¹°½ -VnÛ`‡ê§g9Ìàƒí?…w$ª_ÍÖÜn”à;è¸~ðÍõŽ=ŠS´‡ Áö¯×8}õzkúP1“ÉÈůÓV[ŒRãêÜÚ‘š¿(XÃ@îËãþÛ&Yúãæý_üT1‘²Å?§§&_~ kÃÀüŸŸ ÿÂ-Þ&Ì,¢Oux€4œ,ÿ‚AMLЬ*K•™{fj•Šã8333årÜñÉC¥Å7Ñ Éæí…KµbÅëµÕFqo1Î`qãa¾R9€ÇdRº®Ç G?#)`½=raJ E -ÜA˜ÞLm G.¿¹i¡ga€‘KÉ©sý+B ÆR£ ÜÄP(ÌîÇ]ÄÌœ¶Óò“³w–jÇmˆq5ÀaL.[òC‘A%H lt'ôV%Ñ£ü1X€!•Ë3Óä`Š.ÿÏ Ej¤·{1ž^¸¸ %±&à+Z°Xd˜2 ˆ¹z]èáÐ+Y†²¿¼’´û='Ž7ÖÌøÈ¯€©ÏŠ’…ª+ÒXÜ 7Îíc^GQ9³mvBÍÄâ@ô¸ ’œ{l`L€A1´–åíXÄCX,ýE8N.˜¦([õè"­±ÝùUèƒ-ÿÙV™b¾Ç£ÿÕçΟG¡ÿµ¯Í6R'?ûP°K'ÿ›_ÿ²ñøÿSy{±rIØ_2,“èz¹±›‡Yú“PŽ_ã@%ô©,Œ+SÍZX‡ðØõO|ü¯žø"üéöùçX£n„“X߇ªÝÄSqÛ.ØþpÂ~ob]ʯ0¸"€{?Áãhò®Ä~ž1ÜyînÛÔ˜ÍúÏ$;¹M9`bk:pT•K5^ùæ¨Ô ëÄ‚žÕK…œ%ŠªéAX~¶9÷JŦ,Ñ€…ؤ`Ûäj./ØìD$\u*®ØÎúJË+íjµ‰ð^3%nÍóŸC@`†ûð¬ h°€ÈE˜NÓ‡fD³$H™[†ä~ÚæXS¤ª¡êr3sG4œÌž(¬,¸ 2cúŸý›ï½³ jNÌLúÔ©SÏ?ÿ<ÁöåÕóìEħ/ò/c(Ú¼.¬ð/‚8:{äìËDé_~y.—C°—Ko-^Z¸ó ‹ugúŽ# ýç߸†-‚¼/ì²”·«¬Î“Uð¾Aô³ËÖ$ge-§Ab…nŽf³Ê›8fF*a•Ã[—VQ)¶¬¬ÁU†‚Ù¸Ûòa¬èÑeRèHg-™pÖ›ðÜuÃÜ¡dF#ª hyt×0ï•Ì,Äô ls ¨êÞ¬9«–Q0 °‡šÆJ™*aö ~Áƒ»°É 'nÏ‚û'ûo‡é˜fX*µN¨¬™cà—˜)ËûØÝG°žmÄß±Cµ-ûÚÚR£qG!_úó¿ú·ÓGŽ\x£üÃþé·ÿ{?øëïÏ_œûÊÿÕïÿ»?…?÷Ø?ÿêüáÓûoÛÿÀ¯}ê{ÿöO?óУû÷M=÷ã'úäàÊ/]ZøüB*ÎàyBâÿí³ùF«6}¸ÄRaÌG·†Äka”+ÈA+µUxk•à èÙ¶wy‰åA3Q¾¤¼†å#FöÊ[õ±<è«~Å×sOÖTýÈÌÜyô*¦ît°ôÂéÅÔˆí\çU/$w£Ñ´Æ²ŒköúÜ Ý\sì1ˈA¹DõtÊk¯:×®ë-¯Ýê¤3©äÈà”.*øû•Ÿ5<®¡Ý¹q`ŸVº)XBËT=ò“}ÄÛ@ê>uÅ×õ±6…@­1ËÄ6{G£ÔŒ†å'¡çù õ/^D`‚‘QÄœ¿PF‡òÈÌÏ$_'˯º=1M±¶ÇÇG^Gdžö Z’ØÔî -¡çcóHˆË¤bÏÑ„÷{Ô(ä÷Åæ¬w -ù\Øó”®ÜÅYKåo„é'ú½~SŒjB÷6C-e€Ü -ÿÁÛï}ýk|rï±*:Z õ­´pÛ¶µV{ $ߎÌ⻨á<û…‹Kj"›9íÄ(ºdqŶ>É8sc«ñ¹d\ëlPÃôFÇÎÚþcѰpqAÙº1¬ zFÔ,#b\\ºÒŸ!¹Aú—ÆÁ<ÿÜO…Bÿt»÷ž{zî§J,Íß4Mx|ȉû»±yp÷¬sÙ¸^(Å0‘á`eSõ ÐìG§@ô7c!Fzû8Eâ5®GRˆ¥RG½°ÙlÙöMBÒ(s±€ 5Í×÷Åòf˜#ùIÓT+ïxz2È£îºg¦·—–²û£ÇÆL_—œŽš -nÓÔÐ4c×ÃQrû4=¯Xý;ð Øh¹][¯¼S9õ‰ß˜¹CŽýÖ—áú.]^øÊ—¿Å_ùÂþÈ3G¦¾§`Xov½Žýüþû¢sÞàë((ýŸ{ö‰ý¿ó-8¾üÚ¹ÿñßúÃ?ú6¼ûÕ/?ö§ßý‹O=xBÁ,Î@1Øö *Èrxž ˆ×ÆU#"•ÉÁ×e J£>¤ÎZkd5ÇÚ*¾¸ìàßÓÏŸæò)þwåí*xpRþùB‡æÉ|…~¡hÕªƒËcéG§JpÙÜîÌüëÕúÕÖôáâÙ—*ÎuwfºTž¯€Ñ=}èÀü›K¹]Ù\1;ÿÊ|î–ìsåùBá—siÄ7{g¦ù~˲37 ê®^E,€ü­VaÜ®­4ËçÊ÷Ü3Óh8°8Xš³ -žîÉû§Ê/Q&iªTY¨ÀOòf¹\ÏL{Ì|û-ïí’Š~Øã¿ïǦæß\tšm›úE‚Í¡Æû!ìçÞ+ï…¥½ziÏMÊs-; _ÁãÍ€F@ (7,p§Ñ5ÐXkÀ>ù*Çt×`qû‚* -ƒ ò ˆÄ›„ŸçL5“°ˆ8¨Ëx­é]B R\Çæ{xmÚúÀáFKp¤VEˆ¢ö6ô×RšPËÄ{eEµxGOü;qô0ÿÓ‹µ°$k=þIÿ“¿"à‘Yúßø+Öž¬xÝÙJÐ(ÛÖÕxë×RÖs+&•ð †à%JeÊx⯟Î/^\øÂç¹|@ÚÎq1/ÙÚJ’®ÄHú6P|ò$7Œ0…·¡nŸ:'>v€smÕÌXÌ%¢y¤¸Á­ª¾Š`8Æ_$Ú?AÄÞ"Wìð»vÖ }<€Å%$¤ž{mf¶e‰Xj³íÚiÓÖ}ÑÕ9Ü‹ ¡‰Ýö@7T.W{›± YË“FM€ãÙÀÒŸ!ºÜëü›°„ °øë5œÛR‘\‹†~hRóÈâ'›'ûŠÖ)¿×á…êE¨z¦8|ÌÁ4. ×É ÿAÔC°ÿAoMÄTAmuáäýŸÂ{¯\ÛŸßúÊ÷U4xá„”ÇþýS ýáä½ïþ_ƒ“‡?ý(¤ÿþÛ'.]º"vþõÊ1.T.WfÎÀ¬¿™£3åWÊéÑìôÌäég΂°®\®ÌÌ”ø+ì=Ô¯6K·£Tm\sﹿ´ºB„3cPÅy57 Â.Yb6sP¹œ#Èâú5‡ƒNNc0‘ê«N.Ò_*ç},çk\EÛaßGŽTß©3nàéç…'Æì¬DÈáõúäÁÜ-B N@­VŸ½kzþuª•8pìôsç‹+“Î,¼µP,{}µryŦà8LHyÍYMôÚUñ'Êç*å¨<øÜ9ovú¼6í¼q[­¹çÎ " ÛD?o¿÷õG¾ú»ßiŽƒÐl›#™ìN>©+ì @ )n¾`•_­n±÷–а"øš›õ†MUÎpRØSt$ÆŠáÆ‹ám´˜>¾r¥žË6(»iíÄ·8¡È…¶LêÉ_ai ªbƒaÄ ûk—"4V¢˜åž $aÜ ;Qâ³éºÎÕV>‚Ÿ‡ii©ºS¡ÀG«¢Nê‘gŠš 'Ê)aù ˜(äqÏÃ}¡ý…Ò?¦ ~úò…3??/=€èÆÒÌÿÆõ–£ð^¦i -:NÂŽkíÈØ™A"ˆ€è™ 5Æ1Ä ƒÊ ”R(#ÛñÔÁ)öþ·?ùÞ¬ãÛ÷ÅÜŒzkEͯÊÉyÁÊVYY9}î<¨Ê¥ùI‰?Q Ðs—Þ.¿ývýÒ¶ýåæ¶Ÿ3²³M¾›+ ð¼Á» ¸5fÂbPñ´âßm6¼8RÛ5ƒ[æú<òÔIй°NÜ Apy»‘¬µÔ]ô·H„Š03dq§-“xõ(Oæ?(îéÏ -¯v@úÏãn«Ó~úYAzuúyfÇUX (¨ü+EA\å H80ÿKûÆá­z½9}Œú -œúÈD™¾õЩãÿñ/ñw¶¶²½Š¥“$oó êÏSAô×VyZn—Åñ Ì>¹¤Á¢6·†ÕÀÁÛ›3w–V‰÷D?(ñ6õÁ J²¯™~Ü1è÷od½mM]Htzø›Ùt› -ÿ•ôS«Ùj¿ß>ztZEw13¦£˜Ô¿Æë-ö#zC¢4 ݸ®ë\ï¡Á®j†‘J$ƒvÓ¯½äŠQQ±Nø›.*nLèxȾÛU°pCP˜’ñºoÈ#´È.S—RþŸ¢hC sž2#î6¥ˆš~4*SIñ$ýNG%MoÆWáÂ>UÍr@#N]§F¾Å %PQ{²gÀÔ¦™}â¯ð­»¾wD?>±¢ .0“18Í3¶ ÍgôAfîj­¶ÿ#9ìÂ]÷fî*!bóf0q[Áõ­%;fy^01a -áê»Þ ‰-o=˜šÙ¯‚ÎÜÇîß‘Þj¶k‹—êé[Ôj¥‚®ŸmÏÍÍOÕâÂâñû·œVõêÔG§Êo¡š¹g¶|nγK¥R¹<Gcج×kSE/ÄÐ:Å /O!Ë4—Íq|Ôu\Ó2½¦À)©\®Ç ÞšT±šÝm­7Ý&i²&YôµªJµZ™ *N?‹"~dGæçgç¹ReþµMÁy²´Ø€ßyô\¶+ÕÚÔ©“+¸š”ñ‰‰‹9DÙl¶fï¸tµ5e¾ —DÓ,ÉÜ$(Cú -‹ ¼Ì&ÙàÓ‡öÁô/Žgæ^Væ^^˜œ*:ÍÁê€õ.€?m½øŸkœñzæGsàš7êË“G޹ä.À‰âæ¦öÏZ©•‚5®p”$iÌ€Ý*öhÁÞ¹šÏçæëšbüÆÃ¿qéíÊFP… ƒ' ǰë'†ÐBWCÈÂZ,8ÁØ}T ’ì{r°´‘û×>LHìÀ'²é‚  !Ùs½Nóý^~W¶â·,Ã^½ŽÎ¨è§®i^#JRˆTŠ–ä{“éüo0¥ÔþMZ@q•&•XˆŒ'~3,ØXúȶ¯ËÄÇ"é㟓|ŠŒ§Ê'=ª’ùî`Kð•¹2—.]zøÁ–¢Ðqy°PüXY؇lßøòWøä¿üäùâêjTþ11‘ŒÑ7¶ßïd²Ø*ûÑæ¶}. CÌtºQð7Áë\{ßÛ9°a%·jH,µpì¬+F¶²‚ðH~xîçš·m~‚•[#P©Šè.0å*#îÝg.oN²¥´Ço ãÎ-5f«ì´›7Iø›<¹4C(³„Ȇ©Œ2Ò¿ Ò?…è„]o@àÆŽIE’êHÖ%ÂJ¼šÉ«É(Q¯lã".bäÆ - qQ§!C“Þx#r Úõ©ƒÓßúýoÇ_éŸËYí¶Ç†! ¾Ds¨HÐMâ~Ð -v{ ¥ë ‰ÊÙl»ðt:¾ŸÂ¢Cïì8ÛG~jf¦EùöãQ=¬Y.-îÅù`‘Iè4¶DkÁ;)äíù7çNæ> ÿ,_Xš9r޵«_ýµ™E2l'—*¯U@ôÃ'¬*@úc¿ˆf0þ§fbÍÿƒÞ>=—ß|_@ñÔ®aå¶»8ó¢p§@úWWVÇ÷ÙÕeXC3|Ÿ8±éVªþxQé__õsy1Q¼†>b¿i&ãH²>8qïØiXŠKo‰bÙô¢mOôÀŸzºyà€1y;®4&¯[Ô IDAT˜5FŒåe[^ª—¼Z8öàØ–_â°•S~u‹¸{îÙÓûö—r™¢¤„ä¦c0uÍéxLÃä -°›)DB5àoÚ[6˜6u0¦‡²ÃP±á Ä;:x1"«Ø’Þ’eÚ³cÙâ¯ Ä - b®êã.j -oÞñAÛþ[rû(‰'Îz¼²ÂãÑ‘“L&ÉR#õãÔÞOHcD' ø}N@ú?õìsßü¯¼¾¸ ƒò¼¡JÛÔ¤˜Çq~<ÿôpƒŽ÷ô³O?óì3ÊVZÁ8À/ÈýopeùíÝ»Ç[ /®:>¨Äš¾=ú¤`üμ=× Deø ã6oÛšï»,ý†›7¥¸©è—"“åÖ=¢RéЈ©Xû;ƒûÑLÎÆD~]‹!bºÑ :È…®×– ’NÔJ3÷JEr!Å’™õ·A’øƒC(úÁüO$¦÷ -ˆç ì| À)(.¶¿©E‘#¡Ò#Vb©`…C@ÛC@*‚;èJ…"Þ#6@h€u² -vân¸$¾iéÜÂÅù‹çýÇŸMðÌ ÏÔëNý -0ÿ7® ¬fT™]æü“mDâ6ÁögÊF%pÖ°Ÿ^¤¿6½Í`@ŒÛ¸ƒd¡\.–¶à¯Àš¯l;+Â#¥%‹høfff’'ïÿ4¿ÒŽù|v…xFŨ’ôgVm§é‚ùïÀÈK33™f³ÝºÒšUUeV6x{Êß· -èÆ u 8=? ÛõFs±ºÈ=ßýãïÖƒÎ)“蓸פÿþ[nREÀ)ïmÓÄW>õ´™kÌ»Žº·Xôƒ ÷ý?¨°€EÌ0Æ9¬‚ô§–´Mžø›Ó -°¼\aé¯`ÆÍŸèßgéŸÞyÇž(§u6ÉWkxÛ>ïêQ^š=ÞìBúoùC×Ý=“ØÁQ ðƘnLü9MôÈÄSÁI=›\¥ ù× ª—«…ShErdq»ºÜÌix1ÄÖ8½µÓ”:€·´­·œ Zq9îŽ9ªJ§-ìÆ?«ÞMì‘¶âgÍ?¥ªü¢°º½¿»åw¨ªŠY¬…ôïòìð \É(… Ðaá¾Ì]Cv^ÔÝD/I‹§›“ÒîÁÿ‹ r»lÉ=e`RBzK -Û©Ÿ>+µUUC‰i%¸õôÔÀ(½+û¹æ_¯æv£m7?¬ïÆÍq>ðó`ûv£ôß½±ˆ“+AÖ>Zâ>s•M©R¦:À¶ÓúˆÚ¸ê€àO‚èç+ÖÞ¥P(ìð­µ÷ÛFëx6söç · ´ób[çÏ—‘¶ýü/¤?8Rú+hr±¤€ÆÅ~À½?,?FNÀÊâBµpëHTŒÜÇ(6¡ÀøÔ§ÔùòÊô „çßX¹÷ãˆM91‘{áÇçAŠƒÚZµ :`æÎÙ‚zñM”7GÍŒ5Ð(^×{êožzø×þÔ'îûÚ׿öÈ¿ ÑwÅê|þÇÏ/SÖkáByáµ9pëÕª ¢I¯eLÈŽ1j&ýPŸQŸà¨§ •BçDæIQ6&· -0|~Ýïyë~Ž<ÆÁK «°ƒ€À–cs¼ÚŽIýª{`rüÒBqN(4 ~M5©=—$uB€QÓUGÌ^c­•-°ŒV½´Ür\vÒÁ¢q®»TÞš l?‘$è œèX¼T”1A£@¾ð7šMÏ1’ž -SšÖ :pD¸ Q[ÇÅOl˜ÛLÂÿ»´7ßhx­5G7Òõeeå6@Ã5Hbke(=lh$ۄ[&áß#a¬)HÙG«¥Gä_3#5œ1J$¦ëGdè“lÚ‘Œø!’±i2¸]xJaþºIsëP £6ƒžj”«I‚c4l‚k«Ò=zÝ ¤.ˆg†M¯ãÎ<:óûXrºzÍ…‹Í嬓¹™ÆšcY¢w yÓ°Þ¯‡æ¿Š­¹ømæ˜ó]¥Çè½$Ñs‰¹S„€°v‹à K9z¬X¯·Z­ýc¤R¡.nX0«tîÉBÉ€ÑÈ™YLàH“ 9%kŸÒq}XoS¡š„\ÆŸQ8BÅ-`!׿Â8§S!;¬ÙŒÎvTæï8Å1‹RûAé– ßÐÌ¡b°ÞN§ÔÃÓ¡çN–²Þ-Ì·Ù;&àûîF}ö.œ· õZvwé¡_?ÞXC" m`z*‘I§×£Êò•p¥ -o¥Ù]‰4bð€à26CnOi6ƒ‡~}öØ]³>¥|—ßv>qêž#ÓN½Ö0`}©¡?¢Æ8ÁwS!’ åÖÄÞ±&¡8XFÊ4Pª>ó£sŽ×<ö+3Å"š\Õúe8NìÏœuñÿ©òé_Gœ˜Ú{u˜ÿ£)ã™§ž)äóÆ.¼…‚#iJ§Ž,Yßaàq|¸ÚèðŒ0ZCø½¾¢+*¬…Ì(:Ê -Ž>ëm˜ ™û ÊS®ÓÙôÓ^§cïÊ/P¾‡;ݼNSïëÜÓ§eœ‘$d z„ -Â?õ”x§í`“qÙìÊþK<¤ÓÍŠú;¾ÿ—?¿À4oÓ‡¦¦§NXé#“Q­ERˆ~¶ãDš›J•˜¾‚"6½¨%4nÎ’•!¸}$/l ýùø5*azŽÂ8ðc?yÛtA8««òæ33é\ñ†@J×ã2|ô§4®Ÿ âœM ✴jÌÊ^¾ÒÚ³GALñlÙ8i–ßEGD4y £ýžÙaÂNpÅìî ãhz‚k4SZ¢COݶL×Ùa·³™ -©ý©ÃûÓ0w6p…+jë<„]fÖ8#·S[Ââ§¶ÒíÊBÞÖ;žÇýÀ#Æêʪï‹iî0âXù,ý¹ ­ñ(Ñ5ÆDJ`2)Á Yô:~ f<ÉwaJDWN«"É0ÿct-(ý±¶Z”cÿ`§Ócð5Xúý”&02D ÝöŸé¤TM™K—/-^¾üð'àW@ô¯­5ÇÆl†YfSSK°ÌÙiFÑÎ %è8â/~ôaÔq“:wÂÑíºae5d.—AÌ¥ËõÙ£ƒg纶÷'TFI*AÈQ ãPZ[[Cün½E…Fà”2!`ëȲ`]ÈòkýrƒƒÖÖdÉ|ØíÅ#W¬Ôa½·:8!ÁL±Óƒ…ÜŠ0ƒ—*Ù]RÜ '8ŠˆUô«`À¯\¹ê2N@ùHkä¦õ¥Qè40|ìÎ#ç_½ ÿè€ç£²%±qŒ’e]?dX˜¨Ë•`b¯>Q‹ÌL¢iþgâä³U«µ*E«V¨Îg¼0öÈÃÇÿâß~úoN³à ¤¿<ï.>Í´Ås]Ò_¡t C~bÛp_\T4Œƒ¥¤èþV¦èÒÞ’rkbµ†–Új}ŠT©lrV" -¡ÈþHÍ ¢ ×û  .}}íII=¸&šgVÔv j`æŽéÙéi0ÿäÚóƒ¿z<Pé7üc·Gè!g'ˆñGHØRÉeÞXë ¶¿I¨Þöä®NŸ¼]¬xêÈÞÙ •›n"‡SÃ*,NäáK›Ü§®F !v!ð ¨}E¹rƒK{2~ÐaÌ,PŒujR÷!ñá8>±= ÒŸ{µ$«»çm¿wfw‰¿~@*e0‘Èöt‘– ÁƒDØiXÞ²c,<a'O ¦o\ú7iU§t Àhl ;ú3RÈ\¡¥ —XÉàˆ¨2±°–Az€b4+lð65Ò-|%ð -¼š”:³r£PE7H'·+4VJz°šÍ 8n#97Ùx½ )’úB¹±†8`\\ ا*Ü”Ã=ƒºŠ9a‘墜9  R)Ï4-ÂŒõÌÔ ü‰†„“XÄO-ˆQEÂǶ°Í$‘g˜ëÖ˜„¢R/rFŽó5Ä#‡‰¦Ñ—#€èýk»1áOö8LQ°T‚®—I›`·f"£ -ÌP ýýÍžI̽þF/ëSóöèÉòÁjylqg“ŸÑ¸G+›ýÚ—¾xÓIQo¸æHl5ÉäbdP2?Êò;>+€ê»ÂX<öñý¼GøÕ÷ úA(XÓµJÐà«·/1S܉DLŽôéJ,rÒ¡,:8=áž@ qžL¡šiÏõ˜Aˆu&½FÌÊ;•TR<ëB>7OÜ…EšvÚæP'sxpO?/ý¬påÝTúK“ÿÆmÛëì J܉R1÷Øo}N@ À±â8`þ£8´¥%Gþݨ²3Z¾ÉØ ã‹æÂ|,Ò§º-Qô͘Jën}µ¾\wÎÏͧâÕmIéoÄúþ¡gQtJ¼€µËñ…"?ª¾%¾/u€*J ñx7\´„KdÑÏ­^ØgØö‡#ìn[”L€‹J¢u0Yk[Úa¤¨¾SÏ|´${;›íÖYÿ‘…ÿ¼Ið©ÃM…Ù³[Ã&ècØDÒÄ@b®“¦•j€_­¬Õh ¼ÍàN4Î@`goÄ…Ë8Ž,ý†ÄÒ¶÷1ÇK+TìÁ&]m—¯<ä -"…€=”ÚBET‘F‰ ƒk¤e£FSޓՏÇ*âÂƲö…ôo6êdû éCûñ{1Ä‘}ùu¬A%?ÌÓ0MãæÍ - Ü€ó<¸ö°+´¬0VOÞkJ–0|“j—‘…ò¹ ´J¯g¦F <¿(…À½¬ÒA‡€¸Æò²VÚiê2d×’¿©Èkœ bý+Fœ>>Êg¡à&…Õ_ê‰)¶©”Àha†@¹ç6èµ7ן’þ -/¡Q°~`þÓ ?OC ¿£ ;Æñ…ÊÛK3»çX¹€¶S§ŽÿäÔ¹ÿô£¹- -@É-}šà,ï @oͳù?>QpÞüÀ< -ˆþ¹Wæg¢è«ÕjsåòìÌŒfã•0|`}³&`ÛŸ¥?Ã…J¶(¾,¾öTi"³ô6.8>ävæØPn°ýY,#ô™Œ©€éAu›<«“‰-!”XúYêG))ñÙkfy-™Q‘å+cóIʵ%“Én·k' ½ß‡ñÉü0oeýGbÁøáà6Ú1§ÆØ©X_«H©0ÈLÇ9}útù5íª,-UÞ^¬½WõÖ#ŒïQ˜ü†µA<ÕkUùÝÂ8º.Íïx)öÀ@ËP5aC”rì£íƄԮ‚@áúŽ±èƒŠô*B±ÄPJ@]¾ÒÛmÀJ³FXàé°ÎÜ6b¨h#M§"ÛÛ쀊†m®¹Å=¹ú{Ç4±)‚©Ÿ"Æôú*,5™¬–Ž4Ÿ%0D —޹‰\•.ÔöC·ÓÓuVâX¼1¤ðix\Hï#ùm"!Yæ=P0èF Æ­Ò°‘. eVV¤¶*µVá!:^ÌìÖþë4B««±f±˜!Åü"p|ä»ágëkUкpL‚« _IÝ}÷Ôwÿä™Õ•›}7^éG¨Ûîú½ o€qí/TðÑŸ=w¥Ùˆ ÍÄÀÓê…­…%¼þ£w¢nfô÷‹¨‹“Šª*ˆ>!è‡áöú¤é3=Pu=~Ì¥£.z£âGV,I5]Ä}Z¯j¤•æfšn½D{õµZƲPfÐ4§-äd• 0Ì ¬2#IÅ%qc_†õ†¨ž˜5»Ñ[bÄ=®Ø0 [M-üzŒ›gæðaÛØúö?p{Š‚øO=û´KÍ[ ýáèÄhg­|v>OE -ÍöLÚm ƒºòVÙL[¹b‰uß ÞÚ6éž~¨ˆªP"+¡C€û0ÕxÌ%Q {[ ÒZÕ-D-Q`ÛøÕ¢ùS¿Vå–“–ã¦7W°J?‰r#‚~Ûeb^™ÈU0ôoneÛU@ô¯½ß‹PõƒhxÓñtŠð‚ègs²ã .'…ae‚è_8·PUªÇ·2²ô×5ö ¿Ò¿C9g›×.ÁZÄvÇñ¢Õj…õ:×ÕôÜëÍB©ç($ˆÙÑß9Òƒ­ižà -zvA˜+þñ{=fWfn[†™ÔbA™Ìtó1DvT’ IÛ* Tpu(#êÇ=O72¾'¯ÎF[¾5µà×6[¨Yën"i˜i \7L· …D2Adp Oºaªø\ÀW0odˆ¤bû‡B~^ð# -ÄC4°åòÖtT†1–Q•"@8dqÈn 1$‡ Æ6Ã,”*%U&ðBµ€‚µ¸`W¶J èßÄTmÞ2œ˜Ç#ØK0d„A'ʇ'ä#˜‡¢¥tÔ ÛÊ徺aœ}ITUÅ;ã¡]ðøä 1É—yhòvy.É‘¾õ­¯ó HùîÂÅ…ƒþûÿò•+—ß“çKKï þnŸA2°Ù³0.Æêô ¯4xqÁà”U¾‚(ôÔ¹ÊîÊŠ~Oõ½uD¥„‘O‰¦-.Îaÿ@æ $3û¾TCØ“èÅ•KµÚ;BhйgžzD?—K,h4ÙÙ܉þ@7É’Aè‘Mßë÷‡”È–WbJ‚ÛnYK(ñÌPù <ÂÜ똙=|$ŽÞ'™¦a+ƨ¥[úâ™3-rcŸz -#9gΜübŒÉ«t`ÀËÑémO rŠÒÜ‘©¿[5#H"3#¤¤`æÃDWÏr\áW³(† )·³í÷¹J„Šgz\ ÃÒ_èЃObs‡)Žþ]ÆHÚu…L‘q¹…ÑŠ…VÌ ïÅÛ[­ Ýöù$k[‹—+ à¤ÕqeÀ£º$ýÑŠ§ÙÀ2EQ®ešõë­V£•¡8ÒÊr}|"OH€Ð—Í…DIÇÌT -<FÿçÊwÅZ@µ"‰Ì΂ü…Añn¦F5ýn#0³½ñ•Káäæß0P.BÏñ¶5ûŽç1»aÉ,P1;¾™àwøéÄd.\GœùéEünÉAÄ–¥àµP¨ºGO ŽS·êÄmÒ=¥[sŒ ÀE{˜Ã7Y} r?ð\ðMá—㼃 -7‚Q3°ø$w‡E&ÐÜaO‘„À¶.í+2JA}Õ£L% -‹%’ ŒGùyÞ˜9ÕʘmÊþñÐ F_ Áý™e…‚uؠů`âD.²A³µ&–ɆT“:< šóßóÑ9`°&Ó@0I@ﮉћ(Tà$ ffp—–ß-ÈÍ;‡ã8`bžüÑs|òGßù=íñAŠõƒ6ý¹±b\Lœ*Ý6°ô­Ñ›ÃH,¬T¾õ»ÿ;œœ—«E3[K HNÛÀ“HD«Ï@ºPñ Éî¡3ÜöHˆ³u -„úŠP ðöeö#0¹xÀÐ ƒÀ‘>IåÑS'Ÿ~öéã³GŒãÇäÇÏoßùsXõ“3gW«kWWà(Ý=°ù±ݳÆE~„ã VËÀ.L0^>• é}-LôÔ­ð¨ÄEÐÞf¬æµº¿áÁûfJHâ^)UCÁ[¢”W‰0+L4~Ì †Â‚JÍZn •&ývS6ô´Ë&–=‰¡YàøÔªˆÚÜŽ¦¿)€®eô_„£‘jJt0î×(ƒ™`笵5ª:RõXgÊ3špxƒxmé´Öj9ðÏòk qƒ8Žcî°ÀØ„ë>(Є}údtÄ`¶&& -çܹse;kퟚBJaúRo“ìPS÷|'AÁð@áÎ:~&_‚šJ³£ÜU* !e¥R+mP¦ÍvGéÁ$&àô^¢ „oÚ(°CÆPM•¥ÿÀUPÄï(ÃFÐ'Š2%@ޏŠ~O.;[Nß¶²˰3Ùòù µ*Ñ-ÃäRRí"J\±hÂô{³L ÉŒ+BP˜ÉÁðjÃZJ7;¾‹˜z†É`Ý2ÑzŸ9%è!÷墳[F‰¦ð¾žÄJ\´TOч(KÁ-oIƒ$ ¼Q&…¹â^¶ÃÐÂÚë†í6æl¨_ a‚<¤ðó_ÎﻊÊzHL³0ÈЀ/·ÆßÛ9fpø…ÑœFÒfjKý˜GÏ÷+_ûWÏ<û"Ü~±X¨VkgÏ\øÊ¾ôNåðÔtmµþÿ¶÷Žã¾ïCw{»ØÃÇ=xÄ ȳ(B`É (Ó¢¥H„£È¢CG–’Ʊë¶~Êä%uÆ3I;ÍxFOòÔfÒ‰“7™¦~u£—6i\¿çJVÌŠ²j—¶F*ZaÊ P¤‚xÄé–wXÜb÷öð¾~ûÛ½(§Í¼ŸnVËÃÝÞþùý¾ÿ¿ŸÏמxàèì~µ91X|¥á8­|>W¹´zঽ`ÑU×VM¬C5LÝΛ"`x )ÚY=ËÊZA ?]ôuÃ-º—»*Ä‚ú«À‰×”ÚîvÕ6ö•…æ¨ÏebÀ=ýݹɛÆiC‚€‹ 2{ËGw›Ã6ðX¾; IDAT4#Ô -‰žà¾t¶z¬HÆv·3³'Û¶cû¿pòÙ“på'ž‘•9ßýÎ÷Ô+SaϘ/H G–†¿‰õÑܳ=fŠ©–×Û|­·”;;hµ[MopØŒäBØg$ê"©ÔTÍVKzÈç¢F0cÀý¶ªícÐÔÒé°-#9@Ne3qÈ«ÝIת3kþÇ8éß¾´ºwߨ‚íQ@?ùŽÀ²“œ²¾WVàÆ¥A``‚èçX3âE%ùIìèœIè„BËmÕåePµj{€kBÃÐ|/tÁI &ûÉxŸ\dâ)ô)IÞ ­œ6s]É¡èP~8‹ä3HuŽ!,Ä’h·Õ*âˉ”¬óÛÄLWaÂcà U’Uâ†ÌÈr  ’ø%úlw*Èf‘±ÉD4É^ 5L3§EWg™YIupQÁ–wäUÀõÖ’G°sÃù(̈õ-Fš2¸¡îˆ}Æ€‰¡*…tRÌÉ{®juÔXm8 àTÒ¢@ÐРQ]Ö/· -Ôœd’bK_Zâ Š®T0TüUøóÀt}?¥÷´5HV±oÈæ{Ø^ßðÀ¶@Géu&jÅÎÜac¹$õøWÉD„§ËïÌ$Є’¥h­VÎÚ¡À·H©¾“Ïž*ßttÀ±w¦é¦&VQ[[.îƒmòOn»Ù'úy€ÜéÏûÜêÕ7@ôï¹ïŸºx ÏytÃP¬´¸ÿðsß=£Î°V­ÍÏÍσsk~ÈÄ}b.©-¤1'©!„â©’ P£ûì÷6À#´FÎ:?W+Œâ×'{!aàV4¬¯ büD®·”e iÑ/:·¿#È4]ØÓ ;‰ÞÝ„ÝSß> ž˜ÿ•ê’2q|ûÛ¿+/À0 îc $žªO5!ÉR­÷!ée€÷wÓ²ÄúÝÄ|J“zÀ2Œ)s”u›-=E»tÓýM?OUÞ `feGJà`=h†2iY/"=€„ܭ՜҈=VÆï®TK—â n»Hvủr ¤?]xšc8 -ÈÁêe]¯¯5A#ŽÉÕÒpZ3нfTŠÙä¾bæˆX§±3T?XŽçYÛª<çw¶mø>‰“+µôŽîFÁ·KØ:«Ž¿©è‡è€j[JÞ|/-Œïyz6«SIOÉw1>0º4²ù¼ÈìÕóG¶’Ñ d Åÿ¶³-ì•KcŸ¼kÇËáqÞš²I -&¾Wq¾Ï›Û‚n™x -ýÙŸÿ lÿÒíóob–«òΊÓl•okPû^‰S‚<:2Û$hqS©IÈñ~ü @|sÀ7YÏÜëÜE®‡°îß\Ižè€·ÁÖ§)Çyrf‘ªÿ.“æRΞ¼TD®`PÚ€ÃbêO19OR'©ò9å_w)c(á–u@°£•2äUˆvÕ?÷v,GNk¨ÿ‰|á‹øëÿû¶˜èâÈøü™k09>ÿùßúÎ÷vø$þïßW¾@+tÀGÅ… -îg)v7¹­‰|”é™éi!#Z~¢RYuPû¡|^ºÖÕRñ­ðYo¶„’ë—Ôö5/a;Êžb®ånVÄ ïÆ;bEe@ôó„O§Ð5ØŠÁúû\ùÅ ó‹a[yó ÁÒ]³kžëÿÔ`Ã_—éP N)@å -TQÛí·ìÀð[®ëÔ³ƒñ¼ Ž×0'¥ .E‹-h Æ©îÌ’!=/ž ˜“TÆêƒvÎ' „ÄNºã$MÇS´æ<Š{ -íM Üy޵âêiõs(E¿%¶ÇôûFåás}h -{2IúcÊÑäEˆð#ƒ‹­N HHÿÊùŠ@.¡ž`´eì®&N8Lü2C"ˆéÑý£õ%·¶ˆ1Ýmu ¯<&Ó$Ü… =˜Ä½1zIxØ,• ¡,ý=¡¤¿<%L–Ù/8@l¿!Td…‰ðôùXkŠwIÐÚ㘌Gñ}+*t=¬þ¤ïxüK=BÌpW›&!ã²Èf5¸9ܯ€Õ0é4§4ÑšŒ}õu6ÞQRSüG½yÚ@GwOðqFFðrØ(ìÉÝu¿l7Òi8‡õ”µ¨’®½("‘pïv %º|åSH–Ãñ£“ƒ‘Q$á5D j}£GáOl,ý}¿-ºD@ÍlnäpD¿ê9軥ï#úßg€+/ü‹¯ýáCÇïÿ_ø:Œ§Ÿ~¤¿ òñ÷ù˜Ò¸Ï! Naâh\FÁTõ`þ£¾_÷•À¸ån¢@ŽöÚ -²UYR,JGT.®Ü>s€Í§ÿvA…€è‹DpB`xجŽL)ÿA}ÝÝìZ |xf‘"“)‰èv<éÿ'¿‹…˜çξòÚÙ——Î_t[Í#äÑ…åGvÛ##éÐ3ÌÆZ5?Râ*â©tBPvÅ6)©ë8 RÅ“ˆj{¤ Î(-žÔÙ}¦ªm_#ÕJƒ5j©zÃ!Û´ì´Û³òšòw» Ç3TReº!á_Ðö°º>Ê.>+[ðÂ=kØj¬ùYCyxÓoÇË•ÊØå?õ¸a¤ºÖ>pëüÚ[í‘ënYY™k6«¹ÜpQð“ ÷:v§“ÍdÌLF§–}6ßôN:»ðŽ«—~ËÎ[ù¼v=^›ž×æß´‡sˆ·‚\vàBðr§ˆ›Ëa}nI.:;oâ:ܤJ>ªK/•÷—~¼Øî8è8ø¾Ö¨ÈS¼ÞZ¥a2¥³±¼¨;¡·Þ5‡Ò«?4¬ëŒ®oì¹a—ð!¤,-ˆ®eûi ëMˆR!ŒãT,z¼nWâÇédüh<å2&< q‹ªQºAchØn·­KµUi wuÞ€íJ - %!ÜÒÄVD(ñ¨xÿFóܲMÑ Zlj¬±]çnØ3?:sû æjÃ.Ùú»ËÖ N¬n(cµ°m϶%Cÿ{†Øñu!Jò6$F‚IÝÀØ5bš,Ä»¿NvhªjiÐÐr×Yµåz¯ËÍÊÒȨ̂œ«M†r)ÀlñÃ’³ˆOÆ-ŠQxËÀ쥰‚aÐ’nf¸IÊhÆ Ô-¯ ÌIx‘FSƒ=K$9é„éëÃÃx7,)XŒŒADžÛf4¬ j3ïÅÌŒ“ àgðk¦Ç­Xo'.­]ö‡3ïóo|ñËß|êäã_þ"LcùuMw;\Xp–/ä ×ÙgÍÛÞeå¬;_øí?úú_|þ9±o"bÀ¦GC2ôwn׈ÈH‹j|´ìu|ÅÝÔH g‡ÊšVñœFw3­¥a†…õÕµÒXAÑšIwÃnkÑ™8ªƒ]—É,è²)Œè.:ÔythB†H퉴 × -&rB©î¼kªhçkUœ$Y‘=ò‘8  RÍ>Ápž$ó…t± Å˰Ü'$uÀŽãéo? «÷™g0¤sò¿žL‹"¸ºaå†Ë7ÓÏ'š¶Œ(PîƒQ@¡|þ§ª;¢®çD³MbP†Ÿ Å€ éýö5†·,l%åâKމèg`½"–™eµ7\x™ ±.wDTœ‡X]‘9Ü“ˆp(Qpx!c<ð_X?Ã6ýÓîçŸ?yï½Èw¢ŸßÁb¹Rå ýE¤ r«ƒN×½îMír£¡6‚ÜŸ!Ô\Ø1m;*Þ‘! Iº"T©ŸÀH=<št€‹`úº‡ïûà3æ‡ó ý­FU -©„èõáÂu¹Å‹+á{Íân[R‡(ý¹à_È`¡ÁV÷aç†\ò¬÷µ—÷±hâS(ýAæ)K¶ã°wQCÿònÔж(Fú¶ƒð”‡À%Žë‚Ï É b¼kY"¢Ê%_•ùÊÊE: Ù‹Ã*éVbÑàrLË}ã(¼£«*\þ”S‰Þ~mWú%]ý¬Ø>”°9†l3æ “ŠV)bgÔ—ŒI¹°˜Ђmh%< Îú§ ŒC)¬ý éÔÎùÁgOü͇^“ -´r©‚ø9Ñøü?ú­§O<¢?ù†Ÿ1̾ïÂãHóèè‘ãèîNÀ$ïqíÝúô“Ób²V]3©È; ZÌ|à54A~vÀD =ÙA -©IM!I IÙNC,` êÄò–·­†ãÖêN±ØãÄh†î».KŽ$'CqhGéÿÔ·ž†í‰ï`i&H±)m;À¨Eƒ -ì°×&?’÷eÉP‚€¸^ÙE&èâ3äÀäé~ì‡ja7µè¢‡€Q´@ÈÈZ–ïò–&éÀ: Ñ/ðä¾ê掸n/ Hÿ.÷:Øê‡wB)|\«é¬Ùs¨_Æõo'ÊCúäC°ý…_ø­[Ýßû½/ˆm£íYC§Ž½½ÕÍGQ0Ïô šüìñÒU×¼„þ+îÉà ÔÿD?¯šb‹‰3,ýMÓ“ö ŒŸð\ä„Uä¥}:€íÜF£çY D¿ªÜåa ™à³‚ù -`t¿¹Q³‘»cl$?|ù= J u°ëey–i2WÄ•tŠÒä¡§™ÆêjøUÇÇj™ŒìÞäÀÒ›˜Æäê”|o^Ä¥';¹_^½MŸuŽD°3JÇ84ßE*×P¢Ëè1ùh·GN4`G‰~ù8`ô·±E“a´5˜'m¬Égú-º>ý Ì@5 cƒÆQxw ›Ý\:¾êJ%lj’ »±ÒáeŒEØ»r3Ì1«6ÁŸ]*Œ0|Ò*_""޻ʜ±|9¬-è»ü€è}Ív2ð=}@·rV°À©©þŠn7–ì|ÙNçàwÁßUE£¥]v -ýÑŸÄãŸÀ“Ö’‰¯œ]xOë;ðšØ?Ÿ 6²kýú›‡*9ø€z–ÃêZ%è€ùWA 8ë.³«â‘É“–é®Dé`¦½zFðD˜Q`ÍR¶ô· Ý‹ædmµ‘™½2-ʬÂÀ×dNÄ–Ïa(?è”ã8*æïÕ7+kNu©òÒÙ³§ KG¬ÕYú‹¿–Hp\Šn7Ö®éd5 É*Ù.Rݸ‘<®ïÄX¼Öþæ2üº‘f±þûÈyjZ%¼m¤Q¢7‡Ì¢ŸÓÂò-þY~4‰°@c®úämÓ…=Å‚•»ûÞ{ï¹ï^xg*ahˆŒæ¿r†‡GÙà²z"ýÀœmF>”0ç9¹ƒ¦çØyKaïDïäì| Ô€–fÕè³`Ot iV HÂ0ÄXîßE=ÀçæK£rr ‰"ÚERßvÏ t×=¶ý)äU¯Ä  ¼o”3 åº)SÖüK¦?_–Œ´Œ¦žÆ÷z<€¸Ý$N… ª´a' :ײ”ô‘°}$_`Y(Ó›c ,YøØVjmöÐ$Œ-Ü–³s˜0ä(Pr€ôç› ËxÍip˨Ì@Vµ£~°ê÷È v>àÑétÔêpã€)”QÂ&DSei¤yÍ/ø4Ó"ÝE†û$Øá TüGuNˆ¬›Žå&ñA}ê¯ÔE¤9”»²¢^kÄÍNËŒ½z" *´-jÃàU—U ÷"qY¦®‘ÉJJVcÖ`Òœºÿóâw¤Üßæ]%ǯÿêÃ}ãs¯ËìnÒüèSÿ›O=×ç°FI~ýÀÍÄßc€ìJS  -z:1µÈ&+Má,$±(dÈN“ª”Á½õ({ÌcöÁƒÂ9´À ˜=ÚÓß:€™¼%Î(Ði/²xa2d~óÿø—°wáõù‹óóãfúön| =õtŒt¶•à ÈDf<õNhF>D†‰bŒÉçè3Foõ¬=? °¹olE†Ø²º ¯ó,Ì~ô¹ü2þ¤‰Œ,do ­›FF—"p@™4hTÅX•nÀV˜a z;¥` 77l! -ÿÛºÃ0,„óÅ 6UîÍp•<œÕpêCx£ï¾ïÞðüßùììÏ.ïE‚ˆrV>¦2îˆýä_ý>8Ñîþ¢¿¥s‘b¤?)v–JbðG—ä´Ø±eYøìøá™š™Õ@U Å7úW½ÆZÃw½±bžT¬™.ØyÛY[KM.¼¸¥B°&B} «Qçˆ<ÓÄ.P‘¨fq¤0ÿãsExâÚVíNÛd­lhF{³íuºÙ,¢ÇŽ0àk{ZvKßîU_´ÅìüøÛ®·xqyjªÌÅÄaà†ütÙ®—–¸r¡¶e‚óÇ$yéTˆÙüA¨8#{ïļúaá¦ð¶ Ôs:ç}mðR°¶¤ -_[_«­^ˆWP'¡ ž+ûrêâì’_gìzŸ²5 KWk¦¥7ÉÄ»r)3jŽ5͹³Ï:tÜ ¯ãd3%-ÈÖßm•®/¶Ã&ç“«VàùžÛl& Z$Íùƒ´Hz ÖaíÈ^ë¶×‚/‹Y„†è¤fJàÎÄ´>¤Ïým%—7 ª?ÉfMo34)ݺ¥qt.½‚y?‡·\ Ôž–û!å2âÊ!3h:ÅÊ/ôÖ=ƒ¢F\ÙVU„âi1|4& 2ñ É„JS–†«rµŒàŽ_.jk~(gdµA£Þl–wÛî&<þP˜6€ýÛpVfhú œÉÙ(cµ^ßëI»ŠÕ^³Ý€WÖ”ÏâþŸ™:ñßæÊûâêLþÀ POúØÏÝÛ³ôh®>ÿƒ,½˜ª—ÆË^ovçgÞÿô·žWÑž Ô˜WܸÑñòì=åzËÄH¾kÙÍf»|óÔüùJù&¯x½5ÙÝ 7›§XÎBÂߨMS°ã3æ\1š¹n]à’üµœˆkNËaÆCt&"ÄÓÓß=;uë$CÞF»ñž»p±R,Š»©Ì üêÔ™WˆÝúúØ$×ÐÅÝ=Üyß›úÄ÷‰mãÞûî°ý}÷9pklàs2Vé_ýw'þýWŸÜñëaBBÏ/ÄôØxáÌK‹+ËõÃwa|‰hdWiW.ÅXÙMpl L»ì–…ž‘ºrA˜òæÃûF/§lõÝúÌ2ÅÒ_Ð4è†]V¼mËÓ'¼ØÂ3Íì¿5v™·×/²ôg©Ê…éTŒ„'QAH x›Ø6Ttt@ÖÌ6H8ªã‰ö|íw¡Q5ÁVĦÑé 2ú–=׋€ÐßCF‡ó„—©³FŠ $ýA øm×*J 8¼rá<Æ&ÆÇ?þÀ|œwª‰Œ?h{P`þƒ ¼žã$Gœä¤Û:€`ˆfq÷¸ë5ÀŠ7ïÎ8¥ -=Aú3ì𛈱z¿A!#xU0—ëYQ;X¡hƒôW?í¬9¨Ò’O3u˜{¾N÷ß#ñ„;ìLOñ2XRG€å - -@î¾9ÕhºæND¢•;lq3®‘•×›M—Õ@7„>²°´") w®7롘†wé^Ý„ôð P è zA¸.=X‰ qžXXúãhÅÈé"³nzí0¶ÛÍUçj5zX¨ ØÀ’ -2ÿq·{š!תmõ×a ˆJá+Μ,†}uUˆ­F@1FôÃ@c¦*tšîènѰ¼&ÈšQø%KöAÉÚ¸iÕù†Þê¼Y¹Tsw†˜à"Š9±]4ÙªE™›Ž`öè -D^M‘´ "}‹8I0©Ú6Y+˜76"#Ýhr9W<^,6VÙp> 3ì9j£M5"Ý -^KKhîÜ¢9d²ô‡qòäóñýJxrÅbü%±“ÈJz—1AþÄù×ϳ©¥¹ñÈUµá¯¼z~õÒ×8@|n²†ˆ~Ðð‘܇«µg„†ÕþöcqÁ‹5 kmá?Æ)b£!“ŽÙ]`¹ÿ )̹WÅjum´42{ôH­& †€6ÁGl{ ?Ys,¹²zÏRæ(êŽW™Ô<2„ŠãD—ºÞá ©ž5Œ$>¸ˆ¢Zm¯­€þALoWlªKÃdøJ YŸd„ÇÏwb4mº+ºÑ¥4 jЛÚѯ8}Òjn½æ…=: ¼ÿ@ù¦IØ:ˆ“ìÞŸÅö¼ù~uÁ @<ñWO>ú¹GÞçcjÜsäã¬x€wÚˆc·!Ü`Fº`N67]ÆÁOhÇè+j$©¬T7¢² hz¤}-ÓÄ<$‘~ÃÚ­­ÕO½ðÒì=wKvq46²Àö‡E›ÏåAñT¯4$~KÈp@f±¯¾+蝹K×B‹ÍÿfÃ]Z]+2Dlå¥fpvœžW-„I¦ß¾ÁËDaÆXfŽi¤p[eH§Ùì{3iûsçvÚÈŠˆßØk_Ssï8šW›ùݱ28tGŒœZJ\ƒíO=Pf,ï`ñÃR䤫 ±‘N¤šìÈaóŸ©Á`ë®Ó}Î[ªÀ¿2o×ê2––‚ôo6¼òÍ=yXblñù/ˆ27*#‡›žá:+*HDÒ £?ϧšÆÙÒGAO© ©c"È&Žÿ0W¥êUd€%g”Ùª5]¿‹Hª3FÐA_Vï\³|îØ±XŽ'=€3s—À4b@”d0ʈ^KúÿÞïýxg¦Ä§Žoÿëñ_>þ•ßýŠü-’þ¬B -µºCffߎG¾–cü´Ä—ßYËÛy„ùô\$ØñÕŒ‚. X¨ÚTë¯åç©X+ìºòB€¨ŒC@°3JÔ4§¾zúÖIõuÑ«#™ù!:¡ÛœV˜IS¨ ÃëŽî„xÆÀÜñý-¾Ëx^HÏUn ±àwåñ;h}wa‘ëš,¬¤‘Na˜™,¸»…Â8xÐmx…AÖŒO3!]Yln!d½ßÅVªp°È쉲ˆ$»‰­LL Å+iùݸóÛIô^õê¬K#·<}ð—îBx¢{î:\( ¶=bçaëELµêZ5¤âküwävU..×ÖVn¹í–ùŸËšæämÓÊSk{XžÈíWˆéÊy…”$νûÀ)t¡rvúÀÁ‰ëÇkõª»¡îûå#ø‹/w¸›žÛ -Tn(‡Ås[TÌžår8—ÑÜ%Tûºµ¬S½žÕuÐq!<ÖfÛÅØW -ÍmYéÑAªX¬ÑLau<ôñÑQ8 ×Æ%¯-§Kˆ€0à-ÀíaÓixØÎžŽ˜ÓÑK“ñ -0ö½4vZ¬7´t!ou œ•"à8I@îû>滬ÊKwcµ#y¡ôˆRÀg¥Ö£§UÝ`ÝMc&&Lf/rÕ"úe«i ÆÇ¤!ÖX«Í7Í<ª Kû5(ðÜÞlÀõí¸‘Ç ”c‰¶g^x™ß¼ýƒÓÕjLê»:kbg­öÀÇŽE“ª8:4zÿ½G_üáÜÄX DóÊr­8Z€msÝ<0¶FÜ„…QkþÍjqghk#,s0+굦9d0RXaí_ѸU)£)²ï¹š‘’³¤íf÷V²÷OÍ϶65½T°M®ûDŒ„{B$Jc6¦ÐM/Á…–¦°sä1y29Ü~ZÎù°ãi[©c ŠÂ×ü'pÅ8*‡ÃDôP,Ût¯6¹DûÂÊÛÃà±ðÙ¥‚›ð-$©¶8dMkÀ‚‰}×´‘ó…ÜÙ—ò»ÅØ ²˜Ð˜5~±¹î£0W:kŸù î®ÈºËD¼óGŽßg'z84lŸýwÿ×Ï}ž¦yê…ñ‡O<þetÚ’¹Ö#Óûÿz|”Óy{±ÉŒZWÙ’æ3=Ü8uw¦¥ÿ=÷·sð…ùåf˺¹ K Ì„º@4¸Ë£Ã#0ÚCèf—2@Z -ñ+¬œ¶Ž… IDATÕmÓR¯hx ðô6[YÕðG[-WÓd$¦p½e¦a7[˜®ô:}­B‘®%–XZ÷Ã.޲ê‚1ÖÕIšI@–< -¦3Lb’c3I'@BTRi¦A5¿àH"X[ÆäškI}‰4§ØÿÒ¿áÔòvt€*×A·ÕcúùQ¾j%'œ,$±‚ÕÎâÿ ã!¢þÎÉò§;œ„JXY3Ï—\pÂ\Z0¾ñŸžœmabJ¢s?žpÿÑûÔ·‚M ÊÛ¯üñŸþ³ßþ¢úÓÒ -ꉉ±Qgƒ ˆK¸™‚ºó×ê‰&okWZ¨hçöo¬_vÏUŽüÜLmµQ«:³ÇfNœ+í+üðä3ß:]+¯9¿°x` -;ø|€Óh´œ÷š,xÌl¿S˜³eG¨MxÎ}1Oüõº3R° àÉ5ªâÿ·á¶0Ê—äæˆ:Ãï‰á¬¼ƒ·Ô³C›ä…€ô‡Iëz>ìŒO˜+ï˜ËK8£"Ñö~Agzø-Nýàô‘œ>ýýž€þ±c¿¡¯Í¨¼?JÞD)7TB# ƒéao%«Sw삌€ΟÂW-î -÷­æ Š ¿¦"Ÿ¬íªÈÇä­“mG1Å=¹½7î©­ÅÑž˜i1ìZ¿\2ôˆ<ôF£~À¡^®vg'Àk³¥[µÏ`;è®™-Òh*mÐkWã{G¶C¤ì”?Aq[U…Í¢ÿüB…yá‹Qèö ÇÄ‘¾HŒ ,".ÃҨݸ,ßi·ºÎ{|Iñ.Ȇ¦ºRúÃ6Œêñy(†‰t*Í% }M -}€€…Äx!hIÚ&×µ"¸§äéÏj€RÐD=8‚ØEà úݨ¸ÚÇþ¢K~ú>²bŸ ð—_ÿÆÒ¥‹~þQþŠíÓ¡Èáã¸ë.‰n{ú¥3 oÊÅ j`é&“NU_Ÿ6O¿$ãÚMzpµ5œ€‘ÝËÄé; ýagòö2ìG󂛞)³:@½-H.”d0ÿa‰Çæ^ÆŸ˜š.ÏÍWÊ7`PháG SšZ¹´NÀ샳gç8ïàÌÁ³/㸉à,z¤?èP‚Y -{v.œ}ÿ«ÏÚ•sÉ‚©·²Rƒ­ˆTµÖ²ºâN§B6hðË©tåüŠ ôÏg²f¨¯é°‚´‘®­«Ô1†ÈÇnÈJÐíQ?ô¼ÔY=ýíï~þÑß)÷„¶fï;‚:àè#øÿùBtÀÉgeÖeZÃi—oÌÀo*IjfM6Ïy‰a!lÛ÷6»µCDÄc}3͵@ç‰*Dô~m­Œ8¾Â×瀹„ļ¡®Ø¬%Ƚ^»²¶øúâÌ Z ýk—›ç¦yä9·Ç J ðB9ƒ -™F)Äç!õ•l¾§V]»œƒ•!šŸÒÐwPÂ\šìþÑN×Qþ.û®LrrJ‹à’ä*tcswÝåÿæö!ß81}ð¼àòž"Kº–ž®çž= :· tuJSç{ñ@úÌÿä˜þàíóó¯ýÂý÷‹[{Þg â|yì ƒP,`Þ‰·˜Þ‰ÌpýF;x3’@mÒvjÉ`ï•¥¿H ¾rÃ]ϵLKÏZFZ‰ÃøÁˆ­Ð ˆt{É;€µÞ½7¤íùYÓÀÔå°Ž¶¦Sy þ0üoTÙÅ! õfäFµùœì§OõX¯i`×r! ÌÉ€¥Æ|Âป;´wˆ^é ~ëxw—ÿäÿ|vÿ×X§B@_ùƒÇÿWÿò‰¿xBé€ün“ÕÀ‘HÀÎÌÔØ‹?”ôIª¹Ÿˆ~µc‘µ^¯51ÔóLés(ßµíìåµ$0µÚ Q\•¸­ÎXœæ@BBGp®ºlûÛÃbÛ(óð¯WØö_<_©×m˜(‹¯Í¹Ô€ß -ìà™ÿŽªâÈу/|¯ëž£3'Oœ.]Ÿ-Ùs¯V&öâ5Ö.×§o›t¯¶jK+åNÁ¶ö^¤ÿÂB%—³`§²€^QqÌv³Ä Lã™lÐøþVùÀX¾«ˆ˜ÆSÓ¾?ÀÆnvYŃ=×Ü®œ€í%@j°ôßþ>HÞùµßxìø3³_ûªD“þă÷)€¿E=³ì%¢-ñO)ý·P„b@CdéMf -.½S - I ĽxZ -«t’«ì+h°(ˆªAÑ D?;Ž´–ÆœÐáœ9·aºj2çpnf+Øì›©”È+ Ø>1½t\jÝDmúž2̱{ \°â;fìJ³‘ÞJ¥Iàuü΀–ÒuÓÝô0¡#jKÖk4Vü(åµ·Ž?a _ZˆÓ¿ÊZT†)TƒŸ'’qÌf¦æ}.[(ÎÜ6uð¶[`»½K™›nÂÄû…±ÒüoxïÞûgWV²‰©‘DÛÓ„êoÈv¥Þö®ºÿä—Œâ›óó ÙO_~=èñëKBÖÆ¹m1ŒŒÔô§¤JI–'¦\º¯i­jº‰\ÏžkhH©S]3ŸBácÃ;bÅŽ #3_Zøc¯ S•Íš p;ךΪçß‚e‡ÖqÌ(I–E—‰M4!\°ð¦$]:,;K¥¥×iOÜ å—xÙN–îD®:ØnÛ7³Nýº)¹aÃÝð©ËÜȆ†ºöi|s;™0ûÓâ[£*€‘K‹D=·u·ºò)–áZ©Ð…­ž‘ÝËp|Ð,Á:š” #¸Q» ;8U‘8QA§fx™N¼l1Dx„—÷:mk×(¼^yíô¿ùã'æÎ½‚÷.â>;·pïÏÜýÿç¯.\\œ¾õvo½nsLû•?~ü‘O}>355‘-æ+ü+ÛÑæz“Ñ›iÆ&¦fbNªœSc­ÙíhÃùáVCFvÞÒR!C ׉ÿÖ¦h€™2‚Ml7+OL,¿‹^ÏÒO(NM‡ŒB9æåwdJü™wN•Jhm<óÿžÊÛÎZãâ8ó=§Z£8:Þx/;îô7W]]XűBðž+×®8žã_?Jö@ rù\nlÌÝË~|s}>W(xår3ogW–4+“ÝsÝÈÅ×—ðó…œã4FGó–!ÎÌ-¼k -¦ÿ¹.Ì›­¾[?÷£ÅcŸ<òÒ è»Üródvxµü p\p˜l4éŠ4Ós]¦wE½ù¬‡?šw}§±ço@a|ú—¤Á÷ÙÿíŸý›OMŒ£gì‘)óµZCtL»`8ußÔ&o,þÕŸ?^ïçÑÏ?öð§xôŸ" -´)´ö&Vf9‚‰fæº1ÁŠíÈšöd=>¬MÙ¥¼FÍ1-3K©iÏó*ïTm»4V* Oãåm‹k—q9#þá<†~ºkt»¾žÆ-ü)îjQÞÌnÀÅiDó‡µÁ:²ÑQUŦ¯E­³y;ï4»ùaÜ÷î—SLJ[½Ü€5b€Ž˜BFÛ‘K|¦Ø—E´<´;ÝN&Ý_ÖG±â# TT_/—ùLÏBõª>'Ž2dàù~^÷aõ"ò[Û¸ÿ§Æñã½yèãèè=L1}¯§CˆGE% °÷’´ËÜkóÕ˵éÞòÿ‚Àù7VÖ®¾mrù2j› ¡ŸÕÛ\BgÄxYÃ`,fѹ?ÿæÓ7ß;ðæ™Wç@úÃË%ÿ†·ØîcåY°…ËA­Ã‡fÿô«¾ýŽ•qÏ„¯:ô˜>4=¨¥ÑPu·ùÝàx¿ºT_}§>uG1‰§/é…"z¤X_”ΚgQ( ä>Øn`²€—ü nýÕ‘ZDž—«X3Hö6Åa¬A£¸VA>H­v%ðHúÈô¿"FrÖ8³'!¸T‘ÑÃJØ›ìz 3lMà -‘ >L¦.DÔ.°ãI°¦¾X('/ÏL®{QhŽO~ë©™Ûû{zy€ÜŸ¾õ5põ`G1ÃHÿ©©i˜üÎ…‹ç÷ßx¶`ÆVÞ$AvóÔÚ•¼&§ÆN¿°P/”o*Îým¶¡æ-¾Y9r÷ È÷ÅWÞ3Òß¹ÒûÀ ,ýÇÊcKoU -»óà™Ág&nŠ |K&îW–°–¡|> Vñ½lÆ.ƒÛ”ÝŒ¥ÑQöqz!Òú©Eä謨êkÍ•å&øüæ3ïªÜ@%o›õz“‘&牼·¶R;õ­SÌŠuê»g‹{òõµÆéBM¯VÑQ¹f>ÔïÌÂÐVy_Ü8Ù¨¯KÂû*I‹;ûíØ=j?ùŸ{8›=qòÔ¯}á±ÕÕU–þ}¤?ˆ~uuþèÌ™ÿ1÷ÙOþæà·ÿü¡ã³ðzúÄ)y’¶f>lyëà܆¶%‹÷ÓØçR®Óâ̳*Ç4#Xì껵¹Wç±pCÌ¿V)î±§o+ƒèçFùhÈFÄ<–†Çì"u†" -1oiÜAŽ‚…ÏZ4é$+ü•çðÛ—jKo׎ܞ¨]´*¯×œærù€œ*\k-^«?U¥_Eè—‘wÁsÙÁxíÐFŽn…Eœvè€íß!ØÀ_ÀÂ’+M×û\tß ¶Q7® ½éèx²ö1’øŸ8~,Œ¤?Þîk$A<½§*3ÖŠÝS¬^–IÖî–9v¹¾ri=†‡†¸¶2 ÷^$úQ h!3èb·NoФÿôÔ”øJÿGèÜÀ¢æ& é·Y cŠþ¯Êƒ€mnÙéNÀD¶-Ëä#ØÄÓv)pӆѠ™”OßÚ#9{¤U­ô`ˆ‹B6§2Ü©†ŠbPDhìŒáb±81¦Â¸j¨zm $â Ï*SŽ`›€ùo ò¾”ã ²C¦¿U "' RÂê¥g…‰²¶ý“¾hddDUyzÞájΠ7A§m <ævõƒ¡3”n¦Óû6ÿÏþèåòõ(žª«Kt]µ¾mO8«:Àm54ÖÈn)”Að ƒôçwôq~¤ç´›Äí3&Æê¶ ªeRØ™*/\z‘ßDÿÛ?©íý@¶"¬Nß~`þÜùâh!o½}éí½ûöNìp"Y_­V§cäúrÓÓÁüçxë ñt’ž´WÀ¦šÛ®ºH±þZ4mj`uÒº®Ó/VäBð~EH”V¯ƒÚ¥t}aõÝ5¯¾riµR©NÝr˜@åü¢9,'^Þ¶ÝV‹CØ fÀ˜«Õ‚b§àìùSÏÉsSÒöû¤?8¦\6êµCs°gΰøü¯=ö7Çg!R,ý™ÿ¦¡‚¥ÔÑÒõ=Ïa#À¢Z=çª×&ÛÍÿ®X­âT™¹cô(€ewÐN¦òe¬ÏÞŠó‚²úìF0ˆÑ´'é/¸/ÂPò|Ÿ¥¿:ÿ½ûŠðRa°<azœñâ¢OìEV:è”w™ F`5ÂüçŒkß3FM:@v%Ø‹8ßËD]ú˜ÿðb`Yyþ¬TUÈ}×q…mž–{Ä÷<»XÊï-ß:ó3wbfõ—åà}üÐOáíì§®]öÅ»“JôƒáÏÛOÿâ# BXúËÛ7lqq½i˜ª5 ÿLžjžBÑ û‡ï˜yòÄIØÂdã˜;)€z=x°ù/OÛsuÓb\b√€Q}¸k”E?xX°¢_ÙþÝÌk*ÒR¥Uû)‚f ú}G–þ¼]8÷Šz¿pÝžù×Ïùß -=ù­o<6õ¸zDßA°ñf5Ú׬´ xEuÇ›¼e1¨Ëføô¼üM´ýsvÔ€ÊÊÀŽEŒÒezä>¼N½ˆjäþ)õ£5òhóöÞ¥·e¹ó Ï¿pò„gçæ>Qš_¨€ù?{ÏÁyÄ2:3ûà#§žE{hrj|qaÎ3¿«€˜bN\^]-í±«$È,/žGwaòÀx­Ž·8ŽÒlG`µAEðGëJñ8ÙO¬Qošƒ2r:àHð@€ôÑ/(äµãð,·1ªò–þø±M¥@úÃKì4–œZ¨¶ÒÛs‘³:`ñbDŸô8›ÁÔÀ @M¡ÒÓCGIOÙþw•Ç~@ù,ýEÔ—ƒ- XTÉo:&ÒÖ+ç? -W°¥•Û" ÍvÖ@ŒÇLJsÈÛg¯ 'À.R˜¢@Tòo1~WàP‡„âÛâÚy;ƒÌ½ª„êeXV±tƒÜñ½¸ò‡E ‹6çlñ·H‘ ÝšÎ´Ú^³-=GoMJXO´Í¡¬0ex»†¬»cÖä÷ìß7öÀQrd1Çóz(£Êp -1L™–Bj¼úU¬q£bG3#³Þ&¶ƒ(ƒý…7+¡.n¿mæÌçr¶ýµÿô×o%Þ4ÉâW<¸=ˆ?–¥ŸD2Ù´nI*n™i>uoŽÜyä7ì!Û¶†§L5ZÎð¦Çú#…¡{é6 >;—WwDy¼\ž˜<ó*&Œ­½A ìq÷*æ½%õæ¿é#zˆZŒ~‚êåàxm˜FVåJ­Vq܆oŽ˜9;›Î>ùÔéÙÅ¢ÊËx¡/¨X-•ße9Ž—Âåß:ÈZî¦E7ô–~‚ÖYaOÞëjÝæÛkwÚP³.º¢ð@L·<aÇÛÄÀü³¸¿Ïxá-§˜·”¬ÚÌwÑòEJ¢ùÃÃÖôN»FžLënIsD„MI´Ë4h‹&¨ -Hw\‡êÜÛ%?'¯¯ÁÅy]ÂD¯_YkºMÔ¼¦*›‹).¢š¨þ•"œtêRí¡Ñ»ï@Av÷÷ˆÿyy婉C·ÍÐs÷ЦËÁ(ìyü÷‘fyµZ½R7‡Â σ¹sÛH€¼² ‚·cpšf¸¬ØL½å´º³•f;>ßEaѤJA¸žÄàÚÖWë0½y^Ùù\£ã4jµ±‰âþɱ‘=¶ëú°jµÝ#Gg@Ä„éµ;ï>¡Þ\¾ýÃû½;ÕVux–ÊÂŽ=NÁ1¯;p[5{4kåŒv·nŽxú°×\‡ÅZ93ë;kõvg´N…víNaþì¼]ÈéF8vaê6Ìœ=3ðð´–Ñ_øáÜ=žy{e5¸Úž¹gjŽ¢ü¸óÒ|¥|óÄÜK•©›1'1÷ò³÷™bçæMp·.”Jè y­ª SDK502 s`+÷‘ê&ð×[®62jþƒ\šÍ9ûr"dÆ6r–å<Í ϼ¡Õ®öx'<î9šŸ¸ šn ô,”F€ð Ü¡‚G×mÁCàüÖ5Áâ xa†¯Â=Ü](üäüR臦ìöƒÕ -3–Úâ¶® "Ë󺡩eÌÎ~&•Ñ:Tî,Ù:±ÑyƒÓºA]kˆNq+t<§Q‡¹:±÷p½^]«Wa»w̆‹‚™¶øúJ½yyf¦lïb^ŠM߉D‹šA¡A”¡*ÀbŒêŠ}­€Œ¯ Ñ?ôvTŸ#þÞãø±cÇ?qlµÞºû¨,¿-%h€jõøÁ`éD‚B·w£®B¯ ý˜£UÂx"oÓ O‘¼«\Zž=z¸ég~x–¿«¤¿ Ãbýñ)ɳ ?‘ý_!«ìúÒ™WçÞ €ï#Ÿ”9(^¥YÃÔÒažnöðð¡{Yp9Do†Z/×e­Õ("ã<’}3ä:’s¥B¸(ð­J¶Íæn‘’ê†åŸ9³(cà¢rÅVå"ÊôòäX©$ .øºm›FO†SÖ.;“·•Aú/¾sUʯ„El™v슪&d\‡žI,(«—VíáÜ~`xØ(”ìZ5áÎD–¸Ž½£é Î¥¼M‚ýb!jê5LO¤ }[ðP™9×ìÖ*zU*AÖ sÓˆ¹pÌ¿>?}ë4lEo£ —qúôùÜfÓÊåxçÄÜËÇÜ¡³´íóÜ àFa?Hcƒ’º®rúÎÚ^l9ÂÍ5Ðh‡ìù ’ûŒþˆ°xQ”¹r©¢_¬OJ€žR^ ¤ Ø«Tå…•$ª°˜›‡áÿü¶éÀz"T®ü´ÜË¥õ«+Í–{ËT¹ÙtWý)âTÉ Yu”ië¬p!Î §9CÄ#Nw˜2¤? ¤¿<1 -mñ>iäNnØl¶¼1Êͽº˜Ä±QãÝlKã²y -´¸Ótá^PE2³÷Ú9§RiW~²ƒ]l â«VÔó¾sÓŠþ}ôZØi”Öq'ª<ßr×]^>‚b¡ŠâØk;°oDà¬!71bvF¹ïeH\D²VnÖ{Ñ×AúƒQh™1`ÉH¡4yààÊ’,Ù=œ+l±¾áY¡ä$›ÿŒTßh©›‘r?!ý‰ÁYG 4ei¶ˆ¤?3BHô‚žµÀ’FWïŸ }ÿŸÀEòÌ3'>ýKˆ -¶ Ëqwå…K+j¿@XV¶gùa”)?9+ï¦:“5‚àÖS9ÈZfh -¼‡ò> wž;_9üáƒg¨bïÑ_Æ޳rÁ£äâîÆ­ma0”þp¶„âÂìúþ ÆK2‹õä·‘ïÔ@‚<Äd„^x!BoB ¾C*?´Á[¬Šc9ÅÌ®ˆÄ˜…ç¾£¹)‘Í¡êPós•ÚªÃ%  ÆÇ¢U}ãèX]­è.]2d¢¦0ª.ÈÛ ÖÈc/Áke¹§-^lSÄعwß#æ/û­®Ø6«­bIžd°O£È·›Ž(¦éÞA,þˆøiÕYN€mÙÑÛ »…ÈHIRÙ>®‘ûÉÁ(!bƼrÃûæç>MStãÖ0>>ng0i4}K -Mmeyñ­óÇÜán µéØ ÁÚ²Œ€Ê -õl\ÞŠˆÓ„í¬º„@¯Ã\ÍIé}ÑmƒsU°wå}e¿ßÃ$×ø2H§ÄædbÑ TT£—º±^Õóö°œ3Ë+q¶Ìÿ\ ãDDŽÓd³#êÁêJšdïØh¸~C3eAò¹3q…¢Äù;oͽRmùF¢U IÎPœÿ”ŸÌõ<ëÚe¯ü^•²j únÏ™¸¢FjÀuÃZ­?*;1¡úTl€r{9þ°£ C¥ÁØf’5ÕeA„ŽÍó¤²bÇÁXÜ’¡³—Í”¥%†‰?„­6Œ.¢”#J„U£™Y±àBsÖW‹×á=\#'`ÈìŸù‘ôosŠ–µË¢—Ž”v‚õb3ÁÐ%×–„â›* -$½Ô€“$@Ȉý7OÝ8u lS1/H‘àØ "éâäÉý·ÜùnññÛ±ˆ—Q „àðuýM’8ìÀx<öûƒùÏ€ Û_ Q|Ë‘£8ÃA ôý(bQªÆÛ„{çwuÔaÂå’%á|b°³å«š®l„êxahKï׸ˆø–Ž'yyÊJ6úÈG’ÿ+fô¥”O›æ'±“§UÏ [Mº°=jî°`ÛÇvéÿþC™ÿ¸cæF#Õi¸3‡¤íÈ&? -ý@¦=Y°ÀÐÙÛûÆY 8ލ¾T«ø|÷z,tð\*T+ìÑ'&ð° ¼^Z_=+ÒXOA¸Ä¨8œÃ®F•”lËoqwß(QGÈö®LVüâx§› IDATÃìøIY³Çäµ]¶ý±¦9›ñÚ–þ>NMزÀ°µà - íçÃbk¡Ùž™‘÷ÐÈÖš Р àlí|TX¥HE§#ÒOÆÝ„U*ç ¹b›XÕ{‰;”d¬¿‹Zjïýè‘ûî¾KÈNßT.R´BÜ®;NuMZúùÝÅVh|åß}ff¤¿ã4üØßç#£ðC[A)˜Æ.õ[fFþ., “ 7^3}IkäÓ á§¶œ™ä šÿů? -ϲY[­þ¤òO~ñáÜ9:d.ÕjE®31ƒ’Ð%ݤ K€(û̧ðì/O¾W¾qB$â‰t<8˜Mé;YYÁWJ×2~ýÔ¹W/„mׄ‡ºé˜™a-íÊTD -‘Y‚-‘’! %rid*v‰g4r©4:R,äwçÄz£vuË䫵*x!£»GÍ´‡•lRÒu;±àXlA´ßóÝy{q´pêÙÓöPeS'U±Y)2¤ œ‡¡§a»¡‡Ôèz¨Êª–F®¢®ÏÂîQCÏ—žB$ž<ÐÒ‘JÁŠò¶:ð4”†ø™0èEbî§M7ß¶4-…Ö––Õ³ƒFà3¦M¨#à5­ÝA=!‚Ôg7Doޤ¾ìe  ¯“Ð19Hs{ä:{éÒÛÿü·¿ðÕûÄü«Çï¼óàþqtìæÏ?þ—ÿ¡”·?ú‘™w–ï î¸yÞÊ/½ýÆ÷~ðäçþá£{Šæ¹×æòù)3kJ,ÅM¿ê´årCC>6Í å»QCl=òPJ ƒ! ÁÜ3B r¹v j,„‰GþËÈrX˜¯ „9p}2v°éss™„| y"}r ¬AëI6m›0¦pþyr ø<+–£mZ!ÁÙˆ‚¬“è`JÍj˜cµnYSÊâ0¨&mÅ8FJ(ÅhqJ'Á?±Ó5Äâm,Ú+ïTj“SE0£Í|©ZoæÉ«01 -®ùèüÉvEÛBcÈÛè˜Þæ:¯P"XgÄMħÝ­òúÌíQžÆéÿ¶~ìá#·¿ð‚o¹ï.ü`ç=ß %al‡³’ÓÂÃd¼/+˜¹ø˜kr ¹ŽøHj@—ì!)8«gà-kÈÝDø Æv4³#ÃG|>Q*1ëmu3d¤zXQÏúX‚¨½ºÇ ‚MÛÂ…¤u© \m$ô®kà=í²öNÜraS¾æ9}G™bþ‚÷ 5˜J7 §Z.Á€i„ Alz;{×ÇÉȇ=ôPòOJðÕêN¹®kNȨ÷ß´_}¸ºZëR8˜ÿÉÂë!â9§Bs[©¿YRË\Ðbk:LD6¸ÒZ½éEÕG*hæ7þËS`Ê}ú†xgbw¤ÿD±¨& -7£Æ - !ôSÉÖ^¾†3w1Ž›?ýô‰‰RqöÞkÒ>ýmüÑï~¡ Nž8qìøñœ•_®UrQ|ÃÛ Û~—U Hü†ÓÈ‚\1Íêj5æµm &/KÊœ+QÜi@S1(µ#ÿÄmÆ 7”¤–,ÌÏ-ªî_5TóÀ…²O9ñu.Ân/ݨ­¸ŒLQyk•± -=èdä§Û‘˜Nþ–ÇYôì #„ -(–dæ’gBe×CƒÉšT’2ä€=ǰ·= ™÷"Ú*=‰ŠdKùoüÓGAÀëÐaÂùXDi -èE%ƒi7çw¤bCÕ!ŠgH~ØF€~”w:éÄÀTÓ&aÅqxJ×ã< ÈGN‰ ?eI_ªÄ}\ðŽE?³TŠ(Æ[£\7Huë*oa4t€šðIPc•wVa û¦‘qZž9±æ‡âˆl U]ã´ø‹h»hY±xŽ r++ñô€Ëõ(.‡jÉòBbI%0š7ÖÚcÿм4C“ÖÄTÒ@ä±£íß78Š‹e¬)ÁU=Aw¼òŠc¬PÆ å{+o¾Ü¦‹=eB鿼T£S’ ­VmˆL³xíö`?j5²r¶ÛtP€ùï¶¢2Þ·/ªr=þq¢@¹ÿç°ñ -¤ÿû\a2y+v‚Ö¹ðÖ…PÇœé§"á -"c?BÁ•ÿÔ5‚ hx ¬]†tT1;et°|³ÑrÙIô¾'>F]]TÜ©y/Rà3Ÿ(S—E8?ý¡ªñÐCÇóù’_ƒ»7y*¶ó7'Àeé/ˆ3–w@üæéß$$2º¸Æ4è€v€¢_1—ˆ¢«qTóLAúãÚå&Lnyòä@Ä@𽃹ý8$H^l'eÝ>8â†]õu/è—¡-6‚E¥ÞH¬þ¤¸--S¡Oa4ÈH\D¢¨Ý°~Lc¬1¥'JKŽæO„¢jö&äà{ÅÅlbÑŸIðÊËsmb왾yÀ•µžŒHn—ݼڸåƒù•Ï&߯ü¤Rþ@ÜÅ‚œx¦ú€ás.¢ÿrýÃ# oÁ?¢À ʤNDÓˆ¬Š>(€.!ÀuêØŠ¸LKŒí‹À ØŸcúAqsÞÂ|‹õ=#Lã¬#iLÛG’Ó7‡¨äWP¸V,(† á¢a¢¸‘´õœÄ(lÅ*ÄÁž2+žçŠ7F]×p^ -,èš)êkîÚyóRn¹QoZV#}Ã+ß0êRžÉi)ã¦Ã¢_ì$0N¸L@§Œ¢L`5 úMRx¨W^£y‹kðA(^OT]¾œÿX­õO$˜üº›¬$ß[:#$4ˆZtDŠx§é\®rI #t‚WŒO²BUxb `Élç$ÈBì³ - X”@iò\BŸKÌ]S/¼2•(s[;þ+hÐø ÞûÁ)–þ"Òù©£öÊ}ÐrªáÐmá}gó¿4Z<ù,ÛÎÌ`ÁÀvž[0ÿ˜ì;«@„tMVè_C.ƒô·sViw"j™<çÈp‡¹žT`ûæh?Ðßed"ÚÞRÞ.šùßø¦ ) -à±ßû}þө矟{ùlâK;SÊ5ÝD9Z4P’v8Ÿ`™GöĈ³,=–ûõËq°.ØDЦÝÛ²‚Yh:²µ¨ÞŸ}‘ìN={:ùavHeíp$ý]Z6ì™@s68 Wßq¼õøç¬áxŸŸ²!CüÒüÇl­#gÍ'D¿ß›Ÿ“цŸ¶ï8¾Ó3_'M#m=ÑÜoþ‹¨#NÞ6ÏuÛîÆN-]‡îœiT¥Ð'`O¡Q'·+ÿÆÏ>ñ—öGÿúߨ7•ô‡U –¯eþFYéœURT(ý• àR¡ËÀYz”ÍC$}âòÔ*¨cq«N¢_T.Ö -…ùIîãÛ˜²d`+ä*d®ë±JÀg§x¸h)e Y±Æ¶¿ Š—õvm:gÐ\qK/Y£Î —c -Å2M’N›)‘UÚ“/‡• -ñ•¾òNC@uŠeP¾ ¡|B ãwÛ,ý“œ8af¢[®±¦4xVöQ²ˆÌ£Àæ?ÇŠ]¸Y^¤7@ ¨œ -6¥©ð)˜ÌcÚív9ýÛÞ¸fǼRK—_gTŸˆÖt€Ó¬Ù¹¢iÉN]5H»YˆÁQL BsáœæU^·|§‡€@úS¨X»÷6i$ñAV°ºØÞÀ˜yøs:xûÑáýÙ#‡w<û¤ !EøÕl{óŒ„Ôh:z£AËm’‡9Õð¼³o.NŒc)NËóÕ%Y¦¡i&šù&†4lê`—6»®Åá?†CÐ8L$N½²°ð#Ô´oœ;;BØ?üò—¹·‰«Œë ጟø‹¯?úùÏ”o(×®Ô‹Åâüë Ó·ö¸½qüD *R*Ž˜#Åyæ‡g`œþÁó×—Îþð•»ïž]YºX¾qºrqÞiÔì¡Qƒ[÷Lë #bôN”{o9ï,¾µ8>V”ðs¦lš+ÎÂÇŒŠ«íyíu9˜fUKÆ·9dò²€sPkpLvÐj¡PÖ‚ HàŽ^Ó+97“àEÀŠãÀÎÛhã'Oœ>|×$aû`ç}Á¶1p™„êM‘}·XCàeS†ÓsEÐÆPÆF×oÅë‡Ýume‰Ê˜òMèµPà›jˆоïšT€,(€óAÁw&ö:˜%Õ"x(s€âQ[àIØÍF £v /¯%@ ´7Ú†AAɹûË2¹"â6—ú¬¡?;=(zùpÙ/D*Øà°!µ†5CÕâ¥RÂî¿ñ€™TÞCù­ç|iü–C©œ=T>÷ZåÐÁrM ar5*Qh[a᜻-W0ÒYIõœéæz@•yäÇм%’ÃÂüÚÑ´¥\YÜi°ÕÑEnûS·Ž™9é9èe½•ùzá:k¢”«¿çÊî}ÒÖVJw<Ïq]¯9ͦ˜fÔe(#p˜ äÒ&ÍB7Aâ”Ji#°±X±‘WK™FÆky‘!Â-ä.f¼ Q C¶‘>€jäµsÍ#ò¨4ZÓ¨™PD¼•3gM9u7Ÿ7KùÒÙ«sešì ~ °V«‡àQ,7;:bäè\–¦Ñ®Â@ôi5“7ç^X°GràM¯¾Ó‘…˜{ºíÍQ¤\ÇCŽ9Dª2DëÔ8c¤¥u×à—M—œÛƪ\+«³ŸÝ%y=8ˆ5om΀û>|¾ƒ;nk½±& ò@öÖ¯Ôá Ý"Sb™lÁ=ñm+óvD[´6$Wf2*¿‹ÿ\TgúÄ›í‡È­”Á¿}MÌ|–y;W§Ÿ}cl_ÞÞ•ãPøA»me³ heî–aÙ¨*Œïgæ‰ûGbÛ@[ QâÉuiÛ x€ô_¡Æ³ù -êXÐp‹sÖN.9Q¯,Q}_*"¼À´&Áhž3Ëg,Ú‘‰—¦;KŒxÏ}ïÔwþ;:ÍuÀTÔ3üݼø³÷¾xÿ}w'´Ësö¨üëü<Š~Þîx¶ÛÇÓÿ•B:Ïœ8óJÜ)ª\Zù늼ÅTâw—{ªû¸²Ršo]±•èöÖ€^¶@æÖ®ªÞS` °¶«+ýq¶|îý*7˜Š(\a2±¶½BÊ 2w]ßУ>xÖXÄ–@$(±¬bC®üÜ.“­¬á] ¤ãb ™,} -&‹ãÈ š`Å”¯çt4òüdd•®áÉx›”O‹8{sùáÜQ½$ sy¶în†¢'‚ƒ^Zº01!sNî:%–™C\‚Ha¯g þ°XÚm¸?Vj+ÝnK…*6<“²ñÙa[ÏJ×{öè±¾^ø¾éFÙŒ a[!Šþ‡f€Q£ëL;ègT(7ap°ÄäÖèìër•‹+Y/~ÊwÝYÑÒ¿/Ä—ð€+Â:ùWƒ³zJ5I JȌӶžßaãvŒ¯cXVú¼LóªÈÇLDGeKY¤dßâ«+† ²ÊyŒ sƒô'îǨCõrÕßìi+‡nSz« H·Ã’pûUlÏH¥•o¡NL Ù,O˜{¡§€\Ɉ娊ß0 ŸòYEö¨ Ë@äAØ÷»]Õ“!"%7¤séóO "Í©`®Ã¶³žïð‚6hYN`àeÒzòɉÏnsⓃÁ~‡(ÁÞ*–lØÂºËåk¼ð¶b}ú—¾Öý=ñìs-Â9yòI òœLðJ—¼Áx¯Ë7)üÕx¯/V‚ù°¸/1²ÎÐd -cíº¼RKº]èDnÜóZTàÈ¢BH,YILpÁ”ÆòJ ì(ýÙöçÁÅïf/É%Zß0Â: p]\b˜LƒDã5O©¶žIi â½­] ¬¬: y• Ÿ!“g!î[q–Ïóp²²*J:™ë ¶]äí‚Ë,ÀKD Ãà€`¤ú/P1Rü]F:-{Áô8kgYÁ90k8gFqUýÙ¨±ÀŒ †@ ®£ÒÛbéÔ÷O.­,ÿú¯~ñÐAùË1¹NHÅ -½JëQykto»†lÑÂÐ?F""=ìUÎЖxµ,c>;ï5=#ß-Oõ¥—+à(?Õ¨P´§7ü¥ \௠-W‡%š –{l¸HMN–“ŠM¶ˆn–êªpŽW%• 2¥Œïâ£fe,0Üï2+€g¾{òàmq2ˆ~‰*yc ÅÞΛ¶¡9 g"–bµÆá ±Ø—"°¥1C: ½ág©²§£À) "‰å´=+ÒÜ`z‚ø”­y˜ž‘+‚Ú_ÀŸ×µwkÖ _€jÁûrßÔ sLß0d U/,v€VÎÎeëõ~;A¢Ò’ÿ£XàG¼em¹¡Ö\K1:€ƒiŒéß[2>þNU@pÙð²°5ÉPpÒè¨Fx¹¬Y´cÁÑòü±bž{d4y(å$‡)S—$ýus{äš–…%ª>?þ±YpžüOˆÿ(Àn&ˆ~9´–@˜ݨ‡¿xêû¢~+?Ò 8ûÆÂÜë ç^BAÒ¶«b,³÷ZÔX¹Xi5ð@ l¬A¨?1ž>ê€DÏrœÓ¶o:W–N€Ä0 Û4\ßw£ìhÈ™ŒýE‰ÚjÊ û¹ßøüîž*u‰g¸œoÇF_’rg^Z<|ö1Œäe¼»þ^¼E—ì3üÙËðª_ŽÔ•…l ýÇ&lØVÞªrŸ…SÓ‡>²¥bï‡ÖpÒ„ÎÌxòrvn¼,@´7Ú¥}%/Âme Ú°5ËÚAó’‰Â! ðĶ~K ÜM&¿ÌåÜGÈ”øÄç:ÒHÐÅ=1èXei ^JÙ¦)’’Ü'@Í@sÈôi½·‘‡%öóIR卨 -AôÃ?gîœò:žSÛ9¥ò %{"K!S²78VnPM‘RÛ¹X†¿:ÀYwTM$ž|w lx™`’ã-|>Ã5?"² “Ò_DH$3Áà ÙÀ&ÊnL‘/XåŹ—*¬âÓ@U=oFñ&§C‚\:Žº šh’‚?UVì‘~F¶¸{kÐàBdÞZX$(•wÆR¬)Yú…ë2¥/0!Y -v|×òÞñ¹©©†ã”GlßYƒ—ajÆŽä&ZªÖ# -@8¥La‹R)ØùìÏ_z½òµ?EúŽc?‡~À§yx~aÁ µOòùe®´e±Eù~’fF»_ú5gí+_ŃœøÖ7Ò¦±ü“Ê;\ÓÉÁ»¡œ54<º¯¬E„hŠ¢÷fLäbåsàìÙ¬×öìüpÛu·ˆ«(Åa+¼éš)£Û\H—R]uÞºX]vïüPž±™7H>ׂ©–Ò²D™¢“ËÌ™¦–õ¼ò"ƒtÛ²Fwgϼt&Ü ÃTl渑=ò¼x¥Z«Ï> MTS: -\jaóA3µÒXŽ·m¬Ä5éOfÃqõ(/t°JÁ”5Ý`YØ C<ðéè‡yá¨]#ŸÛ%rS‰Üõ8¹Ml´ˆÔŽiæ:®I¶¡´×H3QŠ2èVE§†ØåÚEu†óÅòÆ´©5Aèž&´ô"µ;È‹¥²8Оª®¾½¼‚Ï1¿»@W­çsE,\ÜÒ%“F'F!µ‡L8±Ú•†>`éZÔ/bš 4Õ>B¬2Ìkäl8ãe˜¢û'§Ì!!Õ5kb_¹ºº :mÉlŒÞºyáV¨¥Íg‰œ}+äžv´,©6X®‘à„šn†,Õ@jc?*Ô$d£ê|17·`  -`/#¼‹ úÀYsXMktæ’dQCj”¹Î=6<1?Ü"p¸3A¸…ïÃä·2èYÊ€¦KËpKCÞ…@Ø„EÃM(»Sš™E9NœE6*#_A%2Kׇã陦OªIeVw+ËÌÒô‘!ëÜ»KµzÝ*hËo×Û›%FüOghâš Ä)ÄŠÏ”«˳Úi î$†­d«&H·4<ßn௯w³fºíƒÙÍcá,Úv§ÞZ‚ûà!' -4ËËó±@0«;–*èäv_©6Ð$5Lç=‡Bèmz -ÉÕ¶ÇåšFo£S0cf1übó:²²hQÕ®ÔL£h‚í‰÷]… 6ðË+ä›ËïÖªïÖ>q|öUÊÜutfþlul±^Â6.¹\îÎ÷çóù‘‹ë#ÁÓ߯ì¿i¼G’9¤†Ü¥G&©é¬â2r⹡‡©~âfŒC6åàòÑþµù·M‹(LÄüaJ&0Êÿ)pNZD© ÁW”5Uƒ'/׋{âCU+nA88Û!}ÐÜaP¯l{Ÿ}Í: 0ÒDµm«AZc¥åwVÅN£¸;vÐç* ÊýäS'ys+Ë«‡?/÷Ê9ksé­ÕÚª3=S†íÊ¥*\Èükè¶ó¥ê»=¡¡ o-ïß?tÝFÓåh°ªù1°”Lj¯Q1. )é;aÈ9Ô@7,ý“¿:€ËT’4/QW=.ª‡M%3Â:'<€Éýûá%PÇÆ“Xˆ#VÃ…ç‘ÔÊMŽ>Ñcú–)Çë÷‹O`çIÊÜ>ýml¿ê«RƒEÿö‘äœKÊ}NBʦÇ‘½>•,%î=XðQ•³FZ=„UêRí€\<+kÕ5”f¡ÆûÉó‰įIRel|üð]‡E¦ÒþyÏÏÌÀ=,]_`ˆƒG¦O=w¦rq@ýr,LëàE$è¶IAúWÎ/ŸyñÌØÄ8lEÔ± £´§/LôeR -Y=Û¦Y_•G øt,®µs[nsÃ&é/°46†,ƒë ÙƒV¡9-Š•"#YÕ"'o;öÁça˘Íh6‘˜J”÷)d±ž5ˆtŠ¢¼ÿ,ýa¶Ã¬Ö·a‡è¦Fh¦Æ@›ÿÙ_zôÿcím€Ü¸î;Á4º§1=£‘`ŽH 5&=4†Œ[´eÙrGòºÖÙœ·nËwW›sîªî²u[©Ke뮲•M.®½ÊÅ›º»õnªrN|—µ“,cÙ²¼tÊThQSi4i˜£1„D˜&zºÑû¼~Ýó!Ù¹º'T«ÄW¿~ï÷ÿþýÍTëÐÕ[7àÁ2€‰¡R@;ˆe€61A¨€6æã>dâ#ôÅS– -r&_Ñ·‘:`¼-þr¤cŠNì0aÚV_TP: œ}¦ſDz,MÇSé4’Õ€Çx€ ¾[·BwbUÎ9‡šôàsQâ>qË òß2—2Ÿ³Ø`)bÑLbvCÏ­=89ý`ù+‚ùÇå•M‰ù[¸k4 6ù éeË Šóe·û`@ý§Ÿ‡Áð¥W¯Ï=йzKµ¾ÙæÐã$Î|\f¨rú•;z0’æ3ˆ°X¹UHPÿv½^ãêÍEõ™kom«D0%Ð.óÎ+“öÉ“úÓµ*<@÷HQùÚù y^LDc( IDAT«¯á¡x2ï WõÀWWïÇgª÷—V–¥2ý¯_>~ª^¢.ó •YdÊðF^WÄDvpŸK‡ÑØ gõ_A0ouA1ëäÆ0Ë&²d*ÉÉL5nq'úƒµ«×p -ÀPLûm·G"|Ê€æ-¿Ž~:{D* ç¯Ü ãM8i¿ù:£?½¦ß¡tv:‰3sYúÄI)#`ÛGíU” º^•r(¿-Ðê©Ö²˜=}•m_ ÀWÿ|m?E@\ü[¬§]¿_ª<_ü7²ú Ä€‰J–Ãb`úÁ)Ž uÚ‰T8û ' &:îOR!«˜iÝXEb/ Lã‹ ¾øÁw¹XìâÊ"£?ÝhÐ+{]wÍÔ‹¼ -Ù,HEe\Vz®òQÀ‰â÷ëßëf3È…âz]c{ïO¦ª}§œœÝƒ»³q*·º°¼‘û—vÌn1ð÷qÖ‚ Їý,Œñ<Â*ÈÚL„U|2|šh6¶Õ”¾M’‡@%ÚÛÅÄDƒ;€è¾Ý­NË  ö¼ÄC’xRP|¦ÔqÂtx€ÕÿT¿S]0Þ¥†w¦ÌeŸ…£?‹'øSq+ñ¿2YþBR}bÜŒ}hèñ“–ï!ÖýA4omÀdÀÚ-„6PÿÙD ¿"feÞs|‹ÓÄp‚ŒûÛêx!ÀœZ× Z랺gŸ<¯1 ^F€`´†»šƒÂÁÅ%`”'Çù5(BÑíu½-¯º¿úúk¯ãl¬/¾¼8nš‡©_zqŽV¡ß‹ó5›«Û Lí®“o·Û• -Ê6Pÿúáç3÷Û—//² È,í\½l¸w=†~Û;Ql îÿ0¦×ÃQÖK% ˜‹¿TEõ¨Ê'ÇÍcùž±LÓ²ù1$ ·uL е¼G‘2†Ñhdê õnû?n±Dý·dÃí9TAo›åvgÍ/º÷zn æ*T1QX7 Ôz®q-õFëޗ¨ÍÖ‚ÜY–Ä0,Mà<‡£tnÔ눈ɠα1 HÀö‡Íì8ØÔ¡¼OG¯:¨ÏÈýb¢.3–‰í‘†á•‰á^ò>5ŸÛšÈ{¸`ø¦¢.;ìa#Œ¡«e 36>˜ AÐÈ‹¸…äþý>4ûég>mÙZÇY©•:¿>äêt¤Í˜ ¥[lbè=à‚vkLc‚C3@ãv‡òzÝMñmǰ¦ÚÓúì`‰lÑš^èŽ#Ox—..×ÖJ¥bÕªb–QLYcŽ%)¡0u,§MSïz}¯ˆ÷šÈFÈóÊíMœ®eƒ¸LnÒô“èº^Í-†]Ò½{3pÀ\y±R ^ë ©«¨çÚ¶ià3¬/†#Yß'ÆeymwAãq;½Ëß[:ù3D+mÐÈøÌá–3À»œ{^×uJtkà6‰˜iYÀgb#UË«@ò&_ݽç…=9U"q lÂb¾,èí °ÎÊ_'"ôò»µê°¿èÚË×ÿìÑöz·y«Uüù)ËÈ#ÑÂŒW›ªjò”Ÿ~âï©…IDêÁVP}Ø~ñ[ ãš­V§µÖv‹.ÿÝoK[£T½iÐÒ†ƒvÜʸç‹Ú{Êð(,à Q©ÄH‘øb£¶\D`m÷wËÃ'ãO¹žóÈY=yl‹àð\¥Ýé€ÞìrΊm“•Œ­Û€Â<ú˜¥‘øŒ†Ô¡Ÿ‚ÑZ6ä5pŸ,+•H@è^ ¼0³ºòÞÀG{¾Çì4µG·Òé¤<–߸þÉgÎPÏD;¸Ü~ÒøËóè̹ðMÌÏô‡ãúZBÅ&yÑ.Õªƒˆv¡+œÃÀb@Il ÝRœéÁŽ~y_ŠÐü¸°1”P1@á2M¬]tºC*ˆ/¸–ÓLšúƒ5nqƒeÁ9¹—_º|òÔɤ]éöQ9PPÇb9ɶb§Áô U{9x½¾%Î~øä`˜"ª,Ú̆°†ò”É®Ú$µßî:vÔ³x}ß 2~rÖ¼J½Ù¿Û|éõ‚¹9[ ­Æõ6(SvÙê܉ÿi³g˜˜äìåV”nŸÌö”4g¹Æ…`ŠÄ˜ó%¿L3kÛz01ö^°Â”ïs¼t9'°ø¤±Š¶ 7¢)§ì}R5·¼Èø {}ßëÑÁÕ æ…@÷ yNï¡ ÔI;aÚ-¨Å¤ãzFlñ|îŸ|Φ"í¥7–晿üÊbóÇ­Úýò‹ÀGž)E¹¡x¼™]‡+ÛA0O«çt½J_A‹,ª0N;t¨æ =lýÑî‰Gk€þ;îEšñI}¯âY9R­÷VÄÏȦ¬ËË+ÚŽ$¥X03AWÿâO"öÛ¶Û­v±”l0y'§ݹ| Ô¹Ýíõ]€Ýå7°véÔG® -ðñäÏ/4oaR ¨áðh¯;pìÜqW®]§OîxC³Z³[MüêootgÞS™‰»³©ÀCmÚ†‡`rKö6;Øû~@­1»]bïð‡Hjn~Uß?å1o‡’<Ÿ©î7—/¯T*%n¿¯Lw@AQÀ ß| ã즜Bÿtò%% J·›ªr.bVÑ6S%áNæ L³i¦Ö“œ÷’œ,ý³»ªj(Îùó_ fô¨¥&ΨùãIÐrª\UÔ.‚ÊñÙ‡˜vâæR,``„èÙiRŒþìÕbÚ&?-PèÓ”ƒŸ†‘¤hSÝžƒÝ€Y¢kðÍ>íÿ`+ù -Øeµép¬Ï%|yìlS;ÖTÐ=h9˜j²cß×Ì})?ìöÍ«j0äãj&—R*ú—ì¢>‚;NñŒ|Ñ @’ÆYª9ª¡©Öz ýõîÉL‰fÓµr²ß!ŒZµÖl5Á(N»›}Ï“·&C¨$;Þ1ô3?óÂâ–&'5:.ÆÒýß±7`ÐwA€yo¤v"³“£OçnbŒ2‰ à 1Ã,‚ èWqæPƒƒžšAŒþÆö®>ßûþ÷ôóŸÓÕ©fÜ?Ý#õ‚I¡ƒLÒ.VÓòYM">y{àN@LX¦ìöš»©d¥WõÝR*äX._ziyæÁ$¤YŠ‘®ÛíMÚ|‚lü Qxú¯·îxè_41Y̳wÿãÛ¬ç[œK“²ŒWñ"DÖ]dz˶9n’$Ð8z þ0)Ü«£[)õÑ‘o¡ ü2j`á‘·ðÂKËB^>ª‘ -êbâUöªTzÛ*9nWì -JÚÝx0Ÿq·ë‚^/v"ù*j”< èè¨t½ÎEhb1°vkýòß.ÆÓ+ Nô/(GBŸš.ÁÏVM¡¿ÓJð"&F`¨Â.‡ôi¤åt%õEŒþ ®é†ÉMAÅ$ñÙVk0ÃTèÎGlòìéÚôätJ! ¤/³ °½˜DŒ lùBX”Ûþ;†5n8?‰é‚‡ªûØþjú¿¾¼ íöQãÊõÕå×–^þþâ•E,q^¼˜¢¦ù)*ú¤ôc"¥Ý«**“iÀ£»Ñd¯ÏÖÓ¢BpR–Iò>9}“=øÊ^ôOŽO>h©O)X²¯Ô~«GœsMªÿ°5.ŒLUèЯ’s 2@ç¶4Œ½X’~Êaï#æô»qØ öz±])X ì Aëþ0*åéë«?Bö?b¦*8áêE¼S,ê=ªÖ#g"áWwÜÆê2È@°jT¸Ç€e•%v(}Œ//¾|ð¡® û×Z2¤:Y‚9Ðí»EðBeÓz©»ÏèGç¤;wïqkÝ«NÛÆ˜Íý0´x½`í36ÞF¹ FÀÊJ󸉹nLÞ®2åU %‡ÓzÛ[§qÇ70Â-?e²3S Öýi¨¥D²˜DèCÈéSL­¿µ&+Ê×eÒ!AÖ=£(#á2ŒR®ŽbBê²÷+lVtÖšmåR4¨` -d…aL)üп^©w]§¶©ô ½@N¼ë?jÌ=2è߼ٜÙqÁ8|,IñèÐwæö{.ÛÍfbyÐ+ͽù– ®Ö¬Ö")ÅîxRXÀ^`õŸÇêå[ŠùÄÙst6ºJ£€ßà"-_¢¿zÛóY@À£hš¥b )ü¶RŠæ Ü_£K˜®•ËË•ZëZ°(™‘ Ì8ð¥ b5”G¤ÅTñ^RªT8R"!ÌRoÉÀ =M˜ñOÄô8661Öu‘á¼Ð:÷÷C‡é™ ŸÕ¾ÀóÏ¡Rÿü•Ë•ë•8š¶ä;NHEMeÚBì”VT@0gk?FÀš~hvíG7ꇎ8í–]©Ö]¸tþ«Ü£â5·š1ðp^°´gØ­ÖçÖn.…Ø*—oð%£Â­ÏŒ@p,:$`Š«b“–7\¾ÔÊsy1f1¿¼Y*ã†5JâÇN¤°ÛïqÚµH5f’IAB[m¬zÝšeÈT \E¤µ¯‡Kßåz¸—°i‘%¶ZÚÝ -ècz£Ùž;:PhåAìy‘†äß\‘ÅjøÁ WÂä°²†YFQ˜CàóÜ¡–Éô·…±üjs9F°ñ0=|à!ý/ìÞ-–Ä+5NßsïzœESÀ6s•˜Ô²{¬T0¡ÀhˆZî• A%ŒË`1#-g†Tqã3îgp"0o2“䟄²2VýËG7Q†!a:'»ë¼Vå½ ‘;Ïœ˜Z]»nÁªC°±ÆTNØcÀ4'Ìn§€ï«@¥YÙWÓó¦A®N(?Ô0òðù,ãIÀã¿®®5>÷_þ33óÒuZÝú‡j|ñ/¯¼rÓ±Ðí&¼Í(_²Â ¤¼{d¤Áèrˆ$?F/ÙÓàâ2#-ŸÃ’ØÂ 5=Õ³¹ h‹ -k½k°CörÀ„ßó@ÀÓÀ+WŠÇh†² *+%‰F« ü“Ú€Tœ"©ÞPs©Û” ®¹—ƒ°\`¥¡gï+v6æ? ƒµ[ìYY¾yøáÚí·:NïìÇ6œA{ÝÐ ¼Ø+è B¼‹°tÉ¡ª6sF‹¸†€Ö8ô•'m¯’höÁ™¢Ul¿Ý­ì/¹¢‹&Yž®bÒÇb“ÛÏÎ=¼Úì´ooœø™/¾¸¸!ęǖ^½ À =kq/³Pl¬4[mDä Ͻ$¨ææÂ_H~Æ&WäP"r•Ÿ}ÎÀÌ{ª…‚Y,â’®PAf¶5§¥á¥ =ÏÁJ”þF¿—E*=λ‡3wa¹¶H ˆ‘Me9fG0%ó>«Ù|ïž§›–ëv9Ÿ*&,ç²t»Ea@Íõˆ¸(66{pﬦFœLåûáìÁX/_¹qæñù®3Èæ:ìÜ G¸ ð+ÀÚ5Š®ïµÉrÒG!ü·ß…çs錚l–r‡£º'÷¨’7XqÍûžžÝèß}üî¿úW|róÍ2ú‹8‰ aŠ]c¨ædãôÃ1¶aà úkué9)íŸRÇmƒ;ÃĺÚDTÄÈV]±TPšDm‘¹lnIW‹FÝ;%;1i1‚ëõ¹¥ ÀÚ6ܱÖZ£:]Ï[ÝNƒ -ÌzÅ•Íò4îhË'ÈXi¯·?l×ß“¤ÁñJŠ)Yý÷ó2jç s™iå-\{Ã&š ïbÀÐÄŒsZÜ”Öðúì0˃"¶·…*ä`«_3û¤_À±çzL8ÊmXë}ÇÎ[ ¼@‚¾uÏtïÊol4ZŠ„¸i†íŽÃ)dÔ^Î>N£'³?CJ—´(o2Ÿ‰c!vÂápnÁ£ÒCy²™[lZ&S üˆíŒ7=yåƒÎÅGº·yb+2Éùa 1hh•¥a®“«3H9[T–ÑÌtýKþÅ=v4v=0 6Ÿ#:èZàYC曲q ÐO½ÝðzÓ^+Õ -MÞ&Û{Y\S˜¢X?›?jjÙ$rÖí8¥²tq`ÃSžìèÝÉèÿ. ¿{·_Ÿ©-þ`Dõ©3§_"ûûÔ™…ë¯6Ê)ÿ Èñ0úæ©óÈ#å?ð9åi/vîÊdµkÃÏ®"ïÿׯV[rû·7Fÿ¥åF©bÚesñ¥VýPÉ7¿ßZx_ëbâöíÎêª\Ø àO徿úí¤zŸsö;œ¨î­?õr)¾¨¼ç܉Ój‹ÙfÓéé´oÝœ°òâ}×ÈKâ&°ÒÐNÅ.o:øÞݾaÛ’¨1uSú‘Kµ€v~R@0ôdkß|ÉÝ’Ödàƒžfªvˆû”¨¦“ðà2Fd3 -TEÖ23SY%Wðé3ÇE\ëb>ìW8ôwƒe˜®Ï¾:” -b‡c…¡?i\ÜÇO†‘T»®§¥Ü;9¦—òф܋2ú¹o¾VœüùW¾ÇóßPy™Û’öꇓ°0/pÖ#¨Þ¾—v˜à1.6ÄzÙÉ'> -' þ Ì™]ô‡#<ªÁ‰“O-Dº =#›“pñ^ïN»x_¥Ø­pi>gÄ*ô‡“h¨‘-–‹Œeô!p“Šv„Ô­¾ë*÷Ž©ra¹¯rVN9±{¢¤h$@ÖCy»81ÏÚ½ñ8sƒ º=ÑŸ¦1ÕÐ-Žª&Dø…uÿ蟂6Ý3ÇŠ àÁ=3š½nqÌÄêž8$ènÃŽCLf‘à8½‘I4ÞZçöpØ” -;žbAˆ’mrÞ'áÆ-pá­‘Gšç&“$£P5ÔæÙcà ÿÕÅ~ðô/Nl³¸g¦À5²rB­ôÜ6ªpn6©þ žƒ£¿悚¶ýú»@Ô ˜Ø‹n³Øq‰€¾„¤)&=T<*쩸à™ðÄÀÜûæà·l¬wËìÎm§q½Q:%kˆp2çcNìH®èÝ•F@´žbÉ^¾²X©¡ÒӾݚ?ºèï íU ,€€Ô¯Cs²œâÔ“ œ:ŠnÏã?âð8ñ èYxôƒîÿ¥?½'3ï©\ºxµ=ôÔë›·6àäúJûÆu¼épL¯U0ËT²_uVŠ4{²¨Ö-m&2 G˜®–%U- /·Öî9áÂÏÌ;­Ð4Ãòâ¦#Üžoaéà(§¸´LcùåLÒ¹ÜÇ{ÄɬΦ ÆÎ?z¸:Ý£.px9#ŽU–^¿W\ÈY­~öÛ†, G8Å•×!ª$7kÆtƼÑÈa§ƒj˜ÖÕu(nŸIØy}?ñã Ã‘©ÿ3¾Ftø1#i`‚‚¹Tᆸí„exC¬ç@*=o´ìÌ„å2n°^Äl¸` 7IN£°à 0°ý,ý´ö0 »AzlÐ4Ô$ާU†Q¡¨Ãí+ï7¯]÷¼Ùãiý¸ÓëÝóG>̺nÀ‡ô”_ßó±YБؓ’EÆ;çbîç)“/|ý¼z~4Ù™Ñ|KU ·ë]Œþ x†"T–޶Wе&ò/ÉÃu’q†>»ƒá®æ÷|€ Š[&#ÉAÀŒ™»Ûß„ ™3ÄAž%'i ËKöþJ}n¾»Þj¯&%Ìø–üÉ)¡Ø;"}M¤íb§©ÜÓKó=gïÙg°‘ò¹b‹M@)­‰@õ¼AÀɉ㧛ë(ؼ˜D! –8’–½}¢RÏ Uȵ†~Ë,ÉAèÄÚ½iAÚHÓ™#oèEq–—{¯‡!VŽÒe"\vØÇ#+ÉÐib”› ﮬ‹É}l½Õ­>PŠ!vÂcŸÛ6B=âÃìŽCý‡^O»2ů~Á^õ‘¶Ítx‡^–uì -T€fò´h\Àƒx­ õéFcÔ¹éKU–^¿1d;žçþ$\ô”Õ8R'7õšmÉý’Z`3å?QþýÆ› .£[üÞÈ€Z½ºú£æÌCµÔ'Xe -À0ú ʯoÇÌÈö!$µÈƒÝR©”Åy§§ËÝØˆtîôÌ‚¤S†£m»ßÛz«7ûžúâÞ#““·þâüÎõ>7bìÜî•¶Wº–& ð@¡ágJà8í¶”:5äqºø±ëÄ…Ðî@êø©ô8}ºòÌèùØ™†mÖã`˜çú«¼^æŸïö±è×ÌíôõiFÅÁ³4¥™Aµ4g€ÍÈâ–ÈiO\}MßžÜVz|†˜Oì ¹¡üˆƒß Gv›s„ÀËÕœ€Gõ@y­ŸNõþòÕWVà8S'n®{ž5ö¿™Êwà6ôhÙç'¸¾—oú«ÿ!ÞÝòî§-€tç,†þŸ8@z¾3-gÀèd3+ªŽ;zôó IDAT„0ô+ ÞýÞüx^INóÅ 3BaU]rKpj¦† »±““N¾>f|ÛFÿÀ´ºï Ù¦^Çú¶&âÜ/b#åsŸ8óÌè/våxñ¸²xm~îÁÇŽŸb ¯¦KV ŽaÜXÆœ¥;h–ò5Î)ò‡=c—Tà2Pdÿ ‚Ù$“޽M™³ˆÊHÖ`ÎBk¼F²GÏ[NßÝÑ&Ø‹Á,‹þ]¿°Ï(îÓ£’°¡/Iýúcjbâ":rÊ#+ü-bXÑ“¤<òbOþFN(f+w¯8°–òï«>ÃiôgõßÙ¦új¢Íb¶œ­U¦?1b?÷‰g›ë ாµÉDÕ”.7<àB|ŸŠ¹¼ßíöK1á6î†WÁ2`c£[{°úÖMT8XÜwîØõ‡ë æËhóT­ÂÐ2àÌ'{­ëDÇÁÀa¦?|]êÂYƒFÞàý%“h±§g(Óq7owüHJ‹µµNpo3ý í˜Î+m´ÖP¥¨NËkèÿÆ·.̾gLN¸/Øf*ˆâõw¦ 7n¢œB¯ýö÷4ÈmÈbÀJ"ö+Î%ÏðØÑ´kÈÇ4EYƦ¼ŽSöñGé˜Ë`+h1A,€ÁnðÝ _‹Sxwðƒ€Eª³çŒþ‚¤·oL;-±¢%°»Ÿ®ËS®ºˆT×I0½¶q•Ç+"^êÉ(Œ°tƒ èÿøý§?~}nw¤ Àõý†Þ¦ËMá˜S(+K¯#ÏÜåï/]¾¶$î¶ýqìY[ÿÿi(ï3˜¥ÛxÖr_0',û©Ø7—©+Oº 8Å?“é˜qì«wÁ`¦øÐí©z.”ä!E¶‡@ý·ö•¬}¶{wo§¡<ìˆBûɲ‘ÁÓ&¬ÊTl±Óüüùëÿâ_t~ˆÐÀ2àྠÐ•ï¿ -t!>2àÈà ¬ªã'i¿žF@•es& ?¾ _xÛh+¥ÃÖ% û»½&Ûüi€þ]·é z`àºÌ™ù1ËÐå >Àò0.{y².€2C¤•üùÈEJ 0ˆ@ýï¾åY÷í=2Ç4u(sÁý emQ$ûBg¨ ¥Yäüѱ–ÆLPv,ÑÙ„„iÌ·“KR|­í¡à¬ 9–éÏD=xÒ¢4Ð\¸¾j*2½@ª%Î"·ï*7‚¿ÿ{ÿòt£yÌ<0=£²€Çå7^{äÐoÿÎçO?R³uõêc.ü§ O?uöÊ+„ûï?&Føë¯\]c%)˰¼Ç5,ËpBêUŠf05Ë ˆh9#4RÛûnWϰ†æ¦›7”™â$!&qÍâêå•ã'·nuޝã­çž3„Ìnåw–·ôLîóÿý¯©EP©Õ*“ŒÃ>¶í8ïC§{¶G"zNF”+)‹ÂcFO¡ßÚ_ñ]7¸ç¦]%˜˜ã -Ù ©(†„9Àz+L}#çM3GŠÞ²0&™ÚýM=d×ʃzÎzMìíÀ©]pnïdpÝ=ž}ûG~ò™OÂ4*—Nz(¦£¯üÅùOž;÷â÷ÿTß÷Ï~™`ëõÄLþ£ÿýOòDu€àø'‡ƒ ¸ö[Ÿ•ÐÏ—O%ï|³eŸ Š îÑ -'aœ{æ#‡ú%@!Ûí@Xâшé$]GŠ~Ù±˜ôÆGÊvq¤ª.ǧ!ißãŠâ´/kÐ÷õ˜¡À*èÕ” Û! A*Û*ÅHëºA^g·O ýBQÄíD!2uU ÏFb8“uRÌ[åòÉÜÏt÷óÿ¿ŒúÁÙæ­Æ;ýëä~k’œòÓ3r@wÚ½Éý…•ךî¨ä+¯5àØ\•»¬4Yqçõz©tμ]ÖKûÁ2+§›âái­'U¬¶½GcçcñÊëꬺ›7WoÜÄ8êÌôÁö†Tì*e¼¹ó‡JòüQ *ŸGydþšÛÛ±qJ+ÇÛMMãôe^®\“L”GIrœ†iQ’.‚ÊŒeÌ a²>=vuFœ^‰K&w‚E2ö~—~OÞ0@n —ŸjáÃYS1©*/on!k!]W&UûXí -æ‚b„ ƒÓyCÐú}i&:›®²Œ¹Ÿš {JÓÒY‘\6Ï*œÊÏ+ô¯Uk‘ˆZ1k´ª£¼qd3…#ìí®%9iì»bE­sS·J™¶AµVnQUðÇŸ=ÝÝL”˜áR¡GØÞ½Ä2Ë:–¤‘©ï`fãÝèÄ^#¥,r^3å8³î¯@Ç>ýnÎËo`â'Ÿ9@l9È€ÅÊ~ÿ÷—Q÷§qâ8nüÓÿⳂî%?yìѾñ`{õˆk_=ÜÂ_ÅÀ§Ö‘]3°;kÏ1 moËä ¸³ZBáBž4ö¡ÃǰDA—åÈÀÂ@aCXž2ðÉ€•ÈÊ*Ê•ߥŠ9Ì ½Ûr5Zå˜òQÀŽÛ’b÷žŸ¥ÖŒóÐfúÝTíA £ú!5–ô‡l‚Íĵ¤à{¤È&q‚ ž)Ù{§¾Ñ%J`¦Ñ&šÓïÕkÓ«·ÐM7S›]mÞØýök¯b<Æ+~ãùç?ú†î¿ñŸžÿìý¹ÆÍ7§h ½ŽOŽž˜ë»¸7ÞvW^k3oöÚjPžó>Ë•Äsè?¹¿ºK)ö³Ûq°€mI% ì€ J²t8,Tÿ÷™ ªSýJùY½µV¹ßj®¶×ˆÌÔ@&ŒÂ‘rçr#ÒÙƒ3Îh£”;è§sùî¹yâ…äì{®ÃbÝ_SÅ+ähv\Ì8¦)¥®Åœ×ˆ¢JÙ™1‚›úZ¦l:Ïwœ2ÖBî´¹0{ÍÀ÷JûlK±±"Òœ©”,,¿Ò¨½%'ü`UpÌ@nQ5IÜ:XrZbÂèªÒ ê„.p©*ãÀʈ}€**†{„Lg0HÐ5…Š©-ðCî\µZUE'Š…B¡Ù’ÞB3U¨Ä2€4akÝ#&VØæV5õm~H^ÿf!vãw]Ðý¿öÕK @¨fAêõè¸\™ìQáÞYV!^Ž)#Ðß0óý‘”–p'a~U…§‚~âÏI®ÊH}ƒÛÙÐÇÑ @ÑÁã?(}u4бqz \ǵ¨'8vŒñBŸv/Î5»© ¢l‹ã fJû-?ÿé… ‹-«€¬Ÿ7"æ(¥¢$_U ¯ý¨1ýn`°ìÕüPµÿÀÙ'á87Tî&bû‰ÔÿßùÃ/‚ðô)hÁøÜ¯~V½ÀÜNmŸ•™³,8!‡sr`í2:,À}çíw4Ñ东y%â$zN *°LÊ>ÄMi*g›ɵ¦-ˆò%£ïˆc{›A©jÙ“V£GU}Ð2|AÀ7üMòæ¥`uí¦‹É†F"·ÀX5MÆ\¼$²¨ 2M&ì¥ò¤œ+Æe -t:ˆn`ì°h`+Ûv v!(6É Çi‹8Õbñ×fôé/þðWžùµ/ÿõ—oüðƯýWŸûÃÿã Åqñÿ³_¿öêKÇŽžš=8;{ð¦@¬œ=KëÔ8.--/½†e.¿ù[ÿréõ„·Êß•Év<Zú›¹ƒê_µTpÕÙØ™º&ȈY܉4mèuï‹ß]¶q«µqu£w ªªž'éQ¾¿Â”±øö­Qa¯^Ê?q”ŠÅnox;‹¤ t`“ƪr"EÊ—N) ôi˜2ªžÃ¾©l©û’Âr£ þ—¨íä Ö5Iý×Ù"a¤¢xÌé àƒÓuX ÈÔ{ÀcZ)tNÐ*g,þà³(Ñ„ÝÊ’ËaÝßÐe)¸ˆ;‚º¢2`˜n»Š®&ñŽ(õßí9SÄqÀ9,Ƥ)ìý:Ùs…Ë­µ 8ô+ôgè·òÚ[dUƒ`Ž[¹Þ]Ge4ª€Æ9Eh˜^gÎÌÆÓ µÍlìR4 3Y•ý!W3’_$6øÿi€ãÂÊâåâþŠÂ#Õv÷¿GŽ0šÁÐËni܉ÉÄÎîæùä4Êø–¤e%iy©0ÖgW^_; ›<í·’TŸÆzâçY8±ò³O<~ö‰3¿ößþ¿xîÙßýßoÛGˆ.éHÏHúO¬Ðã®:aÀ1Œ¾Îç9¿éï{Ê‚š©™¢ Juôô¢hˆ &­[o÷JÅI3W**ÅiÛ%ú—^z‘ïòüÑïu¼E©‰Õ©Jç.Z¥`€Ö˜åϱ -pÌ¥o‰¡lµno_¥4}´ª„©¥[ñëFc»î®âA¡¿ÄJByÞÒå©iú,ÙU‰žÛÒ:9G“ -wú)ƒš?¸‰ÎSJ™rCÃk¬‚ÔeýÅ»vÜò™OÐ9ÒH\øö‹€O~ø¬zM£Ù®×¤Æ„]•3ZúrÒüÕêŸÔ‰@ïÿW?I¡éÙ§“¢©ŸÿÚóü‚K?¸ºð^t èô6>ó?¹ãG=8sùÅ¿öíÜê:KnEX9X ÎNÕ0òÃd?3µÃŽ,[;§ã²‡M¤¨=EŠ%tj¿Í/ÀW†RkqÂ2¬‰¶ûÓÍÔq/¡ÞÝØÿ¶Ï\^nq9¥æ,‘ !aA`Ó•,ň|Þ ü̈‰B·åŠ”*Vw}àöv&ub.ëÆ[+ÎÝÎòK_ù‹/ò™OÃÉsçÏÿú÷ê•€þ|òì?þ?þÖo^ú.VlœzüƒŸÿÝÿ©E–ÄŸüþ“jß¹€¥ì`ö㬇¹Gçk3Õ£ï;öê÷¯ÁÑ‹E¸ùãë› ›Škpâ¼! @Väáí…‚Õëí¡Úó¨ÎHß}kµÃ<×[´]øù€þb{}q_>¦P¶EÊ/jŽe¹Ž^LR‹SGH ûNZN CGäñà匀~‘ŠÐp YT­¢(¤û}ÂT ²]§ËŸ™¾ß÷ÈŽÄœ“pËú×»qæ 6 LHÃüwä_¡æhñ¶2¨E #UH% ¼9ÎÒ‰]:ŒT’[4ÇÅ/û cÏ¡t݈k#!ó²ó¥¼#ÛÖ6d΀sÛ.U6×yéI #΋¤û'©& ™çäÖAvÊ&É~P • Ú·O•&\ùX)•6:=6Ó‘uß š­n¡ï¡mAr‹# -#yýE0¼ÀNÁÛOä\—.‡YB‹°œ¿+@,¼ÿÁÅÅ¥…™@ŒU®.§N]#ÁBÎ0“^‘Ùíî¾çrv¦/Û;P4Ñ ú™¦¿ ¬vWqÓmv4‹¸3^wÖQ…1„>›üB$ê?Ý/RÿI‚p¥Ç°é+¬Ó6A€º¦Rè¿{|ô#Øs¹0ž?÷q<9÷ OowãàDúÃñÃ:ûÏã7÷wÄ ßº0ûÈœz#»º5Òb›ªLrÉŒþsÌýÑ¿ý" 89B±ßC‡Ðuð~ùWø‹ó×.¼tñ3»~ö±ƒ3•³íõ› pæ]WGîOœ>ò3übÎÎc–›op$Í’Ä2Ù¶% `Ýšc1WŠ -ÖAŒòZ©÷ÉëËÂ2xö ™›Å“Ó§ðþ^~ù2þüѼJ”!`,¿¾Ü¢†B§îé_{ì½Ç*åê?„>@é*YÏsÀôßuÓ’ám%>ß©Òd±(ïTºÍgëm´DWo"Ð7Vâ[”šé¥¸ÊÔªV¯L?TñîyI𠽆·×å("5,BÖ…áBx³Hr`®ô¦gŒ±ˆ™Å@Dœî¼Å:˜Ý¨p€î Fá€2|4vóý4×ÖÁÀÌú@Ê.°(“ÆÕÌN÷Ý8çÛwåž²âà‡j>Ìè?ÜòcÙoœÅ -I1-ýù{éD¨¦ÇØîáÊÅøíÈg] -V²Ók{˜´Ó÷Ó”™fR8Ü,½CÙžm”LÒ®ÙõÞ€TPe€îÄ€E¡ï.{Á]TMÐN˜Éö#||1£ô‹"ˆØlÞ'BFc,Ä»lyytvFتŠ. ¡¼ƒ•d,'€þ þ£Wç‚=”¥ÌQÚ×ä¡÷=Ùõmj›[)®Dè÷%¸øÌkl絇%} 3ŒY,TÙ'úOt=VÿQ ÷ï Ü¥ûpÑ2AI2Àß -àadñ?ÊoÞÝd:{XÖÎzÌþ_ÀC‡Ì:2ÇZ¹Äècjr§Kg÷ àŸÿ¢?œìvñx—Þ5pùØÓñÏå7–ÌÍ=÷Â…ÇŽ‡Š´ h=q½Ó˜?öÔ…o~€³ÝÑ*[üOýº%{úp¬¶0l×7Á%¾”$Cz ¯¬K¤/°ìd0¶ HÙçsÂ,›y‡YñoRj‹ž‚Ïòˆ ¶@?[ ЙÇè¿t¨#€þ 4¶D©g€¾jÙ¦¢qÊlq†þô´8¤qƒ]ˆjYLÜÐß&¢BÞä(±ãoó¸èä÷w{]x¨È3X~˜PVèy!)¥uL}4ãŽ1ƒ-Ô$~îpkõà> ?SÕ -|×£}dHšHA7 -‡tý€"„e²ù¼‰¡2Ì» -µ +¿éEè³Ã²̸¢‘x@•ÇŒ•é›!X$¿9æŸ ÃÎúÆdm†þÙä:Ô¯G‰FZÛ2ûÉ7lln$ÓÇ¥Ï;W˜DAròøÂÉãÇgÕËÛ»Áh®·MiªWTÒìV/^^œ•ý¥×–?yêÜ3¿ôâ÷®€•pþÛ/ž#³@ ƒîÉRkƒB“Ü‘ªuÈ ùAÙã·®¾Ù8ûþ°—g‰óÖÙtNã9TšT¥¶Õ©¬®·Á¸öÚc¢®ªR»`aÕöÝaV³}_ÍëW{wnXÖƒpÄŒÀmµÌFÁaûp6žó¶cAN‡l )Hê-zå–w‰§z$ÔöµÙö5l·¤g sB“ühv…­à´‹aKpŠXšVNfÁê´:ÊPž,hYÛ`!…{o´zk½V­,«B`Èy|‹ñØù±gí3; „ÄÜ\ðqýŽ[¯ÝøcíÓKeSŒL‹\¦™á~¶ö>ž]ä«¡Óuo5‚{ñÂpaŠÿ÷d-Lžÿ‰cŸûä‡O>z²~pÞ.UįŠwÞ0‰¨ÛÉBòœ$.?‘$T§e^æÕ«—›ƒÐýÍ  -¦f2L™¹}ÈÏ)ÝW4÷™EËâîªî í× -zý>I€Œã«{Çg&gj&-dÚ¯ÙÄ]Æ›¿Ûïb* c×qóqæ¨y³yH4Ñ£04Æ`QhØGÑ(yåÎK¥ÎÇwlb3ðB-Ò$ú紀؜ P¢CbJòÓö¼^É¥ªé»˜±ïp‡SÒm ÉíªEX‚#80&­j8F[ÂËHÊ#üvöBi!—tÁð{¤MX-ºfqŸ¸3eÁææt]Ö͹¡Q Awýòw+SayÒ¾tqñð\½|À’”Â~à†qe–i‹Ö8ЀþìÒ†ÿPë74ÇÁNË”o$"«ül˜ƒ”&V …~Lì~1p}t4YùšŽ„ÑWS„\a‚¬ã9ð³mìã²/ ŒôÎm: 3¬qÓÁ'fÙ€cHeqÒ†…q¬­Æ7&ø®(Æ/ÁÎ-ÞòJ­¨hH IDATôõnÏ+öJšÅl‰˜‡ª™Œ6ØÂ›žSõñÉà”ü(¾!‰XÖ |Ÿ¥GÞ0°"6ž‰û)Ú}FKöú©ÏÞhµ¿ÿx¹Uü]6äO1ž~•ú~ðƒ‚ÐŽSiÄß•ÓÔäâ¾hÝn/¾º´ptöù¯=ðჳ‡¶Q¸¼ðíïÀN> ǽx~v,Åv?_¿¿úÙ¸7ì—ÿÃW>Mg«€H™fNÿÒ×/ÌP?úW—–X¤ðO¾÷ø3qù×á¤P:Ðè;|‡ˆó‚Õ…©W刜qï@8ç M»6?ñéÇÄ;¸±¹Â ä €pC ¬pq.6§îoPú9œxqÿá¢m¹÷‚µÕÖ´$hÍVS&½5ÑïW*—ZoµÌ\Þ¢Ú%8†q^­V)×Pðƒ P—À NÙœ‰Í¸1—×l®¥:¾ï°Sì’ ÐoÛO<öøc'ÎÀóp²ôÚ~ ȧÛFô‡qãG:šŽ-TÊÁ ê|¶6{áo%“9{>ÿæâ·î¥$妽î4ãœn3n.].‹6‡wz)³y}ÊÈÎfp -$ç¶¶B.ÁâUCpN Dg¾í‘¬ÍDCJ¤ºtôsaªWMñ€¤w„w)¾#Ü“¹áà]VAŸ:¸¥Û· - â •Me¹Ã¶É-Ýq—Uh—q¯cA†#/$™Ýà/=b„>±$E¹¼ »TY5,¢žJHѬþi²TÚˆ¹<{•#L™íõN»Õ™_8´LÄÑ'n¡öÖzàãËÅ4çÏ`pN"ÍÊoc6%TÈ¢ý!ŸyÿÙFá}§Šo…JÓ¤Z®TàeHJæ2ºŸ|Éù»’é”L¢" ]à³eÀQž[å¬ÇŒQ6Mö †ÊîÓ©—äÖXAD­/,.€e|’põ÷ÀÛRÑ‚wëÙ!J à;¶"õòX x˜ŠK^…±PAN…òŵvŠ?c[ºç»nѦ[ãé'Ÿþ…§øäCO>Éè/ÞKg÷`ô‡ñÜ ž~ò,ˆbö©?2àæ›7ëKK¯ƒúvÀÁ÷Ì>ùÄ@ÀÑüIc?q\x•Ðù#sK¯/§Ÿwû¸Û[Cÿ*ýÂk¯-í’ à¤xßlóæó|z·Ó„På¯ÌØn'èõÜ~ßPPÅu £Jnœ"iòõƒ£61¼—b7]÷ϦtaæõèçÜWŸùÑŸÇw¾+qÿê’ ˜ç’e*ŒñXX±¢ãÇOw»­ËH¥@‰z¤ºú J"¿óŽ› þ÷h“ƒPÜgmÒeNL˜Ñ(`3¤¡è 5—ù-ÕêÌŽ'’Ç:CÑ?Å0“Ò°PË‚¢…ÙxI3½CÊ”¬‡yÆB§”¸‰-ÕƒIUK¥r‡°R£?_{)“ ø%Ò½4È2⹼¸áIèI~Œ-‹PWô ô˹J ×A?(9;Ôœ TZ|åZÁ¶@óXþ~£2U†€v\÷Õ?Ãû÷åô™îàEq“TЙ8Ó”®ÃÊ[á8 -†PSY䦲z-]*CšÀ\ˆ3É¡{‡PX–×uÀr‚3²ËÈõÐÑ­¸Ø`Í« 6†(,Á1gîøÄ'A”x™"r©ÁaÅ—ŒË’c–^À¿ -dVeªÔ^ïVˆdñòuªiœVƒúŸ§]Ÿ c»L¤š@ÌÆÉ&‘hyJ´g¿0X‘\Üv‘kJ’µH.M¹(ß ì€2éÅ+¯\íü¸eXré°_Œé£ ÅJ­V?xpáÄcÇß­ÞŸýX’™óÓa>Ž—¾à{ê} ——N.Ìצ* ýü¯_ ê y•E{~þȧ) çå—¯ýîÿü[/œùÐ ± ¼@{Ž=ÕÿÍæQ€¡_}3@ÿŠÎG÷z øÙ@’¦ÅFÀüað8½0W;øÈt`)¸±êµ6؈•ÔôÿlÁÂñÒ)ü\W"b¾?õ^ŽcÀ mÔ_Tœ4€~·ËÍyLN=†uV®¦*Ns¸aÚ婿[è1Ð]wúÙûƒng Ͷ¨üì 8îgí3¬}º™“Ÿ`°™¾ñ‰ýD¸ÿ÷`’«·ä„ÉK ŸeÀÚêÛJ¤Ù:yœýyÔ?ô1ëƒg>ÌϬÝFñ¼pü4€ßÿ_~]½’¡ÇØa0ú×¶GÂ@ €Šq¯É˲¤û¤‚Z娺HÇݸ—²Šþua…™ B²¡®” ²(Ðí[íyj¶ úc—ü6FLö ϳk¨ë ë›ŸDGgU’®šÕ¶-~lÐ/qÙÀâ^úÁh`ö¢¿†å¶¢-¡3ú£+B„LVƒ=,†›–i±Àèßl:prö‰S—î,‚ 8|•ú¾ãI\øúKRJ–¯W«õÚLµ¹Ú‚#€•eY°}ìxÝq]wTÔ˜±3 lScèÅ-“Á°òºÜ>t®Š¸"ŒÑ?Ä()ÇÞH¸úIãõ`à«soN²Æ°“‡*Óá¼,ýééÝ“©S¾k˜PŠ¢“V×ýùO® -æú#…þ°+×7Ö»=ˆ†ã±Ñ¶ƽ§9{5ué͉4ÙꌜE^ßEF ÍVçàÚ¸|WR2à‚šÈL/Ý|\a£)Úä!}ö™Oá;¶ðÈ¡ãs‡á˜vã¤q½»I.¿ClE‡fч㠽å×–çƒ#,Á§>òT(]Ç)ó_ý+ä³ëÅî¦Cg?rîáäáÙ‡é§z_<áñ÷›·a=¾¢apt.©ð¤ PÇŸ’IõLŽ`kŒø6h¬å±åóÓÇP7¼ðÝËÝ çê+׎;–7ó1 ¶Tçùü¿ûêáú<Íïò‡¬CC ‰òű‡gfî/çêÒñ­ºaM W¼´ÍY CLQõ¶0NSœÀle¯ï žBM ÉÔ&3™s¥‰4Â@ÆDìvo⌠Áf{$T‚ R(⢩ˆ¬c"ÎôbžmßëEqjyÑ´=±æwn»—/]vï&Ñ0ÃèÒJÀmìeÅñbZf¸ß6Íb×iΚS£!sÃÁÎ`–»{¶^)ËK×®v6œ³9 »éy9œ2Ä_ÃÝ”â Ðo&ØxŠ4E[ ¨ûc4i*|lp7G ò -#©Ì”f÷Nc†lÌÕÛ‰øüÿö…s{jæ!é·àùo>ã&úÊ—ßl£ïÑù#í»½sAWÒuø§ÑÐÿ¹¯?÷0Œ‡8û~\aõû+Õ -~þÙ3_¸xñÙ}8ýÕ¹=3'âìiBúõ œZ°øýWáxäàƒo ÄS sÓÓÕk?X†Ç±÷Ή]ãƒÇçAt;ú¡³v¹îtI¹iGƒè XºœPæn$yü¹} -CçHpo/Ü9©k ÜkÔá_ËÎG®é¹^D™vÒ“+5¼¿Y °ÏÞÞÚp‚ÕDðTª¤ÑO0+‚5u¾  ª^3ðúðð<€A¢&Íåýai9“»² ‰te鞃9'x¼øb⻿|%éÊà  Ì"áqâýl_âo~ì}6¸x ßûOÿ –8›I´te¦ÆÄdê«©º¸ël#g½å¶Jõ"U´ˆÝ´8}E¼ö©+2+Ó¬xª¾ƒpÂR™1”Kn„Un*AžI@m5Q™ªJ×sŒœ¬•áÌlö¼«mm™Y¥<²fÊç*5Sgòýùqbk`|4|CßC')š„Ÿ~´~ÜÇhkT9PnßÞ¨˜„gÖÜ^¼"mµ—.Êfî+oPNÔ¤59iù÷¬GM¤3y 3ÓYo9w6ºwÞæ'ÍœId¢Óp|êƒXAsæç1·zî‘„üÒyçþœ»Ç•Wç,pêÎÓOžM[ç¿þ¼²ªöòÅ‹ û™?…˜Øì€iêŠÀúèÜáƒá!ÈôN_º?Ÿ€¸±Öúܧžþ‰¿0^å°‘â(zÊŠzöcgMd€ô»¸&“Ï/-.ßqpŃð™_Æg°|sÇÿç[R{ýÀñù~ûJ—ÍFšJE¬Òq9G„dCùØæ\žô(ﳸÆ)P¸r•‹~ ™¡ò¾ƒì%—PF)ô‡øpN #1  ˆMì­+°óÈOHÔ¯w½®e–¨Y¶¦€lH‚I¶×íÄ×2¦;qž%“¬¥Ç™3O>þø“O>ñ©ä©X _ZF/P¬þËqâØã úïÊÅ$R|2‚ {òÐiº®ªdÔoc"1ÌÆý,¾ÃŒ„ubÀ ÓQÇÕžB•£Å5øŠk û£iIGkA•@º ŸówØ¥ÌÌkôÞ¬NþÅÜ)ÈÙÍÕ¹¬þƒˆ¸ôÄ—¸;ªcjÃʱ儠,à ‘zuáõååò}åÃ_ºsézì”G½ž2 ž;à^~¨íœT4ë¸ÁÑ$÷bG\ý ÿü±Ãð˜0ÍMÚ ›¯P°0ÑwÊ1iЬ:XÊfAVZ9=W7Q -<׬  @° oϦê¼ZÝnˆôsè‚I`"zzvìpîSŸÆáDIR=x¹¤øÃÿÄ´(pËÉçÌ1d€~6@ó¶<åÅ,€zmܹ\ÂŽÎèyU àH’ì&0MDý¡’àU¯›Xµ]'ù¡èÓORõµOýòÿ;÷±§f~°\*Ã=†czö7ï!èç(~ Zóv§½ÑZy³qøà¡Cq"¦“*ÀùÎ7¿ú;hñæX[¼vÛ¡×ÿü¿þ|ú3§¦ëÓ÷WkÕ)8˜®ÜltºÎé —.b?ÅÓ§šžñ‡PÏþ›ÏþJc½Å­ÕfÃÏg£D’eÆ Ý$&e1àmt——¯ƒîþ…ïœ{ò£ÑˆK|áiÓjÙÙù“ѳ™,ùîCÎj(O¿óò•k?X:û¡Ç/_½º´²ìM׎ġ…Ø8}êøâr£Û»·ôêÒ…—/}©zÛëÍvkÛÊ—©»½'êëQ±E“L¸× - '„YV éø±Ý3­¹˜03:Àü úìðeO˜ ™T[GwË·FYñè£ÌhnŸ}Gš©I_:g(e;ô£Ÿƒ-áae6 ¯Šj†êG¼A躛¨ÆNkLÛ–©•‚0îŸÌ,S¤’>i‡;Ô1Õúƒ>mÈM?JÒŠü}f©*›‡ÀÎÒeV‚;ûðìü܉ùGƒ#ÜSbfç–òåûf¬|{—“ví4„že/LôÒ dºˆÈ‘‹eÉ’À‘1Þ [ 5TÉ`x,*ÓТT¹ wà ߧy£D¨s¦e–ý0¬Ôu,qÈå»]·XÑAùTÙdjå^¯×~{^Þéô–—׉±wyC ã@sõø]ú¡Ù -MÕ*½Óõ²^“X`ÑÁòãʬY–ÉÌ4pd–_6ªl›I©“霯ØÓt³:]ËçÌNgS÷I&¡sLD¦èŒYÑ™º‚ â`½ëpK/k¤8&Äã¬fâ>¤Ò='4ʘ ŽaÖ˜ -³Â.€u‚}¯ÑOŸuØ–qZê§Í13Ÿ-ä,ú‘`]…‰º‘ÐC Χ´ ž¦½U#´bk¹Vsˆ˜PW› ÑË¥BÔígëµ`¹åÍíÇU׃=&œ–mÁ&š*áÌW`‘nŠÖæÓ3ã,ÜÍa*á±”jì:ÃòÔxí7ØòLY\}¹# iΆ;ñ™MÑÚÀþWþ.ºQ™Ëä±YNKÇ*ò†ÑÅp?~o\¥ˆ]H¼ì8yiãmgrÿ®‚ʵË6¾`åúÚáCÓ•Ér{£S¡ëlxö¤iSÙç°³•Ð~»]¡4§6¼•ý“• -H…ŽrÍw➬ð&g#.¤7}Ò´xuu]Y ëecN™¡$ŒJ—ªàÚÎÈe U=0Ùº½ÑºÝÇt½NY1§ýv£™Þ«‡”ôÀ4îuÕ…Š®žZÑm©¼˜ýKDÉÙjõtÙÅ€äîí6“çîò½œ¬Äf –õ1ÎÖCÀ,çŒåR•ç„þ'-Œ‘X"²‹\öO$ã‹L˘Ù.Ò¬ZOŸ,¾Ðt+ð¨YíDt6:×—WÔŸS±ûûÜÓOƒˆ=÷±‚šoËšH\:€û;2·oHZ[{WœÿÚóç>þ ýo¾¹Çç¿&̸Œ€úLÑ_ˆ§à{Ï Sz@\¦,{'ß¿º?'„½û°â®N°m™Ä~›º6ëþðPo¨ƒ¹ˆiëw~ºÿ0þ6ªO^^“¦î‹ß½ÜëIÿàâë×Óol,/Ï•lM øƒúŸþW°&÷OqÙzk@¡„ÐAÐË‹Aw+‰Ì«ŠbôEæ0rƒ)w£@QOcAo*ÏŒu6?½ØË±#'•˜ÌQàGèÇ0ÙP)¾/‘«×ójµóÓjöÖ›ý©ZAËz˜¯&MèT©RÛ¿ ÆU£sþͽ»^1ÕúÊ*š*OÛ.€ ‡ei1ê?~Ž/Kä±NŠ´ÚÁ=œ%¯¦KvË ô`¤Ø•§åv¦Ýq{‚ƒqwk˜«Àsq3o‚1¹°É~™8ÈË’®!ó¬g¨™äsþ“ë!8å·½Hf;P=ë‘d-H¢5Š]™JÀå· IÃ.ï+™½j€þ+¯EÒǯ\Dfí¡ÄÓ5Y.‚:ê#€¥7®Ï?²-eŽYõEÊ…8ÿè¼xT|éO¿zö‰Óü Ez%Vð$À¶ßvÌN·aH¢nàsþ ÅN³qØVƒ;9Ì*ôg޶t‹`X–d`³Ü?yº;è:Ô -ìÅlˆb`Èam^{^zý«ÁK•<âÓV^wúž]0E®è1‚ 4ŠÏv€ -Òbšæ˜Å[ í€ R…ßä?À(4o.YI˜qÁ¦ðcgMEФ -“V³¦ÇNšü6•‹¡_0ú“úÏz> Šç^ÞôÙgëýáÏœ}°žýåÏ,/½:7tî½ÇN>ЍzŽj¯~Ê«ò}RªkÑ©Æõ xÀÉçã”üë¯cÑ ¨ÿ>lŽÏÆžúóçÿ -yüŹsŸ €Ÿÿä9é J=È€ri§Â’îC èoçY¤ógöþÐÙÿø" -¶@ ìFü(n/;)ƒÔÿËË(™ÿê?ȦÊ/]µ½•ÿ/mo#GšÞ‡½]ÕUS=5ݬb›Ó;³³ÛG.)îòn5¼½£vuôêhÎ^[N²‚9²òGmHâÜAÂŽ'g‰í Ø2r ErdÀÅrEé´'®©Ûãìò¸;G¹½œa{¦YÅî©éšª®š<ïûVõ ¹’§X({ª«ëã}Ï÷ïô‡,X¢ð=¿‚vCCuwB;€°¶Ú^gDê¿(ùµ(I%®É¤cJÂI³”éêD)ISžAV­p¹dœI E91õ!åqÄÞÏɼ(ÆǬ¨ÂÖµµÅEÀÚZ/¢Ôòþ…éàö¢T0uL¯ÜêÚ)¼©úyaè×èQ9¨«Œ ¯.’Ñ?Ý?ÒªJ–¡_õ RþŸ´¸€IO¬ˆ€&®›ÐÂZ ã'ß‹4ŽpFúF€C™u Ê€àšRAÖ·+©Qã] †€¢hq1E‡^ ;“b -ÙB++2@Ré‚(U”.˜rÏ™=—)5]¥ õŸê|-d̯9’öR`kÏÞF—kאָüÆHƒ‡£Î<ÓÜýÖºç‚î?|ÇÛNÐÏU™×Öš/ü½`à[îxZ4]<óM*sÅÿæ{·Î¿ §°–Ñžê7kËœr¤ª‘‰zFrÒÅDÍb ·Œµ¯²¥GcÎÑTšGoÆmg 0I£qýBlývîÍ-p\„K´ñ*š3¶­’vxüË[âp9½~]L?'Ù;@¸nŶ¤“#Š -% ‹xÁ®„ù5 -Ùû/à -ÐYÀ0èctMº-ÝÔy‘±±Âп¢¼8Û IDATdmÁX;`hºwÓê,¦ýåçtE,J½ãŠ¥zù ¯½ò2"ÎË?vñü'ϵ¤¨/m†FEX^=öÓaàãÖQ–0±Ì#¢6ft ¯²Œn,3‰xÄyù¥•ðÿÙ8Û<^ùä¹ çqÌ­P èõ îº³•ÿñ×óþ3TÆ›'ZÃÝèouó(ùÄ2¾iÌÏËøbðÌÔAÓ(´ÈPÓ䣹0kN­†üÝŽYAŠ¥ò}¥Ê­aV €Âk«ˆû?ù×^ûçÿëo¸ªQù ©® -Úzh.‹‰¸B¥gwºëw?¼7Fu‡º6P¦Ú;Û½ö‚WŸs™Øs43´”™Ñ(Ùõïz¾ãó^¼üWƒžd¨¢¶\†°æ†”©âRsžÎ³ÏNKTYéˆPuåŠpËͲÓp²,5*:I\Àg0ó#ÌÌTÇ#¬n»¦a¤yf6M¦L-`Rj"whâl0«±àeÝ‘ê¹ñ˜h)ÒþÖðæê&ËÜÍÃa8¥1À̃,ÞGQš+Å"ÞϹƒ¼@3·L#cÙ€t­˜,$CAñnR÷]ÃâÇSƒ®Gá”ü¼¿µš5×]ßÀIÚ'½Õwî,œô;§ÖÞ‰['ÍfËÛø¨ß€2'¿óo®¶Ú^°ÿ‡?\«¡’+Ëò’¿ü äÞÀœ™ªdJˆAšVmÌm£Q«VâQ„1’< F½y~¸×Õ&T8ˆÂG¨{DÞÑ0î9ߟsd¿OGL@1‰'–S­yN4¤¦ÜŽ1‰Ç»Øë©Z+M´9"¾e-3”¹ƒmìè &ÒqCÆp=³3'”ácͺ¬§fU^4¾Ô -Ö†¥Ô0@(Çñ0k‰} uÔºLdjJ@Æa É}i.`ʵIáqêØ6~’"MrB…´y–€Å…Ù¢ð56Xm¢&¥±¸jÉÆ9Iš‰í]Lé4#1#bÔ» Gô°’\,TûNT"läU¢•%asƒ{"4A1Âïj -+؉ÌEÃM“ËŸ÷»k›q;®  ¯þÛózÀûè+úx©˜NI~Ö4M´œ™Ô¦Ê~ÜŸätbˆ¬þüò¥W¾ú•/ýüßÿGoüMt߯~íëßøæë?ùÚæ}”ogOµýñÈϽ f&¬4°ìr>8OB$Õ5¢L&jÊVˆ˜u›f13‡õ5¡FLBÔäWŠî˜W¾sí«¿ô â ¬×Þ]~íTm®­Þ,9#r:7ޡӦ6ãìln;Í®j۲ň»7ú[Owúuýc*Øsˆ¶)Q€å**…~„;·üg`«OËrŽÙù)Û3âzz,T=(ˆƒÌŠÌ*CK…ÂtØÄE«™Ymélt…ÖI–ë5‹:ê,G|Z pÁÒyU÷-š-·yÂ]Z.ôD ®L܃ AÏ@´¦³Ë±+ñ| ÅûÈJ7æ*h/€‰£½XËìs§K]Nýy_n[ÄU©Å ‚^YÉ8‡YóÊü%¹RE®û 'ë v|²Õ o³ä½ã.F‰²H0½ÏÂö.¦iq"/Ý5j©šhžwÊévÎ æ¦#‚%1Lò"=ÆÐ)/ƒmÉнÝïœ!5|õÖù•³ú@ÿ­Á‘Ý~¯+ÞÁ(Ð:éÁ3ú|\Û^96²6û²«X«~eÍw°Åy½2Lè¿ìœ=uÀ7ß¿ê5]XA ÎŒ¨Ì¢1×(w}˜”&—+sRSm¶+Ûpš¹ÀR<ö”¸)Km9òa¢ÌAû²du_úÜç‚°«[ò–Ç?²8ŽcÖô™w]vàÀ~Âòe±¯•³nd3¨D…dÌ xÑ¢Ä*Ó1ÈzÆñ–!e ³¶d*~ s1Ž4hó&=€þ`¬*´kÅVP_ ¤Ômˆ8x|ìv‘¼ø#ziºÌûÖÕï]ï§~þ¹¯Ý¡g*Å,:ÒD—Ý…¬nKîf¡R3§ì,K”E†5Ìë\1P'ü؂ Ÿuÿ‹Ÿ^ô;a¸¥`èçE'Yb˜®’™z) ¦¡æšý! -*§^´T.Yý˜A¡2á ¾þ»ß|ý¯¼vùÇ/^ùãk°Â'¯\DóèêuÄú·‰ÀÑ_<‘›€@ <„žŠ*Ê'Z. †W—ôƒˆ©ú½¹F¬Æ¨­±i¸ñ¡³è®}cåÒ—½ùÛ t9=d¢“U‚¸oqH»–{(ž‡TÙ& É1½kipЇƒSw¤ó—¹ŒÎóÄNëý#…þg^h5[w|±ƒTÌ¥Jƒ›¿c VPýÙC˜o9çY ú)¬(;²;Ï.”Ñ?‘a "¼Ä,³#ä÷§}÷˜·C–>“nf¥î†F)ZèOÌ̧ýœðÆ‹cl ÂèäKìÙGFtâŽC0PØÕœ¬°ƒ$ß®KžüœÑŸwˆþUÊŒòï2 “ ¶·×ºÍyï̹ì°à…HrvnRÛH¸œÕ8,Áà¿‚úO_¯µÔ'Nɧ¬9M›Í†N—$²¹Ç»y±Øe<ÊmÀ2àÖÝ[åcýësuÞI©µM‰7U§zTàó7¦´°C‚x6%GØÆ,{Já{ó;ß1g†çž;Ç2@FÚiüc¼-é®ÌšÃ µ?Ò=¥óËD;Θ@I@׫)ÉØE„̸Y)ûHÕ5c·hÊ€Àßñ,ý~¿e üÉ ?œ'È]k®…7[H}lH¸ê¿wB~꿵ÜêL -Ì„þõ:ZÑ¥áÙÈþŽÍ-AÐ`H%o¸ªT¬¢Ó¥*AžRI|*Ѷ™ø8måkÿúë°S[îì“o¡ÿ Åh<ø…sßsn!“4F! -€QqÇŽå8vÉ…t‡Ï Flßú~—Ñ_Lg§|üèˆ0¢Ýlµ¯þÁïp6§àœúª]õ€þÝ›« šó…úO×&§ú0ÞÕ]„à.´ [Z×N6Ç45ôƸ0Äs%_tê ‡ÜЖaF@p£qÊê?/ýMjAÃÙ‰ð¦Ö´l~6CòY‚T» êv‰ƒŒÐ_¨6R<ÿ5_ Pÿ[Tè~¸õùéßR -Úã -Ýù¾hJÎê“,c¶ÊCñzw)&Â+Ó Âï=¦Ð”:X„þ¼G},TG{r£a·Ms -¿dûC) RÝ—‰·X:à #8Ò£”Ðõúg[Au?ì_þÂÊÈs‡D‰Ðºÿ`'1pý-¿éÂN¸  ØÀtXýu3q¡¢#ÒèQÆNw@Ö±Ó$iT¾œ¡t4‰6†IÂ} -Á· û b`aô׋?ç°¨ÖþþÜžQ®¶ñ®ßÄá’‰E#£·3⤦4OÈeа«u -2ác\_Ç‚¾Æ\‘æÎdˆrü£Ñ—³ÏF8æ\&)&hîËJ`ZÐÕ=ÌŠ*9;UÑ¥l,òèlÚAÂéž`D×Èb@¨ü0¼º×íR`Ïu5úórú‹[˜‘èÐogxö( -G‚;e*d5DÿÁö¾(„D•% ¼Ç4 E=Vi.ÛiæyZÒ© Í7Ç`—u/¹ÃÔœ™öF¬ºšØ„&3@ËNÆã=‘Í8hZkˆq3ª]‡÷þÕ/`b@8Øvgª²ë¼4ýìRÉu4Q‚ç 3³¿¶WÖéKTMQ¸Å̸w?ÀzálG;4c•™¡gmXqÞ½ -þ?ÿÍß^]½!vÃ01ƒ~oôÁ:<"wµo3I– Ü#Dr¥+áLŒ[sºß¿>Û¸ì`$3@«Jð•Rcf׌ ƒ€¼19&ÚÏ6`;Øé·ÚKl¬Ø3.<Æô Å©Rw\î›Ú¼´ÑÏŸ9;é 2§&¹€N!‡©gV3ø•8æN{¿O‹R‰ñ~+Øq‚'<Œ'êöCOxX±‹¶ŒÇÊa¸Pô¬!™„¨8âý$ 4§ÁðÑPA¼¦óÞÖF*?(þô»ä硺ЊÁìíCÃæ®˜ð³n‰Ò<±“†¦C| Á99 ¢42-vYLPj»ñ êuƒ»Almõ@ÅæKâqèF&b•z6ü—)ÐOi?Ê•}§5‰ ¼GuGÈ“Ocr8$Ût2v‚ÖɦaÄ Û¹cÃtú>Ÿx7öæšñÄÎÕU&WDd­ôÑÏàŠ¯pFÍ/BÜÿ6lZíùÕ·W¸O[¾òïVÏ¿Ôi=åm|°S©=ï ·‡·ol²’þÖ¬ÐÛ´iê“£Àš³Îw:y¥CTÈn4¢TojÏžY±,A5Îp£$´]¬ÁxÕ%ŽË;ã< Mì -ÚœÑãµ*ªßœ¨’ôzIcÁô“ñ®Ô±u¦Â5ãq DÈÝÊš?€Û­¸uÐ…3£êŠ*Ø·$Mw©½»SMÕa³u[By¥–ä™; 8­“{^1¶‹8@J5ÌhªP•…ÀV31(¦°Kì)zÝÅ…Ït¢ýÍÓç™™‡E80ùr ï–\8Ñ2®œ‡AB)ùèT°¬†Â–„pǦ/XÖ:ã.Q fØ< D0©½š GŸ뇅d]Ä(%LëªL ó׿.ö…?+¼ -½Ê³Âw°¿7Qü ˜Ð°ïP˜@¨Q%í¾!BÏäÍíKÏÌÞsŒaB±ôgZ¹åf0ð†¤øž[ènÜaÕ]ëÚÑì«?ûék梙šrºfd/s»‰ñ–®„*ŠdXãr󖚇€þúV»Äˆ;F´?÷CÙ±£¢™ôKW+;PN[¢]Šaxsî¡®^ý¥åú{˜‹ùîûÈôö÷Ñ¥Ã:Ë€•³çʽ龷Z[êt4!%›y&Ù¾<C×¥Àc¤„¢ë4š­ÍÛh=Ô›-vkà%9waÅd‰l ¾têlƒªçú[› ø§÷©}¯+J¼ý¸6S † Bºþ`Ðj67ÐsÞÅ©•bœÃ€mÆîœ4NA%aFò)R_Ötpc­@Up}¿Py®)奰¹À‡éNÂ0¸³ ¡ii-H8hžx¼Ï‡½RòÅ©|j]mÀ­f„ì7`êÖQúë€Îi”Z¬;âg>,A.Å9\œÎ?M”OK)f³ánÝô …Kv½‰¾v{L ,í;æ¥ÑÀ÷e)ûyþDñ»^½^³çƒÑN¸;€0 Tu&é|Òâo„‡Ý»›S‹ƒþpg{töÜé÷çWÎ2Éeÿ~Ðß¿À -ÿ½ú¦jz³/O kbå³ÒÑÏÚ=gß{ 7FÜú-NU°Ç4mjjR‚i똀¿›R¸›·´ÃD §jDØÃÄÁöÎû)Gì-bL+/!V#Š¿½—& œvÃ[·7¼ùâ ôs 1èø,wÇqÒ^ð‚0¶e#FÐcÌšªg13¶t-¢+O™Þ)Qˆcë:ä¶²0v’ÜuÝÒ¸qy@¯ÊJ^;ÙÛ‹Siátì¬Vrxü—ÉA¿£B:ÝN¨BŒäIJ^êD¦ hlaËI4mŒ­¶«ˆþÁú`÷‡{b±)Fc ÊÎ<Ü -€ý†0<©ÚÃêÒè[–/x3ñ²y¿˜8 –¥ àåõ—»ïöwïË[¸€lCÎLö™ÊlŸ´ £šz¤4j_!@^B­-"jc &u!vÑ0GJö»€ÝÓýÏÿ“×¶ÈqŒFçÂh -ÝŸÀR‰K¥x1X™YÊÐèw‡D®ßB“gõdøL2FÿÇ./~ -µ$ÿX d@ç…•Z½F÷s©&C݈aÛ™,“Þ À}XA Àºxæ< q)1ÆÆ–žÅ5îlܽ2 ÞÞl-,r) ?ËP~ÑV˜‘®v -ƒ# œkú»sñXz61s\•ãÃ;49„ËZÌ÷?â•Vín¤G¿ìÕœIj}$¼Æ±Æ!pt±”VË ^˜†Œ™ ì#•Ìh‹+=1Š||Ë‘ [t -í‹rO6ÎÁÕ¡ÝF£±¹9å”JK1€DdHŠm˜,úaÖTõJÍ@½h IÚÛËV¿öX%-h<ô7[Kƒ¾ÌÝ -†øLbú*¨ÿ!ÉæÇ¢÷fÏ=æ´žöaÇkE¾J¶:¨L9U®üîUöÞÜûakÎ;Üá¤9ï•ýõq©Q/C¿üœ>äõ—bB"ÑÇ9i÷mKzl²ƒÈÆþqô‹G#¨G®|k1Ay®2V›Ìáùfã왥ëß½î¨cýï9&ù(ªù8N‰”Äd† ¤ã8gF˜$*H`öu71Àô¥Ü#–Ty|2ÔV¹tŸµO—"sHüP•L'ÌàÆéËì”cjè(Έ/ÏbMˆOû\›O´ ¨2€ó˜¹‹1 ÌÜ…©×Â@">9W½'dgŠ<Ƥ+~ÔôÇñ€©>¸ò2аǮ -.Ï…ATÁZB+‘Ú 7ña„¼UËî:È+ A4=ü•¡z±ºà¡±Ô”¯àŧ6oôP׬ªa!ÒËÝ— ÊUÒÍ¢ Á«)ÆÜTP”g™ÞΓ,€þËñrçFîÂ,¸·°n)Ãf‡iºÌ^’‘T¨–f”Š0Ã; ÃÐ'vÀ•ï½Ï_½½>.~ÿìÂí-ë]öÿ  @&»i®8cQ1÷Âd½{Ñ£á`Š'ŒsÆÌǬJcÖ¶I®@0@ ” â0VyÕû1¨ÿ`€âèÏk«}¶ûCÌ1ÀƒXûdY¹†-GnY ºAÍe„ ïãJ(Â)J-ïÙìƒg[o°üãN2¸2`³#`«Ô± ЧUät! بc§-Ç`á5»#,òƒ—‹rA§ÀG7~ПW§ÒfŽÜ`)@EeI…mbÔÿ îš@Á´¥xÁ2cÕ·À®/JÔÓ%*\wÎô/ÿb‡L°ý»=Œ|²úÏþúôôú‡(*.}þâ ·ã6ȯH% þÃvõ»kÉ~º¿xo³Üd@ý,þŒ¼† Ãå 퓞ƒPô–’ãŒ+’ræßÎ8€éÚž›z`ÀŽA9þn3Âu¯é‚°OqÌÉÐ…9S¼À}N:5ÙËÝ1Á>¢¸:ŒŒÂâ£2[Š^¶ RóÄqÆèê?’òc ™aÇQC«âXe){,@ýÇF»%MA“…0ÜŒWökžò9“0hÕ|d(IS¸„t„ÆœþZ…âäI'&)Z²Ç†à¤ FŒ,ãD;5ãÕ‘NÑ¿xzc´@÷ß$qbÐKy¹Ø zöÛä÷gU‡=Ž÷¶Ÿyfö¬÷öž9-nzõ¬þó¼[lF_«s5¼øâS_ç¿V…ÌÖ猇ƒ ÅØÿÓÀýL;d ìÓÎdslÚš{)9²aZ ¸Eà#ÿ¥Ã|“qžþÄR8¡Dˆ9Ï«{sÎÖç“_/Å2]L¸V‹.Rª–A«R5r—æn€Až;wï †ÑÎ(‚-³<ªZS¼»†$\™²2Ì~±ÆÄ”KMøãØ;דgÎÐöúÝö +ﯞûÌËü§1ˆ»Ý{-eÌ|€‡†œC¾rN“ðZmaÏZýýÖSKêq€Ó"rÓAÎNx˜î17ËEsÈ=Ú·ßûö{7ZOýÄÂfx VgÖîE `´ ‚Ý‹{Ñ úó+æl°sÇ=~Ú2w0x`¤(hsÌLà,4[§L€|šPd˜²Œ‘ ÞÄÀåˆV0Ó@މª+DÆöŽæhmX<í~êÕ$/<<^®Pw%ÉOg5Ž “Þp’žWøŠI±VkÆt*&rº4d?5P©7ù-ƒ6H8B÷”Ût“½ýê<%3,ŽcÖì}©ê ÷0ÚÝSŒºFw´;¬9R¹ÊAèúÒºOÓb8!åK!0÷ðØã%Ž‹BB]ÉÜëÝŒãØwág›ßi}ûÚ›‹íV}¦Ù½Óët±-8rZMê¡ü‡ß¼ÖÃöÉfr´ßjyÞB­õLÌÈÕ6r•ŸF®þ}šn%°ÃDyJ-|L÷¹bvèX ®tskXxÅ_UÇ©Îe@Òbš M±é˜^´?pg@Öœ â^Ýõë.‹:Y.§f –J´$ASn.WyŠu¼®ÇÇÂóLr ß_½îÕ—E5–µ5›ÎfãFÇ(ÕБBÍJÀ\ÊöbêH ª¸‘^•V­¬gèD/¸+Bg+Íœ’‚TSfy`m­ê¢š’>‚Û̽šF²ÎÇ?üqüªÅ#|˜íì ‘§ó Ɖ;CyGØO =QìÑä)©¡,̱®R‰Ú‰ -‚%e¦‚#`Y¬à ĵ%¾ÖXršJ<¶e³rŽ)¶xÁ©1­Ò]8T“±»+ÿûÉ• Õƒ™0 NMÁЩÙ8žhX[Xo¤¬“ -¦pb%¿ØÊ;\·`P×4«°“LÝŽ"Íú£aXÿú[Lo¥ç'>1Ë:Dp°à{4þñ97Œå÷ÁƪÉÒøgW>nU¬ˆëR‚ÒøÅÑßä#`ô™åtõí›8? -ÏÖˆ'ôçV¼-HOÓ\ØsýXˆv€[ÊŸjZh&4íÁÒ³ÑÍ8Z'“!H‚mÑR¹¡(qKšSOEßz»ÕË;¹s?™òî³#H˽ÃA`}X9 ÌèØ]øú“²À0ª‡=zÝÿ‹QüÜõ3a)˜Ü,5Õ©™kw× -ß|GzunÞ+jŠ¡ßm¸ƒé cZ0µb¢ØÜT")zjƒP+¡wÐßôN,Ä?|8ƒÅS8Qý‹ÇEü?˜OQ…ß^yô(ìÔµé^ZOÉx‹Mè ÀœEÚÑ èï/´ÄD¿wÄ@ÿþº×Z`Š7Zý¥~‚èßýVëÔ»ïDïX38ÀÎ=(©ÈÒD]×®ÓÑ4-ÇVØ-ÃÂwÑh,ÜŠ´^…­ä‘+Â4tÛ¡Ú9Õ„U=– Ì™¢Ÿ­Lû¡ Â(ý± -ÚGØ‘4Ù$wà°½„Ñßžµ—ŸnôÓ1©„˜fSØ‚eô¿}—èšøä±1=蓘iZcÀ/]Ã}z”ågzY»…©çξøþÉ—ÿÒO¼þâ'_ùòßÿ©Ÿý›_bîëÑæ{½n·vúÑöÙ¸Þ?í¢I°¸ä3ú JDîH‚²¿^Nº˜U!+Çú(°wlUžÌ&É&FEæYVñ\9؜٠¿f)à%Ænkr®Yf#ÚÛõöûCÐ¥b·¶HèOgNÇü]šèP§Æc‘TÅät?º}îGV~ã× þû3?û·¿þï~v^Ç^¢âÆM¤;×ÞºúÒ§?÷/íÃ'ï¯uÛíf·–žÁ‡s‘šÍ¹ê™ v†®[¢0`#vÌéúgN7#@sýˆ`Û^šð–R@Ò-RÐkŽ®V­;e[ª2 ̾4ãÀ©Ö`',&Y‘‚b@›þh -`¤—]4 ŠŠIeL])cES„¦`Œw%úÃVŽ™ŸûëÝ­írÀR:¤fD­ã$ƒ [©Ìdåì ’›eÊ7Êâ‘Iµ2¯øâ¾'yÇ|‘~Ý?ûÜÙÛ÷{÷úƒîN0œdÝ ˜6ƒ[÷moÞïG»Q¿‡NˆgÆqgjÍc x€6v)µ’$Æ$„<Ú˜¬¨T¹ý¨1cq>"¨mBÙUH”>N8ܪ4#UT4*ä -6ðHøosùÌò'ÑíS›­ouß?uî‚=-£`'£`ˆAÄ+&ó¤ƒ\¤Èg"†»¡K%ჭ¥g;Ã>ÉçªcVk:Ž‚ŒU;‰#n«'±[oô77¢Ñ°Þh l:5„ÂäÑö0Eö CL ‘ðF|ÇIân°y|>F½ø\£ßm=sñÖ¤åfØ3¤Ä®SçL nÆ#[z!—aÄ:èæ)Õv² -ı9÷dV>ÈË9b'%´æºD.>ÍI:Â0N¼Ü²¹½lŒŽ‹,/Ýd†Kó3/Ü)fnr™¦ßƒe6§Etµa0Š÷³…yŒ¤•,3¸æ9|,tÂâXÿp «s˜8‘Ëjº3Åý~ôÓŸ»üÅWe«Ñ²ñ ˜ùÜyÜfû²Ç(ÅïÞÀ@Ü‹ŸZù¹ÿæçõúêõwo®¾s³³ÔYZ|êÚŸ|çÛW¾!2|b_þÊß{å³—þð®þò÷ÕË?l%aÔýÆïw/~YcO5G£ÑùOw`{09À_Dj²µ­rírPB¹ÕM’'ÛÜ -tvršSÿå(ô£ÛyŽ?W›q³ŒÓ1©*ØaŽH䇰+R]q-×=·ÖŠÆ}ИãJ?ÞO¸µ§9©ÔªÎÏÄ.@R’îbãë öŠâ>¢^ÍSéùÁÚf)fÕ3ØJ3Uo/Ôv‘û;+Lb¢bÎ<Ì -&àç˜š¿³æ)ú}À€1SM4W ~“œõpy®iqÙ9Ì$dn ù›aíö¥áY‚÷Þëõðeé7ëd{1U°åK†TÁçR)»¹ºŒòÆñNô°'u °qg‘qGØÁÄË&ìk‰fï™WŽÁ ‰%q Æ‹lX/l¬ ôeŸuËÎQ¸ Ó–-‘Ê?cæ±pu:å[?ÜZngý]±là5G軎p&¢2ƒù50¼ç›ØŠ¤ †G"y Œ}̉r°b£¶x1»¢^“ª¤—1‚å’ȱîObÞÉ~kôÒi¯ÿ[«Ëã<ûé3«¬ -T3©¥ 5dÊ¿©bðÈRjV.ž° ™ý?åþ²X-mÏQY§—«ß•>ßþ×ÿôÿøú¡¸Ù·¤Víâ{A•V`9ýG^g–báåŒl‡ºß¶=fn¡BÓÈF4™dÍ®Êüe6+áT,-@Tôîy¢ã͵ï^…mÝŸ Ùb€÷ 6„aÛ:¨Ä L Xa°ñ¡h’ógpŸÒ:i˜r¯]þŠŽŽô»Fkq)ÚË@ÀJ/Âd- ¶ûO #Ñê0VZMÛß ÂæqÞ÷Æ÷1‰Hub£$Ô“!æ–+#tá\Ù+¹!ùÉ+«ùÐ4·­(©låÃF¨¥ŽãhÇ´lT SRª\ãª!7À‚ç+ÈDPù‘ß_ƇaÂðVp¦¿Â}]g‹Ñ¨Ç.»£áÖzÅ€øÓ–ñ¿ü‹ánÿW¾ü+ÿðŸþCøï/ý׿xãÆõO}êˆ /žÿÚÿþÁ‡ ®ü¯]üì¥kò&¬¯¼ò…«ò&ýò«—q%pû®' ¾ö¯¿ZNB…×ÌsÁ5$ý‘vgÅèèù3‘¢Ž4´\ô1F)†d#ÂØql/V¹ùN)‰{(«Å²é$[NòÙÚ94J‘d¿†JUìåàÔIÛ•hè Ý‹¸&ÌŒ5©z“em“}š&–R‹êÖl‚n¥lÔ¥ñ††Â(“;éÂݲ`†ÑH~H7Ï1€ «aÈ,"†ɽzĪ@·¹t¸M˜SóÃÕ禬I^¢‡]DÒhv“ÅO<Ïÿ5«³ú0³Rx5Œ4’î¾ýèÙtIpRbŒàÈ{™xf±‚¥$ ƒ%¢{ónçü©Î §o~ã_ñç­9öS‰R°CÃL&}‚ðë”SšsùWÎÑ'Øwü™-€~‹Œƒt_Xîjàú½‘jý.ý†(1Bƒ`°JY_›Û›,¼êÇͽw)?"ÖúÃ:V'Ð9A©‰(á¾Kã¶ÊÅlUPì#þSAÀ2ƒ|èœØ:5IJ¥€ÎADܶ Þ -ØÚѾ` Qá¶…gÏn}Xp˜€`6£?ŒKËu8…b è¦Â‰ÏÿèwVW›*P&ɨË.+& þƒ€îÞo-cÏ΃³Ÿº8|´mZF†îdÇp2~Z¤×¡ÿWý&Ȁi”,ËQÁgù$™Ù -g&VW$د*GA4³0Fò5Ëkè?eï -V®Qm¦Ó½º‡&-wÁžnÃ2 #C÷™!1€Ï) 8熜$( Ð!Õ“€¦»a€þ( -á°ß–[*Ê[ãR€ý¬N)•`èz÷ÆõŸÇqõ«ÿÛ¯~ñó_Üêo}÷úw?sAöŠùöUÙóçË¿øót0D¹$@ ÀÐÿâg?÷ ? ⬿$¾ÂÇ÷v -ó™uÿ£ ·cª€XÉT\Eĵl°è§´ŠI®k7Aýw­&ÌXöË J¾¨Q: H‚ñd+Þ—í `ë0Uêö­ªk[ŠÁ…p¾Kµ(Šžk’» Ñ?„+œ±5fe¨)Ó¡cÐrs]ÁÄ€œþ[">³è+)+ršëI)˜4ä„âµ.?LeG 1—„9±KÁ……,¥À4GEï‚þ£>¥r– žy”ÿëÎQ†®!oÄõ;e‚ú ôC”Î3E_à˜SÅ_<ýüÊ÷W×P¼w݉WÊÔºÇûø˜à™¹¿àÊ’ß ur¼% ?l¯üÖ·Dn2ô …þÌ(7V èO€^à91— ŽN0ßšgÇ `eÛ9}Q7ž¦ê¸¶~îG¯À}ÝÈü‘© °&¾ç|ÿrà5¿ŒZµ\-ê³uÞÚª býÁàÞ|ëàÕÆŒþ‚0î•ÏH¬éÓ/²úÿ1‹«´²…þ©.%U;\ÂjëÊLP-K;yå>‹t#13ípz7l(´ŸAu ìXO»°xêì((’ôe)y¢ûŸ\á¦",Cã ÃpãÃnƒóOÉãŒO®æ³XýçÉO‹e@&I -EžŠ V\ê:2ƒ~ü"”ÎÈÊ&Ë€a¨ƒ"‰ï»Øƒ1Nf)‰ÈHP®8!øõY2.œrÀmÆÔ ²áZ,IrÊЯ_\ô77@ØÜÿ§øÙ¿õÆ«îlãô³§a½Û½ËA PÿöZfõÿÕW$‚¿ø©0²ƒˆÑÿ ü¬È°úó.¬"ÙŸˆ²\ÖåL¨Fß#¸ ³dÀÂþJÍZôd€v @Ëù`G ¡›Û˜#M81Ms?\µ ¸¯3ý9‚/“Ý3s8+R,2%ãÉ­Oæf•ú×Û†æ¢dG$ „5¯º¢4(© £¿aÕRÁ<äXú¼hŠ|9D‰ÃÊ©ô“@_Ûmz 0¯Õóð< ÖÃGÃhDÉqäù-Áq:ÌŸ/JQJpæÚÃþ­Í÷¾ÛÞV!N¦ÚŽV aïÉ&½ûÝ»¨A¿ñw/ksŠgMHõe|˜Tìè©êïê/Th Œ€î{w.~F~«¿kzŽ4éþñ¾d}(uáÄEIy©—sTË'AÕ¡àÓb’s1r”k§¼>¬¿úÎå _}ù›B mbµû`pî™Eý Š7 #ü.†: 5ŽA Á‘·Ø{u–ÝðQpF¦#«‚HðTRæ*'s,ƒÎ‚CdÑÉ]zÎÿïÿƒÙŠeú<·ñ´ÞïÞûß„£°Äa;ù ½;‡®Y ÅŸáxçÊ¥WcqÞ©Þ‘ÉÔ0‹¹¦‡ì{¬3/©!dq·>˜D6»È†»ú®vΞuNÌD½Ûg–¥å T¯SôáÎbÙ9(µ¨ MäÛ™óE°M×c©ènUôSR)vÛKǺÉ=Er–ó¹s¼®`7nV×Wo»çÄ·Çógà[<è<|ìòâÙνÍþ5E¥pzÛ^û>¦ Äaoi¡ ¶µš;F 3¸°–oß -†è ¬Mg;ðÒ½±ÚîœCš$øJÝ3i¼2uF9?]7ä1O2îq(ÈI…õU“{ôX*g>¡ï2[î¤9ÖµUM6ÌÙE‹Â„Io`’sw(ÙÉŸ— ýg_@Q9baø(,2FX3 #ñt·@ƒ sïÄ’ßZ¼þ_/›“YÂz7RGØ3. f•Èø², ܺsË[X ¿¥Ý,È4"mj‰þú˜Æ¬»öQ÷¯Ó9sùú[_Ë'-Ér¤‘Ž’•ìÓüÀdSûšZEª¨P¬¶å÷‚$£ØÐJ–DrK¬é|”SÿÝRC`³ -åŠRÆ›£,Ø’Ãq%~ËÉÄè¡Â»aÔù‘N4Š`gø(i³7Öñ$sÞf·_÷݆çæYqµ7ßëë§6E‡ èñ%Zü'à¿×®!è/¶[Kªä¢·ýáÖJñÌØu}X£¨DrF•69Ü3é;` —a5\€\{Æ‹öBWµ8ï6YpZj”àÕ¶ë’œ*VÏ'ˆ6kV^X4&ÁYuÙ(²Ke ¬$ ª9O¥y‡èo©ê>HM5Ù2ˆøña ¦ß@Å‹it"3†¿k±”’äK 6ä¡¶ ª7œ’^[„’²õw™6Š–ÊeD¿ˆeV°åÇ©È%÷ŽÐÎ¥RÛwþˆ‰xËîå©ÒÙby\ߎYÌ#é銭]€MŸØ)B  ÿ_ùåÕ7¿]N=*¸apzÚüü‘{Å0 ŠZÐMùt^S5û{t˜‡ƒtE÷ÎÓ0¹Ð3á¶%ÐJn ú×fÅxO}!&'§«Â”ú|z“Võ|VÎDíùâV×îmh àI ûpÞ%/Ø»wK¬ôЗˆ²Š·A€#Ø÷[ ‚á FNIØ–¹Jü“í.½KïäûCRz`¤4·1' »P‘ë`T®éPÝ M Çè‘͈õIf+Ž×v“I”bݯXeRo}ÓÔîtA2°] ‚­>èþ;Û[°‚<ãÄaT“§éœ°«ŸeåØÖ¤Ö}ïZ¸Ôo6Yý//̲'‚~n®ëz¾î2Àk"ˆûØì"MT/Œ'†þë§‚. þƒ€íåó!ƒ4¶È'›¢¶Fu~4‹LP!a ÷KªœÎvjÒ2îcvöôÍa¿F5”÷ °êÊmL„-ÑüÕ\;ަ&ÀæÝŒ0l»?è¢ %«qÌZZvA ÃÐHÙí;Ç û‡ÈÕ@'iQïK/¿ú•¿÷Ëâ϶lÜ_OÓñ¡ÝYV“¨ r©ÞFÉ ý‘z_.1 Uqܰ¿.ÏSó£1úÁ'wmÓM²(÷ýZ МF‚¨âdH?åX%¦¦q²PŽKwP:²i •¥t‘S£P}Ðä³k¦f OóJ’Ž5?¾VáµN£¿àîÇÄ|-Ŧý0úÇ¢Ô@É‘zCÑ‘BÐøL©ÆŠ)Ç9_ˆ˜YJÅ -ú¼pòœ‚1ƒPò„ÓM½)ÑÿÏ´Lµ{Ê»+Ä4Á_y[Ù’Ií±î9£ý!$Ì ?ÿt¯á2Ž=ØQfQqÊAšA,€%ùDšÀ[ëeõúæä“ññÖ\@!¸ ÷ä(d Î\ÞúàŠN„ÐÑfË{ÌD9QšŸžšØ2ç‡)¦5WÌÈûH§Õÿà¡Ü)«ÿô‹nN2tŠ+ ‹“-€~?ítœàaØÝîx½nVÜâ)T™y VШAýÿû*éûAÐ î{|ªÇlÞzÇ`¼Ø€þý>~þ¹{|`–—‹/]»öæÒtÅ5èþÓ};^ë„b=”ÔÀªò‘÷î*’8Pÿaª€°Ùï3ôÖþBfë,è/ÐÀHÄiú5ËgD#hã1Ñås²:ɰ"”ú1[V}H=7T‘Ì—iïRÌÎÕº'*éŒóš…&ÐZvJñF!Št~¸ÑX«õÂ@Ç–äø2d#Ò¢1”¥Ûê -Òxä0)!~t€]Ã(Zð½(ΰúÊ‚‡¥d¨ ’ uì1¬ÿ±ÝšIL›Ô¢DzX18éö5úƒ°öÇk,Óöäñ ñºÑ˜ à°jÖí2¼¥*»@t(LÀhSÅ"hº—t|ô™ÔœÃEL·3áŸ@#D•Æè4ƒpýÑy½IE©~Fv¹zÛàå½µnÌXa :>zuî|p§7·l›õúf¯ß˜s±¨¾¼Ôò‡Èøúäž ¢a§½€Íœ’ıA•ÃäPRü9Ç ÊÒÁ£67pP6Æ{¸f §OÄlÃô7=¯§c§ÖèÞ|·:Óxú¹sêz“4„ÝE0OóZUÞ5€&÷[OU™‚–Á$¥l™”‹L´y-ƒÀîŠÌÎa¬MÆb»\G†H°R–™ -bÓXKTIT›kÁñëÝ%º<`J`dÌ –#‰ ü³Óý ÊàáƒæS˃½Ôõ±¾J8Ö/âIbî!ú'±¤ÓJ±pÚ¨Ñ\ÝøÁÕ,>Ól7‡[wüMŽÃÝšSÃæ -ðøÒ ±ß ²þ(äÌðRÙqŠW¸öÃ^§s®ÑìI* §Šý†,WHüb%ž|ôX+ÄHƒm€4¢ùÇÀg’w˜Ëqø -’–H-çXµ Ú\‚ʰ=ÏïÉÝÂÒ3ó'ê;Û(–„“ìG¢â–Ûíö[ñ~´±už#„Í -Ûn#‚¡ŠB³m>JîÜ Ü†}ýÍ^> ñ¼’µ¾nÃrëöœëê ÔL ³œ"ŠƒÁ”Ìáhg}óžp¤ï…=þ0-Ë1M‰ª—ÿÂ*@PSæØRkÆsÆ]Œà 5 Ü/»ª¥N“Ð1)ÿ¤æÆsÜyxܘk:Ø€FdÛú1'ì.æ -#‹Ù0 ˆ5%^ˆa­jiî }¦Š&vÕ¦ê?ä·ðj؇‹9 $BE+q"j†l¿‹DëX˜J”Î&»÷{ âšÏ3dÍÌ(E&²´$äØÉH…Ø"I“D†a£±-Ë€¡| èíŠ ,ƒ4JQ›¥vßR ¤$?(æLˆÏžÝ˜˜|P);ÀIJÚƒ‰ iԪȴ©ûÞh´[* ¬0ädÙ²çsÌ4Èóá?øèkÎÕ;bzÉgb£ÓƒéJQg]CÀ K,r–JQ籑Ëe •õ<¸‘—~üÕ˯ÿtw¶4\ás"ù–HdÿKú„)6e!âÃgM‹æ f"иªûÍ…y>î­¹'Ћ³9óNs¦áÛ,E³˜ô™íaÓÇQ€Û`_Ä…3'záÐm< dÿ88ÛÕÄ ·ãFC4£ À—›ËÄ!Óq®¬¢bº²¸¹¹ÞwDÏÌQ ªô¿ûOþßp ²èÚM/I2€þ†JÊiGè“¶F#Ń&° ¬ôo&Á$ƒ­C °àÿš=fþÄâÂòéZc*çÁ2KtòíhS@°oî@ÒQ¤*-6%O:YJ%×¶iFœÓR³¥ò’› CFe×`‡ë[Çðæ×s.õaã­áCéYnc2Àp§×~öœÅ˜#,¡2‰j?#pÔÖÛ7V›'ø·(Û¢FÝÏQþû[ÃÜzö ÈŒþ‡·a +]~a)Ÿ.£0 0)Щ٘Û#Û¡Ýn÷\ç¢X Ç–öï íõÂBN3¥‡Yvs åÊÄ7gL»($ÿ¢Ë_ç¬;d[É”žè/ÐZBWFç¹&Œ³ú1Pá]fDP¯DÝ»]ñlröE4L@ÖÙcÅ~MU‡…ï`?fÍ;åúÚØdƒ£Ôÿç?ƒÕžù6@?lŸ¿ÔCÐý³ý$A§y©© ¾bz `{æS¥îäDÒ©m $¡7i—ê«mËÜ @ýïüèËÝwÞÜb V«a½$ó|ì;Œ†µ™¬²Uì8²ä3 ÿg]° HÈ2œï—z¯'‚‹.õ·ÀˆD„ÜøwŠU.tÔµcòøýÔš9üÓ·Þ“!¥Íõ"I†ï²AÁ ŸÆ €dRLªhXª¨œå»`ÎDÝ¿$ ä#UmÀð0@äå­^\"7æÉ¯Ó·´¡æÖ[ѨПDRy7ÝVëÄ"' †d¶¬ÞDˆß ¼¬Ûw°l%ŠxX¹‹Àæ«Å¯ëgX޲à“Ô0ÑÛVS×È -/PÉ-•5É®m„ €þÜ5ÅAr‰¶LÊÄG‚à±0;¡ÃR¿.…+8ã@çx ”j`d†a¨D8ô,·† e€ÛŠ¥{ ÅI«±¡IÑc¾sÓfÐÒ¸ÅDÃyùE…«ñÍ£F ã¸Ì2ÿ¿ãkòSNNâ­ZéûÚ&@¢ìM[¼vaáõ:xœ¡P^8ÊøÒ¿ -ëÇæLçbȲ‰‰bÍB ˱,Å¡«- ¤Y(F·@œ\’€ ÝŸ—z KºlEûÃV¸S½ Á½¨ý ÂRRX)ñF€€ìóòóî֔禊]>gôXtá³ã<Üýq<Ç,àƒÁ¹ûËða¨ü-:¨…IšÜŠF 2/ÂÈ4¦®¢ª#0uùÊÓT)·ê„£¸F+ÞÛ¥`)B@šÔæü$ŽÀFñ½Z3ÅJÆý<3.þ>¨ { I£Q§pÜ6yO.ö?ê†ußþÎx4ìœ;/['Â#*À‘ý#f*r0˜F£;¢ê¸Ç𑃥$ȰÅ6Úô<ÇaÔx²FMò<“¨æ6/|þuøïšp­M®ûÆL¤íÐoyñ>öÒƒËe/±˜2$n˜{0Nرæ/?ˆãƒ0v[ãd0ÔOÕe;Ç)‡¶xžä“” Ì›æåÈ®#Ë#ÐÛŸîËÊ,s³ßtjÙóÓ4dkóÎÖãX‚ ã9®ã¶|Ò «±æ„É*1Ä£Ýz×ÊXÆ>9«ð‹uŽ»5lÊ£,ä€iî´ý ý° 8æTQ‚úÍ¥1àJsŸs{A¬o­_ç*Ÿ¶ìp;÷¬Œî¦%ª€µ;«Ã2¯uu¼¹)Sœ»¢ ×@)λAë)© ÄqØVu0ãýaÃGGê0XŸ1‹*~£o .ØéZZ㛈Ša²aZ±Çª=á8;ñœì(p«òr“Þ”Tl@Ü­Ñ™LIéL…£»BÉžrÂE6NÇ:ÃGèÂöfë‚(¶ÓˆÉî¿"Z©s­ëHq)ÀÔ%e,À= Âú¾B)–ß³ïÈÌfLÔ¥LtÕ¢ç -ŽA4Sjî²í2ZkÑȰõüûø2sÔ\ûº¾‡q_¡¹_¬Þwf w_vp dD+`´Ë¨ÌRÿ¹aoãÊ÷ßj¥¼„îñÎÁZt Z3C#÷v„ïÊžÀYBB?õyÇ×/D2ÆYÜk½€åÏý&ëO›áÎÈZ< ~UøÎ0?­}ߺžo~>Ëv³s³ëU ÙÓ£÷6™ˆßÈù8ÅÚÎQŠ.3Ð|g,lv£–`7ŽöS—äG9€™å¥ô¸–¥ý å>áê¢'Ð|Ó÷¥­m“ä”o—Ê[2™°ˆ¥&Û¹Iú~”ù$É9[”KD)¹÷Ó1©0ˆþfÕŠ¨¹MBBׯãŸJ…мDaªsé2Ì›à>&öéâ€òâ ÕDÌBÅõZ+/_ê}„·Ÿ^æIÈÆ‡‰–9ˆ”ð&s¢`ÃNÛ©Éõý£®çÖ{«ó'0~ìô1i§«ßjšD\+ÑÝð b9 ¯IwmTï1hù¾Ó\Iˆeæl;K -í•¡ßž©EC ÙÜýŽg&kX¿ƒ¬2øZ9¥=™U‹èj“Qwéóן]¼÷!Üã7BÕlZ°b ÙœþXÅlRzYUž¡.Œ 3’æerã_Çä¯oy ÷%ô/ÿzð0ðûw>X»ó¯¾ÊŸ´¤èØzŽ3Þ›*ÅôÇBêùýI´·Ð/°dtmªÁˤ«xÞã)÷…²>~pè“£èï·NýçjÎKÈ¥'xpK|ìRF‡XnâÝB…bôo¶^,¾@AõQp÷³ Àâòe°Òö>¼¸''ôO%¿­ &阕¯‹E¸/Šƒ½Y,ìâÈÍ•‘%¦ée˜•aYˆF*0;D›R¢ùâ­9ùðA¹þ)Àýd÷pÝÌ¡~”5}-ú2¢Q  å¥l.ÈX‚náRyò‘B¬üÄå‹á ×þè÷ô'n‰ý~ñÔOÖýÛt#øöýõŸØ4ý9ƒ. ¥XG£Âpœ³žÁ«*UœFã!É€/‚ h4 åz®k# œÀ¡x@i‘o¶óÂôÇåˆFÍéùŒK„q\"-˜êPÆ¿uQLS4Ì¡ÿãtåqüØRÏVç‹ý®` ˆ‘«ÄéËÔËät~me2ÚzÄ”G;–Š6j‚¬¬TÆoQ›R…²Õ¾ÀèŸ1½DÉ|aõÿÐâ̺‡¨ßämb3˜ñc¡ÿÏ»è<"AèÿƯ|µŒþhËÒŠŽÍ9œ•«h=…B7ྒྷýýúB0ÚÒ5Òhý#©Ÿ…¶Iš:¦¡Ã|@Hl`>%A°p7þýÍÑâ²^jJ1€F€f=ÊØÚŽÐòÔ­FIA[IJìxc€ålì<’°v@ù®«wÊ%©K÷€›³¸US­F™àûÚßÇû g(³…NðÆŠ5†¯8±â`“ö—Q=²f3vü¶…ö ·–ݬ¯7Ÿ–{ ×K¯Œ†h1‚ó ‘ÎÕ¹°0lZýoA}ÖD{`Â-ËÑA‘H ‡Í4ñ.+&å8 -Ã,»e ËŹ†• [d1¶…áDåŸu¼šS5–;Ýï]sªbé̹Ú|«ÿ€hoaDOn?«‹rÛÏ­´«âæ·¯€õ€Á|Û± #,æ2±) ] &J4M÷©Î$®©>ocŠF®}ÿª×l…Û½þæzkÁÅœÁÄVŒOÌXù~¦ó>AÝϪ –n!ÿxâS’R2I‘3®æp<|tD/\8á§Ç_=úê0!àäv) ÛÁØ™U³×0›•«ƒ,<Àæ\"#Âÿ<3a Lõñ½îçÒ˜€ˆr–Oµý€!¬(0ÕÍÊÁPWsìÛkeûTt3!&˜œ{Ã!b»Z†=§‚öBH>Íf³²©Áa£á8æpÀ¬É@4æ—ÛŒ¢÷£¶{ãå^ÓÀgRÁ\¿{ÇÊUßÐ n?õ¬žÎB+ñq\v‚¸w>b™+z…ë,eßü÷ßjÓ{Q©äÔñq*Dý¤¥D@Vj._Fñr[Óø ôšÍ&Þ Ê<íº‘} ¶Q) ˆ»@»F4š†" [¿ýêå_ùë_ºõö7÷A™íÑ©° Ë0œÙ)HÐ|7,c¿û)¶ž±hF‹1e™F&ãùRïrA@±¸ÇϤ–|õc­F)·Ê”NwÜÖ½yáù«LD­î ˜&§Ïœ¿sãm˜‡`©Sz”`³UPhsü9úPùSM¹<¹¸Pÿé®/|þ‹ð87áÝÝY]½ûÎõú|;$ëÜkµç@柑1!Y×bRdÕm9~ÞFh‹o¿w3§w›í½Ó¼ñæÏæ1Úm Ò2r5¡­6žÈrT—þœ´Û‹ní¦;}|VK'j‹ËNmpN¸á$ö¬PhH¶"wïNÙž‹”ÚÉKɼ:º€¶zÂøÙnÌ7‡;÷„¸¼x¯ÛwqôV9U†yÖræ¥!^F¼èº0½>ÒyKJB|a.#8 -€Æ‰b QêØ¦ïZ1×Å©ïò_[‹ »](òtØltµÐå¾Á(æŒ~²ùzARÎëgÛúÔ@¸fÚ/Ái[`¸`¸ä….¾Æé’ŽQœn_®Yï|òeÁ}y©“íáƒRÈœ3°<Œºo}Ó]>׿×m©£¼—aÔ¨[\ÒŒú»aqLEPÛ>f¼GýÄ)å¶ ý ðjO´uh„ù®á¾`'Áœ6¤„û–ò{ZGZˆmmÇ 'Û]ˆ"©)X”/È _ÙOãýÄ™±µ}jQ½3æÇ2mEÒ -!!Ièm{Be¸¥\[˜‹<ïÜ»ãÉ]%Â^Cycž9®ê6›IFãz½«mû`NÁ²Æ -&*¾ŸÂÝÅS—4ý×þgyÎG¨[-ŸBˆ>,| Ý»ø¦ÙÛz?+ŸMágëäâúÂ{Ã/h•Ú4O`œ£‹õ -דîW%„(¿—„ ÔU7.åçYµR@ûhs¦¨ƒp¨ä˜€ïE Úkè… –#¤ij\ŽÉ2ÿÔYÌùaÑŸãH5ìü@¶ÐD ‘CÄÌkÒxóŽ“t»¸wWåó¸þY÷øáHÉÇ/€û_ü[vNÝx»¿y{í-IÊŸUÈ®åád:ºæ‹UØ©0/Ãý?e¹£­^ØúÊýûµÿþ—„ø¥éb@ð¶·Â‡Áò¥¸y ïúÌ"Í8+Rg_”ég^8Ï;ñîr°þ¢pç–ˆ»yN.¿É…uî1|2ºA,–ÍR*|§íˆÜûaos'†uqÞù %7WšaoWÜÞÁ7uf- Y  -{23@x DºøE|ã›k·ßŸísW»#½UÀ}ÎÆ‹š…:5‰sŽÊpÈíÃqÆqn_çQrK6ÃÕ¶ZÒž#Ý!5Ñú¶¹Aë~l;Žçúq21àLS,´Nv`Ó\.µjqΆ¢—10LB—üA dSÖsi’ƒúÿ¤+ Àó—à5çƒÄÄSgÎÞ½>Üó+oRtªÕ^ìïlÒå-öl¶ŸÆ)Úûhûä2Zù쥭Í{I²·øì)ù(^ÿÁFë$:¦Öð½„ÓÛè.ÑHظ‡;ƒ8ÈÛK˽õòç–°{›ëlUô¬7O.2%¸¿°l­óNãÌn4ÛÃQבò¡U0"Ç”Ÿ]«5‚ê˜0–z{Dk:ëõAýçÆsí§;0ªý[ËE4»ùÔ™Á}<­jmmqgF¼åLýD¤&wt‘¤Ó:BP'Ó3|»¶· CþÓ©ô¼“î‰?øîûúVwxyë÷¿u÷S/ñþ°D¨•oZd¥„–H/AÀªXå~æú¯Oúä(ËË¡퀪³~{M^3Í‹[«¨FÀë€ímŽcž=Ä(þ°âwwÎ$1Z£í› ØÐK9åZ`lïíâ9<çµµdÀ×B3€þ×þkOuúA ´D‹â¦ ʦ(7“)/£íÃ!–*⬪™r(¡^}9Ý?¦SŽª.-¾.épUŽDKfÔõ> -œYÛoº°?Jk–bL´†F¡þ]@ܾúí3/_–?Q5‘ø“²ø•*Š}X¬êTnç}¢NM¢;'çhšYŒ±4åûR%,ÕÎRY¯aApÕ1:‚d—% —4h_ut {í^|þ RKeÎ ,ÓyHëÌJ»(’g B7.1Ó-éõÉcÐÚæ‚°X}ëÈjÈØº —VñŽ,õuNÚ;)¬ÔüžœR’%òñ~ƽVú[­•V‹d€ãʾؓ¬Ìn(OËtð%þ攤 rÅcz¤F–Óg:wnKY ƒ„ÆInúåãÂöäS‹;ƒþ|³Õl¶@î0ú Ôˆ{‡N5ÓÞÝDU)ý‹ëdvIj#S÷ ðî÷®½øé‹‡£ïAL[ü/×-o=˜*ìè/öOþ)$‰OZýy‡¥0Ã=@ÿ¡#ùsüÓ¢üS“~´,ÊÇ3ú rþð–u@“t<‚b@(}ìFØvÏÇ»c÷XÓ=vØÏ.»[gAajLÛ‰<"†nüRr³pR·ÖØéËÈ€ ¯¾Áû Â^ôð6ذ )Ô9$§JoŸ9 €ÞB"jFç-å†-Üö®8Hñ¤û«DO€~•|ÎîGõýÿ_—[P›sn¿wÐÿÖÍ›§?‘ðO ÄeõŸ·ñ®š)Ö“[’rº‚p_ ÖáC|û«|kw=gO$(èèÕA%ìu[0ü©þ‡Cô5æ› ÏY°QÝéÔwÀ¨z³³LpÁ¤á‰¬r€E|Éi°:UÓ¯;â ÛÚîéxbG1[Cm®†©#L©™X 21ýktl.#ÌÅú—4o¢.ƒ÷ óíéÁO;Í–»¨–‚>‹À± fb¸2Û¬‚.ŒCGÌèÁH3~ѱ»IAe¦³9®cWm&¸>RE0ÙçU›3U’IÒˆ­Hê -À'q›ÍF«ãòäéÓ;÷Î9~÷6š¢~³í ¥KªjÆQÜ8Ö|ÿæÕÆ Ÿ°< +ïa_N1xÄ)»ÔÁc’؆mLÌq³ûÅ®V¸ýéââ¢= 'èÏrÎÞh°Õ“Œüu1Þkh_1èg‘Ãð#¢Ç1M̤4Ñ2‹z$ì„’¬áo»âSYd:3±ã;o;3ÒûäT#ÐúXÛµâ‰H÷0,Kd¢Å@4 3cåãäL:3a\çÙÿµ·‘ã¼óÄž®êª©ššnu«‡ÍiõˆT›4¹¤¸Ò’ÖËI+w•uìµaÜKçl€ À!‹;øÓ—÷)¸÷-@^ÙØI°ÉÞ:vt«•V\J2giÄ%M¹­G3lN«ŠÕSSÕU]Õù¿<ÏSÕ=C;RhkšÝÕUO=Ïÿõ÷ÿýû·öÉ3ç6ãY<~Ø&ƒCrf-bNe#?šÓÊgIÿ4ù¼I`­øÃáPb“2Á³!GÞr©¬¦>“§¸1àxÁœF[‰QAÍ)í¶Î¶{×ö†ï‚§qéòó°|Í.ðRဋ>Ö{(øzÏ tIͲ.\¼`pî"<šñøç5ÙSéÏTëíî¡?²ÝÞà2¸Œìæþ€­<y^#3)wML£%‘Å8ð’±ÁDªY67d‚ -”‚Έ&(÷ÙWî&jFЩv«V?s–³Æ9U=8¹õ©|0*:ÏŽ - -“cðÍ€Û««6˜>0!;ëDΠ׿íÁewÏ †?»é4"KŒše¯¬’¨ ®¶Å¼QË™ô;ÁÅ‘æ>K²&?µÑî]§õ•½_ÞûÆòOàE–šÎÝ?à ø|+ -üpo?: 9 åïí2;/a¡ £V«…ÈL&Hõ½ç˜«¤UEä6vÝ‘ª(ÏTÆ÷eü§&Ìj¢rx"KÄÒÆŸ‘5ð\Ê‚á -Ý ã–ÉþÉ*çÌ}ž•Øý"FÞÄè»wæÿ½õSïwº]ïÉÒÅooÈ8’é\ºòìß¿û¡leÕÒýO?–ã\ÑØQ­ ¯ DÜõîŽöî>â¡è¬äçû¶XçûÖèö®˜sVY¤d놔&9SßÙùÅNcEì|½õqëŸüÇ—Æ¢f=Æ%Î<$&åýjé"­MÏ(#>y{ìíÌÝ1e:NÃa i)7sŽ A^#Í­ç*»ÞPƉ«:è¡7YO5 -é3)]ƒ#I£2Ý&}=§î€б,<€)«Q¥aH¢eÙÇ9XT¼Ïv„›+æxˆniçé3 ¦û÷ZTÀ :%J°Á$ƒJÃGãͧ/‚íí÷tXÀ“À Bg–RÆ‚@úÃuNó0 ›´ØQ= IDATqÒoýT÷àá´# ¼:=”û+޳âøaÀI<¸Gp’°cÍBו V°•°iű4¦À‘ʾ3ŒúaÔ;ÕO4w•&¨9§Öš’QsˆÊ6§KELü«ÊyzO•å…çÓ­£ËAôà‡áó¸FþC@ðg¤ .P‡wŠ‡Ò¥z+V‰/š£;b©Ó]àûŲˌçßý úg|¹«ž«RÜÙTv‡æð¢à #k#8ĦNŽí²ôÄð‘'€ôÇ™F ª©‡•$ýíäÊ e<1ý’ò*’¤?¼™Å¥Ÿ‘fL1_6`àoj0á  S!…"sEG6]¾_)Ö©ªËu±O5ÕŒfˆìBšžðºäŠ+¢Aôv† ý½'ʘ8 ¨u(3)[@«%ÀAEÙ-ŽÊøýnÿ9>¸òÒy€@\é=Bmáxޱ~ -Dÿh8äÁéÏÚàjg*£i&d½§AŒ¿ø+–•.†h@úÃkv\~hk~ùæÉàdgU<|\å3Ǩåè™Îó_*k’øo©°‡ÆxÄŒÂ#ñ!zäZ¬5»Ü wð›5ºð,†Î@ €ô¿úÛ_åÏŒ>‘ÉñƒN úùÏî©î)™vzû­ë÷vñ0óÆÝ q¡5¹Ø -Ÿ_Ç pë@Îÿ•u:¶ŒÉ£X-Tøã ÄñäGÑÆL¤¬óß3Ÿr.% ª 7dÈ5[CÑÏìüÌåâÔm?Å |8W= Æû;åÕ‚hãö7¯¿y­ Q¼^ç3ÉÒÐv½„ÞŒÑEø -+ž¼–³LA¿OÈŽ1ò‘hö¥Dq0pÀ$Å.»{¸œÕƒŽ&§åÕŽ?Ýóÿê+ߤ¢„5‡¬õÃf“*{ŸÜ»öå¯ê³Ù,[éR™/¹aãÒöæFc -[Š«˜+kO,D´A€ôWô™¾G˜“ð”xtmÛÓ öl»‚ÄÚå*Ó†: Ùß²‚N×÷a÷G5nÜØ î\Ó('K^® -ÎOBV€àRjLy'‡z±²ÐwÖ6@ T? ÒgHA^·‚ˆ22:H]7Í 3Wé÷ zX*rܺýŽ_†<¿'Y‘[ëml2Ctr…­Að”à}ùŽål´zûÁ‹þÂÊ ¬:±Ó ®aÐ ÷áesëÍ,cPÈK‡.Tªz0”QÁB‰RÌÍí4“ükÚ»²+½-«ù$:é0e’Ȩ¡&Ò: S,[¦eÊÎé  æs&žJ§‰îÏlÕm7·T¾*ý—6¼øšÅ¹ù[dûãQ,¥?h‚nÿù¥/‚ôß~Ü-ž*j?©$õô—WÂååiºÔWÆ:H…bm¶4KªZ Ís)Ê Fêr ‚-òFÈM&Š…8Æ·T]Œ´ç‹j€¥?G“ -ùŽT=KÌt…ÖºÄbáÛÎÙçÀuÚß¡l_mƒÖÅ+8ªOK roçÞåg¿Í¢ýÔåƒÝ·õI’,I%¨¯½„“ùÞnŠj@…Ëþô—ýv}ŸuÀs§ˆ)ýœØùÿ VĽO¤H¬3·N‚ *àr‘Lòw‚ØJæàè[Ì«! yÏYÁØMæAl×¼˜¦è°§@ ¸æ4EoKzÁš}L¡eªšÿêztRÑ2­\eÁ0¯M±{Š0ÛjàsR×ß…³qˆ»¡Â˜$+f>Ž Ñj€5ˆ~Pƒ ת|úMЍÞÿôN3ìôΖˆæjN´iFih]ê1ž$'5Là*²v<ØÛ‡qIˆßÒÒ?WUú•ÊK“¦Q¥ÏM¹)FåpãÔ¥²·I”¡´EÙ”±ÐìóØJ,Kª·”Ú§,µíê—.Ê+?Ýé¿ô‹ ú¹=(€¨‚m×…i ¢£LSÜ€6â&?È\½b*BÁ/ÙÐÈ'¸4º›/¿Ó$Š´ù¯U>þ©ÎÓü)§­ÌTƒ 4kìAfˆ[¸#´úIô‹ -‘K^YTÈàã*04©Ì-ý…"Uf'Àä Á -d›ÌYªÎfeêÂpöL3±¸q—=þrFÍAô{Í68¹)mØ›+ ô/á£GåMµ×{£ £Â´<`p_Ct•¨\Ë[,9Þ~ïÃHÂS®ýîW?zÿ]ý_`þ{ð’·ÖÔ:€ÍVc: -$ˆ: õ­-r¸¸²˜¥scAIhi‹ dzmÑ0¯¡w†ïkp¢2¨@?—JÀDU%pO`ˆéRäO¨ña „õÆ"þõ„ä“6P`w2ÿÁXoÉe»õW?¼|ù+w>ü~§{éâ³ß6lzpä4Åýn·7•™³ó}^V¸«ßJóö½ÙÞ™'¥ú£¯~Y>²z2KŠZ µ=‹‹Ö yßh>dþdbËu©™¢åE‘$½ì®æªO x´¬ÕSJ=·ž$]q - , £”v1L8ìºÖN&¾ÿpÜ>]â‚CYšÏ\Z„å¢/&`…2Ñ[:KòXñ:ÃÈ­'L¬-‡C-#ñ@âýʺ£«øÆþÝÆÔmd¹AfÀŒƒ%ZÔr~4Ç”8áþg{áÁAç©3¶ã¥‡QþDù°¸•‹ ðša…ÛÎåW¾þÑ¿û±*Ô¥aÔ ˜ê0t†ááœ/y4õ0ùŠE½BSbY *Ü4?ýÔ:¦+×^ؾñNøTßk•ãS€&âF‹cÌÃií:¶‡díÂ’Á àøÓ1;27‘mœVZâ]u/)"?µÍVÓ -B$Çp_ þV-Âx‹Ÿa‚t_Èä€Âºfä™Äp XTh£AE{s¹L›žC+6ü ±ÚÈR¹$Zm{P§xs“GÑj£iSù/hJÔBØ ÙFÈ×dÔE€ŒX! º92qÐÃ^Et„Ø­õ‹–±—¨ -aT0ª¡‡`ƒ…™D½¦N<â0ÕÝЇr¸¨¼œšíÄ ¢Xm׬) t3O - âÛ¦ãe3¬GÐÑEY„3&!nX’úMxŸE¼9“[ Ð7µí¯Å=n£ÿéßð‡Ì¨¡Ï{¾’ß‘Â+fܰ1D6(Œ(2£äRHÀP#´ÁÈ‘¦¥ô2seM÷¢Cä-iC–´–¿òàq~ÿ2BI} ³žV…ÅÇøQVÈ(µ€ÿ¢žÕ_˜®í€Ùr8 -5Ô龌EðÿünÎÃp?êοxëO…ñ|óô {{ ×ùRš)Ðí®‰(Áû5NQ0JÁäYF!õ-X—*÷e/ÜzpO°{0 ~ºßÜèa~‡&`@ÙÏéŸ`KEêdV·[k­ÝL=þI½g]×aþð~·½wà¾ÊIŸÁ€]Ìï¥vV°‘(OP½1ÒȨgî -<÷<‰¹á X‡XQœ¦\h 5u·µ»›IÚ9t½¦£(Õ°T\&è.íbž·æJ…’š®S¾Ú…‘ÇT­n¾ˆžÎCRÀÊg¥YAu'6£P+ç‰%ãì6/ ÷ð¨#cGÄë7Ë L~Z„.S±K²W2£”lŒ±(rPÏÕ]'eQ³œ\ÂùÑ‚Ï ¢?d‘\„æÒ ÝÒÛÝçHô/lÈ GÄ·Ã}û¹òÑýƒQgÅJª*¼øëK[~Ì6‡õŒMpT·jÚ³‹P£FmVMÊpX¨øô±U_Ý7àW³LƒñFBÍÍW9õ1ïÅ‚¦øÓ3Åêºå0FF 5‘*{Õ\i nä-™»Í2­uöÙèž¼fļÀLĹ5ˆ>h…¡×F1yø~8Â3tOŸƒ—@v“gË™S—½þx+Š6Å‚] ûâZ*¤qô¿N±/y»½¡ÁX>ñô¶)@É`ˈ6‹Û²$ÇIÑé(PóÉNòYé¼p^½1îS(çp¿‰5…þ_Q‰GsA$BµB0yÃiDGîy\yŒšgh¦ŽB‚ô÷<:sNä³Ô¦å:ü)æa@ |ô—мCE@§ç3ª,£Ö’v8’žWc‘0NÓWÀ ¥e×4ÿù¸]œ$Ò0e%sJâtÀ•—_{óòÓ·þì¹/½zÚ˜‘¬¥*Ë'°yðÈ<ê_íî¢ñ¾|ýqH¦·ÁüéºÜœ{ìŽPh…” -t`»1XÀA¦X.Çô@e|Àõ,§ÉÓø*Ðö‡ÿÝù1™ÌŒocéÏ‚B ±Ï Ñ à€€³–Õ ©ciÁ'€YEIUÙ±¼¨Þ.\¾2z€ZÙeಠ->8kM]H…ìÿ•EË(iP±° á…à1°H*”ˆñ‹À¼gÀrŸXÏè3 ËÆnmÆÔ"ú ³§P äj*X‡X –iư1¡ì\–è« ³WÊÊ2øXsÕÿ6ÐN{=# ò|Õk•Œ{š9uÃBb¤?ªº*0àÚ¯½q°¿çå6‹žT¡à~(´ånPk?×µf`éaÉɧ6¿ô—„„èwd৪_ŽÙŸ*ˆOEE©B,Ö^.íXYŸÕR‘ÿD)L²ËϘV5Lʭǵ½¯~E_¿ÔBÁRäèþQ|Ãþâ³/|¼0¡Á•˃gÈóyKeΟ»/È bãÔ‹ðˆbÿ+~gôà^p|ý›ßÚ£úÖ:S€ÉsÌ -6ÿa¡Ð€€)ûðhbS#]!iˆÓ5KÚ$2ø«Áç˜ôq†Ÿ;f—qg;î‹[­ÉäÙuä1qpTÇ!æKPhÔÓEÚòRÙÚE1g!b]: ²YÉ»jðlpG…€=ªœ’WEª…S²UZóX‘W@½‹9ë}äaæ;ÜÞzÿr÷[ àÕ\Tñâüà`=(Phºù âÙÍØ òñà¬îÞúàÿå?}þw¾jÀz•žÚb&T•°Y1°gP饌9þdèW÷ü¡/F.‹%ÓB(;Чµçº ÿ˜NnôùH›Ûªë޼~˜¸-êçÌíeñGÊ1γæ‹e€í Ž(Âo’paÄ$ÈýK°àˆyî@|€hµ‚TÉ„6.2ÿ©õݶ¹“—?ºß\ö÷îƒè}‘jÙà™KÃ_bnm°9‡œ˜Ùýä^pqâ€&èõÏøÔ ÷ô`x?¹1£‘ã6AúçÊ·eÑ–Ñ$b#‘g—ÖŒV€.)ˆ©ØXLùZ¢Óì”ÂàÔ%VÕÀ”-\j/£’ɬ˜AôKŽ6l‚T0·•ÿpªK§C"¢•µ½eµaÚNF싱þGD?««†Ò_ èëêhg‡ik‡»}æ¼”M ÕÐþ =KÕuZYŒÜ‹©ŠqUû8¡t4ŒT·v!GœÓlžc±ô—ਿ§”3,K«”V¼ ´ÊèV›ˆU’g¦¹  ©šœU=„—±XÀh/RŠ•L_ŠSWƒ@×]Ä—êEIæPÂÑæN°mm,° €peG ·?ºôÜ5d jJ/ÖÖ³å1ô!LnÛ_9ŸÞÞSìuXÕ `kÿ °kY{¦ ªÏÀÒ:²¿ -xŸ«Õ“8Ί ŒO2 lÛ¤#â²á¢F;‰“„u /[JÑ ;uÀ4ɦ±×lFFðfëTÏ[m† Ì£4#BÑ~'¯ÿ(ÁàÔ"_[rxg Š|£V30›¢¦”?£ƒØeÖH°ÄA·¹ˆR5,u Ìw •ñ,Á˜’í ëG¡Ã49´Wš/‚[ÝûB«÷šÖuq°ÿ‹‹_zy ÃW˜YJÕIöƒ;¥›fWVáaÒ&&Ö8FÒséÿÌE³ƒ]||rüƒnP#° (!gööö÷o>|SëÅó¿õrçéç5í¹¸ýþ›·ß_ÿGXn3~€ÿ›‘¨Í‹š¨ÜËÉœã¬à XHžg²$B‘–]óT ¨8Á­÷0!ÑÀ»‹w“T´ê~¢k|b ¬ûDOf˜ î$ÉM#±<¯€#Û+ ;I²„* -&G,ý½Ü˜·\'",5Ì ä^Ê ñþ›¬86 uŒ cUAA¾Ú4aQ˜40¨«„aï9§åh§ -ÐBÓÌI’Ïo'–Ù>}ž«¨s0Òêþü#¦g8Eé8[e®r‹x~´^žÁßúkõôõÝaLBp8ÄYêN#)i­÷R-ƒfq:‹C.©«»ÚȰj9ãý‘ —@½NØkÕùеÞ=$ÁJü$Y í„D¦šsE9wޛȕ:+{s§¥e[éQhQM~nÉJø½¥Ä4š‚ºh8Â":ô£ ܆Ï@‘›ø¶ã°Ôl>y©sö QnijôycíSΚÌQ®ã°ÜÜJ&"öaõ7úY‚mœ%4.… Ò̧© ÷r™+¸S¤¥ÖÒZLsñö5lßåß -FŽãÇi:(sŠ$Öš¡±WUMUé`›2‘Ži0FR‰c[OHŸ§óKÌ!úabš5Ë&ÑjH7Õ‘R"Ï0I…±ò,¯¡7†\2uâ’1)ÿGeuXœ–›ºæ?;=|¥úr2 C¯Ûæš[ÌðÊѽ›•­pó•~ðÞß~ûÐuz›*S½öÊ«Çï¶ZêBL3ÂÈ@›ë*`ßÚ¸–Ö°â=òïã$Êf½Ä Qñø`$Ìs!Òü}j¦’˜í33û ,r0¢¹ F«>€Ü¾nÔ1…KíÀÙþE…£˜ UveàÛ’ŠÏÀ÷³26fr¶)c¨Ä)Òк}ýÍþ…+0Ü(ú¿$îüäÆÙg¯êÏðÁ˜z˜+VF6Ñ*€QŒë:ùl9ÑÔîâÃK&—ûÆ ¥¿üïºhêrpÌÁ6øá( -Aôo½óæŸýÉ÷à îâîÇ%mªÚ!¸N"Ц¨ï ¤4LÐ=Æ•í­õA€ÇÝR©Âdž*bÍI‘"8u‰ÈkË„6Pu±­Ùc,«â…`°'ò„¢Á!BÓ$‘ÈNþJ©¹œÏsžpûÙ€R)Kר)ê?Øn–įü¾„áv»e)¯m­èãÑÃ’zvV¡†ve5C¡^R‰ë¸èZ% zx„l¶¤û›É=±gçyÞ$´Rå·m”taÖ˦óxÃv™@(*Ê ®p@¡j'Ä9˜<9¨5t ˆPýD€P -öw¿qe)Ž—W§Ê¨Ý‹hL¼e‘÷$. ØË8e«‚„us³ÛeÀqFðÚj€E-WÐðóèy¡ùâèÆÎ2éd)ÌN¦ŽÙ½{Ô@£³¥Ý6CYRŽÛ€€×šr²à'`P@ôà üþu-5Öùa¶ýÁy—KÁ"Œüqzƒ˜ÔgG1B2C,û+ŒøÆv·®¿/ìà˜Þ ]Z¼Þ;ÛyêÌ»ŸýO°OIäå -®Ç—²Ž„ìÄm~xC@Ï|õJ§×«vtÒjñ»;믽±±3Ð?{ñå¯~“u¸eWŠ - sk0sAÃp˦ð—%óêø©/Dç)äõ› ªðV^Ƭ‰5û&Gl@:ØXh]Spgy¬í2­VÓ£~2Â:SÉmÙ^ŒAÕ†Ç=mÀ`®!Mg¤âö˜5ðÑvYp°¿WòåV·xVMt—ï/ÆÕQY"SÐoÝøøÃ›Û7¥Ã…¡>°VA—Ù|¿B…€PõÎKa·R/¼,}ÂÈ@˜ ð@즱«êoiZ*ÍPÅ9"fxËm‡ó˜Mç'ÈQ&b¡=ý àÅO´HbÈKÿ|)C–ˆO£´šfÑo5ڙ⬃àòo]{pÿ“0ÁkâºOt'sÅæªøÑš”Ϋž?U$ºQ³ÞØÀŸKbËqÛ=yÉ­†ŠµÅàaWÂ’r(_`ý¤q6+j ú]–þ¢ÖçØe/˜G útæÔ’$)®¡ÅÖbrC:Ý[ØÄ–`‚øüޤ+ - Mž¥3«^¶†NE -ŠG«Ëat@.}& Õ€V6 ¢p<¼½=øÛ+ ·Ye ¸ñŸº†ã[½Jƒ,_yù¹¦ç€—KV0ˆªV»=˜¦_èú@„ÁeÉÑ‘eËtB*ÿ7&¹·ê±ôG‡AÕUÛ+ ËkBEƒÍNG³>Qü!¥¸ôÖ”€Tö†Ô[pÀWÂH!xÌU€óØ!°P€ôÇVb¶”þXÅ®Ü,SŒ:Ø5Ó™Œ«°¿ŽG`þÃ~½·9V±30ÛAdsèÎOÞîìÉAÇdÝŠ/8àø‘… =ôïlÉ¢>1“ApœÕ¦¤eö@íŒÀwö¼FM`ß;3{ñÚ[ñæ -Ðð±Ý_ÞedÓ €`‡ã—¬á8;²ârwbPo»ß?æ"æ€ÜóŸ_VâkŠn ™Z–¤Ký™z‰.,[3t‚ùß"¤(ƨ(Ê¢i »#èÄ zjF dPI_øŠƒDêYµ¹P†¿ŒYöàãGÿöÏôo -<€¯ÿýo‹ÿÿ6Ð/¾‚#:`ûæû7¯ß`'€·8MýI$I¹Ñ»L«eç0ª¼dÁp0Þ"0cIùý€¬býqËF—:h]1çµf©ÆMp`Ö–Cv%Y­7¶ýyÓˆ~xé÷Aô‡’Šý”.Äš­ÖGsÓ&Jç&YîÚkd,Á¼RÇÃN€e9 lÛMӏпrœFRAÁ‚ô·Áˆ67YÛá-×¥nC'–ð±†ØT‘Ç1’âó_(ÙUýº qU©ÞãÙuy*°ÄE!YòL£<«\¨!@ĽdlþÓûæ¢Âé/‡W¥l•mN(¦Ä€®ìãÛÇšÚƒ€WopióÌÆÓgA €ù¯G“kJŽßK;ͲuIÅüO³4o¬¶üdfÞ\k°#%‡É,6Q÷˜\ßk®Vv—]mÀ¤Çô)Êà(>”ó¸Õ¦âÕ0³WŒ+b`è-;™ÁÁž·æEÆç¯½Ø -ÆQ0†‘l7ð( -„ J‚£–|È4‚äË\ƒˆfcFÓ£Ì#çlj ¾6³lÖ5…q–Öæ¹k)j³yÞ¤.˜&­Ë€ ChRbMg Ø/æªv›ëÝ۷ƒñÕ¯¼Ñü¤;útgtžJ»×$õúY¤y*jæésWD&»pŽwwî¨~¼|%¼uN÷ºg_t]´†`=$½ «Éøàª)ª ëõ?Leg­åà“®U]øFΊûÞSƒÞ?úOoüøOÿä¿þßúÇßÓ7“ [Çyïx¬¶ËÕ|²e{½;[[ãýëIæ÷Ÿ½ØÚèÂÈ™õb“!z ÊPÒªò9(yÍ\¹•¯É6ø0! òN)zÊóc_9F6‡±‘-(]lànÆQÎYÄUÄÔ#Ûà”ä}{ {j~ޱ ›ÖÎØ‘…¹EµßF®Ý‚¥p“£½Vÿep{Ã0i·Z\¿áïïßxç/Ï_¹rþÙ+ƒÍJeõ‚Õ_é;“kŒÀøN9·-Y ³+°òöʵ×àõòïl´õþmb‚¼½-邃×nomësö”Û§ÅÏŒ¶Úg*Ç3ëy‘g.bœXY²NuKj,ÅÕ“a'Qz[7cÉ$+æ¨8œ'ñ“‚8Ç6¶‹gû)–q!ð[×Ú£ÝaúÝþà(:â¶É‰a¶û¯& ÑÌÚ§îL)é†l|`GRÀò&+2ØßóžŽË{Oà:Möwà“4)’ÈlxIŽñ"ÄhÂ"Âd¤F\>RŽÏ£d6Çž¬5ǬÀtÒ<1,ô¦IŒQÆÕ(ØsÖÚ¹e˜ -âˆ'©a‚cÊÂÄ~‹Eà IDATªrxfÝ-c@:zv<\“Ι#ÒAzû©ß^k‹YbÔ]¤_L’<‘ÚQªuL€²Ù!í0ëq`+d€ï¢mÖ|1EêÑ®§÷sÌ—`Ï>ð9¨FÞ‘ÍøìzbK-ÏXùpÈY’g\b"í£­ë{Ÿ~ܺ×m¯w7Ÿ¹t拊nˆ$=[­j¾Äù( ÷dGIÆv¨bJÏòXeqÆNSo -Ä`Ô3 -Ũºkô1©¬LÂ1Iôã(L ]°DÈ3Þé?¸újD8¼dš8+àØ t?9Æñžã9¼OT&%†FÔf²K"Ý ;}Œ·µ‰¦†Q–Òãø¶YqŒ@ô7N­÷/a¢bDý~¯¼òZ@ƒAµºgÎvîÑëvW(~J!ëõz¿ßé`|y¬Ú ÄqÄ žËõ(fè‘®·…Ëöxð)‰X³IßûtØ{zðòï}t¼¾üÿxWQÔÂè%‹¡¶î·Þ~“È—0µù…×úg/î~rB'B÷_âûQË×{³ŸĘäë‚é –Óãù¡éä«Nó›ö‚™i¨ -Æ#†J󪵂l”°\/ŸꪰBP9;‹s©ºÜ¿÷á6¼àøÅ—_¾òÂËWŽQ„V7Iƒ“Ȱ§¼`¦r«¬jø¯=ÆKW_€€€Çqó¯ßÞºþ¼ªì•ᣠùD+|Toخ̳ÌóöúÃ)L †S3WZ5Î#î(c¦,%‚ÁŽÆ¦¸`V+~ A`²Ob#TÎcl;ì£ð„ÇÓT`_ål@úg²ï8bd_RB­u¢‚WS£‹üÒ¸(ÂÏ1ÔêR7D‰;`gH¥¹Ô#Ca‰ÕÕ¬Äßýƒ}ðQlElÞÍãOµ,Õ^a$–­Lö@5êü$yj‚%oSÍàÿÎ1¤á ¯ -Ç ìéy kdù£í©þÕKâÿ!ÎJBÊ}‚½ê0;sK×Ãh|—rrà(0-¦¼©Z•šeap9< otæÞ¥³ç/k5À›TŠjû‰L‚²©ÊÆUÁ5˯½Ðµ'õÒÙA•>ãÒ°ÒÕåˆ3hPJb‡âw¼Oë´Ÿe튪7–þÌxÓn¶@„ÅGEKNk4Iâs‡a£Ð7 Ǫ³ 7æÌ˜&¹€8`Åú@(Ô¶ ¥¦¡®–—pÞ;›ý®¢nÝÛ¿;ÀAý”ßí| J®Û?{å¥×áÏVOZãÝûãJ'îÔÁÇL\AãŸÏó¼ZÙä¨Â`Û°è5PåÞÙýÅÝþ.€øÁÿð¯oüŸßß¼p¹òŒ¥èù×ö;oÂÄ3ˆ~N3DBþK:—å¡à5_˹UÂ|YÔòÿz¶4ÿY€ôçʳLq‘Ÿ9×dY:º/£ Z`¿ßiÊh°.”M¶:f²8BЂe3…PÒ™"!h£Ç‹~AÔZãýÝóª)ÇöOnÀ @\yñ•+Ï-gÌD¥ðÇÂIBK§ôØø¨"œÙö¤ 66ûW_ymëï¼j êÒ“Ðo4ÛìÕÁÞu\SU´¢ éÉ<ZCJ™7MŸ -M%ý‘ä¼ns¡_J¡HseUÐAïÁ23Å;’fS9Qïê¦×lGV4 Â0ì÷ûbq &KØÛkMýA€%p%ôÓL¤Á< °x -’YÍ'»ðʦ!småFnQÚ9šŒÀ–G…—–8äþ %Е-…™P[ àð -Èð_ÍÁ „d„–Ç$(ÍúÉï¥,ºÖ -ø׸ÌRDdêkH°5žNªW7YÇ@:`IúKQ®T¸üQ.‹We•¢’J´2Q•Þb0ízÝ®+!Ì.¹#*Üz\p]íÎÏoà Ô@ó‰õþÙþæYê&=ÍØüMPg*DfJÐÍuKnŸ,ÊÀv&?€d‚‘ŸÂ,–î¨ÌR”åÑq[ÚØŠéôúã=Œ§ÃþùßŬ]¤Êp@r±ðr]Ç÷NAç•$³®“¿Î b0ÍE¢¿M×h -ó_rœi‚9eø§ÇC‡êF -ÇæÅ¸I‹ …iغÀU‡€’†Uó¤?ÖßíÉDèPTù­*¡4 Ë‘ÛV#³ÐÜó?¤À‹Hݯ"›FÚHI¸Ø À¢èY*sàœ„[Ù¨B²£Èô"=z)6\\+.Æèü<_Z5BÅ6ôŸ´#íwew3b䢃֛‡g¹N>—Ý“•”'T~ X2e€HŸ_¦ -8m  -5Ê?é<ªþz–Îêv]ß‹P™=³Ô,$¸Õ€2éIHºPЭSƒûŸÜß=» j`ýô&¶ûžD+­:|ê{‘øÁ˜KLn>/òŸ Ì„¦!œÐdô§F§¤YêÖH7ÊË¢‰ Ò9îmÆèÂÙâ a5®½„ Byc°h&ƻΚ¯æ©Îî­›áçÁ¥¯Â1‹³°¢AN'òïRm*•lðb1«ê˜ÖÜóCÿ›ƒj:uV ÐS2rU§,1óš{ƒvCrjŠ9ê-ËÀ(QJñªõµ+¼uà,–cÚÎùk×,B KìþrçÒ+o„ãÑd<‚ýÆÀM¼` R Ü7j٘ʔ8Õ3çibS bpœÀ‰Ÿ…&ÖÞÞZsÑD‰¹²ž^ž#ßR£¨)ÍÁgòDÔå”ÊjT_ ×E££þ™ ·œ·oüøûoüXà8îö;o³cÞî .´(P Âk´ãiœ…ãxI!⢖GÁH Q°§1 žÎ.Ò„k=Q.Bw ^ø¿÷>¥…Á(©¬™d&Aƒ~àßÞØðZ˜ÒÝì÷Î“Ž‘í™g¾¨Bäõ’ ÓÔ.v†œ9LЉhbz,á}¦–qLO?«9ˆ€. íï¶HôsŽš§¨ƒ3štÏ]Â&eq4™Do¿ùã[\?÷Å —_¸véKWq!8|/˜ù&‰P ’­u™b%A¼Q¬•c¥ÌÏðëßúÎ+o|m8¼óÖÿöƒm*>ˆr†Õ@m­´çÕJ½$5ÀýRjá8Oç–¨›3Ó*æ2Q#¾*ר¾L6ç¥xKR–Ákæ3 aƒÔ>?@Š:BõAÙÍ&_7–|^t0L>!›“ÁÇ"d'9Ü3©vMÚ<—ĤÁé±Kp2Xí°ZOv©(É%Ó°iaÔÜ!ÈØ½®ÄAW,M‡éŽ«a•,3íÀ -õÒyÓÅ©;Îé3YasJâ÷B¾[ 9Z²ÿ—rá€HU€|éÔ#Áäø?ËÆš)y¥ bâš›ü-›š kyMÍ rmãÅ:/pÁÏ2.(£: …‹›/GüÅ®“>"•“)ëª64ª­ÂσÿAP4C›Ø¥HJƒšü0þ£ë S¾Ïg¨ÜÑ£1Oô#wÿãàþÇÛ›gÎô7¿p!8Ld?.©×EŒ‚¢r%7!52DÞ48PDHö k°+d~B)(ƶk|‹àòÎ8fªBýf³Õ™ãF» ¢_žLK—×m*áCŠn aP1ëÝLWÃGÂ.'¡î0âý‰GÓ(Ê SRGˆÇä;UöÌì:\í)hÙëüiy%‚¥fúãHÿÞÓ '8…ËÇ,úaÄÊ·&¸†ñ0³H[kílf1ÉHÉÁ`NÓ\aöñÒ€ÐU‡¢R—gÚRdÓŪ#‚w0:k©;éÒÆ¶¿Ê„™eºN³ò× -Šˆ©¡óLa‡Xh+Žhx”d×sn–©Ì@xbAaª†ä a”ê¦ -ë<ž -N©bƒKørª,Wm¿Jx«Šñ1Œ¿.DÐÒS–±„"eO‚{´¸ì 0V -ò’âØjàÉw‡þE€ÙŽRdâµ´>€G让ŠjÉÔ(/E|bõ,˜¢&BéÏ¢›âÂÌ— -€7‡‹è‡®ßœ¨ ÿîÇCþýs¡l[í‚¥Ä@Gèr,œFÌ7-jÝ_LÕ¡F¢.ë€2£¨q¡D€?Ɖ圱ß;üK[·2‹,±¼›ÿ3cjÕ ÒB“žå>o^Ó‹¨zÂZ±’¬ tñJòœ€Då 0 ¦¤?ɼ†-¬jAÒd¤ÀsÐÈHéÅÌÆŠLk©×òO˜Kv>‚è×Ewspæ‹—9þs|k7ÛÜU¹¸Îsz»?¿3R^í;ý3”óØÿpŒ¦ñ½;ü_%"«õ|tuÃ?–aã¿vÛý¿ÒZsF»¨ºý‰IµfËl´ŒâРI<Íe?> Ö˜%Ø•žÍØÇÕ!bëqÅ­÷ß…×ÿ·âÕ׿:àÜå‹°O‚Ä÷}Ý*d bȱ´H‘öË´¢ yŒ-SWz{áï~^ÀïÝúë·¶®¿Ãj@ãÍÓ$Ö¤.4iSÍ'mµéƲ ®¤ ²4ÇœN&‹¥ø5¦ÖJÑÆæHx6íT5¥®`/f1gôéõrüNÁÁ&6Tmæ?UŸ0)…ô ,ò¦Þ ÊÎsY'Á! GC»Õß›ÔËKªÖyÉæÈ[#îhUhàà‹’š¿Âº¡ÀOZ ŸIÀ[¨Ž}é¦`þäs޼«kЙg ì1Œ%eP†øçfÅ8nJ¨pe°Ü7ˆÞòÃvÉ!"ˬº -T ä×ß»?4WœÞ/yóCÝ#™†æŠ ó&‰ ³ižÞÜܽ}·ÿÌ+s¢il¬âÕÁ|gq‘.qãÉ‘€±t’Tm -Þš­–,¹*þÓtÅ®¤ô€ÍÐÄ¢ óÁ -±V0ðEElŒ5Í›Oެå¸ ;>ô‰cÝårgç§ÈÆ×}jÐj¼;ôìž{9Á’®nr"l\4{r©‹yŽˆ®5aÞH_Ÿí“q$4™"\k>ë®#0ûd&ÓËj8à>­L†Rˆ)ö¨ -)n•&à¢y„ŒŽÂ±Ègµ 2ý̹߼÷þuP¥?HÙ‚Yš-rÑÆöìKT’OùyöLÿìÙ«çñþ_[{÷ƒ$‘&A²èZÓ`9Ží:V ´cÍ '©ëbá~†„bvåsÉ¥9[!H„)c¿êÚÃP` m%„¢žz®=ö‘”ƒŽëµ:]·ÎŠ“bmŒø¯mØn#‰ýX‚³9IFŒbW%A² -d"¡qhŸêogEosÀïöÖ»ðjv:ý ¯þÖÕk/ÉÐï—ÞO6KlÌJ‘‡^'›n†˜ÞÔM!Á Å -¼òû÷¶é׳s_<ÿÂßEíÍÿãûÃ;·ÿìO€Ú…SÄÊ×a~ (æBQÙÒYÌÖ …ÕG7nÔL‰gUmœ3T;_Ϧ1µZkÂÃqOõ$Ù½iíéÒ0Ì&!§Ô1Û†Æb‘=ntƒ¥Os>Ò=Õ ÇC/mo×]õ’Y‚]ç½fðp$ˆb }¥ùÓwÄ;ͤI\$ˆ¼˜h0Iä܈‰àÝ8JÝSDÈ1+02K¢ pá‰`âÎÀ1R‚3øq.7åâ$- wÙ5Äw–¼d (—Ùäš¼`™ƒÃŸÅ ±*6ÖÌb"‡ <[H¹økÖI¹ -䉥(¯ÁãÃO昣¨|`ÅJ#œr6üºV;s¼j$¢¨s"\ت>6¶ô ðÞ]&øQ'Äøy*—ðøó=€@U3ú}Çs’ˆ=¾²ðJ(éÏïÈÌ!ÿ¯Ò*É¡4' `&;‰KÞcXrÔÆ (rVqVä*‚6rW]ØÃËkµmŠK -Š‘±€wRe¹# SAwÁ>Jq)Êi³¥ÿÂ%)µÄåÙS PÇÔÀ‰dZ[ñh—°}º?Ä+ßmÞ„ü o¶NuÕ¦<\H~Y¤º£7NáN³ÌkÈá~œr–ì0…²•ôªÆ­òXô-ø®¶‰9/;D#ÊRŠíCïuŸ9ûñg÷5Á;+w®¿=c³ÂhèR­ÙíõŸ½šS¬>ª%¸w—BkË–>—Î;¤@ú;ÊQc£’Å·’>a˜•б$Ù€Õz`ÜüYãz× -ü.‰£ýûCoÍÙ¾ îz«ÓFEuö7N@v²A„éiÉû$¥ªë¡&žP>#nù:nÎüT“ñÁíëïÞ|ûÍ­—®ÃŸW_~eðŘxõõÀ܃ùçà0˜Ãe”`!Žò;8Ðoü=,Tþú?üÎÖ{ïÞ|ï:ì«çÔ¨¡…f jœyÓ«REJ]fÏ7‚û¶° g[ÎðçDoþÅ“»BZ¦˜g²?!AŠÅë*\¿! -o —êàü¥}bÁ ->ùþ¨ÝÚ2ס¬)6­´´ál˜H©ÆO¹¬ÕRÉÏiFI¸x9$ËØ®/Ã.jñò¶N -±+ãÅÇX@QÐã‘ûòœ O)„r”H¨ -apÆt]…>¥¾(åW>F2ȧ:î=ð>‰„Ñr¤ {Ï¥ñRƒ?ûX10H¸B(À 4 ’zÌò„ zîQÖ ³ÈW¨ /Ä´4¼hñ±–þ ŠH3­(´ªb¨ Yy,©5-0HÿÁsW†¾éß}zj !4ó­GqÄ%Çîjé´€«$®¹ÛŸÜþ 1¤™°+U—eqõj—ÒŸ«À¦ 3%¤H23@q]ûúýàÁ}þ°ˆt<Þ§GeƒMm>N´WÝài¢»ØV°ÚyQ£*êµ)×añûÎ:¼škÞMͰ¿öÊ+—®\»D]¼»½« •ETùa’ž™M޶¥¸CFÅ’×óêK¯^E'ã»ÿæüï>øËñÿ2ZU#++϶¹C0½„%ÒR±•ANì Odöp;­S§õûÑ¡—-逯Ððgó€FLã.¸W%ê˜|”ýƒ;ˆA"N@Œ*ñO¡î–Qÿ°º`X‘†Hé*]l¤£²Q`¤9 -¦‘¿Ëp,0.ÁÄðZ-î€$¸O1±!ÉÒB0IFiãsvw¹]o!÷99¤–ZhZxS>³ndúØ*Z‚mîê­‚4Ój* êŠj—66ÿ…Ê¾ŠŠ¯3½¢R°Dç§?_r`(é¿tX2O­²ÁBfM‰ÛJ⑪ ¥]dК ŽuBùc,îù»_MÙP’S-F îkíL-o°¾áu€Þ˜õ>ŠN¨øèRJ -Ô€MO%‹2ìví: àÕî´©ÛQ¢t³~­É œ—ÈLI_§™×0™cF[ç`ÎY²¯,•¹±š‰°‹xžÄf#»½¬Q¹7=Xýß޸ö•oñ1è–þÇoSþÜ -«% F2<S¾Ð5 QÏü¯Íd/N«WhÃqÒëŠðóB}Ø+r®2—~‹70ÿù€¥?øë}÷‡ñøÁÞŸn]|î*È}6ÿa¼Èòü…;åMÕjT—€´iÖj•ùØe¼ü µœrKs¬»aZv^å[V×®Ã|ðÊúRž®{ê±ÍÍ…|‚ÂQƒjK¦jïuÔ÷I T7ºý³›·¶%þg:àßÿSo­ñá¡Fy«+G?Àª™dþ“­W3@|ÃEMð÷GÿÅ¿â_xÿ­o¿û¶Î£0¶Š³¹iÕ¥àáU;€;²é¢8Š-eBykmýpÐy¢ /þK×PÍœq ROWN¶¥•Ú‹è0äN­'»ð -ö÷¤õMYSìñéyèIðõ”ð<ÚçÜŽÛBÎhü^—:aD"ähµ¿¿INvz\ëEmÚ³¯€#¬šÂe¾—/Œ>oÉ}®ý3èîi’¹÷D[<óuHšÿä=(" -)œ5,§šã]ªš:ùò+äqù¢F>†¼6~\&‚™uJò*ˆÒºgJfY¦ÿr$üÁBTrH€~ì”ר CA+Azûò! ûßʦ‘d#¡fž‘¬”±9ª` ³ÈŽdq×àÔÝäp¯èÑAr˜x^Ó(°ŒÌ†g‹ Q-°‘P¯€mÃf"°&ö1ÞȨ¼~49[²Ý6†³bòôŠ}P6&†81Ô%ŠšeaŠ/)Ð8v-Li¤ ¡Â^ÃI “z°#BÔ„1`/`†âëh9¤Sê$S§úïfÛ1Ž×-We®âº@J}°¶Ïëœ9…cØï;Ž{é¥ß¹ñãïà 8N‹‘¯0Ç}0Üà–W…(Ó8NÌϪ#”c;Eš[«œÜ¨#ÈœpXä52caÌ_pœI˜JâƒE¶¶æÆq %Gn±ü4r­W¿)ÐÂñx¼¿‡1«[ÛÁþý«ÿÞ×vv~)Ãu²qû\Fa: ù8ÏÁÎc™µßÿ,†g‘gä²pmÎ÷‚þ{B,ܺ‡1%Û—€ n›-BF–n¹*lFÚ^~§Èu™‹Šš‚?3ÓaÍ,æX„ˆ}¤Ùp.rH4OÜL`»T#¯šû4!aÞ8±ˆµ·ëRR” &’´*!\#d¤çÖ*I´ºkʈJ —®Ì¼9Œ2Ucfél£7€…M&7¯_gŒÐ7ÿÃ?€ý«¿+9ôo¾wãò¥çõŽ“ØQhMäÈ©O·`Uª¾³y¦eÄÞÏoÃ#xáÅáþ³þê­Þy ö‡ne=Óôñºr ¦|‘¥£mJð¼0¥a ŽÿÊ3'“$ üKW{fC_§UË£4E’gì^í‚Q’E!È“0c^Y,' IDAT²I=wi1ÏMÉÒ˜ôžepè†Ãg6£(@çó)¸: ¥ø°a"}FHŃðž6¬Ö^¦,&—ÍpظÉQ ž@t“²{Óx–ÕmæHà:mǨ›hg¯X9 1äâQ-òヤ5’Ás–Å:¦ô'ÐÃpP¢Î‘{3Md{LÏ=¯àpRYœÃS]Ïê2¶SáÒðvLÃÉÉŠgrû* =Jbb®Óˆœx>Ï'º’ vžë$¼iy¬Œ11gœ®¼–rbÀ—g1èWƒj"d‚¶¢àëUJ*^!I«Õ¦JÈZñ2 ¨ò†{kMþ3=Šáe¯º°ã¿ùÄcÍ1ì¥ WBæƒE“ s­‡A{c@ׄLÕN¶ò‚€]BºùÓp¢+ >€m¬\Gx„Ä'`ð×UøÁ„œÍú)¨~س‘?.ÊðŽÚM,’Ša&€c© s‚=^×{}ÞxCú黿¸}éÅ7ª—Ú&ig)#/§”HöAŒGÁÄÊõ&™v>' Š? -‚B2È -ö†ãrø( |kÍã˜,þ=ìv»íû¾lùýpÄÁ¨Û×1Ùè¬oÝÏc䪵±Œ4i¸×OU°‚K÷XïmÛjôEÛ"†ÎYqÜ×—Ù†¹'è‚ôWo–®ñ1'ìKÞ•ªq­åf•§áÄ-&öÊ* âÒ‡AJ‹ÖQØ ß† Õ&޼ñÌ÷ x%Ôç_ÿ—ÿâ³Wnoo_}ùåk/á+™œ|I81õ"Q˜ 6ê1m J6yøDôÞý=¤[q^øí/à Þßzÿ½ïýWÿòø9¯YÞ2¥Íø˜qúHÑ^X˜ýÁ ,g9ó×:ÕNŽâ$ØCÑOkÁ<”²2NŠþ"íîjí?¤ù'†Äü$¼0ôoJß®ÆÆËA&ØHKÈeú'Ðþ3e‰·Qcé¯?j`¦³upEhI§ð¢xÀf>#/k*XòZE“„×ìš+Ë"ßçä*×[è2)ôÏâmðYbøQÌ?6Ò/ªèMVœÐQ²G’Azîbñv^ó\•|+oÌP~[•ƒ eYHàdœ>¬Hý Ô¢B•.+Ua -·Ò>{±ƒ[‰ð‘:öÛï¾¥?«Ô×ì7x«Oõ™D±wíPxñD”ø6MœÊ¦ šÙB§?¸=L;›ûßÂùýI³_ð2˜ÎâéÌ]©ÃÞF3¡JÒØÜ 4.·žb×IJæ9Kaþó`owüÙ}0±û_¸¢Ì8\º*Íj=Ïüõp@&Eù€ÁjóÐ(¸g€¼Ê*?Œájn{<å²È®Ò4QÈn±)YI¹µ³Ü@ŸÌP×þýoùv9S]%Èt}š¸®æ?(ØŸÀO[5,sœ&D¡³*E¿{¬çÏãNÅqy-Ù™€Å’ýÿJ ›PbBT$¸–ãìÊéWHŒr$¤ÀH[â†Ô'‡/–DdþŸø+ˆn x}ƒE/_ºtåÚË'”¹õÒÓgmª –.nÒ‘O§"ƒ®¾þåÿæõ7·Þ~ëæ;±uý­ê9ùQ‚à„™ r}kµ)ÏlÛˆëOå”n¶Ú`þOü:O”ëºþÑoh$",àE–ž “ˆG¨¾éµZ‘ŠV1‘†ž*¦¥?zWšmîX³¼p’ µQ(€Y³÷Ëa{cÙ™$a¥…Õ’=Wåc êFÉ7*\›˜yÊÞG(3¿«Á¼«Q#ŽØ¤qÞ¿(µfš¤ùad·Ú°ÞL¤¶õre„ié/Ïv¬W©šA -çá(7Rx’Ð:@O6HÇÎh+ÖÞAûvÃ˧ $*¦?5&ÙYª -#·HÔ ´Áž²:;DÝþ »9XPé~ªvF%¢¿Ú¨¤Ê鯿?HÿÝaõœÔï;cô‹àÅ…•Æ­)±n€z­¸kmì+»èpûimþ UU/!¡Ü>³åŒö5€å¾…àøˆ`w=Öy>çrPXý¯æq1Ë‘~n£ü²ÊË­ÄM„C0N^wœU°‘“CŸ‘Bþ$nS÷´&ÄŠëƒùÅ—^üáÖ›ƒ«o€ô¯&”ÒYÚÈs=øÝx - -‰±›F¤Ë[à1¶Ú÷>ºÏ<©I@°Ç5¯:LåÚ SC¶‹ÉNá  }råQ³Ñ„e†¡¤øŸ#|h–Ζ‚?jBËcƒÐèš³ã`Öl‘F±€ÒÚHöªc®CÒ3”p_˜x3ù+ؤ¾f`Ab^Áÿ  Æ‹ì—EI&Ú¬IẨVAÊtŸ!¬(¥~ ƒ5ŽÃ’r½_üíöG?y×ñšÃŸß¹ö¥¯^{¡iÛgûéú¡LØ Øª‚„³•ðzĶ0e {i6Û_ûöwàuûg[?úßÿÍ­÷Þ–ƒA«=™$Á$èÞÜPLŸ&f標Ã9;O÷à<sy&ì7ÖÛÇ{ù<µ„ÏÄ©wå=Dî 4‰,jüâºMgÅþ0Ú5WÝ[»F¿‡¡*øJÌ@ Ái#ÃŽUí)f|cž[d=d³4›g¦¬Ö¡‰8hXÌY1£sV=MŒª©°q2gÄ -¿¥ÛüÎJÜ”‘pfQã$ Î[øVã - R*ÕåX•[@€sÚ—ÍÜP ¥ÌxFÓ,QI-é6Å縈ù©Ãº± -÷8B`!ÑYé!5žÀšŠÑîj“Ýz0ïæÌ v튋EcsÉGT 7QŒÓŸØÃÕ€gAzÄô%1¢¹ŠÊ¬7tŸê•@³Ûqj-ìí>ñaï’ ž„ÓlU½ìªÑePÁ·|_™cöjc˜,×MA·YNF‰lÌ$¢JÐ|²ãKW_ ©0Xã|y@  [d;ê‡"Ûõ@¶¦ ©•  ©tÿ˜a^“A8†¨a–O…T\ž²»†O¹µd¦²+®·¡RÞ)Œ¸¥k/wïn‹ W6ΟßúáŸ_UŸŒŽ’áÑÙͲز€-Aw9?AXs"Ò+‰S@¶#w)"ú5J -û-Q‘ 4-×Óiatµ³8w§ £„×<Þ-««QT {‘E!HÀg$Æ€`MK›‚-ñ“âð_ऺž«ËGðRÜåh»‚{ÊxwÅüçB°Å<Þ³·‚|ÔðJ$©– `Tçð±®@Ù‹uf‹´ôo0ˆAŨx.Ë-T.TÌUžD—IP<<#î‡ÊtB1ã©(J.T7qì6’0‰­›lQ IÐç/_~þ¥_ÕÏ bDp`ÕŒ ¬Hdb4÷’D›ª“G>¼à fð‡ÿôŸÿ¡øç ~úÞ;7Þ}»zªý]t¯Y „AÐT-(I@ñ-Y[…Yx“aœ¼l&•L#ýqÅ•‘ôÖ<ÆØ„Ÿ—áCYx s@‡û”;…ÇB!åáÖˆßÔ’ÏøáÖªjGÅ%ÁxÔx²Ëy{|W¹ÆLˆ]–¹â°«±°«þŠn:¦ÝG—t%êêªæyŒ¸¤­L~ŽÈù¯ß©>¬š`àf9tìŠùB[‹IQ -f2ÏU‚Qìh9–YHÒÆF†œÛƒ=¼bEKŽ,8`›Ö„F[h×JÕÓб’þF¥xgs°Ölw{ ýE5Ð8µÊÓiœËBº¦¦œCàxIú¡>bFcœp–Ûȱ€ž[5ð"eHq ðÆÄöz4ñ9.qƒ*@ö‰ä8bEXN(€qʆ–þz Ói.B¸`ËÆÚcY+€žÇL‘ÄÏÙüO°pÄö%•@-vé®=dÒ#¯‰>Ð¥W0åëÓÍ¢ù_Ù¼U<–þpmªN„¨²V |¬¯l מ-ûÞÉBb…m¯R´[n¤¢4ºa…ïG®»‹èª¢ ýÎ~ã’KU‚Û g\ù‰:@¨€Œ¹hYÄ !©Yµødèá$ Ã2Q”%•ÄC! ¥4K©ò3-Û…žTw#*±Z¢*±­J™å¯Ýœ±(òØNË6•5‡Ó•â8Ä$\Ïeë~­8[jB·A¥ÓÚ©òë1Ê ÔÀ»oþ¿.\F¤ÐÝnéhè·Pj€ ¬JðMcy5°J«õù—^‡×þgÿL”íQYO¯õ€»Ã!H­Vï¨%=:J¼e‰ãchqÃp)X¡sëC·×ïÊŠñ݇§6KÚ‰ŠE¬¡ÕK_¯ôêF@4ö½N)‚6žp‹AKCvH?¶±ô‡Å‚`ÒÐŒ•°UtEA -Ê2*(¥§ë¸Ü ¾zþªôGݼØiÕÛZ ër*¼^%Ô›Ô[ bV=®…ý¬¨² úõIàa©ÎÒÔçží5YÛ’Í‘%8ƒ8&úIÿõ§ÍU‡¥¿8ž^Ú’ø,ýyãøDJxí.¨ÿS,i±‘Êmbƒ XÐP9ƒ" ²ýù‘€á¿ûñá ¿Nr¥Z^PÃhĨQœ³æâB•rŒÍE ¹_߸O…Påcyµ³Ï,cJ5ÐHš¨HܘD‰Íÿp<â8WÿûçÎW¯¶ÛiGq —¤]zXÞµ˜~Ž?)³vÔ‹Æ\1©ß ³vÈ"2þ˜…ujšIÕ-;²û.ÈKsô`iî;ý3[?ú>x `I;^é€nàCgD*‹«Hÿó—AjÜÐêÜÿ‰RžÆM2’Ò%ø#¿Ým7›Íû‹-ôsaÑÆ>ã>—Á \•ŒfÛ¿ŠBU¡\ÆŒ6mïüŠ °PªK€è·=¡Ë¦‰ò¿€–J>MØtÒ䔼>Yôãc²iÐD[ý¿â–¶[ïÝ€\{ýÐ/?ûàÐ|Ÿ¥6+@¸°nFÀ´…M­#ìC )N¬{Õ›.(û³ÿõO@l½wö½M\í –†œÛ?Ž"ð`]U˜3¬´ôÇ0±Ù›!!L 8pÀs4‰8$pE·á5Ú¥TÄ#(ÿ'£òÔi‹¥?¦*Ê–ŒûÁ|NE#€›^pç ]š§?/*U´rpLx™°«QPU©Â«æ±,uiB9”ìPËçxz)%Fzý§Ä&0Q1v蕵–…ĺ“»®%¢˜Ö´F­v“™ª³^¦„L3žx<«=êÐæ?€ÒåëÉΚÜ ÆÓ4xV»$åÕmTRk¦ -“°ô‡}»²hêàJðÕø1¹ÑŠ.†„ß‘âmr_ß( -Çl&çÐ8 íìc?H}§ÕI°ˆÙuÖðö’#x‰:òóËz±š - ljêÔaõ¶2Dv{éQØ9u6 -ýàÁô$&ŽÈFK‚X84çÐFι‹t”…öªgÖŒä0´°295Ï]ÅHD:Åò[ißÙX$9™àóðM?ô™ ‰þ„ÉMc,„åi!Ú^yÒÜ0ìáF>U,; ÄÓœ0DY8bÔaÝ3‡ãáÍñ«ÿà;ã½ûø 1û9u”A»œUâ© &~*rÎ9gÌÅaX£Ðä¼4§c°Õ&h£âÁø€•Z€ÜÁ^°yœ ÛõŘ+…‘3XÇÐiÝ¢@’Ägž}Ÿ]:qVÝt!™;o w¥Ìø¹\ƒÒ-wg -Â$:ƒMçæO†l×#…€Zc…Z´˜kñL XûFåœZñä0‰ë±GÔ4Þ)/]d³å„!°V½^g±‚dHìs¦ØÛÙ™£V·–¼/þEåáÆqÌʼny‘¯‚ÓS'ª2¸;Ž}gè$GA³-M]ö3 ´—cÓ ¸UøEx@´r@š‚&®™pQx•اw¯¬¸3¦î(0[#kVW¨VÒi n7 f ˜bZú㚤ª"< ÂBÎÅUU”G,7p¶lšÝ|û:¼ºOõ±CÙµžA††_ž{„a÷?Ó¦.FX¤‚¦«Yž38ØãzC°«PbO¹üÇúÎþ]8xû‡ºóñÝÛïßLU”¬µÖØzïªâ5Œ°×‘é&Ûé§6Á€ˆ,ÈøÉ9Á¨°Y'Æl‹Á [ÈíÂÆ&.Xì–A –"ÊÒ:â}ÍÂÀ -ÇL‹lÝ8„x9u‘ÉÇi¢B¥)¶Þ€Ðg¨À¤ÇÜQ‡±• À¹–º¬XÎâ Y˜WÒ½°âŸQ¥™„,ù¹À5`Bšè~ˆöÊZšÄ”:¢…l`_b ¦ç%Ø'+ñÃwzgg»Høc0¿‚­ð]˜¯Ï5cø™áëýŒwÁ¨Ì‰¤óa -Ž’pâ7í¤ŽÙxä¨ -'› —–‰nZÜ®‡[ȵ“ß)é8{¿qí⃰$æTK…Ò8õ«=•@B¥‹þ5a[Ë8o(ý•ŽAéøp¦„‚ø âÃÈ]ãê­È¤à ;‚ì»j³ÍF»5!öiì-·;ìöl&(zg‹³|êGãÊ%”Xv¬IÔ²›‰Œ.« -wIYoSWaJ³ÿE˜¿¬ð£Ì±6#æؘmÊ%ÀA ×Û¸}ª3¸„\Á`kë°»Næ°¦Á¯¹jZÊOw1cq/Y,†´t°ØduIE?^ÛßÖÂH/ašéJ}pŸe6øÐï‘Ôë<%ó~§ÎŒ?“ׯ¡Ãv»åX^ (ÚoƒÁ•V« Ò¿ú¦»/Áu–LoÆÿ€ÐgëéDÜå,­H2~ aªÑFtP…}E÷n$×0­˜¦´8J¬·ÝýÑ —‘´‡àz™"G˸£>N ±ÆEÑûlV'+ïç‹ô±ÅRqf*ÿ‹ÍLº s ¦Mj@Îpl¯fØL1Š}P pý]zR£Ïvßüì[ï¿ûÇÿ½ðÜ—^>{î쯸µê¦+@‚à ÙIâùÇ ÷áàõ¯~SÁûÝ[7ïüÍìYúë±]:à †+U^BYT˜K™TçÎjªL÷ºƒÎzWBl;Ë—Ã5–êý«‹¤P»Kª‰¬F‰¢½O‡íN™ÁÚì÷óJoż,t2«y£*û¯è.>5k.é~=ðÿ溘ŽsËX¯)tÎpGØÃô°‘n9ª!¯ÞúFµÏ6;Žùbѵöœ˜„ÃRs†³]é†Cþ“X§Êi¼Ä>ÔTqx&îFG¦Q+[óVú؜ȭ ·nÿL·v½Óê´¤ýgY%I’ ùßwQúsÓ¶Á²ÎÀü·W0~bÎó˜ä°þ`CTƒä0Šý·½S+ ä¬y C‘³ߤÚZÞ:e: ü-Päb›Hä5çl«Ìy\Ð {¯Ñfx¥åéEp©š¾":ÌÛ-¤¥†=ïê1ÊÓfï„ä´½b2ìAô·U‰.¬nnŒˆÒ¦å‡™»bÀ‹éå[ë­·¯ƒWºÞ?Ë -€ý8ÂzföЇž¯‡:€PÕ¶¥ü»àï•ÌÕ†ŒÃPƒbô%€ç'Zx±¸4#} @¡VéƒÆŸí~òá‹âuþÓÅ„ —àiéïGa›bß`·A3¬I‚³áp¡™­¨€ôáAgqÂVÿï’§¬që  ª“’[wÅIŒboŒ}•ÈU3ÝX¨$‡™VÚõÕMæÕ -lÿÊo`Æ"Õ b&¹2€x¨€räŸÔuIolQJ&E¤¥?ÿïDŒ)SÍ b˜³O7SÄ2¥·´c5‘Ixëƒð:áò•kW¯\Ã:íÆÝݦBjÂÆ:;Û=d°&6ˆ¢s?~ï¬Ov/< ^wo]½÷3Ì:€€×—¿ñMÖ BÀšá¯ð”–ƒFJÚãÎ$5Á•ö‚È9J œ1—Áz¼¯WLNNórœŽÝºc*ªdQcòvÛTÖKÛýÝÝN§Ã•´h8 ”G ¤Áüw’Ÿë¥K´WÊò˜ãLÃ6׈§à變{Ín:xÏ]‚ý½ÖÆB‹$|Þg†`༌“¸7@°ˆç¡àûFž'©‚1™É|Xõñ93#!ìÐ2šxÃ^›ç.íQ—'réôˆ[›ðjÔ²>éH98ÍnÏiœÑߥ'[ ûÈúhbͨÇYêZv Z7M ’Àb›'(úQXÙ4­~¹*Ñô†¿C8QÜ6Ue,±S"¦lÙ8h>ÙÞýxÈæ¿| Ô¨Z(Ó‘LU6;R¿°„Ï.*SyÍ& -¸«¸þÏF‹~ÁÑóy¾÷è-5Q"cZúã×-t@¢(B9d}¦E2•oÖHú ÚÃõó›°`<¯a×-PKžëÕ˜~SÈ€žm9Q“Òâç.fEab l˜8®g±) šÑ rºØævièóæUD¬÷0éwñK¯ë_ÑJâ¦Ý‚Åê5¢ßZ¯Ô‚¢ÿŽTްo=†£†5Ç·j±ÒãJs5)ðùÕ°h,[@\ÿ¥ï tf %€x¡}à×ä2mÌÊ P§æâmÖ­26#J(ÓYƒ•Æ-E—ÌÛ6ª:@ý­åP_eüLA:ƒq3åFƒàt¼æòhÛ¾y^B|tÀ—¿öõþ™>(€ðQXÀ/6¤š›Õ»ŽùÌÚ÷åãIx‚«:àË¿óuA -€nÄŽ&‘¾*­v?Ù*a«ùTp= -™³‹E›üÎÑB5Ðhpa&Y¸‚ר3 ×H‚ɃÅâ>“õ+WíïTÓl4LÕ>Hîdó|Á HŒ™‘/b+À{6*©fÍmd™2WŒí¬e·A"y®ÿz3Ÿ½• ží:³ -ží€D]B§’÷./ƒÜ ¢ìµô±{$HX³-rÜÈ îÇÎ}«PôSHÿ:§CôügßTÆcJÀ`÷ˆ˜_ýÍS°ßØXÉã|©î1Û%!C´xQ• .å;I˜xÉŽà—+dæ X˜2ÿ¾»Rwìz -Ñ6v ÛdÌâ,š0D7üÇKp¨‘PÓÈ»›ƒ;7ßöG÷½ ÏÇàã›ÿIy)Ž&“ç[+"ð`þETNœaŸö6Ò$w 1'«ažgE­Äuá¤!÷ Ë4f ].´s§{ä·[-gNЧ&¹õDÇ®á7ÚTú±!¡Aáøv` vr8Š'#QC0Ÿ¦›Yˆ{–—©I}â´µ.ˆu'Oræ‹E4j «ÚöV½Éá–¢³6&Ü d?—Q»[É%9 ƒ›¨™šŨÔ˜aaŽ"jÀµÙ-@Zo¾°rœõVr”ŸΪ“$¾±Jd$j­áÊí샞žg˜~y’UgЗk~ÀÉd¢‹hL8[‚ñ;¤'ªa…„l+”ׄQF%™SqÀ,2Dnf¥ò³ë:ÄóÏ­×6uTÂ$›²æÙ&ü—Ãå)¬Ñ@[ÿ¿í}[ÜÖyæi Ó=hö°5£¦†î&=òÄZÊFÚ•«ÌT­¼•[ÅNÊyÝÊ{^òž§}Ü·<û5©ÚŠk\ÎVÖUrÙ²T˵,E-šôPmŽfØTsšÝD ÞÿrÎÁé¹ÈJ¶œ'ŸêÁžn4p€ó_¿ÿûßüßßûÉÞ¸ú»ÛW··a»Þ&…mÁ¢K¦F1>Ù¾´& ·**b~ñÞ¿ŸþDïIÈ:>ôÎòJ³ð–t>c IDATWìÍlhã'’¿% a%cR’•m#8@r­4Æg±î&‡“ä(Â| áK™êSI@'¼:X¤dø£u2“=o³Ã©»âÀt úýV§åSÉˆææ¯ÐØnû62µºÂ’Í¢‘Mc›hr/†@·j<¦.$†p¹Ý\jŠu$4u`xÁU"\Y’Vhî9Í•öúæ ýÅYF¬û[EúNW“«ðØÛ†åàûwWeÏÖ®ÎÒªNEöڬʙ±ÇYöÚËðxû^&8£€@0ºw«ÆÛߦV¯æuÒYÙ¸¼éµÖ@è5 G8ÆCPQ‡R1É·èàýº’j%^èvà0M&mQÃõ$I -r-N ïÞ¶Xmh)™bÕÏ\‡5`ŠƒN7èên|ìåýƒ½=Ømê”Ä`¿ƒƒÑüBR#a2Øñ¸Ì=,MTî!vìB’çAóŽÄ‡0É¢¿ú¤OÛff¡MOÑ‹+" -̪,9Éqæ“ -´æ›üxÎY¡-÷Jú»u¾`õÀoÝ{÷‡Û„îõ¯Þx•3õ¨gh>s5&å °˜@Ŭ˜ †ëBYú Ê:ÄX?ìp*‚£Õ)ÅFò™:yç„|Ôc÷Cô7{½Ý~ä~ku ¶ôUvÈýéèÞé/¢Óà^f'ÂÁ®…] \káM³!%û=òa RÃâÔU¡8´÷Oôe=5ØcÎB×°`cW#Ißÿ$Ú „Ð}Ï îÂÇ5.=ë4ø¾¨ÏU—h- Bª,T‹ ªrNdIe™”Z4Ø.F×,{Ȳ$3Ã!Ñ÷6.mŒ&;ÿr^âïðzæ5/¤Åp©&O{õ©ÔhÓößÿî{õ‘G@ï´VCx†ÊC°jäŒÁ™he’R¬¡5~PbŒ+†»ÛȤ è+'Ý]3<¦ðQ€ÅƒúçÊ),YÊè ótsƒ{|¸Û/¬‰Å(¹´'hß^rÄõPk%dtc0í°ô×Dò¢RyR%€ŸGqÅ$nÒꇲ–=FHÇã!ˆ~ÎùëCÑ"-@ °dÀhO¾ð édSoé÷%Å?·˜—î{É­O4‘u—ƒ1‡€^èeSL›“Ü~ ;0öJÌm(7NãwïÒ‹8‡£ -›7Ü>ŠªåP=V¬8 2êä¬à6ëlúʹ”î}S%圈J2éæìò¿qä*‡·Ýí ÀÞŽ´JºW®íüüg$K÷CÅ[U@v2.à2ćn -£B‡ãùñd(Ü.¨ña’Mε‚1‘ã)V>·šÈ¶1ŽâÀ•¸ КVO±æi!Òk©/õx©€ègx5N²#(qîRú3ó¤RLTðPNAs$ -ìGéöò  - üPög£gQÓ(âí•×¾ÿ?ÿìlþN^º0jòld٣鋢Ɏ·HÂç­t@À6ϰåäÉätr5#'ý‚í ŠÎÙÀGÕEÄÀP¾ë$l_EpIŸE!Œ(®‡\uQti‚((ÎüⓌ:7òÂ/LìæYl\Bán™y_ö2â«Ó!Ç’ì{ËèjP¢9UÊ4c}¡d[£X.=qÎƒÍ—Š·],²­üFGªÚÇ£8V²ts³k t´AÐå¨$;×:­Î* ö76?£;Àè¦9F~«dU÷Ja uÅ)éÏ%Qôy°÷-¶ý9€)z\ 0­A™º  ”ë ’5éL« *ì¬x_÷’YŠ[žiEý¤[B†…áêVš²q#E]ŒJ.^Ý4óÈ#aÝ`öùázG!f3tBÛåžÝ;l2‡ªt€ctñä*xêÖžG‰: †3¹ÁÍ<Œ‚ÍÀo‚è–›ðÿDÿäBÓtÐ\“„µuå\#:6žÕ&¼@¬()¶yiä>ïƒ+à.¹ãg ýñPâ\ã×o @ÐI¢a6ýEýóâÙ¤E€K0køO¦ $¼4“mŠûñû°c)# d“yv­ÔÅÒˆoIsë¤3ǬcæmÔñu×rM‰<àj¯ C‹%é€ -¯ [ŒüPËaCQµÊ‚¤V±V_çÞ¢¤BÓ›ÈYŽàw Z-A~€¸°^™³Tëu ÿÓ Õ9Ñ«óa ¢8eà 3›y§%P-ã~ºœâö–½u.‡aä ”`ÑÏ€lþ -úO ûñQ„¯$šüòïôûZú ì L±«²ÙÈÁ‹"‚Ðó@ärõšÇah {È…Ñ…)ç9H{Û*@¢%qê7(œ7·j)0„‚T›œc+(q$ó!QÜZ¿å°Mßú¡Ý»¶¶Þ*’›’íÏ·Ì× °¹w’ù l.aQ -Žû3è$äèÑÐõüÎó›w~úfgãrgs¤?þÐpèÃ#æt”åYr ü ¸²d&[Îb@•‰ãcFgΰш1D?0|<†×«ÿåD=î=\ëJô^­,’ãÔ_B„ -\ƒ#º¶(M‹]u»†èi!¦~B±y¦O?ƆŽMaŠü%«1CQÞºxEˆev‡ÕÀ«˜ìŒâèѲ@£ZšÒ²ƒàø«úÓ&~œš¥ïÁÉËÿ—„ÅÌŠùÜéœøÓ9ÅGí†ç€ÁËÜC"öüæJ³}òÿð¸äÁ™cµ^Ç8EUk#¡{s -wª9±Ï3‹¾§¼$Luâû­|ŽÅôQ_J?FK -¶ëk˜„LŽÉlÓò={YÙ 50¸BF³€5ÄPô|ã•Yœ@ËàñÒdvÝ£¿T\åˆÚÁE¥ÎðeÕ>£˜Ï1ádaßJbŒ±PI#-„—ÏwI&ŠyÍû*Ü/ÈóAD¯-ÛªØ&Yzl,ñð -n@~³äÇZUü6’BŽŽì™°íêX–gÄÁÓ”ænªÿjšñh w>›¸2A‰²êPÝÙ¼ÔC_¾õ‹»:?Me3"ÔÊ5,*‹k¬¶ÙðÙ„E?qä,a|¼¨;L"„îìLpÌ&F+Aò±ÀEéMÀ ìl´á8Ì7ÄÙ(ž ‡ëœ†gƱt$ tª¿B9 ‡¹ê -m¿'lMƒ£PæLÇÆŸ/ÈpÄ0oÝ*á霧,ú -.ªagÖF£9FƒÁ Û½ÎA­îÙp:šdÓAg£OáZˆóYéT†k â=â²dÖƒ1Ò…9ØJžb€örPÑ’+ý”¤“]’8VVI‚Ž<ÚÝMŽ&íÍÍ# -6ºZ‹ëE,:çð„ dáO¡Âé³½x²ÐsÛ`+gÅBÑfÀs^‡%Àbã¼ëB -A_ ùâÈ,åIϰvŸ€mq„Ò_ðÔ(íîR‰“àj°‘õRqÝÔÄÞ‡š¸ùû¯>¼§Oº´@nú”gGü·Êÿø“a‡èé¨y¡=GO†LÉˤ¿À^¸ƒƒÁ¶×o¼Ü½¶éæ$ÎÉݤ½9œEf»§½T»¢&”à}Ögºlr8ž è?kx -–ªø•§Ž‰7±0Ü´¦ŒéÜZí÷òÕí|yl^ßö„Áë0C©7ù˜Z÷ÚÅø Î!lû¿ô>»\ûôƒ±.ºîéÌ1™NBƒü•e´¯ መbý%¼_6ÒA+œNÀà´.:‡¶U!¥<ÿìÈÒycûey½ÕÍÞö;¶l£°7Døø-ëÌL>¼ƒ…oõœ³8ºQ-"k–D¾[œB^gÇØ…FçBR]êØ Ø… -õÈÏÀ±t ÚC3E]ìÈ·>à,Ù¸%#“3^,úÙi°jÕµÀ9xʇ“­œèw¸¼¸ó’‚p ÏÑ5–örøˆívçúµmRƒ‡Ò|WW¤s@¤ÐêD#-JaŸœµ‹rÖ³c°tRÂö¸:ÕÌßM'ŒùD«p‚¢÷Á«;@’´š¤|uQš©‚…îÍs…ŒTûŠû¿åÑu–¨k¥6bÏŒ"ÙÍæB2£ÑÓÈ -¨¶ ¶N^i]¸Á ú90˜å©ãú²o°7gœ«f+2¹€dÓןädî÷5ïˆ~Þé€ -º¸.ï…G,\Æå®MvFý¶øá9 Ø8ðT˜—ÝÓ:H'°®´B‡¿¶ý1ƒUfš)A`] åsƒ³j*\ƒŽÆš®fa) -Ž’vɹô;••ÿpóÁ?S|*Kùc,@uSon;žLãñ`Ø¥tÇt|Ð$ëX´ÃÁÃá£]ðWž-¨¸· ¶^¹Åj€¯%3P5kúYÔSh^”‹kÀ‹1YÛ@4Úß½þ•×@=žNZN^úËG«AôÇT!A—£xÓ.^+Í„;®¥û¹ƒÜ7ˆÉP‘åOÆËôÉäY?\Ã9'@`{nùp´×š£ƒ¶°’êþÔ þƒ]Ü™‰«ŸÛ|ýOÿ“þ+Ñxëóèõ¾¿p”ÛÐj»Œ/y\3ÜÇÆX׎'I: ¤ôM Iê£á>ø|\È -@¡5P¾ûßpùs¨œÙ~¥Rù[ás[,ýy€ù/ððÄðÙ}ûMôŠR¼ÿÓ»ü™ÉÁÂùïüb÷uµÂöÿƷР~ü~~÷C<æÁ>îƒ8ÝíK¶%‰BædÑ€®(†ÅÌÜML&ÁÒŸŸ4h–ƒ°Ýi­â„¯_ÂeÖêþúîð0úwnŸv´A„•ÕXðž€ù¨KŒ6lr¦qÄ%(šÏ½wçR”×Ý ™3Q„Äi%¡Дƒ‚±Ôa®/dý UßrDÉ(/¶ý]ׂÈ·\&'ðŽ ‹øD– j€ùŸUšd ‹=oÁM۸܃׻?zc÷ÞîN¡{oœ$¸‹Lõª¨Ø¼™Ê -ðûÙ ,YG£ƒ>É[æ1÷ûúÂh¹ŒîÁµÍÎÏòŠòÜü¤öðÁC ·x拳¢o:ºÄ£¶³ÝÚ¿ß=JX€€IíxÌ–¾>< H?Á˜nZ£•N³àá(Õ÷x𨬊A€è ˜†×ÿãk÷ÞBŠðZç×+°þK'Ñ“ÛlõŸ ýI¸ìÜ7/ALÚšKRöÒ¤sÂ8oÍe”'‚¯»Žé¸H±À5eþSûM“/¬pç21P”¶G0´û‰ò›* °¯B¸Ö¹ó߸öÒM¯Ñ*üºÇÎÝøÉ ãì(ƺ@Ò4ÃÇxVš"P(›ýªLíÝýgî–&¸hëêuTþÚòÝn§¦| Ö_襇¿ý·ÿÈÿíß­ú¹/ÑŒ ó_lluÏ%™"†ƒ°‘ £wÚ„|´;—akmõ3ãa:êËcb÷ :&KÿÃ8ÂÜ`JHP±Égc#¤Go…Nû’rY6‚çÖqu!Î<ÖT„¤ *ùr—¨Ö$ÊQÒˆŽãŠ›%¾³±øNáûãÁÀÖø¬p)È€†§ãÙs‘æÈÓWнH%ÓŽ4¦Š2-Ø£¼ -†H‘9>ºBX0'–;¯‰¹¤ö%VaÙ…EiLÏ!9wbžçë– º¶ÃµJL —0]±XR ä¹(Žcj‡MùêsE$éèÏ5ÉÆcÏbK±+3JUÒÒÆ{|qE$ÆYŒ±`feÉ·jëB=Ç´ƒ$ò¹M-Ú󼢞†É´¨÷åWo]½¾õæÞèÞ¥ÌÄ^ÖAbíN’ƒ×{§N8 ;ã#N©ôbŠn–Gö¸m×r55*5˜Á -:’³MÅ:ƒG?@®­ò0ƒuÝë1¥‡ªÐÔ½+¨DC¨z,#Ð~| û-s¶ÉD0§È뎎âÔå\ÝÞl»* 2¡ýÜ%ÞA~)0úì¤ÝY¯’Šì(Âüà\d:"¦¨2èTKük-Ó1¨,1¤¿ ç5bªáš4í[N–¥û¿º×ýÌuøo»î|ýOþÏy2ªÙò^œ€ÕñºÞÿèûÑä>œžÃøh­RíðHÃ勲H“‚±mìðÕÍ®F‹! ¹ìãƒor¶Þ` ¨G}.WxEýEÞA1Šd„w,0É,ûtX5>Ü_¨€ô=ÚS0þ°½óÚÂõ®š£vë"Z…f„Ž8Ü­,\Á …å]>W»»ùàÎû£G»‚àðTà:¨Øƒ]Xà¹d!ÚeŠWJó`×*\?ÞßÓä»?y¶[_~ùÞ»â჻—¯,X.‚ªÿYú %úyl½TUè5ƒÊôŽUÐüË¿·uhÀ¹µ+=îü´ÿÁûèUì÷ñÈý_U$bÞ§¨lß5ÀÙ éSB[ o2:¾rí:ŠöÖ -.ÈÍ«Ô\Èõ@ôËsV§ ·Î®ĈB`s_‡ì¸ÔÒÿSÉ©YÇøI‘yLj† ²ÆgªÆ$î™OX(ÑÏëD—•:~@uª¾IÕcAPEmWH6lù+Û†ÅÑXR›{§Z!#ª7ŸgÌ}"IjUè)V¬J)H!õÔ!ƒâþ,ô-`ÉìEçÃì„|ZnŽªHÛ°šuržÎ ôa ÷ßåÞk_½õða÷áÐ2/h«8–a¸®Ìp•f®èÒ*IÙ’cÅ‹Ñlƒ˜S?0Òf‡‘·Ȧ48¶Ž˜!L%w¯‡|ù|ÁÜÖéÉAhœ‚nеÔ-4×YÝ—mŸ ¸=…bð׃f3Ž"§^ãÃòýÒØÿbnWD&F‚›ªÈ9±*å>LsSÁZkr'¼Øåæ×þt¼ša{¿PÉnï²ËÙg,ûÓñ=Øâ<ë\0¹©P \×9²ôÊ9ÔCÏbE^&ÑŒñÇjF”þðO Íù 1=8ðcgø” -á˜m‹£(˜0 -¬NŒ{ïܾþ%Üv8~ Cãá ³qI*€:±1CyªÏpg£‹-ú¼Àöƒl<„5…–¹þ•×@àΗ Mx®w+ç‚¶ÈpübVù@|É–;Ú[ÿ„±yek÷ÁÝNÏ„C¢`qa3ìlßÀ+êÛûlõ-;¯Cçb>;“ÉRuû‹½$%Ãäk¸ñëÕšIf•ƒo¾oޱAñ6ªG¤,(XG -@¶óV!oþ‚€¤;D%Ôñ8 Ül“z A—j z†Çå£áÁ -À\´'ÂwòWXo™†¥²íÒŸñ0¬ À¨r”~‚ÂÓF±‹06©±Ä 4'¹©®¹B8ÒÍsÂo• -¤¤Ž€PTîuŽ :ŠŠ4[–ƒåÔ6¶îËöL$ú5O/þ,%a‡y%ô¦óÒŽ#ãA‘—Yf©€Ÿ¹UUKv.£±­_Ãô®æÇa¦&!-3ÎOèÞŠÌå¬ZìÖíÍË=x ßý±lM †¿üé8Âf%–#‹ãìJfc9D’µÌ`ÜŒö‘Ù—À³½CV“ãù\€‡\2:Ÿ0cqVÚ®%{7¥x ø™Ä7ôXÂ4…Jžs`ÝB¸ÍÍËlÏ.T,žG`‡èlH,Æâ§ã8JqiÓºFvEgžª§x' Õ_ŒG Ö5è€Ð@mÕ§A5à•J®v:ñ$ºýƒïêq§¬.ÅQO(€xr?ß‹wÍ7ÁöÏàà+5-’ÌßЧ6·"f¥OlÊjEHàC™ÿÈ©ƒ¸S >CDВݽÒcF MeûÃŽlã×h ÷« *ÈÐ …žMøvu·Îôð+™øÂ—z?{gÉd¼YH~Ö+Kí¹õ -:›Wï× î63šÞy¡2pXêùOßJâŽc½0@ú{ž¦òÈ`û³8s/”Á´¨ƒvŒ6¯´Ïû® ýŠ=Í6ƒµáEÛ÷pæ¹à¼#pJ_Õ~ÛÜht€åœ´šÙ àpJ¾h,ƒ& À~’JaåÅYQ.•U±ÞL0wýQÆpôAT¦—9Ð8$¥¿þ Å82­ÆjIã/5å/oí%©fÌŸÀwʺ®Å±ÅqQQ0UN>×Fë…Ó“†?Z“×DV¬"fØÕÀõÊß}÷­ÅHÿñ“½ÖÚ†E2õÓ*yÎÍX<fM/¶?›ÿ¸µQ¢ë:¶ÁÁ¶T- Ö=\…æ¶Âó1 yuF©R†Ô1] 2Óev ΣPñ›Â¸ ’e¥É‹D?²gáK®THƒÌ™Ùk€©S‘Ëüµj§(”äÆjsòŒzÿªV3°R‚fè-{ëÄ*õt2zRU-_ÚÚrÃÖð1ñ¸­u«é»(m„”0µa#˜L«[h3p¨,Z«áøÙdðQ¿wíúÎÏïdÑa^ÒkÃ5š••:¥˜86.À›1Ç,˜¯8 @™¦(ì–“Šyº¶6šNÝýÉ··¾ü—½ÿüêí|Ç„ñ¼uçhæ÷íÛÿt{çƒ >íjœeó¸ýÖÝ3Þ5 »ó¿ûë‡qœó,ètV©wÍ€ùð-|þ<«|f~×<Caï_¾RbWÃJ“S£ökÛ—¯ÿîæà#´.ñnæÞî‡;~¢èÒè§ßµ¨ƒRª;óä©1‡`ïÀ´häªV¢Öð®Ä"(àœõ‡ðÌS;$­Ã?ár›9éá"éCõ£åÃáäÌϘü/’Ïc¾ð ¡ØP ^¯nÅǹU# -õ[Œé€ý­/ÞFýû÷nýÉ7ÞûÑ—Qœ½ûÞΕýáQF °W¬€Š^ÞxÛµˆ‡ŠzJc¸è÷×=Í‘8A‹Œpò² Œ÷®„Ÿ&¢¦ý¤¢T%Áy– {³J·¤è¡0‰y~¦U ìƒáò”3ðžï8·5¥.i -PKåo† Ætn[Ïl›ôߌÔa‹LXî,9ëu‰•Ç+Z*¿þ?êpwC~ü “º´áäÖ,&;ñð ê3;–È zr1ïÏ Í5󸉩u˜ø°µ¬:¦¾˜u®‰•™qËaF*Pe‘ƒˆo­ðÒ1AÐGtçøOfs8ƒètZÔ·GŸk‘±ô?1öwî6.Ušpx C"µÎpð¸³!Ó/Ž·¬?£ï‹~-ý›§keeãzì|ý[Ñÿe_GZjµÊ&^òÕ¦³G1AIDAT*1ÈÕŒ¢L¦ÊÛðbè^¹%¯âWwá…çY{?~JØÛ W;Z¿ÿ¶ñþOÏ€4$²–‹ À¿ãéüFÆK_4ðK†Un4FE˜JÂ~á+7MG³µöëýªá£c.F0¨ŽOr I‡ÔS30»5(¤ªvZívë•W¹PàÆWo¸õ‡ß„ýþ}D*><Ë‚1ÚÇQsE­)r溛½é³MVä)ÈVfPÀÜåªÀj²};ΓL‰ ³m$8À…Añ+®Æé,ö–:2.Ĺ6T‡ÎÁ §yúÆ?|§÷â‹·þì›Õï®^M ú§ãâ|¼’‹r_7,Ãd{ݦZôœÊ°ªH 7ÚË‘—P¶ýñy´—8þ‹M }EÿXu '`J‘µˆnR‹j"@ú t] çNد¦¢òh©ë‡ù‘Üo¯6M‡3V>`÷êÖfwc¨B„Í*K?¥Ôüö Ùz}DñŸöZ[ã7Bú(ޡܽ¨¾lX:Ÿí]ýü6èP·ßº -€K½½s¤gƦ›pm§¬Úæ…^ô´ïQƒMpn~í›,ýñŸî¼þg75ÎÒ) UÃâøxÿP´…¥iX+O'‡g¾Ï]MxÔÏANÖ (tiÀøÆOLÅ\ šf¸¢÷=ƒñ|fXñO†Õù´:ÕçãñÙk{ÍXW†õêf˜íÅ{×6öÎÞ?Ó0>úøÎµ·ÿúoþÿw!Äa„Å -“¾m^Cn|f!^fЛÄù9jÇ ÔÚÆg -ã}ó»æçÏ Ý›¹3ÇcÄ×’ôì9?ï8º0ÅYrÊYÉ2 ›Ñ*aâ"ü=+¤©É˲<ó¨zô®méí.Uz>$@Gœ¤£ÔU(÷#”Zú ,è Aôïïö›«½G§ÛM'…BÖ33ÈtÐ;A›À|Ï(ãRs‹_d楥){m„B‘ðâŸ7æô·áŸå@,jÒ ÙlQGå˜FxAZÈqÄ]TE$Ç¢áUèv•aÛ¢…Ê€(³–Š`³ü‰z˜êÞ‹[ãA -¢?ölçñî#â¹Ð[Øq¹ŸW—d4Q*6ÿšç\´L+Xƒ£ ™È¸dlÿ éäJò!)$ -ˆ~PíÕ’¥?Œƒ8 ”Ä7 è$µ´ ˆ_%Óõ˜PHa”Î…^ü¾)|Í‚ ÑÏ;ábU°Vž³!ÑDÿÕímÞ¹õµ[g~æÓŒh:™*|:‘Ö (€þ=¯û™“ O9¶oTÞÏ9A–]sf(à<Åf"C²¹A[3™R8ûwÿMeiünxÞyæçD3$e|~ê¥/Êr‡ñA¥|R÷þe^Ͱb–ýíøW ÝHRá”óƒ ‘l¤¿£¬®ÆJ+Š&ÃÇø.öïßF/¿ò*–Á 0Ÿ†rð¶¿sWܬÆ÷0²O#KÓʘ¥ úÏBØö«Ö¸ÖµH’Ô Z’p–:ÚjR¡¬É°-GÑ{¤iÕ×[é µƒ`¹zö\LJ—lêRGóû÷]É0”e`5ÊŽ.uK Ó€ Äê_UôÐY¯"–:Ô +}Ò2Œ15ã T¢KFêA0§lÿþwá¶z úãh‡A•æ?Hÿ h#0m¦¡£™¨SÈó`%¡¡˜ Íÿ-½¥»ˆñŽôIEND®B`‚‰PNG - - IHDRb&Ûk‚ -7iCCPsRGB IEC61966-2.1xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð -Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX -?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j -õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs  ÒÝ~üwIDATxœíÜ]l”eÀñC)eéù -~?ªÖÝUHi²’@ÛdCÔFK: a71!ñÒ‹ ^razA)„u»6%„zá…«‚˜Ô™¦°ŠÖuŒ´-:íxž¶m,ð~=çÿKžtf:iŸLgzþó¶3¥ÅbQ€-¥Qo„À ƒ "0ˆÀ ƒ "0ˆÀ ƒ "0ˆÀ ƒ "0ˆÀ ƒ "0ˆÀ ƒ "0ˆÀ ƒ "0ˆÀ ƒ "0ˆÀ ƒ "0ˆÀ ƒ "c¶oß>·³³³|pp°\ÏÎÓ5¡ktíÚµÃ;vì¸ÚØØXŒx‹B@„dÛ¶m%ííí òù|JÏÎ×Uõž¸‚®ÑêêêËÙlöJÔ›qRJïƒ+ô䃺îÕU!SûüîôéÓ}[·nýŸÆAÿ±cÇ -‘nT¥Óé¹åÓ*îÑ“ëº_×¢é½Â_îHÔ®¯ô1óyMMÍ7™L†‚––w;/«©‘göî•mÂ+&t°öë`íÐÁ{¼¡¡¡[#` Šظqc™îᾊ -ÙüÚkò÷gŸ•ªòò_]eùš5òæfy¨«KÆtøæõ²þ°÷éLÿJ™ -•¿i¨#Âá_.[ºTþ¼iÓäaWر\îÛÄz/ÑÈD===nÜ?¨ƒÿé¦&©ú­ëTWËÂW_•§Þ_²¹œ|™N§smmmãaîszø»?OlÐáÿ|{»üUC…ÁoHYÙä\z@×!E„Ã=Û_01!©¨7‚ðé »[Ù‹¢ QD@.—ûƒ~X‘N˪ë]ï±Ç¤bÍYù¨··×r-f ÿ½Í63üí¹zuòg¾P˜OãÏá¦Y:ÐîŠ8Üc}A¡pãû †j™~˜_ZZÚŸ©þ˜?‘†€OqzÁ¨ˆ#ÀýCßHiéïƒ%%rU?\) -Áo‹áßÊ}Ï: îÎ<¢¿X‡£Þ¢U,^¼x4—Ë]hk“36Ȧk]ïìYúøc9«'¿¯ªª -üð?Ã3••MFª{5@ä/Eõ÷R–þùôøqù¿ð*Ÿ¹ŸëÜuëäŽÿeÿ³("`ÕªUçNêëè·ëë庇3¯£[)¾òŠœÈåä={)èœíðïî–+ú‘© æhšŸ&_ ¿Ò•z3¾#BÐÜÜ\hiié×;ö››7˧ÂûøÌýýüNhOè@û˵ZØpòäɱT*õõåËùú=´¶Êó¿|) סæf9ÑÕ%ÿÖ³gtß±ŸÌvøë¾¾Ó}¿­7•îÙ!àŸŸß@×ç«W¯æˆiÀ€ìÙ³§xþüùôügúËž#~sÿ9§¬s:°ò×laG€~í!ýgõ{¥ÓÒ·w¯<¾t©,ÓO>üPþ«[pÏüÝðÿ&È7º‰áÿ­ÞFÿÒý½§g]ðÌÐO¿z'@Þ(x@Höïß?¡Ë-Uë9pçuÀåÜê¸á—p_sxxx0•Jõè÷º Ïú?Ò‹Ý17ìÝ3þKî™ ‡ÿ?õ¦y«¼¼<ÛÚÚ:ÐÔÔÄ?ˆ·Üf:@GuÐ}©ƒÎ 0‰S8ùƒŽ:tè¢L‰*VVVŽÇíoþ3†$o øŒ p%ΠϢ‹ºB;ÄÊðâ‡÷ È'õ`øñE³  Þ Ö"€áÄ„ÄJ0üd €ù  9 d¾FÃHˆ€oÀð’‡"âK0üd"€%=þ@r@Ä’  Ù ’  ù &’ À#q†?àˆ™¸FÃð ÄPÜ"€áø‡b*.ÀðüD1u0ü@ÌE ÀoaGÃð$DXÀðl € :þ€0AEð…èvGð‡êvDÀ¾}ûŽ=Z¦_£Rþ€)`·çôâ…ºÖ3ü[ án!æé ïÖ‹éeµ ÀðÀMFÀ Ï='>ù¤,×Ó«þ€-à‰›ˆ€e| ›ªªdž^çšþ€ŸÀ#³€š™w½¯ÇðüEž™m\ ÃðxèV#€áøÑ‹Æ—,Y2tøðá˵µµ À0¨³³sl×®]ý»wï.Y¹re±§§g"ê=¥PÔ5õ>DƒÀ gä {}bÂIEND®B`‚‰PNG - - IHDR¸½A÷ -7iCCPsRGB IEC61966-2.1xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð -Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX -?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j -õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs  ÒÝ~ü IDATxœìÝ_¬e×}ðufîŒÇ3öxÆŽãxâ6q“úçÁ/<"Ñ -JUŦµUª*QMKMp”â**´•[”4”Ò6 €'ϼø¡)A¸Im§žØžÏxæþ™¹‡ßïîµgö=sÇv’¹çæÞßç#-s÷^ûܹ’WN~ßµöÚ+?ñB¶•½þ»O  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€€ë^|î‘Cñ2‹v¨ÚŒ6ø‰6ß¡ï¡Þ÷–ýwÇ8`·È"âp¼v¬·ñûa=Újœ_×,(zÁqdÒ7[ ó…þëÑÿÚrÿØ¿ŒCv› ¸(»¢Ýížh'ÛP„äìáZ´óÑ.D{3úfa‘ß§zß{£ïÇ®.ô¿ý/Eñ±¶Ô?ö!ã€eÖ‹Ž,"î‹ö@´÷ö÷cáq9Ú7¢½-û®õ×ÓÑŠö` -•œ¹ÌYÆ·¢½íl´W£­Äï8¯ø€[3X@Q}¹qÎ8f¡q&Ú‡òu>Ÿ?=í7›Í~¶ …Hëý5‹”Eßg?7ú?Ó†bæp?t5~×UËáfÆ!Ë$¨+‹‰\n<¿±S§8þKQLü\–_î¯ìTtôþ[…K\óxf#/÷vå¶ÿ°ÿ‡,  ¾Xn–÷çrã3ã¹(>߆%Ĺôøh?íãøgûñ•~ÍØÿù6Yd‹¾öSù™yòÑ.Äï\³+9Ü`°l€šr·ð,<ò¾áû&³…Yt佯Y,änâwDZçâüÑ~>ÞçìäJ¼¬÷ÿbî3>×ûŸÌÏÈóù™ñþÉ6,CÎ>o.ùo„ïtÆ!K%¨)gó;`¼§x”˃ÇÙœ%ÌåÞÉùéû”»ŒçÆd¯öþïkÃÒäщhwöß“¿óúýÇ;<¿ºÍÞæ}~ÏÇ!µ˜šõ–ÆçŒO “ܬlº|8—"g‘òrÿyܘlt´Æá6)ò£ø_|~ù‘&à`Ëq³m5[Œ|½ÕóK‡Ô#¨)‹‡|^øzo£œ)ÌG‹å2â,@îï?ŽõëFù> ™‹ýçÕ…ó‡ÛÎÅ0yßsî|žËŸs¶RÀA5ÿy~.Á½ ³öëýÜÒÇ!5 jÊÂ"‹„­‚d6›}n>Ÿ*ÚÇûÓ†$¿#NDZM®—íOËš[Û>+ÙÚ%þ[ú²ÿœÌ ‹šD{OB€œµ<ÜààÉ%÷km(þ_k7–áçÏYø/uP—  ¼ÿ8Šñ,<ò^ã\>|}c°(4þîÛ\z­Ý|ÿðôþÅ"#ƒ†Åb$ûd±ŸEÍ—¾É:ì{QÜ´ ö¥½‡$¨-— çÌä•(J~3ŠŽŸœžŒcÿ5^îŒã?Ø­µíK‹ó{$—#ßÝ>Ö¶·Œ…ŠânÍ8`)õ¥øÓ–ßW£Ðøí6,×/Þ—Ÿ3”óÉÏyï~Þ›¼Öûåîä'&çsv3ï}ž›½ÿ¹ø}¹¬Ù-t‹·œë?§½‡$¨k,8ŽÏçógó@¿×nlX–ȵ8÷ú¹/´¡ð˜~wäŒcî6žËb%‹{&ç¯ô¶µÙÙäÖƒKmxÎyþ®ÜÍ&€d;m˜c ÇÂ8[¿´q¸+!û‚€ëA+ -ŒÿØzÑѶÏ2~µ »Œ¯L6+{¬$§ú5YÄ|<;Çñ,f²ÐÉbeuü¬‡ŸxaãÅçÉâ'—0ç}ÏHÛØ[;:9¿e〚ueÁ±õè°(²ˆø\Œ×^ìç® …GìY°\ÏEÿGoñù_oÃrç|ÜÙjÎþ'z…MΈN7/ƒƒlÜ©ÞWÃj{8¨GPÐÂSrvð¥(.~!ŠˆÏ,öãOÅËÿ‹örïŸßâøãñz&®yú×|-Ú«m˜­\_ì3)Dw3‡¾Æ!µêÊåȹ,xÜ|/7{2^ïêç³0Ï¢áO¢½Ò†%gWúk^¾_s¢ÝX®œŸ™³Ž/E{#Ú¥(tù°3〥Õgs ~nÆ—EDÞ—Ÿ3…¹‘X~?äla.MÎâ!—÷ꯗû¹¼ïøŽ~ÍÕÉñ¼æ|»±Û9°À8`™…åŒ`9‹˜EFY„ä¦|¹“xn6ݰlc\¶׌FgÛp?òÛ^ìÌ8`YÅõÂ`-ЉqöqÜ”oÛ†e ×äRâ+qÍølów¼¸5ã€e°å[Ù”ÏF~p{‡ì& €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -pÝ‹Ï=r(^fÑõC›Ñæ?ñÂæ;ô=ÔûÞ²?ðî‡ìcq$Ú±ÞŽöSëÑVãüj¼ndA±CßlY€Ìú¯GÿkËýK`ÿ2Øm€â¢H8/Ç£ŒvO´SÑîè§×¢v!Ú›Ñ7 ‹•Þ'ûÞÛ¯ÍcWú_Œþ—¢øX[Þ_û“qÀ2 -볈Y8Üíþhg¢½7ڽ˕hg£½Ò†bäJÍþE{° K/9ËøV´×ú5¯F[‰ßq^ñ·f°,€Úr qYt|0Ú÷Ìçóg§f³ÙSmXŠœ}ÇÂ# ”,öíýŸiÃÌäá~èjW-C†[2X -@Q}Ö1ïÎ%ÄYHÜTt¤<ÅÄϵ¡¸Ø†™Ê‡vêÛû?¯qÍãm˜¼ÜÛ•Ýø;`?3X&@]¹aX9KøÞ±ˆ‚áwÛ°‘ØÖqüG¢ýbÿT -qæ±õþÏ·¡°È"ãXô}´ŸÊ>yòÑ.D¡³fWr¸‰qÀÒêÊ™Ç\Rœ…ĉ…s× É±,Prùñ‰(.>¹ur6ûbî3>ׯ9Ç>çËÈxÿd¿.û¼¹k ì_Æ!K# —O¿²¸¸ÚßOç,弿Žr—ñܘ,7ËYÅ÷µaiò( šÜÈ, œ,t®ß¼ÃóËá Ûìm¾Ã,üžŒCjÔ5 ‹x -;ù>‹’£“c¹Ûx.-~¹ÿœ³˜LΛ–žþŽ(þŸ_~¤ 8Ør¼mD[Íc`õá'^Øh{8¨GP×´àØ˜Íf¿5ŸÏÿ~´¿´Ø1Îýv -•ÅYÊ,P² ¹Ø^m7Š–ÖûïTüßÕ†MÏò1f¹ûyÎV -8¨Æâ?ïÑÏ%ø¯·á~üKmÆ!5 êgÇönúڡ︬¹M^Gãÿ-}ÙÎFf<û@´÷´!ÈYËà ž\r¿Ö†âÿµvcþX¤/uP—  I!žËŒïŽv:góÜl6û÷m˜©LÇãøßŽöc}—ñœY\,<¦3˜‹EFÞ«¼XŒdŸ;úïüÒíø{`?‰±ôÑ6lØ7ó{1(HPÓøè±,:NEañÔÖÁ¡¸È{‰ÇÂs7ñçãüdzõ%ÈÓYú•Éç´þ~úÝr­7ÅÜ, u〥Ô4]0ÝM|\ª¼Ñ^kÛw Ï¢cúH²¼wÿtï—ŸyoÛþ(³õþYÓâc³÷?…ÌÇš[8øo8×N9“¿ã€‚L‹î,D²p‹„ñña£«mûæb9ãø@ï“I!÷LÎ_é- Í|ôÙ‹Ï=’ïsó³oôß“¢Ùƒl§Ms äXš÷>K‡ßö_À¾%¨)‹€,rÆðÊxp>ŸÿÈl6ûÝv£Ø8‘Ç&×eá²}~-Ž?í±xÿ…8vª LÞ«üñìÇŸíý³àÉ{–· -|ôYßý< ˜||™ÇRÁ¶ÇöÖúëÒÇ!5 jÊ" ‹óÑÎF‘ðé(>½ub{¡q]/$^í×ÝuýƒæóGoñ;¾Þ†åÎòšœýOô —#çŒèâóÏá wêŸ÷Õ0ùßýžCêÔ‹, ²(x)Ú±iñ±(ÏÅËWÛ°l?g1ïˆcOÄëƒqÍÓ;ôÏÍ̾ֆB%ŸM¾¾Ó¿¡¿½¶x*øN‡Ô"¨+ ˆœy'¶ÓmØoü~Èeú¹t8 ˆWúû,"rþ\Æ®_“÷(çÒãk½OÎ:fA“;™_ŠBG‘;3X@Q}ö1—೉YHd‘EÄXŒäñ¼O?w-ÏYÊ,*ræ>Ÿ 3ŠYXä}ÇYˆäwJ*—ûñ쟅͸Û9°À8`™…åŒ`YXälbY„ä¦|ãŽä9c8Ý´l£,y> Œ,.ζ¡ÉÝÇç;õ_Þ_ûqÀ²Šë…ÁZãìãtS¾m›–M®É‚äJ\3>Û|¼fÇþÀÛ3X[¾•Mùlä·—qÀn@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ @q/>÷È¡x™E;ÔÛN6{›?üÄ ›·¸î¦>À»c° €Â¢x8/Ç&-^,>²ˆØˆ¶š-®¹Ú\—È<Úzï“}×£¹¶ëìsÆ!Ë"(ªwE»'Ú}ÑNF;Þnc’EÇ[ÑÞŒv>ÚZ´Ã½ï©þšß'Wû¹ìs!ÚÅø—¢øX[ÒŸûŽqÀ2 -êˆsæ0 û£} Ú{ÚP|ÜÑÏß9›x1Ú7¢½Ü†È,<²Xyo¿&ÎYÆ,P^‹v6Ú«ùñ»Î+>àfÆ!Ë&¨+‹,2NÏçó/½› f³ÙO´a2—¿?®ûì}žiÃŒäá~èj.W¶ vd°4¾÷F»3ÚÉ(:>³S‡8þt¾Fòxf#/÷veYÿH8àŒC¾%€ºrS±\|.Š„µaéñ½ý5—ŸŽv* -‰?›£Ï¯µá¾älï?$Ž?߆Â"‹ŒcÑÿÑ~êLîC~#Ú…Ÿ{dÍ®äp〥”@yOñ¥6ÜSœÁ¹6cq$Šˆ¿’ý£¸ø­6¹ÙÝqüýøÛpŸq^›»ŸŒcŸóå d¼² ˳ϛËüá;qÀ² ŠŠâc#woîá¹iX¹<8%–Ë‹OMº¿Ò†MÅòÜ]“ãú¹Üh,‹—÷µa7òщþY¹™YÞë|ýþãwùÜs8H6{›³ð{=¨EPX/>²Èųp¸» »ç=Äåël6û¥xy© EÆ]½ß( –œ‘|¹ÿœ›™=09ŸG.UÎÈ®ùïò¹çpä¸É™ûk«1Vsü剽‡Ô#(®/CÎÅüNÈÂ!gOLºä¬b.O^í}æ“sWûñ‹ýçÕ~lt¸í\ü¿ÝsÏá ‹ÿ\ÖŸKð_oÃýø—&!ÀRÇ!5 H9C˜³Žyïñýóùüçóàl6ûçm(:²`¹Öû,—5·¶}Vrë#Úöâÿž{~¸ÁÁ“c'7úËâ?—ðËð×sæ²)ßRÆ!u ŠëEyÎ6æŒ|Þo|ßät.+Î{’sñì—³•ó…˜ÞÿXddßÅbä›~î9$Qд ãj1[æ8  9ëž3òù¸±û&³ŽŸkÃle¹´8g'³ð˜n –ß#yÿ8#y¬mÿn¹Ö›âÞžqÀ®EÞkœËðï™ÏbãÍÞ.ö>Yx¬OúäŒe,¹¼9gïmÛï[^o7Š•éòäÅçž»€ƒlñ€sýçiA¾ìq@A€Âú²ãœ-ÌG„-n:–ÅÆ¥þš›—åwF>žì­IŸœq| _Ÿ÷g2-^®ô–Èæ-ž{þz³ ÛN›æXïcb©ãð6ÿmì#€Ú¦»Ž›ÏçOmœÍ>Û†"%ï9΢# ‡Õþókqþ™èût>¢,Þ¡ ÷,çìýñ8öñþÏöÏx³_»uÏòÏ=÷@*ØöÀlãÚŒCj²ߘü|¶ eÑ…ÇøŒò ýÜ©±cÞâ3¿Þ†åÎyÍêd§óésÏó³§›—ÁA6îÔ?ŸŽ‡‰¥ŽCêEG.>?9–ECÎæ²ãõÉÒýü9ŸG~x6›=¯grrñã\Î`~­÷ÝúŒÅ>“BäÚâ9(hOÆ!µjËåÀYä ãKýñd)7)ïSÞ*Уø¸Ö—îßyü|\ódîY>ÜågeáòRf//åµËùs`_2X -@a}F1—g±3òú©ÜM<‹ŒË K÷×¢ÎPæle.IÎÂ"—!ç½Ë+ Çó³Î÷ÏnÁ8`YÅM6åËÈñ^ü,6Ö'›”Mûgñ1ã½Èù³ÜÈ,g2W'mÃ=ÇðÎŒC–AÀtS¾é±[ })ñ•¸f|¶ù¸‘ß;mrÜ‚qÀn°å[)lä·—qÀn@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ ×½øÜ#‡âeíPo›½Í~â…Íoµ/ðî‡ìcq$Ú±IË¢bm5[ôÉ×~É­ú®Oú®Grm™ìgÆ!»MP\ ‡ãåx´“Ñî‰voЉ£Ñ®F»í\´ Ñ.õËŽOúæû•Þw-ÚùÞ÷b|ö¥(>Ö–öÇÀ>e° €ÂúŒc÷E»?Ú™hï‹vw´Ã½[¯F{%ÚÅ6Ì0æ5öv²÷ÍYÆ·¢½íl¿f%~ÇyÅÜšqÀ²j»#Ú©6Œö=óùüÙÅN³ÙìâåÎh¯÷CYl<}q‡¾ÏôÏ —«Q|\µ nÉ8`)Eõ%ÇwµaùðûÛ-ŠŽÇ?ÅÓm˜qL÷űÏÞ¢oöËäñ6ÌF^îíÊíý `ÿ3X&@]yoq.1~ ÚwEG ¿×†]ij0Y‰ã?œÇãõ™8÷é~í{ƉcÏ·¡°È"ãXô{´ŸÊeÌyòÑ.D¡³fWr¸‰qÀÒ -ê÷çc¹XMN;‰çýÂ×¢°øý(&þf?—…J#OnuœÍ¾Ø†ûŒÏõkNƱÏÇùÇr2Þg¿S½Ï›KøÓ`ß0X6@MY\dá‘EÁQ$|jëàlößÛ0ã˜3„‡zß,>~« ³‹yìŽÉçä.ã¹)Ù«ýšÜ¸ìøäü‰6ܳ|´_{ýþãž_Ýfoó> ¿çã€Z5eÅÀøØ±Q›Qˆüiç(<~§ ÏoýºQî6žK‹_ž\ÿÀä|öÍg•n“"?ŠÿÅç—iB¶,Ì7¢­f‹1¯{:¨GPSY dQp}&1 -ŽÜ©sÿÑ^|¬õkFùÌñ,d.öŸWû±Ñá¶sñŸ›žå²ç|ìY>Ç›€ƒk,þsö>—àç.þúñ#mÆ!5 êÊb`¥-}ó±¼—8— ßEÇåñ^|ü‡6,[ž—5·ÉëõkÛ‹ÿqÆ3€|äÙÚpïs†YnpðäXÊ¢=‹ÿ×ÚeøY¨¯´%Cê0ßDañ¥vã^â´š3ŽYtôŸLûwÓ{ø‹Œì»XŒŒ÷/ŸŽÏýÒ·ùo‡}'ÆÔGÛPܯO/{P ®é=É£,J¾ÑÛx›À]“ó‹EG~ä=üw÷Ÿµíß-×zS|ÀÎŒC–FPSY\iÃb£\¦¼Ñn -Ùgz/qÎXN‹¼wÿt¿. •{Û°ãø´ÿFÛ^|löþçf³ÙÇš[8øo8×¾ÚÛ^ŒC -Ô”E@Î8æ¦d&Çó{!g³¸Èû†s£¾c“ó‹ÏÏÇÜm{J IDATüÎÞÿt¿ft¥·,@6óÑg/>÷H¾¿Ô†ÙÍüwä†h6ä ÛiÀ9޶%ÃÛñ°? jÊÂ"€|tØÙÙlö³óùü—¢=ï½ 3òYŒŸˆcæqüWâåüø>Žÿt´ÇâýÚðóœ½?Ç>Þû<Û†BçÍþ»¶f,~â…Ÿ{$‹ŸœÑÌYO¤‚mì-åÿ[ú8 &@A}&>‹œuÌÍÆŽF¡ðT ÏFû©[\öÕ6,]N§Çƒca²ƒ¯·a¹sþŽÕü“ߟ!@.GΙÏéæep;õÏÇñ°—ã€zuåldÎ -æìûÖ#ÅÆÈi§8öLŠ“?n7ž3~w<^ÏDÿ§?8‹˜xùZv1ÏkÖûL -‘k·å¯ýiOÇ!µŠê«Æø”Kƒ×£høm¸'?gÁˇ϶ážýK½oÞŸœ÷ŸþO¶añ\zœÅ|39ëøR–6_Šß¥È‡‡,“ °,úýøãýÉyO~¹#ÿXxd!‘ˇsñr¿4ßçuYXœêýó;åjïóF¿&ïU^[ÒŸû’qÀ²ŠëÅGãîü9Óx´ŸÎBbܰl}œAì;ù;—Ÿíýsùò¼mßälÃ=ÇðÎŒC–AÀx?þZ9û˜ÅǸyÛ†e“þY€\‰þã³ÍÇünÚä xwŒCv›€ë¾Ùùlä·ŸqÀn@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ [^|î‘Cñ2‹v¨·Ñfoó‡ŸxaómúïØx÷ŒCv“€,"ŽÄ˱IËŸÇbb#Új¶è·Ú­,ôÏdm}Òo= -kKþS`ß2Øm€â¢H¸#^NF»'Ú½ýým(<®F»íÍh¯G{« …Çñhw÷þù~¥÷]‹v>Ú…hã³/Eñ±¶Ì¿ö#ã€e…Ááx¹+ÚýÑŒö]ÑîkCá‘r&1‹Ž×¢îïõkìíd?—³Œoõ¾g£½m%~ÇyÅÜšqÀ²j;چĢ}x>ŸÿÆ­:Îf³¿Ü†ïýÿ‡¢ÿ³;ô{&^Nõ~éjW-C†[2X -@Q}ó°¼o8—¿7ÚCïpI.QÎÇœiü®ŠŽÇŸÎ×(@oÃläåޮܞ9Æ!Ë$¨+7 Ëû†óþá¢`ø'[g³ÿÒ†%Ç—Úpq.%ÎeÄ×zÿÓmXrÜzÿçÛPXäùcñ9öSgúõoD»…Κ]Éá&Æ!K#¨+¿òãœI<=9žIn$–»Ž¯÷–ïs™rÎTÞÅŧ¶:Îf_lÃ}ÆçÚ°ûøÉ8öù8ÿXÎ@Æû'Û° 9û¼¹”¿ -ö〥ԕ…Ľ˜Ï{†ô6žËû“õ÷wMúæ.㯴af2gß׆ÙÉщþGûõ×ï?~›çÃAµÙÛ|2 ¿§ã€Zõâ{¥·±ÈžÏç?<í?›Í>׆™Ã,JÊÝÆsiñËýç¼?ùÉù£ý³óºëEþÛ<ïª,Ìs5[ŒÕ~lÏÆ!õÈ Ã~zòþÏïpþSQ|üëÖï/žœÊ%ÊYÈ\ì?¯öc£Ãmçâ?g/³€ÉGåÒ眭pPÅÞ£Ÿüëm˜µÏñrý¿ùeŽCjÔ5%×wââ_öcyq§¢èø;y.^"Îÿ~»ñX±éçlNÞOKü·ô•99>óüÑÞÓ†àŽ>‚,Ø×ÚPüçf~ã2üq¼,uP— ®,r¦ðõ((þ^îÎcãÌaéïs¿EÇöcYŒÌ>gzÿb‘1o7#Ù'‹ýÓñ¹_úvÿØobL}´ öåXØ«q@A€Ú²È骃 ýuü9g'ó±d¹qØÝ“þ‹EG~›ô9Ö¶·\kÛg:›‡,… ¶üÈ¥ÄÇ{ËeÇ›íÆòâéLdÊG‘M‹ñyäY¬ä¬c+'úçgN‹ÍÞÿÜl6ûXs ßâ-çúÏ9Æ 9—=(HP×x?~>Oüßå(ÈŸiÃFbYHdAžõM7[|†xÎ8ænã9C™÷ŸnÛw'¿Ò[ ›ù賟{$ß_Šö6#¹!šM9ÈvÚ0Ç@Ž…_K‡·ñï`ŸÔ–÷õY÷(@žŽâã7ÛP¬¤;ãØ£ù&ŽÿJ¼œßçŽåÑ‹÷_ˆC§úçcï}žmC¡“ÅJÞã¼5cùð/l¼øÜ#YüäŒf>¾Ìc©`Ûc{ËcYü/}P“ ®qó±ËQ$|2 -†_΃ñú“·èÿÕ6,]N§Çƒca²ƒ¯·a¹óÖãÎrö<ÑC€\Žœ3¢ÓÍËà wêŸ÷Õ0ÓM—>¨GPÐd)~. ÎÙÁ—£øø…(">³Ø·/G~%Ú·Ï¿;Ž?¯gr¶r‡kžŠ—¯E{µ_³¾Ó¿¡¿½vþ$Øw¾Æ!µêÊåŹ,xÜ|ïj O¶á±cãsÊs‰~ΞmÃ=û—úµÙ'‹–óýšý3®õÏÌYÇ—¢½‘×D¡£È‡‡, ¨>û˜Kð³ È"$‹Šœ)ÌÄòûa|YÞoœË‡sñr¿übEÞw|ÇäšËýø…~íÚrþ"ØŒC–IPXÎFñ‘³‹¹48g ³ÉMùr'ñy?>nX¶>Î öeËY`dq‘³’G'×L79ÛpÏ1¼=ã€e× ƒµ(&ÆÙÇqS¾m–-\“È•¸f|¶ù;^ÜšqÀ2Øò­lÊg#?¸½ŒCv“ -@(@  €VZ›íõ¿ØeV@(@  €PÀJ›íõ?ØmV@(@ €{ÀÁg €P€ -@(`¥5€ƒÎ -(@  €P€ -Xi³½þ'»Í -(@ °b@8ø¬€P€ -@(@ €•Öf{ýov™P€ -@(@ €O€ƒÏ -(@  €P€ -X™íõ¿ØuV@(@ €•ÖlP€ -@(@ °Òf{ýO`?ú¿¿ú‡â%¿Eõ¶ÙÛüßøƒÍ½ü·AÆ!ß +¸I/*·¡ ]‚âZ?w$Ú±IËdm=ÚjôYÍ÷Ù¹ÿr88ŒCn7ÛDÑGÇÛð=‘- ‰,(²°8íd´{¢Ý;éw5ÚZ´óÑ.D»ý/Eñ±¶ô?ö9ã€Ý àº^tÜít -‹»Û0«x¾·,<îŒv_´‡¢=؆"$¯ËYÆ·¢½íl´W£­ÄgžW|À»g°[l™÷·¡ ø®h§æóù¯Ïf³Š÷Ò†ÂâD´÷GûSqîÙÅω¾Ïäum(FÒÕøì«–!Ã;3ØMÆ{s qÎ(fQñ§£=…ÅÏö.ß݆™Å\’œEÅwïTt¤8þt¾Fòx¿æroWvóo€ýÎ8`·­xáŽ6ïö‘hßÄ?šœOî'ÎûŽó~ãÇQ`<߆Âb«0‰ëí§Î´a¹òym7k±+9¼ã€]e@q_ùÕÈÄóþá,(r¹ñ‡ŠŽtWoù½qoœ*FÑñÅ6Üg|® »ŸŒcŸóå d¼² Möys)ìCÆ!Ë (ì+Û7ËÙć&EÅÿŽ÷¦wÍï‹cýý“ÈÙÈWÚ°ÑXÎ*¾¯ K˜G'zÿœ±ÌåÍ×ï?þÊÍÏ/‡ƒn³·ùt~/Ç!µŠúÊû³èx  K…ÏLºL‹„,PÆâãŽÉñÜŒ,—¿Ü¾£Ö( Ž#máYæ}¶súüò#MÀÁ–…ùFëò‹1°ú‘OüÁÆ^ŽCêÔ5.9Îû?íÃóùü“yb6›ý¯¶ý;"ûæ b#ÓÂ#Ÿ9žÍÅþój?6:Üv.þs¶3ov_ÿ7oB®±øÏ{ôs þëÑ.ÄXÈŸó¿ù¥CjÔgs1‹ðœmüž(:þqž‹¢ã´áûaú‘JÎ2®·KGã²æ6yKü§¿7g#ÇÇœ}  ›åçgAs¸ÁÁ“ûZŠÿ×Úeø9^rœ-uP×Êð@1ù?þYˆgAqßä‘aÿ³ GãÓ{ˆsyr0y¯ñ‘…ÏšÞÿXdä†d‹ÅÈ¡þù§ã÷~éÛú+`ŠqöÑ6lØ—cmÆ¡ÿïP•uÝT,DòçvêÇÿb¾Faò›mû,ýx?òÝýçcmûw˵vc¦¸™qÀÒêÊ{„s6ñâ;u\¸fZDŒ›—åçd“0;19ŸK•óÞçiñ±ÙûŸ‹BæcÍ-|‹·œë?çXØ«q@A€šrIp¹”øå(ļ …x>+üÞþþþq&2Îÿç6ì0ž›—|NÎ8ænã¹1Y®+Î"äžÉù+½åïÚüÈ'¾¼ù•_ýþ|)Ú7ÚPŒägÚƒl§Ms ¬ösK‡»ñ°? -ê…xYxdÑÅAÎÂgá›óéÇFùŒñ?nãƎF!òl>§<Úcñþ m(Xröþxûx^}ÚP¨dÁ“¿kÞ÷Füî,~r374ó@*ØöÀÞrF>ÇAþÿ±¥ŽCjÕ ñ, -Æ•ã=ÄYxŒÅÂè¢}µÏb}c<…Æ£·ø_oÃrçüìÕ ~w?ãcÐÿT0îÔ?ŸŒ‡Í½‡Ô#(l‡Bü|få³°˜>GüÚ°ô8‹ˆüîxk6›=¯gÆË§âÜSñòµh¯¶áÞæõ~÷Xˆ\»]ìG{9¨EPÜ´ïEHÊûˆ7úãÊRnZ–ˈ³(ÉïŽÜl,ûž>O¶añÃýXÎNæ¬ãKmXª|)~‡"Þ†qÀ2¬x,£üÃ/o~å_]ß ‹…sýTyßþ8C¹Úßga‘÷çþY\ÏÏ8¿u­ïx׌Cv‹lÅÇFYdäráñÞüœ\ÏsùCœÏsY`dqq¶ ;’gy‘ŒM79ÛÈbf¹ìÆ!»AÀMzñqmáØæä}ž»}Æg›ùÝØäLÁßã€ÛMÀŽÞMá0éãÞbØÆ!·“ -@+6„€ƒÏ -(@  €P€ -@(@  €VÚl¯ÿ Àn³ -@(@ €€ƒÏ -(@  €P€ -@(@  €VÚl¯ÿ Àn³ -@(@ °â)€pðY  €P€ -@(@  €VÚl¯ÿ Àn³ -@(@ °â)€pðY  €P€ -@(@  €VÚl¯ÿ |'ø?ÿâûÅK~+êm³·ù÷þÌ—7¿ÝþÀ;3ØMV× ˆ#ÑŽMZóh«Ù¢O¾ndAñý×'ý×£ÿµeÿ=°‡,ƒ °(ÇËñh§¢Ýít´;ÛPXlD»í\´ ÑÎGÿ,,V&ýïí×籫ÑÖ²_ï1ú_Šâcm™ì7Æ!Ë"(ªÏ fÑp´÷F{(ÚÑN¶3‰oF{5ÚKÑîˆöV½¯÷°÷ÏæZ?ÿZ´³ýº•ø=ç°3ã€eÔ•³‹Y4dñÁhžÏçŸYì4›Í>݆åÅÙÿr=í#ÑÿÙú?Ó†™ÉÃýÐÕ(>®Z† ;2X@A}Öñh–gáñþŠŽÇ?ÅÄ?ë?æ2䜭|h§¢£÷:_ãšÇÛ0y¹·+·õ€}Î8`Ùueñ‘3ŠÇ£Xøåñ` ÿ¶ EÉÑ8þ×óX¼þÓ8þ©6*yÍ™IÿçÛPXd‘q,ú>ÚOeŸ¼ùh¢ØY³+9ÜÄ8`iµ†m‰""gsÉp÷ÄÏÿ) -‰¿ÚOçfcY¬œˆcŸìý¿Ø†ûŒsF2ïU>Ç>çËÈxÿd–!gŸ7—õGÁ>c°+³½þ°W²èÈÍÂ^‰á‡âõî6'Ú° YÎ>žœôÏ{ŽsÙñ“c¹Ëø+mØh,gß×ûŒNôþùY‡fÃìä–?¼ùùåpÐmö6ÿ¾³ð{:¨Å -€‚²øøÃáQbãl`>jì®Þ²xÈÇŠ™Ïç-OFaòÛm˜‘ÌâØä£²pÉ¥Å/÷Ÿsgò&ç³ÿ‘~íõ"?~÷âóË4![æ9ÎV³ÅÈ×,Ä÷lP ¨ïû™/oD’÷ ç d¾fÑ‘!»/7ûEÑñßúÛ,*Vúë(¯ÍBæbÿyµþÿìÝ{¬eçuöïÌÜ‡ä ‡¯)RTd§F$#.à•7IQ[Tà mb°¶‘D‘Cµc9V „z!.Ë­ü•@²Ù€”)P HÇAÝÀ©\ ªÀrþJˆÔcøš‡Ã™{çÞÓµf{îž«;$EÎ9‡sÖï,ísöùö™s/øéܵ¾Çnû'ÿùoåTæÜø,G7s´R€u5&ÿÙÏ2Ù± £öçÛî}Kí‡Ô¤PÛ8™ J&{\IÈ_Ìc}Ìuʇö¼Ç8­¹MŽ£qŠÿ¼»ëy&9yßó‡#îiC šƒ ÖOö³ì;™ü¿Ð†>1ö½WÛ’û!u)Ô6Nœ‘ˆ‰$ãgãø}ïŠÄãCÙ0Ž=ι ÉÄÔt ÿÞ$#ßoo2’m2Ù?ïùôúAàfýè‘6lØ7ÝcÙý€‚ŠêSñsê}޾çÆc¹IØ8 ?§&?Ÿç"ÙøR$?Ó/Û;ê˜ß#Gúõ­?ž~·l÷|Àwÿq£?ý€…R(h2?“Žœ‚Ÿ÷ -w ÏÑÂqr³Çhº®¸õkN´aJr¾gnZvÛäõ¼6×>O“Þþt$56KX{—œn»·ý[U?  €ºò; “„æóùÿ‘'"!ÿd6"ËD!G"3™N5ÎÉùäyŽ8žìm³]&!Ç'¯¿ÚãÊúæÉÝÆ‘ÍLFrC4›²ÎöÛ0û@ö…ñ–Kë‡7öGàf¢PÛ5»‰GòñH>þI’•L$n×ÇùßhÃÈe>þõ8ÿsÇãÏÅ©;Û0ztÒþ©6$:™ðä†fW–~÷L`ÆûŸ» \sÀy.g,½P“@]™|dBp!’„FÂð™<Ç¿söÿ©õÄ£ #Œ­·ì:í¿Ý†éÎy»³‹9ú?¾Ð‹ãíϦ›—Á:wêŸ÷Ù0Ú -û!õ(4™ŠŸÓ‚stð›‘|üƒH">½·mœÿT¾ñLÛ½Ïøqþ#m˜¶üä>×|,߈8Õ¯ÙÜÛf’ˆl߀ n:o‡~@- -uåôâœâ˜Iý÷E<q2âXÛý~Èdâ\Ä©ˆoE¼Ü†ƼîþÙ>˜eÌ$å…ˆçú5ñ|ÀþôC–I ®]̤áîˆwG|ÿ|>ÿô~ g³Ù'âp{Ä‹mX_|GÄŸˆö¿¼OÛOµa$sœ¾Îâ4• IDAT|9’˦!þôC–fãÊj1Jùw¿reÔñpÄ­mH<Þy½¤#ÅkŸˆ„â©6Œ(æhäñëµóOæ1Ú¤ £‘®Ä¬½zc -¸¹é‡,›ueò‘‡dá3ãÉHþi†™¼=^ûé<ÇÅk¿Ñ†õÈwLÚ± ÉE^s$Ú=Ö_z  ë_Š8ÉÎ¥?ýKv%‡=ôC–F ¶qð+úãÜ`,“ˆœj|OœûR$?Ó›ä(åv<ÿ›½ýçÛ0™›“åšäcqî³ñúã9ŸhÃ4älsnI?ÜlôC–B ®L:r³°oE‚ð—Ú0 9GsŠpŽ:ÞÓ†uÆ·N®9Ôvw&O¹ËxnJvª·}G6&ÝÖ¯ÏiÎ9ÒyuýqŸþ¼÷~ç°ÎvzÌ'£ð+í‡Ô¢PP&‘€ç½ÂÇÑÀL6Æ[ˆ¥L2QÈÛ‹mM.Ýi×&뙸äÔâoöç·´aóQ&™¨œ^ÿöÞû—jЬ·ì;Ù—.fDÈc&â+ë‡Ô³a@€š~è—¾¾õµ_y_®o1–‰Ç¸!Y®-ÎÄüÖù|þw³ýl6ûÍÞv:™Ï3‘y¹?¿Øv“—t°M’ŽüÎùÚüç´æ¼yNeÎÐs´R€u5&ÿÙß²¯å.þ9j?Nó_z? &3 -ëE€q£±LÂsäðD6Ëû’›4¾íÿ½1Nkn“ãhœâÅ×vw=¿½¿ÿÃm˜â|¬ÿÛ¬Ÿìc¹Æ?üÚî4üýuÙý€º&_ êÁEå@Ž2æˆ|&E<qß|>ÿ¥+ f³¼¥XŽ.æ¨ãÞ$}º†o’‘’íMF²Í•'Þÿéô3ÀM#úÓ#mذ¯÷—Ùø?Kê‡þæ¨Ê €Â¾ö+ïÍ$"Gãs*~nöîŒH8þáØ¦ïHþí6LSÎÄE~™œ;Ò®ýnÙîá¶cpú!˲ûå  PÊמzoŽætãL:Þñ'3ò>ãc›H:þqÖ)gŒëŒ/MÞ&¯?ÑÏ›•Ý6y=§8çÚçiò±ÓÛŸŽ÷´YÀúÛ»àtž}!ÿ›Ï„}yýÐß|e™PW®7ÎÄû¾6$ï¤ãò…H8þE¦gª0®Ù¿Ð¯›îFž#Ž¹Ûø­½m&!Ç'¯¿Ú#úØï|í©÷æãLdr-s&@¹!šMYgûm8&óù·ØRûá ÿé¸i(ÔGÿ3¡ÈQÂLÞ5I:þMFã39ÉÄ"G&3iÈïŒy¼m>í?ñx<þ\¦$çHæÑ8÷¡þ>Oµ!Ñ9ׯËuÈí‡>öÇ[ñïÉOÞ¾Ìm©àšÛöÈsYüZz? &€ºÆÍøòcOÆã?{½ "™øÛmH$NÚ?væ¹^9§;çíÎ.æèÿøB/Œ·?›n^ëlÜ©ÞgÃŒÿí¯¤P@mã­ÈÞ¨¹ÏQû3‘„ä}ÉOFâñäÞFñZ®_þFÄ©6Laþ®c’ˆl¯ÖÌÊú!µl\ÝffG€bÆ)øß‰D!§ çäœj|xòz& ãæe9ø;m˜F<ÏŵO´a -sŽFn÷ó9êølÄKçèø÷’|ØŸ~ÀÒ˜PP$;_ûŸþT&ã4âL22YÈâPo6NWžn^6î^žrZqnä—ëŽs -óFŸl› GN9>ӮݭèôC–M ¨H>¶"ù7ãËéÁ×ÛŒoïæeãNâù’‰Èsm­ÌÑÈy»v“³­LrþÃÀMJ?`™6®Nü· œÿüü÷[ÿß/ÿ©7²ßÕÍËâš1‘ÈkÇiÉãµûµ^ƒ~À²˜PÜ$Aøž×¿•k]ú!Ë L -ÖÀº2 -P€v VÀÚ2 -ظ:òo¬-w€6¤ý°þì(@ -PÀnÀf°¶Ì€Ü -0 -P€l˜lø€õç.P€%P€à.P€P€ ¸ °!í€õg à6€P€P€à.P€°$ø‰ï;ІŠû•íô˜ÿð'þÃΪ? T KÉÿ¡8™D>¯ZÈ„+âbFün.þð'þÃÖŠ?¬=w€ûÃ_Iþo8qwıˆ£­f`Lþ/Dœ‹x1âì~âûÎÿð'`‘Ì€Šä?üÃm(ÜñpÄ=m(ÜqpuŸn%¶#.µ!ù¡ <·¿«íþ¤å°(þ`á2ÉÍdÿÄ|>zÕæíd6›=‡Ó­Ï„ðw ,Ž»o#þ€E±/§µç´÷Ó³ÙìÑf Àt ÀéþÜÔX0X ?óÉÿ¸óo?þžÍxx>âù6$º¹ñMw7ÌßÍfþ®VùÁ`ݹ ,ØŸùÔÜú·O¾'“Ü˯4·¼æ6€ù;ZíG€õg,A/äô÷ù>Ðê&ÿ£óøÝù€%P€%™$ºÛ+ý @I -P€Û@f@Æý`ý¹ `  ¸ ` ¸ ``@(`ãjÚ/ÿ€µe ` `à6€P€%P€%P€%P€P€°quæ¿%°¶Ì€ w€Ì€ K 3 ¾Ëÿû÷:0}þ_ü£gv®Ó&çè±Óc¾_{à{£p£)pH(Åáp’‰´ç6#™Øê¯çùlsd™€Ì#6#.F›‹ù8®Ù^öç‡u °W—þÛ ´?øÅ+ Å-·GÜÖ†„"G_8ÉÄùþ<Ïßq<⮈£m((_ޏq&âlÄËyÍûõ™KKþQথ°Hf0&·¶!‘¸'âîˆc9Úx*â¹¶;µ8“Žû"Œ¸¿·;‘£Œ¯D¼ÐÛçuñÞg$ðúôCM ¸H 2iÈÑÃL:2‘xOÄóùüWóõÙlö×Ú0­x«_’íŠøhóÔÞ÷‹öŸjCrr°ŸºÿÆåH>LC†ëÐX·(ì>zeÄqœJœ£‰™tü@FG™ŒähâËmX|2â]û%)Î?™ÇH@>Ò†ÑÈ Wbve -3°‡~À²˜P[Žfâ‘kßñž1q˜È©Å¹ùŽ6l:–S“ï_Œã‹mH.2É8×?Ö_z  ë_Š8IÎ¥÷Æ®ä°ý€¥P¨-Gó» ;#iøô>mrC²Ü|LPîŽvË"éø|ÖŸnÃôäcqî³ñúã™ÀÄã'Ú0ª™mÎ-ü§›“~ÀRX@~ŒD!G3™øí8ÜÏ?Ð_““1ù¸urmî2þ­6l4–£Š9zytòúm½ýp;³Y»ºþø~á»î_ënÜÀoþþ_û®Qø•ôCj1€¼Wø™H8~<Žßñîví÷Ãå~ÌiÊã½ÉG¹ÛxN-þfž£”''¯î×äµW“üHþ÷Þ¿üPS`½ebžøe»}àâûí™­ÉëKï‡Ô£P[&™xäÔáL2qÈ‘Âc“6™¤dò’‰ÃÁ¶»«øôú—ûó‹m7Qi“ö{“ÿ\Ëœ÷/os–£•Ь«1ùÏ5ú9ÿÅ–ëñá¡ómX³¿ô~@M–öþÿù™í?ø{e²0&™täæbÓuÂóÉãqÚþÔ8­¹MŽ£qŠÿ}Ú&8Y¸7âáþïe¢“IÏÁë'“üKmèW¹“ÿ~n3âÕe÷CóÔµá; ¶‰äã«ï¡LNr42Gs”òÒuš_Y¿¼çÜt ÿÞÆyûîd$Ûd²b>Ÿ?ýf?7ܬf³Ù#mí¿Ò_òo±eöCûÔe ™|ìDò‘S†3rdror‘vúkÓ Äò{$×ðßÑŸi×~·ŒíÝv ^‡~À¢YÀ1&¹ysr>×îŸhÃHeŽ:ÞÕ†ÇG›ýšiò±ÓÛŸžÍf6KX{—œîχ>ñÆÿ»1ýÐß|e™À^c’1G3‰ÈuʯL^ËÇÜm<×,gZ‘IÈñÉë¯öÈkw~äyfç«?ÿP>ÎiÎÏ÷+7D³ ël¿M³lfŸxkÒßâÏÀML€©1Q™®=ÎÇcÒ‘¯½0›Í>5ŸÏŸŒx<.ÎÝÙ†Ñû£qîCyQœª ‰Î¹~í•éÌ‘ðl}õç¯ì~žÓœ3‰q@*¸æ6€Ù^§íÂú!5YÀhï(å(“¥e¼s|1Ç®ó~ßnÃtç³-“_ßéŒÇ[_ý¹‡¶û¿5ݼ ÖÙ¸Sÿ|Úöi³”~@=f0ÊÄ GÇuÊ£||¦ ‰ÇÕûÏf³ÄñÜûFñÚÇâðˆSýºÍ½m&‰ÈöÞ× °¥öCjQ`”Sƒ3ñÈéÂú­ÊÒé¶»f9§íO÷3Ñî‰6l8v°ŸËÄ%GŸx)¯‹d_’oŒ~ÀÂ(pEŽÈõçÊÄ#§ -g¢pº¿4Þ›üB??Þ¦,Ÿgb‘Ósÿ=çó}δëßËØC?`‘ìÀU?òÏl}õ¿¿²A_N×åçHãf¾ÖŸ_Š6c‚‘ÉÅs‡ÛðM2Ž^ޱ×Ys ßý€E1€kôäc{Ϲ=ÏóõW£Ýxoóq#¿ÝMÎ$ð¦é‡,‚ßå& “vÖà ¦p£Y\-Èÿ`}Y(@ -PÀî6€µe X˜(@–@f@ -P€%P€P€°[°Ö–PÀî&€«üÀB™Ø -° -° -° -° -° -° -0 -°` ` ` ` ` ,É¿zü¡m(¹èQÙNùýÙgvVýa K` ~÷ñ‡ÅáÈ$òyÕ"@&ü[3þÕã]ü±Ï>³µâÏkÏX°ß}ìJò{Äñˆ»#ŽEm5‹cò!â\Ä‹g÷ñ‡ÎÿØç`‘,€Šä?üÃm(ÜñpÄ=m(ÜqpuŸn%¶#.µ!ù¡ <·¿«íûœå°(–Àâe’›Éþ‰ù|þôª?ÌÛÉl6{$§[Ÿ áïX3 {Àâå´öœö~z6›=Ú,˜.8ÝŸSÿý= c ,Ð~ó™ßù[mÆÃóÏ·!ÑÍïl¸» `þn6ówµÊëÎX°Hl·~ço=”IîåˆWšÛ^sÀŒü­ö#Àú³–àŸfëw~ö¡œþž#ßZÝä´Óc¿#ÿ°–À’<²›èn¯ôƒ%YX˜Ø -° -° -° -0 -P€v—XkË (@ -° -0 -P€,€Ì€ (@ -ØÝp•ŸX(3 (À(À (@ -P€ì˜(@–@f@ -P€%P€P€` ` X˜(@ -PÀÆÿóËï]õglã¯ü—ïXõgÌ(@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -ؘ­ú g (@ -P€ (@ -PÀÆlÕŸX83`Iþ·ß?u Y{?У²ó¿ú£'wVýa X‚HþÅáÈ$òyÕ"@&ü[3âwsñ¯þèÉ­&X{ -°`=ù¿=âxÄÝÇ"޶šE€1ù¿q.âň³ñ;:¯‹¥ Ô§ýnCàÞˆ‡#îiCà–ˆƒ«ût+±q© Éÿ m(€ä¹Íø]m[‹£‹—In&û'æóùÓ«þ0o'³Ùì‘8œnõfBÀÒ)@ -°x9­=§½ŸžÍf6K¦KN÷ç¦þÀ‚mÌVý `ýäžÜùç¿j3žx¾ ‰nn|gÀÝMów³ù“ÖÿÀB™ ‰íÖ?ÿýS™ä^Žx¥¹ à5·ÌøIw€…S€%èE€œþž#ßZÝä´Ócnä–C–d’èn¯ôƒ%)@ -P€ (@³U`áÌ€ (@ -P€ (@ -ؘ­ú g°ÑL€µg (@ -P€ (@³U`á6š -¬=K (@ -P€ (@€×õ¿þëS¦Ïÿ»?wrç:mòæ²zìô˜ï×xsôGÞ¬Ùª?okÿì_Ÿ:‡ÃmH"ÒN$›?õçNnõ×ó|¶92‰üz™GlF\Œöóq\³½ìÏëDà­Øh*ìãŸýßW‰["n¸­ ‰D޾q>óýyž¿3âxÄ]GÛ0ÃìrÄ¥ˆ3g#^Îk~êÏŸ¼´änzú#7‚%|—žlÜÚ†➈»#ŽEä(㩈çÚî”âL6î‹x0âþÞî`DŽ.¾ñBoŸ×mÄ{Ÿ‘tÀ§?p£(pH2YÈQÃL62xOÄóùüWóõÙlö×Ú0x«_’íŠøhóÔÞ÷‹öŸjCRr°ŸºÿÆåH:L?†×¡?p#)pUi§ç(b&?ІÑÄQ&!9ŠørÖ!ŸŒx×~ÉFŠóOæ1´aòBWóSÀzијÊQÁL8rñ;"Þ3& 9¥8×!ßÑ†ÍÆrJòýã‹‘X|± E&GâúÇúK´aýñKg#¹¹ôSÞnäðôGn(¦r1¿2á¸3’…OïÓ&7"Ë]ÈÇÄäîh÷±|!’Ï·a}ñé6LK>ç>¯?ž‰K<~¢ £™9by!§·ÝÛ”Áº»z+¾7˜l/«?f›soíGàf PLŸV<½?x“‘ü^Èdâ`$9r˜IÄoÇá¾xþÞæÀ¤]&·NÞ>wÿV6Ë÷ÌQË£“×o›Äf?—ïq¨)°Þ²?ä:ý¼ßÅè‡y×ݯ²?ÞÚvo+h€5§PH${ï~¨¿”‰É˜g¢p.ã÷G¼»]û}q¹öëO^Ë]ÆsJñ7ûó<9y=Ÿgr¼¿g&Çú9EÖÕ˜üçTüi± kö³Ïåócò¾ìþx¸_s°é{%lÌVý XŠ/É®Îä{¼Ø8Zxå^âm1Ì[‚e⣆·´Ý$}”ÉI&%™0l»»‰§LFrdóåþübÛMPR&.GúçÈc&#÷ô÷¿eÏ{ÁºÈ‘õìW™üçò—üï<ûBö¥ì—Ù'WÑÇöW’¬¿ ÿo°þ¾ü{§ÆQÆL¼ïx¸ ‰÷m½Éxðoôc& -9rx¤·›®žOË ¦ÆuÎmrœ¶Ï„#™cóùüé7ýCÁMj6›ýD÷Œì“¹«ÿ*úã¸ô`÷kÍ€:òýL¼O\/ñŽÄä‘6ì žÓǑܶ|é:ïyeC³}þ“Ç{ÛÛivûã]+ìó¦?”¢À^™\žsúòÞ¤bl·Ý®Ý8lœâG~¤]û]3®…Î)ίD‚óh³€õ·w ÀKýù¡×º¨[dÛ+¡PGþ‘ŸIÇéIâ½wÊñéÞæõ‚1Ù˜nV–r3¿ý=r´ñ®É¿‘r3“ÿsý˜£™/6›²Þönx¶í®ÿ?´Âþ¸Ù¯Q(B €Ÿþ 'w¾ü{§òýÜXìù6ü±Ÿ‰÷tÓ±qwòl“mÇïˆ1¹£†ã´äW&¯åHãÉþ¾¹¢8“ã“×Ç(›—û¿ç6€T0½ àfžûrŒ£ú«è¯ö?kN ˆŸþ '·¾ü{§2™È„#“„½·»8Fo› ù˜´L×çã1ÙÈ×^˜ÍfŸšÏçOF<?çîlÃtþ£qîCyQœª M®iÎäÿ\Ûݽ\òOããþ±°Êþx®_»ß²ÖŒ@!=‘ÈщŸ&ÞW“œ-097¶<ÊÇYHo-–£‹wŽ/F‚ñØuþùo·aZsN¾Ÿ¥Ÿß¾N{Xw;o“þxqòï°ÆŠ™ü¡ÿz‰w¶Ë‘Áqã²Q>Gñ¯Þ|6›}$ŽäÈãÞ7Š×>Ö†[šê×mîmé,ÓÆÌ=_Ø_N ΄#§ è·$K§ÛîÚäqwò” Ì™h÷D6;ØÏeÂ’£Ï¶a÷óó?ó_4êßý€·Ì öIÁΗþ¯S™päáLN÷—rÍq&úùË=òy&9ý8oé·±ç|¾Ï™vý{˜ס?p#(p]‘tlEÒ1îB>]Ÿ¼™¯õ痢͘XdRñ\v7Ï9fã¨å[™È,ñG€µ¡?ðV)ðšzÒ±½çÜΞçùú«Ñ.GsŠñ¸¡ÙÕÍÌ$ðÖé¼ -¼®7š,LÚYS ¢?ðf)@ -P€ lÌf«þÀ¢™(@ -P€ (@ -P€°1›­ú#‹f (@ -P€ (@ -P€°1›­ú#‹¶Ñš -¬;K (@ -P€ (@ -ؘÍVý€EÛhM–á·þå·´á‹÷@ÊvzÌÿÆß¿³êXKÉÿ¡8™D>¯ZÈ„+âbFün.þ¿kÅŸ Öž,XOþo8qwıˆ£­f`Lþ/Dœ‹x1âlüŽÎ+Àb)Àõiÿ‡ÛP¸7âáˆ{ÚP¸%âàê>ÝJlG\jCòÿB - yn3~WÛ–Àâ(Àâe’›Éþ‰ù|þôª?ÌÛÉl6{$§[½™°t -P€,^NkÏiï§g³Ù£Í€é€Óý¹©ÿ°`n‹ó¡¿ç‹ÿòÛ›ñð|ÄómHtsã;›în˜¿›ÍYÿ µÑT`¡>ôû·¾ø;ßÎ$÷rÄ+Ím¯¹ `FþŽVû‘`ýYKЋ9ý=G¾´ºÉÿh§Ç<~7Fþ` 6š)°úÀc¢»½Ò”d (@ -P€°á°þ6ÜÖŸ%PÀF3ÖžP€ (@ -PÀ†{ÀúÛp@X–ëHݲ IDAT@ÍX{f@ -P€ (@ -P€ (@ -P€ (@ -P€ûúÂWž=‡YÄi§ÇüÃ|pçuÚ_·-ð½Ñ¸¸FOE™ÄÁþòvÄÅŒh—Ç­~~oûL<曓¶›‘xl/ëç€u ?p#)pU$™X¸3âxĉˆÛÚP¤L0^‰8q6â|?´·¿«?Îï—Ë—"Îô¶/ÇûŸ¤ãÒR~¸ÉéÜh -\ÑG3Y¸7⾈#NFk»ß™Dœ‹8ñ­ˆ—Û0²˜×Ýß#Ûgâ’£‹™œ¼ñ\¿f#þ3’xmú#‹ À(G3Y¸;âÝß?ŸÏ?½_ÃÙlö‰8ÜñbÖßñ'¢ý/ïÓöSmÁ§-_ޤã²éÇðšôGn8ÆÑÆÃ·¶!áxçõ’¯}"‰§Ú0’˜£Ç¯×>Î?™Çhÿ‘6ŒB^èñê ý!`Mè,Š£L:rð£‘$|f<‰Â?mC¢#’·Çk?çãø±xí7Ú°ùŽIû/¶!¡ÈkŽD»ÇúK´aýñKg#ɹd7r¸.ý€N€©q£°+úÔâÜX,“‡œb|OœûR$?Ó›äèäv<ÿ›½ýçÛ0 -™›’åZäcqî³ñúã9òŸhÃôã\‡|!§·kokëì{½ß²úc¶9w#~@ÞÞйÎýÄÇÇy{°ïDbð—Ú0ý8GsjpŽ6ÞÓ†äåÖÉÛj»;’§Ü]<7#;ÕÛ¾£ ’n›Äf?w¤¿‡"ë,ûCö§émûÆu÷«ìyýáþïÙ`Í)IÇÞûƒÉBþáed² IC&™\î¯ßÖŸçmŶ&o¹Ó®MÜs—ñœRüÍþü–6ì\Þ&ÏÇ[”åwP&Çú9EÖÕ˜üçTüiÏÍúrÇþ,‚ëýWÑ÷ó`Ó÷JP(¢'ÿ9m8“ïœ*œ‰÷8z˜ FN-~¹?Îc&c’žkŠ3A¹u>Ÿÿݼ`6›ýf’éd>¿Ø¯oýñåÉëý}nïÇLFîéŸ%““ƒ ÖO&ô9•?“ÿ\þ’ÿg_Èä=ûeöÉUôǃMòPŠ@“]Å3ñÎûŠ?܆Äû¶Þd¼?ø7Ú$Œë“3)?ц Ãòºc“·}¾íÿ=2®sn“ã(?ÇÁþ¾Ç"yyúMÿPp“Šdý'ÚügdŸ|°­¦?ŽK(B ŽüCÿJq½Ä;“GÚ0ò˜Ssd2“‡Ú Ü×ýRo—·ËQÅmÜ;j¿w-óÔ4ÊÆþx× -ûc¾¯þPˆS™dä(d&&92™ÉÆ»#Ñø‡cƒ¾ù·Û°ž9w¿crý8ÅüÁ·¾ð•gÇ‘ÂaœÞvlÜa<„!¼’lü›6LAÎë2¡¸{Ò>“™ Ñæ3Ñþ£Çãϵa*rNç?ç>Ôßç©6$9gÚ¼œk»·-“üSÁ¸Ƽ?‹«ìçúuãg`)Ò‹9Ú˜£…{7ËQÄL(E’ðäxM<þ³×{¿H"þvˆƒ“ö]§y®SÎõÏ9ýùB~–~~ûÍý4pÓÛy›ôÇ‹9Kè-üÜ$Š™ü¡5ñžÜ&0§_üÞ.gäèå™H>ò~ä'§ÉÊ(^ËuËyK³Smýß|sŸÖ‹þÀ2)0—|'„œ&œk‡sòðäõLÆÝÌsúðwÚ ÌÆsqím˜¶œ£Ûý|Ž6>Û†ÝÏÏGÒcÔ^›þÀ §Àt“Àqúp&™$dâ0]—¼w7óÜÌoܬ,§çƒ¹Þ8×(oô÷ɶ™häTã3íÚ]Ê=ôGE€+öl˜Ó‚¯·;ÿt7óéŽæù’ Èsm¥ÌQÈù¤]Æ–µÆðúôGA€«^c“À½®îf>I òÚq:òxí~í€7@àFSàûmJ¶Œkï¦?p#)@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -°$_øÊ³â0‹8У²óðÁU¨@– ’ÿCq82‰|^µ ÿVÄÅŒøÝ\üðÜZñg€µ§ Ö“ÿÛ#ŽGÜq,âh«Y“ÿ ç"^Œ8¿£óаX -°@}Úÿá6îx8âž6n‰8¸ºO·Û—Úü¿Ð†HžÛŒßÕ¶å°8 -°x™äf²b>Ÿ?½êóv2›Í‰ÃéVo&, ‹—ÓÚsÚûéÙlöh³`ºàtnê?,˜,P®iÿÂWžÝŒ‡ç#žoC¢›ßÙpwÀüÝlZÿ‹¥ –»Ûç.÷ñðrÄ+Ím¯¹ `†;Àâ)Àô"@NÏ‘ï­nò?Úé17òË¡K2It·WúA€’ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€Ø×¾òì8Ì"ôØé1ÿðÜy«í7NàFPà=q8qd™HÌ#.fD›Ÿzo£Ùlö‰6L+Îöúñˆ?íŸÚ§ý§Ú0"y°ŸºIÇeÓá5éÜp -Œ£‡Û0½8Žwî—l¤8ÿ‰H">ÙŸæôã¥|p¿d£·2qÍGÚ0 -y¡Ç«7ô‡€5¡?°( -Œ2éȑģ‘$|f<‰Âoµ!9çÿJž‹ãÇãü/¶!AÉk˜´ÿbŠL.ŽDÛÇúKÙ&׿q6’œKv#‡ëÒ¸á˜7 -»"’‡E̩™Tçÿ{$ÿM97Ë$å¶8÷ÑÞþómX_œ#‘¹FùXœûl¼þxŽ<Æã'Ú0ý8×!_È©Çm÷6e°î¾×[ñ-«?f›s7ä'àmM ˜}îÞ&óö`߉Äà/ÇñŽ6$·µaó±u<6y«\kœÓoœËÝſՆ Æ2ÁyGo3ºm›ýܸ~Y€u–ý!wîŸÞºo\w¿Êþxk¯“ÏÀšR($’޽÷?Ô_Ê?ü¯ŒL¶!iÈä<“ƒÛÛ4äíÄÍçóÿ6GBòÛm‰<Üßg”»Œç”âoöç¹#ùÉÉëù<­Ìï L>ŽõsЬ«1ùÏ©ø9ÒþbÄËmègãzÿUôÇÃýß<Øô=€ŠèÉ&™|çÆb™x£…¹Øù6$%¯öÈÇy ²»s£±ñ}"Ùø?ûÃL&6úq”S–/ök[|yòz¶?Ò?G3¹§–|Ÿƒ ÖO&ô9•?“ÿ\þ’ÿg_È¢@öËì“«è›ä €&»ŠgâIÄÃmH¼oëMÆûƒçýÄǤa§/Nß+’¿˜Ç>ê˜IÍ¡v­qs›Gù92áÈ$åX¼×ÓoñGƒ›NôŸhCòŸ‘}òÁ¶šþ8.= €:òýL¼O\/ñîk3‰¸ºYYÄ™8ÿ³qü¾ˆwŵʶqüëqþËmH"öþ;ÓµÌSÓd*ûã]+ìó¦?”¢ÀTNËÏ]Á31ÉÄ`Lr:òó·F’ñ¥H6~¦·ß;Ú8Nñ¿cò~Óïšq-tNi~%ÞëÑf ëoÚþ£õ{-º?n·Ýý(@ Žü#?“ŽÓ“Ä{œrœÓŠ3©§$ß׆‘ÄLr”ðH?n¶ÝÝûÓt=qÊÍüNô'•»&ÿÆøïdò®sS´›MYo{7<Ûv×ÿZaÜìÿ†"@ -ä=Ç¿ð•góýqä0ÿØÏÄ{Üt,_Ë„"’{æóùoåÉHL>Ù†¤e»·ÍÄc:Åø|¿n”#'{Ûl—ÉÇñÉëc”÷%¹·¤‚ém7ûóÜ—#“öì_«èãƒãç`Í)ñá>¸õ…¯<› B&¹ÉØô¶cc2’£wŽ×DâññH:þI—L n×ÇùßhC"Ÿ=Îÿ\Äãñøsý=r:ÿÑIû§ÚäœiCò®];­ÖÝt-‹«ìçúç˜XS -…ô"@Žæ(âÞÍÁŽöã‘|4…Ïä qü;×y»ÿÔzÂц‘ÅÖÛ?vößnÃúçœþ|!?K?¿ýæ~¸éí¼MúãÅœ%ô~n -ÅLþп&ñŽD$Ïç(d.8IÇ?ˆäáÓ{¯óŸŠÃ·"ži»÷¿#Î$ŽÄ5OîsÍÇâðˆSýšÍ½m "ý€eR`”#ò9xÜÿr$ -O´a²‰Ìe¼?ùsmHLÎ÷k³M®%>Ó¯¹­¿ÇvÏmÌ{šçîçç#é1ê¯Mà†SàŠ¾Q`NEÎD"“L&r„07Ëï‹Ü; wÏ5ü9m8G/ôË_îí3¡o[6^s¡Ÿ?Û¯½´œŸn^ú#‹ ÀU9IGŽ*æ”à)ÌäcÜi|¼íØÅ›ãÈa¿Ã@&™TähäáÉ5'±e­1¼1ú#7š×è Á¥H"ÆQÇqs²«;˜ïMzâñj\“£‰çÞÈ5ÀëÓ¸‘Ø×õ6'»ÑׯOàFP€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -PþÿöîîÇ®+Oó*IQ¤D‰T«ÕÒp¦Ç31’ü¹ ßÄJ:ÉÅ8†Ó–!ÙÖÀ2Æ3˜Æ8# 4˜‰ 0Fì Û­4 Çv#¹H€€WArÿ!p÷°Õ#uKâ—øQü¨¬—{mr×QIIE–x~Ï,œ:{¯}ª -àBñ÷®µ× -@(@  €P€ -@(@Øï=w¨¿lôvh´Û£m¿öê™Ûù³A5Æ#»ð@£˜ØlS!1»Ù ‰[ãܑގ-Z -íÞ¶z»Öû\Ë×éÿxrX?Æ#_”€ûêÅB -ÇÛôw#-D -‰G{;ÙÛs½^ô»ÙÛõÞÎ÷v¡·K½ÿå^t\쿬 ã€/CÀžF±ñLo§ÚTP<Û¦ÙÄó£¥àxº·z;ÓÛËm*>r]f?íí½}ØÛ½îŸy^ÑŸŸñÀ—%`W‹bãÅ6¿ÜÛóÛÛÛÿxccã?ë_ÿE› -нýRoÿv?÷îêçô¾ïäº6!q³öMËááìŸ1î#ÎÒáÌ$¦˜øwzûK½ øÝÑåWÚ4£˜¥È)&~e·b#úñ·óÚ 7Ç5WF»ú(XÆ#ûEÀnžjS!ñõÞþroÿn/~kqþkmº8÷ç>ã—ç½°øa› -Š;I¿îõqê•6-Sþ8×ö¢æºÝÈá¡ì ;ôB ;ˆç¾áYfüë+ÅF<3ZþŽœîç¿›ƒ½ØøA›î/þ¤M»ŽŸìǾ×Ï¿‘™Çþõ[m*drò•,=n÷Sëîs?Šï1Çô¹ø¥;¾òÅìò|𘠓ü]˜7Ë,â™E1ñÿö¯ÿ½Ñ?ýޝŸ^||f!ßoÓcù¼o´iéòìÄ¢mcùœ#MÀzËx¸ÑîíØŸ×ù¾ûƒét|oû¬9@!c6qù|ð#ãT -“ÌÆçïBv©MK„_Y\¾,6Û½¢ã©ÅñlB–%Å?ÕïS€<7®Oñqr°®æâ?Kñ3ÓþQo—Ú‚åß| -ðƒGÇ÷ÜlÆ@ €"FñŸÙÄßÙL,…÷<[x}´6Žg£±_ÛÞÞþíØØØøÚοGƵ)B–GŠ–Ìl^ï¯c³¹Hyf¼¦ùÚøžùœÍë'ã$ã+Ån™ öúK“17›â @cÙfûæÇˆ}³M…÷‰Ñ%…AvÏŒdŠ‘_]ÿW›þ^,ÿf¤(ùtô?Övš—/·Åë,?G -Ž)'û÷øÑ—ýÝàIÓÇÔ·ÚTü§eLži3ç[(BPGþ£ŸÂûÔ^…w/.rñ3‹bãÿnÓߊyéþ,÷$g†2÷Yù˜å½Ì«ÅŲÊæñxúÇc64 -°jcþ¢ÿÁnúñÿèNÇÚv.ÛŸ—ø?;Þk;ÿÖÌ÷BgvóÓ~ý·›[X«·|<Þ¯ë»y”ãñÖhB€"uä?ù):>YÞó’ã,žw%¿¹û建Ùv™•œg#3Ûxzñ=Z»·´ùâxͦh5›²ÞV7¼ÐîÝÿäÇãÖø9„E -È3Çß;{.ÿÙ¿ÜÛÏÛôŸýÞó¦c9—" EÂǽ y³ÝÛ˜,ECŠ“çÈ~þoÓÎâùŒ£‹o5ïXžÏÍÌå©ñ9³¹ÊsÉ/ë= -–Üï3vR´gìÄx¼Úîí5 (@PÄk¯ž¹ñÞÙs RpdðåcÇæÀ¼Ï¬á_´{ÏϦyüØÕÅÇåÙâÞ¦¥ÌG{ònžOÞÛýëï÷cÏ·i)òñ~ì;¹ }ÚT œoSñq|Ïå=Ê°Îæ=0¶Çû9 8ÈñxqüÛ €µ'(d„).2¿,¼çÙ¿ü]8Úî=—<3ˆ)8æ"aöozûñ8ž"åÆ|¢¯ïñíÖ¦ûŸ³üùJ~–qüÖýaÝÝþŠŒÇkY%ôå¾êÅ,þ£¿[ဠ÷ ÏËl}f'SP,ïEþ7mZrœâ!K>Ë”_éÇÛ«:v3ÿIo´iök_~xÂãü¸øœŒG¾,÷µØ<0Ë„—÷(oÍ÷ñ' ¤°HQña›îYÎ,e6»¶h7Ük _œñÀ—!à›.Ý^|sWÇýÊYbèípÿçð`Æ#ûMÀÒÑ6;ÔÛ¿µ½½ýOö긱±ñŸ´éïÈæèÿë½ÿ»»ô{§¿Ö ÖÕnì›ï»?Èñ˜Ï8:®·Àš²ÇóÄãöxŸÙÆG—mnooÿÆòs666þ´M3†)Fž[œÊ.ãYRüÓñ>÷%¿´8ÿÔøü\³œá<Þ„¬¯¹ø_>²ïR›B°ü›Ÿgï÷x<:¾çf3öJ1Šÿ̦@È£Äæç‰Ç<ŸóO÷ã·æëú×ÿáêge‰q/:þ§6î+^œÊÒäÌl^ï¯c³Ã£ÿ3ã5ÅÈ×ÆÏ’âd³ÁúÉ8É£ö–ìËXH(q™1yãq³)þJ0–ýg¶o~¦ø7ÛTxÏK‹SdðËëzQñ?Œc¹8…Å󽨸¯s®¿þ~þ_·Ïíó}Îmñ:;4ú§Ø?Ù?ãG_ú—ƒ'L7ßjÓ¸J˘Ìÿ1ç[(BPGþ£ŸÂûÔ^…÷x4اcs°ôO±1ϦPù¥~î_ôëÿú8–"d{—ïshñõÒ²ÊæñxúÇcú…XÊâyõ!'ë IDATWñ™‰¼>ŽçqdY¢üì¢ÿj±1/ñŸûk;ÿÖÌ÷Bgv3…Í·›[X«·|<Þ¹ßEíÑÇ[£ ŠÔ‘ÿä§xødQx/—gðæY<ï*¾9®Û\|Æòâ'Ë¢c~ùõqýé¶sóyióÅñšMÑ>j6d½­nx¡Ý»ÿÿÈŽÇ9\!( Ïïì¹ügÿro?oÓöSx/7KáYø···³¡X– ¿Ó¦ Ä®sÙ¬l¹ÉØê³ÃS¨¼4>7…Ë©¶sWò¹úd|îGÍc©aùÀ­ñ>ûr¤€O~ãñêhóÏÀšñÚ«gn¼wö\€™]\}ìXŠ‘y9þ½ðx»ÿ´ÝÛŒ,;’¿ž/úñÔ_ÎÏ_÷ãÿ ·7ú×ßoÓ,åñ~ì;£Ï»m*rrMŠ˜‹ãû®>ÿÖÕ¼Æ?®91>ãÖøÌÌ6žkÓîç—{ÑcÖîÏx`ß ¸cl˜¥È)$R|¤˜È a6Ëß‹ìÍÇrŸq– gæðʸüÒ蟂"÷?µ¸æÊ8~a\{ýñüFðä2xÜ•™À^tdV1K‚3S˜â#˳ƒøö8~m´­yæp?ã€/KÀgŒâáHoÇ-ÅÄvo×ÒzŸ¼Þ—ìÕwkÑw«·çïëÀx`¿Ø¡›ýåxo'{{®·Óm*"Žöv³·«½}ÒÛ…Þ.ËŽ/úæëãïõÞξ—úg_îEÇõÇöËÀÎx`? ¸kÌ4¦`x¡·{{¥·oôölo›£[ŠŒz{¿·KmšYÌ5/vrôÍìâ§½ý¢·Ç5‡û÷8¯è€3Øo–žêíù6¿ÚÛ¯moo¿»Úiccã÷ûËÓ½}4¥ÈøK½ïïÒ÷ñ™sÁr³7-?†2ØWîKŸiÓ²á_j{Ñÿa/$ÞnÓLc¼ÐýÑ}Ó/…Ç›mš…¼2ÚÕýý `}< -f¹§8K‹_êíWæb£ -ÿªM»‡§ 9ÜÿFŽ÷×wú¹?×~mþ~ì‡m*(R\ëý^§²|9÷ÜÛ…^à\·9ìÉx`ß ˜ï5ÎÆbÙ8,ÅÙÅéyñÜ'|«ÿºÿÅ8—%EÈ[w:nlü M÷2®9Ù}¯Ÿ#3ýëôËòã܇|%K۽ǔÁº{¨GñÀxLŸ‹ûø{ð%(f—çƒGþä¾ál6ör/~'{p¶M3·}Stü³6Í*æØS‹ÏîâÙŒìƒqM6,;¾8bѶƱ:Gš€õ–ñÇô-Û7ßwã1{×Ú`Í -éEÇêóÁŒSùÏÿ©6Í6žZ\’bâv/@þóåçô‚ã_´{üÑÅ©ì2ž%Å?]\ÿÒÊçÍ(Ëß 'Ç1!ëj.þS¤g¦=›õeÇþŒ¡ü›Ï:ˆñxt|ÏÍfì” (bÿÙT,ÅwfSx?½è’"üÅqþŽ^hü•Ý>«ÿë£èÈ2ä#‹SYÒŸ™ÍKãýµql–¿;ÇÆÏ‘×#_?KŠ“Íë'3ë+)þsûËû÷Û -düdÌÄxÜlŠ€RŒeÿ™íKá¢â›m*¼OŒ.)PRäâåáyÓ±OFŸçz±ñ7r|ÿk›–//Í÷9·ÅëìÐø>)öOöÏøÑ—þåà ÓÇÍ·ÚTü§eLæÿƒó­!¨c¾?øÔ^…w/ þû¶øÛÐß§ß|q\ËLcŠñ>³Û»|ŸC‹¯—–ÅT6ÇÓ8Ó×x(DÀÒ¼dx–™ÆŸ6ÏÞ?³8¿ZlÌKüŸïµkæ{¡óÌñO{ñòíæÖßê-·Ï.×ßÍ£·F!¨#ÿÉOÑñÉ¢ðž—߯¹M`¹„øú87)–÷gã±eÑ‘åʧÆu)PN/¾G¤˜Iñq¼fS´šMYo«›^h÷îÿ?r€ãqk|ž @yæø{gÏå?û—Û4{˜ÿì§ðž7K‘¿ ϯ\šc™aLQ‘B$’[œ_}vxf_Ÿ›þ§Úb³v¯ÊLæ¥ñ3x ,¸5Þ§ÀÏØK~ãñêhóÏÀšñÚ«gn¼wö\€y<Øò±cs1’ÂßÝÞÞ~··ßì_ÿã6-ÑO~¢{=ôãÿ¨¿œŸ¿îÇÿAooô¯¿ß¦Â%Ë“÷cß}ÞmS‘“kRü_l÷žg®ø§‚yŒy–~r<^?Çêí¬!@!#ÈlcfâW ïY*|g&pQtü½=>îÇmšÉ»Ï*Ÿ ’]ü¬M÷?gùó•ü,ãø­/ò»À¸ýײJè ÿ<1Å,þ£¿£ðî…È\ß½ç¸¿Û ˆ?YöëÇÞiÓNäÞî=_üÙ~üÍþúJïÿöê÷LñÒ_~Ò¦ÝËsÍÖ>ü*ðÄ3xœÜ1ö ˜g"#K‚·z±ð·Û´™XާPȲáÛ´—ÀåÑ7÷%ç^âó½ÿ[mÚh,KŽSÔd‰qfϵi÷óËý{™õ‡û0xÜ•B`ì0oX–{“SXä}sÁ1ïbž™Ã+ãÒ|ëRPé»Õ [ü—€5a<°ßÜ1Šgz{®·z;ÙÛñv¯è˜ Ÿöv±·ó½]ïmsô}~¼æïËÍq.}.ôv©˽è¸þ˜~%xb< -æå™1LÁñboßìíkm*:žçæ¿™E¼ÔÛÏ{ûi›fSp¤Hùú¸&ï3»˜Âä½}ØÛùŒþ½Î+:`oÆ#Š€YŠŽ§¶··ô0lllü6Íï´i&rsº™eÊ–Ã}ì;_ÆéÞžîíd/6þp·ýøÛyí…Ç›mš…¼2ÚÕÇõCBÆ#÷%`–ÍIJø“^|»MKŽO×,'>ÕÛó½€ø÷Ó¹÷ù³6ÝœöõùCúñ¶© Hqq¬÷}œz¥M÷ÜÛ…÷Ξ»n7rØ“ñÀ¾Ðòÿ^ä^âËmº—8…À'm*6æâáH/þÓôïEÅ?kSá ÈžíÇÿþ8þƒ6Ý_œk³ëøÉ~ì{ýü™yì_¿Õ¦åǹùÊØ±ü~7ƒuòPâ;€ñ˜>Å/ ÀW‹ ˜=ž+>#ׯ×Ù,,EÃÕÑ7ËŠŸ_|Ìûm*âsî™Åñ ãÜãs¾Ñ¦]Èg'mkÛëñf°NV×—×ù¾ûƒù¬£ã{Û`Í -Ùã¹â1&[£Í…dzã}î~#¯Ò_ε©¸x¦Ý+V"…Jf":Þg³—çó>Hm–¿AwîWn;oëf.þ3{Ÿ™öÚ´sÆÖ¼ãÿAŒÇ£ã{n6c @{Þl³ÁúÉÌzîçÏËL}þg,¤Ðϸ̘<ˆñ¸Ùÿ¥ -¸ÏsÅçBb~>xú¥€H¡ðÜèóâööö?L§ÿ¶MÅF -“5Ïîòíæûœ[Û9ÙÆç§àH!sòao뤣oµ©øO˘<Óf<ηP„ Ž>W¼µM³…)Ò3#™ûŒ_XtÉrâÜ‹|~|^ -˜í•YÞ˼Z\,‹¨l§p<¦¯ñPˆ€UùÛeÉyäØ ‹ÙÆ?mÓ¬d -Ž%YQ‚ãÖʵYÚ?ÏDk;ÿÖÌ÷Bg‰ó§‹Ç›¹€u¶z ÀÇãý‘û]4<Êñxk4!@€:v{®øê’ãó£_–%§hxnq}ŠŒ‹£]צàØZôÉýɧÆ÷Élãé¶ó~å,ežïoÎk6Eû¨Ùõ¶º à…vïþÿ#8·Ú½Ð@P€ €=ž+žÂ{uÓ±&)æ™Ãe±pi\Ÿ×+£Ï™üEŸ)/ÏÍýÅ)>–EË\ͳ–5¤†åc·ÆûÌÚgS¾à1¯Ž6ÿ<¬9@¯½zæÆ{gÏ¥`HÁ‘"a·ÇŽÍ³wîOÞÞÞþnNnllüQ› -”ÌH¦Ø˜M–÷¿èçßé}ßΣÉú×ßoÓ½ÊYμûÎøŒwŸ1Ï^Þn;ïQ†u6ï1ß§?‡9/ŽkW÷` -!@fS4, ï¹0Éß…ÌJÎKƒg¶é¾å‹ãÚ|FІ ãÜósÇ^`¼¾Ç·ÿY›–5çš+ùYÆñ[{ô‡uwû+2¯e•ÐþüJ|• ŠYüGÿ3…w/Fò’b#Ë‚Ï/N¥XÈlafî··ä}žC¾¹±±ñf}%3«ŸÛÏeæò'£ï¥¶ó>e(Ëxàq°”eÀ)2³xn<†,rÏ~ -ŽÜBp§PéEÇ­qKÁü·$ÇÏ÷kÞjӽʛãX>+Kª™ÌZ^εç×'šñÀ¾pטIÌRâùþü ãTvOqqe¹T¸}½÷ÏÌdöÈRäY~œGú^9žÏ:?> xã€ý&`‡Åf™y\Þ“¼µ¸oÙ?EÇ\XÌ÷ ç¾åì:žÌk‹výÆððŒGö“€ÏXl¸<¶g¡0–_í×d61³•ó†fww=WhÀc<°_ìê‹÷ÛÐ øâŒGöƒ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ØÓ{gÏê/½‡n÷¶ýÚ«gn? ï¡ÑwÏþÀçc<ðe øŒQ<éíØhGÇ©­Þ®õó×úë»ôMKá±½Ò«÷¿õxxòì;ôâ`³¿ïídoÏõö|oOÓ×{;ßÛ…Þ.ö¾)(>é{z\›c7Wú_êý/÷¢ãúãûmàÉf<°ŸÜ5fS0¼ÐÛ‹½½ÒÛ×{{zt¹ÚÛ‡½½ß¦"äêxMÿ3½½Ü¦B%EKf?ííãšz;Ü¿ÇyE<˜ñÀ~°”¥Ã)Rlüjo¿¶½½ýî²ÃÆÆÆwÛ´9}ç‚#…É_^í;ú¿Ó¦ÉÍqèf/:nZ~ d<°¯Ü1fs¿p–§€øL±9Ö‹ˆßkSq©M3”gvë;ú¿×~Í›mš…¼2ÚÕGñ{À:0x̲QX -ŽÌ~}. z¡ð/Û´Ø·ýø_ëíûñßiSÁ1Ï8¶Ñÿ‡m*(R\ë}_§Ò'÷ÜÛ…^à\·9ìÉx`ß ˜eÆ1K‰S@œX9w·àXKa’eÇ'zQñÛwNnlü M÷2®9Ù}¯Ÿ#3ýë·Æu¹ùJ–·{)ƒu÷yÅ÷8Çcú\üâ¿O -@1»<üÈ8•Â$Â3mšqÜ\\–a·‚ãð¸þèâXvϒ⟎÷ù¬—çó>Èsãú|öÉqLÀºš‹ÿ,ÅÏLûGmZ®Ÿlžé?ˆñ8o¸ÙŒ=€EŒâ?EŠï<&,…÷òqbyXúÜ™!Ìòáííí¿ÕÛ¼úYýÜ?oS’Âaù·$…If6/÷×Ú½b¥¾ÇÆÏ‘×#_?Ëj¡ë"3ë_)þsû˵WáÝ “ßjS±qº÷ù›ãØÿÒ¦¥Ëq¼ÿ¯zûcwñÌ(®Ë{™W‹‹e1•ÍãñôŽÇì`<"`)3Ïö‚âïçÍ(*rñ¼Cxvÿa?ÿ´±ôx¹l^âÿìx¬íü[3ß ÎOûõßnn`ý­Þðq»·Äÿ~õx¼5š @ùO~ŠŽO…÷¼ä8Eyfówáäâš¹p¹1Þ_o;w -O±±|YîW>5úe¶ñtÛù³ÌP¦ø¿8^3“ùQ³ ëmuÀ íÞýÿGp…EŠŠÛT€d×ñíÝú?¾ßž\Æ#ûMÀ£ ¸Þ‹ˆyÖq¹9ÙÝ]Ì—…ÃXB|µ_“ÙÄ‹‹kví<ã€ý$`W{mN¶ß×f<°P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ÀžÞ;{îPÙèíÐ8t»·í×^=sû}¾{ö>ã€/KÀgôâa³¿ííØhóß‹­Þ®õó×úë£Ð8²è›–Âc{¥ÿVïëñþ&ðä3Ø/vèÅÁSýå™Þžíí¹ÞN¶©øÈ¬áõÞÎ÷v¡·‹½o -Šü-y~ô=ÝÛñqìæJÿK½ÿå^t\¬¿<ÁŒGö“€»F±‘âá…Þ^êíëãë¹à¸ÒÛÏ{{¿·ô½>^Oõv¦·—ÛT dÆ2³‹Ÿöö‹Þ>ìíƒÞ÷ïq^Ñf<°ßÜ1–g¦1Æ+½ýz^···ß^öÛØØøÝ6 )4¶ÆkŠ“_ï}ß]ý¤Âµß¬IDATÜÞÿ61›ãÐÍþ½nZ~ {3xÌRDd™ñ\<ü“Ý:õãÒ‹ˆßkÓÒâ+ãõ¥ÝŠÑÿNÁÒ¯y³M³WF»ºï¿¬ã€}'`Þ1<›…å¾á,3~e>× …ïµiép–íÄßëíûñ?Çkæþ?lSA‘ââXïûú8•ÏÌýÇ÷v¡Ïëv#‡Ï2xTDv OÁ‘û…_X̦ØÈ=Æ)²‹ø³ýØÿØÏÿfoÿ°YÉÃýë7Fÿ´éþâOFÿ“ùŒœÏgö¯ßjÓòã܇|%K۽ǔÁº{ØGñ=îñ˜>Å/ ÀW‹ ˜]žYnüô¢Í²,xž%¼=®;½8¿ü:²»x6$û`ôÿF›–$ÏN,ÚÖ8–BçH°Þ2nô–GðÍâ›ï»?Èñøôø~‡?kJPH/:VŸ~dœÊþ³Üx~dØlc´¹Oú?µ8ŸMÊ–3™Y‚œâä§ãý¼!Y[¼?>¾W¾OŠ“ã˜€u5ÿYŠŸ™öz»Ô¦,ÿæS€Äx<:>c³{%ŠÅ -„ÙY<…÷<»˜¥øóùÍÅe™!Ì#Ų|8…Ç‹ãýìØ¸v–¯3³yi¼¿¶rþð¸æ™ñšbäkãgyjå{úÈÌzµ—â?·¿äßyÆBBŒ»ŒÉƒ›MñPŠ €±ì?³})(R4|³M…÷‰Ñ%…Áü,ð›¶½½ýVo«ý?~ù›qªûöâ£çÛ –æûœ[Û99÷OÁ‘bÿdÿ¬}é_ž0}L}«MÅZÆä™v0ãq¾õ€"uä?ú)¼OíUxMÁR”\žõ¾ó>Ÿy«}ö¾áå½Ì«ÅŲÊæñxúÇcV…XJñû’¯Í»…/Oöcÿgyºÿ+ãPf)w[âÿìx¬íü[3ß ÍÌ>ퟗÙK·°îVoøx¼?r¿‹Ú£s` (BPGþ“Ÿá“Eá½\rœ ÃRl¤XÈLa–ÿó6åó²âÕúRÐl/ÞgÓ²Sãû¤ßéÅ÷˜¿ÏÕq]^³)ÚGÍ&€¬·ÕM/´{÷ÿ9Àñ¸5~!@€òÌñ÷ΞËö³”8ÏÏöSxÏ›Žå\ -‡;³…‹çŽÿ«v¯xIáq«Ÿ{uœû~› -Žåß’+/ÏM‘’âã¹Åù¹ÊsÉ/ŸÁc©`ùÀ­ñ>ûrdÆ>øAŒÇ«£Í?kNPÄk¯ž¹ñÞÙs Rpdvqùر¹É,äÝ]Å{qñ_öÂâk£Øh;gܦ"þpïó§½ïïd‰ò(Dž×ïǾ“Îýø»m*rÎë.Žï»¼GÖÙ¼Æ<Žæ0à ÇãÅñs,? €5%(d„)2¿º9Øññú|/R<üiNô×ßXýœ~þ÷ÚTp¤pI¡ru>×û¿¾Ç·ÿY›îÎòç+ùYÆñÕMË ŠÛ_‘ñx-«„öå7à+MPÌâ?ú; -ï^ˆäxf!s‹À¹^Tü~/þpõú~ü»ýåÿëí§m*4ò·äB?þf}e^®¼Ë5?éíƒ6ÍRníßoO.ã€ÇIÀ,3òY<ïÆs<†ì™q>JŠ…¿èíý6-ÎŒãáñšëÏkN´{Ë”ó™™m<צÝÏ/÷¢Ç¬?ÜŸñÀ¾pÇØ(0K‘3ã8?{<3„Ù@,/î<ެMEC– Ï÷¯WƹÜoüÔ¸ææâx®Éýÿ×Û/O(ã€GAÀ]™ ìEÇüø±)>² 9;ˆg“°k‹vc^¾Ü¯™ ‹¶é>äû^ÜŸñÀ~°Ã(®÷"bžuœ7'»»ƒùjÑ0–_í×d6ñâÃ\<˜ñÀ~°«½6'Ûïk€3Ø(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@ÿ?|ÐV7@ÔžýIEND®B`‚‰PNG - - IHDR¸½A÷ -7iCCPsRGB IEC61966-2.1xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð -Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX -?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j -õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs  ÒÝ~ü IDATxœìÝAŠd7@Aý"ñ=|<ßÖç1M·1˜ªñd^ÄjfVÚ ÿU¦4¿ÿñçÏ®6§ì'@€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€0k=§Ïlf @€ `ÖsúÀn& @€wÀýL@€ @€³–‡àv& @€ @€f=§ìf @€€q ÜÏ @€ @À¬õœ>°™  @€ `¼÷3 @€0ÏéÛ™€ `Ör ÜÎ @€ @À¬çô€ÝL@€ @Àxîg @€f-ïÀíL@€ @€ÌzNØÍ @€ŒGà~& @€ @€ @€ `ÖsúÀn& @€ `<÷3 @€ @€ @€³žÓGv3 @€ŒWà~& @€ @€ @€˜õœ>°›  @€ `¼÷3 @€ @€ @À¬çô€ÝL@€ @€ÌsúÀv& @€ @€ @€f=§ìf @€ `žÓ'¶3 @€ @€ @€ @À¬çô€ÝL@€cîg @€ @€ @€ @€€YÏé#»™€ `Ü÷3 @€ @€ @€ÌzNØÍ @€ã@¸Ÿ  @€ @€ @€ `ÖsúÀn& @€wÀýL@À/À,ÜÊ|€¸–  @€æ}ùßã@¸•  `Þƒÿ6àZ& @€€_€¸•  àlÀµL@À¼ù7×ò -ŒÏ~¸Ÿ; @€>Àep-à@0¸L@Àøáîç°xL@€xÆg?ÜÏ -xL@€^€ @€W ÀŒþà~^€+ @€W À @€g ÀŒßýà~ž€+ @€W Àà0.€€yöûþ€kY€+`<V À -X€ @À¼'ÿ­ÀµL@€^€ @€00ïÕwÀµL@€ž€ @€0X€€ñÝ÷³V À`L@€¸L@€V à|ÿÀ½¬@€|îp \Ë`L@€V À`L@€Ÿ`®e>—ž<°• pX€+`¬@€°& À`¬@€°V À -X€+`L@€; À -X€+`¬@€0î€+`¬@€  à³`®e°& @€+` @€€Ï%€'Ole°& @€Ü& @€+`ùþþþÏß_¯×¡“ÿ7+ñýõµ~¾þúçOÿþËkýÌoë5~€ÿãó7{÷¯$ÇQp¸g·ïN– 611@ïCʳð:$~ -R  -lc[H:éþ­¸YY²x½Uóû>ÕÕuõ\ÐÙîüÔ=@ÀzóójÜ¿¹~ßçvójÌ'O¿ < À§=lܺíÿpÿfÜ]ÿ{ܾøjܾúæ8ùìÓñöðÓ±ÛïÇØ=u6Îظõ3þáövܽüf¼þòïã³ßýæ8ÿ«ßþa,ËnÌ«gcùÔwØ8;`ëÖw7ãþõ‹qóâ«ÓëøòãO×Ö¿vÀ¦ °y‡qx¸·¯à½u¼Î­×¾{0 °Uóp|ðøö©ÀÀÖ<Ü<Þä?þÜ¿y5îo®?̯ãun½¶þ#°móæÅ?Žƒë½<óR€Sx¸}3^óÏqûâëq÷êù‡ùu¼Î­×VûË'çZ"ð˜×Ÿÿå8x~õÑ™—œÂáþnܾüz\ù·ñæùæ×ñþâê8¾{ù|ìæÅ¹–üæõç>öãêÌKNáððp<ï¿Þðß|/¼?ÜÝŒùÑÞ½جù×?þþÜkÎà‹?}vî%? o€€ù‹Ÿ|î5'ôöí÷‡ñæö0nîãËçïÞüó³O.ÇÕÅn<¹Ü¹ßÅk`Óæ'Ïl€-{8¼w÷ËØíþû½ùúd?ž^íÆÅÜýN€-›?`ÓÖps{cyoÇï}tù.|üøsu)ÀÖ͵úÛu¿Þû?þ»x;î.¿ûÜ¿|?9Ø'ߦ¯°is·ói[6ÇaÌýs—ß»Ë_ÇëÜzmö¶ÍþØïÖýÆåÅwÛü×ñÜ/ÇkÀö °ß­7üïnôýËŸ?½Úçöîÿ A€{·µÿp|Òÿúÿÿß~ú¯Ïü›s;Ûÿ A€€õ}Àîžôçæ:ˆx¿àÿç€BÜð@— @€ @€ @€ @€ @€0—s¯89; @€ @€˜Ë¹Wœœ @€ @€s9÷ -€“³ @€ @€€¹œ{ÀÉÙ @€ @À\νàä쀀9l€Í³ @€ `.ç^prs(°yŽ@€ @€ÌåÜ+Nn6Ï @€ @€€¹œ{ÀÉÍ¡Àæ9 @€0—åÜKNÍ @€ @€沜{ À©Ù @€ @À\–s/RùdÓ!IDAT85; @€ @€ `.˹—œÚC€­s @€ `.˹—œÚC€­s @€˜^Û7‡›çÌa lž @€0½¶oz lŸ#0‡-°yv@€ @Àôؾé-€°}Ž@À¶ÀæÙ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ü§;äo=È…À€€ 0 `@À€€ 0 `@À€€ 0 `@À€€ 0 `@À€€ 0 `@À@  ›­éSçIEND®B`‚‰PNG - - IHDRddpâ•T -7iCCPsRGB IEC61966-2.1xœ–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}ÖºüƒÂLX € ¡Xáçň‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†“‹áÏÏMç‹ÅÌ07#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚D €µ ”‚­`'¨u 4ƒ6ptcà48.Ë`ÜR0ž€)ð -Ì@„…ÈR‡t CȲ…XäCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX -?§€:¢‹0ÂFB‘x$ !«¤i@Ú¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP¨>ÔUÔ(j -õMFk¢ÍÑÎèt,:‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾Æo͵„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõHWM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~éˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ïé÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óûpf* pHYs¸Œ¸ŒÌö»/ IDATxœí]xTeÚ½3™”I&mÒ)”f ÒT4€KDlû»ŠkAY]t×µ° ‚Xž] ®âRiK° ¡IHïeRf23™ÌdþsnæÆ„"%LÊû<_2s§Ýûï=ç}¿v¾;BèÌ2ðO²S§N9ddd8ÔÖÖ*JJJqØÁl6;F9ËÎó1«››[“L&3+ -spp°Ù×××iIJJjÊÜö®µƒ/ã’Mq­Oàlk)?pà€"++ËÙ`0(…”—”8ìf+®(|î‚B`xþ2¡-(¬ì¦úúúFüg1ÖÔÔð¿þ‡~ÐöÙgõx¬÷ôô4ÆÆÆšlѧ¯mêÀKüUë€;&ÉwíÚå¤ÑhPÙ{àŠ·íKquuõ‚y¸»»»¡µó}ò&˜^UO2”——WãŽW£Ôò?¼­zß¾}5,x® 7ÜvÛmfeùŽk -Î5Ä-v²líÚµŽ999hõ¹¬\_?”— =z„ÆÇÇöéÓ'T£ q tvrr’ãõóÑÆt:±â7ôùùùõÇŽ«:tèPÙ‰'Šsss‹ðZ ÞV†Rž——WñÉ'ŸT᱿gèTe¶k\À:"E/ù×_íܲÀO}PQ‚QBQÙQ¨ø¨{î¹'êÖ[o ˆŠŠrƒ\ð»«õ\9ppp‹J¥¢ ‰‰‰î,ÉÉÉü­8ЙÞS·uëÖ⯾ú* @åhµÚl¼VÌ’ššZ–*ooïú©S§šdù_u˜æt %N½å›6mr¶Xr=…fBPÂÑÚ»6,vâĉ=ÆŽàÔúshÅ(ÇRXXh>~ü¸ÚÒ€Ömlhhh:yò¤. 4ë†drP›ô:#¿é¦›” 7gx›þ;‚òä|¼À“åÅ_Œ8õ7ṅǦ>|8Ÿ#8ÕÕÕ…ï¿ÿ~…‡‡‡öÑG5^gw`ìˆkÌ$Ù‡~èT[»^"% -‘O©‰@|óÍ7õ 2„»eIz2Õ ¿A/@¸Rk ¿‹àÊl¿Ãkg.Æã(}ùå— ,X FPúòëÕ«—3¢sæÌ.(>0´§‚‚ <ÿ.33“ŠÛ™3g²?)Vj¹-ÀÔÞ“i7 e.}e‹_{ÝA(±(½_xá…d´¬^I1y[¿~½ÇòpâExZ‰BŠ¢N\K Î6žƒD“Œæè±uhHZ„ÆÕÈÂÐÀºôîÝÛy̘1 ßIO<ñDàæÍ›Ùà\ Ãé¾),‡®4TúôН§]€0ÉÛøå—Ô‹P”¥R9`éÒ¥ãxà -¹˜?€žJ!ð9Ð fĤ¨:Û_“Lø¬50¥é‚#_ªÁõDΚ5Ë744Ôù‹/¾¸íõ×_÷…±Aº@ O½úê«¥hŒ†ÊÔÏ®”+DcãF¶V~"xvØ¿ÿýï1Hî˜k?þø£ámNZZZ>ž’¢ØT/ü²vvc…JÑ ôEoÑíÝ»7 /,$$Äá7ÞHBF¯*x‰Ø ú.ºRP®Rç>òëÖÑ3FRTTÔmpÝ{ó˜€\B;cÆŒLäB3n£íâ®7cã¡GKÀ¡+F4<ãG}I -÷ìÖ­›;‚…^¯»kÊŸïŽÐ_î]6 >½-~ýuvƒwAI#Æx Œ%K–T?ù䓈B¨C+ü¢ö0©“Ñž:$y ¯ÞxøðáÆÛo¿ÝˆŒ>zðàÁÊ?üáì -š P€Bð,˶•ÿqd ñr~è²g2šbŽ9¢5ï¿ÿ~õSO=u -` -Í`èlbÊbKäù3á#(ReYìô{‚í» ¶ß²€,ÈY¬‘{>œ °^&ÝÿýfÐW#"µF¤eð¿äèë²ùôû -Æê쉣€üñÇwK`¼ûî»$S§ð`PÀ%½°lümW™L戠Á`ûM{5Áö½¤0FŠMÅŠäÝ>±}ÑS 'Éýë_Ùà-ßf(*oïi¾¤ æ’a¿T}}=“¡h¹\~ógŸ}6aĈà MÕüå/a/©¤<{EQÀò2dH8‚‡ ?ýéOé¸x6„ -¡™&í -[=µQ€Ø “&M’#¼ï‰óQBS¢5͸7ß|SìÊÊÊ2Åǯ 1½(m_ ñ¬¬uDŠBID¬}7N€œ)˜ZhFº¦XF02çnk×®íà€œÇT‘.‰ªÐ1 ðûEPà)2x‡ì»ï¾‹a— ¼¤×É“'™XŠ}sˆHM(÷’_=ŸKdݺuÇ&qÉÉÉ£ÿñ$ðøž={ Ï=÷\V+Í`%t=p‘QC\î¾bÅŠ¸iӦɊô™Ž…•.(ò‡~ØeË–-ìÕvøàƒ† :´ ±Ø=4gΜ‡ùþªž\G[“š¢ƒ‚‚úC¸q4®¸¸Ø‚ˆâ \S¢©Ž#ˆžÑ ÉÆïößÿþ·'<¥©ƒA‘èK~ôèQ'Ч è+ 8/^¼xô]wÝUd±X4:X¦i`ew§Ó¤®_Dï7\^TôRU$„3`ÜŽ Õ…ƒtO<ñDannnGƒlƒ4%çyÔÔÔjµºåÍð@‰(Ö…BOPœà!.o¿ý¶ûìÙ³}û?ÿüó·#›/Åkš­[·ê»ß¡»Ðý* ÐFU̼£'Nœ8-aðé§ŸÖlÚ´)Wø%é3 ö¦$ÏèŽßò÷÷g¨+Ìœ9ÓÔ·o_‡xÀ¡´´ÔºcÇë}÷Ý'oŠÐÁ 0ç`„Ëܹs³ï¸ãõ"éúôi‚Rµá°©ážÞNçy¼ ÇkÚšr9ý†ÔÐgÑ¢Eýx<''Çüâ‹/æÍ¡-¼A°ÏE2·à@Ï]ßÝISh}µÿú׿ ¨xº‡ÇXüq]UU•#r!%5¥(R—»нŒTÄPvrÅyxmÛ¶­›···â½÷Þê¢Þ–€îk§HI•z -Ÿ©‘“øÀ[î¼óÎþ 36æÒ?ü°þ|^@”ú⛚âââú‚¢y|ûöí ߨìB·§nÐè! -PR.":!Q0~š3fŽG´$€ÐÁS*ЀØXº5hÖ™t¢ŸšŠŠŠjÛ÷Ú»›EùÊ… æÃK½Ø‰ó¾eçÎiÈçòáA•Bøƒ!oK›s9/ ‡¦wp|£;¾[ÜÜÜJZÁ…R®Á,Õ^TÕÆª««pq#áÌ"e¶ß¦ÆµŽXÈáЂ ðq @ñsqqát¢ŽìØä9±Áh@¡¥Hü—-[Âqú©S§ÞòñÇ3‰.D:¡Ð×¥—œH½ï0D/Ÿ’·»ÄÇÇ÷š½Á3Lˆ ˆ4C¤3\äõd-º†¼â£T*eS¦L‰ L´Õ)))•ãDà~$jøS2CÊ,ÖsFEt¿~ýÄþp] ", -¹4ØtÃ.Ï$-ÑfddTíØ±CÑm„ áóæÍ‹Ôjµ~?ÿüsÁ𨰶€@'ȵâ„è‘#Gvåú †º_~ù%sŽÞÑ>µ9½DC@ºwïî -Úêúã? áVùßüp]ùÁÿX[9~ü8£52Þääd1ÔMKK3eeeIs¨:$ïøš4QB·k׮꺺ºùرcE@pÜY}YgÁÜbbqrt Ù1…]ضm›‘€4ͳ³Î£º^Œ”¤G=×¥¦¦‘W¹Ž=:"ñ†ž8õèçÚ HôèçdBÊÓÔ5ÀcfÎκíÛ·3Ì•ÖeÜ «öÅÝÈÜõª# \«‚Ë»¼¼¡9räõƒù‡ºÿþb;×k€ÆèÔŽbÞ~“hËz"óø³áCG‚{FØó 9uêÿ‹€ôêÕ‹k:„Ó§O› -µCZpÃÚoâ„nÔ­®¶¶¶ÉÛÛ[Þ»wï€M›67k—1rð‡iUžžž>ÑÑÑâlu€D ¤î†ëqÆag4±õÍUÁfâ@è" ðxqóóóóöññ³ó“'Oº˜=GÙ~o&.}€>á% ‰‰‰N*GGG/dì®Í«hð„ ¸víÚÕ‡K(è™™™’wtdéoݤ® ê—ݽK—.®¾¾¾^%%%J„à -…V=Tf2-§‡(aü×AIÌoÐÕÕ3zëÔtâÄ Ö¯€¼Oprr· Ñh4 -…m©ÿÏZ¦oÈd2i!´`²3ÏG.œ»µFëÕ·íœ%{­Q¿"ë0ÒBøë•——Çáh…¤ -•9Š.³ñ±´ÛB»—j]e㹉B(4 ™Òv\Z?Øá­;4ÚJ&BsèYZ,Wð `kYбµFÎÔàäNr (¶xžÃY®èâ<÷††öÅq5Wg.œ· WètçN¢sww—;–êØA'Ùnc<2f̘ëêœÏ6ÑCÎ÷§hrk#¾§Yb:uk;Û:ë¹JÆ´B†èJ¦R©Î9›€žÚÐø­iõêÕ•...ÕÈKêñáNݱȖek8ÞÌf3YÉ]©Tª§M›æÍ‰ë6kB]7)óI›1h†¼PÿµZ]àïï_:¸Ñ¹x•¬¾¾^Y\\"µzÛ‹ÁœDѼÝTól)6††8øøø˜ ”ÕQQQe†ksú¿-#UUTT¨à! «ä¶œO\.®@ØØ’Χ¥¥qtÙ#Óò\>؈ˆ ³Æô×ÕÕÕ1W¢6‹ù‡É³³³9îÔÀ, -UÕ.+¯Fp›Ú!Îݧë€ã\8"Œì¬ïug`#™ÉdR 8B*Än*:7$ÀC#~óˆ!4Â@ôœ&äÊŠçŒ\jjjœðœ›É$:»aWnDÎúD#wöôô)++3ÖÖÖŠ“HR3 ÐŒFˆM=7ƒK™ñ‚#·‹À› ˆ#‘ßݤ†F/ë8¡>Q¿œÃ äççëQõ” -=t»ÀÀÀÆÒÒR]eeeUVV–Žã"@›©( ƒ¿€têÐ÷z0P•ë’ d¦ÎcGådkqfO×®]›ûzôèaÆ âLmü¯0`€·———8FÑq&ïÆn ã¶ÓÈ6ðè³ -EÔæÔÔTΙILLlIJJ²¬Y³FäСC\EQÜ!8ôGÐÚeíÙqÃÚõÛ !¯ äÎÀ ÝzâÄ .ñ)‹{Ò‹€îý€ú ²ÿþ¼‘ƒ&>è*sªNˆnÐV; B.gþ q - -ç-äæær—KT#×|K_4õ×@C -222´Ü°244Ô#''G/qHup³€\¡‘e0q_€€æ"\ÇYAÅÆÆ6Bé/€ðNûöíÓ â 7oÞ\@b}}}]£x(7º¹Ñ…rÆ(,ãŒ4 žà%éǺuëÎD”5pà@KÃéõ¿2lØ0³íN¥Û¶mËyñÅc‘¥Ë¦F3Lzºá%—i ŠÐ¨]Q‡n5;B+**!è\&n¼0Äzm¤îÄ*fìZ„¸e{÷îÍ8yòäPî(Ú½{wõÎ;½ˆ.4E‹„±áZ]ØõjÔ`FC!WGDDˆú±iÓ¦ÂòòrzHyXXXK_a›ñ˜˜T¿”·víÚ\’€E‰Ë9J׸ººš¸&¼ƒ¯éº5v=Ñ;PÐd²;t¿øâ‹Óx™»îU5Ê$”ïßßääd3áÂΕ+W¦Íž=;Ž‹>###¹º'¨Ë ¦žŽi×§QÌéøïÝ­[7qVOZZšö‡~à¶å\H[Ûú&2m©=¾ÒŠÊÖ"4+:sæLúÖ­[K¹¿ ïf@|Á{•z-“Ä}[7öp€ê]AMžH´|||Äþ«åË—gBWDAïÙ³§¾yút³3„;|øð†¯¿þš ó³/^|lìØ±Á¼ÒzÎÒ.÷÷÷¯…5 R¸Ñ%£vª@YêÁƒ28&°Ï¼Ìís+¹?cÉþ[>s Q霱Á5…ù;vì8¼}ûö¾à8?è‹^PVVVÃ;Ï q4ßH/lì·btZRR¢†wC?8KXºti&Ž‘® -Ѱµãâ[k ÐÛîÑôó›o¾yhäÈ‘wÒK ñ]Ž?^¥V«µnnn ô”¸¶ëΘw ™v)--õB¨ëú a¨ ïh\²d ï®@º*Ãq“Ðx¤ÍgÏ È]ñ‚yq®¸kC6¼äÀªU«âï»ï¾0ˆ’'Rýâââ:$8zh‰…žbÿK¼¾Œ{Ð[Ô·$“£æÌ™s ÃÃ<°Kmpã‘sæ‚Û3EEEÕC3 -­Vkú?ÿùÏÇ7‰óPûõ놼D·ÓÑK TúÎ>+¥#a.¢*·¢¢"Ô]0ï0ÇãŠtË–-Û‹‡™(¥Ð憳½ƒvA@îŒm2/νäLzzúOóæÍ‹™;wîMAAAJxJd^^ž”e@Tf¶Q×ï>ê"U¢\ÐX¹f0 ÿþ‘¤zöêΜ9s/B_zG’ëózíW·ø»õÖ[ »víbò’þÎ;ï|ï½÷F²Óé¿?ܱKAAž‰¢£££å÷ž›p˜›ýUz<óóóýCBB-DŠ›L¯X±"oÛ¶m»ñÉ`ÙŒ3Lúôµçýž_$Þ=Ï’ªRUs+! {ø‘G GB3–É"Ї¾hJt¤á°î÷¬'Ð ¼ÂÌá -ïróÍ7‹w‰»èfÍšõ 2²Ê‹‹‹ÓŒ ²ÉE·‰}òÉ'MóçÏg^’žššêóÊ+¯„/\¸0) À¥W¯^ÝŽ=ÚÀ‰tìt„žÔÓ[®ÚU^'F—Àe… 6,’=ºhÄM¨¿þÄÛ2TÕ°Èú_m´D›¶Ú𔔤;rä™´·ß~û+»ß¤I“¸÷“»nÈOLÌIØÇ…Xp~7 p ’?i -42hРîl¬|íÕW_=ÙŽ‡Ü¿ø¡‡2J}V²KÚÙz`HµåÌn ‘ áR=úè£êèèèû©'}ûö ÀIYrrrW H„ô¿O!œ‰Ïð+,, íÝ»wOè†Ø›ûùçŸç-X° ÅÊPWZeùŽ‹>—¼ÿô¡jÓâ”:öݧsÀjüøñ[·n½—+ZEðž={¬YYYâ8\%;!Ë ¦àn¤)$Ña ïX˜8WwóæÍ¥?þø}zýåÞìŠn -64\k1›cjc³“Œ›ŸñÖ?æ%K– ïÑ£‡ë-·Ü€ìÝùرcΜh‡RÈ£^d…uæõç˜DQ\¤YZZêÍh -à„ :´+{-ø$}=öØ€ÁJì«“è<ªwwÌ]Úh#º  1Õ…}3„w¦;fýúõÉ8¸±4$þÀî®+pæ*Ì®{öK!)v†x»ƒ†Ô„ƒLÐËPµ8sdíÚµ…>øàzäÔ ÒT>Á¸”»éœÏÚucI‚"“ÅÖÀ]³xþ )ãˆ#j—.]:Úè2f̘Èa¼ ö¹œ(R -«ã v·tÆñyN -äÐ+‡¬Ù0|A¿Áhh={öä:xRovbÞ¼y)x?? -xÀÐ_)´vßzux”Þ񣂿Z=éK\c2uêÔêC‡ÝùòË/÷u±‡8€“î -^ð¨bFS -«†é ;ÌôÍA_$ Ö+«ªªÜIQð?fßÁhDâ -_hˆñ™gžÙ³iÓ&êÅQn^þÒK/8 Þžs¸*7'f‹øãÿÈîeF_Ü5M»páªï¿ÿ>ÿ£>A - VÒ[233ýÓÒÒ -©”Daµ•J¥¹£³|j©É6³Ð Ê Ô8Ÿ Áƒ‡véÒÅMz?(¹ø©§žúY9)ê$J(¸êµ×^3åîZÜno¿j·ïv)Ûn]´h‘'VŒ ã¨}-¼¤ -”÷ôÓOCëI@¥Ë"†‡‡{ÀS‚ ‚Åh…L"kL2üzvéãm^cµG¸L8Ø8îMàp+¼Â´ê*õOLL ‒[qy/çáΞ=û ¢Éðy -7½¢Hºu7À¸*çvUï§žýý¿¬Ìè÷w«8|ø0—iÕà‚+Þxãü”””~/¼ð€ûï¿¿ B`„Œâ8=.´ÚSá¯ô-x€Ñk˜\ÒsÐåj—LÒ=AZ£Á®rÎÆ*w÷…ú^}á* ¼¯éÝwßÍX¼xñÞ’’fÞ"¥bâĉ†ã¡«JµWÉk,£GÏÖ"«7A ¹\«y ãòôåË—ß2kÖ¬>¼7a†K¯Áņ!¡Ô@D« ¢µBPô¤2¼ÏˆVkâ`Áa— ¢4уØÆÿ¬xÀްØÖô9°«@ˆa8—X zrÃq<Ñ ú惖޲y‹1W¯^÷Þ{ï8~ü¸§~–€jë&Þ¬lŒ‡®zÝÙ{‰ÿoT1 ˜ÔTIDAT]UX¼ã Jñwß}—rxäÈ‘½g̘q€ âÐ05%•þ6Öá?‹¸M-<ĈÊc`"á¹L“ä56@D:b"G0؈ÿLR¹" ïw-ºGEEyâ÷TÁ¥õž#h&ˆurªTAjbXÏ$¸Ÿ­FˆÛÐzbÛÕ6»"YŒk¶%æîÝ· -£mSfN¿ÏE2•޲‰d 2ý8$–IIIð yXX˜+ *7­Ù Ž7¡4 :Ó£eqÌ,¯k¼m:#ulrª¼É™Ý7¨{%gñƒ•\ׇHɉl­ÏÞcÝ¿ÕÊ•+³6oÞœ]“h‰wâìÂjŽžrÀîbÝçí5»"ï;cÆ¢:p±bNoáÅf>}:mΜ9ûæÏŸŽì·'.<2999TæÁ½¤+X`Ûù€÷Â-YŽÙ¶Å‘H[¶Ç\ ÊUÄâµµÚº¢Ô&š-[¶pþÙäJ^e”È4l4âí9 )†›ýËùåÙ¹†š­Ã¡Qô؈Ú4m¸nÏž=¨\V‚‚ë·}ûöƒ(A($:::Œ3\8ka³ -­Ü‘+»Xɬt´øKÚù‡zêk@ÈͶ*xCIjjj¾í>Œô®Ñî£[ /Ò5ª¡Y°ËíW!籤µÑýãï «—G&ëU!Òbåpp‡;tú WQ³|òÉ'ô -5²{_dþÞÈô=„<ˆz-{|eVè…‘ ˆ*R Úã,ÍyJ-(Pß0eÊsÑZí!Ø—b× Éšr6[ÇÄ &!.Âä3I Á/1"E1!ãÌ GæPÜ­‰F -Í÷8·Å;ë+¥t¤»ìpíCpn -­kUê¬!!!Á4zôhKó”Î:`tÄe_Ю9 ­³1… -ƒBýÅ[y%N“‡3gÎ(ý82tåx„мI™ÆÙ€Ð¤[#qFÜ«šÂ™1È}Ì\u\°g©-ŸÉZOv¾ÖÖ©9ÛjŽ­h -Cå†EBw"¹#‘‡xÜà?Bž——'ƒÞœw“,jÌ„ š‚µí86R¢úBÁžrþWbÿÖ¶ -Keð·IEND®B`‚ \ No newline at end of file diff --git a/examples/web/models/models_yaw_pitch_roll.html b/examples/web/models/models_yaw_pitch_roll.html deleted file mode 100644 index 352abb4..0000000 --- a/examples/web/models/models_yaw_pitch_roll.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
Downloading...
- - - - - -
- -
-
- -
- -
- - - - - - - \ No newline at end of file diff --git a/examples/web/models/models_yaw_pitch_roll.js b/examples/web/models/models_yaw_pitch_roll.js deleted file mode 100644 index 30e1077..0000000 --- a/examples/web/models/models_yaw_pitch_roll.js +++ /dev/null @@ -1,48132 +0,0 @@ - -var Module; - -if (typeof Module === 'undefined') Module = {}; - -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'models/models_yaw_pitch_roll.data'; - var REMOTE_PACKAGE_BASE = 'models_yaw_pitch_roll.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - - var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; - var PACKAGE_UUID = metadata.package_uuid; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onerror = function(event) { - throw new Error("NetworkError for: " + packageName); - } - xhr.onload = function(event) { - if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - var packageData = xhr.response; - callback(packageData); - } else { - throw new Error(xhr.statusText + " : " + xhr.responseURL); - } - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetchedCallback = null; - var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; - - if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } -Module['FS_createPath']('/', 'resources', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - } - }; - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); - } - - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - - var files = metadata.files; - for (var i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_models/models_yaw_pitch_roll.data'); - - }; - Module['addRunDependency']('datafile_models/models_yaw_pitch_roll.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 317645, "filename": "/resources/plane.obj"}, {"audio": 0, "start": 317645, "crunched": 0, "end": 690875, "filename": "/resources/plane_diffuse.png"}, {"audio": 0, "start": 690875, "crunched": 0, "end": 695747, "filename": "/resources/plane.png"}, {"audio": 0, "start": 695747, "crunched": 0, "end": 741692, "filename": "/resources/pitch.png"}, {"audio": 0, "start": 741692, "crunched": 0, "end": 758266, "filename": "/resources/background.png"}, {"audio": 0, "start": 758266, "crunched": 0, "end": 770027, "filename": "/resources/angle_gauge.png"}], "remote_package_size": 770027, "package_uuid": "4c19c68a-e62b-4c14-bb3f-445f5a18d238"}); - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; - -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) - -if (Module['ENVIRONMENT']) { - if (Module['ENVIRONMENT'] === 'WEB') { - ENVIRONMENT_IS_WEB = true; - } else if (Module['ENVIRONMENT'] === 'WORKER') { - ENVIRONMENT_IS_WORKER = true; - } else if (Module['ENVIRONMENT'] === 'NODE') { - ENVIRONMENT_IS_NODE = true; - } else if (Module['ENVIRONMENT'] === 'SHELL') { - ENVIRONMENT_IS_SHELL = true; - } else { - throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); - } -} else { - ENVIRONMENT_IS_WEB = typeof window === 'object'; - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; - ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; -} - - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function shell_read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(xhr.response); - }; - } - - 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)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function shell_print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = undefined; - - - -// {{PREAMBLE_ADDITIONS}} - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = Runtime.stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -/** @type {function(number, number, string, boolean=)} */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - -/** @type {function(number, string, boolean=)} */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -/** @type {function(number, number=)} */ -function Pointer_stringify(ptr, length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; -function UTF8ArrayToString(u8Array, idx) { - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - while (u8Array[endPtr]) ++endPtr; - - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; -function UTF16ToString(ptr) { - assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - while (HEAP16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - - -function UTF32ToString(ptr) { - assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} - - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - 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 : (x + ' [' + y + ']'); - }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - 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); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; -var ASMJS_PAGE_SIZE = 16777216; -var MIN_TOTAL_MEMORY = 16777216; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBuffer(buf) { - Module['buffer'] = buffer = buf; -} - -function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); -} - -var STATIC_BASE, STATICTOP, staticSealed; // static area -var STACK_BASE, STACKTOP, STACK_MAX; // stack area -var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk - - STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; - staticSealed = false; - - -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - assert((STACK_MAX & 3) == 0); - HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; - HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; -} - -function checkStackCookie() { - if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { - abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); - } - // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. - if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; -} - -function abortStackOverflow(allocSize) { - abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!'); -} - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 67108864; -if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, - 'JS engine does not provide full typed array support'); - - - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); -} else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); -} -updateGlobalBufferViews(); - - -function getTotalMemory() { - return TOTAL_MEMORY; -} - -// Endianness check (note: assumes compiler arch was little-endian) - HEAP32[0] = 0x63736d65; /* 'emsc' */ -HEAP16[1] = 0x6373; -if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Module['dynCall_v'](func); - } else { - Module['dynCall_vi'](func, callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - checkStackCookie(); - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - checkStackCookie(); - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated */ -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') - HEAP8.set(array, buffer); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]) }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = Runtime.GLOBAL_BASE; - -STATICTOP = STATIC_BASE + 25568; -/* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([32,3,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,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,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,15,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,15,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,15,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,15,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,15,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,15,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,15,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,15,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,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,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,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,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,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,205,204,12,64,0,0,128,63,0,0,128,63,46,186,232,62,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,128,191,255,255,255,255,255,255,255,255,0,1,0,0,255,255,255,255,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,219,95,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,112,108,97,110,101,32,114,111,116,97,116,105,111,110,115,32,40,121,97,119,44,32,112,105,116,99,104,44,32,114,111,108,108,41,0,114,101,115,111,117,114,99,101,115,47,97,110,103,108,101,95,103,97,117,103,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,98,97,99,107,103,114,111,117,110,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,112,105,116,99,104,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,112,108,97,110,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,112,108,97,110,101,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,112,108,97,110,101,95,100,105,102,102,117,115,101,46,112,110,103,0,114,111,108,108,0,112,105,116,99,104,0,121,97,119,0,80,105,116,99,104,32,99,111,110,116,114,111,108,108,101,100,32,119,105,116,104,58,32,75,69,89,95,85,80,32,47,32,75,69,89,95,68,79,87,78,0,82,111,108,108,32,99,111,110,116,114,111,108,108,101,100,32,119,105,116,104,58,32,75,69,89,95,76,69,70,84,32,47,32,75,69,89,95,82,73,71,72,84,0,89,97,119,32,99,111,110,116,114,111,108,108,101,100,32,119,105,116,104,58,32,75,69,89,95,65,32,47,32,75,69,89,95,83,0,37,53,46,49,102,0,5,5,4,0,2,3,7,0,3,3,11,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,46,103,105,102,0,114,98,0,46,104,100,114,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,40,111,110,108,121,32,51,32,99,104,97,110,110,101,108,32,51,50,32,98,105,116,32,102,108,111,97,116,115,41,0,46,100,100,115,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,111,117,116,111,102,109,101,109,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,35,63,82,65,68,73,65,78,67,69,0,35,63,82,71,66,69,0,110,111,116,32,72,68,82,0,70,79,82,77,65,84,61,51,50,45,98,105,116,95,114,108,101,95,114,103,98,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,111,114,109,97,116,0,45,89,32,0,117,110,115,117,112,112,111,114,116,101,100,32,100,97,116,97,32,108,97,121,111,117,116,0,43,88,32,0,105,110,118,97,108,105,100,32,100,101,99,111,100,101,100,32,115,99,97,110,108,105,110,101,32,108,101,110,103,116,104,0,99,111,114,114,117,112,116,0,35,63,82,65,68,73,65,78,67,69,10,0,35,63,82,71,66,69,10,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,114,101,110,100,101,114,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,76,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,44,32,110,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,78,80,79,84,32,116,101,120,116,117,114,101,115,0,91,84,69,88,32,73,68,32,37,105,93,32,77,105,112,109,97,112,115,32,103,101,110,101,114,97,116,101,100,32,97,117,116,111,109,97,116,105,99,97,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,77,105,112,109,97,112,115,32,99,97,110,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,56,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,59,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,0,99,111,108,68,105,102,102,117,115,101,0,116,101,120,116,117,114,101,48,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },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 frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - - - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - 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); }; - } - - // Extension available from Firefox 25 and WebKit - 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"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - 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 _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - 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); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var 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 { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - 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/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - 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++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },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 /* do not set timing and call scheduler, we will do it on the next lines */); - _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; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - 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; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - 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) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - 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(); // empty shim - 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); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - 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)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - 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) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - 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; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['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); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - 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) { - Module.printErr('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) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - 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 () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - 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(); - } // drop it on the floor otherwise, next interval will kick in - }, 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) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - 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); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - 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 () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['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; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function (event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function (event) { - GLFW.refreshJoysticks(); - },onKeydown:function (event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function (event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function (cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function () { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - Module['dynCall_vii'](GLFW.joystickFunc, joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setDropCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.dropFunc = cbfun; - },onDrop:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data), { encoding: 'binary' }); - if (++written === count) { - Module['dynCall_viii'](GLFW.active.dropFunc, GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function (event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - 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 the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - 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) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - - var fd = process.stdin.fd; - if (isPosixPlatform) { - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - 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) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - 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') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - 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(); - // add the new node to the parent - 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; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - 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 = {}; - // device numbers reuse inode numbers. - 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); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - 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)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - 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) { - // reuse all of the core MEMFS functionality - 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) { - // check the cache first - 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; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var 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(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - 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); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - 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); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - // Issue 4254: Using curr as a node name will prevent the node - // from being found in FS.nameTable when FS.open is called on - // a path which holds a child of this node, - // given that all FS functions assume node names - // are just their corresponding parts within their given path, - // rather than incremental aggregates which include their parent's - // directories. - 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]; - } - // We also accept FileList here, by using Array.prototype - 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); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - 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(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=STATICTOP; STATICTOP += 16;; - - var _stdout=STATICTOP; STATICTOP += 16;; - - var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - 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) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - 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; // root node sets parent to itself - } - 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 = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - 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; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - 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); } - } - }); - } - // clone it, so we can return an instance of FSStream - 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); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(err) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(err); - } - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return doCallback(err); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - 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; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - 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 != ERRNO_CODES.EEXIST) throw e; - } - } - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - 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); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : 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) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - 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)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - 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)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - 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 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - 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'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - 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) { - // ignore EEXIST - } - 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; - } - // make sure we can write to the file - 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); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - 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() { - // Find length - 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; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - 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!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - 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; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - 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) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - 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); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - 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(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same 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; // no database to load from - 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; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - 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) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - - // Chromium does not fire the gamepadconnected event on reload, so we need to get the number of gamepads here as a workaround. - // See https://bugs.chromium.org/p/chromium/issues/detail?id=502824 - var firstState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null); - if (firstState) { - JSEvents.numGamepadsConnected = firstState.length; - } - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceMotionEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function _glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - 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 ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - 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 _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - // NOTE: offset_high is unused - Emscripten's off_t is 32-bit - var offset = offset_low; - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - 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 ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - 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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - - - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - - - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _llvm_exp2_f32(x) { - return Math.pow(2, x); - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - - - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init(); -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 self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("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) }; -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; -JSEvents.staticInit();; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); - -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; - -staticSealed = true; // seal the static portion of memory - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_glVertexAttrib4f": _glVertexAttrib4f, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_glVertexAttrib3f": _glVertexAttrib3f, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_glGenerateMipmap": _glGenerateMipmap, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glRenderbufferStorage": _glRenderbufferStorage, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glBindRenderbuffer": _glBindRenderbuffer, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_glFramebufferRenderbuffer": _glFramebufferRenderbuffer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "_llvm_exp2_f32": _llvm_exp2_f32, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_glBindFramebuffer": _glBindFramebuffer, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_glGenFramebuffers": _glGenFramebuffers, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_glDeleteFramebuffers": _glDeleteFramebuffers, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_glCheckFramebufferStatus": _glCheckFramebufferStatus, "_emscripten_glFinish": _emscripten_glFinish, "_glFramebufferTexture2D": _glFramebufferTexture2D, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glDisable": _emscripten_glDisable, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glHint": _emscripten_glHint, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_glVertexAttrib2f": _glVertexAttrib2f, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_glLinkProgram": _glLinkProgram, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_glGenRenderbuffers": _glGenRenderbuffers, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { -'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_max=global.Math.max; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var enlargeMemory=env.enlargeMemory; - var getTotalMemory=env.getTotalMemory; - var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; - var abortStackOverflow=env.abortStackOverflow; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _glVertexAttrib4f=env._glVertexAttrib4f; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _glVertexAttrib3f=env._glVertexAttrib3f; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var ___syscall146=env.___syscall146; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _glGenerateMipmap=env._glGenerateMipmap; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glRenderbufferStorage=env._glRenderbufferStorage; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glBindRenderbuffer=env._glBindRenderbuffer; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _glFramebufferRenderbuffer=env._glFramebufferRenderbuffer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var _llvm_exp2_f32=env._llvm_exp2_f32; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _glBindFramebuffer=env._glBindFramebuffer; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _glGenFramebuffers=env._glGenFramebuffers; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _llvm_pow_f64=env._llvm_pow_f64; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _glDeleteFramebuffers=env._glDeleteFramebuffers; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _glCheckFramebufferStatus=env._glCheckFramebufferStatus; - var _emscripten_glFinish=env._emscripten_glFinish; - var _glFramebufferTexture2D=env._glFramebufferTexture2D; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var ___syscall221=env.___syscall221; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glDisable=env._emscripten_glDisable; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glHint=env._emscripten_glHint; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _glfwGetKey=env._glfwGetKey; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _glVertexAttrib2f=env._glVertexAttrib2f; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _glLinkProgram=env._glLinkProgram; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _glGenRenderbuffers=env._glGenRenderbuffers; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS - -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $texPlane$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1360|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1360|0); - $texPlane$byval_copy = sp + 748|0; - $0 = sp + 728|0; - $1 = sp + 708|0; - $2 = sp + 688|0; - $3 = sp + 668|0; - $4 = sp + 624|0; - $5 = sp + 20|0; - $6 = sp; - _InitWindow(800,450,4376); - _LoadTexture($0,4437); - ;HEAP32[19348>>2]=HEAP32[$0>>2]|0;HEAP32[19348+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19348+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19348+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19348+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTexture($1,4463); - ;HEAP32[19368>>2]=HEAP32[$1>>2]|0;HEAP32[19368+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19368+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19368+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19368+16>>2]=HEAP32[$1+16>>2]|0; - _LoadTexture($2,4488); - ;HEAP32[19388>>2]=HEAP32[$2>>2]|0;HEAP32[19388+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[19388+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[19388+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[19388+16>>2]=HEAP32[$2+16>>2]|0; - _LoadTexture($3,4508); - ;HEAP32[19408>>2]=HEAP32[$3>>2]|0;HEAP32[19408+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[19408+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[19408+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[19408+16>>2]=HEAP32[$3+16>>2]|0; - _LoadRenderTexture($4,192,192); - dest=19428; src=$4; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadModel($5,4528); - _memcpy((19472|0),($5|0),604)|0; - _LoadTexture($6,4548); - ;HEAP32[(19736)>>2]=HEAP32[$6>>2]|0;HEAP32[(19736)+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[(19736)+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[(19736)+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[(19736)+16>>2]=HEAP32[$6+16>>2]|0; - _GenTextureMipmaps((19736)); - HEAPF32[4824] = 0.0; - HEAPF32[(19300)>>2] = 60.0; - HEAPF32[(19304)>>2] = -120.0; - HEAPF32[(19308)>>2] = 0.0; - HEAPF32[(19312)>>2] = 12.0; - HEAPF32[(19316)>>2] = 0.0; - HEAPF32[(19320)>>2] = 0.0; - HEAPF32[(19324)>>2] = 1.0; - HEAPF32[(19328)>>2] = 0.0; - HEAPF32[(19332)>>2] = 30.0; - _emscripten_set_main_loop((1|0),0,1); - _memcpy(($texPlane$byval_copy|0),(19472|0),604)|0; - _UnloadModel($texPlane$byval_copy); - dest=$texPlane$byval_copy; src=19428; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadRenderTexture($texPlane$byval_copy); - ;HEAP32[$texPlane$byval_copy>>2]=HEAP32[19348>>2]|0;HEAP32[$texPlane$byval_copy+4>>2]=HEAP32[19348+4>>2]|0;HEAP32[$texPlane$byval_copy+8>>2]=HEAP32[19348+8>>2]|0;HEAP32[$texPlane$byval_copy+12>>2]=HEAP32[19348+12>>2]|0;HEAP32[$texPlane$byval_copy+16>>2]=HEAP32[19348+16>>2]|0; - _UnloadTexture($texPlane$byval_copy); - ;HEAP32[$texPlane$byval_copy>>2]=HEAP32[19368>>2]|0;HEAP32[$texPlane$byval_copy+4>>2]=HEAP32[19368+4>>2]|0;HEAP32[$texPlane$byval_copy+8>>2]=HEAP32[19368+8>>2]|0;HEAP32[$texPlane$byval_copy+12>>2]=HEAP32[19368+12>>2]|0;HEAP32[$texPlane$byval_copy+16>>2]=HEAP32[19368+16>>2]|0; - _UnloadTexture($texPlane$byval_copy); - ;HEAP32[$texPlane$byval_copy>>2]=HEAP32[19388>>2]|0;HEAP32[$texPlane$byval_copy+4>>2]=HEAP32[19388+4>>2]|0;HEAP32[$texPlane$byval_copy+8>>2]=HEAP32[19388+8>>2]|0;HEAP32[$texPlane$byval_copy+12>>2]=HEAP32[19388+12>>2]|0;HEAP32[$texPlane$byval_copy+16>>2]=HEAP32[19388+16>>2]|0; - _UnloadTexture($texPlane$byval_copy); - ;HEAP32[$texPlane$byval_copy>>2]=HEAP32[19408>>2]|0;HEAP32[$texPlane$byval_copy+4>>2]=HEAP32[19408+4>>2]|0;HEAP32[$texPlane$byval_copy+8>>2]=HEAP32[19408+8>>2]|0;HEAP32[$texPlane$byval_copy+12>>2]=HEAP32[19408+12>>2]|0;HEAP32[$texPlane$byval_copy+16>>2]=HEAP32[19408+16>>2]|0; - _UnloadTexture($texPlane$byval_copy); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$byval_copy29 = 0, $$byval_copy30 = 0, $$byval_copy31 = 0, $$byval_copy33 = 0, $$sink = 0.0, $$sink2 = 0.0, $$sink4 = 0.0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0; - var $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0, $143 = 0, $144 = 0.0, $145 = 0.0; - var $146 = 0, $147 = 0, $148 = 0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; - var $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0.0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0.0; - var $182 = 0.0, $183 = 0, $184 = 0, $185 = 0.0, $186 = 0, $187 = 0, $188 = 0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0.0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0; - var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0; - var $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0; - var $64 = 0.0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $smax = 0; - var $smax37 = 0, $texPlane$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1472|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1472|0); - $$byval_copy33 = sp + 1344|0; - $$byval_copy31 = sp + 1280|0; - $$byval_copy30 = sp + 676|0; - $$byval_copy29 = sp + 656|0; - $texPlane$byval_copy = sp + 96|0; - $0 = sp; - $1 = sp + 592|0; - $2 = sp + 528|0; - $3 = sp + 464|0; - $4 = sp + 400|0; - $5 = sp + 336|0; - $6 = sp + 272|0; - $7 = sp + 1456|0; - $8 = sp + 256|0; - $9 = sp + 240|0; - $10 = sp + 232|0; - $11 = sp + 224|0; - $12 = sp + 208|0; - $13 = sp + 192|0; - $14 = sp + 184|0; - $15 = sp + 176|0; - $16 = sp + 160|0; - $17 = sp + 144|0; - $18 = sp + 136|0; - $19 = sp + 132|0; - $20 = sp + 120|0; - $21 = sp + 116|0; - $22 = sp + 1452|0; - $23 = sp + 1448|0; - $24 = sp + 1444|0; - $25 = sp + 1440|0; - $26 = sp + 1436|0; - $27 = sp + 1432|0; - $28 = sp + 1428|0; - $29 = sp + 1424|0; - $30 = sp + 1420|0; - $31 = sp + 1416|0; - $32 = sp + 80|0; - $33 = sp + 72|0; - $34 = sp + 1412|0; - $35 = sp + 64|0; - $36 = sp + 1408|0; - $37 = (_IsKeyDown(263)|0); - $38 = ($37|0)==(0); - do { - if ($38) { - $41 = (_IsKeyDown(262)|0); - $42 = ($41|0)==(0); - $43 = +HEAPF32[4835]; - if (!($42)) { - $44 = $43 + -1.0; - $$sink = $44; - label = 9; - break; - } - $45 = $43 > 0.0; - if ($45) { - $46 = $43 + -0.5; - $$sink = $46; - label = 9; - break; - } - $47 = $43 < 0.0; - if ($47) { - $48 = $43 + 0.5; - $$sink = $48; - label = 9; - } - } else { - $39 = +HEAPF32[4835]; - $40 = $39 + 1.0; - $$sink = $40; - label = 9; - } - } while(0); - if ((label|0) == 9) { - HEAPF32[4835] = $$sink; - } - $49 = (_IsKeyDown(83)|0); - $50 = ($49|0)==(0); - do { - if ($50) { - $53 = (_IsKeyDown(65)|0); - $54 = ($53|0)==(0); - $55 = +HEAPF32[4836]; - if (!($54)) { - $56 = $55 + -1.0; - $$sink2 = $56; - label = 18; - break; - } - $57 = $55 > 0.0; - if ($57) { - $58 = $55 + -0.5; - $$sink2 = $58; - label = 18; - break; - } - $59 = $55 < 0.0; - if ($59) { - $60 = $55 + 0.5; - $$sink2 = $60; - label = 18; - } - } else { - $51 = +HEAPF32[4836]; - $52 = $51 + 1.0; - $$sink2 = $52; - label = 18; - } - } while(0); - if ((label|0) == 18) { - HEAPF32[4836] = $$sink2; - } - $61 = (_IsKeyDown(264)|0); - $62 = ($61|0)==(0); - do { - if ($62) { - $65 = (_IsKeyDown(265)|0); - $66 = ($65|0)==(0); - $67 = +HEAPF32[4834]; - if (!($66)) { - $68 = $67 + -0.60000002384185791; - $$sink4 = $68; - label = 27; - break; - } - $69 = $67 > 0.30000001192092896; - if ($69) { - $70 = $67 + -0.30000001192092896; - $$sink4 = $70; - label = 27; - break; - } - $71 = $67 < -0.30000001192092896; - if ($71) { - $72 = $67 + 0.30000001192092896; - $$sink4 = $72; - label = 27; - } - } else { - $63 = +HEAPF32[4834]; - $64 = $63 + 0.60000002384185791; - $$sink4 = $64; - label = 27; - } - } while(0); - if ((label|0) == 27) { - HEAPF32[4834] = $$sink4; - } - $73 = +HEAPF32[4834]; - $74 = (~~(($73))); - $75 = $74 ^ -1; - $76 = ($75|0)>(-181); - $smax37 = $76 ? $75 : -181; - $77 = (($74) + ($smax37))|0; - $78 = (($77) + 360)|0; - $79 = (($78>>>0) % 360)&-1; - $80 = (($79) - ($78))|0; - $81 = (($74) + ($80))|0; - $82 = ($81|0)>(-180); - $smax = $82 ? $81 : -180; - $83 = (($smax) + 359)|0; - $84 = (($83) - ($81))|0; - $85 = (($84>>>0) % 360)&-1; - $86 = (($84) - ($85))|0; - $87 = (($81) + ($86))|0; - $88 = ($87*10)|0; - _MatrixIdentity($0); - $89 = +HEAPF32[4835]; - $90 = $89 * 0.01745329238474369; - _MatrixRotateZ($1,$90); - dest=$$byval_copy31; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy33; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy31,$$byval_copy33); - dest=$0; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $91 = +HEAPF32[4834]; - $92 = $91 * 0.01745329238474369; - _MatrixRotateX($3,$92); - dest=$$byval_copy31; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy33; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy31,$$byval_copy33); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $93 = +HEAPF32[4836]; - $94 = $93 * 0.01745329238474369; - _MatrixRotateY($5,$94); - dest=$$byval_copy31; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy33; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($6,$$byval_copy31,$$byval_copy33); - dest=$0; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=(19540); src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _BeginDrawing(); - HEAP8[$7>>0] = -11; - $95 = ((($7)) + 1|0); - HEAP8[$95>>0] = -11; - $96 = ((($7)) + 2|0); - HEAP8[$96>>0] = -11; - $97 = ((($7)) + 3|0); - HEAP8[$97>>0] = -1; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$7+3>>0]|0; - _ClearBackground($$byval_copy33); - $98 = HEAP32[(19436)>>2]|0; - $99 = (($98|0) / 2)&-1; - $100 = HEAP32[(19440)>>2]|0; - $101 = (($100|0) / 2)&-1; - dest=$$byval_copy33; src=19428; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _BeginTextureMode($$byval_copy33); - _BeginBlendMode(0); - HEAP32[$8>>2] = 0; - $102 = ((($8)) + 4|0); - HEAP32[$102>>2] = 0; - $103 = ((($8)) + 8|0); - $104 = HEAP32[(19372)>>2]|0; - HEAP32[$103>>2] = $104; - $105 = ((($8)) + 12|0); - $106 = HEAP32[(19376)>>2]|0; - HEAP32[$105>>2] = $106; - HEAP32[$9>>2] = $99; - $107 = ((($9)) + 4|0); - HEAP32[$107>>2] = $101; - $108 = ((($9)) + 8|0); - $109 = HEAP32[(19372)>>2]|0; - $110 = (+($109|0)); - $111 = $110 * 0.5; - $112 = (~~(($111))); - HEAP32[$108>>2] = $112; - $113 = ((($9)) + 12|0); - $114 = HEAP32[(19376)>>2]|0; - $115 = (+($114|0)); - $116 = $115 * 0.5; - $117 = (~~(($116))); - HEAP32[$113>>2] = $117; - $118 = HEAP32[(19372)>>2]|0; - $119 = (($118|0) / 2)&-1; - $120 = (+($119|0)); - $121 = $120 * 0.5; - HEAPF32[$10>>2] = $121; - $122 = ((($10)) + 4|0); - $123 = HEAP32[(19376)>>2]|0; - $124 = (($123|0) / 2)&-1; - $125 = (+($124|0)); - $126 = $125 * 0.5; - $127 = (+($88|0)); - $128 = $127 * 0.5; - $129 = $128 + $126; - HEAPF32[$122>>2] = $129; - $130 = +HEAPF32[4835]; - HEAP32[$11>>2] = -1; - ;HEAP32[$texPlane$byval_copy>>2]=HEAP32[19368>>2]|0;HEAP32[$texPlane$byval_copy+4>>2]=HEAP32[19368+4>>2]|0;HEAP32[$texPlane$byval_copy+8>>2]=HEAP32[19368+8>>2]|0;HEAP32[$texPlane$byval_copy+12>>2]=HEAP32[19368+12>>2]|0;HEAP32[$texPlane$byval_copy+16>>2]=HEAP32[19368+16>>2]|0; - ;HEAP32[$$byval_copy29>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy29+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$$byval_copy29+12>>2]=HEAP32[$8+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[$9+12>>2]|0; - ;HEAP32[$$byval_copy31>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$10+4>>2]|0; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$11+3>>0]|0; - _DrawTexturePro($texPlane$byval_copy,$$byval_copy29,$$byval_copy30,$$byval_copy31,$130,$$byval_copy33); - HEAP32[$12>>2] = 0; - $131 = ((($12)) + 4|0); - HEAP32[$131>>2] = 0; - $132 = ((($12)) + 8|0); - $133 = HEAP32[(19392)>>2]|0; - HEAP32[$132>>2] = $133; - $134 = ((($12)) + 12|0); - $135 = HEAP32[(19396)>>2]|0; - HEAP32[$134>>2] = $135; - HEAP32[$13>>2] = $99; - $136 = ((($13)) + 4|0); - HEAP32[$136>>2] = $101; - $137 = ((($13)) + 8|0); - $138 = HEAP32[(19392)>>2]|0; - $139 = (+($138|0)); - $140 = $139 * 0.5; - $141 = (~~(($140))); - HEAP32[$137>>2] = $141; - $142 = ((($13)) + 12|0); - $143 = HEAP32[(19396)>>2]|0; - $144 = (+($143|0)); - $145 = $144 * 0.5; - $146 = (~~(($145))); - HEAP32[$142>>2] = $146; - $147 = HEAP32[(19392)>>2]|0; - $148 = (($147|0) / 2)&-1; - $149 = (+($148|0)); - $150 = $149 * 0.5; - HEAPF32[$14>>2] = $150; - $151 = ((($14)) + 4|0); - $152 = HEAP32[(19396)>>2]|0; - $153 = (($152|0) / 2)&-1; - $154 = (+($153|0)); - $155 = $154 * 0.5; - $156 = $128 + $155; - HEAPF32[$151>>2] = $156; - $157 = +HEAPF32[4835]; - HEAP32[$15>>2] = -1; - ;HEAP32[$texPlane$byval_copy>>2]=HEAP32[19388>>2]|0;HEAP32[$texPlane$byval_copy+4>>2]=HEAP32[19388+4>>2]|0;HEAP32[$texPlane$byval_copy+8>>2]=HEAP32[19388+8>>2]|0;HEAP32[$texPlane$byval_copy+12>>2]=HEAP32[19388+12>>2]|0;HEAP32[$texPlane$byval_copy+16>>2]=HEAP32[19388+16>>2]|0; - ;HEAP32[$$byval_copy29>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy29+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy29+12>>2]=HEAP32[$12+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[$13+12>>2]|0; - ;HEAP32[$$byval_copy31>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$14+4>>2]|0; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$15+3>>0]|0; - _DrawTexturePro($texPlane$byval_copy,$$byval_copy29,$$byval_copy30,$$byval_copy31,$157,$$byval_copy33); - HEAP32[$16>>2] = 0; - $158 = ((($16)) + 4|0); - HEAP32[$158>>2] = 0; - $159 = ((($16)) + 8|0); - $160 = HEAP32[(19412)>>2]|0; - HEAP32[$159>>2] = $160; - $161 = ((($16)) + 12|0); - $162 = HEAP32[(19416)>>2]|0; - HEAP32[$161>>2] = $162; - HEAP32[$17>>2] = $99; - $163 = ((($17)) + 4|0); - HEAP32[$163>>2] = $101; - $164 = ((($17)) + 8|0); - $165 = HEAP32[(19412)>>2]|0; - $166 = (+($165|0)); - $167 = $166 * 0.5; - $168 = (~~(($167))); - HEAP32[$164>>2] = $168; - $169 = ((($17)) + 12|0); - $170 = HEAP32[(19416)>>2]|0; - $171 = (+($170|0)); - $172 = $171 * 0.5; - $173 = (~~(($172))); - HEAP32[$169>>2] = $173; - $174 = HEAP32[(19412)>>2]|0; - $175 = (($174|0) / 2)&-1; - $176 = (+($175|0)); - $177 = $176 * 0.5; - HEAPF32[$18>>2] = $177; - $178 = ((($18)) + 4|0); - $179 = HEAP32[(19416)>>2]|0; - $180 = (($179|0) / 2)&-1; - $181 = (+($180|0)); - $182 = $181 * 0.5; - HEAPF32[$178>>2] = $182; - HEAP32[$19>>2] = -1; - ;HEAP32[$texPlane$byval_copy>>2]=HEAP32[19408>>2]|0;HEAP32[$texPlane$byval_copy+4>>2]=HEAP32[19408+4>>2]|0;HEAP32[$texPlane$byval_copy+8>>2]=HEAP32[19408+8>>2]|0;HEAP32[$texPlane$byval_copy+12>>2]=HEAP32[19408+12>>2]|0;HEAP32[$texPlane$byval_copy+16>>2]=HEAP32[19408+16>>2]|0; - ;HEAP32[$$byval_copy29>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$$byval_copy29+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$$byval_copy29+12>>2]=HEAP32[$16+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[$17+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[$17+12>>2]|0; - ;HEAP32[$$byval_copy31>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$18+4>>2]|0; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$19+3>>0]|0; - _DrawTexturePro($texPlane$byval_copy,$$byval_copy29,$$byval_copy30,$$byval_copy31,0.0,$$byval_copy33); - _EndBlendMode(); - _EndTextureMode(); - dest=$$byval_copy33; src=19296; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy33); - HEAPF32[$20>>2] = 0.0; - $183 = ((($20)) + 4|0); - HEAPF32[$183>>2] = 6.0; - $184 = ((($20)) + 8|0); - HEAPF32[$184>>2] = 0.0; - HEAP32[$21>>2] = -1; - _memcpy(($$byval_copy30|0),(19472|0),604)|0; - ;HEAP32[$$byval_copy31>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[$20+8>>2]|0; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$21+3>>0]|0; - _DrawModel($$byval_copy30,$$byval_copy31,1.0,$$byval_copy33); - _DrawGrid(10,10.0); - _End3dMode(); - $185 = +HEAPF32[4835]; - HEAP8[$22>>0] = -26; - $186 = ((($22)) + 1|0); - HEAP8[$186>>0] = 41; - $187 = ((($22)) + 2|0); - HEAP8[$187>>0] = 55; - $188 = ((($22)) + 3|0); - HEAP8[$188>>0] = -1; - ;HEAP32[$$byval_copy31>>2]=HEAP32[19348>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[19348+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[19348+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[19348+12>>2]|0;HEAP32[$$byval_copy31+16>>2]=HEAP32[19348+16>>2]|0; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$22+3>>0]|0; - _DrawAngleGauge($$byval_copy31,80,80,$185,4576,$$byval_copy33); - $189 = +HEAPF32[4834]; - HEAP8[$23>>0] = 0; - $190 = ((($23)) + 1|0); - HEAP8[$190>>0] = -28; - $191 = ((($23)) + 2|0); - HEAP8[$191>>0] = 48; - $192 = ((($23)) + 3|0); - HEAP8[$192>>0] = -1; - ;HEAP32[$$byval_copy31>>2]=HEAP32[19348>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[19348+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[19348+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[19348+12>>2]|0;HEAP32[$$byval_copy31+16>>2]=HEAP32[19348+16>>2]|0; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$23+3>>0]|0; - _DrawAngleGauge($$byval_copy31,190,80,$189,4581,$$byval_copy33); - $193 = +HEAPF32[4836]; - HEAP8[$24>>0] = 102; - $194 = ((($24)) + 1|0); - HEAP8[$194>>0] = -65; - $195 = ((($24)) + 2|0); - HEAP8[$195>>0] = -1; - $196 = ((($24)) + 3|0); - HEAP8[$196>>0] = -1; - ;HEAP32[$$byval_copy31>>2]=HEAP32[19348>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[19348+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[19348+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[19348+12>>2]|0;HEAP32[$$byval_copy31+16>>2]=HEAP32[19348+16>>2]|0; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$24+3>>0]|0; - _DrawAngleGauge($$byval_copy31,300,80,$193,4587,$$byval_copy33); - HEAP8[$26>>0] = 102; - $197 = ((($26)) + 1|0); - HEAP8[$197>>0] = -65; - $198 = ((($26)) + 2|0); - HEAP8[$198>>0] = -1; - $199 = ((($26)) + 3|0); - HEAP8[$199>>0] = -1; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$26>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$26+3>>0]|0; - _Fade($25,$$byval_copy33,0.5); - ;HEAP8[$$byval_copy33>>0]=HEAP8[$25>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$25+3>>0]|0; - _DrawRectangle(30,360,260,70,$$byval_copy33); - HEAP8[$28>>0] = 0; - $200 = ((($28)) + 1|0); - HEAP8[$200>>0] = 82; - $201 = ((($28)) + 2|0); - HEAP8[$201>>0] = -84; - $202 = ((($28)) + 3|0); - HEAP8[$202>>0] = -1; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$28>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$28+3>>0]|0; - _Fade($27,$$byval_copy33,0.5); - ;HEAP8[$$byval_copy33>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$27+3>>0]|0; - _DrawRectangleLines(30,360,260,70,$$byval_copy33); - HEAP8[$29>>0] = 80; - $203 = ((($29)) + 1|0); - HEAP8[$203>>0] = 80; - $204 = ((($29)) + 2|0); - HEAP8[$204>>0] = 80; - $205 = ((($29)) + 3|0); - HEAP8[$205>>0] = -1; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$29>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$29+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$29+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$29+3>>0]|0; - _DrawText(4591,40,370,10,$$byval_copy33); - HEAP8[$30>>0] = 80; - $206 = ((($30)) + 1|0); - HEAP8[$206>>0] = 80; - $207 = ((($30)) + 2|0); - HEAP8[$207>>0] = 80; - $208 = ((($30)) + 3|0); - HEAP8[$208>>0] = -1; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$30>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$30+3>>0]|0; - _DrawText(4632,40,390,10,$$byval_copy33); - HEAP8[$31>>0] = 80; - $209 = ((($31)) + 1|0); - HEAP8[$209>>0] = 80; - $210 = ((($31)) + 2|0); - HEAP8[$210>>0] = 80; - $211 = ((($31)) + 3|0); - HEAP8[$211>>0] = -1; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$31>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$31+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$31+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$31+3>>0]|0; - _DrawText(4675,40,410,10,$$byval_copy33); - HEAP32[$32>>2] = 0; - $212 = ((($32)) + 4|0); - HEAP32[$212>>2] = 0; - $213 = ((($32)) + 8|0); - $214 = HEAP32[(19436)>>2]|0; - HEAP32[$213>>2] = $214; - $215 = ((($32)) + 12|0); - $216 = HEAP32[(19440)>>2]|0; - $217 = (0 - ($216))|0; - HEAP32[$215>>2] = $217; - $218 = HEAP32[2]|0; - $219 = HEAP32[(19436)>>2]|0; - $220 = (($218) + -20)|0; - $221 = (($220) - ($219))|0; - $222 = (+($221|0)); - HEAPF32[$33>>2] = $222; - $223 = ((($33)) + 4|0); - HEAPF32[$223>>2] = 20.0; - HEAP32[$35>>2] = -1; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$35>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$35+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$35+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$35+3>>0]|0; - _Fade($34,$$byval_copy33,0.80000001192092896); - ;HEAP32[$$byval_copy29>>2]=HEAP32[(19432)>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[(19432)+4>>2]|0;HEAP32[$$byval_copy29+8>>2]=HEAP32[(19432)+8>>2]|0;HEAP32[$$byval_copy29+12>>2]=HEAP32[(19432)+12>>2]|0;HEAP32[$$byval_copy29+16>>2]=HEAP32[(19432)+16>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$32+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[$32+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[$32+12>>2]|0; - ;HEAP32[$$byval_copy31>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$33+4>>2]|0; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$34>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$34+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$34+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$34+3>>0]|0; - _DrawTextureRec($$byval_copy29,$$byval_copy30,$$byval_copy31,$$byval_copy33); - $224 = HEAP32[2]|0; - $225 = HEAP32[(19436)>>2]|0; - $226 = (($224) + -20)|0; - $227 = (($226) - ($225))|0; - $228 = HEAP32[(19440)>>2]|0; - HEAP8[$36>>0] = 80; - $229 = ((($36)) + 1|0); - HEAP8[$229>>0] = 80; - $230 = ((($36)) + 2|0); - HEAP8[$230>>0] = 80; - $231 = ((($36)) + 3|0); - HEAP8[$231>>0] = -1; - ;HEAP8[$$byval_copy33>>0]=HEAP8[$36>>0]|0;HEAP8[$$byval_copy33+1>>0]=HEAP8[$36+1>>0]|0;HEAP8[$$byval_copy33+2>>0]=HEAP8[$36+2>>0]|0;HEAP8[$$byval_copy33+3>>0]=HEAP8[$36+3>>0]|0; - _DrawRectangleLines($227,20,$225,$228,$$byval_copy33); - _EndDrawing(); - STACKTOP = sp;return; -} -function _DrawAngleGauge($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$byval_copy = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy9 = sp + 128|0; - $$byval_copy6 = sp + 112|0; - $$byval_copy5 = sp + 96|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy = sp + 56|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $6 = sp + 40|0; - $7 = sp + 24|0; - $8 = sp + 16|0; - $9 = sp + 124|0; - $10 = sp + 120|0; - HEAP32[$6>>2] = 0; - $11 = ((($6)) + 4|0); - HEAP32[$11>>2] = 0; - $12 = ((($6)) + 8|0); - $13 = ((($0)) + 4|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$12>>2] = $14; - $15 = ((($6)) + 12|0); - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$15>>2] = $17; - HEAP32[$7>>2] = $1; - $18 = ((($7)) + 4|0); - HEAP32[$18>>2] = $2; - $19 = ((($7)) + 8|0); - $20 = HEAP32[$13>>2]|0; - HEAP32[$19>>2] = $20; - $21 = ((($7)) + 12|0); - $22 = HEAP32[$16>>2]|0; - HEAP32[$21>>2] = $22; - $23 = HEAP32[$13>>2]|0; - $24 = (($23|0) / 2)&-1; - $25 = (+($24|0)); - HEAPF32[$8>>2] = $25; - $26 = ((($8)) + 4|0); - $27 = HEAP32[$16>>2]|0; - $28 = (($27|0) / 2)&-1; - $29 = (+($28|0)); - HEAPF32[$26>>2] = $29; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$7+12>>2]|0; - ;HEAP32[$$byval_copy6>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$8+4>>2]|0; - ;HEAP8[$$byval_copy9>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy,$$byval_copy4,$$byval_copy5,$$byval_copy6,$3,$$byval_copy9); - $30 = $3; - HEAPF64[$vararg_buffer>>3] = $30; - $31 = (_FormatText(4710,$vararg_buffer)|0); - HEAPF64[$vararg_buffer1>>3] = $30; - $32 = (_FormatText(4710,$vararg_buffer1)|0); - $33 = (_MeasureText($32,20)|0); - $34 = (($33|0) / 2)&-1; - $35 = (($1) - ($34))|0; - $36 = (($2) + 10)|0; - HEAP8[$9>>0] = 80; - $37 = ((($9)) + 1|0); - HEAP8[$37>>0] = 80; - $38 = ((($9)) + 2|0); - HEAP8[$38>>0] = 80; - $39 = ((($9)) + 3|0); - HEAP8[$39>>0] = -1; - ;HEAP8[$$byval_copy9>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$9+3>>0]|0; - _DrawText($31,$35,$36,20,$$byval_copy9); - $40 = (_MeasureText($4,20)|0); - $41 = (($40|0) / 2)&-1; - $42 = (($1) - ($41))|0; - $43 = (($2) + 60)|0; - HEAP8[$10>>0] = 80; - $44 = ((($10)) + 1|0); - HEAP8[$44>>0] = 80; - $45 = ((($10)) + 2|0); - HEAP8[$45>>0] = 80; - $46 = ((($10)) + 3|0); - HEAP8[$46>>0] = -1; - ;HEAP8[$$byval_copy9>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$10+3>>0]|0; - _DrawText($4,$42,$43,20,$$byval_copy9); - STACKTOP = sp;return; -} -function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; - var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; - var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; - var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; - var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; - var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; - var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; - var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; - var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; - var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; - var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; - var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; - var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; - var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; - var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; - var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; - var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; - var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; - var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; - var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; - var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; - var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; - var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; - var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; - var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; - var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; - var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; - var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; - var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; - var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; - var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; - var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; - var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; - var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; - var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; - var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; - var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; - var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; - var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; - var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; - var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; - var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; - var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; - var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; - var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; - var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; - var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; - var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; - var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; - var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; - var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; - var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; - var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; - var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; - var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; - var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; - var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; - var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; - var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; - var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; - var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; - var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; - var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; - var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; - var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; - var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; - var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; - var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; - var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; - var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; - var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; - var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; - var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; - var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; - var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; - var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $7 = sp + 64|0; - $8 = sp; - $9 = HEAP32[$2>>2]|0; - $10 = (($1) + ($9)|0); - $11 = HEAP32[$5>>2]|0; - $12 = (($4) + ($11)|0); - $13 = $6 & 4; - $14 = ($13|0)!=(0); - $15 = $4; - $16 = $3; - $17 = $16 ^ -1; - $18 = (($15) + ($17))|0; - $19 = (($18) + ($11))|0; - $$1753 = $14 ? -1 : $19; - $20 = (($$1753) + 1)|0; - $21 = $20 & $$1753; - $22 = ($21|0)!=(0); - $23 = ($4>>>0)<($3>>>0); - $or$cond1702 = $23 | $22; - if ($or$cond1702) { - HEAP32[$5>>2] = 0; - HEAP32[$2>>2] = 0; - $$0951 = -3; - STACKTOP = sp;return ($$0951|0); - } - $24 = ((($0)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 56|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($0)) + 60|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - L5: do { - switch ($36|0) { - case 0: { - $37 = ((($0)) + 12|0); - HEAP32[$37>>2] = 0; - $38 = ((($0)) + 8|0); - HEAP32[$38>>2] = 0; - $39 = ((($0)) + 28|0); - HEAP32[$39>>2] = 1; - $40 = ((($0)) + 16|0); - HEAP32[$40>>2] = 1; - $41 = $6 & 1; - $42 = ($41|0)==(0); - if ($42) { - $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; - label = 14; - } else { - $43 = ($9|0)<(1); - if ($43) { - $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; - label = 6; - } else { - $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; - label = 8; - } - } - break; - } - case 1: { - $46 = ($9|0)>(0); - if ($46) { - $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; - label = 8; - } else { - $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; - label = 6; - } - break; - } - case 2: { - $53 = ($9|0)>(0); - if ($53) { - $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; - label = 12; - } else { - $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; - label = 10; - } - break; - } - case 36: { - $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; - label = 243; - break; - } - case 3: { - $75 = ($9|0)>(0); - if ($75) { - $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; - label = 18; - } else { - $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; - label = 16; - } - break; - } - case 5: { - $90 = ($9|0)>(0); - if ($90) { - $91 = ((($1)) + 1|0); - $92 = HEAP8[$1>>0]|0; - $93 = $92&255; - $$01412 = $93;$$111518 = $91; - } else { - $88 = $6 & 2; - $89 = ($88|0)==(0); - if ($89) { - $$01412 = 0;$$111518 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; - label = 243; - break L5; - } - } - $94 = $$01412 << $25; - $95 = $94 | $27; - $96 = (($25) + 8)|0; - $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; - label = 25; - break; - } - case 6: { - $106 = ($9|0)>(0); - if ($106) { - $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; - label = 32; - } else { - $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; - label = 30; - } - break; - } - case 7: { - $120 = ($9|0)>(0); - if ($120) { - $121 = ((($1)) + 1|0); - $122 = HEAP8[$1>>0]|0; - $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; - label = 39; - } else { - $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; - label = 36; - } - break; - } - case 39: { - $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; - label = 43; - break; - } - case 51: { - $152 = ($9|0)>(0); - if ($152) { - $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; - label = 49; - } else { - $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; - label = 47; - } - break; - } - case 52: { - $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; - label = 52; - break; - } - case 9: { - $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; - label = 55; - break; - } - case 38: { - $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; - label = 56; - break; - } - case 40: { - $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; - label = 58; - break; - } - case 10: { - $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; - label = 60; - break; - } - case 11: { - $193 = ($9|0)>(0); - if ($193) { - $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; - label = 66; - } else { - $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; - label = 64; - } - break; - } - case 14: { - $224 = ($9|0)>(0); - if ($224) { - $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; - label = 75; - } else { - $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; - label = 73; - } - break; - } - case 35: { - $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; - label = 86; - break; - } - case 16: { - $452 = ($9|0)>(0); - if ($452) { - $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; - label = 116; - } else { - $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; - label = 114; - } - break; - } - case 17: { - $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; - label = 125; - break; - } - case 18: { - $503 = ($9|0)>(0); - if ($503) { - $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; - label = 130; - } else { - $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; - label = 128; - } - break; - } - case 21: { - $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; - label = 136; - break; - } - case 23: { - $572 = ($9|0)>(0); - if ($572) { - $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; - label = 153; - } else { - $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; - label = 151; - } - break; - } - case 24: { - $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; - label = 160; - break; - } - case 25: { - $696 = ($9|0)>(0); - if ($696) { - $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; - label = 182; - } else { - $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; - label = 180; - } - break; - } - case 26: { - $737 = ($9|0)>(0); - if ($737) { - $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; - label = 195; - } else { - $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; - label = 193; - } - break; - } - case 27: { - $784 = ($9|0)>(0); - if ($784) { - $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; - label = 206; - } else { - $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; - label = 204; - } - break; - } - case 37: { - $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; - label = 210; - break; - } - case 53: { - $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; - label = 213; - break; - } - case 32: { - $842 = ($9|0)>(0); - if ($842) { - $843 = ((($1)) + 1|0); - $844 = HEAP8[$1>>0]|0; - $845 = $844&255; - $$0949 = $845;$$881595 = $843; - } else { - $840 = $6 & 2; - $841 = ($840|0)==(0); - if ($841) { - $$0949 = 0;$$881595 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; - label = 243; - break L5; - } - } - $846 = $$0949 << $25; - $847 = $846 | $27; - $848 = (($25) + 8)|0; - $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; - label = 226; - break; - } - case 41: { - $858 = ($9|0)>(0); - if ($858) { - $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; - label = 233; - } else { - $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; - label = 231; - } - break; - } - case 42: { - $871 = ($9|0)>(0); - if ($871) { - $872 = ((($1)) + 1|0); - $873 = HEAP8[$1>>0]|0; - $874 = $873&255; - $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; - label = 241; - } else { - $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; - label = 237; - } - break; - } - case 34: { - $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; - label = 242; - break; - } - default: { - $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; - label = 244; - } - } - } while(0); - if ((label|0) == 6) { - $44 = $6 & 2; - $45 = ($44|0)==(0); - if ($45) { - $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; - label = 9; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; - label = 243; - } - } - else if ((label|0) == 8) { - $47 = ((($1)) + 1|0); - $48 = HEAP8[$1>>0]|0; - $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; - label = 9; - } - if ((label|0) == 9) { - $$sink3 = $$sink3$shrunk&255; - $49 = ((($0)) + 8|0); - HEAP32[$49>>2] = $$sink3; - $50 = ($$01507>>>0)<($10>>>0); - if ($50) { - $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; - label = 12; - } else { - $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; - label = 10; - } - } - if ((label|0) == 10) { - $51 = $6 & 2; - $52 = ($51|0)==(0); - if ($52) { - $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; - label = 13; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; - label = 243; - } - } - else if ((label|0) == 12) { - $54 = ((($$sink1705)) + 1|0); - $55 = HEAP8[$$sink1705>>0]|0; - $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; - label = 13; - } - if ((label|0) == 13) { - $$sink9 = $$sink9$shrunk&255; - $56 = ((($0)) + 12|0); - HEAP32[$56>>2] = $$sink9; - $57 = ((($0)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = $58 << 8; - $60 = $59 | $$sink9; - $61 = (($60>>>0) % 31)&-1; - $62 = $$sink9 & 32; - $63 = $61 | $62; - $64 = $58 & 15; - $65 = ($64|0)!=(8); - $not$ = ($63|0)!=(0); - $$1754 = $65 | $not$; - $66 = $58 >>> 4; - $67 = 256 << $66; - $68 = ($67>>>0)>(32768); - $69 = ($20>>>0)<($67>>>0); - $$ = $68 | $69; - $not$1755 = $14 ^ 1; - $70 = $$ & $not$1755; - $$31100$v = $70 | $$1754; - if ($$31100$v) { - $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; - label = 243; - } else { - $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; - label = 14; - } - } - L46: while(1) { - switch (label|0) { - case 14: { - label = 0; - $71 = ($$5>>>0)<(3); - if ($71) { - $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; - label = 15; - } else { - $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; - label = 20; - } - break; - } - case 16: { - label = 0; - $73 = $6 & 2; - $74 = ($73|0)==(0); - if ($74) { - $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; - label = 19; - } else { - $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; - label = 243; - continue L46; - } - break; - } - case 18: { - label = 0; - $76 = ((($$sink1710)) + 1|0); - $77 = HEAP8[$$sink1710>>0]|0; - $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; - label = 19; - break; - } - case 25: { - label = 0; - $97 = $$13 & 7; - $98 = $$131322 >>> $97; - $99 = (($$13) - ($97))|0; - $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; - label = 26; - break; - } - case 30: { - label = 0; - $104 = $6 & 2; - $105 = ($104|0)==(0); - if ($105) { - $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; - label = 33; - } else { - $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; - label = 243; - continue L46; - } - break; - } - case 32: { - label = 0; - $107 = ((($$sink1713)) + 1|0); - $108 = HEAP8[$$sink1713>>0]|0; - $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; - label = 33; - break; - } - case 36: { - label = 0; - $118 = $6 & 2; - $119 = ($118|0)==(0); - if ($119) { - $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; - label = 39; - continue L46; - } else { - $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; - label = 243; - continue L46; - } - break; - } - case 39: { - label = 0; - $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); - HEAP8[$$sink13>>0] = $$sink12; - $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; - label = 41; - break; - } - case 43: { - label = 0; - $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; - label = 243; - continue L46; - break; - } - case 47: { - label = 0; - $150 = $6 & 2; - $151 = ($150|0)==(0); - if ($151) { - $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; - label = 50; - } else { - $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; - label = 243; - continue L46; - } - break; - } - case 49: { - label = 0; - $153 = ((($$sink1716)) + 1|0); - $154 = HEAP8[$$sink1716>>0]|0; - $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; - label = 50; - break; - } - case 52: { - label = 0; - $162 = ($$231630>>>0)<($12>>>0); - if (!($162)) { - $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; - label = 243; - continue L46; - } - $163 = $$271018&255; - $164 = ((($$231630)) + 1|0); - HEAP8[$$231630>>0] = $163; - $165 = (($$271124) + -1)|0; - $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; - label = 44; - break; - } - case 55: { - label = 0; - $167 = ($$251632>>>0)<($12>>>0); - if ($167) { - $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; - label = 56; - continue L46; - } else { - $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; - label = 243; - continue L46; - } - break; - } - case 56: { - label = 0; - $168 = ($$301537>>>0)<($10>>>0); - if ($168) { - $171 = $12; - $172 = $$261633; - $173 = (($171) - ($172))|0; - $174 = $10; - $175 = $$301537; - $176 = (($174) - ($175))|0; - $177 = ($173>>>0)<($176>>>0); - $$sink17 = $177 ? $12 : $10; - $$sink16 = $177 ? $$261633 : $$301537; - $178 = $$sink17; - $179 = $$sink16; - $180 = (($178) - ($179))|0; - $181 = ($180>>>0)<($$301127>>>0); - $$$301127 = $181 ? $180 : $$301127; - _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; - $182 = (($$301537) + ($$$301127)|0); - $183 = (($$261633) + ($$$301127)|0); - $184 = (($$301127) - ($$$301127))|0; - $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; - label = 54; - break; - } else { - $169 = $6 & 2; - $170 = ($169|0)==(0); - if ($170) { - $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; - label = 58; - continue L46; - } else { - $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; - label = 243; - continue L46; - } - } - break; - } - case 58: { - label = 0; - $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; - label = 243; - continue L46; - break; - } - case 60: { - label = 0; - $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; - label = 243; - continue L46; - break; - } - case 64: { - label = 0; - $191 = $6 & 2; - $192 = ($191|0)==(0); - if ($192) { - $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; - label = 67; - } else { - $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; - label = 243; - continue L46; - } - break; - } - case 66: { - label = 0; - $194 = ((($$sink1719)) + 1|0); - $195 = HEAP8[$$sink1719>>0]|0; - $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; - label = 67; - break; - } - case 73: { - label = 0; - $222 = $6 & 2; - $223 = ($222|0)==(0); - if ($223) { - $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; - label = 76; - } else { - $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; - label = 243; - continue L46; - } - break; - } - case 75: { - label = 0; - $225 = ((($$sink1722)) + 1|0); - $226 = HEAP8[$$sink1722>>0]|0; - $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; - label = 76; - break; - } - case 86: { - label = 0; - $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; - label = 243; - continue L46; - break; - } - case 114: { - label = 0; - $450 = $6 & 2; - $451 = ($450|0)==(0); - if ($451) { - $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; - label = 117; - } else { - $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; - label = 243; - continue L46; - } - break; - } - case 116: { - label = 0; - $453 = ((($$sink1729)) + 1|0); - $454 = HEAP8[$$sink1729>>0]|0; - $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; - label = 117; - break; - } - case 125: { - label = 0; - $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; - label = 243; - continue L46; - break; - } - case 128: { - label = 0; - $501 = $6 & 2; - $502 = ($501|0)==(0); - if ($502) { - $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; - label = 131; - } else { - $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; - label = 243; - continue L46; - } - break; - } - case 130: { - label = 0; - $504 = ((($$sink1732)) + 1|0); - $505 = HEAP8[$$sink1732>>0]|0; - $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; - label = 131; - break; - } - case 136: { - label = 0; - $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; - label = 243; - continue L46; - break; - } - case 151: { - label = 0; - $570 = $6 & 2; - $571 = ($570|0)==(0); - if ($571) { - $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; - label = 154; - } else { - $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; - label = 243; - continue L46; - } - break; - } - case 153: { - label = 0; - $573 = ((($$sink1736)) + 1|0); - $574 = HEAP8[$$sink1736>>0]|0; - $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; - label = 154; - break; - } - case 160: { - label = 0; - $610 = ($$591666>>>0)<($12>>>0); - if (!($610)) { - $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; - label = 243; - continue L46; - } - $611 = $$621159&255; - $612 = ((($$591666)) + 1|0); - HEAP8[$$591666>>0] = $611; - $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; - label = 140; - break; - } - case 180: { - label = 0; - $694 = $6 & 2; - $695 = ($694|0)==(0); - if ($695) { - $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; - label = 183; - } else { - $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; - label = 243; - continue L46; - } - break; - } - case 182: { - label = 0; - $697 = ((($$sink1739)) + 1|0); - $698 = HEAP8[$$sink1739>>0]|0; - $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; - label = 183; - break; - } - case 193: { - label = 0; - $735 = $6 & 2; - $736 = ($735|0)==(0); - if ($736) { - $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; - label = 196; - } else { - $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; - label = 243; - continue L46; - } - break; - } - case 195: { - label = 0; - $738 = ((($$sink1743)) + 1|0); - $739 = HEAP8[$$sink1743>>0]|0; - $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; - label = 196; - break; - } - case 204: { - label = 0; - $782 = $6 & 2; - $783 = ($782|0)==(0); - if ($783) { - $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; - label = 207; - } else { - $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; - label = 243; - continue L46; - } - break; - } - case 206: { - label = 0; - $785 = ((($$sink1746)) + 1|0); - $786 = HEAP8[$$sink1746>>0]|0; - $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; - label = 207; - break; - } - case 210: { - label = 0; - $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; - label = 243; - continue L46; - break; - } - case 213: { - label = 0; - $809 = ($$781685>>>0)<($12>>>0); - if (!($809)) { - $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; - label = 243; - continue L46; - } - $810 = (($$751491) + 1)|0; - $811 = (($$751491) - ($$791070))|0; - $812 = $811 & $$1753; - $813 = (($3) + ($812)|0); - $814 = HEAP8[$813>>0]|0; - $815 = ((($$781685)) + 1|0); - HEAP8[$$781685>>0] = $814; - $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; - label = 212; - break; - } - case 226: { - label = 0; - $849 = $$90 & 7; - $850 = $$901399 >>> $849; - $851 = (($$90) - ($849))|0; - $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; - label = 227; - break; - } - case 231: { - label = 0; - $856 = $6 & 2; - $857 = ($856|0)==(0); - if ($857) { - $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; - label = 234; - } else { - $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; - label = 243; - continue L46; - } - break; - } - case 233: { - label = 0; - $859 = ((($$sink1750)) + 1|0); - $860 = HEAP8[$$sink1750>>0]|0; - $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; - label = 234; - break; - } - case 237: { - label = 0; - $869 = $6 & 2; - $870 = ($869|0)==(0); - if ($870) { - $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; - label = 241; - continue L46; - } else { - $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; - label = 243; - continue L46; - } - break; - } - case 241: { - label = 0; - $878 = ((($0)) + 16|0); - $879 = HEAP32[$878>>2]|0; - $880 = $879 << 8; - $881 = $880 | $$0948; - HEAP32[$878>>2] = $881; - $882 = (($$931190) + 1)|0; - $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; - label = 227; - break; - } - case 242: { - label = 0; - $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; - label = 243; - continue L46; - break; - } - case 243: { - label = 0; - HEAP32[$0>>2] = $$sink30; - $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; - label = 244; - continue L46; - break; - } - case 244: { - label = 0; - HEAP32[$24>>2] = $$100; - HEAP32[$26>>2] = $$1001409; - HEAP32[$28>>2] = $$941085; - HEAP32[$30>>2] = $$961193; - HEAP32[$32>>2] = $$961299; - HEAP32[$34>>2] = $$901506; - $883 = $$991606; - $884 = $1; - $885 = (($883) - ($884))|0; - HEAP32[$2>>2] = $885; - $886 = $$941701; - $887 = $4; - $888 = (($886) - ($887))|0; - HEAP32[$5>>2] = $888; - $889 = $6 & 9; - $890 = ($889|0)!=(0); - $891 = ($$1961|0)>(-1); - $or$cond29 = $890 & $891; - if ($or$cond29) { - break L46; - } else { - $$0951 = $$1961; - label = 258; - break L46; - } - break; - } - } - switch (label|0) { - case 19: { - label = 0; - $$01413 = $$01413$shrunk&255; - $78 = $$01413 << $$8; - $79 = $78 | $$81317; - $80 = (($$8) + 8)|0; - $81 = ($80>>>0)<(3); - if ($81) { - $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; - label = 15; - } else { - $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; - label = 20; - } - break; - } - case 33: { - label = 0; - $$01411 = $$01411$shrunk&255; - $109 = $$01411 << $$17; - $110 = $109 | $$171326; - $111 = (($$17) + 8)|0; - $112 = ($$17>>>0)>(4294967287); - if ($112) { - $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; - label = 29; - } else { - $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; - label = 34; - } - break; - } - case 50: { - label = 0; - $$01410 = $$01410$shrunk&255; - $155 = $$01410 << $$26; - $156 = $155 | $$261335; - $157 = (($$26) + 8)|0; - $158 = ($$26>>>0)>(4294967287); - if ($158) { - $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; - label = 46; - } else { - $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; - label = 51; - } - break; - } - case 67: { - label = 0; - $$01300 = $$01300$shrunk&255; - $196 = $$01300 << $$37; - $197 = $196 | $$371346; - $198 = (($$37) + 8)|0; - $199 = (4716 + ($$361133)|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200 << 24 >> 24; - $202 = ($198>>>0)<($201>>>0); - if ($202) { - $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; - label = 63; - } else { - $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; - label = 68; - } - break; - } - case 76: { - label = 0; - $$01202 = $$01202$shrunk&255; - $227 = $$01202 << $$42; - $228 = $227 | $$421351; - $229 = (($$42) + 8)|0; - $230 = ($229>>>0)<(3); - if ($230) { - $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; - label = 72; - } else { - $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; - label = 77; - } - break; - } - case 117: { - label = 0; - $$0980 = $$0980$shrunk&255; - $455 = $$0980 << $$49; - $456 = $455 | $$491358; - $457 = (($$49) + 8)|0; - $458 = ($457>>>0)<(15); - if ($458) { - $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; - label = 108; - } else { - $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; - label = 119; - } - break; - } - case 131: { - label = 0; - $$0979 = $$0979$shrunk&255; - $506 = $$0979 << $$54; - $507 = $506 | $$541363; - $508 = (($$54) + 8)|0; - $509 = ($508>>>0)<($$541257>>>0); - if ($509) { - $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; - label = 127; - } else { - $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; - label = 132; - } - break; - } - case 154: { - label = 0; - $$0971 = $$0971$shrunk&255; - $575 = $$0971 << $$62; - $576 = $575 | $$621371; - $577 = (($$62) + 8)|0; - $578 = ($577>>>0)<(15); - if ($578) { - $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; - label = 145; - } else { - $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; - label = 156; - } - break; - } - case 183: { - label = 0; - $$0959 = $$0959$shrunk&255; - $699 = $$0959 << $$71; - $700 = $699 | $$711380; - $701 = (($$71) + 8)|0; - $702 = ($701>>>0)<($$681271>>>0); - if ($702) { - $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; - label = 179; - } else { - $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; - label = 184; - } - break; - } - case 196: { - label = 0; - $$0952 = $$0952$shrunk&255; - $740 = $$0952 << $$76; - $741 = $740 | $$761385; - $742 = (($$76) + 8)|0; - $743 = ($742>>>0)<(15); - if ($743) { - $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; - label = 187; - } else { - $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; - label = 198; - } - break; - } - case 207: { - label = 0; - $$0950 = $$0950$shrunk&255; - $787 = $$0950 << $$80; - $788 = $787 | $$801389; - $789 = (($$80) + 8)|0; - $790 = ($789>>>0)<($$761279>>>0); - if ($790) { - $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; - label = 203; - } else { - $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; - label = 208; - } - break; - } - case 227: { - label = 0; - $852 = ($$871184>>>0)<(4); - if (!($852)) { - $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; - label = 242; - continue L46; - } - $853 = ($$91|0)==(0); - if (!($853)) { - $854 = ($$91>>>0)<(8); - if ($854) { - $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; - label = 230; - break; - } else { - $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; - label = 235; - break; - } - } - $868 = ($$901597>>>0)<($10>>>0); - if (!($868)) { - $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; - label = 237; - continue L46; - } - $875 = ((($$901597)) + 1|0); - $876 = HEAP8[$$901597>>0]|0; - $877 = $876&255; - $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; - label = 241; - continue L46; - break; - } - case 234: { - label = 0; - $$0947 = $$0947$shrunk&255; - $861 = $$0947 << $$94; - $862 = $861 | $$941403; - $863 = (($$94) + 8)|0; - $864 = ($$94>>>0)>(4294967287); - if ($864) { - $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; - label = 230; - } else { - $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; - label = 235; - } - break; - } - } - L119: do { - if ((label|0) == 15) { - label = 0; - $72 = ($$51512>>>0)<($10>>>0); - if ($72) { - $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; - label = 18; - continue L46; - } else { - $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; - label = 16; - continue L46; - } - } - else if ((label|0) == 20) { - label = 0; - $82 = $$91318 & 7; - $83 = ((($0)) + 20|0); - HEAP32[$83>>2] = $82; - $84 = $$91318 >>> 3; - $85 = (($$9) + -3)|0; - $86 = $82 >>> 1; - $87 = ((($0)) + 24|0); - HEAP32[$87>>2] = $86; - $trunc = $86&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; - label = 25; - continue L46; - break; - } - case 3: { - $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; - label = 60; - continue L46; - break; - } - case 1: { - break; - } - default: { - $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; - label = 61; - break L119; - } - } - $240 = ((($0)) + 44|0); - HEAP32[$240>>2] = 288; - $241 = ((($0)) + 48|0); - HEAP32[$241>>2] = 32; - $242 = ((($0)) + 3552|0); - ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; - $scevgep19611962 = ((($0)) + 64|0); - _memset(($scevgep19611962|0),8,144)|0; - $scevgep1959 = ((($0)) + 208|0); - dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1957 = ((($0)) + 320|0); - dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1955 = ((($0)) + 344|0); - $243 = $scevgep1955; - $244 = $243; - HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; - $245 = (($243) + 4)|0; - $246 = $245; - HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; - $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; - label = 80; - } - else if ((label|0) == 230) { - label = 0; - $855 = ($$911598>>>0)<($10>>>0); - if ($855) { - $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; - label = 233; - continue L46; - } else { - $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; - label = 231; - continue L46; - } - } - else if ((label|0) == 235) { - label = 0; - $865 = $$951404 & 255; - $866 = $$951404 >>> 8; - $867 = (($$95) + -8)|0; - $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; - label = 241; - continue L46; - } - } while(0); - L125: while(1) { - L126: switch (label|0) { - case 26: { - label = 0; - $100 = ($$131110>>>0)<(4); - if (!($100)) { - $127 = ((($0)) + 10528|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = ((($0)) + 10529|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 << 8; - $134 = $133 | $129; - $135 = ((($0)) + 10530|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = ((($0)) + 10531|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $140 << 8; - $142 = $141 | $137; - $143 = $142 ^ 65535; - $144 = ($134|0)==($143|0); - if ($144) { - $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; - label = 44; - continue L125; - } else { - $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; - label = 43; - continue L46; - } - } - $101 = ($$14|0)==(0); - if (!($101)) { - $102 = ($$14>>>0)<(8); - if ($102) { - $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; - label = 29; - continue L125; - } else { - $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; - label = 34; - continue L125; - } - } - $117 = ($$131520>>>0)<($10>>>0); - if (!($117)) { - $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; - label = 36; - continue L46; - } - $123 = ((($$131520)) + 1|0); - $124 = HEAP8[$$131520>>0]|0; - $125 = (((($0)) + 10528|0) + ($$131110)|0); - HEAP8[$125>>0] = $124; - $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; - label = 41; - continue L125; - break; - } - case 29: { - label = 0; - $103 = ($$141521>>>0)<($10>>>0); - if ($103) { - $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; - label = 32; - continue L46; - } else { - $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; - label = 30; - continue L46; - } - break; - } - case 34: { - label = 0; - $113 = $$181327&255; - $114 = (((($0)) + 10528|0) + ($$171114)|0); - HEAP8[$114>>0] = $113; - $115 = $$181327 >>> 8; - $116 = (($$18) + -8)|0; - $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; - label = 41; - continue L125; - break; - } - case 41: { - label = 0; - $126 = (($$201117) + 1)|0; - $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; - label = 26; - continue L125; - break; - } - case 44: { - label = 0; - $145 = ($$221119|0)!=(0); - $146 = ($$23|0)!=(0); - $147 = $145 & $146; - if (!($147)) { - $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; - label = 54; - continue L125; - } - $148 = ($$23>>>0)<(8); - if ($148) { - $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; - label = 46; - continue L125; - } else { - $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; - label = 51; - continue L125; - } - break; - } - case 46: { - label = 0; - $149 = ($$231530>>>0)<($10>>>0); - if ($149) { - $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; - label = 49; - continue L46; - } else { - $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; - label = 47; - continue L46; - } - break; - } - case 51: { - label = 0; - $159 = $$271336 & 255; - $160 = $$271336 >>> 8; - $161 = (($$27) + -8)|0; - $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; - label = 52; - continue L46; - break; - } - case 54: { - label = 0; - $166 = ($$281125|0)==(0); - if ($166) { - $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; - label = 220; - break L125; - } else { - $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; - label = 55; - continue L46; - } - break; - } - case 61: { - label = 0; - $185 = ($$331130>>>0)<(3); - if ($185) { - $186 = (4716 + ($$331130)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 << 24 >> 24; - $189 = ($$34>>>0)<($188>>>0); - if ($189) { - $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; - label = 63; - continue L125; - } else { - $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; - label = 68; - continue L125; - } - } else { - $216 = ((($0)) + 7040|0); - _memset(($216|0),0,288)|0; - $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; - label = 70; - break; - } - break; - } - case 63: { - label = 0; - $190 = ($$341541>>>0)<($10>>>0); - if ($190) { - $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; - label = 66; - continue L46; - } else { - $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; - label = 64; - continue L46; - } - break; - } - case 68: { - label = 0; - $203 = (4716 + ($$371134)|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204 << 24 >> 24; - $206 = 1 << $205; - $207 = (($206) + -1)|0; - $208 = $207 & $$381347; - $209 = (((($0)) + 44|0) + ($$371134<<2)|0); - $210 = $$381347 >>> $205; - $211 = (($$38) - ($205))|0; - $212 = (12 + ($$371134<<2)|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($208) + ($213))|0; - HEAP32[$209>>2] = $214; - $215 = (($$371134) + 1)|0; - $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; - label = 61; - continue L125; - break; - } - case 72: { - label = 0; - $221 = ($$391546>>>0)<($10>>>0); - if ($221) { - $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; - label = 75; - continue L46; - } else { - $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; - label = 73; - continue L46; - } - break; - } - case 77: { - label = 0; - $231 = $$431352 & 7; - $232 = $$431352 >>> 3; - $233 = (($$43) + -3)|0; - $234 = $231&255; - $235 = (7513 + ($$421139)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (((($0)) + 7040|0) + ($237)|0); - HEAP8[$238>>0] = $234; - $239 = (($$421139) + 1)|0; - $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; - label = 70; - break; - } - case 80: { - label = 0; - $247 = ((($0)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)>(-1); - if ($249) { - dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); - _memset(($250|0),0,3200)|0; - $251 = HEAP32[$247>>2]|0; - $252 = (((($0)) + 44|0) + ($251<<2)|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($253|0)==(0); - if (!($254)) { - $255 = HEAP32[$247>>2]|0; - $256 = (((($0)) + 44|0) + ($255<<2)|0); - $257 = HEAP32[$256>>2]|0; - $$010951864 = 0; - while(1) { - $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (($8) + ($260<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$261>>2] = $263; - $264 = (($$010951864) + 1)|0; - $265 = ($264>>>0)<($257>>>0); - if ($265) { - $$010951864 = $264; - } else { - break; - } - } - } - $266 = ((($7)) + 4|0); - HEAP32[$266>>2] = 0; - HEAP32[$7>>2] = 0; - $267 = ((($8)) + 4|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 << 1; - $270 = ((($7)) + 8|0); - HEAP32[$270>>2] = $269; - $271 = ((($8)) + 8|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) + ($268))|0; - $274 = (($272) + ($269))|0; - $275 = $274 << 1; - $276 = ((($7)) + 12|0); - HEAP32[$276>>2] = $275; - $277 = ((($8)) + 12|0); - $278 = HEAP32[$277>>2]|0; - $279 = (($278) + ($273))|0; - $280 = (($278) + ($275))|0; - $281 = $280 << 1; - $282 = ((($7)) + 16|0); - HEAP32[$282>>2] = $281; - $283 = ((($8)) + 16|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) + ($279))|0; - $286 = (($284) + ($281))|0; - $287 = $286 << 1; - $288 = ((($7)) + 20|0); - HEAP32[$288>>2] = $287; - $289 = ((($8)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + ($285))|0; - $292 = (($290) + ($287))|0; - $293 = $292 << 1; - $294 = ((($7)) + 24|0); - HEAP32[$294>>2] = $293; - $295 = ((($8)) + 24|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + ($291))|0; - $298 = (($296) + ($293))|0; - $299 = $298 << 1; - $300 = ((($7)) + 28|0); - HEAP32[$300>>2] = $299; - $301 = ((($8)) + 28|0); - $302 = HEAP32[$301>>2]|0; - $303 = (($302) + ($297))|0; - $304 = (($302) + ($299))|0; - $305 = $304 << 1; - $306 = ((($7)) + 32|0); - HEAP32[$306>>2] = $305; - $307 = ((($8)) + 32|0); - $308 = HEAP32[$307>>2]|0; - $309 = (($308) + ($303))|0; - $310 = (($308) + ($305))|0; - $311 = $310 << 1; - $312 = ((($7)) + 36|0); - HEAP32[$312>>2] = $311; - $313 = ((($8)) + 36|0); - $314 = HEAP32[$313>>2]|0; - $315 = (($314) + ($309))|0; - $316 = (($314) + ($311))|0; - $317 = $316 << 1; - $318 = ((($7)) + 40|0); - HEAP32[$318>>2] = $317; - $319 = ((($8)) + 40|0); - $320 = HEAP32[$319>>2]|0; - $321 = (($320) + ($315))|0; - $322 = (($320) + ($317))|0; - $323 = $322 << 1; - $324 = ((($7)) + 44|0); - HEAP32[$324>>2] = $323; - $325 = ((($8)) + 44|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($321))|0; - $328 = (($326) + ($323))|0; - $329 = $328 << 1; - $330 = ((($7)) + 48|0); - HEAP32[$330>>2] = $329; - $331 = ((($8)) + 48|0); - $332 = HEAP32[$331>>2]|0; - $333 = (($332) + ($327))|0; - $334 = (($332) + ($329))|0; - $335 = $334 << 1; - $336 = ((($7)) + 52|0); - HEAP32[$336>>2] = $335; - $337 = ((($8)) + 52|0); - $338 = HEAP32[$337>>2]|0; - $339 = (($338) + ($333))|0; - $340 = (($338) + ($335))|0; - $341 = $340 << 1; - $342 = ((($7)) + 56|0); - HEAP32[$342>>2] = $341; - $343 = ((($8)) + 56|0); - $344 = HEAP32[$343>>2]|0; - $345 = (($344) + ($339))|0; - $346 = (($344) + ($341))|0; - $347 = $346 << 1; - $348 = ((($7)) + 60|0); - HEAP32[$348>>2] = $347; - $349 = ((($8)) + 60|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) + ($345))|0; - $352 = (($350) + ($347))|0; - $353 = $352 << 1; - $354 = ((($7)) + 64|0); - HEAP32[$354>>2] = $353; - $355 = ($353|0)!=(65536); - $356 = ($351>>>0)>(1); - $or$cond = $355 & $356; - if ($or$cond) { - $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; - label = 86; - continue L46; - } - $357 = HEAP32[$247>>2]|0; - $358 = (((($0)) + 44|0) + ($357<<2)|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==(0); - if ($360) { - $$lcssa1779 = $357; - } else { - $$010911856 = 0;$$011971855 = -1; - while(1) { - $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($362<<24>>24)==(0); - L142: do { - if ($364) { - $$41201 = $$011971855; - } else { - $365 = (($7) + ($363<<2)|0); - $366 = HEAP32[$365>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$365>>2] = $367; - $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; - while(1) { - $368 = $$010881838 << 1; - $369 = $$010861840 & 1; - $370 = $369 | $368; - $371 = (($$010871839) + -1)|0; - $372 = $$010861840 >>> 1; - $373 = ($371|0)==(0); - if ($373) { - break; - } else { - $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; - } - } - $374 = ($362&255)<(11); - if ($374) { - $375 = $363 << 9; - $376 = $375 | $$010911856; - $377 = $376&65535; - $378 = ($370>>>0)<(1024); - if (!($378)) { - $$41201 = $$011971855; - break; - } - $379 = 1 << $363; - $$110891852 = $370; - while(1) { - $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); - HEAP16[$380>>1] = $377; - $381 = (($$110891852) + ($379))|0; - $382 = ($381>>>0)<(1024); - if ($382) { - $$110891852 = $381; - } else { - $$41201 = $$011971855; - break L142; - } - } - } - $383 = $370 & 1023; - $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); - $385 = HEAP16[$384>>1]|0; - $386 = $385 << 16 >> 16; - $387 = ($385<<16>>16)==(0); - if ($387) { - $388 = (($$011971855) + -2)|0; - $389 = $$011971855&65535; - HEAP16[$384>>1] = $389; - $$01194 = $$011971855;$$11198 = $388; - } else { - $$01194 = $386;$$11198 = $$011971855; - } - $390 = $$010881838 >>> 9; - $391 = ($362&255)>(11); - $392 = $390 & 1; - $393 = (($392) - ($$01194))|0; - $394 = (($393) + -1)|0; - if ($391) { - $395 = $390 & 4194303; - $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; - while(1) { - $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); - $398 = HEAP16[$396>>1]|0; - $399 = ($398<<16>>16)==(0); - if ($399) { - $400 = $$211991845&65535; - HEAP16[$396>>1] = $400; - $401 = (($$211991845) + -2)|0; - $$21196 = $$211991845;$$31200 = $401; - } else { - $402 = $398 << 16 >> 16; - $$21196 = $402;$$31200 = $$211991845; - } - $403 = (($$010941846) + -1)|0; - $404 = ($403>>>0)>(11); - $405 = $406 >>> 1; - $407 = $405 & 1; - $408 = (($407) - ($$21196))|0; - $409 = (($408) + -1)|0; - if ($404) { - $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; - } else { - $$21199$lcssa = $$31200;$$lcssa1778 = $409; - break; - } - } - } else { - $$21199$lcssa = $$11198;$$lcssa1778 = $394; - } - $410 = $$010911856&65535; - $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); - HEAP16[$411>>1] = $410; - $$41201 = $$21199$lcssa; - } - } while(0); - $412 = (($$010911856) + 1)|0; - $413 = HEAP32[$247>>2]|0; - $414 = (((($0)) + 44|0) + ($413<<2)|0); - $415 = HEAP32[$414>>2]|0; - $416 = ($412>>>0)<($415>>>0); - if ($416) { - $$010911856 = $412;$$011971855 = $$41201; - } else { - $$lcssa1779 = $413; - break; - } - } - } - $417 = ($$lcssa1779|0)==(2); - if ($417) { - $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; - label = 105; - } else { - $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; - label = 138; - } - } else { - $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; - label = 139; - } - break; - } - case 108: { - label = 0; - $429 = $$471356 & 1023; - $430 = (((($0)) + 7328|0) + ($429<<1)|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431 << 16 >> 16; - $433 = ($431<<16>>16)>(-1); - if ($433) { - $434 = $432 >> 9; - $435 = (($434) + -1)|0; - $436 = ($435>>>0)<($$47>>>0); - if ($436) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } else { - label = 113; - break L125; - } - } - $437 = ($$47>>>0)>(10); - if ($437) { - $$0981 = 10;$$0984 = $432; - } else { - label = 113; - break L125; - } - while(1) { - $438 = $$0984 ^ -1; - $439 = $$471356 >>> $$0981; - $440 = $439 & 1; - $441 = (($440) + ($438))|0; - $442 = (((($0)) + 9376|0) + ($441<<1)|0); - $443 = HEAP16[$442>>1]|0; - $444 = ($443<<16>>16)<(0); - if (!($444)) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } - $445 = (($$0981) + 1)|0; - $446 = $443 << 16 >> 16; - $447 = (($$0981) + 2)|0; - $448 = ($$47>>>0)<($447>>>0); - if ($448) { - label = 113; - break L125; - } else { - $$0981 = $445;$$0984 = $446; - } - } - break; - } - case 119: { - label = 0; - $471 = $$501359 & 1023; - $472 = (((($0)) + 7328|0) + ($471<<1)|0); - $473 = HEAP16[$472>>1]|0; - $474 = $473 << 16 >> 16; - $475 = ($473<<16>>16)>(-1); - if ($475) { - $476 = $474 >> 9; - $477 = $474 & 511; - $$2983 = $476;$$2986 = $477; - } else { - $$1982 = 10;$$1985 = $474; - while(1) { - $478 = $$1985 ^ -1; - $479 = (($$1982) + 1)|0; - $480 = $$501359 >>> $$1982; - $481 = $480 & 1; - $482 = (($481) + ($478))|0; - $483 = (((($0)) + 9376|0) + ($482<<1)|0); - $484 = HEAP16[$483>>1]|0; - $485 = $484 << 16 >> 16; - $486 = ($484<<16>>16)<(0); - if ($486) { - $$1982 = $479;$$1985 = $485; - } else { - $$2983 = $479;$$2986 = $485; - break; - } - } - } - $487 = $$501359 >>> $$2983; - $488 = (($$50) - ($$2983))|0; - $489 = ($$2986>>>0)<(16); - if ($489) { - $490 = $$2986&255; - $491 = (($$491146) + 1)|0; - $492 = (((($0)) + 10532|0) + ($$491146)|0); - HEAP8[$492>>0] = $490; - $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; - label = 105; - break; - } - $493 = ($$2986|0)!=(16); - $494 = ($$491146|0)!=(0); - $or$cond24 = $494 | $493; - if (!($or$cond24)) { - $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; - label = 125; - continue L46; - } - $495 = (($$2986) + -16)|0; - $496 = (4720 + ($495)|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497 << 24 >> 24; - $499 = ($488>>>0)<($498>>>0); - if ($499) { - $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; - label = 127; - continue L125; - } else { - $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; - label = 132; - continue L125; - } - break; - } - case 127: { - label = 0; - $500 = ($$511558>>>0)<($10>>>0); - if ($500) { - $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; - label = 130; - continue L46; - } else { - $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; - label = 128; - continue L46; - } - break; - } - case 132: { - label = 0; - $510 = 1 << $$551258; - $511 = (($510) + -1)|0; - $512 = $511 & $$551364; - $513 = $$551364 >>> $$551258; - $514 = (($$55) - ($$551258))|0; - $515 = (($$531044) + -16)|0; - $516 = (4724 + ($515)|0); - $517 = HEAP8[$516>>0]|0; - $518 = $517 << 24 >> 24; - $519 = (($518) + ($512))|0; - $520 = (((($0)) + 10532|0) + ($$541151)|0); - $521 = ($$531044|0)==(16); - if ($521) { - $522 = (($$541151) + -1)|0; - $523 = (((($0)) + 10532|0) + ($522)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - _memset(($520|0),($526|0),($519|0))|0; - $528 = (($519) + ($$541151))|0; - $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; - label = 105; - break; - } - case 140: { - label = 0; - $539 = $10; - $540 = $$581565$ph; - $541 = (($539) - ($540))|0; - $542 = ($541|0)<(4); - $543 = ($$59$ph>>>0)<(15); - L241: do { - if ($542) { - $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; - } else { - $544 = $12; - $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; - while(1) { - $545 = $$5416611868; - $546 = (($544) - ($545))|0; - $547 = ($546|0)<(2); - if ($547) { - $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; - break L241; - } - if ($965) { - $613 = HEAP8[$$5815651869>>0]|0; - $614 = $613&255; - $615 = ((($$5815651869)) + 1|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $618 = $617 << 8; - $619 = $618 | $614; - $620 = $619 << $$591872; - $621 = $620 | $$5913681870; - $622 = ((($$5815651869)) + 2|0); - $623 = (($$591872) + 16)|0; - $$641571 = $622;$$65 = $623;$$651374 = $621; - } else { - $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; - } - $624 = $$651374 & 1023; - $625 = (((($0)) + 352|0) + ($624<<1)|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626 << 16 >> 16; - $628 = ($626<<16>>16)>(-1); - if ($628) { - $629 = $627 >> 9; - $$1964 = $629;$$1968 = $627; - } else { - $$0963 = 10;$$0967 = $627; - while(1) { - $630 = $$0967 ^ -1; - $631 = (($$0963) + 1)|0; - $632 = $$651374 >>> $$0963; - $633 = $632 & 1; - $634 = (($633) + ($630))|0; - $635 = (((($0)) + 2400|0) + ($634<<1)|0); - $636 = HEAP16[$635>>1]|0; - $637 = $636 << 16 >> 16; - $638 = ($636<<16>>16)<(0); - if ($638) { - $$0963 = $631;$$0967 = $637; - } else { - $$1964 = $631;$$1968 = $637; - break; - } - } - } - $639 = $$651374 >>> $$1964; - $640 = (($$65) - ($$1964))|0; - $641 = $$1968 & 256; - $642 = ($641|0)==(0); - if (!($642)) { - $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; - label = 176; - break L126; - } - $643 = ($640>>>0)<(15); - if ($643) { - $644 = HEAP8[$$641571>>0]|0; - $645 = $644&255; - $646 = ((($$641571)) + 1|0); - $647 = HEAP8[$646>>0]|0; - $648 = $647&255; - $649 = $648 << 8; - $650 = $649 | $645; - $651 = $650 << $640; - $652 = $651 | $639; - $653 = ((($$641571)) + 2|0); - $654 = (($640) + 16)|0; - $$651572 = $653;$$66 = $654;$$661375 = $652; - } else { - $$651572 = $$641571;$$66 = $640;$$661375 = $639; - } - $655 = $$661375 & 1023; - $656 = (((($0)) + 352|0) + ($655<<1)|0); - $657 = HEAP16[$656>>1]|0; - $658 = $657 << 16 >> 16; - $659 = ($657<<16>>16)>(-1); - if ($659) { - $660 = $658 >> 9; - $$3966 = $660;$$3970 = $658; - } else { - $$2965 = 10;$$2969 = $658; - while(1) { - $661 = $$2969 ^ -1; - $662 = (($$2965) + 1)|0; - $663 = $$661375 >>> $$2965; - $664 = $663 & 1; - $665 = (($664) + ($661))|0; - $666 = (((($0)) + 2400|0) + ($665<<1)|0); - $667 = HEAP16[$666>>1]|0; - $668 = $667 << 16 >> 16; - $669 = ($667<<16>>16)<(0); - if ($669) { - $$2965 = $662;$$2969 = $668; - } else { - $$3966 = $662;$$3970 = $668; - break; - } - } - } - $670 = $$661375 >>> $$3966; - $671 = (($$66) - ($$3966))|0; - $672 = $$1968&255; - HEAP8[$$5416611868>>0] = $672; - $673 = $$3970 & 256; - $674 = ($673|0)==(0); - if (!($674)) { - break; - } - $676 = $$3970&255; - $677 = ((($$5416611868)) + 1|0); - HEAP8[$677>>0] = $676; - $678 = ((($$5416611868)) + 2|0); - $679 = $$651572; - $680 = (($539) - ($679))|0; - $681 = ($680|0)<(4); - $682 = ($671>>>0)<(15); - if ($681) { - $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; - break L241; - } else { - $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; - } - } - $675 = ((($$5416611868)) + 1|0); - $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; - label = 176; - break L126; - } - } while(0); - if (!($$lcssa1799)) { - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; - label = 156; - continue L125; - } - $548 = ($$lcssa1802|0)<(2); - if ($548) { - $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; - label = 145; - continue L125; - } - $579 = HEAP8[$$581565$lcssa>>0]|0; - $580 = $579&255; - $581 = $580 << $$59$lcssa; - $582 = ((($$581565$lcssa)) + 1|0); - $583 = HEAP8[$582>>0]|0; - $584 = $583&255; - $585 = (($$59$lcssa) + 8)|0; - $586 = $584 << $585; - $587 = $581 | $$591368$lcssa; - $588 = $587 | $586; - $589 = ((($$581565$lcssa)) + 2|0); - $590 = (($$59$lcssa) + 16)|0; - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; - label = 156; - continue L125; - break; - } - case 145: { - label = 0; - $549 = $$601369 & 1023; - $550 = (((($0)) + 352|0) + ($549<<1)|0); - $551 = HEAP16[$550>>1]|0; - $552 = $551 << 16 >> 16; - $553 = ($551<<16>>16)>(-1); - if ($553) { - $554 = $552 >> 9; - $555 = (($554) + -1)|0; - $556 = ($555>>>0)<($$60>>>0); - if ($556) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } else { - label = 150; - break L125; - } - } - $557 = ($$60>>>0)>(10); - if ($557) { - $$0972 = 10;$$0975 = $552; - } else { - label = 150; - break L125; - } - while(1) { - $558 = $$0975 ^ -1; - $559 = $$601369 >>> $$0972; - $560 = $559 & 1; - $561 = (($560) + ($558))|0; - $562 = (((($0)) + 2400|0) + ($561<<1)|0); - $563 = HEAP16[$562>>1]|0; - $564 = ($563<<16>>16)<(0); - if (!($564)) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } - $565 = (($$0972) + 1)|0; - $566 = $563 << 16 >> 16; - $567 = (($$0972) + 2)|0; - $568 = ($$60>>>0)<($567>>>0); - if ($568) { - label = 150; - break L125; - } else { - $$0972 = $565;$$0975 = $566; - } - } - break; - } - case 156: { - label = 0; - $591 = $$631372 & 1023; - $592 = (((($0)) + 352|0) + ($591<<1)|0); - $593 = HEAP16[$592>>1]|0; - $594 = $593 << 16 >> 16; - $595 = ($593<<16>>16)>(-1); - if ($595) { - $596 = $594 >> 9; - $597 = $594 & 511; - $$2974 = $596;$$2977 = $597; - } else { - $$1973 = 10;$$1976 = $594; - while(1) { - $598 = $$1976 ^ -1; - $599 = (($$1973) + 1)|0; - $600 = $$631372 >>> $$1973; - $601 = $600 & 1; - $602 = (($601) + ($598))|0; - $603 = (((($0)) + 2400|0) + ($602<<1)|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = ($604<<16>>16)<(0); - if ($606) { - $$1973 = $599;$$1976 = $605; - } else { - $$2974 = $599;$$2977 = $605; - break; - } - } - } - $607 = $$631372 >>> $$2974; - $608 = (($$63) - ($$2974))|0; - $609 = ($$2977>>>0)>(255); - if ($609) { - $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; - label = 176; - } else { - $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; - label = 160; - continue L46; - } - break; - } - case 179: { - label = 0; - $693 = ($$681575>>>0)<($10>>>0); - if ($693) { - $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; - label = 182; - continue L46; - } else { - $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; - label = 180; - continue L46; - } - break; - } - case 184: { - label = 0; - $703 = 1 << $$691272; - $704 = (($703) + -1)|0; - $705 = $704 & $$721381; - $706 = $$721381 >>> $$691272; - $707 = (($$72) - ($$691272))|0; - $708 = (($705) + ($$681165))|0; - $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; - label = 185; - break; - } - case 187: { - label = 0; - $714 = $$741383 & 1023; - $715 = (((($0)) + 3840|0) + ($714<<1)|0); - $716 = HEAP16[$715>>1]|0; - $717 = $716 << 16 >> 16; - $718 = ($716<<16>>16)>(-1); - if ($718) { - $719 = $717 >> 9; - $720 = (($719) + -1)|0; - $721 = ($720>>>0)<($$74>>>0); - if ($721) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } else { - label = 192; - break L125; - } - } - $722 = ($$74>>>0)>(10); - if ($722) { - $$0953 = 10;$$0956 = $717; - } else { - label = 192; - break L125; - } - while(1) { - $723 = $$0956 ^ -1; - $724 = $$741383 >>> $$0953; - $725 = $724 & 1; - $726 = (($725) + ($723))|0; - $727 = (((($0)) + 5888|0) + ($726<<1)|0); - $728 = HEAP16[$727>>1]|0; - $729 = ($728<<16>>16)<(0); - if (!($729)) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } - $730 = (($$0953) + 1)|0; - $731 = $728 << 16 >> 16; - $732 = (($$0953) + 2)|0; - $733 = ($$74>>>0)<($732>>>0); - if ($733) { - label = 192; - break L125; - } else { - $$0953 = $730;$$0956 = $731; - } - } - break; - } - case 198: { - label = 0; - $756 = $$771386 & 1023; - $757 = (((($0)) + 3840|0) + ($756<<1)|0); - $758 = HEAP16[$757>>1]|0; - $759 = $758 << 16 >> 16; - $760 = ($758<<16>>16)>(-1); - if ($760) { - $761 = $759 >> 9; - $762 = $759 & 511; - $$2955 = $761;$$2958 = $762; - } else { - $$1954 = 10;$$1957 = $759; - while(1) { - $763 = $$1957 ^ -1; - $764 = (($$1954) + 1)|0; - $765 = $$771386 >>> $$1954; - $766 = $765 & 1; - $767 = (($766) + ($763))|0; - $768 = (((($0)) + 5888|0) + ($767<<1)|0); - $769 = HEAP16[$768>>1]|0; - $770 = $769 << 16 >> 16; - $771 = ($769<<16>>16)<(0); - if ($771) { - $$1954 = $764;$$1957 = $770; - } else { - $$2955 = $764;$$2958 = $770; - break; - } - } - } - $772 = $$771386 >>> $$2955; - $773 = (($$77) - ($$2955))|0; - $774 = (3472 + ($$2958<<2)|0); - $775 = HEAP32[$774>>2]|0; - $776 = (3344 + ($$2958<<2)|0); - $777 = HEAP32[$776>>2]|0; - $778 = (($$2958) + -4)|0; - $779 = ($778>>>0)<(26); - if ($779) { - $780 = ($773>>>0)<($775>>>0); - if ($780) { - $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; - label = 203; - continue L125; - } else { - $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; - label = 208; - continue L125; - } - } else { - $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; - label = 209; - } - break; - } - case 203: { - label = 0; - $781 = ($$771584>>>0)<($10>>>0); - if ($781) { - $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; - label = 206; - continue L46; - } else { - $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; - label = 204; - continue L46; - } - break; - } - case 208: { - label = 0; - $791 = 1 << $$771280; - $792 = (($791) + -1)|0; - $793 = $792 & $$811390; - $794 = $$811390 >>> $$771280; - $795 = (($$81) - ($$771280))|0; - $796 = (($793) + ($$751066))|0; - $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; - label = 209; - break; - } - case 212: { - label = 0; - $807 = (($$801177) + -1)|0; - $808 = ($$801177|0)==(0); - if ($808) { - $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; - label = 139; - } else { - $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; - label = 213; - continue L46; - } - break; - } - } - do { - if ((label|0) == 70) { - label = 0; - $217 = ((($0)) + 52|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($$381135>>>0)<($218>>>0); - if ($219) { - $220 = ($$39>>>0)<(3); - if ($220) { - $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; - label = 72; - continue L125; - } else { - $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; - label = 77; - continue L125; - } - } else { - HEAP32[$217>>2] = 19; - $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; - label = 80; - continue L125; - } - } - else if ((label|0) == 105) { - label = 0; - $418 = ((($0)) + 44|0); - $419 = HEAP32[$418>>2]|0; - $420 = ((($0)) + 48|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + ($419))|0; - $423 = ($$451142>>>0)<($422>>>0); - if (!($423)) { - $529 = ($422|0)==($$451142|0); - if (!($529)) { - $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; - label = 136; - continue L46; - } - $530 = ((($0)) + 64|0); - $531 = ((($0)) + 10532|0); - _memcpy(($530|0),($531|0),($419|0))|0; - $532 = ((($0)) + 3552|0); - $533 = HEAP32[$418>>2]|0; - $534 = (((($0)) + 10532|0) + ($533)|0); - $535 = HEAP32[$420>>2]|0; - _memcpy(($532|0),($534|0),($535|0))|0; - $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; - label = 138; - break; - } - $424 = ($$46>>>0)<(15); - if (!($424)) { - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; - label = 119; - continue L125; - } - $425 = $10; - $426 = $$451552; - $427 = (($425) - ($426))|0; - $428 = ($427|0)<(2); - if ($428) { - $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; - label = 108; - continue L125; - } - $459 = HEAP8[$$451552>>0]|0; - $460 = $459&255; - $461 = $460 << $$46; - $462 = ((($$451552)) + 1|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = (($$46) + 8)|0; - $466 = $464 << $465; - $467 = $461 | $$461355; - $468 = $467 | $466; - $469 = ((($$451552)) + 2|0); - $470 = (($$46) + 16)|0; - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; - label = 119; - continue L125; - } - else if ((label|0) == 176) { - label = 0; - $683 = $$641161 & 511; - $684 = ($683|0)==(256); - if ($684) { - $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; - label = 220; - break L125; - } - $685 = (($683) + -257)|0; - $686 = (3220 + ($685<<2)|0); - $687 = HEAP32[$686>>2]|0; - $688 = (3096 + ($685<<2)|0); - $689 = HEAP32[$688>>2]|0; - $690 = (($683) + -265)|0; - $691 = ($690>>>0)<(20); - if ($691) { - $692 = ($$68>>>0)<($687>>>0); - if ($692) { - $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; - label = 179; - continue L125; - } else { - $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; - label = 184; - continue L125; - } - } else { - $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; - label = 185; - } - } - else if ((label|0) == 209) { - label = 0; - $797 = $$751682; - $798 = $3; - $799 = (($797) - ($798))|0; - $$not = ($799>>>0)>=($$761067>>>0); - $$not1747 = $14 ^ 1; - $brmerge = $$not | $$not1747; - if (!($brmerge)) { - $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; - label = 210; - continue L46; - } - $800 = (($799) - ($$761067))|0; - $801 = $800 & $$1753; - $802 = (($3) + ($801)|0); - $803 = ($$751682>>>0)>($802>>>0); - $804 = $803 ? $$751682 : $802; - $805 = (($804) + ($$781175)|0); - $806 = ($805>>>0)>($12>>>0); - if ($806) { - $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; - label = 212; - continue L125; - } else { - $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; - } - while(1) { - $816 = HEAP8[$$0978>>0]|0; - HEAP8[$$791686>>0] = $816; - $817 = ((($$0978)) + 1|0); - $818 = HEAP8[$817>>0]|0; - $819 = ((($$791686)) + 1|0); - HEAP8[$819>>0] = $818; - $820 = ((($$0978)) + 2|0); - $821 = HEAP8[$820>>0]|0; - $822 = ((($$791686)) + 2|0); - HEAP8[$822>>0] = $821; - $823 = ((($$791686)) + 3|0); - $824 = ((($$0978)) + 3|0); - $825 = (($$821179) + -3)|0; - $826 = ($825|0)>(2); - if ($826) { - $$0978 = $824;$$791686 = $823;$$821179 = $825; - } else { - break; - } - } - $827 = ($825|0)>(0); - if ($827) { - $828 = HEAP8[$824>>0]|0; - HEAP8[$823>>0] = $828; - $829 = ($825|0)==(1); - if (!($829)) { - $830 = ((($$0978)) + 4|0); - $831 = HEAP8[$830>>0]|0; - $832 = ((($$791686)) + 4|0); - HEAP8[$832>>0] = $831; - } - $833 = (($823) + ($825)|0); - $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } else { - $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } - } - } while(0); - if ((label|0) == 138) { - label = 0; - $536 = ((($0)) + 24|0); - $537 = HEAP32[$536>>2]|0; - $538 = (($537) + -1)|0; - HEAP32[$536>>2] = $538; - $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; - label = 80; - continue; - } - else if ((label|0) == 139) { - label = 0; - $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; - label = 140; - continue; - } - else if ((label|0) == 185) { - label = 0; - $709 = ($$73>>>0)<(15); - if (!($709)) { - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; - label = 198; - continue; - } - $710 = $10; - $711 = $$721579; - $712 = (($710) - ($711))|0; - $713 = ($712|0)<(2); - if ($713) { - $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; - label = 187; - continue; - } - $744 = HEAP8[$$721579>>0]|0; - $745 = $744&255; - $746 = $745 << $$73; - $747 = ((($$721579)) + 1|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748&255; - $750 = (($$73) + 8)|0; - $751 = $749 << $750; - $752 = $746 | $$731382; - $753 = $752 | $751; - $754 = ((($$721579)) + 2|0); - $755 = (($$73) + 16)|0; - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; - label = 198; - continue; - } - } - if ((label|0) == 113) { - label = 0; - $449 = ($$461553>>>0)<($10>>>0); - if ($449) { - $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; - label = 116; - continue; - } else { - $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; - label = 114; - continue; - } - } - else if ((label|0) == 150) { - label = 0; - $569 = ($$591566>>>0)<($10>>>0); - if ($569) { - $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; - label = 153; - continue; - } else { - $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; - label = 151; - continue; - } - } - else if ((label|0) == 192) { - label = 0; - $734 = ($$731580>>>0)<($10>>>0); - if ($734) { - $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; - label = 195; - continue; - } else { - $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; - label = 193; - continue; - } - } - else if ((label|0) == 220) { - label = 0; - $834 = ((($0)) + 20|0); - $835 = HEAP32[$834>>2]|0; - $836 = $835 & 1; - $837 = ($836|0)==(0); - if ($837) { - $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; - label = 14; - continue; - } - $838 = $6 & 1; - $839 = ($838|0)==(0); - if ($839) { - $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; - label = 242; - continue; - } else { - $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; - label = 226; - continue; - } - } - } - if ((label|0) == 258) { - STACKTOP = sp;return ($$0951|0); - } - $892 = ((($0)) + 28|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & 65535; - $895 = $893 >>> 16; - $896 = ($888|0)==(0); - if ($896) { - $$0937$lcssa = $895;$$0938$lcssa = $894; - } else { - $897 = (($888>>>0) % 5552)&-1; - $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; - while(1) { - $898 = ($$01834>>>0)>(7); - if ($898) { - $899 = (($$01834) + -8)|0; - $900 = $899 & -8; - $scevgep = ((($$09441830)) + 8|0); - $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; - while(1) { - $904 = HEAP8[$$19451815>>0]|0; - $905 = $904&255; - $906 = (($905) + ($$19391817))|0; - $907 = (($906) + ($$11818))|0; - $908 = ((($$19451815)) + 1|0); - $909 = HEAP8[$908>>0]|0; - $910 = $909&255; - $911 = (($906) + ($910))|0; - $912 = (($907) + ($911))|0; - $913 = ((($$19451815)) + 2|0); - $914 = HEAP8[$913>>0]|0; - $915 = $914&255; - $916 = (($911) + ($915))|0; - $917 = (($912) + ($916))|0; - $918 = ((($$19451815)) + 3|0); - $919 = HEAP8[$918>>0]|0; - $920 = $919&255; - $921 = (($916) + ($920))|0; - $922 = (($917) + ($921))|0; - $923 = ((($$19451815)) + 4|0); - $924 = HEAP8[$923>>0]|0; - $925 = $924&255; - $926 = (($921) + ($925))|0; - $927 = (($922) + ($926))|0; - $928 = ((($$19451815)) + 5|0); - $929 = HEAP8[$928>>0]|0; - $930 = $929&255; - $931 = (($926) + ($930))|0; - $932 = (($927) + ($931))|0; - $933 = ((($$19451815)) + 6|0); - $934 = HEAP8[$933>>0]|0; - $935 = $934&255; - $936 = (($931) + ($935))|0; - $937 = (($932) + ($936))|0; - $938 = ((($$19451815)) + 7|0); - $939 = HEAP8[$938>>0]|0; - $940 = $939&255; - $941 = (($936) + ($940))|0; - $942 = (($937) + ($941))|0; - $943 = (($$09411816) + 8)|0; - $944 = ((($$19451815)) + 8|0); - $945 = $943 | 7; - $946 = ($945>>>0)<($$01834>>>0); - if ($946) { - $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; - } else { - break; - } - } - $901 = (($900) + 8)|0; - $scevgep1947 = (($scevgep) + ($900)|0); - $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; - } else { - $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; - } - $902 = ($$01834>>>0)>($$0941$lcssa>>>0); - if ($902) { - $903 = (($$01834) - ($$0941$lcssa))|0; - $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; - while(1) { - $947 = ((($$29461822)) + 1|0); - $948 = HEAP8[$$29461822>>0]|0; - $949 = $948&255; - $950 = (($949) + ($$29401824))|0; - $951 = (($950) + ($$21825))|0; - $952 = (($$19421823) + 1)|0; - $exitcond = ($952|0)==($$01834|0); - if ($exitcond) { - break; - } else { - $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; - } - } - $scevgep1948 = (($$1945$lcssa) + ($903)|0); - $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; - } else { - $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; - } - $953 = (($$2940$lcssa>>>0) % 65521)&-1; - $954 = (($$2$lcssa>>>0) % 65521)&-1; - $955 = (($$09431831) - ($$01834))|0; - $956 = ($955|0)==(0); - if ($956) { - $$0937$lcssa = $954;$$0938$lcssa = $953; - break; - } else { - $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; - } - } - } - $957 = $$0937$lcssa << 16; - $958 = $957 | $$0938$lcssa; - HEAP32[$892>>2] = $958; - $959 = ($$1961|0)!=(0); - $960 = $6 & 1; - $961 = ($960|0)==(0); - $or$cond1752 = $961 | $959; - if ($or$cond1752) { - $$0951 = $$1961; - STACKTOP = sp;return ($$0951|0); - } else { - $962 = ((($0)) + 16|0); - $963 = HEAP32[$962>>2]|0; - $964 = ($958|0)==($963|0); - $$1961$ = $964 ? $$1961 : -2; - STACKTOP = sp;return ($$1961$|0); - } - return (0)|0; -} -function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); - $5 = sp + 11000|0; - $6 = sp; - $7 = sp + 8|0; - HEAP32[$5>>2] = $1; - HEAP32[$6>>2] = $3; - HEAP32[$7>>2] = 0; - $8 = $4 & -7; - $9 = $8 | 4; - $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); - $11 = ($10|0)!=(0); - $12 = HEAP32[$5>>2]|0; - $13 = $11 ? -1 : $12; - STACKTOP = sp;return ($13|0); -} -function _LoadResource($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$05664 = 0, $$05763 = 0, $$065 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0; - var $or$cond60 = 0, $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 64|0; - $3 = sp + 32|0; - $4 = (_fopen($0,5803)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(1,4728,$vararg_buffer); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - (_fread($2,1,1,$4)|0); - $6 = ((($2)) + 1|0); - (_fread($6,1,1,$4)|0); - $7 = ((($2)) + 2|0); - (_fread($7,1,1,$4)|0); - $8 = ((($2)) + 3|0); - (_fread($8,1,1,$4)|0); - $9 = ((($2)) + 4|0); - (_fread($9,2,1,$4)|0); - $10 = ((($2)) + 6|0); - (_fread($10,2,1,$4)|0); - $11 = HEAP8[$2>>0]|0; - $12 = ($11<<24>>24)==(114); - $13 = HEAP8[$6>>0]|0; - $14 = ($13<<24>>24)==(82); - $or$cond = $12 | $14; - $15 = HEAP8[$7>>0]|0; - $16 = ($15<<24>>24)==(69); - $or$cond60 = $or$cond | $16; - $17 = HEAP8[$8>>0]|0; - $18 = ($17<<24>>24)==(83); - $or$cond62 = $or$cond60 | $18; - if ($or$cond62) { - $19 = HEAP16[$10>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $$0$lcssa = 0; - } else { - $21 = ((($3)) + 7|0); - $22 = ((($3)) + 4|0); - $23 = ((($3)) + 16|0); - $24 = ((($3)) + 20|0); - $25 = ((($3)) + 24|0); - $26 = ((($3)) + 28|0); - $27 = ((($3)) + 8|0); - $28 = ((($3)) + 5|0); - $29 = ((($3)) + 12|0); - $30 = HEAP16[$10>>1]|0; - $31 = $30&65535; - $32 = ((($3)) + 8|0); - $$05664 = 0;$$065 = 0; - while(1) { - (_fread($3,32,1,$4)|0); - $36 = HEAP32[$3>>2]|0; - $37 = ($36|0)==($1|0); - if ($37) { - $38 = HEAP8[$21>>0]|0; - $39 = $38&255; - $40 = ($39*24)|0; - $41 = (_malloc($40)|0); - $42 = ($38<<24>>24)==(0); - if ($42) { - $$1 = $41; - } else { - $$05763 = 0; - while(1) { - $43 = HEAP8[$22>>0]|0; - $44 = $43&255; - $45 = (($41) + (($$05763*24)|0)|0); - HEAP32[$45>>2] = $44; - $46 = HEAP32[$23>>2]|0; - $47 = (((($41) + (($$05763*24)|0)|0)) + 4|0); - HEAP32[$47>>2] = $46; - $48 = HEAP32[$24>>2]|0; - $49 = (((($41) + (($$05763*24)|0)|0)) + 8|0); - HEAP32[$49>>2] = $48; - $50 = HEAP32[$25>>2]|0; - $51 = (((($41) + (($$05763*24)|0)|0)) + 12|0); - HEAP32[$51>>2] = $50; - $52 = HEAP32[$26>>2]|0; - $53 = (((($41) + (($$05763*24)|0)|0)) + 16|0); - HEAP32[$53>>2] = $52; - $54 = HEAP32[$27>>2]|0; - $55 = (_malloc($54)|0); - (_fread($55,$54,1,$4)|0); - $56 = HEAP8[$28>>0]|0; - $57 = ($56<<24>>24)==(1); - if ($57) { - $58 = HEAP32[$27>>2]|0; - $59 = HEAP32[$29>>2]|0; - $60 = (_DecompressData($55,$58,$59)|0); - $61 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$61>>2] = $60; - _free($55); - } else { - $62 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - HEAP32[$62>>2] = $55; - } - $63 = (((($41) + (($$05763*24)|0)|0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $66; - _TraceLog(0,4825,$vararg_buffer4); - } - (_fread($3,32,1,$4)|0); - $67 = (($$05763) + 1)|0; - $68 = HEAP8[$21>>0]|0; - $69 = $68&255; - $70 = ($67|0)<($69|0); - if ($70) { - $$05763 = $67; - } else { - $$1 = $41; - break; - } - } - } - } else { - $71 = HEAP32[$32>>2]|0; - (_fseek($4,$71,1)|0); - $$1 = $$065; - } - $72 = (($$05664) + 1)|0; - $73 = ($72|0)<($31|0); - if ($73) { - $$05664 = $72;$$065 = $$1; - } else { - $$0$lcssa = $$1; - break; - } - } - } - $33 = ((($$0$lcssa)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$vararg_buffer8>>2] = $0; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(1,4871,$vararg_buffer8); - $$2 = $$0$lcssa; - } else { - $$2 = $$0$lcssa; - } - } else { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(1,4779,$vararg_buffer1); - $$2 = 0; - } - (_fclose($4)|0); - $$3 = $$2; - STACKTOP = sp;return ($$3|0); -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[19024>>0]=HEAP8[5176>>0]|0;HEAP8[19024+1>>0]=HEAP8[5176+1>>0]|0;HEAP8[19024+2>>0]=HEAP8[5176+2>>0]|0;HEAP8[19024+3>>0]=HEAP8[5176+3>>0]|0;HEAP8[19024+4>>0]=HEAP8[5176+4>>0]|0;HEAP8[19024+5>>0]=HEAP8[5176+5>>0]|0;HEAP8[19024+6>>0]=HEAP8[5176+6>>0]|0; - break; - } - case 2: { - $3 = 19024; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 1: { - dest=19024; src=5183; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 19024; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(19024,$1)|0); - $strlen = (_strlen(19024)|0); - $endptr = (19024 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(19024,$2)|0); - $12 = ($0|0)==(2); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _DecompressData($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = (_malloc($2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - _TraceLog(1,4921,$vararg_buffer); - STACKTOP = sp;return ($3|0); - } - $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); - $6 = ($5|0)==(-1); - if ($6) { - _TraceLog(1,4960,$vararg_buffer1); - _free($3); - } - $7 = ($5|0)==($2|0); - if (!($7)) { - _TraceLog(1,4986,$vararg_buffer3); - HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(1,5049,$vararg_buffer5); - HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(1,5084,$vararg_buffer7); - } - HEAP32[$vararg_buffer10>>2] = $1; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,5119,$vararg_buffer10); - STACKTOP = sp;return ($3|0); -} -function _UnloadResource($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - _free($2); - return; -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(20100)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (24 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[20076>>2]=HEAP32[$1>>2]|0;HEAP32[20076+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[20076+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[20076+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[20076+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(20100)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(20104)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(20096)>>2] = $23; - $24 = HEAP32[5019]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5193,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(20080)>>2]|0; - $10 = HEAP32[(20100)>>2]|0; - $11 = HEAP32[(20104)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2072 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(20096)>>2] = $23; - $24 = HEAP32[5019]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5193,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(9); - $6 = ($1|0)<(9); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(1,5590,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; - var $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $11; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $12; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $10; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(3,5238,$vararg_buffer); - HEAP32[$0>>2] = $11; - $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; - $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; - $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; - STACKTOP = sp;return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } - _free($1); - return; -} -function _rlLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[5027]|0; - $7 = ($6|0)==(0); - $$off = (($3) + -9)|0; - $8 = ($$off>>>0)<(4); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(1,5288,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[5028]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(13); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(1,5332,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[5029]|0; - $13 = ($12|0)==(0); - $14 = $3 | 1; - $15 = ($14|0)==(15); - $or$cond97 = $15 & $13; - if ($or$cond97) { - _TraceLog(1,5377,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $16 = HEAP32[5030]|0; - $17 = ($16|0)==(0); - $18 = ($14|0)==(17); - $or$cond99 = $18 & $17; - if ($or$cond99) { - _TraceLog(1,5422,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $19 = HEAP32[5031]|0; - $20 = ($19|0)==(0); - $21 = ($14|0)==(19); - $or$cond101 = $21 & $20; - if ($or$cond101) { - _TraceLog(1,5467,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $22 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($22|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $23 = HEAP32[5032]|0; - $24 = ($23|0)==(0); - if (!($24)) { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); - } - break; - } - case 9: { - $25 = HEAP32[5027]|0; - $26 = ($25|0)==(0); - if (!($26)) { - _LoadTextureCompressed($0,$1,$2,33776,$4); - } - break; - } - case 10: { - $27 = HEAP32[5027]|0; - $28 = ($27|0)==(0); - if (!($28)) { - _LoadTextureCompressed($0,$1,$2,33777,$4); - } - break; - } - case 11: { - $29 = HEAP32[5027]|0; - $30 = ($29|0)==(0); - if (!($30)) { - _LoadTextureCompressed($0,$1,$2,33778,$4); - } - break; - } - case 12: { - $31 = HEAP32[5027]|0; - $32 = ($31|0)==(0); - if (!($32)) { - _LoadTextureCompressed($0,$1,$2,33779,$4); - } - break; - } - case 13: { - $33 = HEAP32[5028]|0; - $34 = ($33|0)==(0); - if (!($34)) { - _LoadTextureCompressed($0,$1,$2,36196,$4); - } - break; - } - case 14: { - $35 = HEAP32[5029]|0; - $36 = ($35|0)==(0); - if (!($36)) { - _LoadTextureCompressed($0,$1,$2,37492,$4); - } - break; - } - case 15: { - $37 = HEAP32[5029]|0; - $38 = ($37|0)==(0); - if (!($38)) { - _LoadTextureCompressed($0,$1,$2,37496,$4); - } - break; - } - case 16: { - $39 = HEAP32[5030]|0; - $40 = ($39|0)==(0); - if (!($40)) { - _LoadTextureCompressed($0,$1,$2,35840,$4); - } - break; - } - case 17: { - $41 = HEAP32[5030]|0; - $42 = ($41|0)==(0); - if (!($42)) { - _LoadTextureCompressed($0,$1,$2,35842,$4); - } - break; - } - case 18: { - $43 = HEAP32[5031]|0; - $44 = ($43|0)==(0); - if (!($44)) { - _LoadTextureCompressed($0,$1,$2,37808,$4); - } - break; - } - case 19: { - $45 = HEAP32[5031]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _LoadTextureCompressed($0,$1,$2,37815,$4); - } - break; - } - default: { - _TraceLog(1,5512,$vararg_buffer9); - } - } - } while(0); - $47 = HEAP32[5033]|0; - $48 = ($47|0)==(0); - if ($48) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $49 = HEAP32[$5>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(1,8036,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $49; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5541,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadTextureCompressed($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($3|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($4|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($3|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($4|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(1,5644,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[20076>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[20076+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[20076+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[20076+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[20076+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(20104)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,5690,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[20076>>2]|0;HEAP32[$0+4>>2]=HEAP32[20076+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[20076+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[20076+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[20076+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[20076+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[20076+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[20076+28>>2]|0; - return; -} -function _IsFileExtension($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strrchr($0,46)|0); - $3 = ($2|0)==(0|0); - if ($3) { - return 0; - } else { - $4 = (_strcmp($2,$1)|0); - $5 = ($4|0)==(0); - $$ = $5&1; - return ($$|0); - } - return (0)|0; -} -function _LoadImagePro($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy = sp + 20|0; - $5 = sp; - HEAP32[$5>>2] = $1; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $2; - $7 = ((($5)) + 8|0); - HEAP32[$7>>2] = $3; - $8 = ((($5)) + 12|0); - HEAP32[$8>>2] = 1; - $9 = ((($5)) + 16|0); - HEAP32[$9>>2] = $4; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; - _ImageCopy($0,$$byval_copy); - STACKTOP = sp;return; -} -function _LoadImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $$byval_copy = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer7 = sp + 16|0; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - $6 = (_IsFileExtension($1,5740)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - $19 = (_IsFileExtension($1,5793)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_IsFileExtension($1,5798)|0); - $22 = ($21|0)==(0); - if ($22) { - $36 = (_IsFileExtension($1,5806)|0); - $37 = ($36|0)==(0); - if ($37) { - $46 = (_IsFileExtension($1,5878)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[$vararg_buffer4>>2] = $1; - _TraceLog(1,5883,$vararg_buffer4); - break; - } else { - _LoadDDS($2,$1); - break; - } - } - HEAP32[$3>>2] = 0; - $38 = (_fopen($1,5803)|0); - _stbi_set_flip_vertically_on_load(1); - $39 = ((($2)) + 4|0); - $40 = ((($2)) + 8|0); - $41 = (_stbi_loadf_from_file($38,$39,$40,$3,0)|0); - HEAP32[$2>>2] = $41; - _stbi_set_flip_vertically_on_load(0); - (_fclose($38)|0); - $42 = ((($2)) + 12|0); - HEAP32[$42>>2] = 1; - $43 = HEAP32[$3>>2]|0; - $44 = ($43|0)==(3); - if ($44) { - $45 = ((($2)) + 16|0); - HEAP32[$45>>2] = 8; - } else { - HEAP32[$$byval_copy>>2] = $1; - _TraceLog(1,5811,$$byval_copy); - ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; - _UnloadImage($$byval_copy); - } - break; - } - } - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$5>>2] = 0; - $23 = (_fopen($1,5803)|0); - $24 = ($23|0)==(0|0); - L17: do { - if (!($24)) { - $25 = (_stbi_load_from_file($23,$3,$4,$5,0)|0); - HEAP32[$2>>2] = $25; - (_fclose($23)|0); - $26 = HEAP32[$3>>2]|0; - $27 = ((($2)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$4>>2]|0; - $29 = ((($2)) + 8|0); - HEAP32[$29>>2] = $28; - $30 = ((($2)) + 12|0); - HEAP32[$30>>2] = 1; - $31 = HEAP32[$5>>2]|0; - switch ($31|0) { - case 1: { - $32 = ((($2)) + 16|0); - HEAP32[$32>>2] = 1; - break L17; - break; - } - case 2: { - $33 = ((($2)) + 16|0); - HEAP32[$33>>2] = 2; - break L17; - break; - } - case 3: { - $34 = ((($2)) + 16|0); - HEAP32[$34>>2] = 4; - break L17; - break; - } - case 4: { - $35 = ((($2)) + 16|0); - HEAP32[$35>>2] = 7; - break L17; - break; - } - default: { - break L17; - } - } - } - } while(0); - } else { - $8 = (_LoadResource($1,0)|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(1); - if ($10) { - $11 = ((($8)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($8)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($8)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($8)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _LoadImagePro($2,$12,$14,$16,$18); - } else { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5746,$vararg_buffer); - } - _UnloadResource($8); - } - } while(0); - $48 = HEAP32[$2>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - HEAP32[$vararg_buffer12>>2] = $1; - _TraceLog(1,5958,$vararg_buffer12); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - $50 = ((($2)) + 4|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($2)) + 8|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $51; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $53; - _TraceLog(0,5919,$vararg_buffer7); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _stbi_load_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return ($6|0); - } - $8 = ((($5)) + 172|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($5)) + 168|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) - ($9))|0; - (_fseek($0,$12,1)|0); - STACKTOP = sp;return ($6|0); -} -function _stbi_set_flip_vertically_on_load($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5037] = $0; - return; -} -function _stbi_loadf_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__loadf_main($5,$1,$2,$3,$4)|0); - STACKTOP = sp;return ($6|0); -} -function _LoadDDS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$0101111 = 0, $$0102114 = 0, $$0103112 = 0, $$sink = 0, $$sink2 = 0, $$sroa$0$0 = 0, $$sroa$0$1 = 0, $$sroa$0$2 = 0, $$sroa$0$3 = 0, $$sroa$28$0 = 0, $$sroa$28$0$$sroa_idx61 = 0, $$sroa$28$1 = 0, $$sroa$42$0 = 0, $$sroa$42$0$$sroa_idx75 = 0, $$sroa$42$1 = 0, $$sroa$56$0 = 0, $$sroa$56$0$$sroa_idx89 = 0, $$sroa$56$1 = 0, $$sroa$57$0 = 0; - var $$sroa$57$0$$sroa_idx91 = 0, $$sroa$57$2 = 0, $$sroa$57$3 = 0, $$sroa$57$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $exitcond = 0, $exitcond117 = 0, $or$cond = 0, $or$cond106 = 0, $or$cond108 = 0, $switch = 0, $switch$split282D = 0, $switch$split2D = 0, $switch$split312D = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $vararg_buffer24 = sp + 56|0; - $vararg_buffer20 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 184|0; - $3 = sp + 60|0; - $4 = (_fopen($1,5803)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,5989,$vararg_buffer); - $$sroa$0$3 = 0;$$sroa$28$1 = 0;$$sroa$42$1 = 0;$$sroa$56$1 = 0;$$sroa$57$4 = 0; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; - } - (_fread($2,4,1,$4)|0); - $6 = (_strncmp($2,6023,4)|0); - $7 = ($6|0)==(0); - if ($7) { - (_fread($3,124,1,$4)|0); - HEAP32[$vararg_buffer4>>2] = $1; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,6076,$vararg_buffer4); - $8 = ((($3)) + 72|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $9; - _TraceLog(3,6106,$vararg_buffer8); - $10 = ((($3)) + 76|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer12>>2] = $1; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $11; - _TraceLog(3,6142,$vararg_buffer12); - $12 = ((($3)) + 80|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer16>>2] = $1; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $13; - _TraceLog(3,6181,$vararg_buffer16); - $14 = ((($3)) + 84|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$vararg_buffer20>>2] = $1; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $15; - _TraceLog(3,6208,$vararg_buffer20); - $16 = ((($3)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($3)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $$sink = $22 ? 1 : $21; - $23 = HEAP32[$14>>2]|0; - $24 = ($23|0)==(16); - L7: do { - if ($24) { - $25 = HEAP32[$10>>2]|0; - switch ($25|0) { - case 64: { - $26 = $17 << 1; - $27 = Math_imul($26, $19)|0; - $28 = (_malloc($27)|0); - (_fread($28,$27,1,$4)|0); - $$sroa$0$0 = $28;$$sroa$57$0 = 3; - break L7; - break; - } - case 65: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $29 = ((($3)) + 100|0); - $30 = HEAP32[$29>>2]|0; - $switch$split2D = ($30|0)<(61440); - if ($switch$split2D) { - switch ($30|0) { - case 32768: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $31 = Math_imul($19, $17)|0; - $32 = $31 << 1; - $33 = (_malloc($32)|0); - (_fread($33,$32,1,$4)|0); - $34 = ($31|0)>(0); - if ($34) { - $$0103112 = 0; - } else { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } - while(1) { - $35 = (($33) + ($$0103112<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = ($36&65535) >>> 15; - $39 = $38&65535; - $40 = $37 << 1; - $41 = $40 | $39; - $42 = $41&65535; - HEAP16[$35>>1] = $42; - $43 = (($$0103112) + 1)|0; - $exitcond = ($43|0)==($31|0); - if ($exitcond) { - $$sroa$0$0 = $33;$$sroa$57$0 = 5; - break; - } else { - $$0103112 = $43; - } - } - } else { - switch ($30|0) { - case 61440: { - break; - } - default: { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - break L7; - } - } - $44 = Math_imul($19, $17)|0; - $45 = $44 << 1; - $46 = (_malloc($45)|0); - (_fread($46,$45,1,$4)|0); - $47 = ($44|0)>(0); - if ($47) { - $$0102114 = 0; - } else { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } - while(1) { - $48 = (($46) + ($$0102114<<1)|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49&65535; - $51 = ($49&65535) >>> 12; - $52 = $51&65535; - $53 = $50 << 4; - $54 = $53 | $52; - $55 = $54&65535; - HEAP16[$48>>1] = $55; - $56 = (($$0102114) + 1)|0; - $exitcond117 = ($56|0)==($44|0); - if ($exitcond117) { - $$sroa$0$0 = $46;$$sroa$57$0 = 6; - break; - } else { - $$0102114 = $56; - } - } - } - } else { - $$sroa$0$0 = 0;$$sroa$57$0 = 0; - } - } while(0); - $57 = HEAP32[$10>>2]|0; - $58 = ($57|0)==(64); - $59 = HEAP32[$14>>2]|0; - $60 = ($59|0)==(24); - $or$cond = $58 & $60; - L22: do { - if ($or$cond) { - $61 = ($17*3)|0; - $62 = Math_imul($61, $19)|0; - $63 = (_malloc($62)|0); - (_fread($63,$62,1,$4)|0); - $$sroa$0$1 = $63;$$sroa$57$2 = 4; - } else { - $64 = ($57|0)==(65); - $65 = ($59|0)==(32); - $or$cond106 = $64 & $65; - if ($or$cond106) { - $66 = $17 << 2; - $67 = Math_imul($66, $19)|0; - $68 = (_malloc($67)|0); - (_fread($68,$67,1,$4)|0); - $69 = ($67|0)>(0); - if ($69) { - $$0101111 = 0; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break; - } - while(1) { - $70 = (($68) + ($$0101111)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $$0101111 | 2; - $73 = (($68) + ($72)|0); - $74 = HEAP8[$73>>0]|0; - HEAP8[$70>>0] = $74; - HEAP8[$73>>0] = $71; - $75 = (($$0101111) + 4)|0; - $76 = ($75|0)<($67|0); - if ($76) { - $$0101111 = $75; - } else { - $$sroa$0$1 = $68;$$sroa$57$2 = 7; - break L22; - } - } - } - $77 = $57 & -2; - $switch = ($77|0)!=(4); - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)==(0); - $or$cond108 = $switch | $79; - if ($or$cond108) { - $$sroa$0$1 = $$sroa$0$0;$$sroa$57$2 = $$sroa$57$0; - } else { - $80 = HEAP32[$20>>2]|0; - $81 = ($80>>>0)>(1); - $82 = ((($3)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81&1; - $$0 = $83 << $84; - HEAP32[$vararg_buffer24>>2] = $83; - _TraceLog(3,6238,$vararg_buffer24); - $85 = (_malloc($$0)|0); - (_fread($85,$$0,1,$4)|0); - $86 = HEAP32[$12>>2]|0; - $switch$split282D = ($86|0)<(861165636); - if ($switch$split282D) { - switch ($86|0) { - case 827611204: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $87 = HEAP32[$10>>2]|0; - $88 = ($87|0)==(4); - $$sink2 = $88 ? 9 : 10; - $$sroa$0$1 = $85;$$sroa$57$2 = $$sink2; - break; - } - $switch$split312D = ($86|0)<(894720068); - if ($switch$split312D) { - switch ($86|0) { - case 861165636: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 11; - break; - } else { - switch ($86|0) { - case 894720068: { - break; - } - default: { - $$sroa$0$1 = $85;$$sroa$57$2 = $$sroa$57$0; - break L22; - } - } - $$sroa$0$1 = $85;$$sroa$57$2 = 12; - break; - } - } - } - } while(0); - $$sroa$0$2 = $$sroa$0$1;$$sroa$28$0 = $17;$$sroa$42$0 = $19;$$sroa$56$0 = $$sink;$$sroa$57$3 = $$sroa$57$2; - } else { - HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(1,6028,$vararg_buffer1); - $$sroa$0$2 = 0;$$sroa$28$0 = 0;$$sroa$42$0 = 0;$$sroa$56$0 = 0;$$sroa$57$3 = 0; - } - (_fclose($4)|0); - $$sroa$0$3 = $$sroa$0$2;$$sroa$28$1 = $$sroa$28$0;$$sroa$42$1 = $$sroa$42$0;$$sroa$56$1 = $$sroa$56$0;$$sroa$57$4 = $$sroa$57$3; - HEAP32[$0>>2] = $$sroa$0$3; - $$sroa$28$0$$sroa_idx61 = ((($0)) + 4|0); - HEAP32[$$sroa$28$0$$sroa_idx61>>2] = $$sroa$28$1; - $$sroa$42$0$$sroa_idx75 = ((($0)) + 8|0); - HEAP32[$$sroa$42$0$$sroa_idx75>>2] = $$sroa$42$1; - $$sroa$56$0$$sroa_idx89 = ((($0)) + 12|0); - HEAP32[$$sroa$56$0$$sroa_idx89>>2] = $$sroa$56$1; - $$sroa$57$0$$sroa_idx91 = ((($0)) + 16|0); - HEAP32[$$sroa$57$0$$sroa_idx91>>2] = $$sroa$57$4; - STACKTOP = sp;return; -} -function _stbi__start_file($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($0,3600,$1); - return; -} -function _stbi__loadf_main($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__hdr_test($0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - _stbi__float_postprocess($7,$1,$2,$3,$4); - $$0 = $7; - return ($$0|0); - } - $9 = (_stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4)|0); - $10 = ($9|0)==(0|0); - if ($10) { - _stbi__err(6263); - $$0 = 0; - return ($$0|0); - } - $11 = HEAP32[$1>>2]|0; - $12 = HEAP32[$2>>2]|0; - $13 = ($4|0)==(0); - if ($13) { - $14 = HEAP32[$3>>2]|0; - $15 = $14; - } else { - $15 = $4; - } - $16 = (_stbi__ldr_to_hdr($9,$11,$12,$15)|0); - $$0 = $16; - return ($$0|0); -} -function _stbi__hdr_test($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__hdr_test_core($0,7871)|0); - _stbi__rewind($0); - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = $1; - return ($$0|0); - } - $3 = (_stbi__hdr_test_core($0,7883)|0); - _stbi__rewind($0); - $$0 = $3; - return ($$0|0); -} -function _stbi__hdr_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$0142 = 0, $$014033 = 0, $$014253 = 0, $$014344 = 0, $$014538 = 0, $$0146 = 0, $$0150 = 0, $$114131 = 0, $$1144 = 0, $$1147 = 0, $$1151 = 0, $$2148 = 0, $$2152$be = 0, $$215236 = 0, $$3 = 0, $$314943 = 0, $$315332 = 0, $$430 = 0, $$540 = 0; - var $$lcssa29 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond87 = 0, $exitcond88 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 4|0; - $8 = sp + 8|0; - $9 = (_stbi__hdr_gettoken($0,$5)|0); - $10 = (_strcmp($9,7731)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $12 = (_strcmp($9,7742)|0); - $13 = ($12|0)==(0); - if (!($13)) { - _stbi__err(7749); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - } - $14 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $14; - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - $$014253 = 0;$17 = $5; - while(1) { - $18 = (_strcmp($17,7757)|0); - $19 = ($18|0)==(0); - $$$0142 = $19 ? 1 : $$014253; - $20 = (_stbi__hdr_gettoken($0,$5)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$014253 = $$$0142;$17 = $5; - } - } - HEAP32[$6>>2] = $20; - $23 = ($$$0142|0)==(0); - if (!($23)) { - $24 = (_stbi__hdr_gettoken($0,$5)|0); - HEAP32[$6>>2] = $24; - $25 = (_strncmp($24,7799,3)|0); - $26 = ($25|0)==(0); - if (!($26)) { - _stbi__err(7803); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $27 = ((($5)) + 3|0); - HEAP32[$6>>2] = $27; - $28 = (_strtol($27,$6,10)|0); - $29 = HEAP32[$6>>2]|0; - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(32); - if ($31) { - $33 = $29; - while(1) { - $32 = ((($33)) + 1|0); - $34 = HEAP8[$32>>0]|0; - $35 = ($34<<24>>24)==(32); - if ($35) { - $33 = $32; - } else { - break; - } - } - HEAP32[$6>>2] = $32; - $$lcssa29 = $32; - } else { - $$lcssa29 = $29; - } - $36 = (_strncmp($$lcssa29,7827,3)|0); - $37 = ($36|0)==(0); - if (!($37)) { - _stbi__err(7803); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $38 = ((($$lcssa29)) + 3|0); - HEAP32[$6>>2] = $38; - $39 = (_strtol($38,0,10)|0); - HEAP32[$1>>2] = $39; - HEAP32[$2>>2] = $28; - $40 = ($3|0)==(0|0); - if (!($40)) { - HEAP32[$3>>2] = 3; - } - $41 = ($4|0)==(0); - $$ = $41 ? 3 : $4; - $42 = (_stbi__mad4sizes_valid($39,$28,$$)|0); - $43 = ($42|0)==(0); - if ($43) { - _stbi__err(6489); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $44 = (_stbi__malloc_mad4($39,$28,$$)|0); - $45 = ($44|0)==(0|0); - if ($45) { - _stbi__err(6282); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $$off = (($39) + -8)|0; - $46 = ($$off>>>0)>(32759); - do { - if ($46) { - $$0146 = 0; - label = 23; - } else { - $47 = ($28|0)>(0); - if ($47) { - $$014344 = 0;$$314943 = 0; - } else { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - L39: while(1) { - $57 = (_stbi__get8($0)|0); - $58 = (_stbi__get8($0)|0); - $59 = (_stbi__get8($0)|0); - $60 = $59&255; - $notlhs = ($57<<24>>24)==(2); - $notrhs = ($58<<24>>24)==(2); - $or$cond3$not = $notlhs & $notrhs; - $61 = $60 & 128; - $62 = ($61|0)==(0); - $or$cond = $or$cond3$not & $62; - if (!($or$cond)) { - label = 28; - break; - } - $67 = $60 << 8; - $68 = (_stbi__get8($0)|0); - $69 = $68&255; - $70 = $69 | $67; - $71 = ($70|0)==($39|0); - if (!($71)) { - label = 30; - break; - } - $72 = ($$014344|0)==(0|0); - if ($72) { - $73 = (_stbi__malloc_mad2($39,4)|0); - $74 = ($73|0)==(0|0); - if ($74) { - label = 33; - break; - } else { - $$1144 = $73; - } - } else { - $$1144 = $$014344; - } - $$014538 = 0; - while(1) { - $$215236 = 0;$87 = $39; - while(1) { - $82 = (_stbi__get8($0)|0); - $79 = $82&255; - $83 = ($82&255)>(128); - do { - if ($83) { - $84 = (_stbi__get8($0)|0); - $85 = (($79) + 128)|0; - $77 = $85 & 255; - $86 = ($77|0)>($87|0); - if ($86) { - label = 43; - break L39; - } - $88 = ($77|0)==(0); - if ($88) { - $$2152$be = $$215236; - break; - } else { - $$014033 = 0;$$315332 = $$215236; - } - while(1) { - $89 = (($$315332) + 1)|0; - $90 = $$315332 << 2; - $91 = (($90) + ($$014538))|0; - $92 = (($$1144) + ($91)|0); - HEAP8[$92>>0] = $84; - $93 = (($$014033) + 1)|0; - $exitcond87 = ($93|0)==($77|0); - if ($exitcond87) { - break; - } else { - $$014033 = $93;$$315332 = $89; - } - } - $76 = (($$215236) + ($77))|0; - $$2152$be = $76; - } else { - $94 = ($79|0)>($87|0); - if ($94) { - label = 47; - break L39; - } - $95 = ($82<<24>>24)==(0); - if ($95) { - $$2152$be = $$215236; - break; - } else { - $$114131 = 0;$$430 = $$215236; - } - while(1) { - $96 = (_stbi__get8($0)|0); - $97 = (($$430) + 1)|0; - $98 = $$430 << 2; - $99 = (($98) + ($$014538))|0; - $100 = (($$1144) + ($99)|0); - HEAP8[$100>>0] = $96; - $101 = (($$114131) + 1)|0; - $exitcond = ($101|0)==($79|0); - if ($exitcond) { - break; - } else { - $$114131 = $101;$$430 = $97; - } - } - $78 = (($$215236) + ($79))|0; - $$2152$be = $78; - } - } while(0); - $80 = (($39) - ($$2152$be))|0; - $81 = ($80|0)>(0); - if ($81) { - $$215236 = $$2152$be;$87 = $80; - } else { - break; - } - } - $102 = (($$014538) + 1)|0; - $103 = ($102|0)<(4); - if ($103) { - $$014538 = $102; - } else { - break; - } - } - $75 = Math_imul($$314943, $39)|0; - $$540 = 0; - while(1) { - $104 = (($$540) + ($75))|0; - $105 = Math_imul($104, $$)|0; - $106 = (($44) + ($105<<2)|0); - $107 = $$540 << 2; - $108 = (($$1144) + ($107)|0); - _stbi__hdr_convert($106,$108,$$); - $109 = (($$540) + 1)|0; - $exitcond88 = ($109|0)==($39|0); - if ($exitcond88) { - break; - } else { - $$540 = $109; - } - } - $110 = (($$314943) + 1)|0; - $111 = ($110|0)<($28|0); - if ($111) { - $$014344 = $$1144;$$314943 = $110; - } else { - label = 52; - break; - } - } - if ((label|0) == 28) { - HEAP8[$8>>0] = $57; - $63 = ((($8)) + 1|0); - HEAP8[$63>>0] = $58; - $64 = ((($8)) + 2|0); - HEAP8[$64>>0] = $59; - $65 = (_stbi__get8($0)|0); - $66 = ((($8)) + 3|0); - HEAP8[$66>>0] = $65; - _stbi__hdr_convert($44,$8,$$); - _free($$014344); - $$1151 = 1;$$2148 = 0; - label = 25; - break; - } - else if ((label|0) == 30) { - _free($44); - _free($$014344); - _stbi__err(7831); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 33) { - _free($44); - _stbi__err(6282); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 43) { - _free($44); - _free($$1144); - _stbi__err(7863); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 47) { - _free($44); - _free($$1144); - _stbi__err(7863); - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 52) { - $112 = ($$1144|0)==(0|0); - if ($112) { - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - _free($$1144); - $$3 = $44; - STACKTOP = sp;return ($$3|0); - } - } - } while(0); - while(1) { - if ((label|0) == 23) { - label = 0; - $48 = ($$0146|0)<($28|0); - if ($48) { - $$0150 = 0;$$1147 = $$0146; - } else { - $$3 = $44; - break; - } - } - else if ((label|0) == 25) { - label = 0; - (_stbi__getn($0,$7,4)|0); - $50 = Math_imul($39, $$)|0; - $51 = Math_imul($50, $$2148)|0; - $52 = (($44) + ($51<<2)|0); - $53 = Math_imul($$1151, $$)|0; - $54 = (($52) + ($53<<2)|0); - _stbi__hdr_convert($54,$7,$$); - $55 = (($$1151) + 1)|0; - $$0150 = $55;$$1147 = $$2148; - } - $49 = ($$0150|0)<($39|0); - if ($49) { - $$1151 = $$0150;$$2148 = $$1147; - label = 25; - continue; - } - $56 = (($$1147) + 1)|0; - $$0146 = $56; - label = 23; - } - STACKTOP = sp;return ($$3|0); - } - } - _stbi__err(7780); - $$3 = 0; - STACKTOP = sp;return ($$3|0); -} -function _stbi__float_postprocess($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[5037]|0; - $6 = ($5|0)!=(0); - $7 = ($0|0)!=(0|0); - $or$cond = $7 & $6; - if (!($or$cond)) { - return; - } - $8 = ($4|0)==(0); - if ($8) { - $9 = HEAP32[$3>>2]|0; - $13 = $9; - } else { - $13 = $4; - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = $13 << 2; - _stbi__vertical_flip($0,$10,$11,$12); - return; -} -function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$023 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $5 = sp; - $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = HEAP32[$5>>2]|0; - switch ($8|0) { - case 8: { - $$023 = $6; - break; - } - case 16: { - label = 4; - break; - } - default: { - ___assert_fail((6291|0),(6317|0),1066,(6340|0)); - // unreachable; - } - } - if ((label|0) == 4) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($4|0)==(0); - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = $12; - } else { - $13 = $4; - } - $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); - HEAP32[$5>>2] = 8; - $$023 = $14; - } - $15 = HEAP32[5037]|0; - $16 = ($15|0)==(0); - if ($16) { - $$0 = $$023; - STACKTOP = sp;return ($$0|0); - } - $17 = ($4|0)==(0); - if ($17) { - $18 = HEAP32[$3>>2]|0; - $21 = $18; - } else { - $21 = $4; - } - $19 = HEAP32[$1>>2]|0; - $20 = HEAP32[$2>>2]|0; - _stbi__vertical_flip($$023,$19,$20,$21); - $$0 = $$023; - STACKTOP = sp;return ($$0|0); -} -function _stbi__ldr_to_hdr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$042 = 0, $$043$lcssa = 0, $$04345 = 0, $$04446 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond48 = 0, $sext = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__malloc_mad4($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(6282); - $$0 = 0; - return ($$0|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$042 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$042|0)>(0); - $11 = +HEAPF32[742]; - $12 = $11; - $13 = +HEAPF32[743]; - $14 = $13; - $$04446 = 0; - while(1) { - if ($10) { - $15 = Math_imul($$04446, $3)|0; - $$04345 = 0; - while(1) { - $16 = (($$04345) + ($15))|0; - $17 = (($0) + ($16)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 / 255.0; - $21 = $20; - $22 = (+Math_pow((+$21),(+$12))); - $23 = $22 * $14; - $24 = $23; - $25 = (($5) + ($16<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (($$04345) + 1)|0; - $exitcond = ($26|0)==($$042|0); - if ($exitcond) { - $$043$lcssa = $$042; - break; - } else { - $$04345 = $26; - } - } - } else { - $$043$lcssa = 0; - } - $27 = ($$043$lcssa|0)<($3|0); - $28 = Math_imul($$04446, $3)|0; - $29 = (($$043$lcssa) + ($28))|0; - if ($27) { - $30 = (($5) + ($29<<2)|0); - $31 = (($0) + ($29)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $33 / 255.0; - HEAPF32[$30>>2] = $34; - } - $35 = (($$04446) + 1)|0; - $exitcond48 = ($35|0)==($8|0); - if ($exitcond48) { - break; - } else { - $$04446 = $35; - } - } - } - _free($0); - $$0 = $5; - return ($$0|0); -} -function _stbi__err($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5036] = $0; - return; -} -function _stbi__malloc_mad4($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad4sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = $0 << 2; - $6 = Math_imul($5, $1)|0; - $7 = Math_imul($6, $2)|0; - $8 = (_stbi__malloc($7)|0); - $$0 = $8; - return ($$0|0); -} -function _stbi__mad4sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $15 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $15 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__mul2sizes_valid($8,4)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = $8 << 2; - $12 = (_stbi__addsizes_valid($11)|0); - $13 = ($12|0)!=(0); - $15 = $13; - } - } - } - $14 = $15&1; - return ($14|0); -} -function _stbi__malloc($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_malloc($0)|0); - return ($1|0); -} -function _stbi__mul2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 | $0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - } else { - $4 = ($1|0)==(0); - if ($4) { - $$0 = 1; - } else { - $5 = (2147483647 / ($1|0))&-1; - $6 = ($5|0)>=($0|0); - $7 = $6&1; - $$0 = $7; - } - } - return ($$0|0); -} -function _stbi__addsizes_valid($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 1; -} -function _stbi__load_main($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[$5>>2] = 8; - $6 = ((($5)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = ((($5)) + 4|0); - HEAP32[$7>>2] = 0; - $8 = (_stbi__png_test($0)|0); - $9 = ($8|0)==(0); - if (!($9)) { - $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); - $$0 = $10; - return ($$0|0); - } - $11 = (_stbi__hdr_test($0)|0); - $12 = ($11|0)==(0); - if ($12) { - _stbi__err(6263); - $$0 = 0; - return ($$0|0); - } - $13 = (_stbi__hdr_load($0,$1,$2,$3,$4)|0); - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = ($4|0)==(0); - if ($16) { - $17 = HEAP32[$3>>2]|0; - $18 = $17; - } else { - $18 = $4; - } - $19 = (_stbi__hdr_to_ldr($13,$14,$15,$18)|0); - $$0 = $19; - return ($$0|0); -} -function _stbi__convert_16_to_8($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = Math_imul($4, $3)|0; - $6 = (_stbi__malloc($5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - _stbi__err(6282); - $$0 = 0; - return ($$0|0); - } - $8 = ($5|0)>(0); - if ($8) { - $$01819 = 0; - while(1) { - $9 = (($0) + ($$01819<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10&65535) >>> 8; - $12 = $11&255; - $13 = (($6) + ($$01819)|0); - HEAP8[$13>>0] = $12; - $14 = (($$01819) + 1)|0; - $exitcond = ($14|0)==($5|0); - if ($exitcond) { - break; - } else { - $$01819 = $14; - } - } - } - _free($0); - $$0 = $6; - return ($$0|0); -} -function _stbi__vertical_flip($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$04553 = 0, $$04652 = 0, $$04751 = 0, $$054 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2048|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2048|0); - $4 = sp; - $5 = Math_imul($3, $1)|0; - $6 = $2 >> 1; - $7 = ($6|0)>(0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = (($2) + -1)|0; - $9 = ($5|0)==(0); - $$054 = 0; - while(1) { - if (!($9)) { - $10 = (($8) - ($$054))|0; - $11 = Math_imul($10, $5)|0; - $12 = (($0) + ($11)|0); - $13 = Math_imul($$054, $5)|0; - $14 = (($0) + ($13)|0); - $$04553 = $5;$$04652 = $12;$$04751 = $14; - while(1) { - $15 = ($$04553>>>0)<(2048); - $16 = $15 ? $$04553 : 2048; - _memcpy(($4|0),($$04751|0),($16|0))|0; - _memcpy(($$04751|0),($$04652|0),($16|0))|0; - _memcpy(($$04652|0),($4|0),($16|0))|0; - $17 = (($$04751) + ($16)|0); - $18 = (($$04652) + ($16)|0); - $19 = (($$04553) - ($16))|0; - $20 = ($19|0)==(0); - if ($20) { - break; - } else { - $$04553 = $19;$$04652 = $18;$$04751 = $17; - } - } - } - $21 = (($$054) + 1)|0; - $exitcond = ($21|0)==($6|0); - if ($exitcond) { - break; - } else { - $$054 = $21; - } - } - STACKTOP = sp;return; -} -function _stbi__png_test($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__check_png_header($0)|0); - _stbi__rewind($0); - return ($1|0); -} -function _stbi__png_load($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $6 = sp; - HEAP32[$6>>2] = $0; - $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); - STACKTOP = sp;return ($7|0); -} -function _stbi__hdr_to_ldr($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0.0, $$052 = 0.0, $$054 = 0, $$055 = 0, $$056$lcssa = 0, $$05658 = 0, $$05759 = 0, $$1 = 0.0, $$153 = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0; - var $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond61 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - $$054 = 0; - return ($$054|0); - } - $5 = (_stbi__malloc_mad3($1,$2,$3)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _free($0); - _stbi__err(6282); - $$054 = 0; - return ($$054|0); - } - $7 = $3 & 1; - $sext = (($3) + -1)|0; - $$055 = (($sext) + ($7))|0; - $8 = Math_imul($2, $1)|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = ($$055|0)>(0); - $11 = +HEAPF32[744]; - $12 = +HEAPF32[745]; - $13 = $12; - $$05759 = 0; - while(1) { - if ($10) { - $14 = Math_imul($$05759, $3)|0; - $$05658 = 0; - while(1) { - $15 = (($$05658) + ($14))|0; - $16 = (($0) + ($15<<2)|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 * $11; - $19 = $18; - $20 = (+Math_pow((+$19),(+$13))); - $21 = $20; - $22 = $21 * 255.0; - $23 = $22 + 0.5; - $24 = $23 < 0.0; - $$052 = $24 ? 0.0 : $23; - $25 = $$052 > 255.0; - $$153 = $25 ? 255.0 : $$052; - $26 = (~~(($$153))); - $27 = $26&255; - $28 = (($5) + ($15)|0); - HEAP8[$28>>0] = $27; - $29 = (($$05658) + 1)|0; - $exitcond = ($29|0)==($$055|0); - if ($exitcond) { - $$056$lcssa = $$055; - break; - } else { - $$05658 = $29; - } - } - } else { - $$056$lcssa = 0; - } - $30 = ($$056$lcssa|0)<($3|0); - if ($30) { - $31 = Math_imul($$05759, $3)|0; - $32 = (($$056$lcssa) + ($31))|0; - $33 = (($0) + ($32<<2)|0); - $34 = +HEAPF32[$33>>2]; - $35 = $34 * 255.0; - $36 = $35 + 0.5; - $37 = $36 < 0.0; - $$0 = $37 ? 0.0 : $36; - $38 = $$0 > 255.0; - $$1 = $38 ? 255.0 : $$0; - $39 = (~~(($$1))); - $40 = $39&255; - $41 = (($5) + ($32)|0); - HEAP8[$41>>0] = $40; - } - $42 = (($$05759) + 1)|0; - $exitcond61 = ($42|0)==($8|0); - if ($exitcond61) { - break; - } else { - $$05759 = $42; - } - } - } - _free($0); - $$054 = $5; - return ($$054|0); -} -function _stbi__malloc_mad3($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = Math_imul($1, $0)|0; - $6 = Math_imul($5, $2)|0; - $7 = (_stbi__malloc($6)|0); - $$0 = $7; - return ($$0|0); -} -function _stbi__mad3sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $12 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $12 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__addsizes_valid($8)|0); - $10 = ($9|0)!=(0); - $12 = $10; - } - } - $11 = $12&1; - return ($11|0); -} -function _stbi__do_png($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4>>>0)>(4); - if ($6) { - _stbi__err(6372); - $$045 = 0; - return ($$045|0); - } - $7 = (_stbi__parse_png_file($0,0,$4)|0); - $8 = ($7|0)==(0); - if ($8) { - $$2 = 0; - } else { - $9 = ((($0)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(8); - $$ = $11 ? $10 : 8; - HEAP32[$5>>2] = $$; - $12 = ((($0)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$12>>2] = 0; - $14 = ($4|0)==(0); - if ($14) { - $$1 = $13; - } else { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==($4|0); - if ($18) { - $$1 = $13; - } else { - $19 = HEAP32[$5>>2]|0; - $20 = ($19|0)==(8); - $21 = ((($15)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$15>>2]|0; - if ($20) { - $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); - $$0 = $24; - } else { - $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); - $$0 = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $4; - $28 = ($$0|0)==(0|0); - if ($28) { - $$045 = 0; - return ($$045|0); - } else { - $$1 = $$0; - } - } - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; - $31 = ((($29)) + 4|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$2>>2] = $32; - $33 = ($3|0)==(0|0); - if ($33) { - $$2 = $$1; - } else { - $34 = ((($29)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$3>>2] = $35; - $$2 = $$1; - } - } - $36 = ((($0)) + 12|0); - $37 = HEAP32[$36>>2]|0; - _free($37); - HEAP32[$36>>2] = 0; - $38 = ((($0)) + 8|0); - $39 = HEAP32[$38>>2]|0; - _free($39); - HEAP32[$38>>2] = 0; - $40 = ((($0)) + 4|0); - $41 = HEAP32[$40>>2]|0; - _free($41); - HEAP32[$40>>2] = 0; - $$045 = $$2; - return ($$045|0); -} -function _stbi__parse_png_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0219 = 0, $$0208 = 0, $$0213 = 0, $$0216 = 0, $$0219 = 0, $$0228595 = 0, $$0230 = 0, $$0233 = 0, $$0237 = 0, $$0241593 = 0, $$0243 = 0, $$0247 = 0, $$1209 = 0, $$1214 = 0, $$1217 = 0, $$1220 = 0, $$1229590 = 0, $$1231 = 0, $$1242591 = 0; - var $$1248 = 0, $$2221 = 0, $$2235 = 0, $$2239 = 0, $$2245 = 0, $$256 = 0, $$3211 = 0, $$3222 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; - var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; - var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; - var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; - var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond250 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $3 = sp + 32|0; - $4 = sp + 22|0; - $5 = sp + 16|0; - $6 = sp + 8|0; - $7 = sp; - $8 = HEAP32[$0>>2]|0; - $9 = ((($0)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($0)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = (_stbi__check_png_header($8)|0); - $13 = ($12|0)==(0); - if ($13) { - $$7 = 0; - STACKTOP = sp;return ($$7|0); - } - $14 = ($1|0)==(1); - if ($14) { - $$7 = 1; - STACKTOP = sp;return ($$7|0); - } - $15 = ((($6)) + 4|0); - $16 = ((($8)) + 4|0); - $17 = ((($0)) + 16|0); - $18 = ((($8)) + 8|0); - $19 = ($1|0)==(2); - $20 = ((($8)) + 8|0); - $21 = ((($8)) + 8|0); - $22 = ((($0)) + 16|0); - $23 = ($1|0)==(2); - $24 = ($1|0)==(2); - $$0208 = 0;$$0213 = 0;$$0216 = 0;$$0219 = 0;$$0230 = 0;$$0233 = 0;$$0237 = 0;$$0243 = 1;$$0247 = 0; - L7: while(1) { - _stbi__get_chunk_header($6,$8); - $25 = HEAP32[$15>>2]|0; - $switch$split2D = ($25|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split52D = ($25|0)<(1229209940); - if ($switch$split52D) { - switch ($25|0) { - case 1130840649: { - break; - } - default: { - label = 105; - break L9; - } - } - $26 = HEAP32[$6>>2]|0; - _stbi__skip($8,$26); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = 1;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - $switch$split112D = ($25|0)<(1229278788); - if (!($switch$split112D)) { - switch ($25|0) { - case 1229278788: { - label = 85; - break L7; - break; - } - default: { - label = 105; - break L9; - } - } - } - switch ($25|0) { - case 1229209940: { - break; - } - default: { - label = 105; - break L9; - } - } - $130 = ($$0243|0)==(0); - if (!($130)) { - label = 70; - break L7; - } - $131 = ($$0208<<24>>24)==(0); - $132 = ($$0247|0)!=(0); - $or$cond = $132 | $131; - if (!($or$cond)) { - label = 72; - break L7; - } - if ($24) { - label = 74; - break L7; - } - $135 = HEAP32[$6>>2]|0; - $136 = (($135) + ($$0216))|0; - $137 = ($136|0)<($$0216|0); - if ($137) { - $$6$ph = 0; - break L7; - } - $138 = ($136>>>0)>($$0219>>>0); - if ($138) { - $139 = ($$0219|0)==(0); - $140 = ($135>>>0)>(4096); - $141 = $140 ? $135 : 4096; - $$$0219 = $139 ? $141 : $$0219; - $142 = HEAP32[$6>>2]|0; - $143 = (($142) + ($$0216))|0; - $$1220 = $$$0219; - while(1) { - $144 = ($143>>>0)>($$1220>>>0); - $145 = $$1220 << 1; - if ($144) { - $$1220 = $145; - } else { - break; - } - } - $146 = HEAP32[$10>>2]|0; - $147 = (_realloc($146,$$1220)|0); - $148 = ($147|0)==(0|0); - if ($148) { - label = 81; - break L7; - } - HEAP32[$10>>2] = $147; - $$2221 = $$1220; - } else { - $$2221 = $$0219; - } - $149 = HEAP32[$10>>2]|0; - $150 = (($149) + ($$0216)|0); - $151 = HEAP32[$6>>2]|0; - $152 = (_stbi__getn($8,$150,$151)|0); - $153 = ($152|0)==(0); - if ($153) { - label = 83; - break L7; - } - $154 = HEAP32[$6>>2]|0; - $155 = (($154) + ($$0216))|0; - $$1214 = $$0213;$$1217 = $155;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$2221; - } else { - $switch$split82D = ($25|0)<(1347179589); - if ($switch$split82D) { - switch ($25|0) { - case 1229472850: { - break; - } - default: { - label = 105; - break L9; - } - } - $27 = ($$0243|0)==(0); - if ($27) { - label = 7; - break L7; - } - $28 = HEAP32[$6>>2]|0; - $29 = ($28|0)==(13); - if (!($29)) { - label = 9; - break L7; - } - $30 = (_stbi__get32be($8)|0); - HEAP32[$8>>2] = $30; - $31 = ($30>>>0)>(16777216); - if ($31) { - label = 11; - break L7; - } - $32 = (_stbi__get32be($8)|0); - HEAP32[$16>>2] = $32; - $33 = ($32>>>0)>(16777216); - if ($33) { - label = 13; - break L7; - } - $34 = (_stbi__get8($8)|0); - $35 = $34&255; - HEAP32[$17>>2] = $35; - switch ($34<<24>>24) { - case 16: case 8: case 4: case 2: case 1: { - break; - } - default: { - label = 15; - break L7; - } - } - $36 = (_stbi__get8($8)|0); - $37 = $36&255; - $38 = ($36&255)>(6); - if ($38) { - label = 17; - break L7; - } - $39 = ($36<<24>>24)==(3); - if ($39) { - $40 = HEAP32[$17>>2]|0; - $41 = ($40|0)==(16); - if ($41) { - label = 20; - break L7; - } else { - $$1209 = 3; - } - } else { - $42 = $37 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$1209 = $$0208; - } else { - label = 22; - break L7; - } - } - $44 = (_stbi__get8($8)|0); - $45 = ($44<<24>>24)==(0); - if (!($45)) { - label = 24; - break L7; - } - $46 = (_stbi__get8($8)|0); - $47 = ($46<<24>>24)==(0); - if (!($47)) { - label = 26; - break L7; - } - $48 = (_stbi__get8($8)|0); - $49 = $48&255; - $50 = ($48&255)>(1); - if ($50) { - label = 28; - break L7; - } - $51 = HEAP32[$8>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - label = 31; - break L7; - } - $53 = HEAP32[$16>>2]|0; - $54 = ($53|0)==(0); - if ($54) { - label = 31; - break L7; - } - $55 = ($$1209<<24>>24)==(0); - $56 = (1073741824 / ($51>>>0))&-1; - if (!($55)) { - HEAP32[$20>>2] = 1; - $63 = $56 >>> 2; - $64 = ($63>>>0)<($53>>>0); - if ($64) { - label = 37; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = $$1209;$$3222 = $$0219; - break; - } - } - $57 = $37 & 2; - $58 = $57 | 1; - $59 = $37 >>> 2; - $$lobit = $59 & 1; - $60 = (($58) + ($$lobit))|0; - HEAP32[$18>>2] = $60; - $61 = (($56>>>0) / ($60>>>0))&-1; - $62 = ($61>>>0)<($53>>>0); - if ($62) { - label = 34; - break L7; - } - if ($19) { - $$6$ph = 1; - break L7; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $37;$$2239 = $49;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - } - $switch$split142D = ($25|0)<(1951551059); - if ($switch$split142D) { - switch ($25|0) { - case 1347179589: { - break; - } - default: { - label = 105; - break L9; - } - } - $65 = ($$0243|0)==(0); - if (!($65)) { - label = 39; - break L7; - } - $66 = HEAP32[$6>>2]|0; - $67 = ($66>>>0)>(768); - if ($67) { - label = 41; - break L7; - } - $68 = (($66>>>0) / 3)&-1; - $69 = ($68*3)|0; - $70 = ($69|0)==($66|0); - if (!($70)) { - label = 44; - break L7; - } - $71 = ($66>>>0)>(2); - if ($71) { - $$0228595 = 0; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - break; - } - while(1) { - $72 = (_stbi__get8($8)|0); - $73 = $$0228595 << 2; - $74 = (($3) + ($73)|0); - HEAP8[$74>>0] = $72; - $75 = (_stbi__get8($8)|0); - $76 = $73 | 1; - $77 = (($3) + ($76)|0); - HEAP8[$77>>0] = $75; - $78 = (_stbi__get8($8)|0); - $79 = $73 | 2; - $80 = (($3) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = $73 | 3; - $82 = (($3) + ($81)|0); - HEAP8[$82>>0] = -1; - $83 = (($$0228595) + 1)|0; - $84 = ($83>>>0)<($68>>>0); - if ($84) { - $$0228595 = $83; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $68;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break L9; - } - } - } - switch ($25|0) { - case 1951551059: { - break; - } - default: { - label = 105; - break L9; - } - } - $85 = ($$0243|0)==(0); - if (!($85)) { - label = 47; - break L7; - } - $86 = HEAP32[$10>>2]|0; - $87 = ($86|0)==(0|0); - if (!($87)) { - label = 49; - break L7; - } - $88 = ($$0208<<24>>24)==(0); - if (!($88)) { - if ($23) { - label = 52; - break L7; - } - $90 = ($$0247|0)==(0); - if ($90) { - label = 54; - break L7; - } - $91 = HEAP32[$6>>2]|0; - $92 = ($91>>>0)>($$0247>>>0); - if ($92) { - label = 58; - break L7; - } - $93 = HEAP32[$6>>2]|0; - $94 = ($93|0)==(0); - if ($94) { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 4;$$3222 = $$0219; - break; - } - $95 = HEAP32[$6>>2]|0; - $$1229590 = 0; - while(1) { - $96 = (_stbi__get8($8)|0); - $97 = $$1229590 << 2; - $98 = $97 | 3; - $99 = (($3) + ($98)|0); - HEAP8[$99>>0] = $96; - $100 = (($$1229590) + 1)|0; - $101 = ($100>>>0)<($95>>>0); - if ($101) { - $$1229590 = $100; - } else { - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = 4;$$3222 = $$0219; - break L9; - } - } - } - $102 = HEAP32[$21>>2]|0; - $103 = $102 & 1; - $104 = ($103|0)==(0); - if ($104) { - label = 61; - break L7; - } - $105 = HEAP32[$6>>2]|0; - $106 = $102 << 1; - $107 = ($105|0)==($106|0); - if (!($107)) { - label = 63; - break L7; - } - $108 = HEAP32[$22>>2]|0; - $109 = ($108|0)==(16); - $110 = HEAP32[$21>>2]|0; - $111 = ($110|0)>(0); - if ($109) { - if ($111) { - $$0241593 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $112 = (_stbi__get16be($8)|0); - $113 = $112&65535; - $114 = (($5) + ($$0241593<<1)|0); - HEAP16[$114>>1] = $113; - $115 = (($$0241593) + 1)|0; - $116 = HEAP32[$21>>2]|0; - $117 = ($115|0)<($116|0); - if ($117) { - $$0241593 = $115; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } else { - if ($111) { - $$1242591 = 0; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = 0;$$3222 = $$0219; - break; - } - while(1) { - $118 = (_stbi__get16be($8)|0); - $119 = $118 & 255; - $120 = HEAP32[$22>>2]|0; - $121 = (6688 + ($120)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = Math_imul($123, $119)|0; - $125 = $124&255; - $126 = (($4) + ($$1242591)|0); - HEAP8[$126>>0] = $125; - $127 = (($$1242591) + 1)|0; - $128 = HEAP32[$21>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $$1242591 = $127; - } else { - $$1214 = 1;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = $$0243;$$3211 = $$0208;$$3222 = $$0219; - break; - } - } - } - } - } while(0); - if ((label|0) == 105) { - label = 0; - $205 = ($$0243|0)==(0); - if (!($205)) { - label = 106; - break; - } - $206 = $25 & 536870912; - $207 = ($206|0)==(0); - if ($207) { - label = 108; - break; - } - $216 = HEAP32[$6>>2]|0; - _stbi__skip($8,$216); - $$1214 = $$0213;$$1217 = $$0216;$$1231 = $$0230;$$1248 = $$0247;$$2235 = $$0233;$$2239 = $$0237;$$2245 = 0;$$3211 = $$0208;$$3222 = $$0219; - } - (_stbi__get32be($8)|0); - $$0208 = $$3211;$$0213 = $$1214;$$0216 = $$1217;$$0219 = $$3222;$$0230 = $$1231;$$0233 = $$2235;$$0237 = $$2239;$$0243 = $$2245;$$0247 = $$1248; - } - switch (label|0) { - case 7: { - _stbi__err(6462); - $$6$ph = 0; - break; - } - case 9: { - _stbi__err(6476); - $$6$ph = 0; - break; - } - case 11: { - _stbi__err(6489); - $$6$ph = 0; - break; - } - case 13: { - _stbi__err(6489); - $$6$ph = 0; - break; - } - case 15: { - _stbi__err(6499); - $$6$ph = 0; - break; - } - case 17: { - _stbi__err(6519); - $$6$ph = 0; - break; - } - case 20: { - _stbi__err(6519); - $$6$ph = 0; - break; - } - case 22: { - _stbi__err(6519); - $$6$ph = 0; - break; - } - case 24: { - _stbi__err(6529); - $$6$ph = 0; - break; - } - case 26: { - _stbi__err(6545); - $$6$ph = 0; - break; - } - case 28: { - _stbi__err(6563); - $$6$ph = 0; - break; - } - case 31: { - _stbi__err(6584); - $$6$ph = 0; - break; - } - case 34: { - _stbi__err(6489); - $$6$ph = 0; - break; - } - case 37: { - _stbi__err(6489); - $$6$ph = 0; - break; - } - case 39: { - _stbi__err(6598); - $$6$ph = 0; - break; - } - case 41: { - _stbi__err(6613); - $$6$ph = 0; - break; - } - case 44: { - _stbi__err(6613); - $$6$ph = 0; - break; - } - case 47: { - _stbi__err(6598); - $$6$ph = 0; - break; - } - case 49: { - _stbi__err(6626); - $$6$ph = 0; - break; - } - case 52: { - $89 = ((($8)) + 8|0); - HEAP32[$89>>2] = 4; - $$6$ph = 1; - break; - } - case 54: { - _stbi__err(6642); - $$6$ph = 0; - break; - } - case 58: { - _stbi__err(6659); - $$6$ph = 0; - break; - } - case 61: { - _stbi__err(6672); - $$6$ph = 0; - break; - } - case 63: { - _stbi__err(6659); - $$6$ph = 0; - break; - } - case 70: { - _stbi__err(6598); - $$6$ph = 0; - break; - } - case 72: { - _stbi__err(6697); - $$6$ph = 0; - break; - } - case 74: { - $133 = $$0208&255; - $134 = ((($8)) + 8|0); - HEAP32[$134>>2] = $133; - $$6$ph = 1; - break; - } - case 81: { - _stbi__err(6282); - $$6$ph = 0; - break; - } - case 83: { - _stbi__err(6705); - $$6$ph = 0; - break; - } - case 85: { - $156 = ($$0243|0)==(0); - do { - if ($156) { - $157 = ($1|0)==(0); - if ($157) { - $158 = HEAP32[$10>>2]|0; - $159 = ($158|0)==(0|0); - if ($159) { - _stbi__err(6715); - $$4 = 0; - break; - } - $160 = HEAP32[$8>>2]|0; - $161 = ((($0)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = Math_imul($162, $160)|0; - $164 = (($163) + 7)|0; - $165 = $164 >>> 3; - $166 = ((($8)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = ((($8)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = Math_imul($169, $167)|0; - $171 = Math_imul($170, $165)|0; - $172 = (($171) + ($167))|0; - HEAP32[$7>>2] = $172; - $173 = ($$0230|0)!=(0); - $174 = $173 ^ 1; - $175 = $174&1; - $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0216,$172,$7,$175)|0); - HEAP32[$9>>2] = $176; - $177 = ($176|0)==(0|0); - if ($177) { - $$4 = 0; - } else { - $178 = HEAP32[$10>>2]|0; - _free($178); - HEAP32[$10>>2] = 0; - $179 = HEAP32[$168>>2]|0; - $180 = (($179) + 1)|0; - $notlhs = ($180|0)!=($2|0); - $notrhs = ($2|0)==(3); - $or$cond5$not = $notrhs | $notlhs; - $181 = ($$0208<<24>>24)!=(0); - $or$cond7 = $181 | $or$cond5$not; - $182 = ($$0213<<24>>24)==(0); - $or$cond250 = $182 & $or$cond7; - $$256 = $or$cond250 ? $179 : $180; - $183 = ((($8)) + 12|0); - HEAP32[$183>>2] = $$256; - $184 = HEAP32[$9>>2]|0; - $185 = HEAP32[$7>>2]|0; - $186 = HEAP32[$161>>2]|0; - $187 = (_stbi__create_png_image($0,$184,$185,$$256,$186,$$0233,$$0237)|0); - $188 = ($187|0)==(0); - if ($188) { - $$4 = 0; - } else { - $189 = ($$0213<<24>>24)!=(0); - do { - if ($189) { - $190 = HEAP32[$161>>2]|0; - $191 = ($190|0)==(16); - if ($191) { - $192 = HEAP32[$183>>2]|0; - _stbi__compute_transparency16($0,$5,$192); - break; - } else { - $193 = HEAP32[$183>>2]|0; - _stbi__compute_transparency($0,$4,$193); - break; - } - } - } while(0); - $194 = HEAP32[5038]|0; - $195 = ($194|0)!=(0); - $or$cond11 = $173 & $195; - if ($or$cond11) { - $196 = HEAP32[$183>>2]|0; - $197 = ($196|0)>(2); - if ($197) { - _stbi__de_iphone($0); - } - } - if ($181) { - $198 = $$0208&255; - HEAP32[$168>>2] = $198; - $199 = ($2|0)>(2); - $$ = $199 ? $2 : $198; - HEAP32[$183>>2] = $$; - $200 = (_stbi__expand_png_palette($0,$3,$$)|0); - $201 = ($200|0)==(0); - if ($201) { - $$4 = 0; - break; - } - } else { - if ($189) { - $202 = HEAP32[$168>>2]|0; - $203 = (($202) + 1)|0; - HEAP32[$168>>2] = $203; - } - } - $204 = HEAP32[$9>>2]|0; - _free($204); - HEAP32[$9>>2] = 0; - $$4 = 1; - } - } - } else { - $$4 = 1; - } - } else { - _stbi__err(6598); - $$4 = 0; - } - } while(0); - $$6$ph = $$4; - break; - } - case 106: { - _stbi__err(6598); - $$6$ph = 0; - break; - } - case 108: { - $208 = $25 >>> 24; - $209 = $208&255; - HEAP8[6723] = $209; - $210 = HEAP32[$15>>2]|0; - $211 = $210 >>> 16; - $212 = $211&255; - HEAP8[(6724)>>0] = $212; - $213 = $210 >>> 8; - $214 = $213&255; - HEAP8[(6725)>>0] = $214; - $215 = $210&255; - HEAP8[(6726)>>0] = $215; - _stbi__err(6723); - $$6$ph = 0; - break; - } - } - $$7 = $$6$ph; - STACKTOP = sp;return ($$7|0); -} -function _stbi__convert_format($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6385|0),(6317|0),1477,(6441|0)); - // unreachable; - } - $7 = (_stbi__malloc_mad3($2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - _free($0); - _stbi__err(6282); - $$0163 = 0; - return ($$0163|0); - } - $9 = ($4|0)>(0); - L11: do { - if ($9) { - $10 = $1 << 3; - $11 = (($10) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $12 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $13 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $14 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $15 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $16 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $17 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $18 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $19 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $20 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $21 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $22 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $23 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $24 = Math_imul($$0164259, $3)|0; - $25 = Math_imul($24, $1)|0; - $26 = (($0) + ($25)|0); - $27 = Math_imul($24, $2)|0; - $28 = (($7) + ($27)|0); - do { - switch ($11|0) { - case 10: { - if ($12) { - $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; - while(1) { - $29 = HEAP8[$$0151255>>0]|0; - HEAP8[$$0256>>0] = $29; - $30 = ((($$0256)) + 1|0); - HEAP8[$30>>0] = -1; - $31 = ((($$0151255)) + 1|0); - $32 = ((($$0256)) + 2|0); - $$0165 = (($$0165257) + -1)|0; - $33 = ($$0165|0)>(-1); - if ($33) { - $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; - } else { - break; - } - } - } - break; - } - case 11: { - if ($13) { - $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; - while(1) { - $34 = HEAP8[$$1152250>>0]|0; - $35 = ((($$1251)) + 2|0); - HEAP8[$35>>0] = $34; - $36 = ((($$1251)) + 1|0); - HEAP8[$36>>0] = $34; - HEAP8[$$1251>>0] = $34; - $37 = ((($$1152250)) + 1|0); - $38 = ((($$1251)) + 3|0); - $$1166 = (($$1166252) + -1)|0; - $39 = ($$1166|0)>(-1); - if ($39) { - $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; - } else { - break; - } - } - } - break; - } - case 12: { - if ($14) { - $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; - while(1) { - $40 = HEAP8[$$2153245>>0]|0; - $41 = ((($$2246)) + 2|0); - HEAP8[$41>>0] = $40; - $42 = ((($$2246)) + 1|0); - HEAP8[$42>>0] = $40; - HEAP8[$$2246>>0] = $40; - $43 = ((($$2246)) + 3|0); - HEAP8[$43>>0] = -1; - $44 = ((($$2153245)) + 1|0); - $45 = ((($$2246)) + 4|0); - $$2167 = (($$2167247) + -1)|0; - $46 = ($$2167|0)>(-1); - if ($46) { - $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; - } else { - break; - } - } - } - break; - } - case 17: { - if ($15) { - $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; - while(1) { - $47 = HEAP8[$$3154240>>0]|0; - HEAP8[$$3241>>0] = $47; - $48 = ((($$3154240)) + 2|0); - $49 = ((($$3241)) + 1|0); - $$3168 = (($$3168242) + -1)|0; - $50 = ($$3168|0)>(-1); - if ($50) { - $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; - } else { - break; - } - } - } - break; - } - case 19: { - if ($16) { - $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; - while(1) { - $51 = HEAP8[$$4155235>>0]|0; - $52 = ((($$4236)) + 2|0); - HEAP8[$52>>0] = $51; - $53 = ((($$4236)) + 1|0); - HEAP8[$53>>0] = $51; - HEAP8[$$4236>>0] = $51; - $54 = ((($$4155235)) + 2|0); - $55 = ((($$4236)) + 3|0); - $$4169 = (($$4169237) + -1)|0; - $56 = ($$4169|0)>(-1); - if ($56) { - $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; - } else { - break; - } - } - } - break; - } - case 20: { - if ($17) { - $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; - while(1) { - $57 = HEAP8[$$5156230>>0]|0; - $58 = ((($$5231)) + 2|0); - HEAP8[$58>>0] = $57; - $59 = ((($$5231)) + 1|0); - HEAP8[$59>>0] = $57; - HEAP8[$$5231>>0] = $57; - $60 = ((($$5156230)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((($$5231)) + 3|0); - HEAP8[$62>>0] = $61; - $63 = ((($$5156230)) + 2|0); - $64 = ((($$5231)) + 4|0); - $$5170 = (($$5170232) + -1)|0; - $65 = ($$5170|0)>(-1); - if ($65) { - $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; - } else { - break; - } - } - } - break; - } - case 28: { - if ($18) { - $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; - while(1) { - $66 = HEAP8[$$6157225>>0]|0; - HEAP8[$$6226>>0] = $66; - $67 = ((($$6157225)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($$6226)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ((($$6226)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = ((($$6226)) + 3|0); - HEAP8[$73>>0] = -1; - $74 = ((($$6157225)) + 3|0); - $75 = ((($$6226)) + 4|0); - $$6171 = (($$6171227) + -1)|0; - $76 = ($$6171|0)>(-1); - if ($76) { - $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; - } else { - break; - } - } - } - break; - } - case 25: { - if ($19) { - $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; - while(1) { - $77 = HEAP8[$$7158220>>0]|0; - $78 = $77&255; - $79 = ((($$7158220)) + 1|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__compute_y($78,$81,$84)|0); - HEAP8[$$7221>>0] = $85; - $86 = ((($$7158220)) + 3|0); - $87 = ((($$7221)) + 1|0); - $$7172 = (($$7172222) + -1)|0; - $88 = ($$7172|0)>(-1); - if ($88) { - $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; - } else { - break; - } - } - } - break; - } - case 26: { - if ($20) { - $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; - while(1) { - $89 = HEAP8[$$8159215>>0]|0; - $90 = $89&255; - $91 = ((($$8159215)) + 1|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = (_stbi__compute_y($90,$93,$96)|0); - HEAP8[$$8216>>0] = $97; - $98 = ((($$8216)) + 1|0); - HEAP8[$98>>0] = -1; - $99 = ((($$8159215)) + 3|0); - $100 = ((($$8216)) + 2|0); - $$8173 = (($$8173217) + -1)|0; - $101 = ($$8173|0)>(-1); - if ($101) { - $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; - } else { - break; - } - } - } - break; - } - case 33: { - if ($21) { - $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; - while(1) { - $102 = HEAP8[$$9160210>>0]|0; - $103 = $102&255; - $104 = ((($$9160210)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (_stbi__compute_y($103,$106,$109)|0); - HEAP8[$$9211>>0] = $110; - $111 = ((($$9160210)) + 4|0); - $112 = ((($$9211)) + 1|0); - $$9174 = (($$9174212) + -1)|0; - $113 = ($$9174|0)>(-1); - if ($113) { - $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; - } else { - break; - } - } - } - break; - } - case 34: { - if ($22) { - $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; - while(1) { - $114 = HEAP8[$$10161205>>0]|0; - $115 = $114&255; - $116 = ((($$10161205)) + 1|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = (_stbi__compute_y($115,$118,$121)|0); - HEAP8[$$10206>>0] = $122; - $123 = ((($$10161205)) + 3|0); - $124 = HEAP8[$123>>0]|0; - $125 = ((($$10206)) + 1|0); - HEAP8[$125>>0] = $124; - $126 = ((($$10161205)) + 4|0); - $127 = ((($$10206)) + 2|0); - $$10175 = (($$10175207) + -1)|0; - $128 = ($$10175|0)>(-1); - if ($128) { - $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; - } else { - break; - } - } - } - break; - } - case 35: { - if ($23) { - $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; - while(1) { - $129 = HEAP8[$$11162201>>0]|0; - HEAP8[$$11202>>0] = $129; - $130 = ((($$11162201)) + 1|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($$11202)) + 1|0); - HEAP8[$132>>0] = $131; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP8[$133>>0]|0; - $135 = ((($$11202)) + 2|0); - HEAP8[$135>>0] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = ((($$11202)) + 3|0); - $$11176 = (($$11176203) + -1)|0; - $138 = ($$11176|0)>(-1); - if ($138) { - $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $139 = (($$0164259) + 1)|0; - $140 = ($139|0)<($4|0); - if ($140) { - $$0164259 = $139; - } else { - break L11; - } - } - ___assert_fail((6439|0),(6317|0),1506,(6441|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $7; - return ($$0163|0); -} -function _stbi__convert_format16($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((6385|0),(6317|0),1526,(6416|0)); - // unreachable; - } - $7 = $2 << 1; - $8 = Math_imul($7, $3)|0; - $9 = Math_imul($8, $4)|0; - $10 = (_stbi__malloc($9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($0); - _stbi__err(6282); - $$0163 = 0; - return ($$0163|0); - } - $12 = ($4|0)>(0); - L11: do { - if ($12) { - $13 = $1 << 3; - $14 = (($13) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $15 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $16 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $17 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $18 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $19 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $20 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $21 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $22 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $23 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $24 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $25 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $26 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $27 = Math_imul($$0164259, $3)|0; - $28 = Math_imul($27, $1)|0; - $29 = (($0) + ($28<<1)|0); - $30 = Math_imul($27, $2)|0; - $31 = (($10) + ($30<<1)|0); - do { - switch ($14|0) { - case 10: { - if ($15) { - $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; - while(1) { - $32 = HEAP16[$$0151255>>1]|0; - HEAP16[$$0256>>1] = $32; - $33 = ((($$0256)) + 2|0); - HEAP16[$33>>1] = -1; - $34 = ((($$0151255)) + 2|0); - $35 = ((($$0256)) + 4|0); - $$0165 = (($$0165257) + -1)|0; - $36 = ($$0165|0)>(-1); - if ($36) { - $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; - } else { - break; - } - } - } - break; - } - case 11: { - if ($16) { - $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; - while(1) { - $37 = HEAP16[$$1152250>>1]|0; - $38 = ((($$1251)) + 4|0); - HEAP16[$38>>1] = $37; - $39 = ((($$1251)) + 2|0); - HEAP16[$39>>1] = $37; - HEAP16[$$1251>>1] = $37; - $40 = ((($$1152250)) + 2|0); - $41 = ((($$1251)) + 6|0); - $$1166 = (($$1166252) + -1)|0; - $42 = ($$1166|0)>(-1); - if ($42) { - $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; - } else { - break; - } - } - } - break; - } - case 12: { - if ($17) { - $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; - while(1) { - $43 = HEAP16[$$2153245>>1]|0; - $44 = ((($$2246)) + 4|0); - HEAP16[$44>>1] = $43; - $45 = ((($$2246)) + 2|0); - HEAP16[$45>>1] = $43; - HEAP16[$$2246>>1] = $43; - $46 = ((($$2246)) + 6|0); - HEAP16[$46>>1] = -1; - $47 = ((($$2153245)) + 2|0); - $48 = ((($$2246)) + 8|0); - $$2167 = (($$2167247) + -1)|0; - $49 = ($$2167|0)>(-1); - if ($49) { - $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; - } else { - break; - } - } - } - break; - } - case 17: { - if ($18) { - $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; - while(1) { - $50 = HEAP16[$$3154240>>1]|0; - HEAP16[$$3241>>1] = $50; - $51 = ((($$3154240)) + 4|0); - $52 = ((($$3241)) + 2|0); - $$3168 = (($$3168242) + -1)|0; - $53 = ($$3168|0)>(-1); - if ($53) { - $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; - } else { - break; - } - } - } - break; - } - case 19: { - if ($19) { - $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; - while(1) { - $54 = HEAP16[$$4155235>>1]|0; - $55 = ((($$4236)) + 4|0); - HEAP16[$55>>1] = $54; - $56 = ((($$4236)) + 2|0); - HEAP16[$56>>1] = $54; - HEAP16[$$4236>>1] = $54; - $57 = ((($$4155235)) + 4|0); - $58 = ((($$4236)) + 6|0); - $$4169 = (($$4169237) + -1)|0; - $59 = ($$4169|0)>(-1); - if ($59) { - $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; - } else { - break; - } - } - } - break; - } - case 20: { - if ($20) { - $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; - while(1) { - $60 = HEAP16[$$5156230>>1]|0; - $61 = ((($$5231)) + 4|0); - HEAP16[$61>>1] = $60; - $62 = ((($$5231)) + 2|0); - HEAP16[$62>>1] = $60; - HEAP16[$$5231>>1] = $60; - $63 = ((($$5156230)) + 2|0); - $64 = HEAP16[$63>>1]|0; - $65 = ((($$5231)) + 6|0); - HEAP16[$65>>1] = $64; - $66 = ((($$5156230)) + 4|0); - $67 = ((($$5231)) + 8|0); - $$5170 = (($$5170232) + -1)|0; - $68 = ($$5170|0)>(-1); - if ($68) { - $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; - } else { - break; - } - } - } - break; - } - case 28: { - if ($21) { - $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; - while(1) { - $69 = HEAP16[$$6157225>>1]|0; - HEAP16[$$6226>>1] = $69; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP16[$70>>1]|0; - $72 = ((($$6226)) + 2|0); - HEAP16[$72>>1] = $71; - $73 = ((($$6157225)) + 4|0); - $74 = HEAP16[$73>>1]|0; - $75 = ((($$6226)) + 4|0); - HEAP16[$75>>1] = $74; - $76 = ((($$6226)) + 6|0); - HEAP16[$76>>1] = -1; - $77 = ((($$6157225)) + 6|0); - $78 = ((($$6226)) + 8|0); - $$6171 = (($$6171227) + -1)|0; - $79 = ($$6171|0)>(-1); - if ($79) { - $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; - } else { - break; - } - } - } - break; - } - case 25: { - if ($22) { - $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; - while(1) { - $80 = HEAP16[$$7158220>>1]|0; - $81 = $80&65535; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = ((($$7158220)) + 4|0); - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = (_stbi__compute_y_16($81,$84,$87)|0); - HEAP16[$$7221>>1] = $88; - $89 = ((($$7158220)) + 6|0); - $90 = ((($$7221)) + 2|0); - $$7172 = (($$7172222) + -1)|0; - $91 = ($$7172|0)>(-1); - if ($91) { - $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; - } else { - break; - } - } - } - break; - } - case 26: { - if ($23) { - $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; - while(1) { - $92 = HEAP16[$$8159215>>1]|0; - $93 = $92&65535; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = ((($$8159215)) + 4|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = (_stbi__compute_y_16($93,$96,$99)|0); - HEAP16[$$8216>>1] = $100; - $101 = ((($$8216)) + 2|0); - HEAP16[$101>>1] = -1; - $102 = ((($$8159215)) + 6|0); - $103 = ((($$8216)) + 4|0); - $$8173 = (($$8173217) + -1)|0; - $104 = ($$8173|0)>(-1); - if ($104) { - $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; - } else { - break; - } - } - } - break; - } - case 33: { - if ($24) { - $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; - while(1) { - $105 = HEAP16[$$9160210>>1]|0; - $106 = $105&65535; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - $110 = ((($$9160210)) + 4|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111&65535; - $113 = (_stbi__compute_y_16($106,$109,$112)|0); - HEAP16[$$9211>>1] = $113; - $114 = ((($$9160210)) + 8|0); - $115 = ((($$9211)) + 2|0); - $$9174 = (($$9174212) + -1)|0; - $116 = ($$9174|0)>(-1); - if ($116) { - $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; - } else { - break; - } - } - } - break; - } - case 34: { - if ($25) { - $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; - while(1) { - $117 = HEAP16[$$10161205>>1]|0; - $118 = $117&65535; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = ((($$10161205)) + 4|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = (_stbi__compute_y_16($118,$121,$124)|0); - HEAP16[$$10206>>1] = $125; - $126 = ((($$10161205)) + 6|0); - $127 = HEAP16[$126>>1]|0; - $128 = ((($$10206)) + 2|0); - HEAP16[$128>>1] = $127; - $129 = ((($$10161205)) + 8|0); - $130 = ((($$10206)) + 4|0); - $$10175 = (($$10175207) + -1)|0; - $131 = ($$10175|0)>(-1); - if ($131) { - $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; - } else { - break; - } - } - } - break; - } - case 35: { - if ($26) { - $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; - while(1) { - $132 = HEAP16[$$11162201>>1]|0; - HEAP16[$$11202>>1] = $132; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP16[$133>>1]|0; - $135 = ((($$11202)) + 2|0); - HEAP16[$135>>1] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = HEAP16[$136>>1]|0; - $138 = ((($$11202)) + 4|0); - HEAP16[$138>>1] = $137; - $139 = ((($$11162201)) + 8|0); - $140 = ((($$11202)) + 6|0); - $$11176 = (($$11176203) + -1)|0; - $141 = ($$11176|0)>(-1); - if ($141) { - $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $142 = (($$0164259) + 1)|0; - $143 = ($142|0)<($4|0); - if ($143) { - $$0164259 = $142; - } else { - break L11; - } - } - ___assert_fail((6439|0),(6317|0),1555,(6416|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $10; - return ($$0163|0); -} -function _stbi__compute_y_16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&65535; - return ($9|0); -} -function _stbi__compute_y($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&255; - return ($9|0); -} -function _stbi__check_png_header($0) { - $0 = $0|0; - var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = ($1<<24>>24)==(-119); - if ($2) { - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = (_stbi__get8($0)|0); - $6 = ($5<<24>>24)==(78); - if ($6) { - $7 = (_stbi__get8($0)|0); - $8 = ($7<<24>>24)==(71); - if ($8) { - $9 = (_stbi__get8($0)|0); - $10 = ($9<<24>>24)==(13); - if ($10) { - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $13 = (_stbi__get8($0)|0); - $14 = ($13<<24>>24)==(26); - if ($14) { - $15 = (_stbi__get8($0)|0); - $16 = ($15<<24>>24)==(10); - if ($16) { - $$05 = 1; - return ($$05|0); - } - } - } - } - } - } - } - } - _stbi__err(7719); - $$05 = 0; - return ($$05|0); -} -function _stbi__get_chunk_header($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__get32be($1)|0); - $3 = (_stbi__get32be($1)|0); - HEAP32[$0>>2] = $2; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; - return; -} -function _stbi__skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(0); - if ($2) { - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 168|0); - HEAP32[$5>>2] = $4; - return; - } - $6 = ((($0)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 168|0); - $12 = HEAP32[$11>>2]|0; - $13 = $10; - $14 = (($13) - ($12))|0; - $15 = ($14|0)<($1|0); - if ($15) { - HEAP32[$11>>2] = $10; - $16 = ((($0)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($1) - ($14))|0; - FUNCTION_TABLE_vii[$17 & 63]($19,$20); - return; - } - } - $21 = ((($0)) + 168|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($1)|0); - HEAP32[$21>>2] = $23; - return; -} -function _stbi__get32be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get16be($0)|0); - $2 = $1 << 16; - $3 = (_stbi__get16be($0)|0); - $4 = (($2) + ($3))|0; - return ($4|0); -} -function _stbi__get8($0) { - $0 = $0|0; - var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 168|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)<($4>>>0); - do { - if ($5) { - $$sink6 = $2; - } else { - $6 = ((($0)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - _stbi__refill_buffer($0); - $9 = HEAP32[$1>>2]|0; - $$sink6 = $9; - break; - } - } - } while(0); - $10 = ((($$sink6)) + 1|0); - HEAP32[$1>>2] = $10; - $11 = HEAP8[$$sink6>>0]|0; - $$0 = $11; - return ($$0|0); -} -function _stbi__get16be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = $1&255; - $3 = $2 << 8; - $4 = (_stbi__get8($0)|0); - $5 = $4&255; - $6 = $3 | $5; - return ($6|0); -} -function _stbi__getn($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($0)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 168|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - $11 = (($7) - ($10))|0; - $12 = ($11|0)<($2|0); - if ($12) { - _memcpy(($1|0),($9|0),($11|0))|0; - $13 = HEAP32[$3>>2]|0; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($1) + ($11)|0); - $17 = (($2) - ($11))|0; - $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); - $19 = ($18|0)==($17|0); - $20 = $19&1; - $21 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = $21; - $$1 = $20; - return ($$1|0); - } - } - $22 = ((($0)) + 168|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($2)|0); - $25 = ((($0)) + 172|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($24>>>0)>($26>>>0); - if ($27) { - $$1 = 0; - return ($$1|0); - } - _memcpy(($1|0),($23|0),($2|0))|0; - $28 = HEAP32[$22>>2]|0; - $29 = (($28) + ($2)|0); - HEAP32[$22>>2] = $29; - $$1 = 1; - return ($$1|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); - $5 = sp; - $6 = (_stbi__malloc($2)|0); - $7 = ($6|0)==(0|0); - do { - if ($7) { - $$0 = 0; - } else { - HEAP32[$5>>2] = $0; - $8 = (($0) + ($1)|0); - $9 = ((($5)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); - $11 = ($10|0)==(0); - $12 = ((($5)) + 20|0); - $13 = HEAP32[$12>>2]|0; - if ($11) { - _free($13); - $$0 = 0; - break; - } - $14 = ($3|0)==(0|0); - if ($14) { - $$0 = $13; - } else { - $15 = ((($5)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = $13; - $18 = (($16) - ($17))|0; - HEAP32[$3>>2] = $18; - $$0 = $13; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = ($4|0)==(16); - $8 = $7 ? 2 : 1; - $9 = Math_imul($8, $3)|0; - $10 = ($6|0)==(0); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($11)) + 4|0); - $14 = HEAP32[$13>>2]|0; - if ($10) { - $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); - $$4 = $15; - return ($$4|0); - } - $16 = (_stbi__malloc_mad3($12,$14,$9)|0); - $17 = ((($0)) + 12|0); - $18 = ((($0)) + 12|0); - $$0103117 = 0;$$095119 = $1;$$099118 = $2; - while(1) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (2984 + ($$0103117<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (3012 + ($$0103117<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($20) + -1)|0; - $26 = (($25) - ($22))|0; - $27 = (($26) + ($24))|0; - $28 = (($27>>>0) / ($24>>>0))&-1; - $29 = ((($19)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (3040 + ($$0103117<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (3068 + ($$0103117<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($30) + -1)|0; - $36 = (($35) - ($32))|0; - $37 = (($36) + ($34))|0; - $38 = (($37>>>0) / ($34>>>0))&-1; - $39 = ($24>>>0)<=($27>>>0); - $40 = ($34>>>0)<=($37>>>0); - $or$cond = $39 & $40; - if ($or$cond) { - $41 = ((($19)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = Math_imul($28, $4)|0; - $44 = Math_imul($43, $42)|0; - $45 = (($44) + 7)|0; - $46 = $45 >> 3; - $47 = (($46) + 1)|0; - $48 = Math_imul($47, $38)|0; - $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 13; - break; - } - $51 = ($38|0)>(0); - if ($51) { - $52 = ($28|0)>(0); - $$0106116 = 0; - while(1) { - if ($52) { - $53 = HEAP32[$33>>2]|0; - $54 = Math_imul($53, $$0106116)|0; - $55 = HEAP32[$31>>2]|0; - $56 = (($54) + ($55))|0; - $57 = HEAP32[$23>>2]|0; - $58 = HEAP32[$21>>2]|0; - $59 = Math_imul($56, $9)|0; - $60 = Math_imul($$0106116, $28)|0; - $$0107115 = 0; - while(1) { - $61 = Math_imul($57, $$0107115)|0; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($59, $64)|0; - $66 = (($16) + ($65)|0); - $67 = Math_imul($62, $9)|0; - $68 = (($66) + ($67)|0); - $69 = HEAP32[$18>>2]|0; - $70 = (($$0107115) + ($60))|0; - $71 = Math_imul($70, $9)|0; - $72 = (($69) + ($71)|0); - _memcpy(($68|0),($72|0),($9|0))|0; - $73 = (($$0107115) + 1)|0; - $74 = ($73|0)<($28|0); - if ($74) { - $$0107115 = $73; - } else { - break; - } - } - } - $75 = (($$0106116) + 1)|0; - $76 = ($75|0)<($38|0); - if ($76) { - $$0106116 = $75; - } else { - break; - } - } - } - $77 = HEAP32[$17>>2]|0; - _free($77); - $78 = (($$095119) + ($48)|0); - $79 = (($$099118) - ($48))|0; - $$3102$ph = $79;$$398$ph = $78; - } else { - $$3102$ph = $$099118;$$398$ph = $$095119; - } - $80 = (($$0103117) + 1)|0; - $81 = ($80|0)<(7); - if ($81) { - $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; - } else { - label = 15; - break; - } - } - if ((label|0) == 13) { - _free($16); - $$4 = 0; - return ($$4|0); - } - else if ((label|0) == 15) { - $82 = ((($0)) + 12|0); - HEAP32[$82>>2] = $16; - $$4 = 1; - return ($$4|0); - } - return (0)|0; -} -function _stbi__compute_transparency16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP16[$$04>>1]|0; - $15 = HEAP16[$1>>1]|0; - $not$ = ($14<<16>>16)!=($15<<16>>16); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 2|0); - HEAP16[$17>>1] = $16; - $18 = ((($$04)) + 4|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 2|0); - $12 = ((($1)) + 4|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP16[$$16>>1]|0; - $21 = HEAP16[$1>>1]|0; - $22 = ($20<<16>>16)==($21<<16>>16); - if ($22) { - $23 = ((($$16)) + 2|0); - $24 = HEAP16[$23>>1]|0; - $25 = HEAP16[$11>>1]|0; - $26 = ($24<<16>>16)==($25<<16>>16); - if ($26) { - $27 = ((($$16)) + 4|0); - $28 = HEAP16[$27>>1]|0; - $29 = HEAP16[$12>>1]|0; - $30 = ($28<<16>>16)==($29<<16>>16); - if ($30) { - $31 = ((($$16)) + 6|0); - HEAP16[$31>>1] = 0; - } - } - } - $32 = ((($$16)) + 8|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6782|0),(6317|0),4568,(6834|0)); - // unreachable; - } - } -} -function _stbi__compute_transparency($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP8[$$04>>0]|0; - $15 = HEAP8[$1>>0]|0; - $not$ = ($14<<24>>24)!=($15<<24>>24); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 1|0); - HEAP8[$17>>0] = $16; - $18 = ((($$04)) + 2|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 1|0); - $12 = ((($1)) + 2|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP8[$$16>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = ($20<<24>>24)==($21<<24>>24); - if ($22) { - $23 = ((($$16)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP8[$11>>0]|0; - $26 = ($24<<24>>24)==($25<<24>>24); - if ($26) { - $27 = ((($$16)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = HEAP8[$12>>0]|0; - $30 = ($28<<24>>24)==($29<<24>>24); - if ($30) { - $31 = ((($$16)) + 3|0); - HEAP8[$31>>0] = 0; - } - } - } - $32 = ((($$16)) + 4|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((6782|0),(6317|0),4543,(6807|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($0) { - $0 = $0|0; - var $$05461 = 0, $$062 = 0, $$15566 = 0, $$167 = 0, $$25663 = 0, $$264 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $exitcond = 0, $exitcond71 = 0; - var $exitcond72 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = Math_imul($4, $2)|0; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($1)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($9|0) { - case 3: { - $10 = ($5|0)==(0); - if ($10) { - return; - } else { - $$05461 = $7;$$062 = 0; - } - while(1) { - $11 = HEAP8[$$05461>>0]|0; - $12 = ((($$05461)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$$05461>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($$05461)) + 3|0); - $15 = (($$062) + 1)|0; - $exitcond = ($15|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05461 = $14;$$062 = $15; - } - } - return; - break; - } - case 4: { - $16 = HEAP32[5039]|0; - $17 = ($16|0)==(0); - $18 = ($5|0)!=(0); - if ($17) { - if ($18) { - $$25663 = $7;$$264 = 0; - } else { - return; - } - while(1) { - $46 = HEAP8[$$25663>>0]|0; - $47 = ((($$25663)) + 2|0); - $48 = HEAP8[$47>>0]|0; - HEAP8[$$25663>>0] = $48; - HEAP8[$47>>0] = $46; - $49 = ((($$25663)) + 4|0); - $50 = (($$264) + 1)|0; - $exitcond71 = ($50|0)==($5|0); - if ($exitcond71) { - break; - } else { - $$25663 = $49;$$264 = $50; - } - } - return; - } - if ($18) { - $$15566 = $7;$$167 = 0; - } else { - return; - } - while(1) { - $19 = ((($$15566)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = HEAP8[$$15566>>0]|0; - $22 = ($20<<24>>24)==(0); - $23 = ((($$15566)) + 2|0); - $24 = HEAP8[$23>>0]|0; - if ($22) { - HEAP8[$$15566>>0] = $24; - $$sink = $21; - } else { - $25 = $20&255; - $div = ($20&255) >>> 1; - $26 = $24&255; - $27 = ($26*255)|0; - $28 = $div&255; - $29 = (($27) + ($28))|0; - $30 = (($29>>>0) / ($25>>>0))&-1; - $31 = $30&255; - HEAP8[$$15566>>0] = $31; - $32 = ((($$15566)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35) + ($28))|0; - $37 = (($36>>>0) / ($25>>>0))&-1; - $38 = $37&255; - HEAP8[$32>>0] = $38; - $39 = $21&255; - $40 = ($39*255)|0; - $41 = (($40) + ($28))|0; - $42 = (($41>>>0) / ($25>>>0))&-1; - $43 = $42&255; - $$sink = $43; - } - HEAP8[$23>>0] = $$sink; - $44 = ((($$15566)) + 4|0); - $45 = (($$167) + 1)|0; - $exitcond72 = ($45|0)==($5|0); - if ($exitcond72) { - break; - } else { - $$15566 = $44;$$167 = $45; - } - } - return; - break; - } - default: { - ___assert_fail((6748|0),(6317|0),4649,(6766|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_stbi__malloc_mad2($7,$2)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(6282); - $$0 = 0; - return ($$0|0); - } - $12 = ($2|0)==(3); - $13 = ($7|0)!=(0); - if ($12) { - if ($13) { - $$0574 = 0;$$0583 = $10; - while(1) { - $14 = (($9) + ($$0574)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($1) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$$0583>>0] = $19; - $20 = $17 | 1; - $21 = (($1) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($$0583)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($1) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($$0583)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($$0583)) + 3|0); - $29 = (($$0574) + 1)|0; - $exitcond = ($29|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0574 = $29;$$0583 = $28; - } - } - } - } else { - if ($13) { - $$1595 = $10;$$16 = 0; - while(1) { - $30 = (($9) + ($$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($1) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$$1595>>0] = $35; - $36 = $33 | 1; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($$1595)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($1) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($$1595)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($1) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($$1595)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($$1595)) + 4|0); - $49 = (($$16) + 1)|0; - $exitcond9 = ($49|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1595 = $48;$$16 = $49; - } - } - } - } - $50 = HEAP32[$8>>2]|0; - _free($50); - HEAP32[$8>>2] = $10; - $$0 = 1; - return ($$0|0); -} -function _stbi__malloc_mad2($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mad2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__malloc($4)|0); - $$0 = $5; - return ($$0|0); -} -function _stbi__mad2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mul2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $8 = 0; - $7 = $8&1; - return ($7|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__addsizes_valid($4)|0); - $6 = ($5|0)!=(0); - $8 = $6; - $7 = $8&1; - return ($7|0); -} -function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $$0562 = 0, $$0562718 = 0, $$0562719 = 0, $$0565$lcssa = 0, $$0565709 = 0, $$0568$lcssa = 0, $$0568708 = 0, $$0571811 = 0, $$0582 = 0, $$0591 = 0, $$0602810 = 0, $$0605809 = 0, $$0608 = 0, $$0608787 = 0, $$0608790 = 0, $$0617808 = 0, $$0619728 = 0, $$0725 = 0, $$1 = 0, $$10629758 = 0; - var $$11$ph = 0, $$11630749 = 0, $$12741 = 0, $$13733 = 0, $$14$lcssa = 0, $$14707 = 0, $$15$lcssa = 0, $$1566$lcssa = 0, $$1566701 = 0, $$1569$lcssa = 0, $$1569700 = 0, $$15699 = 0, $$1572 = 0, $$16$lcssa = 0, $$1603 = 0, $$1606 = 0, $$1609 = 0, $$1609779 = 0, $$1609782 = 0, $$1618721 = 0; - var $$1620806 = 0, $$16694 = 0, $$1715 = 0, $$1716 = 0, $$2 = 0, $$2567$lcssa = 0, $$2567696 = 0, $$2573789 = 0, $$2593788 = 0, $$2610 = 0, $$2610770 = 0, $$2610774 = 0, $$2621804 = 0, $$3574781 = 0, $$3586772 = 0, $$3594780 = 0, $$3611 = 0, $$3611761 = 0, $$3611765 = 0, $$3622802 = 0; - var $$4$lcssa = 0, $$4575773 = 0, $$4587763 = 0, $$4595771 = 0, $$4612 = 0, $$4612752 = 0, $$4612756 = 0, $$4623800 = 0, $$4695 = 0, $$5576764 = 0, $$5588754 = 0, $$5596762 = 0, $$5613 = 0, $$5613744 = 0, $$5613747 = 0, $$5624798 = 0, $$6577755 = 0, $$6597753 = 0, $$6614 = 0, $$6614736 = 0; - var $$6614739 = 0, $$6625796 = 0, $$7578746 = 0, $$7598745 = 0, $$7615792 = 0, $$7626784 = 0, $$8579738 = 0, $$8599737 = 0, $$8616723 = 0, $$8627776 = 0, $$9580 = 0, $$9600793 = 0, $$9628767 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink635 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; - var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; - var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; - var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; - var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; - var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; - var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; - var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; - var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; - var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; - var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge888 = 0; - var $exitcond = 0, $exitcond858 = 0, $exitcond859 = 0, $exitcond861 = 0, $exitcond863 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond874 = 0, $exitcond875 = 0, $exitcond876 = 0, $exitcond877 = 0, $exitcond878 = 0, $exitcond879 = 0, $exitcond880 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next843 = 0, $indvars$iv$next846 = 0; - var $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv842 = 0, $indvars$iv845 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $or$cond = 0, $scevgep = 0, $scevgep844 = 0, $scevgep847 = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep860 = 0, $scevgep862 = 0, $scevgep864 = 0, $scevgep866 = 0, $scevgep868 = 0; - var $scevgep870 = 0, $scevgep873 = 0, $trunc = 0, $trunc631 = 0, $trunc632 = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = ($6|0)==(16); - $9 = $8 ? 2 : 1; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($4, $3)|0; - $12 = Math_imul($9, $11)|0; - $13 = ((($10)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = Math_imul($9, $3)|0; - $16 = Math_imul($14, $9)|0; - $17 = ($14|0)==($3|0); - $18 = (($14) + 1)|0; - $19 = ($18|0)==($3|0); - $or$cond = $17 | $19; - if (!($or$cond)) { - ___assert_fail((6863|0),(6317|0),4294,(6904|0)); - // unreachable; - } - $20 = (_stbi__malloc_mad3($4,$5,$15)|0); - $21 = ((($0)) + 12|0); - HEAP32[$21>>2] = $20; - $22 = ($20|0)==(0|0); - if ($22) { - _stbi__err(6282); - $$2 = 0; - return ($$2|0); - } - $23 = Math_imul($14, $4)|0; - $24 = Math_imul($23, $6)|0; - $25 = (($24) + 7)|0; - $26 = $25 >>> 3; - $27 = (($26) + 1)|0; - $28 = Math_imul($27, $5)|0; - $29 = ($28>>>0)>($2>>>0); - if ($29) { - _stbi__err(6931); - $$2 = 0; - return ($$2|0); - } - $30 = ($5|0)==(0); - L12: do { - if (!($30)) { - $31 = ($6|0)<(8); - $32 = ($26>>>0)>($4>>>0); - $33 = (($11) - ($26))|0; - $34 = (0 - ($12))|0; - $35 = ($6|0)==(8); - $brmerge = $31 | $17; - $36 = ($4|0)==(0); - $$0608787 = (($4) + -1)|0; - $37 = ($$0608787|0)==(0); - $$1609779 = (($4) + -1)|0; - $38 = ($$1609779|0)==(0); - $$2610770 = (($4) + -1)|0; - $39 = ($$2610770|0)==(0); - $$3611761 = (($4) + -1)|0; - $40 = ($$3611761|0)==(0); - $$4612752 = (($4) + -1)|0; - $41 = ($$4612752|0)==(0); - $$5613744 = (($4) + -1)|0; - $42 = ($$5613744|0)==(0); - $$6614736 = (($4) + -1)|0; - $43 = ($$6614736|0)==(0); - $$not = $8 ^ 1; - $brmerge888 = $36 | $$not; - $$0571811 = $1;$$0602810 = $4;$$0605809 = $16;$$0617808 = 0; - while(1) { - $44 = HEAP32[$21>>2]|0; - $45 = Math_imul($$0617808, $12)|0; - $46 = (($44) + ($45)|0); - $47 = ((($$0571811)) + 1|0); - $48 = HEAP8[$$0571811>>0]|0; - $49 = $48&255; - $50 = ($48&255)>(4); - if ($50) { - label = 101; - break; - } - if ($31) { - if ($32) { - label = 12; - break; - } - $51 = (($46) + ($33)|0); - $$0591 = $51;$$1603 = $26;$$1606 = 1; - } else { - $$0591 = $46;$$1603 = $$0602810;$$1606 = $$0605809; - } - $52 = (($$0591) + ($34)|0); - $53 = ($$0617808|0)==(0); - if ($53) { - $54 = (6970 + ($49)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0582 = $56; - } else { - $$0582 = $49; - } - $57 = ($$1606|0)>(0); - L24: do { - if ($57) { - $trunc632 = $$0582&255; - $$0619728 = 0; - while(1) { - switch ($trunc632<<24>>24) { - case 0: { - $58 = (($47) + ($$0619728)|0); - $59 = HEAP8[$58>>0]|0; - $$sink = $59; - label = 26; - break; - } - case 1: { - $60 = (($47) + ($$0619728)|0); - $61 = HEAP8[$60>>0]|0; - $$sink = $61; - label = 26; - break; - } - case 2: { - $62 = (($47) + ($$0619728)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = (($52) + ($$0619728)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = (($67) + ($64))|0; - $69 = $68&255; - $$sink = $69; - label = 26; - break; - } - case 3: { - $70 = (($47) + ($$0619728)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = (($52) + ($$0619728)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $$sink = $78; - label = 26; - break; - } - case 4: { - $79 = (($47) + ($$0619728)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (($52) + ($$0619728)|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__paeth(0,$84,0)|0); - $86 = (($85) + ($81))|0; - $87 = $86&255; - $$sink = $87; - label = 26; - break; - } - case 5: { - $88 = (($47) + ($$0619728)|0); - $89 = HEAP8[$88>>0]|0; - $$sink = $89; - label = 26; - break; - } - case 6: { - $90 = (($47) + ($$0619728)|0); - $91 = HEAP8[$90>>0]|0; - $$sink = $91; - label = 26; - break; - } - default: { - } - } - if ((label|0) == 26) { - label = 0; - $$sink1 = (($$0591) + ($$0619728)|0); - HEAP8[$$sink1>>0] = $$sink; - } - $92 = (($$0619728) + 1)|0; - $exitcond858 = ($92|0)==($$1606|0); - if ($exitcond858) { - break L24; - } else { - $$0619728 = $92; - } - } - } - } while(0); - do { - if ($35) { - if (!($17)) { - $93 = (($$0591) + ($14)|0); - HEAP8[$93>>0] = -1; - } - $94 = (($47) + ($14)|0); - $$1572 = $94;$$sink635 = $3; - } else { - if (!($8)) { - $99 = ((($$0571811)) + 2|0); - $$1572 = $99;$$sink635 = 1; - break; - } - if (!($17)) { - $95 = (($$1606) + 1)|0; - $96 = (($$0591) + ($95)|0); - $97 = (($$0591) + ($$1606)|0); - HEAP8[$97>>0] = -1; - HEAP8[$96>>0] = -1; - } - $98 = (($47) + ($$1606)|0); - $$1572 = $98;$$sink635 = $15; - } - } while(0); - $100 = (($$0591) + ($$sink635)|0); - $101 = (($52) + ($$sink635)|0); - if ($brmerge) { - $102 = (($$1603) + -1)|0; - $103 = Math_imul($102, $$1606)|0; - $trunc631 = $$0582&255; - switch ($trunc631<<24>>24) { - case 0: { - _memcpy(($100|0),($$1572|0),($103|0))|0; - break; - } - case 1: { - $109 = ($103|0)>(0); - if ($109) { - $$1620806 = 0; - while(1) { - $110 = (($$1572) + ($$1620806)|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $113 = (($$1620806) - ($$1606))|0; - $114 = (($100) + ($113)|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = (($116) + ($112))|0; - $118 = $117&255; - $119 = (($100) + ($$1620806)|0); - HEAP8[$119>>0] = $118; - $120 = (($$1620806) + 1)|0; - $exitcond880 = ($120|0)==($103|0); - if ($exitcond880) { - break; - } else { - $$1620806 = $120; - } - } - } - break; - } - case 2: { - $108 = ($103|0)>(0); - if ($108) { - $$2621804 = 0; - while(1) { - $121 = (($$1572) + ($$2621804)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = (($101) + ($$2621804)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $127 = (($126) + ($123))|0; - $128 = $127&255; - $129 = (($100) + ($$2621804)|0); - HEAP8[$129>>0] = $128; - $130 = (($$2621804) + 1)|0; - $exitcond879 = ($130|0)==($103|0); - if ($exitcond879) { - break; - } else { - $$2621804 = $130; - } - } - } - break; - } - case 3: { - $107 = ($103|0)>(0); - if ($107) { - $$3622802 = 0; - while(1) { - $131 = (($$1572) + ($$3622802)|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - $134 = (($101) + ($$3622802)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $137 = (($$3622802) - ($$1606))|0; - $138 = (($100) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = (($140) + ($136))|0; - $142 = $141 >>> 1; - $143 = (($142) + ($133))|0; - $144 = $143&255; - $145 = (($100) + ($$3622802)|0); - HEAP8[$145>>0] = $144; - $146 = (($$3622802) + 1)|0; - $exitcond878 = ($146|0)==($103|0); - if ($exitcond878) { - break; - } else { - $$3622802 = $146; - } - } - } - break; - } - case 4: { - $106 = ($103|0)>(0); - if ($106) { - $$4623800 = 0; - while(1) { - $147 = (($$1572) + ($$4623800)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($$4623800) - ($$1606))|0; - $151 = (($100) + ($150)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = (($101) + ($$4623800)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = (($101) + ($150)|0); - $158 = HEAP8[$157>>0]|0; - $159 = $158&255; - $160 = (_stbi__paeth($153,$156,$159)|0); - $161 = (($160) + ($149))|0; - $162 = $161&255; - $163 = (($100) + ($$4623800)|0); - HEAP8[$163>>0] = $162; - $164 = (($$4623800) + 1)|0; - $exitcond877 = ($164|0)==($103|0); - if ($exitcond877) { - break; - } else { - $$4623800 = $164; - } - } - } - break; - } - case 5: { - $105 = ($103|0)>(0); - if ($105) { - $$5624798 = 0; - while(1) { - $165 = (($$1572) + ($$5624798)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = (($$5624798) - ($$1606))|0; - $169 = (($100) + ($168)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = $171 >>> 1; - $173 = (($172) + ($167))|0; - $174 = $173&255; - $175 = (($100) + ($$5624798)|0); - HEAP8[$175>>0] = $174; - $176 = (($$5624798) + 1)|0; - $exitcond876 = ($176|0)==($103|0); - if ($exitcond876) { - break; - } else { - $$5624798 = $176; - } - } - } - break; - } - case 6: { - $104 = ($103|0)>(0); - if ($104) { - $$6625796 = 0; - while(1) { - $177 = (($$1572) + ($$6625796)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $180 = (($$6625796) - ($$1606))|0; - $181 = (($100) + ($180)|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = (_stbi__paeth($183,0,0)|0); - $185 = (($184) + ($179))|0; - $186 = $185&255; - $187 = (($100) + ($$6625796)|0); - HEAP8[$187>>0] = $186; - $188 = (($$6625796) + 1)|0; - $exitcond875 = ($188|0)==($103|0); - if ($exitcond875) { - break; - } else { - $$6625796 = $188; - } - } - } - break; - } - default: { - } - } - $189 = (($$1572) + ($103)|0); - $$11$ph = $189; - } else { - if (!($19)) { - label = 54; - break; - } - $trunc = $$0582&255; - switch ($trunc<<24>>24) { - case 0: { - if ($37) { - $$9580 = $$1572; - } else { - $202 = ($$1606|0)>(0); - $203 = Math_imul($$6614736, $$1606)|0; - $$0608790 = $$0608787;$$2573789 = $$1572;$$2593788 = $100; - while(1) { - if ($202) { - $$7626784 = 0; - while(1) { - $204 = (($$2573789) + ($$7626784)|0); - $205 = HEAP8[$204>>0]|0; - $206 = (($$2593788) + ($$7626784)|0); - HEAP8[$206>>0] = $205; - $207 = (($$7626784) + 1)|0; - $exitcond871 = ($207|0)==($$1606|0); - if ($exitcond871) { - break; - } else { - $$7626784 = $207; - } - } - } - $208 = (($$2593788) + ($$1606)|0); - HEAP8[$208>>0] = -1; - $209 = (($$2573789) + ($$1606)|0); - $210 = (($$2593788) + ($15)|0); - $$0608 = (($$0608790) + -1)|0; - $211 = ($$0608|0)==(0); - if ($211) { - break; - } else { - $$0608790 = $$0608;$$2573789 = $209;$$2593788 = $210; - } - } - $scevgep873 = (($$1572) + ($203)|0); - $$9580 = $scevgep873; - } - break; - } - case 1: { - if ($38) { - $$9580 = $$1572; - } else { - $200 = ($$1606|0)>(0); - $201 = Math_imul($$6614736, $$1606)|0; - $$1609782 = $$1609779;$$3574781 = $$1572;$$3594780 = $100; - while(1) { - if ($200) { - $$8627776 = 0; - while(1) { - $212 = (($$3574781) + ($$8627776)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = (($$8627776) - ($15))|0; - $216 = (($$3594780) + ($215)|0); - $217 = HEAP8[$216>>0]|0; - $218 = $217&255; - $219 = (($218) + ($214))|0; - $220 = $219&255; - $221 = (($$3594780) + ($$8627776)|0); - HEAP8[$221>>0] = $220; - $222 = (($$8627776) + 1)|0; - $exitcond869 = ($222|0)==($$1606|0); - if ($exitcond869) { - break; - } else { - $$8627776 = $222; - } - } - } - $223 = (($$3594780) + ($$1606)|0); - HEAP8[$223>>0] = -1; - $224 = (($$3574781) + ($$1606)|0); - $225 = (($$3594780) + ($15)|0); - $$1609 = (($$1609782) + -1)|0; - $226 = ($$1609|0)==(0); - if ($226) { - break; - } else { - $$1609782 = $$1609;$$3574781 = $224;$$3594780 = $225; - } - } - $scevgep870 = (($$1572) + ($201)|0); - $$9580 = $scevgep870; - } - break; - } - case 2: { - if ($39) { - $$9580 = $$1572; - } else { - $198 = ($$1606|0)>(0); - $199 = Math_imul($$6614736, $$1606)|0; - $$2610774 = $$2610770;$$3586772 = $101;$$4575773 = $$1572;$$4595771 = $100; - while(1) { - if ($198) { - $$9628767 = 0; - while(1) { - $227 = (($$4575773) + ($$9628767)|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = (($$3586772) + ($$9628767)|0); - $231 = HEAP8[$230>>0]|0; - $232 = $231&255; - $233 = (($232) + ($229))|0; - $234 = $233&255; - $235 = (($$4595771) + ($$9628767)|0); - HEAP8[$235>>0] = $234; - $236 = (($$9628767) + 1)|0; - $exitcond867 = ($236|0)==($$1606|0); - if ($exitcond867) { - break; - } else { - $$9628767 = $236; - } - } - } - $237 = (($$4595771) + ($$1606)|0); - HEAP8[$237>>0] = -1; - $238 = (($$4575773) + ($$1606)|0); - $239 = (($$4595771) + ($15)|0); - $240 = (($$3586772) + ($15)|0); - $$2610 = (($$2610774) + -1)|0; - $241 = ($$2610|0)==(0); - if ($241) { - break; - } else { - $$2610774 = $$2610;$$3586772 = $240;$$4575773 = $238;$$4595771 = $239; - } - } - $scevgep868 = (($$1572) + ($199)|0); - $$9580 = $scevgep868; - } - break; - } - case 3: { - if ($40) { - $$9580 = $$1572; - } else { - $196 = ($$1606|0)>(0); - $197 = Math_imul($$6614736, $$1606)|0; - $$3611765 = $$3611761;$$4587763 = $101;$$5576764 = $$1572;$$5596762 = $100; - while(1) { - if ($196) { - $$10629758 = 0; - while(1) { - $242 = (($$5576764) + ($$10629758)|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($$4587763) + ($$10629758)|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246&255; - $248 = (($$10629758) - ($15))|0; - $249 = (($$5596762) + ($248)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = (($251) + ($247))|0; - $253 = $252 >>> 1; - $254 = (($253) + ($244))|0; - $255 = $254&255; - $256 = (($$5596762) + ($$10629758)|0); - HEAP8[$256>>0] = $255; - $257 = (($$10629758) + 1)|0; - $exitcond865 = ($257|0)==($$1606|0); - if ($exitcond865) { - break; - } else { - $$10629758 = $257; - } - } - } - $258 = (($$5596762) + ($$1606)|0); - HEAP8[$258>>0] = -1; - $259 = (($$5576764) + ($$1606)|0); - $260 = (($$5596762) + ($15)|0); - $261 = (($$4587763) + ($15)|0); - $$3611 = (($$3611765) + -1)|0; - $262 = ($$3611|0)==(0); - if ($262) { - break; - } else { - $$3611765 = $$3611;$$4587763 = $261;$$5576764 = $259;$$5596762 = $260; - } - } - $scevgep866 = (($$1572) + ($197)|0); - $$9580 = $scevgep866; - } - break; - } - case 4: { - if ($41) { - $$9580 = $$1572; - } else { - $194 = ($$1606|0)>(0); - $195 = Math_imul($$6614736, $$1606)|0; - $$4612756 = $$4612752;$$5588754 = $101;$$6577755 = $$1572;$$6597753 = $100; - while(1) { - if ($194) { - $$11630749 = 0; - while(1) { - $263 = (($$6577755) + ($$11630749)|0); - $264 = HEAP8[$263>>0]|0; - $265 = $264&255; - $266 = (($$11630749) - ($15))|0; - $267 = (($$6597753) + ($266)|0); - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - $270 = (($$5588754) + ($$11630749)|0); - $271 = HEAP8[$270>>0]|0; - $272 = $271&255; - $273 = (($$5588754) + ($266)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = (_stbi__paeth($269,$272,$275)|0); - $277 = (($276) + ($265))|0; - $278 = $277&255; - $279 = (($$6597753) + ($$11630749)|0); - HEAP8[$279>>0] = $278; - $280 = (($$11630749) + 1)|0; - $exitcond863 = ($280|0)==($$1606|0); - if ($exitcond863) { - break; - } else { - $$11630749 = $280; - } - } - } - $281 = (($$6597753) + ($$1606)|0); - HEAP8[$281>>0] = -1; - $282 = (($$6577755) + ($$1606)|0); - $283 = (($$6597753) + ($15)|0); - $284 = (($$5588754) + ($15)|0); - $$4612 = (($$4612756) + -1)|0; - $285 = ($$4612|0)==(0); - if ($285) { - break; - } else { - $$4612756 = $$4612;$$5588754 = $284;$$6577755 = $282;$$6597753 = $283; - } - } - $scevgep864 = (($$1572) + ($195)|0); - $$9580 = $scevgep864; - } - break; - } - case 5: { - if ($42) { - $$9580 = $$1572; - } else { - $192 = ($$1606|0)>(0); - $193 = Math_imul($$6614736, $$1606)|0; - $$5613747 = $$5613744;$$7578746 = $$1572;$$7598745 = $100; - while(1) { - if ($192) { - $$12741 = 0; - while(1) { - $286 = (($$7578746) + ($$12741)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = (($$12741) - ($15))|0; - $290 = (($$7598745) + ($289)|0); - $291 = HEAP8[$290>>0]|0; - $292 = $291&255; - $293 = $292 >>> 1; - $294 = (($293) + ($288))|0; - $295 = $294&255; - $296 = (($$7598745) + ($$12741)|0); - HEAP8[$296>>0] = $295; - $297 = (($$12741) + 1)|0; - $exitcond861 = ($297|0)==($$1606|0); - if ($exitcond861) { - break; - } else { - $$12741 = $297; - } - } - } - $298 = (($$7598745) + ($$1606)|0); - HEAP8[$298>>0] = -1; - $299 = (($$7578746) + ($$1606)|0); - $300 = (($$7598745) + ($15)|0); - $$5613 = (($$5613747) + -1)|0; - $301 = ($$5613|0)==(0); - if ($301) { - break; - } else { - $$5613747 = $$5613;$$7578746 = $299;$$7598745 = $300; - } - } - $scevgep862 = (($$1572) + ($193)|0); - $$9580 = $scevgep862; - } - break; - } - case 6: { - if ($43) { - $$9580 = $$1572; - } else { - $190 = ($$1606|0)>(0); - $191 = Math_imul($$6614736, $$1606)|0; - $$6614739 = $$6614736;$$8579738 = $$1572;$$8599737 = $100; - while(1) { - if ($190) { - $$13733 = 0; - while(1) { - $302 = (($$8579738) + ($$13733)|0); - $303 = HEAP8[$302>>0]|0; - $304 = $303&255; - $305 = (($$13733) - ($15))|0; - $306 = (($$8599737) + ($305)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = (_stbi__paeth($308,0,0)|0); - $310 = (($309) + ($304))|0; - $311 = $310&255; - $312 = (($$8599737) + ($$13733)|0); - HEAP8[$312>>0] = $311; - $313 = (($$13733) + 1)|0; - $exitcond859 = ($313|0)==($$1606|0); - if ($exitcond859) { - break; - } else { - $$13733 = $313; - } - } - } - $314 = (($$8599737) + ($$1606)|0); - HEAP8[$314>>0] = -1; - $315 = (($$8579738) + ($$1606)|0); - $316 = (($$8599737) + ($15)|0); - $$6614 = (($$6614739) + -1)|0; - $317 = ($$6614|0)==(0); - if ($317) { - break; - } else { - $$6614739 = $$6614;$$8579738 = $315;$$8599737 = $316; - } - } - $scevgep860 = (($$1572) + ($191)|0); - $$9580 = $scevgep860; - } - break; - } - default: { - $$9580 = $$1572; - } - } - if ($brmerge888) { - $$11$ph = $$9580; - } else { - $318 = HEAP32[$21>>2]|0; - $319 = (($318) + ($45)|0); - $320 = (($$1606) + 1)|0; - $$7615792 = 0;$$9600793 = $319; - while(1) { - $321 = (($$9600793) + ($320)|0); - HEAP8[$321>>0] = -1; - $322 = (($$7615792) + 1)|0; - $323 = (($$9600793) + ($15)|0); - $exitcond874 = ($322|0)==($4|0); - if ($exitcond874) { - $$11$ph = $$9580; - break; - } else { - $$7615792 = $322;$$9600793 = $323; - } - } - } - } - $324 = (($$0617808) + 1)|0; - $325 = ($324>>>0)<($5>>>0); - if ($325) { - $$0571811 = $$11$ph;$$0602810 = $$1603;$$0605809 = $$1606;$$0617808 = $324; - } else { - break L12; - } - } - if ((label|0) == 12) { - ___assert_fail((6949|0),(6317|0),4314,(6904|0)); - // unreachable; - } - else if ((label|0) == 54) { - ___assert_fail((6975|0),(6317|0),4376,(6904|0)); - // unreachable; - } - else if ((label|0) == 101) { - _stbi__err(6992); - $$2 = 0; - return ($$2|0); - } - } - } while(0); - $326 = ($6|0)<(8); - if (!($326)) { - if (!($8)) { - $$2 = 1; - return ($$2|0); - } - $595 = Math_imul($4, $3)|0; - $596 = Math_imul($595, $5)|0; - $597 = ($596|0)==(0); - if ($597) { - $$2 = 1; - return ($$2|0); - } - $598 = HEAP32[$21>>2]|0; - $$0725 = $598;$$8616723 = 0; - while(1) { - $599 = HEAP8[$$0725>>0]|0; - $600 = $599&255; - $601 = $600 << 8; - $602 = ((($$0725)) + 1|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $605 = $601 | $604; - $606 = $605&65535; - HEAP16[$$0725>>1] = $606; - $607 = (($$8616723) + 1)|0; - $608 = ((($$0725)) + 2|0); - $exitcond = ($607|0)==($596|0); - if ($exitcond) { - $$2 = 1; - break; - } else { - $$0725 = $608;$$8616723 = $607; - } - } - return ($$2|0); - } - $327 = ($5|0)==(0); - if ($327) { - $$2 = 1; - return ($$2|0); - } - $328 = (0 - ($26))|0; - $329 = ($7|0)==(0); - $330 = (6688 + ($6)|0); - $$0562718 = (($4) + -1)|0; - $331 = ($$0562718|0)>(-1); - $$1715 = (($4) + -1)|0; - $332 = ($$1715|0)>(-1); - $333 = ($23|0)>(1); - $334 = ($23|0)>(3); - $335 = ($23|0)>(7); - $336 = (($23) + -8)|0; - $337 = $336 >>> 3; - $338 = $337 << 3; - $339 = (($338) + 8)|0; - $340 = (($336) - ($338))|0; - $341 = (($337) + ($11))|0; - $342 = (($341) + 1)|0; - $343 = (($342) - ($26))|0; - $344 = (($23) + -4)|0; - $345 = $344 >>> 2; - $346 = $345 << 2; - $347 = (($346) + 4)|0; - $348 = (($344) - ($346))|0; - $349 = (($345) + ($11))|0; - $350 = (($349) + 1)|0; - $351 = (($350) - ($26))|0; - $352 = (($23) + -2)|0; - $353 = $352 >>> 1; - $354 = $353 << 1; - $355 = (($354) + 2)|0; - $356 = (($352) - ($354))|0; - $357 = (($353) + ($11))|0; - $358 = (($357) + 1)|0; - $359 = (($358) - ($26))|0; - $$1618721 = 0;$indvars$iv = $339;$indvars$iv842 = $343;$indvars$iv845 = $347;$indvars$iv848 = $351;$indvars$iv851 = $355;$indvars$iv854 = $359; - L168: while(1) { - $360 = HEAP32[$21>>2]|0; - $361 = Math_imul($$1618721, $12)|0; - $362 = (($360) + ($361)|0); - $363 = (($362) + ($11)|0); - $364 = (($363) + ($328)|0); - if ($329) { - $365 = HEAP8[$330>>0]|0; - $366 = $365&255; - $371 = $366; - } else { - $371 = 1; - } - switch ($6|0) { - case 4: { - if ($333) { - $scevgep853 = (($360) + ($indvars$iv851)|0); - $$0565709 = $364;$$0568708 = $362;$$14707 = $23; - while(1) { - $367 = HEAP8[$$0565709>>0]|0; - $368 = $367&255; - $369 = $368 >>> 4; - $370 = Math_imul($369, $371)|0; - $372 = $370&255; - $373 = ((($$0568708)) + 1|0); - HEAP8[$$0568708>>0] = $372; - $374 = HEAP8[$$0565709>>0]|0; - $375 = $374 & 15; - $376 = $375&255; - $377 = Math_imul($376, $371)|0; - $378 = $377&255; - $379 = ((($$0568708)) + 2|0); - HEAP8[$373>>0] = $378; - $380 = (($$14707) + -2)|0; - $381 = ((($$0565709)) + 1|0); - $382 = ($380|0)>(1); - if ($382) { - $$0565709 = $381;$$0568708 = $379;$$14707 = $380; - } else { - break; - } - } - $scevgep856 = (($360) + ($indvars$iv854)|0); - $$0565$lcssa = $scevgep856;$$0568$lcssa = $scevgep853;$$14$lcssa = $356; - } else { - $$0565$lcssa = $364;$$0568$lcssa = $362;$$14$lcssa = $23; - } - $383 = ($$14$lcssa|0)==(1); - if ($383) { - $384 = HEAP8[$$0565$lcssa>>0]|0; - $385 = $384&255; - $386 = $385 >>> 4; - $387 = Math_imul($386, $371)|0; - $388 = $387&255; - HEAP8[$$0568$lcssa>>0] = $388; - } - break; - } - case 2: { - if ($334) { - $scevgep847 = (($360) + ($indvars$iv845)|0); - $$1566701 = $364;$$1569700 = $362;$$15699 = $23; - while(1) { - $389 = HEAP8[$$1566701>>0]|0; - $390 = $389&255; - $391 = $390 >>> 6; - $392 = Math_imul($391, $371)|0; - $393 = $392&255; - $394 = ((($$1569700)) + 1|0); - HEAP8[$$1569700>>0] = $393; - $395 = HEAP8[$$1566701>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = $397 & 3; - $399 = Math_imul($398, $371)|0; - $400 = $399&255; - $401 = ((($$1569700)) + 2|0); - HEAP8[$394>>0] = $400; - $402 = HEAP8[$$1566701>>0]|0; - $403 = $402&255; - $404 = $403 >>> 2; - $405 = $404 & 3; - $406 = Math_imul($405, $371)|0; - $407 = $406&255; - $408 = ((($$1569700)) + 3|0); - HEAP8[$401>>0] = $407; - $409 = HEAP8[$$1566701>>0]|0; - $410 = $409 & 3; - $411 = $410&255; - $412 = Math_imul($411, $371)|0; - $413 = $412&255; - $414 = ((($$1569700)) + 4|0); - HEAP8[$408>>0] = $413; - $415 = (($$15699) + -4)|0; - $416 = ((($$1566701)) + 1|0); - $417 = ($415|0)>(3); - if ($417) { - $$1566701 = $416;$$1569700 = $414;$$15699 = $415; - } else { - break; - } - } - $scevgep850 = (($360) + ($indvars$iv848)|0); - $$15$lcssa = $348;$$1566$lcssa = $scevgep850;$$1569$lcssa = $scevgep847; - } else { - $$15$lcssa = $23;$$1566$lcssa = $364;$$1569$lcssa = $362; - } - $418 = ($$15$lcssa|0)>(0); - if ($418) { - $419 = HEAP8[$$1566$lcssa>>0]|0; - $420 = $419&255; - $421 = $420 >>> 6; - $422 = Math_imul($421, $371)|0; - $423 = $422&255; - HEAP8[$$1569$lcssa>>0] = $423; - $424 = ($$15$lcssa|0)==(1); - if (!($424)) { - $425 = ((($$1569$lcssa)) + 1|0); - $426 = HEAP8[$$1566$lcssa>>0]|0; - $427 = $426&255; - $428 = $427 >>> 4; - $429 = $428 & 3; - $430 = Math_imul($429, $371)|0; - $431 = $430&255; - HEAP8[$425>>0] = $431; - $432 = ($$15$lcssa|0)>(2); - if ($432) { - $433 = ((($$1569$lcssa)) + 2|0); - $434 = HEAP8[$$1566$lcssa>>0]|0; - $435 = $434&255; - $436 = $435 >>> 2; - $437 = $436 & 3; - $438 = Math_imul($437, $371)|0; - $439 = $438&255; - HEAP8[$433>>0] = $439; - } - } - } - break; - } - case 1: { - if ($335) { - $scevgep = (($360) + ($indvars$iv)|0); - $$16694 = $23;$$2567696 = $364;$$4695 = $362; - while(1) { - $440 = HEAP8[$$2567696>>0]|0; - $441 = $440&255; - $442 = $441 >>> 7; - $443 = (0 - ($442))|0; - $444 = $371 & $443; - $445 = $444&255; - $446 = ((($$4695)) + 1|0); - HEAP8[$$4695>>0] = $445; - $447 = HEAP8[$$2567696>>0]|0; - $448 = $447&255; - $449 = $448 >>> 6; - $450 = $449 & 1; - $451 = (0 - ($450))|0; - $452 = $371 & $451; - $453 = $452&255; - $454 = ((($$4695)) + 2|0); - HEAP8[$446>>0] = $453; - $455 = HEAP8[$$2567696>>0]|0; - $456 = $455&255; - $457 = $456 >>> 5; - $458 = $457 & 1; - $459 = (0 - ($458))|0; - $460 = $371 & $459; - $461 = $460&255; - $462 = ((($$4695)) + 3|0); - HEAP8[$454>>0] = $461; - $463 = HEAP8[$$2567696>>0]|0; - $464 = $463&255; - $465 = $464 >>> 4; - $466 = $465 & 1; - $467 = (0 - ($466))|0; - $468 = $371 & $467; - $469 = $468&255; - $470 = ((($$4695)) + 4|0); - HEAP8[$462>>0] = $469; - $471 = HEAP8[$$2567696>>0]|0; - $472 = $471&255; - $473 = $472 >>> 3; - $474 = $473 & 1; - $475 = (0 - ($474))|0; - $476 = $371 & $475; - $477 = $476&255; - $478 = ((($$4695)) + 5|0); - HEAP8[$470>>0] = $477; - $479 = HEAP8[$$2567696>>0]|0; - $480 = $479&255; - $481 = $480 >>> 2; - $482 = $481 & 1; - $483 = (0 - ($482))|0; - $484 = $371 & $483; - $485 = $484&255; - $486 = ((($$4695)) + 6|0); - HEAP8[$478>>0] = $485; - $487 = HEAP8[$$2567696>>0]|0; - $488 = $487&255; - $489 = $488 >>> 1; - $490 = $489 & 1; - $491 = (0 - ($490))|0; - $492 = $371 & $491; - $493 = $492&255; - $494 = ((($$4695)) + 7|0); - HEAP8[$486>>0] = $493; - $495 = HEAP8[$$2567696>>0]|0; - $496 = $495 & 1; - $497 = $496&255; - $498 = (0 - ($497))|0; - $499 = $371 & $498; - $500 = $499&255; - $501 = ((($$4695)) + 8|0); - HEAP8[$494>>0] = $500; - $502 = (($$16694) + -8)|0; - $503 = ((($$2567696)) + 1|0); - $504 = ($502|0)>(7); - if ($504) { - $$16694 = $502;$$2567696 = $503;$$4695 = $501; - } else { - break; - } - } - $scevgep844 = (($360) + ($indvars$iv842)|0); - $$16$lcssa = $340;$$2567$lcssa = $scevgep844;$$4$lcssa = $scevgep; - } else { - $$16$lcssa = $23;$$2567$lcssa = $364;$$4$lcssa = $362; - } - $505 = ($$16$lcssa|0)>(0); - if ($505) { - $506 = HEAP8[$$2567$lcssa>>0]|0; - $507 = $506&255; - $508 = $507 >>> 7; - $509 = (0 - ($508))|0; - $510 = $371 & $509; - $511 = $510&255; - HEAP8[$$4$lcssa>>0] = $511; - $512 = ($$16$lcssa|0)==(1); - if (!($512)) { - $513 = ((($$4$lcssa)) + 1|0); - $514 = HEAP8[$$2567$lcssa>>0]|0; - $515 = $514&255; - $516 = $515 >>> 6; - $517 = $516 & 1; - $518 = (0 - ($517))|0; - $519 = $371 & $518; - $520 = $519&255; - HEAP8[$513>>0] = $520; - $521 = ($$16$lcssa|0)>(2); - if ($521) { - $522 = ((($$4$lcssa)) + 2|0); - $523 = HEAP8[$$2567$lcssa>>0]|0; - $524 = $523&255; - $525 = $524 >>> 5; - $526 = $525 & 1; - $527 = (0 - ($526))|0; - $528 = $371 & $527; - $529 = $528&255; - HEAP8[$522>>0] = $529; - $530 = ($$16$lcssa|0)==(3); - if (!($530)) { - $531 = ((($$4$lcssa)) + 3|0); - $532 = HEAP8[$$2567$lcssa>>0]|0; - $533 = $532&255; - $534 = $533 >>> 4; - $535 = $534 & 1; - $536 = (0 - ($535))|0; - $537 = $371 & $536; - $538 = $537&255; - HEAP8[$531>>0] = $538; - $539 = ($$16$lcssa|0)>(4); - if ($539) { - $540 = ((($$4$lcssa)) + 4|0); - $541 = HEAP8[$$2567$lcssa>>0]|0; - $542 = $541&255; - $543 = $542 >>> 3; - $544 = $543 & 1; - $545 = (0 - ($544))|0; - $546 = $371 & $545; - $547 = $546&255; - HEAP8[$540>>0] = $547; - $548 = ($$16$lcssa|0)==(5); - if (!($548)) { - $549 = ((($$4$lcssa)) + 5|0); - $550 = HEAP8[$$2567$lcssa>>0]|0; - $551 = $550&255; - $552 = $551 >>> 2; - $553 = $552 & 1; - $554 = (0 - ($553))|0; - $555 = $371 & $554; - $556 = $555&255; - HEAP8[$549>>0] = $556; - $557 = ($$16$lcssa|0)>(6); - if ($557) { - $558 = ((($$4$lcssa)) + 6|0); - $559 = HEAP8[$$2567$lcssa>>0]|0; - $560 = $559&255; - $561 = $560 >>> 1; - $562 = $561 & 1; - $563 = (0 - ($562))|0; - $564 = $371 & $563; - $565 = $564&255; - HEAP8[$558>>0] = $565; - } - } - } - } - } - } - } - break; - } - default: { - } - } - L207: do { - if (!($17)) { - $566 = HEAP32[$21>>2]|0; - $567 = (($566) + ($361)|0); - switch ($14|0) { - case 1: { - if ($331) { - $$0562719 = $$0562718; - } else { - break L207; - } - while(1) { - $568 = $$0562719 << 1; - $569 = $568 | 1; - $570 = (($567) + ($569)|0); - HEAP8[$570>>0] = -1; - $571 = (($567) + ($$0562719)|0); - $572 = HEAP8[$571>>0]|0; - $573 = (($567) + ($568)|0); - HEAP8[$573>>0] = $572; - $$0562 = (($$0562719) + -1)|0; - $574 = ($$0562|0)>(-1); - if ($574) { - $$0562719 = $$0562; - } else { - break; - } - } - break; - } - case 3: { - if ($332) { - $$1716 = $$1715; - } else { - break L207; - } - while(1) { - $575 = $$1716 << 2; - $576 = $575 | 3; - $577 = (($567) + ($576)|0); - HEAP8[$577>>0] = -1; - $578 = ($$1716*3)|0; - $579 = (($578) + 2)|0; - $580 = (($567) + ($579)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $575 | 2; - $583 = (($567) + ($582)|0); - HEAP8[$583>>0] = $581; - $584 = (($578) + 1)|0; - $585 = (($567) + ($584)|0); - $586 = HEAP8[$585>>0]|0; - $587 = $575 | 1; - $588 = (($567) + ($587)|0); - HEAP8[$588>>0] = $586; - $589 = (($567) + ($578)|0); - $590 = HEAP8[$589>>0]|0; - $591 = (($567) + ($575)|0); - HEAP8[$591>>0] = $590; - $$1 = (($$1716) + -1)|0; - $592 = ($$1|0)>(-1); - if ($592) { - $$1716 = $$1; - } else { - break; - } - } - break; - } - default: { - label = 140; - break L168; - } - } - } - } while(0); - $593 = (($$1618721) + 1)|0; - $594 = ($593>>>0)<($5>>>0); - $indvars$iv$next = (($indvars$iv) + ($12))|0; - $indvars$iv$next843 = (($indvars$iv842) + ($12))|0; - $indvars$iv$next846 = (($indvars$iv845) + ($12))|0; - $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; - $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; - $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; - if ($594) { - $$1618721 = $593;$indvars$iv = $indvars$iv$next;$indvars$iv842 = $indvars$iv$next843;$indvars$iv845 = $indvars$iv$next846;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855; - } else { - $$2 = 1; - label = 147; - break; - } - } - if ((label|0) == 140) { - ___assert_fail((7007|0),(6317|0),4465,(6904|0)); - // unreachable; - } - else if ((label|0) == 147) { - return ($$2|0); - } - return (0)|0; -} -function _stbi__paeth($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = (($1) + ($0))|0; - $4 = (($3) - ($2))|0; - $5 = (($4) - ($0))|0; - $ispos = ($5|0)>(-1); - $neg = (0 - ($5))|0; - $6 = $ispos ? $5 : $neg; - $7 = (($4) - ($1))|0; - $ispos26 = ($7|0)>(-1); - $neg27 = (0 - ($7))|0; - $8 = $ispos26 ? $7 : $neg27; - $9 = (($4) - ($2))|0; - $ispos28 = ($9|0)>(-1); - $neg29 = (0 - ($9))|0; - $10 = $ispos28 ? $9 : $neg29; - $11 = ($6|0)>($8|0); - $12 = ($6|0)>($10|0); - $or$cond = $11 | $12; - $13 = ($8|0)>($10|0); - $$ = $13 ? $2 : $1; - $$0 = $or$cond ? $$ : $0; - return ($$0|0); -} -function _stbi__do_zlib($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 20|0); - HEAP32[$5>>2] = $1; - $6 = ((($0)) + 16|0); - HEAP32[$6>>2] = $1; - $7 = (($1) + ($2)|0); - $8 = ((($0)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = ((($0)) + 28|0); - HEAP32[$9>>2] = $3; - $10 = (_stbi__parse_zlib($0,$4)|0); - return ($10|0); -} -function _stbi__parse_zlib($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - if (!($2)) { - $3 = (_stbi__parse_zlib_header($0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - } - $5 = ((($0)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = ((($0)) + 12|0); - HEAP32[$6>>2] = 0; - $7 = ((($0)) + 32|0); - $8 = ((($0)) + 2052|0); - L5: while(1) { - $9 = (_stbi__zreceive($0,1)|0); - $10 = (_stbi__zreceive($0,2)|0); - switch ($10|0) { - case 3: { - $$0 = 0; - label = 11; - break L5; - break; - } - case 0: { - $11 = (_stbi__parse_uncompressed_block($0)|0); - $12 = ($11|0)==(0); - if ($12) { - $$0 = 0; - label = 11; - break L5; - } - break; - } - case 1: { - $13 = (_stbi__zbuild_huffman($7,7018,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 11; - break L5; - } - $15 = (_stbi__zbuild_huffman($8,7306,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - break; - } - default: { - $17 = (_stbi__compute_huffman_codes($0)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 11; - break L5; - } else { - label = 9; - } - } - } - if ((label|0) == 9) { - label = 0; - $19 = (_stbi__parse_huffman_block($0)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 11; - break; - } - } - $21 = ($9|0)==(0); - if (!($21)) { - $$0 = 1; - label = 11; - break; - } - } - if ((label|0) == 11) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__zget8($0)|0); - $2 = $1&255; - $3 = $2 & 15; - $4 = (_stbi__zget8($0)|0); - $5 = $4&255; - $6 = $2 << 8; - $7 = $6 | $5; - $8 = (($7>>>0) % 31)&-1; - $9 = ($8|0)==(0); - if (!($9)) { - _stbi__err(7672); - $$0 = 0; - return ($$0|0); - } - $10 = $5 & 32; - $11 = ($10|0)==(0); - if (!($11)) { - _stbi__err(7688); - $$0 = 0; - return ($$0|0); - } - $12 = ($3|0)==(8); - if ($12) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(7703); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<($1|0); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = 1 << $1; - $8 = (($7) + -1)|0; - $9 = $6 & $8; - $10 = $6 >>> $1; - HEAP32[$5>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) - ($1))|0; - HEAP32[$2>>2] = $12; - return ($9|0); -} -function _stbi__parse_uncompressed_block($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & 7; - $5 = ($4|0)==(0); - if ($5) { - $$ph = $3; - } else { - (_stbi__zreceive($0,$4)|0); - $$pr = HEAP32[$2>>2]|0; - $$ph = $$pr; - } - $6 = ($$ph|0)>(0); - if ($6) { - $7 = ((($0)) + 12|0); - $$promoted = HEAP32[$7>>2]|0; - $8 = $$ph ^ -1; - $9 = ($8|0)>(-9); - $smax = $9 ? $8 : -9; - $10 = (($$ph) + ($smax))|0; - $11 = (($10) + 8)|0; - $12 = $11 >>> 3; - $13 = (($12) + 1)|0; - $14 = $12 << 3; - $$037 = 0;$16 = $$promoted; - while(1) { - $15 = $16&255; - $17 = (($$037) + 1)|0; - $18 = (($1) + ($$037)|0); - HEAP8[$18>>0] = $15; - $19 = $16 >>> 8; - $exitcond47 = ($17|0)==($13|0); - if ($exitcond47) { - break; - } else { - $$037 = $17;$16 = $19; - } - } - $20 = (($$ph) + -8)|0; - $21 = (($20) - ($14))|0; - HEAP32[$7>>2] = $19; - HEAP32[$2>>2] = $21; - $$0$lcssa = $13;$$lcssa = $21; - } else { - $$0$lcssa = 0;$$lcssa = $$ph; - } - $22 = ($$lcssa|0)==(0); - if (!($22)) { - ___assert_fail((7594|0),(6317|0),4033,(7611|0)); - // unreachable; - } - $23 = ($$0$lcssa|0)<(4); - if ($23) { - $$136 = $$0$lcssa; - while(1) { - $24 = (_stbi__zget8($0)|0); - $25 = (($$136) + 1)|0; - $26 = (($1) + ($$136)|0); - HEAP8[$26>>0] = $24; - $exitcond = ($25|0)==(4); - if ($exitcond) { - break; - } else { - $$136 = $25; - } - } - } - $27 = ((($1)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP8[$1>>0]|0; - $32 = $31&255; - $33 = $30 | $32; - $34 = ((($1)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 << 8; - $38 = ((($1)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $37 | $40; - $42 = $33 ^ 65535; - $43 = ($41|0)==($42|0); - if (!($43)) { - _stbi__err(7642); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($33)|0); - $46 = ((($0)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($45>>>0)>($47>>>0); - if ($48) { - _stbi__err(7655); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $49 = ((($0)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($33)|0); - $52 = ((($0)) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51>>>0)>($53>>>0); - if ($54) { - $55 = (_stbi__zexpand($0,$50,$33)|0); - $56 = ($55|0)==(0); - if ($56) { - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - } - $57 = HEAP32[$49>>2]|0; - $58 = HEAP32[$0>>2]|0; - _memcpy(($57|0),($58|0),($33|0))|0; - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + ($33)|0); - HEAP32[$0>>2] = $60; - $61 = HEAP32[$49>>2]|0; - $62 = (($61) + ($33)|0); - HEAP32[$49>>2] = $62; - $$034 = 1; - STACKTOP = sp;return ($$034|0); -} -function _stbi__zbuild_huffman($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $3 = sp + 72|0; - $4 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($0|0),0,1024)|0; - $5 = ($2|0)>(0); - if ($5) { - $$07688 = 0; - while(1) { - $6 = (($1) + ($$07688)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($4) + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = (($$07688) + 1)|0; - $exitcond91 = ($12|0)==($2|0); - if ($exitcond91) { - break; - } else { - $$07688 = $12; - } - } - } - HEAP32[$4>>2] = 0; - $16 = ((($4)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(2); - if (!($18)) { - $13 = ((($4)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(4); - if (!($15)) { - $69 = ((($4)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(8); - if (!($71)) { - $72 = ((($4)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(16); - if (!($74)) { - $75 = ((($4)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(32); - if (!($77)) { - $78 = ((($4)) + 24|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(64); - if (!($80)) { - $81 = ((($4)) + 28|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(128); - if (!($83)) { - $84 = ((($4)) + 32|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(256); - if (!($86)) { - $87 = ((($4)) + 36|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(512); - if (!($89)) { - $90 = ((($4)) + 40|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(1024); - if (!($92)) { - $93 = ((($4)) + 44|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(2048); - if (!($95)) { - $96 = ((($4)) + 48|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(4096); - if (!($98)) { - $99 = ((($4)) + 52|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(8192); - if (!($101)) { - $102 = ((($4)) + 56|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(16384); - if (!($104)) { - $105 = ((($4)) + 60|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)>(32768); - if (!($107)) { - $$07785 = 0;$$07884 = 0;$$286 = 1; - while(1) { - $19 = (($3) + ($$286<<2)|0); - HEAP32[$19>>2] = $$07884; - $20 = $$07884&65535; - $21 = (((($0)) + 1024|0) + ($$286<<1)|0); - HEAP16[$21>>1] = $20; - $22 = $$07785&65535; - $23 = (((($0)) + 1124|0) + ($$286<<1)|0); - HEAP16[$23>>1] = $22; - $24 = (($4) + ($$286<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($$07884))|0; - $27 = ($25|0)!=(0); - $28 = 1 << $$286; - $29 = ($26|0)>($28|0); - $or$cond = $27 & $29; - if ($or$cond) { - label = 7; - break; - } - $30 = (16 - ($$286))|0; - $31 = $26 << $30; - $32 = (((($0)) + 1056|0) + ($$286<<2)|0); - HEAP32[$32>>2] = $31; - $33 = $26 << 1; - $34 = (($25) + ($$07785))|0; - $35 = (($$286) + 1)|0; - $36 = ($35|0)<(16); - if ($36) { - $$07785 = $34;$$07884 = $33;$$286 = $35; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(7532); - $$075 = 0; - STACKTOP = sp;return ($$075|0); - } - $37 = ((($0)) + 1120|0); - HEAP32[$37>>2] = 65536; - $38 = ($2|0)>(0); - if ($38) { - $$382 = 0; - } else { - $$075 = 1; - STACKTOP = sp;return ($$075|0); - } - while(1) { - $39 = (($1) + ($$382)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ($40<<24>>24)==(0); - if (!($42)) { - $43 = (($3) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($0)) + 1024|0) + ($41<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) - ($47))|0; - $49 = (((($0)) + 1124|0) + ($41<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($48) + ($51))|0; - $53 = $41 << 9; - $54 = $53 | $$382; - $55 = $54&65535; - $56 = (((($0)) + 1156|0) + ($52)|0); - HEAP8[$56>>0] = $40; - $57 = $$382&65535; - $58 = (((($0)) + 1444|0) + ($52<<1)|0); - HEAP16[$58>>1] = $57; - $59 = ($40&255)<(10); - do { - if ($59) { - $60 = (_stbi__bit_reverse($44,$41)|0); - $61 = ($60|0)<(512); - if (!($61)) { - break; - } - $62 = 1 << $41; - $$081 = $60; - while(1) { - $63 = (($0) + ($$081<<1)|0); - HEAP16[$63>>1] = $55; - $64 = (($$081) + ($62))|0; - $65 = ($64|0)<(512); - if ($65) { - $$081 = $64; - } else { - break; - } - } - } - } while(0); - $66 = HEAP32[$43>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$43>>2] = $67; - } - $68 = (($$382) + 1)|0; - $exitcond = ($68|0)==($2|0); - if ($exitcond) { - $$075 = 1; - break; - } else { - $$382 = $68; - } - } - STACKTOP = sp;return ($$075|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(7584); - $$075 = 0; - STACKTOP = sp;return ($$075|0); -} -function _stbi__compute_huffman_codes($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); - $1 = sp; - $2 = sp + 2039|0; - $3 = sp + 2020|0; - $4 = (_stbi__zreceive($0,5)|0); - $5 = (($4) + 257)|0; - $6 = (_stbi__zreceive($0,5)|0); - $7 = (($6) + 1)|0; - $8 = (_stbi__zreceive($0,4)|0); - $9 = (($8) + 4)|0; - $10 = (($7) + ($5))|0; - dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $11 = ($9|0)>(0); - if ($11) { - $$06579 = 0; - while(1) { - $12 = (_stbi__zreceive($0,3)|0); - $13 = $12&255; - $14 = (7513 + ($$06579)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (($3) + ($16)|0); - HEAP8[$17>>0] = $13; - $18 = (($$06579) + 1)|0; - $exitcond = ($18|0)==($9|0); - if ($exitcond) { - break; - } else { - $$06579 = $18; - } - } - } - $19 = (_stbi__zbuild_huffman($1,$3,19)|0); - $20 = ($19|0)==(0); - if ($20) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = ($10|0)>(0); - L8: do { - if ($21) { - $$06678 = 0; - L9: while(1) { - $22 = (_stbi__zhuffman_decode($0,$1)|0); - $23 = ($22>>>0)>(18); - if ($23) { - label = 6; - break; - } - $24 = ($22|0)<(16); - if ($24) { - $25 = $22&255; - $26 = (($$06678) + 1)|0; - $27 = (($2) + ($$06678)|0); - HEAP8[$27>>0] = $25; - $$066$be = $26; - } else { - switch ($22|0) { - case 16: { - $28 = (_stbi__zreceive($0,2)|0); - $29 = ($$06678|0)==(0); - if ($29) { - label = 11; - break L9; - } - $30 = (($28) + 3)|0; - $31 = (($$06678) + -1)|0; - $32 = (($2) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $$0 = $33;$$061 = $30; - break; - } - case 17: { - $34 = (_stbi__zreceive($0,3)|0); - $35 = (($34) + 3)|0; - $$0 = 0;$$061 = $35; - break; - } - case 18: { - $36 = (_stbi__zreceive($0,7)|0); - $37 = (($36) + 11)|0; - $$0 = 0;$$061 = $37; - break; - } - default: { - label = 14; - break L9; - } - } - $38 = (($10) - ($$06678))|0; - $39 = ($38|0)<($$061|0); - if ($39) { - label = 17; - break; - } - $40 = (($2) + ($$06678)|0); - _memset(($40|0),($$0|0),($$061|0))|0; - $41 = (($$061) + ($$06678))|0; - $$066$be = $41; - } - $42 = ($10|0)>($$066$be|0); - if ($42) { - $$06678 = $$066$be; - } else { - $$066$lcssa = $$066$be; - break L8; - } - } - if ((label|0) == 6) { - _stbi__err(7532); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 11) { - _stbi__err(7532); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 14) { - ___assert_fail((7548|0),(6317|0),4006,(7556|0)); - // unreachable; - } - else if ((label|0) == 17) { - _stbi__err(7532); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } else { - $$066$lcssa = 0; - } - } while(0); - $43 = ($10|0)==($$066$lcssa|0); - if (!($43)) { - _stbi__err(7532); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $44 = ((($0)) + 32|0); - $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); - $46 = ($45|0)==(0); - if ($46) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $47 = ((($0)) + 2052|0); - $48 = (($2) + ($5)|0); - $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); - $not$ = ($49|0)!=(0); - $$ = $not$&1; - $$4 = $$; - STACKTOP = sp;return ($$4|0); -} -function _stbi__parse_huffman_block($0) { - $0 = $0|0; - var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 32|0); - $4 = ((($0)) + 24|0); - $5 = ((($0)) + 2052|0); - $6 = ((($0)) + 20|0); - $7 = ((($0)) + 24|0); - $$070 = $2; - while(1) { - $10 = (_stbi__zhuffman_decode($0,$3)|0); - $11 = ($10|0)<(256); - if ($11) { - $12 = ($10|0)<(0); - if ($12) { - label = 6; - break; - } - $13 = HEAP32[$4>>2]|0; - $14 = ($$070>>>0)<($13>>>0); - if ($14) { - $$171 = $$070; - } else { - $15 = (_stbi__zexpand($0,$$070,1)|0); - $16 = ($15|0)==(0); - if ($16) { - $$3$ph = 0; - label = 28; - break; - } - $17 = HEAP32[$1>>2]|0; - $$171 = $17; - } - $18 = $10&255; - $19 = ((($$171)) + 1|0); - HEAP8[$$171>>0] = $18; - $$070 = $19; - continue; - } - $20 = ($10|0)==(256); - if ($20) { - label = 12; - break; - } - $21 = (($10) + -257)|0; - $22 = (3096 + ($21<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($10) + -265)|0; - $25 = ($24>>>0)<(20); - if ($25) { - $26 = (3220 + ($21<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_stbi__zreceive($0,$27)|0); - $29 = (($28) + ($23))|0; - $$064 = $29; - } else { - $$064 = $23; - } - $30 = (_stbi__zhuffman_decode($0,$5)|0); - $31 = ($30|0)<(0); - if ($31) { - label = 16; - break; - } - $32 = (3344 + ($30<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($30) + -4)|0; - $35 = ($34>>>0)<(26); - if ($35) { - $36 = (3472 + ($30<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_stbi__zreceive($0,$37)|0); - $39 = (($38) + ($33))|0; - $$063 = $39; - } else { - $$063 = $33; - } - $40 = HEAP32[$6>>2]|0; - $41 = $$070; - $42 = (($41) - ($40))|0; - $43 = ($42|0)<($$063|0); - if ($43) { - label = 20; - break; - } - $44 = (($$070) + ($$064)|0); - $45 = HEAP32[$7>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($0,$$070,$$064)|0); - $48 = ($47|0)==(0); - if ($48) { - $$3$ph = 0; - label = 28; - break; - } - $49 = HEAP32[$1>>2]|0; - $$272 = $49; - } else { - $$272 = $$070; - } - $50 = (0 - ($$063))|0; - $9 = (($$272) + ($50)|0); - $51 = ($$063|0)==(1); - $52 = ($$064|0)!=(0); - if ($51) { - if (!($52)) { - $$070 = $$272; - continue; - } - $8 = HEAP8[$9>>0]|0; - _memset(($$272|0),($8|0),($$064|0))|0; - $scevgep92 = (($$272) + ($$064)|0); - $$070 = $scevgep92; - continue; - } - if ($52) { - $$067 = $9;$$266 = $$064;$$5 = $$272; - } else { - $$070 = $$272; - continue; - } - while(1) { - $53 = ((($$067)) + 1|0); - $54 = HEAP8[$$067>>0]|0; - $55 = ((($$5)) + 1|0); - HEAP8[$$5>>0] = $54; - $56 = (($$266) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $$067 = $53;$$266 = $56;$$5 = $55; - } - } - $scevgep = (($$272) + ($$064)|0); - $$070 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(7338); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 12) { - HEAP32[$1>>2] = $$070; - $$3$ph = 1; - return ($$3$ph|0); - } - else if ((label|0) == 16) { - _stbi__err(7338); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 20) { - _stbi__err(7355); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 28) { - return ($$3$ph|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(16); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 511; - $8 = (($1) + ($7<<1)|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($9<<16>>16)==(0); - if ($11) { - $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); - $$0 = $17; - return ($$0|0); - } else { - $12 = $10 >>> 9; - $13 = $6 >>> $12; - HEAP32[$5>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) - ($12))|0; - HEAP32[$2>>2] = $15; - $16 = $10 & 511; - $$0 = $16; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - HEAP32[$3>>2] = $1; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - _stbi__err(7364); - $$0 = 0; - return ($$0|0); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = $1; - $10 = $8; - $11 = (($9) - ($10))|0; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) - ($10))|0; - $15 = (($11) + ($2))|0; - $$029 = $14; - while(1) { - $16 = ($15|0)>($$029|0); - $17 = $$029 << 1; - if ($16) { - $$029 = $17; - } else { - break; - } - } - $18 = (_realloc($8,$$029)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(6282); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$7>>2] = $18; - $20 = (($18) + ($11)|0); - HEAP32[$3>>2] = $20; - $21 = (($18) + ($$029)|0); - HEAP32[$12>>2] = $21; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 12|0); - $2 = ((($0)) + 8|0); - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = 1 << $4; - $6 = ($3>>>0)<($5>>>0); - if (!($6)) { - label = 3; - break; - } - $7 = (_stbi__zget8($0)|0); - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = $8 << $9; - $11 = HEAP32[$1>>2]|0; - $12 = $11 | $10; - HEAP32[$1>>2] = $12; - $13 = (($9) + 8)|0; - HEAP32[$2>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((7460|0),(6317|0),3848,(7497|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_stbi__bit_reverse($3,16)|0); - $$025 = 10; - while(1) { - $5 = (((($1)) + 1056|0) + ($$025<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - $8 = (($$025) + 1)|0; - if ($7) { - break; - } else { - $$025 = $8; - } - } - $9 = ($$025|0)==(16); - if ($9) { - $$0 = -1; - return ($$0|0); - } - $10 = (16 - ($$025))|0; - $11 = $4 >> $10; - $12 = (((($1)) + 1024|0) + ($$025<<1)|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = (($11) - ($14))|0; - $16 = (((($1)) + 1124|0) + ($$025<<1)|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($15) + ($18))|0; - $20 = (((($1)) + 1156|0) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==($$025|0); - if (!($23)) { - ___assert_fail((7384|0),(6317|0),3876,(7400|0)); - // unreachable; - } - $24 = HEAP32[$2>>2]|0; - $25 = $24 >>> $$025; - HEAP32[$2>>2] = $25; - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) - ($$025))|0; - HEAP32[$26>>2] = $28; - $29 = (((($1)) + 1444|0) + ($19<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $$0 = $31; - return ($$0|0); -} -function _stbi__bit_reverse($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(17); - if ($2) { - $3 = (_stbi__bitreverse16($0)|0); - $4 = (16 - ($1))|0; - $5 = $3 >> $4; - return ($5|0); - } else { - ___assert_fail((7431|0),(6317|0),3766,(7442|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = $0 >>> 1; - $2 = $1 & 21845; - $3 = $0 << 1; - $4 = $3 & 43690; - $5 = $2 | $4; - $6 = $5 >>> 2; - $7 = $6 & 13107; - $8 = $5 << 2; - $9 = $8 & 52428; - $10 = $7 | $9; - $11 = $10 >>> 4; - $12 = $11 & 3855; - $13 = $10 << 4; - $14 = $13 & 61680; - $15 = $12 | $14; - $16 = $15 >>> 8; - $17 = $15 << 8; - $18 = $17 & 65280; - $19 = $18 | $16; - return ($19|0); -} -function _stbi__zget8($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); -} -function _stbi__refill_buffer($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 40|0); - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($0)) + 32|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 168|0); - HEAP32[$11>>2] = $5; - $12 = ((($0)) + 41|0); - $13 = ((($0)) + 172|0); - HEAP32[$13>>2] = $12; - HEAP8[$5>>0] = 0; - return; - } else { - $14 = ((($0)) + 168|0); - HEAP32[$14>>2] = $5; - $15 = (((($0)) + 40|0) + ($8)|0); - $16 = ((($0)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 176|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 168|0); - HEAP32[$3>>2] = $2; - $4 = ((($0)) + 180|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 172|0); - HEAP32[$6>>2] = $5; - return; -} -function _stbi__hdr_gettoken($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$014 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $$014 = 0; - while(1) { - $2 = (_stbi__get8($0)|0); - $3 = (_stbi__at_eof($0)|0); - $4 = ($3|0)!=(0); - $5 = ($2<<24>>24)==(10); - $or$cond = $5 | $4; - if ($or$cond) { - $$1 = $$014; - break; - } - $6 = (($$014) + 1)|0; - $7 = (($1) + ($$014)|0); - HEAP8[$7>>0] = $2; - $8 = ($6|0)==(1023); - if ($8) { - label = 4; - break; - } else { - $$014 = $6; - } - } - L4: do { - if ((label|0) == 4) { - while(1) { - label = 0; - $9 = (_stbi__at_eof($0)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $$1 = $6; - break L4; - } - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $$1 = $6; - break; - } else { - label = 4; - } - } - } - } while(0); - $13 = (($1) + ($$1)|0); - HEAP8[$13>>0] = 0; - return ($1|0); -} -function _stbi__hdr_convert($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0.0, $$sink1 = 0, $$sink30 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 3|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - switch ($2|0) { - case 4: { - $38 = ((($0)) + 12|0); - HEAPF32[$38>>2] = 1.0; - label = 10; - break; - } - case 3: { - label = 10; - break; - } - case 2: { - $$sink30 = 1.0; - label = 11; - break; - } - case 1: { - break; - } - default: { - return; - } - } - if ((label|0) == 10) { - $39 = ((($0)) + 8|0); - HEAPF32[$39>>2] = 0.0; - $$sink30 = 0.0; - label = 11; - } - if ((label|0) == 11) { - $40 = ((($0)) + 4|0); - HEAPF32[$40>>2] = $$sink30; - } - HEAPF32[$0>>2] = 0.0; - return; - } - $6 = $4&255; - $7 = (($6) + -136)|0; - $8 = (+_ldexp(1.0,$7)); - $9 = $8; - $10 = ($2|0)<(3); - $11 = HEAP8[$1>>0]|0; - if ($10) { - $12 = $11&255; - $13 = ((($1)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (($15) + ($12))|0; - $17 = ((($1)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = (($16) + ($19))|0; - $21 = (+($20|0)); - $22 = $9 * $21; - $23 = $22 / 3.0; - $$sink = $23;$$sink1 = $0; - } else { - $24 = (+($11&255)); - $25 = $9 * $24; - HEAPF32[$0>>2] = $25; - $26 = ((($1)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $9 * $28; - $30 = ((($0)) + 4|0); - HEAPF32[$30>>2] = $29; - $31 = ((($1)) + 2|0); - $32 = HEAP8[$31>>0]|0; - $33 = (+($32&255)); - $34 = $9 * $33; - $35 = ((($0)) + 8|0); - $$sink = $34;$$sink1 = $35; - } - HEAPF32[$$sink1>>2] = $$sink; - switch ($2|0) { - case 2: { - $36 = ((($0)) + 4|0); - HEAPF32[$36>>2] = 1.0; - return; - break; - } - case 4: { - $37 = ((($0)) + 12|0); - HEAPF32[$37>>2] = 1.0; - return; - break; - } - default: { - return; - } - } -} -function _stbi__at_eof($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 24|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_ii[$5 & 15]($7)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); - } - $10 = ((($0)) + 32|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if ($12) { - $$0 = 1; - return ($$0|0); - } - } - $13 = ((($0)) + 168|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 172|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($14>>>0)>=($16>>>0); - $18 = $17&1; - $$0 = $18; - return ($$0|0); -} -function _stbi__hdr_test_core($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$07 = 0, $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - L1: do { - if (!($3)) { - $$08 = 0;$11 = $1; - while(1) { - $8 = (_stbi__get8($0)|0); - $9 = $8&255; - $10 = HEAP8[$11>>0]|0; - $12 = $10 << 24 >> 24; - $13 = ($9|0)==($12|0); - $5 = (($$08) + 1)|0; - if (!($13)) { - $$07 = 0; - break; - } - $4 = (($1) + ($5)|0); - $6 = HEAP8[$4>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - break L1; - } else { - $$08 = $5;$11 = $4; - } - } - return ($$07|0); - } - } while(0); - _stbi__rewind($0); - $$07 = 1; - return ($$07|0); -} -function _stbi__start_callbacks($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; - $4 = ((($0)) + 28|0); - HEAP32[$4>>2] = $2; - $5 = ((($0)) + 36|0); - HEAP32[$5>>2] = 128; - $6 = ((($0)) + 32|0); - HEAP32[$6>>2] = 1; - $7 = ((($0)) + 40|0); - $8 = ((($0)) + 176|0); - HEAP32[$8>>2] = $7; - _stbi__refill_buffer($0); - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 180|0); - HEAP32[$11>>2] = $10; - return; -} -function _stbi__stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fread($1,1,$2,$0)|0); - return ($3|0); -} -function _stbi__stdio_skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($0,$1,1)|0); - return; -} -function _stbi__stdio_eof($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_feof($0)|0); - return ($1|0); -} -function _ImageCopy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx11 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx13 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx15 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = Math_imul($5, $3)|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 18: case 15: case 12: case 11: case 1: { - $$0 = $6; - break; - } - case 6: case 5: case 3: case 2: { - $9 = $6 << 1; - $$0 = $9; - break; - } - case 4: { - $10 = ($6*3)|0; - $$0 = $10; - break; - } - case 7: { - $11 = $6 << 2; - $$0 = $11; - break; - } - case 8: { - $12 = ($6*12)|0; - $$0 = $12; - break; - } - case 17: case 16: case 14: case 13: case 10: case 9: { - $13 = (($6|0) / 2)&-1; - $$0 = $13; - break; - } - case 19: { - $14 = (($6|0) / 4)&-1; - $$0 = $14; - break; - } - default: { - _TraceLog(1,7891,$vararg_buffer); - $$0 = $6; - } - } - $15 = (_malloc($$0)|0); - $16 = ($15|0)==(0|0); - if ($16) { - $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; - } else { - $17 = HEAP32[$1>>2]|0; - _memcpy(($15|0),($17|0),($$0|0))|0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = ((($1)) + 12|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$7>>2]|0; - $$sroa$6$0 = $18;$$sroa$7$0 = $19;$$sroa$8$0 = $21;$$sroa$9$0 = $22; - } - HEAP32[$0>>2] = $15; - $$sroa$6$0$$sroa_idx11 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx11>>2] = $$sroa$6$0; - $$sroa$7$0$$sroa_idx13 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx13>>2] = $$sroa$7$0; - $$sroa$8$0$$sroa_idx15 = ((($0)) + 12|0); - HEAP32[$$sroa$8$0$$sroa_idx15>>2] = $$sroa$8$0; - $$sroa$9$0$$sroa_idx17 = ((($0)) + 16|0); - HEAP32[$$sroa$9$0$$sroa_idx17>>2] = $$sroa$9$0; - STACKTOP = sp;return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - switch ($23<<24>>24) { - case 10: { - $25 = HEAP32[$9>>2]|0; - $26 = (($25|0) / 2)&-1; - $27 = (($26) + ($25))|0; - $28 = (+($27|0)); - $29 = $12 * $28; - $30 = (~~(($29))); - $31 = (($30) + ($$05153))|0; - $$150 = 0;$$152 = $31;$$2 = $$055; - break; - } - case -62: { - $32 = (($$055) + 1)|0; - $33 = (($1) + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $$1 = $32;$$sink = $35; - label = 8; - break; - } - case -61: { - $36 = (($$055) + 1)|0; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($39) + 64)|0; - $$1 = $36;$$sink = $40; - label = 8; - break; - } - default: { - $$1 = $$055;$$sink = $24; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5087]|0; - $2 = HEAP32[5085]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - $10 = (($2) + 1)|0; - if ($9) { - HEAP32[5085] = $10; - $12 = $10; - } else { - $$pr = HEAP32[5085]|0; - $12 = $$pr; - } - $11 = ($12|0)>(255); - if ($11) { - _rlglDraw(); - HEAP32[5085] = 1; - } - $13 = HEAP32[5087]|0; - $14 = HEAP32[5085]|0; - $15 = (($14) + -1)|0; - $16 = (((($13) + (($15*144)|0)|0)) + 8|0); - HEAP32[$16>>2] = $0; - $17 = (($13) + (($15*144)|0)|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[5273]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(2,7998,$vararg_buffer); - } - $2 = HEAP32[5273]|0; - $3 = (21096 + ($2<<6)|0); - $4 = HEAP32[5530]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[5273]|0; - $6 = (($5) + 1)|0; - HEAP32[5273] = $6; - $7 = HEAP32[5535]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[5531] = 1; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - $5 = HEAP32[5530]|0; - dest=$$byval_copy; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _Vector3Normalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $11 = HEAP32[5530]|0; - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5534] = $0; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[5534]|0; - switch ($4|0) { - case 1: { - $$sink37 = (20360);$$sink38 = (20372); - break; - } - case 4: { - $$sink37 = (20408);$$sink38 = (20420); - break; - } - case 7: { - $$sink37 = (20168);$$sink38 = (20180); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[5534]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(20176)>>2]|0; - $5 = HEAP32[(20164)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(20164)>>2] = $10; - return; -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[903]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[5531]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5532]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[5533]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5530]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Vector3Transform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[5532]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[5531] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[5533]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[5532]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[5531] = 0; - } - HEAP32[5532] = 0; - } - $21 = HEAP32[5534]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[5088]|0; - $23 = HEAP32[(20360)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[903]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[903] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[903]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[903] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(20372)>>2]|0; - $28 = HEAP32[(20360)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(20372)>>2]|0; - $35 = HEAP32[(20360)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(20372)>>2]|0; - $43 = HEAP32[(20360)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(20372)>>2]|0; - $51 = HEAP32[(20360)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(20360)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(20360)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[903]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[903] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[5100]|0; - $62 = HEAP32[(20408)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[903]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[903] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[903]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[903] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(20420)>>2]|0; - $67 = HEAP32[(20408)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(20420)>>2]|0; - $74 = HEAP32[(20408)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(20420)>>2]|0; - $82 = HEAP32[(20408)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(20420)>>2]|0; - $90 = HEAP32[(20408)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(20408)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(20408)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[903]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[903] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[5040]|0; - $101 = HEAP32[(20168)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(20180)>>2]|0; - $106 = HEAP32[(20168)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(20180)>>2]|0; - $113 = HEAP32[(20168)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(20180)>>2]|0; - $121 = HEAP32[(20168)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(20180)>>2]|0; - $129 = HEAP32[(20168)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(20168)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(20168)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[5040]|0; - $140 = HEAP32[(20164)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[903]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[903] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(20176)>>2]|0; - $$promoted = HEAP32[(20164)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(20164)>>2] = $147; - $148 = +HEAPF32[903]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[903] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[903]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[903] = $149; - STACKTOP = sp;return; - } - } -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5273]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[5273]|0; - $3 = (($2) + -1)|0; - $4 = (21096 + ($3<<6)|0); - $5 = HEAP32[5530]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[5273] = $6; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5040]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateBuffersDefault(); - _DrawBuffersDefault(); - return; -} -function _UpdateBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5088]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[5145]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[5146]|0; - $5 = HEAP32[(20380)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(20384)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5088]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(20364)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20388)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20360)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(20372)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[5100]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[5145]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[5146]|0; - $19 = HEAP32[(20428)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(20432)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5100]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(20412)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20436)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20408)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(20420)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[5040]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[5145]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[5146]|0; - $33 = HEAP32[(20188)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(20192)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5040]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(20172)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20196)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5040]|0; - $40 = $39 << 3; - $41 = HEAP32[(20176)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20200)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5040]|0; - $44 = $43 << 2; - $45 = HEAP32[(20180)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[5145]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[5146]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawBuffersDefault() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=20208; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=20272; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5084]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[5088]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[5100]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[5040]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[5112]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=20272; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=20208; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(20476)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(20496)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(20508)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[5088]|0; - $20 = ($19|0)>(0); - if ($20) { - _glActiveTexture(33984); - $21 = HEAP32[5086]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[5145]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(20384)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(20452)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(20452)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20388)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(20472)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(20472)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[5146]|0; - $25 = HEAP32[(20380)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[5088]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[5145]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[5100]|0; - $36 = ($35|0)>(0); - if ($36) { - _glActiveTexture(33984); - $37 = HEAP32[5086]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[5145]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(20432)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(20452)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(20452)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20436)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(20472)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(20472)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[5146]|0; - $41 = HEAP32[(20428)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[5100]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[5145]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[5040]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[5145]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(20192)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(20452)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(20452)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20196)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(20456)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(20456)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20200)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(20472)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(20472)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20204)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[5146]|0; - $56 = HEAP32[(20188)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[5085]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[5087]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - _glActiveTexture(33984); - $76 = HEAP32[5087]|0; - $77 = (((($76) + (($$031*144)|0)|0)) + 8|0); - $78 = HEAP32[$77>>2]|0; - _glBindTexture(3553,($78|0)); - $79 = $$02830 << 1; - $80 = $79; - _glDrawElements(4,($75|0),5123,($80|0)); - $81 = HEAP32[5087]|0; - $82 = (($81) + (($$031*144)|0)|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83|0) / 4)&-1; - $85 = ($84*6)|0; - $86 = (($85) + ($$02830))|0; - $87 = (($$031) + 1)|0; - $88 = HEAP32[5085]|0; - $89 = ($87|0)<($88|0); - if ($89) { - $$02830 = $86;$$031 = $87; - } else { - break; - } - } - } - $69 = HEAP32[5145]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $90 = HEAP32[5145]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = HEAP32[5146]|0; - FUNCTION_TABLE_vi[$92 & 31](0); - } - _glUseProgram(0); - $93 = (($$02932) + 1)|0; - $94 = ($93|0)<($$|0); - if ($94) { - $$02932 = $93; - } else { - break; - } - } - HEAP32[5085] = 1; - $5 = HEAP32[5086]|0; - $6 = HEAP32[5087]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[5088] = 0; - HEAP32[(20360)>>2] = 0; - HEAP32[5100] = 0; - HEAP32[(20408)>>2] = 0; - HEAP32[5040] = 0; - HEAP32[(20164)>>2] = 0; - HEAP32[(20168)>>2] = 0; - HEAPF32[903] = -1.0; - dest=20208; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=20272; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5163]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5164]|0; - _rlViewport($7,0,$8,$9); - $10 = (20964 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20836 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 * $4; - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($1)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($2)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($1)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($2)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($2)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($2)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($2)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($2)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($2)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($2)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($2)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($2)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($2)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($2)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($2)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($2)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($1)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($1)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($1)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($1)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($1)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($1)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($1)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($1)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($1)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($1)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($1)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($1)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixToFloat($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[5147] = $1; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(20592)>>2] = $3; - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(20596)>>2] = $5; - $6 = ((($0)) + 48|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(20600)>>2] = $7; - $8 = ((($0)) + 4|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(20604)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(20608)>>2] = $11; - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(20612)>>2] = $13; - $14 = ((($0)) + 52|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(20616)>>2] = $15; - $16 = ((($0)) + 8|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(20620)>>2] = $17; - $18 = ((($0)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(20624)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(20628)>>2] = $21; - $22 = ((($0)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(20632)>>2] = $23; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(20636)>>2] = $25; - $26 = ((($0)) + 28|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(20640)>>2] = $27; - $28 = ((($0)) + 44|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(20644)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(20648)>>2] = $31; - return (20588|0); -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=20272; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=20208; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Vector3Transform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = HEAP32[5531]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5533]|0; - $6 = HEAP32[5532]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[5532] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[5534]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[5088]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(20364)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[5088] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(2,7919,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[5100]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(20412)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[5100] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(2,7944,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[5040]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(20172)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[5040] = $41; - $42 = HEAP32[5087]|0; - $43 = HEAP32[5085]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(2,7973,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _Vector3Normalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_Vector3Length($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _Vector3Length($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = 0.0; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = 0.0; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = 0.0; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $2; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = 0.0; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = 0.0; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = 0.0; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = 0.0; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = 0.0; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[5530]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _FormatText($0,$varargs) { - $0 = $0|0; - $varargs = $varargs|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - HEAP32[$1>>2] = $varargs; - (_vsprintf(23180,$0,$1)|0); - STACKTOP = sp;return (23180|0); -} -function _MeasureText($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 72|0; - $2 = sp + 40|0; - $3 = sp + 8|0; - $4 = sp; - _GetDefaultFont($2); - $5 = HEAP32[$2>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - $$sroa$0$0 = 0; - STACKTOP = sp;return ($$sroa$0$0|0); - } - $7 = ($1|0)>(10); - $$ = $7 ? $1 : 10; - $8 = (($$>>>0) / 10)&-1; - _GetDefaultFont($3); - $9 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; - _MeasureTextEx($4,$$byval_copy,$0,$9,$8); - $$sroa$0$0$copyload = +HEAPF32[$4>>2]; - $phitmp = (~~(($$sroa$0$0$copyload))); - $$sroa$0$0 = $phitmp; - STACKTOP = sp;return ($$sroa$0$0|0); -} -function _MeasureTextEx($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; - var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - $5 = (_strlen($2)|0); - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = (+($7|0)); - $9 = $3 / $8; - $10 = ($5|0)>(0); - if (!($10)) { - $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; - $12 = $$055$lcssa < $$052$lcssa; - $$3 = $12 ? $$052$lcssa : $$055$lcssa; - $13 = $9 * $$3; - $14 = Math_imul($$0$lcssa, $4)|0; - $15 = (+($14|0)); - $16 = $13 + $15; - $17 = $9 * $$058$lcssa; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; - STACKTOP = sp;return; - } - $11 = ((($1)) + 28|0); - $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; - while(1) { - $18 = (($$05064) + 1)|0; - $19 = (($2) + ($$05462)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)==(10); - if ($21) { - $33 = $$05561 < $$05263; - $$156 = $33 ? $$05263 : $$05561; - $34 = HEAP32[$6>>2]|0; - $35 = (+($34|0)); - $36 = $35 * 1.5; - $37 = $$05860 + $36; - $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; - } else { - $22 = $20 << 24 >> 24; - ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; - $23 = (_GetCharIndex($$byval_copy,$22)|0); - $24 = HEAP32[$11>>2]|0; - $25 = (((($24) + ($23<<5)|0)) + 28|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $28 = (((($24) + ($23<<5)|0)) + 20|0); - $29 = (((($24) + ($23<<5)|0)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$28>>2]|0; - $32 = (($31) + ($30))|0; - $$pn$in = $32; - } else { - $$pn$in = $26; - } - $$pn = (+($$pn$in|0)); - $$153 = $$05263 + $$pn; - $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; - } - $38 = ($$065|0)<($$151|0); - $$151$$0 = $38 ? $$151 : $$065; - $39 = (($$05462) + 1)|0; - $exitcond = ($39|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; - } - } - $phitmp = (($$151$$0) + -1)|0; - $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; - $12 = $$055$lcssa < $$052$lcssa; - $$3 = $12 ? $$052$lcssa : $$055$lcssa; - $13 = $9 * $$3; - $14 = Math_imul($$0$lcssa, $4)|0; - $15 = (+($14|0)); - $16 = $13 + $15; - $17 = $9 * $$058$lcssa; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; - STACKTOP = sp;return; -} -function _LoadTexture($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $2 = sp + 24|0; - $3 = sp + 4|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; - _LoadImage($3,$1); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - _TraceLog(1,8036,$vararg_buffer); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } else { - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _LoadTextureFromImage($2,$$byval_copy1); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; - _UnloadImage($$byval_copy1); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; - STACKTOP = sp;return; - } -} -function _LoadRenderTexture($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $3 = sp; - _rlLoadRenderTexture($3,$1,$2); - dest=$0; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlLoadRenderTexture($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; - var $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = sp + 44|0; - HEAP32[$3>>2] = 0; - $4 = ((($3)) + 4|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 8|0); - HEAP32[$5>>2] = $1; - $6 = ((($3)) + 12|0); - HEAP32[$6>>2] = $2; - $7 = ((($3)) + 20|0); - HEAP32[$7>>2] = 7; - $8 = ((($3)) + 16|0); - HEAP32[$8>>2] = 1; - $9 = ((($3)) + 24|0); - HEAP32[$9>>2] = 0; - $10 = ((($3)) + 28|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 32|0); - HEAP32[$11>>2] = $2; - $12 = ((($3)) + 40|0); - HEAP32[$12>>2] = 19; - $13 = ((($3)) + 36|0); - HEAP32[$13>>2] = 1; - _glGenTextures(1,($4|0)); - $14 = HEAP32[$4>>2]|0; - _glBindTexture(3553,($14|0)); - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - _glTexParameteri(3553,10241,9729); - _glTexParameteri(3553,10240,9729); - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,(0|0)); - _glBindTexture(3553,0); - _glGenRenderbuffers(1,($9|0)); - $15 = HEAP32[$9>>2]|0; - _glBindRenderbuffer(36161,($15|0)); - _glRenderbufferStorage(36161,33189,($1|0),($2|0)); - _glGenFramebuffers(1,($3|0)); - $16 = HEAP32[$3>>2]|0; - _glBindFramebuffer(36160,($16|0)); - $17 = HEAP32[$4>>2]|0; - _glFramebufferTexture2D(36160,36064,3553,($17|0),0); - $18 = HEAP32[$9>>2]|0; - _glFramebufferRenderbuffer(36160,36096,36161,($18|0)); - $19 = (_glCheckFramebufferStatus(36160)|0); - $20 = ($19|0)==(36053); - if ($20) { - $21 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer9>>2] = $21; - _TraceLog(0,8245,$vararg_buffer9); - _glBindFramebuffer(36160,0); - dest=$0; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _TraceLog(1,8065,$vararg_buffer); - switch ($19|0) { - case 36061: { - _TraceLog(1,8108,$vararg_buffer1); - break; - } - case 36054: { - _TraceLog(1,8135,$vararg_buffer3); - break; - } - case 36057: { - _TraceLog(1,8169,$vararg_buffer5); - break; - } - case 36055: { - _TraceLog(1,8203,$vararg_buffer7); - break; - } - default: { - } - } - _glDeleteTextures(1,($4|0)); - _glDeleteTextures(1,($9|0)); - _glDeleteFramebuffers(1,($3|0)); - _glBindFramebuffer(36160,0); - dest=$0; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _UnloadRenderTexture($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - dest=$$byval_copy; src=$0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlDeleteRenderTextures($$byval_copy); - STACKTOP = sp;return; -} -function _rlDeleteRenderTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - _glDeleteFramebuffers(1,($0|0)); - } - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - _glDeleteTextures(1,($3|0)); - } - $6 = ((($0)) + 24|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - _glDeleteTextures(1,($6|0)); - } - $9 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $9; - _TraceLog(0,8297,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _GenTextureMipmaps($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $exp2 = 0.0, $exp29 = 0.0, $vararg_buffer = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = (+($2|0)); - $4 = (+Math_log((+$3))); - $5 = $4 / 0.69314718246459961; - $6 = (+Math_ceil((+$5))); - $exp2 = (+_llvm_exp2_f32((+$6))); - $7 = (~~(($exp2))); - $8 = ((($0)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7|0)==($2|0); - if ($10) { - $11 = (+($9|0)); - $12 = (+Math_log((+$11))); - $13 = $12 / 0.69314718246459961; - $14 = (+Math_ceil((+$13))); - $exp29 = (+_llvm_exp2_f32((+$14))); - $15 = (~~(($exp29))); - $16 = ($15|0)==($9|0); - if ($16) { - _rlGenerateMipmaps($0); - STACKTOP = sp;return; - } - } - _TraceLog(1,8354,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlGenerateMipmaps($0) { - $0 = $0|0; - var $$$ = 0, $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - _glBindTexture(3553,($1|0)); - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if ($4) { - $5 = (($3) + -1)|0; - $6 = $5 & $3; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>(0); - $11 = (($9) + -1)|0; - $12 = $11 & $9; - $13 = ($12|0)==(0); - $$$ = $10 & $13; - $$0 = $$$; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - $14 = HEAP32[5033]|0; - $15 = ($14|0)!=(0); - $or$cond = $$0 | $15; - if ($or$cond) { - _glGenerateMipmap(3553); - $16 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $16; - _TraceLog(0,8415,$vararg_buffer); - _glTexParameteri(3553,10240,9729); - _glTexParameteri(3553,10241,9987); - $17 = HEAP32[$2>>2]|0; - $18 = ((($0)) + 8|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($17|0)>($19|0); - $21 = $20 ? $17 : $19; - $22 = (+($21|0)); - $23 = (+Math_log((+$22))); - $24 = $23 / 0.69314718055994529; - $25 = (+Math_floor((+$24))); - $26 = (~~(($25))); - $27 = (($26) + 1)|0; - $28 = ((($0)) + 12|0); - HEAP32[$28>>2] = $27; - _glBindTexture(3553,0); - STACKTOP = sp;return; - } else { - $29 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer1>>2] = $29; - _TraceLog(1,8459,$vararg_buffer1); - _glBindTexture(3553,0); - STACKTOP = sp;return; - } -} -function _DrawTextureRec($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0; - var $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $$byval_copy3 = sp + 88|0; - $tmpcast$byval_copy = sp + 80|0; - $$byval_copy2 = sp + 64|0; - $$byval_copy1 = sp + 48|0; - $$byval_copy = sp + 24|0; - $4 = sp + 8|0; - $5 = sp; - $6 = +HEAPF32[$2>>2]; - $7 = (~~(($6))); - HEAP32[$4>>2] = $7; - $8 = ((($4)) + 4|0); - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = (~~(($10))); - HEAP32[$8>>2] = $11; - $12 = ((($4)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $ispos = ($14|0)>(-1); - $neg = (0 - ($14))|0; - $15 = $ispos ? $14 : $neg; - HEAP32[$12>>2] = $15; - $16 = ((($4)) + 12|0); - $17 = ((($1)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $ispos1 = ($18|0)>(-1); - $neg2 = (0 - ($18))|0; - $19 = $ispos1 ? $18 : $neg2; - HEAP32[$16>>2] = $19; - $20 = $5; - $21 = $20; - HEAP32[$21>>2] = 0; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = 0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$1+12>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$4+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; - _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,0.0,$$byval_copy3); - STACKTOP = sp;return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _DrawGrid($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0|0) / 2)&-1; - _rlBegin(1); - $3 = (0 - ($2))|0; - $4 = ($2|0)<($3|0); - if ($4) { - _rlEnd(); - return; - } - $5 = (+($3|0)); - $6 = $5 * $1; - $7 = (+($2|0)); - $8 = $7 * $1; - $$024 = $3; - while(1) { - $9 = ($$024|0)==(0); - if ($9) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $10 = (+($$024|0)); - $11 = $10 * $1; - _rlVertex3f($11,0.0,$6); - _rlVertex3f($11,0.0,$8); - _rlVertex3f($6,0.0,$11); - _rlVertex3f($8,0.0,$11); - $12 = (($$024) + 1)|0; - $13 = ($$024|0)<($2|0); - if ($13) { - $$024 = $12; - } else { - break; - } - } - _rlEnd(); - return; -} -function _rlColor3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $0 * 255.0; - $4 = (~~(($3))&255); - $5 = $1 * 255.0; - $6 = (~~(($5))&255); - $7 = $2 * 255.0; - $8 = (~~(($7))&255); - _rlColor4ub($4,$6,$8,-1); - return; -} -function _LoadModel($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1152|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1152|0); - $2 = sp + 536|0; - $3 = sp + 472|0; - $4 = sp; - _memset(($2|0),0,604)|0; - _LoadMesh($2,$1); - $5 = ((($2)) + 68|0); - _MatrixIdentity($3); - dest=$5; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = ((($2)) + 132|0); - _LoadMaterialDefault($4); - _memcpy(($6|0),($4|0),472)|0; - _memcpy(($0|0),($2|0),604)|0; - STACKTOP = sp;return; -} -function _LoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 4|0; - dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,8500)|0); - $5 = ($4|0)==(0); - if (!($5)) { - _LoadOBJ($3,$1); - dest=$2; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - _TraceLog(1,8505,$vararg_buffer); - } else { - _rlLoadMesh($2,0); - } - dest=$0; src=$2; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadMaterialDefault($0) { - $0 = $0|0; - var $$sroa$05 = 0, $$sroa$05$132$sroa_idx = 0, $$sroa$10$0$$sroa_idx = 0, $$sroa$1014$0$$sroa_idx = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$6$0$$sroa_idx = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(304|0); - $$sroa$05 = sp + 152|0; - $1 = sp + 20|0; - $2 = sp; - _memset(($$sroa$05|0),0,152)|0; - _GetShaderDefault($1); - _memcpy(($$sroa$05|0),($1|0),132)|0; - _GetTextureDefault($2); - $$sroa$05$132$sroa_idx = ((($$sroa$05)) + 132|0); - ;HEAP32[$$sroa$05$132$sroa_idx>>2]=HEAP32[$2>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$sroa$05$132$sroa_idx+16>>2]=HEAP32[$2+16>>2]|0; - _memcpy(($0|0),($$sroa$05|0),152)|0; - $$sroa$6$0$$sroa_idx = ((($0)) + 152|0); - $$sroa$10$0$$sroa_idx = ((($0)) + 156|0); - HEAP32[$$sroa$6$0$$sroa_idx>>2] = -1; - ;HEAP32[$$sroa$10$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$10$0$$sroa_idx+20>>2]=0|0; - $$sroa$1014$0$$sroa_idx = ((($0)) + 180|0); - $$sroa$14$0$$sroa_idx = ((($0)) + 184|0); - HEAP32[$$sroa$1014$0$$sroa_idx>>2] = -1; - _memset(($$sroa$14$0$$sroa_idx|0),0,288)|0; - STACKTOP = sp;return; -} -function _GetShaderDefault($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _memcpy(($0|0),(22144|0),132)|0; - return; -} -function _GetTextureDefault($0) { - $0 = $0|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5086]|0; - HEAP32[$0>>2] = $1; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; - return; -} -function _LoadOBJ($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$ph374433 = 0, $$0$ph377422 = 0, $$0$ph379$lcssa386 = 0, $$0$ph379412 = 0, $$0$ph445 = 0, $$0344$ph373432 = 0, $$0344$ph376$lcssa388 = 0, $$0344$ph376421 = 0, $$0344$ph444 = 0, $$0345$ph372$lcssa389 = 0, $$0345$ph372431 = 0, $$0345$ph443 = 0, $$0346$ph$lcssa = 0, $$0346$ph442 = 0, $$0347392 = 0, $$0348391 = 0, $$0350$ph = 0, $$0350$ph$ph = 0, $$0351$ph$ph = 0, $$0352$ph = 0; - var $$0352$ph$ph = 0, $$0353$ph365399 = 0, $$0353$ph367397 = 0, $$0353$ph402 = 0, $$0354$ph364398 = 0, $$0354$ph401 = 0, $$0355$ph400 = 0, $$0356 = 0, $$0357 = 0, $$1 = 0, $$byval_copy102 = 0, $$byval_copy103 = 0, $$sroa$12$0$$sroa_idx244 = 0, $$sroa$12247$0$$sroa_idx249 = 0, $$sroa$31$0$$sroa_idx270 = 0, $$sroa$45$0$$sroa_idx286 = 0, $$sroa$45289$0$$sroa_idx291 = 0, $$sroa$64$0 = 0, $$sroa$64$0$$sroa_idx312 = 0, $$sroa$74$0$$sroa_idx324 = 0; - var $$sroa$75 = 0, $$sroa$75$0$$sroa_idx = 0, $$sroa$75$0$$sroa_idx328 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0.0; - var $26 = 0, $260 = 0.0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0.0, $312 = 0; - var $313 = 0, $314 = 0.0, $315 = 0, $316 = 0, $317 = 0.0, $318 = 0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0; - var $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0.0, $338 = 0.0, $339 = 0.0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer29 = 0, $vararg_buffer33 = 0, $vararg_buffer36 = 0; - var $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer52 = 0, $vararg_buffer55 = 0, $vararg_buffer58 = 0, $vararg_buffer63 = 0, $vararg_buffer7 = 0, $vararg_buffer71 = 0, $vararg_buffer79 = 0, $vararg_buffer90 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr22 = 0, $vararg_ptr32 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr47 = 0; - var $vararg_ptr48 = 0, $vararg_ptr61 = 0, $vararg_ptr62 = 0, $vararg_ptr66 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, $vararg_ptr69 = 0, $vararg_ptr70 = 0, $vararg_ptr74 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr82 = 0, $vararg_ptr83 = 0, $vararg_ptr84 = 0, $vararg_ptr85 = 0, $vararg_ptr86 = 0, $vararg_ptr87 = 0, $vararg_ptr88 = 0; - var $vararg_ptr89 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy103 = sp + 320|0; - $$byval_copy102 = sp + 304|0; - $vararg_buffer90 = sp + 296|0; - $vararg_buffer79 = sp + 256|0; - $vararg_buffer71 = sp + 232|0; - $vararg_buffer63 = sp + 208|0; - $vararg_buffer58 = sp + 192|0; - $vararg_buffer55 = sp + 184|0; - $vararg_buffer52 = sp + 176|0; - $vararg_buffer49 = sp + 168|0; - $vararg_buffer44 = sp + 152|0; - $vararg_buffer41 = sp + 144|0; - $vararg_buffer36 = sp + 128|0; - $vararg_buffer33 = sp + 120|0; - $vararg_buffer29 = sp + 112|0; - $vararg_buffer26 = sp + 104|0; - $vararg_buffer23 = sp + 96|0; - $vararg_buffer11 = sp + 80|0; - $vararg_buffer7 = sp + 64|0; - $vararg_buffer4 = sp + 56|0; - $vararg_buffer1 = sp + 48|0; - $vararg_buffer = sp + 40|0; - $$sroa$75 = sp; - $2 = sp + 664|0; - $3 = sp + 464|0; - $4 = sp + 428|0; - $5 = sp + 416|0; - $6 = sp + 452|0; - $7 = sp + 440|0; - $8 = sp + 404|0; - $9 = sp + 392|0; - $10 = sp + 380|0; - $11 = sp + 368|0; - $12 = sp + 356|0; - $13 = sp + 344|0; - $14 = sp + 332|0; - dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,8672)|0); - $16 = ($15|0)==(0|0); - if ($16) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(1,8675,$vararg_buffer); - $$sroa$75$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; - dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $17 = (_feof($15)|0); - $18 = ($17|0)==(0); - L5: do { - if ($18) { - $$0$ph445 = 0;$$0344$ph444 = 0;$$0345$ph443 = 0;$$0346$ph442 = 0; - while(1) { - $$0$ph374433 = $$0$ph445;$$0344$ph373432 = $$0344$ph444;$$0345$ph372431 = $$0345$ph443; - L8: while(1) { - $$0$ph377422 = $$0$ph374433;$$0344$ph376421 = $$0344$ph373432; - L10: while(1) { - $$0$ph379412 = $$0$ph377422; - L12: while(1) { - L14: while(1) { - HEAP8[$2>>0] = 0; - HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,8709,$vararg_buffer1)|0); - $19 = HEAP8[$2>>0]|0; - $20 = $19 << 24 >> 24; - switch ($20|0) { - case 102: { - break L8; - break; - } - case 118: { - break L14; - break; - } - case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $21 = (_feof($15)|0); - $22 = ($21|0)==(0); - if (!($22)) { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,8709,$vararg_buffer4)|0); - $23 = HEAP8[$2>>0]|0; - switch ($23<<24>>24) { - case 116: { - break L10; - break; - } - case 110: { - break L12; - break; - } - default: { - } - } - $30 = (($$0$ph379412) + 1)|0; - (_fgets($3,200,$15)|0); - $31 = (_feof($15)|0); - $32 = ($31|0)==(0); - if ($32) { - $$0$ph379412 = $30; - } else { - $$0$ph379$lcssa386 = $30;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $27 = (($$0344$ph376421) + 1)|0; - (_fgets($3,200,$15)|0); - $28 = (_feof($15)|0); - $29 = ($28|0)==(0); - if ($29) { - $$0$ph377422 = $$0$ph379412;$$0344$ph376421 = $27; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $27;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $24 = (($$0345$ph372431) + 1)|0; - (_fgets($3,200,$15)|0); - $25 = (_feof($15)|0); - $26 = ($25|0)==(0); - if ($26) { - $$0$ph374433 = $$0$ph379412;$$0344$ph373432 = $$0344$ph376421;$$0345$ph372431 = $24; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $24;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $33 = (($$0346$ph442) + 1)|0; - (_fgets($3,200,$15)|0); - $34 = (_feof($15)|0); - $35 = ($34|0)==(0); - if ($35) { - $$0$ph445 = $$0$ph379412;$$0344$ph444 = $$0344$ph376421;$$0345$ph443 = $$0345$ph372431;$$0346$ph442 = $33; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $33; - break; - } - } - } else { - $$0$ph379$lcssa386 = 0;$$0344$ph376$lcssa388 = 0;$$0345$ph372$lcssa389 = 0;$$0346$ph$lcssa = 0; - } - } while(0); - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,8712,$vararg_buffer7); - HEAP32[$vararg_buffer11>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,8736,$vararg_buffer11); - HEAP32[$$byval_copy102>>2] = $1; - $vararg_ptr18 = ((($$byval_copy102)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,8761,$$byval_copy102); - HEAP32[$$byval_copy103>>2] = $1; - $vararg_ptr22 = ((($$byval_copy103)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,8784,$$byval_copy103); - $36 = ($$0$ph379$lcssa386*12)|0; - $37 = (_malloc($36)|0); - $38 = ($$0344$ph376$lcssa388|0)>(0); - if ($38) { - $39 = ($$0344$ph376$lcssa388*12)|0; - $40 = (_malloc($39)|0); - $$0357 = $40;$369 = $40; - } else { - $$0357 = 0;$369 = 0; - } - $41 = ($$0345$ph372$lcssa389|0)>(0); - if ($41) { - $42 = $$0345$ph372$lcssa389 << 3; - $43 = (_malloc($42)|0); - $$0356 = $43;$370 = $43; - } else { - $$0356 = 0;$370 = 0; - } - _rewind($15); - $44 = (_feof($15)|0); - $45 = ($44|0)==(0); - L31: do { - if ($45) { - $$0353$ph402 = 0;$$0354$ph401 = 0;$$0355$ph400 = 0; - while(1) { - $$0353$ph365399 = $$0353$ph402;$$0354$ph364398 = $$0354$ph401; - L34: while(1) { - $$0353$ph367397 = $$0353$ph365399; - L36: while(1) { - L38: while(1) { - HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,8709,$vararg_buffer23)|0); - $46 = HEAP8[$2>>0]|0; - $47 = $46 << 24 >> 24; - switch ($47|0) { - case 118: { - break L38; - break; - } - case 102: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $48 = (_feof($15)|0); - $49 = ($48|0)==(0); - if (!($49)) { - break L31; - } - } - HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,8709,$vararg_buffer26)|0); - $50 = HEAP8[$2>>0]|0; - switch ($50<<24>>24) { - case 110: { - break L36; - break; - } - case 116: { - break; - } - default: { - break L34; - } - } - $51 = (($$0356) + ($$0353$ph367397<<3)|0); - $52 = (((($$0356) + ($$0353$ph367397<<3)|0)) + 4|0); - HEAP32[$vararg_buffer29>>2] = $51; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,8809,$vararg_buffer29)|0); - $53 = (($$0353$ph367397) + 1)|0; - HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,8709,$vararg_buffer33)|0); - $54 = (_feof($15)|0); - $55 = ($54|0)==(0); - if ($55) { - $$0353$ph367397 = $53; - } else { - break L31; - } - } - $56 = (($$0357) + (($$0354$ph364398*12)|0)|0); - $57 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 4|0); - $58 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer36>>2] = $56; - $vararg_ptr39 = ((($vararg_buffer36)) + 4|0); - HEAP32[$vararg_ptr39>>2] = $57; - $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); - HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,8823,$vararg_buffer36)|0); - $59 = (($$0354$ph364398) + 1)|0; - HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,8709,$vararg_buffer41)|0); - $60 = (_feof($15)|0); - $61 = ($60|0)==(0); - if ($61) { - $$0353$ph365399 = $$0353$ph367397;$$0354$ph364398 = $59; - } else { - break L31; - } - } - $62 = (($37) + (($$0355$ph400*12)|0)|0); - $63 = (((($37) + (($$0355$ph400*12)|0)|0)) + 4|0); - $64 = (((($37) + (($$0355$ph400*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer44>>2] = $62; - $vararg_ptr47 = ((($vararg_buffer44)) + 4|0); - HEAP32[$vararg_ptr47>>2] = $63; - $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); - HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,8823,$vararg_buffer44)|0); - $65 = (($$0355$ph400) + 1)|0; - HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,8709,$vararg_buffer49)|0); - $66 = (_feof($15)|0); - $67 = ($66|0)==(0); - if ($67) { - $$0353$ph402 = $$0353$ph367397;$$0354$ph401 = $$0354$ph364398;$$0355$ph400 = $65; - } else { - break; - } - } - } - } while(0); - $68 = ($$0346$ph$lcssa*3)|0; - $69 = ($$0346$ph$lcssa*9)|0; - $70 = ($$0346$ph$lcssa*36)|0; - $71 = (_malloc($70)|0); - $72 = ($$0346$ph$lcssa*6)|0; - $73 = ($$0346$ph$lcssa*24)|0; - $74 = (_malloc($73)|0); - $75 = (_malloc($70)|0); - _rewind($15); - $76 = ($$0344$ph376$lcssa388|0)==(0); - if ($76) { - HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,8832,$vararg_buffer52); - } - $77 = ($$0345$ph372$lcssa389|0)==(0); - $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; - $79 = ($78|0)==(0); - $80 = ((($vararg_buffer11)) + 4|0); - $81 = ((($vararg_buffer11)) + 8|0); - $82 = ((($vararg_buffer11)) + 4|0); - $83 = ((($vararg_buffer11)) + 8|0); - $84 = ((($4)) + 4|0); - $85 = ((($4)) + 8|0); - $86 = ((($5)) + 4|0); - $87 = ((($5)) + 8|0); - $88 = ((($vararg_buffer11)) + 4|0); - $89 = ((($vararg_buffer7)) + 4|0); - $90 = ((($vararg_buffer11)) + 8|0); - $91 = ((($vararg_buffer7)) + 8|0); - $92 = ((($vararg_buffer11)) + 4|0); - $93 = ((($4)) + 4|0); - $94 = ((($vararg_buffer11)) + 8|0); - $95 = ((($4)) + 8|0); - $96 = ((($vararg_buffer11)) + 4|0); - $97 = ((($vararg_buffer7)) + 4|0); - $98 = ((($4)) + 4|0); - $99 = ((($vararg_buffer11)) + 8|0); - $100 = ((($vararg_buffer7)) + 8|0); - $101 = ((($4)) + 8|0); - $102 = ((($vararg_buffer7)) + 4|0); - $103 = ((($vararg_buffer7)) + 8|0); - $$0350$ph$ph = 0;$$0351$ph$ph = 0;$$0352$ph$ph = 0; - L51: while(1) { - $$0350$ph = $$0350$ph$ph;$$0352$ph = $$0352$ph$ph; - while(1) { - $104 = (_feof($15)|0); - $105 = ($104|0)==(0); - if (!($105)) { - break L51; - } - L55: while(1) { - HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,8709,$vararg_buffer55)|0); - $106 = HEAP8[$2>>0]|0; - $107 = $106 << 24 >> 24; - switch ($107|0) { - case 102: { - break L55; - break; - } - case 118: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $108 = (_feof($15)|0); - $109 = ($108|0)==(0); - if (!($109)) { - break L51; - } - } - do { - if ($79) { - HEAP32[$vararg_buffer58>>2] = $vararg_buffer11; - $vararg_ptr61 = ((($vararg_buffer58)) + 4|0); - HEAP32[$vararg_ptr61>>2] = $80; - $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); - HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,8903,$vararg_buffer58)|0); - } else { - if ($76) { - HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; - $vararg_ptr66 = ((($vararg_buffer63)) + 4|0); - HEAP32[$vararg_ptr66>>2] = $vararg_buffer7; - $vararg_ptr67 = ((($vararg_buffer63)) + 8|0); - HEAP32[$vararg_ptr67>>2] = $88; - $vararg_ptr68 = ((($vararg_buffer63)) + 12|0); - HEAP32[$vararg_ptr68>>2] = $89; - $vararg_ptr69 = ((($vararg_buffer63)) + 16|0); - HEAP32[$vararg_ptr69>>2] = $90; - $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); - HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,8912,$vararg_buffer63)|0); - break; - } - if ($77) { - HEAP32[$vararg_buffer71>>2] = $vararg_buffer11; - $vararg_ptr74 = ((($vararg_buffer71)) + 4|0); - HEAP32[$vararg_ptr74>>2] = $4; - $vararg_ptr75 = ((($vararg_buffer71)) + 8|0); - HEAP32[$vararg_ptr75>>2] = $92; - $vararg_ptr76 = ((($vararg_buffer71)) + 12|0); - HEAP32[$vararg_ptr76>>2] = $93; - $vararg_ptr77 = ((($vararg_buffer71)) + 16|0); - HEAP32[$vararg_ptr77>>2] = $94; - $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); - HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,8930,$vararg_buffer71)|0); - break; - } else { - HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; - $vararg_ptr82 = ((($vararg_buffer79)) + 4|0); - HEAP32[$vararg_ptr82>>2] = $vararg_buffer7; - $vararg_ptr83 = ((($vararg_buffer79)) + 8|0); - HEAP32[$vararg_ptr83>>2] = $4; - $vararg_ptr84 = ((($vararg_buffer79)) + 12|0); - HEAP32[$vararg_ptr84>>2] = $96; - $vararg_ptr85 = ((($vararg_buffer79)) + 16|0); - HEAP32[$vararg_ptr85>>2] = $97; - $vararg_ptr86 = ((($vararg_buffer79)) + 20|0); - HEAP32[$vararg_ptr86>>2] = $98; - $vararg_ptr87 = ((($vararg_buffer79)) + 24|0); - HEAP32[$vararg_ptr87>>2] = $99; - $vararg_ptr88 = ((($vararg_buffer79)) + 28|0); - HEAP32[$vararg_ptr88>>2] = $100; - $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); - HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,8951,$vararg_buffer79)|0); - break; - } - } - } while(0); - $110 = HEAP32[$vararg_buffer11>>2]|0; - $111 = (($110) + -1)|0; - $112 = (($37) + (($111*12)|0)|0); - $113 = HEAP32[$112>>2]|0; - $114 = (($71) + ($$0352$ph<<2)|0); - HEAP32[$114>>2] = $113; - $115 = (((($37) + (($111*12)|0)|0)) + 4|0); - $116 = HEAP32[$115>>2]|0; - $117 = (($$0352$ph) + 1)|0; - $118 = (($71) + ($117<<2)|0); - HEAP32[$118>>2] = $116; - $119 = (((($37) + (($111*12)|0)|0)) + 8|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($$0352$ph) + 2)|0; - $122 = (($71) + ($121<<2)|0); - HEAP32[$122>>2] = $120; - $123 = (($$0352$ph) + 3)|0; - $124 = HEAP32[$82>>2]|0; - $125 = (($124) + -1)|0; - $126 = (($37) + (($125*12)|0)|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($71) + ($123<<2)|0); - HEAP32[$128>>2] = $127; - $129 = (((($37) + (($125*12)|0)|0)) + 4|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($$0352$ph) + 4)|0; - $132 = (($71) + ($131<<2)|0); - HEAP32[$132>>2] = $130; - $133 = (((($37) + (($125*12)|0)|0)) + 8|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($$0352$ph) + 5)|0; - $136 = (($71) + ($135<<2)|0); - HEAP32[$136>>2] = $134; - $137 = (($$0352$ph) + 6)|0; - $138 = HEAP32[$83>>2]|0; - $139 = (($138) + -1)|0; - $140 = (($37) + (($139*12)|0)|0); - $141 = HEAP32[$140>>2]|0; - $142 = (($71) + ($137<<2)|0); - HEAP32[$142>>2] = $141; - $143 = (((($37) + (($139*12)|0)|0)) + 4|0); - $144 = HEAP32[$143>>2]|0; - $145 = (($$0352$ph) + 7)|0; - $146 = (($71) + ($145<<2)|0); - HEAP32[$146>>2] = $144; - $147 = (((($37) + (($139*12)|0)|0)) + 8|0); - $148 = HEAP32[$147>>2]|0; - $149 = (($$0352$ph) + 8)|0; - $150 = (($71) + ($149<<2)|0); - HEAP32[$150>>2] = $148; - $151 = (($$0352$ph) + 9)|0; - if ($38) { - $152 = HEAP32[$4>>2]|0; - $153 = (($152) + -1)|0; - $154 = (($$0357) + (($153*12)|0)|0); - $155 = HEAP32[$154>>2]|0; - $156 = (($75) + ($$0350$ph<<2)|0); - HEAP32[$156>>2] = $155; - $157 = (((($$0357) + (($153*12)|0)|0)) + 4|0); - $158 = HEAP32[$157>>2]|0; - $159 = (($$0350$ph) + 1)|0; - $160 = (($75) + ($159<<2)|0); - HEAP32[$160>>2] = $158; - $161 = (((($$0357) + (($153*12)|0)|0)) + 8|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($$0350$ph) + 2)|0; - $164 = (($75) + ($163<<2)|0); - HEAP32[$164>>2] = $162; - $165 = (($$0350$ph) + 3)|0; - $166 = HEAP32[$84>>2]|0; - $167 = (($166) + -1)|0; - $168 = (($$0357) + (($167*12)|0)|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($75) + ($165<<2)|0); - HEAP32[$170>>2] = $169; - $171 = (((($$0357) + (($167*12)|0)|0)) + 4|0); - $172 = HEAP32[$171>>2]|0; - $173 = (($$0350$ph) + 4)|0; - $174 = (($75) + ($173<<2)|0); - HEAP32[$174>>2] = $172; - $175 = (((($$0357) + (($167*12)|0)|0)) + 8|0); - $176 = HEAP32[$175>>2]|0; - $177 = (($$0350$ph) + 5)|0; - $178 = (($75) + ($177<<2)|0); - HEAP32[$178>>2] = $176; - $179 = (($$0350$ph) + 6)|0; - $180 = HEAP32[$85>>2]|0; - $181 = (($180) + -1)|0; - $182 = (($$0357) + (($181*12)|0)|0); - $183 = HEAP32[$182>>2]|0; - $184 = (($75) + ($179<<2)|0); - HEAP32[$184>>2] = $183; - $185 = (((($$0357) + (($181*12)|0)|0)) + 4|0); - $186 = HEAP32[$185>>2]|0; - $187 = (($$0350$ph) + 7)|0; - $188 = (($75) + ($187<<2)|0); - HEAP32[$188>>2] = $186; - $189 = (((($$0357) + (($181*12)|0)|0)) + 8|0); - $190 = HEAP32[$189>>2]|0; - $191 = (($$0350$ph) + 8)|0; - $192 = (($75) + ($191<<2)|0); - HEAP32[$192>>2] = $190; - } else { - $193 = HEAP32[$82>>2]|0; - $194 = (($193) + -1)|0; - $195 = (($37) + (($194*12)|0)|0); - $196 = HEAP32[$vararg_buffer11>>2]|0; - $197 = (($196) + -1)|0; - $198 = (($37) + (($197*12)|0)|0); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$195>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$195+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$195+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$198>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$198+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$198+8>>2]|0; - _Vector3Subtract($6,$$byval_copy102,$$byval_copy103); - $199 = HEAP32[$83>>2]|0; - $200 = (($199) + -1)|0; - $201 = (($37) + (($200*12)|0)|0); - $202 = HEAP32[$vararg_buffer11>>2]|0; - $203 = (($202) + -1)|0; - $204 = (($37) + (($203*12)|0)|0); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$201>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$201+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$201+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$204>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$204+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$204+8>>2]|0; - _Vector3Subtract($7,$$byval_copy102,$$byval_copy103); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$6+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$7+8>>2]|0; - _Vector3CrossProduct($5,$$byval_copy102,$$byval_copy103); - _Vector3Normalize($5); - $205 = HEAP32[$5>>2]|0; - $206 = (($75) + ($$0350$ph<<2)|0); - HEAP32[$206>>2] = $205; - $207 = HEAP32[$86>>2]|0; - $208 = (($$0350$ph) + 1)|0; - $209 = (($75) + ($208<<2)|0); - HEAP32[$209>>2] = $207; - $210 = HEAP32[$87>>2]|0; - $211 = (($$0350$ph) + 2)|0; - $212 = (($75) + ($211<<2)|0); - HEAP32[$212>>2] = $210; - $213 = (($$0350$ph) + 3)|0; - $214 = HEAP32[$5>>2]|0; - $215 = (($75) + ($213<<2)|0); - HEAP32[$215>>2] = $214; - $216 = HEAP32[$86>>2]|0; - $217 = (($$0350$ph) + 4)|0; - $218 = (($75) + ($217<<2)|0); - HEAP32[$218>>2] = $216; - $219 = HEAP32[$87>>2]|0; - $220 = (($$0350$ph) + 5)|0; - $221 = (($75) + ($220<<2)|0); - HEAP32[$221>>2] = $219; - $222 = (($$0350$ph) + 6)|0; - $223 = HEAP32[$5>>2]|0; - $224 = (($75) + ($222<<2)|0); - HEAP32[$224>>2] = $223; - $225 = HEAP32[$86>>2]|0; - $226 = (($$0350$ph) + 7)|0; - $227 = (($75) + ($226<<2)|0); - HEAP32[$227>>2] = $225; - $228 = HEAP32[$87>>2]|0; - $229 = (($$0350$ph) + 8)|0; - $230 = (($75) + ($229<<2)|0); - HEAP32[$230>>2] = $228; - } - $$1 = (($$0350$ph) + 9)|0; - if ($41) { - break; - } else { - $$0350$ph = $$1;$$0352$ph = $151; - } - } - $231 = HEAP32[$vararg_buffer7>>2]|0; - $232 = (($231) + -1)|0; - $233 = (($$0356) + ($232<<3)|0); - $234 = HEAP32[$233>>2]|0; - $235 = (($74) + ($$0351$ph$ph<<2)|0); - HEAP32[$235>>2] = $234; - $236 = (((($$0356) + ($232<<3)|0)) + 4|0); - $237 = +HEAPF32[$236>>2]; - $238 = 1.0 - $237; - $239 = $$0351$ph$ph | 1; - $240 = (($74) + ($239<<2)|0); - HEAPF32[$240>>2] = $238; - $241 = (($$0351$ph$ph) + 2)|0; - $242 = HEAP32[$102>>2]|0; - $243 = (($242) + -1)|0; - $244 = (($$0356) + ($243<<3)|0); - $245 = HEAP32[$244>>2]|0; - $246 = (($74) + ($241<<2)|0); - HEAP32[$246>>2] = $245; - $247 = (((($$0356) + ($243<<3)|0)) + 4|0); - $248 = +HEAPF32[$247>>2]; - $249 = 1.0 - $248; - $250 = (($$0351$ph$ph) + 3)|0; - $251 = (($74) + ($250<<2)|0); - HEAPF32[$251>>2] = $249; - $252 = (($$0351$ph$ph) + 4)|0; - $253 = HEAP32[$103>>2]|0; - $254 = (($253) + -1)|0; - $255 = (($$0356) + ($254<<3)|0); - $256 = HEAP32[$255>>2]|0; - $257 = (($74) + ($252<<2)|0); - HEAP32[$257>>2] = $256; - $258 = (((($$0356) + ($254<<3)|0)) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = 1.0 - $259; - $261 = (($$0351$ph$ph) + 5)|0; - $262 = (($74) + ($261<<2)|0); - HEAPF32[$262>>2] = $260; - $263 = (($$0351$ph$ph) + 6)|0; - $$0350$ph$ph = $$1;$$0351$ph$ph = $263;$$0352$ph$ph = $151; - } - (_fclose($15)|0); - $264 = ($$0345$ph372$lcssa389|0)==(0); - if ($264) { - $265 = ($72|0)>(0); - if ($265) { - $368 = ($$0346$ph$lcssa*24)|0; - _memset(($74|0),0,($368|0))|0; - $$sroa$64$0 = 0; - } else { - $$sroa$64$0 = 0; - } - } else { - $266 = (_malloc($70)|0); - $267 = ($69|0)>(0); - if ($267) { - $268 = ((($5)) + 4|0); - $269 = ((($5)) + 8|0); - $270 = ((($8)) + 4|0); - $271 = ((($8)) + 8|0); - $272 = ((($9)) + 4|0); - $273 = ((($9)) + 8|0); - $274 = ((($12)) + 4|0); - $275 = ((($10)) + 4|0); - $276 = ((($12)) + 8|0); - $277 = ((($10)) + 8|0); - $278 = ((($13)) + 4|0); - $279 = ((($11)) + 4|0); - $280 = ((($13)) + 8|0); - $281 = ((($11)) + 8|0); - $282 = ((($14)) + 4|0); - $283 = ((($14)) + 8|0); - $$0347392 = 0;$$0348391 = 0; - while(1) { - $284 = (($71) + ($$0348391<<2)|0); - $285 = HEAP32[$284>>2]|0; - HEAP32[$5>>2] = $285; - $286 = (($$0348391) + 1)|0; - $287 = (($71) + ($286<<2)|0); - $288 = HEAP32[$287>>2]|0; - HEAP32[$268>>2] = $288; - $289 = (($$0348391) + 2)|0; - $290 = (($71) + ($289<<2)|0); - $291 = HEAP32[$290>>2]|0; - HEAP32[$269>>2] = $291; - $292 = (($$0348391) + 3)|0; - $293 = (($71) + ($292<<2)|0); - $294 = HEAP32[$293>>2]|0; - HEAP32[$8>>2] = $294; - $295 = (($$0348391) + 4)|0; - $296 = (($71) + ($295<<2)|0); - $297 = HEAP32[$296>>2]|0; - HEAP32[$270>>2] = $297; - $298 = (($$0348391) + 5)|0; - $299 = (($71) + ($298<<2)|0); - $300 = HEAP32[$299>>2]|0; - HEAP32[$271>>2] = $300; - $301 = (($$0348391) + 6)|0; - $302 = (($71) + ($301<<2)|0); - $303 = HEAP32[$302>>2]|0; - HEAP32[$9>>2] = $303; - $304 = (($$0348391) + 7)|0; - $305 = (($71) + ($304<<2)|0); - $306 = HEAP32[$305>>2]|0; - HEAP32[$272>>2] = $306; - $307 = (($$0348391) + 8)|0; - $308 = (($71) + ($307<<2)|0); - $309 = HEAP32[$308>>2]|0; - HEAP32[$273>>2] = $309; - $310 = (($74) + ($$0347392<<2)|0); - $311 = +HEAPF32[$310>>2]; - $312 = $$0347392 | 1; - $313 = (($74) + ($312<<2)|0); - $314 = +HEAPF32[$313>>2]; - $315 = (($$0347392) + 2)|0; - $316 = (($74) + ($315<<2)|0); - $317 = +HEAPF32[$316>>2]; - $318 = (($$0347392) + 3)|0; - $319 = (($74) + ($318<<2)|0); - $320 = +HEAPF32[$319>>2]; - $321 = (($$0347392) + 4)|0; - $322 = (($74) + ($321<<2)|0); - $323 = +HEAPF32[$322>>2]; - $324 = (($$0347392) + 5)|0; - $325 = (($74) + ($324<<2)|0); - $326 = +HEAPF32[$325>>2]; - ;HEAP32[$$byval_copy102>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$8+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3Subtract($10,$$byval_copy102,$$byval_copy103); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$9+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3Subtract($11,$$byval_copy102,$$byval_copy103); - $327 = $317 - $311; - $328 = $320 - $314; - $329 = $323 - $311; - $330 = $326 - $314; - $331 = $327 * $330; - $332 = $328 * $329; - $333 = $331 - $332; - $334 = 1.0 / $333; - $335 = +HEAPF32[$10>>2]; - $336 = $330 * $335; - HEAPF32[$12>>2] = $336; - $337 = +HEAPF32[$275>>2]; - $338 = $330 * $337; - HEAPF32[$274>>2] = $338; - $339 = +HEAPF32[$277>>2]; - $340 = $330 * $339; - HEAPF32[$276>>2] = $340; - $341 = +HEAPF32[$11>>2]; - $342 = $328 * $341; - HEAPF32[$13>>2] = $342; - $343 = +HEAPF32[$279>>2]; - $344 = $328 * $343; - HEAPF32[$278>>2] = $344; - $345 = +HEAPF32[$281>>2]; - $346 = $328 * $345; - HEAPF32[$280>>2] = $346; - ;HEAP32[$$byval_copy102>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$12+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$13+8>>2]|0; - _Vector3Subtract($14,$$byval_copy102,$$byval_copy103); - _Vector3Scale($14,$334); - $347 = HEAP32[$14>>2]|0; - $348 = (($266) + ($$0348391<<2)|0); - HEAP32[$348>>2] = $347; - $349 = HEAP32[$282>>2]|0; - $350 = (($266) + ($286<<2)|0); - HEAP32[$350>>2] = $349; - $351 = HEAP32[$283>>2]|0; - $352 = (($266) + ($289<<2)|0); - HEAP32[$352>>2] = $351; - $353 = HEAP32[$14>>2]|0; - $354 = (($266) + ($292<<2)|0); - HEAP32[$354>>2] = $353; - $355 = HEAP32[$282>>2]|0; - $356 = (($266) + ($295<<2)|0); - HEAP32[$356>>2] = $355; - $357 = HEAP32[$283>>2]|0; - $358 = (($266) + ($298<<2)|0); - HEAP32[$358>>2] = $357; - $359 = HEAP32[$14>>2]|0; - $360 = (($266) + ($301<<2)|0); - HEAP32[$360>>2] = $359; - $361 = HEAP32[$282>>2]|0; - $362 = (($266) + ($304<<2)|0); - HEAP32[$362>>2] = $361; - $363 = HEAP32[$283>>2]|0; - $364 = (($266) + ($307<<2)|0); - HEAP32[$364>>2] = $363; - $365 = (($$0348391) + 9)|0; - $366 = (($$0347392) + 6)|0; - $367 = ($365|0)<($69|0); - if ($367) { - $$0347392 = $366;$$0348391 = $365; - } else { - $$sroa$64$0 = $266; - break; - } - } - } else { - $$sroa$64$0 = $266; - } - } - _free($37); - _free($369); - _free($370); - HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,8978,$vararg_buffer90); - HEAP32[$0>>2] = $68; - $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; - $$sroa$12247$0$$sroa_idx249 = ((($0)) + 8|0); - HEAP32[$$sroa$12247$0$$sroa_idx249>>2] = $71; - $$sroa$31$0$$sroa_idx270 = ((($0)) + 12|0); - HEAP32[$$sroa$31$0$$sroa_idx270>>2] = $74; - $$sroa$45$0$$sroa_idx286 = ((($0)) + 16|0); - HEAP32[$$sroa$45$0$$sroa_idx286>>2] = 0; - $$sroa$45289$0$$sroa_idx291 = ((($0)) + 20|0); - HEAP32[$$sroa$45289$0$$sroa_idx291>>2] = $75; - $$sroa$64$0$$sroa_idx312 = ((($0)) + 24|0); - HEAP32[$$sroa$64$0$$sroa_idx312>>2] = $$sroa$64$0; - $$sroa$74$0$$sroa_idx324 = ((($0)) + 28|0); - HEAP32[$$sroa$74$0$$sroa_idx324>>2] = 0; - $$sroa$75$0$$sroa_idx328 = ((($0)) + 32|0); - dest=$$sroa$75$0$$sroa_idx328; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlLoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = ((($0)) + 36|0); - $3 = ((($0)) + 40|0); - $4 = ((($0)) + 44|0); - $5 = ((($0)) + 48|0); - $6 = ((($0)) + 52|0); - $7 = ((($0)) + 56|0); - $8 = ((($0)) + 60|0); - $9 = ((($0)) + 64|0); - $10 = ($1|0)!=(0); - $$ = $10 ? 35048 : 35044; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $11 = HEAP32[5145]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = HEAP32[5569]|0; - FUNCTION_TABLE_vii[$13 & 63](1,$2); - $14 = HEAP32[5146]|0; - $15 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vi[$14 & 31]($15); - } - _glGenBuffers(1,($3|0)); - $16 = HEAP32[$3>>2]|0; - _glBindBuffer(34962,($16|0)); - $17 = HEAP32[$0>>2]|0; - $18 = ($17*12)|0; - $19 = ((($0)) + 8|0); - $20 = HEAP32[$19>>2]|0; - _glBufferData(34962,($18|0),($20|0),($$|0)); - _glVertexAttribPointer(0,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(0); - _glGenBuffers(1,($4|0)); - $21 = HEAP32[$4>>2]|0; - _glBindBuffer(34962,($21|0)); - $22 = HEAP32[$0>>2]|0; - $23 = $22 << 3; - $24 = ((($0)) + 12|0); - $25 = HEAP32[$24>>2]|0; - _glBufferData(34962,($23|0),($25|0),($$|0)); - _glVertexAttribPointer(1,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(1); - $26 = ((($0)) + 20|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(0|0); - if ($28) { - _glVertexAttrib3f(2,1.0,1.0,1.0); - _glDisableVertexAttribArray(2); - } else { - _glGenBuffers(1,($5|0)); - $29 = HEAP32[$5>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[$0>>2]|0; - $31 = ($30*12)|0; - $32 = HEAP32[$26>>2]|0; - _glBufferData(34962,($31|0),($32|0),($$|0)); - _glVertexAttribPointer(2,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(2); - } - $33 = ((($0)) + 28|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - _glVertexAttrib4f(3,1.0,1.0,1.0,1.0); - _glDisableVertexAttribArray(3); - } else { - _glGenBuffers(1,($6|0)); - $36 = HEAP32[$6>>2]|0; - _glBindBuffer(34962,($36|0)); - $37 = HEAP32[$0>>2]|0; - $38 = $37 << 2; - $39 = HEAP32[$33>>2]|0; - _glBufferData(34962,($38|0),($39|0),($$|0)); - _glVertexAttribPointer(3,4,5121,1,0,(0|0)); - _glEnableVertexAttribArray(3); - } - $40 = ((($0)) + 24|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if ($42) { - _glVertexAttrib3f(4,0.0,0.0,0.0); - _glDisableVertexAttribArray(4); - } else { - _glGenBuffers(1,($7|0)); - $43 = HEAP32[$7>>2]|0; - _glBindBuffer(34962,($43|0)); - $44 = HEAP32[$0>>2]|0; - $45 = ($44*12)|0; - $46 = HEAP32[$40>>2]|0; - _glBufferData(34962,($45|0),($46|0),($$|0)); - _glVertexAttribPointer(4,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(4); - } - $47 = ((($0)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==(0|0); - if ($49) { - _glVertexAttrib2f(5,0.0,0.0); - _glDisableVertexAttribArray(5); - } else { - _glGenBuffers(1,($8|0)); - $50 = HEAP32[$8>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[$0>>2]|0; - $52 = $51 << 3; - $53 = HEAP32[$47>>2]|0; - _glBufferData(34962,($52|0),($53|0),($$|0)); - _glVertexAttribPointer(5,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(5); - } - $54 = ((($0)) + 32|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==(0|0); - if (!($56)) { - _glGenBuffers(1,($9|0)); - $57 = HEAP32[$9>>2]|0; - _glBindBuffer(34963,($57|0)); - $58 = ((($0)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = ($59*6)|0; - $61 = HEAP32[$54>>2]|0; - _glBufferData(34963,($60|0),($61|0),35044); - } - $62 = HEAP32[5145]|0; - $63 = ($62|0)==(0); - if ($63) { - _TraceLog(0,8624,$vararg_buffer3); - STACKTOP = sp;return; - } - $64 = HEAP32[$2>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - _TraceLog(1,8583,$vararg_buffer1); - STACKTOP = sp;return; - } else { - HEAP32[$vararg_buffer>>2] = $64; - _TraceLog(0,8530,$vararg_buffer); - STACKTOP = sp;return; - } -} -function _Vector3Subtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($2)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - HEAPF32[$6>>2] = $11; - $12 = ((($0)) + 8|0); - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($2)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - HEAPF32[$12>>2] = $17; - return; -} -function _Vector3CrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _Vector3Scale($0,$1) { - $0 = $0|0; - $1 = +$1; - var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = $2 * $1; - HEAPF32[$0>>2] = $3; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $5 * $1; - HEAPF32[$4>>2] = $6; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $1; - HEAPF32[$7>>2] = $9; - return; -} -function _UnloadModel($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0); - $$byval_copy = sp + 8|0; - $vararg_buffer = sp; - _UnloadMesh($0); - $1 = ((($0)) + 132|0); - _memcpy(($$byval_copy|0),($1|0),472)|0; - _UnloadMaterial($$byval_copy); - _TraceLog(0,9022,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadMesh($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _rlUnloadMesh($0); - return; -} -function _UnloadMaterial($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp; - _memcpy(($$byval_copy|0),($0|0),132)|0; - _UnloadShader($$byval_copy); - $1 = ((($0)) + 132|0); - $2 = HEAP32[$1>>2]|0; - _rlDeleteTextures($2); - $3 = ((($0)) + 160|0); - $4 = HEAP32[$3>>2]|0; - _rlDeleteTextures($4); - $5 = ((($0)) + 188|0); - $6 = HEAP32[$5>>2]|0; - _rlDeleteTextures($6); - $7 = ((($0)) + 216|0); - $8 = HEAP32[$7>>2]|0; - _rlDeleteTextures($8); - $9 = ((($0)) + 244|0); - $10 = HEAP32[$9>>2]|0; - _rlDeleteTextures($10); - $11 = ((($0)) + 272|0); - $12 = HEAP32[$11>>2]|0; - _rlDeleteTextures($12); - $13 = ((($0)) + 300|0); - $14 = HEAP32[$13>>2]|0; - _rlDeleteTextures($14); - $15 = ((($0)) + 328|0); - $16 = HEAP32[$15>>2]|0; - _rlDeleteTextures($16); - $17 = ((($0)) + 356|0); - $18 = HEAP32[$17>>2]|0; - _rlDeleteTextures($18); - $19 = ((($0)) + 384|0); - $20 = HEAP32[$19>>2]|0; - _rlDeleteTextures($20); - $21 = ((($0)) + 412|0); - $22 = HEAP32[$21>>2]|0; - _rlDeleteTextures($22); - $23 = ((($0)) + 440|0); - $24 = HEAP32[$23>>2]|0; - _rlDeleteTextures($24); - STACKTOP = sp;return; -} -function _UnloadShader($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteShader($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9080,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteShader($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0); - if ($1) { - return; - } - _glDeleteProgram(($0|0)); - return; -} -function _rlUnloadMesh($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - _free($2); - } - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - _free($8); - } - $10 = ((($0)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if (!($12)) { - _free($11); - } - $13 = ((($0)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - _free($14); - } - $16 = ((($0)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _free($17); - } - $19 = ((($0)) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0|0); - if (!($21)) { - _free($20); - } - $22 = ((($0)) + 40|0); - $23 = HEAP32[$22>>2]|0; - _rlDeleteBuffers($23); - $24 = ((($0)) + 44|0); - $25 = HEAP32[$24>>2]|0; - _rlDeleteBuffers($25); - $26 = ((($0)) + 48|0); - $27 = HEAP32[$26>>2]|0; - _rlDeleteBuffers($27); - $28 = ((($0)) + 52|0); - $29 = HEAP32[$28>>2]|0; - _rlDeleteBuffers($29); - $30 = ((($0)) + 56|0); - $31 = HEAP32[$30>>2]|0; - _rlDeleteBuffers($31); - $32 = ((($0)) + 60|0); - $33 = HEAP32[$32>>2]|0; - _rlDeleteBuffers($33); - $34 = ((($0)) + 64|0); - $35 = HEAP32[$34>>2]|0; - _rlDeleteBuffers($35); - $36 = ((($0)) + 36|0); - $37 = HEAP32[$36>>2]|0; - _rlDeleteVertexArrays($37); - return; -} -function _rlDeleteBuffers($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[5145]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - _TraceLog(0,9170,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteVertexArrays($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = HEAP32[5145]|0; - $3 = ($2|0)==(0); - if ($3) { - STACKTOP = sp;return; - } - $4 = ($0|0)==(0); - if (!($4)) { - $5 = HEAP32[5570]|0; - FUNCTION_TABLE_vii[$5 & 63](1,$1); - } - $6 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,9122,$vararg_buffer); - STACKTOP = sp;return; -} -function _DrawModel($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy4 = sp + 664|0; - $$byval_copy3 = sp + 652|0; - $$byval_copy2 = sp + 640|0; - $$byval_copy1 = sp + 628|0; - $$byval_copy = sp + 24|0; - $4 = sp + 12|0; - $5 = sp; - HEAPF32[$4>>2] = $2; - $6 = ((($4)) + 4|0); - HEAPF32[$6>>2] = $2; - $7 = ((($4)) + 8|0); - HEAPF32[$7>>2] = $2; - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; - _memcpy(($$byval_copy|0),($0|0),604)|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawModelEx($$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$$byval_copy3,$$byval_copy4); - STACKTOP = sp;return; -} -function _DrawModelEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 992|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(992|0); - $$byval_copy9 = sp + 928|0; - $$byval_copy8 = sp + 456|0; - $$byval_copy7 = sp + 384|0; - $6 = sp + 192|0; - $7 = sp + 128|0; - $8 = sp + 64|0; - $9 = sp; - $10 = sp + 320|0; - $11 = sp + 256|0; - $12 = +HEAPF32[$4>>2]; - $13 = ((($4)) + 4|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($4)) + 8|0); - $16 = +HEAPF32[$15>>2]; - _MatrixScale($6,$12,$14,$16); - $17 = $3 * 0.01745329238474369; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$2+8>>2]|0; - _MatrixRotate($7,$$byval_copy9,$17); - $18 = +HEAPF32[$1>>2]; - $19 = ((($1)) + 4|0); - $20 = +HEAPF32[$19>>2]; - $21 = ((($1)) + 8|0); - $22 = +HEAPF32[$21>>2]; - _MatrixTranslate($8,$18,$20,$22); - dest=$$byval_copy8; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($10,$$byval_copy8,$$byval_copy9); - dest=$$byval_copy8; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($9,$$byval_copy8,$$byval_copy9); - $23 = ((($0)) + 68|0); - dest=$$byval_copy8; src=$23; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy9; src=$9; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($11,$$byval_copy8,$$byval_copy9); - dest=$23; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $24 = ((($0)) + 132|0); - $25 = ((($0)) + 284|0); - $26 = HEAPU8[$5>>0]|(HEAPU8[$5+1>>0]<<8)|(HEAPU8[$5+2>>0]<<16)|(HEAPU8[$5+3>>0]<<24); - HEAP32[$25>>2] = $26; - dest=$$byval_copy7; src=$0; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _memcpy(($$byval_copy8|0),($24|0),472)|0; - dest=$$byval_copy9; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlDrawMesh($$byval_copy7,$$byval_copy8,$$byval_copy9); - STACKTOP = sp;return; -} -function _rlDrawMesh($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0$off = 0, $$03539 = 0, $$036$off = 0, $$03640 = 0, $$038 = 0, $$byval_copy10 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $exitcond = 0, $exitcond42 = 0, $modelview$byval_copy8 = 0, $switch = 0, $switch37 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(464|0); - $$byval_copy10 = sp + 392|0; - $modelview$byval_copy8 = sp + 256|0; - $3 = sp + 192|0; - $4 = sp + 128|0; - $5 = sp + 64|0; - $6 = sp; - $7 = HEAP32[$1>>2]|0; - _glUseProgram(($7|0)); - $8 = ((($1)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(-1); - if (!($10)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$9,$$byval_copy10); - } - $11 = ((($1)) + 48|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(-1); - if (!($13)) { - $14 = ((($1)) + 152|0); - $15 = HEAP8[$14>>0]|0; - $16 = (+($15&255)); - $17 = $16 / 255.0; - $18 = ((($1)) + 153|0); - $19 = HEAP8[$18>>0]|0; - $20 = (+($19&255)); - $21 = $20 / 255.0; - $22 = ((($1)) + 154|0); - $23 = HEAP8[$22>>0]|0; - $24 = (+($23&255)); - $25 = $24 / 255.0; - $26 = ((($1)) + 155|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 / 255.0; - _glUniform4f(($12|0),(+$17),(+$21),(+$25),(+$29)); - } - $30 = ((($1)) + 52|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(-1); - if (!($32)) { - $33 = ((($1)) + 180|0); - $34 = HEAP8[$33>>0]|0; - $35 = (+($34&255)); - $36 = $35 / 255.0; - $37 = ((($1)) + 181|0); - $38 = HEAP8[$37>>0]|0; - $39 = (+($38&255)); - $40 = $39 / 255.0; - $41 = ((($1)) + 182|0); - $42 = HEAP8[$41>>0]|0; - $43 = (+($42&255)); - $44 = $43 / 255.0; - $45 = ((($1)) + 183|0); - $46 = HEAP8[$45>>0]|0; - $47 = (+($46&255)); - $48 = $47 / 255.0; - _glUniform4f(($31|0),(+$36),(+$40),(+$44),(+$48)); - } - $49 = ((($1)) + 36|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(-1); - if (!($51)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=20272; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$50,$$byval_copy10); - } - $52 = ((($1)) + 40|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==(-1); - if (!($54)) { - _memcpy(($modelview$byval_copy8|0),($1|0),132)|0; - dest=$$byval_copy10; src=20208; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValueMatrix($modelview$byval_copy8,$53,$$byval_copy10); - } - dest=$3; src=20272; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=20208; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelview$byval_copy8; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=20272; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($5,$modelview$byval_copy8,$$byval_copy10); - $$03640 = 0; - while(1) { - $57 = (((($1)) + 132|0) + (($$03640*28)|0)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = (($$03640) + 33984)|0; - _glActiveTexture(($60|0)); - $61 = HEAP32[$57>>2]|0; - $$036$off = (($$03640) + -7)|0; - $switch = ($$036$off>>>0)<(3); - if ($switch) { - _glBindTexture(34067,($61|0)); - } else { - _glBindTexture(3553,($61|0)); - } - $62 = (($$03640) + 14)|0; - $63 = (((($1)) + 4|0) + ($62<<2)|0); - $64 = HEAP32[$63>>2]|0; - _glUniform1i(($64|0),($$03640|0)); - } - $65 = (($$03640) + 1)|0; - $exitcond42 = ($65|0)==(12); - if ($exitcond42) { - break; - } else { - $$03640 = $65; - } - } - $55 = HEAP32[5145]|0; - $56 = ($55|0)==(0); - if ($56) { - $69 = ((($0)) + 40|0); - $70 = HEAP32[$69>>2]|0; - _glBindBuffer(34962,($70|0)); - $71 = ((($1)) + 4|0); - $72 = HEAP32[$71>>2]|0; - _glVertexAttribPointer(($72|0),3,5126,0,0,(0|0)); - $73 = HEAP32[$71>>2]|0; - _glEnableVertexAttribArray(($73|0)); - $74 = ((($0)) + 44|0); - $75 = HEAP32[$74>>2]|0; - _glBindBuffer(34962,($75|0)); - $76 = ((($1)) + 8|0); - $77 = HEAP32[$76>>2]|0; - _glVertexAttribPointer(($77|0),2,5126,0,0,(0|0)); - $78 = HEAP32[$76>>2]|0; - _glEnableVertexAttribArray(($78|0)); - $79 = ((($1)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(-1); - if (!($81)) { - $82 = ((($0)) + 48|0); - $83 = HEAP32[$82>>2]|0; - _glBindBuffer(34962,($83|0)); - $84 = HEAP32[$79>>2]|0; - _glVertexAttribPointer(($84|0),3,5126,0,0,(0|0)); - $85 = HEAP32[$79>>2]|0; - _glEnableVertexAttribArray(($85|0)); - } - $86 = ((($1)) + 24|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(-1); - do { - if (!($88)) { - $89 = ((($0)) + 52|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - _glVertexAttrib4f(($87|0),1.0,1.0,1.0,1.0); - $94 = HEAP32[$86>>2]|0; - _glDisableVertexAttribArray(($94|0)); - break; - } else { - _glBindBuffer(34962,($90|0)); - $92 = HEAP32[$86>>2]|0; - _glVertexAttribPointer(($92|0),4,5121,1,0,(0|0)); - $93 = HEAP32[$86>>2]|0; - _glEnableVertexAttribArray(($93|0)); - break; - } - } - } while(0); - $95 = ((($1)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==(-1); - if (!($97)) { - $98 = ((($0)) + 56|0); - $99 = HEAP32[$98>>2]|0; - _glBindBuffer(34962,($99|0)); - $100 = HEAP32[$95>>2]|0; - _glVertexAttribPointer(($100|0),3,5126,0,0,(0|0)); - $101 = HEAP32[$95>>2]|0; - _glEnableVertexAttribArray(($101|0)); - } - $102 = ((($1)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)==(-1); - if (!($104)) { - $105 = ((($0)) + 60|0); - $106 = HEAP32[$105>>2]|0; - _glBindBuffer(34962,($106|0)); - $107 = HEAP32[$102>>2]|0; - _glVertexAttribPointer(($107|0),2,5126,0,0,(0|0)); - $108 = HEAP32[$102>>2]|0; - _glEnableVertexAttribArray(($108|0)); - } - $109 = ((($0)) + 32|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if (!($111)) { - $112 = ((($0)) + 64|0); - $113 = HEAP32[$112>>2]|0; - _glBindBuffer(34963,($113|0)); - } - } else { - $66 = HEAP32[5146]|0; - $67 = ((($0)) + 36|0); - $68 = HEAP32[$67>>2]|0; - FUNCTION_TABLE_vi[$66 & 31]($68); - } - $114 = HEAP32[5084]|0; - $115 = ($114|0)!=(0); - $$ = $115 ? 2 : 1; - $116 = ((($1)) + 28|0); - $117 = ((($0)) + 32|0); - $118 = HEAP32[$0>>2]|0; - $119 = ((($0)) + 4|0); - $$03539 = 0; - while(1) { - if ($115) { - dest=$modelview$byval_copy8; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$03539,$modelview$byval_copy8,$$byval_copy10); - } else { - dest=20272; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - dest=$modelview$byval_copy8; src=20272; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=20208; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($6,$modelview$byval_copy8,$$byval_copy10); - $120 = HEAP32[$116>>2]|0; - dest=$$byval_copy10; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $121 = (_MatrixToFloat($$byval_copy10)|0); - _glUniformMatrix4fv(($120|0),1,0,($121|0)); - $122 = HEAP32[$117>>2]|0; - $123 = ($122|0)==(0|0); - if ($123) { - _glDrawArrays(4,0,($118|0)); - } else { - $124 = HEAP32[$119>>2]|0; - $125 = ($124*3)|0; - _glDrawElements(4,($125|0),5123,(0|0)); - } - $126 = (($$03539) + 1)|0; - $127 = ($126|0)<($$|0); - if ($127) { - $$03539 = $126; - } else { - $$038 = 0; - break; - } - } - while(1) { - $130 = (($$038) + 33984)|0; - _glActiveTexture(($130|0)); - $$0$off = (($$038) + -7)|0; - $switch37 = ($$0$off>>>0)<(3); - if ($switch37) { - _glBindTexture(34067,0); - } else { - _glBindTexture(3553,0); - } - $131 = (($$038) + 1)|0; - $exitcond = ($131|0)==(12); - if ($exitcond) { - break; - } else { - $$038 = $131; - } - } - $128 = HEAP32[5145]|0; - $129 = ($128|0)==(0); - if (!($129)) { - $132 = HEAP32[5146]|0; - FUNCTION_TABLE_vi[$132 & 31](0); - _glUseProgram(0); - dest=20208; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=20272; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34962,0); - $133 = ((($0)) + 32|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0|0); - if ($135) { - _glUseProgram(0); - dest=20208; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=20272; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34963,0); - _glUseProgram(0); - dest=20208; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=20272; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetShaderValueMatrix($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $3 = 0, $4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $3 = HEAP32[$0>>2]|0; - _glUseProgram(($3|0)); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $4 = (_MatrixToFloat($$byval_copy)|0); - _glUniformMatrix4fv(($1|0),1,0,($4|0)); - STACKTOP = sp;return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 116|0; - $$byval_copy4 = sp + 104|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _Vector3Subtract($5,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _Vector3CrossProduct($6,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($6); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0; - _Vector3CrossProduct($7,$$byval_copy4,$$byval_copy5); - _Vector3Normalize($7); - $8 = HEAP32[$6>>2]|0; - HEAP32[$4>>2] = $8; - $9 = ((($6)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($4)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($4)) + 32|0); - HEAP32[$14>>2] = $13; - $15 = ((($4)) + 48|0); - HEAPF32[$15>>2] = 0.0; - $16 = HEAP32[$7>>2]|0; - $17 = ((($4)) + 4|0); - HEAP32[$17>>2] = $16; - $18 = ((($7)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($4)) + 20|0); - HEAP32[$20>>2] = $19; - $21 = ((($7)) + 8|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($4)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = ((($4)) + 52|0); - HEAPF32[$24>>2] = 0.0; - $25 = HEAP32[$5>>2]|0; - $26 = ((($4)) + 8|0); - HEAP32[$26>>2] = $25; - $27 = ((($5)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($4)) + 24|0); - HEAP32[$29>>2] = $28; - $30 = ((($5)) + 8|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = $31; - $33 = ((($4)) + 56|0); - HEAPF32[$33>>2] = 0.0; - $34 = HEAP32[$1>>2]|0; - $35 = ((($4)) + 12|0); - HEAP32[$35>>2] = $34; - $36 = ((($1)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($4)) + 28|0); - HEAP32[$38>>2] = $37; - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($4)) + 44|0); - HEAP32[$41>>2] = $40; - $42 = ((($4)) + 60|0); - HEAPF32[$42>>2] = 1.0; - _MatrixInvert($4); - dest=$0; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _rlVertex2i($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+($0|0)); - $3 = (+($1|0)); - $4 = +HEAPF32[903]; - _rlVertex3f($2,$3,$4); - return; -} -function _DrawRectangle($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy2 = sp + 32|0; - $$byval_copy1 = sp + 24|0; - $$byval_copy = sp + 16|0; - $5 = sp + 8|0; - $6 = sp; - $7 = (+($0|0)); - HEAPF32[$5>>2] = $7; - $8 = ((($5)) + 4|0); - $9 = (+($1|0)); - HEAPF32[$8>>2] = $9; - $10 = (+($2|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($3|0)); - HEAPF32[$11>>2] = $12; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawRectangleV($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; - var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $3 = sp; - $4 = (_rlGetVersion()|0); - $5 = ($4|0)==(1); - if ($5) { - _rlBegin(4); - $6 = HEAP8[$2>>0]|0; - $7 = ((($2)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($2)) + 2|0); - $10 = HEAP8[$9>>0]|0; - $11 = ((($2)) + 3|0); - $12 = HEAP8[$11>>0]|0; - _rlColor4ub($6,$8,$10,$12); - $13 = +HEAPF32[$0>>2]; - $14 = (~~(($13))); - $15 = ((($0)) + 4|0); - $16 = +HEAPF32[$15>>2]; - $17 = (~~(($16))); - _rlVertex2i($14,$17); - $18 = ((($1)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $16 + $19; - $21 = (~~(($20))); - _rlVertex2i($14,$21); - $22 = +HEAPF32[$0>>2]; - $23 = +HEAPF32[$1>>2]; - $24 = $22 + $23; - $25 = (~~(($24))); - $26 = +HEAPF32[$15>>2]; - $27 = +HEAPF32[$18>>2]; - $28 = $26 + $27; - $29 = (~~(($28))); - _rlVertex2i($25,$29); - $30 = +HEAPF32[$0>>2]; - $31 = (~~(($30))); - $32 = +HEAPF32[$15>>2]; - $33 = (~~(($32))); - _rlVertex2i($31,$33); - $34 = +HEAPF32[$1>>2]; - $35 = $30 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$18>>2]; - $38 = $32 + $37; - $39 = (~~(($38))); - _rlVertex2i($36,$39); - $40 = +HEAPF32[$0>>2]; - $41 = +HEAPF32[$1>>2]; - $42 = $40 + $41; - $43 = (~~(($42))); - $44 = +HEAPF32[$15>>2]; - $45 = (~~(($44))); - _rlVertex2i($43,$45); - _rlEnd(); - STACKTOP = sp;return; - } - $46 = (_rlGetVersion()|0); - $47 = ($46|0)==(2); - if (!($47)) { - $48 = (_rlGetVersion()|0); - $49 = ($48|0)==(3); - if (!($49)) { - $50 = (_rlGetVersion()|0); - $51 = ($50|0)==(4); - if (!($51)) { - STACKTOP = sp;return; - } - } - } - _GetTextureDefault($3); - $52 = HEAP32[$3>>2]|0; - _rlEnableTexture($52); - _rlBegin(7); - $53 = HEAP8[$2>>0]|0; - $54 = ((($2)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = ((($2)) + 2|0); - $57 = HEAP8[$56>>0]|0; - $58 = ((($2)) + 3|0); - $59 = HEAP8[$58>>0]|0; - _rlColor4ub($53,$55,$57,$59); - _rlTexCoord2f(0.0,0.0); - $60 = +HEAPF32[$0>>2]; - $61 = ((($0)) + 4|0); - $62 = +HEAPF32[$61>>2]; - _rlVertex2f($60,$62); - _rlTexCoord2f(0.0,1.0); - $63 = ((($1)) + 4|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 + $64; - _rlVertex2f($60,$65); - _rlTexCoord2f(1.0,1.0); - $66 = +HEAPF32[$0>>2]; - $67 = +HEAPF32[$1>>2]; - $68 = $66 + $67; - $69 = +HEAPF32[$61>>2]; - $70 = +HEAPF32[$63>>2]; - $71 = $69 + $70; - _rlVertex2f($68,$71); - _rlTexCoord2f(1.0,0.0); - $72 = +HEAPF32[$0>>2]; - $73 = +HEAPF32[$1>>2]; - $74 = $72 + $73; - $75 = +HEAPF32[$61>>2]; - _rlVertex2f($74,$75); - _rlEnd(); - _rlDisableTexture(); - STACKTOP = sp;return; -} -function _DrawRectangleLines($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy3 = sp; - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(1); - if ($6) { - _rlBegin(1); - $7 = HEAP8[$4>>0]|0; - $8 = ((($4)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($4)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($4)) + 3|0); - $13 = HEAP8[$12>>0]|0; - _rlColor4ub($7,$9,$11,$13); - $14 = (($0) + 1)|0; - $15 = (($1) + 1)|0; - _rlVertex2i($14,$15); - $16 = (($2) + ($0))|0; - _rlVertex2i($16,$15); - _rlVertex2i($16,$15); - $17 = (($3) + ($1))|0; - _rlVertex2i($16,$17); - _rlVertex2i($16,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$15); - _rlEnd(); - STACKTOP = sp;return; - } - $18 = (_rlGetVersion()|0); - $19 = ($18|0)==(2); - if (!($19)) { - $20 = (_rlGetVersion()|0); - $21 = ($20|0)==(3); - if (!($21)) { - $22 = (_rlGetVersion()|0); - $23 = ($22|0)==(4); - if (!($23)) { - STACKTOP = sp;return; - } - } - } - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$1,$2,1,$$byval_copy3); - $24 = (($0) + -1)|0; - $25 = (($24) + ($2))|0; - $26 = (($1) + 1)|0; - $27 = (($3) + -2)|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($25,$26,1,$27,$$byval_copy3); - $28 = (($1) + -1)|0; - $29 = (($28) + ($3))|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$29,$2,1,$$byval_copy3); - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$26,1,$27,$$byval_copy3); - STACKTOP = sp;return; -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 - $3; - $5 = $4 * $4; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = $10 * $10; - $12 = $5 + $11; - $13 = (+Math_sqrt((+$12))); - return (+$13); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _Vector3Zero($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 0.0; - $1 = ((($0)) + 4|0); - HEAPF32[$1>>2] = 0.0; - $2 = ((($0)) + 8|0); - HEAPF32[$2>>2] = 0.0; - return; -} -function _MatrixRotateX($0,$1) { - $0 = $0|0; - $1 = +$1; - var $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $2 = sp; - _MatrixIdentity($2); - $3 = (+Math_cos((+$1))); - $4 = (+Math_sin((+$1))); - $5 = ((($2)) + 20|0); - HEAPF32[$5>>2] = $3; - $6 = -$4; - $7 = ((($2)) + 36|0); - HEAPF32[$7>>2] = $6; - $8 = ((($2)) + 24|0); - HEAPF32[$8>>2] = $4; - $9 = ((($2)) + 40|0); - HEAPF32[$9>>2] = $3; - dest=$0; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixRotateY($0,$1) { - $0 = $0|0; - $1 = +$1; - var $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $2 = sp; - _MatrixIdentity($2); - $3 = (+Math_cos((+$1))); - $4 = (+Math_sin((+$1))); - HEAPF32[$2>>2] = $3; - $5 = ((($2)) + 32|0); - HEAPF32[$5>>2] = $4; - $6 = -$4; - $7 = ((($2)) + 8|0); - HEAPF32[$7>>2] = $6; - $8 = ((($2)) + 40|0); - HEAPF32[$8>>2] = $3; - dest=$0; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixRotateZ($0,$1) { - $0 = $0|0; - $1 = +$1; - var $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $2 = sp; - _MatrixIdentity($2); - $3 = (+Math_cos((+$1))); - $4 = (+Math_sin((+$1))); - HEAPF32[$2>>2] = $3; - $5 = -$4; - $6 = ((($2)) + 16|0); - HEAPF32[$6>>2] = $5; - $7 = ((($2)) + 4|0); - HEAPF32[$7>>2] = $4; - $8 = ((($2)) + 20|0); - HEAPF32[$8>>2] = $3; - dest=$0; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[5572] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 19160; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 19200; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4800]; - $111 = +HEAPF32[4790]; - $112 = $110 - $111; - HEAPF32[4802] = $112; - $113 = +HEAPF32[(19204)>>2]; - $114 = +HEAPF32[(19164)>>2]; - $115 = $113 - $114; - HEAPF32[(19212)>>2] = $115; - HEAP32[5571] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19192+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19216+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5577] = $116; - $117 = 19192; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 19160; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 19216; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 19200; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 19192; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 19216; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4804]; - $160 = +HEAPF32[4798]; - $161 = $159 - $160; - HEAPF32[4802] = $161; - $162 = +HEAPF32[(19220)>>2]; - $163 = +HEAPF32[(19196)>>2]; - $164 = $162 - $163; - HEAPF32[(19212)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19192+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19216+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19192+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19216+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5577]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[5571] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19192+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19216+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[5578] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[5577] = 0.0; - HEAPF32[5578] = 0.0; - HEAPF32[4802] = 0.0; - HEAPF32[(19212)>>2] = 0.0; - HEAP32[5572] = 0; - HEAP32[5571] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[5573]|0; - $7 = (($6) + 1)|0; - HEAP32[5573] = $7; - $8 = HEAP32[5571]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[5571] = 2; - HEAP32[5573] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5573] = 1; - HEAP32[5571] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 19160; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 19168; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 19176; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[904] = $34; - HEAPF32[4796] = 0.0; - HEAPF32[(19188)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[5571]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 19176; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19176>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19176+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[5574] = $49; - HEAP32[5575] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[904]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19176>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19176+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[5576] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[5574] = 0.0; - HEAPF32[5576] = 0.0; - $$sink10 = 0; - } - HEAP32[5571] = $$sink10; - HEAPF32[4792] = 0.0; - HEAPF32[(19172)>>2] = 0.0; - HEAP32[5572] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[5575]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[5575] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 19192; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[5571]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19192+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[5571] = 8; - } - } - $82 = +HEAPF32[4798]; - $83 = +HEAPF32[4792]; - $84 = $82 - $83; - HEAPF32[4796] = $84; - $85 = +HEAPF32[(19196)>>2]; - $86 = +HEAPF32[(19172)>>2]; - $87 = $85 - $86; - HEAPF32[(19188)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5571]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5572]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5571] = 4; - } - $4 = HEAP32[5571]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[5571] = 0; - return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 19224; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _IsKeyDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetKeyStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _GetKeyStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5580]|0; - $2 = (_glfwGetKey(($1|0),($0|0))|0); - return ($2|0); -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _TraceLog(0,9225,$vararg_buffer); - HEAP32[5582] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_keypress_callback((9254|0),(0|0),1,(6|0))|0); - (_emscripten_set_click_callback((9254|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchstart_callback((9254|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchend_callback((9254|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchmove_callback((9254|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchcancel_callback((9254|0),(0|0),1,(8|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[5583]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[4806] = $5; - $6 = HEAP32[5584]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(19228)>>2] = $8; - $9 = HEAP32[5585]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[5583] = $0; - HEAP32[5584] = $1; - _MatrixIdentity($2); - dest=22360; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,9449,$vararg_buffer); - } - $6 = HEAP32[5583]|0; - HEAP32[5606] = $6; - $7 = HEAP32[5584]|0; - HEAP32[5607] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[23244]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[23244]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[23244]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,9475,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[5608]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[5583]|0; - $48 = HEAP32[5584]|0; - $49 = HEAP32[5582]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5580] = $50; - $51 = HEAP32[5583]|0; - HEAP32[5609] = $51; - $52 = HEAP32[5584]|0; - HEAP32[5610] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[5583]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5584]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[5606] = $31; - HEAP32[5607] = $34; - } - } while(0); - $38 = HEAP32[5606]|0; - $39 = HEAP32[5607]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(1,9500,$vararg_buffer3); - $40 = HEAP32[5606]|0; - $41 = HEAP32[5607]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[5606]|0; - $43 = HEAP32[5607]|0; - $44 = HEAP32[5582]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5580] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(2,9538,$vararg_buffer6); - } else { - _TraceLog(0,9571,$vararg_buffer8); - $55 = HEAP32[5609]|0; - $56 = HEAP32[5610]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,9611,$vararg_buffer10); - $57 = HEAP32[5583]|0; - $58 = HEAP32[5584]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,9632,$vararg_buffer14); - $59 = HEAP32[5611]|0; - $60 = HEAP32[5612]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,9653,$vararg_buffer18); - } - $61 = HEAP32[5580]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5580]|0; - (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5580]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5580]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5580]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5580]|0; - (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5580]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5580]|0; - (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5580]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[23244]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[5583]|0; - $74 = HEAP32[5584]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5609]|0; - $76 = HEAP32[5611]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5610]|0; - $80 = HEAP32[5612]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,9678,$vararg_buffer22); - $73 = HEAP32[5583]|0; - $74 = HEAP32[5584]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5609]|0; - $76 = HEAP32[5611]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5610]|0; - $80 = HEAP32[5612]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[2407] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,9382,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,9313,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,9306)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - $5 = HEAP32[5579]|0; - $6 = ($5|0)!=(0); - $or$cond = $4 & $6; - if (!($or$cond)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $7 = HEAP32[$3>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - HEAP32[5579] = 0; - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 19240; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (19248); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (22344 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ($0|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[2404] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,9262,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5585] = 0; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5583]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5584]|0; - return ($0|0); -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(1,13234,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[5583]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[5584]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[5609] = $3; - HEAP32[5610] = $5; - HEAP32[5611] = 0; - HEAP32[5612] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,13168,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[5583]|0; - $36 = (+($35|0)); - $37 = HEAP32[5584]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[5609] = $45; - HEAP32[5610] = $37; - $46 = (($45) - ($35))|0; - HEAP32[5611] = $46; - $$sink1 = 0; - } else { - HEAP32[5609] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[5610] = $42; - HEAP32[5611] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[5612] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[5584]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(1,13025,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[5583]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[5584]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[5609] = $23; - HEAP32[5610] = $1; - $24 = (($0) - ($23))|0; - HEAP32[5611] = $24; - $$sink = 0; - } else { - HEAP32[5609] = $0; - $17 = HEAP32[5584]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[5610] = $20; - HEAP32[5611] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[5612] = $$sink; - $25 = HEAP32[5609]|0; - $26 = (+($25|0)); - $27 = HEAP32[5583]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=22360; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5609] = $0; - HEAP32[5610] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(1,13103,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[5583] = $1; - HEAP32[5584] = $2; - HEAP32[5609] = $1; - HEAP32[5610] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[906]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (23251 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[905] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (23245 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 19240; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[905] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[5615] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[5614] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; - var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2528|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2396|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,9701,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,9719,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,9737,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,9755,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$063 = 0;$$sink64 = $14; - while(1) { - $15 = (_strtok($$sink64,9773)|0); - $16 = (($vararg_buffer7) + ($$063<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$063) + 1)|0; - if ($17) { - break; - } else { - $$063 = $18;$$sink64 = 0; - } - } - _free($14); - $19 = (($$063) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,9775,$vararg_buffer10); - $20 = ($$063|0)>(1); - if ($20) { - $$06268 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06268<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,9810)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[5145] = 1; - $27 = (_eglGetProcAddress((9837|0))|0); - HEAP32[5569] = $27; - $28 = (_eglGetProcAddress((9858|0))|0); - HEAP32[5146] = $28; - $29 = (_eglGetProcAddress((9879|0))|0); - HEAP32[5570] = $29; - } - $30 = (_strcmp($24,9903)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[5033] = 1; - } - $32 = (_strcmp($24,9923)|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP32[5032] = 1; - } - $34 = (_strcmp($24,9941)|0); - $35 = ($34|0)==(0); - if ($35) { - label = 14; - } else { - $36 = HEAP32[$23>>2]|0; - $37 = (_strcmp($36,9973)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 14; - } else { - $39 = (_strcmp($36,10006)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 14; - } - } - } - if ((label|0) == 14) { - label = 0; - HEAP32[5027] = 1; - } - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,10046)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 17; - } else { - $44 = (_strcmp($41,10082)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 17; - } - } - if ((label|0) == 17) { - label = 0; - HEAP32[5028] = 1; - } - $46 = (_strcmp($41,10115)|0); - $47 = ($46|0)==(0); - if ($47) { - HEAP32[5029] = 1; - } - $48 = HEAP32[$23>>2]|0; - $49 = (_strcmp($48,10140)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[5030] = 1; - } - $51 = (_strcmp($48,10173)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[5031] = 1; - } - $53 = (_strcmp($48,10209)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP32[5613] = 1; - _glGetFloatv(34047,(20140|0)); - } - $55 = (_strcmp($48,10243)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[5034] = 1; - } - $57 = (($$06268) + 1)|0; - $exitcond71 = ($57|0)==($19|0); - if ($exitcond71) { - break; - } else { - $$06268 = $57; - } - } - } - $21 = HEAP32[5145]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(1,10346,$vararg_buffer15); - } else { - _TraceLog(0,10271,$vararg_buffer13); - } - $58 = HEAP32[5033]|0; - $59 = ($58|0)==(0); - if ($59) { - _TraceLog(1,10482,$vararg_buffer19); - } else { - _TraceLog(0,10407,$vararg_buffer17); - } - $60 = HEAP32[5027]|0; - $61 = ($60|0)==(0); - if (!($61)) { - _TraceLog(0,10574,$vararg_buffer21); - } - $62 = HEAP32[5028]|0; - $63 = ($62|0)==(0); - if (!($63)) { - _TraceLog(0,10620,$vararg_buffer23); - } - $64 = HEAP32[5029]|0; - $65 = ($64|0)==(0); - if (!($65)) { - _TraceLog(0,10667,$vararg_buffer25); - } - $66 = HEAP32[5030]|0; - $67 = ($66|0)==(0); - if (!($67)) { - _TraceLog(0,10718,$vararg_buffer27); - } - $68 = HEAP32[5031]|0; - $69 = ($68|0)==(0); - if (!($69)) { - _TraceLog(0,10765,$vararg_buffer29); - } - $70 = HEAP32[5613]|0; - $71 = ($70|0)==(0); - if (!($71)) { - $72 = +HEAPF32[5035]; - $73 = $72; - HEAPF64[$vararg_buffer31>>3] = $73; - _TraceLog(0,10812,$vararg_buffer31); - } - $74 = HEAP32[5034]|0; - $75 = ($74|0)==(0); - if (!($75)) { - _TraceLog(0,10878,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $76 = (_rlLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[5086] = $76; - $77 = ($76|0)==(0); - if ($77) { - _TraceLog(1,10982,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $76; - _TraceLog(0,10931,$vararg_buffer36); - } - _LoadShaderDefault($2); - _memcpy((22144|0),($2|0),132)|0; - _memcpy((20448|0),($2|0),132)|0; - _LoadBuffersDefault(); - $78 = (_malloc(49152)|0); - HEAP32[5533] = $78; - $$06167 = 0; - while(1) { - $80 = HEAP32[5533]|0; - $81 = (($80) + (($$06167*12)|0)|0); - _Vector3Zero($3); - ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; - $82 = (($$06167) + 1)|0; - $exitcond70 = ($82|0)==(4096); - if ($exitcond70) { - break; - } else { - $$06167 = $82; - } - } - $79 = (_malloc(36864)|0); - HEAP32[5087] = $79; - $$06066 = 0; - while(1) { - $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = (($79) + (($$06066*144)|0)|0); - HEAP32[$84>>2] = 0; - $85 = (($$06066) + 1)|0; - $exitcond = ($85|0)==(256); - if ($exitcond) { - break; - } else { - $$06066 = $85; - } - } - HEAP32[5085] = 1; - $86 = HEAP32[5086]|0; - $87 = ((($79)) + 8|0); - HEAP32[$87>>2] = $86; - HEAP32[5534] = 4; - _MatrixIdentity($4); - dest=21096; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21160); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21224); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21288); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21352); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21416); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21480); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21544); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21608); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21672); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21736); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21800); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21864); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21928); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21992); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(22056); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=20208; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=20272; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5530] = 20272; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[5163] = $0; - HEAP32[5164] = $1; - _TraceLog(0,11021,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5611]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5612]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5609]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[5610]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 20208; - label = 3; - break; - } - case 5888: { - $modelview$sink = 20272; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[5530] = $modelview$sink; - } - HEAP32[5535] = $0; - return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5530]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _LoadShaderDefault($0) { - $0 = $0|0; - var $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx9 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx11 = 0, $$sroa$14 = 0, $$sroa$14$0$$sroa_idx = 0, $$sroa$1415$0 = 0, $$sroa$1415$0$$sroa_idx16 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx18 = 0, $$sroa$16 = 0, $$sroa$16$0$$sroa_idx = 0, $$sroa$1622$0 = 0, $$sroa$1622$0$$sroa_idx23 = 0, $$sroa$1727$0 = 0, $$sroa$1727$0$$sroa_idx28 = 0, $$sroa$18 = 0, $$sroa$18$0$$sroa_idx = 0, $1 = 0, $10 = 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $$sroa$14 = sp + 96|0; - $$sroa$16 = sp + 80|0; - $$sroa$18 = sp + 12|0; - $1 = sp + 549|0; - $2 = sp + 108|0; - _memcpy(($1|0),(11597|0),483)|0; - _memcpy(($2|0),(12080|0),441)|0; - $3 = (_LoadShaderProgram($1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - HEAP32[$vararg_buffer1>>2] = $3; - _TraceLog(1,12635,$vararg_buffer1); - $$sroa$12$0 = 0;$$sroa$13$0 = 0;$$sroa$1415$0 = 0;$$sroa$15$0 = 0;$$sroa$1622$0 = 0;$$sroa$1727$0 = 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,12521,$vararg_buffer); - $5 = (_glGetAttribLocation(($3|0),(12569|0))|0); - $6 = (_glGetAttribLocation(($3|0),(12584|0))|0); - $7 = (_glGetAttribLocation(($3|0),(12599|0))|0); - $8 = (_glGetUniformLocation(($3|0),(12611|0))|0); - $9 = (_glGetUniformLocation(($3|0),(12615|0))|0); - $10 = (_glGetUniformLocation(($3|0),(12626|0))|0); - $$sroa$12$0 = $5;$$sroa$13$0 = $6;$$sroa$1415$0 = $7;$$sroa$15$0 = $8;$$sroa$1622$0 = $9;$$sroa$1727$0 = $10; - } - HEAP32[$0>>2] = $3; - $$sroa$12$0$$sroa_idx9 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx9>>2] = $$sroa$12$0; - $$sroa$13$0$$sroa_idx11 = ((($0)) + 8|0); - HEAP32[$$sroa$13$0$$sroa_idx11>>2] = $$sroa$13$0; - $$sroa$14$0$$sroa_idx = ((($0)) + 12|0); - ;HEAP32[$$sroa$14$0$$sroa_idx>>2]=HEAP32[$$sroa$14>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+4>>2]=HEAP32[$$sroa$14+4>>2]|0;HEAP32[$$sroa$14$0$$sroa_idx+8>>2]=HEAP32[$$sroa$14+8>>2]|0; - $$sroa$1415$0$$sroa_idx16 = ((($0)) + 24|0); - HEAP32[$$sroa$1415$0$$sroa_idx16>>2] = $$sroa$1415$0; - $$sroa$15$0$$sroa_idx18 = ((($0)) + 28|0); - HEAP32[$$sroa$15$0$$sroa_idx18>>2] = $$sroa$15$0; - $$sroa$16$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$$sroa$16$0$$sroa_idx>>2]=HEAP32[$$sroa$16>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+4>>2]=HEAP32[$$sroa$16+4>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+8>>2]=HEAP32[$$sroa$16+8>>2]|0;HEAP32[$$sroa$16$0$$sroa_idx+12>>2]=HEAP32[$$sroa$16+12>>2]|0; - $$sroa$1622$0$$sroa_idx23 = ((($0)) + 48|0); - HEAP32[$$sroa$1622$0$$sroa_idx23>>2] = $$sroa$1622$0; - $$sroa$1727$0$$sroa_idx28 = ((($0)) + 60|0); - HEAP32[$$sroa$1727$0$$sroa_idx28>>2] = $$sroa$1727$0; - $$sroa$18$0$$sroa_idx = ((($0)) + 64|0); - dest=$$sroa$18$0$$sroa_idx; src=$$sroa$18; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadBuffersDefault() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(20364)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(20372)>>2] = $1; - HEAP32[(20368)>>2] = 0; - HEAP32[(20376)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(20372)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[5088] = 0; - HEAP32[(20360)>>2] = 0; - HEAP32[(20356)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(20412)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(20420)>>2] = $6; - HEAP32[(20416)>>2] = 0; - HEAP32[(20424)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(20420)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[5100] = 0; - HEAP32[(20408)>>2] = 0; - HEAP32[(20404)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(20172)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(20176)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(20180)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(20184)>>2] = $13; - $14 = HEAP32[(20172)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20176)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(20180)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(20184)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[5040] = 0; - HEAP32[(20164)>>2] = 0; - HEAP32[(20168)>>2] = 0; - _TraceLog(0,11068,$vararg_buffer); - $20 = HEAP32[5145]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[5569]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20380)); - $44 = HEAP32[5146]|0; - $45 = HEAP32[(20380)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((20384)|0)); - $46 = HEAP32[(20384)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20364)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(20452)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(20452)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20388)|0)); - $50 = HEAP32[(20388)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20372)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(20472)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(20472)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[5145]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(20384)>>2]|0; - $58 = HEAP32[(20388)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,11206,$vararg_buffer3); - } else { - $56 = HEAP32[(20380)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,11141,$vararg_buffer1); - } - $59 = HEAP32[5145]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[5569]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20428)); - $62 = HEAP32[5146]|0; - $63 = HEAP32[(20428)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((20432)|0)); - $64 = HEAP32[(20432)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20412)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(20452)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(20452)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20436)|0)); - $68 = HEAP32[(20436)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20420)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(20472)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(20472)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[5145]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(20432)>>2]|0; - $76 = HEAP32[(20436)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,11352,$vararg_buffer10); - } else { - $74 = HEAP32[(20428)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,11283,$vararg_buffer7); - } - $77 = HEAP32[5145]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[5569]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20188)); - $80 = HEAP32[5146]|0; - $81 = HEAP32[(20188)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((20192)|0)); - $82 = HEAP32[(20192)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20172)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(20452)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(20452)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20196)|0)); - $86 = HEAP32[(20196)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20176)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(20456)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(20456)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20200)|0)); - $90 = HEAP32[(20200)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20180)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(20472)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(20472)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20204)|0)); - $94 = HEAP32[(20204)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20184)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[5145]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(20192)>>2]|0; - $100 = HEAP32[(20196)>>2]|0; - $101 = HEAP32[(20200)>>2]|0; - $102 = HEAP32[(20204)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,11498,$vararg_buffer17); - } else { - $98 = HEAP32[(20188)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,11433,$vararg_buffer14); - } - $103 = HEAP32[5145]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[5146]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,12735,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(1,12683,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,12732,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,12836,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(1,12785,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,12732,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(12569|0)); - _glBindAttribLocation(($20|0),1,(12584|0)); - _glBindAttribLocation(($20|0),2,(12888|0)); - _glBindAttribLocation(($20|0),3,(12599|0)); - _glBindAttribLocation(($20|0),4,(12901|0)); - _glBindAttribLocation(($20|0),5,(12915|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(1,12931,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,12732,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,12977,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (23245 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (23248 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (23245 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (23248 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[5580]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,13272,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - _UnloadShaderDefault(); - _UnloadBuffersDefault(); - _glDeleteTextures(1,(20344|0)); - $0 = HEAP32[5086]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,13299,$vararg_buffer); - $1 = HEAP32[5087]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadShaderDefault() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[5536]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadBuffersDefault() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5145]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5146]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20384)|0)); - _glDeleteBuffers(1,((20388)|0)); - _glDeleteBuffers(1,((20432)|0)); - _glDeleteBuffers(1,((20436)|0)); - _glDeleteBuffers(1,((20192)|0)); - _glDeleteBuffers(1,((20196)|0)); - _glDeleteBuffers(1,((20200)|0)); - _glDeleteBuffers(1,((20204)|0)); - $3 = HEAP32[5145]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5570]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20380)); - $6 = HEAP32[5570]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20428)); - $7 = HEAP32[5570]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20188)); - } - $8 = HEAP32[(20364)>>2]|0; - _free($8); - $9 = HEAP32[(20372)>>2]|0; - _free($9); - $10 = HEAP32[(20412)>>2]|0; - _free($10); - $11 = HEAP32[(20420)>>2]|0; - _free($11); - $12 = HEAP32[(20172)>>2]|0; - _free($12); - $13 = HEAP32[(20176)>>2]|0; - _free($13); - $14 = HEAP32[(20180)>>2]|0; - _free($14); - $15 = HEAP32[(20184)>>2]|0; - _free($15); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[2408] = $0; - $1 = +HEAPF64[2407]; - $2 = $0 - $1; - HEAPF64[2409] = $2; - HEAPF64[2407] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=22360; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20588); - STACKTOP = sp;return; -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 16|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 32|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 48|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 36|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 52|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 24|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 56|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 12|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 44|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[5530]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[2408] = $0; - $1 = +HEAPF64[2407]; - $2 = $0 - $1; - HEAPF64[2410] = $2; - HEAPF64[2407] = $0; - $3 = +HEAPF64[2409]; - $4 = $2 + $3; - HEAPF64[2394] = $4; - $5 = +HEAPF64[2404]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[2408] = $10; - $11 = +HEAPF64[2407]; - $12 = $10 - $11; - HEAPF64[2407] = $10; - $13 = +HEAPF64[2394]; - $14 = $12 + $13; - HEAPF64[2394] = $14; - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5580]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[905] = -1; - HEAP32[907] = -1; - HEAP32[5616] = 0; - $3 = HEAP32[5580]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[4806] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(19228)>>2] = $7; - _memcpy((23763|0),(23251|0),512)|0; - ;HEAP8[23248>>0]=HEAP8[23245>>0]|0;HEAP8[23248+1>>0]=HEAP8[23245+1>>0]|0;HEAP8[23248+2>>0]=HEAP8[23245+2>>0]|0; - $8 = HEAP32[5615]|0; - HEAP32[5581] = $8; - HEAP32[5615] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (24275 + ($$05160<<5)|0); - $scevgep67 = (24403 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((24403 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[907] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((22468 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[5616] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[5583]|0; - $3 = (+($2|0)); - $4 = HEAP32[5584]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8; - $10 = $9 * 0.5; - $11 = $10 * 0.01745329238474369; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20588); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - $8 = HEAP32[5530]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _BeginTextureMode($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - $1 = HEAP32[$0>>2]|0; - _rlEnableRenderTexture($1); - _rlClearScreenBuffers(); - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - _rlViewport(0,0,$3,$5); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $6 = (+($3|0)); - $7 = (+($5|0)); - _rlOrtho(0.0,$6,$7,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - return; -} -function _rlEnableRenderTexture($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glBindFramebuffer(36160,($0|0)); - return; -} -function _EndTextureMode() { - var $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlDisableRenderTexture(); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $0 = (_GetScreenWidth()|0); - $1 = (+($0|0)); - $2 = (_GetScreenHeight()|0); - $3 = (+($2|0)); - _rlOrtho(0.0,$1,$3,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - return; -} -function _rlDisableRenderTexture() { - var label = 0, sp = 0; - sp = STACKTOP; - _glBindFramebuffer(36160,0); - return; -} -function _Fade($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 < 0.0; - if ($3) { - $$0 = 0.0; - } else { - $4 = $2 > 1.0; - if ($4) { - $$0 = 1.0; - } else { - $$0 = $2; - } - } - $5 = ((($1)) + 3|0); - $6 = HEAP8[$5>>0]|0; - $7 = (+($6&255)); - $8 = $$0 * $7; - $9 = HEAP8[$1>>0]|0; - HEAP8[$0>>0] = $9; - $10 = ((($0)) + 1|0); - $11 = ((($1)) + 1|0); - $12 = HEAP8[$11>>0]|0; - HEAP8[$10>>0] = $12; - $13 = ((($0)) + 2|0); - $14 = ((($1)) + 2|0); - $15 = HEAP8[$14>>0]|0; - HEAP8[$13>>0] = $15; - $16 = ((($0)) + 3|0); - $17 = (~~(($8))&255); - HEAP8[$16>>0] = $17; - return; -} -function _BeginBlendMode($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[5649]|0; - $2 = ($1|0)!=($0|0); - $3 = ($0|0)<(3); - $or$cond = $3 & $2; - if (!($or$cond)) { - return; - } - _rlglDraw(); - switch ($0|0) { - case 0: { - _glBlendFunc(770,771); - break; - } - case 1: { - _glBlendFunc(770,1); - break; - } - case 2: { - _glBlendFunc(774,771); - break; - } - default: { - } - } - HEAP32[5649] = $0; - return; -} -function _EndBlendMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _BeginBlendMode(0); - return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,13364)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,13368)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,13372)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,13376)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,13382)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13420)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 13439; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13452)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 13473; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13488)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 13503; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13518)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 13533; - } - } else { - HEAP32[$3>>2] = 13404; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,13548)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,13562)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 3; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,13574)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 7; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,13588)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 8; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,13600)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 9; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,13614)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 10; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,13628)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 11; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,13645)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,13668)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,13694)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,13707)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,13723)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,13736)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 12; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,13750)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,13770)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,13790)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,13807)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13824)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 4; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13836)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 13; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13849)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 14; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13865)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,13888)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,13901)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,13917)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 5; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,13928)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 15; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13947)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 16; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13969)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 17; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13988)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,14017)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 6; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,14034)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,14049)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,14064)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,14085)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,14105)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,14125)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,14151)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,14170)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,14182)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,14194)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,14206)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,14218)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 18; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,14230)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,14242)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,14254)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,14266)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,14279)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,14292)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,14305)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,14318)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,14331)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,14344)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,14357)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,14370)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,14389)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,14408)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14427)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 19; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14440)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 20; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14458)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 21; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14476)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 22; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14494)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 23; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14512)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,14532)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13473)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 7; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,14550)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,14565)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,14586)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,14601)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,14619)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,14635)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,14654)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,14668)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,14683)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 8; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,13404)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,14694)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13503)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 24; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,13533)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 25; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,14710)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,14737)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,14751)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13439)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,14771)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,14789)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 9; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,14801)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14822)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 26; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14840)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 27; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14858)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 28; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,14879)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,14905)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,14928)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14966)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 10; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14982)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14997)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,15020)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,15033)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 29; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,15047)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 30; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,15061)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,15081)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,15101)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,15117)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,15135)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,15151)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,15166)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,15188)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 31; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,15206)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 32; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,15227)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,15245)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,15258)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,15273)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,15287)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,15297)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,15307)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,15329)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,15355)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,15382)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,15395)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15410)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15425)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15449)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15460)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 33; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15482)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15504)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15528)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,15537)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,15545)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,15558)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,15572)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,15584)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,15593)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,15603)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,15615)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,15626)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,15634)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,15646)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,15661)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,15673)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,15687)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 11; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,15712)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,15729)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,15745)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,15761)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 12; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,15773)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 34; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,15785)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 35; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,15809)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15822)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15836)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 36; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15858)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 37; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15865)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,15881)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,15898)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,15915)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15931)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15947)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15964)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15978)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15990)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,16001)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,16014)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,16024)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,16041)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,16053)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,16075)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,16095)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,16108)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,16130)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,16150)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,16167)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,16184)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,16204)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 38; - break; - } - } else { - HEAP32[$1>>2] = 6; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; - var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ($0>>>0)<(245); - do { - if ($2) { - $3 = ($0>>>0)<(11); - $4 = (($0) + 11)|0; - $5 = $4 & -8; - $6 = $3 ? 16 : $5; - $7 = $6 >>> 3; - $8 = HEAP32[5650]|0; - $9 = $8 >>> $7; - $10 = $9 & 3; - $11 = ($10|0)==(0); - if (!($11)) { - $12 = $9 & 1; - $13 = $12 ^ 1; - $14 = (($13) + ($7))|0; - $15 = $14 << 1; - $16 = (22640 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[5650] = $24; - } else { - $25 = HEAP32[(22616)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(22608)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (22640 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[5650] = $77; - $98 = $77; - } else { - $78 = HEAP32[(22616)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(22620)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (22640 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[5650] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(22616)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(22608)>>2] = $84; - HEAP32[(22620)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(22604)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (22904 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(22616)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (22904 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(22604)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(22616)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(22616)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(22616)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(22620)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (22640 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[5650] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(22616)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(22608)>>2] = $$0193$lcssa$i; - HEAP32[(22620)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(22604)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (22904 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (22904 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(22608)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(22616)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (22904 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(22604)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(22616)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(22616)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(22616)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (22640 + ($425<<2)|0); - $427 = HEAP32[5650]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[5650] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(22616)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (22904 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(22604)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(22616)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(22616)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(22608)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(22620)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(22620)>>2] = $511; - HEAP32[(22608)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(22608)>>2] = 0; - HEAP32[(22620)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(22612)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(22612)>>2] = $526; - $527 = HEAP32[(22624)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(22624)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[5768]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(23080)>>2] = 4096; - HEAP32[(23076)>>2] = 4096; - HEAP32[(23084)>>2] = -1; - HEAP32[(23088)>>2] = -1; - HEAP32[(23092)>>2] = 0; - HEAP32[(23044)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[5768] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(23080)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(23040)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(23032)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(23044)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(22624)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (23048); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(23076)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(23032)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(23040)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(23080)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(23044)>>2]|0; - $612 = $611 | 4; - HEAP32[(23044)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(23032)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(23032)>>2] = $627; - $628 = HEAP32[(23036)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(23036)>>2] = $627; - } - $630 = HEAP32[(22624)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(22616)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(22616)>>2] = $$749$i; - } - HEAP32[(23048)>>2] = $$749$i; - HEAP32[(23052)>>2] = $$723948$i; - HEAP32[(23060)>>2] = 0; - $635 = HEAP32[5768]|0; - HEAP32[(22636)>>2] = $635; - HEAP32[(22632)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (22640 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(22624)>>2] = $649; - HEAP32[(22612)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(23088)>>2]|0; - HEAP32[(22628)>>2] = $655; - } else { - $$024371$i = (23048); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(22612)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(22624)>>2] = $679; - HEAP32[(22612)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(23088)>>2]|0; - HEAP32[(22628)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(22616)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(22616)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (23048); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(22612)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(22612)>>2] = $727; - HEAP32[(22624)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(22620)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(22608)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(22608)>>2] = $733; - HEAP32[(22620)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (22640 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[5650]|0; - $760 = $759 & $758; - HEAP32[5650] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (22904 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(22604)>>2]|0; - $803 = $802 & $801; - HEAP32[(22604)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(22616)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(22616)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(22616)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (22640 + ($836<<2)|0); - $838 = HEAP32[5650]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[5650] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(22616)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (22904 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(22604)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(22604)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(22616)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(22616)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (23048); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(22624)>>2] = $946; - HEAP32[(22612)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(23088)>>2]|0; - HEAP32[(22628)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(23048)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(23048)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(23048)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(23048)+12>>2]|0; - HEAP32[(23048)>>2] = $$749$i; - HEAP32[(23052)>>2] = $$723948$i; - HEAP32[(23060)>>2] = 0; - HEAP32[(23056)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (22640 + ($968<<2)|0); - $970 = HEAP32[5650]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[5650] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(22616)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (22904 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(22604)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(22604)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(22616)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(22616)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(22612)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(22612)>>2] = $1050; - $1051 = HEAP32[(22624)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(22624)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(22616)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(22620)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(22608)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (22640 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[5650]|0; - $38 = $37 & $36; - HEAP32[5650] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (22904 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(22604)>>2]|0; - $81 = $80 & $79; - HEAP32[(22604)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(22616)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(22616)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(22616)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(22624)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(22620)>>2]|0; - if ($121) { - $123 = HEAP32[(22612)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(22612)>>2] = $124; - HEAP32[(22624)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(22620)>>2] = 0; - HEAP32[(22608)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(22608)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(22608)>>2] = $130; - HEAP32[(22620)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (22640 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(22616)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[5650]|0; - $154 = $153 & $152; - HEAP32[5650] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(22616)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(22616)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(22616)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (22904 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(22604)>>2]|0; - $200 = $199 & $198; - HEAP32[(22604)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(22616)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(22616)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(22616)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(22620)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(22608)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (22640 + ($234<<2)|0); - $236 = HEAP32[5650]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[5650] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(22616)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (22904 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(22604)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(22604)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(22616)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(22616)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(22632)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(22632)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (23056); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(22632)>>2] = -1; - return; -} -function _realloc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = (_malloc($1)|0); - $$1 = $3; - return ($$1|0); - } - $4 = ($1>>>0)>(4294967231); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 12; - $$1 = 0; - return ($$1|0); - } - $6 = ($1>>>0)<(11); - $7 = (($1) + 11)|0; - $8 = $7 & -8; - $9 = $6 ? 16 : $8; - $10 = ((($0)) + -8|0); - $11 = (_try_realloc_chunk($10,$9)|0); - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = ((($11)) + 8|0); - $$1 = $13; - return ($$1|0); - } - $14 = (_malloc($1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$1 = 0; - return ($$1|0); - } - $16 = ((($0)) + -4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & -8; - $19 = $17 & 3; - $20 = ($19|0)==(0); - $21 = $20 ? 8 : 4; - $22 = (($18) - ($21))|0; - $23 = ($22>>>0)<($1>>>0); - $24 = $23 ? $22 : $1; - _memcpy(($14|0),($0|0),($24|0))|0; - _free($0); - $$1 = $14; - return ($$1|0); -} -function _try_realloc_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -8; - $5 = (($0) + ($4)|0); - $6 = HEAP32[(22616)>>2]|0; - $7 = $3 & 3; - $notlhs = ($0>>>0)>=($6>>>0); - $notrhs = ($7|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $8 = ($0>>>0)<($5>>>0); - $or$cond3 = $or$cond$not & $8; - if (!($or$cond3)) { - _abort(); - // unreachable; - } - $9 = ((($5)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($7|0)==(0); - if ($13) { - $14 = ($1>>>0)<(256); - if ($14) { - $$2 = 0; - return ($$2|0); - } - $15 = (($1) + 4)|0; - $16 = ($4>>>0)<($15>>>0); - if (!($16)) { - $17 = (($4) - ($1))|0; - $18 = HEAP32[(23080)>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $$2 = $0; - return ($$2|0); - } - } - $$2 = 0; - return ($$2|0); - } - $21 = ($4>>>0)<($1>>>0); - if (!($21)) { - $22 = (($4) - ($1))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $$2 = $0; - return ($$2|0); - } - $24 = (($0) + ($1)|0); - $25 = $3 & 1; - $26 = $25 | $1; - $27 = $26 | 2; - HEAP32[$2>>2] = $27; - $28 = ((($24)) + 4|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = (($24) + ($22)|0); - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - _dispose_chunk($24,$22); - $$2 = $0; - return ($$2|0); - } - $34 = HEAP32[(22624)>>2]|0; - $35 = ($5|0)==($34|0); - if ($35) { - $36 = HEAP32[(22612)>>2]|0; - $37 = (($36) + ($4))|0; - $38 = ($37>>>0)>($1>>>0); - $39 = (($37) - ($1))|0; - $40 = (($0) + ($1)|0); - if (!($38)) { - $$2 = 0; - return ($$2|0); - } - $41 = $39 | 1; - $42 = ((($40)) + 4|0); - $43 = $3 & 1; - $44 = $43 | $1; - $45 = $44 | 2; - HEAP32[$2>>2] = $45; - HEAP32[$42>>2] = $41; - HEAP32[(22624)>>2] = $40; - HEAP32[(22612)>>2] = $39; - $$2 = $0; - return ($$2|0); - } - $46 = HEAP32[(22620)>>2]|0; - $47 = ($5|0)==($46|0); - if ($47) { - $48 = HEAP32[(22608)>>2]|0; - $49 = (($48) + ($4))|0; - $50 = ($49>>>0)<($1>>>0); - if ($50) { - $$2 = 0; - return ($$2|0); - } - $51 = (($49) - ($1))|0; - $52 = ($51>>>0)>(15); - $53 = $3 & 1; - if ($52) { - $54 = (($0) + ($1)|0); - $55 = (($54) + ($51)|0); - $56 = $53 | $1; - $57 = $56 | 2; - HEAP32[$2>>2] = $57; - $58 = ((($54)) + 4|0); - $59 = $51 | 1; - HEAP32[$58>>2] = $59; - HEAP32[$55>>2] = $51; - $60 = ((($55)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 & -2; - HEAP32[$60>>2] = $62; - $storemerge = $54;$storemerge1 = $51; - } else { - $63 = $53 | $49; - $64 = $63 | 2; - HEAP32[$2>>2] = $64; - $65 = (($0) + ($49)|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | 1; - HEAP32[$66>>2] = $68; - $storemerge = 0;$storemerge1 = 0; - } - HEAP32[(22608)>>2] = $storemerge1; - HEAP32[(22620)>>2] = $storemerge; - $$2 = $0; - return ($$2|0); - } - $69 = $10 & 2; - $70 = ($69|0)==(0); - if (!($70)) { - $$2 = 0; - return ($$2|0); - } - $71 = $10 & -8; - $72 = (($71) + ($4))|0; - $73 = ($72>>>0)<($1>>>0); - if ($73) { - $$2 = 0; - return ($$2|0); - } - $74 = (($72) - ($1))|0; - $75 = $10 >>> 3; - $76 = ($10>>>0)<(256); - L49: do { - if ($76) { - $77 = ((($5)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($5)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = $75 << 1; - $82 = (22640 + ($81<<2)|0); - $83 = ($78|0)==($82|0); - if (!($83)) { - $84 = ($78>>>0)<($6>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($78)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==($5|0); - if (!($87)) { - _abort(); - // unreachable; - } - } - $88 = ($80|0)==($78|0); - if ($88) { - $89 = 1 << $75; - $90 = $89 ^ -1; - $91 = HEAP32[5650]|0; - $92 = $91 & $90; - HEAP32[5650] = $92; - break; - } - $93 = ($80|0)==($82|0); - if ($93) { - $$pre = ((($80)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $94 = ($80>>>0)<($6>>>0); - if ($94) { - _abort(); - // unreachable; - } - $95 = ((($80)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==($5|0); - if ($97) { - $$pre$phiZ2D = $95; - } else { - _abort(); - // unreachable; - } - } - $98 = ((($78)) + 12|0); - HEAP32[$98>>2] = $80; - HEAP32[$$pre$phiZ2D>>2] = $78; - } else { - $99 = ((($5)) + 24|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($5)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)==($5|0); - do { - if ($103) { - $113 = ((($5)) + 16|0); - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $117 = HEAP32[$113>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - $$3 = 0; - break; - } else { - $$1272 = $117;$$1275 = $113; - } - } else { - $$1272 = $115;$$1275 = $114; - } - while(1) { - $119 = ((($$1272)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)==(0|0); - if (!($121)) { - $$1272 = $120;$$1275 = $119; - continue; - } - $122 = ((($$1272)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break; - } else { - $$1272 = $123;$$1275 = $122; - } - } - $125 = ($$1275>>>0)<($6>>>0); - if ($125) { - _abort(); - // unreachable; - } else { - HEAP32[$$1275>>2] = 0; - $$3 = $$1272; - break; - } - } else { - $104 = ((($5)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105>>>0)<($6>>>0); - if ($106) { - _abort(); - // unreachable; - } - $107 = ((($105)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==($5|0); - if (!($109)) { - _abort(); - // unreachable; - } - $110 = ((($102)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==($5|0); - if ($112) { - HEAP32[$107>>2] = $102; - HEAP32[$110>>2] = $105; - $$3 = $102; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $126 = ($100|0)==(0|0); - if (!($126)) { - $127 = ((($5)) + 28|0); - $128 = HEAP32[$127>>2]|0; - $129 = (22904 + ($128<<2)|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($5|0)==($130|0); - do { - if ($131) { - HEAP32[$129>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $132 = 1 << $128; - $133 = $132 ^ -1; - $134 = HEAP32[(22604)>>2]|0; - $135 = $134 & $133; - HEAP32[(22604)>>2] = $135; - break L49; - } - } else { - $136 = HEAP32[(22616)>>2]|0; - $137 = ($100>>>0)<($136>>>0); - if ($137) { - _abort(); - // unreachable; - } else { - $138 = ((($100)) + 16|0); - $139 = HEAP32[$138>>2]|0; - $not$ = ($139|0)!=($5|0); - $$sink1 = $not$&1; - $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); - HEAP32[$140>>2] = $$3; - $141 = ($$3|0)==(0|0); - if ($141) { - break L49; - } else { - break; - } - } - } - } while(0); - $142 = HEAP32[(22616)>>2]|0; - $143 = ($$3>>>0)<($142>>>0); - if ($143) { - _abort(); - // unreachable; - } - $144 = ((($$3)) + 24|0); - HEAP32[$144>>2] = $100; - $145 = ((($5)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==(0|0); - do { - if (!($147)) { - $148 = ($146>>>0)<($142>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = ((($$3)) + 16|0); - HEAP32[$149>>2] = $146; - $150 = ((($146)) + 24|0); - HEAP32[$150>>2] = $$3; - break; - } - } - } while(0); - $151 = ((($145)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[(22616)>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = ((($$3)) + 20|0); - HEAP32[$156>>2] = $152; - $157 = ((($152)) + 24|0); - HEAP32[$157>>2] = $$3; - break; - } - } - } - } - } while(0); - $158 = ($74>>>0)<(16); - $159 = $3 & 1; - if ($158) { - $160 = $72 | $159; - $161 = $160 | 2; - HEAP32[$2>>2] = $161; - $162 = (($0) + ($72)|0); - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $$2 = $0; - return ($$2|0); - } else { - $166 = (($0) + ($1)|0); - $167 = $159 | $1; - $168 = $167 | 2; - HEAP32[$2>>2] = $168; - $169 = ((($166)) + 4|0); - $170 = $74 | 3; - HEAP32[$169>>2] = $170; - $171 = (($166) + ($74)|0); - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 | 1; - HEAP32[$172>>2] = $174; - _dispose_chunk($166,$74); - $$2 = $0; - return ($$2|0); - } - return (0)|0; -} -function _dispose_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; - var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0) + ($1)|0); - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = $4 & 3; - $9 = ($8|0)==(0); - if ($9) { - return; - } - $10 = (0 - ($7))|0; - $11 = (($0) + ($10)|0); - $12 = (($7) + ($1))|0; - $13 = HEAP32[(22616)>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - _abort(); - // unreachable; - } - $15 = HEAP32[(22620)>>2]|0; - $16 = ($11|0)==($15|0); - if ($16) { - $100 = ((($2)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$1 = $11;$$1418 = $12; - break; - } - $104 = (($11) + ($12)|0); - $105 = ((($11)) + 4|0); - $106 = $12 | 1; - $107 = $101 & -2; - HEAP32[(22608)>>2] = $12; - HEAP32[$100>>2] = $107; - HEAP32[$105>>2] = $106; - HEAP32[$104>>2] = $12; - return; - } - $17 = $7 >>> 3; - $18 = ($7>>>0)<(256); - if ($18) { - $19 = ((($11)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($11)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = $17 << 1; - $24 = (22640 + ($23<<2)|0); - $25 = ($20|0)==($24|0); - if (!($25)) { - $26 = ($20>>>0)<($13>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($11|0); - if (!($29)) { - _abort(); - // unreachable; - } - } - $30 = ($22|0)==($20|0); - if ($30) { - $31 = 1 << $17; - $32 = $31 ^ -1; - $33 = HEAP32[5650]|0; - $34 = $33 & $32; - HEAP32[5650] = $34; - $$1 = $11;$$1418 = $12; - break; - } - $35 = ($22|0)==($24|0); - if ($35) { - $$pre25 = ((($22)) + 8|0); - $$pre$phi26Z2D = $$pre25; - } else { - $36 = ($22>>>0)<($13>>>0); - if ($36) { - _abort(); - // unreachable; - } - $37 = ((($22)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==($11|0); - if ($39) { - $$pre$phi26Z2D = $37; - } else { - _abort(); - // unreachable; - } - } - $40 = ((($20)) + 12|0); - HEAP32[$40>>2] = $22; - HEAP32[$$pre$phi26Z2D>>2] = $20; - $$1 = $11;$$1418 = $12; - break; - } - $41 = ((($11)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($11)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==($11|0); - do { - if ($45) { - $55 = ((($11)) + 16|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $59 = HEAP32[$55>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - $$3 = 0; - break; - } else { - $$1426 = $59;$$1429 = $55; - } - } else { - $$1426 = $57;$$1429 = $56; - } - while(1) { - $61 = ((($$1426)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $$1426 = $62;$$1429 = $61; - continue; - } - $64 = ((($$1426)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - break; - } else { - $$1426 = $65;$$1429 = $64; - } - } - $67 = ($$1429>>>0)<($13>>>0); - if ($67) { - _abort(); - // unreachable; - } else { - HEAP32[$$1429>>2] = 0; - $$3 = $$1426; - break; - } - } else { - $46 = ((($11)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47>>>0)<($13>>>0); - if ($48) { - _abort(); - // unreachable; - } - $49 = ((($47)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==($11|0); - if (!($51)) { - _abort(); - // unreachable; - } - $52 = ((($44)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==($11|0); - if ($54) { - HEAP32[$49>>2] = $44; - HEAP32[$52>>2] = $47; - $$3 = $44; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $68 = ($42|0)==(0|0); - if ($68) { - $$1 = $11;$$1418 = $12; - } else { - $69 = ((($11)) + 28|0); - $70 = HEAP32[$69>>2]|0; - $71 = (22904 + ($70<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($11|0)==($72|0); - do { - if ($73) { - HEAP32[$71>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $74 = 1 << $70; - $75 = $74 ^ -1; - $76 = HEAP32[(22604)>>2]|0; - $77 = $76 & $75; - HEAP32[(22604)>>2] = $77; - $$1 = $11;$$1418 = $12; - break L1; - } - } else { - $78 = HEAP32[(22616)>>2]|0; - $79 = ($42>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } else { - $80 = ((($42)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $not$1 = ($81|0)!=($11|0); - $$sink2 = $not$1&1; - $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); - HEAP32[$82>>2] = $$3; - $83 = ($$3|0)==(0|0); - if ($83) { - $$1 = $11;$$1418 = $12; - break L1; - } else { - break; - } - } - } - } while(0); - $84 = HEAP32[(22616)>>2]|0; - $85 = ($$3>>>0)<($84>>>0); - if ($85) { - _abort(); - // unreachable; - } - $86 = ((($$3)) + 24|0); - HEAP32[$86>>2] = $42; - $87 = ((($11)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0|0); - do { - if (!($89)) { - $90 = ($88>>>0)<($84>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = ((($$3)) + 16|0); - HEAP32[$91>>2] = $88; - $92 = ((($88)) + 24|0); - HEAP32[$92>>2] = $$3; - break; - } - } - } while(0); - $93 = ((($87)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$1 = $11;$$1418 = $12; - } else { - $96 = HEAP32[(22616)>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = ((($$3)) + 20|0); - HEAP32[$98>>2] = $94; - $99 = ((($94)) + 24|0); - HEAP32[$99>>2] = $$3; - $$1 = $11;$$1418 = $12; - break; - } - } - } - } else { - $$1 = $0;$$1418 = $1; - } - } while(0); - $108 = HEAP32[(22616)>>2]|0; - $109 = ($2>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $110 = ((($2)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[(22624)>>2]|0; - $115 = ($2|0)==($114|0); - $116 = HEAP32[(22620)>>2]|0; - if ($115) { - $117 = HEAP32[(22612)>>2]|0; - $118 = (($117) + ($$1418))|0; - HEAP32[(22612)>>2] = $118; - HEAP32[(22624)>>2] = $$1; - $119 = $118 | 1; - $120 = ((($$1)) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ($$1|0)==($116|0); - if (!($121)) { - return; - } - HEAP32[(22620)>>2] = 0; - HEAP32[(22608)>>2] = 0; - return; - } - $122 = ($2|0)==($116|0); - if ($122) { - $123 = HEAP32[(22608)>>2]|0; - $124 = (($123) + ($$1418))|0; - HEAP32[(22608)>>2] = $124; - HEAP32[(22620)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = (($$1) + ($124)|0); - HEAP32[$127>>2] = $124; - return; - } - $128 = $111 & -8; - $129 = (($128) + ($$1418))|0; - $130 = $111 >>> 3; - $131 = ($111>>>0)<(256); - L96: do { - if ($131) { - $132 = ((($2)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = ((($2)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = $130 << 1; - $137 = (22640 + ($136<<2)|0); - $138 = ($133|0)==($137|0); - if (!($138)) { - $139 = ($133>>>0)<($108>>>0); - if ($139) { - _abort(); - // unreachable; - } - $140 = ((($133)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==($2|0); - if (!($142)) { - _abort(); - // unreachable; - } - } - $143 = ($135|0)==($133|0); - if ($143) { - $144 = 1 << $130; - $145 = $144 ^ -1; - $146 = HEAP32[5650]|0; - $147 = $146 & $145; - HEAP32[5650] = $147; - break; - } - $148 = ($135|0)==($137|0); - if ($148) { - $$pre23 = ((($135)) + 8|0); - $$pre$phi24Z2D = $$pre23; - } else { - $149 = ($135>>>0)<($108>>>0); - if ($149) { - _abort(); - // unreachable; - } - $150 = ((($135)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==($2|0); - if ($152) { - $$pre$phi24Z2D = $150; - } else { - _abort(); - // unreachable; - } - } - $153 = ((($133)) + 12|0); - HEAP32[$153>>2] = $135; - HEAP32[$$pre$phi24Z2D>>2] = $133; - } else { - $154 = ((($2)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = ((($2)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($2|0); - do { - if ($158) { - $168 = ((($2)) + 16|0); - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$168>>2]|0; - $173 = ($172|0)==(0|0); - if ($173) { - $$3435 = 0; - break; - } else { - $$1433 = $172;$$1437 = $168; - } - } else { - $$1433 = $170;$$1437 = $169; - } - while(1) { - $174 = ((($$1433)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==(0|0); - if (!($176)) { - $$1433 = $175;$$1437 = $174; - continue; - } - $177 = ((($$1433)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - break; - } else { - $$1433 = $178;$$1437 = $177; - } - } - $180 = ($$1437>>>0)<($108>>>0); - if ($180) { - _abort(); - // unreachable; - } else { - HEAP32[$$1437>>2] = 0; - $$3435 = $$1433; - break; - } - } else { - $159 = ((($2)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160>>>0)<($108>>>0); - if ($161) { - _abort(); - // unreachable; - } - $162 = ((($160)) + 12|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($2|0); - if (!($164)) { - _abort(); - // unreachable; - } - $165 = ((($157)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==($2|0); - if ($167) { - HEAP32[$162>>2] = $157; - HEAP32[$165>>2] = $160; - $$3435 = $157; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $181 = ($155|0)==(0|0); - if (!($181)) { - $182 = ((($2)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = (22904 + ($183<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($2|0)==($185|0); - do { - if ($186) { - HEAP32[$184>>2] = $$3435; - $cond17 = ($$3435|0)==(0|0); - if ($cond17) { - $187 = 1 << $183; - $188 = $187 ^ -1; - $189 = HEAP32[(22604)>>2]|0; - $190 = $189 & $188; - HEAP32[(22604)>>2] = $190; - break L96; - } - } else { - $191 = HEAP32[(22616)>>2]|0; - $192 = ($155>>>0)<($191>>>0); - if ($192) { - _abort(); - // unreachable; - } else { - $193 = ((($155)) + 16|0); - $194 = HEAP32[$193>>2]|0; - $not$ = ($194|0)!=($2|0); - $$sink4 = $not$&1; - $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); - HEAP32[$195>>2] = $$3435; - $196 = ($$3435|0)==(0|0); - if ($196) { - break L96; - } else { - break; - } - } - } - } while(0); - $197 = HEAP32[(22616)>>2]|0; - $198 = ($$3435>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($$3435)) + 24|0); - HEAP32[$199>>2] = $155; - $200 = ((($2)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($$3435)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $$3435; - break; - } - } - } while(0); - $206 = ((($200)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(22616)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($$3435)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $$3435; - break; - } - } - } - } - } while(0); - $213 = $129 | 1; - $214 = ((($$1)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$1) + ($129)|0); - HEAP32[$215>>2] = $129; - $216 = HEAP32[(22620)>>2]|0; - $217 = ($$1|0)==($216|0); - if ($217) { - HEAP32[(22608)>>2] = $129; - return; - } else { - $$2 = $129; - } - } else { - $218 = $111 & -2; - HEAP32[$110>>2] = $218; - $219 = $$1418 | 1; - $220 = ((($$1)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$1) + ($$1418)|0); - HEAP32[$221>>2] = $$1418; - $$2 = $$1418; - } - $222 = $$2 >>> 3; - $223 = ($$2>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (22640 + ($224<<2)|0); - $226 = HEAP32[5650]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[5650] = $230; - $$pre = ((($225)) + 8|0); - $$0438 = $225;$$pre$phiZ2D = $$pre; - } else { - $231 = ((($225)) + 8|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(22616)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$0438 = $232;$$pre$phiZ2D = $231; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $235 = ((($$0438)) + 12|0); - HEAP32[$235>>2] = $$1; - $236 = ((($$1)) + 8|0); - HEAP32[$236>>2] = $$0438; - $237 = ((($$1)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$2 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $$0431 = 0; - } else { - $240 = ($$2>>>0)>(16777215); - if ($240) { - $$0431 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$2 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $$0431 = $262; - } - } - $263 = (22904 + ($$0431<<2)|0); - $264 = ((($$1)) + 28|0); - HEAP32[$264>>2] = $$0431; - $265 = ((($$1)) + 16|0); - $266 = ((($$1)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(22604)>>2]|0; - $268 = 1 << $$0431; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(22604)>>2] = $271; - HEAP32[$263>>2] = $$1; - $272 = ((($$1)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$1)) + 12|0); - HEAP32[$273>>2] = $$1; - $274 = ((($$1)) + 8|0); - HEAP32[$274>>2] = $$1; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($$0431|0)==(31); - $277 = $$0431 >>> 1; - $278 = (25 - ($277))|0; - $279 = $276 ? 0 : $278; - $280 = $$2 << $279; - $$0419 = $280;$$0420 = $275; - while(1) { - $281 = ((($$0420)) + 4|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 & -8; - $284 = ($283|0)==($$2|0); - if ($284) { - label = 121; - break; - } - $285 = $$0419 >>> 31; - $286 = (((($$0420)) + 16|0) + ($285<<2)|0); - $287 = $$0419 << 1; - $288 = HEAP32[$286>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - label = 118; - break; - } else { - $$0419 = $287;$$0420 = $288; - } - } - if ((label|0) == 118) { - $290 = HEAP32[(22616)>>2]|0; - $291 = ($286>>>0)<($290>>>0); - if ($291) { - _abort(); - // unreachable; - } - HEAP32[$286>>2] = $$1; - $292 = ((($$1)) + 24|0); - HEAP32[$292>>2] = $$0420; - $293 = ((($$1)) + 12|0); - HEAP32[$293>>2] = $$1; - $294 = ((($$1)) + 8|0); - HEAP32[$294>>2] = $$1; - return; - } - else if ((label|0) == 121) { - $295 = ((($$0420)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(22616)>>2]|0; - $298 = ($296>>>0)>=($297>>>0); - $not$19 = ($$0420>>>0)>=($297>>>0); - $299 = $298 & $not$19; - if (!($299)) { - _abort(); - // unreachable; - } - $300 = ((($296)) + 12|0); - HEAP32[$300>>2] = $$1; - HEAP32[$295>>2] = $$1; - $301 = ((($$1)) + 8|0); - HEAP32[$301>>2] = $296; - $302 = ((($$1)) + 12|0); - HEAP32[$302>>2] = $$0420; - $303 = ((($$1)) + 24|0); - HEAP32[$303>>2] = 0; - return; - } -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (23096|0); -} -function ___stdio_close($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $1 = ((($0)) + 60|0); - $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); - HEAP32[$vararg_buffer>>2] = $3; - $4 = (___syscall6(6,($vararg_buffer|0))|0); - $5 = (___syscall_ret($4)|0); - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $3 = sp + 32|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$3>>2] = $5; - $6 = ((($3)) + 4|0); - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - ($5))|0; - HEAP32[$6>>2] = $9; - $10 = ((($3)) + 8|0); - HEAP32[$10>>2] = $1; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $2; - $12 = (($9) + ($2))|0; - $13 = ((($0)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = $3; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $15; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $16 = (___syscall146(146,($vararg_buffer|0))|0); - $17 = (___syscall_ret($16)|0); - $18 = ($12|0)==($17|0); - L1: do { - if ($18) { - label = 3; - } else { - $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; - while(1) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } while(0); - if ((label|0) == 3) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 16|0); - HEAP32[$24>>2] = $23; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|0); -} -function ___stdio_seek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 20|0; - $4 = ((($0)) + 60|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $1; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $6; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $2; - $7 = (___syscall140(140,($vararg_buffer|0))|0); - $8 = (___syscall_ret($7)|0); - $9 = ($8|0)<(0); - if ($9) { - HEAP32[$3>>2] = -1; - $10 = -1; - } else { - $$pre = HEAP32[$3>>2]|0; - $10 = $$pre; - } - STACKTOP = sp;return ($10|0); -} -function ___syscall_ret($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0>>>0)>(4294963200); - if ($1) { - $2 = (0 - ($0))|0; - $3 = (___errno_location()|0); - HEAP32[$3>>2] = $2; - $$0 = -1; - } else { - $$0 = $0; - } - return ($$0|0); -} -function ___errno_location() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (3836|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - HEAP32[$3>>2] = $1; - $4 = ((($3)) + 4|0); - $5 = ((($0)) + 48|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = $7&1; - $9 = (($2) - ($8))|0; - HEAP32[$4>>2] = $9; - $10 = ((($3)) + 8|0); - $11 = ((($0)) + 44|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($3)) + 12|0); - HEAP32[$13>>2] = $6; - $14 = ((($0)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = $3; - HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $17 = (___syscall145(145,($vararg_buffer|0))|0); - $18 = (___syscall_ret($17)|0); - $19 = ($18|0)<(1); - if ($19) { - $20 = $18 & 48; - $21 = $20 ^ 16; - $22 = HEAP32[$0>>2]|0; - $23 = $22 | $21; - HEAP32[$0>>2] = $23; - $$0 = $18; - } else { - $24 = HEAP32[$4>>2]|0; - $25 = ($18>>>0)>($24>>>0); - if ($25) { - $26 = (($18) - ($24))|0; - $27 = HEAP32[$11>>2]|0; - $28 = ((($0)) + 4|0); - HEAP32[$28>>2] = $27; - $29 = (($27) + ($26)|0); - $30 = ((($0)) + 8|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = $2; - } else { - $33 = ((($27)) + 1|0); - HEAP32[$28>>2] = $33; - $34 = HEAP8[$27>>0]|0; - $35 = (($2) + -1)|0; - $36 = (($1) + ($35)|0); - HEAP8[$36>>0] = $34; - $$0 = $2; - } - } else { - $$0 = $18; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer = sp; - $3 = sp + 16|0; - $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 10; - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 64; - $7 = ($6|0)==(0); - if ($7) { - $8 = ((($0)) + 60|0); - $9 = HEAP32[$8>>2]|0; - $10 = $3; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21523; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $11 = (___syscall54(54,($vararg_buffer|0))|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($0)) + 75|0); - HEAP8[$13>>0] = -1; - } - } - $14 = (___stdio_write($0,$1,$2)|0); - STACKTOP = sp;return ($14|0); -} -function _strtox_768($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $5 = sp; - HEAP32[$5>>2] = 0; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $0; - $7 = ((($5)) + 44|0); - HEAP32[$7>>2] = $0; - $8 = ($0|0)<(0|0); - $9 = ((($0)) + 2147483647|0); - $$sink = $8 ? (-1) : $9; - $10 = ((($5)) + 8|0); - HEAP32[$10>>2] = $$sink; - $11 = ((($5)) + 76|0); - HEAP32[$11>>2] = -1; - ___shlim($5,0); - $12 = (___intscan($5,$2,1,$3,$4)|0); - $13 = tempRet0; - $14 = ($1|0)==(0|0); - if (!($14)) { - $15 = ((($5)) + 108|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$6>>2]|0; - $18 = HEAP32[$10>>2]|0; - $19 = (($17) + ($16))|0; - $20 = (($19) - ($18))|0; - $21 = (($0) + ($20)|0); - HEAP32[$1>>2] = $21; - } - tempRet0 = ($13); - STACKTOP = sp;return ($12|0); -} -function ___shlim($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 104|0); - HEAP32[$2>>2] = $1; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ((($0)) + 108|0); - HEAP32[$10>>2] = $9; - $11 = ($1|0)!=(0); - $12 = ($9|0)>($1|0); - $or$cond = $11 & $12; - $13 = (($6) + ($1)|0); - $$sink = $or$cond ? $13 : $4; - $14 = ((($0)) + 100|0); - HEAP32[$14>>2] = $$sink; - return; -} -function ___intscan($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; - var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; - var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; - var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; - var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; - var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; - var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; - var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; - var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($1>>>0)>(36); - L1: do { - if ($5) { - $8 = (___errno_location()|0); - HEAP32[$8>>2] = 22; - $289 = 0;$290 = 0; - } else { - $6 = ((($0)) + 4|0); - $7 = ((($0)) + 100|0); - while(1) { - $9 = HEAP32[$6>>2]|0; - $10 = HEAP32[$7>>2]|0; - $11 = ($9>>>0)<($10>>>0); - if ($11) { - $12 = ((($9)) + 1|0); - HEAP32[$6>>2] = $12; - $13 = HEAP8[$9>>0]|0; - $14 = $13&255; - $16 = $14; - } else { - $15 = (___shgetc($0)|0); - $16 = $15; - } - $17 = (_isspace($16)|0); - $18 = ($17|0)==(0); - if ($18) { - break; - } - } - L11: do { - switch ($16|0) { - case 43: case 45: { - $19 = ($16|0)==(45); - $20 = $19 << 31 >> 31; - $21 = HEAP32[$6>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$6>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$0157 = $20;$$0159 = $26; - break L11; - } else { - $27 = (___shgetc($0)|0); - $$0157 = $20;$$0159 = $27; - break L11; - } - break; - } - default: { - $$0157 = 0;$$0159 = $16; - } - } - } while(0); - $28 = ($1|0)==(0); - $29 = $1 | 16; - $30 = ($29|0)==(16); - $31 = ($$0159|0)==(48); - $or$cond5 = $30 & $31; - do { - if ($or$cond5) { - $32 = HEAP32[$6>>2]|0; - $33 = HEAP32[$7>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$6>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $40 = $37; - } else { - $38 = (___shgetc($0)|0); - $40 = $38; - } - $39 = $40 | 32; - $41 = ($39|0)==(120); - if (!($41)) { - if ($28) { - $$1160169 = $40;$$1165168 = 8; - label = 46; - break; - } else { - $$1160 = $40;$$1165 = $1; - label = 32; - break; - } - } - $42 = HEAP32[$6>>2]|0; - $43 = HEAP32[$7>>2]|0; - $44 = ($42>>>0)<($43>>>0); - if ($44) { - $45 = ((($42)) + 1|0); - HEAP32[$6>>2] = $45; - $46 = HEAP8[$42>>0]|0; - $47 = $46&255; - $50 = $47; - } else { - $48 = (___shgetc($0)|0); - $50 = $48; - } - $49 = ((16316) + ($50)|0); - $51 = HEAP8[$49>>0]|0; - $52 = ($51&255)>(15); - if ($52) { - $53 = HEAP32[$7>>2]|0; - $54 = ($53|0)!=(0|0); - if ($54) { - $55 = HEAP32[$6>>2]|0; - $56 = ((($55)) + -1|0); - HEAP32[$6>>2] = $56; - } - $57 = ($2|0)==(0); - if ($57) { - ___shlim($0,0); - $289 = 0;$290 = 0; - break L1; - } - if (!($54)) { - $289 = 0;$290 = 0; - break L1; - } - $58 = HEAP32[$6>>2]|0; - $59 = ((($58)) + -1|0); - HEAP32[$6>>2] = $59; - $289 = 0;$290 = 0; - break L1; - } else { - $$1160169 = $50;$$1165168 = 16; - label = 46; - } - } else { - $$166 = $28 ? 10 : $1; - $60 = ((16316) + ($$0159)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($62>>>0)<($$166>>>0); - if ($63) { - $$1160 = $$0159;$$1165 = $$166; - label = 32; - } else { - $64 = HEAP32[$7>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $66 = HEAP32[$6>>2]|0; - $67 = ((($66)) + -1|0); - HEAP32[$6>>2] = $67; - } - ___shlim($0,0); - $68 = (___errno_location()|0); - HEAP32[$68>>2] = 22; - $289 = 0;$290 = 0; - break L1; - } - } - } while(0); - L43: do { - if ((label|0) == 32) { - $69 = ($$1165|0)==(10); - if ($69) { - $70 = (($$1160) + -48)|0; - $71 = ($70>>>0)<(10); - if ($71) { - $$0154222 = 0;$74 = $70; - while(1) { - $72 = ($$0154222*10)|0; - $73 = (($72) + ($74))|0; - $75 = HEAP32[$6>>2]|0; - $76 = HEAP32[$7>>2]|0; - $77 = ($75>>>0)<($76>>>0); - if ($77) { - $78 = ((($75)) + 1|0); - HEAP32[$6>>2] = $78; - $79 = HEAP8[$75>>0]|0; - $80 = $79&255; - $$2161$be = $80; - } else { - $81 = (___shgetc($0)|0); - $$2161$be = $81; - } - $82 = (($$2161$be) + -48)|0; - $83 = ($82>>>0)<(10); - $84 = ($73>>>0)<(429496729); - $85 = $83 & $84; - if ($85) { - $$0154222 = $73;$74 = $82; - } else { - break; - } - } - $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; - } else { - $$2161$lcssa = $$1160;$291 = 0;$292 = 0; - } - $86 = (($$2161$lcssa) + -48)|0; - $87 = ($86>>>0)<(10); - if ($87) { - $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; - while(1) { - $90 = (___muldi3(($88|0),($89|0),10,0)|0); - $91 = tempRet0; - $92 = ($93|0)<(0); - $94 = $92 << 31 >> 31; - $95 = $93 ^ -1; - $96 = $94 ^ -1; - $97 = ($91>>>0)>($96>>>0); - $98 = ($90>>>0)>($95>>>0); - $99 = ($91|0)==($96|0); - $100 = $99 & $98; - $101 = $97 | $100; - if ($101) { - $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; - label = 72; - break L43; - } - $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); - $103 = tempRet0; - $104 = HEAP32[$6>>2]|0; - $105 = HEAP32[$7>>2]|0; - $106 = ($104>>>0)<($105>>>0); - if ($106) { - $107 = ((($104)) + 1|0); - HEAP32[$6>>2] = $107; - $108 = HEAP8[$104>>0]|0; - $109 = $108&255; - $$3162$be = $109; - } else { - $110 = (___shgetc($0)|0); - $$3162$be = $110; - } - $111 = (($$3162$be) + -48)|0; - $112 = ($111>>>0)<(10); - $113 = ($103>>>0)<(429496729); - $114 = ($102>>>0)<(2576980378); - $115 = ($103|0)==(429496729); - $116 = $115 & $114; - $117 = $113 | $116; - $or$cond7 = $112 & $117; - if ($or$cond7) { - $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; - } else { - break; - } - } - $118 = ($111>>>0)>(9); - if ($118) { - $$1158 = $$0157;$263 = $103;$265 = $102; - } else { - $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; - label = 72; - } - } else { - $$1158 = $$0157;$263 = $292;$265 = $291; - } - } else { - $$1160169 = $$1160;$$1165168 = $$1165; - label = 46; - } - } - } while(0); - L63: do { - if ((label|0) == 46) { - $119 = (($$1165168) + -1)|0; - $120 = $119 & $$1165168; - $121 = ($120|0)==(0); - if ($121) { - $126 = ($$1165168*23)|0; - $127 = $126 >>> 5; - $128 = $127 & 7; - $129 = (16572 + ($128)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 << 24 >> 24; - $132 = ((16316) + ($$1160169)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($134>>>0)<($$1165168>>>0); - if ($135) { - $$1155192 = 0;$138 = $134; - while(1) { - $136 = $$1155192 << $131; - $137 = $138 | $136; - $139 = HEAP32[$6>>2]|0; - $140 = HEAP32[$7>>2]|0; - $141 = ($139>>>0)<($140>>>0); - if ($141) { - $142 = ((($139)) + 1|0); - HEAP32[$6>>2] = $142; - $143 = HEAP8[$139>>0]|0; - $144 = $143&255; - $$4163$be = $144; - } else { - $145 = (___shgetc($0)|0); - $$4163$be = $145; - } - $146 = ((16316) + ($$4163$be)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = ($148>>>0)<($$1165168>>>0); - $150 = ($137>>>0)<(134217728); - $151 = $150 & $149; - if ($151) { - $$1155192 = $137;$138 = $148; - } else { - break; - } - } - $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; - } else { - $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; - } - $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); - $153 = tempRet0; - $154 = $155&255; - $156 = ($154>>>0)>=($$1165168>>>0); - $157 = ($158>>>0)>($153>>>0); - $159 = ($160>>>0)>($152>>>0); - $161 = ($158|0)==($153|0); - $162 = $161 & $159; - $163 = $157 | $162; - $or$cond187 = $156 | $163; - if ($or$cond187) { - $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; - label = 72; - break; - } else { - $164 = $160;$165 = $158;$169 = $155; - } - while(1) { - $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); - $167 = tempRet0; - $168 = $169&255; - $170 = $168 | $166; - $171 = HEAP32[$6>>2]|0; - $172 = HEAP32[$7>>2]|0; - $173 = ($171>>>0)<($172>>>0); - if ($173) { - $174 = ((($171)) + 1|0); - HEAP32[$6>>2] = $174; - $175 = HEAP8[$171>>0]|0; - $176 = $175&255; - $$5$be = $176; - } else { - $177 = (___shgetc($0)|0); - $$5$be = $177; - } - $178 = ((16316) + ($$5$be)|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = ($180>>>0)>=($$1165168>>>0); - $182 = ($167>>>0)>($153>>>0); - $183 = ($170>>>0)>($152>>>0); - $184 = ($167|0)==($153|0); - $185 = $184 & $183; - $186 = $182 | $185; - $or$cond = $181 | $186; - if ($or$cond) { - $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; - label = 72; - break L63; - } else { - $164 = $170;$165 = $167;$169 = $179; - } - } - } - $122 = ((16316) + ($$1160169)|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = ($124>>>0)<($$1165168>>>0); - if ($125) { - $$2156210 = 0;$189 = $124; - while(1) { - $187 = Math_imul($$2156210, $$1165168)|0; - $188 = (($189) + ($187))|0; - $190 = HEAP32[$6>>2]|0; - $191 = HEAP32[$7>>2]|0; - $192 = ($190>>>0)<($191>>>0); - if ($192) { - $193 = ((($190)) + 1|0); - HEAP32[$6>>2] = $193; - $194 = HEAP8[$190>>0]|0; - $195 = $194&255; - $$6$be = $195; - } else { - $196 = (___shgetc($0)|0); - $$6$be = $196; - } - $197 = ((16316) + ($$6$be)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199>>>0)<($$1165168>>>0); - $201 = ($188>>>0)<(119304647); - $202 = $201 & $200; - if ($202) { - $$2156210 = $188;$189 = $199; - } else { - break; - } - } - $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; - } else { - $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; - } - $203 = $204&255; - $205 = ($203>>>0)<($$1165168>>>0); - if ($205) { - $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); - $207 = tempRet0; - $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; - while(1) { - $208 = ($209>>>0)>($207>>>0); - $210 = ($211>>>0)>($206>>>0); - $212 = ($209|0)==($207|0); - $213 = $212 & $210; - $214 = $208 | $213; - if ($214) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); - $216 = tempRet0; - $217 = $218&255; - $219 = $217 ^ -1; - $220 = ($216>>>0)>(4294967295); - $221 = ($215>>>0)>($219>>>0); - $222 = ($216|0)==(-1); - $223 = $222 & $221; - $224 = $220 | $223; - if ($224) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); - $226 = tempRet0; - $227 = HEAP32[$6>>2]|0; - $228 = HEAP32[$7>>2]|0; - $229 = ($227>>>0)<($228>>>0); - if ($229) { - $230 = ((($227)) + 1|0); - HEAP32[$6>>2] = $230; - $231 = HEAP8[$227>>0]|0; - $232 = $231&255; - $$7$be = $232; - } else { - $233 = (___shgetc($0)|0); - $$7$be = $233; - } - $234 = ((16316) + ($$7$be)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = ($236>>>0)<($$1165168>>>0); - if ($237) { - $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; - } else { - $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; - label = 72; - break; - } - } - } else { - $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; - label = 72; - } - } - } while(0); - if ((label|0) == 72) { - $238 = ((16316) + ($$8)|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240>>>0)<($$1165167>>>0); - if ($241) { - while(1) { - $242 = HEAP32[$6>>2]|0; - $243 = HEAP32[$7>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - $245 = ((($242)) + 1|0); - HEAP32[$6>>2] = $245; - $246 = HEAP8[$242>>0]|0; - $247 = $246&255; - $$9$be = $247; - } else { - $248 = (___shgetc($0)|0); - $$9$be = $248; - } - $249 = ((16316) + ($$9$be)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251>>>0)<($$1165167>>>0); - if (!($252)) { - break; - } - } - $253 = (___errno_location()|0); - HEAP32[$253>>2] = 34; - $254 = $3 & 1; - $255 = ($254|0)==(0); - $256 = (0)==(0); - $257 = $255 & $256; - $$0157$ = $257 ? $$0157 : 0; - $$1158 = $$0157$;$263 = $4;$265 = $3; - } else { - $$1158 = $$0157;$263 = $294;$265 = $293; - } - } - $258 = HEAP32[$7>>2]|0; - $259 = ($258|0)==(0|0); - if (!($259)) { - $260 = HEAP32[$6>>2]|0; - $261 = ((($260)) + -1|0); - HEAP32[$6>>2] = $261; - } - $262 = ($263>>>0)<($4>>>0); - $264 = ($265>>>0)<($3>>>0); - $266 = ($263|0)==($4|0); - $267 = $266 & $264; - $268 = $262 | $267; - if (!($268)) { - $269 = $3 & 1; - $270 = ($269|0)!=(0); - $271 = (0)!=(0); - $272 = $270 | $271; - $273 = ($$1158|0)!=(0); - $or$cond12 = $272 | $273; - if (!($or$cond12)) { - $274 = (___errno_location()|0); - HEAP32[$274>>2] = 34; - $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); - $276 = tempRet0; - $289 = $276;$290 = $275; - break; - } - $277 = ($263>>>0)>($4>>>0); - $278 = ($265>>>0)>($3>>>0); - $279 = ($263|0)==($4|0); - $280 = $279 & $278; - $281 = $277 | $280; - if ($281) { - $282 = (___errno_location()|0); - HEAP32[$282>>2] = 34; - $289 = $4;$290 = $3; - break; - } - } - $283 = ($$1158|0)<(0); - $284 = $283 << 31 >> 31; - $285 = $265 ^ $$1158; - $286 = $263 ^ $284; - $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); - $288 = tempRet0; - $289 = $288;$290 = $287; - } - } while(0); - tempRet0 = ($289); - return ($290|0); -} -function ___shgetc($0) { - $0 = $0|0; - var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 104|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - label = 3; - } else { - $4 = ((($0)) + 108|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)<($2|0); - if ($6) { - label = 3; - } else { - label = 4; - } - } - if ((label|0) == 3) { - $7 = (___uflow($0)|0); - $8 = ($7|0)<(0); - if ($8) { - label = 4; - } else { - $10 = HEAP32[$1>>2]|0; - $11 = ($10|0)==(0); - $$phi$trans$insert = ((($0)) + 8|0); - if ($11) { - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); - $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; - $$pre35 = ((($0)) + 108|0); - $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; - } else { - $12 = HEAP32[$$phi$trans$insert>>2]|0; - $13 = ((($0)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $14; - $16 = (($12) - ($15))|0; - $17 = ((($0)) + 108|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($10) - ($18))|0; - $20 = ($16|0)<($19|0); - $21 = $12; - if ($20) { - $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; - } else { - $22 = (($19) + -1)|0; - $23 = (($14) + ($22)|0); - $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; - } - } - $24 = ((($0)) + 100|0); - HEAP32[$24>>2] = $$sink; - $25 = ($26|0)==(0|0); - if (!($25)) { - $27 = $26; - $28 = $29; - $30 = HEAP32[$$pre$phi34Z2D>>2]|0; - $31 = (($27) + 1)|0; - $32 = (($31) - ($28))|0; - $33 = (($32) + ($30))|0; - HEAP32[$$pre$phi34Z2D>>2] = $33; - } - $34 = ((($29)) + -1|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==($7|0); - if ($37) { - $$0 = $7; - } else { - $38 = $7&255; - HEAP8[$34>>0] = $38; - $$0 = $7; - } - } - } - if ((label|0) == 4) { - $9 = ((($0)) + 100|0); - HEAP32[$9>>2] = 0; - $$0 = -1; - } - return ($$0|0); -} -function _isspace($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(32); - $2 = (($0) + -9)|0; - $3 = ($2>>>0)<(5); - $4 = $1 | $3; - $5 = $4&1; - return ($5|0); -} -function ___uflow($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = (___toread($0)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($0)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); - $7 = ($6|0)==(1); - if ($7) { - $8 = HEAP8[$1>>0]|0; - $9 = $8&255; - $$0 = $9; - } else { - $$0 = -1; - } - } else { - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___toread($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($0)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($8>>>0)>($10>>>0); - if ($11) { - $12 = ((($0)) + 36|0); - $13 = HEAP32[$12>>2]|0; - (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); - } - $14 = ((($0)) + 16|0); - HEAP32[$14>>2] = 0; - HEAP32[$9>>2] = 0; - HEAP32[$7>>2] = 0; - $15 = HEAP32[$0>>2]|0; - $16 = $15 & 4; - $17 = ($16|0)==(0); - if ($17) { - $19 = ((($0)) + 44|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 48|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($20) + ($22)|0); - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = $23; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = $23; - $26 = $15 << 27; - $sext = $26 >> 31; - $$0 = $sext; - } else { - $18 = $15 | 32; - HEAP32[$0>>2] = $18; - $$0 = -1; - } - return ($$0|0); -} -function _strtol($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_strtox_768($0,$1,$2,-2147483648,0)|0); - $4 = tempRet0; - return ($3|0); -} -function _copysign($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = $3 & 2147483647; - $7 = $5 & -2147483648; - $8 = $7 | $6; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; - return (+$9); -} -function _strcmp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = HEAP8[$0>>0]|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($2<<24>>24)!=($3<<24>>24); - $5 = ($2<<24>>24)==(0); - $or$cond9 = $5 | $4; - if ($or$cond9) { - $$lcssa = $3;$$lcssa8 = $2; - } else { - $$011 = $1;$$0710 = $0; - while(1) { - $6 = ((($$0710)) + 1|0); - $7 = ((($$011)) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = HEAP8[$7>>0]|0; - $10 = ($8<<24>>24)!=($9<<24>>24); - $11 = ($8<<24>>24)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $$lcssa = $9;$$lcssa8 = $8; - break; - } else { - $$011 = $7;$$0710 = $6; - } - } - } - $12 = $$lcssa8&255; - $13 = $$lcssa&255; - $14 = (($12) - ($13))|0; - return ($14|0); -} -function _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _strncmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - if ($3) { - $$020 = 0; - } else { - $4 = HEAP8[$0>>0]|0; - $5 = $4&255; - $6 = ($4<<24>>24)==(0); - $7 = HEAP8[$1>>0]|0; - $8 = $7&255; - L3: do { - if ($6) { - $$lcssa = $8;$$lcssa22 = $5; - } else { - $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; - while(1) { - $$01926 = (($$01926$in) + -1)|0; - $9 = ($10<<24>>24)!=(0); - $11 = ($$01926|0)!=(0); - $or$cond = $11 & $9; - $12 = ($13<<24>>24)==($10<<24>>24); - $or$cond21 = $12 & $or$cond; - if (!($or$cond21)) { - $$lcssa = $22;$$lcssa22 = $23; - break L3; - } - $14 = ((($$01824)) + 1|0); - $15 = ((($$025)) + 1|0); - $16 = HEAP8[$14>>0]|0; - $17 = $16&255; - $18 = ($16<<24>>24)==(0); - $19 = HEAP8[$15>>0]|0; - $20 = $19&255; - if ($18) { - $$lcssa = $20;$$lcssa22 = $17; - break; - } else { - $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; - } - } - } - } while(0); - $21 = (($$lcssa22) - ($$lcssa))|0; - $$020 = $21; - } - return ($$020|0); -} -function _vsprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_vsnprintf($0,2147483647,$1,$2)|0); - return ($3|0); -} -function _vsnprintf($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $4 = sp + 124|0; - $5 = sp; - dest=$5; src=4212; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = (($1) + -1)|0; - $7 = ($6>>>0)>(2147483646); - if ($7) { - $8 = ($1|0)==(0); - if ($8) { - $$014 = $4;$$015 = 1; - label = 4; - } else { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 75; - $$0 = -1; - } - } else { - $$014 = $0;$$015 = $1; - label = 4; - } - if ((label|0) == 4) { - $10 = $$014; - $11 = (-2 - ($10))|0; - $12 = ($$015>>>0)>($11>>>0); - $$$015 = $12 ? $11 : $$015; - $13 = ((($5)) + 48|0); - HEAP32[$13>>2] = $$$015; - $14 = ((($5)) + 20|0); - HEAP32[$14>>2] = $$014; - $15 = ((($5)) + 44|0); - HEAP32[$15>>2] = $$014; - $16 = (($$014) + ($$$015)|0); - $17 = ((($5)) + 16|0); - HEAP32[$17>>2] = $16; - $18 = ((($5)) + 28|0); - HEAP32[$18>>2] = $16; - $19 = (_vfprintf($5,$2,$3)|0); - $20 = ($$$015|0)==(0); - if ($20) { - $$0 = $19; - } else { - $21 = HEAP32[$14>>2]|0; - $22 = HEAP32[$17>>2]|0; - $23 = ($21|0)==($22|0); - $24 = $23 << 31 >> 31; - $25 = (($21) + ($24)|0); - HEAP8[$25>>0] = 0; - $$0 = $19; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vfprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $3 = sp + 120|0; - $4 = sp + 80|0; - $5 = sp; - $6 = sp + 136|0; - dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$2>>2]|0; - HEAP32[$3>>2] = $vacopy_currentptr; - $7 = (_printf_core(0,$1,$3,$5,$4)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = -1; - } else { - $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(-1); - if ($11) { - $12 = (___lockfile($0)|0); - $40 = $12; - } else { - $40 = 0; - } - $13 = HEAP32[$0>>2]|0; - $14 = $13 & 32; - $15 = ((($0)) + 74|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)<(1); - if ($17) { - $18 = $13 & -33; - HEAP32[$0>>2] = $18; - } - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $23 = ((($0)) + 44|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$23>>2] = $6; - $25 = ((($0)) + 28|0); - HEAP32[$25>>2] = $6; - $26 = ((($0)) + 20|0); - HEAP32[$26>>2] = $6; - HEAP32[$19>>2] = 80; - $27 = ((($6)) + 80|0); - $28 = ((($0)) + 16|0); - HEAP32[$28>>2] = $27; - $29 = (_printf_core($0,$1,$3,$5,$4)|0); - $30 = ($24|0)==(0|0); - if ($30) { - $$1 = $29; - } else { - $31 = ((($0)) + 36|0); - $32 = HEAP32[$31>>2]|0; - (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); - $33 = HEAP32[$26>>2]|0; - $34 = ($33|0)==(0|0); - $$ = $34 ? -1 : $29; - HEAP32[$23>>2] = $24; - HEAP32[$19>>2] = 0; - HEAP32[$28>>2] = 0; - HEAP32[$25>>2] = 0; - HEAP32[$26>>2] = 0; - $$1 = $$; - } - } else { - $22 = (_printf_core($0,$1,$3,$5,$4)|0); - $$1 = $22; - } - $35 = HEAP32[$0>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - $$1$ = $37 ? $$1 : -1; - $38 = $35 | $14; - HEAP32[$0>>2] = $38; - $39 = ($40|0)==(0); - if (!($39)) { - ___unlockfile($0); - } - $$0 = $$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _printf_core($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; - var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $5 = sp + 16|0; - $6 = sp; - $7 = sp + 24|0; - $8 = sp + 8|0; - $9 = sp + 20|0; - HEAP32[$5>>2] = $1; - $10 = ($0|0)!=(0|0); - $11 = ((($7)) + 40|0); - $12 = $11; - $13 = ((($7)) + 39|0); - $14 = ((($8)) + 4|0); - $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; - L1: while(1) { - $15 = ($$0247|0)>(-1); - do { - if ($15) { - $16 = (2147483647 - ($$0247))|0; - $17 = ($$0243|0)>($16|0); - if ($17) { - $18 = (___errno_location()|0); - HEAP32[$18>>2] = 75; - $$1248 = -1; - break; - } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; - break; - } - } else { - $$1248 = $$0247; - } - } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; - break; - } - case 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; - break; - } - default: { - } - } - $24 = ((($25)) + 1|0); - HEAP32[$5>>2] = $24; - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = ((($27)) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$0249$lcssa = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $30;$27 = $31; - label = 9; - } else { - $$0249$lcssa = $30;$39 = $31; - break; - } - } - } - } while(0); - $34 = $$0249$lcssa; - $35 = $21; - $36 = (($34) - ($35))|0; - if ($10) { - _out($0,$21,$36); - } - $37 = ($36|0)==(0); - if (!($37)) { - $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; - continue; - } - $38 = ((($39)) + 1|0); - $40 = HEAP8[$38>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($39)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($39)) + 3|0); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } else { - $$0253 = -1;$$1270 = $$0269;$storemerge = $38; - } - HEAP32[$5>>2] = $storemerge; - $46 = HEAP8[$storemerge>>0]|0; - $47 = $46 << 24 >> 24; - $48 = (($47) + -32)|0; - $49 = ($48>>>0)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((16581 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 17045;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 17045;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 17045 : (17047); - $$$ = $238 ? $$ : (17046); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 17045;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 17045;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 17055; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 17045;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (17045 + ($208)|0); - $$289 = $or$cond283 ? 17045 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 17045;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; - $$0228$ = $or$cond ? $$0228 : $11; - $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; - } - else if ((label|0) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } else { - $$0 = $$1248; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___lockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _out($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = $3 & 32; - $5 = ($4|0)==(0); - if ($5) { - (___fwritex($1,$2,$0)|0); - } - return; -} -function _getint($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $isdigittmp4 = (($3) + -48)|0; - $isdigit5 = ($isdigittmp4>>>0)<(10); - if ($isdigit5) { - $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; - while(1) { - $4 = ($$06*10)|0; - $5 = (($isdigittmp7) + ($4))|0; - $6 = ((($7)) + 1|0); - HEAP32[$0>>2] = $6; - $8 = HEAP8[$6>>0]|0; - $9 = $8 << 24 >> 24; - $isdigittmp = (($9) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; - } else { - $$0$lcssa = $5; - break; - } - } - } else { - $$0$lcssa = 0; - } - return ($$0$lcssa|0); -} -function _pop_arg($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(20); - L1: do { - if (!($3)) { - do { - switch ($1|0) { - case 9: { - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded28 = $5; - $expanded = (($expanded28) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded32 = $7; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $8 = $6 & $expanded30; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - HEAP32[$0>>2] = $10; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$2>>2]|0; - $11 = $arglist_current2; - $12 = ((0) + 4|0); - $expanded35 = $12; - $expanded34 = (($expanded35) - 1)|0; - $13 = (($11) + ($expanded34))|0; - $14 = ((0) + 4|0); - $expanded39 = $14; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $15 = $13 & $expanded37; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $arglist_next3 = ((($16)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $18 = ($17|0)<(0); - $19 = $18 << 31 >> 31; - $20 = $0; - $21 = $20; - HEAP32[$21>>2] = $17; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$2>>2]|0; - $24 = $arglist_current5; - $25 = ((0) + 4|0); - $expanded42 = $25; - $expanded41 = (($expanded42) - 1)|0; - $26 = (($24) + ($expanded41))|0; - $27 = ((0) + 4|0); - $expanded46 = $27; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $28 = $26 & $expanded44; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $arglist_next6 = ((($29)) + 4|0); - HEAP32[$2>>2] = $arglist_next6; - $31 = $0; - $32 = $31; - HEAP32[$32>>2] = $30; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$2>>2]|0; - $35 = $arglist_current8; - $36 = ((0) + 8|0); - $expanded49 = $36; - $expanded48 = (($expanded49) - 1)|0; - $37 = (($35) + ($expanded48))|0; - $38 = ((0) + 8|0); - $expanded53 = $38; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $39 = $37 & $expanded51; - $40 = $39; - $41 = $40; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $arglist_next9 = ((($40)) + 8|0); - HEAP32[$2>>2] = $arglist_next9; - $47 = $0; - $48 = $47; - HEAP32[$48>>2] = $43; - $49 = (($47) + 4)|0; - $50 = $49; - HEAP32[$50>>2] = $46; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$2>>2]|0; - $51 = $arglist_current11; - $52 = ((0) + 4|0); - $expanded56 = $52; - $expanded55 = (($expanded56) - 1)|0; - $53 = (($51) + ($expanded55))|0; - $54 = ((0) + 4|0); - $expanded60 = $54; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $55 = $53 & $expanded58; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $arglist_next12 = ((($56)) + 4|0); - HEAP32[$2>>2] = $arglist_next12; - $58 = $57&65535; - $59 = $58 << 16 >> 16; - $60 = ($59|0)<(0); - $61 = $60 << 31 >> 31; - $62 = $0; - $63 = $62; - HEAP32[$63>>2] = $59; - $64 = (($62) + 4)|0; - $65 = $64; - HEAP32[$65>>2] = $61; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$2>>2]|0; - $66 = $arglist_current14; - $67 = ((0) + 4|0); - $expanded63 = $67; - $expanded62 = (($expanded63) - 1)|0; - $68 = (($66) + ($expanded62))|0; - $69 = ((0) + 4|0); - $expanded67 = $69; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $70 = $68 & $expanded65; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $arglist_next15 = ((($71)) + 4|0); - HEAP32[$2>>2] = $arglist_next15; - $$mask31 = $72 & 65535; - $73 = $0; - $74 = $73; - HEAP32[$74>>2] = $$mask31; - $75 = (($73) + 4)|0; - $76 = $75; - HEAP32[$76>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$2>>2]|0; - $77 = $arglist_current17; - $78 = ((0) + 4|0); - $expanded70 = $78; - $expanded69 = (($expanded70) - 1)|0; - $79 = (($77) + ($expanded69))|0; - $80 = ((0) + 4|0); - $expanded74 = $80; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $81 = $79 & $expanded72; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $arglist_next18 = ((($82)) + 4|0); - HEAP32[$2>>2] = $arglist_next18; - $84 = $83&255; - $85 = $84 << 24 >> 24; - $86 = ($85|0)<(0); - $87 = $86 << 31 >> 31; - $88 = $0; - $89 = $88; - HEAP32[$89>>2] = $85; - $90 = (($88) + 4)|0; - $91 = $90; - HEAP32[$91>>2] = $87; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$2>>2]|0; - $92 = $arglist_current20; - $93 = ((0) + 4|0); - $expanded77 = $93; - $expanded76 = (($expanded77) - 1)|0; - $94 = (($92) + ($expanded76))|0; - $95 = ((0) + 4|0); - $expanded81 = $95; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $96 = $94 & $expanded79; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $arglist_next21 = ((($97)) + 4|0); - HEAP32[$2>>2] = $arglist_next21; - $$mask = $98 & 255; - $99 = $0; - $100 = $99; - HEAP32[$100>>2] = $$mask; - $101 = (($99) + 4)|0; - $102 = $101; - HEAP32[$102>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$2>>2]|0; - $103 = $arglist_current23; - $104 = ((0) + 8|0); - $expanded84 = $104; - $expanded83 = (($expanded84) - 1)|0; - $105 = (($103) + ($expanded83))|0; - $106 = ((0) + 8|0); - $expanded88 = $106; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $107 = $105 & $expanded86; - $108 = $107; - $109 = +HEAPF64[$108>>3]; - $arglist_next24 = ((($108)) + 8|0); - HEAP32[$2>>2] = $arglist_next24; - HEAPF64[$0>>3] = $109; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$2>>2]|0; - $110 = $arglist_current26; - $111 = ((0) + 8|0); - $expanded91 = $111; - $expanded90 = (($expanded91) - 1)|0; - $112 = (($110) + ($expanded90))|0; - $113 = ((0) + 8|0); - $expanded95 = $113; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $114 = $112 & $expanded93; - $115 = $114; - $116 = +HEAPF64[$115>>3]; - $arglist_next27 = ((($115)) + 8|0); - HEAP32[$2>>2] = $arglist_next27; - HEAPF64[$0>>3] = $116; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_x($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0); - $5 = ($1|0)==(0); - $6 = $4 & $5; - if ($6) { - $$05$lcssa = $2; - } else { - $$056 = $2;$15 = $1;$8 = $0; - while(1) { - $7 = $8 & 15; - $9 = (17093 + ($7)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 | $3; - $13 = $12&255; - $14 = ((($$056)) + -1|0); - HEAP8[$14>>0] = $13; - $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); - $17 = tempRet0; - $18 = ($16|0)==(0); - $19 = ($17|0)==(0); - $20 = $18 & $19; - if ($20) { - $$05$lcssa = $14; - break; - } else { - $$056 = $14;$15 = $17;$8 = $16; - } - } - } - return ($$05$lcssa|0); -} -function _fmt_o($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; - } else { - $$06 = $2;$11 = $1;$7 = $0; - while(1) { - $6 = $7&255; - $8 = $6 & 7; - $9 = $8 | 48; - $10 = ((($$06)) + -1|0); - HEAP8[$10>>0] = $9; - $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); - $13 = tempRet0; - $14 = ($12|0)==(0); - $15 = ($13|0)==(0); - $16 = $14 & $15; - if ($16) { - $$0$lcssa = $10; - break; - } else { - $$06 = $10;$11 = $13;$7 = $12; - } - } - } - return ($$0$lcssa|0); -} -function _fmt_u($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($1>>>0)>(0); - $4 = ($0>>>0)>(4294967295); - $5 = ($1|0)==(0); - $6 = $5 & $4; - $7 = $3 | $6; - if ($7) { - $$0914 = $2;$8 = $0;$9 = $1; - while(1) { - $10 = (___uremdi3(($8|0),($9|0),10,0)|0); - $11 = tempRet0; - $12 = $10&255; - $13 = $12 | 48; - $14 = ((($$0914)) + -1|0); - HEAP8[$14>>0] = $13; - $15 = (___udivdi3(($8|0),($9|0),10,0)|0); - $16 = tempRet0; - $17 = ($9>>>0)>(9); - $18 = ($8>>>0)>(4294967295); - $19 = ($9|0)==(9); - $20 = $19 & $18; - $21 = $17 | $20; - if ($21) { - $$0914 = $14;$8 = $15;$9 = $16; - } else { - break; - } - } - $$010$lcssa$off0 = $15;$$09$lcssa = $14; - } else { - $$010$lcssa$off0 = $0;$$09$lcssa = $2; - } - $22 = ($$010$lcssa$off0|0)==(0); - if ($22) { - $$1$lcssa = $$09$lcssa; - } else { - $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; - while(1) { - $23 = (($$012>>>0) % 10)&-1; - $24 = $23 | 48; - $25 = $24&255; - $26 = ((($$111)) + -1|0); - HEAP8[$26>>0] = $25; - $27 = (($$012>>>0) / 10)&-1; - $28 = ($$012>>>0)<(10); - if ($28) { - $$1$lcssa = $26; - break; - } else { - $$012 = $27;$$111 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _strerror($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___pthread_self_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|0); -} -function _memchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1 & 255; - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)!=(0); - $7 = ($2|0)!=(0); - $or$cond53 = $7 & $6; - L1: do { - if ($or$cond53) { - $8 = $1&255; - $$03555 = $0;$$03654 = $2; - while(1) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; - } - $11 = ((($$03555)) + 1|0); - $12 = (($$03654) + -1)|0; - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($12|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$03555 = $11;$$03654 = $12; - } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; - label = 6; - } else { - $$2 = $$035$lcssa;$$3 = 0; - } - } - L8: do { - if ((label|0) == 6) { - $17 = HEAP8[$$035$lcssa65>>0]|0; - $18 = $1&255; - $19 = ($17<<24>>24)==($18<<24>>24); - if ($19) { - $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; - } else { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; - while(1) { - $22 = HEAP32[$$046>>2]|0; - $23 = $22 ^ $20; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - break; - } - $29 = ((($$046)) + 4|0); - $30 = (($$13745) + -4)|0; - $31 = ($30>>>0)>(3); - if ($31) { - $$046 = $29;$$13745 = $30; - } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; - } - } - $$140 = $$046;$$23839 = $$13745; - } else { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; - } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; - } - } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; - } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; - } - } - } - } - } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); -} -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $5 = sp; - $6 = $4 & 73728; - $7 = ($6|0)==(0); - $8 = ($2|0)>($3|0); - $or$cond = $8 & $7; - if ($or$cond) { - $9 = (($2) - ($3))|0; - $10 = ($9>>>0)<(256); - $11 = $10 ? $9 : 256; - _memset(($5|0),($1|0),($11|0))|0; - $12 = ($9>>>0)>(255); - if ($12) { - $13 = (($2) - ($3))|0; - $$011 = $9; - while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; - } else { - break; - } - } - $16 = $13 & 255; - $$0$lcssa = $16; - } else { - $$0$lcssa = $9; - } - _out($0,$5,$$0$lcssa); - } - STACKTOP = sp;return; -} -function _wctomb($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = (_wcrtomb($0,$1,0)|0); - $$0 = $3; - } - return ($$0|0); -} -function _fmt_fp($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; - var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; - var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); - $6 = sp + 8|0; - $7 = sp; - $8 = sp + 524|0; - $9 = $8; - $10 = sp + 512|0; - HEAP32[$7>>2] = 0; - $11 = ((($10)) + 12|0); - (___DOUBLE_BITS_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 17062; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (17063) : (17068); - $$$ = $16 ? $$ : (17065); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (17093 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $85 = $84&255; - $86 = ((($$0523)) + 1|0); - HEAP8[$$0523>>0] = $85; - $87 = (+($80|0)); - $88 = $$2473 - $87; - $89 = $88 * 16.0; - $90 = $86; - $91 = (($90) - ($9))|0; - $92 = ($91|0)==(1); - if ($92) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$3501$lcssa; - $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; - } else { - $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; - } - $$7505 = $$7505$ph; - while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,17109,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,17109,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 17081 : 17085; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 19012 : 17089; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _frexpl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_frexp($0,$1)); - return (+$2); -} -function _frexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $5 = tempRet0; - $6 = $4&65535; - $trunc$clear = $6 & 2047; - switch ($trunc$clear<<16>>16) { - case 0: { - $7 = $0 != 0.0; - if ($7) { - $8 = $0 * 1.8446744073709552E+19; - $9 = (+_frexp($8,$1)); - $10 = HEAP32[$1>>2]|0; - $11 = (($10) + -64)|0; - $$016 = $9;$storemerge = $11; - } else { - $$016 = $0;$storemerge = 0; - } - HEAP32[$1>>2] = $storemerge; - $$0 = $$016; - break; - } - case 2047: { - $$0 = $0; - break; - } - default: { - $12 = $4 & 2047; - $13 = (($12) + -1022)|0; - HEAP32[$1>>2] = $13; - $14 = $3 & -2146435073; - $15 = $14 | 1071644672; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $16; - } - } - return (+$$0); -} -function _wcrtomb($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; - } else { - $4 = ($1>>>0)<(128); - if ($4) { - $5 = $1&255; - HEAP8[$0>>0] = $5; - $$0 = 1; - break; - } - $6 = (___pthread_self_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___strerror_l($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $$016 = 0; - while(1) { - $3 = (17111 + ($$016)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ($5|0)==($0|0); - if ($6) { - label = 2; - break; - } - $7 = (($$016) + 1)|0; - $8 = ($7|0)==(87); - if ($8) { - $$01214 = 17199;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 17199; - } else { - $$01214 = 17199;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; - while(1) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { - break; - } else { - $$113 = $11; - } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } - } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); -} -function ___lctrans($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); -} -function ___lctrans_impl($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $3 = HEAP32[$1>>2]|0; - $4 = ((($1)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (___mo_lookup($3,$5,$0)|0); - $$0 = $6; - } - $7 = ($$0|0)!=(0|0); - $8 = $7 ? $$0 : $0; - return ($8|0); -} -function ___mo_lookup($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = (($3) + 1794895138)|0; - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (_swapc($6,$4)|0); - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_swapc($9,$4)|0); - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_swapc($12,$4)|0); - $14 = $1 >>> 2; - $15 = ($7>>>0)<($14>>>0); - L1: do { - if ($15) { - $16 = $7 << 2; - $17 = (($1) - ($16))|0; - $18 = ($10>>>0)<($17>>>0); - $19 = ($13>>>0)<($17>>>0); - $or$cond = $18 & $19; - if ($or$cond) { - $20 = $13 | $10; - $21 = $20 & 3; - $22 = ($21|0)==(0); - if ($22) { - $23 = $10 >>> 2; - $24 = $13 >>> 2; - $$090 = 0;$$094 = $7; - while(1) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_swapc($30,$4)|0); - $32 = (($28) + 1)|0; - $33 = (($0) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (_swapc($34,$4)|0); - $36 = ($35>>>0)<($1>>>0); - $37 = (($1) - ($35))|0; - $38 = ($31>>>0)<($37>>>0); - $or$cond102 = $36 & $38; - if (!($or$cond102)) { - $$4 = 0; - break L1; - } - $39 = (($35) + ($31))|0; - $40 = (($0) + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==(0); - if (!($42)) { - $$4 = 0; - break L1; - } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { - break; - } - $62 = ($$094|0)==(1); - $63 = ($44|0)<(0); - $64 = (($$094) - ($25))|0; - $$195 = $63 ? $25 : $64; - $$191 = $63 ? $$090 : $26; - if ($62) { - $$4 = 0; - break L1; - } else { - $$090 = $$191;$$094 = $$195; - } - } - $46 = (($27) + ($24))|0; - $47 = (($0) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - $49 = (_swapc($48,$4)|0); - $50 = (($46) + 1)|0; - $51 = (($0) + ($50<<2)|0); - $52 = HEAP32[$51>>2]|0; - $53 = (_swapc($52,$4)|0); - $54 = ($53>>>0)<($1>>>0); - $55 = (($1) - ($53))|0; - $56 = ($49>>>0)<($55>>>0); - $or$cond104 = $54 & $56; - if ($or$cond104) { - $57 = (($0) + ($53)|0); - $58 = (($53) + ($49))|0; - $59 = (($0) + ($58)|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)==(0); - $$ = $61 ? $57 : 0; - $$4 = $$; - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } else { - $$4 = 0; - } - } while(0); - return ($$4|0); -} -function _swapc($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); -} -function ___fwritex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $7 = (___towrite($2)|0); - $8 = ($7|0)==(0); - if ($8) { - $$pre = HEAP32[$3>>2]|0; - $12 = $$pre; - label = 5; - } else { - $$1 = 0; - } - } else { - $6 = $4; - $12 = $6; - label = 5; - } - L5: do { - if ((label|0) == 5) { - $9 = ((($2)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($12) - ($10))|0; - $13 = ($11>>>0)<($1>>>0); - $14 = $10; - if ($13) { - $15 = ((($2)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); - $$1 = $17; - break; - } - $18 = ((($2)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = ($19<<24>>24)>(-1); - L10: do { - if ($20) { - $$038 = $1; - while(1) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; - } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { - break; - } else { - $$038 = $22; - } - } - $26 = ((($2)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); - $29 = ($28>>>0)<($$038>>>0); - if ($29) { - $$1 = $28; - break L5; - } - $30 = (($0) + ($$038)|0); - $$042 = (($1) - ($$038))|0; - $$pre47 = HEAP32[$9>>2]|0; - $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; - } else { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - } - } while(0); - _memcpy(($31|0),($$141|0),($$143|0))|0; - $32 = HEAP32[$9>>2]|0; - $33 = (($32) + ($$143)|0); - HEAP32[$9>>2] = $33; - $34 = (($$139) + ($$143))|0; - $$1 = $34; - } - } while(0); - return ($$1|0); -} -function ___towrite($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 74|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $4 = (($3) + 255)|0; - $5 = $4 | $3; - $6 = $5&255; - HEAP8[$1>>0] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = $7 & 8; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($0)) + 4|0); - HEAP32[$12>>2] = 0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 28|0); - HEAP32[$15>>2] = $14; - $16 = ((($0)) + 20|0); - HEAP32[$16>>2] = $14; - $17 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _sn_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - $8 = (($4) - ($7))|0; - $9 = ($8>>>0)>($2>>>0); - $$ = $9 ? $2 : $8; - _memcpy(($6|0),($1|0),($$|0))|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + ($$)|0); - HEAP32[$5>>2] = $11; - return ($2|0); -} -function ___floatscan($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($1|0) { - case 0: { - $$0105$ph = -149;$$0106$ph = 24; - label = 4; - break; - } - case 1: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - case 2: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - default: { - $$0114 = 0.0; - } - } - L4: do { - if ((label|0) == 4) { - $3 = ((($0)) + 4|0); - $4 = ((($0)) + 100|0); - while(1) { - $5 = HEAP32[$3>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = ($5>>>0)<($6>>>0); - if ($7) { - $8 = ((($5)) + 1|0); - HEAP32[$3>>2] = $8; - $9 = HEAP8[$5>>0]|0; - $10 = $9&255; - $12 = $10; - } else { - $11 = (___shgetc($0)|0); - $12 = $11; - } - $13 = (_isspace($12)|0); - $14 = ($13|0)==(0); - if ($14) { - break; - } - } - L13: do { - switch ($12|0) { - case 43: case 45: { - $15 = ($12|0)==(45); - $16 = $15&1; - $17 = $16 << 1; - $18 = (1 - ($17))|0; - $19 = HEAP32[$3>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ($19>>>0)<($20>>>0); - if ($21) { - $22 = ((($19)) + 1|0); - HEAP32[$3>>2] = $22; - $23 = HEAP8[$19>>0]|0; - $24 = $23&255; - $$0 = $24;$$0113 = $18; - break L13; - } else { - $25 = (___shgetc($0)|0); - $$0 = $25;$$0113 = $18; - break L13; - } - break; - } - default: { - $$0 = $12;$$0113 = 1; - } - } - } while(0); - $$0107127 = 0;$$1128 = $$0; - while(1) { - $26 = $$1128 | 32; - $27 = (19003 + ($$0107127)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($26|0)==($29|0); - if (!($30)) { - $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; - break; - } - $31 = ($$0107127>>>0)<(7); - do { - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP32[$4>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$3>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $$2 = $37; - break; - } else { - $38 = (___shgetc($0)|0); - $$2 = $38; - break; - } - } else { - $$2 = $$1128; - } - } while(0); - $39 = (($$0107127) + 1)|0; - $40 = ($39>>>0)<(8); - if ($40) { - $$0107127 = $39;$$1128 = $$2; - } else { - $$0107$lcssa = $39;$$1$lcssa = $$2; - break; - } - } - L29: do { - switch ($$0107$lcssa|0) { - case 8: { - break; - } - case 3: { - label = 23; - break; - } - default: { - $41 = ($$0107$lcssa>>>0)>(3); - $42 = ($2|0)!=(0); - $or$cond5 = $42 & $41; - if ($or$cond5) { - $43 = ($$0107$lcssa|0)==(8); - if ($43) { - break L29; - } else { - label = 23; - break L29; - } - } - $56 = ($$0107$lcssa|0)==(0); - L34: do { - if ($56) { - $$2109125 = 0;$$3126 = $$1$lcssa; - while(1) { - $57 = $$3126 | 32; - $58 = (19012 + ($$2109125)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - $61 = ($57|0)==($60|0); - if (!($61)) { - $$3110 = $$2109125;$$5 = $$3126; - break L34; - } - $62 = ($$2109125>>>0)<(2); - do { - if ($62) { - $63 = HEAP32[$3>>2]|0; - $64 = HEAP32[$4>>2]|0; - $65 = ($63>>>0)<($64>>>0); - if ($65) { - $66 = ((($63)) + 1|0); - HEAP32[$3>>2] = $66; - $67 = HEAP8[$63>>0]|0; - $68 = $67&255; - $$4 = $68; - break; - } else { - $69 = (___shgetc($0)|0); - $$4 = $69; - break; - } - } else { - $$4 = $$3126; - } - } while(0); - $70 = (($$2109125) + 1)|0; - $71 = ($70>>>0)<(3); - if ($71) { - $$2109125 = $70;$$3126 = $$4; - } else { - $$3110 = $70;$$5 = $$4; - break; - } - } - } else { - $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; - } - } while(0); - switch ($$3110|0) { - case 3: { - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = ($72>>>0)<($73>>>0); - if ($74) { - $75 = ((($72)) + 1|0); - HEAP32[$3>>2] = $75; - $76 = HEAP8[$72>>0]|0; - $77 = $76&255; - $80 = $77; - } else { - $78 = (___shgetc($0)|0); - $80 = $78; - } - $79 = ($80|0)==(40); - if ($79) { - $$4111 = 1; - } else { - $81 = HEAP32[$4>>2]|0; - $82 = ($81|0)==(0|0); - if ($82) { - $$0114 = nan; - break L4; - } - $83 = HEAP32[$3>>2]|0; - $84 = ((($83)) + -1|0); - HEAP32[$3>>2] = $84; - $$0114 = nan; - break L4; - } - while(1) { - $85 = HEAP32[$3>>2]|0; - $86 = HEAP32[$4>>2]|0; - $87 = ($85>>>0)<($86>>>0); - if ($87) { - $88 = ((($85)) + 1|0); - HEAP32[$3>>2] = $88; - $89 = HEAP8[$85>>0]|0; - $90 = $89&255; - $93 = $90; - } else { - $91 = (___shgetc($0)|0); - $93 = $91; - } - $92 = (($93) + -48)|0; - $94 = ($92>>>0)<(10); - $95 = (($93) + -65)|0; - $96 = ($95>>>0)<(26); - $or$cond = $94 | $96; - if (!($or$cond)) { - $97 = (($93) + -97)|0; - $98 = ($97>>>0)<(26); - $99 = ($93|0)==(95); - $or$cond7 = $99 | $98; - if (!($or$cond7)) { - break; - } - } - $111 = (($$4111) + 1)|0; - $$4111 = $111; - } - $100 = ($93|0)==(41); - if ($100) { - $$0114 = nan; - break L4; - } - $101 = HEAP32[$4>>2]|0; - $102 = ($101|0)==(0|0); - if (!($102)) { - $103 = HEAP32[$3>>2]|0; - $104 = ((($103)) + -1|0); - HEAP32[$3>>2] = $104; - } - if (!($42)) { - $106 = (___errno_location()|0); - HEAP32[$106>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - $105 = ($$4111|0)==(0); - if ($105) { - $$0114 = nan; - break L4; - } else { - $$in = $$4111; - } - while(1) { - $107 = (($$in) + -1)|0; - if (!($102)) { - $108 = HEAP32[$3>>2]|0; - $109 = ((($108)) + -1|0); - HEAP32[$3>>2] = $109; - } - $110 = ($107|0)==(0); - if ($110) { - $$0114 = nan; - break L4; - } else { - $$in = $107; - } - } - break; - } - case 0: { - $117 = ($$5|0)==(48); - if ($117) { - $118 = HEAP32[$3>>2]|0; - $119 = HEAP32[$4>>2]|0; - $120 = ($118>>>0)<($119>>>0); - if ($120) { - $121 = ((($118)) + 1|0); - HEAP32[$3>>2] = $121; - $122 = HEAP8[$118>>0]|0; - $123 = $122&255; - $126 = $123; - } else { - $124 = (___shgetc($0)|0); - $126 = $124; - } - $125 = $126 | 32; - $127 = ($125|0)==(120); - if ($127) { - $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $128; - break L4; - } - $129 = HEAP32[$4>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$6 = 48; - } else { - $131 = HEAP32[$3>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$3>>2] = $132; - $$6 = 48; - } - } else { - $$6 = $$5; - } - $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $133; - break L4; - break; - } - default: { - $112 = HEAP32[$4>>2]|0; - $113 = ($112|0)==(0|0); - if (!($113)) { - $114 = HEAP32[$3>>2]|0; - $115 = ((($114)) + -1|0); - HEAP32[$3>>2] = $115; - } - $116 = (___errno_location()|0); - HEAP32[$116>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - } - } - } - } while(0); - if ((label|0) == 23) { - $44 = HEAP32[$4>>2]|0; - $45 = ($44|0)==(0|0); - if (!($45)) { - $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + -1|0); - HEAP32[$3>>2] = $47; - } - $48 = ($2|0)!=(0); - $49 = ($$0107$lcssa>>>0)>(3); - $or$cond9 = $48 & $49; - if ($or$cond9) { - $$1108 = $$0107$lcssa; - while(1) { - if (!($45)) { - $50 = HEAP32[$3>>2]|0; - $51 = ((($50)) + -1|0); - HEAP32[$3>>2] = $51; - } - $52 = (($$1108) + -1)|0; - $$old8 = ($52>>>0)>(3); - if ($$old8) { - $$1108 = $52; - } else { - break; - } - } - } - } - $53 = (+($$0113|0)); - $54 = $53 * inf; - $55 = $54; - $$0114 = $55; - } - } while(0); - return (+$$0114); -} -function _hexfloat($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; - var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; - var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; - var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0; - var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; - var $or$cond6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 100|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)<($8>>>0); - if ($9) { - $10 = ((($6)) + 1|0); - HEAP32[$5>>2] = $10; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $$0 = $12;$$0142 = 0; - } else { - $13 = (___shgetc($0)|0); - $$0 = $13;$$0142 = 0; - } - L4: while(1) { - switch ($$0|0) { - case 46: { - label = 8; - break L4; - break; - } - case 48: { - break; - } - default: { - $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - break L4; - } - } - $14 = HEAP32[$5>>2]|0; - $15 = HEAP32[$7>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$5>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $$0 = $19;$$0142 = 1; - continue; - } else { - $20 = (___shgetc($0)|0); - $$0 = $20;$$0142 = 1; - continue; - } - } - if ((label|0) == 8) { - $21 = HEAP32[$5>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$5>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$1$ph = $26; - } else { - $27 = (___shgetc($0)|0); - $$1$ph = $27; - } - $28 = ($$1$ph|0)==(48); - if ($28) { - $36 = 0;$37 = 0; - while(1) { - $29 = HEAP32[$5>>2]|0; - $30 = HEAP32[$7>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$5>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $41 = $34; - } else { - $35 = (___shgetc($0)|0); - $41 = $35; - } - $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); - $39 = tempRet0; - $40 = ($41|0)==(48); - if ($40) { - $36 = $38;$37 = $39; - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; - break; - } - } - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - } - } - while(1) { - $42 = (($$2) + -48)|0; - $43 = ($42>>>0)<(10); - $44 = ($$2|0)==(46); - if (!($43)) { - $45 = $$2 | 32; - $46 = (($45) + -97)|0; - $47 = ($46>>>0)<(6); - $or$cond6 = $44 | $47; - if (!($or$cond6)) { - $$2$lcssa = $$2; - break; - } - } - if ($44) { - $48 = ($$0146|0)==(0); - if ($48) { - $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; - } else { - $$2$lcssa = 46; - break; - } - } else { - $49 = ($$2|0)>(57); - $50 = $$2 | 32; - $51 = (($50) + -87)|0; - $$0133 = $49 ? $51 : $42; - $52 = ($53|0)<(0); - $54 = ($55>>>0)<(8); - $56 = ($53|0)==(0); - $57 = $56 & $54; - $58 = $52 | $57; - do { - if ($58) { - $59 = $$0159 << 4; - $60 = (($$0133) + ($59))|0; - $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; - } else { - $61 = ($53|0)<(0); - $62 = ($55>>>0)<(14); - $63 = ($53|0)==(0); - $64 = $63 & $62; - $65 = $61 | $64; - if ($65) { - $66 = (+($$0133|0)); - $67 = $$0152 * 0.0625; - $68 = $67 * $66; - $69 = $$0155 + $68; - $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; - break; - } else { - $70 = ($$0133|0)==(0); - $71 = ($$0148|0)!=(0); - $or$cond = $71 | $70; - $72 = $$0152 * 0.5; - $73 = $$0155 + $72; - $$0155$ = $or$cond ? $$0155 : $73; - $$0148$ = $or$cond ? $$0148 : 1; - $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; - break; - } - } - } while(0); - $74 = (_i64Add(($55|0),($53|0),1,0)|0); - $75 = tempRet0; - $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; - } - $76 = HEAP32[$5>>2]|0; - $77 = HEAP32[$7>>2]|0; - $78 = ($76>>>0)<($77>>>0); - if ($78) { - $79 = ((($76)) + 1|0); - HEAP32[$5>>2] = $79; - $80 = HEAP8[$76>>0]|0; - $81 = $80&255; - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } else { - $82 = (___shgetc($0)|0); - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } - } - $83 = ($$2144|0)==(0); - do { - if ($83) { - $84 = HEAP32[$7>>2]|0; - $85 = ($84|0)!=(0|0); - if ($85) { - $86 = HEAP32[$5>>2]|0; - $87 = ((($86)) + -1|0); - HEAP32[$5>>2] = $87; - } - $88 = ($4|0)==(0); - if ($88) { - ___shlim($0,0); - } else { - if ($85) { - $89 = HEAP32[$5>>2]|0; - $90 = ((($89)) + -1|0); - HEAP32[$5>>2] = $90; - } - $91 = ($$0146|0)==(0); - $92 = ($84|0)==(0|0); - $or$cond206 = $91 | $92; - if (!($or$cond206)) { - $93 = HEAP32[$5>>2]|0; - $94 = ((($93)) + -1|0); - HEAP32[$5>>2] = $94; - } - } - $95 = (+($3|0)); - $96 = $95 * 0.0; - $$0165 = $96; - } else { - $97 = ($$0146|0)==(0); - $98 = $97 ? $55 : $99; - $100 = $97 ? $53 : $101; - $102 = ($53|0)<(0); - $103 = ($55>>>0)<(8); - $104 = ($53|0)==(0); - $105 = $104 & $103; - $106 = $102 | $105; - if ($106) { - $$3162183 = $$0159;$108 = $55;$109 = $53; - while(1) { - $107 = $$3162183 << 4; - $110 = (_i64Add(($108|0),($109|0),1,0)|0); - $111 = tempRet0; - $112 = ($111|0)<(0); - $113 = ($110>>>0)<(8); - $114 = ($111|0)==(0); - $115 = $114 & $113; - $116 = $112 | $115; - if ($116) { - $$3162183 = $107;$108 = $110;$109 = $111; - } else { - $$3162$lcssa = $107; - break; - } - } - } else { - $$3162$lcssa = $$0159; - } - $117 = $$2$lcssa | 32; - $118 = ($117|0)==(112); - if ($118) { - $119 = (_scanexp($0,$4)|0); - $120 = tempRet0; - $121 = ($119|0)==(0); - $122 = ($120|0)==(-2147483648); - $123 = $121 & $122; - if ($123) { - $124 = ($4|0)==(0); - if ($124) { - ___shlim($0,0); - $$0165 = 0.0; - break; - } - $125 = HEAP32[$7>>2]|0; - $126 = ($125|0)==(0|0); - if ($126) { - $137 = 0;$138 = 0; - } else { - $127 = HEAP32[$5>>2]|0; - $128 = ((($127)) + -1|0); - HEAP32[$5>>2] = $128; - $137 = 0;$138 = 0; - } - } else { - $137 = $119;$138 = $120; - } - } else { - $129 = HEAP32[$7>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $137 = 0;$138 = 0; - } else { - $131 = HEAP32[$5>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$5>>2] = $132; - $137 = 0;$138 = 0; - } - } - $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); - $134 = tempRet0; - $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); - $136 = tempRet0; - $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); - $140 = tempRet0; - $141 = ($$3162$lcssa|0)==(0); - if ($141) { - $142 = (+($3|0)); - $143 = $142 * 0.0; - $$0165 = $143; - break; - } - $144 = (0 - ($2))|0; - $145 = ($144|0)<(0); - $146 = $145 << 31 >> 31; - $147 = ($140|0)>($146|0); - $148 = ($139>>>0)>($144>>>0); - $149 = ($140|0)==($146|0); - $150 = $149 & $148; - $151 = $147 | $150; - if ($151) { - $152 = (___errno_location()|0); - HEAP32[$152>>2] = 34; - $153 = (+($3|0)); - $154 = $153 * 1.7976931348623157E+308; - $155 = $154 * 1.7976931348623157E+308; - $$0165 = $155; - break; - } - $156 = (($2) + -106)|0; - $157 = ($156|0)<(0); - $158 = $157 << 31 >> 31; - $159 = ($140|0)<($158|0); - $160 = ($139>>>0)<($156>>>0); - $161 = ($140|0)==($158|0); - $162 = $161 & $160; - $163 = $159 | $162; - if ($163) { - $165 = (___errno_location()|0); - HEAP32[$165>>2] = 34; - $166 = (+($3|0)); - $167 = $166 * 2.2250738585072014E-308; - $168 = $167 * 2.2250738585072014E-308; - $$0165 = $168; - break; - } - $164 = ($$3162$lcssa|0)>(-1); - if ($164) { - $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; - while(1) { - $169 = !($$3158179 >= 0.5); - $170 = $$4163178 << 1; - $171 = $$3158179 + -1.0; - $not$ = $169 ^ 1; - $172 = $not$&1; - $$5164 = $170 | $172; - $$pn = $169 ? $$3158179 : $171; - $$4 = $$3158179 + $$pn; - $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); - $176 = tempRet0; - $177 = ($$5164|0)>(-1); - if ($177) { - $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; - } else { - $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; - break; - } - } - } else { - $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; - } - $178 = ($1|0)<(0); - $179 = $178 << 31 >> 31; - $180 = ($2|0)<(0); - $181 = $180 << 31 >> 31; - $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); - $183 = tempRet0; - $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); - $187 = tempRet0; - $188 = ($179|0)>($187|0); - $189 = ($1>>>0)>($186>>>0); - $190 = ($179|0)==($187|0); - $191 = $190 & $189; - $192 = $188 | $191; - if ($192) { - $193 = ($186|0)>(0); - if ($193) { - $$0166 = $186; - label = 59; - } else { - $$0166170 = 0;$197 = 84; - label = 61; - } - } else { - $$0166 = $1; - label = 59; - } - if ((label|0) == 59) { - $194 = ($$0166|0)<(53); - $195 = (84 - ($$0166))|0; - if ($194) { - $$0166170 = $$0166;$197 = $195; - label = 61; - } else { - $$pre = (+($3|0)); - $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; - } - } - if ((label|0) == 61) { - $196 = (+($3|0)); - $198 = (+_scalbn(1.0,$197)); - $199 = (+_copysignl($198,$196)); - $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; - } - $200 = ($$0166169|0)<(32); - $201 = $$3158$lcssa != 0.0; - $or$cond4 = $201 & $200; - $202 = $$4163$lcssa & 1; - $203 = ($202|0)==(0); - $or$cond168 = $203 & $or$cond4; - $204 = $or$cond168&1; - $$6 = (($204) + ($$4163$lcssa))|0; - $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; - $205 = (+($$6>>>0)); - $206 = $$pre$phiZ2D * $205; - $207 = $$0151 + $206; - $208 = $$pre$phiZ2D * $$5; - $209 = $208 + $207; - $210 = $209 - $$0151; - $211 = $210 != 0.0; - if (!($211)) { - $212 = (___errno_location()|0); - HEAP32[$212>>2] = 34; - } - $213 = (+_scalbnl($210,$184)); - $$0165 = $213; - } - } while(0); - return (+$$0165); -} -function _decfloat($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; - var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; - var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; - var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; - var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; - var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; - var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); - $6 = sp; - $sum = (($3) + ($2))|0; - $7 = (0 - ($sum))|0; - $8 = ((($0)) + 4|0); - $9 = ((($0)) + 100|0); - $$0329 = $1;$$0396 = 0; - L1: while(1) { - switch ($$0329|0) { - case 46: { - label = 6; - break L1; - break; - } - case 48: { - break; - } - default: { - $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; - break L1; - } - } - $10 = HEAP32[$8>>2]|0; - $11 = HEAP32[$9>>2]|0; - $12 = ($10>>>0)<($11>>>0); - if ($12) { - $13 = ((($10)) + 1|0); - HEAP32[$8>>2] = $13; - $14 = HEAP8[$10>>0]|0; - $15 = $14&255; - $$0329 = $15;$$0396 = 1; - continue; - } else { - $16 = (___shgetc($0)|0); - $$0329 = $16;$$0396 = 1; - continue; - } - } - if ((label|0) == 6) { - $17 = HEAP32[$8>>2]|0; - $18 = HEAP32[$9>>2]|0; - $19 = ($17>>>0)<($18>>>0); - if ($19) { - $20 = ((($17)) + 1|0); - HEAP32[$8>>2] = $20; - $21 = HEAP8[$17>>0]|0; - $22 = $21&255; - $$1330$ph = $22; - } else { - $23 = (___shgetc($0)|0); - $$1330$ph = $23; - } - $24 = ($$1330$ph|0)==(48); - if ($24) { - $25 = 0;$26 = 0; - while(1) { - $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); - $28 = tempRet0; - $29 = HEAP32[$8>>2]|0; - $30 = HEAP32[$9>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$8>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $$1330$be = $34; - } else { - $35 = (___shgetc($0)|0); - $$1330$be = $35; - } - $36 = ($$1330$be|0)==(48); - if ($36) { - $25 = $27;$26 = $28; - } else { - $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; - break; - } - } - } else { - $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; - } - } - HEAP32[$6>>2] = 0; - $37 = (($$2) + -48)|0; - $38 = ($37>>>0)<(10); - $39 = ($$2|0)==(46); - $40 = $39 | $38; - L20: do { - if ($40) { - $41 = ((($6)) + 496|0); - $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; - L22: while(1) { - do { - if ($368) { - $cond = ($$1394511|0)==(0); - if ($cond) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; - } else { - break L22; - } - } else { - $43 = ($$0345512|0)<(125); - $46 = (_i64Add(($44|0),($45|0),1,0)|0); - $47 = tempRet0; - $48 = ($$3514|0)!=(48); - if (!($43)) { - if (!($48)) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $57 = HEAP32[$41>>2]|0; - $58 = $57 | 1; - HEAP32[$41>>2] = $58; - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $$$0401 = $48 ? $46 : $$0401509; - $49 = ($$0341513|0)==(0); - $$pre = (($6) + ($$0345512<<2)|0); - if ($49) { - $$sink = $369; - } else { - $50 = HEAP32[$$pre>>2]|0; - $51 = ($50*10)|0; - $52 = (($$3514) + -48)|0; - $53 = (($52) + ($51))|0; - $$sink = $53; - } - HEAP32[$$pre>>2] = $$sink; - $54 = (($$0341513) + 1)|0; - $55 = ($54|0)==(9); - $56 = $55&1; - $$$0345 = (($56) + ($$0345512))|0; - $$413 = $55 ? 0 : $54; - $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - } - } while(0); - $59 = HEAP32[$8>>2]|0; - $60 = HEAP32[$9>>2]|0; - $61 = ($59>>>0)<($60>>>0); - if ($61) { - $62 = ((($59)) + 1|0); - HEAP32[$8>>2] = $62; - $63 = HEAP8[$59>>0]|0; - $64 = $63&255; - $$3$be = $64; - } else { - $65 = (___shgetc($0)|0); - $$3$be = $65; - } - $66 = (($$3$be) + -48)|0; - $67 = ($66>>>0)<(10); - $68 = ($$3$be|0)==(46); - $69 = $68 | $67; - if ($69) { - $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; - } else { - $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; - label = 29; - break L20; - } - } - $42 = ($$3399510|0)!=(0); - $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; - label = 37; - } else { - $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; - label = 29; - } - } while(0); - do { - if ((label|0) == 29) { - $70 = ($$1394$lcssa|0)==(0); - $71 = $70 ? $73 : $72; - $74 = $70 ? $76 : $75; - $77 = ($$3399$lcssa|0)!=(0); - $78 = $$3$lcssa | 32; - $79 = ($78|0)==(101); - $or$cond415 = $77 & $79; - if (!($or$cond415)) { - $94 = ($$3$lcssa|0)>(-1); - if ($94) { - $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; - label = 37; - break; - } else { - $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; - label = 39; - break; - } - } - $80 = (_scanexp($0,$5)|0); - $81 = tempRet0; - $82 = ($80|0)==(0); - $83 = ($81|0)==(-2147483648); - $84 = $82 & $83; - if ($84) { - $85 = ($5|0)==(0); - if ($85) { - ___shlim($0,0); - $$1 = 0.0; - break; - } - $86 = HEAP32[$9>>2]|0; - $87 = ($86|0)==(0|0); - if ($87) { - $90 = 0;$91 = 0; - } else { - $88 = HEAP32[$8>>2]|0; - $89 = ((($88)) + -1|0); - HEAP32[$8>>2] = $89; - $90 = 0;$91 = 0; - } - } else { - $90 = $80;$91 = $81; - } - $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); - $93 = tempRet0; - $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; - label = 41; - } - } while(0); - if ((label|0) == 37) { - $95 = HEAP32[$9>>2]|0; - $96 = ($95|0)==(0|0); - if ($96) { - $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; - label = 39; - } else { - $97 = HEAP32[$8>>2]|0; - $98 = ((($97)) + -1|0); - HEAP32[$8>>2] = $98; - if ($380) { - $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; - label = 41; - } else { - label = 40; - } - } - } - if ((label|0) == 39) { - if ($383) { - $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; - label = 41; - } else { - label = 40; - } - } - do { - if ((label|0) == 40) { - $99 = (___errno_location()|0); - HEAP32[$99>>2] = 22; - ___shlim($0,0); - $$1 = 0.0; - } - else if ((label|0) == 41) { - $100 = HEAP32[$6>>2]|0; - $101 = ($100|0)==(0); - if ($101) { - $102 = (+($4|0)); - $103 = $102 * 0.0; - $$1 = $103; - break; - } - $104 = ($105|0)==($106|0); - $107 = ($108|0)==($109|0); - $110 = $104 & $107; - $111 = ($109|0)<(0); - $112 = ($106>>>0)<(10); - $113 = ($109|0)==(0); - $114 = $113 & $112; - $115 = $111 | $114; - $or$cond = $115 & $110; - if ($or$cond) { - $116 = ($2|0)>(30); - $117 = $100 >>> $2; - $118 = ($117|0)==(0); - $or$cond417 = $116 | $118; - if ($or$cond417) { - $119 = (+($4|0)); - $120 = (+($100>>>0)); - $121 = $119 * $120; - $$1 = $121; - break; - } - } - $122 = (($3|0) / -2)&-1; - $123 = ($122|0)<(0); - $124 = $123 << 31 >> 31; - $125 = ($108|0)>($124|0); - $126 = ($105>>>0)>($122>>>0); - $127 = ($108|0)==($124|0); - $128 = $127 & $126; - $129 = $125 | $128; - if ($129) { - $130 = (___errno_location()|0); - HEAP32[$130>>2] = 34; - $131 = (+($4|0)); - $132 = $131 * 1.7976931348623157E+308; - $133 = $132 * 1.7976931348623157E+308; - $$1 = $133; - break; - } - $134 = (($3) + -106)|0; - $135 = ($134|0)<(0); - $136 = $135 << 31 >> 31; - $137 = ($108|0)<($136|0); - $138 = ($105>>>0)<($134>>>0); - $139 = ($108|0)==($136|0); - $140 = $139 & $138; - $141 = $137 | $140; - if ($141) { - $142 = (___errno_location()|0); - HEAP32[$142>>2] = 34; - $143 = (+($4|0)); - $144 = $143 * 2.2250738585072014E-308; - $145 = $144 * 2.2250738585072014E-308; - $$1 = $145; - break; - } - $146 = ($$0341463|0)==(0); - if ($146) { - $$3348 = $$0345467; - } else { - $147 = ($$0341463|0)<(9); - if ($147) { - $148 = (($6) + ($$0345467<<2)|0); - $$promoted = HEAP32[$148>>2]|0; - $$3344503 = $$0341463;$150 = $$promoted; - while(1) { - $149 = ($150*10)|0; - $151 = (($$3344503) + 1)|0; - $exitcond551 = ($151|0)==(9); - if ($exitcond551) { - break; - } else { - $$3344503 = $151;$150 = $149; - } - } - HEAP32[$148>>2] = $149; - } - $152 = (($$0345467) + 1)|0; - $$3348 = $152; - } - $153 = ($$0401473|0)<(9); - if ($153) { - $154 = ($$0401473|0)<=($105|0); - $155 = ($105|0)<(18); - $or$cond5 = $154 & $155; - if ($or$cond5) { - $156 = ($105|0)==(9); - $157 = HEAP32[$6>>2]|0; - if ($156) { - $158 = (+($4|0)); - $159 = (+($157>>>0)); - $160 = $158 * $159; - $$1 = $160; - break; - } - $161 = ($105|0)<(9); - if ($161) { - $162 = (+($4|0)); - $163 = (+($157>>>0)); - $164 = $162 * $163; - $165 = (8 - ($105))|0; - $166 = (4336 + ($165<<2)|0); - $167 = HEAP32[$166>>2]|0; - $168 = (+($167|0)); - $169 = $164 / $168; - $$1 = $169; - break; - } - $$neg442 = Math_imul($105, -3)|0; - $$neg443 = (($2) + 27)|0; - $170 = (($$neg443) + ($$neg442))|0; - $171 = ($170|0)>(30); - $172 = $157 >>> $170; - $173 = ($172|0)==(0); - $or$cond419 = $171 | $173; - if ($or$cond419) { - $174 = (($105) + -10)|0; - $175 = (4336 + ($174<<2)|0); - $176 = (+($4|0)); - $177 = (+($157>>>0)); - $178 = $176 * $177; - $179 = HEAP32[$175>>2]|0; - $180 = (+($179|0)); - $181 = $178 * $180; - $$1 = $181; - break; - } - } - } - $182 = (($105|0) % 9)&-1; - $183 = ($182|0)==(0); - if ($183) { - $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; - } else { - $184 = ($105|0)>(-1); - $185 = (($182) + 9)|0; - $186 = $184 ? $182 : $185; - $187 = (8 - ($186))|0; - $188 = (4336 + ($187<<2)|0); - $189 = HEAP32[$188>>2]|0; - $190 = ($$3348|0)==(0); - if ($190) { - $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; - } else { - $191 = (1000000000 / ($189|0))&-1; - $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; - while(1) { - $192 = (($6) + ($$4349495<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193>>>0) % ($189>>>0))&-1; - $195 = (($193>>>0) / ($189>>>0))&-1; - $196 = (($195) + ($$0340496))|0; - HEAP32[$192>>2] = $196; - $197 = Math_imul($191, $194)|0; - $198 = ($$4349495|0)==($$0350494|0); - $199 = ($196|0)==(0); - $or$cond420 = $198 & $199; - $200 = (($$0350494) + 1)|0; - $201 = $200 & 127; - $202 = (($$0385493) + -9)|0; - $$$0385 = $or$cond420 ? $202 : $$0385493; - $$$0350 = $or$cond420 ? $201 : $$0350494; - $203 = (($$4349495) + 1)|0; - $204 = ($203|0)==($$3348|0); - if ($204) { - break; - } else { - $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; - } - } - $205 = ($197|0)==(0); - if ($205) { - $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; - } else { - $206 = (($6) + ($$3348<<2)|0); - $207 = (($$3348) + 1)|0; - HEAP32[$206>>2] = $197; - $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; - } - } - $208 = (9 - ($186))|0; - $209 = (($208) + ($$0385$lcssa553))|0; - $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; - } - L101: while(1) { - $210 = ($$2387$ph447|0)<(18); - $211 = ($$2387$ph447|0)==(18); - $212 = (($6) + ($$2352$ph449<<2)|0); - $$0380 = $$0380$ph;$$1373 = $$1373$ph448; - while(1) { - if (!($210)) { - if (!($211)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; - break L101; - } - $213 = HEAP32[$212>>2]|0; - $214 = ($213>>>0)<(9007199); - if (!($214)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; - break L101; - } - } - $215 = (($$1373) + 127)|0; - $$0334 = 0;$$2374 = $$1373;$$5$in = $215; - while(1) { - $$5 = $$5$in & 127; - $216 = (($6) + ($$5<<2)|0); - $217 = HEAP32[$216>>2]|0; - $218 = (_bitshift64Shl(($217|0),0,29)|0); - $219 = tempRet0; - $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); - $221 = tempRet0; - $222 = ($221>>>0)>(0); - $223 = ($220>>>0)>(1000000000); - $224 = ($221|0)==(0); - $225 = $224 & $223; - $226 = $222 | $225; - if ($226) { - $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); - $228 = tempRet0; - $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); - $230 = tempRet0; - $$1335 = $227;$$sink421$off0 = $229; - } else { - $$1335 = 0;$$sink421$off0 = $220; - } - HEAP32[$216>>2] = $$sink421$off0; - $231 = (($$2374) + 127)|0; - $232 = $231 & 127; - $233 = ($$5|0)!=($232|0); - $234 = ($$5|0)==($$2352$ph449|0); - $or$cond422 = $233 | $234; - $or$cond422$not = $or$cond422 ^ 1; - $235 = ($$sink421$off0|0)==(0); - $or$cond423 = $235 & $or$cond422$not; - $$3375 = $or$cond423 ? $$5 : $$2374; - $236 = (($$5) + -1)|0; - if ($234) { - break; - } else { - $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; - } - } - $237 = (($$0380) + -29)|0; - $238 = ($$1335|0)==(0); - if ($238) { - $$0380 = $237;$$1373 = $$3375; - } else { - break; - } - } - $239 = (($$2387$ph447) + 9)|0; - $240 = (($$2352$ph449) + 127)|0; - $241 = $240 & 127; - $242 = ($241|0)==($$3375|0); - $243 = (($$3375) + 127)|0; - $244 = $243 & 127; - $245 = (($$3375) + 126)|0; - $246 = $245 & 127; - $247 = (($6) + ($246<<2)|0); - if ($242) { - $248 = (($6) + ($244<<2)|0); - $249 = HEAP32[$248>>2]|0; - $250 = HEAP32[$247>>2]|0; - $251 = $250 | $249; - HEAP32[$247>>2] = $251; - $$4376 = $244; - } else { - $$4376 = $$3375; - } - $252 = (($6) + ($241<<2)|0); - HEAP32[$252>>2] = $$1335; - $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; - } - L119: while(1) { - $289 = (($$6378$ph) + 1)|0; - $287 = $289 & 127; - $290 = (($$6378$ph) + 127)|0; - $291 = $290 & 127; - $292 = (($6) + ($291<<2)|0); - $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; - while(1) { - $265 = ($$4389$ph|0)==(18); - $293 = ($$4389$ph|0)>(27); - $$425 = $293 ? 9 : 1; - $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; - while(1) { - $$0336486 = 0; - while(1) { - $253 = (($$0336486) + ($$4354))|0; - $254 = $253 & 127; - $255 = ($254|0)==($$6378$ph|0); - if ($255) { - $$1337 = 2; - label = 88; - break; - } - $256 = (($6) + ($254<<2)|0); - $257 = HEAP32[$256>>2]|0; - $258 = (4368 + ($$0336486<<2)|0); - $259 = HEAP32[$258>>2]|0; - $260 = ($257>>>0)<($259>>>0); - if ($260) { - $$1337 = 2; - label = 88; - break; - } - $261 = ($257>>>0)>($259>>>0); - if ($261) { - break; - } - $262 = (($$0336486) + 1)|0; - $263 = ($262|0)<(2); - if ($263) { - $$0336486 = $262; - } else { - $$1337 = $262; - label = 88; - break; - } - } - if ((label|0) == 88) { - label = 0; - $264 = ($$1337|0)==(2); - $or$cond11 = $265 & $264; - if ($or$cond11) { - $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; - break L119; - } - } - $266 = (($$425) + ($$1381))|0; - $267 = ($$4354|0)==($$6378$ph|0); - if ($267) { - $$1381 = $266;$$4354 = $$6378$ph; - } else { - break; - } - } - $268 = 1 << $$425; - $269 = (($268) + -1)|0; - $270 = 1000000000 >>> $$425; - $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; - while(1) { - $271 = (($6) + ($$6489<<2)|0); - $272 = HEAP32[$271>>2]|0; - $273 = $272 & $269; - $274 = $272 >>> $$425; - $275 = (($274) + ($$0332490))|0; - HEAP32[$271>>2] = $275; - $276 = Math_imul($273, $270)|0; - $277 = ($$6489|0)==($$5355488|0); - $278 = ($275|0)==(0); - $or$cond426 = $277 & $278; - $279 = (($$5355488) + 1)|0; - $280 = $279 & 127; - $281 = (($$5390487) + -9)|0; - $$$5390 = $or$cond426 ? $281 : $$5390487; - $$$5355 = $or$cond426 ? $280 : $$5355488; - $282 = (($$6489) + 1)|0; - $283 = $282 & 127; - $284 = ($283|0)==($$6378$ph|0); - if ($284) { - break; - } else { - $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; - } - } - $285 = ($276|0)==(0); - if ($285) { - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - continue; - } - $286 = ($287|0)==($$$5355|0); - if (!($286)) { - break; - } - $294 = HEAP32[$292>>2]|0; - $295 = $294 | 1; - HEAP32[$292>>2] = $295; - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - } - $288 = (($6) + ($$6378$ph<<2)|0); - HEAP32[$288>>2] = $276; - $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; - } - while(1) { - $296 = (($$4485) + ($$4354))|0; - $297 = $296 & 127; - $298 = ($297|0)==($$9483|0); - $299 = (($$9483) + 1)|0; - $300 = $299 & 127; - if ($298) { - $301 = (($300) + -1)|0; - $302 = (($6) + ($301<<2)|0); - HEAP32[$302>>2] = 0; - $$10 = $300; - } else { - $$10 = $$9483; - } - $303 = $$0365484 * 1.0E+9; - $304 = (($6) + ($297<<2)|0); - $305 = HEAP32[$304>>2]|0; - $306 = (+($305>>>0)); - $307 = $303 + $306; - $308 = (($$4485) + 1)|0; - $exitcond = ($308|0)==(2); - if ($exitcond) { - break; - } else { - $$0365484 = $307;$$4485 = $308;$$9483 = $$10; - } - } - $309 = (+($4|0)); - $310 = $309 * $307; - $311 = (($$1381) + 53)|0; - $312 = (($311) - ($3))|0; - $313 = ($312|0)<($2|0); - $314 = ($312|0)>(0); - $$ = $314 ? $312 : 0; - $$0333 = $313 ? $$ : $2; - $315 = ($$0333|0)<(53); - if ($315) { - $316 = (105 - ($$0333))|0; - $317 = (+_scalbn(1.0,$316)); - $318 = (+_copysignl($317,$310)); - $319 = (53 - ($$0333))|0; - $320 = (+_scalbn(1.0,$319)); - $321 = (+_fmodl($310,$320)); - $322 = $310 - $321; - $323 = $318 + $322; - $$0360 = $318;$$0361 = $321;$$1366 = $323; - } else { - $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; - } - $324 = (($$4354) + 2)|0; - $325 = $324 & 127; - $326 = ($325|0)==($$10|0); - if ($326) { - $$3364 = $$0361; - } else { - $327 = (($6) + ($325<<2)|0); - $328 = HEAP32[$327>>2]|0; - $329 = ($328>>>0)<(500000000); - do { - if ($329) { - $330 = ($328|0)==(0); - if ($330) { - $331 = (($$4354) + 3)|0; - $332 = $331 & 127; - $333 = ($332|0)==($$10|0); - if ($333) { - $$1362 = $$0361; - break; - } - } - $334 = $309 * 0.25; - $335 = $334 + $$0361; - $$1362 = $335; - } else { - $336 = ($328|0)==(500000000); - if (!($336)) { - $337 = $309 * 0.75; - $338 = $337 + $$0361; - $$1362 = $338; - break; - } - $339 = (($$4354) + 3)|0; - $340 = $339 & 127; - $341 = ($340|0)==($$10|0); - if ($341) { - $342 = $309 * 0.5; - $343 = $342 + $$0361; - $$1362 = $343; - break; - } else { - $344 = $309 * 0.75; - $345 = $344 + $$0361; - $$1362 = $345; - break; - } - } - } while(0); - $346 = (53 - ($$0333))|0; - $347 = ($346|0)>(1); - if ($347) { - $348 = (+_fmodl($$1362,1.0)); - $349 = $348 != 0.0; - if ($349) { - $$3364 = $$1362; - } else { - $350 = $$1362 + 1.0; - $$3364 = $350; - } - } else { - $$3364 = $$1362; - } - } - $351 = $$1366 + $$3364; - $352 = $351 - $$0360; - $353 = $311 & 2147483647; - $354 = (-2 - ($sum))|0; - $355 = ($353|0)>($354|0); - do { - if ($355) { - $356 = (+Math_abs((+$352))); - $357 = !($356 >= 9007199254740992.0); - $358 = $352 * 0.5; - $not$ = $357 ^ 1; - $359 = $not$&1; - $$3383 = (($359) + ($$1381))|0; - $$2367 = $357 ? $352 : $358; - $360 = (($$3383) + 50)|0; - $361 = ($360|0)>($7|0); - if (!($361)) { - $362 = ($$0333|0)!=($312|0); - $narrow = $362 | $357; - $$2371$v = $313 & $narrow; - $363 = $$3364 != 0.0; - $or$cond14 = $363 & $$2371$v; - if (!($or$cond14)) { - $$3368 = $$2367;$$4384 = $$3383; - break; - } - } - $364 = (___errno_location()|0); - HEAP32[$364>>2] = 34; - $$3368 = $$2367;$$4384 = $$3383; - } else { - $$3368 = $352;$$4384 = $$1381; - } - } while(0); - $365 = (+_scalbnl($$3368,$$4384)); - $$1 = $365; - } - } while(0); - STACKTOP = sp;return (+$$1); -} -function _scanexp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($0)) + 100|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - $7 = ((($3)) + 1|0); - HEAP32[$2>>2] = $7; - $8 = HEAP8[$3>>0]|0; - $9 = $8&255; - $11 = $9; - } else { - $10 = (___shgetc($0)|0); - $11 = $10; - } - switch ($11|0) { - case 43: case 45: { - $12 = ($11|0)==(45); - $13 = $12&1; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$4>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$2>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $22 = $19; - } else { - $20 = (___shgetc($0)|0); - $22 = $20; - } - $21 = (($22) + -48)|0; - $23 = ($21>>>0)>(9); - $24 = ($1|0)!=(0); - $or$cond3 = $24 & $23; - if ($or$cond3) { - $25 = HEAP32[$4>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - $$0 = $13;$$049 = $22; - } else { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + -1|0); - HEAP32[$2>>2] = $28; - $$0 = $13;$$049 = $22; - } - } else { - $$0 = $13;$$049 = $22; - } - break; - } - default: { - $$0 = 0;$$049 = $11; - } - } - $29 = (($$049) + -48)|0; - $30 = ($29>>>0)>(9); - if ($30) { - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)==(0|0); - if ($32) { - $100 = -2147483648;$101 = 0; - } else { - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + -1|0); - HEAP32[$2>>2] = $34; - $100 = -2147483648;$101 = 0; - } - } else { - $$04861 = 0;$$160 = $$049; - while(1) { - $35 = ($$04861*10)|0; - $36 = (($$160) + -48)|0; - $37 = (($36) + ($35))|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$4>>2]|0; - $40 = ($38>>>0)<($39>>>0); - if ($40) { - $41 = ((($38)) + 1|0); - HEAP32[$2>>2] = $41; - $42 = HEAP8[$38>>0]|0; - $43 = $42&255; - $$1$be = $43; - } else { - $44 = (___shgetc($0)|0); - $$1$be = $44; - } - $45 = (($$1$be) + -48)|0; - $46 = ($45>>>0)<(10); - $47 = ($37|0)<(214748364); - $48 = $46 & $47; - if ($48) { - $$04861 = $37;$$160 = $$1$be; - } else { - break; - } - } - $49 = ($37|0)<(0); - $50 = $49 << 31 >> 31; - $51 = (($$1$be) + -48)|0; - $52 = ($51>>>0)<(10); - if ($52) { - $$254 = $$1$be;$56 = $37;$57 = $50; - while(1) { - $58 = (___muldi3(($56|0),($57|0),10,0)|0); - $59 = tempRet0; - $60 = ($$254|0)<(0); - $61 = $60 << 31 >> 31; - $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); - $63 = tempRet0; - $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); - $65 = tempRet0; - $66 = HEAP32[$2>>2]|0; - $67 = HEAP32[$4>>2]|0; - $68 = ($66>>>0)<($67>>>0); - if ($68) { - $69 = ((($66)) + 1|0); - HEAP32[$2>>2] = $69; - $70 = HEAP8[$66>>0]|0; - $71 = $70&255; - $$2$be = $71; - } else { - $72 = (___shgetc($0)|0); - $$2$be = $72; - } - $73 = (($$2$be) + -48)|0; - $74 = ($73>>>0)<(10); - $75 = ($65|0)<(21474836); - $76 = ($64>>>0)<(2061584302); - $77 = ($65|0)==(21474836); - $78 = $77 & $76; - $79 = $75 | $78; - $80 = $74 & $79; - if ($80) { - $$254 = $$2$be;$56 = $64;$57 = $65; - } else { - $$2$lcssa = $$2$be;$94 = $64;$95 = $65; - break; - } - } - } else { - $$2$lcssa = $$1$be;$94 = $37;$95 = $50; - } - $53 = (($$2$lcssa) + -48)|0; - $54 = ($53>>>0)<(10); - $55 = HEAP32[$4>>2]|0; - if ($54) { - $83 = $55; - while(1) { - $81 = HEAP32[$2>>2]|0; - $82 = ($81>>>0)<($83>>>0); - if ($82) { - $84 = ((($81)) + 1|0); - HEAP32[$2>>2] = $84; - $85 = HEAP8[$81>>0]|0; - $86 = $85&255; - $$3$be = $86;$102 = $83; - } else { - $87 = (___shgetc($0)|0); - $$pre = HEAP32[$4>>2]|0; - $$3$be = $87;$102 = $$pre; - } - $88 = (($$3$be) + -48)|0; - $89 = ($88>>>0)<(10); - if ($89) { - $83 = $102; - } else { - $$lcssa = $102; - break; - } - } - } else { - $$lcssa = $55; - } - $90 = ($$lcssa|0)==(0|0); - if (!($90)) { - $91 = HEAP32[$2>>2]|0; - $92 = ((($91)) + -1|0); - HEAP32[$2>>2] = $92; - } - $93 = ($$0|0)!=(0); - $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); - $97 = tempRet0; - $98 = $93 ? $96 : $94; - $99 = $93 ? $97 : $95; - $100 = $99;$101 = $98; - } - tempRet0 = ($100); - return ($101|0); -} -function _scalbn($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; - var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)>(1023); - if ($2) { - $3 = $0 * 8.9884656743115795E+307; - $4 = (($1) + -1023)|0; - $5 = ($4|0)>(1023); - $6 = $3 * 8.9884656743115795E+307; - $7 = (($1) + -2046)|0; - $8 = ($7|0)<(1023); - $$ = $8 ? $7 : 1023; - $$$ = $5 ? $$ : $4; - $$21 = $5 ? $6 : $3; - $$0 = $$21;$$020 = $$$; - } else { - $9 = ($1|0)<(-1022); - if ($9) { - $10 = $0 * 2.2250738585072014E-308; - $11 = (($1) + 1022)|0; - $12 = ($11|0)<(-1022); - $13 = $10 * 2.2250738585072014E-308; - $14 = (($1) + 2044)|0; - $15 = ($14|0)>(-1022); - $$1 = $15 ? $14 : -1022; - $$1$ = $12 ? $$1 : $11; - $$22 = $12 ? $13 : $10; - $$0 = $$22;$$020 = $$1$; - } else { - $$0 = $0;$$020 = $1; - } - } - $16 = (($$020) + 1023)|0; - $17 = (_bitshift64Shl(($16|0),0,52)|0); - $18 = tempRet0; - HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; - $20 = $$0 * $19; - return (+$20); -} -function _copysignl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_copysign($0,$1)); - return (+$2); -} -function _fmodl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_fmod($0,$1)); - return (+$2); -} -function _scalbnl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function _fmod($0,$1) { - $0 = +$0; - $1 = +$1; - var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $7 = tempRet0; - $8 = $6 & 2047; - $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); - $10 = tempRet0; - $11 = $9 & 2047; - $12 = $3 & -2147483648; - $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); - $14 = tempRet0; - $15 = ($13|0)==(0); - $16 = ($14|0)==(0); - $17 = $15 & $16; - L1: do { - if ($17) { - label = 3; - } else { - $18 = (___DOUBLE_BITS_272($1)|0); - $19 = tempRet0; - $20 = $19 & 2147483647; - $21 = ($20>>>0)>(2146435072); - $22 = ($18>>>0)>(0); - $23 = ($20|0)==(2146435072); - $24 = $23 & $22; - $25 = $21 | $24; - $26 = ($8|0)==(2047); - $or$cond = $26 | $25; - if ($or$cond) { - label = 3; - } else { - $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); - $30 = tempRet0; - $31 = ($30>>>0)>($14>>>0); - $32 = ($29>>>0)>($13>>>0); - $33 = ($30|0)==($14|0); - $34 = $33 & $32; - $35 = $31 | $34; - if (!($35)) { - $36 = ($29|0)==($13|0); - $37 = ($30|0)==($14|0); - $38 = $36 & $37; - $39 = $0 * 0.0; - $$ = $38 ? $39 : $0; - return (+$$); - } - $40 = ($8|0)==(0); - if ($40) { - $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); - $42 = tempRet0; - $43 = ($42|0)>(-1); - $44 = ($41>>>0)>(4294967295); - $45 = ($42|0)==(-1); - $46 = $45 & $44; - $47 = $43 | $46; - if ($47) { - $$073100 = 0;$49 = $41;$50 = $42; - while(1) { - $48 = (($$073100) + -1)|0; - $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); - $52 = tempRet0; - $53 = ($52|0)>(-1); - $54 = ($51>>>0)>(4294967295); - $55 = ($52|0)==(-1); - $56 = $55 & $54; - $57 = $53 | $56; - if ($57) { - $$073100 = $48;$49 = $51;$50 = $52; - } else { - $$073$lcssa = $48; - break; - } - } - } else { - $$073$lcssa = 0; - } - $58 = (1 - ($$073$lcssa))|0; - $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); - $60 = tempRet0; - $$174 = $$073$lcssa;$87 = $59;$88 = $60; - } else { - $61 = $3 & 1048575; - $62 = $61 | 1048576; - $$174 = $8;$87 = $2;$88 = $62; - } - $63 = ($11|0)==(0); - if ($63) { - $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); - $65 = tempRet0; - $66 = ($65|0)>(-1); - $67 = ($64>>>0)>(4294967295); - $68 = ($65|0)==(-1); - $69 = $68 & $67; - $70 = $66 | $69; - if ($70) { - $$07194 = 0;$72 = $64;$73 = $65; - while(1) { - $71 = (($$07194) + -1)|0; - $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); - $75 = tempRet0; - $76 = ($75|0)>(-1); - $77 = ($74>>>0)>(4294967295); - $78 = ($75|0)==(-1); - $79 = $78 & $77; - $80 = $76 | $79; - if ($80) { - $$07194 = $71;$72 = $74;$73 = $75; - } else { - $$071$lcssa = $71; - break; - } - } - } else { - $$071$lcssa = 0; - } - $81 = (1 - ($$071$lcssa))|0; - $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); - $83 = tempRet0; - $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; - } else { - $84 = $5 & 1048575; - $85 = $84 | 1048576; - $$172$ph = $11;$89 = $4;$90 = $85; - } - $86 = ($$174|0)>($$172$ph|0); - $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); - $92 = tempRet0; - $93 = ($92|0)>(-1); - $94 = ($91>>>0)>(4294967295); - $95 = ($92|0)==(-1); - $96 = $95 & $94; - $97 = $93 | $96; - L23: do { - if ($86) { - $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; - while(1) { - if ($156) { - $98 = ($99|0)==(0); - $100 = ($101|0)==(0); - $102 = $98 & $100; - if ($102) { - break; - } else { - $104 = $99;$105 = $101; - } - } else { - $104 = $157;$105 = $158; - } - $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); - $107 = tempRet0; - $108 = (($$27586) + -1)|0; - $109 = ($108|0)>($$172$ph|0); - $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); - $111 = tempRet0; - $112 = ($111|0)>(-1); - $113 = ($110>>>0)>(4294967295); - $114 = ($111|0)==(-1); - $115 = $114 & $113; - $116 = $112 | $115; - if ($109) { - $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; - } else { - $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; - break L23; - } - } - $103 = $0 * 0.0; - $$070 = $103; - break L1; - } else { - $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; - } - } while(0); - if ($$lcssa) { - $117 = ($118|0)==(0); - $119 = ($120|0)==(0); - $121 = $117 & $119; - if ($121) { - $129 = $0 * 0.0; - $$070 = $129; - break; - } else { - $123 = $120;$125 = $118; - } - } else { - $123 = $160;$125 = $159; - } - $122 = ($123>>>0)<(1048576); - $124 = ($125>>>0)<(0); - $126 = ($123|0)==(1048576); - $127 = $126 & $124; - $128 = $122 | $127; - if ($128) { - $$37683 = $$275$lcssa;$130 = $125;$131 = $123; - while(1) { - $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); - $133 = tempRet0; - $134 = (($$37683) + -1)|0; - $135 = ($133>>>0)<(1048576); - $136 = ($132>>>0)<(0); - $137 = ($133|0)==(1048576); - $138 = $137 & $136; - $139 = $135 | $138; - if ($139) { - $$37683 = $134;$130 = $132;$131 = $133; - } else { - $$376$lcssa = $134;$141 = $132;$142 = $133; - break; - } - } - } else { - $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; - } - $140 = ($$376$lcssa|0)>(0); - if ($140) { - $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); - $144 = tempRet0; - $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); - $146 = tempRet0; - $147 = $143 | $145; - $148 = $144 | $146; - $153 = $148;$155 = $147; - } else { - $149 = (1 - ($$376$lcssa))|0; - $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); - $151 = tempRet0; - $153 = $151;$155 = $150; - } - $152 = $153 | $12; - HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; - $$070 = $154; - } - } - } while(0); - if ((label|0) == 3) { - $27 = $0 * $1; - $28 = $27 / $27; - $$070 = $28; - } - return (+$$070); -} -function ___DOUBLE_BITS_272($0) { - $0 = +$0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; - $2 = HEAP32[tempDoublePtr+4>>2]|0; - tempRet0 = ($2); - return ($1|0); -} -function _strlen($0) { - $0 = $0|0; - var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1 & 3; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $$015$lcssa = $0; - label = 4; - } else { - $$01519 = $0;$23 = $1; - while(1) { - $4 = HEAP8[$$01519>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - $$sink = $23; - break L1; - } - $6 = ((($$01519)) + 1|0); - $7 = $6; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if ($9) { - $$015$lcssa = $6; - label = 4; - break; - } else { - $$01519 = $6;$23 = $7; - } - } - } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; - while(1) { - $10 = HEAP32[$$0>>2]|0; - $11 = (($10) + -16843009)|0; - $12 = $10 & -2139062144; - $13 = $12 ^ -2139062144; - $14 = $13 & $11; - $15 = ($14|0)==(0); - $16 = ((($$0)) + 4|0); - if ($15) { - $$0 = $16; - } else { - break; - } - } - $17 = $10&255; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$1$lcssa = $$0; - } else { - $$pn = $$0; - while(1) { - $19 = ((($$pn)) + 1|0); - $$pre = HEAP8[$19>>0]|0; - $20 = ($$pre<<24>>24)==(0); - if ($20) { - $$1$lcssa = $19; - break; - } else { - $$pn = $19; - } - } - } - $21 = $$1$lcssa; - $$sink = $21; - } - $22 = (($$sink) - ($1))|0; - return ($22|0); -} -function _strchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _mbrtowc($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $4 = sp; - $5 = ($3|0)==(0|0); - $$ = $5 ? 23160 : $3; - $6 = HEAP32[$$>>2]|0; - $7 = ($1|0)==(0|0); - L1: do { - if ($7) { - $8 = ($6|0)==(0); - if ($8) { - $$0 = 0; - } else { - label = 17; - } - } else { - $9 = ($0|0)==(0|0); - $$47 = $9 ? $4 : $0; - $10 = ($2|0)==(0); - if ($10) { - $$0 = -2; - } else { - $11 = ($6|0)==(0); - if ($11) { - $12 = HEAP8[$1>>0]|0; - $13 = ($12<<24>>24)>(-1); - if ($13) { - $14 = $12&255; - HEAP32[$$47>>2] = $14; - $15 = ($12<<24>>24)!=(0); - $16 = $15&1; - $$0 = $16; - break; - } - $17 = (___pthread_self_439()|0); - $18 = ((($17)) + 188|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$19>>2]|0; - $not$ = ($20|0)==(0|0); - $21 = HEAP8[$1>>0]|0; - if ($not$) { - $22 = $21 << 24 >> 24; - $23 = $22 & 57343; - HEAP32[$$47>>2] = $23; - $$0 = 1; - break; - } - $24 = $21&255; - $25 = (($24) + -194)|0; - $26 = ($25>>>0)>(50); - if ($26) { - label = 17; - break; - } - $27 = ((($1)) + 1|0); - $28 = (3632 + ($25<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($2) + -1)|0; - $31 = ($30|0)==(0); - if ($31) { - $$2 = $29; - } else { - $$03952 = $27;$$04051 = $29;$$04350 = $30; - label = 11; - } - } else { - $$03952 = $1;$$04051 = $6;$$04350 = $2; - label = 11; - } - L14: do { - if ((label|0) == 11) { - $32 = HEAP8[$$03952>>0]|0; - $33 = $32&255; - $34 = $33 >>> 3; - $35 = (($34) + -16)|0; - $36 = $$04051 >> 26; - $37 = (($34) + ($36))|0; - $38 = $35 | $37; - $39 = ($38>>>0)>(7); - if ($39) { - label = 17; - break L1; - } else { - $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; - } - while(1) { - $40 = $$141 << 6; - $41 = ((($$1)) + 1|0); - $42 = $43&255; - $44 = (($42) + -128)|0; - $45 = $44 | $40; - $46 = (($$144) + -1)|0; - $47 = ($45|0)<(0); - if (!($47)) { - break; - } - $49 = ($46|0)==(0); - if ($49) { - $$2 = $45; - break L14; - } - $50 = HEAP8[$41>>0]|0; - $51 = $50 & -64; - $52 = ($51<<24>>24)==(-128); - if ($52) { - $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; - } else { - label = 17; - break L1; - } - } - HEAP32[$$>>2] = 0; - HEAP32[$$47>>2] = $45; - $48 = (($2) - ($46))|0; - $$0 = $48; - break L1; - } - } while(0); - HEAP32[$$>>2] = $$2; - $$0 = -2; - } - } - } while(0); - if ((label|0) == 17) { - HEAP32[$$>>2] = 0; - $53 = (___errno_location()|0); - HEAP32[$53>>2] = 84; - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___pthread_self_439() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function _ldexp($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function ___unlist_locked_file($0) { - $0 = $0|0; - var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 68|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = ((($0)) + 116|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - $$pre = ((($0)) + 112|0); - if (!($6)) { - $7 = HEAP32[$$pre>>2]|0; - $8 = ((($5)) + 112|0); - HEAP32[$8>>2] = $7; - } - $9 = HEAP32[$$pre>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $12 = (___pthread_self_607()|0); - $13 = ((($12)) + 232|0); - $$sink = $13; - } else { - $11 = ((($9)) + 116|0); - $$sink = $11; - } - HEAP32[$$sink>>2] = $5; - } - return; -} -function ___pthread_self_607() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _fopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer8 = sp + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $memchr = (_memchr(19016,$3,4)|0); - $4 = ($memchr|0)==(0|0); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $$0 = 0; - } else { - $6 = (___fmodeflags($1)|0); - $7 = $0; - $8 = $6 | 32768; - HEAP32[$vararg_buffer>>2] = $7; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $9 = (___syscall5(5,($vararg_buffer|0))|0); - $10 = (___syscall_ret($9)|0); - $11 = ($10|0)<(0); - if ($11) { - $$0 = 0; - } else { - $12 = $6 & 524288; - $13 = ($12|0)==(0); - if (!($13)) { - HEAP32[$vararg_buffer3>>2] = $10; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 2; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 1; - (___syscall221(221,($vararg_buffer3|0))|0); - } - $14 = (___fdopen($10,$1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$vararg_buffer8>>2] = $10; - (___syscall6(6,($vararg_buffer8|0))|0); - $$0 = 0; - } else { - $$0 = $14; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($0) { - $0 = $0|0; - var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_strchr($0,43)|0); - $2 = ($1|0)==(0|0); - $3 = HEAP8[$0>>0]|0; - $not$ = ($3<<24>>24)!=(114); - $$ = $not$&1; - $$0 = $2 ? $$ : 2; - $4 = (_strchr($0,120)|0); - $5 = ($4|0)==(0|0); - $6 = $$0 | 128; - $$0$ = $5 ? $$0 : $6; - $7 = (_strchr($0,101)|0); - $8 = ($7|0)==(0|0); - $9 = $$0$ | 524288; - $$2 = $8 ? $$0$ : $9; - $10 = ($3<<24>>24)==(114); - $11 = $$2 | 64; - $$2$ = $10 ? $$2 : $11; - $12 = ($3<<24>>24)==(119); - $13 = $$2$ | 512; - $$4 = $12 ? $13 : $$2$; - $14 = ($3<<24>>24)==(97); - $15 = $$4 | 1024; - $$$4 = $14 ? $15 : $$4; - return ($$$4|0); -} -function ___fdopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 56|0; - $3 = HEAP8[$1>>0]|0; - $4 = $3 << 24 >> 24; - $memchr = (_memchr(19016,$4,4)|0); - $5 = ($memchr|0)==(0|0); - if ($5) { - $6 = (___errno_location()|0); - HEAP32[$6>>2] = 22; - $$0 = 0; - } else { - $7 = (_malloc(1156)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - } else { - dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $9 = (_strchr($1,43)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = ($3<<24>>24)==(114); - $12 = $11 ? 8 : 4; - HEAP32[$7>>2] = $12; - } - $13 = (_strchr($1,101)|0); - $14 = ($13|0)==(0|0); - if ($14) { - $16 = $3; - } else { - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$1>>0]|0; - $16 = $$pre; - } - $15 = ($16<<24>>24)==(97); - if ($15) { - HEAP32[$vararg_buffer3>>2] = $0; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $17 = (___syscall221(221,($vararg_buffer3|0))|0); - $18 = $17 & 1024; - $19 = ($18|0)==(0); - if ($19) { - $20 = $17 | 1024; - HEAP32[$vararg_buffer7>>2] = $0; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $20; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $21 = HEAP32[$7>>2]|0; - $22 = $21 | 128; - HEAP32[$7>>2] = $22; - $29 = $22; - } else { - $$pre31 = HEAP32[$7>>2]|0; - $29 = $$pre31; - } - $23 = ((($7)) + 60|0); - HEAP32[$23>>2] = $0; - $24 = ((($7)) + 132|0); - $25 = ((($7)) + 44|0); - HEAP32[$25>>2] = $24; - $26 = ((($7)) + 48|0); - HEAP32[$26>>2] = 1024; - $27 = ((($7)) + 75|0); - HEAP8[$27>>0] = -1; - $28 = $29 & 8; - $30 = ($28|0)==(0); - if ($30) { - $31 = $2; - HEAP32[$vararg_buffer12>>2] = $0; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21523; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $31; - $32 = (___syscall54(54,($vararg_buffer12|0))|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP8[$27>>0] = 10; - } - } - $34 = ((($7)) + 32|0); - HEAP32[$34>>2] = 11; - $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 10; - $36 = ((($7)) + 40|0); - HEAP32[$36>>2] = 3; - $37 = ((($7)) + 12|0); - HEAP32[$37>>2] = 2; - $38 = HEAP32[(23100)>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = ((($7)) + 76|0); - HEAP32[$40>>2] = -1; - } - $41 = (___ofl_add($7)|0); - $$0 = $7; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___ofl_add($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___ofl_lock()|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 56|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($4)) + 52|0); - HEAP32[$6>>2] = $0; - } - HEAP32[$1>>2] = $0; - ___ofl_unlock(); - return ($0|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((23164|0)); - return (23172|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((23164|0)); - return; -} -function _fclose($0) { - $0 = $0|0; - var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $29 = $4; - } else { - $29 = 0; - } - ___unlist_locked_file($0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 1; - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (___ofl_lock()|0); - $9 = ((($0)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $10; - $$pre = ((($0)) + 56|0); - if (!($11)) { - $13 = HEAP32[$$pre>>2]|0; - $14 = ((($10)) + 56|0); - HEAP32[$14>>2] = $13; - } - $15 = HEAP32[$$pre>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = ((($15)) + 52|0); - HEAP32[$17>>2] = $12; - } - $18 = HEAP32[$8>>2]|0; - $19 = ($18|0)==($0|0); - if ($19) { - HEAP32[$8>>2] = $15; - } - ___ofl_unlock(); - } - $20 = (_fflush($0)|0); - $21 = ((($0)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); - $24 = $23 | $20; - $25 = ((($0)) + 92|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - _free($26); - } - if ($7) { - $28 = ($29|0)==(0); - if (!($28)) { - ___unlockfile($0); - } - } else { - _free($0); - } - return ($24|0); -} -function _fflush($0) { - $0 = $0|0; - var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[1052]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[1052]|0; - $11 = (_fflush($10)|0); - $29 = $11; - } - $12 = (___ofl_lock()|0); - $$02325 = HEAP32[$12>>2]|0; - $13 = ($$02325|0)==(0|0); - if ($13) { - $$024$lcssa = $29; - } else { - $$02327 = $$02325;$$02426 = $29; - while(1) { - $14 = ((($$02327)) + 76|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(-1); - if ($16) { - $17 = (___lockfile($$02327)|0); - $26 = $17; - } else { - $26 = 0; - } - $18 = ((($$02327)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($$02327)) + 28|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($19>>>0)>($21>>>0); - if ($22) { - $23 = (___fflush_unlocked($$02327)|0); - $24 = $23 | $$02426; - $$1 = $24; - } else { - $$1 = $$02426; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___unlockfile($$02327); - } - $27 = ((($$02327)) + 56|0); - $$023 = HEAP32[$27>>2]|0; - $28 = ($$023|0)==(0|0); - if ($28) { - $$024$lcssa = $$1; - break; - } else { - $$02327 = $$023;$$02426 = $$1; - } - } - } - ___ofl_unlock(); - $$0 = $$024$lcssa; - } else { - $2 = ((($0)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if (!($4)) { - $5 = (___fflush_unlocked($0)|0); - $$0 = $5; - break; - } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)>($4>>>0); - if ($5) { - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $10 = ((($0)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - $15 = $11; - $16 = $13; - $17 = (($15) - ($16))|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); - } - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = 0; - HEAP32[$3>>2] = 0; - HEAP32[$1>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _fgets($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; - var $sext$mask = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $6 = (___lockfile($2)|0); - $17 = $6; - } else { - $17 = 0; - } - $7 = (($1) + -1)|0; - $8 = ($1|0)<(2); - $9 = ($7|0)!=(0); - if ($8) { - $10 = ((($2)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ($17|0)==(0); - if (!($16)) { - ___unlockfile($2); - } - if ($9) { - $$0 = 0; - } else { - HEAP8[$0>>0] = 0; - $$0 = $0; - } - } else { - L11: do { - if ($9) { - $18 = ((($2)) + 4|0); - $19 = ((($2)) + 8|0); - $$063 = $7;$$064 = $0; - while(1) { - $20 = HEAP32[$18>>2]|0; - $21 = HEAP32[$19>>2]|0; - $22 = $20; - $23 = (($21) - ($22))|0; - $24 = (_memchr($20,10,$23)|0); - $25 = ($24|0)==(0|0); - $26 = $24; - $27 = (1 - ($22))|0; - $28 = (($27) + ($26))|0; - $29 = $25 ? $23 : $28; - $30 = ($29>>>0)<($$063>>>0); - $31 = $30 ? $29 : $$063; - _memcpy(($$064|0),($20|0),($31|0))|0; - $32 = HEAP32[$18>>2]|0; - $33 = (($32) + ($31)|0); - HEAP32[$18>>2] = $33; - $34 = (($$064) + ($31)|0); - $35 = (($$063) - ($31))|0; - $36 = ($35|0)!=(0); - $or$cond = $25 & $36; - if (!($or$cond)) { - $$1 = $34; - label = 17; - break L11; - } - $37 = HEAP32[$19>>2]|0; - $38 = ($33>>>0)<($37>>>0); - if ($38) { - $39 = ((($33)) + 1|0); - HEAP32[$18>>2] = $39; - $40 = HEAP8[$33>>0]|0; - $41 = $40&255; - $50 = $41; - } else { - $42 = (___uflow($2)|0); - $43 = ($42|0)<(0); - if ($43) { - break; - } else { - $50 = $42; - } - } - $48 = (($35) + -1)|0; - $49 = $50&255; - $51 = ((($34)) + 1|0); - HEAP8[$34>>0] = $49; - $sext$mask = $50 & 255; - $52 = ($sext$mask|0)!=(10); - $53 = ($48|0)!=(0); - $or$cond3 = $53 & $52; - if ($or$cond3) { - $$063 = $48;$$064 = $51; - } else { - $$1 = $51; - label = 17; - break L11; - } - } - $44 = ($34|0)==($0|0); - if ($44) { - $$06266 = 0; - } else { - $45 = HEAP32[$2>>2]|0; - $46 = $45 & 16; - $47 = ($46|0)==(0); - if ($47) { - $$06266 = 0; - } else { - $$1 = $34; - label = 17; - } - } - } else { - $$1 = $0; - label = 17; - } - } while(0); - if ((label|0) == 17) { - $54 = ($0|0)==(0|0); - if ($54) { - $$06266 = 0; - } else { - HEAP8[$$1>>0] = 0; - $$06266 = $0; - } - } - $55 = ($17|0)==(0); - if ($55) { - $$0 = $$06266; - } else { - ___unlockfile($2); - $$0 = $$06266; - } - } - return ($$0|0); -} -function _feof($0) { - $0 = $0|0; - var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 >>> 4; - $$lobit = $8 & 1; - if ($phitmp) { - $$lobit9 = $$lobit; - } else { - ___unlockfile($0); - $$lobit9 = $$lobit; - } - } else { - $4 = HEAP32[$0>>2]|0; - $5 = $4 >>> 4; - $$lobit8 = $5 & 1; - $$lobit9 = $$lobit8; - } - return ($$lobit9|0); -} -function _fscanf($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - HEAP32[$2>>2] = $varargs; - $3 = (_vfscanf($0,$1,$2)|0); - STACKTOP = sp;return ($3|0); -} -function _vfscanf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; - var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; - var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; - var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; - var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; - var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; - var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; - var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; - var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; - var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); - $3 = sp + 8|0; - $4 = sp + 17|0; - $5 = sp; - $6 = sp + 16|0; - $7 = ((($0)) + 76|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(-1); - if ($9) { - $10 = (___lockfile($0)|0); - $306 = $10; - } else { - $306 = 0; - } - $11 = HEAP8[$1>>0]|0; - $12 = ($11<<24>>24)==(0); - L4: do { - if ($12) { - $$3291 = 0; - } else { - $13 = ((($0)) + 4|0); - $14 = ((($0)) + 100|0); - $15 = ((($0)) + 108|0); - $16 = ((($0)) + 8|0); - $17 = ((($4)) + 10|0); - $18 = ((($4)) + 33|0); - $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); - $19 = ((($4)) + 46|0); - $20 = ((($4)) + 94|0); - $21 = ((($4)) + 1|0); - $22 = ((($4)) + 1|0); - $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; - L6: while(1) { - $23 = $24&255; - $25 = (_isspace($23)|0); - $26 = ($25|0)==(0); - L8: do { - if ($26) { - $53 = ($24<<24>>24)==(37); - L10: do { - if ($53) { - $54 = ((($$0273429)) + 1|0); - $55 = HEAP8[$54>>0]|0; - L12: do { - switch ($55<<24>>24) { - case 37: { - break L10; - break; - } - case 42: { - $76 = ((($$0273429)) + 2|0); - $$0293 = 0;$$2275 = $76; - break; - } - default: { - $77 = $55&255; - $isdigittmp = (($77) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $78 = ((($$0273429)) + 2|0); - $79 = HEAP8[$78>>0]|0; - $80 = ($79<<24>>24)==(36); - if ($80) { - $81 = (_arg_n($2,$isdigittmp)|0); - $82 = ((($$0273429)) + 3|0); - $$0293 = $81;$$2275 = $82; - break L12; - } - } - $arglist_current = HEAP32[$2>>2]|0; - $83 = $arglist_current; - $84 = ((0) + 4|0); - $expanded1 = $84; - $expanded = (($expanded1) - 1)|0; - $85 = (($83) + ($expanded))|0; - $86 = ((0) + 4|0); - $expanded5 = $86; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $87 = $85 & $expanded3; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $arglist_next = ((($88)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0293 = $89;$$2275 = $54; - } - } - } while(0); - $90 = HEAP8[$$2275>>0]|0; - $91 = $90&255; - $isdigittmp315414 = (($91) + -48)|0; - $isdigit316415 = ($isdigittmp315414>>>0)<(10); - if ($isdigit316415) { - $$0266417 = 0;$$3416 = $$2275;$95 = $91; - while(1) { - $92 = ($$0266417*10)|0; - $93 = (($92) + -48)|0; - $94 = (($93) + ($95))|0; - $96 = ((($$3416)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = $97&255; - $isdigittmp315 = (($98) + -48)|0; - $isdigit316 = ($isdigittmp315>>>0)<(10); - if ($isdigit316) { - $$0266417 = $94;$$3416 = $96;$95 = $98; - } else { - $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; - break; - } - } - } else { - $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; - } - $99 = ($$lcssa355<<24>>24)==(109); - $100 = ($$0293|0)!=(0|0); - $101 = ((($$3$lcssa)) + 1|0); - $$$0305 = $99 ? 0 : $$0305423; - $$327 = $99 ? 0 : $102; - $$$3 = $99 ? $101 : $$3$lcssa; - $narrow = $100 & $99; - $103 = ((($$$3)) + 1|0); - $104 = HEAP8[$$$3>>0]|0; - switch ($104<<24>>24) { - case 104: { - $105 = HEAP8[$103>>0]|0; - $106 = ($105<<24>>24)==(104); - $107 = ((($$$3)) + 2|0); - $$319 = $106 ? $107 : $103; - $$320 = $106 ? -2 : -1; - $$0268 = $$320;$$5 = $$319; - break; - } - case 108: { - $108 = HEAP8[$103>>0]|0; - $109 = ($108<<24>>24)==(108); - $110 = ((($$$3)) + 2|0); - $$321 = $109 ? $110 : $103; - $$322 = $109 ? 3 : 1; - $$0268 = $$322;$$5 = $$321; - break; - } - case 106: { - $$0268 = 3;$$5 = $103; - break; - } - case 116: case 122: { - $$0268 = 1;$$5 = $103; - break; - } - case 76: { - $$0268 = 2;$$5 = $103; - 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: { - $$0268 = 0;$$5 = $$$3; - break; - } - default: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - } - $111 = HEAP8[$$5>>0]|0; - $112 = $111&255; - $113 = $112 & 47; - $114 = ($113|0)==(3); - $115 = $112 | 32; - $$ = $114 ? $115 : $112; - $$$0268 = $114 ? 1 : $$0268; - $trunc = $$&255; - switch ($trunc<<24>>24) { - case 99: { - $116 = ($$0266$lcssa|0)>(1); - $$$0266 = $116 ? $$0266$lcssa : 1; - $$1267 = $$$0266;$$1284 = $$0283428; - break; - } - case 91: { - $$1267 = $$0266$lcssa;$$1284 = $$0283428; - break; - } - case 110: { - $117 = ($$0283428|0)<(0); - $118 = $117 << 31 >> 31; - _store_int($$0293,$$$0268,$$0283428,$118); - $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; - break L8; - break; - } - default: { - ___shlim($0,0); - while(1) { - $119 = HEAP32[$13>>2]|0; - $120 = HEAP32[$14>>2]|0; - $121 = ($119>>>0)<($120>>>0); - if ($121) { - $122 = ((($119)) + 1|0); - HEAP32[$13>>2] = $122; - $123 = HEAP8[$119>>0]|0; - $124 = $123&255; - $126 = $124; - } else { - $125 = (___shgetc($0)|0); - $126 = $125; - } - $127 = (_isspace($126)|0); - $128 = ($127|0)==(0); - if ($128) { - break; - } - } - $129 = HEAP32[$14>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$pre507 = HEAP32[$13>>2]|0; - $138 = $$pre507; - } else { - $131 = HEAP32[$13>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$13>>2] = $132; - $133 = $132; - $138 = $133; - } - $134 = HEAP32[$15>>2]|0; - $135 = HEAP32[$16>>2]|0; - $136 = (($134) + ($$0283428))|0; - $137 = (($136) + ($138))|0; - $139 = (($137) - ($135))|0; - $$1267 = $$0266$lcssa;$$1284 = $139; - } - } - ___shlim($0,$$1267); - $140 = HEAP32[$13>>2]|0; - $141 = HEAP32[$14>>2]|0; - $142 = ($140>>>0)<($141>>>0); - if ($142) { - $143 = ((($140)) + 1|0); - HEAP32[$13>>2] = $143; - $147 = $141; - } else { - $144 = (___shgetc($0)|0); - $145 = ($144|0)<(0); - if ($145) { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - $$pre509 = HEAP32[$14>>2]|0; - $147 = $$pre509; - } - $146 = ($147|0)==(0|0); - if (!($146)) { - $148 = HEAP32[$13>>2]|0; - $149 = ((($148)) + -1|0); - HEAP32[$13>>2] = $149; - } - L55: do { - switch ($trunc<<24>>24) { - case 91: case 99: case 115: { - $150 = ($$|0)==(99); - $151 = $$ | 16; - $152 = ($151|0)==(115); - L57: do { - if ($152) { - $153 = ($$|0)==(115); - _memset(($21|0),-1,256)|0; - HEAP8[$4>>0] = 0; - if ($153) { - HEAP8[$18>>0] = 0; - ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; - $$9 = $$5; - } else { - $$9 = $$5; - } - } else { - $154 = ((($$5)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = ($155<<24>>24)==(94); - $157 = ((($$5)) + 2|0); - $$0292 = $156&1; - $$6 = $156 ? $157 : $154; - $158 = $156&1; - _memset(($22|0),($158|0),256)|0; - HEAP8[$4>>0] = 0; - $159 = HEAP8[$$6>>0]|0; - switch ($159<<24>>24) { - case 45: { - $$sink443 = $19; - label = 64; - break; - } - case 93: { - $$sink443 = $20; - label = 64; - break; - } - default: { - $$pre514 = $$0292 ^ 1; - $$pre515 = $$pre514&255; - $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; - } - } - if ((label|0) == 64) { - label = 0; - $160 = ((($$6)) + 1|0); - $161 = $$0292 ^ 1; - $162 = $161&255; - HEAP8[$$sink443>>0] = $162; - $$7$ph = $160;$$pre$phi516Z2D = $162; - } - $$7 = $$7$ph; - while(1) { - $163 = HEAP8[$$7>>0]|0; - L69: do { - switch ($163<<24>>24) { - case 0: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case 93: { - $$9 = $$7; - break L57; - break; - } - case 45: { - $164 = ((($$7)) + 1|0); - $165 = HEAP8[$164>>0]|0; - switch ($165<<24>>24) { - case 93: case 0: { - $$8 = $$7;$176 = 45; - break L69; - break; - } - default: { - } - } - $166 = ((($$7)) + -1|0); - $167 = HEAP8[$166>>0]|0; - $168 = ($167&255)<($165&255); - if ($168) { - $169 = $167&255; - $$0286420 = $169; - while(1) { - $170 = (($$0286420) + 1)|0; - $171 = (($4) + ($170)|0); - HEAP8[$171>>0] = $$pre$phi516Z2D; - $172 = HEAP8[$164>>0]|0; - $173 = $172&255; - $174 = ($170|0)<($173|0); - if ($174) { - $$0286420 = $170; - } else { - $$8 = $164;$176 = $172; - break; - } - } - } else { - $$8 = $164;$176 = $165; - } - break; - } - default: { - $$8 = $$7;$176 = $163; - } - } - } while(0); - $175 = $176&255; - $177 = (($175) + 1)|0; - $178 = (($4) + ($177)|0); - HEAP8[$178>>0] = $$pre$phi516Z2D; - $179 = ((($$8)) + 1|0); - $$7 = $179; - } - } - } while(0); - $180 = (($$1267) + 1)|0; - $181 = $150 ? $180 : 31; - $182 = ($$$0268|0)==(1); - L77: do { - if ($182) { - if ($narrow) { - $183 = $181 << 2; - $184 = (_malloc($183)|0); - $185 = ($184|0)==(0|0); - if ($185) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $311 = $184; - } - } else { - $311 = $$0293; - } - HEAP32[$3>>2] = 0; - HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; - $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; - L82: while(1) { - $186 = ($$ph|0)==(0|0); - $$0278$ph336 = $$0278$ph; - while(1) { - L86: while(1) { - $187 = HEAP32[$13>>2]|0; - $188 = HEAP32[$14>>2]|0; - $189 = ($187>>>0)<($188>>>0); - if ($189) { - $190 = ((($187)) + 1|0); - HEAP32[$13>>2] = $190; - $191 = HEAP8[$187>>0]|0; - $192 = $191&255; - $195 = $192; - } else { - $193 = (___shgetc($0)|0); - $195 = $193; - } - $194 = (($195) + 1)|0; - $196 = (($4) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = ($197<<24>>24)==(0); - if ($198) { - break L82; - } - $199 = $195&255; - HEAP8[$6>>0] = $199; - $200 = (_mbrtowc($5,$6,1,$3)|0); - switch ($200|0) { - case -1: { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case -2: { - break; - } - default: { - break L86; - } - } - } - if ($186) { - $$1279 = $$0278$ph336; - } else { - $201 = (($$ph) + ($$0278$ph336<<2)|0); - $202 = (($$0278$ph336) + 1)|0; - $203 = HEAP32[$5>>2]|0; - HEAP32[$201>>2] = $203; - $$1279 = $202; - } - $204 = ($$1279|0)==($$0276$ph|0); - $or$cond = $narrow & $204; - if ($or$cond) { - break; - } else { - $$0278$ph336 = $$1279; - } - } - $factor331 = $$0276$ph << 1; - $205 = $factor331 | 1; - $206 = $205 << 2; - $207 = (_realloc($$ph,$206)|0); - $208 = ($207|0)==(0|0); - if ($208) { - $$7312 = 0;$309 = $$ph;$narrow469 = 1; - label = 137; - break L6; - } else { - $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; - } - } - $209 = (_mbsinit($3)|0); - $210 = ($209|0)==(0); - if ($210) { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - } else { - $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; - } - } else { - if ($narrow) { - $211 = (_malloc($181)|0); - $212 = ($211|0)==(0|0); - if ($212) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; - } - while(1) { - $$2280 = $$2280$ph; - while(1) { - $213 = HEAP32[$13>>2]|0; - $214 = HEAP32[$14>>2]|0; - $215 = ($213>>>0)<($214>>>0); - if ($215) { - $216 = ((($213)) + 1|0); - HEAP32[$13>>2] = $216; - $217 = HEAP8[$213>>0]|0; - $218 = $217&255; - $221 = $218; - } else { - $219 = (___shgetc($0)|0); - $221 = $219; - } - $220 = (($221) + 1)|0; - $222 = (($4) + ($220)|0); - $223 = HEAP8[$222>>0]|0; - $224 = ($223<<24>>24)==(0); - if ($224) { - $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; - break L77; - } - $225 = $221&255; - $226 = (($$2280) + 1)|0; - $227 = (($$2307$ph) + ($$2280)|0); - HEAP8[$227>>0] = $225; - $228 = ($226|0)==($$1277$ph|0); - if ($228) { - break; - } else { - $$2280 = $226; - } - } - $factor = $$1277$ph << 1; - $229 = $factor | 1; - $230 = (_realloc($$2307$ph,$229)|0); - $231 = ($230|0)==(0|0); - if ($231) { - $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; - } - } - } - $232 = ($$0293|0)==(0|0); - if ($232) { - $250 = $147; - while(1) { - $248 = HEAP32[$13>>2]|0; - $249 = ($248>>>0)<($250>>>0); - if ($249) { - $251 = ((($248)) + 1|0); - HEAP32[$13>>2] = $251; - $252 = HEAP8[$248>>0]|0; - $253 = $252&255; - $256 = $253; - } else { - $254 = (___shgetc($0)|0); - $256 = $254; - } - $255 = (($256) + 1)|0; - $257 = (($4) + ($255)|0); - $258 = HEAP8[$257>>0]|0; - $259 = ($258<<24>>24)==(0); - if ($259) { - $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; - break L77; - } - $$pre512 = HEAP32[$14>>2]|0; - $250 = $$pre512; - } - } else { - $$3281 = 0;$235 = $147; - while(1) { - $233 = HEAP32[$13>>2]|0; - $234 = ($233>>>0)<($235>>>0); - if ($234) { - $236 = ((($233)) + 1|0); - HEAP32[$13>>2] = $236; - $237 = HEAP8[$233>>0]|0; - $238 = $237&255; - $241 = $238; - } else { - $239 = (___shgetc($0)|0); - $241 = $239; - } - $240 = (($241) + 1)|0; - $242 = (($4) + ($240)|0); - $243 = HEAP8[$242>>0]|0; - $244 = ($243<<24>>24)==(0); - if ($244) { - $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; - break L77; - } - $245 = $241&255; - $246 = (($$3281) + 1)|0; - $247 = (($$0293) + ($$3281)|0); - HEAP8[$247>>0] = $245; - $$pre511 = HEAP32[$14>>2]|0; - $$3281 = $246;$235 = $$pre511; - } - } - } - } while(0); - $260 = HEAP32[$14>>2]|0; - $261 = ($260|0)==(0|0); - if ($261) { - $$pre513 = HEAP32[$13>>2]|0; - $268 = $$pre513; - } else { - $262 = HEAP32[$13>>2]|0; - $263 = ((($262)) + -1|0); - HEAP32[$13>>2] = $263; - $264 = $263; - $268 = $264; - } - $265 = HEAP32[$15>>2]|0; - $266 = HEAP32[$16>>2]|0; - $267 = (($268) - ($266))|0; - $269 = (($267) + ($265))|0; - $270 = ($269|0)==(0); - if ($270) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - $$not = $150 ^ 1; - $271 = ($269|0)==($$1267|0); - $or$cond318 = $271 | $$not; - if (!($or$cond318)) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - do { - if ($narrow) { - if ($182) { - HEAP32[$$0293>>2] = $$5299; - break; - } else { - HEAP32[$$0293>>2] = $$4309; - break; - } - } - } while(0); - if ($150) { - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } else { - $272 = ($$5299|0)==(0|0); - if (!($272)) { - $273 = (($$5299) + ($$4282<<2)|0); - HEAP32[$273>>2] = 0; - } - $274 = ($$4309|0)==(0|0); - if ($274) { - $$10 = $$9;$$5310 = 0;$310 = $312; - break L55; - } - $275 = (($$4309) + ($$4282)|0); - HEAP8[$275>>0] = 0; - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } - break; - } - case 120: case 88: case 112: { - $$0272 = 16; - label = 125; - break; - } - case 111: { - $$0272 = 8; - label = 125; - break; - } - case 117: case 100: { - $$0272 = 10; - label = 125; - break; - } - case 105: { - $$0272 = 0; - label = 125; - break; - } - case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { - $285 = (+___floatscan($0,$$$0268,0)); - $286 = HEAP32[$15>>2]|0; - $287 = HEAP32[$13>>2]|0; - $288 = HEAP32[$16>>2]|0; - $289 = (($288) - ($287))|0; - $290 = ($286|0)==($289|0); - if ($290) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $291 = ($$0293|0)==(0|0); - if ($291) { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } else { - switch ($$$0268|0) { - case 0: { - $292 = $285; - HEAPF32[$$0293>>2] = $292; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 1: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 2: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - } - } - } - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } - } - } while(0); - do { - if ((label|0) == 125) { - label = 0; - $276 = (___intscan($0,$$0272,0,-1,-1)|0); - $277 = tempRet0; - $278 = HEAP32[$15>>2]|0; - $279 = HEAP32[$13>>2]|0; - $280 = HEAP32[$16>>2]|0; - $281 = (($280) - ($279))|0; - $282 = ($278|0)==($281|0); - if ($282) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $283 = ($$|0)==(112); - $or$cond3 = $100 & $283; - if ($or$cond3) { - $284 = $276; - HEAP32[$$0293>>2] = $284; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } else { - _store_int($$0293,$$$0268,$276,$277); - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } - } - } while(0); - $293 = HEAP32[$15>>2]|0; - $294 = HEAP32[$13>>2]|0; - $295 = HEAP32[$16>>2]|0; - $296 = (($293) + ($$1284))|0; - $297 = (($296) + ($294))|0; - $298 = (($297) - ($295))|0; - $299 = $100&1; - $$0288$ = (($299) + ($$0288425))|0; - $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; - break L8; - } - } while(0); - $56 = $53&1; - $57 = (($$0273429) + ($56)|0); - ___shlim($0,0); - $58 = HEAP32[$13>>2]|0; - $59 = HEAP32[$14>>2]|0; - $60 = ($58>>>0)<($59>>>0); - if ($60) { - $61 = ((($58)) + 1|0); - HEAP32[$13>>2] = $61; - $62 = HEAP8[$58>>0]|0; - $63 = $62&255; - $68 = $63; - } else { - $64 = (___shgetc($0)|0); - $68 = $64; - } - $65 = HEAP8[$57>>0]|0; - $66 = $65&255; - $67 = ($68|0)==($66|0); - if (!($67)) { - label = 22; - break L6; - } - $75 = (($$0283428) + 1)|0; - $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; - } else { - $$1274 = $$0273429; - while(1) { - $27 = ((($$1274)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = (_isspace($29)|0); - $31 = ($30|0)==(0); - if ($31) { - break; - } else { - $$1274 = $27; - } - } - ___shlim($0,0); - while(1) { - $32 = HEAP32[$13>>2]|0; - $33 = HEAP32[$14>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$13>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $39 = $37; - } else { - $38 = (___shgetc($0)|0); - $39 = $38; - } - $40 = (_isspace($39)|0); - $41 = ($40|0)==(0); - if ($41) { - break; - } - } - $42 = HEAP32[$14>>2]|0; - $43 = ($42|0)==(0|0); - if ($43) { - $$pre = HEAP32[$13>>2]|0; - $51 = $$pre; - } else { - $44 = HEAP32[$13>>2]|0; - $45 = ((($44)) + -1|0); - HEAP32[$13>>2] = $45; - $46 = $45; - $51 = $46; - } - $47 = HEAP32[$15>>2]|0; - $48 = HEAP32[$16>>2]|0; - $49 = (($47) + ($$0283428))|0; - $50 = (($49) + ($51))|0; - $52 = (($50) - ($48))|0; - $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; - } - } while(0); - $300 = ((($$11)) + 1|0); - $301 = HEAP8[$300>>0]|0; - $302 = ($301<<24>>24)==(0); - if ($302) { - $$3291 = $$1289; - break L4; - } else { - $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; - } - } - if ((label|0) == 22) { - $69 = HEAP32[$14>>2]|0; - $70 = ($69|0)==(0|0); - if (!($70)) { - $71 = HEAP32[$13>>2]|0; - $72 = ((($71)) + -1|0); - HEAP32[$13>>2] = $72; - } - $73 = ($68|0)>(-1); - $74 = ($$0288425|0)!=(0); - $or$cond5 = $74 | $73; - if ($or$cond5) { - $$3291 = $$0288425; - break; - } else { - $$1271 = 0;$$8313 = $$0305423;$308 = $102; - label = 138; - } - } - else if ((label|0) == 137) { - $$328$le441 = $narrow469&1; - $$old4 = ($$0288425|0)==(0); - if ($$old4) { - $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; - label = 138; - } else { - $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; - } - } - else if ((label|0) == 139) { - $$328$le439 = $narrow&1; - $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; - } - if ((label|0) == 138) { - $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; - } - $303 = ($$2|0)==(0); - if ($303) { - $$3291 = $$2290; - } else { - _free($$9314); - _free($304); - $$3291 = $$2290; - } - } - } while(0); - $305 = ($306|0)==(0); - if (!($305)) { - ___unlockfile($0); - } - STACKTOP = sp;return ($$3291|0); -} -function _arg_n($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - $vacopy_currentptr = HEAP32[$0>>2]|0; - HEAP32[$2>>2] = $vacopy_currentptr; - $$0 = $1; - while(1) { - $3 = ($$0>>>0)>(1); - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded1 = $5; - $expanded = (($expanded1) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded5 = $7; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $8 = $6 & $expanded3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $11 = (($$0) + -1)|0; - if ($3) { - $$0 = $11; - } else { - break; - } - } - STACKTOP = sp;return ($10|0); -} -function _store_int($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - L1: do { - if (!($4)) { - switch ($1|0) { - case -2: { - $5 = $2&255; - HEAP8[$0>>0] = $5; - break L1; - break; - } - case -1: { - $6 = $2&65535; - HEAP16[$0>>1] = $6; - break L1; - break; - } - case 0: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 1: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 3: { - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $2; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $3; - break L1; - break; - } - default: { - break L1; - } - } - } - } while(0); - return; -} -function _mbsinit($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - $5 = 1; - } else { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(0); - $5 = $3; - } - $4 = $5&1; - return ($4|0); -} -function _fseek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (___fseeko($0,$1,$2)|0); - return ($3|0); -} -function ___fseeko($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $7 = (___lockfile($0)|0); - $phitmp = ($7|0)==(0); - $8 = (___fseeko_unlocked($0,$1,$2)|0); - if ($phitmp) { - $9 = $8; - } else { - ___unlockfile($0); - $9 = $8; - } - } else { - $6 = (___fseeko_unlocked($0,$1,$2)|0); - $9 = $6; - } - return ($9|0); -} -function ___fseeko_unlocked($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(1); - if ($3) { - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($1) - ($5))|0; - $9 = (($8) + ($7))|0; - $$019 = $9; - } else { - $$019 = $1; - } - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)>($13>>>0); - if ($14) { - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); - $17 = HEAP32[$10>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $19 = ((($0)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); - $23 = ($22|0)<(0); - if ($23) { - $$0 = -1; - } else { - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = 0; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = $26 & -17; - HEAP32[$0>>2] = $27; - $$0 = 0; - } - } - return ($$0|0); -} -function _strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strrchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($2) + 1)|0; - $4 = (___memrchr($0,$1,$3)|0); - return ($4|0); -} -function ___memrchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1&255; - $$09 = $2; - while(1) { - $4 = (($$09) + -1)|0; - $5 = ($$09|0)==(0); - if ($5) { - $$0 = 0; - break; - } - $6 = (($0) + ($4)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==($3<<24>>24); - if ($8) { - $$0 = $6; - break; - } else { - $$09 = $4; - } - } - return ($$0|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 19288; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _fread($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = ($1|0)==(0); - $$ = $5 ? 0 : $2; - $6 = ((($3)) + 76|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(-1); - if ($8) { - $9 = (___lockfile($3)|0); - $36 = $9; - } else { - $36 = 0; - } - $10 = ((($3)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ((($3)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19; - $21 = (($17) - ($20))|0; - $22 = ($21|0)>(0); - $23 = ($21>>>0)<($4>>>0); - $$57 = $23 ? $21 : $4; - if ($22) { - $24 = (($4) - ($$57))|0; - $25 = (($0) + ($$57)|0); - _memcpy(($0|0),($19|0),($$57|0))|0; - $26 = (($19) + ($$57)|0); - HEAP32[$18>>2] = $26; - $$054$ph = $24;$$056$ph = $25; - } else { - $$054$ph = $4;$$056$ph = $0; - } - $27 = ($$054$ph|0)==(0); - L7: do { - if ($27) { - label = 13; - } else { - $28 = ((($3)) + 32|0); - $$05460 = $$054$ph;$$05659 = $$056$ph; - while(1) { - $29 = (___toread($3)|0); - $30 = ($29|0)==(0); - if (!($30)) { - break; - } - $31 = HEAP32[$28>>2]|0; - $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); - $33 = (($32) + 1)|0; - $34 = ($33>>>0)<(2); - if ($34) { - break; - } - $39 = (($$05460) - ($32))|0; - $40 = (($$05659) + ($32)|0); - $41 = ($39|0)==(0); - if ($41) { - label = 13; - break L7; - } else { - $$05460 = $39;$$05659 = $40; - } - } - $35 = ($36|0)==(0); - if (!($35)) { - ___unlockfile($3); - } - $37 = (($4) - ($$05460))|0; - $38 = (($37>>>0) / ($1>>>0))&-1; - $$0 = $38; - } - } while(0); - if ((label|0) == 13) { - $42 = ($36|0)==(0); - if ($42) { - $$0 = $$; - } else { - ___unlockfile($3); - $$0 = $$; - } - } - return ($$0|0); -} -function _rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $phitmp = ($4|0)==(0); - (___fseeko_unlocked($0,0,0)|0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & -33; - HEAP32[$0>>2] = $6; - if (!($phitmp)) { - ___unlockfile($0); - } - } else { - (___fseeko_unlocked($0,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 & -33; - HEAP32[$0>>2] = $8; - } - return; -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[1020]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = HEAP32[5794]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[5794] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[5794] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[5794] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[5794] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function runPostSets() { -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; - end = (ptr + num)|0; - - value = value & 0xff; - if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { - while ((ptr&3) != 0) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - - aligned_end = (end & -4)|0; - block_aligned_end = (aligned_end - 64)|0; - value4 = value | (value << 8) | (value << 16) | (value << 24); - - while((ptr|0) <= (block_aligned_end|0)) { - HEAP32[((ptr)>>2)]=value4; - HEAP32[(((ptr)+(4))>>2)]=value4; - HEAP32[(((ptr)+(8))>>2)]=value4; - HEAP32[(((ptr)+(12))>>2)]=value4; - HEAP32[(((ptr)+(16))>>2)]=value4; - HEAP32[(((ptr)+(20))>>2)]=value4; - HEAP32[(((ptr)+(24))>>2)]=value4; - HEAP32[(((ptr)+(28))>>2)]=value4; - HEAP32[(((ptr)+(32))>>2)]=value4; - HEAP32[(((ptr)+(36))>>2)]=value4; - HEAP32[(((ptr)+(40))>>2)]=value4; - HEAP32[(((ptr)+(44))>>2)]=value4; - HEAP32[(((ptr)+(48))>>2)]=value4; - HEAP32[(((ptr)+(52))>>2)]=value4; - HEAP32[(((ptr)+(56))>>2)]=value4; - HEAP32[(((ptr)+(60))>>2)]=value4; - ptr = (ptr + 64)|0; - } - - while ((ptr|0) < (aligned_end|0) ) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - // The remaining bytes. - while ((ptr|0) < (end|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (end-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - var aligned_dest_end = 0; - var block_aligned_dest_end = 0; - var dest_end = 0; - // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. - if ((num|0) >= - 8192 - ) { - return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - } - - ret = dest|0; - dest_end = (dest + num)|0; - if ((dest&3) == (src&3)) { - // The initial unaligned < 4-byte front. - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - aligned_dest_end = (dest_end & -4)|0; - block_aligned_dest_end = (aligned_dest_end - 64)|0; - while ((dest|0) <= (block_aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); - HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); - HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); - HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); - HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); - HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); - HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); - HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); - HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); - HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); - HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); - HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); - HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); - HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); - HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); - dest = (dest+64)|0; - src = (src+64)|0; - } - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } else { - // In the unaligned copy case, unroll a bit as well. - aligned_dest_end = (dest_end - 4)|0; - while ((dest|0) < (aligned_dest_end|0) ) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); - HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); - HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - } - } - // The remaining unaligned < 4 byte tail. - while ((dest|0) < (dest_end|0)) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _sbrk(increment) { - increment = increment|0; - var oldDynamicTop = 0; - var oldDynamicTopOnChange = 0; - var newDynamicTop = 0; - var totalMemory = 0; - increment = ((increment + 15) & -16)|0; - oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; - newDynamicTop = oldDynamicTop + increment | 0; - - if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. - | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. - abortOnCannotGrowMemory()|0; - ___setErrNo(12); - return -1; - } - - HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; - totalMemory = getTotalMemory()|0; - if ((newDynamicTop|0) > (totalMemory|0)) { - if ((enlargeMemory()|0) == 0) { - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - ___setErrNo(12); - return -1; - } - } - return oldDynamicTop|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _llvm_bswap_i32(x) { - x = x|0; - return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; -} - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _llvm_bswap_i32: _llvm_bswap_i32, _roundf: _roundf, _main: _main, dynCall_i: dynCall_i, stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, dynCall_vidddd: dynCall_vidddd, setThrew: setThrew, dynCall_viii: dynCall_viii, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, dynCall_iii: dynCall_iii, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, ___muldi3: ___muldi3, dynCall_vd: dynCall_vd, dynCall_vii: dynCall_vii, ___uremdi3: ___uremdi3, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_viiiiiii: dynCall_viiiiiii, getTempRet0: getTempRet0, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, dynCall_viid: dynCall_viid, dynCall_ii: dynCall_ii, _emscripten_GetProcAddress: _emscripten_GetProcAddress, dynCall_viiii: dynCall_viiii, ___errno_location: ___errno_location, dynCall_viiiii: dynCall_viiiii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, _memmove: _memmove, _strstr: _strstr, stackRestore: stackRestore, _malloc: _malloc, dynCall_vdi: dynCall_vdi, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__roundf.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackSave.apply(null, arguments); -}; - -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_getTempRet0.apply(null, arguments); -}; - -var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____udivdi3.apply(null, arguments); -}; - -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setThrew.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__fflush.apply(null, arguments); -}; - -var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__sbrk.apply(null, arguments); -}; - -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__llvm_bswap_i32.apply(null, arguments); -}; - -var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____muldi3.apply(null, arguments); -}; - -var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____uremdi3.apply(null, arguments); -}; - -var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackAlloc.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_setTempRet0.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__emscripten_GetProcAddress.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real____errno_location.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__free.apply(null, arguments); -}; - -var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_establishStackSpace.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strstr.apply(null, arguments); -}; - -var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_stackRestore.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__malloc.apply(null, arguments); -}; -var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - - -/** - * @constructor - * @extends {Error} - */ -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 initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - Module.printErr('exception thrown: ' + toLog); - Module['quit'](1, e); - } - } finally { - calledMain = true; - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - writeStackCookie(); - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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(); - } - checkStackCookie(); -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - process['exit'](status); - } - Module['quit'](status, new ExitStatus(status)); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/examples/web/models/resources/angle_gauge.png b/examples/web/models/resources/angle_gauge.png index 120f360..f7871de 100644 Binary files a/examples/web/models/resources/angle_gauge.png and b/examples/web/models/resources/angle_gauge.png differ diff --git a/examples/web/models/resources/dresden_square.hdr b/examples/web/models/resources/dresden_square.hdr new file mode 100644 index 0000000..b6d0e77 Binary files /dev/null and b/examples/web/models/resources/dresden_square.hdr differ diff --git a/examples/web/models/resources/guy/guy.blend b/examples/web/models/resources/guy/guy.blend new file mode 100644 index 0000000..3880467 Binary files /dev/null and b/examples/web/models/resources/guy/guy.blend differ diff --git a/examples/web/models/resources/guy/guy.iqm b/examples/web/models/resources/guy/guy.iqm new file mode 100644 index 0000000..36bed5e Binary files /dev/null and b/examples/web/models/resources/guy/guy.iqm differ diff --git a/examples/web/models/resources/guy/guyanim.iqm b/examples/web/models/resources/guy/guyanim.iqm new file mode 100644 index 0000000..824a68a Binary files /dev/null and b/examples/web/models/resources/guy/guyanim.iqm differ diff --git a/examples/web/models/resources/guy/guytex.png b/examples/web/models/resources/guy/guytex.png new file mode 100644 index 0000000..7f81355 Binary files /dev/null and b/examples/web/models/resources/guy/guytex.png differ diff --git a/examples/web/models/resources/model/dwarf.obj b/examples/web/models/resources/model/dwarf.obj deleted file mode 100644 index a24f0c1..0000000 --- a/examples/web/models/resources/model/dwarf.obj +++ /dev/null @@ -1,54966 +0,0 @@ -# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware -# File Created: 28.05.2015 21:59:00 - -mtllib Enano_Final_001.mtl - -# -# object Box001 -# - -v 0.387459278107 0.001037180424 -0.000000000000 -v 0.357966661453 0.000561296940 -0.148274183273 -v 0.273977041245 0.000000000000 -0.273975044489 -v 0.148276805878 -0.000561356544 -0.357965648174 -v 0.000002622604 -0.001037240028 -0.387459248304 -v -0.148271799088 -0.001355171204 -0.357965648174 -v -0.273973226547 -0.001466870308 -0.273975044489 -v -0.357964754105 -0.001355171204 -0.148274242878 -v -0.387459278107 -0.001037240028 -0.000000059605 -v -0.357966899872 -0.000561356544 0.148274183273 -v -0.273977279663 -0.000000059605 0.273975014687 -v -0.148276805878 0.000561296940 0.357965707779 -v -0.000002861023 0.001037180424 0.387459278107 -v 0.148271799088 0.001355111599 0.357965588570 -v 0.273973226547 0.001466810703 0.273974895477 -v 0.357964634895 0.001355111599 0.148274123669 -v 0.387031078339 0.161010622978 -0.000428199768 -v 0.357538461685 0.160534739494 -0.148702442646 -v 0.273548841476 0.159973442554 -0.274403274059 -v 0.147848606110 0.159412086010 -0.358393877745 -v -0.000425577164 0.158936202526 -0.387887477875 -v -0.148699998856 0.158618271351 -0.358393877745 -v -0.274401426315 0.158506572247 -0.274403274059 -v -0.358391761780 0.158147990704 -0.148701190948 -v -0.387881040573 0.156506061554 -0.000421762466 -v -0.358393907547 0.158941805363 0.147847235203 -v -0.274405479431 0.159973382950 0.273546814919 -v -0.148705244064 0.160534739494 0.357537508011 -v -0.000431060791 0.161010622978 0.387031078339 -v 0.147843360901 0.161328554153 0.357537388802 -v 0.273545026779 0.161440253258 0.273546695709 -v 0.357536435127 0.161328554153 0.147845864296 -v 0.353100299835 0.160919785500 -0.000428199768 -v 0.326190590858 0.160485565662 -0.135717749596 -v 0.249556064606 0.159973442554 -0.250410705805 -v 0.134863615036 0.159461259842 -0.327046126127 -v -0.000425815582 0.159027040005 -0.353956878185 -v -0.135715484619 0.158736944199 -0.327046126127 -v -0.250409126282 0.158635079861 -0.250410705805 -v -0.327044963837 0.158685207367 -0.135717630386 -v -0.353955745697 0.158622086048 -0.000427186489 -v -0.327047109604 0.159409523010 0.134861409664 -v -0.250412702560 0.159973382950 0.249554216862 -v -0.135720252991 0.160485565662 0.326189637184 -v -0.000430822372 0.160919785500 0.353100419044 -v 0.134859085083 0.161209881306 0.326189637184 -v 0.249552488327 0.161311805248 0.249554157257 -v 0.326188802719 0.161209881306 0.134861171246 -v 0.353296518326 0.087664961815 -0.000232100487 -v 0.326386690140 0.087230741978 -0.135521650314 -v 0.249752044678 0.086718618870 -0.250214606524 -v 0.135059833527 0.086206436157 -0.326850026846 -v -0.000229597092 0.085772216320 -0.353760749102 -v -0.135519504547 0.085482120514 -0.326850026846 -v -0.250212907791 0.085380256176 -0.250214606524 -v -0.326848983765 0.085482120514 -0.135521650314 -v -0.353760719299 0.085772216320 -0.000232160091 -v -0.326851129532 0.086206436157 0.135057389736 -v -0.250216484070 0.086718559265 0.249750316143 -v -0.135524034500 0.087230741978 0.326385736465 -v -0.000234603882 0.087664961815 0.353296518326 -v 0.135055065155 0.087955057621 0.326385736465 -v 0.249748706818 0.088056981564 0.249750256538 -v 0.326384902000 0.087955057621 0.135057270527 -v 0.375676870346 0.177378296852 -0.000472128391 -v 0.364366769791 0.177348017693 -0.000472128391 -v 0.347045183182 0.176916301250 -0.144418120384 -v 0.336596012115 0.176899909973 -0.140089869499 -v 0.265507221222 0.176371395588 -0.266449689865 -v 0.257509708405 0.176371395588 -0.258452177048 -v 0.143476247787 0.175826430321 -0.347988516092 -v 0.139147996902 0.175842821598 -0.337539315224 -v -0.000469446182 0.175364434719 -0.376621156931 -v -0.000469684601 0.175394713879 -0.365310996771 -v -0.144415855408 0.175055742264 -0.347988516092 -v -0.140087604523 0.175095319748 -0.337539315224 -v -0.266447782516 0.174947381020 -0.266449689865 -v -0.258450269699 0.174990177155 -0.258452177048 -v -0.347987651825 0.175055742264 -0.144418120384 -v -0.337538242340 0.175095319748 -0.140089929104 -v -0.376621246338 0.175364434719 -0.000472187996 -v -0.365311145782 0.175394713879 -0.000472187996 -v -0.347989559174 0.175826430321 0.143473863602 -v -0.337540388107 0.175842821598 0.139145612717 -v -0.266451835632 0.176371335983 0.265505313873 -v -0.258454084396 0.176371335983 0.257507801056 -v -0.144420623779 0.176916301250 0.347044229507 -v -0.140092372894 0.176899909973 0.336595058441 -v -0.000474929810 0.177378296852 0.375676870346 -v -0.000474691391 0.177348017693 0.364366769791 -v 0.143471479416 0.177686989307 0.347044229507 -v 0.139143228531 0.177647411823 0.336595058441 -v 0.265503644943 0.177795350552 0.265505313873 -v 0.257506132126 0.177752554417 0.257507801056 -v 0.347043275833 0.177686989307 0.143473744392 -v 0.336594104767 0.177647411823 0.139145493507 -v -0.260723114014 0.157754421234 -0.259547352791 -v 0.188534498215 0.162128329277 0.220312714577 -v 0.150835990906 0.255903840065 -0.122018277645 -v -0.367745399475 0.145474791527 -0.000509381294 -v 0.326006412506 0.188046872616 0.061991870403 -v -0.140351295471 0.145963966846 0.338536977768 -v -0.092543125153 0.133517801762 0.209983170033 -v -0.045091629028 0.219104647636 0.071014165878 -v 0.117162466049 0.138920009136 0.148487687111 -v 0.094516038895 0.211338222027 0.006093084812 -v 0.141849040985 0.167456209660 -0.338641077280 -v -0.132145881653 0.224308967590 -0.168267190456 -v -0.290617465973 0.153861880302 0.041577756405 -v 0.232747793198 0.220157623291 -0.020193576813 -v -0.104435920715 0.156720459461 0.107542216778 -v 0.261220932007 0.215893089771 0.140530586243 -v 0.339339137077 0.144055008888 0.139837384224 -v 0.232198715210 0.238567829132 -0.074207901955 -v 0.139328241348 0.221993207932 -0.251845806837 -v 0.001096725464 0.115566849709 0.232506930828 -v 0.235008478165 0.183093011379 -0.224647879601 -v 0.025869607925 0.220658242702 0.010586977005 -v -0.260028839111 0.142340183258 0.258761763573 -v 0.149353027344 0.195868253708 0.071023166180 -v -0.312650203705 0.150955259800 0.143607854843 -v -0.012047052383 0.257859528065 -0.223151683807 -v -0.092512130737 0.135187923908 0.292060732841 -v -0.015312671661 0.255189657211 -0.138771057129 -v 0.137337684631 0.183658897877 -0.296297132969 -v -0.172811269760 0.177352190018 -0.007483303547 -v 0.223266124725 0.217488348484 0.090728402138 -v 0.064405202866 0.252335906029 -0.226450979710 -v -0.188626766205 0.189203381538 -0.061699330807 -v 0.016028881073 0.124756276608 0.299646496773 -v 0.089669704437 0.233257532120 -0.075778305531 -v 0.139914751053 0.137555956841 0.338332772255 -v 0.284914731979 0.198863744736 -0.022770822048 -v 0.304054975510 0.196833968163 0.028051853180 -v -0.097067356110 0.222885787487 -0.054254412651 -v -0.237313508987 0.144842386246 0.232705712318 -v 0.269050121307 0.216346383095 0.051027357578 -v -0.120793342590 0.202318608761 0.021182298660 -v -0.339625835419 0.138534486294 0.138899505138 -v 0.037177801132 0.231764197350 -0.090419173241 -v 0.143469810486 0.149774491787 0.195432603359 -v 0.293514966965 0.187747895718 -0.097219467163 -v -0.168785572052 0.151870310307 0.060518741608 -v 0.020806550980 0.266882598400 -0.172512531281 -v 0.259666919708 0.145984232426 0.258646607399 -v 0.034334182739 0.252145409584 -0.135116934776 -v -0.140362977982 0.156036436558 -0.339551180601 -v 0.032037258148 0.132924497128 0.150658845901 -v 0.366469740868 0.153844237328 -0.000785291195 -v -0.013993501663 0.172754645348 0.088831484318 -v 0.075382471085 0.258517682552 -0.122498214245 -v -0.144392013550 0.200841248035 -0.234057486057 -v 0.200603008270 0.174400389194 0.172962725163 -v -0.017191648483 0.226316809654 0.000772595406 -v 0.077378988266 0.224100291729 -0.039400041103 -v -0.000497341156 0.134032607079 0.366490840912 -v 0.338284015656 0.156314671040 -0.141668856144 -v -0.153885364532 0.204451203346 -0.099687397480 -v 0.195820569992 0.205458104610 0.131933152676 -v 0.216483592987 0.239142835140 -0.141529560089 -v -0.048132896423 0.252258181572 -0.187425732613 -v 0.048329114914 0.181412041187 0.058874249458 -v 0.297631740570 0.188538789749 0.118461728096 -v 0.094685554504 0.275856882334 -0.177895724773 -v 0.291773080826 0.176003396511 0.168679654598 -v 0.258277654648 0.169047772884 -0.258827954531 -v -0.025267601013 0.222986042500 -0.080369651318 -v -0.082452535629 0.196722209454 -0.287426501513 -v -0.052076101303 0.149037420750 0.130536139011 -v 0.078437328339 0.166446685791 -0.351232022047 -v -0.079320430756 0.196040034294 0.077153921127 -v 0.147503852844 0.252151966095 -0.186089634895 -v -0.237520694733 0.165661454201 -0.003286302090 -v -0.029679536819 0.118149220943 0.186804175377 -v 0.181889533997 0.212109684944 -0.008958518505 -v -0.094622135162 0.229876041412 -0.137650251389 -v 0.069519281387 0.135161101818 0.174413204193 -v 0.278537750244 0.214016139507 0.012907266617 -v -0.000745296478 0.139973580837 0.130587935448 -v 0.161170482635 0.208140671253 0.035515487194 -v -0.166126012802 0.139393448830 0.192975401878 -v 0.290117979050 0.177705764771 -0.146035611629 -v 0.020158529282 0.206230044365 0.052492976189 -v -0.134399890900 0.143064141273 0.142413377762 -v -0.266332864761 0.169014453888 -0.063792705536 -v 0.132324457169 0.250333786011 -0.097359597683 -v 0.001193761826 0.159170746803 -0.367280960083 -v -0.188598394394 0.189268946648 -0.191226005554 -v 0.097879648209 0.156538784504 0.109527528286 -v 0.203623294830 0.224369049072 -0.037161529064 -v -0.129595041275 0.211527705193 -0.041961491108 -v -0.339376449585 0.143820405006 -0.140513777733 -v 0.205133199692 0.213180243969 -0.004063129425 -v 0.233246803284 0.214453101158 -0.008401036263 -v 0.206484079361 0.212388336658 0.016018033028 -v 0.242507219315 0.213977515697 0.010456264019 -v 0.209819316864 0.211635589600 0.041306018829 -v 0.251682043076 0.213515639305 0.034897506237 -v 0.219023942947 0.211915493011 0.102876901627 -v 0.255498886108 0.213328659534 0.102843940258 -v 0.209807872772 0.211321473122 0.073793649673 -v 0.260978460312 0.213306427002 0.070012688637 -v 0.218056917191 0.213957488537 -0.009956002235 -v 0.237318038940 0.212719857693 0.106576442719 -v 0.201871395111 0.223009884357 -0.005214691162 -v 0.234170436859 0.224603056908 -0.010290384293 -v 0.201443910599 0.221436142921 0.017751872540 -v 0.247167825699 0.223902463913 0.009773075581 -v 0.204860687256 0.220546007156 0.042006075382 -v 0.256182670593 0.223231375217 0.033681809902 -v 0.217150449753 0.220006823540 0.104498565197 -v 0.257226705551 0.222062766552 0.105154514313 -v 0.202792167664 0.219771981239 0.074708163738 -v 0.266690969467 0.222605288029 0.069311499596 -v 0.216041564941 0.224303185940 -0.016883432865 -v 0.236886978149 0.220857679844 0.113419055939 -v 0.201165676117 0.241792380810 -0.002464711666 -v 0.235595226288 0.243774831295 -0.008793592453 -v 0.200091838837 0.239008307457 0.019165515900 -v 0.248582601547 0.241591095924 0.009618818760 -v 0.203350067139 0.236650824547 0.041424393654 -v 0.256637573242 0.239299356937 0.032281756401 -v 0.218260288239 0.230036914349 0.104059219360 -v 0.253784656525 0.232075154781 0.103391885757 -v 0.206028461456 0.232413649559 0.076064765453 -v 0.216443300247 0.243729174137 -0.014796018600 -v 0.236021757126 0.231211543083 0.111301779747 -v 0.247812032700 0.238879442215 0.099651157856 -v 0.235158205032 0.239502251148 0.103205502033 -v 0.262071609497 0.235375046730 0.069712936878 -v 0.252540349960 0.260097324848 0.055052101612 -v 0.222467422485 0.237549602985 0.101014792919 -v 0.212550878525 0.258014202118 0.062277555466 -v 0.201892614365 0.345312535763 0.008776485920 -v 0.242216825485 0.349303513765 0.009433805943 -v 0.191249847412 0.342574447393 0.028094410896 -v 0.255865812302 0.346988528967 0.028772234917 -v 0.196735858917 0.339674323797 0.052435636520 -v 0.258110046387 0.343376874924 0.052006244659 -v 0.221249341965 0.348548620939 0.002917945385 -v 0.222075462341 0.356713175774 0.034231722355 -v 0.229865312576 0.337269216776 0.076513707638 -v 0.232888221741 0.263725697994 0.063763737679 -v 0.204312324524 0.270660489798 0.003390491009 -v 0.236067295074 0.272651731968 -0.001152694225 -v 0.200947046280 0.266749739647 0.023094773293 -v 0.249783754349 0.268808007240 0.012558996677 -v 0.202597379684 0.262279391289 0.042629957199 -v 0.255157470703 0.263839781284 0.032649099827 -v 0.218951225281 0.272833973169 -0.005811095238 -v 0.248102664948 0.339510381222 0.071823954582 -v 0.211038351059 0.337233841419 0.072277426720 -v 0.212896347046 0.211532533169 0.087992787361 -v 0.260196208954 0.213362693787 0.086466848850 -v 0.206652641296 0.219657599926 0.088583350182 -v 0.265573501587 0.222268044949 0.086174011230 -v 0.208487510681 0.231236219406 0.089933633804 -v 0.261114358902 0.233485519886 0.086178541183 -v 0.249599456787 0.241804718971 0.087328910828 -v 0.218761682510 0.240887939930 0.090320706367 -v 0.234282970428 0.244165539742 0.089901387691 -v 0.249197959900 0.245250940323 0.071763932705 -v 0.233741044998 0.248610019684 0.075530111790 -v 0.218100309372 0.243478000164 0.076156377792 -v 0.259891033173 0.237450182438 0.052915513515 -v 0.262217521667 0.222825467587 0.053764879704 -v 0.257991552353 0.213336646557 0.054791927338 -v 0.209878206253 0.211354732513 0.060339868069 -v 0.203500509262 0.219918906689 0.060940921307 -v 0.205494880676 0.234648823738 0.060976922512 -v 0.232362031937 0.296486437321 0.068670928478 -v 0.247957706451 0.297481447458 0.058879435062 -v 0.214935302734 0.296461522579 0.063020169735 -v 0.256248474121 0.300734728575 0.041230976582 -v 0.205139160156 0.308436393738 0.010030686855 -v 0.238288879395 0.311282992363 0.009258210659 -v 0.199443340302 0.304088622332 0.028930902481 -v 0.251448392868 0.306685805321 0.022934615612 -v 0.202795028687 0.299219369888 0.047689616680 -v 0.221186876297 0.311318457127 0.002745151520 -v 0.225008487701 0.352216601372 0.053049981594 -v 0.202267408371 0.358467698097 0.014773547649 -v 0.193837165833 0.356905907393 0.031560063362 -v 0.200456142426 0.354091018438 0.051699697971 -v 0.214915990829 0.351570516825 0.066617071629 -v 0.227507829666 0.352972269058 0.069517612457 -v 0.240033149719 0.354288905859 0.067502856255 -v 0.247437715530 0.356183379889 0.048327982426 -v 0.255626201630 0.361346334219 0.031195163727 -v 0.243300676346 0.363204896450 0.016159296036 -v 0.220804214478 0.361127465963 0.011520028114 -v -0.006412744522 0.219254732132 -0.070368289948 -v -0.034497737885 0.219416260719 -0.075179994106 -v -0.007551431656 0.219255983829 -0.050698041916 -v -0.043589591980 0.219416618347 -0.056793034077 -v -0.010588407516 0.219317317009 -0.025610864162 -v -0.052551269531 0.219525873661 -0.032343029976 -v -0.019434452057 0.219501733780 0.036931097507 -v -0.056055307388 0.219407021999 0.036677896976 -v -0.010255813599 0.219376742840 0.007310867310 -v -0.061593055725 0.219416677952 0.003298044205 -v -0.019374847412 0.219313621521 -0.076339542866 -v -0.037804126740 0.219456374645 0.040600121021 -v -0.003419399261 0.229272305965 -0.072110950947 -v -0.035720348358 0.229651033878 -0.077736675739 -v -0.002564668655 0.228819966316 -0.049440383911 -v -0.048538923264 0.229538142681 -0.058115601540 -v -0.005802154541 0.228773951530 -0.025171041489 -v -0.057313680649 0.229480981827 -0.033867120743 -v -0.017800569534 0.228000402451 0.038410604000 -v -0.058048009872 0.228443384171 0.038873791695 -v -0.003192663193 0.228343427181 0.008078634739 -v -0.067610979080 0.228918552399 0.002470076084 -v -0.017654657364 0.229513227940 -0.083801627159 -v -0.037597417831 0.228035628796 0.047402024269 -v -0.003135919571 0.248828172684 -0.071072876453 -v -0.037687301636 0.249413430691 -0.078146457672 -v -0.001599311829 0.247187077999 -0.049244463444 -v -0.050426006317 0.247864484787 -0.059458792210 -v -0.004717350006 0.245696306229 -0.026384413242 -v -0.058178663254 0.246295332909 -0.035779118538 -v -0.019185543060 0.238504111767 0.037673413754 -v -0.054839372635 0.239117026329 0.036907553673 -v -0.006999969482 0.241730749607 0.009231150150 -v -0.018567800522 0.249538004398 -0.083647012711 -v -0.037009954453 0.238889813423 0.044985234737 -v -0.049028873444 0.246678113937 0.033095300198 -v -0.036361932755 0.247815668583 0.036695182323 -v -0.063289403915 0.242662429810 0.002855598927 -v -0.054507970810 0.268849194050 -0.014230966568 -v -0.023601055145 0.246319174767 0.034479141235 -v -0.014294147491 0.268415987492 -0.006592750549 -v -0.007125854492 0.352546513081 -0.070307731628 -v -0.047215461731 0.354491233826 -0.074513196945 -v 0.003531694412 0.351069599390 -0.050791621208 -v -0.060627460480 0.352100074291 -0.057532072067 -v -0.001306772232 0.349359750748 -0.028730213642 -v -0.062292337418 0.349174886942 -0.036085724831 -v -0.026328802109 0.354579001665 -0.078574538231 -v -0.027374744415 0.363825768232 -0.050758659840 -v -0.033916950226 0.346315592527 -0.004494011402 -v -0.034796714783 0.273458153009 -0.005827486515 -v -0.007123708725 0.278406739235 -0.068862497807 -v -0.038926839828 0.278996378183 -0.074869096279 -v -0.003371477127 0.275840729475 -0.048226654530 -v -0.052319049835 0.275491327047 -0.060075223446 -v -0.004662275314 0.272252291441 -0.027530074120 -v -0.057320117950 0.271499335766 -0.038320362568 -v -0.021856307983 0.279480308294 -0.079001605511 -v -0.051886796951 0.346334606409 -0.018019616604 -v -0.015472888947 0.347499132156 -0.012708246708 -v -0.013341426849 0.219453394413 0.021781980991 -v -0.060760498047 0.219377577305 0.020002603531 -v -0.007234573364 0.228128254414 0.022226035595 -v -0.066421747208 0.228480756283 0.019553661346 -v -0.009428262711 0.240280926228 0.023335456848 -v -0.062236309052 0.240545749664 0.019495189190 -v -0.050906419754 0.249981880188 0.020713865757 -v -0.019988298416 0.250182330608 0.023671388626 -v -0.035615205765 0.253143727779 0.023297965527 -v -0.050571680069 0.253851354122 0.004940390587 -v -0.035207986832 0.258085966110 0.008688688278 -v -0.019476890564 0.253200232983 0.009263873100 -v -0.061208486557 0.244841516018 -0.014327108860 -v -0.063190460205 0.229270637035 -0.013317525387 -v -0.058711767197 0.219515621662 -0.012146055698 -v -0.010442733765 0.219379901886 -0.006376981735 -v -0.004127025604 0.228489577770 -0.005963206291 -v -0.006670236588 0.244056880474 -0.006213486195 -v -0.035041809082 0.306504577398 -0.012205660343 -v -0.050817012787 0.305917531252 -0.022203505039 -v -0.017575979233 0.306866586208 -0.015941679478 -v -0.059380531311 0.307994395494 -0.039807379246 -v -0.009127378464 0.316277623177 -0.068142294884 -v -0.042343616486 0.317533701658 -0.072862088680 -v -0.003009557724 0.313361108303 -0.048151373863 -v -0.055118322372 0.313115835190 -0.059049367905 -v -0.005843162537 0.309433162212 -0.029619455338 -v -0.025185585022 0.317963033915 -0.077642977238 -v -0.029360532761 0.360437393188 -0.033840239048 -v -0.013695001602 0.365091145039 -0.063374280930 -v -0.005713224411 0.364561080933 -0.049769103527 -v -0.006861448288 0.363386452198 -0.031659960747 -v -0.019543409348 0.360915482044 -0.018560290337 -v -0.032689571381 0.360493153334 -0.010817825794 -v -0.045087814331 0.359358161688 -0.021629929543 -v -0.058130502701 0.362013280392 -0.034903645515 -v -0.055710792542 0.363338232040 -0.056892096996 -v -0.040955543518 0.367505073547 -0.065858364105 -v -0.026666879654 0.366931766272 -0.066344976425 -v 0.019335746765 0.891146719456 0.147463440895 -v 0.077193498611 0.876855552197 -0.156872689724 -v 0.077016353607 0.674709022045 -0.110481500626 -v 0.026651859283 0.777218222618 0.134643375874 -v 0.027640104294 0.662163913250 0.117864131927 -v 0.092115879059 0.819933474064 0.165385544300 -v 0.022340536118 0.851363182068 0.150859296322 -v 0.081831455231 0.861464142799 0.176887631416 -v 0.145524740219 0.883852779865 0.172923028469 -v 0.158493518829 0.841617703438 0.157872855663 -v 0.277504920959 1.007843017578 0.047269701958 -v 0.272853851318 1.025377511978 0.051120281219 -v 0.286534786224 1.034585952759 0.047402620316 -v 0.302318572998 0.995641767979 0.049039125443 -v 0.262354612350 0.997510433197 0.039628624916 -v 0.254748582840 1.029515981674 0.052300691605 -v 0.286922931671 0.964170455933 0.051867485046 -v 0.263444900513 0.934777021408 -0.010773301125 -v 0.278232336044 0.898669064045 -0.017279744148 -v 0.282225131989 0.895403862000 -0.048148393631 -v 0.268206119537 0.922013401985 -0.048899114132 -v 0.263873815536 0.932216346264 -0.047488868237 -v 0.249542474747 0.950950801373 -0.014343142509 -v 0.242866039276 0.973144650459 0.013231754303 -v 0.257011651993 0.958706617355 0.025045931339 -v 0.272060394287 0.937663674355 0.036257743835 -v 0.267414808273 0.922991752625 0.012871444225 -v 0.282770156860 0.902756571770 0.011130094528 -v 0.123666524887 0.582465767860 -0.075673460960 -v 0.149766921997 0.525964796543 -0.038310170174 -v 0.177918195724 0.547954797745 -0.041567981243 -v 0.164103984833 0.607049584389 -0.064459025860 -v 0.103845834732 0.528503477573 -0.026832699776 -v 0.132575511932 0.506744384766 -0.010294854641 -v 0.262545824051 0.962624549866 -0.120018243790 -v 0.277079582214 0.942464232445 -0.121075093746 -v 0.283565044403 0.978037595749 -0.130021154881 -v 0.242907762527 1.002508759499 -0.135505557060 -v 0.261280298233 0.944051027298 -0.092559337616 -v 0.272555112839 0.925887763500 -0.087273895741 -v 0.231066703796 0.961506426334 -0.136641144753 -v 0.218405961990 0.840843498707 0.091216206551 -v 0.210432529449 0.794565856457 0.084894001484 -v 0.186074256897 0.768438935280 0.106157541275 -v 0.168217658997 0.802124977112 0.130858242512 -v 0.239678859711 0.831269502640 0.040043413639 -v 0.225566387177 0.781253993511 0.055830478668 -v 0.209580659866 0.882061362267 0.132225513458 -v 0.155940294266 0.740337014198 0.119884729385 -v 0.106715440750 0.770864248276 0.151021718979 -v 0.178981781006 0.699676811695 0.084566056728 -v 0.182432651520 0.725065171719 0.095114350319 -v 0.204370975494 0.743299126625 0.076818108559 -v 0.213043212891 0.707077801228 0.041539013386 -v 0.136242151260 0.711864829063 0.109547138214 -v 0.155378341675 0.589013695717 0.109423935413 -v 0.137723207474 0.638659536839 0.112122654915 -v 0.171539545059 0.636296868324 0.090351223946 -v 0.201073408127 0.608585000038 0.070430636406 -v 0.217098474503 0.565734565258 0.062991678715 -v 0.191636562347 0.555289149284 0.088190674782 -v 0.150764703751 1.090515971184 0.031594216824 -v 0.133168458939 1.064684152603 0.068517208099 -v 0.107606649399 1.083139657974 0.037304639816 -v 0.119329452515 1.104554176331 0.014675736427 -v 0.187176704407 1.110415458679 0.029244542122 -v 0.202834844589 1.080092191696 0.052686989307 -v 0.179083585739 1.058245539665 0.064180791378 -v 0.160923242569 1.034242868423 0.096240758896 -v 0.254607439041 1.061115264893 0.052536368370 -v 0.220592498779 1.047652482986 0.058174490929 -v 0.231979370117 1.086294531822 0.047397136688 -v 0.231719017029 1.019516706467 0.049612939358 -v 0.293545246124 0.912459313869 0.040535092354 -v 0.235724687576 1.107659101486 0.028177142143 -v 0.274882793427 1.085638523102 0.028672218323 -v 0.096796751022 0.524665117264 0.020752966404 -v 0.121049642563 1.164031744003 -0.039851784706 -v 0.109050750732 1.171761870384 -0.060386240482 -v 0.151132822037 1.143172383308 -0.073541879654 -v 0.162862539291 1.139242529869 -0.047275900841 -v 0.166463375092 1.129762411118 -0.013145327568 -v 0.125269412994 1.148490905762 -0.022257208824 -v 0.222014427185 1.136164307594 -0.085919082165 -v 0.229552507401 1.134870767593 -0.049831032753 -v 0.233881950378 1.128509044647 -0.008981227875 -v 0.281436681747 1.108168125153 -0.051254689693 -v 0.281991004944 1.102712631226 -0.009698688984 -v 0.317685604095 1.067490458488 -0.049807429314 -v 0.317203044891 1.065495610237 -0.009583413601 -v 0.306344747543 1.052000999451 0.026935875416 -v 0.343569040298 1.024486541748 -0.007518947124 -v 0.329200625420 1.013627648354 0.025783419609 -v 0.366793274879 0.985834360123 -0.007350325584 -v 0.354122877121 0.976988136768 0.026278495789 -v 0.334745645523 0.958747029305 0.052049517632 -v 0.379283428192 0.947536230087 0.020861685276 -v 0.362321138382 0.928932666779 0.043664336205 -v 0.342812895775 0.907195210457 0.044864654541 -v 0.314275741577 0.935671687126 0.057043790817 -v 0.319790363312 0.888074278831 0.029314041138 -v 0.379310607910 0.902640283108 0.024499237537 -v 0.358928322792 0.880074322224 0.019105792046 -v 0.338169336319 0.861247479916 0.001740396023 -v 0.400299787521 0.877586364746 0.025739133358 -v 0.380050063133 0.852149724960 0.022235631943 -v 0.363364696503 0.827350735664 0.010587811470 -v 0.362974047661 0.811894834042 -0.017841279507 -v 0.332549810410 0.850514173508 -0.031367659569 -v 0.376002192497 0.802355408669 -0.049095809460 -v 0.339113950729 0.838486850262 -0.071368515491 -v 0.312850952148 0.871554672718 -0.076692581177 -v 0.306100845337 0.872793436050 -0.043697237968 -v 0.402581334114 0.810562849045 -0.068494379520 -v 0.367998600006 0.846436321735 -0.105324327946 -v 0.326204538345 0.882910430431 -0.107103466988 -v 0.432064533234 0.831387817860 -0.069692969322 -v 0.409785628319 0.862663328648 -0.103722870350 -v 0.452204942703 0.860042333603 -0.057465374470 -v 0.432444095612 0.890474557877 -0.088653087616 -v 0.403483510017 0.924710273743 -0.103032827377 -v 0.390702843666 0.900007128716 -0.125450611115 -v 0.458554625511 0.884764671326 -0.038810074329 -v 0.440712213516 0.916401028633 -0.064721584320 -v 0.409626007080 0.946123480797 -0.076701641083 -v 0.377049446106 0.978414773941 -0.079899370670 -v 0.369030594826 0.959930837154 -0.107197761536 -v 0.434939265251 0.931571722031 -0.036256074905 -v 0.403420209885 0.955381631851 -0.043758153915 -v 0.375007867813 0.986278414726 -0.043334543705 -v 0.346902847290 1.024103283882 -0.045506417751 -v 0.346037387848 1.015392422676 -0.082815170288 -v 0.391106963158 0.955277502537 -0.011757612228 -v 0.418347239494 0.931938529015 -0.009633421898 -v 0.398629426956 0.921277165413 0.011540293694 -v 0.441792011261 0.907627224922 0.005505323410 -v 0.420485854149 0.897287666798 0.019965410233 -v 0.454711556435 0.901762425900 -0.017239570618 -v 0.312911748886 1.057415366173 -0.085565030575 -v 0.301878452301 1.036462783813 -0.110103130341 -v 0.341517090797 0.998458266258 -0.115687966347 -v 0.291906356812 1.012423157692 -0.127237200737 -v 0.328496098518 0.970709323883 -0.136209249496 -v 0.354727029800 0.934686720371 -0.121113419533 -v 0.311561107635 0.939342975616 -0.134227514267 -v 0.340052127838 0.908680558205 -0.124131619930 -v 0.367459774017 0.884051918983 -0.123385787010 -v 0.297220230103 0.911664009094 -0.117913901806 -v 0.289204835892 0.899315834045 -0.083201110363 -v 0.250025033951 1.053760290146 -0.137834787369 -v 0.264823913574 1.083865046501 -0.119606435299 -v 0.201839447021 1.117434144020 -0.118024945259 -v 0.189693689346 1.079212427139 -0.142952740192 -v 0.277281999588 1.102975010872 -0.089239239693 -v 0.120431184769 1.085181832314 -0.138198077679 -v 0.121253252029 1.037931799889 -0.155860960484 -v 0.184354066849 1.029958724976 -0.157751560211 -v 0.119925260544 1.132153749466 -0.108325600624 -v 0.123482465744 0.987731099129 -0.170279264450 -v 0.180538892746 0.979573845863 -0.163978517056 -v 0.125545501709 0.932765841484 -0.173250615597 -v 0.179258108139 0.925383329391 -0.162734568119 -v 0.227316141129 0.914090216160 -0.128659784794 -v 0.178707361221 0.866539001465 -0.151616394520 -v 0.224370002747 0.859528779984 -0.116147398949 -v 0.256502151489 0.857412219048 -0.071282267570 -v 0.259006500244 0.905853331089 -0.084065675735 -v 0.258020401001 0.867200314999 -0.023059964180 -v 0.263725519180 0.906981647015 -0.038188934326 -v 0.246686458588 0.885027527809 0.019917786121 -v 0.248519420624 0.927023947239 0.000404238701 -v 0.239131689072 0.904338777065 0.060729622841 -v 0.241918325424 0.948883771896 0.032647311687 -v 0.229748249054 0.932023048401 0.094542920589 -v 0.231833934784 0.972128450871 0.056386351585 -v 0.237094879150 0.996514856815 0.032092094421 -v 0.225894212723 0.997993648052 0.079689145088 -v 0.216531753540 0.964301168919 0.116260170937 -v 0.190495014191 0.998777031898 0.114465355873 -v 0.204521656036 1.026806235313 0.079624712467 -v 0.192690134048 0.921263933182 0.150567412376 -v 0.164333105087 0.961874485016 0.145105898380 -v 0.135314941406 1.002291202545 0.123882234097 -v 0.122396469116 0.928251743317 0.165373027325 -v 0.099461555481 0.973314642906 0.142395615578 -v 0.080953598022 1.017653703690 0.112643778324 -v 0.110545635223 1.040468931198 0.096353948116 -v 0.067555904388 1.051582455635 0.072920858860 -v 0.089736461639 1.065327763557 0.058615803719 -v 0.057373523712 0.952757716179 0.147553682327 -v 0.047913312912 1.000822305679 0.117389440536 -v 0.042551279068 1.041895747185 0.078767657280 -v 0.069515228271 0.905283331871 0.168992578983 -v 0.244445800781 0.817365288734 -0.006311953068 -v 0.244346380234 0.804270505905 -0.054641485214 -v 0.217851400375 0.751652359962 -0.033641099930 -v 0.227277755737 0.763818323612 0.012114584446 -v 0.197771310806 0.745314657688 -0.074247181416 -v 0.188985824585 0.683782935143 -0.054120063782 -v 0.209798336029 0.693763196468 -0.014226317406 -v 0.216273546219 0.801639676094 -0.098835766315 -v 0.174543857574 0.806066751480 -0.130712211132 -v 0.165594577789 0.745285034180 -0.103144109249 -v 0.123121976852 0.748481452465 -0.116453528404 -v 0.120306491852 0.673266887665 -0.099647700787 -v 0.158249378204 0.678283751011 -0.080645978451 -v 0.126316308975 0.812821507454 -0.142758727074 -v 0.126960277557 0.873750686646 -0.163805663586 -v 0.068856477737 0.984705030918 -0.177298188210 -v 0.055420398712 1.084348678589 -0.154314756393 -v 0.046322107315 1.128087520599 -0.128710865974 -v 0.075109720230 0.593776226044 -0.089249253273 -v 0.192573547363 0.621916353703 -0.036496400833 -v 0.203611850739 0.571760535240 -0.021339297295 -v 0.217868804932 0.595229387283 0.017003238201 -v 0.213207960129 0.638992846012 0.003613412380 -v 0.204703092575 0.652575969696 0.048748970032 -v 0.170325040817 0.665199697018 0.078543841839 -v 0.130563020706 0.677610635757 0.104269742966 -v 0.083450555801 0.650120198727 0.126545190811 -v 0.081408262253 0.691678225994 0.131133735180 -v 0.086372137070 0.729118704796 0.137566983700 -v 0.026894569397 0.740492343903 0.127000212669 -v 0.088793277740 0.606545627117 0.116948366165 -v 0.091482639313 0.568313062191 0.093596041203 -v 0.093423366547 0.540040552616 0.060054659843 -v 0.137021780014 0.550631523132 0.090929865837 -v 0.129982471466 0.524636745453 0.061635315418 -v 0.129219055176 0.512163639069 0.027145802975 -v 0.155890464783 0.512163281441 0.061540365219 -v 0.151852607727 0.501129508018 0.032996356487 -v 0.151466369629 0.490233093500 0.004889369011 -v 0.164501428604 0.473722547293 0.017774462700 -v 0.166211366653 0.483703285456 0.041170895100 -v 0.176519632339 0.462068229914 0.050208270550 -v 0.178006410599 0.457004278898 0.029782295227 -v 0.190201759338 0.459076434374 0.014697730541 -v 0.178750276566 0.478803396225 0.000907838345 -v 0.166320323944 0.497839301825 -0.015286624432 -v 0.207526922226 0.465957105160 0.009304404259 -v 0.199348926544 0.490522235632 -0.004005312920 -v 0.189775466919 0.514920592308 -0.020356297493 -v 0.225358963013 0.475811570883 0.017339110374 -v 0.221742391586 0.505469441414 0.004819691181 -v 0.213993549347 0.536153674126 -0.007584154606 -v 0.236834526062 0.485237836838 0.038113415241 -v 0.233140468597 0.520117580891 0.029869019985 -v 0.226602554321 0.556548476219 0.023947119713 -v 0.239451885223 0.491162627935 0.065631270409 -v 0.229833841324 0.528143048286 0.060667395592 -v 0.239911079407 0.454511433840 0.042522192001 -v 0.245521306992 0.457225382328 0.067053318024 -v 0.237636566162 0.455539733171 0.084717154503 -v 0.226967334747 0.489047199488 0.082951843739 -v 0.211964607239 0.523329734802 0.080300390720 -v 0.217800378799 0.450385510921 0.087392747402 -v 0.206350564957 0.480243116617 0.084223449230 -v 0.190374135971 0.509804129601 0.078286647797 -v 0.183592557907 0.468741506338 0.072134256363 -v 0.173839807510 0.494874238968 0.062670707703 -v 0.168895244598 0.532966911793 0.083921194077 -v 0.194311380386 0.443297296762 0.078714847565 -v 0.186420440674 0.440069437027 0.057327508926 -v 0.193065404892 0.417387604713 0.057190775871 -v 0.203305721283 0.417975842953 0.076225996017 -v 0.205404996872 0.391247153282 0.066273987293 -v 0.194074869156 0.392329305410 0.049775362015 -v 0.190062761307 0.393557667732 0.030566751957 -v 0.192551136017 0.417236864567 0.037556171417 -v 0.188753843307 0.438155025244 0.037616431713 -v 0.199758052826 0.395951777697 0.012652158737 -v 0.201189756393 0.418664783239 0.020802915096 -v 0.198827505112 0.439186781645 0.022741913795 -v 0.220117330551 0.398994356394 0.008019566536 -v 0.217715263367 0.422239899635 0.015295565128 -v 0.213492631912 0.443650007248 0.018471002579 -v 0.236896991730 0.400686651468 0.011681675911 -v 0.232114553452 0.425558745861 0.022678315639 -v 0.227942943573 0.449451982975 0.025451838970 -v 0.247877597809 0.399994522333 0.024417579174 -v 0.242132186890 0.427206337452 0.038007915020 -v 0.250198125839 0.367911368608 0.023290991783 -v 0.239138841629 0.370674878359 0.011764705181 -v 0.234215259552 0.326959192753 0.024860799313 -v 0.239667415619 0.325394153595 0.032651007175 -v 0.239298582077 0.323285490274 0.041500747204 -v 0.250197172165 0.363285213709 0.041953921318 -v 0.248555660248 0.397186785936 0.044638574123 -v 0.236860036850 0.320421725512 0.050307810307 -v 0.239134788513 0.358723700047 0.058663964272 -v 0.239214897156 0.393967717886 0.063256323338 -v 0.230540990829 0.316507697105 0.058507502079 -v 0.225771665573 0.354905188084 0.069335877895 -v 0.224077701569 0.390892267227 0.075807273388 -v 0.220066547394 0.317402213812 0.054555177689 -v 0.211529970169 0.357036679983 0.059551179409 -v 0.212295293808 0.320155978203 0.044720351696 -v 0.198891878128 0.359852999449 0.045892953873 -v 0.208841085434 0.323172211647 0.033653140068 -v 0.194800376892 0.364280372858 0.028407096863 -v 0.212930202484 0.325841575861 0.024493038654 -v 0.203210353851 0.368161261082 0.013654232025 -v 0.223614931107 0.327202796936 0.020913243294 -v 0.221999883652 0.371129333973 0.011114120483 -v 0.299593925476 0.875928103924 -0.016731262207 -v 0.305377960205 0.881739974022 0.006167829037 -v 0.124761581421 1.127089619637 -0.005370020866 -v 0.144920587540 1.114051818848 -0.000504493713 -v 0.320274353027 0.867451727390 -0.003048002720 -v 0.317344665527 0.863656222820 -0.015280425549 -v 0.081691741943 1.171155452728 -0.082533001900 -v 0.489620566368 0.754746913910 0.055047810078 -v 0.492703795433 0.744488835335 0.057417750359 -v 0.500872254372 0.748085975647 0.052790284157 -v 0.503330826759 0.759612381458 0.050021946430 -v 0.455907583237 0.767686963081 0.180662214756 -v 0.448605775833 0.763490140438 0.179388940334 -v 0.454131126404 0.774452686310 0.183209419250 -v 0.512239336967 0.719803869724 0.108971118927 -v 0.513665318489 0.712346911430 0.098931610584 -v 0.501137852669 0.723156571388 0.088684141636 -v 0.498448848724 0.729723930359 0.098093867302 -v 0.506369471550 0.735136747360 0.129543185234 -v 0.510510444641 0.727772593498 0.119067549706 -v 0.495698451996 0.736607313156 0.107330560684 -v 0.491642713547 0.742265939713 0.117717981339 -v 0.492995619774 0.730934858322 0.070337891579 -v 0.488109588623 0.732578217983 0.080537736416 -v 0.505285978317 0.719612061977 0.078231096268 -v 0.525172829628 0.681995272636 0.167945027351 -v 0.521392345428 0.683978497982 0.175799846649 -v 0.521812319756 0.691806197166 0.180061340332 -v 0.519139647484 0.787753224373 0.090079247952 -v 0.529436826706 0.773348331451 0.102756619453 -v 0.523522257805 0.779470205307 0.115589499474 -v 0.511284351349 0.795331001282 0.102586388588 -v 0.539867997169 0.729618787766 0.089468300343 -v 0.531417727470 0.747590124607 0.073452115059 -v 0.527307748795 0.738277912140 0.066966652870 -v 0.535834193230 0.725835144520 0.077996909618 -v 0.523569345474 0.720503687859 0.128831326962 -v 0.526804924011 0.719818413258 0.135298848152 -v 0.537645578384 0.725556254387 0.133212625980 -v 0.540601491928 0.730802595615 0.123283326626 -v 0.534850597382 0.748413085938 0.143720269203 -v 0.533050775528 0.738149583340 0.147188425064 -v 0.521691203117 0.732560038567 0.148685574532 -v 0.515544414520 0.738024771214 0.147808253765 -v 0.521300554276 0.711467444897 0.118006944656 -v 0.506483316422 0.747644484043 0.153991520405 -v 0.502677559853 0.742156207561 0.140237092972 -v 0.501390576363 0.751134574413 0.149526238441 -v 0.541826605797 0.742310583591 0.123451471329 -v 0.541710376740 0.746488988400 0.128475904465 -v 0.540703296661 0.751621305943 0.123491525650 -v 0.541983366013 0.746656119823 0.119618058205 -v 0.532743930817 0.764434099197 0.148749291897 -v 0.529609441757 0.768829822540 0.144122123718 -v 0.533065080643 0.763605058193 0.139945745468 -v 0.534711122513 0.759675085545 0.143647730350 -v 0.519114732742 0.724147796631 0.142600655556 -v 0.515840530396 0.728727519512 0.137992262840 -v 0.540112376213 0.734770715237 0.138869524002 -v 0.540696740150 0.740617036819 0.133606433868 -v 0.522036075592 0.709590852261 0.079642355442 -v 0.515752315521 0.708322763443 0.088428199291 -v 0.523067712784 0.698891818523 0.096575498581 -v 0.528108596802 0.700006604195 0.087751507759 -v 0.538988947868 0.715688526630 0.081110537052 -v 0.540867447853 0.712676644325 0.084093391895 -v 0.543041229248 0.715164959431 0.088397443295 -v 0.540838479996 0.719581723213 0.084006726742 -v 0.506251692772 0.761048257351 0.153887510300 -v 0.509725928307 0.757334053516 0.158531010151 -v 0.525017738342 0.770337998867 0.149724423885 -v 0.527247309685 0.767623901367 0.152778089046 -v 0.526124477386 0.703662514687 0.107429325581 -v 0.541818618774 0.721548616886 0.089130938053 -v 0.543096542358 0.717609286308 0.092653989792 -v 0.514024734497 0.685954689980 0.172047317028 -v 0.515303611755 0.692099928856 0.177232980728 -v 0.518338084221 0.682923436165 0.165953993797 -v 0.535277485847 0.708344936371 0.147681176662 -v 0.524157166481 0.704845070839 0.148237943649 -v 0.523532152176 0.699540019035 0.152397453785 -v 0.534913420677 0.702481508255 0.152555465698 -v 0.519562959671 0.716747760773 0.161118566990 -v 0.530426263809 0.720963180065 0.161624073982 -v 0.530594706535 0.714648783207 0.166401624680 -v 0.519082903862 0.711292505264 0.165497899055 -v 0.516831398010 0.709372937679 0.154453039169 -v 0.516183376312 0.703925609589 0.158576548100 -v 0.538677573204 0.715157747269 0.155361831188 -v 0.538471341133 0.711140751839 0.158608913422 -v 0.533556699753 0.693566560745 0.159267961979 -v 0.521171927452 0.692192018032 0.156506180763 -v 0.519478797913 0.686819851398 0.160811662674 -v 0.531105518341 0.687699437141 0.163550257683 -v 0.516932487488 0.704223155975 0.170683681965 -v 0.529407978058 0.705302298069 0.173214852810 -v 0.527298688889 0.699028372765 0.177262067795 -v 0.515662312508 0.698305785656 0.174661695957 -v 0.512620925903 0.697871327400 0.162089228630 -v 0.511643767357 0.691746532917 0.166646361351 -v 0.537143468857 0.698810040951 0.168046832085 -v 0.535217404366 0.695275962353 0.170467853546 -v 0.537539839745 0.719420015812 0.138411521912 -v 0.526125192642 0.715106844902 0.139984965324 -v 0.524770259857 0.710178494453 0.144071102142 -v 0.534347414970 0.711749315262 0.141898036003 -v 0.521291613579 0.727184534073 0.152451038361 -v 0.531763315201 0.732593894005 0.152449965477 -v 0.526586532593 0.727051615715 0.158230066299 -v 0.519834280014 0.721794843674 0.156188130379 -v 0.519172072411 0.719282746315 0.146682977676 -v 0.518319606781 0.714717566967 0.150376081467 -v 0.542425036430 0.726674139500 0.146438956261 -v 0.541626691818 0.720945656300 0.142000854015 -v 0.540896654129 0.716939508915 0.144021809101 -v 0.542814254761 0.723198592663 0.149447917938 -v 0.538549065590 0.730741381645 0.152049660683 -v 0.537324070930 0.727843642235 0.155685722828 -v 0.540292024612 0.714531242847 0.147353291512 -v 0.541417002678 0.719230473042 0.152375280857 -v 0.537661671638 0.723493218422 0.157489120960 -v 0.522315740585 0.696558475494 0.153652429581 -v 0.532957553864 0.696634590626 0.154145359993 -v 0.526823282242 0.710777997971 0.170685768127 -v 0.517996311188 0.707997262478 0.167178988457 -v 0.514600038528 0.702156662941 0.159258484840 -v 0.540738582611 0.708825647831 0.160881042480 -v 0.539718866348 0.703809440136 0.156380772591 -v 0.539808750153 0.700395345688 0.157848179340 -v 0.541602373123 0.705698668957 0.163604915142 -v 0.537238717079 0.712285995483 0.166008591652 -v 0.536659955978 0.709942877293 0.169121146202 -v 0.539298772812 0.698089897633 0.160789132118 -v 0.540274739265 0.702055811882 0.166186392307 -v 0.536662101746 0.706197261810 0.170638501644 -v 0.540821313858 0.729771852493 0.143572688103 -v 0.534619212151 0.690335750580 0.174641072750 -v 0.534919500351 0.687159657478 0.171165943146 -v 0.534467816353 0.684770822525 0.172516167164 -v 0.533648490906 0.687150001526 0.176869094372 -v 0.533669948578 0.692957580090 0.178517937660 -v 0.532203197479 0.690804123878 0.179874420166 -v 0.528633236885 0.684847950935 0.177231550217 -v 0.531227588654 0.682927608490 0.170618474483 -v 0.534844160080 0.687096238136 0.168217778206 -v 0.534787893295 0.692861855030 0.172489643097 -v 0.532088637352 0.695515155792 0.178507089615 -v 0.528244614601 0.691161870956 0.180853903294 -v 0.542320370674 0.728663325310 0.099375784397 -v 0.542763829231 0.724370181561 0.102947711945 -v 0.543692111969 0.728317677975 0.108140170574 -v 0.543245792389 0.733878433704 0.103289365768 -v 0.539205074310 0.750491321087 0.133062005043 -v 0.538523197174 0.754346132278 0.129205644131 -v 0.543280839920 0.732618570328 0.112749457359 -v 0.543036103249 0.737028181553 0.108903169632 -v 0.531576871872 0.715822875500 0.076436996460 -v 0.537781238556 0.706454157829 0.084965169430 -v 0.516264319420 0.770024180412 0.150568723679 -v 0.521349906921 0.763900756836 0.157923758030 -v 0.548167467117 0.667905509472 0.148447632790 -v 0.546362757683 0.670237898827 0.157298624516 -v 0.545064449310 0.678077816963 0.161700785160 -v 0.530092954636 0.702552258968 0.114723563194 -v 0.540755271912 0.707639873028 0.112147867680 -v 0.542485356331 0.714294910431 0.102276742458 -v 0.538369178772 0.719116032124 0.127693057060 -v 0.527642726898 0.713942587376 0.130929112434 -v 0.524290800095 0.705752372742 0.123955726624 -v 0.543419122696 0.722295403481 0.112965941429 -v 0.543574094772 0.715997815132 0.118450582027 -v 0.538602828979 0.668676257133 0.156609654427 -v 0.538909435272 0.675573229790 0.161329925060 -v 0.541661739349 0.665838003159 0.149098932743 -v 0.544516205788 0.691595375538 0.125912368298 -v 0.534333825111 0.686268508434 0.128116250038 -v 0.535755872726 0.680908918381 0.132590770721 -v 0.546100020409 0.686485588551 0.130807101727 -v 0.530930757523 0.697768330574 0.144220829010 -v 0.540539383888 0.703372836113 0.142738342285 -v 0.542316913605 0.698138594627 0.147101879120 -v 0.532684803009 0.692637383938 0.148399233818 -v 0.528201103210 0.689944863319 0.137334823608 -v 0.529621005058 0.684429168701 0.141547918320 -v 0.547267079353 0.699201166630 0.134586215019 -v 0.548285603523 0.695777177811 0.137413918972 -v 0.549032688141 0.678514897823 0.138707518578 -v 0.538316488266 0.672254383564 0.139705061913 -v 0.539997816086 0.668147265911 0.143931210041 -v 0.549917817116 0.673808932304 0.142802059650 -v 0.535045385361 0.684714317322 0.155533432961 -v 0.545179843903 0.690104901791 0.154163777828 -v 0.546261072159 0.685271203518 0.157988131046 -v 0.536641716957 0.680283010006 0.159242749214 -v 0.531511306763 0.676025629044 0.148519396782 -v 0.533580183983 0.671684741974 0.152756392956 -v 0.551849842072 0.686028897762 0.146424531937 -v 0.552071809769 0.683168113232 0.148839414120 -v 0.542264461517 0.702010095119 0.117023289204 -v 0.531574487686 0.696618914604 0.119827747345 -v 0.533209562302 0.691803276539 0.124981045723 -v 0.542015671730 0.694402575493 0.120017051697 -v 0.527886033058 0.708098948002 0.135989665985 -v 0.538574695587 0.713628768921 0.133871257305 -v 0.536827564240 0.708746492863 0.140737891197 -v 0.529211044312 0.702663362026 0.140047073364 -v 0.525272846222 0.700050890446 0.129155695438 -v 0.527511239052 0.695425748825 0.133208036423 -v 0.547236084938 0.709693551064 0.126150548458 -v 0.546826839447 0.704466640949 0.120804965496 -v 0.547609567642 0.700840175152 0.122550547123 -v 0.548392534256 0.706934809685 0.128966629505 -v 0.544142603874 0.712298274040 0.132492303848 -v 0.544166088104 0.709887802601 0.136017978191 -v 0.548007726669 0.698595046997 0.125999212265 -v 0.548170447350 0.703358292580 0.131739497185 -v 0.545077085495 0.706430852413 0.137581646442 -v 0.536803126335 0.676721870899 0.136981487274 -v 0.546262025833 0.680178046227 0.133575916290 -v 0.541578054428 0.694177865982 0.152556836605 -v 0.533885598183 0.688042283058 0.151733100414 -v 0.530973911285 0.680204808712 0.144950151443 -v 0.550747156143 0.694574475288 0.139328360558 -v 0.550565600395 0.689205110073 0.134101927280 -v 0.551587820053 0.686272799969 0.135594725609 -v 0.551995396614 0.692323207855 0.141612648964 -v 0.547929286957 0.697340607643 0.145395517349 -v 0.548542022705 0.695518493652 0.148347735405 -v 0.552347660065 0.684621572495 0.138660132885 -v 0.552754878998 0.689439475536 0.144070029259 -v 0.549746870995 0.692574083805 0.149577498436 -v 0.544905066490 0.711640059948 0.123353600502 -v 0.554090023041 0.679983973503 0.152069270611 -v 0.554366350174 0.676740288734 0.148733615875 -v 0.555369496346 0.674915611744 0.149775743484 -v 0.555078744888 0.677470684052 0.154006123543 -v 0.553590416908 0.682599842548 0.155873715878 -v 0.553566455841 0.680583536625 0.157422304153 -v 0.552198171616 0.673865497112 0.155969619751 -v 0.553200006485 0.671683013439 0.148962199688 -v 0.553523778915 0.675942182541 0.146138072014 -v 0.552976369858 0.681672930717 0.150468468666 -v 0.551427602768 0.684173226357 0.156823754311 -v 0.550627708435 0.679804623127 0.159817218781 -v 0.561773300171 0.667005836964 0.108489274979 -v 0.562437891960 0.667055547237 0.116291821003 -v 0.561485767365 0.672465205193 0.121660053730 -v 0.532580971718 0.693629801273 0.092338800430 -v 0.540351271629 0.699979722500 0.089606344700 -v 0.542522072792 0.705165266991 0.104129672050 -v 0.533750057220 0.698765039444 0.106722295284 -v 0.530255436897 0.693876147270 0.100649118423 -v 0.544795274734 0.705484151840 0.095455408096 -v 0.543451189995 0.710095763206 0.092419564724 -v 0.556688308716 0.663857758045 0.117876172066 -v 0.557191729546 0.668581724167 0.123596191406 -v 0.557321429253 0.663886785507 0.110297203064 -v 0.550040364265 0.687514245510 0.096655666828 -v 0.542815566063 0.681384682655 0.099399805069 -v 0.546362757683 0.677153646946 0.101630270481 -v 0.552957534790 0.683309435844 0.099402546883 -v 0.543991684914 0.686676859856 0.113965272903 -v 0.550568699837 0.692732572556 0.109966218472 -v 0.552548170090 0.688747942448 0.112151980400 -v 0.546415090561 0.682839512825 0.116651713848 -v 0.540330171585 0.681044578552 0.107999801636 -v 0.543417692184 0.676724195480 0.110768854618 -v 0.553754329681 0.691745519638 0.102674782276 -v 0.555277824402 0.688932120800 0.104441046715 -v 0.558210253716 0.676781058311 0.102892100811 -v 0.551411271095 0.670395851135 0.105135142803 -v 0.554313540459 0.666436553001 0.107223451138 -v 0.560604929924 0.672852039337 0.104644954205 -v 0.551035642624 0.676183104515 0.121510207653 -v 0.557325959206 0.682806491852 0.115938246250 -v 0.559729456902 0.679148495197 0.118263065815 -v 0.554118156433 0.672260820866 0.123688340187 -v 0.547722101212 0.669512152672 0.114816784859 -v 0.551224112511 0.665718138218 0.116806447506 -v 0.561138749123 0.681422650814 0.108677029610 -v 0.562478303909 0.679623842239 0.109518647194 -v 0.544580936432 0.695759892464 0.091603696346 -v 0.536828517914 0.688898324966 0.094865858555 -v 0.539610147476 0.684746026993 0.097163736820 -v 0.545929908752 0.689909696579 0.093230366707 -v 0.538297772408 0.693749725819 0.109103918076 -v 0.546232938766 0.700979232788 0.105687260628 -v 0.547426342964 0.696206927299 0.109800815582 -v 0.541006326675 0.689810454845 0.111045122147 -v 0.534368872643 0.688101053238 0.103304982185 -v 0.538012027740 0.685010075569 0.105363309383 -v 0.550858020782 0.700949549675 0.097763538361 -v 0.549491643906 0.697909832001 0.093589007854 -v 0.550813794136 0.695187926292 0.094435930252 -v 0.552393674850 0.698510527611 0.099156975746 -v 0.550143718719 0.701255559921 0.102890193462 -v 0.551577091217 0.699175059795 0.104868292809 -v 0.552265882492 0.693053603172 0.096573829651 -v 0.553521633148 0.695399820805 0.100726366043 -v 0.552729487419 0.696392178535 0.105458736420 -v 0.549271106720 0.673505485058 0.104050397873 -v 0.554521441460 0.678445816040 0.100325822830 -v 0.553958654404 0.685331046581 0.116456747055 -v 0.548520803452 0.679022014141 0.118942022324 -v 0.546076059341 0.673519492149 0.112744927406 -v 0.557391166687 0.687807381153 0.105319499969 -v 0.556760072708 0.685200691223 0.101653337479 -v 0.558141469955 0.683105111122 0.102121174335 -v 0.559174299240 0.686151802540 0.106331229210 -v 0.556374430656 0.688750267029 0.109533429146 -v 0.557712197304 0.687251687050 0.111271739006 -v 0.559688806534 0.681563556194 0.103728890419 -v 0.560254931450 0.683878600597 0.107563853264 -v 0.559006214142 0.685161352158 0.111566960812 -v 0.547902107239 0.702368199825 0.096936225891 -v 0.564785003662 0.677279114723 0.110871613026 -v 0.565037727356 0.675400853157 0.107921242714 -v 0.566116333008 0.673743724823 0.108678221703 -v 0.566264390945 0.674956560135 0.112121045589 -v 0.564288020134 0.678330838680 0.113956749439 -v 0.565272808075 0.676626622677 0.115107536316 -v 0.565854787827 0.671615004539 0.113909065723 -v 0.565153121948 0.671011805534 0.108082771301 -v 0.564292907715 0.675019502640 0.105877757072 -v 0.563846707344 0.678827285767 0.109954953194 -v 0.563235521317 0.679445624352 0.115319430828 -v 0.564523458481 0.675631463528 0.117880046368 -v 0.508027791977 0.705808162689 0.185932517052 -v 0.503305912018 0.708674609661 0.193543970585 -v 0.504237651825 0.716933488846 0.197534382343 -v 0.514192581177 0.739058196545 0.152600765228 -v 0.527436256409 0.742018103600 0.152551293373 -v 0.521233081818 0.757511794567 0.163559794426 -v 0.510088562965 0.753134310246 0.162780582905 -v 0.506630778313 0.744708418846 0.157582461834 -v 0.531264781952 0.752472937107 0.158268332481 -v 0.532356500626 0.758174300194 0.153628230095 -v 0.496481537819 0.711037337780 0.188681483269 -v 0.497926712036 0.717670679092 0.193979084492 -v 0.501640081406 0.707217693329 0.182956755161 -v 0.524531006813 0.727519810200 0.166848421097 -v 0.513245224953 0.726689815521 0.165383756161 -v 0.511902570724 0.722795486450 0.168308913708 -v 0.523548841476 0.723003327847 0.171342372894 -v 0.509620904922 0.739431321621 0.176361441612 -v 0.520829081535 0.741701781750 0.179257631302 -v 0.519819498062 0.736979722977 0.183732628822 -v 0.508016705513 0.736198961735 0.179792046547 -v 0.506378054619 0.732324659824 0.169591844082 -v 0.504464268684 0.729115188122 0.172098159790 -v 0.528473019600 0.734543383121 0.174971342087 -v 0.527720928192 0.731290459633 0.178188145161 -v 0.518843531609 0.715346276760 0.178183495998 -v 0.507250308990 0.715426683426 0.173481583595 -v 0.504154086113 0.710596859455 0.177767276764 -v 0.515055418015 0.710507869720 0.182130753994 -v 0.502767324448 0.729494333267 0.186172127724 -v 0.514684081078 0.728843152523 0.190630316734 -v 0.510843634605 0.723370432854 0.194603562355 -v 0.499645948410 0.723829448223 0.190759420395 -v 0.498818874359 0.722565889359 0.177140593529 -v 0.495809078217 0.716866850853 0.182247757912 -v 0.521199822426 0.721097052097 0.187072217464 -v 0.518935918808 0.718163132668 0.189251482487 -v 0.525767803192 0.736793160439 0.157169640064 -v 0.513168215752 0.734809756279 0.157476186752 -v 0.513290882111 0.730967700481 0.161826848984 -v 0.522656917572 0.730214118958 0.160739362240 -v 0.510023117065 0.747913599014 0.168063998222 -v 0.522023916245 0.752246916294 0.169538915157 -v 0.518543243408 0.747491836548 0.175433754921 -v 0.509775161743 0.743234395981 0.172257661819 -v 0.506842017174 0.740149796009 0.162537455559 -v 0.507179975510 0.736026167870 0.166410088539 -v 0.533026695251 0.745195150375 0.165490031242 -v 0.531216979027 0.738591969013 0.161130785942 -v 0.530287504196 0.734632968903 0.163438796997 -v 0.532566308975 0.741663217545 0.168802976608 -v 0.529102921486 0.749674737453 0.170213341713 -v 0.527972817421 0.746949017048 0.173987030983 -v 0.529739618301 0.732569515705 0.167208254337 -v 0.531125068665 0.737987637520 0.172155261040 -v 0.527689337730 0.742842078209 0.176281332970 -v 0.509422302246 0.719553887844 0.170410692692 -v 0.519722938538 0.717905282974 0.172781825066 -v 0.514890789986 0.734458565712 0.187463164330 -v 0.505210161209 0.733366072178 0.182220578194 -v 0.502490282059 0.726530313492 0.174150884151 -v 0.528773427010 0.728935301304 0.181077003479 -v 0.527782201767 0.723789393902 0.176339983940 -v 0.526475429535 0.720672547817 0.177816569805 -v 0.527674317360 0.726253092289 0.183694541454 -v 0.525176644325 0.733416676521 0.184952259064 -v 0.523093461990 0.731555163860 0.187405228615 -v 0.524735569954 0.719069778919 0.180645465851 -v 0.525143027306 0.723502397537 0.185845911503 -v 0.521940231323 0.728395640850 0.189189791679 -v 0.531512737274 0.747916936874 0.162386298180 -v 0.516651630402 0.713900744915 0.192825019360 -v 0.516959309578 0.710621714592 0.189882099628 -v 0.516236543655 0.708358943462 0.191311597824 -v 0.515579700470 0.710943758488 0.195346117020 -v 0.515369772911 0.716586649418 0.195921123028 -v 0.514391779900 0.714817166328 0.197931408882 -v 0.510539889336 0.709055662155 0.195576369762 -v 0.513627529144 0.706451058388 0.189301311970 -v 0.517277002335 0.710314393044 0.187095999718 -v 0.517525792122 0.716093361378 0.190888464451 -v 0.514751195908 0.719347119331 0.196116745472 -v 0.510549068451 0.715662777424 0.198681712151 -v 0.533120870590 0.762782216072 0.130480825901 -v 0.524248719215 0.772845745087 0.138786017895 -v 0.540866613388 0.746797680855 0.109364151955 -v 0.537410974503 0.759103238583 0.116162776947 -v 0.540438890457 0.742126762867 0.095553338528 -v 0.520689725876 0.728452146053 0.065447509289 -v 0.512445688248 0.721606135368 0.069535374641 -v 0.484276175499 0.737580657005 0.089107573032 -v 0.532676100731 0.765493094921 0.091823399067 -v 0.533045768738 0.757094204426 0.081643581390 -v 0.514222741127 0.784138381481 0.129911184311 -v 0.490095019341 0.767989397049 0.145252108574 -v 0.479055404663 0.768541455269 0.143870294094 -v 0.488378524780 0.780031323433 0.144005358219 -v 0.498183012009 0.777795016766 0.142598867416 -v 0.481902122498 0.759345829487 0.139733493328 -v 0.467978596687 0.763386905193 0.133951485157 -v 0.455418944359 0.777963399887 0.119988799095 -v 0.451926827431 0.777264595032 0.134350359440 -v 0.458689928055 0.767885684967 0.141088008881 -v 0.468816995621 0.769495069981 0.148243069649 -v 0.476413726807 0.779487848282 0.150034487247 -v 0.438565135002 0.771156847477 0.177375793457 -v 0.441770315170 0.764434158802 0.175460696220 -v 0.444827079773 0.770441770554 0.183847427368 -v 0.469913721085 0.779009222984 0.155741333961 -v 0.463364720345 0.769138574600 0.153375625610 -v 0.460401535034 0.767174780369 0.158601582050 -v 0.467330098152 0.775935709476 0.162042737007 -v 0.453510165215 0.769425153732 0.147249221802 -v 0.450202226639 0.768634498119 0.153188824654 -v 0.467652678490 0.791541039944 0.152924060822 -v 0.464564323425 0.787662565708 0.161086738110 -v 0.456722617149 0.792148888111 0.148283004761 -v 0.454262137413 0.790213525295 0.153603911400 -v 0.449564695358 0.782195746899 0.142867326736 -v 0.445333719254 0.781309008598 0.150482535362 -v 0.462369918823 0.796061277390 0.131073176861 -v 0.470566511154 0.799281775951 0.136529088020 -v 0.469121217728 0.797714054585 0.143102586269 -v 0.460547566414 0.795852959156 0.138329267502 -v 0.455207109451 0.789058446884 0.126723527908 -v 0.453316926956 0.788498997688 0.133789181709 -v 0.477501153946 0.792452573776 0.146006584167 -v 0.465461015701 0.796401441097 0.147136926651 -v 0.458685755730 0.794838547707 0.143734753132 -v 0.453046441078 0.789503097534 0.139946758747 -v 0.477824330330 0.801583707333 0.131692588329 -v 0.462747812271 0.795654177666 0.121492981911 -v 0.461746931076 0.769132852554 0.174213290215 -v 0.453706622124 0.761957705021 0.170404195786 -v 0.443747997284 0.765161931515 0.166959524155 -v 0.460104227066 0.781512916088 0.175598621368 -v 0.445243358612 0.784041821957 0.176206707954 -v 0.449878454208 0.784194827080 0.178927242756 -v 0.448585391045 0.782106339931 0.182242095470 -v 0.443793654442 0.781242489815 0.181344807148 -v 0.440421819687 0.782552838326 0.174964666367 -v 0.439622640610 0.780634343624 0.178736805916 -v 0.438029885292 0.777883410454 0.165846407413 -v 0.457392096519 0.764703154564 0.162105917931 -v 0.465457439423 0.772188305855 0.166752159595 -v 0.447040438652 0.767057418823 0.158573865891 -v 0.465133786201 0.783054172993 0.168668568134 -v 0.452129364014 0.790718674660 0.158209085464 -v 0.459192514420 0.790737628937 0.162641108036 -v 0.459162950516 0.789255976677 0.167319536209 -v 0.450338006020 0.789745509624 0.162790656090 -v 0.445508122444 0.787147641182 0.154866278172 -v 0.442550182343 0.785621106625 0.158436417580 -v 0.440964460373 0.777064740658 0.156837046146 -v 0.456962108612 0.787429749966 0.170820236206 -v 0.448460698128 0.787783861160 0.167056441307 -v 0.441197395325 0.784746885300 0.163089811802 -v 0.447333574295 0.785258412361 0.169726729393 -v 0.443022251129 0.777300119400 0.184506356716 -v 0.450631856918 0.780292212963 0.183982253075 -v 0.453623771667 0.784703671932 0.178378582001 -v 0.445952057838 0.786179065704 0.172527611256 -v 0.438473701477 0.781861722469 0.171767473221 -v 0.437908291817 0.777420401573 0.178881585598 -v 0.492766499519 0.755644321442 0.143515646458 -v 0.486923098564 0.747458815575 0.130217909813 -v 0.466797590256 0.757182359695 0.099651396275 -v 0.472083091736 0.750997185707 0.089635670185 -v 0.469869136810 0.760206878185 0.083161294460 -v 0.463792681694 0.773227989674 0.097641050816 -v 0.480604887009 0.743164718151 0.097418367863 -v 0.509183526039 0.740819334984 0.056642234325 -v 0.515854835510 0.750867664814 0.056534111500 -v 0.500680327415 0.800476849079 0.113281011581 -v 0.480252742767 0.809417188168 0.104322493076 -v 0.496218204498 0.805853843689 0.093608915806 -v 0.494943737984 0.789026916027 0.136653363705 -v 0.501828312874 0.788901865482 0.133081078529 -v 0.507851958275 0.797888576984 0.081428110600 -v 0.522942423820 0.779709160328 0.077857553959 -v 0.499507188797 0.765030682087 0.148840188980 -v 0.507470130920 0.774820327759 0.144708752632 -v 0.476036071777 0.746732592583 0.106510400772 -v 0.493361711502 0.803006708622 0.122841835022 -v 0.478899002075 0.807841002941 0.117558896542 -v 0.463644027710 0.796741485596 0.111424744129 -v 0.465716123581 0.794997811317 0.103478550911 -v 0.458229780197 0.777908682823 0.107420504093 -v 0.462887525558 0.761031866074 0.109043002129 -v 0.471899509430 0.750320196152 0.116126954556 -v 0.478152394295 0.753174483776 0.131771326065 -v 0.468824982643 0.755779623985 0.124225437641 -v 0.461404800415 0.763227701187 0.116893410683 -v 0.489722132683 0.797489106655 0.133335888386 -v 0.486714601517 0.789863348007 0.141924619675 -v 0.484797358513 0.741189062595 0.067133903503 -v 0.478503465652 0.751935124397 0.068854808807 -v 0.500882506371 0.734169185162 0.061571240425 -v 0.477385044098 0.744656562805 0.080763101578 -v 0.481624126434 0.739364206791 0.075847864151 -v 0.500677943230 0.775840044022 0.048178792000 -v 0.488707780838 0.765670180321 0.051871418953 -v 0.477584242821 0.762718737125 0.063034832478 -v 0.467450737953 0.766845524311 0.076912343502 -v 0.461498498917 0.778625905514 0.089994966984 -v 0.461806297302 0.795562386513 0.096759736538 -v 0.470135807991 0.809676170349 0.096153378487 -v 0.483797073364 0.812756240368 0.088045477867 -v 0.497678637505 0.805696189404 0.075719475746 -v 0.504785418510 0.791619062424 0.059249997139 -v 0.513334751129 0.788233518600 0.068128407001 -v 0.511568665504 0.770020723343 0.053026437759 -v 0.520908117294 0.761221706867 0.061087131500 -v 0.497784495354 0.788155913353 0.046932697296 -v 0.488117575645 0.775684356689 0.047841131687 -v 0.475840330124 0.770089447498 0.057217180729 -v 0.463661313057 0.771884500980 0.069685220718 -v 0.455235481262 0.782279491425 0.081061065197 -v 0.454746246338 0.798582255840 0.087480664253 -v 0.461082696915 0.812864422798 0.088064253330 -v 0.473519444466 0.820378422737 0.082788586617 -v 0.488731861115 0.816120684147 0.070775330067 -v 0.498112678528 0.803522765636 0.056562244892 -v 0.494563221931 0.799096226692 0.042310714722 -v 0.486902475357 0.808524429798 0.030907094479 -v 0.478900671005 0.793341755867 0.029809832573 -v 0.486203432083 0.785064756870 0.041563153267 -v 0.464779496193 0.783073127270 0.035595595837 -v 0.472564697266 0.777089834213 0.049066007137 -v 0.450284838676 0.780604720116 0.044155120850 -v 0.458022236824 0.776483118534 0.058857560158 -v 0.440367698669 0.784753084183 0.049066960812 -v 0.443802475929 0.787280976772 0.064302384853 -v 0.444123268127 0.804896831512 0.073245406151 -v 0.451916456223 0.821180701256 0.076650619507 -v 0.464986562729 0.832542598248 0.073360800743 -v 0.480245232582 0.831362009048 0.059292852879 -v 0.481340765953 0.834166049957 0.044129669666 -v 0.492998480797 0.814772903919 0.050042569637 -v 0.486271023750 0.822800278664 0.037332177162 -v 0.523271918297 0.770754814148 0.068353176117 -v 0.514518499374 0.778774738312 0.058889150620 -v 0.507184267044 0.776329338551 0.050279438496 -v 0.508969664574 0.781902492046 0.054183304310 -v 0.244488239288 0.426662117243 0.058280527592 -v 0.238626718521 0.424758225679 0.073367774487 -v 0.224532604218 0.421156793833 0.082624495029 -v 0.024168014526 0.813921332359 0.149686336517 -v -0.045492410660 0.811454951763 0.138143301010 -v -0.043429851532 0.849619209766 0.152232885361 -v -0.103686809540 0.858773767948 0.124039173126 -v -0.105726003647 0.821566998959 0.105698108673 -v -0.216044902802 1.015913844109 -0.065555334091 -v -0.209439516068 0.999427437782 -0.058619439602 -v -0.211006164551 0.987861990929 -0.064142704010 -v -0.230187892914 0.988817870617 -0.073895573616 -v -0.197565555573 0.993671536446 -0.052417397499 -v -0.196903944016 0.968688607216 -0.066415429115 -v -0.226006031036 0.954002797604 -0.069144666195 -v -0.186616420746 0.850906968117 -0.171889841557 -v -0.197167158127 0.860019028187 -0.140617847443 -v -0.179961204529 0.897772192955 -0.115278422832 -v -0.166189670563 0.875091910362 -0.153516530991 -v -0.148694753647 0.880870044231 -0.136985838413 -v -0.150884389877 0.907215118408 -0.104235470295 -v -0.157392501831 0.931122899055 -0.078570246696 -v -0.191499710083 0.929601490498 -0.075881302357 -v -0.215350627899 0.919599175453 -0.078258514404 -v -0.203397989273 0.897285580635 -0.100253224373 -v -0.217379808426 0.875960350037 -0.118124604225 -v -0.029005050659 0.571525335312 -0.088107168674 -v 0.002735614777 0.548631310463 -0.070256829262 -v 0.027010679245 0.590999245644 -0.090317308903 -v -0.018280744553 0.620064198971 -0.103850007057 -v 0.018197059631 0.528473854065 -0.041200280190 -v 0.039121389389 0.542406558990 -0.043555021286 -v -0.148338317871 0.925767302513 -0.247407793999 -v -0.147905111313 0.887462854385 -0.231083989143 -v -0.130671024323 0.907526671886 -0.214898705482 -v -0.110074996948 0.950674951077 -0.223033547401 -v -0.158329963684 0.874756038189 -0.191096603870 -v -0.134732007980 0.893178164959 -0.177285671234 -v -0.090615749359 0.914829909801 -0.207994282246 -v -0.112192392349 0.762768864632 0.047738432884 -v -0.126791477203 0.781367957592 0.019289433956 -v -0.137742519379 0.815532445908 0.021429121494 -v -0.104435205460 0.789754331112 0.077099800110 -v -0.129538536072 0.770201504230 -0.012699365616 -v -0.138639211655 0.806268036366 -0.033546984196 -v -0.147496223450 0.848499417305 0.061839640141 -v -0.089931488037 0.741834282875 0.071407139301 -v -0.054453372955 0.767961084843 0.118939399719 -v -0.098224401474 0.709381341934 0.028533697128 -v -0.111907958984 0.714046895504 -0.023087024689 -v -0.118014335632 0.742692947388 0.013800978661 -v -0.105286121368 0.729441761971 0.038245499134 -v -0.068748474121 0.719616711140 0.068620622158 -v -0.085082054138 0.653443753719 0.027877748013 -v -0.058162212372 0.656390905380 0.056895077229 -v -0.050686836243 0.607604086399 0.047678053379 -v -0.099447727203 0.621420621872 0.005962431431 -v -0.068820476532 0.563984632492 0.037404358387 -v -0.093855857849 0.573501050472 0.006214916706 -v -0.061287641525 1.064289569855 0.001488387585 -v -0.092086315155 1.040367364883 0.017865002155 -v -0.100042343140 1.063028454781 -0.025874853134 -v -0.068414211273 1.083276271820 -0.024904131889 -v -0.152829885483 1.043263196945 -0.030532896519 -v -0.132411718369 1.076464056969 -0.043527424335 -v -0.132525444031 1.024463057518 -0.009899616241 -v -0.121130466461 1.003944158554 0.032351315022 -v -0.171019792557 1.007393002510 -0.034520506859 -v -0.196717739105 1.027601242065 -0.048720419407 -v -0.173523902893 1.051656365395 -0.044109880924 -v -0.172769784927 0.976805567741 -0.047324657440 -v -0.238524913788 0.893932402134 -0.094456076622 -v -0.167498588562 1.074029922485 -0.061905801296 -v -0.199609756470 1.058331489563 -0.076546132565 -v 0.035741090775 0.537817895412 0.004574596882 -v 0.063968896866 0.537479221821 0.012407362461 -v 0.069581508636 0.543589949608 -0.037130057812 -v -0.067850828171 1.115831255913 -0.122188806534 -v -0.044815301895 1.153640151024 -0.091253459454 -v -0.061902284622 1.142533540726 -0.076420962811 -v -0.087494134903 1.110044360161 -0.101176381111 -v -0.102974891663 1.099434852600 -0.071468591690 -v -0.069273948669 1.125692009926 -0.061185836792 -v -0.110057592392 1.099711656570 -0.165807723999 -v -0.129351377487 1.099599599838 -0.132730364799 -v -0.150191068649 1.093798398972 -0.095395982265 -v -0.167793750763 1.074134111404 -0.162128686905 -v -0.187201261520 1.073685646057 -0.118393898010 -v -0.200552225113 1.044490218163 -0.186491847038 -v -0.215443849564 1.052723646164 -0.141018509865 -v -0.222080469131 1.039790749550 -0.094145119190 -v -0.239657878876 1.022207856178 -0.158943414688 -v -0.241830825806 1.013184070587 -0.110611021519 -v -0.260427713394 0.986940979958 -0.176530241966 -v -0.263617753983 0.981970906258 -0.132411062717 -v -0.260305166245 0.958638668060 -0.098890125751 -v -0.278702974319 0.955592036247 -0.163595557213 -v -0.278200626373 0.932817518711 -0.130598545074 -v -0.271001577377 0.901743829250 -0.119967401028 -v -0.252998113632 0.927197396755 -0.088302910328 -v -0.255738973618 0.872728466988 -0.122977674007 -v -0.288134813309 0.917696714401 -0.166244506836 -v -0.280348777771 0.886196553707 -0.155893802643 -v -0.267940998077 0.855949759483 -0.158157467842 -v -0.322344541550 0.899317681789 -0.184273540974 -v -0.314202308655 0.871414363384 -0.169530987740 -v -0.304754018784 0.841402471066 -0.163097262383 -v -0.351705789566 0.865829944611 -0.176985263824 -v -0.346288204193 0.842895746231 -0.165701746941 -v -0.342967510223 0.821778357029 -0.172056436539 -v -0.297340869904 0.818372488022 -0.180801868439 -v -0.255311727524 0.834150016308 -0.184277534485 -v -0.344840049744 0.807662725449 -0.190519332886 -v -0.298639774323 0.802460789680 -0.209736287594 -v -0.253891229630 0.813284337521 -0.222991466522 -v -0.215986251831 0.835866868496 -0.183695673943 -v -0.214768171310 0.830051660538 -0.219524562359 -v -0.309920310974 0.802444458008 -0.240571200848 -v -0.261218309402 0.820708096027 -0.265693724155 -v -0.202613115311 0.844021797180 -0.252863943577 -v -0.351272106171 0.804853558540 -0.214755058289 -v -0.361089944839 0.814315497875 -0.239227890968 -v -0.324601888657 0.821000874043 -0.263598829508 -v -0.283481359482 0.848797678947 -0.284017473459 -v -0.368223667145 0.837127387524 -0.253749161959 -v -0.336348056793 0.853153288364 -0.277962535620 -v -0.297395467758 0.883530080318 -0.294476032257 -v -0.240055322647 0.874735951424 -0.304646462202 -v -0.264170885086 0.907689154148 -0.292484790087 -v -0.343079566956 0.886833965778 -0.280547678471 -v -0.304080247879 0.919566035271 -0.288546800613 -v -0.274107933044 0.937634170055 -0.272911608219 -v -0.237725257874 0.939036250114 -0.275381207466 -v -0.246447801590 0.963879764080 -0.250892400742 -v -0.299230575562 0.941379368305 -0.261109113693 -v -0.274475336075 0.952009916306 -0.239782989025 -v -0.254629850388 0.977320313454 -0.217426180840 -v -0.217944860458 0.993275702000 -0.236558616161 -v -0.229768037796 1.010393023491 -0.203123748302 -v -0.274976491928 0.958194017410 -0.204134941101 -v -0.294450044632 0.945626258850 -0.227268993855 -v -0.291128396988 0.938337326050 -0.193792879581 -v -0.336385011673 0.927444577217 -0.237453699112 -v -0.328366279602 0.918976187706 -0.207168340683 -v -0.373788356781 0.900349020958 -0.237839400768 -v -0.367165803909 0.902696073055 -0.212942600250 -v -0.358767509460 0.887838721275 -0.192018508911 -v -0.399082183838 0.886386156082 -0.210687160492 -v -0.391416311264 0.878774166107 -0.190892636776 -v -0.385291337967 0.862347722054 -0.175807774067 -v -0.380799770355 0.844238936901 -0.168828010559 -v -0.377043247223 0.828504204750 -0.168903589249 -v -0.378103971481 0.815952479839 -0.178110599518 -v -0.382728338242 0.809657692909 -0.196520686150 -v -0.389034032822 0.812136590481 -0.218078017235 -v -0.393783569336 0.826233685017 -0.232942044735 -v -0.374763011932 0.861356377602 -0.261329650879 -v -0.397455453873 0.845723807812 -0.239633858204 -v -0.401363134384 0.864607393742 -0.240126490593 -v -0.377741813660 0.885030388832 -0.257234215736 -v -0.342441082001 0.914424657822 -0.266438513994 -v -0.402511835098 0.878381252289 -0.229500651360 -v -0.170168876648 1.000604867935 -0.237006545067 -v -0.184483528137 1.026935815811 -0.219662249088 -v -0.204886913300 0.972634196281 -0.262749642134 -v -0.159294366837 0.967827081680 -0.247309863567 -v -0.191198587418 0.937436878681 -0.281654030085 -v -0.222276926041 0.905950903893 -0.284064441919 -v -0.177347660065 0.896951436996 -0.278299987316 -v -0.199582099915 0.874506413937 -0.276412338018 -v -0.219844818115 0.853652238846 -0.284712314606 -v -0.174687385559 0.863596737385 -0.250282466412 -v -0.181549310684 0.849696934223 -0.207981944084 -v -0.116446971893 1.003559350967 -0.234433829784 -v -0.131599664688 1.042656898499 -0.224299788475 -v -0.063884496689 1.038912057877 -0.210333466530 -v -0.085042953491 1.078667521477 -0.191534459591 -v -0.149874925613 1.067245244980 -0.198640346527 -v 0.006145715714 1.018314838409 -0.186279118061 -v -0.007123947144 1.064264893532 -0.171564280987 -v -0.048004388809 0.991492629051 -0.217727243900 -v -0.026478528976 1.111588954926 -0.142706692219 -v 0.017360448837 0.970607042313 -0.195879101753 -v -0.035747051239 0.945858657360 -0.214797735214 -v 0.026816844940 0.918899655342 -0.194363832474 -v -0.025933980942 0.897993922234 -0.206000804901 -v -0.080864667892 0.874895334244 -0.192031383514 -v -0.018188714981 0.847238957882 -0.190483808517 -v -0.072869777679 0.831310868263 -0.174542069435 -v -0.116947174072 0.821985781193 -0.144294202328 -v -0.121940612793 0.859033942223 -0.160447001457 -v -0.136636972427 0.828852474689 -0.101162433624 -v -0.142194747925 0.857307851315 -0.121078729630 -v -0.143414735794 0.845660209656 -0.058004975319 -v -0.144388198853 0.880819320679 -0.082161068916 -v -0.153039455414 0.862532734871 -0.018098533154 -v -0.153266906738 0.903006434441 -0.052416980267 -v -0.161772251129 0.888247668743 0.014432668686 -v -0.160099267960 0.926342248917 -0.032119214535 -v -0.164556503296 0.953284680843 -0.062894344330 -v -0.171996355057 0.952526032925 -0.012361943722 -v -0.164795875549 0.921657145023 0.036377131939 -v -0.147756576538 0.961669743061 0.040470600128 -v -0.158525466919 0.986356794834 -0.006434679031 -v -0.145291805267 0.885101556778 0.083670973778 -v -0.126105070114 0.929664313793 0.086600899696 -v -0.100680828094 0.976286113262 0.074836552143 -v -0.088333368301 0.904943823814 0.124103307724 -v -0.068841934204 0.954400718212 0.109162628651 -v -0.050687789917 1.002869248390 0.086499452591 -v -0.076419353485 1.019973993301 0.056980848312 -v -0.031089067459 1.040452837944 0.053422629833 -v -0.048895835876 1.049849748611 0.030142068863 -v -0.028286457062 0.943060517311 0.130822718143 -v -0.018934726715 0.993253171444 0.104324102402 -v -0.008577823639 1.036106586456 0.068773925304 -v 0.016984224319 0.938255190849 0.132273197174 -v 0.016255617142 0.988211154938 0.106916069984 -v 0.017256975174 1.034857988358 0.074777126312 -v -0.037022590637 0.893554985523 0.148184359074 -v -0.125862836838 0.795052647591 -0.077642142773 -v -0.088509559631 0.748381972313 -0.091158628464 -v -0.106392145157 0.784361839294 -0.120982527733 -v -0.114890336990 0.757017672062 -0.053101658821 -v -0.051238536835 0.693981826305 -0.101675391197 -v -0.053010225296 0.743843674660 -0.121231853962 -v -0.086938619614 0.703561365604 -0.072716116905 -v -0.064249753952 0.786670446396 -0.151442766190 -v -0.010465383530 0.743931651115 -0.136873304844 -v -0.013234376907 0.796020328999 -0.166346788406 -v 0.032855987549 0.676068127155 -0.117384016514 -v 0.034677505493 0.748068869114 -0.133399724960 -v -0.010420322418 0.684079170227 -0.115326344967 -v 0.036463499069 0.808236598969 -0.159694790840 -v 0.077756881714 0.752460122108 -0.118776857853 -v 0.079266071320 0.817305207253 -0.140415549278 -v 0.034280061722 0.864266276360 -0.182166934013 -v 0.072944402695 0.932042717934 -0.169168591499 -v 0.063047170639 1.036345005035 -0.171650230885 -v -0.058959484100 0.640669405460 -0.090303719044 -v -0.066095590591 0.592738807201 -0.077589452267 -v -0.097780227661 0.609835147858 -0.045422494411 -v -0.095155477524 0.656358480453 -0.060826182365 -v -0.105790376663 0.668013811111 -0.016322851181 -v -0.087153911591 0.680714309216 0.023537695408 -v -0.060539484024 0.690345466137 0.063132166862 -v -0.022153139114 0.659986138344 0.099782228470 -v -0.026333808899 0.697329998016 0.108290851116 -v -0.032596349716 0.731493532658 0.113822937012 -v 0.026883125305 0.702849328518 0.121817588806 -v -0.007471561432 0.622038125992 0.083720922470 -v 0.033208370209 0.620859384537 0.106691539288 -v 0.010722160339 0.584229052067 0.067391037941 -v 0.046667098999 0.584562242031 0.083252370358 -v 0.025924444199 0.553159415722 0.041892528534 -v 0.057153224945 0.554712772369 0.051456034184 -v -0.020308732986 0.569664835930 0.051660239697 -v 0.001250267029 0.543498456478 0.031863629818 -v 0.013638973236 0.532003760338 -0.001672267914 -v -0.000382900238 0.520153343678 -0.005273222923 -v -0.012644290924 0.528460025787 0.023336231709 -v 0.006472110748 0.512750744820 -0.036196351051 -v -0.007425308228 0.474734485149 -0.000116705894 -v -0.005846261978 0.500033557415 -0.004471659660 -v 0.000211715698 0.494048833847 -0.030069172382 -v -0.006864786148 0.472749769688 -0.022261261940 -v -0.018941164017 0.475434243679 -0.039400577545 -v -0.014056682587 0.499557584524 -0.049792110920 -v -0.007712841034 0.522083699703 -0.061311900616 -v -0.037567615509 0.480722934008 -0.046939432621 -v -0.037078142166 0.509507179260 -0.057908356190 -v -0.034726858139 0.538039565086 -0.071861624718 -v -0.058244705200 0.486637681723 -0.040571570396 -v -0.064287900925 0.519816040993 -0.052058398724 -v -0.066971778870 0.554416954517 -0.064069986343 -v -0.073494434357 0.490894377232 -0.019915223122 -v -0.083090543747 0.529140114784 -0.027455270290 -v -0.092357873917 0.568181574345 -0.034658551216 -v -0.079753637314 0.491208374500 0.009451150894 -v -0.086676597595 0.532695353031 0.006102561951 -v -0.073581457138 0.454350113869 0.007979691029 -v -0.066380023956 0.457608014345 -0.017444491386 -v -0.067813158035 0.488057374954 0.029619216919 -v -0.066108465195 0.450441658497 0.027257204056 -v -0.069606781006 0.527580559254 0.030218899250 -v -0.044326543808 0.482478886843 0.033305048943 -v -0.044793844223 0.448259085417 0.031902611256 -v -0.042425155640 0.517599105835 0.031794846058 -v -0.017328262329 0.477021217346 0.022542297840 -v -0.018852710724 0.507313489914 0.017633438110 -v -0.037883758545 0.545025348663 0.042228996754 -v -0.019141912460 0.447015106678 0.024648547173 -v -0.009853363037 0.448897719383 0.002969503403 -v -0.010138511658 0.424218118191 -0.001672625542 -v -0.006133556366 0.399529516697 -0.015495121479 -v -0.017596960068 0.394342869520 -0.000591039658 -v -0.020816802979 0.419395595789 0.016798019409 -v -0.009426116943 0.427912145853 -0.021588802338 -v -0.001868963242 0.404415190220 -0.034041702747 -v -0.011332273483 0.450134307146 -0.017913401127 -v -0.018124103546 0.431156426668 -0.039218008518 -v -0.011564016342 0.408847093582 -0.052631855011 -v -0.021310806274 0.452264279127 -0.034315645695 -v -0.035163879395 0.433271795511 -0.046046972275 -v -0.032569646835 0.410334706306 -0.058933556080 -v -0.036829233170 0.455296754837 -0.040022969246 -v -0.050311565399 0.433117091656 -0.039737045765 -v -0.049625396729 0.409451037645 -0.056582272053 -v -0.052719354630 0.457712709904 -0.034135818481 -v -0.060839176178 0.430344671011 -0.025123417377 -v -0.060647249222 0.405378311872 -0.044947326183 -v -0.039075374603 0.333637267351 -0.059441745281 -v -0.046819448471 0.377576559782 -0.066945731640 -v -0.057845830917 0.373610943556 -0.056396543980 -v -0.044396162033 0.332225650549 -0.051878690720 -v -0.043912887573 0.330512613058 -0.042705893517 -v -0.057412862778 0.368281006813 -0.038785338402 -v -0.061007261276 0.399160534143 -0.025505304337 -v -0.041280269623 0.328136712313 -0.033087968826 -v -0.046390056610 0.364219039679 -0.022349596024 -v -0.051404714584 0.393975228071 -0.006930351257 -v -0.035102367401 0.325139790773 -0.023742496967 -v -0.033584117889 0.360739827156 -0.011030375957 -v -0.036393165588 0.389957576990 0.006403863430 -v -0.024703979492 0.326273173094 -0.026353597641 -v -0.019546747208 0.364557057619 -0.018281936646 -v -0.016890287399 0.328833460808 -0.035211801529 -v -0.006627321243 0.368008077145 -0.028945624828 -v -0.013489007950 0.331431388855 -0.046256422997 -v -0.002036094666 0.373024463654 -0.045083582401 -v -0.017686605453 0.333469033241 -0.056734740734 -v -0.010092020035 0.377158254385 -0.060950160027 -v -0.028373241425 0.334166795015 -0.062248706818 -v -0.029481172562 0.378683656454 -0.066067218781 -v -0.219955444336 0.842094063759 -0.154961943626 -v -0.235270023346 0.857862532139 -0.137915790081 -v -0.087909221649 1.087654352188 -0.050910711288 -v -0.070798635483 1.104470491409 -0.045316457748 -v -0.247585058212 0.849854946136 -0.153714001179 -v -0.240604400635 0.840870857239 -0.163044929504 -v -0.011443376541 1.160188794136 -0.101308941841 -v 0.036525011063 1.165561199188 -0.098447144032 -v -0.447368383408 0.797736108303 -0.173693537712 -v -0.447412490845 0.796239554882 -0.162157893181 -v -0.443197250366 0.802235960960 -0.155865490437 -v -0.438388586044 0.805791616440 -0.164553344250 -v -0.494693517685 0.893587052822 -0.106214702129 -v -0.495902061462 0.900918126106 -0.105787515640 -v -0.493417978287 0.900910675526 -0.096440255642 -v -0.491146326065 0.891790270805 -0.099022448063 -v -0.489644289017 0.821257293224 -0.123335301876 -v -0.471888542175 0.823015093803 -0.132293999195 -v -0.468766212463 0.813135862350 -0.129689037800 -v -0.484895229340 0.811676740646 -0.120194315910 -v -0.476134061813 0.841621756554 -0.135791420937 -v -0.474495887756 0.832299590111 -0.135184764862 -v -0.494080066681 0.831160485744 -0.126861453056 -v -0.496844291687 0.842333674431 -0.129078328609 -v -0.451151609421 0.806489586830 -0.139960348606 -v -0.466060161591 0.802223086357 -0.129936814308 -v -0.452974319458 0.816859483719 -0.137552082539 -v -0.485681533813 0.851063311100 -0.187404632568 -v -0.502808094025 0.846567988396 -0.173310935497 -v -0.499794721603 0.830486893654 -0.174043655396 -v -0.483735561371 0.833467781544 -0.188756585121 -v -0.491135358810 0.786839187145 -0.137906074524 -v -0.477485179901 0.788113296032 -0.152600586414 -v -0.484442234039 0.794747292995 -0.160152792931 -v -0.501042604446 0.794560611248 -0.139316618443 -v -0.508388519287 0.830364823341 -0.119966745377 -v -0.521482229233 0.819912433624 -0.130728006363 -v -0.523111343384 0.828098714352 -0.121222257614 -v -0.512018680573 0.834384858608 -0.118249833584 -v -0.514605045319 0.853373050690 -0.127098441124 -v -0.517944812775 0.850607991219 -0.124822854996 -v -0.530208826065 0.845044076443 -0.127292752266 -v -0.531853437424 0.844683170319 -0.137332379818 -v -0.500032663345 0.821590065956 -0.116037189960 -v -0.509562015533 0.864964723587 -0.132301747799 -v -0.504422664642 0.864491283894 -0.132351279259 -v -0.500204324722 0.853452622890 -0.129730045795 -v -0.520584106445 0.822443604469 -0.147195518017 -v -0.522242069244 0.828122496605 -0.150109887123 -v -0.526848316193 0.828633189201 -0.143665313721 -v -0.523217201233 0.823370218277 -0.141705751419 -v -0.528179168701 0.850113034248 -0.151596605778 -v -0.527724266052 0.857582092285 -0.153711855412 -v -0.533334732056 0.857348978519 -0.147594749928 -v -0.531985759735 0.850167274475 -0.146348357201 -v -0.507945299149 0.843233942986 -0.123751223087 -v -0.509826183319 0.844902992249 -0.121303021908 -v -0.529620647430 0.830736279488 -0.135385751724 -v -0.531349182129 0.833562910557 -0.126550495625 -v -0.487643718719 0.804054796696 -0.111395001411 -v -0.480391025543 0.801913261414 -0.119697570801 -v -0.480456352234 0.792149066925 -0.122189939022 -v -0.488045692444 0.794178664684 -0.112424015999 -v -0.495940208435 0.784620106220 -0.126145541668 -v -0.499251127243 0.786586403847 -0.129543840885 -v -0.504209518433 0.787554085255 -0.123033821583 -v -0.499408006668 0.785145521164 -0.121613442898 -v -0.510551452637 0.871032297611 -0.138833642006 -v -0.515317440033 0.871675372124 -0.137129485607 -v -0.526596546173 0.864687561989 -0.151889979839 -v -0.530538082123 0.864613473415 -0.148025453091 -v -0.497328281403 0.811198830605 -0.112283110619 -v -0.503155469894 0.790419399738 -0.130545675755 -v -0.506678104401 0.791445076466 -0.125318050385 -v -0.493824243546 0.871466159821 -0.085897326469 -v -0.490470170975 0.869438707829 -0.092285215855 -v -0.485040903091 0.863280296326 -0.091263115406 -v -0.487308979034 0.865945041180 -0.082743287086 -v -0.485924720764 0.855860471725 -0.088013470173 -v -0.489061117172 0.856862902641 -0.081349372864 -v -0.520172119141 0.836955487728 -0.100135803223 -v -0.515067815781 0.840695142746 -0.093722283840 -v -0.506313800812 0.841244280338 -0.101609706879 -v -0.510276794434 0.838908553123 -0.105833172798 -v -0.512242078781 0.857203602791 -0.107409000397 -v -0.522161960602 0.857336878777 -0.099027633667 -v -0.526552677155 0.854199707508 -0.105519115925 -v -0.515424251556 0.854900300503 -0.111687183380 -v -0.508421897888 0.847175776958 -0.111868441105 -v -0.505060672760 0.849078774452 -0.108070075512 -v -0.524366140366 0.847588360310 -0.093832015991 -v -0.527771949768 0.845007956028 -0.098792850971 -v -0.504534959793 0.847885608673 -0.086177408695 -v -0.498050689697 0.852172255516 -0.082087755203 -v -0.490575790405 0.850792109966 -0.091464221478 -v -0.496593952179 0.846407592297 -0.095529913902 -v -0.496419668198 0.867350459099 -0.096872746944 -v -0.503741264343 0.868512868881 -0.087242722511 -v -0.511126995087 0.864330530167 -0.091117858887 -v -0.503080606461 0.863209724426 -0.101341784000 -v -0.495740175247 0.854071259499 -0.103795528412 -v -0.489275217056 0.858667314053 -0.098730802536 -v -0.510396480560 0.857069015503 -0.083190023899 -v -0.506175994873 0.859634041786 -0.081316232681 -v -0.511812210083 0.838328003883 -0.109384715557 -v -0.512324810028 0.836986780167 -0.113109648228 -v -0.523508548737 0.831316888332 -0.112718701363 -v -0.519570350647 0.833538651466 -0.105941951275 -v -0.527900457382 0.853996634483 -0.113405644894 -v -0.530893802643 0.848428845406 -0.119828045368 -v -0.517930030823 0.852390527725 -0.120005369186 -v -0.516858100891 0.853576421738 -0.115721166134 -v -0.510461807251 0.846561253071 -0.116781532764 -v -0.510272741318 0.846948623657 -0.114067971706 -v -0.528704881668 0.833988189697 -0.105706632137 -v -0.529921531677 0.832707405090 -0.110456645489 -v -0.535176277161 0.837255477905 -0.113185763359 -v -0.535221815109 0.839498996735 -0.107395589352 -v -0.535897016525 0.844757020473 -0.115204930305 -v -0.535224437714 0.848018705845 -0.110409140587 -v -0.527960300446 0.836800575256 -0.101769506931 -v -0.532390594482 0.842326819897 -0.102183938026 -v -0.532948493958 0.849078893661 -0.105126917362 -v -0.501554489136 0.843218922615 -0.099216759205 -v -0.507042169571 0.842735946178 -0.091056108475 -v -0.515851497650 0.862206101418 -0.097064733505 -v -0.508196115494 0.859079062939 -0.104793012142 -v -0.501304626465 0.850616335869 -0.106691837311 -v -0.514235734940 0.845977485180 -0.086078166962 -v -0.518186092377 0.844501137733 -0.088461101055 -v -0.522804021835 0.849747896194 -0.088824689388 -v -0.519546508789 0.852388918400 -0.085314571857 -v -0.523418426514 0.855972528458 -0.091820836067 -v -0.520101308823 0.859155178070 -0.089708983898 -v -0.511596202850 0.849000573158 -0.083929896355 -v -0.515213012695 0.854938268661 -0.083392798901 -v -0.516395092010 0.860537409782 -0.087069749832 -v -0.532750368118 0.836167395115 -0.118552982807 -v -0.497567176819 0.865602970123 -0.074603199959 -v -0.496635437012 0.860588312149 -0.074069917202 -v -0.499092817307 0.859558403492 -0.075726687908 -v -0.501167774200 0.863645672798 -0.076683282852 -v -0.499398469925 0.869491815567 -0.076963126659 -v -0.502336740494 0.868161380291 -0.077675879002 -v -0.493256807327 0.858881592751 -0.076175630093 -v -0.492352008820 0.866495013237 -0.076975762844 -v -0.499328136444 0.856431543827 -0.076817274094 -v -0.503676176071 0.861703813076 -0.079042315483 -v -0.503543376923 0.868796229362 -0.080610632896 -v -0.497124195099 0.871228098869 -0.080048918724 -v -0.508443832397 0.800419390202 -0.136265814304 -v -0.511143684387 0.804700791836 -0.140411615372 -v -0.514699935913 0.806024491787 -0.133704960346 -v -0.511139869690 0.801549851894 -0.131215751171 -v -0.524834394455 0.834584176540 -0.149969577789 -v -0.528397083282 0.835094690323 -0.144962668419 -v -0.514429330826 0.810142576694 -0.141759753227 -v -0.517162799835 0.811100900173 -0.136384963989 -v -0.496298074722 0.786881387234 -0.115870833397 -v -0.486750125885 0.785451531410 -0.128098964691 -v -0.527594327927 0.869485437870 -0.141907572746 -v -0.518058300018 0.869149982929 -0.149671852589 -v -0.510817766190 0.799105167389 -0.121699333191 -v -0.512484073639 0.806650936604 -0.113031685352 -v -0.502429008484 0.813118338585 -0.111305117607 -v -0.508829832077 0.828153192997 -0.116886317730 -v -0.518706083298 0.822669982910 -0.117713034153 -v -0.501774787903 0.822176635265 -0.114453732967 -v -0.519619703293 0.812057256699 -0.116438627243 -v -0.517436027527 0.808292090893 -0.126053214073 -v -0.483708858490 0.853024780750 -0.088355422020 -v -0.481112241745 0.850262880325 -0.093426942825 -v -0.475982189178 0.844028592110 -0.091422438622 -v -0.477612257004 0.847269892693 -0.084727108479 -v -0.475871086121 0.837056696415 -0.086321115494 -v -0.478466987610 0.838783323765 -0.080502748489 -v -0.504234790802 0.817612648010 -0.093765556812 -v -0.500945329666 0.822281956673 -0.087224364281 -v -0.490716695786 0.824029862881 -0.093403875828 -v -0.494282245636 0.819924414158 -0.099487662315 -v -0.496157646179 0.841752350330 -0.100961446762 -v -0.505415439606 0.841348707676 -0.095487833023 -v -0.508846998215 0.836988449097 -0.101620197296 -v -0.499357938766 0.838020980358 -0.106621682644 -v -0.492764949799 0.830117106438 -0.105411946774 -v -0.489102363586 0.833834648132 -0.099696338177 -v -0.508481979370 0.830541670322 -0.089690744877 -v -0.510588169098 0.827774941921 -0.093720853329 -v -0.492753744125 0.831151664257 -0.079553246498 -v -0.486364841461 0.835210800171 -0.078461050987 -v -0.479637861252 0.832388997078 -0.086949884892 -v -0.484333038330 0.829082310200 -0.088134169579 -v -0.485946178436 0.848959863186 -0.095764815807 -v -0.492048025131 0.851611673832 -0.087720692158 -v -0.497788429260 0.848133265972 -0.089569866657 -v -0.490402221680 0.846298635006 -0.097313344479 -v -0.483847379684 0.837090373039 -0.096990287304 -v -0.479485511780 0.840040266514 -0.095492541790 -v -0.497706413269 0.841334342957 -0.080382227898 -v -0.493602514267 0.843913137913 -0.079816043377 -v -0.498492002487 0.817435145378 -0.105219185352 -v -0.501165628433 0.814163446426 -0.109083890915 -v -0.511910438538 0.809615671635 -0.104608774185 -v -0.505473136902 0.811411023140 -0.099508881569 -v -0.510790824890 0.835031032562 -0.109548807144 -v -0.516519069672 0.828535556793 -0.111123204231 -v -0.506266832352 0.830387651920 -0.115914404392 -v -0.502544403076 0.833584547043 -0.112453937531 -v -0.499927043915 0.823450028896 -0.114233195782 -v -0.497344493866 0.826164782047 -0.110643565655 -v -0.513412475586 0.815074205399 -0.096650004387 -v -0.516290664673 0.813745021820 -0.099655687809 -v -0.519789934158 0.819998562336 -0.101308584213 -v -0.517743349075 0.822623610497 -0.098065078259 -v -0.519121646881 0.827042996883 -0.104812145233 -v -0.516560077667 0.830451726913 -0.103179037571 -v -0.511471986771 0.818441748619 -0.094288408756 -v -0.514646053314 0.825179815292 -0.095527946949 -v -0.514303207397 0.831783711910 -0.099781036377 -v -0.487943172455 0.827379703522 -0.090247273445 -v -0.495469808578 0.824954450130 -0.082411110401 -v -0.500364780426 0.846157968044 -0.094868063927 -v -0.493069171906 0.843513786793 -0.098693013191 -v -0.487038612366 0.835436344147 -0.097534894943 -v -0.502112865448 0.828593492508 -0.079975128174 -v -0.504857540131 0.826588690281 -0.083056867123 -v -0.508306980133 0.833120644093 -0.085304498672 -v -0.506083965302 0.836166918278 -0.082021951675 -v -0.507864236832 0.840063154697 -0.089241921902 -v -0.505406856537 0.843329131603 -0.087880432606 -v -0.499519109726 0.832336187363 -0.078415036201 -v -0.502271652222 0.839114248753 -0.080325365067 -v -0.502671241760 0.844747602940 -0.085275530815 -v -0.520011425018 0.816879510880 -0.107176601887 -v -0.485849618912 0.848793625832 -0.077213406563 -v -0.484879255295 0.844172120094 -0.075477480888 -v -0.486962318420 0.843352615833 -0.076518177986 -v -0.488926410675 0.847343027592 -0.078180730343 -v -0.487652778625 0.852373063564 -0.079998552799 -v -0.490156412125 0.851481437683 -0.079959809780 -v -0.482032775879 0.841814160347 -0.076701343060 -v -0.481650590897 0.848758876324 -0.079696655273 -v -0.487200260162 0.840355038643 -0.076348960400 -v -0.491241216660 0.845820188522 -0.079050183296 -v -0.491406917572 0.852079093456 -0.082417190075 -v -0.486078977585 0.853447556496 -0.083156108856 -v -0.498555898666 0.789247334003 -0.110209047794 -v -0.490535259247 0.795914649963 -0.107083380222 -v -0.499561071396 0.808594465256 -0.109262883663 -v -0.509321451187 0.801345944405 -0.113677084446 -v -0.491660594940 0.804835021496 -0.106762707233 -v -0.506342411041 0.790087342262 -0.117207169533 -v -0.507618427277 0.792013823986 -0.113375782967 -v -0.489049196243 0.826286792755 -0.079535543919 -v -0.485815525055 0.826620817184 -0.084511041641 -v -0.480561256409 0.821815013885 -0.084118247032 -v -0.483257293701 0.822232902050 -0.077751755714 -v -0.479671239853 0.815304994583 -0.082047581673 -v -0.482170104980 0.815054416656 -0.077047288418 -v -0.498437404633 0.795974731445 -0.094222247601 -v -0.495993852615 0.799155712128 -0.089099407196 -v -0.488581657410 0.803750157356 -0.092741906643 -v -0.489798069000 0.801814615726 -0.097452342510 -v -0.499174118042 0.816335558891 -0.095021665096 -v -0.505331993103 0.810285627842 -0.091094553471 -v -0.508020877838 0.806802392006 -0.096497237682 -v -0.500244140625 0.813882708549 -0.098373711109 -v -0.491198301315 0.810434281826 -0.099174976349 -v -0.490566730499 0.812255382538 -0.095983982086 -v -0.504388093948 0.801935672760 -0.089532196522 -v -0.506303787231 0.799559772015 -0.093178451061 -v -0.490227460861 0.806715846062 -0.080041587353 -v -0.486819744110 0.810494184494 -0.077443838120 -v -0.481586694717 0.811227262020 -0.084623336792 -v -0.484838962555 0.807765960693 -0.087508916855 -v -0.489450216293 0.825551927090 -0.087533473969 -v -0.494817018509 0.822417318821 -0.080430269241 -v -0.498338937759 0.818705558777 -0.082634210587 -v -0.493239879608 0.822486460209 -0.090337991714 -v -0.485663890839 0.816083729267 -0.092872619629 -v -0.482256412506 0.819070279598 -0.089587986469 -v -0.495429277420 0.813326537609 -0.077522575855 -v -0.493692398071 0.815349698067 -0.076042175293 -v -0.490639209747 0.799663007259 -0.100690245628 -v -0.491382598877 0.797495901585 -0.103254914284 -v -0.500654220581 0.789737641811 -0.104475378990 -v -0.497671604156 0.792602598667 -0.098903775215 -v -0.509530782700 0.806396782398 -0.102260172367 -v -0.511167049408 0.801594376564 -0.108417809010 -v -0.500758171082 0.809814274311 -0.105136036873 -v -0.500140190125 0.811406195164 -0.101884782314 -v -0.491745948792 0.806727945805 -0.103401362896 -v -0.492305278778 0.808004617691 -0.101605892181 -v -0.505864143372 0.790762722492 -0.098364591599 -v -0.506949424744 0.789222061634 -0.102397680283 -v -0.511898517609 0.792011439800 -0.104481697083 -v -0.511413574219 0.793921768665 -0.099860727787 -v -0.513942241669 0.797082841396 -0.105452656746 -v -0.513425111771 0.799474656582 -0.101383924484 -v -0.505221366882 0.793554723263 -0.095338940620 -v -0.509412050247 0.796497941017 -0.095882833004 -v -0.511485099792 0.800802588463 -0.097495257854 -v -0.487203598022 0.805865585804 -0.089809119701 -v -0.491508483887 0.801817178726 -0.084747970104 -v -0.501916170120 0.816967248917 -0.087054252625 -v -0.496026515961 0.819197714329 -0.092714369297 -v -0.489030599594 0.813616871834 -0.094238102436 -v -0.496573925018 0.803260147572 -0.081626772881 -v -0.499391555786 0.800740122795 -0.084920167923 -v -0.503435134888 0.803725183010 -0.085128188133 -v -0.500617980957 0.807261526585 -0.080836713314 -v -0.505204677582 0.808161199093 -0.085975766182 -v -0.502797126770 0.812113285065 -0.082701086998 -v -0.494894981384 0.806727290154 -0.079006910324 -v -0.497905254364 0.810785889626 -0.078416407108 -v -0.500154018402 0.814402937889 -0.080199837685 -v -0.509780406952 0.792054593563 -0.109013736248 -v -0.489554882050 0.819736123085 -0.072930335999 -v -0.487940311432 0.816487431526 -0.072609961033 -v -0.489381313324 0.815415918827 -0.073478043079 -v -0.491574764252 0.818117618561 -0.074059128761 -v -0.491600751877 0.822124600410 -0.074348628521 -v -0.493067026138 0.820745110512 -0.075044274330 -v -0.485497951508 0.815698802471 -0.073549985886 -v -0.486885070801 0.821202099323 -0.073756098747 -v -0.488751888275 0.812952458858 -0.073907077312 -v -0.492937803268 0.816626131535 -0.074767291546 -v -0.494431257248 0.821339190006 -0.076288044453 -v -0.491227149963 0.824168622494 -0.075623750687 -v -0.527001857758 0.853478670120 -0.125246942043 -v -0.513896465302 0.857641816139 -0.126969873905 -v -0.517309665680 0.873407602310 -0.133468151093 -v -0.529544591904 0.871562659740 -0.133002638817 -v -0.510344266891 0.866749882698 -0.130797505379 -v -0.535715341568 0.858517348766 -0.139212429523 -v -0.535772323608 0.861216902733 -0.129334509373 -v -0.490445613861 0.890650033951 -0.100051939487 -v -0.488363265991 0.888513207436 -0.107455074787 -v -0.485354423523 0.880579829216 -0.108673691750 -v -0.485455274582 0.882985472679 -0.099698960781 -v -0.487403631210 0.872754931450 -0.105823457241 -v -0.488933801651 0.873876035213 -0.098851382732 -v -0.518436908722 0.863012790680 -0.108661413193 -v -0.512920618057 0.866162419319 -0.104191660881 -v -0.507155895233 0.865417718887 -0.113856613636 -v -0.510566711426 0.863865315914 -0.116527736187 -v -0.512574672699 0.881888926029 -0.117601990700 -v -0.519688844681 0.883390605450 -0.107507109642 -v -0.524630069733 0.880152225494 -0.113091707230 -v -0.515925884247 0.879324555397 -0.120808780193 -v -0.509762763977 0.871237039566 -0.122120618820 -v -0.506671428680 0.872891902924 -0.120059609413 -v -0.521101236343 0.874487102032 -0.101826131344 -v -0.524887323380 0.872092723846 -0.105790376663 -v -0.502747774124 0.870004713535 -0.100400567055 -v -0.497266054153 0.871715247631 -0.097897529602 -v -0.492583751678 0.869514763355 -0.108082056046 -v -0.498463630676 0.867662549019 -0.110751748085 -v -0.494890928268 0.888140499592 -0.110826432705 -v -0.499839544296 0.889504313469 -0.100029766560 -v -0.507523536682 0.887580394745 -0.102457940578 -v -0.502919435501 0.885920166969 -0.114045023918 -v -0.498455524445 0.875417351723 -0.118292808533 -v -0.491332054138 0.877597153187 -0.115070879459 -v -0.506424903870 0.879839777946 -0.096214175224 -v -0.503129482269 0.880639374256 -0.095109224319 -v -0.512672424316 0.862300992012 -0.120484471321 -v -0.513113737106 0.860535264015 -0.123115837574 -v -0.525039196014 0.856878221035 -0.118569016457 -v -0.519091129303 0.858681201935 -0.114477872849 -v -0.526840448380 0.879119575024 -0.120443284512 -v -0.530992031097 0.874435842037 -0.125046432018 -v -0.518256187439 0.875537931919 -0.128518223763 -v -0.517742633820 0.876998245716 -0.124922633171 -v -0.511662721634 0.868683815002 -0.127072453499 -v -0.511864900589 0.869614481926 -0.124864697456 -v -0.530849933624 0.860190629959 -0.111503541470 -v -0.533360242844 0.859168589115 -0.115616202354 -v -0.536691904068 0.865351617336 -0.116629421711 -v -0.534475564957 0.867561042309 -0.111754179001 -v -0.535916090012 0.871988415718 -0.118930697441 -v -0.533593416214 0.874997556210 -0.115182757378 -v -0.527114391327 0.863506555557 -0.108078002930 -v -0.529962301254 0.869924604893 -0.107841134071 -v -0.530357837677 0.875990808010 -0.111109972000 -v -0.503102540970 0.866510391235 -0.113218367100 -v -0.505452632904 0.866206705570 -0.104708135128 -v -0.513443470001 0.887060940266 -0.106990933418 -v -0.508520841599 0.883631944656 -0.116348564625 -v -0.503959178925 0.873957514763 -0.119046747684 -v -0.510499000549 0.870763242245 -0.097471833229 -v -0.514724016190 0.870366811752 -0.098390698433 -v -0.518878698349 0.876383900642 -0.097725093365 -v -0.514991760254 0.878054201603 -0.095596671104 -v -0.519540309906 0.882226943970 -0.100633978844 -v -0.515974521637 0.884334146976 -0.099541544914 -v -0.507736682892 0.872971475124 -0.096328496933 -v -0.510526895523 0.879325091839 -0.095016777515 -v -0.511901855469 0.884887933731 -0.097839653492 -v -0.535580873489 0.863515138626 -0.121753752232 -v -0.494115114212 0.883353888988 -0.090229034424 -v -0.494159221649 0.878465473652 -0.090765476227 -v -0.496655464172 0.878225266933 -0.091974556446 -v -0.497776508331 0.882385611534 -0.092055082321 -v -0.494970798492 0.887757301331 -0.091351509094 -v -0.497639894485 0.886616647243 -0.092495083809 -v -0.491739749908 0.876264393330 -0.093018054962 -v -0.489335536957 0.883648872375 -0.093107581139 -v -0.497393131256 0.875543773174 -0.093272686005 -v -0.500410795212 0.881527364254 -0.093731045723 -v -0.499048471451 0.888204634190 -0.094248950481 -v -0.492660522461 0.889721930027 -0.094091176987 -v -0.521483898163 0.842776119709 -0.155532121658 -v -0.518549919128 0.858851313591 -0.158480763435 -v -0.513115406036 0.815885305405 -0.150368809700 -v -0.514750003815 0.828490138054 -0.158624708652 -v -0.504255294800 0.803942263126 -0.149980843067 -v -0.471243858337 0.786971271038 -0.142925024033 -v -0.466823101044 0.792440652847 -0.134708881378 -v -0.454370021820 0.826037108898 -0.138828337193 -v -0.495823860168 0.816522121429 -0.171279489994 -v -0.490122318268 0.804616093636 -0.166800975800 -v -0.501922845840 0.864825129509 -0.167882800102 -v -0.488729238510 0.869901716709 -0.140693187714 -v -0.494021654129 0.873752593994 -0.152330935001 -v -0.487847566605 0.878740549088 -0.152684986591 -v -0.480398416519 0.872110724449 -0.138898909092 -v -0.463868141174 0.866027951241 -0.132292509079 -v -0.478146791458 0.862194061279 -0.133633494377 -v -0.463702440262 0.875368595123 -0.127856612206 -v -0.453201293945 0.882918894291 -0.131946742535 -v -0.446355819702 0.873552322388 -0.141134619713 -v -0.483682394028 0.883540391922 -0.145150899887 -v -0.476632833481 0.876343607903 -0.133325040340 -v -0.484167098999 0.901457369328 -0.093008697033 -v -0.485260963440 0.893595635891 -0.095105886459 -v -0.483138322830 0.889306485653 -0.131258606911 -v -0.477747440338 0.882396876812 -0.121179759502 -v -0.476070404053 0.880022823811 -0.127019524574 -v -0.481888771057 0.887317419052 -0.138192296028 -v -0.468255043030 0.884616315365 -0.116226017475 -v -0.464697837830 0.881538629532 -0.122920870781 -v -0.479435443878 0.900566041470 -0.136166751385 -v -0.477606296539 0.898043036461 -0.145556926727 -v -0.468045234680 0.902096092701 -0.133089959621 -v -0.465980529785 0.900569677353 -0.139554977417 -v -0.462095737457 0.895440816879 -0.121656596661 -v -0.457749605179 0.892096400261 -0.130192101002 -v -0.470758438110 0.897547125816 -0.155327796936 -v -0.466237306595 0.894115865231 -0.159044146538 -v -0.457171916962 0.892076790333 -0.153369426727 -v -0.461186885834 0.897225439548 -0.149793088436 -v -0.450381755829 0.887220442295 -0.144794583321 -v -0.453635215759 0.891810834408 -0.140942871571 -v -0.480525970459 0.891566216946 -0.156198561192 -v -0.471389532089 0.900366127491 -0.149930894375 -v -0.463864564896 0.900258302689 -0.145290255547 -v -0.457410335541 0.896189451218 -0.139161109924 -v -0.469795703888 0.888008773327 -0.165396869183 -v -0.452988624573 0.883881807327 -0.157703280449 -v -0.491194486618 0.891927838326 -0.114754319191 -v -0.486534357071 0.885707378387 -0.106756806374 -v -0.479014396667 0.889679074287 -0.100693225861 -v -0.489616870880 0.903515696526 -0.117441117764 -v -0.487568616867 0.908877730370 -0.099188625813 -v -0.490461826324 0.908248662949 -0.103589415550 -v -0.486899375916 0.906276345253 -0.106632411480 -v -0.481706142426 0.906772732735 -0.103209018707 -v -0.484368562698 0.908297657967 -0.096467256546 -v -0.480246782303 0.906286239624 -0.099046111107 -v -0.472922801971 0.901211500168 -0.101609766483 -v -0.481368541718 0.883780658245 -0.114653468132 -v -0.486560106277 0.890575349331 -0.123603880405 -v -0.473132371902 0.886498153210 -0.109143614769 -v -0.485536098480 0.901406943798 -0.128164887428 -v -0.480238437653 0.907655954361 -0.126654922962 -v -0.476631164551 0.906661093235 -0.131565809250 -v -0.469987869263 0.906214416027 -0.128223299980 -v -0.473164319992 0.908138692379 -0.122179150581 -v -0.465127468109 0.902755975723 -0.122632205486 -v -0.467630147934 0.903878688812 -0.116376280785 -v -0.467125654221 0.895816802979 -0.111212134361 -v -0.482595682144 0.906823217869 -0.120295464993 -v -0.477108955383 0.906865596771 -0.115525126457 -v -0.472041606903 0.904061913490 -0.110747873783 -v -0.477966785431 0.905460000038 -0.110133111477 -v -0.493883132935 0.907011985779 -0.104439914227 -v -0.491958379745 0.907425343990 -0.096913754940 -v -0.489140272141 0.905874848366 -0.111298918724 -v -0.479014158249 0.906400084496 -0.107349276543 -v -0.476996898651 0.905042469501 -0.099129199982 -v -0.484606742859 0.906890451908 -0.093938052654 -v -0.491485834122 0.862887859344 -0.133998870850 -v -0.478189468384 0.851019322872 -0.133088052273 -v -0.436126470566 0.836560726166 -0.156523883343 -v -0.442461729050 0.835687577724 -0.147658109665 -v -0.441426515579 0.845188915730 -0.148403167725 -v -0.437577724457 0.854609191418 -0.159161508083 -v -0.454926490784 0.834215760231 -0.140588104725 -v -0.462005615234 0.792235910892 -0.166105270386 -v -0.456657409668 0.791631460190 -0.155758082867 -v -0.483422994614 0.867121934891 -0.181242167950 -v -0.468945980072 0.855017066002 -0.193509101868 -v -0.462913751602 0.870561540127 -0.183496356010 -v -0.491529464722 0.874752402306 -0.165132880211 -v -0.487841367722 0.878770470619 -0.162872314453 -v -0.468900203705 0.836523592472 -0.196922063828 -v -0.479998111725 0.818049311638 -0.186679184437 -v -0.499879121780 0.870677828789 -0.139983534813 -v -0.504315376282 0.871536970139 -0.151580274105 -v -0.454349756241 0.840840578079 -0.139953255653 -v -0.480731725693 0.877718329430 -0.174314856529 -v -0.464861869812 0.879262804985 -0.174113869667 -v -0.446362018585 0.868979811668 -0.170653223991 -v -0.449486732483 0.874917387962 -0.165948867798 -v -0.440111875534 0.863788783550 -0.154974460602 -v -0.441115617752 0.851662218571 -0.146024465561 -v -0.454034090042 0.845933496952 -0.138140499592 -v -0.456007719040 0.854448795319 -0.133829414845 -v -0.469702482224 0.854526937008 -0.132327675819 -v -0.444778442383 0.858243584633 -0.139310777187 -v -0.481812000275 0.882776081562 -0.167174339294 -v -0.484746932983 0.884817302227 -0.160003304482 -v -0.442131519318 0.811856746674 -0.148359179497 -v -0.436752319336 0.819676995277 -0.155522286892 -v -0.452622652054 0.797102570534 -0.146845281124 -v -0.443253278732 0.825838088989 -0.145939826965 -v -0.444576740265 0.818954288960 -0.143559813499 -v -0.433326005936 0.807289421558 -0.173588871956 -v -0.441542625427 0.803750753403 -0.187457442284 -v -0.430660247803 0.819438576698 -0.164661586285 -v -0.430188417435 0.836086511612 -0.162424981594 -v -0.432472229004 0.853630959988 -0.163688778877 -v -0.439163208008 0.866289258003 -0.172386646271 -v -0.448523044586 0.868499755859 -0.185838401318 -v -0.454426765442 0.857727229595 -0.197017431259 -v -0.454931259155 0.839325785637 -0.202164053917 -v -0.465736627579 0.819396853447 -0.194947898388 -v -0.450971364975 0.817552566528 -0.198323130608 -v -0.456123352051 0.800768375397 -0.183851480484 -v -0.468741416931 0.797707617283 -0.175054907799 -v -0.425196409225 0.807017326355 -0.182153224945 -v -0.429808616638 0.808018207550 -0.197672486305 -v -0.423538684845 0.817356407642 -0.170044660568 -v -0.423536777496 0.833735704422 -0.165797650814 -v -0.425173997879 0.851301014423 -0.165531635284 -v -0.430070877075 0.863844513893 -0.173078656197 -v -0.436095714569 0.867850482464 -0.187229573727 -v -0.440057992935 0.861827850342 -0.201652050018 -v -0.439754009247 0.844789445400 -0.210174918175 -v -0.435653448105 0.823165953159 -0.207971274853 -v -0.419240474701 0.811311781406 -0.205702304840 -v -0.414561510086 0.807009160519 -0.189636647701 -v -0.403192281723 0.809433162212 -0.199932932854 -v -0.409330129623 0.817718327045 -0.216658353806 -v -0.413339853287 0.815283596516 -0.174596428871 -v -0.399246454239 0.813498079777 -0.181282222271 -v -0.413203001022 0.829875349998 -0.168070018291 -v -0.397543668747 0.824719786644 -0.171226143837 -v -0.395318984985 0.834834337234 -0.168890595436 -v -0.408400058746 0.846953988075 -0.167888164520 -v -0.413450241089 0.863622665405 -0.173395872116 -v -0.419510841370 0.872239351273 -0.188069701195 -v -0.424756288528 0.871203422546 -0.206108510494 -v -0.424194335938 0.854732930660 -0.219132661819 -v -0.414286136627 0.851325511932 -0.227738976479 -v -0.424114227295 0.828399658203 -0.215525388718 -v -0.413206815720 0.834980130196 -0.225028336048 -v -0.474735736847 0.806489527225 -0.181779563427 -v -0.461838483810 0.807741761208 -0.190207779408 -v -0.450213432312 0.803499877453 -0.189132690430 -v -0.453882694244 0.808152139187 -0.192983090878 -v -0.063398599625 0.425415545702 -0.004801809788 -v -0.057441711426 0.421231210232 0.011059165001 -v -0.042950868607 0.417842894793 0.021519958973 -v 0.144121408463 0.511780261993 0.077085554600 -v 0.108297348022 0.528908789158 0.076607823372 -v 0.103316783905 0.511069953442 0.013130068779 -v 0.120876550674 0.499709635973 0.015783727169 -v 0.143322706223 0.510246276855 0.023608624935 -v 0.161252737045 0.523530781269 0.064749538898 -v 0.152065515518 0.501725971699 -0.009824156761 -v 0.140231609344 0.498346298933 -0.030532300472 -v 0.192918300629 0.507425546646 -0.030843675137 -v 0.185611486435 0.508959054947 -0.011636078358 -v 0.187336921692 0.531630814075 -0.041304111481 -v 0.124450206757 0.523272991180 -0.047710359097 -v 0.227248430252 0.552403509617 -0.004147112370 -v 0.228659629822 0.532396197319 -0.002932310104 -v 0.227637529373 0.592922449112 0.034270524979 -v 0.233801364899 0.565752506256 0.035560011864 -v 0.223552703857 0.587897717953 -0.008055388927 -v 0.221391916275 0.630149424076 0.032777488232 -v 0.188503026962 0.624325811863 0.092208683491 -v 0.197622060776 0.591138243675 0.090726375580 -v 0.214549303055 0.686934411526 0.045682489872 -v 0.187195301056 0.673267960548 0.099526941776 -v 0.216737031937 0.692575335503 -0.008495330811 -v 0.199777126312 0.701083362103 -0.008754312992 -v 0.194094419479 0.686676740646 0.034240126610 -v 0.220711708069 0.636359512806 -0.020351350307 -v 0.182755708694 0.725424706936 -0.089372277260 -v 0.179335832596 0.729352295399 -0.071519851685 -v 0.187209367752 0.650559663773 -0.072877883911 -v 0.166259288788 0.675132751465 0.078442573547 -v 0.195732593536 0.668351173401 0.035658538342 -v 0.165970325470 0.662057161331 0.079006195068 -v 0.184274196625 0.697052001953 -0.025637030602 -v 0.136685848236 0.621061325073 0.124828457832 -v 0.146819353104 0.581296682358 0.115078270435 -v 0.209793090820 0.565983176231 0.086855173111 -v 0.165661096573 0.548517227173 0.104174733162 -v 0.134027719498 0.671311855316 0.129685342312 -v 0.078870058060 0.624179244041 0.127473473549 -v 0.088960170746 0.573084473610 0.105961620808 -v 0.077410221100 0.682400047779 0.141914546490 -v 0.184307813644 0.588923692703 -0.058013796806 -v 0.129453897476 0.595893144608 -0.086390793324 -v 0.133975744247 0.663929998875 -0.106234252453 -v 0.236451148987 0.552949547768 0.037623882294 -v 0.224511861801 0.541902184486 0.036363959312 -v 0.211948394775 0.525437772274 0.006383121014 -v 0.214318037033 0.545253038406 0.069983601570 -v 0.212549924850 0.552964806557 0.068517923355 -v 0.224463939667 0.549749970436 0.033728003502 -v 0.218957901001 0.557131946087 0.083203673363 -v 0.187869310379 0.532874941826 0.092133939266 -v 0.187714338303 0.534057557583 0.080063939095 -v 0.181240797043 0.545281291008 0.081068098545 -v 0.146420955658 0.531102359295 0.067861676216 -v 0.212937355042 0.534900724888 0.000919044018 -v 0.184135675430 0.516894340515 -0.018340229988 -v 0.071259021759 0.544855475426 -0.057795166969 -v 0.062549352646 0.523616433144 0.002657234669 -v 0.072495937347 0.605195105076 -0.099032998085 -v 0.012754201889 0.670661449432 -0.129763662815 -v 0.074255228043 0.671743631363 -0.122924923897 -v 0.016004562378 0.604284882545 -0.108093738556 -v -0.047175407410 0.665716767311 -0.120963096619 -v -0.047187089920 0.735366821289 -0.127462327480 -v 0.014084577560 0.746303260326 -0.145008087158 -v -0.093496322632 0.661609470844 -0.084233760834 -v -0.096379756927 0.725130677223 -0.084452211857 -v -0.035370826721 0.739451408386 -0.115991532803 -v 0.016326665878 0.748082160950 -0.129412829876 -v -0.076249361038 0.729390442371 -0.078382790089 -v -0.043362140656 0.605586290359 -0.104780077934 -v -0.089107990265 0.608498692513 -0.073513865471 -v -0.114396095276 0.659402668476 -0.028737843037 -v -0.114691495895 0.720096588135 -0.025828123093 -v -0.112749338150 0.613461971283 -0.024391472340 -v 0.026057243347 0.539770305157 -0.068712770939 -v -0.036364793777 0.558640837669 -0.091128528118 -v 0.081735372543 0.748860776424 -0.142071723938 -v 0.138632535934 0.742601990700 -0.123913228512 -v 0.074531555176 0.752696514130 -0.124717712402 -v 0.130490541458 0.744501113892 -0.108744025230 -v 0.031629323959 0.521139383316 -0.005045592785 -v 0.039030313492 0.551695644855 0.056075632572 -v -0.001458644867 0.553142666817 0.050433158875 -v 0.022727251053 0.514308512211 -0.007078170776 -v 0.018694400787 0.521275639534 -0.064219474792 -v -0.013375759125 0.545891344547 0.025897085667 -v 0.010625362396 0.528762698174 -0.008753895760 -v -0.013785123825 0.537784159184 0.044802665710 -v -0.003431797028 0.556365251541 0.031631588936 -v 0.021438360214 0.537024855614 -0.007674217224 -v -0.044837236404 0.555213034153 0.041083216667 -v -0.037632226944 0.567453145981 0.046529829502 -v -0.051511764526 0.550408124924 0.056568264961 -v -0.049501657486 0.569334208965 0.059367895126 -v -0.012590885162 0.593995332718 0.081816494465 -v -0.056488513947 0.606606721878 0.067150175571 -v 0.028929233551 0.585341632366 0.093791067600 -v 0.008466243744 0.527554392815 -0.046013593674 -v 0.015324592590 0.539409756660 -0.046251296997 -v -0.025128364563 0.548998892307 -0.059863686562 -v -0.028495788574 0.536334693432 -0.059524655342 -v -0.034542560577 0.529292702675 -0.083323836327 -v 0.145991802216 0.508340239525 -0.014416158199 -v 0.131390333176 0.516479372978 0.021855235100 -v 0.026699304581 0.634563446045 0.117274522781 -v -0.020232677460 0.642315804958 0.100721597672 -v -0.026278018951 0.702590823174 0.111697435379 -v -0.068937778473 0.706630170345 0.078983545303 -v -0.064911603928 0.651495337486 0.071269571781 -v -0.015012741089 0.704616785049 0.095527708530 -v -0.054348468781 0.709064245224 0.065617680550 -v 0.026480436325 0.697825789452 0.111364364624 -v 0.025828838348 0.691604137421 0.109849214554 -v -0.014955997467 0.698180437088 0.094332814217 -v 0.071362495422 0.688030838966 0.115027904510 -v 0.069956779480 0.677348077297 0.113705933094 -v 0.121142864227 0.674957156181 0.104752779007 -v 0.119457006454 0.664903819561 0.103474259377 -v 0.021538257599 0.694689214230 0.131033778191 -v -0.053185701370 0.703009426594 0.064263105392 -v -0.084846496582 0.713242530823 0.025584518909 -v -0.102933645248 0.712332844734 0.035015225410 -v -0.095738649368 0.717043399811 -0.024513781071 -v -0.100670337677 0.658007621765 0.027561366558 -v -0.096192121506 0.614809751511 0.028727471828 -v -0.093750953674 0.575753808022 0.032837092876 -v -0.107775926590 0.575954735279 -0.015404582024 -v -0.076748132706 0.721031785011 -0.079203486443 -v -0.095304489136 0.708831727505 -0.024215877056 -v -0.035797357559 0.727729797363 -0.117839038372 -v 0.016345024109 0.738378584385 -0.135166823864 -v -0.084352016449 0.707949042320 0.025263905525 -v -0.074731111526 0.537435054779 -0.053000748158 -v -0.060385465622 0.543911695480 -0.041588306427 -v -0.085829257965 0.563987195492 -0.064947962761 -v -0.100173950195 0.556139528751 -0.010330975056 -v -0.076323747635 0.554702341557 -0.007672071457 -v -0.072488784790 0.558982849121 0.027619063854 -v -0.093396186829 0.559440493584 0.031786739826 -v -0.076028823853 0.564334809780 -0.006530702114 -v -0.068377733231 0.567896723747 0.030334770679 -v -0.061259269714 0.555227398872 -0.041971862316 -v 0.073889255524 0.745370209217 -0.123060703278 -v 0.128804206848 0.738630473614 -0.107519149780 -v 0.170720815659 0.713177621365 -0.074004113674 -v 0.014654159546 0.516860008240 -0.008520841599 -v 0.013562679291 0.518869280815 -0.057164371014 -v -0.016606330872 0.536776065826 0.037213981152 -v -0.049576044083 0.547559082508 0.050266206264 -v -0.032561779022 0.526100814342 -0.075417101383 -v -0.081507205963 0.541957616806 -0.059140264988 -v -0.090506315231 0.551226019859 -0.008307635784 -v -0.086373806000 0.554394304752 0.030092954636 -v 0.154227733612 0.513570308685 0.073047876358 -v 0.132213592529 0.500396609306 0.018915951252 -v 0.146581411362 0.496055126190 -0.020876288414 -v 0.191246986389 0.503775417805 -0.022085011005 -v 0.222658157349 0.525225639343 0.000867187977 -v 0.230988979340 0.543813467026 0.037524938583 -v 0.219683170319 0.549111723900 0.076172590256 -v 0.182136535645 0.536433517933 0.100669324398 -v 0.046369791031 0.719563126564 0.135822176933 -v 0.042241811752 0.721289813519 0.120435237885 -v -0.003053903580 0.735716164112 0.113252401352 -v -0.001557350159 0.734151005745 0.128390729427 -v 0.048724651337 0.693842947483 0.145092248917 -v 0.088016271591 0.680101275444 0.143559694290 -v 0.088751792908 0.712511181831 0.134645402431 -v -0.005078792572 0.687308907509 0.133116126060 -v 0.005204916000 0.678244352341 0.114929139614 -v 0.045290470123 0.679847002029 0.130735397339 -v -0.046638011932 0.679906129837 0.107797205448 -v -0.036025047302 0.673013865948 0.093445062637 -v -0.047019481659 0.748887658119 0.117437124252 -v -0.043670654297 0.749698400497 0.105795860291 -v -0.083326578140 0.758892953396 0.081229805946 -v -0.092339754105 0.758642017841 0.089627742767 -v -0.084635972977 0.674705922604 0.074784040451 -v -0.118670225143 0.769500553608 0.044728934765 -v -0.110567569733 0.675210475922 0.032601892948 -v -0.073696851730 0.668749451637 0.062748491764 -v -0.096913099289 0.669786691666 0.024165332317 -v -0.136384248734 0.778806865215 -0.006764948368 -v -0.125165224075 0.685560584068 -0.010455846786 -v -0.128728628159 0.779637575150 -0.004121005535 -v -0.123834848404 0.788750588894 -0.051987946033 -v -0.134121894836 0.787187457085 -0.055941343307 -v -0.112501621246 0.770408868790 0.043770790100 -v -0.125114917755 0.696647584438 -0.048348546028 -v 0.088402271271 0.679888308048 0.132619023323 -v 0.127837419510 0.673484921455 0.119722843170 -v 0.132176876068 0.673645257950 0.122276902199 -v 0.162997484207 0.673051953316 0.104590058327 -v 0.168073177338 0.673548042774 0.111319541931 -v 0.194190502167 0.675714135170 0.075663864613 -v 0.201750755310 0.681370317936 0.081253111362 -v 0.160883426666 0.700167834759 0.107342004776 -v 0.126739978790 0.702453672886 0.123044371605 -v 0.196573019028 0.701241195202 0.081610202789 -v 0.218851804733 0.692234337330 0.023782670498 -v 0.218031644821 0.722697138786 0.022761344910 -v 0.211975812912 0.697270512581 -0.019005358219 -v 0.210978746414 0.684415698051 0.022575974464 -v 0.206652164459 0.696023881435 -0.015635728836 -v 0.217346906662 0.742312967777 -0.024935722351 -v 0.212719678879 0.723642468452 0.022974371910 -v 0.189186811447 0.703710496426 0.071625590324 -v 0.151532173157 0.701240718365 0.096213757992 -v 0.119452953339 0.703918457031 0.109877347946 -v 0.084906578064 0.714441061020 0.121117770672 -v -0.109468936920 0.675620913506 -0.013445198536 -v -0.102214574814 0.688136637211 -0.049785196781 -v -0.112360954285 0.709139764309 -0.096938610077 -v -0.090363025665 0.703007459641 -0.084746301174 -v -0.079424858093 0.723271906376 -0.131462454796 -v -0.063344240189 0.716237366199 -0.108357429504 -v -0.031183481216 0.732107281685 -0.152232766151 -v -0.028877019882 0.723726272583 -0.136132776737 -v 0.020634174347 0.744759976864 -0.156958043575 -v 0.014694929123 0.733487784863 -0.142659604549 -v 0.069174766541 0.743137419224 -0.152602612972 -v 0.061331748962 0.735695242882 -0.140975654125 -v 0.110146522522 0.735085666180 -0.144149661064 -v 0.103978872299 0.731820046902 -0.132717370987 -v 0.077984094620 0.798910439014 -0.141461968422 -v 0.119859457016 0.790866315365 -0.137311816216 -v 0.074426889420 0.802294850349 -0.135301411152 -v 0.116223812103 0.793579339981 -0.130329132080 -v 0.161331653595 0.781449317932 -0.127611219883 -v 0.152729034424 0.728924751282 -0.130435585976 -v 0.157443046570 0.783650875092 -0.121536970139 -v 0.016957759857 0.807849287987 -0.168082594872 -v 0.013961553574 0.810384929180 -0.162219345570 -v 0.142093658447 0.720312654972 -0.115514278412 -v 0.183982133865 0.712360918522 -0.110098004341 -v 0.172728776932 0.703007578850 -0.095244884491 -v 0.204134464264 0.694908976555 -0.070124804974 -v 0.194279670715 0.698028326035 -0.065750300884 -v 0.193339109421 0.770651638508 -0.104809045792 -v 0.212558984756 0.760952532291 -0.071953296661 -v -0.037868022919 0.804407358170 -0.172462224960 -v -0.085999965668 0.798096537590 -0.150223016739 -v -0.079912900925 0.801035761833 -0.145433545113 -v -0.039311408997 0.806997716427 -0.165538191795 -v -0.114581584930 0.791720926762 -0.122836530209 -v -0.107570171356 0.793677270412 -0.103108108044 -v 0.188315153122 0.773532092571 -0.101306200027 -v 0.206870555878 0.763117253780 -0.069325089455 -v 0.211477041245 0.744883477688 -0.024265110493 -v 0.042490959167 0.714094579220 0.143952012062 -v 0.087229490280 0.708064198494 0.141458809376 -v -0.003680706024 0.725511908531 0.134795546532 -v -0.046833276749 0.736211478710 0.117370963097 -v -0.090959787369 0.743731617928 0.091760039330 -v -0.118830442429 0.753062367439 0.045624971390 -v -0.137614011765 0.761805653572 -0.004316985607 -v -0.138007164001 0.771108925343 -0.055927753448 -v 0.164827346802 0.696167469025 0.115181803703 -v 0.129087686539 0.698045313358 0.129442453384 -v 0.202077627182 0.697257161140 0.083701729774 -v 0.223474979401 0.716901838779 0.021489858627 -v 0.219713687897 0.734807431698 -0.024288654327 -v 0.116148948669 0.780359745026 -0.140539228916 -v 0.075758695602 0.788216233253 -0.143896400928 -v 0.158277511597 0.770472466946 -0.130922555923 -v 0.016254663467 0.794478595257 -0.169810354710 -v 0.214664697647 0.750561535358 -0.070789575577 -v 0.193098306656 0.760572731495 -0.107543230057 -v -0.038340330124 0.789423942566 -0.169972777367 -v -0.089158058167 0.786127924919 -0.148080706596 -v -0.117129564285 0.774500608444 -0.117468833923 -v 0.042947053909 0.680678486824 0.141971707344 -v 0.088331699371 0.690217196941 0.148079514503 -v 0.003902912140 0.677657604218 0.129070520401 -v -0.041256189346 0.671179771423 0.103981673717 -v -0.082117557526 0.666609048843 0.067920327187 -v -0.102604150772 0.668240845203 0.030974626541 -v -0.117699861526 0.673860788345 -0.010850131512 -v -0.117666482925 0.687893807888 -0.057794094086 -v 0.130661725998 0.680747628212 0.129106581211 -v 0.167012929916 0.680982887745 0.119741201401 -v 0.203903198242 0.687600016594 0.084002554417 -v 0.223474740982 0.696553647518 0.024260759354 -v 0.218124628067 0.702928543091 -0.021467387676 -v -0.105328559875 0.700765669346 -0.090611577034 -v -0.074398279190 0.714329957962 -0.125499725342 -v -0.027653694153 0.722540020943 -0.144668102264 -v 0.022192239761 0.732428669930 -0.150135040283 -v 0.065891504288 0.733176171780 -0.148831009865 -v 0.109828948975 0.726947844028 -0.140057563782 -v 0.145726919174 0.717888236046 -0.127151072025 -v 0.178150177002 0.702635169029 -0.105906605721 -v 0.208762645721 0.699994683266 -0.072454273701 -v 0.474818944931 0.829751849174 0.080761909485 -v 0.447371721268 0.827144682407 0.082335829735 -v 0.436402082443 0.801355779171 0.076726853848 -v 0.437137126923 0.782028198242 0.062518715858 -v 0.449114084244 0.774479269981 0.043720185757 -v 0.466235399246 0.780543923378 0.026742458344 -v 0.482433199883 0.796503424644 0.020002663136 -v 0.497534036636 0.817176282406 0.030400276184 -v 0.490592956543 0.825681328773 0.062343478203 -v 0.416083812714 0.856479287148 0.063238620758 -v 0.397818565369 0.822540879250 0.058679580688 -v 0.394402980804 0.790257930756 0.037392973900 -v 0.409307241440 0.778394103050 -0.000016272068 -v 0.435056686401 0.793707430363 -0.030144393444 -v 0.461454987526 0.821685552597 -0.037738919258 -v 0.478555798531 0.853732824326 -0.014944911003 -v 0.468921065331 0.879577338696 0.027264356613 -v 0.445375442505 0.880728542805 0.053184807301 -v 0.466699838638 0.886996567249 -0.046786844730 -v 0.444378852844 0.847988784313 -0.076629161835 -v 0.406841993332 0.809575557709 -0.076438903809 -v 0.371905088425 0.787828385830 -0.042897462845 -v 0.357719540596 0.804510772228 0.005992591381 -v 0.362805366516 0.843034982681 0.036714971066 -v 0.391008257866 0.879716992378 0.041662096977 -v 0.425895571709 0.907973527908 0.033029556274 -v 0.459516048431 0.908767938614 0.004759609699 -v 0.474973201752 0.818710982800 0.074997305870 -v 0.461808919907 0.809670209885 0.079118371010 -v 0.456480264664 0.798067808151 0.076258957386 -v 0.455782771111 0.786437451839 0.067734181881 -v 0.461717367172 0.781551599503 0.053859353065 -v 0.471699953079 0.783859133720 0.044202029705 -v 0.482946038246 0.793918967247 0.038748741150 -v 0.489899158478 0.805950462818 0.046118319035 -v 0.486937761307 0.816467463970 0.063097000122 -v 0.441228270531 0.887848794460 -0.051129221916 -v 0.419926643372 0.855345606804 -0.080606341362 -v 0.393717527390 0.828494906425 -0.076067388058 -v 0.370517253876 0.811828851700 -0.047418713570 -v 0.361316323280 0.823268711567 -0.005200862885 -v 0.369323611259 0.850542843342 0.018845379353 -v 0.388053059578 0.882371962070 0.021297752857 -v 0.414115905762 0.906186938286 0.015702068806 -v 0.435689449310 0.907421112061 -0.006201267242 -v 0.457625389099 0.893979549408 -0.053317129612 -v 0.432103991508 0.851549267769 -0.084864497185 -v 0.397927403450 0.816684424877 -0.084416866302 -v 0.365631699562 0.796897709370 -0.048830389977 -v 0.351232051849 0.811093628407 -0.000877141953 -v 0.357836484909 0.846324503422 0.031680703163 -v 0.384871840477 0.884247660637 0.031613469124 -v 0.419532299042 0.913497269154 0.023943066597 -v 0.448849439621 0.918320059776 -0.001152694225 -v 0.468704581261 0.841255605221 0.076112985611 -v 0.455493927002 0.817524373531 0.086187958717 -v 0.447009682655 0.798206448555 0.080420792103 -v 0.444962501526 0.781422913074 0.068031430244 -v 0.455179333687 0.774285674095 0.049756467342 -v 0.471616744995 0.778853714466 0.036065757275 -v 0.486483812332 0.790827751160 0.029048442841 -v 0.496397018433 0.808861613274 0.039405584335 -v 0.487864613533 0.835947692394 0.054146111012 -v 0.153582811356 1.146741271019 -0.023735761642 -v 0.146487712860 1.131359100342 -0.001364409924 -v 0.166741371155 1.124185800552 0.018122673035 -v 0.193145751953 1.149736404419 -0.011541187763 -v 0.155054807663 1.159122467041 -0.049359142780 -v 0.204403400421 1.165102362633 -0.054153501987 -v 0.122463703156 1.154211997986 -0.012223064899 -v 0.122359752655 1.165279030800 -0.031655430794 -v 0.111874103546 1.145521163940 -0.014831602573 -v 0.108873367310 1.130098581314 0.001646161079 -v 0.118844747543 1.140482068062 0.008030056953 -v 0.112039089203 1.157532334328 -0.030208945274 -v 0.117567777634 1.174703359604 -0.051419258118 -v 0.107257843018 1.165954709053 -0.045900940895 -v 0.104554653168 1.179394125938 -0.069682717323 -v 0.096223115921 1.169898509979 -0.061130762100 -v 0.078921318054 1.169709205627 -0.074586033821 -v 0.084147691727 1.179101228714 -0.084845960140 -v 0.060791492462 1.176911592484 -0.095880866051 -v 0.057977199554 1.167713642120 -0.084590315819 -v 0.036164999008 1.174309372902 -0.102829873562 -v 0.034911155701 1.165031433105 -0.090920388699 -v 0.010727643967 1.171227931976 -0.105658352375 -v 0.011106491089 1.162466049194 -0.093655586243 -v 0.043484210968 1.148231267929 -0.125569045544 -v 0.015298843384 1.144926548004 -0.130406677723 -v 0.071163892746 1.151486396790 -0.119160473347 -v 0.099195003510 1.154577970505 -0.109847664833 -v 0.129453897476 1.156361937523 -0.098611533642 -v 0.148039340973 1.161061882973 -0.075409770012 -v 0.194738388062 1.157809615135 -0.093097984791 -v 0.166496038437 1.133596062660 -0.120083212852 -v 0.241148471832 1.147128343582 -0.110760331154 -v 0.205090999603 1.108767747879 -0.138120114803 -v 0.296813964844 1.119970321655 -0.113083600998 -v 0.248097181320 1.079767704010 -0.139568984509 -v 0.314052343369 1.139110684395 -0.062264442444 -v 0.255768775940 1.160152196884 -0.056023120880 -v 0.125734090805 1.143847703934 -0.100883603096 -v 0.157966852188 1.121018052101 -0.115687131882 -v 0.195927619934 1.096690416336 -0.130942702293 -v 0.102578163147 1.110636472702 0.020105242729 -v 0.110338211060 1.120410561562 0.029318034649 -v 0.135500192642 1.112133264542 0.027387619019 -v 0.121419668198 1.085264921188 0.053761780262 -v 0.096231937408 1.096061944962 0.048072874546 -v 0.121106386185 1.072343826294 0.043408513069 -v 0.135016918182 1.098165869713 0.015953302383 -v 0.146015644073 1.118869185448 -0.003721117973 -v 0.161901235580 1.110084056854 0.008137762547 -v 0.196237564087 1.113056898117 0.041670143604 -v 0.231638908386 1.147067785263 0.005591809750 -v 0.187341213226 1.099266767502 0.029134333134 -v 0.101557731628 1.063514590263 0.082820892334 -v 0.102081298828 1.052370190620 0.074180006981 -v 0.079520702362 1.077967882156 0.068052530289 -v 0.091128826141 1.087718725204 0.037324488163 -v 0.076925516129 1.069971561432 0.055388748646 -v 0.073636531830 1.045414447784 0.104310035706 -v 0.060042619705 1.063298940659 0.085158526897 -v 0.060029506683 1.056650996208 0.070179820061 -v 0.076045036316 1.035140991211 0.095563471317 -v 0.043664932251 1.024097084999 0.109484314919 -v 0.049406528473 1.016946673393 0.102544367313 -v -0.092731475830 1.104547619820 -0.051223099232 -v -0.113844156265 1.093252182007 -0.044122219086 -v -0.106844902039 1.081219434738 -0.051757276058 -v -0.089383363724 1.092386722565 -0.054474711418 -v -0.142742395401 1.079518079758 -0.034633517265 -v -0.133426666260 1.067001342773 -0.045482337475 -v -0.184802770615 1.058834671974 -0.039483308792 -v -0.173303604126 1.048474073410 -0.050417959690 -v -0.212892293930 1.028311491013 -0.072805166245 -v -0.225590705872 1.036243677139 -0.063136100769 -v -0.252138376236 1.016947031021 -0.094444274902 -v -0.238336086273 1.010701894760 -0.105198681355 -v -0.261181116104 1.009418725967 -0.139634251595 -v -0.249701499939 1.001395821571 -0.147045373917 -v -0.236275196075 1.050160169601 -0.116216957569 -v -0.220269918442 1.051454544067 -0.180383503437 -v -0.255511283875 1.006905913353 -0.191586971283 -v -0.200874567032 1.088705539703 -0.091722786427 -v -0.183070182800 1.090037822723 -0.163334965706 -v -0.194282293320 1.042732954025 -0.226393222809 -v -0.229079723358 1.004474639893 -0.227474808693 -v -0.159255266190 1.014430284500 -0.241221547127 -v -0.196877479553 1.004197716713 -0.243847310543 -v -0.161328792572 1.084260106087 -0.219420254230 -v -0.119579792023 1.036281943321 -0.230625808239 -v -0.244533061981 0.997296631336 -0.191611886024 -v -0.223453521729 0.995631098747 -0.221788883209 -v -0.153653621674 1.110693693161 -0.078140616417 -v -0.146693229675 1.116624593735 -0.140892207623 -v -0.119409322739 1.117959380150 -0.075315594673 -v -0.110646963120 1.127498865128 -0.118036568165 -v -0.091603517532 1.119367361069 -0.072633266449 -v -0.084799051285 1.131223559380 -0.097159922123 -v -0.115998268127 1.108692765236 -0.190854609013 -v -0.089858293533 1.122802376747 -0.153536438942 -v -0.082515239716 1.073935151100 -0.031460642815 -v -0.089494943619 1.087044239044 -0.020607233047 -v -0.073734283447 1.050684690475 0.000546932220 -v -0.080284357071 1.062893509865 0.010187029839 -v -0.068449974060 1.044618606567 0.047623455524 -v -0.062891244888 1.033905506134 0.039388358593 -v -0.047109127045 1.031812429428 0.080443978310 -v -0.031396150589 1.052964568138 0.067215263844 -v -0.045845985413 1.064046025276 0.042960286140 -v -0.017226934433 1.017256498337 0.097646474838 -v -0.012994289398 1.040772914886 0.082050144672 -v -0.024281263351 1.047124743462 0.053621292114 -v -0.036925554276 1.057082414627 0.032743573189 -v -0.047004699707 1.072139143944 0.009349822998 -v -0.057619094849 1.078983664513 0.016488373280 -v -0.069085836411 1.100236415863 -0.007317364216 -v -0.056204557419 1.092651844025 -0.012012958527 -v -0.059460639954 1.110859036446 -0.031832396984 -v -0.073314666748 1.118509888649 -0.030457615852 -v -0.059396266937 1.125840187073 -0.048513889313 -v -0.072108268738 1.131877303123 -0.050584912300 -v -0.009020328522 1.040055990219 0.067265510559 -v -0.008279085159 1.048065781593 0.086258769035 -v -0.001708984375 1.044293761253 0.063691854477 -v -0.011102437973 1.013419628143 0.107842206955 -v 0.012402534485 1.014568805695 0.111340701580 -v -0.007885932922 1.000435948372 0.096706688404 -v 0.016772985458 0.998014330864 0.098615229130 -v -0.018301010132 1.009325742722 0.089410901070 -v 0.012949943542 1.049798607826 0.088101744652 -v 0.018573284149 1.045927882195 0.061640202999 -v 0.036473512650 1.048622608185 0.071156620979 -v 0.042591094971 1.045850872993 0.077319562435 -v 0.032891273499 1.053035736084 0.094713449478 -v -0.043589353561 1.021625638008 0.071766734123 -v -0.062194108963 1.102410316467 -0.172938823700 -v -0.045767784119 1.134480834007 -0.135547220707 -v -0.039524316788 1.122236609459 -0.136410057545 -v -0.056471109390 1.089962005615 -0.166750788689 -v -0.069718599319 1.135420084000 -0.119947195053 -v -0.057276010513 1.154541730881 -0.085973024368 -v -0.039468765259 1.162768602371 -0.098182201385 -v -0.047900676727 1.148107647896 -0.076298177242 -v -0.032938718796 1.155064463615 -0.086415827274 -v -0.067025423050 1.143415451050 -0.068977236748 -v -0.056419372559 1.138137459755 -0.063298463821 -v -0.015136957169 1.167805433273 -0.104464530945 -v -0.012070894241 1.159346342087 -0.092343151569 -v -0.014311790466 1.140978336334 -0.133057236671 -v -0.011669158936 1.129227042198 -0.125870227814 -v 0.016017198563 1.133123755455 -0.120839774609 -v 0.042919397354 1.136187195778 -0.116020321846 -v 0.069320917130 1.139438748360 -0.110212624073 -v 0.096272230148 1.142657041550 -0.103571355343 -v -0.084033012390 1.068661570549 -0.209112644196 -v -0.079619884491 1.055715084076 -0.200545787811 -v -0.114229202271 1.024448990822 -0.220436096191 -v -0.152589321136 1.005478620529 -0.229532003403 -v -0.190863609314 0.997435450554 -0.232511520386 -v 0.283624172211 1.127811551094 0.019655466080 -v 0.238133430481 1.093801021576 0.054984629154 -v 0.281615972519 1.070061683655 0.051802158356 -v 0.324586987495 1.083217859268 0.015623211861 -v 0.317109346390 1.049089670181 0.037077486515 -v 0.344853520393 1.035368323326 0.004752695560 -v 0.272841930389 1.062416911125 0.039141774178 -v 0.309236288071 1.042762875557 0.023036181927 -v 0.228971004486 1.083329319954 0.041944861412 -v 0.336932301521 1.026821017265 -0.005697131157 -v 0.352009296417 1.016058206558 -0.045218408108 -v 0.363454222679 1.025239586830 -0.041483044624 -v 0.350228548050 1.082829117775 -0.050576865673 -v 0.331254720688 1.069567441940 -0.102947354317 -v 0.354001879692 1.020647644997 -0.085915803909 -v 0.344488024712 1.012196183205 -0.082506895065 -v 0.291500329971 1.049303770065 -0.131860733032 -v 0.316508769989 1.020089149475 -0.108288466930 -v 0.278244972229 1.045682430267 -0.121770381927 -v 0.329316139221 1.025645136833 -0.117285430431 -v 0.237555980682 1.070979237556 -0.131267666817 -v 0.035062551498 1.018665790558 0.116485953331 -v 0.040465593338 1.046646237373 0.092548847198 -v 0.039201974869 1.005905747414 0.105759739876 -v 0.407534599304 1.049324989319 -0.053019642830 -v 0.407415151596 1.048302650452 -0.055281043053 -v 0.409241080284 1.045540690422 -0.054215550423 -v 0.409348964691 1.045631766319 -0.052197813988 -v 0.407567024231 1.045038938522 -0.053497850895 -v 0.408619165421 1.045577406883 -0.051431357861 -v 0.405469179153 1.048570752144 -0.051153659821 -v 0.405564785004 1.047778606415 -0.056019663811 -v 0.403634786606 1.047237396240 -0.053114891052 -v 0.403636693954 1.047934293747 -0.055059254169 -v 0.400758862495 1.061518907547 -0.057837843895 -v 0.404543042183 1.054217815399 -0.054585695267 -v 0.403454065323 1.053356051445 -0.050477862358 -v 0.400370597839 1.052134513855 -0.054630398750 -v 0.400712847710 1.052084445953 -0.049256503582 -v 0.390304088593 1.109333515167 -0.057016730309 -v 0.388536572456 1.106098771095 -0.056595444679 -v 0.390356302261 1.105766057968 -0.046931087971 -v 0.392881512642 1.108199954033 -0.046167612076 -v 0.386311173439 1.096173763275 -0.029934227467 -v 0.384410738945 1.113091945648 -0.026496827602 -v 0.389004111290 1.130117177963 -0.037221312523 -v 0.392682909966 1.108635425568 -0.037295579910 -v 0.393145322800 1.127447843552 -0.052910566330 -v 0.390158653259 1.094229102135 -0.034627795219 -v 0.365346193314 1.095366001129 -0.075250387192 -v 0.361508131027 1.084615111351 -0.066927909851 -v 0.372699022293 1.087730288506 -0.066918432713 -v 0.371014833450 1.094595193863 -0.072323203087 -v 0.361182332039 1.096700906754 -0.029368877411 -v 0.354959249496 1.107748985291 -0.019379496574 -v 0.363673329353 1.110366463661 -0.021963655949 -v 0.367691278458 1.100643992424 -0.026672244072 -v 0.374418973923 1.110103130341 -0.023161590099 -v 0.377149462700 1.091655015945 -0.026055395603 -v 0.373545646667 1.081293344498 -0.038487195969 -v 0.338927745819 1.093048810959 -0.023161709309 -v 0.335716485977 1.096756339073 -0.022189855576 -v 0.333831310272 1.101293921471 -0.015252113342 -v 0.339010357857 1.099372625351 -0.015726268291 -v 0.336115360260 1.103556871414 -0.011844396591 -v 0.344871759415 1.091088294983 -0.023372709751 -v 0.330793619156 1.106926560402 -0.018525958061 -v 0.326990127563 1.115554690361 -0.016181170940 -v 0.328750967979 1.092396497726 -0.021561920643 -v 0.325265884399 1.098267674446 -0.019644141197 -v 0.346914052963 1.103241682053 -0.017480194569 -v 0.338825702667 1.108204364777 -0.011111140251 -v 0.344290256500 1.120107769966 -0.013092637062 -v 0.340465307236 1.136773347855 -0.015785038471 -v 0.324753522873 1.125427603722 -0.015070736408 -v 0.325292944908 1.136361837387 -0.017429172993 -v 0.329348087311 1.116966009140 -0.013588488102 -v 0.332792520523 1.118334770203 -0.096988618374 -v 0.332243442535 1.122267842293 -0.094619393349 -v 0.323136806488 1.125333309174 -0.083494544029 -v 0.327710032463 1.113504409790 -0.092576861382 -v 0.341573119164 1.120945453644 -0.094311773777 -v 0.335590600967 1.131715416908 -0.092355489731 -v 0.328661322594 1.133670330048 -0.089798271656 -v 0.324473619461 1.135583043098 -0.085328757763 -v 0.353020310402 1.126932740211 -0.091999888420 -v 0.346932053566 1.140344977379 -0.090539395809 -v 0.324019074440 1.120222568512 -0.017995357513 -v 0.289908170700 1.127960801125 -0.085108101368 -v 0.304053783417 1.121056914330 -0.078729987144 -v 0.358429908752 1.193968534470 -0.088134527206 -v 0.357683658600 1.184876799583 -0.100257873535 -v 0.363889813423 1.171106338501 -0.087482929230 -v 0.366210937500 1.176288127899 -0.080222189426 -v 0.368631839752 1.159053325653 -0.078640401363 -v 0.373743414879 1.167661428452 -0.066681802273 -v 0.375433444977 1.182421684265 -0.018816709518 -v 0.371500611305 1.164965748787 -0.026864171028 -v 0.360645771027 1.163048863411 -0.020475804806 -v 0.365925073624 1.182272315025 -0.013802051544 -v 0.355728268623 1.168922543526 -0.016866326332 -v 0.365192413330 1.144321084023 -0.023384571075 -v 0.351355433464 1.141466021538 -0.019072234631 -v 0.347202420235 1.153388857841 -0.018843293190 -v 0.341611385345 1.160166978836 -0.015560805798 -v 0.308113574982 1.139430522919 -0.086172342300 -v 0.313164234161 1.145732045174 -0.091821610928 -v 0.344058752060 1.152563452721 -0.093004882336 -v 0.359626531601 1.152780056000 -0.086724877357 -v 0.353022336960 1.166682362556 -0.092923939228 -v 0.347189664841 1.169834375381 -0.094244897366 -v 0.342811346054 1.158735275269 -0.094510555267 -v 0.353778600693 1.178154706955 -0.104299247265 -v 0.348872900009 1.177428722382 -0.102648377419 -v 0.331777811050 1.146316647530 -0.093712210655 -v 0.320755481720 1.145852565765 -0.098560571671 -v 0.323286175728 1.148737668991 -0.101337194443 -v 0.333321571350 1.152906417847 -0.097986042500 -v 0.326210260391 1.151933670044 -0.103993952274 -v 0.320780992508 1.131242513657 -0.019613742828 -v 0.316488265991 1.137263059616 -0.026703536510 -v 0.320133447647 1.137962102890 -0.020618379116 -v 0.337424993515 1.147775053978 -0.018649101257 -v 0.334059238434 1.153875350952 -0.016800880432 -v 0.332339167595 1.160215377808 -0.011005222797 -v 0.333034753799 1.162801146507 -0.010488092899 -v 0.342080116272 1.164801001549 -0.014642059803 -v 0.329650044441 1.156030654907 -0.012940168381 -v 0.320695400238 1.147234559059 -0.025550961494 -v 0.324349880219 1.148427605629 -0.021465837955 -v 0.324996113777 1.144489049911 -0.022029399872 -v 0.319767236710 1.142206072807 -0.025610327721 -v 0.316439867020 1.145988821983 -0.028391957283 -v 0.314030408859 1.140980482101 -0.030016005039 -v 0.306605100632 1.136893630028 -0.031398415565 -v 0.311094760895 1.138293743134 -0.030661761761 -v 0.314454317093 1.133188128471 -0.029211819172 -v 0.307747125626 1.131512522697 -0.031591475010 -v 0.291517019272 1.138318657875 -0.033916234970 -v 0.304842948914 1.122800350189 -0.030405402184 -v 0.289185523987 1.130287408829 -0.033323228359 -v 0.286009788513 1.137142181396 -0.090150713921 -v 0.292701721191 1.141978979111 -0.107457876205 -v 0.304615020752 1.142538189888 -0.102706909180 -v 0.309559822083 1.150496006012 -0.024630010128 -v 0.318125486374 1.150960326195 -0.022390007973 -v 0.317887067795 1.153405547142 -0.009570956230 -v 0.321745395660 1.151527643204 -0.017602443695 -v 0.312289476395 1.154029130936 -0.016137778759 -v 0.300724506378 1.151372194290 -0.025900006294 -v 0.302543878555 1.155046701431 -0.016855716705 -v 0.311131477356 1.148434042931 -0.121525228024 -v 0.314778566360 1.145795822144 -0.111356735229 -v 0.318232536316 1.148830175400 -0.113018929958 -v 0.316641569138 1.155373811722 -0.125974237919 -v 0.310946226120 1.160884141922 -0.130396544933 -v 0.305948495865 1.152399063110 -0.128264009953 -v 0.322793602943 1.153211474419 -0.114452242851 -v 0.319596290588 1.160681724548 -0.123025000095 -v 0.319034099579 1.171830296516 0.017393767834 -v 0.317905664444 1.160627365112 0.008475244045 -v 0.311162710190 1.163662672043 0.014921247959 -v 0.310447931290 1.172396779060 0.019649803638 -v 0.309610843658 1.159015893936 0.012034296989 -v 0.310906410217 1.144272089005 -0.107071161270 -v 0.306469917297 1.144841670990 -0.117874324322 -v 0.302479743958 1.143570303917 -0.114495694637 -v 0.301431417465 1.147624731064 -0.126265466213 -v 0.295472621918 1.145630240440 -0.120796620846 -v 0.288472175598 1.148880720139 -0.025115370750 -v 0.301652908325 1.141206622124 -0.031471252441 -v 0.309620141983 1.142498731613 -0.029031515121 -v 0.273790359497 1.148244857788 -0.025866985321 -v 0.272537946701 1.142426609993 -0.030830979347 -v 0.272406339645 1.134789586067 -0.032956182957 -v 0.291519165039 1.153991341591 -0.016412615776 -v 0.305040836334 1.167021632195 0.019629895687 -v 0.307030200958 1.163709878922 0.017679572105 -v 0.305133104324 1.161130547523 0.017725169659 -v 0.303712606430 1.163359761238 0.020457804203 -v 0.294210910797 1.150454163551 -0.129565417767 -v 0.297544717789 1.151566028595 -0.131443619728 -v 0.299007177353 1.157061815262 -0.131160855293 -v 0.289251804352 1.162134289742 -0.127951741219 -v 0.300848484039 1.162901401520 0.020725965500 -v 0.299931526184 1.168733119965 0.019787251949 -v 0.302267789841 1.160912990570 0.017476558685 -v 0.284586906433 1.155997037888 -0.118712186813 -v 0.320478677750 1.183388590813 0.019893288612 -v 0.315504550934 1.185158967972 0.021765649319 -v 0.304894447327 1.174435973167 0.020509123802 -v 0.311547279358 1.187007069588 0.021684288979 -v 0.294510126114 1.164358973503 0.015730142593 -v 0.295584678650 1.166682958603 0.018493294716 -v 0.298225879669 1.162472367287 0.019704580307 -v 0.296677112579 1.161968946457 0.018077135086 -v 0.299949407578 1.160799622536 0.016491711140 -v 0.297479152679 1.160787940025 0.014298200607 -v 0.295337200165 1.162495613098 0.013063669205 -v 0.297493457794 1.159226298332 0.006240844727 -v 0.292984724045 1.162090659142 0.007228136063 -v 0.289747714996 1.165970087051 0.009980738163 -v 0.293587207794 1.173587322235 0.017361879349 -v 0.295882701874 1.184546113014 0.019877433777 -v 0.289324522018 1.170376300812 0.013289868832 -v 0.304202318192 1.163235664368 -0.131868004799 -v 0.295037984848 1.173500776291 -0.132903218269 -v 0.339935421944 1.204928994179 0.011042654514 -v 0.323164343834 1.198740124702 0.019174516201 -v 0.319356679916 1.202640295029 0.017888188362 -v 0.333619713783 1.216896772385 0.006251335144 -v 0.316392660141 1.223941683769 0.004564166069 -v 0.318291187286 1.236307144165 -0.009308457375 -v 0.339412450790 1.232521295547 -0.013116896152 -v 0.309664726257 1.210659503937 0.013969600201 -v 0.320227146149 1.235717296600 -0.089737355709 -v 0.315104484558 1.228830337524 -0.112790822983 -v 0.326388478279 1.222050905228 -0.113814830780 -v 0.333210706711 1.227595806122 -0.095670104027 -v 0.337775707245 1.211602926254 -0.112435698509 -v 0.344557762146 1.216145873070 -0.082126915455 -v 0.326203584671 1.226114869118 -0.064788460732 -v 0.278375148773 1.164562225342 0.002692937851 -v 0.286962032318 1.159514427185 -0.002162218094 -v 0.278234004974 1.155510902405 -0.013907790184 -v 0.260844707489 1.160049319267 -0.009037494659 -v 0.253694772720 1.171441078186 0.002056777477 -v 0.274199008942 1.172616839409 0.009002089500 -v 0.241376399994 1.164381980896 -0.022117018700 -v 0.236744165421 1.171596884727 -0.017185091972 -v 0.257408142090 1.154074668884 -0.020835101604 -v 0.240831613541 1.161932706833 -0.027496337891 -v 0.272498369217 1.184606671333 0.015063345432 -v 0.283818006516 1.195466637611 0.018259227276 -v 0.251496076584 1.179788351059 0.004774987698 -v 0.280345439911 1.187177538872 -0.130770325661 -v 0.278849363327 1.200135588646 -0.128845155239 -v 0.264022827148 1.197203159332 -0.124487996101 -v 0.263042688370 1.188585639000 -0.125758051872 -v 0.247735500336 1.194719552994 -0.112018883228 -v 0.248827695847 1.181841850281 -0.113283038139 -v 0.269680976868 1.173762202263 -0.124203026295 -v 0.254821300507 1.213196992874 -0.005989432335 -v 0.259692907333 1.217268109322 -0.002873539925 -v 0.264866352081 1.212918281555 0.006526708603 -v 0.262398242950 1.203422427177 0.007279813290 -v 0.274141788483 1.213083267212 0.013194501400 -v 0.276415348053 1.206676006317 0.013642489910 -v 0.247564315796 1.194469571114 -0.000649333000 -v 0.245563030243 1.205689191818 -0.011326313019 -v 0.232998371124 1.204849720001 -0.033008277416 -v 0.242313385010 1.215915679932 -0.027005612850 -v 0.237220525742 1.198678970337 -0.018567323685 -v 0.235009908676 1.188932180405 -0.016125142574 -v 0.229682207108 1.194204092026 -0.034655272961 -v 0.280081987381 1.256208896637 -0.019527673721 -v 0.266340732574 1.257276535034 -0.021893620491 -v 0.272911071777 1.248642563820 -0.034798681736 -v 0.289152145386 1.246002078056 -0.035115897655 -v 0.308747768402 1.234785199165 -0.048455655575 -v 0.315008163452 1.240252733231 -0.028551578522 -v 0.295452594757 1.246342897415 -0.017771065235 -v 0.291768074036 1.252464294434 -0.011624932289 -v 0.272852182388 1.246320486069 0.026719093323 -v 0.274995565414 1.244897484779 0.026039719582 -v 0.270889520645 1.239411234856 0.026342213154 -v 0.269581317902 1.240408897400 0.026497364044 -v 0.264169454575 1.234132766724 0.025929450989 -v 0.263763427734 1.235451221466 0.026660978794 -v 0.263376712799 1.240142583847 0.021522641182 -v 0.268235921860 1.245139122009 0.023626983166 -v 0.227350234985 1.201413989067 -0.060404598713 -v 0.226505756378 1.187961101532 -0.062663376331 -v 0.232470035553 1.193228960037 -0.089262902737 -v 0.238893508911 1.210202097893 -0.088255286217 -v 0.253223896027 1.206307768822 -0.110778868198 -v 0.239593505859 1.224539875984 -0.073748230934 -v 0.232012033463 1.216619491577 -0.053089022636 -v 0.252145767212 1.219983339310 -0.097832560539 -v 0.250634193420 1.229226589203 -0.085364758968 -v 0.252376794815 1.238263368607 -0.057780742645 -v 0.267105579376 1.240937113762 -0.056898772717 -v 0.258289337158 1.241248607635 -0.051965177059 -v 0.252767086029 1.235920786858 -0.034247636795 -v 0.247609376907 1.233851552010 -0.039491355419 -v 0.265551090240 1.267001390457 0.009194791317 -v 0.272844314575 1.261870384216 0.012323737144 -v 0.270809888840 1.260163426399 0.015809416771 -v 0.262974262238 1.263656973839 0.012956202030 -v 0.268976211548 1.265585422516 0.000393331051 -v 0.258705377579 1.266561031342 -0.002085030079 -v 0.261866092682 1.261532545090 -0.010348796844 -v 0.274395465851 1.261371612549 -0.009189963341 -v 0.238660573959 1.248261332512 0.003617167473 -v 0.232067346573 1.245571255684 0.001219451427 -v 0.233589172363 1.253527522087 -0.000213980675 -v 0.238280773163 1.252982854843 0.002291560173 -v 0.241975069046 1.261794805527 0.000397861004 -v 0.244624614716 1.256234288216 0.001851916313 -v 0.222787380219 1.257822632790 -0.151930749416 -v 0.228422880173 1.254693269730 -0.147209823132 -v 0.230664730072 1.257706403732 -0.153383851051 -v 0.225557327271 1.260083436966 -0.156076908112 -v 0.224181652069 1.269489765167 -0.164974153042 -v 0.218438386917 1.260652661324 -0.156715095043 -v 0.235471725464 1.260826349258 -0.157907843590 -v 0.216721296310 1.261644721031 -0.151875853539 -v 0.215643405914 1.258587121964 -0.150196969509 -v 0.234998703003 1.261462807655 -0.124403178692 -v 0.224088907242 1.267516016960 -0.134056270123 -v 0.228742599487 1.274905562401 -0.138475537300 -v 0.243557214737 1.273823022842 -0.127884268761 -v 0.218826293945 1.271217346191 -0.139695227146 -v 0.223790407181 1.282513380051 -0.156298041344 -v 0.229401111603 1.281741142273 -0.159395992756 -v 0.243339538574 1.285583496094 -0.155722141266 -v 0.240149497986 1.285640001297 -0.147173225880 -v 0.263746500015 1.284044027328 -0.144365310669 -v 0.256647109985 1.283450603485 -0.135616004467 -v 0.249143123627 1.278396368027 -0.130899667740 -v 0.231034517288 1.281445980072 -0.142535567284 -v 0.228749275208 1.279866695404 -0.162645876408 -v 0.225111246109 1.280306816101 -0.161672592163 -v 0.326325416565 1.095832467079 -0.026897907257 -v 0.328660488129 1.092162013054 -0.027155876160 -v 0.334224581718 1.083390593529 -0.031802475452 -v 0.331976652145 1.086985468864 -0.036189317703 -v 0.244880199432 1.142374873161 -0.073979854584 -v 0.242966175079 1.142764568329 -0.078356206417 -v 0.235785722733 1.146784543991 -0.078433096409 -v 0.238635778427 1.145627975464 -0.074249148369 -v 0.232438325882 1.149214863777 -0.073069214821 -v 0.236898422241 1.147114753723 -0.069623470306 -v 0.255175828934 1.136546134949 -0.077648699284 -v 0.255682229996 1.136946439743 -0.070239722729 -v 0.269840002060 1.141850829124 -0.088529407978 -v 0.257449388504 1.150468826294 -0.085283041000 -v 0.282135963440 1.148957133293 -0.107223212719 -v 0.262875080109 1.157893180847 -0.106579840183 -v 0.264955282211 1.164611697197 -0.115844190121 -v 0.244687318802 1.169971346855 -0.105285048485 -v 0.246577739716 1.164339303970 -0.095911860466 -v 0.234338521957 1.172934412956 -0.084621906281 -v 0.237678050995 1.167568325996 -0.080495774746 -v 0.230271100998 1.181651115417 -0.088845074177 -v 0.227655649185 1.178839325905 -0.062708079815 -v 0.231756448746 1.172751188278 -0.062062919140 -v 0.229456424713 1.177902221680 -0.036529541016 -v 0.232846736908 1.170946717262 -0.038640320301 -v 0.227507114410 1.182419776917 -0.036165595055 -v 0.234830379486 1.176739931107 -0.015439331532 -v 0.235546827316 1.166122555733 -0.040820002556 -v 0.235387325287 1.167956709862 -0.061342179775 -v 0.236512184143 1.160708308220 -0.043142557144 -v 0.237915754318 1.161495804787 -0.059940874577 -v 0.241000175476 1.156659126282 -0.029682040215 -v 0.256223201752 1.147885084152 -0.025309741497 -v 0.252270221710 1.141531467438 -0.026705861092 -v 0.236812353134 1.148920893669 -0.030205547810 -v 0.290362834930 1.128957509995 -0.035883367062 -v 0.271513700485 1.134885430336 -0.035297334194 -v 0.306781768799 1.119673848152 -0.033734023571 -v 0.317042827606 1.112375974655 -0.022598922253 -v 0.317406177521 1.108932733536 -0.028873980045 -v 0.332089543343 1.094723105431 -0.085125267506 -v 0.322933316231 1.108649253845 -0.085476875305 -v 0.319103002548 1.109926819801 -0.080069780350 -v 0.329759955406 1.096952438354 -0.079336047173 -v 0.334635496140 1.087565541267 -0.070015192032 -v 0.337785124779 1.084333658218 -0.074962139130 -v 0.336755514145 1.081413388252 -0.053044438362 -v 0.338276147842 1.079147696495 -0.053146123886 -v 0.346428036690 1.085549473763 -0.069611251354 -v 0.343625307083 1.093718051910 -0.081809461117 -v 0.333607673645 1.104474425316 -0.090680718422 -v 0.343541741371 1.081957101822 -0.052684903145 -v 0.353684067726 1.082917213440 -0.067507863045 -v 0.358879923820 1.093483090401 -0.077935218811 -v 0.351037502289 1.092784404755 -0.080610275269 -v 0.360334396362 1.102306008339 -0.085941970348 -v 0.347621440887 1.101400613785 -0.092805027962 -v 0.345952153206 1.079882979393 -0.052633166313 -v 0.355161905289 1.077038049698 -0.051688134670 -v 0.343386173248 1.084547519684 -0.034452319145 -v 0.352032899857 1.082792043686 -0.035345792770 -v 0.340294599533 1.086036086082 -0.034663975239 -v 0.321768999100 1.104483842850 -0.020316779613 -v 0.326095461845 1.115695357323 -0.020195245743 -v 0.319353103638 1.123223304749 -0.025029301643 -v 0.322834372520 1.101128458977 -0.027329206467 -v 0.321851253510 1.127054452896 -0.022767901421 -v 0.353766679764 1.095177173615 -0.026385903358 -v 0.359876632690 1.086948037148 -0.037192046642 -v 0.368791699409 1.081473231316 -0.054299533367 -v 0.366416454315 1.085834145546 -0.039678335190 -v 0.375720381737 1.077826261520 -0.054867923260 -v 0.385641813278 1.069572925568 -0.047519683838 -v 0.386780261993 1.068247556686 -0.054583191872 -v 0.379089593887 1.078935027122 -0.064835965633 -v 0.387892365456 1.068310856819 -0.060149490833 -v 0.394519090652 1.059546113014 -0.055611908436 -v 0.389144182205 1.068464994431 -0.063209295273 -v 0.381745100021 1.079965829849 -0.068755567074 -v 0.395897269249 1.059724450111 -0.058292984962 -v 0.397762775421 1.058734893799 -0.060246050358 -v 0.390513181686 1.068549633026 -0.065918266773 -v 0.401293635368 1.052220582962 -0.057137370110 -v 0.402930855751 1.052381992340 -0.058841645718 -v 0.399328708649 1.059069991112 -0.062133789063 -v 0.404549121857 1.052707433701 -0.057922661304 -v 0.400724768639 1.060495495796 -0.061055362225 -v 0.394371271133 1.071512341499 -0.065981507301 -v 0.392708420753 1.069672346115 -0.067366063595 -v 0.394284963608 1.071869850159 -0.062373280525 -v 0.388498425484 1.083336234093 -0.066320896149 -v 0.388929486275 1.082942962646 -0.069176137447 -v 0.389878511429 1.092170119286 -0.038135766983 -v 0.392562985420 1.073132753372 -0.038371622562 -v 0.393902897835 1.072458386421 -0.036485314369 -v 0.400479316711 1.060284376144 -0.040919661522 -v 0.400619268417 1.059895157814 -0.042878329754 -v 0.392677068710 1.071635484695 -0.034626603127 -v 0.399963617325 1.058247804642 -0.039560496807 -v 0.389219284058 1.072089076042 -0.033550858498 -v 0.398481249809 1.057546377182 -0.040394842625 -v 0.385063409805 1.070487856865 -0.035343050957 -v 0.395586490631 1.058170080185 -0.044803380966 -v 0.402001142502 1.052767753601 -0.042411684990 -v 0.388577699661 1.095486879349 -0.066482841969 -v 0.387288451195 1.094378232956 -0.064481914043 -v 0.389545917511 1.108287096024 -0.069271624088 -v 0.387219429016 1.094375610352 -0.071040332317 -v 0.390260934830 1.124660015106 -0.067944049835 -v 0.383810281754 1.146947145462 -0.036770582199 -v 0.387935638428 1.145303487778 -0.049735426903 -v 0.385385751724 1.144845247269 -0.066654205322 -v 0.379234194756 1.167300224304 -0.047699809074 -v 0.378260374069 1.142871618271 -0.078380703926 -v 0.384638786316 1.121478676796 -0.079748928547 -v 0.371328830719 1.114236831665 -0.083621263504 -v 0.366134643555 1.134753823280 -0.086642682552 -v 0.358268737793 1.111678957939 -0.091841936111 -v 0.384584784508 1.105457901955 -0.077077627182 -v 0.377453684807 1.103823542595 -0.078171491623 -v 0.383101344109 1.092535972595 -0.074570477009 -v 0.376216292381 1.093980312347 -0.073397576809 -v 0.384114503860 1.080561161041 -0.071538448334 -v 0.387168884277 1.081826567650 -0.071408987045 -v 0.378217101097 1.166335225105 -0.036741614342 -v 0.376491785049 1.185984611511 -0.027371287346 -v 0.375539779663 1.191256642342 -0.040807008743 -v 0.376024484634 1.146698236465 -0.028571903706 -v 0.380968809128 1.128817915916 -0.027356445789 -v 0.372819066048 1.124244213104 -0.021395444870 -v 0.357726931572 1.123675107956 -0.019232869148 -v 0.363764047623 1.199695229530 -0.003253161907 -v 0.359092354774 1.192318797112 -0.001357376575 -v 0.363418817520 1.207986116409 -0.009030759335 -v 0.363287687302 1.216881036758 -0.024423658848 -v 0.353446960449 1.214913725853 -0.051911473274 -v 0.367811679840 1.192584276199 -0.062469363213 -v 0.335019469261 1.232254981995 -0.039931237698 -v 0.341472268105 1.196155428886 0.010244071484 -v 0.354283452034 1.192304849625 -0.001765370369 -v 0.339673757553 1.196221947670 0.007006824017 -v 0.363298535347 1.182292938232 -0.012944102287 -v 0.354795575142 1.171777725220 -0.016488790512 -v 0.327435612679 1.161281824112 -0.002656698227 -v 0.324092507362 1.165798902512 0.006462395191 -v 0.322525382042 1.168064355850 0.004236161709 -v 0.326949238777 1.164337635040 -0.003446638584 -v 0.325284123421 1.158543467522 -0.003361463547 -v 0.322180032730 1.162310838699 0.007995128632 -v 0.320963859558 1.172976732254 0.015366852283 -v 0.319886207581 1.174322366714 0.011200785637 -v 0.321480035782 1.183079004288 0.017309784889 -v 0.326878428459 1.193821310997 0.018233954906 -v 0.327511191368 1.192236304283 0.015911042690 -v 0.303445339203 1.120934963226 -0.074148416519 -v 0.251810550690 1.141942739487 -0.031309187412 -v 0.241466999054 1.146666526794 -0.036401212215 -v 0.236400604248 1.148872971535 -0.047140300274 -v 0.230206489563 1.152073264122 -0.044595956802 -v 0.229574203491 1.151367187500 -0.061807334423 -v 0.239748239517 1.160202145576 -0.073878407478 -v 0.247816801071 1.157876133919 -0.081561207771 -v 0.234130144119 1.149081230164 -0.061738610268 -v 0.224230289459 1.281635522842 -0.153767704964 -v 0.223762512207 1.278146028519 -0.159069538116 -v 0.219611406326 1.279417753220 -0.152326762676 -v 0.213749408722 1.273561835289 -0.144396305084 -v 0.217382907867 1.273008942604 -0.147697806358 -v 0.221839427948 1.275884628296 -0.154915273190 -v 0.210401773453 1.265159130096 -0.141010046005 -v 0.213674545288 1.265947461128 -0.146045088768 -v 0.217527627945 1.274109721184 -0.141741633415 -v 0.215512275696 1.264181613922 -0.138061285019 -v 0.220313549042 1.262314796448 -0.135805130005 -v 0.220573663712 1.257741451263 -0.138237059116 -v 0.216372489929 1.257721900940 -0.141187667847 -v 0.212907791138 1.258577108383 -0.145352184772 -v 0.233858585358 1.256473422050 -0.125267803669 -v 0.234248638153 1.251918315887 -0.127823233604 -v 0.246033430099 1.251870393753 -0.112772464752 -v 0.246748685837 1.247483968735 -0.115507006645 -v 0.247130870819 1.256455659866 -0.111137330532 -v 0.258541584015 1.245236992836 -0.084437072277 -v 0.256093978882 1.239906072617 -0.086883187294 -v 0.257097005844 1.266151666641 -0.110764563084 -v 0.266882419586 1.251339793205 -0.085104942322 -v 0.267502307892 1.270240545273 -0.112958729267 -v 0.275364637375 1.256015896797 -0.091180860996 -v 0.275161266327 1.274131059647 -0.118503391743 -v 0.285532474518 1.258744239807 -0.098316013813 -v 0.281810045242 1.273761987686 -0.128352165222 -v 0.294841051102 1.259177684784 -0.109563946724 -v 0.285378694534 1.267878890038 -0.136893749237 -v 0.299645662308 1.256075739861 -0.122435271740 -v 0.267150640488 1.279207229614 -0.152110457420 -v 0.266644477844 1.272503018379 -0.155482232571 -v 0.285328865051 1.260385632515 -0.145259499550 -v 0.245440483093 1.281306147575 -0.162130832672 -v 0.247352838516 1.277317881584 -0.164401888847 -v 0.226536273956 1.277150392532 -0.165146172047 -v 0.244216680527 1.272458314896 -0.165734708309 -v 0.265185594559 1.264242410660 -0.158591628075 -v 0.225196361542 1.271236658096 -0.164832949638 -v 0.240829467773 1.264716506004 -0.164158344269 -v 0.256122827530 1.256213188171 -0.158023118973 -v 0.249283313751 1.251091122627 -0.154383540154 -v 0.264867782593 1.238259196281 -0.149782478809 -v 0.271236419678 1.243698835373 -0.152746677399 -v 0.242131233215 1.248456358910 -0.149258136749 -v 0.259697437286 1.235559821129 -0.143175721169 -v 0.238021850586 1.246404170990 -0.140355885029 -v 0.255519628525 1.235976219177 -0.134220600128 -v 0.235714912415 1.248224496841 -0.132601261139 -v 0.249901533127 1.242415428162 -0.121484637260 -v 0.225628137589 1.255354166031 -0.141528964043 -v 0.219279289246 1.256212234497 -0.146652877331 -v 0.261144638062 1.227618336678 -0.105385541916 -v 0.265067815781 1.218194127083 -0.118982553482 -v 0.255488157272 1.234093666077 -0.095165371895 -v 0.257819652557 1.237515091896 -0.082652032375 -v 0.256304979324 1.231330990791 -0.090660393238 -v 0.261433124542 1.242497920990 -0.080974459648 -v 0.269018650055 1.247485637665 -0.080007076263 -v 0.276544094086 1.249154090881 -0.084097981453 -v 0.286174535751 1.250129461288 -0.091734588146 -v 0.297051906586 1.250920057297 -0.101950109005 -v 0.304772377014 1.248518705368 -0.115050077438 -v 0.297762155533 1.245796918869 -0.131601870060 -v 0.303509950638 1.239294528961 -0.125708818436 -v 0.278063774109 1.251515507698 -0.150501132011 -v 0.292453289032 1.234364628792 -0.138768732548 -v 0.285548925400 1.222070693970 -0.138958930969 -v 0.275888442993 1.216582298279 -0.135062336922 -v 0.269642829895 1.214331030846 -0.127090573311 -v 0.265042543411 1.214603662491 -0.116683065891 -v 0.270244359970 1.211904883385 -0.125036418438 -v 0.259296417236 1.223366022110 -0.101866900921 -v 0.260845899582 1.212415218353 -0.112328946590 -v 0.266552209854 1.205083847046 -0.122853875160 -v 0.268821239471 1.210025906563 -0.123203098774 -v 0.277948856354 1.207428336143 -0.128034055233 -v 0.277915716171 1.211367130280 -0.128684759140 -v 0.288717508316 1.213802814484 -0.129420161247 -v 0.287309169769 1.217238068581 -0.130407452583 -v 0.277626991272 1.213335871696 -0.130287289619 -v 0.286727428436 1.219543695450 -0.133292317390 -v 0.297491550446 1.224069118500 -0.127825796604 -v 0.295832872391 1.229104042053 -0.133770406246 -v 0.299275398254 1.222613096237 -0.126457333565 -v 0.306288719177 1.231516838074 -0.115943133831 -v 0.303650856018 1.233008384705 -0.119831323624 -v 0.304522037506 1.218244671822 -0.125307500362 -v 0.291501283646 1.207969903946 -0.129891932011 -v 0.295377254486 1.198327302933 -0.132311940193 -v 0.312335252762 1.210624575615 -0.126865327358 -v 0.307499647141 1.182762622833 -0.133446455002 -v 0.321811676025 1.199660181999 -0.127626895905 -v 0.313686370850 1.178631782532 -0.132702827454 -v 0.327832698822 1.190094709396 -0.127820491791 -v 0.318174362183 1.174999833107 -0.130550682545 -v 0.329443216324 1.184651136398 -0.126586496830 -v 0.320348262787 1.172263383865 -0.127011775970 -v 0.329268336296 1.182359218597 -0.124253869057 -v 0.319159746170 1.172549962997 -0.124517083168 -v 0.327510595322 1.181082725525 -0.121122121811 -v 0.341977953911 1.186866998672 -0.119443237782 -v 0.340240001678 1.181673407555 -0.114829957485 -v 0.342066526413 1.190820455551 -0.118938207626 -v 0.343557119370 1.197325468063 -0.114280879498 -v 0.308367967606 1.238885641098 -0.100797057152 -v 0.302496671677 1.241308212280 -0.108589589596 -v 0.297030925751 1.244460582733 -0.094559252262 -v 0.288425922394 1.242414832115 -0.070966482162 -v 0.300933361053 1.241560339928 -0.084082663059 -v 0.287242650986 1.245997667313 -0.082513213158 -v 0.276428461075 1.242347240448 -0.063216865063 -v 0.276814937592 1.246329665184 -0.074558973312 -v 0.262533426285 1.248234033585 -0.033080637455 -v 0.268426895142 1.245181202888 -0.070157289505 -v 0.255537271500 1.244341135025 -0.030193269253 -v 0.255340337753 1.255470871925 -0.021258711815 -v 0.248293161392 1.248656272888 -0.019238531590 -v 0.246406555176 1.241610646248 -0.014172136784 -v 0.252004623413 1.238135337830 -0.023450851440 -v 0.240248918533 1.252865195274 -0.008260846138 -v 0.236009836197 1.244751214981 -0.002041816711 -v 0.250643014908 1.260913610458 -0.006915748119 -v 0.241449356079 1.238094210625 0.000856995583 -v 0.248243808746 1.235244989395 -0.007029771805 -v 0.236295223236 1.238589763641 0.006947577000 -v 0.244088888168 1.237448453903 0.010651528835 -v 0.245872020721 1.235504984856 0.007974743843 -v 0.240644693375 1.243501543999 0.007078409195 -v 0.245250463486 1.240480542183 0.010777413845 -v 0.252675771713 1.233302831650 0.020247042179 -v 0.254426479340 1.231533646584 0.017972588539 -v 0.254062652588 1.237539768219 0.019096493721 -v 0.276159763336 1.255128741264 0.018554508686 -v 0.275947093964 1.249229311943 0.022302091122 -v 0.272867918015 1.249667882919 0.024674117565 -v 0.271744251251 1.251732468605 0.021295309067 -v 0.283636093140 1.255234718323 0.014072477818 -v 0.280255317688 1.247575402260 0.019362986088 -v 0.276215314865 1.261920690536 0.008904576302 -v 0.278604030609 1.259399175644 0.004241228104 -v 0.285460472107 1.252817630768 0.010138630867 -v 0.266534566879 1.266445875168 0.005049049854 -v 0.258428096771 1.268704891205 0.002973020077 -v 0.254645347595 1.267239928246 0.003869831562 -v 0.287663459778 1.258239984512 -0.004414916039 -v 0.298110485077 1.250542998314 0.003384351730 -v 0.298449993134 1.244361400604 -0.001860737801 -v 0.299829959869 1.234122157097 0.006569683552 -v 0.298758268356 1.238474845886 0.010709106922 -v 0.303976297379 1.239164352417 -0.006211340427 -v 0.305155038834 1.229295969009 0.004372239113 -v 0.300870895386 1.218429088593 0.011674880981 -v 0.295304775238 1.223464488983 0.011802554131 -v 0.293110609055 1.205903887749 0.015846788883 -v 0.286343812943 1.213704109192 0.013587355614 -v 0.302354812622 1.196681976318 0.018828034401 -v 0.283874988556 1.219200730324 0.015126287937 -v 0.293270826340 1.227752089500 0.015739440918 -v 0.283052444458 1.240837812424 0.023119628429 -v 0.276622056961 1.233630180359 0.024268507957 -v 0.286540031433 1.246751070023 0.017804086208 -v 0.272910356522 1.237592816353 0.025359690189 -v 0.278305053711 1.243288516998 0.024740695953 -v 0.267666101456 1.227963447571 0.022224366665 -v 0.264769792557 1.232656955719 0.024754941463 -v 0.260413408279 1.224851250648 0.011581957340 -v 0.257379055023 1.225758671761 -0.000789821148 -v 0.253545045853 1.232021093369 -0.012868225574 -v 0.254851341248 1.226656675339 -0.018729388714 -v 0.251304626465 1.230217099190 0.003005683422 -v 0.256979942322 1.228909850121 0.014670252800 -v 0.250156402588 1.223106861115 -0.021990776062 -v 0.239892244339 1.227292776108 -0.045880913734 -v 0.245432853699 1.234084725380 -0.064319491386 -v 0.254643917084 1.237128496170 -0.077797412872 -v 0.259204149246 1.241605043411 -0.074413061142 -v 0.253374576569 1.265572071075 0.004234373569 -v 0.252619743347 1.259510278702 0.004528701305 -v 0.295717954636 1.157437562943 -0.004984855652 -v 0.302157163620 1.158133268356 0.007280886173 -v 0.303221464157 1.155419707298 -0.004480600357 -v 0.306118011475 1.158186078072 0.009157180786 -v 0.309594392776 1.154529452324 -0.002081036568 -v 0.317309141159 1.145281672478 -0.095512390137 -v 0.342793583870 1.111549854279 -0.096035361290 -v 0.370063781738 1.103682756424 -0.078702569008 -v 0.223846435547 1.280663371086 -0.149150192738 -v 0.262922763824 1.260004043579 0.011266469955 -v 0.278262376785 1.128904223442 -0.071313738823 -v 0.278782129288 1.129065513611 -0.078170895576 -v 0.214526414871 1.261890172958 -0.147512257099 -v 0.403749704361 1.053897500038 -0.044087231159 -v -0.173335313797 1.189228773117 -0.074161946774 -v -0.172501087189 1.194711208344 -0.077600002289 -v -0.156718730927 1.200044989586 -0.067752003670 -v -0.159983634949 1.195769190788 -0.064942240715 -v -0.157345533371 1.192241907120 -0.064338445663 -v -0.176035165787 1.182665348053 -0.074862539768 -v -0.153723001480 1.198203325272 -0.067141354084 -v -0.154419660568 1.185277462006 -0.061343967915 -v -0.174031734467 1.176616787910 -0.076530218124 -v -0.153948068619 1.192448616028 -0.066138029099 -v -0.152566671371 1.196974277496 -0.068748712540 -v -0.149900436401 1.188096642494 -0.064178586006 -v -0.167804479599 1.171906828880 -0.078679144382 -v -0.151026010513 1.177392482758 -0.069037199020 -v -0.159547805786 1.170724391937 -0.081492185593 -v -0.137443780899 1.179318189621 -0.071261107922 -v -0.151052713394 1.171566128731 -0.090630888939 -v -0.145410776138 1.202758073807 -0.074415385723 -v -0.146416664124 1.204916477203 -0.073959469795 -v -0.142997503281 1.206828117371 -0.075007200241 -v -0.139394283295 1.203434348106 -0.075942695141 -v -0.143990516663 1.207095742226 -0.077334642410 -v -0.152405261993 1.204598784447 -0.072375178337 -v -0.150315523148 1.201716780663 -0.070241928101 -v -0.169452428818 1.199298620224 -0.083030939102 -v -0.163226604462 1.203215003014 -0.090547025204 -v -0.193114757538 1.175109863281 -0.086916208267 -v -0.185326576233 1.171366214752 -0.082843124866 -v -0.186292409897 1.165282964706 -0.088589191437 -v -0.200573444366 1.166569828987 -0.092627763748 -v -0.138775825500 1.205187916756 -0.076617836952 -v -0.135615825653 1.203529238701 -0.077090024948 -v -0.155732393265 1.203607797623 -0.096656978130 -v -0.149366855621 1.200804471970 -0.100724101067 -v -0.137942790985 1.205677509308 -0.079242825508 -v -0.131234407425 1.203546047211 -0.080529451370 -v -0.130687952042 1.197476148605 -0.079052925110 -v -0.130004167557 1.197584390640 -0.081454098225 -v -0.129281997681 1.189852356911 -0.077395677567 -v -0.131329774857 1.190665483475 -0.076595366001 -v -0.141457080841 1.192768573761 -0.102260649204 -v -0.127812385559 1.196197390556 -0.082319319248 -v -0.144458770752 1.197188854218 -0.101949512959 -v -0.177466392517 1.161493182182 -0.094907760620 -v -0.163338899612 1.165530800819 -0.106261909008 -v -0.128491640091 1.187958240509 -0.082086682320 -v -0.140712261200 1.182583570480 -0.100011527538 -v -0.210927009583 1.107810139656 -0.110981822014 -v -0.211072683334 1.103303790092 -0.109917879105 -v -0.213212490082 1.101778507233 -0.109918236732 -v -0.214309692383 1.109030246735 -0.111766934395 -v -0.204130172729 1.105494737625 -0.113910675049 -v -0.205763339996 1.099799871445 -0.112921178341 -v -0.223363876343 1.117204904556 -0.114630222321 -v -0.214059114456 1.124341964722 -0.111509382725 -v -0.219065189362 1.105570316315 -0.114096760750 -v -0.238481521606 1.129768848419 -0.130072593689 -v -0.234876394272 1.134552240372 -0.130008339882 -v -0.223749637604 1.136018037796 -0.118461847305 -v -0.207642078400 1.120860934258 -0.111469984055 -v -0.208950042725 1.096844553947 -0.112857937813 -v -0.215140581131 1.098256349564 -0.112100958824 -v -0.209567785263 1.147545337677 -0.113711655140 -v -0.197745561600 1.140209794044 -0.107432365417 -v -0.193334102631 1.132169842720 -0.107758402824 -v -0.193572998047 1.150783538818 -0.107727050781 -v -0.203800201416 1.156490325928 -0.111603617668 -v -0.175592660904 1.145561695099 -0.106927514076 -v -0.172769784927 1.138006210327 -0.105781555176 -v -0.177102327347 1.152362346649 -0.109004378319 -v -0.203049182892 1.103446960449 -0.115947484970 -v -0.205771446228 1.097857356071 -0.116888880730 -v -0.200581550598 1.109675526619 -0.119850099087 -v -0.202297449112 1.114114880562 -0.116474270821 -v -0.205280303955 1.096752166748 -0.122693479061 -v -0.225318193436 1.093360424042 -0.128429234028 -v -0.225040435791 1.096657991409 -0.123039066792 -v -0.220809221268 1.096151828766 -0.119270980358 -v -0.221869707108 1.091606855392 -0.126757025719 -v -0.228603363037 1.095641136169 -0.129044175148 -v -0.228597879410 1.101918220520 -0.122385978699 -v -0.224291801453 1.103944659233 -0.118215620518 -v -0.247853517532 1.125877380371 -0.145480275154 -v -0.241319656372 1.134932279587 -0.146954476833 -v -0.224902391434 1.146563768387 -0.131057977676 -v -0.189874410629 1.125573754311 -0.113757431507 -v -0.188519477844 1.120980858803 -0.117558717728 -v -0.197483062744 1.107985734940 -0.124557018280 -v -0.203064918518 1.094104051590 -0.134538710117 -v -0.212108135223 1.091883540154 -0.125092267990 -v -0.146539926529 1.190650701523 -0.114794254303 -v -0.146754264832 1.180134177208 -0.115530133247 -v -0.152557849884 1.174678444862 -0.113840103149 -v -0.143783569336 1.177394032478 -0.097335398197 -v -0.152518033981 1.177743196487 -0.127124845982 -v -0.154675722122 1.168212413788 -0.123611927032 -v -0.152200698853 1.192405939102 -0.124226093292 -v -0.149080038071 1.190506696701 -0.121930062771 -v -0.149870634079 1.194133043289 -0.115894854069 -v -0.152212619781 1.190471172333 -0.127474963665 -v -0.152487754822 1.182887434959 -0.127529799938 -v -0.154866933823 1.185299873352 -0.129990160465 -v -0.154926300049 1.181805968285 -0.133388638496 -v -0.233518838882 1.051918983459 -0.153825461864 -v -0.234681367874 1.048460602760 -0.154123127460 -v -0.235526800156 1.045760154724 -0.156687140465 -v -0.238681077957 1.048464179039 -0.156781077385 -v -0.229362010956 1.049855709076 -0.154987037182 -v -0.227258443832 1.057394742966 -0.153537988663 -v -0.231667280197 1.046329975128 -0.156813800335 -v -0.223042964935 1.088201880455 -0.145084559917 -v -0.215483188629 1.087337613106 -0.146565556526 -v -0.215860605240 1.081712245941 -0.155044794083 -v -0.226407766342 1.085251331329 -0.153320491314 -v -0.235337972641 1.090702056885 -0.156869351864 -v -0.226635932922 1.075340270996 -0.153673052788 -v -0.235593795776 1.084217786789 -0.159696042538 -v -0.230427265167 1.064726591110 -0.154860198498 -v -0.235838890076 1.056318044662 -0.154584050179 -v -0.244804859161 1.037203311920 -0.166494607925 -v -0.242951393127 1.043129205704 -0.159860074520 -v -0.236907005310 1.041309475899 -0.161783397198 -v -0.243432760239 1.035140395164 -0.168893754482 -v -0.224668979645 1.052752375603 -0.157276332378 -v -0.230270862579 1.046147704124 -0.159191727638 -v -0.159595966339 1.184921741486 -0.135831117630 -v -0.160187005997 1.181343317032 -0.141996622086 -v -0.153135061264 1.179491877556 -0.142091393471 -v -0.169377088547 1.185044288635 -0.136880159378 -v -0.170533895493 1.181570768356 -0.151052296162 -v -0.160138130188 1.174441456795 -0.159372687340 -v -0.222903490067 1.065987110138 -0.152610003948 -v -0.210915327072 1.058199882507 -0.158076643944 -v -0.219084739685 1.052546024323 -0.157240092754 -v -0.209656953812 1.069716095924 -0.156206488609 -v -0.242612361908 1.097414970398 -0.161309957504 -v -0.247563600540 1.103350877762 -0.164090692997 -v -0.248119831085 1.110607266426 -0.158350706100 -v -0.241690874100 1.101655244827 -0.159433066845 -v -0.244697809219 1.092168807983 -0.164222717285 -v -0.251339673996 1.101027250290 -0.169793009758 -v -0.253261089325 1.111646056175 -0.160615861416 -v -0.246266365051 1.039236307144 -0.166336178780 -v -0.249294042587 1.037806272507 -0.168891787529 -v -0.250867843628 1.039080262184 -0.168178379536 -v -0.247174024582 1.041245818138 -0.164608359337 -v -0.252528667450 1.034430623055 -0.174002289772 -v -0.255876541138 1.036398887634 -0.174964785576 -v -0.248456478119 1.035744786263 -0.171986579895 -v -0.207899332047 1.087407350540 -0.147547543049 -v -0.209868431091 1.082488656044 -0.153715491295 -v -0.206011295319 1.082607984543 -0.148635447025 -v -0.207342624664 1.075194835663 -0.155124664307 -v -0.252168178558 1.045034170151 -0.165443241596 -v -0.258034706116 1.046116113663 -0.173089325428 -v -0.262003183365 1.051245570183 -0.178000867367 -v -0.252234935760 1.049173116684 -0.164762079716 -v -0.252549409866 1.041483521461 -0.167263507843 -v -0.259843349457 1.041425228119 -0.177599608898 -v -0.270201206207 1.045489907265 -0.187091112137 -v -0.276372432709 1.040201425552 -0.192463517189 -v -0.278449535370 1.034975290298 -0.196169674397 -v -0.284775257111 1.029717683792 -0.197532415390 -v -0.284212112427 1.040760636330 -0.193028330803 -v -0.271418571472 1.038434147835 -0.194264531136 -v -0.273589372635 1.034032583237 -0.199454545975 -v -0.281298398972 1.027353167534 -0.202217400074 -v -0.285241842270 1.052183389664 -0.197862207890 -v -0.287758827209 1.044720053673 -0.200536787510 -v -0.285270452499 1.052050352097 -0.209925532341 -v -0.284770965576 1.056814908981 -0.208144426346 -v -0.286429882050 1.041720151901 -0.204202711582 -v -0.282965183258 1.049952030182 -0.209141969681 -v -0.281043052673 1.048063278198 -0.188708662987 -v -0.144400358200 1.176907896996 -0.151417970657 -v -0.135134458542 1.175758123398 -0.166907787323 -v -0.129020690918 1.170335769653 -0.138893842697 -v -0.141971826553 1.174503087997 -0.135131359100 -v -0.119428634644 1.164143443108 -0.165285944939 -v -0.116199493408 1.159146547318 -0.141210973263 -v -0.142082691193 1.176310896873 -0.178735315800 -v -0.151244163513 1.175081014633 -0.169050514698 -v -0.125181674957 1.176591157913 -0.177203238010 -v -0.130443096161 1.183761119843 -0.186303555965 -v -0.245208501816 1.111506700516 -0.205009043217 -v -0.232599973679 1.125318527222 -0.206095397472 -v -0.240747690201 1.128869056702 -0.186226844788 -v -0.252095937729 1.110360264778 -0.190840721130 -v -0.230934619904 1.112748980522 -0.219200611115 -v -0.201740980148 1.135213136673 -0.227704524994 -v -0.210019588470 1.145615220070 -0.203961193562 -v -0.256554365158 1.026075959206 -0.197485446930 -v -0.252297163010 1.025413274765 -0.206123828888 -v -0.262440681458 1.028629183769 -0.203707456589 -v -0.262872934341 1.028875350952 -0.197542905807 -v -0.253294944763 1.027410507202 -0.211396694183 -v -0.259093761444 1.029339194298 -0.211079478264 -v -0.246476411819 1.024986743927 -0.206110835075 -v -0.252317905426 1.024993419647 -0.197774946690 -v -0.311765909195 0.993130266666 -0.226933717728 -v -0.310108184814 0.996098339558 -0.225180983543 -v -0.310272455215 0.995082259178 -0.224124073982 -v -0.309615135193 0.992788553238 -0.226431727409 -v -0.307722568512 0.995178222656 -0.223333239555 -v -0.308899879456 0.997443914413 -0.225597083569 -v -0.306552886963 0.996318519115 -0.226082086563 -v -0.301561355591 0.999858021736 -0.221365690231 -v -0.301273822784 0.999540150166 -0.223513543606 -v -0.300451040268 0.999494612217 -0.225161433220 -v -0.291275262833 1.008644461632 -0.219689548016 -v -0.289765357971 1.008863568306 -0.223312497139 -v -0.303882122040 1.002618789673 -0.222436308861 -v -0.245472908020 1.029212474823 -0.216191470623 -v -0.251756668091 1.032742142677 -0.216125905514 -v -0.240088224411 1.029202461243 -0.212740898132 -v -0.305489063263 0.996842980385 -0.228073120117 -v -0.301641464233 1.000535249710 -0.226922750473 -v -0.297816038132 1.000618338585 -0.226435422897 -v -0.304344177246 0.995790660381 -0.228550374508 -v -0.307172536850 0.993706703186 -0.230047941208 -v -0.308262586594 0.994648814201 -0.229670286179 -v -0.308869600296 0.993044137955 -0.230499446392 -v -0.308663368225 0.993162393570 -0.231502115726 -v -0.309333801270 0.993721485138 -0.231109619141 -v -0.308087825775 0.994998931885 -0.231224834919 -v -0.103364944458 1.130733013153 -0.165089964867 -v -0.107626914978 1.133225798607 -0.140607297421 -v -0.110349178314 1.147431254387 -0.169585108757 -v -0.118245124817 1.140465259552 -0.188436806202 -v -0.112480401993 1.127350330353 -0.185356020927 -v -0.119234800339 1.154477119446 -0.179611444473 -v -0.122121334076 1.162646651268 -0.173162460327 -v -0.123259067535 1.147673130035 -0.192043066025 -v -0.307780742645 0.994723260403 -0.231847167015 -v -0.307749986649 0.993669688702 -0.231788516045 -v -0.306983709335 0.993704020977 -0.230996787548 -v -0.193033456802 1.081855773926 -0.203872740269 -v -0.194959878922 1.074067234993 -0.206613779068 -v -0.192106723785 1.074653506279 -0.197215080261 -v -0.189585685730 1.081505656242 -0.199741780758 -v -0.181468963623 1.087621688843 -0.203916847706 -v -0.182246923447 1.086801290512 -0.208190560341 -v -0.180797338486 1.080666303635 -0.200190067291 -v -0.238004446030 1.038412332535 -0.221756696701 -v -0.255303144455 1.040868282318 -0.221722602844 -v -0.259346246719 1.034848093987 -0.217119097710 -v -0.226242780685 1.046014308929 -0.223912119865 -v -0.243605136871 1.045503258705 -0.225179314613 -v -0.229806661606 1.033677101135 -0.221885204315 -v -0.128174781799 1.188377022743 -0.200627446175 -v -0.148290157318 1.179109573364 -0.194076895714 -v -0.271722316742 1.054550886154 -0.227642059326 -v -0.274076938629 1.049859046936 -0.228212535381 -v -0.270540475845 1.041400551796 -0.231285452843 -v -0.265389442444 1.048523783684 -0.231947541237 -v -0.279670238495 1.057693004608 -0.219425976276 -v -0.279539346695 1.051576972008 -0.220776438713 -v -0.275705814362 1.041727423668 -0.228427529335 -v -0.199706077576 1.055555105209 -0.210151553154 -v -0.194469451904 1.055464029312 -0.201491832733 -v -0.188562631607 1.062397480011 -0.194959938526 -v -0.193209409714 1.067214727402 -0.202750325203 -v -0.197559595108 1.061594724655 -0.212190330029 -v -0.199322462082 1.054384827614 -0.212732195854 -v -0.264539003372 1.034891843796 -0.224602222443 -v -0.264505386353 1.033686161041 -0.220391511917 -v -0.259446859360 1.043034553528 -0.228882968426 -v -0.253154993057 1.049899816513 -0.229087173939 -v -0.192896127701 1.083252668381 -0.207294523716 -v -0.205631494522 1.076366066933 -0.214735269547 -v -0.194759368896 1.084827780724 -0.212751626968 -v -0.223470926285 1.074144601822 -0.221447348595 -v -0.204793214798 1.086842775345 -0.216361939907 -v -0.216625213623 1.087888479233 -0.219625651836 -v -0.195574283600 1.087720632553 -0.216327428818 -v -0.220762968063 1.036061048508 -0.216470956802 -v -0.213054895401 1.035783767700 -0.213620066643 -v -0.201663494110 1.045588612556 -0.206914484501 -v -0.209848642349 1.043720960617 -0.214580178261 -v -0.216307878494 1.038053512573 -0.218539953232 -v -0.226351261139 1.035285830498 -0.218240320683 -v -0.205461740494 1.046299815178 -0.217294871807 -v -0.213101387024 1.042110800743 -0.219072997570 -v -0.220921278000 1.039087295532 -0.221290767193 -v -0.220387458801 1.042260169983 -0.223516404629 -v -0.213362932205 1.046354770660 -0.223494648933 -v -0.166803121567 1.090283155441 -0.212349832058 -v -0.172270536423 1.087766289711 -0.218560039997 -v -0.183573484421 1.086018800735 -0.212494730949 -v -0.167399406433 1.091666579247 -0.207822561264 -v -0.158848285675 1.093401670456 -0.218638300896 -v -0.162909030914 1.089765548706 -0.223327994347 -v -0.030130147934 1.186614990234 -0.177592396736 -v -0.028016805649 1.185017704964 -0.176330447197 -v -0.027128219604 1.182949185371 -0.177097141743 -v -0.030794620514 1.185065984726 -0.177214145660 -v -0.027263402939 1.185469865799 -0.176604092121 -v -0.029033184052 1.187615036964 -0.178278744221 -v -0.025565147400 1.183858990669 -0.176834225655 -v -0.026248216629 1.187106251717 -0.178503096104 -v -0.155820369720 1.101422905922 -0.208842039108 -v -0.143939018250 1.110964536667 -0.203809499741 -v -0.147772073746 1.116233944893 -0.210553169250 -v -0.153800964355 1.103918313980 -0.216478586197 -v -0.151521444321 1.110116600990 -0.224545180798 -v -0.153570175171 1.098989486694 -0.229076087475 -v -0.153712034225 1.098475694656 -0.221522092819 -v -0.143598556519 1.121090412140 -0.215590834618 -v -0.025197982788 1.179040908813 -0.178160905838 -v -0.028691530228 1.180666327477 -0.177641034126 -v -0.024049282074 1.180395364761 -0.178064346313 -v -0.023061275482 1.183145642281 -0.176922082901 -v -0.024633884430 1.187012076378 -0.180191814899 -v -0.022006034851 1.183752536774 -0.176543354988 -v -0.023281335831 1.181692600250 -0.177503108978 -v -0.041700124741 1.194597840309 -0.188832759857 -v -0.040053844452 1.195041775703 -0.191445589066 -v -0.038641691208 1.194105863571 -0.194117784500 -v -0.021546125412 1.184016108513 -0.178950071335 -v -0.023211956024 1.185567021370 -0.181426763535 -v -0.020884990692 1.182555675507 -0.179597258568 -v -0.155306577682 1.094101190567 -0.223596096039 -v -0.153067588806 1.095505952835 -0.230197072029 -v -0.024875402451 1.176557660103 -0.180157959461 -v -0.029001712799 1.177595734596 -0.180325567722 -v -0.022265434265 1.178601741791 -0.180594265461 -v -0.022731781006 1.183528065681 -0.182420313358 -v -0.129092454910 1.126704692841 -0.201514482498 -v -0.129842519760 1.138575315475 -0.203304290771 -v -0.140452623367 1.137107372284 -0.216508805752 -v -0.143960952759 1.126296997070 -0.219137907028 -v -0.154357194901 1.127161264420 -0.228255271912 -v -0.149726629257 1.136419534683 -0.223747491837 -v -0.174418687820 1.142764806747 -0.223434805870 -v -0.169390678406 1.132646441460 -0.235435843468 -v -0.159634113312 1.138588905334 -0.227177619934 -v -0.183374881744 1.151468753815 -0.210604786873 -v -0.202531337738 1.122591972351 -0.235654771328 -v -0.174713850021 1.123547434807 -0.239896833897 -v -0.026677846909 1.177809119225 -0.182901620865 -v -0.028857231140 1.177586197853 -0.182363390923 -v -0.180840730667 1.098434567451 -0.228965997696 -v -0.177192926407 1.093732595444 -0.232580184937 -v -0.174651861191 1.104560375214 -0.238290369511 -v -0.178368806839 1.106090188026 -0.233393609524 -v -0.168076038361 1.097283363342 -0.234453976154 -v -0.169014692307 1.107891798019 -0.237803101540 -v -0.176104545593 1.089681625366 -0.227148771286 -v -0.167286634445 1.091750741005 -0.230993151665 -v -0.157043457031 1.091841936111 -0.227160215378 -v -0.159157276154 1.091518163681 -0.229555249214 -v -0.155268907547 1.095846176147 -0.231792688370 -v -0.160398960114 1.094118118286 -0.232700586319 -v -0.161424636841 1.113683462143 -0.233527243137 -v -0.153696537018 1.112774372101 -0.227253794670 -v -0.160377740860 1.100663542747 -0.232878029346 -v -0.155321598053 1.101318359375 -0.229982614517 -v -0.129415988922 1.121230006218 -0.195909500122 -v -0.115429162979 1.119397759438 -0.179361224174 -v -0.130902051926 1.117012500763 -0.191515922546 -v -0.115962266922 1.118604898453 -0.176315546036 -v -0.110272169113 1.120705842972 -0.160776674747 -v -0.113960504532 1.119729280472 -0.159553110600 -v -0.120643854141 1.123042941093 -0.142679691315 -v -0.116504192352 1.124894142151 -0.141778171062 -v -0.116237640381 1.119012355804 -0.159137606621 -v -0.121575117111 1.122238159180 -0.143324553967 -v -0.133432149887 1.123821258545 -0.128500640392 -v -0.129076957703 1.126407384872 -0.125177204609 -v -0.133791923523 1.122404217720 -0.126223802567 -v -0.151261806488 1.118286848068 -0.116750955582 -v -0.150382995605 1.123445391655 -0.118158876896 -v -0.165156841278 1.112223029137 -0.114312648773 -v -0.168798208237 1.119785189629 -0.114506125450 -v -0.146946668625 1.111286401749 -0.115677714348 -v -0.159301757813 1.103829860687 -0.112823069096 -v -0.169470071793 1.095391631126 -0.113259613514 -v -0.176546573639 1.104174375534 -0.116012811661 -v -0.181593179703 1.086678743362 -0.119435906410 -v -0.187299728394 1.095249652863 -0.122014880180 -v -0.192334890366 1.079224348068 -0.132685303688 -v -0.196459770203 1.086544990540 -0.133203148842 -v -0.167187929153 1.093284368515 -0.118592262268 -v -0.158042192459 1.100373268127 -0.117775142193 -v -0.177332639694 1.085744619370 -0.124823093414 -v -0.188689470291 1.078408122063 -0.135257482529 -v -0.133802890778 1.114060878754 -0.127829909325 -v -0.147693157196 1.107499122620 -0.121569573879 -v -0.130974292755 1.116622328758 -0.124757289886 -v -0.118712902069 1.116385936737 -0.142161726952 -v -0.114444732666 1.114831447601 -0.156344830990 -v -0.116871118546 1.115381836891 -0.173745512962 -v -0.127918481827 1.112462520599 -0.189754128456 -v -0.140444517136 1.105615377426 -0.201572239399 -v -0.153226137161 1.096442341805 -0.206420838833 -v -0.166574478149 1.087847948074 -0.204887628555 -v -0.148325681686 1.084455490112 -0.202776551247 -v -0.132059097290 1.095326542854 -0.197568535805 -v -0.118970394135 1.104256153107 -0.183249711990 -v -0.113605022430 1.110781550407 -0.171092212200 -v -0.119467735291 1.110980629921 -0.156059205532 -v -0.118595600128 1.107293367386 -0.167004108429 -v -0.122451543808 1.113593697548 -0.145232379436 -v -0.123160123825 1.101921558380 -0.179320454597 -v -0.134120464325 1.093572258949 -0.190831780434 -v -0.149135828018 1.083696126938 -0.196358323097 -v -0.164771795273 1.075974822044 -0.199542462826 -v -0.178263664246 1.069347739220 -0.194986939430 -v -0.178308486938 1.067918300629 -0.193336069584 -v -0.187574863434 1.061674833298 -0.193846702576 -v -0.165014982224 1.074935913086 -0.195628762245 -v -0.203114748001 1.047059774399 -0.203367710114 -v -0.194963455200 1.055162310600 -0.198111474514 -v -0.211767911911 1.036029338837 -0.208810448647 -v -0.212155818939 1.037373661995 -0.206103205681 -v -0.226508617401 1.025479078293 -0.212446689606 -v -0.223773002625 1.027394175529 -0.209277987480 -v -0.234503984451 1.028979897499 -0.212858796120 -v -0.240490436554 1.019392728806 -0.204267203808 -v -0.244890213013 1.018656373024 -0.196853935719 -v -0.253900766373 1.026709318161 -0.190710783005 -v -0.246401309967 1.020783185959 -0.188246011734 -v -0.252592563629 1.030183553696 -0.180509030819 -v -0.245979547501 1.024557352066 -0.179143786430 -v -0.256746768951 1.027064442635 -0.190641164780 -v -0.255533695221 1.030755162239 -0.181877255440 -v -0.261640310287 1.031444549561 -0.191453814507 -v -0.259487628937 1.033203363419 -0.183249652386 -v -0.265381097794 1.035956144333 -0.193069219589 -v -0.262969732285 1.038062810898 -0.186465203762 -v -0.266802787781 1.033626079559 -0.198642969131 -v -0.266010284424 1.031839489937 -0.204385280609 -v -0.270675420761 1.031339287758 -0.205536782742 -v -0.263313770294 1.031893968582 -0.211139619350 -v -0.266834974289 1.031145095825 -0.212556302547 -v -0.272355556488 1.027421116829 -0.214405179024 -v -0.271020889282 1.027558326721 -0.222151696682 -v -0.277619600296 1.026623606682 -0.207558810711 -v -0.287308216095 1.017905473709 -0.209584236145 -v -0.281747341156 1.017393589020 -0.217522501945 -v -0.290399074554 1.018112540245 -0.206793189049 -v -0.296507358551 1.008396148682 -0.213786959648 -v -0.293893098831 1.008637905121 -0.215864181519 -v -0.293311119080 1.018383622169 -0.204794526100 -v -0.298957824707 1.008759021759 -0.211997389793 -v -0.304624319077 1.000485181808 -0.218563914299 -v -0.302252292633 1.000493049622 -0.219046711922 -v -0.300442457199 1.010485529900 -0.212966322899 -v -0.295816421509 1.020895838737 -0.206146836281 -v -0.304791212082 1.002254843712 -0.220315814018 -v -0.298930644989 1.011639118195 -0.215272247791 -v -0.294509649277 1.021376132965 -0.208923101425 -v -0.305289983749 0.996663510799 -0.231430888176 -v -0.299525260925 1.002564072609 -0.230026721954 -v -0.304598808289 0.995765805244 -0.231520950794 -v -0.298396825790 1.001657962799 -0.230945348740 -v -0.303261518478 0.995977520943 -0.230365991592 -v -0.297660827637 1.000682115555 -0.229683041573 -v -0.297706365585 1.000391125679 -0.228264808655 -v -0.289501190186 1.008563995361 -0.227962017059 -v -0.289624452591 1.008912801743 -0.230370998383 -v -0.289333820343 1.008850455284 -0.225851535797 -v -0.279825210571 1.017765641212 -0.226271927357 -v -0.280007839203 1.018149375916 -0.228962600231 -v -0.279944658279 1.017497062683 -0.223519802094 -v -0.270844221115 1.027772903442 -0.226072430611 -v -0.271415948868 1.028410196304 -0.229272961617 -v -0.265730381012 1.036768198013 -0.229641437531 -v -0.273293256760 1.029914379120 -0.231202602386 -v -0.281020164490 1.019194722176 -0.231097579002 -v -0.275867462158 1.031501293182 -0.230385065079 -v -0.282980203629 1.020815610886 -0.230529665947 -v -0.276958703995 1.032087326050 -0.227720260620 -v -0.283688306808 1.021362662315 -0.227996766567 -v -0.275023937225 1.041705608368 -0.224775314331 -v -0.277465105057 1.049158096313 -0.218947708607 -v -0.292066335678 1.011417031288 -0.228806972504 -v -0.291158199310 1.010475993156 -0.230765581131 -v -0.289323091507 1.031211256981 -0.203581392765 -v -0.290323972702 1.031991720200 -0.200689315796 -v -0.239644289017 1.023190736771 -0.194890260696 -v -0.243260860443 1.023399710655 -0.188031911850 -v -0.234212636948 1.023423552513 -0.201564133167 -v -0.236090183258 1.021491050720 -0.202814877033 -v -0.199890851974 1.066753745079 -0.155146598816 -v -0.198434829712 1.067134857178 -0.156990110874 -v -0.202668666840 1.063336849213 -0.159977316856 -v -0.203597068787 1.063326001167 -0.157728374004 -v -0.194704532623 1.071926832199 -0.149038195610 -v -0.198426008224 1.071671962738 -0.146451592445 -v -0.204805612564 1.071662425995 -0.154704451561 -v -0.202652454376 1.077832579613 -0.147649407387 -v -0.199759483337 1.090992927551 -0.134201765060 -v -0.193034887314 1.103491783142 -0.123884439468 -v -0.185172319412 1.115739107132 -0.117173492908 -v -0.169998168945 1.124291777611 -0.114598035812 -v -0.171854734421 1.130073547363 -0.107446432114 -v -0.148004770279 1.133014440536 -0.109064579010 -v -0.149436950684 1.126783370972 -0.117963194847 -v -0.150363683701 1.141389131546 -0.109232008457 -v -0.129365682602 1.151356697083 -0.121360957623 -v -0.122787952423 1.133342862129 -0.118729412556 -v -0.155005455017 1.151965379715 -0.112209022045 -v -0.138591766357 1.161190986633 -0.122988164425 -v -0.160556554794 1.158395051956 -0.114823222160 -v -0.147845268250 1.166557192802 -0.123666226864 -v -0.164972066879 1.160841345787 -0.116209328175 -v -0.178743362427 1.155038595200 -0.107457756996 -v -0.193982124329 1.154866933823 -0.105260729790 -v -0.203804731369 1.162194013596 -0.107664465904 -v -0.203792333603 1.170711994171 -0.114600837231 -v -0.206958532333 1.165179967880 -0.118471503258 -v -0.199360370636 1.174407482147 -0.126586496830 -v -0.196566343307 1.177967667580 -0.121480822563 -v -0.211217403412 1.155824661255 -0.123464763165 -v -0.203953742981 1.165765166283 -0.134148895741 -v -0.217429161072 1.159095644951 -0.144569456577 -v -0.199710369110 1.170780539513 -0.160428583622 -v -0.189121007919 1.175161838531 -0.143832862377 -v -0.234441280365 1.145398378372 -0.158812522888 -v -0.208461523056 1.159196853638 -0.180670976639 -v -0.252185583115 1.116116285324 -0.170371294022 -v -0.254233121872 1.105154395103 -0.180382847786 -v -0.260434627533 1.096214771271 -0.185628652573 -v -0.256431102753 1.092083334923 -0.177367925644 -v -0.260645627975 1.097700595856 -0.194319903851 -v -0.270902156830 1.083015918732 -0.199528574944 -v -0.269893407822 1.081749439240 -0.189446091652 -v -0.256181478500 1.098464727402 -0.206231713295 -v -0.266798496246 1.083191156387 -0.212066352367 -v -0.273687601089 1.068179607391 -0.216568171978 -v -0.278900146484 1.067694902420 -0.202702641487 -v -0.258903264999 1.083254337311 -0.220462024212 -v -0.247154474258 1.097606897354 -0.216386973858 -v -0.265223979950 1.066669940948 -0.225265324116 -v -0.269017219543 1.059843063354 -0.226757824421 -v -0.277544975281 1.061369776726 -0.218553006649 -v -0.256574153900 1.063487887383 -0.228868722916 -v -0.250155687332 1.081251740456 -0.223481357098 -v -0.261117696762 1.055521845818 -0.231173992157 -v -0.248385906219 1.057556748390 -0.228811144829 -v -0.238748550415 1.076548695564 -0.223608195782 -v -0.234692811966 1.056388735771 -0.223354101181 -v -0.211627244949 1.056368947029 -0.221282124519 -v -0.228275060654 1.091947317123 -0.220990777016 -v -0.238418102264 1.094660639763 -0.219326555729 -v -0.216057777405 1.107417821884 -0.225473523140 -v -0.224503517151 1.109220266342 -0.227116346359 -v -0.211361885071 1.098301529884 -0.220512151718 -v -0.212726354599 1.104912161827 -0.221194267273 -v -0.207950830460 1.100727200508 -0.218157291412 -v -0.203674316406 1.092759370804 -0.219182014465 -v -0.202742576599 1.096199750900 -0.218188643456 -v -0.196501970291 1.090510606766 -0.218953371048 -v -0.196993589401 1.093491673470 -0.220363080502 -v -0.187599182129 1.091245770454 -0.224233686924 -v -0.188641786575 1.095030307770 -0.223733663559 -v -0.186239719391 1.088770151138 -0.220787882805 -v -0.185178756714 1.086016893387 -0.216318964958 -v -0.174246788025 1.087175607681 -0.223291456699 -v -0.165641307831 1.089258909225 -0.227088153362 -v -0.211334466934 1.109454154968 -0.224141299725 -v -0.196863412857 1.116337895393 -0.232053399086 -v -0.198950290680 1.117026805878 -0.234745264053 -v -0.180886983871 1.115268468857 -0.233694016933 -v -0.180615663528 1.115485668182 -0.236742198467 -v -0.177260398865 1.118756055832 -0.240124464035 -v -0.201287984848 1.117602467537 -0.238141715527 -v -0.282895326614 1.060189247131 -0.204914152622 -v -0.282418012619 1.057005047798 -0.194644689560 -v -0.277503967285 1.065804839134 -0.192061483860 -v -0.270702600479 1.064300417900 -0.181479215622 -v -0.276010751724 1.054841160774 -0.184064984322 -v -0.264964342117 1.078153371811 -0.180190920830 -v -0.254631042480 1.068855047226 -0.170619845390 -v -0.259245395660 1.057962894440 -0.174149036407 -v -0.248440742493 1.082378029823 -0.167859196663 -v -0.239177227020 1.074390888214 -0.160453259945 -v -0.243740320206 1.063062429428 -0.160507678986 -v -0.249438762665 1.055111646652 -0.162672996521 -v -0.241800546646 1.051291108131 -0.157198011875 -v -0.245920419693 1.046977758408 -0.160051584244 -v -0.247624635696 1.043250799179 -0.161501169205 -v -0.185623407364 1.163547277451 -0.191922187805 -v -0.178851366043 1.168696165085 -0.170140326023 -v -0.171039104462 1.162240505219 -0.197747766972 -v -0.167164564133 1.171891689301 -0.179815948009 -v -0.169514179230 1.153752446175 -0.212879836559 -v -0.163647174835 1.155890226364 -0.217210114002 -v -0.164894342422 1.163555622101 -0.203335464001 -v -0.162951707840 1.147874236107 -0.221974015236 -v -0.158002376556 1.151909351349 -0.223278760910 -v -0.154706716537 1.144289135933 -0.224242210388 -v -0.152066946030 1.148701906204 -0.224407970905 -v -0.146767616272 1.142306327820 -0.221583485603 -v -0.143728017807 1.146293640137 -0.221992492676 -v -0.138458013535 1.141785860062 -0.215267539024 -v -0.135710000992 1.144933223724 -0.215805530548 -v -0.130891323090 1.143802881241 -0.204370617867 -v -0.129570007324 1.146505594254 -0.206188857555 -v -0.125153064728 1.151684284210 -0.194277405739 -v -0.120690345764 1.156343221664 -0.196658849716 -v -0.123557567596 1.151302337646 -0.207581400871 -v -0.123983860016 1.158541202545 -0.182885527611 -v -0.120908975601 1.161676406860 -0.185635268688 -v -0.127824783325 1.167345404625 -0.175681769848 -v -0.122528076172 1.169641494751 -0.178976297379 -v -0.113455295563 1.165868759155 -0.187700688839 -v -0.108748197556 1.163328170776 -0.198548078537 -v -0.110469579697 1.173360347748 -0.185494899750 -v -0.091323852539 1.179773807526 -0.191483795643 -v -0.090184450150 1.176342606544 -0.194954812527 -v -0.111765384674 1.178711295128 -0.185415387154 -v -0.092939138412 1.184199452400 -0.190637469292 -v -0.113289833069 1.182440042496 -0.187966227531 -v -0.095153093338 1.187181711197 -0.191652655602 -v -0.073956251144 1.192005038261 -0.192678928375 -v -0.073637962341 1.188065290451 -0.191455483437 -v -0.099256277084 1.190625190735 -0.194961786270 -v -0.073813676834 1.195713639259 -0.195692181587 -v -0.096777915955 1.196445703506 -0.206112921238 -v -0.072917699814 1.198483467102 -0.200721621513 -v -0.095563650131 1.196424365044 -0.214924454689 -v -0.071158885956 1.198626756668 -0.206956505775 -v -0.129826784134 1.190738201141 -0.212317109108 -v -0.157343387604 1.172712326050 -0.208674550056 -v -0.128477811813 1.186428785324 -0.221658170223 -v -0.093955516815 1.193287849426 -0.221389353275 -v -0.154647350311 1.168583154678 -0.219737291336 -v -0.149827718735 1.162814021111 -0.225700199604 -v -0.124877214432 1.179793953896 -0.226911485195 -v -0.144460201263 1.156676888466 -0.227152824402 -v -0.120687484741 1.171841144562 -0.228286266327 -v -0.139381647110 1.150594115257 -0.223807334900 -v -0.117116689682 1.165078282356 -0.225237190723 -v -0.128769636154 1.149663209915 -0.217538893223 -v -0.111747980118 1.161472201347 -0.217855334282 -v -0.109767198563 1.161700129509 -0.209116935730 -v -0.088203907013 1.172519445419 -0.211088180542 -v -0.088263034821 1.173820972443 -0.218165874481 -v -0.089234113693 1.173993110657 -0.201246440411 -v -0.071101665497 1.179669737816 -0.199828505516 -v -0.069531917572 1.179702758789 -0.205872833729 -v -0.072219848633 1.181545853615 -0.195242881775 -v -0.056831598282 1.183016300201 -0.193188905716 -v -0.055566310883 1.181527018547 -0.196716129780 -v -0.073021411896 1.184370517731 -0.192374467850 -v -0.057552337646 1.185418963432 -0.190718352795 -v -0.057724237442 1.188611626625 -0.189705491066 -v -0.045343875885 1.186881065369 -0.185175061226 -v -0.045280933380 1.183866500854 -0.186353206635 -v -0.057383060455 1.192056655884 -0.190340936184 -v -0.044640541077 1.190080165863 -0.185317754745 -v -0.056554079056 1.195130228996 -0.192540347576 -v -0.043342113495 1.192810654640 -0.186669468880 -v -0.055220603943 1.197255134583 -0.196023941040 -v -0.053610086441 1.197649002075 -0.200031757355 -v -0.052100419998 1.196197032928 -0.203523576260 -v -0.069370269775 1.196292161942 -0.211897075176 -v -0.068021297455 1.192861676216 -0.214833736420 -v -0.050945520401 1.193327188492 -0.205915927887 -v -0.092361450195 1.188226699829 -0.224879384041 -v -0.090728044510 1.182599067688 -0.225352346897 -v -0.067334413528 1.188707113266 -0.215543806553 -v -0.089248895645 1.177467584610 -0.223018467426 -v -0.067439317703 1.184669256210 -0.214068412781 -v -0.068172216415 1.181514143944 -0.210815250874 -v -0.052105903625 1.183036804199 -0.204133033752 -v -0.050871849060 1.185964107513 -0.206329762936 -v -0.053818464279 1.181404590607 -0.200728774071 -v -0.041506052017 1.180616259575 -0.193893551826 -v -0.039731979370 1.182307600975 -0.196195423603 -v -0.043209075928 1.180416822433 -0.191138744354 -v -0.044537305832 1.181544065475 -0.188471496105 -v -0.031432151794 1.183127760887 -0.177642107010 -v -0.023880004883 1.179421424866 -0.182783424854 -v -0.023120403290 1.181398153305 -0.182788312435 -v -0.038379907608 1.185227513313 -0.197383880615 -v -0.021365642548 1.180629491806 -0.180217981339 -v -0.037654399872 1.188567876816 -0.197493553162 -v -0.037757396698 1.191774725914 -0.196288704872 -v -0.050418376923 1.189674615860 -0.206975281239 -v -0.158075809479 1.171878576279 -0.187048196793 -v -0.184828758240 1.181181192398 -0.133212804794 -v -0.183850765228 1.183899402618 -0.127866744995 -v -0.169936895370 1.187874436378 -0.131015658379 -v -0.160047531128 1.187471389771 -0.131462752819 -v -0.157574653625 1.192477464676 -0.129109740257 -v -0.170529127121 1.193306446075 -0.127960264683 -v -0.157630920410 1.193547725677 -0.127042472363 -v -0.168020248413 1.194449782372 -0.126551985741 -v -0.155678272247 1.197181582451 -0.117395758629 -v -0.168904304504 1.200421571732 -0.116072595119 -v -0.177747726440 1.199375391006 -0.109128236771 -v -0.186355590820 1.196253895760 -0.100548923016 -v -0.188017368317 1.190521001816 -0.119188547134 -v -0.194039821625 1.188312888145 -0.112169504166 -v -0.203054904938 1.179349541664 -0.106702864170 -v -0.192745685577 1.189022660255 -0.093927919865 -v -0.195131540298 1.185600280762 -0.119000375271 -v -0.185272932053 1.190236568451 -0.123825550079 -v -0.202980279922 1.177518606186 -0.111484885216 -v -0.206887245178 1.169745087624 -0.105333983898 -v -0.206416130066 1.174813270569 -0.101252019405 -v -0.199194669724 1.162851572037 -0.099504411221 -v -0.197700738907 1.180861234665 -0.091671824455 -v -0.150561571121 1.174575209618 -0.132039248943 -v -0.209591627121 1.058356404305 -0.160460770130 -v -0.217305183411 1.052603721619 -0.160649895668 -v -0.238281965256 1.033112168312 -0.170957684517 -v -0.244051933289 1.025660991669 -0.180232465267 -v -0.239808082581 1.032481074333 -0.169264376163 -v -0.232315063477 1.036808967590 -0.161297738552 -v -0.230905294418 1.037472367287 -0.163685441017 -v -0.225137472153 1.044082164764 -0.158028185368 -v -0.223443984985 1.044231295586 -0.160395681858 -v -0.223054885864 1.028931379318 -0.207141757011 -v -0.210240125656 1.094408273697 -0.117802858353 -v -0.226145267487 1.091406583786 -0.144528210163 -v -0.228773593903 1.093539595604 -0.144238770008 -v -0.229978561401 1.091392636299 -0.150956988335 -v -0.231330394745 1.094696521759 -0.150297284126 -v -0.228517770767 1.097494721413 -0.144955992699 -v -0.229495048523 1.099721908569 -0.131893873215 -v -0.229601860046 1.105694532394 -0.127975225449 -v -0.230824470520 1.112782955170 -0.126599431038 -v -0.231130123138 1.112404465675 -0.120916366577 -v -0.238191127777 1.121705651283 -0.135489940643 -v -0.240043640137 1.121748328209 -0.132544755936 -v -0.242587566376 1.117125391960 -0.144999742508 -v -0.246487855911 1.119711399078 -0.144290924072 -v -0.241481542587 1.113143205643 -0.153935611248 -v -0.245183229446 1.112014532089 -0.156490027905 -v -0.238260984421 1.105642080307 -0.157133936882 -v -0.240424156189 1.103380203247 -0.159065842628 -v -0.233463764191 1.100573539734 -0.154703736305 -v -0.235453605652 1.097964048386 -0.155216693878 -v -0.235904932022 1.095326662064 -0.155326545238 -v -0.230455398560 1.097877264023 -0.150153517723 -v -0.249421119690 1.121675491333 -0.144378840923 -v -0.240281105042 1.124884128571 -0.131052792072 -v -0.227780818939 1.113982677460 -0.117298245430 -v -0.130397796631 1.182343721390 -0.076600074768 -v -0.129862308502 1.183777570724 -0.072378516197 -v -0.136162042618 1.179548740387 -0.069244503975 -v -0.137062549591 1.183297991753 -0.068274199963 -v -0.133409261703 1.184647083282 -0.072437226772 -v -0.144817352295 1.180659770966 -0.065627694130 -v -0.142683744431 1.184700131416 -0.066475808620 -v -0.271175146103 1.039876699448 -0.190005302429 -v -0.301822423935 1.001146674156 -0.225157797337 -v 0.040446281433 1.266857385635 0.129650652409 -v 0.045840978622 1.267236709595 0.128639698029 -v 0.042178869247 1.272785186768 0.116086125374 -v 0.035976171494 1.262238383293 0.125946938992 -v -0.000801801682 1.292400956154 0.102130472660 -v -0.000761747360 1.303220987320 0.093628942966 -v 0.015448331833 1.314785122871 0.084255039692 -v 0.030528545380 1.315371155739 0.082960784435 -v 0.019721984863 1.301102638245 0.098109424114 -v 0.034617424011 1.303159475327 0.095117151737 -v -0.001373052597 1.277826786041 0.111266195774 -v -0.001722097397 1.284371614456 0.109198451042 -v 0.011536121368 1.282118082047 0.111050844193 -v 0.009827852249 1.276010155678 0.111163258553 -v 0.008899927139 1.272522568703 0.108775258064 -v 0.007982730865 1.269812107086 0.108590006828 -v -0.013120889664 1.280258178711 0.103836178780 -v -0.013952493668 1.287459611893 0.096029043198 -v -0.010375499725 1.274148821831 0.106453537941 -v -0.007061481476 1.270083665848 0.105696380138 -v 0.000071287155 1.273618578911 0.108782231808 -v -0.005353450775 1.267195701599 0.105669260025 -v -0.003715276718 1.265943884850 0.104040384293 -v -0.004131793976 1.253381729126 0.104748189449 -v -0.003669261932 1.256071329117 0.105417490005 -v -0.002878904343 1.257432699203 0.105259358883 -v -0.013543844223 1.267071247101 0.099097788334 -v -0.009968519211 1.265434265137 0.100078165531 -v -0.008393764496 1.263895630836 0.101276814938 -v -0.006794929504 1.262893676758 0.101056635380 -v -0.010854721069 1.252157211304 0.098580598831 -v -0.008997440338 1.255574226379 0.100211143494 -v -0.010912179947 1.258270978928 0.096816718578 -v -0.011093616486 1.261292099953 0.096696496010 -v -0.007898807526 1.257424354553 0.101626813412 -v -0.009550809860 1.259004950523 0.098516225815 -v -0.009840488434 1.260907649994 0.098658919334 -v -0.006556272507 1.258249044418 0.101993978024 -v -0.008103132248 1.259290218353 0.099143624306 -v -0.008106708527 1.260651588440 0.098746120930 -v 0.000634908676 1.269962787628 0.108458042145 -v 0.001318454742 1.268399953842 0.106259763241 -v 0.007476329803 1.268658280373 0.106844902039 -v 0.003443002701 1.252889513969 0.108284533024 -v 0.002853155136 1.255975246429 0.108673334122 -v 0.002923965454 1.257455945015 0.107795357704 -v 0.011467933655 1.255045294762 0.108669996262 -v 0.009955406189 1.257626056671 0.108927190304 -v 0.009441614151 1.258421897888 0.107399821281 -v 0.014464855194 1.289756536484 0.104732036591 -v 0.025943517685 1.283508300781 0.107297778130 -v 0.039303779602 1.279110550880 0.106710374355 -v 0.036115169525 1.278290748596 0.107457518578 -v 0.042536735535 1.278733968735 0.105807304382 -v 0.030768871307 1.288198709488 0.104064941406 -v 0.037350654602 1.289890766144 0.102047562599 -v 0.032482862473 1.275633811951 0.108351588249 -v 0.028729915619 1.263514757156 0.113653242588 -v 0.018857955933 1.271643638611 0.108702600002 -v 0.016063928604 1.269024133682 0.106653332710 -v 0.028270483017 1.270699024200 0.108028233051 -v 0.022220373154 1.277044057846 0.110479056835 -v 0.019372463226 1.258092880249 0.110031247139 -v 0.023556232452 1.262869477272 0.107618689537 -v 0.035057067871 1.268901348114 0.115687489510 -v 0.039037466049 1.272062182426 0.116605579853 -v 0.014039754868 1.267450094223 0.106931269169 -v 0.012716054916 1.266707539558 0.106147646904 -v 0.017132282257 1.259011745453 0.106750369072 -v 0.020047903061 1.262408375740 0.104903697968 -v 0.019694805145 1.265416860580 0.105079472065 -v 0.017275571823 1.264821529388 0.105033516884 -v 0.017734289169 1.262517094612 0.104454278946 -v 0.015003919601 1.260491371155 0.107061386108 -v 0.015677213669 1.264597892761 0.104555845261 -v 0.016396999359 1.262519359589 0.103408336639 -v 0.014380216599 1.260196924210 0.104527294636 -v 0.023535966873 1.267078399658 0.106167256832 -v -0.012151002884 1.235135316849 0.109545886517 -v -0.016305923462 1.224170684814 0.110445380211 -v -0.010377168655 1.200674295425 0.124419331551 -v -0.006423950195 1.185832023621 0.138172209263 -v -0.010899543762 1.192893743515 0.129531621933 -v -0.017629623413 1.210340738297 0.107257723808 -v -0.026541233063 1.185374736786 0.118990361691 -v -0.022340297699 1.197549104691 0.109548330307 -v 0.035350084305 1.248472332954 0.142883300781 -v 0.051932334900 1.253603696823 0.148347139359 -v 0.041118383408 1.258031487465 0.142182707787 -v 0.049641847610 1.260149955750 0.141103088856 -v 0.044825792313 1.252733945847 0.148908674717 -v 0.042319774628 1.246564269066 0.148949384689 -v 0.041991710663 1.241669535637 0.144866228104 -v 0.052286386490 1.246867418289 0.148005247116 -v 0.051711082458 1.241842269897 0.144327402115 -v 0.035593986511 1.255735874176 0.134251892567 -v 0.029677391052 1.244845509529 0.136716425419 -v 0.033319473267 1.250971555710 0.137745916843 -v 0.031243801117 1.242845058441 0.136967241764 -v 0.030688762665 1.256210803986 0.122289538383 -v 0.030338525772 1.250825643539 0.129136621952 -v 0.028740406036 1.247478961945 0.134274959564 -v 0.033815860748 1.242522120476 0.134662628174 -v 0.036343336105 1.243577361107 0.131516873837 -v 0.035639047623 1.243583917618 0.141259193420 -v 0.038025856018 1.243572592735 0.136724710464 -v 0.038744688034 1.229243755341 0.136170148849 -v 0.024222373962 1.241967678070 0.129807054996 -v 0.026626348495 1.240379929543 0.132212758064 -v 0.025287628174 1.233862161636 0.128705739975 -v 0.029455423355 1.240218400955 0.133426547050 -v 0.032053232193 1.237096786499 0.129116058350 -v 0.032113552094 1.241108894348 0.132747650146 -v 0.035292625427 1.241956233978 0.129371285439 -v 0.030912876129 1.229870319366 0.131015717983 -v 0.030648946762 1.224499464035 0.134449362755 -v 0.044306993484 1.238245844841 0.135809302330 -v 0.043252468109 1.240461349487 0.139098584652 -v 0.042135715485 1.240919113159 0.133995532990 -v 0.041716814041 1.241783857346 0.135482788086 -v 0.039429187775 1.243738889694 0.133056044579 -v 0.050420999527 1.240142822266 0.139068543911 -v 0.044756889343 1.234812498093 0.136098802090 -v 0.045078516006 1.231711387634 0.137417495251 -v 0.049524068832 1.238426923752 0.135339796543 -v 0.049675464630 1.235311508179 0.135039925575 -v 0.049990892410 1.232141256332 0.135455429554 -v 0.050583839417 1.228020906448 0.136361002922 -v 0.039813756943 1.238145470619 0.129698514938 -v 0.039825677872 1.242085576057 0.130345582962 -v 0.038737535477 1.233376264572 0.133297681808 -v 0.021462440491 1.217258930206 0.132264912128 -v 0.022056579590 1.212752580643 0.133517026901 -v 0.018235683441 1.205214858055 0.139099240303 -v 0.020352602005 1.209083795547 0.136137485504 -v 0.026568651199 1.202765941620 0.148095548153 -v 0.023966073990 1.192803263664 0.152344107628 -v 0.016592502594 1.199261784554 0.141214609146 -v 0.012834787369 1.191551685333 0.144409120083 -v 0.037743806839 1.215576529503 0.149055123329 -v 0.045881509781 1.225828409195 0.145537972450 -v 0.052435159683 1.227740526199 0.144624948502 -v 0.046445846558 1.218936204910 0.150274634361 -v 0.053923368454 1.220834851265 0.149113297462 -v 0.037250757217 1.206232309341 0.152749001980 -v 0.035874843597 1.194463729858 0.157640993595 -v 0.046791553497 1.196104288101 0.159853577614 -v 0.056510210037 1.197567701340 0.158931136131 -v 0.046874284744 1.208952426910 0.154512763023 -v 0.055248498917 1.210875630379 0.153577446938 -v 0.029203891754 1.216282963753 0.141427814960 -v 0.038281440735 1.222136378288 0.144550740719 -v 0.039469957352 1.224807739258 0.138187825680 -v 0.027691841125 1.210708260536 0.145226716995 -v 0.031136751175 1.219664812088 0.136600375175 -v 0.045809268951 1.227646589279 0.138405919075 -v 0.014129638672 1.249409794807 0.115332782269 -v 0.012882471085 1.252357363701 0.110826134682 -v 0.003088235855 1.244774341583 0.113203525543 -v 0.015806198120 1.243852615356 0.119367957115 -v 0.002343654633 1.237422823906 0.117558121681 -v 0.001748561859 1.226236939430 0.122058868408 -v 0.018728971481 1.236750602722 0.120574116707 -v 0.013330936432 1.222983598709 0.124980926514 -v 0.020515918732 1.223115921021 0.129145741463 -v -0.008113384247 1.243763685226 0.107061862946 -v -0.005330562592 1.249330997467 0.104984104633 -v 0.003616333008 1.249160528183 0.109515726566 -v 0.024304866791 1.250104308128 0.120198249817 -v 0.023406744003 1.245513081551 0.126008749008 -v 0.022205352783 1.255663037300 0.115017294884 -v 0.022286176682 1.233654975891 0.123781740665 -v 0.005661487579 1.202055335045 0.129107356071 -v -0.006587982178 1.211276650429 0.122517585754 -v 0.004577875137 1.210666298866 0.126435041428 -v 0.000176429749 1.201238393784 0.127685189247 -v 0.010596990585 1.210288167000 0.128963351250 -v 0.011595726013 1.201239705086 0.133424997330 -v 0.008545637131 1.200110793114 0.130007266998 -v 0.008605241776 1.202653884888 0.129701614380 -v 0.013861179352 1.203346967697 0.131477773190 -v 0.010287761688 1.201593160629 0.130020737648 -v 0.010378360748 1.202918767929 0.129963099957 -v 0.013339757919 1.208619117737 0.130371451378 -v 0.014328479767 1.206321358681 0.130973219872 -v 0.004492282867 1.192520976067 0.136268198490 -v 0.005780458450 1.198042392731 0.130144894123 -v 0.000226497650 1.195833086967 0.130556583405 -v 0.009120702744 1.197683811188 0.134836256504 -v -0.030488014221 1.283267021179 0.061819374561 -v -0.020040273666 1.274581432343 0.086394488811 -v -0.024308919907 1.279701232910 0.074724912643 -v -0.023217916489 1.261051177979 0.081465482712 -v -0.028754949570 1.261417388916 0.070602059364 -v -0.036482095718 1.283128738403 0.047661483288 -v -0.035109758377 1.260555624962 0.058661758900 -v -0.041009902954 1.257912158966 0.046594083309 -v -0.021064043045 1.302900314331 0.072026371956 -v -0.003322601318 1.312586545944 0.080484449863 -v -0.016522645950 1.296046495438 0.085470199585 -v -0.025208473206 1.303212285042 0.054149925709 -v -0.007358551025 1.313477158546 0.060375809669 -v 0.010043859482 1.317523241043 0.063381493092 -v 0.024682044983 1.319341421127 0.062246799469 -v -0.017404079437 1.270059585571 0.095172524452 -v -0.018391847610 1.253546833992 0.091046571732 -v -0.013947963715 1.256553530693 0.094790697098 -v -0.014717340469 1.261037349701 0.094909310341 -v -0.018908500671 1.260896086693 0.090010643005 -v -0.020776271820 1.238931417465 0.095742464066 -v -0.023503780365 1.249016761780 0.084496319294 -v -0.025747776031 1.229195833206 0.091487228870 -v -0.028454780579 1.243663668633 0.075471043587 -v -0.028841972351 1.217222690582 0.085641384125 -v -0.036760330200 1.200345516205 0.081055641174 -v -0.043103218079 1.175856351852 0.098108768463 -v -0.034443616867 1.237311244011 0.066220164299 -v -0.040151596069 1.230180382729 0.055966675282 -v -0.047009706497 1.225324869156 0.042491793633 -v -0.047743082047 1.194535493851 0.058303952217 -v -0.054014205933 1.190686464310 0.040780961514 -v -0.015044689178 1.246884107590 0.097714483738 -v 0.051012039185 1.267523407936 0.126842677593 -v 0.053725004196 1.263754844666 0.121200740337 -v 0.044191360474 1.316711425781 0.076770126820 -v 0.049160242081 1.303004741669 0.090367913246 -v 0.070050954819 1.296021223068 0.083691716194 -v 0.064377546310 1.307411193848 0.076644003391 -v 0.044227600098 1.289105176926 0.100519239902 -v 0.046434164047 1.276561975479 0.104707181454 -v 0.050604581833 1.285138130188 0.100853264332 -v 0.058474540710 1.292474508286 0.093251526356 -v 0.065127134323 1.284862875938 0.097177326679 -v 0.048618316650 1.269841313362 0.112119197845 -v 0.045237541199 1.272487878799 0.114981353283 -v 0.053706645966 1.265324115753 0.107027411461 -v 0.050548315048 1.272162795067 0.102230787277 -v 0.056096792221 1.279160976410 0.101499915123 -v 0.055377244949 1.264985799789 0.099373936653 -v 0.058884382248 1.273606300354 0.098348557949 -v 0.060819864273 1.270249724388 0.095299720764 -v 0.067456960678 1.278015136719 0.096721053123 -v 0.067724943161 1.273309826851 0.094431757927 -v 0.068783521652 1.270277500153 0.094106316566 -v 0.060762882233 1.261790990829 0.099568009377 -v 0.054175376892 1.268918275833 0.098160982132 -v 0.062816143036 1.268297910690 0.094869017601 -v 0.063694953918 1.267551422119 0.093782484531 -v 0.068581581116 1.269197702408 0.092460989952 -v 0.061268568039 1.263207793236 0.095967531204 -v 0.057333707809 1.264688968658 0.095514893532 -v 0.057271957397 1.267230391502 0.095370531082 -v 0.059454441071 1.266519188881 0.094323635101 -v 0.059153795242 1.264902830124 0.094141185284 -v 0.062749862671 1.265080451965 0.095315635204 -v 0.060599803925 1.266317009926 0.093307375908 -v 0.059796094894 1.264950871468 0.092611730099 -v 0.062308549881 1.264286756516 0.092826724052 -v 0.067521333694 1.262562036514 0.095242917538 -v 0.068541765213 1.265034556389 0.094969451427 -v 0.068204641342 1.265207529068 0.093506395817 -v 0.077112913132 1.279425144196 0.091373026371 -v 0.075383424759 1.286835432053 0.089299082756 -v 0.082441329956 1.283947467804 0.079257071018 -v 0.078902959824 1.292372465134 0.071949005127 -v 0.075701475143 1.271097064018 0.090313911438 -v 0.074272155762 1.269963860512 0.088880062103 -v 0.080384016037 1.272943258286 0.083734631538 -v 0.075593948364 1.274363636971 0.090127468109 -v 0.079707145691 1.270199537277 0.084501504898 -v 0.077773094177 1.269171714783 0.084009110928 -v 0.074470520020 1.262153863907 0.091184914112 -v 0.074804306030 1.264805197716 0.091423273087 -v 0.074141263962 1.265561819077 0.090759217739 -v 0.079296112061 1.262190818787 0.084158301353 -v 0.078951358795 1.264721870422 0.085185348988 -v 0.078058242798 1.265552878380 0.085563898087 -v 0.080155134201 1.268244743347 0.078729867935 -v 0.078858852386 1.267360806465 0.079410076141 -v 0.080429077148 1.264863848686 0.079188346863 -v 0.080001354218 1.264985084534 0.075401127338 -v 0.080117464066 1.266297817230 0.075324594975 -v 0.079468488693 1.265514373779 0.080408871174 -v 0.079141855240 1.265153050423 0.076866209507 -v 0.078771829605 1.266029000282 0.076456785202 -v 0.082354784012 1.277361154556 0.082759082317 -v 0.082641601563 1.272576570511 0.074128508568 -v 0.080540895462 1.270089030266 0.076882600784 -v 0.081943511963 1.258766055107 0.074625015259 -v 0.080802440643 1.262812852859 0.077187001705 -v 0.080394029617 1.264332532883 0.073039591312 -v 0.080169439316 1.266933917999 0.072909772396 -v 0.057654857635 1.259309649467 0.137847244740 -v 0.058503150940 1.253966927528 0.145442008972 -v 0.064238071442 1.251279354095 0.135221183300 -v 0.061223030090 1.248335599899 0.143793106079 -v 0.060226678848 1.243742227554 0.139886677265 -v 0.058931112289 1.258131980896 0.127938270569 -v 0.063202142715 1.254297494888 0.129694104195 -v 0.065549135208 1.247506380081 0.127456486225 -v 0.057339906693 1.259414553642 0.114988744259 -v 0.062293052673 1.246687650681 0.126744151115 -v 0.058286666870 1.246920347214 0.125443816185 -v 0.066583871841 1.249766945839 0.126530528069 -v 0.061671018600 1.255462884903 0.120306611061 -v 0.065866470337 1.252713918686 0.123935759068 -v 0.054228067398 1.239598989487 0.133096814156 -v 0.056482315063 1.242153167725 0.135511994362 -v 0.054856777191 1.242565155029 0.130528688431 -v 0.055840969086 1.243560433388 0.131651639938 -v 0.056303262711 1.246041178703 0.128419876099 -v 0.063732147217 1.246660113335 0.133645892143 -v 0.059375524521 1.246311187744 0.130905628204 -v 0.054415225983 1.236288070679 0.133475065231 -v 0.055111885071 1.233415126801 0.134682297707 -v 0.059905767441 1.232897996902 0.130329132080 -v 0.055068492889 1.240468859673 0.125481486320 -v 0.054852485657 1.244311332703 0.126182913780 -v 0.061526775360 1.241811394691 0.120923161507 -v 0.062999248505 1.245989322662 0.124036252499 -v 0.058302879333 1.245635032654 0.122877240181 -v 0.058226346970 1.236359000206 0.127980589867 -v 0.068130016327 1.248301506042 0.117564380169 -v 0.067496299744 1.246428251266 0.120817005634 -v 0.067075014114 1.240431427956 0.117183685303 -v 0.065690279007 1.245734214783 0.123227000237 -v 0.063593864441 1.235562324524 0.122017323971 -v 0.065532922745 1.231557369232 0.124712467194 -v 0.058642148972 1.228264093399 0.141964733601 -v 0.060995340347 1.221785545349 0.146217465401 -v 0.067803859711 1.221554160118 0.140724539757 -v 0.065596818924 1.198537349701 0.155037641525 -v 0.063088893890 1.211889743805 0.150147914886 -v 0.070540428162 1.212059378624 0.143783211708 -v 0.074363708496 1.199054241180 0.147871077061 -v 0.055469512939 1.229463577271 0.135724365711 -v 0.064706325531 1.227428913116 0.137217521667 -v 0.060773849487 1.229086875916 0.132322847843 -v 0.070334196091 1.226015686989 0.129881024361 -v 0.073707818985 1.221224188805 0.132331371307 -v 0.066503286362 1.228003025055 0.126726925373 -v 0.071586132050 1.228841543198 0.118208587170 -v 0.071873664856 1.225707650185 0.119430422783 -v 0.077915668488 1.220404744148 0.122084975243 -v 0.074536085129 1.223444819450 0.120662927628 -v 0.076755285263 1.212785243988 0.134442687035 -v 0.081811666489 1.200371980667 0.137430131435 -v 0.080988883972 1.214165449142 0.123166322708 -v 0.086687803268 1.203819513321 0.124526441097 -v 0.062492609024 1.254801988602 0.109791696072 -v 0.066610813141 1.251634597778 0.113950848579 -v 0.061021566391 1.259107947350 0.104773223400 -v 0.068827152252 1.254087090492 0.101265370846 -v 0.067484378815 1.258732795715 0.097137033939 -v 0.069918870926 1.248601675034 0.105034232140 -v 0.067322969437 1.240279912949 0.111719012260 -v 0.068537473679 1.242500543594 0.107286572456 -v 0.075018405914 1.232970237732 0.108255088329 -v 0.070877790451 1.232767581940 0.115252256393 -v 0.077867746353 1.249896764755 0.094340682030 -v 0.081087350845 1.242408514023 0.097182273865 -v 0.083758115768 1.234669685364 0.100204110146 -v 0.075211763382 1.256941318512 0.091831862926 -v 0.080814123154 1.256867170334 0.083383440971 -v 0.084712028503 1.249413847923 0.083412945271 -v 0.090125322342 1.240862131119 0.083279728889 -v 0.094750881195 1.231421947479 0.081762373447 -v 0.077249050140 1.224474191666 0.112283647060 -v 0.076828718185 1.222699880600 0.113141000271 -v 0.078745365143 1.225707769394 0.109818100929 -v 0.080643415451 1.218926310539 0.113611519337 -v 0.081604242325 1.218360304832 0.109059333801 -v 0.081132650375 1.220607519150 0.109011828899 -v 0.077664852142 1.220381379128 0.113147377968 -v 0.080033540726 1.219517707825 0.110023081303 -v 0.079794406891 1.220654487610 0.110094487667 -v 0.083391666412 1.220073938370 0.107060670853 -v 0.082854270935 1.225638270378 0.104710161686 -v 0.087911605835 1.218507766724 0.103260695934 -v 0.091594696045 1.224019408226 0.096191704273 -v 0.096889257431 1.214898347855 0.095897138119 -v 0.083808422089 1.215420007706 0.113558650017 -v 0.089332103729 1.208635091782 0.112731575966 -v 0.084277868271 1.216469287872 0.107762217522 -v 0.089827299118 1.213289976120 0.105555117130 -v 0.101368904114 1.198026537895 0.110524892807 -v 0.100582122803 1.206828474998 0.100248575211 -v 0.095614671707 1.219149708748 0.078378736973 -v 0.110302448273 1.196131229401 0.085673749447 -v 0.101401090622 1.207566261292 0.078618407249 -v 0.038086652756 1.319437146187 0.056139290333 -v 0.058758258820 1.316738009453 0.064338445663 -v 0.052024126053 1.317465305328 0.045089304447 -v 0.071031332016 1.309057235718 0.048146665096 -v 0.074790716171 1.301920175552 0.061692059040 -v 0.065555095673 1.309342384338 0.030936956406 -v 0.076519966125 1.290452003479 0.034301042557 -v 0.081107854843 1.281051397324 0.059998869896 -v 0.083610057831 1.276207208633 0.068830192089 -v 0.084535121918 1.260300159454 0.064144432545 -v 0.082194328308 1.262906312943 0.069637179375 -v 0.082393407822 1.267321228981 0.069480359554 -v 0.083597660065 1.267654538155 0.063186764717 -v 0.078208923340 1.286485910416 0.048090279102 -v 0.083045482635 1.268104314804 0.053750872612 -v 0.082231521606 1.268839240074 0.041879594326 -v 0.074455499649 1.290663003922 0.019667565823 -v 0.081685543060 1.268450379372 0.028919160366 -v 0.080770254135 1.266295671463 0.016477346420 -v 0.085688114166 1.253255128860 0.071567714214 -v 0.090450763702 1.245868682861 0.066874861717 -v 0.086171150208 1.256250977516 0.055930197239 -v 0.086350440979 1.251328825951 0.045859992504 -v 0.093620538712 1.236952662468 0.060706198215 -v 0.094166755676 1.225640654564 0.054646670818 -v 0.099492788315 1.210208415985 0.048777282238 -v 0.114588975906 1.187431573868 0.062622427940 -v 0.087287187576 1.245572805405 0.035482227802 -v 0.087604761124 1.239173889160 0.025138556957 -v 0.087361097336 1.235268592834 0.012534439564 -v 0.098117351532 1.205789446831 0.027765154839 -v 0.095893383026 1.203208208084 0.014717459679 -v -0.011510133743 1.163360238075 0.149067997932 -v -0.004560947418 1.134804606438 0.155196785927 -v -0.023927450180 1.173175573349 0.133506655693 -v -0.025471687317 1.141367435455 0.137405753136 -v 0.017634153366 1.178678154945 0.157647490501 -v 0.025628328323 1.157846570015 0.168135166168 -v 0.003703117371 1.180795431137 0.148849606514 -v 0.006724596024 1.158563613892 0.161044716835 -v 0.032204389572 1.178767085075 0.163424730301 -v 0.045523643494 1.179651737213 0.165940761566 -v 0.057294130325 1.180637598038 0.164849698544 -v 0.042539596558 1.158673048019 0.171049177647 -v 0.056924104691 1.159794092178 0.170381605625 -v 0.017149686813 1.133303642273 0.166976332664 -v 0.037201642990 1.133634090424 0.172211468220 -v 0.054214477539 1.134839653969 0.171566545963 -v -0.010805606842 1.115299701691 0.134994447231 -v -0.012533187866 1.105522513390 0.110044121742 -v 0.010537385941 1.112756729126 0.149111986160 -v 0.047211885452 1.112629652023 0.157582700253 -v 0.030074119568 1.112287878990 0.156457722187 -v 0.006142139435 1.103373646736 0.121430158615 -v 0.022053003311 1.103733062744 0.127525568008 -v 0.036193370819 1.104734897614 0.128820121288 -v -0.040673494339 1.155994772911 0.117093861103 -v -0.049955368042 1.141332268715 0.095714688301 -v -0.032525300980 1.123396158218 0.116316258907 -v -0.032552003860 1.114442110062 0.094371557236 -v -0.031067371368 1.110062003136 0.075444519520 -v -0.052037954330 1.167015790939 0.075356423855 -v -0.056231737137 1.161347627640 0.056636929512 -v -0.059476852417 1.156821727753 0.039392709732 -v -0.059850692749 1.140776157379 0.039435088634 -v -0.061575651169 1.141006946564 0.028368413448 -v -0.050864934921 1.133266210556 0.076295912266 -v -0.056070089340 1.117838740349 0.039700746536 -v -0.049790382385 1.128654956818 0.061231255531 -v -0.052109718323 1.122534751892 0.050932705402 -v -0.034054994583 1.104509353638 0.060616970062 -v -0.043396234512 1.096928238869 0.048614859581 -v -0.048959255219 1.091627120972 0.033554553986 -v -0.056957721710 1.112890362740 0.023788034916 -v -0.035567522049 1.043387889862 0.047449171543 -v -0.039433956146 1.039121747017 0.052413821220 -v -0.064744234085 1.050780534744 0.014951646328 -v -0.038980245590 1.074284434319 0.043637633324 -v -0.041082859039 1.069077014923 0.029278635979 -v -0.034406661987 1.055065155029 0.043360531330 -v -0.047071218491 1.085974812508 0.015686988831 -v -0.049998521805 1.061222076416 0.019102632999 -v -0.053887367249 1.043840646744 0.036689996719 -v -0.042478322983 1.050164461136 0.036054790020 -v -0.014271974564 1.099223375320 0.086969316006 -v 0.000830411911 1.094314455986 0.095309138298 -v -0.019607543945 1.090406298637 0.068407773972 -v -0.029613494873 1.080608129501 0.054361045361 -v -0.005763530731 1.081238627434 0.073860049248 -v -0.027546405792 1.059183478355 0.053171813488 -v -0.013939142227 1.067626953125 0.057299792767 -v 0.014307975769 1.093263268471 0.099898755550 -v 0.027014970779 1.094081640244 0.101382076740 -v 0.021053075790 1.074604153633 0.082123875618 -v 0.007202863693 1.075435996056 0.078675389290 -v -0.027371644974 1.043602824211 0.054658472538 -v -0.017439126968 1.044979572296 0.062561631203 -v -0.024429798126 1.035316348076 0.064470529556 -v -0.010132312775 1.032010316849 0.071531534195 -v 0.004372358322 1.030398845673 0.073763489723 -v 0.017338514328 1.031093001366 0.076553463936 -v 0.000297546387 1.051457285881 0.063539087772 -v 0.017464637756 1.050814867020 0.071853816509 -v 0.068420410156 1.181527853012 0.160425603390 -v 0.079635143280 1.182518243790 0.152125537395 -v 0.070542097092 1.160900115967 0.164953768253 -v 0.085201978683 1.162357091904 0.154878497124 -v 0.090045928955 1.184562206268 0.140001475811 -v 0.098061561584 1.189689755440 0.125387966633 -v 0.099827289581 1.165438413620 0.139908611774 -v 0.070614814758 1.136290311813 0.165854871273 -v 0.088030338287 1.138740301132 0.153091609478 -v 0.104446411133 1.143034815788 0.133147954941 -v 0.097229003906 1.124236106873 0.117044687271 -v 0.083167791367 1.114722371101 0.099347352982 -v 0.111231565475 1.172423601151 0.120619416237 -v 0.114904880524 1.183718919754 0.100513756275 -v 0.116925716400 1.151993751526 0.107569992542 -v 0.063422679901 1.115132212639 0.151529729366 -v 0.080619335175 1.118611931801 0.138225674629 -v 0.050387620926 1.106717824936 0.125205457211 -v 0.066112041473 1.109486579895 0.115795731544 -v 0.086173295975 1.122708439827 0.068399488926 -v 0.080250263214 1.118033289909 0.063007235527 -v 0.082655668259 1.112149238586 0.061163365841 -v 0.121577978134 1.167878985405 0.081856548786 -v 0.119044303894 1.154315471649 0.063807129860 -v 0.111441612244 1.134985923767 0.090731918812 -v 0.098887205124 1.126488447189 0.077325224876 -v 0.111427545547 1.179712891579 0.043127000332 -v 0.106110334396 1.175122380257 0.031305313110 -v 0.102075576782 1.172155618668 0.024685502052 -v 0.102116584778 1.157317161560 0.033418297768 -v 0.101032018661 1.158340215683 0.029302597046 -v 0.100531339645 1.143308043480 0.048263728619 -v 0.097441434860 1.138330459595 0.048066020012 -v 0.109502553940 1.146957397461 0.052747786045 -v 0.096754789352 1.134839057922 0.047012090683 -v 0.085198402405 1.107511401176 0.055232167244 -v 0.094857692719 1.130478262901 0.041637301445 -v 0.040197134018 1.096347808838 0.099944472313 -v 0.054687500000 1.100618243217 0.094639301300 -v 0.048788309097 1.088074207306 0.078770637512 -v 0.035143613815 1.078818082809 0.081493318081 -v 0.048858642578 1.075313687325 0.068564772606 -v 0.070461988449 1.108810186386 0.084021329880 -v 0.064486742020 1.100866556168 0.073438167572 -v 0.065836668015 1.092562913895 0.068579912186 -v 0.060715675354 1.069221019745 0.070371031761 -v 0.030231714249 1.033327579498 0.078828334808 -v 0.035176753998 1.055608034134 0.070235610008 -v 0.043811559677 1.038117885590 0.082073748112 -v 0.050953388214 1.052722811699 0.075931191444 -v 0.063144207001 1.053842663765 0.072386682034 -v 0.073226213455 1.055658340454 0.068940043449 -v 0.075714349747 1.052077531815 0.075281441212 -v 0.058623790741 1.044714212418 0.080729842186 -v 0.072857141495 1.087235689163 0.064580619335 -v 0.071193933487 1.066993713379 0.064158737659 -v 0.079437494278 1.082699298859 0.053134381771 -v 0.086660146713 1.101273775101 0.041690945625 -v 0.092396974564 1.077137112617 0.048476576805 -v 0.108497619629 1.069890260696 0.052235901356 -v 0.082067012787 1.064140319824 0.061126887798 -v 0.093047380447 1.060159802437 0.067036211491 -v -0.040343284607 1.237436652184 -0.032936990261 -v -0.052459239960 1.221552133560 0.028179645538 -v -0.056158065796 1.218947887421 0.012705385685 -v -0.055384397507 1.217468619347 -0.008952379227 -v -0.058702945709 1.188291907310 0.024425923824 -v -0.061626672745 1.162003040314 0.018809258938 -v -0.061149597168 1.186267733574 0.006660997868 -v -0.059507608414 1.179691553116 -0.010669171810 -v -0.055477380753 1.198352456093 -0.021095275879 -v -0.052834749222 1.169609308243 -0.030598759651 -v -0.042055368423 1.195482850075 -0.042439877987 -v -0.019744396210 1.243911266327 -0.053574860096 -v 0.005693435669 1.249059438705 -0.062779784203 -v -0.040396451950 1.167162179947 -0.069658398628 -v -0.015247583389 1.206512212753 -0.057519495487 -v 0.014311552048 1.212281465530 -0.062326133251 -v -0.013623714447 1.176701664925 -0.078638434410 -v 0.025074958801 1.182491421700 -0.078897595406 -v 0.055553436279 1.246190905571 -0.042324364185 -v 0.072591066360 1.207378625870 -0.039697229862 -v 0.085914134979 1.232458949089 0.001026153564 -v 0.083698034286 1.230814695358 -0.009619951248 -v 0.077988386154 1.229747176170 -0.023236691952 -v 0.094089031219 1.202184319496 0.005038857460 -v 0.098302841187 1.178545475006 0.013474762440 -v 0.091052532196 1.195588827133 -0.011169850826 -v 0.092413902283 1.201389551163 -0.004166901112 -v 0.082178831100 1.212141036987 -0.025714099407 -v 0.089784622192 1.185250520706 -0.019735872746 -v 0.032395839691 1.248675107956 -0.057501971722 -v 0.044507265091 1.212738394737 -0.056064784527 -v 0.063519954681 1.185031294823 -0.068458735943 -v 0.090191364288 1.181271433830 -0.050654113293 -v -0.059590101242 1.158144712448 0.001819372177 -v -0.060241460800 1.136449337006 0.012746274471 -v -0.055771827698 1.128415822983 -0.007795572281 -v -0.056196689606 1.149477005005 -0.018423438072 -v -0.059613704681 1.094871759415 -0.017021775246 -v -0.052507877350 1.106217026711 0.003190934658 -v -0.061356782913 1.135336041451 -0.044591844082 -v -0.055210590363 1.152688622475 -0.057234942913 -v -0.061703920364 1.115628957748 -0.031736850739 -v -0.076354265213 1.118670940399 -0.068626523018 -v -0.078945398331 1.100923299789 -0.053504228592 -v -0.072272777557 1.063135385513 -0.010518550873 -v -0.077728748322 1.081091284752 -0.034207820892 -v -0.055848836899 1.076079010963 0.000701248646 -v -0.070124626160 1.134061932564 -0.082705259323 -v -0.052391529083 1.145668983459 -0.097816407681 -v -0.014596939087 1.152688741684 -0.108650863171 -v 0.038563251495 1.158075928688 -0.105544686317 -v 0.095056056976 1.175324201584 0.007279813290 -v 0.097741365433 1.154363512993 0.024574756622 -v 0.096329450607 1.145889043808 0.014402627945 -v 0.095551252365 1.166598796844 -0.001544177532 -v 0.092842340469 1.122950792313 0.029080450535 -v 0.106817960739 1.113699555397 0.016706228256 -v 0.110495090485 1.154946565628 -0.013335943222 -v 0.104727029800 1.170523405075 -0.031004786491 -v 0.110179185867 1.135258436203 0.001379370689 -v 0.134946107864 1.143305301666 -0.026512145996 -v 0.134920597076 1.125534772873 -0.009499669075 -v 0.100990295410 1.093693971634 0.033296287060 -v 0.121155023575 1.084573626518 0.031806349754 -v 0.130618572235 1.104586720467 0.010483145714 -v 0.088234901428 1.164701461792 -0.088147342205 -v 0.131562232971 1.157645463943 -0.042793512344 -v 0.118981122971 1.165749549866 -0.063742041588 -v 0.061493158340 1.307609081268 0.082881748676 -v 0.060327529907 1.318495154381 0.079182028770 -v 0.072385311127 1.317370176315 0.066087126732 -v 0.075205326080 1.306590318680 0.068933367729 -v 0.076874732971 1.311258077621 0.048126757145 -v 0.079223632813 1.301067113876 0.051980793476 -v 0.079833984375 1.300073146820 0.031079173088 -v 0.080294847488 1.289757966995 0.038935780525 -v 0.084419488907 1.282017230988 0.020341932774 -v 0.084472656250 1.274614810944 0.031600832939 -v 0.089787960052 1.257214426994 0.028529644012 -v 0.093410491943 1.257125258446 0.016011953354 -v 0.093643188477 1.237569332123 0.028812587261 -v 0.099745988846 1.236010193825 0.015180408955 -v 0.101211547852 1.209712862968 0.029784440994 -v 0.105703353882 1.216141939163 0.016078948975 -v 0.107604503632 1.206364512444 0.004519283772 -v 0.106831312180 1.196551799774 0.008540511131 -v 0.103477239609 1.200936555862 -0.016821682453 -v 0.102436780930 1.189777612686 -0.016660988331 -v 0.094894409180 1.201877832413 -0.033474504948 -v 0.091467142105 1.192241907120 -0.033644795418 -v 0.081027984619 1.205593347549 -0.044518053532 -v 0.078697204590 1.196267604828 -0.045972108841 -v 0.030203104019 1.317878961563 0.092599034309 -v 0.031599044800 1.306848764420 0.096550464630 -v 0.000533103943 1.315608501434 0.092406988144 -v 0.001453638077 1.304747343063 0.097599565983 -v -0.019915580750 1.309429168701 0.081647753716 -v -0.018998622894 1.298553228378 0.086916089058 -v -0.033011198044 1.297790884972 0.064219474792 -v -0.029258489609 1.289492845535 0.072676897049 -v -0.041879415512 1.274564981461 0.053379595280 -v -0.035678148270 1.269248962402 0.063527703285 -v -0.049278259277 1.251981019974 0.053342640400 -v -0.040801525116 1.249933481216 0.062599599361 -v -0.052246570587 1.230650424957 0.054706454277 -v -0.042381286621 1.229251742363 0.063888192177 -v -0.056648731232 1.206089735031 0.058673679829 -v -0.047176122665 1.203041553497 0.068685829639 -v -0.063978195190 1.193070888519 0.045640826225 -v -0.059770822525 1.182946562767 0.046971440315 -v -0.068000316620 1.188966512680 0.023967921734 -v -0.064295291901 1.178698301315 0.022614359856 -v -0.068785667419 1.192012310028 0.001784324646 -v -0.065010547638 1.183354616165 -0.002156734467 -v -0.066419363022 1.198132634163 -0.014372169971 -v -0.061841726303 1.189954519272 -0.018084764481 -v -0.056248426437 1.205180168152 -0.032190322876 -v -0.050663232803 1.196324706078 -0.035794079304 -v -0.035155773163 1.208442568779 -0.053844273090 -v -0.033224582672 1.197817921638 -0.051412761211 -v -0.008906602859 1.210032224655 -0.066920220852 -v -0.007337331772 1.200033903122 -0.065757989883 -v 0.025993824005 1.211974382401 -0.073480010033 -v 0.026358604431 1.201002120972 -0.069385886192 -v 0.049157142639 1.212844133377 -0.068056046963 -v 0.048957347870 1.202935099602 -0.064820349216 -v 0.065938234329 1.210010766983 -0.056550920010 -v 0.063969373703 1.200293183327 -0.057101726532 -v 0.026063919067 1.253668546677 -0.073655724525 -v -0.009798765182 1.251827239990 -0.066984713078 -v -0.036081075668 1.251029968262 -0.053802967072 -v -0.053255796432 1.248492121696 -0.030867159367 -v -0.061401128769 1.237682819366 -0.006527304649 -v -0.065071582794 1.235451579094 0.005308210850 -v -0.066051959991 1.232313632965 0.024793028831 -v -0.063958168030 1.215806245804 0.036684691906 -v -0.058470249176 1.244234442711 0.038768827915 -v -0.056696653366 1.254055619240 0.036476075649 -v 0.047235488892 1.252357602119 -0.067458629608 -v 0.065943956375 1.248579740524 -0.052758038044 -v 0.082094430923 1.242822408676 -0.039423704147 -v 0.101416587830 1.234602212906 0.000243604183 -v 0.095574378967 1.254433631897 -0.000831246376 -v 0.081856250763 1.282060623169 0.002210915089 -v 0.070363283157 1.305048108101 0.002756774426 -v 0.064732551575 1.325939893723 0.037348568439 -v 0.059475421906 1.330581545830 0.056172847748 -v 0.051770687103 1.331991195679 0.066862940788 -v 0.026969909668 1.331480026245 0.080155074596 -v 0.000534296036 1.328585267067 0.078154027462 -v -0.016364336014 1.321949958801 0.068262755871 -v -0.032131671906 1.307672977448 0.049133062363 -v -0.046026468277 1.281006813049 0.033047616482 -v -0.057170391083 1.264941453934 0.018052995205 -v -0.059194087982 1.260551929474 0.005703926086 -v -0.056351184845 1.267251372337 -0.005363285542 -v -0.049419403076 1.281430959702 0.018636167049 -v -0.050104856491 1.281523466110 -0.026480972767 -v -0.032762527466 1.285117030144 -0.046894788742 -v -0.006237030029 1.288429498672 -0.060750246048 -v 0.045986413956 1.285272717476 -0.059156835079 -v 0.060814857483 1.282638311386 -0.047715902328 -v 0.081722974777 1.278753519058 -0.015161991119 -v 0.093460798264 1.257528543472 -0.016839504242 -v 0.099166631699 1.234176397324 -0.016934752464 -v 0.080812215805 1.267979621887 -0.031077861786 -v 0.066226243973 1.297156810760 -0.022842288017 -v 0.025224208832 1.286554098129 -0.066509544849 -v 0.046222925186 1.308892011642 -0.040655016899 -v 0.025389671326 1.311321735382 -0.048380911350 -v -0.002219676971 1.312392711639 -0.044137835503 -v -0.024477481842 1.309771776199 -0.033741474152 -v -0.040723323822 1.304569959641 -0.014032125473 -v -0.038681983948 1.307122945786 0.022028684616 -v -0.033923625946 1.316653251648 0.007554233074 -v -0.022377967834 1.325628161430 0.032776713371 -v -0.011242151260 1.334012389183 0.047734975815 -v 0.005346775055 1.339532971382 0.057651221752 -v 0.023217439651 1.341475963593 0.059436559677 -v 0.043385505676 1.340054035187 0.050687074661 -v 0.050596475601 1.337354063988 0.041210770607 -v 0.055289745331 1.331090807915 0.023640811443 -v 0.054258584976 1.323943614960 -0.003970444202 -v 0.035431385040 1.330586671829 -0.015784919262 -v 0.002865314484 1.329736113548 -0.018387377262 -v -0.017127513885 1.325981378555 -0.009942293167 -v -0.009388685226 1.335545063019 0.010651230812 -v 0.008429527283 1.339061737061 0.003008246422 -v 0.036308050156 1.338485956192 0.004922389984 -v 0.036141872406 1.342529535294 0.023647129536 -v 0.034445047379 1.343819022179 0.035101830959 -v 0.020200014114 1.344961047173 0.038254320621 -v 0.006144762039 1.343188524246 0.040450692177 -v -0.003520011902 1.340352535248 0.030388653278 -v 0.015350580215 1.343349337578 0.023720622063 -v 0.002131700516 1.294373512268 0.084310173988 -v 0.032253980637 1.296369910240 0.083501935005 -v 0.053240537643 1.297918319702 0.073384404182 -v 0.063632249832 1.297773361206 0.063727974892 -v 0.066441297531 1.292367458344 0.051250755787 -v 0.069464921951 1.284128427505 0.042113184929 -v 0.072947740555 1.268516302109 0.036393523216 -v 0.077996730804 1.254851579666 0.034342646599 -v 0.082294940948 1.238687992096 0.033778369427 -v 0.096078634262 1.210922002792 0.033141076565 -v 0.093547344208 1.197418689728 0.010111808777 -v 0.088402271271 1.190471649170 -0.012344717979 -v 0.079278945923 1.192068338394 -0.027221798897 -v 0.067305803299 1.196002244949 -0.037115812302 -v 0.056254863739 1.199710249901 -0.045009076595 -v 0.043886661530 1.202761530876 -0.050360381603 -v 0.028577089310 1.203777551651 -0.055042266846 -v 0.000556945801 1.202123761177 -0.054026365280 -v -0.022556543350 1.199745535851 -0.042454838753 -v -0.037118673325 1.196506142616 -0.027604460716 -v -0.044364452362 1.191485524178 -0.013580024242 -v -0.048760175705 1.185310840607 0.001701295376 -v -0.049472093582 1.181732654572 0.018289864063 -v -0.043260574341 1.188125729561 0.041829228401 -v -0.042436599731 1.200907945633 0.067196130753 -v -0.029914379120 1.229040384293 0.062778651714 -v -0.028822183609 1.249405384064 0.061480879784 -v -0.026416063309 1.267934322357 0.062469124794 -v -0.020500183105 1.284778714180 0.069266617298 -v -0.011813879013 1.290825963020 0.077379345894 -v -0.036173343658 1.205227851868 0.065852403641 -v 0.089926242828 1.212391614914 0.033588826656 -v 0.086484670639 1.264750957489 -0.025318682194 -v 0.090276241302 1.249650478363 -0.029009580612 -v 0.093374252319 1.235239744186 -0.028121829033 -v -0.680430412292 1.393068790436 -0.320257246494 -v -0.698494911194 1.408102989197 -0.328137785196 -v -0.705596685410 1.403319478035 -0.332353264093 -v -0.702425003052 1.401414155960 -0.341219663620 -v -0.693487405777 1.401706576347 -0.345480948687 -v -0.677313804626 1.388596534729 -0.332979142666 -v -0.696997642517 1.407511115074 -0.337174981833 -v -0.689204931259 1.409341335297 -0.330315768719 -v -0.693303585052 1.391095876694 -0.314780384302 -v -0.703037500381 1.384432554245 -0.323003411293 -v -0.699735164642 1.379808068275 -0.336086094379 -v -0.686516761780 1.382108569145 -0.341215163469 -v -0.688117027283 1.406664133072 -0.339293509722 -v -0.671191692352 1.325040817261 -0.285161167383 -v -0.653577566147 1.274054050446 -0.263464331627 -v -0.622252702713 1.186689734459 -0.227236688137 -v -0.589787960052 1.099176168442 -0.192291796207 -v -0.552791118622 1.003217101097 -0.157474160194 -v -0.510915994644 0.897739231586 -0.121878385544 -v -0.492876291275 0.902821123600 -0.129963815212 -v -0.535413742065 1.007634758949 -0.164884626865 -v -0.573541641235 1.102779388428 -0.199071943760 -v -0.606878757477 1.189758062363 -0.233704805374 -v -0.639323711395 1.276522159576 -0.269631683826 -v -0.656749725342 1.327616810799 -0.290879905224 -v -0.681891918182 1.317631244659 -0.293967366219 -v -0.664569854736 1.266501188278 -0.272399932146 -v -0.634156942368 1.178615331650 -0.236648023129 -v -0.601839542389 1.090810775757 -0.202318966389 -v -0.566227912903 0.994425058365 -0.168143510818 -v -0.525188207626 0.888482391834 -0.133112192154 -v -0.678204059601 1.312798857689 -0.308455199003 -v -0.660619258881 1.261751770973 -0.287267655134 -v -0.630073070526 1.173742771149 -0.252752542496 -v -0.597980260849 1.085862278938 -0.219300508499 -v -0.562275886536 0.989962458611 -0.186343669891 -v -0.521363496780 0.884423673153 -0.152287662029 -v -0.663713693619 1.315396070480 -0.314257442951 -v -0.645992040634 1.264471530914 -0.293223381042 -v -0.614400863647 1.176954030991 -0.259143769741 -v -0.581530570984 1.089387059212 -0.226521193981 -v -0.544843912125 0.994354009628 -0.193900704384 -v -0.503242254257 0.889585494995 -0.160271108150 -v -0.653139591217 1.322819709778 -0.305283248425 -v -0.635165929794 1.272057771683 -0.284064382315 -v -0.603127479553 1.184988617897 -0.249243974686 -v -0.569592237473 1.097936868668 -0.215854406357 -v -0.531643867493 1.003189921379 -0.182969391346 -v -0.488971471786 0.898870944977 -0.149086236954 -v -0.484921455383 0.834170520306 -0.089892804623 -v -0.460219383240 0.840958893299 -0.100384473801 -v -0.511497497559 0.901323735714 -0.132468283176 -v -0.501404762268 0.904189109802 -0.136912345886 -v -0.472644090652 0.759641647339 -0.086778938770 -v -0.504419326782 0.821840167046 -0.105421543121 -v -0.519470214844 0.896225512028 -0.138695955276 -v -0.467942714691 0.754820764065 -0.108005642891 -v -0.499197244644 0.815808892250 -0.131774783134 -v -0.517336845398 0.893964409828 -0.149376213551 -v -0.448551177979 0.760925114155 -0.116835474968 -v -0.474140167236 0.822419762611 -0.142395973206 -v -0.507234096527 0.896824002266 -0.153811216354 -v -0.433065176010 0.771692276001 -0.104480087757 -v -0.455140352249 0.835817098618 -0.126966357231 -v -0.499275684357 0.901945590973 -0.147596955299 -v -0.459559202194 0.773626148701 -0.068398654461 -v -0.433999776840 0.781386613846 -0.079760193825 -v -0.427901983261 0.774820268154 -0.107565879822 -v -0.447791576385 0.760745763779 -0.123485684395 -v -0.472889900208 0.752940356731 -0.112041771412 -v -0.479088068008 0.758860111237 -0.084373116493 -v -0.491303682327 0.910904347897 -0.129152178764 -v -0.514250516891 0.904531538486 -0.118242800236 -v -0.533769607544 0.893227875233 -0.132516324520 -v -0.528328418732 0.887990593910 -0.157591700554 -v -0.504444837570 0.894635677338 -0.168278694153 -v -0.485826730728 0.906584739685 -0.153679370880 -v -0.461875915527 0.779266953468 -0.070306479931 -v -0.436331748962 0.787207782269 -0.081280946732 -v -0.430136680603 0.780604958534 -0.109252929688 -v -0.449860572815 0.765928268433 -0.125815510750 -v -0.475796222687 0.757836759090 -0.114095747471 -v -0.482009410858 0.764635562897 -0.085911035538 -v -0.487102031708 0.905195295811 -0.125341534615 -v -0.511810302734 0.898107171059 -0.114347636700 -v -0.531330347061 0.885510385036 -0.129618883133 -v -0.526210784912 0.880015254021 -0.155877709389 -v -0.501423597336 0.887129247189 -0.166869044304 -v -0.482195377350 0.899640679359 -0.151460170746 -v -0.462564945221 0.780975162983 -0.071647465229 -v -0.437812328339 0.788343131542 -0.082418143749 -v -0.431942939758 0.781991302967 -0.109270632267 -v -0.450904846191 0.768045961857 -0.124982774258 -v -0.475512504578 0.760414898396 -0.113783419132 -v -0.481489181519 0.767017781734 -0.087105572224 -v -0.487062454224 0.902436256409 -0.125205695629 -v -0.510672807693 0.895664632320 -0.114782571793 -v -0.529201984406 0.883543848991 -0.129371404648 -v -0.524323225021 0.878087401390 -0.154505074024 -v -0.500638008118 0.884852886200 -0.164988815784 -v -0.482070446014 0.897029280663 -0.150350451469 -v -0.424216270447 0.726895034313 -0.088332355022 -v -0.433250427246 0.720961630344 -0.097859382629 -v -0.445126295090 0.718145370483 -0.091281771660 -v -0.435346364975 0.722274005413 -0.082853138447 -v -0.449822902679 0.721979498863 -0.078244268894 -v -0.438974618912 0.728516280651 -0.071362376213 -v -0.426059484482 0.732701241970 -0.075176239014 -v -0.425045013428 0.742575645447 -0.074277520180 -v -0.443370342255 0.737635374069 -0.066380739212 -v -0.452912092209 0.722330808640 -0.097539663315 -v -0.434735298157 0.726553499699 -0.105409443378 -v -0.457568168640 0.770726919174 -0.074224233627 -v -0.438102483749 0.776775538921 -0.083273649216 -v -0.457084417343 0.727426528931 -0.078251421452 -v -0.421734809875 0.737034559250 -0.093638539314 -v -0.440868854523 0.726467907429 -0.079293847084 -v -0.441762924194 0.723804175854 -0.084031581879 -v -0.437235593796 0.723723113537 -0.086625933647 -v -0.433544158936 0.726360797882 -0.083503544331 -v -0.435790300369 0.728097319603 -0.078992664814 -v -0.435076475143 0.716530799866 -0.078679621220 -v -0.436748027802 0.715161144733 -0.083459377289 -v -0.433470964432 0.717130362988 -0.086149096489 -v -0.429803609848 0.719704866409 -0.082996487617 -v -0.430795431137 0.719356417656 -0.078405201435 -v -0.426370620728 0.708177804947 -0.082949578762 -v -0.429102659225 0.708031177521 -0.087148606777 -v -0.427751302719 0.711654126644 -0.088896811008 -v -0.424102544785 0.714181125164 -0.085791230202 -v -0.423462867737 0.712011873722 -0.082427322865 -v -0.417178869247 0.705715954304 -0.092401742935 -v -0.421164512634 0.705772161484 -0.095329344273 -v -0.421780347824 0.710141003132 -0.095210850239 -v -0.418033361435 0.712694764137 -0.092156529427 -v -0.415308475494 0.709888398647 -0.090527355671 -v -0.411131381989 0.710895836353 -0.103977918625 -v -0.416023015976 0.710323870182 -0.105279445648 -v -0.418101072311 0.713830649853 -0.102593660355 -v -0.414386272430 0.716481685638 -0.099799752235 -v -0.409998416901 0.714512467384 -0.100628316402 -v -0.412442445755 0.723457217216 -0.112111985683 -v -0.417440891266 0.721303761005 -0.112163603306 -v -0.419823646545 0.722338557243 -0.107104063034 -v -0.416396379471 0.725583493710 -0.104684352875 -v -0.411242246628 0.725655853748 -0.107722580433 -v -0.419799089432 0.736344456673 -0.113022804260 -v -0.424517631531 0.732703447342 -0.112453818321 -v -0.425635576248 0.730973005295 -0.106811225414 -v -0.422138690948 0.734303593636 -0.103965282440 -v -0.418025732040 0.737095832825 -0.108072340488 -v -0.427905082703 0.742825925350 -0.108273148537 -v -0.431505441666 0.737993359566 -0.108103752136 -v -0.431043863297 0.735172092915 -0.103496670723 -v -0.427010297775 0.737998902798 -0.100774705410 -v -0.425103187561 0.742438733578 -0.103610634804 -v -0.434395790100 0.745493888855 -0.102516651154 -v -0.437351465225 0.740055739880 -0.103321194649 -v -0.434785366058 0.735876679420 -0.100580215454 -v -0.429973125458 0.739280521870 -0.096914887428 -v -0.430575609207 0.744815766811 -0.098116934299 -v -0.638014793396 1.230491757393 -0.244978487492 -v -0.622946262360 1.233280658722 -0.251465588808 -v -0.649592638016 1.222546815872 -0.254358708858 -v -0.645442724228 1.217762947083 -0.269892901182 -v -0.630394697189 1.220943450928 -0.275375068188 -v -0.619070529938 1.228546142578 -0.266649246216 -v -0.606110572815 1.143009781837 -0.209524273872 -v -0.590292215347 1.146337389946 -0.216171145439 -v -0.617876529694 1.134744167328 -0.219516158104 -v -0.614089488983 1.129821658134 -0.235923349857 -v -0.598005294800 1.133176445961 -0.242772758007 -v -0.586416721344 1.141480803490 -0.232462942600 -v -0.572516918182 1.054052591324 -0.175565481186 -v -0.555697917938 1.058142900467 -0.182277798653 -v -0.585446357727 1.045498132706 -0.185521006584 -v -0.581245422363 1.040752649307 -0.203099846840 -v -0.564207553864 1.044691920280 -0.210411846638 -v -0.551835060120 1.053359389305 -0.199682593346 -v -0.530359745026 0.946404516697 -0.139006793499 -v -0.512903213501 0.951150536537 -0.146695137024 -v -0.544089317322 0.937598705292 -0.149761617184 -v -0.540381193161 0.933445930481 -0.168263316154 -v -0.522706985474 0.938259720802 -0.175991654396 -v -0.508960247040 0.947188973427 -0.165071189404 -v -0.473415136337 0.870537042618 -0.112968623638 -v -0.496746063232 0.863225281239 -0.101937651634 -v -0.516067743301 0.851110696793 -0.117046415806 -v -0.510797500610 0.845018565655 -0.142522931099 -v -0.486820697784 0.852223873138 -0.153340578079 -v -0.467840671539 0.864946663380 -0.138649642467 -v -0.447163105011 0.810840010643 -0.089115977287 -v -0.472838640213 0.805846035480 -0.079120457172 -v -0.492668628693 0.793564498425 -0.095415353775 -v -0.486189365387 0.784938633442 -0.121517777443 -v -0.460333108902 0.791131556034 -0.131569087505 -v -0.440885305405 0.803529441357 -0.115472018719 -v -0.450312852859 0.753731548786 -0.070098817348 -v -0.431421279907 0.759420990944 -0.078914582729 -v -0.465086460114 0.742805838585 -0.082118272781 -v -0.460514783859 0.737773180008 -0.103004276752 -v -0.441336154938 0.743454098701 -0.111343443394 -v -0.426443099976 0.754368603230 -0.099310636520 -v -0.731904268265 1.409023046494 -0.283832073212 -v -0.731420993805 1.409527540207 -0.277567297220 -v -0.769669771194 1.473773002625 -0.284856706858 -v -0.769919872284 1.473968267441 -0.288533568382 -v -0.807954311371 1.532006978989 -0.292883962393 -v -0.809309005737 1.532471895218 -0.288937449455 -v -0.723148822784 1.397814750671 -0.277460843325 -v -0.725734949112 1.400135159492 -0.284406632185 -v -0.701467037201 1.393261909485 -0.299498915672 -v -0.702801704407 1.394067406654 -0.304610729218 -v -0.697797775269 1.322681307793 -0.245903372765 -v -0.678847789764 1.325425028801 -0.269638597965 -v -0.699045181274 1.318197965622 -0.247449636459 -v -0.679080247879 1.320086479187 -0.270336747169 -v -0.698448657990 1.258418440819 -0.191542923450 -v -0.699070453644 1.255869746208 -0.195368707180 -v -0.698896884918 1.187084913254 -0.134619593620 -v -0.700427770615 1.184316277504 -0.138689637184 -v -0.701871871948 1.162669658661 -0.121972262859 -v -0.711782455444 1.180882930756 -0.144968867302 -v -0.710798740387 1.249737977982 -0.202855288982 -v -0.711197614670 1.311830759048 -0.256590962410 -v -0.690308570862 1.311554193497 -0.279663801193 -v -0.713588476181 1.315556406975 -0.259247243404 -v -0.693629026413 1.312055587769 -0.281306147575 -v -0.714844465256 1.249986529350 -0.202514290810 -v -0.714670181274 1.182743430138 -0.144470751286 -v -0.703557968140 1.160912275314 -0.124656915665 -v -0.734780550003 1.184387803078 -0.107548713684 -v -0.803620576859 1.413166880608 -0.193729162216 -v -0.844019651413 1.455053806305 -0.184393405914 -v -0.807727098465 1.321138620377 -0.116503834724 -v -0.837025165558 1.372961163521 -0.126379728317 -v -0.771314382553 1.244080543518 -0.100617885590 -v -0.793653011322 1.271091222763 -0.097309827805 -v -0.731769084930 1.187012553215 -0.105778515339 -v -0.778274536133 1.234176158905 -0.089952230453 -v -0.774795055389 1.242721438408 -0.096917808056 -v -0.802556514740 1.267426371574 -0.087716221809 -v -0.781018733978 1.239013910294 -0.089828252792 -v -0.831202745438 1.315947771072 -0.093698978424 -v -0.857189416885 1.373258233070 -0.109514474869 -v -0.872247457504 1.439273834229 -0.146919488907 -v -0.862528800964 1.441547393799 -0.156704366207 -v -0.872767448425 1.465386867523 -0.168636918068 -v -0.871892452240 1.446012973785 -0.152757167816 -v -0.870913505554 1.465698003769 -0.171075582504 -v -0.872616052628 1.496040582657 -0.196074187756 -v -0.873492717743 1.469481587410 -0.172275424004 -v -0.844311237335 1.563365578651 -0.288278520107 -v -0.867714643478 1.493918657303 -0.196815609932 -v -0.870485305786 1.498056888580 -0.198610186577 -v -0.873506069183 1.498218655586 -0.200232744217 -v -0.873781919479 1.495349645615 -0.197271823883 -v -0.868160724640 1.436191439629 -0.160237908363 -v -0.874623298645 1.443897843361 -0.155241250992 -v -0.875429630280 1.468093872070 -0.173968076706 -v -0.875430583954 1.464208483696 -0.170832037926 -v -0.861469507217 1.539059877396 -0.244808673859 -v -0.864252090454 1.538134932518 -0.246580541134 -v -0.846224308014 1.561979532242 -0.289737492800 -v -0.836484193802 1.567539691925 -0.300393223763 -v -0.837390184402 1.566413164139 -0.303441166878 -v -0.780709743500 1.232831001282 -0.092110395432 -v -0.770603179932 1.241312861443 -0.120023488998 -v -0.805193901062 1.265119791031 -0.089168965816 -v -0.783527612686 1.236857414246 -0.091316342354 -v -0.834095478058 1.314088821411 -0.095762848854 -v -0.860008001328 1.371434450150 -0.112266540527 -v -0.874962329865 1.439385414124 -0.149586439133 -v -0.845883846283 1.368828058243 -0.133463740349 -v -0.873351573944 1.462928771973 -0.173678338528 -v -0.871895790100 1.493336915970 -0.199328541756 -v -0.840737104416 1.510570049286 -0.263315886259 -v -0.833376646042 1.531134724617 -0.288762927055 -v -0.817931175232 1.526331186295 -0.300622344017 -v -0.746751785278 1.402173876762 -0.290421187878 -v -0.796869993210 1.488108158112 -0.299173355103 -v -0.803301095963 1.423126697540 -0.242137193680 -v -0.853743076324 1.448746681213 -0.194176614285 -v -0.821331739426 1.314145565033 -0.119208931923 -v -0.793041229248 1.273641824722 -0.120415627956 -v -0.779705524445 1.238341212273 -0.096930265427 -v -0.758402109146 1.325504183769 -0.214042127132 -v -0.734133243561 1.393293976784 -0.292042940855 -v -0.736127614975 1.383604526520 -0.289822369814 -v -0.747549772263 1.393516778946 -0.284139096737 -v -0.713304281235 1.387033820152 -0.312869518995 -v -0.716605424881 1.378824830055 -0.315402686596 -v -0.667083024979 1.332947969437 -0.272325456142 -v -0.686036825180 1.396254181862 -0.300350457430 -v -0.652807712555 1.335969448090 -0.279133826494 -v -0.671698808670 1.397094845772 -0.306801915169 -v -0.641156673431 1.331952333450 -0.292787551880 -v -0.662131309509 1.392925381660 -0.323805451393 -v -0.665781974792 1.324501156807 -0.274403363466 -v -0.653313159943 1.326481461525 -0.280657827854 -v -0.643545627594 1.325591325760 -0.292931616306 -v -0.687883615494 1.396928071976 -0.306693255901 -v -0.677305936813 1.397392749786 -0.311640799046 -v -0.668898105621 1.393209457397 -0.326097100973 -v -0.639791965485 1.324838161469 -0.306407392025 -v -0.661513090134 1.386579990387 -0.338125854731 -v -0.642078876495 1.321270823479 -0.304058849812 -v -0.667977333069 1.387650251389 -0.338719785213 -v -0.640511274338 1.320248246193 -0.313241720200 -v -0.661991596222 1.385642766953 -0.342326313257 -v -0.643562793732 1.316686630249 -0.313483148813 -v -0.666442394257 1.385178923607 -0.344291776419 -v -0.716503143311 1.372074604034 -0.326735794544 -v -0.694771766663 1.309220075607 -0.296694934368 -v -0.710252761841 1.365118026733 -0.340708762407 -v -0.689024686813 1.304324030876 -0.313677370548 -v -0.695271492004 1.365952491760 -0.350932478905 -v -0.673334360123 1.305315852165 -0.323754280806 -v -0.676507711411 1.373834609985 -0.354276686907 -v -0.657118558884 1.312539339066 -0.327110052109 -v -0.713317871094 1.378292798996 -0.329542458057 -v -0.708588600159 1.374512910843 -0.340065002441 -v -0.695788145065 1.374732732773 -0.347389072180 -v -0.678169250488 1.378413438797 -0.351348221302 -v -0.690240859985 1.306376218796 -0.295807123184 -v -0.685710668564 1.302699327469 -0.310207158327 -v -0.671741962433 1.304181456566 -0.319831520319 -v -0.655930995941 1.309202790260 -0.323127806187 -v -0.634047985077 1.305329561234 -0.344313293695 -v -0.623847723007 1.313705205917 -0.334188282490 -v -0.622318029404 1.319812774658 -0.335038781166 -v -0.636306285858 1.308283686638 -0.347529143095 -v -0.657687187195 1.368595123291 -0.372926771641 -v -0.657169342041 1.375516891479 -0.371039777994 -v -0.642990112305 1.381778359413 -0.362855851650 -v -0.649636030197 1.380834460258 -0.366766542196 -v -0.621777534485 1.454902648926 -0.452792227268 -v -0.627440929413 1.456566333771 -0.455327212811 -v -0.631230592728 1.454094767570 -0.456920742989 -v -0.635877132416 1.447454333305 -0.459561079741 -v -0.624344110489 1.466953277588 -0.470377117395 -v -0.627939224243 1.463238477707 -0.473223686218 -v -0.611341238022 1.455082416534 -0.477429419756 -v -0.615406513214 1.452845573425 -0.479317456484 -v -0.596461057663 1.429937839508 -0.461888015270 -v -0.585901737213 1.430440187454 -0.486534267664 -v -0.568025112152 1.390513300896 -0.463041514158 -v -0.556784152985 1.394706368446 -0.490542352200 -v -0.620961666107 1.366299271584 -0.374592006207 -v -0.602149963379 1.328221082687 -0.365407556295 -v -0.554142475128 1.359774947166 -0.457094848156 -v -0.544462203979 1.367879867554 -0.489594697952 -v -0.554653167725 1.386860847473 -0.492153495550 -v -0.540938138962 1.330043315887 -0.446610987186 -v -0.526558876038 1.326992034912 -0.474644184113 -v -0.532519340515 1.298381805420 -0.428922235966 -v -0.517386436462 1.295669794083 -0.456924021244 -v -0.517901897430 1.258272409439 -0.422607213259 -v -0.512837409973 1.254708290100 -0.429519742727 -v -0.540863037109 1.262001872063 -0.384749233723 -v -0.516560077667 1.256026744843 -0.420525699854 -v -0.516956090927 1.229684472084 -0.400133073330 -v -0.512316942215 1.247911930084 -0.421232968569 -v -0.543984174728 1.231948614120 -0.360431998968 -v -0.536952972412 1.211765289307 -0.364224553108 -v -0.613957405090 1.310405731201 -0.337616801262 -v -0.617177486420 1.305488467216 -0.336197882891 -v -0.547671794891 1.226849794388 -0.359812885523 -v -0.623764514923 1.295241832733 -0.345131874084 -v -0.550174236298 1.224074363708 -0.363058030605 -v -0.611073017120 1.422493457794 -0.469076097012 -v -0.633231639862 1.343430519104 -0.382424205542 -v -0.617163181305 1.313082218170 -0.376247048378 -v -0.627777338028 1.298094511032 -0.349091798067 -v -0.587876319885 1.425273895264 -0.487512648106 -v -0.559880733490 1.391711711884 -0.492971718311 -v -0.546575784683 1.364702701569 -0.491101324558 -v -0.556817054749 1.384633302689 -0.494335830212 -v -0.581263065338 1.378509998322 -0.469431370497 -v -0.528251409531 1.325081706047 -0.475629925728 -v -0.562163352966 1.334616303444 -0.456040829420 -v -0.519301652908 1.293952107430 -0.458499312401 -v -0.546352624893 1.291024565697 -0.436513841152 -v -0.514696121216 1.253158092499 -0.430215626955 -v -0.520211696625 1.255135059357 -0.424808651209 -v -0.520582675934 1.251160979271 -0.424345523119 -v -0.549528598785 1.249001860619 -0.397651523352 -v -0.514673948288 1.245489358902 -0.423131406307 -v -0.518534421921 1.226596713066 -0.399023622274 -v -0.549133777618 1.221839308739 -0.366844773293 -v -0.538474559784 1.209404468536 -0.364824950695 -v -0.528185606003 1.214612126350 -0.376569181681 -v -0.529793500900 1.213744163513 -0.379284560680 -v -0.549133777618 1.221839308739 -0.366844773293 -v -0.752520561218 1.404311418533 -0.285495400429 -v -0.799973726273 1.489697456360 -0.296636253595 -v 0.070177555084 1.274966716766 0.089686870575 -v 0.067983150482 1.274402737617 0.090926527977 -v 0.066224336624 1.272931575775 0.092114746571 -v 0.065168857574 1.270776987076 0.093070566654 -v 0.064977169037 1.268267154694 0.093648433685 -v 0.065678596497 1.265784263611 0.093760550022 -v 0.067166328430 1.263706088066 0.093389570713 -v 0.069213867188 1.262349128723 0.092592179775 -v 0.071509599686 1.261919736862 0.091489672661 -v 0.073703765869 1.262483835220 0.090249955654 -v 0.075462818146 1.263954997063 0.089061796665 -v 0.076518297195 1.266109466553 0.088105916977 -v 0.076709985733 1.268619298935 0.087528049946 -v 0.076008558273 1.271102190018 0.087416052818 -v 0.074520826340 1.273180484772 0.087786972523 -v 0.072473287582 1.274537563324 0.088584363461 -v 0.068333148956 1.278423786163 0.086334288120 -v 0.064796447754 1.277514934540 0.088332414627 -v 0.061961412430 1.275143623352 0.090247511864 -v 0.060260057449 1.271671056747 0.091788053513 -v 0.059951066971 1.267625689507 0.092719554901 -v 0.061081647873 1.263623714447 0.092900037766 -v 0.063479423523 1.260274052620 0.092302203178 -v 0.066779851913 1.258086919785 0.091017007828 -v 0.070479869843 1.257395267487 0.089240074158 -v 0.074016571045 1.258304119110 0.087241888046 -v 0.076851606369 1.260675430298 0.085326790810 -v 0.078552961349 1.264147996902 0.083786249161 -v 0.078861951828 1.268193244934 0.082854807377 -v 0.077731370926 1.272195339203 0.082674264908 -v 0.075333595276 1.275544881821 0.083272099495 -v 0.072033166885 1.277732014656 0.084557354450 -v 0.065737485886 1.280808687210 0.081495702267 -v 0.061116695404 1.279621124268 0.084106385708 -v 0.057412624359 1.276522874832 0.086608529091 -v 0.055189609528 1.271985650063 0.088621377945 -v 0.054785966873 1.266700267792 0.089838445187 -v 0.056262969971 1.261471390724 0.090074300766 -v 0.059396028519 1.257094979286 0.089293181896 -v 0.063708066940 1.254237174988 0.087613999844 -v 0.068542480469 1.253333449364 0.085292279720 -v 0.073163509369 1.254521012306 0.082681596279 -v 0.076867341995 1.257619142532 0.080179393291 -v 0.079090595245 1.262156486511 0.078166604042 -v 0.079494237900 1.267441749573 0.076949536800 -v 0.078016996384 1.272670745850 0.076713681221 -v 0.074883937836 1.277047157288 0.077494800091 -v 0.070571899414 1.279904842377 0.079174041748 -v 0.062948465347 1.280951499939 0.076157152653 -v 0.057946681976 1.279666066170 0.078983008862 -v 0.053937673569 1.276312589645 0.081691384315 -v 0.051531553268 1.271401524544 0.083870053291 -v 0.051094532013 1.265680670738 0.085187315941 -v 0.052693367004 1.260020971298 0.085442662239 -v 0.056084394455 1.255283951759 0.084597170353 -v 0.060751676559 1.252190828323 0.082779586315 -v 0.065984487534 1.251212596893 0.080266594887 -v 0.070986270905 1.252498149872 0.077440857887 -v 0.074995517731 1.255851507187 0.074732422829 -v 0.077401638031 1.260762453079 0.072553753853 -v 0.077838659286 1.266483306885 0.071236491203 -v 0.076239824295 1.272143006325 0.070981144905 -v 0.072848558426 1.276880025864 0.071826636791 -v 0.068181276321 1.279973268509 0.073644220829 -v 0.060390472412 1.278830766678 0.071131527424 -v 0.055769443512 1.277642965317 0.073742210865 -v 0.052065610886 1.274544715881 0.076244413853 -v 0.049842596054 1.270007610321 0.078257262707 -v 0.049438953400 1.264722228050 0.079474270344 -v 0.050915956497 1.259493350983 0.079710185528 -v 0.054049015045 1.255116820335 0.078929066658 -v 0.058361053467 1.252259254456 0.077249825001 -v 0.063195466995 1.251355409622 0.074928104877 -v 0.067816495895 1.252542972565 0.072317481041 -v 0.071520328522 1.255641222000 0.069815278053 -v 0.073743581772 1.260178327560 0.067802429199 -v 0.074147224426 1.265463709831 0.066585421562 -v 0.072669982910 1.270692825317 0.066349506378 -v 0.069536924362 1.275068998337 0.067130684853 -v 0.065225124359 1.277926802635 0.068809866905 -v 0.067524909973 1.268451929092 0.093102991581 -v 0.069175004959 1.268501400948 0.092242240906 -v 0.071127653122 1.268560051918 0.091223716736 -v 0.073080301285 1.268618583679 0.090205192566 -v 0.074730157852 1.268668174744 0.089344441891 -v 0.070652723312 1.273131608963 0.090560674667 -v 0.068799734116 1.272726535797 0.091593861580 -v 0.067301273346 1.271686553955 0.092565476894 -v 0.066444635391 1.270407199860 0.093231320381 -v 0.066426753998 1.268414258957 0.093641161919 -v 0.066850900650 1.266429066658 0.093780994415 -v 0.067962169647 1.265214204788 0.093459844589 -v 0.069663047791 1.264270186424 0.092762410641 -v 0.071587085724 1.263978362083 0.091825425625 -v 0.073440074921 1.264383435249 0.090792238712 -v 0.074938535690 1.265423536301 0.089820683002 -v 0.075786352158 1.266697168350 0.089119791985 -v 0.075813055038 1.268695831299 0.088744938374 -v 0.075380325317 1.270675182343 0.088570117950 -v 0.074277639389 1.271895647049 0.088926315308 -v 0.072576761246 1.272839784622 0.089623689651 -v 0.004819393158 1.270663738251 0.106835365295 -v 0.004348754883 1.274211406708 0.103122293949 -v 0.008491754532 1.273808002472 0.103105425835 -v 0.007389783859 1.270413398743 0.106824874878 -v 0.012167453766 1.271865367889 0.103312313557 -v 0.009670257568 1.269208192825 0.106953203678 -v 0.014816045761 1.268679141998 0.103711485863 -v 0.011313676834 1.267231464386 0.107200860977 -v 0.016034841537 1.264734506607 0.104242146015 -v 0.012069702148 1.264783978462 0.107530117035 -v 0.015637636185 1.260631918907 0.104823470116 -v 0.011823415756 1.262238621712 0.107890844345 -v 0.013685464859 1.256995797157 0.105367064476 -v 0.010612010956 1.259982705116 0.108228087425 -v 0.010475158691 1.254379987717 0.105790019035 -v 0.008620262146 1.258359789848 0.108490467072 -v 0.006495475769 1.253182649612 0.106028079987 -v 0.006151199341 1.257616877556 0.108638167381 -v 0.002352476120 1.253586053848 0.106044888496 -v 0.003580808640 1.257867097855 0.108648657799 -v -0.001322984695 1.255528688431 0.105838000774 -v 0.001300334930 1.259072422981 0.108520269394 -v -0.003971815109 1.258714914322 0.105438828468 -v -0.000343084335 1.261049270630 0.108272612095 -v -0.005190372467 1.262659549713 0.104908168316 -v -0.001099109650 1.263496637344 0.107943356037 -v -0.004793405533 1.266762256622 0.104326844215 -v -0.000852823257 1.266042113304 0.107582688332 -v -0.002841234207 1.270398139954 0.103783249855 -v 0.000358581543 1.268298029900 0.107245445251 -v 0.000369071960 1.273014068604 0.103360295296 -v 0.002350330353 1.269920825958 0.106983006001 -v 0.003931760788 1.276739597321 0.097712039948 -v 0.009344816208 1.276212692261 0.097690045834 -v 0.014147281647 1.273674488068 0.097960352898 -v 0.017608165741 1.269511461258 0.098481893539 -v 0.019200325012 1.264357566833 0.099175214767 -v 0.018681526184 1.258997201920 0.099934816360 -v 0.016130685806 1.254246473312 0.100645005703 -v 0.011936426163 1.250828742981 0.101197659969 -v 0.006736755371 1.249264478683 0.101508677006 -v 0.001323699951 1.249791383743 0.101530730724 -v -0.003478765488 1.252329587936 0.101260423660 -v -0.006939411163 1.256492614746 0.100738883018 -v -0.008531808853 1.261646509171 0.100045561790 -v -0.008013010025 1.267006874084 0.099285960197 -v -0.005462169647 1.271757602692 0.098575711250 -v -0.001267671585 1.275175333023 0.098023056984 -v 0.003712654114 1.277051687241 0.091699361801 -v 0.009571552277 1.276481389999 0.091675460339 -v 0.014769792557 1.273733854294 0.091968059540 -v 0.018515825272 1.269227981567 0.092532575130 -v 0.020239114761 1.263649225235 0.093283057213 -v 0.019677639008 1.257847428322 0.094105184078 -v 0.016916751862 1.252705335617 0.094873905182 -v 0.012376546860 1.249006032944 0.095472097397 -v 0.006748676300 1.247312784195 0.095808684826 -v 0.000889539719 1.247883200645 0.095832526684 -v -0.004308462143 1.250630378723 0.095539927483 -v -0.008054494858 1.255136489868 0.094975411892 -v -0.009777784348 1.260715007782 0.094224989414 -v -0.009216308594 1.266516923904 0.093402862549 -v -0.006455421448 1.271659016609 0.092634141445 -v -0.001915454865 1.275358438492 0.092035949230 -v 0.003724575043 1.275099992752 0.085999369621 -v 0.009137630463 1.274572968483 0.085977315903 -v 0.013940095901 1.272034764290 0.086247682571 -v 0.017400741577 1.267871737480 0.086769223213 -v 0.018993139267 1.262717843056 0.087462544441 -v 0.018474340439 1.257357597351 0.088222086430 -v 0.015923500061 1.252606868744 0.088932335377 -v 0.011729001999 1.249189138412 0.089484930038 -v 0.006529569626 1.247624635696 0.089795947075 -v 0.001116514206 1.248151659966 0.089817941189 -v -0.003685951233 1.250689744949 0.089547634125 -v -0.007146835327 1.254852890968 0.089026153088 -v -0.008738994598 1.260006904602 0.088332772255 -v -0.008220195770 1.265367150307 0.087573230267 -v -0.005669355392 1.270117759705 0.086863040924 -v -0.001475095749 1.273535490036 0.086310386658 -v 0.000261068344 1.263721823692 0.108568012714 -v 0.000306606293 1.265732765198 0.108267664909 -v 0.001283168793 1.267090082169 0.108078360558 -v 0.001492738724 1.263846516609 0.108560204506 -v 0.005061388016 1.268813371658 0.107770264149 -v 0.007216453552 1.268672227859 0.107751905918 -v 0.007727861404 1.264456152916 0.108364582062 -v 0.005536317825 1.264241814613 0.108433365822 -v 0.002977371216 1.268257856369 0.107884883881 -v 0.003344774246 1.264027595520 0.108502089977 -v 0.009113311768 1.267855644226 0.107832670212 -v 0.009579896927 1.264637112617 0.108306467533 -v 0.010335683823 1.266713142395 0.107952952385 -v 0.010796070099 1.264751791954 0.108237385750 -v 0.010741710663 1.262735128403 0.108502686024 -v 0.009773969650 1.261383295059 0.108727037907 -v 0.008079767227 1.260215759277 0.108920395374 -v 0.005995750427 1.259660124779 0.109035074711 -v 0.003840684891 1.259801387787 0.109053432941 -v 0.001943826675 1.260617733002 0.108972728252 -v 0.000712633133 1.261754751205 0.108817398548 -v -0.090843439102 0.711956977844 -0.100321829319 -v -0.097157239914 0.660702586174 -0.115609467030 -v -0.006523370743 0.676110148430 -0.150974154472 -v -0.006254673004 0.734257340431 -0.141055881977 -v -0.106460332870 0.595456779003 -0.120525121689 -v -0.013854026794 0.609138488770 -0.144045293331 -v 0.159080028534 0.595945835114 -0.117241799831 -v 0.082373142242 0.601140439510 -0.140979409218 -v 0.217724084854 0.633673191071 -0.043690085411 -v 0.161948204041 0.658787310123 -0.116667926311 -v 0.161992549896 0.716392397881 -0.109141111374 -v 0.200988769531 0.700885295868 -0.057521402836 -v 0.082037210464 0.736163735390 -0.142028212547 -v 0.083940982819 0.671887874603 -0.145761489868 -v -0.052839994431 0.668570876122 -0.136453270912 -v -0.051985740662 0.724966228008 -0.126949429512 -v -0.060494899750 0.603041768074 -0.130789637566 -v 0.039752244949 0.676460027695 -0.152075648308 -v 0.039582014084 0.736532151699 -0.145459830761 -v 0.035222053528 0.606680989265 -0.146267235279 -v 0.123104095459 0.599229633808 -0.133650958538 -v 0.124687910080 0.666198194027 -0.136043965816 -v 0.123418569565 0.728347480297 -0.130160868168 -v 0.192488431931 0.646883368492 -0.081060171127 -v 0.192901372910 0.580796957016 -0.078956365585 -v 0.191608905792 0.708395838737 -0.080889344215 -v -0.110157966614 0.521872341633 -0.123427271843 -v -0.020442485809 0.542563259602 -0.144708812237 -v -0.109526634216 0.464789211750 -0.130063176155 -v -0.029718160629 0.474508851767 -0.155036568642 -v 0.068801403046 0.477472692728 -0.140547931194 -v 0.076097488403 0.537705183029 -0.135993599892 -v 0.162404775620 0.526327550411 -0.118127703667 -v 0.165109157562 0.450441986322 -0.139342069626 -v 0.228643178940 0.555671572685 -0.027355194092 -v 0.238083362579 0.474860131741 -0.044692456722 -v -0.066143035889 0.532799482346 -0.133282661438 -v -0.084163904190 0.454995065928 -0.141852140427 -v 0.016598701477 0.487684130669 -0.148972153664 -v 0.027564287186 0.544286847115 -0.143417119980 -v 0.122592210770 0.530475378036 -0.130063533783 -v 0.122491121292 0.461961984634 -0.139939665794 -v 0.199285984039 0.507649183273 -0.092158377171 -v 0.206475257874 0.438298881054 -0.125071763992 -v 0.236012935638 0.432352960110 -0.098448753357 -v -0.090003728867 0.713547110558 -0.098060905933 -v -0.096627950668 0.660236895084 -0.111967146397 -v -0.006083011627 0.675602138042 -0.146969020367 -v -0.005826711655 0.733766078949 -0.137710273266 -v -0.104192733765 0.594722390175 -0.114763200283 -v -0.013294696808 0.609091877937 -0.139524400234 -v 0.157139778137 0.595473289490 -0.113379478455 -v 0.081852197647 0.601088523865 -0.137477576733 -v 0.215976238251 0.632654249668 -0.042290151119 -v 0.160015106201 0.658218741417 -0.113578557968 -v 0.160174369812 0.716303348541 -0.106486916542 -v 0.199095010757 0.698588788509 -0.055205583572 -v 0.081353425980 0.736018717289 -0.138786435127 -v 0.083306312561 0.671617090702 -0.142443776131 -v -0.051246881485 0.668073892593 -0.131973326206 -v -0.051016092300 0.724832594395 -0.123342573643 -v -0.058906555176 0.602810740471 -0.125979125500 -v 0.039349555969 0.676087617874 -0.148158311844 -v 0.039282560349 0.736191391945 -0.142057716846 -v 0.034797668457 0.606659471989 -0.142599940300 -v 0.122372865677 0.599070608616 -0.130384206772 -v 0.123716592789 0.665827274323 -0.132826924324 -v 0.122337818146 0.727991521358 -0.127091944218 -v 0.189619779587 0.645916223526 -0.078319907188 -v 0.190189838409 0.580016136169 -0.076071262360 -v 0.189076185226 0.708024799824 -0.078644990921 -v -0.109309196472 0.521241247654 -0.119572401047 -v -0.019951820374 0.542360663414 -0.139999091625 -v -0.107759237289 0.462610036135 -0.125670790672 -v -0.029715299606 0.473200440407 -0.152146577835 -v 0.068043947220 0.475595116615 -0.137133598328 -v 0.075683832169 0.537864387035 -0.132634162903 -v 0.160769462585 0.526261806488 -0.115079045296 -v 0.163467884064 0.450367748737 -0.135400056839 -v 0.221496105194 0.555388748646 -0.030082941055 -v 0.230763673782 0.473996579647 -0.045731902122 -v -0.064914464951 0.532697319984 -0.129568278790 -v -0.083212852478 0.454447656870 -0.137265324593 -v 0.015990495682 0.486549288034 -0.145901143551 -v 0.027146339417 0.544277787209 -0.140076875687 -v 0.121834754944 0.530655384064 -0.126233458519 -v 0.121745109558 0.460826694965 -0.136413335800 -v 0.196135759354 0.507262945175 -0.088767468929 -v 0.203240156174 0.436599731445 -0.122523009777 -v 0.234281539917 0.431487858295 -0.096786618233 -v -0.090369224548 0.714081227779 -0.101824402809 -v -0.097647190094 0.660447895527 -0.114232182503 -v -0.108165264130 0.595181941986 -0.117026686668 -v 0.217889308929 0.634391546249 -0.045080006123 -v 0.200847625732 0.698190927505 -0.056285917759 -v -0.110817670822 0.521583199501 -0.122230708599 -v -0.109757661819 0.463707029819 -0.127314388752 -v -0.029812097549 0.473399698734 -0.154148936272 -v 0.068494558334 0.476215690374 -0.139647960663 -v 0.164371013641 0.449653983116 -0.137532711029 -v 0.229068279266 0.556188762188 -0.032200336456 -v 0.238276958466 0.475655049086 -0.049598276615 -v -0.083764553070 0.453088641167 -0.140538215637 -v 0.016265869141 0.486640363932 -0.148057878017 -v 0.122293949127 0.461069822311 -0.137957692146 -v 0.204746484756 0.437017977238 -0.123723983765 -v 0.236302852631 0.434788256884 -0.099483311176 -# 5612 vertices - -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.999996423721 0.002676663222 -0.000000290167 -vn 0.999996423721 0.002676663222 -0.000000290167 -vn 0.923878908157 0.001448502531 -0.382682144642 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.923878908157 0.001448502531 -0.382682144642 -vn 0.923878908157 0.001448502531 -0.382682144642 -vn 0.707109510899 -0.000000117219 -0.707104086876 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.707109510899 -0.000000117219 -0.707104086876 -vn 0.707109510899 -0.000000117219 -0.707104086876 -vn 0.382688552141 -0.001448765281 -0.923876285553 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn 0.382688552141 -0.001448765281 -0.923876285553 -vn 0.382688552141 -0.001448765281 -0.923876285553 -vn 0.000007046216 -0.002676850883 -0.999996423721 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn 0.000007046216 -0.002676850883 -0.999996423721 -vn 0.000007046216 -0.002676850883 -0.999996423721 -vn -0.382675558329 -0.003497409867 -0.923876166344 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.382675558329 -0.003497409867 -0.923876166344 -vn -0.382675558329 -0.003497409867 -0.923876166344 -vn -0.707099020481 -0.003785590874 -0.707104384899 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.707099020481 -0.003785590874 -0.707104384899 -vn -0.707099020481 -0.003785590874 -0.707104384899 -vn -0.923873543739 -0.003497653874 -0.382681846619 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.923873543739 -0.003497653874 -0.382681846619 -vn -0.923873543739 -0.003497653874 -0.382681846619 -vn -0.999996423721 -0.002677109092 -0.000000101558 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.999996423721 -0.002677109092 -0.000000101558 -vn -0.999996423721 -0.002677109092 -0.000000101558 -vn -0.923879206181 -0.001448904164 0.382681488991 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.923879206181 -0.001448904164 0.382681488991 -vn -0.923879206181 -0.001448904164 0.382681488991 -vn -0.707109510899 -0.000000233324 0.707104027271 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.707109510899 -0.000000233324 0.707104027271 -vn -0.707109510899 -0.000000233324 0.707104027271 -vn -0.382688343525 0.001448100782 0.923876345158 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.000775693450 0.289909631014 0.957053720951 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.382688343525 0.001448100782 0.923876345158 -vn -0.382688343525 0.001448100782 0.923876345158 -vn -0.000006930147 0.002676741453 0.999996423721 -vn -0.000775693450 0.289909631014 0.957053720951 -vn 0.365767657757 0.290692329407 0.884144783020 -vn -0.000775693450 0.289909631014 0.957053720951 -vn -0.000006930147 0.002676741453 0.999996423721 -vn -0.000006930147 0.002676741453 0.999996423721 -vn 0.382675796747 0.003497589612 0.923876047134 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.382675796747 0.003497589612 0.923876047134 -vn 0.382675796747 0.003497589612 0.923876047134 -vn 0.707099556923 0.003785443027 0.707103908062 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.707099556923 0.003785443027 0.707103908062 -vn 0.707099556923 0.003785443027 0.707103908062 -vn 0.923873484135 0.003497370984 0.382681995630 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.923873484135 0.003497370984 0.382681995630 -vn 0.923873484135 0.003497370984 0.382681995630 -vn 0.999996423721 0.002676663222 -0.000000290167 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn -0.387655943632 0.908313095570 0.157131060958 -vn -0.387655943632 0.908313095570 0.157131060958 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn -0.297270774841 0.908917307854 0.292402744293 -vn -0.297270774841 0.908917307854 0.292402744293 -vn -0.387655943632 0.908313095570 0.157131060958 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.297270774841 0.908917307854 0.292402744293 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.161999627948 0.909521639347 0.382787853479 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn 0.157127469778 0.910376429558 0.382786720991 -vn 0.157127469778 0.910376429558 0.382786720991 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn 0.292393177748 0.910480380058 0.292458146811 -vn 0.292393177748 0.910480380058 0.292458146811 -vn 0.157127469778 0.910376429558 0.382786720991 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn 0.383436083794 0.909999251366 0.157727986574 -vn 0.383436083794 0.909999251366 0.157727986574 -vn 0.292393177748 0.910480380058 0.292458146811 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn 0.383436083794 0.909999251366 0.157727986574 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn -0.478781968355 0.856518745422 0.192726433277 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn -0.478781968355 0.856518745422 0.192726433277 -vn -0.362025827169 0.861238956451 0.356657683849 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn -0.478781968355 0.856518745422 0.192726433277 -vn -0.362025827169 0.861238956451 0.356657683849 -vn -0.196696266532 0.862110078335 0.466986924410 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn -0.362025827169 0.861238956451 0.356657683849 -vn -0.196696266532 0.862110078335 0.466986924410 -vn -0.002309706295 0.862733006477 0.505654513836 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn -0.196696266532 0.862110078335 0.466986924410 -vn -0.002309706295 0.862733006477 0.505654513836 -vn 0.192080840468 0.863147914410 0.466991037130 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn -0.002309706295 0.862733006477 0.505654513836 -vn 0.192080840468 0.863147914410 0.466991037130 -vn 0.356875717640 0.863294601440 0.356878399849 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn 0.192080840468 0.863147914410 0.466991037130 -vn 0.356875717640 0.863294601440 0.356878399849 -vn 0.466988563538 0.863148868084 0.192082583904 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn 0.356875717640 0.863294601440 0.356878399849 -vn 0.466988563538 0.863148868084 0.192082583904 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn 0.466988563538 0.863148868084 0.192082583904 -vn -0.923878908157 -0.001449008239 0.382682144642 -vn -0.999996423721 -0.002678310033 0.000000691564 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.923878908157 -0.001449008239 0.382682144642 -vn -0.707109570503 0.000000921165 0.707103967667 -vn -0.923878908157 -0.001449008239 0.382682144642 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.707109570503 0.000000921165 0.707103967667 -vn -0.382688790560 0.001448393799 0.923876166344 -vn -0.707109570503 0.000000921165 0.707103967667 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.382688790560 0.001448393799 0.923876166344 -vn -0.000007515317 0.002677260898 0.999996423721 -vn -0.382688790560 0.001448393799 0.923876166344 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.000007515317 0.002677260898 0.999996423721 -vn 0.382675856352 0.003497111378 0.923876047134 -vn -0.000007515317 0.002677260898 0.999996423721 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.000832362915 0.310922086239 0.950435042381 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.382675856352 0.003497111378 0.923876047134 -vn 0.707099318504 0.003786612069 0.707104086876 -vn 0.382675856352 0.003497111378 0.923876047134 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.707099318504 0.003786612069 0.707104086876 -vn 0.923873662949 0.003498079954 0.382681578398 -vn 0.707099318504 0.003786612069 0.707104086876 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.923873662949 0.003498079954 0.382681578398 -vn 0.999996423721 0.002677112818 0.000000715744 -vn 0.923873662949 0.003498079954 0.382681578398 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.999996423721 0.002677112818 0.000000715744 -vn 0.923879086971 0.001448885887 -0.382681787014 -vn 0.999996423721 0.002677112818 0.000000715744 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.923879086971 0.001448885887 -0.382681787014 -vn 0.707109153271 0.000000960799 -0.707104384899 -vn 0.923879086971 0.001448885887 -0.382681787014 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.707109153271 0.000000960799 -0.707104384899 -vn 0.382688552141 -0.001448108349 -0.923876285553 -vn 0.707109153271 0.000000960799 -0.707104384899 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.382688552141 -0.001448108349 -0.923876285553 -vn 0.000006867277 -0.002676919103 -0.999996423721 -vn 0.382688552141 -0.001448108349 -0.923876285553 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn 0.000006867277 -0.002676919103 -0.999996423721 -vn -0.382675290108 -0.003497047350 -0.923876285553 -vn 0.000006867277 -0.002676919103 -0.999996423721 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.382675290108 -0.003497047350 -0.923876285553 -vn -0.707099556923 -0.003786611836 -0.707103848457 -vn -0.382675290108 -0.003497047350 -0.923876285553 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.707099556923 -0.003786611836 -0.707103848457 -vn -0.923873543739 -0.003497794271 -0.382681936026 -vn -0.707099556923 -0.003786611836 -0.707103848457 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.923873543739 -0.003497794271 -0.382681936026 -vn -0.999996423721 -0.002678310033 0.000000691564 -vn -0.923873543739 -0.003497794271 -0.382681936026 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.999996423721 -0.002678310033 0.000000691564 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn -0.387655943632 0.908313095570 0.157131060958 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn -0.387655943632 0.908313095570 0.157131060958 -vn -0.297270774841 0.908917307854 0.292402744293 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.879678249359 0.306997478008 0.363206148148 -vn -0.387655943632 0.908313095570 0.157131060958 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn 0.466990172863 0.862108767033 -0.196694195271 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.884146511555 0.288732856512 -0.367312192917 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn -0.297270774841 0.908917307854 0.292402744293 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.673473477364 0.308375716209 0.671816885471 -vn -0.297270774841 0.908917307854 0.292402744293 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn 0.356879383326 0.861372649670 -0.361488968134 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.676519215107 0.287345170975 -0.678052008152 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.364863395691 0.309753358364 0.878024816513 -vn -0.161999627948 0.909521639347 0.382787853479 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn 0.192085474730 0.860636472702 -0.471601516008 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn 0.365780502558 0.285957038403 -0.885682344437 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.002435945906 0.910033643246 0.414527237415 -vn 0.157127469778 0.910376429558 0.382786720991 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.363199502230 0.311703413725 0.878024518490 -vn -0.000832362915 0.310922086239 0.950435042381 -vn -0.002435945906 0.910033643246 0.414527237415 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn -0.002301780041 0.860012233257 -0.510268211365 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn -0.000762594282 0.284779965878 -0.958592593670 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn 0.157127469778 0.910376429558 0.382786720991 -vn 0.292393177748 0.910480380058 0.292458146811 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.363199502230 0.311703413725 0.878024518490 -vn 0.157127469778 0.910376429558 0.382786720991 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn -0.196692228317 0.859594523907 -0.471603065729 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.367305964231 0.283993542194 -0.885682761669 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn 0.292393177748 0.910480380058 0.292458146811 -vn 0.383436083794 0.909999251366 0.157727986574 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.671762645245 0.312008947134 0.671852231026 -vn 0.292393177748 0.910480380058 0.292458146811 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn -0.361486196518 0.859449326992 -0.361489385366 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.678074896336 0.283721566200 -0.678023934364 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn 0.383436083794 0.909999251366 0.157727986574 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.878018319607 0.311181575060 0.363661736250 -vn 0.383436083794 0.909999251366 0.157727986574 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn -0.477124124765 0.856146216393 -0.198409363627 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.887559294701 0.277858316898 -0.367468625307 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.952386975288 0.304889559746 -0.001184566994 -vn 0.419054031372 0.907957196236 -0.002726748353 -vn -0.478781968355 0.856518745422 0.192726433277 -vn -0.537731587887 0.843116044998 -0.000231951766 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.966829180717 0.255422860384 0.000686888874 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.478781968355 0.856518745422 0.192726433277 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.878229558468 0.308965355158 -0.365038722754 -vn 0.383312255144 0.909254193306 -0.162260696292 -vn -0.362025827169 0.861238956451 0.356657683849 -vn -0.478781968355 0.856518745422 0.192726433277 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.887661576271 0.281107932329 0.364739954472 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.362025827169 0.861238956451 0.356657683849 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.671819388866 0.308373540640 -0.673471987247 -vn 0.292405992746 0.908916473389 -0.297270208597 -vn -0.196696266532 0.862110078335 0.466986924410 -vn -0.362025827169 0.861238956451 0.356657683849 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.678293824196 0.287600427866 0.676168203354 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.196696266532 0.862110078335 0.466986924410 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn 0.363212913275 0.306997478008 -0.879675447941 -vn 0.157133415341 0.908313214779 -0.387654781342 -vn -0.002309706295 0.862733006477 0.505654513836 -vn -0.196696266532 0.862110078335 0.466986924410 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.367318838835 0.288734763861 0.884143173695 -vn -0.000775693450 0.289909631014 0.957053720951 -vn -0.002309706295 0.862733006477 0.505654513836 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.000818260538 0.305829584599 -0.952085912228 -vn -0.002430373104 0.907801330090 -0.419393360615 -vn 0.192080840468 0.863147914410 0.466991037130 -vn -0.002309706295 0.862733006477 0.505654513836 -vn -0.000775693450 0.289909631014 0.957053720951 -vn -0.000775693450 0.289909631014 0.957053720951 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.192080840468 0.863147914410 0.466991037130 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.364851683378 0.305047988892 -0.879675507545 -vn -0.161994606256 0.907458484173 -0.387655526400 -vn 0.356875717640 0.863294601440 0.356878399849 -vn 0.192080840468 0.863147914410 0.466991037130 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.365767657757 0.290692329407 0.884144783020 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.356875717640 0.863294601440 0.356878399849 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.673463225365 0.304775089025 -0.673468232155 -vn -0.297265231609 0.907339751720 -0.297267436981 -vn 0.466988563538 0.863148868084 0.192082583904 -vn 0.356875717640 0.863294601440 0.356878399849 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.676509499550 0.290970236063 0.676514029503 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.466988563538 0.863148868084 0.192082583904 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn -0.419391274452 0.907802283764 -0.002433230868 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.952085435390 0.305831164122 -0.000825389929 -vn -0.879673719406 0.305046916008 -0.364856868982 -vn -0.387655198574 0.907458126545 -0.161997377872 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn 0.466988563538 0.863148868084 0.192082583904 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.884141802788 0.290693789721 0.365773707628 -vn 0.957053661346 0.289909809828 -0.000769271341 -vn 0.505654692650 0.862732887268 -0.002306047129 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.183472141623 0.979701697826 0.080762445927 -vn 0.169224634767 0.977109313011 0.128920063376 -vn -0.042956437916 0.949172854424 0.311810165644 -vn 0.332912445068 0.935498297215 0.118373312056 -vn -0.140165805817 0.920780718327 0.364028096199 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.086222581565 0.921112477779 0.379628002644 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn 0.704381942749 0.650786757469 0.283412605524 -vn 0.561204314232 -0.064809150994 0.825136005878 -vn 0.047306902707 0.969304382801 0.241269692779 -vn -0.072743989527 0.993828594685 0.083743982017 -vn -0.236780017614 0.949869990349 0.204162240028 -vn 0.058749053627 0.997522294521 0.038701053709 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.021251596510 0.999252557755 0.032289963216 -vn 0.083970263600 0.986458778381 -0.140883311629 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.183472141623 0.979701697826 0.080762445927 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.231376439333 0.864601671696 0.446014404297 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.190288290381 0.690781593323 0.697575151920 -vn 0.397790223360 0.740713775158 0.541392683983 -vn 0.190288290381 0.690781593323 0.697575151920 -vn 0.052971653640 0.880331635475 0.471391826868 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.182488054037 0.870233118534 0.457594156265 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.227070003748 0.845175921917 -0.483856230974 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.265035003424 0.962137639523 -0.063620537519 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.299751222134 0.938948035240 -0.168895721436 -vn -0.265035003424 0.962137639523 -0.063620537519 -vn -0.199486538768 0.979446530342 0.029826447368 -vn -0.248550355434 0.968081712723 0.032257635146 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.665100693703 0.708603322506 0.235631942749 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.132732138038 0.979921698570 0.148780390620 -vn -0.125670656562 0.990344762802 0.058515954763 -vn -0.208323746920 0.938979506493 0.273712754250 -vn 0.058749053627 0.997522294521 0.038701053709 -vn -0.026919174939 0.987045407295 0.158166885376 -vn 0.091195181012 0.875910937786 0.473775774240 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.129505842924 0.973472297192 0.188626378775 -vn 0.522200107574 0.730581760406 0.439951479435 -vn 0.561204314232 -0.064809150994 0.825136005878 -vn 0.704381942749 0.650786757469 0.283412605524 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.439923584461 0.807062745094 0.393848896027 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.332912445068 0.935498297215 0.118373312056 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.285025328398 0.782720506191 -0.553271353245 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.285025328398 0.782720506191 -0.553271353245 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.118587732315 0.931522011757 -0.343807578087 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn 0.266191989183 0.936656773090 -0.227631047368 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.266191989183 0.936656773090 -0.227631047368 -vn 0.266191989183 0.936656773090 -0.227631047368 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn 0.452575981617 0.878102481365 -0.155277132988 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.397790223360 0.740713775158 0.541392683983 -vn 0.165170222521 0.957066774368 0.238205745816 -vn -0.086222581565 0.921112477779 0.379628002644 -vn 0.014983816072 0.979317367077 0.201774612069 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.199486538768 0.979446530342 0.029826447368 -vn -0.236780017614 0.949869990349 0.204162240028 -vn -0.072743989527 0.993828594685 0.083743982017 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.182488054037 0.870233118534 0.457594156265 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.079861029983 0.974357426167 0.210356533527 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.132732138038 0.979921698570 0.148780390620 -vn -0.236780017614 0.949869990349 0.204162240028 -vn 0.005805051886 0.998719394207 0.050258178264 -vn 0.058749053627 0.997522294521 0.038701053709 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.105120658875 0.848330736160 -0.518926382065 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn 0.058749053627 0.997522294521 0.038701053709 -vn 0.005805051886 0.998719394207 0.050258178264 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn 0.169224634767 0.977109313011 0.128920063376 -vn -0.005251220893 0.929640710354 0.368429929018 -vn -0.042956437916 0.949172854424 0.311810165644 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.081451788545 0.994412124157 0.067157849669 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.285025328398 0.782720506191 -0.553271353245 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn -0.289651811123 0.940054774284 0.179996877909 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.072743989527 0.993828594685 0.083743982017 -vn 0.058749053627 0.997522294521 0.038701053709 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.125670656562 0.990344762802 0.058515954763 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.263052493334 0.964336454868 0.029301045462 -vn -0.439923584461 0.807062745094 0.393848896027 -vn -0.456301867962 0.849555730820 0.264657646418 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn -0.081451788545 0.994412124157 0.067157849669 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn -0.289651811123 0.940054774284 0.179996877909 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.375906050205 0.924689590931 0.060363583267 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn 0.083970263600 0.986458778381 -0.140883311629 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn -0.015371610411 0.996984004974 -0.076069392264 -vn -0.005251220893 0.929640710354 0.368429929018 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.042956437916 0.949172854424 0.311810165644 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.125670656562 0.990344762802 0.058515954763 -vn 0.263052493334 0.964336454868 0.029301045462 -vn -0.144750267267 0.977827727795 -0.151328608394 -vn 0.083970263600 0.986458778381 -0.140883311629 -vn -0.015371610411 0.996984004974 -0.076069392264 -vn 0.207886472344 0.974640905857 0.082815110683 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.332912445068 0.935498297215 0.118373312056 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn -0.299751222134 0.938948035240 -0.168895721436 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.209413021803 0.874598622322 -0.437291055918 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.227070003748 0.845175921917 -0.483856230974 -vn -0.042956437916 0.949172854424 0.311810165644 -vn -0.079861029983 0.974357426167 0.210356533527 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.207886472344 0.974640905857 0.082815110683 -vn 0.412922382355 0.903982520103 -0.110953569412 -vn -0.183472141623 0.979701697826 0.080762445927 -vn 0.042343866080 0.998464703560 0.035709671676 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.316314905882 0.721284568310 0.616192698479 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.005805051886 0.998719394207 0.050258178264 -vn -0.021251596510 0.999252557755 0.032289963216 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.410649836063 0.890585064888 0.195512071252 -vn -0.021251596510 0.999252557755 0.032289963216 -vn 0.005805051886 0.998719394207 0.050258178264 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.502480626106 0.858713567257 -0.100619092584 -vn 0.412922382355 0.903982520103 -0.110953569412 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.043550744653 0.799514293671 0.599066138268 -vn -0.183472141623 0.979701697826 0.080762445927 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.433224350214 0.852531194687 0.292416185141 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.232279226184 0.908129572868 0.348349064589 -vn -0.111254252493 0.972327888012 0.205428630114 -vn 0.522200107574 0.730581760406 0.439951479435 -vn -0.410649836063 0.890585064888 0.195512071252 -vn 0.005805051886 0.998719394207 0.050258178264 -vn -0.236780017614 0.949869990349 0.204162240028 -vn -0.199486538768 0.979446530342 0.029826447368 -vn -0.410649836063 0.890585064888 0.195512071252 -vn -0.236780017614 0.949869990349 0.204162240028 -vn -0.086222581565 0.921112477779 0.379628002644 -vn -0.109717316926 0.925979495049 0.361281156540 -vn 0.014983816072 0.979317367077 0.201774612069 -vn 0.042343866080 0.998464703560 0.035709671676 -vn 0.165170222521 0.957066774368 0.238205745816 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.015371610411 0.996984004974 -0.076069392264 -vn -0.111254252493 0.972327888012 0.205428630114 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.111254252493 0.972327888012 0.205428630114 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.266191989183 0.936656773090 -0.227631047368 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.343298017979 0.890991687775 0.297119945288 -vn -0.081451788545 0.994412124157 0.067157849669 -vn -0.089727103710 0.922582089901 0.375221759081 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.111254252493 0.972327888012 0.205428630114 -vn 0.561204314232 -0.064809150994 0.825136005878 -vn 0.522200107574 0.730581760406 0.439951479435 -vn -0.111254252493 0.972327888012 0.205428630114 -vn 0.047306902707 0.969304382801 0.241269692779 -vn 0.561204314232 -0.064809150994 0.825136005878 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.081451788545 0.994412124157 0.067157849669 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.089727103710 0.922582089901 0.375221759081 -vn -0.299751222134 0.938948035240 -0.168895721436 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.209413021803 0.874598622322 -0.437291055918 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.108999080956 0.947661638260 0.300094276667 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn 0.129825502634 0.989126026630 0.069101937115 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn 0.129505842924 0.973472297192 0.188626378775 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.665100693703 0.708603322506 0.235631942749 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn 0.091195181012 0.875910937786 0.473775774240 -vn 0.052971653640 0.880331635475 0.471391826868 -vn 0.190288290381 0.690781593323 0.697575151920 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.231376439333 0.864601671696 0.446014404297 -vn -0.316314905882 0.721284568310 0.616192698479 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.140165805817 0.920780718327 0.364028096199 -vn -0.089727103710 0.922582089901 0.375221759081 -vn -0.089727103710 0.922582089901 0.375221759081 -vn -0.140165805817 0.920780718327 0.364028096199 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.299751222134 0.938948035240 -0.168895721436 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.384581267834 0.919836223125 -0.077450178564 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.229664877057 0.936510980129 0.264955163002 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.111254252493 0.972327888012 0.205428630114 -vn -0.456301867962 0.849555730820 0.264657646418 -vn -0.183472141623 0.979701697826 0.080762445927 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.042343866080 0.998464703560 0.035709671676 -vn 0.042343866080 0.998464703560 0.035709671676 -vn -0.043550744653 0.799514293671 0.599066138268 -vn 0.165170222521 0.957066774368 0.238205745816 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.081451788545 0.994412124157 0.067157849669 -vn 0.014983816072 0.979317367077 0.201774612069 -vn 0.165170222521 0.957066774368 0.238205745816 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.057531148195 0.978615164757 0.197490662336 -vn 0.165170222521 0.957066774368 0.238205745816 -vn 0.014983816072 0.979317367077 0.201774612069 -vn -0.111254252493 0.972327888012 0.205428630114 -vn -0.015371610411 0.996984004974 -0.076069392264 -vn 0.047306902707 0.969304382801 0.241269692779 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn 0.452575981617 0.878102481365 -0.155277132988 -vn -0.289651811123 0.940054774284 0.179996877909 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.289651811123 0.940054774284 0.179996877909 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.439923584461 0.807062745094 0.393848896027 -vn -0.125670656562 0.990344762802 0.058515954763 -vn -0.125670656562 0.990344762802 0.058515954763 -vn -0.439923584461 0.807062745094 0.393848896027 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.332912445068 0.935498297215 0.118373312056 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.169224634767 0.977109313011 0.128920063376 -vn 0.332912445068 0.935498297215 0.118373312056 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.333094507456 0.894973516464 -0.296766668558 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.183472141623 0.979701697826 0.080762445927 -vn 0.165170222521 0.957066774368 0.238205745816 -vn 0.097139805555 0.825904786587 0.555378377438 -vn 0.017310172319 0.949390113354 0.313621997833 -vn 0.017310172319 0.949390113354 0.313621997833 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.288402497768 0.898042201996 0.332181036472 -vn 0.522200107574 0.730581760406 0.439951479435 -vn 0.704381942749 0.650786757469 0.283412605524 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn -0.005251220893 0.929640710354 0.368429929018 -vn 0.169224634767 0.977109313011 0.128920063376 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn 0.169224634767 0.977109313011 0.128920063376 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.232279226184 0.908129572868 0.348349064589 -vn 0.522200107574 0.730581760406 0.439951479435 -vn 0.647070944309 0.737142920494 0.194729119539 -vn -0.057531148195 0.978615164757 0.197490662336 -vn 0.014983816072 0.979317367077 0.201774612069 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.057531148195 0.978615164757 0.197490662336 -vn -0.109717316926 0.925979495049 0.361281156540 -vn -0.199486538768 0.979446530342 0.029826447368 -vn -0.072743989527 0.993828594685 0.083743982017 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.072743989527 0.993828594685 0.083743982017 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.182488054037 0.870233118534 0.457594156265 -vn -0.229664877057 0.936510980129 0.264955163002 -vn -0.456301867962 0.849555730820 0.264657646418 -vn 0.105120658875 0.848330736160 -0.518926382065 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn 0.118587732315 0.931522011757 -0.343807578087 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.169224634767 0.977109313011 0.128920063376 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.347528815269 0.883869111538 -0.313048154116 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.376402616501 0.870327353477 -0.317571073771 -vn -0.316314905882 0.721284568310 0.616192698479 -vn -0.231376439333 0.864601671696 0.446014404297 -vn 0.091195181012 0.875910937786 0.473775774240 -vn -0.026919174939 0.987045407295 0.158166885376 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.091195181012 0.875910937786 0.473775774240 -vn -0.054100811481 0.828716099262 -0.557048261166 -vn -0.227070003748 0.845175921917 -0.483856230974 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn -0.209413021803 0.874598622322 -0.437291055918 -vn -0.227070003748 0.845175921917 -0.483856230974 -vn -0.054100811481 0.828716099262 -0.557048261166 -vn -0.316314905882 0.721284568310 0.616192698479 -vn 0.190288290381 0.690781593323 0.697575151920 -vn -0.043550744653 0.799514293671 0.599066138268 -vn -0.316314905882 0.721284568310 0.616192698479 -vn 0.091195181012 0.875910937786 0.473775774240 -vn 0.190288290381 0.690781593323 0.697575151920 -vn -0.072743989527 0.993828594685 0.083743982017 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.248550355434 0.968081712723 0.032257635146 -vn -0.127242460847 0.969856739044 0.207815438509 -vn -0.289651811123 0.940054774284 0.179996877909 -vn 0.091195181012 0.875910937786 0.473775774240 -vn 0.129505842924 0.973472297192 0.188626378775 -vn 0.052971653640 0.880331635475 0.471391826868 -vn -0.108999080956 0.947661638260 0.300094276667 -vn 0.129505842924 0.973472297192 0.188626378775 -vn -0.070133388042 0.997155189514 -0.027619177476 -vn -0.086222581565 0.921112477779 0.379628002644 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.005251220893 0.929640710354 0.368429929018 -vn -0.086222581565 0.921112477779 0.379628002644 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.079861029983 0.974357426167 0.210356533527 -vn -0.304748833179 0.951287627220 -0.046690292656 -vn -0.403406798840 0.914197862148 -0.038797721267 -vn -0.212906122208 0.964604198933 0.155594840646 -vn -0.229664877057 0.936510980129 0.264955163002 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.278063863516 0.960172414780 -0.027374736965 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.229664877057 0.936510980129 0.264955163002 -vn -0.182488054037 0.870233118534 0.457594156265 -vn 0.412922382355 0.903982520103 -0.110953569412 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.516481220722 0.854483306408 -0.055726669729 -vn 0.207886472344 0.974640905857 0.082815110683 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.412922382355 0.903982520103 -0.110953569412 -vn 0.052971653640 0.880331635475 0.471391826868 -vn 0.129505842924 0.973472297192 0.188626378775 -vn -0.108999080956 0.947661638260 0.300094276667 -vn 0.052971653640 0.880331635475 0.471391826868 -vn -0.108999080956 0.947661638260 0.300094276667 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.132732138038 0.979921698570 0.148780390620 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.125670656562 0.990344762802 0.058515954763 -vn 0.017310172319 0.949390113354 0.313621997833 -vn -0.288402497768 0.898042201996 0.332181036472 -vn -0.132732138038 0.979921698570 0.148780390620 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.058749053627 0.997522294521 0.038701053709 -vn 0.106234900653 0.990496456623 -0.087355382740 -vn -0.026919174939 0.987045407295 0.158166885376 -vn 0.058749053627 0.997522294521 0.038701053709 -vn 0.129825502634 0.989126026630 0.069101937115 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.452575981617 0.878102481365 -0.155277132988 -vn 0.434929758310 0.873234093189 -0.219768777490 -vn 0.551331520081 0.825408220291 -0.121387138963 -vn 0.490755349398 0.841338574886 -0.226514041424 -vn 0.397790223360 0.740713775158 0.541392683983 -vn 0.190288290381 0.690781593323 0.697575151920 -vn 0.097139805555 0.825904786587 0.555378377438 -vn 0.165170222521 0.957066774368 0.238205745816 -vn 0.397790223360 0.740713775158 0.541392683983 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.231376439333 0.864601671696 0.446014404297 -vn -0.026919174939 0.987045407295 0.158166885376 -vn 0.091195181012 0.875910937786 0.473775774240 -vn -0.208323746920 0.938979506493 0.273712754250 -vn -0.026919174939 0.987045407295 0.158166885376 -vn -0.231376439333 0.864601671696 0.446014404297 -vn 0.098980821669 0.985227704048 -0.139746829867 -vn -0.140165805817 0.920780718327 0.364028096199 -vn -0.005251220893 0.929640710354 0.368429929018 -vn -0.140165805817 0.920780718327 0.364028096199 -vn -0.086222581565 0.921112477779 0.379628002644 -vn -0.005251220893 0.929640710354 0.368429929018 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn 0.665100693703 0.708603322506 0.235631942749 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.647070944309 0.737142920494 0.194729119539 -vn 0.704381942749 0.650786757469 0.283412605524 -vn 0.576594769955 0.816482365131 -0.029916584492 -vn -0.054100811481 0.828716099262 -0.557048261166 -vn -0.138562649488 0.930660605431 -0.338631451130 -vn 0.105120658875 0.848330736160 -0.518926382065 -vn -0.182488054037 0.870233118534 0.457594156265 -vn 0.097139805555 0.825904786587 0.555378377438 -vn -0.108999080956 0.947661638260 0.300094276667 -vn -0.182488054037 0.870233118534 0.457594156265 -vn -0.108999080956 0.947661638260 0.300094276667 -vn -0.160416513681 0.982015252113 0.099561758339 -vn -0.042956437916 0.949172854424 0.311810165644 -vn 0.263052493334 0.964336454868 0.029301045462 -vn 0.207886472344 0.974640905857 0.082815110683 -vn -0.042956437916 0.949172854424 0.311810165644 -vn 0.207886472344 0.974640905857 0.082815110683 -vn 0.332912445068 0.935498297215 0.118373312056 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.433224350214 0.852531194687 0.292416185141 -vn -0.183472141623 0.979701697826 0.080762445927 -vn -0.375906050205 0.924689590931 0.060363583267 -vn -0.361099243164 0.921951770782 0.140043884516 -vn -0.183472141623 0.979701697826 0.080762445927 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn 0.105120658875 0.848330736160 -0.518926382065 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.079431578517 0.878160119057 -0.471726000309 -vn 0.285025328398 0.782720506191 -0.553271353245 -vn 0.230715706944 0.852206826210 -0.469588965178 -vn -0.158789232373 0.938167393208 0.307616591454 -vn -0.089727103710 0.922582089901 0.375221759081 -vn -0.081451788545 0.994412124157 0.067157849669 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.770359873772 -0.349873751402 -0.533042252064 -vn -0.770359873772 -0.349873751402 -0.533042252064 -vn -0.866471350193 -0.494451045990 0.068887792528 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.826196610928 -0.378474891186 -0.417319893837 -vn 0.826196610928 -0.378474891186 -0.417319893837 -vn 0.627201139927 -0.266793459654 -0.731737613678 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn -0.189701020718 -0.520030140877 -0.832815766335 -vn -0.189701020718 -0.520030140877 -0.832815766335 -vn -0.770359873772 -0.349873751402 -0.533042252064 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.866471350193 -0.494451045990 0.068887792528 -vn -0.866471350193 -0.494451045990 0.068887792528 -vn -0.871176719666 -0.488596260548 0.048216242343 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.852627336979 -0.427872687578 -0.299919277430 -vn 0.852627336979 -0.427872687578 -0.299919277430 -vn 0.826196610928 -0.378474891186 -0.417319893837 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn -0.770887374878 -0.633049786091 0.070573315024 -vn -0.750959277153 -0.606336772442 0.261564284563 -vn -0.750959277153 -0.606336772442 0.261564284563 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.863608837128 -0.437417209148 -0.250691026449 -vn 0.852627336979 -0.427872687578 -0.299919277430 -vn 0.852627336979 -0.427872687578 -0.299919277430 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn 0.094348020852 -0.600384652615 0.794126391411 -vn 0.094348020852 -0.600384652615 0.794126391411 -vn 0.653992474079 -0.311724781990 0.689290583134 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.871176719666 -0.488596260548 0.048216242343 -vn -0.815200567245 -0.578349769115 -0.030977522954 -vn -0.815200567245 -0.578349769115 -0.030977522954 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn 0.653992474079 -0.311724781990 0.689290583134 -vn 0.859460055828 -0.470979452133 0.198763057590 -vn 0.859460055828 -0.470979452133 0.198763057590 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn 0.627201139927 -0.266793459654 -0.731737613678 -vn 0.627201139927 -0.266793459654 -0.731737613678 -vn -0.189701020718 -0.520030140877 -0.832815766335 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.582415580750 -0.402489781380 0.706253528595 -vn -0.582415580750 -0.402489781380 0.706253528595 -vn 0.094348020852 -0.600384652615 0.794126391411 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn -0.857243716717 -0.179066479206 -0.482771545649 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.957598209381 -0.281897366047 0.059494148940 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.862867891788 -0.238618478179 -0.445556133986 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.871704638004 0.468953579664 0.142174378037 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.965529382229 0.233773931861 -0.114467352629 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.916644573212 -0.249014675617 -0.312657028437 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.586331486702 0.507154703140 0.631671965122 -vn -0.024219894782 0.431608676910 0.901735723019 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn 0.586331486702 0.507154703140 0.631671965122 -vn -0.957649767399 0.245865628123 0.149856701493 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.955888688564 -0.287579327822 0.059791229665 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.957649767399 0.245865628123 0.149856701493 -vn 0.586331486702 0.507154703140 0.631671965122 -vn 0.697271823883 -0.023023240268 0.716436982155 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.586331486702 0.507154703140 0.631671965122 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn 0.616477489471 -0.097230568528 -0.781346082687 -vn -0.188239112496 -0.195517256856 -0.962465107441 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.024219894782 0.431608676910 0.901735723019 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn 0.030176481232 -0.196037560701 0.980131983757 -vn -0.024219894782 0.431608676910 0.901735723019 -vn 0.361748665571 0.813761413097 0.454895913601 -vn -0.037171285599 0.822442770004 0.567632138729 -vn -0.024219894782 0.431608676910 0.901735723019 -vn -0.024219894782 0.431608676910 0.901735723019 -vn 0.586331486702 0.507154703140 0.631671965122 -vn 0.361748665571 0.813761413097 0.454895913601 -vn -0.037171285599 0.822442770004 0.567632138729 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.024219894782 0.431608676910 0.901735723019 -vn -0.037171285599 0.822442770004 0.567632138729 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.419445157051 0.878340363503 0.229311823845 -vn 0.361748665571 0.813761413097 0.454895913601 -vn 0.361748665571 0.813761413097 0.454895913601 -vn 0.586331486702 0.507154703140 0.631671965122 -vn 0.788730025291 0.571293294430 0.226999789476 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.888961076736 0.118842542171 -0.442294716835 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.999191582203 -0.010015186854 0.038934446871 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.888148248196 -0.021853355691 -0.459037214518 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn 0.577633500099 0.091577179730 -0.811143100262 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.191112756729 0.195641577244 -0.961873292923 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.965529382229 0.233773931861 -0.114467352629 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.972279310226 0.057422913611 -0.226661652327 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.861327946186 0.282207727432 0.422460556030 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.020976897329 0.060557164252 0.997944295406 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.063498787582 0.973852574825 0.218126371503 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.348094910383 0.829414248466 -0.436923295259 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.063498787582 0.973852574825 0.218126371503 -vn -0.063902124763 0.991366446018 0.114494979382 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn -0.063498787582 0.973852574825 0.218126371503 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.063498787582 0.973852574825 0.218126371503 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.518715977669 0.722569584846 -0.456975817680 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.063902124763 0.991366446018 0.114494979382 -vn -0.063498787582 0.973852574825 0.218126371503 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.063902124763 0.991366446018 0.114494979382 -vn 0.038015794009 0.828824400902 0.558215856552 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.008953621611 0.951425194740 0.307749807835 -vn 0.038015794009 0.828824400902 0.558215856552 -vn -0.008953621611 0.951425194740 0.307749807835 -vn -0.037171285599 0.822442770004 0.567632138729 -vn 0.361748665571 0.813761413097 0.454895913601 -vn 0.361748665571 0.813761413097 0.454895913601 -vn 0.419445157051 0.878340363503 0.229311823845 -vn -0.008953621611 0.951425194740 0.307749807835 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.834776818752 0.152970641851 -0.528911769390 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.999251008034 0.013329065405 -0.036328140646 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.875802159309 0.071516327560 -0.477342694998 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn -0.163492619991 0.253283262253 -0.953476667404 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.513145685196 0.198423847556 -0.835050582886 -vn -0.684937596321 0.226348280907 0.692551016808 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.986457169056 -0.011852054857 0.163590267301 -vn -0.957649767399 0.245865628123 0.149856701493 -vn -0.684937596321 0.226348280907 0.692551016808 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.997116386890 0.036253526807 -0.066668137908 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.750959277153 -0.606336772442 0.261564284563 -vn -0.582415580750 -0.402489781380 0.706253528595 -vn -0.582415580750 -0.402489781380 0.706253528595 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.859460055828 -0.470979452133 0.198763057590 -vn 0.849181652069 -0.524824261665 -0.058736898005 -vn 0.849181652069 -0.524824261665 -0.058736898005 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.906085193157 -0.229097962379 0.355701744556 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.642385125160 -0.092330209911 0.760799884796 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.841550469398 0.399582356215 0.363492399454 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.971231758595 -0.076657757163 0.225460559130 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.419445157051 0.878340363503 0.229311823845 -vn 0.788730025291 0.571293294430 0.226999789476 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.419445157051 0.878340363503 0.229311823845 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.841550469398 0.399582356215 0.363492399454 -vn -0.580725133419 0.329724341631 0.744338750839 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.008953621611 0.951425194740 0.307749807835 -vn -0.464551985264 0.831402301788 0.304896056652 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.372339665890 0.707525014877 0.600642621517 -vn -0.037171285599 0.822442770004 0.567632138729 -vn -0.008953621611 0.951425194740 0.307749807835 -vn 0.038015794009 0.828824400902 0.558215856552 -vn -0.008953621611 0.951425194740 0.307749807835 -vn 0.419445157051 0.878340363503 0.229311823845 -vn 0.419445157051 0.878340363503 0.229311823845 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.038015794009 0.828824400902 0.558215856552 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.965529382229 0.233773931861 -0.114467352629 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.038015794009 0.828824400902 0.558215856552 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.470861792564 0.752460539341 0.460534811020 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.126355975866 0.264645785093 0.956031799316 -vn -0.546461105347 0.726369321346 0.416854739189 -vn 0.038015794009 0.828824400902 0.558215856552 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.126355975866 0.264645785093 0.956031799316 -vn -0.684937596321 0.226348280907 0.692551016808 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.957649767399 0.245865628123 0.149856701493 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.546461105347 0.726369321346 0.416854739189 -vn -0.684937596321 0.226348280907 0.692551016808 -vn -0.957649767399 0.245865628123 0.149856701493 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.965529382229 0.233773931861 -0.114467352629 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.875472187996 0.477126717567 0.076801784337 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.863608837128 -0.437417209148 -0.250691026449 -vn 0.961319506168 -0.138755530119 -0.237932249904 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.992323935032 -0.083550423384 -0.091172911227 -vn 0.849181652069 -0.524824261665 -0.058736898005 -vn 0.863608837128 -0.437417209148 -0.250691026449 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.815200567245 -0.578349769115 -0.030977522954 -vn -0.770887374878 -0.633049786091 0.070573315024 -vn -0.770887374878 -0.633049786091 0.070573315024 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.871704638004 0.468953579664 0.142174378037 -vn -0.957649767399 0.245865628123 0.149856701493 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.969217240810 -0.242572203279 -0.042150840163 -vn -0.972319781780 -0.213734969497 0.094401150942 -vn -0.871704638004 0.468953579664 0.142174378037 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.684937596321 0.226348280907 0.692551016808 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.861327946186 0.282207727432 0.422460556030 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn 0.119840741158 -0.145645618439 0.982051730156 -vn 0.126355975866 0.264645785093 0.956031799316 -vn 0.861327946186 0.282207727432 0.422460556030 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.761057138443 0.020005665720 -0.648376286030 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.992354273796 -0.096318662167 -0.077173262835 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.891179800034 0.028979845345 -0.452723652124 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn -0.047363005579 0.108990550041 -0.992913782597 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.554184734821 0.067802697420 -0.829627692699 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.762222051620 -0.094720840454 0.640347957611 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.995116412640 -0.054380711168 0.082377523184 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.618004083633 0.135420069098 0.774423897266 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.915692329407 -0.125990331173 0.381620287895 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.960119843483 -0.019330935553 0.278919726610 -vn -0.684937596321 0.226348280907 0.692551016808 -vn -0.562489032745 -0.146002635360 0.813811600208 -vn -0.063902124763 0.991366446018 0.114494979382 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.102175161242 0.812571227551 0.573836445808 -vn -0.063902124763 0.991366446018 0.114494979382 -vn 0.284465849400 0.811888277531 0.509820163250 -vn 0.287292629480 0.892159521580 0.348589122295 -vn -0.063902124763 0.991366446018 0.114494979382 -vn -0.063902124763 0.991366446018 0.114494979382 -vn -0.102175161242 0.812571227551 0.573836445808 -vn 0.284465849400 0.811888277531 0.509820163250 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.518715977669 0.722569584846 -0.456975817680 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.718663275242 0.692803204060 0.059554707259 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.989123642445 0.008415753953 -0.146845534444 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.542900204659 0.733694672585 0.408596962690 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.902310669422 0.044389050454 0.428794890642 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.102175161242 0.812571227551 0.573836445808 -vn -0.337740659714 0.766057550907 0.546888530254 -vn -0.543861091137 0.085662640631 0.834791600704 -vn -0.543861091137 0.085662640631 0.834791600704 -vn 0.020976897329 0.060557164252 0.997944295406 -vn -0.102175161242 0.812571227551 0.573836445808 -vn 0.284465849400 0.811888277531 0.509820163250 -vn -0.102175161242 0.812571227551 0.573836445808 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.020976897329 0.060557164252 0.997944295406 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.284465849400 0.811888277531 0.509820163250 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.284465849400 0.811888277531 0.509820163250 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.618004083633 0.135420069098 0.774423897266 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.287292629480 0.892159521580 0.348589122295 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.930269777775 0.234372481704 0.282254606485 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.348094910383 0.829414248466 -0.436923295259 -vn 0.674404442310 0.733905732632 -0.081000246108 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.934627115726 0.023425996304 -0.354856818914 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.348094910383 0.829414248466 -0.436923295259 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn 0.348094910383 0.829414248466 -0.436923295259 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn 0.537178814411 0.185756832361 -0.822759568691 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.518715977669 0.722569584846 -0.456975817680 -vn -0.048428762704 0.890414535999 -0.452566653490 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.005166693125 0.263290047646 -0.964702904224 -vn -0.635505199432 0.110047593713 -0.764213740826 -vn -0.518715977669 0.722569584846 -0.456975817680 -vn 0.896774768829 -0.440434336662 0.042574360967 -vn 0.829682111740 -0.395381569862 -0.394082486629 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.896774768829 -0.440434336662 0.042574360967 -vn -0.504025876522 -0.301672607660 -0.809290766716 -vn -0.821440160275 -0.447597593069 -0.353401303291 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn -0.504025876522 -0.301672607660 -0.809290766716 -vn 0.829682111740 -0.395381569862 -0.394082486629 -vn 0.059312444180 -0.544704258442 -0.836528122425 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.829682111740 -0.395381569862 -0.394082486629 -vn 0.879417061806 -0.475138366222 0.029482273385 -vn 0.896774768829 -0.440434336662 0.042574360967 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn 0.879417061806 -0.475138366222 0.029482273385 -vn -0.821440160275 -0.447597593069 -0.353401303291 -vn -0.847441673279 -0.448818117380 -0.283557623625 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.821440160275 -0.447597593069 -0.353401303291 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.794788122177 -0.514725565910 0.321511179209 -vn 0.785471856594 -0.612062454224 0.091725103557 -vn 0.785471856594 -0.612062454224 0.091725103557 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.847441673279 -0.448818117380 -0.283557623625 -vn -0.876788675785 -0.431774467230 -0.211689546704 -vn -0.876788675785 -0.431774467230 -0.211689546704 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.645010352135 -0.400364696980 0.650899171829 -vn 0.069433189929 -0.577286839485 0.813584029675 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn -0.708797097206 0.001518160105 0.705410778522 -vn -0.645010352135 -0.400364696980 0.650899171829 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn 0.814705491066 -0.579487860203 -0.021184906363 -vn 0.879417061806 -0.475138366222 0.029482273385 -vn 0.879417061806 -0.475138366222 0.029482273385 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.842492818832 -0.518067896366 0.147687375546 -vn -0.645010352135 -0.400364696980 0.650899171829 -vn -0.645010352135 -0.400364696980 0.650899171829 -vn -0.708797097206 0.001518160105 0.705410778522 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn 0.059312444180 -0.544704258442 -0.836528122425 -vn -0.504025876522 -0.301672607660 -0.809290766716 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.059312444180 -0.544704258442 -0.836528122425 -vn 0.069433189929 -0.577286839485 0.813584029675 -vn 0.609602272511 -0.248254984617 0.752830982208 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn 0.069433189929 -0.577286839485 0.813584029675 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.883949697018 -0.165927350521 -0.437151044607 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn 0.965354561806 -0.258063018322 0.038652259856 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.872142016888 -0.268645823002 -0.408898174763 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.819668352604 0.424242556095 0.384918212891 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.927781820297 -0.247336685658 -0.279366135597 -vn -0.708797097206 0.001518160105 0.705410778522 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn -0.010253517888 0.434012025595 0.900848746300 -vn -0.010253517888 0.434012025595 0.900848746300 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.708797097206 0.001518160105 0.705410778522 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn 0.963938236237 -0.265642106533 0.016040276736 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.708797097206 0.001518160105 0.705410778522 -vn -0.708797097206 0.001518160105 0.705410778522 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.813350260258 0.528666734695 0.242843255401 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn -0.560952782631 -0.203689426184 -0.802398025990 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.166494444013 -0.262386292219 -0.950490951538 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.598563194275 0.346359431744 0.722327709198 -vn 0.598563194275 0.346359431744 0.722327709198 -vn -0.010253517888 0.434012025595 0.900848746300 -vn 0.025587152690 -0.188668310642 0.981707453728 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.010253517888 0.434012025595 0.900848746300 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.401526331902 0.782190501690 0.476397514343 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.010253517888 0.434012025595 0.900848746300 -vn 0.598563194275 0.346359431744 0.722327709198 -vn 0.407970279455 0.717792689800 0.564210891724 -vn 0.407970279455 0.717792689800 0.564210891724 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.010253517888 0.434012025595 0.900848746300 -vn -0.605787634850 0.494257092476 0.623483181000 -vn -0.401526331902 0.782190501690 0.476397514343 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.605787634850 0.494257092476 0.623483181000 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.887520253658 0.064618252218 -0.456215173006 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.999695837498 -0.003873218782 0.024357249960 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn 0.969513058662 0.062274549156 0.236994311213 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn -0.887326896191 -0.078793831170 -0.454359501600 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.198920249939 0.084711700678 -0.976347625256 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.584151804447 0.006681963336 -0.811616897583 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.973477184772 -0.045333888382 -0.224247634411 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn 0.505996525288 0.084093302488 0.858426392078 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.556349575520 0.162882700562 0.814827799797 -vn 0.505996525288 0.084093302488 0.858426392078 -vn 0.556349575520 0.162882700562 0.814827799797 -vn -0.099295251071 0.116247646511 0.988244354725 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.191165298223 0.042684063315 0.980629324913 -vn 0.505996525288 0.084093302488 0.858426392078 -vn 0.556349575520 0.162882700562 0.814827799797 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.037328623235 0.984341025352 0.172276824713 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.059391405433 0.995314598083 0.076298937201 -vn -0.059391405433 0.995314598083 0.076298937201 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.037328623235 0.984341025352 0.172276824713 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.037328623235 0.984341025352 0.172276824713 -vn -0.059391405433 0.995314598083 0.076298937201 -vn 0.521055519581 0.802924513817 0.289505362511 -vn -0.030940596014 0.946716606617 0.320578128099 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.417391598225 0.758342742920 0.500700056553 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.401526331902 0.782190501690 0.476397514343 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.455726176500 0.851219177246 0.260268300772 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.839084565639 0.100407406688 -0.534654557705 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.998415172100 0.038624547422 -0.040929865092 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.875011146069 -0.052693475038 -0.481226444244 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn 0.171029835939 0.100886046886 -0.980087161064 -vn -0.520150959492 0.017325222492 -0.853898584843 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.995632350445 -0.006020219531 0.093166664243 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.972541630268 0.205112487078 0.109961979091 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.996427416801 0.009055949748 -0.083966597915 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.099295251071 0.116247646511 0.988244354725 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.191165298223 0.042684063315 0.980629324913 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.609602272511 -0.248254984617 0.752830982208 -vn 0.794788122177 -0.514725565910 0.321511179209 -vn 0.794788122177 -0.514725565910 0.321511179209 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.850716531277 -0.518900275230 -0.083808444440 -vn -0.842492818832 -0.518067896366 0.147687375546 -vn -0.842492818832 -0.518067896366 0.147687375546 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn 0.598563194275 0.346359431744 0.722327709198 -vn 0.648548364639 -0.114402368665 0.752527177334 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.894344449043 -0.227003604174 0.385509222746 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.598563194275 0.346359431744 0.722327709198 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.972984254360 -0.096121504903 0.209910243750 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.813350260258 0.528666734695 0.242843255401 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.572210907936 0.744452595711 0.344042211771 -vn 0.598563194275 0.346359431744 0.722327709198 -vn 0.819668352604 0.424242556095 0.384918212891 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.407970279455 0.717792689800 0.564210891724 -vn 0.598563194275 0.346359431744 0.722327709198 -vn -0.036019083112 0.815896332264 0.577075183392 -vn 0.407970279455 0.717792689800 0.564210891724 -vn 0.449902802706 0.833744525909 0.320089966059 -vn 0.449902802706 0.833744525909 0.320089966059 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.036019083112 0.815896332264 0.577075183392 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.455726176500 0.851219177246 0.260268300772 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.030940596014 0.946716606617 0.320578128099 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.572210907936 0.744452595711 0.344042211771 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.173762992024 0.444730252028 0.878647506237 -vn -0.811857640743 0.316165834665 0.490842521191 -vn 0.616871714592 0.388114273548 0.684716403484 -vn -0.173762992024 0.444730252028 0.878647506237 -vn -0.069371618330 0.841719925404 0.535439193249 -vn -0.069371618330 0.841719925404 0.535439193249 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.417391598225 0.758342742920 0.500700056553 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.616871714592 0.388114273548 0.684716403484 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.842946350574 0.536730229855 0.036906283349 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.972729504108 0.229226604104 -0.035391129553 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.850716531277 -0.518900275230 -0.083808444440 -vn -0.985983729362 -0.146261081100 -0.080273129046 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.949543714523 -0.179056674242 -0.257498413324 -vn -0.876788675785 -0.431774467230 -0.211689546704 -vn -0.850716531277 -0.518900275230 -0.083808444440 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.785471856594 -0.612062454224 0.091725103557 -vn 0.814705491066 -0.579487860203 -0.021184906363 -vn 0.814705491066 -0.579487860203 -0.021184906363 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.971690714359 -0.233434706926 -0.036406382918 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.972541630268 0.205112487078 0.109961979091 -vn 0.878596842289 0.430425614119 0.206884905696 -vn 0.971849977970 -0.209810242057 0.107178568840 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.505996525288 0.084093302488 0.858426392078 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.173762992024 0.444730252028 0.878647506237 -vn 0.616871714592 0.388114273548 0.684716403484 -vn -0.173762992024 0.444730252028 0.878647506237 -vn -0.191165298223 0.042684063315 0.980629324913 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.811857640743 0.316165834665 0.490842521191 -vn -0.173762992024 0.444730252028 0.878647506237 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.773993730545 -0.031222863123 -0.632422983646 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.994028806686 -0.075991086662 -0.078307822347 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.872911095619 -0.077577248216 -0.481672078371 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn 0.120794489980 -0.012212047353 -0.992602407932 -vn -0.519446194172 -0.050545126200 -0.853006899357 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.995949149132 -0.049522735178 0.075052306056 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.741294920444 0.053056657314 0.669079065323 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.958392262459 0.126938298345 0.255677402020 -vn 0.616871714592 0.388114273548 0.684716403484 -vn 0.969513058662 0.062274549156 0.236994311213 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.916820347309 -0.011684142984 0.399129003286 -vn 0.505996525288 0.084093302488 0.858426392078 -vn 0.616871714592 0.388114273548 0.684716403484 -vn -0.044663131237 0.745588660240 0.664908111095 -vn 0.372912973166 0.711369335651 0.595726132393 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.521055519581 0.802924513817 0.289505362511 -vn -0.059391405433 0.995314598083 0.076298937201 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.059391405433 0.995314598083 0.076298937201 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.647355437279 0.397109150887 0.650565385818 -vn -0.044663131237 0.745588660240 0.664908111095 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.966818511486 0.224690467119 -0.121557444334 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn 0.522335886955 0.850371062756 -0.063516058028 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.556349575520 0.162882700562 0.814827799797 -vn 0.882667124271 0.166973158717 0.439338982105 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.521055519581 0.802924513817 0.289505362511 -vn 0.372912973166 0.711369335651 0.595726132393 -vn 0.556349575520 0.162882700562 0.814827799797 -vn -0.099295251071 0.116247646511 0.988244354725 -vn 0.556349575520 0.162882700562 0.814827799797 -vn 0.372912973166 0.711369335651 0.595726132393 -vn 0.372912973166 0.711369335651 0.595726132393 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.099295251071 0.116247646511 0.988244354725 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.099295251071 0.116247646511 0.988244354725 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.044663131237 0.745588660240 0.664908111095 -vn -0.647355437279 0.397109150887 0.650565385818 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.732730984688 0.177388116717 0.656992197037 -vn -0.647355437279 0.397109150887 0.650565385818 -vn -0.647355437279 0.397109150887 0.650565385818 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.958392262459 0.126938298345 0.255677402020 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.616252362728 0.723567962646 0.310938030481 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn -0.923233270645 0.139920517802 -0.357858330011 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.588900148869 0.785738825798 -0.189238250256 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn -0.505702018738 0.255946218967 -0.823867142200 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn -0.197339877486 0.930521845818 -0.308522373438 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.121527731419 0.339896291494 -0.932577908039 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn 0.134792685509 0.935151696205 -0.327600717545 -vn 0.353185534477 0.857257008553 -0.374660313129 -vn 0.661811292171 0.282459527254 -0.694422364235 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn 0.212242841721 0.213236674666 0.953668236732 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn 0.212242841721 0.213236674666 0.953668236732 -vn -0.165890663862 -0.080262839794 0.982872426510 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.904853343964 -0.389152079821 0.172629922628 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.904853343964 -0.389152079821 0.172629922628 -vn -0.861182153225 -0.498627454042 0.098670788109 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.551769614220 -0.158883363008 -0.818722426891 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn -0.078196831048 -0.519988059998 -0.850586652756 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.794679522514 -0.204883232713 0.571408152580 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.794679522514 -0.204883232713 0.571408152580 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.772374272346 -0.180488973856 0.608984172344 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.607277333736 -0.348896950483 0.713782250881 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.794679522514 -0.204883232713 0.571408152580 -vn 0.673874497414 -0.215907782316 0.706595361233 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.794679522514 -0.204883232713 0.571408152580 -vn -0.111832089722 0.738575160503 0.664831042290 -vn 0.056181445718 0.741137385368 0.668998479843 -vn -0.077421911061 0.794761300087 0.601963758469 -vn -0.077421911061 0.794761300087 0.601963758469 -vn 0.033342286944 0.775118052959 0.630936086178 -vn -0.111832089722 0.738575160503 0.664831042290 -vn -0.111832089722 0.738575160503 0.664831042290 -vn 0.075495623052 0.638999342918 0.765493452549 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.003467992181 0.502313077450 0.864678859711 -vn -0.128300026059 0.747947514057 0.651240050793 -vn -0.111832089722 0.738575160503 0.664831042290 -vn -0.111832089722 0.738575160503 0.664831042290 -vn 0.033342286944 0.775118052959 0.630936086178 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.075495623052 0.638999342918 0.765493452549 -vn -0.111832089722 0.738575160503 0.664831042290 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.171342536807 0.505555272102 0.845609605312 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.257161408663 0.242241248488 0.935514390469 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn 0.128649204969 -0.137737974524 0.982078194618 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn 0.257161408663 0.242241248488 0.935514390469 -vn -0.904853343964 -0.389152079821 0.172629922628 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.904853343964 -0.389152079821 0.172629922628 -vn 0.171342536807 0.505555272102 0.845609605312 -vn 0.237984761596 0.763823807240 0.599947035313 -vn -0.128300026059 0.747947514057 0.651240050793 -vn -0.128300026059 0.747947514057 0.651240050793 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.171342536807 0.505555272102 0.845609605312 -vn 0.171342536807 0.505555272102 0.845609605312 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.237984761596 0.763823807240 0.599947035313 -vn 0.171342536807 0.505555272102 0.845609605312 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.228975534439 -0.966663718224 0.114592753351 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn 0.492926061153 0.859100401402 0.137733176351 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.465314835310 0.811250209808 -0.354055315256 -vn 0.492926061153 0.859100401402 0.137733176351 -vn 0.492926061153 0.859100401402 0.137733176351 -vn 0.181931316853 0.702624380589 0.687909841537 -vn 0.038794174790 0.877033114433 0.478861063719 -vn 0.038794174790 0.877033114433 0.478861063719 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.492926061153 0.859100401402 0.137733176351 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.038794174790 0.877033114433 0.478861063719 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.282441049814 0.953399002552 0.106100834906 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.237984761596 0.763823807240 0.599947035313 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.038794174790 0.877033114433 0.478861063719 -vn -0.128300026059 0.747947514057 0.651240050793 -vn -0.128300026059 0.747947514057 0.651240050793 -vn 0.237984761596 0.763823807240 0.599947035313 -vn 0.251620978117 0.921132147312 0.296989083290 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.593964874744 0.762796759605 0.255630224943 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.212242841721 0.213236674666 0.953668236732 -vn 0.212242841721 0.213236674666 0.953668236732 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.506997168064 0.607864022255 0.611109852791 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.257161408663 0.242241248488 0.935514390469 -vn 0.387058705091 0.203184276819 0.899389624596 -vn 0.633399128914 0.460792303085 0.621671974659 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.212242841721 0.213236674666 0.953668236732 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.643045067787 0.415603846312 0.643246829510 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.349010735750 0.216333240271 0.911806702614 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.349010735750 0.216333240271 0.911806702614 -vn 0.212242841721 0.213236674666 0.953668236732 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn 0.349010735750 0.216333240271 0.911806702614 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.059541396797 -0.167730659246 0.984033167362 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn 0.156115815043 -0.433304518461 0.887623250484 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn -0.284749358892 -0.108630344272 0.952427029610 -vn -0.028153385967 0.120939411223 0.992260575294 -vn -0.028153385967 0.120939411223 0.992260575294 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.699491322041 -0.402707010508 0.590371906757 -vn -0.699491322041 -0.402707010508 0.590371906757 -vn -0.284749358892 -0.108630344272 0.952427029610 -vn -0.087970539927 -0.399062961340 0.912693798542 -vn -0.699491322041 -0.402707010508 0.590371906757 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.772367894650 -0.622275471687 0.127362146974 -vn -0.699491322041 -0.402707010508 0.590371906757 -vn -0.772367894650 -0.622275471687 0.127362146974 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.498844444752 -0.762858331203 -0.411340981722 -vn -0.772367894650 -0.622275471687 0.127362146974 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn 0.011610183865 -0.692953765392 -0.720888495445 -vn 0.011610183865 -0.692953765392 -0.720888495445 -vn -0.498844444752 -0.762858331203 -0.411340981722 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn -0.616724967957 -0.723277747631 -0.310676127672 -vn 0.011610183865 -0.692953765392 -0.720888495445 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.552886605263 -0.401466637850 -0.730165004730 -vn 0.011610183865 -0.692953765392 -0.720888495445 -vn 0.552886605263 -0.401466637850 -0.730165004730 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.816603302956 -0.058255102485 -0.574252009392 -vn 0.552886605263 -0.401466637850 -0.730165004730 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.915098607540 0.254363477230 -0.312879711390 -vn 0.915098607540 0.254363477230 -0.312879711390 -vn 0.816603302956 -0.058255102485 -0.574252009392 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.763571262360 0.082273617387 -0.640460789204 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.707261800766 0.620109856129 -0.339476883411 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.666696548462 0.741401612759 0.076415598392 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.707261800766 0.620109856129 -0.339476883411 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.666696548462 0.741401612759 0.076415598392 -vn 0.695236504078 0.614502906799 -0.372870475054 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.707261800766 0.620109856129 -0.339476883411 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.666696548462 0.741401612759 0.076415598392 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.779175877571 0.625292360783 0.043525107205 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.666696548462 0.741401612759 0.076415598392 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.784898281097 0.530796229839 0.319671779871 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.669892311096 0.461255759001 0.581796705723 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.690741717815 0.620739996433 0.370887815952 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.129821896553 0.431758940220 0.892597615719 -vn 0.509533464909 0.721226334572 0.469263523817 -vn 0.509533464909 0.721226334572 0.469263523817 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn -0.028153385967 0.120939411223 0.992260575294 -vn -0.028153385967 0.120939411223 0.992260575294 -vn 0.129821896553 0.431758940220 0.892597615719 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.711518228054 0.412141650915 0.569105505943 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.488295584917 0.005115387030 0.872663319111 -vn 0.341495156288 -0.114650800824 0.932864546776 -vn 0.483176141977 0.413156896830 0.771908164024 -vn 0.804123282433 0.590738654137 0.066434659064 -vn 0.915098607540 0.254363477230 -0.312879711390 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.814443290234 0.428261250257 -0.391502827406 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.804123282433 0.590738654137 0.066434659064 -vn 0.804123282433 0.590738654137 0.066434659064 -vn 0.719430983067 0.689766764641 0.081491425633 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.519054591656 0.696090579033 0.496024429798 -vn 0.509533464909 0.721226334572 0.469263523817 -vn 0.804123282433 0.590738654137 0.066434659064 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.707261800766 0.620109856129 -0.339476883411 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn 0.743355274200 0.583543002605 -0.326956421137 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.279016286135 0.135762885213 -0.950641036034 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.279016286135 0.135762885213 -0.950641036034 -vn 0.601811349392 0.482836604118 -0.636153995991 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn -0.050258129835 -0.230293035507 -0.971822619438 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn 0.279016286135 0.135762885213 -0.950641036034 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn -0.050258129835 -0.230293035507 -0.971822619438 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn 0.578398287296 0.384770780802 -0.719309985638 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.613577902317 0.418933212757 -0.669340789318 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn 0.332224786282 0.123063504696 -0.935137450695 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.050258129835 -0.230293035507 -0.971822619438 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.279016286135 0.135762885213 -0.950641036034 -vn -0.090083517134 -0.213283732533 -0.972828328609 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.587422788143 -0.400375455618 -0.703302204609 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.486695349216 -0.541777074337 -0.685277462006 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn -0.696502983570 -0.649435698986 -0.305150657892 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.746161580086 -0.604792654514 -0.278332084417 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn -0.091559745371 -0.086368091404 -0.992047071457 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.257461100817 0.166636288166 -0.951812028885 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.257461100817 0.166636288166 -0.951812028885 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.266986012459 0.223067820072 -0.937528252602 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.257461100817 0.166636288166 -0.951812028885 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.568451166153 0.425904035568 -0.703895568848 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.460776060820 0.492168724537 -0.738549530506 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.722028672695 0.518228352070 -0.458381891251 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.283960044384 0.958195984364 0.035031434149 -vn 0.609941601753 0.791307687759 -0.042465876788 -vn 0.591527760029 0.703443408012 -0.394033312798 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.257461100817 0.166636288166 -0.951812028885 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.121597990394 0.379167228937 -0.917303740978 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.239243164659 -0.068095922470 -0.968568861485 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.237777918577 0.189985200763 -0.952558279037 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.321765869856 0.031786296517 -0.946285545826 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.685206770897 -0.246739089489 -0.685282051563 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.685206770897 -0.246739089489 -0.685282051563 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.499776810408 -0.188684627414 -0.845352709293 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.668428599834 -0.167659357190 -0.724633395672 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.925868690014 -0.143659874797 -0.349469542503 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.994119644165 -0.024308571592 0.105523765087 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.342720925808 -0.695488154888 0.631536722183 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.967731595039 0.089420117438 0.235583648086 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.968691527843 0.096191249788 0.228875383735 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.968691527843 0.096191249788 0.228875383735 -vn 0.975846707821 0.090819150209 0.198683232069 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.968691527843 0.096191249788 0.228875383735 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn -0.030241664499 -0.188028365374 0.981697916985 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.300667345524 -0.639052808285 0.707962334156 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn 0.518350839615 -0.279829472303 0.808089017868 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.739345252514 0.255324393511 0.623039305210 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.968691527843 0.096191249788 0.228875383735 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.739345252514 0.255324393511 0.623039305210 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.672764062881 -0.122789070010 0.729596734047 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.852591931820 0.267648220062 0.448833376169 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.075495623052 0.638999342918 0.765493452549 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.411579012871 0.213397726417 0.886038422585 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.003467992181 0.502313077450 0.864678859711 -vn 0.075495623052 0.638999342918 0.765493452549 -vn 0.450228840113 0.505723893642 0.735892176628 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.221997469664 0.427836626768 0.876169443130 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.739345252514 0.255324393511 0.623039305210 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.221997469664 0.427836626768 0.876169443130 -vn 0.405834138393 0.527080059052 0.746649324894 -vn 0.076707385480 0.563243448734 0.822722792625 -vn -0.046318404377 0.483514308929 0.874110102654 -vn 0.046239048243 0.326019555330 0.944231569767 -vn 0.046239048243 0.326019555330 0.944231569767 -vn 0.221997469664 0.427836626768 0.876169443130 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.076707385480 0.563243448734 0.822722792625 -vn -0.001853432041 0.702297449112 0.711881220341 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.046318404377 0.483514308929 0.874110102654 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.076707385480 0.563243448734 0.822722792625 -vn 0.174220189452 0.662042379379 0.728935658932 -vn 0.033342286944 0.775118052959 0.630936086178 -vn 0.033342286944 0.775118052959 0.630936086178 -vn -0.001853432041 0.702297449112 0.711881220341 -vn 0.076707385480 0.563243448734 0.822722792625 -vn -0.001853432041 0.702297449112 0.711881220341 -vn -0.107103355229 0.802144825459 0.587445795536 -vn -0.135683953762 0.754256904125 0.642406702042 -vn -0.135683953762 0.754256904125 0.642406702042 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.001853432041 0.702297449112 0.711881220341 -vn -0.001853432041 0.702297449112 0.711881220341 -vn 0.033342286944 0.775118052959 0.630936086178 -vn -0.077421911061 0.794761300087 0.601963758469 -vn -0.077421911061 0.794761300087 0.601963758469 -vn -0.107103355229 0.802144825459 0.587445795536 -vn -0.001853432041 0.702297449112 0.711881220341 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.046318404377 0.483514308929 0.874110102654 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.135683953762 0.754256904125 0.642406702042 -vn -0.221242532134 0.675346255302 0.703533351421 -vn -0.221242532134 0.675346255302 0.703533351421 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.122877381742 0.615804612637 0.778258204460 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.220259353518 0.493042349815 0.841662108898 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.221242532134 0.675346255302 0.703533351421 -vn -0.217704832554 0.616207301617 0.756897091866 -vn -0.217704832554 0.616207301617 0.756897091866 -vn -0.220259353518 0.493042349815 0.841662108898 -vn -0.300841867924 0.528104782104 0.794102966785 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.237557619810 0.219554141164 0.946235895157 -vn 0.046239048243 0.326019555330 0.944231569767 -vn -0.046318404377 0.483514308929 0.874110102654 -vn -0.046318404377 0.483514308929 0.874110102654 -vn -0.277309715748 0.398924142122 0.874047398567 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.237557619810 0.219554141164 0.946235895157 -vn -0.146622955799 -0.094849973917 0.984634518623 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.046239048243 0.326019555330 0.944231569767 -vn -0.237557619810 0.219554141164 0.946235895157 -vn 0.046239048243 0.326019555330 0.944231569767 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.221997469664 0.427836626768 0.876169443130 -vn 0.046239048243 0.326019555330 0.944231569767 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.254596322775 -0.007401073817 0.967019081116 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.772374272346 -0.180488973856 0.608984172344 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.772374272346 -0.180488973856 0.608984172344 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.739345252514 0.255324393511 0.623039305210 -vn 0.548855543137 0.135462462902 0.824868202209 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.772374272346 -0.180488973856 0.608984172344 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.930129706860 0.026116527617 0.366301268339 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.841595470905 -0.201776951551 0.501002132893 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.963214516640 -0.029732352123 0.267083823681 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.974512875080 -0.025255583227 0.222905322909 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.898189663887 -0.392043143511 -0.198890775442 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.957786798477 -0.129983693361 0.256414979696 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.898189663887 -0.392043143511 -0.198890775442 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.979428172112 -0.143875330687 0.141493156552 -vn 0.964216649532 -0.242792561650 0.106480389833 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.751338779926 -0.380058526993 -0.539486408234 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.751338779926 -0.380058526993 -0.539486408234 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.898189663887 -0.392043143511 -0.198890775442 -vn 0.913284003735 -0.340560376644 -0.223452240229 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.751338779926 -0.380058526993 -0.539486408234 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.367560327053 -0.375832140446 -0.850676000118 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.685206770897 -0.246739089489 -0.685282051563 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.935110151768 -0.206819996238 -0.287740230560 -vn 0.898189663887 -0.392043143511 -0.198890775442 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.367560327053 -0.375832140446 -0.850676000118 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.685206770897 -0.246739089489 -0.685282051563 -vn 0.682528674603 -0.394196480513 -0.615437865257 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.144967123866 -0.303422033787 -0.941764116287 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.751338779926 -0.380058526993 -0.539486408234 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.144967123866 -0.303422033787 -0.941764116287 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.367560327053 -0.375832140446 -0.850676000118 -vn 0.448662787676 -0.365269780159 -0.815646827221 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.144967123866 -0.303422033787 -0.941764116287 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.186271145940 -0.284139335155 -0.940514683723 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.367560327053 -0.375832140446 -0.850676000118 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.186271145940 -0.284139335155 -0.940514683723 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.058334883302 -0.343567430973 -0.937314510345 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.077338591218 0.131009072065 -0.988359928131 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.103644236922 0.293572992086 -0.950301408768 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.097468562424 0.453337430954 -0.885993838310 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.034318841994 -0.066007785499 -0.997228741646 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.378137439489 -0.097102984786 -0.920642733574 -vn 0.382293641567 -0.255345821381 -0.888059735298 -vn 0.018272232264 -0.243482127786 -0.969733238220 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.144967123866 -0.303422033787 -0.941764116287 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.092088714242 -0.480216324329 -0.872302651405 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.551769614220 -0.158883363008 -0.818722426891 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.314027190208 -0.224331513047 -0.922530353069 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.551769614220 -0.158883363008 -0.818722426891 -vn 0.560364544392 -0.248785302043 -0.789998352528 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.551769614220 -0.158883363008 -0.818722426891 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.784293711185 -0.208406299353 -0.584337353706 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.812738358974 -0.068893551826 -0.578541278839 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.964142441750 -0.114445134997 -0.239440232515 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.985361099243 -0.003984482028 -0.170433565974 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.594317197800 -0.286981523037 0.751284718513 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.113157883286 -0.147927060723 0.982503354549 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.392399847507 -0.357331961393 0.847547173500 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.433231920004 -0.378289788961 0.818050682545 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn -0.196055978537 -0.171053454280 0.965558290482 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn 0.113157883286 -0.147927060723 0.982503354549 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.196055978537 -0.171053454280 0.965558290482 -vn 0.050828304142 -0.260675102472 0.964087665081 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn 0.113157883286 -0.147927060723 0.982503354549 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.228975534439 -0.966663718224 0.114592753351 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.374007642269 -0.798582255840 0.471576750278 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.382115125656 -0.919592499733 0.091310665011 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.444822311401 -0.877944648266 0.177049025893 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn -0.175218105316 -0.657200574875 -0.733066201210 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.329441517591 -0.413433134556 -0.848847091198 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.754504084587 -0.130536347628 -0.643182575703 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.970057964325 0.115720912814 -0.213532686234 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.441210776567 0.220206886530 0.869966685772 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.441210776567 0.220206886530 0.869966685772 -vn 0.931108534336 0.223939180374 0.287903070450 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.388409644365 0.097376465797 0.916327297688 -vn 0.388409644365 0.097376465797 0.916327297688 -vn 0.441210776567 0.220206886530 0.869966685772 -vn 0.931108534336 0.223939180374 0.287903070450 -vn -0.209134399891 0.041847482324 0.976991117001 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.441210776567 0.220206886530 0.869966685772 -vn -0.209134399891 0.041847482324 0.976991117001 -vn 0.441210776567 0.220206886530 0.869966685772 -vn 0.388409644365 0.097376465797 0.916327297688 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.209134399891 0.041847482324 0.976991117001 -vn 0.441210776567 0.220206886530 0.869966685772 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.209134399891 0.041847482324 0.976991117001 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn 0.388409644365 0.097376465797 0.916327297688 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn -0.261542350054 -0.173252478242 0.949515223503 -vn 0.388409644365 0.097376465797 0.916327297688 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn -0.209134399891 0.041847482324 0.976991117001 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.728682994843 -0.144246354699 0.669487893581 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.978950858116 -0.052735656500 -0.197165250778 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn -0.656407594681 0.145513758063 -0.740239739418 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.021359665319 0.267187446356 -0.963407814503 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.596999526024 0.318955272436 -0.736110806465 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.922186851501 -0.285774916410 -0.260584205389 -vn 0.566875457764 -0.316759556532 -0.760470628738 -vn 0.566875457764 -0.316759556532 -0.760470628738 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.961917400360 -0.257273793221 0.092331200838 -vn 0.961917400360 -0.257273793221 0.092331200838 -vn 0.922186851501 -0.285774916410 -0.260584205389 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.877248644829 -0.199683353305 0.436533331871 -vn 0.877248644829 -0.199683353305 0.436533331871 -vn 0.961917400360 -0.257273793221 0.092331200838 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.965425789356 -0.103984490037 0.239040255547 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.262398809195 -0.280063599348 0.923423647881 -vn 0.262398809195 -0.280063599348 0.923423647881 -vn 0.877248644829 -0.199683353305 0.436533331871 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.761923372746 -0.109514206648 0.638341128826 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn -0.581942975521 -0.282826542854 0.762464106083 -vn -0.581942975521 -0.282826542854 0.762464106083 -vn 0.262398809195 -0.280063599348 0.923423647881 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.050410073251 -0.219276145101 0.974359691143 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.581942975521 -0.282826542854 0.762464106083 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.861634016037 -0.294701397419 0.413204461336 -vn -0.581942975521 -0.282826542854 0.762464106083 -vn -0.861634016037 -0.294701397419 0.413204461336 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.944620668888 -0.320841640234 -0.068938180804 -vn -0.861634016037 -0.294701397419 0.413204461336 -vn -0.944620668888 -0.320841640234 -0.068938180804 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.610765278339 -0.297193735838 -0.733922123909 -vn -0.944620668888 -0.320841640234 -0.068938180804 -vn -0.610765278339 -0.297193735838 -0.733922123909 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn -0.012012279592 -0.263556957245 -0.964569032192 -vn -0.610765278339 -0.297193735838 -0.733922123909 -vn -0.012012279592 -0.263556957245 -0.964569032192 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.566875457764 -0.316759556532 -0.760470628738 -vn -0.012012279592 -0.263556957245 -0.964569032192 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.278343588114 -0.634537100792 0.721032261848 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.263197481632 0.913265168667 -0.310924112797 -vn 0.148090556264 0.691439032555 -0.707093536854 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn 0.784938931465 0.612792372704 -0.091413095593 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.759271144867 0.607571125031 0.233162388206 -vn 0.807897269726 0.516708374023 0.283397972584 -vn 0.819642543793 0.571151673794 -0.044405825436 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.788973271847 -0.602539002895 -0.120282799006 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.453124940395 -0.533907651901 0.713877022266 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.525639712811 -0.737791001797 0.423517793417 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn 0.056181445718 0.741137385368 0.668998479843 -vn -0.111832089722 0.738575160503 0.664831042290 -vn -0.030380034819 0.719979643822 0.693329930305 -vn -0.030380034819 0.719979643822 0.693329930305 -vn 0.209175691009 0.608960092068 0.765122950077 -vn 0.056181445718 0.741137385368 0.668998479843 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.895822942257 -0.438793927431 -0.070435158908 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.114055275917 -0.985913276672 0.122337311506 -vn 0.077598378062 -0.729124426842 -0.679967701435 -vn -0.804523825645 -0.541744470596 -0.243422150612 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn 0.092088714242 -0.480216324329 -0.872302651405 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn 0.189562767744 -0.437566787004 -0.878977417946 -vn -0.248833328485 -0.838818490505 -0.484216392040 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.030380034819 0.719979643822 0.693329930305 -vn 0.038794174790 0.877033114433 0.478861063719 -vn 0.181931316853 0.702624380589 0.687909841537 -vn 0.181931316853 0.702624380589 0.687909841537 -vn 0.209175691009 0.608960092068 0.765122950077 -vn -0.030380034819 0.719979643822 0.693329930305 -vn -0.030380034819 0.719979643822 0.693329930305 -vn -0.111832089722 0.738575160503 0.664831042290 -vn -0.128300026059 0.747947514057 0.651240050793 -vn -0.128300026059 0.747947514057 0.651240050793 -vn 0.038794174790 0.877033114433 0.478861063719 -vn -0.030380034819 0.719979643822 0.693329930305 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.838057279587 -0.542088925838 0.061640992761 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.525639712811 -0.737791001797 0.423517793417 -vn -0.708151936531 -0.630512416363 0.317765504122 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.313671469688 -0.051237426698 0.948148190975 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.350755721331 -0.247280761600 0.903228998184 -vn -0.775184810162 -0.412616372108 0.478368282318 -vn -0.712314128876 -0.334099650383 0.617240667343 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.427448153496 -0.568507194519 -0.702913641930 -vn -0.050258129835 -0.230293035507 -0.971822619438 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn 0.345611095428 0.052760053426 -0.936893463135 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn 0.472444206476 -0.356785893440 -0.805915832520 -vn -0.149990439415 -0.628571093082 -0.763152182102 -vn -0.063608899713 -0.294556140900 -0.953514873981 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn 0.437060922384 -0.336361557245 0.834169447422 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn 0.003682370530 -0.286790549755 0.957986235619 -vn 0.141802325845 -0.285771101713 0.947748363018 -vn 0.554837346077 -0.267414331436 0.787810325623 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.525639712811 -0.737791001797 0.423517793417 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.525639712811 -0.737791001797 0.423517793417 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.226015701890 -0.698085904121 0.679406344891 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.496036052704 -0.635917305946 0.591233789921 -vn -0.449271619320 -0.796677172184 0.404302537441 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn -0.702819705009 -0.693241298199 0.159565150738 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.526743113995 -0.821171522141 0.219588309526 -vn -0.644651114941 -0.755516409874 0.116704128683 -vn -0.689048826694 -0.722033262253 -0.062287207693 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn 0.080240480602 0.638880431652 -0.765109956264 -vn 0.273087769747 0.699498236179 -0.660397827625 -vn 0.273087769747 0.699498236179 -0.660397827625 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn 0.273087769747 0.699498236179 -0.660397827625 -vn 0.465314835310 0.811250209808 -0.354055315256 -vn 0.465314835310 0.811250209808 -0.354055315256 -vn 0.273829400539 0.924696326256 -0.264488548040 -vn 0.183432310820 0.690850257874 -0.699341475964 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn -0.126566886902 -0.326682716608 -0.936621189117 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn 0.523957431316 -0.527176558971 0.668994367123 -vn 0.523957431316 -0.527176558971 0.668994367123 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.636142671108 -0.726978540421 0.258504658937 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.682675063610 -0.077603086829 -0.726589620113 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.411944001913 0.393821209669 0.821709811687 -vn 0.908309876919 0.015843641013 0.417997717857 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.448863714933 0.183967590332 0.874458312988 -vn 0.411944001913 0.393821209669 0.821709811687 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.996836364269 -0.078574545681 0.011971659027 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.989734828472 0.125559329987 -0.068262815475 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.819909214973 0.467708528042 0.330147922039 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.411944001913 0.393821209669 0.821709811687 -vn 0.972455918789 0.091722354293 0.214281424880 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.656450152397 -0.729013919830 -0.193937793374 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.795029461384 -0.241429388523 -0.556453049183 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn 0.257287919521 0.884805023670 0.388488024473 -vn 0.495524138212 0.582533538342 0.644290685654 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.257287919521 0.884805023670 0.388488024473 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn 0.990318894386 0.134526759386 0.034220863134 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn -0.290875703096 0.016440996900 0.956619560719 -vn -0.290875703096 0.016440996900 0.956619560719 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn 0.192745268345 0.492540299892 0.848677396774 -vn -0.716207981110 0.499084711075 0.487812042236 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.707751631737 0.511009931564 0.487807840109 -vn 0.171868190169 0.732080280781 0.659181177616 -vn 0.192745268345 0.492540299892 0.848677396774 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.716207981110 0.499084711075 0.487812042236 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.171868190169 0.732080280781 0.659181177616 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn 0.184908628464 0.381606191397 0.905640959740 -vn -0.629050672054 0.575037002563 0.523094296455 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.648009002209 0.425326675177 0.631808161736 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.184908628464 0.381606191397 0.905640959740 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.629050672054 0.575037002563 0.523094296455 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn -0.787957370281 0.477610796690 0.388601541519 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.266624689102 0.593041419983 0.759745419025 -vn -0.266624689102 0.593041419983 0.759745419025 -vn 0.076644353569 0.755293190479 0.650890052319 -vn -0.787957370281 0.477610796690 0.388601541519 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.787957370281 0.477610796690 0.388601541519 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.844129383564 0.021499739960 -0.535708248615 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.716207981110 0.499084711075 0.487812042236 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.192745268345 0.492540299892 0.848677396774 -vn -0.266624689102 0.593041419983 0.759745419025 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.716207981110 0.499084711075 0.487812042236 -vn -0.716207981110 0.499084711075 0.487812042236 -vn -0.825679838657 0.400832891464 0.396970719099 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn -0.340450763702 -0.576976120472 -0.742422938347 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.962301254272 -0.039169192314 -0.269150674343 -vn -0.953632593155 -0.027220398188 -0.299739748240 -vn -0.446626484394 -0.477167993784 -0.756858944893 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.616365551949 0.101494207978 0.780892074108 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.979201793671 0.043794684112 0.198105692863 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.180061206222 0.563334167004 0.806370019913 -vn -0.180061206222 0.563334167004 0.806370019913 -vn 0.171868190169 0.732080280781 0.659181177616 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.707751631737 0.511009931564 0.487807840109 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.880204081535 0.234645605087 -0.412531435490 -vn -0.280455946922 -0.412052839994 -0.866923809052 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.770441830158 0.124682173133 -0.625198960304 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.629050672054 0.575037002563 0.523094296455 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.184908628464 0.381606191397 0.905640959740 -vn -0.180061206222 0.563334167004 0.806370019913 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.629050672054 0.575037002563 0.523094296455 -vn -0.629050672054 0.575037002563 0.523094296455 -vn -0.739546954632 0.515352368355 0.432992160320 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn -0.263094604015 -0.543884932995 -0.796850323677 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.946830511093 0.063935965300 -0.315315932035 -vn -0.849882602692 0.271090626717 -0.451895385981 -vn -0.321785986423 -0.349392801523 -0.879987776279 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.535567224026 -0.012940082699 0.844393432140 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.981580853462 0.085098065436 0.171047657728 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.844129383564 0.021499739960 -0.535708248615 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.962681233883 0.257090866566 -0.084552332759 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.076644353569 0.755293190479 0.650890052319 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.565301001072 0.742878913879 0.358560562134 -vn 0.076644353569 0.755293190479 0.650890052319 -vn 0.076644353569 0.755293190479 0.650890052319 -vn -0.266624689102 0.593041419983 0.759745419025 -vn 0.496823996305 0.472443997860 0.727985262871 -vn 0.616365551949 0.101494207978 0.780892074108 -vn 0.496823996305 0.472443997860 0.727985262871 -vn -0.266624689102 0.593041419983 0.759745419025 -vn -0.266624689102 0.593041419983 0.759745419025 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.616365551949 0.101494207978 0.780892074108 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.616365551949 0.101494207978 0.780892074108 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.192745268345 0.492540299892 0.848677396774 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.895483732224 -0.159650802612 0.415476232767 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.913564145565 -0.070332199335 0.400566965342 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.856193542480 -0.515455365181 -0.035190675408 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.620249688625 -0.654477775097 -0.432376146317 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.844129383564 0.021499739960 -0.535708248615 -vn 0.833615779877 -0.411711692810 -0.368209511042 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn 0.254390329123 -0.599514067173 -0.758859992027 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.844129383564 0.021499739960 -0.535708248615 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.770441830158 0.124682173133 -0.625198960304 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.901966691017 0.388665527105 -0.188136070967 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.935332417488 0.343503236771 -0.084609612823 -vn 0.171868190169 0.732080280781 0.659181177616 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.575632691383 0.763012647629 0.294038593769 -vn 0.171868190169 0.732080280781 0.659181177616 -vn 0.171868190169 0.732080280781 0.659181177616 -vn -0.180061206222 0.563334167004 0.806370019913 -vn 0.521306455135 0.467230886221 0.714097201824 -vn 0.535567224026 -0.012940082699 0.844393432140 -vn 0.521306455135 0.467230886221 0.714097201824 -vn -0.180061206222 0.563334167004 0.806370019913 -vn -0.180061206222 0.563334167004 0.806370019913 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.535567224026 -0.012940082699 0.844393432140 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.535567224026 -0.012940082699 0.844393432140 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.184908628464 0.381606191397 0.905640959740 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.843786776066 -0.245984554291 0.476985782385 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.793580412865 -0.300677359104 0.528983235359 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.784687519073 -0.618691146374 -0.038558837026 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.570066154003 -0.723200023174 -0.389879912138 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.770441830158 0.124682173133 -0.625198960304 -vn 0.830022990704 -0.359803080559 -0.426149666309 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn 0.330498814583 -0.562601387501 -0.757793009281 -vn 0.551274299622 -0.377769410610 -0.743899822235 -vn 0.770441830158 0.124682173133 -0.625198960304 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn 0.129396855831 0.545063197613 0.828349292278 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.290875703096 0.016440996900 0.956619560719 -vn 0.129396855831 0.545063197613 0.828349292278 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.648009002209 0.425326675177 0.631808161736 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.649962127209 -0.032834753394 0.759256958961 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn -0.269836694002 -0.648911595345 -0.711408436298 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn -0.361486613750 -0.871635258198 -0.331027746201 -vn -0.755871891975 -0.587243855000 0.289486378431 -vn -0.976216316223 -0.161507442594 -0.144627094269 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.782792508602 -0.622060239315 0.016640689224 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.823331177235 0.180604666471 0.538059234619 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn 0.092150472105 -0.960336923599 -0.263175487518 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.548589885235 -0.620292305946 -0.560612738132 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.956916511059 -0.095712594688 0.274134784937 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.129396855831 0.545063197613 0.828349292278 -vn 0.129396855831 0.545063197613 0.828349292278 -vn -0.290875703096 0.016440996900 0.956619560719 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn -0.290875703096 0.016440996900 0.956619560719 -vn -0.290875703096 0.016440996900 0.956619560719 -vn -0.252987205982 -0.770890474319 0.584572792053 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.782792508602 -0.622060239315 0.016640689224 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.782792508602 -0.622060239315 0.016640689224 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.782792508602 -0.622060239315 0.016640689224 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.374225527048 -0.918710529804 -0.126199200749 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.978597700596 -0.203487649560 -0.030648948625 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.873680889606 -0.254217475653 -0.414795339108 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.823331177235 0.180604666471 0.538059234619 -vn 0.976393342018 -0.034493237734 0.213228285313 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.996993303299 0.043252151459 0.064293101430 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.823331177235 0.180604666471 0.538059234619 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.823331177235 0.180604666471 0.538059234619 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.522149622440 0.581013023853 0.624326586723 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.483783185482 -0.188346296549 0.854680955410 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.042617920786 -0.077262252569 0.996099531651 -vn 0.121004454792 -0.743254899979 0.657974183559 -vn 0.702570617199 -0.417962342501 0.575935781002 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.991819202900 -0.034799017012 -0.122815772891 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.882028698921 0.317493706942 0.348171114922 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.983536243439 0.177552938461 0.033636920154 -vn 0.981092154980 0.054133977741 0.185816302896 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.983536243439 0.177552938461 0.033636920154 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.636142671108 -0.726978540421 0.258504658937 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.636142671108 -0.726978540421 0.258504658937 -vn -0.743372976780 -0.626676201820 0.233823701739 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.656450152397 -0.729013919830 -0.193937793374 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.063488200307 0.792590856552 0.606439590454 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.616370320320 0.433791041374 0.657200813293 -vn 0.110006704926 0.644826173782 0.756371438503 -vn -0.063488200307 0.792590856552 0.606439590454 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn 0.076644353569 0.755293190479 0.650890052319 -vn 0.411944001913 0.393821209669 0.821709811687 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.787957370281 0.477610796690 0.388601541519 -vn 0.076644353569 0.755293190479 0.650890052319 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.787957370281 0.477610796690 0.388601541519 -vn -0.448863714933 0.183967590332 0.874458312988 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn -0.918951630592 -0.393101125956 0.031612586230 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn -0.107680648565 -0.894641518593 -0.433614403009 -vn -0.333550721407 -0.596247136593 -0.730228245258 -vn -0.959001660347 -0.101881392300 -0.264454126358 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.563659667969 -0.461650341749 -0.684957504272 -vn 0.755673527718 -0.580640435219 -0.303008645773 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.972455918789 0.091722354293 0.214281424880 -vn 0.411944001913 0.393821209669 0.821709811687 -vn 0.411944001913 0.393821209669 0.821709811687 -vn 0.076644353569 0.755293190479 0.650890052319 -vn 0.952149391174 0.305112123489 -0.017836395651 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.508389532566 0.448634028435 0.735028982162 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.518603384495 0.300804406404 0.800354421139 -vn 0.508389532566 0.448634028435 0.735028982162 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.504803478718 -0.691964030266 0.516099989414 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.836774110794 -0.481221765280 0.261217683554 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn 0.997338175774 0.072519011796 0.007588622160 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.508389532566 0.448634028435 0.735028982162 -vn 0.997338175774 0.072519011796 0.007588622160 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.088888555765 0.015037650242 0.995928049088 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn 0.322712332010 0.518643856049 0.791748225689 -vn -0.674985289574 0.334197402000 0.657804667950 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.700886607170 0.338039726019 0.628082096577 -vn 0.118212953210 0.816253483295 0.565469682217 -vn 0.322712332010 0.518643856049 0.791748225689 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.674985289574 0.334197402000 0.657804667950 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.118212953210 0.816253483295 0.565469682217 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn 0.321015238762 0.514520943165 0.795121014118 -vn -0.655655622482 0.397478044033 0.641971111298 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.571633458138 0.247708499432 0.782224833965 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.321015238762 0.514520943165 0.795121014118 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.655655622482 0.397478044033 0.641971111298 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn -0.734525084496 0.400696694851 0.547644972801 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.059534739703 0.594721972942 0.801724016666 -vn -0.059534739703 0.594721972942 0.801724016666 -vn 0.149192854762 0.818112552166 0.555367708206 -vn -0.734525084496 0.400696694851 0.547644972801 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.734525084496 0.400696694851 0.547644972801 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.695948600769 0.300683468580 -0.652108132839 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.674985289574 0.334197402000 0.657804667950 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.322712332010 0.518643856049 0.791748225689 -vn -0.059534739703 0.594721972942 0.801724016666 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.674985289574 0.334197402000 0.657804667950 -vn -0.674985289574 0.334197402000 0.657804667950 -vn -0.727050065994 0.229038923979 0.647255241871 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn -0.425885379314 -0.623170614243 -0.655957341194 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.975743651390 -0.217743486166 -0.022630447522 -vn -0.956104636192 -0.292931735516 -0.007408959325 -vn -0.553487002850 -0.562953591347 -0.613787710667 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.771579861641 0.202758759260 0.602953910828 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.964841306210 0.247465044260 0.088557027280 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.094312846661 0.586990058422 0.804081916809 -vn -0.094312846661 0.586990058422 0.804081916809 -vn 0.118212953210 0.816253483295 0.565469682217 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.700886607170 0.338039726019 0.628082096577 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.963580250740 -0.267051726580 0.014016546309 -vn -0.333052396774 -0.693272292614 -0.639100670815 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.629623532295 0.333947807550 -0.701464951038 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.655655622482 0.397478044033 0.641971111298 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.321015238762 0.514520943165 0.795121014118 -vn -0.094312846661 0.586990058422 0.804081916809 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.655655622482 0.397478044033 0.641971111298 -vn -0.655655622482 0.397478044033 0.641971111298 -vn -0.725499093533 0.294759482145 0.621906638145 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn -0.313091188669 -0.700623571873 -0.641171157360 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.960929155350 -0.276273429394 0.016975795850 -vn -0.971467733383 -0.236483171582 -0.018060231581 -vn -0.470730185509 -0.604085922241 -0.643034458160 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.767063081264 0.215842425823 0.604174017906 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.935157954693 0.353377223015 -0.024578729644 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.695948600769 0.300683468580 -0.652108132839 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.856117010117 0.482730776072 -0.184484988451 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.149192854762 0.818112552166 0.555367708206 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.540606260300 0.807461678982 0.236115515232 -vn 0.149192854762 0.818112552166 0.555367708206 -vn 0.149192854762 0.818112552166 0.555367708206 -vn -0.059534739703 0.594721972942 0.801724016666 -vn 0.605633556843 0.573746502399 0.551382780075 -vn 0.771579861641 0.202758759260 0.602953910828 -vn 0.605633556843 0.573746502399 0.551382780075 -vn -0.059534739703 0.594721972942 0.801724016666 -vn -0.059534739703 0.594721972942 0.801724016666 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.771579861641 0.202758759260 0.602953910828 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.771579861641 0.202758759260 0.602953910828 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.322712332010 0.518643856049 0.791748225689 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.961140692234 0.050061751157 0.271481752396 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.970984339714 0.123645357788 0.204697906971 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.952282905579 -0.284368395805 -0.110868863761 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.685568511486 -0.533490240574 -0.495362460613 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.695948600769 0.300683468580 -0.652108132839 -vn 0.874183952808 -0.164703086019 -0.456809937954 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn 0.214254140854 -0.526274204254 -0.822879493237 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.695948600769 0.300683468580 -0.652108132839 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.629623532295 0.333947807550 -0.701464951038 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.775852501392 0.567831695080 -0.274991095066 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.832989275455 0.504606544971 -0.226938515902 -vn 0.118212953210 0.816253483295 0.565469682217 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.460896521807 0.879790425301 0.116375401616 -vn 0.118212953210 0.816253483295 0.565469682217 -vn 0.118212953210 0.816253483295 0.565469682217 -vn -0.094312846661 0.586990058422 0.804081916809 -vn 0.578698873520 0.646696209908 0.496881872416 -vn 0.767063081264 0.215842425823 0.604174017906 -vn 0.578698873520 0.646696209908 0.496881872416 -vn -0.094312846661 0.586990058422 0.804081916809 -vn -0.094312846661 0.586990058422 0.804081916809 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.767063081264 0.215842425823 0.604174017906 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.767063081264 0.215842425823 0.604174017906 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.321015238762 0.514520943165 0.795121014118 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.973615527153 0.120421126485 0.193833947182 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.966279029846 0.053210075945 0.251939415932 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.952031672001 -0.265573054552 -0.152008801699 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.723640680313 -0.512672543526 -0.462072551250 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.629623532295 0.333947807550 -0.701464951038 -vn 0.849038064480 -0.124876268208 -0.513361752033 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn 0.313650816679 -0.538114547729 -0.782340049744 -vn 0.549481987953 -0.322085440159 -0.770928323269 -vn 0.629623532295 0.333947807550 -0.701464951038 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn 0.180510208011 0.646930694580 0.740875661373 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.180510208011 0.646930694580 0.740875661373 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn -0.571633458138 0.247708499432 0.782224833965 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn -0.322253704071 -0.189766019583 0.927438080311 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn -0.196830675006 -0.838620603085 -0.507910609245 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn -0.068582832813 -0.993876457214 -0.086637146771 -vn -0.326727688313 -0.762412965298 0.558547675610 -vn -0.845117628574 -0.490876168013 0.211699649692 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.943425536156 -0.203005120158 -0.262177675962 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.823468267918 0.544366657734 0.159890517592 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn 0.433536440134 -0.874591886997 -0.217106372118 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.634616017342 -0.463246196508 -0.618599593639 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.955628812313 0.291310042143 -0.043726418167 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.180510208011 0.646930694580 0.740875661373 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.088888555765 0.015037650242 0.995928049088 -vn 0.310724049807 -0.698983669281 0.644105851650 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.943425536156 -0.203005120158 -0.262177675962 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.943425536156 -0.203005120158 -0.262177675962 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.943425536156 -0.203005120158 -0.262177675962 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.717304289341 -0.660168945789 -0.222826108336 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.891302168369 0.238586738706 -0.385560452938 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.758884966373 0.092251464725 -0.644657492638 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.823468267918 0.544366657734 0.159890517592 -vn 0.930916905403 0.332600742579 -0.150898694992 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.877895355225 0.405764371157 -0.254273504019 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.823468267918 0.544366657734 0.159890517592 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.823468267918 0.544366657734 0.159890517592 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.448758721352 0.815742969513 0.364937067032 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn 0.803170442581 0.076972313225 0.590755879879 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.461701482534 0.051164239645 0.885558545589 -vn 0.641450524330 -0.522252142429 0.561955392361 -vn 0.964601278305 -0.034498769790 0.261446416378 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn 0.149192854762 0.818112552166 0.555367708206 -vn 0.508389532566 0.448634028435 0.735028982162 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.734525084496 0.400696694851 0.547644972801 -vn 0.149192854762 0.818112552166 0.555367708206 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.734525084496 0.400696694851 0.547644972801 -vn -0.518603384495 0.300804406404 0.800354421139 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn -0.943273961544 -0.317976415157 0.095526158810 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn -0.181024864316 -0.898927867413 -0.398947030306 -vn -0.368347316980 -0.700353562832 -0.611412405968 -vn -0.957798421383 -0.287328153849 0.008044288494 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.997338175774 0.072519011796 0.007588622160 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.515817642212 -0.344284206629 -0.784474670887 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.997338175774 0.072519011796 0.007588622160 -vn 0.508389532566 0.448634028435 0.735028982162 -vn 0.508389532566 0.448634028435 0.735028982162 -vn 0.149192854762 0.818112552166 0.555367708206 -vn 0.900408267975 0.406306445599 -0.155499354005 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.501678824425 0.396977752447 0.768587708473 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn 0.501678824425 0.396977752447 0.768587708473 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.443338632584 -0.801661252975 0.400986373425 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.655084729195 -0.755481123924 0.010595246218 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.247283771634 -0.719329714775 -0.649165272713 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.501678824425 0.396977752447 0.768587708473 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn 0.505004465580 0.475358963013 0.720419526100 -vn -0.482553303242 0.293915122747 0.825079500675 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.519214332104 0.253620952368 0.816145122051 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.505004465580 0.475358963013 0.720419526100 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.482553303242 0.293915122747 0.825079500675 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn 0.520211935043 0.559058606625 0.645626068115 -vn -0.438396394253 0.250405520201 0.863195061684 -vn -0.228174239397 0.046188309789 0.972524106503 -vn -0.228174239397 0.046188309789 0.972524106503 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.520211935043 0.559058606625 0.645626068115 -vn -0.228174239397 0.046188309789 0.972524106503 -vn -0.438396394253 0.250405520201 0.863195061684 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn -0.228174239397 0.046188309789 0.972524106503 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn -0.437682479620 0.131488755345 0.889463186264 -vn -0.508684575558 0.100909605622 0.855018854141 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.227183014154 0.711364388466 0.665092885494 -vn -0.437682479620 0.131488755345 0.889463186264 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.437682479620 0.131488755345 0.889463186264 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.391208052635 0.468177586794 -0.792316854000 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.482553303242 0.293915122747 0.825079500675 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.143501415849 0.469171375036 0.871369957924 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.482553303242 0.293915122747 0.825079500675 -vn -0.482553303242 0.293915122747 0.825079500675 -vn -0.508684575558 0.100909605622 0.855018854141 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn -0.346198737621 -0.711642503738 -0.611319363117 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.869434535503 -0.445658445358 0.213242009282 -vn -0.828451156616 -0.499392956495 0.253525912762 -vn -0.473281711340 -0.666536271572 -0.575963377953 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.901354968548 0.173700019717 0.396721005440 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.910344779491 0.372827082872 -0.179644897580 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.532382369041 0.165311589837 0.830205440521 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.265235602856 0.751007497311 0.604679942131 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.519214332104 0.253620952368 0.816145122051 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.838412821293 -0.511487185955 0.188267946243 -vn -0.325170487165 -0.671815574169 -0.665528357029 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.406478911638 0.543811917305 -0.734195768833 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.438396394253 0.250405520201 0.863195061684 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.184828087687 0.570850193501 0.799980401993 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.438396394253 0.250405520201 0.863195061684 -vn -0.438396394253 0.250405520201 0.863195061684 -vn -0.532382369041 0.165311589837 0.830205440521 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn -0.371108859777 -0.615805447102 -0.695026516914 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.861999690533 -0.480082362890 0.162718862295 -vn -0.883482158184 -0.442702859640 0.153210327029 -vn -0.472557634115 -0.605245292187 -0.640599250793 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.874575555325 0.318329840899 0.365764498711 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.831110119820 0.524186849594 -0.185698986053 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.391208052635 0.468177586794 -0.792316854000 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.674065530300 0.659879446030 -0.331956028938 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.463716655970 0.855164170265 0.231648653746 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.901354968548 0.173700019717 0.396721005440 -vn 0.686772048473 0.587655961514 0.427790343761 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.143501415849 0.469171375036 0.871369957924 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.901354968548 0.173700019717 0.396721005440 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.901354968548 0.173700019717 0.396721005440 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.505004465580 0.475358963013 0.720419526100 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.986742973328 0.148276701570 -0.065972454846 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.980657398701 0.183535054326 -0.068014398217 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.863255441189 -0.137341469526 -0.485723584890 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.544145107269 -0.351761192083 -0.761689007282 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.391208052635 0.468177586794 -0.792316854000 -vn 0.687293410301 -0.005807823967 -0.726356685162 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn 0.128968864679 -0.386283367872 -0.913319349289 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.391208052635 0.468177586794 -0.792316854000 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.406478911638 0.543811917305 -0.734195768833 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.623391151428 0.703280031681 -0.341731846333 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.739776730537 0.600438773632 -0.303650617599 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.388378977776 0.908979058266 0.151389509439 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.265235602856 0.751007497311 0.604679942131 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.874575555325 0.318329840899 0.365764498711 -vn 0.630653321743 0.678292334080 0.377088755369 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.184828087687 0.570850193501 0.799980401993 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.874575555325 0.318329840899 0.365764498711 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.874575555325 0.318329840899 0.365764498711 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.520211935043 0.559058606625 0.645626068115 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.937908053398 0.346375674009 -0.018771579489 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.918112099171 0.388273864985 -0.079458087683 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.876418769360 0.027477806434 -0.480765074492 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.560012459755 -0.217515259981 -0.799420535564 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.406478911638 0.543811917305 -0.734195768833 -vn 0.664896368980 0.172920316458 -0.726643919945 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn 0.129326030612 -0.292879104614 -0.947362959385 -vn 0.389072328806 -0.095891259611 -0.916202783585 -vn 0.406478911638 0.543811917305 -0.734195768833 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn 0.339759290218 0.652270197868 0.677574515343 -vn -0.228174239397 0.046188309789 0.972524106503 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn -0.228174239397 0.046188309789 0.972524106503 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn 0.170270666480 -0.406844973564 0.897488176823 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn -0.235076472163 -0.728490591049 -0.643459796906 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn 0.082195654511 -0.937620520592 -0.337804198265 -vn 0.088449247181 -0.925405740738 0.368511795998 -vn -0.619149923325 -0.738844692707 0.266010940075 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.904637575150 0.042771328241 -0.424029976130 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.809969186783 0.585213720798 0.038403198123 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.476972043514 -0.707461297512 -0.521532535553 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.355099231005 -0.208450347185 -0.911291956902 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.687901079655 0.645506918430 -0.331832736731 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.339759290218 0.652270197868 0.677574515343 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.513085484505 0.034213557839 0.857655346394 -vn 0.684322059155 -0.660563945770 0.308801889420 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.904637575150 0.042771328241 -0.424029976130 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.904637575150 0.042771328241 -0.424029976130 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.904637575150 0.042771328241 -0.424029976130 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.753184616566 -0.437666743994 -0.491081178188 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.821415543556 0.418836295605 -0.387108117342 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.494041234255 0.320056259632 -0.808385610580 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.809969186783 0.585213720798 0.038403198123 -vn 0.869845926762 0.474592566490 -0.134647488594 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.675994634628 0.653667986393 -0.340219646692 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.809969186783 0.585213720798 0.038403198123 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.809969186783 0.585213720798 0.038403198123 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.442176759243 0.858698606491 0.259068340063 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.975914239883 0.216983765364 0.022570852190 -vn 0.902213692665 0.365601032972 0.228793248534 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.775210857391 0.244860023260 0.582315802574 -vn 0.927561044693 -0.318227767944 0.195861279964 -vn 0.975914239883 0.216983765364 0.022570852190 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.501678824425 0.396977752447 0.768587708473 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.437682479620 0.131488755345 0.889463186264 -vn 0.227183014154 0.711364388466 0.665092885494 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.437682479620 0.131488755345 0.889463186264 -vn -0.234297513962 -0.089574843645 0.968029439449 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn -0.734225749969 -0.640220344067 0.225899294019 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn -0.405751198530 -0.675861299038 -0.615286529064 -vn -0.354655981064 -0.667066633701 -0.655165076256 -vn -0.765435516834 -0.599227905273 0.234594091773 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.280589044094 -0.079728811979 -0.956510901451 -vn 0.431223034859 -0.245175361633 -0.868294715881 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.913566887379 0.292726159096 -0.282324224710 -vn 0.501678824425 0.396977752447 0.768587708473 -vn 0.501678824425 0.396977752447 0.768587708473 -vn 0.227183014154 0.711364388466 0.665092885494 -vn 0.610397398472 0.699176430702 -0.372246384621 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.149933636189 0.697240829468 0.700981557369 -vn 0.110006704926 0.644826173782 0.756371438503 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.693001866341 0.498886138201 0.520443081856 -vn 0.149933636189 0.697240829468 0.700981557369 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.616370320320 0.433791041374 0.657200813293 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.901949763298 -0.291285008192 0.318809688091 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.359303474426 -0.736660242081 0.572916030884 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.149933636189 0.697240829468 0.700981557369 -vn 0.890769839287 0.184809222817 0.415180265903 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn -0.357588768005 0.118223853409 0.926365673542 -vn -0.357588768005 0.118223853409 0.926365673542 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn 0.157286047935 0.538553655148 0.827780783176 -vn -0.677771806717 0.617188751698 0.399629086256 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.616071522236 0.741670787334 0.265292972326 -vn 0.222944125533 0.750830531120 0.621730983257 -vn 0.157286047935 0.538553655148 0.827780783176 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.677771806717 0.617188751698 0.399629086256 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.222944125533 0.750830531120 0.621730983257 -vn 0.983508825302 0.178707674146 0.027819553390 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn 0.104782521725 0.411863684654 0.905201017857 -vn -0.610949575901 0.705598056316 0.358987480402 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.657146453857 0.579351842403 0.482192873955 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.104782521725 0.411863684654 0.905201017857 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.610949575901 0.705598056316 0.358987480402 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn -0.731816112995 0.506709039211 0.455731421709 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.206256195903 0.641347289085 0.739007472992 -vn -0.206256195903 0.641347289085 0.739007472992 -vn 0.096828460693 0.822797715664 0.560025155544 -vn -0.731816112995 0.506709039211 0.455731421709 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.731816112995 0.506709039211 0.455731421709 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.804508805275 -0.077632702887 -0.588845252991 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.677771806717 0.617188751698 0.399629086256 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.157286047935 0.538553655148 0.827780783176 -vn -0.206256195903 0.641347289085 0.739007472992 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.677771806717 0.617188751698 0.399629086256 -vn -0.677771806717 0.617188751698 0.399629086256 -vn -0.768773972988 0.435160547495 0.468638271093 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn -0.316729605198 -0.591466248035 -0.741518735886 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.926304101944 0.045903865248 -0.373969972134 -vn -0.975134015083 -0.114833161235 -0.189544335008 -vn -0.430359631777 -0.595827996731 -0.678070485592 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.554780423641 0.107210293412 0.825060427189 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.970880985260 -0.015337765217 0.239070773125 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.139188796282 0.683903872967 0.716171741486 -vn -0.139188796282 0.683903872967 0.716171741486 -vn 0.222944125533 0.750830531120 0.621730983257 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.616071522236 0.741670787334 0.265292972326 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.833082377911 0.170161336660 -0.526325821877 -vn -0.199534490705 -0.497407346964 -0.844258189201 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.908918678761 -0.099282518029 -0.404981225729 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.610949575901 0.705598056316 0.358987480402 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.104782521725 0.411863684654 0.905201017857 -vn -0.139188796282 0.683903872967 0.716171741486 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.610949575901 0.705598056316 0.358987480402 -vn -0.610949575901 0.705598056316 0.358987480402 -vn -0.668119966984 0.705169081688 0.237386316061 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn -0.208768904209 -0.573515474796 -0.792146205902 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.850158751011 0.180513113737 -0.494616091251 -vn -0.799643516541 0.236606702209 -0.551894485950 -vn -0.254326343536 -0.407145589590 -0.877240300179 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.396851718426 -0.018567655236 0.917694926262 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.868796169758 -0.152697831392 0.471037775278 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.804508805275 -0.077632702887 -0.588845252991 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.981905460358 0.179060816765 -0.061635598540 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.096828460693 0.822797715664 0.560025155544 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.585843265057 0.739259600639 0.332088679075 -vn 0.096828460693 0.822797715664 0.560025155544 -vn 0.096828460693 0.822797715664 0.560025155544 -vn -0.206256195903 0.641347289085 0.739007472992 -vn 0.518502652645 0.501994550228 0.692211270332 -vn 0.554780423641 0.107210293412 0.825060427189 -vn 0.518502652645 0.501994550228 0.692211270332 -vn -0.206256195903 0.641347289085 0.739007472992 -vn -0.206256195903 0.641347289085 0.739007472992 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.554780423641 0.107210293412 0.825060427189 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.554780423641 0.107210293412 0.825060427189 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.157286047935 0.538553655148 0.827780783176 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.880316972733 -0.152910739183 0.449066013098 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.889279901981 -0.100665405393 0.446147680283 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.815516710281 -0.578331232071 0.021573621780 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.567068278790 -0.731413245201 -0.378772050142 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.804508805275 -0.077632702887 -0.588845252991 -vn 0.797515034676 -0.488100707531 -0.354580610991 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn 0.196752786636 -0.678127408028 -0.708118319511 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.804508805275 -0.077632702887 -0.588845252991 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.908918678761 -0.099282518029 -0.404981225729 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.987893760204 0.129381850362 0.085593491793 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.983508825302 0.178707674146 0.027819553390 -vn 0.222944125533 0.750830531120 0.621730983257 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.651536583900 0.604201257229 0.458738386631 -vn 0.222944125533 0.750830531120 0.621730983257 -vn 0.222944125533 0.750830531120 0.621730983257 -vn -0.139188796282 0.683903872967 0.716171741486 -vn 0.461553364992 0.375474810600 0.803733229637 -vn 0.396851718426 -0.018567655236 0.917694926262 -vn 0.461553364992 0.375474810600 0.803733229637 -vn -0.139188796282 0.683903872967 0.716171741486 -vn -0.139188796282 0.683903872967 0.716171741486 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.396851718426 -0.018567655236 0.917694926262 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.396851718426 -0.018567655236 0.917694926262 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.104782521725 0.411863684654 0.905201017857 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.646806478500 -0.355502337217 0.674729228020 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.632826983929 -0.368218600750 0.681135118008 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.626226544380 -0.741151809692 0.241938635707 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.506012320518 -0.837805211544 -0.205021828413 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.908918678761 -0.099282518029 -0.404981225729 -vn 0.793541431427 -0.589811086655 -0.149715930223 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn 0.339195787907 -0.687699139118 -0.641884803772 -vn 0.614367485046 -0.528622925282 -0.585756242275 -vn 0.908918678761 -0.099282518029 -0.404981225729 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn 0.113310351968 0.573081195354 0.811627209187 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.357588768005 0.118223853409 0.926365673542 -vn 0.113310351968 0.573081195354 0.811627209187 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.657146453857 0.579351842403 0.482192873955 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.734268069267 0.103339523077 0.670948088169 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn -0.233318984509 -0.666360259056 -0.708185136318 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn -0.399920433760 -0.850315570831 -0.342092126608 -vn -0.848475039005 -0.487641692162 0.205659151077 -vn -0.952475607395 -0.035068064928 -0.302589625120 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.748748421669 -0.647354602814 0.142505466938 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.892274856567 0.088678508997 0.442698240280 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn 0.043543953449 -0.980369687080 -0.192299902439 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.558148503304 -0.735797524452 -0.383499979973 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.871987402439 -0.213342875242 0.440593689680 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.113310351968 0.573081195354 0.811627209187 -vn 0.113310351968 0.573081195354 0.811627209187 -vn -0.357588768005 0.118223853409 0.926365673542 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn -0.357588768005 0.118223853409 0.926365673542 -vn -0.357588768005 0.118223853409 0.926365673542 -vn -0.383437961340 -0.706359207630 0.595005929470 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.748748421669 -0.647354602814 0.142505466938 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.748748421669 -0.647354602814 0.142505466938 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.748748421669 -0.647354602814 0.142505466938 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.360437154770 -0.932430565357 -0.025656782091 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.959618747234 -0.261538088322 0.103584453464 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.903939485550 -0.364983111620 -0.222891658545 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.892274856567 0.088678508997 0.442698240280 -vn 0.945667684078 -0.079083986580 0.315370142460 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.939626336098 -0.190783411264 0.284084558487 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.892274856567 0.088678508997 0.442698240280 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.892274856567 0.088678508997 0.442698240280 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.598061859608 0.474797159433 0.645669937134 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn 0.501735031605 -0.120247341692 0.856622755527 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.000675067538 -0.005126592703 0.999986648560 -vn 0.021822169423 -0.700111567974 0.713699936867 -vn 0.660671710968 -0.416826665401 0.624314367771 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn 0.096828460693 0.822797715664 0.560025155544 -vn 0.149933636189 0.697240829468 0.700981557369 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.731816112995 0.506709039211 0.455731421709 -vn 0.096828460693 0.822797715664 0.560025155544 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.731816112995 0.506709039211 0.455731421709 -vn -0.693001866341 0.498886138201 0.520443081856 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn -0.980364203453 -0.180218189955 -0.080046124756 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn -0.342308551073 -0.898793816566 -0.273851275444 -vn -0.389741688967 -0.670392096043 -0.631407797337 -vn -0.980241477489 -0.154460281134 -0.123566515744 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.475301384926 -0.572428107262 -0.668142676353 -vn 0.668267428875 -0.714787065983 -0.206150755286 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.890769839287 0.184809222817 0.415180265903 -vn 0.149933636189 0.697240829468 0.700981557369 -vn 0.149933636189 0.697240829468 0.700981557369 -vn 0.096828460693 0.822797715664 0.560025155544 -vn 0.960634171963 0.272636055946 -0.053400605917 -vn 0.989734828472 0.125559329987 -0.068262815475 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.989734828472 0.125559329987 -0.068262815475 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.989734828472 0.125559329987 -0.068262815475 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.921148419380 0.385149210691 -0.056086633354 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.257287919521 0.884805023670 0.388488024473 -vn 0.672626733780 0.736264288425 0.074082300067 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.532998859882 0.815917551517 0.224032908678 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.257287919521 0.884805023670 0.388488024473 -vn 0.495524138212 0.582533538342 0.644290685654 -vn 0.257287919521 0.884805023670 0.388488024473 -vn -0.063488200307 0.792590856552 0.606439590454 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.495524138212 0.582533538342 0.644290685654 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.495524138212 0.582533538342 0.644290685654 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.110006704926 0.644826173782 0.756371438503 -vn 0.817651689053 0.281194716692 0.502369642258 -vn 0.819909214973 0.467708528042 0.330147922039 -vn 0.996836364269 -0.078574545681 0.011971659027 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.996836364269 -0.078574545681 0.011971659027 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.996836364269 -0.078574545681 0.011971659027 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.992345750332 0.105561174452 -0.064083777368 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.933551311493 0.355292409658 0.047425679862 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.882028698921 0.317493706942 0.348171114922 -vn 0.865989685059 0.453615128994 0.210464164615 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.882028698921 0.317493706942 0.348171114922 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.882028698921 0.317493706942 0.348171114922 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.908309876919 0.015843641013 0.417997717857 -vn 0.972412407398 0.062441378832 0.224755913019 -vn 0.974218785763 0.136953219771 0.179280668497 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.981092154980 0.054133977741 0.185816302896 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.991819202900 -0.034799017012 -0.122815772891 -vn 0.999813377857 -0.018315166235 -0.006142910570 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.991819202900 -0.034799017012 -0.122815772891 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.991819202900 -0.034799017012 -0.122815772891 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.977511823177 -0.022532563657 -0.209673374891 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.983536243439 0.177552938461 0.033636920154 -vn 0.987035095692 0.088362626731 -0.133991599083 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.983536243439 0.177552938461 0.033636920154 -vn 0.981092154980 0.054133977741 0.185816302896 -vn 0.983536243439 0.177552938461 0.033636920154 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.967617809772 -0.103586673737 0.230186060071 -vn 0.981092154980 0.054133977741 0.185816302896 -vn 0.795029461384 -0.241429388523 -0.556453049183 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.795029461384 -0.241429388523 -0.556453049183 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.795029461384 -0.241429388523 -0.556453049183 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.487139850855 -0.463946342468 -0.739897668362 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.647841155529 -0.025598770007 -0.761345207691 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn 0.859054207802 0.164472088218 -0.484741955996 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn 0.990318894386 0.134526759386 0.034220863134 -vn 0.946094691753 0.247164011002 -0.209319770336 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.990318894386 0.134526759386 0.034220863134 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.990318894386 0.134526759386 0.034220863134 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.969940900803 -0.016906807199 -0.242752596736 -vn 0.969082534313 0.013526707888 -0.246365621686 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn 0.991130888462 -0.068684190512 0.113763011992 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.999113142490 0.000560889952 0.042102612555 -vn 0.997338175774 0.072519011796 0.007588622160 -vn 0.724958002567 -0.519052088261 -0.452792286873 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.656450152397 -0.729013919830 -0.193937793374 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.754400372505 -0.617815971375 0.221773415804 -vn -0.676493585110 -0.725261986256 0.127872824669 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.851959705353 0.511508643627 0.111908867955 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn 0.087274819613 0.444357991219 0.891587972641 -vn 0.310053557158 0.172868609428 0.934870719910 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn 0.065754547715 -0.648359239101 0.758489727974 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.316012024879 0.686757266521 0.654599726200 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.316012024879 0.686757266521 0.654599726200 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.316012024879 0.686757266521 0.654599726200 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn 0.092993848026 0.951101779938 0.294546306133 -vn 0.092993848026 0.951101779938 0.294546306133 -vn -0.162509486079 0.963348150253 0.213426902890 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn 0.398574531078 -0.913124322891 0.085687346756 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn 0.262353718281 -0.850628614426 0.455633014441 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.316012024879 0.686757266521 0.654599726200 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.809110283852 -0.140281960368 0.570667624474 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.414537787437 0.577000021935 0.703725337982 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.076232120395 0.892228424549 0.445103466511 -vn -0.076232120395 0.892228424549 0.445103466511 -vn 0.092993848026 0.951101779938 0.294546306133 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.834865987301 0.549538910389 0.031714677811 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.454158663750 0.889905989170 -0.042511224747 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.487139791250 -0.811088681221 -0.323774576187 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.450961977243 -0.891635656357 -0.040238905698 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.162509486079 0.963348150253 0.213426902890 -vn -0.041679881513 0.924551546574 0.378770738840 -vn -0.041679881513 0.924551546574 0.378770738840 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn -0.488797932863 0.870124578476 -0.062927119434 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.834133267403 0.451350212097 -0.317024648190 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.834865987301 0.549538910389 0.031714677811 -vn -0.891583979130 0.427818477154 -0.148490324616 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.920045375824 -0.349020928144 -0.178047493100 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.834865987301 0.549538910389 0.031714677811 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.834865987301 0.549538910389 0.031714677811 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.941915929317 0.115449301898 -0.315382063389 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.076232120395 0.892228424549 0.445103466511 -vn -0.539173722267 0.833431780338 0.121174119413 -vn -0.531211972237 0.828068792820 0.179209098220 -vn -0.531211972237 0.828068792820 0.179209098220 -vn 0.316012024879 0.686757266521 0.654599726200 -vn -0.076232120395 0.892228424549 0.445103466511 -vn 0.092993848026 0.951101779938 0.294546306133 -vn -0.076232120395 0.892228424549 0.445103466511 -vn 0.316012024879 0.686757266521 0.654599726200 -vn 0.316012024879 0.686757266521 0.654599726200 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.092993848026 0.951101779938 0.294546306133 -vn -0.162509486079 0.963348150253 0.213426902890 -vn 0.092993848026 0.951101779938 0.294546306133 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.414537787437 0.577000021935 0.703725337982 -vn -0.041679881513 0.924551546574 0.378770738840 -vn -0.162509486079 0.963348150253 0.213426902890 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.523957431316 -0.527176558971 0.668994367123 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn -0.039080802351 -0.837885558605 0.544445097446 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.523957431316 -0.527176558971 0.668994367123 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn -0.106712952256 0.917102098465 0.384104311466 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.073301777244 0.768137931824 0.636074662209 -vn -0.106712952256 0.917102098465 0.384104311466 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.506764352322 0.822178900242 0.259252250195 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn -0.644062459469 -0.736073076725 0.208278611302 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn 0.459524750710 -0.881456553936 -0.108955472708 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.931347429752 -0.191739603877 0.309560865164 -vn 0.656715273857 0.671186864376 0.343850612640 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.296533823013 0.937092840672 0.184186592698 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.256493657827 0.966490387917 0.010358544998 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.399717628956 -0.800060749054 -0.447357386351 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.221573963761 -0.975115537643 0.007395572029 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn 0.323385655880 -0.909398913383 -0.261563360691 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.792649924755 -0.450770765543 0.410501927137 -vn 0.908204495907 -0.398815929890 0.126926913857 -vn 0.879008293152 0.327037870884 0.346973568201 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.386452257633 0.830117344856 0.401945084333 -vn 0.018751272932 0.761757254601 0.647591114044 -vn 0.018751272932 0.761757254601 0.647591114044 -vn 0.301279544830 0.869882464409 0.390557467937 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.765422403812 0.624349057674 0.155938431621 -vn -0.386452257633 0.830117344856 0.401945084333 -vn -0.386452257633 0.830117344856 0.401945084333 -vn -0.296533823013 0.937092840672 0.184186592698 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.584438264370 -0.750773370266 -0.307849317789 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.463834911585 -0.781955063343 -0.416417390108 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn 0.256493657827 0.966490387917 0.010358544998 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.656715273857 0.671186864376 0.343850612640 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.162260547280 0.985521793365 -0.049175888300 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.278513342142 0.959875881672 -0.032689496875 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.552404344082 0.714155137539 -0.429920792580 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.807621896267 0.130036145449 -0.575184762478 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.765422403812 0.624349057674 0.155938431621 -vn -0.770505726337 0.605568349361 -0.199017360806 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.874981164932 -0.187535449862 -0.446361333132 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.765422403812 0.624349057674 0.155938431621 -vn -0.386452257633 0.830117344856 0.401945084333 -vn -0.765422403812 0.624349057674 0.155938431621 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.386452257633 0.830117344856 0.401945084333 -vn 0.018751272932 0.761757254601 0.647591114044 -vn -0.386452257633 0.830117344856 0.401945084333 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.321225166321 0.935288310051 0.148492872715 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.018751272932 0.761757254601 0.647591114044 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.018751272932 0.761757254601 0.647591114044 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.256493657827 0.966490387917 0.010358544998 -vn 0.301279544830 0.869882464409 0.390557467937 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.879008293152 0.327037870884 0.346973568201 -vn 0.656715273857 0.671186864376 0.343850612640 -vn 0.256493657827 0.966490387917 0.010358544998 -vn 0.257990837097 0.399163067341 0.879834949970 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.257990837097 0.399163067341 0.879834949970 -vn 0.350384771824 0.861267209053 0.368034303188 -vn 0.257990837097 0.399163067341 0.879834949970 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.472992837429 -0.007466317620 0.881034612656 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.350384771824 0.861267209053 0.368034303188 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn 0.350384771824 0.861267209053 0.368034303188 -vn 0.620225965977 0.440775215626 0.648873627186 -vn 0.620225965977 0.440775215626 0.648873627186 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.321225166321 0.935288310051 0.148492872715 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.977639138699 0.079577423632 -0.194651469588 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.886710703373 -0.365493357182 0.283123165369 -vn -0.299715340137 -0.398805558681 0.866674602032 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.073301777244 0.768137931824 0.636074662209 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.418872237206 0.170925334096 0.891813099384 -vn 0.257990837097 0.399163067341 0.879834949970 -vn -0.073301777244 0.768137931824 0.636074662209 -vn -0.106712952256 0.917102098465 0.384104311466 -vn -0.073301777244 0.768137931824 0.636074662209 -vn 0.257990837097 0.399163067341 0.879834949970 -vn 0.257990837097 0.399163067341 0.879834949970 -vn 0.350384771824 0.861267209053 0.368034303188 -vn -0.106712952256 0.917102098465 0.384104311466 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.106712952256 0.917102098465 0.384104311466 -vn 0.350384771824 0.861267209053 0.368034303188 -vn 0.350384771824 0.861267209053 0.368034303188 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.506764352322 0.822178900242 0.259252250195 -vn -0.287710011005 0.868447899818 0.403758883476 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.169324740767 0.985013782978 -0.032816808671 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.506764352322 0.822178900242 0.259252250195 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.506764352322 0.822178900242 0.259252250195 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.777136385441 0.616913676262 -0.124404892325 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.626703619957 0.600684523582 0.496407806873 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.902384638786 0.115731023252 0.415100276470 -vn -0.418872237206 0.170925334096 0.891813099384 -vn -0.379872918129 0.728305935860 0.570321917534 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.682675063610 -0.077603086829 -0.726589620113 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.794405698776 -0.012495234609 -0.607258975506 -vn 0.392160177231 -0.396549701691 -0.830035388470 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn -0.126566886902 -0.326682716608 -0.936621189117 -vn -0.126566886902 -0.326682716608 -0.936621189117 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.955716431141 0.190873801708 -0.223993942142 -vn 0.949413836002 0.132040485740 -0.284918785095 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.482846260071 0.869433462620 0.104618154466 -vn -0.086542211473 0.967878103256 0.236056029797 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.746451914310 0.651406109333 0.135939553380 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.087274819613 0.444357991219 0.891587972641 -vn 0.087274819613 0.444357991219 0.891587972641 -vn 0.368794947863 0.655544221401 0.658978044987 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.895273745060 0.445466607809 0.006669424009 -vn 0.971128344536 0.229403585196 -0.065450385213 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.646575033665 0.757143557072 0.093136429787 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.840204894543 0.542268991470 -0.000119482458 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.695233106613 -0.308236718178 0.649338960648 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.050192341208 0.664369225502 0.745717287064 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.509524762630 0.326571792364 0.796074986458 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.532998859882 0.815917551517 0.224032908678 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.050192341208 0.664369225502 0.745717287064 -vn -0.063488200307 0.792590856552 0.606439590454 -vn 0.532998859882 0.815917551517 0.224032908678 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn 0.366472154856 0.870783627033 0.327771276236 -vn 0.368794947863 0.655544221401 0.658978044987 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.366472154856 0.870783627033 0.327771276236 -vn -0.162673503160 0.963678956032 0.211802154779 -vn 0.366472154856 0.870783627033 0.327771276236 -vn 0.510312438011 0.841042578220 0.179523259401 -vn 0.510312438011 0.841042578220 0.179523259401 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.527738094330 -0.663481891155 0.530362427235 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.041679881513 0.924551546574 0.378770738840 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.714573740959 0.695854723454 -0.071906782687 -vn -0.808967173100 0.572136342525 -0.135026350617 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.941590726376 0.033662363887 -0.335072696209 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.881481885910 -0.453425347805 -0.131890684366 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.527738094330 -0.663481891155 0.530362427235 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.595355689526 -0.790148377419 0.145661026239 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.527738094330 -0.663481891155 0.530362427235 -vn -0.527738094330 -0.663481891155 0.530362427235 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.087274819613 0.444357991219 0.891587972641 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.383311569691 0.245430797338 0.890413403511 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.368794947863 0.655544221401 0.658978044987 -vn 0.087274819613 0.444357991219 0.891587972641 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.050192341208 0.664369225502 0.745717287064 -vn 0.541074633598 0.742484569550 0.394911348820 -vn 0.368794947863 0.655544221401 0.658978044987 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.041679881513 0.924551546574 0.378770738840 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.366472154856 0.870783627033 0.327771276236 -vn -0.162673503160 0.963678956032 0.211802154779 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn -0.453713983297 -0.402141332626 0.795252144337 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.523102521896 -0.394829660654 0.755296826363 -vn -0.383311569691 0.245430797338 0.890413403511 -vn -0.217805311084 -0.017195902765 0.975840747356 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.368794947863 0.655544221401 0.658978044987 -vn 0.366472154856 0.870783627033 0.327771276236 -vn 0.366472154856 0.870783627033 0.327771276236 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.432463288307 0.539263606071 0.722613453865 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.488122433424 0.411598801613 0.769625186920 -vn 0.488122433424 0.411598801613 0.769625186920 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.432463288307 0.539263606071 0.722613453865 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn -0.656450152397 -0.729013919830 -0.193937793374 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn -0.168870478868 -0.724403142929 -0.668373286724 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.682675063610 -0.077603086829 -0.726589620113 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn 0.312904179096 -0.418887764215 -0.852422416210 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn -0.165293544531 -0.684560775757 -0.709968030453 -vn -0.561405301094 -0.783839344978 -0.265367656946 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.636142671108 -0.726978540421 0.258504658937 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.592031836510 -0.689757585526 0.416812658310 -vn -0.445946663618 -0.807002365589 0.387141823769 -vn -0.491080105305 -0.837426304817 0.239911466837 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.653411686420 -0.700181365013 0.287748575211 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.750844120979 -0.583663046360 0.309144854546 -vn -0.671968698502 -0.667977213860 0.319788247347 -vn -0.584727287292 -0.760881543159 0.281341969967 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.874737322330 -0.461276412010 -0.148521482944 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.618247926235 -0.775683164597 0.126827254891 -vn -0.582560062408 -0.809202492237 0.076257012784 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.126566886902 -0.326682716608 -0.936621189117 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn 0.137934416533 -0.403524935246 -0.904511868954 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.437444090843 -0.449006646872 -0.779124975204 -vn -0.246353954077 -0.609194815159 -0.753784716129 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.691448807716 -0.499428868294 -0.521985948086 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.538350522518 -0.738366723061 -0.406193703413 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.788505494595 -0.575718581676 -0.216349691153 -vn -0.639232695103 -0.769012033939 0.001446417999 -vn -0.664937376976 -0.730501115322 0.155648365617 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.832284808159 -0.533833265305 -0.149412333965 -vn -0.830348789692 -0.545909702778 -0.111818790436 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.484131455421 -0.316163808107 -0.815878152847 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.795067191124 -0.386380672455 -0.467523425817 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.898375689983 -0.393273085356 -0.195594832301 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.966934204102 -0.186706066132 -0.173721387982 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.362487792969 0.694832563400 0.621136307716 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.900562524796 0.426854074001 0.082357078791 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.362487792969 0.694832563400 0.621136307716 -vn 0.367153495550 0.875142931938 0.315155804157 -vn -0.362487792969 0.694832563400 0.621136307716 -vn -0.086542211473 0.967878103256 0.236056029797 -vn -0.086542211473 0.967878103256 0.236056029797 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.482846260071 0.869433462620 0.104618154466 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.664757490158 0.741586744785 -0.090258158743 -vn 0.758434236050 0.649761736393 -0.050863955170 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.349582046270 -0.311735272408 -0.883523344994 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.704096138477 -0.441944241524 -0.555818200111 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.832196235657 -0.529535293579 -0.164443820715 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.915586531162 -0.333801418543 0.224227353930 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.476979732513 0.530355632305 0.700866043568 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.820469796658 0.119803763926 0.558995842934 -vn -0.362487792969 0.694832563400 0.621136307716 -vn -0.476979732513 0.530355632305 0.700866043568 -vn 0.200900077820 0.779989659786 0.592667937279 -vn -0.476979732513 0.530355632305 0.700866043568 -vn -0.362487792969 0.694832563400 0.621136307716 -vn -0.362487792969 0.694832563400 0.621136307716 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.367153495550 0.875142931938 0.315155804157 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.683762192726 0.728296756744 -0.045311164111 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn -0.519133925438 -0.761686325073 0.387729167938 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.973435103893 -0.116879180074 -0.196884244680 -vn -0.880192518234 -0.458102107048 0.124111056328 -vn -0.675654530525 -0.652904331684 0.342354983091 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.488122433424 0.411598801613 0.769625186920 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.540591895580 -0.128417894244 0.831426024437 -vn 0.310053557158 0.172868609428 0.934870719910 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.488122433424 0.411598801613 0.769625186920 -vn 0.412324339151 0.719989717007 0.558214545250 -vn 0.412324339151 0.719989717007 0.558214545250 -vn -0.041679881513 0.924551546574 0.378770738840 -vn 0.414537787437 0.577000021935 0.703725337982 -vn 0.493106514215 -0.556070029736 -0.669053137302 -vn 0.847137212753 0.013076731004 -0.531213283539 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.399592339993 -0.540018141270 -0.740747153759 -vn 0.493106514215 -0.556070029736 -0.669053137302 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn 0.152241155505 -0.867611408234 -0.473363518715 -vn 0.493106514215 -0.556070029736 -0.669053137302 -vn 0.493106514215 -0.556070029736 -0.669053137302 -vn 0.399592339993 -0.540018141270 -0.740747153759 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.250959426165 -0.952669680119 -0.171580299735 -vn 0.152241155505 -0.867611408234 -0.473363518715 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.250959426165 -0.952669680119 -0.171580299735 -vn 0.847137212753 0.013076731004 -0.531213283539 -vn 0.900250494480 0.354679793119 -0.252490162849 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.847137212753 0.013076731004 -0.531213283539 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.682675063610 -0.077603086829 -0.726589620113 -vn 0.519804894924 -0.123855583370 -0.845258951187 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.858815073967 0.119769096375 -0.498088389635 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.907647013664 0.391346275806 -0.151739954948 -vn 0.916165411472 0.250511020422 -0.312866061926 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.761525034904 0.090172626078 -0.641832113266 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.096408627927 -0.179964497685 -0.978937268257 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.524165391922 0.471699982882 -0.709048509598 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.147158190608 0.045159835368 -0.988081514835 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.605928599834 0.056156951934 -0.793534457684 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.447385460138 0.231602251530 -0.863832533360 -vn 0.524165391922 0.471699982882 -0.709048509598 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.524165391922 0.471699982882 -0.709048509598 -vn 0.524165391922 0.471699982882 -0.709048509598 -vn 0.711000323296 0.521369159222 -0.471860915422 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.762283980846 0.367579370737 -0.532736837864 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.720319032669 0.613522648811 -0.323620855808 -vn 0.833127021790 0.499868392944 -0.236708581448 -vn 0.846919417381 0.311212152243 -0.431131660938 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.723317623138 0.619894027710 0.304208874702 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.196437984705 0.667735934258 0.718011736870 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.706075668335 0.665737152100 0.241352871060 -vn 0.723317623138 0.619894027710 0.304208874702 -vn 0.196437984705 0.667735934258 0.718011736870 -vn -0.460308641195 0.432748824358 0.775141537189 -vn -0.476979732513 0.530355632305 0.700866043568 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.200900077820 0.779989659786 0.592667937279 -vn 0.196437984705 0.667735934258 0.718011736870 -vn -0.460308641195 0.432748824358 0.775141537189 -vn -0.792952120304 -0.015133478679 0.609095990658 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.476979732513 0.530355632305 0.700866043568 -vn -0.476979732513 0.530355632305 0.700866043568 -vn -0.460308641195 0.432748824358 0.775141537189 -vn -0.792952120304 -0.015133478679 0.609095990658 -vn -0.685466885567 -0.650259494781 0.327563315630 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.796163260937 0.020412357524 0.604737460613 -vn -0.792952120304 -0.015133478679 0.609095990658 -vn -0.685466885567 -0.650259494781 0.327563315630 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.685466885567 -0.650259494781 0.327563315630 -vn -0.472495853901 -0.873955726624 0.113794088364 -vn -0.472495853901 -0.873955726624 0.113794088364 -vn -0.250959426165 -0.952669680119 -0.171580299735 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn -0.430559724569 -0.708580851555 -0.559045195580 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn -0.078519783914 -0.830581963062 -0.551333189011 -vn 0.399592339993 -0.540018141270 -0.740747153759 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn 0.094399817288 -0.468443334103 -0.878435850143 -vn 0.399592339993 -0.540018141270 -0.740747153759 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.699251949787 -0.040834713727 -0.713708102703 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.842043936253 -0.014386636205 -0.539217054844 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.915375590324 0.387467741966 -0.109344631433 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn 0.900250494480 0.354679793119 -0.252490162849 -vn 0.851737022400 0.522776246071 0.035341292620 -vn 0.851737022400 0.522776246071 0.035341292620 -vn 0.723317623138 0.619894027710 0.304208874702 -vn 0.906766295433 0.409387618303 -0.100879304111 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn -0.616665720940 -0.782339334488 -0.087570220232 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.788612246513 -0.502828478813 0.353912740946 -vn -0.685466885567 -0.650259494781 0.327563315630 -vn -0.424148023129 -0.902120292187 -0.079230606556 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.911147356033 -0.255800306797 0.323073804379 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.826433897018 -0.245585113764 0.506650686264 -vn 0.949352085590 -0.135964304209 0.283274352551 -vn 0.957214355469 -0.286995112896 0.037074200809 -vn 0.388409644365 0.097376465797 0.916327297688 -vn 0.886226296425 0.257387071848 0.385168552399 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.388409644365 0.097376465797 0.916327297688 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.716518461704 -0.298295706511 0.630571901798 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.728796660900 -0.660439372063 -0.180763065815 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.860012650490 -0.378439724445 0.342288851738 -vn -0.658858060837 -0.689020693302 0.301921337843 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn -0.631677627563 -0.756497323513 -0.169396430254 -vn -0.480001002550 -0.817916572094 -0.317193210125 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn -0.074344001710 -0.674611508846 -0.734419703484 -vn -0.066533669829 -0.595843851566 -0.800339519978 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.407755017281 -0.386306762695 -0.827346920967 -vn 0.481644779444 -0.286784321070 -0.828114151955 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.785199224949 -0.046839069575 -0.617469251156 -vn 0.803414165974 0.005024130922 -0.595399379730 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.849230527878 0.245510101318 0.467474341393 -vn 0.971741199493 0.187253728509 -0.143718585372 -vn 0.984765470028 0.141468495131 -0.101112186909 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.347463965416 -0.779532015324 0.521151185036 -vn -0.462024897337 -0.668333053589 0.582978487015 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.121289253235 -0.574827611446 0.809235513210 -vn -0.122824735940 -0.428479611874 0.895164430141 -vn 0.402302742004 -0.049480821937 0.914168536663 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.799090266228 0.180629134178 0.573435127735 -vn 0.890469372272 0.030705736950 0.454006016254 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.983807981014 0.074132882059 0.163175269961 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.614874482155 0.042262133211 0.787491738796 -vn 0.614874482155 0.042262133211 0.787491738796 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn -0.096592143178 -0.040983092040 0.994479954243 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.637993156910 -0.174105063081 0.750101447105 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.933749496937 -0.230891004205 0.273498028517 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.903826475143 -0.356221497059 0.237073644996 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn -0.930003046989 -0.311220437288 0.195540815592 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn -0.886968255043 -0.360542476177 -0.288611203432 -vn -0.753570079803 -0.612610638142 -0.238412141800 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn -0.532093167305 -0.256158202887 -0.807006716728 -vn -0.325670957565 -0.585272669792 -0.742559313774 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.135324358940 -0.097970917821 -0.985945761204 -vn 0.246417284012 -0.373370826244 -0.894356071949 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn 0.952648162842 0.045603808016 -0.300635546446 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.920179307461 0.077894940972 -0.383669644594 -vn 0.660331547260 0.014505122788 -0.750834107399 -vn 0.720516026020 -0.153431087732 -0.676251113415 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn -0.668597519398 -0.234984099865 0.705520927906 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.883964776993 -0.243255555630 0.399290591478 -vn -0.922570586205 -0.144029989839 0.357936978340 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.947189986706 -0.247276708484 -0.204170018435 -vn -0.987068951130 -0.001342023723 -0.160290583968 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.519403219223 -0.215743064880 -0.826846539974 -vn -0.609359264374 0.086500100791 -0.788161814213 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn -0.041514541954 -0.171664625406 -0.984280347824 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn -0.023929292336 0.121215716004 -0.992337703705 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.427678495646 -0.126462370157 -0.895040988922 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.495944917202 0.221249133348 -0.839694857597 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.915072023869 -0.104790523648 -0.389438182116 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.908574581146 0.206608444452 -0.363049775362 -vn 0.924159824848 0.201810598373 -0.324347227812 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.980115532875 0.048620678484 0.192378610373 -vn 0.988765597343 -0.019402373582 0.148209601641 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn 0.799184441566 -0.119045473635 0.589179396629 -vn 0.794139862061 -0.172562643886 0.582721173763 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn 0.166234999895 -0.225214079022 0.960023224354 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.575514614582 -0.278533190489 0.768896758556 -vn -0.670065939426 -0.258720010519 0.695755422115 -vn 0.127896860242 -0.234220936894 0.963733851910 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.401186734438 -0.166196405888 0.900792956352 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn 0.350814163685 -0.622514247894 0.699575185776 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.350814163685 -0.622514247894 0.699575185776 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.207664504647 -0.740456640720 0.639217793941 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.123162224889 -0.212614715099 -0.969343125820 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.622594892979 -0.589945852757 -0.514139533043 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.929131925106 -0.287983894348 0.231903240085 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.929131925106 -0.287983894348 0.231903240085 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.886774122715 -0.348562031984 0.303539305925 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.803143441677 -0.424439013004 0.418105423450 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.929131925106 -0.287983894348 0.231903240085 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.870798230171 -0.274165362120 0.408097743988 -vn -0.929131925106 -0.287983894348 0.231903240085 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.372199684381 0.758454144001 0.534990429878 -vn -0.372199684381 0.758454144001 0.534990429878 -vn -0.513534486294 0.648863255978 0.561479091644 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.521253764629 0.558969914913 0.644862115383 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.521253764629 0.558969914913 0.644862115383 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.674554347992 -0.159368902445 0.720817565918 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.606201291084 0.206537902355 0.768024802208 -vn 0.350814163685 -0.622514247894 0.699575185776 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.350814163685 -0.622514247894 0.699575185776 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.441691637039 0.769754469395 0.460854202509 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.441691637039 0.769754469395 0.460854202509 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.481114804745 0.476588666439 0.735793292522 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.228975534439 -0.966663718224 0.114592753351 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.696642994881 0.705350995064 -0.131028831005 -vn -0.474705159664 0.698050916195 -0.536078274250 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.696642994881 0.705350995064 -0.131028831005 -vn -0.696642994881 0.705350995064 -0.131028831005 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.632141351700 0.593008518219 0.498736590147 -vn -0.696642994881 0.705350995064 -0.131028831005 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.466922909021 0.878792583942 -0.098521873355 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.441691637039 0.769754469395 0.460854202509 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.441691637039 0.769754469395 0.460854202509 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.380355626345 0.915188968182 0.133262023330 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.531039237976 0.846361756325 -0.040854826570 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.754615128040 0.229811772704 0.614607691765 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.606201291084 0.206537902355 0.768024802208 -vn -0.661760091782 0.656048417091 0.362869143486 -vn -0.785454511642 0.548647284508 0.286439210176 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.849245250225 0.459349334240 0.260347217321 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.675730884075 0.170890003443 0.717066466808 -vn -0.831401288509 0.182725146413 0.524769842625 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn -0.628898859024 -0.167266234756 0.759281396866 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.820158123970 -0.257162839174 0.511085033417 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.717795908451 -0.106868870556 0.688002943993 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.014599231072 -0.289826303720 0.956967890263 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn 0.148168861866 -0.965607345104 0.213654994965 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn 0.148168861866 -0.965607345104 0.213654994965 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn 0.213539779186 -0.735609531403 0.642868101597 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.148168861866 -0.965607345104 0.213654994965 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.313859432936 -0.946901202202 0.069788210094 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.148168861866 -0.965607345104 0.213654994965 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn 0.000251441961 -0.942464411259 -0.334306448698 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn -0.133523687720 -0.654319226742 -0.744337141514 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn -0.178969815373 -0.036877691746 -0.983163177967 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.352230370045 0.729819893837 -0.585915267467 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.432985514402 0.861952602863 -0.263744652271 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.432985514402 0.861952602863 -0.263744652271 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.352230370045 0.729819893837 -0.585915267467 -vn -0.130780518055 0.699840128422 -0.702225208282 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.352230370045 0.729819893837 -0.585915267467 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.432985514402 0.861952602863 -0.263744652271 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn -0.647320389748 0.685716152191 -0.332820743322 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.432985514402 0.861952602863 -0.263744652271 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.893545091152 0.419377058744 0.160312488675 -vn -0.835198342800 0.538639068604 -0.110958099365 -vn -0.734826862812 0.676068246365 -0.054416924715 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.854047775269 0.194880262017 0.482311189175 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.934815168381 0.101666234434 0.340271264315 -vn -0.899725437164 0.424019932747 0.103446580470 -vn -0.724321365356 0.630072712898 0.279940962791 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.491222590208 0.725237250328 0.482422292233 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.344457119703 0.228259548545 0.910629928112 -vn -0.442502230406 0.477027654648 0.759365797043 -vn -0.259154200554 0.634195923805 0.728446722031 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.000500970287 0.150257885456 0.988646686077 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.105894960463 0.457142889500 0.883066594601 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.000500970287 0.150257885456 0.988646686077 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn -0.066208049655 0.065464153886 0.995656013489 -vn -0.000500970287 0.150257885456 0.988646686077 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.025139117613 -0.589855730534 0.807117223740 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn -0.042927689850 -0.924748063087 0.378151118755 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.150387302041 -0.987316966057 -0.050880618393 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.331084758043 -0.787115514278 -0.520415246487 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.277171522379 -0.333621501923 -0.901039779186 -vn -0.422015488148 -0.481336265802 -0.768256664276 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.524348676205 -0.128817796707 -0.841703295708 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.121618598700 0.471150964499 -0.873627901077 -vn -0.492768824100 0.139666393399 -0.858878433704 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.486196488142 0.873833239079 -0.005337357987 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.513394534588 0.856354117393 0.055530793965 -vn -0.330983459949 0.883402228355 -0.331738591194 -vn -0.546669006348 0.650373995304 -0.527415037155 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.587025642395 0.370276719332 -0.719927787781 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.431260585785 0.846675992012 0.311695545912 -vn -0.605038166046 0.783646821976 -0.140806540847 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.352230370045 0.729819893837 -0.585915267467 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.363752692938 0.687420129776 -0.628599703312 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.200884222984 0.281286299229 -0.938362181187 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn 0.200884222984 0.281286299229 -0.938362181187 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn -0.057436451316 0.584186136723 -0.809584856033 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.200884222984 0.281286299229 -0.938362181187 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.442722022533 -0.331521779299 -0.833120942116 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.442722022533 -0.331521779299 -0.833120942116 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn -0.070003993809 0.410762041807 -0.909051120281 -vn -0.024612516165 0.484930634499 -0.874206185341 -vn 0.203552156687 0.187401816249 -0.960961520672 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.442722022533 -0.331521779299 -0.833120942116 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.200884222984 0.281286299229 -0.938362181187 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.508846163750 -0.197130560875 -0.837982773781 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.789647102356 -0.514648020267 -0.334058165550 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.642632007599 -0.639336526394 -0.422223776579 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.449879735708 -0.892520606518 -0.031862419099 -vn 0.616720378399 -0.787130177021 -0.009059753269 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.291657984257 0.089169785380 -0.952357292175 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.691674530506 -0.071475937963 -0.718663692474 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn 0.291657984257 0.089169785380 -0.952357292175 -vn 0.380637049675 0.233202338219 -0.894836366177 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.291657984257 0.089169785380 -0.952357292175 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.015120597556 0.448562145233 -0.893623709679 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn -0.008417923935 0.505917787552 -0.862540602684 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.305590540171 0.615349054337 -0.726608574390 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn -0.443666130304 0.852729022503 -0.275705635548 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.332030713558 0.934520363808 -0.128168955445 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.269882589579 0.768469750881 -0.580187559128 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.291657984257 0.089169785380 -0.952357292175 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn 0.283972531557 0.357400029898 -0.889733016491 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.369570851326 -0.178360313177 -0.911923766136 -vn 0.195117399096 0.110545657575 -0.974530041218 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn 0.123270623386 -0.089006535709 -0.988373517990 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn -0.290984004736 -0.442904204130 -0.848035514355 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.290984004736 -0.442904204130 -0.848035514355 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn 0.057102527469 -0.408684372902 -0.910887718201 -vn -0.248657748103 -0.389411330223 -0.886864244938 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn -0.631206750870 -0.460801810026 -0.623890817165 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.918274998665 -0.334325522184 -0.212126120925 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.656991720200 -0.618542015553 0.431007683277 -vn -0.985950827599 -0.157788723707 -0.054805383086 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.960145235062 -0.235651865602 -0.150297492743 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.960145235062 -0.235651865602 -0.150297492743 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.972732365131 -0.190843746066 -0.131796970963 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.960145235062 -0.235651865602 -0.150297492743 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.434074252844 -0.268963068724 0.859789729118 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn -0.656465947628 -0.623428642750 0.424722492695 -vn -0.749023437500 -0.459609448910 0.477203339338 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.960145235062 -0.235651865602 -0.150297492743 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.944666683674 0.069445535541 0.320596575737 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.944666683674 0.069445535541 0.320596575737 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.866114735603 -0.318803369999 0.384980142117 -vn -0.994470536709 -0.003524448955 0.104957044125 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.521253764629 0.558969914913 0.644862115383 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.521253764629 0.558969914913 0.644862115383 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.398872137070 0.415788918734 0.817325294018 -vn -0.732338190079 0.066023983061 0.677732706070 -vn -0.778450906277 0.365307867527 0.510455012321 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.944666683674 0.069445535541 0.320596575737 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.628319561481 0.359209179878 0.690060377121 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.628319561481 0.359209179878 0.690060377121 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.757318496704 0.415668547153 0.503674864769 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.628319561481 0.359209179878 0.690060377121 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.598532140255 0.585088372231 0.547202765942 -vn -0.525861024857 0.510891556740 0.680044114590 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.294267475605 0.736320257187 0.609293937683 -vn -0.294267475605 0.736320257187 0.609293937683 -vn -0.319124907255 0.778944134712 0.539819717407 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.319124907255 0.778944134712 0.539819717407 -vn -0.372199684381 0.758454144001 0.534990429878 -vn -0.372199684381 0.758454144001 0.534990429878 -vn -0.470349341631 0.716976583004 0.514505684376 -vn -0.444885224104 0.657462239265 0.608128726482 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.210031285882 0.676729142666 0.705637693405 -vn -0.210031285882 0.676729142666 0.705637693405 -vn -0.294267475605 0.736320257187 0.609293937683 -vn -0.329087138176 0.596190571785 0.732296705246 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.220259353518 0.493042349815 0.841662108898 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.220259353518 0.493042349815 0.841662108898 -vn -0.217704832554 0.616207301617 0.756897091866 -vn -0.217704832554 0.616207301617 0.756897091866 -vn -0.210031285882 0.676729142666 0.705637693405 -vn -0.141039162874 0.546767175198 0.825320303440 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.217961534858 0.368339926004 0.903780102730 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.192643001676 -0.043187834322 0.980318069458 -vn -0.208762139082 0.173094764352 0.962526142597 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.162622109056 0.413673579693 0.895783603191 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.401722431183 0.450534582138 0.797268867493 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.209707826376 -0.115715160966 0.970892667770 -vn -0.181194424629 0.227098539472 0.956867218018 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.628319561481 0.359209179878 0.690060377121 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.464984834194 0.282209694386 0.839134573936 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.886774122715 -0.348562031984 0.303539305925 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.587958753109 -0.088701777160 0.804012775421 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.944666683674 0.069445535541 0.320596575737 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.886774122715 -0.348562031984 0.303539305925 -vn -0.829526960850 0.006343629677 0.558430612087 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.886774122715 -0.348562031984 0.303539305925 -vn -0.978150129318 -0.207043349743 0.018851371482 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.928429484367 -0.330303490162 0.170053705573 -vn -0.972717821598 -0.214486360550 -0.088405892253 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.972956180573 -0.193811461329 -0.125671654940 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.661482095718 -0.585137486458 -0.469100773335 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.959261178970 -0.266427934170 -0.093989863992 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.914136767387 -0.355888932943 -0.194157153368 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.661482095718 -0.585137486458 -0.469100773335 -vn -0.882259726524 -0.411326795816 -0.228971764445 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.461035043001 -0.472170799971 -0.751333117485 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.661482095718 -0.585137486458 -0.469100773335 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.461035043001 -0.472170799971 -0.751333117485 -vn -0.714386403561 -0.455613791943 -0.531100869179 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn 0.029672866687 -0.456797748804 -0.889075577259 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.461035043001 -0.472170799971 -0.751333117485 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.661482095718 -0.585137486458 -0.469100773335 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.695248961449 -0.433017820120 -0.573693692684 -vn -0.290984004736 -0.442904204130 -0.848035514355 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.290984004736 -0.442904204130 -0.848035514355 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.029672866687 -0.456797748804 -0.889075577259 -vn -0.326375365257 -0.544217050076 -0.772856354713 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn 0.220781981945 -0.310104668140 -0.924710988998 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.461035043001 -0.472170799971 -0.751333117485 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn 0.029672866687 -0.456797748804 -0.889075577259 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.220781981945 -0.310104668140 -0.924710988998 -vn -0.092966847122 -0.408933341503 -0.907816410065 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.186271145940 -0.284139335155 -0.940514683723 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.220781981945 -0.310104668140 -0.924710988998 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.029672866687 -0.456797748804 -0.889075577259 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.186271145940 -0.284139335155 -0.940514683723 -vn 0.333242952824 -0.351648002863 -0.874810159206 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.206165060401 -0.231415942311 -0.950758993626 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.227766945958 -0.113212391734 -0.967111766338 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.348777472973 0.110478848219 -0.930671095848 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.232259064913 0.042165666819 -0.971739590168 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.291348487139 0.287645339966 -0.912346541882 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.205909222364 0.252331405878 -0.945478856564 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.213274046779 0.473949223757 -0.854333817959 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn 0.150941848755 0.451750874519 -0.879282474518 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.053181022406 -0.359932571650 -0.931461393833 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn 0.063421443105 -0.214829355478 -0.974590182304 -vn 0.393268018961 -0.069132164121 -0.916821122169 -vn 0.404777139425 -0.242898955941 -0.881564259529 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.220781981945 -0.310104668140 -0.924710988998 -vn 0.183340653777 -0.273737013340 -0.944168567657 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn 0.092088714242 -0.480216324329 -0.872302651405 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.179423063993 -0.188055112958 -0.965630710125 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn 0.057057879865 -0.261248350143 -0.963583767414 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn -0.123162224889 -0.212614715099 -0.969343125820 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.123162224889 -0.212614715099 -0.969343125820 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.212149545550 -0.267020434141 -0.940049290657 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.123162224889 -0.212614715099 -0.969343125820 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.502373993397 -0.221697002649 -0.835745632648 -vn -0.530079066753 -0.134988084435 -0.837134659290 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.789869427681 -0.142434820533 -0.596505343914 -vn -0.840851187706 -0.088725514710 -0.533944845200 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.805913925171 -0.393099069595 0.442691624165 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.507497727871 -0.236813455820 0.828471779823 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.507497727871 -0.236813455820 0.828471779823 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.755450785160 -0.244421571493 0.607908070087 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.682558894157 -0.447725176811 0.577629208565 -vn -0.649566590786 -0.465607345104 0.601059973240 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.507497727871 -0.236813455820 0.828471779823 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.196055978537 -0.171053454280 0.965558290482 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.196055978537 -0.171053454280 0.965558290482 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.417664378881 -0.297151625156 0.858636915684 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.507497727871 -0.236813455820 0.828471779823 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.216913148761 -0.139054685831 0.966236233711 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.283693671227 -0.203705921769 0.937028169632 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.359831422567 -0.413703173399 0.836284041405 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.338521063328 -0.652876555920 0.677610278130 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn -0.228975534439 -0.966663718224 0.114592753351 -vn -0.286758840084 -0.825533211231 0.486070215702 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn -0.060088019818 -0.817149162292 0.573285877705 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn 0.080994680524 -0.984151780605 0.157750397921 -vn 0.422937929630 -0.871309041977 0.248885691166 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn 0.437271595001 -0.449537754059 -0.778915524483 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.115275420249 -0.405100435019 -0.906975865364 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.608339726925 -0.334035158157 -0.719960570335 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.909568905830 -0.262379735708 -0.322244167328 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.968926668167 -0.157936230302 0.190361022949 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn -0.565466403961 -0.060642685741 0.822538852692 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn 0.149793371558 -0.171276986599 0.973769009113 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.100404962897 -0.010206341743 0.994894325733 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.696138083935 0.027712017298 0.717372834682 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.971542954445 0.190712869167 -0.140473663807 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn 0.667801558971 0.397239923477 -0.629477202892 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn 0.020017268136 0.422390818596 -0.906192779541 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.607101559639 0.302661061287 -0.734727144241 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.514643490314 -0.262845516205 -0.816121518612 -vn -0.514643490314 -0.262845516205 -0.816121518612 -vn -0.903522908688 -0.324223697186 -0.280223727226 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.903522908688 -0.324223697186 -0.280223727226 -vn -0.939108490944 -0.334201961756 0.079902052879 -vn -0.939108490944 -0.334201961756 0.079902052879 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.939108490944 -0.334201961756 0.079902052879 -vn -0.879063725471 -0.294311136007 0.375003933907 -vn -0.879063725471 -0.294311136007 0.375003933907 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.948065698147 -0.258092373610 0.185902506113 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.879063725471 -0.294311136007 0.375003933907 -vn -0.350002974272 -0.353424876928 0.867518723011 -vn -0.350002974272 -0.353424876928 0.867518723011 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.772708237171 -0.313344955444 0.552029848099 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.350002974272 -0.353424876928 0.867518723011 -vn 0.522046148777 -0.307964920998 0.795377552509 -vn 0.522046148777 -0.307964920998 0.795377552509 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn -0.108156479895 -0.424431473017 0.898977220058 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.522046148777 -0.307964920998 0.795377552509 -vn 0.855423569679 -0.287269592285 0.430960148573 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn 0.522046148777 -0.307964920998 0.795377552509 -vn 0.855423569679 -0.287269592285 0.430960148573 -vn 0.965904176235 -0.249124884605 -0.070468947291 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.855423569679 -0.287269592285 0.430960148573 -vn 0.965904176235 -0.249124884605 -0.070468947291 -vn 0.707191705704 -0.151784554124 -0.690536975861 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.965904176235 -0.249124884605 -0.070468947291 -vn 0.707191705704 -0.151784554124 -0.690536975861 -vn 0.155663013458 -0.127083465457 -0.979601383209 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.707191705704 -0.151784554124 -0.690536975861 -vn 0.155663013458 -0.127083465457 -0.979601383209 -vn -0.514643490314 -0.262845516205 -0.816121518612 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn 0.155663013458 -0.127083465457 -0.979601383209 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.250461757183 -0.593217015266 0.765089869499 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn -0.521389782429 -0.343838661909 0.780978679657 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.715763926506 -0.212930619717 0.665088415146 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.465007245541 -0.425382465124 0.776413559914 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn -0.145126968622 0.899781525135 -0.411498963833 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn 0.134684994817 0.684974730015 -0.716009497643 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn -0.775885522366 0.616467952728 -0.134048074484 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.633557975292 0.763627767563 -0.124406084418 -vn -0.516845405102 0.745677411556 -0.420518726110 -vn -0.596450567245 0.676830708981 -0.431447476149 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.522606372833 -0.813196480274 0.256113231182 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.097222670913 -0.772586345673 0.627421736717 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn -0.230195984244 -0.579904317856 0.781486272812 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.513534486294 0.648863255978 0.561479091644 -vn -0.660521805286 0.480035573244 0.577301323414 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.513534486294 0.648863255978 0.561479091644 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn 0.137720257044 -0.872675478458 -0.468476980925 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn -0.555393755436 -0.827782988548 0.079454943538 -vn 0.323501050472 -0.885855317116 0.332576870918 -vn 0.652669608593 -0.757597029209 0.008313104510 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn 0.280668675900 -0.841036975384 -0.462473720312 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.123121000826 -0.448742777109 -0.885139048100 -vn 0.092088714242 -0.480216324329 -0.872302651405 -vn -0.043687757105 -0.877011001110 -0.478479951620 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.660521805286 0.480035573244 0.577301323414 -vn -0.632141351700 0.593008518219 0.498736590147 -vn -0.632141351700 0.593008518219 0.498736590147 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.426534503698 0.658479154110 0.620059251785 -vn -0.405317097902 0.826308548450 0.391065508127 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.253316640854 0.715313494205 0.651273608208 -vn -0.354340136051 0.692856073380 0.628007590771 -vn -0.426534503698 0.658479154110 0.620059251785 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn -0.097222670913 -0.772586345673 0.627421736717 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn 0.439630091190 -0.721156895161 0.535404622555 -vn 0.153458490968 -0.724150478840 0.672351539135 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn 0.052944108844 -0.525575459003 0.849097967148 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.194386199117 -0.316394358873 0.928498029709 -vn -0.327875584364 -0.123132228851 0.936662197113 -vn 0.005380727351 -0.466115295887 0.884707629681 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.183084383607 -0.301576018333 0.935698688030 -vn -0.183688417077 -0.212271973491 0.959791243076 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.442722022533 -0.331521779299 -0.833120942116 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.531822919846 -0.763270735741 -0.366854429245 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn 0.157262817025 -0.804923295975 -0.572159826756 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn -0.114131063223 -0.495763331652 -0.860925555229 -vn 0.238099992275 -0.110498450696 -0.964934468269 -vn 0.452441990376 -0.493693500757 -0.742672860622 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn -0.474601060152 -0.314127713442 0.822239398956 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.310935705900 -0.333749651909 0.889904558659 -vn -0.645000696182 -0.448348075151 0.618836104870 -vn -0.776939868927 -0.339007973671 0.530507385731 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn -0.097222670913 -0.772586345673 0.627421736717 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.097222670913 -0.772586345673 0.627421736717 -vn -0.441064447165 -0.647433578968 0.621523916721 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn -0.278138488531 -0.797384798527 0.535552501678 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn -0.282175540924 -0.623341798782 0.729261279106 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.148190066218 -0.888485610485 0.434319049120 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn -0.163589537144 -0.883762001991 0.438409894705 -vn 0.091035820544 -0.847606122494 0.522758364677 -vn 0.277552098036 -0.928275525570 0.247526556253 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn -0.147046521306 0.661145508289 -0.735706388950 -vn -0.147046521306 0.661145508289 -0.735706388950 -vn 0.080240480602 0.638880431652 -0.765109956264 -vn 0.103091351688 0.587236762047 -0.802823245525 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn -0.315204828978 0.861297667027 -0.398512542248 -vn -0.474705159664 0.698050916195 -0.536078274250 -vn -0.474705159664 0.698050916195 -0.536078274250 -vn -0.147046521306 0.661145508289 -0.735706388950 -vn -0.021746918559 0.684855461121 -0.728354394436 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.616677582264 -0.787093162537 0.013895100914 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.852300584316 -0.522522985935 -0.023525990546 -vn -0.852300584316 -0.522522985935 -0.023525990546 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.371117204428 0.216821014881 0.902917861938 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.449752897024 0.215031251311 0.866881728172 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.131719857454 -0.939497470856 -0.316218942404 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.103229515254 0.978088200092 0.180795833468 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.155846312642 0.291441172361 0.943808257580 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.220938414335 0.246594354510 0.943598151207 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.711501002312 -0.684330821037 -0.159554719925 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.807789504528 -0.443095922470 -0.388770043850 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn 0.864156365395 0.421443611383 0.274989217520 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.155846312642 0.291441172361 0.943808257580 -vn -0.103229515254 0.978088200092 0.180795833468 -vn 0.864156365395 0.421443611383 0.274989217520 -vn 0.864156365395 0.421443611383 0.274989217520 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.864156365395 0.421443611383 0.274989217520 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.668927371502 0.054616473615 0.741318523884 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn -0.228597149253 -0.963452041149 0.139655098319 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.125691637397 0.965929806232 0.226232767105 -vn 0.125691637397 0.965929806232 0.226232767105 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.525134205818 0.469024330378 0.710105836391 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.776327371597 0.532938063145 -0.336589962244 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.518878757954 0.427382588387 0.740343809128 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.846791744232 -0.483428299427 -0.221902847290 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn -0.526116251945 0.837725043297 0.146350353956 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn -0.418460667133 0.901152551174 0.113202057779 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn -0.582837760448 0.017110457644 0.812408387661 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.300787478685 0.223077714443 0.927234172821 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.582837760448 0.017110457644 0.812408387661 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.452860146761 -0.891462624073 -0.014562929980 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.526116251945 0.837725043297 0.146350353956 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.331191927195 0.887251555920 -0.321086555719 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn 0.199163094163 0.857034504414 -0.475211501122 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn 0.901155054569 0.207435190678 -0.380644440651 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.767984747887 -0.000124268874 -0.640468120575 -vn 0.632791161537 -0.770698904991 -0.074823580682 -vn 0.755004882813 -0.648362755775 -0.097945638001 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.887100934982 -0.301324844360 0.349650204182 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.669882655144 0.495309412479 0.553105592728 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.094880104065 0.767824649811 -0.633595347404 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn 0.584740519524 -0.076099924743 -0.807643055916 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.512204766273 -0.850021958351 -0.122918345034 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.489775359631 -0.690809249878 0.531885921955 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.898592233658 0.382915318012 0.214261218905 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.898592233658 0.382915318012 0.214261218905 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.070625789464 0.688678205013 -0.721619248390 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn -0.057959515601 0.724743604660 -0.686576604843 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn 0.469996184111 -0.136217668653 -0.872094213963 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.575490474701 -0.073232166469 -0.814523041248 -vn 0.609682977200 -0.792106568813 -0.029220450670 -vn 0.525191307068 -0.828523874283 -0.194222226739 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn -0.291609972715 0.196503594518 0.936135649681 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.571492850780 -0.022711342201 0.820292711258 -vn -0.291609972715 0.196503594518 0.936135649681 -vn -0.291609972715 0.196503594518 0.936135649681 -vn -0.313529968262 0.702443897724 0.638961255550 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.452860146761 -0.891462624073 -0.014562929980 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.853799223900 -0.515887677670 -0.069905407727 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.923558056355 0.181594893336 -0.337733328342 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.669882655144 0.495309412479 0.553105592728 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.356608331203 0.911232411861 -0.206121206284 -vn -0.882203221321 0.466355353594 0.065039306879 -vn -0.669882655144 0.495309412479 0.553105592728 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.526116251945 0.837725043297 0.146350353956 -vn -0.669882655144 0.495309412479 0.553105592728 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.690679788589 -0.000778474496 0.723160266876 -vn -0.716297686100 -0.048545919359 0.696104109287 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.008410177194 -0.786310911179 0.617773711681 -vn -0.356729805470 -0.570918679237 0.739456355572 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.452860146761 -0.891462624073 -0.014562929980 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn 0.281914830208 -0.912322878838 0.296969711781 -vn -0.359494030476 -0.823143482208 0.439543902874 -vn -0.452860146761 -0.891462624073 -0.014562929980 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn -0.489775359631 -0.690809249878 0.531885921955 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.898592233658 0.382915318012 0.214261218905 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.840265870094 -0.241866633296 0.485235869884 -vn -0.784745812416 -0.252164989710 0.566203892231 -vn -0.898592233658 0.382915318012 0.214261218905 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.686430990696 0.720295071602 -0.099937297404 -vn -0.898592233658 0.382915318012 0.214261218905 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.313529968262 0.702443897724 0.638961255550 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.342781454325 0.907233953476 -0.243777379394 -vn -0.650007605553 0.666634500027 0.364813089371 -vn -0.313529968262 0.702443897724 0.638961255550 -vn -0.291609972715 0.196503594518 0.936135649681 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.418460667133 0.901152551174 0.113202057779 -vn -0.313529968262 0.702443897724 0.638961255550 -vn -0.291609972715 0.196503594518 0.936135649681 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.300787478685 0.223077714443 0.927234172821 -vn -0.291609972715 0.196503594518 0.936135649681 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.193445131183 -0.664700031281 0.721632063389 -vn 0.027322886512 -0.366461753845 0.930031836033 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn -0.489775359631 -0.690809249878 0.531885921955 -vn -0.071583420038 -0.882299423218 0.465213447809 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn 0.251126438379 -0.872303128242 0.419550597668 -vn -0.134772136807 -0.627485811710 0.766875505447 -vn -0.489775359631 -0.690809249878 0.531885921955 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.059762805700 0.789890289307 -0.610329151154 -vn 0.442690938711 0.830069482327 -0.339130282402 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn 0.939903497696 0.263156682253 -0.217554569244 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.872482240200 -0.471308529377 0.129007905722 -vn 0.654265940189 -0.755983114243 0.020631497726 -vn 0.717394471169 0.009258572012 -0.696605682373 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.007830149494 -0.295004695654 0.955463707447 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.131474196911 0.695336520672 0.706556200981 -vn -0.131474196911 0.695336520672 0.706556200981 -vn -0.630089104176 0.398744553328 0.666326105595 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.563470244408 0.434554904699 0.702611804008 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.671369910240 -0.501542747021 0.545634746552 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.582837760448 0.017110457644 0.812408387661 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn 0.086628310382 -0.763483464718 0.639991044998 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.750201165676 0.627852976322 0.207361668348 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.582837760448 0.017110457644 0.812408387661 -vn -0.582837760448 0.017110457644 0.812408387661 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.750201165676 0.627852976322 0.207361668348 -vn 0.072813071311 0.950119674206 0.303266942501 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.519856750965 0.852639913559 -0.052479960024 -vn -0.750201165676 0.627852976322 0.207361668348 -vn 0.072813071311 0.950119674206 0.303266942501 -vn 0.563470244408 0.434554904699 0.702611804008 -vn 0.831779718399 0.422522366047 0.360024124384 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.211761444807 0.976250410080 -0.045741431415 -vn 0.072813071311 0.950119674206 0.303266942501 -vn 0.563470244408 0.434554904699 0.702611804008 -vn -0.007830149494 -0.295004695654 0.955463707447 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn 0.563470244408 0.434554904699 0.702611804008 -vn 0.563470244408 0.434554904699 0.702611804008 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.007830149494 -0.295004695654 0.955463707447 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn 0.477946668863 -0.420341253281 0.771284759045 -vn -0.007830149494 -0.295004695654 0.955463707447 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn -0.347150862217 -0.614471793175 0.708456575871 -vn -0.434476226568 -0.280854701996 0.855775117874 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.630089104176 0.398744553328 0.666326105595 -vn -0.750201165676 0.627852976322 0.207361668348 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.686755061150 -0.134028151631 0.714425623417 -vn -0.577457189560 -0.013896662742 0.816302657127 -vn -0.630089104176 0.398744553328 0.666326105595 -vn -0.131474196911 0.695336520672 0.706556200981 -vn 0.072813071311 0.950119674206 0.303266942501 -vn -0.750201165676 0.627852976322 0.207361668348 -vn -0.750201165676 0.627852976322 0.207361668348 -vn -0.630089104176 0.398744553328 0.666326105595 -vn -0.131474196911 0.695336520672 0.706556200981 -vn -0.083546750247 0.307561278343 0.947853386402 -vn 0.563470244408 0.434554904699 0.702611804008 -vn 0.072813071311 0.950119674206 0.303266942501 -vn 0.072813071311 0.950119674206 0.303266942501 -vn -0.131474196911 0.695336520672 0.706556200981 -vn -0.083546750247 0.307561278343 0.947853386402 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.701268851757 -0.693833172321 -0.163760513067 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.909171402454 -0.153872847557 -0.386950284243 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.888054728508 -0.403473645449 -0.220381125808 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.371117204428 0.216821014881 0.902917861938 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.371117204428 0.216821014881 0.902917861938 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.595785379410 0.316492557526 0.738154590130 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.668927371502 0.054616473615 0.741318523884 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.125691637397 0.965929806232 0.226232767105 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn -0.103229515254 0.978088200092 0.180795833468 -vn -0.103229515254 0.978088200092 0.180795833468 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.103229515254 0.978088200092 0.180795833468 -vn 0.234835863113 0.898671209812 -0.370462059975 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.864156365395 0.421443611383 0.274989217520 -vn -0.103229515254 0.978088200092 0.180795833468 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn 0.795773029327 -0.568661808968 0.208252415061 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn 0.560475468636 -0.384606152773 0.733447611332 -vn 0.864156365395 0.421443611383 0.274989217520 -vn 0.935081541538 0.343843042850 -0.085991114378 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.012428311631 -0.972527623177 0.232455551624 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.273491442204 -0.824210345745 0.495862573385 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.654169857502 0.611067593098 -0.445710867643 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.825740158558 0.557865142822 -0.083304390311 -vn -0.924543797970 -0.378240644932 0.046398065984 -vn -0.859294295311 -0.489033728838 -0.149864375591 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.188257768750 0.392298519611 0.900367081165 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.188257768750 0.392298519611 0.900367081165 -vn 0.188257768750 0.392298519611 0.900367081165 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.544627487659 0.529230535030 0.650611937046 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.716074943542 0.144961029291 0.682805240154 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.716074943542 0.144961029291 0.682805240154 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn -0.429535895586 0.902928054333 0.014827483334 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn -0.441782504320 0.297333627939 0.846416532993 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.274307638407 0.453335881233 0.848081290722 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.441782504320 0.297333627939 0.846416532993 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.696559727192 -0.627136945724 0.348573863506 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.925961256027 0.377290695906 0.015729881823 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.925961256027 0.377290695906 0.015729881823 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.314878374338 0.648127079010 -0.693385124207 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn 0.183795481920 0.739516615868 -0.647560358047 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn 0.801216185093 -0.015416327864 -0.598176360130 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.800073266029 0.021300172433 -0.599524021149 -vn 0.750594854355 -0.659069657326 -0.047271598130 -vn 0.760725796223 -0.609730362892 -0.222542375326 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.779098629951 0.083139143884 0.621363997459 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.600362479687 0.620171487331 0.504927933216 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.137644410133 0.679225027561 -0.720907330513 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn 0.779980123043 -0.012368889526 -0.625682055950 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.718797862530 -0.691185951233 0.074776910245 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.702686250210 -0.592057228088 0.394588679075 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.934488713741 0.355977147818 0.003339467803 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.934488713741 0.355977147818 0.003339467803 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.157137870789 0.549231410027 -0.820763409138 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn -0.079140819609 0.539121925831 -0.838501214981 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn 0.555945277214 -0.210566222668 -0.804106175900 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.413201630116 -0.293350487947 -0.862096250057 -vn 0.575929820538 -0.817486464977 0.004545534495 -vn 0.615144014359 -0.778381824493 -0.125377655029 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.722877025604 0.172329545021 0.669142186642 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.356412112713 0.766799211502 0.533843994141 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.696559727192 -0.627136945724 0.348573863506 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.925961256027 0.377290695906 0.015729881823 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.929514527321 -0.149202257395 0.337255775928 -vn -0.925961256027 0.377290695906 0.015729881823 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.925961256027 0.377290695906 0.015729881823 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.600362479687 0.620171487331 0.504927933216 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.372731298208 0.847431004047 -0.378063619137 -vn -0.768828213215 0.621080696583 0.152190640569 -vn -0.600362479687 0.620171487331 0.504927933216 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.716074943542 0.144961029291 0.682805240154 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.584914922714 0.809603810310 -0.049154900014 -vn -0.600362479687 0.620171487331 0.504927933216 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn -0.716074943542 0.144961029291 0.682805240154 -vn -0.716074943542 0.144961029291 0.682805240154 -vn -0.614867448807 0.221208631992 0.756970763206 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn 0.050791967660 -0.655888438225 0.753147065639 -vn -0.303740888834 -0.252504259348 0.918685495853 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.696559727192 -0.627136945724 0.348573863506 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn 0.293518781662 -0.907126367092 0.301609754562 -vn -0.381968259811 -0.541032910347 0.749255359173 -vn -0.696559727192 -0.627136945724 0.348573863506 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn -0.702686250210 -0.592057228088 0.394588679075 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.934488713741 0.355977147818 0.003339467803 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.935787856579 -0.153255134821 0.317512065172 -vn -0.930642664433 -0.119538858533 0.345853626728 -vn -0.934488713741 0.355977147818 0.003339467803 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.714753448963 0.639174342155 -0.283872634172 -vn -0.934488713741 0.355977147818 0.003339467803 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.356412112713 0.766799211502 0.533843994141 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.337008565664 0.844721615314 -0.415777087212 -vn -0.714815974236 0.677176654339 0.174556314945 -vn -0.356412112713 0.766799211502 0.533843994141 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.429535895586 0.902928054333 0.014827483334 -vn -0.356412112713 0.766799211502 0.533843994141 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.274307638407 0.453335881233 0.848081290722 -vn -0.396692723036 0.409319311380 0.821640193462 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn 0.217625066638 -0.362255036831 0.906317055225 -vn -0.104366108775 -0.074760586023 0.991725027561 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.702686250210 -0.592057228088 0.394588679075 -vn -0.158099621534 -0.848514199257 0.505003094673 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn 0.242346301675 -0.785019755363 0.570098459721 -vn -0.339470773935 -0.405748128891 0.848603606224 -vn -0.702686250210 -0.592057228088 0.394588679075 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.053827662021 0.628712534904 -0.775772631168 -vn 0.483346670866 0.702270805836 -0.522677481174 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn 0.917047142982 0.207954093814 -0.340264052153 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.917628645897 -0.383898764849 0.102856516838 -vn 0.673219799995 -0.736139237881 0.069814592600 -vn 0.606436192989 -0.167024254799 -0.777391850948 -vn -0.364090979099 0.029598439112 0.930892944336 -vn 0.024463318288 -0.011137106456 0.999638676643 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.030472742394 0.502272367477 0.864172399044 -vn -0.411388903856 0.236352607608 0.880282104015 -vn -0.364090979099 0.029598439112 0.930892944336 -vn -0.411388903856 0.236352607608 0.880282104015 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.048600327224 0.791139721870 0.609701573849 -vn 0.048600327224 0.791139721870 0.609701573849 -vn -0.491668075323 0.542922973633 0.680806279182 -vn -0.411388903856 0.236352607608 0.880282104015 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.720661699772 -0.320666521788 0.614670395851 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.441782504320 0.297333627939 0.846416532993 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn 0.181036546826 -0.475809484720 0.860715448856 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.667333602905 0.709663510323 0.225928291678 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.441782504320 0.297333627939 0.846416532993 -vn -0.441782504320 0.297333627939 0.846416532993 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.667333602905 0.709663510323 0.225928291678 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.468466967344 0.873695731163 -0.131127700210 -vn -0.667333602905 0.709663510323 0.225928291678 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.845024704933 0.479537010193 0.236595571041 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.275201112032 0.942345619202 -0.190391898155 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.024463318288 -0.011137106456 0.999638676643 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.024463318288 -0.011137106456 0.999638676643 -vn -0.364090979099 0.029598439112 0.930892944336 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn 0.488979995251 -0.171528041363 0.855264127254 -vn 0.024463318288 -0.011137106456 0.999638676643 -vn -0.364090979099 0.029598439112 0.930892944336 -vn -0.411388903856 0.236352607608 0.880282104015 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn -0.317777812481 -0.270505011082 0.908759772778 -vn -0.364090979099 0.029598439112 0.930892944336 -vn -0.411388903856 0.236352607608 0.880282104015 -vn -0.491668075323 0.542922973633 0.680806279182 -vn -0.667333602905 0.709663510323 0.225928291678 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.505450129509 0.167936429381 0.846355438232 -vn -0.411388903856 0.236352607608 0.880282104015 -vn -0.491668075323 0.542922973633 0.680806279182 -vn 0.048600327224 0.791139721870 0.609701573849 -vn 0.184340089560 0.964558541775 0.188800379634 -vn -0.667333602905 0.709663510323 0.225928291678 -vn -0.667333602905 0.709663510323 0.225928291678 -vn -0.491668075323 0.542922973633 0.680806279182 -vn 0.048600327224 0.791139721870 0.609701573849 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.620835781097 0.549651503563 0.558968842030 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.184340089560 0.964558541775 0.188800379634 -vn 0.048600327224 0.791139721870 0.609701573849 -vn 0.030472742394 0.502272367477 0.864172399044 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn 0.082621961832 0.478565484285 -0.874155998230 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn -0.143158808351 0.976085782051 -0.163591206074 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn 0.744623959064 -0.667047798634 -0.024132670835 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn 0.552064001560 -0.510690867901 0.659105539322 -vn 0.845170021057 0.302865654230 -0.440408945084 -vn 0.633280694485 -0.109367601573 -0.766155540943 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.165316551924 -0.941744863987 0.292894333601 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn -0.732530832291 0.579060792923 -0.357892721891 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.869091689587 0.493450880051 -0.034437030554 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn -0.948099553585 -0.283545225859 0.143907278776 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.243232712150 0.967023551464 0.075520321727 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.221887230873 0.512353301048 0.829614460468 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn 0.842137992382 0.517580270767 0.151374444366 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.221887230873 0.512353301048 0.829614460468 -vn 0.221887230873 0.512353301048 0.829614460468 -vn -0.243232712150 0.967023551464 0.075520321727 -vn 0.842137992382 0.517580270767 0.151374444366 -vn 0.842137992382 0.517580270767 0.151374444366 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.675440192223 -0.458956182003 0.577182590961 -vn 0.706088304520 0.278354465961 0.651120662689 -vn 0.842137992382 0.517580270767 0.151374444366 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn -0.067432902753 0.981908500195 0.176942050457 -vn -0.067432902753 0.981908500195 0.176942050457 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.238086134195 -0.970914840698 -0.025286355987 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn -0.084731951356 0.879110991955 -0.469024926424 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn -0.275824129581 0.797233998775 -0.536972105503 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn 0.678748965263 0.523606896400 -0.514913320541 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.665448784828 0.485600709915 -0.566894888878 -vn 0.937493324280 -0.345414757729 -0.042365852743 -vn 0.946458578110 -0.312835901976 -0.079685956240 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.746901273727 -0.482674479485 0.457344383001 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.788937568665 0.168626442552 0.590882897377 -vn -0.964621126652 0.160373017192 0.209252431989 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn -0.335760802031 0.784725189209 -0.521028876305 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn 0.640085756779 0.425537496805 -0.639693737030 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.884581148624 -0.462744623423 -0.058168973774 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.364021629095 -0.856148600578 0.366739392281 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.945016801357 0.013837653212 0.326728969812 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.945016801357 0.013837653212 0.326728969812 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn -0.229058310390 0.760169625282 -0.608008563519 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn -0.317595332861 0.768381953239 -0.555627942085 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn 0.490750640631 0.181577041745 -0.852169930935 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.499564975500 0.111929893494 -0.859014868736 -vn 0.793244004250 -0.584889531136 -0.169316813350 -vn 0.806491255760 -0.528655171394 -0.264755606651 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.551944792271 -0.293012142181 0.780705332756 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.483903706074 0.389737546444 0.783544421196 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn -0.238086134195 -0.970914840698 -0.025286355987 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.713030219078 -0.700323402882 -0.033689942211 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.968837380409 -0.045421116054 -0.243497610092 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.788937568665 0.168626442552 0.590882897377 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.685728549957 0.718560576439 -0.115961268544 -vn -0.964621126652 0.160373017192 0.209252431989 -vn -0.788937568665 0.168626442552 0.590882897377 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.830990672112 0.493389964104 0.256945282221 -vn -0.788937568665 0.168626442552 0.590882897377 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn -0.579639554024 -0.263481736183 0.771100103855 -vn -0.625793576241 -0.278895854950 0.728422582150 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn 0.247374296188 -0.749275922775 0.614322006702 -vn -0.162624269724 -0.590079188347 0.790796995163 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.238086134195 -0.970914840698 -0.025286355987 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn 0.508111000061 -0.792860507965 0.336445242167 -vn -0.156016990542 -0.835193991661 0.527361035347 -vn -0.238086134195 -0.970914840698 -0.025286355987 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn -0.364021629095 -0.856148600578 0.366739392281 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.945016801357 0.013837653212 0.326728969812 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.698240220547 -0.517006635666 0.495141148567 -vn -0.674922764301 -0.523977279663 0.519545078278 -vn -0.945016801357 0.013837653212 0.326728969812 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.926037192345 0.371895700693 0.064410530031 -vn -0.945016801357 0.013837653212 0.326728969812 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.483903706074 0.389737546444 0.783544421196 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.732761621475 0.679454922676 0.037435822189 -vn -0.832083702087 0.208347573876 0.514031112194 -vn -0.483903706074 0.389737546444 0.783544421196 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.683753192425 0.643162727356 0.344707518816 -vn -0.483903706074 0.389737546444 0.783544421196 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.438034206629 -0.038588356227 0.898129701614 -vn -0.407987475395 -0.052795879543 0.911459743977 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn 0.339785724878 -0.630825996399 0.697570264339 -vn -0.007603065576 -0.428264111280 0.903621613979 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.364021629095 -0.856148600578 0.366739392281 -vn 0.191624388099 -0.923793375492 0.331490367651 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn 0.465707689524 -0.822708785534 0.325985670090 -vn -0.092611193657 -0.674204349518 0.732715308666 -vn -0.364021629095 -0.856148600578 0.366739392281 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.067432902753 0.981908500195 0.176942050457 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn -0.757342994213 0.639263868332 0.133316561580 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn -0.137136697769 0.888346493244 -0.438216865063 -vn 0.305667221546 0.945262253284 -0.114222683012 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn 0.873983740807 0.479939311743 -0.076227970421 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.971413433552 -0.198218494654 0.130634292960 -vn 0.840784430504 -0.537654459476 -0.063318446279 -vn 0.716986238956 0.239118993282 -0.654792249203 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn 0.025394085795 -0.229523256421 0.972971856594 -vn -0.178718537092 0.188127040863 0.965747356415 -vn -0.178718537092 0.188127040863 0.965747356415 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.178718537092 0.188127040863 0.965747356415 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.581079006195 0.111400045455 0.806186854839 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.689539670944 0.551088571548 0.469932347536 -vn 0.376014262438 0.462822437286 0.802750706673 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.785614967346 -0.286049783230 0.548620700836 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn 0.307455629110 -0.716057658195 0.626683712006 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn -0.601199984550 -0.264719158411 0.753977715969 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.262828111649 0.784388482571 0.561832785606 -vn -0.067432902753 0.981908500195 0.176942050457 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.757342994213 0.639263868332 0.133316561580 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.262828111649 0.784388482571 0.561832785606 -vn 0.376014262438 0.462822437286 0.802750706673 -vn 0.689539670944 0.551088571548 0.469932347536 -vn -0.067432902753 0.981908500195 0.176942050457 -vn -0.067432902753 0.981908500195 0.176942050457 -vn -0.262828111649 0.784388482571 0.561832785606 -vn 0.376014262438 0.462822437286 0.802750706673 -vn 0.025394085795 -0.229523256421 0.972971856594 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn 0.376014262438 0.462822437286 0.802750706673 -vn 0.376014262438 0.462822437286 0.802750706673 -vn -0.178718537092 0.188127040863 0.965747356415 -vn 0.025394085795 -0.229523256421 0.972971856594 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn 0.519195377827 -0.233764812350 0.822064578533 -vn 0.025394085795 -0.229523256421 0.972971856594 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn -0.203189909458 -0.671831786633 0.712289214134 -vn -0.339134454727 -0.273717045784 0.900037109852 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.581079006195 0.111400045455 0.806186854839 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.580693304539 -0.239784106612 0.778009533882 -vn -0.447011172771 -0.045240279287 0.893383622169 -vn -0.581079006195 0.111400045455 0.806186854839 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.262828111649 0.784388482571 0.561832785606 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.870019555092 0.264733344316 0.415911346674 -vn -0.581079006195 0.111400045455 0.806186854839 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.178718537092 0.188127040863 0.965747356415 -vn 0.376014262438 0.462822437286 0.802750706673 -vn -0.262828111649 0.784388482571 0.561832785606 -vn -0.262828111649 0.784388482571 0.561832785606 -vn -0.348185300827 0.396597862244 0.849398136139 -vn -0.178718537092 0.188127040863 0.965747356415 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn -0.243232712150 0.967023551464 0.075520321727 -vn -0.243232712150 0.967023551464 0.075520321727 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.243232712150 0.967023551464 0.075520321727 -vn -0.115772135556 0.916144967079 -0.383764445782 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.842137992382 0.517580270767 0.151374444366 -vn -0.243232712150 0.967023551464 0.075520321727 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.847369909286 -0.431685984135 0.309211075306 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.818376600742 -0.401787668467 0.410884916782 -vn 0.842137992382 0.517580270767 0.151374444366 -vn 0.857951998711 0.502564668655 -0.106523200870 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn 0.210670322180 -0.966682791710 0.145404189825 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn 0.111688241363 -0.954437494278 0.276721477509 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.817223966122 0.438406974077 -0.374091386795 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.886659443378 0.442658960819 -0.133746445179 -vn -0.726776778698 -0.684764206409 -0.053791709244 -vn -0.639753162861 -0.691484153271 -0.335507929325 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.228585809469 0.971321880817 -0.065439939499 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.155846312642 0.291441172361 0.943808257580 -vn 0.525134205818 0.469024330378 0.710105836391 -vn 0.934458494186 0.322290331125 0.151381283998 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.547749757767 0.077166840434 0.833075940609 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.547749757767 0.077166840434 0.833075940609 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.337525874376 0.930810749531 0.140241369605 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn -0.170828253031 0.950032889843 0.261256903410 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn -0.429289430380 0.010662646964 0.903104007244 -vn 0.001197829144 0.204163551331 0.978936076164 -vn 0.001197829144 0.204163551331 0.978936076164 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.001197829144 0.204163551331 0.978936076164 -vn -0.429289430380 0.010662646964 0.903104007244 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.170828253031 0.950032889843 0.261256903410 -vn 0.001197829144 0.204163551331 0.978936076164 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.647293269634 -0.752994298935 -0.118367962539 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.470382779837 0.875310480595 0.112123101950 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.338147550821 0.829213023186 -0.445041537285 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn 0.098854996264 0.784844338894 -0.611757338047 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn 0.920910716057 0.206858113408 -0.330353140831 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.688472807407 0.029249710962 -0.724672079086 -vn 0.646868646145 -0.754471123219 -0.111059591174 -vn 0.785724759102 -0.618380904198 -0.015544304624 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.795008242130 -0.004372249823 0.606582820415 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.485284209251 0.621354460716 0.615156769753 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn -0.047386102378 0.731830000877 -0.679837763309 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn 0.473639577627 -0.082474462688 -0.876848638058 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.421069711447 -0.883927404881 -0.203402578831 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.449355930090 -0.622634947300 0.640628576279 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.777829766273 0.488033413887 0.395985156298 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.777829766273 0.488033413887 0.395985156298 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.001963527407 0.702904462814 -0.711281538010 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn -0.025579690933 0.776846170425 -0.629170656204 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn 0.276719152927 -0.113191716373 -0.954261064529 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.322021692991 -0.110789388418 -0.940227508545 -vn 0.412459701300 -0.882799863815 -0.224814176559 -vn 0.308892786503 -0.861497938633 -0.402996987104 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn 0.035827055573 0.207518517971 0.977574825287 -vn -0.326971471310 0.053588666022 0.943513572216 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.326971471310 0.053588666022 0.943513572216 -vn 0.035827055573 0.207518517971 0.977574825287 -vn 0.035827055573 0.207518517971 0.977574825287 -vn -0.050434809178 0.689648866653 0.722385466099 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.647293269634 -0.752994298935 -0.118367962539 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.960114955902 -0.244047343731 0.136455714703 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.910519480705 0.385565638542 -0.149309948087 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.485284209251 0.621354460716 0.615156769753 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.275407165289 0.928095698357 -0.250577956438 -vn -0.745011448860 0.632212758064 0.212755620480 -vn -0.485284209251 0.621354460716 0.615156769753 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.547749757767 0.077166840434 0.833075940609 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.470382779837 0.875310480595 0.112123101950 -vn -0.485284209251 0.621354460716 0.615156769753 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn -0.547749757767 0.077166840434 0.833075940609 -vn -0.547749757767 0.077166840434 0.833075940609 -vn -0.536564469337 0.119927458465 0.835293948650 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn 0.102821968496 -0.748076140881 0.655598759651 -vn -0.198560431600 -0.441530883312 0.874999582767 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.647293269634 -0.752994298935 -0.118367962539 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn 0.306575775146 -0.907850980759 0.286038279533 -vn -0.384179323912 -0.683712661266 0.620437920094 -vn -0.647293269634 -0.752994298935 -0.118367962539 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn -0.449355930090 -0.622634947300 0.640628576279 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.777829766273 0.488033413887 0.395985156298 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.773331344128 -0.181563839316 0.607448101044 -vn -0.665392875671 -0.152734041214 0.730701446533 -vn -0.777829766273 0.488033413887 0.395985156298 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.653835475445 0.756583929062 0.008939243853 -vn -0.777829766273 0.488033413887 0.395985156298 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.050434809178 0.689648866653 0.722385466099 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.253899276257 0.958160519600 -0.132149979472 -vn -0.436078906059 0.732999444008 0.522060334682 -vn -0.050434809178 0.689648866653 0.722385466099 -vn 0.035827055573 0.207518517971 0.977574825287 -vn 0.001197829144 0.204163551331 0.978936076164 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.170828253031 0.950032889843 0.261256903410 -vn -0.050434809178 0.689648866653 0.722385466099 -vn 0.035827055573 0.207518517971 0.977574825287 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.001197829144 0.204163551331 0.978936076164 -vn 0.001197829144 0.204163551331 0.978936076164 -vn 0.035827055573 0.207518517971 0.977574825287 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.178257793188 -0.751887738705 0.634735345840 -vn 0.251319766045 -0.339376091957 0.906455874443 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn -0.449355930090 -0.622634947300 0.640628576279 -vn -0.068334780633 -0.860537767410 0.504782259464 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn 0.192031323910 -0.934470832348 0.299813717604 -vn -0.034413214773 -0.623692095280 0.780912220478 -vn -0.449355930090 -0.622634947300 0.640628576279 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn -0.337525874376 0.930810749531 0.140241369605 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn -0.337525874376 0.930810749531 0.140241369605 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.125956013799 0.815335929394 -0.565121591091 -vn 0.615988314152 0.720898389816 -0.317590743303 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn 0.924420893192 0.053604725748 -0.377587854862 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.760992348194 -0.645550906658 -0.064457304776 -vn 0.461613714695 -0.874826371670 -0.146940901875 -vn 0.556747496128 -0.079760462046 -0.826843678951 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn 0.030373126268 -0.405382573605 0.913642406464 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.067655861378 0.094781979918 0.993196368217 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.004601359833 0.522861719131 0.852405130863 -vn 0.004601359833 0.522861719131 0.852405130863 -vn -0.538786590099 0.230709373951 0.810235857964 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.623558640480 -0.671979129314 0.399523109198 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.429289430380 0.010662646964 0.903104007244 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn 0.022328991443 -0.807272195816 0.589756786823 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.590204536915 0.644762694836 0.485736191273 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.429289430380 0.010662646964 0.903104007244 -vn -0.429289430380 0.010662646964 0.903104007244 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.590204536915 0.644762694836 0.485736191273 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.423879355192 0.904768526554 0.041475951672 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.337525874376 0.930810749531 0.140241369605 -vn -0.590204536915 0.644762694836 0.485736191273 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.959200203419 0.162117242813 0.231631040573 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.423879355192 0.904768526554 0.041475951672 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.030373126268 -0.405382573605 0.913642406464 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.030373126268 -0.405382573605 0.913642406464 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn 0.437515467405 -0.595975279808 0.673345148563 -vn 0.030373126268 -0.405382573605 0.913642406464 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn -0.406600266695 -0.599074244499 0.689772665501 -vn -0.425275236368 -0.307458400726 0.851240456104 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn -0.538786590099 0.230709373951 0.810235857964 -vn -0.590204536915 0.644762694836 0.485736191273 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.519624173641 -0.096402786672 0.848938882351 -vn -0.498360216618 -0.011345745064 0.866895854473 -vn -0.538786590099 0.230709373951 0.810235857964 -vn 0.004601359833 0.522861719131 0.852405130863 -vn 0.313855469227 0.815999209881 0.485427707434 -vn -0.590204536915 0.644762694836 0.485736191273 -vn -0.590204536915 0.644762694836 0.485736191273 -vn -0.538786590099 0.230709373951 0.810235857964 -vn 0.004601359833 0.522861719131 0.852405130863 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.736156404018 0.144710719585 0.661159992218 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.313855469227 0.815999209881 0.485427707434 -vn 0.004601359833 0.522861719131 0.852405130863 -vn 0.067655861378 0.094781979918 0.993196368217 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.285551220179 0.869218170643 -0.403633773327 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.274834781885 0.908923387527 -0.313566774130 -vn 0.952248871326 0.304680645466 0.019794657826 -vn 0.807383418083 -0.537694036961 0.242934510112 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn 0.757777929306 -0.368886232376 0.538233757019 -vn 0.934458494186 0.322290331125 0.151381283998 -vn 0.952248871326 0.304680645466 0.019794657826 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.061535436660 -0.933928251266 0.352124094963 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.253473311663 -0.772156655788 0.582688093185 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.623009026051 0.664530754089 -0.412624120712 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn -0.581666529179 0.743011713028 -0.331055343151 -vn -0.996103525162 -0.017238132656 0.086490817368 -vn -0.945911884308 -0.323958635330 -0.017364645377 -vn -0.807789504528 -0.443095922470 -0.388770043850 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.807789504528 -0.443095922470 -0.388770043850 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.807789504528 -0.443095922470 -0.388770043850 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.728950142860 -0.327087074518 -0.601369857788 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.618258059025 0.073811292648 -0.782501697540 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn -0.776327371597 0.532938063145 -0.336589962244 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.458354860544 0.598978698254 -0.656608939171 -vn -0.776327371597 0.532938063145 -0.336589962244 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.979369640350 0.134773358703 -0.150569871068 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.495899587870 0.820320844650 -0.284881204367 -vn -0.776327371597 0.532938063145 -0.336589962244 -vn -0.890372574329 0.080532528460 -0.448052674532 -vn -0.711501002312 -0.684330821037 -0.159554719925 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.711501002312 -0.684330821037 -0.159554719925 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.711501002312 -0.684330821037 -0.159554719925 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.706272184849 -0.603011190891 -0.370887011290 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.723380565643 -0.383380830288 -0.574229657650 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.909171402454 -0.153872847557 -0.386950284243 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.775762677193 -0.188441053033 -0.602231025696 -vn -0.909171402454 -0.153872847557 -0.386950284243 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.906276762486 -0.404754072428 -0.121805310249 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.984793066978 -0.172015860677 -0.024353824556 -vn -0.909171402454 -0.153872847557 -0.386950284243 -vn -0.845550715923 -0.427685022354 -0.319577127695 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.888054728508 -0.403473645449 -0.220381125808 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.701268851757 -0.693833172321 -0.163760513067 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.796449840069 -0.575604200363 -0.185330703855 -vn -0.701268851757 -0.693833172321 -0.163760513067 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.701268851757 -0.693833172321 -0.163760513067 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.670601308346 -0.706431031227 -0.226382493973 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.706466317177 -0.613281667233 -0.353257507086 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn -0.888054728508 -0.403473645449 -0.220381125808 -vn -0.893056094646 -0.445511609316 0.063009694219 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.788561046124 -0.477070689201 -0.388040006161 -vn -0.888054728508 -0.403473645449 -0.220381125808 -vn -0.228597149253 -0.963452041149 0.139655098319 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.228597149253 -0.963452041149 0.139655098319 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn 0.103919081390 -0.905755519867 0.410862177610 -vn -0.228597149253 -0.963452041149 0.139655098319 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn -0.064416959882 -0.989249408245 -0.131286263466 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.400125116110 -0.844774186611 -0.355325788260 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn -0.846791744232 -0.483428299427 -0.221902847290 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.656732261181 -0.623147845268 -0.424722850323 -vn -0.846791744232 -0.483428299427 -0.221902847290 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.667753398418 -0.732233583927 0.133938133717 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.846791744232 -0.483428299427 -0.221902847290 -vn -0.638963222504 -0.764738500118 -0.083072558045 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn -0.899286210537 -0.416854232550 0.132351279259 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.858372688293 -0.511320352554 -0.041807256639 -vn -0.884231448174 -0.461644798517 0.070843711495 -vn -0.298239111900 -0.830386161804 0.470650851727 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.343221575022 0.333233237267 0.878154039383 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.449752897024 0.215031251311 0.866881728172 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.518878757954 0.427382588387 0.740343809128 -vn 0.668927371502 0.054616473615 0.741318523884 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.714198350906 -0.144104629755 -0.684948563576 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.554942369461 0.176653087139 0.812916159630 -vn -0.765450656414 0.598935127258 0.235291317105 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn -0.554942369461 0.176653087139 0.812916159630 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.078894823790 0.316832482815 0.945194602013 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.720277249813 0.069460451603 0.690199911594 -vn -0.554942369461 0.176653087139 0.812916159630 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.554942369461 0.176653087139 0.812916159630 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn -0.554942369461 0.176653087139 0.812916159630 -vn -0.554942369461 0.176653087139 0.812916159630 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.301544338465 0.953448176384 0.002751463326 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.254744201899 0.720660746098 -0.644789516926 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn -0.476167112589 -0.808386087418 0.346087813377 -vn -0.621210396290 -0.516742289066 0.589130699635 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.998421430588 -0.004686263390 0.055970139802 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.509444832802 0.780633270741 -0.362046450377 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn 0.581056177616 0.793762326241 0.179764077067 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.504871308804 -0.590458869934 0.629653275013 -vn 0.162469699979 -0.467619746923 0.868870139122 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn 0.254744201899 0.720660746098 -0.644789516926 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.613426685333 0.657508313656 -0.437481969595 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.896798372269 0.441279530525 -0.032017208636 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.581056177616 0.793762326241 0.179764077067 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.720277249813 0.069460451603 0.690199911594 -vn 0.807750463486 0.575951337814 0.125774711370 -vn 0.581056177616 0.793762326241 0.179764077067 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.826578557491 0.386441767216 0.409182965755 -vn 0.581056177616 0.793762326241 0.179764077067 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.301544338465 0.953448176384 0.002751463326 -vn 0.369211822748 0.922699332237 -0.110943920910 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.646847009659 0.741001725197 -0.180292502046 -vn -0.184017047286 0.939944207668 -0.287476360798 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn 0.254744201899 0.720660746098 -0.644789516926 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.099195800722 0.803823649883 -0.586538732052 -vn 0.254744201899 0.720660746098 -0.644789516926 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.852300584316 -0.522522985935 -0.023525990546 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn -0.573264300823 -0.621842443943 0.533554136753 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.852300584316 -0.522522985935 -0.023525990546 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn -0.101965256035 0.950193762779 -0.294507831335 -vn -0.005631436128 0.999072909355 0.042680554092 -vn -0.005631436128 0.999072909355 0.042680554092 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn -0.005631436128 0.999072909355 0.042680554092 -vn 0.187485709786 0.938560783863 0.289746075869 -vn 0.187485709786 0.938560783863 0.289746075869 -vn 0.360706925392 0.930654346943 -0.061424735934 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn -0.002327257767 -0.462118774652 0.886815011501 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn 0.793979823589 0.261099308729 0.549020230770 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.340674638748 -0.929889678955 0.138729795814 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.937267899513 -0.270961970091 -0.219336494803 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.002065459266 0.795183241367 -0.606365740299 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.513688981533 -0.684592545033 0.517162144184 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn -0.363146990538 -0.909030199051 0.204422011971 -vn -0.272706478834 -0.959422051907 0.071697592735 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.825297355652 -0.437561929226 -0.356964796782 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.852417647839 -0.424412041903 -0.305382728577 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn 0.229095175862 0.971845209599 0.055066000670 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn -0.298334419727 0.949311316013 0.099018156528 -vn -0.298334419727 0.949311316013 0.099018156528 -vn 0.038500741124 0.970658123493 0.237361595035 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.229095175862 0.971845209599 0.055066000670 -vn 0.038500741124 0.970658123493 0.237361595035 -vn 0.038500741124 0.970658123493 0.237361595035 -vn 0.510277152061 0.789386153221 0.341301500797 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.388242930174 -0.640620768070 0.662474453449 -vn 0.441654533148 -0.722736120224 0.531595468521 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn 0.002065459266 0.795183241367 -0.606365740299 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.444323122501 0.850608170033 -0.281145304441 -vn 0.434042304754 0.843485772610 -0.316447526217 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.933602452278 0.183274835348 0.307890951633 -vn 0.816090106964 0.577879071236 -0.007257726509 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.510277152061 0.789386153221 0.341301500797 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.855770230293 -0.002302488778 0.517350971699 -vn 0.668103694916 0.661955296993 0.339783221483 -vn 0.510277152061 0.789386153221 0.341301500797 -vn 0.038500741124 0.970658123493 0.237361595035 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.510277152061 0.789386153221 0.341301500797 -vn 0.038500741124 0.970658123493 0.237361595035 -vn -0.298334419727 0.949311316013 0.099018156528 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.038500741124 0.970658123493 0.237361595035 -vn -0.298334419727 0.949311316013 0.099018156528 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.298334419727 0.949311316013 0.099018156528 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn 0.002065459266 0.795183241367 -0.606365740299 -vn -0.593913555145 0.612360298634 -0.521806061268 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.806880056858 0.269844979048 -0.525479078293 -vn -0.333856552839 0.903271317482 -0.269519507885 -vn 0.002065459266 0.795183241367 -0.606365740299 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.984832644463 0.126232400537 -0.119038090110 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.195449680090 0.978367269039 0.067800879478 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.740837633610 0.595236599445 -0.311212152243 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.195449680090 0.978367269039 0.067800879478 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.117484591901 0.535072982311 0.836596846581 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.793979823589 0.261099308729 0.549020230770 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.117484591901 0.535072982311 0.836596846581 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.735706865788 -0.054184451699 0.675129234791 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn 0.152383819222 -0.058323230594 0.986598968506 -vn 0.117484591901 0.535072982311 0.836596846581 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.101965256035 0.950193762779 -0.294507831335 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.580564439297 0.618157505989 0.529930353165 -vn -0.005631436128 0.999072909355 0.042680554092 -vn -0.101965256035 0.950193762779 -0.294507831335 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.702350616455 0.688323199749 -0.181424275041 -vn -0.101965256035 0.950193762779 -0.294507831335 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn -0.273582547903 0.913477420807 -0.301183640957 -vn 0.032985683531 0.980769813061 -0.192360520363 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.360706925392 0.930654346943 -0.061424735934 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.309013634920 0.944480478764 -0.111656844616 -vn 0.167077019811 0.982238590717 -0.085397034883 -vn 0.360706925392 0.930654346943 -0.061424735934 -vn 0.187485709786 0.938560783863 0.289746075869 -vn 0.117484591901 0.535072982311 0.836596846581 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.646426260471 0.607408761978 0.461722522974 -vn 0.360706925392 0.930654346943 -0.061424735934 -vn 0.187485709786 0.938560783863 0.289746075869 -vn -0.005631436128 0.999072909355 0.042680554092 -vn -0.580564439297 0.618157505989 0.529930353165 -vn 0.117484591901 0.535072982311 0.836596846581 -vn 0.117484591901 0.535072982311 0.836596846581 -vn 0.187485709786 0.938560783863 0.289746075869 -vn -0.005631436128 0.999072909355 0.042680554092 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.222899302840 -0.961414158344 0.161241352558 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.278032571077 -0.915405213833 -0.291086286306 -vn -0.131719857454 -0.939497470856 -0.316218942404 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.616677582264 -0.787093162537 0.013895100914 -vn 0.616677582264 -0.787093162537 0.013895100914 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.605843842030 -0.687134027481 -0.400998830795 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.631184875965 -0.605723857880 -0.484462857246 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.644962370396 0.058819733560 -0.761947333813 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.717515647411 -0.506692528725 -0.477947682142 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.685438394547 -0.309446930885 -0.659103035927 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.529830276966 0.180707767606 -0.828628122807 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.659071147442 -0.200914278626 -0.724747300148 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn 0.071874260902 0.922927081585 0.378205835819 -vn 0.125691637397 0.965929806232 0.226232767105 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.101169690490 0.512140154839 0.852922737598 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.071874260902 0.922927081585 0.378205835819 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn 0.125691637397 0.965929806232 0.226232767105 -vn 0.071874260902 0.922927081585 0.378205835819 -vn 0.071874260902 0.922927081585 0.378205835819 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn -0.179032042623 0.870336353779 -0.458761513233 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.496197491884 0.338221609592 -0.799621284008 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.408649384975 0.500134229660 -0.763460159302 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn -0.078894823790 0.316832482815 0.945194602013 -vn -0.078894823790 0.316832482815 0.945194602013 -vn 0.075631655753 -0.076423481107 0.994202852249 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.674920856953 0.632537782192 -0.379970818758 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.707616925240 0.585469484329 -0.395605623722 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.939780056477 0.338753521442 0.045381970704 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.857936024666 -0.122563391924 0.498922824860 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.371329933405 -0.353956162930 0.858387529850 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.075631655753 -0.076423481107 0.994202852249 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.075631655753 -0.076423481107 0.994202852249 -vn 0.075631655753 -0.076423481107 0.994202852249 -vn -0.078894823790 0.316832482815 0.945194602013 -vn 0.105647958815 0.477384954691 0.872319936752 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn 0.071874260902 0.922927081585 0.378205835819 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn -0.581009745598 0.524481356144 -0.622372090816 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.284967243671 0.950918138027 -0.120616540313 -vn -0.383206188679 0.894132435322 0.231689810753 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn 0.192059397697 0.733371317387 -0.652134716511 -vn -0.148294940591 0.763890028000 0.628076970577 -vn 0.071874260902 0.922927081585 0.378205835819 -vn 0.105647958815 0.477384954691 0.872319936752 -vn 0.105647958815 0.477384954691 0.872319936752 -vn -0.078894823790 0.316832482815 0.945194602013 -vn -0.148294940591 0.763890028000 0.628076970577 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn -0.299237340689 0.679699480534 -0.669675767422 -vn -0.577740788460 0.755005121231 -0.310133606195 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.791678369045 0.572285056114 -0.213857769966 -vn -0.791678369045 0.572285056114 -0.213857769966 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.716520488262 0.652290821075 -0.247214660048 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.668927371502 0.054616473615 0.741318523884 -vn 0.575854957104 -0.556808650494 0.598627746105 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn -0.131719857454 -0.939497470856 -0.316218942404 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.259312212467 -0.961311340332 0.092938996851 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.586589038372 -0.130760043859 0.799259126186 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.542366027832 -0.667315959930 0.510419964790 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.067944653332 -0.146262273192 0.986909747124 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.220938414335 0.246594354510 0.943598151207 -vn 0.371117204428 0.216821014881 0.902917861938 -vn 0.235978275537 -0.027912126854 0.971357405186 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.381070137024 0.377225160599 0.844089269638 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.447196930647 0.457334220409 0.768674373627 -vn 0.343221575022 0.333233237267 0.878154039383 -vn 0.298508673906 0.235164701939 0.924981176853 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.386256456375 0.060981024057 0.920373439789 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.792960882187 -0.082992456853 0.603593647480 -vn 0.389172941446 -0.187152817845 0.901952445507 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.406082540751 -0.913307428360 0.031089453027 -vn 0.616677582264 -0.787093162537 0.013895100914 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.636817932129 -0.665135920048 0.389945089817 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.764927029610 -0.576102018356 0.288085192442 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.651197373867 -0.295929104090 0.698833286762 -vn 0.819841921329 -0.267875581980 0.506065070629 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.484686046839 0.057347863913 0.872806191444 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.722315967083 0.014853472821 0.691403687000 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.412116557360 0.192709788680 0.890518307686 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.685664176941 0.024288894609 0.727512657642 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.709150254726 0.064871802926 0.702066600323 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.749943137169 -0.607590794563 0.261569708586 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.833654463291 -0.165826693177 0.526803314686 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.777859270573 0.059331193566 0.625631511211 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.856723487377 0.313828945160 0.409311980009 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.565619111061 0.815543174744 -0.122328855097 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn -0.000058030513 0.758348703384 -0.651849091053 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.334304481745 0.357836514711 -0.871890783310 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.556180357933 -0.108734130859 -0.823917686939 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.412349730730 -0.020164160058 -0.910802423954 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.541802704334 -0.795597314835 0.271062254906 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.684188246727 -0.314334392548 0.658088386059 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.612721860409 0.027013452724 0.789836823940 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.162017181516 0.796604990959 0.582383811474 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.523797929287 0.432407170534 0.733934402466 -vn 0.260491907597 0.307280063629 0.915272057056 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.330873250961 0.872498035431 0.359541505575 -vn 0.162017181516 0.796604990959 0.582383811474 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn 0.014589162543 0.951842546463 -0.306240051985 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.328589290380 0.516683042049 -0.790612220764 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.394009530544 -0.007915191352 -0.919072270393 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn 0.710684239864 -0.017598621547 0.703290998936 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.868372321129 0.207240670919 0.450533896685 -vn 0.067035764456 -0.147402390838 0.986802279949 -vn 0.283248275518 -0.164805412292 0.944780170918 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.941432178020 0.205026820302 0.267711549997 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn -0.791678369045 0.572285056114 -0.213857769966 -vn -0.765450656414 0.598935127258 0.235291317105 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn 0.044693116099 0.737179398537 -0.674217343330 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.462693333626 0.681148767471 -0.567407488823 -vn -0.791678369045 0.572285056114 -0.213857769966 -vn -0.653196692467 0.687323570251 -0.317679673433 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn 0.194033831358 -0.975260198116 0.105917148292 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.194033831358 -0.975260198116 0.105917148292 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn -0.000500970287 0.150257885456 0.988646686077 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.000500970287 0.150257885456 0.988646686077 -vn -0.020890446380 0.525199234486 0.850722849369 -vn 0.033992055804 0.651784360409 0.757642209530 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.094890594482 0.167634546757 0.981271862984 -vn -0.000500970287 0.150257885456 0.988646686077 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.212111368775 0.931484699249 0.295541882515 -vn 0.033992055804 0.651784360409 0.757642209530 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.020890446380 0.525199234486 0.850722849369 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.212111368775 0.931484699249 0.295541882515 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.212111368775 0.931484699249 0.295541882515 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.203145816922 0.789853513241 0.578673660755 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.494061529636 0.865195631981 0.085671991110 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.718650877476 0.596940636635 -0.356655031443 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.131719857454 -0.939497470856 -0.316218942404 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn 0.054139081389 -0.946674823761 -0.317609339952 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.417767822742 -0.763937056065 -0.491803050041 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.633862555027 -0.426885992289 -0.644970238209 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.564986348152 -0.593238472939 -0.573461830616 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn -0.260545551777 -0.813256382942 -0.520317316055 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn 0.388792097569 -0.902842164040 -0.183621153235 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn 0.194966942072 -0.890786707401 -0.410471647978 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn -0.074641257524 -0.569141447544 -0.818844735622 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.074641257524 -0.569141447544 -0.818844735622 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn 0.042187642306 -0.766220450401 -0.641191422939 -vn -0.072411671281 -0.856675744057 -0.510747730732 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.236149817705 -0.424875795841 -0.873907208443 -vn -0.074641257524 -0.569141447544 -0.818844735622 -vn -0.074641257524 -0.569141447544 -0.818844735622 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.530624270439 -0.375058025122 -0.760111391544 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.357876986265 -0.306289374828 -0.882105946541 -vn -0.314885556698 -0.595676243305 -0.738929569721 -vn -0.444026708603 -0.606746494770 -0.659317076206 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.495413959026 0.088413864374 -0.864145815372 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.212111368775 0.931484699249 0.295541882515 -vn -0.518924534321 0.789362072945 -0.328062266111 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.403777748346 0.675936877728 -0.616500496864 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn -0.212111368775 0.931484699249 0.295541882515 -vn 0.033992055804 0.651784360409 0.757642209530 -vn -0.212111368775 0.931484699249 0.295541882515 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn -0.057846810669 0.996845066547 -0.054347090423 -vn 0.162017181516 0.796604990959 0.582383811474 -vn 0.033992055804 0.651784360409 0.757642209530 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.033992055804 0.651784360409 0.757642209530 -vn 0.162017181516 0.796604990959 0.582383811474 -vn 0.162017181516 0.796604990959 0.582383811474 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn 0.194033831358 -0.975260198116 0.105917148292 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.217132925987 -0.699617862701 0.680726230145 -vn 0.345870345831 -0.507937014103 0.788906633854 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn 0.194033831358 -0.975260198116 0.105917148292 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn 0.148078888655 -0.966142833233 0.211283400655 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.161389231682 -0.826426625252 -0.539418697357 -vn -0.095659404993 -0.891003251076 -0.443804621696 -vn -0.394770026207 -0.408056885004 -0.823192656040 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.722775518894 0.127099156380 -0.679294764996 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.558745026588 -0.260360956192 -0.787411093712 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn -0.322938174009 -0.703057765961 -0.633577704430 -vn -0.371036648750 -0.578186392784 -0.726658284664 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn 0.135474219918 -0.988358557224 -0.069239638746 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.166938528419 -0.919655323029 -0.355479389429 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.211538925767 -0.861231863499 0.462094068527 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.106166861951 -0.985075116158 0.135482907295 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn 0.020051987842 -0.112118013203 0.993492543697 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn 0.079771168530 -0.496181964874 0.864546120167 -vn -0.042744558305 -0.808862030506 0.586442768574 -vn 0.043110653758 -0.307953089476 0.950424313545 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn -0.638447046280 0.245981469750 -0.729299962521 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.649896085262 -0.004399633035 -0.760010361671 -vn -0.535104215145 -0.309753090143 -0.785949409008 -vn -0.451521098614 -0.345670461655 -0.822581708431 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn 0.094890594482 0.167634546757 0.981271862984 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.260491907597 0.307280063629 0.915272057056 -vn 0.289737731218 -0.101735204458 0.951683759689 -vn 0.129637911916 -0.209326177835 0.969214379787 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.977375864983 -0.182302713394 -0.107247889042 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.932448983192 -0.323441475630 0.161010980606 -vn -0.933986306190 -0.356039702892 -0.030087741092 -vn -0.863622725010 -0.395356804132 -0.312807887793 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.953337550163 -0.167185232043 0.251389354467 -vn -0.551249742508 -0.140232846141 0.822470963001 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.707793414593 -0.092283651233 0.700365781784 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.771496355534 -0.520169913769 0.366355866194 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.921395957470 -0.096049144864 0.376568794250 -vn 0.915147721767 -0.341821610928 -0.213688179851 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.843312978745 -0.508717417717 -0.173291251063 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn 0.635089933872 -0.717878699303 -0.285150736570 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn 0.376745164394 -0.480174839497 -0.792145967484 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn 0.338396072388 -0.505504190922 -0.793696165085 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.128155156970 -0.402803808451 -0.906270027161 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.141834318638 -0.356789201498 -0.923355042934 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.617432177067 -0.286321341991 -0.732664763927 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.587534666061 -0.195610851049 -0.785200238228 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.925773084164 -0.217750370502 -0.309077620506 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.942502677441 -0.131082609296 0.307418376207 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.916307866573 -0.152069538832 -0.370479047298 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn 0.478567808867 -0.553991734982 0.681223928928 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn 0.200163364410 -0.734465181828 0.648456275463 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.019374400377 -0.340837627649 0.939922511578 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.175170764327 -0.422769248486 0.889146447182 -vn -0.563060462475 -0.168180093169 0.809121966362 -vn -0.551818788052 -0.097078174353 0.828294575214 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.922188758850 -0.076360240579 0.379126608372 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.790964484215 -0.047528445721 0.610013246536 -vn -0.809697628021 -0.208559572697 0.548536777496 -vn -0.989886045456 -0.102725066245 0.097842380404 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.969465434551 -0.233353525400 0.075384795666 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.657921433449 -0.251068294048 0.710002899170 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn 0.022503187880 -0.168173655868 0.985500514507 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.626895606518 -0.109646342695 0.771349191666 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.955945372581 -0.075195699930 0.283750057220 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.965460717678 -0.065064646304 0.252293825150 -vn 0.976103127003 -0.056135118008 0.209932267666 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.959917187691 -0.043896026909 -0.276825070381 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn 0.916344642639 -0.289950251579 -0.276118308306 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn 0.639318466187 0.016674445942 -0.768761277199 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn 0.527624547482 -0.341483384371 -0.777818381786 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.015542259440 -0.012424598448 -0.999801993370 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.065956912935 -0.328755855560 -0.942108929157 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn -0.593472301960 -0.092204272747 -0.799555480480 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.886553704739 -0.150430575013 -0.437485098839 -vn -0.891806840897 -0.253316342831 -0.374848484993 -vn -0.597554683685 -0.308073014021 -0.740283310413 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn 0.603337705135 -0.321985483170 0.729595065117 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.918845653534 -0.108316130936 0.379460453987 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.863250315189 -0.240368023515 0.443871766329 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.980078399181 0.178462892771 -0.087162509561 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.981968581676 -0.106181085110 -0.156407564878 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn 0.636526405811 0.364853173494 -0.679497122765 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.628715753555 0.022276135162 -0.777316093445 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn 0.084422126412 0.381982415915 -0.920305550098 -vn 0.163179978728 0.071530185640 -0.983999848366 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.477106243372 0.354926079512 -0.803988277912 -vn -0.362230628729 0.031117305160 -0.931568920612 -vn -0.891922414303 -0.121970690787 -0.435428053141 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.924370706081 0.140413299203 -0.354715228081 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.938400447369 0.027688471600 -0.344438642263 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.971519231796 -0.181915670633 0.151845633984 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.956004738808 -0.284389942884 0.071953646839 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.779256761074 -0.415031522512 0.469582498074 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn -0.763228416443 -0.461620450020 0.452093988657 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn 0.652728021145 -0.370803534985 0.660644292831 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn 0.580956161022 -0.315899401903 0.750131666660 -vn -0.181248873472 -0.456907838583 0.870852470398 -vn -0.141817405820 -0.538776338100 0.830426335335 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.608893454075 0.235913068056 0.757359743118 -vn 0.593855559826 0.019980316982 0.804323554039 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn 0.113157883286 -0.147927060723 0.982503354549 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.466343373060 -0.015833530575 0.884462058544 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn 0.300583481789 -0.145427584648 0.942602992058 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.376915872097 0.132242649794 0.916758596897 -vn 0.066894985735 -0.120529606938 0.990453243256 -vn -0.088382758200 -0.339686036110 0.936376988888 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.656117200851 -0.752742469311 0.053749088198 -vn 0.656117200851 -0.752742469311 0.053749088198 -vn 0.652370274067 -0.700718224049 -0.288802653551 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.321534842253 -0.887416303158 0.330314517021 -vn 0.656117200851 -0.752742469311 0.053749088198 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn 0.321534842253 -0.887416303158 0.330314517021 -vn 0.321534842253 -0.887416303158 0.330314517021 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.201453700662 -0.832577824593 0.515975356102 -vn 0.321534842253 -0.887416303158 0.330314517021 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.961623728275 0.054777454585 0.268847882748 -vn 0.717947840691 -0.072925940156 0.692266345024 -vn 0.717947840691 -0.072925940156 0.692266345024 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.965605020523 0.107465490699 0.236765861511 -vn -0.068652406335 0.974390566349 0.214125752449 -vn 0.442601650953 0.886409521103 0.135580167174 -vn 0.400886356831 0.901594340801 0.162535563111 -vn 0.400886356831 0.901594340801 0.162535563111 -vn -0.147310256958 0.958264529705 0.245007723570 -vn -0.068652406335 0.974390566349 0.214125752449 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.979799330235 0.116351984441 -0.162651434541 -vn 0.979799330235 0.116351984441 -0.162651434541 -vn 0.961623728275 0.054777454585 0.268847882748 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.529358327389 0.845940232277 -0.064536072314 -vn 0.680514693260 0.732540011406 -0.016878856346 -vn 0.400886356831 0.901594340801 0.162535563111 -vn 0.400886356831 0.901594340801 0.162535563111 -vn 0.442601650953 0.886409521103 0.135580167174 -vn 0.529358327389 0.845940232277 -0.064536072314 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.698699057102 -0.088728033006 -0.709892213345 -vn 0.698699057102 -0.088728033006 -0.709892213345 -vn 0.979799330235 0.116351984441 -0.162651434541 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn -0.048381622881 0.989867806435 0.133495286107 -vn -0.068652406335 0.974390566349 0.214125752449 -vn -0.147310256958 0.958264529705 0.245007723570 -vn -0.147310256958 0.958264529705 0.245007723570 -vn -0.040402501822 0.989431560040 0.139258161187 -vn -0.048381622881 0.989867806435 0.133495286107 -vn -0.932176113129 -0.021262366325 -0.361380100250 -vn -0.655080139637 -0.018082045019 -0.755343019962 -vn -0.684160232544 -0.015572587028 -0.729165434837 -vn -0.684160232544 -0.015572587028 -0.729165434837 -vn -0.938433587551 -0.109255589545 -0.327727943659 -vn -0.932176113129 -0.021262366325 -0.361380100250 -vn -0.716325759888 0.585582971573 0.379433780909 -vn -0.616649746895 0.675030350685 0.405064314604 -vn -0.932176113129 -0.021262366325 -0.361380100250 -vn -0.932176113129 -0.021262366325 -0.361380100250 -vn -0.938433587551 -0.109255589545 -0.327727943659 -vn -0.716325759888 0.585582971573 0.379433780909 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.030194981024 -0.298345863819 0.953980088234 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.680016100407 0.152828097343 0.717092514038 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.296417653561 -0.129989758134 0.946170806885 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.717058062553 0.043724697083 0.695640623569 -vn 0.717947840691 -0.072925940156 0.692266345024 -vn 0.296417653561 -0.129989758134 0.946170806885 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn 0.264956355095 -0.115032657981 0.957374334335 -vn 0.296417653561 -0.129989758134 0.946170806885 -vn 0.296417653561 -0.129989758134 0.946170806885 -vn -0.067382998765 -0.241788670421 0.967986464500 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.965605020523 0.107465490699 0.236765861511 -vn 0.966316044331 0.170746937394 0.192558467388 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.951884567738 0.018304115161 -0.305909752846 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.611862540245 -0.209730833769 -0.762651443481 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.925466060638 -0.019112786278 -0.378348082304 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.463319748640 -0.284106910229 -0.839415311813 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.873224854469 0.040406849235 -0.485639452934 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.217509955168 -0.925485610962 0.310106158257 -vn 0.208270162344 -0.874368071556 0.438296735287 -vn 0.208270162344 -0.874368071556 0.438296735287 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn -0.999865949154 -0.007872974500 -0.014355270192 -vn -0.930489718914 -0.261996328831 -0.256021112204 -vn -0.933810532093 -0.240890204906 -0.264518111944 -vn -0.933810532093 -0.240890204906 -0.264518111944 -vn -0.999982237816 -0.005035636947 0.003187689232 -vn -0.999865949154 -0.007872974500 -0.014355270192 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn 0.421064645052 -0.893715202808 0.154847532511 -vn 0.421064645052 -0.893715202808 0.154847532511 -vn 0.217509955168 -0.925485610962 0.310106158257 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.452018469572 -0.883442044258 -0.123326830566 -vn 0.421064645052 -0.893715202808 0.154847532511 -vn 0.421064645052 -0.893715202808 0.154847532511 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.030194981024 -0.298345863819 0.953980088234 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.967172682285 0.241761222482 0.078284777701 -vn 0.634496629238 0.241281628609 0.734300494194 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.967172682285 0.241761222482 0.078284777701 -vn -0.333036005497 -0.132622703910 -0.933540701866 -vn -0.344990402460 -0.115646079183 -0.931454539299 -vn -0.279096722603 -0.206124126911 -0.937879443169 -vn -0.279096722603 -0.206124126911 -0.937879443169 -vn -0.255546450615 -0.236742943525 -0.937362670898 -vn -0.333036005497 -0.132622703910 -0.933540701866 -vn 0.316477656364 0.365814924240 -0.875226438046 -vn 0.385443925858 0.300371497869 -0.872473478317 -vn 0.258136868477 0.673559129238 -0.692591845989 -vn 0.258136868477 0.673559129238 -0.692591845989 -vn 0.265394568443 0.762436449528 -0.590132534504 -vn 0.316477656364 0.365814924240 -0.875226438046 -vn -0.836668133736 0.327173054218 0.439254164696 -vn -0.817613303661 0.347829401493 0.458828032017 -vn -0.999865949154 -0.007872974500 -0.014355270192 -vn -0.999865949154 -0.007872974500 -0.014355270192 -vn -0.999982237816 -0.005035636947 0.003187689232 -vn -0.836668133736 0.327173054218 0.439254164696 -vn -0.817613303661 0.347829401493 0.458828032017 -vn -0.836668133736 0.327173054218 0.439254164696 -vn -0.393941193819 0.551313161850 0.735434651375 -vn -0.393941193819 0.551313161850 0.735434651375 -vn -0.394177705050 0.541026473045 0.742909312248 -vn -0.817613303661 0.347829401493 0.458828032017 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.208270162344 -0.874368071556 0.438296735287 -vn 0.201453700662 -0.832577824593 0.515975356102 -vn 0.201453700662 -0.832577824593 0.515975356102 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn -0.143444925547 -0.679574370384 -0.719445765018 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.399136632681 -0.109241187572 -0.910360515118 -vn -0.399136632681 -0.109241187572 -0.910360515118 -vn -0.066875919700 -0.211223438382 -0.975147306919 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn -0.399136632681 -0.109241187572 -0.910360515118 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.825137555599 -0.039393767715 -0.563556671143 -vn -0.399136632681 -0.109241187572 -0.910360515118 -vn -0.238736808300 0.966642439365 -0.092774368823 -vn -0.221692368388 0.969382524490 -0.105593815446 -vn -0.131967604160 0.986462950706 -0.097341716290 -vn -0.131967604160 0.986462950706 -0.097341716290 -vn -0.131907835603 0.985628366470 -0.105532377958 -vn -0.238736808300 0.966642439365 -0.092774368823 -vn -0.221692368388 0.969382524490 -0.105593815446 -vn -0.238736808300 0.966642439365 -0.092774368823 -vn -0.191518172622 0.977899730206 0.083862185478 -vn -0.191518172622 0.977899730206 0.083862185478 -vn -0.226836472750 0.971370637417 0.070599377155 -vn -0.221692368388 0.969382524490 -0.105593815446 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.996581256390 -0.016104307026 -0.081033818424 -vn -0.996581256390 -0.016104307026 -0.081033818424 -vn -0.825137555599 -0.039393767715 -0.563556671143 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.800368309021 -0.110980175436 -0.589146792889 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.368902295828 -0.176557660103 -0.912545084953 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.036762826145 -0.407817989588 -0.912322878838 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn -0.018286168575 -0.241975441575 -0.970110058784 -vn -0.066875919700 -0.211223438382 -0.975147306919 -vn -0.066875919700 -0.211223438382 -0.975147306919 -vn 0.162009149790 -0.252556264400 -0.953922629356 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.143724322319 -0.430487692356 -0.891080081463 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.233708530664 -0.381010770798 -0.894545197487 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.162009149790 -0.252556264400 -0.953922629356 -vn 0.372713238001 -0.219777032733 -0.901544749737 -vn 0.372713238001 -0.219777032733 -0.901544749737 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.158448517323 -0.275207310915 -0.948237836361 -vn 0.233587369323 0.971875846386 -0.029904913157 -vn 0.078429423273 0.979791224003 -0.184005334973 -vn 0.049535784870 0.983003556728 -0.176777198911 -vn 0.049535784870 0.983003556728 -0.176777198911 -vn 0.215006738901 0.976588487625 -0.006861140486 -vn 0.233587369323 0.971875846386 -0.029904913157 -vn -0.131907835603 0.985628366470 -0.105532377958 -vn -0.131967604160 0.986462950706 -0.097341716290 -vn 0.049535784870 0.983003556728 -0.176777198911 -vn 0.049535784870 0.983003556728 -0.176777198911 -vn 0.078429423273 0.979791224003 -0.184005334973 -vn -0.131907835603 0.985628366470 -0.105532377958 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn 0.167258366942 -0.947917759418 0.271065652370 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.057303033769 -0.768139362335 -0.637713313103 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn 0.167258366942 -0.947917759418 0.271065652370 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.167258366942 -0.947917759418 0.271065652370 -vn 0.882891595364 -0.448917657137 -0.137750983238 -vn 0.624225676060 -0.733383476734 -0.269241482019 -vn 0.683579862118 -0.686875283718 -0.246821716428 -vn 0.683579862118 -0.686875283718 -0.246821716428 -vn 0.913559436798 -0.390938848257 -0.112142503262 -vn 0.882891595364 -0.448917657137 -0.137750983238 -vn -0.735097944736 -0.411521434784 -0.538777410984 -vn -0.919971227646 -0.315933138132 -0.232032716274 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn -0.735097944736 -0.411521434784 -0.538777410984 -vn -0.299304544926 0.655579268932 -0.693276703358 -vn -0.299391537905 0.646304905415 -0.701893627644 -vn -0.426549911499 0.661332190037 -0.617004811764 -vn -0.426549911499 0.661332190037 -0.617004811764 -vn -0.434841871262 0.650471568108 -0.622735321522 -vn -0.299304544926 0.655579268932 -0.693276703358 -vn -0.299391537905 0.646304905415 -0.701893627644 -vn -0.299304544926 0.655579268932 -0.693276703358 -vn -0.203423932195 0.523596465588 -0.827324271202 -vn -0.203423932195 0.523596465588 -0.827324271202 -vn -0.206277325749 0.496593266726 -0.843116104603 -vn -0.299391537905 0.646304905415 -0.701893627644 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.194162026048 -0.710348606110 -0.676539719105 -vn -0.194162026048 -0.710348606110 -0.676539719105 -vn -0.735097944736 -0.411521434784 -0.538777410984 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn 0.167258366942 -0.947917759418 0.271065652370 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn 0.015772189945 -0.661784946918 0.749527812004 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.711521089077 -0.668513596058 0.216396108270 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.919971227646 -0.315933138132 -0.232032716274 -vn -0.711521089077 -0.668513596058 0.216396108270 -vn -0.283012300730 0.166665807366 0.944524526596 -vn -0.275574177504 0.178359404206 0.944588184357 -vn -0.309776514769 0.123586989939 0.942743241787 -vn -0.309776514769 0.123586989939 0.942743241787 -vn -0.318132579327 0.109800979495 0.941666305065 -vn -0.283012300730 0.166665807366 0.944524526596 -vn -0.820068120956 0.569231271744 0.058856066316 -vn -0.864802479744 0.500968754292 0.033867362887 -vn -0.670427143574 0.731589615345 0.123709522188 -vn -0.670427143574 0.731589615345 0.123709522188 -vn -0.609832704067 0.779186606407 0.144818082452 -vn -0.820068120956 0.569231271744 0.058856066316 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.711521089077 -0.668513596058 0.216396108270 -vn -0.151900768280 -0.824738562107 0.544731557369 -vn -0.151900768280 -0.824738562107 0.544731557369 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.133838012815 -0.990629673004 0.027208203450 -vn -0.441047191620 -0.897233605385 0.021195763722 -vn 0.676929712296 0.735970973969 0.010624704883 -vn 0.462099343538 0.855638921261 -0.233122825623 -vn 0.498349219561 0.832625806332 -0.241624265909 -vn 0.498349219561 0.832625806332 -0.241624265909 -vn 0.730528593063 0.682668983936 0.017058826983 -vn 0.676929712296 0.735970973969 0.010624704883 -vn -0.394177705050 0.541026473045 0.742909312248 -vn -0.393941193819 0.551313161850 0.735434651375 -vn -0.066927298903 0.552506208420 0.830817461014 -vn -0.066927298903 0.552506208420 0.830817461014 -vn -0.067695811391 0.526292204857 0.847604751587 -vn -0.394177705050 0.541026473045 0.742909312248 -vn 0.462099343538 0.855638921261 -0.233122825623 -vn 0.265394568443 0.762436449528 -0.590132534504 -vn 0.258136868477 0.673559129238 -0.692591845989 -vn 0.258136868477 0.673559129238 -0.692591845989 -vn 0.498349219561 0.832625806332 -0.241624265909 -vn 0.462099343538 0.855638921261 -0.233122825623 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.030194981024 -0.298345863819 0.953980088234 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn 0.452018469572 -0.883442044258 -0.123326830566 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.652370274067 -0.700718224049 -0.288802653551 -vn 0.452018469572 -0.883442044258 -0.123326830566 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.222474575043 -0.822602808475 0.523287415504 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn 0.030194981024 -0.298345863819 0.953980088234 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn 0.146515324712 -0.276555955410 0.949763178825 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.334040522575 -0.736586928368 0.588095724583 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.202640861273 -0.541228234768 0.816093564034 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.281598299742 -0.578111886978 0.765825748444 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn -0.506272614002 -0.212398335338 0.835807979107 -vn -0.700267732143 -0.161503911018 0.695371508598 -vn -0.700267732143 -0.161503911018 0.695371508598 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn 0.043970555067 0.986248075962 0.159315317869 -vn 0.052583612502 0.985693454742 0.160135433078 -vn -0.018820434809 0.989357590675 0.144282087684 -vn -0.018820434809 0.989357590675 0.144282087684 -vn -0.026022652164 0.988108336926 0.151541069150 -vn 0.043970555067 0.986248075962 0.159315317869 -vn 0.499433219433 0.162840068340 -0.850911021233 -vn 0.265916287899 0.192993134260 -0.944479823112 -vn 0.262357443571 0.201877102256 -0.943617641926 -vn 0.262357443571 0.201877102256 -0.943617641926 -vn 0.493813991547 0.168256774545 -0.853133857250 -vn 0.499433219433 0.162840068340 -0.850911021233 -vn 0.265916287899 0.192993134260 -0.944479823112 -vn -0.020402621478 0.125429570675 -0.991892695427 -vn -0.041227888316 0.133673071861 -0.990167558193 -vn -0.041227888316 0.133673071861 -0.990167558193 -vn 0.262357443571 0.201877102256 -0.943617641926 -vn 0.265916287899 0.192993134260 -0.944479823112 -vn -0.333152711391 0.173149183393 -0.926837980747 -vn -0.336778044701 0.156496420503 -0.928487718105 -vn -0.041227888316 0.133673071861 -0.990167558193 -vn -0.041227888316 0.133673071861 -0.990167558193 -vn -0.020402621478 0.125429570675 -0.991892695427 -vn -0.333152711391 0.173149183393 -0.926837980747 -vn -0.336778044701 0.156496420503 -0.928487718105 -vn -0.333152711391 0.173149183393 -0.926837980747 -vn -0.684160232544 -0.015572587028 -0.729165434837 -vn -0.684160232544 -0.015572587028 -0.729165434837 -vn -0.655080139637 -0.018082045019 -0.755343019962 -vn -0.336778044701 0.156496420503 -0.928487718105 -vn 0.116307489574 0.990462958813 0.073862694204 -vn -0.048381622881 0.989867806435 0.133495286107 -vn -0.040402501822 0.989431560040 0.139258161187 -vn -0.040402501822 0.989431560040 0.139258161187 -vn 0.147966638207 0.985058844090 0.088119089603 -vn 0.116307489574 0.990462958813 0.073862694204 -vn 0.228807210922 0.964297473431 0.133332878351 -vn 0.116307489574 0.990462958813 0.073862694204 -vn 0.147966638207 0.985058844090 0.088119089603 -vn 0.147966638207 0.985058844090 0.088119089603 -vn 0.233582735062 0.960899651051 0.148697659373 -vn 0.228807210922 0.964297473431 0.133332878351 -vn 0.228807210922 0.964297473431 0.133332878351 -vn 0.233582735062 0.960899651051 0.148697659373 -vn 0.134896829724 0.973662376404 0.183805242181 -vn 0.134896829724 0.973662376404 0.183805242181 -vn 0.133777290583 0.972870230675 0.188751518726 -vn 0.228807210922 0.964297473431 0.133332878351 -vn 0.134896829724 0.973662376404 0.183805242181 -vn 0.052583612502 0.985693454742 0.160135433078 -vn 0.043970555067 0.986248075962 0.159315317869 -vn 0.043970555067 0.986248075962 0.159315317869 -vn 0.133777290583 0.972870230675 0.188751518726 -vn 0.134896829724 0.973662376404 0.183805242181 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.067382998765 -0.241788670421 0.967986464500 -vn -0.327422112226 -0.238218516111 0.914355874062 -vn -0.327422112226 -0.238218516111 0.914355874062 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.110075645149 -0.299240350723 0.947807252407 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn -0.327422112226 -0.238218516111 0.914355874062 -vn -0.506272614002 -0.212398335338 0.835807979107 -vn -0.506272614002 -0.212398335338 0.835807979107 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn -0.302206009626 -0.319333881140 0.898163378239 -vn 0.699930727482 0.270119965076 -0.661159753799 -vn 0.499433219433 0.162840068340 -0.850911021233 -vn 0.493813991547 0.168256774545 -0.853133857250 -vn 0.493813991547 0.168256774545 -0.853133857250 -vn 0.691769719124 0.281607925892 -0.664944827557 -vn 0.699930727482 0.270119965076 -0.661159753799 -vn -0.018820434809 0.989357590675 0.144282087684 -vn -0.003519654274 0.995996475220 0.089323498309 -vn 0.011763782240 0.995036125183 0.098816752434 -vn 0.011763782240 0.995036125183 0.098816752434 -vn -0.026022652164 0.988108336926 0.151541069150 -vn -0.018820434809 0.989357590675 0.144282087684 -vn 0.011763782240 0.995036125183 0.098816752434 -vn -0.003519654274 0.995996475220 0.089323498309 -vn 0.098272599280 0.988767683506 0.112609624863 -vn 0.098272599280 0.988767683506 0.112609624863 -vn 0.150311067700 0.982064425945 0.113824792206 -vn 0.011763782240 0.995036125183 0.098816752434 -vn -0.904178857803 -0.087611623108 0.418072730303 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.700267732143 -0.161503911018 0.695371508598 -vn -0.904178857803 -0.087611623108 0.418072730303 -vn -0.904178857803 -0.087611623108 0.418072730303 -vn -0.996581256390 -0.016104307026 -0.081033818424 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.904178857803 -0.087611623108 0.418072730303 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.893042266369 -0.102554738522 0.438130140305 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.995280504227 -0.048975117505 -0.083774343133 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.844687044621 -0.055362772197 0.532389700413 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.470668077469 -0.288607269526 0.833773016930 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.667668998241 -0.190084442496 0.719781875610 -vn -0.518660068512 -0.250207871199 0.817549884319 -vn -0.393412828445 -0.499320507050 0.771949112415 -vn -0.191518172622 0.977899730206 0.083862185478 -vn 0.150311067700 0.982064425945 0.113824792206 -vn 0.098272599280 0.988767683506 0.112609624863 -vn 0.098272599280 0.988767683506 0.112609624863 -vn -0.226836472750 0.971370637417 0.070599377155 -vn -0.191518172622 0.977899730206 0.083862185478 -vn 0.849974095821 -0.094851419330 0.518215477467 -vn 0.828021049500 -0.105283483863 0.550723612309 -vn 0.994555354118 0.050949502736 0.090905636549 -vn 0.994555354118 0.050949502736 0.090905636549 -vn 0.997999727726 0.053960263729 0.032937355340 -vn 0.849974095821 -0.094851419330 0.518215477467 -vn 0.516509771347 -0.172434687614 0.838739454746 -vn 0.478259414434 -0.153687790036 0.864666402340 -vn 0.828021049500 -0.105283483863 0.550723612309 -vn 0.828021049500 -0.105283483863 0.550723612309 -vn 0.849974095821 -0.094851419330 0.518215477467 -vn 0.516509771347 -0.172434687614 0.838739454746 -vn 0.112317882478 -0.462118685246 0.879676640034 -vn 0.478259414434 -0.153687790036 0.864666402340 -vn 0.516509771347 -0.172434687614 0.838739454746 -vn 0.516509771347 -0.172434687614 0.838739454746 -vn 0.144089296460 -0.504522621632 0.851290345192 -vn 0.112317882478 -0.462118685246 0.879676640034 -vn 0.994555354118 0.050949502736 0.090905636549 -vn 0.909626424313 0.109246626496 -0.400805354118 -vn 0.902975142002 0.113141357899 -0.414529800415 -vn 0.902975142002 0.113141357899 -0.414529800415 -vn 0.997999727726 0.053960263729 0.032937355340 -vn 0.994555354118 0.050949502736 0.090905636549 -vn 0.699930727482 0.270119965076 -0.661159753799 -vn 0.691769719124 0.281607925892 -0.664944827557 -vn 0.902975142002 0.113141357899 -0.414529800415 -vn 0.902975142002 0.113141357899 -0.414529800415 -vn 0.909626424313 0.109246626496 -0.400805354118 -vn 0.699930727482 0.270119965076 -0.661159753799 -vn 0.372713238001 -0.219777032733 -0.901544749737 -vn 0.698699057102 -0.088728033006 -0.709892213345 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.675778031349 -0.159016281366 -0.719748497009 -vn 0.348523497581 -0.248401150107 -0.903785526752 -vn 0.372713238001 -0.219777032733 -0.901544749737 -vn 0.233587369323 0.971875846386 -0.029904913157 -vn 0.215006738901 0.976588487625 -0.006861140486 -vn 0.680514693260 0.732540011406 -0.016878856346 -vn 0.680514693260 0.732540011406 -0.016878856346 -vn 0.529358327389 0.845940232277 -0.064536072314 -vn 0.233587369323 0.971875846386 -0.029904913157 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn 0.194978520274 -0.578596770763 -0.791965365410 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.151900768280 -0.824738562107 0.544731557369 -vn -0.151900768280 -0.824738562107 0.544731557369 -vn 0.101197555661 -0.910763978958 0.400334864855 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.292715787888 -0.318961352110 -0.901432812214 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.111708708107 -0.268920898438 -0.956662297249 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.992322683334 -0.093264035881 -0.081225268543 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.759035468102 -0.198567867279 -0.620029032230 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.746579527855 -0.245642706752 -0.618286848068 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn 0.220449462533 -0.944154858589 0.244895160198 -vn 0.232225567102 -0.911761343479 -0.338766276836 -vn 0.232225567102 -0.911761343479 -0.338766276836 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn 0.992116570473 -0.075684450567 0.099882952869 -vn 0.914270520210 -0.374885022640 -0.153527349234 -vn 0.932675123215 -0.328857719898 -0.148221790791 -vn 0.932675123215 -0.328857719898 -0.148221790791 -vn 0.978691160679 -0.038977265358 0.201604634523 -vn 0.992116570473 -0.075684450567 0.099882952869 -vn 0.757674992085 0.067285761237 0.649154245853 -vn 0.992116570473 -0.075684450567 0.099882952869 -vn 0.978691160679 -0.038977265358 0.201604634523 -vn 0.978691160679 -0.038977265358 0.201604634523 -vn 0.682809650898 0.058452133089 0.728254318237 -vn 0.757674992085 0.067285761237 0.649154245853 -vn 0.467002600431 -0.069905437529 0.881488382816 -vn 0.757674992085 0.067285761237 0.649154245853 -vn 0.682809650898 0.058452133089 0.728254318237 -vn 0.682809650898 0.058452133089 0.728254318237 -vn 0.469311714172 -0.101307049394 0.877202033997 -vn 0.467002600431 -0.069905437529 0.881488382816 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn 0.101197555661 -0.910763978958 0.400334864855 -vn 0.101197555661 -0.910763978958 0.400334864855 -vn 0.220449462533 -0.944154858589 0.244895160198 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn 0.461291611195 0.075415410101 -0.884037673473 -vn 0.465971797705 0.054153501987 -0.883140802383 -vn 0.452682107687 0.112095654011 -0.884597897530 -vn 0.452682107687 0.112095654011 -0.884597897530 -vn 0.448319792747 0.129651442170 -0.884420633316 -vn 0.461291611195 0.075415410101 -0.884037673473 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn 0.232225567102 -0.911761343479 -0.338766276836 -vn 0.232225567102 -0.911761343479 -0.338766276836 -vn -0.194162026048 -0.710348606110 -0.676539719105 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.971844494343 -0.232869014144 -0.035921055824 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.213583230972 -0.152138248086 0.965005755424 -vn -0.790865480900 -0.036794260144 0.610882937908 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.168900057673 0.193152844906 0.966521978378 -vn -0.167976438999 0.232479542494 0.957985997200 -vn 0.112317882478 -0.462118685246 0.879676640034 -vn 0.112317882478 -0.462118685246 0.879676640034 -vn 0.144089296460 -0.504522621632 0.851290345192 -vn -0.168900057673 0.193152844906 0.966521978378 -vn -0.362826079130 0.288003414869 0.886234343052 -vn -0.361879914999 0.274064928293 0.891028225422 -vn -0.167976438999 0.232479542494 0.957985997200 -vn -0.167976438999 0.232479542494 0.957985997200 -vn -0.168900057673 0.193152844906 0.966521978378 -vn -0.362826079130 0.288003414869 0.886234343052 -vn -0.361879914999 0.274064928293 0.891028225422 -vn -0.362826079130 0.288003414869 0.886234343052 -vn -0.701582729816 0.307782292366 0.642691016197 -vn -0.701582729816 0.307782292366 0.642691016197 -vn -0.720118165016 0.286492228508 0.631943047047 -vn -0.361879914999 0.274064928293 0.891028225422 -vn -0.701582729816 0.307782292366 0.642691016197 -vn -0.616649746895 0.675030350685 0.405064314604 -vn -0.716325759888 0.585582971573 0.379433780909 -vn -0.716325759888 0.585582971573 0.379433780909 -vn -0.720118165016 0.286492228508 0.631943047047 -vn -0.701582729816 0.307782292366 0.642691016197 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.004341814201 -0.943970918655 0.330000013113 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn -0.619513154030 -0.784907817841 -0.011097250506 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn 0.079071938992 -0.791167795658 0.606466054916 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.482992053032 -0.863088667393 -0.147636696696 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn 0.180200353265 -0.741592764854 -0.646194994450 -vn -0.116688124835 -0.992550909519 -0.035022944212 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.142431572080 -0.628738820553 -0.764461100101 -vn -0.176847338676 -0.984200179577 0.008661456406 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.271172046661 -0.956903278828 0.103931777179 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.680348038673 -0.605094075203 -0.413506597281 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.798590898514 -0.600576460361 0.039503142238 -vn -0.184958517551 -0.968991398811 0.163847535849 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.260384202003 -0.547934710979 0.794963896275 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.768781661987 -0.413898468018 0.487506747246 -vn -0.231335133314 -0.954641819000 0.187464684248 -vn -0.226429939270 -0.972733318806 -0.050193894655 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn -0.327985137701 -0.938536167145 0.107590034604 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn 0.238442823291 -0.955045223236 0.176163703203 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn -0.197733581066 -0.828324854374 -0.524194002151 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.027907121927 -0.999519944191 -0.013458410278 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.351804703474 -0.934922873974 0.046397421509 -vn 0.455730617046 -0.609691083431 -0.648526310921 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.562027513981 -0.816579937935 0.131614059210 -vn 0.873089492321 -0.323864191771 -0.364453941584 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.983599066734 -0.120129249990 0.134542852640 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn 0.641216576099 -0.727358162403 0.244522735476 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn 0.772990465164 0.063075460494 0.631274282932 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.740041375160 -0.561373829842 0.370402753353 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn 0.446306288242 -0.891758263111 0.074685193598 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.479405224323 -0.803639292717 0.352610945702 -vn 0.251268237829 -0.424266308546 0.869978368282 -vn -0.087695412338 -0.850844204426 0.518047869205 -vn 0.301698088646 0.951182126999 0.065044857562 -vn 0.117949590087 0.849612355232 0.514049351215 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.247134611011 0.967952191830 0.044642847031 -vn 0.301698088646 0.951182126999 0.065044857562 -vn -0.009665114805 0.432859390974 0.901409626007 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.171455085278 0.914633154869 0.366127461195 -vn -0.009665114805 0.432859390974 0.901409626007 -vn 0.124457292259 -0.991895079613 -0.025584608316 -vn 0.003870419692 -0.997206032276 0.074600264430 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn 0.124457292259 -0.991895079613 -0.025584608316 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn 0.174129217863 -0.981105268002 -0.084329314530 -vn 0.124457292259 -0.991895079613 -0.025584608316 -vn 0.124457292259 -0.991895079613 -0.025584608316 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.212095111609 0.293082028627 0.932265281677 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.212095111609 0.293082028627 0.932265281677 -vn 0.215676337481 0.968818902969 0.121957629919 -vn -0.135806068778 0.653280317783 0.744836568832 -vn 0.117949590087 0.849612355232 0.514049351215 -vn 0.117949590087 0.849612355232 0.514049351215 -vn 0.301698088646 0.951182126999 0.065044857562 -vn 0.215676337481 0.968818902969 0.121957629919 -vn 0.116785392165 0.979833245277 0.162135779858 -vn -0.473818302155 0.648060023785 0.596250295639 -vn -0.135806068778 0.653280317783 0.744836568832 -vn -0.135806068778 0.653280317783 0.744836568832 -vn 0.215676337481 0.968818902969 0.121957629919 -vn 0.116785392165 0.979833245277 0.162135779858 -vn -0.135806068778 0.653280317783 0.744836568832 -vn -0.473818302155 0.648060023785 0.596250295639 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.135806068778 0.653280317783 0.744836568832 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn 0.180662691593 -0.977567434311 -0.108272127807 -vn 0.174129217863 -0.981105268002 -0.084329314530 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn 0.180662691593 -0.977567434311 -0.108272127807 -vn 0.102859064937 -0.983786880970 -0.146912872791 -vn 0.180662691593 -0.977567434311 -0.108272127807 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn 0.102859064937 -0.983786880970 -0.146912872791 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.186048939824 0.976999819279 0.104197762907 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.174272745848 0.962094068527 0.209771290421 -vn -0.186048939824 0.976999819279 0.104197762907 -vn -0.174272745848 0.962094068527 0.209771290421 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.093426696956 0.949718952179 0.298839986324 -vn -0.174272745848 0.962094068527 0.209771290421 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.473818302155 0.648060023785 0.596250295639 -vn 0.116785392165 0.979833245277 0.162135779858 -vn 0.116785392165 0.979833245277 0.162135779858 -vn -0.093426696956 0.949718952179 0.298839986324 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn -0.009665114805 0.432859390974 0.901409626007 -vn -0.009665114805 0.432859390974 0.901409626007 -vn -0.212095111609 0.293082028627 0.932265281677 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.079968959093 -0.996480226517 0.025141783059 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn 0.003870419692 -0.997206032276 0.074600264430 -vn -0.079968959093 -0.996480226517 0.025141783059 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn -0.079968959093 -0.996480226517 0.025141783059 -vn -0.079968959093 -0.996480226517 0.025141783059 -vn -0.059656828642 -0.984534978867 0.164717689157 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn -0.059656828642 -0.984534978867 0.164717689157 -vn -0.059656828642 -0.984534978867 0.164717689157 -vn 0.050876371562 -0.998084306717 0.035204216838 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.509252071381 -0.849297642708 0.139125302434 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.050876371562 -0.998084306717 0.035204216838 -vn 0.509252071381 -0.849297642708 0.139125302434 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.687957525253 -0.724567592144 -0.041426882148 -vn 0.090818278491 -0.972123861313 -0.216164782643 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.687957525253 -0.724567592144 -0.041426882148 -vn 0.509252071381 -0.849297642708 0.139125302434 -vn 0.687957525253 -0.724567592144 -0.041426882148 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.509252071381 -0.849297642708 0.139125302434 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.162324577570 0.904733717442 0.393837094307 -vn -0.042816758156 0.962022185326 0.269592463970 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.162324577570 0.904733717442 0.393837094307 -vn 0.248102903366 0.886689305305 0.390162765980 -vn -0.042816758156 0.962022185326 0.269592463970 -vn 0.062132738531 0.996134936810 0.062086712569 -vn 0.062132738531 0.996134936810 0.062086712569 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.062132738531 0.996134936810 0.062086712569 -vn 0.200634062290 0.979664087296 -0.002052781638 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.062132738531 0.996134936810 0.062086712569 -vn 0.210182353854 0.975235521793 0.068840667605 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.200634062290 0.979664087296 -0.002052781638 -vn 0.210182353854 0.975235521793 0.068840667605 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.210182353854 0.975235521793 0.068840667605 -vn 0.247134611011 0.967952191830 0.044642847031 -vn 0.247134611011 0.967952191830 0.044642847031 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn 0.122811011970 -0.957747161388 -0.260072857141 -vn 0.102859064937 -0.983786880970 -0.146912872791 -vn 0.102859064937 -0.983786880970 -0.146912872791 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn 0.169295936823 -0.937194883823 -0.304966658354 -vn 0.122811011970 -0.957747161388 -0.260072857141 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn 0.169295936823 -0.937194883823 -0.304966658354 -vn 0.235094085336 -0.934384286404 -0.267687737942 -vn 0.169295936823 -0.937194883823 -0.304966658354 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn 0.235094085336 -0.934384286404 -0.267687737942 -vn 0.246383532882 -0.967374920845 -0.058999452740 -vn 0.235094085336 -0.934384286404 -0.267687737942 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn 0.246383532882 -0.967374920845 -0.058999452740 -vn 0.246383532882 -0.967374920845 -0.058999452740 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn 0.297367244959 -0.937489330769 0.180794060230 -vn 0.246383532882 -0.967374920845 -0.058999452740 -vn 0.297367244959 -0.937489330769 0.180794060230 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn 0.197106972337 -0.920975387096 0.336084991693 -vn 0.297367244959 -0.937489330769 0.180794060230 -vn 0.197106972337 -0.920975387096 0.336084991693 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn -0.029394404963 -0.956659615040 0.289721101522 -vn 0.197106972337 -0.920975387096 0.336084991693 -vn -0.253509610891 -0.900861382484 0.352394223213 -vn -0.029394404963 -0.956659615040 0.289721101522 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn -0.253509610891 -0.900861382484 0.352394223213 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.248370751739 0.904884219170 -0.345682770014 -vn 0.241378128529 0.940966784954 -0.237314462662 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.248370751739 0.904884219170 -0.345682770014 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.263758838177 0.662336528301 -0.701242864132 -vn 0.241378128529 0.940966784954 -0.237314462662 -vn 0.241378128529 0.940966784954 -0.237314462662 -vn 0.310470491648 0.939930260181 -0.141912579536 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.097601912916 0.930599808693 -0.352785885334 -vn 0.248370751739 0.904884219170 -0.345682770014 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.227506399155 0.605743527412 -0.762440562248 -vn 0.097601912916 0.930599808693 -0.352785885334 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn -0.423191249371 -0.904291272163 0.056271243840 -vn -0.253509610891 -0.900861382484 0.352394223213 -vn -0.253509610891 -0.900861382484 0.352394223213 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn -0.280886679888 -0.956602573395 -0.077551461756 -vn -0.423191249371 -0.904291272163 0.056271243840 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn -0.280886679888 -0.956602573395 -0.077551461756 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn -0.260627955198 -0.963619589806 0.059247847646 -vn -0.280886679888 -0.956602573395 -0.077551461756 -vn -0.280886679888 -0.956602573395 -0.077551461756 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn 0.227506399155 0.605743527412 -0.762440562248 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.189719647169 0.908340811729 -0.372724354267 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.312394291162 0.933531820774 -0.175863862038 -vn -0.189719647169 0.908340811729 -0.372724354267 -vn -0.246464684606 0.969103455544 -0.009678545408 -vn -0.312394291162 0.933531820774 -0.175863862038 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.246464684606 0.969103455544 -0.009678545408 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.524871349335 0.551161825657 -0.648637592793 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.186048939824 0.976999819279 0.104197762907 -vn -0.246464684606 0.969103455544 -0.009678545408 -vn -0.246464684606 0.969103455544 -0.009678545408 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn 0.097601912916 0.930599808693 -0.352785885334 -vn 0.227506399155 0.605743527412 -0.762440562248 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.193100318313 0.461876630783 -0.865668654442 -vn -0.189719647169 0.908340811729 -0.372724354267 -vn 0.097601912916 0.930599808693 -0.352785885334 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.310470491648 0.939930260181 -0.141912579536 -vn 0.436779737473 0.895123004913 -0.089321024716 -vn 0.436779737473 0.895123004913 -0.089321024716 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.436779737473 0.895123004913 -0.089321024716 -vn 0.423305630684 0.886720836163 0.185845404863 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.436779737473 0.895123004913 -0.089321024716 -vn 0.405214011669 0.855926692486 0.321233749390 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.423305630684 0.886720836163 0.185845404863 -vn 0.405214011669 0.855926692486 0.321233749390 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.405214011669 0.855926692486 0.321233749390 -vn 0.405214011669 0.855926692486 0.321233749390 -vn 0.162324577570 0.904733717442 0.393837094307 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.803628146648 0.587178885937 -0.096968024969 -vn 0.753271698952 0.627935349941 0.195650026202 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.090818278491 -0.972123861313 -0.216164782643 -vn -0.260627955198 -0.963619589806 0.059247847646 -vn -0.260627955198 -0.963619589806 0.059247847646 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.201083213091 0.576883137226 0.791688919067 -vn -0.009665114805 0.432859390974 0.901409626007 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn 0.117949590087 0.849612355232 0.514049351215 -vn -0.135806068778 0.653280317783 0.744836568832 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.212095111609 0.293082028627 0.932265281677 -vn 0.117949590087 0.849612355232 0.514049351215 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.410863459110 -0.055618740618 0.909998774529 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.473818302155 0.648060023785 0.596250295639 -vn -0.644459664822 0.624916911125 0.440625160933 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.705824911594 -0.080311007798 0.703819155693 -vn -0.473818302155 0.648060023785 0.596250295639 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.902148842812 -0.074126504362 0.425009071827 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.745227813721 0.633083999157 0.209380432963 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.983445346355 -0.041850395501 0.176306024194 -vn -0.745227813721 0.633083999157 0.209380432963 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.117949590087 0.849612355232 0.514049351215 -vn -0.212095111609 0.293082028627 0.932265281677 -vn -0.212095111609 0.293082028627 0.932265281677 -vn -0.009665114805 0.432859390974 0.901409626007 -vn 0.171455085278 0.914633154869 0.366127461195 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.151055559516 0.962752103806 0.224255621433 -vn 0.390230685472 0.623500227928 0.677471399307 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.512415468693 0.772289216518 0.375499367714 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.248102903366 0.886689305305 0.390162765980 -vn 0.686944067478 0.473488986492 0.551285803318 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.930573165417 0.310774356127 0.193527519703 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.256829530001 0.900792479515 0.350159198046 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.201083213091 0.576883137226 0.791688919067 -vn 0.385481506586 0.480627328157 0.787655591965 -vn 0.253791481256 0.930407822132 0.264444947243 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.176589697599 0.143177881837 -0.973815262318 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.227506399155 0.605743527412 -0.762440562248 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.283158630133 0.632815361023 -0.720670461655 -vn 0.281906336546 0.138081952929 -0.949453651905 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.468284696341 0.617177546024 -0.632298469543 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.697048187256 0.565060555935 -0.441395968199 -vn 0.728800296783 0.028480309993 -0.684133768082 -vn 0.412756860256 0.060444112867 -0.908833444118 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn 0.184735700488 -0.032027877867 -0.982266247272 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.196467101574 -0.223334953189 -0.954736709595 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.555135130882 -0.143407806754 -0.819304108620 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn -0.727473437786 0.553508579731 -0.405475795269 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.847794950008 -0.123858034611 -0.515657722950 -vn -0.985829532146 0.026642497629 -0.165621146560 -vn -0.704271733761 0.708031654358 -0.051889482886 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.956620991230 0.038980554789 -0.288715720177 -vn 0.990990340710 0.130139961839 -0.031650196761 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.082572974265 -0.055582214147 0.995033800602 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn -0.090538904071 -0.721768438816 0.686187326908 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn -0.355197250843 -0.292997479439 0.887686550617 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.097998321056 -0.885099232197 0.454967737198 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.156766593456 -0.905144870281 0.395141780376 -vn -0.486689150333 -0.374447375536 0.789254605770 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.285608649254 -0.925775051117 0.247726097703 -vn -0.675995051861 -0.429347306490 0.598908662796 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn -0.307565927505 -0.950393795967 0.046419605613 -vn -0.818308353424 -0.492649257183 0.296088099480 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.459652185440 -0.883022904396 -0.094818055630 -vn -0.929030179977 -0.362915277481 0.072079576552 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn 0.146504536271 -0.042443491518 0.988299012184 -vn 0.065914735198 -0.785547375679 0.615280866623 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.297726511955 -0.357162386179 0.885321378708 -vn 0.098932050169 -0.899504899979 0.425562411547 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.455326050520 -0.212368279696 0.864625871181 -vn 0.319514423609 -0.863103568554 0.391104489565 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.699083209038 -0.651106238365 0.295539051294 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.844169318676 -0.142716273665 0.516730368137 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.927620470524 -0.368441313505 0.061410423368 -vn 0.696924626827 -0.715875566006 -0.042640652508 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.926520526409 -0.330959945917 -0.178956046700 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.436327308416 -0.827338337898 -0.353736788034 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.693109035492 -0.481128364801 -0.536763787270 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn -0.125757485628 -0.893814086914 -0.430443346500 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn -0.429687142372 -0.462241262197 -0.775694489479 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn -0.087170556188 -0.883316695690 -0.460600584745 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn -0.131213530898 -0.471373289824 -0.872118234634 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn 0.089234955609 -0.909940361977 -0.405025571585 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn 0.039728019387 -0.366211801767 -0.929683089256 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn 0.060197409242 -0.886249661446 -0.459279716015 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn 0.177547097206 -0.158900201321 -0.971199154854 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn -0.001846735133 -0.877386391163 -0.479780942202 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn -0.071178838611 -0.914667427540 -0.397890716791 -vn 0.193469092250 -0.202935039997 -0.959889113903 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn 0.364927858114 -0.230931147933 -0.901941478252 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn -0.060941711068 -0.833909392357 -0.548526406288 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn 0.588752269745 -0.330777943134 -0.737534224987 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.116796404123 -0.867212474346 -0.484046578407 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.419476836920 -0.896206259727 -0.144407406449 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.262821823359 -0.951250076294 -0.161393716931 -vn 0.819989025593 -0.434048742056 -0.373121529818 -vn 0.899102628231 -0.414789378643 -0.139872014523 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.348348826170 0.555683076382 0.754896938801 -vn 0.348348826170 0.555683076382 0.754896938801 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.812033295631 0.514916896820 0.274704486132 -vn -0.258473217487 0.240610465407 0.935573697090 -vn 0.348348826170 0.555683076382 0.754896938801 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.237624734640 0.624630987644 0.743888854980 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.258473217487 0.240610465407 0.935573697090 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.258473217487 0.240610465407 0.935573697090 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.033919174224 0.761711001396 0.647028446198 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.325573593378 0.324940294027 0.887927711010 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.033919174224 0.761711001396 0.647028446198 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.325573593378 0.324940294027 0.887927711010 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.538130819798 -0.140533074737 0.831062972546 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn -0.522908329964 -0.718644380569 0.458385378122 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn -0.118096649647 -0.989603102207 -0.082090765238 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.365978002548 -0.816699564457 -0.446163564920 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.735541522503 -0.420057326555 -0.531536042690 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.957898378372 0.116688869894 -0.262324929237 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.812033295631 0.514916896820 0.274704486132 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.033919174224 0.761711001396 0.647028446198 -vn 0.237624734640 0.624630987644 0.743888854980 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.599148094654 -0.349108159542 0.720517218113 -vn 0.599148094654 -0.349108159542 0.720517218113 -vn 0.765411973000 -0.281774252653 0.578573942184 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn 0.445603191853 -0.384337395430 0.808531105518 -vn 0.445603191853 -0.384337395430 0.808531105518 -vn 0.599148094654 -0.349108159542 0.720517218113 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn 0.353177726269 -0.489298284054 0.797403693199 -vn 0.353177726269 -0.489298284054 0.797403693199 -vn 0.445603191853 -0.384337395430 0.808531105518 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn 0.349057108164 -0.704609453678 0.617806315422 -vn 0.349057108164 -0.704609453678 0.617806315422 -vn 0.353177726269 -0.489298284054 0.797403693199 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn 0.497694343328 -0.736805498600 0.457622140646 -vn 0.497694343328 -0.736805498600 0.457622140646 -vn 0.349057108164 -0.704609453678 0.617806315422 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.627989470959 -0.668266415596 0.398809760809 -vn 0.627989470959 -0.668266415596 0.398809760809 -vn 0.497694343328 -0.736805498600 0.457622140646 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.663220942020 -0.615163028240 0.426277458668 -vn 0.663220942020 -0.615163028240 0.426277458668 -vn 0.627989470959 -0.668266415596 0.398809760809 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.695339739323 -0.572090268135 0.434988915920 -vn 0.695339739323 -0.572090268135 0.434988915920 -vn 0.663220942020 -0.615163028240 0.426277458668 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.765411973000 -0.281774252653 0.578573942184 -vn 0.765411973000 -0.281774252653 0.578573942184 -vn 0.695339739323 -0.572090268135 0.434988915920 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.305796295404 0.933188319206 0.188807144761 -vn -0.576867401600 0.757517874241 -0.305598944426 -vn -0.576867401600 0.757517874241 -0.305598944426 -vn -0.718194782734 0.602012097836 -0.348966598511 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.718194782734 0.602012097836 -0.348966598511 -vn -0.718194782734 0.602012097836 -0.348966598511 -vn -0.725587606430 0.503578245640 -0.468968629837 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.725587606430 0.503578245640 -0.468968629837 -vn -0.725587606430 0.503578245640 -0.468968629837 -vn -0.789350450039 0.503757894039 -0.350932806730 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.789350450039 0.503757894039 -0.350932806730 -vn -0.789350450039 0.503757894039 -0.350932806730 -vn -0.850929498672 0.302877247334 -0.429167002439 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.850929498672 0.302877247334 -0.429167002439 -vn -0.850929498672 0.302877247334 -0.429167002439 -vn -0.628575026989 0.261088401079 -0.732616007328 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn -0.628575026989 0.261088401079 -0.732616007328 -vn -0.628575026989 0.261088401079 -0.732616007328 -vn -0.228433817625 0.366642951965 -0.901881873608 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn -0.228433817625 0.366642951965 -0.901881873608 -vn -0.228433817625 0.366642951965 -0.901881873608 -vn -0.369103759527 0.776214718819 -0.511129260063 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn -0.369103759527 0.776214718819 -0.511129260063 -vn -0.369103759527 0.776214718819 -0.511129260063 -vn -0.483243614435 0.776178956032 -0.404996097088 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn -0.305796295404 0.933188319206 0.188807144761 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn -0.483243614435 0.776178956032 -0.404996097088 -vn -0.483243614435 0.776178956032 -0.404996097088 -vn -0.576867401600 0.757517874241 -0.305598944426 -vn -0.305796295404 0.933188319206 0.188807144761 -vn 0.033919174224 0.761711001396 0.647028446198 -vn -0.305796295404 0.933188319206 0.188807144761 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.454803496599 0.485992193222 0.746301114559 -vn 0.033919174224 0.761711001396 0.647028446198 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.716205894947 0.675131976604 0.176765188575 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.454803496599 0.485992193222 0.746301114559 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.931238234043 0.267171919346 0.247819513083 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.653353095055 -0.045459389687 0.755687236786 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.994130134583 -0.099492669106 -0.042502265424 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn -0.702828645706 -0.631237745285 0.327979892492 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn -0.820460438728 -0.286714076996 -0.494610667229 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn -0.384284645319 -0.881262183189 -0.275140374899 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn -0.280365377665 -0.237007901073 -0.930173397064 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.265687763691 -0.705258131027 -0.657283067703 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.198456883430 0.134244099259 -0.970872461796 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.664483129978 -0.179814308882 -0.725347459316 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.296048760414 0.717162728310 -0.630898356438 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.867754399776 0.307647943497 -0.390326917171 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.158363074064 0.985768735409 -0.056401804090 -vn -0.305796295404 0.933188319206 0.188807144761 -vn -0.305796295404 0.933188319206 0.188807144761 -vn 0.033919174224 0.761711001396 0.647028446198 -vn 0.729900121689 0.651386141777 0.207224413753 -vn 0.348348826170 0.555683076382 0.754896938801 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.348348826170 0.555683076382 0.754896938801 -vn -0.258473217487 0.240610465407 0.935573697090 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.523129105568 0.167803466320 0.835570394993 -vn 0.348348826170 0.555683076382 0.754896938801 -vn -0.258473217487 0.240610465407 0.935573697090 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn 0.047754000872 -0.065999239683 0.996676325798 -vn -0.258473217487 0.240610465407 0.935573697090 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn -0.070202268660 -0.434225112200 0.898064672947 -vn -0.483811736107 -0.291279852390 0.825277090073 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn -0.105502836406 -0.773460447788 0.625002443790 -vn -0.419215917587 -0.771656930447 0.478334188461 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn 0.191903352737 -0.952242434025 0.237502530217 -vn -0.069711819291 -0.997551083565 0.005667928606 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.493556946516 -0.869650483131 -0.010467589833 -vn 0.338439792395 -0.873332142830 -0.350356280804 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.712524473667 -0.673489809036 -0.196774929762 -vn 0.664489090443 -0.542217135429 -0.514251768589 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.848077535629 0.469010263681 0.246564060450 -vn 0.883103847504 0.135465055704 0.449195712805 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.935779094696 -0.302246212959 0.181561961770 -vn 0.988916158676 0.017871269956 -0.147395417094 -vn 0.848077535629 0.469010263681 0.246564060450 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.147346720099 0.889737486839 0.432037174702 -vn 0.069645345211 0.862430155277 0.501361846924 -vn 0.069645345211 0.862430155277 0.501361846924 -vn 0.164405122399 0.635002374649 0.754813194275 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.147346720099 0.889737486839 0.432037174702 -vn 0.018299452960 0.998276531696 0.055759474635 -vn 0.056397389621 0.973752439022 0.220511928201 -vn 0.056397389621 0.973752439022 0.220511928201 -vn 0.069645345211 0.862430155277 0.501361846924 -vn -0.147346720099 0.889737486839 0.432037174702 -vn 0.056397389621 0.973752439022 0.220511928201 -vn -0.015082026832 0.898052096367 0.439630508423 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.110619284213 0.821678519249 0.559113383293 -vn 0.069645345211 0.862430155277 0.501361846924 -vn 0.056397389621 0.973752439022 0.220511928201 -vn -0.756435573101 0.570307672024 0.320241183043 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.625884294510 0.621010959148 0.471820145845 -vn -0.756435573101 0.570307672024 0.320241183043 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.015082026832 0.898052096367 0.439630508423 -vn -0.506518363953 0.725894212723 0.465313613415 -vn -0.506518363953 0.725894212723 0.465313613415 -vn -0.625884294510 0.621010959148 0.471820145845 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.506518363953 0.725894212723 0.465313613415 -vn -0.015082026832 0.898052096367 0.439630508423 -vn 0.093329630792 0.941157698631 0.324825823307 -vn 0.093329630792 0.941157698631 0.324825823307 -vn -0.382084578276 0.771323442459 0.508990705013 -vn -0.506518363953 0.725894212723 0.465313613415 -vn -0.392548322678 0.780418395996 0.486675381660 -vn -0.382084578276 0.771323442459 0.508990705013 -vn 0.093329630792 0.941157698631 0.324825823307 -vn 0.093329630792 0.941157698631 0.324825823307 -vn 0.002175812144 0.997610270977 0.069057755172 -vn -0.392548322678 0.780418395996 0.486675381660 -vn 0.002175812144 0.997610270977 0.069057755172 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn -0.359837502241 0.773664951324 0.521497368813 -vn -0.359837502241 0.773664951324 0.521497368813 -vn -0.392548322678 0.780418395996 0.486675381660 -vn 0.002175812144 0.997610270977 0.069057755172 -vn -0.359837502241 0.773664951324 0.521497368813 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.291743457317 0.775886118412 0.559362590313 -vn -0.359837502241 0.773664951324 0.521497368813 -vn -0.202851682901 0.784742534161 0.585687935352 -vn -0.291743457317 0.775886118412 0.559362590313 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn -0.202851682901 0.784742534161 0.585687935352 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn -0.115149334073 0.801315605640 0.587055325508 -vn -0.202851682901 0.784742534161 0.585687935352 -vn -0.202851682901 0.784742534161 0.585687935352 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn -0.092519551516 0.986486911774 -0.135217294097 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn -0.055783562362 0.991671502590 -0.116085425019 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn 0.002175812144 0.997610270977 0.069057755172 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn -0.064116746187 0.995342969894 -0.071981780231 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.002175812144 0.997610270977 0.069057755172 -vn 0.002175812144 0.997610270977 0.069057755172 -vn 0.093329630792 0.941157698631 0.324825823307 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn 0.018299452960 0.998276531696 0.055759474635 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn 0.145412996411 0.775520384312 -0.614347755909 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn 0.018299452960 0.998276531696 0.055759474635 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.435292720795 -0.036885086447 -0.899533033371 -vn -0.149325296283 0.191209688783 -0.970124125481 -vn -0.149325296283 0.191209688783 -0.970124125481 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn -0.374504595995 -0.259615004063 -0.890138387680 -vn -0.435292720795 -0.036885086447 -0.899533033371 -vn -0.435292720795 -0.036885086447 -0.899533033371 -vn -0.212444365025 0.441597640514 -0.871698856354 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn 0.018299452960 0.998276531696 0.055759474635 -vn -0.000561077497 0.892739951611 -0.450571924448 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.056397389621 0.973752439022 0.220511928201 -vn 0.018299452960 0.998276531696 0.055759474635 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn 0.093329630792 0.941157698631 0.324825823307 -vn -0.015082026832 0.898052096367 0.439630508423 -vn -0.015082026832 0.898052096367 0.439630508423 -vn 0.056397389621 0.973752439022 0.220511928201 -vn 0.164719715714 0.961630463600 -0.219395115972 -vn -0.833009958267 0.535604238510 0.138645425439 -vn -0.353946268559 0.734738647938 0.578689157963 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.756435573101 0.570307672024 0.320241183043 -vn -0.833009958267 0.535604238510 0.138645425439 -vn -0.110619284213 0.821678519249 0.559113383293 -vn -0.218308880925 0.796049535275 0.564487636089 -vn 0.164405122399 0.635002374649 0.754813194275 -vn 0.164405122399 0.635002374649 0.754813194275 -vn 0.069645345211 0.862430155277 0.501361846924 -vn -0.110619284213 0.821678519249 0.559113383293 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.164405122399 0.635002374649 0.754813194275 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.218308880925 0.796049535275 0.564487636089 -vn -0.353946268559 0.734738647938 0.578689157963 -vn 0.750251233578 0.270256996155 0.603393971920 -vn -0.353946268559 0.734738647938 0.578689157963 -vn -0.457538694143 0.750161647797 0.477405369282 -vn 0.703342258930 0.225412517786 0.674165308475 -vn 0.703342258930 0.225412517786 0.674165308475 -vn 0.750251233578 0.270256996155 0.603393971920 -vn -0.353946268559 0.734738647938 0.578689157963 -vn 0.910371243954 -0.268473833799 0.314874649048 -vn 0.935766935349 -0.242188498378 0.256290793419 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.703342258930 0.225412517786 0.674165308475 -vn 0.910371243954 -0.268473833799 0.314874649048 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.935766935349 -0.242188498378 0.256290793419 -vn 0.356486141682 -0.270039647818 0.894425094128 -vn 0.356486141682 -0.270039647818 0.894425094128 -vn 0.164405122399 0.635002374649 0.754813194275 -vn 0.750251233578 0.270256996155 0.603393971920 -vn 0.356486141682 -0.270039647818 0.894425094128 -vn -0.671294987202 -0.260830819607 0.693779766560 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.534322023392 0.359675824642 0.764940083027 -vn 0.164405122399 0.635002374649 0.754813194275 -vn 0.356486141682 -0.270039647818 0.894425094128 -vn 0.050975821912 0.871190190315 0.488292098045 -vn -0.147346720099 0.889737486839 0.432037174702 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.357310593128 0.236652135849 0.903506994247 -vn 0.050975821912 0.871190190315 0.488292098045 -vn -0.578328967094 -0.319814234972 0.750502765179 -vn -0.357310593128 0.236652135849 0.903506994247 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.534322023392 0.359675824642 0.764940083027 -vn -0.671294987202 -0.260830819607 0.693779766560 -vn -0.578328967094 -0.319814234972 0.750502765179 -vn 0.598508119583 0.249849140644 0.761159241199 -vn 0.811512649059 -0.327733904123 0.483774423599 -vn 0.910371243954 -0.268473833799 0.314874649048 -vn 0.910371243954 -0.268473833799 0.314874649048 -vn 0.703342258930 0.225412517786 0.674165308475 -vn 0.598508119583 0.249849140644 0.761159241199 -vn 0.703342258930 0.225412517786 0.674165308475 -vn -0.457538694143 0.750161647797 0.477405369282 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.429617762566 0.848202347755 0.309808552265 -vn 0.598508119583 0.249849140644 0.761159241199 -vn 0.703342258930 0.225412517786 0.674165308475 -vn -0.842326104641 0.537471950054 -0.040131911635 -vn -0.791654765606 0.576650857925 -0.201882332563 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.457538694143 0.750161647797 0.477405369282 -vn -0.842326104641 0.537471950054 -0.040131911635 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.429713785648 0.846449017525 0.314436256886 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.598508119583 0.249849140644 0.761159241199 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.429617762566 0.848202347755 0.309808552265 -vn -0.791654765606 0.576650857925 -0.201882332563 -vn -0.667831838131 0.682248771191 -0.297552168369 -vn -0.667831838131 0.682248771191 -0.297552168369 -vn -0.429713785648 0.846449017525 0.314436256886 -vn -0.429617762566 0.848202347755 0.309808552265 -vn 0.811512649059 -0.327733904123 0.483774423599 -vn 0.598508119583 0.249849140644 0.761159241199 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.607785642147 -0.416889160872 0.675869822502 -vn 0.811512649059 -0.327733904123 0.483774423599 -vn 0.607785642147 -0.416889160872 0.675869822502 -vn 0.313882619143 0.163946226239 0.935200154781 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.516368031502 -0.345768600702 0.783459067345 -vn 0.607785642147 -0.416889160872 0.675869822502 -vn -0.457538694143 0.750161647797 0.477405369282 -vn -0.353946268559 0.734738647938 0.578689157963 -vn -0.833009958267 0.535604238510 0.138645425439 -vn -0.833009958267 0.535604238510 0.138645425439 -vn -0.842326104641 0.537471950054 -0.040131911635 -vn -0.457538694143 0.750161647797 0.477405369282 -vn 0.384632349014 -0.290035128593 0.876320481300 -vn -0.577897906303 -0.355524659157 0.734599351883 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.622664332390 0.454117029905 0.637233734131 -vn 0.170826375484 0.283379584551 0.943670690060 -vn 0.384632349014 -0.290035128593 0.876320481300 -vn 0.314843177795 -0.462489783764 0.828840732574 -vn 0.384632349014 -0.290035128593 0.876320481300 -vn 0.170826375484 0.283379584551 0.943670690060 -vn 0.170826375484 0.283379584551 0.943670690060 -vn -0.019885519519 0.156374439597 0.987497627735 -vn 0.314843177795 -0.462489783764 0.828840732574 -vn 0.100030563772 -0.661799669266 0.742977142334 -vn 0.314843177795 -0.462489783764 0.828840732574 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn 0.100030563772 -0.661799669266 0.742977142334 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.019895311445 -0.792612075806 0.609401524067 -vn -0.019895311445 -0.792612075806 0.609401524067 -vn 0.100030563772 -0.661799669266 0.742977142334 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn -0.019895311445 -0.792612075806 0.609401524067 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.859864592552 -0.161788597703 0.484207957983 -vn -0.859864592552 -0.161788597703 0.484207957983 -vn -0.178587734699 -0.922734260559 0.341566920280 -vn -0.019895311445 -0.792612075806 0.609401524067 -vn -0.178587734699 -0.922734260559 0.341566920280 -vn -0.859864592552 -0.161788597703 0.484207957983 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.537448406219 -0.838045239449 0.093964748085 -vn -0.178587734699 -0.922734260559 0.341566920280 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.815810859203 0.574943482876 0.062391024083 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.815810859203 0.574943482876 0.062391024083 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.815810859203 0.574943482876 0.062391024083 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn -0.224376007915 -0.046368073672 -0.973398864269 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn -0.408398300409 0.460756182671 -0.787981331348 -vn -0.688532412052 0.659234106541 -0.302214354277 -vn -0.537448406219 -0.838045239449 0.093964748085 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.640428006649 -0.731053292751 -0.235399663448 -vn -0.537448406219 -0.838045239449 0.093964748085 -vn -0.422474920750 -0.667798876762 -0.612829148769 -vn -0.640428006649 -0.731053292751 -0.235399663448 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.941314995289 -0.067905850708 -0.330627977848 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.422474920750 -0.667798876762 -0.612829148769 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.019885519519 0.156374439597 0.987497627735 -vn 0.170826375484 0.283379584551 0.943670690060 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.181642502546 0.885934293270 0.426762789488 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.181642502546 0.885934293270 0.426762789488 -vn 0.170826375484 0.283379584551 0.943670690060 -vn 0.170826375484 0.283379584551 0.943670690060 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.424639850855 0.811399281025 0.401636928320 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.546915650368 0.810093104839 -0.211263924837 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn -0.389531940222 0.909839093685 -0.143030583858 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.310567855835 -0.005853740964 0.950533211231 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.019885519519 0.156374439597 0.987497627735 -vn -0.383504658937 0.857913494110 0.341919034719 -vn -0.606193363667 0.768687665462 0.204080417752 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.815810859203 0.574943482876 0.062391024083 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.968362867832 -0.224615901709 0.108724497259 -vn -0.859864592552 -0.161788597703 0.484207957983 -vn -0.612901210785 -0.171269357204 0.771374642849 -vn -0.914714396000 -0.397285848856 -0.073902077973 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.577897906303 -0.355524659157 0.734599351883 -vn -0.914714396000 -0.397285848856 -0.073902077973 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.914714396000 -0.397285848856 -0.073902077973 -vn -0.887782454491 -0.459931015968 -0.017485428602 -vn -0.887782454491 -0.459931015968 -0.017485428602 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.887782454491 -0.459931015968 -0.017485428602 -vn -0.834079504013 -0.535284638405 0.133348211646 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.887782454491 -0.459931015968 -0.017485428602 -vn 0.081868670881 0.901294291019 0.425401180983 -vn 0.077389903367 0.914463222027 0.397199958563 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.669492661953 0.064479798079 0.740014791489 -vn 0.081868670881 0.901294291019 0.425401180983 -vn -0.743179678917 0.068944804370 0.665530264378 -vn -0.545027732849 0.737514972687 0.398768693209 -vn 0.081868670881 0.901294291019 0.425401180983 -vn 0.081868670881 0.901294291019 0.425401180983 -vn -0.669492661953 0.064479798079 0.740014791489 -vn -0.743179678917 0.068944804370 0.665530264378 -vn 0.568133234978 0.821251451969 -0.052637834102 -vn 0.646443426609 0.759647488594 0.071039631963 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.081868670881 0.901294291019 0.425401180983 -vn 0.568133234978 0.821251451969 -0.052637834102 -vn 0.058358471841 0.816487491131 0.574406206608 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.646443426609 0.759647488594 0.071039631963 -vn 0.646443426609 0.759647488594 0.071039631963 -vn 0.630036652088 0.727832496166 0.270765095949 -vn 0.058358471841 0.816487491131 0.574406206608 -vn 0.630036652088 0.727832496166 0.270765095949 -vn 0.553945541382 0.699680268764 0.451211482286 -vn -0.097729347646 0.768430531025 0.632426679134 -vn -0.097729347646 0.768430531025 0.632426679134 -vn 0.058358471841 0.816487491131 0.574406206608 -vn 0.630036652088 0.727832496166 0.270765095949 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.097729347646 0.768430531025 0.632426679134 -vn 0.553945541382 0.699680268764 0.451211482286 -vn 0.553945541382 0.699680268764 0.451211482286 -vn 0.436596006155 0.685988366604 0.582068622112 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.254605710506 0.744727969170 0.616892397404 -vn 0.436596006155 0.685988366604 0.582068622112 -vn 0.298728913069 0.741523385048 0.600752949715 -vn 0.298728913069 0.741523385048 0.600752949715 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.936779797077 0.026538468897 0.348911702633 -vn 0.058358471841 0.816487491131 0.574406206608 -vn -0.097729347646 0.768430531025 0.632426679134 -vn -0.097729347646 0.768430531025 0.632426679134 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.097729347646 0.768430531025 0.632426679134 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.962532341480 0.106497831643 0.249378725886 -vn -0.097729347646 0.768430531025 0.632426679134 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.058358471841 0.816487491131 0.574406206608 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.936779797077 0.026538468897 0.348911702633 -vn -0.887424767017 0.078465610743 0.454225122929 -vn 0.077389903367 0.914463222027 0.397199958563 -vn 0.081868670881 0.901294291019 0.425401180983 -vn -0.545027732849 0.737514972687 0.398768693209 -vn -0.103438951075 0.980265319347 -0.168464601040 -vn -0.103438951075 0.980265319347 -0.168464601040 -vn 0.568133234978 0.821251451969 -0.052637834102 -vn 0.081868670881 0.901294291019 0.425401180983 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.266018509865 0.937779486179 -0.223167747259 -vn -0.103438951075 0.980265319347 -0.168464601040 -vn -0.103438951075 0.980265319347 -0.168464601040 -vn -0.545027732849 0.737514972687 0.398768693209 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.545027732849 0.737514972687 0.398768693209 -vn -0.743179678917 0.068944804370 0.665530264378 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.545027732849 0.737514972687 0.398768693209 -vn -0.399299442768 -0.641792595387 0.654722988605 -vn -0.083396285772 -0.628017544746 0.773717641830 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.399299442768 -0.641792595387 0.654722988605 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.743179678917 0.068944804370 0.665530264378 -vn -0.701685905457 -0.509247004986 0.498301476240 -vn -0.701685905457 -0.509247004986 0.498301476240 -vn -0.399299442768 -0.641792595387 0.654722988605 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.509258329868 -0.100890107453 0.854679524899 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.030449874699 -0.613143086433 -0.789384782314 -vn -0.030449874699 -0.613143146038 -0.789384782314 -vn -0.030449876562 -0.613143146038 -0.789384782314 -vn 0.454834192991 -0.551295697689 -0.699427545071 -vn 0.454834192991 -0.551295697689 -0.699427545071 -vn 0.454834192991 -0.551295757294 -0.699427545071 -vn -0.084855884314 0.981540918350 -0.171397000551 -vn -0.182695105672 0.915379524231 0.358751714230 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.145488426089 0.976211905479 -0.160759046674 -vn -0.084855884314 0.981540918350 -0.171397000551 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.084855884314 0.981540918350 -0.171397000551 -vn -0.266018509865 0.937779486179 -0.223167747259 -vn -0.266018509865 0.937779486179 -0.223167747259 -vn -0.494124293327 0.813777327538 0.305953741074 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.701685905457 -0.509247004986 0.498301476240 -vn -0.743179678917 0.068944804370 0.665530264378 -vn -0.669492661953 0.064479798079 0.740014791489 -vn -0.669492661953 0.064479798079 0.740014791489 -vn -0.714156806469 -0.585525572300 0.383588165045 -vn -0.701685905457 -0.509247004986 0.498301476240 -vn -0.714156806469 -0.585525572300 0.383588165045 -vn -0.669492661953 0.064479798079 0.740014791489 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.887424767017 0.078465610743 0.454225122929 -vn -0.834079504013 -0.535284638405 0.133348211646 -vn -0.714156806469 -0.585525572300 0.383588165045 -vn -0.254605710506 0.744727969170 0.616892397404 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.622664332390 0.454117029905 0.637233734131 -vn -0.254605710506 0.744727969170 0.616892397404 -vn 0.483079075813 0.188845366240 -0.854969024658 -vn 0.821521222591 0.078862875700 -0.564697682858 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn 0.483079075813 0.188845366240 -0.854969024658 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.013701758347 0.829518616199 0.558310985565 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.373588293791 0.906539082527 0.196516364813 -vn 0.008125438355 0.822232007980 0.569094419479 -vn -0.013701758347 0.829518616199 0.558310985565 -vn -0.388561308384 0.831142783165 0.397771000862 -vn 0.114516958594 0.788044095039 0.604873836040 -vn 0.008125438355 0.822232007980 0.569094419479 -vn 0.008125438355 0.822232007980 0.569094419479 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.388561308384 0.831142783165 0.397771000862 -vn -0.316964924335 0.809910416603 0.493536621332 -vn 0.298728913069 0.741523385048 0.600752949715 -vn 0.114516958594 0.788044095039 0.604873836040 -vn 0.114516958594 0.788044095039 0.604873836040 -vn -0.388561308384 0.831142783165 0.397771000862 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.388561308384 0.831142783165 0.397771000862 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.424639850855 0.811399281025 0.401636928320 -vn -0.316964924335 0.809910416603 0.493536621332 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.388561308384 0.831142783165 0.397771000862 -vn -0.373588293791 0.906539082527 0.196516364813 -vn -0.013701758347 0.829518616199 0.558310985565 -vn -0.040053065866 0.814612388611 0.578621149063 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.013701758347 0.829518616199 0.558310985565 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.242492765188 0.969967246056 -0.018994800746 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.483079075813 0.188845366240 -0.854969024658 -vn 0.034370608628 0.694903075695 -0.718281567097 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.308176785707 -0.444958806038 -0.840855956078 -vn 0.483079075813 0.188845366240 -0.854969024658 -vn 0.188442409039 -0.595347464085 -0.781057536602 -vn 0.308176785707 -0.444958806038 -0.840855956078 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.095979750156 0.237653985620 -0.966596305370 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn 0.188442409039 -0.595347464085 -0.781057536602 -vn 0.188442409039 -0.595347464085 -0.781057536602 -vn 0.108198247850 0.059869885445 -0.992324888706 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.223764970899 -0.611924827099 -0.758602142334 -vn 0.188442409039 -0.595347464085 -0.781057536602 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn 0.270638674498 -0.588777959347 -0.761639833450 -vn 0.270638674498 -0.588777959347 -0.761639833450 -vn 0.223764970899 -0.611924827099 -0.758602142334 -vn 0.186325952411 0.041206322610 -0.981623470783 -vn 0.270638674498 -0.588777959347 -0.761639833450 -vn 0.280480980873 0.072654128075 -0.957105934620 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn 0.271971881390 -0.439561158419 -0.856047511101 -vn 0.270638674498 -0.588777959347 -0.761639833450 -vn -0.115149334073 0.801315605640 0.587055325508 -vn -0.112290486693 0.984839260578 -0.132221266627 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.164916515350 0.980066657066 -0.110778510571 -vn -0.040053065866 0.814612388611 0.578621149063 -vn -0.115149334073 0.801315605640 0.587055325508 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.181109443307 0.982749462128 -0.037454269826 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.432357877493 0.900786101818 0.040632791817 -vn -0.374014973640 0.886462867260 -0.272573590279 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn -0.019123541191 0.906814336777 -0.421096295118 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn 0.071902558208 0.827343285084 -0.557075500488 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn -0.243032351136 0.654210090637 -0.716201424599 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.759460985661 -0.164043009281 -0.629530727863 -vn 0.759460985661 -0.164043009281 -0.629530727863 -vn 0.552213788033 -0.386443734169 -0.738729417324 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.821521222591 0.078862875700 -0.564697682858 -vn 0.759460985661 -0.164043009281 -0.629530727863 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.574291229248 0.222163870931 -0.787929475307 -vn 0.501307368279 0.477822452784 -0.721371352673 -vn 0.821521222591 0.078862875700 -0.564697682858 -vn 0.368465006351 -0.612099230289 -0.699691414833 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.369810193777 -0.044239182025 -0.928053498268 -vn 0.552213788033 -0.386443734169 -0.738729417324 -vn 0.368465006351 -0.612099230289 -0.699691414833 -vn 0.045121468604 -0.817973375320 -0.573483705521 -vn -0.224376007915 -0.046368073672 -0.973398864269 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn 0.161430969834 -0.167638167739 -0.972541749477 -vn 0.368465006351 -0.612099230289 -0.699691414833 -vn 0.045121468604 -0.817973375320 -0.573483705521 -vn 0.045121468604 -0.817973375320 -0.573483705521 -vn -0.422474920750 -0.667798876762 -0.612829148769 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.627340018749 -0.085048124194 -0.774087429047 -vn -0.224376007915 -0.046368073672 -0.973398864269 -vn 0.045121468604 -0.817973375320 -0.573483705521 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn -0.149325296283 0.191209688783 -0.970124125481 -vn 0.271971881390 -0.439561158419 -0.856047511101 -vn 0.271971881390 -0.439561158419 -0.856047511101 -vn 0.304755032063 0.162415653467 -0.938480436802 -vn 0.158929482102 0.658865928650 -0.735280275345 -vn 0.050975821912 0.871190190315 0.488292098045 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.018299452960 0.998276531696 0.055759474635 -vn 0.018299452960 0.998276531696 0.055759474635 -vn -0.147346720099 0.889737486839 0.432037174702 -vn 0.050975821912 0.871190190315 0.488292098045 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.227914363146 0.973679065704 -0.002040540567 -vn 0.050975821912 0.871190190315 0.488292098045 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.050975821912 0.871190190315 0.488292098045 -vn -0.357310593128 0.236652135849 0.903506994247 -vn -0.357310593128 0.236652135849 0.903506994247 -vn -0.090699143708 0.010228182189 0.995825827122 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.415789157152 0.681671321392 0.602032840252 -vn -0.090699143708 0.010228182189 0.995825827122 -vn -0.090699143708 0.010228182189 0.995825827122 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn 0.535596609116 -0.080347500741 0.840642929077 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn -0.084090135992 -0.870717883110 0.484540194273 -vn 0.535596609116 -0.080347500741 0.840642929077 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn -0.245555266738 -0.736587166786 0.630191981792 -vn -0.084090135992 -0.870717883110 0.484540194273 -vn -0.090699143708 0.010228182189 0.995825827122 -vn -0.378451079130 -0.561920762062 0.735540509224 -vn -0.245555266738 -0.736587166786 0.630191981792 -vn -0.245555266738 -0.736587166786 0.630191981792 -vn 0.163989365101 -0.143401250243 0.975983381271 -vn -0.090699143708 0.010228182189 0.995825827122 -vn -0.357310593128 0.236652135849 0.903506994247 -vn -0.578328967094 -0.319814234972 0.750502765179 -vn -0.378451079130 -0.561920762062 0.735540509224 -vn -0.378451079130 -0.561920762062 0.735540509224 -vn -0.090699143708 0.010228182189 0.995825827122 -vn -0.357310593128 0.236652135849 0.903506994247 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.535596609116 -0.080347500741 0.840642929077 -vn -0.084090135992 -0.870717883110 0.484540194273 -vn -0.084090135992 -0.870717883110 0.484540194273 -vn 0.303251296282 -0.837280929089 0.454971790314 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.590286970139 -0.797087967396 0.127326473594 -vn 0.934182822704 -0.324974685907 0.147288635373 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.303251296282 -0.837280929089 0.454971790314 -vn 0.590286970139 -0.797087967396 0.127326473594 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.934182822704 -0.324974685907 0.147288635373 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.704818487167 -0.360784024000 0.610791087151 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.934182822704 -0.324974685907 0.147288635373 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.590286970139 -0.797087967396 0.127326473594 -vn 0.538265943527 -0.756090760231 -0.372285634279 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.934182822704 -0.324974685907 0.147288635373 -vn 0.590286970139 -0.797087967396 0.127326473594 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn 0.502711594105 0.493176937103 -0.709970116615 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.433138728142 -0.448282390833 -0.781942307949 -vn -0.007061770186 -0.825218200684 -0.564769864082 -vn -0.007061770186 -0.825218200684 -0.564769864082 -vn -0.285020858049 -0.719945371151 -0.632804691792 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.433138728142 -0.448282390833 -0.781942307949 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.712965011597 0.308273494244 -0.629800260067 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.433138728142 -0.448282390833 -0.781942307949 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn -0.285020858049 -0.719945371151 -0.632804691792 -vn -0.264134556055 -0.500071525574 -0.824718952179 -vn -0.264134556055 -0.500071525574 -0.824718952179 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn 0.108074806631 -0.244027063251 -0.963727474213 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.913268625736 0.406597167253 -0.024883907288 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.644251585007 0.759489834309 -0.090083837509 -vn 0.415789157152 0.681671321392 0.602032840252 -vn 0.715015947819 0.376954406500 0.588776290417 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.143064171076 0.886963069439 0.439123153687 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.182695105672 0.915379524231 0.358751714230 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.203395426273 0.839035332203 0.504628598690 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.313882619143 0.163946226239 0.935200154781 -vn -0.429713785648 0.846449017525 0.314436256886 -vn 0.203395426273 0.839035332203 0.504628598690 -vn 0.203395426273 0.839035332203 0.504628598690 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.313882619143 0.163946226239 0.935200154781 -vn -0.046772319824 0.986538410187 -0.156698241830 -vn 0.145488426089 0.976211905479 -0.160759046674 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.143064171076 0.886963069439 0.439123153687 -vn 0.203395426273 0.839035332203 0.504628598690 -vn -0.046772319824 0.986538410187 -0.156698241830 -vn -0.429713785648 0.846449017525 0.314436256886 -vn -0.667831838131 0.682248771191 -0.297552168369 -vn -0.046772319824 0.986538410187 -0.156698241830 -vn -0.046772319824 0.986538410187 -0.156698241830 -vn 0.203395426273 0.839035332203 0.504628598690 -vn -0.429713785648 0.846449017525 0.314436256886 -vn 0.286178618670 -0.536495864391 0.793897986412 -vn 0.516368031502 -0.345768600702 0.783459067345 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.433476418257 0.101598486304 0.895419418812 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.286178618670 -0.536495864391 0.793897986412 -vn -0.083396285772 -0.628017544746 0.773717641830 -vn 0.286178618670 -0.536495864391 0.793897986412 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn 0.179807379842 -0.031763926148 0.983188867569 -vn -0.178978517652 -0.082300312817 0.980404675007 -vn -0.083396285772 -0.628017544746 0.773717641830 -vn -0.374504595995 -0.259615004063 -0.890138387680 -vn -0.149947926402 0.168516919017 -0.974226713181 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn 0.029971798882 -0.099999859929 -0.994535923004 -vn -0.264134556055 -0.500071525574 -0.824718952179 -vn -0.374504595995 -0.259615004063 -0.890138387680 -vn -0.007061770186 -0.825218200684 -0.564769864082 -vn 0.433138728142 -0.448282390833 -0.781942307949 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.835667192936 -0.353619337082 -0.420254290104 -vn 0.538265943527 -0.756090760231 -0.372285634279 -vn -0.007061770186 -0.825218200684 -0.564769864082 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.775661766529 -0.398030877113 -0.489816576242 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn 0.775661766529 -0.398030877113 -0.489816576242 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.330751955509 -0.411549597979 0.849252641201 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn 0.330751955509 -0.411549597979 0.849252641201 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.893253266811 -0.289331018925 0.344072848558 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn 0.775661766529 -0.398030877113 -0.489816576242 -vn 0.775661766529 -0.398030877113 -0.489816576242 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn 0.330751955509 -0.411549597979 0.849252641201 -vn 0.330751955509 -0.411549597979 0.849252641201 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn -0.593118011951 -0.667791306973 -0.449739724398 -vn -0.593118011951 -0.667791306973 -0.449739724398 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn -0.172960251570 -0.975686252117 -0.134614691138 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.829526424408 0.541623890400 0.136123031378 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn 0.950541198254 -0.306927442551 0.047613322735 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.843217432499 -0.417677789927 -0.338422268629 -vn 0.950541198254 -0.306927442551 0.047613322735 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.945044875145 -0.011528831907 0.326737374067 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.248923435807 -0.588823974133 0.768975555897 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn -0.647236943245 -0.611986935139 0.454484701157 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.176717445254 -0.092994883657 0.979858636856 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.067010790110 0.193234190345 0.978861629963 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.564102113247 0.009641343728 0.825648725033 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.227151930332 0.082373514771 0.970369338989 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn 0.176717445254 -0.092994883657 0.979858636856 -vn 0.227151930332 0.082373514771 0.970369338989 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn 0.145574510098 0.222784399986 -0.963937342167 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.145574510098 0.222784399986 -0.963937342167 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.348919451237 0.080806083977 0.933662474155 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.154252499342 -0.124288119376 0.980182945728 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.154252499342 -0.124288119376 0.980182945728 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn 0.120366461575 -0.507115423679 -0.853431820869 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.355505973101 -0.143865868449 -0.923535645008 -vn 0.326625823975 -0.538841307163 -0.776508629322 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.355505973101 -0.143865868449 -0.923535645008 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.326625823975 -0.538841307163 -0.776508629322 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn -0.590411484241 0.405412644148 0.697893142700 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn 0.154252499342 -0.124288119376 0.980182945728 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.389436155558 -0.407782554626 0.825864911079 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.590411484241 0.405412644148 0.697893142700 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.147857800126 -0.099749833345 0.983965456486 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.236986622214 0.101993352175 0.966144263744 -vn 0.120366461575 -0.507115423679 -0.853431820869 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn 0.120366461575 -0.507115423679 -0.853431820869 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn 0.120366461575 -0.507115423679 -0.853431820869 -vn -0.402320235968 0.064717441797 -0.913208663464 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.544952988625 -0.759176731110 -0.355916976929 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.544952988625 -0.759176731110 -0.355916976929 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.903819084167 -0.127298012376 -0.408541679382 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.496666043997 -0.462730199099 0.734304845333 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.496666043997 -0.462730199099 0.734304845333 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn 0.078055009246 -0.974436163902 -0.210669353604 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn 0.010250043124 -0.738894104958 0.673743546009 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.239223495126 -0.067995756865 0.968580782413 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.496666043997 -0.462730199099 0.734304845333 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn 0.496666043997 -0.462730199099 0.734304845333 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.544135689735 -0.377859950066 0.749091565609 -vn 0.239223495126 -0.067995756865 0.968580782413 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.457300573587 -0.591948747635 -0.663681268692 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.027110569179 -0.011936810799 -0.999561190605 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.027110569179 -0.011936810799 -0.999561190605 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.037874251604 -0.391661256552 -0.919329643250 -vn -0.457300573587 -0.591948747635 -0.663681268692 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn 0.239223495126 -0.067995756865 0.968580782413 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn 0.309158563614 -0.309895396233 0.899102807045 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.457300573587 -0.591948747635 -0.663681268692 -vn -0.457300573587 -0.591948747635 -0.663681268692 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn -0.085905134678 0.072124846280 0.993689239025 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn -0.085905134678 0.072124846280 0.993689239025 -vn -0.203997373581 0.026348058134 0.978616833687 -vn 0.239223495126 -0.067995756865 0.968580782413 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn 0.206780195236 -0.288152217865 0.934992134571 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.583397090435 -0.665412664413 0.465697109699 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.649454832077 -0.730109870434 0.212480604649 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.407826662064 -0.263833075762 0.874110698700 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.203997373581 0.026348058134 0.978616833687 -vn -0.407826662064 -0.263833075762 0.874110698700 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn -0.027110569179 -0.011936810799 -0.999561190605 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.058739125729 0.414347767830 0.908221125603 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.058739125729 0.414347767830 0.908221125603 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.631104588509 0.755875229836 -0.174240186810 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.062123641372 -0.885799050331 0.459892094135 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.062123641372 -0.885799050331 0.459892094135 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.297869771719 -0.792901396751 0.531583428383 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.407826662064 -0.263833075762 0.874110698700 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.407826662064 -0.263833075762 0.874110698700 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.576891720295 -0.135861605406 0.805442452431 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.499737411737 -0.027546295896 -0.865738809109 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.826180279255 0.350576817989 0.441046565771 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.033008869737 0.924311041832 -0.380209892988 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.411596596241 0.156486570835 0.897830843925 -vn -0.087292499840 0.331456899643 0.939423382282 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.232292786241 0.148990094662 0.961167037487 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn 0.411596596241 0.156486570835 0.897830843925 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.647573769093 0.433242529631 0.626856565475 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.899324655533 0.257733941078 -0.353253960609 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.899324655533 0.257733941078 -0.353253960609 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.637821733952 0.488461166620 -0.595473885536 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.663576424122 0.494282841682 -0.561561048031 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.839950859547 0.531240165234 0.110753878951 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.659432172775 0.712318539619 0.240315511823 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.112411670387 0.934677660465 0.337255597115 -vn -0.387950241566 0.306505471468 0.869223237038 -vn -0.387950241566 0.306505471468 0.869223237038 -vn 0.132363051176 0.588919281960 0.797279179096 -vn 0.370204120874 0.758121490479 0.536843240261 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.893771290779 0.433860689402 0.113744199276 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.893771290779 0.433860689402 0.113744199276 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.052568800747 -0.785489320755 -0.616638481617 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.388772368431 0.459267735481 0.798704683781 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.139534607530 0.974310278893 0.176775634289 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.015306836925 0.932955980301 0.359664946795 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.015306836925 0.932955980301 0.359664946795 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn -0.052991427481 0.783603668213 -0.618996977806 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.845744073391 -0.529137194157 0.068780913949 -vn -0.841082036495 -0.539783477783 0.034854743630 -vn -0.841082036495 -0.539783477783 0.034854743630 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.841082036495 -0.539783477783 0.034854743630 -vn -0.841082036495 -0.539783477783 0.034854743630 -vn -0.831635236740 -0.554599404335 -0.028325177729 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.475282013416 -0.870118498802 0.130387231708 -vn -0.482255339622 -0.870516359806 0.098138004541 -vn -0.482255339622 -0.870516359806 0.098138004541 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.482255339622 -0.870516359806 0.098138004541 -vn -0.482255339622 -0.870516359806 0.098138004541 -vn -0.468870520592 -0.880146622658 0.074178211391 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.375852286816 -0.924159824848 0.068291187286 -vn -0.375852286816 -0.924159824848 0.068291187286 -vn -0.475282013416 -0.870118498802 0.130387231708 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.153536304832 -0.769525945187 -0.619884192944 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.413747638464 -0.638228178024 -0.649213135242 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.478329122066 -0.718357503414 -0.505137383938 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.478329122066 -0.718357503414 -0.505137383938 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.178848639131 -0.936645090580 -0.301179677248 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.483235120773 -0.712880373001 -0.508217871189 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn -0.321229845285 -0.869021952152 -0.376313954592 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.478329122066 -0.718357503414 -0.505137383938 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.556770026684 -0.623259902000 -0.549139559269 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.474162250757 -0.571830630302 -0.669462382793 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.658861577511 -0.512930274010 -0.550276279449 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.899324655533 0.257733941078 -0.353253960609 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.667836844921 -0.152970269322 -0.728418886662 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.925836741924 -0.160533234477 -0.342133611441 -vn -0.899324655533 0.257733941078 -0.353253960609 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.932423293591 -0.356068879366 -0.061658397317 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.995549976826 0.022097477689 -0.091607637703 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.976822197437 -0.125868663192 0.173134148121 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.576891720295 -0.135861605406 0.805442452431 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.443778961897 -0.582111120224 0.681327283382 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.869244992733 0.157309949398 0.468686133623 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.855051636696 -0.223598405719 0.467857301235 -vn -0.576891720295 -0.135861605406 0.805442452431 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.739987790585 -0.562143504620 0.369341015816 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.888698339462 -0.439484417439 0.130647391081 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.632312119007 -0.679946780205 0.371286600828 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.862132310867 -0.493066251278 0.116677321494 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.918786525726 -0.386189073324 0.081788085401 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.772156238556 -0.451216131449 0.447413414717 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.321332365274 -0.686707675457 0.652056813240 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn 0.099003560841 -0.460517406464 0.882112264633 -vn -0.107284501195 -0.382235765457 0.917815804482 -vn -0.284909248352 -0.955779790878 0.072881773114 -vn -0.428062021732 -0.867399811745 0.253733038902 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.284909248352 -0.955779790878 0.072881773114 -vn -0.644596397877 -0.704937696457 0.295902520418 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.245721325278 -0.497057318687 0.832198917866 -vn -0.428062021732 -0.867399811745 0.253733038902 -vn -0.644596397877 -0.704937696457 0.295902520418 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.644596397877 -0.704937696457 0.295902520418 -vn -0.644596397877 -0.704937696457 0.295902520418 -vn -0.805738449097 -0.547442436218 0.226036131382 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn -0.813467323780 -0.562431871891 -0.148126035929 -vn -0.813467323780 -0.562431871891 -0.148126035929 -vn -0.649726748466 -0.700721383095 -0.294694274664 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.801894485950 -0.583262145519 -0.129501029849 -vn -0.813467323780 -0.562431871891 -0.148126035929 -vn -0.813467323780 -0.562431871891 -0.148126035929 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.826602876186 -0.557232499123 -0.078864529729 -vn -0.801894485950 -0.583262145519 -0.129501029849 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.826602876186 -0.557232499123 -0.078864529729 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn -0.415000826120 -0.651071131229 -0.635516107082 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.216722741723 -0.871117889881 -0.440664112568 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.367894500494 -0.700198650360 -0.611862301826 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.367894500494 -0.700198650360 -0.611862301826 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.013535787351 -0.880698323250 -0.473484188318 -vn 0.367894500494 -0.700198650360 -0.611862301826 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn -0.465112328529 -0.877144038677 -0.119536064565 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.209421366453 -0.651745200157 0.728951931000 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.314107537270 -0.661226451397 0.681260585785 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.087140031159 -0.994907796383 -0.050647247583 -vn 0.010299650952 -0.900448083878 0.434841483831 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.805738449097 -0.547442436218 0.226036131382 -vn -0.829879522324 -0.541816174984 0.133173540235 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.805738449097 -0.547442436218 0.226036131382 -vn -0.845744073391 -0.529137194157 0.068780913949 -vn -0.519221127033 -0.425794452429 0.741018593311 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.640411615372 -0.260996520519 0.722325265408 -vn -0.829879522324 -0.541816174984 0.133173540235 -vn -0.845744073391 -0.529137194157 0.068780913949 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.487767368555 -0.313111811876 0.814888954163 -vn -0.574658870697 -0.143289893866 0.805751323700 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.559565782547 0.120767101645 0.819939911366 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.853377461433 -0.132773742080 0.504101276398 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.837346494198 -0.286848008633 0.465369820595 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.747882008553 -0.238024860620 0.619690835476 -vn -0.693059682846 -0.333859682083 0.638909995556 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn -0.458640992641 -0.736003398895 0.497943222523 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn -0.286890745163 -0.891448795795 0.350731760263 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.296743154526 -0.755670011044 0.583871841431 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn 0.296743154526 -0.755670011044 0.583871841431 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.173197016120 -0.846449792385 0.503513157368 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn 0.296743154526 -0.755670011044 0.583871841431 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn 0.036074623466 -0.999024033546 0.025488309562 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.296743154526 -0.755670011044 0.583871841431 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn 0.248923435807 -0.588823974133 0.768975555897 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.704343855381 -0.707138836384 -0.062083810568 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.636359751225 -0.637431919575 -0.434427082539 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.704343855381 -0.707138836384 -0.062083810568 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.617912590504 -0.773055791855 -0.143418341875 -vn -0.636359751225 -0.637431919575 -0.434427082539 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.704343855381 -0.707138836384 -0.062083810568 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.636359751225 -0.637431919575 -0.434427082539 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.684597432613 -0.679221808910 -0.264545053244 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.593118011951 -0.667791306973 -0.449739724398 -vn -0.679967224598 -0.681577086449 0.270365059376 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn -0.593118011951 -0.667791306973 -0.449739724398 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.652128934860 -0.607643485069 -0.453317999840 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn -0.018079442903 -0.557789921761 -0.829785227776 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn -0.016730729491 -0.462477594614 -0.886473119259 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn 0.829526424408 0.541623890400 0.136123031378 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.829526424408 0.541623890400 0.136123031378 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.757288575172 0.167512565851 -0.631231725216 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.782802700996 0.142475947738 -0.605739653111 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.829526424408 0.541623890400 0.136123031378 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.832457840443 0.231845602393 -0.503251016140 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.829526424408 0.541623890400 0.136123031378 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn 0.052795063704 -0.326312363148 0.943786501884 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.529069483280 -0.659794330597 0.533626258373 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.843217432499 -0.417677789927 -0.338422268629 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.950541198254 -0.306927442551 0.047613322735 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.937725424767 0.113176889718 -0.328423529863 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.948226809502 0.311464130878 0.062097102404 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.948226809502 0.311464130878 0.062097102404 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn 0.937725424767 0.113176889718 -0.328423529863 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.948226809502 0.311464130878 0.062097102404 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.937725424767 0.113176889718 -0.328423529863 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.868813395500 0.343230307102 -0.356869995594 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.652744770050 0.294556379318 -0.697969019413 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.167408272624 0.019269237295 -0.985699355602 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.403329372406 0.107619918883 -0.908704221249 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.937725424767 0.113176889718 -0.328423529863 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.105665363371 -0.365992993116 -0.924599349499 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.665814876556 0.035237163305 -0.745284438133 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.953373312950 -0.099214516580 -0.285018980503 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.105665363371 -0.365992993116 -0.924599349499 -vn 0.105665363371 -0.365992993116 -0.924599349499 -vn 0.589868128300 -0.175914064050 -0.788105249405 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn 0.236893758178 -0.226129606366 -0.944852769375 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.867434203625 -0.060777686536 -0.493825823069 -vn 0.997439682484 -0.069704242051 0.015980891883 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.471449375153 -0.100497379899 -0.876148223877 -vn 0.900293529034 0.234960332513 -0.366422206163 -vn 0.847567141056 0.260671019554 -0.462255924940 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn -0.249982208014 -0.445761620998 -0.859537959099 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn -0.681225955486 -0.643803775311 -0.348493665457 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.948226809502 0.311464130878 0.062097102404 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.951063156128 0.070982269943 0.300733000040 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.348919451237 0.080806083977 0.933662474155 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.679351329803 -0.176735669374 0.712212264538 -vn 0.365372657776 -0.213905602694 0.905951023102 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.348919451237 0.080806083977 0.933662474155 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.846369147301 0.254753082991 0.467718034983 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.601849079132 0.160555899143 0.782303988934 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.628393650055 0.178586021066 0.757118523121 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.877089083195 0.223065018654 0.425390124321 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.348919451237 0.080806083977 0.933662474155 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.368893653154 0.027525994927 0.929063916206 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn 0.067010790110 0.193234190345 0.978861629963 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.067010790110 0.193234190345 0.978861629963 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.194185197353 -0.183894842863 0.963573992252 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.256139546633 0.005911893677 0.966621756554 -vn 0.227151930332 0.082373514771 0.970369338989 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.709767401218 0.168196678162 0.684061467648 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.709767401218 0.168196678162 0.684061467648 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.836737871170 -0.128324687481 0.532355606556 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.709767401218 0.168196678162 0.684061467648 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.963498711586 0.237371236086 0.123794898391 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.319046318531 0.589759051800 0.741885244846 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.744825839996 0.492822498083 0.449844926596 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.760400354862 0.647973775864 0.043833035976 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.405096322298 0.863581359386 0.300206899643 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.379973024130 0.906289756298 -0.185092836618 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.682067394257 0.691617667675 -0.237590149045 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.709767401218 0.168196678162 0.684061467648 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.348638504744 -0.498758524656 0.793530762196 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.352969527245 -0.536707878113 0.766392350197 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.167523771524 -0.257773190737 0.951571762562 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.389436155558 -0.407782554626 0.825864911079 -vn 0.295748770237 -0.295451253653 0.908427894115 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn 0.555238842964 -0.456454634666 0.695240259171 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.862534463406 -0.244094222784 0.443229347467 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn 0.487581610680 -0.775879859924 0.400343090296 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn 0.343629240990 -0.755872249603 0.557293534279 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn 0.103528626263 -0.504750728607 0.857034742832 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.339029431343 0.284355103970 0.896772682667 -vn 0.067010790110 0.193234190345 0.978861629963 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn -0.469787657261 0.093729905784 0.877789437771 -vn -0.339029431343 0.284355103970 0.896772682667 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.946406006813 0.125533640385 0.297585338354 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.867050588131 -0.340229004622 0.363960862160 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.948614597321 -0.097721196711 0.300966590643 -vn 0.867050588131 -0.340229004622 0.363960862160 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.867050588131 -0.340229004622 0.363960862160 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn 0.580778717995 -0.219648644328 0.783868968487 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.448288679123 0.297675549984 0.842868030071 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.371716529131 -0.655101001263 0.657776176929 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.524495065212 -0.158350035548 0.836558520794 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn -0.492483049631 -0.606667697430 -0.624031007290 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.177026122808 -0.302125543356 -0.936686635017 -vn 0.057427704334 -0.414175599813 -0.908383548260 -vn -0.626207888126 -0.615593433380 -0.478443711996 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.574005007744 -0.568478524685 -0.589364349842 -vn -0.636359751225 -0.637431919575 -0.434427082539 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.705403685570 -0.708261907101 0.027761107311 -vn -0.704343855381 -0.707138836384 -0.062083810568 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.248923435807 -0.588823974133 0.768975555897 -vn 0.358009755611 -0.281399130821 0.890305280685 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn 0.134670898318 -0.693116486073 0.708133637905 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.430385142565 -0.512250244617 0.743214845657 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.831635236740 -0.554599404335 -0.028325177729 -vn -0.826602876186 -0.557232499123 -0.078864529729 -vn -0.826602876186 -0.557232499123 -0.078864529729 -vn -0.201462924480 -0.979488193989 -0.003945601173 -vn -0.165003806353 -0.884678483009 0.436024934053 -vn -0.417517900467 -0.904517471790 -0.086757712066 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn -0.649726748466 -0.700721383095 -0.294694274664 -vn -0.417517900467 -0.904517471790 -0.086757712066 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.375210881233 -0.925834357738 -0.045249074697 -vn -0.284909248352 -0.955779790878 0.072881773114 -vn -0.284909248352 -0.955779790878 0.072881773114 -vn -0.102928921580 -0.779785394669 0.617527663708 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.424531817436 -0.905397713184 0.005259912461 -vn -0.375210881233 -0.925834357738 -0.045249074697 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.268584340811 -0.695054829121 0.666904211044 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.424531817436 -0.905397713184 0.005259912461 -vn -0.444202423096 -0.895280957222 0.034002799541 -vn -0.424531817436 -0.905397713184 0.005259912461 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.964247941971 -0.187405601144 0.187363326550 -vn -0.444202423096 -0.895280957222 0.034002799541 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.706194460392 -0.044653762132 0.706608414650 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.964247941971 -0.187405601144 0.187363326550 -vn -0.726206362247 -0.341912865639 0.596422553062 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.964247941971 -0.187405601144 0.187363326550 -vn -0.974349737167 0.170101836324 0.147336244583 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.618783295155 -0.420402556658 -0.663603007793 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.985877811909 0.130831107497 -0.104537896812 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.618783295155 -0.420402556658 -0.663603007793 -vn -0.923730432987 -0.023954166099 -0.382293522358 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.478329122066 -0.718357503414 -0.505137383938 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.618783295155 -0.420402556658 -0.663603007793 -vn -0.613461971283 -0.711588799953 -0.342499285936 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.407492965460 -0.781558632851 -0.472351163626 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.702270984650 -0.386405408382 -0.597918331623 -vn -0.618783295155 -0.420402556658 -0.663603007793 -vn -0.477094113827 -0.544931411743 -0.689515054226 -vn -0.468870520592 -0.880146622658 0.074178211391 -vn -0.448362886906 -0.891751825809 0.061232645065 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.932627201080 -0.223822146654 -0.283037424088 -vn -0.468870520592 -0.880146622658 0.074178211391 -vn -0.444202423096 -0.895280957222 0.034002799541 -vn -0.964247941971 -0.187405601144 0.187363326550 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.981363117695 -0.161664009094 -0.103880442679 -vn -0.448362886906 -0.891751825809 0.061232645065 -vn -0.444202423096 -0.895280957222 0.034002799541 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.807064890862 -0.552481949329 -0.208350643516 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.868382692337 -0.492589503527 -0.057158134878 -vn -0.813132524490 -0.578888535500 -0.060856662691 -vn -0.807450592518 -0.554794609547 -0.200565382838 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.388772368431 0.459267735481 0.798704683781 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.388772368431 0.459267735481 0.798704683781 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.388772368431 0.459267735481 0.798704683781 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.549822390079 -0.063416108489 0.832870781422 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.477920562029 0.410443186760 0.776613354683 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.560062587261 -0.186729982495 0.807131826878 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.699011743069 -0.205537945032 0.684935569763 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.655620634556 0.408538043499 0.635026156902 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.655620634556 0.408538043499 0.635026156902 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.587647318840 0.285558760166 0.757051348686 -vn -0.718367397785 0.331862986088 0.611404359341 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.227597177029 0.752148985863 0.618442714214 -vn 0.133595734835 0.780554592609 0.610644459724 -vn 0.133595734835 0.780554592609 0.610644459724 -vn -0.087493650615 0.818190336227 0.568251192570 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.369171798229 0.707622945309 0.602479815483 -vn -0.087493650615 0.818190336227 0.568251192570 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.087493650615 0.818190336227 0.568251192570 -vn 0.133595734835 0.780554592609 0.610644459724 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.224660709500 0.880128324032 0.418212532997 -vn -0.087493650615 0.818190336227 0.568251192570 -vn -0.015306836925 0.932955980301 0.359664946795 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.087493650615 0.818190336227 0.568251192570 -vn -0.087493650615 0.818190336227 0.568251192570 -vn 0.224660709500 0.880128324032 0.418212532997 -vn -0.015306836925 0.932955980301 0.359664946795 -vn 0.224660709500 0.880128324032 0.418212532997 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.224660709500 0.880128324032 0.418212532997 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn -0.015306836925 0.932955980301 0.359664946795 -vn 0.224660709500 0.880128324032 0.418212532997 -vn 0.224660709500 0.880128324032 0.418212532997 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.731158316135 0.601349055767 -0.322159647942 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.569128751755 0.821337521076 0.038692541420 -vn 0.731158316135 0.601349055767 -0.322159647942 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.731158316135 0.601349055767 -0.322159647942 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn 0.337324202061 0.937716066837 -0.083071991801 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.535955786705 0.643807947636 -0.546134352684 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.052991427481 0.783603668213 -0.618996977806 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn 0.021702494472 0.953724086285 -0.299898922443 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn 0.153611332178 0.712468445301 -0.684684097767 -vn -0.052991427481 0.783603668213 -0.618996977806 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.121029257774 -0.027293033898 -0.992273628712 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.264695346355 0.355452001095 -0.896431982517 -vn 0.121029257774 -0.027293033898 -0.992273628712 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.349258631468 0.184622913599 -0.918658137321 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn 0.121029257774 -0.027293033898 -0.992273628712 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn 0.121029257774 -0.027293033898 -0.992273628712 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.349258631468 0.184622913599 -0.918658137321 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.048779781908 -0.453738659620 -0.889798700809 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.206205829978 -0.702378511429 -0.681280851364 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.182425379753 -0.612416327000 -0.769199073315 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.211010664701 -0.782586097717 -0.585690617561 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.351192057133 -0.756816744804 -0.551264524460 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.485435694456 -0.860150992870 -0.156500682235 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.487536758184 -0.706500649452 0.512995839119 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.410868376493 -0.855570673943 -0.314938157797 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.408026278019 -0.912963032722 -0.003611285938 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.514525294304 -0.731623828411 0.447202742100 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.101952873170 -0.909801363945 -0.402327060699 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.184225216508 -0.972478866577 -0.142639294267 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.674101769924 -0.578337550163 0.459469795227 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.585420906544 -0.788699448109 0.187711238861 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.938371777534 -0.282592266798 -0.198997437954 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.938371777534 -0.282592266798 -0.198997437954 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.719724059105 -0.685022294521 0.112879239023 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.858911693096 -0.182994604111 0.478313356638 -vn -0.807156682014 -0.517316579819 0.284396976233 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.859216272831 0.509000778198 -0.051629338413 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.655620634556 0.408538043499 0.635026156902 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.916460096836 0.020301461220 0.399610698223 -vn -0.859216272831 0.509000778198 -0.051629338413 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.220427542925 0.888312995434 0.402879327536 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.655620634556 0.408538043499 0.635026156902 -vn -0.671189248562 0.679710924625 0.295800745487 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.133595734835 0.780554592609 0.610644459724 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.227597177029 0.752148985863 0.618442714214 -vn -0.220427542925 0.888312995434 0.402879327536 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.133595734835 0.780554592609 0.610644459724 -vn 0.133595734835 0.780554592609 0.610644459724 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.383149057627 0.722431600094 0.575577437878 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.639663100243 0.702030539513 0.313024312258 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.731158316135 0.601349055767 -0.322159647942 -vn 0.831336021423 0.522877693176 -0.188359692693 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn 0.099108003080 -0.402736932039 -0.909934401512 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.708833932877 0.250561743975 -0.659373402596 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.492782562971 -0.063800342381 -0.867810368538 -vn 0.428585141897 -0.040443520993 -0.902595758438 -vn 0.535544693470 0.275787591934 -0.798206150532 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn 0.226864755154 -0.286887109280 -0.930713772774 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.194933831692 -0.583831667900 -0.788125216961 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.672055184841 -0.725156843662 -0.149964749813 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.511326909065 -0.718953311443 -0.470798164606 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.869419932365 0.084259010851 -0.486836105585 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.938371777534 -0.282592266798 -0.198997437954 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.892944872379 -0.385881245136 -0.231829911470 -vn -0.869419932365 0.084259010851 -0.486836105585 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.663576424122 0.494282841682 -0.561561048031 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.869419932365 0.084259010851 -0.486836105585 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.663576424122 0.494282841682 -0.561561048031 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.938371777534 -0.282592266798 -0.198997437954 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.815596401691 0.281203985214 -0.505694448948 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.949289202690 -0.309554010630 0.055011600256 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.637821733952 0.488461166620 -0.595473885536 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.686485171318 0.092494286597 -0.721237063408 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.663576424122 0.494282841682 -0.561561048031 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.637821733952 0.488461166620 -0.595473885536 -vn -0.821825385094 0.395930439234 -0.409685432911 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.686485171318 0.092494286597 -0.721237063408 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.671606421471 0.450448870659 -0.588252186775 -vn -0.869419932365 0.084259010851 -0.486836105585 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.637821733952 0.488461166620 -0.595473885536 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.490629106760 0.237269863486 -0.838442683220 -vn -0.721844017506 0.195682883263 -0.663814306259 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.545747458935 0.283221065998 -0.788635253906 -vn -0.686485171318 0.092494286597 -0.721237063408 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn 0.329149395227 -0.467716008425 -0.820306301117 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.686485171318 0.092494286597 -0.721237063408 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.329149395227 -0.467716008425 -0.820306301117 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.183073207736 -0.386103332043 -0.904106438160 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.329149395227 -0.467716008425 -0.820306301117 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.478759437799 -0.663799166679 -0.574595510960 -vn 0.449785411358 -0.576989471912 -0.681744992733 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.941307663918 0.022298494354 -0.336812436581 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn 0.329149395227 -0.467716008425 -0.820306301117 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.941307663918 0.022298494354 -0.336812436581 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.673811018467 -0.258386611938 -0.692253589630 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.325470060110 0.351604342461 -0.877749204636 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.502841472626 0.152358904481 -0.850844979286 -vn 0.325470060110 0.351604342461 -0.877749204636 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn 0.325470060110 0.351604342461 -0.877749204636 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn 0.083382159472 -0.056732505560 -0.994901418686 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.009588683955 0.158294707537 -0.987345337868 -vn -0.245750382543 0.123391754925 -0.961447477341 -vn -0.264142423868 -0.036704715341 -0.963784992695 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn -0.025633789599 0.161498978734 -0.986539900303 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn 0.082963459194 0.056872200221 -0.994928419590 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.225545078516 -0.033045161515 -0.973672151566 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.489780098200 -0.209073856473 -0.846406280994 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.922906994820 -0.375173211098 -0.086531668901 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.903819084167 -0.127298012376 -0.408541679382 -vn 0.590395748615 -0.458811551332 -0.664021730423 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.892143607140 -0.373993068933 -0.253394812346 -vn 0.922906994820 -0.375173211098 -0.086531668901 -vn 0.903819084167 -0.127298012376 -0.408541679382 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.545812249184 -0.730485975742 -0.410462200642 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.596728801727 -0.251290261745 -0.762081325054 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.527154386044 -0.303020209074 -0.793906211853 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.639553129673 0.242772787809 -0.729405999184 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.419903606176 0.134679481387 -0.897520124912 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.714447438717 0.682991147041 -0.151947423816 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.739929258823 0.304891109467 -0.599621653557 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.673065066338 0.472372084856 -0.569076478481 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.341846585274 0.284227907658 -0.895742952824 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.467311531305 0.620484113693 -0.629777252674 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn 0.259521037340 0.371823370457 -0.891289055347 -vn 0.325470060110 0.351604342461 -0.877749204636 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.392812073231 0.735419094563 -0.552138984203 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.640389323235 0.549518227577 -0.536592245102 -vn 0.941307663918 0.022298494354 -0.336812436581 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.941307663918 0.022298494354 -0.336812436581 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.965461432934 0.242496728897 0.095286831260 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.080189734697 0.994042217731 0.073822200298 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.080189734697 0.994042217731 0.073822200298 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.080189734697 0.994042217731 0.073822200298 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.132539749146 0.945317745209 0.298005938530 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.741731941700 0.501786887646 0.445020914078 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.132539749146 0.945317745209 0.298005938530 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.293927401304 0.907257616520 0.300816118717 -vn 0.360126763582 0.767400383949 0.530476570129 -vn 0.179308205843 0.861584722996 0.474889785051 -vn 0.012269859202 0.997172594070 0.074136719108 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn 0.033008869737 0.924311041832 -0.380209892988 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.033008869737 0.924311041832 -0.380209892988 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.273158043623 0.934740722179 -0.227254107594 -vn 0.080189734697 0.994042217731 0.073822200298 -vn 0.012269859202 0.997172594070 0.074136719108 -vn -0.204309478402 0.943660676479 0.260311752558 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.012269859202 0.997172594070 0.074136719108 -vn 0.132539749146 0.945317745209 0.298005938530 -vn -0.204309478402 0.943660676479 0.260311752558 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.785289108753 0.476154029369 -0.395725131035 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.437514305115 0.716767847538 -0.542977988720 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.785289108753 0.476154029369 -0.395725131035 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn 0.033008869737 0.924311041832 -0.380209892988 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.330062657595 0.835152924061 -0.439975202084 -vn -0.437514305115 0.716767847538 -0.542977988720 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.785289108753 0.476154029369 -0.395725131035 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.437514305115 0.716767847538 -0.542977988720 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.768199086189 0.245171323419 -0.591406106949 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.893771290779 0.433860689402 0.113744199276 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.677218377590 0.363926440477 -0.639478564262 -vn -0.893771290779 0.433860689402 0.113744199276 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.678252398968 -0.455122470856 -0.576920449734 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.411217749119 0.406187385321 0.816034138203 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.984319269657 -0.152193680406 0.089177437127 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.763610422611 -0.477208584547 0.434937983751 -vn -0.411217749119 0.406187385321 0.816034138203 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.594703376293 -0.397734880447 0.698666512966 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.263727605343 0.610503315926 0.746815502644 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.020327450708 0.685757458210 0.727546215057 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.132363051176 0.588919281960 0.797279179096 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.253069043159 0.614814400673 0.746966719627 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.660578846931 0.637442171574 0.396614521742 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.263727605343 0.610503315926 0.746815502644 -vn 0.660578846931 0.637442171574 0.396614521742 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.660578846931 0.637442171574 0.396614521742 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.112411670387 0.934677660465 0.337255597115 -vn 0.370204120874 0.758121490479 0.536843240261 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.542481601238 0.822646200657 0.170196890831 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.112411670387 0.934677660465 0.337255597115 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn -0.047376774251 0.985158741474 0.164977937937 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn -0.408763051033 0.858367443085 0.310029268265 -vn 0.112411670387 0.934677660465 0.337255597115 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn 0.267536640167 0.962516665459 -0.044562082738 -vn -0.047376774251 0.985158741474 0.164977937937 -vn -0.408763051033 0.858367443085 0.310029268265 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.286273032427 0.950327754021 -0.122167788446 -vn 0.536262750626 0.829411447048 0.156521141529 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn 0.193438187242 0.920349657536 -0.339909076691 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.518993139267 0.853364884853 -0.049137547612 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.277653843164 0.886079668999 -0.371175289154 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.679521858692 0.707831799984 -0.192935630679 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.872674405575 0.488287925720 -0.003779047867 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.580039501190 0.810850262642 -0.077948980033 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.538406550884 0.777243494987 0.325593203306 -vn 0.271541535854 0.878055930138 0.394059598446 -vn 0.318014234304 0.945945560932 -0.063670635223 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.219829887152 0.614850819111 0.757385849953 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.437919378281 0.522179126740 0.731816649437 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.029441878200 0.010064356960 0.999515831470 -vn -0.035715855658 0.282992452383 0.958456933498 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.029441878200 0.010064356960 0.999515831470 -vn -0.050312381238 0.219402447343 0.974336326122 -vn 0.075094878674 0.432029217482 0.898727715015 -vn 0.169710069895 0.354005783796 0.919716477394 -vn 0.169710069895 0.354005783796 0.919716477394 -vn -0.035715855658 0.282992452383 0.958456933498 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.035715855658 0.282992452383 0.958456933498 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn -0.085905134678 0.072124846280 0.993689239025 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.112385883927 -0.013062778860 0.993578791618 -vn -0.004842369352 -0.090278387070 0.995904803276 -vn 0.058739125729 0.414347767830 0.908221125603 -vn 0.075094878674 0.432029217482 0.898727715015 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.050312381238 0.219402447343 0.974336326122 -vn -0.085905134678 0.072124846280 0.993689239025 -vn 0.058739125729 0.414347767830 0.908221125603 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.035715855658 0.282992452383 0.958456933498 -vn -0.035715855658 0.282992452383 0.958456933498 -vn 0.029441878200 0.010064356960 0.999515831470 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.263161271811 0.103435955942 0.959190905094 -vn 0.029441878200 0.010064356960 0.999515831470 -vn 0.029441878200 0.010064356960 0.999515831470 -vn 0.135830074549 -0.343074232340 0.929435431957 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.135830074549 -0.343074232340 0.929435431957 -vn 0.029441878200 0.010064356960 0.999515831470 -vn 0.029441878200 0.010064356960 0.999515831470 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.135830074549 -0.343074232340 0.929435431957 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.518912613392 -0.007385498378 0.854795396328 -vn 0.831018924713 0.197237804532 0.520100772381 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.600048422813 -0.203632548451 0.773612141609 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.864150702953 0.126768007874 0.487004548311 -vn 0.818057775497 0.564850091934 0.108286269009 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.455256909132 0.154836475849 0.876793503761 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.453169703484 0.481266558170 0.750346422195 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn 0.135830074549 -0.343074232340 0.929435431957 -vn 0.208336263895 -0.278127074242 0.937678694725 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.265029519796 -0.254425883293 0.930068194866 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.755936682224 -0.078634925187 0.649904847145 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.823928177357 -0.558669090271 0.095032870770 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.600404083729 -0.799385666847 0.022305326536 -vn -0.528669953346 -0.833349883556 0.161356776953 -vn -0.569882392883 -0.781691014767 -0.253363668919 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.673517167568 -0.634575307369 0.379063099623 -vn -0.210569992661 -0.581241369247 0.786014497280 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.498376756907 -0.793012082577 0.350360482931 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.839950859547 0.531240165234 0.110753878951 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.839950859547 0.531240165234 0.110753878951 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.887668788433 0.052449654788 0.457485646009 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.944252073765 0.136449009180 0.299615949392 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.697707474232 0.421750694513 0.579077363014 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.727394163609 0.509469330311 0.459715932608 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.724714219570 0.435234844685 0.534190952778 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.768063783646 0.480185359716 0.423674464226 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.778490006924 0.600795805454 0.181652903557 -vn -0.659432172775 0.712318539619 0.240315511823 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.809710144997 0.519156396389 -0.273580133915 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.675162792206 0.732949554920 -0.083307720721 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.859216272831 0.509000778198 -0.051629338413 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.670200228691 0.606968700886 -0.427107304335 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.649198472500 0.702223300934 -0.292273372412 -vn -0.859216272831 0.509000778198 -0.051629338413 -vn -0.942147135735 0.238965108991 -0.235062733293 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.785289108753 0.476154029369 -0.395725131035 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.347453445196 0.917836844921 -0.191967740655 -vn -0.839950859547 0.531240165234 0.110753878951 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn -0.952616810799 -0.174849286675 -0.248895525932 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.859815657139 -0.502162754536 -0.092464320362 -vn -0.662463724613 -0.694501161575 -0.280731111765 -vn -0.788645088673 -0.409951418638 -0.458234369755 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn -0.178030878305 -0.583501636982 0.792357742786 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.158309683204 -0.178065404296 0.971200704575 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.184182494879 -0.197999864817 0.962742388248 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.441284209490 0.209403678775 0.872592866421 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.505942106247 0.540051519871 0.672582268715 -vn 0.660578846931 0.637442171574 0.396614521742 -vn 0.453169703484 0.481266558170 0.750346422195 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.512911856174 0.478652119637 0.712610423565 -vn 0.608070433140 0.728028059006 0.316584140062 -vn 0.660578846931 0.637442171574 0.396614521742 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.211216762662 -0.001241557067 0.977438449860 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.621104836464 -0.359912663698 0.696197986603 -vn -0.399748653173 -0.843661308289 0.358380526304 -vn -0.019606690854 -0.578665554523 0.815329253674 -vn -0.220427542925 0.888312995434 0.402879327536 -vn -0.204309478402 0.943660676479 0.260311752558 -vn 0.132539749146 0.945317745209 0.298005938530 -vn 0.132539749146 0.945317745209 0.298005938530 -vn 0.179308205843 0.861584722996 0.474889785051 -vn -0.220427542925 0.888312995434 0.402879327536 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn 0.925407707691 -0.005031303037 -0.378939688206 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.681297540665 -0.322972238064 -0.656903803349 -vn 0.652328729630 -0.167368456721 -0.739225983620 -vn 0.804847180843 0.152762740850 -0.573484599590 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.122597619891 -0.747514247894 -0.652834057808 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn -0.046912796795 -0.729911625385 -0.681929767132 -vn -0.620779097080 -0.438473641872 -0.649903237820 -vn -0.633255422115 -0.627966761589 -0.452377378941 -vn -0.220427542925 0.888312995434 0.402879327536 -vn -0.671189248562 0.679710924625 0.295800745487 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.204309478402 0.943660676479 0.260311752558 -vn -0.220427542925 0.888312995434 0.402879327536 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.390028774738 0.674186646938 0.627176105976 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.253249228001 0.791888356209 0.555677652359 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.340392619371 0.609669387341 0.715846419334 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.408763051033 0.858367443085 0.310029268265 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.573439121246 0.774328887463 0.267548710108 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.408763051033 0.858367443085 0.310029268265 -vn 0.112411670387 0.934677660465 0.337255597115 -vn -0.408763051033 0.858367443085 0.310029268265 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.387950241566 0.306505471468 0.869223237038 -vn 0.112411670387 0.934677660465 0.337255597115 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.880949735641 0.343913435936 0.325040131807 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.904745161533 0.424362540245 0.036777820438 -vn -0.971087098122 0.209993973374 -0.113544560969 -vn -0.949271559715 0.198618978262 0.243790954351 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.678752899170 0.244429960847 0.692494392395 -vn -0.576891720295 -0.135861605406 0.805442452431 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.193375051022 0.128279089928 0.972702741623 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.263161271811 0.103435955942 0.959190905094 -vn -0.577125847340 0.201278433204 0.791462421417 -vn -0.355250090361 -0.150804743171 0.922526597977 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn -0.441548943520 -0.284639060497 -0.850890815258 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.423912823200 -0.341173976660 -0.838986456394 -vn -0.240199193358 -0.029700530693 -0.970269143581 -vn -0.157724842429 -0.135115936399 -0.978195548058 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.062123641372 -0.885799050331 0.459892094135 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn -0.015824938193 -0.742880165577 0.669237315655 -vn 0.059519782662 -0.753729641438 0.654483735561 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.281399369240 -0.574816942215 0.768374800682 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.261888325214 -0.752726018429 0.604001641273 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.439621299505 -0.798366189003 0.411514908075 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.180149838328 -0.906361877918 0.382170349360 -vn -0.062123641372 -0.885799050331 0.459892094135 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.218373641372 -0.969438731670 0.111810170114 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn -0.218373641372 -0.969438731670 0.111810170114 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn -0.159160330892 -0.964936077595 0.208725690842 -vn 0.051451597363 -0.920796453953 0.386635005474 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.333943217993 -0.910978615284 0.242074161768 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.435610353947 -0.881730079651 0.181095689535 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.189692094922 -0.955165922642 0.227321282029 -vn -0.218373641372 -0.969438731670 0.111810170114 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.218373641372 -0.969438731670 0.111810170114 -vn -0.048545453697 -0.967491388321 0.248201131821 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.006470040418 -0.977761268616 0.209621205926 -vn -0.140495687723 -0.969917178154 0.198800444603 -vn 0.088904842734 -0.968297600746 0.233443140984 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn -0.066201880574 -0.954533576965 0.290659606457 -vn 0.244941085577 -0.836532413960 0.490119814873 -vn 0.308790862560 -0.745268821716 0.590950608253 -vn -0.085905134678 0.072124846280 0.993689239025 -vn 0.135852813721 -0.058212291449 0.989017367363 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.204170882702 0.248477354646 0.946875512600 -vn 0.058739125729 0.414347767830 0.908221125603 -vn -0.085905134678 0.072124846280 0.993689239025 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn -0.027110569179 -0.011936810799 -0.999561190605 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.019503040239 -0.172679528594 -0.984784960747 -vn 0.269662439823 -0.263775676489 -0.926123380661 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.583311021328 0.040439106524 0.811241567135 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.470662862062 -0.460005283356 0.752908766270 -vn -0.489858627319 -0.656127095222 0.574052095413 -vn -0.768608272076 -0.485239326954 0.416874170303 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn -0.347360849380 -0.510150015354 0.786821067333 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.135091811419 -0.937327325344 0.321197301149 -vn -0.028921009973 -0.899534881115 0.435890555382 -vn -0.075540587306 -0.408239841461 0.909743845463 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn 0.125578880310 -0.818379342556 -0.560789823532 -vn 0.310442298651 -0.483567774296 -0.818405628204 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn 0.057479105890 -0.991644442081 0.115487813950 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn 0.000114159702 -0.916326463223 -0.400432020426 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn -0.334424287081 -0.422505348921 -0.842407047749 -vn -0.136971995234 -0.962700605392 -0.233337238431 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.239525496960 -0.963812053204 -0.117020592093 -vn 0.252535343170 -0.921323895454 -0.295614898205 -vn 0.422853231430 -0.774249792099 -0.470884710550 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.147857800126 -0.099749833345 0.983965456486 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.544952988625 -0.759176731110 -0.355916976929 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn 0.173997506499 -0.880611777306 -0.440735518932 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.339754194021 -0.900075256824 -0.272821515799 -vn 0.544952988625 -0.759176731110 -0.355916976929 -vn 0.451726198196 -0.783965706825 -0.425841778517 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.315271288157 -0.518904209137 0.794570624828 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.054175578058 -0.901394307613 0.429596632719 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.260502964258 -0.838142514229 0.479223728180 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.572803854942 -0.352588474751 0.739984512329 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn -0.236986622214 0.101993352175 0.966144263744 -vn -0.147857800126 -0.099749833345 0.983965456486 -vn -0.147857800126 -0.099749833345 0.983965456486 -vn -0.107788465917 -0.386987119913 0.915763437748 -vn -0.034547798336 -0.278813153505 0.959723770618 -vn -0.735418856144 0.087225042284 0.671975374222 -vn -0.303747743368 -0.019316455349 0.952556669712 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.271746575832 -0.111890241504 0.955842256546 -vn -0.523545145988 0.010065250099 0.851938486099 -vn -0.735418856144 0.087225042284 0.671975374222 -vn 0.196217641234 0.079919569194 0.977298080921 -vn 0.154252499342 -0.124288119376 0.980182945728 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn -0.029381169006 -0.030018234625 0.999117434025 -vn 0.067010790110 0.193234190345 0.978861629963 -vn 0.196217641234 0.079919569194 0.977298080921 -vn -0.339029431343 0.284355103970 0.896772682667 -vn -0.590411484241 0.405412644148 0.697893142700 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.827181220055 -0.138448268175 0.544613003731 -vn -0.564102113247 0.009641343728 0.825648725033 -vn -0.339029431343 0.284355103970 0.896772682667 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.285008758307 -0.406475007534 -0.868071496487 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.355505973101 -0.143865868449 -0.923535645008 -vn 0.267445057631 -0.192847266793 -0.944077908993 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.516787350178 -0.512377858162 -0.685856938362 -vn 0.846682190895 0.200712263584 -0.492791861296 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn 0.759303212166 0.159380048513 -0.630917251110 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.484712213278 -0.006896703970 -0.874646484852 -vn 0.330834299326 -0.371046543121 -0.867682635784 -vn 0.816680550575 -0.101389199495 -0.568113625050 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn -0.806820988655 -0.332564800978 0.488303750753 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn 0.176717445254 -0.092994883657 0.979858636856 -vn -0.406228005886 -0.041485197842 0.912829577923 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn 0.145574510098 0.222784399986 -0.963937342167 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.209566771984 0.133428663015 -0.968647778034 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn -0.538782417774 -0.202660694718 -0.817705392838 -vn -0.069656006992 0.129356831312 -0.989148557186 -vn -0.631666839123 0.276833325624 -0.724127292633 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn 0.060981951654 -0.674715280533 0.735554575920 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.427608430386 -0.371340870857 0.824170470238 -vn 0.176717445254 -0.092994883657 0.979858636856 -vn -0.167441368103 -0.416238933802 0.893704950809 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.578013658524 0.042303718626 0.814929783344 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn 0.251756250858 -0.084170669317 0.964123487473 -vn -0.090002775192 -0.362050384283 0.927803337574 -vn 0.604858994484 -0.045539114624 0.795029461384 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn -0.447785437107 -0.638254702091 0.626194119453 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn -0.713085711002 -0.687005877495 0.139755845070 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn 0.800140321255 0.517762780190 0.302815377712 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.869676053524 0.481602787971 0.108269944787 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.008688014932 -0.035473790020 0.999332845211 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.367894500494 -0.700198650360 -0.611862301826 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.476563870907 -0.524323523045 -0.705671131611 -vn 0.421691358089 -0.146094635129 -0.894892573357 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.414077520370 -0.196655467153 -0.888744294643 -vn 0.105665363371 -0.365992993116 -0.924599349499 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn 0.384889483452 -0.623771905899 -0.680271029472 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn 0.316687047482 -0.489543884993 -0.812438368797 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn 0.028203584254 -0.615325748920 -0.787768244743 -vn -0.261296123266 -0.475798040628 -0.839845538139 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.087292499840 0.331456899643 0.939423382282 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.411596596241 0.156486570835 0.897830843925 -vn 0.505942106247 0.540051519871 0.672582268715 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn -0.016478214413 0.889357864857 -0.456914693117 -vn -0.437514305115 0.716767847538 -0.542977988720 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.047376774251 0.985158741474 0.164977937937 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.408763051033 0.858367443085 0.310029268265 -vn -0.047376774251 0.985158741474 0.164977937937 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.369516134262 0.895232856274 0.249030083418 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.369516134262 0.895232856274 0.249030083418 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.843002557755 0.537570774555 -0.019088163972 -vn -0.411975830793 0.620765864849 0.667027473450 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.369516134262 0.895232856274 0.249030083418 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.318106293678 0.808898806572 0.494460374117 -vn -0.139534607530 0.974310278893 0.176775634289 -vn -0.534430682659 0.838877797127 0.103285685182 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn -0.320949465036 0.043232060969 -0.946109116077 -vn 0.145574510098 0.222784399986 -0.963937342167 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.647573769093 0.433242529631 0.626856565475 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.232292786241 0.148990094662 0.961167037487 -vn -0.087292499840 0.331456899643 0.939423382282 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.059995397925 0.889339148998 -0.453295111656 -vn -0.356496870518 0.789703249931 -0.499278217554 -vn -0.086963027716 0.905135571957 -0.416133403778 -vn -0.534430682659 0.838877797127 0.103285685182 -vn -0.787490665913 0.559860408306 -0.257710725069 -vn -0.369516134262 0.895232856274 0.249030083418 -vn -0.387950241566 0.306505471468 0.869223237038 -vn -0.560695827007 0.078877851367 0.824256300926 -vn 0.132363051176 0.588919281960 0.797279179096 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.070092804730 0.916692733765 -0.393397301435 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.323057621717 -0.945225358009 -0.046719886363 -vn -0.375852286816 -0.924159824848 0.068291187286 -vn -0.375852286816 -0.924159824848 0.068291187286 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.394036650658 -0.827092707157 -0.400815129280 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.387950241566 0.306505471468 0.869223237038 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.447341591120 0.339131593704 0.827571868896 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.417517900467 -0.904517471790 -0.086757712066 -vn -0.417517900467 -0.904517471790 -0.086757712066 -vn -0.323057621717 -0.945225358009 -0.046719886363 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.308101117611 -0.933596551418 -0.182951375842 -vn -0.186435729265 -0.727443575859 -0.660354137421 -vn -0.354307264090 -0.814609885216 -0.459213525057 -vn -0.052991427481 0.783603668213 -0.618996977806 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.866396248341 0.034091062844 -0.498192071915 -vn -0.698746025562 -0.547520458698 -0.460407793522 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.866396248341 0.034091062844 -0.498192071915 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.866396248341 0.034091062844 -0.498192071915 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.825821697712 -0.556694149971 -0.090056210756 -vn -0.939724683762 -0.015627166256 0.341574728489 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.913984477520 0.205607891083 -0.349796772003 -vn 0.847370386124 0.434056639671 -0.305872917175 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.925316154957 0.358393728733 -0.123870611191 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.957574665546 0.276369482279 -0.081673927605 -vn 0.882223665714 0.299788743258 -0.363053917885 -vn 0.854635655880 0.431288868189 -0.289115548134 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.434012651443 -0.235733553767 0.869518637657 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn 0.166393876076 -0.774949491024 0.609726488590 -vn 0.952093958855 -0.222135722637 0.210173279047 -vn 0.894741058350 0.330808013678 0.300007522106 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.843217432499 -0.417677789927 -0.338422268629 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.950541198254 -0.306927442551 0.047613322735 -vn 0.843217432499 -0.417677789927 -0.338422268629 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.902191579342 0.340740293264 -0.264473766088 -vn 0.881415486336 0.472221165895 0.010672469623 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.975543797016 -0.094598576427 0.198407247663 -vn 0.992158353329 0.027582362294 -0.121905915439 -vn 0.964519500732 0.260759145021 0.041313480586 -vn 0.339722335339 -0.772119879723 0.537047088146 -vn 0.606853306293 -0.574624598026 0.549122631550 -vn 0.472912132740 -0.407679647207 0.781121909618 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.516383767128 0.829848945141 -0.211420193315 -vn 0.910326242447 0.412144482136 0.037987414747 -vn 0.614409804344 0.747312724590 0.253030240536 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn 0.408882349730 0.910067975521 -0.067760296166 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.452918559313 0.890388429165 -0.045532457530 -vn 0.326792329550 0.941127479076 0.086521036923 -vn 0.366194635630 0.921540796757 -0.129089444876 -vn -0.253069043159 0.614814400673 0.746966719627 -vn 0.132363051176 0.588919281960 0.797279179096 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.647573769093 0.433242529631 0.626856565475 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.647573769093 0.433242529631 0.626856565475 -vn -0.020327450708 0.685757458210 0.727546215057 -vn -0.253069043159 0.614814400673 0.746966719627 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.411217749119 0.406187385321 0.816034138203 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.503477275372 0.329060941935 0.798892676830 -vn -0.461934238672 0.250010490417 0.850947439671 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.271056413651 0.279122084379 0.921205341816 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.370860576630 0.350416839123 0.860040962696 -vn -0.411217749119 0.406187385321 0.816034138203 -vn -0.283286154270 0.279502421618 0.917402505875 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.502772688866 0.431714475155 0.748894035816 -vn -0.457814812660 0.521315336227 0.720163822174 -vn -0.457814812660 0.521315336227 0.720163822174 -vn 0.132363051176 0.588919281960 0.797279179096 -vn -0.560695827007 0.078877851367 0.824256300926 -vn -0.736113429070 0.674601316452 -0.055227596313 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.582481026649 0.595602929592 -0.553148269653 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.421104758978 0.313611149788 -0.851069211960 -vn -0.349258631468 0.184622913599 -0.918658137321 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.907230198383 0.196332752705 -0.372003853321 -vn -0.349258631468 0.184622913599 -0.918658137321 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.498195052147 -0.115418910980 -0.859348714352 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.866396248341 0.034091062844 -0.498192071915 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.811541140079 0.126786649227 -0.570373654366 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.900458395481 0.141342937946 -0.411335438490 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.774951875210 0.023437473923 -0.631585538387 -vn -0.889064431190 0.043844252825 -0.455677688122 -vn -0.616255939007 -0.460302233696 -0.639023005962 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.204309478402 0.943660676479 0.260311752558 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.508762955666 0.860877335072 -0.007104512304 -vn -0.446603745222 0.894501268864 0.020310429856 -vn -0.239098101854 0.963960468769 -0.116671897471 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn -0.680015206337 -0.641033887863 -0.355885982513 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.749990403652 -0.660737752914 -0.030658992007 -vn -0.209138780832 -0.976161360741 0.058051183820 -vn -0.731709063053 -0.655248463154 -0.187753319740 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.903819084167 -0.127298012376 -0.408541679382 -vn 0.922906994820 -0.375173211098 -0.086531668901 -vn 0.922906994820 -0.375173211098 -0.086531668901 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.326625823975 -0.538841307163 -0.776508629322 -vn 0.355505973101 -0.143865868449 -0.923535645008 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.326625823975 -0.538841307163 -0.776508629322 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.529980838299 -0.488053917885 -0.693486630917 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.226000085473 -0.775390207767 -0.589655816555 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.601899981499 -0.650427222252 -0.463315069675 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.705796301365 -0.553804755211 -0.441759973764 -vn 0.573986172676 -0.693480610847 -0.435458958149 -vn 0.451178431511 -0.619352042675 -0.642527103424 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.389436155558 -0.407782554626 0.825864911079 -vn 0.169235989451 -0.360193341970 0.917398452759 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.539327800274 -0.415947258472 0.732197642326 -vn 0.274402290583 -0.560791194439 0.781163632870 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.830068528652 -0.119470968843 0.544713616371 -vn 0.160938441753 -0.757669389248 0.632483959198 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn -0.098821595311 -0.750114619732 0.653882503510 -vn -0.051150433719 -0.430328905582 0.901221752167 -vn -0.276620745659 -0.374111890793 0.885167360306 -vn -0.590411484241 0.405412644148 0.697893142700 -vn -0.650010585785 0.251060932875 0.717254936695 -vn -0.735418856144 0.087225042284 0.671975374222 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.924569845200 0.120250284672 0.361538976431 -vn 0.273815929890 -0.854739964008 0.440958529711 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.675949811935 -0.481971591711 0.557490110397 -vn 0.867050588131 -0.340229004622 0.363960862160 -vn 0.970553517342 -0.047824073583 0.236090585589 -vn 0.879921913147 0.474158734083 -0.030182171613 -vn 0.904111444950 -0.175178438425 0.389737099409 -vn 0.881415486336 0.472221165895 0.010672469623 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn 0.248923435807 -0.588823974133 0.768975555897 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.242862716317 -0.841675460339 0.482286363840 -vn -0.621428489685 -0.689511239529 0.372022658587 -vn -0.267561286688 -0.597799122334 0.755676627159 -vn 0.223833784461 -0.794061601162 -0.565123498440 -vn -0.240883529186 -0.697934210300 -0.674435257912 -vn -0.098200760782 -0.989465296268 -0.106372416019 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn 0.031475782394 -0.144916534424 -0.988943099976 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn 0.094840519130 -0.561432182789 -0.822070062160 -vn 0.065739303827 -0.746938109398 -0.661635696888 -vn 0.147203862667 -0.777868270874 -0.610943555832 -vn 0.075115866959 -0.905055582523 -0.418607264757 -vn -0.534120261669 -0.186229407787 -0.824641823769 -vn -0.307740598917 -0.471744924784 -0.826288342476 -vn -0.631180763245 -0.548184394836 -0.548730134964 -vn 0.938025355339 0.000610377872 0.346566140652 -vn 0.546886205673 -0.028232229874 0.836730778217 -vn 0.939568758011 0.305846303701 0.153846189380 -vn 0.950614035130 -0.258485972881 -0.171807885170 -vn 0.964954078197 -0.247261434793 -0.087894394994 -vn 0.990055978298 0.139069169760 -0.021188542247 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.631175696850 0.324559658766 0.704470157623 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.182598531246 0.715381562710 0.674453139305 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.631175696850 0.324559658766 0.704470157623 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.074762940407 0.203222677112 0.976274073124 -vn 0.485629320145 0.230432748795 0.843246638775 -vn 0.485629320145 0.230432748795 0.843246638775 -vn -0.182598531246 0.715381562710 0.674453139305 -vn -0.321418374777 0.367474496365 0.872727155685 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.074762940407 0.203222677112 0.976274073124 -vn 0.283379137516 0.492464959621 0.822906136513 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.485629320145 0.230432748795 0.843246638775 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn 0.373320966959 0.424053817987 0.825111985207 -vn 0.373320966959 0.424053817987 0.825111985207 -vn 0.283379137516 0.492464959621 0.822906136513 -vn -0.074762940407 0.203222677112 0.976274073124 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn 0.204573646188 -0.914748191833 0.348404049873 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.204573646188 -0.914748191833 0.348404049873 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.131599500775 0.737507283688 0.662393093109 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.131599500775 0.737507283688 0.662393093109 -vn -0.141477271914 0.989577353001 0.026847619563 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.083596318960 0.705422341824 0.703840136528 -vn -0.109330229461 0.941514909267 0.318742185831 -vn 0.421047270298 0.334669202566 0.843039572239 -vn 0.421047270298 0.334669202566 0.843039572239 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.083596318960 0.705422341824 0.703840136528 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.109330229461 0.941514909267 0.318742185831 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.083596318960 0.705422341824 0.703840136528 -vn -0.242646485567 0.968250751495 0.060110073537 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn 0.448826909065 0.613783061504 0.649480342865 -vn 0.131599500775 0.737507283688 0.662393093109 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.448826909065 0.613783061504 0.649480342865 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn -0.141477271914 0.989577353001 0.026847619563 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.348152428865 0.870052337646 -0.348996847868 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn -0.141477271914 0.989577353001 0.026847619563 -vn 0.131599500775 0.737507283688 0.662393093109 -vn 0.131599500775 0.737507283688 0.662393093109 -vn 0.448826909065 0.613783061504 0.649480342865 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.448826909065 0.613783061504 0.649480342865 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.714554429054 0.667727410793 0.208691373467 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.714554429054 0.667727410793 0.208691373467 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.714554429054 0.667727410793 0.208691373467 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.204573646188 -0.914748191833 0.348404049873 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.204573646188 -0.914748191833 0.348404049873 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.880636394024 0.473645627499 0.011806108057 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.943861186504 -0.260932624340 -0.202583923936 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.878691315651 0.477109283209 -0.016380488873 -vn 0.943861186504 -0.260932624340 -0.202583923936 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.188408941031 0.017793446779 0.981929481030 -vn 0.119672834873 0.101008400321 0.987661719322 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.306055247784 -0.144851490855 0.940929472446 -vn 0.188408941031 0.017793446779 0.981929481030 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.119672834873 0.101008400321 0.987661719322 -vn 0.188408941031 0.017793446779 0.981929481030 -vn 0.188408941031 0.017793446779 0.981929481030 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.461953103542 0.098662018776 0.881399512291 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.701901853085 0.564634799957 0.434190422297 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.461953103542 0.098662018776 0.881399512291 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.354700446129 0.034820698202 0.934331357479 -vn 0.119672834873 0.101008400321 0.987661719322 -vn 0.119672834873 0.101008400321 0.987661719322 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.306055247784 -0.144851490855 0.940929472446 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.188408941031 0.017793446779 0.981929481030 -vn -0.306055247784 -0.144851490855 0.940929472446 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.188408941031 0.017793446779 0.981929481030 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.314111679792 0.058616135269 0.947574794292 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.314111679792 0.058616135269 0.947574794292 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn 0.027125038207 0.236739024520 0.971194565296 -vn -0.206207558513 0.036233242601 0.977837204933 -vn -0.206207558513 0.036233242601 0.977837204933 -vn 0.027125038207 0.236739024520 0.971194565296 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn -0.206207558513 0.036233242601 0.977837204933 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.714853286743 -0.650683462620 0.256116777658 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn 0.714853286743 -0.650683462620 0.256116777658 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.911755323410 -0.257045537233 0.320358961821 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.636651694775 -0.563084363937 0.526887714863 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.701901853085 0.564634799957 0.434190422297 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.701901853085 0.564634799957 0.434190422297 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.701901853085 0.564634799957 0.434190422297 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.092231564224 -0.556987345219 0.825383841991 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.092231564224 -0.556987345219 0.825383841991 -vn 0.713554799557 -0.435151606798 0.549074351788 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.614214539528 0.333024352789 -0.715426623821 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn -0.192956984043 -0.339222282171 0.920704007149 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.349309086800 -0.879998743534 0.321846753359 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.022242724895 -0.434845775366 0.900230228901 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn -0.334633797407 0.108778014779 0.936048924923 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn 0.369695425034 0.844070196152 -0.388420820236 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.334633797407 0.108778014779 0.936048924923 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn -0.202762871981 0.044235628098 0.978228211403 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.619381129742 -0.464946269989 0.632607281208 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.557868421078 -0.657093167305 0.506962835789 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.385458141565 -0.653668999672 0.651259422302 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.385458141565 -0.653668999672 0.651259422302 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.557868421078 -0.657093167305 0.506962835789 -vn -0.202524766326 -0.771763801575 0.602797091007 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.022242724895 -0.434845775366 0.900230228901 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.364636987448 -0.726501166821 0.582439601421 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.364636987448 -0.726501166821 0.582439601421 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.786651909351 -0.153091132641 0.598115265369 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.227208584547 -0.580720245838 0.781754612923 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.987220883369 0.152396500111 0.046585436910 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.203795030713 0.978946566582 -0.011453438550 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.303327411413 0.940892398357 0.150711387396 -vn -0.290093451738 0.940565109253 0.176587253809 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn 0.203795030713 0.978946566582 -0.011453438550 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.506033003330 0.457370489836 0.731261134148 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.290093451738 0.940565109253 0.176587253809 -vn 0.303327411413 0.940892398357 0.150711387396 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.587254881859 0.526393055916 -0.614851236343 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.631274282932 0.601515531540 -0.489562898874 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.840556323528 0.541296303272 0.021526474506 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn 0.197829738259 -0.940914392471 -0.274851888418 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.840556323528 0.541296303272 0.021526474506 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.197829738259 -0.940914392471 -0.274851888418 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.581949949265 -0.764983475208 0.275924861431 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn 0.524528563023 -0.200460836291 -0.827457070351 -vn 0.197829738259 -0.940914392471 -0.274851888418 -vn -0.769450485706 -0.472503662109 -0.429751396179 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.178706854582 -0.840725898743 -0.511120200157 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn -0.883379578590 0.453356623650 0.118778400123 -vn -0.672420799732 0.229601070285 0.703657329082 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn -0.672420799732 0.229601070285 0.703657329082 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.596639752388 -0.721411108971 0.351549416780 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.645085215569 0.203440889716 0.736530244350 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn -0.645085215569 0.203440889716 0.736530244350 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.242103204131 -0.685089111328 -0.687050879002 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.645085215569 0.203440889716 0.736530244350 -vn -0.645085215569 0.203440889716 0.736530244350 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.275668442249 0.308932840824 -0.910256803036 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.275668442249 0.308932840824 -0.910256803036 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn -0.242103204131 -0.685089111328 -0.687050879002 -vn -0.971202492714 0.043587461114 -0.234234675765 -vn -0.242103204131 -0.685089111328 -0.687050879002 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.378839254379 -0.581993818283 -0.719558179379 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn 0.223080739379 -0.690481960773 -0.688091278076 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.290093451738 0.940565109253 0.176587253809 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.583150744438 0.262040317059 -0.768940865993 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.665769279003 -0.679318904877 -0.308669835329 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.290766537189 -0.504648089409 -0.812886893749 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.290766537189 -0.504648089409 -0.812886893749 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.463207036257 -0.877379715443 -0.125076130033 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.463207036257 -0.877379715443 -0.125076130033 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.223080739379 -0.690481960773 -0.688091278076 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.463207036257 -0.877379715443 -0.125076130033 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.463207036257 -0.877379715443 -0.125076130033 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.223080739379 -0.690481960773 -0.688091278076 -vn 0.244689688087 -0.624031841755 -0.742099225521 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn 0.407061606646 0.429488331079 -0.806126892567 -vn 0.407061606646 0.429488331079 -0.806126892567 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.555992066860 -0.656022727489 -0.510398864746 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.227712795138 -0.968599319458 0.099810823798 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.426863461733 -0.857933163643 -0.285898983479 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.227712795138 -0.968599319458 0.099810823798 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn -0.096150808036 0.063654631376 0.993329286575 -vn -0.214608341455 0.516929745674 0.828689873219 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn -0.096150808036 0.063654631376 0.993329286575 -vn -0.096150808036 0.063654631376 0.993329286575 -vn 0.254643589258 0.460702836514 0.850240886211 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.054755549878 0.784012436867 0.618325412273 -vn -0.214608341455 0.516929745674 0.828689873219 -vn -0.096150808036 0.063654631376 0.993329286575 -vn -0.096150808036 0.063654631376 0.993329286575 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn 0.363941878080 0.109785512090 0.924928903580 -vn 0.363941878080 0.109785512090 0.924928903580 -vn 0.254643589258 0.460702836514 0.850240886211 -vn -0.096150808036 0.063654631376 0.993329286575 -vn 0.254643589258 0.460702836514 0.850240886211 -vn 0.363941878080 0.109785512090 0.924928903580 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.254643589258 0.460702836514 0.850240886211 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn 0.317261904478 0.790387809277 0.524053394794 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.534159302711 0.839426577091 0.100184306502 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.363941878080 0.109785512090 0.924928903580 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.046635005623 0.905606448650 0.421547323465 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.046635005623 0.905606448650 0.421547323465 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.317261904478 0.790387809277 0.524053394794 -vn 0.534159302711 0.839426577091 0.100184306502 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.792448759079 0.608949303627 0.034723557532 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.534159302711 0.839426577091 0.100184306502 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.516634881496 0.036752458662 0.855416655540 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn 0.792448759079 0.608949303627 0.034723557532 -vn 0.516634881496 0.036752458662 0.855416655540 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.729452431202 -0.625799298286 0.276178151369 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.925209879875 -0.269885331392 0.266736835241 -vn 0.729452431202 -0.625799298286 0.276178151369 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.153454333544 -0.469212532043 0.869650125504 -vn 0.792448759079 0.608949303627 0.034723557532 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.792448759079 0.608949303627 0.034723557532 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.568980515003 0.064607515931 -0.819809138775 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.102916389704 -0.977832078934 -0.182353064418 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.102916389704 -0.977832078934 -0.182353064418 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.211206659675 -0.288128644228 -0.934009432793 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.211206659675 -0.288128644228 -0.934009432793 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn -0.153387278318 -0.832074820995 -0.533032655716 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn 0.729452431202 -0.625799298286 0.276178151369 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.297565698624 -0.840286493301 -0.453181296587 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.297565698624 -0.840286493301 -0.453181296587 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.568980515003 0.064607515931 -0.819809138775 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.688086986542 0.005382491741 -0.725608229637 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.688086986542 0.005382491741 -0.725608229637 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.172254130244 -0.362085193396 -0.916091084480 -vn 0.291244596243 -0.020018570125 -0.956439137459 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.838846743107 -0.329071611166 -0.433645069599 -vn 0.466906398535 -0.236898526549 -0.851984441280 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.688086986542 0.005382491741 -0.725608229637 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.919350385666 0.165112033486 -0.357117384672 -vn 0.592370748520 0.167298868299 -0.788103997707 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.688086986542 0.005382491741 -0.725608229637 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.730803132057 -0.124241836369 -0.671186089516 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.894795954227 -0.208162710071 -0.394979119301 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.778905391693 -0.485527932644 -0.396949648857 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.634775996208 -0.760179579258 0.138515204191 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.582459867001 -0.756581723690 -0.297194570303 -vn 0.634775996208 -0.760179579258 0.138515204191 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.634775996208 -0.760179579258 0.138515204191 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.656224668026 -0.205502897501 0.726042509079 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.398407310247 -0.854170084000 0.334163308144 -vn 0.656224668026 -0.205502897501 0.726042509079 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.656224668026 -0.205502897501 0.726042509079 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.487584769726 0.575793743134 0.656294643879 -vn -0.004625395872 0.025178126991 0.999672293663 -vn -0.035672992468 0.077534280717 0.996351301670 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.288535594940 0.014455531724 0.957360029221 -vn -0.004625395872 0.025178126991 0.999672293663 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.232914984226 0.237921655178 0.942944288254 -vn -0.035672992468 0.077534280717 0.996351301670 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn -0.035672992468 0.077534280717 0.996351301670 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn 0.410304158926 -0.774405479431 0.481608390808 -vn 0.552535414696 -0.620800912380 0.556157231331 -vn 0.552535414696 -0.620800912380 0.556157231331 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn 0.283917009830 -0.872002422810 0.398751676083 -vn 0.283917009830 -0.872002422810 0.398751676083 -vn 0.410304158926 -0.774405479431 0.481608390808 -vn 0.069301426411 -0.423665106297 0.903163969517 -vn 0.283917009830 -0.872002422810 0.398751676083 -vn -0.175124287605 -0.611406266689 0.771695435047 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn 0.135520935059 -0.885927915573 0.443582922220 -vn 0.283917009830 -0.872002422810 0.398751676083 -vn 0.528594553471 -0.735937774181 0.423064291477 -vn 0.465447813272 -0.842818975449 0.270211994648 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.528594553471 -0.735937774181 0.423064291477 -vn 0.528594553471 -0.735937774181 0.423064291477 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.275815635920 -0.256258785725 0.926421701908 -vn 0.552535414696 -0.620800912380 0.556157231331 -vn 0.528594553471 -0.735937774181 0.423064291477 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.232914984226 0.237921655178 0.942944288254 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.459898144007 -0.231092125177 0.857373952866 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.487584769726 0.575793743134 0.656294643879 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.834144592285 -0.284741282463 0.472361266613 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.319824814796 -0.932368159294 0.168527901173 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.748732030392 -0.637023806572 -0.183305755258 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.570902347565 -0.647958517075 -0.504202604294 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.663026869297 -0.326852053404 -0.673470914364 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.810734689236 -0.513062596321 -0.281915038824 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.685769379139 -0.187744989991 -0.703187167645 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.426863461733 -0.857933163643 -0.285898983479 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.624556243420 -0.611509680748 -0.485783308744 -vn 0.426863461733 -0.857933163643 -0.285898983479 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.455409258604 -0.854054450989 0.251383066177 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.866467535496 -0.497229367495 0.044686846435 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.426863461733 -0.857933163643 -0.285898983479 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn 0.266588270664 -0.862479686737 -0.430185347795 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.523924887180 0.036490101367 -0.850982487202 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.686465680599 0.170581594110 -0.706871092319 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.950546622276 0.019457427785 -0.309971868992 -vn 0.912563502789 -0.373714834452 0.166027501225 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.587922394276 -0.743195712566 0.319385975599 -vn 0.643816113472 -0.739150702953 0.197881504893 -vn 0.643816113472 -0.739150702953 0.197881504893 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.453915089369 -0.848896443844 0.270806014538 -vn 0.453915089369 -0.848896443844 0.270806014538 -vn 0.587922394276 -0.743195712566 0.319385975599 -vn 0.956435620785 -0.162598088384 0.242472261190 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.694850206375 -0.184983968735 0.694956183434 -vn 0.465447813272 -0.842818975449 0.270211994648 -vn 0.465447813272 -0.842818975449 0.270211994648 -vn 0.453915089369 -0.848896443844 0.270806014538 -vn 0.867994189262 -0.239089637995 0.435226678848 -vn 0.643816113472 -0.739150702953 0.197881504893 -vn 0.560174226761 -0.823622524738 0.088604912162 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.980162084103 -0.166142880917 -0.108068868518 -vn 0.643816113472 -0.739150702953 0.197881504893 -vn 0.560174226761 -0.823622524738 0.088604912162 -vn 0.590715467930 -0.806350469589 -0.029225697741 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.864660620689 -0.347837835550 -0.362451195717 -vn 0.560174226761 -0.823622524738 0.088604912162 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.590715467930 -0.806350469589 -0.029225697741 -vn 0.520828485489 -0.852863729000 -0.036893356591 -vn 0.520828485489 -0.852863729000 -0.036893356591 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.694869339466 -0.418429195881 -0.584870636463 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.274543195963 -0.224540710449 -0.934990644455 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.193443819880 -0.738571822643 -0.645825982094 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.193443819880 -0.738571822643 -0.645825982094 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn 0.042917381972 -0.468026548624 -0.882671654224 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn -0.063990190625 -0.437220007181 -0.897075176239 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.409019470215 -0.695324003696 -0.590954840183 -vn 0.499595552683 -0.467188239098 -0.729478895664 -vn 0.499595552683 -0.467188239098 -0.729478895664 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.193443819880 -0.738571822643 -0.645825982094 -vn 0.394156038761 -0.893297255039 -0.216011554003 -vn 0.394156038761 -0.893297255039 -0.216011554003 -vn 0.409019470215 -0.695324003696 -0.590954840183 -vn 0.188240170479 -0.569500625134 -0.800146639347 -vn 0.394156038761 -0.893297255039 -0.216011554003 -vn 0.193443819880 -0.738571822643 -0.645825982094 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.427592217922 -0.637055397034 -0.641346454620 -vn 0.520828485489 -0.852863729000 -0.036893356591 -vn 0.394156038761 -0.893297255039 -0.216011554003 -vn 0.749511778355 -0.659742295742 0.054518498480 -vn 0.486455798149 -0.718520760536 0.497080177069 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.749511778355 -0.659742295742 0.054518498480 -vn 0.749511778355 -0.659742295742 0.054518498480 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.499595552683 -0.467188239098 -0.729478895664 -vn 0.749511778355 -0.659742295742 0.054518498480 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.486455798149 -0.718520760536 0.497080177069 -vn 0.554613232613 -0.706817686558 0.439104676247 -vn 0.554613232613 -0.706817686558 0.439104676247 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.861029863358 -0.429624319077 -0.272122204304 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.768759310246 -0.630120694637 -0.109348192811 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn 0.290766537189 -0.504648089409 -0.812886893749 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.539959251881 -0.597649097443 -0.592671513557 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn -0.161456078291 -0.961875319481 -0.220743775368 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.290766537189 -0.504648089409 -0.812886893749 -vn -0.079212263227 -0.595626950264 -0.799345970154 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.254020094872 -0.811730861664 -0.525896191597 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.416124105453 -0.908334791660 -0.042054574937 -vn -0.393807053566 -0.888457477093 0.235710248351 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.327255338430 -0.944576919079 0.026045057923 -vn -0.366184175014 -0.881492078304 0.298128902912 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.601008892059 -0.672716557980 0.431556135416 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.601008892059 -0.672716557980 0.431556135416 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.729899942875 -0.569648981094 0.377817600965 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.601008892059 -0.672716557980 0.431556135416 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.628532528877 -0.762571930885 0.153071716428 -vn -0.471601903439 -0.794673979282 0.382210522890 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.519463300705 -0.846371293068 -0.117530994117 -vn -0.291796803474 -0.953618049622 0.073941029608 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn 0.160140171647 -0.822294294834 -0.546065270901 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.192814096808 -0.594672739506 -0.780504345894 -vn -0.375377774239 -0.755562245846 -0.536858677864 -vn -0.070841103792 -0.960352778435 -0.269636899233 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.397055238485 -0.917237818241 0.031967546791 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.508039653301 -0.692776381969 0.511816978455 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.242176041007 -0.913083732128 0.328068315983 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.156231343746 -0.785838067532 0.598372995853 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.508039653301 -0.692776381969 0.511816978455 -vn 0.513081073761 -0.750334918499 0.416827619076 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.426190882921 -0.692445337772 0.582134664059 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.508039653301 -0.692776381969 0.511816978455 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.441990941763 -0.709040522575 0.549459338188 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn 0.426190882921 -0.692445337772 0.582134664059 -vn 0.417561560869 -0.689145386219 0.592216968536 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.494620203972 -0.327400892973 0.805083572865 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.426190882921 -0.692445337772 0.582134664059 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.926395535469 0.212197542191 0.311068296432 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.926395535469 0.212197542191 0.311068296432 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.494620203972 -0.327400892973 0.805083572865 -vn -0.209151834249 -0.533267676830 0.819683551788 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.840556323528 0.541296303272 0.021526474506 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.494620203972 -0.327400892973 0.805083572865 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.926395535469 0.212197542191 0.311068296432 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn -0.443723082542 0.653885424137 -0.612816214561 -vn -0.840556323528 0.541296303272 0.021526474506 -vn -0.842809736729 0.524093627930 0.122464656830 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.926395535469 0.212197542191 0.311068296432 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.750016629696 0.569118261337 -0.337015509605 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.275668442249 0.308932840824 -0.910256803036 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn -0.275668442249 0.308932840824 -0.910256803036 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.117609016597 -0.507979869843 -0.853302180767 -vn 0.330104917288 -0.361622065306 -0.871929049492 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.595358073711 -0.784905374050 -0.171674996614 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.596639752388 -0.721411108971 0.351549416780 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.651124894619 -0.758814871311 0.015374669805 -vn 0.596639752388 -0.721411108971 0.351549416780 -vn 0.239769145846 -0.773571789265 0.586598157883 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.711502373219 -0.696542620659 -0.092697240412 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.711502373219 -0.696542620659 -0.092697240412 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.596639752388 -0.721411108971 0.351549416780 -vn 0.679681301117 -0.729310512543 0.078354842961 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.711502373219 -0.696542620659 -0.092697240412 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.585008740425 -0.782305777073 0.213921636343 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.641663014889 -0.747617542744 0.171279326081 -vn 0.698903441429 -0.711515784264 0.072658590972 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.711502373219 -0.696542620659 -0.092697240412 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.662599146366 -0.519838631153 -0.539193987846 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.662599146366 -0.519838631153 -0.539193987846 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.665769279003 -0.679318904877 -0.308669835329 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.665769279003 -0.679318904877 -0.308669835329 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.591400563717 -0.780224919319 -0.203701823950 -vn 0.701678097248 -0.711883068085 0.029501596466 -vn 0.750673115253 -0.641616702080 -0.157536834478 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.662599146366 -0.519838631153 -0.539193987846 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.257752180099 -0.654427826405 -0.710836112499 -vn 0.665769279003 -0.679318904877 -0.308669835329 -vn 0.500242888927 -0.405992329121 -0.764805376530 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.174743488431 0.009917460382 -0.984564065933 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn 0.662599146366 -0.519838631153 -0.539193987846 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn 0.161422282457 -0.139288842678 -0.977006375790 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.531068980694 0.293644726276 -0.794819831848 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.900035083294 -0.384015738964 -0.206079438329 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.871813118458 -0.005059626419 -0.489812523127 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.527581334114 0.393371969461 -0.752938508987 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.643263280392 -0.636784613132 -0.425109058619 -vn 0.155823215842 -0.064390845597 -0.985683977604 -vn -0.301210343838 0.243355542421 -0.921981811523 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn 0.674390673637 -0.636433362961 -0.374365925789 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.717560648918 -0.694060981274 -0.058189537376 -vn 0.514324247837 -0.516093671322 -0.684921801090 -vn 0.294105798006 -0.266938149929 -0.917739510536 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.750016629696 0.569118261337 -0.337015509605 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.903762876987 0.246395617723 0.350002735853 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn -0.147812932730 -0.499316662550 0.853717863560 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.936993002892 0.101482637227 0.334283322096 -vn -0.046108797193 -0.511099517345 0.858283877373 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.987220883369 0.152396500111 0.046585436910 -vn -0.936993002892 0.101482637227 0.334283322096 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.581949949265 -0.764983475208 0.275924861431 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.581949949265 -0.764983475208 0.275924861431 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.426190882921 -0.692445337772 0.582134664059 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn -0.494620203972 -0.327400892973 0.805083572865 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn -0.716524899006 -0.209137350321 0.665472507477 -vn 0.216387555003 -0.792263209820 0.570522069931 -vn 0.356181681156 -0.751746535301 0.554988086224 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.581949949265 -0.764983475208 0.275924861431 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn 0.595780968666 -0.744827687740 0.300460904837 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.623058736324 -0.720617711544 0.304151177406 -vn 0.508039653301 -0.692776381969 0.511816978455 -vn 0.528803288937 -0.717596948147 0.453234672546 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.731317400932 -0.539573132992 0.417175889015 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.248956441879 -0.794233560562 0.554268658161 -vn -0.453740745783 -0.766918957233 0.453822225332 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn 0.530688881874 -0.768034517765 0.358458191156 -vn 0.591515541077 -0.752557575703 0.289424389601 -vn 0.591515541077 -0.752557575703 0.289424389601 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn 0.530688881874 -0.768034517765 0.358458191156 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.536898553371 -0.759433269501 0.367424845695 -vn 0.530688881874 -0.768034517765 0.358458191156 -vn 0.533105850220 -0.792724728584 0.295610725880 -vn 0.180990353227 -0.796912014484 0.576345145702 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.554771304131 -0.800131857395 0.228074103594 -vn 0.533105850220 -0.792724728584 0.295610725880 -vn 0.533105850220 -0.792724728584 0.295610725880 -vn 0.300278335810 -0.889515042305 0.344377607107 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn 0.180990353227 -0.796912014484 0.576345145702 -vn 0.533105850220 -0.792724728584 0.295610725880 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn 0.180990353227 -0.796912014484 0.576345145702 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn 0.300278335810 -0.889515042305 0.344377607107 -vn 0.135520935059 -0.885927915573 0.443582922220 -vn 0.135520935059 -0.885927915573 0.443582922220 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.180990353227 -0.796912014484 0.576345145702 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.284306257963 -0.792260944843 0.539900481701 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.355224251747 -0.699728786945 0.619834899902 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.546890854836 -0.178878933191 0.817870855331 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.287652492523 -0.039519365877 0.956919133663 -vn -0.035672992468 0.077534280717 0.996351301670 -vn -0.035672992468 0.077534280717 0.996351301670 -vn -0.004625395872 0.025178126991 0.999672293663 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn 0.092231564224 -0.556987345219 0.825383841991 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.092231564224 -0.556987345219 0.825383841991 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.499062180519 -0.256094902754 0.827860116959 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn -0.293638288975 -0.111764669418 0.949360430241 -vn -0.004625395872 0.025178126991 0.999672293663 -vn -0.004625395872 0.025178126991 0.999672293663 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.017673462629 -0.461896091700 0.886757969856 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.234883025289 0.208845853806 0.949322581291 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.071927569807 -0.503380060196 0.861066162586 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.112957909703 -0.620997428894 0.775630533695 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn -0.024860668927 -0.316736102104 0.948187828064 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.543487012386 -0.280511081219 0.791160821915 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn 0.112448878586 -0.172594755888 0.978553175926 -vn 0.119672834873 0.101008400321 0.987661719322 -vn 0.694415569305 -0.021816432476 0.719243407249 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.514674782753 0.424443304539 0.744954884052 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.514674782753 0.424443304539 0.744954884052 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.027125038207 0.236739024520 0.971194565296 -vn 0.027125038207 0.236739024520 0.971194565296 -vn 0.058332707733 -0.020505351946 0.998086571693 -vn 0.234883025289 0.208845853806 0.949322581291 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.027125038207 0.236739024520 0.971194565296 -vn 0.221945360303 0.419836610556 0.880044043064 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.584861516953 -0.029748234898 0.810587465763 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.584861516953 -0.029748234898 0.810587465763 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.166294232011 0.550812959671 0.817894458771 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.584861516953 -0.029748234898 0.810587465763 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn 0.175731316209 -0.003851976711 0.984430611134 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.129663527012 -0.192400217056 0.972712457180 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.938181340694 0.340947598219 -0.059753816575 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.938181340694 0.340947598219 -0.059753816575 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.683165788651 -0.057890441269 0.727965116501 -vn -0.911608457565 0.391552716494 0.125126004219 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.606130063534 0.280255675316 0.744354128838 -vn -0.578004896641 0.259107351303 0.773804724216 -vn -0.789368987083 0.531028747559 0.308066695929 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.345520466566 0.916609048843 -0.201105564833 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.345520466566 0.916609048843 -0.201105564833 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.677267670631 0.631871998310 0.376890242100 -vn -0.615168273449 0.781630039215 0.103065654635 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.713334560394 0.697373151779 -0.069458454847 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.784244716167 0.604237020016 0.140917971730 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.721555650234 0.631091058254 -0.284748166800 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.945204854012 0.321921139956 -0.054355837405 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.945134520531 0.274897247553 0.176500037313 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.819403469563 0.542005181313 -0.186569884419 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.678899943829 0.618567526340 -0.395561784506 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.678899943829 0.618567526340 -0.395561784506 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.810429036617 0.581710219383 -0.069411993027 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.712247908115 0.508445441723 -0.483927845955 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.678899943829 0.618567526340 -0.395561784506 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.712247908115 0.508445441723 -0.483927845955 -vn -0.717592597008 0.544949829578 -0.433694094419 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.452509254217 0.396822035313 -0.798603534698 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.712247908115 0.508445441723 -0.483927845955 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.027139838785 0.297324597836 -0.954390645027 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.027139838785 0.297324597836 -0.954390645027 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.452509254217 0.396822035313 -0.798603534698 -vn -0.424883872271 0.424551874399 -0.799518227577 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.452509254217 0.396822035313 -0.798603534698 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.027139838785 0.297324597836 -0.954390645027 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn 0.481452792883 -0.399535596371 -0.780111849308 -vn -0.010878787376 0.047278579324 -0.998822510242 -vn -0.040102791041 0.157673552632 -0.986676633358 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn -0.027139838785 0.297324597836 -0.954390645027 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.242206633091 -0.299529105425 -0.922831654549 -vn 0.240511506796 0.018549861386 -0.970468997955 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.108458139002 -0.328526467085 -0.938246846199 -vn 0.236112982035 -0.001613639994 -0.971724271774 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.277681350708 -0.025956066325 -0.960322499275 -vn 0.102752819657 0.184994399548 -0.977353036404 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn 0.512817382813 -0.279925793409 -0.811578631401 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn -0.003276867792 -0.080719538033 -0.996731460094 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn 0.512817382813 -0.279925793409 -0.811578631401 -vn -0.008919883519 -0.227142065763 -0.973820805550 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn -0.008919883519 -0.227142065763 -0.973820805550 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn 0.201174870133 -0.087589986622 -0.975631415844 -vn 0.316024690866 -0.094793908298 -0.944003462791 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.272886395454 -0.223364964128 -0.935756981373 -vn -0.272886395454 -0.223364964128 -0.935756981373 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn 0.101619660854 -0.255653083324 -0.961413025856 -vn -0.036979392171 -0.187850594521 -0.981501221657 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.272886395454 -0.223364964128 -0.935756981373 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn -0.229903444648 -0.600790917873 -0.765633523464 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn -0.026375874877 -0.660482764244 -0.750377774239 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.153387278318 -0.832074820995 -0.533032655716 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn -0.153387278318 -0.832074820995 -0.533032655716 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn -0.201480373740 -0.832634091377 -0.515874087811 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.227712795138 -0.968599319458 0.099810823798 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn -0.153387278318 -0.832074820995 -0.533032655716 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.227712795138 -0.968599319458 0.099810823798 -vn 0.027616413310 -0.965272784233 -0.259780257940 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.056213788688 -0.686007142067 -0.725420057774 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.065242014825 -0.397843718529 -0.915130496025 -vn 0.297565698624 -0.840286493301 -0.453181296587 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.297565698624 -0.840286493301 -0.453181296587 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.144834354520 -0.934874594212 -0.324087142944 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.343803733587 -0.740231871605 -0.577802479267 -vn 0.000912307180 -0.956513702869 -0.291685968637 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.358295381069 -0.487439304590 -0.796258330345 -vn -0.425949454308 -0.498663961887 -0.754918098450 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn 0.512817382813 -0.279925793409 -0.811578631401 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn -0.211206659675 -0.288128644228 -0.934009432793 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.211206659675 -0.288128644228 -0.934009432793 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.382034838200 -0.694504439831 -0.609682679176 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.316609293222 -0.120613738894 -0.940856456757 -vn -0.019057372585 -0.177110031247 -0.984006524086 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn -0.141708299518 -0.329541563988 -0.933445811272 -vn 0.090835489333 -0.963552772999 -0.251624643803 -vn 0.241303235292 -0.614637672901 -0.750994861126 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.587254881859 0.526393055916 -0.614851236343 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.587254881859 0.526393055916 -0.614851236343 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.347830146551 0.660270571709 -0.665625214577 -vn -0.350479990244 0.437364995480 -0.828176081181 -vn -0.361618489027 0.031844489276 -0.931782186031 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.078917674720 0.331730693579 -0.940067410469 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.448264569044 0.485658913851 -0.750462710857 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.210705280304 0.061815194786 -0.975593209267 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.712247908115 0.508445441723 -0.483927845955 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.452509254217 0.396822035313 -0.798603534698 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.493341773748 0.344065487385 -0.798894762993 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.692287385464 0.521458029747 -0.498818278313 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.873160123825 0.306886225939 0.378698021173 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.873160123825 0.306886225939 0.378698021173 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.871990084648 0.489088982344 -0.020622229204 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.873160123825 0.306886225939 0.378698021173 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.654840648174 0.184742674232 0.732839584351 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.654840648174 0.184742674232 0.732839584351 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.850674211979 0.522735774517 -0.055684074759 -vn -0.880456626415 0.472398698330 -0.040442653000 -vn -0.854712486267 0.359191447496 0.374764025211 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.654840648174 0.184742674232 0.732839584351 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.646497070789 0.081178493798 0.758585274220 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.646497070789 0.081178493798 0.758585274220 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.841622591019 0.437275558710 0.316956669092 -vn -0.846006751060 0.409653961658 0.341256827116 -vn -0.702346086502 0.236375972629 0.671443521976 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.646497070789 0.081178493798 0.758585274220 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.877859234810 -0.107805848122 0.466627299786 -vn -0.785008013248 0.203743636608 0.585022211075 -vn -0.619045197964 0.074977569282 0.781768143177 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.334633797407 0.108778014779 0.936048924923 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.334633797407 0.108778014779 0.936048924923 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.202762871981 0.044235628098 0.978228211403 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.488049238920 0.155030697584 0.858937382698 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.646497070789 0.081178493798 0.758585274220 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.557461321354 0.174925819039 0.811565041542 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn -0.173753112555 -0.033539067954 0.984217941761 -vn -0.330435961485 0.111589379609 0.937208533287 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.458910495043 -0.049582216889 0.887097954750 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.501991808414 -0.171072304249 0.847784459591 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.721782505512 -0.005383551121 0.692098975182 -vn -0.653137028217 0.147144690156 0.742805838585 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.654840648174 0.184742674232 0.732839584351 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.647204220295 -0.005476547871 0.762296974659 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.657491862774 -0.150105699897 0.738358139992 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.873160123825 0.306886225939 0.378698021173 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.916443407536 0.266949117184 0.298110216856 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.642937421799 -0.054738871753 0.763960123062 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.678899943829 0.618567526340 -0.395561784506 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.676860630512 0.594577789307 -0.433978050947 -vn -0.587254881859 0.526393055916 -0.614851236343 -vn -0.470546931028 0.462075620890 -0.751712501049 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.345520466566 0.916609048843 -0.201105564833 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.469751149416 0.765853762627 -0.439092069864 -vn -0.473276704550 0.816994488239 -0.329437643290 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.277536809444 0.877475261688 -0.391165494919 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.673667073250 0.396585196257 -0.623612761497 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.673667073250 0.396585196257 -0.623612761497 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn -0.244834110141 0.793942570686 -0.556517302990 -vn -0.387393981218 0.713189482689 -0.584197461605 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn -0.117384985089 0.660975337029 -0.741169571877 -vn -0.281692802906 0.468684077263 -0.837248146534 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.100804962218 0.148268595338 -0.983796119690 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.446126013994 -0.152536511421 -0.881875395775 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.699311733246 -0.076596602798 -0.710701107979 -vn 0.676580607891 -0.353477507830 -0.645981729031 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.855498135090 -0.216838672757 -0.470216870308 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.835438132286 0.233318656683 -0.497599750757 -vn 0.945405006409 -0.279130101204 -0.168213531375 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.788167059422 0.469254255295 -0.398237556219 -vn 0.989614725113 0.143259719014 -0.011802316643 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.683103263378 -0.540835082531 0.490782380104 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.439381361008 -0.207031399012 0.874117851257 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.094372428954 0.461883842945 0.881905436516 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.094372428954 0.461883842945 0.881905436516 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.121771819890 0.907417356968 0.402200639248 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.256296396255 0.374693721533 0.891020059586 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.125300318003 0.134481579065 0.982962131500 -vn -0.038040585816 0.040302138776 0.998463153839 -vn -0.038040585816 0.040302138776 0.998463153839 -vn -0.092569380999 0.481423765421 0.871585965157 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.006276889239 0.523106515408 0.852244198322 -vn -0.092569380999 0.481423765421 0.871585965157 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.090679392219 0.816002249718 0.570891857147 -vn 0.006276889239 0.523106515408 0.852244198322 -vn 0.006276889239 0.523106515408 0.852244198322 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.121771819890 0.907417356968 0.402200639248 -vn 0.094372428954 0.461883842945 0.881905436516 -vn 0.006276889239 0.523106515408 0.852244198322 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.121771819890 0.907417356968 0.402200639248 -vn -0.090679392219 0.816002249718 0.570891857147 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.065149024129 0.968082070351 0.242018088698 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.149969920516 0.969446182251 0.194121301174 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.246833741665 0.934036254883 0.258165508509 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.357779502869 0.923080861568 -0.141122400761 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.673667073250 0.396585196257 -0.623612761497 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.673667073250 0.396585196257 -0.623612761497 -vn -0.608903050423 0.524954736233 -0.594692826271 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn -0.408774822950 0.130344390869 -0.903279304504 -vn -0.366888701916 0.236831426620 -0.899613022804 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn -0.036002598703 -0.139449045062 -0.989574551582 -vn -0.052284561098 -0.164256900549 -0.985030949116 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.311450004578 -0.462049156427 -0.830367088318 -vn 0.236821636558 -0.530136287212 -0.814168930054 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.704556524754 -0.690262138844 -0.164736986160 -vn 0.523449182510 -0.696044564247 -0.491449832916 -vn 0.476768404245 -0.740061700344 -0.474342286587 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.653732180595 -0.718960464001 0.236072242260 -vn 0.620975375175 -0.783508956432 -0.022433303297 -vn 0.518730282784 -0.854915916920 0.006139353849 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.497199982405 -0.602465748787 0.624361455441 -vn 0.504551768303 -0.829032003880 0.241108819842 -vn 0.382935672998 -0.885049641132 0.264664679766 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.354534059763 -0.750870287418 0.557224750519 -vn 0.119527801871 -0.816052436829 0.565483450890 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.038040585816 0.040302138776 0.998463153839 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn -0.038040585816 0.040302138776 0.998463153839 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.125300318003 0.134481579065 0.982962131500 -vn 0.270803511143 -0.386747300625 0.881528198719 -vn 0.045098394156 -0.479812443256 0.876211225986 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.092569380999 0.481423765421 0.871585965157 -vn -0.092569380999 0.481423765421 0.871585965157 -vn -0.038040585816 0.040302138776 0.998463153839 -vn -0.234272703528 -0.042228519917 0.971253335476 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.175727561116 0.689686655998 0.702461481094 -vn -0.175727561116 0.689686655998 0.702461481094 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.092569380999 0.481423765421 0.871585965157 -vn -0.209088429809 0.424714595079 0.880851626396 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.175727561116 0.689686655998 0.702461481094 -vn 0.046635005623 0.905606448650 0.421547323465 -vn 0.046635005623 0.905606448650 0.421547323465 -vn -0.004725415260 0.954034984112 0.299657970667 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.004725415260 0.954034984112 0.299657970667 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.113789513707 0.780125617981 0.615187764168 -vn -0.128022998571 0.758390307426 0.639104306698 -vn -0.004725415260 0.954034984112 0.299657970667 -vn 0.046635005623 0.905606448650 0.421547323465 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn -0.004725415260 0.954034984112 0.299657970667 -vn -0.004725415260 0.954034984112 0.299657970667 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn -0.065149024129 0.968082070351 0.242018088698 -vn -0.004725415260 0.954034984112 0.299657970667 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.297269523144 0.952216386795 0.070105269551 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn 0.156814858317 0.983114242554 -0.094316169620 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn -0.095253936946 0.959836602211 -0.263894736767 -vn 0.053862564266 0.980405032635 -0.189485639334 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn 0.187974944711 0.813540935516 -0.550287723541 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn -0.317155778408 0.702843785286 -0.636728227139 -vn 0.002242129063 0.749514043331 -0.661984682083 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn -0.155637040734 0.360485523939 -0.919688701630 -vn 0.129199773073 0.375185638666 -0.917901515961 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.060935895890 -0.076402917504 -0.995213270187 -vn 0.269014984369 -0.078607410192 -0.959922790527 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.467446297407 -0.797998487949 -0.380384445190 -vn 0.289471894503 -0.512713968754 -0.808288574219 -vn 0.382335335016 -0.497620224953 -0.778584480286 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.409876346588 -0.911997258663 -0.016198895872 -vn 0.432791292667 -0.800442516804 -0.414708852768 -vn 0.365264266729 -0.818917512894 -0.442669272423 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.081253156066 -0.948016583920 -0.307672768831 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.081253156066 -0.948016583920 -0.307672768831 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn 0.174779847264 -0.957992732525 0.227380603552 -vn 0.259054720402 -0.960606396198 -0.100628063083 -vn 0.115236766636 -0.977209568024 -0.178274780512 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn -0.102916389704 -0.977832078934 -0.182353064418 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn 0.081253156066 -0.948016583920 -0.307672768831 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.102916389704 -0.977832078934 -0.182353064418 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn -0.038977205753 -0.981028497219 0.189904913306 -vn -0.168345868587 -0.983503580093 0.066184416413 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.325221389532 -0.836283624172 0.441430330276 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.200875982642 -0.531464934349 0.822917878628 -vn -0.133754879236 -0.847533881664 0.513610720634 -vn -0.341652840376 -0.826769411564 0.446906805038 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.411269128323 -0.523518621922 0.746180891991 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.400463789701 -0.304052025080 0.864396393299 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.400463789701 -0.304052025080 0.864396393299 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.423713356256 -0.109792359173 0.899117708206 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.214608341455 0.516929745674 0.828689873219 -vn -0.214608341455 0.516929745674 0.828689873219 -vn -0.175727561116 0.689686655998 0.702461481094 -vn -0.336109995842 0.348441511393 0.874996364117 -vn -0.175727561116 0.689686655998 0.702461481094 -vn -0.214608341455 0.516929745674 0.828689873219 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.054755549878 0.784012436867 0.618325412273 -vn 0.046635005623 0.905606448650 0.421547323465 -vn -0.175727561116 0.689686655998 0.702461481094 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn 0.081253156066 -0.948016583920 -0.307672768831 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.268750041723 -0.944639980793 0.188225045800 -vn 0.231874272227 -0.820132136345 -0.523084700108 -vn 0.584060728550 -0.472724586725 -0.659851908684 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.999197006226 -0.013656531461 0.037667006254 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn -0.141119390726 -0.374258041382 0.916523993015 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.798023343086 -0.602499783039 -0.012357043102 -vn 0.935255706310 -0.353455752134 0.019125895575 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.736387848854 -0.150494113564 -0.659609317780 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.800038218498 0.208430096507 -0.562579572201 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.356513082981 -0.697556674480 -0.621540963650 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.304330408573 -0.793034672737 -0.527711093426 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.560852169991 -0.336584091187 -0.756409943104 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.322998225689 0.476452618837 -0.817719399929 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.661050438881 0.078701704741 -0.746202647686 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.455111831427 -0.433408737183 -0.777836799622 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.433478921652 -0.505406737328 -0.746096551418 -vn 0.425416529179 -0.038051687181 -0.904197335243 -vn 0.522343158722 0.054986000061 -0.850960731506 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.534159302711 0.839426577091 0.100184306502 -vn 0.757121384144 0.595956921577 -0.267586499453 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn 0.468820512295 0.504855453968 -0.724795341492 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.330816537142 0.821879863739 -0.463760614395 -vn 0.503617525101 0.812182068825 -0.294499009848 -vn 0.638090133667 0.488221794367 -0.595382630825 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.695233583450 0.684673905373 -0.218796551228 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn -0.290093451738 0.940565109253 0.176587253809 -vn -0.290093451738 0.940565109253 0.176587253809 -vn -0.473572015762 0.867844879627 0.150249123573 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.658086836338 0.691037118435 -0.298980653286 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.273009449244 0.860975801945 -0.429169535637 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.394390285015 0.915188133717 -0.082987517118 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn -0.205601692200 0.946526050568 -0.248628988862 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.345520466566 0.916609048843 -0.201105564833 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn -0.319511979818 0.905989944935 -0.277658611536 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.672298371792 0.739992916584 -0.020625833422 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn -0.082643136382 0.941257119179 -0.327421933413 -vn -0.414547055960 0.883300960064 -0.218929663301 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.690027296543 0.696177899837 -0.197986468673 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.453665226698 0.661064624786 -0.597646594048 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn -0.453665226698 0.661064624786 -0.597646594048 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn -0.411774367094 0.846359968185 -0.337811619043 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.217604145408 0.731005907059 -0.646744787693 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn -0.141386777163 0.929110169411 -0.341707617044 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.614214539528 0.333024352789 -0.715426623821 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.614214539528 0.333024352789 -0.715426623821 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.410014301538 0.809555232525 -0.420129299164 -vn 0.223141282797 0.610668420792 -0.759797394276 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.614214539528 0.333024352789 -0.715426623821 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.879203557968 0.280645579100 -0.385018318892 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn -0.217604145408 0.731005907059 -0.646744787693 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.657837927341 0.378287076950 -0.651266574860 -vn 0.233906283975 0.632930636406 -0.738028883934 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.506191194057 0.784512937069 -0.358203768730 -vn 0.236852481961 0.874147355556 -0.423989772797 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn 0.348152428865 0.870052337646 -0.348996847868 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.348152428865 0.870052337646 -0.348996847868 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.344998806715 0.866717040539 -0.360246300697 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.714554429054 0.667727410793 0.208691373467 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.348152428865 0.870052337646 -0.348996847868 -vn 0.376080244780 0.926337480545 -0.021506395191 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.836690306664 0.270335048437 -0.476306915283 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.607457041740 0.710641443729 -0.354943275452 -vn 0.604264497757 0.669568955898 -0.431904941797 -vn 0.083596318960 0.705422341824 0.703840136528 -vn -0.141477271914 0.989577353001 0.026847619563 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn -0.242646485567 0.968250751495 0.060110073537 -vn 0.083596318960 0.705422341824 0.703840136528 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.242646485567 0.968250751495 0.060110073537 -vn 0.037707228214 0.982987165451 -0.179762169719 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.242646485567 0.968250751495 0.060110073537 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.146492078900 0.927200198174 -0.344731599092 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.571737766266 0.732720911503 -0.369101554155 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.571737766266 0.732720911503 -0.369101554155 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.342749416828 0.924339294434 -0.167689189315 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.797018706799 0.597555816174 -0.087682552636 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.571737766266 0.732720911503 -0.369101554155 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.673261463642 0.576191544533 -0.463381379843 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.673261463642 0.576191544533 -0.463381379843 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.797018706799 0.597555816174 -0.087682552636 -vn -0.655902504921 0.742715775967 -0.134778127074 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.981501281261 -0.186295166612 -0.044151421636 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.797018706799 0.597555816174 -0.087682552636 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.938181340694 0.340947598219 -0.059753816575 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.673261463642 0.576191544533 -0.463381379843 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.981501281261 -0.186295166612 -0.044151421636 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.871123313904 0.373719185591 -0.318556308746 -vn -0.938181340694 0.340947598219 -0.059753816575 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.981501281261 -0.186295166612 -0.044151421636 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.872809171677 -0.341396838427 0.348786950111 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.981501281261 -0.186295166612 -0.044151421636 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn -0.545271813869 -0.699797272682 0.461478531361 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn -0.268343746662 -0.638682842255 0.721162855625 -vn 0.291242122650 -0.640502154827 0.710587799549 -vn 0.150246888399 -0.894174337387 0.421756029129 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.673261463642 0.576191544533 -0.463381379843 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.453665226698 0.661064624786 -0.597646594048 -vn -0.713754475117 0.560689210892 -0.419740587473 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.453665226698 0.661064624786 -0.597646594048 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.217604145408 0.731005907059 -0.646744787693 -vn -0.176629319787 0.697645485401 -0.694329082966 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.668538451195 -0.460031986237 0.584317445755 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.797018706799 0.597555816174 -0.087682552636 -vn -0.948703587055 0.192561715841 0.250761777163 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.631175696850 0.324559658766 0.704470157623 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.631175696850 0.324559658766 0.704470157623 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.740443646908 0.314420253038 0.594039678574 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.182598531246 0.715381562710 0.674453139305 -vn -0.182598531246 0.715381562710 0.674453139305 -vn -0.109330229461 0.941514909267 0.318742185831 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.431219965219 0.861944854259 0.266646653414 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.524120569229 0.848639190197 0.071478672326 -vn -0.668778121471 0.668187499046 0.325977385044 -vn -0.576677322388 0.648915290833 0.496338844299 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.604831039906 0.008647575043 0.796306848526 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.492510139942 -0.097670763731 0.864808738232 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn -0.571737766266 0.732720911503 -0.369101554155 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.100757867098 0.856254220009 -0.506632566452 -vn -0.217604145408 0.731005907059 -0.646744787693 -vn -0.425220996141 0.709233522415 -0.562294363976 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.584861516953 -0.029748234898 0.810587465763 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.251433730125 0.644871890545 0.721748828888 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.514674782753 0.424443304539 0.744954884052 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.535930573940 0.770952641964 0.344108164310 -vn 0.381881237030 0.563686668873 0.732409715652 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.514674782753 0.424443304539 0.744954884052 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.608824074268 -0.275057256222 0.744094610214 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.229931414127 -0.389015793800 0.892075240612 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.908035099506 -0.210515215993 0.362154066563 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.511419832706 -0.781244933605 0.357919096947 -vn 0.634775996208 -0.760179579258 0.138515204191 -vn 0.991328895092 -0.113044984639 -0.066991284490 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.656224668026 -0.205502897501 0.726042509079 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.338420450687 -0.825779497623 0.451176017523 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.232008248568 -0.536629438400 0.811295926571 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn 0.071474067867 -0.435570329428 0.897312641144 -vn -0.004625395872 0.025178126991 0.999672293663 -vn 0.288535594940 0.014455531724 0.957360029221 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn 0.811073362827 -0.208045750856 -0.546696424484 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.734331071377 -0.294317692518 -0.611665785313 -vn 0.788941442966 -0.018234614283 -0.614197731018 -vn 0.801559090614 0.223377063870 -0.554622173309 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn -0.364636987448 -0.726501166821 0.582439601421 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.684462308884 -0.341979593039 0.643864393234 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.610466539860 -0.416379898787 0.673764348030 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.726929843426 -0.403456211090 0.555694282055 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn -0.726210057735 -0.395518779755 0.562302231789 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.202762871981 0.044235628098 0.978228211403 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.022242724895 -0.434845775366 0.900230228901 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.639154016972 -0.695473492146 0.328327208757 -vn 0.639154016972 -0.695473492146 0.328327208757 -vn 0.560032069683 -0.786853432655 0.259279340506 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.560032069683 -0.786853432655 0.259279340506 -vn 0.554771304131 -0.800131857395 0.228074103594 -vn 0.554771304131 -0.800131857395 0.228074103594 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.590239226818 -0.761261343956 0.268512219191 -vn 0.526070177555 -0.834664642811 0.163049384952 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn 0.590239226818 -0.761261343956 0.268512219191 -vn 0.590239226818 -0.761261343956 0.268512219191 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn -0.071950569749 -0.950316131115 0.302857011557 -vn 0.591515541077 -0.752557575703 0.289424389601 -vn 0.590239226818 -0.761261343956 0.268512219191 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn 0.526070177555 -0.834664642811 0.163049384952 -vn 0.563823878765 -0.815900862217 0.128095164895 -vn 0.563823878765 -0.815900862217 0.128095164895 -vn 0.104877673090 -0.737829804420 0.666789233685 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn 0.104877673090 -0.737829804420 0.666789233685 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn 0.104877673090 -0.737829804420 0.666789233685 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.104877673090 -0.737829804420 0.666789233685 -vn 0.563823878765 -0.815900862217 0.128095164895 -vn 0.563823878765 -0.815900862217 0.128095164895 -vn 0.653912723064 -0.623547196388 0.428470611572 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.653912723064 -0.623547196388 0.428470611572 -vn 0.639154016972 -0.695473492146 0.328327208757 -vn 0.639154016972 -0.695473492146 0.328327208757 -vn 0.363275855780 -0.318919390440 0.875397682190 -vn 0.261660903692 -0.444394350052 0.856765568256 -vn 0.539303719997 -0.757244586945 0.368418484926 -vn 0.536898553371 -0.759433269501 0.367424845695 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.539303719997 -0.757244586945 0.368418484926 -vn 0.539303719997 -0.757244586945 0.368418484926 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.627686858177 -0.765295922756 0.142588213086 -vn 0.554613232613 -0.706817686558 0.439104676247 -vn 0.539303719997 -0.757244586945 0.368418484926 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn -0.119740322232 -0.991864562035 0.043207794428 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn -0.048961449414 -0.929446697235 -0.365693271160 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn 0.279040306807 -0.729090750217 -0.624950528145 -vn 0.564531207085 -0.810247540474 0.157491043210 -vn 0.476696014404 -0.850157141685 0.223592743278 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.140470072627 0.209249109030 -0.967720508575 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.568980515003 0.064607515931 -0.819809138775 -vn 0.514849841595 0.027653733268 -0.856834232807 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.729452431202 -0.625799298286 0.276178151369 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.624742865562 -0.651130437851 0.430958807468 -vn 0.352315664291 -0.931752741337 0.087809689343 -vn 0.525851249695 -0.848270535469 -0.062589950860 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.176694035530 0.500781595707 -0.847347021103 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.521646261215 0.109020903707 -0.846167623997 -vn 0.568980515003 0.064607515931 -0.819809138775 -vn 0.171955436468 0.529781341553 -0.830519735813 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.363941878080 0.109785512090 0.924928903580 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn 0.324504107237 -0.427837014198 0.843595027924 -vn 0.340282380581 -0.382701039314 0.858922481537 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.364101141691 -0.929735064507 0.054982718080 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.752022862434 -0.514463245869 -0.412054896355 -vn 0.559680283070 -0.749737679958 -0.353060066700 -vn 0.240792527795 -0.970571935177 -0.003004235681 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn -0.074265211821 -0.373613417149 -0.924606800079 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.407061606646 0.429488331079 -0.806126892567 -vn 0.163060486317 -0.384637802839 -0.908551037312 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.403615891933 -0.100003473461 -0.909446835518 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.827641427517 -0.113630585372 -0.549634158611 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.079553619027 -0.875217258930 -0.477143585682 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn -0.057935588062 -0.779576897621 -0.623621106148 -vn 0.223080739379 -0.690481960773 -0.688091278076 -vn 0.363940000534 -0.870755136013 -0.330655604601 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.837370514870 -0.543764710426 -0.055951450020 -vn 0.668449163437 -0.649779140949 -0.361887782812 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.903918921947 0.398155480623 -0.156213954091 -vn -0.760393679142 0.343544006348 -0.551161468029 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn -0.900035083294 -0.384015738964 -0.206079438329 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.892418026924 -0.216831088066 -0.395694732666 -vn -0.878178358078 -0.175636082888 -0.444921076298 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn 0.222291097045 -0.811474919319 0.540458202362 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.426152616739 -0.798374474049 0.425431698561 -vn -0.242103204131 -0.685089111328 -0.687050879002 -vn 0.472686260939 -0.862592041492 -0.180284857750 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.645085215569 0.203440889716 0.736530244350 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.628692030907 0.732832312584 -0.260198384523 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn 0.079247862101 0.969927549362 -0.230131030083 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.203795030713 0.978946566582 -0.011453438550 -vn -0.132732585073 0.987605988979 -0.083764702082 -vn 0.327142566442 0.847049534321 0.418909132481 -vn 0.203795030713 0.978946566582 -0.011453438550 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.327142566442 0.847049534321 0.418909132481 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.555045068264 -0.208258599043 0.805328071117 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.625582337379 -0.136659100652 0.768095731735 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.385458141565 -0.653668999672 0.651259422302 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.727658629417 -0.171462669969 0.664163768291 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.657310307026 -0.511882245541 0.553100109100 -vn -0.385458141565 -0.653668999672 0.651259422302 -vn -0.640274345875 -0.423490315676 0.640862464905 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.349309086800 -0.879998743534 0.321846753359 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.473156034946 -0.648721933365 0.596056401730 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn -0.306055247784 -0.144851490855 0.940929472446 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.354700446129 0.034820698202 0.934331357479 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.374189198017 -0.555483102798 0.742577254772 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.742680370808 -0.634518027306 0.214039161801 -vn 0.714853286743 -0.650683462620 0.256116777658 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn 0.714853286743 -0.650683462620 0.256116777658 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.659638285637 -0.392307132483 0.641071319580 -vn 0.303534507751 -0.735307157040 0.605962216854 -vn 0.213522091508 -0.907311439514 0.362207502127 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.349309086800 -0.879998743534 0.321846753359 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.320037037134 -0.884738564491 0.338842153549 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.878214716911 -0.449576526880 0.163155734539 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.725175499916 -0.509295403957 0.463399112225 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.725175499916 -0.509295403957 0.463399112225 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.349309086800 -0.879998743534 0.321846753359 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.878214716911 -0.449576526880 0.163155734539 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.661074161530 -0.704808950424 0.257342725992 -vn -0.573730945587 -0.763768911362 0.295786827803 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.878214716911 -0.449576526880 0.163155734539 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.814631104469 -0.517790317535 0.261284053326 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.540508806705 -0.812121748924 0.219791963696 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.540508806705 -0.812121748924 0.219791963696 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.540508806705 -0.812121748924 0.219791963696 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.562911212444 -0.417130827904 0.713535487652 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.562911212444 -0.417130827904 0.713535487652 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.351726382971 -0.147820845246 0.924357891083 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.418743818998 -0.453809380531 0.786581635475 -vn -0.725175499916 -0.509295403957 0.463399112225 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.725175499916 -0.509295403957 0.463399112225 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.518619835377 -0.150040104985 0.841737151146 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.677911162376 -0.171685174108 0.714815080166 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.608457267284 0.157792612910 0.777741134167 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.234294578433 -0.665710151196 0.708474457264 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.459269702435 -0.773269057274 0.437179893255 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.798626184464 -0.023845696822 0.601354777813 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.798626184464 -0.023845696822 0.601354777813 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.856631577015 0.492435991764 0.153912588954 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.914469540119 -0.242004066706 0.324313849211 -vn -0.358048766851 -0.624385535717 0.694221735001 -vn -0.906540632248 -0.160127803683 0.390567809343 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.798626184464 -0.023845696822 0.601354777813 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.684804737568 -0.664337873459 0.299495548010 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.798626184464 -0.023845696822 0.601354777813 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.461953103542 0.098662018776 0.881399512291 -vn -0.746172189713 0.359903126955 0.560086369514 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.860423803329 -0.202527076006 0.467604160309 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.809427082539 -0.343396574259 0.476347148418 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.591782271862 -0.301380485296 0.747638642788 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.492519497871 -0.088171571493 0.865823507309 -vn -0.461953103542 0.098662018776 0.881399512291 -vn -0.616403996944 -0.046978741884 0.786027431488 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.819547474384 -0.149944037199 0.553044915199 -vn -0.878214716911 -0.449576526880 0.163155734539 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn -0.550928473473 -0.090877428651 0.829589724541 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.577446520329 -0.303569018841 0.757892727852 -vn -0.675307810307 -0.183331325650 0.714387118816 -vn -0.636181175709 -0.112482629716 0.763296246529 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.748724162579 0.597042918205 -0.288013637066 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.307974070311 0.947956979275 -0.080805882812 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn 0.182218909264 -0.496878981590 0.848473668098 -vn 0.392328858376 -0.721172392368 0.570953965187 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.541634559631 -0.827475488186 0.148041695356 -vn 0.679533302784 -0.730276048183 0.070223495364 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.858834862709 -0.343651831150 -0.379876434803 -vn 0.943861186504 -0.260932624340 -0.202583923936 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.447879314423 -0.893079757690 0.042575549334 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.643597602844 -0.741183161736 -0.190865457058 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.943861186504 -0.260932624340 -0.202583923936 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.764400541782 -0.041232846677 0.643421828747 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.764400541782 -0.041232846677 0.643421828747 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.767445862293 -0.639363825321 -0.047336645424 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.764400541782 -0.041232846677 0.643421828747 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.509310722351 0.129563525319 0.850773692131 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.509310722351 0.129563525319 0.850773692131 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.246345400810 -0.477399200201 0.843447685242 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.246345400810 -0.477399200201 0.843447685242 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.275597184896 -0.961144804955 0.015710320324 -vn 0.491151094437 -0.666431069374 0.560927987099 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.373320966959 0.424053817987 0.825111985207 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn 0.246345400810 -0.477399200201 0.843447685242 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.764400541782 -0.041232846677 0.643421828747 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.816324055195 0.200977146626 0.541500926018 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.378446906805 0.448631554842 0.809634268284 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.087227329612 -0.761248648167 0.642566621304 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.279852241278 -0.486823260784 0.827457427979 -vn -0.328510224819 -0.452966272831 0.828795850277 -vn -0.149849325418 -0.801799178123 0.578500866890 -vn -0.109330229461 0.941514909267 0.318742185831 -vn -0.182598531246 0.715381562710 0.674453139305 -vn 0.485629320145 0.230432748795 0.843246638775 -vn 0.485629320145 0.230432748795 0.843246638775 -vn 0.421047270298 0.334669202566 0.843039572239 -vn -0.109330229461 0.941514909267 0.318742185831 -vn 0.421047270298 0.334669202566 0.843039572239 -vn 0.485629320145 0.230432748795 0.843246638775 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.421047270298 0.334669202566 0.843039572239 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.453291714191 -0.478627860546 0.751958787441 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn -0.371392548084 -0.273312330246 0.887337565422 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.337292581797 -0.545221269131 0.767442166805 -vn -0.162412509322 -0.601992547512 0.781810164452 -vn -0.086682282388 -0.655554294586 0.750156462193 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn -0.332097560167 0.081697568297 0.939700365067 -vn -0.400463789701 -0.304052025080 0.864396393299 -vn -0.400463789701 -0.304052025080 0.864396393299 -vn -0.225902393460 -0.420675784349 0.878635287285 -vn -0.039725661278 -0.290360718966 0.956092298031 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn 0.724548757076 0.585632026196 -0.363406389952 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.757091164589 -0.360904663801 0.544573962688 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.816449046135 -0.409892588854 0.406692773104 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.053172789514 -0.616151213646 0.785830974579 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.816449046135 -0.409892588854 0.406692773104 -vn -0.464463710785 -0.464943259954 0.753724873066 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn -0.601008892059 -0.672716557980 0.431556135416 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.709319472313 -0.529251933098 0.465573132038 -vn -0.816449046135 -0.409892588854 0.406692773104 -vn -0.249192371964 -0.776740670204 0.578426361084 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.855401635170 -0.481659621000 -0.190504774451 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.754061222076 0.027538735420 -0.656226575375 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn 0.407061606646 0.429488331079 -0.806126892567 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.054847415537 -0.026922827587 -0.998131692410 -vn 0.308949559927 0.079883605242 -0.947717666626 -vn 0.730692684650 -0.553247034550 -0.400007367134 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn -0.022242724895 -0.434845775366 0.900230228901 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.346841216087 -0.535551905632 0.769990444183 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.473556876183 -0.396522194147 0.786456644535 -vn -0.392607510090 -0.288638532162 0.873239457607 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn -0.504324793816 -0.689210057259 0.520236492157 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn -0.081477582455 -0.860848963261 0.502295136452 -vn 0.056576341391 -0.826324164867 0.560345888138 -vn -0.336106806993 -0.668615162373 0.663314402103 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn 0.196567177773 -0.151929289103 0.968647956848 -vn 0.281917303801 -0.331665396690 0.900289237499 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn 0.078508637846 -0.052543114871 0.995527803898 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.436046063900 -0.577629566193 0.690078198910 -vn 0.322791486979 -0.675322711468 0.663132667542 -vn 0.032026510686 -0.155209660530 0.987362265587 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.222196698189 -0.942532956600 0.249520063400 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn 0.011259951629 -0.915645122528 0.401829808950 -vn -0.364636987448 -0.726501166821 0.582439601421 -vn -0.034457810223 -0.800295412540 0.598614990711 -vn 0.893638670444 0.390344947577 -0.221451431513 -vn 0.737706422806 0.663348376751 -0.125531315804 -vn 0.789966821671 0.530356287956 0.307692408562 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.303327411413 0.940892398357 0.150711387396 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.878466308117 0.353272229433 0.321707457304 -vn 0.564451873302 -0.211039349437 0.798032879829 -vn 0.506033003330 0.457370489836 0.731261134148 -vn 0.373320966959 0.424053817987 0.825111985207 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.283379137516 0.492464959621 0.822906136513 -vn 0.373320966959 0.424053817987 0.825111985207 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.820009887218 0.179416894913 0.543501019478 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.509310722351 0.129563525319 0.850773692131 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.573140323162 0.155218109488 0.804622590542 -vn 0.391355395317 0.211594060063 0.895582973957 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.395421296358 0.146563902497 0.906730949879 -vn 0.509310722351 0.129563525319 0.850773692131 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.640595257282 0.556611776352 0.528981089592 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.305486649275 0.190570458770 0.932931303978 -vn 0.378446906805 0.448631554842 0.809634268284 -vn 0.535769343376 0.346915453672 0.769805729389 -vn 0.737881243229 0.138341784477 0.660600364208 -vn 0.600012421608 0.673197388649 0.432192444801 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.875085175037 0.284960567951 -0.391182065010 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.894703328609 -0.337323635817 -0.292777568102 -vn 0.987493872643 -0.002295108046 -0.157640531659 -vn 0.882139682770 0.021659230813 -0.470489531755 -vn 0.030576495454 -0.849807500839 0.526205539703 -vn 0.246345400810 -0.477399200201 0.843447685242 -vn -0.100082904100 -0.121986940503 0.987472832203 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.765195369720 -0.226806268096 -0.602523803711 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.626230418682 -0.102859854698 -0.772822916508 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.008919883519 -0.227142065763 -0.973820805550 -vn 0.512817382813 -0.279925793409 -0.811578631401 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.008919883519 -0.227142065763 -0.973820805550 -vn 0.195846781135 -0.780589878559 -0.593568444252 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn -0.544381499290 -0.683503627777 -0.486283451319 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.074802413583 -0.821258544922 -0.565631449223 -vn -0.433612197638 -0.211576133966 -0.875908672810 -vn -0.272886395454 -0.223364964128 -0.935756981373 -vn -0.114821292460 -0.062603108585 -0.991411566734 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.540508806705 -0.812121748924 0.219791963696 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.480690151453 -0.740491211414 0.469691097736 -vn -0.562911212444 -0.417130827904 0.713535487652 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.585892200470 -0.686456024647 0.430706888437 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.767110168934 -0.116551913321 0.630838811398 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.878785669804 -0.475048571825 0.045437283814 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.985003590584 -0.159312814474 0.066237233579 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.894161939621 -0.087291687727 0.439152121544 -vn -0.892477273941 -0.404392063618 0.199878498912 -vn -0.987259328365 -0.150906518102 0.050460640341 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.253314435482 -0.451992571354 0.855297923088 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.534343063831 -0.704809904099 0.466605246067 -vn -0.557868421078 -0.657093167305 0.506962835789 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.557868421078 -0.657093167305 0.506962835789 -vn -0.262534588575 -0.765424966812 0.587537407875 -vn -0.328291893005 -0.713074207306 0.619475305080 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.738621592522 -0.423740774393 -0.524291872978 -vn -0.900035083294 -0.384015738964 -0.206079438329 -vn -0.900035083294 -0.384015738964 -0.206079438329 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.988403439522 -0.062521792948 -0.138382419944 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.871245801449 0.175334334373 -0.458463281393 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.819572389126 0.387809962034 -0.421787351370 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.750016629696 0.569118261337 -0.337015509605 -vn -0.817677199841 0.405813783407 -0.408312559128 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.750016629696 0.569118261337 -0.337015509605 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.745622813702 0.555361211300 -0.368266910315 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.883379578590 0.453356623650 0.118778400123 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.883379578590 0.453356623650 0.118778400123 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.672420799732 0.229601070285 0.703657329082 -vn -0.883379578590 0.453356623650 0.118778400123 -vn -0.883379578590 0.453356623650 0.118778400123 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.374333351851 0.575284957886 -0.727270066738 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn -0.745987057686 0.581899583340 -0.323876738548 -vn -0.666667342186 0.591724395752 -0.453229427338 -vn -0.609977424145 0.596584975719 -0.521549582481 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn 0.052916388959 -0.905325412750 0.421409189701 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn 0.308463364840 -0.924584686756 -0.223592355847 -vn -0.529323875904 0.631218016148 -0.566903889179 -vn -0.941008746624 -0.008539366536 -0.338274419308 -vn 0.608978867531 -0.271527022123 -0.745263576508 -vn 0.907390177250 -0.009350413457 -0.420185178518 -vn 0.630308449268 -0.241095229983 -0.737959623337 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.027015432715 0.338717550039 0.940500199795 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.529933810234 0.358376175165 0.768593966961 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.680543184280 0.249560609460 0.688898026943 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.027015432715 0.338717550039 0.940500199795 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.482880949974 0.671260416508 0.562348186970 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.614093124866 0.430214881897 0.661668241024 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.654366791248 0.047013234347 0.754714429379 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.334695070982 0.126260608435 0.933829486370 -vn 0.148399889469 0.002237849403 0.988924920559 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.364242702723 -0.054625615478 0.929700672626 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.637862801552 -0.223076045513 0.737135112286 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn 0.148399889469 0.002237849403 0.988924920559 -vn 0.148399889469 0.002237849403 0.988924920559 -vn 0.054863095284 0.347303807735 0.936146438122 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn -0.001566139865 -0.462129712105 0.886810958385 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.638392686844 -0.365504652262 0.677392899990 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.587673306465 -0.199469223619 0.784125089645 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn 0.054863095284 0.347303807735 0.936146438122 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.246305704117 -0.082893215120 0.965640842915 -vn -0.004930214491 -0.283830404282 0.958861827850 -vn 0.054863095284 0.347303807735 0.936146438122 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.344563275576 0.644585311413 0.682485103607 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.372962445021 0.479036808014 0.794621169567 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.549920439720 0.485596776009 0.679546356201 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.686435878277 0.364511430264 0.629235386848 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.779409170151 0.133687332273 0.612085759640 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.847423136234 -0.037507932633 0.529591500759 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.886623203754 -0.054525546730 0.459267079830 -vn -0.748294830322 0.242019072175 0.617641985416 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.270152628422 0.623499035835 0.733666479588 -vn -0.270152628422 0.623499035835 0.733666479588 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.748294830322 0.242019072175 0.617641985416 -vn 0.023788293824 0.573797225952 0.818651854992 -vn -0.270152628422 0.623499035835 0.733666479588 -vn -0.291076213121 0.481702655554 0.826581597328 -vn -0.291076213121 0.481702655554 0.826581597328 -vn 0.054863095284 0.347303807735 0.936146438122 -vn 0.023788293824 0.573797225952 0.818651854992 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.023788293824 0.573797225952 0.818651854992 -vn 0.054863095284 0.347303807735 0.936146438122 -vn 0.054863095284 0.347303807735 0.936146438122 -vn 0.148399889469 0.002237849403 0.988924920559 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.148399889469 0.002237849403 0.988924920559 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.137372553349 0.403856068850 0.904449582100 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.148399889469 0.002237849403 0.988924920559 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.334695070982 0.126260608435 0.933829486370 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.596428692341 0.562675476074 0.572423934937 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.596428692341 0.562675476074 0.572423934937 -vn -0.521575689316 0.572148561478 0.632933557034 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.386426508427 0.578002810478 0.718740105629 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.403516948223 0.547950804234 0.732750952244 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.068840779364 0.560529172421 0.825268447399 -vn -0.068840779364 0.560529172421 0.825268447399 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.596428692341 0.562675476074 0.572423934937 -vn -0.427337408066 0.314811915159 0.847511768341 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.854340553284 0.087816275656 0.512240648270 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn 0.143529653549 0.440658539534 0.886125981808 -vn 0.190369337797 0.409592747688 0.892184555531 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.137372553349 0.403856068850 0.904449582100 -vn -0.068840779364 0.560529172421 0.825268447399 -vn 0.143529653549 0.440658539534 0.886125981808 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.270152628422 0.623499035835 0.733666479588 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.270152628422 0.623499035835 0.733666479588 -vn 0.023788293824 0.573797225952 0.818651854992 -vn 0.023788293824 0.573797225952 0.818651854992 -vn -0.011909886263 0.610265195370 0.792107701302 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.011909886263 0.610265195370 0.792107701302 -vn 0.023788293824 0.573797225952 0.818651854992 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.190369337797 0.409592747688 0.892184555531 -vn 0.143529653549 0.440658539534 0.886125981808 -vn -0.011909886263 0.610265195370 0.792107701302 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.882100045681 0.079713657498 0.464268475771 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.893567860126 0.130850359797 0.429435312748 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.762780547142 0.400260478258 0.507895052433 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.893567860126 0.130850359797 0.429435312748 -vn -0.916964530945 0.114480897784 0.382191210985 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.863167405128 0.192745745182 0.466681003571 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn -0.217033192515 0.376930564642 0.900455415249 -vn -0.217033192515 0.376930564642 0.900455415249 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.217033192515 0.376930564642 0.900455415249 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.193748310208 0.389752209187 0.900308191776 -vn -0.217033192515 0.376930564642 0.900455415249 -vn 0.080102473497 0.828760683537 0.553840458393 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.217033192515 0.376930564642 0.900455415249 -vn -0.217033192515 0.376930564642 0.900455415249 -vn 0.193748310208 0.389752209187 0.900308191776 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.065837807953 0.882237017155 0.466179400682 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.469709098339 0.664078414440 0.581698536873 -vn -0.469709098339 0.664078414440 0.581698536873 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.065837807953 0.882237017155 0.466179400682 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.808123826981 0.439913094044 0.391678839922 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.694979846478 0.558244287968 0.453173667192 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.771863758564 0.521848499775 0.363181054592 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.771863758564 0.521848499775 0.363181054592 -vn 0.057261314243 0.891568779945 0.449250817299 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.411870986223 0.780674993992 0.470009416342 -vn -0.411870986223 0.780674993992 0.470009416342 -vn 0.065837807953 0.882237017155 0.466179400682 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.150822833180 0.635599315166 0.757143259048 -vn -0.068840779364 0.560529172421 0.825268447399 -vn -0.390541195869 0.766919553280 0.509226858616 -vn -0.390541195869 0.766919553280 0.509226858616 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.143529653549 0.440658539534 0.886125981808 -vn -0.068840779364 0.560529172421 0.825268447399 -vn -0.068840779364 0.560529172421 0.825268447399 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.143529653549 0.440658539534 0.886125981808 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.162006527185 0.616976797581 0.770125627518 -vn -0.011909886263 0.610265195370 0.792107701302 -vn 0.143529653549 0.440658539534 0.886125981808 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.066447027028 0.874545276165 0.480370044708 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.011909886263 0.610265195370 0.792107701302 -vn 0.162006527185 0.616976797581 0.770125627518 -vn -0.011909886263 0.610265195370 0.792107701302 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.011909886263 0.610265195370 0.792107701302 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.299964487553 0.683094441891 0.665885329247 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.893567860126 0.130850359797 0.429435312748 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.752513349056 0.427093178034 0.501313328743 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.893567860126 0.130850359797 0.429435312748 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.885882377625 0.112097278237 0.450162917376 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.795666098595 0.317581713200 0.515807449818 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.359927237034 0.401224017143 0.842301428318 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.623659551144 0.380152404308 0.683032155037 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.893415629864 0.151184454560 0.423026919365 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.907577753067 0.131067544222 0.398903340101 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.763386487961 0.156498655677 0.626697123051 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.439757525921 0.140757396817 0.887017846107 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.332337766886 0.311493158340 0.890237987041 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.694828391075 0.219617471099 0.684822380543 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.625334560871 -0.238754346967 0.742935419083 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn -0.756767809391 -0.052385684103 0.651581287384 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn -0.727002084255 0.154723718762 0.668975770473 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn -0.305853247643 -0.242935404181 0.920562982559 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.383693754673 0.415092200041 0.824910640717 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn -0.527027726173 -0.021860340610 0.849566876888 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.383693754673 0.415092200041 0.824910640717 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.530067265034 0.182262152433 0.828135967255 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn -0.383693754673 0.415092200041 0.824910640717 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.129079088569 0.182803943753 0.974639058113 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.489686667919 0.504504680634 0.711113214493 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.199788928032 -0.930502891541 0.306999534369 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn 0.199788928032 -0.930502891541 0.306999534369 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn -0.314739197493 -0.737429022789 0.597609996796 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn -0.028332799673 -0.666234850883 0.745203554630 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.463801503181 -0.757760345936 0.459007054567 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.249539628625 -0.831801772118 0.495818287134 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.393963932991 -0.907506763935 0.145684033632 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.343408226967 -0.915781915188 0.208361029625 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn -0.393963932991 -0.907506763935 0.145684033632 -vn -0.154837504029 -0.986933887005 -0.044574052095 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn 0.127255231142 -0.188344046474 0.973823726177 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.530067265034 0.182262152433 0.828135967255 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn 0.312652051449 -0.927255630493 0.206023424864 -vn 0.494197249413 -0.754905045033 0.431146651506 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn 0.237130910158 -0.530649483204 0.813744485378 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.393963932991 -0.907506763935 0.145684033632 -vn 0.176475107670 -0.932356715202 0.315543144941 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.393963932991 -0.907506763935 0.145684033632 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.535760462284 -0.485617697239 0.690750479698 -vn -0.804074645042 -0.480982899666 0.349455922842 -vn -0.658694267273 -0.752078175545 0.022367335856 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.315292984247 0.356447100639 0.879508852959 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.307988971472 0.256761282682 0.916087567806 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.265762388706 0.341355532408 0.901580154896 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.266749024391 0.631645679474 0.727920830250 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.420182943344 0.649817228317 0.633390784264 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.526362180710 0.591725170612 0.610576927662 -vn -0.465997457504 0.474939972162 0.746510803699 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.465997457504 0.474939972162 0.746510803699 -vn 0.174813181162 0.397422939539 0.900830388069 -vn -0.125801399350 0.381812900305 0.915637969971 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.104101993144 0.368369311094 0.923832714558 -vn 0.189450860023 0.359886229038 0.913559138775 -vn 0.174813181162 0.397422939539 0.900830388069 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.682675838470 0.530749320984 0.502253770828 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.682675838470 0.530749320984 0.502253770828 -vn -0.625428259373 0.495156258345 0.603042125702 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.535713851452 0.407568365335 0.739525973797 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.552081704140 0.668588280678 0.498192220926 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.326112389565 0.647804796696 0.688476324081 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.253103345633 0.215464681387 0.943140327930 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.372200131416 0.254434913397 0.892597317696 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.383693754673 0.415092200041 0.824910640717 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.476249128580 0.384410738945 0.790831923485 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.383693754673 0.415092200041 0.824910640717 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.023426074535 0.341141790152 0.939719915390 -vn -0.129079088569 0.182803943753 0.974639058113 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.489686667919 0.504504680634 0.711113214493 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.023426074535 0.341141790152 0.939719915390 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.256318479776 0.039006829262 0.965804994106 -vn -0.129079088569 0.182803943753 0.974639058113 -vn -0.129079088569 0.182803943753 0.974639058113 -vn -0.023426074535 0.341141790152 0.939719915390 -vn 0.212365403771 0.248311832547 0.945114910603 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.682675838470 0.530749320984 0.502253770828 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.588860034943 0.466583490372 0.659957349300 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.682675838470 0.530749320984 0.502253770828 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.641178429127 0.678829967976 0.357882797718 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.388789445162 0.349601566792 0.852420985699 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.413006156683 0.495547741652 0.764106214046 -vn -0.388789445162 0.349601566792 0.852420985699 -vn -0.388789445162 0.349601566792 0.852420985699 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.198482468724 0.114406384528 0.973404288292 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.360481590033 0.133366003633 0.923182845116 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.451417952776 0.277944266796 0.847920298576 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.433118402958 0.408091127872 0.803660452366 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.076032698154 0.722265958786 0.687423348427 -vn -0.023426074535 0.341141790152 0.939719915390 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.358566522598 0.428788691759 0.829198598862 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.076032698154 0.722265958786 0.687423348427 -vn 0.212365403771 0.248311832547 0.945114910603 -vn -0.023426074535 0.341141790152 0.939719915390 -vn -0.076032698154 0.722265958786 0.687423348427 -vn -0.076032698154 0.722265958786 0.687423348427 -vn 0.055986881256 0.728759109974 0.682477593422 -vn 0.212365403771 0.248311832547 0.945114910603 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.388789445162 0.349601566792 0.852420985699 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.258582144976 0.059639494866 0.964146435261 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.499279707670 0.194446042180 0.844340264797 -vn -0.647559285164 0.548586845398 0.528885126114 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.591052055359 0.431705445051 0.681386709213 -vn -0.679444611073 0.610277473927 0.407328456640 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.551266074181 0.579253494740 0.600475728512 -vn -0.623957276344 0.639919638634 0.448531210423 -vn -0.485179066658 0.696842193604 0.528216063976 -vn 0.189450860023 0.359886229038 0.913559138775 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.068228773773 0.298730581999 0.951895415783 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.189450860023 0.359886229038 0.913559138775 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.125801399350 0.381812900305 0.915637969971 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.312441259623 0.395822644234 0.863542079926 -vn -0.104101993144 0.368369311094 0.923832714558 -vn -0.125801399350 0.381812900305 0.915637969971 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.404190242290 0.454529225826 0.793746471405 -vn -0.359362721443 0.378377079964 0.853047013283 -vn -0.125801399350 0.381812900305 0.915637969971 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.148606613278 0.474946022034 0.867376685143 -vn 0.143435344100 0.498812109232 0.854758918285 -vn 0.143435344100 0.498812109232 0.854758918285 -vn -0.012771333568 0.858014822006 0.513466119766 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.485179066658 0.696842193604 0.528216063976 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.076032698154 0.722265958786 0.687423348427 -vn -0.429581940174 0.658338308334 0.618101954460 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.012771333568 0.858014822006 0.513466119766 -vn 0.055986881256 0.728759109974 0.682477593422 -vn 0.055986881256 0.728759109974 0.682477593422 -vn -0.076032698154 0.722265958786 0.687423348427 -vn -0.253973126411 0.785078167915 0.564933538437 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.538188695908 0.264146775007 0.800362050533 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.836813807487 0.186702415347 0.514669656754 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.896722614765 0.179688841105 0.404475569725 -vn -0.896722614765 0.179688841105 0.404475569725 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.878834486008 0.176552668214 0.443259596825 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.543800532818 0.442923873663 0.712810933590 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.466357082129 0.552756190300 0.690631389618 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.435317426920 0.573959171772 0.693591833115 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.456825613976 0.516326904297 0.724373459816 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.391398638487 0.397019624710 0.830170154572 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.267233550549 0.334511578083 0.903708040714 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.067125074565 0.157456219196 0.985242009163 -vn 0.202230855823 0.135011807084 0.969986855984 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.200406655669 0.284720838070 0.937427997589 -vn -0.068228773773 0.298730581999 0.951895415783 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.761066019535 0.470063358545 0.447011142969 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.734925448895 0.490863144398 0.467908084393 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.698878407478 0.347065120935 0.625391721725 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.591195464134 0.235663145781 0.771330535412 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.434332191944 0.195762410760 0.879222750664 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.267134964466 0.181432187557 0.946425497532 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.202230855823 0.135011807084 0.969986855984 -vn -0.067125074565 0.157456219196 0.985242009163 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.872427821159 0.346370130777 0.344814985991 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.869322419167 0.077864855528 0.488073319197 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.747900903225 -0.163354054093 0.643397033215 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.567458391190 -0.253882825375 0.783284425735 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.351191669703 -0.261454999447 0.899058222771 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn 0.138890832663 -0.801826655865 0.581191301346 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn -0.079490303993 -0.281491726637 0.956265509129 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.896722614765 0.179688841105 0.404475569725 -vn -0.919281125069 0.197047114372 0.340726643801 -vn -0.919281125069 0.197047114372 0.340726643801 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.855607628822 0.333090543747 0.396214872599 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.901383638382 0.126723989844 0.414063543081 -vn -0.901383638382 0.126723989844 0.414063543081 -vn -0.896722614765 0.179688841105 0.404475569725 -vn -0.891332924366 0.137296840549 0.432059258223 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.895166754723 0.229004427791 0.382404863834 -vn -0.895166754723 0.229004427791 0.382404863834 -vn -0.901383638382 0.126723989844 0.414063543081 -vn -0.894213795662 0.123666495085 0.430218875408 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.804847061634 0.546090245247 0.232393324375 -vn -0.804847061634 0.546090245247 0.232393324375 -vn -0.895166754723 0.229004427791 0.382404863834 -vn -0.896939873695 0.210649311543 0.388748884201 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.423992425203 0.897252678871 0.123158536851 -vn -0.423992425203 0.897252678871 0.123158536851 -vn -0.804847061634 0.546090245247 0.232393324375 -vn -0.753519773483 0.571189284325 0.325500786304 -vn -0.160930529237 0.977088928223 0.139278993011 -vn -0.423992425203 0.897252678871 0.123158536851 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.371073067188 0.842229127884 0.391094416380 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.160930529237 0.977088928223 0.139278993011 -vn -0.105991713703 0.867368280888 0.486248910427 -vn 0.066447027028 0.874545276165 0.480370044708 -vn -0.025935206562 0.987000048161 0.158613726497 -vn -0.025935206562 0.987000048161 0.158613726497 -vn -0.160930529237 0.977088928223 0.139278993011 -vn -0.105991713703 0.867368280888 0.486248910427 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.324463427067 -0.758725166321 0.564853608608 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.666060030460 -0.719265341759 0.197538405657 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.532799720764 -0.676156878471 0.508857905865 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.666060030460 -0.719265341759 0.197538405657 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.744308650494 -0.519166171551 0.420084595680 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.940527975559 -0.179164126515 0.288630217314 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.957346260548 0.170727133751 0.233110263944 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.919281125069 0.197047114372 0.340726643801 -vn -0.951893627644 0.165721222758 0.257749825716 -vn -0.951893627644 0.165721222758 0.257749825716 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.910739362240 0.261341512203 0.319772452116 -vn -0.951893627644 0.165721222758 0.257749825716 -vn -0.992123544216 0.107160180807 0.064866028726 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.951893627644 0.165721222758 0.257749825716 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.946807622910 0.193610027432 0.257041752338 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.982647716999 0.016579046845 0.184739291668 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.666060030460 -0.719265341759 0.197538405657 -vn -0.920943319798 -0.369556844234 0.123657345772 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.666060030460 -0.719265341759 0.197538405657 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.465739727020 -0.826660633087 0.315782696009 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.223995730281 -0.905615508556 0.360120028257 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.992123544216 0.107160180807 0.064866028726 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.940244019032 -0.092775426805 0.327618628740 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.900042414665 -0.367482185364 0.234265789390 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.722536802292 -0.635164976120 0.272957891226 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.590967774391 -0.706974327564 0.388515591621 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.370591431856 -0.795985579491 0.478611499071 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn -0.132983490825 -0.834781706333 0.534279823303 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.399518489838 -0.542610168457 0.738890528679 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.533770442009 -0.580261945724 0.615130186081 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.643752753735 -0.493780285120 0.584605395794 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.725106775761 -0.420382618904 0.545434296131 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.867924034595 -0.260958462954 0.422621041536 -vn -0.940244019032 -0.092775426805 0.327618628740 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.940244019032 -0.092775426805 0.327618628740 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.940244019032 -0.092775426805 0.327618628740 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.982467770576 0.013177152723 0.185966104269 -vn -0.977001428604 0.139837592840 0.160977154970 -vn -0.746083080769 0.133082449436 -0.652417898178 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.915636658669 0.071842692792 -0.395535230637 -vn -0.915636658669 0.071842692792 -0.395535230637 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.746083080769 0.133082449436 -0.652417898178 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.999725461006 0.019930899143 0.012318536639 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.994666993618 -0.069035917521 0.076626136899 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.931911706924 -0.215440362692 0.291763722897 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.759057343006 -0.301369190216 0.577068984509 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.602344691753 -0.280756384134 0.747232735157 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.455631524324 -0.168883621693 0.874001264572 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.217910498381 0.339262723923 0.915104269981 -vn -0.212129950523 0.227813541889 0.950316727161 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.217910498381 0.339262723923 0.915104269981 -vn -0.191797509789 0.434196591377 0.880163073540 -vn -0.217910498381 0.339262723923 0.915104269981 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.375407576561 0.093609236181 0.922120630741 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.191797509789 0.434196591377 0.880163073540 -vn -0.427307009697 0.517403364182 0.741419196129 -vn -0.191797509789 0.434196591377 0.880163073540 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.427307009697 0.517403364182 0.741419196129 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.395720273256 0.369814962149 0.840620219707 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.659957766533 -0.041379831731 0.750162303448 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.837945520878 -0.316482156515 0.444619327784 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.915060877800 -0.357950210571 0.185836642981 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.964661836624 -0.263473212719 -0.003073681612 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.987796187401 -0.113843455911 -0.106294021010 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.989076316357 -0.038925040513 -0.142172202468 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.915636658669 0.071842692792 -0.395535230637 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.994616329670 0.103621371090 0.001013222034 -vn -0.964359700680 0.172863632441 -0.200321212411 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.915636658669 0.071842692792 -0.395535230637 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.971966803074 0.001679895911 -0.235112071037 -vn -0.746083080769 0.133082449436 -0.652417898178 -vn -0.492909461260 -0.012797347270 -0.869986474514 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.746083080769 0.133082449436 -0.652417898178 -vn -0.492909461260 -0.012797347270 -0.869986474514 -vn -0.091410763562 -0.033696297556 -0.995243012905 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.492909461260 -0.012797347270 -0.869986474514 -vn -0.329013854265 0.770135164261 0.546481192112 -vn -0.427307009697 0.517403364182 0.741419196129 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.452492952347 0.644353330135 0.616489171982 -vn -0.329013854265 0.770135164261 0.546481192112 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.452492952347 0.644353330135 0.616489171982 -vn -0.452492952347 0.644353330135 0.616489171982 -vn -0.535577595234 0.507573664188 0.674926340580 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.773666918278 0.195886433125 0.602551281452 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.898037970066 -0.009601750411 0.439813166857 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.963670790195 -0.085356377065 0.253086805344 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.984421253204 -0.134353876114 0.113419070840 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.997844159603 -0.060008797795 0.026569990441 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.996333360672 0.068236447871 -0.051610436291 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.953527510166 0.177026733756 -0.243817120790 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.760778129101 0.260384917259 -0.594488263130 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.406314909458 0.302539587021 -0.862193703651 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.398361533880 0.768928885460 0.500056445599 -vn -0.329013854265 0.770135164261 0.546481192112 -vn -0.329013854265 0.770135164261 0.546481192112 -vn -0.452492952347 0.644353330135 0.616489171982 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.561793684959 0.644772768021 0.518320322037 -vn -0.561793684959 0.644772768021 0.518320322037 -vn -0.398361533880 0.768928885460 0.500056445599 -vn -0.583555281162 0.562829434872 0.585394084454 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.698581337929 0.486032783985 0.525124967098 -vn -0.698581337929 0.486032783985 0.525124967098 -vn -0.561793684959 0.644772768021 0.518320322037 -vn -0.727042436600 0.392065703869 0.563643276691 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.762003898621 0.412130415440 0.499498367310 -vn -0.762003898621 0.412130415440 0.499498367310 -vn -0.698581337929 0.486032783985 0.525124967098 -vn -0.818493127823 0.307605028152 0.485230028629 -vn -0.839617133141 0.349256485701 0.416008383036 -vn -0.762003898621 0.412130415440 0.499498367310 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.876592457294 0.223390161991 0.426242262125 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.839617133141 0.349256485701 0.416008383036 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.866007030010 0.441917747259 0.233966961503 -vn -0.839617133141 0.349256485701 0.416008383036 -vn -0.839617133141 0.349256485701 0.416008383036 -vn -0.916528403759 0.191852614284 0.350953310728 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.776705801487 0.629756927490 0.011586484499 -vn -0.776705801487 0.629756927490 0.011586484499 -vn -0.866007030010 0.441917747259 0.233966961503 -vn -0.928365826607 0.321700394154 0.186133533716 -vn -0.523762464523 0.784509122372 -0.331991434097 -vn -0.776705801487 0.629756927490 0.011586484499 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.855468750000 0.511627614498 -0.080065056682 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.523762464523 0.784509122372 -0.331991434097 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.206527620554 0.787486314774 -0.580699265003 -vn -0.206527620554 0.787486314774 -0.580699265003 -vn -0.523762464523 0.784509122372 -0.331991434097 -vn -0.624914050102 0.641845524311 -0.444428503513 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn 0.031884565949 0.757848381996 -0.651651144028 -vn 0.031884565949 0.757848381996 -0.651651144028 -vn -0.206527620554 0.787486314774 -0.580699265003 -vn -0.282768219709 0.664981305599 -0.691261172295 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn 0.016504848376 -0.369534045458 0.929070591927 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn 0.078862175345 -0.381660461426 0.920932173729 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.153125435114 -0.193988814950 0.968979299068 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.410691499710 0.290064156055 0.864404559135 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.105937428772 0.694840073586 0.711318850517 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.027015432715 0.338717550039 0.940500199795 -vn -0.140696853399 0.584784626961 0.798893809319 -vn -0.105937428772 0.694840073586 0.711318850517 -vn -0.105937428772 0.694840073586 0.711318850517 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.027015432715 0.338717550039 0.940500199795 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.027015432715 0.338717550039 0.940500199795 -vn 0.009658423252 0.446354955435 0.894803881645 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.266394942999 0.146734341979 0.952629387379 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.279472678900 0.108999013901 0.953946650028 -vn -0.266394942999 0.146734341979 0.952629387379 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.553700327873 0.070910565555 0.829691290855 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.769504010677 0.079040892422 0.633731842041 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.677909493446 0.067609973252 0.732029795647 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.606147646904 -0.230062335730 0.761351704597 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.599996566772 -0.402166903019 0.691567718983 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn -0.126013457775 -0.373803198338 0.918907940388 -vn -0.428883343935 -0.397854208946 0.811030864716 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn 0.036760635674 -0.803918957710 0.593601703644 -vn -0.084034346044 -0.807875812054 0.583330869675 -vn -0.084034346044 -0.807875812054 0.583330869675 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn 0.013011713512 -0.459181368351 0.888247251511 -vn -0.084034346044 -0.807875812054 0.583330869675 -vn -0.084034346044 -0.807875812054 0.583330869675 -vn -0.109498061240 -0.629230618477 0.769466698170 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn 0.080218009651 -0.410371363163 0.908383429050 -vn -0.109498061240 -0.629230618477 0.769466698170 -vn -0.109498061240 -0.629230618477 0.769466698170 -vn -0.221097260714 -0.580378770828 0.783757925034 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.063901998103 -0.398544043303 0.914920330048 -vn -0.221097260714 -0.580378770828 0.783757925034 -vn -0.221097260714 -0.580378770828 0.783757925034 -vn -0.685548245907 0.317658185959 0.655070185661 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.105937428772 0.694840073586 0.711318850517 -vn -0.249645799398 0.220579460263 0.942879438400 -vn -0.685548245907 0.317658185959 0.655070185661 -vn -0.685548245907 0.317658185959 0.655070185661 -vn -0.600660264492 0.792620480061 0.104690179229 -vn -0.105937428772 0.694840073586 0.711318850517 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.105937428772 0.694840073586 0.711318850517 -vn -0.600660264492 0.792620480061 0.104690179229 -vn -0.600660264492 0.792620480061 0.104690179229 -vn -0.069257460535 0.874967575073 0.479202568531 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.265599220991 0.522465229034 0.810238957405 -vn -0.266394942999 0.146734341979 0.952629387379 -vn 0.009658423252 0.446354955435 0.894803881645 -vn 0.009658423252 0.446354955435 0.894803881645 -vn -0.069257460535 0.874967575073 0.479202568531 -vn -0.265599220991 0.522465229034 0.810238957405 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.266394942999 0.146734341979 0.952629387379 -vn -0.265599220991 0.522465229034 0.810238957405 -vn -0.265599220991 0.522465229034 0.810238957405 -vn -0.446344643831 0.362028479576 0.818359255791 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.537447929382 0.114899255335 0.835432767868 -vn -0.446344643831 0.362028479576 0.818359255791 -vn -0.446344643831 0.362028479576 0.818359255791 -vn -0.504875242710 0.559537291527 0.657281517982 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.685811817646 0.249726369977 0.683592677116 -vn -0.504875242710 0.559537291527 0.657281517982 -vn -0.504875242710 0.559537291527 0.657281517982 -vn -0.336613386869 0.544670164585 0.768131375313 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.710882127285 0.139447763562 0.689348161221 -vn -0.336613386869 0.544670164585 0.768131375313 -vn -0.336613386869 0.544670164585 0.768131375313 -vn -0.102486148477 -0.211847081780 0.971914291382 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.630098760128 -0.243901118636 0.737216234207 -vn -0.102486148477 -0.211847081780 0.971914291382 -vn -0.102486148477 -0.211847081780 0.971914291382 -vn -0.255514144897 -0.578030169010 0.774979770184 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn 0.011388301849 -0.758041679859 0.652106702328 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.503107845783 -0.454628795385 0.734979689121 -vn -0.255514144897 -0.578030169010 0.774979770184 -vn 0.011388301849 -0.758041679859 0.652106702328 -vn 0.036760635674 -0.803918957710 0.593601703644 -vn -0.102777846158 -0.450431048870 0.886875748634 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn -0.273829430342 -0.547039330006 0.791053354740 -vn 0.011388301849 -0.758041679859 0.652106702328 -vn 0.036760635674 -0.803918957710 0.593601703644 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.596428692341 0.562675476074 0.572423934937 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.741860687733 0.398763775826 0.539101243019 -vn -0.745369732380 0.574101984501 0.338866978884 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.719880223274 0.496003329754 0.485544234514 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.774322211742 0.506421625614 0.379423618317 -vn -0.604330658913 0.579120814800 0.547177731991 -vn -0.647695779800 0.510680079460 0.565416753292 -vn -0.129079088569 0.182803943753 0.974639058113 -vn 0.256318479776 0.039006829262 0.965804994106 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn -0.451884835958 -0.352392107248 0.819524168968 -vn -0.129079088569 0.182803943753 0.974639058113 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.143435344100 0.498812109232 0.854758918285 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.148606613278 0.474946022034 0.867376685143 -vn -0.125801399350 0.381812900305 0.915637969971 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.138890832663 -0.801826655865 0.581191301346 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.112893626094 -0.793193936348 0.598413288593 -vn -0.042874984443 -0.941498875618 0.334277719259 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.868730366230 0.328395128250 0.370761603117 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.913611531258 0.350178182125 0.206613779068 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.460474193096 0.810446918011 0.362131565809 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.763267517090 0.574969351292 0.294674217701 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.932681202888 0.163048297167 0.321746885777 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.751718580723 0.003752671881 0.659473359585 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.946365475655 -0.125464737415 0.297743052244 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.391488641500 -0.397782742977 0.829762339592 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.949858725071 -0.240486517549 0.199836567044 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.938949048519 -0.058859646320 0.338984102011 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.437488079071 -0.155996456742 0.885589778423 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.705798804760 0.015210544690 0.708248972893 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.715422451496 0.350363373756 0.604496717453 -vn 0.502289772034 0.579192757607 0.642059743404 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.815317630768 0.471812427044 0.335633963346 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.880656659603 0.431369334459 0.195868119597 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.959631383419 0.240150228143 0.146408542991 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.995585680008 0.084991008043 0.039821058512 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.996004641056 0.086562149227 -0.021949866787 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.921359837055 0.324258625507 0.214364975691 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.637871384621 0.505046308041 0.581419229507 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.382308036089 0.393014520407 0.836289525032 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.332400560379 0.032188046724 0.942588865757 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.723643064499 0.199117779732 0.660827338696 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.708084583282 0.692552626133 0.137793600559 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.708084583282 0.692552626133 0.137793600559 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.646447479725 0.689189255238 0.327297866344 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.712246954441 0.480327963829 0.511848926544 -vn 0.617744982243 0.553522169590 0.558573484421 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.708084583282 0.692552626133 0.137793600559 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.766100347042 0.358995050192 0.533116102219 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.978415131569 0.206477284431 0.008421845734 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.513990104198 0.448301106691 0.731327772141 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.561893999577 0.628997325897 0.537249922752 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.227718770504 0.409422904253 0.883468747139 -vn 0.337808459997 0.583175957203 0.738776862621 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.962731480598 0.260328829288 -0.073327668011 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.978925883770 0.200375735760 -0.039417244494 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.962731480598 0.260328829288 -0.073327668011 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.870324015617 0.476587593555 0.124098449945 -vn 0.963288187981 0.245665282011 -0.108279429376 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.955230534077 0.294983744621 -0.022786777467 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.193748310208 0.389752209187 0.900308191776 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.193748310208 0.389752209187 0.900308191776 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.573244988918 0.426280379295 0.699767947197 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.065837807953 0.882237017155 0.466179400682 -vn 0.080102473497 0.828760683537 0.553840458393 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.581106901169 0.752690315247 0.309470504522 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.065837807953 0.882237017155 0.466179400682 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.693223118782 0.698026776314 0.179444551468 -vn 0.802966713905 0.595613062382 0.022125337273 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.726919829845 0.686512351036 0.016981491819 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.065837807953 0.882237017155 0.466179400682 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.470912784338 0.849372148514 0.238344386220 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.057261314243 0.891568779945 0.449250817299 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.484451025724 0.828598141670 0.280592858791 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.150822833180 0.635599315166 0.757143259048 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.391466438770 0.592203080654 0.704307854176 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.198422238231 0.451261907816 0.870052456856 -vn 0.254763633013 0.450295269489 0.855762600899 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.066447027028 0.874545276165 0.480370044708 -vn 0.162006527185 0.616976797581 0.770125627518 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.323617666960 0.631942093372 0.704216420650 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.513759911060 0.724395990372 0.459675103426 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.844890832901 0.527608036995 0.088256470859 -vn 0.962731480598 0.260328829288 -0.073327668011 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.962731480598 0.260328829288 -0.073327668011 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.971856832504 0.228067263961 -0.058987963945 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.911189258099 0.404794245958 0.076653681695 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.843756496906 0.439300507307 0.308366686106 -vn 0.694763541222 0.453988581896 0.557851195335 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.964206695557 0.249121606350 -0.090795695782 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.970545232296 0.217519640923 -0.103571861982 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.954509973526 0.227643296123 0.192585557699 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.808572351933 0.230919525027 0.541190326214 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.695473253727 0.390722751617 0.603036224842 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.927650451660 0.292795777321 0.231808677316 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.941774845123 -0.162280142307 0.294491648674 -vn 0.976824223995 0.065190963447 0.203873768449 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.932209432125 0.252634704113 0.259155035019 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.750695765018 -0.204045504332 0.628348052502 -vn 0.274623602629 -0.340901017189 0.899093091488 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.881306648254 -0.029563881457 0.471619129181 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.199788928032 -0.930502891541 0.306999534369 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn 0.199788928032 -0.930502891541 0.306999534369 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.239685952663 -0.807179331779 0.539455413818 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.530258059502 -0.658419847488 0.534143865108 -vn 0.687712013721 -0.691433250904 0.221296757460 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.721093952656 -0.689267814159 0.070238180459 -vn 0.597214460373 -0.764811575413 0.241656988859 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.569580495358 -0.820051550865 -0.055619228631 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.595596849918 -0.783921420574 -0.175304144621 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.595596849918 -0.783921420574 -0.175304144621 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn 0.304680794477 -0.922051012516 -0.238728925586 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.830080926418 0.300810962915 0.469551295042 -vn 0.438327252865 -0.163195595145 0.883875787258 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn 0.060541231185 -0.987986981869 0.142184779048 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn -0.015889639035 -0.856240689754 0.516332685947 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.595596849918 -0.783921420574 -0.175304144621 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.362986683846 -0.543438851833 0.756911396980 -vn 0.256147146225 -0.944341897964 0.206414595246 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.932668745518 -0.338243275881 -0.125381320715 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.894300460815 -0.354748576880 0.272727280855 -vn 0.595596849918 -0.783921420574 -0.175304144621 -vn 0.705144464970 -0.621076881886 -0.342103481293 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.669635236263 0.465004295111 0.579102456570 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.687887787819 0.334090083838 0.644355654716 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.653526067734 0.407454669476 0.637874901295 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.634473979473 0.589673757553 0.499727547169 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.698470294476 0.581860423088 0.416626513004 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.746993243694 0.532737910748 0.397732883692 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.730922043324 0.457406550646 0.506490111351 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.189450860023 0.359886229038 0.913559138775 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.754177689552 0.626339972019 0.197266981006 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.754177689552 0.626339972019 0.197266981006 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.810685992241 0.490832895041 0.319172859192 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.785306930542 0.420944809914 0.453980714083 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.712920784950 0.650831878185 0.261078268290 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.631312608719 0.613184511662 0.474814802408 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.668137073517 0.285563141108 0.687056422234 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.740139663219 0.363552957773 0.565705299377 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.748942732811 0.480127364397 0.456686407328 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.647795736790 0.509497582912 0.566368162632 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.660879850388 0.615431725979 0.429513245821 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.256318479776 0.039006829262 0.965804994106 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.751814782619 0.542736291885 0.374448657036 -vn 0.754177689552 0.626339972019 0.197266981006 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.754177689552 0.626339972019 0.197266981006 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.721213638783 0.367009401321 0.587498903275 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.643801271915 0.761630415916 0.073749937117 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.721213638783 0.367009401321 0.587498903275 -vn 0.721213638783 0.367009401321 0.587498903275 -vn 0.690789639950 0.523333430290 0.498930633068 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.656909048557 0.151666134596 0.738557994366 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.775538980961 0.183304697275 0.604101538658 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.769935011864 0.395327806473 0.500915110111 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.674992680550 0.544619321823 0.497769713402 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.613109469414 0.536489784718 0.579892635345 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.055986881256 0.728759109974 0.682477593422 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.401266843081 0.378328412771 0.834177792072 -vn 0.212365403771 0.248311832547 0.945114910603 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.721213638783 0.367009401321 0.587498903275 -vn 0.705344974995 0.077326208353 0.704634010792 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.733649730682 0.647041141987 0.207595452666 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.835132360458 0.253148376942 0.488333761692 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.648433148861 0.753310024738 0.109811037779 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.752818822861 0.565508663654 0.336843818426 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.590059459209 0.781824648380 0.201444983482 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.581709802151 0.746405720711 0.323252558708 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.189450860023 0.359886229038 0.913559138775 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.189450860023 0.359886229038 0.913559138775 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.637228786945 0.390339761972 0.664510607719 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.463531196117 0.361015528440 0.809201240540 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.669019818306 0.397284835577 0.628153860569 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.638848066330 0.514054417610 0.572382032871 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.246009349823 0.853070199490 0.460163712502 -vn -0.012771333568 0.858014822006 0.513466119766 -vn 0.143435344100 0.498812109232 0.854758918285 -vn 0.143435344100 0.498812109232 0.854758918285 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.472574830055 0.812009453773 0.342510819435 -vn 0.441359281540 0.799569964409 0.407295793295 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.156517177820 0.758275330067 0.632867217064 -vn 0.055986881256 0.728759109974 0.682477593422 -vn 0.055986881256 0.728759109974 0.682477593422 -vn -0.012771333568 0.858014822006 0.513466119766 -vn 0.246009349823 0.853070199490 0.460163712502 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.818397223949 0.368209451437 0.441189020872 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.959213256836 0.278156578541 0.050387240946 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.959071338177 0.263900458813 -0.102658011019 -vn 0.959071338177 0.263900458813 -0.102658011019 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.966507077217 0.248770341277 -0.063066102564 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.796820223331 0.531731307507 0.286948263645 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.753260552883 0.553977191448 0.354552984238 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.718876957893 0.542798221111 0.434264868498 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.724643111229 0.485672384501 0.488891303539 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.704077363014 0.383839637041 0.597446382046 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.617557048798 0.317419141531 0.719630718231 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.452783286572 0.288476914167 0.843663632870 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.200406655669 0.284720838070 0.937427997589 -vn 0.202230855823 0.135011807084 0.969986855984 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.847496092319 0.530518829823 -0.017324548215 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.862550377846 0.504348695278 0.040488097817 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.906684279442 0.350142270327 0.235210523009 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.869828820229 0.229744896293 0.436594873667 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.763165831566 0.176690846682 0.621577203274 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.629935562611 0.152864024043 0.761454999447 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.202230855823 0.135011807084 0.969986855984 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.457086682320 0.133212804794 0.879389643669 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.924294352531 0.355563312769 -0.138761267066 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.998203098774 0.057374663651 0.017284091562 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.950728535652 -0.205100849271 0.232484206557 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.833590924740 -0.306202918291 0.459745496511 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.678838312626 -0.308879584074 0.666162133217 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.464666336775 -0.298411458731 0.833688080311 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.199260234833 -0.289389193058 0.936242103577 -vn 0.138890832663 -0.801826655865 0.581191301346 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.950457096100 0.270852208138 -0.152546450496 -vn 0.950457096100 0.270852208138 -0.152546450496 -vn 0.959071338177 0.263900458813 -0.102658011019 -vn 0.918455123901 0.385997414589 -0.086291559041 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.959071338177 0.263900458813 -0.102658011019 -vn 0.965679407120 0.234967827797 -0.110695056617 -vn 0.965679407120 0.234967827797 -0.110695056617 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.969372093678 0.230969890952 -0.083490356803 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.965679407120 0.234967827797 -0.110695056617 -vn 0.927285432816 0.353592813015 -0.122938469052 -vn 0.927285432816 0.353592813015 -0.122938469052 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.968204200268 0.234657734632 -0.086697340012 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.927285432816 0.353592813015 -0.122938469052 -vn 0.731829226017 0.655255794525 -0.187258720398 -vn 0.731829226017 0.655255794525 -0.187258720398 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.935479402542 0.335015088320 -0.112441688776 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.731829226017 0.655255794525 -0.187258720398 -vn 0.311583012342 0.947266399860 -0.074849106371 -vn 0.311583012342 0.947266399860 -0.074849106371 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.736853659153 0.671932935715 -0.074516959488 -vn 0.084336921573 0.993597984314 0.075168356299 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.407246440649 0.894191622734 0.185934543610 -vn 0.311583012342 0.947266399860 -0.074849106371 -vn 0.084336921573 0.993597984314 0.075168356299 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.084336921573 0.993597984314 0.075168356299 -vn -0.025935206562 0.987000048161 0.158613726497 -vn -0.025935206562 0.987000048161 0.158613726497 -vn 0.066447027028 0.874545276165 0.480370044708 -vn 0.220619097352 0.888912618160 0.401449382305 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.518842935562 -0.785850405693 0.336513310671 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.662475109100 -0.725363969803 0.187012910843 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.564199924469 -0.795334279537 -0.221634536982 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.805370748043 -0.592758417130 -0.003930583131 -vn 0.564199924469 -0.795334279537 -0.221634536982 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.929175615311 -0.269463419914 -0.253026038408 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.939284741879 0.113941721618 -0.323668777943 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.948978900909 0.234526768327 -0.210799112916 -vn 0.948978900909 0.234526768327 -0.210799112916 -vn 0.950457096100 0.270852208138 -0.152546450496 -vn 0.934725701809 0.310489326715 -0.172870650887 -vn 0.948978900909 0.234526768327 -0.210799112916 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.927901625633 0.165795251727 -0.333931833506 -vn 0.948978900909 0.234526768327 -0.210799112916 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.946819961071 0.235502317548 -0.219250187278 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.895631790161 -0.129716515541 -0.425461292267 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.564199924469 -0.795334279537 -0.221634536982 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.696239709854 -0.526411354542 -0.487997263670 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.564199924469 -0.795334279537 -0.221634536982 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.489956259727 -0.871741354465 0.003144107526 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.353234022856 -0.919000506401 0.175110846758 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.927901625633 0.165795251727 -0.333931833506 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.969618976116 0.014173090458 0.244209289551 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.672931492329 -0.577748060226 -0.461920291185 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.602797508240 -0.769893229008 -0.209522381425 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.599060893059 -0.799365341663 0.046272549778 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.470746397972 -0.837257504463 0.278204500675 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.295373827219 -0.848388731480 0.439307302237 -vn 0.099432311952 -0.850939333439 0.515766859055 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn -0.011365610175 -0.569823741913 0.821688354015 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn 0.009567377158 0.062936350703 0.997971653938 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.009567377158 0.062936350703 0.997971653938 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.388656109571 -0.596401989460 0.702318370342 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.571297943592 -0.634666800499 0.520400583744 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.693751633167 -0.554435610771 0.459684520960 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.810669839382 -0.437342017889 0.389289557934 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.969618976116 0.014173090458 0.244209289551 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.920904278755 -0.372545152903 0.114653512836 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.969618976116 0.014173090458 0.244209289551 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.969618976116 0.014173090458 0.244209289551 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.888312399387 -0.198640093207 -0.414056956768 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.956887304783 0.187676936388 -0.221684709191 -vn 0.597053110600 0.192763477564 -0.778697490692 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.861497342587 0.166910842061 -0.479544728994 -vn 0.861497342587 0.166910842061 -0.479544728994 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.597053110600 0.192763477564 -0.778697490692 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.935869395733 -0.058511238545 -0.347454905510 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.920701980591 -0.219541355968 -0.322659939528 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.946366429329 -0.292681604624 0.136850625277 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.714061379433 -0.126653254032 0.688531279564 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.307430177927 0.101323992014 0.946160733700 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.496513873339 -0.209683701396 0.842322230339 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.307430177927 0.101323992014 0.946160733700 -vn -0.043281786144 0.417985618114 0.907422006130 -vn 0.307430177927 0.101323992014 0.946160733700 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.269091695547 -0.158653467894 0.949957251549 -vn 0.009567377158 0.062936350703 0.997971653938 -vn -0.043281786144 0.417985618114 0.907422006130 -vn -0.211031064391 0.334258556366 0.918551623821 -vn 0.009567377158 0.062936350703 0.997971653938 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.193377628922 -0.020433094352 0.980911612511 -vn -0.212129950523 0.227813541889 0.950316727161 -vn -0.211031064391 0.334258556366 0.918551623821 -vn -0.252683490515 0.431100577116 0.866200506687 -vn -0.043281786144 0.417985618114 0.907422006130 -vn 0.009567377158 0.062936350703 0.997971653938 -vn 0.009567377158 0.062936350703 0.997971653938 -vn -0.211031064391 0.334258556366 0.918551623821 -vn -0.252683490515 0.431100577116 0.866200506687 -vn -0.005775345955 0.566921889782 0.823751330376 -vn 0.118042111397 0.582126080990 0.804484486580 -vn -0.043281786144 0.417985618114 0.907422006130 -vn -0.043281786144 0.417985618114 0.907422006130 -vn -0.252683490515 0.431100577116 0.866200506687 -vn -0.005775345955 0.566921889782 0.823751330376 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.307430177927 0.101323992014 0.946160733700 -vn -0.043281786144 0.417985618114 0.907422006130 -vn -0.043281786144 0.417985618114 0.907422006130 -vn 0.118042111397 0.582126080990 0.804484486580 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.307430177927 0.101323992014 0.946160733700 -vn 0.307430177927 0.101323992014 0.946160733700 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.681450366974 -0.170108318329 0.711820542812 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.887927532196 -0.283699363470 0.362076491117 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.951872944832 -0.304682195187 -0.033267050982 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.957415223122 -0.181213185191 -0.224761724472 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.969675958157 -0.006265759468 -0.244313865900 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.949974477291 0.187011525035 -0.250150322914 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.861497342587 0.166910842061 -0.479544728994 -vn 0.826718986034 0.240371182561 -0.508682072163 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.861497342587 0.166910842061 -0.479544728994 -vn 0.942599773407 0.121348172426 -0.311095267534 -vn 0.597053110600 0.192763477564 -0.778697490692 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.340949475765 0.080066934228 -0.936665773392 -vn 0.597053110600 0.192763477564 -0.778697490692 -vn 0.340949475765 0.080066934228 -0.936665773392 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn -0.091410763562 -0.033696297556 -0.995243012905 -vn 0.340949475765 0.080066934228 -0.936665773392 -vn -0.087644666433 0.797944962978 0.596323907375 -vn 0.022682305425 0.700176298618 0.713609576225 -vn 0.118042111397 0.582126080990 0.804484486580 -vn 0.118042111397 0.582126080990 0.804484486580 -vn -0.005775345955 0.566921889782 0.823751330376 -vn -0.087644666433 0.797944962978 0.596323907375 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.118042111397 0.582126080990 0.804484486580 -vn 0.022682305425 0.700176298618 0.713609576225 -vn 0.022682305425 0.700176298618 0.713609576225 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.421086013317 0.331745862961 0.844174861908 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.655123889446 0.148886278272 0.740706145763 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.835974216461 0.060734994709 0.545397460461 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.931944012642 -0.003060617950 0.362589240074 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.956516206264 0.125038489699 0.263518750668 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.927957713604 0.333342611790 0.166664868593 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.898776412010 0.424006968737 -0.111440964043 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.699897587299 0.400653809309 -0.591286659241 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn -0.028911255300 0.248572260141 -0.968181788921 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.365882277489 0.343775957823 -0.864840030670 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.022682305425 0.700176298618 0.713609576225 -vn -0.087644666433 0.797944962978 0.596323907375 -vn -0.087644666433 0.797944962978 0.596323907375 -vn -0.021405575797 0.810315549374 0.585602700710 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.158913969994 0.649801671505 0.743306219578 -vn -0.021405575797 0.810315549374 0.585602700710 -vn 0.135182872415 0.733623564243 0.665974557400 -vn 0.135182872415 0.733623564243 0.665974557400 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.158913969994 0.649801671505 0.743306219578 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.135182872415 0.733623564243 0.665974557400 -vn 0.297315388918 0.622704029083 0.723770201206 -vn 0.297315388918 0.622704029083 0.723770201206 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.326081156731 0.529603064060 0.783065557480 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.297315388918 0.622704029083 0.723770201206 -vn 0.389200001955 0.573539316654 0.720816195011 -vn 0.389200001955 0.573539316654 0.720816195011 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.470974206924 0.477889269590 0.741488456726 -vn 0.507545232773 0.531004428864 0.678551495075 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.573665559292 0.416753500700 0.705141365528 -vn 0.389200001955 0.573539316654 0.720816195011 -vn 0.507545232773 0.531004428864 0.678551495075 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.639803349972 0.412074059248 0.648726940155 -vn 0.507545232773 0.531004428864 0.678551495075 -vn 0.507545232773 0.531004428864 0.678551495075 -vn 0.580223083496 0.617204606533 0.531412839890 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.580223083496 0.617204606533 0.531412839890 -vn 0.527233898640 0.796128153801 0.296992242336 -vn 0.527233898640 0.796128153801 0.296992242336 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.654379069805 0.572576820850 0.493906706572 -vn 0.416550189257 0.902303695679 -0.111058652401 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.628654718399 0.752240359783 0.197300985456 -vn 0.527233898640 0.796128153801 0.296992242336 -vn 0.416550189257 0.902303695679 -0.111058652401 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.416550189257 0.902303695679 -0.111058652401 -vn 0.250042259693 0.829527139664 -0.499363213778 -vn 0.250042259693 0.829527139664 -0.499363213778 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.553518593311 0.789642274380 -0.264730513096 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.250042259693 0.829527139664 -0.499363213778 -vn 0.031884565949 0.757848381996 -0.651651144028 -vn 0.031884565949 0.757848381996 -0.651651144028 -vn 0.011481816880 0.636885046959 -0.770873308182 -vn 0.304938465357 0.703848004341 -0.641568779945 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.377220094204 -0.226272672415 0.898056626320 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.274269640446 -0.322407662868 0.905996382236 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.564134895802 -0.143683999777 0.813084661961 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.646276831627 0.492995202541 0.582479178905 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.184095010161 0.707548022270 0.682264506817 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.648735523224 0.337128430605 0.682265818119 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.297506958246 0.235928297043 0.925109446049 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.648735523224 0.337128430605 0.682265818119 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.693422079086 0.040879141539 0.719371080399 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.916819691658 0.095807664096 0.387637108564 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.978968083858 0.184593155980 0.086872689426 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.945089697838 0.192533746362 0.264076173306 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.932904720306 -0.147877126932 0.328361213207 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.940850913525 -0.294875055552 0.166878074408 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.639572858810 -0.175081178546 0.748527288437 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.898053467274 -0.229784309864 0.375098794699 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.348717659712 -0.799128830433 0.489682704210 -vn 0.348717659712 -0.799128830433 0.489682704210 -vn 0.336075752974 -0.870628416538 0.359248220921 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.340711802244 -0.641201555729 0.687587082386 -vn 0.348717659712 -0.799128830433 0.489682704210 -vn 0.348717659712 -0.799128830433 0.489682704210 -vn 0.378185003996 -0.403165251017 0.833326995373 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.487048745155 -0.694580614567 0.529472649097 -vn 0.340711802244 -0.641201555729 0.687587082386 -vn 0.340711802244 -0.641201555729 0.687587082386 -vn 0.229054272175 -0.404233902693 0.885510623455 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.744322121143 0.657111704350 0.119116656482 -vn 0.487048745155 -0.694580614567 0.529472649097 -vn 0.487048745155 -0.694580614567 0.529472649097 -vn 0.420370161533 -0.418006032705 0.805332183838 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.141101598740 0.945256769657 -0.294244796038 -vn 0.744322121143 0.657111704350 0.119116656482 -vn 0.744322121143 0.657111704350 0.119116656482 -vn 0.490524053574 0.461309880018 0.739310026169 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.217779934406 0.618968546391 0.754619002342 -vn -0.089801914990 0.986447930336 0.137317344546 -vn 0.141101598740 0.945256769657 -0.294244796038 -vn 0.141101598740 0.945256769657 -0.294244796038 -vn 0.027354190126 0.848339557648 0.528745472431 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.425227582455 0.791610717773 0.438786923885 -vn -0.089801914990 0.986447930336 0.137317344546 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.217779934406 0.618968546391 0.754619002342 -vn 0.648735523224 0.337128430605 0.682265818119 -vn 0.425227582455 0.791610717773 0.438786923885 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.706862568855 0.568781375885 0.420515179634 -vn 0.425227582455 0.791610717773 0.438786923885 -vn 0.425227582455 0.791610717773 0.438786923885 -vn 0.648735523224 0.337128430605 0.682265818119 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.647108733654 0.750588536263 0.133668154478 -vn 0.706862568855 0.568781375885 0.420515179634 -vn 0.706862568855 0.568781375885 0.420515179634 -vn 0.868949472904 0.298117607832 0.395035088062 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.330178469419 0.915636241436 0.229330360889 -vn 0.647108733654 0.750588536263 0.133668154478 -vn 0.647108733654 0.750588536263 0.133668154478 -vn 0.882189989090 0.458903372288 0.105586610734 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.677508771420 -0.232246801257 0.697884857655 -vn 0.330178469419 0.915636241436 0.229330360889 -vn 0.330178469419 0.915636241436 0.229330360889 -vn 0.903099119663 0.412203252316 0.120418034494 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.647285282612 -0.671119987965 0.361413508654 -vn 0.677508771420 -0.232246801257 0.697884857655 -vn 0.677508771420 -0.232246801257 0.697884857655 -vn 0.961342573166 -0.171136543155 0.215714603662 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.388192862272 -0.845675826073 0.366249561310 -vn 0.647285282612 -0.671119987965 0.361413508654 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.865472078323 -0.445646405220 0.228817224503 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.388192862272 -0.845675826073 0.366249561310 -vn 0.336075752974 -0.870628416538 0.359248220921 -vn 0.388192862272 -0.845675826073 0.366249561310 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.758167684078 -0.502615153790 0.415403187275 -vn 0.602071702480 -0.417796939611 0.680408239365 -vn 0.336075752974 -0.870628416538 0.359248220921 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.666646242142 0.745317161083 -0.009225846268 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.839728236198 0.539731502533 0.059551939368 -vn 0.708084583282 0.692552626133 0.137793600559 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.713051259518 0.673798978329 0.193785592914 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.753422796726 0.657339215279 -0.016101408750 -vn 0.733347594738 0.675600945950 0.075925514102 -vn 0.750932097435 0.635434091091 0.179790079594 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.854356050491 -0.257476896048 0.451421499252 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.284206509590 -0.519967913628 0.805518448353 -vn 0.256318479776 0.039006829262 0.965804994106 -vn 0.561187684536 0.239976942539 0.792136013508 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.464831054211 0.394190609455 0.792808830738 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.421305626631 0.513768494129 0.747357726097 -vn 0.143435344100 0.498812109232 0.854758918285 -vn 0.174813181162 0.397422939539 0.900830388069 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.247673124075 -0.940627634525 0.232115536928 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.375306636095 -0.805032193661 0.459421426058 -vn 0.138890832663 -0.801826655865 0.581191301346 -vn 0.116708174348 -0.953639626503 0.277399748564 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.997646987438 0.040396459401 -0.055394966155 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.997646987438 0.040396459401 -0.055394966155 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.159534424543 0.524704039097 0.836202383041 -vn -0.299555271864 0.546643376350 0.781951189041 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.299555271864 0.546643376350 0.781951189041 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.316775918007 -0.082177042961 -0.944933831692 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.936159014702 -0.063873127103 -0.345726042986 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.905587971210 0.151429876685 0.396206259727 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.821858465672 0.073336854577 0.564951658249 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.905587971210 0.151429876685 0.396206259727 -vn -0.909234404564 -0.117803066969 0.399268388748 -vn -0.905587971210 0.151429876685 0.396206259727 -vn -0.791023254395 0.166800767183 0.588608264923 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.905587971210 0.151429876685 0.396206259727 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.042918991297 -0.159098654985 -0.986329317093 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.398862630129 -0.116559632123 -0.909572660923 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.577902257442 -0.002421748824 -0.816102385521 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.647427976131 0.019929872826 -0.761865973473 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.761567533016 -0.045328486711 -0.646498441696 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.997646987438 0.040396459401 -0.055394966155 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.949094235897 0.007942831144 -0.314892143011 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.963914513588 0.155681833625 0.215944394469 -vn 0.997646987438 0.040396459401 -0.055394966155 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.933379650116 0.281861096621 0.222163870931 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.940660119057 0.304994046688 0.148785516620 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.945739746094 0.324362844229 -0.019108049572 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.937179505825 0.337875336409 -0.086803659797 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.891787886620 0.452209621668 -0.014860952273 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.781435728073 0.546684145927 0.300823241472 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.506390750408 0.538258075714 0.673681437969 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.506390750408 0.538258075714 0.673681437969 -vn -0.299555271864 0.546643376350 0.781951189041 -vn 0.159534424543 0.524704039097 0.836202383041 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.073365107179 0.805665493011 0.587810039520 -vn -0.339267462492 0.787710845470 0.514207422733 -vn -0.299555271864 0.546643376350 0.781951189041 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.889801084995 0.299412399530 0.344392567873 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.808350086212 0.203630700707 0.552362799644 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.874613881111 0.251075208187 0.414743065834 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.899425983429 0.198404535651 0.389446407557 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.960693836212 0.275875806808 -0.030982023105 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.960693836212 0.275875806808 -0.030982023105 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.900945067406 0.305853515863 0.307817548513 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.950938582420 0.160574719310 -0.264445781708 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.882616877556 0.102173909545 -0.458855003119 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn -0.643136858940 0.096314810216 -0.759669959545 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn -0.320609718561 0.092053167522 -0.942727744579 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.935305595398 0.353835970163 0.001867453801 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.971110105515 0.234779074788 -0.042708016932 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.690404534340 0.159054651856 -0.705721735954 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.649252891541 0.146428629756 -0.746343970299 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.458819925785 0.122962743044 -0.879979789257 -vn 0.051589123905 0.106985323131 -0.992921292782 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.894793391228 0.437213540077 -0.090493924916 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.682536661625 0.380229771137 -0.624154686928 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.468114078045 0.390638738871 -0.792635202408 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn 0.082577347755 0.397961974144 -0.913677871227 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.524419128895 0.664470672607 -0.532412707806 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.300105422735 0.398083269596 -0.866871654987 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.524419128895 0.664470672607 -0.532412707806 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.618252098560 0.372385114431 -0.692165970802 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.960693836212 0.275875806808 -0.030982023105 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.870385944843 0.337260872126 -0.358724743128 -vn -0.954860091209 0.286923676729 -0.076921768486 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.900584936142 0.356063216925 0.249330729246 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.911430358887 0.392372965813 0.123847253621 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.879127502441 0.464078336954 0.108471810818 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.851247549057 0.477446943521 0.217765927315 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.339267462492 0.787710845470 0.514207422733 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.339267462492 0.787710845470 0.514207422733 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.022177392617 0.949803769588 0.312059193850 -vn 0.022177392617 0.949803769588 0.312059193850 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.339267462492 0.787710845470 0.514207422733 -vn 0.022177392617 0.949803769588 0.312059193850 -vn 0.073365107179 0.805665493011 0.587810039520 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.022177392617 0.949803769588 0.312059193850 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.384399235249 0.833342432976 0.397212386131 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.583706438541 0.802595734596 0.122991107404 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.709767103195 0.697536826134 -0.098351791501 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.824468553066 0.518499433994 -0.226737543941 -vn 0.749483346939 0.541744291782 -0.380509972572 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.509359657764 0.645855545998 -0.568703174591 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn 0.113862566650 0.711150884628 -0.693757712841 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.233893856406 0.712710499763 -0.661314904690 -vn -0.524419128895 0.664470672607 -0.532412707806 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.524419128895 0.664470672607 -0.532412707806 -vn -0.801686048508 0.561523139477 -0.204917788506 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.761753618717 0.646870017052 -0.035924945027 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.473680764437 0.825297594070 -0.307425469160 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.166509822011 0.881523549557 -0.441803902388 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.261811822653 0.863229155540 -0.431613206863 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.646529257298 0.697131037712 -0.309851974249 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.598942220211 0.781105816364 -0.176470771432 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn 0.203431159258 0.979057490826 0.007884264924 -vn 0.203431159258 0.979057490826 0.007884264924 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.530289411545 0.847510576248 -0.022779457271 -vn -0.009512823075 0.999211311340 0.038552604616 -vn 0.022177392617 0.949803769588 0.312059193850 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.320996463299 0.929820060730 0.179988548160 -vn 0.203431159258 0.979057490826 0.007884264924 -vn -0.009512823075 0.999211311340 0.038552604616 -vn 0.022177392617 0.949803769588 0.312059193850 -vn -0.009512823075 0.999211311340 0.038552604616 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.288760930300 0.908043682575 0.303436666727 -vn 0.022177392617 0.949803769588 0.312059193850 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.288760930300 0.908043682575 0.303436666727 -vn -0.707089662552 0.699392676353 0.104278922081 -vn -0.584631860256 0.788804054260 0.189720153809 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.707089662552 0.699392676353 0.104278922081 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.009512823075 0.999211311340 0.038552604616 -vn -0.009512823075 0.999211311340 0.038552604616 -vn 0.203431159258 0.979057490826 0.007884264924 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.250993162394 0.964091360569 0.086776979268 -vn -0.009512823075 0.999211311340 0.038552604616 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn 0.271936625242 0.949670791626 -0.155485764146 -vn 0.281529068947 0.918153464794 -0.278811126947 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.121225893497 0.952505052090 -0.279353648424 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.440613836050 0.886203765869 -0.143186286092 -vn -0.406076490879 0.913435757160 -0.027146851644 -vn -0.078651353717 0.986206769943 -0.145637229085 -vn -0.014092958532 -0.790904879570 0.611776828766 -vn 0.221423864365 -0.754890739918 0.617342233658 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.014092958532 -0.790904879570 0.611776828766 -vn 0.349241763353 -0.781512439251 0.516980171204 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.231967061758 -0.233555212617 0.944268643856 -vn 0.221423864365 -0.754890739918 0.617342233658 -vn 0.349241763353 -0.781512439251 0.516980171204 -vn 0.408381432295 -0.796557366848 0.445781260729 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.546610355377 -0.258020311594 0.796644628048 -vn 0.349241763353 -0.781512439251 0.516980171204 -vn 0.408381432295 -0.796557366848 0.445781260729 -vn 0.427210748196 -0.706106841564 0.564715921879 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.830623030663 -0.231687158346 0.506346166134 -vn 0.408381432295 -0.796557366848 0.445781260729 -vn 0.427210748196 -0.706106841564 0.564715921879 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.427210748196 -0.706106841564 0.564715921879 -vn 0.428907752037 -0.443769127131 0.786833584309 -vn 0.428907752037 -0.443769127131 0.786833584309 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.918158710003 -0.240577429533 0.314812809229 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.428907752037 -0.443769127131 0.786833584309 -vn 0.417140841484 -0.120375834405 0.900834739208 -vn 0.417140841484 -0.120375834405 0.900834739208 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.873789131641 -0.168129771948 0.456316709518 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.417140841484 -0.120375834405 0.900834739208 -vn 0.424012660980 0.031315691769 0.905114650726 -vn 0.424012660980 0.031315691769 0.905114650726 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.813842773438 0.072670906782 0.576523065567 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.424012660980 0.031315691769 0.905114650726 -vn 0.395210921764 0.116690479219 0.911148548126 -vn 0.395210921764 0.116690479219 0.911148548126 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.769383728504 0.143628954887 0.622430264950 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.395210921764 0.116690479219 0.911148548126 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn 0.705974459648 0.211807489395 0.675823688507 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn 0.655949294567 -0.360590577126 0.663102567196 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn -0.017104798928 -0.994401037693 0.104278236628 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.683387815952 -0.673397064209 0.281988471746 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn -0.089078962803 -0.979717195034 -0.179496884346 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn 0.633489966393 -0.757112979889 -0.159594580531 -vn -0.017104798928 -0.994401037693 0.104278236628 -vn -0.089078962803 -0.979717195034 -0.179496884346 -vn -0.141694068909 -0.964558184147 -0.222599074244 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn 0.408531010151 -0.740816414356 -0.533191740513 -vn -0.089078962803 -0.979717195034 -0.179496884346 -vn -0.141694068909 -0.964558184147 -0.222599074244 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn -0.141694068909 -0.964558184147 -0.222599074244 -vn -0.164628922939 -0.971865355968 -0.168449014425 -vn -0.164628922939 -0.971865355968 -0.168449014425 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn 0.352352052927 -0.675574064255 -0.647647798061 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn -0.164628922939 -0.971865355968 -0.168449014425 -vn -0.106762722135 -0.991933047771 -0.068341821432 -vn -0.106762722135 -0.991933047771 -0.068341821432 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.264879673719 -0.680946111679 -0.682752609253 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn -0.106762722135 -0.991933047771 -0.068341821432 -vn 0.032250907272 -0.990156650543 0.136197254062 -vn 0.032250907272 -0.990156650543 0.136197254062 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn 0.212482243776 -0.757902085781 -0.616794705391 -vn 0.086438052356 -0.988402068615 0.124859288335 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn 0.079081669450 -0.841114282608 -0.535044729710 -vn 0.032250907272 -0.990156650543 0.136197254062 -vn 0.086438052356 -0.988402068615 0.124859288335 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn 0.086438052356 -0.988402068615 0.124859288335 -vn 0.156755745411 -0.987137198448 0.031429961324 -vn 0.156755745411 -0.987137198448 0.031429961324 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn -0.155002683401 -0.764973640442 -0.625131547451 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn 0.156755745411 -0.987137198448 0.031429961324 -vn 0.129998713732 -0.981209576130 -0.142576515675 -vn 0.129998713732 -0.981209576130 -0.142576515675 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn 0.160609349608 -0.944374680519 -0.286986321211 -vn 0.171683400869 -0.948143720627 -0.267485111952 -vn 0.171683400869 -0.948143720627 -0.267485111952 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn 0.171683400869 -0.948143720627 -0.267485111952 -vn 0.200182467699 -0.979581654072 -0.018621146679 -vn 0.200182467699 -0.979581654072 -0.018621146679 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.494367212057 -0.821183621883 -0.285058826208 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn 0.200182467699 -0.979581654072 -0.018621146679 -vn 0.365930229425 -0.888301491737 0.277516782284 -vn 0.365930229425 -0.888301491737 0.277516782284 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.462283223867 -0.884084403515 0.068476572633 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn 0.365930229425 -0.888301491737 0.277516782284 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn -0.353442579508 -0.812535405159 0.463534832001 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn 0.105939380825 0.093255937099 0.989989995956 -vn 0.105939380825 0.093255937099 0.989989995956 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.279677391052 -0.181245908141 0.942831099033 -vn -0.304022520781 0.155782133341 0.939841628075 -vn 0.105939380825 0.093255937099 0.989989995956 -vn 0.091720648110 -0.006141365506 0.995765864849 -vn 0.091720648110 -0.006141365506 0.995765864849 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.304022520781 0.155782133341 0.939841628075 -vn -0.365280956030 0.082129344344 0.927267253399 -vn 0.091720648110 -0.006141365506 0.995765864849 -vn 0.074245169759 -0.239324852824 0.968096733093 -vn 0.074245169759 -0.239324852824 0.968096733093 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.365280956030 0.082129344344 0.927267253399 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn 0.074245169759 -0.239324852824 0.968096733093 -vn -0.011659302749 -0.585357308388 0.810691654682 -vn -0.011659302749 -0.585357308388 0.810691654682 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.442798525095 -0.048629581928 0.895301401615 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.011659302749 -0.585357308388 0.810691654682 -vn -0.097086712718 -0.792906105518 0.601559698582 -vn -0.097086712718 -0.792906105518 0.601559698582 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn -0.602641165257 -0.246796503663 0.758890688419 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn -0.097086712718 -0.792906105518 0.601559698582 -vn -0.014092958532 -0.790904879570 0.611776828766 -vn -0.014092958532 -0.790904879570 0.611776828766 -vn -0.182521164417 -0.203338980675 0.961945593357 -vn -0.532182991505 -0.286137044430 0.796810448170 -vn 0.105939380825 0.093255937099 0.989989995956 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn 0.344442546368 -0.215144351125 0.913822889328 -vn -0.004304377362 -0.913099169731 0.407714813948 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn -0.016325036064 -0.353321343660 0.935359537601 -vn -0.924340128899 0.360457271338 0.125163570046 -vn -0.960693836212 0.275875806808 -0.030982023105 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.924340128899 0.360457271338 0.125163570046 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.906805396080 0.355602860451 -0.226385816932 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.943933427334 0.166785299778 -0.284907698631 -vn 0.817821025848 0.123250223696 -0.562119364738 -vn 0.783317208290 0.248922675848 -0.569606602192 -vn 0.791172683239 0.410195678473 -0.453635632992 -vn 0.746720135212 0.375254184008 -0.549175143242 -vn 0.830051660538 0.501415014267 -0.244125440717 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.975682437420 0.182560175657 -0.121307574213 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.984978437424 -0.148210123181 -0.088606998324 -vn -0.977963626385 -0.174421295524 0.114736154675 -vn -0.974032580853 0.165303468704 0.154710352421 -vn -0.339267462492 0.787710845470 0.514207422733 -vn -0.665048420429 0.670540630817 0.328764200211 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.705455362797 0.442646503448 0.553531229496 -vn -0.299555271864 0.546643376350 0.781951189041 -vn -0.339267462492 0.787710845470 0.514207422733 -vn 0.160609349608 -0.944374680519 -0.286986321211 -vn -0.479634582996 -0.732783257961 -0.482679367065 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn 0.129998713732 -0.981209576130 -0.142576515675 -vn 0.160609349608 -0.944374680519 -0.286986321211 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn -0.284915238619 -0.800749540329 -0.526899874210 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.436591178179 -0.710123062134 -0.552370667458 -vn -0.815816044807 -0.033233188093 -0.577355861664 -vn -0.587253093719 -0.116071887314 -0.801037490368 -vn 0.236537411809 -0.417193204165 0.877496361732 -vn 0.395210921764 0.116690479219 0.911148548126 -vn -0.016325036064 -0.353321343660 0.935359537601 -vn 0.324508875608 -0.535487234592 0.779709815979 -vn 0.365930229425 -0.888301491737 0.277516782284 -vn 0.344442546368 -0.215144351125 0.913822889328 -vn 0.676891267300 0.478440582752 0.559386134148 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.215249896049 0.259879410267 0.941344857216 -vn 0.673861861229 0.474872797728 0.566044211388 -vn 0.676891267300 0.478440582752 0.559386134148 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.676891267300 0.478440582752 0.559386134148 -vn 0.673861861229 0.474872797728 0.566044211388 -vn 0.673861861229 0.474872797728 0.566044211388 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.347879409790 0.817592084408 0.458827942610 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn 0.384487777948 0.887601256371 0.253639906645 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn -0.277345180511 0.887103021145 -0.368955165148 -vn -0.347879409790 0.817592084408 0.458827942610 -vn 0.384487777948 0.887601256371 0.253639906645 -vn -0.347879409790 0.817592084408 0.458827942610 -vn -0.254123061895 0.426116853952 0.868242979050 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.384487777948 0.887601256371 0.253639906645 -vn -0.347879409790 0.817592084408 0.458827942610 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.347879409790 0.817592084408 0.458827942610 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.923225998878 0.380098938942 0.056378662586 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.718087673187 0.217695534229 -0.661028504372 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.056213334203 0.268312811852 -0.961690306664 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn 0.384487777948 0.887601256371 0.253639906645 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.530799150467 0.680233538151 -0.505504250526 -vn 0.384487777948 0.887601256371 0.253639906645 -vn 0.685477375984 0.462024539709 0.562720298767 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.201308771968 0.240931555629 0.949434995651 -vn 0.682193696499 0.466817051172 0.562755405903 -vn 0.685477375984 0.462024539709 0.562720298767 -vn -0.240289658308 0.320749431849 0.916177213192 -vn 0.680037975311 0.480506420135 0.553770661354 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.653510272503 0.565980076790 0.502584218979 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.221647694707 0.312501966953 0.923696279526 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.680037975311 0.480506420135 0.553770661354 -vn 0.680037975311 0.480506420135 0.553770661354 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.219177588820 0.295268416405 0.929934263229 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.682748973370 0.479876726866 0.550973832607 -vn 0.682748973370 0.479876726866 0.550973832607 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.225854665041 0.275281429291 0.934456944466 -vn 0.676891267300 0.478440582752 0.559386134148 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.680287778378 0.480499923229 0.553469419479 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.254123061895 0.426116853952 0.868242979050 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.240289658308 0.320749431849 0.916177213192 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.225854665041 0.275281429291 0.934456944466 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.949123442173 -0.061713241041 0.308797955513 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.921951174736 -0.151050478220 0.356636703014 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn -0.907250344753 -0.188964352012 0.375751674175 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn -0.718620479107 -0.362539023161 -0.593422293663 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn -0.688484191895 -0.460392743349 -0.560382068157 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn -0.695992946625 -0.460888862610 -0.550613582134 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.226011291146 -0.206536710262 -0.951977670193 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.236712202430 -0.296670228243 -0.925177872181 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.224680751562 -0.257442176342 -0.939809620380 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.685477375984 0.462024539709 0.562720298767 -vn 0.682193696499 0.466817051172 0.562755405903 -vn 0.682193696499 0.466817051172 0.562755405903 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.680037975311 0.480506420135 0.553770661354 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.881881117821 0.258271634579 -0.394438207150 -vn 0.653510272503 0.565980076790 0.502584218979 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.916761815548 0.175430729985 -0.358847975731 -vn 0.680037975311 0.480506420135 0.553770661354 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.682748973370 0.479876726866 0.550973832607 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.676891267300 0.478440582752 0.559386134148 -vn 0.904699862003 0.220005586743 -0.364850312471 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.676891267300 0.478440582752 0.559386134148 -vn 0.658345997334 0.509523391724 0.554045557976 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.211771011353 0.234253704548 0.948829948902 -vn 0.670803904533 0.475809752941 0.568882465363 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.750280976295 0.265666365623 0.605392277241 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.213284403086 0.286679387093 0.933983266354 -vn 0.665205776691 0.510107040405 0.545244932175 -vn 0.750280976295 0.265666365623 0.605392277241 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.670803904533 0.475809752941 0.568882465363 -vn 0.670803904533 0.475809752941 0.568882465363 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.750280976295 0.265666365623 0.605392277241 -vn 0.665205776691 0.510107040405 0.545244932175 -vn 0.665205776691 0.510107040405 0.545244932175 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.520998537540 -0.756937682629 0.394469082355 -vn 0.340784788132 -0.793341636658 0.504454910755 -vn 0.333805084229 -0.795262694359 0.506094276905 -vn 0.333805084229 -0.795262694359 0.506094276905 -vn 0.523602247238 -0.757869243622 0.389197736979 -vn 0.520998537540 -0.756937682629 0.394469082355 -vn 0.585367500782 -0.787940621376 0.191035225987 -vn 0.520998537540 -0.756937682629 0.394469082355 -vn 0.523602247238 -0.757869243622 0.389197736979 -vn 0.523602247238 -0.757869243622 0.389197736979 -vn 0.588895976543 -0.784702122211 0.193504810333 -vn 0.585367500782 -0.787940621376 0.191035225987 -vn 0.428356975317 -0.900839090347 0.070705041289 -vn 0.585367500782 -0.787940621376 0.191035225987 -vn 0.588895976543 -0.784702122211 0.193504810333 -vn 0.588895976543 -0.784702122211 0.193504810333 -vn 0.425227791071 -0.902204632759 0.072167634964 -vn 0.428356975317 -0.900839090347 0.070705041289 -vn 0.244827017188 -0.958182632923 0.148140966892 -vn 0.428356975317 -0.900839090347 0.070705041289 -vn 0.425227791071 -0.902204632759 0.072167634964 -vn 0.425227791071 -0.902204632759 0.072167634964 -vn 0.247534096241 -0.957624971867 0.147245749831 -vn 0.244827017188 -0.958182632923 0.148140966892 -vn 0.238857537508 -0.902638971806 0.358036190271 -vn 0.244827017188 -0.958182632923 0.148140966892 -vn 0.247534096241 -0.957624971867 0.147245749831 -vn 0.247534096241 -0.957624971867 0.147245749831 -vn 0.239870905876 -0.901330232620 0.360646307468 -vn 0.238857537508 -0.902638971806 0.358036190271 -vn 0.340784788132 -0.793341636658 0.504454910755 -vn 0.238857537508 -0.902638971806 0.358036190271 -vn 0.239870905876 -0.901330232620 0.360646307468 -vn 0.239870905876 -0.901330232620 0.360646307468 -vn 0.333805084229 -0.795262694359 0.506094276905 -vn 0.340784788132 -0.793341636658 0.504454910755 -vn -0.351152896881 0.896278381348 -0.270881265402 -vn -0.389907628298 0.882185220718 -0.264047831297 -vn -0.380583465099 0.884880721569 -0.268593341112 -vn -0.380583465099 0.884880721569 -0.268593341112 -vn -0.349539011717 0.894979357719 -0.277190327644 -vn -0.351152896881 0.896278381348 -0.270881265402 -vn -0.315098047256 0.909006059170 -0.272802501917 -vn -0.351152896881 0.896278381348 -0.270881265402 -vn -0.349539011717 0.894979357719 -0.277190327644 -vn -0.349539011717 0.894979357719 -0.277190327644 -vn -0.314274698496 0.905051290989 -0.286554604769 -vn -0.315098047256 0.909006059170 -0.272802501917 -vn -0.324795067310 0.917077064514 -0.231252595782 -vn -0.315098047256 0.909006059170 -0.272802501917 -vn -0.314274698496 0.905051290989 -0.286554604769 -vn -0.314274698496 0.905051290989 -0.286554604769 -vn -0.327561646700 0.916575074196 -0.229332759976 -vn -0.324795067310 0.917077064514 -0.231252595782 -vn -0.376637071371 0.902566313744 -0.208610922098 -vn -0.324795067310 0.917077064514 -0.231252595782 -vn -0.327561646700 0.916575074196 -0.229332759976 -vn -0.327561646700 0.916575074196 -0.229332759976 -vn -0.376510679722 0.902412891388 -0.209500908852 -vn -0.376637071371 0.902566313744 -0.208610922098 -vn -0.409135401249 0.882911443710 -0.230381488800 -vn -0.376637071371 0.902566313744 -0.208610922098 -vn -0.376510679722 0.902412891388 -0.209500908852 -vn -0.376510679722 0.902412891388 -0.209500908852 -vn -0.404935628176 0.884113430977 -0.233175009489 -vn -0.409135401249 0.882911443710 -0.230381488800 -vn -0.389907628298 0.882185220718 -0.264047831297 -vn -0.409135401249 0.882911443710 -0.230381488800 -vn -0.404935628176 0.884113430977 -0.233175009489 -vn -0.404935628176 0.884113430977 -0.233175009489 -vn -0.380583465099 0.884880721569 -0.268593341112 -vn -0.389907628298 0.882185220718 -0.264047831297 -vn 0.570412695408 0.657898664474 0.491730272770 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.227320805192 0.221673280001 0.948254287243 -vn -0.227320805192 0.221673280001 0.948254287243 -vn 0.699121236801 0.428781896830 0.572167456150 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.699121236801 0.428781896830 0.572167456150 -vn 0.699121236801 0.428781896830 0.572167456150 -vn 0.892048120499 0.221571207047 -0.393898874521 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.892048120499 0.221571207047 -0.393898874521 -vn 0.892048120499 0.221571207047 -0.393898874521 -vn 0.232417941093 -0.321322321892 -0.918005347252 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn 0.232417941093 -0.321322321892 -0.918005347252 -vn 0.232417941093 -0.321322321892 -0.918005347252 -vn -0.622993707657 -0.581864595413 -0.522792935371 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.622993707657 -0.581864595413 -0.522792935371 -vn -0.622993707657 -0.581864595413 -0.522792935371 -vn -0.857758522034 -0.317021489143 0.404657512903 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.857758522034 -0.317021489143 0.404657512903 -vn -0.857758522034 -0.317021489143 0.404657512903 -vn -0.227320805192 0.221673280001 0.948254287243 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.153622061014 0.138630852103 0.978356659412 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.551810741425 0.698545396328 0.455564767122 -vn 0.551810741425 0.698545396328 0.455564767122 -vn -0.257132411003 0.416455388069 0.872036576271 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.257132411003 0.416455388069 0.872036576271 -vn -0.257132411003 0.416455388069 0.872036576271 -vn -0.917856097221 -0.143156483769 0.370197772980 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.917856097221 -0.143156483769 0.370197772980 -vn -0.917856097221 -0.143156483769 0.370197772980 -vn -0.723487615585 -0.324982106686 -0.609058499336 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn -0.723487615585 -0.324982106686 -0.609058499336 -vn -0.723487615585 -0.324982106686 -0.609058499336 -vn 0.159523501992 -0.123263031244 -0.979468464851 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.159523501992 -0.123263031244 -0.979468464851 -vn 0.159523501992 -0.123263031244 -0.979468464851 -vn 0.838533520699 0.315829396248 -0.443974435329 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.838533520699 0.315829396248 -0.443974435329 -vn 0.838533520699 0.315829396248 -0.443974435329 -vn 0.551810741425 0.698545396328 0.455564767122 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.543161213398 0.695157170296 0.470884680748 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.263800501823 0.365938633680 0.892467498779 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.570412695408 0.657898664474 0.491730272770 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.760976850986 0.469329386950 -0.447933167219 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn 0.106153875589 -0.007835450582 -0.994318842888 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.749192118645 -0.260680377483 -0.608898103237 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.945832312107 -0.043938733637 0.321668446064 -vn -0.263800501823 0.365938633680 0.892467498779 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.117148451507 0.034600071609 0.992511510849 -vn 0.750280976295 0.265666365623 0.605392277241 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.706371426582 0.398818373680 0.584793448448 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.117148451507 0.034600071609 0.992511510849 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.153622061014 0.138630852103 0.978356659412 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn -0.773168981075 -0.442755550146 0.454067409039 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.809115707874 -0.377030491829 0.450754731894 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn -0.578914999962 -0.647734820843 -0.495274722576 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn -0.639346003532 -0.562029004097 -0.524747669697 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.266819119453 -0.410633623600 -0.871887385845 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.238241240382 -0.329128980637 -0.913736939430 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.750280976295 0.265666365623 0.605392277241 -vn 0.933817505836 0.069771841168 -0.350879937410 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.923433840275 0.129846125841 -0.361123204231 -vn 0.706371426582 0.398818373680 0.584793448448 -vn 0.750280976295 0.265666365623 0.605392277241 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.332089483738 -0.877025306225 0.347193360329 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.764939725399 0.154692605138 0.625249862671 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn 0.193432345986 -0.589852690697 0.784001111984 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn -0.295678406954 -0.832099795341 0.469237923622 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn -0.115704677999 -0.992193222046 -0.046530377120 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.416424691677 -0.838034331799 -0.352546423674 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.812869012356 -0.581592381001 0.031531836838 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.690424919128 -0.371962577105 0.620449244976 -vn 0.696267127991 0.416324853897 0.584709942341 -vn -0.163892567158 0.169382914901 0.971827507019 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.168904587626 0.153192564845 0.973654627800 -vn 0.700519919395 0.417314112186 0.578896164894 -vn 0.696267127991 0.416324853897 0.584709942341 -vn -0.163892567158 0.169382914901 0.971827507019 -vn -0.869695901871 -0.274154037237 0.410449296236 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.163892567158 0.169382914901 0.971827507019 -vn -0.869695901871 -0.274154037237 0.410449296236 -vn -0.680004060268 -0.465699821711 -0.566319882870 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.869695901871 -0.274154037237 0.410449296236 -vn -0.680004060268 -0.465699821711 -0.566319882870 -vn 0.207809269428 -0.215856730938 -0.954055130482 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn -0.680004060268 -0.465699821711 -0.566319882870 -vn 0.207809269428 -0.215856730938 -0.954055130482 -vn 0.899366557598 0.232333302498 -0.370352536440 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.207809269428 -0.215856730938 -0.954055130482 -vn 0.899366557598 0.232333302498 -0.370352536440 -vn 0.696267127991 0.416324853897 0.584709942341 -vn 0.700519919395 0.417314112186 0.578896164894 -vn 0.700519919395 0.417314112186 0.578896164894 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.899366557598 0.232333302498 -0.370352536440 -vn -0.662377238274 -0.626874268055 0.410225600004 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn -0.499279826880 -0.238045200706 0.833099126816 -vn -0.499279826880 -0.238045200706 0.833099126816 -vn -0.804239809513 -0.440206110477 0.399270415306 -vn -0.662377238274 -0.626874268055 0.410225600004 -vn -0.522163152695 -0.246549248695 -0.816430747509 -vn -0.512087404728 -0.264961868525 -0.817044496536 -vn -0.473620533943 -0.329276412725 -0.816860198975 -vn -0.473620533943 -0.329276412725 -0.816860198975 -vn -0.473841011524 -0.329637020826 -0.816586852074 -vn -0.522163152695 -0.246549248695 -0.816430747509 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.382704496384 0.445656538010 -0.809275925159 -vn 0.526769578457 0.236967489123 -0.816308915615 -vn 0.526769578457 0.236967489123 -0.816308915615 -vn 0.847266793251 0.458697319031 -0.267835289240 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.804961979389 0.551999032497 0.217562019825 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.847266793251 0.458697319031 -0.267835289240 -vn 0.847266793251 0.458697319031 -0.267835289240 -vn 0.838858008385 0.494629532099 0.227285787463 -vn 0.804961979389 0.551999032497 0.217562019825 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn 0.048752576113 -0.154843926430 0.986735284328 -vn -0.069586545229 0.022697513923 0.997317671776 -vn -0.069586545229 0.022697513923 0.997317671776 -vn -0.499279826880 -0.238045200706 0.833099126816 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn -0.342832326889 -0.903053998947 0.258765399456 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn -0.662377238274 -0.626874268055 0.410225600004 -vn -0.342832326889 -0.903053998947 0.258765399456 -vn -0.654632925987 -0.115691319108 -0.747041642666 -vn -0.644643008709 -0.127199381590 -0.753827393055 -vn -0.512087404728 -0.264961868525 -0.817044496536 -vn -0.512087404728 -0.264961868525 -0.817044496536 -vn -0.522163152695 -0.246549248695 -0.816430747509 -vn -0.654632925987 -0.115691319108 -0.747041642666 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn -0.013651727699 0.782738447189 -0.622201085091 -vn 0.382704496384 0.445656538010 -0.809275925159 -vn 0.382704496384 0.445656538010 -0.809275925159 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.662259042263 0.684042572975 0.305775582790 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.730786740780 0.610652327538 -0.305048257113 -vn 0.804961979389 0.551999032497 0.217562019825 -vn 0.662259042263 0.684042572975 0.305775582790 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn 0.393361032009 -0.415148884058 0.820316076279 -vn 0.048752576113 -0.154843926430 0.986735284328 -vn 0.048752576113 -0.154843926430 0.986735284328 -vn -0.382990270853 -0.432740062475 0.816121637821 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn 0.048680081964 -0.994659066200 -0.091014303267 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn -0.342832326889 -0.903053998947 0.258765399456 -vn 0.048680081964 -0.994659066200 -0.091014303267 -vn -0.803988158703 -0.094470322132 -0.587093174458 -vn -0.801242232323 -0.099859014153 -0.589948415756 -vn -0.644643008709 -0.127199381590 -0.753827393055 -vn -0.644643008709 -0.127199381590 -0.753827393055 -vn -0.654632925987 -0.115691319108 -0.747041642666 -vn -0.803988158703 -0.094470322132 -0.587093174458 -vn 0.089037470520 0.972759723663 0.214034825563 -vn -0.451572537422 0.873713314533 -0.180851474404 -vn -0.013651727699 0.782738447189 -0.622201085091 -vn -0.013651727699 0.782738447189 -0.622201085091 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.089037470520 0.972759723663 0.214034825563 -vn 0.490652501583 0.740379989147 0.459453642368 -vn 0.089037470520 0.972759723663 0.214034825563 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.435036271811 0.891461074352 -0.126651614904 -vn 0.662259042263 0.684042572975 0.305775582790 -vn 0.490652501583 0.740379989147 0.459453642368 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.712795853615 -0.526864945889 0.462963700294 -vn 0.393361032009 -0.415148884058 0.820316076279 -vn 0.393361032009 -0.415148884058 0.820316076279 -vn 0.010212839581 -0.767236471176 0.641283035278 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.251401871443 -0.758408725262 -0.601342916489 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.048680081964 -0.994659066200 -0.091014303267 -vn 0.251401871443 -0.758408725262 -0.601342916489 -vn -0.893262147903 -0.230714723468 -0.385815322399 -vn -0.885544598103 -0.229386016726 -0.403971284628 -vn -0.801242232323 -0.099859014153 -0.589948415756 -vn -0.801242232323 -0.099859014153 -0.589948415756 -vn -0.803988158703 -0.094470322132 -0.587093174458 -vn -0.893262147903 -0.230714723468 -0.385815322399 -vn -0.079347580671 0.714547991753 0.695071995258 -vn -0.715602040291 0.563986122608 0.412108510733 -vn -0.451572537422 0.873713314533 -0.180851474404 -vn -0.451572537422 0.873713314533 -0.180851474404 -vn 0.089037470520 0.972759723663 0.214034825563 -vn -0.079347580671 0.714547991753 0.695071995258 -vn 0.405009925365 0.626119792461 0.666288971901 -vn -0.079347580671 0.714547991753 0.695071995258 -vn 0.089037470520 0.972759723663 0.214034825563 -vn 0.089037470520 0.972759723663 0.214034825563 -vn 0.490652501583 0.740379989147 0.459453642368 -vn 0.405009925365 0.626119792461 0.666288971901 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.959425985813 -0.281454920769 -0.016879195347 -vn 0.712795853615 -0.526864945889 0.462963700294 -vn 0.712795853615 -0.526864945889 0.462963700294 -vn 0.435790151358 -0.874335944653 0.213596761227 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.135830551386 -0.277985215187 -0.950933396816 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.251401871443 -0.758408725262 -0.601342916489 -vn 0.135830551386 -0.277985215187 -0.950933396816 -vn -0.846260547638 -0.440019220114 -0.300376683474 -vn -0.846942424774 -0.425363630056 -0.318989604712 -vn -0.885544598103 -0.229386016726 -0.403971284628 -vn -0.885544598103 -0.229386016726 -0.403971284628 -vn -0.893262147903 -0.230714723468 -0.385815322399 -vn -0.846260547638 -0.440019220114 -0.300376683474 -vn 0.038355976343 0.223484531045 0.973952531815 -vn -0.579691588879 -0.009793659672 0.814777135849 -vn -0.715602040291 0.563986122608 0.412108510733 -vn -0.715602040291 0.563986122608 0.412108510733 -vn -0.079347580671 0.714547991753 0.695071995258 -vn 0.038355976343 0.223484531045 0.973952531815 -vn 0.449782669544 0.419279068708 0.788606762886 -vn 0.038355976343 0.223484531045 0.973952531815 -vn -0.079347580671 0.714547991753 0.695071995258 -vn -0.079347580671 0.714547991753 0.695071995258 -vn 0.405009925365 0.626119792461 0.666288971901 -vn 0.449782669544 0.419279068708 0.788606762886 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.915183722973 0.209073305130 -0.344568014145 -vn 0.959425985813 -0.281454920769 -0.016879195347 -vn 0.959425985813 -0.281454920769 -0.016879195347 -vn 0.702698290348 -0.607031822205 -0.371116548777 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn -0.197052255273 0.120570488274 -0.972950756550 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.135830551386 -0.277985215187 -0.950933396816 -vn -0.197052255273 0.120570488274 -0.972950756550 -vn -0.748504459858 -0.580423593521 -0.320701569319 -vn -0.756549417973 -0.568829655647 -0.322592258453 -vn -0.846942424774 -0.425363630056 -0.318989604712 -vn -0.846942424774 -0.425363630056 -0.318989604712 -vn -0.846260547638 -0.440019220114 -0.300376683474 -vn -0.748504459858 -0.580423593521 -0.320701569319 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn -0.239331066608 -0.482139617205 0.842770457268 -vn -0.579691588879 -0.009793659672 0.814777135849 -vn -0.579691588879 -0.009793659672 0.814777135849 -vn 0.038355976343 0.223484531045 0.973952531815 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.573455870152 0.261886984110 0.776249706745 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.038355976343 0.223484531045 0.973952531815 -vn 0.038355976343 0.223484531045 0.973952531815 -vn 0.449782669544 0.419279068708 0.788606762886 -vn 0.573455870152 0.261886984110 0.776249706745 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn 0.657979726791 0.678265154362 -0.327137589455 -vn 0.915183722973 0.209073305130 -0.344568014145 -vn 0.915183722973 0.209073305130 -0.344568014145 -vn 0.622677326202 -0.050570812076 -0.780842840672 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn -0.438953995705 0.307949036360 -0.844089329243 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn -0.197052255273 0.120570488274 -0.972950756550 -vn -0.438953995705 0.307949036360 -0.844089329243 -vn -0.577075004578 -0.720137119293 -0.385210335255 -vn -0.631202220917 -0.677794516087 -0.377065479755 -vn -0.756549417973 -0.568829655647 -0.322592258453 -vn -0.756549417973 -0.568829655647 -0.322592258453 -vn -0.748504459858 -0.580423593521 -0.320701569319 -vn -0.577075004578 -0.720137119293 -0.385210335255 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.107150927186 -0.772752523422 0.625597476959 -vn -0.239331066608 -0.482139617205 0.842770457268 -vn -0.239331066608 -0.482139617205 0.842770457268 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.675563931465 0.163798823953 0.718876481056 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.298763692379 -0.113984473050 0.947495520115 -vn 0.573455870152 0.261886984110 0.776249706745 -vn 0.675563931465 0.163798823953 0.718876481056 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn 0.393360197544 0.904708862305 -0.163614228368 -vn 0.657979726791 0.678265154362 -0.327137589455 -vn 0.657979726791 0.678265154362 -0.327137589455 -vn 0.307854622602 0.464908808470 -0.830111622810 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn -0.514398455620 0.378968864679 -0.769270300865 -vn -0.137769415975 0.828296601772 -0.543087780476 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn -0.438953995705 0.307949036360 -0.844089329243 -vn -0.514398455620 0.378968864679 -0.769270300865 -vn -0.556825041771 -0.704007327557 -0.440816938877 -vn -0.600282192230 -0.662484288216 -0.448080182076 -vn -0.631202220917 -0.677794516087 -0.377065479755 -vn -0.631202220917 -0.677794516087 -0.377065479755 -vn -0.577075004578 -0.720137119293 -0.385210335255 -vn -0.556825041771 -0.704007327557 -0.440816938877 -vn 0.684020638466 -0.337137818336 0.646880090237 -vn 0.223079264164 -0.842810750008 0.489801704884 -vn 0.107150927186 -0.772752523422 0.625597476959 -vn 0.107150927186 -0.772752523422 0.625597476959 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.684020638466 -0.337137818336 0.646880090237 -vn 0.769818246365 0.161918729544 0.617383360863 -vn 0.684020638466 -0.337137818336 0.646880090237 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.518678426743 -0.327887445688 0.789596378803 -vn 0.675563931465 0.163798823953 0.718876481056 -vn 0.769818246365 0.161918729544 0.617383360863 -vn -0.137769415975 0.828296601772 -0.543087780476 -vn 0.298304438591 0.947766005993 -0.112933620811 -vn 0.393360197544 0.904708862305 -0.163614228368 -vn 0.393360197544 0.904708862305 -0.163614228368 -vn -0.015659844503 0.758790850639 -0.651146113873 -vn -0.137769415975 0.828296601772 -0.543087780476 -vn -0.218723073602 0.307124495506 0.926193714142 -vn 0.682748973370 0.479876726866 0.550973832607 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.676530897617 0.479380965233 0.559016883373 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.218723073602 0.307124495506 0.926193714142 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.221647694707 0.312501966953 0.923696279526 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn -0.917439937592 -0.170511052012 0.359485685825 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.919012665749 -0.163916215301 0.358534842730 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn -0.670401155949 -0.457893431187 -0.583862960339 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn -0.681730031967 -0.466094911098 -0.563914597034 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.232400774956 -0.280038267374 -0.931433558464 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.231879636645 -0.296164631844 -0.926562666893 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.682748973370 0.479876726866 0.550973832607 -vn 0.908105671406 0.180472493172 -0.377854198217 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.917508840561 0.192104980350 -0.348242968321 -vn 0.676530897617 0.479380965233 0.559016883373 -vn 0.682748973370 0.479876726866 0.550973832607 -vn -0.231893524528 0.286410689354 0.929620504379 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.681994259357 0.479156374931 0.552533268929 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.231893524528 0.286410689354 0.929620504379 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.219177588820 0.295268416405 0.929934263229 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn -0.909621715546 -0.186995491385 0.370973020792 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.909907639027 -0.179549068213 0.373938739300 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn -0.691403150558 -0.464157193899 -0.553642272949 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn -0.683602571487 -0.461759626865 -0.565212845802 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.232408687472 -0.262927412987 -0.936405539513 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.236520305276 -0.263811916113 -0.935126423836 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.907337546349 0.210294201970 -0.364025950432 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.908501267433 0.201881110668 -0.365881800652 -vn 0.681994259357 0.479156374931 0.552533268929 -vn 0.680287778378 0.480499923229 0.553469419479 -vn 0.673861861229 0.474872797728 0.566044211388 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.206624403596 0.240915045142 0.948296546936 -vn 0.685477375984 0.462024539709 0.562720298767 -vn 0.673861861229 0.474872797728 0.566044211388 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.206624403596 0.240915045142 0.948296546936 -vn -0.215249896049 0.259879410267 0.941344857216 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn -0.895451784134 -0.211260989308 0.391835272312 -vn -0.900530099869 -0.196758732200 0.387726187706 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn -0.692713320255 -0.448291033506 -0.564963161945 -vn -0.691453754902 -0.450606733561 -0.564663827419 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.203994378448 -0.226881235838 -0.952318847179 -vn 0.218465223908 -0.238150179386 -0.946338951588 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.673861861229 0.474872797728 0.566044211388 -vn 0.685477375984 0.462024539709 0.562720298767 -vn 0.685477375984 0.462024539709 0.562720298767 -vn 0.892602801323 0.230994895101 -0.387171238661 -vn 0.898511350155 0.228213340044 -0.374961405993 -vn 0.682193696499 0.466817051172 0.562755405903 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.206473186612 0.250022917986 0.945968985558 -vn -0.206473186612 0.250022917986 0.945968985558 -vn 0.672250747681 0.474375575781 0.568372070789 -vn 0.682193696499 0.466817051172 0.562755405903 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.892609059811 -0.207406908274 0.400289177895 -vn -0.892609059811 -0.207406908274 0.400289177895 -vn -0.206473186612 0.250022917986 0.945968985558 -vn -0.201308771968 0.240931555629 0.949434995651 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn -0.697274863720 -0.451277852058 -0.556916594505 -vn -0.697274863720 -0.451277852058 -0.556916594505 -vn -0.892609059811 -0.207406908274 0.400289177895 -vn -0.892966151237 -0.215754017234 0.395046353340 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.194074183702 -0.230058833957 -0.953628957272 -vn 0.194074183702 -0.230058833957 -0.953628957272 -vn -0.697274863720 -0.451277852058 -0.556916594505 -vn -0.690826892853 -0.451026529074 -0.565095782280 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.889703333378 0.238144084811 -0.389506608248 -vn 0.889703333378 0.238144084811 -0.389506608248 -vn 0.194074183702 -0.230058833957 -0.953628957272 -vn 0.197611436248 -0.226847842336 -0.953671753407 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.682193696499 0.466817051172 0.562755405903 -vn 0.672250747681 0.474375575781 0.568372070789 -vn 0.672250747681 0.474375575781 0.568372070789 -vn 0.889703333378 0.238144084811 -0.389506608248 -vn 0.888792514801 0.234837070107 -0.393572568893 -vn 0.665205776691 0.510107040405 0.545244932175 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.226969450712 0.276726186275 0.933759868145 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.665205776691 0.510107040405 0.545244932175 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.226969450712 0.276726186275 0.933759868145 -vn -0.213284403086 0.286679387093 0.933983266354 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.892012178898 -0.212036281824 0.399192839861 -vn -0.895926833153 -0.207023650408 0.393009245396 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn -0.682163417339 -0.476584762335 -0.554544925690 -vn -0.678995072842 -0.478009134531 -0.557201027870 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.213831633329 -0.244800299406 -0.945700168610 -vn 0.207553997636 -0.256860315800 -0.943898379803 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.665205776691 0.510107040405 0.545244932175 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.658345997334 0.509523391724 0.554045557976 -vn 0.887191772461 0.243261545897 -0.392064481974 -vn 0.884813129902 0.235721811652 -0.401921570301 -vn 0.670803904533 0.475809752941 0.568882465363 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.272610336542 0.367797374725 0.889049291611 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.670803904533 0.475809752941 0.568882465363 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.272610336542 0.367797374725 0.889049291611 -vn -0.211771011353 0.234253704548 0.948829948902 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.960054516792 0.049479231238 0.275403499603 -vn -0.885972619057 -0.237013354897 0.398594051600 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn -0.770698904991 -0.121819429100 -0.625446438789 -vn -0.680139005184 -0.469099432230 -0.563344180584 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.055108718574 0.101982802153 -0.993258535862 -vn 0.217604622245 -0.205104112625 -0.954243421555 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.670803904533 0.475809752941 0.568882465363 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.543161213398 0.695157170296 0.470884680748 -vn 0.722058236599 0.512534260750 -0.464693993330 -vn 0.886675596237 0.257487684488 -0.384065717459 -vn 0.700519919395 0.417314112186 0.578896164894 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.700519919395 0.417314112186 0.578896164894 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.056536089629 -0.104562290013 0.992910087109 -vn -0.168904587626 0.153192564845 0.973654627800 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.720583796501 -0.519040763378 0.459734320641 -vn -0.857704401016 -0.305203676224 0.413755863905 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn -0.532744526863 -0.732410252094 -0.423979341984 -vn -0.669463574886 -0.488497883081 -0.559632301331 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.325455516577 -0.477934837341 -0.815878033638 -vn 0.219654008746 -0.233781188726 -0.947152853012 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.700519919395 0.417314112186 0.578896164894 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.764939725399 0.154692605138 0.625249862671 -vn 0.955836892128 -0.063799977303 -0.286889135838 -vn 0.905991435051 0.192221090198 -0.377134740353 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.229584172368 0.852379977703 0.469829171896 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn 0.260936617851 0.964896023273 -0.029794689268 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.985347628593 -0.062460951507 0.158709406853 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.874474585056 -0.312890410423 -0.370666712523 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn 0.825260698795 -0.564096808434 -0.027195354924 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn 0.043186146766 -0.834612667561 -0.549141705036 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn 0.289707869291 -0.616199791431 -0.732370913029 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn 0.985347628593 -0.062460951507 0.158709406853 -vn 0.335055351257 -0.725507557392 -0.601146161556 -vn 0.335055351257 -0.725507557392 -0.601146161556 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn 0.802102267742 -0.378115504980 -0.462234377861 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.038995340466 -0.702562272549 -0.710553050041 -vn 0.335055351257 -0.725507557392 -0.601146161556 -vn 0.335055351257 -0.725507557392 -0.601146161556 -vn -0.723464310169 -0.577978670597 -0.377544850111 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.839455544949 0.190680772066 0.508876383305 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.686181128025 0.609030485153 0.397790521383 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.803459405899 0.538893818855 0.253074049950 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.800493359566 0.529156804085 0.281431138515 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.658253967762 0.476895362139 0.582471072674 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.936452150345 0.213357940316 0.278452545404 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.616893053055 0.346695452929 0.706572890282 -vn 0.616893053055 0.346695452929 0.706572890282 -vn 0.985347628593 -0.062460951507 0.158709406853 -vn 0.949053943157 0.121953181922 0.290558248758 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.605078577995 0.364442020655 0.707857310772 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.603666186333 0.348124086857 0.717214584351 -vn 0.616893053055 0.346695452929 0.706572890282 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.605078577995 0.364442020655 0.707857310772 -vn 0.603666186333 0.348124086857 0.717214584351 -vn 0.626911520958 0.404290556908 0.665981292725 -vn 0.581736147404 0.413781523705 0.700262784958 -vn 0.582295238972 0.388309806585 0.714246273041 -vn 0.605078577995 0.364442020655 0.707857310772 -vn 0.605078577995 0.364442020655 0.707857310772 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.581736147404 0.413781523705 0.700262784958 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.573984384537 0.438848376274 0.691342175007 -vn 0.573984384537 0.438848376274 0.691342175007 -vn 0.581736147404 0.413781523705 0.700262784958 -vn 0.596132755280 0.419728368521 0.684436857700 -vn 0.566616058350 0.477363884449 0.671617388725 -vn 0.573984384537 0.438848376274 0.691342175007 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.622975468636 0.450315475464 0.639622926712 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.566616058350 0.477363884449 0.671617388725 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.558988094330 0.524203598499 0.642450690269 -vn 0.554501175880 0.500465869904 0.664877712727 -vn 0.566616058350 0.477363884449 0.671617388725 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.598666012287 0.478592902422 0.642298877239 -vn 0.558988094330 0.524203598499 0.642450690269 -vn 0.554501175880 0.500465869904 0.664877712727 -vn 0.541685938835 0.558042049408 0.628621816635 -vn 0.558988094330 0.524203598499 0.642450690269 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.660991668701 0.493317723274 0.565444648266 -vn 0.541685938835 0.558042049408 0.628621816635 -vn 0.491780072451 0.556345999241 0.669799625874 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.370886951685 0.612930238247 0.697681427002 -vn 0.491780072451 0.556345999241 0.669799625874 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.383700132370 0.539854407310 0.749220550060 -vn -0.067740865052 0.924975275993 0.373941093683 -vn 0.004882045556 0.808167695999 0.588932156563 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.696129977703 0.598392426968 0.396647810936 -vn 0.260936617851 0.964896023273 -0.029794689268 -vn -0.067740865052 0.924975275993 0.373941093683 -vn 0.383700132370 0.539854407310 0.749220550060 -vn -0.062585294247 0.512094378471 0.856646001339 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.227120384574 0.774927020073 -0.589834272861 -vn 0.229398831725 0.792460381985 -0.565139591694 -vn 0.225670069456 0.764190435410 -0.604223489761 -vn 0.225670069456 0.764190435410 -0.604223489761 -vn 0.221627816558 0.735603809357 -0.640131354332 -vn 0.227120384574 0.774927020073 -0.589834272861 -vn -0.416140437126 0.849503874779 -0.324299782515 -vn 0.199336946011 0.966365575790 -0.162488013506 -vn -0.063228040934 0.967862427235 -0.243401989341 -vn -0.063228040934 0.967862427235 -0.243401989341 -vn -0.526178479195 0.778710901737 -0.341680556536 -vn -0.416140437126 0.849503874779 -0.324299782515 -vn -0.037351265550 -0.659526169300 0.750753045082 -vn -0.005032873247 -0.546992003918 0.837122738361 -vn -0.018200494349 -0.594198882580 0.804112195969 -vn -0.018200494349 -0.594198882580 0.804112195969 -vn -0.058633551002 -0.727339625359 0.683768332005 -vn -0.037351265550 -0.659526169300 0.750753045082 -vn -0.597158789635 -0.182681038976 0.781043529510 -vn -0.709266424179 0.149740710855 0.688853323460 -vn -0.714168488979 0.133881628513 0.687050998211 -vn -0.714168488979 0.133881628513 0.687050998211 -vn -0.601092875004 -0.198408842087 0.774158477783 -vn -0.597158789635 -0.182681038976 0.781043529510 -vn -0.310718089342 0.886000812054 -0.344175636768 -vn -0.286670923233 0.777926385403 -0.559151470661 -vn -0.306549847126 0.864508807659 -0.398311138153 -vn -0.306549847126 0.864508807659 -0.398311138153 -vn -0.316740483046 0.940792977810 -0.120764441788 -vn -0.310718089342 0.886000812054 -0.344175636768 -vn -0.758818030357 0.390478551388 0.521269321442 -vn -0.766251981258 0.386263102293 0.513477087021 -vn -0.688824176788 0.425401031971 0.586988270283 -vn -0.688824176788 0.425401031971 0.586988270283 -vn -0.679944336414 0.429292380810 0.594460844994 -vn -0.758818030357 0.390478551388 0.521269321442 -vn -0.714168488979 0.133881628513 0.687050998211 -vn -0.709266424179 0.149740710855 0.688853323460 -vn -0.755035281181 0.451850354671 0.475134670734 -vn -0.755035281181 0.451850354671 0.475134670734 -vn -0.755384206772 0.451619952917 0.474799036980 -vn -0.714168488979 0.133881628513 0.687050998211 -vn 0.004882045556 0.808167695999 0.588932156563 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.696129977703 0.598392426968 0.396647810936 -vn -0.062585294247 0.512094378471 0.856646001339 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.004882045556 0.808167695999 0.588932156563 -vn -0.062585294247 0.512094378471 0.856646001339 -vn 0.004882045556 0.808167695999 0.588932156563 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.062585294247 0.512094378471 0.856646001339 -vn -0.067740865052 0.924975275993 0.373941093683 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn 0.004882045556 0.808167695999 0.588932156563 -vn -0.067740865052 0.924975275993 0.373941093683 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.067740865052 0.924975275993 0.373941093683 -vn 0.260936617851 0.964896023273 -0.029794689268 -vn 0.260936617851 0.964896023273 -0.029794689268 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.207069844007 -0.739300668240 0.640746891499 -vn -0.082042597234 -0.496342778206 0.864241182804 -vn -0.082584783435 -0.501806735992 0.861028313637 -vn -0.082584783435 -0.501806735992 0.861028313637 -vn -0.218742683530 -0.747778773308 0.626880049706 -vn -0.207069844007 -0.739300668240 0.640746891499 -vn -0.082042597234 -0.496342778206 0.864241182804 -vn -0.336433708668 -0.580547392368 0.741469502449 -vn -0.329182595015 -0.575041651726 0.748976588249 -vn -0.329182595015 -0.575041651726 0.748976588249 -vn -0.082584783435 -0.501806735992 0.861028313637 -vn -0.082042597234 -0.496342778206 0.864241182804 -vn -0.723464310169 -0.577978670597 -0.377544850111 -vn -0.792546272278 -0.441156685352 -0.421012073755 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.723464310169 -0.577978670597 -0.377544850111 -vn -0.290420413017 -0.288244158030 0.912453472614 -vn -0.292118996382 -0.289201915264 0.911607801914 -vn -0.343499422073 -0.192366912961 0.919240534306 -vn -0.343499422073 -0.192366912961 0.919240534306 -vn -0.331636220217 -0.201299607754 0.921680986881 -vn -0.290420413017 -0.288244158030 0.912453472614 -vn -0.343499422073 -0.192366912961 0.919240534306 -vn -0.530348896980 -0.108248136938 0.840840280056 -vn -0.531560599804 -0.106481343508 0.840300559998 -vn -0.531560599804 -0.106481343508 0.840300559998 -vn -0.331636220217 -0.201299607754 0.921680986881 -vn -0.343499422073 -0.192366912961 0.919240534306 -vn -0.711355686188 0.047995567322 0.701191484928 -vn -0.715247035027 0.057760063559 0.696480751038 -vn -0.531560599804 -0.106481343508 0.840300559998 -vn -0.531560599804 -0.106481343508 0.840300559998 -vn -0.530348896980 -0.108248136938 0.840840280056 -vn -0.711355686188 0.047995567322 0.701191484928 -vn -0.678254187107 0.233527660370 0.696732461452 -vn -0.676289498806 0.234662115574 0.698259413242 -vn -0.715247035027 0.057760063559 0.696480751038 -vn -0.715247035027 0.057760063559 0.696480751038 -vn -0.711355686188 0.047995567322 0.701191484928 -vn -0.678254187107 0.233527660370 0.696732461452 -vn -0.807819128036 -0.426007598639 -0.407364487648 -vn -0.787681639194 -0.419256091118 -0.451422154903 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.771373629570 -0.445649206638 -0.454290151596 -vn -0.807819128036 -0.426007598639 -0.407364487648 -vn -0.807143092155 -0.382068574429 -0.450048476458 -vn -0.822031438351 -0.366936504841 -0.435455977917 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.787681639194 -0.419256091118 -0.451422154903 -vn -0.807143092155 -0.382068574429 -0.450048476458 -vn -0.813188791275 -0.351887822151 -0.463571965694 -vn -0.833994865417 -0.328578948975 -0.443270176649 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.813188791275 -0.351887822151 -0.463571965694 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.934351325035 0.180582076311 0.307209491730 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.944160640240 0.323921054602 -0.060297612101 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.689756512642 -0.386467009783 -0.612273812294 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.689756512642 -0.386467009783 -0.612273812294 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.886515855789 0.312364012003 -0.341347783804 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.188115775585 0.482156515121 -0.855650365353 -vn 0.779463052750 0.515830814838 -0.355465710163 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn 0.745901107788 0.408829033375 -0.525823473930 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.159677147865 -0.149930417538 -0.975717186928 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.923839390278 -0.340887963772 -0.174115538597 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.787681639194 -0.419256091118 -0.451422154903 -vn -0.799885809422 -0.375754773617 -0.467964798212 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.787681639194 -0.419256091118 -0.451422154903 -vn -0.755526661873 -0.421179801226 -0.501783847809 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.763828694820 -0.489515036345 -0.420643240213 -vn -0.771373629570 -0.445649206638 -0.454290151596 -vn -0.771373629570 -0.445649206638 -0.454290151596 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.730110049248 -0.523954749107 -0.438646525145 -vn -0.763828694820 -0.489515036345 -0.420643240213 -vn -0.763828694820 -0.489515036345 -0.420643240213 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.730110049248 -0.523954749107 -0.438646525145 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.818468391895 -0.371596157551 -0.438207447529 -vn -0.818468391895 -0.371596157551 -0.438207447529 -vn -0.667977154255 -0.468124926090 -0.578502893448 -vn -0.730110049248 -0.523954749107 -0.438646525145 -vn 0.631962656975 -0.748235523701 0.201907843351 -vn 0.605304896832 -0.786918938160 0.119852282107 -vn 0.620291948318 -0.767025291920 0.164042875171 -vn 0.620291948318 -0.767025291920 0.164042875171 -vn 0.644578337669 -0.723311424255 0.247667729855 -vn 0.631962656975 -0.748235523701 0.201907843351 -vn -0.663433015347 0.574735462666 0.479098916054 -vn -0.576117694378 0.644429028034 0.502791821957 -vn -0.603480875492 0.624114632607 0.496277928352 -vn -0.603480875492 0.624114632607 0.496277928352 -vn -0.706421017647 0.534547507763 0.463927060366 -vn -0.663433015347 0.574735462666 0.479098916054 -vn -0.818468391895 -0.371596157551 -0.438207447529 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.792546272278 -0.441156685352 -0.421012073755 -vn -0.818468391895 -0.371596157551 -0.438207447529 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.751621365547 -0.450838387012 -0.481466561556 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.740067958832 -0.484423100948 -0.466512233019 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.744350910187 -0.521077871323 -0.417635709047 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.726788640022 -0.502398431301 -0.468373894691 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn -0.621027767658 -0.595708489418 -0.509368121624 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.417442232370 -0.590895056725 -0.690351366997 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.674613356590 0.471521556377 -0.567947328091 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.254311680794 -0.167461365461 -0.952513635159 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn 0.463969379663 0.813530683517 -0.350571364164 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn -0.373882293701 0.310287743807 -0.874032914639 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.612864077091 -0.559671700001 -0.557821869850 -vn -0.713246285915 -0.308358550072 -0.629440069199 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.495753198862 0.131482884288 0.858452677727 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.256251752377 0.170163363218 0.951514303684 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.603593230247 0.192291274667 0.773756623268 -vn 0.229584172368 0.852379977703 0.469829171896 -vn 0.041993357241 0.797598063946 0.601725757122 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn 0.229584172368 0.852379977703 0.469829171896 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.041993357241 0.797598063946 0.601725757122 -vn 0.426158398390 0.826792299747 0.367155998945 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn 0.426158398390 0.826792299747 0.367155998945 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.640465438366 -0.704728960991 0.305223017931 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.922598123550 0.068173386157 0.379690796137 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn 0.645867347717 0.759562194347 -0.076946094632 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.995269954205 -0.094131454825 0.024020485580 -vn 0.640465438366 -0.704728960991 0.305223017931 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn 0.684990108013 0.674838602543 -0.274556785822 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.313647478819 -0.631883203983 -0.708765745163 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.938056409359 0.055331554264 -0.342035889626 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.981343269348 -0.031429406255 -0.189677640796 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.764200329781 -0.186552703381 -0.617410659790 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.349761039019 -0.113213412464 -0.929973065853 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn -0.566509664059 -0.823908209801 -0.015559613705 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn -0.804719209671 -0.591550230980 0.049952868372 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn -0.570844233036 -0.740347564220 -0.354996263981 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.098033927381 -0.756649672985 -0.646429121494 -vn -0.313647478819 -0.631883203983 -0.708765745163 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn 0.518000125885 -0.625398337841 0.583568990231 -vn 0.150375440717 -0.956338346004 0.250607728958 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.417796224356 -0.550401687622 0.722844600677 -vn -0.135790631175 -0.961399912834 0.239313766360 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn 0.553593516350 -0.527526497841 0.644398927689 -vn -0.072136357427 -0.994475126266 0.076259985566 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.640465438366 -0.704728960991 0.305223017931 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.671063661575 -0.589654684067 0.449422925711 -vn 0.191048607230 -0.981342017651 -0.021640488878 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.640465438366 -0.704728960991 0.305223017931 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.422723919153 0.738064825535 -0.525894224644 -vn -0.118776917458 0.966788709164 -0.226299867034 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.662224650383 0.613074541092 -0.430810958147 -vn -0.161380723119 0.978026390076 -0.131987363100 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.576915979385 0.514074325562 -0.634740591049 -vn -0.054437931627 0.979436457157 -0.194269850850 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.372853875160 0.596242547035 -0.710967540741 -vn -0.033968716860 0.937177479267 -0.347195148468 -vn -0.059337425977 0.911660373211 -0.406638026237 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.429046809673 -0.796191692352 0.426611751318 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn 0.126075819135 -0.991391956806 -0.035311166197 -vn -0.313647478819 -0.631883203983 -0.708765745163 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.313647478819 -0.631883203983 -0.708765745163 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.507797300816 -0.014627303928 -0.861352384090 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn 0.884976446629 -0.250451683998 0.392543762922 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn 0.378463476896 0.783811092377 0.492346972227 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn 0.422761082649 0.905447840691 -0.037911430001 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn -0.355150580406 0.699059724808 -0.620631575584 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.120943859220 0.924671351910 -0.361047744751 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn 0.388690173626 0.732356131077 0.559083580971 -vn -0.334084272385 0.786465167999 0.519480764866 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.411167144775 0.906487345695 0.096032403409 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.388690173626 0.732356131077 0.559083580971 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.334084272385 0.786465167999 0.519480764866 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.790524423122 0.521289408207 -0.321447402239 -vn -0.411167144775 0.906487345695 0.096032403409 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.334084272385 0.786465167999 0.519480764866 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn -0.740822911263 0.609460711479 0.282381057739 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn -0.334084272385 0.786465167999 0.519480764866 -vn 0.388690173626 0.732356131077 0.559083580971 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.740822911263 0.609460711479 0.282381057739 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.003442640649 0.996815025806 -0.079673819244 -vn 0.388690173626 0.732356131077 0.559083580971 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.388690173626 0.732356131077 0.559083580971 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.682607948780 0.602593600750 -0.413433611393 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.388690173626 0.732356131077 0.559083580971 -vn 0.388690173626 0.732356131077 0.559083580971 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.718595862389 0.547037959099 0.429382652044 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.812969028950 0.469094514847 0.345009744167 -vn 0.817769885063 0.481556564569 0.315207391977 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.749369800091 0.489035457373 0.446418195963 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.812969028950 0.469094514847 0.345009744167 -vn 0.806812405586 0.465968638659 0.363217532635 -vn 0.812969028950 0.469094514847 0.345009744167 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.806812405586 0.465968638659 0.363217532635 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.767436444759 0.463645577431 0.442802578211 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.820294380188 0.412772327662 0.395899116993 -vn 0.806812405586 0.465968638659 0.363217532635 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.820294380188 0.412772327662 0.395899116993 -vn 0.915219843388 0.365772277117 0.169065743685 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn 0.915219843388 0.365772277117 0.169065743685 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.757159888744 0.476233154535 0.447113960981 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.666716694832 0.479019969702 0.570989251137 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.378463476896 0.783811092377 0.492346972227 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.681036770344 0.469771593809 0.561697006226 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.665310978889 0.292275011539 0.686976432800 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.540240406990 0.256953597069 0.801320850849 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn 0.330415427685 -0.368209093809 0.869049906731 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn 0.007833177224 -0.254301071167 0.967093408108 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.785756528378 -0.244205147028 -0.568287372589 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.681711435318 -0.464849233627 -0.564964354038 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.662668108940 0.436805695295 -0.608335196972 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.949991941452 0.066238164902 -0.305168509483 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.621671855450 -0.395317047834 -0.676201522350 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn -0.289297044277 0.126304164529 -0.948870122433 -vn 0.543234527111 0.750437855721 -0.376482844353 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn 0.682607948780 0.602593600750 -0.413433611393 -vn -0.152807876468 0.003922926262 -0.988248109818 -vn -0.152807876468 0.003922926262 -0.988248109818 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn 0.568385779858 0.633698344231 -0.524751365185 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.304266571999 -0.081515416503 -0.949092745781 -vn -0.152807876468 0.003922926262 -0.988248109818 -vn 0.571283638477 0.195726588368 -0.797073483467 -vn 0.581513226032 0.206123635173 -0.786991357803 -vn 0.531929790974 0.057460013777 -0.844836711884 -vn 0.531929790974 0.057460013777 -0.844836711884 -vn 0.559709072113 0.020506501198 -0.828435420990 -vn 0.571283638477 0.195726588368 -0.797073483467 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.595149517059 -0.417273491621 -0.686789572239 -vn -0.577492237091 -0.461448967457 -0.673474252224 -vn -0.577492237091 -0.461448967457 -0.673474252224 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.509972751141 0.793636679649 -0.331765860319 -vn -0.537571310997 0.772639870644 -0.337705105543 -vn -0.534661054611 0.774923622608 -0.337091892958 -vn -0.534661054611 0.774923622608 -0.337091892958 -vn -0.495952785015 0.803755402565 -0.328645855188 -vn -0.509972751141 0.793636679649 -0.331765860319 -vn 0.628486037254 -0.765047073364 0.140386179090 -vn 0.629080116749 -0.764525115490 0.140568733215 -vn 0.627358913422 -0.766035020351 0.140039905906 -vn 0.627358913422 -0.766035020351 0.140039905906 -vn 0.627170860767 -0.766199529171 0.139982149005 -vn 0.628486037254 -0.765047073364 0.140386179090 -vn 0.531929790974 0.057460013777 -0.844836711884 -vn 0.601446866989 -0.122731477022 -0.789429366589 -vn 0.618541955948 -0.147163629532 -0.771847546101 -vn 0.618541955948 -0.147163629532 -0.771847546101 -vn 0.559709072113 0.020506501198 -0.828435420990 -vn 0.531929790974 0.057460013777 -0.844836711884 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.577492237091 -0.461448967457 -0.673474252224 -vn -0.526679396629 -0.509270489216 -0.680626451969 -vn 0.601446866989 -0.122731477022 -0.789429366589 -vn 0.734982609749 -0.236774384975 -0.635404169559 -vn 0.734118044376 -0.247591629624 -0.632272958755 -vn 0.734118044376 -0.247591629624 -0.632272958755 -vn 0.618541955948 -0.147163629532 -0.771847546101 -vn 0.601446866989 -0.122731477022 -0.789429366589 -vn -0.526679396629 -0.509270489216 -0.680626451969 -vn -0.506287515163 -0.536978483200 -0.674779236317 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.526679396629 -0.509270489216 -0.680626451969 -vn -0.624906539917 -0.432199299335 -0.650150477886 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.603490769863 -0.486868530512 -0.631472826004 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn 0.734118044376 -0.247591629624 -0.632272958755 -vn 0.734982609749 -0.236774384975 -0.635404169559 -vn 0.604554712772 -0.406347364187 -0.685124337673 -vn 0.604554712772 -0.406347364187 -0.685124337673 -vn 0.599086761475 -0.409433424473 -0.688083827496 -vn 0.734118044376 -0.247591629624 -0.632272958755 -vn -0.506287515163 -0.536978483200 -0.674779236317 -vn -0.700512945652 -0.458336979151 -0.546999812126 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.506287515163 -0.536978483200 -0.674779236317 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.566157758236 -0.520466208458 -0.639202833176 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.666281819344 -0.495860993862 -0.556947410107 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn -0.669272661209 -0.586196959019 -0.456560224295 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.726016998291 -0.656698286533 -0.204075306654 -vn -0.538350999355 -0.654604792595 0.530726671219 -vn -0.486205756664 -0.848186790943 0.210197895765 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.597590386868 -0.566873550415 -0.567045092583 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn -0.755449414253 -0.654008865356 -0.039605412632 -vn -0.755449414253 -0.654008865356 -0.039605412632 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.672040104866 -0.656086146832 -0.343384683132 -vn -0.755449414253 -0.654008865356 -0.039605412632 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn -0.577021539211 -0.631674647331 0.517719328403 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn 0.572836101055 0.156684830785 0.804554939270 -vn -0.056767333299 -0.310560673475 0.948856949806 -vn 0.355971693993 -0.698756396770 0.620502710342 -vn 0.354127824306 -0.701984345913 0.617908954620 -vn 0.354813098907 -0.700787842274 0.618873238564 -vn 0.354813098907 -0.700787842274 0.618873238564 -vn 0.356339871883 -0.698108613491 0.621020376682 -vn 0.355971693993 -0.698756396770 0.620502710342 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn -0.045421313494 -0.364519536495 -0.930087327957 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn 0.208624199033 -0.309199512005 -0.927831649780 -vn 0.915219843388 0.365772277117 0.169065743685 -vn 0.896686136723 0.435548067093 -0.079068511724 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn 0.949957668781 0.131756618619 -0.283232480288 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn 0.271968334913 -0.475931823254 -0.836374402046 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn 0.385559916496 -0.831905722618 -0.399094432592 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.977639138699 -0.121614255011 0.171556651592 -vn 0.737763464451 0.411261945963 0.535321116447 -vn 0.572836101055 0.156684830785 0.804554939270 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn 0.826030433178 -0.454960823059 0.332692533731 -vn 0.585414111614 -0.286889463663 0.758277475834 -vn 0.023477902636 -0.918665289879 -0.394338548183 -vn -0.098564960063 -0.946164667606 0.308313846588 -vn -0.755449414253 -0.654008865356 -0.039605412632 -vn 0.558988094330 0.524203598499 0.642450690269 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.553849399090 0.540512084961 0.633322656155 -vn 0.598153293133 0.517687678337 0.611728787422 -vn 0.383700132370 0.539854407310 0.749220550060 -vn 0.830982983112 0.368793278933 0.416483879089 -vn 0.820294380188 0.412772327662 0.395899116993 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.772460281849 0.431776523590 0.465697467327 -vn 0.915219843388 0.365772277117 0.169065743685 -vn 0.830982983112 0.368793278933 0.416483879089 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.690469682217 -0.475103706121 -0.545461297035 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.626620769501 -0.425015181303 -0.653229296207 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.674324989319 -0.420667380095 -0.606897652149 -vn -0.699129939079 -0.454820096493 -0.551684677601 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn -0.689756512642 -0.386467009783 -0.612273812294 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.116164192557 -0.129425451159 -0.984761357307 -vn -0.690721869469 -0.425349652767 -0.584791421890 -vn -0.742867887020 -0.401135712862 -0.535945415497 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.225397258997 0.847410619259 0.480719625950 -vn -0.022359715775 0.783848524094 0.620549440384 -vn -0.022359715775 0.783848524094 0.620549440384 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.176284044981 0.601203441620 0.779408991337 -vn -0.022359715775 0.783848524094 0.620549440384 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.221020415425 0.617830932140 0.754609107971 -vn 0.016968332231 0.508910477161 0.860652208328 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.016968332231 0.508910477161 0.860652208328 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.107152707875 0.334624469280 0.936239659786 -vn 0.016968332231 0.508910477161 0.860652208328 -vn -0.107152707875 0.334624469280 0.936239659786 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.107152707875 0.334624469280 0.936239659786 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.225397258997 0.847410619259 0.480719625950 -vn 0.225397258997 0.847410619259 0.480719625950 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.225397258997 0.847410619259 0.480719625950 -vn 0.072499595582 0.978071272373 0.195244491100 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.022359715775 0.783848524094 0.620549440384 -vn 0.225397258997 0.847410619259 0.480719625950 -vn -0.022359715775 0.783848524094 0.620549440384 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.022359715775 0.783848524094 0.620549440384 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.221020415425 0.617830932140 0.754609107971 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.340275913477 0.374614924192 0.862482428551 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.361942619085 0.091239318252 0.927724599838 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn -0.282722592354 -0.189093366265 0.940378427505 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn -0.114699073136 -0.423665881157 0.898527324200 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.116556644440 -0.576752722263 0.808560967445 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.375719875097 -0.625069260597 0.684195160866 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.623359560966 -0.561303257942 0.544390976429 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.821807086468 -0.395209699869 0.410417407751 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.940890491009 -0.152064502239 0.302657306194 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.962504327297 0.131084352732 0.237491607666 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.883385002613 0.411203354597 0.224817082286 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.715548932552 0.645697057247 0.266580253839 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.072499595582 0.978071272373 0.195244491100 -vn 0.072499595582 0.978071272373 0.195244491100 -vn 0.225397258997 0.847410619259 0.480719625950 -vn 0.484497249126 0.798884570599 0.356435000896 -vn 0.072499595582 0.978071272373 0.195244491100 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.235830068588 0.898830175400 0.369443446398 -vn 0.072499595582 0.978071272373 0.195244491100 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.235830068588 0.898830175400 0.369443446398 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.482984036207 0.692101240158 0.536397576332 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.631313920021 0.389362454414 0.670700788498 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.658245265484 0.036702454090 0.751908302307 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.559685468674 -0.312195211649 0.767649888992 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn -0.350638359785 -0.604206144810 0.715533137321 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn -0.062918022275 -0.794889926910 0.603482663631 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.259666293859 -0.855197250843 0.448565602303 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.567983329296 -0.775958120823 0.274379104376 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.815125644207 -0.569236397743 0.107424795628 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.963462889194 -0.266489982605 -0.026876050979 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.990399360657 0.086185812950 -0.108078926802 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.891834855080 0.435085475445 -0.123819284141 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.682788848877 0.727087855339 -0.071712374687 -vn 0.395072251558 0.917763888836 0.040340516716 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn 0.072499595582 0.978071272373 0.195244491100 -vn 0.395072251558 0.917763888836 0.040340516716 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn -0.184946745634 0.935617744923 -0.300689518452 -vn -0.510389328003 0.851969182491 -0.116838611662 -vn -0.510389328003 0.851969182491 -0.116838611662 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.510389328003 0.851969182491 -0.116838611662 -vn -0.771237671375 0.633772552013 0.059369832277 -vn -0.771237671375 0.633772552013 0.059369832277 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.432139426470 0.900357484818 0.051106605679 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.771237671375 0.633772552013 0.059369832277 -vn -0.927791595459 0.314238816500 0.201138496399 -vn -0.927791595459 0.314238816500 0.201138496399 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.697865962982 0.678082287312 0.230624243617 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.927791595459 0.314238816500 0.201138496399 -vn -0.956224083900 -0.057976730168 0.286834865808 -vn -0.956224083900 -0.057976730168 0.286834865808 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.857345402241 0.352580279112 0.375027984381 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.956224083900 -0.057976730168 0.286834865808 -vn -0.852196872234 -0.426232755184 0.303456902504 -vn -0.852196872234 -0.426232755184 0.303456902504 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.886307537556 -0.026594040915 0.462332934141 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.852196872234 -0.426232755184 0.303456902504 -vn -0.631541669369 -0.734460175037 0.248441949487 -vn -0.631541669369 -0.734460175037 0.248441949487 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.780336201191 -0.401725471020 0.479261994362 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.631541669369 -0.734460175037 0.248441949487 -vn -0.327866882086 -0.935713112354 0.130170091987 -vn -0.327866882086 -0.935713112354 0.130170091987 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn -0.555568754673 -0.715700089931 0.423221856356 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn -0.327866882086 -0.935713112354 0.130170091987 -vn 0.012606930919 -0.999365031719 -0.033325370401 -vn 0.012606930919 -0.999365031719 -0.033325370401 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn -0.246219098568 -0.920718669891 0.302742958069 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.012606930919 -0.999365031719 -0.033325370401 -vn 0.338061541319 -0.915723919868 -0.217173010111 -vn 0.338061541319 -0.915723919868 -0.217173010111 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.100627504289 -0.985559940338 0.136182814837 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.338061541319 -0.915723919868 -0.217173010111 -vn 0.598875761032 -0.697550654411 -0.393409401178 -vn 0.598875761032 -0.697550654411 -0.393409401178 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.432129591703 -0.900362253189 -0.051105588675 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.598875761032 -0.697550654411 -0.393409401178 -vn 0.755454063416 -0.378001183271 -0.535167455673 -vn 0.755454063416 -0.378001183271 -0.535167455673 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.697853982449 -0.678096115589 -0.230619743466 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.755454063416 -0.378001183271 -0.535167455673 -vn 0.783883988857 -0.005762599874 -0.620880603790 -vn 0.783883988857 -0.005762599874 -0.620880603790 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.857345044613 -0.352587401867 -0.375022053719 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.783883988857 -0.005762599874 -0.620880603790 -vn 0.679845094681 0.362510502338 -0.637492597103 -vn 0.679845094681 0.362510502338 -0.637492597103 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.886305391788 0.026597272605 -0.462336778641 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.679845094681 0.362510502338 -0.637492597103 -vn 0.459209173918 0.670695543289 -0.582489907742 -vn 0.459209173918 0.670695543289 -0.582489907742 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.780332505703 0.401737719774 -0.479257732630 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.459209173918 0.670695543289 -0.582489907742 -vn 0.155552893877 0.871945738792 -0.464234739542 -vn 0.155552893877 0.871945738792 -0.464234739542 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.555568575859 0.715697705746 -0.423226147890 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.155552893877 0.871945738792 -0.464234739542 -vn -0.184946745634 0.935617744923 -0.300689518452 -vn -0.184946745634 0.935617744923 -0.300689518452 -vn -0.100619047880 0.985560953617 -0.136181518435 -vn 0.246223002672 0.920717000961 -0.302744895220 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.656706690788 0.291235148907 0.695642411709 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.427116841078 0.346271544695 0.835264742374 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.427116841078 0.346271544695 0.835264742374 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.440409421921 0.166868761182 0.882153272629 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.169255286455 0.259556770325 0.950780153275 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.440409421921 0.166868761182 0.882153272629 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.197535604239 0.024697216228 0.979984581470 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.440409421921 0.166868761182 0.882153272629 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.440409421921 0.166868761182 0.882153272629 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.451448649168 0.167209327221 0.876490235329 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.452018499374 0.167220517993 0.876194357872 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.452623456717 0.167246818542 0.875876963139 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.463660359383 0.167292177677 0.870076119900 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.427116841078 0.346271544695 0.835264742374 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.363943278790 0.341866672039 0.866413593292 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.176284044981 0.601203441620 0.779408991337 -vn 0.016968332231 0.508910477161 0.860652208328 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.169255286455 0.259556770325 0.950780153275 -vn 0.283881247044 0.325743108988 0.901833057404 -vn 0.016968332231 0.508910477161 0.860652208328 -vn 0.016968332231 0.508910477161 0.860652208328 -vn -0.107152707875 0.334624469280 0.936239659786 -vn 0.169255286455 0.259556770325 0.950780153275 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.169255286455 0.259556770325 0.950780153275 -vn -0.107152707875 0.334624469280 0.936239659786 -vn -0.107152707875 0.334624469280 0.936239659786 -vn -0.115241959691 0.127359017730 0.985139071941 -vn 0.194399654865 0.158964470029 0.967956125736 -vn 0.197535604239 0.024697216228 0.979984581470 -vn 0.194399654865 0.158964470029 0.967956125736 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.115241959691 0.127359017730 0.985139071941 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn 0.197535604239 0.024697216228 0.979984581470 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.197535604239 0.024697216228 0.979984581470 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn -0.057254210114 -0.091495782137 0.994158148766 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.305516988039 -0.015322029591 0.952063322067 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn 0.100197784603 -0.239033892751 0.965827703476 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.394724458456 -0.022512111813 0.918523728848 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.271152794361 -0.318406075239 0.908346712589 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.460756331682 -0.017682855949 0.887350499630 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.441843092442 -0.342358052731 0.829195797443 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.521523356438 -0.012042840943 0.853152036667 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.604076445103 -0.310684293509 0.733871161938 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.591680169106 0.003373243380 0.806165754795 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.747208595276 -0.221942380071 0.626435041428 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.684162914753 0.063145652413 0.726590454578 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.851525843143 -0.053865674883 0.521538317204 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.656706690788 0.291235148907 0.695642411709 -vn 0.667653024197 0.162887707353 0.726434469223 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.863084256649 0.151679724455 0.481745600700 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.656706690788 0.291235148907 0.695642411709 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.656706690788 0.291235148907 0.695642411709 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.804317176342 0.366487383842 0.467718809843 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.567347586155 0.336215704679 0.751715183258 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.669112265110 0.520763397217 0.530183255672 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.427116841078 0.346271544695 0.835264742374 -vn 0.489619523287 0.348137021065 0.799420595169 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.511473476887 0.606199979782 0.609029054642 -vn 0.344095647335 0.632951617241 0.693520307541 -vn 0.427116841078 0.346271544695 0.835264742374 -vn -0.035729635507 0.607942640781 0.793176591396 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.226580724120 0.800231337547 0.555239558220 -vn -0.063553564250 0.828384757042 0.556542575359 -vn -0.035729635507 0.607942640781 0.793176591396 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.035729635507 0.607942640781 0.793176591396 -vn -0.063553564250 0.828384757042 0.556542575359 -vn -0.063553564250 0.828384757042 0.556542575359 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.063553564250 0.828384757042 0.556542575359 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.274038642645 0.932397603989 0.235664024949 -vn -0.087142288685 0.967561662197 0.237130120397 -vn -0.063553564250 0.828384757042 0.556542575359 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.226580724120 0.800231337547 0.555239558220 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.484057068825 0.664243340492 0.569622218609 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.669634461403 0.441104024649 0.597508907318 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.755023717880 0.164784476161 0.634653627872 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.727189660072 -0.122606091201 0.675398409367 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.590394258499 -0.377241045237 0.713529169559 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.365469276905 -0.560368835926 0.743248939514 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn 0.086761683226 -0.644093751907 0.760010302067 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.203307241201 -0.615718901157 0.761286020279 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.460575342178 -0.479621708393 0.746882438660 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.645931184292 -0.256549030542 0.718996167183 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.731200158596 0.019573226571 0.681882083416 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.703438580036 0.306727319956 0.641164958477 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.566846191883 0.561266124249 0.603047072887 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.063553564250 0.828384757042 0.556542575359 -vn -0.087142288685 0.967561662197 0.237130120397 -vn -0.087142288685 0.967561662197 0.237130120397 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.342163980007 0.744452655315 0.573335886002 -vn -0.087142288685 0.967561662197 0.237130120397 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn -0.087142288685 0.967561662197 0.237130120397 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.274038642645 0.932397603989 0.235664024949 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.594477415085 0.763044595718 0.253691971302 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.825399279594 0.485264062881 0.288504391909 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.931638896465 0.141375392675 0.334756553173 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.897019803524 -0.216296717525 0.385449409485 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.726828277111 -0.533273994923 0.432827323675 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.446954131126 -0.761327028275 0.469694793224 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn 0.100011304021 -0.865711152554 0.490450710058 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.261155962944 -0.830548822880 0.491920948029 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.581612646580 -0.661173880100 0.473894327879 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.812520205975 -0.383413404226 0.439095735550 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.918760716915 -0.039528399706 0.392831087112 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.884145736694 0.318151026964 0.342149436474 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.713946640491 0.635133862495 0.294762849808 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.087142288685 0.967561662197 0.237130120397 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.434065520763 0.863180398941 0.257888972759 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.279109090567 0.903948545456 -0.323998630047 -vn 0.279109090567 0.903948545456 -0.323998630047 -vn -0.102105967700 0.941065251827 -0.322444617748 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.617344737053 0.725185930729 -0.304944008589 -vn 0.617344737053 0.725185930729 -0.304944008589 -vn 0.279109090567 0.903948545456 -0.323998630047 -vn 0.287722229958 0.947753131390 -0.137767583132 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.861044466496 0.432026088238 -0.268245995045 -vn 0.861044466496 0.432026088238 -0.268245995045 -vn 0.617344737053 0.725185930729 -0.304944008589 -vn 0.632264733315 0.765655398369 -0.118377074599 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.973190963268 0.069042496383 -0.219391137362 -vn 0.973190963268 0.069042496383 -0.219391137362 -vn 0.861044466496 0.432026088238 -0.268245995045 -vn 0.880540430546 0.467004269361 -0.080966107547 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.936656296253 -0.308471262455 -0.165892928839 -vn 0.936656296253 -0.308471262455 -0.165892928839 -vn 0.973190963268 0.069042496383 -0.219391137362 -vn 0.994772076607 0.097234629095 -0.031207935885 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.757012963295 -0.643040478230 -0.115889355540 -vn 0.757012963295 -0.643040478230 -0.115889355540 -vn 0.936656296253 -0.308471262455 -0.165892928839 -vn 0.957554459572 -0.287310987711 0.023277990520 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.461620241404 -0.883733093739 -0.076957985759 -vn 0.461620241404 -0.883733093739 -0.076957985759 -vn 0.757012963295 -0.643040478230 -0.115889355540 -vn 0.774556040764 -0.628134548664 0.074228972197 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn 0.095433920622 -0.993913292885 -0.055033963174 -vn 0.095433920622 -0.993913292885 -0.055033963174 -vn 0.461620241404 -0.883733093739 -0.076957985759 -vn 0.473634302616 -0.873328685760 0.113875091076 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.285777777433 -0.956801950932 -0.053489483893 -vn -0.285777777433 -0.956801950932 -0.053489483893 -vn 0.095433920622 -0.993913292885 -0.055033963174 -vn 0.100609168410 -0.985559642315 0.136198222637 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.624005198479 -0.778046429157 -0.072535090148 -vn -0.624005198479 -0.778046429157 -0.072535090148 -vn -0.285777777433 -0.956801950932 -0.053489483893 -vn -0.287719607353 -0.947753310204 0.137771964073 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.867740154266 -0.484856963158 -0.109273917973 -vn -0.867740154266 -0.484856963158 -0.109273917973 -vn -0.624005198479 -0.778046429157 -0.072535090148 -vn -0.632260084152 -0.765659391880 0.118376106024 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.979872226715 -0.121874794364 -0.158104330301 -vn -0.979872226715 -0.121874794364 -0.158104330301 -vn -0.867740154266 -0.484856963158 -0.109273917973 -vn -0.880548179150 -0.466990053654 0.080964274704 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.943332910538 0.255631208420 -0.211602717638 -vn -0.943332910538 0.255631208420 -0.211602717638 -vn -0.979872226715 -0.121874794364 -0.158104330301 -vn -0.994770646095 -0.097247369587 0.031213214621 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.763698756695 0.590180635452 -0.261631429195 -vn -0.763698756695 0.590180635452 -0.261631429195 -vn -0.943332910538 0.255631208420 -0.211602717638 -vn -0.957554757595 0.287309199572 -0.023287288845 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.468307971954 0.830874264240 -0.300558716059 -vn -0.468307971954 0.830874264240 -0.300558716059 -vn -0.763698756695 0.590180635452 -0.261631429195 -vn -0.774568021297 0.628118455410 -0.074239954352 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.100611813366 0.985561251640 -0.136184900999 -vn -0.102105967700 0.941065251827 -0.322444617748 -vn -0.102105967700 0.941065251827 -0.322444617748 -vn -0.468307971954 0.830874264240 -0.300558716059 -vn -0.473643004894 0.873323142529 -0.113881506026 -vn -0.241403773427 0.103066213429 0.964936017990 -vn 0.004517787136 0.137057393789 0.990552783012 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.262741386890 0.230674043298 0.936886548996 -vn -0.241403773427 0.103066213429 0.964936017990 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.067393772304 0.322359681129 0.944215178490 -vn -0.002960407641 0.317960262299 0.948099434376 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.017514187843 0.138613402843 0.990191698074 -vn -0.002960407641 0.317960262299 0.948099434376 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.074658878148 0.311024487019 0.947464942932 -vn 0.016861176118 0.138552471995 0.990211546421 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.016861176118 0.138552471995 0.990211546421 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.163651511073 0.288096219301 0.943514049053 -vn 0.004517787136 0.137057393789 0.990552783012 -vn 0.016861176118 0.138552471995 0.990211546421 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.030540788546 0.139876529574 0.989697813988 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.030540788546 0.139876529574 0.989697813988 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.286905646324 0.267333179712 0.919901132584 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.030540788546 0.139876529574 0.989697813988 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.305570989847 0.031798329204 0.951638162136 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.030540788546 0.139876529574 0.989697813988 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.018172575161 0.138676419854 0.990171015263 -vn 0.017514187843 0.138613402843 0.990191698074 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.017514187843 0.138613402843 0.990191698074 -vn 0.016861176118 0.138552471995 0.990211546421 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn 0.016861176118 0.138552471995 0.990211546421 -vn 0.016861176118 0.138552471995 0.990211546421 -vn 0.004517787136 0.137057393789 0.990552783012 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn 0.004517787136 0.137057393789 0.990552783012 -vn -0.241403773427 0.103066213429 0.964936017990 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn 0.004517787136 0.137057393789 0.990552783012 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.155109524727 0.599816203117 0.784959554672 -vn -0.035729635507 0.607942640781 0.793176591396 -vn -0.035729635507 0.607942640781 0.793176591396 -vn -0.002960407641 0.317960262299 0.948099434376 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.155109524727 0.599816203117 0.784959554672 -vn 0.067393772304 0.322359681129 0.944215178490 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.286905646324 0.267333179712 0.919901132584 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.343748748302 0.530425429344 0.774910092354 -vn 0.155877947807 0.317323088646 0.935418665409 -vn 0.286905646324 0.267333179712 0.919901132584 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.509252369404 0.375231623650 0.774508416653 -vn 0.286905646324 0.267333179712 0.919901132584 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.305570989847 0.031798329204 0.951638162136 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.565602898598 0.172177463770 0.806503772736 -vn 0.285920530558 0.164982482791 0.943943977356 -vn 0.305570989847 0.031798329204 0.951638162136 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.546779811382 -0.051727127284 0.835677087307 -vn 0.305570989847 0.031798329204 0.951638162136 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.415045827627 -0.218302249908 0.883221983910 -vn 0.203566029668 -0.022038534284 0.978813171387 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.249044612050 -0.319868445396 0.914144933224 -vn 0.111007757485 -0.041198842227 0.992965221405 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn 0.065878793597 -0.367101311684 0.927845120430 -vn 0.038118865341 -0.045521553606 0.998235821724 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.124714381993 -0.358643174171 0.925106167793 -vn -0.031741838902 -0.048425141722 0.998322308064 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.311798155308 -0.291660279036 0.904276609421 -vn -0.117219403386 -0.043315853924 0.992160975933 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.241403773427 0.103066213429 0.964936017990 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.473762780428 -0.141139611602 0.869268894196 -vn -0.243293151259 0.002079511527 0.969950556755 -vn -0.241403773427 0.103066213429 0.964936017990 -vn -0.262741386890 0.230674043298 0.936886548996 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.528437733650 0.060071583837 0.846844136715 -vn -0.241403773427 0.103066213429 0.964936017990 -vn -0.262741386890 0.230674043298 0.936886548996 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.510871827602 0.279885828495 0.812818467617 -vn -0.262741386890 0.230674043298 0.936886548996 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.382493257523 0.451562076807 0.806095898151 -vn -0.163651511073 0.288096219301 0.943514049053 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.002960407641 0.317960262299 0.948099434376 -vn -0.035729635507 0.607942640781 0.793176591396 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.218273103237 0.558162093163 0.800507307053 -vn -0.074658878148 0.311024487019 0.947464942932 -vn -0.002960407641 0.317960262299 0.948099434376 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.397452175617 0.135070383549 -0.907627522945 -vn -0.517724156380 0.205077111721 -0.830605268478 -vn -0.517724156380 0.205077111721 -0.830605268478 -vn -0.437227338552 0.155448332429 -0.885814905167 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.229980155826 0.074654586613 -0.970327675343 -vn -0.397452175617 0.135070383549 -0.907627522945 -vn -0.397452175617 0.135070383549 -0.907627522945 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.590301692486 0.097231328487 -0.801305174828 -vn 0.826513767242 0.040492236614 -0.561458230019 -vn 0.826513767242 0.040492236614 -0.561458230019 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.191130816936 0.078426040709 -0.978426456451 -vn 0.372208535671 0.083363167942 -0.924397826195 -vn 0.372208535671 0.083363167942 -0.924397826195 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn -0.206340491772 0.165451377630 -0.964390695095 -vn 0.006594384555 0.126419976354 -0.991954863071 -vn 0.006594384555 0.126419976354 -0.991954863071 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.437227338552 0.155448332429 -0.885814905167 -vn -0.437227338552 0.155448332429 -0.885814905167 -vn -0.206340491772 0.165451377630 -0.964390695095 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.382902115583 0.072942674160 -0.920904636383 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn 0.006594384555 0.126419976354 -0.991954863071 -vn 0.191130816936 0.078426040709 -0.978426456451 -vn 0.191130816936 0.078426040709 -0.978426456451 -vn 0.185881495476 0.003713119309 -0.982565164566 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn 0.053378995508 0.007072980981 -0.998549282551 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn -0.171981990337 0.040181573480 -0.984280288219 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.372208535671 0.083363167942 -0.924397826195 -vn 0.590301692486 0.097231328487 -0.801305174828 -vn 0.590301692486 0.097231328487 -0.801305174828 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.353503555059 0.035152658820 -0.934772431850 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.615159690380 0.029194956645 -0.787861764431 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.826513767242 0.040492236614 -0.561458230019 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.261003404856 0.108527362347 -0.959217905998 -vn -0.229980155826 0.074654586613 -0.970327675343 -vn -0.229980155826 0.074654586613 -0.970327675343 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn -0.509320318699 -0.404863327742 -0.759393453598 -vn -0.261003404856 0.108527362347 -0.959217905998 -vn -0.261003404856 0.108527362347 -0.959217905998 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.800375282764 0.018794151023 -0.599204599857 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.271599829197 0.028476212174 -0.961988866329 -vn -0.164049550891 -0.028682840988 -0.986034989357 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.255096316338 0.111758060753 -0.960435330868 -vn -0.121076330543 0.077568016946 -0.989607870579 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.136239171028 -0.017071370035 -0.990528881550 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.041888136417 -0.060322493315 -0.997299671173 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.136239171028 -0.017071370035 -0.990528881550 -vn 0.087437242270 0.002138112905 -0.996167719364 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn 0.136239171028 -0.017071370035 -0.990528881550 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.288816571236 -0.039053402841 -0.956587612629 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.204631596804 0.028210701421 -0.978432476521 -vn 0.136239171028 -0.017071370035 -0.990528881550 -vn 0.137395173311 -0.069602020085 -0.988067865372 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.597115218639 0.003556745360 -0.802147567272 -vn 0.773272275925 0.060861453414 -0.631146490574 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn 0.491304695606 0.135842129588 -0.860329389572 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.852056205273 0.085932567716 -0.516348540783 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.715357065201 0.252833127975 -0.651413619518 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.439777612686 -0.138827741146 0.887311935425 -vn 0.505375087261 -0.195974618196 0.840351104736 -vn 0.505375087261 -0.195974618196 0.840351104736 -vn 0.383719682693 -0.125125527382 0.914933204651 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.383719682693 -0.125125527382 0.914933204651 -vn 0.383719682693 -0.125125527382 0.914933204651 -vn 0.248948097229 -0.072537310421 0.965796649456 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.819650113583 -0.032982375473 0.571914196014 -vn -0.819650113583 -0.032982375473 0.571914196014 -vn -0.592707335949 -0.091434136033 0.800211071968 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.371242731810 -0.081995286047 0.924908459187 -vn -0.371242731810 -0.081995286047 0.924908459187 -vn -0.186582252383 -0.074930444360 0.979577720165 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn -0.004214687273 -0.117233298719 0.993095457554 -vn -0.004214687273 -0.117233298719 0.993095457554 -vn 0.209405109286 -0.154618844390 0.965527057648 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn 0.209405109286 -0.154618844390 0.965527057648 -vn 0.439777612686 -0.138827741146 0.887311935425 -vn 0.439777612686 -0.138827741146 0.887311935425 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn 0.179345592856 0.032156031579 0.983260452747 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.381064385176 -0.062698408961 0.922420084476 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.179345592856 0.032156031579 0.983260452747 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn -0.179953932762 -0.003242430044 0.983669698238 -vn -0.186582252383 -0.074930444360 0.979577720165 -vn -0.186582252383 -0.074930444360 0.979577720165 -vn -0.004214687273 -0.117233298719 0.993095457554 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn 0.179345592856 0.032156031579 0.983260452747 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.046806681901 -0.005556719378 0.998888492584 -vn 0.180568888783 -0.032149348408 0.983036756516 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.592707335949 -0.091434136033 0.800211071968 -vn -0.592707335949 -0.091434136033 0.800211071968 -vn -0.371242731810 -0.081995286047 0.924908459187 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.357168287039 -0.031741797924 0.933500528336 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.620553731918 -0.019484132528 0.783921837807 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.268814533949 0.206545710564 0.940785646439 -vn -0.268814533949 0.206545710564 0.940785646439 -vn -0.819650113583 -0.032982375473 0.571914196014 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.248948097229 -0.072537310421 0.965796649456 -vn 0.248948097229 -0.072537310421 0.965796649456 -vn 0.266313046217 -0.114633738995 0.957045674324 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.266313046217 -0.114633738995 0.957045674324 -vn 0.266313046217 -0.114633738995 0.957045674324 -vn -0.002355504315 -0.820036292076 0.572306632996 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.796980798244 -0.012833101675 0.603868305683 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.030801737681 0.058983106166 0.997783660889 -vn 0.179345592856 0.032156031579 0.983260452747 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.179345592856 0.032156031579 0.983260452747 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.280457735062 -0.025431802496 0.959529399872 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn 0.127938747406 -0.089620761573 0.987724542618 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.257878810167 -0.124472789466 0.958125770092 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.141732782125 0.018439134583 0.989733219147 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.141732782125 0.018439134583 0.989733219147 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.030801737681 0.058983106166 0.997783660889 -vn -0.074074417353 -0.006822756957 0.997229397297 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.141732782125 0.018439134583 0.989733219147 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.141732782125 0.018439134583 0.989733219147 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.201434418559 -0.024834183976 0.979187130928 -vn -0.296823740005 0.040104743093 0.954089760780 -vn -0.135255068541 0.071016401052 0.988262474537 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.608369290829 -0.007743894123 0.793616294861 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.786969006062 -0.049346722662 0.615015983582 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.498839020729 -0.132146120071 0.856561183929 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn -0.746446251869 -0.239098697901 0.621007084846 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn 0.129810020328 -0.933628261089 0.333897590637 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.909739613533 0.046079874039 0.412614196539 -vn -0.909739613533 0.046079874039 0.412614196539 -vn -0.956761240959 0.176445245743 0.231246590614 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.956761240959 0.176445245743 0.231246590614 -vn -0.972946465015 0.230288386345 0.018504710868 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.500203728676 0.010609781370 0.865842759609 -vn -0.500203728676 0.010609781370 0.865842759609 -vn -0.909739613533 0.046079874039 0.412614196539 -vn -0.990912795067 0.127940833569 0.041508488357 -vn 0.078747101128 0.966759562492 0.243258908391 -vn 0.173439845443 0.973078310490 0.151780202985 -vn 0.170091286302 0.973490953445 0.152919292450 -vn 0.170091286302 0.973490953445 0.152919292450 -vn 0.063926614821 0.963856279850 0.258639603853 -vn 0.078747101128 0.966759562492 0.243258908391 -vn 0.171049833298 0.970419943333 0.170373469591 -vn 0.083577327430 0.994467854500 0.063627921045 -vn 0.080522112548 0.994727730751 0.063505046070 -vn 0.080522112548 0.994727730751 0.063505046070 -vn 0.173171848059 0.969543695450 0.173195227981 -vn 0.171049833298 0.970419943333 0.170373469591 -vn -0.020135141909 0.994862496853 0.099212974310 -vn -0.086038894951 0.984414279461 0.153381422162 -vn -0.091391056776 0.983691334724 0.154916256666 -vn -0.091391056776 0.983691334724 0.154916256666 -vn -0.023173412308 0.995078146458 0.096345901489 -vn -0.020135141909 0.994862496853 0.099212974310 -vn -0.086038894951 0.984414279461 0.153381422162 -vn -0.191570550203 0.977551102638 0.087718985975 -vn -0.194942057133 0.976504385471 0.091851882637 -vn -0.194942057133 0.976504385471 0.091851882637 -vn -0.091391056776 0.983691334724 0.154916256666 -vn -0.086038894951 0.984414279461 0.153381422162 -vn 0.083577327430 0.994467854500 0.063627921045 -vn -0.020135141909 0.994862496853 0.099212974310 -vn -0.023173412308 0.995078146458 0.096345901489 -vn -0.023173412308 0.995078146458 0.096345901489 -vn 0.080522112548 0.994727730751 0.063505046070 -vn 0.083577327430 0.994467854500 0.063627921045 -vn 0.173439845443 0.973078310490 0.151780202985 -vn 0.171049833298 0.970419943333 0.170373469591 -vn 0.173171848059 0.969543695450 0.173195227981 -vn 0.173171848059 0.969543695450 0.173195227981 -vn 0.170091286302 0.973490953445 0.152919292450 -vn 0.173439845443 0.973078310490 0.151780202985 -vn 0.063926614821 0.963856279850 0.258639603853 -vn -0.375237524509 0.793154478073 0.479690253735 -vn -0.350450277328 0.809412717819 0.471206605434 -vn -0.350450277328 0.809412717819 0.471206605434 -vn 0.078747101128 0.966759562492 0.243258908391 -vn 0.063926614821 0.963856279850 0.258639603853 -vn 0.789331555367 0.258876562119 0.556721329689 -vn 0.577268898487 0.306803852320 0.756724536419 -vn -0.268814533949 0.206545710564 0.940785646439 -vn -0.268814533949 0.206545710564 0.940785646439 -vn -0.185570269823 0.171825677156 0.967491388321 -vn 0.789331555367 0.258876562119 0.556721329689 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.866238534451 -0.039508130401 0.498066157103 -vn -0.866238534451 -0.039508130401 0.498066157103 -vn -0.500203728676 0.010609781370 0.865842759609 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.885119140148 -0.056781947613 0.461887329817 -vn -0.669060587883 -0.077813722193 0.739123106003 -vn -0.669060587883 -0.077813722193 0.739123106003 -vn -0.866238534451 -0.039508130401 0.498066157103 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.431490808725 -0.866988837719 -0.249291151762 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn -0.002355504315 -0.820036292076 0.572306632996 -vn -0.431490808725 -0.866988837719 -0.249291151762 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.789331555367 0.258876562119 0.556721329689 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.185570269823 0.171825677156 0.967491388321 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn 0.487122595310 0.042172510177 0.872314751148 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn -0.613033175468 -0.080646120012 0.785930335522 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn 0.322813808918 -0.785219132900 0.528414785862 -vn 0.219091191888 -0.684044837952 0.695759832859 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.054789707065 -0.708841145039 0.703236997128 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.253998637199 -0.812512278557 0.524698436260 -vn -0.249018087983 -0.770230114460 0.587141871452 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn -0.359748840332 -0.730751514435 0.580157697201 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.129810020328 -0.933628261089 0.333897590637 -vn 0.129810020328 -0.933628261089 0.333897590637 -vn -0.369146257639 -0.922445654869 0.113248042762 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn -0.431353598833 -0.487713992596 0.758992195129 -vn 0.129810020328 -0.933628261089 0.333897590637 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn -0.937579154968 0.180314436555 -0.297375231981 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.980981588364 0.145293399692 0.128704696894 -vn -0.972946465015 0.230288386345 0.018504710868 -vn -0.937579154968 0.180314436555 -0.297375231981 -vn -0.896948277950 0.114084340632 -0.427163422108 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.990912795067 0.127940833569 0.041508488357 -vn -0.937579154968 0.180314436555 -0.297375231981 -vn -0.896948277950 0.114084340632 -0.427163422108 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn 0.577268898487 0.306803852320 0.756724536419 -vn 0.789331555367 0.258876562119 0.556721329689 -vn 0.789331555367 0.258876562119 0.556721329689 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn -0.880329668522 0.056018378586 -0.471043139696 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.951725065708 0.081832073629 0.295842707157 -vn -0.896948277950 0.114084340632 -0.427163422108 -vn -0.880329668522 0.056018378586 -0.471043139696 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn -0.431490808725 -0.866988837719 -0.249291151762 -vn -0.431490808725 -0.866988837719 -0.249291151762 -vn -0.509320318699 -0.404863327742 -0.759393453598 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn -0.995611131191 -0.009796535596 -0.093072362244 -vn -0.885119140148 -0.056781947613 0.461887329817 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.999801933765 0.008688983507 0.017906675115 -vn -0.880329668522 0.056018378586 -0.471043139696 -vn -0.995611131191 -0.009796535596 -0.093072362244 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.789331555367 0.258876562119 0.556721329689 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.970258474350 0.158947870135 -0.182576209307 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.487122595310 0.042172510177 0.872314751148 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.967192232609 0.137083888054 -0.213885977864 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn 0.228643909097 -0.830196857452 -0.508424222469 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn -0.088624604046 -0.961325287819 -0.260766953230 -vn -0.316408157349 -0.306027173996 -0.897904932499 -vn 0.011043122970 -0.237970724702 -0.971209526062 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn 0.112375475466 -0.893029689789 -0.435740411282 -vn 0.126697152853 -0.260049194098 -0.957247197628 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn -0.238835632801 -0.915335536003 -0.324219733477 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn -0.146188363433 -0.808538675308 -0.569994866848 -vn 0.031643856317 -0.253338366747 -0.966860055923 -vn -0.078926093876 -0.439550966024 -0.894743323326 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn -0.253018796444 -0.949872851372 -0.183638378978 -vn 0.119680173695 -0.356093317270 -0.926754653454 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.622324407101 -0.358227372169 0.695978045464 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.852056205273 0.085932567716 -0.516348540783 -vn 0.969258189201 0.132872030139 -0.207083404064 -vn 0.852056205273 0.085932567716 -0.516348540783 -vn 0.735630095005 -0.650957882404 -0.187355905771 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn 0.068400837481 -0.871033847332 -0.486437410116 -vn 0.490402966738 -0.257621675730 -0.832547903061 -vn 0.852056205273 0.085932567716 -0.516348540783 -vn -0.268814533949 0.206545710564 0.940785646439 -vn 0.577268898487 0.306803852320 0.756724536419 -vn 0.984173178673 0.160306110978 -0.075532399118 -vn -0.194942057133 0.976504385471 0.091851882637 -vn -0.191570550203 0.977551102638 0.087718985975 -vn -0.181678786874 0.971370339394 0.153076708317 -vn -0.181678786874 0.971370339394 0.153076708317 -vn -0.180396959186 0.971246838570 0.155359238386 -vn -0.194942057133 0.976504385471 0.091851882637 -# 32013 vertex normals - -vt 0.377155363560 0.858360707760 0.000000000000 -vt 0.377155363560 0.848666846752 0.000000000000 -vt 0.387879788876 0.848666846752 0.000000000000 -vt 0.387879788876 0.858360707760 0.000000000000 -vt 0.377155363560 0.838978648186 0.000000000000 -vt 0.387879788876 0.838978648186 0.000000000000 -vt 0.377155363560 0.829283058643 0.000000000000 -vt 0.387879788876 0.829283058643 0.000000000000 -vt 0.377155363560 0.984480679035 0.000000000000 -vt 0.377155363560 0.974780797958 0.000000000000 -vt 0.387879788876 0.974780797958 0.000000000000 -vt 0.387879788876 0.984480679035 0.000000000000 -vt 0.377155363560 0.965079963207 0.000000000000 -vt 0.387879788876 0.965079963207 0.000000000000 -vt 0.377155363560 0.955380022526 0.000000000000 -vt 0.387879788876 0.955380022526 0.000000000000 -vt 0.377155363560 0.945681273937 0.000000000000 -vt 0.387879788876 0.945681273937 0.000000000000 -vt 0.377155363560 0.935981333256 0.000000000000 -vt 0.387879788876 0.935981333256 0.000000000000 -vt 0.377155363560 0.926279187202 0.000000000000 -vt 0.387879788876 0.926279187202 0.000000000000 -vt 0.377155363560 0.916576147079 0.000000000000 -vt 0.387879788876 0.916576147079 0.000000000000 -vt 0.377155363560 0.906873524189 0.000000000000 -vt 0.387879788876 0.906873524189 0.000000000000 -vt 0.377155363560 0.897172033787 0.000000000000 -vt 0.387879788876 0.897172033787 0.000000000000 -vt 0.377155363560 0.887470304966 0.000000000000 -vt 0.387879788876 0.887470304966 0.000000000000 -vt 0.377155363560 0.877766370773 0.000000000000 -vt 0.387879788876 0.877766370773 0.000000000000 -vt 0.377155363560 0.868061482906 0.000000000000 -vt 0.387879788876 0.868061482906 0.000000000000 -vt 0.389967858791 0.848666846752 0.000000000000 -vt 0.389967858791 0.858360707760 0.000000000000 -vt 0.389223754406 0.858360707760 0.000000000000 -vt 0.389223754406 0.848666846752 0.000000000000 -vt 0.389967858791 0.838978648186 0.000000000000 -vt 0.389223754406 0.838978648186 0.000000000000 -vt 0.389967858791 0.829283058643 0.000000000000 -vt 0.389223754406 0.829283058643 0.000000000000 -vt 0.389967858791 0.974780797958 0.000000000000 -vt 0.389967858791 0.984480679035 0.000000000000 -vt 0.389223754406 0.984480679035 0.000000000000 -vt 0.389223754406 0.974780797958 0.000000000000 -vt 0.389967858791 0.965079963207 0.000000000000 -vt 0.389223754406 0.965079963207 0.000000000000 -vt 0.389967858791 0.955380022526 0.000000000000 -vt 0.389223754406 0.955380022526 0.000000000000 -vt 0.389967858791 0.945681273937 0.000000000000 -vt 0.389223754406 0.945681273937 0.000000000000 -vt 0.389967858791 0.935981333256 0.000000000000 -vt 0.389223754406 0.935981333256 0.000000000000 -vt 0.389967858791 0.926279187202 0.000000000000 -vt 0.389223754406 0.926279187202 0.000000000000 -vt 0.389967858791 0.916576147079 0.000000000000 -vt 0.389223754406 0.916576147079 0.000000000000 -vt 0.389967858791 0.906873524189 0.000000000000 -vt 0.389223754406 0.906873524189 0.000000000000 -vt 0.389967858791 0.897172033787 0.000000000000 -vt 0.389223754406 0.897172033787 0.000000000000 -vt 0.389967858791 0.887470304966 0.000000000000 -vt 0.389223754406 0.887470304966 0.000000000000 -vt 0.389967858791 0.877766370773 0.000000000000 -vt 0.389223754406 0.877766370773 0.000000000000 -vt 0.389967858791 0.868061482906 0.000000000000 -vt 0.389223754406 0.868061482906 0.000000000000 -vt 0.391293346882 0.858360707760 0.000000000000 -vt 0.391293346882 0.848666846752 0.000000000000 -vt 0.396203100681 0.848666846752 0.000000000000 -vt 0.396203100681 0.858360707760 0.000000000000 -vt 0.391293346882 0.838978648186 0.000000000000 -vt 0.396203100681 0.838978648186 0.000000000000 -vt 0.391293346882 0.829283058643 0.000000000000 -vt 0.396203100681 0.829283058643 0.000000000000 -vt 0.391293346882 0.984480679035 0.000000000000 -vt 0.391293346882 0.974780797958 0.000000000000 -vt 0.396203100681 0.974780797958 0.000000000000 -vt 0.396203100681 0.984480679035 0.000000000000 -vt 0.391293346882 0.965079963207 0.000000000000 -vt 0.396203100681 0.965079963207 0.000000000000 -vt 0.391293346882 0.955380022526 0.000000000000 -vt 0.396203100681 0.955380022526 0.000000000000 -vt 0.391293346882 0.945681273937 0.000000000000 -vt 0.396203100681 0.945681273937 0.000000000000 -vt 0.391293346882 0.935981333256 0.000000000000 -vt 0.396203100681 0.935981333256 0.000000000000 -vt 0.391293346882 0.926279187202 0.000000000000 -vt 0.396203100681 0.926279187202 0.000000000000 -vt 0.391293346882 0.916576147079 0.000000000000 -vt 0.396203100681 0.916576147079 0.000000000000 -vt 0.391293346882 0.906873524189 0.000000000000 -vt 0.396203100681 0.906873524189 0.000000000000 -vt 0.391293346882 0.897172033787 0.000000000000 -vt 0.396203100681 0.897172033787 0.000000000000 -vt 0.391293346882 0.887470304966 0.000000000000 -vt 0.396203100681 0.887470304966 0.000000000000 -vt 0.391293346882 0.877766370773 0.000000000000 -vt 0.396203100681 0.877766370773 0.000000000000 -vt 0.391293346882 0.868061482906 0.000000000000 -vt 0.396203100681 0.868061482906 0.000000000000 -vt 0.409175425768 0.672242879868 0.000000000000 -vt 0.452760726213 0.666515350342 0.000000000000 -vt 0.431881427765 0.692003369331 0.000000000000 -vt 0.481934756041 0.680083930492 0.000000000000 -vt 0.508225858212 0.789766192436 0.000000000000 -vt 0.553140699863 0.792127192020 0.000000000000 -vt 0.543430626392 0.810674130917 0.000000000000 -vt 0.493056267500 0.761313557625 0.000000000000 -vt 0.498380273581 0.738467097282 0.000000000000 -vt 0.515042841434 0.755405724049 0.000000000000 -vt 0.550852000713 0.845992863178 0.000000000000 -vt 0.577347338200 0.824143350124 0.000000000000 -vt 0.609382450581 0.854941427708 0.000000000000 -vt 0.665927231312 0.810042083263 0.000000000000 -vt 0.669713199139 0.747112154961 0.000000000000 -vt 0.691940128803 0.688431560993 0.000000000000 -vt 0.480293363333 0.580234348774 0.000000000000 -vt 0.515759050846 0.550068080425 0.000000000000 -vt 0.567890584469 0.594532608986 0.000000000000 -vt 0.623778641224 0.602010011673 0.000000000000 -vt 0.572804629803 0.544676065445 0.000000000000 -vt 0.631756961346 0.573595166206 0.000000000000 -vt 0.610680639744 0.688212931156 0.000000000000 -vt 0.650606334209 0.643516659737 0.000000000000 -vt 0.631374895573 0.713805377483 0.000000000000 -vt 0.451538383961 0.699487090111 0.000000000000 -vt 0.488095849752 0.712747395039 0.000000000000 -vt 0.505906522274 0.654317796230 0.000000000000 -vt 0.514503896236 0.621594429016 0.000000000000 -vt 0.546522319317 0.636798501015 0.000000000000 -vt 0.620644509792 0.650109648705 0.000000000000 -vt 0.536644995213 0.674807369709 0.000000000000 -vt 0.559180438519 0.677152156830 0.000000000000 -vt 0.546803295612 0.700395822525 0.000000000000 -vt 0.580495297909 0.670894205570 0.000000000000 -vt 0.560229241848 0.708388805389 0.000000000000 -vt 0.583466589451 0.746397972107 0.000000000000 -vt 0.590534269810 0.714147150517 0.000000000000 -vt 0.632254183292 0.742581784725 0.000000000000 -vt 0.392473429441 0.735891520977 0.000000000000 -vt 0.401782691479 0.699883401394 0.000000000000 -vt 0.437636852264 0.750069797039 0.000000000000 -vt 0.443033576012 0.728961050510 0.000000000000 -vt 0.467387497425 0.731456875801 0.000000000000 -vt 0.397550672293 0.599925756454 0.000000000000 -vt 0.443568110466 0.613210141659 0.000000000000 -vt 0.366362631321 0.656876027584 0.000000000000 -vt 0.447481751442 0.559440612793 0.000000000000 -vt 0.601355612278 0.819214940071 0.000000000000 -vt 0.636718928814 0.797729492188 0.000000000000 -vt 0.619128763676 0.819936096668 0.000000000000 -vt 0.559825360775 0.776961624622 0.000000000000 -vt 0.572190821171 0.759399116039 0.000000000000 -vt 0.604671776295 0.773796379566 0.000000000000 -vt 0.554654181004 0.617363810539 0.000000000000 -vt 0.567634403706 0.651618182659 0.000000000000 -vt 0.590938866138 0.618936240673 0.000000000000 -vt 0.596868813038 0.647921144962 0.000000000000 -vt 0.651719510555 0.782778739929 0.000000000000 -vt 0.614525854588 0.755118906498 0.000000000000 -vt 0.455462366343 0.816022455692 0.000000000000 -vt 0.450997769833 0.780333817005 0.000000000000 -vt 0.483516186476 0.802494883537 0.000000000000 -vt 0.485845893621 0.853235423565 0.000000000000 -vt 0.417244762182 0.840927124023 0.000000000000 -vt 0.433641225100 0.829533994198 0.000000000000 -vt 0.477579563856 0.870459556580 0.000000000000 -vt 0.530758202076 0.857129693031 0.000000000000 -vt 0.544338524342 0.876446247101 0.000000000000 -vt 0.532405674458 0.712911307812 0.000000000000 -vt 0.526134669781 0.742851078510 0.000000000000 -vt 0.547361195087 0.739448964596 0.000000000000 -vt 0.567548215389 0.558903396130 0.000000000000 -vt 0.397433131933 0.817093312740 0.000000000000 -vt 0.514106690884 0.777620911598 0.000000000000 -vt 0.462766647339 0.752251565456 0.000000000000 -vt 0.460485816002 0.643762111664 0.000000000000 -vt 0.485318392515 0.636485338211 0.000000000000 -vt 0.480034440756 0.664412677288 0.000000000000 -vt 0.630446612835 0.777688920498 0.000000000000 -vt 0.600008070469 0.799526214600 0.000000000000 -vt 0.476415723562 0.779506325722 0.000000000000 -vt 0.473682790995 0.610604822636 0.000000000000 -vt 0.675627768040 0.625576317310 0.000000000000 -vt 0.565741121769 0.800483822823 0.000000000000 -vt 0.356244146824 0.722902357578 0.000000000000 -vt 0.588402211666 0.811188578606 0.000000000000 -vt 0.518669903278 0.699171006680 0.000000000000 -vt 0.535777628422 0.658217966557 0.000000000000 -vt 0.508222043514 0.539263308048 0.000000000000 -vt 0.648145139217 0.728081822395 0.000000000000 -vt 0.514887988567 0.819228231907 0.000000000000 -vt 0.480209141970 0.748140454292 0.000000000000 -vt 0.594826638699 0.678737699986 0.000000000000 -vt 0.609615743160 0.711115896702 0.000000000000 -vt 0.374209046364 0.788166940212 0.000000000000 -vt 0.696136057377 0.841438889503 0.000000000000 -vt 0.697102844715 0.847001552582 0.000000000000 -vt 0.687970817089 0.838945984840 0.000000000000 -vt 0.676894485950 0.837039768696 0.000000000000 -vt 0.668740808964 0.834839344025 0.000000000000 -vt 0.658680617809 0.855564236641 0.000000000000 -vt 0.651980459690 0.853254318237 0.000000000000 -vt 0.694596707821 0.852629542351 0.000000000000 -vt 0.685916483402 0.854809284210 0.000000000000 -vt 0.674534022808 0.855843186378 0.000000000000 -vt 0.665389955044 0.856125533581 0.000000000000 -vt 0.650012195110 0.834412455559 0.000000000000 -vt 0.656730353832 0.833129286766 0.000000000000 -vt 0.646296203136 0.841373562813 0.000000000000 -vt 0.688886702061 0.834426641464 0.000000000000 -vt 0.699207842350 0.838674664497 0.000000000000 -vt 0.697359144688 0.855724990368 0.000000000000 -vt 0.686487972736 0.859591126442 0.000000000000 -vt 0.702463567257 0.847452104092 0.000000000000 -vt 0.677858173847 0.832566380501 0.000000000000 -vt 0.674788177013 0.860633373260 0.000000000000 -vt 0.656709134579 0.828647792339 0.000000000000 -vt 0.663522779942 0.828503489494 0.000000000000 -vt 0.663026511669 0.833329021931 0.000000000000 -vt 0.665229976177 0.860744595528 0.000000000000 -vt 0.646054327488 0.849184870720 0.000000000000 -vt 0.944440543652 0.577088952065 0.000000000000 -vt 0.934413731098 0.578397750854 0.000000000000 -vt 0.933311760426 0.570732593536 0.000000000000 -vt 0.942559897900 0.569070458412 0.000000000000 -vt 0.878645479679 0.586926877499 0.000000000000 -vt 0.868258655071 0.588900566101 0.000000000000 -vt 0.867458641529 0.580585360527 0.000000000000 -vt 0.877176105976 0.579317748547 0.000000000000 -vt 0.952389657497 0.575497746468 0.000000000000 -vt 0.950832903385 0.567034423351 0.000000000000 -vt 0.923831403255 0.579496085644 0.000000000000 -vt 0.923619329929 0.572405040264 0.000000000000 -vt 0.628452599049 0.873331427574 0.000000000000 -vt 0.632204830647 0.876753568649 0.000000000000 -vt 0.628753483295 0.881655633450 0.000000000000 -vt 0.623970210552 0.878167748451 0.000000000000 -vt 0.646685302258 0.866765677929 0.000000000000 -vt 0.656351864338 0.871634185314 0.000000000000 -vt 0.653122007847 0.874798536301 0.000000000000 -vt 0.645847260952 0.871063649654 0.000000000000 -vt 0.726799309254 0.837845385075 0.000000000000 -vt 0.661485850811 0.880055904388 0.000000000000 -vt 0.656600654125 0.882020831108 0.000000000000 -vt 0.636110603809 0.868256449699 0.000000000000 -vt 0.637845695019 0.872147083282 0.000000000000 -vt 0.649987399578 0.877419590950 0.000000000000 -vt 0.644934833050 0.875803411007 0.000000000000 -vt 0.639724314213 0.875453293324 0.000000000000 -vt 0.650543510914 0.882872819901 0.000000000000 -vt 0.637335002422 0.879814982414 0.000000000000 -vt 0.635132730007 0.885670363903 0.000000000000 -vt 0.643860280514 0.881775856018 0.000000000000 -vt 0.642733037472 0.850792288780 0.000000000000 -vt 0.641889035702 0.840179145336 0.000000000000 -vt 0.669664084911 0.830182671547 0.000000000000 -vt 0.650239527225 0.857445180416 0.000000000000 -vt 0.648015201092 0.831698417664 0.000000000000 -vt 0.642690360546 0.888261675835 0.000000000000 -vt 0.663629949093 0.887337207794 0.000000000000 -vt 0.657781779766 0.889087080956 0.000000000000 -vt 0.889635980129 0.584733188152 0.000000000000 -vt 0.887632310390 0.577965676785 0.000000000000 -vt 0.898609101772 0.583011865616 0.000000000000 -vt 0.896672070026 0.576863348484 0.000000000000 -vt 0.915674507618 0.580389678478 0.000000000000 -vt 0.915229618549 0.574002265930 0.000000000000 -vt 0.657724201679 0.860278069973 0.000000000000 -vt 0.930922925472 0.558675527573 0.000000000000 -vt 0.650379359722 0.889898777008 0.000000000000 -vt 0.939678132534 0.556469440460 0.000000000000 -vt 0.867106497288 0.567602217197 0.000000000000 -vt 0.875806748867 0.567502915859 0.000000000000 -vt 0.947033226490 0.554314255714 0.000000000000 -vt 0.922403037548 0.561220228672 0.000000000000 -vt 0.885274112225 0.567466676235 0.000000000000 -vt 0.658997356892 0.896231293678 0.000000000000 -vt 0.649604141712 0.899704515934 0.000000000000 -vt 0.895252883434 0.566620349884 0.000000000000 -vt 0.719376146793 0.837280273438 0.000000000000 -vt 0.918815433979 0.545299708843 0.000000000000 -vt 0.910051763058 0.547324061394 0.000000000000 -vt 0.907046377659 0.529140114784 0.000000000000 -vt 0.916585505009 0.527373969555 0.000000000000 -vt 0.899707138538 0.530310690403 0.000000000000 -vt 0.641025960445 0.896537065506 0.000000000000 -vt 0.901793301105 0.548481404781 0.000000000000 -vt 0.927321612835 0.542573332787 0.000000000000 -vt 0.632426559925 0.894321084023 0.000000000000 -vt 0.625132262707 0.886998593807 0.000000000000 -vt 0.717746436596 0.831090271473 0.000000000000 -vt 0.725946605206 0.830549895763 0.000000000000 -vt 0.735287845135 0.838093996048 0.000000000000 -vt 0.734414517879 0.830852091312 0.000000000000 -vt 0.717679798603 0.825329720974 0.000000000000 -vt 0.723944962025 0.823542177677 0.000000000000 -vt 0.732950508595 0.823792576790 0.000000000000 -vt 0.739792287350 0.825830638409 0.000000000000 -vt 0.741621911526 0.831147015095 0.000000000000 -vt 0.741378247738 0.836689889431 0.000000000000 -vt 0.665112435818 0.894209623337 0.000000000000 -vt 0.620138943195 0.882827579975 0.000000000000 -vt 0.936108648777 0.539952039719 0.000000000000 -vt 0.867212593555 0.550016939640 0.000000000000 -vt 0.875978291035 0.550476253033 0.000000000000 -vt 0.943726122379 0.537669897079 0.000000000000 -vt 0.884841740131 0.551008760929 0.000000000000 -vt 0.913087069988 0.563861310482 0.000000000000 -vt 0.893644869328 0.550148010254 0.000000000000 -vt 0.892628490925 0.531013190746 0.000000000000 -vt 0.904061496258 0.562744498253 0.000000000000 -vt 0.926213800907 0.525771796703 0.000000000000 -vt 0.934501111507 0.523906171322 0.000000000000 -vt 0.865935027599 0.533409059048 0.000000000000 -vt 0.875216186047 0.532836914063 0.000000000000 -vt 0.942422688007 0.521042168140 0.000000000000 -vt 0.884195983410 0.531999826431 0.000000000000 -vt 0.924653232098 0.517368316650 0.000000000000 -vt 0.932635247707 0.517127633095 0.000000000000 -vt 0.914257109165 0.519580006599 0.000000000000 -vt 0.906176626682 0.522352159023 0.000000000000 -vt 0.899168789387 0.522687613964 0.000000000000 -vt 0.892163813114 0.523706674576 0.000000000000 -vt 0.884188354015 0.523065209389 0.000000000000 -vt 0.873883426189 0.524219810963 0.000000000000 -vt 0.865347802639 0.526163995266 0.000000000000 -vt 0.858433783054 0.526082932949 0.000000000000 -vt 0.859899699688 0.590485215187 0.000000000000 -vt 0.858855664730 0.581898033619 0.000000000000 -vt 0.859369337559 0.568410336971 0.000000000000 -vt 0.859169065952 0.551045894623 0.000000000000 -vt 0.856827557087 0.534337580204 0.000000000000 -vt 0.937964379787 0.513839006424 0.000000000000 -vt 0.693465530872 0.814677596092 0.000000000000 -vt 0.700085699558 0.824197411537 0.000000000000 -vt 0.694888770580 0.822570204735 0.000000000000 -vt 0.692891776562 0.803992629051 0.000000000000 -vt 0.691710650921 0.795865237713 0.000000000000 -vt 0.711294472218 0.782084345818 0.000000000000 -vt 0.712714016438 0.788840830326 0.000000000000 -vt 0.708831012249 0.814877569675 0.000000000000 -vt 0.705738484859 0.822653293610 0.000000000000 -vt 0.711153686047 0.804187417030 0.000000000000 -vt 0.712479650974 0.795391499996 0.000000000000 -vt 0.700650393963 0.775034308434 0.000000000000 -vt 0.691504657269 0.783996403217 0.000000000000 -vt 0.693565666676 0.777675151825 0.000000000000 -vt 0.691854059696 0.825260579586 0.000000000000 -vt 0.688908874989 0.815112352371 0.000000000000 -vt 0.713424861431 0.816177845001 0.000000000000 -vt 0.708342850208 0.825807273388 0.000000000000 -vt 0.699830830097 0.829423010349 0.000000000000 -vt 0.688347995281 0.804415702820 0.000000000000 -vt 0.715837776661 0.805065751076 0.000000000000 -vt 0.690926015377 0.790131390095 0.000000000000 -vt 0.686091244221 0.790077388287 0.000000000000 -vt 0.687085330486 0.783463239670 0.000000000000 -vt 0.717056095600 0.795820415020 0.000000000000 -vt 0.700017035007 0.770576894283 0.000000000000 -vt 0.914225161076 0.695051312447 0.000000000000 -vt 0.916345059872 0.684997260571 0.000000000000 -vt 0.924999296665 0.686340272427 0.000000000000 -vt 0.923253715038 0.697034716606 0.000000000000 -vt 0.917016923428 0.620534837246 0.000000000000 -vt 0.915503799915 0.609951913357 0.000000000000 -vt 0.924802958965 0.608696460724 0.000000000000 -vt 0.925778567791 0.619882166386 0.000000000000 -vt 0.912027418613 0.704157292843 0.000000000000 -vt 0.921499311924 0.705678403378 0.000000000000 -vt 0.918580591679 0.674305975437 0.000000000000 -vt 0.926661670208 0.674895882607 0.000000000000 -vt 0.718583166599 0.876050651073 0.000000000000 -vt 0.713863432407 0.879810035229 0.000000000000 -vt 0.710420310497 0.875060856342 0.000000000000 -vt 0.714020431042 0.871412634850 0.000000000000 -vt 0.697144329548 0.869657814503 0.000000000000 -vt 0.690142214298 0.873365402222 0.000000000000 -vt 0.686877906322 0.870136678219 0.000000000000 -vt 0.696207225323 0.865324914455 0.000000000000 -vt 0.723377764225 0.855088472366 0.000000000000 -vt 0.686818659306 0.880428075790 0.000000000000 -vt 0.681876957417 0.878385961056 0.000000000000 -vt 0.704877674580 0.870628654957 0.000000000000 -vt 0.706442534924 0.866614162922 0.000000000000 -vt 0.698146879673 0.874422729015 0.000000000000 -vt 0.693293511868 0.876017093658 0.000000000000 -vt 0.703139483929 0.874020636082 0.000000000000 -vt 0.692841827869 0.881317675114 0.000000000000 -vt 0.707678377628 0.883993208408 0.000000000000 -vt 0.705496728420 0.878273785114 0.000000000000 -vt 0.700505435467 0.886600732803 0.000000000000 -vt 0.710137546062 0.772817432880 0.000000000000 -vt 0.708110511303 0.775850474834 0.000000000000 -vt 0.686994135380 0.796237647533 0.000000000000 -vt 0.715639293194 0.780954062939 0.000000000000 -vt 0.691104710102 0.775407373905 0.000000000000 -vt 0.699277937412 0.880255401134 0.000000000000 -vt 0.685730040073 0.887317180634 0.000000000000 -vt 0.679790914059 0.885531485081 0.000000000000 -vt 0.918968498707 0.632217705250 0.000000000000 -vt 0.927030384541 0.632067978382 0.000000000000 -vt 0.920924723148 0.642282843590 0.000000000000 -vt 0.928346455097 0.642091691494 0.000000000000 -vt 0.920858919621 0.665029823780 0.000000000000 -vt 0.928194463253 0.665964901447 0.000000000000 -vt 0.717470824718 0.788531899452 0.000000000000 -vt 0.900251805782 0.692512214184 0.000000000000 -vt 0.693121254444 0.888164877892 0.000000000000 -vt 0.902859151363 0.682655394077 0.000000000000 -vt 0.903970539570 0.621789634228 0.000000000000 -vt 0.901585161686 0.612310171127 0.000000000000 -vt 0.898017823696 0.700807869434 0.000000000000 -vt 0.905948698521 0.673050761223 0.000000000000 -vt 0.906874597073 0.632321536541 0.000000000000 -vt 0.693904578686 0.898468434811 0.000000000000 -vt 0.684614479542 0.894367456436 0.000000000000 -vt 0.909317672253 0.643546879292 0.000000000000 -vt 0.731463849545 0.855961382389 0.000000000000 -vt 0.869329869747 0.669516265392 0.000000000000 -vt 0.870946586132 0.660611331463 0.000000000000 -vt 0.890423119068 0.661864340305 0.000000000000 -vt 0.888348281384 0.670855045319 0.000000000000 -vt 0.890978634357 0.652710914612 0.000000000000 -vt 0.702305495739 0.895358145237 0.000000000000 -vt 0.871763646603 0.652749598026 0.000000000000 -vt 0.882360517979 0.689871191978 0.000000000000 -vt 0.710604488850 0.892980515957 0.000000000000 -vt 0.717464387417 0.885056376457 0.000000000000 -vt 0.730221688747 0.863188624382 0.000000000000 -vt 0.722860634327 0.863828301430 0.000000000000 -vt 0.714506924152 0.854860365391 0.000000000000 -vt 0.713789999485 0.863633096218 0.000000000000 -vt 0.724120557308 0.846761763096 0.000000000000 -vt 0.730854570866 0.849116206169 0.000000000000 -vt 0.714706599712 0.846446990967 0.000000000000 -vt 0.706338703632 0.855344653130 0.000000000000 -vt 0.707510411739 0.848723769188 0.000000000000 -vt 0.707069814205 0.861884772778 0.000000000000 -vt 0.678365886211 0.892260015011 0.000000000000 -vt 0.722407639027 0.880594253540 0.000000000000 -vt 0.885312139988 0.679928541183 0.000000000000 -vt 0.886436760426 0.624270200729 0.000000000000 -vt 0.883410274982 0.615363061428 0.000000000000 -vt 0.879997313023 0.698587834835 0.000000000000 -vt 0.889629900455 0.633672416210 0.000000000000 -vt 0.909305155277 0.662700593472 0.000000000000 -vt 0.891184151173 0.643255293369 0.000000000000 -vt 0.871766149998 0.644696950912 0.000000000000 -vt 0.907031238079 0.653394460678 0.000000000000 -vt 0.865283668041 0.687783956528 0.000000000000 -vt 0.867546260357 0.678728938103 0.000000000000 -vt 0.868419826031 0.627362251282 0.000000000000 -vt 0.866138994694 0.618586599827 0.000000000000 -vt 0.862232387066 0.696758449078 0.000000000000 -vt 0.870358645916 0.636041104794 0.000000000000 -vt 0.858235895634 0.685826241970 0.000000000000 -vt 0.858604013920 0.677683055401 0.000000000000 -vt 0.860833942890 0.667493700981 0.000000000000 -vt 0.863862931728 0.659794270992 0.000000000000 -vt 0.864249050617 0.652788579464 0.000000000000 -vt 0.864739954472 0.645918428898 0.000000000000 -vt 0.861379206181 0.638689100742 0.000000000000 -vt 0.859226524830 0.628483951092 0.000000000000 -vt 0.858618676662 0.620088815689 0.000000000000 -vt 0.856225430965 0.613054513931 0.000000000000 -vt 0.914761722088 0.600589513779 0.000000000000 -vt 0.924306929111 0.599584639072 0.000000000000 -vt 0.900618851185 0.603945910931 0.000000000000 -vt 0.882335126400 0.606884181499 0.000000000000 -vt 0.864254891872 0.609210252762 0.000000000000 -vt 0.854927241802 0.691868305206 0.000000000000 -vt 0.837422072887 0.841993212700 0.000000000000 -vt 0.887628972530 0.127281382680 0.000000000000 -vt 0.891492426395 0.109981805086 0.000000000000 -vt 0.853538930416 0.841780006886 0.000000000000 -vt 0.446142524481 0.173150673509 0.000000000000 -vt 0.852221906185 0.869813799858 0.000000000000 -vt 0.834832131863 0.866848766804 0.000000000000 -vt 0.827377617359 0.891240715981 0.000000000000 -vt 0.844508349895 0.896685421467 0.000000000000 -vt 0.876590073109 0.913664817810 0.000000000000 -vt 0.631155192852 0.291285961866 0.000000000000 -vt 0.626378953457 0.296571254730 0.000000000000 -vt 0.619356811047 0.293236494064 0.000000000000 -vt 0.617115795612 0.281405717134 0.000000000000 -vt 0.627076447010 0.304564028978 0.000000000000 -vt 0.612752139568 0.299342244864 0.000000000000 -vt 0.603455007076 0.284176468849 0.000000000000 -vt 0.551565110683 0.292362421751 0.000000000000 -vt 0.563377797604 0.287606924772 0.000000000000 -vt 0.575475394726 0.299903571606 0.000000000000 -vt 0.558976709843 0.303807973862 0.000000000000 -vt 0.562288582325 0.307399660349 0.000000000000 -vt 0.579733312130 0.307971090078 0.000000000000 -vt 0.596043288708 0.307672083378 0.000000000000 -vt 0.594420373440 0.298339635134 0.000000000000 -vt 0.590357482433 0.287719279528 0.000000000000 -vt 0.579626619816 0.290383100510 0.000000000000 -vt 0.573159515858 0.282042890787 0.000000000000 -vt 0.578718960285 0.044730942696 0.000000000000 -vt 0.566518962383 0.050097059458 0.000000000000 -vt 0.561770737171 0.022569365799 0.000000000000 -vt 0.579452574253 0.019849490374 0.000000000000 -vt 0.557008445263 0.060779999942 0.000000000000 -vt 0.548213899136 0.048078324646 0.000000000000 -vt 0.693731248379 0.210530251265 0.000000000000 -vt 0.693874895573 0.194242313504 0.000000000000 -vt 0.701992332935 0.200576603413 0.000000000000 -vt 0.711977064610 0.218270197511 0.000000000000 -vt 0.698697388172 0.178742393851 0.000000000000 -vt 0.704717457294 0.185912460089 0.000000000000 -vt 0.903121650219 0.125584170222 0.000000000000 -vt 0.867082893848 0.928871572018 0.000000000000 -vt 0.847567975521 0.932113111019 0.000000000000 -vt 0.861807763577 0.903646290302 0.000000000000 -vt 0.874533474445 0.941229879856 0.000000000000 -vt 0.854254424572 0.953694105148 0.000000000000 -vt 0.828710377216 0.919355154037 0.000000000000 -vt 0.886985480785 0.898062467575 0.000000000000 -vt 0.872782289982 0.875068247318 0.000000000000 -vt 0.906435072422 0.912213265896 0.000000000000 -vt 0.907167255878 0.936152637005 0.000000000000 -vt 0.888857185841 0.925772547722 0.000000000000 -vt 0.894924700260 0.912269532681 0.000000000000 -vt 0.909523308277 0.137212976813 0.000000000000 -vt 0.900375425816 0.890851438046 0.000000000000 -vt 0.647988855839 0.030116569251 0.000000000000 -vt 0.663214385509 0.030034158379 0.000000000000 -vt 0.655444204807 0.048680160195 0.000000000000 -vt 0.633447468281 0.039773471653 0.000000000000 -vt 0.639170706272 0.061737354845 0.000000000000 -vt 0.625266969204 0.055919121951 0.000000000000 -vt 0.724736869335 0.892238378525 0.000000000000 -vt 0.741851985455 0.899839401245 0.000000000000 -vt 0.725909292698 0.912707686424 0.000000000000 -vt 0.713663756847 0.901688575745 0.000000000000 -vt 0.650711238384 0.327391177416 0.000000000000 -vt 0.634856283665 0.320250153542 0.000000000000 -vt 0.740120351315 0.933756113052 0.000000000000 -vt 0.722898066044 0.930224955082 0.000000000000 -vt 0.640473186970 0.306113332510 0.000000000000 -vt 0.652059733868 0.314922749996 0.000000000000 -vt 0.621949970722 0.313803285360 0.000000000000 -vt 0.583925902843 0.276038467884 0.000000000000 -vt 0.669873058796 0.330044180155 0.000000000000 -vt 0.663455307484 0.311076432467 0.000000000000 -vt 0.653194963932 0.296154946089 0.000000000000 -vt 0.537551581860 0.063254460692 0.000000000000 -vt 0.855031669140 0.035574551672 0.000000000000 -vt 0.837493717670 0.022007379681 0.000000000000 -vt 0.709798753262 0.290995299816 0.000000000000 -vt 0.720909416676 0.320390880108 0.000000000000 -vt 0.708561480045 0.322530746460 0.000000000000 -vt 0.747772991657 0.921521842480 0.000000000000 -vt 0.695623576641 0.297934114933 0.000000000000 -vt 0.680082261562 0.305459260941 0.000000000000 -vt 0.693427860737 0.329764753580 0.000000000000 -vt 0.681907594204 0.278335958719 0.000000000000 -vt 0.667823493481 0.287369400263 0.000000000000 -vt 0.667146265507 0.261673122644 0.000000000000 -vt 0.654371798038 0.271894037724 0.000000000000 -vt 0.641373217106 0.281966120005 0.000000000000 -vt 0.639975368977 0.258212238550 0.000000000000 -vt 0.628611147404 0.269090384245 0.000000000000 -vt 0.626621663570 0.244766697288 0.000000000000 -vt 0.616053998470 0.255464911461 0.000000000000 -vt 0.605184614658 0.264766514301 0.000000000000 -vt 0.605853140354 0.242097690701 0.000000000000 -vt 0.595517814159 0.250885695219 0.000000000000 -vt 0.585814058781 0.256739497185 0.000000000000 -vt 0.595492184162 0.270403504372 0.000000000000 -vt 0.574711024761 0.264054805040 0.000000000000 -vt 0.585790932178 0.239443764091 0.000000000000 -vt 0.572891771793 0.246539995074 0.000000000000 -vt 0.559696972370 0.254923403263 0.000000000000 -vt 0.577001988888 0.228986665606 0.000000000000 -vt 0.564495980740 0.234662607312 0.000000000000 -vt 0.551713407040 0.238481923938 0.000000000000 -vt 0.545511305332 0.261512130499 0.000000000000 -vt 0.538646757603 0.241494938731 0.000000000000 -vt 0.661286294460 0.149169623852 0.000000000000 -vt 0.643085420132 0.133995741606 0.000000000000 -vt 0.684797942638 0.147779509425 0.000000000000 -vt 0.676565825939 0.159141749144 0.000000000000 -vt 0.630804598331 0.144728660583 0.000000000000 -vt 0.649197280407 0.162055477500 0.000000000000 -vt 0.669700562954 0.172124639153 0.000000000000 -vt 0.633624017239 0.171124503016 0.000000000000 -vt 0.617616355419 0.157551243901 0.000000000000 -vt 0.624203979969 0.183554634452 0.000000000000 -vt 0.607319533825 0.173306703568 0.000000000000 -vt 0.645736873150 0.185071289539 0.000000000000 -vt 0.638931095600 0.196221649647 0.000000000000 -vt 0.601086556911 0.187993124127 0.000000000000 -vt 0.617492735386 0.196533486247 0.000000000000 -vt 0.632214725018 0.207936018705 0.000000000000 -vt 0.654465734959 0.209547683597 0.000000000000 -vt 0.646386682987 0.221093416214 0.000000000000 -vt 0.611703574657 0.208597302437 0.000000000000 -vt 0.624510347843 0.219911128283 0.000000000000 -vt 0.636621057987 0.233212843537 0.000000000000 -vt 0.661210715771 0.235190823674 0.000000000000 -vt 0.651021778584 0.247041419148 0.000000000000 -vt 0.615979254246 0.231477782130 0.000000000000 -vt 0.605249464512 0.220229938626 0.000000000000 -vt 0.596773326397 0.230893954635 0.000000000000 -vt 0.592077195644 0.211689129472 0.000000000000 -vt 0.586139500141 0.221562415361 0.000000000000 -vt 0.596748054028 0.200712144375 0.000000000000 -vt 0.686020314693 0.238807246089 0.000000000000 -vt 0.677805483341 0.250549525023 0.000000000000 -vt 0.669185936451 0.222903206944 0.000000000000 -vt 0.691701591015 0.226273551583 0.000000000000 -vt 0.675190150738 0.210060581565 0.000000000000 -vt 0.660946547985 0.197643056512 0.000000000000 -vt 0.679371058941 0.196919396520 0.000000000000 -vt 0.665786325932 0.185841768980 0.000000000000 -vt 0.653169095516 0.177967861295 0.000000000000 -vt 0.682948529720 0.183452650905 0.000000000000 -vt 0.688856303692 0.169335424900 0.000000000000 -vt 0.712051331997 0.240907743573 0.000000000000 -vt 0.705046594143 0.257047295570 0.000000000000 -vt 0.693947613239 0.268588751554 0.000000000000 -vt 0.846441566944 0.016312304884 0.000000000000 -vt 0.725233733654 0.280963063240 0.000000000000 -vt 0.864230215549 0.027330722660 0.000000000000 -vt 0.867542684078 0.077758729458 0.000000000000 -vt 0.873992264271 0.059032347053 0.000000000000 -vt 0.900698363781 0.073607310653 0.000000000000 -vt 0.893409788609 0.088153243065 0.000000000000 -vt 0.837527215481 0.094833135605 0.000000000000 -vt 0.838087618351 0.073169842362 0.000000000000 -vt 0.864491522312 0.098964735866 0.000000000000 -vt 0.839568436146 0.049210395664 0.000000000000 -vt 0.838048279285 0.117027804255 0.000000000000 -vt 0.862743914127 0.119909122586 0.000000000000 -vt 0.839784204960 0.140174224973 0.000000000000 -vt 0.862825214863 0.142299681902 0.000000000000 -vt 0.887471616268 0.147722780704 0.000000000000 -vt 0.864518344402 0.167147815228 0.000000000000 -vt 0.760909855366 0.908550620079 0.000000000000 -vt 0.702537238598 0.924268066883 0.000000000000 -vt 0.688291251659 0.928146779537 0.000000000000 -vt 0.681064426899 0.908967435360 0.000000000000 -vt 0.690809547901 0.908960223198 0.000000000000 -vt 0.831720411777 0.965238690376 0.000000000000 -vt 0.609436690807 0.309842139482 0.000000000000 -vt 0.841262519360 0.982780098915 0.000000000000 -vt 0.824164688587 0.990950345993 0.000000000000 -vt 0.813748776913 0.974472284317 0.000000000000 -vt 0.803931534290 0.981341362000 0.000000000000 -vt 0.813704669476 0.995644569397 0.000000000000 -vt 0.821433365345 0.949445426464 0.000000000000 -vt 0.802491247654 0.961359918118 0.000000000000 -vt 0.792442619801 0.969731867313 0.000000000000 -vt 0.808618605137 0.936246752739 0.000000000000 -vt 0.791009962559 0.950495541096 0.000000000000 -vt 0.780412495136 0.960320413113 0.000000000000 -vt 0.779733002186 0.938618302345 0.000000000000 -vt 0.769098222256 0.949621915817 0.000000000000 -vt 0.795302093029 0.925809264183 0.000000000000 -vt 0.779587566853 0.917365670204 0.000000000000 -vt 0.765330970287 0.930258750916 0.000000000000 -vt 0.755919754505 0.940638661385 0.000000000000 -vt 0.888226568699 0.171349883080 0.000000000000 -vt 0.910776436329 0.175429016352 0.000000000000 -vt 0.910029232502 0.154122352600 0.000000000000 -vt 0.931366503239 0.177302077413 0.000000000000 -vt 0.929215371609 0.158224686980 0.000000000000 -vt 0.927563607693 0.146612986922 0.000000000000 -vt 0.907406389713 0.225816711783 0.000000000000 -vt 0.909843504429 0.199414119124 0.000000000000 -vt 0.930679738522 0.201603308320 0.000000000000 -vt 0.928200304508 0.226828783751 0.000000000000 -vt 0.887493193150 0.252168864012 0.000000000000 -vt 0.887319624424 0.224217891693 0.000000000000 -vt 0.907594621181 0.252231895924 0.000000000000 -vt 0.932080924511 0.253668844700 0.000000000000 -vt 0.888279378414 0.197011262178 0.000000000000 -vt 0.868254363537 0.222412139177 0.000000000000 -vt 0.866531431675 0.193962886930 0.000000000000 -vt 0.850991070271 0.254400819540 0.000000000000 -vt 0.425416767597 0.169557422400 0.000000000000 -vt 0.527126252651 0.054304089397 0.000000000000 -vt 0.537031948566 0.037999924272 0.000000000000 -vt 0.594819605350 0.021248605102 0.000000000000 -vt 0.593616664410 0.041817199439 0.000000000000 -vt 0.611463606358 0.039550118148 0.000000000000 -vt 0.612102329731 0.021802034229 0.000000000000 -vt 0.629308164120 0.021318852901 0.000000000000 -vt 0.684654057026 0.026047337800 0.000000000000 -vt 0.686814010143 0.010275442153 0.000000000000 -vt 0.813150346279 0.910948097706 0.000000000000 -vt 0.795561254025 0.902303934097 0.000000000000 -vt 0.708547055721 0.008438628167 0.000000000000 -vt 0.706763446331 0.024136669934 0.000000000000 -vt 0.681121885777 0.042657937855 0.000000000000 -vt 0.703326165676 0.040577050298 0.000000000000 -vt 0.679071128368 0.059330899268 0.000000000000 -vt 0.697736203671 0.057211738080 0.000000000000 -vt 0.679068386555 0.075802132487 0.000000000000 -vt 0.694422185421 0.074145883322 0.000000000000 -vt 0.660856544971 0.065091490746 0.000000000000 -vt 0.664182245731 0.079712390900 0.000000000000 -vt 0.667562067509 0.093277320266 0.000000000000 -vt 0.658718883991 0.094275429845 0.000000000000 -vt 0.653593957424 0.083498373628 0.000000000000 -vt 0.562429010868 0.070872798562 0.000000000000 -vt 0.561431109905 0.091275691986 0.000000000000 -vt 0.651631176472 0.096843779087 0.000000000000 -vt 0.566199004650 0.079591929913 0.000000000000 -vt 0.568919837475 0.088470026851 0.000000000000 -vt 0.576352179050 0.086408510804 0.000000000000 -vt 0.573891699314 0.075738176703 0.000000000000 -vt 0.570575177670 0.065078660846 0.000000000000 -vt 0.584147036076 0.084593981504 0.000000000000 -vt 0.582864105701 0.072689130902 0.000000000000 -vt 0.580894887447 0.060486171395 0.000000000000 -vt 0.593160688877 0.083160415292 0.000000000000 -vt 0.593804895878 0.070337161422 0.000000000000 -vt 0.593818604946 0.057107713073 0.000000000000 -vt 0.603601753712 0.082686245441 0.000000000000 -vt 0.606147468090 0.069071784616 0.000000000000 -vt 0.609074890614 0.054980006069 0.000000000000 -vt 0.614769279957 0.083682104945 0.000000000000 -vt 0.619084775448 0.069891348481 0.000000000000 -vt 0.610922992229 0.095825180411 0.000000000000 -vt 0.601321876049 0.094617664814 0.000000000000 -vt 0.622694909573 0.086109951138 0.000000000000 -vt 0.617340266705 0.097710400820 0.000000000000 -vt 0.629761517048 0.073689267039 0.000000000000 -vt 0.629895031452 0.090603604913 0.000000000000 -vt 0.623498737812 0.100945651531 0.000000000000 -vt 0.638310372829 0.080408573151 0.000000000000 -vt 0.638113796711 0.097320660949 0.000000000000 -vt 0.645590126514 0.088923722506 0.000000000000 -vt 0.647677242756 0.071726813912 0.000000000000 -vt 0.631511867046 0.105762854218 0.000000000000 -vt 0.638789474964 0.110335975885 0.000000000000 -vt 0.562276422977 0.105178341269 0.000000000000 -vt 0.630611360073 0.128678917885 0.000000000000 -vt 0.623610913754 0.125340327621 0.000000000000 -vt 0.626384556293 0.114658728242 0.000000000000 -vt 0.569847881794 0.105211660266 0.000000000000 -vt 0.570068538189 0.114621803164 0.000000000000 -vt 0.570002615452 0.097111940384 0.000000000000 -vt 0.577380478382 0.104798287153 0.000000000000 -vt 0.576979458332 0.114249393344 0.000000000000 -vt 0.577486932278 0.096096485853 0.000000000000 -vt 0.584565103054 0.104308113456 0.000000000000 -vt 0.583777844906 0.114008486271 0.000000000000 -vt 0.584677040577 0.095082387328 0.000000000000 -vt 0.591241061687 0.104193970561 0.000000000000 -vt 0.589022576809 0.114581719041 0.000000000000 -vt 0.592356622219 0.094391390681 0.000000000000 -vt 0.598587095737 0.105026379228 0.000000000000 -vt 0.594260156155 0.115820080042 0.000000000000 -vt 0.586750924587 0.143253445625 0.000000000000 -vt 0.588111102581 0.125869661570 0.000000000000 -vt 0.593005359173 0.127749264240 0.000000000000 -vt 0.591630995274 0.144661337137 0.000000000000 -vt 0.596110045910 0.146092429757 0.000000000000 -vt 0.598921716213 0.130493223667 0.000000000000 -vt 0.601200044155 0.117737725377 0.000000000000 -vt 0.600308954716 0.147598937154 0.000000000000 -vt 0.605599582195 0.133385121822 0.000000000000 -vt 0.608710825443 0.120034545660 0.000000000000 -vt 0.604579865932 0.149645149708 0.000000000000 -vt 0.611486494541 0.135846063495 0.000000000000 -vt 0.615960538387 0.122533097863 0.000000000000 -vt 0.608992874622 0.150967940688 0.000000000000 -vt 0.617690265179 0.137778565288 0.000000000000 -vt 0.624459326267 0.140183672309 0.000000000000 -vt 0.613782465458 0.152489989996 0.000000000000 -vt 0.570089280605 0.125959947705 0.000000000000 -vt 0.557442963123 0.275540649891 0.000000000000 -vt 0.566006243229 0.270970880985 0.000000000000 -vt 0.775371730328 0.893757700920 0.000000000000 -vt 0.808763206005 0.883916676044 0.000000000000 -vt 0.559562146664 0.264112442732 0.000000000000 -vt 0.554663598537 0.266600191593 0.000000000000 -vt 0.848581612110 0.221785306931 0.000000000000 -vt 0.393582761288 0.484183341265 0.000000000000 -vt 0.396767795086 0.480453461409 0.000000000000 -vt 0.400794714689 0.480809420347 0.000000000000 -vt 0.399765521288 0.485055834055 0.000000000000 -vt 0.439470499754 0.511713802814 0.000000000000 -vt 0.440386444330 0.513542473316 0.000000000000 -vt 0.437012046576 0.514041662216 0.000000000000 -vt 0.437573134899 0.511677742004 0.000000000000 -vt 0.422013103962 0.460037946701 0.000000000000 -vt 0.418047666550 0.470334529877 0.000000000000 -vt 0.412509530783 0.468371391296 0.000000000000 -vt 0.414865106344 0.458373844624 0.000000000000 -vt 0.429023534060 0.476388931274 0.000000000000 -vt 0.423462659121 0.473014324903 0.000000000000 -vt 0.429314196110 0.462833255529 0.000000000000 -vt 0.436214298010 0.467371255159 0.000000000000 -vt 0.406041711569 0.475491911173 0.000000000000 -vt 0.406945496798 0.467524141073 0.000000000000 -vt 0.410694092512 0.476356506348 0.000000000000 -vt 0.435092151165 0.452288359404 0.000000000000 -vt 0.438309162855 0.447881609201 0.000000000000 -vt 0.359971135855 0.090370342135 0.000000000000 -vt 0.368420302868 0.099629849195 0.000000000000 -vt 0.362833082676 0.104876860976 0.000000000000 -vt 0.354921132326 0.096900969744 0.000000000000 -vt 0.352515369654 0.130700588226 0.000000000000 -vt 0.345492541790 0.124132826924 0.000000000000 -vt 0.349532276392 0.119571164250 0.000000000000 -vt 0.358871489763 0.128728002310 0.000000000000 -vt 0.438525289297 0.449985921383 0.000000000000 -vt 0.439274400473 0.451704740524 0.000000000000 -vt 0.449622303247 0.464140743017 0.000000000000 -vt 0.448981046677 0.460056871176 0.000000000000 -vt 0.450336039066 0.460677176714 0.000000000000 -vt 0.452015697956 0.460444808006 0.000000000000 -vt 0.425263881683 0.450979530811 0.000000000000 -vt 0.453179091215 0.473780065775 0.000000000000 -vt 0.449453443289 0.477478682995 0.000000000000 -vt 0.442929327488 0.472293376923 0.000000000000 -vt 0.441622525454 0.459930330515 0.000000000000 -vt 0.444129645824 0.456388652325 0.000000000000 -vt 0.373616009951 0.118581384420 0.000000000000 -vt 0.375112146139 0.115701422095 0.000000000000 -vt 0.377992779016 0.117945536971 0.000000000000 -vt 0.375868886709 0.120479449630 0.000000000000 -vt 0.382243275642 0.107223436236 0.000000000000 -vt 0.383732229471 0.103787556291 0.000000000000 -vt 0.386310935020 0.106139764190 0.000000000000 -vt 0.384451150894 0.109020173550 0.000000000000 -vt 0.409286201000 0.450759083033 0.000000000000 -vt 0.408566385508 0.458585023880 0.000000000000 -vt 0.376690715551 0.126454398036 0.000000000000 -vt 0.381214976311 0.120371833444 0.000000000000 -vt 0.403114914894 0.459155589342 0.000000000000 -vt 0.403876841068 0.452309519053 0.000000000000 -vt 0.454835981131 0.482029527426 0.000000000000 -vt 0.457485169172 0.479463666677 0.000000000000 -vt 0.384555608034 0.122786611319 0.000000000000 -vt 0.382433533669 0.128221631050 0.000000000000 -vt 0.385892122984 0.114606484771 0.000000000000 -vt 0.389199435711 0.119001969695 0.000000000000 -vt 0.416368693113 0.447328180075 0.000000000000 -vt 0.461556434631 0.440214395523 0.000000000000 -vt 0.354810804129 0.135790005326 0.000000000000 -vt 0.356487303972 0.133928865194 0.000000000000 -vt 0.459117084742 0.440935134888 0.000000000000 -vt 0.359035402536 0.136161059141 0.000000000000 -vt 0.356604158878 0.137259811163 0.000000000000 -vt 0.456829965115 0.439723789692 0.000000000000 -vt 0.458451539278 0.437272518873 0.000000000000 -vt 0.454769343138 0.438526421785 0.000000000000 -vt 0.454550951719 0.435967743397 0.000000000000 -vt 0.441826075315 0.444921255112 0.000000000000 -vt 0.443551659584 0.442011803389 0.000000000000 -vt 0.448256731033 0.443818241358 0.000000000000 -vt 0.446299463511 0.446265220642 0.000000000000 -vt 0.455544114113 0.449857115746 0.000000000000 -vt 0.458855003119 0.454671829939 0.000000000000 -vt 0.455724000931 0.457280248404 0.000000000000 -vt 0.453310787678 0.452473431826 0.000000000000 -vt 0.450308114290 0.448847740889 0.000000000000 -vt 0.386408418417 0.101448193192 0.000000000000 -vt 0.387978881598 0.103007167578 0.000000000000 -vt 0.452250301838 0.446324646473 0.000000000000 -vt 0.447152793407 0.437671035528 0.000000000000 -vt 0.450194656849 0.436007380486 0.000000000000 -vt 0.452898085117 0.439646780491 0.000000000000 -vt 0.450881361961 0.441238403320 0.000000000000 -vt 0.458574026823 0.443444490433 0.000000000000 -vt 0.463303625584 0.444895386696 0.000000000000 -vt 0.462563782930 0.448778629303 0.000000000000 -vt 0.457480877638 0.446133941412 0.000000000000 -vt 0.454026341438 0.443802684546 0.000000000000 -vt 0.359097301960 0.132905989885 0.000000000000 -vt 0.361074864864 0.134876102209 0.000000000000 -vt 0.455461025238 0.441745221615 0.000000000000 -vt 0.444298267365 0.448686748743 0.000000000000 -vt 0.442074418068 0.450537770987 0.000000000000 -vt 0.439655810595 0.449115246534 0.000000000000 -vt 0.441199243069 0.447540730238 0.000000000000 -vt 0.451972931623 0.458101630211 0.000000000000 -vt 0.450596332550 0.459385693073 0.000000000000 -vt 0.449565351009 0.457458138466 0.000000000000 -vt 0.450939685106 0.454803764820 0.000000000000 -vt 0.446267724037 0.453737437725 0.000000000000 -vt 0.397592544556 0.132566675544 0.000000000000 -vt 0.395102560520 0.138213351369 0.000000000000 -vt 0.392103701830 0.135889068246 0.000000000000 -vt 0.395304739475 0.130839735270 0.000000000000 -vt 0.399295836687 0.125662967563 0.000000000000 -vt 0.402231425047 0.128127291799 0.000000000000 -vt 0.404049992561 0.137433633208 0.000000000000 -vt 0.405965834856 0.138806402683 0.000000000000 -vt 0.404163688421 0.144568577409 0.000000000000 -vt 0.448208779097 0.451402574778 0.000000000000 -vt 0.449387699366 0.442756623030 0.000000000000 -vt 0.445775300264 0.440066248178 0.000000000000 -vt 0.459970653057 0.451159417629 0.000000000000 -vt 0.456270694733 0.448136717081 0.000000000000 -vt 0.400764316320 0.142388850451 0.000000000000 -vt 0.410871744156 0.135244905949 0.000000000000 -vt 0.407858490944 0.132529079914 0.000000000000 -vt 0.389080792665 0.131361424923 0.000000000000 -vt 0.387762486935 0.129610389471 0.000000000000 -vt 0.389104187489 0.126333042979 0.000000000000 -vt 0.390812218189 0.127695217729 0.000000000000 -vt 0.391797959805 0.123638600111 0.000000000000 -vt 0.393867135048 0.124303475022 0.000000000000 -vt 0.390969157219 0.132123574615 0.000000000000 -vt 0.392821729183 0.129185527563 0.000000000000 -vt 0.395075976849 0.126136258245 0.000000000000 -vt 0.398736566305 0.138166293502 0.000000000000 -vt 0.397700846195 0.136793285608 0.000000000000 -vt 0.399035334587 0.133746489882 0.000000000000 -vt 0.400510340929 0.134889379144 0.000000000000 -vt 0.401520818472 0.131361871958 0.000000000000 -vt 0.403166472912 0.131912827492 0.000000000000 -vt 0.400330662727 0.138775110245 0.000000000000 -vt 0.402200579643 0.136118054390 0.000000000000 -vt 0.404188245535 0.133363723755 0.000000000000 -vt 0.385480999947 0.131040126085 0.000000000000 -vt 0.387488692999 0.124964997172 0.000000000000 -vt 0.392740219831 0.120471790433 0.000000000000 -vt 0.397779881954 0.121211871505 0.000000000000 -vt 0.388019412756 0.135536253452 0.000000000000 -vt 0.406621724367 0.128388255835 0.000000000000 -vt 0.396779060364 0.141935378313 0.000000000000 -vt 0.409657478333 0.141405150294 0.000000000000 -vt 0.408238559961 0.143032342196 0.000000000000 -vt 0.452826261520 0.445473134518 0.000000000000 -vt 0.398223191500 0.453096210957 0.000000000000 -vt 0.397748589516 0.459203541279 0.000000000000 -vt 0.461537957191 0.483292669058 0.000000000000 -vt 0.458966463804 0.486215561628 0.000000000000 -vt 0.417104929686 0.441364258528 0.000000000000 -vt 0.418126702309 0.442871898413 0.000000000000 -vt 0.420422822237 0.444641411304 0.000000000000 -vt 0.433500528336 0.448079735041 0.000000000000 -vt 0.436020672321 0.448221594095 0.000000000000 -vt 0.427099138498 0.446181684732 0.000000000000 -vt 0.438960522413 0.423234313726 0.000000000000 -vt 0.436720907688 0.424649864435 0.000000000000 -vt 0.407253503799 0.142381638288 0.000000000000 -vt 0.408249586821 0.140351876616 0.000000000000 -vt 0.434051692486 0.423569798470 0.000000000000 -vt 0.434879601002 0.420804440975 0.000000000000 -vt 0.431214749813 0.423123985529 0.000000000000 -vt 0.430086702108 0.420641422272 0.000000000000 -vt 0.419274091721 0.434574037790 0.000000000000 -vt 0.420379161835 0.430852890015 0.000000000000 -vt 0.426141530275 0.431651085615 0.000000000000 -vt 0.424853444099 0.434927970171 0.000000000000 -vt 0.436181217432 0.434532612562 0.000000000000 -vt 0.441298097372 0.437351107597 0.000000000000 -vt 0.439914047718 0.441069751978 0.000000000000 -vt 0.435192108154 0.437948435545 0.000000000000 -vt 0.430372446775 0.435908526182 0.000000000000 -vt 0.410810738802 0.139599621296 0.000000000000 -vt 0.409828603268 0.138812705874 0.000000000000 -vt 0.431275308132 0.432643771172 0.000000000000 -vt 0.423234343529 0.424417972565 0.000000000000 -vt 0.425667136908 0.422001600266 0.000000000000 -vt 0.429718136787 0.424738824368 0.000000000000 -vt 0.428410202265 0.426783442497 0.000000000000 -vt 0.437025994062 0.426789969206 0.000000000000 -vt 0.441838681698 0.426870137453 0.000000000000 -vt 0.442383557558 0.430333465338 0.000000000000 -vt 0.436957329512 0.429274797440 0.000000000000 -vt 0.432621270418 0.428078770638 0.000000000000 -vt 0.414452850819 0.144986689091 0.000000000000 -vt 0.409147053957 0.147766679525 0.000000000000 -vt 0.433331876993 0.425908029079 0.000000000000 -vt 0.423957765102 0.438147932291 0.000000000000 -vt 0.422544687986 0.441486746073 0.000000000000 -vt 0.418296456337 0.441183239222 0.000000000000 -vt 0.419304251671 0.438087821007 0.000000000000 -vt 0.437636613846 0.443893879652 0.000000000000 -vt 0.436708301306 0.446964770555 0.000000000000 -vt 0.433489710093 0.444419175386 0.000000000000 -vt 0.434133440256 0.441165685654 0.000000000000 -vt 0.428444206715 0.442456930876 0.000000000000 -vt 0.408575177193 0.144754558802 0.000000000000 -vt 0.411639750004 0.142881035805 0.000000000000 -vt 0.406258314848 0.142990231514 0.000000000000 -vt 0.407059431076 0.139547616243 0.000000000000 -vt 0.410056680441 0.137724533677 0.000000000000 -vt 0.415505886078 0.139094606042 0.000000000000 -vt 0.412565827370 0.139450341463 0.000000000000 -vt 0.364202499390 0.128939658403 0.000000000000 -vt 0.366093575954 0.126167103648 0.000000000000 -vt 0.429390072823 0.439258158207 0.000000000000 -vt 0.427526712418 0.428991526365 0.000000000000 -vt 0.422490209341 0.427620559931 0.000000000000 -vt 0.441317677498 0.433453887701 0.000000000000 -vt 0.436557680368 0.431637555361 0.000000000000 -vt 0.368825376034 0.128782272339 0.000000000000 -vt 0.366221219301 0.131002977490 0.000000000000 -vt 0.377708643675 0.113558173180 0.000000000000 -vt 0.379947811365 0.115249529481 0.000000000000 -vt 0.368792057037 0.124293580651 0.000000000000 -vt 0.370973348618 0.126337096095 0.000000000000 -vt 0.379835903645 0.132157340646 0.000000000000 -vt 0.374702155590 0.134804278612 0.000000000000 -vt 0.371608525515 0.131661787629 0.000000000000 -vt 0.385006606579 0.145867496729 0.000000000000 -vt 0.380806565285 0.150551855564 0.000000000000 -vt 0.378436356783 0.147939816117 0.000000000000 -vt 0.383413165808 0.143897384405 0.000000000000 -vt 0.388382792473 0.140254378319 0.000000000000 -vt 0.390580326319 0.142940923572 0.000000000000 -vt 0.389787077904 0.151387169957 0.000000000000 -vt 0.391084223986 0.152869373560 0.000000000000 -vt 0.387653529644 0.157836511731 0.000000000000 -vt 0.385402202606 0.155462026596 0.000000000000 -vt 0.396483421326 0.150470122695 0.000000000000 -vt 0.394613981247 0.147955358028 0.000000000000 -vt 0.377133131027 0.143021076918 0.000000000000 -vt 0.431962937117 0.430194556713 0.000000000000 -vt 0.398509591818 0.449473470449 0.000000000000 -vt 0.403451532125 0.447545230389 0.000000000000 -vt 0.412772059441 0.443381220102 0.000000000000 -vt 0.415262728930 0.442666351795 0.000000000000 -vt 0.408193081617 0.445362567902 0.000000000000 -vt 0.402572304010 0.417491078377 0.000000000000 -vt 0.401636779308 0.420146107674 0.000000000000 -vt 0.376334518194 0.141268029809 0.000000000000 -vt 0.378864586353 0.138637766242 0.000000000000 -vt 0.398579388857 0.420967459679 0.000000000000 -vt 0.397203922272 0.418318748474 0.000000000000 -vt 0.395930439234 0.422812163830 0.000000000000 -vt 0.393101811409 0.421740859747 0.000000000000 -vt 0.393963277340 0.440714478493 0.000000000000 -vt 0.392591178417 0.436948060989 0.000000000000 -vt 0.397990405560 0.434073746204 0.000000000000 -vt 0.399504780769 0.437697380781 0.000000000000 -vt 0.408009588718 0.428790479898 0.000000000000 -vt 0.414924532175 0.428841352463 0.000000000000 -vt 0.416294604540 0.432789921761 0.000000000000 -vt 0.409434139729 0.432349741459 0.000000000000 -vt 0.404077023268 0.434443891048 0.000000000000 -vt 0.380261212587 0.140083029866 0.000000000000 -vt 0.382164925337 0.137022957206 0.000000000000 -vt 0.402819514275 0.430790752172 0.000000000000 -vt 0.390489786863 0.430026113987 0.000000000000 -vt 0.390550136566 0.426381319761 0.000000000000 -vt 0.395857959986 0.425411134958 0.000000000000 -vt 0.396276742220 0.428331613541 0.000000000000 -vt 0.403288513422 0.421578973532 0.000000000000 -vt 0.408246427774 0.418946474791 0.000000000000 -vt 0.411142379045 0.421542286873 0.000000000000 -vt 0.405009150505 0.423732370138 0.000000000000 -vt 0.400750786066 0.425774753094 0.000000000000 -vt 0.383944779634 0.138014540076 0.000000000000 -vt 0.378778368235 0.144098669291 0.000000000000 -vt 0.399727702141 0.423417359591 0.000000000000 -vt 0.400881379843 0.440771222115 0.000000000000 -vt 0.401966422796 0.443919539452 0.000000000000 -vt 0.396847724915 0.446899026632 0.000000000000 -vt 0.396342486143 0.443651407957 0.000000000000 -vt 0.415956437588 0.436509907246 0.000000000000 -vt 0.416573584080 0.440072774887 0.000000000000 -vt 0.411374956369 0.439379304647 0.000000000000 -vt 0.410169273615 0.436066806316 0.000000000000 -vt 0.406326770782 0.441095888615 0.000000000000 -vt 0.381734192371 0.141807720065 0.000000000000 -vt 0.384717941284 0.139707922935 0.000000000000 -vt 0.384294420481 0.151226192713 0.000000000000 -vt 0.383655220270 0.149787440896 0.000000000000 -vt 0.386135309935 0.147063747048 0.000000000000 -vt 0.387247562408 0.148301199079 0.000000000000 -vt 0.389312237501 0.145468518138 0.000000000000 -vt 0.390688598156 0.146293267608 0.000000000000 -vt 0.385713368654 0.152030900121 0.000000000000 -vt 0.405239045620 0.437882453203 0.000000000000 -vt 0.396997690201 0.430689215660 0.000000000000 -vt 0.392160445452 0.433128327131 0.000000000000 -vt 0.412164151669 0.424938082695 0.000000000000 -vt 0.406307399273 0.426028043032 0.000000000000 -vt 0.388458669186 0.149755924940 0.000000000000 -vt 0.391224920750 0.147718727589 0.000000000000 -vt 0.373405694962 0.142156943679 0.000000000000 -vt 0.377377659082 0.137248560786 0.000000000000 -vt 0.383390426636 0.134469017386 0.000000000000 -vt 0.387974828482 0.136217564344 0.000000000000 -vt 0.374564796686 0.146659821272 0.000000000000 -vt 0.394345581532 0.144419968128 0.000000000000 -vt 0.381775170565 0.154543623328 0.000000000000 -vt 0.393369078636 0.155557274818 0.000000000000 -vt 0.391563802958 0.156876459718 0.000000000000 -vt 0.390937179327 0.156117007136 0.000000000000 -vt 0.392488509417 0.154420018196 0.000000000000 -vt 0.395006179810 0.154078006744 0.000000000000 -vt 0.394348293543 0.153221741319 0.000000000000 -vt 0.396971106529 0.159922137856 0.000000000000 -vt 0.391263425350 0.161551579833 0.000000000000 -vt 0.391377806664 0.158593714237 0.000000000000 -vt 0.394818872213 0.157320469618 0.000000000000 -vt 0.389807134867 0.156631037593 0.000000000000 -vt 0.391787588596 0.153602257371 0.000000000000 -vt 0.395006865263 0.152312338352 0.000000000000 -vt 0.401779532433 0.428116351366 0.000000000000 -vt 0.452458798885 0.462447345257 0.000000000000 -vt 0.452626556158 0.465537369251 0.000000000000 -vt 0.459379166365 0.476943254471 0.000000000000 -vt 0.462601810694 0.480663985014 0.000000000000 -vt 0.455803722143 0.471922338009 0.000000000000 -vt 0.479603260756 0.461800038815 0.000000000000 -vt 0.477074772120 0.461461395025 0.000000000000 -vt 0.399524837732 0.154673993587 0.000000000000 -vt 0.396705895662 0.154279291630 0.000000000000 -vt 0.475300759077 0.459207594395 0.000000000000 -vt 0.477906495333 0.457540988922 0.000000000000 -vt 0.473629444838 0.457062989473 0.000000000000 -vt 0.474505990744 0.454424381256 0.000000000000 -vt 0.457420319319 0.456922262907 0.000000000000 -vt 0.460104405880 0.454761892557 0.000000000000 -vt 0.463730514050 0.459742784500 0.000000000000 -vt 0.461280167103 0.461182653904 0.000000000000 -vt 0.469485044479 0.469264149666 0.000000000000 -vt 0.472566455603 0.474419951439 0.000000000000 -vt 0.469833135605 0.475842684507 0.000000000000 -vt 0.467271775007 0.470811873674 0.000000000000 -vt 0.464453041553 0.465783476830 0.000000000000 -vt 0.371207743883 0.139285087585 0.000000000000 -vt 0.356069415808 0.140628591180 0.000000000000 -vt 0.466606199741 0.464368134737 0.000000000000 -vt 0.466347038746 0.452607154846 0.000000000000 -vt 0.470105797052 0.452469378710 0.000000000000 -vt 0.471197992563 0.457316517830 0.000000000000 -vt 0.468378633261 0.458023726940 0.000000000000 -vt 0.475411504507 0.463598579168 0.000000000000 -vt 0.478970795870 0.466784060001 0.000000000000 -vt 0.476854532957 0.469994544983 0.000000000000 -vt 0.473139971495 0.465840876102 0.000000000000 -vt 0.470534920692 0.462002217770 0.000000000000 -vt 0.361092180014 0.138868093491 0.000000000000 -vt 0.362757891417 0.141520425677 0.000000000000 -vt 0.473011165857 0.460577666759 0.000000000000 -vt 0.458834081888 0.463209271431 0.000000000000 -vt 0.456127494574 0.464871376753 0.000000000000 -vt 0.453364372253 0.461712449789 0.000000000000 -vt 0.455975264311 0.460149645805 0.000000000000 -vt 0.466653943062 0.476451963186 0.000000000000 -vt 0.464873641729 0.479033142328 0.000000000000 -vt 0.462096124887 0.474372893572 0.000000000000 -vt 0.464624851942 0.472282111645 0.000000000000 -vt 0.459239572287 0.469601660967 0.000000000000 -vt 0.358396410942 0.143731668591 0.000000000000 -vt 0.366143107414 0.136179968715 0.000000000000 -vt 0.367462068796 0.140748366714 0.000000000000 -vt 0.367624849081 0.152154952288 0.000000000000 -vt 0.363851904869 0.154144421220 0.000000000000 -vt 0.362488389015 0.151757776737 0.000000000000 -vt 0.366743355989 0.150309801102 0.000000000000 -vt 0.370945870876 0.149034306407 0.000000000000 -vt 0.371946483850 0.151283830404 0.000000000000 -vt 0.461986482143 0.467537879944 0.000000000000 -vt 0.466021031141 0.459026336670 0.000000000000 -vt 0.463648796082 0.454296290874 0.000000000000 -vt 0.474090546370 0.471629172564 0.000000000000 -vt 0.471038132906 0.467538326979 0.000000000000 -vt 0.369695812464 0.157271832228 0.000000000000 -vt 0.370106279850 0.158484742045 0.000000000000 -vt 0.366340100765 0.161045432091 0.000000000000 -vt 0.365696161985 0.158691659570 0.000000000000 -vt 0.374921888113 0.158001109958 0.000000000000 -vt 0.373830109835 0.155684486032 0.000000000000 -vt 0.362566053867 0.147848188877 0.000000000000 -vt 0.362277865410 0.146466180682 0.000000000000 -vt 0.364509135485 0.145325541496 0.000000000000 -vt 0.365181237459 0.146691560745 0.000000000000 -vt 0.366957485676 0.145109176636 0.000000000000 -vt 0.367903143167 0.146292820573 0.000000000000 -vt 0.363559901714 0.149057939649 0.000000000000 -vt 0.365885078907 0.148352980614 0.000000000000 -vt 0.368204176426 0.147704318166 0.000000000000 -vt 0.366324573755 0.155576184392 0.000000000000 -vt 0.366173952818 0.154380381107 0.000000000000 -vt 0.368186831474 0.153372362256 0.000000000000 -vt 0.368705600500 0.154601037502 0.000000000000 -vt 0.370330303907 0.152888730168 0.000000000000 -vt 0.371147632599 0.153870403767 0.000000000000 -vt 0.367092341185 0.156595915556 0.000000000000 -vt 0.369238078594 0.155905812979 0.000000000000 -vt 0.371273934841 0.155043467879 0.000000000000 -vt 0.359594911337 0.146293044090 0.000000000000 -vt 0.363820612431 0.143866091967 0.000000000000 -vt 0.368623167276 0.143500894308 0.000000000000 -vt 0.468312889338 0.463350683451 0.000000000000 -vt 0.396901309490 0.467744559050 0.000000000000 -vt 0.401809483767 0.467451632023 0.000000000000 -vt 0.371416240931 0.146074414253 0.000000000000 -vt 0.359569907188 0.149919614196 0.000000000000 -vt 0.374465495348 0.153269469738 0.000000000000 -vt 0.414790123701 0.478396862745 0.000000000000 -vt 0.447205245495 0.489582329988 0.000000000000 -vt 0.452684849501 0.491852372885 0.000000000000 -vt 0.449784398079 0.494581252337 0.000000000000 -vt 0.442751228809 0.493985742331 0.000000000000 -vt 0.434156626463 0.494034796953 0.000000000000 -vt 0.440118283033 0.488046973944 0.000000000000 -vt 0.434461027384 0.500024855137 0.000000000000 -vt 0.430395841599 0.501698195934 0.000000000000 -vt 0.425874501467 0.499181836843 0.000000000000 -vt 0.446397393942 0.499464601278 0.000000000000 -vt 0.440220713615 0.499364227057 0.000000000000 -vt 0.434654891491 0.512679457664 0.000000000000 -vt 0.435968428850 0.511407136917 0.000000000000 -vt 0.443066686392 0.505874812603 0.000000000000 -vt 0.438906043768 0.505390286446 0.000000000000 -vt 0.439353436232 0.502900302410 0.000000000000 -vt 0.444775164127 0.503243684769 0.000000000000 -vt 0.435113310814 0.505446374416 0.000000000000 -vt 0.434737980366 0.503206968307 0.000000000000 -vt 0.447127133608 0.507210433483 0.000000000000 -vt 0.449805349112 0.505035459995 0.000000000000 -vt 0.363566637039 0.157027080655 0.000000000000 -vt 0.371184110641 0.161255732179 0.000000000000 -vt 0.431567996740 0.505946636200 0.000000000000 -vt 0.430854707956 0.504090666771 0.000000000000 -vt 0.369521766901 0.161624297500 0.000000000000 -vt 0.369182020426 0.160728856921 0.000000000000 -vt 0.370721399784 0.159941717982 0.000000000000 -vt 0.372713804245 0.160549417138 0.000000000000 -vt 0.372284442186 0.159536883235 0.000000000000 -vt 0.372968226671 0.165679350495 0.000000000000 -vt 0.452052175999 0.500936031342 0.000000000000 -vt 0.368058949709 0.165135830641 0.000000000000 -vt 0.368970602751 0.162820771337 0.000000000000 -vt 0.371845602989 0.162883594632 0.000000000000 -vt 0.368251889944 0.160784929991 0.000000000000 -vt 0.370353937149 0.159135669470 0.000000000000 -vt 0.440568357706 0.509817063808 0.000000000000 -vt 0.437990337610 0.509382963181 0.000000000000 -vt 0.435604155064 0.509494423866 0.000000000000 -vt 0.443635433912 0.511720776558 0.000000000000 -vt 0.373006284237 0.158982783556 0.000000000000 -vt 0.376509696245 0.162375643849 0.000000000000 -vt 0.374031394720 0.161057814956 0.000000000000 -vt 0.389625668526 0.108183041215 0.000000000000 -vt 0.393046200275 0.109792903066 0.000000000000 -vt 0.392523407936 0.116342663765 0.000000000000 -vt 0.432401984930 0.510016977787 0.000000000000 -vt 0.438322216272 0.506984829903 0.000000000000 -vt 0.441790044308 0.507623851299 0.000000000000 -vt 0.435307621956 0.507277548313 0.000000000000 -vt 0.444958448410 0.509229838848 0.000000000000 -vt 0.392005532980 0.101636424661 0.000000000000 -vt 0.395671516657 0.103756263852 0.000000000000 -vt 0.407296061516 0.115123912692 0.000000000000 -vt 0.406397461891 0.121328055859 0.000000000000 -vt 0.403196871281 0.120348632336 0.000000000000 -vt 0.404978096485 0.114345774055 0.000000000000 -vt 0.432492733002 0.507707357407 0.000000000000 -vt 0.406864881516 0.108425304294 0.000000000000 -vt 0.409913033247 0.109619542956 0.000000000000 -vt 0.414692848921 0.117440745234 0.000000000000 -vt 0.416797161102 0.118163943291 0.000000000000 -vt 0.416874825954 0.124142721295 0.000000000000 -vt 0.413157969713 0.123205170035 0.000000000000 -vt 0.420296519995 0.113394036889 0.000000000000 -vt 0.416648089886 0.111873343587 0.000000000000 -vt 0.399549156427 0.117066100240 0.000000000000 -vt 0.397761642933 0.115746006370 0.000000000000 -vt 0.444640964270 0.482646912336 0.000000000000 -vt 0.435251086950 0.480776757002 0.000000000000 -vt 0.412997663021 0.489607781172 0.000000000000 -vt 0.415611475706 0.485968559980 0.000000000000 -vt 0.419600337744 0.489331930876 0.000000000000 -vt 0.418021112680 0.495383232832 0.000000000000 -vt 0.418760269880 0.480955928564 0.000000000000 -vt 0.451327174902 0.485552281141 0.000000000000 -vt 0.397986561060 0.111830547452 0.000000000000 -vt 0.400141090155 0.112691327929 0.000000000000 -vt 0.399654954672 0.108637854457 0.000000000000 -vt 0.401813089848 0.108847483993 0.000000000000 -vt 0.401618987322 0.117125526071 0.000000000000 -vt 0.402521193027 0.113518998027 0.000000000000 -vt 0.403585493565 0.110106542706 0.000000000000 -vt 0.409883081913 0.119960919023 0.000000000000 -vt 0.455791562796 0.489336222410 0.000000000000 -vt 0.422770082951 0.483635991812 0.000000000000 -vt 0.423145622015 0.491761177778 0.000000000000 -vt 0.408528327942 0.119000181556 0.000000000000 -vt 0.408956587315 0.115644469857 0.000000000000 -vt 0.410606950521 0.116135522723 0.000000000000 -vt 0.410386979580 0.112677589059 0.000000000000 -vt 0.421489149332 0.498041182756 0.000000000000 -vt 0.426815658808 0.486486226320 0.000000000000 -vt 0.430106759071 0.489818543196 0.000000000000 -vt 0.434814959764 0.486344844103 0.000000000000 -vt 0.426011174917 0.493239969015 0.000000000000 -vt 0.405869930983 0.480812519789 0.000000000000 -vt 0.412047952414 0.112628281116 0.000000000000 -vt 0.406924337149 0.485618025064 0.000000000000 -vt 0.401090562344 0.475320100784 0.000000000000 -vt 0.396311402321 0.475648850203 0.000000000000 -vt 0.411765158176 0.482897728682 0.000000000000 -vt 0.409521043301 0.480445533991 0.000000000000 -vt 0.453219145536 0.496879428625 0.000000000000 -vt 0.411550819874 0.119953945279 0.000000000000 -vt 0.412490606308 0.116729035974 0.000000000000 -vt 0.413484215736 0.113597795367 0.000000000000 -vt 0.395627617836 0.118285313249 0.000000000000 -vt 0.396080166101 0.111090466380 0.000000000000 -vt 0.399283915758 0.105090305209 0.000000000000 -vt 0.404269516468 0.104768797755 0.000000000000 -vt 0.398505777121 0.120832040906 0.000000000000 -vt 0.413978666067 0.108735352755 0.000000000000 -vt 0.409310519695 0.124303475022 0.000000000000 -vt 0.420999675989 0.119554504752 0.000000000000 -vt 0.420234143734 0.121525302529 0.000000000000 -vt 0.419045567513 0.121159419417 0.000000000000 -vt 0.419289410114 0.118994310498 0.000000000000 -vt 0.421489626169 0.117538690567 0.000000000000 -vt 0.420303285122 0.117139488459 0.000000000000 -vt 0.426694989204 0.121457740664 0.000000000000 -vt 0.422340482473 0.125688865781 0.000000000000 -vt 0.420924037695 0.122998699546 0.000000000000 -vt 0.423304349184 0.120309680700 0.000000000000 -vt 0.418264955282 0.122074902058 0.000000000000 -vt 0.417998820543 0.118570342660 0.000000000000 -vt 0.420178323984 0.115989848971 0.000000000000 -vt 0.425800204277 0.115537062287 0.000000000000 -vt 0.423050165176 0.116810753942 0.000000000000 -vt 0.377677112818 0.108308449388 0.000000000000 -vt 0.380777746439 0.100671857595 0.000000000000 -vt 0.387641370296 0.097277656198 0.000000000000 -vt 0.368460386992 0.119178041816 0.000000000000 -vt 0.370848834515 0.112134292722 0.000000000000 -vt 0.361701697111 0.122205942869 0.000000000000 -vt 0.350305467844 0.135973051190 0.000000000000 -vt 0.358212679625 0.109973028302 0.000000000000 -vt 0.353615224361 0.114691153169 0.000000000000 -vt 0.374976605177 0.093655571342 0.000000000000 -vt 0.389860272408 0.064062759280 0.000000000000 -vt 0.392403393984 0.070562094450 0.000000000000 -vt 0.387591153383 0.070836335421 0.000000000000 -vt 0.386600703001 0.064674735069 0.000000000000 -vt 0.390128880739 0.057090383023 0.000000000000 -vt 0.385809719563 0.057704154402 0.000000000000 -vt 0.381569832563 0.070360124111 0.000000000000 -vt 0.378056943417 0.070291683078 0.000000000000 -vt 0.376780331135 0.065116941929 0.000000000000 -vt 0.571491539478 0.142689660192 0.000000000000 -vt 0.576072752476 0.124807611108 0.000000000000 -vt 0.575986921787 0.141870543361 0.000000000000 -vt 0.787393748760 0.876816630363 0.000000000000 -vt 0.764766037464 0.871043145657 0.000000000000 -vt 0.754721701145 0.886201500893 0.000000000000 -vt 0.742770016193 0.866340160370 0.000000000000 -vt 0.734950125217 0.879857540131 0.000000000000 -vt 0.639134943485 0.405957043171 0.000000000000 -vt 0.626996815205 0.399863898754 0.000000000000 -vt 0.634920418262 0.394428640604 0.000000000000 -vt 0.639219582081 0.397930711508 0.000000000000 -vt 0.634795248508 0.383935958147 0.000000000000 -vt 0.643223226070 0.392979323864 0.000000000000 -vt 0.621101796627 0.387013614178 0.000000000000 -vt 0.588396847248 0.330318629742 0.000000000000 -vt 0.604378163815 0.331369876862 0.000000000000 -vt 0.613536059856 0.349697083235 0.000000000000 -vt 0.593470990658 0.343456894159 0.000000000000 -vt 0.615174353123 0.332106143236 0.000000000000 -vt 0.627085506916 0.345775991678 0.000000000000 -vt 0.635642707348 0.359163492918 0.000000000000 -vt 0.624931395054 0.369269371033 0.000000000000 -vt 0.614598810673 0.373340398073 0.000000000000 -vt 0.608756959438 0.360698610544 0.000000000000 -vt 0.595678865910 0.357187539339 0.000000000000 -vt 0.436208903790 0.152205392718 0.000000000000 -vt 0.456390678883 0.160455301404 0.000000000000 -vt 0.470007836819 0.150451436639 0.000000000000 -vt 0.463308125734 0.141743332148 0.000000000000 -vt 0.426335632801 0.240489169955 0.000000000000 -vt 0.436077862978 0.227415770292 0.000000000000 -vt 0.568314850330 0.508301794529 0.000000000000 -vt 0.585736811161 0.522079706192 0.000000000000 -vt 0.563862621784 0.526518404484 0.000000000000 -vt 0.552698671818 0.519208967686 0.000000000000 -vt 0.611942946911 0.313467800617 0.000000000000 -vt 0.543040931225 0.535523951054 0.000000000000 -vt 0.869499862194 0.252641230822 0.000000000000 -vt 0.794922888279 0.858771979809 0.000000000000 -vt 0.771254837513 0.855260670185 0.000000000000 -vt 0.747811377048 0.852186858654 0.000000000000 -vt 0.797975599766 0.840329766273 0.000000000000 -vt 0.773927867413 0.839067518711 0.000000000000 -vt 0.750024020672 0.837795853615 0.000000000000 -vt 0.816554009914 0.862926125526 0.000000000000 -vt 0.819631397724 0.841430306435 0.000000000000 -vt 0.863419592381 0.971586704254 0.000000000000 -vt 0.886208474636 0.956715881824 0.000000000000 -vt 0.845495879650 0.192380949855 0.000000000000 -vt 0.921158373356 0.909126162529 0.000000000000 -vt 0.928987085819 0.927418887615 0.000000000000 -vt 0.914810121059 0.888543367386 0.000000000000 -vt 0.449255734682 0.250441461802 0.000000000000 -vt 0.429135203362 0.255882352591 0.000000000000 -vt 0.454719811678 0.222426101565 0.000000000000 -vt 0.463549941778 0.236386403441 0.000000000000 -vt 0.480748862028 0.132810741663 0.000000000000 -vt 0.460707813501 0.129074752331 0.000000000000 -vt 0.890980184078 0.866303682327 0.000000000000 -vt 0.906893670559 0.863792300224 0.000000000000 -vt 0.901800453663 0.838266909122 0.000000000000 -vt 0.885961711407 0.839472353458 0.000000000000 -vt 0.672634780407 0.403682291508 0.000000000000 -vt 0.870305716991 0.840758919716 0.000000000000 -vt 0.709015905857 0.913828730583 0.000000000000 -vt 0.702005445957 0.906553089619 0.000000000000 -vt 0.664313495159 0.411870300770 0.000000000000 -vt 0.651246488094 0.405295312405 0.000000000000 -vt 0.658828794956 0.392099201679 0.000000000000 -vt 0.648704469204 0.380986869335 0.000000000000 -vt 0.598465621471 0.371364206076 0.000000000000 -vt 0.649795591831 0.422901540995 0.000000000000 -vt 0.666176021099 0.425574362278 0.000000000000 -vt 0.478667050600 0.121633604169 0.000000000000 -vt 0.439155727625 0.188678041101 0.000000000000 -vt 0.419110178947 0.186491340399 0.000000000000 -vt 0.828646361828 0.222074419260 0.000000000000 -vt 0.825475156307 0.193224608898 0.000000000000 -vt 0.842488110065 0.165252909064 0.000000000000 -vt 0.821768820286 0.166762799025 0.000000000000 -vt 0.836636006832 0.816951870918 0.000000000000 -vt 0.852425515652 0.813404560089 0.000000000000 -vt 0.638719737530 0.461908787489 0.000000000000 -vt 0.645538747311 0.442247092724 0.000000000000 -vt 0.666097700596 0.445383280516 0.000000000000 -vt 0.662395417690 0.464661508799 0.000000000000 -vt 0.617127835751 0.458045125008 0.000000000000 -vt 0.627697288990 0.440409153700 0.000000000000 -vt 0.635399162769 0.421377927065 0.000000000000 -vt 0.609715163708 0.435786485672 0.000000000000 -vt 0.619829595089 0.417641699314 0.000000000000 -vt 0.590706527233 0.430238008499 0.000000000000 -vt 0.600633800030 0.414015561342 0.000000000000 -vt 0.605100929737 0.397916287184 0.000000000000 -vt 0.580789983273 0.413832962513 0.000000000000 -vt 0.585207521915 0.396601408720 0.000000000000 -vt 0.583855688572 0.381996691227 0.000000000000 -vt 0.602939188480 0.384962439537 0.000000000000 -vt 0.583396375179 0.371497720480 0.000000000000 -vt 0.567030251026 0.398448109627 0.000000000000 -vt 0.565822064877 0.380739450455 0.000000000000 -vt 0.565940558910 0.366790413857 0.000000000000 -vt 0.546947419643 0.397279322147 0.000000000000 -vt 0.547453343868 0.381623625755 0.000000000000 -vt 0.546291291714 0.366621524096 0.000000000000 -vt 0.529646694660 0.384682595730 0.000000000000 -vt 0.528711616993 0.373113870621 0.000000000000 -vt 0.526230156422 0.363655120134 0.000000000000 -vt 0.543110311031 0.353565901518 0.000000000000 -vt 0.560514271259 0.346006095409 0.000000000000 -vt 0.521848142147 0.354256451130 0.000000000000 -vt 0.537153065205 0.340497672558 0.000000000000 -vt 0.550614297390 0.329262435436 0.000000000000 -vt 0.573693096638 0.334259301424 0.000000000000 -vt 0.565188109875 0.321530610323 0.000000000000 -vt 0.481604665518 0.473584860563 0.000000000000 -vt 0.503952205181 0.484111279249 0.000000000000 -vt 0.523758590221 0.503893256187 0.000000000000 -vt 0.516087591648 0.344791620970 0.000000000000 -vt 0.508227407932 0.335609555244 0.000000000000 -vt 0.518797814846 0.319672405720 0.000000000000 -vt 0.510983765125 0.468507856131 0.000000000000 -vt 0.490077227354 0.435670107603 0.000000000000 -vt 0.502925693989 0.448421299458 0.000000000000 -vt 0.522674977779 0.457363337278 0.000000000000 -vt 0.530655562878 0.477804929018 0.000000000000 -vt 0.538420259953 0.463601946831 0.000000000000 -vt 0.515796720982 0.440703213215 0.000000000000 -vt 0.534934461117 0.448625057936 0.000000000000 -vt 0.549823939800 0.452839523554 0.000000000000 -vt 0.557107031345 0.466927945614 0.000000000000 -vt 0.568541586399 0.456593096256 0.000000000000 -vt 0.547232806683 0.441114574671 0.000000000000 -vt 0.561775863171 0.442336261272 0.000000000000 -vt 0.578855931759 0.444288581610 0.000000000000 -vt 0.586479246616 0.463815152645 0.000000000000 -vt 0.597201764584 0.451105147600 0.000000000000 -vt 0.571721136570 0.429578959942 0.000000000000 -vt 0.557132422924 0.430043905973 0.000000000000 -vt 0.564029395580 0.415538519621 0.000000000000 -vt 0.537347137928 0.424302697182 0.000000000000 -vt 0.544077932835 0.411527603865 0.000000000000 -vt 0.518473088741 0.418114066124 0.000000000000 -vt 0.524959385395 0.408595174551 0.000000000000 -vt 0.528635084629 0.397043138742 0.000000000000 -vt 0.509449779987 0.404620736837 0.000000000000 -vt 0.513173401356 0.395612955093 0.000000000000 -vt 0.514248788357 0.385702759027 0.000000000000 -vt 0.513777077198 0.377086073160 0.000000000000 -vt 0.512884557247 0.370190680027 0.000000000000 -vt 0.510034501553 0.363916963339 0.000000000000 -vt 0.505580484867 0.356326758862 0.000000000000 -vt 0.500341594219 0.348006844521 0.000000000000 -vt 0.481183856726 0.423593431711 0.000000000000 -vt 0.500625789165 0.430742353201 0.000000000000 -vt 0.490146607161 0.420840919018 0.000000000000 -vt 0.498169153929 0.417084664106 0.000000000000 -vt 0.510002553463 0.425448060036 0.000000000000 -vt 0.527178347111 0.433869749308 0.000000000000 -vt 0.503946959972 0.411769419909 0.000000000000 -vt 0.596737325191 0.484501451254 0.000000000000 -vt 0.576489269733 0.474731117487 0.000000000000 -vt 0.606985628605 0.472689867020 0.000000000000 -vt 0.584141671658 0.495642870665 0.000000000000 -vt 0.563076555729 0.485377997160 0.000000000000 -vt 0.546334922314 0.479332834482 0.000000000000 -vt 0.550337493420 0.497008413076 0.000000000000 -vt 0.537908732891 0.494894415140 0.000000000000 -vt 0.526974737644 0.490041226149 0.000000000000 -vt 0.537790954113 0.509640336037 0.000000000000 -vt 0.527427136898 0.525675892830 0.000000000000 -vt 0.605959832668 0.507260859013 0.000000000000 -vt 0.620633423328 0.493587821722 0.000000000000 -vt 0.631438195705 0.478594750166 0.000000000000 -vt 0.817847788334 0.142355754972 0.000000000000 -vt 0.814487040043 0.119411304593 0.000000000000 -vt 0.658278763294 0.481082051992 0.000000000000 -vt 0.811750113964 0.097056999803 0.000000000000 -vt 0.809368431568 0.075157731771 0.000000000000 -vt 0.807133018970 0.053564000875 0.000000000000 -vt 0.831686437130 0.254841685295 0.000000000000 -vt 0.856208741665 0.293983995914 0.000000000000 -vt 0.835455358028 0.290136784315 0.000000000000 -vt 0.873124063015 0.283648252487 0.000000000000 -vt 0.889739573002 0.279546380043 0.000000000000 -vt 0.909207642078 0.276814579964 0.000000000000 -vt 0.929072201252 0.276617109776 0.000000000000 -vt 0.884098351002 0.044427882880 0.000000000000 -vt 0.824312150478 0.028333339840 0.000000000000 -vt 0.804996788502 0.032941136509 0.000000000000 -vt 0.745384037495 0.153986141086 0.000000000000 -vt 0.727315604687 0.170344561338 0.000000000000 -vt 0.831523954868 0.792076110840 0.000000000000 -vt 0.846453726292 0.786361873150 0.000000000000 -vt 0.871971428394 0.766853511333 0.000000000000 -vt 0.860507428646 0.778107702732 0.000000000000 -vt 0.849813520908 0.750272214413 0.000000000000 -vt 0.864782273769 0.752571046352 0.000000000000 -vt 0.641757309437 0.369858145714 0.000000000000 -vt 0.871010005474 0.740061163902 0.000000000000 -vt 0.856036365032 0.728532135487 0.000000000000 -vt 0.833810746670 0.763259589672 0.000000000000 -vt 0.880542218685 0.781249523163 0.000000000000 -vt 0.870216548443 0.805862307549 0.000000000000 -vt 0.895947515965 0.765040814877 0.000000000000 -vt 0.886363804340 0.766362249851 0.000000000000 -vt 0.881665766239 0.753908455372 0.000000000000 -vt 0.896844565868 0.741948008537 0.000000000000 -vt 0.892329037189 0.786806523800 0.000000000000 -vt 0.730150520802 0.779693901539 0.000000000000 -vt 0.720385253429 0.768897235394 0.000000000000 -vt 0.732248246670 0.757981956005 0.000000000000 -vt 0.746850073338 0.773370444775 0.000000000000 -vt 0.746807038784 0.737674295902 0.000000000000 -vt 0.754076421261 0.750202596188 0.000000000000 -vt 0.729847013950 0.741506457329 0.000000000000 -vt 0.766269385815 0.766434729099 0.000000000000 -vt 0.732167899609 0.725132286549 0.000000000000 -vt 0.744101583958 0.727173089981 0.000000000000 -vt 0.726897180080 0.154936745763 0.000000000000 -vt 0.736608207226 0.138647675514 0.000000000000 -vt 0.757733404636 0.048427533358 0.000000000000 -vt 0.748305857182 0.039854753762 0.000000000000 -vt 0.762275159359 0.025697443634 0.000000000000 -vt 0.771673381329 0.029945448041 0.000000000000 -vt 0.737863123417 0.066377580166 0.000000000000 -vt 0.730143487453 0.052494283766 0.000000000000 -vt 0.754568159580 0.099855229259 0.000000000000 -vt 0.731352865696 0.116734221578 0.000000000000 -vt 0.725217759609 0.099748730659 0.000000000000 -vt 0.746904551983 0.081010863185 0.000000000000 -vt 0.718968212605 0.084019616246 0.000000000000 -vt 0.786774814129 0.105366572738 0.000000000000 -vt 0.761492788792 0.119630172849 0.000000000000 -vt 0.781676113605 0.084223598242 0.000000000000 -vt 0.775007426739 0.059413980693 0.000000000000 -vt 0.791212141514 0.126294299960 0.000000000000 -vt 0.767748415470 0.138232484460 0.000000000000 -vt 0.435300618410 0.206924617290 0.000000000000 -vt 0.415769994259 0.205245867372 0.000000000000 -vt 0.415477305651 0.223549634218 0.000000000000 -vt 0.415708750486 0.260153979063 0.000000000000 -vt 0.415216326714 0.241337999701 0.000000000000 -vt 0.431532442570 0.277840822935 0.000000000000 -vt 0.416861325502 0.282650142908 0.000000000000 -vt 0.437933146954 0.297910034657 0.000000000000 -vt 0.422700941563 0.304020076990 0.000000000000 -vt 0.710437953472 0.745294928551 0.000000000000 -vt 0.448528498411 0.274154812098 0.000000000000 -vt 0.453730016947 0.292313814163 0.000000000000 -vt 0.466458499432 0.272584140301 0.000000000000 -vt 0.470066845417 0.288187146187 0.000000000000 -vt 0.483627885580 0.271198511124 0.000000000000 -vt 0.486174434423 0.284226238728 0.000000000000 -vt 0.468398451805 0.256950020790 0.000000000000 -vt 0.484410136938 0.259565204382 0.000000000000 -vt 0.499547928572 0.260835975409 0.000000000000 -vt 0.488594621420 0.251296162605 0.000000000000 -vt 0.500861465931 0.255602240562 0.000000000000 -vt 0.476949125528 0.155961647630 0.000000000000 -vt 0.496368080378 0.154256105423 0.000000000000 -vt 0.493585199118 0.162589550018 0.000000000000 -vt 0.484565943480 0.159969419241 0.000000000000 -vt 0.504522025585 0.250607877970 0.000000000000 -vt 0.490841835737 0.170824587345 0.000000000000 -vt 0.479497641325 0.168406203389 0.000000000000 -vt 0.468820154667 0.165049582720 0.000000000000 -vt 0.487937420607 0.179314747453 0.000000000000 -vt 0.474618524313 0.178034290671 0.000000000000 -vt 0.461312592030 0.176021173596 0.000000000000 -vt 0.485546678305 0.188977956772 0.000000000000 -vt 0.470588952303 0.189741462469 0.000000000000 -vt 0.455546349287 0.189690113068 0.000000000000 -vt 0.484867841005 0.200385212898 0.000000000000 -vt 0.468716144562 0.203217670321 0.000000000000 -vt 0.452557861805 0.205941826105 0.000000000000 -vt 0.486695379019 0.212983325124 0.000000000000 -vt 0.470563501120 0.217475160956 0.000000000000 -vt 0.498891204596 0.197758778930 0.000000000000 -vt 0.500793755054 0.208588525653 0.000000000000 -vt 0.503768861294 0.215860128403 0.000000000000 -vt 0.490694373846 0.221827194095 0.000000000000 -vt 0.476610749960 0.228770300746 0.000000000000 -vt 0.508271515369 0.222307890654 0.000000000000 -vt 0.496900588274 0.229248985648 0.000000000000 -vt 0.485334604979 0.237566873431 0.000000000000 -vt 0.505223691463 0.237320348620 0.000000000000 -vt 0.495418399572 0.244713291526 0.000000000000 -vt 0.475383609533 0.245258644223 0.000000000000 -vt 0.514443337917 0.230237171054 0.000000000000 -vt 0.519902884960 0.237665936351 0.000000000000 -vt 0.511179625988 0.154767423868 0.000000000000 -vt 0.523703515530 0.224226221442 0.000000000000 -vt 0.534955561161 0.219976648688 0.000000000000 -vt 0.539630472660 0.226309135556 0.000000000000 -vt 0.522125780582 0.163012161851 0.000000000000 -vt 0.511400759220 0.162948891521 0.000000000000 -vt 0.502651274204 0.163395151496 0.000000000000 -vt 0.521724998951 0.170782491565 0.000000000000 -vt 0.510841667652 0.171353936195 0.000000000000 -vt 0.501311361790 0.171751782298 0.000000000000 -vt 0.521135985851 0.178479418159 0.000000000000 -vt 0.510029613972 0.179412469268 0.000000000000 -vt 0.499761670828 0.179692775011 0.000000000000 -vt 0.521464765072 0.184219524264 0.000000000000 -vt 0.509710252285 0.186720550060 0.000000000000 -vt 0.498645514250 0.187971740961 0.000000000000 -vt 0.522567331791 0.189815983176 0.000000000000 -vt 0.510646045208 0.194714680314 0.000000000000 -vt 0.552625119686 0.181308269501 0.000000000000 -vt 0.553095877171 0.186058148742 0.000000000000 -vt 0.535693705082 0.186998158693 0.000000000000 -vt 0.534666717052 0.182170838118 0.000000000000 -vt 0.553785145283 0.190441906452 0.000000000000 -vt 0.537737786770 0.193066775799 0.000000000000 -vt 0.524687230587 0.197172924876 0.000000000000 -vt 0.554820120335 0.194571927190 0.000000000000 -vt 0.540497124195 0.200262054801 0.000000000000 -vt 0.527609050274 0.205128788948 0.000000000000 -vt 0.556690990925 0.198639363050 0.000000000000 -vt 0.543533384800 0.206711396575 0.000000000000 -vt 0.531002581120 0.212646707892 0.000000000000 -vt 0.558761537075 0.202166423202 0.000000000000 -vt 0.546805322170 0.212670803070 0.000000000000 -vt 0.550771892071 0.218399211764 0.000000000000 -vt 0.561493337154 0.206085249782 0.000000000000 -vt 0.535221517086 0.163484767079 0.000000000000 -vt 0.552473127842 0.164653763175 0.000000000000 -vt 0.534547865391 0.169898986816 0.000000000000 -vt 0.552217543125 0.170028448105 0.000000000000 -vt 0.534365713596 0.176693260670 0.000000000000 -vt 0.552374064922 0.175845101476 0.000000000000 -vt 0.432602375746 0.133366212249 0.000000000000 -vt 0.579707443714 0.344648867846 0.000000000000 -vt 0.582962691784 0.359227657318 0.000000000000 -vt 0.699510276318 0.760418593884 0.000000000000 -vt 0.690002620220 0.760535240173 0.000000000000 -vt 0.573572456837 0.358697652817 0.000000000000 -vt 0.571034729481 0.348925471306 0.000000000000 -vt 0.795890152454 0.148126482964 0.000000000000 -vt 0.773672997952 0.158082619309 0.000000000000 -vt 0.761886537075 0.368884116411 0.000000000000 -vt 0.756864488125 0.374716073275 0.000000000000 -vt 0.752732694149 0.371530354023 0.000000000000 -vt 0.756020605564 0.368056684732 0.000000000000 -vt 0.745198905468 0.426691144705 0.000000000000 -vt 0.748513877392 0.424927502871 0.000000000000 -vt 0.751336514950 0.428736001253 0.000000000000 -vt 0.745641887188 0.430311173201 0.000000000000 -vt 0.718655884266 0.367600291967 0.000000000000 -vt 0.723707854748 0.362223118544 0.000000000000 -vt 0.731543242931 0.368654459715 0.000000000000 -vt 0.727982223034 0.373404115438 0.000000000000 -vt 0.723776161671 0.384299814701 0.000000000000 -vt 0.712015807629 0.382623314857 0.000000000000 -vt 0.714580357075 0.374560505152 0.000000000000 -vt 0.725447237492 0.378716200590 0.000000000000 -vt 0.743162930012 0.370530217886 0.000000000000 -vt 0.739214956760 0.374083191156 0.000000000000 -vt 0.736095726490 0.364764451981 0.000000000000 -vt 0.470379114151 0.072487622499 0.000000000000 -vt 0.476932018995 0.067091092467 0.000000000000 -vt 0.483967453241 0.075338751078 0.000000000000 -vt 0.477926939726 0.080794483423 0.000000000000 -vt 0.511079013348 0.066174268723 0.000000000000 -vt 0.508617579937 0.072203919291 0.000000000000 -vt 0.499857753515 0.062445472926 0.000000000000 -vt 0.504508316517 0.058762382716 0.000000000000 -vt 0.705864846706 0.371028959751 0.000000000000 -vt 0.701381266117 0.375573486090 0.000000000000 -vt 0.698225557804 0.370354384184 0.000000000000 -vt 0.697068870068 0.367405295372 0.000000000000 -vt 0.701902329922 0.391683101654 0.000000000000 -vt 0.691578447819 0.393901556730 0.000000000000 -vt 0.693959891796 0.392793804407 0.000000000000 -vt 0.699081957340 0.388415664434 0.000000000000 -vt 0.712482511997 0.363048106432 0.000000000000 -vt 0.706260859966 0.399656295776 0.000000000000 -vt 0.710350573063 0.390655279160 0.000000000000 -vt 0.709410727024 0.398413658142 0.000000000000 -vt 0.497506469488 0.086208790541 0.000000000000 -vt 0.499487847090 0.088523834944 0.000000000000 -vt 0.496975511312 0.090857118368 0.000000000000 -vt 0.494485110044 0.087826982141 0.000000000000 -vt 0.485454589128 0.095807611942 0.000000000000 -vt 0.487140089273 0.098796099424 0.000000000000 -vt 0.483731955290 0.100186884403 0.000000000000 -vt 0.481757134199 0.096767678857 0.000000000000 -vt 0.701098263264 0.382279485464 0.000000000000 -vt 0.704454600811 0.381990849972 0.000000000000 -vt 0.505547583103 0.089302882552 0.000000000000 -vt 0.507946908474 0.095191136003 0.000000000000 -vt 0.725627362728 0.354063272476 0.000000000000 -vt 0.730535089970 0.352071553469 0.000000000000 -vt 0.733845055103 0.356517255306 0.000000000000 -vt 0.729133427143 0.358981132507 0.000000000000 -vt 0.502358973026 0.098305702209 0.000000000000 -vt 0.499749034643 0.094421327114 0.000000000000 -vt 0.491939753294 0.100965470076 0.000000000000 -vt 0.499274820089 0.102383270860 0.000000000000 -vt 0.709335625172 0.404707193375 0.000000000000 -vt 0.707483947277 0.405635058880 0.000000000000 -vt 0.516392290592 0.069226473570 0.000000000000 -vt 0.518077909946 0.071355760098 0.000000000000 -vt 0.718284785748 0.355620443821 0.000000000000 -vt 0.516956746578 0.073715612292 0.000000000000 -vt 0.514483392239 0.070643588901 0.000000000000 -vt 0.668390452862 0.386624544859 0.000000000000 -vt 0.667060911655 0.380806088448 0.000000000000 -vt 0.671376407146 0.380861908197 0.000000000000 -vt 0.671312749386 0.384570688009 0.000000000000 -vt 0.669187486172 0.375094115734 0.000000000000 -vt 0.671998560429 0.377249538898 0.000000000000 -vt 0.691448748112 0.370133042336 0.000000000000 -vt 0.690848052502 0.375890284777 0.000000000000 -vt 0.686910808086 0.375525057316 0.000000000000 -vt 0.687306106091 0.369519740343 0.000000000000 -vt 0.686368644238 0.386486738920 0.000000000000 -vt 0.689943373203 0.386325776577 0.000000000000 -vt 0.688951313496 0.392648577690 0.000000000000 -vt 0.685665905476 0.393045514822 0.000000000000 -vt 0.690709650517 0.381118148565 0.000000000000 -vt 0.686853349209 0.380862385035 0.000000000000 -vt 0.480086654425 0.100869327784 0.000000000000 -vt 0.478839308023 0.098695233464 0.000000000000 -vt 0.678826630116 0.369220048189 0.000000000000 -vt 0.679812729359 0.375340670347 0.000000000000 -vt 0.675520837307 0.375914126635 0.000000000000 -vt 0.673433959484 0.370380729437 0.000000000000 -vt 0.674808919430 0.385995447636 0.000000000000 -vt 0.679343521595 0.386584460735 0.000000000000 -vt 0.678030192852 0.392984062433 0.000000000000 -vt 0.672598540783 0.391514003277 0.000000000000 -vt 0.680286943913 0.380828380585 0.000000000000 -vt 0.675836026669 0.380848854780 0.000000000000 -vt 0.515295088291 0.075423642993 0.000000000000 -vt 0.513281047344 0.073069870472 0.000000000000 -vt 0.693681657314 0.376642733812 0.000000000000 -vt 0.693711340427 0.371875762939 0.000000000000 -vt 0.696114480495 0.370918631554 0.000000000000 -vt 0.696933090687 0.376871287823 0.000000000000 -vt 0.691533505917 0.391513794661 0.000000000000 -vt 0.692914068699 0.386218369007 0.000000000000 -vt 0.695932805538 0.386784404516 0.000000000000 -vt 0.693213999271 0.392598807812 0.000000000000 -vt 0.693558990955 0.381606072187 0.000000000000 -vt 0.696726262569 0.381991982460 0.000000000000 -vt 0.512632310390 0.113346979022 0.000000000000 -vt 0.510703504086 0.110827267170 0.000000000000 -vt 0.515379965305 0.107007056475 0.000000000000 -vt 0.518175065517 0.110701844096 0.000000000000 -vt 0.505509078503 0.114236339927 0.000000000000 -vt 0.508307397366 0.117514595389 0.000000000000 -vt 0.518149077892 0.121353730559 0.000000000000 -vt 0.522928655148 0.117672875524 0.000000000000 -vt 0.525190651417 0.121514260769 0.000000000000 -vt 0.683571517467 0.375538796186 0.000000000000 -vt 0.683092653751 0.370623677969 0.000000000000 -vt 0.682278931141 0.392029613256 0.000000000000 -vt 0.683356225491 0.386358857155 0.000000000000 -vt 0.684057652950 0.380769610405 0.000000000000 -vt 0.519570291042 0.123483464122 0.000000000000 -vt 0.516307771206 0.128428325057 0.000000000000 -vt 0.513406455517 0.124672070146 0.000000000000 -vt 0.511565864086 0.103494629264 0.000000000000 -vt 0.507416427135 0.106189742684 0.000000000000 -vt 0.506013691425 0.103982776403 0.000000000000 -vt 0.509203732014 0.102665841579 0.000000000000 -vt 0.504296243191 0.108756288886 0.000000000000 -vt 0.503382742405 0.106384947896 0.000000000000 -vt 0.511651098728 0.106469616294 0.000000000000 -vt 0.509026229382 0.108525276184 0.000000000000 -vt 0.506196796894 0.110484585166 0.000000000000 -vt 0.518708407879 0.115314379334 0.000000000000 -vt 0.515459358692 0.117382884026 0.000000000000 -vt 0.514127433300 0.115409389138 0.000000000000 -vt 0.518203437328 0.112691774964 0.000000000000 -vt 0.512567102909 0.119688019156 0.000000000000 -vt 0.511780798435 0.117559626698 0.000000000000 -vt 0.519389688969 0.117316469550 0.000000000000 -vt 0.516777694225 0.119350507855 0.000000000000 -vt 0.514133274555 0.121143206954 0.000000000000 -vt 0.510631144047 0.099778667092 0.000000000000 -vt 0.504632174969 0.101817682385 0.000000000000 -vt 0.499871104956 0.106421664357 0.000000000000 -vt 0.500889837742 0.111934348941 0.000000000000 -vt 0.514839589596 0.101724907756 0.000000000000 -vt 0.509192049503 0.122385606170 0.000000000000 -vt 0.522657573223 0.113145455718 0.000000000000 -vt 0.522569835186 0.127797886729 0.000000000000 -vt 0.521396934986 0.126231938601 0.000000000000 -vt 0.735525667667 0.349380731583 0.000000000000 -vt 0.738029062748 0.353152751923 0.000000000000 -vt 0.709487140179 0.411515235901 0.000000000000 -vt 0.706850707531 0.412472575903 0.000000000000 -vt 0.713795721531 0.355628103018 0.000000000000 -vt 0.714886367321 0.349705845118 0.000000000000 -vt 0.715047299862 0.346170902252 0.000000000000 -vt 0.700704872608 0.366192162037 0.000000000000 -vt 0.705918371677 0.365258455276 0.000000000000 -vt 0.710480749607 0.361039042473 0.000000000000 -vt 0.523268878460 0.125216260552 0.000000000000 -vt 0.523997724056 0.126300171018 0.000000000000 -vt 0.687866628170 0.342219889164 0.000000000000 -vt 0.691187441349 0.337702393532 0.000000000000 -vt 0.693574011326 0.340425401926 0.000000000000 -vt 0.690801203251 0.342919677496 0.000000000000 -vt 0.696296155453 0.334926456213 0.000000000000 -vt 0.696642935276 0.338050007820 0.000000000000 -vt 0.711912453175 0.345587313175 0.000000000000 -vt 0.707153379917 0.348584800959 0.000000000000 -vt 0.704814493656 0.344684004784 0.000000000000 -vt 0.710185706615 0.341764390469 0.000000000000 -vt 0.695865690708 0.351892799139 0.000000000000 -vt 0.699073016644 0.355076700449 0.000000000000 -vt 0.695596873760 0.359068036079 0.000000000000 -vt 0.692301213741 0.356082707644 0.000000000000 -vt 0.702675044537 0.351823449135 0.000000000000 -vt 0.699874341488 0.348093301058 0.000000000000 -vt 0.520938813686 0.128895744681 0.000000000000 -vt 0.520082056522 0.127839773893 0.000000000000 -vt 0.705446422100 0.335541337729 0.000000000000 -vt 0.701623976231 0.340389162302 0.000000000000 -vt 0.699281990528 0.338887810707 0.000000000000 -vt 0.701398193836 0.333822280169 0.000000000000 -vt 0.691363513470 0.345513224602 0.000000000000 -vt 0.692718684673 0.347970575094 0.000000000000 -vt 0.688071906567 0.350903898478 0.000000000000 -vt 0.686495840549 0.347062766552 0.000000000000 -vt 0.697414934635 0.344720244408 0.000000000000 -vt 0.695644319057 0.342764317989 0.000000000000 -vt 0.526300132275 0.132303252816 0.000000000000 -vt 0.524093449116 0.129697531462 0.000000000000 -vt 0.709353864193 0.352346479893 0.000000000000 -vt 0.712929904461 0.348732739687 0.000000000000 -vt 0.714268267155 0.349192053080 0.000000000000 -vt 0.711979806423 0.354660391808 0.000000000000 -vt 0.699490010738 0.361016511917 0.000000000000 -vt 0.702696144581 0.358416646719 0.000000000000 -vt 0.704991638660 0.361978620291 0.000000000000 -vt 0.700050175190 0.364112406969 0.000000000000 -vt 0.705978453159 0.355808466673 0.000000000000 -vt 0.708694994450 0.358966708183 0.000000000000 -vt 0.525715887547 0.126499876380 0.000000000000 -vt 0.528771936893 0.126690357924 0.000000000000 -vt 0.523779094219 0.124067738652 0.000000000000 -vt 0.520451605320 0.124855801463 0.000000000000 -vt 0.518978536129 0.127953931689 0.000000000000 -vt 0.520814955235 0.130581036210 0.000000000000 -vt 0.520374357700 0.133407860994 0.000000000000 -vt 0.508442223072 0.077186152339 0.000000000000 -vt 0.510329902172 0.079375565052 0.000000000000 -vt 0.703039348125 0.342263132334 0.000000000000 -vt 0.707691013813 0.338801592588 0.000000000000 -vt 0.691107928753 0.352693885565 0.000000000000 -vt 0.694404184818 0.349684000015 0.000000000000 -vt 0.698663651943 0.346254229546 0.000000000000 -vt 0.508014619350 0.081564977765 0.000000000000 -vt 0.505533874035 0.078727111220 0.000000000000 -vt 0.494260638952 0.093220800161 0.000000000000 -vt 0.492302030325 0.090663939714 0.000000000000 -vt 0.505529224873 0.083532154560 0.000000000000 -vt 0.503514945507 0.081306725740 0.000000000000 -vt 0.510711610317 0.084656804800 0.000000000000 -vt 0.514165699482 0.088350698352 0.000000000000 -vt 0.511911690235 0.093188375235 0.000000000000 -vt 0.527652680874 0.098926231265 0.000000000000 -vt 0.525356113911 0.097472637892 0.000000000000 -vt 0.528094470501 0.091692224145 0.000000000000 -vt 0.531258046627 0.093997821212 0.000000000000 -vt 0.521796643734 0.102959886193 0.000000000000 -vt 0.525596559048 0.105276063085 0.000000000000 -vt 0.534857928753 0.104219183326 0.000000000000 -vt 0.537856757641 0.099045574665 0.000000000000 -vt 0.540888249874 0.101543441415 0.000000000000 -vt 0.536647617817 0.105644643307 0.000000000000 -vt 0.534925162792 0.111184135079 0.000000000000 -vt 0.531729161739 0.109336286783 0.000000000000 -vt 0.523591578007 0.091089487076 0.000000000000 -vt 0.730021059513 0.349459081888 0.000000000000 -vt 0.735328376293 0.349237293005 0.000000000000 -vt 0.715811312199 0.346691012383 0.000000000000 -vt 0.720742166042 0.350149869919 0.000000000000 -vt 0.725372970104 0.349892735481 0.000000000000 -vt 0.521666467190 0.094739928842 0.000000000000 -vt 0.520136296749 0.093459248543 0.000000000000 -vt 0.731795966625 0.325470387936 0.000000000000 -vt 0.736351430416 0.326853275299 0.000000000000 -vt 0.734878718853 0.329794704914 0.000000000000 -vt 0.732054173946 0.328241348267 0.000000000000 -vt 0.739810764790 0.330046653748 0.000000000000 -vt 0.737516939640 0.331477284431 0.000000000000 -vt 0.737019240856 0.345520436764 0.000000000000 -vt 0.732173502445 0.343047350645 0.000000000000 -vt 0.734046399593 0.340439140797 0.000000000000 -vt 0.738021910191 0.343094855547 0.000000000000 -vt 0.725114047527 0.336557924747 0.000000000000 -vt 0.723978340626 0.339484244585 0.000000000000 -vt 0.718742549419 0.338676393032 0.000000000000 -vt 0.720449268818 0.335456222296 0.000000000000 -vt 0.728333771229 0.341184616089 0.000000000000 -vt 0.729620277882 0.338552564383 0.000000000000 -vt 0.521848857403 0.090589866042 0.000000000000 -vt 0.519341766834 0.098529517651 0.000000000000 -vt 0.741242706776 0.337124168873 0.000000000000 -vt 0.736575305462 0.336675226688 0.000000000000 -vt 0.737431108952 0.333985060453 0.000000000000 -vt 0.741768896580 0.333650708199 0.000000000000 -vt 0.730156362057 0.329479277134 0.000000000000 -vt 0.728279173374 0.331620484591 0.000000000000 -vt 0.724462211132 0.328425318003 0.000000000000 -vt 0.727317392826 0.325960755348 0.000000000000 -vt 0.732129871845 0.334760516882 0.000000000000 -vt 0.733519494534 0.332428127527 0.000000000000 -vt 0.518350422382 0.096643164754 0.000000000000 -vt 0.524855554104 0.092653632164 0.000000000000 -vt 0.731151521206 0.345263779163 0.000000000000 -vt 0.735784590244 0.347043156624 0.000000000000 -vt 0.736424624920 0.348627597094 0.000000000000 -vt 0.730661809444 0.347184121609 0.000000000000 -vt 0.718040287495 0.341615349054 0.000000000000 -vt 0.723183095455 0.342720180750 0.000000000000 -vt 0.721934854984 0.345855712891 0.000000000000 -vt 0.715493619442 0.344276010990 0.000000000000 -vt 0.727172791958 0.344054907560 0.000000000000 -vt 0.726349413395 0.346510440111 0.000000000000 -vt 0.523354947567 0.096010923386 0.000000000000 -vt 0.521311223507 0.099254280329 0.000000000000 -vt 0.533330857754 0.097978785634 0.000000000000 -vt 0.531335532665 0.101454958320 0.000000000000 -vt 0.529585421085 0.100170671940 0.000000000000 -vt 0.531549036503 0.097181737423 0.000000000000 -vt 0.529571712017 0.105359822512 0.000000000000 -vt 0.528426826000 0.103743880987 0.000000000000 -vt 0.534639537334 0.099621966481 0.000000000000 -vt 0.735392153263 0.338480740786 0.000000000000 -vt 0.739044845104 0.340150952339 0.000000000000 -vt 0.723158061504 0.331868380308 0.000000000000 -vt 0.726885974407 0.334070175886 0.000000000000 -vt 0.730814039707 0.336822479963 0.000000000000 -vt 0.533084571362 0.102829977870 0.000000000000 -vt 0.531313717365 0.105897054076 0.000000000000 -vt 0.521283328533 0.087026789784 0.000000000000 -vt 0.517856895924 0.091663181782 0.000000000000 -vt 0.514960706234 0.097525775433 0.000000000000 -vt 0.517828285694 0.100980103016 0.000000000000 -vt 0.526034533978 0.087389066815 0.000000000000 -vt 0.527589142323 0.109247803688 0.000000000000 -vt 0.535756528378 0.095117062330 0.000000000000 -vt 0.539837419987 0.107863321900 0.000000000000 -vt 0.538558781147 0.107128873467 0.000000000000 -vt 0.539949953556 0.105316147208 0.000000000000 -vt 0.540825903416 0.105864629149 0.000000000000 -vt 0.538582384586 0.109620437026 0.000000000000 -vt 0.537616670132 0.109082773328 0.000000000000 -vt 0.544267117977 0.110548302531 0.000000000000 -vt 0.541652381420 0.108950823545 0.000000000000 -vt 0.542387545109 0.105380535126 0.000000000000 -vt 0.545064866543 0.104814276099 0.000000000000 -vt 0.540196716785 0.104028716683 0.000000000000 -vt 0.537597596645 0.106465324759 0.000000000000 -vt 0.536735951900 0.109748318791 0.000000000000 -vt 0.701508939266 0.396991372108 0.000000000000 -vt 0.695306599140 0.396085560322 0.000000000000 -vt 0.705828607082 0.412745684385 0.000000000000 -vt 0.705876052380 0.406576901674 0.000000000000 -vt 0.704530298710 0.401503235102 0.000000000000 -vt 0.538923561573 0.111143380404 0.000000000000 -vt 0.539531409740 0.113621219993 0.000000000000 -vt 0.688302695751 0.427976310253 0.000000000000 -vt 0.683832943439 0.424098700285 0.000000000000 -vt 0.687000572681 0.421046495438 0.000000000000 -vt 0.689052641392 0.424283087254 0.000000000000 -vt 0.681496918201 0.418339222670 0.000000000000 -vt 0.684903800488 0.417768895626 0.000000000000 -vt 0.690302073956 0.401867091656 0.000000000000 -vt 0.694480240345 0.405638903379 0.000000000000 -vt 0.692191779613 0.407944500446 0.000000000000 -vt 0.687600672245 0.404441058636 0.000000000000 -vt 0.699370443821 0.415826499462 0.000000000000 -vt 0.700973808765 0.413097828627 0.000000000000 -vt 0.704431712627 0.417759448290 0.000000000000 -vt 0.703326642513 0.420762330294 0.000000000000 -vt 0.697867929935 0.408945530653 0.000000000000 -vt 0.695929110050 0.411309421062 0.000000000000 -vt 0.517626106739 0.084983274341 0.000000000000 -vt 0.521136224270 0.070760220289 0.000000000000 -vt 0.683233559132 0.409444689751 0.000000000000 -vt 0.688319623470 0.412122905254 0.000000000000 -vt 0.686133563519 0.414829730988 0.000000000000 -vt 0.680900275707 0.412907809019 0.000000000000 -vt 0.692204892635 0.422975838184 0.000000000000 -vt 0.695665299892 0.420329362154 0.000000000000 -vt 0.698658287525 0.425916135311 0.000000000000 -vt 0.694272696972 0.428446441889 0.000000000000 -vt 0.692554771900 0.415226012468 0.000000000000 -vt 0.689908921719 0.417935758829 0.000000000000 -vt 0.523216187954 0.072577908635 0.000000000000 -vt 0.520890176296 0.077228039503 0.000000000000 -vt 0.697199761868 0.403361231089 0.000000000000 -vt 0.693439781666 0.400654852390 0.000000000000 -vt 0.693814694881 0.397902786732 0.000000000000 -vt 0.699269115925 0.401036739349 0.000000000000 -vt 0.704553306103 0.414974272251 0.000000000000 -vt 0.702452123165 0.410426139832 0.000000000000 -vt 0.703826010227 0.408506244421 0.000000000000 -vt 0.705401599407 0.414679765701 0.000000000000 -vt 0.700053751469 0.406474679708 0.000000000000 -vt 0.701919615269 0.404333680868 0.000000000000 -vt 0.519232571125 0.075901642442 0.000000000000 -vt 0.515266001225 0.080151677132 0.000000000000 -vt 0.519640505314 0.081991866231 0.000000000000 -vt 0.533958613873 0.080200076103 0.000000000000 -vt 0.531604349613 0.079964339733 0.000000000000 -vt 0.532588779926 0.075347989798 0.000000000000 -vt 0.535456359386 0.075775325298 0.000000000000 -vt 0.531062185764 0.084430292249 0.000000000000 -vt 0.534919083118 0.084616497159 0.000000000000 -vt 0.690639078617 0.410164058208 0.000000000000 -vt 0.686743676662 0.408009111881 0.000000000000 -vt 0.700886189938 0.422482520342 0.000000000000 -vt 0.697773873806 0.417764842510 0.000000000000 -vt 0.694584786892 0.413028031588 0.000000000000 -vt 0.543268382549 0.081021666527 0.000000000000 -vt 0.542410075665 0.076548516750 0.000000000000 -vt 0.545253694057 0.076710179448 0.000000000000 -vt 0.544744908810 0.081107899547 0.000000000000 -vt 0.545586764812 0.085359513760 0.000000000000 -vt 0.542715609074 0.085166096687 0.000000000000 -vt 0.528137505054 0.076546490192 0.000000000000 -vt 0.526995480061 0.079263880849 0.000000000000 -vt 0.524926722050 0.078719690442 0.000000000000 -vt 0.526245653629 0.076403737068 0.000000000000 -vt 0.526619493961 0.081934899092 0.000000000000 -vt 0.524678170681 0.081073686481 0.000000000000 -vt 0.529789626598 0.077268108726 0.000000000000 -vt 0.529239356518 0.079652726650 0.000000000000 -vt 0.528736531734 0.081992313266 0.000000000000 -vt 0.539014041424 0.077833026648 0.000000000000 -vt 0.539221823215 0.080529257655 0.000000000000 -vt 0.536268293858 0.080332249403 0.000000000000 -vt 0.536676228046 0.078035444021 0.000000000000 -vt 0.539300858974 0.083174824715 0.000000000000 -vt 0.536652386189 0.082537859678 0.000000000000 -vt 0.541114032269 0.078451976180 0.000000000000 -vt 0.541567981243 0.080870822072 0.000000000000 -vt 0.541349947453 0.083064511418 0.000000000000 -vt 0.525810420513 0.073440477252 0.000000000000 -vt 0.522990167141 0.078078895807 0.000000000000 -vt 0.522753298283 0.083092421293 0.000000000000 -vt 0.744985520840 0.358051896095 0.000000000000 -vt 0.740702569485 0.361511409283 0.000000000000 -vt 0.737015068531 0.377986699343 0.000000000000 -vt 0.527110517025 0.085661664605 0.000000000000 -vt 0.529920637608 0.072953239083 0.000000000000 -vt 0.539422690868 0.086372941732 0.000000000000 -vt 0.720288455486 0.404917716980 0.000000000000 -vt 0.725336492062 0.406646698713 0.000000000000 -vt 0.719956338406 0.413258612156 0.000000000000 -vt 0.717335283756 0.410958647728 0.000000000000 -vt 0.723915517330 0.398037433624 0.000000000000 -vt 0.731581389904 0.399601578712 0.000000000000 -vt 0.741063773632 0.398945480585 0.000000000000 -vt 0.741147696972 0.402583092451 0.000000000000 -vt 0.735348403454 0.405078500509 0.000000000000 -vt 0.724570930004 0.415234774351 0.000000000000 -vt 0.730074822903 0.409371733665 0.000000000000 -vt 0.755069792271 0.423953682184 0.000000000000 -vt 0.751188337803 0.423076480627 0.000000000000 -vt 0.732347548008 0.419561594725 0.000000000000 -vt 0.728611052036 0.417487025261 0.000000000000 -vt 0.734247624874 0.412292242050 0.000000000000 -vt 0.737663686275 0.415086418390 0.000000000000 -vt 0.739005625248 0.408245295286 0.000000000000 -vt 0.742154181004 0.411730021238 0.000000000000 -vt 0.728346526623 0.424829334021 0.000000000000 -vt 0.724365770817 0.423212945461 0.000000000000 -vt 0.539046466351 0.074854224920 0.000000000000 -vt 0.547604382038 0.081218689680 0.000000000000 -vt 0.744521200657 0.403573781252 0.000000000000 -vt 0.746637046337 0.406587243080 0.000000000000 -vt 0.546402513981 0.081313252449 0.000000000000 -vt 0.546436250210 0.079620987177 0.000000000000 -vt 0.547303736210 0.079606115818 0.000000000000 -vt 0.547511637211 0.082779005170 0.000000000000 -vt 0.546545684338 0.082813456655 0.000000000000 -vt 0.551446378231 0.080884099007 0.000000000000 -vt 0.719365775585 0.420285463333 0.000000000000 -vt 0.548926889896 0.081119611859 0.000000000000 -vt 0.547964394093 0.078651010990 0.000000000000 -vt 0.549326121807 0.076903134584 0.000000000000 -vt 0.546006023884 0.078606888652 0.000000000000 -vt 0.545527517796 0.081211924553 0.000000000000 -vt 0.740861833096 0.424791932106 0.000000000000 -vt 0.744636476040 0.421375900507 0.000000000000 -vt 0.748865187168 0.419236689806 0.000000000000 -vt 0.738058149815 0.430005639791 0.000000000000 -vt 0.546189963818 0.083545655012 0.000000000000 -vt 0.548156440258 0.083578765392 0.000000000000 -vt 0.549798786640 0.085083246231 0.000000000000 -vt 0.493128985167 0.107532128692 0.000000000000 -vt 0.487130194902 0.108177408576 0.000000000000 -vt 0.484787672758 0.104095578194 0.000000000000 -vt 0.754294574261 0.415865898132 0.000000000000 -vt 0.741011559963 0.418052166700 0.000000000000 -vt 0.736329138279 0.422021627426 0.000000000000 -vt 0.745218575001 0.415226459503 0.000000000000 -vt 0.732700407505 0.426749676466 0.000000000000 -vt 0.477795451880 0.104249805212 0.000000000000 -vt 0.480690747499 0.109506055713 0.000000000000 -vt 0.493065744638 0.123880639672 0.000000000000 -vt 0.492350906134 0.121099308133 0.000000000000 -vt 0.498245447874 0.118749126792 0.000000000000 -vt 0.499274820089 0.122994199395 0.000000000000 -vt 0.749212324619 0.411244809628 0.000000000000 -vt 0.486499279737 0.122255474329 0.000000000000 -vt 0.487754553556 0.125899389386 0.000000000000 -vt 0.495414823294 0.131725952029 0.000000000000 -vt 0.501138865948 0.129815727472 0.000000000000 -vt 0.501795589924 0.132985696197 0.000000000000 -vt 0.496015042067 0.133395478129 0.000000000000 -vt 0.491779893637 0.137110754848 0.000000000000 -vt 0.490246385336 0.133341893554 0.000000000000 -vt 0.493753403425 0.114416465163 0.000000000000 -vt 0.490512460470 0.116016864777 0.000000000000 -vt 0.716776549816 0.397952318192 0.000000000000 -vt 0.722395479679 0.390428304672 0.000000000000 -vt 0.748906552792 0.386245161295 0.000000000000 -vt 0.748211801052 0.394017070532 0.000000000000 -vt 0.743617475033 0.387832283974 0.000000000000 -vt 0.743471086025 0.384143799543 0.000000000000 -vt 0.735934555531 0.381866127253 0.000000000000 -vt 0.489763349295 0.113667383790 0.000000000000 -vt 0.714425027370 0.404076099396 0.000000000000 -vt 0.492669016123 0.112787023187 0.000000000000 -vt 0.487121194601 0.117388963699 0.000000000000 -vt 0.486971467733 0.115077972412 0.000000000000 -vt 0.494484215975 0.116980090737 0.000000000000 -vt 0.491517156363 0.118607267737 0.000000000000 -vt 0.488306194544 0.119425490499 0.000000000000 -vt 0.498060315847 0.127201452851 0.000000000000 -vt 0.713693201542 0.410189747810 0.000000000000 -vt 0.735486447811 0.385052949190 0.000000000000 -vt 0.746610701084 0.396617144346 0.000000000000 -vt 0.494058936834 0.127958431840 0.000000000000 -vt 0.493515819311 0.126024797559 0.000000000000 -vt 0.496876925230 0.125608488917 0.000000000000 -vt 0.490766674280 0.128856346011 0.000000000000 -vt 0.743014752865 0.389892905951 0.000000000000 -vt 0.735056340694 0.387602627277 0.000000000000 -vt 0.727178633213 0.392949610949 0.000000000000 -vt 0.733748018742 0.392339646816 0.000000000000 -vt 0.739848792553 0.392785251141 0.000000000000 -vt 0.747750461102 0.374964654446 0.000000000000 -vt 0.490720719099 0.127026960254 0.000000000000 -vt 0.750498473644 0.379568845034 0.000000000000 -vt 0.752317011356 0.363459676504 0.000000000000 -vt 0.747864067554 0.366984248161 0.000000000000 -vt 0.743768513203 0.380047321320 0.000000000000 -vt 0.743770778179 0.376911133528 0.000000000000 -vt 0.716933429241 0.416927278042 0.000000000000 -vt 0.497924119234 0.128914669156 0.000000000000 -vt 0.494692295790 0.129884406924 0.000000000000 -vt 0.491763919592 0.130519121885 0.000000000000 -vt 0.495831340551 0.110157430172 0.000000000000 -vt 0.489241451025 0.111455008388 0.000000000000 -vt 0.483312696218 0.114056900144 0.000000000000 -vt 0.482924073935 0.118979677558 0.000000000000 -vt 0.499466627836 0.113667383790 0.000000000000 -vt 0.487026840448 0.130218312144 0.000000000000 -vt 0.502736389637 0.126097753644 0.000000000000 -vt 0.497383981943 0.137650460005 0.000000000000 -vt 0.496828526258 0.135942205787 0.000000000000 -vt 0.498790949583 0.135475009680 0.000000000000 -vt 0.489594787359 0.354463160038 0.000000000000 -vt 0.493529766798 0.348664730787 0.000000000000 -vt 0.466066062450 0.416784971952 0.000000000000 -vt 0.492370694876 0.361383527517 0.000000000000 -vt 0.500243246555 0.364317297935 0.000000000000 -vt 0.494832962751 0.368273258209 0.000000000000 -vt 0.503132641315 0.370268374681 0.000000000000 -vt 0.497408539057 0.374473363161 0.000000000000 -vt 0.505711734295 0.374342322350 0.000000000000 -vt 0.501966536045 0.380494236946 0.000000000000 -vt 0.502037703991 0.387555330992 0.000000000000 -vt 0.500600278378 0.394303470850 0.000000000000 -vt 0.497024863958 0.400832056999 0.000000000000 -vt 0.490292042494 0.406675279140 0.000000000000 -vt 0.490373104811 0.412000209093 0.000000000000 -vt 0.478659600019 0.408653289080 0.000000000000 -vt 0.483080357313 0.413705527782 0.000000000000 -vt 0.483867734671 0.400707095861 0.000000000000 -vt 0.475096553564 0.403399050236 0.000000000000 -vt 0.490063995123 0.397259533405 0.000000000000 -vt 0.493380278349 0.393484354019 0.000000000000 -vt 0.495144337416 0.389038652182 0.000000000000 -vt 0.495407789946 0.384074211121 0.000000000000 -vt 0.493809431791 0.377649396658 0.000000000000 -vt 0.491057127714 0.371400237083 0.000000000000 -vt 0.488305300474 0.365160942078 0.000000000000 -vt 0.485417455435 0.358706206083 0.000000000000 -vt 0.499160021544 0.136612713337 0.000000000000 -vt 0.495681852102 0.138441428542 0.000000000000 -vt 0.495292752981 0.137186184525 0.000000000000 -vt 0.499904841185 0.142935067415 0.000000000000 -vt 0.512892186642 0.203441917896 0.000000000000 -vt 0.515536010265 0.210260972381 0.000000000000 -vt 0.519058048725 0.216575443745 0.000000000000 -vt 0.498339504004 0.139838293195 0.000000000000 -vt 0.500721871853 0.137117296457 0.000000000000 -vt 0.503684222698 0.138030976057 0.000000000000 -vt 0.499697417021 0.134602531791 0.000000000000 -vt 0.496406823397 0.134647563100 0.000000000000 -vt 0.494290322065 0.137108504772 0.000000000000 -vt 0.495159000158 0.139991164207 0.000000000000 -vt 0.493990033865 0.142434999347 0.000000000000 -vt 0.486728996038 0.090575456619 0.000000000000 -vt 0.478315383196 0.092991143465 0.000000000000 -vt 0.474077731371 0.098476827145 0.000000000000 -vt 0.498264402151 0.081063106656 0.000000000000 -vt 0.490895956755 0.083478346467 0.000000000000 -vt 0.501754701138 0.074368119240 0.000000000000 -vt 0.516297876835 0.064490333200 0.000000000000 -vt 0.489585071802 0.070763155818 0.000000000000 -vt 0.494673103094 0.066240236163 0.000000000000 -vt 0.470336109400 0.086715623736 0.000000000000 -vt 0.436086863279 0.092820927501 0.000000000000 -vt 0.438066899776 0.090013250709 0.000000000000 -vt 0.444520950317 0.092675030231 0.000000000000 -vt 0.441438585520 0.096161559224 0.000000000000 -vt 0.428543061018 0.092088505626 0.000000000000 -vt 0.430847972631 0.087048172951 0.000000000000 -vt 0.445708662271 0.087137565017 0.000000000000 -vt 0.440775513649 0.085114762187 0.000000000000 -vt 0.441083967686 0.081669896841 0.000000000000 -vt 0.445867836475 0.084105402231 0.000000000000 -vt 0.434993296862 0.082800179720 0.000000000000 -vt 0.435679793358 0.079566493630 0.000000000000 -vt 0.443775683641 0.089068949223 0.000000000000 -vt 0.439778298140 0.087716892362 0.000000000000 -vt 0.435482561588 0.085728764534 0.000000000000 -vt 0.449968576431 0.082234129310 0.000000000000 -vt 0.441662847996 0.076967298985 0.000000000000 -vt 0.431835711002 0.073218241334 0.000000000000 -vt 0.428974449635 0.081223636866 0.000000000000 -vt 0.450840383768 0.089633405209 0.000000000000 -vt 0.429250478745 0.110776379704 0.000000000000 -vt 0.428867727518 0.107335552573 0.000000000000 -vt 0.431848555803 0.108271300793 0.000000000000 -vt 0.431623846292 0.110644668341 0.000000000000 -vt 0.427443832159 0.110487952828 0.000000000000 -vt 0.426816552877 0.108107388020 0.000000000000 -vt 0.437157928944 0.099945515394 0.000000000000 -vt 0.433482289314 0.098722696304 0.000000000000 -vt 0.434810459614 0.095693901181 0.000000000000 -vt 0.437838792801 0.097269997001 0.000000000000 -vt 0.429327040911 0.097964599729 0.000000000000 -vt 0.431027412415 0.095057398081 0.000000000000 -vt 0.435632973909 0.102705463767 0.000000000000 -vt 0.431967437267 0.102064222097 0.000000000000 -vt 0.428185939789 0.101327285171 0.000000000000 -vt 0.424739956856 0.097438409925 0.000000000000 -vt 0.424326807261 0.104374542832 0.000000000000 -vt 0.430121839046 0.103951931000 0.000000000000 -vt 0.436985909939 0.106490775943 0.000000000000 -vt 0.440761536360 0.101641386747 0.000000000000 -vt 0.429635047913 0.115833595395 0.000000000000 -vt 0.429685264826 0.112943276763 0.000000000000 -vt 0.432830691338 0.111719325185 0.000000000000 -vt 0.435101598501 0.113605901599 0.000000000000 -vt 0.434298694134 0.107984006405 0.000000000000 -vt 0.429523140192 0.105171591043 0.000000000000 -vt 0.425729721785 0.106971934438 0.000000000000 -vt 0.426668196917 0.111298739910 0.000000000000 -vt 0.424650788307 0.112406730652 0.000000000000 -vt 0.509388387203 0.055841218680 0.000000000000 -vt 0.498403996229 0.043372806162 0.000000000000 -vt 0.502433478832 0.048159595579 0.000000000000 -vt 0.497449725866 0.051044743508 0.000000000000 -vt 0.492421835661 0.043788667768 0.000000000000 -vt 0.463615030050 0.077348947525 0.000000000000 -vt 0.455456525087 0.070783421397 0.000000000000 -vt 0.464122295380 0.066180795431 0.000000000000 -vt 0.462868630886 0.093436956406 0.000000000000 -vt 0.458721280098 0.092571005225 0.000000000000 -vt 0.459522604942 0.087591469288 0.000000000000 -vt 0.462670952082 0.086979731917 0.000000000000 -vt 0.471514105797 0.060662243515 0.000000000000 -vt 0.482812136412 0.062291014940 0.000000000000 -vt 0.467946112156 0.095136195421 0.000000000000 -vt 0.458524495363 0.080985873938 0.000000000000 -vt 0.452050387859 0.076159223914 0.000000000000 -vt 0.443986207247 0.071658372879 0.000000000000 -vt 0.445354491472 0.066013723612 0.000000000000 -vt 0.436717092991 0.065082713962 0.000000000000 -vt 0.437832713127 0.058958042413 0.000000000000 -vt 0.456312119961 0.084696203470 0.000000000000 -vt 0.455533295870 0.088533744216 0.000000000000 -vt 0.442759126425 0.026406910270 0.000000000000 -vt 0.439107567072 0.033566392958 0.000000000000 -vt 0.433614879847 0.033746067435 0.000000000000 -vt 0.436550229788 0.040571421385 0.000000000000 -vt 0.431009620428 0.041979093105 0.000000000000 -vt 0.436738461256 0.048520524055 0.000000000000 -vt 0.433239340782 0.050523724407 0.000000000000 -vt 0.439432889223 0.056393977255 0.000000000000 -vt 0.444673389196 0.062197577208 0.000000000000 -vt 0.452080547810 0.064230725169 0.000000000000 -vt 0.459633141756 0.061068650335 0.000000000000 -vt 0.466834276915 0.054884534329 0.000000000000 -vt 0.476173490286 0.048398043960 0.000000000000 -vt 0.478311985731 0.055618535727 0.000000000000 -vt 0.487611383200 0.048637155443 0.000000000000 -vt 0.492559403181 0.054551754147 0.000000000000 -vt 0.450314640999 0.028678275645 0.000000000000 -vt 0.445344805717 0.034261446446 0.000000000000 -vt 0.441385686398 0.039831560105 0.000000000000 -vt 0.440092831850 0.046508762985 0.000000000000 -vt 0.441298097372 0.053300123662 0.000000000000 -vt 0.444251447916 0.058152657002 0.000000000000 -vt 0.449525713921 0.059440102428 0.000000000000 -vt 0.455304324627 0.055676858872 0.000000000000 -vt 0.461506903172 0.049404706806 0.000000000000 -vt 0.469306051731 0.042024347931 0.000000000000 -vt 0.487811952829 0.058225836605 0.000000000000 -vt 0.483524292707 0.052073474973 0.000000000000 -vt 0.484311491251 0.046199399978 0.000000000000 -vt 0.481747001410 0.048475492746 0.000000000000 -vt 0.380680233240 0.065514564514 0.000000000000 -vt 0.376588284969 0.059708710760 0.000000000000 -vt 0.380253583193 0.059918548912 0.000000000000 -vt 0.384085476398 0.069081693888 0.000000000000 -vt 0.495234221220 0.099533021450 0.000000000000 -vt 0.383714437485 0.065352901816 0.000000000000 -vt 0.383114397526 0.061096791178 0.000000000000 -vt 0.374451309443 0.073164209723 0.000000000000 -vt 0.372015357018 0.063677519560 0.000000000000 -vt 0.374059766531 0.053939338773 0.000000000000 -vt 0.381692320108 0.054332684726 0.000000000000 -vt 0.383103370667 0.075196906924 0.000000000000 -vt 0.405146718025 0.062567278743 0.000000000000 -vt 0.405029207468 0.064906865358 0.000000000000 -vt 0.403085887432 0.065327689052 0.000000000000 -vt 0.402291089296 0.062788158655 0.000000000000 -vt 0.404567837715 0.060321133584 0.000000000000 -vt 0.402513980865 0.060236703604 0.000000000000 -vt 0.396065324545 0.068468824029 0.000000000000 -vt 0.393785178661 0.067805290222 0.000000000000 -vt 0.392409473658 0.063877239823 0.000000000000 -vt 0.394892245531 0.063695982099 0.000000000000 -vt 0.392374575138 0.059808004647 0.000000000000 -vt 0.394494861364 0.058848392218 0.000000000000 -vt 0.398127049208 0.067958623171 0.000000000000 -vt 0.397333174944 0.063290476799 0.000000000000 -vt 0.396797299385 0.058876764029 0.000000000000 -vt 0.394452542067 0.054397072643 0.000000000000 -vt 0.399751543999 0.055975642055 0.000000000000 -vt 0.399062365294 0.062898263335 0.000000000000 -vt 0.401548743248 0.070496574044 0.000000000000 -vt 0.397002875805 0.072747439146 0.000000000000 -vt 0.410708278418 0.061957109720 0.000000000000 -vt 0.408443450928 0.068036526442 0.000000000000 -vt 0.406104087830 0.065834060311 0.000000000000 -vt 0.407416969538 0.062223013490 0.000000000000 -vt 0.402603596449 0.067001029849 0.000000000000 -vt 0.400384694338 0.062776446342 0.000000000000 -vt 0.401618093252 0.058767784387 0.000000000000 -vt 0.407653838396 0.056897196919 0.000000000000 -vt 0.405660539865 0.059153925627 0.000000000000 -vt 0.342144489288 0.129252389073 0.000000000000 -vt 0.330034285784 0.118232384324 0.000000000000 -vt 0.331073820591 0.111910715699 0.000000000000 -vt 0.337948709726 0.117126211524 0.000000000000 -vt 0.334675848484 0.122342392802 0.000000000000 -vt 0.364498108625 0.084034025669 0.000000000000 -vt 0.353841513395 0.081475362182 0.000000000000 -vt 0.359023243189 0.072227567434 0.000000000000 -vt 0.383939355612 0.087411120534 0.000000000000 -vt 0.376194030046 0.086917132139 0.000000000000 -vt 0.378380954266 0.083674445748 0.000000000000 -vt 0.385140568018 0.082588523626 0.000000000000 -vt 0.348989427090 0.090118840337 0.000000000000 -vt 0.349848628044 0.102441802621 0.000000000000 -vt 0.384516656399 0.092244535685 0.000000000000 -vt 0.368901699781 0.080153703690 0.000000000000 -vt 0.366300255060 0.072573855519 0.000000000000 -vt 0.362025469542 0.061230536550 0.000000000000 -vt 0.366504251957 0.062840163708 0.000000000000 -vt 0.364860385656 0.049893748015 0.000000000000 -vt 0.368391275406 0.052941676229 0.000000000000 -vt 0.375058352947 0.079524159431 0.000000000000 -vt 0.381066381931 0.079621434212 0.000000000000 -vt 0.369406282902 0.023787003011 0.000000000000 -vt 0.363827377558 0.021882418543 0.000000000000 -vt 0.362167745829 0.013727746904 0.000000000000 -vt 0.369875043631 0.032330740243 0.000000000000 -vt 0.363867014647 0.030249182135 0.000000000000 -vt 0.367265045643 0.040660582483 0.000000000000 -vt 0.362684249878 0.039418853819 0.000000000000 -vt 0.360803991556 0.049217607826 0.000000000000 -vt 0.358212471008 0.058879461139 0.000000000000 -vt 0.354023665190 0.067041784525 0.000000000000 -vt 0.349367916584 0.074845895171 0.000000000000 -vt 0.344372838736 0.084569439292 0.000000000000 -vt 0.343579858541 0.097275629640 0.000000000000 -vt 0.337548166513 0.094781354070 0.000000000000 -vt 0.336168199778 0.107096001506 0.000000000000 -vt 0.341732889414 0.112160399556 0.000000000000 -vt 0.358703076839 0.019574124366 0.000000000000 -vt 0.356585264206 0.011583819985 0.000000000000 -vt 0.359179943800 0.028422724456 0.000000000000 -vt 0.358128011227 0.037861227989 0.000000000000 -vt 0.355775833130 0.047059264034 0.000000000000 -vt 0.352667778730 0.055755432695 0.000000000000 -vt 0.348802536726 0.062798514962 0.000000000000 -vt 0.344516932964 0.069515347481 0.000000000000 -vt 0.339693903923 0.078744009137 0.000000000000 -vt 0.334405004978 0.088547706604 0.000000000000 -vt 0.351488649845 0.008813511580 0.000000000000 -vt 0.353146910667 0.017157759517 0.000000000000 -vt 0.344804912806 0.016256015748 0.000000000000 -vt 0.343273401260 0.007860429585 0.000000000000 -vt 0.353605329990 0.026377867907 0.000000000000 -vt 0.345076918602 0.024861443788 0.000000000000 -vt 0.351858347654 0.035421445966 0.000000000000 -vt 0.343469291925 0.032606557012 0.000000000000 -vt 0.329398661852 0.083495229483 0.000000000000 -vt 0.321584880352 0.080222144723 0.000000000000 -vt 0.345637321472 0.107405588031 0.000000000000 -vt 0.339709669352 0.102807238698 0.000000000000 -vt 0.334294229746 0.103572994471 0.000000000000 -vt 0.336519658566 0.100833073258 0.000000000000 -vt 0.331020236015 0.072261109948 0.000000000000 -vt 0.336660385132 0.064951002598 0.000000000000 -vt 0.434932053089 0.026294331998 0.000000000000 -vt 0.340934514999 0.059087056667 0.000000000000 -vt 0.343839913607 0.051737319678 0.000000000000 -vt 0.346170932055 0.042951311916 0.000000000000 -vt 0.340638875961 0.037561997771 0.000000000000 -vt 0.323255330324 0.073237612844 0.000000000000 -vt 0.695959985256 0.741854548454 0.000000000000 -vt 0.714866340160 0.723106801510 0.000000000000 -vt 0.697431623936 0.719995796680 0.000000000000 -vt 0.483988851309 0.041881825775 0.000000000000 -vt 0.839606106281 0.716192245483 0.000000000000 -vt 0.824899375439 0.704895555973 0.000000000000 -vt 0.836511552334 0.689590156078 0.000000000000 -vt 0.848930418491 0.699052095413 0.000000000000 -vt 0.814055740833 0.694797575474 0.000000000000 -vt 0.477539271116 0.036895312369 0.000000000000 -vt 0.826638519764 0.681990265846 0.000000000000 -vt 0.829895794392 0.731659770012 0.000000000000 -vt 0.813143789768 0.716623902321 0.000000000000 -vt 0.801700055599 0.705101132393 0.000000000000 -vt 0.817305624485 0.743863582611 0.000000000000 -vt 0.801387965679 0.725039482117 0.000000000000 -vt 0.789851725101 0.712394773960 0.000000000000 -vt 0.788582026958 0.734670758247 0.000000000000 -vt 0.777517497540 0.721166849136 0.000000000000 -vt 0.803215801716 0.752814412117 0.000000000000 -vt 0.786242902279 0.759428799152 0.000000000000 -vt 0.773034870625 0.741466820240 0.000000000000 -vt 0.763387620449 0.729409098625 0.000000000000 -vt 0.819508969784 0.771108031273 0.000000000000 -vt 0.801594197750 0.778130888939 0.000000000000 -vt 0.780358016491 0.784393787384 0.000000000000 -vt 0.813161194324 0.798096477985 0.000000000000 -vt 0.791216671467 0.802965700626 0.000000000000 -vt 0.768060982227 0.806276857853 0.000000000000 -vt 0.758998692036 0.789613127708 0.000000000000 -vt 0.745742022991 0.808515787125 0.000000000000 -vt 0.739104449749 0.793780505657 0.000000000000 -vt 0.796912372112 0.821695029736 0.000000000000 -vt 0.772977530956 0.822699189186 0.000000000000 -vt 0.749330580235 0.823236882687 0.000000000000 -vt 0.818778097630 0.819741129875 0.000000000000 -vt 0.864375889301 0.710809707642 0.000000000000 -vt 0.880953133106 0.724374651909 0.000000000000 -vt 0.915635168552 0.748171925545 0.000000000000 -vt 0.908841907978 0.766230940819 0.000000000000 -vt 0.905186593533 0.787342846394 0.000000000000 -vt 0.887137472630 0.812209010124 0.000000000000 -vt 0.901950418949 0.812799155712 0.000000000000 -vt 0.716777384281 0.755539953709 0.000000000000 -vt 0.709918677807 0.762999296188 0.000000000000 -vt 0.751775801182 0.171791642904 0.000000000000 -vt 0.779532253742 0.179935947061 0.000000000000 -vt 0.757754266262 0.191265076399 0.000000000000 -vt 0.738353550434 0.202746644616 0.000000000000 -vt 0.733651459217 0.186159908772 0.000000000000 -vt 0.720768034458 0.212536171079 0.000000000000 -vt 0.718448698521 0.197526648641 0.000000000000 -vt 0.715862095356 0.185371875763 0.000000000000 -vt 0.749988734722 0.241413876414 0.000000000000 -vt 0.731017768383 0.248716101050 0.000000000000 -vt 0.725487768650 0.230310603976 0.000000000000 -vt 0.743789970875 0.221092060208 0.000000000000 -vt 0.774173557758 0.257214367390 0.000000000000 -vt 0.754297435284 0.261839717627 0.000000000000 -vt 0.769551694393 0.234550252557 0.000000000000 -vt 0.731539070606 0.269993722439 0.000000000000 -vt 0.763681709766 0.212278813124 0.000000000000 -vt 0.789024770260 0.228903159499 0.000000000000 -vt 0.784669578075 0.203588500619 0.000000000000 -vt 0.812417447567 0.255994260311 0.000000000000 -vt 0.793350636959 0.255872875452 0.000000000000 -vt 0.808808386326 0.224819734693 0.000000000000 -vt 0.805518686771 0.196942374110 0.000000000000 -vt 0.801068723202 0.171566486359 0.000000000000 -vt 0.816036999226 0.293190568686 0.000000000000 -vt 0.796044886112 0.283715814352 0.000000000000 -vt 0.777438461781 0.280535697937 0.000000000000 -vt 0.757886707783 0.282600164413 0.000000000000 -vt 0.739174664021 0.287719726563 0.000000000000 -vt 0.785341441631 0.033302962780 0.000000000000 -vt 0.582609474659 0.124908477068 0.000000000000 -vt 0.581306993961 0.142187565565 0.000000000000 -vt 0.545368969440 0.011624570936 0.000000000000 -vt 0.646641552448 0.018267553300 0.000000000000 -vt 0.606483757496 0.106701299548 0.000000000000 -vt 0.612616598606 0.108521446586 0.000000000000 -vt 0.618627488613 0.111129656434 0.000000000000 -vt 0.665071904659 0.014743648469 0.000000000000 -vt 0.370113700628 0.016160547733 0.000000000000 -vt 0.331191360950 0.103096559644 0.000000000000 -vt 0.330383718014 0.097089871764 0.000000000000 -vt 0.327046245337 0.092111021280 0.000000000000 -vt 0.319549947977 0.088000133634 0.000000000000 -vt 0.491939753294 0.100965470076 0.000000000000 -vt 0.696907937527 0.156802833080 0.000000000000 -vt 0.707364618778 0.164915174246 0.000000000000 -vt 0.711468279362 0.167301818728 0.000000000000 -vt 0.672648847103 0.136169388890 0.000000000000 -vt 0.654392778873 0.123681157827 0.000000000000 -vt 0.546281397343 0.277987629175 0.000000000000 -vt 0.555889427662 0.542913317680 0.000000000000 -vt 0.598048627377 0.315594613552 0.000000000000 -vt 0.474871605635 0.487518340349 0.000000000000 -vt 0.493717104197 0.499704867601 0.000000000000 -vt 0.510663211346 0.513657331467 0.000000000000 -vt 0.529695570469 0.328777670860 0.000000000000 -vt 0.478573888540 0.439885228872 0.000000000000 -vt 0.489638179541 0.458603054285 0.000000000000 -vt 0.472153753042 0.424974769354 0.000000000000 -vt 0.581608593464 0.316328614950 0.000000000000 -vt 0.469933092594 0.410422533751 0.000000000000 -vt 0.474573940039 0.415574103594 0.000000000000 -vt 0.496727436781 0.356613397598 0.000000000000 -vt 0.467020928860 0.405297100544 0.000000000000 -vt 0.680720627308 0.091846004128 0.000000000000 -vt 0.694580972195 0.090741172433 0.000000000000 -vt 0.547491371632 0.071579337120 0.000000000000 -vt 0.553497970104 0.078128427267 0.000000000000 -vt 0.645280063152 0.102942556143 0.000000000000 -vt 0.557917654514 0.084493562579 0.000000000000 -vt 0.562383949757 0.098196953535 0.000000000000 -vt 0.633653700352 0.118626862764 0.000000000000 -vt 0.562888324261 0.114720419049 0.000000000000 -vt 0.563672840595 0.128326103091 0.000000000000 -vt 0.567211091518 0.144699171185 0.000000000000 -vt 0.500136196613 0.268927842379 0.000000000000 -vt 0.502436935902 0.280043512583 0.000000000000 -vt 0.482790559530 0.140759631991 0.000000000000 -vt 0.485283464193 0.145932793617 0.000000000000 -vt 0.511669576168 0.244729980826 0.000000000000 -vt 0.489596575499 0.150636732578 0.000000000000 -vt 0.503686726093 0.155002936721 0.000000000000 -vt 0.528804123402 0.231279209256 0.000000000000 -vt 0.521844804287 0.155472621322 0.000000000000 -vt 0.536552846432 0.156950756907 0.000000000000 -vt 0.553597509861 0.159783437848 0.000000000000 -vt 0.307654768229 0.609554529190 0.000000000000 -vt 0.290467321873 0.613707244396 0.000000000000 -vt 0.204575508833 0.719810605049 0.000000000000 -vt 0.210707157850 0.703682720661 0.000000000000 -vt 0.284538298845 0.585472345352 0.000000000000 -vt 0.223060980439 0.709351420403 0.000000000000 -vt 0.213785484433 0.729282855988 0.000000000000 -vt 0.294191390276 0.583933651447 0.000000000000 -vt 0.193332836032 0.738901257515 0.000000000000 -vt 0.188829287887 0.728674709797 0.000000000000 -vt 0.197825804353 0.749223530293 0.000000000000 -vt 0.225497603416 0.740132212639 0.000000000000 -vt 0.172644689679 0.756999909878 0.000000000000 -vt 0.173354595900 0.748063921928 0.000000000000 -vt 0.153877779841 0.774228334427 0.000000000000 -vt 0.153797164559 0.760271430016 0.000000000000 -vt 0.173445329070 0.773155450821 0.000000000000 -vt 0.149432986975 0.820051431656 0.000000000000 -vt 0.173765048385 0.821435034275 0.000000000000 -vt 0.175114631653 0.829998791218 0.000000000000 -vt 0.154235765338 0.830059587955 0.000000000000 -vt 0.154094830155 0.792689681053 0.000000000000 -vt 0.177844420075 0.795601427555 0.000000000000 -vt 0.212241590023 0.836606919765 0.000000000000 -vt 0.307616710663 0.586260378361 0.000000000000 -vt 0.319666564465 0.604332268238 0.000000000000 -vt 0.206351310015 0.841337859631 0.000000000000 -vt 0.357945650816 0.653928995132 0.000000000000 -vt 0.205141782761 0.802912175655 0.000000000000 -vt 0.181257992983 0.838490307331 0.000000000000 -vt 0.150479733944 0.836383342743 0.000000000000 -vt 0.202541679144 0.774786055088 0.000000000000 -vt 0.230581372976 0.776787877083 0.000000000000 -vt 0.232835412025 0.808410942554 0.000000000000 -vt 0.153742238879 0.753254890442 0.000000000000 -vt 0.354879945517 0.670894861221 0.000000000000 -vt 0.156122118235 0.742229044437 0.000000000000 -vt 0.325383484364 0.664160490036 0.000000000000 -vt 0.172345682979 0.736270546913 0.000000000000 -vt 0.329998701811 0.649386703968 0.000000000000 -vt 0.344495564699 0.695504546165 0.000000000000 -vt 0.319999575615 0.685368955135 0.000000000000 -vt 0.340014070272 0.705360293388 0.000000000000 -vt 0.316662311554 0.697957396507 0.000000000000 -vt 0.335703253746 0.712217569351 0.000000000000 -vt 0.314472913742 0.703338801861 0.000000000000 -vt 0.298693358898 0.660711348057 0.000000000000 -vt 0.305291980505 0.643745899200 0.000000000000 -vt 0.335656195879 0.638233840466 0.000000000000 -vt 0.170275822282 0.731788814068 0.000000000000 -vt 0.154652982950 0.738835036755 0.000000000000 -vt 0.186667352915 0.724648237228 0.000000000000 -vt 0.232443422079 0.711409807205 0.000000000000 -vt 0.252836883068 0.745151817799 0.000000000000 -vt 0.251037418842 0.715631723404 0.000000000000 -vt 0.257062584162 0.778479039669 0.000000000000 -vt 0.286519646645 0.808762609959 0.000000000000 -vt 0.259915977716 0.810499906540 0.000000000000 -vt 0.282630771399 0.777449607849 0.000000000000 -vt 0.312265455723 0.804308831692 0.000000000000 -vt 0.315088212490 0.835467398167 0.000000000000 -vt 0.288638800383 0.843417167664 0.000000000000 -vt 0.337379038334 0.797992110252 0.000000000000 -vt 0.342023313046 0.826052308083 0.000000000000 -vt 0.314613372087 0.842931270599 0.000000000000 -vt 0.360430896282 0.641259968281 0.000000000000 -vt 0.314939886332 0.630025804043 0.000000000000 -vt 0.289557874203 0.850114881992 0.000000000000 -vt 0.294469684362 0.682716429234 0.000000000000 -vt 0.273877441883 0.659004628658 0.000000000000 -vt 0.280411213636 0.635718882084 0.000000000000 -vt 0.270008593798 0.684478938580 0.000000000000 -vt 0.359717398882 0.625162005424 0.000000000000 -vt 0.343318879604 0.624738991261 0.000000000000 -vt 0.344458639622 0.621523499489 0.000000000000 -vt 0.360369205475 0.621685206890 0.000000000000 -vt 0.360682636499 0.635098338127 0.000000000000 -vt 0.339501827955 0.634016931057 0.000000000000 -vt 0.340652346611 0.835465610027 0.000000000000 -vt 0.309305101633 0.776968240738 0.000000000000 -vt 0.334473401308 0.773887217045 0.000000000000 -vt 0.363107293844 0.791482627392 0.000000000000 -vt 0.368501096964 0.820234537125 0.000000000000 -vt 0.358934253454 0.769033312798 0.000000000000 -vt 0.275969982147 0.743224263191 0.000000000000 -vt 0.305437386036 0.756031274796 0.000000000000 -vt 0.260169744492 0.846379280090 0.000000000000 -vt 0.235436409712 0.844436645508 0.000000000000 -vt 0.262015789747 0.854236066341 0.000000000000 -vt 0.234238356352 0.851540505886 0.000000000000 -vt 0.263981163502 0.715166091919 0.000000000000 -vt 0.267965942621 0.713351130486 0.000000000000 -vt 0.281729459763 0.734891474247 0.000000000000 -vt 0.288172066212 0.722100436687 0.000000000000 -vt 0.277648299932 0.707795619965 0.000000000000 -vt 0.291222691536 0.716961920261 0.000000000000 -vt 0.308623343706 0.723172843456 0.000000000000 -vt 0.307381391525 0.728834807873 0.000000000000 -vt 0.281491696835 0.703531861305 0.000000000000 -vt 0.305040448904 0.743083953857 0.000000000000 -vt 0.201677769423 0.717027664185 0.000000000000 -vt 0.205799683928 0.700485944748 0.000000000000 -vt 0.367262303829 0.829703629017 0.000000000000 -vt 0.341758757830 0.839105904102 0.000000000000 -vt 0.368334710598 0.833229362965 0.000000000000 -vt 0.316586196423 0.847852051258 0.000000000000 -vt 0.290764272213 0.854788422585 0.000000000000 -vt 0.327047795057 0.738471865654 0.000000000000 -vt 0.326124876738 0.730000674725 0.000000000000 -vt 0.330911010504 0.754280507565 0.000000000000 -vt 0.355491876602 0.749867677689 0.000000000000 -vt 0.351486146450 0.739300012589 0.000000000000 -vt 0.326873511076 0.724973142147 0.000000000000 -vt 0.344539195299 0.722123146057 0.000000000000 -vt 0.344190418720 0.726383745670 0.000000000000 -vt 0.261989206076 0.857144653797 0.000000000000 -vt 0.233581811190 0.854094266891 0.000000000000 -vt 0.204417899251 0.849156141281 0.000000000000 -vt 0.326887309551 0.621081113815 0.000000000000 -vt 0.252677500248 0.583962917328 0.000000000000 -vt 0.265231251717 0.586087048054 0.000000000000 -vt 0.256276845932 0.613264143467 0.000000000000 -vt 0.236884176731 0.612185239792 0.000000000000 -vt 0.225397676229 0.592031359673 0.000000000000 -vt 0.240359246731 0.578182041645 0.000000000000 -vt 0.249482765794 0.581659138203 0.000000000000 -vt 0.230406701565 0.604802131653 0.000000000000 -vt 0.221547290683 0.586520910263 0.000000000000 -vt 0.237664133310 0.573132932186 0.000000000000 -vt 0.211196690798 0.601164758205 0.000000000000 -vt 0.209809958935 0.594907939434 0.000000000000 -vt 0.213919267058 0.613228797913 0.000000000000 -vt 0.215259835124 0.621791481972 0.000000000000 -vt 0.233155399561 0.635776519775 0.000000000000 -vt 0.212040349841 0.638687551022 0.000000000000 -vt 0.329966962337 0.616993844509 0.000000000000 -vt 0.252798855305 0.635614156723 0.000000000000 -vt 0.333201110363 0.612495720387 0.000000000000 -vt 0.324382007122 0.598686695099 0.000000000000 -vt 0.311093568802 0.581733644009 0.000000000000 -vt 0.250871539116 0.659518659115 0.000000000000 -vt 0.246007040143 0.695468783379 0.000000000000 -vt 0.267591327429 0.695985734463 0.000000000000 -vt 0.229620695114 0.658928096294 0.000000000000 -vt 0.224895358086 0.685685992241 0.000000000000 -vt 0.202963665128 0.683032333851 0.000000000000 -vt 0.206480368972 0.658463180065 0.000000000000 -vt 0.225187152624 0.694258570671 0.000000000000 -vt 0.267994135618 0.700619399548 0.000000000000 -vt 0.246059074998 0.698300302029 0.000000000000 -vt 0.202539697289 0.691807746887 0.000000000000 -vt 0.292167007923 0.695293128490 0.000000000000 -vt 0.291803628206 0.699824810028 0.000000000000 -vt 0.246173635125 0.686428308487 0.000000000000 -vt 0.225166440010 0.697112381458 0.000000000000 -vt 0.202534750104 0.694576680660 0.000000000000 -vt 0.179447337985 0.689694881439 0.000000000000 -vt 0.179994687438 0.681011319160 0.000000000000 -vt 0.156249374151 0.689290702343 0.000000000000 -vt 0.153237923980 0.680606484413 0.000000000000 -vt 0.181782424450 0.657110214233 0.000000000000 -vt 0.156527668238 0.653305292130 0.000000000000 -vt 0.186954230070 0.638771533966 0.000000000000 -vt 0.162625998259 0.633767902851 0.000000000000 -vt 0.191838979721 0.622671365738 0.000000000000 -vt 0.169981136918 0.618435740471 0.000000000000 -vt 0.179694786668 0.692102015018 0.000000000000 -vt 0.157019853592 0.692945420742 0.000000000000 -vt 0.174810484052 0.610164642334 0.000000000000 -vt 0.181283250451 0.599177777767 0.000000000000 -vt 0.196757718921 0.604870617390 0.000000000000 -vt 0.192525476217 0.616066217422 0.000000000000 -vt 0.183410972357 0.595816195011 0.000000000000 -vt 0.198278859258 0.601250529289 0.000000000000 -vt 0.244824290276 0.579442679882 0.000000000000 -vt 0.273151040077 0.710567533970 0.000000000000 -vt 0.285232663155 0.728684842587 0.000000000000 -vt 0.227200508118 0.598817527294 0.000000000000 -vt 0.212605252862 0.606770217419 0.000000000000 -vt 0.305614590645 0.736904382706 0.000000000000 -vt 0.328240215778 0.744696319103 0.000000000000 -vt 0.178053170443 0.604644119740 0.000000000000 -vt 0.348152697086 0.732621014118 0.000000000000 -vt 0.194131508470 0.610380828381 0.000000000000 -vt 0.313762992620 0.607308149338 0.000000000000 -vt 0.300771087408 0.584314823151 0.000000000000 -vt 0.216887891293 0.707050144672 0.000000000000 -vt 0.208923026919 0.724448800087 0.000000000000 -vt 0.190924808383 0.733412683010 0.000000000000 -vt 0.173134177923 0.741575896740 0.000000000000 -vt 0.154957845807 0.745678186417 0.000000000000 -vt 0.360251009464 0.628313779831 0.000000000000 -vt 0.342385172844 0.628576755524 0.000000000000 -vt 0.322390943766 0.625243067741 0.000000000000 -vt 0.255816608667 0.538961172104 0.000000000000 -vt 0.255609929562 0.531903445721 0.000000000000 -vt 0.276532471180 0.523902297020 0.000000000000 -vt 0.276766628027 0.530665338039 0.000000000000 -vt 0.258155763149 0.542869150639 0.000000000000 -vt 0.239253938198 0.549565970898 0.000000000000 -vt 0.237569808960 0.546314954758 0.000000000000 -vt 0.259632319212 0.557646989822 0.000000000000 -vt 0.278000265360 0.557606041431 0.000000000000 -vt 0.280406028032 0.561680853367 0.000000000000 -vt 0.259857028723 0.562739551067 0.000000000000 -vt 0.301217794418 0.558059513569 0.000000000000 -vt 0.301868736744 0.561496496201 0.000000000000 -vt 0.280528068542 0.552090644836 0.000000000000 -vt 0.277729153633 0.535347640514 0.000000000000 -vt 0.297178983688 0.528205513954 0.000000000000 -vt 0.301819860935 0.553178787231 0.000000000000 -vt 0.296229928732 0.518692255020 0.000000000000 -vt 0.297345817089 0.522403001785 0.000000000000 -vt 0.317796647549 0.513919591904 0.000000000000 -vt 0.319642692804 0.516018092632 0.000000000000 -vt 0.318866372108 0.522611498833 0.000000000000 -vt 0.323723644018 0.553826808929 0.000000000000 -vt 0.342375040054 0.518720626831 0.000000000000 -vt 0.345081865788 0.553842306137 0.000000000000 -vt 0.325454175472 0.558225631714 0.000000000000 -vt 0.324885904789 0.562544107437 0.000000000000 -vt 0.344201058149 0.558419764042 0.000000000000 -vt 0.346064895391 0.561874091625 0.000000000000 -vt 0.367183536291 0.508728206158 0.000000000000 -vt 0.365877866745 0.516082882881 0.000000000000 -vt 0.342823565006 0.511460900307 0.000000000000 -vt 0.365199923515 0.505763173103 0.000000000000 -vt 0.387129127979 0.502111792564 0.000000000000 -vt 0.389222174883 0.506725013256 0.000000000000 -vt 0.341677963734 0.508929491043 0.000000000000 -vt 0.382050991058 0.547588169575 0.000000000000 -vt 0.364945054054 0.550378084183 0.000000000000 -vt 0.388924062252 0.514224946499 0.000000000000 -vt 0.256348222494 0.552059113979 0.000000000000 -vt 0.239861428738 0.565382003784 0.000000000000 -vt 0.239956676960 0.562402725220 0.000000000000 -vt 0.220832422376 0.568670809269 0.000000000000 -vt 0.219239458442 0.567124247551 0.000000000000 -vt 0.203210204840 0.570883214474 0.000000000000 -vt 0.201898008585 0.568920969963 0.000000000000 -vt 0.182944670320 0.570823550224 0.000000000000 -vt 0.183698490262 0.567600429058 0.000000000000 -vt 0.203983396292 0.564405024052 0.000000000000 -vt 0.204041033983 0.557649910450 0.000000000000 -vt 0.220529600978 0.554902791977 0.000000000000 -vt 0.220537245274 0.562811851501 0.000000000000 -vt 0.183808818460 0.564445316792 0.000000000000 -vt 0.182822406292 0.557343244553 0.000000000000 -vt 0.156297102571 0.564277827740 0.000000000000 -vt 0.153392598033 0.552050530910 0.000000000000 -vt 0.137154191732 0.566353738308 0.000000000000 -vt 0.156789526343 0.566984176636 0.000000000000 -vt 0.156581923366 0.569497346878 0.000000000000 -vt 0.138306304812 0.569090723991 0.000000000000 -vt 0.154402419925 0.548665106297 0.000000000000 -vt 0.132301419973 0.547170519829 0.000000000000 -vt 0.131927892566 0.543763041496 0.000000000000 -vt 0.183378085494 0.554381549358 0.000000000000 -vt 0.155377343297 0.546469151974 0.000000000000 -vt 0.182058230042 0.549026727676 0.000000000000 -vt 0.203520476818 0.547020137310 0.000000000000 -vt 0.203194230795 0.553471744061 0.000000000000 -vt 0.219951391220 0.551127851009 0.000000000000 -vt 0.219577863812 0.544329047203 0.000000000000 -vt 0.236548244953 0.540101110935 0.000000000000 -vt 0.239640295506 0.557557404041 0.000000000000 -vt 0.364015817642 0.556429386139 0.000000000000 -vt 0.364667207003 0.559019565582 0.000000000000 -vt 0.385533690453 0.553289771080 0.000000000000 -vt 0.382902741432 0.557026267052 0.000000000000 -vt 0.154217123985 0.713813722134 0.000000000000 -vt 0.157158553600 0.710084676743 0.000000000000 -vt 0.139992043376 0.697338879108 0.000000000000 -vt 0.145032361150 0.694776415825 0.000000000000 -vt 0.129598200321 0.676885545254 0.000000000000 -vt 0.133522659540 0.676785171032 0.000000000000 -vt 0.121781267226 0.655710399151 0.000000000000 -vt 0.125936508179 0.658108294010 0.000000000000 -vt 0.117115393281 0.636653959751 0.000000000000 -vt 0.121172465384 0.637733101845 0.000000000000 -vt 0.116183921695 0.616349458694 0.000000000000 -vt 0.120485514402 0.618173420429 0.000000000000 -vt 0.084196135402 0.636717438698 0.000000000000 -vt 0.084505945444 0.617743194103 0.000000000000 -vt 0.089589498937 0.618903636932 0.000000000000 -vt 0.089312784374 0.636993050575 0.000000000000 -vt 0.080862037838 0.637916862965 0.000000000000 -vt 0.081022799015 0.618841469288 0.000000000000 -vt 0.085008040071 0.598570287228 0.000000000000 -vt 0.090116359293 0.599607348442 0.000000000000 -vt 0.081807009876 0.598996996880 0.000000000000 -vt 0.086025521159 0.666380286217 0.000000000000 -vt 0.083288080990 0.667724907398 0.000000000000 -vt 0.115721911192 0.657637059689 0.000000000000 -vt 0.091839924455 0.665398180485 0.000000000000 -vt 0.112071022391 0.636431932449 0.000000000000 -vt 0.116621181369 0.598775207996 0.000000000000 -vt 0.122074656188 0.598256886005 0.000000000000 -vt 0.117822155356 0.580991744995 0.000000000000 -vt 0.122807092965 0.579663336277 0.000000000000 -vt 0.118204921484 0.561226546764 0.000000000000 -vt 0.122930236161 0.561480045319 0.000000000000 -vt 0.086409181356 0.580696821213 0.000000000000 -vt 0.088303416967 0.563481450081 0.000000000000 -vt 0.092769816518 0.562017738819 0.000000000000 -vt 0.090972624719 0.580980956554 0.000000000000 -vt 0.112636163831 0.581119179726 0.000000000000 -vt 0.110782906413 0.597800493240 0.000000000000 -vt 0.092613331974 0.689584314823 0.000000000000 -vt 0.099071905017 0.688045859337 0.000000000000 -vt 0.108099728823 0.710213482380 0.000000000000 -vt 0.102641746402 0.710727512836 0.000000000000 -vt 0.099205419421 0.711480677128 0.000000000000 -vt 0.090210475028 0.691667914391 0.000000000000 -vt 0.112440273166 0.725039958954 0.000000000000 -vt 0.109685271978 0.733518600464 0.000000000000 -vt 0.120316430926 0.724148333073 0.000000000000 -vt 0.149469718337 0.716144502163 0.000000000000 -vt 0.083509407938 0.581079363823 0.000000000000 -vt 0.085539408028 0.563082933426 0.000000000000 -vt 0.091403126717 0.541651070118 0.000000000000 -vt 0.135661408305 0.562481999397 0.000000000000 -vt 0.112166255713 0.617554724216 0.000000000000 -vt 0.115233764052 0.561244547367 0.000000000000 -vt 0.124406136572 0.679192543030 0.000000000000 -vt 0.135345742106 0.699786543846 0.000000000000 -vt 0.124257989228 0.753876924515 0.000000000000 -vt 0.128552585840 0.751157760620 0.000000000000 -vt 0.165847733617 0.731854498386 0.000000000000 -vt 0.135802805424 0.748261570930 0.000000000000 -vt 0.166685536504 0.724866151810 0.000000000000 -vt 0.170482099056 0.722631275654 0.000000000000 -vt 0.118092343211 0.538387894630 0.000000000000 -vt 0.120958782732 0.537692189217 0.000000000000 -vt 0.098085269332 0.540873169899 0.000000000000 -vt 0.094365492463 0.541822671890 0.000000000000 -vt 0.132603570819 0.540962100029 0.000000000000 -vt 0.113834425807 0.538623392582 0.000000000000 -vt 0.319482028484 0.899047315121 0.000000000000 -vt 0.309817373753 0.903006970882 0.000000000000 -vt 0.303308844566 0.883904874325 0.000000000000 -vt 0.314649820328 0.880987823009 0.000000000000 -vt 0.328109025955 0.880558192730 0.000000000000 -vt 0.328658103943 0.897744834423 0.000000000000 -vt 0.341684728861 0.882348120213 0.000000000000 -vt 0.338721781969 0.899649322033 0.000000000000 -vt 0.355538994074 0.885123133659 0.000000000000 -vt 0.346919715405 0.902684092522 0.000000000000 -vt 0.264496624470 0.923883795738 0.000000000000 -vt 0.285223543644 0.930731534958 0.000000000000 -vt 0.267435461283 0.909074544907 0.000000000000 -vt 0.288075894117 0.921931266785 0.000000000000 -vt 0.274401426315 0.897557139397 0.000000000000 -vt 0.292297661304 0.914312303066 0.000000000000 -vt 0.287088751793 0.890229046345 0.000000000000 -vt 0.300147175789 0.908530831337 0.000000000000 -vt 0.310877472162 0.867308914661 0.000000000000 -vt 0.326778471470 0.865757822990 0.000000000000 -vt 0.343281567097 0.865718007088 0.000000000000 -vt 0.361255347729 0.866305887699 0.000000000000 -vt 0.245798677206 0.914549648762 0.000000000000 -vt 0.250797957182 0.897025287151 0.000000000000 -vt 0.263053983450 0.883340418339 0.000000000000 -vt 0.278658270836 0.875975549221 0.000000000000 -vt 0.297883272171 0.872081577778 0.000000000000 -vt 0.321375846863 0.908167660236 0.000000000000 -vt 0.313384771347 0.911024928093 0.000000000000 -vt 0.312286227942 0.907532513142 0.000000000000 -vt 0.320597171783 0.903883635998 0.000000000000 -vt 0.329484283924 0.906974732876 0.000000000000 -vt 0.329025387764 0.902560055256 0.000000000000 -vt 0.335602283478 0.907388985157 0.000000000000 -vt 0.336900919676 0.903732657433 0.000000000000 -vt 0.340975165367 0.909342050552 0.000000000000 -vt 0.344243913889 0.905984163284 0.000000000000 -vt 0.292275160551 0.931756854057 0.000000000000 -vt 0.288374781609 0.931339025497 0.000000000000 -vt 0.294533699751 0.926007986069 0.000000000000 -vt 0.291681826115 0.923927128315 0.000000000000 -vt 0.298611998558 0.919755756855 0.000000000000 -vt 0.295432448387 0.917401850224 0.000000000000 -vt 0.304809689522 0.915081322193 0.000000000000 -vt 0.302478045225 0.912388324738 0.000000000000 -vt 0.309649169445 0.859347939491 0.000000000000 -vt 0.325541138649 0.857225894928 0.000000000000 -vt 0.326330006123 0.861102938652 0.000000000000 -vt 0.309487581253 0.863262355328 0.000000000000 -vt 0.341508537531 0.857451260090 0.000000000000 -vt 0.343136012554 0.863369047642 0.000000000000 -vt 0.356366693974 0.855853736401 0.000000000000 -vt 0.360483229160 0.861095964909 0.000000000000 -vt 0.237906411290 0.910131931305 0.000000000000 -vt 0.242411300540 0.912403225899 0.000000000000 -vt 0.243345454335 0.892147541046 0.000000000000 -vt 0.247076600790 0.894490242004 0.000000000000 -vt 0.255101680756 0.878566741943 0.000000000000 -vt 0.258435934782 0.881105363369 0.000000000000 -vt 0.274271398783 0.868584036827 0.000000000000 -vt 0.276469051838 0.872065901756 0.000000000000 -vt 0.295189887285 0.862639725208 0.000000000000 -vt 0.297131747007 0.866627097130 0.000000000000 -vt 0.264509558678 0.939163446426 0.000000000000 -vt 0.284231007099 0.939391553402 0.000000000000 -vt 0.245086982846 0.933630704880 0.000000000000 -vt 0.292607039213 0.937922894955 0.000000000000 -vt 0.288247227669 0.939458549023 0.000000000000 -vt 0.234031543136 0.927958786488 0.000000000000 -vt 0.239948898554 0.931120336056 0.000000000000 -vt 0.303108215332 0.259901374578 0.000000000000 -vt 0.299691259861 0.272608458996 0.000000000000 -vt 0.227741092443 0.179622754455 0.000000000000 -vt 0.241408705711 0.177819043398 0.000000000000 -vt 0.288645803928 0.272444993258 0.000000000000 -vt 0.249047771096 0.186873659492 0.000000000000 -vt 0.294585645199 0.259171187878 0.000000000000 -vt 0.304501682520 0.254701167345 0.000000000000 -vt 0.313444852829 0.253634393215 0.000000000000 -vt 0.312482535839 0.259582310915 0.000000000000 -vt 0.296862632036 0.254683613777 0.000000000000 -vt 0.286406427622 0.256932258606 0.000000000000 -vt 0.289906680584 0.252584934235 0.000000000000 -vt 0.279214531183 0.252052009106 0.000000000000 -vt 0.283777058125 0.248220309615 0.000000000000 -vt 0.278458207846 0.270513832569 0.000000000000 -vt 0.212318181992 0.149050965905 0.000000000000 -vt 0.220562011003 0.146735697985 0.000000000000 -vt 0.222703933716 0.152291625738 0.000000000000 -vt 0.213263839483 0.154687494040 0.000000000000 -vt 0.203408792615 0.155836462975 0.000000000000 -vt 0.203189268708 0.150103569031 0.000000000000 -vt 0.193548575044 0.156050369143 0.000000000000 -vt 0.193696498871 0.150199025869 0.000000000000 -vt 0.183689251542 0.155369937420 0.000000000000 -vt 0.184210494161 0.149640426040 0.000000000000 -vt 0.193191483617 0.169719755650 0.000000000000 -vt 0.182228907943 0.169336318970 0.000000000000 -vt 0.268187999725 0.265260279179 0.000000000000 -vt 0.324253201485 0.252125859261 0.000000000000 -vt 0.231818437576 0.195312470198 0.000000000000 -vt 0.212309181690 0.181552782655 0.000000000000 -vt 0.213149681687 0.200687378645 0.000000000000 -vt 0.197734892368 0.182133242488 0.000000000000 -vt 0.196059510112 0.201420485973 0.000000000000 -vt 0.178108111024 0.197619631886 0.000000000000 -vt 0.184773385525 0.179257780313 0.000000000000 -vt 0.193671286106 0.220274075866 0.000000000000 -vt 0.204073458910 0.169701069593 0.000000000000 -vt 0.171984791756 0.217511638999 0.000000000000 -vt 0.196902945638 0.242536947131 0.000000000000 -vt 0.323984831572 0.258038192987 0.000000000000 -vt 0.310539454222 0.271224856377 0.000000000000 -vt 0.324096947908 0.268115252256 0.000000000000 -vt 0.339193135500 0.265587210655 0.000000000000 -vt 0.336792320013 0.254855424166 0.000000000000 -vt 0.340972989798 0.271843373775 0.000000000000 -vt 0.325516790152 0.274833887815 0.000000000000 -vt 0.313507229090 0.275261014700 0.000000000000 -vt 0.171768411994 0.240901872516 0.000000000000 -vt 0.215576186776 0.241010859609 0.000000000000 -vt 0.215113937855 0.219385609031 0.000000000000 -vt 0.179179176688 0.179597318172 0.000000000000 -vt 0.354237109423 0.261272788048 0.000000000000 -vt 0.356365293264 0.266201436520 0.000000000000 -vt 0.348684787750 0.251001656055 0.000000000000 -vt 0.335720360279 0.249260529876 0.000000000000 -vt 0.346057444811 0.245707139373 0.000000000000 -vt 0.367124110460 0.254228800535 0.000000000000 -vt 0.359250634909 0.246444091201 0.000000000000 -vt 0.355434030294 0.241601213813 0.000000000000 -vt 0.369936972857 0.258326172829 0.000000000000 -vt 0.169737070799 0.113030180335 0.000000000000 -vt 0.170575097203 0.120991900563 0.000000000000 -vt 0.297219276428 0.135332033038 0.000000000000 -vt 0.283211469650 0.234442397952 0.000000000000 -vt 0.292599529028 0.237945362926 0.000000000000 -vt 0.298478573561 0.140298739076 0.000000000000 -vt 0.290076673031 0.243708446622 0.000000000000 -vt 0.282434672117 0.239781066775 0.000000000000 -vt 0.305352568626 0.241858348250 0.000000000000 -vt 0.303028285503 0.248206838965 0.000000000000 -vt 0.324729174376 0.241821423173 0.000000000000 -vt 0.321562141180 0.249174103141 0.000000000000 -vt 0.347120851278 0.237402305007 0.000000000000 -vt 0.343635231256 0.232021078467 0.000000000000 -vt 0.357544183731 0.220489770174 0.000000000000 -vt 0.362244993448 0.226528212428 0.000000000000 -vt 0.363515973091 0.202669411898 0.000000000000 -vt 0.368934571743 0.200474381447 0.000000000000 -vt 0.344842731953 0.210690349340 0.000000000000 -vt 0.342417836189 0.185361966491 0.000000000000 -vt 0.364349514246 0.181216180325 0.000000000000 -vt 0.324543416500 0.218253985047 0.000000000000 -vt 0.321842014790 0.191119849682 0.000000000000 -vt 0.337232500315 0.165248394012 0.000000000000 -vt 0.356791496277 0.164284512401 0.000000000000 -vt 0.332506477833 0.147537469864 0.000000000000 -vt 0.347481101751 0.153085976839 0.000000000000 -vt 0.318637371063 0.169776722789 0.000000000000 -vt 0.312718063593 0.146633028984 0.000000000000 -vt 0.370308697224 0.181861028075 0.000000000000 -vt 0.360243141651 0.161985456944 0.000000000000 -vt 0.304652988911 0.221441268921 0.000000000000 -vt 0.303939700127 0.197721183300 0.000000000000 -vt 0.289470791817 0.148055776954 0.000000000000 -vt 0.285560518503 0.142270863056 0.000000000000 -vt 0.291176348925 0.221764370799 0.000000000000 -vt 0.288291871548 0.203909799457 0.000000000000 -vt 0.276085317135 0.156505629420 0.000000000000 -vt 0.272780030966 0.150750204921 0.000000000000 -vt 0.258125126362 0.158074513078 0.000000000000 -vt 0.260224252939 0.163233041763 0.000000000000 -vt 0.243465483189 0.162214890122 0.000000000000 -vt 0.243714034557 0.151190385222 0.000000000000 -vt 0.254636585712 0.146920993924 0.000000000000 -vt 0.229478836060 0.163604542613 0.000000000000 -vt 0.233701616526 0.153107583523 0.000000000000 -vt 0.167218700051 0.121271774173 0.000000000000 -vt 0.166369423270 0.112692907453 0.000000000000 -vt 0.243073940277 0.145069316030 0.000000000000 -vt 0.252761274576 0.141263067722 0.000000000000 -vt 0.263089358807 0.136896863580 0.000000000000 -vt 0.266313344240 0.141587063670 0.000000000000 -vt 0.277861565351 0.135119035840 0.000000000000 -vt 0.273413181305 0.131129965186 0.000000000000 -vt 0.282169669867 0.124930545688 0.000000000000 -vt 0.287077844143 0.128512978554 0.000000000000 -vt 0.289280533791 0.119594141841 0.000000000000 -vt 0.293950706720 0.122467115521 0.000000000000 -vt 0.168387711048 0.136361449957 0.000000000000 -vt 0.172123029828 0.133879333735 0.000000000000 -vt 0.159614548087 0.137594163418 0.000000000000 -vt 0.170139640570 0.142349898815 0.000000000000 -vt 0.159916698933 0.145990878344 0.000000000000 -vt 0.175263956189 0.137986391783 0.000000000000 -vt 0.158946737647 0.121140733361 0.000000000000 -vt 0.158538520336 0.111063912511 0.000000000000 -vt 0.150848120451 0.113286182284 0.000000000000 -vt 0.147537663579 0.113875642419 0.000000000000 -vt 0.150810301304 0.122010722756 0.000000000000 -vt 0.150818631053 0.137049511075 0.000000000000 -vt 0.146893724799 0.134909197688 0.000000000000 -vt 0.234794318676 0.147171825171 0.000000000000 -vt 0.280413031578 0.223018944263 0.000000000000 -vt 0.244322419167 0.167136326432 0.000000000000 -vt 0.215430051088 0.169227793813 0.000000000000 -vt 0.276956439018 0.210102006793 0.000000000000 -vt 0.230842590332 0.168110579252 0.000000000000 -vt 0.304748684168 0.128483712673 0.000000000000 -vt 0.319317579269 0.112706646323 0.000000000000 -vt 0.304126799107 0.108920201659 0.000000000000 -vt 0.306201845407 0.100410684943 0.000000000000 -vt 0.324304103851 0.102940306067 0.000000000000 -vt 0.298506706953 0.108017548919 0.000000000000 -vt 0.227834999561 0.168783783913 0.000000000000 -vt 0.173827692866 0.153802856803 0.000000000000 -vt 0.164431959391 0.150985270739 0.000000000000 -vt 0.166879624128 0.145447134972 0.000000000000 -vt 0.175091713667 0.148140892386 0.000000000000 -vt 0.170737877488 0.168616726995 0.000000000000 -vt 0.158358171582 0.168257147074 0.000000000000 -vt 0.171079888940 0.173917546868 0.000000000000 -vt 0.298551976681 0.176225617528 0.000000000000 -vt 0.284409761429 0.187349408865 0.000000000000 -vt 0.278388887644 0.172707334161 0.000000000000 -vt 0.265587240458 0.188653051853 0.000000000000 -vt 0.263487190008 0.183533251286 0.000000000000 -vt 0.172304287553 0.195576354861 0.000000000000 -vt 0.166341051459 0.215843468904 0.000000000000 -vt 0.246410295367 0.175310358405 0.000000000000 -vt 0.253420293331 0.181435257196 0.000000000000 -vt 0.258993119001 0.199986010790 0.000000000000 -vt 0.238587737083 0.209960162640 0.000000000000 -vt 0.263290882111 0.194039210677 0.000000000000 -vt 0.244794785976 0.230162426829 0.000000000000 -vt 0.267062664032 0.219509899616 0.000000000000 -vt 0.265724569559 0.241132006049 0.000000000000 -vt 0.247063919902 0.252580881119 0.000000000000 -vt 0.260249704123 0.258537381887 0.000000000000 -vt 0.247949019074 0.272692441940 0.000000000000 -vt 0.271840006113 0.241458699107 0.000000000000 -vt 0.267441391945 0.259758830070 0.000000000000 -vt 0.274886131287 0.221160054207 0.000000000000 -vt 0.248786136508 0.278353273869 0.000000000000 -vt 0.233543574810 0.288995474577 0.000000000000 -vt 0.228813290596 0.284420073032 0.000000000000 -vt 0.222581654787 0.263455659151 0.000000000000 -vt 0.201069429517 0.264848470688 0.000000000000 -vt 0.147332772613 0.121980324388 0.000000000000 -vt 0.149485930800 0.143096730113 0.000000000000 -vt 0.144085362554 0.139203354716 0.000000000000 -vt 0.274613022804 0.168164387345 0.000000000000 -vt 0.272586405277 0.198066562414 0.000000000000 -vt 0.292887955904 0.156603798270 0.000000000000 -vt 0.289811223745 0.151691362262 0.000000000000 -vt 0.308121502399 0.141383305192 0.000000000000 -vt 0.331666439772 0.141558468342 0.000000000000 -vt 0.346801817417 0.147019162774 0.000000000000 -vt 0.208444163203 0.284849673510 0.000000000000 -vt 0.207779288292 0.289209812880 0.000000000000 -vt 0.329524755478 0.248061582446 0.000000000000 -vt 0.180802538991 0.263033509254 0.000000000000 -vt 0.364997059107 0.218376457691 0.000000000000 -vt 0.185599476099 0.280001878738 0.000000000000 -vt 0.174449339509 0.263261795044 0.000000000000 -vt 0.192701548338 0.278811007738 0.000000000000 -vt 0.367429643869 0.175568386912 0.000000000000 -vt 0.166094049811 0.244550302625 0.000000000000 -vt 0.159377232194 0.173221364617 0.000000000000 -vt 0.182153701782 0.175170764327 0.000000000000 -vt 0.193075969815 0.175665423274 0.000000000000 -vt 0.313833713531 0.139958515763 0.000000000000 -vt 0.352484732866 0.149898454547 0.000000000000 -vt 0.203923046589 0.175497695804 0.000000000000 -vt 0.214893281460 0.174428433180 0.000000000000 -vt 0.226242244244 0.173432335258 0.000000000000 -vt 0.378087341785 0.245563969016 0.000000000000 -vt 0.380262136459 0.249743267894 0.000000000000 -vt 0.367841005325 0.240881398320 0.000000000000 -vt 0.362897038460 0.237351402640 0.000000000000 -vt 0.300132334232 0.100594177842 0.000000000000 -vt 0.299615830183 0.116130575538 0.000000000000 -vt 0.294845253229 0.114346668124 0.000000000000 -vt 0.312476694584 0.120818093419 0.000000000000 -vt 0.262099564075 0.265859633684 0.000000000000 -vt 0.271560132504 0.212059065700 0.000000000000 -vt 0.224148511887 0.289957106113 0.000000000000 -vt 0.191555723548 0.285657763481 0.000000000000 -vt 0.165448531508 0.236725702882 0.000000000000 -vt 0.048055123538 0.175203412771 0.000000000000 -vt 0.048704918474 0.175287619233 0.000000000000 -vt 0.049519758672 0.175945073366 0.000000000000 -vt 0.048962052912 0.176530927420 0.000000000000 -vt 0.048142258078 0.174550458789 0.000000000000 -vt 0.048840459436 0.174907326698 0.000000000000 -vt 0.048184361309 0.177168339491 0.000000000000 -vt 0.047785613686 0.175479233265 0.000000000000 -vt 0.050077687949 0.175508722663 0.000000000000 -vt 0.049611847848 0.173526674509 0.000000000000 -vt 0.050155591220 0.174321472645 0.000000000000 -vt 0.050484325737 0.174935474992 0.000000000000 -vt 0.049262631685 0.178634554148 0.000000000000 -vt 0.050630893558 0.177782341838 0.000000000000 -vt 0.053486991674 0.179326459765 0.000000000000 -vt 0.051250975579 0.172665014863 0.000000000000 -vt 0.052335549146 0.174432024360 0.000000000000 -vt 0.052290286869 0.172393932939 0.000000000000 -vt 0.060022119433 0.196368679404 0.000000000000 -vt 0.059825789183 0.195150136948 0.000000000000 -vt 0.062848724425 0.193425223231 0.000000000000 -vt 0.063640370965 0.194470614195 0.000000000000 -vt 0.057444769889 0.198157310486 0.000000000000 -vt 0.061123806983 0.204831123352 0.000000000000 -vt 0.054434444755 0.202152684331 0.000000000000 -vt 0.052125032991 0.196384206414 0.000000000000 -vt 0.065405808389 0.200892046094 0.000000000000 -vt 0.053650680929 0.194501906633 0.000000000000 -vt 0.071322210133 0.182865217328 0.000000000000 -vt 0.069051973522 0.180266022682 0.000000000000 -vt 0.072467572987 0.177512601018 0.000000000000 -vt 0.073771677911 0.182455211878 0.000000000000 -vt 0.046373885125 0.201640009880 0.000000000000 -vt 0.047620352358 0.205844104290 0.000000000000 -vt 0.044672172517 0.207344532013 0.000000000000 -vt 0.043322812766 0.201532378793 0.000000000000 -vt 0.048094075173 0.197172701359 0.000000000000 -vt 0.050799090415 0.203515991569 0.000000000000 -vt 0.043212261051 0.193465515971 0.000000000000 -vt 0.038478370756 0.209311038256 0.000000000000 -vt 0.037481162697 0.210909873247 0.000000000000 -vt 0.035782586783 0.208673626184 0.000000000000 -vt 0.036327917129 0.206941053271 0.000000000000 -vt 0.038885008544 0.211182534695 0.000000000000 -vt 0.037817772478 0.205236405134 0.000000000000 -vt 0.037915710360 0.216193586588 0.000000000000 -vt 0.036525826901 0.213128775358 0.000000000000 -vt 0.033292595297 0.211684182286 0.000000000000 -vt 0.032988864928 0.209396824241 0.000000000000 -vt 0.044357400388 0.213697507977 0.000000000000 -vt 0.040415156633 0.211841553450 0.000000000000 -vt 0.041487347335 0.208158016205 0.000000000000 -vt 0.042062167078 0.222331538796 0.000000000000 -vt 0.039700064808 0.219182297587 0.000000000000 -vt 0.046859998256 0.219299152493 0.000000000000 -vt 0.039277669042 0.216008275747 0.000000000000 -vt 0.090955741704 0.182833924890 0.000000000000 -vt 0.095942027867 0.185236781836 0.000000000000 -vt 0.091125510633 0.186936691403 0.000000000000 -vt 0.090062774718 0.185735270381 0.000000000000 -vt 0.091737933457 0.190855517983 0.000000000000 -vt 0.087909393013 0.188273668289 0.000000000000 -vt 0.096602633595 0.188918739557 0.000000000000 -vt 0.094589523971 0.190106213093 0.000000000000 -vt 0.088805288076 0.195824697614 0.000000000000 -vt 0.085034608841 0.192018002272 0.000000000000 -vt 0.037808310241 0.218160092831 0.000000000000 -vt 0.101674705744 0.180272325873 0.000000000000 -vt 0.108147457242 0.181930154562 0.000000000000 -vt 0.084888033569 0.212164208293 0.000000000000 -vt 0.086827971041 0.209401324391 0.000000000000 -vt 0.092867530882 0.213331192732 0.000000000000 -vt 0.090507008135 0.217772141099 0.000000000000 -vt 0.078402668238 0.211174651980 0.000000000000 -vt 0.081946156919 0.206284955144 0.000000000000 -vt 0.064126476645 0.226784884930 0.000000000000 -vt 0.059163603932 0.221614643931 0.000000000000 -vt 0.063531167805 0.218933045864 0.000000000000 -vt 0.066850177944 0.224536255002 0.000000000000 -vt 0.058718021959 0.224759161472 0.000000000000 -vt 0.052740599960 0.222449973226 0.000000000000 -vt 0.051313344389 0.218079030514 0.000000000000 -vt 0.056304361671 0.215266615152 0.000000000000 -vt 0.052650313824 0.225943475962 0.000000000000 -vt 0.101671561599 0.191067621112 0.000000000000 -vt 0.102857217193 0.187916800380 0.000000000000 -vt 0.090246729553 0.206087037921 0.000000000000 -vt 0.085568904877 0.202257156372 0.000000000000 -vt 0.091549478471 0.199667423964 0.000000000000 -vt 0.092842765152 0.201647892594 0.000000000000 -vt 0.092551417649 0.205803573132 0.000000000000 -vt 0.094774819911 0.209103897214 0.000000000000 -vt 0.094059728086 0.210680663586 0.000000000000 -vt 0.095144078135 0.195538073778 0.000000000000 -vt 0.099691078067 0.194344520569 0.000000000000 -vt 0.099405810237 0.196164458990 0.000000000000 -vt 0.099158152938 0.198102816939 0.000000000000 -vt 0.095910727978 0.198648139834 0.000000000000 -vt 0.040310692042 0.223760381341 0.000000000000 -vt 0.038051482290 0.225095763803 0.000000000000 -vt 0.039297934622 0.221828088164 0.000000000000 -vt 0.048715729266 0.226211413741 0.000000000000 -vt 0.048271726817 0.223471954465 0.000000000000 -vt 0.054012056440 0.227152556181 0.000000000000 -vt 0.051328878850 0.229439899325 0.000000000000 -vt 0.050317708403 0.229129895568 0.000000000000 -vt 0.048270147294 0.228640601039 0.000000000000 -vt 0.040398042649 0.225845307112 0.000000000000 -vt 0.043110940605 0.225429221988 0.000000000000 -vt 0.043746557087 0.226806730032 0.000000000000 -vt 0.041524719447 0.227182060480 0.000000000000 -vt 0.039583209902 0.227637097239 0.000000000000 -vt 0.037672769278 0.226903319359 0.000000000000 -vt 0.033523153514 0.225719004869 0.000000000000 -vt 0.036088127643 0.224684417248 0.000000000000 -vt 0.036136310548 0.226817533374 0.000000000000 -vt 0.034433234483 0.227448642254 0.000000000000 -vt 0.027782825753 0.229924663901 0.000000000000 -vt 0.030765233561 0.223758801818 0.000000000000 -vt 0.030333613977 0.231470361352 0.000000000000 -vt 0.110832214355 0.191612944007 0.000000000000 -vt 0.111078530550 0.184968620539 0.000000000000 -vt 0.106155976653 0.192477762699 0.000000000000 -vt 0.041945312172 0.228952214122 0.000000000000 -vt 0.038930263370 0.230628952384 0.000000000000 -vt 0.041834760457 0.232057794929 0.000000000000 -vt 0.044282648712 0.228836938739 0.000000000000 -vt 0.044818740338 0.232165411115 0.000000000000 -vt 0.039072107524 0.234580442309 0.000000000000 -vt 0.036424513906 0.232783898711 0.000000000000 -vt 0.106855750084 0.201680526137 0.000000000000 -vt 0.103606760502 0.198020190001 0.000000000000 -vt 0.104195758700 0.196577385068 0.000000000000 -vt 0.107200011611 0.198694974184 0.000000000000 -vt 0.109750792384 0.200388818979 0.000000000000 -vt 0.109513923526 0.203364923596 0.000000000000 -vt 0.105775907636 0.203093826771 0.000000000000 -vt 0.102690592408 0.199908792973 0.000000000000 -vt 0.050538811833 0.243682101369 0.000000000000 -vt 0.048396233469 0.240920796990 0.000000000000 -vt 0.048424374312 0.237581744790 0.000000000000 -vt 0.051719974726 0.241248175502 0.000000000000 -vt 0.046845819801 0.239993855357 0.000000000000 -vt 0.108550950885 0.195103302598 0.000000000000 -vt 0.107877954841 0.196638181806 0.000000000000 -vt 0.104663178325 0.194704324007 0.000000000000 -vt 0.111446216702 0.196098938584 0.000000000000 -vt 0.110371097922 0.198414430022 0.000000000000 -vt 0.033939246088 0.229781255126 0.000000000000 -vt 0.032943610102 0.235806867480 0.000000000000 -vt 0.036778222769 0.228347703815 0.000000000000 -vt 0.026748239994 0.237935468554 0.000000000000 -vt 0.029005868360 0.239583835006 0.000000000000 -vt 0.024600934237 0.235979780555 0.000000000000 -vt 0.036203410476 0.237542793155 0.000000000000 -vt 0.047933544964 0.242292001843 0.000000000000 -vt 0.048371467739 0.243713185191 0.000000000000 -vt 0.047026615590 0.242233023047 0.000000000000 -vt 0.047408472747 0.243272319436 0.000000000000 -vt 0.112042874098 0.199774816632 0.000000000000 -vt 0.112708196044 0.198945805430 0.000000000000 -vt 0.112421587110 0.201317355037 0.000000000000 -vt 0.115999296308 0.201012045145 0.000000000000 -vt 0.047676410526 0.245324388146 0.000000000000 -vt 0.046835009009 0.243697628379 0.000000000000 -vt 0.046366009861 0.242653593421 0.000000000000 -vt 0.116282775998 0.196683213115 0.000000000000 -vt 0.054629202932 0.245314940810 0.000000000000 -vt 0.055006336421 0.243421837687 0.000000000000 -vt 0.054401572794 0.246826633811 0.000000000000 -vt 0.049971643835 0.245547279716 0.000000000000 -vt 0.045614894480 0.244002953172 0.000000000000 -vt 0.046210203320 0.243990585208 0.000000000000 -vt 0.046083893627 0.245279118419 0.000000000000 -vt 0.044977705926 0.244760379195 0.000000000000 -vt 0.044843737036 0.243163123727 0.000000000000 -vt 0.045724090189 0.242940440774 0.000000000000 -vt 0.044279497117 0.243847146630 0.000000000000 -vt 0.042543780059 0.243463918567 0.000000000000 -vt 0.042998816818 0.241575345397 0.000000000000 -vt 0.043060954660 0.245589390397 0.000000000000 -vt 0.050320636481 0.250064343214 0.000000000000 -vt 0.046863149852 0.247579082847 0.000000000000 -vt 0.044486861676 0.247248783708 0.000000000000 -vt 0.115950897336 0.205869093537 0.000000000000 -vt 0.111902818084 0.203687563539 0.000000000000 -vt 0.067590266466 0.245651528239 0.000000000000 -vt 0.060156088322 0.247964099050 0.000000000000 -vt 0.059522051364 0.246006831527 0.000000000000 -vt 0.064255714417 0.241894826293 0.000000000000 -vt 0.075842648745 0.243643149734 0.000000000000 -vt 0.076406665146 0.251217573881 0.000000000000 -vt 0.068737201393 0.251990318298 0.000000000000 -vt 0.061447802931 0.252729058266 0.000000000000 -vt 0.101252302527 0.229214087129 0.000000000000 -vt 0.107055231929 0.225204750896 0.000000000000 -vt 0.110550090671 0.228503510356 0.000000000000 -vt 0.103125378489 0.234605416656 0.000000000000 -vt 0.093981824815 0.227124422789 0.000000000000 -vt 0.102826148272 0.221592798829 0.000000000000 -vt 0.093353867531 0.237001970410 0.000000000000 -vt 0.031605061144 0.248132273555 0.000000000000 -vt 0.033780287951 0.241846427321 0.000000000000 -vt 0.038934987038 0.242647275329 0.000000000000 -vt 0.038883429021 0.246692433953 0.000000000000 -vt 0.040764149278 0.250432223082 0.000000000000 -vt 0.034480068833 0.253740221262 0.000000000000 -vt 0.026098441333 0.256615221500 0.000000000000 -vt 0.024784889072 0.253078043461 0.000000000000 -vt 0.027103310451 0.246195510030 0.000000000000 -vt 0.022952351719 0.252045035362 0.000000000000 -vt 0.043932076544 0.254584789276 0.000000000000 -vt 0.049854788929 0.255521208048 0.000000000000 -vt 0.035871531814 0.256568402052 0.000000000000 -vt 0.127526775002 0.205384328961 0.000000000000 -vt 0.129298523068 0.208109617233 0.000000000000 -vt 0.124919943511 0.212541341782 0.000000000000 -vt 0.122282020748 0.208313822746 0.000000000000 -vt 0.130605995655 0.199026852846 0.000000000000 -vt 0.134021386504 0.202176094055 0.000000000000 -vt 0.123184211552 0.201524719596 0.000000000000 -vt 0.043590750545 0.262480288744 0.000000000000 -vt 0.045658569783 0.265317708254 0.000000000000 -vt 0.042624827474 0.268781721592 0.000000000000 -vt 0.040003802627 0.268262714148 0.000000000000 -vt 0.049783188850 0.260548025370 0.000000000000 -vt 0.050202202052 0.262952446938 0.000000000000 -vt 0.035101722926 0.267388671637 0.000000000000 -vt 0.036307651550 0.262090772390 0.000000000000 -vt 0.158384069800 0.177545472980 0.000000000000 -vt 0.163128763437 0.177713662386 0.000000000000 -vt 0.161081433296 0.184286177158 0.000000000000 -vt 0.155855119228 0.182891562581 0.000000000000 -vt 0.030163845047 0.266456753016 0.000000000000 -vt 0.028748972341 0.262917995453 0.000000000000 -vt 0.152635857463 0.180741325021 0.000000000000 -vt 0.156146481633 0.174547314644 0.000000000000 -vt 0.108293592930 0.175105020404 0.000000000000 -vt 0.103180319071 0.172587782145 0.000000000000 -vt 0.102925881743 0.166502520442 0.000000000000 -vt 0.107659325004 0.167699888349 0.000000000000 -vt 0.091472923756 0.255974650383 0.000000000000 -vt 0.083825305104 0.257546931505 0.000000000000 -vt 0.084012404084 0.249293193221 0.000000000000 -vt 0.091871894896 0.246349737048 0.000000000000 -vt 0.112725540996 0.167742446065 0.000000000000 -vt 0.113225832582 0.171109184623 0.000000000000 -vt 0.035772006959 0.183283552527 0.000000000000 -vt 0.035782817751 0.183923900127 0.000000000000 -vt 0.033255446702 0.184070467949 0.000000000000 -vt 0.033405173570 0.183254063129 0.000000000000 -vt 0.038481753320 0.182127386332 0.000000000000 -vt 0.038974162191 0.182417154312 0.000000000000 -vt 0.034431885928 0.181669190526 0.000000000000 -vt 0.036685016006 0.180374324322 0.000000000000 -vt 0.144137382507 0.199537962675 0.000000000000 -vt 0.139657467604 0.194585889578 0.000000000000 -vt 0.144188717008 0.186229258776 0.000000000000 -vt 0.148093581200 0.188943728805 0.000000000000 -vt 0.136400818825 0.206110462546 0.000000000000 -vt 0.153703317046 0.190900772810 0.000000000000 -vt 0.151239663363 0.198920801282 0.000000000000 -vt 0.150279834867 0.205067992210 0.000000000000 -vt 0.143856838346 0.206392586231 0.000000000000 -vt 0.163417190313 0.198642060161 0.000000000000 -vt 0.164253860712 0.202018722892 0.000000000000 -vt 0.160158962011 0.199008166790 0.000000000000 -vt 0.162906080484 0.192356184125 0.000000000000 -vt 0.165629789233 0.191846653819 0.000000000000 -vt 0.028680523857 0.176149964333 0.000000000000 -vt 0.028775541112 0.179067075253 0.000000000000 -vt 0.027133254334 0.179045230150 0.000000000000 -vt 0.026841904968 0.175766751170 0.000000000000 -vt 0.107328131795 0.163071155548 0.000000000000 -vt 0.102894365788 0.161774039268 0.000000000000 -vt 0.103162080050 0.158067077398 0.000000000000 -vt 0.107190564275 0.158765062690 0.000000000000 -vt 0.034622143954 0.168636307120 0.000000000000 -vt 0.034757684916 0.167032986879 0.000000000000 -vt 0.037417437881 0.167039290071 0.000000000000 -vt 0.036150719970 0.169255033135 0.000000000000 -vt 0.032856475562 0.170001432300 0.000000000000 -vt 0.031410526484 0.168317034841 0.000000000000 -vt 0.071371294558 0.162234246731 0.000000000000 -vt 0.072683498263 0.160097971559 0.000000000000 -vt 0.074752002954 0.160783797503 0.000000000000 -vt 0.072475455701 0.163342237473 0.000000000000 -vt 0.070219628513 0.164971008897 0.000000000000 -vt 0.067989014089 0.162172779441 0.000000000000 -vt 0.070951156318 0.158560618758 0.000000000000 -vt 0.071128129959 0.166468963027 0.000000000000 -vt 0.069623641670 0.166651114821 0.000000000000 -vt 0.052506666631 0.160904929042 0.000000000000 -vt 0.057779353112 0.165149331093 0.000000000000 -vt 0.056724499911 0.167911082506 0.000000000000 -vt 0.050493102521 0.165551453829 0.000000000000 -vt 0.060259658843 0.168007910252 0.000000000000 -vt 0.059231828898 0.159990578890 0.000000000000 -vt 0.061392862350 0.158380940557 0.000000000000 -vt 0.063771635294 0.161536499858 0.000000000000 -vt 0.063607268035 0.163274914026 0.000000000000 -vt 0.055211450905 0.155678853393 0.000000000000 -vt 0.057744000107 0.153191789985 0.000000000000 -vt 0.058993611485 0.163293376565 0.000000000000 -vt 0.053434979171 0.158556342125 0.000000000000 -vt 0.064857780933 0.162417531013 0.000000000000 -vt 0.064824908972 0.161404550076 0.000000000000 -vt 0.031159481034 0.208711221814 0.000000000000 -vt 0.030880516395 0.210443794727 0.000000000000 -vt 0.029724342749 0.204800054431 0.000000000000 -vt 0.031837198883 0.204756379128 0.000000000000 -vt 0.128212377429 0.176210075617 0.000000000000 -vt 0.128955841064 0.177864745259 0.000000000000 -vt 0.126242950559 0.177906855941 0.000000000000 -vt 0.125418648124 0.176409572363 0.000000000000 -vt 0.129953056574 0.174939975142 0.000000000000 -vt 0.130758658051 0.176998347044 0.000000000000 -vt 0.121036924422 0.175653725863 0.000000000000 -vt 0.121420361102 0.178308978677 0.000000000000 -vt 0.123617418110 0.183743998408 0.000000000000 -vt 0.117588669062 0.183899804950 0.000000000000 -vt 0.115403994918 0.191726654768 0.000000000000 -vt 0.122710488737 0.192234605551 0.000000000000 -vt 0.123056329787 0.196519747376 0.000000000000 -vt 0.128924548626 0.189431414008 0.000000000000 -vt 0.129672512412 0.193513929844 0.000000000000 -vt 0.133775278926 0.185372322798 0.000000000000 -vt 0.134995400906 0.187966778874 0.000000000000 -vt 0.136989831924 0.191276341677 0.000000000000 -vt 0.139916166663 0.181990936399 0.000000000000 -vt 0.141775041819 0.183941915631 0.000000000000 -vt 0.145468041301 0.175736352801 0.000000000000 -vt 0.147888004780 0.177232280374 0.000000000000 -vt 0.149156302214 0.178392961621 0.000000000000 -vt 0.151406511664 0.170416608453 0.000000000000 -vt 0.153140649199 0.171435669065 0.000000000000 -vt 0.026889864355 0.258701503277 0.000000000000 -vt 0.148213580251 0.169269666076 0.000000000000 -vt 0.138399973512 0.180339202285 0.000000000000 -vt 0.143568634987 0.174784168601 0.000000000000 -vt 0.146306514740 0.170045778155 0.000000000000 -vt 0.137052193284 0.178213953972 0.000000000000 -vt 0.141616314650 0.173843026161 0.000000000000 -vt 0.144707694650 0.169350728393 0.000000000000 -vt 0.021730657667 0.250446200371 0.000000000000 -vt 0.024742785841 0.244501665235 0.000000000000 -vt 0.018961701542 0.249092146754 0.000000000000 -vt 0.022073570639 0.243767663836 0.000000000000 -vt 0.023706618696 0.235825523734 0.000000000000 -vt 0.027095658705 0.229019328952 0.000000000000 -vt 0.029609059915 0.222379729152 0.000000000000 -vt 0.030542327091 0.216693878174 0.000000000000 -vt 0.033057313412 0.217472910881 0.000000000000 -vt 0.087314084172 0.175335809588 0.000000000000 -vt 0.094248183072 0.178092375398 0.000000000000 -vt 0.092181935906 0.179499372840 0.000000000000 -vt 0.085963152349 0.177274391055 0.000000000000 -vt 0.081338465214 0.174150139093 0.000000000000 -vt 0.082193829119 0.172002837062 0.000000000000 -vt 0.076521947980 0.167970299721 0.000000000000 -vt 0.077380686998 0.167476311326 0.000000000000 -vt 0.081656381488 0.178617432714 0.000000000000 -vt 0.077681265771 0.174922868609 0.000000000000 -vt 0.087579086423 0.180975034833 0.000000000000 -vt 0.074853092432 0.169260442257 0.000000000000 -vt 0.079015091062 0.179725423455 0.000000000000 -vt 0.076188489795 0.181088745594 0.000000000000 -vt 0.074826754630 0.175708204508 0.000000000000 -vt 0.082938641310 0.183109730482 0.000000000000 -vt 0.078197099268 0.184789612889 0.000000000000 -vt 0.070867173374 0.171145886183 0.000000000000 -vt 0.073829539120 0.169667065144 0.000000000000 -vt 0.031271602958 0.196384206414 0.000000000000 -vt 0.033982921392 0.194425582886 0.000000000000 -vt 0.037058766931 0.199865102768 0.000000000000 -vt 0.034688781947 0.202102705836 0.000000000000 -vt 0.033738177270 0.202948838472 0.000000000000 -vt 0.030448889360 0.197130590677 0.000000000000 -vt 0.028569748625 0.198085710406 0.000000000000 -vt 0.036571081728 0.216693878174 0.000000000000 -vt 0.033219423145 0.214136794209 0.000000000000 -vt 0.035667311400 0.220581635833 0.000000000000 -vt 0.030702864751 0.212936937809 0.000000000000 -vt 0.037512231618 0.221022486687 0.000000000000 -vt 0.039851140231 0.198102816939 0.000000000000 -vt 0.041124176234 0.203433588147 0.000000000000 -vt 0.037788044661 0.191379234195 0.000000000000 -vt 0.041217606515 0.195904180408 0.000000000000 -vt 0.067828707397 0.174960240722 0.000000000000 -vt 0.038927104324 0.189132183790 0.000000000000 -vt 0.041049417108 0.184728831053 0.000000000000 -vt 0.043036188930 0.186458468437 0.000000000000 -vt 0.065335564315 0.175491616130 0.000000000000 -vt 0.064928933978 0.179175376892 0.000000000000 -vt 0.059944216162 0.177007809281 0.000000000000 -vt 0.060216885060 0.175005495548 0.000000000000 -vt 0.055878814310 0.175014957786 0.000000000000 -vt 0.064486503601 0.180831611156 0.000000000000 -vt 0.059665244073 0.178134486079 0.000000000000 -vt 0.055603001267 0.176066651940 0.000000000000 -vt 0.059327062219 0.179134845734 0.000000000000 -vt 0.054891061038 0.176806747913 0.000000000000 -vt 0.052252914757 0.175443425775 0.000000000000 -vt 0.054579224437 0.177642062306 0.000000000000 -vt 0.051933418959 0.176275372505 0.000000000000 -vt 0.054217841476 0.178369775414 0.000000000000 -vt 0.051375713199 0.176691457629 0.000000000000 -vt 0.058970417827 0.180060461164 0.000000000000 -vt 0.058582257479 0.180961072445 0.000000000000 -vt 0.057680051774 0.181828826666 0.000000000000 -vt 0.062502883375 0.183891922235 0.000000000000 -vt 0.061697278172 0.184658572078 0.000000000000 -vt 0.050166402012 0.187552273273 0.000000000000 -vt 0.051037531346 0.187452524900 0.000000000000 -vt 0.054431293160 0.193168088794 0.000000000000 -vt 0.049586858600 0.182190433145 0.000000000000 -vt 0.049161311239 0.182690724730 0.000000000000 -vt 0.048391725868 0.182542562485 0.000000000000 -vt 0.049334455281 0.187815472484 0.000000000000 -vt 0.048377547413 0.188716322184 0.000000000000 -vt 0.047788541764 0.182509928942 0.000000000000 -vt 0.046637099236 0.188832953572 0.000000000000 -vt 0.046065207571 0.182266756892 0.000000000000 -vt 0.047180842608 0.178921401501 0.000000000000 -vt 0.047978799790 0.180811345577 0.000000000000 -vt 0.042535897344 0.180803701282 0.000000000000 -vt 0.063310064375 0.188303396106 0.000000000000 -vt 0.064299397171 0.188258126378 0.000000000000 -vt 0.065667442977 0.187005370855 0.000000000000 -vt 0.067313097417 0.191977471113 0.000000000000 -vt 0.069538079202 0.197437480092 0.000000000000 -vt 0.067683927715 0.207009509206 0.000000000000 -vt 0.063888035715 0.210395619273 0.000000000000 -vt 0.073146872222 0.203862056136 0.000000000000 -vt 0.071523271501 0.214295744896 0.000000000000 -vt 0.073026858270 0.194442689419 0.000000000000 -vt 0.077325977385 0.201174154878 0.000000000000 -vt 0.081237144768 0.196533709764 0.000000000000 -vt 0.076219789684 0.190154388547 0.000000000000 -vt 0.081086061895 0.187698617578 0.000000000000 -vt 0.069806240499 0.189532741904 0.000000000000 -vt 0.071710377932 0.187683090568 0.000000000000 -vt 0.067168101668 0.185359716415 0.000000000000 -vt 0.069611258805 0.183986946940 0.000000000000 -vt 0.063944101334 0.182054877281 0.000000000000 -vt 0.063255354762 0.183039709926 0.000000000000 -vt 0.074488565326 0.222574487329 0.000000000000 -vt 0.069771796465 0.223591953516 0.000000000000 -vt 0.067730538547 0.216421216726 0.000000000000 -vt 0.060474004596 0.213022723794 0.000000000000 -vt 0.053378012031 0.208070665598 0.000000000000 -vt 0.057214211673 0.207134246826 0.000000000000 -vt 0.049100745469 0.211366251111 0.000000000000 -vt 0.064397566020 0.232721552253 0.000000000000 -vt 0.067054398358 0.233078405261 0.000000000000 -vt 0.070033647120 0.233986899257 0.000000000000 -vt 0.075478121638 0.233488187194 0.000000000000 -vt 0.081782467663 0.220023691654 0.000000000000 -vt 0.083951614797 0.230261281133 0.000000000000 -vt 0.084691703320 0.240565523505 0.000000000000 -vt 0.062245752662 0.239568278193 0.000000000000 -vt 0.061321716756 0.238784536719 0.000000000000 -vt 0.063168220222 0.233371362090 0.000000000000 -vt 0.063390895724 0.227339446545 0.000000000000 -vt 0.058965694159 0.225806355476 0.000000000000 -vt 0.050889376551 0.232737079263 0.000000000000 -vt 0.051590736955 0.236221358180 0.000000000000 -vt 0.050666701049 0.236511155963 0.000000000000 -vt 0.049805026501 0.232663914561 0.000000000000 -vt 0.049557130784 0.236889854074 0.000000000000 -vt 0.048572305590 0.232626542449 0.000000000000 -vt 0.052862185985 0.239495113492 0.000000000000 -vt 0.052227925509 0.240581259131 0.000000000000 -vt 0.055151116103 0.242463573813 0.000000000000 -vt 0.058518532664 0.242689415812 0.000000000000 -vt 0.058837804943 0.243750557303 0.000000000000 -vt 0.027835739776 0.198754191399 0.000000000000 -vt 0.102103173733 0.178665846586 0.000000000000 -vt 0.020530804992 0.243255212903 0.000000000000 -vt 0.017403624952 0.246614530683 0.000000000000 -vt 0.142661705613 0.167488694191 0.000000000000 -vt 0.138711810112 0.171222224832 0.000000000000 -vt 0.136936917901 0.169240176678 0.000000000000 -vt 0.140343055129 0.166225120425 0.000000000000 -vt 0.133923217654 0.174637824297 0.000000000000 -vt 0.132665947080 0.181584313512 0.000000000000 -vt 0.128641068935 0.183620840311 0.000000000000 -vt 0.132804647088 0.173296123743 0.000000000000 -vt 0.065053895116 0.163422614336 0.000000000000 -vt 0.063069596887 0.163681775331 0.000000000000 -vt 0.064668200910 0.167430609465 0.000000000000 -vt 0.063209198415 0.168160781264 0.000000000000 -vt 0.063756324351 0.165098443627 0.000000000000 -vt 0.065168723464 0.164823085070 0.000000000000 -vt 0.065913312137 0.169554486871 0.000000000000 -vt 0.062940359116 0.170286476612 0.000000000000 -vt 0.061481129378 0.167505130172 0.000000000000 -vt 0.060151811689 0.170392528176 0.000000000000 -vt 0.060107905418 0.172657802701 0.000000000000 -vt 0.057210605592 0.172009363770 0.000000000000 -vt 0.057532805949 0.170253381133 0.000000000000 -vt 0.063048884273 0.172646328807 0.000000000000 -vt 0.048934575170 0.168896585703 0.000000000000 -vt 0.049731176347 0.167191714048 0.000000000000 -vt 0.042593311518 0.164057999849 0.000000000000 -vt 0.043497528881 0.162384659052 0.000000000000 -vt 0.044287156314 0.160732463002 0.000000000000 -vt 0.033884081990 0.156096965075 0.000000000000 -vt 0.034770067781 0.153932109475 0.000000000000 -vt 0.036515694112 0.150483399630 0.000000000000 -vt 0.046103026718 0.155740767717 0.000000000000 -vt 0.039584781975 0.147428721189 0.000000000000 -vt 0.047613140196 0.151688650250 0.000000000000 -vt 0.043061178178 0.143725812435 0.000000000000 -vt 0.050141181797 0.149046242237 0.000000000000 -vt 0.047894362360 0.140243798494 0.000000000000 -vt 0.053615551442 0.146738171577 0.000000000000 -vt 0.053296964616 0.138070821762 0.000000000000 -vt 0.056939747185 0.144772797823 0.000000000000 -vt 0.060318645090 0.151515960693 0.000000000000 -vt 0.060732934624 0.143554925919 0.000000000000 -vt 0.062500409782 0.150664418936 0.000000000000 -vt 0.064538739622 0.156376838684 0.000000000000 -vt 0.063412509859 0.157254040241 0.000000000000 -vt 0.065951131284 0.161686450243 0.000000000000 -vt 0.064260445535 0.149016290903 0.000000000000 -vt 0.065228387713 0.155802473426 0.000000000000 -vt 0.067762054503 0.156014785171 0.000000000000 -vt 0.067490294576 0.161968335509 0.000000000000 -vt 0.068041928113 0.150318130851 0.000000000000 -vt 0.072004206479 0.152485474944 0.000000000000 -vt 0.068994782865 0.144661113620 0.000000000000 -vt 0.072091117501 0.145224899054 0.000000000000 -vt 0.075190380216 0.145809859037 0.000000000000 -vt 0.074453443289 0.154495447874 0.000000000000 -vt 0.078592248261 0.146916940808 0.000000000000 -vt 0.077539868653 0.155462488532 0.000000000000 -vt 0.083513915539 0.149794429541 0.000000000000 -vt 0.080134786665 0.156474098563 0.000000000000 -vt 0.076403960586 0.162150710821 0.000000000000 -vt 0.082034416497 0.157592907548 0.000000000000 -vt 0.077113650739 0.164572715759 0.000000000000 -vt 0.075192175806 0.166414484382 0.000000000000 -vt 0.073551476002 0.164994657040 0.000000000000 -vt 0.072395749390 0.167818546295 0.000000000000 -vt 0.086013361812 0.151608720422 0.000000000000 -vt 0.082925580442 0.138807758689 0.000000000000 -vt 0.088270992041 0.142190933228 0.000000000000 -vt 0.092381425202 0.144706368446 0.000000000000 -vt 0.033781412989 0.159828022122 0.000000000000 -vt 0.032040510327 0.158961847425 0.000000000000 -vt 0.032221313566 0.155238896608 0.000000000000 -vt 0.033128913492 0.152995914221 0.000000000000 -vt 0.034247931093 0.149646267295 0.000000000000 -vt 0.036089029163 0.146674454212 0.000000000000 -vt 0.039337117225 0.142542183399 0.000000000000 -vt 0.044477183372 0.138003721833 0.000000000000 -vt 0.051182758063 0.134617850184 0.000000000000 -vt 0.057887878269 0.132730364799 0.000000000000 -vt 0.058954205364 0.136307403445 0.000000000000 -vt 0.065197318792 0.135614156723 0.000000000000 -vt 0.065236717463 0.143920347095 0.000000000000 -vt 0.070889234543 0.135065451264 0.000000000000 -vt 0.075503565371 0.136102512479 0.000000000000 -vt 0.079501420259 0.136758163571 0.000000000000 -vt 0.080287218094 0.135892897844 0.000000000000 -vt 0.083798281848 0.137524142861 0.000000000000 -vt 0.089716039598 0.140691623092 0.000000000000 -vt 0.143560752273 0.209685027599 0.000000000000 -vt 0.135448858142 0.212041050196 0.000000000000 -vt 0.136980593204 0.209762930870 0.000000000000 -vt 0.149614498019 0.207925885916 0.000000000000 -vt 0.093936122954 0.143564611673 0.000000000000 -vt 0.131235316396 0.212935358286 0.000000000000 -vt 0.130912885070 0.210914373398 0.000000000000 -vt 0.130802333355 0.214139938354 0.000000000000 -vt 0.126496925950 0.214841082692 0.000000000000 -vt 0.127033010125 0.216304361820 0.000000000000 -vt 0.123436622322 0.220508232713 0.000000000000 -vt 0.122662074864 0.219344407320 0.000000000000 -vt 0.127302527428 0.217270508409 0.000000000000 -vt 0.124103523791 0.221681743860 0.000000000000 -vt 0.121738053858 0.226466968656 0.000000000000 -vt 0.119399368763 0.224682837725 0.000000000000 -vt 0.071574836969 0.132907792926 0.000000000000 -vt 0.076760835946 0.134390205145 0.000000000000 -vt 0.065341189504 0.132802188396 0.000000000000 -vt 0.115896403790 0.229595944285 0.000000000000 -vt 0.113967284560 0.229628607631 0.000000000000 -vt 0.118455067277 0.224354103208 0.000000000000 -vt 0.118444040418 0.231105849147 0.000000000000 -vt 0.116246968508 0.222922116518 0.000000000000 -vt 0.121256656945 0.217508718371 0.000000000000 -vt 0.113348767161 0.220198199153 0.000000000000 -vt 0.118779063225 0.214370504022 0.000000000000 -vt 0.109506264329 0.216642320156 0.000000000000 -vt 0.113111913204 0.210065305233 0.000000000000 -vt 0.106790229678 0.213530674577 0.000000000000 -vt 0.110659286380 0.209100753069 0.000000000000 -vt 0.105615362525 0.211812064052 0.000000000000 -vt 0.108720943332 0.208151713014 0.000000000000 -vt 0.104931339622 0.210859879851 0.000000000000 -vt 0.107262387872 0.207199767232 0.000000000000 -vt 0.104268938303 0.209731861949 0.000000000000 -vt 0.106411516666 0.206867888570 0.000000000000 -vt 0.099854543805 0.210535883904 0.000000000000 -vt 0.101010948420 0.212820082903 0.000000000000 -vt 0.101252302527 0.214150756598 0.000000000000 -vt 0.100541725755 0.216653347015 0.000000000000 -vt 0.109188362956 0.234976246953 0.000000000000 -vt 0.112999781966 0.234926506877 0.000000000000 -vt 0.116525933146 0.235893979669 0.000000000000 -vt 0.113097950816 0.239953324199 0.000000000000 -vt 0.109616830945 0.240531280637 0.000000000000 -vt 0.105305328965 0.241614267230 0.000000000000 -vt 0.103323295712 0.248255476356 0.000000000000 -vt 0.107525810599 0.246296599507 0.000000000000 -vt 0.106832340360 0.251131802797 0.000000000000 -vt 0.103008523583 0.253494113684 0.000000000000 -vt 0.111104875803 0.245297834277 0.000000000000 -vt 0.110048457980 0.249654576182 0.000000000000 -vt 0.096914246678 0.264147579670 0.000000000000 -vt 0.095100626349 0.260864347219 0.000000000000 -vt 0.103348061442 0.257600039244 0.000000000000 -vt 0.106801033020 0.254496067762 0.000000000000 -vt 0.169106185436 0.192728593946 0.000000000000 -vt 0.170338675380 0.195399373770 0.000000000000 -vt 0.099874362350 0.170928612351 0.000000000000 -vt 0.097011074424 0.169942215085 0.000000000000 -vt 0.095663733780 0.165094852448 0.000000000000 -vt 0.099198222160 0.165355354548 0.000000000000 -vt 0.093683719635 0.168949723244 0.000000000000 -vt 0.092458203435 0.165013566613 0.000000000000 -vt 0.090356379747 0.159508973360 0.000000000000 -vt 0.094260796905 0.160128593445 0.000000000000 -vt 0.099197551608 0.159526988864 0.000000000000 -vt 0.033023308963 0.163863465190 0.000000000000 -vt 0.037694837898 0.165538623929 0.000000000000 -vt 0.027775174007 0.166775852442 0.000000000000 -vt 0.088919214904 0.165129065514 0.000000000000 -vt 0.087757416070 0.161358624697 0.000000000000 -vt 0.041305195540 0.168003618717 0.000000000000 -vt 0.039413448423 0.169479295611 0.000000000000 -vt 0.041364412755 0.172144010663 0.000000000000 -vt 0.039971377701 0.172480389476 0.000000000000 -vt 0.038754414767 0.172880932689 0.000000000000 -vt 0.037746172398 0.170685455203 0.000000000000 -vt 0.041679184884 0.177758023143 0.000000000000 -vt 0.040490355343 0.177621126175 0.000000000000 -vt 0.038885232061 0.177430868149 0.000000000000 -vt 0.031558681279 0.181349694729 0.000000000000 -vt 0.032375093549 0.182451382279 0.000000000000 -vt 0.031321812421 0.183208808303 0.000000000000 -vt 0.029306901619 0.181765779853 0.000000000000 -vt 0.030110931024 0.184735804796 0.000000000000 -vt 0.026748467237 0.183448821306 0.000000000000 -vt 0.025492548943 0.179579749703 0.000000000000 -vt 0.025225963444 0.184383660555 0.000000000000 -vt 0.023586835712 0.180322989821 0.000000000000 -vt 0.023586835712 0.175274342299 0.000000000000 -vt 0.025453597307 0.175285145640 0.000000000000 -vt 0.025660742074 0.170873910189 0.000000000000 -vt 0.026788990945 0.172416672111 0.000000000000 -vt 0.028133621439 0.171821355820 0.000000000000 -vt 0.117384001613 0.164725363255 0.000000000000 -vt 0.112397044897 0.164127796888 0.000000000000 -vt 0.111941114068 0.159629434347 0.000000000000 -vt 0.116640761495 0.160034939647 0.000000000000 -vt 0.117678731680 0.167584165931 0.000000000000 -vt 0.121842063963 0.165160596371 0.000000000000 -vt 0.122367806733 0.167285159230 0.000000000000 -vt 0.123244337738 0.169767260551 0.000000000000 -vt 0.118570342660 0.170628488064 0.000000000000 -vt 0.076927222311 0.256597876549 0.000000000000 -vt 0.069735996425 0.256459414959 0.000000000000 -vt 0.126834645867 0.166902616620 0.000000000000 -vt 0.127785488963 0.169480189681 0.000000000000 -vt 0.062401559204 0.256990790367 0.000000000000 -vt 0.061513323337 0.259970039129 0.000000000000 -vt 0.055246125907 0.260234832764 0.000000000000 -vt 0.055534552783 0.256361246109 0.000000000000 -vt 0.055091898888 0.251717656851 0.000000000000 -vt 0.055174525827 0.262654781342 0.000000000000 -vt 0.131237342954 0.166645258665 0.000000000000 -vt 0.126206025481 0.164752155542 0.000000000000 -vt 0.130478784442 0.164564833045 0.000000000000 -vt 0.128323823214 0.157905861735 0.000000000000 -vt 0.124372817576 0.158351898193 0.000000000000 -vt 0.120934464037 0.159285396338 0.000000000000 -vt 0.031951349229 0.187119752169 0.000000000000 -vt 0.032728809863 0.185262441635 0.000000000000 -vt 0.035856213421 0.185055300593 0.000000000000 -vt 0.035672266036 0.187161847949 0.000000000000 -vt 0.028532592580 0.186527818441 0.000000000000 -vt 0.128893464804 0.155811250210 0.000000000000 -vt 0.132322803140 0.155696868896 0.000000000000 -vt 0.132445976138 0.157863765955 0.000000000000 -vt 0.134399861097 0.164290815592 0.000000000000 -vt 0.137302115560 0.158585160971 0.000000000000 -vt 0.138255640864 0.163551405072 0.000000000000 -vt 0.141750499606 0.159247785807 0.000000000000 -vt 0.142176494002 0.162172332406 0.000000000000 -vt 0.167481020093 0.185227319598 0.000000000000 -vt 0.170263931155 0.178922742605 0.000000000000 -vt 0.172615230083 0.181126117706 0.000000000000 -vt 0.170385509729 0.185613691807 0.000000000000 -vt 0.137086644769 0.156343296170 0.000000000000 -vt 0.141829982400 0.156543448567 0.000000000000 -vt 0.084312535822 0.167729392648 0.000000000000 -vt 0.084777034819 0.164774447680 0.000000000000 -vt 0.089359387755 0.168153122067 0.000000000000 -vt 0.136736750603 0.154593154788 0.000000000000 -vt 0.141693994403 0.153399839997 0.000000000000 -vt 0.084533862770 0.161654248834 0.000000000000 -vt 0.132128268480 0.155035361648 0.000000000000 -vt 0.168764844537 0.189312979579 0.000000000000 -vt 0.165124982595 0.185052827001 0.000000000000 -vt 0.167759761214 0.178524002433 0.000000000000 -vt 0.158733054996 0.192014843225 0.000000000000 -vt 0.156409904361 0.199086070061 0.000000000000 -vt 0.155019804835 0.205063492060 0.000000000000 -vt 0.157773226500 0.205484077334 0.000000000000 -vt 0.157165527344 0.207992762327 0.000000000000 -vt 0.154318660498 0.207045525312 0.000000000000 -vt 0.039390247315 0.183007746935 0.000000000000 -vt 0.109839722514 0.252810090780 0.000000000000 -vt 0.161794945598 0.206194669008 0.000000000000 -vt 0.160380065441 0.209382638335 0.000000000000 -vt 0.030997594818 0.172260865569 0.000000000000 -vt 0.028872353956 0.171737149358 0.000000000000 -vt 0.040024068207 0.239364311099 0.000000000000 -vt 0.041931357235 0.237304374576 0.000000000000 -vt 0.044145528227 0.240434691310 0.000000000000 -vt 0.045424859971 0.239937767386 0.000000000000 -vt 0.044002104551 0.236135587096 0.000000000000 -vt 0.100529327989 0.192775428295 0.000000000000 -vt 0.086145527661 0.185369163752 0.000000000000 -vt 0.074024297297 0.186244800687 0.000000000000 -vt 0.062078233808 0.164369389415 0.000000000000 -vt 0.030012762174 0.176220208406 0.000000000000 -vt 0.112108394504 0.179039835930 0.000000000000 -vt 0.112108394504 0.176560640335 0.000000000000 -vt 0.069380022585 0.168249264359 0.000000000000 -vt 0.065014265478 0.171704053879 0.000000000000 -vt 0.048454102129 0.180325239897 0.000000000000 -vt 0.146105453372 0.080951645970 0.000000000000 -vt 0.144684508443 0.079957589507 0.000000000000 -vt 0.149933993816 0.076390907168 0.000000000000 -vt 0.151316225529 0.078695371747 0.000000000000 -vt 0.153613030910 0.080021530390 0.000000000000 -vt 0.145809382200 0.082432046533 0.000000000000 -vt 0.143933385611 0.080989018083 0.000000000000 -vt 0.154818966985 0.082354143262 0.000000000000 -vt 0.145563289523 0.085070192814 0.000000000000 -vt 0.143352255225 0.081543803215 0.000000000000 -vt 0.144436612725 0.082785755396 0.000000000000 -vt 0.143652841449 0.084858089685 0.000000000000 -vt 0.146591797471 0.088287875056 0.000000000000 -vt 0.154597863555 0.085654467344 0.000000000000 -vt 0.153173521161 0.089168235660 0.000000000000 -vt 0.152664005756 0.094450607896 0.000000000000 -vt 0.140441447496 0.090233892202 0.000000000000 -vt 0.138348862529 0.080004423857 0.000000000000 -vt 0.139517411590 0.078812226653 0.000000000000 -vt 0.140799894929 0.078904315829 0.000000000000 -vt 0.140338554978 0.079870223999 0.000000000000 -vt 0.139646649361 0.078048720956 0.000000000000 -vt 0.142411112785 0.080079168081 0.000000000000 -vt 0.142763257027 0.078845098615 0.000000000000 -vt 0.144676625729 0.071552544832 0.000000000000 -vt 0.147951960564 0.073969364166 0.000000000000 -vt 0.165310516953 0.075303182006 0.000000000000 -vt 0.162680253386 0.081052973866 0.000000000000 -vt 0.159637063742 0.079843878746 0.000000000000 -vt 0.160642147064 0.076046422124 0.000000000000 -vt 0.138225704432 0.079229891300 0.000000000000 -vt 0.137284547091 0.079804927111 0.000000000000 -vt 0.137759849429 0.078385323286 0.000000000000 -vt 0.137967005372 0.069246500731 0.000000000000 -vt 0.141144156456 0.069925799966 0.000000000000 -vt 0.135236993432 0.081436410546 0.000000000000 -vt 0.135894671082 0.079535424709 0.000000000000 -vt 0.134577959776 0.080499768257 0.000000000000 -vt 0.135107755661 0.084568321705 0.000000000000 -vt 0.134055823088 0.084435924888 0.000000000000 -vt 0.133896872401 0.080932959914 0.000000000000 -vt 0.133128866553 0.069963172078 0.000000000000 -vt 0.135289907455 0.069450497627 0.000000000000 -vt 0.163844078779 0.085923969746 0.000000000000 -vt 0.162402868271 0.094224542379 0.000000000000 -vt 0.132371440530 0.082354143262 0.000000000000 -vt 0.128753200173 0.071022763848 0.000000000000 -vt 0.105484560132 0.044374290854 0.000000000000 -vt 0.104406282306 0.042068254203 0.000000000000 -vt 0.105255573988 0.042082216591 0.000000000000 -vt 0.106301188469 0.043263372034 0.000000000000 -vt 0.105341121554 0.039797786623 0.000000000000 -vt 0.107362121344 0.040538098663 0.000000000000 -vt 0.102971151471 0.044095326215 0.000000000000 -vt 0.109018579125 0.049298208207 0.000000000000 -vt 0.103879645467 0.048260468990 0.000000000000 -vt 0.106288582087 0.055648040026 0.000000000000 -vt 0.099673971534 0.057078447193 0.000000000000 -vt 0.097955361009 0.055400144309 0.000000000000 -vt 0.110525324941 0.046463962644 0.000000000000 -vt 0.102905854583 0.041538458318 0.000000000000 -vt 0.103917017579 0.039889875799 0.000000000000 -vt 0.118358477950 0.052561160177 0.000000000000 -vt 0.113901987672 0.058519665152 0.000000000000 -vt 0.118132635951 0.047917779535 0.000000000000 -vt 0.118020296097 0.061421241611 0.000000000000 -vt 0.122165165842 0.055722784251 0.000000000000 -vt 0.126941144466 0.044675100595 0.000000000000 -vt 0.128192335367 0.048273082823 0.000000000000 -vt 0.129756718874 0.051271017641 0.000000000000 -vt 0.104457631707 0.038520034403 0.000000000000 -vt 0.106935217977 0.039335094392 0.000000000000 -vt 0.110430315137 0.041719038039 0.000000000000 -vt 0.109509423375 0.038915853947 0.000000000000 -vt 0.103522777557 0.036517728120 0.000000000000 -vt 0.097110807896 0.038964264095 0.000000000000 -vt 0.099772140384 0.040999215096 0.000000000000 -vt 0.097977206111 0.041525851935 0.000000000000 -vt 0.096010699868 0.040015961975 0.000000000000 -vt 0.098011419177 0.043816577643 0.000000000000 -vt 0.095403008163 0.041276607662 0.000000000000 -vt 0.100398525596 0.044103201479 0.000000000000 -vt 0.092719830573 0.059615265578 0.000000000000 -vt 0.090432256460 0.055584091693 0.000000000000 -vt 0.103748843074 0.062081839889 0.000000000000 -vt 0.109088838100 0.036444552243 0.000000000000 -vt 0.116189554334 0.040374409407 0.000000000000 -vt 0.117214694619 0.043208893389 0.000000000000 -vt 0.100217953324 0.036773279309 0.000000000000 -vt 0.101216748357 0.031871203333 0.000000000000 -vt 0.129965662956 0.062457408756 0.000000000000 -vt 0.134202405810 0.063657253981 0.000000000000 -vt 0.126032650471 0.071523055434 0.000000000000 -vt 0.126584276557 0.061618920416 0.000000000000 -vt 0.126425325871 0.056240197271 0.000000000000 -vt 0.131047084928 0.056420769542 0.000000000000 -vt 0.136421307921 0.063021421432 0.000000000000 -vt 0.135489389300 0.060313250870 0.000000000000 -vt 0.137195616961 0.059194456786 0.000000000000 -vt 0.136729776859 0.057686138898 0.000000000000 -vt 0.156631231308 0.049092646688 0.000000000000 -vt 0.157220244408 0.050672557205 0.000000000000 -vt 0.155348747969 0.051238145679 0.000000000000 -vt 0.152967959642 0.049707990140 0.000000000000 -vt 0.072539396584 0.024206470698 0.000000000000 -vt 0.073009975255 0.022490788251 0.000000000000 -vt 0.074167720973 0.023411672562 0.000000000000 -vt 0.075313083827 0.024346742779 0.000000000000 -vt 0.078608684242 0.024770483375 0.000000000000 -vt 0.076113961637 0.022561032325 0.000000000000 -vt 0.074407733977 0.021668069065 0.000000000000 -vt 0.085832558572 0.034895710647 0.000000000000 -vt 0.088694959879 0.030288133770 0.000000000000 -vt 0.092079266906 0.032754708081 0.000000000000 -vt 0.090345121920 0.035805787891 0.000000000000 -vt 0.080766797066 0.037424653769 0.000000000000 -vt 0.083163343370 0.031321149319 0.000000000000 -vt 0.082765944302 0.039579611272 0.000000000000 -vt 0.075439170003 0.026426948607 0.000000000000 -vt 0.079141400754 0.028394807130 0.000000000000 -vt 0.065825045109 0.019637845457 0.000000000000 -vt 0.070792645216 0.020507168025 0.000000000000 -vt 0.069720685482 0.023076642305 0.000000000000 -vt 0.066453002393 0.021015118808 0.000000000000 -vt 0.074630416930 0.020555578172 0.000000000000 -vt 0.078393660486 0.021780196577 0.000000000000 -vt 0.118059247732 0.097139850259 0.000000000000 -vt 0.114740446210 0.098579719663 0.000000000000 -vt 0.114250972867 0.095418095589 0.000000000000 -vt 0.117238104343 0.094657748938 0.000000000000 -vt 0.109638676047 0.091790616512 0.000000000000 -vt 0.115868493915 0.090512856841 0.000000000000 -vt 0.106643870473 0.097877010703 0.000000000000 -vt 0.080275960267 0.020345281810 0.000000000000 -vt 0.084542199969 0.020472947508 0.000000000000 -vt 0.082198783755 0.026802506298 0.000000000000 -vt 0.087908044457 0.024324897677 0.000000000000 -vt 0.082033514977 0.045575719327 0.000000000000 -vt 0.083040185273 0.050441998988 0.000000000000 -vt 0.079672768712 0.048204403371 0.000000000000 -vt 0.080490976572 0.044366639107 0.000000000000 -vt 0.076486371458 0.049105029553 0.000000000000 -vt 0.078130230308 0.043149676174 0.000000000000 -vt 0.081851139665 0.052377205342 0.000000000000 -vt 0.066788040102 0.023179534823 0.000000000000 -vt 0.064600206912 0.023336920887 0.000000000000 -vt 0.064584665000 0.022389467806 0.000000000000 -vt 0.066289320588 0.022115226835 0.000000000000 -vt 0.060966644436 0.023584589362 0.000000000000 -vt 0.061784636229 0.022029668093 0.000000000000 -vt 0.063617177308 0.021110359579 0.000000000000 -vt 0.091050982475 0.028800085187 0.000000000000 -vt 0.094201579690 0.030098102987 0.000000000000 -vt 0.090151712298 0.025628998876 0.000000000000 -vt 0.093743383884 0.027991328388 0.000000000000 -vt 0.066948570311 0.027383632958 0.000000000000 -vt 0.060868475586 0.030944012105 0.000000000000 -vt 0.062462348491 0.027807373554 0.000000000000 -vt 0.066029265523 0.025897156447 0.000000000000 -vt 0.059814978391 0.026431452483 0.000000000000 -vt 0.064851254225 0.024653624743 0.000000000000 -vt 0.054694723338 0.030345775187 0.000000000000 -vt 0.047921154648 0.032958924770 0.000000000000 -vt 0.043463084847 0.030261565000 0.000000000000 -vt 0.047107893974 0.029183298349 0.000000000000 -vt 0.050095032901 0.030151013285 0.000000000000 -vt 0.047431897372 0.026514083147 0.000000000000 -vt 0.050590369850 0.027707632631 0.000000000000 -vt 0.042810361832 0.027617346495 0.000000000000 -vt 0.047869820148 0.042448315769 0.000000000000 -vt 0.045954655856 0.041697423905 0.000000000000 -vt 0.046084117144 0.036520879716 0.000000000000 -vt 0.049386020750 0.038101017475 0.000000000000 -vt 0.044854771346 0.041064735502 0.000000000000 -vt 0.043885473162 0.036986950785 0.000000000000 -vt 0.051757570356 0.034210111946 0.000000000000 -vt 0.154328122735 0.043087299913 0.000000000000 -vt 0.154911056161 0.037254884839 0.000000000000 -vt 0.167563647032 0.034898862243 0.000000000000 -vt 0.161921262741 0.041362386197 0.000000000000 -vt 0.153502255678 0.030707374215 0.000000000000 -vt 0.163250565529 0.027692098171 0.000000000000 -vt 0.103868618608 0.102910131216 0.000000000000 -vt 0.111994698644 0.103447571397 0.000000000000 -vt 0.106992870569 0.109234735370 0.000000000000 -vt 0.101400464773 0.108030393720 0.000000000000 -vt 0.096481271088 0.122771069407 0.000000000000 -vt 0.089952446520 0.124826297164 0.000000000000 -vt 0.088087268174 0.119303897023 0.000000000000 -vt 0.094165779650 0.117781624198 0.000000000000 -vt 0.070482604206 0.058522816747 0.000000000000 -vt 0.077887058258 0.065487995744 0.000000000000 -vt 0.071217961609 0.071155369282 0.000000000000 -vt 0.066381409764 0.064373925328 0.000000000000 -vt 0.070337608457 0.087279632688 0.000000000000 -vt 0.063515856862 0.072370767593 0.000000000000 -vt 0.079217955470 0.082213863730 0.000000000000 -vt 0.050732221454 0.021630693227 0.000000000000 -vt 0.048374619335 0.020630329847 0.000000000000 -vt 0.048564653844 0.016099080443 0.000000000000 -vt 0.051573622972 0.018779102713 0.000000000000 -vt 0.045837800950 0.018292993307 0.000000000000 -vt 0.046268071979 0.015899594873 0.000000000000 -vt 0.051961567253 0.016921799630 0.000000000000 -vt 0.048754904419 0.013884905726 0.000000000000 -vt 0.026494264603 0.028064500540 0.000000000000 -vt 0.026460040361 0.028243724257 0.000000000000 -vt 0.026340033859 0.028218735009 0.000000000000 -vt 0.026315040886 0.028072383255 0.000000000000 -vt 0.026271361858 0.028111334890 0.000000000000 -vt 0.026316616684 0.028287407011 0.000000000000 -vt 0.026220027357 0.028083190322 0.000000000000 -vt 0.025830507278 0.027961608022 0.000000000000 -vt 0.026793498546 0.027743656188 0.000000000000 -vt 0.022305700928 0.037761259824 0.000000000000 -vt 0.020612087101 0.038116555661 0.000000000000 -vt 0.018779549748 0.032605204731 0.000000000000 -vt 0.019568044692 0.032413598150 0.000000000000 -vt 0.026293199509 0.029374904931 0.000000000000 -vt 0.026729550213 0.056939747185 0.000000000000 -vt 0.025282029063 0.059646341950 0.000000000000 -vt 0.023371588439 0.056319449097 0.000000000000 -vt 0.024051103741 0.054049205035 0.000000000000 -vt 0.023613180965 0.061910506338 0.000000000000 -vt 0.020778700709 0.056646820158 0.000000000000 -vt 0.024753816426 0.028824850917 0.000000000000 -vt 0.024046380073 0.029639910907 0.000000000000 -vt 0.021925639361 0.027996055782 0.000000000000 -vt 0.019233010709 0.029932837933 0.000000000000 -vt 0.020827110857 0.032996300608 0.000000000000 -vt 0.018511611968 0.030085492879 0.000000000000 -vt 0.018042616546 0.028514813632 0.000000000000 -vt 0.018695343286 0.028449516743 0.000000000000 -vt 0.018340270966 0.027692098171 0.000000000000 -vt 0.019049059600 0.027235481888 0.000000000000 -vt 0.018784277141 0.027503643185 0.000000000000 -vt 0.018855873495 0.026894371957 0.000000000000 -vt 0.019962288439 0.026958312839 0.000000000000 -vt 0.019748840481 0.027567584068 0.000000000000 -vt 0.160484761000 0.020033445209 0.000000000000 -vt 0.147482961416 0.021641500294 0.000000000000 -vt 0.154410749674 0.015146899968 0.000000000000 -vt 0.161012977362 0.008924962953 0.000000000000 -vt 0.166393518448 0.013308282942 0.000000000000 -vt 0.166352987289 0.025851901621 0.000000000000 -vt 0.166651993990 0.020915377885 0.000000000000 -vt 0.170089438558 0.015492964536 0.000000000000 -vt 0.019588306546 0.027807373554 0.000000000000 -vt 0.019134845585 0.027851056308 0.000000000000 -vt 0.019064817578 0.028270293027 0.000000000000 -vt 0.038729425520 0.090958446264 0.000000000000 -vt 0.036177065223 0.089736983180 0.000000000000 -vt 0.038676287979 0.085981622338 0.000000000000 -vt 0.040239315480 0.089066922665 0.000000000000 -vt 0.042406659573 0.093741580844 0.000000000000 -vt 0.040854658931 0.094687461853 0.000000000000 -vt 0.037749316543 0.094786986709 0.000000000000 -vt 0.027898332104 0.053784426302 0.000000000000 -vt 0.031369995326 0.055613588542 0.000000000000 -vt 0.030157541856 0.062759563327 0.000000000000 -vt 0.033898938447 0.060758832842 0.000000000000 -vt 0.032940682024 0.067951634526 0.000000000000 -vt 0.027729919180 0.065882235765 0.000000000000 -vt 0.093380436301 0.131579592824 0.000000000000 -vt 0.101789981127 0.126331463456 0.000000000000 -vt 0.037756975740 0.051755558699 0.000000000000 -vt 0.035693880171 0.048643913120 0.000000000000 -vt 0.039868485183 0.048481795937 0.000000000000 -vt 0.041482623667 0.049996417016 0.000000000000 -vt 0.042654555291 0.045740988106 0.000000000000 -vt 0.045040067285 0.046664800495 0.000000000000 -vt 0.036985594779 0.046448197216 0.000000000000 -vt 0.034682709724 0.086651682854 0.000000000000 -vt 0.030933646485 0.089648038149 0.000000000000 -vt 0.029764866456 0.085144937038 0.000000000000 -vt 0.031592678279 0.081364586949 0.000000000000 -vt 0.034569006413 0.082026988268 0.000000000000 -vt 0.032102201134 0.080329999328 0.000000000000 -vt 0.028744241223 0.051196273416 0.000000000000 -vt 0.030639147386 0.050709929317 0.000000000000 -vt 0.036769222468 0.056941326708 0.000000000000 -vt 0.034461375326 0.053469661623 0.000000000000 -vt 0.041688408703 0.088625833392 0.000000000000 -vt 0.044041287154 0.087036460638 0.000000000000 -vt 0.042447183281 0.080775573850 0.000000000000 -vt 0.049191255122 0.076541990042 0.000000000000 -vt 0.046822618693 0.081983312964 0.000000000000 -vt 0.044226806611 0.072259977460 0.000000000000 -vt 0.046158861369 0.086456924677 0.000000000000 -vt 0.027991769835 0.075538471341 0.000000000000 -vt 0.027059858665 0.080196022987 0.000000000000 -vt 0.025024902076 0.073586151004 0.000000000000 -vt 0.026086058468 0.070214003325 0.000000000000 -vt 0.026441354305 0.067705318332 0.000000000000 -vt 0.028167841956 0.071457535028 0.000000000000 -vt 0.028880013153 0.073195055127 0.000000000000 -vt 0.030567547306 0.076351955533 0.000000000000 -vt 0.030551789328 0.069745004177 0.000000000000 -vt 0.029026357457 0.069470763206 0.000000000000 -vt 0.030614150688 0.072523415089 0.000000000000 -vt 0.043936815113 0.092527776957 0.000000000000 -vt 0.046364661306 0.097238019109 0.000000000000 -vt 0.044538419694 0.100720718503 0.000000000000 -vt 0.042931716889 0.101345524192 0.000000000000 -vt 0.048817273229 0.100172251463 0.000000000000 -vt 0.048457246274 0.102738559246 0.000000000000 -vt 0.137558788061 0.098332047462 0.000000000000 -vt 0.139102905989 0.097345650196 0.000000000000 -vt 0.138733655214 0.098258882761 0.000000000000 -vt 0.137797236443 0.098970815539 0.000000000000 -vt 0.138197556138 0.099481925368 0.000000000000 -vt 0.139004737139 0.098487854004 0.000000000000 -vt 0.139805614948 0.097956493497 0.000000000000 -vt 0.139377146959 0.099524021149 0.000000000000 -vt 0.050679307431 0.107523784041 0.000000000000 -vt 0.054135438055 0.112569287419 0.000000000000 -vt 0.050330314785 0.114288136363 0.000000000000 -vt 0.047148425132 0.107650101185 0.000000000000 -vt 0.050964351743 0.104889020324 0.000000000000 -vt 0.053239319474 0.103625223041 0.000000000000 -vt 0.055646907538 0.107062682509 0.000000000000 -vt 0.058104019612 0.112983807921 0.000000000000 -vt 0.140801474452 0.096658468246 0.000000000000 -vt 0.138233363628 0.096205011010 0.000000000000 -vt 0.140344858170 0.095949456096 0.000000000000 -vt 0.142007410526 0.098663926125 0.000000000000 -vt 0.140017718077 0.100223585963 0.000000000000 -vt 0.141385748982 0.098199442029 0.000000000000 -vt 0.141155198216 0.097431436181 0.000000000000 -vt 0.133312597871 0.105359598994 0.000000000000 -vt 0.132514864206 0.104310825467 0.000000000000 -vt 0.134183719754 0.106383368373 0.000000000000 -vt 0.140815436840 0.100723877549 0.000000000000 -vt 0.141863986850 0.099782720208 0.000000000000 -vt 0.142421916127 0.100219070911 0.000000000000 -vt 0.142892494798 0.098935022950 0.000000000000 -vt 0.050447177142 0.103112548590 0.000000000000 -vt 0.052483703941 0.102864876390 0.000000000000 -vt 0.144728183746 0.104067876935 0.000000000000 -vt 0.144224733114 0.102514311671 0.000000000000 -vt 0.145186141133 0.101699247956 0.000000000000 -vt 0.146470203996 0.103851273656 0.000000000000 -vt 0.143584400415 0.101527899504 0.000000000000 -vt 0.144430533051 0.100561767817 0.000000000000 -vt 0.141550794244 0.101287886500 0.000000000000 -vt 0.061257999390 0.112659797072 0.000000000000 -vt 0.065134719014 0.115944370627 0.000000000000 -vt 0.061873342842 0.123118489981 0.000000000000 -vt 0.056573864073 0.121722295880 0.000000000000 -vt 0.067445486784 0.110573291779 0.000000000000 -vt 0.063640370965 0.107372716069 0.000000000000 -vt 0.069648854434 0.106004670262 0.000000000000 -vt 0.066685140133 0.100748866796 0.000000000000 -vt 0.072863399982 0.099591121078 0.000000000000 -vt 0.079629309475 0.095017760992 0.000000000000 -vt 0.063420616090 0.097499877214 0.000000000000 -vt 0.064508341253 0.086475610733 0.000000000000 -vt 0.143850758672 0.104326352477 0.000000000000 -vt 0.143411472440 0.103562861681 0.000000000000 -vt 0.056262250990 0.094160601497 0.000000000000 -vt 0.056469622999 0.096354737878 0.000000000000 -vt 0.051992859691 0.094852507114 0.000000000000 -vt 0.052877943963 0.092719376087 0.000000000000 -vt 0.057681854814 0.098607867956 0.000000000000 -vt 0.053764607757 0.098246261477 0.000000000000 -vt 0.051455195993 0.098188623786 0.000000000000 -vt 0.049526061863 0.095104902983 0.000000000000 -vt 0.050771173090 0.101749226451 0.000000000000 -vt 0.052848231047 0.102208778262 0.000000000000 -vt 0.051238592714 0.100907593966 0.000000000000 -vt 0.052483703941 0.100563332438 0.000000000000 -vt 0.057426307350 0.106243103743 0.000000000000 -vt 0.059230696410 0.102589055896 0.000000000000 -vt 0.054297324270 0.103461548686 0.000000000000 -vt 0.054697874933 0.101320534945 0.000000000000 -vt 0.052963506430 0.122161805630 0.000000000000 -vt 0.052379231900 0.131099566817 0.000000000000 -vt 0.048094075173 0.130477920175 0.000000000000 -vt 0.046760257334 0.130856394768 0.000000000000 -vt 0.050066884607 0.122128933668 0.000000000000 -vt 0.156333580613 0.006823139265 0.000000000000 -vt 0.149899765849 0.012613456696 0.000000000000 -vt 0.148388311267 0.011923130602 0.000000000000 -vt 0.154814451933 0.007212657481 0.000000000000 -vt 0.143572017550 0.018695119768 0.000000000000 -vt 0.142008990049 0.017630811781 0.000000000000 -vt 0.141720786691 0.017121285200 0.000000000000 -vt 0.147525057197 0.011396490037 0.000000000000 -vt 0.137385874987 0.025342378765 0.000000000000 -vt 0.135559633374 0.023885395378 0.000000000000 -vt 0.134478226304 0.023776423186 0.000000000000 -vt 0.129616662860 0.030687112361 0.000000000000 -vt 0.127787277102 0.029326722026 0.000000000000 -vt 0.122677840292 0.035132572055 0.000000000000 -vt 0.121847249568 0.031333755702 0.000000000000 -vt 0.121459312737 0.026788320392 0.000000000000 -vt 0.126799300313 0.025711629540 0.000000000000 -vt 0.116022720933 0.031031373888 0.000000000000 -vt 0.116498008370 0.026107456535 0.000000000000 -vt 0.109646543860 0.029707010835 0.000000000000 -vt 0.110188722610 0.025318961591 0.000000000000 -vt 0.102204486728 0.027808953077 0.000000000000 -vt 0.102347925305 0.024181474000 0.000000000000 -vt 0.120979495347 0.024089615792 0.000000000000 -vt 0.116271957755 0.023522447795 0.000000000000 -vt 0.110184207559 0.022347588092 0.000000000000 -vt 0.102416366339 0.022239964455 0.000000000000 -vt 0.133086755872 0.021283280104 0.000000000000 -vt 0.125700771809 0.022800825536 0.000000000000 -vt 0.131805852056 0.019698411226 0.000000000000 -vt 0.140229582787 0.014688935131 0.000000000000 -vt 0.145475924015 0.010294806212 0.000000000000 -vt 0.152886912227 0.006676563993 0.000000000000 -vt 0.047576893121 0.122769504786 0.000000000000 -vt 0.044946629554 0.130904808640 0.000000000000 -vt 0.047352414578 0.114989265800 0.000000000000 -vt 0.044636588544 0.108223572373 0.000000000000 -vt 0.040943596512 0.101545020938 0.000000000000 -vt 0.041778694838 0.117057085037 0.000000000000 -vt 0.038933407515 0.109159991145 0.000000000000 -vt 0.042194779962 0.125491634011 0.000000000000 -vt 0.042258728296 0.131637245417 0.000000000000 -vt 0.150459289551 0.005439335480 0.000000000000 -vt 0.147406622767 0.004468692467 0.000000000000 -vt 0.143596783280 0.008389092982 0.000000000000 -vt 0.139240026474 0.012483991683 0.000000000000 -vt 0.039006810635 0.131603017449 0.000000000000 -vt 0.039525572211 0.125474527478 0.000000000000 -vt 0.038843121380 0.117890611291 0.000000000000 -vt 0.036237854511 0.109794244170 0.000000000000 -vt 0.035265412182 0.101655572653 0.000000000000 -vt 0.032339062542 0.095125168562 0.000000000000 -vt 0.030368058011 0.090082809329 0.000000000000 -vt 0.031399492174 0.094974085689 0.000000000000 -vt 0.033498387784 0.101733475924 0.000000000000 -vt 0.028639992699 0.086095318198 0.000000000000 -vt 0.025852348655 0.081437990069 0.000000000000 -vt 0.022753085941 0.076138511300 0.000000000000 -vt 0.023653708398 0.075184747577 0.000000000000 -vt 0.020847376436 0.069434955716 0.000000000000 -vt 0.021620105952 0.067643180490 0.000000000000 -vt 0.023307643831 0.064264953136 0.000000000000 -vt 0.017721544951 0.061841826886 0.000000000000 -vt 0.020375225693 0.059083905071 0.000000000000 -vt 0.053222205490 0.012929573655 0.000000000000 -vt 0.050235074013 0.010815139860 0.000000000000 -vt 0.056510146707 0.014634449035 0.000000000000 -vt 0.054663654417 0.018612489104 0.000000000000 -vt 0.060259204358 0.016382552683 0.000000000000 -vt 0.059049900621 0.020086579025 0.000000000000 -vt 0.058030847460 0.021122742444 0.000000000000 -vt 0.054247569293 0.019831027836 0.000000000000 -vt 0.056996259838 0.023039262742 0.000000000000 -vt 0.053340639919 0.022660780698 0.000000000000 -vt 0.055484797806 0.025647688657 0.000000000000 -vt 0.052176591009 0.025117896497 0.000000000000 -vt 0.049496565014 0.024186205119 0.000000000000 -vt 0.045745935291 0.023629847914 0.000000000000 -vt 0.047365020961 0.022347588092 0.000000000000 -vt 0.044394996017 0.020589802414 0.000000000000 -vt 0.045242708176 0.019883941859 0.000000000000 -vt 0.024909622967 0.052349288017 0.000000000000 -vt 0.025043588132 0.050973366946 0.000000000000 -vt 0.027739373967 0.047426950186 0.000000000000 -vt 0.024479579180 0.048439692706 0.000000000000 -vt 0.042350593954 0.024865496904 0.000000000000 -vt 0.042051356286 0.021227214485 0.000000000000 -vt 0.036529209465 0.022210467607 0.000000000000 -vt 0.037055846304 0.026330355555 0.000000000000 -vt 0.036963980645 0.028058420867 0.000000000000 -vt 0.031510043889 0.025784809142 0.000000000000 -vt 0.031432140619 0.027294699103 0.000000000000 -vt 0.036716084927 0.029509097338 0.000000000000 -vt 0.031419757754 0.028624013066 0.000000000000 -vt 0.027148788795 0.027899462730 0.000000000000 -vt 0.027295140550 0.028648782521 0.000000000000 -vt 0.036427881569 0.031031373888 0.000000000000 -vt 0.031274754554 0.029678862542 0.000000000000 -vt 0.027111416683 0.029242511839 0.000000000000 -vt 0.030949188396 0.030895829201 0.000000000000 -vt 0.035843607038 0.032156471163 0.000000000000 -vt 0.020707104355 0.028784547001 0.000000000000 -vt 0.022812303156 0.031886737794 0.000000000000 -vt 0.020281784236 0.029052484781 0.000000000000 -vt 0.023458946496 0.031434852630 0.000000000000 -vt 0.022109370679 0.032270174474 0.000000000000 -vt 0.020171005279 0.029769152403 0.000000000000 -vt 0.021504826844 0.032532032579 0.000000000000 -vt 0.025012519211 0.036299776286 0.000000000000 -vt 0.024063490331 0.036756169051 0.000000000000 -vt 0.023340519518 0.037314102054 0.000000000000 -vt 0.027483826503 0.041390310973 0.000000000000 -vt 0.026430319995 0.041890602559 0.000000000000 -vt 0.025338094682 0.042350146919 0.000000000000 -vt 0.029316132888 0.046764533967 0.000000000000 -vt 0.022701527923 0.043102841824 0.000000000000 -vt 0.030600195751 0.046093124896 0.000000000000 -vt 0.032929647714 0.049832727760 0.000000000000 -vt 0.031767170876 0.045388620347 0.000000000000 -vt 0.029398767278 0.040288627148 0.000000000000 -vt 0.032870430499 0.044547211379 0.000000000000 -vt 0.028457617387 0.040873128921 0.000000000000 -vt 0.030336765572 0.039641980082 0.000000000000 -vt 0.033799197525 0.043578144163 0.000000000000 -vt 0.037752252072 0.045114379376 0.000000000000 -vt 0.041783425957 0.044548790902 0.000000000000 -vt 0.025857076049 0.035843163729 0.000000000000 -vt 0.026734281331 0.035361554474 0.000000000000 -vt 0.041914243251 0.032859180123 0.000000000000 -vt 0.040793869644 0.033786371350 0.000000000000 -vt 0.030941305682 0.023799840361 0.000000000000 -vt 0.057466831058 0.013119827956 0.000000000000 -vt 0.054774206132 0.010378789157 0.000000000000 -vt 0.051085937768 0.008826795965 0.000000000000 -vt 0.051754426211 0.007754832506 0.000000000000 -vt 0.088373884559 0.020429264754 0.000000000000 -vt 0.088517308235 0.019399408251 0.000000000000 -vt 0.090854644775 0.019729707390 0.000000000000 -vt 0.090842038393 0.020712960511 0.000000000000 -vt 0.094946391881 0.022414457053 0.000000000000 -vt 0.095091395080 0.020460564643 0.000000000000 -vt 0.094299748540 0.025574509054 0.000000000000 -vt 0.090377770364 0.023751430213 0.000000000000 -vt 0.109390988946 0.033906377852 0.000000000000 -vt 0.101716801524 0.030102606863 0.000000000000 -vt 0.116005614400 0.037482291460 0.000000000000 -vt 0.123491324484 0.037183284760 0.000000000000 -vt 0.125074386597 0.041345056146 0.000000000000 -vt 0.130738392472 0.031681168824 0.000000000000 -vt 0.133287593722 0.035913188010 0.000000000000 -vt 0.135103031993 0.039498783648 0.000000000000 -vt 0.140455409884 0.028768789023 0.000000000000 -vt 0.144802927971 0.035279151052 0.000000000000 -vt 0.146699190140 0.040768656880 0.000000000000 -vt 0.137726977468 0.044129770249 0.000000000000 -vt 0.147504791617 0.045349668711 0.000000000000 -vt 0.138828665018 0.047825690359 0.000000000000 -vt 0.146984457970 0.048285465688 0.000000000000 -vt 0.138644710183 0.050088282675 0.000000000000 -vt 0.129806697369 0.052833821625 0.000000000000 -vt 0.169347777963 0.087803125381 0.000000000000 -vt 0.166878044605 0.096072614193 0.000000000000 -vt 0.123137615621 0.057648766786 0.000000000000 -vt 0.120253384113 0.063675940037 0.000000000000 -vt 0.115961924195 0.067340791225 0.000000000000 -vt 0.118732467294 0.069205984473 0.000000000000 -vt 0.118006333709 0.075494781137 0.000000000000 -vt 0.115131542087 0.074644148350 0.000000000000 -vt 0.109959736466 0.072775810957 0.000000000000 -vt 0.111552253366 0.064712107182 0.000000000000 -vt 0.102553710341 0.070056840777 0.000000000000 -vt 0.109609171748 0.082248091698 0.000000000000 -vt 0.100861445069 0.081328779459 0.000000000000 -vt 0.090299867094 0.080892428756 0.000000000000 -vt 0.091694474220 0.066030398011 0.000000000000 -vt 0.079119786620 0.055774118751 0.000000000000 -vt 0.072969444096 0.053520996124 0.000000000000 -vt 0.071013972163 0.047288250178 0.000000000000 -vt 0.068132661283 0.051054421812 0.000000000000 -vt 0.065332636237 0.054049205035 0.000000000000 -vt 0.061893608421 0.046331342310 0.000000000000 -vt 0.058749314398 0.049416642636 0.000000000000 -vt 0.061658326536 0.058715995401 0.000000000000 -vt 0.055071856827 0.053793657571 0.000000000000 -vt 0.052937161177 0.044756155461 0.000000000000 -vt 0.049072828144 0.049751672894 0.000000000000 -vt 0.058147702366 0.064059153199 0.000000000000 -vt 0.052524227649 0.058092769235 0.000000000000 -vt 0.045923579484 0.053873132914 0.000000000000 -vt 0.046409692615 0.047785166651 0.000000000000 -vt 0.043375950307 0.051665265113 0.000000000000 -vt 0.050428483635 0.061640765518 0.000000000000 -vt 0.043210681528 0.056986581534 0.000000000000 -vt 0.040099035949 0.054348435253 0.000000000000 -vt 0.039909008890 0.059638466686 0.000000000000 -vt 0.047191876918 0.065960139036 0.000000000000 -vt 0.038101460785 0.065509825945 0.000000000000 -vt 0.035400953144 0.074902862310 0.000000000000 -vt 0.055581387132 0.067733466625 0.000000000000 -vt 0.052806120366 0.071872040629 0.000000000000 -vt 0.060378994793 0.075755074620 0.000000000000 -vt 0.058071371168 0.078776419163 0.000000000000 -vt 0.055618759245 0.080065205693 0.000000000000 -vt 0.052734520286 0.079525962472 0.000000000000 -vt 0.053052444011 0.081367731094 0.000000000000 -vt 0.050789859146 0.083292141557 0.000000000000 -vt 0.049432624131 0.082779452205 0.000000000000 -vt 0.049594733864 0.085844501853 0.000000000000 -vt 0.048008512706 0.086075052619 0.000000000000 -vt 0.050535883754 0.089364573359 0.000000000000 -vt 0.049192603678 0.090299412608 0.000000000000 -vt 0.047464769334 0.090754449368 0.000000000000 -vt 0.045393791050 0.091461896896 0.000000000000 -vt 0.047896388918 0.095926046371 0.000000000000 -vt 0.049828443676 0.098826035857 0.000000000000 -vt 0.057419996709 0.081000059843 0.000000000000 -vt 0.060966644436 0.087109863758 0.000000000000 -vt 0.059794712812 0.087519645691 0.000000000000 -vt 0.060287129134 0.094168484211 0.000000000000 -vt 0.059352282435 0.093295782804 0.000000000000 -vt 0.062393907458 0.086673513055 0.000000000000 -vt 0.061801750213 0.096052348614 0.000000000000 -vt 0.049892392009 0.042724128813 0.000000000000 -vt 0.052075494081 0.038878478110 0.000000000000 -vt 0.055960100144 0.041236083955 0.000000000000 -vt 0.055889848620 0.035288382322 0.000000000000 -vt 0.060157891363 0.037993393838 0.000000000000 -vt 0.065116032958 0.042724128813 0.000000000000 -vt 0.064106442034 0.032941814512 0.000000000000 -vt 0.068679787219 0.036249794066 0.000000000000 -vt 0.074156686664 0.040447585285 0.000000000000 -vt 0.073277905583 0.031112428755 0.000000000000 -vt 0.077270135283 0.034540414810 0.000000000000 -vt 0.072071976960 0.025901664048 0.000000000000 -vt 0.069379344583 0.029083553702 0.000000000000 -vt 0.069463558495 0.025113392621 0.000000000000 -vt 0.067841313779 0.024271763861 0.000000000000 -vt 0.099162861705 0.091220304370 0.000000000000 -vt 0.089000269771 0.092127218843 0.000000000000 -vt 0.097078159451 0.097934648395 0.000000000000 -vt 0.087571434677 0.099022373557 0.000000000000 -vt 0.079772509634 0.101554468274 0.000000000000 -vt 0.086257882416 0.102638825774 0.000000000000 -vt 0.079043231905 0.105086937547 0.000000000000 -vt 0.075504690409 0.108024075627 0.000000000000 -vt 0.074613302946 0.105156958103 0.000000000000 -vt 0.073125250638 0.110627785325 0.000000000000 -vt 0.071593523026 0.108968392015 0.000000000000 -vt 0.070599466562 0.114607393742 0.000000000000 -vt 0.069200120866 0.112909048796 0.000000000000 -vt 0.067964471877 0.119090452790 0.000000000000 -vt 0.066672757268 0.117705300450 0.000000000000 -vt 0.065623983741 0.124006733298 0.000000000000 -vt 0.064179614186 0.123651430011 0.000000000000 -vt 0.064288586378 0.130211338401 0.000000000000 -vt 0.062253635377 0.130234748125 0.000000000000 -vt 0.058482732624 0.130786374211 0.000000000000 -vt 0.122141756117 0.148486047983 0.000000000000 -vt 0.127875998616 0.147998362780 0.000000000000 -vt 0.127665698528 0.150818660855 0.000000000000 -vt 0.122073300183 0.151981130242 0.000000000000 -vt 0.133205190301 0.149006605148 0.000000000000 -vt 0.133069649339 0.151248708367 0.000000000000 -vt 0.172021716833 0.016547817737 0.000000000000 -vt 0.169503584504 0.022040475160 0.000000000000 -vt 0.137767508626 0.149533241987 0.000000000000 -vt 0.137985691428 0.152411177754 0.000000000000 -vt 0.168945640326 0.028130020946 0.000000000000 -vt 0.129772469401 0.142226740718 0.000000000000 -vt 0.133960813284 0.145277813077 0.000000000000 -vt 0.137136399746 0.143440544605 0.000000000000 -vt 0.135624930263 0.133524268866 0.000000000000 -vt 0.137717753649 0.134089857340 0.000000000000 -vt 0.109607592225 0.111450493336 0.000000000000 -vt 0.100973561406 0.115215316415 0.000000000000 -vt 0.100111901760 0.112997993827 0.000000000000 -vt 0.109063848853 0.109449759126 0.000000000000 -vt 0.094076842070 0.114406555891 0.000000000000 -vt 0.109662085772 0.113127216697 0.000000000000 -vt 0.101924166083 0.117096036673 0.000000000000 -vt 0.118073418736 0.107520863414 0.000000000000 -vt 0.118896141648 0.109094470739 0.000000000000 -vt 0.119979143143 0.110803857446 0.000000000000 -vt 0.109627857804 0.115891456604 0.000000000000 -vt 0.121512211859 0.112745359540 0.000000000000 -vt 0.113743022084 0.119411528111 0.000000000000 -vt 0.123366601765 0.114860013127 0.000000000000 -vt 0.116215899587 0.122188150883 0.000000000000 -vt 0.104867622256 0.130242630839 0.000000000000 -vt 0.095320373774 0.140049934387 0.000000000000 -vt 0.118313208222 0.124379143119 0.000000000000 -vt 0.107863992453 0.133408755064 0.000000000000 -vt 0.099661588669 0.143760040402 0.000000000000 -vt 0.087192721665 0.108221992850 0.000000000000 -vt 0.082525931299 0.110838308930 0.000000000000 -vt 0.110880628228 0.135783463717 0.000000000000 -vt 0.103619366884 0.146102100611 0.000000000000 -vt 0.078900031745 0.113002493978 0.000000000000 -vt 0.114026710391 0.137971296906 0.000000000000 -vt 0.107220500708 0.147809907794 0.000000000000 -vt 0.075743131340 0.114870831370 0.000000000000 -vt 0.117038622499 0.139775693417 0.000000000000 -vt 0.110938265920 0.149550363421 0.000000000000 -vt 0.072325952351 0.116807609797 0.000000000000 -vt 0.121297188103 0.140570491552 0.000000000000 -vt 0.116660133004 0.148486047983 0.000000000000 -vt 0.070322073996 0.122125789523 0.000000000000 -vt 0.125169411302 0.141371369362 0.000000000000 -vt 0.067821048200 0.126478031278 0.000000000000 -vt 0.126182377338 0.130125775933 0.000000000000 -vt 0.128910809755 0.131200894713 0.000000000000 -vt 0.132871732116 0.132607877254 0.000000000000 -vt 0.133273646235 0.122961118817 0.000000000000 -vt 0.135723099113 0.124199911952 0.000000000000 -vt 0.137808039784 0.124982103705 0.000000000000 -vt 0.138423606753 0.117220535874 0.000000000000 -vt 0.140033245087 0.117920324206 0.000000000000 -vt 0.141472890973 0.118429854512 0.000000000000 -vt 0.139520570636 0.125482171774 0.000000000000 -vt 0.124876491725 0.103963419795 0.000000000000 -vt 0.117411032319 0.105984404683 0.000000000000 -vt 0.124236144125 0.102663815022 0.000000000000 -vt 0.129794090986 0.099442973733 0.000000000000 -vt 0.130341216922 0.100725457072 0.000000000000 -vt 0.131000250578 0.101975068450 0.000000000000 -vt 0.125632330775 0.105312764645 0.000000000000 -vt 0.131731107831 0.103181213140 0.000000000000 -vt 0.126520335674 0.106766596437 0.000000000000 -vt 0.127601757646 0.108326464891 0.000000000000 -vt 0.128798455000 0.109823748469 0.000000000000 -vt 0.130024880171 0.111135736108 0.000000000000 -vt 0.125136762857 0.116662845016 0.000000000000 -vt 0.131293177605 0.112291902304 0.000000000000 -vt 0.126648217440 0.118099555373 0.000000000000 -vt 0.120172336698 0.126228556037 0.000000000000 -vt 0.128081783652 0.119333624840 0.000000000000 -vt 0.122010938823 0.127758711576 0.000000000000 -vt 0.129577711225 0.120530337095 0.000000000000 -vt 0.123975865543 0.129045933485 0.000000000000 -vt 0.131254225969 0.121706768870 0.000000000000 -vt 0.133884489536 0.114366039634 0.000000000000 -vt 0.135243296623 0.115338250995 0.000000000000 -vt 0.136775031686 0.116316780448 0.000000000000 -vt 0.138644710183 0.110085606575 0.000000000000 -vt 0.139880597591 0.110813304782 0.000000000000 -vt 0.141141012311 0.111453637481 0.000000000000 -vt 0.142396926880 0.111997395754 0.000000000000 -vt 0.143704399467 0.112458750606 0.000000000000 -vt 0.137226909399 0.097607508302 0.000000000000 -vt 0.142870649695 0.102392718196 0.000000000000 -vt 0.137440353632 0.109256580472 0.000000000000 -vt 0.142222434282 0.101855054498 0.000000000000 -vt 0.143068566918 0.100842311978 0.000000000000 -vt 0.143592044711 0.099678248167 0.000000000000 -vt 0.136274725199 0.108363851905 0.000000000000 -vt 0.135182499886 0.107386663556 0.000000000000 -vt 0.132592767477 0.113364085555 0.000000000000 -vt 0.095187984407 0.102827504277 0.000000000000 -vt 0.094770319760 0.109039977193 0.000000000000 -vt 0.115190759301 0.083002358675 0.000000000000 -vt 0.117822378874 0.083010017872 0.000000000000 -vt 0.118609294295 0.089811727405 0.000000000000 -vt 0.145974636078 0.053520996124 0.000000000000 -vt 0.146114915609 0.056235466152 0.000000000000 -vt 0.139495581388 0.056631293148 0.000000000000 -vt 0.139889821410 0.054191056639 0.000000000000 -vt 0.119352757931 0.094131112099 0.000000000000 -vt 0.136199980974 0.055359613150 0.000000000000 -vt 0.119957312942 0.096627399325 0.000000000000 -vt 0.133549451828 0.056533124298 0.000000000000 -vt 0.144910335541 0.057005267590 0.000000000000 -vt 0.139738738537 0.057558249682 0.000000000000 -vt 0.145398020744 0.061774957925 0.000000000000 -vt 0.139342918992 0.061978947371 0.000000000000 -vt 0.149662911892 0.063947036862 0.000000000000 -vt 0.153687775135 0.067230239511 0.000000000000 -vt 0.155149489641 0.059760045260 0.000000000000 -vt 0.158387213945 0.062926396728 0.000000000000 -vt 0.157279461622 0.070296630263 0.000000000000 -vt 0.163594841957 0.066641241312 0.000000000000 -vt 0.153912261128 0.057711135596 0.000000000000 -vt 0.159546762705 0.060358505696 0.000000000000 -vt 0.164818108082 0.064783707261 0.000000000000 -vt 0.165087610483 0.069813668728 0.000000000000 -vt 0.167392298579 0.069913417101 0.000000000000 -vt 0.162909239531 0.058806512505 0.000000000000 -vt 0.168085560203 0.065015837550 0.000000000000 -vt 0.170962139964 0.071387514472 0.000000000000 -vt 0.171663269401 0.079518079758 0.000000000000 -vt 0.168453454971 0.075633481145 0.000000000000 -vt 0.154616549611 0.054712962359 0.000000000000 -vt 0.160480037332 0.072431325912 0.000000000000 -vt 0.165078386664 0.102370887995 0.000000000000 -vt 0.160031303763 0.101119697094 0.000000000000 -vt 0.153291955590 0.047032695264 0.000000000000 -vt 0.081070527434 0.018897537142 0.000000000000 -vt 0.085028529167 0.019402559847 0.000000000000 -vt 0.066250368953 0.017697680742 0.000000000000 -vt 0.060628462583 0.015371378511 0.000000000000 -vt 0.066359564662 0.016670975834 0.000000000000 -vt 0.071543760598 0.016661521047 0.000000000000 -vt 0.071405068040 0.017848987132 0.000000000000 -vt 0.075989224017 0.018615640700 0.000000000000 -vt 0.076596923172 0.017573174089 0.000000000000 -vt 0.017198059708 0.064038887620 0.000000000000 -vt 0.020149167627 0.070380836725 0.000000000000 -vt 0.016810115427 0.065315067768 0.000000000000 -vt 0.158577471972 0.046223942190 0.000000000000 -vt 0.102452382445 0.038576319814 0.000000000000 -vt 0.089843250811 0.037739418447 0.000000000000 -vt 0.086650550365 0.040033075958 0.000000000000 -vt 0.086444757879 0.038370531052 0.000000000000 -vt 0.089615844190 0.039254039526 0.000000000000 -vt 0.094363689423 0.042627539486 0.000000000000 -vt 0.089279234409 0.040964987129 0.000000000000 -vt 0.096154123545 0.044999096543 0.000000000000 -vt 0.099321827292 0.047730680555 0.000000000000 -vt 0.097085818648 0.047713566571 0.000000000000 -vt 0.095434077084 0.052601691335 0.000000000000 -vt 0.094276331365 0.051693182439 0.000000000000 -vt 0.089904040098 0.052642215043 0.000000000000 -vt 0.089681141078 0.050836246461 0.000000000000 -vt 0.084422186017 0.049848269671 0.000000000000 -vt 0.086022593081 0.049033429474 0.000000000000 -vt 0.082889109850 0.045797046274 0.000000000000 -vt 0.084425337613 0.045902874321 0.000000000000 -vt 0.084310062230 0.042319070548 0.000000000000 -vt 0.085408590734 0.043013904244 0.000000000000 -vt 0.083744473755 0.041396614164 0.000000000000 -vt 0.087161652744 0.041465062648 0.000000000000 -vt 0.089801147580 0.053888674825 0.000000000000 -vt 0.096400216222 0.053726788610 0.000000000000 -vt 0.101375699043 0.047830428928 0.000000000000 -vt 0.150993570685 0.099017649889 0.000000000000 -vt 0.131135791540 0.085984766483 0.000000000000 -vt 0.137482464314 0.092382773757 0.000000000000 -vt 0.135268285871 0.088904798031 0.000000000000 -vt 0.139503464103 0.089568555355 0.000000000000 -vt 0.136636331677 0.087804690003 0.000000000000 -vt 0.139095246792 0.088097617030 0.000000000000 -vt 0.141262590885 0.086944609880 0.000000000000 -vt 0.143028035760 0.087709680200 0.000000000000 -vt 0.052647162229 0.028242152184 0.000000000000 -vt 0.091367103159 0.114521846175 0.000000000000 -vt 0.024943847209 0.029597807676 0.000000000000 -vt 0.082706280053 0.355134129524 0.000000000000 -vt 0.085947386920 0.363250732422 0.000000000000 -vt 0.082174688578 0.364220470190 0.000000000000 -vt 0.079061470926 0.357818633318 0.000000000000 -vt 0.076576210558 0.349433183670 0.000000000000 -vt 0.074389949441 0.353636831045 0.000000000000 -vt 0.070025764406 0.352275311947 0.000000000000 -vt 0.069683760405 0.347608089447 0.000000000000 -vt 0.084169343114 0.377381920815 0.000000000000 -vt 0.080777153373 0.375979661942 0.000000000000 -vt 0.082553848624 0.370932579041 0.000000000000 -vt 0.086099147797 0.371338099241 0.000000000000 -vt 0.079547807574 0.364964604378 0.000000000000 -vt 0.080153018236 0.370642364025 0.000000000000 -vt 0.076729759574 0.359675943851 0.000000000000 -vt 0.073228374124 0.356270015240 0.000000000000 -vt 0.070341885090 0.355011194944 0.000000000000 -vt 0.078728012741 0.374791979790 0.000000000000 -vt 0.078406266868 0.379009783268 0.000000000000 -vt 0.081292532384 0.382708638906 0.000000000000 -vt 0.077228710055 0.376913607121 0.000000000000 -vt 0.076079964638 0.380043476820 0.000000000000 -vt 0.075517080724 0.383981227875 0.000000000000 -vt 0.075921684504 0.377626001835 0.000000000000 -vt 0.067173950374 0.353658229113 0.000000000000 -vt 0.068672135472 0.355914741755 0.000000000000 -vt 0.064776502550 0.349804252386 0.000000000000 -vt 0.072278216481 0.378946751356 0.000000000000 -vt 0.069932326674 0.382139891386 0.000000000000 -vt 0.073346585035 0.376760721207 0.000000000000 -vt 0.065008409321 0.358051896095 0.000000000000 -vt 0.067364208400 0.359130382538 0.000000000000 -vt 0.061515796930 0.356177270412 0.000000000000 -vt 0.067828252912 0.375058323145 0.000000000000 -vt 0.064983420074 0.377222746611 0.000000000000 -vt 0.069865681231 0.373641878366 0.000000000000 -vt 0.063662886620 0.364159464836 0.000000000000 -vt 0.066595532000 0.364011079073 0.000000000000 -vt 0.059879150242 0.364149570465 0.000000000000 -vt 0.064561255276 0.369833588600 0.000000000000 -vt 0.067180253565 0.369111299515 0.000000000000 -vt 0.061178293079 0.370929658413 0.000000000000 -vt 0.087921552360 0.351186037064 0.000000000000 -vt 0.091303609312 0.361563861370 0.000000000000 -vt 0.079885534942 0.343255817890 0.000000000000 -vt 0.069204851985 0.340724855661 0.000000000000 -vt 0.060809489340 0.344233006239 0.000000000000 -vt 0.055593322963 0.353128671646 0.000000000000 -vt 0.053862329572 0.363875776529 0.000000000000 -vt 0.055507313460 0.372740805149 0.000000000000 -vt 0.060099344701 0.380897492170 0.000000000000 -vt 0.066655874252 0.386289954185 0.000000000000 -vt 0.073765367270 0.388392239809 0.000000000000 -vt 0.081145055592 0.388035595417 0.000000000000 -vt 0.088785246015 0.377678692341 0.000000000000 -vt 0.087788932025 0.382556229830 0.000000000000 -vt 0.090708971024 0.371422529221 0.000000000000 -vt 0.098516449332 0.359101116657 0.000000000000 -vt 0.095570974052 0.371151894331 0.000000000000 -vt 0.081494718790 0.391452759504 0.000000000000 -vt 0.072904601693 0.391978055239 0.000000000000 -vt 0.087930560112 0.387041747570 0.000000000000 -vt 0.089069843292 0.390307635069 0.000000000000 -vt 0.093086160719 0.377379685640 0.000000000000 -vt 0.092234395444 0.382332623005 0.000000000000 -vt 0.096012048423 0.378206431866 0.000000000000 -vt 0.095273993909 0.382441610098 0.000000000000 -vt 0.098627001047 0.372742831707 0.000000000000 -vt 0.100691899657 0.375768691301 0.000000000000 -vt 0.097777709365 0.379422277212 0.000000000000 -vt 0.096909299493 0.382944613695 0.000000000000 -vt 0.064227119088 0.390731811523 0.000000000000 -vt 0.047463636845 0.374592483044 0.000000000000 -vt 0.045266803354 0.362910062075 0.000000000000 -vt 0.053129222244 0.386380702257 0.000000000000 -vt 0.055269774050 0.337182939053 0.000000000000 -vt 0.068264156580 0.332182705402 0.000000000000 -vt 0.047308508307 0.348847329617 0.000000000000 -vt 0.083508059382 0.335973203182 0.000000000000 -vt 0.092679306865 0.386310219765 0.000000000000 -vt 0.094604156911 0.389197170734 0.000000000000 -vt 0.096809998155 0.386411547661 0.000000000000 -vt 0.095029927790 0.385251104832 0.000000000000 -vt 0.098225995898 0.388757675886 0.000000000000 -vt 0.097066685557 0.389816790819 0.000000000000 -vt 0.098929613829 0.391160309315 0.000000000000 -vt 0.097326502204 0.391429573298 0.000000000000 -vt 0.094737671316 0.391862779856 0.000000000000 -vt 0.089453734457 0.392666131258 0.000000000000 -vt 0.081771887839 0.393726825714 0.000000000000 -vt 0.072946928442 0.394806444645 0.000000000000 -vt 0.063999712467 0.395681649446 0.000000000000 -vt 0.053615327924 0.396396279335 0.000000000000 -vt 0.041419353336 0.396926730871 0.000000000000 -vt 0.039976555854 0.386726528406 0.000000000000 -vt 0.037052463740 0.374329954386 0.000000000000 -vt 0.035149227828 0.359872728586 0.000000000000 -vt 0.038212914020 0.342804163694 0.000000000000 -vt 0.049577396363 0.328440159559 0.000000000000 -vt 0.067996665835 0.322506874800 0.000000000000 -vt 0.093688450754 0.346306473017 0.000000000000 -vt 0.088374562562 0.327701002359 0.000000000000 -vt 0.100369259715 0.339963853359 0.000000000000 -vt 0.105655893683 0.350941717625 0.000000000000 -vt 0.103044107556 0.365339487791 0.000000000000 -vt 0.108533605933 0.357757389545 0.000000000000 -vt 0.105408892035 0.369979262352 0.000000000000 -vt 0.098068401217 0.383108973503 0.000000000000 -vt 0.098497763276 0.385625302792 0.000000000000 -vt 0.101734369993 0.380148172379 0.000000000000 -vt 0.098705813289 0.380785822868 0.000000000000 -vt 0.099697157741 0.387924820185 0.000000000000 -vt 0.100644618273 0.390900254250 0.000000000000 -vt 0.105129703879 0.377691507339 0.000000000000 -vt 0.105785802007 0.382571756840 0.000000000000 -vt 0.103088900447 0.383172452450 0.000000000000 -vt 0.106459483504 0.386435866356 0.000000000000 -vt 0.104129120708 0.386695683002 0.000000000000 -vt 0.104879111052 0.390249550343 0.000000000000 -vt 0.102643325925 0.390611141920 0.000000000000 -vt 0.101812496781 0.387293249369 0.000000000000 -vt 0.099612280726 0.383124738932 0.000000000000 -vt 0.100343361497 0.384889960289 0.000000000000 -vt 0.101334720850 0.382499039173 0.000000000000 -vt 0.099765837193 0.381787300110 0.000000000000 -vt 0.101950511336 0.385482788086 0.000000000000 -vt 0.102647826076 0.385179489851 0.000000000000 -vt 0.102046653628 0.383690536022 0.000000000000 -vt 0.101413294673 0.384207725525 0.000000000000 -vt 0.101018831134 0.383238196373 0.000000000000 -vt 0.111804887652 0.347057133913 0.000000000000 -vt 0.113323777914 0.353700101376 0.000000000000 -vt 0.116853311658 0.353322982788 0.000000000000 -vt 0.117552861571 0.346509546041 0.000000000000 -vt 0.123864643276 0.349401652813 0.000000000000 -vt 0.120530322194 0.355773121119 0.000000000000 -vt 0.129755362868 0.355360180140 0.000000000000 -vt 0.124298743904 0.360911160707 0.000000000000 -vt 0.134041413665 0.362597793341 0.000000000000 -vt 0.127354532480 0.367429167032 0.000000000000 -vt 0.129645943642 0.373671829700 0.000000000000 -vt 0.136888504028 0.369591563940 0.000000000000 -vt 0.138823032379 0.375629991293 0.000000000000 -vt 0.131178572774 0.379008889198 0.000000000000 -vt 0.110230609775 0.361257672310 0.000000000000 -vt 0.113775447011 0.356992095709 0.000000000000 -vt 0.115981966257 0.356578052044 0.000000000000 -vt 0.118140742183 0.358845561743 0.000000000000 -vt 0.120337590575 0.363843351603 0.000000000000 -vt 0.122301377356 0.370323300362 0.000000000000 -vt 0.123794607818 0.376463502645 0.000000000000 -vt 0.125330835581 0.385786980391 0.000000000000 -vt 0.124756477773 0.381512612104 0.000000000000 -vt 0.132145613432 0.383721172810 0.000000000000 -vt 0.117319837213 0.365754455328 0.000000000000 -vt 0.116345807910 0.360568702221 0.000000000000 -vt 0.118315473199 0.372491776943 0.000000000000 -vt 0.119095861912 0.378632873297 0.000000000000 -vt 0.115259900689 0.358279764652 0.000000000000 -vt 0.113950163126 0.358692705631 0.000000000000 -vt 0.111850589514 0.362477779388 0.000000000000 -vt 0.109477445483 0.369221389294 0.000000000000 -vt 0.108606114984 0.376295775175 0.000000000000 -vt 0.108548924327 0.381853967905 0.000000000000 -vt 0.108668252826 0.385990947485 0.000000000000 -vt 0.109056636691 0.389389663935 0.000000000000 -vt 0.106977775693 0.389831870794 0.000000000000 -vt 0.115236923099 0.380258053541 0.000000000000 -vt 0.119639605284 0.383368134499 0.000000000000 -vt 0.115580737591 0.384713888168 0.000000000000 -vt 0.114937916398 0.374172329903 0.000000000000 -vt 0.114662095904 0.367107868195 0.000000000000 -vt 0.114699468017 0.361614972353 0.000000000000 -vt 0.114764764905 0.359385490417 0.000000000000 -vt 0.114121511579 0.359670996666 0.000000000000 -vt 0.113303065300 0.362503677607 0.000000000000 -vt 0.112174823880 0.368418276310 0.000000000000 -vt 0.111594587564 0.375343382359 0.000000000000 -vt 0.111402764916 0.381200790405 0.000000000000 -vt 0.111436754465 0.385559558868 0.000000000000 -vt 0.111605182290 0.388848632574 0.000000000000 -vt 0.140208870173 0.380911469460 0.000000000000 -vt 0.120046690106 0.387208133936 0.000000000000 -vt 0.116041406989 0.388132423162 0.000000000000 -vt 0.108075186610 0.335427641869 0.000000000000 -vt 0.097032681108 0.317022114992 0.000000000000 -vt 0.068101368845 0.311556011438 0.000000000000 -vt 0.117994397879 0.334477722645 0.000000000000 -vt 0.128177925944 0.338179260492 0.000000000000 -vt 0.136790558696 0.345966488123 0.000000000000 -vt 0.142394453287 0.355307698250 0.000000000000 -vt 0.145550668240 0.364030212164 0.000000000000 -vt 0.147579327226 0.371295541525 0.000000000000 -vt 0.149121865630 0.377288043499 0.000000000000 -vt 0.117433980107 0.316912233829 0.000000000000 -vt 0.132998272777 0.322530061007 0.000000000000 -vt 0.144912809134 0.333580464125 0.000000000000 -vt 0.151742890477 0.346387058496 0.000000000000 -vt 0.155101761222 0.357449173927 0.000000000000 -vt 0.157138064504 0.366050541401 0.000000000000 -vt 0.158694103360 0.372791916132 0.000000000000 -vt 0.093021988869 0.298639088869 0.000000000000 -vt 0.116434976459 0.299687176943 0.000000000000 -vt 0.137037336826 0.306387364864 0.000000000000 -vt 0.152599602938 0.319078207016 0.000000000000 -vt 0.161577224731 0.334434717894 0.000000000000 -vt 0.165657475591 0.348677575588 0.000000000000 -vt 0.167427644134 0.359111487865 0.000000000000 -vt 0.169053271413 0.366990566254 0.000000000000 -vt 0.066684693098 0.299283713102 0.000000000000 -vt 0.044727105647 0.318464457989 0.000000000000 -vt 0.029994530603 0.333837360144 0.000000000000 -vt 0.023920066655 0.352325320244 0.000000000000 -vt 0.023143958300 0.369406253099 0.000000000000 -vt 0.024057183415 0.384051918983 0.000000000000 -vt 0.024341106415 0.396830379963 0.000000000000 -vt 0.177712291479 0.335085839033 0.000000000000 -vt 0.181121811271 0.347459256649 0.000000000000 -vt 0.170949757099 0.319616109133 0.000000000000 -vt 0.158325985074 0.304390668869 0.000000000000 -vt 0.139046162367 0.292386740446 0.000000000000 -vt 0.114894911647 0.285406500101 0.000000000000 -vt 0.089810602367 0.284732818604 0.000000000000 -vt 0.064246259630 0.287257254124 0.000000000000 -vt 0.060561817139 0.275299966335 0.000000000000 -vt 0.085912264884 0.272128403187 0.000000000000 -vt 0.112814709544 0.271828740835 0.000000000000 -vt 0.139997899532 0.280653685331 0.000000000000 -vt 0.162012219429 0.289723157883 0.000000000000 -vt 0.177664101124 0.300114750862 0.000000000000 -vt 0.190142661333 0.313898980618 0.000000000000 -vt 0.198672652245 0.327432364225 0.000000000000 -vt 0.205239757895 0.340885162354 0.000000000000 -vt 0.183992534876 0.357445776463 0.000000000000 -vt 0.069244705141 0.368339478970 0.000000000000 -vt 0.071158297360 0.372511804104 0.000000000000 -vt 0.073666974902 0.375427126884 0.000000000000 -vt 0.075608938932 0.376399338245 0.000000000000 -vt 0.076639704406 0.375857174397 0.000000000000 -vt 0.077665731311 0.373797893524 0.000000000000 -vt 0.078264869750 0.370282560587 0.000000000000 -vt 0.077448233962 0.365520745516 0.000000000000 -vt 0.075266703963 0.360965639353 0.000000000000 -vt 0.072741590440 0.357893168926 0.000000000000 -vt 0.070687949657 0.356488436460 0.000000000000 -vt 0.069615535438 0.357108056545 0.000000000000 -vt 0.068887837231 0.359731346369 0.000000000000 -vt 0.068630032241 0.363813161850 0.000000000000 -vt 0.070949353278 0.367750674486 0.000000000000 -vt 0.072260208428 0.371762514114 0.000000000000 -vt 0.074021823704 0.374623537064 0.000000000000 -vt 0.075438044965 0.375722974539 0.000000000000 -vt 0.076083339751 0.375304430723 0.000000000000 -vt 0.076256714761 0.373671144247 0.000000000000 -vt 0.077135719359 0.370294928551 0.000000000000 -vt 0.076337769628 0.365889549255 0.000000000000 -vt 0.074512436986 0.361760437489 0.000000000000 -vt 0.072514630854 0.358907490969 0.000000000000 -vt 0.070951603353 0.357409089804 0.000000000000 -vt 0.070442758501 0.357752889395 0.000000000000 -vt 0.070120111108 0.359841883183 0.000000000000 -vt 0.070317119360 0.363489836454 0.000000000000 -vt 0.095527067780 0.433499604464 0.000000000000 -vt 0.089006572962 0.431389659643 0.000000000000 -vt 0.089679561555 0.423253923655 0.000000000000 -vt 0.095813460648 0.423289269209 0.000000000000 -vt 0.090270593762 0.442476540804 0.000000000000 -vt 0.085782580078 0.438130587339 0.000000000000 -vt 0.082391515374 0.447095155716 0.000000000000 -vt 0.081284202635 0.441373258829 0.000000000000 -vt 0.088421173394 0.409246772528 0.000000000000 -vt 0.092461802065 0.414794385433 0.000000000000 -vt 0.088074430823 0.416153192520 0.000000000000 -vt 0.085401162505 0.411531209946 0.000000000000 -vt 0.085601098835 0.423056453466 0.000000000000 -vt 0.085188619792 0.417149722576 0.000000000000 -vt 0.084852233529 0.429683655500 0.000000000000 -vt 0.083113588393 0.435138046741 0.000000000000 -vt 0.080847173929 0.437920957804 0.000000000000 -vt 0.083637073636 0.413283139467 0.000000000000 -vt 0.082392193377 0.409229904413 0.000000000000 -vt 0.084188699722 0.404711484909 0.000000000000 -vt 0.081871181726 0.411629140377 0.000000000000 -vt 0.079863473773 0.408857047558 0.000000000000 -vt 0.078159049153 0.404978066683 0.000000000000 -vt 0.080601528287 0.411386430264 0.000000000000 -vt 0.077497541904 0.440609782934 0.000000000000 -vt 0.078839689493 0.437481015921 0.000000000000 -vt 0.075624249876 0.445949316025 0.000000000000 -vt 0.076512485743 0.410979568958 0.000000000000 -vt 0.072959765792 0.408222317696 0.000000000000 -vt 0.078687265515 0.412980526686 0.000000000000 -vt 0.074185512960 0.435919106007 0.000000000000 -vt 0.076881967485 0.434023529291 0.000000000000 -vt 0.070257902145 0.439116775990 0.000000000000 -vt 0.073384404182 0.416101634502 0.000000000000 -vt 0.069238848984 0.414494931698 0.000000000000 -vt 0.076494477689 0.417049527168 0.000000000000 -vt 0.072321221232 0.429132491350 0.000000000000 -vt 0.075570665300 0.428600221872 0.000000000000 -vt 0.067612551153 0.430139392614 0.000000000000 -vt 0.072135694325 0.422728389502 0.000000000000 -vt 0.075469121337 0.422917068005 0.000000000000 -vt 0.067447289824 0.422248363495 0.000000000000 -vt 0.102335080504 0.423187494278 0.000000000000 -vt 0.103228494525 0.435963690281 0.000000000000 -vt 0.096575386822 0.448499649763 0.000000000000 -vt 0.084121152759 0.455617934465 0.000000000000 -vt 0.072271011770 0.453928828239 0.000000000000 -vt 0.063513830304 0.444215625525 0.000000000000 -vt 0.059691589326 0.431783914566 0.000000000000 -vt 0.059796515852 0.421276837587 0.000000000000 -vt 0.062896229327 0.411542922258 0.000000000000 -vt 0.068578697741 0.404683113098 0.000000000000 -vt 0.075288772583 0.400957018137 0.000000000000 -vt 0.082664631307 0.399442404509 0.000000000000 -vt 0.090280279517 0.402916997671 0.000000000000 -vt 0.092445820570 0.407546848059 0.000000000000 -vt 0.097145929933 0.413269847631 0.000000000000 -vt 0.101524755359 0.411767631769 0.000000000000 -vt 0.108704730868 0.422636747360 0.000000000000 -vt 0.073573760688 0.397591859102 0.000000000000 -vt 0.082102417946 0.395999342203 0.000000000000 -vt 0.089554600418 0.398501247168 0.000000000000 -vt 0.089799568057 0.395039051771 0.000000000000 -vt 0.096459656954 0.406454414129 0.000000000000 -vt 0.094413220882 0.401787608862 0.000000000000 -vt 0.097341135144 0.400798738003 0.000000000000 -vt 0.099026650190 0.404693007469 0.000000000000 -vt 0.103435859084 0.409006088972 0.000000000000 -vt 0.100435674191 0.402943789959 0.000000000000 -vt 0.104281768203 0.405376374722 0.000000000000 -vt 0.098907768726 0.399778544903 0.000000000000 -vt 0.065163768828 0.400598347187 0.000000000000 -vt 0.049860190600 0.420209825039 0.000000000000 -vt 0.048853974789 0.434106171131 0.000000000000 -vt 0.054477673024 0.406693518162 0.000000000000 -vt 0.086032271385 0.466448366642 0.000000000000 -vt 0.067181386054 0.464296758175 0.000000000000 -vt 0.053818415850 0.451216369867 0.000000000000 -vt 0.103748381138 0.455393463373 0.000000000000 -vt 0.094275876880 0.397762984037 0.000000000000 -vt 0.095426648855 0.394399613142 0.000000000000 -vt 0.096762046218 0.398063540459 0.000000000000 -vt 0.098227351904 0.396364301443 0.000000000000 -vt 0.097545132041 0.393038094044 0.000000000000 -vt 0.098932549357 0.393664687872 0.000000000000 -vt 0.040455233306 0.407481104136 0.000000000000 -vt 0.037843432277 0.421338081360 0.000000000000 -vt 0.036472912878 0.438838243484 0.000000000000 -vt 0.042982604355 0.460524737835 0.000000000000 -vt 0.062214907259 0.477089822292 0.000000000000 -vt 0.089566305280 0.478372305632 0.000000000000 -vt 0.111008062959 0.438808530569 0.000000000000 -vt 0.113180801272 0.462344437838 0.000000000000 -vt 0.120472237468 0.442430824041 0.000000000000 -vt 0.117490500212 0.428076952696 0.000000000000 -vt 0.109111800790 0.414127260447 0.000000000000 -vt 0.115140110254 0.419330358505 0.000000000000 -vt 0.109508290887 0.408478111029 0.000000000000 -vt 0.099965557456 0.396614462137 0.000000000000 -vt 0.100016877055 0.399250566959 0.000000000000 -vt 0.101089760661 0.401380300522 0.000000000000 -vt 0.104426547885 0.401133537292 0.000000000000 -vt 0.100525066257 0.394041150808 0.000000000000 -vt 0.108131244779 0.401879489422 0.000000000000 -vt 0.105194106698 0.397765219212 0.000000000000 -vt 0.107807472348 0.397282481194 0.000000000000 -vt 0.105133533478 0.393932640553 0.000000000000 -vt 0.107335999608 0.393302202225 0.000000000000 -vt 0.102719649673 0.394079893827 0.000000000000 -vt 0.101905718446 0.396900862455 0.000000000000 -vt 0.101522728801 0.398900896311 0.000000000000 -vt 0.101974606514 0.400191038847 0.000000000000 -vt 0.103468522429 0.399126052856 0.000000000000 -vt 0.104171678424 0.395909041166 0.000000000000 -vt 0.103377550840 0.395803213120 0.000000000000 -vt 0.103972420096 0.397658735514 0.000000000000 -vt 0.103157803416 0.397318959236 0.000000000000 -vt 0.102937594056 0.398482114077 0.000000000000 -vt 0.120900921524 0.421827554703 0.000000000000 -vt 0.125391185284 0.429458737373 0.000000000000 -vt 0.124984331429 0.420799940825 0.000000000000 -vt 0.132154166698 0.427056103945 0.000000000000 -vt 0.128460273147 0.416311025620 0.000000000000 -vt 0.138081595302 0.420313149691 0.000000000000 -vt 0.142197445035 0.410675615072 0.000000000000 -vt 0.131676614285 0.408927738667 0.000000000000 -vt 0.133587732911 0.401068240404 0.000000000000 -vt 0.143351808190 0.401146143675 0.000000000000 -vt 0.133652120829 0.394226670265 0.000000000000 -vt 0.142618030310 0.392982929945 0.000000000000 -vt 0.132911369205 0.388540625572 0.000000000000 -vt 0.141394317150 0.386369884014 0.000000000000 -vt 0.114809587598 0.414815992117 0.000000000000 -vt 0.119088873267 0.418000578880 0.000000000000 -vt 0.121582247317 0.417691677809 0.000000000000 -vt 0.123152919114 0.414221823215 0.000000000000 -vt 0.124552257359 0.408110886812 0.000000000000 -vt 0.125927954912 0.401200413704 0.000000000000 -vt 0.126286625862 0.395116031170 0.000000000000 -vt 0.125815823674 0.390080004930 0.000000000000 -vt 0.120327234268 0.413139492273 0.000000000000 -vt 0.120299309492 0.407533794641 0.000000000000 -vt 0.120726875961 0.401063978672 0.000000000000 -vt 0.120826847851 0.395488440990 0.000000000000 -vt 0.119930967689 0.416081815958 0.000000000000 -vt 0.118429407477 0.416086316109 0.000000000000 -vt 0.115609556437 0.412894517183 0.000000000000 -vt 0.112695828080 0.407353222370 0.000000000000 -vt 0.111295580864 0.401569455862 0.000000000000 -vt 0.110395416617 0.396767795086 0.000000000000 -vt 0.109471604228 0.392846018076 0.000000000000 -vt 0.116785764694 0.395642906427 0.000000000000 -vt 0.116270169616 0.391529113054 0.000000000000 -vt 0.120401531458 0.391011029482 0.000000000000 -vt 0.117080941796 0.400902092457 0.000000000000 -vt 0.117325022817 0.407227128744 0.000000000000 -vt 0.118285760283 0.412657201290 0.000000000000 -vt 0.118986204267 0.415048807859 0.000000000000 -vt 0.118248149753 0.414979010820 0.000000000000 -vt 0.116768434644 0.412282764912 0.000000000000 -vt 0.114910230041 0.406959205866 0.000000000000 -vt 0.113860324025 0.401094585657 0.000000000000 -vt 0.113027706742 0.396125406027 0.000000000000 -vt 0.112157255411 0.392097175121 0.000000000000 -vt 0.130801886320 0.442939460278 0.000000000000 -vt 0.128610894084 0.468570888042 0.000000000000 -vt 0.094356708229 0.491361290216 0.000000000000 -vt 0.141893029213 0.437752097845 0.000000000000 -vt 0.150102630258 0.427333265543 0.000000000000 -vt 0.154337808490 0.414093464613 0.000000000000 -vt 0.154476270080 0.401521474123 0.000000000000 -vt 0.152643069625 0.391335010529 0.000000000000 -vt 0.150666207075 0.383463352919 0.000000000000 -vt 0.151377916336 0.454670488834 0.000000000000 -vt 0.163681745529 0.437636584044 0.000000000000 -vt 0.168372631073 0.418352723122 0.000000000000 -vt 0.166913852096 0.401432096958 0.000000000000 -vt 0.163569614291 0.388818919659 0.000000000000 -vt 0.160684034228 0.379647225142 0.000000000000 -vt 0.159950926900 0.471008867025 0.000000000000 -vt 0.132880300283 0.489435285330 0.000000000000 -vt 0.177281573415 0.447766780853 0.000000000000 -vt 0.184215664864 0.422988891602 0.000000000000 -vt 0.181977853179 0.401209205389 0.000000000000 -vt 0.176495552063 0.385539740324 0.000000000000 -vt 0.171912297606 0.374865829945 0.000000000000 -vt 0.098764792085 0.505384683609 0.000000000000 -vt 0.058615576476 0.491276592016 0.000000000000 -vt 0.294122487307 0.343028873205 0.000000000000 -vt 0.033512126654 0.473827123642 0.000000000000 -vt 0.022036869079 0.449060529470 0.000000000000 -vt 0.304196149111 0.365502059460 0.000000000000 -vt 0.294669389725 0.374178409576 0.000000000000 -vt 0.283370435238 0.353863328695 0.000000000000 -vt 0.021253105253 0.427221357822 0.000000000000 -vt 0.316540300846 0.419560700655 0.000000000000 -vt 0.308288812637 0.422085821629 0.000000000000 -vt 0.304480075836 0.396445810795 0.000000000000 -vt 0.312906295061 0.403799384832 0.000000000000 -vt 0.320418357849 0.438478231430 0.000000000000 -vt 0.309799134731 0.442829579115 0.000000000000 -vt 0.322631418705 0.453612715006 0.000000000000 -vt 0.308162033558 0.458434849977 0.000000000000 -vt 0.322842836380 0.466000735760 0.000000000000 -vt 0.304739683867 0.470083713531 0.000000000000 -vt 0.321488976479 0.476586610079 0.000000000000 -vt 0.301276564598 0.479211658239 0.000000000000 -vt 0.318110078573 0.486222833395 0.000000000000 -vt 0.298631459475 0.487806051970 0.000000000000 -vt 0.342029422522 0.477887094021 0.000000000000 -vt 0.335520654917 0.489814013243 0.000000000000 -vt 0.338924765587 0.462258905172 0.000000000000 -vt 0.335986942053 0.447854578495 0.000000000000 -vt 0.331019103527 0.432695329189 0.000000000000 -vt 0.324403166771 0.415379106998 0.000000000000 -vt 0.317968666553 0.397860914469 0.000000000000 -vt 0.311544537544 0.382980197668 0.000000000000 -vt 0.292794078588 0.320117980242 0.000000000000 -vt 0.322062432766 0.330567449331 0.000000000000 -vt 0.310178071260 0.344646602869 0.000000000000 -vt 0.321752399206 0.375562220812 0.000000000000 -vt 0.315860539675 0.358816295862 0.000000000000 -vt 0.327765852213 0.391973108053 0.000000000000 -vt 0.334508121014 0.409605920315 0.000000000000 -vt 0.341052263975 0.426227092743 0.000000000000 -vt 0.345613449812 0.441917032003 0.000000000000 -vt 0.349559307098 0.456911921501 0.000000000000 -vt 0.353330194950 0.470938861370 0.000000000000 -vt 0.352067083120 0.491384476423 0.000000000000 -vt 0.346471965313 0.498636275530 0.000000000000 -vt 0.357014626265 0.482859700918 0.000000000000 -vt 0.023049619049 0.410277992487 0.000000000000 -vt 0.188200235367 0.367613345385 0.000000000000 -vt 0.193979293108 0.380675494671 0.000000000000 -vt 0.199914619327 0.400077104568 0.000000000000 -vt 0.200497537851 0.426822185516 0.000000000000 -vt 0.188813567162 0.456079959869 0.000000000000 -vt 0.165967300534 0.483203917742 0.000000000000 -vt 0.135587558150 0.503403544426 0.000000000000 -vt 0.101455852389 0.518397510052 0.000000000000 -vt 0.136549651623 0.514204204082 0.000000000000 -vt 0.102526023984 0.530645966530 0.000000000000 -vt 0.170128390193 0.491040199995 0.000000000000 -vt 0.198282465339 0.460966050625 0.000000000000 -vt 0.217465236783 0.429308772087 0.000000000000 -vt 0.220426246524 0.397770404816 0.000000000000 -vt 0.216484680772 0.373772233725 0.000000000000 -vt 0.211094245315 0.355721533298 0.000000000000 -vt 0.078403115273 0.417854249477 0.000000000000 -vt 0.077661454678 0.423130065203 0.000000000000 -vt 0.361433088779 0.473092228174 0.000000000000 -vt 0.358897387981 0.464050680399 0.000000000000 -vt 0.356920510530 0.451468318701 0.000000000000 -vt 0.079683125019 0.414227455854 0.000000000000 -vt 0.080865636468 0.412698864937 0.000000000000 -vt 0.081717401743 0.412858963013 0.000000000000 -vt 0.082934811711 0.414582073689 0.000000000000 -vt 0.083612754941 0.417999476194 0.000000000000 -vt 0.083627842367 0.422989368439 0.000000000000 -vt 0.355338811874 0.436321228743 0.000000000000 -vt 0.352934360504 0.420035988092 0.000000000000 -vt 0.348425179720 0.402650177479 0.000000000000 -vt 0.342104852200 0.385241180658 0.000000000000 -vt 0.336092978716 0.368649065495 0.000000000000 -vt 0.083053693175 0.428555428982 0.000000000000 -vt 0.331038475037 0.351473778486 0.000000000000 -vt 0.295939028263 0.301119387150 0.000000000000 -vt 0.322564095259 0.306299775839 0.000000000000 -vt 0.297336816788 0.282364428043 0.000000000000 -vt 0.323178768158 0.284241318703 0.000000000000 -vt 0.367684066296 0.461390703917 0.000000000000 -vt 0.363470733166 0.458035647869 0.000000000000 -vt 0.364652335644 0.447590470314 0.000000000000 -vt 0.365994274616 0.432411193848 0.000000000000 -vt 0.366280674934 0.415150791407 0.000000000000 -vt 0.364420890808 0.396647334099 0.000000000000 -vt 0.360572069883 0.378713041544 0.000000000000 -vt 0.356490701437 0.362032413483 0.000000000000 -vt 0.353067219257 0.345778703690 0.000000000000 -vt 0.350522726774 0.327914893627 0.000000000000 -vt 0.348939448595 0.305953025818 0.000000000000 -vt 0.346083581448 0.277952730656 0.000000000000 -vt 0.373975127935 0.447995543480 0.000000000000 -vt 0.379207283258 0.431906849146 0.000000000000 -vt 0.382956564426 0.412491261959 0.000000000000 -vt 0.384116321802 0.392035484314 0.000000000000 -vt 0.382254749537 0.373682171106 0.000000000000 -vt 0.379626274109 0.358964234591 0.000000000000 -vt 0.377992331982 0.345823734999 0.000000000000 -vt 0.377301573753 0.329902321100 0.000000000000 -vt 0.376336544752 0.303653508425 0.000000000000 -vt 0.370527774096 0.266846507788 0.000000000000 -vt 0.216167435050 0.467717558146 0.000000000000 -vt 0.210370138288 0.459447145462 0.000000000000 -vt 0.081996142864 0.433199465275 0.000000000000 -vt 0.222096204758 0.439130961895 0.000000000000 -vt 0.226445078850 0.444121509790 0.000000000000 -vt 0.233966410160 0.386992007494 0.000000000000 -vt 0.231436342001 0.403846651316 0.000000000000 -vt 0.228788286448 0.415274649858 0.000000000000 -vt 0.231669127941 0.390098005533 0.000000000000 -vt 0.233401954174 0.365559697151 0.000000000000 -vt 0.227946877480 0.368952572346 0.000000000000 -vt 0.222369551659 0.352989733219 0.000000000000 -vt 0.231268167496 0.347663909197 0.000000000000 -vt 0.228197038174 0.333069592714 0.000000000000 -vt 0.215772062540 0.341411590576 0.000000000000 -vt 0.225630939007 0.321423888206 0.000000000000 -vt 0.210557922721 0.332115828991 0.000000000000 -vt 0.240293502808 0.310512185097 0.000000000000 -vt 0.238473564386 0.327548325062 0.000000000000 -vt 0.237924396992 0.344880312681 0.000000000000 -vt 0.237548619509 0.364148646593 0.000000000000 -vt 0.080796964467 0.435884207487 0.000000000000 -vt 0.235683202744 0.385488867760 0.000000000000 -vt 0.233118027449 0.406267970800 0.000000000000 -vt 0.231307089329 0.424209684134 0.000000000000 -vt 0.210896104574 0.489333540201 0.000000000000 -vt 0.228112816811 0.462109386921 0.000000000000 -vt 0.236405730247 0.472126305103 0.000000000000 -vt 0.236261844635 0.426290810108 0.000000000000 -vt 0.232935667038 0.445951789618 0.000000000000 -vt 0.237997591496 0.406573981047 0.000000000000 -vt 0.240250259638 0.385305374861 0.000000000000 -vt 0.242734611034 0.364867120981 0.000000000000 -vt 0.244929671288 0.346436828375 0.000000000000 -vt 0.247872665524 0.330308973789 0.000000000000 -vt 0.250990182161 0.316065877676 0.000000000000 -vt 0.249255821109 0.295715004206 0.000000000000 -vt 0.254375159740 0.304102927446 0.000000000000 -vt 0.259052336216 0.313747882843 0.000000000000 -vt 0.256746292114 0.322819858789 0.000000000000 -vt 0.255218595266 0.335408508778 0.000000000000 -vt 0.254195064306 0.350621551275 0.000000000000 -vt 0.252835571766 0.367554813623 0.000000000000 -vt 0.250323951244 0.386674314737 0.000000000000 -vt 0.247343555093 0.407099246979 0.000000000000 -vt 0.244989335537 0.426806420088 0.000000000000 -vt 0.242804884911 0.447076678276 0.000000000000 -vt 0.235569059849 0.496732383966 0.000000000000 -vt 0.210636273026 0.507261335850 0.000000000000 -vt 0.265602082014 0.325080633163 0.000000000000 -vt 0.261477023363 0.328609049320 0.000000000000 -vt 0.262952446938 0.338707923889 0.000000000000 -vt 0.264598786831 0.353362590075 0.000000000000 -vt 0.265408009291 0.370452553034 0.000000000000 -vt 0.264614790678 0.389507651329 0.000000000000 -vt 0.262594908476 0.408623784781 0.000000000000 -vt 0.260723888874 0.426476329565 0.000000000000 -vt 0.259777098894 0.444406121969 0.000000000000 -vt 0.259517729282 0.464280545712 0.000000000000 -vt 0.259723722935 0.488092929125 0.000000000000 -vt 0.272190570831 0.337464153767 0.000000000000 -vt 0.277376800776 0.352163642645 0.000000000000 -vt 0.281132608652 0.370615124702 0.000000000000 -vt 0.283069849014 0.391205787659 0.000000000000 -vt 0.282786369324 0.410528808832 0.000000000000 -vt 0.281975150108 0.425936192274 0.000000000000 -vt 0.281850397587 0.438871800900 0.000000000000 -vt 0.282650381327 0.454188883305 0.000000000000 -vt 0.285106837749 0.479603022337 0.000000000000 -vt 0.079694159329 0.435663342476 0.000000000000 -vt 0.078524023294 0.432797789574 0.000000000000 -vt 0.077620923519 0.428230971098 0.000000000000 -vt 0.079657681286 0.418213814497 0.000000000000 -vt 0.079307116568 0.423214733601 0.000000000000 -vt 0.080295994878 0.414836943150 0.000000000000 -vt 0.080963805318 0.413298457861 0.000000000000 -vt 0.081294111907 0.413456052542 0.000000000000 -vt 0.081488415599 0.414713323116 0.000000000000 -vt 0.082648865879 0.418150305748 0.000000000000 -vt 0.082757845521 0.422904253006 0.000000000000 -vt 0.082332074642 0.427900880575 0.000000000000 -vt 0.081549659371 0.432032704353 0.000000000000 -vt 0.080782778561 0.434659361839 0.000000000000 -vt 0.080355659127 0.434551537037 0.000000000000 -vt 0.079714648426 0.432231515646 0.000000000000 -vt 0.079296082258 0.428110510111 0.000000000000 -vt 0.221947401762 0.311564117670 0.000000000000 -vt 0.206676691771 0.323618710041 0.000000000000 -vt 0.234236359596 0.298808634281 0.000000000000 -vt 0.243671953678 0.288532763720 0.000000000000 -vt 0.210074737668 0.525931179523 0.000000000000 -vt 0.234980046749 0.519074082375 0.000000000000 -vt 0.258448451757 0.516759932041 0.000000000000 -vt 0.285151630640 0.516420423985 0.000000000000 -vt 0.195827364922 0.027920853347 0.000000000000 -vt 0.193216472864 0.025534208864 0.000000000000 -vt 0.208045646548 0.014590993524 0.000000000000 -vt 0.209939867258 0.017815891653 0.000000000000 -vt 0.219733223319 0.012098524719 0.000000000000 -vt 0.219577640295 0.015777334571 0.000000000000 -vt 0.231459319592 0.012075107545 0.000000000000 -vt 0.230521082878 0.016644857824 0.000000000000 -vt 0.243238985538 0.012886568904 0.000000000000 -vt 0.242090910673 0.019283901900 0.000000000000 -vt 0.254986017942 0.014112763107 0.000000000000 -vt 0.254209905863 0.020853456110 0.000000000000 -vt 0.268618255854 0.021859001368 0.000000000000 -vt 0.266599744558 0.015186753124 0.000000000000 -vt 0.278297692537 0.015581674874 0.000000000000 -vt 0.280311465263 0.022918354720 0.000000000000 -vt 0.294243395329 0.017284523696 0.000000000000 -vt 0.290962666273 0.024005178362 0.000000000000 -vt 0.296158790588 0.030226442963 0.000000000000 -vt 0.300414890051 0.029313210398 0.000000000000 -vt 0.303686618805 0.042154934257 0.000000000000 -vt 0.299199730158 0.041589122266 0.000000000000 -vt 0.303400695324 0.052850034088 0.000000000000 -vt 0.299067586660 0.051488291472 0.000000000000 -vt 0.301245510578 0.063028395176 0.000000000000 -vt 0.297050625086 0.061028119177 0.000000000000 -vt 0.188072130084 0.041658472270 0.000000000000 -vt 0.184647515416 0.040359999985 0.000000000000 -vt 0.185590237379 0.054300930351 0.000000000000 -vt 0.180999323726 0.054078709334 0.000000000000 -vt 0.186842098832 0.067733690143 0.000000000000 -vt 0.180815145373 0.066969290376 0.000000000000 -vt 0.187923297286 0.082707628608 0.000000000000 -vt 0.181074976921 0.081876814365 0.000000000000 -vt 0.187377303839 0.107746466994 0.000000000000 -vt 0.187539190054 0.120622426271 0.000000000000 -vt 0.181078135967 0.122370526195 0.000000000000 -vt 0.180750086904 0.106961801648 0.000000000000 -vt 0.181374669075 0.094601452351 0.000000000000 -vt 0.187665045261 0.095849484205 0.000000000000 -vt 0.227798283100 0.129312291741 0.000000000000 -vt 0.238564521074 0.124569609761 0.000000000000 -vt 0.243330389261 0.127270132303 0.000000000000 -vt 0.231010556221 0.133791074157 0.000000000000 -vt 0.220073655248 0.135354548693 0.000000000000 -vt 0.218523919582 0.131200432777 0.000000000000 -vt 0.206768333912 0.135661438107 0.000000000000 -vt 0.206591814756 0.131151124835 0.000000000000 -vt 0.194878339767 0.131718292832 0.000000000000 -vt 0.195264026523 0.127670004964 0.000000000000 -vt 0.297571629286 0.073909014463 0.000000000000 -vt 0.293510973454 0.071692824364 0.000000000000 -vt 0.293531447649 0.085388556123 0.000000000000 -vt 0.288804322481 0.082740962505 0.000000000000 -vt 0.284273296595 0.097582057118 0.000000000000 -vt 0.281252384186 0.094275429845 0.000000000000 -vt 0.270511358976 0.111514881253 0.000000000000 -vt 0.267813563347 0.108745023608 0.000000000000 -vt 0.253925532103 0.117747187614 0.000000000000 -vt 0.256331086159 0.121454820037 0.000000000000 -vt 0.267415255308 0.081492692232 0.000000000000 -vt 0.255906671286 0.094144165516 0.000000000000 -vt 0.244139820337 0.101001486182 0.000000000000 -vt 0.231230318546 0.105198845267 0.000000000000 -vt 0.219598352909 0.110711082816 0.000000000000 -vt 0.213647723198 0.110525771976 0.000000000000 -vt 0.198271200061 0.116921544075 0.000000000000 -vt 0.203886121511 0.110362097621 0.000000000000 -vt 0.196813777089 0.098104864359 0.000000000000 -vt 0.196252465248 0.102853164077 0.000000000000 -vt 0.272518634796 0.073012456298 0.000000000000 -vt 0.276711463928 0.062691569328 0.000000000000 -vt 0.280104994774 0.053172681481 0.000000000000 -vt 0.283575773239 0.045879449695 0.000000000000 -vt 0.283506870270 0.039421103895 0.000000000000 -vt 0.282259076834 0.030528377742 0.000000000000 -vt 0.272425651550 0.030439440161 0.000000000000 -vt 0.257659971714 0.030192218721 0.000000000000 -vt 0.247058525681 0.033215377480 0.000000000000 -vt 0.228341341019 0.025837715715 0.000000000000 -vt 0.218866378069 0.024133518338 0.000000000000 -vt 0.212634310126 0.025178913027 0.000000000000 -vt 0.200903266668 0.032452777028 0.000000000000 -vt 0.194876089692 0.044088792056 0.000000000000 -vt 0.193243041635 0.053994949907 0.000000000000 -vt 0.194931253791 0.067793801427 0.000000000000 -vt 0.198766767979 0.084062173963 0.000000000000 -vt 0.206359907985 0.094736546278 0.000000000000 -vt 0.212366148829 0.098234102130 0.000000000000 -vt 0.217166453600 0.096218973398 0.000000000000 -vt 0.205443292856 0.087112799287 0.000000000000 -vt 0.226509511471 0.090840920806 0.000000000000 -vt 0.237037748098 0.087899029255 0.000000000000 -vt 0.246875688434 0.081057921052 0.000000000000 -vt 0.256278872490 0.072482436895 0.000000000000 -vt 0.260736495256 0.057795342058 0.000000000000 -vt 0.259254723787 0.064904838800 0.000000000000 -vt 0.272691100836 0.038979575038 0.000000000000 -vt 0.262009739876 0.038989257067 0.000000000000 -vt 0.276944041252 0.045822035521 0.000000000000 -vt 0.268426418304 0.047114204615 0.000000000000 -vt 0.269619315863 0.043809827417 0.000000000000 -vt 0.253669768572 0.045147921890 0.000000000000 -vt 0.248847588897 0.056667540222 0.000000000000 -vt 0.246177032590 0.064497530460 0.000000000000 -vt 0.239239543676 0.071869567037 0.000000000000 -vt 0.232059359550 0.077080324292 0.000000000000 -vt 0.222070574760 0.079870447516 0.000000000000 -vt 0.206698760390 0.074161648750 0.000000000000 -vt 0.213897421956 0.072432681918 0.000000000000 -vt 0.205729246140 0.062620416284 0.000000000000 -vt 0.203790888190 0.054370727390 0.000000000000 -vt 0.204770088196 0.045650247484 0.000000000000 -vt 0.208388775587 0.038391694427 0.000000000000 -vt 0.216515302658 0.032267022878 0.000000000000 -vt 0.221525013447 0.031139671803 0.000000000000 -vt 0.229856431484 0.032532032579 0.000000000000 -vt 0.240117192268 0.040356174111 0.000000000000 -vt 0.238003432751 0.049525838345 0.000000000000 -vt 0.230851382017 0.062317129225 0.000000000000 -vt 0.223892956972 0.068100020289 0.000000000000 -vt 0.218158707023 0.060949768871 0.000000000000 -vt 0.224889278412 0.055608633906 0.000000000000 -vt 0.231338173151 0.044668566436 0.000000000000 -vt 0.224949836731 0.040866594762 0.000000000000 -vt 0.220517441630 0.039209909737 0.000000000000 -vt 0.215718701482 0.043925788254 0.000000000000 -vt 0.211569100618 0.049045812339 0.000000000000 -vt 0.212551221251 0.054835002869 0.000000000000 -vt 0.219418004155 0.048615094274 0.000000000000 -vt 0.177896246314 0.039324510843 0.000000000000 -vt 0.189204439521 0.020011376590 0.000000000000 -vt 0.204814672470 0.008875429630 0.000000000000 -vt 0.218808963895 0.005773015320 0.000000000000 -vt 0.232130467892 0.004795841873 0.000000000000 -vt 0.243434399366 0.006405927241 0.000000000000 -vt 0.255707651377 0.007152091712 0.000000000000 -vt 0.266037523746 0.008445382118 0.000000000000 -vt 0.276542603970 0.009638480842 0.000000000000 -vt 0.291882872581 0.013886258006 0.000000000000 -vt 0.305758953094 0.026801381260 0.000000000000 -vt 0.310110300779 0.042010162026 0.000000000000 -vt 0.309658646584 0.054701257497 0.000000000000 -vt 0.307640582323 0.066039174795 0.000000000000 -vt 0.304315268993 0.075605571270 0.000000000000 -vt 0.302689433098 0.083687961102 0.000000000000 -vt 0.289600938559 0.101637110114 0.000000000000 -vt 0.275979250669 0.114943787456 0.000000000000 -vt 0.261293739080 0.125751689076 0.000000000000 -vt 0.248583957553 0.132909372449 0.000000000000 -vt 0.218775406480 0.143254563212 0.000000000000 -vt 0.228658616543 0.143950298429 0.000000000000 -vt 0.206840604544 0.142785564065 0.000000000000 -vt 0.190907508135 0.138325244188 0.000000000000 -vt 0.181003153324 0.126772314310 0.000000000000 -vt 0.174718171358 0.105727061629 0.000000000000 -vt 0.175457358360 0.093386068940 0.000000000000 -vt 0.176170423627 0.080959752202 0.000000000000 -vt 0.175519734621 0.067012742162 0.000000000000 -vt 0.174860477448 0.054189030081 0.000000000000 -vt 0.175442948937 0.118314579129 0.000000000000 -vt 0.299658834934 0.013686995953 0.000000000000 -vt 0.297007620335 0.015501294285 0.000000000000 -vt 0.296986013651 0.094732716680 0.000000000000 -vt 0.178140535951 0.121313422918 0.000000000000 -vt 0.178094834089 0.129377126694 0.000000000000 -vt 0.290370285511 0.010927941650 0.000000000000 -vt 0.240662753582 0.138773083687 0.000000000000 -vt 0.059489179403 0.582100212574 0.000000000000 -vt 0.068415686488 0.582416296005 0.000000000000 -vt 0.067261539400 0.606926023960 0.000000000000 -vt 0.058599364012 0.606609225273 0.000000000000 -vt 0.050634499639 0.581815600395 0.000000000000 -vt 0.050033342093 0.606300354004 0.000000000000 -vt 0.041638877243 0.581597447395 0.000000000000 -vt 0.041299115866 0.606083035469 0.000000000000 -vt 0.032489020377 0.581519067287 0.000000000000 -vt 0.032466728240 0.605973839760 0.000000000000 -vt 0.023544281721 0.581574916840 0.000000000000 -vt 0.023710895330 0.605970263481 0.000000000000 -vt 0.077301658690 0.582797050476 0.000000000000 -vt 0.075893089175 0.607333362103 0.000000000000 -vt 0.035480882972 0.775563001633 0.000000000000 -vt 0.040293347090 0.776472151279 0.000000000000 -vt 0.036699648947 0.779854416847 0.000000000000 -vt 0.032038930804 0.777974605560 0.000000000000 -vt 0.044753897935 0.775144159794 0.000000000000 -vt 0.049120556563 0.776610195637 0.000000000000 -vt 0.044636141509 0.779394447803 0.000000000000 -vt 0.050690788776 0.780745148659 0.000000000000 -vt 0.054302733392 0.776831269264 0.000000000000 -vt 0.056948300451 0.779902398586 0.000000000000 -vt 0.057442288846 0.767054140568 0.000000000000 -vt 0.051350947469 0.766096353531 0.000000000000 -vt 0.045185070485 0.765643537045 0.000000000000 -vt 0.039071660489 0.765589058399 0.000000000000 -vt 0.032788928598 0.766110718250 0.000000000000 -vt 0.026467472315 0.767407417297 0.000000000000 -vt 0.063698008657 0.768436372280 0.000000000000 -vt 0.410184800625 0.205661505461 0.000000000000 -vt 0.061233457178 0.523812234402 0.000000000000 -vt 0.070765629411 0.524310529232 0.000000000000 -vt 0.069685108960 0.554912924767 0.000000000000 -vt 0.060390468687 0.554528176785 0.000000000000 -vt 0.053767081350 0.729990005493 0.000000000000 -vt 0.061261150986 0.730732798576 0.000000000000 -vt 0.054995980114 0.702194809914 0.000000000000 -vt 0.062634825706 0.702704548836 0.000000000000 -vt 0.064006246626 0.678737044334 0.000000000000 -vt 0.055990491062 0.678335130215 0.000000000000 -vt 0.056928943843 0.654432654381 0.000000000000 -vt 0.065110854805 0.654795587063 0.000000000000 -vt 0.066195428371 0.630862057209 0.000000000000 -vt 0.057763587683 0.630513489246 0.000000000000 -vt 0.051746767014 0.523659586906 0.000000000000 -vt 0.051160465926 0.554318308830 0.000000000000 -vt 0.046276170760 0.729541480541 0.000000000000 -vt 0.047176342458 0.701836824417 0.000000000000 -vt 0.047830644995 0.678016304970 0.000000000000 -vt 0.048644352704 0.654150307178 0.000000000000 -vt 0.049303833395 0.630233883858 0.000000000000 -vt 0.042389769107 0.523753523827 0.000000000000 -vt 0.041977059096 0.554233670235 0.000000000000 -vt 0.038769047707 0.729471445084 0.000000000000 -vt 0.039331037551 0.701696574688 0.000000000000 -vt 0.039704795927 0.677826702595 0.000000000000 -vt 0.040310915560 0.653930783272 0.000000000000 -vt 0.040829222649 0.630019962788 0.000000000000 -vt 0.032788697630 0.523885667324 0.000000000000 -vt 0.032603625208 0.554248988628 0.000000000000 -vt 0.031183568761 0.729752242565 0.000000000000 -vt 0.031547192484 0.701745390892 0.000000000000 -vt 0.031793061644 0.677753329277 0.000000000000 -vt 0.032022494823 0.653800427914 0.000000000000 -vt 0.032241348177 0.629892110825 0.000000000000 -vt 0.023286256939 0.523862004280 0.000000000000 -vt 0.023312594742 0.554275989532 0.000000000000 -vt 0.023615654558 0.730087935925 0.000000000000 -vt 0.023773714900 0.701748549938 0.000000000000 -vt 0.023966450244 0.677748382092 0.000000000000 -vt 0.023824151605 0.653813481331 0.000000000000 -vt 0.023755025119 0.629873633385 0.000000000000 -vt 0.080035939813 0.524939179420 0.000000000000 -vt 0.078819200397 0.555354475975 0.000000000000 -vt 0.068714916706 0.731523096561 0.000000000000 -vt 0.070204541087 0.703219473362 0.000000000000 -vt 0.071883074939 0.679210066795 0.000000000000 -vt 0.073152050376 0.655230820179 0.000000000000 -vt 0.074596188962 0.631297707558 0.000000000000 -vt 0.427655726671 0.333007007837 0.000000000000 -vt 0.440372914076 0.328327596188 0.000000000000 -vt 0.444987475872 0.344597071409 0.000000000000 -vt 0.432079792023 0.348230421543 0.000000000000 -vt 0.436833947897 0.363906830549 0.000000000000 -vt 0.449768215418 0.360880523920 0.000000000000 -vt 0.454692780972 0.378165900707 0.000000000000 -vt 0.441895663738 0.381562143564 0.000000000000 -vt 0.414691954851 0.337748318911 0.000000000000 -vt 0.419402211905 0.352767288685 0.000000000000 -vt 0.424107730389 0.368486940861 0.000000000000 -vt 0.429422736168 0.385863065720 0.000000000000 -vt 0.401303559542 0.341026574373 0.000000000000 -vt 0.406823009253 0.357325315475 0.000000000000 -vt 0.411697834730 0.372874319553 0.000000000000 -vt 0.417245209217 0.390449941158 0.000000000000 -vt 0.387970775366 0.344980746508 0.000000000000 -vt 0.393820285797 0.361572891474 0.000000000000 -vt 0.399133056402 0.377458244562 0.000000000000 -vt 0.404806077480 0.394824922085 0.000000000000 -vt 0.453473359346 0.324476778507 0.000000000000 -vt 0.466956764460 0.321778506041 0.000000000000 -vt 0.471398383379 0.338798433542 0.000000000000 -vt 0.458161979914 0.342115193605 0.000000000000 -vt 0.462697505951 0.358080714941 0.000000000000 -vt 0.475638061762 0.355021774769 0.000000000000 -vt 0.480182796717 0.372735410929 0.000000000000 -vt 0.467404156923 0.375559061766 0.000000000000 -vt 0.423334538937 0.312670528889 0.000000000000 -vt 0.433873385191 0.309838533401 0.000000000000 -vt 0.436265200377 0.312351495028 0.000000000000 -vt 0.422530740499 0.315895646811 0.000000000000 -vt 0.447797864676 0.306353360415 0.000000000000 -vt 0.450094014406 0.308744937181 0.000000000000 -vt 0.461704343557 0.302910506725 0.000000000000 -vt 0.463915377855 0.305326640606 0.000000000000 -vt 0.382604420185 0.326017051935 0.000000000000 -vt 0.392749220133 0.322181522846 0.000000000000 -vt 0.395257681608 0.324275016785 0.000000000000 -vt 0.382101863623 0.329265147448 0.000000000000 -vt 0.406064450741 0.317371100187 0.000000000000 -vt 0.408690214157 0.319537758827 0.000000000000 -vt 0.454164594412 0.389897853136 0.000000000000 -vt 0.448823004961 0.391495555639 0.000000000000 -vt 0.443516105413 0.386446684599 0.000000000000 -vt 0.456138074398 0.383067548275 0.000000000000 -vt 0.437463909388 0.395830690861 0.000000000000 -vt 0.431178033352 0.391206234694 0.000000000000 -vt 0.424428552389 0.400618851185 0.000000000000 -vt 0.419008165598 0.395644724369 0.000000000000 -vt 0.412200152874 0.404757648706 0.000000000000 -vt 0.406511843204 0.400167405605 0.000000000000 -vt 0.479276150465 0.385172754526 0.000000000000 -vt 0.473846048117 0.386270821095 0.000000000000 -vt 0.468606919050 0.380785584450 0.000000000000 -vt 0.481370300055 0.378176510334 0.000000000000 -vt 0.436999201775 0.315413832664 0.000000000000 -vt 0.423440814018 0.318899452686 0.000000000000 -vt 0.450722873211 0.311825752258 0.000000000000 -vt 0.464657485485 0.308184534311 0.000000000000 -vt 0.396297454834 0.327027112246 0.000000000000 -vt 0.382932245731 0.332121223211 0.000000000000 -vt 0.409763991833 0.322595357895 0.000000000000 -vt 0.442299365997 0.382790595293 0.000000000000 -vt 0.455049455166 0.379350900650 0.000000000000 -vt 0.429864943027 0.387207239866 0.000000000000 -vt 0.417697101831 0.391777902842 0.000000000000 -vt 0.404973804951 0.396399646997 0.000000000000 -vt 0.467713981867 0.376910001040 0.000000000000 -vt 0.480817049742 0.374158143997 0.000000000000 -vt 0.437278181314 0.316399097443 0.000000000000 -vt 0.423721343279 0.319981753826 0.000000000000 -vt 0.450930684805 0.312892526388 0.000000000000 -vt 0.464460253716 0.309410959482 0.000000000000 -vt 0.396746635437 0.328152865171 0.000000000000 -vt 0.383763283491 0.333080857992 0.000000000000 -vt 0.410141348839 0.323806256056 0.000000000000 -vt 0.371242642403 0.206788405776 0.000000000000 -vt 0.375714451075 0.200254172087 0.000000000000 -vt 0.379231601954 0.206475213170 0.000000000000 -vt 0.375783115625 0.212909027934 0.000000000000 -vt 0.383946120739 0.214252978563 0.000000000000 -vt 0.385994136333 0.206152796745 0.000000000000 -vt 0.383823841810 0.198206618428 0.000000000000 -vt 0.389040261507 0.196492955089 0.000000000000 -vt 0.391231000423 0.205955997109 0.000000000000 -vt 0.388896137476 0.215648040175 0.000000000000 -vt 0.386244505644 0.225284442306 0.000000000000 -vt 0.381366074085 0.234502539039 0.000000000000 -vt 0.377654612064 0.230434879661 0.000000000000 -vt 0.380352199078 0.177962914109 0.000000000000 -vt 0.385863542557 0.187034189701 0.000000000000 -vt 0.376735985279 0.182071089745 0.000000000000 -vt 0.400243073702 0.205795019865 0.000000000000 -vt 0.398853629827 0.194475561380 0.000000000000 -vt 0.398457139730 0.217155665159 0.000000000000 -vt 0.395268946886 0.228200212121 0.000000000000 -vt 0.391248136759 0.239007428288 0.000000000000 -vt 0.395271182060 0.183712929487 0.000000000000 -vt 0.390099167824 0.173236235976 0.000000000000 -vt 0.404895007610 0.295395046473 0.000000000000 -vt 0.401947498322 0.296175211668 0.000000000000 -vt 0.399637848139 0.292153716087 0.000000000000 -vt 0.401830643415 0.291295886040 0.000000000000 -vt 0.399310708046 0.296199768782 0.000000000000 -vt 0.397574305534 0.292755782604 0.000000000000 -vt 0.408904105425 0.288272053003 0.000000000000 -vt 0.407307982445 0.290285140276 0.000000000000 -vt 0.404559284449 0.287732571363 0.000000000000 -vt 0.406326085329 0.285840153694 0.000000000000 -vt 0.406662702560 0.292970359325 0.000000000000 -vt 0.403447926044 0.289671152830 0.000000000000 -vt 0.396660417318 0.287977755070 0.000000000000 -vt 0.398700773716 0.286984145641 0.000000000000 -vt 0.394956201315 0.288790345192 0.000000000000 -vt 0.401856094599 0.284300088882 0.000000000000 -vt 0.403861761093 0.282722651958 0.000000000000 -vt 0.400499969721 0.285655498505 0.000000000000 -vt 0.393806338310 0.283442467451 0.000000000000 -vt 0.395833194256 0.282441198826 0.000000000000 -vt 0.392093360424 0.284306377172 0.000000000000 -vt 0.399467855692 0.280218929052 0.000000000000 -vt 0.401700288057 0.278968840837 0.000000000000 -vt 0.397831201553 0.281272202730 0.000000000000 -vt 0.391297876835 0.278489261866 0.000000000000 -vt 0.393293648958 0.277554869652 0.000000000000 -vt 0.389414459467 0.279250085354 0.000000000000 -vt 0.397396445274 0.275657951832 0.000000000000 -vt 0.399793207645 0.274844229221 0.000000000000 -vt 0.395377457142 0.276584476233 0.000000000000 -vt 0.389087766409 0.272915095091 0.000000000000 -vt 0.391173362732 0.272055685520 0.000000000000 -vt 0.386810988188 0.273582458496 0.000000000000 -vt 0.395762920380 0.270275622606 0.000000000000 -vt 0.398250907660 0.270135104656 0.000000000000 -vt 0.393281280994 0.271341711283 0.000000000000 -vt 0.387520015240 0.266913384199 0.000000000000 -vt 0.389951229095 0.266276419163 0.000000000000 -vt 0.384966522455 0.267515212297 0.000000000000 -vt 0.394670933485 0.264871448278 0.000000000000 -vt 0.397267192602 0.265005409718 0.000000000000 -vt 0.392056882381 0.265746623278 0.000000000000 -vt 0.386280536652 0.262535691261 0.000000000000 -vt 0.389030128717 0.261800318956 0.000000000000 -vt 0.383825421333 0.263225555420 0.000000000000 -vt 0.394305050373 0.261209517717 0.000000000000 -vt 0.396993845701 0.261318951845 0.000000000000 -vt 0.391601622105 0.261423856020 0.000000000000 -vt 0.384926229715 0.259148895741 0.000000000000 -vt 0.388205587864 0.257940262556 0.000000000000 -vt 0.382767438889 0.261004865170 0.000000000000 -vt 0.394367873669 0.258704215288 0.000000000000 -vt 0.397562384605 0.259168028831 0.000000000000 -vt 0.391579329967 0.257740765810 0.000000000000 -vt 0.062066528946 0.497222512960 0.000000000000 -vt 0.071865737438 0.497819632292 0.000000000000 -vt 0.052253138274 0.497047573328 0.000000000000 -vt 0.042627077550 0.497259229422 0.000000000000 -vt 0.032757628709 0.497487276793 0.000000000000 -vt 0.022930733860 0.497487515211 0.000000000000 -vt 0.081421323121 0.498642355204 0.000000000000 -vt 0.408895790577 0.192783519626 0.000000000000 -vt 0.405064105988 0.180669501424 0.000000000000 -vt 0.400167405605 0.169291511178 0.000000000000 -vt 0.401480078697 0.242461070418 0.000000000000 -vt 0.405161798000 0.230870768428 0.000000000000 -vt 0.408491641283 0.218653172255 0.000000000000 -vt 0.380247503519 0.189571470022 0.000000000000 -vt 0.381086647511 0.223131284118 0.000000000000 -vt 0.420218378305 0.313499540091 0.000000000000 -vt 0.442574709654 0.393686324358 0.000000000000 -vt 0.437170535326 0.308998465538 0.000000000000 -vt 0.450992375612 0.305552929640 0.000000000000 -vt 0.395807057619 0.321048557758 0.000000000000 -vt 0.409543335438 0.316259503365 0.000000000000 -vt 0.460468471050 0.388684481382 0.000000000000 -vt 0.429571330547 0.398836284876 0.000000000000 -vt 0.417428702116 0.402817249298 0.000000000000 -vt 0.465852618217 0.387890368700 0.000000000000 -vt 0.165486067533 0.985748410225 0.000000000000 -vt 0.153918713331 0.884558439255 0.000000000000 -vt 0.153763413429 0.881860136986 0.000000000000 -vt 0.204113468528 0.982658386230 0.000000000000 -vt 0.204646229744 0.989186286926 0.000000000000 -vt 0.186044186354 0.877731442451 0.000000000000 -vt 0.185995131731 0.879323482513 0.000000000000 -vt 0.165391892195 0.991528987885 0.000000000000 -vt 0.215989306569 0.874527692795 0.000000000000 -vt 0.239299163222 0.979033589363 0.000000000000 -vt 0.216438904405 0.876245737076 0.000000000000 -vt 0.147602885962 0.884569108486 0.000000000000 -vt 0.252690643072 0.979669451714 0.000000000000 -vt 0.252580404282 0.986951112747 0.000000000000 -vt 0.149314463139 0.881703615189 0.000000000000 -vt 0.239499345422 0.986131906509 0.000000000000 -vt 0.139916136861 0.872989058495 0.000000000000 -vt 0.153603509068 0.992006182671 0.000000000000 -vt 0.153609484434 0.990444540977 0.000000000000 -vt 0.010600453243 0.824086070061 0.000000000000 -vt 0.012143557891 0.805372476578 0.000000000000 -vt 0.018072610721 0.805904865265 0.000000000000 -vt 0.018011515960 0.835803985596 0.000000000000 -vt 0.854685604572 0.394145637751 0.000000000000 -vt 0.856347262859 0.406974732876 0.000000000000 -vt 0.854803860188 0.407253265381 0.000000000000 -vt 0.852515399456 0.394508123398 0.000000000000 -vt 0.014217739925 0.786286652088 0.000000000000 -vt 0.141516894102 0.871268332005 0.000000000000 -vt 0.236085057259 0.870658397675 0.000000000000 -vt 0.235590070486 0.871755778790 0.000000000000 -vt 0.115637660027 0.902860224247 0.000000000000 -vt 0.110983915627 0.890343248844 0.000000000000 -vt 0.113721966743 0.903127968311 0.000000000000 -vt 0.108955033123 0.891542613506 0.000000000000 -vt 0.094152219594 0.932179987431 0.000000000000 -vt 0.092673666775 0.930834054947 0.000000000000 -vt 0.070010572672 0.963107407093 0.000000000000 -vt 0.068242847919 0.961778044701 0.000000000000 -vt 0.061999842525 0.971761763096 0.000000000000 -vt 0.174994021654 0.927675366402 0.000000000000 -vt 0.144831538200 0.970289051533 0.000000000000 -vt 0.200194299221 0.932316362858 0.000000000000 -vt 0.170293733478 0.964262902737 0.000000000000 -vt 0.108677349985 0.981302440166 0.000000000000 -vt 0.124079853296 0.982393920422 0.000000000000 -vt 0.078137099743 0.979704558849 0.000000000000 -vt 0.109282203019 0.983950555325 0.000000000000 -vt 0.105039052665 0.987083256245 0.000000000000 -vt 0.125474229455 0.988127648830 0.000000000000 -vt 0.111332640052 0.988403081894 0.000000000000 -vt 0.149527281523 0.983822643757 0.000000000000 -vt 0.175797849894 0.974198222160 0.000000000000 -vt 0.200493484735 0.947993755341 0.000000000000 -vt 0.202181890607 0.953875601292 0.000000000000 -vt 0.210946768522 0.941928744316 0.000000000000 -vt 0.204716980457 0.950321793556 0.000000000000 -vt 0.211182147264 0.940664827824 0.000000000000 -vt 0.221946761012 0.927524268627 0.000000000000 -vt 0.212981313467 0.939730703831 0.000000000000 -vt 0.219961285591 0.926237881184 0.000000000000 -vt 0.236418157816 0.878085970879 0.000000000000 -vt 0.009088402614 0.867007911205 0.000000000000 -vt 0.233274430037 0.900619506836 0.000000000000 -vt 0.223317831755 0.925070583820 0.000000000000 -vt 0.222155556083 0.926465988159 0.000000000000 -vt 0.221913784742 0.924954414368 0.000000000000 -vt 0.222598418593 0.927596032619 0.000000000000 -vt 0.201231330633 0.949153244495 0.000000000000 -vt 0.203538969159 0.953897118568 0.000000000000 -vt 0.818132102489 0.385249525309 0.000000000000 -vt 0.205010369420 0.951609432697 0.000000000000 -vt 0.213920146227 0.940414905548 0.000000000000 -vt 0.818589150906 0.383544415236 0.000000000000 -vt 0.780589759350 0.374358534813 0.000000000000 -vt 0.016577487811 0.868200361729 0.000000000000 -vt 0.016604727134 0.872863054276 0.000000000000 -vt 0.010927146301 0.873423874378 0.000000000000 -vt 0.781472146511 0.373139113188 0.000000000000 -vt 0.775797307491 0.355791121721 0.000000000000 -vt 0.767820060253 0.372488409281 0.000000000000 -vt 0.802661955357 0.343176126480 0.000000000000 -vt 0.212836444378 0.942034363747 0.000000000000 -vt 0.794418156147 0.332618147135 0.000000000000 -vt 0.017825072631 0.886228740215 0.000000000000 -vt 0.859027683735 0.311750322580 0.000000000000 -vt 0.856714665890 0.300876915455 0.000000000000 -vt 0.011322205886 0.886385619640 0.000000000000 -vt 0.890980184078 0.300591170788 0.000000000000 -vt 0.212094113231 0.942788124084 0.000000000000 -vt 0.234720200300 0.900862038136 0.000000000000 -vt 0.237578302622 0.878117561340 0.000000000000 -vt 0.077356182039 0.981415390968 0.000000000000 -vt 0.060611370951 0.973357379436 0.000000000000 -vt 0.105943888426 0.988982677460 0.000000000000 -vt 0.258138507605 0.974806785583 0.000000000000 -vt 0.257529258728 0.990823626518 0.000000000000 -vt 0.264203071594 0.971977353096 0.000000000000 -vt 0.263009667397 0.993429660797 0.000000000000 -vt 0.271215617657 0.974126696587 0.000000000000 -vt 0.269773542881 0.993223547935 0.000000000000 -vt 0.125471040606 0.989767909050 0.000000000000 -vt 0.110437445343 0.990312933922 0.000000000000 -vt 0.276588261127 0.979046463966 0.000000000000 -vt 0.273934006691 0.990138053894 0.000000000000 -vt 0.150033578277 0.985471129417 0.000000000000 -vt 0.176784589887 0.975747346878 0.000000000000 -vt 0.276720821857 0.986530065536 0.000000000000 -vt 0.022495752200 0.890904963017 0.000000000000 -vt 0.891464889050 0.306228846312 0.000000000000 -vt 0.904646217823 0.305932313204 0.000000000000 -vt 0.893834292889 0.301968216896 0.000000000000 -vt 0.904706299305 0.304305553436 0.000000000000 -vt 0.921183407307 0.310902148485 0.000000000000 -vt 0.906808555126 0.304849773645 0.000000000000 -vt 0.921672403812 0.309491783381 0.000000000000 -vt 0.938244044781 0.337644517422 0.000000000000 -vt 0.005772059783 0.892303645611 0.000000000000 -vt 0.024704044685 0.895432829857 0.000000000000 -vt 0.004067962989 0.897250592709 0.000000000000 -vt 0.023151105270 0.902699828148 0.000000000000 -vt 0.006364827976 0.903177917004 0.000000000000 -vt 0.019447928295 0.907367289066 0.000000000000 -vt 0.011597758159 0.909153997898 0.000000000000 -vt 0.018155282363 0.909749448299 0.000000000000 -vt 0.289794445038 0.979737758636 0.000000000000 -vt 0.289097309113 0.986868619919 0.000000000000 -vt 0.108699530363 0.986913800240 0.000000000000 -vt 0.923338353634 0.310172647238 0.000000000000 -vt 0.947028934956 0.322753190994 0.000000000000 -vt 0.017324453220 0.921973764896 0.000000000000 -vt 0.107475332916 0.990945875645 0.000000000000 -vt 0.012956982478 0.921561121941 0.000000000000 -vt 0.109573453665 0.884426295757 0.000000000000 -vt 0.020662194118 0.973094761372 0.000000000000 -vt 0.018618410453 0.972752928734 0.000000000000 -vt 0.963379323483 0.338597148657 0.000000000000 -vt 0.020546024665 0.981108963490 0.000000000000 -vt 0.018002038822 0.980931103230 0.000000000000 -vt 0.135590508580 0.867567420006 0.000000000000 -vt 0.106516152620 0.878543734550 0.000000000000 -vt 0.131759136915 0.862308800220 0.000000000000 -vt 0.101919859648 0.872579514980 0.000000000000 -vt 0.127446323633 0.855293273926 0.000000000000 -vt 0.106182672083 0.886078596115 0.000000000000 -vt 0.102917589247 0.880396783352 0.000000000000 -vt 0.099388279021 0.873800635338 0.000000000000 -vt 0.137774154544 0.865794837475 0.000000000000 -vt 0.134449630976 0.860945940018 0.000000000000 -vt 0.129994958639 0.853814363480 0.000000000000 -vt 0.098041392863 0.867455244064 0.000000000000 -vt 0.123956769705 0.849580526352 0.000000000000 -vt 0.096607387066 0.868979096413 0.000000000000 -vt 0.126601263881 0.848501205444 0.000000000000 -vt 0.095606558025 0.864713788033 0.000000000000 -vt 0.123283371329 0.847612500191 0.000000000000 -vt 0.093895524740 0.865760445595 0.000000000000 -vt 0.125174984336 0.846612274647 0.000000000000 -vt 0.090208120644 0.853443682194 0.000000000000 -vt 0.088275067508 0.855292141438 0.000000000000 -vt 0.116189479828 0.837091147900 0.000000000000 -vt 0.119325831532 0.836723268032 0.000000000000 -vt 0.133553490043 0.788949906826 0.000000000000 -vt 0.293736696243 0.986775279045 0.000000000000 -vt 0.295940577984 0.980653762817 0.000000000000 -vt 0.340545475483 0.984447240829 0.000000000000 -vt 0.340072214603 0.986525893211 0.000000000000 -vt 0.950552880764 0.345313966274 0.000000000000 -vt 0.967208921909 0.344859838486 0.000000000000 -vt 0.950094163418 0.353987187147 0.000000000000 -vt 0.933797061443 0.363659620285 0.000000000000 -vt 0.136295691133 0.788761913776 0.000000000000 -vt 0.138059511781 0.780847370625 0.000000000000 -vt 0.130408823490 0.777872502804 0.000000000000 -vt 0.131355047226 0.775953590870 0.000000000000 -vt 0.138569056988 0.778319716454 0.000000000000 -vt 0.118060231209 0.785308957100 0.000000000000 -vt 0.896019995213 0.384664356709 0.000000000000 -vt 0.115173012018 0.774169325829 0.000000000000 -vt 0.898356497288 0.351344764233 0.000000000000 -vt 0.096679173410 0.785911738873 0.000000000000 -vt 0.095730684698 0.772729396820 0.000000000000 -vt 0.104705169797 0.831313431263 0.000000000000 -vt 0.902008712292 0.319425404072 0.000000000000 -vt 0.086956694722 0.837567865849 0.000000000000 -vt 0.082478508353 0.790962874889 0.000000000000 -vt 0.833729565144 0.320394694805 0.000000000000 -vt 0.348657131195 0.984760761261 0.000000000000 -vt 0.081306569278 0.775940597057 0.000000000000 -vt 0.089978247881 0.773647964001 0.000000000000 -vt 0.829791605473 0.309479862452 0.000000000000 -vt 0.816609799862 0.333315908909 0.000000000000 -vt 0.807817518711 0.321131646633 0.000000000000 -vt 0.797316968441 0.333731085062 0.000000000000 -vt 0.795922100544 0.331054210663 0.000000000000 -vt 0.852600395679 0.366287618876 0.000000000000 -vt 0.888158023357 0.389725148678 0.000000000000 -vt 0.891561090946 0.383528649807 0.000000000000 -vt 0.892443001270 0.390044867992 0.000000000000 -vt 0.890115559101 0.403733402491 0.000000000000 -vt 0.893740594387 0.402232736349 0.000000000000 -vt 0.889661490917 0.409355312586 0.000000000000 -vt 0.859144628048 0.413082540035 0.000000000000 -vt 0.889299809933 0.416188776493 0.000000000000 -vt 0.860674321651 0.420680373907 0.000000000000 -vt 0.890587747097 0.423362225294 0.000000000000 -vt 0.861845076084 0.428339481354 0.000000000000 -vt 0.893469750881 0.431529492140 0.000000000000 -vt 0.863975346088 0.435634076595 0.000000000000 -vt 0.892712771893 0.409693717957 0.000000000000 -vt 0.893171131611 0.415372341871 0.000000000000 -vt 0.894341528416 0.422278076410 0.000000000000 -vt 0.895548760891 0.430168658495 0.000000000000 -vt 0.856991708279 0.413939237595 0.000000000000 -vt 0.858568608761 0.420849025249 0.000000000000 -vt 0.860028803349 0.428554058075 0.000000000000 -vt 0.861705243587 0.435540854931 0.000000000000 -vt 0.862937510014 0.448144823313 0.000000000000 -vt 0.865016877651 0.448156058788 0.000000000000 -vt 0.894014537334 0.443118661642 0.000000000000 -vt 0.896675527096 0.441695034504 0.000000000000 -vt 0.942015469074 0.465249389410 0.000000000000 -vt 0.938968360424 0.467184603214 0.000000000000 -vt 0.947230279446 0.471932232380 0.000000000000 -vt 0.929851353168 0.479779750109 0.000000000000 -vt 0.884821474552 0.455685496330 0.000000000000 -vt 0.911414802074 0.493092268705 0.000000000000 -vt 0.871183216572 0.461694657803 0.000000000000 -vt 0.860978066921 0.452166974545 0.000000000000 -vt 0.943686783314 0.478628307581 0.000000000000 -vt 0.933102667332 0.492131799459 0.000000000000 -vt 0.919620096684 0.505386710167 0.000000000000 -vt 0.891063272953 0.499169915915 0.000000000000 -vt 0.916852533817 0.507224857807 0.000000000000 -vt 0.908044636250 0.511230826378 0.000000000000 -vt 0.888901054859 0.516245007515 0.000000000000 -vt 0.869810879230 0.502536654472 0.000000000000 -vt 0.873295843601 0.517087996006 0.000000000000 -vt 0.852177441120 0.511175870895 0.000000000000 -vt 0.852176964283 0.514577090740 0.000000000000 -vt 0.850538194180 0.510758638382 0.000000000000 -vt 0.846698939800 0.494376987219 0.000000000000 -vt 0.847678959370 0.512833237648 0.000000000000 -vt 0.836011469364 0.506721198559 0.000000000000 -vt 0.830273568630 0.488239735365 0.000000000000 -vt 0.829936563969 0.486338347197 0.000000000000 -vt 0.858301818371 0.452152788639 0.000000000000 -vt 0.827840387821 0.498115986586 0.000000000000 -vt 0.829935252666 0.487876564264 0.000000000000 -vt 0.823986113071 0.491719275713 0.000000000000 -vt 0.069046996534 0.797405838966 0.000000000000 -vt 0.063239946961 0.785030543804 0.000000000000 -vt 0.056414369494 0.807498395443 0.000000000000 -vt 0.050693791360 0.794903695583 0.000000000000 -vt 0.038561563939 0.813347876072 0.000000000000 -vt 0.035990972072 0.810181796551 0.000000000000 -vt 0.047508850694 0.830956161022 0.000000000000 -vt 0.037681039423 0.814844489098 0.000000000000 -vt 0.029368514195 0.826868057251 0.000000000000 -vt 0.033771704882 0.815734088421 0.000000000000 -vt 0.038801524788 0.845296800137 0.000000000000 -vt 0.029519105330 0.846085309982 0.000000000000 -vt 0.027892099693 0.839723408222 0.000000000000 -vt 0.084708891809 0.852553844452 0.000000000000 -vt 0.083767443895 0.854980945587 0.000000000000 -vt 0.037650745362 0.847761273384 0.000000000000 -vt 0.114381492138 0.771946310997 0.000000000000 -vt 0.094816014171 0.771821796894 0.000000000000 -vt 0.080136142671 0.774619162083 0.000000000000 -vt 0.090211994946 0.772520661354 0.000000000000 -vt 0.095953144133 0.783221781254 0.000000000000 -vt 0.062365397811 0.784237205982 0.000000000000 -vt 0.049735300243 0.794033586979 0.000000000000 -vt 0.035117056221 0.810181081295 0.000000000000 -vt 0.028672711924 0.846871018410 0.000000000000 -vt 0.036163691431 0.812595427036 0.000000000000 -vt 0.032508853823 0.815019369125 0.000000000000 -vt 0.035413723439 0.813524901867 0.000000000000 -vt 0.028211543337 0.827950716019 0.000000000000 -vt 0.026609050110 0.839356005192 0.000000000000 -vt 0.896258294582 0.381265163422 0.000000000000 -vt 0.934112012386 0.361818969250 0.000000000000 -vt 0.059123776853 0.925175607204 0.000000000000 -vt 0.055362485349 0.926216900349 0.000000000000 -vt 0.054541967809 0.924610912800 0.000000000000 -vt 0.057503841817 0.922102153301 0.000000000000 -vt 0.059521101415 0.928506195545 0.000000000000 -vt 0.055455230176 0.928037106991 0.000000000000 -vt 0.058347843587 0.931667983532 0.000000000000 -vt 0.054807446897 0.929809391499 0.000000000000 -vt 0.056133113801 0.934393584728 0.000000000000 -vt 0.053610645235 0.931369364262 0.000000000000 -vt 0.053249321878 0.936173141003 0.000000000000 -vt 0.051895163953 0.932276666164 0.000000000000 -vt 0.049887977540 0.936500608921 0.000000000000 -vt 0.050015471876 0.932548344135 0.000000000000 -vt 0.046488307416 0.935653746128 0.000000000000 -vt 0.048176728189 0.932161509991 0.000000000000 -vt 0.043682835996 0.933717668056 0.000000000000 -vt 0.046699486673 0.931114256382 0.000000000000 -vt 0.042096994817 0.930674016476 0.000000000000 -vt 0.045871280134 0.929518997669 0.000000000000 -vt 0.041774652898 0.927204310894 0.000000000000 -vt 0.045793555677 0.927666127682 0.000000000000 -vt 0.042907558382 0.923894703388 0.000000000000 -vt 0.046437762678 0.925861775875 0.000000000000 -vt 0.045091055334 0.921195805073 0.000000000000 -vt 0.047651670873 0.924327433109 0.000000000000 -vt 0.048192583025 0.919690430164 0.000000000000 -vt 0.049426577985 0.923481881618 0.000000000000 -vt 0.051677010953 0.919228494167 0.000000000000 -vt 0.051336131990 0.923179805279 0.000000000000 -vt 0.054966412485 0.919925153255 0.000000000000 -vt 0.053134106100 0.923531472683 0.000000000000 -vt 0.063366554677 0.923810899258 0.000000000000 -vt 0.060973726213 0.919329464436 0.000000000000 -vt 0.064595483243 0.929011166096 0.000000000000 -vt 0.062306247652 0.933849632740 0.000000000000 -vt 0.059110067785 0.937792122364 0.000000000000 -vt 0.054868541658 0.941029012203 0.000000000000 -vt 0.049543462694 0.940982162952 0.000000000000 -vt 0.044648133218 0.939702689648 0.000000000000 -vt 0.040030620992 0.937077343464 0.000000000000 -vt 0.037820480764 0.932063996792 0.000000000000 -vt 0.036892317235 0.926711142063 0.000000000000 -vt 0.038925252855 0.921679198742 0.000000000000 -vt 0.042036972940 0.917214572430 0.000000000000 -vt 0.046976409853 0.915347874165 0.000000000000 -vt 0.051998518407 0.914744794369 0.000000000000 -vt 0.057310722768 0.915426671505 0.000000000000 -vt 0.067497454584 0.921644866467 0.000000000000 -vt 0.065058015287 0.917089760303 0.000000000000 -vt 0.069694779813 0.926195323467 0.000000000000 -vt 0.065975569189 0.936767637730 0.000000000000 -vt 0.062733851373 0.940771758556 0.000000000000 -vt 0.059423707426 0.944580018520 0.000000000000 -vt 0.048389576375 0.945518910885 0.000000000000 -vt 0.043406806886 0.944201171398 0.000000000000 -vt 0.038586281240 0.942701995373 0.000000000000 -vt 0.033321164548 0.933438599110 0.000000000000 -vt 0.031816206872 0.928624808788 0.000000000000 -vt 0.034770034254 0.919423639774 0.000000000000 -vt 0.037123106420 0.914970576763 0.000000000000 -vt 0.046392939985 0.910692512989 0.000000000000 -vt 0.051504157484 0.910091817379 0.000000000000 -vt 0.056533597410 0.909688174725 0.000000000000 -vt 0.071821056306 0.919187366962 0.000000000000 -vt 0.069497846067 0.914850890636 0.000000000000 -vt 0.074104093015 0.923345625401 0.000000000000 -vt 0.069763801992 0.939998447895 0.000000000000 -vt 0.066682241857 0.943804800510 0.000000000000 -vt 0.063756071031 0.947524607182 0.000000000000 -vt 0.046995721757 0.950295627117 0.000000000000 -vt 0.042247436941 0.949036777020 0.000000000000 -vt 0.037652872503 0.947865664959 0.000000000000 -vt 0.028527699411 0.934890091419 0.000000000000 -vt 0.027052603662 0.930507719517 0.000000000000 -vt 0.030363760889 0.917036354542 0.000000000000 -vt 0.032438538969 0.912907421589 0.000000000000 -vt 0.045932315290 0.905737102032 0.000000000000 -vt 0.050800107419 0.905163943768 0.000000000000 -vt 0.055495165288 0.904551923275 0.000000000000 -vt 0.050987325609 0.924352467060 0.000000000000 -vt 0.048744998872 0.925625741482 0.000000000000 -vt 0.048258863389 0.925050437450 0.000000000000 -vt 0.049704097211 0.924391329288 0.000000000000 -vt 0.054107807577 0.926788032055 0.000000000000 -vt 0.051701687276 0.929121911526 0.000000000000 -vt 0.050647579134 0.927882850170 0.000000000000 -vt 0.053451858461 0.925569355488 0.000000000000 -vt 0.052362285554 0.924720108509 0.000000000000 -vt 0.049598239362 0.926641643047 0.000000000000 -vt 0.054247222841 0.928189814091 0.000000000000 -vt 0.052564702928 0.930132806301 0.000000000000 -vt 0.053045056760 0.930693566799 0.000000000000 -vt 0.053973041475 0.929413259029 0.000000000000 -vt 0.050350688398 0.931418359280 0.000000000000 -vt 0.051625333726 0.931378662586 0.000000000000 -vt 0.048955641687 0.931039512157 0.000000000000 -vt 0.047835491598 0.930190026760 0.000000000000 -vt 0.047166489065 0.928965747356 0.000000000000 -vt 0.047026477754 0.927548825741 0.000000000000 -vt 0.047300122678 0.926310837269 0.000000000000 -vt 0.076263017952 0.889852464199 0.000000000000 -vt 0.072937078774 0.890983402729 0.000000000000 -vt 0.072223909199 0.886963069439 0.000000000000 -vt 0.073955483735 0.886285126209 0.000000000000 -vt 0.078647918999 0.887252748013 0.000000000000 -vt 0.075236566365 0.884860932827 0.000000000000 -vt 0.080082006752 0.883868515491 0.000000000000 -vt 0.075974173844 0.882985889912 0.000000000000 -vt 0.080343849957 0.880316436291 0.000000000000 -vt 0.076127000153 0.880949914455 0.000000000000 -vt 0.078979976475 0.877020061016 0.000000000000 -vt 0.075315542519 0.879069387913 0.000000000000 -vt 0.076549418271 0.874237835407 0.000000000000 -vt 0.074006743729 0.877511203289 0.000000000000 -vt 0.073425479233 0.872460305691 0.000000000000 -vt 0.072319932282 0.876525342464 0.000000000000 -vt 0.069821424782 0.872302711010 0.000000000000 -vt 0.070436544716 0.876380264759 0.000000000000 -vt 0.066397853196 0.873569548130 0.000000000000 -vt 0.068679399788 0.877089798450 0.000000000000 -vt 0.063854344189 0.876202642918 0.000000000000 -vt 0.067366369069 0.878527104855 0.000000000000 -vt 0.062428124249 0.879545271397 0.000000000000 -vt 0.066652543843 0.880400240421 0.000000000000 -vt 0.062527008355 0.883167207241 0.000000000000 -vt 0.066598244011 0.882463753223 0.000000000000 -vt 0.063823170960 0.886639058590 0.000000000000 -vt 0.067381329834 0.884392201900 0.000000000000 -vt 0.066064722836 0.889388978481 0.000000000000 -vt 0.068642385304 0.885931313038 0.000000000000 -vt 0.069291241467 0.890806376934 0.000000000000 -vt 0.070335276425 0.886830031872 0.000000000000 -vt 0.079105265439 0.894360721111 0.000000000000 -vt 0.073614127934 0.895603239536 0.000000000000 -vt 0.082558877766 0.889905154705 0.000000000000 -vt 0.084692724049 0.885016143322 0.000000000000 -vt 0.085654027760 0.879498064518 0.000000000000 -vt 0.083038873971 0.874549567699 0.000000000000 -vt 0.079515941441 0.870571315289 0.000000000000 -vt 0.074898667634 0.867442429066 0.000000000000 -vt 0.069151528180 0.867639601231 0.000000000000 -vt 0.063656993210 0.869233548641 0.000000000000 -vt 0.059899874032 0.873542368412 0.000000000000 -vt 0.057234056294 0.878605186939 0.000000000000 -vt 0.057885952294 0.884120523930 0.000000000000 -vt 0.059755094349 0.889095604420 0.000000000000 -vt 0.062920100987 0.893733680248 0.000000000000 -vt 0.068280227482 0.895384490490 0.000000000000 -vt 0.078785724938 0.900479376316 0.000000000000 -vt 0.073472566903 0.900497257710 0.000000000000 -vt 0.087039537728 0.891929209232 0.000000000000 -vt 0.089219875634 0.886968076229 0.000000000000 -vt 0.091177947819 0.882038056850 0.000000000000 -vt 0.086754925549 0.871306598186 0.000000000000 -vt 0.083158977330 0.867264211178 0.000000000000 -vt 0.079480238259 0.863445341587 0.000000000000 -vt 0.068381793797 0.862759649754 0.000000000000 -vt 0.063137896359 0.863549411297 0.000000000000 -vt 0.055807478726 0.870739161968 0.000000000000 -vt 0.052770502865 0.875079214573 0.000000000000 -vt 0.053255327046 0.885821878910 0.000000000000 -vt 0.055160112679 0.890882432461 0.000000000000 -vt 0.057204969227 0.895774066448 0.000000000000 -vt 0.068046040833 0.900283634663 0.000000000000 -vt 0.078120060265 0.905958473682 0.000000000000 -vt 0.073138959706 0.905713617802 0.000000000000 -vt 0.091880030930 0.893913924694 0.000000000000 -vt 0.093954570591 0.889196693897 0.000000000000 -vt 0.096018739045 0.884667575359 0.000000000000 -vt 0.090575344861 0.867730081081 0.000000000000 -vt 0.087147958577 0.863881051540 0.000000000000 -vt 0.083878643811 0.860125720501 0.000000000000 -vt 0.067553706467 0.857561290264 0.000000000000 -vt 0.062731571496 0.858179271221 0.000000000000 -vt 0.051463313401 0.867761790752 0.000000000000 -vt 0.048594601452 0.871683299541 0.000000000000 -vt 0.048404522240 0.887782871723 0.000000000000 -vt 0.050217278302 0.892602741718 0.000000000000 -vt 0.051908619702 0.897282183170 0.000000000000 -vt 0.067971713841 0.905510962009 0.000000000000 -vt 0.069196112454 0.884744703770 0.000000000000 -vt 0.068222053349 0.883839309216 0.000000000000 -vt 0.067552991211 0.882304251194 0.000000000000 -vt 0.068320401013 0.882175028324 0.000000000000 -vt 0.073343880475 0.884937107563 0.000000000000 -vt 0.071995504200 0.885450780392 0.000000000000 -vt 0.071372933686 0.881675302982 0.000000000000 -vt 0.073059923947 0.881411254406 0.000000000000 -vt 0.070542402565 0.885377347469 0.000000000000 -vt 0.069689460099 0.881946742535 0.000000000000 -vt 0.074404723942 0.883906543255 0.000000000000 -vt 0.074438758194 0.881199419498 0.000000000000 -vt 0.075204439461 0.881086766720 0.000000000000 -vt 0.075038559735 0.882739722729 0.000000000000 -vt 0.073512084782 0.878659069538 0.000000000000 -vt 0.074500329792 0.879579484463 0.000000000000 -vt 0.072161979973 0.877989232540 0.000000000000 -vt 0.070704765618 0.877902209759 0.000000000000 -vt 0.069342859089 0.878422200680 0.000000000000 -vt 0.068271823227 0.879460871220 0.000000000000 -vt 0.067647464573 0.880636036396 0.000000000000 -vt 0.069012485445 0.932736814022 0.000000000000 -vt 0.053315483034 0.946615636349 0.000000000000 -vt 0.034739337862 0.938278734684 0.000000000000 -vt 0.032324932516 0.923826873302 0.000000000000 -vt 0.041412316263 0.911473333836 0.000000000000 -vt 0.062483809888 0.912739932537 0.000000000000 -vt 0.072793565691 0.936362326145 0.000000000000 -vt 0.051563642919 0.951559722424 0.000000000000 -vt 0.029731415212 0.939354598522 0.000000000000 -vt 0.028038166463 0.921029269695 0.000000000000 -vt 0.041223250329 0.906235873699 0.000000000000 -vt 0.067299149930 0.910646736622 0.000000000000 -vt 0.084724672139 0.896705806255 0.000000000000 -vt 0.090130694211 0.875394165516 0.000000000000 -vt 0.073611505330 0.861880958080 0.000000000000 -vt 0.058759339154 0.866340816021 0.000000000000 -vt 0.051577635109 0.880795300007 0.000000000000 -vt 0.062752433121 0.899852573872 0.000000000000 -vt 0.089935369790 0.898496687412 0.000000000000 -vt 0.093930847943 0.871406018734 0.000000000000 -vt 0.072329230607 0.856650412083 0.000000000000 -vt 0.054085560143 0.863671362400 0.000000000000 -vt 0.046596772969 0.883146226406 0.000000000000 -vt 0.062987215817 0.905366241932 0.000000000000 -vt 0.724434196949 0.690520286560 0.000000000000 -vt 0.714673578739 0.670199394226 0.000000000000 -vt 0.738192379475 0.658733546734 0.000000000000 -vt 0.749425828457 0.679554581642 0.000000000000 -vt 0.766880452633 0.648001551628 0.000000000000 -vt 0.778476417065 0.667455196381 0.000000000000 -vt 0.658123552799 0.561918437481 0.000000000000 -vt 0.681013524532 0.545336842537 0.000000000000 -vt 0.691574394703 0.565115392208 0.000000000000 -vt 0.668605864048 0.578333139420 0.000000000000 -vt 0.678273379803 0.596119463444 0.000000000000 -vt 0.700517117977 0.582515180111 0.000000000000 -vt 0.708820402622 0.600191891193 0.000000000000 -vt 0.686416089535 0.614063024521 0.000000000000 -vt 0.693850934505 0.631938755512 0.000000000000 -vt 0.717175424099 0.619349181652 0.000000000000 -vt 0.726578891277 0.638749718666 0.000000000000 -vt 0.702835142612 0.650949716568 0.000000000000 -vt 0.727393448353 0.566789627075 0.000000000000 -vt 0.737516939640 0.584310531616 0.000000000000 -vt 0.746533215046 0.605367720127 0.000000000000 -vt 0.755558550358 0.627303957939 0.000000000000 -vt 0.717193305492 0.550311207771 0.000000000000 -vt 0.707122027874 0.527874290943 0.000000000000 -vt 0.648476541042 0.550091445446 0.000000000000 -vt 0.670800983906 0.526029586792 0.000000000000 -vt 0.796826541424 0.635315418243 0.000000000000 -vt 0.810074508190 0.653544664383 0.000000000000 -vt 0.828041613102 0.628299355507 0.000000000000 -vt 0.837326347828 0.640173137188 0.000000000000 -vt 0.784561932087 0.614920377731 0.000000000000 -vt 0.774542272091 0.593422353268 0.000000000000 -vt 0.802680790424 0.583606719971 0.000000000000 -vt 0.815609514713 0.603868663311 0.000000000000 -vt 0.744441092014 0.531438291073 0.000000000000 -vt 0.776179373264 0.512288391590 0.000000000000 -vt 0.783609092236 0.532737612724 0.000000000000 -vt 0.755129158497 0.549743592739 0.000000000000 -vt 0.697984158993 0.500902295113 0.000000000000 -vt 0.737360656261 0.508947730064 0.000000000000 -vt 0.730104506016 0.483820885420 0.000000000000 -vt 0.765154659748 0.571034491062 0.000000000000 -vt 0.792746603489 0.558559775352 0.000000000000 -vt 0.768725693226 0.492010682821 0.000000000000 -vt 0.757663547993 0.472875863314 0.000000000000 -vt 0.725043118000 0.693508327007 0.000000000000 -vt 0.750067889690 0.685739338398 0.000000000000 -vt 0.791203796864 0.399861633778 0.000000000000 -vt 0.779777586460 0.399193614721 0.000000000000 -vt 0.752974689007 0.710415661335 0.000000000000 -vt 0.804506599903 0.398513197899 0.000000000000 -vt 0.782004177570 0.452414214611 0.000000000000 -vt 0.780603945255 0.444166988134 0.000000000000 -vt 0.791876137257 0.443759024143 0.000000000000 -vt 0.793968260288 0.453128397465 0.000000000000 -vt 0.779418051243 0.435353308916 0.000000000000 -vt 0.778252422810 0.426639556885 0.000000000000 -vt 0.789694845676 0.427197962999 0.000000000000 -vt 0.790620148182 0.435532063246 0.000000000000 -vt 0.777533710003 0.418020188808 0.000000000000 -vt 0.777940571308 0.408807516098 0.000000000000 -vt 0.789442360401 0.409360051155 0.000000000000 -vt 0.789057195187 0.418372094631 0.000000000000 -vt 0.803890883923 0.427518129349 0.000000000000 -vt 0.804031312466 0.435820281506 0.000000000000 -vt 0.803060233593 0.417909622192 0.000000000000 -vt 0.802897393703 0.408120334148 0.000000000000 -vt 0.804555714130 0.443755626678 0.000000000000 -vt 0.807329356670 0.454006284475 0.000000000000 -vt 0.725099384785 0.716310918331 0.000000000000 -vt 0.779836833477 0.674231469631 0.000000000000 -vt 0.783605754375 0.697045505047 0.000000000000 -vt 0.818779408932 0.398010879755 0.000000000000 -vt 0.643724501133 0.545761525631 0.000000000000 -vt 0.628008902073 0.541231870651 0.000000000000 -vt 0.816486179829 0.407289743423 0.000000000000 -vt 0.643818080425 0.512760996819 0.000000000000 -vt 0.665438830853 0.521224975586 0.000000000000 -vt 0.815758764744 0.416817396879 0.000000000000 -vt 0.818642079830 0.444537609816 0.000000000000 -vt 0.817937195301 0.436300307512 0.000000000000 -vt 0.811494052410 0.658484101295 0.000000000000 -vt 0.816042482853 0.680989921093 0.000000000000 -vt 0.840249359608 0.645133495331 0.000000000000 -vt 0.822369277477 0.453545153141 0.000000000000 -vt 0.847676336765 0.654553532600 0.000000000000 -vt 0.848686635494 0.579840302467 0.000000000000 -vt 0.816775619984 0.426806628704 0.000000000000 -vt 0.821314275265 0.600943446159 0.000000000000 -vt 0.813257277012 0.578419387341 0.000000000000 -vt 0.838545382023 0.561789393425 0.000000000000 -vt 0.819137394428 0.502666831017 0.000000000000 -vt 0.823779404163 0.522105157375 0.000000000000 -vt 0.790229976177 0.529961049557 0.000000000000 -vt 0.781899273396 0.510464847088 0.000000000000 -vt 0.668055117130 0.483010739088 0.000000000000 -vt 0.692842900753 0.497021466494 0.000000000000 -vt 0.808572947979 0.481489390135 0.000000000000 -vt 0.704506456852 0.458266437054 0.000000000000 -vt 0.801172792912 0.554602205753 0.000000000000 -vt 0.830090582371 0.542637288570 0.000000000000 -vt 0.773884236813 0.490298360586 0.000000000000 -vt 0.726107180119 0.478320568800 0.000000000000 -vt 0.745716154575 0.441092967987 0.000000000000 -vt 0.753030359745 0.462626129389 0.000000000000 -vt 0.722523391247 0.691917836666 0.000000000000 -vt 0.749568045139 0.682414948940 0.000000000000 -vt 0.779008090496 0.670675337315 0.000000000000 -vt 0.667049825191 0.578830957413 0.000000000000 -vt 0.684892475605 0.614746153355 0.000000000000 -vt 0.676726400852 0.596634447575 0.000000000000 -vt 0.701373159885 0.652009308338 0.000000000000 -vt 0.692301928997 0.632841825485 0.000000000000 -vt 0.646996915340 0.549704909325 0.000000000000 -vt 0.667850673199 0.524221837521 0.000000000000 -vt 0.810716688633 0.655620336533 0.000000000000 -vt 0.839727461338 0.639870941639 0.000000000000 -vt 0.830280363560 0.627509713173 0.000000000000 -vt 0.818201720715 0.602329492569 0.000000000000 -vt 0.807740032673 0.580971300602 0.000000000000 -vt 0.786967098713 0.531335592270 0.000000000000 -vt 0.778827011585 0.511309623718 0.000000000000 -vt 0.695696294308 0.499585956335 0.000000000000 -vt 0.728171169758 0.480036228895 0.000000000000 -vt 0.796798646450 0.556795895100 0.000000000000 -vt 0.771090447903 0.491387873888 0.000000000000 -vt 0.755518972874 0.467876076698 0.000000000000 -vt 0.857891857624 0.600561559200 0.000000000000 -vt 0.832526981831 0.625968098640 0.000000000000 -vt 0.721892893314 0.690372586250 0.000000000000 -vt 0.713340461254 0.671590626240 0.000000000000 -vt 0.646686851978 0.550678908825 0.000000000000 -vt 0.656452476978 0.562453389168 0.000000000000 -vt 0.842236578465 0.638690054417 0.000000000000 -vt 0.764252245426 0.471054345369 0.000000000000 -vt 0.725051343441 0.691869199276 0.000000000000 -vt 0.646329224110 0.548061668873 0.000000000000 -vt 0.838410317898 0.642666935921 0.000000000000 -vt 0.759749114513 0.472487002611 0.000000000000 -# 6542 texture coords - -g Box001 -usemtl Material__283 -s 1 -f 18/3/1 17/4/2 1/1/3 -f 1/1/4 2/2/5 18/3/6 -f 19/6/7 18/3/8 2/2/9 -f 2/2/10 3/5/11 19/6/12 -f 20/8/13 19/6/14 3/5/15 -f 3/5/16 4/7/17 20/8/18 -f 21/11/19 20/12/20 4/9/21 -f 4/9/22 5/10/23 21/11/24 -f 22/14/25 21/11/26 5/10/27 -f 5/10/28 6/13/29 22/14/30 -f 23/16/31 22/14/32 6/13/33 -f 6/13/34 7/15/35 23/16/36 -f 24/18/37 23/16/38 7/15/39 -f 7/15/40 8/17/41 24/18/42 -f 25/20/43 24/18/44 8/17/45 -f 8/17/46 9/19/47 25/20/48 -f 26/22/49 25/20/50 9/19/51 -f 9/19/52 10/21/53 26/22/54 -f 27/24/55 26/22/56 10/21/57 -f 10/21/58 11/23/59 27/24/60 -f 28/26/61 27/24/62 11/23/63 -f 11/23/64 12/25/65 28/26/66 -f 29/28/67 28/26/68 12/25/69 -f 12/25/70 13/27/71 29/28/72 -f 30/30/73 29/28/74 13/27/75 -f 13/27/76 14/29/77 30/30/78 -f 31/32/79 30/30/80 14/29/81 -f 14/29/82 15/31/83 31/32/84 -f 32/34/85 31/32/86 15/31/87 -f 15/31/88 16/33/89 32/34/90 -f 17/4/91 32/34/92 16/33/93 -f 16/33/94 1/1/95 17/4/96 -f 65/37/97 67/38/98 68/35/99 -f 68/35/100 66/36/101 65/37/102 -f 67/38/103 69/40/104 70/39/105 -f 70/39/106 68/35/107 67/38/108 -f 69/40/109 71/42/110 72/41/111 -f 72/41/112 70/39/113 69/40/114 -f 71/45/115 73/46/116 74/43/117 -f 74/43/118 72/44/119 71/45/120 -f 73/46/121 75/48/122 76/47/123 -f 76/47/124 74/43/125 73/46/126 -f 75/48/127 77/50/128 78/49/129 -f 78/49/130 76/47/131 75/48/132 -f 77/50/133 79/52/134 80/51/135 -f 80/51/136 78/49/137 77/50/138 -f 79/52/139 81/54/140 82/53/141 -f 82/53/142 80/51/143 79/52/144 -f 81/54/145 83/56/146 84/55/147 -f 84/55/148 82/53/149 81/54/150 -f 83/56/151 85/58/152 86/57/153 -f 86/57/154 84/55/155 83/56/156 -f 85/58/157 87/60/158 88/59/159 -f 88/59/160 86/57/161 85/58/162 -f 87/60/163 89/62/164 90/61/165 -f 90/61/166 88/59/167 87/60/168 -f 89/62/169 91/64/170 92/63/171 -f 92/63/172 90/61/173 89/62/174 -f 91/64/175 93/66/176 94/65/177 -f 94/65/178 92/63/179 91/64/180 -f 93/66/181 95/68/182 96/67/183 -f 96/67/184 94/65/185 93/66/186 -f 95/68/187 65/37/188 66/36/189 -f 66/36/190 96/67/191 95/68/192 -f 50/71/193 49/72/194 33/69/195 -f 33/69/196 34/70/197 50/71/198 -f 51/74/199 50/71/200 34/70/201 -f 34/70/202 35/73/203 51/74/204 -f 52/76/205 51/74/206 35/73/207 -f 35/73/208 36/75/209 52/76/210 -f 53/79/211 52/80/212 36/77/213 -f 36/77/214 37/78/215 53/79/216 -f 54/82/217 53/79/218 37/78/219 -f 37/78/220 38/81/221 54/82/222 -f 55/84/223 54/82/224 38/81/225 -f 38/81/226 39/83/227 55/84/228 -f 56/86/229 55/84/230 39/83/231 -f 39/83/232 40/85/233 56/86/234 -f 57/88/235 56/86/236 40/85/237 -f 40/85/238 41/87/239 57/88/240 -f 58/90/241 57/88/242 41/87/243 -f 41/87/244 42/89/245 58/90/246 -f 59/92/247 58/90/248 42/89/249 -f 42/89/250 43/91/251 59/92/252 -f 60/94/253 59/92/254 43/91/255 -f 43/91/256 44/93/257 60/94/258 -f 61/96/259 60/94/260 44/93/261 -f 44/93/262 45/95/263 61/96/264 -f 62/98/265 61/96/266 45/95/267 -f 45/95/268 46/97/269 62/98/270 -f 63/100/271 62/98/272 46/97/273 -f 46/97/274 47/99/275 63/100/276 -f 64/102/277 63/100/278 47/99/279 -f 47/99/280 48/101/281 64/102/282 -f 49/72/283 64/102/284 48/101/285 -f 48/101/286 33/69/287 49/72/288 -f 66/36/289 68/35/290 34/70/291 -f 34/70/292 33/69/293 66/36/294 -f 67/38/295 65/37/296 17/4/297 -f 17/4/298 18/3/299 67/38/300 -f 68/35/301 70/39/302 35/73/303 -f 35/73/304 34/70/305 68/35/306 -f 69/40/307 67/38/308 18/3/309 -f 18/3/310 19/6/311 69/40/312 -f 70/39/313 72/41/314 36/75/315 -f 36/75/316 35/73/317 70/39/318 -f 71/42/319 69/40/320 19/6/321 -f 19/6/322 20/8/323 71/42/324 -f 72/44/325 74/43/326 37/78/327 -f 37/78/328 36/77/329 72/44/330 -f 73/46/331 71/45/332 20/12/333 -f 20/12/334 21/11/335 73/46/336 -f 74/43/337 76/47/338 38/81/339 -f 38/81/340 37/78/341 74/43/342 -f 75/48/343 73/46/344 21/11/345 -f 21/11/346 22/14/347 75/48/348 -f 76/47/349 78/49/350 39/83/351 -f 39/83/352 38/81/353 76/47/354 -f 77/50/355 75/48/356 22/14/357 -f 22/14/358 23/16/359 77/50/360 -f 78/49/361 80/51/362 40/85/363 -f 40/85/364 39/83/365 78/49/366 -f 79/52/367 77/50/368 23/16/369 -f 23/16/370 24/18/371 79/52/372 -f 80/51/373 82/53/374 41/87/375 -f 41/87/376 40/85/377 80/51/378 -f 81/54/379 79/52/380 24/18/381 -f 24/18/382 25/20/383 81/54/384 -f 82/53/385 84/55/386 42/89/387 -f 42/89/388 41/87/389 82/53/390 -f 83/56/391 81/54/392 25/20/393 -f 25/20/394 26/22/395 83/56/396 -f 84/55/397 86/57/398 43/91/399 -f 43/91/400 42/89/401 84/55/402 -f 85/58/403 83/56/404 26/22/405 -f 26/22/406 27/24/407 85/58/408 -f 86/57/409 88/59/410 44/93/411 -f 44/93/412 43/91/413 86/57/414 -f 87/60/415 85/58/416 27/24/417 -f 27/24/418 28/26/419 87/60/420 -f 88/59/421 90/61/422 45/95/423 -f 45/95/424 44/93/425 88/59/426 -f 89/62/427 87/60/428 28/26/429 -f 28/26/430 29/28/431 89/62/432 -f 90/61/433 92/63/434 46/97/435 -f 46/97/436 45/95/437 90/61/438 -f 91/64/439 89/62/440 29/28/441 -f 29/28/442 30/30/443 91/64/444 -f 92/63/445 94/65/446 47/99/447 -f 47/99/448 46/97/449 92/63/450 -f 93/66/451 91/64/452 30/30/453 -f 30/30/454 31/32/455 93/66/456 -f 94/65/457 96/67/458 48/101/459 -f 48/101/460 47/99/461 94/65/462 -f 95/68/463 93/66/464 31/32/465 -f 31/32/466 32/34/467 95/68/468 -f 96/67/469 66/36/470 33/69/471 -f 33/69/472 48/101/473 96/67/474 -f 65/37/475 95/68/476 32/34/477 -f 32/34/478 17/4/479 65/37/480 -f 188/103/481 158/104/482 108/105/483 -f 108/105/484 158/104/485 135/106/486 -f 99/107/487 190/108/488 114/109/489 -f 151/110/490 140/111/491 131/112/492 -f 142/113/493 133/114/494 149/115/495 -f 113/116/496 145/117/497 132/118/498 -f 109/119/499 121/120/500 181/121/501 -f 123/122/502 119/123/503 102/124/504 -f 177/125/505 130/126/506 141/127/507 -f 176/128/508 135/106/509 167/129/510 -f 138/130/511 143/131/512 111/132/513 -f 116/133/514 123/122/515 130/126/516 -f 104/134/517 150/135/518 183/136/519 -f 150/135/520 179/137/521 162/138/522 -f 120/139/523 189/140/524 153/141/525 -f 168/142/526 152/143/527 122/144/528 -f 152/143/529 161/145/530 122/144/531 -f 176/128/532 167/129/533 124/146/534 -f 192/147/535 185/148/536 97/149/537 -f 192/147/538 100/150/539 185/148/540 -f 134/151/541 163/152/542 101/153/543 -f 175/154/544 180/155/545 127/156/546 -f 143/131/547 181/121/548 184/157/549 -f 169/158/550 103/159/551 174/160/552 -f 165/161/553 145/117/554 113/116/555 -f 120/139/556 153/141/557 159/162/558 -f 142/113/559 114/109/560 133/114/561 -f 115/163/562 128/164/563 172/165/564 -f 115/163/565 172/165/566 117/166/567 -f 107/167/568 125/168/569 166/169/570 -f 177/125/571 116/133/572 130/126/573 -f 125/168/574 117/166/575 166/169/576 -f 166/169/577 182/170/578 157/171/579 -f 104/134/580 183/136/581 118/172/582 -f 131/112/583 155/173/584 106/174/585 -f 100/150/586 121/120/587 109/119/588 -f 162/138/589 189/140/590 120/139/591 -f 175/154/592 106/174/593 180/155/594 -f 121/120/595 136/175/596 181/121/597 -f 122/144/598 128/164/599 170/176/600 -f 103/159/601 123/122/602 116/133/603 -f 181/121/604 136/175/605 123/122/606 -f 99/107/607 186/177/608 190/108/609 -f 122/144/610 144/178/611 128/164/612 -f 115/163/613 117/166/614 125/168/615 -f 129/179/616 126/180/617 191/181/618 -f 109/119/619 181/121/620 143/131/621 -f 127/156/622 112/182/623 137/183/624 -f 159/162/625 153/141/626 112/182/627 -f 128/164/628 144/178/629 164/184/630 -f 128/164/631 164/184/632 172/165/633 -f 129/179/634 173/185/635 126/180/636 -f 188/103/637 185/148/638 158/104/639 -f 123/122/640 102/124/641 130/126/642 -f 141/127/643 130/126/644 156/186/645 -f 186/177/646 175/154/647 190/108/648 -f 175/154/649 127/156/650 137/183/651 -f 130/126/652 102/124/653 156/186/654 -f 110/187/655 133/114/656 114/109/657 -f 133/114/658 134/151/659 149/115/660 -f 97/149/661 185/148/662 188/103/663 -f 147/188/664 152/143/665 168/142/666 -f 190/108/667 175/154/668 137/183/669 -f 133/114/670 110/187/671 178/189/672 -f 135/106/673 154/190/674 167/129/675 -f 138/130/676 171/191/677 104/134/678 -f 136/175/679 119/123/680 123/122/681 -f 139/192/682 119/123/683 136/175/684 -f 137/183/685 112/182/686 134/151/687 -f 133/114/688 178/189/689 134/151/690 -f 138/130/691 104/134/692 135/106/693 -f 191/181/694 126/180/695 138/130/696 -f 112/182/697 163/152/698 134/151/699 -f 112/182/700 98/193/701 165/161/702 -f 139/192/703 136/175/704 121/120/705 -f 100/150/706 139/192/707 121/120/708 -f 131/112/709 140/111/710 155/173/711 -f 154/190/712 118/172/713 167/129/714 -f 141/127/715 156/186/716 98/193/717 -f 153/141/718 98/193/719 112/182/720 -f 166/169/721 117/166/722 182/170/723 -f 117/166/724 160/194/725 182/170/726 -f 126/180/727 143/131/728 138/130/729 -f 173/185/730 143/131/731 126/180/732 -f 144/178/733 146/195/734 164/184/735 -f 161/145/736 176/128/737 124/146/738 -f 98/193/739 145/117/740 165/161/741 -f 98/193/742 132/118/743 145/117/744 -f 161/145/745 124/146/746 144/178/747 -f 124/146/748 140/111/749 146/195/750 -f 97/149/751 152/143/752 147/188/753 -f 177/125/754 148/196/755 116/133/756 -f 103/159/757 116/133/758 174/160/759 -f 134/151/760 101/153/761 149/115/762 -f 169/158/763 179/137/764 150/135/765 -f 138/130/766 111/132/767 171/191/768 -f 140/111/769 151/110/770 146/195/771 -f 146/195/772 151/110/773 164/184/774 -f 152/143/775 97/149/776 188/103/777 -f 188/103/778 108/105/779 152/143/780 -f 105/197/781 141/127/782 153/141/783 -f 141/127/784 98/193/785 153/141/786 -f 135/106/787 104/134/788 154/190/789 -f 154/190/790 104/134/791 118/172/792 -f 122/144/793 161/145/794 144/178/795 -f 155/173/796 118/172/797 106/174/798 -f 167/129/799 118/172/800 155/173/801 -f 98/193/802 156/186/803 132/118/804 -f 142/113/805 149/115/806 157/171/807 -f 129/179/808 191/181/809 158/104/810 -f 158/104/811 185/148/812 129/179/813 -f 120/139/814 159/162/815 127/156/816 -f 127/156/817 159/162/818 112/182/819 -f 160/194/820 114/109/821 142/113/822 -f 99/107/823 114/109/824 160/194/825 -f 108/105/826 161/145/827 152/143/828 -f 176/128/829 108/105/830 135/106/831 -f 118/172/832 162/138/833 106/174/834 -f 106/174/835 162/138/836 120/139/837 -f 165/161/838 113/116/839 163/152/840 -f 164/184/841 186/177/842 99/107/843 -f 164/184/844 99/107/845 172/165/846 -f 112/182/847 165/161/848 163/152/849 -f 167/129/850 155/173/851 140/111/852 -f 124/146/853 167/129/854 140/111/855 -f 100/150/856 109/119/857 185/148/858 -f 109/119/859 143/131/860 173/185/861 -f 189/140/862 105/197/863 153/141/864 -f 170/176/865 125/168/866 107/167/867 -f 172/165/868 99/107/869 160/194/870 -f 172/165/871 160/194/872 117/166/873 -f 171/191/874 111/132/875 169/158/876 -f 184/157/877 103/159/878 169/158/879 -f 187/198/880 168/142/881 122/144/882 -f 147/188/883 168/142/884 187/198/885 -f 171/191/886 150/135/887 104/134/888 -f 171/191/889 169/158/890 150/135/891 -f 109/119/892 173/185/893 185/148/894 -f 185/148/895 173/185/896 129/179/897 -f 169/158/898 174/160/899 179/137/900 -f 148/196/901 174/160/902 116/133/903 -f 131/112/904 175/154/905 186/177/906 -f 131/112/907 106/174/908 175/154/909 -f 161/145/910 108/105/911 176/128/912 -f 105/197/913 177/125/914 141/127/915 -f 177/125/916 105/197/917 189/140/918 -f 178/189/919 137/183/920 134/151/921 -f 110/187/922 137/183/923 178/189/924 -f 179/137/925 174/160/926 148/196/927 -f 179/137/928 148/196/929 162/138/930 -f 180/155/931 120/139/932 127/156/933 -f 106/174/934 120/139/935 180/155/936 -f 103/159/937 181/121/938 123/122/939 -f 184/157/940 181/121/941 103/159/942 -f 182/170/943 142/113/944 157/171/945 -f 160/194/946 142/113/947 182/170/948 -f 183/136/949 150/135/950 162/138/951 -f 118/172/952 183/136/953 162/138/954 -f 111/132/955 184/157/956 169/158/957 -f 143/131/958 184/157/959 111/132/960 -f 164/184/961 151/110/962 186/177/963 -f 151/110/964 131/112/965 186/177/966 -f 149/115/967 101/153/968 163/152/969 -f 163/152/970 113/116/971 149/115/972 -f 187/198/973 122/144/974 170/176/975 -f 189/140/976 162/138/977 148/196/978 -f 189/140/979 148/196/980 177/125/981 -f 190/108/982 137/183/983 110/187/984 -f 190/108/985 110/187/986 114/109/987 -f 191/181/988 138/130/989 135/106/990 -f 158/104/991 191/181/992 135/106/993 -f 125/168/994 170/176/995 128/164/996 -f 128/164/997 115/163/998 125/168/999 -f 124/146/1000 146/195/1001 144/178/1002 -s 2 -f 207/213/1003 205/214/1004 193/199/1005 -f 193/199/1006 195/201/1007 207/213/1008 -f 206/215/1009 208/216/1010 196/207/1011 -f 196/207/1012 194/206/1013 206/215/1014 -f 205/214/1015 215/217/1016 203/200/1017 -f 203/200/1018 193/199/1019 205/214/1020 -f 209/218/1021 207/213/1022 195/201/1023 -f 195/201/1024 197/202/1025 209/218/1026 -f 208/216/1027 210/219/1028 198/208/1029 -f 198/208/1030 196/207/1031 208/216/1032 -f 213/221/1033 201/222/1034 253/211/1035 -f 253/211/1036 255/220/1037 213/221/1038 -f 266/223/1039 267/209/1040 198/208/1041 -f 198/208/1042 210/219/1043 266/223/1044 -f 212/257/1045 216/258/1046 204/212/1047 -f 204/212/1048 200/224/1049 212/257/1050 -f 209/218/1051 197/202/1052 268/203/1053 -f 268/203/1054 269/259/1055 209/218/1056 -f 212/257/1057 200/224/1058 254/205/1059 -f 254/205/1060 256/260/1061 212/257/1062 -f 215/217/1063 206/215/1064 194/206/1065 -f 194/206/1066 203/200/1067 215/217/1068 -f 216/258/1069 211/261/1070 199/210/1071 -f 199/210/1072 204/212/1073 216/258/1074 -f 219/227/1075 217/228/1076 205/225/1077 -f 205/225/1078 207/226/1079 219/227/1080 -f 218/231/1081 220/232/1082 208/229/1083 -f 208/229/1084 206/230/1085 218/231/1086 -f 217/228/1087 226/234/1088 215/233/1089 -f 215/233/1090 205/225/1091 217/228/1092 -f 221/236/1093 219/227/1094 207/226/1095 -f 207/226/1096 209/235/1097 221/236/1098 -f 220/232/1099 222/266/1100 210/265/1101 -f 210/265/1102 208/229/1103 220/232/1104 -f 225/239/1105 213/240/1106 255/237/1107 -f 255/237/1108 257/238/1109 225/239/1110 -f 222/266/1111 265/268/1112 266/267/1113 -f 266/267/1114 210/265/1115 222/266/1116 -f 224/243/1117 227/244/1118 216/241/1119 -f 216/241/1120 212/242/1121 224/243/1122 -f 270/270/1123 221/236/1124 209/235/1125 -f 209/235/1126 269/269/1127 270/270/1128 -f 224/243/1129 212/242/1130 256/246/1131 -f 256/246/1132 258/247/1133 224/243/1134 -f 226/332/1135 218/231/1136 206/230/1137 -f 206/230/1138 215/331/1139 226/332/1140 -f 227/244/1141 223/249/1142 211/248/1143 -f 211/248/1144 216/241/1145 227/244/1146 -f 228/250/1147 229/251/1148 227/244/1149 -f 227/244/1150 224/243/1151 228/250/1152 -f 229/251/1153 232/252/1154 223/249/1155 -f 223/249/1156 227/244/1157 229/251/1158 -f 258/247/1159 259/253/1160 228/250/1161 -f 228/250/1162 224/243/1163 258/247/1164 -f 260/254/1165 264/255/1166 225/239/1167 -f 225/239/1168 257/238/1169 260/254/1170 -f 244/274/1171 217/228/1172 219/227/1173 -f 219/227/1174 246/272/1175 244/274/1176 -f 247/276/1177 220/232/1178 218/231/1179 -f 218/231/1180 245/275/1181 247/276/1182 -f 250/277/1183 226/234/1184 217/228/1185 -f 217/228/1186 244/274/1187 250/277/1188 -f 246/272/1189 219/227/1190 221/236/1191 -f 221/236/1192 248/278/1193 246/272/1194 -f 249/279/1195 222/266/1196 220/232/1197 -f 220/232/1198 247/276/1199 249/279/1200 -f 245/275/1201 218/231/1202 226/332/1203 -f 226/332/1204 250/333/1205 245/275/1206 -f 231/282/1207 265/268/1208 222/266/1209 -f 222/266/1210 249/279/1211 231/282/1212 -f 252/286/1213 238/287/1214 279/284/1215 -f 279/284/1216 273/285/1217 252/286/1218 -f 273/285/1219 271/290/1220 242/288/1221 -f 242/288/1222 252/286/1223 273/285/1224 -f 291/294/1225 241/295/1226 289/245/1227 -f 289/245/1228 290/283/1229 291/294/1230 -f 241/295/1231 281/297/1232 288/296/1233 -f 288/296/1234 289/245/1235 241/295/1236 -f 283/299/1237 241/295/1238 291/294/1239 -f 291/294/1240 282/298/1241 283/299/1242 -f 281/297/1243 241/295/1244 283/299/1245 -f 283/299/1246 284/300/1247 281/297/1248 -f 263/262/1249 264/255/1250 260/254/1251 -f 260/254/1252 261/256/1253 263/262/1254 -f 261/256/1255 229/251/1256 228/250/1257 -f 228/250/1258 259/253/1259 261/256/1260 -f 275/306/1261 244/274/1262 246/272/1263 -f 246/272/1264 277/291/1265 275/306/1266 -f 247/276/1267 245/275/1268 276/307/1269 -f 276/307/1270 278/308/1271 247/276/1272 -f 280/309/1273 250/277/1274 244/274/1275 -f 244/274/1276 275/306/1277 280/309/1278 -f 246/272/1279 248/278/1280 279/284/1281 -f 279/284/1282 277/291/1283 246/272/1284 -f 274/310/1285 249/279/1286 247/276/1287 -f 247/276/1288 278/308/1289 274/310/1290 -f 245/275/1291 250/333/1292 280/334/1293 -f 280/334/1294 276/307/1295 245/275/1296 -f 233/311/1297 248/278/1298 221/236/1299 -f 221/236/1300 270/270/1301 233/311/1302 -f 272/312/1303 231/282/1304 249/279/1305 -f 249/279/1306 274/310/1307 272/312/1308 -f 272/312/1309 251/313/1310 242/288/1311 -f 242/288/1312 271/290/1313 272/312/1314 -f 255/220/1315 253/211/1316 199/210/1317 -f 199/210/1318 211/261/1319 255/220/1320 -f 256/260/1321 254/205/1322 202/204/1323 -f 202/204/1324 214/271/1325 256/260/1326 -f 257/238/1327 255/237/1328 211/248/1329 -f 211/248/1330 223/249/1331 257/238/1332 -f 258/247/1333 256/246/1334 214/263/1335 -f 214/263/1336 230/264/1337 258/247/1338 -f 259/253/1339 258/247/1340 230/264/1341 -f 230/264/1342 262/273/1343 259/253/1344 -f 232/252/1345 260/254/1346 257/238/1347 -f 257/238/1348 223/249/1349 232/252/1350 -f 261/256/1351 260/254/1352 232/252/1353 -f 232/252/1354 229/251/1355 261/256/1356 -f 263/262/1357 261/256/1358 259/253/1359 -f 259/253/1360 262/273/1361 263/262/1362 -f 231/281/1363 262/273/1364 230/264/1365 -f 230/264/1366 265/280/1367 231/281/1368 -f 243/289/1369 263/262/1370 262/273/1371 -f 262/273/1372 231/281/1373 243/289/1374 -f 264/255/1375 263/262/1376 243/289/1377 -f 243/289/1378 233/292/1379 264/255/1380 -f 270/293/1381 225/239/1382 264/255/1383 -f 264/255/1384 233/292/1385 270/293/1386 -f 266/304/1387 265/280/1388 230/264/1389 -f 230/264/1390 214/263/1391 266/304/1392 -f 267/209/1393 266/223/1394 214/271/1395 -f 214/271/1396 202/204/1397 267/209/1398 -f 269/259/1399 268/203/1400 201/222/1401 -f 201/222/1402 213/221/1403 269/259/1404 -f 225/239/1405 270/293/1406 269/305/1407 -f 269/305/1408 213/240/1409 225/239/1410 -f 243/314/1411 271/290/1412 273/285/1413 -f 273/285/1414 233/311/1415 243/314/1416 -f 231/282/1417 272/312/1418 271/290/1419 -f 271/290/1420 243/314/1421 231/282/1422 -f 234/316/1423 275/306/1424 277/291/1425 -f 277/291/1426 236/315/1427 234/316/1428 -f 278/308/1429 276/307/1430 235/317/1431 -f 235/317/1432 237/318/1433 278/308/1434 -f 240/319/1435 280/309/1436 275/306/1437 -f 275/306/1438 234/316/1439 240/319/1440 -f 277/291/1441 279/284/1442 238/287/1443 -f 238/287/1444 236/315/1445 277/291/1446 -f 239/320/1447 274/310/1448 278/308/1449 -f 278/308/1450 237/318/1451 239/320/1452 -f 276/307/1453 280/334/1454 240/335/1455 -f 240/335/1456 235/317/1457 276/307/1458 -f 251/313/1459 272/312/1460 274/310/1461 -f 274/310/1462 239/320/1463 251/313/1464 -f 273/285/1465 279/284/1466 248/278/1467 -f 248/278/1468 233/311/1469 273/285/1470 -f 281/297/1471 284/300/1472 285/301/1473 -f 285/301/1474 286/302/1475 281/297/1476 -f 287/303/1477 288/296/1478 281/297/1479 -f 281/297/1480 286/302/1481 287/303/1482 -f 283/321/1483 282/322/1484 234/316/1485 -f 234/316/1486 236/315/1487 283/321/1488 -f 284/323/1489 283/321/1490 236/315/1491 -f 236/315/1492 238/287/1493 284/323/1494 -f 285/324/1495 284/323/1496 238/287/1497 -f 238/287/1498 252/286/1499 285/324/1500 -f 286/325/1501 285/324/1502 252/286/1503 -f 252/286/1504 242/288/1505 286/325/1506 -f 287/326/1507 286/325/1508 242/288/1509 -f 242/288/1510 251/313/1511 287/326/1512 -f 288/327/1513 287/326/1514 251/313/1515 -f 251/313/1516 239/320/1517 288/327/1518 -f 289/328/1519 288/327/1520 239/320/1521 -f 239/320/1522 237/318/1523 289/328/1524 -f 290/329/1525 289/328/1526 237/318/1527 -f 237/318/1528 235/317/1529 290/329/1530 -f 291/330/1531 290/329/1532 235/317/1533 -f 235/317/1534 240/335/1535 291/330/1536 -f 282/322/1537 291/336/1538 240/319/1539 -f 240/319/1540 234/316/1541 282/322/1542 -s 1 -f 294/337/1543 292/339/1544 304/351/1545 -f 304/351/1546 306/352/1547 294/337/1548 -f 293/345/1549 295/344/1550 307/353/1551 -f 307/353/1552 305/354/1553 293/345/1554 -f 292/339/1555 302/338/1556 314/355/1557 -f 314/355/1558 304/351/1559 292/339/1560 -f 296/340/1561 294/337/1562 306/352/1563 -f 306/352/1564 308/356/1565 296/340/1566 -f 295/344/1567 297/346/1568 309/357/1569 -f 309/357/1570 307/353/1571 295/344/1572 -f 354/360/1573 352/349/1574 300/358/1575 -f 300/358/1576 312/359/1577 354/360/1578 -f 309/357/1579 297/346/1580 366/347/1581 -f 366/347/1582 365/361/1583 309/357/1584 -f 299/396/1585 303/348/1586 315/362/1587 -f 315/362/1588 311/395/1589 299/396/1590 -f 368/397/1591 367/341/1592 296/340/1593 -f 296/340/1594 308/356/1595 368/397/1596 -f 355/398/1597 353/342/1598 299/396/1599 -f 299/396/1600 311/395/1601 355/398/1602 -f 302/338/1603 293/345/1604 305/354/1605 -f 305/354/1606 314/355/1607 302/338/1608 -f 303/348/1609 298/350/1610 310/399/1611 -f 310/399/1612 315/362/1613 303/348/1614 -f 306/365/1615 304/366/1616 316/363/1617 -f 316/363/1618 318/364/1619 306/365/1620 -f 305/369/1621 307/370/1622 319/367/1623 -f 319/367/1624 317/368/1625 305/369/1626 -f 304/366/1627 314/372/1628 325/371/1629 -f 325/371/1630 316/363/1631 304/366/1632 -f 308/374/1633 306/365/1634 318/364/1635 -f 318/364/1636 320/373/1637 308/374/1638 -f 307/370/1639 309/404/1640 321/403/1641 -f 321/403/1642 319/367/1643 307/370/1644 -f 356/377/1645 354/378/1646 312/375/1647 -f 312/375/1648 324/376/1649 356/377/1650 -f 309/404/1651 365/406/1652 364/405/1653 -f 364/405/1654 321/403/1655 309/404/1656 -f 311/381/1657 315/382/1658 326/379/1659 -f 326/379/1660 323/380/1661 311/381/1662 -f 368/408/1663 308/374/1664 320/373/1665 -f 320/373/1666 369/407/1667 368/408/1668 -f 357/384/1669 355/385/1670 311/381/1671 -f 311/381/1672 323/380/1673 357/384/1674 -f 314/470/1675 305/369/1676 317/368/1677 -f 317/368/1678 325/469/1679 314/470/1680 -f 315/382/1681 310/387/1682 322/386/1683 -f 322/386/1684 326/379/1685 315/382/1686 -f 323/380/1687 326/379/1688 328/388/1689 -f 328/388/1690 327/389/1691 323/380/1692 -f 326/379/1693 322/386/1694 331/390/1695 -f 331/390/1696 328/388/1697 326/379/1698 -f 323/380/1699 327/389/1700 358/391/1701 -f 358/391/1702 357/384/1703 323/380/1704 -f 356/377/1705 324/376/1706 363/392/1707 -f 363/392/1708 359/393/1709 356/377/1710 -f 345/412/1711 318/364/1712 316/363/1713 -f 316/363/1714 343/410/1715 345/412/1716 -f 344/414/1717 317/368/1718 319/367/1719 -f 319/367/1720 346/413/1721 344/414/1722 -f 343/410/1723 316/363/1724 325/371/1725 -f 325/371/1726 349/415/1727 343/410/1728 -f 347/416/1729 320/373/1730 318/364/1731 -f 318/364/1732 345/412/1733 347/416/1734 -f 346/413/1735 319/367/1736 321/403/1737 -f 321/403/1738 348/417/1739 346/413/1740 -f 349/471/1741 325/469/1742 317/368/1743 -f 317/368/1744 344/414/1745 349/471/1746 -f 348/417/1747 321/403/1748 364/405/1749 -f 364/405/1750 330/420/1751 348/417/1752 -f 372/424/1753 378/425/1754 337/422/1755 -f 337/422/1756 351/423/1757 372/424/1758 -f 351/423/1759 341/428/1760 370/426/1761 -f 370/426/1762 372/424/1763 351/423/1764 -f 389/432/1765 388/433/1766 340/383/1767 -f 340/383/1768 390/421/1769 389/432/1770 -f 388/433/1771 387/435/1772 380/434/1773 -f 380/434/1774 340/383/1775 388/433/1776 -f 381/437/1777 390/421/1778 340/383/1779 -f 340/383/1780 382/436/1781 381/437/1782 -f 383/438/1783 382/436/1784 340/383/1785 -f 340/383/1786 380/434/1787 383/438/1788 -f 360/400/1789 359/393/1790 363/392/1791 -f 363/392/1792 362/394/1793 360/400/1794 -f 358/391/1795 327/389/1796 328/388/1797 -f 328/388/1798 360/400/1799 358/391/1800 -f 376/444/1801 345/412/1802 343/410/1803 -f 343/410/1804 374/429/1805 376/444/1806 -f 377/445/1807 375/446/1808 344/414/1809 -f 344/414/1810 346/413/1811 377/445/1812 -f 374/429/1813 343/410/1814 349/415/1815 -f 349/415/1816 379/447/1817 374/429/1818 -f 376/444/1819 378/425/1820 347/416/1821 -f 347/416/1822 345/412/1823 376/444/1824 -f 377/445/1825 346/413/1826 348/417/1827 -f 348/417/1828 373/448/1829 377/445/1830 -f 375/446/1831 379/472/1832 349/471/1833 -f 349/471/1834 344/414/1835 375/446/1836 -f 369/407/1837 320/373/1838 347/416/1839 -f 347/416/1840 332/449/1841 369/407/1842 -f 373/448/1843 348/417/1844 330/420/1845 -f 330/420/1846 371/450/1847 373/448/1848 -f 370/426/1849 341/428/1850 350/451/1851 -f 350/451/1852 371/450/1853 370/426/1854 -f 310/399/1855 298/350/1856 352/349/1857 -f 352/349/1858 354/360/1859 310/399/1860 -f 313/409/1861 301/343/1862 353/342/1863 -f 353/342/1864 355/398/1865 313/409/1866 -f 322/386/1867 310/387/1868 354/378/1869 -f 354/378/1870 356/377/1871 322/386/1872 -f 329/401/1873 313/402/1874 355/385/1875 -f 355/385/1876 357/384/1877 329/401/1878 -f 361/411/1879 329/401/1880 357/384/1881 -f 357/384/1882 358/391/1883 361/411/1884 -f 322/386/1885 356/377/1886 359/393/1887 -f 359/393/1888 331/390/1889 322/386/1890 -f 328/388/1891 331/390/1892 359/393/1893 -f 359/393/1894 360/400/1895 328/388/1896 -f 361/411/1897 358/391/1898 360/400/1899 -f 360/400/1900 362/394/1901 361/411/1902 -f 364/419/1903 329/401/1904 361/411/1905 -f 361/411/1906 330/418/1907 364/419/1908 -f 330/418/1909 361/411/1910 362/394/1911 -f 362/394/1912 342/427/1913 330/418/1914 -f 332/430/1915 342/427/1916 362/394/1917 -f 362/394/1918 363/392/1919 332/430/1920 -f 332/430/1921 363/392/1922 324/376/1923 -f 324/376/1924 369/431/1925 332/430/1926 -f 313/402/1927 329/401/1928 364/419/1929 -f 364/419/1930 365/442/1931 313/402/1932 -f 301/343/1933 313/409/1934 365/361/1935 -f 365/361/1936 366/347/1937 301/343/1938 -f 312/359/1939 300/358/1940 367/341/1941 -f 367/341/1942 368/397/1943 312/359/1944 -f 312/375/1945 368/443/1946 369/431/1947 -f 369/431/1948 324/376/1949 312/375/1950 -f 332/449/1951 372/424/1952 370/426/1953 -f 370/426/1954 342/452/1955 332/449/1956 -f 342/452/1957 370/426/1958 371/450/1959 -f 371/450/1960 330/420/1961 342/452/1962 -f 335/454/1963 376/444/1964 374/429/1965 -f 374/429/1966 333/453/1967 335/454/1968 -f 336/455/1969 334/456/1970 375/446/1971 -f 375/446/1972 377/445/1973 336/455/1974 -f 333/453/1975 374/429/1976 379/447/1977 -f 379/447/1978 339/457/1979 333/453/1980 -f 335/454/1981 337/422/1982 378/425/1983 -f 378/425/1984 376/444/1985 335/454/1986 -f 336/455/1987 377/445/1988 373/448/1989 -f 373/448/1990 338/458/1991 336/455/1992 -f 334/456/1993 339/473/1994 379/472/1995 -f 379/472/1996 375/446/1997 334/456/1998 -f 338/458/1999 373/448/2000 371/450/2001 -f 371/450/2002 350/451/2003 338/458/2004 -f 332/449/2005 347/416/2006 378/425/2007 -f 378/425/2008 372/424/2009 332/449/2010 -f 385/439/2011 384/440/2012 383/438/2013 -f 383/438/2014 380/434/2015 385/439/2016 -f 385/439/2017 380/434/2018 387/435/2019 -f 387/435/2020 386/441/2021 385/439/2022 -f 335/454/2023 333/453/2024 381/459/2025 -f 381/459/2026 382/460/2027 335/454/2028 -f 337/422/2029 335/454/2030 382/460/2031 -f 382/460/2032 383/461/2033 337/422/2034 -f 351/423/2035 337/422/2036 383/461/2037 -f 383/461/2038 384/462/2039 351/423/2040 -f 341/428/2041 351/423/2042 384/462/2043 -f 384/462/2044 385/463/2045 341/428/2046 -f 350/451/2047 341/428/2048 385/463/2049 -f 385/463/2050 386/464/2051 350/451/2052 -f 338/458/2053 350/451/2054 386/464/2055 -f 386/464/2056 387/465/2057 338/458/2058 -f 336/455/2059 338/458/2060 387/465/2061 -f 387/465/2062 388/466/2063 336/455/2064 -f 334/456/2065 336/455/2066 388/466/2067 -f 388/466/2068 389/467/2069 334/456/2070 -f 339/473/2071 334/456/2072 389/467/2073 -f 389/467/2074 390/468/2075 339/473/2076 -f 333/453/2077 339/457/2078 390/474/2079 -f 390/474/2080 381/459/2081 333/453/2082 -f 396/480/2083 398/481/2084 397/475/2085 -f 397/475/2086 1269/478/2087 396/480/2088 -f 396/480/2089 400/483/2090 399/482/2091 -f 399/482/2092 398/481/2093 396/480/2094 -f 401/487/2095 404/488/2096 403/485/2097 -f 403/485/2098 402/486/2099 401/487/2100 -f 405/490/2101 401/487/2102 402/486/2103 -f 402/486/2104 406/489/2105 405/490/2106 -f 401/487/2107 405/490/2108 407/491/2109 -f 407/491/2110 404/488/2111 401/487/2112 -f 408/494/2113 411/495/2114 410/492/2115 -f 410/492/2116 409/493/2117 408/494/2118 -f 408/494/2119 413/497/2120 412/496/2121 -f 412/496/2122 411/495/2123 408/494/2124 -f 408/494/2125 415/499/2126 414/498/2127 -f 414/498/2128 413/497/2129 408/494/2130 -f 408/494/2131 417/501/2132 416/500/2133 -f 416/500/2134 415/499/2135 408/494/2136 -f 408/494/2137 409/493/2138 418/502/2139 -f 418/502/2140 417/501/2141 408/494/2142 -f 419/505/2143 422/506/2144 421/503/2145 -f 421/503/2146 420/504/2147 419/505/2148 -f 419/505/2149 420/504/2150 424/507/2151 -f 424/507/2152 423/508/2153 419/505/2154 -f 425/511/2155 428/512/2156 427/509/2157 -f 427/509/2158 426/510/2159 425/511/2160 -f 429/514/2161 425/511/2162 426/510/2163 -f 426/510/2164 430/513/2165 429/514/2166 -f 425/515/2167 429/528/2168 431/476/2169 -f 431/476/2170 428/477/2171 425/515/2172 -f 432/517/2173 435/518/2174 434/484/2175 -f 434/484/2176 433/516/2177 432/517/2178 -f 432/517/2179 433/516/2180 437/519/2181 -f 437/519/2182 436/520/2183 432/517/2184 -f 432/517/2185 438/521/2186 400/483/2187 -f 400/483/2188 435/518/2189 432/517/2190 -f 435/518/2191 440/523/2192 439/522/2193 -f 439/522/2194 434/484/2195 435/518/2196 -f 443/526/2197 442/527/2198 441/524/2199 -f 441/524/2200 444/525/2201 443/526/2202 -f 442/527/2203 443/526/2204 434/484/2205 -f 434/484/2206 439/522/2207 442/527/2208 -f 442/527/2209 439/522/2210 445/529/2211 -f 445/529/2212 441/524/2213 442/527/2214 -f 446/532/2215 449/533/2216 448/530/2217 -f 448/530/2218 447/531/2219 446/532/2220 -f 451/534/2221 450/535/2222 449/533/2223 -f 449/533/2224 446/532/2225 451/534/2226 -f 433/516/2227 434/484/2228 443/526/2229 -f 443/526/2230 437/519/2231 433/516/2232 -f 452/538/2233 455/539/2234 454/536/2235 -f 454/536/2236 453/537/2237 452/538/2238 -f 452/538/2239 458/557/2240 457/542/2241 -f 457/542/2242 456/543/2243 452/538/2244 -f 452/538/2245 453/537/2246 459/644/2247 -f 459/644/2248 458/557/2249 452/538/2250 -f 460/544/2251 462/545/2252 457/540/2253 -f 457/540/2254 461/541/2255 460/544/2256 -f 460/544/2257 406/489/2258 402/486/2259 -f 402/486/2260 403/485/2261 460/544/2262 -f 460/544/2263 461/541/2264 463/546/2265 -f 463/546/2266 406/489/2267 460/544/2268 -f 417/501/2269 418/502/2270 464/547/2271 -f 464/547/2272 416/500/2273 417/501/2274 -f 462/545/2275 465/549/2276 456/548/2277 -f 456/548/2278 457/540/2279 462/545/2280 -f 462/545/2281 460/544/2282 466/550/2283 -f 466/550/2284 465/549/2285 462/545/2286 -f 1342/688/2287 423/508/2288 467/551/2289 -f 467/551/2290 1341/687/2291 1342/688/2292 -f 468/627/2293 471/629/2294 470/552/2295 -f 470/552/2296 469/553/2297 468/627/2298 -f 468/647/2299 473/648/2300 472/645/2301 -f 472/645/2302 471/646/2303 468/647/2304 -f 471/556/2305 475/558/2306 474/554/2307 -f 474/554/2308 470/555/2309 471/556/2310 -f 471/556/2311 472/560/2312 476/559/2313 -f 476/559/2314 475/558/2315 471/556/2316 -f 476/559/2317 478/562/2318 477/561/2319 -f 477/561/2320 475/558/2321 476/559/2322 -f 476/559/2323 465/549/2324 466/550/2325 -f 466/550/2326 478/562/2327 476/559/2328 -f 476/559/2329 472/560/2330 456/548/2331 -f 456/548/2332 465/549/2333 476/559/2334 -f 478/562/2335 480/564/2336 479/563/2337 -f 479/563/2338 477/561/2339 478/562/2340 -f 478/562/2341 466/550/2342 481/565/2343 -f 481/565/2344 480/564/2345 478/562/2346 -f 481/565/2347 483/567/2348 482/566/2349 -f 482/566/2350 480/564/2351 481/565/2352 -f 481/565/2353 403/485/2354 404/488/2355 -f 404/488/2356 483/567/2357 481/565/2358 -f 481/565/2359 466/550/2360 460/544/2361 -f 460/544/2362 403/485/2363 481/565/2364 -f 483/567/2365 485/569/2366 484/568/2367 -f 484/568/2368 482/566/2369 483/567/2370 -f 483/567/2371 404/488/2372 486/570/2373 -f 486/570/2374 485/569/2375 483/567/2376 -f 486/570/2377 488/572/2378 487/571/2379 -f 487/571/2380 485/569/2381 486/570/2382 -f 486/570/2383 490/574/2384 489/573/2385 -f 489/573/2386 488/572/2387 486/570/2388 -f 486/570/2389 404/488/2390 407/491/2391 -f 407/491/2392 490/574/2393 486/570/2394 -f 490/574/2395 464/547/2396 491/575/2397 -f 491/575/2398 489/573/2399 490/574/2400 -f 490/574/2401 407/491/2402 416/500/2403 -f 416/500/2404 464/547/2405 490/574/2406 -f 489/573/2407 493/577/2408 492/576/2409 -f 492/576/2410 488/572/2411 489/573/2412 -f 489/573/2413 491/575/2414 494/578/2415 -f 494/578/2416 493/577/2417 489/573/2418 -f 493/577/2419 496/580/2420 495/579/2421 -f 495/579/2422 492/576/2423 493/577/2424 -f 493/577/2425 494/578/2426 497/581/2427 -f 497/581/2428 496/580/2429 493/577/2430 -f 497/581/2431 494/578/2432 499/582/2433 -f 499/582/2434 498/583/2435 497/581/2436 -f 498/2584/2437 499/2583/2438 501/584/2439 -f 501/584/2440 500/585/2441 498/2584/2442 -f 501/584/2443 499/2583/2444 503/586/2445 -f 503/586/2446 502/587/2447 501/584/2448 -f 501/584/2449 505/589/2450 504/588/2451 -f 504/588/2452 500/585/2453 501/584/2454 -f 501/584/2455 502/587/2456 506/590/2457 -f 506/590/2458 505/589/2459 501/584/2460 -f 504/588/2461 505/589/2462 508/591/2463 -f 508/591/2464 507/592/2465 504/588/2466 -f 507/592/2467 508/591/2468 510/593/2469 -f 510/593/2470 509/594/2471 507/592/2472 -f 510/593/2473 508/591/2474 512/595/2475 -f 512/595/2476 511/596/2477 510/593/2478 -f 510/593/2479 514/598/2480 513/597/2481 -f 513/597/2482 509/594/2483 510/593/2484 -f 510/593/2485 511/596/2486 515/599/2487 -f 515/599/2488 514/598/2489 510/593/2490 -f 515/599/2491 511/596/2492 517/600/2493 -f 517/600/2494 516/601/2495 515/599/2496 -f 515/599/2497 519/603/2498 518/602/2499 -f 518/602/2500 514/598/2501 515/599/2502 -f 515/599/2503 516/601/2504 520/604/2505 -f 520/604/2506 519/603/2507 515/599/2508 -f 520/604/2509 516/601/2510 522/605/2511 -f 522/605/2512 521/606/2513 520/604/2514 -f 520/604/2515 484/568/2516 523/607/2517 -f 523/607/2518 519/603/2519 520/604/2520 -f 520/604/2521 521/606/2522 482/566/2523 -f 482/566/2524 484/568/2525 520/604/2526 -f 523/607/2527 524/608/2528 518/602/2529 -f 518/602/2530 519/603/2531 523/607/2532 -f 523/607/2533 487/571/2534 525/609/2535 -f 525/609/2536 524/608/2537 523/607/2538 -f 523/607/2539 484/568/2540 485/569/2541 -f 485/569/2542 487/571/2543 523/607/2544 -f 525/609/2545 527/611/2546 526/610/2547 -f 526/610/2548 524/608/2549 525/609/2550 -f 525/609/2551 492/576/2552 495/579/2553 -f 495/579/2554 527/611/2555 525/609/2556 -f 525/609/2557 487/571/2558 488/572/2559 -f 488/572/2560 492/576/2561 525/609/2562 -f 528/612/2563 513/597/2564 514/598/2565 -f 514/598/2566 518/602/2567 528/612/2568 -f 528/612/2569 518/602/2570 524/608/2571 -f 524/608/2572 526/610/2573 528/612/2574 -f 522/605/2575 531/615/2576 530/613/2577 -f 530/613/2578 529/614/2579 522/605/2580 -f 522/605/2581 516/601/2582 517/600/2583 -f 517/600/2584 531/615/2585 522/605/2586 -f 522/605/2587 529/614/2588 479/563/2589 -f 479/563/2590 521/606/2591 522/605/2592 -f 531/615/2593 533/617/2594 532/616/2595 -f 532/616/2596 530/613/2597 531/615/2598 -f 531/615/2599 517/600/2600 534/618/2601 -f 534/618/2602 533/617/2603 531/615/2604 -f 534/618/2605 536/620/2606 535/619/2607 -f 535/619/2608 533/617/2609 534/618/2610 -f 534/618/2611 512/595/2612 537/621/2613 -f 537/621/2614 536/620/2615 534/618/2616 -f 534/618/2617 517/600/2618 511/596/2619 -f 511/596/2620 512/595/2621 534/618/2622 -f 535/619/2623 538/622/2624 426/510/2625 -f 426/510/2626 427/509/2627 535/619/2628 -f 535/619/2629 536/620/2630 506/590/2631 -f 506/590/2632 538/622/2633 535/619/2634 -f 535/619/2635 427/509/2636 532/616/2637 -f 532/616/2638 533/617/2639 535/619/2640 -f 538/622/2641 539/623/2642 430/513/2643 -f 430/513/2644 426/510/2645 538/622/2646 -f 538/622/2647 506/590/2648 502/587/2649 -f 502/587/2650 539/623/2651 538/622/2652 -f 539/623/2653 410/2580/2654 411/2581/2655 -f 411/2581/2656 430/513/2657 539/623/2658 -f 539/623/2659 502/587/2660 503/586/2661 -f 503/586/2662 410/2580/2663 539/623/2664 -f 532/616/2665 427/509/2666 428/512/2667 -f 428/512/2668 540/624/2669 532/616/2670 -f 532/616/2671 540/624/2672 541/625/2673 -f 541/625/2674 530/613/2675 532/616/2676 -f 541/632/2677 540/633/2678 543/630/2679 -f 543/630/2680 542/631/2681 541/632/2682 -f 541/625/2683 544/626/2684 529/614/2685 -f 529/614/2686 530/613/2687 541/625/2688 -f 541/625/2689 542/628/2690 474/554/2691 -f 474/554/2692 544/626/2693 541/625/2694 -f 544/626/2695 477/561/2696 479/563/2697 -f 479/563/2698 529/614/2699 544/626/2700 -f 544/626/2701 474/554/2702 475/558/2703 -f 475/558/2704 477/561/2705 544/626/2706 -f 543/630/2707 547/636/2708 546/634/2709 -f 546/634/2710 545/635/2711 543/630/2712 -f 543/630/2713 540/633/2714 428/477/2715 -f 428/477/2716 547/636/2717 543/630/2718 -f 543/630/2719 545/635/2720 548/637/2721 -f 548/637/2722 542/631/2723 543/630/2724 -f 547/636/2725 550/639/2726 549/638/2727 -f 549/638/2728 546/634/2729 547/636/2730 -f 547/636/2731 428/477/2732 431/476/2733 -f 431/476/2734 550/639/2735 547/636/2736 -f 550/639/2737 552/641/2738 551/640/2739 -f 551/640/2740 549/638/2741 550/639/2742 -f 550/639/2743 431/476/2744 553/642/2745 -f 553/642/2746 552/641/2747 550/639/2748 -f 553/642/2749 555/668/2750 554/643/2751 -f 554/643/2752 552/641/2753 553/642/2754 -f 553/642/2755 557/670/2756 556/669/2757 -f 556/669/2758 555/668/2759 553/642/2760 -f 553/642/2761 431/476/2762 429/528/2763 -f 429/528/2764 557/670/2765 553/642/2766 -f 557/670/2767 559/672/2768 558/671/2769 -f 558/671/2770 556/669/2771 557/670/2772 -f 557/670/2773 429/528/2774 412/673/2775 -f 412/673/2776 559/672/2777 557/670/2778 -f 559/652/2779 561/653/2780 560/649/2781 -f 560/649/2782 558/651/2783 559/652/2784 -f 559/652/2785 412/655/2786 413/654/2787 -f 413/654/2788 561/653/2789 559/652/2790 -f 561/653/2791 563/657/2792 562/656/2793 -f 562/656/2794 560/649/2795 561/653/2796 -f 561/653/2797 413/654/2798 414/658/2799 -f 414/658/2800 563/657/2801 561/653/2802 -f 563/657/2803 565/660/2804 564/659/2805 -f 564/659/2806 562/656/2807 563/657/2808 -f 563/657/2809 414/658/2810 566/661/2811 -f 566/661/2812 565/660/2813 563/657/2814 -f 566/661/2815 463/663/2816 567/662/2817 -f 567/662/2818 565/660/2819 566/661/2820 -f 566/650/2821 405/490/2822 406/489/2823 -f 406/489/2824 463/546/2825 566/650/2826 -f 566/650/2827 414/498/2828 415/499/2829 -f 415/499/2830 405/490/2831 566/650/2832 -f 567/662/2833 568/664/2834 564/659/2835 -f 564/659/2836 565/660/2837 567/662/2838 -f 567/662/2839 570/666/2840 569/665/2841 -f 569/665/2842 568/664/2843 567/662/2844 -f 567/662/2845 463/663/2846 461/667/2847 -f 461/667/2848 570/666/2849 567/662/2850 -f 570/666/2851 458/557/2852 459/644/2853 -f 459/644/2854 569/665/2855 570/666/2856 -f 570/666/2857 461/667/2858 457/542/2859 -f 457/542/2860 458/557/2861 570/666/2862 -f 569/665/2863 572/697/2864 571/696/2865 -f 571/696/2866 568/664/2867 569/665/2868 -f 569/665/2869 459/644/2870 573/781/2871 -f 573/781/2872 572/697/2873 569/665/2874 -f 573/781/2875 575/1353/2876 574/782/2877 -f 574/782/2878 572/697/2879 573/781/2880 -f 573/781/2881 577/1355/2882 576/1354/2883 -f 576/1354/2884 575/1353/2885 573/781/2886 -f 573/781/2887 459/644/2888 453/537/2889 -f 453/537/2890 577/1355/2891 573/781/2892 -f 577/1355/2893 579/1357/2894 578/1356/2895 -f 578/1356/2896 576/1354/2897 577/1355/2898 -f 577/1355/2899 453/537/2900 454/536/2901 -f 454/536/2902 579/1357/2903 577/1355/2904 -f 576/1354/2905 581/1390/2906 580/1389/2907 -f 580/1389/2908 575/1353/2909 576/1354/2910 -f 576/1354/2911 578/1356/2912 582/1391/2913 -f 582/1391/2914 581/1390/2915 576/1354/2916 -f 581/1390/2917 1483/1393/2918 1482/1392/2919 -f 1482/1392/2920 580/1389/2921 581/1390/2922 -f 581/1390/2923 582/1391/2924 1484/1394/2925 -f 1484/1394/2926 1483/1393/2927 581/1390/2928 -f 1482/1392/2929 391/1396/2930 583/1395/2931 -f 583/1395/2932 580/1389/2933 1482/1392/2934 -f 391/1396/2935 397/475/2936 398/481/2937 -f 398/481/2938 583/1395/2939 391/1396/2940 -f 583/1395/2941 574/782/2942 575/1353/2943 -f 575/1353/2944 580/1389/2945 583/1395/2946 -f 583/1395/2947 398/481/2948 399/482/2949 -f 399/482/2950 574/782/2951 583/1395/2952 -f 574/782/2953 399/482/2954 571/696/2955 -f 571/696/2956 572/697/2957 574/782/2958 -f 571/696/2959 399/482/2960 400/483/2961 -f 400/483/2962 438/521/2963 571/696/2964 -f 571/696/2965 438/521/2966 564/659/2967 -f 564/659/2968 568/664/2969 571/696/2970 -f 564/659/2971 438/521/2972 432/517/2973 -f 432/517/2974 562/656/2975 564/659/2976 -f 562/656/2977 432/517/2978 436/520/2979 -f 436/520/2980 560/649/2981 562/656/2982 -f 560/649/2983 436/520/2984 584/1397/2985 -f 584/1397/2986 558/651/2987 560/649/2988 -f 584/676/2989 587/677/2990 586/674/2991 -f 586/674/2992 585/675/2993 584/676/2994 -f 584/1397/2995 436/520/2996 437/519/2997 -f 437/519/2998 587/1398/2999 584/1397/3000 -f 584/676/3001 585/675/3002 556/669/3003 -f 556/669/3004 558/671/3005 584/676/3006 -f 586/674/3007 590/680/3008 589/678/3009 -f 589/678/3010 588/679/3011 586/674/3012 -f 586/674/3013 587/677/3014 444/681/3015 -f 444/681/3016 590/680/3017 586/674/3018 -f 586/674/3019 588/679/3020 591/682/3021 -f 591/682/3022 585/675/3023 586/674/3024 -f 591/682/3025 588/679/3026 593/683/3027 -f 593/683/3028 592/684/3029 591/682/3030 -f 591/682/3031 555/668/3032 556/669/3033 -f 556/669/3034 585/675/3035 591/682/3036 -f 591/682/3037 592/684/3038 554/643/3039 -f 554/643/3040 555/668/3041 591/682/3042 -f 593/683/3043 596/1388/3044 595/685/3045 -f 595/685/3046 594/785/3047 593/683/3048 -f 593/683/3049 588/679/3050 589/678/3051 -f 589/678/3052 596/1388/3053 593/683/3054 -f 593/683/3055 594/785/3056 597/1399/3057 -f 597/1399/3058 592/684/3059 593/683/3060 -f 597/1399/3061 594/785/3062 1500/1427/3063 -f 1500/1427/3064 1501/1428/3065 597/1399/3066 -f 597/1399/3067 598/1429/3068 554/643/3069 -f 554/643/3070 592/684/3071 597/1399/3072 -f 597/1399/3073 1501/1428/3074 392/1430/3075 -f 392/1430/3076 598/1429/3077 597/1399/3078 -f 392/1430/3079 1503/1525/3080 551/640/3081 -f 551/640/3082 598/1429/3083 392/1430/3084 -f 1503/1525/3085 599/1526/3086 549/638/3087 -f 549/638/3088 551/640/3089 1503/1525/3090 -f 599/1526/3091 1504/1528/3092 546/634/3093 -f 546/634/3094 549/638/3095 599/1526/3096 -f 1504/1528/3097 600/1529/3098 545/635/3099 -f 545/635/3100 546/634/3101 1504/1528/3102 -f 600/1529/3103 601/1530/3104 548/637/3105 -f 548/637/3106 545/635/3107 600/1529/3108 -f 598/1429/3109 551/640/3110 552/641/3111 -f 552/641/3112 554/643/3113 598/1429/3114 -f 1500/1427/3115 594/785/3116 595/685/3117 -f 595/685/3118 393/1531/3119 1500/1427/3120 -f 393/1531/3121 595/685/3122 419/1532/3123 -f 419/1532/3124 602/1533/3125 393/1531/3126 -f 596/1388/3127 422/1534/3128 419/1532/3129 -f 419/1532/3130 595/685/3131 596/1388/3132 -f 596/1388/3133 589/678/3134 603/1535/3135 -f 603/1535/3136 422/1534/3137 596/1388/3138 -f 603/689/3139 604/690/3140 421/503/3141 -f 421/503/3142 422/506/3143 603/689/3144 -f 603/689/3145 606/692/3146 605/691/3147 -f 605/691/3148 604/690/3149 603/689/3150 -f 603/1535/3151 589/678/3152 590/680/3153 -f 590/680/3154 606/1536/3155 603/1535/3156 -f 607/693/3157 449/533/3158 605/691/3159 -f 605/691/3160 606/692/3161 607/693/3162 -f 606/1536/3163 590/680/3164 444/681/3165 -f 444/681/3166 607/1537/3167 606/1536/3168 -f 607/1401/3169 444/525/3170 441/524/3171 -f 441/524/3172 608/1400/3173 607/1401/3174 -f 608/1400/3175 441/524/3176 445/529/3177 -f 445/529/3178 609/1402/3179 608/1400/3180 -f 609/1402/3181 445/529/3182 612/1409/3183 -f 612/1409/3184 611/1410/3185 609/1402/3186 -f 612/1409/3187 445/529/3188 439/522/3189 -f 439/522/3190 440/523/3191 612/1409/3192 -f 612/1409/3193 613/1412/3194 1515/1411/3195 -f 1515/1411/3196 611/1410/3197 612/1409/3198 -f 612/1409/3199 440/523/3200 394/1414/3201 -f 394/1414/3202 613/1412/3203 612/1409/3204 -f 1515/698/3205 395/699/3206 610/694/3207 -f 610/694/3208 611/695/3209 1515/698/3210 -f 395/699/3211 1517/701/3212 614/700/3213 -f 614/700/3214 610/694/3215 395/699/3216 -f 1517/701/3217 1519/703/3218 615/702/3219 -f 615/702/3220 614/700/3221 1517/701/3222 -f 1519/703/3223 1521/705/3224 616/704/3225 -f 616/704/3226 615/702/3227 1519/703/3228 -f 1521/705/3229 1341/2601/3230 467/2600/3231 -f 467/2600/3232 616/704/3233 1521/705/3234 -f 616/704/3235 618/707/3236 617/706/3237 -f 617/706/3238 615/702/3239 616/704/3240 -f 616/704/3241 467/2600/3242 619/708/3243 -f 619/708/3244 618/707/3245 616/704/3246 -f 620/710/3247 618/707/3248 619/708/3249 -f 619/708/3250 621/709/3251 620/710/3252 -f 424/507/3253 622/711/3254 621/2603/3255 -f 621/2603/3256 619/2602/3257 424/507/3258 -f 619/2602/3259 467/551/3260 423/508/3261 -f 423/508/3262 424/507/3263 619/2602/3264 -f 623/714/3265 626/715/3266 625/712/3267 -f 625/712/3268 624/2605/3269 623/714/3270 -f 623/714/3271 628/717/3272 627/716/3273 -f 627/716/3274 626/715/3275 623/714/3276 -f 622/711/3277 629/718/3278 628/717/3279 -f 628/717/3280 623/714/3281 622/711/3282 -f 628/717/3283 631/720/3284 630/719/3285 -f 630/719/3286 627/716/3287 628/717/3288 -f 629/718/3289 632/721/3290 631/720/3291 -f 631/720/3292 628/717/3293 629/718/3294 -f 631/720/3295 634/723/3296 633/722/3297 -f 633/722/3298 630/719/3299 631/720/3300 -f 632/721/3301 635/724/3302 634/723/3303 -f 634/723/3304 631/720/3305 632/721/3306 -f 634/723/3307 637/726/3308 636/725/3309 -f 636/725/3310 633/722/3311 634/723/3312 -f 635/724/3313 638/727/3314 637/726/3315 -f 637/726/3316 634/723/3317 635/724/3318 -f 637/726/3319 640/729/3320 639/728/3321 -f 639/728/3322 636/725/3323 637/726/3324 -f 638/727/3325 450/535/3326 640/729/3327 -f 640/729/3328 637/726/3329 638/727/3330 -f 642/730/3331 641/731/3332 636/725/3333 -f 636/725/3334 639/728/3335 642/730/3336 -f 644/732/3337 643/733/3338 642/730/3339 -f 642/730/3340 639/728/3341 644/732/3342 -f 639/728/3343 640/729/3344 645/734/3345 -f 645/734/3346 644/732/3347 639/728/3348 -f 647/735/3349 646/736/3350 643/733/3351 -f 643/733/3352 644/732/3353 647/735/3354 -f 644/732/3355 645/734/3356 648/737/3357 -f 648/737/3358 647/735/3359 644/732/3360 -f 648/737/3361 650/739/3362 649/738/3363 -f 649/738/3364 647/735/3365 648/737/3366 -f 620/710/3367 650/739/3368 648/737/3369 -f 648/737/3370 651/740/3371 620/710/3372 -f 645/734/3373 451/534/3374 651/740/3375 -f 651/740/3376 648/737/3377 645/734/3378 -f 646/736/3379 647/735/3380 649/738/3381 -f 649/738/3382 652/741/3383 646/736/3384 -f 653/742/3385 652/741/3386 649/738/3387 -f 649/738/3388 625/2604/3389 653/742/3390 -f 649/738/3391 650/739/3392 624/713/3393 -f 624/713/3394 625/2604/3395 649/738/3396 -f 656/745/3397 655/746/3398 654/2607/3399 -f 654/2607/3400 657/744/3401 656/745/3402 -f 659/747/3403 658/748/3404 657/2608/3405 -f 657/2608/3406 654/743/3407 659/747/3408 -f 653/2606/3409 660/749/3410 659/747/3411 -f 659/747/3412 654/743/3413 653/2606/3414 -f 662/750/3415 661/751/3416 658/748/3417 -f 658/748/3418 659/747/3419 662/750/3420 -f 660/749/3421 663/752/3422 662/750/3423 -f 662/750/3424 659/747/3425 660/749/3426 -f 665/753/3427 664/754/3428 661/751/3429 -f 661/751/3430 662/750/3431 665/753/3432 -f 663/752/3433 666/755/3434 665/753/3435 -f 665/753/3436 662/750/3437 663/752/3438 -f 667/757/3439 664/754/3440 665/753/3441 -f 665/753/3442 668/756/3443 667/757/3444 -f 666/755/3445 669/758/3446 668/756/3447 -f 668/756/3448 665/753/3449 666/755/3450 -f 670/760/3451 667/757/3452 668/756/3453 -f 668/756/3454 671/759/3455 670/760/3456 -f 641/731/3457 671/759/3458 668/756/3459 -f 668/756/3460 669/758/3461 641/731/3462 -f 672/763/3463 675/764/3464 674/761/3465 -f 674/761/3466 673/762/3467 672/763/3468 -f 672/763/3469 677/766/3470 676/765/3471 -f 676/765/3472 675/764/3473 672/763/3474 -f 670/760/3475 678/767/3476 677/766/3477 -f 677/766/3478 672/763/3479 670/760/3480 -f 677/766/3481 680/769/3482 679/768/3483 -f 679/768/3484 676/765/3485 677/766/3486 -f 678/767/3487 681/770/3488 680/769/3489 -f 680/769/3490 677/766/3491 678/767/3492 -f 680/769/3493 683/772/3494 682/771/3495 -f 682/771/3496 679/768/3497 680/769/3498 -f 681/770/3499 684/773/3500 683/772/3501 -f 683/772/3502 680/769/3503 681/770/3504 -f 683/772/3505 686/775/3506 685/774/3507 -f 685/774/3508 682/771/3509 683/772/3510 -f 656/745/3511 686/775/3512 683/772/3513 -f 683/772/3514 684/773/3515 656/745/3516 -f 685/774/3517 686/775/3518 688/776/3519 -f 688/776/3520 687/777/3521 685/774/3522 -f 687/2610/3523 688/2609/3524 690/778/3525 -f 690/778/3526 689/1350/3527 687/2610/3528 -f 689/1350/3529 690/778/3530 692/1351/3531 -f 692/1351/3532 691/1352/3533 689/1350/3534 -f 691/1352/3535 692/1351/3536 694/2566/3537 -f 694/2566/3538 693/2567/3539 691/1352/3540 -f 693/2567/3541 694/2566/3542 673/762/3543 -f 673/762/3544 674/761/3545 693/2567/3546 -f 617/706/3547 446/532/3548 614/700/3549 -f 614/700/3550 615/702/3551 617/706/3552 -f 542/631/3553 548/637/3554 470/552/3555 -f 470/552/3556 474/1538/3557 542/631/3558 -f 521/606/3559 479/563/3560 480/564/3561 -f 480/564/3562 482/566/3563 521/606/3564 -f 503/2585/3565 695/779/3566 409/493/3567 -f 409/493/3568 410/492/3569 503/2585/3570 -f 491/575/3571 464/547/3572 418/502/3573 -f 418/502/3574 696/780/3575 491/575/3576 -f 455/539/3577 452/538/3578 698/1415/3579 -f 698/1415/3580 697/1416/3581 455/539/3582 -f 430/513/3583 411/2581/3584 412/2582/3585 -f 412/2582/3586 429/514/3587 430/513/3588 -f 1342/688/3589 602/2568/3590 419/505/3591 -f 419/505/3592 423/508/3593 1342/688/3594 -f 698/1415/3595 472/645/3596 473/648/3597 -f 473/648/3598 697/1416/3599 698/1415/3600 -f 698/1415/3601 452/538/3602 456/543/3603 -f 456/543/3604 472/645/3605 698/1415/3606 -f 418/502/3607 409/493/3608 695/779/3609 -f 695/779/3610 696/780/3611 418/502/3612 -f 416/500/3613 407/491/3614 405/490/3615 -f 405/490/3616 415/499/3617 416/500/3618 -f 1269/478/3619 394/1414/3620 440/523/3621 -f 440/523/3622 396/480/3623 1269/478/3624 -f 537/621/3625 505/589/3626 506/590/3627 -f 506/590/3628 536/620/3629 537/621/3630 -f 537/621/3631 512/595/3632 508/591/3633 -f 508/591/3634 505/589/3635 537/621/3636 -f 435/518/3637 400/483/3638 396/480/3639 -f 396/480/3640 440/523/3641 435/518/3642 -f 695/779/3643 700/784/3644 699/783/3645 -f 699/783/3646 696/780/3647 695/779/3648 -f 491/575/3649 696/780/3650 699/783/3651 -f 699/783/3652 494/578/3653 491/575/3654 -f 700/784/3655 499/582/3656 494/578/3657 -f 494/578/3658 699/783/3659 700/784/3660 -f 503/2585/3661 499/582/3662 700/784/3663 -f 700/784/3664 695/779/3665 503/2585/3666 -f 601/1530/3667 1607/1540/3668 701/1539/3669 -f 701/1539/3670 548/637/3671 601/1530/3672 -f 548/637/3673 701/1539/3674 469/553/3675 -f 469/553/3676 470/552/3677 548/637/3678 -f 703/788/3679 702/789/3680 705/786/3681 -f 705/786/3682 704/787/3683 703/788/3684 -f 1129/792/3685 707/793/3686 706/790/3687 -f 706/790/3688 708/791/3689 1129/792/3690 -f 711/796/3691 710/797/3692 709/794/3693 -f 709/794/3694 712/795/3695 711/796/3696 -f 714/800/3697 713/801/3698 716/798/3699 -f 716/798/3700 715/799/3701 714/800/3702 -f 711/796/3703 718/804/3704 717/802/3705 -f 717/802/3706 719/803/3707 711/796/3708 -f 724/809/3709 723/810/3710 726/807/3711 -f 726/807/3712 725/808/3713 724/809/3714 -f 728/813/3715 727/814/3716 730/811/3717 -f 730/811/3718 729/812/3719 728/813/3720 -f 733/815/3721 732/816/3722 731/805/3723 -f 731/805/3724 734/806/3725 733/815/3726 -f 736/819/3727 735/820/3728 738/817/3729 -f 738/817/3730 737/818/3731 736/819/3732 -f 739/821/3733 731/805/3734 714/800/3735 -f 714/800/3736 709/794/3737 739/821/3738 -f 741/824/3739 738/817/3740 740/822/3741 -f 740/822/3742 742/823/3743 741/824/3744 -f 744/829/3745 743/830/3746 746/827/3747 -f 746/827/3748 745/828/3749 744/829/3750 -f 747/833/3751 750/834/3752 749/831/3753 -f 749/831/3754 748/832/3755 747/833/3756 -f 751/826/3757 737/818/3758 738/817/3759 -f 738/817/3760 752/825/3761 751/826/3762 -f 751/826/3763 752/825/3764 731/805/3765 -f 731/805/3766 732/816/3767 751/826/3768 -f 753/843/3769 733/844/3770 734/837/3771 -f 734/837/3772 754/838/3773 753/843/3774 -f 753/843/3775 754/838/3776 735/845/3777 -f 735/845/3778 736/846/3779 753/843/3780 -f 755/839/3781 758/840/3782 757/835/3783 -f 757/835/3784 756/836/3785 755/839/3786 -f 761/852/3787 760/853/3788 759/849/3789 -f 759/849/3790 762/850/3791 761/852/3792 -f 740/822/3793 764/842/3794 763/841/3795 -f 763/841/3796 742/823/3797 740/822/3798 -f 765/867/3799 766/868/3800 747/833/3801 -f 747/833/3802 748/832/3803 765/867/3804 -f 710/797/3805 767/847/3806 739/821/3807 -f 739/821/3808 709/794/3809 710/797/3810 -f 768/879/3811 769/880/3812 761/852/3813 -f 761/852/3814 762/850/3815 768/879/3816 -f 770/854/3817 721/855/3818 722/848/3819 -f 722/848/3820 771/851/3821 770/854/3822 -f 772/856/3823 720/857/3824 721/855/3825 -f 721/855/3826 770/854/3827 772/856/3828 -f 775/860/3829 774/861/3830 773/858/3831 -f 773/858/3832 776/859/3833 775/860/3834 -f 778/864/3835 777/865/3836 780/862/3837 -f 780/862/3838 779/863/3839 778/864/3840 -f 780/862/3841 777/865/3842 781/866/3843 -f 781/866/3844 782/869/3845 780/862/3846 -f 781/866/3847 774/861/3848 775/860/3849 -f 775/860/3850 782/869/3851 781/866/3852 -f 773/893/3853 783/894/3854 784/891/3855 -f 784/891/3856 776/892/3857 773/893/3858 -f 784/891/3859 783/894/3860 778/895/3861 -f 778/895/3862 779/896/3863 784/891/3864 -f 787/872/3865 786/873/3866 785/870/3867 -f 785/870/3868 788/871/3869 787/872/3870 -f 790/876/3871 789/877/3872 792/874/3873 -f 792/874/3874 791/875/3875 790/876/3876 -f 792/874/3877 789/877/3878 793/878/3879 -f 793/878/3880 794/881/3881 792/874/3882 -f 793/878/3883 786/873/3884 787/872/3885 -f 787/872/3886 794/881/3887 793/878/3888 -f 788/899/3889 785/905/3890 795/897/3891 -f 795/897/3892 796/898/3893 788/899/3894 -f 795/897/3895 790/907/3896 791/906/3897 -f 791/906/3898 796/898/3899 795/897/3900 -f 797/884/3901 800/885/3902 799/882/3903 -f 799/882/3904 798/883/3905 797/884/3906 -f 801/888/3907 804/889/3908 803/886/3909 -f 803/886/3910 802/887/3911 801/888/3912 -f 805/890/3913 806/900/3914 804/889/3915 -f 804/889/3916 801/888/3917 805/890/3918 -f 798/883/3919 799/882/3920 806/900/3921 -f 806/900/3922 805/890/3923 798/883/3924 -f 807/910/3925 810/911/3926 809/908/3927 -f 809/908/3928 808/909/3929 807/910/3930 -f 811/912/3931 812/913/3932 810/911/3933 -f 810/911/3934 807/910/3935 811/912/3936 -f 800/885/3937 773/858/3938 774/861/3939 -f 774/861/3940 799/882/3941 800/885/3942 -f 804/889/3943 777/865/3944 778/864/3945 -f 778/864/3946 803/886/3947 804/889/3948 -f 806/900/3949 781/866/3950 777/865/3951 -f 777/865/3952 804/889/3953 806/900/3954 -f 799/882/3955 774/861/3956 781/866/3957 -f 781/866/3958 806/900/3959 799/882/3960 -f 810/911/3961 814/915/3962 813/914/3963 -f 813/914/3964 809/908/3965 810/911/3966 -f 812/913/3967 815/916/3968 814/915/3969 -f 814/915/3970 810/911/3971 812/913/3972 -f 776/859/3973 817/902/3974 816/901/3975 -f 816/901/3976 775/860/3977 776/859/3978 -f 780/862/3979 819/904/3980 818/903/3981 -f 818/903/3982 779/863/3983 780/862/3984 -f 782/869/3985 820/935/3986 819/904/3987 -f 819/904/3988 780/862/3989 782/869/3990 -f 775/860/3991 816/901/3992 820/935/3993 -f 820/935/3994 782/869/3995 775/860/3996 -f 821/919/3997 824/920/3998 823/917/3999 -f 823/917/4000 822/918/4001 821/919/4002 -f 825/921/4003 826/922/4004 824/920/4005 -f 824/920/4006 821/919/4007 825/921/4008 -f 817/902/4009 785/870/4010 786/873/4011 -f 786/873/4012 816/901/4013 817/902/4014 -f 819/904/4015 789/877/4016 790/876/4017 -f 790/876/4018 818/903/4019 819/904/4020 -f 820/935/4021 793/878/4022 789/877/4023 -f 789/877/4024 819/904/4025 820/935/4026 -f 816/901/4027 786/873/4028 793/878/4029 -f 793/878/4030 820/935/4031 816/901/4032 -f 824/920/4033 828/924/4034 827/923/4035 -f 827/923/4036 823/917/4037 824/920/4038 -f 826/922/4039 829/925/4040 828/924/4041 -f 828/924/4042 824/920/4043 826/922/4044 -f 807/910/4045 808/909/4046 797/926/4047 -f 797/926/4048 830/927/4049 807/910/4050 -f 811/912/4051 807/910/4052 830/927/4053 -f 830/927/4054 802/928/4055 811/912/4056 -f 812/913/4057 811/912/4058 802/928/4059 -f 802/928/4060 803/929/4061 812/913/4062 -f 815/916/4063 812/913/4064 803/929/4065 -f 803/929/4066 778/895/4067 815/916/4068 -f 814/915/4069 815/916/4070 778/895/4071 -f 778/895/4072 783/894/4073 814/915/4074 -f 813/914/4075 814/915/4076 783/894/4077 -f 783/894/4078 773/893/4079 813/914/4080 -f 809/908/4081 813/914/4082 773/893/4083 -f 773/893/4084 800/930/4085 809/908/4086 -f 808/909/4087 809/908/4088 800/930/4089 -f 800/930/4090 797/926/4091 808/909/4092 -f 821/919/4093 822/918/4094 776/892/4095 -f 776/892/4096 784/891/4097 821/919/4098 -f 825/921/4099 821/919/4100 784/891/4101 -f 784/891/4102 779/896/4103 825/921/4104 -f 826/922/4105 825/921/4106 779/896/4107 -f 779/896/4108 818/931/4109 826/922/4110 -f 829/925/4111 826/922/4112 818/931/4113 -f 818/931/4114 790/907/4115 829/925/4116 -f 828/924/4117 829/925/4118 790/907/4119 -f 790/907/4120 795/897/4121 828/924/4122 -f 827/923/4123 828/924/4124 795/897/4125 -f 795/897/4126 785/905/4127 827/923/4128 -f 823/917/4129 827/923/4130 785/905/4131 -f 785/905/4132 817/932/4133 823/917/4134 -f 822/918/4135 823/917/4136 817/932/4137 -f 817/932/4138 776/892/4139 822/918/4140 -f 772/856/4141 787/872/4142 788/871/4143 -f 788/871/4144 720/857/4145 772/856/4146 -f 791/875/4147 792/874/4148 771/851/4149 -f 771/851/4150 722/848/4151 791/875/4152 -f 771/851/4153 792/874/4154 794/881/4155 -f 794/881/4156 770/854/4157 771/851/4158 -f 794/881/4159 787/872/4160 772/856/4161 -f 772/856/4162 770/854/4163 794/881/4164 -f 832/948/4165 831/949/4166 834/933/4167 -f 834/933/4168 833/934/4169 832/948/4170 -f 831/949/4171 835/964/4172 836/963/4173 -f 836/963/4174 834/933/4175 831/949/4176 -f 838/987/4177 837/988/4178 721/975/4179 -f 721/975/4180 720/976/4181 838/987/4182 -f 839/989/4183 838/987/4184 720/976/4185 -f 720/976/4186 788/899/4187 839/989/4188 -f 840/990/4189 839/989/4190 788/899/4191 -f 788/899/4192 796/898/4193 840/990/4194 -f 841/991/4195 840/990/4196 796/898/4197 -f 796/898/4198 791/906/4199 841/991/4200 -f 842/993/4201 841/991/4202 791/906/4203 -f 791/906/4204 722/992/4205 842/993/4206 -f 837/988/4207 842/993/4208 722/992/4209 -f 722/992/4210 721/975/4211 837/988/4212 -f 833/934/4213 834/933/4214 837/988/4215 -f 837/988/4216 838/987/4217 833/934/4218 -f 832/948/4219 833/934/4220 838/987/4221 -f 838/987/4222 839/989/4223 832/948/4224 -f 831/949/4225 832/948/4226 839/989/4227 -f 839/989/4228 840/990/4229 831/949/4230 -f 835/964/4231 831/949/4232 840/990/4233 -f 840/990/4234 841/991/4235 835/964/4236 -f 836/963/4237 835/964/4238 841/991/4239 -f 841/991/4240 842/993/4241 836/963/4242 -f 834/933/4243 836/963/4244 842/993/4245 -f 842/993/4246 837/988/4247 834/933/4248 -f 845/1001/4249 844/1002/4250 843/994/4251 -f 843/994/4252 846/995/4253 845/1001/4254 -f 848/1003/4255 847/1004/4256 744/829/4257 -f 744/829/4258 745/828/4259 848/1003/4260 -f 850/1005/4261 849/1006/4262 845/1001/4263 -f 845/1001/4264 846/995/4265 850/1005/4266 -f 714/800/4267 731/805/4268 752/825/4269 -f 752/825/4270 713/801/4271 714/800/4272 -f 752/825/4273 738/817/4274 741/824/4275 -f 741/824/4276 713/801/4277 752/825/4278 -f 757/835/4279 767/847/4280 710/797/4281 -f 710/797/4282 756/836/4283 757/835/4284 -f 755/839/4285 851/937/4286 852/936/4287 -f 852/936/4288 758/840/4289 755/839/4290 -f 853/939/4291 763/841/4292 764/842/4293 -f 764/842/4294 854/938/4295 853/939/4296 -f 732/816/4297 733/815/4298 797/884/4299 -f 797/884/4300 798/883/4301 732/816/4302 -f 802/887/4303 736/819/4304 737/818/4305 -f 737/818/4306 801/888/4307 802/887/4308 -f 737/818/4309 751/826/4310 805/890/4311 -f 805/890/4312 801/888/4313 737/818/4314 -f 805/890/4315 751/826/4316 732/816/4317 -f 732/816/4318 798/883/4319 805/890/4320 -f 733/844/4321 753/843/4322 830/927/4323 -f 830/927/4324 797/926/4325 733/844/4326 -f 830/927/4327 753/843/4328 736/846/4329 -f 736/846/4330 802/928/4331 830/927/4332 -f 859/941/4333 858/942/4334 767/847/4335 -f 767/847/4336 860/940/4337 859/941/4338 -f 861/944/4339 734/806/4340 731/805/4341 -f 731/805/4342 862/943/4343 861/944/4344 -f 863/945/4345 862/943/4346 731/805/4347 -f 731/805/4348 739/821/4349 863/945/4350 -f 863/945/4351 739/821/4352 767/847/4353 -f 767/847/4354 858/942/4355 863/945/4356 -f 865/1008/4357 864/1009/4358 734/837/4359 -f 734/837/4360 861/1007/4361 865/1008/4362 -f 866/950/4363 856/951/4364 857/946/4365 -f 857/946/4366 867/947/4367 866/950/4368 -f 868/952/4369 855/953/4370 856/951/4371 -f 856/951/4372 866/950/4373 868/952/4374 -f 871/956/4375 870/957/4376 869/954/4377 -f 869/954/4378 872/955/4379 871/956/4380 -f 874/960/4381 873/961/4382 876/958/4383 -f 876/958/4384 875/959/4385 874/960/4386 -f 876/958/4387 873/961/4388 877/962/4389 -f 877/962/4390 878/965/4391 876/958/4392 -f 877/962/4393 870/957/4394 871/956/4395 -f 871/956/4396 878/965/4397 877/962/4398 -f 869/1012/4399 879/1013/4400 880/1010/4401 -f 880/1010/4402 872/1011/4403 869/1012/4404 -f 880/1010/4405 879/1013/4406 874/1014/4407 -f 874/1014/4408 875/1015/4409 880/1010/4410 -f 883/968/4411 882/969/4412 881/966/4413 -f 881/966/4414 884/967/4415 883/968/4416 -f 886/972/4417 885/973/4418 888/970/4419 -f 888/970/4420 887/971/4421 886/972/4422 -f 888/970/4423 885/973/4424 889/974/4425 -f 889/974/4426 890/977/4427 888/970/4428 -f 889/974/4429 882/969/4430 883/968/4431 -f 883/968/4432 890/977/4433 889/974/4434 -f 884/1018/4435 881/1019/4436 891/1016/4437 -f 891/1016/4438 892/1017/4439 884/1018/4440 -f 891/1016/4441 886/1021/4442 887/1020/4443 -f 887/1020/4444 892/1017/4445 891/1016/4446 -f 893/980/4447 896/981/4448 895/978/4449 -f 895/978/4450 894/979/4451 893/980/4452 -f 897/984/4453 900/985/4454 899/982/4455 -f 899/982/4456 898/983/4457 897/984/4458 -f 901/986/4459 902/996/4460 900/985/4461 -f 900/985/4462 897/984/4463 901/986/4464 -f 894/979/4465 895/978/4466 902/996/4467 -f 902/996/4468 901/986/4469 894/979/4470 -f 903/1032/4471 906/1046/4472 905/1022/4473 -f 905/1022/4474 904/1031/4475 903/1032/4476 -f 907/1047/4477 908/1058/4478 906/1046/4479 -f 906/1046/4480 903/1032/4481 907/1047/4482 -f 896/981/4483 869/954/4484 870/957/4485 -f 870/957/4486 895/978/4487 896/981/4488 -f 900/985/4489 873/961/4490 874/960/4491 -f 874/960/4492 899/982/4493 900/985/4494 -f 902/996/4495 877/962/4496 873/961/4497 -f 873/961/4498 900/985/4499 902/996/4500 -f 895/978/4501 870/957/4502 877/962/4503 -f 877/962/4504 902/996/4505 895/978/4506 -f 906/1046/4507 910/1070/4508 909/1059/4509 -f 909/1059/4510 905/1022/4511 906/1046/4512 -f 908/1058/4513 911/1071/4514 910/1070/4515 -f 910/1070/4516 906/1046/4517 908/1058/4518 -f 872/955/4519 913/998/4520 912/997/4521 -f 912/997/4522 871/956/4523 872/955/4524 -f 876/958/4525 915/1000/4526 914/999/4527 -f 914/999/4528 875/959/4529 876/958/4530 -f 878/965/4531 916/1023/4532 915/1000/4533 -f 915/1000/4534 876/958/4535 878/965/4536 -f 871/956/4537 912/997/4538 916/1023/4539 -f 916/1023/4540 878/965/4541 871/956/4542 -f 917/1074/4543 920/1075/4544 919/1072/4545 -f 919/1072/4546 918/1073/4547 917/1074/4548 -f 921/1076/4549 922/1077/4550 920/1075/4551 -f 920/1075/4552 917/1074/4553 921/1076/4554 -f 913/998/4555 881/966/4556 882/969/4557 -f 882/969/4558 912/997/4559 913/998/4560 -f 915/1000/4561 885/973/4562 886/972/4563 -f 886/972/4564 914/999/4565 915/1000/4566 -f 916/1023/4567 889/974/4568 885/973/4569 -f 885/973/4570 915/1000/4571 916/1023/4572 -f 912/997/4573 882/969/4574 889/974/4575 -f 889/974/4576 916/1023/4577 912/997/4578 -f 920/1075/4579 924/1084/4580 923/1078/4581 -f 923/1078/4582 919/1072/4583 920/1075/4584 -f 922/1077/4585 925/1085/4586 924/1084/4587 -f 924/1084/4588 920/1075/4589 922/1077/4590 -f 903/1032/4591 904/1031/4592 893/1086/4593 -f 893/1086/4594 926/1087/4595 903/1032/4596 -f 907/1047/4597 903/1032/4598 926/1087/4599 -f 926/1087/4600 898/1088/4601 907/1047/4602 -f 908/1058/4603 907/1047/4604 898/1088/4605 -f 898/1088/4606 899/1089/4607 908/1058/4608 -f 911/1071/4609 908/1058/4610 899/1089/4611 -f 899/1089/4612 874/1014/4613 911/1071/4614 -f 910/1070/4615 911/1071/4616 874/1014/4617 -f 874/1014/4618 879/1013/4619 910/1070/4620 -f 909/1059/4621 910/1070/4622 879/1013/4623 -f 879/1013/4624 869/1012/4625 909/1059/4626 -f 905/1022/4627 909/1059/4628 869/1012/4629 -f 869/1012/4630 896/1090/4631 905/1022/4632 -f 904/1031/4633 905/1022/4634 896/1090/4635 -f 896/1090/4636 893/1086/4637 904/1031/4638 -f 917/1074/4639 918/1073/4640 872/1011/4641 -f 872/1011/4642 880/1010/4643 917/1074/4644 -f 921/1076/4645 917/1074/4646 880/1010/4647 -f 880/1010/4648 875/1015/4649 921/1076/4650 -f 922/1077/4651 921/1076/4652 875/1015/4653 -f 875/1015/4654 914/1091/4655 922/1077/4656 -f 925/1085/4657 922/1077/4658 914/1091/4659 -f 914/1091/4660 886/1021/4661 925/1085/4662 -f 924/1084/4663 925/1085/4664 886/1021/4665 -f 886/1021/4666 891/1016/4667 924/1084/4668 -f 923/1078/4669 924/1084/4670 891/1016/4671 -f 891/1016/4672 881/1019/4673 923/1078/4674 -f 919/1072/4675 923/1078/4676 881/1019/4677 -f 881/1019/4678 913/1092/4679 919/1072/4680 -f 918/1073/4681 919/1072/4682 913/1092/4683 -f 913/1092/4684 872/1011/4685 918/1073/4686 -f 868/952/4687 883/968/4688 884/967/4689 -f 884/967/4690 855/953/4691 868/952/4692 -f 887/971/4693 888/970/4694 867/947/4695 -f 867/947/4696 857/946/4697 887/971/4698 -f 867/947/4699 888/970/4700 890/977/4701 -f 890/977/4702 866/950/4703 867/947/4704 -f 890/977/4705 883/968/4706 868/952/4707 -f 868/952/4708 866/950/4709 890/977/4710 -f 928/1095/4711 927/1096/4712 930/1093/4713 -f 930/1093/4714 929/1094/4715 928/1095/4716 -f 927/1096/4717 931/1098/4718 932/1097/4719 -f 932/1097/4720 930/1093/4721 927/1096/4722 -f 934/1101/4723 933/1102/4724 856/1099/4725 -f 856/1099/4726 855/1100/4727 934/1101/4728 -f 935/1103/4729 934/1101/4730 855/1100/4731 -f 855/1100/4732 884/1018/4733 935/1103/4734 -f 936/1104/4735 935/1103/4736 884/1018/4737 -f 884/1018/4738 892/1017/4739 936/1104/4740 -f 937/1105/4741 936/1104/4742 892/1017/4743 -f 892/1017/4744 887/1020/4745 937/1105/4746 -f 938/1115/4747 937/1105/4748 887/1020/4749 -f 887/1020/4750 857/1114/4751 938/1115/4752 -f 933/1102/4753 938/1115/4754 857/1114/4755 -f 857/1114/4756 856/1099/4757 933/1102/4758 -f 929/1094/4759 930/1093/4760 933/1102/4761 -f 933/1102/4762 934/1101/4763 929/1094/4764 -f 928/1095/4765 929/1094/4766 934/1101/4767 -f 934/1101/4768 935/1103/4769 928/1095/4770 -f 927/1096/4771 928/1095/4772 935/1103/4773 -f 935/1103/4774 936/1104/4775 927/1096/4776 -f 931/1098/4777 927/1096/4778 936/1104/4779 -f 936/1104/4780 937/1105/4781 931/1098/4782 -f 932/1097/4783 931/1098/4784 937/1105/4785 -f 937/1105/4786 938/1115/4787 932/1097/4788 -f 930/1093/4789 932/1097/4790 938/1115/4791 -f 938/1115/4792 933/1102/4793 930/1093/4794 -f 858/942/4795 859/941/4796 893/980/4797 -f 893/980/4798 894/979/4799 858/942/4800 -f 898/983/4801 861/944/4802 862/943/4803 -f 862/943/4804 897/984/4805 898/983/4806 -f 862/943/4807 863/945/4808 901/986/4809 -f 901/986/4810 897/984/4811 862/943/4812 -f 901/986/4813 863/945/4814 858/942/4815 -f 858/942/4816 894/979/4817 901/986/4818 -f 859/1129/4819 865/1008/4820 926/1087/4821 -f 926/1087/4822 893/1086/4823 859/1129/4824 -f 926/1087/4825 865/1008/4826 861/1007/4827 -f 861/1007/4828 898/1088/4829 926/1087/4830 -f 943/1024/4831 942/1025/4832 758/840/4833 -f 758/840/4834 852/936/4835 943/1024/4836 -f 944/1027/4837 860/940/4838 767/847/4839 -f 767/847/4840 945/1026/4841 944/1027/4842 -f 946/1028/4843 945/1026/4844 767/847/4845 -f 767/847/4846 757/835/4847 946/1028/4848 -f 946/1028/4849 757/835/4850 758/840/4851 -f 758/840/4852 942/1025/4853 946/1028/4854 -f 947/1142/4855 943/1153/4856 852/1130/4857 -f 852/1130/4858 948/1141/4859 947/1142/4860 -f 947/1142/4861 948/1141/4862 860/1154/4863 -f 860/1154/4864 944/1155/4865 947/1142/4866 -f 949/1033/4867 940/1034/4868 941/1029/4869 -f 941/1029/4870 950/1030/4871 949/1033/4872 -f 951/1035/4873 939/1036/4874 940/1034/4875 -f 940/1034/4876 949/1033/4877 951/1035/4878 -f 954/1039/4879 953/1040/4880 952/1037/4881 -f 952/1037/4882 955/1038/4883 954/1039/4884 -f 957/1043/4885 956/1044/4886 959/1041/4887 -f 959/1041/4888 958/1042/4889 957/1043/4890 -f 959/1041/4891 956/1044/4892 960/1045/4893 -f 960/1045/4894 961/1048/4895 959/1041/4896 -f 960/1045/4897 953/1040/4898 954/1039/4899 -f 954/1039/4900 961/1048/4901 960/1045/4902 -f 952/1158/4903 962/1159/4904 963/1156/4905 -f 963/1156/4906 955/1157/4907 952/1158/4908 -f 963/1156/4909 962/1159/4910 957/1160/4911 -f 957/1160/4912 958/1161/4913 963/1156/4914 -f 966/1051/4915 965/1052/4916 964/1049/4917 -f 964/1049/4918 967/1050/4919 966/1051/4920 -f 969/1055/4921 968/1056/4922 971/1053/4923 -f 971/1053/4924 970/1054/4925 969/1055/4926 -f 971/1053/4927 968/1056/4928 972/1057/4929 -f 972/1057/4930 973/1060/4931 971/1053/4932 -f 972/1057/4933 965/1052/4934 966/1051/4935 -f 966/1051/4936 973/1060/4937 972/1057/4938 -f 967/1169/4939 964/1170/4940 974/1167/4941 -f 974/1167/4942 975/1168/4943 967/1169/4944 -f 974/1167/4945 969/1172/4946 970/1171/4947 -f 970/1171/4948 975/1168/4949 974/1167/4950 -f 976/1063/4951 979/1064/4952 978/1061/4953 -f 978/1061/4954 977/1062/4955 976/1063/4956 -f 980/1067/4957 983/1068/4958 982/1065/4959 -f 982/1065/4960 981/1066/4961 980/1067/4962 -f 984/1069/4963 985/1079/4964 983/1068/4965 -f 983/1068/4966 980/1067/4967 984/1069/4968 -f 977/1062/4969 978/1061/4970 985/1079/4971 -f 985/1079/4972 984/1069/4973 977/1062/4974 -f 986/1175/4975 989/1176/4976 988/1173/4977 -f 988/1173/4978 987/1174/4979 986/1175/4980 -f 990/1177/4981 991/1178/4982 989/1176/4983 -f 989/1176/4984 986/1175/4985 990/1177/4986 -f 979/1064/4987 952/1037/4988 953/1040/4989 -f 953/1040/4990 978/1061/4991 979/1064/4992 -f 983/1068/4993 956/1044/4994 957/1043/4995 -f 957/1043/4996 982/1065/4997 983/1068/4998 -f 985/1079/4999 960/1045/5000 956/1044/5001 -f 956/1044/5002 983/1068/5003 985/1079/5004 -f 978/1061/5005 953/1040/5006 960/1045/5007 -f 960/1045/5008 985/1079/5009 978/1061/5010 -f 989/1176/5011 993/1180/5012 992/1179/5013 -f 992/1179/5014 988/1173/5015 989/1176/5016 -f 991/1178/5017 994/1181/5018 993/1180/5019 -f 993/1180/5020 989/1176/5021 991/1178/5022 -f 955/1038/5023 996/1081/5024 995/1080/5025 -f 995/1080/5026 954/1039/5027 955/1038/5028 -f 959/1041/5029 998/1083/5030 997/1082/5031 -f 997/1082/5032 958/1042/5033 959/1041/5034 -f 961/1048/5035 999/1106/5036 998/1083/5037 -f 998/1083/5038 959/1041/5039 961/1048/5040 -f 954/1039/5041 995/1080/5042 999/1106/5043 -f 999/1106/5044 961/1048/5045 954/1039/5046 -f 1000/1184/5047 1003/1185/5048 1002/1182/5049 -f 1002/1182/5050 1001/1183/5051 1000/1184/5052 -f 1004/1186/5053 1005/1187/5054 1003/1185/5055 -f 1003/1185/5056 1000/1184/5057 1004/1186/5058 -f 996/1081/5059 964/1049/5060 965/1052/5061 -f 965/1052/5062 995/1080/5063 996/1081/5064 -f 998/1083/5065 968/1056/5066 969/1055/5067 -f 969/1055/5068 997/1082/5069 998/1083/5070 -f 999/1106/5071 972/1057/5072 968/1056/5073 -f 968/1056/5074 998/1083/5075 999/1106/5076 -f 995/1080/5077 965/1052/5078 972/1057/5079 -f 972/1057/5080 999/1106/5081 995/1080/5082 -f 1003/1185/5083 1007/1189/5084 1006/1188/5085 -f 1006/1188/5086 1002/1182/5087 1003/1185/5088 -f 1005/1187/5089 1008/1190/5090 1007/1189/5091 -f 1007/1189/5092 1003/1185/5093 1005/1187/5094 -f 986/1175/5095 987/1174/5096 976/1191/5097 -f 976/1191/5098 1009/1192/5099 986/1175/5100 -f 990/1177/5101 986/1175/5102 1009/1192/5103 -f 1009/1192/5104 981/1193/5105 990/1177/5106 -f 991/1178/5107 990/1177/5108 981/1193/5109 -f 981/1193/5110 982/1197/5111 991/1178/5112 -f 994/1181/5113 991/1178/5114 982/1197/5115 -f 982/1197/5116 957/1160/5117 994/1181/5118 -f 993/1180/5119 994/1181/5120 957/1160/5121 -f 957/1160/5122 962/1159/5123 993/1180/5124 -f 992/1179/5125 993/1180/5126 962/1159/5127 -f 962/1159/5128 952/1158/5129 992/1179/5130 -f 988/1173/5131 992/1179/5132 952/1158/5133 -f 952/1158/5134 979/1198/5135 988/1173/5136 -f 987/1174/5137 988/1173/5138 979/1198/5139 -f 979/1198/5140 976/1191/5141 987/1174/5142 -f 1000/1184/5143 1001/1183/5144 955/1157/5145 -f 955/1157/5146 963/1156/5147 1000/1184/5148 -f 1004/1186/5149 1000/1184/5150 963/1156/5151 -f 963/1156/5152 958/1161/5153 1004/1186/5154 -f 1005/1187/5155 1004/1186/5156 958/1161/5157 -f 958/1161/5158 997/1199/5159 1005/1187/5160 -f 1008/1190/5161 1005/1187/5162 997/1199/5163 -f 997/1199/5164 969/1172/5165 1008/1190/5166 -f 1007/1189/5167 1008/1190/5168 969/1172/5169 -f 969/1172/5170 974/1167/5171 1007/1189/5172 -f 1006/1188/5173 1007/1189/5174 974/1167/5175 -f 974/1167/5176 964/1170/5177 1006/1188/5178 -f 1002/1182/5179 1006/1188/5180 964/1170/5181 -f 964/1170/5182 996/1222/5183 1002/1182/5184 -f 1001/1183/5185 1002/1182/5186 996/1222/5187 -f 996/1222/5188 955/1157/5189 1001/1183/5190 -f 951/1035/5191 966/1051/5192 967/1050/5193 -f 967/1050/5194 939/1036/5195 951/1035/5196 -f 970/1054/5197 971/1053/5198 950/1030/5199 -f 950/1030/5200 941/1029/5201 970/1054/5202 -f 950/1030/5203 971/1053/5204 973/1060/5205 -f 973/1060/5206 949/1033/5207 950/1030/5208 -f 973/1060/5209 966/1051/5210 951/1035/5211 -f 951/1035/5212 949/1033/5213 973/1060/5214 -f 1011/1227/5215 1010/1228/5216 1013/1223/5217 -f 1013/1223/5218 1012/1226/5219 1011/1227/5220 -f 1010/1228/5221 1014/1230/5222 1015/1229/5223 -f 1015/1229/5224 1013/1223/5225 1010/1228/5226 -f 1017/1234/5227 1016/1235/5228 940/1231/5229 -f 940/1231/5230 939/1233/5231 1017/1234/5232 -f 1018/1236/5233 1017/1234/5234 939/1233/5235 -f 939/1233/5236 967/1169/5237 1018/1236/5238 -f 1019/1237/5239 1018/1236/5240 967/1169/5241 -f 967/1169/5242 975/1168/5243 1019/1237/5244 -f 1020/1242/5245 1019/1237/5246 975/1168/5247 -f 975/1168/5248 970/1171/5249 1020/1242/5250 -f 1021/1244/5251 1020/1242/5252 970/1171/5253 -f 970/1171/5254 941/1243/5255 1021/1244/5256 -f 1016/1235/5257 1021/1244/5258 941/1243/5259 -f 941/1243/5260 940/1231/5261 1016/1235/5262 -f 1012/1226/5263 1013/1223/5264 1016/1235/5265 -f 1016/1235/5266 1017/1234/5267 1012/1226/5268 -f 1011/1227/5269 1012/1226/5270 1017/1234/5271 -f 1017/1234/5272 1018/1236/5273 1011/1227/5274 -f 1010/1228/5275 1011/1227/5276 1018/1236/5277 -f 1018/1236/5278 1019/1237/5279 1010/1228/5280 -f 1014/1230/5281 1010/1228/5282 1019/1237/5283 -f 1019/1237/5284 1020/1242/5285 1014/1230/5286 -f 1015/1229/5287 1014/1230/5288 1020/1242/5289 -f 1020/1242/5290 1021/1244/5291 1015/1229/5292 -f 1013/1223/5293 1015/1229/5294 1021/1244/5295 -f 1021/1244/5296 1016/1235/5297 1013/1223/5298 -f 942/1025/5299 943/1024/5300 976/1063/5301 -f 976/1063/5302 977/1062/5303 942/1025/5304 -f 981/1066/5305 944/1027/5306 945/1026/5307 -f 945/1026/5308 980/1067/5309 981/1066/5310 -f 945/1026/5311 946/1028/5312 984/1069/5313 -f 984/1069/5314 980/1067/5315 945/1026/5316 -f 984/1069/5317 946/1028/5318 942/1025/5319 -f 942/1025/5320 977/1062/5321 984/1069/5322 -f 943/1153/5323 947/1142/5324 1009/1192/5325 -f 1009/1192/5326 976/1191/5327 943/1153/5328 -f 1009/1192/5329 947/1142/5330 944/1155/5331 -f 944/1155/5332 981/1193/5333 1009/1192/5334 -f 1026/1107/5335 1025/1108/5336 738/817/5337 -f 738/817/5338 735/820/5339 1026/1107/5340 -f 1027/1110/5341 854/938/5342 764/842/5343 -f 764/842/5344 1028/1109/5345 1027/1110/5346 -f 1029/1111/5347 1028/1109/5348 764/842/5349 -f 764/842/5350 740/822/5351 1029/1111/5352 -f 1029/1111/5353 740/822/5354 738/817/5355 -f 738/817/5356 1025/1108/5357 1029/1111/5358 -f 1030/1246/5359 1026/1247/5360 735/845/5361 -f 735/845/5362 1031/1245/5363 1030/1246/5364 -f 1030/1246/5365 1031/1245/5366 854/1253/5367 -f 854/1253/5368 1027/1254/5369 1030/1246/5370 -f 1032/1116/5371 1023/1117/5372 1024/1112/5373 -f 1024/1112/5374 1033/1113/5375 1032/1116/5376 -f 1034/1118/5377 1022/1119/5378 1023/1117/5379 -f 1023/1117/5380 1032/1116/5381 1034/1118/5382 -f 1037/1122/5383 1036/1123/5384 1035/1120/5385 -f 1035/1120/5386 1038/1121/5387 1037/1122/5388 -f 1040/1126/5389 1039/1127/5390 1042/1124/5391 -f 1042/1124/5392 1041/1125/5393 1040/1126/5394 -f 1042/1124/5395 1039/1127/5396 1043/1128/5397 -f 1043/1128/5398 1044/1131/5399 1042/1124/5400 -f 1043/1128/5401 1036/1123/5402 1037/1122/5403 -f 1037/1122/5404 1044/1131/5405 1043/1128/5406 -f 1035/1257/5407 1045/1258/5408 1046/1255/5409 -f 1046/1255/5410 1038/1256/5411 1035/1257/5412 -f 1046/1255/5413 1045/1258/5414 1040/1260/5415 -f 1040/1260/5416 1041/1261/5417 1046/1255/5418 -f 1049/1134/5419 1048/1135/5420 1047/1132/5421 -f 1047/1132/5422 1050/1133/5423 1049/1134/5424 -f 1052/1138/5425 1051/1139/5426 1054/1136/5427 -f 1054/1136/5428 1053/1137/5429 1052/1138/5430 -f 1054/1136/5431 1051/1139/5432 1055/1140/5433 -f 1055/1140/5434 1056/1143/5435 1054/1136/5436 -f 1055/1140/5437 1048/1135/5438 1049/1134/5439 -f 1049/1134/5440 1056/1143/5441 1055/1140/5442 -f 1050/1264/5443 1047/1265/5444 1057/1262/5445 -f 1057/1262/5446 1058/1263/5447 1050/1264/5448 -f 1057/1262/5449 1052/1267/5450 1053/1266/5451 -f 1053/1266/5452 1058/1263/5453 1057/1262/5454 -f 1059/1146/5455 1062/1147/5456 1061/1144/5457 -f 1061/1144/5458 1060/1145/5459 1059/1146/5460 -f 1063/1150/5461 1066/1151/5462 1065/1148/5463 -f 1065/1148/5464 1064/1149/5465 1063/1150/5466 -f 1067/1152/5467 1068/1162/5468 1066/1151/5469 -f 1066/1151/5470 1063/1150/5471 1067/1152/5472 -f 1060/1145/5473 1061/1144/5474 1068/1162/5475 -f 1068/1162/5476 1067/1152/5477 1060/1145/5478 -f 1069/1278/5479 1072/1279/5480 1071/1268/5481 -f 1071/1268/5482 1070/1269/5483 1069/1278/5484 -f 1073/1280/5485 1074/1281/5486 1072/1279/5487 -f 1072/1279/5488 1069/1278/5489 1073/1280/5490 -f 1062/1147/5491 1035/1120/5492 1036/1123/5493 -f 1036/1123/5494 1061/1144/5495 1062/1147/5496 -f 1066/1151/5497 1039/1127/5498 1040/1126/5499 -f 1040/1126/5500 1065/1148/5501 1066/1151/5502 -f 1068/1162/5503 1043/1128/5504 1039/1127/5505 -f 1039/1127/5506 1066/1151/5507 1068/1162/5508 -f 1061/1144/5509 1036/1123/5510 1043/1128/5511 -f 1043/1128/5512 1068/1162/5513 1061/1144/5514 -f 1072/1279/5515 1076/1283/5516 1075/1282/5517 -f 1075/1282/5518 1071/1268/5519 1072/1279/5520 -f 1074/1281/5521 1077/1284/5522 1076/1283/5523 -f 1076/1283/5524 1072/1279/5525 1074/1281/5526 -f 1038/1121/5527 1079/1164/5528 1078/1163/5529 -f 1078/1163/5530 1037/1122/5531 1038/1121/5532 -f 1042/1124/5533 1081/1166/5534 1080/1165/5535 -f 1080/1165/5536 1041/1125/5537 1042/1124/5538 -f 1044/1131/5539 1082/1194/5540 1081/1166/5541 -f 1081/1166/5542 1042/1124/5543 1044/1131/5544 -f 1037/1122/5545 1078/1163/5546 1082/1194/5547 -f 1082/1194/5548 1044/1131/5549 1037/1122/5550 -f 1083/1290/5551 1086/1291/5552 1085/1285/5553 -f 1085/1285/5554 1084/1289/5555 1083/1290/5556 -f 1087/1292/5557 1088/1299/5558 1086/1291/5559 -f 1086/1291/5560 1083/1290/5561 1087/1292/5562 -f 1079/1164/5563 1047/1132/5564 1048/1135/5565 -f 1048/1135/5566 1078/1163/5567 1079/1164/5568 -f 1081/1166/5569 1051/1139/5570 1052/1138/5571 -f 1052/1138/5572 1080/1165/5573 1081/1166/5574 -f 1082/1194/5575 1055/1140/5576 1051/1139/5577 -f 1051/1139/5578 1081/1166/5579 1082/1194/5580 -f 1078/1163/5581 1048/1135/5582 1055/1140/5583 -f 1055/1140/5584 1082/1194/5585 1078/1163/5586 -f 1086/1291/5587 1090/1307/5588 1089/1306/5589 -f 1089/1306/5590 1085/1285/5591 1086/1291/5592 -f 1088/1299/5593 1091/1308/5594 1090/1307/5595 -f 1090/1307/5596 1086/1291/5597 1088/1299/5598 -f 1069/1278/5599 1070/1269/5600 1059/1309/5601 -f 1059/1309/5602 1092/1310/5603 1069/1278/5604 -f 1073/1280/5605 1069/1278/5606 1092/1310/5607 -f 1092/1310/5608 1064/1311/5609 1073/1280/5610 -f 1074/1281/5611 1073/1280/5612 1064/1311/5613 -f 1064/1311/5614 1065/1312/5615 1074/1281/5616 -f 1077/1284/5617 1074/1281/5618 1065/1312/5619 -f 1065/1312/5620 1040/1260/5621 1077/1284/5622 -f 1076/1283/5623 1077/1284/5624 1040/1260/5625 -f 1040/1260/5626 1045/1258/5627 1076/1283/5628 -f 1075/1282/5629 1076/1283/5630 1045/1258/5631 -f 1045/1258/5632 1035/1257/5633 1075/1282/5634 -f 1071/1268/5635 1075/1282/5636 1035/1257/5637 -f 1035/1257/5638 1062/1313/5639 1071/1268/5640 -f 1070/1269/5641 1071/1268/5642 1062/1313/5643 -f 1062/1313/5644 1059/1309/5645 1070/1269/5646 -f 1083/1290/5647 1084/1289/5648 1038/1256/5649 -f 1038/1256/5650 1046/1255/5651 1083/1290/5652 -f 1087/1292/5653 1083/1290/5654 1046/1255/5655 -f 1046/1255/5656 1041/1261/5657 1087/1292/5658 -f 1088/1299/5659 1087/1292/5660 1041/1261/5661 -f 1041/1261/5662 1080/1314/5663 1088/1299/5664 -f 1091/1308/5665 1088/1299/5666 1080/1314/5667 -f 1080/1314/5668 1052/1267/5669 1091/1308/5670 -f 1090/1307/5671 1091/1308/5672 1052/1267/5673 -f 1052/1267/5674 1057/1262/5675 1090/1307/5676 -f 1089/1306/5677 1090/1307/5678 1057/1262/5679 -f 1057/1262/5680 1047/1265/5681 1089/1306/5682 -f 1085/1285/5683 1089/1306/5684 1047/1265/5685 -f 1047/1265/5686 1079/1315/5687 1085/1285/5688 -f 1084/1289/5689 1085/1285/5690 1079/1315/5691 -f 1079/1315/5692 1038/1256/5693 1084/1289/5694 -f 1034/1118/5695 1049/1134/5696 1050/1133/5697 -f 1050/1133/5698 1022/1119/5699 1034/1118/5700 -f 1053/1137/5701 1054/1136/5702 1033/1113/5703 -f 1033/1113/5704 1024/1112/5705 1053/1137/5706 -f 1033/1113/5707 1054/1136/5708 1056/1143/5709 -f 1056/1143/5710 1032/1116/5711 1033/1113/5712 -f 1056/1143/5713 1049/1134/5714 1034/1118/5715 -f 1034/1118/5716 1032/1116/5717 1056/1143/5718 -f 1094/1318/5719 1093/1319/5720 1096/1316/5721 -f 1096/1316/5722 1095/1317/5723 1094/1318/5724 -f 1093/1319/5725 1097/1321/5726 1098/1320/5727 -f 1098/1320/5728 1096/1316/5729 1093/1319/5730 -f 1100/1324/5731 1099/1325/5732 1023/1322/5733 -f 1023/1322/5734 1022/1323/5735 1100/1324/5736 -f 1101/1326/5737 1100/1324/5738 1022/1323/5739 -f 1022/1323/5740 1050/1264/5741 1101/1326/5742 -f 1102/1327/5743 1101/1326/5744 1050/1264/5745 -f 1050/1264/5746 1058/1263/5747 1102/1327/5748 -f 1103/1328/5749 1102/1327/5750 1058/1263/5751 -f 1058/1263/5752 1053/1266/5753 1103/1328/5754 -f 1104/1330/5755 1103/1328/5756 1053/1266/5757 -f 1053/1266/5758 1024/1329/5759 1104/1330/5760 -f 1099/1325/5761 1104/1330/5762 1024/1329/5763 -f 1024/1329/5764 1023/1322/5765 1099/1325/5766 -f 1095/1317/5767 1096/1316/5768 1099/1325/5769 -f 1099/1325/5770 1100/1324/5771 1095/1317/5772 -f 1094/1318/5773 1095/1317/5774 1100/1324/5775 -f 1100/1324/5776 1101/1326/5777 1094/1318/5778 -f 1093/1319/5779 1094/1318/5780 1101/1326/5781 -f 1101/1326/5782 1102/1327/5783 1093/1319/5784 -f 1097/1321/5785 1093/1319/5786 1102/1327/5787 -f 1102/1327/5788 1103/1328/5789 1097/1321/5790 -f 1098/1320/5791 1097/1321/5792 1103/1328/5793 -f 1103/1328/5794 1104/1330/5795 1098/1320/5796 -f 1096/1316/5797 1098/1320/5798 1104/1330/5799 -f 1104/1330/5800 1099/1325/5801 1096/1316/5802 -f 1025/1108/5803 1026/1107/5804 1059/1146/5805 -f 1059/1146/5806 1060/1145/5807 1025/1108/5808 -f 1064/1149/5809 1027/1110/5810 1028/1109/5811 -f 1028/1109/5812 1063/1150/5813 1064/1149/5814 -f 1028/1109/5815 1029/1111/5816 1067/1152/5817 -f 1067/1152/5818 1063/1150/5819 1028/1109/5820 -f 1067/1152/5821 1029/1111/5822 1025/1108/5823 -f 1025/1108/5824 1060/1145/5825 1067/1152/5826 -f 1026/1247/5827 1030/1246/5828 1092/1310/5829 -f 1092/1310/5830 1059/1309/5831 1026/1247/5832 -f 1092/1310/5833 1030/1246/5834 1027/1254/5835 -f 1027/1254/5836 1064/1311/5837 1092/1310/5838 -f 750/834/5839 747/833/5840 1031/1245/5841 -f 1031/1245/5842 735/845/5843 750/834/5844 -f 749/831/5845 750/834/5846 735/845/5847 -f 735/845/5848 1105/1331/5849 749/831/5850 -f 748/832/5851 749/831/5852 1105/1331/5853 -f 1105/1331/5854 1106/1332/5855 748/832/5856 -f 765/867/5857 748/832/5858 1106/1332/5859 -f 1106/1332/5860 853/1333/5861 765/867/5862 -f 766/868/5863 765/867/5864 853/1333/5865 -f 853/1333/5866 854/1253/5867 766/868/5868 -f 747/833/5869 766/868/5870 854/1253/5871 -f 854/1253/5872 1031/1245/5873 747/833/5874 -f 743/830/5875 744/829/5876 754/838/5877 -f 754/838/5878 734/837/5879 743/830/5880 -f 746/827/5881 743/830/5882 734/837/5883 -f 734/837/5884 1107/1334/5885 746/827/5886 -f 745/828/5887 746/827/5888 1107/1334/5889 -f 1107/1334/5890 1108/1335/5891 745/828/5892 -f 848/1003/5893 745/828/5894 1108/1335/5895 -f 1108/1335/5896 1105/1331/5897 848/1003/5898 -f 847/1004/5899 848/1003/5900 1105/1331/5901 -f 1105/1331/5902 735/845/5903 847/1004/5904 -f 744/829/5905 847/1004/5906 735/845/5907 -f 735/845/5908 754/838/5909 744/829/5910 -f 845/1001/5911 849/1006/5912 734/837/5913 -f 734/837/5914 864/1009/5915 845/1001/5916 -f 844/1002/5917 845/1001/5918 864/1009/5919 -f 864/1009/5920 860/1154/5921 844/1002/5922 -f 843/994/5923 844/1002/5924 860/1154/5925 -f 860/1154/5926 727/814/5927 843/994/5928 -f 846/995/5929 843/994/5930 727/814/5931 -f 727/814/5932 1109/1336/5933 846/995/5934 -f 850/1005/5935 846/995/5936 1109/1336/5937 -f 1109/1336/5938 1107/1334/5939 850/1005/5940 -f 849/1006/5941 850/1005/5942 1107/1334/5943 -f 1107/1334/5944 734/837/5945 849/1006/5946 -f 760/853/5947 761/852/5948 948/1141/5949 -f 948/1141/5950 852/1130/5951 760/853/5952 -f 759/849/5953 760/853/5954 852/1130/5955 -f 852/1130/5956 851/1337/5957 759/849/5958 -f 762/850/5959 759/849/5960 851/1337/5961 -f 851/1337/5962 730/811/5963 762/850/5964 -f 768/879/5965 762/850/5966 730/811/5967 -f 730/811/5968 727/814/5969 768/879/5970 -f 769/880/5971 768/879/5972 727/814/5973 -f 727/814/5974 860/1154/5975 769/880/5976 -f 761/852/5977 769/880/5978 860/1154/5979 -f 860/1154/5980 948/1141/5981 761/852/5982 -f 859/1129/5983 860/1154/5984 864/1009/5985 -f 864/1009/5986 865/1008/5987 859/1129/5988 -f 755/839/5989 1111/1196/5990 1110/1195/5991 -f 1110/1195/5992 851/937/5993 755/839/5994 -f 712/795/5995 1112/1200/5996 718/804/5997 -f 718/804/5998 711/796/5999 712/795/6000 -f 1109/1336/6001 1114/1339/6002 1113/1338/6003 -f 1113/1338/6004 1107/1334/6005 1109/1336/6006 -f 719/803/6007 756/836/6008 710/797/6009 -f 710/797/6010 711/796/6011 719/803/6012 -f 725/808/6013 1115/1340/6014 1106/1332/6015 -f 1106/1332/6016 1105/1331/6017 725/808/6018 -f 1108/1335/6019 724/809/6020 725/808/6021 -f 725/808/6022 1105/1331/6023 1108/1335/6024 -f 1118/1203/6025 1117/1204/6026 1116/1201/6027 -f 1116/1201/6028 1119/1202/6029 1118/1203/6030 -f 1121/1205/6031 1120/1206/6032 1116/1201/6033 -f 1116/1201/6034 1117/1204/6035 1121/1205/6036 -f 1123/1208/6037 1122/1209/6038 1121/1205/6039 -f 1121/1205/6040 1124/1207/6041 1123/1208/6042 -f 1117/1204/6043 1118/1203/6044 1126/1210/6045 -f 1126/1210/6046 1125/1211/6047 1117/1204/6048 -f 1124/1207/6049 1121/1205/6050 1117/1204/6051 -f 1117/1204/6052 1125/1211/6053 1124/1207/6054 -f 707/793/6055 1129/792/6056 1127/1212/6057 -f 1127/1212/6058 1128/1213/6059 707/793/6060 -f 1131/1216/6061 1130/1217/6062 1133/1214/6063 -f 1133/1214/6064 1132/1215/6065 1131/1216/6066 -f 1135/1218/6067 1134/1219/6068 1131/1216/6069 -f 1131/1216/6070 1132/1215/6071 1135/1218/6072 -f 1130/1217/6073 1136/1221/6074 1137/1220/6075 -f 1137/1220/6076 1133/1214/6077 1130/1217/6078 -f 1136/1343/6079 1138/1344/6080 1139/1341/6081 -f 1139/1341/6082 1137/1342/6083 1136/1343/6084 -f 1138/1344/6085 1140/1346/6086 1141/1345/6087 -f 1141/1345/6088 1139/1341/6089 1138/1344/6090 -f 1141/1224/6091 1140/1225/6092 1134/1219/6093 -f 1134/1219/6094 1135/1218/6095 1141/1224/6096 -f 1142/1349/6097 1145/2379/6098 1144/1347/6099 -f 1144/1347/6100 1143/1348/6101 1142/1349/6102 -f 1146/2380/6103 1147/2381/6104 1145/2379/6105 -f 1145/2379/6106 1142/1349/6107 1146/2380/6108 -f 1126/1210/6109 1130/1217/6110 1131/1216/6111 -f 1131/1216/6112 1125/1211/6113 1126/1210/6114 -f 1125/1211/6115 1131/1216/6116 1134/1219/6117 -f 1134/1219/6118 1124/1207/6119 1125/1211/6120 -f 1148/1232/6121 1136/1221/6122 1130/1217/6123 -f 1130/1217/6124 1126/1210/6125 1148/1232/6126 -f 1145/2379/6127 1150/2384/6128 1149/2382/6129 -f 1149/2382/6130 1144/1347/6131 1145/2379/6132 -f 1147/2381/6133 1151/2385/6134 1150/2384/6135 -f 1150/2384/6136 1145/2379/6137 1147/2381/6138 -f 1124/1207/6139 1134/1219/6140 1140/1225/6141 -f 1140/1225/6142 1123/1208/6143 1124/1207/6144 -f 1142/1349/6145 1143/1348/6146 1152/2386/6147 -f 1152/2386/6148 1153/2387/6149 1142/1349/6150 -f 1146/2380/6151 1142/1349/6152 1153/2387/6153 -f 1153/2387/6154 1122/2388/6155 1146/2380/6156 -f 1147/2381/6157 1146/2380/6158 1122/2388/6159 -f 1122/2388/6160 1123/2389/6161 1147/2381/6162 -f 1151/2385/6163 1147/2381/6164 1123/2389/6165 -f 1123/2389/6166 1140/1346/6167 1151/2385/6168 -f 1150/2384/6169 1151/2385/6170 1140/1346/6171 -f 1140/1346/6172 1138/1344/6173 1150/2384/6174 -f 1149/2382/6175 1150/2384/6176 1138/1344/6177 -f 1138/1344/6178 1136/1343/6179 1149/2382/6180 -f 1144/1347/6181 1149/2382/6182 1136/1343/6183 -f 1136/1343/6184 1148/2390/6185 1144/1347/6186 -f 1143/1348/6187 1144/1347/6188 1148/2390/6189 -f 1148/2390/6190 1152/2386/6191 1143/1348/6192 -f 707/793/6193 1155/1239/6194 1154/1238/6195 -f 1154/1238/6196 706/790/6197 707/793/6198 -f 1128/1213/6199 1156/1240/6200 1155/1239/6201 -f 1155/1239/6202 707/793/6203 1128/1213/6204 -f 1154/1238/6205 1157/1241/6206 708/791/6207 -f 708/791/6208 706/790/6209 1154/1238/6210 -f 1159/2393/6211 1158/2394/6212 1161/2391/6213 -f 1161/2391/6214 1160/2392/6215 1159/2393/6216 -f 1158/2394/6217 1162/2396/6218 1163/2395/6219 -f 1163/2395/6220 1161/2391/6221 1158/2394/6222 -f 1164/1248/6223 1156/1240/6224 1128/1213/6225 -f 1128/1213/6226 1127/1212/6227 1164/1248/6228 -f 1133/1214/6229 1166/1250/6230 1165/1249/6231 -f 1165/1249/6232 1132/1215/6233 1133/1214/6234 -f 1132/1215/6235 1165/1249/6236 1167/1251/6237 -f 1167/1251/6238 1135/1218/6239 1132/1215/6240 -f 1137/1220/6241 1168/1252/6242 1166/1250/6243 -f 1166/1250/6244 1133/1214/6245 1137/1220/6246 -f 1169/2399/6247 1172/2400/6248 1171/2397/6249 -f 1171/2397/6250 1170/2398/6251 1169/2399/6252 -f 1173/2401/6253 1174/2402/6254 1172/2400/6255 -f 1172/2400/6256 1169/2399/6257 1173/2401/6258 -f 1135/1218/6259 1167/1251/6260 1175/1259/6261 -f 1175/1259/6262 1141/1224/6263 1135/1218/6264 -f 1166/1250/6265 1154/1238/6266 1155/1239/6267 -f 1155/1239/6268 1165/1249/6269 1166/1250/6270 -f 1165/1249/6271 1155/1239/6272 1156/1240/6273 -f 1156/1240/6274 1167/1251/6275 1165/1249/6276 -f 1168/1252/6277 1157/1241/6278 1154/1238/6279 -f 1154/1238/6280 1166/1250/6281 1168/1252/6282 -f 1172/2400/6283 1177/2404/6284 1176/2403/6285 -f 1176/2403/6286 1171/2397/6287 1172/2400/6288 -f 1174/2402/6289 1178/2405/6290 1177/2404/6291 -f 1177/2404/6292 1172/2400/6293 1174/2402/6294 -f 1167/1251/6295 1156/1240/6296 1164/1248/6297 -f 1164/1248/6298 1175/1259/6299 1167/1251/6300 -f 1169/2399/6301 1170/2398/6302 1137/1342/6303 -f 1137/1342/6304 1139/1341/6305 1169/2399/6306 -f 1173/2401/6307 1169/2399/6308 1139/1341/6309 -f 1139/1341/6310 1141/1345/6311 1173/2401/6312 -f 1174/2402/6313 1173/2401/6314 1141/1345/6315 -f 1141/1345/6316 1175/2406/6317 1174/2402/6318 -f 1178/2405/6319 1174/2402/6320 1175/2406/6321 -f 1175/2406/6322 1164/2407/6323 1178/2405/6324 -f 1177/2404/6325 1178/2405/6326 1164/2407/6327 -f 1164/2407/6328 1179/2408/6329 1177/2404/6330 -f 1176/2403/6331 1177/2404/6332 1179/2408/6333 -f 1179/2408/6334 1157/2409/6335 1176/2403/6336 -f 1171/2397/6337 1176/2403/6338 1157/2409/6339 -f 1157/2409/6340 1168/2410/6341 1171/2397/6342 -f 1170/2398/6343 1171/2397/6344 1168/2410/6345 -f 1168/2410/6346 1137/1342/6347 1170/2398/6348 -f 1181/2413/6349 1180/2414/6350 1129/2411/6351 -f 1129/2411/6352 708/2412/6353 1181/2413/6354 -f 1182/2415/6355 1181/2413/6356 708/2412/6357 -f 708/2412/6358 1157/2409/6359 1182/2415/6360 -f 1183/2416/6361 1182/2415/6362 1157/2409/6363 -f 1157/2409/6364 1179/2408/6365 1183/2416/6366 -f 1184/2417/6367 1183/2416/6368 1179/2408/6369 -f 1179/2408/6370 1164/2407/6371 1184/2417/6372 -f 1185/2419/6373 1184/2417/6374 1164/2407/6375 -f 1164/2407/6376 1127/2418/6377 1185/2419/6378 -f 1180/2414/6379 1185/2419/6380 1127/2418/6381 -f 1127/2418/6382 1129/2411/6383 1180/2414/6384 -f 1160/2392/6385 1161/2391/6386 1180/2414/6387 -f 1180/2414/6388 1181/2413/6389 1160/2392/6390 -f 1159/2393/6391 1160/2392/6392 1181/2413/6393 -f 1181/2413/6394 1182/2415/6395 1159/2393/6396 -f 1158/2394/6397 1159/2393/6398 1182/2415/6399 -f 1182/2415/6400 1183/2416/6401 1158/2394/6402 -f 1162/2396/6403 1158/2394/6404 1183/2416/6405 -f 1183/2416/6406 1184/2417/6407 1162/2396/6408 -f 1163/2395/6409 1162/2396/6410 1184/2417/6411 -f 1184/2417/6412 1185/2419/6413 1163/2395/6414 -f 1161/2391/6415 1163/2395/6416 1185/2419/6417 -f 1185/2419/6418 1180/2414/6419 1161/2391/6420 -f 741/824/6421 742/823/6422 1186/1270/6423 -f 1186/1270/6424 1187/1271/6425 741/824/6426 -f 1188/1274/6427 1191/1275/6428 1190/1272/6429 -f 1190/1272/6430 1189/1273/6431 1188/1274/6432 -f 1192/1276/6433 1112/1200/6434 712/795/6435 -f 712/795/6436 715/799/6437 1192/1276/6438 -f 1110/2420/6439 729/812/6440 730/811/6441 -f 730/811/6442 851/1337/6443 1110/2420/6444 -f 1194/2423/6445 1193/2424/6446 704/2421/6447 -f 704/2421/6448 705/2422/6449 1194/2423/6450 -f 728/813/6451 1114/1339/6452 1109/1336/6453 -f 1109/1336/6454 727/814/6455 728/813/6456 -f 1197/2426/6457 1196/2427/6458 1195/2425/6459 -f 1195/2425/6460 726/807/6461 1197/2426/6462 -f 725/808/6463 726/807/6464 1195/2425/6465 -f 1195/2425/6466 1115/1340/6467 725/808/6468 -f 1198/2430/6469 1118/2431/6470 1119/2428/6471 -f 1119/2428/6472 1199/2429/6473 1198/2430/6474 -f 1113/1338/6475 724/809/6476 1108/1335/6477 -f 1108/1335/6478 1107/1334/6479 1113/1338/6480 -f 1197/2426/6481 726/807/6482 723/810/6483 -f 723/810/6484 1200/2432/6485 1197/2426/6486 -f 1113/1338/6487 1201/2433/6488 723/810/6489 -f 723/810/6490 724/809/6491 1113/1338/6492 -f 1202/1277/6493 1186/1270/6494 742/823/6495 -f 742/823/6496 763/841/6497 1202/1277/6498 -f 853/939/6499 1203/1286/6500 1202/1277/6501 -f 1202/1277/6502 763/841/6503 853/939/6504 -f 1106/1332/6505 1115/1340/6506 1203/2434/6507 -f 1203/2434/6508 853/1333/6509 1106/1332/6510 -f 1204/1287/6511 1192/1276/6512 715/799/6513 -f 715/799/6514 716/798/6515 1204/1287/6516 -f 1205/2435/6517 1199/2429/6518 1115/1340/6519 -f 1115/1340/6520 1195/2425/6521 1205/2435/6522 -f 1206/2436/6523 1205/2435/6524 1195/2425/6525 -f 1195/2425/6526 1196/2427/6527 1206/2436/6528 -f 1207/2438/6529 1206/2436/6530 1196/2427/6531 -f 1196/2427/6532 1208/2437/6533 1207/2438/6534 -f 1209/2440/6535 1207/2438/6536 1208/2437/6537 -f 1208/2437/6538 1191/2439/6539 1209/2440/6540 -f 1210/1288/6541 1209/1293/6542 1191/1275/6543 -f 1191/1275/6544 1188/1274/6545 1210/1288/6546 -f 1187/1271/6547 1211/1294/6548 1204/1287/6549 -f 1204/1287/6550 716/798/6551 1187/1271/6552 -f 1211/1294/6553 1210/1288/6554 1188/1274/6555 -f 1188/1274/6556 1204/1287/6557 1211/1294/6558 -f 1213/1295/6559 1212/1296/6560 1120/1206/6561 -f 1120/1206/6562 1121/1205/6563 1213/1295/6564 -f 1153/2387/6565 1152/2386/6566 1206/2436/6567 -f 1206/2436/6568 1207/2438/6569 1153/2387/6570 -f 1209/2440/6571 1122/2388/6572 1153/2387/6573 -f 1153/2387/6574 1207/2438/6575 1209/2440/6576 -f 1214/1297/6577 1122/1209/6578 1209/1293/6579 -f 1209/1293/6580 1210/1288/6581 1214/1297/6582 -f 1211/1294/6583 1213/1295/6584 1214/1297/6585 -f 1214/1297/6586 1210/1288/6587 1211/1294/6588 -f 1187/1271/6589 1212/1296/6590 1213/1295/6591 -f 1213/1295/6592 1211/1294/6593 1187/1271/6594 -f 1186/1270/6595 1120/1206/6596 1212/1296/6597 -f 1212/1296/6598 1187/1271/6599 1186/1270/6600 -f 1203/1286/6601 1119/1202/6602 1116/1201/6603 -f 1116/1201/6604 1202/1277/6605 1203/1286/6606 -f 1199/2429/6607 1119/2428/6608 1203/2434/6609 -f 1203/2434/6610 1115/1340/6611 1199/2429/6612 -f 1206/2436/6613 1152/2386/6614 1215/2441/6615 -f 1215/2441/6616 1205/2435/6617 1206/2436/6618 -f 1116/1201/6619 1120/1206/6620 1186/1270/6621 -f 1186/1270/6622 1202/1277/6623 1116/1201/6624 -f 1198/2430/6625 1199/2429/6626 1205/2435/6627 -f 1205/2435/6628 1215/2441/6629 1198/2430/6630 -f 1198/2430/6631 1215/2441/6632 1216/2442/6633 -f 1216/2442/6634 1118/2431/6635 1198/2430/6636 -f 702/789/6637 703/788/6638 1217/1298/6639 -f 1217/1298/6640 1218/1300/6641 702/789/6642 -f 755/839/6643 756/836/6644 719/803/6645 -f 719/803/6646 1111/1196/6647 755/839/6648 -f 1194/2423/6649 729/812/6650 1110/2420/6651 -f 1110/2420/6652 1193/2424/6653 1194/2423/6654 -f 1219/1301/6655 1193/1302/6656 1110/1195/6657 -f 1110/1195/6658 1111/1196/6659 1219/1301/6660 -f 717/802/6661 1219/1301/6662 1111/1196/6663 -f 1111/1196/6664 719/803/6665 717/802/6666 -f 716/798/6667 713/801/6668 741/824/6669 -f 741/824/6670 1187/1271/6671 716/798/6672 -f 715/799/6673 712/795/6674 709/794/6675 -f 709/794/6676 714/800/6677 715/799/6678 -f 1112/1200/6679 1192/1276/6680 1189/1273/6681 -f 1189/1273/6682 1220/1303/6683 1112/1200/6684 -f 1204/1287/6685 1188/1274/6686 1189/1273/6687 -f 1189/1273/6688 1192/1276/6689 1204/1287/6690 -f 1217/1298/6691 1221/1304/6692 1220/1303/6693 -f 1220/1303/6694 1218/1300/6695 1217/1298/6696 -f 703/788/6697 704/787/6698 1193/1302/6699 -f 1193/1302/6700 1219/1301/6701 703/788/6702 -f 717/802/6703 1217/1298/6704 703/788/6705 -f 703/788/6706 1219/1301/6707 717/802/6708 -f 1221/1304/6709 1217/1298/6710 717/802/6711 -f 717/802/6712 718/804/6713 1221/1304/6714 -f 1112/1200/6715 1220/1303/6716 1221/1304/6717 -f 1221/1304/6718 718/804/6719 1112/1200/6720 -f 1190/1272/6721 1218/1300/6722 1220/1303/6723 -f 1220/1303/6724 1189/1273/6725 1190/1272/6726 -f 1223/2444/6727 1222/2445/6728 705/2574/6729 -f 705/2574/6730 702/2443/6731 1223/2444/6732 -f 1224/2447/6733 1223/2444/6734 702/2443/6735 -f 702/2443/6736 1218/2446/6737 1224/2447/6738 -f 1225/2449/6739 1224/2447/6740 1218/2446/6741 -f 1218/2446/6742 1190/2448/6743 1225/2449/6744 -f 1226/2450/6745 1225/2449/6746 1190/2448/6747 -f 1190/2448/6748 1191/2439/6749 1226/2450/6750 -f 1227/2451/6751 1226/2450/6752 1191/2439/6753 -f 1191/2439/6754 1208/2437/6755 1227/2451/6756 -f 1228/2452/6757 1227/2451/6758 1208/2437/6759 -f 1208/2437/6760 1196/2427/6761 1228/2452/6762 -f 1229/2453/6763 1228/2452/6764 1196/2427/6765 -f 1196/2427/6766 1197/2426/6767 1229/2453/6768 -f 1230/2454/6769 1229/2453/6770 1197/2426/6771 -f 1197/2426/6772 1200/2432/6773 1230/2454/6774 -f 1231/2456/6775 1230/2454/6776 1200/2432/6777 -f 1200/2432/6778 1232/2455/6779 1231/2456/6780 -f 1194/2423/6781 705/2422/6782 1233/2457/6783 -f 1233/2457/6784 1234/2458/6785 1194/2423/6786 -f 1201/2433/6787 1232/2455/6788 1200/2432/6789 -f 1200/2432/6790 723/810/6791 1201/2433/6792 -f 1235/2460/6793 1222/2445/6794 1223/2444/6795 -f 1223/2444/6796 1236/2459/6797 1235/2460/6798 -f 1237/2461/6799 1236/2459/6800 1223/2444/6801 -f 1223/2444/6802 1224/2447/6803 1237/2461/6804 -f 1237/2461/6805 1224/2447/6806 1225/2449/6807 -f 1225/2449/6808 1238/2462/6809 1237/2461/6810 -f 1238/2462/6811 1225/2449/6812 1226/2450/6813 -f 1226/2450/6814 1239/2463/6815 1238/2462/6816 -f 1239/2463/6817 1226/2450/6818 1227/2451/6819 -f 1227/2451/6820 1240/2464/6821 1239/2463/6822 -f 1241/2465/6823 1240/2464/6824 1227/2451/6825 -f 1227/2451/6826 1228/2452/6827 1241/2465/6828 -f 1242/2466/6829 1241/2465/6830 1228/2452/6831 -f 1228/2452/6832 1229/2453/6833 1242/2466/6834 -f 1243/2467/6835 1242/2466/6836 1229/2453/6837 -f 1229/2453/6838 1230/2454/6839 1243/2467/6840 -f 1243/2467/6841 1230/2454/6842 1231/2456/6843 -f 1231/2456/6844 1244/2468/6845 1243/2467/6846 -f 1244/2468/6847 1231/2456/6848 1222/2575/6849 -f 1222/2575/6850 1235/2576/6851 1244/2468/6852 -f 1213/1295/6853 1121/1205/6854 1122/1209/6855 -f 1122/1209/6856 1214/1297/6857 1213/1295/6858 -f 1118/1203/6859 1216/1305/6860 1148/1232/6861 -f 1148/1232/6862 1126/1210/6863 1118/1203/6864 -f 1148/2390/6865 1216/2442/6866 1215/2441/6867 -f 1215/2441/6868 1152/2386/6869 1148/2390/6870 -f 1247/2471/6871 1246/2472/6872 1245/2469/6873 -f 1245/2469/6874 1248/2470/6875 1247/2471/6876 -f 1250/2473/6877 1249/2474/6878 1247/2471/6879 -f 1247/2471/6880 1248/2470/6881 1250/2473/6882 -f 1251/2476/6883 1249/2474/6884 1250/2473/6885 -f 1250/2473/6886 1252/2475/6887 1251/2476/6888 -f 1246/2578/6889 1261/2478/6890 1260/2477/6891 -f 1260/2477/6892 1245/2577/6893 1246/2578/6894 -f 1194/2423/6895 1234/2458/6896 728/813/6897 -f 728/813/6898 729/812/6899 1194/2423/6900 -f 1262/2479/6901 1114/1339/6902 728/813/6903 -f 728/813/6904 1234/2458/6905 1262/2479/6906 -f 1114/1339/6907 1262/2479/6908 1201/2433/6909 -f 1201/2433/6910 1113/1338/6911 1114/1339/6912 -f 1263/2480/6913 1262/2479/6914 1234/2458/6915 -f 1234/2458/6916 1233/2457/6917 1263/2480/6918 -f 1264/2481/6919 1233/2457/6920 705/2422/6921 -f 705/2422/6922 1222/2575/6923 1264/2481/6924 -f 1231/2456/6925 1265/2482/6926 1264/2481/6927 -f 1264/2481/6928 1222/2575/6929 1231/2456/6930 -f 1263/2480/6931 1233/2457/6932 1264/2481/6933 -f 1264/2481/6934 1265/2482/6935 1263/2480/6936 -f 1232/2455/6937 1263/2480/6938 1265/2482/6939 -f 1265/2482/6940 1231/2456/6941 1232/2455/6942 -f 1262/2479/6943 1263/2480/6944 1232/2455/6945 -f 1232/2455/6946 1201/2433/6947 1262/2479/6948 -f 1260/2477/6949 1258/2483/6950 1243/2467/6951 -f 1243/2467/6952 1244/2468/6953 1260/2477/6954 -f 1257/2484/6955 1242/2466/6956 1243/2467/6957 -f 1243/2467/6958 1258/2483/6959 1257/2484/6960 -f 1256/2486/6961 1241/2465/6962 1242/2466/6963 -f 1242/2466/6964 1257/2484/6965 1256/2486/6966 -f 1255/2487/6967 1240/2464/6968 1241/2465/6969 -f 1241/2465/6970 1256/2486/6971 1255/2487/6972 -f 1254/2488/6973 1239/2463/6974 1240/2464/6975 -f 1240/2464/6976 1255/2487/6977 1254/2488/6978 -f 1252/2475/6979 1254/2488/6980 1253/2489/6981 -f 1253/2489/6982 1251/2476/6983 1252/2475/6984 -f 1237/2461/6985 1238/2462/6986 1252/2475/6987 -f 1252/2475/6988 1250/2473/6989 1237/2461/6990 -f 1236/2459/6991 1237/2461/6992 1250/2473/6993 -f 1250/2473/6994 1248/2470/6995 1236/2459/6996 -f 1245/2469/6997 1235/2460/6998 1236/2459/6999 -f 1236/2459/7000 1248/2470/7001 1245/2469/7002 -f 1244/2468/7003 1235/2576/7004 1245/2577/7005 -f 1245/2577/7006 1260/2477/7007 1244/2468/7008 -f 1260/2477/7009 1261/2478/7010 1259/2490/7011 -f 1259/2490/7012 1258/2483/7013 1260/2477/7014 -f 1252/2475/7015 1238/2462/7016 1239/2463/7017 -f 1239/2463/7018 1254/2488/7019 1252/2475/7020 -f 587/1398/7021 437/519/7022 443/526/7023 -f 443/526/7024 444/525/7025 587/1398/7026 -f 645/734/7027 640/729/7028 450/535/7029 -f 450/535/7030 451/534/7031 645/734/7032 -f 621/709/7033 624/713/7034 650/739/7035 -f 650/739/7036 620/710/7037 621/709/7038 -f 622/711/7039 623/714/7040 624/2605/7041 -f 624/2605/7042 621/2603/7043 622/711/7044 -f 424/507/7045 420/504/7046 629/718/7047 -f 629/718/7048 622/711/7049 424/507/7050 -f 420/504/7051 421/503/7052 632/721/7053 -f 632/721/7054 629/718/7055 420/504/7056 -f 421/503/7057 604/690/7058 635/724/7059 -f 635/724/7060 632/721/7061 421/503/7062 -f 604/690/7063 605/691/7064 638/727/7065 -f 638/727/7066 635/724/7067 604/690/7068 -f 605/691/7069 449/533/7070 450/535/7071 -f 450/535/7072 638/727/7073 605/691/7074 -f 651/740/7075 617/706/7076 618/707/7077 -f 618/707/7078 620/710/7079 651/740/7080 -f 451/534/7081 446/532/7082 617/706/7083 -f 617/706/7084 651/740/7085 451/534/7086 -f 607/693/7087 608/2569/7088 448/530/7089 -f 448/530/7090 449/533/7091 607/693/7092 -f 642/730/7093 1266/2570/7094 671/759/7095 -f 671/759/7096 641/731/7097 642/730/7098 -f 643/733/7099 1267/2571/7100 1266/2570/7101 -f 1266/2570/7102 642/730/7103 643/733/7104 -f 1268/2572/7105 1267/2571/7106 643/733/7107 -f 643/733/7108 646/736/7109 1268/2572/7110 -f 655/746/7111 1268/2572/7112 646/736/7113 -f 646/736/7114 652/741/7115 655/746/7116 -f 654/2607/7117 655/746/7118 652/741/7119 -f 652/741/7120 653/742/7121 654/2607/7122 -f 653/2606/7123 625/712/7124 626/715/7125 -f 626/715/7126 660/749/7127 653/2606/7128 -f 626/715/7129 627/716/7130 663/752/7131 -f 663/752/7132 660/749/7133 626/715/7134 -f 627/716/7135 630/719/7136 666/755/7137 -f 666/755/7138 663/752/7139 627/716/7140 -f 630/719/7141 633/722/7142 669/758/7143 -f 669/758/7144 666/755/7145 630/719/7146 -f 633/722/7147 636/725/7148 641/731/7149 -f 641/731/7150 669/758/7151 633/722/7152 -f 657/744/7153 688/776/7154 686/775/7155 -f 686/775/7156 656/745/7157 657/744/7158 -f 658/748/7159 690/778/7160 688/2609/7161 -f 688/2609/7162 657/2608/7163 658/748/7164 -f 661/751/7165 692/1351/7166 690/778/7167 -f 690/778/7168 658/748/7169 661/751/7170 -f 664/754/7171 694/2566/7172 692/1351/7173 -f 692/1351/7174 661/751/7175 664/754/7176 -f 673/762/7177 694/2566/7178 664/754/7179 -f 664/754/7180 667/757/7181 673/762/7182 -f 672/763/7183 673/762/7184 667/757/7185 -f 667/757/7186 670/760/7187 672/763/7188 -f 671/759/7189 1266/2570/7190 678/767/7191 -f 678/767/7192 670/760/7193 671/759/7194 -f 1266/2570/7195 1267/2571/7196 681/770/7197 -f 681/770/7198 678/767/7199 1266/2570/7200 -f 1267/2571/7201 1268/2572/7202 684/773/7203 -f 684/773/7204 681/770/7205 1267/2571/7206 -f 684/773/7207 1268/2572/7208 655/746/7209 -f 655/746/7210 656/745/7211 684/773/7212 -f 1270/1432/7213 1269/478/7214 397/475/7215 -f 397/475/7216 1271/1431/7217 1270/1432/7218 -f 1270/1432/7219 1271/1431/7220 1272/1543/7221 -f 1272/1543/7222 1273/1544/7223 1270/1432/7224 -f 1276/1360/7225 1275/1361/7226 1274/1358/7227 -f 1274/1358/7228 1277/1359/7229 1276/1360/7230 -f 1279/1362/7231 1278/1363/7232 1275/1361/7233 -f 1275/1361/7234 1276/1360/7235 1279/1362/7236 -f 1276/1360/7237 1277/1359/7238 1280/1364/7239 -f 1280/1364/7240 1279/1362/7241 1276/1360/7242 -f 1283/1367/7243 1282/1368/7244 1281/1365/7245 -f 1281/1365/7246 1284/1366/7247 1283/1367/7248 -f 1283/1367/7249 1284/1366/7250 1285/1369/7251 -f 1285/1369/7252 1286/1370/7253 1283/1367/7254 -f 1283/1367/7255 1286/1370/7256 1287/1371/7257 -f 1287/1371/7258 1288/1372/7259 1283/1367/7260 -f 1283/1367/7261 1288/1372/7262 1289/1373/7263 -f 1289/1373/7264 1290/1374/7265 1283/1367/7266 -f 1283/1367/7267 1290/1374/7268 1291/1375/7269 -f 1291/1375/7270 1282/1368/7271 1283/1367/7272 -f 1294/1376/7273 1293/1377/7274 1292/479/7275 -f 1292/479/7276 1295/686/7277 1294/1376/7278 -f 1294/1376/7279 1297/1379/7280 1296/1378/7281 -f 1296/1378/7282 1293/1377/7283 1294/1376/7284 -f 1300/1384/7285 1299/1385/7286 1298/1382/7287 -f 1298/1382/7288 1301/1383/7289 1300/1384/7290 -f 1303/2586/7291 1302/1387/7292 1299/1385/7293 -f 1299/1385/7294 1300/1384/7295 1303/2586/7296 -f 1300/1570/7297 1301/1571/7298 1304/1541/7299 -f 1304/1541/7300 1303/1542/7301 1300/1570/7302 -f 1307/1547/7303 1306/1548/7304 1305/1545/7305 -f 1305/1545/7306 1308/1546/7307 1307/1547/7308 -f 1307/1547/7309 1310/1551/7310 1309/1550/7311 -f 1309/1550/7312 1306/1548/7313 1307/1547/7314 -f 1307/1547/7315 1308/1546/7316 1273/1544/7317 -f 1273/1544/7318 1311/1552/7319 1307/1547/7320 -f 1308/1546/7321 1305/1545/7322 1312/1553/7323 -f 1312/1553/7324 1313/1554/7325 1308/1546/7326 -f 1316/1557/7327 1315/1558/7328 1314/1555/7329 -f 1314/1555/7330 1317/1556/7331 1316/1557/7332 -f 1317/1556/7333 1312/1553/7334 1305/1545/7335 -f 1305/1545/7336 1316/1557/7337 1317/1556/7338 -f 1317/1556/7339 1314/1555/7340 1318/1559/7341 -f 1318/1559/7342 1312/1553/7343 1317/1556/7344 -f 1321/1403/7345 1320/1404/7346 1319/1380/7347 -f 1319/1380/7348 1322/1381/7349 1321/1403/7350 -f 1323/1406/7351 1321/1403/7352 1322/1381/7353 -f 1322/1381/7354 1324/1405/7355 1323/1406/7356 -f 1306/1548/7357 1309/1550/7358 1316/1557/7359 -f 1316/1557/7360 1305/1545/7361 1306/1548/7362 -f 1327/1562/7363 1326/1563/7364 1325/1560/7365 -f 1325/1560/7366 1328/1561/7367 1327/1562/7368 -f 1327/1562/7369 1330/1566/7370 1329/1564/7371 -f 1329/1564/7372 1331/1565/7373 1327/1562/7374 -f 1327/1562/7375 1331/1565/7376 1332/1567/7377 -f 1332/1567/7378 1326/1563/7379 1327/1562/7380 -f 1334/1418/7381 1333/1419/7382 1329/1413/7383 -f 1329/1413/7384 1335/1417/7385 1334/1418/7386 -f 1334/1418/7387 1274/1358/7388 1275/1361/7389 -f 1275/1361/7390 1278/1363/7391 1334/1418/7392 -f 1334/1418/7393 1278/1363/7394 1336/1420/7395 -f 1336/1420/7396 1333/1419/7397 1334/1418/7398 -f 1290/1374/7399 1289/1373/7400 1337/1421/7401 -f 1337/1421/7402 1291/1375/7403 1290/1374/7404 -f 1335/1569/7405 1329/1564/7406 1330/1566/7407 -f 1330/1566/7408 1338/1568/7409 1335/1569/7410 -f 1335/1417/7411 1338/1423/7412 1339/1422/7413 -f 1339/1422/7414 1334/1418/7415 1335/1417/7416 -f 1342/1408/7417 1341/1424/7418 1340/1407/7419 -f 1340/1407/7420 1297/1379/7421 1342/1408/7422 -f 1345/1574/7423 1344/1575/7424 1343/1572/7425 -f 1343/1572/7426 1346/1573/7427 1345/1574/7428 -f 1345/1687/7429 1346/2491/7430 1347/1598/7431 -f 1347/1598/7432 1348/1686/7433 1345/1687/7434 -f 1346/1573/7435 1343/1572/7436 1349/1576/7437 -f 1349/1576/7438 1350/1577/7439 1346/1573/7440 -f 1346/2491/7441 1350/2493/7442 1351/2492/7443 -f 1351/2492/7444 1347/1598/7445 1346/2491/7446 -f 1351/1435/7447 1350/1436/7448 1352/1433/7449 -f 1352/1433/7450 1353/1434/7451 1351/1435/7452 -f 1351/1435/7453 1353/1434/7454 1339/1422/7455 -f 1339/1422/7456 1338/1423/7457 1351/1435/7458 -f 1351/2492/7459 1338/1568/7460 1330/1566/7461 -f 1330/1566/7462 1347/1598/7463 1351/2492/7464 -f 1353/1434/7465 1352/1433/7466 1354/1437/7467 -f 1354/1437/7468 1355/1438/7469 1353/1434/7470 -f 1353/1434/7471 1355/1438/7472 1356/1439/7473 -f 1356/1439/7474 1339/1422/7475 1353/1434/7476 -f 1356/1439/7477 1355/1438/7478 1357/1440/7479 -f 1357/1440/7480 1358/1441/7481 1356/1439/7482 -f 1356/1439/7483 1358/1441/7484 1277/1359/7485 -f 1277/1359/7486 1274/1358/7487 1356/1439/7488 -f 1356/1439/7489 1274/1358/7490 1334/1418/7491 -f 1334/1418/7492 1339/1422/7493 1356/1439/7494 -f 1358/1441/7495 1357/1440/7496 1359/1442/7497 -f 1359/1442/7498 1360/1443/7499 1358/1441/7500 -f 1358/1441/7501 1360/1443/7502 1361/1444/7503 -f 1361/1444/7504 1277/1359/7505 1358/1441/7506 -f 1361/1444/7507 1360/1443/7508 1362/1445/7509 -f 1362/1445/7510 1363/1446/7511 1361/1444/7512 -f 1361/1444/7513 1363/1446/7514 1364/1447/7515 -f 1364/1447/7516 1365/1448/7517 1361/1444/7518 -f 1361/1444/7519 1365/1448/7520 1280/1364/7521 -f 1280/1364/7522 1277/1359/7523 1361/1444/7524 -f 1365/1448/7525 1364/1447/7526 1366/1449/7527 -f 1366/1449/7528 1337/1421/7529 1365/1448/7530 -f 1365/1448/7531 1337/1421/7532 1289/1373/7533 -f 1289/1373/7534 1280/1364/7535 1365/1448/7536 -f 1364/1447/7537 1363/1446/7538 1367/1450/7539 -f 1367/1450/7540 1368/1451/7541 1364/1447/7542 -f 1364/1447/7543 1368/1451/7544 1369/1452/7545 -f 1369/1452/7546 1366/1449/7547 1364/1447/7548 -f 1368/1451/7549 1367/1450/7550 1370/1453/7551 -f 1370/1453/7552 1371/1454/7553 1368/1451/7554 -f 1368/1451/7555 1371/1454/7556 1372/1455/7557 -f 1372/1455/7558 1369/1452/7559 1368/1451/7560 -f 1372/1455/7561 1371/1454/7562 1373/1456/7563 -f 1373/1456/7564 1374/1457/7565 1372/1455/7566 -f 1372/1455/7567 1374/1457/7568 1375/1458/7569 -f 1375/1458/7570 1376/1459/7571 1372/1455/7572 -f 1372/1455/7573 1376/1459/7574 1377/1460/7575 -f 1377/1460/7576 1369/1452/7577 1372/1455/7578 -f 1376/1459/7579 1375/1458/7580 1378/1461/7581 -f 1378/1461/7582 1379/1462/7583 1376/1459/7584 -f 1376/1459/7585 1379/1462/7586 1380/1463/7587 -f 1380/1463/7588 1377/1460/7589 1376/1459/7590 -f 1380/1463/7591 1382/1465/7592 1381/1464/7593 -f 1381/1464/7594 1377/1460/7595 1380/1463/7596 -f 1380/2589/7597 1379/2588/7598 1383/1466/7599 -f 1383/1466/7600 1384/1467/7601 1380/2589/7602 -f 1380/2589/7603 1384/1467/7604 1385/1468/7605 -f 1385/1468/7606 1382/2590/7607 1380/2589/7608 -f 1383/2591/7609 1379/1462/7610 1378/1461/7611 -f 1378/1461/7612 1386/1469/7613 1383/2591/7614 -f 1383/2591/7615 1386/1469/7616 1387/1470/7617 -f 1387/1470/7618 1388/1471/7619 1383/2591/7620 -f 1383/1466/7621 1388/2593/7622 1389/1472/7623 -f 1389/1472/7624 1384/1467/7625 1383/1466/7626 -f 1388/2593/7627 1387/2592/7628 1390/1473/7629 -f 1390/1473/7630 1391/1474/7631 1388/2593/7632 -f 1388/2593/7633 1391/1474/7634 1392/1475/7635 -f 1392/1475/7636 1389/1472/7637 1388/2593/7638 -f 1392/1475/7639 1394/1477/7640 1393/1476/7641 -f 1393/1476/7642 1389/1472/7643 1392/1475/7644 -f 1392/1475/7645 1391/1474/7646 1395/1478/7647 -f 1395/1478/7648 1396/1479/7649 1392/1475/7650 -f 1392/1475/7651 1396/1479/7652 1397/1480/7653 -f 1397/1480/7654 1394/1477/7655 1392/1475/7656 -f 1397/1480/7657 1399/1482/7658 1398/1481/7659 -f 1398/1481/7660 1394/1477/7661 1397/1480/7662 -f 1397/1480/7663 1396/1479/7664 1400/1483/7665 -f 1400/1483/7666 1401/1484/7667 1397/1480/7668 -f 1397/1480/7669 1401/1484/7670 1402/1485/7671 -f 1402/1485/7672 1399/1482/7673 1397/1480/7674 -f 1402/1485/7675 1404/1487/7676 1403/1486/7677 -f 1403/1486/7678 1399/1482/7679 1402/1485/7680 -f 1402/1485/7681 1401/1484/7682 1405/1488/7683 -f 1405/1488/7684 1359/1442/7685 1402/1485/7686 -f 1402/1485/7687 1359/1442/7688 1357/1440/7689 -f 1357/1440/7690 1404/1487/7691 1402/1485/7692 -f 1405/1488/7693 1401/1484/7694 1400/1483/7695 -f 1400/1483/7696 1406/1489/7697 1405/1488/7698 -f 1405/1488/7699 1406/1489/7700 1407/1490/7701 -f 1407/1490/7702 1362/1445/7703 1405/1488/7704 -f 1405/1488/7705 1362/1445/7706 1360/1443/7707 -f 1360/1443/7708 1359/1442/7709 1405/1488/7710 -f 1407/1490/7711 1406/1489/7712 1408/1491/7713 -f 1408/1491/7714 1409/1492/7715 1407/1490/7716 -f 1407/1490/7717 1409/1492/7718 1370/1453/7719 -f 1370/1453/7720 1367/1450/7721 1407/1490/7722 -f 1407/1490/7723 1367/1450/7724 1363/1446/7725 -f 1363/1446/7726 1362/1445/7727 1407/1490/7728 -f 1409/1492/7729 1408/1491/7730 1410/1493/7731 -f 1410/1493/7732 1411/1494/7733 1409/1492/7734 -f 1409/1492/7735 1411/1494/7736 1412/1495/7737 -f 1412/1495/7738 1370/1453/7739 1409/1492/7740 -f 1412/1495/7741 1411/1494/7742 1413/1496/7743 -f 1413/1496/7744 1414/1497/7745 1412/1495/7746 -f 1412/1495/7747 1414/1497/7748 1415/1498/7749 -f 1415/1498/7750 1373/1456/7751 1412/1495/7752 -f 1412/1495/7753 1373/1456/7754 1371/1454/7755 -f 1371/1454/7756 1370/1453/7757 1412/1495/7758 -f 1415/1498/7759 1416/1499/7760 1374/1457/7761 -f 1374/1457/7762 1373/1456/7763 1415/1498/7764 -f 1416/1499/7765 1417/1500/7766 1375/1458/7767 -f 1375/1458/7768 1374/1457/7769 1416/1499/7770 -f 1417/1500/7771 1418/1501/7772 1378/1461/7773 -f 1378/1461/7774 1375/1458/7775 1417/1500/7776 -f 1418/1501/7777 1419/1502/7778 1386/1469/7779 -f 1386/1469/7780 1378/1461/7781 1418/1501/7782 -f 1419/1502/7783 1420/1503/7784 1387/1470/7785 -f 1387/1470/7786 1386/1469/7787 1419/1502/7788 -f 1420/2594/7789 1421/1504/7790 1390/1473/7791 -f 1390/1473/7792 1387/2592/7793 1420/2594/7794 -f 1421/1504/7795 1423/1506/7796 1422/1505/7797 -f 1422/1505/7798 1390/1473/7799 1421/1504/7800 -f 1422/1505/7801 1395/1478/7802 1391/1474/7803 -f 1391/1474/7804 1390/1473/7805 1422/1505/7806 -f 1422/1505/7807 1423/1506/7808 1424/1507/7809 -f 1424/1507/7810 1425/1508/7811 1422/1505/7812 -f 1422/1505/7813 1425/1508/7814 1426/1509/7815 -f 1426/1509/7816 1395/1478/7817 1422/1505/7818 -f 1426/1509/7819 1400/1483/7820 1396/1479/7821 -f 1396/1479/7822 1395/1478/7823 1426/1509/7824 -f 1426/1509/7825 1425/1508/7826 1410/1493/7827 -f 1410/1493/7828 1408/1491/7829 1426/1509/7830 -f 1426/1509/7831 1408/1491/7832 1406/1489/7833 -f 1406/1489/7834 1400/1483/7835 1426/1509/7836 -f 1425/1508/7837 1424/1507/7838 1427/1510/7839 -f 1427/1510/7840 1410/1493/7841 1425/1508/7842 -f 1427/1510/7843 1413/1496/7844 1411/1494/7845 -f 1411/1494/7846 1410/1493/7847 1427/1510/7848 -f 1403/1486/7849 1429/1513/7850 1428/1511/7851 -f 1428/1511/7852 1430/1512/7853 1403/1486/7854 -f 1403/1486/7855 1430/1512/7856 1398/1481/7857 -f 1398/1481/7858 1399/1482/7859 1403/1486/7860 -f 1403/1486/7861 1404/1487/7862 1354/1437/7863 -f 1354/1437/7864 1429/1513/7865 1403/1486/7866 -f 1430/1512/7867 1428/1511/7868 1431/1514/7869 -f 1431/1514/7870 1432/1515/7871 1430/1512/7872 -f 1430/1512/7873 1432/1515/7874 1433/1516/7875 -f 1433/1516/7876 1398/1481/7877 1430/1512/7878 -f 1433/1516/7879 1432/1515/7880 1434/1517/7881 -f 1434/1517/7882 1435/1518/7883 1433/1516/7884 -f 1433/1516/7885 1435/1518/7886 1436/1519/7887 -f 1436/1519/7888 1393/1476/7889 1433/1516/7890 -f 1433/1516/7891 1393/1476/7892 1394/1477/7893 -f 1394/1477/7894 1398/1481/7895 1433/1516/7896 -f 1434/1517/7897 1298/1382/7898 1299/1385/7899 -f 1299/1385/7900 1437/1520/7901 1434/1517/7902 -f 1434/1517/7903 1437/1520/7904 1385/1468/7905 -f 1385/1468/7906 1435/1518/7907 1434/1517/7908 -f 1434/1517/7909 1432/1515/7910 1431/1514/7911 -f 1431/1514/7912 1298/1382/7913 1434/1517/7914 -f 1437/1520/7915 1299/1385/7916 1302/1387/7917 -f 1302/1387/7918 1438/1521/7919 1437/1520/7920 -f 1437/1520/7921 1438/1521/7922 1382/2590/7923 -f 1382/2590/7924 1385/1468/7925 1437/1520/7926 -f 1438/2595/7927 1302/2587/7928 1284/1366/7929 -f 1284/1366/7930 1281/1365/7931 1438/2595/7932 -f 1438/2595/7933 1281/1365/7934 1381/1464/7935 -f 1381/1464/7936 1382/1465/7937 1438/2595/7938 -f 1431/1514/7939 1439/1522/7940 1301/1383/7941 -f 1301/1383/7942 1298/1382/7943 1431/1514/7944 -f 1431/1514/7945 1428/1511/7946 1440/1523/7947 -f 1440/1523/7948 1439/1522/7949 1431/1514/7950 -f 1440/1580/7951 1442/1581/7952 1441/1578/7953 -f 1441/1578/7954 1439/1579/7955 1440/1580/7956 -f 1440/1523/7957 1428/1511/7958 1429/1513/7959 -f 1429/1513/7960 1443/1524/7961 1440/1523/7962 -f 1440/1580/7963 1443/1582/7964 1349/1576/7965 -f 1349/1576/7966 1442/1581/7967 1440/1580/7968 -f 1443/1524/7969 1429/1513/7970 1354/1437/7971 -f 1354/1437/7972 1352/1433/7973 1443/1524/7974 -f 1443/1524/7975 1352/1433/7976 1350/1436/7977 -f 1350/1436/7978 1349/1527/7979 1443/1524/7980 -f 1441/1578/7981 1445/1585/7982 1444/1583/7983 -f 1444/1583/7984 1446/1584/7985 1441/1578/7986 -f 1441/1578/7987 1446/1584/7988 1301/1571/7989 -f 1301/1571/7990 1439/1579/7991 1441/1578/7992 -f 1441/1578/7993 1442/1581/7994 1447/1586/7995 -f 1447/1586/7996 1445/1585/7997 1441/1578/7998 -f 1446/1584/7999 1444/1583/8000 1448/1587/8001 -f 1448/1587/8002 1449/1588/8003 1446/1584/8004 -f 1446/1584/8005 1449/1588/8006 1304/1541/8007 -f 1304/1541/8008 1301/1571/8009 1446/1584/8010 -f 1449/1588/8011 1448/1587/8012 1450/1690/8013 -f 1450/1690/8014 1451/1691/8015 1449/1588/8016 -f 1449/1588/8017 1451/1691/8018 1452/2536/8019 -f 1452/2536/8020 1304/1541/8021 1449/1588/8022 -f 1452/2536/8023 1451/1691/8024 1453/2537/8025 -f 1453/2537/8026 1454/2538/8027 1452/2536/8028 -f 1452/2536/8029 1454/2538/8030 1455/2539/8031 -f 1455/2539/8032 1456/2540/8033 1452/2536/8034 -f 1452/2536/8035 1456/2540/8036 1303/1542/8037 -f 1303/1542/8038 1304/1541/8039 1452/2536/8040 -f 1456/2540/8041 1455/2539/8042 1457/2541/8043 -f 1457/2541/8044 1458/2542/8045 1456/2540/8046 -f 1456/2540/8047 1458/2542/8048 1285/2543/8049 -f 1285/2543/8050 1303/1542/8051 1456/2540/8052 -f 1458/2497/8053 1457/2498/8054 1459/2495/8055 -f 1459/2495/8056 1460/2496/8057 1458/2497/8058 -f 1458/2497/8059 1460/2496/8060 1286/2499/8061 -f 1286/2499/8062 1285/2501/8063 1458/2497/8064 -f 1460/2496/8065 1459/2495/8066 1461/2502/8067 -f 1461/2502/8068 1462/2503/8069 1460/2496/8070 -f 1460/2496/8071 1462/2503/8072 1287/2504/8073 -f 1287/2504/8074 1286/2499/8075 1460/2496/8076 -f 1462/2503/8077 1461/2502/8078 1463/2505/8079 -f 1463/2505/8080 1464/2506/8081 1462/2503/8082 -f 1462/2503/8083 1464/2506/8084 1465/2507/8085 -f 1465/2507/8086 1287/2504/8087 1462/2503/8088 -f 1465/2507/8089 1464/2506/8090 1466/2508/8091 -f 1466/2508/8092 1336/2509/8093 1465/2507/8094 -f 1465/1549/8095 1336/1420/8096 1278/1363/8097 -f 1278/1363/8098 1279/1362/8099 1465/1549/8100 -f 1465/1549/8101 1279/1362/8102 1288/1372/8103 -f 1288/1372/8104 1287/1371/8105 1465/1549/8106 -f 1466/2508/8107 1464/2506/8108 1463/2505/8109 -f 1463/2505/8110 1467/2510/8111 1466/2508/8112 -f 1466/2508/8113 1467/2510/8114 1468/2511/8115 -f 1468/2511/8116 1469/2512/8117 1466/2508/8118 -f 1466/2508/8119 1469/2512/8120 1333/2513/8121 -f 1333/2513/8122 1336/2509/8123 1466/2508/8124 -f 1469/2512/8125 1468/2511/8126 1332/1567/8127 -f 1332/1567/8128 1331/1565/8129 1469/2512/8130 -f 1469/2512/8131 1331/1565/8132 1329/1564/8133 -f 1329/1564/8134 1333/2513/8135 1469/2512/8136 -f 1468/2511/8137 1467/2510/8138 1470/2514/8139 -f 1470/2514/8140 1471/2515/8141 1468/2511/8142 -f 1468/2511/8143 1471/2515/8144 1472/2516/8145 -f 1472/2516/8146 1332/1567/8147 1468/2511/8148 -f 1472/2516/8149 1471/2515/8150 1473/2517/8151 -f 1473/2517/8152 1474/2518/8153 1472/2516/8154 -f 1472/2516/8155 1474/2518/8156 1475/2519/8157 -f 1475/2519/8158 1476/2520/8159 1472/2516/8160 -f 1472/2516/8161 1476/2520/8162 1326/1563/8163 -f 1326/1563/8164 1332/1567/8165 1472/2516/8166 -f 1476/2520/8167 1475/2519/8168 1477/2521/8169 -f 1477/2521/8170 1478/2522/8171 1476/2520/8172 -f 1476/2520/8173 1478/2522/8174 1325/1560/8175 -f 1325/1560/8176 1326/1563/8177 1476/2520/8178 -f 1475/2519/8179 1474/2518/8180 1479/2523/8181 -f 1479/2523/8182 1480/2524/8183 1475/2519/8184 -f 1475/2519/8185 1480/2524/8186 1481/2525/8187 -f 1481/2525/8188 1477/2521/8189 1475/2519/8190 -f 1480/2524/8191 1479/2523/8192 1482/1392/8193 -f 1482/1392/8194 1483/1393/8195 1480/2524/8196 -f 1480/2524/8197 1483/1393/8198 1484/1394/8199 -f 1484/1394/8200 1481/2525/8201 1480/2524/8202 -f 1482/1392/8203 1479/2523/8204 1485/2526/8205 -f 1485/2526/8206 391/1396/8207 1482/1392/8208 -f 391/1396/8209 1485/2526/8210 1271/1431/8211 -f 1271/1431/8212 397/475/8213 391/1396/8214 -f 1485/2526/8215 1479/2523/8216 1474/2518/8217 -f 1474/2518/8218 1473/2517/8219 1485/2526/8220 -f 1485/2526/8221 1473/2517/8222 1272/1543/8223 -f 1272/1543/8224 1271/1431/8225 1485/2526/8226 -f 1473/2517/8227 1471/2515/8228 1470/2514/8229 -f 1470/2514/8230 1272/1543/8231 1473/2517/8232 -f 1470/2514/8233 1311/1552/8234 1273/1544/8235 -f 1273/1544/8236 1272/1543/8237 1470/2514/8238 -f 1470/2514/8239 1467/2510/8240 1463/2505/8241 -f 1463/2505/8242 1311/1552/8243 1470/2514/8244 -f 1463/2505/8245 1461/2502/8246 1307/1547/8247 -f 1307/1547/8248 1311/1552/8249 1463/2505/8250 -f 1461/2502/8251 1459/2495/8252 1310/1551/8253 -f 1310/1551/8254 1307/1547/8255 1461/2502/8256 -f 1459/2495/8257 1457/2498/8258 1486/2527/8259 -f 1486/2527/8260 1310/1551/8261 1459/2495/8262 -f 1486/2546/8263 1488/2547/8264 1487/2544/8265 -f 1487/2544/8266 1489/2545/8267 1486/2546/8268 -f 1486/2527/8269 1489/2528/8270 1309/1550/8271 -f 1309/1550/8272 1310/1551/8273 1486/2527/8274 -f 1486/2546/8275 1457/2541/8276 1455/2539/8277 -f 1455/2539/8278 1488/2547/8279 1486/2546/8280 -f 1487/2544/8281 1491/2550/8282 1490/2548/8283 -f 1490/2548/8284 1492/2549/8285 1487/2544/8286 -f 1487/2544/8287 1492/2549/8288 1315/2551/8289 -f 1315/2551/8290 1489/2545/8291 1487/2544/8292 -f 1487/2544/8293 1488/2547/8294 1493/2552/8295 -f 1493/2552/8296 1491/2550/8297 1487/2544/8298 -f 1493/2552/8299 1495/2554/8300 1494/2553/8301 -f 1494/2553/8302 1491/2550/8303 1493/2552/8304 -f 1493/2552/8305 1488/2547/8306 1455/2539/8307 -f 1455/2539/8308 1454/2538/8309 1493/2552/8310 -f 1493/2552/8311 1454/2538/8312 1453/2537/8313 -f 1453/2537/8314 1495/2554/8315 1493/2552/8316 -f 1494/2553/8317 1497/2557/8318 1496/2555/8319 -f 1496/2555/8320 1498/2556/8321 1494/2553/8322 -f 1494/2553/8323 1498/2556/8324 1490/2548/8325 -f 1490/2548/8326 1491/2550/8327 1494/2553/8328 -f 1494/2553/8329 1495/2554/8330 1499/2558/8331 -f 1499/2558/8332 1497/2557/8333 1494/2553/8334 -f 1499/2558/8335 1501/1428/8336 1500/1427/8337 -f 1500/1427/8338 1497/2557/8339 1499/2558/8340 -f 1499/2558/8341 1495/2554/8342 1453/2537/8343 -f 1453/2537/8344 1502/2559/8345 1499/2558/8346 -f 1499/2558/8347 1502/2559/8348 392/1430/8349 -f 392/1430/8350 1501/1428/8351 1499/2558/8352 -f 392/1430/8353 1502/2559/8354 1450/1690/8355 -f 1450/1690/8356 1503/1525/8357 392/1430/8358 -f 1503/1525/8359 1450/1690/8360 1448/1587/8361 -f 1448/1587/8362 599/1526/8363 1503/1525/8364 -f 599/1526/8365 1448/1587/8366 1444/1583/8367 -f 1444/1583/8368 1504/1528/8369 599/1526/8370 -f 1504/1528/8371 1444/1583/8372 1445/1585/8373 -f 1445/1585/8374 600/1529/8375 1504/1528/8376 -f 600/1529/8377 1445/1585/8378 1447/1586/8379 -f 1447/1586/8380 601/1530/8381 600/1529/8382 -f 1502/2559/8383 1453/2537/8384 1451/1691/8385 -f 1451/1691/8386 1450/1690/8387 1502/2559/8388 -f 1500/1427/8389 393/1531/8390 1496/2555/8391 -f 1496/2555/8392 1497/2557/8393 1500/1427/8394 -f 393/1531/8395 602/1533/8396 1294/2560/8397 -f 1294/2560/8398 1496/2555/8399 393/1531/8400 -f 1498/2556/8401 1496/2555/8402 1294/2560/8403 -f 1294/2560/8404 1295/2561/8405 1498/2556/8406 -f 1498/2556/8407 1295/2561/8408 1505/2562/8409 -f 1505/2562/8410 1490/2548/8411 1498/2556/8412 -f 1505/1426/8413 1295/686/8414 1292/479/8415 -f 1292/479/8416 1506/1425/8417 1505/1426/8418 -f 1505/1426/8419 1506/1425/8420 1507/1589/8421 -f 1507/1589/8422 1508/1590/8423 1505/1426/8424 -f 1505/2562/8425 1508/2563/8426 1492/2549/8427 -f 1492/2549/8428 1490/2548/8429 1505/2562/8430 -f 1509/1591/8431 1508/1590/8432 1507/1589/8433 -f 1507/1589/8434 1322/1381/8435 1509/1591/8436 -f 1508/2563/8437 1509/2564/8438 1315/2551/8439 -f 1315/2551/8440 1492/2549/8441 1508/2563/8442 -f 1509/2529/8443 1510/2530/8444 1314/1555/8445 -f 1314/1555/8446 1315/1558/8447 1509/2529/8448 -f 1510/1593/8449 1319/1380/8450 1320/1404/8451 -f 1320/1404/8452 1511/1592/8453 1510/1593/8454 -f 1510/2530/8455 1511/2531/8456 1318/1559/8457 -f 1318/1559/8458 1314/1555/8459 1510/2530/8460 -f 1511/1592/8461 1320/1404/8462 1512/1594/8463 -f 1512/1594/8464 1513/1595/8465 1511/1592/8466 -f 1511/2531/8467 1513/2533/8468 1514/2532/8469 -f 1514/2532/8470 1318/1559/8471 1511/2531/8472 -f 1514/2532/8473 1313/1554/8474 1312/1553/8475 -f 1312/1553/8476 1318/1559/8477 1514/2532/8478 -f 1514/2532/8479 1513/2533/8480 1515/1411/8481 -f 1515/1411/8482 613/1412/8483 1514/2532/8484 -f 1514/2532/8485 613/1412/8486 394/1414/8487 -f 394/1414/8488 1313/1554/8489 1514/2532/8490 -f 1515/1597/8491 1513/1595/8492 1512/1594/8493 -f 1512/1594/8494 395/1596/8495 1515/1597/8496 -f 395/1596/8497 1512/1594/8498 1516/1599/8499 -f 1516/1599/8500 1517/1600/8501 395/1596/8502 -f 1517/1600/8503 1516/1599/8504 1518/1601/8505 -f 1518/1601/8506 1519/1602/8507 1517/1600/8508 -f 1519/1602/8509 1518/1601/8510 1520/1603/8511 -f 1520/1603/8512 1521/1604/8513 1519/1602/8514 -f 1521/1604/8515 1520/1603/8516 1340/2611/8517 -f 1340/2611/8518 1341/2612/8519 1521/1604/8520 -f 1520/1603/8521 1518/1601/8522 1522/1605/8523 -f 1522/1605/8524 1523/1606/8525 1520/1603/8526 -f 1520/1603/8527 1523/1606/8528 1524/1607/8529 -f 1524/1607/8530 1340/2611/8531 1520/1603/8532 -f 1526/1608/8533 1525/1609/8534 1524/1607/8535 -f 1524/1607/8536 1523/1606/8537 1526/1608/8538 -f 1296/1378/8539 1524/2613/8540 1525/2614/8541 -f 1525/2614/8542 1527/1610/8543 1296/1378/8544 -f 1524/2613/8545 1296/1378/8546 1297/1379/8547 -f 1297/1379/8548 1340/1407/8549 1524/2613/8550 -f 1530/1613/8551 1529/2616/8552 1528/1611/8553 -f 1528/1611/8554 1531/1612/8555 1530/1613/8556 -f 1530/1613/8557 1531/1612/8558 1532/1615/8559 -f 1532/1615/8560 1533/1616/8561 1530/1613/8562 -f 1527/1610/8563 1530/1613/8564 1533/1616/8565 -f 1533/1616/8566 1534/1617/8567 1527/1610/8568 -f 1533/1616/8569 1532/1615/8570 1535/1618/8571 -f 1535/1618/8572 1536/1619/8573 1533/1616/8574 -f 1534/1617/8575 1533/1616/8576 1536/1619/8577 -f 1536/1619/8578 1537/1620/8579 1534/1617/8580 -f 1536/1619/8581 1535/1618/8582 1538/1621/8583 -f 1538/1621/8584 1539/1622/8585 1536/1619/8586 -f 1537/1620/8587 1536/1619/8588 1539/1622/8589 -f 1539/1622/8590 1540/1623/8591 1537/1620/8592 -f 1539/1622/8593 1538/1621/8594 1541/1624/8595 -f 1541/1624/8596 1542/1625/8597 1539/1622/8598 -f 1540/1623/8599 1539/1622/8600 1542/1625/8601 -f 1542/1625/8602 1543/1626/8603 1540/1623/8604 -f 1542/1625/8605 1541/1624/8606 1544/1627/8607 -f 1544/1627/8608 1545/1628/8609 1542/1625/8610 -f 1543/1626/8611 1542/1625/8612 1545/1628/8613 -f 1545/1628/8614 1324/1405/8615 1543/1626/8616 -f 1546/1630/8617 1544/1627/8618 1541/1624/8619 -f 1541/1624/8620 1547/1629/8621 1546/1630/8622 -f 1548/1632/8623 1544/1627/8624 1546/1630/8625 -f 1546/1630/8626 1549/1631/8627 1548/1632/8628 -f 1544/1627/8629 1548/1632/8630 1550/1633/8631 -f 1550/1633/8632 1545/1628/8633 1544/1627/8634 -f 1551/1635/8635 1548/1632/8636 1549/1631/8637 -f 1549/1631/8638 1552/1634/8639 1551/1635/8640 -f 1548/1632/8641 1551/1635/8642 1553/1636/8643 -f 1553/1636/8644 1550/1633/8645 1548/1632/8646 -f 1553/1636/8647 1551/1635/8648 1554/1637/8649 -f 1554/1637/8650 1555/1638/8651 1553/1636/8652 -f 1526/1608/8653 1556/1639/8654 1553/1636/8655 -f 1553/1636/8656 1555/1638/8657 1526/1608/8658 -f 1550/1633/8659 1553/1636/8660 1556/1639/8661 -f 1556/1639/8662 1323/1406/8663 1550/1633/8664 -f 1552/1634/8665 1557/1640/8666 1554/1637/8667 -f 1554/1637/8668 1551/1635/8669 1552/1634/8670 -f 1558/1641/8671 1528/2615/8672 1554/1637/8673 -f 1554/1637/8674 1557/1640/8675 1558/1641/8676 -f 1554/1637/8677 1528/2615/8678 1529/1614/8679 -f 1529/1614/8680 1555/1638/8681 1554/1637/8682 -f 1561/1644/8683 1560/1645/8684 1559/2618/8685 -f 1559/2618/8686 1562/1643/8687 1561/1644/8688 -f 1563/1647/8689 1559/1642/8690 1560/2619/8691 -f 1560/2619/8692 1564/1646/8693 1563/1647/8694 -f 1558/2617/8695 1559/1642/8696 1563/1647/8697 -f 1563/1647/8698 1565/1648/8699 1558/2617/8700 -f 1566/1650/8701 1563/1647/8702 1564/1646/8703 -f 1564/1646/8704 1567/1649/8705 1566/1650/8706 -f 1565/1648/8707 1563/1647/8708 1566/1650/8709 -f 1566/1650/8710 1568/1651/8711 1565/1648/8712 -f 1569/1653/8713 1566/1650/8714 1567/1649/8715 -f 1567/1649/8716 1570/1652/8717 1569/1653/8718 -f 1568/1651/8719 1566/1650/8720 1569/1653/8721 -f 1569/1653/8722 1571/1654/8723 1568/1651/8724 -f 1573/1655/8725 1572/1656/8726 1569/1653/8727 -f 1569/1653/8728 1570/1652/8729 1573/1655/8730 -f 1571/1654/8731 1569/1653/8732 1572/1656/8733 -f 1572/1656/8734 1574/1657/8735 1571/1654/8736 -f 1576/1658/8737 1575/1659/8738 1572/1656/8739 -f 1572/1656/8740 1573/1655/8741 1576/1658/8742 -f 1547/1629/8743 1574/1657/8744 1572/1656/8745 -f 1572/1656/8746 1575/1659/8747 1547/1629/8748 -f 1579/1662/8749 1578/1663/8750 1577/1660/8751 -f 1577/1660/8752 1580/1661/8753 1579/1662/8754 -f 1579/1662/8755 1580/1661/8756 1581/1664/8757 -f 1581/1664/8758 1582/1665/8759 1579/1662/8760 -f 1576/1658/8761 1579/1662/8762 1582/1665/8763 -f 1582/1665/8764 1583/1666/8765 1576/1658/8766 -f 1582/1665/8767 1581/1664/8768 1584/1667/8769 -f 1584/1667/8770 1585/1668/8771 1582/1665/8772 -f 1583/1666/8773 1582/1665/8774 1585/1668/8775 -f 1585/1668/8776 1586/1669/8777 1583/1666/8778 -f 1585/1668/8779 1584/1667/8780 1587/1670/8781 -f 1587/1670/8782 1588/1671/8783 1585/1668/8784 -f 1586/1669/8785 1585/1668/8786 1588/1671/8787 -f 1588/1671/8788 1589/1672/8789 1586/1669/8790 -f 1588/1671/8791 1587/1670/8792 1590/1673/8793 -f 1590/1673/8794 1591/1674/8795 1588/1671/8796 -f 1561/1644/8797 1589/1672/8798 1588/1671/8799 -f 1588/1671/8800 1591/1674/8801 1561/1644/8802 -f 1590/1673/8803 1592/1676/8804 1593/1675/8805 -f 1593/1675/8806 1591/1674/8807 1590/1673/8808 -f 1592/2621/8809 1594/1678/8810 1595/1677/8811 -f 1595/1677/8812 1593/2620/8813 1592/2621/8814 -f 1594/1678/8815 1596/1680/8816 1597/1679/8817 -f 1597/1679/8818 1595/1677/8819 1594/1678/8820 -f 1596/1680/8821 1598/1682/8822 1599/1681/8823 -f 1599/1681/8824 1597/1679/8825 1596/1680/8826 -f 1598/1682/8827 1577/1660/8828 1578/1663/8829 -f 1578/1663/8830 1599/1681/8831 1598/1682/8832 -f 1522/1605/8833 1518/1601/8834 1516/1599/8835 -f 1516/1599/8836 1321/1403/8837 1522/1605/8838 -f 1516/1599/8839 1512/1594/8840 1320/1404/8841 -f 1320/1404/8842 1321/1403/8843 1516/1599/8844 -f 1442/1581/8845 1349/1576/8846 1343/1572/8847 -f 1343/1572/8848 1447/1586/8849 1442/1581/8850 -f 1404/1487/8851 1357/1440/8852 1355/1438/8853 -f 1355/1438/8854 1354/1437/8855 1404/1487/8856 -f 1381/1464/8857 1281/1365/8858 1282/1368/8859 -f 1282/1368/8860 1600/1684/8861 1381/1464/8862 -f 1366/1449/8863 1601/1685/8864 1291/1375/8865 -f 1291/1375/8866 1337/1421/8867 1366/1449/8868 -f 1328/1561/8869 1603/2535/8870 1602/2534/8871 -f 1602/2534/8872 1327/1562/8873 1328/1561/8874 -f 1302/2587/8875 1303/1386/8876 1285/1369/8877 -f 1285/1369/8878 1284/1366/8879 1302/2587/8880 -f 1342/1408/8881 1297/1379/8882 1294/1376/8883 -f 1294/1376/8884 602/1683/8885 1342/1408/8886 -f 1602/2534/8887 1603/2535/8888 1348/1686/8889 -f 1348/1686/8890 1347/1598/8891 1602/2534/8892 -f 1602/2534/8893 1347/1598/8894 1330/1566/8895 -f 1330/1566/8896 1327/1562/8897 1602/2534/8898 -f 1291/1375/8899 1601/1685/8900 1600/1684/8901 -f 1600/1684/8902 1282/1368/8903 1291/1375/8904 -f 1289/1373/8905 1288/1372/8906 1279/1362/8907 -f 1279/1362/8908 1280/1364/8909 1289/1373/8910 -f 1269/478/8911 1270/1432/8912 1313/1554/8913 -f 1313/1554/8914 394/1414/8915 1269/478/8916 -f 1436/1519/8917 1435/1518/8918 1385/1468/8919 -f 1385/1468/8920 1384/1467/8921 1436/1519/8922 -f 1436/1519/8923 1384/1467/8924 1389/1472/8925 -f 1389/1472/8926 1393/1476/8927 1436/1519/8928 -f 1308/1546/8929 1313/1554/8930 1270/1432/8931 -f 1270/1432/8932 1273/1544/8933 1308/1546/8934 -f 1600/1684/8935 1601/1685/8936 1604/1688/8937 -f 1604/1688/8938 1605/1689/8939 1600/1684/8940 -f 1366/1449/8941 1369/1452/8942 1604/1688/8943 -f 1604/1688/8944 1601/1685/8945 1366/1449/8946 -f 1605/1689/8947 1604/1688/8948 1369/1452/8949 -f 1369/1452/8950 1377/1460/8951 1605/1689/8952 -f 1381/1464/8953 1600/1684/8954 1605/1689/8955 -f 1605/1689/8956 1377/1460/8957 1381/1464/8958 -f 601/1530/8959 1447/1586/8960 1606/2565/8961 -f 1606/2565/8962 1607/1540/8963 601/1530/8964 -f 1447/1586/8965 1343/1572/8966 1344/1575/8967 -f 1344/1575/8968 1606/2565/8969 1447/1586/8970 -f 1610/1694/8971 1609/1695/8972 1608/1692/8973 -f 1608/1692/8974 1611/1693/8975 1610/1694/8976 -f 1614/1698/8977 1613/1699/8978 1612/1696/8979 -f 1612/1696/8980 1615/1697/8981 1614/1698/8982 -f 1618/1702/8983 1617/1703/8984 1616/1700/8985 -f 1616/1700/8986 1619/1701/8987 1618/1702/8988 -f 1622/1706/8989 1621/1707/8990 1620/1704/8991 -f 1620/1704/8992 1623/1705/8993 1622/1706/8994 -f 1618/1702/8995 1625/1710/8996 1624/1708/8997 -f 1624/1708/8998 1626/1709/8999 1618/1702/9000 -f 1629/1713/9001 1628/1714/9002 1627/1711/9003 -f 1627/1711/9004 1630/1712/9005 1629/1713/9006 -f 1633/1717/9007 1632/1718/9008 1631/1715/9009 -f 1631/1715/9010 1634/1716/9011 1633/1717/9012 -f 1637/1721/9013 1636/1722/9014 1635/1719/9015 -f 1635/1719/9016 1638/1720/9017 1637/1721/9018 -f 1641/1725/9019 1640/1726/9020 1639/1723/9021 -f 1639/1723/9022 1642/1724/9023 1641/1725/9024 -f 1643/1727/9025 1616/1700/9026 1622/1706/9027 -f 1622/1706/9028 1635/1719/9029 1643/1727/9030 -f 1646/1729/9031 1645/1730/9032 1644/1728/9033 -f 1644/1728/9034 1639/1723/9035 1646/1729/9036 -f 1649/1733/9037 1648/1734/9038 1647/1731/9039 -f 1647/1731/9040 1650/1732/9041 1649/1733/9042 -f 1653/1737/9043 1652/1738/9044 1651/1735/9045 -f 1651/1735/9046 1654/1736/9047 1653/1737/9048 -f 1656/1739/9049 1655/1740/9050 1639/1723/9051 -f 1639/1723/9052 1640/1726/9053 1656/1739/9054 -f 1656/1739/9055 1638/1720/9056 1635/1719/9057 -f 1635/1719/9058 1655/1740/9059 1656/1739/9060 -f 1658/1747/9061 1657/1748/9062 1636/1741/9063 -f 1636/1741/9064 1637/1742/9065 1658/1747/9066 -f 1658/1747/9067 1641/1750/9068 1642/2383/9069 -f 1642/2383/9070 1657/1748/9071 1658/1747/9072 -f 1661/1745/9073 1660/1746/9074 1659/1743/9075 -f 1659/1743/9076 1662/1744/9077 1661/1745/9078 -f 1665/1756/9079 1664/1757/9080 1663/1753/9081 -f 1663/1753/9082 1666/1754/9083 1665/1756/9084 -f 1644/1728/9085 1645/1730/9086 1667/1751/9087 -f 1667/1751/9088 1668/1752/9089 1644/1728/9090 -f 1669/1775/9091 1652/1738/9092 1653/1737/9093 -f 1653/1737/9094 1670/1774/9095 1669/1775/9096 -f 1619/1701/9097 1616/1700/9098 1643/1727/9099 -f 1643/1727/9100 1671/1755/9101 1619/1701/9102 -f 1672/1787/9103 1664/1757/9104 1665/1756/9105 -f 1665/1756/9106 1673/1786/9107 1672/1787/9108 -f 1676/1760/9109 1675/1761/9110 1674/1758/9111 -f 1674/1758/9112 1677/1759/9113 1676/1760/9114 -f 1678/1763/9115 1676/1760/9116 1677/1759/9117 -f 1677/1759/9118 1679/1762/9119 1678/1763/9120 -f 1682/1766/9121 1681/1767/9122 1680/1764/9123 -f 1680/1764/9124 1683/1765/9125 1682/1766/9126 -f 1686/1770/9127 1685/1771/9128 1684/1768/9129 -f 1684/1768/9130 1687/1769/9131 1686/1770/9132 -f 1684/1768/9133 1689/1773/9134 1688/1772/9135 -f 1688/1772/9136 1687/1769/9137 1684/1768/9138 -f 1688/1772/9139 1689/1773/9140 1682/1766/9141 -f 1682/1766/9142 1683/1765/9143 1688/1772/9144 -f 1680/1800/9145 1681/1801/9146 1690/1798/9147 -f 1690/1798/9148 1691/1799/9149 1680/1800/9150 -f 1690/1798/9151 1685/1803/9152 1686/1802/9153 -f 1686/1802/9154 1691/1799/9155 1690/1798/9156 -f 1694/1778/9157 1693/1779/9158 1692/1776/9159 -f 1692/1776/9160 1695/1777/9161 1694/1778/9162 -f 1698/1782/9163 1697/1783/9164 1696/1780/9165 -f 1696/1780/9166 1699/1781/9167 1698/1782/9168 -f 1696/1780/9169 1701/1785/9170 1700/1784/9171 -f 1700/1784/9172 1699/1781/9173 1696/1780/9174 -f 1700/1784/9175 1701/1785/9176 1694/1778/9177 -f 1694/1778/9178 1695/1777/9179 1700/1784/9180 -f 1693/1806/9181 1703/1812/9182 1702/1804/9183 -f 1702/1804/9184 1692/1805/9185 1693/1806/9186 -f 1702/1804/9187 1703/1812/9188 1697/1813/9189 -f 1697/1813/9190 1698/1814/9191 1702/1804/9192 -f 1706/1790/9193 1705/1791/9194 1704/1788/9195 -f 1704/1788/9196 1707/1789/9197 1706/1790/9198 -f 1710/1794/9199 1709/1795/9200 1708/1792/9201 -f 1708/1792/9202 1711/1793/9203 1710/1794/9204 -f 1712/1797/9205 1710/1794/9206 1711/1793/9207 -f 1711/1793/9208 1713/1796/9209 1712/1797/9210 -f 1705/1791/9211 1712/1797/9212 1713/1796/9213 -f 1713/1796/9214 1704/1788/9215 1705/1791/9216 -f 1716/1817/9217 1715/1818/9218 1714/1815/9219 -f 1714/1815/9220 1717/1816/9221 1716/1817/9222 -f 1718/1820/9223 1716/1817/9224 1717/1816/9225 -f 1717/1816/9226 1719/1819/9227 1718/1820/9228 -f 1707/1789/9229 1704/1788/9230 1683/1765/9231 -f 1683/1765/9232 1680/1764/9233 1707/1789/9234 -f 1711/1793/9235 1708/1792/9236 1686/1770/9237 -f 1686/1770/9238 1687/1769/9239 1711/1793/9240 -f 1713/1796/9241 1711/1793/9242 1687/1769/9243 -f 1687/1769/9244 1688/1772/9245 1713/1796/9246 -f 1704/1788/9247 1713/1796/9248 1688/1772/9249 -f 1688/1772/9250 1683/1765/9251 1704/1788/9252 -f 1717/1816/9253 1714/1815/9254 1720/1821/9255 -f 1720/1821/9256 1721/1822/9257 1717/1816/9258 -f 1719/1819/9259 1717/1816/9260 1721/1822/9261 -f 1721/1822/9262 1722/1823/9263 1719/1819/9264 -f 1681/1767/9265 1682/1766/9266 1723/1807/9267 -f 1723/1807/9268 1724/1808/9269 1681/1767/9270 -f 1684/1768/9271 1685/1771/9272 1725/1809/9273 -f 1725/1809/9274 1726/1810/9275 1684/1768/9276 -f 1689/1773/9277 1684/1768/9278 1726/1810/9279 -f 1726/1810/9280 1727/1811/9281 1689/1773/9282 -f 1682/1766/9283 1689/1773/9284 1727/1811/9285 -f 1727/1811/9286 1723/1807/9287 1682/1766/9288 -f 1730/1826/9289 1729/1827/9290 1728/1824/9291 -f 1728/1824/9292 1731/1825/9293 1730/1826/9294 -f 1732/1829/9295 1730/1826/9296 1731/1825/9297 -f 1731/1825/9298 1733/1828/9299 1732/1829/9300 -f 1724/1808/9301 1723/1807/9302 1695/1777/9303 -f 1695/1777/9304 1692/1776/9305 1724/1808/9306 -f 1726/1810/9307 1725/1809/9308 1698/1782/9309 -f 1698/1782/9310 1699/1781/9311 1726/1810/9312 -f 1727/1811/9313 1726/1810/9314 1699/1781/9315 -f 1699/1781/9316 1700/1784/9317 1727/1811/9318 -f 1723/1807/9319 1727/1811/9320 1700/1784/9321 -f 1700/1784/9322 1695/1777/9323 1723/1807/9324 -f 1731/1825/9325 1728/1824/9326 1734/1830/9327 -f 1734/1830/9328 1735/1831/9329 1731/1825/9330 -f 1733/1828/9331 1731/1825/9332 1735/1831/9333 -f 1735/1831/9334 1736/1832/9335 1733/1828/9336 -f 1716/1817/9337 1737/1834/9338 1706/1833/9339 -f 1706/1833/9340 1715/1818/9341 1716/1817/9342 -f 1718/1820/9343 1709/1835/9344 1737/1834/9345 -f 1737/1834/9346 1716/1817/9347 1718/1820/9348 -f 1719/1819/9349 1708/1836/9350 1709/1835/9351 -f 1709/1835/9352 1718/1820/9353 1719/1819/9354 -f 1722/1823/9355 1686/1802/9356 1708/1836/9357 -f 1708/1836/9358 1719/1819/9359 1722/1823/9360 -f 1721/1822/9361 1691/1799/9362 1686/1802/9363 -f 1686/1802/9364 1722/1823/9365 1721/1822/9366 -f 1720/1821/9367 1680/1800/9368 1691/1799/9369 -f 1691/1799/9370 1721/1822/9371 1720/1821/9372 -f 1714/1815/9373 1707/1837/9374 1680/1800/9375 -f 1680/1800/9376 1720/1821/9377 1714/1815/9378 -f 1715/1818/9379 1706/1833/9380 1707/1837/9381 -f 1707/1837/9382 1714/1815/9383 1715/1818/9384 -f 1730/1826/9385 1690/1798/9386 1681/1801/9387 -f 1681/1801/9388 1729/1827/9389 1730/1826/9390 -f 1732/1829/9391 1685/1803/9392 1690/1798/9393 -f 1690/1798/9394 1730/1826/9395 1732/1829/9396 -f 1733/1828/9397 1725/1838/9398 1685/1803/9399 -f 1685/1803/9400 1732/1829/9401 1733/1828/9402 -f 1736/1832/9403 1698/1814/9404 1725/1838/9405 -f 1725/1838/9406 1733/1828/9407 1736/1832/9408 -f 1735/1831/9409 1702/1804/9410 1698/1814/9411 -f 1698/1814/9412 1736/1832/9413 1735/1831/9414 -f 1734/1830/9415 1692/1805/9416 1702/1804/9417 -f 1702/1804/9418 1735/1831/9419 1734/1830/9420 -f 1728/1824/9421 1724/1839/9422 1692/1805/9423 -f 1692/1805/9424 1734/1830/9425 1728/1824/9426 -f 1729/1827/9427 1681/1801/9428 1724/1839/9429 -f 1724/1839/9430 1728/1824/9431 1729/1827/9432 -f 1678/1763/9433 1679/1762/9434 1693/1779/9435 -f 1693/1779/9436 1694/1778/9437 1678/1763/9438 -f 1697/1783/9439 1674/1758/9440 1675/1761/9441 -f 1675/1761/9442 1696/1780/9443 1697/1783/9444 -f 1675/1761/9445 1676/1760/9446 1701/1785/9447 -f 1701/1785/9448 1696/1780/9449 1675/1761/9450 -f 1701/1785/9451 1676/1760/9452 1678/1763/9453 -f 1678/1763/9454 1694/1778/9455 1701/1785/9456 -f 1740/1852/9457 1739/1853/9458 1738/1840/9459 -f 1738/1840/9460 1741/1841/9461 1740/1852/9462 -f 1741/1841/9463 1738/1840/9464 1742/1870/9465 -f 1742/1870/9466 1743/1871/9467 1741/1841/9468 -f 1744/1894/9469 1679/1895/9470 1677/1882/9471 -f 1677/1882/9472 1745/1883/9473 1744/1894/9474 -f 1746/1896/9475 1693/1806/9476 1679/1895/9477 -f 1679/1895/9478 1744/1894/9479 1746/1896/9480 -f 1747/1897/9481 1703/1812/9482 1693/1806/9483 -f 1693/1806/9484 1746/1896/9485 1747/1897/9486 -f 1748/1898/9487 1697/1813/9488 1703/1812/9489 -f 1703/1812/9490 1747/1897/9491 1748/1898/9492 -f 1749/1899/9493 1674/1900/9494 1697/1813/9495 -f 1697/1813/9496 1748/1898/9497 1749/1899/9498 -f 1745/1883/9499 1677/1882/9500 1674/1900/9501 -f 1674/1900/9502 1749/1899/9503 1745/1883/9504 -f 1739/1853/9505 1744/1894/9506 1745/1883/9507 -f 1745/1883/9508 1738/1840/9509 1739/1853/9510 -f 1740/1852/9511 1746/1896/9512 1744/1894/9513 -f 1744/1894/9514 1739/1853/9515 1740/1852/9516 -f 1741/1841/9517 1747/1897/9518 1746/1896/9519 -f 1746/1896/9520 1740/1852/9521 1741/1841/9522 -f 1743/1871/9523 1748/1898/9524 1747/1897/9525 -f 1747/1897/9526 1741/1841/9527 1743/1871/9528 -f 1742/1870/9529 1749/1899/9530 1748/1898/9531 -f 1748/1898/9532 1743/1871/9533 1742/1870/9534 -f 1738/1840/9535 1745/1883/9536 1749/1899/9537 -f 1749/1899/9538 1742/1870/9539 1738/1840/9540 -f 1752/1908/9541 1751/1909/9542 1750/1901/9543 -f 1750/1901/9544 1753/1902/9545 1752/1908/9546 -f 1754/1911/9547 1648/1734/9548 1649/1733/9549 -f 1649/1733/9550 1755/1910/9551 1754/1911/9552 -f 1756/1913/9553 1751/1909/9554 1752/1908/9555 -f 1752/1908/9556 1757/1912/9557 1756/1913/9558 -f 1622/1706/9559 1623/1705/9560 1655/1740/9561 -f 1655/1740/9562 1635/1719/9563 1622/1706/9564 -f 1655/1740/9565 1623/1705/9566 1646/1729/9567 -f 1646/1729/9568 1639/1723/9569 1655/1740/9570 -f 1659/1743/9571 1660/1746/9572 1619/1701/9573 -f 1619/1701/9574 1671/1755/9575 1659/1743/9576 -f 1661/1745/9577 1662/1744/9578 1758/1842/9579 -f 1758/1842/9580 1759/1843/9581 1661/1745/9582 -f 1761/1844/9583 1760/1845/9584 1668/1752/9585 -f 1668/1752/9586 1667/1751/9587 1761/1844/9588 -f 1638/1720/9589 1705/1791/9590 1706/1790/9591 -f 1706/1790/9592 1637/1721/9593 1638/1720/9594 -f 1709/1795/9595 1710/1794/9596 1640/1726/9597 -f 1640/1726/9598 1641/1725/9599 1709/1795/9600 -f 1640/1726/9601 1710/1794/9602 1712/1797/9603 -f 1712/1797/9604 1656/1739/9605 1640/1726/9606 -f 1712/1797/9607 1705/1791/9608 1638/1720/9609 -f 1638/1720/9610 1656/1739/9611 1712/1797/9612 -f 1637/1742/9613 1706/1833/9614 1737/1834/9615 -f 1737/1834/9616 1658/1747/9617 1637/1742/9618 -f 1737/1834/9619 1709/1835/9620 1641/1750/9621 -f 1641/1750/9622 1658/1747/9623 1737/1834/9624 -f 1763/1847/9625 1762/1848/9626 1671/1755/9627 -f 1671/1755/9628 1764/1846/9629 1763/1847/9630 -f 1766/1849/9631 1765/1850/9632 1635/1719/9633 -f 1635/1719/9634 1636/1722/9635 1766/1849/9636 -f 1767/1851/9637 1643/1727/9638 1635/1719/9639 -f 1635/1719/9640 1765/1850/9641 1767/1851/9642 -f 1767/1851/9643 1764/1846/9644 1671/1755/9645 -f 1671/1755/9646 1643/1727/9647 1767/1851/9648 -f 1768/1915/9649 1766/1916/9650 1636/1741/9651 -f 1636/1741/9652 1769/1914/9653 1768/1915/9654 -f 1772/1856/9655 1771/1857/9656 1770/1854/9657 -f 1770/1854/9658 1773/1855/9659 1772/1856/9660 -f 1774/1859/9661 1772/1856/9662 1773/1855/9663 -f 1773/1855/9664 1775/1858/9665 1774/1859/9666 -f 1778/1862/9667 1777/1863/9668 1776/1860/9669 -f 1776/1860/9670 1779/1861/9671 1778/1862/9672 -f 1782/1866/9673 1781/1867/9674 1780/1864/9675 -f 1780/1864/9676 1783/1865/9677 1782/1866/9678 -f 1780/1864/9679 1785/1869/9680 1784/1868/9681 -f 1784/1868/9682 1783/1865/9683 1780/1864/9684 -f 1784/1868/9685 1785/1869/9686 1778/1862/9687 -f 1778/1862/9688 1779/1861/9689 1784/1868/9690 -f 1776/1919/9691 1777/1920/9692 1786/1917/9693 -f 1786/1917/9694 1787/1918/9695 1776/1919/9696 -f 1786/1917/9697 1781/1922/9698 1782/1921/9699 -f 1782/1921/9700 1787/1918/9701 1786/1917/9702 -f 1790/1874/9703 1789/1875/9704 1788/1872/9705 -f 1788/1872/9706 1791/1873/9707 1790/1874/9708 -f 1794/1878/9709 1793/1879/9710 1792/1876/9711 -f 1792/1876/9712 1795/1877/9713 1794/1878/9714 -f 1792/1876/9715 1797/1881/9716 1796/1880/9717 -f 1796/1880/9718 1795/1877/9719 1792/1876/9720 -f 1796/1880/9721 1797/1881/9722 1790/1874/9723 -f 1790/1874/9724 1791/1873/9725 1796/1880/9726 -f 1789/1925/9727 1799/1926/9728 1798/1923/9729 -f 1798/1923/9730 1788/1924/9731 1789/1925/9732 -f 1798/1923/9733 1799/1926/9734 1793/1927/9735 -f 1793/1927/9736 1794/1928/9737 1798/1923/9738 -f 1802/1886/9739 1801/1887/9740 1800/1884/9741 -f 1800/1884/9742 1803/1885/9743 1802/1886/9744 -f 1806/1890/9745 1805/1891/9746 1804/1888/9747 -f 1804/1888/9748 1807/1889/9749 1806/1890/9750 -f 1808/1893/9751 1806/1890/9752 1807/1889/9753 -f 1807/1889/9754 1809/1892/9755 1808/1893/9756 -f 1801/1887/9757 1808/1893/9758 1809/1892/9759 -f 1809/1892/9760 1800/1884/9761 1801/1887/9762 -f 1812/1936/9763 1811/1953/9764 1810/1929/9765 -f 1810/1929/9766 1813/1935/9767 1812/1936/9768 -f 1814/1965/9769 1812/1936/9770 1813/1935/9771 -f 1813/1935/9772 1815/1954/9773 1814/1965/9774 -f 1803/1885/9775 1800/1884/9776 1779/1861/9777 -f 1779/1861/9778 1776/1860/9779 1803/1885/9780 -f 1807/1889/9781 1804/1888/9782 1782/1866/9783 -f 1782/1866/9784 1783/1865/9785 1807/1889/9786 -f 1809/1892/9787 1807/1889/9788 1783/1865/9789 -f 1783/1865/9790 1784/1868/9791 1809/1892/9792 -f 1800/1884/9793 1809/1892/9794 1784/1868/9795 -f 1784/1868/9796 1779/1861/9797 1800/1884/9798 -f 1813/1935/9799 1810/1929/9800 1816/1966/9801 -f 1816/1966/9802 1817/1977/9803 1813/1935/9804 -f 1815/1954/9805 1813/1935/9806 1817/1977/9807 -f 1817/1977/9808 1818/1978/9809 1815/1954/9810 -f 1777/1863/9811 1778/1862/9812 1819/1903/9813 -f 1819/1903/9814 1820/1904/9815 1777/1863/9816 -f 1780/1864/9817 1781/1867/9818 1821/1905/9819 -f 1821/1905/9820 1822/1906/9821 1780/1864/9822 -f 1785/1869/9823 1780/1864/9824 1822/1906/9825 -f 1822/1906/9826 1823/1907/9827 1785/1869/9828 -f 1778/1862/9829 1785/1869/9830 1823/1907/9831 -f 1823/1907/9832 1819/1903/9833 1778/1862/9834 -f 1826/1981/9835 1825/1982/9836 1824/1979/9837 -f 1824/1979/9838 1827/1980/9839 1826/1981/9840 -f 1828/1984/9841 1826/1981/9842 1827/1980/9843 -f 1827/1980/9844 1829/1983/9845 1828/1984/9846 -f 1820/1904/9847 1819/1903/9848 1791/1873/9849 -f 1791/1873/9850 1788/1872/9851 1820/1904/9852 -f 1822/1906/9853 1821/1905/9854 1794/1878/9855 -f 1794/1878/9856 1795/1877/9857 1822/1906/9858 -f 1823/1907/9859 1822/1906/9860 1795/1877/9861 -f 1795/1877/9862 1796/1880/9863 1823/1907/9864 -f 1819/1903/9865 1823/1907/9866 1796/1880/9867 -f 1796/1880/9868 1791/1873/9869 1819/1903/9870 -f 1827/1980/9871 1824/1979/9872 1830/1985/9873 -f 1830/1985/9874 1831/1991/9875 1827/1980/9876 -f 1829/1983/9877 1827/1980/9878 1831/1991/9879 -f 1831/1991/9880 1832/1992/9881 1829/1983/9882 -f 1812/1936/9883 1833/1994/9884 1802/1993/9885 -f 1802/1993/9886 1811/1953/9887 1812/1936/9888 -f 1814/1965/9889 1805/1995/9890 1833/1994/9891 -f 1833/1994/9892 1812/1936/9893 1814/1965/9894 -f 1815/1954/9895 1804/1996/9896 1805/1995/9897 -f 1805/1995/9898 1814/1965/9899 1815/1954/9900 -f 1818/1978/9901 1782/1921/9902 1804/1996/9903 -f 1804/1996/9904 1815/1954/9905 1818/1978/9906 -f 1817/1977/9907 1787/1918/9908 1782/1921/9909 -f 1782/1921/9910 1818/1978/9911 1817/1977/9912 -f 1816/1966/9913 1776/1919/9914 1787/1918/9915 -f 1787/1918/9916 1817/1977/9917 1816/1966/9918 -f 1810/1929/9919 1803/1997/9920 1776/1919/9921 -f 1776/1919/9922 1816/1966/9923 1810/1929/9924 -f 1811/1953/9925 1802/1993/9926 1803/1997/9927 -f 1803/1997/9928 1810/1929/9929 1811/1953/9930 -f 1826/1981/9931 1786/1917/9932 1777/1920/9933 -f 1777/1920/9934 1825/1982/9935 1826/1981/9936 -f 1828/1984/9937 1781/1922/9938 1786/1917/9939 -f 1786/1917/9940 1826/1981/9941 1828/1984/9942 -f 1829/1983/9943 1821/1998/9944 1781/1922/9945 -f 1781/1922/9946 1828/1984/9947 1829/1983/9948 -f 1832/1992/9949 1794/1928/9950 1821/1998/9951 -f 1821/1998/9952 1829/1983/9953 1832/1992/9954 -f 1831/1991/9955 1798/1923/9956 1794/1928/9957 -f 1794/1928/9958 1832/1992/9959 1831/1991/9960 -f 1830/1985/9961 1788/1924/9962 1798/1923/9963 -f 1798/1923/9964 1831/1991/9965 1830/1985/9966 -f 1824/1979/9967 1820/1999/9968 1788/1924/9969 -f 1788/1924/9970 1830/1985/9971 1824/1979/9972 -f 1825/1982/9973 1777/1920/9974 1820/1999/9975 -f 1820/1999/9976 1824/1979/9977 1825/1982/9978 -f 1774/1859/9979 1775/1858/9980 1789/1875/9981 -f 1789/1875/9982 1790/1874/9983 1774/1859/9984 -f 1793/1879/9985 1770/1854/9986 1771/1857/9987 -f 1771/1857/9988 1792/1876/9989 1793/1879/9990 -f 1771/1857/9991 1772/1856/9992 1797/1881/9993 -f 1797/1881/9994 1792/1876/9995 1771/1857/9996 -f 1797/1881/9997 1772/1856/9998 1774/1859/9999 -f 1774/1859/10000 1790/1874/10001 1797/1881/10002 -f 1836/2002/10003 1835/2003/10004 1834/2000/10005 -f 1834/2000/10006 1837/2001/10007 1836/2002/10008 -f 1837/2001/10009 1834/2000/10010 1838/2004/10011 -f 1838/2004/10012 1839/2005/10013 1837/2001/10014 -f 1840/2008/10015 1775/2009/10016 1773/2006/10017 -f 1773/2006/10018 1841/2007/10019 1840/2008/10020 -f 1842/2010/10021 1789/1925/10022 1775/2009/10023 -f 1775/2009/10024 1840/2008/10025 1842/2010/10026 -f 1843/2011/10027 1799/1926/10028 1789/1925/10029 -f 1789/1925/10030 1842/2010/10031 1843/2011/10032 -f 1844/2012/10033 1793/1927/10034 1799/1926/10035 -f 1799/1926/10036 1843/2011/10037 1844/2012/10038 -f 1845/2018/10039 1770/2019/10040 1793/1927/10041 -f 1793/1927/10042 1844/2012/10043 1845/2018/10044 -f 1841/2007/10045 1773/2006/10046 1770/2019/10047 -f 1770/2019/10048 1845/2018/10049 1841/2007/10050 -f 1835/2003/10051 1840/2008/10052 1841/2007/10053 -f 1841/2007/10054 1834/2000/10055 1835/2003/10056 -f 1836/2002/10057 1842/2010/10058 1840/2008/10059 -f 1840/2008/10060 1835/2003/10061 1836/2002/10062 -f 1837/2001/10063 1843/2011/10064 1842/2010/10065 -f 1842/2010/10066 1836/2002/10067 1837/2001/10068 -f 1839/2005/10069 1844/2012/10070 1843/2011/10071 -f 1843/2011/10072 1837/2001/10073 1839/2005/10074 -f 1838/2004/10075 1845/2018/10076 1844/2012/10077 -f 1844/2012/10078 1839/2005/10079 1838/2004/10080 -f 1834/2000/10081 1841/2007/10082 1845/2018/10083 -f 1845/2018/10084 1838/2004/10085 1834/2000/10086 -f 1764/1846/10087 1801/1887/10088 1802/1886/10089 -f 1802/1886/10090 1763/1847/10091 1764/1846/10092 -f 1805/1891/10093 1806/1890/10094 1765/1850/10095 -f 1765/1850/10096 1766/1849/10097 1805/1891/10098 -f 1765/1850/10099 1806/1890/10100 1808/1893/10101 -f 1808/1893/10102 1767/1851/10103 1765/1850/10104 -f 1808/1893/10105 1801/1887/10106 1764/1846/10107 -f 1764/1846/10108 1767/1851/10109 1808/1893/10110 -f 1763/2036/10111 1802/1993/10112 1833/1994/10113 -f 1833/1994/10114 1768/1915/10115 1763/2036/10116 -f 1833/1994/10117 1805/1995/10118 1766/1916/10119 -f 1766/1916/10120 1768/1915/10121 1833/1994/10122 -f 1846/1931/10123 1758/1842/10124 1662/1744/10125 -f 1662/1744/10126 1847/1930/10127 1846/1931/10128 -f 1849/1932/10129 1848/1933/10130 1671/1755/10131 -f 1671/1755/10132 1762/1848/10133 1849/1932/10134 -f 1850/1934/10135 1659/1743/10136 1671/1755/10137 -f 1671/1755/10138 1848/1933/10139 1850/1934/10140 -f 1850/1934/10141 1847/1930/10142 1662/1744/10143 -f 1662/1744/10144 1659/1743/10145 1850/1934/10146 -f 1852/2049/10147 1851/2060/10148 1758/2037/10149 -f 1758/2037/10150 1846/2048/10151 1852/2049/10152 -f 1852/2049/10153 1849/2062/10154 1762/2061/10155 -f 1762/2061/10156 1851/2060/10157 1852/2049/10158 -f 1855/1939/10159 1854/1940/10160 1853/1937/10161 -f 1853/1937/10162 1856/1938/10163 1855/1939/10164 -f 1857/1942/10165 1855/1939/10166 1856/1938/10167 -f 1856/1938/10168 1858/1941/10169 1857/1942/10170 -f 1861/1945/10171 1860/1946/10172 1859/1943/10173 -f 1859/1943/10174 1862/1944/10175 1861/1945/10176 -f 1865/1949/10177 1864/1950/10178 1863/1947/10179 -f 1863/1947/10180 1866/1948/10181 1865/1949/10182 -f 1863/1947/10183 1868/1952/10184 1867/1951/10185 -f 1867/1951/10186 1866/1948/10187 1863/1947/10188 -f 1867/1951/10189 1868/1952/10190 1861/1945/10191 -f 1861/1945/10192 1862/1944/10193 1867/1951/10194 -f 1859/2065/10195 1860/2066/10196 1869/2063/10197 -f 1869/2063/10198 1870/2064/10199 1859/2065/10200 -f 1869/2063/10201 1864/2068/10202 1865/2067/10203 -f 1865/2067/10204 1870/2064/10205 1869/2063/10206 -f 1873/1957/10207 1872/1958/10208 1871/1955/10209 -f 1871/1955/10210 1874/1956/10211 1873/1957/10212 -f 1877/1961/10213 1876/1962/10214 1875/1959/10215 -f 1875/1959/10216 1878/1960/10217 1877/1961/10218 -f 1875/1959/10219 1880/1964/10220 1879/1963/10221 -f 1879/1963/10222 1878/1960/10223 1875/1959/10224 -f 1879/1963/10225 1880/1964/10226 1873/1957/10227 -f 1873/1957/10228 1874/1956/10229 1879/1963/10230 -f 1872/2076/10231 1882/2077/10232 1881/2074/10233 -f 1881/2074/10234 1871/2075/10235 1872/2076/10236 -f 1881/2074/10237 1882/2077/10238 1876/2078/10239 -f 1876/2078/10240 1877/2079/10241 1881/2074/10242 -f 1885/1969/10243 1884/1970/10244 1883/1967/10245 -f 1883/1967/10246 1886/1968/10247 1885/1969/10248 -f 1889/1973/10249 1888/1974/10250 1887/1971/10251 -f 1887/1971/10252 1890/1972/10253 1889/1973/10254 -f 1891/1976/10255 1889/1973/10256 1890/1972/10257 -f 1890/1972/10258 1892/1975/10259 1891/1976/10260 -f 1884/1970/10261 1891/1976/10262 1892/1975/10263 -f 1892/1975/10264 1883/1967/10265 1884/1970/10266 -f 1895/2082/10267 1894/2083/10268 1893/2080/10269 -f 1893/2080/10270 1896/2081/10271 1895/2082/10272 -f 1897/2085/10273 1895/2082/10274 1896/2081/10275 -f 1896/2081/10276 1898/2084/10277 1897/2085/10278 -f 1886/1968/10279 1883/1967/10280 1862/1944/10281 -f 1862/1944/10282 1859/1943/10283 1886/1968/10284 -f 1890/1972/10285 1887/1971/10286 1865/1949/10287 -f 1865/1949/10288 1866/1948/10289 1890/1972/10290 -f 1892/1975/10291 1890/1972/10292 1866/1948/10293 -f 1866/1948/10294 1867/1951/10295 1892/1975/10296 -f 1883/1967/10297 1892/1975/10298 1867/1951/10299 -f 1867/1951/10300 1862/1944/10301 1883/1967/10302 -f 1896/2081/10303 1893/2080/10304 1899/2086/10305 -f 1899/2086/10306 1900/2087/10307 1896/2081/10308 -f 1898/2084/10309 1896/2081/10310 1900/2087/10311 -f 1900/2087/10312 1901/2088/10313 1898/2084/10314 -f 1860/1946/10315 1861/1945/10316 1902/1986/10317 -f 1902/1986/10318 1903/1987/10319 1860/1946/10320 -f 1863/1947/10321 1864/1950/10322 1904/1988/10323 -f 1904/1988/10324 1905/1989/10325 1863/1947/10326 -f 1868/1952/10327 1863/1947/10328 1905/1989/10329 -f 1905/1989/10330 1906/1990/10331 1868/1952/10332 -f 1861/1945/10333 1868/1952/10334 1906/1990/10335 -f 1906/1990/10336 1902/1986/10337 1861/1945/10338 -f 1909/2091/10339 1908/2092/10340 1907/2089/10341 -f 1907/2089/10342 1910/2090/10343 1909/2091/10344 -f 1911/2094/10345 1909/2091/10346 1910/2090/10347 -f 1910/2090/10348 1912/2093/10349 1911/2094/10350 -f 1903/1987/10351 1902/1986/10352 1874/1956/10353 -f 1874/1956/10354 1871/1955/10355 1903/1987/10356 -f 1905/1989/10357 1904/1988/10358 1877/1961/10359 -f 1877/1961/10360 1878/1960/10361 1905/1989/10362 -f 1906/1990/10363 1905/1989/10364 1878/1960/10365 -f 1878/1960/10366 1879/1963/10367 1906/1990/10368 -f 1902/1986/10369 1906/1990/10370 1879/1963/10371 -f 1879/1963/10372 1874/1956/10373 1902/1986/10374 -f 1910/2090/10375 1907/2089/10376 1913/2095/10377 -f 1913/2095/10378 1914/2096/10379 1910/2090/10380 -f 1912/2093/10381 1910/2090/10382 1914/2096/10383 -f 1914/2096/10384 1915/2097/10385 1912/2093/10386 -f 1895/2082/10387 1916/2099/10388 1885/2098/10389 -f 1885/2098/10390 1894/2083/10391 1895/2082/10392 -f 1897/2085/10393 1888/2100/10394 1916/2099/10395 -f 1916/2099/10396 1895/2082/10397 1897/2085/10398 -f 1898/2084/10399 1887/2104/10400 1888/2100/10401 -f 1888/2100/10402 1897/2085/10403 1898/2084/10404 -f 1901/2088/10405 1865/2067/10406 1887/2104/10407 -f 1887/2104/10408 1898/2084/10409 1901/2088/10410 -f 1900/2087/10411 1870/2064/10412 1865/2067/10413 -f 1865/2067/10414 1901/2088/10415 1900/2087/10416 -f 1899/2086/10417 1859/2065/10418 1870/2064/10419 -f 1870/2064/10420 1900/2087/10421 1899/2086/10422 -f 1893/2080/10423 1886/2105/10424 1859/2065/10425 -f 1859/2065/10426 1899/2086/10427 1893/2080/10428 -f 1894/2083/10429 1885/2098/10430 1886/2105/10431 -f 1886/2105/10432 1893/2080/10433 1894/2083/10434 -f 1909/2091/10435 1869/2063/10436 1860/2066/10437 -f 1860/2066/10438 1908/2092/10439 1909/2091/10440 -f 1911/2094/10441 1864/2068/10442 1869/2063/10443 -f 1869/2063/10444 1909/2091/10445 1911/2094/10446 -f 1912/2093/10447 1904/2106/10448 1864/2068/10449 -f 1864/2068/10450 1911/2094/10451 1912/2093/10452 -f 1915/2097/10453 1877/2079/10454 1904/2106/10455 -f 1904/2106/10456 1912/2093/10457 1915/2097/10458 -f 1914/2096/10459 1881/2074/10460 1877/2079/10461 -f 1877/2079/10462 1915/2097/10463 1914/2096/10464 -f 1913/2095/10465 1871/2075/10466 1881/2074/10467 -f 1881/2074/10468 1914/2096/10469 1913/2095/10470 -f 1907/2089/10471 1903/2128/10472 1871/2075/10473 -f 1871/2075/10474 1913/2095/10475 1907/2089/10476 -f 1908/2092/10477 1860/2066/10478 1903/2128/10479 -f 1903/2128/10480 1907/2089/10481 1908/2092/10482 -f 1857/1942/10483 1858/1941/10484 1872/1958/10485 -f 1872/1958/10486 1873/1957/10487 1857/1942/10488 -f 1876/1962/10489 1853/1937/10490 1854/1940/10491 -f 1854/1940/10492 1875/1959/10493 1876/1962/10494 -f 1854/1940/10495 1855/1939/10496 1880/1964/10497 -f 1880/1964/10498 1875/1959/10499 1854/1940/10500 -f 1880/1964/10501 1855/1939/10502 1857/1942/10503 -f 1857/1942/10504 1873/1957/10505 1880/1964/10506 -f 1919/2133/10507 1918/2134/10508 1917/2129/10509 -f 1917/2129/10510 1920/2132/10511 1919/2133/10512 -f 1920/2132/10513 1917/2129/10514 1921/2135/10515 -f 1921/2135/10516 1922/2136/10517 1920/2132/10518 -f 1923/2140/10519 1858/2141/10520 1856/2137/10521 -f 1856/2137/10522 1924/2139/10523 1923/2140/10524 -f 1925/2142/10525 1872/2076/10526 1858/2141/10527 -f 1858/2141/10528 1923/2140/10529 1925/2142/10530 -f 1926/2143/10531 1882/2077/10532 1872/2076/10533 -f 1872/2076/10534 1925/2142/10535 1926/2143/10536 -f 1927/2148/10537 1876/2078/10538 1882/2077/10539 -f 1882/2077/10540 1926/2143/10541 1927/2148/10542 -f 1928/2149/10543 1853/2150/10544 1876/2078/10545 -f 1876/2078/10546 1927/2148/10547 1928/2149/10548 -f 1924/2139/10549 1856/2137/10550 1853/2150/10551 -f 1853/2150/10552 1928/2149/10553 1924/2139/10554 -f 1918/2134/10555 1923/2140/10556 1924/2139/10557 -f 1924/2139/10558 1917/2129/10559 1918/2134/10560 -f 1919/2133/10561 1925/2142/10562 1923/2140/10563 -f 1923/2140/10564 1918/2134/10565 1919/2133/10566 -f 1920/2132/10567 1926/2143/10568 1925/2142/10569 -f 1925/2142/10570 1919/2133/10571 1920/2132/10572 -f 1922/2136/10573 1927/2148/10574 1926/2143/10575 -f 1926/2143/10576 1920/2132/10577 1922/2136/10578 -f 1921/2135/10579 1928/2149/10580 1927/2148/10581 -f 1927/2148/10582 1922/2136/10583 1921/2135/10584 -f 1917/2129/10585 1924/2139/10586 1928/2149/10587 -f 1928/2149/10588 1921/2135/10589 1917/2129/10590 -f 1847/1930/10591 1884/1970/10592 1885/1969/10593 -f 1885/1969/10594 1846/1931/10595 1847/1930/10596 -f 1888/1974/10597 1889/1973/10598 1848/1933/10599 -f 1848/1933/10600 1849/1932/10601 1888/1974/10602 -f 1848/1933/10603 1889/1973/10604 1891/1976/10605 -f 1891/1976/10606 1850/1934/10607 1848/1933/10608 -f 1891/1976/10609 1884/1970/10610 1847/1930/10611 -f 1847/1930/10612 1850/1934/10613 1891/1976/10614 -f 1846/2048/10615 1885/2098/10616 1916/2099/10617 -f 1916/2099/10618 1852/2049/10619 1846/2048/10620 -f 1916/2099/10621 1888/2100/10622 1849/2062/10623 -f 1849/2062/10624 1852/2049/10625 1916/2099/10626 -f 1929/2014/10627 1642/1724/10628 1639/1723/10629 -f 1639/1723/10630 1930/2013/10631 1929/2014/10632 -f 1932/2015/10633 1931/2016/10634 1668/1752/10635 -f 1668/1752/10636 1760/1845/10637 1932/2015/10638 -f 1933/2017/10639 1644/1728/10640 1668/1752/10641 -f 1668/1752/10642 1931/2016/10643 1933/2017/10644 -f 1933/2017/10645 1930/2013/10646 1639/1723/10647 -f 1639/1723/10648 1644/1728/10649 1933/2017/10650 -f 1935/2152/10651 1934/2153/10652 1642/1749/10653 -f 1642/1749/10654 1929/2151/10655 1935/2152/10656 -f 1935/2152/10657 1932/2160/10658 1760/2159/10659 -f 1760/2159/10660 1934/2153/10661 1935/2152/10662 -f 1938/2022/10663 1937/2023/10664 1936/2020/10665 -f 1936/2020/10666 1939/2021/10667 1938/2022/10668 -f 1940/2025/10669 1938/2022/10670 1939/2021/10671 -f 1939/2021/10672 1941/2024/10673 1940/2025/10674 -f 1944/2028/10675 1943/2029/10676 1942/2026/10677 -f 1942/2026/10678 1945/2027/10679 1944/2028/10680 -f 1948/2032/10681 1947/2033/10682 1946/2030/10683 -f 1946/2030/10684 1949/2031/10685 1948/2032/10686 -f 1946/2030/10687 1951/2035/10688 1950/2034/10689 -f 1950/2034/10690 1949/2031/10691 1946/2030/10692 -f 1950/2034/10693 1951/2035/10694 1944/2028/10695 -f 1944/2028/10696 1945/2027/10697 1950/2034/10698 -f 1942/2163/10699 1943/2164/10700 1952/2161/10701 -f 1952/2161/10702 1953/2162/10703 1942/2163/10704 -f 1952/2161/10705 1947/2167/10706 1948/2166/10707 -f 1948/2166/10708 1953/2162/10709 1952/2161/10710 -f 1956/2040/10711 1955/2041/10712 1954/2038/10713 -f 1954/2038/10714 1957/2039/10715 1956/2040/10716 -f 1960/2044/10717 1959/2045/10718 1958/2042/10719 -f 1958/2042/10720 1961/2043/10721 1960/2044/10722 -f 1958/2042/10723 1963/2047/10724 1962/2046/10725 -f 1962/2046/10726 1961/2043/10727 1958/2042/10728 -f 1962/2046/10729 1963/2047/10730 1956/2040/10731 -f 1956/2040/10732 1957/2039/10733 1962/2046/10734 -f 1955/2170/10735 1965/2171/10736 1964/2168/10737 -f 1964/2168/10738 1954/2169/10739 1955/2170/10740 -f 1964/2168/10741 1965/2171/10742 1959/2172/10743 -f 1959/2172/10744 1960/2173/10745 1964/2168/10746 -f 1968/2052/10747 1967/2053/10748 1966/2050/10749 -f 1966/2050/10750 1969/2051/10751 1968/2052/10752 -f 1972/2056/10753 1971/2057/10754 1970/2054/10755 -f 1970/2054/10756 1973/2055/10757 1972/2056/10758 -f 1974/2059/10759 1972/2056/10760 1973/2055/10761 -f 1973/2055/10762 1975/2058/10763 1974/2059/10764 -f 1967/2053/10765 1974/2059/10766 1975/2058/10767 -f 1975/2058/10768 1966/2050/10769 1967/2053/10770 -f 1978/2183/10771 1977/2185/10772 1976/2174/10773 -f 1976/2174/10774 1979/2175/10775 1978/2183/10776 -f 1980/2187/10777 1978/2183/10778 1979/2175/10779 -f 1979/2175/10780 1981/2186/10781 1980/2187/10782 -f 1969/2051/10783 1966/2050/10784 1945/2027/10785 -f 1945/2027/10786 1942/2026/10787 1969/2051/10788 -f 1973/2055/10789 1970/2054/10790 1948/2032/10791 -f 1948/2032/10792 1949/2031/10793 1973/2055/10794 -f 1975/2058/10795 1973/2055/10796 1949/2031/10797 -f 1949/2031/10798 1950/2034/10799 1975/2058/10800 -f 1966/2050/10801 1975/2058/10802 1950/2034/10803 -f 1950/2034/10804 1945/2027/10805 1966/2050/10806 -f 1979/2175/10807 1976/2174/10808 1982/2188/10809 -f 1982/2188/10810 1983/2189/10811 1979/2175/10812 -f 1981/2186/10813 1979/2175/10814 1983/2189/10815 -f 1983/2189/10816 1984/2190/10817 1981/2186/10818 -f 1943/2029/10819 1944/2028/10820 1985/2069/10821 -f 1985/2069/10822 1986/2070/10823 1943/2029/10824 -f 1946/2030/10825 1947/2033/10826 1987/2071/10827 -f 1987/2071/10828 1988/2072/10829 1946/2030/10830 -f 1951/2035/10831 1946/2030/10832 1988/2072/10833 -f 1988/2072/10834 1989/2073/10835 1951/2035/10836 -f 1944/2028/10837 1951/2035/10838 1989/2073/10839 -f 1989/2073/10840 1985/2069/10841 1944/2028/10842 -f 1992/2196/10843 1991/2197/10844 1990/2191/10845 -f 1990/2191/10846 1993/2195/10847 1992/2196/10848 -f 1994/2205/10849 1992/2196/10850 1993/2195/10851 -f 1993/2195/10852 1995/2198/10853 1994/2205/10854 -f 1986/2070/10855 1985/2069/10856 1957/2039/10857 -f 1957/2039/10858 1954/2038/10859 1986/2070/10860 -f 1988/2072/10861 1987/2071/10862 1960/2044/10863 -f 1960/2044/10864 1961/2043/10865 1988/2072/10866 -f 1989/2073/10867 1988/2072/10868 1961/2043/10869 -f 1961/2043/10870 1962/2046/10871 1989/2073/10872 -f 1985/2069/10873 1989/2073/10874 1962/2046/10875 -f 1962/2046/10876 1957/2039/10877 1985/2069/10878 -f 1993/2195/10879 1990/2191/10880 1996/2212/10881 -f 1996/2212/10882 1997/2213/10883 1993/2195/10884 -f 1995/2198/10885 1993/2195/10886 1997/2213/10887 -f 1997/2213/10888 1998/2214/10889 1995/2198/10890 -f 1978/2183/10891 1999/2216/10892 1968/2215/10893 -f 1968/2215/10894 1977/2185/10895 1978/2183/10896 -f 1980/2187/10897 1971/2217/10898 1999/2216/10899 -f 1999/2216/10900 1978/2183/10901 1980/2187/10902 -f 1981/2186/10903 1970/2218/10904 1971/2217/10905 -f 1971/2217/10906 1980/2187/10907 1981/2186/10908 -f 1984/2190/10909 1948/2166/10910 1970/2218/10911 -f 1970/2218/10912 1981/2186/10913 1984/2190/10914 -f 1983/2189/10915 1953/2162/10916 1948/2166/10917 -f 1948/2166/10918 1984/2190/10919 1983/2189/10920 -f 1982/2188/10921 1942/2163/10922 1953/2162/10923 -f 1953/2162/10924 1983/2189/10925 1982/2188/10926 -f 1976/2174/10927 1969/2219/10928 1942/2163/10929 -f 1942/2163/10930 1982/2188/10931 1976/2174/10932 -f 1977/2185/10933 1968/2215/10934 1969/2219/10935 -f 1969/2219/10936 1976/2174/10937 1977/2185/10938 -f 1992/2196/10939 1952/2161/10940 1943/2164/10941 -f 1943/2164/10942 1991/2197/10943 1992/2196/10944 -f 1994/2205/10945 1947/2167/10946 1952/2161/10947 -f 1952/2161/10948 1992/2196/10949 1994/2205/10950 -f 1995/2198/10951 1987/2220/10952 1947/2167/10953 -f 1947/2167/10954 1994/2205/10955 1995/2198/10956 -f 1998/2214/10957 1960/2173/10958 1987/2220/10959 -f 1987/2220/10960 1995/2198/10961 1998/2214/10962 -f 1997/2213/10963 1964/2168/10964 1960/2173/10965 -f 1960/2173/10966 1998/2214/10967 1997/2213/10968 -f 1996/2212/10969 1954/2169/10970 1964/2168/10971 -f 1964/2168/10972 1997/2213/10973 1996/2212/10974 -f 1990/2191/10975 1986/2221/10976 1954/2169/10977 -f 1954/2169/10978 1996/2212/10979 1990/2191/10980 -f 1991/2197/10981 1943/2164/10982 1986/2221/10983 -f 1986/2221/10984 1990/2191/10985 1991/2197/10986 -f 1940/2025/10987 1941/2024/10988 1955/2041/10989 -f 1955/2041/10990 1956/2040/10991 1940/2025/10992 -f 1959/2045/10993 1936/2020/10994 1937/2023/10995 -f 1937/2023/10996 1958/2042/10997 1959/2045/10998 -f 1937/2023/10999 1938/2022/11000 1963/2047/11001 -f 1963/2047/11002 1958/2042/11003 1937/2023/11004 -f 1963/2047/11005 1938/2022/11006 1940/2025/11007 -f 1940/2025/11008 1956/2040/11009 1963/2047/11010 -f 2002/2224/11011 2001/2252/11012 2000/2222/11013 -f 2000/2222/11014 2003/2223/11015 2002/2224/11016 -f 2003/2223/11017 2000/2222/11018 2004/2253/11019 -f 2004/2253/11020 2005/2254/11021 2003/2223/11022 -f 2006/2260/11023 1941/2261/11024 1939/2255/11025 -f 1939/2255/11026 2007/2259/11027 2006/2260/11028 -f 2008/2262/11029 1955/2170/11030 1941/2261/11031 -f 1941/2261/11032 2006/2260/11033 2008/2262/11034 -f 2009/2263/11035 1965/2171/11036 1955/2170/11037 -f 1955/2170/11038 2008/2262/11039 2009/2263/11040 -f 2010/2264/11041 1959/2172/11042 1965/2171/11043 -f 1965/2171/11044 2009/2263/11045 2010/2264/11046 -f 2011/2265/11047 1936/2266/11048 1959/2172/11049 -f 1959/2172/11050 2010/2264/11051 2011/2265/11052 -f 2007/2259/11053 1939/2255/11054 1936/2266/11055 -f 1936/2266/11056 2011/2265/11057 2007/2259/11058 -f 2001/2252/11059 2006/2260/11060 2007/2259/11061 -f 2007/2259/11062 2000/2222/11063 2001/2252/11064 -f 2002/2224/11065 2008/2262/11066 2006/2260/11067 -f 2006/2260/11068 2001/2252/11069 2002/2224/11070 -f 2003/2223/11071 2009/2263/11072 2008/2262/11073 -f 2008/2262/11074 2002/2224/11075 2003/2223/11076 -f 2005/2254/11077 2010/2264/11078 2009/2263/11079 -f 2009/2263/11080 2003/2223/11081 2005/2254/11082 -f 2004/2253/11083 2011/2265/11084 2010/2264/11085 -f 2010/2264/11086 2005/2254/11087 2004/2253/11088 -f 2000/2222/11089 2007/2259/11090 2011/2265/11091 -f 2011/2265/11092 2004/2253/11093 2000/2222/11094 -f 1930/2013/11095 1967/2053/11096 1968/2052/11097 -f 1968/2052/11098 1929/2014/11099 1930/2013/11100 -f 1971/2057/11101 1972/2056/11102 1931/2016/11103 -f 1931/2016/11104 1932/2015/11105 1971/2057/11106 -f 1931/2016/11107 1972/2056/11108 1974/2059/11109 -f 1974/2059/11110 1933/2017/11111 1931/2016/11112 -f 1974/2059/11113 1967/2053/11114 1930/2013/11115 -f 1930/2013/11116 1933/2017/11117 1974/2059/11118 -f 1929/2151/11119 1968/2215/11120 1999/2216/11121 -f 1999/2216/11122 1935/2152/11123 1929/2151/11124 -f 1999/2216/11125 1971/2217/11126 1932/2160/11127 -f 1932/2160/11128 1935/2152/11129 1999/2216/11130 -f 1654/1736/11131 1642/1749/11132 1934/2153/11133 -f 1934/2153/11134 1653/1737/11135 1654/1736/11136 -f 1651/1735/11137 2012/2267/11138 1642/2579/11139 -f 1642/2579/11140 1654/1736/11141 1651/1735/11142 -f 1652/1738/11143 2013/2268/11144 2012/2267/11145 -f 2012/2267/11146 1651/1735/11147 1652/1738/11148 -f 1669/1775/11149 1761/2269/11150 2013/2268/11151 -f 2013/2268/11152 1652/1738/11153 1669/1775/11154 -f 1670/1774/11155 1760/2159/11156 1761/2269/11157 -f 1761/2269/11158 1669/1775/11159 1670/1774/11160 -f 1653/1737/11161 1934/2153/11162 1760/2159/11163 -f 1760/2159/11164 1670/1774/11165 1653/1737/11166 -f 1650/1732/11167 1636/1741/11168 1657/1748/11169 -f 1657/1748/11170 1649/1733/11171 1650/1732/11172 -f 1647/1731/11173 2014/2270/11174 1636/1741/11175 -f 1636/1741/11176 1650/1732/11177 1647/1731/11178 -f 1648/1734/11179 2015/2271/11180 2014/2270/11181 -f 2014/2270/11182 1647/1731/11183 1648/1734/11184 -f 1754/1911/11185 2012/2267/11186 2015/2271/11187 -f 2015/2271/11188 1648/1734/11189 1754/1911/11190 -f 1755/1910/11191 1642/2579/11192 2012/2267/11193 -f 2012/2267/11194 1754/1911/11195 1755/1910/11196 -f 1649/1733/11197 1657/1748/11198 1642/2383/11199 -f 1642/2383/11200 1755/1910/11201 1649/1733/11202 -f 1752/1908/11203 1769/1914/11204 1636/1741/11205 -f 1636/1741/11206 1757/1912/11207 1752/1908/11208 -f 1753/1902/11209 1762/2061/11210 1769/1914/11211 -f 1769/1914/11212 1752/1908/11213 1753/1902/11214 -f 1750/1901/11215 1634/1716/11216 1762/2061/11217 -f 1762/2061/11218 1753/1902/11219 1750/1901/11220 -f 1751/1909/11221 2016/2272/11222 1634/1716/11223 -f 1634/1716/11224 1750/1901/11225 1751/1909/11226 -f 1756/1913/11227 2014/2270/11228 2016/2272/11229 -f 2016/2272/11230 1751/1909/11231 1756/1913/11232 -f 1757/1912/11233 1636/1741/11234 2014/2270/11235 -f 2014/2270/11236 1756/1913/11237 1757/1912/11238 -f 1666/1754/11239 1758/2037/11240 1851/2060/11241 -f 1851/2060/11242 1665/1756/11243 1666/1754/11244 -f 1663/1753/11245 1759/2273/11246 1758/2037/11247 -f 1758/2037/11248 1666/1754/11249 1663/1753/11250 -f 1664/1757/11251 1631/1715/11252 1759/2273/11253 -f 1759/2273/11254 1663/1753/11255 1664/1757/11256 -f 1672/1787/11257 1634/1716/11258 1631/1715/11259 -f 1631/1715/11260 1664/1757/11261 1672/1787/11262 -f 1673/1786/11263 1762/2061/11264 1634/1716/11265 -f 1634/1716/11266 1672/1787/11267 1673/1786/11268 -f 1665/1756/11269 1851/2060/11270 1762/2061/11271 -f 1762/2061/11272 1673/1786/11273 1665/1756/11274 -f 1763/2036/11275 1768/1915/11276 1769/1914/11277 -f 1769/1914/11278 1762/2061/11279 1763/2036/11280 -f 1661/1745/11281 1759/1843/11282 2017/2101/11283 -f 2017/2101/11284 2018/2102/11285 1661/1745/11286 -f 1617/1703/11287 1618/1702/11288 1626/1709/11289 -f 1626/1709/11290 2019/2103/11291 1617/1703/11292 -f 2016/2272/11293 2014/2270/11294 2020/2274/11295 -f 2020/2274/11296 2021/2275/11297 2016/2272/11298 -f 1625/1710/11299 1618/1702/11300 1619/1701/11301 -f 1619/1701/11302 1660/1746/11303 1625/1710/11304 -f 1628/1714/11305 2012/2267/11306 2013/2268/11307 -f 2013/2268/11308 2022/2276/11309 1628/1714/11310 -f 2015/2271/11311 2012/2267/11312 1628/1714/11313 -f 1628/1714/11314 1629/1713/11315 2015/2271/11316 -f 2025/2109/11317 2024/2110/11318 2023/2107/11319 -f 2023/2107/11320 2026/2108/11321 2025/2109/11322 -f 2027/2112/11323 2026/2108/11324 2023/2107/11325 -f 2023/2107/11326 2028/2111/11327 2027/2112/11328 -f 2030/2114/11329 2029/2115/11330 2027/2112/11331 -f 2027/2112/11332 2031/2113/11333 2030/2114/11334 -f 2026/2108/11335 2033/2117/11336 2032/2116/11337 -f 2032/2116/11338 2025/2109/11339 2026/2108/11340 -f 2029/2115/11341 2033/2117/11342 2026/2108/11343 -f 2026/2108/11344 2027/2112/11345 2029/2115/11346 -f 1615/1697/11347 2035/2119/11348 2034/2118/11349 -f 2034/2118/11350 1614/1698/11351 1615/1697/11352 -f 2038/2122/11353 2037/2123/11354 2036/2120/11355 -f 2036/2120/11356 2039/2121/11357 2038/2122/11358 -f 2040/2125/11359 2037/2123/11360 2038/2122/11361 -f 2038/2122/11362 2041/2124/11363 2040/2125/11364 -f 2039/2121/11365 2036/2120/11366 2042/2126/11367 -f 2042/2126/11368 2043/2127/11369 2039/2121/11370 -f 2043/2279/11371 2042/2280/11372 2044/2277/11373 -f 2044/2277/11374 2045/2278/11375 2043/2279/11376 -f 2045/2278/11377 2044/2277/11378 2046/2281/11379 -f 2046/2281/11380 2047/2282/11381 2045/2278/11382 -f 2046/2131/11383 2040/2125/11384 2041/2124/11385 -f 2041/2124/11386 2047/2130/11387 2046/2131/11388 -f 2050/2285/11389 2049/2286/11390 2048/2283/11391 -f 2048/2283/11392 2051/2284/11393 2050/2285/11394 -f 2052/2288/11395 2050/2285/11396 2051/2284/11397 -f 2051/2284/11398 2053/2287/11399 2052/2288/11400 -f 2032/2116/11401 2033/2117/11402 2038/2122/11403 -f 2038/2122/11404 2039/2121/11405 2032/2116/11406 -f 2033/2117/11407 2029/2115/11408 2041/2124/11409 -f 2041/2124/11410 2038/2122/11411 2033/2117/11412 -f 2054/2138/11413 2032/2116/11414 2039/2121/11415 -f 2039/2121/11416 2043/2127/11417 2054/2138/11418 -f 2051/2284/11419 2048/2283/11420 2055/2289/11421 -f 2055/2289/11422 2056/2290/11423 2051/2284/11424 -f 2053/2287/11425 2051/2284/11426 2056/2290/11427 -f 2056/2290/11428 2057/2291/11429 2053/2287/11430 -f 2029/2115/11431 2030/2114/11432 2047/2130/11433 -f 2047/2130/11434 2041/2124/11435 2029/2115/11436 -f 2050/2285/11437 2059/2293/11438 2058/2292/11439 -f 2058/2292/11440 2049/2286/11441 2050/2285/11442 -f 2052/2288/11443 2031/2294/11444 2059/2293/11445 -f 2059/2293/11446 2050/2285/11447 2052/2288/11448 -f 2053/2287/11449 2030/2295/11450 2031/2294/11451 -f 2031/2294/11452 2052/2288/11453 2053/2287/11454 -f 2057/2291/11455 2047/2282/11456 2030/2295/11457 -f 2030/2295/11458 2053/2287/11459 2057/2291/11460 -f 2056/2290/11461 2045/2278/11462 2047/2282/11463 -f 2047/2282/11464 2057/2291/11465 2056/2290/11466 -f 2055/2289/11467 2043/2279/11468 2045/2278/11469 -f 2045/2278/11470 2056/2290/11471 2055/2289/11472 -f 2048/2283/11473 2054/2296/11474 2043/2279/11475 -f 2043/2279/11476 2055/2289/11477 2048/2283/11478 -f 2049/2286/11479 2058/2292/11480 2054/2296/11481 -f 2054/2296/11482 2048/2283/11483 2049/2286/11484 -f 1615/1697/11485 1612/1696/11486 2060/2144/11487 -f 2060/2144/11488 2061/2145/11489 1615/1697/11490 -f 2035/2119/11491 1615/1697/11492 2061/2145/11493 -f 2061/2145/11494 2062/2146/11495 2035/2119/11496 -f 2060/2144/11497 1612/1696/11498 1613/1699/11499 -f 1613/1699/11500 2063/2147/11501 2060/2144/11502 -f 2066/2299/11503 2065/2300/11504 2064/2297/11505 -f 2064/2297/11506 2067/2298/11507 2066/2299/11508 -f 2067/2298/11509 2064/2297/11510 2068/2301/11511 -f 2068/2301/11512 2069/2302/11513 2067/2298/11514 -f 2070/2154/11515 2034/2118/11516 2035/2119/11517 -f 2035/2119/11518 2062/2146/11519 2070/2154/11520 -f 2036/2120/11521 2037/2123/11522 2071/2155/11523 -f 2071/2155/11524 2072/2156/11525 2036/2120/11526 -f 2037/2123/11527 2040/2125/11528 2073/2157/11529 -f 2073/2157/11530 2071/2155/11531 2037/2123/11532 -f 2042/2126/11533 2036/2120/11534 2072/2156/11535 -f 2072/2156/11536 2074/2158/11537 2042/2126/11538 -f 2077/2305/11539 2076/2306/11540 2075/2303/11541 -f 2075/2303/11542 2078/2304/11543 2077/2305/11544 -f 2079/2308/11545 2077/2305/11546 2078/2304/11547 -f 2078/2304/11548 2080/2307/11549 2079/2308/11550 -f 2040/2125/11551 2046/2131/11552 2081/2165/11553 -f 2081/2165/11554 2073/2157/11555 2040/2125/11556 -f 2072/2156/11557 2071/2155/11558 2061/2145/11559 -f 2061/2145/11560 2060/2144/11561 2072/2156/11562 -f 2071/2155/11563 2073/2157/11564 2062/2146/11565 -f 2062/2146/11566 2061/2145/11567 2071/2155/11568 -f 2074/2158/11569 2072/2156/11570 2060/2144/11571 -f 2060/2144/11572 2063/2147/11573 2074/2158/11574 -f 2078/2304/11575 2075/2303/11576 2082/2309/11577 -f 2082/2309/11578 2083/2310/11579 2078/2304/11580 -f 2080/2307/11581 2078/2304/11582 2083/2310/11583 -f 2083/2310/11584 2084/2311/11585 2080/2307/11586 -f 2073/2157/11587 2081/2165/11588 2070/2154/11589 -f 2070/2154/11590 2062/2146/11591 2073/2157/11592 -f 2077/2305/11593 2044/2277/11594 2042/2280/11595 -f 2042/2280/11596 2076/2306/11597 2077/2305/11598 -f 2079/2308/11599 2046/2281/11600 2044/2277/11601 -f 2044/2277/11602 2077/2305/11603 2079/2308/11604 -f 2080/2307/11605 2081/2312/11606 2046/2281/11607 -f 2046/2281/11608 2079/2308/11609 2080/2307/11610 -f 2084/2311/11611 2070/2313/11612 2081/2312/11613 -f 2081/2312/11614 2080/2307/11615 2084/2311/11616 -f 2083/2310/11617 2085/2314/11618 2070/2313/11619 -f 2070/2313/11620 2084/2311/11621 2083/2310/11622 -f 2082/2309/11623 2063/2315/11624 2085/2314/11625 -f 2085/2314/11626 2083/2310/11627 2082/2309/11628 -f 2075/2303/11629 2074/2316/11630 2063/2315/11631 -f 2063/2315/11632 2082/2309/11633 2075/2303/11634 -f 2076/2306/11635 2042/2280/11636 2074/2316/11637 -f 2074/2316/11638 2075/2303/11639 2076/2306/11640 -f 2086/2319/11641 1613/2320/11642 1614/2317/11643 -f 1614/2317/11644 2087/2318/11645 2086/2319/11646 -f 2088/2321/11647 2063/2315/11648 1613/2320/11649 -f 1613/2320/11650 2086/2319/11651 2088/2321/11652 -f 2089/2322/11653 2085/2314/11654 2063/2315/11655 -f 2063/2315/11656 2088/2321/11657 2089/2322/11658 -f 2090/2323/11659 2070/2313/11660 2085/2314/11661 -f 2085/2314/11662 2089/2322/11663 2090/2323/11664 -f 2091/2324/11665 2034/2325/11666 2070/2313/11667 -f 2070/2313/11668 2090/2323/11669 2091/2324/11670 -f 2087/2318/11671 1614/2317/11672 2034/2325/11673 -f 2034/2325/11674 2091/2324/11675 2087/2318/11676 -f 2065/2300/11677 2086/2319/11678 2087/2318/11679 -f 2087/2318/11680 2064/2297/11681 2065/2300/11682 -f 2066/2299/11683 2088/2321/11684 2086/2319/11685 -f 2086/2319/11686 2065/2300/11687 2066/2299/11688 -f 2067/2298/11689 2089/2322/11690 2088/2321/11691 -f 2088/2321/11692 2066/2299/11693 2067/2298/11694 -f 2069/2302/11695 2090/2323/11696 2089/2322/11697 -f 2089/2322/11698 2067/2298/11699 2069/2302/11700 -f 2068/2301/11701 2091/2324/11702 2090/2323/11703 -f 2090/2323/11704 2069/2302/11705 2068/2301/11706 -f 2064/2297/11707 2087/2318/11708 2091/2324/11709 -f 2091/2324/11710 2068/2301/11711 2064/2297/11712 -f 1646/1729/11713 2093/2177/11714 2092/2176/11715 -f 2092/2176/11716 1645/1730/11717 1646/1729/11718 -f 2096/2180/11719 2095/2181/11720 2094/2178/11721 -f 2094/2178/11722 2097/2179/11723 2096/2180/11724 -f 2098/2182/11725 1621/1707/11726 1617/1703/11727 -f 1617/1703/11728 2019/2103/11729 2098/2182/11730 -f 2017/2326/11731 1759/2273/11732 1631/1715/11733 -f 1631/1715/11734 1632/1718/11735 2017/2326/11736 -f 2099/2329/11737 1608/2330/11738 1609/2327/11739 -f 1609/2327/11740 2100/2328/11741 2099/2329/11742 -f 1633/1717/11743 1634/1716/11744 2016/2272/11745 -f 2016/2272/11746 2021/2275/11747 1633/1717/11748 -f 2102/2333/11749 1627/1711/11750 2101/2331/11751 -f 2101/2331/11752 2103/2332/11753 2102/2333/11754 -f 1628/1714/11755 2022/2276/11756 2101/2331/11757 -f 2101/2331/11758 1627/1711/11759 1628/1714/11760 -f 2105/2336/11761 2104/2337/11762 2024/2334/11763 -f 2024/2334/11764 2025/2335/11765 2105/2336/11766 -f 2020/2274/11767 2014/2270/11768 2015/2271/11769 -f 2015/2271/11770 1629/1713/11771 2020/2274/11772 -f 2102/2333/11773 2106/2338/11774 1630/1712/11775 -f 1630/1712/11776 1627/1711/11777 2102/2333/11778 -f 2020/2274/11779 1629/1713/11780 1630/1712/11781 -f 1630/1712/11782 2107/2339/11783 2020/2274/11784 -f 2108/2184/11785 1667/1751/11786 1645/1730/11787 -f 1645/1730/11788 2092/2176/11789 2108/2184/11790 -f 1761/1844/11791 1667/1751/11792 2108/2184/11793 -f 2108/2184/11794 2109/2192/11795 1761/1844/11796 -f 2013/2268/11797 1761/2269/11798 2109/2340/11799 -f 2109/2340/11800 2022/2276/11801 2013/2268/11802 -f 2110/2193/11803 1620/1704/11804 1621/1707/11805 -f 1621/1707/11806 2098/2182/11807 2110/2193/11808 -f 2111/2341/11809 2101/2331/11810 2022/2276/11811 -f 2022/2276/11812 2104/2337/11813 2111/2341/11814 -f 2112/2342/11815 2103/2332/11816 2101/2331/11817 -f 2101/2331/11818 2111/2341/11819 2112/2342/11820 -f 2114/2343/11821 2113/2344/11822 2103/2332/11823 -f 2103/2332/11824 2112/2342/11825 2114/2343/11826 -f 2115/2345/11827 2097/2346/11828 2113/2344/11829 -f 2113/2344/11830 2114/2343/11831 2115/2345/11832 -f 2116/2199/11833 2096/2180/11834 2097/2179/11835 -f 2097/2179/11836 2115/2194/11837 2116/2199/11838 -f 2093/2177/11839 1620/1704/11840 2110/2193/11841 -f 2110/2193/11842 2117/2200/11843 2093/2177/11844 -f 2117/2200/11845 2110/2193/11846 2096/2180/11847 -f 2096/2180/11848 2116/2199/11849 2117/2200/11850 -f 2118/2202/11851 2027/2112/11852 2028/2111/11853 -f 2028/2111/11854 2119/2201/11855 2118/2202/11856 -f 2059/2293/11857 2114/2343/11858 2112/2342/11859 -f 2112/2342/11860 2058/2292/11861 2059/2293/11862 -f 2115/2345/11863 2114/2343/11864 2059/2293/11865 -f 2059/2293/11866 2031/2294/11867 2115/2345/11868 -f 2120/2203/11869 2116/2199/11870 2115/2194/11871 -f 2115/2194/11872 2031/2113/11873 2120/2203/11874 -f 2117/2200/11875 2116/2199/11876 2120/2203/11877 -f 2120/2203/11878 2118/2202/11879 2117/2200/11880 -f 2093/2177/11881 2117/2200/11882 2118/2202/11883 -f 2118/2202/11884 2119/2201/11885 2093/2177/11886 -f 2092/2176/11887 2093/2177/11888 2119/2201/11889 -f 2119/2201/11890 2028/2111/11891 2092/2176/11892 -f 2109/2192/11893 2108/2184/11894 2023/2107/11895 -f 2023/2107/11896 2024/2110/11897 2109/2192/11898 -f 2104/2337/11899 2022/2276/11900 2109/2340/11901 -f 2109/2340/11902 2024/2334/11903 2104/2337/11904 -f 2112/2342/11905 2111/2341/11906 2121/2347/11907 -f 2121/2347/11908 2058/2292/11909 2112/2342/11910 -f 2023/2107/11911 2108/2184/11912 2092/2176/11913 -f 2092/2176/11914 2028/2111/11915 2023/2107/11916 -f 2105/2336/11917 2121/2347/11918 2111/2341/11919 -f 2111/2341/11920 2104/2337/11921 2105/2336/11922 -f 2105/2336/11923 2025/2335/11924 2122/2348/11925 -f 2122/2348/11926 2121/2347/11927 2105/2336/11928 -f 1611/1693/11929 2124/2206/11930 2123/2204/11931 -f 2123/2204/11932 1610/1694/11933 1611/1693/11934 -f 1661/1745/11935 2018/2102/11936 1625/1710/11937 -f 1625/1710/11938 1660/1746/11939 1661/1745/11940 -f 2099/2329/11941 2100/2328/11942 2017/2326/11943 -f 2017/2326/11944 1632/1718/11945 2099/2329/11946 -f 2125/2208/11947 2018/2102/11948 2017/2101/11949 -f 2017/2101/11950 2100/2207/11951 2125/2208/11952 -f 1624/1708/11953 1625/1710/11954 2018/2102/11955 -f 2018/2102/11956 2125/2208/11957 1624/1708/11958 -f 1620/1704/11959 2093/2177/11960 1646/1729/11961 -f 1646/1729/11962 1623/1705/11963 1620/1704/11964 -f 1621/1707/11965 1622/1706/11966 1616/1700/11967 -f 1616/1700/11968 1617/1703/11969 1621/1707/11970 -f 2019/2103/11971 2126/2209/11972 2095/2181/11973 -f 2095/2181/11974 2098/2182/11975 2019/2103/11976 -f 2110/2193/11977 2098/2182/11978 2095/2181/11979 -f 2095/2181/11980 2096/2180/11981 2110/2193/11982 -f 2123/2204/11983 2124/2206/11984 2126/2209/11985 -f 2126/2209/11986 2127/2210/11987 2123/2204/11988 -f 1610/1694/11989 2125/2208/11990 2100/2207/11991 -f 2100/2207/11992 1609/1695/11993 1610/1694/11994 -f 1624/1708/11995 2125/2208/11996 1610/1694/11997 -f 1610/1694/11998 2123/2204/11999 1624/1708/12000 -f 2127/2210/12001 1626/1709/12002 1624/1708/12003 -f 1624/1708/12004 2123/2204/12005 2127/2210/12006 -f 2019/2103/12007 1626/1709/12008 2127/2210/12009 -f 2127/2210/12010 2126/2209/12011 2019/2103/12012 -f 2094/2178/12013 2095/2181/12014 2126/2209/12015 -f 2126/2209/12016 2124/2206/12017 2094/2178/12018 -f 2128/2350/12019 1611/2351/12020 1608/2485/12021 -f 1608/2485/12022 2129/2349/12023 2128/2350/12024 -f 2130/2352/12025 2124/2353/12026 1611/2351/12027 -f 1611/2351/12028 2128/2350/12029 2130/2352/12030 -f 2131/2354/12031 2094/2355/12032 2124/2353/12033 -f 2124/2353/12034 2130/2352/12035 2131/2354/12036 -f 2132/2356/12037 2097/2346/12038 2094/2355/12039 -f 2094/2355/12040 2131/2354/12041 2132/2356/12042 -f 2133/2357/12043 2113/2344/12044 2097/2346/12045 -f 2097/2346/12046 2132/2356/12047 2133/2357/12048 -f 2134/2358/12049 2103/2332/12050 2113/2344/12051 -f 2113/2344/12052 2133/2357/12053 2134/2358/12054 -f 2135/2359/12055 2102/2333/12056 2103/2332/12057 -f 2103/2332/12058 2134/2358/12059 2135/2359/12060 -f 2136/2360/12061 2106/2338/12062 2102/2333/12063 -f 2102/2333/12064 2135/2359/12065 2136/2360/12066 -f 2138/2361/12067 2137/2362/12068 2106/2338/12069 -f 2106/2338/12070 2136/2360/12071 2138/2361/12072 -f 2099/2329/12073 2140/2364/12074 2139/2363/12075 -f 2139/2363/12076 1608/2330/12077 2099/2329/12078 -f 2107/2339/12079 1630/1712/12080 2106/2338/12081 -f 2106/2338/12082 2137/2362/12083 2107/2339/12084 -f 2142/2365/12085 2141/2366/12086 2128/2350/12087 -f 2128/2350/12088 2129/2349/12089 2142/2365/12090 -f 2143/2367/12091 2130/2352/12092 2128/2350/12093 -f 2128/2350/12094 2141/2366/12095 2143/2367/12096 -f 2143/2367/12097 2144/2368/12098 2131/2354/12099 -f 2131/2354/12100 2130/2352/12101 2143/2367/12102 -f 2144/2368/12103 2145/2369/12104 2132/2356/12105 -f 2132/2356/12106 2131/2354/12107 2144/2368/12108 -f 2145/2369/12109 2146/2370/12110 2133/2357/12111 -f 2133/2357/12112 2132/2356/12113 2145/2369/12114 -f 2147/2371/12115 2134/2358/12116 2133/2357/12117 -f 2133/2357/12118 2146/2370/12119 2147/2371/12120 -f 2148/2372/12121 2135/2359/12122 2134/2358/12123 -f 2134/2358/12124 2147/2371/12125 2148/2372/12126 -f 2149/2373/12127 2136/2360/12128 2135/2359/12129 -f 2135/2359/12130 2148/2372/12131 2149/2373/12132 -f 2149/2373/12133 2150/2374/12134 2138/2361/12135 -f 2138/2361/12136 2136/2360/12137 2149/2373/12138 -f 2150/2374/12139 2142/2500/12140 2129/2494/12141 -f 2129/2494/12142 2138/2361/12143 2150/2374/12144 -f 2118/2202/12145 2120/2203/12146 2031/2113/12147 -f 2031/2113/12148 2027/2112/12149 2118/2202/12150 -f 2025/2109/12151 2032/2116/12152 2054/2138/12153 -f 2054/2138/12154 2122/2211/12155 2025/2109/12156 -f 2054/2296/12157 2058/2292/12158 2121/2347/12159 -f 2121/2347/12160 2122/2348/12161 2054/2296/12162 -f 2153/2598/12163 2152/2228/12164 2151/2225/12165 -f 2151/2225/12166 2154/2226/12167 2153/2598/12168 -f 2155/2230/12169 2152/2228/12170 2153/2598/12171 -f 2153/2598/12172 2156/2229/12173 2155/2230/12174 -f 2158/2231/12175 2157/2232/12176 2155/2230/12177 -f 2155/2230/12178 2156/2229/12179 2158/2231/12180 -f 1416/1499/12181 2160/2234/12182 2159/2233/12183 -f 2159/2233/12184 1417/1500/12185 1416/1499/12186 -f 1415/1498/12187 2161/2235/12188 2160/2234/12189 -f 2160/2234/12190 1416/1499/12191 1415/1498/12192 -f 2162/2236/12193 2161/2235/12194 1415/1498/12195 -f 1415/1498/12196 1414/1497/12197 2162/2236/12198 -f 2163/2237/12199 2162/2236/12200 1414/1497/12201 -f 1414/1497/12202 1413/1496/12203 2163/2237/12204 -f 2164/2238/12205 2163/2237/12206 1413/1496/12207 -f 1413/1496/12208 1427/1510/12209 2164/2238/12210 -f 1427/1510/12211 1424/1507/12212 2165/2239/12213 -f 2165/2239/12214 2164/2238/12215 1427/1510/12216 -f 2154/2597/12217 2151/2596/12218 2166/2240/12219 -f 2166/2240/12220 2167/2241/12221 2154/2597/12222 -f 2099/2329/12223 1632/1718/12224 1633/1717/12225 -f 1633/1717/12226 2140/2364/12227 2099/2329/12228 -f 2168/2375/12229 2140/2364/12230 1633/1717/12231 -f 1633/1717/12232 2021/2275/12233 2168/2375/12234 -f 2021/2275/12235 2020/2274/12236 2107/2339/12237 -f 2107/2339/12238 2168/2375/12239 2021/2275/12240 -f 2169/2376/12241 2139/2363/12242 2140/2364/12243 -f 2140/2364/12244 2168/2375/12245 2169/2376/12246 -f 2170/2377/12247 2129/2494/12248 1608/2330/12249 -f 1608/2330/12250 2139/2363/12251 2170/2377/12252 -f 2138/2361/12253 2129/2494/12254 2170/2377/12255 -f 2170/2377/12256 2171/2378/12257 2138/2361/12258 -f 2169/2376/12259 2171/2378/12260 2170/2377/12261 -f 2170/2377/12262 2139/2363/12263 2169/2376/12264 -f 2137/2362/12265 2138/2361/12266 2171/2378/12267 -f 2171/2378/12268 2169/2376/12269 2137/2362/12270 -f 2168/2375/12271 2107/2339/12272 2137/2362/12273 -f 2137/2362/12274 2169/2376/12275 2168/2375/12276 -f 2166/2240/12277 2150/2243/12278 2149/2242/12279 -f 2149/2242/12280 2164/2238/12281 2166/2240/12282 -f 2163/2237/12283 2164/2238/12284 2149/2242/12285 -f 2149/2242/12286 2148/2244/12287 2163/2237/12288 -f 2162/2236/12289 2163/2237/12290 2148/2244/12291 -f 2148/2244/12292 2147/2245/12293 2162/2236/12294 -f 2161/2235/12295 2162/2236/12296 2147/2245/12297 -f 2147/2245/12298 2146/2246/12299 2161/2235/12300 -f 2160/2234/12301 2161/2235/12302 2146/2246/12303 -f 2146/2246/12304 2145/2247/12305 2160/2234/12306 -f 2157/2232/12307 2158/2231/12308 2159/2233/12309 -f 2159/2233/12310 2160/2234/12311 2157/2232/12312 -f 2143/2249/12313 2155/2230/12314 2157/2232/12315 -f 2157/2232/12316 2144/2248/12317 2143/2249/12318 -f 2141/2250/12319 2152/2228/12320 2155/2230/12321 -f 2155/2230/12322 2143/2249/12323 2141/2250/12324 -f 2151/2225/12325 2152/2228/12326 2141/2250/12327 -f 2141/2250/12328 2142/2251/12329 2151/2225/12330 -f 2150/2243/12331 2166/2240/12332 2151/2596/12333 -f 2151/2596/12334 2142/2599/12335 2150/2243/12336 -f 1423/1506/12337 2167/2241/12338 2165/2239/12339 -f 2165/2239/12340 1424/1507/12341 1423/1506/12342 -f 1421/1504/12343 2154/2597/12344 2167/2241/12345 -f 2167/2241/12346 1423/1506/12347 1421/1504/12348 -f 1420/2594/12349 2153/2227/12350 2154/2597/12351 -f 2154/2597/12352 1421/1504/12353 1420/2594/12354 -f 2156/2229/12355 2153/2598/12356 1420/1503/12357 -f 1420/1503/12358 1419/1502/12359 2156/2229/12360 -f 2158/2231/12361 2156/2229/12362 1419/1502/12363 -f 1419/1502/12364 1418/1501/12365 2158/2231/12366 -f 1417/1500/12367 2159/2233/12368 2158/2231/12369 -f 2158/2231/12370 1418/1501/12371 1417/1500/12372 -f 2166/2240/12373 2164/2238/12374 2165/2239/12375 -f 2165/2239/12376 2167/2241/12377 2166/2240/12378 -f 2157/2232/12379 2160/2234/12380 2145/2247/12381 -f 2145/2247/12382 2144/2248/12383 2157/2232/12384 -f 1489/2528/12385 1315/1558/12386 1316/1557/12387 -f 1316/1557/12388 1309/1550/12389 1489/2528/12390 -f 1550/1633/12391 1323/1406/12392 1324/1405/12393 -f 1324/1405/12394 1545/1628/12395 1550/1633/12396 -f 1525/1609/12397 1526/1608/12398 1555/1638/12399 -f 1555/1638/12400 1529/1614/12401 1525/1609/12402 -f 1527/1610/12403 1525/2614/12404 1529/2616/12405 -f 1529/2616/12406 1530/1613/12407 1527/1610/12408 -f 1296/1378/12409 1527/1610/12410 1534/1617/12411 -f 1534/1617/12412 1293/1377/12413 1296/1378/12414 -f 1293/1377/12415 1534/1617/12416 1537/1620/12417 -f 1537/1620/12418 1292/479/12419 1293/1377/12420 -f 1292/479/12421 1537/1620/12422 1540/1623/12423 -f 1540/1623/12424 1506/1425/12425 1292/479/12426 -f 1506/1425/12427 1540/1623/12428 1543/1626/12429 -f 1543/1626/12430 1507/1589/12431 1506/1425/12432 -f 1507/1589/12433 1543/1626/12434 1324/1405/12435 -f 1324/1405/12436 1322/1381/12437 1507/1589/12438 -f 1556/1639/12439 1526/1608/12440 1523/1606/12441 -f 1523/1606/12442 1522/1605/12443 1556/1639/12444 -f 1323/1406/12445 1556/1639/12446 1522/1605/12447 -f 1522/1605/12448 1321/1403/12449 1323/1406/12450 -f 1509/1591/12451 1322/1381/12452 1319/1380/12453 -f 1319/1380/12454 1510/1593/12455 1509/1591/12456 -f 1546/1630/12457 1547/1629/12458 1575/1659/12459 -f 1575/1659/12460 2172/2256/12461 1546/1630/12462 -f 1549/1631/12463 1546/1630/12464 2172/2256/12465 -f 2172/2256/12466 2173/2257/12467 1549/1631/12468 -f 2174/2258/12469 1552/1634/12470 1549/1631/12471 -f 1549/1631/12472 2173/2257/12473 2174/2258/12474 -f 1562/1643/12475 1557/1640/12476 1552/1634/12477 -f 1552/1634/12478 2174/2258/12479 1562/1643/12480 -f 1559/2618/12481 1558/1641/12482 1557/1640/12483 -f 1557/1640/12484 1562/1643/12485 1559/2618/12486 -f 1558/2617/12487 1565/1648/12488 1531/1612/12489 -f 1531/1612/12490 1528/1611/12491 1558/2617/12492 -f 1531/1612/12493 1565/1648/12494 1568/1651/12495 -f 1568/1651/12496 1532/1615/12497 1531/1612/12498 -f 1532/1615/12499 1568/1651/12500 1571/1654/12501 -f 1571/1654/12502 1535/1618/12503 1532/1615/12504 -f 1535/1618/12505 1571/1654/12506 1574/1657/12507 -f 1574/1657/12508 1538/1621/12509 1535/1618/12510 -f 1538/1621/12511 1574/1657/12512 1547/1629/12513 -f 1547/1629/12514 1541/1624/12515 1538/1621/12516 -f 1560/1645/12517 1561/1644/12518 1591/1674/12519 -f 1591/1674/12520 1593/1675/12521 1560/1645/12522 -f 1564/1646/12523 1560/2619/12524 1593/2620/12525 -f 1593/2620/12526 1595/1677/12527 1564/1646/12528 -f 1567/1649/12529 1564/1646/12530 1595/1677/12531 -f 1595/1677/12532 1597/1679/12533 1567/1649/12534 -f 1570/1652/12535 1567/1649/12536 1597/1679/12537 -f 1597/1679/12538 1599/1681/12539 1570/1652/12540 -f 1578/1663/12541 1573/1655/12542 1570/1652/12543 -f 1570/1652/12544 1599/1681/12545 1578/1663/12546 -f 1579/1662/12547 1576/1658/12548 1573/1655/12549 -f 1573/1655/12550 1578/1663/12551 1579/1662/12552 -f 1575/1659/12553 1576/1658/12554 1583/1666/12555 -f 1583/1666/12556 2172/2256/12557 1575/1659/12558 -f 2172/2256/12559 1583/1666/12560 1586/1669/12561 -f 1586/1669/12562 2173/2257/12563 2172/2256/12564 -f 2173/2257/12565 1586/1669/12566 1589/1672/12567 -f 1589/1672/12568 2174/2258/12569 2173/2257/12570 -f 1589/1672/12571 1561/1644/12572 1562/1643/12573 -f 1562/1643/12574 2174/2258/12575 1589/1672/12576 -f 608/2569/12577 609/2573/12578 447/531/12579 -f 447/531/12580 448/530/12581 608/2569/12582 -f 609/2573/12583 611/695/12584 610/694/12585 -f 610/694/12586 447/531/12587 609/2573/12588 -f 614/700/12589 446/532/12590 447/531/12591 -f 447/531/12592 610/694/12593 614/700/12594 -f 2175/2622/12595 2176/2623/12596 2177/2626/12597 -f 2177/2626/12598 2178/2629/12599 2175/2622/12600 -f 2330/2806/12601 2331/2807/12602 2179/2646/12603 -f 2179/2646/12604 2180/2647/12605 2330/2806/12606 -f 2181/2624/12607 2179/2625/12608 2331/2808/12609 -f 2331/2808/12610 2332/2809/12611 2181/2624/12612 -f 2181/2624/12613 2332/2809/12614 2333/2810/12615 -f 2333/2810/12616 2184/2631/12617 2181/2624/12618 -f 2185/2632/12619 2183/2630/12620 2182/2628/12621 -f 2182/2628/12622 2186/2633/12623 2185/2632/12624 -f 2187/2634/12625 2188/2635/12626 2183/2630/12627 -f 2183/2630/12628 2185/2632/12629 2187/2634/12630 -f 2189/2636/12631 2190/2637/12632 2187/2634/12633 -f 2187/2634/12634 2191/2638/12635 2189/2636/12636 -f 2189/2649/12637 2192/2657/12638 2193/2659/12639 -f 2193/2659/12640 2194/2661/12641 2189/2649/12642 -f 2192/2657/12643 2195/2662/12644 2196/2663/12645 -f 2196/2663/12646 2193/2659/12647 2192/2657/12648 -s 2 -f 2195/2639/12649 2197/2640/12650 2198/2641/12651 -f 2198/2641/12652 2199/2642/12653 2195/2639/12654 -s 1 -f 2192/2643/12655 2200/2644/12656 2197/2640/12657 -f 2197/2640/12658 2195/2639/12659 2192/2643/12660 -s 2 -f 2201/2645/12661 2202/2648/12662 2198/2641/12663 -f 2198/2641/12664 2197/2640/12665 2201/2645/12666 -s 1 -f 2200/2644/12667 2203/2650/12668 2201/2645/12669 -f 2201/2645/12670 2197/2640/12671 2200/2644/12672 -s 2 -f 2196/2663/12673 2195/2662/12674 2199/2664/12675 -f 2199/2664/12676 2204/2665/12677 2196/2663/12678 -s 1 -f 2205/2666/12679 2206/2667/12680 2204/2665/12681 -f 2204/2665/12682 2199/2664/12683 2205/2666/12684 -f 2198/2641/12685 2207/2651/12686 2205/2652/12687 -f 2205/2652/12688 2199/2642/12689 2198/2641/12690 -f 2194/2661/12691 2193/2659/12692 2208/2668/12693 -f 2208/2668/12694 2209/2669/12695 2194/2661/12696 -f 2194/2661/12697 2210/2670/12698 2190/2687/12699 -f 2190/2687/12700 2189/2649/12701 2194/2661/12702 -f 2209/2669/12703 2211/2688/12704 2210/2670/12705 -f 2210/2670/12706 2194/2661/12707 2209/2669/12708 -f 2212/2690/12709 2208/2668/12710 2193/2659/12711 -f 2193/2659/12712 2196/2663/12713 2212/2690/12714 -f 2213/2691/12715 2214/2692/12716 2209/2669/12717 -f 2209/2669/12718 2208/2668/12719 2213/2691/12720 -f 2213/2691/12721 2208/2668/12722 2212/2690/12723 -f 2212/2690/12724 2215/2693/12725 2213/2691/12726 -f 2189/2636/12727 2191/2638/12728 2200/2644/12729 -f 2200/2644/12730 2192/2643/12731 2189/2636/12732 -f 2191/2638/12733 2216/2653/12734 2203/2650/12735 -f 2203/2650/12736 2200/2644/12737 2191/2638/12738 -f 2216/2653/12739 2217/2654/12740 2218/2655/12741 -f 2218/2655/12742 2203/2650/12743 2216/2653/12744 -f 2217/2654/12745 2216/2653/12746 2185/2632/12747 -f 2185/2632/12748 2186/2633/12749 2217/2654/12750 -f 2185/2632/12751 2216/2653/12752 2191/2638/12753 -f 2191/2638/12754 2187/2634/12755 2185/2632/12756 -f 2219/2656/12757 2188/2635/12758 2187/2634/12759 -f 2187/2634/12760 2190/2637/12761 2219/2656/12762 -f 2335/2812/12763 2220/2658/12764 2221/2660/12765 -f 2221/2660/12766 2334/2811/12767 2335/2812/12768 -s 2 -f 2220/2694/12769 2222/2695/12770 2223/2696/12771 -f 2223/2696/12772 2224/2697/12773 2220/2694/12774 -s 1 -f 2335/2813/12775 2336/2814/12776 2222/2695/12777 -f 2222/2695/12778 2220/2694/12779 2335/2813/12780 -f 2226/2740/12781 2227/2757/12782 2222/2695/12783 -f 2222/2695/12784 2336/2814/12785 2226/2740/12786 -f 2210/2670/12787 2211/2688/12788 2337/2815/12789 -f 2337/2815/12790 2225/2699/12791 2210/2670/12792 -f 2190/2687/12793 2210/2670/12794 2225/2699/12795 -f 2225/2699/12796 2219/2698/12797 2190/2687/12798 -s 4 -f 2227/2757/12799 2228/2759/12800 2223/2696/12801 -f 2223/2696/12802 2222/2695/12803 2227/2757/12804 -s 8 -f 2228/2759/12805 2227/2757/12806 2180/2647/12807 -f 2180/2647/12808 2229/2760/12809 2228/2759/12810 -s 2 -f 2230/2671/12811 2221/2660/12812 2220/2658/12813 -f 2220/2658/12814 2224/2672/12815 2230/2671/12816 -f 2221/2660/12817 2230/2671/12818 2231/2673/12819 -f 2231/2673/12820 2184/2631/12821 2221/2660/12822 -s 1 -f 2334/2811/12823 2221/2660/12824 2184/2631/12825 -f 2184/2631/12826 2333/2810/12827 2334/2811/12828 -f 2177/2674/12829 2186/2633/12830 2182/2628/12831 -f 2182/2628/12832 2178/2627/12833 2177/2674/12834 -f 2232/2675/12835 2186/2633/12836 2177/2674/12837 -f 2177/2674/12838 2233/2676/12839 2232/2675/12840 -f 2232/2675/12841 2234/2677/12842 2217/2654/12843 -f 2217/2654/12844 2186/2633/12845 2232/2675/12846 -f 2235/2678/12847 2236/2679/12848 2234/2677/12849 -f 2234/2677/12850 2237/2680/12851 2235/2678/12852 -f 2235/2678/12853 2238/2681/12854 2239/2682/12855 -f 2239/2682/12856 2240/2683/12857 2235/2678/12858 -f 2239/2682/12859 2238/2681/12860 2241/2684/12861 -f 2241/2684/12862 2242/2685/12863 2239/2682/12864 -s 2 -f 2239/2682/12865 2243/2686/12866 2244/2689/12867 -f 2244/2689/12868 2240/2683/12869 2239/2682/12870 -f 2243/2686/12871 2239/2682/12872 2242/2685/12873 -f 2242/2685/12874 2245/2700/12875 2243/2686/12876 -s 1 -f 2238/2681/12877 2246/2701/12878 2247/2702/12879 -f 2247/2702/12880 2241/2684/12881 2238/2681/12882 -f 2241/2684/12883 2248/2703/12884 2249/2704/12885 -f 2249/2704/12886 2242/2685/12887 2241/2684/12888 -f 2247/2702/12889 2250/2705/12890 2248/2703/12891 -f 2248/2703/12892 2241/2684/12893 2247/2702/12894 -f 2237/2680/12895 2246/2701/12896 2238/2681/12897 -f 2238/2681/12898 2235/2678/12899 2237/2680/12900 -f 2251/2706/12901 2252/2707/12902 2246/2701/12903 -f 2246/2701/12904 2237/2680/12905 2251/2706/12906 -f 2234/2677/12907 2232/2675/12908 2251/2706/12909 -f 2251/2706/12910 2237/2680/12911 2234/2677/12912 -f 2236/2679/12913 2235/2678/12914 2240/2683/12915 -f 2240/2683/12916 2253/2708/12917 2236/2679/12918 -f 2217/2654/12919 2234/2677/12920 2236/2679/12921 -f 2236/2679/12922 2218/2655/12923 2217/2654/12924 -f 2236/2679/12925 2253/2708/12926 2254/2709/12927 -f 2254/2709/12928 2218/2655/12929 2236/2679/12930 -s 2 -f 2254/2709/12931 2253/2708/12932 2255/2710/12933 -f 2255/2710/12934 2256/2711/12935 2254/2709/12936 -f 2240/2683/12937 2244/2689/12938 2255/2710/12939 -f 2255/2710/12940 2253/2708/12941 2240/2683/12942 -s 1 -f 2233/2676/12943 2257/2712/12944 2251/2706/12945 -f 2251/2706/12946 2232/2675/12947 2233/2676/12948 -f 2257/2741/12949 2233/2742/12950 2258/2743/12951 -f 2258/2743/12952 2259/2744/12953 2257/2741/12954 -s 2 -f 2251/2706/12955 2257/2712/12956 2260/2713/12957 -f 2260/2713/12958 2261/2714/12959 2251/2706/12960 -s 1 -f 2262/2745/12961 2263/2746/12962 2322/2796/12963 -f 2322/2796/12964 2324/2799/12965 2262/2745/12966 -s 2 -f 2262/2745/12967 2265/2749/12968 2266/2750/12969 -f 2266/2750/12970 2263/2746/12971 2262/2745/12972 -f 2265/2749/12973 2262/2745/12974 2267/2751/12975 -f 2267/2751/12976 2268/2752/12977 2265/2749/12978 -s 1 -f 2324/2799/12979 2325/2800/12980 2267/2751/12981 -f 2267/2751/12982 2262/2745/12983 2324/2799/12984 -f 2259/2744/12985 2264/2748/12986 2260/2747/12987 -f 2260/2747/12988 2257/2741/12989 2259/2744/12990 -f 2259/2744/12991 2270/2754/12992 2269/2753/12993 -f 2269/2753/12994 2264/2748/12995 2259/2744/12996 -f 2259/2744/12997 2271/2755/12998 2272/2756/12999 -f 2272/2756/13000 2270/2754/13001 2259/2744/13002 -f 2273/2758/13003 2271/2755/13004 2259/2744/13005 -f 2259/2744/13006 2258/2743/13007 2273/2758/13008 -f 2274/2715/13009 2323/2798/13010 2322/2797/13011 -f 2322/2797/13012 2263/2716/13013 2274/2715/13014 -s 2 -f 2274/2715/13015 2275/2717/13016 2276/2718/13017 -f 2276/2718/13018 2277/2719/13019 2274/2715/13020 -s 4 -f 2275/2717/13021 2274/2715/13022 2263/2716/13023 -f 2263/2716/13024 2266/2720/13025 2275/2717/13026 -s 1 -f 2323/2798/13027 2274/2715/13028 2277/2719/13029 -f 2277/2719/13030 2326/2801/13031 2323/2798/13032 -f 2177/2626/13033 2176/2623/13034 2258/2743/13035 -f 2258/2743/13036 2233/2742/13037 2177/2626/13038 -s 8 -f 2279/2722/13039 2280/2723/13040 2179/2625/13041 -f 2179/2625/13042 2181/2624/13043 2279/2722/13044 -s 2 -f 2184/2631/13045 2231/2673/13046 2279/2722/13047 -f 2279/2722/13048 2181/2624/13049 2184/2631/13050 -s 8 -f 2280/2761/13051 2229/2760/13052 2180/2647/13053 -f 2180/2647/13054 2179/2646/13055 2280/2761/13056 -s 1 -f 2176/2623/13057 2175/2622/13058 2337/2815/13059 -f 2337/2815/13060 2211/2688/13061 2176/2623/13062 -f 2227/2757/13063 2226/2740/13064 2330/2806/13065 -f 2330/2806/13066 2180/2647/13067 2227/2757/13068 -f 2214/2692/13069 2273/2758/13070 2258/2743/13071 -f 2258/2743/13072 2176/2623/13073 2214/2692/13074 -f 2176/2623/13075 2211/2688/13076 2209/2669/13077 -f 2209/2669/13078 2214/2692/13079 2176/2623/13080 -f 2214/2692/13081 2213/2691/13082 2281/2762/13083 -f 2281/2762/13084 2273/2758/13085 2214/2692/13086 -f 2281/2762/13087 2282/2765/13088 2271/2755/13089 -f 2271/2755/13090 2273/2758/13091 2281/2762/13092 -f 2282/2765/13093 2283/2766/13094 2284/2767/13095 -f 2284/2767/13096 2285/2768/13097 2282/2765/13098 -s 2 -f 2283/2766/13099 2286/2769/13100 2287/2772/13101 -f 2287/2772/13102 2284/2767/13103 2283/2766/13104 -s 1 -f 2286/2769/13105 2288/2763/13106 2289/2771/13107 -f 2289/2771/13108 2290/2776/13109 2286/2769/13110 -f 2288/2763/13111 2291/2764/13112 2292/2770/13113 -f 2292/2770/13114 2289/2771/13115 2288/2763/13116 -f 2293/2773/13117 2294/2774/13118 2292/2770/13119 -f 2292/2770/13120 2291/2764/13121 2293/2773/13122 -f 2294/2774/13123 2293/2773/13124 2204/2665/13125 -f 2204/2665/13126 2206/2667/13127 2294/2774/13128 -s 2 -f 2212/2690/13129 2196/2663/13130 2204/2665/13131 -f 2204/2665/13132 2293/2773/13133 2212/2690/13134 -f 2215/2693/13135 2212/2690/13136 2293/2773/13137 -f 2293/2773/13138 2291/2764/13139 2215/2693/13140 -f 2215/2693/13141 2291/2764/13142 2288/2763/13143 -f 2288/2763/13144 2295/2775/13145 2215/2693/13146 -f 2288/2763/13147 2286/2769/13148 2283/2766/13149 -f 2283/2766/13150 2295/2775/13151 2288/2763/13152 -s 1 -f 2213/2691/13153 2215/2693/13154 2295/2775/13155 -f 2295/2775/13156 2281/2762/13157 2213/2691/13158 -f 2281/2762/13159 2295/2775/13160 2283/2766/13161 -f 2283/2766/13162 2282/2765/13163 2281/2762/13164 -f 2287/2772/13165 2286/2769/13166 2290/2776/13167 -f 2290/2776/13168 2296/2777/13169 2287/2772/13170 -s 2 -f 2287/2772/13171 2297/2778/13172 2298/2779/13173 -f 2298/2779/13174 2284/2767/13175 2287/2772/13176 -f 2298/2779/13177 2297/2778/13178 2299/2780/13179 -f 2299/2780/13180 2249/2781/13181 2298/2779/13182 -s 1 -f 2298/2779/13183 2300/2782/13184 2285/2768/13185 -f 2285/2768/13186 2284/2767/13187 2298/2779/13188 -f 2298/2779/13189 2249/2781/13190 2248/2783/13191 -f 2248/2783/13192 2300/2782/13193 2298/2779/13194 -f 2300/2782/13195 2301/2784/13196 2272/2756/13197 -f 2272/2756/13198 2285/2768/13199 2300/2782/13200 -f 2301/2784/13201 2300/2782/13202 2248/2783/13203 -f 2248/2783/13204 2250/2785/13205 2301/2784/13206 -f 2270/2754/13207 2272/2756/13208 2301/2784/13209 -f 2301/2784/13210 2302/2786/13211 2270/2754/13212 -f 2250/2785/13213 2303/2787/13214 2302/2786/13215 -f 2302/2786/13216 2301/2784/13217 2250/2785/13218 -f 2271/2755/13219 2282/2765/13220 2285/2768/13221 -f 2285/2768/13222 2272/2756/13223 2271/2755/13224 -s 2 -f 2242/2685/13225 2249/2704/13226 2299/2724/13227 -f 2299/2724/13228 2245/2700/13229 2242/2685/13230 -s 1 -f 2304/2725/13231 2245/2700/13232 2299/2724/13233 -f 2299/2724/13234 2305/2726/13235 2304/2725/13236 -f 2306/2727/13237 2243/2686/13238 2245/2700/13239 -f 2245/2700/13240 2304/2725/13241 2306/2727/13242 -f 2244/2689/13243 2243/2686/13244 2306/2727/13245 -f 2306/2727/13246 2307/2728/13247 2244/2689/13248 -f 2299/2780/13249 2297/2778/13250 2308/2788/13251 -f 2308/2788/13252 2305/2789/13253 2299/2780/13254 -f 2287/2772/13255 2296/2777/13256 2308/2788/13257 -f 2308/2788/13258 2297/2778/13259 2287/2772/13260 -f 2254/2709/13261 2201/2645/13262 2203/2650/13263 -f 2203/2650/13264 2218/2655/13265 2254/2709/13266 -s 2 -f 2254/2709/13267 2256/2711/13268 2202/2648/13269 -f 2202/2648/13270 2201/2645/13271 2254/2709/13272 -s 1 -f 2261/2714/13273 2278/2721/13274 2252/2707/13275 -f 2252/2707/13276 2251/2706/13277 2261/2714/13278 -f 2309/2729/13279 2326/2801/13280 2277/2719/13281 -f 2277/2719/13282 2310/2730/13283 2309/2729/13284 -f 2278/2721/13285 2327/2802/13286 2311/2731/13287 -f 2311/2731/13288 2252/2707/13289 2278/2721/13290 -f 2247/2702/13291 2246/2701/13292 2252/2707/13293 -f 2252/2707/13294 2311/2731/13295 2247/2702/13296 -f 2303/2732/13297 2250/2705/13298 2247/2702/13299 -f 2247/2702/13300 2311/2731/13301 2303/2732/13302 -f 2312/2733/13303 2303/2732/13304 2311/2731/13305 -f 2311/2731/13306 2327/2802/13307 2312/2733/13308 -f 2328/2803/13309 2313/2791/13310 2314/2792/13311 -f 2314/2792/13312 2329/2805/13313 2328/2803/13314 -s 4 -f 2316/2794/13315 2317/2795/13316 2314/2792/13317 -f 2314/2792/13318 2313/2791/13319 2316/2794/13320 -f 2318/2734/13321 2316/2735/13322 2313/2736/13323 -f 2313/2736/13324 2310/2730/13325 2318/2734/13326 -f 2276/2718/13327 2318/2734/13328 2310/2730/13329 -f 2310/2730/13330 2277/2719/13331 2276/2718/13332 -s 1 -f 2328/2804/13333 2309/2729/13334 2310/2730/13335 -f 2310/2730/13336 2313/2736/13337 2328/2804/13338 -s 8 -f 2314/2792/13339 2317/2795/13340 2268/2752/13341 -f 2268/2752/13342 2267/2751/13343 2314/2792/13344 -s 1 -f 2325/2800/13345 2329/2805/13346 2314/2792/13347 -f 2314/2792/13348 2267/2751/13349 2325/2800/13350 -f 2302/2786/13351 2303/2787/13352 2312/2790/13353 -f 2312/2790/13354 2315/2793/13355 2302/2786/13356 -f 2315/2793/13357 2269/2753/13358 2270/2754/13359 -f 2270/2754/13360 2302/2786/13361 2315/2793/13362 -f 2319/2737/13363 2255/2710/13364 2244/2689/13365 -f 2244/2689/13366 2307/2728/13367 2319/2737/13368 -f 2320/2738/13369 2256/2711/13370 2255/2710/13371 -f 2255/2710/13372 2319/2737/13373 2320/2738/13374 -f 2256/2711/13375 2320/2738/13376 2321/2739/13377 -f 2321/2739/13378 2202/2648/13379 2256/2711/13380 -f 2321/2739/13381 2207/2651/13382 2198/2641/13383 -f 2198/2641/13384 2202/2648/13385 2321/2739/13386 -f 2260/2713/13387 2322/2797/13388 2323/2798/13389 -f 2323/2798/13390 2261/2714/13391 2260/2713/13392 -f 2322/2796/13393 2260/2747/13394 2264/2748/13395 -f 2264/2748/13396 2324/2799/13397 2322/2796/13398 -f 2324/2799/13399 2264/2748/13400 2269/2753/13401 -f 2269/2753/13402 2325/2800/13403 2324/2799/13404 -f 2326/2801/13405 2278/2721/13406 2261/2714/13407 -f 2261/2714/13408 2323/2798/13409 2326/2801/13410 -f 2309/2729/13411 2327/2802/13412 2278/2721/13413 -f 2278/2721/13414 2326/2801/13415 2309/2729/13416 -f 2327/2802/13417 2309/2729/13418 2328/2804/13419 -f 2328/2804/13420 2312/2733/13421 2327/2802/13422 -f 2329/2805/13423 2315/2793/13424 2312/2790/13425 -f 2312/2790/13426 2328/2803/13427 2329/2805/13428 -f 2325/2800/13429 2269/2753/13430 2315/2793/13431 -f 2315/2793/13432 2329/2805/13433 2325/2800/13434 -f 2178/2629/13435 2331/2807/13436 2330/2806/13437 -f 2330/2806/13438 2175/2622/13439 2178/2629/13440 -f 2331/2808/13441 2178/2627/13442 2182/2628/13443 -f 2182/2628/13444 2332/2809/13445 2331/2808/13446 -f 2332/2809/13447 2182/2628/13448 2183/2630/13449 -f 2183/2630/13450 2333/2810/13451 2332/2809/13452 -f 2188/2635/13453 2334/2811/13454 2333/2810/13455 -f 2333/2810/13456 2183/2630/13457 2188/2635/13458 -f 2219/2656/13459 2335/2812/13460 2334/2811/13461 -f 2334/2811/13462 2188/2635/13463 2219/2656/13464 -f 2335/2813/13465 2219/2698/13466 2225/2699/13467 -f 2225/2699/13468 2336/2814/13469 2335/2813/13470 -f 2336/2814/13471 2225/2699/13472 2337/2815/13473 -f 2337/2815/13474 2226/2740/13475 2336/2814/13476 -f 2175/2622/13477 2330/2806/13478 2226/2740/13479 -f 2226/2740/13480 2337/2815/13481 2175/2622/13482 -f 2340/2818/13483 2341/2819/13484 2338/2816/13485 -f 2338/2816/13486 2339/2817/13487 2340/2818/13488 -f 2426/2820/13489 2427/2821/13490 2344/2822/13491 -f 2344/2822/13492 2338/2816/13493 2426/2820/13494 -f 2346/2825/13495 2347/2826/13496 2448/2823/13497 -f 2448/2823/13498 2450/2824/13499 2346/2825/13500 -f 2451/2827/13501 2349/2828/13502 2346/2825/13503 -f 2346/2825/13504 2450/2824/13505 2451/2827/13506 -f 2428/2830/13507 2429/2831/13508 2348/2832/13509 -f 2348/2832/13510 2345/2829/13511 2428/2830/13512 -f 2351/2833/13513 2350/2834/13514 2341/2819/13515 -f 2341/2819/13516 2340/2818/13517 2351/2833/13518 -f 2352/2835/13519 2353/2836/13520 2350/2834/13521 -f 2350/2834/13522 2351/2833/13523 2352/2835/13524 -f 2350/2834/13525 2353/2836/13526 2430/2837/13527 -f 2430/2837/13528 2429/2831/13529 2350/2834/13530 -f 2354/2838/13531 2430/2837/13532 2431/2839/13533 -f 2431/2839/13534 2356/2840/13535 2354/2838/13536 -f 2357/2842/13537 2349/2828/13538 2451/2827/13539 -f 2451/2827/13540 2452/2841/13541 2357/2842/13542 -f 2358/2844/13543 2357/2842/13544 2452/2841/13545 -f 2452/2841/13546 2453/2843/13547 2358/2844/13548 -f 2432/2846/13549 2431/2839/13550 2355/2847/13551 -f 2355/2847/13552 2359/2845/13553 2432/2846/13554 -f 2362/2849/13555 2363/2850/13556 2359/2845/13557 -f 2359/2845/13558 2361/2848/13559 2362/2849/13560 -f 2361/2848/13561 2359/2845/13562 2355/2847/13563 -f 2355/2847/13564 2364/2851/13565 2361/2848/13566 -f 2365/2852/13567 2360/2853/13568 2432/2846/13569 -f 2432/2846/13570 2433/2854/13571 2365/2852/13572 -f 2355/2847/13573 2353/2836/13574 2352/2835/13575 -f 2352/2835/13576 2364/2851/13577 2355/2847/13578 -f 2345/2829/13579 2342/2855/13580 2426/2820/13581 -f 2426/2820/13582 2428/2830/13583 2345/2829/13584 -f 2366/2856/13585 2343/2857/13586 2448/2823/13587 -f 2448/2823/13588 2347/2826/13589 2366/2856/13590 -f 2368/2859/13591 2343/2857/13592 2366/2856/13593 -f 2366/2856/13594 2367/2858/13595 2368/2859/13596 -f 2370/2861/13597 2368/2859/13598 2367/2858/13599 -f 2367/2858/13600 2369/2860/13601 2370/2861/13602 -f 2371/2862/13603 2372/2863/13604 2370/2861/13605 -f 2370/2861/13606 2369/2860/13607 2371/2862/13608 -f 2434/2865/13609 2435/2866/13610 2456/2867/13611 -f 2456/2867/13612 2457/2864/13613 2434/2865/13614 -f 2458/2868/13615 2436/2869/13616 2434/2865/13617 -f 2434/2865/13618 2457/2864/13619 2458/2868/13620 -f 2459/2870/13621 2437/2871/13622 2436/2869/13623 -f 2436/2869/13624 2458/2868/13625 2459/2870/13626 -f 2379/2874/13627 2380/2875/13628 2378/2872/13629 -f 2378/2872/13630 2376/2873/13631 2379/2874/13632 -f 2371/2862/13633 2379/2874/13634 2376/2873/13635 -f 2376/2873/13636 2372/2863/13637 2371/2862/13638 -f 2377/2876/13639 2437/2871/13640 2438/2877/13641 -f 2438/2877/13642 2381/2878/13643 2377/2876/13644 -f 2382/2880/13645 2383/2881/13646 2375/2879/13647 -f 2375/2879/13648 2377/2876/13649 2382/2880/13650 -f 2375/2879/13651 2383/2881/13652 2384/2882/13653 -f 2384/2882/13654 2373/2883/13655 2375/2879/13656 -f 2384/2882/13657 2385/2885/13658 2374/2884/13659 -f 2374/2884/13660 2373/2883/13661 2384/2882/13662 -f 2386/2886/13663 2344/2822/13664 2374/2884/13665 -f 2374/2884/13666 2385/2885/13667 2386/2886/13668 -f 2344/2822/13669 2386/2886/13670 2339/2817/13671 -f 2339/2817/13672 2338/2816/13673 2344/2822/13674 -f 2449/2887/13675 2456/2867/13676 2435/2866/13677 -f 2435/2866/13678 2427/2821/13679 2449/2887/13680 -f 2454/2888/13681 2387/2889/13682 2358/2844/13683 -f 2358/2844/13684 2453/2843/13685 2454/2888/13686 -f 2388/2891/13687 2387/2889/13688 2454/2888/13689 -f 2454/2888/13690 2455/2890/13691 2388/2891/13692 -f 2390/2893/13693 2388/2953/13694 2455/2952/13695 -f 2455/2952/13696 2461/2892/13697 2390/2893/13698 -f 2392/2895/13699 2390/2893/13700 2461/2892/13701 -f 2461/2892/13702 2462/2894/13703 2392/2895/13704 -f 2392/2895/13705 2462/2894/13706 2463/2896/13707 -f 2463/2896/13708 2394/2897/13709 2392/2895/13710 -f 2394/2897/13711 2463/2896/13712 2464/2898/13713 -f 2464/2898/13714 2396/2899/13715 2394/2897/13716 -f 2396/2899/13717 2464/2898/13718 2465/2900/13719 -f 2465/2900/13720 2398/2901/13721 2396/2899/13722 -f 2400/2903/13723 2398/2901/13724 2465/2900/13725 -f 2465/2900/13726 2466/2902/13727 2400/2903/13728 -f 2402/2905/13729 2439/2906/13730 2440/2907/13731 -f 2440/2907/13732 2401/2904/13733 2402/2905/13734 -f 2403/2908/13735 2404/2909/13736 2402/2905/13737 -f 2402/2905/13738 2401/2904/13739 2403/2908/13740 -f 2405/2910/13741 2441/2911/13742 2439/2906/13743 -f 2439/2906/13744 2402/2905/13745 2405/2910/13746 -f 2405/2910/13747 2402/2905/13748 2404/2909/13749 -f 2404/2909/13750 2407/2912/13751 2405/2910/13752 -f 2409/2914/13753 2403/2908/13754 2401/2904/13755 -f 2401/2904/13756 2408/2913/13757 2409/2914/13758 -f 2442/2916/13759 2440/2907/13760 2397/2917/13761 -f 2397/2917/13762 2395/2915/13763 2442/2916/13764 -f 2467/2918/13765 2410/2919/13766 2400/2903/13767 -f 2400/2903/13768 2466/2902/13769 2467/2918/13770 -f 2412/2921/13771 2410/2919/13772 2467/2918/13773 -f 2467/2918/13774 2468/2920/13775 2412/2921/13776 -f 2413/2922/13777 2414/2923/13778 2412/2921/13779 -f 2412/2921/13780 2468/2920/13781 2413/2922/13782 -f 2416/2925/13783 2443/2926/13784 2444/2927/13785 -f 2444/2927/13786 2415/2924/13787 2416/2925/13788 -f 2406/2929/13789 2441/2911/13790 2444/2927/13791 -f 2444/2927/13792 2411/2928/13793 2406/2929/13794 -f 2417/2930/13795 2408/2913/13796 2442/2916/13797 -f 2442/2916/13798 2445/2931/13799 2417/2930/13800 -f 2445/2931/13801 2446/2932/13802 2418/2933/13803 -f 2418/2933/13804 2417/2930/13805 2445/2931/13806 -f 2420/2935/13807 2417/2930/13808 2418/2933/13809 -f 2418/2933/13810 2419/2934/13811 2420/2935/13812 -f 2422/2937/13813 2419/2934/13814 2418/2933/13815 -f 2418/2933/13816 2421/2936/13817 2422/2937/13818 -f 2421/2936/13819 2418/2933/13820 2446/2932/13821 -f 2446/2932/13822 2447/2938/13823 2421/2936/13824 -f 2363/2949/13825 2362/2948/13826 2422/2937/13827 -f 2422/2937/13828 2421/2936/13829 2363/2949/13830 -f 2433/2951/13831 2447/2938/13832 2389/2939/13833 -f 2389/2939/13834 2365/2950/13835 2433/2951/13836 -f 2409/2914/13837 2408/2913/13838 2417/2930/13839 -f 2417/2930/13840 2420/2935/13841 2409/2914/13842 -f 2405/2910/13843 2407/2912/13844 2423/2940/13845 -f 2423/2940/13846 2415/2924/13847 2405/2910/13848 -f 2423/2940/13849 2424/2941/13850 2416/2925/13851 -f 2416/2925/13852 2415/2924/13853 2423/2940/13854 -f 2425/2942/13855 2381/2957/13856 2416/2925/13857 -f 2416/2925/13858 2424/2941/13859 2425/2942/13860 -f 2377/2876/13861 2381/2878/13862 2425/2958/13863 -f 2425/2958/13864 2382/2880/13865 2377/2876/13866 -f 2381/2957/13867 2438/2956/13868 2443/2926/13869 -f 2443/2926/13870 2416/2925/13871 2381/2957/13872 -f 2378/2954/13873 2380/2955/13874 2414/2923/13875 -f 2414/2923/13876 2413/2922/13877 2378/2954/13878 -f 2342/2855/13879 2449/2887/13880 2427/2821/13881 -f 2427/2821/13882 2426/2820/13883 2342/2855/13884 -f 2341/2819/13885 2350/2834/13886 2429/2831/13887 -f 2429/2831/13888 2428/2830/13889 2341/2819/13890 -f 2430/2837/13891 2354/2838/13892 2348/2832/13893 -f 2348/2832/13894 2429/2831/13895 2430/2837/13896 -f 2353/2836/13897 2355/2847/13898 2431/2839/13899 -f 2431/2839/13900 2430/2837/13901 2353/2836/13902 -f 2360/2853/13903 2356/2840/13904 2431/2839/13905 -f 2431/2839/13906 2432/2846/13907 2360/2853/13908 -f 2359/2845/13909 2363/2850/13910 2433/2854/13911 -f 2433/2854/13912 2432/2846/13913 2359/2845/13914 -f 2338/2816/13915 2341/2819/13916 2428/2830/13917 -f 2428/2830/13918 2426/2820/13919 2338/2816/13920 -f 2373/2883/13921 2374/2884/13922 2435/2866/13923 -f 2435/2866/13924 2434/2865/13925 2373/2883/13926 -f 2436/2869/13927 2375/2879/13928 2373/2883/13929 -f 2373/2883/13930 2434/2865/13931 2436/2869/13932 -f 2437/2871/13933 2377/2876/13934 2375/2879/13935 -f 2375/2879/13936 2436/2869/13937 2437/2871/13938 -f 2437/2871/13939 2459/2870/13940 2460/2943/13941 -f 2460/2943/13942 2438/2877/13943 2437/2871/13944 -f 2374/2884/13945 2344/2822/13946 2427/2821/13947 -f 2427/2821/13948 2435/2866/13949 2374/2884/13950 -f 2399/2944/13951 2397/2917/13952 2440/2907/13953 -f 2440/2907/13954 2439/2906/13955 2399/2944/13956 -f 2441/2911/13957 2406/2929/13958 2399/2944/13959 -f 2399/2944/13960 2439/2906/13961 2441/2911/13962 -f 2442/2916/13963 2408/2913/13964 2401/2904/13965 -f 2401/2904/13966 2440/2907/13967 2442/2916/13968 -f 2443/2926/13969 2469/2945/13970 2411/2928/13971 -f 2411/2928/13972 2444/2927/13973 2443/2926/13974 -f 2441/2911/13975 2405/2910/13976 2415/2924/13977 -f 2415/2924/13978 2444/2927/13979 2441/2911/13980 -f 2395/2915/13981 2393/2946/13982 2445/2931/13983 -f 2445/2931/13984 2442/2916/13985 2395/2915/13986 -f 2393/2946/13987 2391/2947/13988 2446/2932/13989 -f 2446/2932/13990 2445/2931/13991 2393/2946/13992 -f 2391/2947/13993 2389/2939/13994 2447/2938/13995 -f 2447/2938/13996 2446/2932/13997 2391/2947/13998 -f 2363/2949/13999 2421/2936/14000 2447/2938/14001 -f 2447/2938/14002 2433/2951/14003 2363/2949/14004 -f 2438/2956/14005 2460/2959/14006 2469/2945/14007 -f 2469/2945/14008 2443/2926/14009 2438/2956/14010 -f 2342/2855/14011 2448/2823/14012 2343/2857/14013 -f 2343/2857/14014 2449/2887/14015 2342/2855/14016 -f 2448/2823/14017 2342/2855/14018 2345/2829/14019 -f 2345/2829/14020 2450/2824/14021 2448/2823/14022 -f 2450/2824/14023 2345/2829/14024 2348/2832/14025 -f 2348/2832/14026 2451/2827/14027 2450/2824/14028 -f 2354/2838/14029 2452/2841/14030 2451/2827/14031 -f 2451/2827/14032 2348/2832/14033 2354/2838/14034 -f 2356/2840/14035 2453/2843/14036 2452/2841/14037 -f 2452/2841/14038 2354/2838/14039 2356/2840/14040 -f 2360/2853/14041 2454/2888/14042 2453/2843/14043 -f 2453/2843/14044 2356/2840/14045 2360/2853/14046 -f 2365/2852/14047 2455/2890/14048 2454/2888/14049 -f 2454/2888/14050 2360/2853/14051 2365/2852/14052 -f 2368/2859/14053 2456/2867/14054 2449/2887/14055 -f 2449/2887/14056 2343/2857/14057 2368/2859/14058 -f 2370/2861/14059 2457/2864/14060 2456/2867/14061 -f 2456/2867/14062 2368/2859/14063 2370/2861/14064 -f 2372/2863/14065 2458/2868/14066 2457/2864/14067 -f 2457/2864/14068 2370/2861/14069 2372/2863/14070 -f 2458/2868/14071 2372/2863/14072 2376/2873/14073 -f 2376/2873/14074 2459/2870/14075 2458/2868/14076 -f 2378/2872/14077 2460/2943/14078 2459/2870/14079 -f 2459/2870/14080 2376/2873/14081 2378/2872/14082 -f 2455/2952/14083 2365/2950/14084 2389/2939/14085 -f 2389/2939/14086 2461/2892/14087 2455/2952/14088 -f 2461/2892/14089 2389/2939/14090 2391/2947/14091 -f 2391/2947/14092 2462/2894/14093 2461/2892/14094 -f 2462/2894/14095 2391/2947/14096 2393/2946/14097 -f 2393/2946/14098 2463/2896/14099 2462/2894/14100 -f 2463/2896/14101 2393/2946/14102 2395/2915/14103 -f 2395/2915/14104 2464/2898/14105 2463/2896/14106 -f 2464/2898/14107 2395/2915/14108 2397/2917/14109 -f 2397/2917/14110 2465/2900/14111 2464/2898/14112 -f 2465/2900/14113 2397/2917/14114 2399/2944/14115 -f 2399/2944/14116 2466/2902/14117 2465/2900/14118 -f 2406/2929/14119 2467/2918/14120 2466/2902/14121 -f 2466/2902/14122 2399/2944/14123 2406/2929/14124 -f 2467/2918/14125 2406/2929/14126 2411/2928/14127 -f 2411/2928/14128 2468/2920/14129 2467/2918/14130 -f 2468/2920/14131 2411/2928/14132 2469/2945/14133 -f 2469/2945/14134 2413/2922/14135 2468/2920/14136 -f 2460/2959/14137 2378/2954/14138 2413/2922/14139 -f 2413/2922/14140 2469/2945/14141 2460/2959/14142 -f 2486/2962/14143 2487/2963/14144 2524/2960/14145 -f 2524/2960/14146 2532/2961/14147 2486/2962/14148 -f 2471/2965/14149 2524/2960/14150 2487/2963/14151 -f 2487/2963/14152 2479/2964/14153 2471/2965/14154 -f 2472/2967/14155 2471/2965/14156 2479/2964/14157 -f 2479/2964/14158 2480/2966/14159 2472/2967/14160 -f 2473/2969/14161 2472/2967/14162 2480/2966/14163 -f 2480/2966/14164 2481/2968/14165 2473/2969/14166 -f 2474/2971/14167 2473/3024/14168 2481/3023/14169 -f 2481/3023/14170 2482/2970/14171 2474/2971/14172 -f 2475/2973/14173 2474/2971/14174 2482/2970/14175 -f 2482/2970/14176 2483/2972/14177 2475/2973/14178 -f 2476/2975/14179 2475/2973/14180 2483/2972/14181 -f 2483/2972/14182 2484/2974/14183 2476/2975/14184 -f 2477/2977/14185 2476/2975/14186 2484/2974/14187 -f 2484/2974/14188 2485/2976/14189 2477/2977/14190 -f 2532/2961/14191 2477/2977/14192 2485/2976/14193 -f 2485/2976/14194 2486/2962/14195 2532/2961/14196 -f 2495/2978/14197 2494/2979/14198 2479/2964/14199 -f 2479/2964/14200 2487/2963/14201 2495/2978/14202 -f 2480/2966/14203 2479/2964/14204 2494/2979/14205 -f 2494/2979/14206 2493/2980/14207 2480/2966/14208 -f 2481/2968/14209 2480/2966/14210 2493/2980/14211 -f 2493/2980/14212 2492/2981/14213 2481/2968/14214 -f 2482/2970/14215 2481/3023/14216 2492/3025/14217 -f 2492/3025/14218 2491/2982/14219 2482/2970/14220 -f 2483/2972/14221 2482/2970/14222 2491/2982/14223 -f 2491/2982/14224 2490/2983/14225 2483/2972/14226 -f 2484/2974/14227 2483/2972/14228 2490/2983/14229 -f 2490/2983/14230 2489/2984/14231 2484/2974/14232 -f 2485/2976/14233 2484/2974/14234 2489/2984/14235 -f 2489/2984/14236 2488/2985/14237 2485/2976/14238 -f 2486/2962/14239 2485/2976/14240 2488/2985/14241 -f 2488/2985/14242 2496/2986/14243 2486/2962/14244 -f 2487/2963/14245 2486/2962/14246 2496/2986/14247 -f 2496/2986/14248 2495/2978/14249 2487/2963/14250 -f 2478/2989/14251 2470/2990/14252 2497/2987/14253 -f 2497/2987/14254 2505/2988/14255 2478/2989/14256 -f 2470/2990/14257 2525/2992/14258 2498/2991/14259 -f 2498/2991/14260 2497/2987/14261 2470/2990/14262 -f 2525/2992/14263 2526/2994/14264 2499/2993/14265 -f 2499/2993/14266 2498/2991/14267 2525/2992/14268 -f 2526/2994/14269 2527/2996/14270 2500/2995/14271 -f 2500/2995/14272 2499/2993/14273 2526/2994/14274 -f 2527/3027/14275 2528/2998/14276 2501/2997/14277 -f 2501/2997/14278 2500/3026/14279 2527/3027/14280 -f 2528/2998/14281 2529/3000/14282 2502/2999/14283 -f 2502/2999/14284 2501/2997/14285 2528/2998/14286 -f 2529/3000/14287 2530/3002/14288 2503/3001/14289 -f 2503/3001/14290 2502/2999/14291 2529/3000/14292 -f 2530/3002/14293 2531/3004/14294 2504/3003/14295 -f 2504/3003/14296 2503/3001/14297 2530/3002/14298 -f 2531/3004/14299 2478/2989/14300 2505/2988/14301 -f 2505/2988/14302 2504/3003/14303 2531/3004/14304 -f 2521/3007/14305 2522/3008/14306 2513/3005/14307 -f 2513/3005/14308 2512/3006/14309 2521/3007/14310 -f 2520/3010/14311 2521/3007/14312 2512/3006/14313 -f 2512/3006/14314 2511/3009/14315 2520/3010/14316 -f 2519/3012/14317 2520/3010/14318 2511/3009/14319 -f 2511/3009/14320 2510/3011/14321 2519/3012/14322 -f 2518/3014/14323 2519/3029/14324 2510/3028/14325 -f 2510/3028/14326 2509/3013/14327 2518/3014/14328 -f 2517/3016/14329 2518/3014/14330 2509/3013/14331 -f 2509/3013/14332 2508/3015/14333 2517/3016/14334 -f 2516/3018/14335 2517/3016/14336 2508/3015/14337 -f 2508/3015/14338 2507/3017/14339 2516/3018/14340 -f 2515/3020/14341 2516/3018/14342 2507/3017/14343 -f 2507/3017/14344 2506/3019/14345 2515/3020/14346 -f 2523/3022/14347 2515/3020/14348 2506/3019/14349 -f 2506/3019/14350 2514/3021/14351 2523/3022/14352 -f 2522/3008/14353 2523/3022/14354 2514/3021/14355 -f 2514/3021/14356 2513/3005/14357 2522/3008/14358 -f 2495/2978/14359 2522/3008/14360 2521/3007/14361 -f 2521/3007/14362 2494/2979/14363 2495/2978/14364 -f 2494/2979/14365 2521/3007/14366 2520/3010/14367 -f 2520/3010/14368 2493/2980/14369 2494/2979/14370 -f 2493/2980/14371 2520/3010/14372 2519/3012/14373 -f 2519/3012/14374 2492/2981/14375 2493/2980/14376 -f 2492/3025/14377 2519/3029/14378 2518/3014/14379 -f 2518/3014/14380 2491/2982/14381 2492/3025/14382 -f 2491/2982/14383 2518/3014/14384 2517/3016/14385 -f 2517/3016/14386 2490/2983/14387 2491/2982/14388 -f 2490/2983/14389 2517/3016/14390 2516/3018/14391 -f 2516/3018/14392 2489/2984/14393 2490/2983/14394 -f 2489/2984/14395 2516/3018/14396 2515/3020/14397 -f 2515/3020/14398 2488/2985/14399 2489/2984/14400 -f 2488/2985/14401 2515/3020/14402 2523/3022/14403 -f 2523/3022/14404 2496/2986/14405 2488/2985/14406 -f 2496/2986/14407 2523/3022/14408 2522/3008/14409 -f 2522/3008/14410 2495/2978/14411 2496/2986/14412 -f 2524/2960/14413 2470/2990/14414 2478/2989/14415 -f 2478/2989/14416 2532/2961/14417 2524/2960/14418 -f 2471/2965/14419 2525/2992/14420 2470/2990/14421 -f 2470/2990/14422 2524/2960/14423 2471/2965/14424 -f 2472/2967/14425 2526/2994/14426 2525/2992/14427 -f 2525/2992/14428 2471/2965/14429 2472/2967/14430 -f 2473/2969/14431 2527/2996/14432 2526/2994/14433 -f 2526/2994/14434 2472/2967/14435 2473/2969/14436 -f 2474/2971/14437 2528/2998/14438 2527/3027/14439 -f 2527/3027/14440 2473/3024/14441 2474/2971/14442 -f 2475/2973/14443 2529/3000/14444 2528/2998/14445 -f 2528/2998/14446 2474/2971/14447 2475/2973/14448 -f 2476/2975/14449 2530/3002/14450 2529/3000/14451 -f 2529/3000/14452 2475/2973/14453 2476/2975/14454 -f 2477/2977/14455 2531/3004/14456 2530/3002/14457 -f 2530/3002/14458 2476/2975/14459 2477/2977/14460 -f 2532/2961/14461 2478/2989/14462 2531/3004/14463 -f 2531/3004/14464 2477/2977/14465 2532/2961/14466 -f 2535/3035/14467 2536/3060/14468 2533/3032/14469 -f 2533/3032/14470 2534/3033/14471 2535/3035/14472 -f 2536/3060/14473 2538/3062/14474 2537/3061/14475 -f 2537/3061/14476 2533/3032/14477 2536/3060/14478 -f 2537/3034/14479 2540/3036/14480 2539/3030/14481 -f 2539/3030/14482 2533/3031/14483 2537/3034/14484 -f 2542/3038/14485 2543/3039/14486 2539/3030/14487 -f 2539/3030/14488 2541/3037/14489 2542/3038/14490 -f 2539/3030/14491 2540/3036/14492 2544/3040/14493 -f 2544/3040/14494 2541/3037/14495 2539/3030/14496 -f 2544/3040/14497 2540/3036/14498 2545/3041/14499 -f 2545/3041/14500 2546/3042/14501 2544/3040/14502 -f 2548/3044/14503 2546/3042/14504 2545/3041/14505 -f 2545/3041/14506 2547/3043/14507 2548/3044/14508 -f 2547/3048/14509 2550/3049/14510 2549/3046/14511 -f 2549/3046/14512 2548/3047/14513 2547/3048/14514 -f 2549/3046/14515 2550/3049/14516 2551/3050/14517 -f 2551/3050/14518 2552/3051/14519 2549/3046/14520 -f 2554/3053/14521 2552/3051/14522 2551/3050/14523 -f 2551/3050/14524 2553/3052/14525 2554/3053/14526 -f 2555/3054/14527 2556/3055/14528 2554/3053/14529 -f 2554/3053/14530 2553/3052/14531 2555/3054/14532 -f 2557/3056/14533 2558/3057/14534 2555/3054/14535 -f 2555/3054/14536 2553/3052/14537 2557/3056/14538 -f 2559/3068/14539 2557/3056/14540 2553/3052/14541 -f 2553/3052/14542 2551/3050/14543 2559/3068/14544 -f 2559/3068/14545 2551/3050/14546 2550/3049/14547 -f 2550/3049/14548 2560/3166/14549 2559/3068/14550 -f 2550/3049/14551 2547/3048/14552 2561/3175/14553 -f 2561/3175/14554 2560/3166/14555 2550/3049/14556 -f 2562/3045/14557 2561/3058/14558 2547/3043/14559 -f 2547/3043/14560 2545/3041/14561 2562/3045/14562 -f 2564/3065/14563 2561/3066/14564 2562/3063/14565 -f 2562/3063/14566 2563/3064/14567 2564/3065/14568 -f 2566/3069/14569 2564/3065/14570 2563/3064/14571 -f 2563/3064/14572 2565/3067/14573 2566/3069/14574 -f 2567/3070/14575 2568/3079/14576 2566/3069/14577 -f 2566/3069/14578 2565/3067/14579 2567/3070/14580 -f 2565/3067/14581 2570/3081/14582 2569/3080/14583 -f 2569/3080/14584 2567/3070/14585 2565/3067/14586 -f 2538/3062/14587 2570/3081/14588 2565/3067/14589 -f 2565/3067/14590 2563/3064/14591 2538/3062/14592 -f 2564/3065/14593 2572/3188/14594 2571/3082/14595 -f 2571/3082/14596 2561/3066/14597 2564/3065/14598 -f 2566/3069/14599 2573/3189/14600 2572/3188/14601 -f 2572/3188/14602 2564/3065/14603 2566/3069/14604 -f 2538/3062/14605 2563/3064/14606 2562/3063/14607 -f 2562/3063/14608 2537/3061/14609 2538/3062/14610 -f 2562/3045/14611 2545/3041/14612 2540/3036/14613 -f 2540/3036/14614 2537/3034/14615 2562/3045/14616 -f 2574/3059/14617 2575/3071/14618 2543/3039/14619 -f 2543/3039/14620 2542/3038/14621 2574/3059/14622 -f 2539/3030/14623 2543/3039/14624 2534/3072/14625 -f 2534/3072/14626 2533/3031/14627 2539/3030/14628 -f 2576/3073/14629 2534/3072/14630 2543/3039/14631 -f 2543/3039/14632 2575/3071/14633 2576/3073/14634 -f 2575/3071/14635 2578/3075/14636 2577/3074/14637 -f 2577/3074/14638 2576/3073/14639 2575/3071/14640 -f 2579/3076/14641 2580/3077/14642 2576/3073/14643 -f 2576/3073/14644 2577/3074/14645 2579/3076/14646 -f 2576/3073/14647 2580/3077/14648 2581/3078/14649 -f 2581/3078/14650 2534/3072/14651 2576/3073/14652 -f 2581/3190/14653 2582/3191/14654 2535/3035/14655 -f 2535/3035/14656 2534/3033/14657 2581/3190/14658 -f 2584/3193/14659 2536/3060/14660 2535/3035/14661 -f 2535/3035/14662 2583/3192/14663 2584/3193/14664 -f 2585/3194/14665 2583/3192/14666 2535/3035/14667 -f 2535/3035/14668 2582/3191/14669 2585/3194/14670 -f 2586/3083/14671 2587/3084/14672 2579/3076/14673 -f 2579/3076/14674 2577/3074/14675 2586/3083/14676 -f 2577/3074/14677 2578/3075/14678 2588/3085/14679 -f 2588/3085/14680 2586/3083/14681 2577/3074/14682 -f 2589/3086/14683 2590/3087/14684 2588/3085/14685 -f 2588/3085/14686 2578/3075/14687 2589/3086/14688 -f 2588/3085/14689 2592/3089/14690 2591/3088/14691 -f 2591/3088/14692 2586/3083/14693 2588/3085/14694 -f 2588/3085/14695 2590/3087/14696 2593/3090/14697 -f 2593/3090/14698 2592/3089/14699 2588/3085/14700 -f 2587/3084/14701 2586/3083/14702 2591/3088/14703 -f 2591/3088/14704 2594/3091/14705 2587/3084/14706 -f 2594/3091/14707 2591/3088/14708 2595/3237/14709 -f 2595/3237/14710 2596/3238/14711 2594/3091/14712 -f 2578/3075/14713 2575/3071/14714 2574/3059/14715 -f 2574/3059/14716 2589/3086/14717 2578/3075/14718 -f 2599/3098/14719 2600/3099/14720 2597/3095/14721 -f 2597/3095/14722 2598/3096/14723 2599/3098/14724 -f 2602/3101/14725 2599/3098/14726 2598/3096/14727 -f 2598/3096/14728 2601/3100/14729 2602/3101/14730 -f 2604/3103/14731 2602/3101/14732 2601/3100/14733 -f 2601/3100/14734 2603/3102/14735 2604/3103/14736 -f 2603/3102/14737 2606/3105/14738 2605/3104/14739 -f 2605/3104/14740 2604/3221/14741 2603/3102/14742 -f 2605/3104/14743 2606/3105/14744 2607/3106/14745 -f 2607/3106/14746 2608/3107/14747 2605/3104/14748 -f 2608/3223/14749 2607/3106/14750 2609/3108/14751 -f 2609/3108/14752 2610/3109/14753 2608/3223/14754 -f 2612/3111/14755 2613/3112/14756 2609/3108/14757 -f 2609/3108/14758 2611/3110/14759 2612/3111/14760 -f 2606/3105/14761 2603/3102/14762 2614/3113/14763 -f 2614/3113/14764 2611/3110/14765 2606/3105/14766 -f 2614/3113/14767 2615/3114/14768 2612/3111/14769 -f 2612/3111/14770 2611/3110/14771 2614/3113/14772 -f 2617/3116/14773 2613/3112/14774 2612/3111/14775 -f 2612/3111/14776 2616/3115/14777 2617/3116/14778 -f 2618/3117/14779 2619/3118/14780 2617/3116/14781 -f 2617/3116/14782 2616/3115/14783 2618/3117/14784 -f 2621/3120/14785 2618/3117/14786 2616/3115/14787 -f 2616/3115/14788 2620/3119/14789 2621/3120/14790 -f 2612/3111/14791 2615/3114/14792 2620/3119/14793 -f 2620/3119/14794 2616/3115/14795 2612/3111/14796 -f 2610/3109/14797 2609/3108/14798 2613/3112/14799 -f 2613/3112/14800 2622/3121/14801 2610/3109/14802 -f 2623/3122/14803 2622/3227/14804 2613/3112/14805 -f 2613/3112/14806 2617/3116/14807 2623/3122/14808 -f 2615/3114/14809 2614/3113/14810 2624/3123/14811 -f 2624/3123/14812 2625/3124/14813 2615/3114/14814 -f 2627/3128/14815 2625/3124/14816 2624/3123/14817 -f 2624/3123/14818 2626/3127/14819 2627/3128/14820 -f 2601/3100/14821 2598/3096/14822 2626/3127/14823 -f 2626/3127/14824 2624/3123/14825 2601/3100/14826 -f 2629/3167/14827 2627/3128/14828 2626/3127/14829 -f 2626/3127/14830 2628/3164/14831 2629/3167/14832 -f 2628/3164/14833 2626/3127/14834 2598/3096/14835 -f 2598/3096/14836 2597/3095/14837 2628/3164/14838 -f 2630/3183/14839 2620/3119/14840 2615/3114/14841 -f 2615/3114/14842 2625/3124/14843 2630/3183/14844 -f 2631/3184/14845 2630/3183/14846 2625/3124/14847 -f 2625/3124/14848 2627/3128/14849 2631/3184/14850 -f 2614/3113/14851 2603/3102/14852 2601/3100/14853 -f 2601/3100/14854 2624/3123/14855 2614/3113/14856 -f 2606/3105/14857 2611/3110/14858 2609/3108/14859 -f 2609/3108/14860 2607/3106/14861 2606/3105/14862 -f 2632/3125/14863 2633/3126/14864 2597/3094/14865 -f 2597/3094/14866 2600/3097/14867 2632/3125/14868 -f 2633/3126/14869 2632/3125/14870 2634/3129/14871 -f 2634/3129/14872 2635/3130/14873 2633/3126/14874 -f 2634/3129/14875 2637/3132/14876 2636/3131/14877 -f 2636/3131/14878 2635/3130/14879 2634/3129/14880 -f 2639/3134/14881 2640/3135/14882 2636/3131/14883 -f 2636/3131/14884 2638/3133/14885 2639/3134/14886 -f 2641/3136/14887 2642/3137/14888 2639/3134/14889 -f 2639/3134/14890 2638/3133/14891 2641/3136/14892 -f 2643/3140/14893 2644/3141/14894 2640/3135/14895 -f 2640/3135/14896 2639/3134/14897 2643/3140/14898 -f 2646/3143/14899 2640/3135/14900 2644/3141/14901 -f 2644/3141/14902 2645/3142/14903 2646/3143/14904 -f 2645/3142/14905 2648/3145/14906 2647/3144/14907 -f 2647/3144/14908 2646/3143/14909 2645/3142/14910 -f 2650/3147/14911 2647/3144/14912 2648/3145/14913 -f 2648/3145/14914 2649/3146/14915 2650/3147/14916 -f 2650/3147/14917 2649/3146/14918 2651/3148/14919 -f 2651/3148/14920 2652/3149/14921 2650/3147/14922 -f 2635/3130/14923 2646/3143/14924 2647/3144/14925 -f 2647/3144/14926 2633/3126/14927 2635/3130/14928 -f 2647/3144/14929 2650/3147/14930 2597/3094/14931 -f 2597/3094/14932 2633/3126/14933 2647/3144/14934 -f 2640/3135/14935 2646/3143/14936 2635/3130/14937 -f 2635/3130/14938 2636/3131/14939 2640/3135/14940 -f 2639/3134/14941 2642/3137/14942 2653/3163/14943 -f 2653/3163/14944 2643/3140/14945 2639/3134/14946 -f 2654/3138/14947 2655/3139/14948 2653/3092/14949 -f 2653/3092/14950 2642/3093/14951 2654/3138/14952 -f 2642/3093/14953 2641/3151/14954 2656/3150/14955 -f 2656/3150/14956 2654/3138/14957 2642/3093/14958 -f 2658/3153/14959 2659/3154/14960 2657/3152/14961 -f 2657/3152/14962 2656/3150/14963 2658/3153/14964 -f 2656/3150/14965 2641/3151/14966 2660/3155/14967 -f 2660/3155/14968 2658/3153/14969 2656/3150/14970 -f 2657/3152/14971 2661/3156/14972 2654/3138/14973 -f 2654/3138/14974 2656/3150/14975 2657/3152/14976 -s 2 -f 2662/3157/14977 2653/3092/14978 2655/3139/14979 -s 4 -f 2662/3157/14980 2663/3158/14981 2664/3159/14982 -s 1 -f 2662/3157/14983 2661/3156/14984 2665/3160/14985 -f 2665/3160/14986 2663/3158/14987 2662/3157/14988 -f 2661/3156/14989 2662/3157/14990 2655/3139/14991 -f 2655/3139/14992 2654/3138/14993 2661/3156/14994 -f 2660/3168/14995 2641/3136/14996 2638/3133/14997 -f 2638/3133/14998 2666/3165/14999 2660/3168/15000 -f 2666/3165/15001 2638/3133/15002 2636/3131/15003 -f 2636/3131/15004 2637/3132/15005 2666/3165/15006 -f 2650/3147/15007 2652/3149/15008 2628/3169/15009 -f 2628/3169/15010 2597/3094/15011 2650/3147/15012 -f 2669/3187/15013 2670/3212/15014 2667/3185/15015 -f 2667/3185/15016 2668/3186/15017 2669/3187/15018 -f 2631/3184/15019 2671/3213/15020 2668/3186/15021 -f 2668/3186/15022 2667/3185/15023 2631/3184/15024 -f 2673/3172/15025 2668/3173/15026 2671/3170/15027 -f 2671/3170/15028 2672/3171/15029 2673/3172/15030 -f 2675/3241/15031 2673/3172/15032 2672/3171/15033 -f 2672/3171/15034 2674/3174/15035 2675/3241/15036 -f 2676/3242/15037 2677/3243/15038 2674/3174/15039 -f 2674/3174/15040 2672/3171/15041 2676/3242/15042 -f 2652/3149/15043 2651/3148/15044 2677/3243/15045 -f 2677/3243/15046 2676/3242/15047 2652/3149/15048 -f 2652/3149/15049 2676/3242/15050 2629/3244/15051 -f 2629/3244/15052 2628/3169/15053 2652/3149/15054 -f 2672/3171/15055 2671/3170/15056 2629/3244/15057 -f 2629/3244/15058 2676/3242/15059 2672/3171/15060 -f 2675/3178/15061 2679/3179/15062 2678/3176/15063 -f 2678/3176/15064 2673/3177/15065 2675/3178/15066 -f 2558/3057/15067 2680/3180/15068 2678/3176/15069 -f 2678/3176/15070 2555/3054/15071 2558/3057/15072 -f 2680/3180/15073 2668/3181/15074 2673/3177/15075 -f 2673/3177/15076 2678/3176/15077 2680/3180/15078 -f 2669/3229/15079 2668/3181/15080 2680/3180/15081 -f 2680/3180/15082 2681/3182/15083 2669/3229/15084 -f 2682/3230/15085 2681/3182/15086 2680/3180/15087 -f 2680/3180/15088 2558/3057/15089 2682/3230/15090 -f 2682/3230/15091 2558/3057/15092 2557/3056/15093 -f 2557/3056/15094 2683/3231/15095 2682/3230/15096 -f 2557/3056/15097 2559/3068/15098 2684/3234/15099 -f 2684/3234/15100 2683/3231/15101 2557/3056/15102 -f 2684/3234/15103 2559/3068/15104 2560/3166/15105 -f 2560/3166/15106 2685/3235/15107 2684/3234/15108 -f 2556/3055/15109 2555/3054/15110 2678/3176/15111 -f 2678/3176/15112 2679/3179/15113 2556/3055/15114 -f 2631/3184/15115 2627/3128/15116 2629/3167/15117 -f 2629/3167/15118 2671/3213/15119 2631/3184/15120 -f 2686/3214/15121 2630/3183/15122 2631/3184/15123 -f 2631/3184/15124 2667/3185/15125 2686/3214/15126 -f 2620/3119/15127 2630/3183/15128 2686/3214/15129 -f 2686/3214/15130 2621/3120/15131 2620/3119/15132 -f 2621/3120/15133 2686/3214/15134 2687/3215/15135 -f 2687/3215/15136 2688/3216/15137 2621/3120/15138 -f 2670/3212/15139 2687/3215/15140 2686/3214/15141 -f 2686/3214/15142 2667/3185/15143 2670/3212/15144 -f 2689/3217/15145 2618/3117/15146 2621/3120/15147 -f 2621/3120/15148 2688/3232/15149 2689/3217/15150 -f 2690/3218/15151 2619/3118/15152 2618/3117/15153 -f 2618/3117/15154 2689/3217/15155 2690/3218/15156 -f 2690/3233/15157 2623/3122/15158 2617/3116/15159 -f 2617/3116/15160 2619/3118/15161 2690/3233/15162 -f 2561/3175/15163 2571/3236/15164 2685/3235/15165 -f 2685/3235/15166 2560/3166/15167 2561/3175/15168 -f 2584/3193/15169 2570/3081/15170 2538/3062/15171 -f 2538/3062/15172 2536/3060/15173 2584/3193/15174 -f 2691/3195/15175 2569/3080/15176 2570/3081/15177 -f 2570/3081/15178 2584/3193/15179 2691/3195/15180 -f 2691/3195/15181 2584/3193/15182 2583/3192/15183 -f 2583/3192/15184 2692/3196/15185 2691/3195/15186 -f 2694/3198/15187 2691/3195/15188 2692/3196/15189 -f 2692/3196/15190 2693/3197/15191 2694/3198/15192 -f 2696/3200/15193 2694/3198/15194 2693/3197/15195 -f 2693/3197/15196 2695/3199/15197 2696/3200/15198 -f 2698/3202/15199 2695/3199/15200 2693/3197/15201 -f 2693/3197/15202 2697/3201/15203 2698/3202/15204 -f 2692/3196/15205 2699/3203/15206 2697/3201/15207 -f 2697/3201/15208 2693/3197/15209 2692/3196/15210 -f 2583/3192/15211 2585/3194/15212 2699/3246/15213 -f 2699/3246/15214 2692/3196/15215 2583/3192/15216 -f 2696/3200/15217 2695/3199/15218 2698/3245/15219 -f 2698/3245/15220 2700/3204/15221 2696/3200/15222 -f 2701/3205/15223 2702/3206/15224 2696/3200/15225 -f 2696/3200/15226 2700/3204/15227 2701/3205/15228 -f 2696/3200/15229 2702/3206/15230 2703/3207/15231 -f 2703/3207/15232 2694/3198/15233 2696/3200/15234 -f 2567/3070/15235 2569/3080/15236 2703/3207/15237 -f 2703/3207/15238 2704/3208/15239 2567/3070/15240 -f 2705/3219/15241 2704/3208/15242 2703/3207/15243 -f 2703/3207/15244 2702/3206/15245 2705/3219/15246 -f 2701/3247/15247 2706/3220/15248 2705/3219/15249 -f 2705/3219/15250 2702/3206/15251 2701/3247/15252 -f 2704/3208/15253 2707/3222/15254 2568/3079/15255 -f 2568/3079/15256 2567/3070/15257 2704/3208/15258 -f 2707/3222/15259 2710/3226/15260 2708/3224/15261 -f 2708/3224/15262 2709/3225/15263 2707/3222/15264 -f 2710/3226/15265 2707/3222/15266 2704/3208/15267 -f 2704/3208/15268 2705/3219/15269 2710/3226/15270 -f 2707/3222/15271 2709/3225/15272 2711/3228/15273 -f 2711/3228/15274 2568/3079/15275 2707/3222/15276 -f 2694/3198/15277 2703/3207/15278 2569/3080/15279 -f 2569/3080/15280 2691/3195/15281 2694/3198/15282 -f 2712/3161/15283 2665/3160/15284 2661/3156/15285 -f 2661/3156/15286 2657/3152/15287 2712/3161/15288 -f 2595/3162/15289 2713/3209/15290 2665/3160/15291 -f 2665/3160/15292 2712/3161/15293 2595/3162/15294 -f 2591/3088/15295 2592/3089/15296 2713/3239/15297 -f 2713/3239/15298 2595/3237/15299 2591/3088/15300 -f 2664/3159/15301 2663/3158/15302 2665/3160/15303 -f 2665/3160/15304 2713/3209/15305 2664/3159/15306 -f 2592/3089/15307 2593/3090/15308 2664/3240/15309 -f 2664/3240/15310 2713/3239/15311 2592/3089/15312 -f 2714/3210/15313 2596/3211/15314 2595/3162/15315 -f 2595/3162/15316 2712/3161/15317 2714/3210/15318 -f 2659/3154/15319 2714/3210/15320 2712/3161/15321 -f 2712/3161/15322 2657/3152/15323 2659/3154/15324 -f 2573/3189/15325 2566/3069/15326 2568/3079/15327 -f 2568/3079/15328 2711/3249/15329 2573/3189/15330 -f 2708/3248/15331 2710/3226/15332 2705/3219/15333 -f 2705/3219/15334 2706/3220/15335 2708/3248/15336 -f 2716/3252/15337 2715/3253/15338 2718/3250/15339 -f 2718/3250/15340 2717/3251/15341 2716/3252/15342 -f 2719/3255/15343 2717/3251/15344 2718/3250/15345 -f 2718/3250/15346 2720/3254/15347 2719/3255/15348 -f 2721/3256/15349 2720/3257/15350 2718/3250/15351 -f 2718/3250/15352 2715/3253/15353 2721/3256/15354 -f 2722/3258/15355 2716/3252/15356 2717/3251/15357 -f 2717/3251/15358 2719/3255/15359 2722/3258/15360 -f 2723/3260/15361 2719/3255/15362 2720/3254/15363 -f 2720/3254/15364 2721/3259/15365 2723/3260/15366 -f 2719/3255/15367 2723/3260/15368 2724/3261/15369 -f 2724/3261/15370 2722/3258/15371 2719/3255/15372 -f 2727/3262/15373 2726/3263/15374 2725/3264/15375 -f 2723/3260/15376 2721/3259/15377 2727/3265/15378 -f 2727/3265/15379 2728/3266/15380 2723/3260/15381 -f 2727/3265/15382 2729/3267/15383 2728/3266/15384 -f 2731/3270/15385 2730/3271/15386 2733/3268/15387 -f 2733/3268/15388 2732/3269/15389 2731/3270/15390 -f 2735/3274/15391 2734/3275/15392 2737/3272/15393 -f 2737/3272/15394 2736/3273/15395 2735/3274/15396 -f 2738/3276/15397 2736/3273/15398 2737/3272/15399 -f 2737/3272/15400 2733/3268/15401 2738/3276/15402 -f 2739/3277/15403 2733/3268/15404 2737/3272/15405 -f 2737/3272/15406 2734/3275/15407 2739/3277/15408 -f 2741/3280/15409 2740/3281/15410 2743/3278/15411 -f 2743/3278/15412 2742/3279/15413 2741/3280/15414 -f 2745/3284/15415 2744/3285/15416 2747/3282/15417 -f 2747/3282/15418 2746/3283/15419 2745/3284/15420 -f 2746/3283/15421 2747/3282/15422 2749/3286/15423 -f 2749/3286/15424 2748/3287/15425 2746/3283/15426 -f 2747/3282/15427 2750/3288/15428 2749/3286/15429 -f 2752/3291/15430 2751/3292/15431 2754/3289/15432 -f 2754/3289/15433 2753/3290/15434 2752/3291/15435 -f 2754/3289/15436 2755/3293/15437 2753/3290/15438 -f 2754/3289/15439 2751/3292/15440 2756/3294/15441 -f 2753/3290/15442 2755/3293/15443 2758/3295/15444 -f 2758/3295/15445 2757/3296/15446 2753/3290/15447 -f 2752/3291/15448 2753/3290/15449 2757/3296/15450 -f 2752/3291/15451 2757/3296/15452 2760/3297/15453 -f 2760/3297/15454 2759/3298/15455 2752/3291/15456 -f 2761/3301/15457 2745/3284/15458 2763/3299/15459 -f 2763/3299/15460 2762/3300/15461 2761/3301/15462 -f 2763/3299/15463 2764/3304/15464 2766/3302/15465 -f 2766/3302/15466 2765/3303/15467 2763/3299/15468 -f 2763/3299/15469 2765/3303/15470 2767/3305/15471 -f 2767/3305/15472 2762/3300/15473 2763/3299/15474 -f 2769/3308/15475 2768/3309/15476 2771/3306/15477 -f 2771/3306/15478 2770/3307/15479 2769/3308/15480 -f 2773/3310/15481 2772/3311/15482 2768/3309/15483 -f 2768/3309/15484 2769/3308/15485 2773/3310/15486 -f 2774/3313/15487 2769/3308/15488 2770/3307/15489 -f 2770/3307/15490 2775/3312/15491 2774/3313/15492 -f 2776/3315/15493 2772/3311/15494 2773/3310/15495 -f 2773/3310/15496 2777/3314/15497 2776/3315/15498 -f 2778/3316/15499 2758/3295/15500 2767/3305/15501 -f 2767/3305/15502 2765/3303/15503 2778/3316/15504 -f 2770/3307/15505 2771/3306/15506 2780/3317/15507 -f 2780/3317/15508 2779/3318/15509 2770/3307/15510 -f 2782/3321/15511 2781/3322/15512 2784/3319/15513 -f 2784/3319/15514 2783/3320/15515 2782/3321/15516 -f 2783/3320/15517 2784/3319/15518 2786/3323/15519 -f 2786/3323/15520 2785/3324/15521 2783/3320/15522 -f 2788/3327/15523 2787/3328/15524 2790/3325/15525 -f 2790/3325/15526 2789/3326/15527 2788/3327/15528 -f 2789/3326/15529 2790/3325/15530 2791/3329/15531 -f 2793/3331/15532 2792/3332/15533 2789/3326/15534 -f 2789/3326/15535 2794/3330/15536 2793/3331/15537 -f 2795/3333/15538 2794/3330/15539 2789/3326/15540 -f 2789/3326/15541 2791/3329/15542 2795/3333/15543 -f 2770/3307/15544 2796/3335/15545 2797/3334/15546 -f 2797/3334/15547 2775/3312/15548 2770/3307/15549 -f 2777/3314/15550 2798/3338/15551 2800/3336/15552 -f 2800/3336/15553 2799/3337/15554 2777/3314/15555 -f 2802/3339/15556 2801/3340/15557 2800/3336/15558 -f 2800/3336/15559 2798/3338/15560 2802/3339/15561 -f 2804/3341/15562 2803/3342/15563 2800/3336/15564 -f 2800/3336/15565 2801/3340/15566 2804/3341/15567 -f 2777/3314/15568 2773/3310/15569 2805/3343/15570 -f 2805/3343/15571 2798/3338/15572 2777/3314/15573 -f 2805/3343/15574 2773/3310/15575 2774/3313/15576 -f 2774/3313/15577 2806/3344/15578 2805/3343/15579 -f 2805/3343/15580 2806/3344/15581 2807/3345/15582 -f 2809/3346/15583 2808/3347/15584 2805/3343/15585 -f 2805/3343/15586 2807/3345/15587 2809/3346/15588 -f 2812/3348/15589 2811/3349/15590 2810/3350/15591 -f 2813/3352/15592 2794/3330/15593 2795/3333/15594 -f 2795/3333/15595 2814/3351/15596 2813/3352/15597 -f 2816/3354/15598 2815/3355/15599 2795/3333/15600 -f 2795/3333/15601 2817/3353/15602 2816/3354/15603 -f 2818/3356/15604 2814/3351/15605 2795/3333/15606 -f 2795/3333/15607 2815/3355/15608 2818/3356/15609 -f 2820/3359/15610 2819/3360/15611 2822/3357/15612 -f 2822/3357/15613 2821/3358/15614 2820/3359/15615 -f 2766/3302/15616 2821/3358/15617 2822/3357/15618 -f 2822/3357/15619 2812/3348/15620 2766/3302/15621 -f 2819/3360/15622 2823/3361/15623 2822/3357/15624 -f 2822/3357/15625 2823/3361/15626 2824/3362/15627 -f 2822/3357/15628 2824/3362/15629 2811/3349/15630 -f 2826/3365/15631 2825/3366/15632 2828/3363/15633 -f 2828/3363/15634 2827/3364/15635 2826/3365/15636 -f 2828/3363/15637 2829/3369/15638 2831/3367/15639 -f 2831/3367/15640 2830/3368/15641 2828/3363/15642 -f 2796/3335/15643 2832/3371/15644 2833/3370/15645 -f 2833/3370/15646 2797/3334/15647 2796/3335/15648 -f 2833/3370/15649 2834/3372/15650 2797/3334/15651 -f 2770/3307/15652 2779/3318/15653 2832/3371/15654 -f 2832/3371/15655 2796/3335/15656 2770/3307/15657 -f 2836/3373/15658 2835/3374/15659 2823/3361/15660 -f 2838/3376/15661 2837/3377/15662 2839/3375/15663 -f 2839/3375/15664 2836/3373/15665 2838/3376/15666 -f 2840/3379/15667 2835/3374/15668 2839/3375/15669 -f 2839/3375/15670 2841/3378/15671 2840/3379/15672 -f 2839/3375/15673 2835/3374/15674 2836/3373/15675 -f 2843/3382/15676 2842/3383/15677 2845/3380/15678 -f 2845/3380/15679 2844/3381/15680 2843/3382/15681 -f 2847/3384/15682 2846/3385/15683 2845/3380/15684 -f 2845/3380/15685 2842/3383/15686 2847/3384/15687 -f 2848/3387/15688 2844/3381/15689 2845/3380/15690 -f 2845/3380/15691 2849/3386/15692 2848/3387/15693 -f 2851/3390/15694 2850/3391/15695 2853/3388/15696 -f 2853/3388/15697 2852/3389/15698 2851/3390/15699 -f 2852/3389/15700 2854/3392/15701 2851/3390/15702 -f 2855/3395/15703 2834/3372/15704 2857/3393/15705 -f 2857/3393/15706 2856/3394/15707 2855/3395/15708 -f 2856/3394/15709 2857/3393/15710 2859/3396/15711 -f 2859/3396/15712 2858/3397/15713 2856/3394/15714 -f 2833/3370/15715 2859/3396/15716 2857/3393/15717 -f 2857/3393/15718 2834/3372/15719 2833/3370/15720 -f 2860/3399/15721 2829/3369/15722 2861/3398/15723 -f 2861/3398/15724 2840/3379/15725 2860/3399/15726 -f 2840/3379/15727 2861/3398/15728 2862/3400/15729 -f 2862/3400/15730 2835/3374/15731 2840/3379/15732 -f 2860/3399/15733 2863/3402/15734 2864/3401/15735 -f 2864/3401/15736 2829/3369/15737 2860/3399/15738 -f 2829/3369/15739 2864/3401/15740 2865/3403/15741 -f 2865/3403/15742 2831/3367/15743 2829/3369/15744 -f 2866/3404/15745 2860/3399/15746 2840/3379/15747 -f 2840/3379/15748 2841/3378/15749 2866/3404/15750 -f 2853/3388/15751 2867/3406/15752 2868/3405/15753 -f 2868/3405/15754 2852/3389/15755 2853/3388/15756 -f 2854/3392/15757 2852/3389/15758 2868/3405/15759 -f 2868/3405/15760 2869/3407/15761 2854/3392/15762 -f 2870/3408/15763 2869/3407/15764 2868/3405/15765 -f 2868/3405/15766 2867/3406/15767 2870/3408/15768 -f 2859/3396/15769 2871/3410/15770 2872/3409/15771 -f 2872/3409/15772 2858/3397/15773 2859/3396/15774 -f 2847/3384/15775 2858/3397/15776 2872/3409/15777 -f 2872/3409/15778 2873/3411/15779 2847/3384/15780 -f 2874/3412/15781 2873/3411/15782 2872/3409/15783 -f 2872/3409/15784 2871/3410/15785 2874/3412/15786 -f 2876/3413/15787 2875/3414/15788 2870/3408/15789 -f 2870/3408/15790 2867/3406/15791 2876/3413/15792 -f 2877/3415/15793 2869/3407/15794 2870/3408/15795 -f 2870/3408/15796 2875/3414/15797 2877/3415/15798 -f 2878/3416/15799 2874/3412/15800 2871/3410/15801 -f 2871/3410/15802 2859/3396/15803 2878/3416/15804 -f 2850/3391/15805 2879/3418/15806 2880/3417/15807 -f 2880/3417/15808 2853/3388/15809 2850/3391/15810 -f 2882/3419/15811 2881/3420/15812 2853/3388/15813 -f 2853/3388/15814 2880/3417/15815 2882/3419/15816 -f 2876/3413/15817 2867/3406/15818 2853/3388/15819 -f 2853/3388/15820 2881/3420/15821 2876/3413/15822 -f 2884/3423/15823 2883/3424/15824 2886/3421/15825 -f 2886/3421/15826 2885/3422/15827 2884/3423/15828 -f 2887/3426/15829 2885/3422/15830 2886/3421/15831 -f 2886/3421/15832 2888/3425/15833 2887/3426/15834 -f 2889/3427/15835 2888/3425/15836 2886/3421/15837 -f 2886/3421/15838 2883/3424/15839 2889/3427/15840 -f 2890/3429/15841 2888/3425/15842 2889/3427/15843 -f 2889/3427/15844 2891/3428/15845 2890/3429/15846 -f 2892/3430/15847 2891/3428/15848 2889/3427/15849 -f 2889/3427/15850 2883/3424/15851 2892/3430/15852 -f 2894/3431/15853 2893/3432/15854 2876/3413/15855 -f 2876/3413/15856 2881/3420/15857 2894/3431/15858 -f 2885/3422/15859 2875/3414/15860 2876/3413/15861 -f 2876/3413/15862 2884/3423/15863 2885/3422/15864 -f 2895/3433/15865 2884/3423/15866 2876/3413/15867 -f 2876/3413/15868 2893/3432/15869 2895/3433/15870 -f 2896/3435/15871 2873/3411/15872 2874/3412/15873 -f 2874/3412/15874 2897/3434/15875 2896/3435/15876 -f 2899/3438/15877 2898/3439/15878 2901/3436/15879 -f 2901/3436/15880 2900/3437/15881 2899/3438/15882 -f 2903/3441/15883 2902/3442/15884 2901/3436/15885 -f 2901/3436/15886 2904/3440/15887 2903/3441/15888 -f 2905/3443/15889 2900/3437/15890 2901/3436/15891 -f 2901/3436/15892 2902/3442/15893 2905/3443/15894 -f 2907/3446/15895 2906/3447/15896 2909/3444/15897 -f 2909/3444/15898 2908/3445/15899 2907/3446/15900 -f 2910/3449/15901 2908/3445/15902 2909/3444/15903 -f 2909/3444/15904 2911/3448/15905 2910/3449/15906 -f 2912/3450/15907 2911/3448/15908 2909/3444/15909 -f 2909/3444/15910 2906/3447/15911 2912/3450/15912 -f 2914/3453/15913 2913/3454/15914 2916/3451/15915 -f 2916/3451/15916 2915/3452/15917 2914/3453/15918 -f 2918/3455/15919 2917/3456/15920 2916/3451/15921 -f 2916/3451/15922 2913/3454/15923 2918/3455/15924 -f 2920/3457/15925 2919/3458/15926 2916/3451/15927 -f 2916/3451/15928 2917/3456/15929 2920/3457/15930 -f 2863/3402/15931 2915/3452/15932 2916/3451/15933 -f 2916/3451/15934 2921/3459/15935 2863/3402/15936 -f 2922/3460/15937 2921/3459/15938 2916/3451/15939 -f 2916/3451/15940 2919/3458/15941 2922/3460/15942 -f 2895/3433/15943 2893/3432/15944 2923/3461/15945 -f 2923/3461/15946 2918/3455/15947 2895/3433/15948 -f 2894/3431/15949 2924/3462/15950 2923/3461/15951 -f 2923/3461/15952 2893/3432/15953 2894/3431/15954 -f 2917/3456/15955 2918/3455/15956 2923/3461/15957 -f 2923/3461/15958 2925/3463/15959 2917/3456/15960 -f 2927/3466/15961 2926/3467/15962 2929/3464/15963 -f 2929/3464/15964 2928/3465/15965 2927/3466/15966 -f 2928/3465/15967 2929/3464/15968 2931/3468/15969 -f 2931/3468/15970 2930/3469/15971 2928/3465/15972 -f 2932/3470/15973 2931/3468/15974 2929/3464/15975 -f 2929/3464/15976 2926/3467/15977 2932/3470/15978 -f 2934/3473/15979 2933/3474/15980 2936/3471/15981 -f 2936/3471/15982 2935/3472/15983 2934/3473/15984 -f 2937/3476/15985 2935/3472/15986 2936/3471/15987 -f 2936/3471/15988 2938/3475/15989 2937/3476/15990 -f 2940/3477/15991 2939/3478/15992 2936/3471/15993 -f 2936/3471/15994 2933/3474/15995 2940/3477/15996 -f 2942/3481/15997 2941/3482/15998 2943/3479/15999 -f 2943/3479/16000 2940/3480/16001 2942/3481/16002 -f 2939/3478/16003 2940/3477/16004 2943/3483/16005 -f 2943/3483/16006 2944/3484/16007 2939/3478/16008 -f 2945/3485/16009 2944/3486/16010 2943/3479/16011 -f 2943/3479/16012 2941/3482/16013 2945/3485/16014 -f 2947/3489/16015 2946/3490/16016 2949/3487/16017 -f 2949/3487/16018 2948/3488/16019 2947/3489/16020 -f 2951/3493/16021 2950/3494/16022 2949/3491/16023 -f 2949/3491/16024 2952/3492/16025 2951/3493/16026 -f 2953/3495/16027 2952/3496/16028 2949/3487/16029 -f 2949/3487/16030 2946/3490/16031 2953/3495/16032 -f 2955/3499/16033 2954/3500/16034 2957/3497/16035 -f 2957/3497/16036 2956/3498/16037 2955/3499/16038 -f 2958/3502/16039 2956/3498/16040 2957/3497/16041 -f 2957/3497/16042 2959/3501/16043 2958/3502/16044 -f 2960/3504/16045 2959/3501/16046 2957/3497/16047 -f 2957/3497/16048 2961/3503/16049 2960/3504/16050 -f 2963/3507/16051 2962/3508/16052 2965/3505/16053 -f 2965/3505/16054 2964/3506/16055 2963/3507/16056 -f 2930/3469/16057 2964/3506/16058 2965/3505/16059 -f 2965/3505/16060 2966/3509/16061 2930/3469/16062 -f 2968/3510/16063 2967/3511/16064 2965/3505/16065 -f 2965/3505/16066 2962/3508/16067 2968/3510/16068 -f 2970/3512/16069 2969/3513/16070 2965/3505/16071 -f 2965/3505/16072 2967/3511/16073 2970/3512/16074 -f 2973/3514/16075 2972/3515/16076 2971/3516/16077 -f 2975/3517/16078 2974/3518/16079 2973/3514/16080 -f 2973/3514/16081 2971/3516/16082 2975/3517/16083 -f 2977/3521/16084 2976/3522/16085 2979/3519/16086 -f 2979/3519/16087 2978/3520/16088 2977/3521/16089 -f 2981/3525/16090 2980/3526/16091 2983/3523/16092 -f 2983/3523/16093 2982/3524/16094 2981/3525/16095 -f 2946/3490/16096 2947/3489/16097 2982/3524/16098 -f 2982/3524/16099 2983/3523/16100 2946/3490/16101 -f 2985/3529/16102 2984/3530/16103 2987/3527/16104 -f 2987/3527/16105 2986/3528/16106 2985/3529/16107 -f 2988/3532/16108 2986/3528/16109 2987/3527/16110 -f 2987/3527/16111 2989/3531/16112 2988/3532/16113 -f 2991/3535/16114 2990/3536/16115 2993/3533/16116 -f 2993/3533/16117 2992/3534/16118 2991/3535/16119 -f 2995/3537/16120 2994/3538/16121 2993/3533/16122 -f 2993/3533/16123 2990/3536/16124 2995/3537/16125 -f 2996/3539/16126 2992/3534/16127 2993/3533/16128 -f 2993/3533/16129 2994/3538/16130 2996/3539/16131 -f 2998/3540/16132 2997/3541/16133 2995/3537/16134 -f 3000/3544/16135 2999/3545/16136 3002/3542/16137 -f 3002/3542/16138 3001/3543/16139 3000/3544/16140 -f 3001/3543/16141 3003/3546/16142 3000/3544/16143 -f 3005/3549/16144 3004/3550/16145 3007/3547/16146 -f 3007/3547/16147 3006/3548/16148 3005/3549/16149 -f 3008/3552/16150 3006/3548/16151 3007/3547/16152 -f 3007/3547/16153 3009/3551/16154 3008/3552/16155 -f 3010/3554/16156 3009/3551/16157 3007/3547/16158 -f 3007/3547/16159 3011/3553/16160 3010/3554/16161 -f 3013/3555/16162 3005/3549/16163 3012/3556/16164 -f 2760/3297/16165 3014/3558/16166 3015/3557/16167 -f 3015/3557/16168 2759/3298/16169 2760/3297/16170 -f 3016/3560/16171 2759/3298/16172 3015/3557/16173 -f 3015/3557/16174 3017/3559/16175 3016/3560/16176 -f 3019/3563/16177 3018/3564/16178 3021/3561/16179 -f 3021/3561/16180 3020/3562/16181 3019/3563/16182 -f 3022/3566/16183 3020/3562/16184 3021/3561/16185 -f 3021/3561/16186 3023/3565/16187 3022/3566/16188 -f 3019/3563/16189 3024/3568/16190 3025/3567/16191 -f 3025/3567/16192 3018/3564/16193 3019/3563/16194 -f 3024/3568/16195 3019/3563/16196 3027/3569/16197 -f 3027/3569/16198 3026/3570/16199 3024/3568/16200 -f 3024/3568/16201 3026/3570/16202 2832/3371/16203 -f 2832/3371/16204 2779/3318/16205 3024/3568/16206 -f 2833/3370/16207 2832/3371/16208 3026/3570/16209 -f 3026/3570/16210 3028/3571/16211 2833/3370/16212 -f 3028/3571/16213 3026/3570/16214 3027/3569/16215 -f 3027/3569/16216 3029/3572/16217 3028/3571/16218 -f 3030/3573/16219 2878/3416/16220 3028/3571/16221 -f 3028/3571/16222 3029/3572/16223 3030/3573/16224 -f 2859/3396/16225 2833/3370/16226 3028/3571/16227 -f 3028/3571/16228 2878/3416/16229 2859/3396/16230 -f 3032/3574/16231 3031/3575/16232 3030/3573/16233 -f 3030/3573/16234 3029/3572/16235 3032/3574/16236 -f 2931/3468/16237 2932/3470/16238 3030/3573/16239 -f 3030/3573/16240 3031/3575/16241 2931/3468/16242 -f 2874/3412/16243 2878/3416/16244 3030/3573/16245 -f 3030/3573/16246 2932/3470/16247 2874/3412/16248 -f 3034/3576/16249 3033/3577/16250 3031/3575/16251 -f 3031/3575/16252 3032/3574/16253 3034/3576/16254 -f 3035/3578/16255 2931/3468/16256 3031/3575/16257 -f 3031/3575/16258 3033/3577/16259 3035/3578/16260 -f 3037/3579/16261 3036/3580/16262 3035/3578/16263 -f 3035/3578/16264 3033/3577/16265 3037/3579/16266 -f 2963/3507/16267 2964/3506/16268 3035/3578/16269 -f 3035/3578/16270 3036/3580/16271 2963/3507/16272 -f 2930/3469/16273 2931/3468/16274 3035/3578/16275 -f 3035/3578/16276 2964/3506/16277 2930/3469/16278 -f 3039/3581/16279 3038/3582/16280 3036/3580/16281 -f 3036/3580/16282 3037/3579/16283 3039/3581/16284 -f 3040/3583/16285 2963/3507/16286 3036/3580/16287 -f 3036/3580/16288 3038/3582/16289 3040/3583/16290 -f 2920/3584/16291 3041/3585/16292 3040/3583/16293 -f 3040/3583/16294 3038/3582/16295 2920/3584/16296 -f 2944/3486/16297 2945/3485/16298 3040/3583/16299 -f 3040/3583/16300 3041/3585/16301 2944/3486/16302 -f 2962/3508/16303 2963/3507/16304 3040/3583/16305 -f 3040/3583/16306 2945/3485/16307 2962/3508/16308 -f 2917/3456/16309 2925/3463/16310 3041/3586/16311 -f 3041/3586/16312 2920/3457/16313 2917/3456/16314 -f 2939/3478/16315 2944/3484/16316 3041/3586/16317 -f 3041/3586/16318 2925/3463/16319 2939/3478/16320 -f 2919/3587/16321 2920/3584/16322 3038/3582/16323 -f 3038/3582/16324 3039/3581/16325 2919/3587/16326 -f 3043/3588/16327 3042/3589/16328 3039/3581/16329 -f 3039/3581/16330 3037/3579/16331 3043/3588/16332 -f 2922/3590/16333 2919/3587/16334 3039/3581/16335 -f 3039/3581/16336 3042/3589/16337 2922/3590/16338 -f 3042/3589/16339 3043/3588/16340 3045/3591/16341 -f 3045/3591/16342 3044/3592/16343 3042/3589/16344 -f 3042/3589/16345 3044/3592/16346 3046/3593/16347 -f 3046/3593/16348 2922/3590/16349 3042/3589/16350 -f 3046/3594/16351 3047/3595/16352 2921/3459/16353 -f 2921/3459/16354 2922/3460/16355 3046/3594/16356 -f 3047/3595/16357 2864/3401/16358 2863/3402/16359 -f 2863/3402/16360 2921/3459/16361 3047/3595/16362 -f 3047/3595/16363 3046/3594/16364 3049/3596/16365 -f 3049/3596/16366 3048/3597/16367 3047/3595/16368 -f 3047/3595/16369 3048/3597/16370 2865/3403/16371 -f 2865/3403/16372 2864/3401/16373 3047/3595/16374 -f 3051/3598/16375 3050/3599/16376 2831/3367/16377 -f 2831/3367/16378 2865/3403/16379 3051/3598/16380 -f 3052/3600/16381 2830/3368/16382 2831/3367/16383 -f 2831/3367/16384 3050/3599/16385 3052/3600/16386 -f 3053/3602/16387 2830/3368/16388 3052/3600/16389 -f 3052/3600/16390 3054/3601/16391 3053/3602/16392 -f 3056/3605/16393 3055/3606/16394 3058/3603/16395 -f 3058/3603/16396 3057/3604/16397 3056/3605/16398 -f 3060/3607/16399 3059/3608/16400 3058/3603/16401 -f 3058/3603/16402 3055/3606/16403 3060/3607/16404 -f 3061/3610/16405 3059/3608/16406 3060/3607/16407 -f 3060/3607/16408 3062/3609/16409 3061/3610/16410 -f 3060/3607/16411 3055/3606/16412 3064/3611/16413 -f 3064/3611/16414 3063/3612/16415 3060/3607/16416 -f 3055/3606/16417 3056/3605/16418 3065/3613/16419 -f 3065/3613/16420 3064/3611/16421 3055/3606/16422 -f 3056/3605/16423 2780/3317/16424 2771/3306/16425 -f 3063/3612/16426 3066/3614/16427 3062/3609/16428 -f 3062/3609/16429 3060/3607/16430 3063/3612/16431 -f 3067/3617/16432 3063/3612/16433 3069/3615/16434 -f 3069/3615/16435 3068/3616/16436 3067/3617/16437 -f 3070/3619/16438 3068/3616/16439 3069/3615/16440 -f 3069/3615/16441 3071/3618/16442 3070/3619/16443 -f 3073/3620/16444 3072/3621/16445 3067/3617/16446 -f 3067/3617/16447 2741/3280/16448 3073/3620/16449 -f 3066/3614/16450 3063/3612/16451 3067/3617/16452 -f 3067/3617/16453 3072/3621/16454 3066/3614/16455 -f 2740/3281/16456 2741/3280/16457 3067/3617/16458 -f 3067/3617/16459 3068/3616/16460 2740/3281/16461 -f 3075/3624/16462 3074/3625/16463 3072/3622/16464 -f 3072/3622/16465 3073/3623/16466 3075/3624/16467 -f 3076/3626/16468 3066/3627/16469 3072/3622/16470 -f 3072/3622/16471 3074/3625/16472 3076/3626/16473 -f 2751/3292/16474 2752/3291/16475 3076/3626/16476 -f 3076/3626/16477 3074/3625/16478 2751/3292/16479 -f 3076/3626/16480 2752/3291/16481 2759/3298/16482 -f 2759/3298/16483 3016/3560/16484 3076/3626/16485 -f 3076/3626/16486 3016/3560/16487 3062/3628/16488 -f 3062/3628/16489 3066/3627/16490 3076/3626/16491 -f 3078/3629/16492 3077/3630/16493 2760/3297/16494 -f 2760/3297/16495 2757/3296/16496 3078/3629/16497 -f 3077/3630/16498 3078/3629/16499 3079/3631/16500 -f 3079/3631/16501 3053/3602/16502 3077/3630/16503 -f 3054/3601/16504 3080/3632/16505 3077/3630/16506 -f 3077/3630/16507 3053/3602/16508 3054/3601/16509 -f 3014/3558/16510 2760/3297/16511 3077/3630/16512 -f 3077/3630/16513 3080/3632/16514 3014/3558/16515 -f 3079/3631/16516 2828/3363/16517 2830/3368/16518 -f 2830/3368/16519 3053/3602/16520 3079/3631/16521 -f 2778/3316/16522 3081/3633/16523 3079/3631/16524 -f 3079/3631/16525 3078/3629/16526 2778/3316/16527 -f 2827/3364/16528 2828/3363/16529 3079/3631/16530 -f 3079/3631/16531 3081/3633/16532 2827/3364/16533 -f 2765/3303/16534 2810/3350/16535 3081/3633/16536 -f 3081/3633/16537 2778/3316/16538 2765/3303/16539 -f 2811/3349/16540 2827/3364/16541 3081/3633/16542 -f 3081/3633/16543 2810/3350/16544 2811/3349/16545 -f 2758/3295/16546 2778/3316/16547 3078/3629/16548 -f 3078/3629/16549 2757/3296/16550 2758/3295/16551 -f 2756/3294/16552 2751/3292/16553 3074/3625/16554 -f 3074/3625/16555 3075/3624/16556 2756/3294/16557 -f 3082/3635/16558 2756/3294/16559 3075/3624/16560 -f 3075/3624/16561 3083/3634/16562 3082/3635/16563 -f 3084/3636/16564 3083/3634/16565 3075/3624/16566 -f 3075/3624/16567 3073/3623/16568 3084/3636/16569 -f 3084/3636/16570 3085/3637/16571 3083/3634/16572 -f 3084/3638/16573 3073/3620/16574 2741/3280/16575 -f 3082/3635/16576 3083/3634/16577 3085/3637/16578 -f 3085/3637/16579 2744/3285/16580 3082/3635/16581 -f 3086/3639/16582 2750/3288/16583 3085/3637/16584 -f 3085/3637/16585 3084/3636/16586 3086/3639/16587 -f 3087/3641/16588 2750/3288/16589 3086/3639/16590 -f 3086/3639/16591 3088/3640/16592 3087/3641/16593 -f 2742/3279/16594 3089/3643/16595 3086/3642/16596 -f 3086/3642/16597 3084/3638/16598 2742/3279/16599 -f 3090/3644/16600 3088/3645/16601 3086/3642/16602 -f 3086/3642/16603 3089/3643/16604 3090/3644/16605 -f 3090/3644/16606 3091/3646/16607 3088/3645/16608 -f 3093/3647/16609 3092/3648/16610 3090/3644/16611 -f 3090/3644/16612 3089/3643/16613 3093/3647/16614 -f 3094/3649/16615 3091/3646/16616 3090/3644/16617 -f 3090/3644/16618 3092/3648/16619 3094/3649/16620 -f 3096/3650/16621 3095/3651/16622 3094/3649/16623 -f 3094/3649/16624 3092/3648/16625 3096/3650/16626 -f 3097/3652/16627 2728/3266/16628 3094/3649/16629 -f 3094/3649/16630 3095/3651/16631 3097/3652/16632 -f 2723/3260/16633 2728/3266/16634 3097/3652/16635 -f 3097/3652/16636 2724/3261/16637 2723/3260/16638 -f 3099/3653/16639 3098/3654/16640 3097/3652/16641 -f 3097/3652/16642 3095/3651/16643 3099/3653/16644 -f 2722/3258/16645 2724/3261/16646 3097/3652/16647 -f 3097/3652/16648 3098/3654/16649 2722/3258/16650 -f 3101/3655/16651 3100/3656/16652 3098/3654/16653 -f 3098/3654/16654 3099/3653/16655 3101/3655/16656 -f 2716/3252/16657 2722/3258/16658 3098/3654/16659 -f 3098/3654/16660 3100/3656/16661 2716/3252/16662 -f 2725/3264/16663 2726/3263/16664 3100/3656/16665 -f 3100/3656/16666 3101/3655/16667 2725/3264/16668 -f 2715/3253/16669 2716/3252/16670 3100/3656/16671 -f 3100/3656/16672 2726/3263/16673 2715/3253/16674 -f 3103/3657/16675 3102/3658/16676 3101/3655/16677 -f 3101/3655/16678 3099/3653/16679 3103/3657/16680 -f 3104/3659/16681 2725/3264/16682 3101/3655/16683 -f 3101/3655/16684 3102/3658/16685 3104/3659/16686 -f 3106/3660/16687 3105/3661/16688 3104/3659/16689 -f 3104/3659/16690 3102/3658/16691 3106/3660/16692 -f 3104/3659/16693 2727/3262/16694 2725/3264/16695 -f 3107/3664/16696 2739/3277/16697 3109/3662/16698 -f 3109/3662/16699 3108/3663/16700 3107/3664/16701 -f 3109/3662/16702 3110/3666/16703 3111/3665/16704 -f 3111/3665/16705 3108/3663/16706 3109/3662/16707 -f 3109/3662/16708 3112/3668/16709 3113/3667/16710 -f 3113/3667/16711 3110/3666/16712 3109/3662/16713 -f 2734/3275/16714 3114/3669/16715 3112/3668/16716 -f 3112/3668/16717 2739/3277/16718 2734/3275/16719 -f 3114/3669/16720 3115/3670/16721 3113/3667/16722 -f 3113/3667/16723 3112/3668/16724 3114/3669/16725 -f 2749/3286/16726 3116/3671/16727 3114/3669/16728 -f 3114/3669/16729 2734/3275/16730 2749/3286/16731 -f 3116/3671/16732 3117/3672/16733 3115/3670/16734 -f 3115/3670/16735 3114/3669/16736 3116/3671/16737 -f 3118/3674/16738 3115/3670/16739 3117/3672/16740 -f 3117/3672/16741 2729/3673/16742 3118/3674/16743 -f 3116/3671/16744 3087/3641/16745 3091/3675/16746 -f 3091/3675/16747 3117/3672/16748 3116/3671/16749 -f 3116/3671/16750 2749/3286/16751 2750/3288/16752 -f 2750/3288/16753 3087/3641/16754 3116/3671/16755 -f 2733/3268/16756 2739/3277/16757 3107/3664/16758 -f 3107/3664/16759 2732/3269/16760 2733/3268/16761 -f 3106/3660/16762 3119/3677/16763 3120/3676/16764 -f 3120/3676/16765 3105/3661/16766 3106/3660/16767 -f 2730/3271/16768 2731/3270/16769 3120/3676/16770 -f 3120/3676/16771 3119/3677/16772 2730/3271/16773 -f 3122/3678/16774 3121/3679/16775 2730/3271/16776 -f 2730/3271/16777 3119/3677/16778 3122/3678/16779 -f 2738/3276/16780 2730/3271/16781 3121/3679/16782 -f 3121/3679/16783 3123/3680/16784 2738/3276/16785 -f 3124/3682/16786 2736/3273/16787 2738/3276/16788 -f 2738/3276/16789 3125/3681/16790 3124/3682/16791 -f 3126/3683/16792 3125/3681/16793 2738/3276/16794 -f 2738/3276/16795 3123/3680/16796 3126/3683/16797 -f 3127/3684/16798 3125/3681/16799 3126/3683/16800 -f 3126/3683/16801 2786/3323/16802 3127/3684/16803 -f 3129/3685/16804 3128/3686/16805 3126/3683/16806 -f 3126/3683/16807 3123/3680/16808 3129/3685/16809 -f 2785/3324/16810 2786/3323/16811 3126/3683/16812 -f 3126/3683/16813 3128/3686/16814 2785/3324/16815 -f 3129/3685/16816 3130/3688/16817 3131/3687/16818 -f 3131/3687/16819 3128/3686/16820 3129/3685/16821 -f 2799/3337/16822 2785/3324/16823 3128/3686/16824 -f 3128/3686/16825 3131/3687/16826 2799/3337/16827 -f 3132/3689/16828 2776/3315/16829 3131/3687/16830 -f 3131/3687/16831 3130/3688/16832 3132/3689/16833 -f 2776/3315/16834 2777/3314/16835 2799/3337/16836 -f 2799/3337/16837 3131/3687/16838 2776/3315/16839 -f 3121/3679/16840 3133/3690/16841 3129/3685/16842 -f 3129/3685/16843 3123/3680/16844 3121/3679/16845 -f 3133/3690/16846 3134/3691/16847 3130/3688/16848 -f 3130/3688/16849 3129/3685/16850 3133/3690/16851 -f 3122/3678/16852 3135/3692/16853 3133/3690/16854 -f 3133/3690/16855 3121/3679/16856 3122/3678/16857 -f 3135/3692/16858 3136/3693/16859 3134/3691/16860 -f 3134/3691/16861 3133/3690/16862 3135/3692/16863 -f 3137/3694/16864 3093/3647/16865 3136/3693/16866 -f 3136/3693/16867 3135/3692/16868 3137/3694/16869 -f 3138/3695/16870 3137/3694/16871 3135/3692/16872 -f 3135/3692/16873 3122/3678/16874 3138/3695/16875 -f 3096/3650/16876 3137/3694/16877 3138/3695/16878 -f 3138/3695/16879 3103/3657/16880 3096/3650/16881 -f 3119/3677/16882 3106/3660/16883 3138/3695/16884 -f 3138/3695/16885 3122/3678/16886 3119/3677/16887 -f 3102/3658/16888 3103/3657/16889 3138/3695/16890 -f 3138/3695/16891 3106/3660/16892 3102/3658/16893 -f 3092/3648/16894 3093/3647/16895 3137/3694/16896 -f 3137/3694/16897 3096/3650/16898 3092/3648/16899 -f 3140/3697/16900 3139/3698/16901 3127/3684/16902 -f 3127/3684/16903 3141/3696/16904 3140/3697/16905 -f 3124/3682/16906 3125/3681/16907 3127/3684/16908 -f 3127/3684/16909 3139/3698/16910 3124/3682/16911 -f 2787/3328/16912 2788/3327/16913 3139/3698/16914 -f 3139/3698/16915 3140/3697/16916 2787/3328/16917 -f 3142/3699/16918 3124/3682/16919 3139/3698/16920 -f 3139/3698/16921 2788/3327/16922 3142/3699/16923 -f 2789/3326/16924 2792/3332/16925 3142/3699/16926 -f 3142/3699/16927 2788/3327/16928 2789/3326/16929 -f 3144/3700/16930 3143/3701/16931 3142/3699/16932 -f 3142/3699/16933 2792/3332/16934 3144/3700/16935 -f 2736/3273/16936 3124/3682/16937 3142/3699/16938 -f 3142/3699/16939 3143/3701/16940 2736/3273/16941 -f 2748/3287/16942 2735/3274/16943 3143/3701/16944 -f 3143/3701/16945 3144/3700/16946 2748/3287/16947 -f 3143/3701/16948 2735/3274/16949 2736/3273/16950 -f 2793/3331/16951 3145/3702/16952 3144/3700/16953 -f 3144/3700/16954 2792/3332/16955 2793/3331/16956 -f 2746/3283/16957 2748/3287/16958 3144/3700/16959 -f 3144/3700/16960 3145/3702/16961 2746/3283/16962 -f 2764/3304/16963 2763/3299/16964 3145/3702/16965 -f 3145/3702/16966 2793/3331/16967 2764/3304/16968 -f 2745/3284/16969 2746/3283/16970 3145/3702/16971 -f 3145/3702/16972 2763/3299/16973 2745/3284/16974 -f 2787/3328/16975 3146/3704/16976 3147/3703/16977 -f 3147/3703/16978 2790/3325/16979 2787/3328/16980 -f 3148/3705/16981 3146/3704/16982 2787/3328/16983 -f 2787/3328/16984 3140/3697/16985 3148/3705/16986 -f 2898/3439/16987 3146/3704/16988 3148/3705/16989 -f 3148/3705/16990 2901/3436/16991 2898/3439/16992 -f 3141/3696/16993 3149/3706/16994 3148/3705/16995 -f 3148/3705/16996 3140/3697/16997 3141/3696/16998 -f 2904/3440/16999 2901/3436/17000 3148/3705/17001 -f 3148/3705/17002 3149/3706/17003 2904/3440/17004 -f 3151/3707/17005 3150/3708/17006 3149/3706/17007 -f 3149/3706/17008 3141/3696/17009 3151/3707/17010 -f 3152/3709/17011 2904/3440/17012 3149/3706/17013 -f 3149/3706/17014 3150/3708/17015 3152/3709/17016 -f 2903/3441/17017 2904/3440/17018 3152/3709/17019 -f 3152/3709/17020 2951/3493/17021 2903/3441/17022 -f 2911/3448/17023 2912/3450/17024 3152/3709/17025 -f 3152/3709/17026 3150/3708/17027 2911/3448/17028 -f 2950/3494/17029 2951/3493/17030 3152/3709/17031 -f 3152/3709/17032 2912/3450/17033 2950/3494/17034 -f 2781/3322/17035 2911/3448/17036 3150/3708/17037 -f 3150/3708/17038 3151/3707/17039 2781/3322/17040 -f 2898/3439/17041 3153/3710/17042 3147/3703/17043 -f 3147/3703/17044 3146/3704/17045 2898/3439/17046 -f 3155/3711/17047 3154/3712/17048 3147/3703/17049 -f 3147/3703/17050 3153/3710/17051 3155/3711/17052 -f 3156/3713/17053 2790/3325/17054 3147/3703/17055 -f 3147/3703/17056 3154/3712/17057 3156/3713/17058 -f 2791/3329/17059 2790/3325/17060 3156/3713/17061 -f 3156/3713/17062 3157/3714/17063 2791/3329/17064 -f 2795/3333/17065 2791/3329/17066 3157/3714/17067 -f 3157/3714/17068 2817/3353/17069 2795/3333/17070 -f 3159/3717/17071 3158/3718/17072 3161/3715/17073 -f 3161/3715/17074 3160/3716/17075 3159/3717/17076 -f 2815/3355/17077 2816/3354/17078 3161/3715/17079 -f 3161/3715/17080 3158/3718/17081 2815/3355/17082 -f 3163/3719/17083 3162/3720/17084 3158/3718/17085 -f 3158/3718/17086 3159/3717/17087 3163/3719/17088 -f 2818/3356/17089 2815/3355/17090 3158/3718/17091 -f 3158/3718/17092 3162/3720/17093 2818/3356/17094 -f 3162/3720/17095 3163/3719/17096 2851/3390/17097 -f 2851/3390/17098 2837/3377/17099 3162/3720/17100 -f 3162/3720/17101 2837/3377/17102 2838/3376/17103 -f 2838/3376/17104 2818/3356/17105 3162/3720/17106 -f 2838/3376/17107 2820/3359/17108 2814/3351/17109 -f 2814/3351/17110 2818/3356/17111 2838/3376/17112 -f 2821/3358/17113 2813/3352/17114 2814/3351/17115 -f 2814/3351/17116 2820/3359/17117 2821/3358/17118 -f 2766/3302/17119 2764/3304/17120 2813/3352/17121 -f 2813/3352/17122 2821/3358/17123 2766/3302/17124 -f 3165/3721/17125 3164/3722/17126 3159/3717/17127 -f 3159/3717/17128 3160/3716/17129 3165/3721/17130 -f 2850/3391/17131 3163/3719/17132 3159/3717/17133 -f 3159/3717/17134 3164/3722/17135 2850/3391/17136 -f 3166/3723/17137 3164/3722/17138 3165/3721/17139 -f 2879/3418/17140 2850/3391/17141 3164/3722/17142 -f 3164/3722/17143 3166/3723/17144 2879/3418/17145 -f 3168/3724/17146 3167/3725/17147 2879/3418/17148 -f 2879/3418/17149 3166/3723/17150 3168/3724/17151 -f 2879/3418/17152 3167/3725/17153 2899/3438/17154 -f 2899/3438/17155 2880/3417/17156 2879/3418/17157 -f 3153/3710/17158 2898/3439/17159 2899/3438/17160 -f 2899/3438/17161 3167/3725/17162 3153/3710/17163 -f 3155/3711/17164 3153/3710/17165 3167/3725/17166 -f 3167/3725/17167 3168/3724/17168 3155/3711/17169 -f 3095/3651/17170 3096/3650/17171 3103/3657/17172 -f 3103/3657/17173 3099/3653/17174 3095/3651/17175 -f 2742/3279/17176 3136/3693/17177 3093/3647/17178 -f 3093/3647/17179 3089/3643/17180 2742/3279/17181 -f 3087/3641/17182 3088/3640/17183 3091/3675/17184 -f 2745/3284/17185 2761/3301/17186 3082/3635/17187 -f 3082/3635/17188 2744/3285/17189 2745/3284/17190 -f 2754/3289/17191 2756/3294/17192 3082/3635/17193 -f 3082/3635/17194 2761/3301/17195 2754/3289/17196 -f 3016/3560/17197 3017/3559/17198 3061/3726/17199 -f 3061/3726/17200 3062/3628/17201 3016/3560/17202 -f 3169/3727/17203 2780/3317/17204 3056/3605/17205 -f 3056/3605/17206 3057/3604/17207 3169/3727/17208 -f 3048/3597/17209 3170/3728/17210 3051/3598/17211 -f 3051/3598/17212 2865/3403/17213 3048/3597/17214 -f 3171/3729/17215 3170/3728/17216 3048/3597/17217 -f 3048/3597/17218 3049/3596/17219 3171/3729/17220 -f 3172/3732/17221 3171/3733/17222 3049/3730/17223 -f 3049/3730/17224 3173/3731/17225 3172/3732/17226 -f 3049/3730/17227 3046/3593/17228 3044/3592/17229 -f 3044/3592/17230 3173/3731/17231 3049/3730/17232 -f 3044/3592/17233 3045/3591/17234 3174/3734/17235 -f 3174/3734/17236 3173/3731/17237 3044/3592/17238 -f 3045/3591/17239 3175/3735/17240 3022/3566/17241 -f 3022/3566/17242 3174/3734/17243 3045/3591/17244 -f 3175/3735/17245 3176/3736/17246 3020/3562/17247 -f 3020/3562/17248 3022/3566/17249 3175/3735/17250 -f 3175/3735/17251 3045/3591/17252 3043/3588/17253 -f 3043/3588/17254 3034/3576/17255 3175/3735/17256 -f 3175/3735/17257 3034/3576/17258 3032/3574/17259 -f 3032/3574/17260 3176/3736/17261 3175/3735/17262 -f 3032/3574/17263 3029/3572/17264 3027/3569/17265 -f 3027/3569/17266 3176/3736/17267 3032/3574/17268 -f 3027/3569/17269 3019/3563/17270 3020/3562/17271 -f 3020/3562/17272 3176/3736/17273 3027/3569/17274 -f 3023/3565/17275 3177/3737/17276 3174/3734/17277 -f 3174/3734/17278 3022/3566/17279 3023/3565/17280 -f 3172/3732/17281 3173/3731/17282 3174/3734/17283 -f 3174/3734/17284 3177/3737/17285 3172/3732/17286 -f 3033/3577/17287 3034/3576/17288 3043/3588/17289 -f 3043/3588/17290 3037/3579/17291 3033/3577/17292 -f 3004/3550/17293 3179/3738/17294 3178/3739/17295 -f 3182/3740/17296 3181/3741/17297 3180/3742/17298 -f 3179/3738/17299 3183/3743/17300 3180/3742/17301 -f 3180/3742/17302 3178/3739/17303 3179/3738/17304 -f 3180/3742/17305 3183/3743/17306 3182/3740/17307 -f 3185/3744/17308 3184/3745/17309 3181/3741/17310 -f 3181/3741/17311 3182/3740/17312 3185/3744/17313 -f 3181/3741/17314 3184/3745/17315 3186/3746/17316 -f 3187/3747/17317 3003/3546/17318 3186/3746/17319 -f 3186/3746/17320 3184/3745/17321 3187/3747/17322 -f 3001/3543/17323 3011/3553/17324 3186/3746/17325 -f 3186/3746/17326 3003/3546/17327 3001/3543/17328 -f 3189/3749/17329 3188/3750/17330 3187/3747/17331 -f 3187/3747/17332 3190/3748/17333 3189/3749/17334 -f 3000/3544/17335 3003/3546/17336 3187/3747/17337 -f 3187/3747/17338 3188/3750/17339 3000/3544/17340 -f 3191/3751/17341 3190/3748/17342 3187/3747/17343 -f 3187/3747/17344 3184/3745/17345 3191/3751/17346 -f 3193/3752/17347 3192/3753/17348 3188/3750/17349 -f 3188/3750/17350 3189/3749/17351 3193/3752/17352 -f 2999/3545/17353 3000/3544/17354 3188/3750/17355 -f 3188/3750/17356 3192/3753/17357 2999/3545/17358 -f 3195/3754/17359 3194/3755/17360 3192/3753/17361 -f 3192/3753/17362 3193/3752/17363 3195/3754/17364 -f 3196/3756/17365 2999/3545/17366 3192/3753/17367 -f 3192/3753/17368 3194/3755/17369 3196/3756/17370 -f 3196/3756/17371 3194/3755/17372 3198/3757/17373 -f 3198/3757/17374 3197/3758/17375 3196/3756/17376 -f 3196/3756/17377 3197/3758/17378 3200/3759/17379 -f 3200/3759/17380 3199/3760/17381 3196/3756/17382 -f 3196/3756/17383 3199/3760/17384 3002/3542/17385 -f 3002/3542/17386 2999/3545/17387 3196/3756/17388 -f 3199/3760/17389 3200/3759/17390 3202/3761/17391 -f 3202/3761/17392 3201/3762/17393 3199/3760/17394 -f 3010/3554/17395 3002/3542/17396 3199/3760/17397 -f 3199/3760/17398 3201/3762/17399 3010/3554/17400 -f 3201/3762/17401 3202/3761/17402 3204/3763/17403 -f 3204/3763/17404 3203/3764/17405 3201/3762/17406 -f 3009/3551/17407 3010/3554/17408 3201/3762/17409 -f 3201/3762/17410 3203/3764/17411 3009/3551/17412 -f 3203/3764/17413 3204/3763/17414 3206/3765/17415 -f 3206/3765/17416 3205/3766/17417 3203/3764/17418 -f 3008/3552/17419 3009/3551/17420 3203/3764/17421 -f 3203/3764/17422 3205/3766/17423 3008/3552/17424 -f 3205/3766/17425 3206/3765/17426 3208/3767/17427 -f 3208/3767/17428 3207/3768/17429 3205/3766/17430 -f 3209/3769/17431 3008/3552/17432 3205/3766/17433 -f 3205/3766/17434 3207/3768/17435 3209/3769/17436 -f 3211/3770/17437 3210/3771/17438 3209/3769/17439 -f 3209/3769/17440 3207/3768/17441 3211/3770/17442 -f 3213/3772/17443 3212/3773/17444 3209/3769/17445 -f 3209/3769/17446 3210/3771/17447 3213/3772/17448 -f 3006/3548/17449 3008/3552/17450 3209/3769/17451 -f 3209/3769/17452 3212/3773/17453 3006/3548/17454 -f 3214/3774/17455 3012/3556/17456 3212/3773/17457 -f 3212/3773/17458 3213/3772/17459 3214/3774/17460 -f 3005/3549/17461 3006/3548/17462 3212/3773/17463 -f 3212/3773/17464 3012/3556/17465 3005/3549/17466 -f 3216/3775/17467 3215/3776/17468 3213/3772/17469 -f 3213/3772/17470 3210/3771/17471 3216/3775/17472 -f 3213/3772/17473 3215/3776/17474 3214/3774/17475 -f 3218/3777/17476 3217/3778/17477 3214/3774/17478 -f 3214/3774/17479 3215/3776/17480 3218/3777/17481 -f 3216/3775/17482 3219/3779/17483 3218/3777/17484 -f 3218/3777/17485 3215/3776/17486 3216/3775/17487 -f 3220/3780/17488 2996/3539/17489 3218/3777/17490 -f 3218/3777/17491 3219/3779/17492 3220/3780/17493 -f 2994/3538/17494 3217/3778/17495 3218/3777/17496 -f 3218/3777/17497 2996/3539/17498 2994/3538/17499 -f 3222/3781/17500 3221/3782/17501 3220/3780/17502 -f 3220/3780/17503 3219/3779/17504 3222/3781/17505 -f 3224/3783/17506 3223/3784/17507 3220/3780/17508 -f 3220/3780/17509 3221/3782/17510 3224/3783/17511 -f 2992/3534/17512 2996/3539/17513 3220/3780/17514 -f 3220/3780/17515 3223/3784/17516 2992/3534/17517 -f 3226/3785/17518 3225/3786/17519 3223/3784/17520 -f 3223/3784/17521 3224/3783/17522 3226/3785/17523 -f 2991/3535/17524 2992/3534/17525 3223/3784/17526 -f 3223/3784/17527 3225/3786/17528 2991/3535/17529 -f 3228/3787/17530 3227/3788/17531 3225/3786/17532 -f 3225/3786/17533 3226/3785/17534 3228/3787/17535 -f 3229/3789/17536 2991/3535/17537 3225/3786/17538 -f 3225/3786/17539 3227/3788/17540 3229/3789/17541 -f 3193/3790/17542 3189/3791/17543 3229/3789/17544 -f 3229/3789/17545 3227/3788/17546 3193/3790/17547 -f 3190/3792/17548 3230/3793/17549 3229/3789/17550 -f 3229/3789/17551 3189/3791/17552 3190/3792/17553 -f 2990/3536/17554 2991/3535/17555 3229/3789/17556 -f 3229/3789/17557 3230/3793/17558 2990/3536/17559 -f 3191/3794/17560 2998/3540/17561 3230/3793/17562 -f 3230/3793/17563 3190/3792/17564 3191/3794/17565 -f 2995/3537/17566 2990/3536/17567 3230/3793/17568 -f 3230/3793/17569 2998/3540/17570 2995/3537/17571 -f 3195/3795/17572 3193/3790/17573 3227/3788/17574 -f 3227/3788/17575 3228/3787/17576 3195/3795/17577 -f 3228/3787/17578 3226/3785/17579 3232/3796/17580 -f 3232/3796/17581 3231/3797/17582 3228/3787/17583 -f 3228/3787/17584 3231/3797/17585 3233/3798/17586 -f 3233/3798/17587 3195/3795/17588 3228/3787/17589 -f 3233/3799/17590 3198/3757/17591 3194/3755/17592 -f 3194/3755/17593 3195/3754/17594 3233/3799/17595 -f 3235/3800/17596 3234/3801/17597 3198/3757/17598 -f 3198/3757/17599 3233/3799/17600 3235/3800/17601 -f 3236/3802/17602 3197/3758/17603 3198/3757/17604 -f 3198/3757/17605 3234/3801/17606 3236/3802/17607 -f 3236/3802/17608 3237/3803/17609 3200/3759/17610 -f 3200/3759/17611 3197/3758/17612 3236/3802/17613 -f 3238/3804/17614 3202/3761/17615 3200/3759/17616 -f 3200/3759/17617 3237/3803/17618 3238/3804/17619 -f 3239/3805/17620 3204/3763/17621 3202/3761/17622 -f 3202/3761/17623 3238/3804/17624 3239/3805/17625 -f 3240/3806/17626 3206/3765/17627 3204/3763/17628 -f 3204/3763/17629 3239/3805/17630 3240/3806/17631 -f 3241/3807/17632 3208/3767/17633 3206/3765/17634 -f 3206/3765/17635 3240/3806/17636 3241/3807/17637 -f 3243/3808/17638 3242/3809/17639 3208/3767/17640 -f 3208/3767/17641 3241/3807/17642 3243/3808/17643 -f 3208/3767/17644 3242/3809/17645 3211/3770/17646 -f 3211/3770/17647 3207/3768/17648 3208/3767/17649 -f 3245/3810/17650 3244/3811/17651 3211/3770/17652 -f 3211/3770/17653 3242/3809/17654 3245/3810/17655 -f 3244/3811/17656 3245/3810/17657 3246/3812/17658 -f 3246/3812/17659 3222/3781/17660 3244/3811/17661 -f 3219/3779/17662 3216/3775/17663 3244/3811/17664 -f 3244/3811/17665 3222/3781/17666 3219/3779/17667 -f 3210/3771/17668 3211/3770/17669 3244/3811/17670 -f 3244/3811/17671 3216/3775/17672 3210/3771/17673 -f 3246/3812/17674 3247/3813/17675 3221/3782/17676 -f 3221/3782/17677 3222/3781/17678 3246/3812/17679 -f 3248/3814/17680 3224/3783/17681 3221/3782/17682 -f 3221/3782/17683 3247/3813/17684 3248/3814/17685 -f 3232/3796/17686 3226/3785/17687 3224/3783/17688 -f 3224/3783/17689 3248/3814/17690 3232/3796/17691 -f 3250/3815/17692 3249/3816/17693 3232/3796/17694 -f 3232/3796/17695 3248/3814/17696 3250/3815/17697 -f 3251/3817/17698 3231/3797/17699 3232/3796/17700 -f 3232/3796/17701 3249/3816/17702 3251/3817/17703 -f 3252/3820/17704 2969/3513/17705 3251/3818/17706 -f 3251/3818/17707 3249/3819/17708 3252/3820/17709 -f 2970/3512/17710 3235/3821/17711 3251/3818/17712 -f 3251/3818/17713 2969/3513/17714 2970/3512/17715 -f 3233/3798/17716 3231/3797/17717 3251/3817/17718 -f 3251/3817/17719 3235/3822/17720 3233/3798/17721 -f 3253/3824/17722 2966/3509/17723 3252/3820/17724 -f 3252/3820/17725 3254/3823/17726 3253/3824/17727 -f 2965/3505/17728 2969/3513/17729 3252/3820/17730 -f 3252/3820/17731 2966/3509/17732 2965/3505/17733 -f 3250/3825/17734 3254/3823/17735 3252/3820/17736 -f 3252/3820/17737 3249/3819/17738 3250/3825/17739 -f 2927/3466/17740 2928/3465/17741 3253/3824/17742 -f 3253/3824/17743 3255/3826/17744 2927/3466/17745 -f 2930/3469/17746 2966/3509/17747 3253/3824/17748 -f 3253/3824/17749 2928/3465/17750 2930/3469/17751 -f 3256/3827/17752 3255/3826/17753 3253/3824/17754 -f 3253/3824/17755 3254/3823/17756 3256/3827/17757 -f 3257/3829/17758 3255/3826/17759 3256/3827/17760 -f 3256/3827/17761 3258/3828/17762 3257/3829/17763 -f 3250/3825/17764 3259/3830/17765 3256/3827/17766 -f 3256/3827/17767 3254/3823/17768 3250/3825/17769 -f 3260/3831/17770 3258/3828/17771 3256/3827/17772 -f 3256/3827/17773 3259/3830/17774 3260/3831/17775 -f 3261/3833/17776 3258/3828/17777 3260/3831/17778 -f 3260/3831/17779 3262/3832/17780 3261/3833/17781 -f 3247/3813/17782 3246/3812/17783 3260/3834/17784 -f 3260/3834/17785 3259/3835/17786 3247/3813/17787 -f 3245/3810/17788 3262/3836/17789 3260/3834/17790 -f 3260/3834/17791 3246/3812/17792 3245/3810/17793 -f 3264/3838/17794 3263/3839/17795 3261/3833/17796 -f 3261/3833/17797 3265/3837/17798 3264/3838/17799 -f 3257/3829/17800 3258/3828/17801 3261/3833/17802 -f 3261/3833/17803 3263/3839/17804 3257/3829/17805 -f 3243/3840/17806 3265/3837/17807 3261/3833/17808 -f 3261/3833/17809 3262/3832/17810 3243/3840/17811 -f 2907/3446/17812 3266/3841/17813 3263/3839/17814 -f 3263/3839/17815 3264/3838/17816 2907/3446/17817 -f 3267/3842/17818 3257/3829/17819 3263/3839/17820 -f 3263/3839/17821 3266/3841/17822 3267/3842/17823 -f 3269/3843/17824 3268/3844/17825 3267/3842/17826 -f 3267/3842/17827 3266/3841/17828 3269/3843/17829 -f 2926/3467/17830 2927/3466/17831 3267/3842/17832 -f 3267/3842/17833 3268/3844/17834 2926/3467/17835 -f 3255/3826/17836 3257/3829/17837 3267/3842/17838 -f 3267/3842/17839 2927/3466/17840 3255/3826/17841 -f 3271/3845/17842 3270/3846/17843 3268/3844/17844 -f 3268/3844/17845 3269/3843/17846 3271/3845/17847 -f 2897/3434/17848 2926/3467/17849 3268/3844/17850 -f 3268/3844/17851 3270/3846/17852 2897/3434/17853 -f 3273/3847/17854 3272/3848/17855 3270/3846/17856 -f 3270/3846/17857 3271/3845/17858 3273/3847/17859 -f 2896/3435/17860 2897/3434/17861 3270/3846/17862 -f 3270/3846/17863 3272/3848/17864 2896/3435/17865 -f 3275/3849/17866 3274/3850/17867 3272/3848/17868 -f 3272/3848/17869 3273/3847/17870 3275/3849/17871 -f 2846/3385/17872 2896/3435/17873 3272/3848/17874 -f 3272/3848/17875 3274/3850/17876 2846/3385/17877 -f 3277/3851/17878 3276/3852/17879 3274/3850/17880 -f 3274/3850/17881 3275/3849/17882 3277/3851/17883 -f 2845/3380/17884 2846/3385/17885 3274/3850/17886 -f 3274/3850/17887 3276/3852/17888 2845/3380/17889 -f 3279/3853/17890 3278/3854/17891 3276/3852/17892 -f 3276/3852/17893 3277/3851/17894 3279/3853/17895 -f 2849/3386/17896 2845/3380/17897 3276/3852/17898 -f 3276/3852/17899 3278/3854/17900 2849/3386/17901 -f 3277/3851/17902 3280/3856/17903 3281/3855/17904 -f 3281/3855/17905 3279/3853/17906 3277/3851/17907 -f 2803/3342/17908 2804/3341/17909 3281/3855/17910 -f 3281/3855/17911 3280/3856/17912 2803/3342/17913 -f 3275/3849/17914 3282/3857/17915 3280/3856/17916 -f 3280/3856/17917 3277/3851/17918 3275/3849/17919 -f 2782/3321/17920 2803/3342/17921 3280/3856/17922 -f 3280/3856/17923 3282/3857/17924 2782/3321/17925 -f 3273/3847/17926 3283/3858/17927 3282/3857/17928 -f 3282/3857/17929 3275/3849/17930 3273/3847/17931 -f 2781/3322/17932 2782/3321/17933 3282/3857/17934 -f 3282/3857/17935 3283/3858/17936 2781/3322/17937 -f 3271/3845/17938 2910/3449/17939 3283/3858/17940 -f 3283/3858/17941 3273/3847/17942 3271/3845/17943 -f 2910/3449/17944 2911/3448/17945 2781/3322/17946 -f 2781/3322/17947 3283/3858/17948 2910/3449/17949 -f 2908/3445/17950 2910/3449/17951 3271/3845/17952 -f 3271/3845/17953 3269/3843/17954 2908/3445/17955 -f 2907/3446/17956 2908/3445/17957 3269/3843/17958 -f 3269/3843/17959 3266/3841/17960 2907/3446/17961 -f 2906/3447/17962 2907/3446/17963 3264/3838/17964 -f 3264/3838/17965 3284/3859/17966 2906/3447/17967 -f 3285/3860/17968 3284/3859/17969 3264/3838/17970 -f 3264/3838/17971 3265/3837/17972 3285/3860/17973 -f 3243/3840/17974 3241/3861/17975 3285/3860/17976 -f 3285/3860/17977 3265/3837/17978 3243/3840/17979 -f 3240/3862/17980 3286/3863/17981 3285/3860/17982 -f 3285/3860/17983 3241/3861/17984 3240/3862/17985 -f 3288/3864/17986 3287/3865/17987 2949/3491/17988 -f 2949/3491/17989 2950/3494/17990 3288/3864/17991 -f 3288/3864/17992 2906/3447/17993 3284/3859/17994 -f 3289/3866/17995 3287/3865/17996 3288/3864/17997 -f 3288/3864/17998 3286/3863/17999 3289/3866/18000 -f 3290/3868/18001 3287/3865/18002 3289/3866/18003 -f 3289/3866/18004 3291/3867/18005 3290/3868/18006 -f 3240/3862/18007 3239/3869/18008 3289/3866/18009 -f 3289/3866/18010 3286/3863/18011 3240/3862/18012 -f 3238/3870/18013 3291/3867/18014 3289/3866/18015 -f 3289/3866/18016 3239/3869/18017 3238/3870/18018 -f 3290/3868/18019 2972/3873/18020 3292/3871/18021 -f 3292/3871/18022 2948/3872/18023 3290/3868/18024 -f 3290/3868/18025 2948/3872/18026 2949/3491/18027 -f 2949/3491/18028 3287/3865/18029 3290/3868/18030 -f 3293/3874/18031 2972/3873/18032 3290/3868/18033 -f 3290/3868/18034 3291/3867/18035 3293/3874/18036 -f 3292/3876/18037 2972/3515/18038 2973/3514/18039 -f 2973/3514/18040 3294/3875/18041 3292/3876/18042 -f 3296/3879/18043 3295/3880/18044 3292/3877/18045 -f 3292/3877/18046 3294/3878/18047 3296/3879/18048 -f 2947/3489/18049 2948/3488/18050 3292/3877/18051 -f 3292/3877/18052 3295/3880/18053 2947/3489/18054 -f 3298/3881/18055 3297/3882/18056 3296/3879/18057 -f 3296/3879/18058 3294/3878/18059 3298/3881/18060 -f 3300/3883/18061 3299/3884/18062 3296/3879/18063 -f 3296/3879/18064 3297/3882/18065 3300/3883/18066 -f 3301/3885/18067 3295/3880/18068 3296/3879/18069 -f 3296/3879/18070 3299/3884/18071 3301/3885/18072 -f 2985/3529/18073 2986/3528/18074 3299/3886/18075 -f 3299/3886/18076 3300/3887/18077 2985/3529/18078 -f 2988/3532/18079 3301/3888/18080 3299/3886/18081 -f 3299/3886/18082 2986/3528/18083 2988/3532/18084 -f 3303/3889/18085 3302/3890/18086 3300/3883/18087 -f 3300/3883/18088 3297/3882/18089 3303/3889/18090 -f 3304/3892/18091 2985/3529/18092 3300/3887/18093 -f 3300/3887/18094 3302/3891/18095 3304/3892/18096 -f 3306/3893/18097 3305/3894/18098 3304/3892/18099 -f 3304/3892/18100 3302/3891/18101 3306/3893/18102 -f 3308/3895/18103 3307/3896/18104 3304/3892/18105 -f 3304/3892/18106 3305/3894/18107 3308/3895/18108 -f 2984/3530/18109 2985/3529/18110 3304/3892/18111 -f 3304/3892/18112 3307/3896/18113 2984/3530/18114 -f 3310/3897/18115 3309/3898/18116 3305/3894/18117 -f 3305/3894/18118 3306/3893/18119 3310/3897/18120 -f 3311/3899/18121 3308/3895/18122 3305/3894/18123 -f 3305/3894/18124 3309/3898/18125 3311/3899/18126 -f 2959/3501/18127 2960/3504/18128 3311/3899/18129 -f 3311/3899/18130 3309/3898/18131 2959/3501/18132 -f 3313/3902/18133 3312/3903/18134 3315/3900/18135 -f 3315/3900/18136 3314/3901/18137 3313/3902/18138 -f 2977/3521/18139 2978/3520/18140 3315/3900/18141 -f 3315/3900/18142 3312/3903/18143 2977/3521/18144 -f 3317/3904/18145 3316/3905/18146 3312/3903/18147 -f 3312/3903/18148 3313/3902/18149 3317/3904/18150 -f 3318/3906/18151 2977/3521/18152 3312/3903/18153 -f 3312/3903/18154 3316/3905/18155 3318/3906/18156 -f 3320/3907/18157 3319/3908/18158 3318/3906/18159 -f 3318/3906/18160 3316/3905/18161 3320/3907/18162 -f 2980/3909/18163 3321/3910/18164 3318/3906/18165 -f 3318/3906/18166 3319/3908/18167 2980/3909/18168 -f 2976/3522/18169 2977/3521/18170 3318/3906/18171 -f 3318/3906/18172 3321/3910/18173 2976/3522/18174 -f 2981/3911/18175 3322/3912/18176 3321/3910/18177 -f 3321/3910/18178 2980/3909/18179 2981/3911/18180 -f 3323/3913/18181 2976/3522/18182 3321/3910/18183 -f 3321/3910/18184 3322/3912/18185 3323/3913/18186 -f 3319/3916/18187 3320/3917/18188 3325/3914/18189 -f 3325/3914/18190 3324/3915/18191 3319/3916/18192 -f 3324/3915/18193 2983/3523/18194 2980/3526/18195 -f 2980/3526/18196 3319/3916/18197 3324/3915/18198 -f 3326/3918/18199 2953/3495/18200 3324/3915/18201 -f 3324/3915/18202 3325/3914/18203 3326/3918/18204 -f 2946/3490/18205 2983/3523/18206 3324/3915/18207 -f 3324/3915/18208 2953/3495/18209 2946/3490/18210 -f 3328/3919/18211 3327/3920/18212 3326/3918/18213 -f 3326/3918/18214 3325/3914/18215 3328/3919/18216 -f 3330/3921/18217 3329/3922/18218 3326/3918/18219 -f 3326/3918/18220 3327/3920/18221 3330/3921/18222 -f 2952/3496/18223 2953/3495/18224 3326/3918/18225 -f 3326/3918/18226 3329/3922/18227 2952/3496/18228 -f 2902/3442/18229 2903/3441/18230 3329/3923/18231 -f 3329/3923/18232 3330/3924/18233 2902/3442/18234 -f 2951/3493/18235 2952/3492/18236 3329/3923/18237 -f 3329/3923/18238 2903/3441/18239 2951/3493/18240 -f 3332/3925/18241 3331/3926/18242 3330/3921/18243 -f 3330/3921/18244 3327/3920/18245 3332/3925/18246 -f 2905/3443/18247 2902/3442/18248 3330/3924/18249 -f 3330/3924/18250 3331/3927/18251 2905/3443/18252 -f 3334/3929/18253 3333/3930/18254 3331/3927/18255 -f 3331/3927/18256 3332/3928/18257 3334/3929/18258 -f 3335/3931/18259 2905/3443/18260 3331/3927/18261 -f 3331/3927/18262 3333/3930/18263 3335/3931/18264 -f 2924/3462/18265 2894/3431/18266 3335/3931/18267 -f 3335/3931/18268 3333/3930/18269 2924/3462/18270 -f 2881/3420/18271 2882/3419/18272 3335/3931/18273 -f 3335/3931/18274 2894/3431/18275 2881/3420/18276 -f 2900/3437/18277 2905/3443/18278 3335/3931/18279 -f 3335/3931/18280 2882/3419/18281 2900/3437/18282 -f 2938/3475/18283 2924/3462/18284 3333/3930/18285 -f 3333/3930/18286 3334/3929/18287 2938/3475/18288 -f 2937/3476/18289 2938/3475/18290 3334/3929/18291 -f 3334/3929/18292 3336/3932/18293 2937/3476/18294 -f 3337/3934/18295 3336/3935/18296 3334/3933/18297 -f 3334/3933/18298 3332/3925/18299 3337/3934/18300 -f 3337/3934/18301 3338/3937/18302 3339/3936/18303 -f 3339/3936/18304 3336/3935/18305 3337/3934/18306 -f 3327/3920/18307 3328/3919/18308 3337/3934/18309 -f 3337/3934/18310 3332/3925/18311 3327/3920/18312 -f 3338/3937/18313 3337/3934/18314 3328/3919/18315 -f 3328/3919/18316 3340/3938/18317 3338/3937/18318 -f 3325/3914/18319 3320/3917/18320 3340/3938/18321 -f 3340/3938/18322 3328/3919/18323 3325/3914/18324 -f 3341/3941/18325 3339/3942/18326 3338/3939/18327 -f 3338/3939/18328 3342/3940/18329 3341/3941/18330 -f 3317/3904/18331 3342/3940/18332 3338/3939/18333 -f 3338/3939/18334 3340/3943/18335 3317/3904/18336 -f 3344/3945/18337 3343/3946/18338 3339/3936/18339 -f 3339/3936/18340 3341/3944/18341 3344/3945/18342 -f 3339/3936/18343 3343/3946/18344 2937/3947/18345 -f 2937/3947/18346 3336/3935/18347 3339/3936/18348 -f 3345/3948/18349 2935/3949/18350 2937/3947/18351 -f 2937/3947/18352 3343/3946/18353 3345/3948/18354 -f 3346/3950/18355 2934/3951/18356 2935/3949/18357 -f 2935/3949/18358 3345/3948/18359 3346/3950/18360 -f 3346/3954/18361 3347/3955/18362 3348/3952/18363 -f 3348/3952/18364 2934/3953/18365 3346/3954/18366 -f 3350/3956/18367 3349/3957/18368 3346/3950/18369 -f 3346/3950/18370 3345/3948/18371 3350/3956/18372 -f 3303/3889/18373 3347/3960/18374 3346/3958/18375 -f 3346/3958/18376 3349/3959/18377 3303/3889/18378 -f 3310/3961/18379 3306/3962/18380 3349/3957/18381 -f 3349/3957/18382 3350/3956/18383 3310/3961/18384 -f 3302/3890/18385 3303/3889/18386 3349/3959/18387 -f 3349/3959/18388 3306/3963/18389 3302/3890/18390 -f 3343/3946/18391 3344/3945/18392 3350/3956/18393 -f 3350/3956/18394 3345/3948/18395 3343/3946/18396 -f 2958/3964/18397 3310/3961/18398 3350/3956/18399 -f 3350/3956/18400 3344/3945/18401 2958/3964/18402 -f 3298/3965/18403 2974/3518/18404 3348/3952/18405 -f 3348/3952/18406 3347/3955/18407 3298/3965/18408 -f 2975/3517/18409 3351/3966/18410 3348/3952/18411 -f 3348/3952/18412 2974/3518/18413 2975/3517/18414 -f 2933/3967/18415 2934/3953/18416 3348/3952/18417 -f 3348/3952/18418 3351/3966/18419 2933/3967/18420 -f 3352/3968/18421 2942/3481/18422 3351/3966/18423 -f 3351/3966/18424 2975/3517/18425 3352/3968/18426 -f 2940/3480/18427 2933/3967/18428 3351/3966/18429 -f 3351/3966/18430 2942/3481/18431 2940/3480/18432 -f 2967/3511/18433 2968/3510/18434 3352/3968/18435 -f 3352/3968/18436 3353/3969/18437 2967/3511/18438 -f 2941/3482/18439 2942/3481/18440 3352/3968/18441 -f 3352/3968/18442 2968/3510/18443 2941/3482/18444 -f 2971/3516/18445 3353/3969/18446 3352/3968/18447 -f 3352/3968/18448 2975/3517/18449 2971/3516/18450 -f 2970/3512/18451 2967/3511/18452 3353/3969/18453 -f 3353/3969/18454 3354/3970/18455 2970/3512/18456 -f 3355/3971/18457 3354/3970/18458 3353/3969/18459 -f 3353/3969/18460 2971/3516/18461 3355/3971/18462 -f 3236/3972/18463 3234/3973/18464 3354/3970/18465 -f 3354/3970/18466 3355/3971/18467 3236/3972/18468 -f 3235/3821/18469 2970/3512/18470 3354/3970/18471 -f 3354/3970/18472 3234/3973/18473 3235/3821/18474 -f 3298/3965/18475 3294/3875/18476 2973/3514/18477 -f 2973/3514/18478 2974/3518/18479 3298/3965/18480 -f 3297/3882/18481 3298/3881/18482 3347/3960/18483 -f 3347/3960/18484 3303/3889/18485 3297/3882/18486 -f 2956/3498/18487 2958/3502/18488 3344/3974/18489 -f 3344/3974/18490 3341/3941/18491 2956/3498/18492 -f 2955/3499/18493 2956/3498/18494 3341/3941/18495 -f 3341/3941/18496 3342/3940/18497 2955/3499/18498 -f 3313/3902/18499 2955/3499/18500 3342/3940/18501 -f 3342/3940/18502 3317/3904/18503 3313/3902/18504 -f 3316/3905/18505 3317/3904/18506 3340/3943/18507 -f 3340/3943/18508 3320/3907/18509 3316/3905/18510 -f 2958/3502/18511 2959/3501/18512 3309/3898/18513 -f 3309/3898/18514 3310/3897/18515 2958/3502/18516 -f 3237/3975/18517 3293/3874/18518 3291/3867/18519 -f 3291/3867/18520 3238/3870/18521 3237/3975/18522 -f 3242/3809/18523 3243/3808/18524 3262/3836/18525 -f 3262/3836/18526 3245/3810/18527 3242/3809/18528 -f 3248/3814/18529 3247/3813/18530 3259/3835/18531 -f 3259/3835/18532 3250/3815/18533 3248/3814/18534 -f 3237/3977/18535 3236/3972/18536 3355/3971/18537 -f 3355/3971/18538 3293/3976/18539 3237/3977/18540 -f 3001/3543/18541 3002/3542/18542 3010/3554/18543 -f 3010/3554/18544 3011/3553/18545 3001/3543/18546 -f 3357/3978/18547 3356/3979/18548 2988/3532/18549 -f 2988/3532/18550 2989/3531/18551 3357/3978/18552 -f 3323/3913/18553 3301/3888/18554 2988/3532/18555 -f 2988/3532/18556 3356/3979/18557 3323/3913/18558 -f 2976/3522/18559 3323/3913/18560 3356/3979/18561 -f 3356/3979/18562 2979/3519/18563 2976/3522/18564 -f 2945/3485/18565 2941/3482/18566 2968/3510/18567 -f 2968/3510/18568 2962/3508/18569 2945/3485/18570 -f 2923/3461/18571 2936/3471/18572 2939/3478/18573 -f 2939/3478/18574 2925/3463/18575 2923/3461/18576 -f 2923/3461/18577 2924/3462/18578 2938/3475/18579 -f 2938/3475/18580 2936/3471/18581 2923/3461/18582 -f 2897/3434/18583 2874/3412/18584 2932/3470/18585 -f 2932/3470/18586 2926/3467/18587 2897/3434/18588 -f 2866/3404/18589 2915/3452/18590 2863/3402/18591 -f 2863/3402/18592 2860/3399/18593 2866/3404/18594 -f 2892/3430/18595 2895/3433/18596 2918/3455/18597 -f 2918/3455/18598 2913/3454/18599 2892/3430/18600 -f 2891/3428/18601 2892/3430/18602 2913/3454/18603 -f 2913/3454/18604 2914/3453/18605 2891/3428/18606 -f 2890/3429/18607 2891/3428/18608 2914/3453/18609 -f 2914/3453/18610 3358/3980/18611 2890/3429/18612 -f 2866/3404/18613 3358/3980/18614 2914/3453/18615 -f 2914/3453/18616 2915/3452/18617 2866/3404/18618 -f 3359/3982/18619 2890/3429/18620 3358/3980/18621 -f 3358/3980/18622 3360/3981/18623 3359/3982/18624 -f 2841/3378/18625 3360/3981/18626 3358/3980/18627 -f 3358/3980/18628 2866/3404/18629 2841/3378/18630 -f 2877/3415/18631 2887/3426/18632 3359/3982/18633 -f 3359/3982/18634 3361/3983/18635 2877/3415/18636 -f 2888/3425/18637 2890/3429/18638 3359/3982/18639 -f 3359/3982/18640 2887/3426/18641 2888/3425/18642 -f 3362/3984/18643 3361/3983/18644 3359/3982/18645 -f 3359/3982/18646 3360/3981/18647 3362/3984/18648 -f 2854/3392/18649 3361/3983/18650 3362/3984/18651 -f 3362/3984/18652 2851/3390/18653 2854/3392/18654 -f 2841/3378/18655 2839/3375/18656 3362/3984/18657 -f 3362/3984/18658 3360/3981/18659 2841/3378/18660 -f 2837/3377/18661 2851/3390/18662 3362/3984/18663 -f 3362/3984/18664 2839/3375/18665 2837/3377/18666 -f 2869/3407/18667 2877/3415/18668 3361/3983/18669 -f 3361/3983/18670 2854/3392/18671 2869/3407/18672 -f 2882/3419/18673 2880/3417/18674 2899/3438/18675 -f 2899/3438/18676 2900/3437/18677 2882/3419/18678 -f 2847/3384/18679 2873/3411/18680 2896/3435/18681 -f 2896/3435/18682 2846/3385/18683 2847/3384/18684 -f 2883/3424/18685 2884/3423/18686 2895/3433/18687 -f 2895/3433/18688 2892/3430/18689 2883/3424/18690 -f 2875/3414/18691 2885/3422/18692 2887/3426/18693 -f 2887/3426/18694 2877/3415/18695 2875/3414/18696 -f 2842/3383/18697 2856/3394/18698 2858/3397/18699 -f 2858/3397/18700 2847/3384/18701 2842/3383/18702 -f 3363/3985/18703 2797/3334/18704 2834/3372/18705 -f 2834/3372/18706 2855/3395/18707 3363/3985/18708 -f 3363/3985/18709 2775/3312/18710 2797/3334/18711 -f 2843/3382/18712 2806/3344/18713 3363/3985/18714 -f 3363/3985/18715 2855/3395/18716 2843/3382/18717 -f 2806/3344/18718 2774/3313/18719 2775/3312/18720 -f 2775/3312/18721 3363/3985/18722 2806/3344/18723 -f 2842/3383/18724 2843/3382/18725 2855/3395/18726 -f 2855/3395/18727 2856/3394/18728 2842/3383/18729 -f 2826/3365/18730 2862/3400/18731 2861/3398/18732 -f 2861/3398/18733 2825/3366/18734 2826/3365/18735 -f 2807/3345/18736 2844/3381/18737 2848/3387/18738 -f 2848/3387/18739 2809/3346/18740 2807/3345/18741 -f 2807/3345/18742 2806/3344/18743 2843/3382/18744 -f 2843/3382/18745 2844/3381/18746 2807/3345/18747 -f 2819/3360/18748 2820/3359/18749 2838/3376/18750 -f 2838/3376/18751 2836/3373/18752 2819/3360/18753 -f 2836/3373/18754 2823/3361/18755 2819/3360/18756 -f 2824/3362/18757 2823/3361/18758 2862/3400/18759 -f 2862/3400/18760 2826/3365/18761 2824/3362/18762 -f 2829/3369/18763 2828/3363/18764 2825/3366/18765 -f 2825/3366/18766 2861/3398/18767 2829/3369/18768 -f 2811/3349/18769 2824/3362/18770 2826/3365/18771 -f 2826/3365/18772 2827/3364/18773 2811/3349/18774 -f 2793/3331/18775 2794/3330/18776 2813/3352/18777 -f 2813/3352/18778 2764/3304/18779 2793/3331/18780 -f 2766/3302/18781 2812/3348/18782 2810/3350/18783 -f 2810/3350/18784 2765/3303/18785 2766/3302/18786 -f 2798/3338/18787 2805/3343/18788 2808/3347/18789 -f 2808/3347/18790 2802/3339/18791 2798/3338/18792 -f 2783/3320/18793 2800/3336/18794 2803/3342/18795 -f 2803/3342/18796 2782/3321/18797 2783/3320/18798 -f 2783/3320/18799 2785/3324/18800 2799/3337/18801 -f 2799/3337/18802 2800/3336/18803 2783/3320/18804 -f 2767/3305/18805 2758/3295/18806 2755/3293/18807 -f 2755/3293/18808 2762/3300/18809 2767/3305/18810 -f 3364/3986/18811 2772/3311/18812 2776/3315/18813 -f 2776/3315/18814 3132/3689/18815 3364/3986/18816 -f 2774/3313/18817 2773/3310/18818 2769/3308/18819 -f 2755/3293/18820 2754/3289/18821 2761/3301/18822 -f 2761/3301/18823 2762/3300/18824 2755/3293/18825 -f 3132/3689/18826 3070/3619/18827 3071/3618/18828 -f 3071/3618/18829 3364/3986/18830 3132/3689/18831 -f 2734/3275/18832 2735/3274/18833 2748/3287/18834 -f 2748/3287/18835 2749/3286/18836 2734/3275/18837 -f 3113/3667/18838 3115/3670/18839 3118/3674/18840 -f 3117/3672/18841 3091/3675/18842 2729/3673/18843 -f 2721/3256/18844 2715/3253/18845 2726/3263/18846 -f 2726/3263/18847 2727/3262/18848 2721/3256/18849 -f 3070/3619/18850 3365/3987/18851 2740/3281/18852 -f 2740/3281/18853 3068/3616/18854 3070/3619/18855 -f 3130/3688/18856 3365/3987/18857 3070/3619/18858 -f 3070/3619/18859 3132/3689/18860 3130/3688/18861 -f 3136/3693/18862 3365/3987/18863 3130/3688/18864 -f 3130/3688/18865 3134/3691/18866 3136/3693/18867 -f 2743/3278/18868 2740/3281/18869 3365/3987/18870 -f 2743/3278/18871 3365/3987/18872 3136/3693/18873 -f 2743/3278/18874 3136/3693/18875 2742/3279/18876 -f 3314/3901/18877 2954/3500/18878 2955/3499/18879 -f 2955/3499/18880 3313/3902/18881 3314/3901/18882 -f 3301/3885/18883 2982/3524/18884 2947/3489/18885 -f 2947/3489/18886 3295/3880/18887 3301/3885/18888 -f 3322/3912/18889 2981/3911/18890 3301/3888/18891 -f 3301/3888/18892 3323/3913/18893 3322/3912/18894 -f 3178/3739/18895 3007/3547/18896 3004/3550/18897 -f 3180/3742/18898 3181/3741/18899 3366/3988/18900 -f 3011/3553/18901 3366/3988/18902 3181/3741/18903 -f 3181/3741/18904 3186/3746/18905 3011/3553/18906 -f 3178/3739/18907 3366/3988/18908 3011/3553/18909 -f 3011/3553/18910 3007/3547/18911 3178/3739/18912 -f 3364/3986/18913 2771/3306/18914 2768/3309/18915 -f 2768/3309/18916 2772/3311/18917 3364/3986/18918 -f 3314/3901/18919 2961/3503/18920 2957/3497/18921 -f 2957/3497/18922 2954/3500/18923 3314/3901/18924 -f 2982/3524/18925 3301/3885/18926 2981/3525/18927 -f 3178/3739/18928 3180/3742/18929 3366/3988/18930 -f 2979/3519/18931 3367/3989/18932 2978/3520/18933 -f 3004/3550/18934 3005/3549/18935 3013/3555/18936 -f 3369/3990/18937 3368/3991/18938 3025/3567/18939 -f 3025/3567/18940 3024/3568/18941 3369/3990/18942 -f 3024/3568/18943 2779/3318/18944 3369/3990/18945 -f 3367/3989/18946 2979/3519/18947 3356/3979/18948 -f 3356/3979/18949 3357/3978/18950 3367/3989/18951 -f 3369/3990/18952 2780/3317/18953 3169/3727/18954 -f 3169/3727/18955 3368/3991/18956 3369/3990/18957 -f 3369/3990/18958 2779/3318/18959 2780/3317/18960 -f 3012/3556/18961 3214/3774/18962 3013/3555/18963 -f 2997/3541/18964 2998/3540/18965 3370/3992/18966 -f 2998/3540/18967 3191/3794/18968 3370/3992/18969 -f 3185/3744/18970 3370/3993/18971 3191/3751/18972 -f 3191/3751/18973 3184/3745/18974 3185/3744/18975 -f 3151/3707/18976 2786/3323/18977 2784/3319/18978 -f 2784/3319/18979 2781/3322/18980 3151/3707/18981 -f 3151/3707/18982 3141/3696/18983 3127/3684/18984 -f 3127/3684/18985 2786/3323/18986 3151/3707/18987 -f 3371/3994/18988 3118/3674/18989 2729/3673/18990 -f 2729/3673/18991 2727/3262/18992 3371/3994/18993 -f 3371/3994/18994 2727/3262/18995 3111/3665/18996 -f 3111/3665/18997 3110/3666/18998 3371/3994/18999 -f 3110/3666/19000 3113/3667/19001 3118/3674/19002 -f 3118/3674/19003 3371/3994/19004 3110/3666/19005 -f 3111/3665/19006 3104/3659/19007 3108/3663/19008 -f 2732/3269/19009 3107/3664/19010 3120/3676/19011 -f 3120/3676/19012 2731/3270/19013 2732/3269/19014 -f 3105/3661/19015 3107/3664/19016 3108/3663/19017 -f 3108/3663/19018 3104/3659/19019 3105/3661/19020 -f 3120/3676/19021 3107/3664/19022 3105/3661/19023 -f 2851/3390/19024 3163/3719/19025 2850/3391/19026 -f 3286/3863/19027 3288/3864/19028 3284/3859/19029 -f 3284/3859/19030 3285/3860/19031 3286/3863/19032 -f 2950/3494/19033 2912/3450/19034 2906/3447/19035 -f 2906/3447/19036 3288/3864/19037 2950/3494/19038 -f 3315/3900/19039 2978/3520/19040 2960/3504/19041 -f 2960/3504/19042 2961/3503/19043 3315/3900/19044 -f 2961/3503/19045 3314/3901/19046 3315/3900/19047 -f 3367/3989/19048 3357/3978/19049 3308/3895/19050 -f 3308/3895/19051 3311/3899/19052 3367/3989/19053 -f 2989/3531/19054 3307/3896/19055 3308/3895/19056 -f 3308/3895/19057 3357/3978/19058 2989/3531/19059 -f 2989/3531/19060 2987/3527/19061 2984/3530/19062 -f 2984/3530/19063 3307/3896/19064 2989/3531/19065 -f 3367/3989/19066 3311/3899/19067 2960/3504/19068 -f 2960/3504/19069 2978/3520/19070 3367/3989/19071 -f 3004/3550/19072 3013/3555/19073 3179/3738/19074 -f 3179/3738/19075 3013/3555/19076 3214/3774/19077 -f 3214/3774/19078 3217/3778/19079 3179/3738/19080 -f 2994/3538/19081 3183/3743/19082 3179/3738/19083 -f 3179/3738/19084 3217/3778/19085 2994/3538/19086 -f 2994/3538/19087 2995/3537/19088 3183/3743/19089 -f 2997/3541/19090 3370/3992/19091 3185/3744/19092 -f 3185/3744/19093 3182/3740/19094 2997/3541/19095 -f 2995/3537/19096 2997/3541/19097 3182/3740/19098 -f 3182/3740/19099 3183/3743/19100 2995/3537/19101 -f 2972/3515/19102 3293/3976/19103 3355/3971/19104 -f 3355/3971/19105 2971/3516/19106 2972/3515/19107 -f 3091/3646/19108 3094/3649/19109 2728/3266/19110 -f 2728/3266/19111 2729/3267/19112 3091/3646/19113 -f 2848/3387/19114 2849/3386/19115 3278/3854/19116 -f 3278/3854/19117 3279/3853/19118 2848/3387/19119 -f 2801/3340/19120 2802/3339/19121 2808/3347/19122 -f 2808/3347/19123 2804/3341/19124 2801/3340/19125 -f 2804/3341/19126 2808/3347/19127 2809/3346/19128 -f 2809/3346/19129 3281/3855/19130 2804/3341/19131 -f 3281/3855/19132 2809/3346/19133 2848/3387/19134 -f 2848/3387/19135 3279/3853/19136 3281/3855/19137 -f 3157/3714/19138 3156/3713/19139 2816/3354/19140 -f 2816/3354/19141 2817/3353/19142 3157/3714/19143 -f 3154/3712/19144 3161/3715/19145 2816/3354/19146 -f 2816/3354/19147 3156/3713/19148 3154/3712/19149 -f 3155/3711/19150 3160/3716/19151 3161/3715/19152 -f 3161/3715/19153 3154/3712/19154 3155/3711/19155 -f 2835/3374/19156 2862/3400/19157 2823/3361/19158 -f 2812/3348/19159 2822/3357/19160 2811/3349/19161 -f 3168/3724/19162 3165/3721/19163 3160/3716/19164 -f 3160/3716/19165 3155/3711/19166 3168/3724/19167 -f 3168/3724/19168 3166/3723/19169 3165/3721/19170 -f 3111/3665/19171 2727/3262/19172 3104/3659/19173 -f 2747/3282/19174 2744/3285/19175 3085/3637/19176 -f 3085/3637/19177 2750/3288/19178 2747/3282/19179 -f 2741/3280/19180 2742/3279/19181 3084/3638/19182 -f 3364/3986/19183 3071/3618/19184 3065/3613/19185 -f 3065/3613/19186 2771/3306/19187 3364/3986/19188 -f 3071/3618/19189 3069/3615/19190 3064/3611/19191 -f 3064/3611/19192 3065/3613/19193 3071/3618/19194 -f 3064/3611/19195 3069/3615/19196 3063/3612/19197 -f 2771/3306/19198 3065/3613/19199 3056/3605/19200 -f 2739/3277/19201 3112/3668/19202 3109/3662/19203 -f 2733/3268/19204 2730/3271/19205 2738/3276/19206 -f 3373/3997/19207 3372/3998/19208 3375/3995/19209 -f 3375/3995/19210 3374/3996/19211 3373/3997/19212 -f 3377/3999/19213 3376/4000/19214 3375/3995/19215 -f 3375/3995/19216 3372/3998/19217 3377/3999/19218 -f 3375/3995/19219 3376/4000/19220 3378/4001/19221 -f 3378/4001/19222 3374/3996/19223 3375/3995/19224 -f 3380/4002/19225 3379/4003/19226 3376/4000/19227 -f 3376/4000/19228 3377/3999/19229 3380/4002/19230 -f 3376/4000/19231 3381/4005/19232 3382/4004/19233 -f 3382/4004/19234 3378/4001/19235 3376/4000/19236 -f 3376/4000/19237 3379/4003/19238 3383/4006/19239 -f 3383/4006/19240 3381/4005/19241 3376/4000/19242 -f 3380/4002/19243 3384/4008/19244 3385/4007/19245 -f 3385/4007/19246 3379/4003/19247 3380/4002/19248 -f 3385/4007/19249 3384/4008/19250 3386/4009/19251 -f 3385/4007/19252 3386/4009/19253 3388/4010/19254 -f 3388/4010/19255 3387/4011/19256 3385/4007/19257 -f 3390/4014/19258 3389/4015/19259 3392/4012/19260 -f 3392/4012/19261 3391/4013/19262 3390/4014/19263 -f 3391/4013/19264 3393/4016/19265 3390/4014/19266 -f 3390/4014/19267 3394/4018/19268 3395/4017/19269 -f 3395/4017/19270 3389/4015/19271 3390/4014/19272 -f 3396/4020/19273 3394/4018/19274 3390/4014/19275 -f 3390/4014/19276 3397/4019/19277 3396/4020/19278 -f 3399/4023/19279 3398/4024/19280 3401/4021/19281 -f 3401/4021/19282 3400/4022/19283 3399/4023/19284 -f 3402/4025/19285 3391/4013/19286 3392/4012/19287 -f 3403/4026/19288 3402/4025/19289 3392/4012/19290 -f 3404/4029/19291 3393/4016/19292 3406/4027/19293 -f 3406/4027/19294 3405/4028/19295 3404/4029/19296 -f 3406/4027/19297 3393/4016/19298 3391/4013/19299 -f 3391/4013/19300 3402/4025/19301 3406/4027/19302 -f 3402/4025/19303 3403/4026/19304 3406/4027/19305 -f 3406/4027/19306 3403/4026/19307 3408/4030/19308 -f 3408/4030/19309 3407/4031/19310 3406/4027/19311 -f 3409/4032/19312 3407/4031/19313 3408/4030/19314 -f 3409/4032/19315 3408/4030/19316 3411/4033/19317 -f 3411/4033/19318 3410/4034/19319 3409/4032/19320 -f 3409/4032/19321 3413/4035/19322 3412/4036/19323 -f 3414/4037/19324 3407/4031/19325 3409/4032/19326 -f 3409/4032/19327 3412/4036/19328 3414/4037/19329 -f 3415/4038/19330 3386/4009/19331 3384/4008/19332 -f 3384/4008/19333 3400/4022/19334 3415/4038/19335 -f 3415/4038/19336 3416/4039/19337 3388/4010/19338 -f 3388/4010/19339 3386/4009/19340 3415/4038/19341 -f 3413/4035/19342 3409/4032/19343 3410/4034/19344 -f 3410/4034/19345 3417/4040/19346 3413/4035/19347 -f 3418/4041/19348 3412/4036/19349 3413/4035/19350 -f 3413/4035/19351 3417/4040/19352 3418/4041/19353 -f 3420/4044/19354 3419/4045/19355 3422/4042/19356 -f 3422/4042/19357 3421/4043/19358 3420/4044/19359 -f 3423/4047/19360 3419/4045/19361 3420/4044/19362 -f 3420/4044/19363 3424/4046/19364 3423/4047/19365 -f 3426/4049/19366 3425/4050/19367 3427/4048/19368 -f 3427/4048/19369 3422/4042/19370 3426/4049/19371 -f 3428/4053/19372 3426/4049/19373 3430/4051/19374 -f 3430/4051/19375 3429/4052/19376 3428/4053/19377 -f 3426/4049/19378 3428/4053/19379 3425/4050/19380 -f 3426/4049/19381 3422/4042/19382 3419/4045/19383 -f 3419/4045/19384 3431/4054/19385 3426/4049/19386 -f 3421/4043/19387 3433/4055/19388 3432/4056/19389 -f 3420/4044/19390 3421/4043/19391 3432/4056/19392 -f 3432/4056/19393 3424/4046/19394 3420/4044/19395 -f 3435/4057/19396 3434/4058/19397 3430/4051/19398 -f 3430/4051/19399 3426/4049/19400 3435/4057/19401 -f 3435/4057/19402 3426/4049/19403 3431/4054/19404 -f 3431/4054/19405 3436/4059/19406 3435/4057/19407 -f 3435/4057/19408 3437/4061/19409 3438/4060/19410 -f 3438/4060/19411 3434/4058/19412 3435/4057/19413 -f 3435/4057/19414 3436/4059/19415 3440/4062/19416 -f 3440/4062/19417 3439/4063/19418 3435/4057/19419 -f 3435/4057/19420 3439/4063/19421 3441/4064/19422 -f 3441/4064/19423 3437/4061/19424 3435/4057/19425 -f 3442/4066/19426 3423/4047/19427 3424/4046/19428 -f 3424/4046/19429 3443/4065/19430 3442/4066/19431 -f 3442/4066/19432 3444/4068/19433 3445/4067/19434 -f 3445/4067/19435 3423/4047/19436 3442/4066/19437 -f 3442/4066/19438 3443/4065/19439 3446/4069/19440 -f 3446/4069/19441 3444/4068/19442 3442/4066/19443 -f 3448/4072/19444 3447/4073/19445 3450/4070/19446 -f 3450/4070/19447 3449/4071/19448 3448/4072/19449 -f 3452/4074/19450 3451/4075/19451 3447/4073/19452 -f 3447/4073/19453 3448/4072/19454 3452/4074/19455 -f 3448/4072/19456 3449/4071/19457 3453/4076/19458 -f 3453/4076/19459 3452/4074/19460 3448/4072/19461 -f 3455/4077/19462 3454/4078/19463 3428/4053/19464 -f 3428/4053/19465 3429/4052/19466 3455/4077/19467 -f 3429/4052/19468 3430/4051/19469 3456/4079/19470 -f 3456/4079/19471 3455/4077/19472 3429/4052/19473 -f 3458/4081/19474 3457/4082/19475 3444/4068/19476 -f 3444/4068/19477 3459/4080/19478 3458/4081/19479 -f 3444/4068/19480 3457/4082/19481 3445/4067/19482 -f 3446/4069/19483 3461/4083/19484 3460/4084/19485 -f 3444/4068/19486 3446/4069/19487 3460/4084/19488 -f 3460/4084/19489 3459/4080/19490 3444/4068/19491 -f 3463/4085/19492 3462/4086/19493 3412/4036/19494 -f 3412/4036/19495 3418/4041/19496 3463/4085/19497 -f 3463/4085/19498 3418/4041/19499 3465/4087/19500 -f 3465/4087/19501 3464/4088/19502 3463/4085/19503 -f 3467/4089/19504 3466/4090/19505 3463/4085/19506 -f 3463/4085/19507 3464/4088/19508 3467/4089/19509 -f 3469/4092/19510 3468/4093/19511 3470/4091/19512 -f 3470/4091/19513 3462/4086/19514 3469/4092/19515 -f 3469/4092/19516 3471/4094/19517 3468/4093/19518 -f 3472/4097/19519 3466/4098/19520 3474/4095/19521 -f 3474/4095/19522 3473/4096/19523 3472/4097/19524 -f 3476/4101/19525 3475/4102/19526 3478/4099/19527 -f 3478/4099/19528 3477/4100/19529 3476/4101/19530 -f 3476/4101/19531 3479/4104/19532 3480/4103/19533 -f 3480/4103/19534 3475/4102/19535 3476/4101/19536 -f 3476/4101/19537 3477/4100/19538 3481/4105/19539 -f 3481/4105/19540 3479/4104/19541 3476/4101/19542 -f 3483/4108/19543 3482/4109/19544 3485/4106/19545 -f 3485/4106/19546 3484/4107/19547 3483/4108/19548 -f 3485/4106/19549 3486/4112/19550 3488/4110/19551 -f 3488/4110/19552 3487/4111/19553 3485/4106/19554 -f 3480/4103/19555 3489/4114/19556 3490/4113/19557 -f 3490/4113/19558 3475/4102/19559 3480/4103/19560 -f 3492/4117/19561 3491/4118/19562 3494/4115/19563 -f 3494/4115/19564 3493/4116/19565 3492/4117/19566 -f 3479/4104/19567 3481/4105/19568 3496/4119/19569 -f 3496/4119/19570 3495/4120/19571 3479/4104/19572 -f 3498/4123/19573 3497/4124/19574 3474/4121/19575 -f 3474/4121/19576 3499/4122/19577 3498/4123/19578 -f 3501/4125/19579 3500/4126/19580 3497/4124/19581 -f 3497/4124/19582 3498/4123/19583 3501/4125/19584 -f 3498/4123/19585 3499/4122/19586 3502/4127/19587 -f 3502/4127/19588 3501/4125/19589 3498/4123/19590 -f 3504/4129/19591 3503/4130/19592 3495/4120/19593 -f 3495/4120/19594 3505/4128/19595 3504/4129/19596 -f 3487/4111/19597 3489/4114/19598 3480/4103/19599 -f 3480/4103/19600 3503/4130/19601 3487/4111/19602 -f 3503/4130/19603 3506/4131/19604 3487/4111/19605 -f 3508/4134/19606 3507/4135/19607 3510/4132/19608 -f 3510/4132/19609 3509/4133/19610 3508/4134/19611 -f 3512/4136/19612 3511/4137/19613 3507/4135/19614 -f 3507/4135/19615 3508/4134/19616 3512/4136/19617 -f 3508/4134/19618 3509/4133/19619 3513/4138/19620 -f 3513/4138/19621 3512/4136/19622 3508/4134/19623 -f 3515/4141/19624 3514/4142/19625 3517/4139/19626 -f 3517/4139/19627 3516/4140/19628 3515/4141/19629 -f 3515/4141/19630 3516/4140/19631 3519/4143/19632 -f 3519/4143/19633 3518/4144/19634 3515/4141/19635 -f 3515/4141/19636 3518/4144/19637 3520/4145/19638 -f 3520/4145/19639 3514/4142/19640 3515/4141/19641 -f 3483/4108/19642 3484/4107/19643 3522/4146/19644 -f 3522/4146/19645 3521/4147/19646 3483/4108/19647 -f 3523/4149/19648 3521/4147/19649 3522/4146/19650 -f 3522/4146/19651 3524/4148/19652 3523/4149/19653 -f 3526/4152/19654 3525/4153/19655 3528/4150/19656 -f 3528/4150/19657 3527/4151/19658 3526/4152/19659 -f 3530/4154/19660 3529/4155/19661 3525/4153/19662 -f 3525/4153/19663 3526/4152/19664 3530/4154/19665 -f 3526/4152/19666 3527/4151/19667 3531/4156/19668 -f 3531/4156/19669 3530/4154/19670 3526/4152/19671 -f 3533/4159/19672 3532/4160/19673 3535/4157/19674 -f 3535/4157/19675 3534/4158/19676 3533/4159/19677 -f 3537/4161/19678 3536/4162/19679 3532/4160/19680 -f 3532/4160/19681 3533/4159/19682 3537/4161/19683 -f 3533/4159/19684 3534/4158/19685 3538/4163/19686 -f 3538/4163/19687 3537/4161/19688 3533/4159/19689 -f 3540/4166/19690 3539/4167/19691 3542/4164/19692 -f 3542/4164/19693 3541/4165/19694 3540/4166/19695 -f 3540/4166/19696 3541/4165/19697 3544/4168/19698 -f 3544/4168/19699 3543/4169/19700 3540/4166/19701 -f 3540/4166/19702 3535/4157/19703 3545/4170/19704 -f 3545/4170/19705 3539/4167/19706 3540/4166/19707 -f 3547/4173/19708 3546/4174/19709 3549/4171/19710 -f 3549/4171/19711 3548/4172/19712 3547/4173/19713 -f 3547/4173/19714 3548/4172/19715 3551/4175/19716 -f 3551/4175/19717 3550/4176/19718 3547/4173/19719 -f 3547/4179/19720 3552/4180/19721 3553/4177/19722 -f 3553/4177/19723 3546/4178/19724 3547/4179/19725 -f 3547/4183/19726 3554/4184/19727 3555/4181/19728 -f 3555/4181/19729 3552/4182/19730 3547/4183/19731 -f 3557/4187/19732 3556/4188/19733 3559/4185/19734 -f 3559/4185/19735 3558/4186/19736 3557/4187/19737 -f 3561/4189/19738 3560/4190/19739 3556/4188/19740 -f 3556/4188/19741 3557/4187/19742 3561/4189/19743 -f 3557/4187/19744 3558/4186/19745 3562/4191/19746 -f 3562/4191/19747 3561/4189/19748 3557/4187/19749 -f 3564/4194/19750 3563/4195/19751 3566/4192/19752 -f 3566/4192/19753 3565/4193/19754 3564/4194/19755 -f 3564/4194/19756 3565/4193/19757 3568/4196/19758 -f 3568/4196/19759 3567/4197/19760 3564/4194/19761 -f 3564/4194/19762 3569/4199/19763 3570/4198/19764 -f 3570/4198/19765 3563/4195/19766 3564/4194/19767 -f 3573/4200/19768 3572/4201/19769 3571/4202/19770 -f 3571/4202/19771 3574/4204/19772 3575/4203/19773 -f 3575/4203/19774 3573/4200/19775 3571/4202/19776 -f 3571/4202/19777 3572/4201/19778 3576/4205/19779 -f 3575/4203/19780 3574/4204/19781 3577/4206/19782 -f 3579/4207/19783 3578/4208/19784 3575/4203/19785 -f 3575/4203/19786 3577/4206/19787 3579/4207/19788 -f 3579/4211/19789 3580/4212/19790 3582/4209/19791 -f 3582/4209/19792 3581/4210/19793 3579/4211/19794 -f 3579/4207/19795 3577/4206/19796 3576/4205/19797 -f 3576/4205/19798 3583/4213/19799 3579/4207/19800 -f 3571/4202/19801 3576/4205/19802 3577/4206/19803 -f 3577/4206/19804 3574/4204/19805 3571/4202/19806 -f 3567/4216/19807 3568/4217/19808 3585/4214/19809 -f 3585/4214/19810 3584/4215/19811 3567/4216/19812 -f 3567/4216/19813 3584/4215/19814 3586/4218/19815 -f 3586/4218/19816 3564/4219/19817 3567/4216/19818 -f 3580/4220/19819 3588/4221/19820 3587/4222/19821 -f 3580/4212/19822 3587/4225/19823 3590/4223/19824 -f 3590/4223/19825 3589/4224/19826 3580/4212/19827 -f 3591/4227/19828 3590/4223/19829 3587/4225/19830 -f 3587/4225/19831 3592/4226/19832 3591/4227/19833 -f 3591/4227/19834 3592/4226/19835 3593/4228/19836 -f 3595/4229/19837 3594/4230/19838 3593/4231/19839 -f 3595/4229/19840 3593/4231/19841 3592/4232/19842 -f 3592/4232/19843 3596/4233/19844 3595/4229/19845 -f 3598/4235/19846 3597/4236/19847 3599/4234/19848 -f 3599/4234/19849 3551/4175/19850 3598/4235/19851 -f 3601/4237/19852 3600/4238/19853 3599/4234/19854 -f 3599/4234/19855 3597/4236/19856 3601/4237/19857 -f 3599/4234/19858 3602/4240/19859 3603/4239/19860 -f 3603/4239/19861 3550/4176/19862 3599/4234/19863 -f 3599/4234/19864 3600/4238/19865 3604/4241/19866 -f 3604/4241/19867 3602/4240/19868 3599/4234/19869 -f 3595/4229/19870 3596/4233/19871 3605/4242/19872 -f 3595/4229/19873 3605/4242/19874 3606/4243/19875 -f 3606/4243/19876 3594/4230/19877 3595/4229/19878 -f 3594/4230/19879 3606/4243/19880 3607/4244/19881 -f 3609/4247/19882 3608/4248/19883 3611/4245/19884 -f 3611/4245/19885 3610/4246/19886 3609/4247/19887 -f 3611/4245/19888 3608/4248/19889 3613/4249/19890 -f 3613/4249/19891 3612/4250/19892 3611/4245/19893 -f 3614/4251/19894 3610/4246/19895 3611/4245/19896 -f 3611/4245/19897 3612/4250/19898 3614/4251/19899 -f 3615/4254/19900 3585/4214/19901 3617/4252/19902 -f 3617/4252/19903 3616/4253/19904 3615/4254/19905 -f 3615/4254/19906 3616/4253/19907 3619/4255/19908 -f 3619/4255/19909 3618/4256/19910 3615/4254/19911 -f 3615/4254/19912 3620/4257/19913 3584/4215/19914 -f 3584/4215/19915 3585/4214/19916 3615/4254/19917 -f 3555/4181/19918 3621/4259/19919 3622/4258/19920 -f 3622/4258/19921 3552/4182/19922 3555/4181/19923 -f 3624/4262/19924 3623/4263/19925 3626/4260/19926 -f 3626/4260/19927 3625/4261/19928 3624/4262/19929 -f 3628/4264/19930 3627/4265/19931 3623/4263/19932 -f 3623/4263/19933 3624/4262/19934 3628/4264/19935 -f 3624/4262/19936 3625/4261/19937 3629/4266/19938 -f 3629/4266/19939 3628/4264/19940 3624/4262/19941 -f 3631/4269/19942 3630/4270/19943 3633/4267/19944 -f 3633/4267/19945 3632/4268/19946 3631/4269/19947 -f 3633/4267/19948 3634/4271/19949 3609/4247/19950 -f 3609/4247/19951 3610/4246/19952 3633/4267/19953 -f 3633/4267/19954 3630/4270/19955 3635/4272/19956 -f 3635/4272/19957 3634/4271/19958 3633/4267/19959 -f 3616/4253/19960 3617/4252/19961 3637/4273/19962 -f 3637/4273/19963 3636/4274/19964 3616/4253/19965 -f 3616/4253/19966 3638/4276/19967 3639/4275/19968 -f 3639/4275/19969 3619/4255/19970 3616/4253/19971 -f 3609/4247/19972 3640/4277/19973 3608/4248/19974 -f 3609/4247/19975 3641/4279/19976 3642/4278/19977 -f 3642/4278/19978 3640/4277/19979 3609/4247/19980 -f 3641/4279/19981 3643/4282/19982 3645/4280/19983 -f 3645/4280/19984 3644/4281/19985 3641/4279/19986 -f 3641/4279/19987 3644/4281/19988 3646/4283/19989 -f 3646/4283/19990 3642/4278/19991 3641/4279/19992 -f 3648/4286/19993 3647/4287/19994 3650/4284/19995 -f 3650/4284/19996 3649/4285/19997 3648/4286/19998 -f 3650/4284/19999 3647/4287/20000 3652/4288/20001 -f 3652/4288/20002 3651/4289/20003 3650/4284/20004 -f 3650/4284/20005 3651/4289/20006 3654/4290/20007 -f 3654/4290/20008 3653/4291/20009 3650/4284/20010 -f 3655/4293/20011 3620/4257/20012 3615/4254/20013 -f 3615/4254/20014 3656/4292/20015 3655/4293/20016 -f 3655/4293/20017 3656/4292/20018 3654/4290/20019 -f 3654/4290/20020 3651/4289/20021 3655/4293/20022 -f 3655/4293/20023 3651/4289/20024 3652/4288/20025 -f 3652/4288/20026 3620/4257/20027 3655/4293/20028 -f 3654/4290/20029 3656/4292/20030 3657/4294/20031 -f 3657/4294/20032 3653/4291/20033 3654/4290/20034 -f 3658/4297/20035 3613/4249/20036 3660/4295/20037 -f 3660/4295/20038 3659/4296/20039 3658/4297/20040 -f 3658/4297/20041 3661/4298/20042 3612/4250/20043 -f 3612/4250/20044 3613/4249/20045 3658/4297/20046 -f 3658/4297/20047 3659/4296/20048 3663/4299/20049 -f 3663/4299/20050 3662/4300/20051 3658/4297/20052 -f 3665/4303/20053 3664/4304/20054 3667/4301/20055 -f 3667/4301/20056 3666/4302/20057 3665/4303/20058 -f 3665/4303/20059 3668/4306/20060 3669/4305/20061 -f 3669/4305/20062 3664/4304/20063 3665/4303/20064 -f 3665/4303/20065 3666/4302/20066 3670/4307/20067 -f 3670/4307/20068 3668/4306/20069 3665/4303/20070 -f 3668/4306/20071 3670/4307/20072 3671/4308/20073 -f 3671/4308/20074 3669/4305/20075 3668/4306/20076 -f 3673/4311/20077 3672/4312/20078 3675/4309/20079 -f 3675/4309/20080 3674/4310/20081 3673/4311/20082 -f 3677/4314/20083 3676/4315/20084 3675/4309/20085 -f 3675/4309/20086 3678/4313/20087 3677/4314/20088 -f 3679/4316/20089 3674/4310/20090 3675/4309/20091 -f 3675/4309/20092 3676/4315/20093 3679/4316/20094 -f 3681/4318/20095 3680/4319/20096 3682/4317/20097 -f 3682/4317/20098 3666/4302/20099 3681/4318/20100 -f 3671/4308/20101 3683/4322/20102 3685/4320/20103 -f 3685/4320/20104 3684/4321/20105 3671/4308/20106 -f 3671/4308/20107 3670/4307/20108 3686/4323/20109 -f 3686/4323/20110 3683/4322/20111 3671/4308/20112 -f 3687/4325/20113 3669/4305/20114 3671/4308/20115 -f 3671/4308/20116 3688/4324/20117 3687/4325/20118 -f 3689/4326/20119 3688/4324/20120 3671/4308/20121 -f 3671/4308/20122 3684/4321/20123 3689/4326/20124 -f 3685/4320/20125 3690/4328/20126 3691/4327/20127 -f 3691/4327/20128 3684/4321/20129 3685/4320/20130 -f 3685/4320/20131 3683/4330/20132 3692/4329/20133 -f 3692/4329/20134 3690/4328/20135 3685/4320/20136 -f 3678/4313/20137 3675/4309/20138 3662/4300/20139 -f 3662/4300/20140 3693/4331/20141 3678/4313/20142 -f 3694/4332/20143 3677/4314/20144 3678/4313/20145 -f 3678/4313/20146 3693/4331/20147 3694/4332/20148 -f 3680/4335/20149 3681/4336/20150 3696/4333/20151 -f 3696/4333/20152 3695/4334/20153 3680/4335/20154 -f 3680/4335/20155 3695/4334/20156 3697/4337/20157 -f 3697/4337/20158 3682/4338/20159 3680/4335/20160 -f 3690/4328/20161 3692/4329/20162 3698/4339/20163 -f 3698/4339/20164 3691/4327/20165 3690/4328/20166 -f 3700/4342/20167 3699/4343/20168 3702/4340/20169 -f 3702/4340/20170 3701/4341/20171 3700/4342/20172 -f 3702/4340/20173 3699/4343/20174 3679/4316/20175 -f 3702/4340/20176 3703/4345/20177 3704/4344/20178 -f 3704/4344/20179 3701/4341/20180 3702/4340/20181 -f 3561/4189/20182 3705/4348/20183 3707/4346/20184 -f 3707/4346/20185 3706/4347/20186 3561/4189/20187 -f 3561/4189/20188 3562/4191/20189 3708/4349/20190 -f 3708/4349/20191 3705/4348/20192 3561/4189/20193 -f 3561/4189/20194 3706/4347/20195 3710/4350/20196 -f 3710/4350/20197 3709/4351/20198 3561/4189/20199 -f 3712/4352/20200 3711/4353/20201 3695/4334/20202 -f 3695/4334/20203 3696/4333/20204 3712/4352/20205 -f 3714/4356/20206 3713/4357/20207 3716/4354/20208 -f 3716/4354/20209 3715/4355/20210 3714/4356/20211 -f 3714/4356/20212 3715/4355/20213 3718/4358/20214 -f 3718/4358/20215 3717/4359/20216 3714/4356/20217 -f 3714/4356/20218 3717/4359/20219 3720/4360/20220 -f 3720/4360/20221 3719/4361/20222 3714/4356/20223 -f 3693/4331/20224 3721/4362/20225 3694/4332/20226 -f 3721/4362/20227 3722/4364/20228 3723/4363/20229 -f 3723/4363/20230 3694/4332/20231 3721/4362/20232 -f 3722/4364/20233 3724/4365/20234 3723/4363/20235 -f 3725/4367/20236 3703/4345/20237 3702/4340/20238 -f 3702/4340/20239 3726/4366/20240 3725/4367/20241 -f 3725/4367/20242 3726/4366/20243 3728/4368/20244 -f 3728/4368/20245 3727/4369/20246 3725/4367/20247 -f 3725/4367/20248 3727/4369/20249 3717/4359/20250 -f 3717/4359/20251 3718/4358/20252 3725/4367/20253 -f 3727/4369/20254 3728/4368/20255 3723/4363/20256 -f 3723/4363/20257 3724/4365/20258 3727/4369/20259 -f 3727/4369/20260 3724/4365/20261 3720/4360/20262 -f 3720/4360/20263 3717/4359/20264 3727/4369/20265 -f 3728/4368/20266 3677/4314/20267 3694/4332/20268 -f 3694/4332/20269 3723/4363/20270 3728/4368/20271 -f 3728/4368/20272 3726/4366/20273 3676/4315/20274 -f 3676/4315/20275 3677/4314/20276 3728/4368/20277 -f 3676/4315/20278 3726/4366/20279 3702/4340/20280 -f 3702/4340/20281 3679/4316/20282 3676/4315/20283 -f 3729/4370/20284 3674/4310/20285 3679/4316/20286 -f 3679/4316/20287 3699/4343/20288 3729/4370/20289 -f 3729/4370/20290 3699/4343/20291 3601/4371/20292 -f 3601/4371/20293 3730/4372/20294 3729/4370/20295 -f 3731/4374/20296 3729/4370/20297 3730/4372/20298 -f 3730/4372/20299 3732/4373/20300 3731/4374/20301 -f 3597/4236/20302 3733/4376/20303 3730/4375/20304 -f 3730/4375/20305 3601/4237/20306 3597/4236/20307 -f 3734/4377/20308 3732/4378/20309 3730/4375/20310 -f 3730/4375/20311 3733/4376/20312 3734/4377/20313 -f 3734/4377/20314 3733/4376/20315 3736/4379/20316 -f 3736/4379/20317 3735/4380/20318 3734/4377/20319 -f 3737/4382/20320 3734/4377/20321 3735/4380/20322 -f 3735/4380/20323 3738/4381/20324 3737/4382/20325 -f 3740/4383/20326 3739/4384/20327 3735/4380/20328 -f 3735/4380/20329 3736/4379/20330 3740/4383/20331 -f 3741/4385/20332 3738/4381/20333 3735/4380/20334 -f 3735/4380/20335 3739/4384/20336 3741/4385/20337 -f 3741/4385/20338 3739/4384/20339 3743/4386/20340 -f 3743/4386/20341 3742/4387/20342 3741/4385/20343 -f 3745/4388/20344 3744/4389/20345 3742/4387/20346 -f 3742/4387/20347 3743/4386/20348 3745/4388/20349 -f 3747/4390/20350 3746/4391/20351 3742/4387/20352 -f 3742/4387/20353 3744/4389/20354 3747/4390/20355 -f 3747/4390/20356 3744/4389/20357 3749/4392/20358 -f 3749/4392/20359 3748/4393/20360 3747/4390/20361 -f 3748/4393/20362 3749/4392/20363 3751/4394/20364 -f 3751/4394/20365 3750/4395/20366 3748/4393/20367 -f 3753/4396/20368 3752/4397/20369 3750/4395/20370 -f 3750/4395/20371 3751/4394/20372 3753/4396/20373 -f 3748/4393/20374 3754/4399/20375 3755/4398/20376 -f 3755/4398/20377 3747/4390/20378 3748/4393/20379 -f 3748/4393/20380 3750/4395/20381 3756/4400/20382 -f 3756/4400/20383 3754/4399/20384 3748/4393/20385 -f 3756/4400/20386 3750/4395/20387 3752/4397/20388 -f 3752/4397/20389 3757/4401/20390 3756/4400/20391 -f 3759/4403/20392 3758/4404/20393 3760/4402/20394 -f 3760/4402/20395 3746/4391/20396 3759/4403/20397 -f 3759/4403/20398 3746/4391/20399 3747/4390/20400 -f 3747/4390/20401 3755/4398/20402 3759/4403/20403 -f 3741/4385/20404 3742/4387/20405 3746/4391/20406 -f 3746/4391/20407 3760/4402/20408 3741/4385/20409 -f 3741/4385/20410 3760/4402/20411 3761/4405/20412 -f 3761/4405/20413 3738/4381/20414 3741/4385/20415 -f 3738/4381/20416 3761/4405/20417 3762/4406/20418 -f 3762/4406/20419 3737/4382/20420 3738/4381/20421 -f 3732/4378/20422 3734/4377/20423 3737/4382/20424 -f 3737/4382/20425 3763/4407/20426 3732/4378/20427 -f 3732/4373/20428 3763/4409/20429 3764/4408/20430 -f 3764/4408/20431 3731/4374/20432 3732/4373/20433 -f 3765/4410/20434 3673/4311/20435 3731/4374/20436 -f 3731/4374/20437 3764/4408/20438 3765/4410/20439 -f 3674/4310/20440 3729/4370/20441 3731/4374/20442 -f 3731/4374/20443 3673/4311/20444 3674/4310/20445 -f 3766/4411/20446 3672/4312/20447 3673/4311/20448 -f 3673/4311/20449 3765/4410/20450 3766/4411/20451 -f 3767/4412/20452 3661/4298/20453 3672/4312/20454 -f 3672/4312/20455 3766/4411/20456 3767/4412/20457 -f 3658/4297/20458 3675/4309/20459 3672/4312/20460 -f 3672/4312/20461 3661/4298/20462 3658/4297/20463 -f 3658/4297/20464 3662/4300/20465 3675/4309/20466 -f 3612/4250/20467 3661/4298/20468 3767/4412/20469 -f 3767/4412/20470 3614/4251/20471 3612/4250/20472 -f 3769/4413/20473 3768/4414/20474 3766/4411/20475 -f 3766/4411/20476 3765/4410/20477 3769/4413/20478 -f 3769/4413/20479 3765/4410/20480 3764/4408/20481 -f 3764/4408/20482 3770/4415/20483 3769/4413/20484 -f 3770/4415/20485 3764/4408/20486 3763/4409/20487 -f 3763/4409/20488 3771/4416/20489 3770/4415/20490 -f 3737/4382/20491 3762/4406/20492 3771/4417/20493 -f 3771/4417/20494 3763/4407/20495 3737/4382/20496 -f 3762/4406/20497 3772/4419/20498 3773/4418/20499 -f 3773/4418/20500 3771/4417/20501 3762/4406/20502 -f 3762/4406/20503 3761/4405/20504 3774/4420/20505 -f 3774/4420/20506 3772/4419/20507 3762/4406/20508 -f 3761/4405/20509 3760/4402/20510 3758/4404/20511 -f 3758/4404/20512 3774/4420/20513 3761/4405/20514 -f 3773/4421/20515 3775/4422/20516 3770/4415/20517 -f 3770/4415/20518 3771/4416/20519 3773/4421/20520 -f 3775/4422/20521 3776/4423/20522 3769/4413/20523 -f 3769/4413/20524 3770/4415/20525 3775/4422/20526 -f 3769/4413/20527 3776/4423/20528 3777/4424/20529 -f 3777/4424/20530 3768/4414/20531 3769/4413/20532 -f 3767/4412/20533 3766/4411/20534 3768/4414/20535 -f 3768/4414/20536 3778/4425/20537 3767/4412/20538 -f 3767/4412/20539 3778/4425/20540 3779/4426/20541 -f 3779/4426/20542 3614/4251/20543 3767/4412/20544 -f 3610/4246/20545 3614/4251/20546 3779/4426/20547 -f 3779/4426/20548 3632/4268/20549 3610/4246/20550 -f 3779/4426/20551 3780/4428/20552 3781/4427/20553 -f 3781/4427/20554 3632/4268/20555 3779/4426/20556 -f 3779/4426/20557 3778/4425/20558 3782/4429/20559 -f 3782/4429/20560 3780/4428/20561 3779/4426/20562 -f 3782/4429/20563 3778/4425/20564 3768/4414/20565 -f 3768/4414/20566 3777/4424/20567 3782/4429/20568 -f 3784/4430/20569 3783/4431/20570 3649/4285/20571 -f 3649/4285/20572 3631/4269/20573 3784/4430/20574 -f 3784/4430/20575 3631/4269/20576 3632/4268/20577 -f 3632/4268/20578 3781/4427/20579 3784/4430/20580 -f 3649/4285/20581 3783/4431/20582 3786/4432/20583 -f 3786/4432/20584 3785/4433/20585 3649/4285/20586 -f 3785/4433/20587 3648/4286/20588 3649/4285/20589 -f 3630/4270/20590 3631/4269/20591 3649/4285/20592 -f 3649/4285/20593 3650/4284/20594 3630/4270/20595 -f 3648/4286/20596 3785/4433/20597 3788/4434/20598 -f 3788/4434/20599 3787/4435/20600 3648/4286/20601 -f 3789/4436/20602 3647/4287/20603 3648/4286/20604 -f 3648/4286/20605 3787/4435/20606 3789/4436/20607 -f 3789/4436/20608 3787/4435/20609 3790/4437/20610 -f 3790/4437/20611 3569/4438/20612 3789/4436/20613 -f 3789/4436/20614 3569/4438/20615 3564/4219/20616 -f 3564/4219/20617 3586/4218/20618 3789/4436/20619 -f 3789/4436/20620 3586/4218/20621 3652/4288/20622 -f 3652/4288/20623 3647/4287/20624 3789/4436/20625 -f 3569/4199/20626 3790/4440/20627 3791/4439/20628 -f 3791/4439/20629 3570/4198/20630 3569/4199/20631 -f 3570/4198/20632 3791/4439/20633 3793/4441/20634 -f 3793/4441/20635 3792/4442/20636 3570/4198/20637 -f 3795/4443/20638 3794/4444/20639 3792/4442/20640 -f 3792/4442/20641 3793/4441/20642 3795/4443/20643 -f 3792/4442/20644 3794/4444/20645 3797/4445/20646 -f 3797/4445/20647 3796/4446/20648 3792/4442/20649 -f 3792/4442/20650 3796/4446/20651 3563/4195/20652 -f 3563/4195/20653 3570/4198/20654 3792/4442/20655 -f 3796/4446/20656 3797/4445/20657 3799/4447/20658 -f 3799/4447/20659 3798/4448/20660 3796/4446/20661 -f 3796/4446/20662 3798/4448/20663 3566/4192/20664 -f 3566/4192/20665 3563/4195/20666 3796/4446/20667 -f 3798/4448/20668 3799/4447/20669 3801/4449/20670 -f 3801/4449/20671 3800/4450/20672 3798/4448/20673 -f 3798/4448/20674 3800/4450/20675 3802/4451/20676 -f 3802/4451/20677 3566/4192/20678 3798/4448/20679 -f 3802/4451/20680 3800/4450/20681 3536/4162/20682 -f 3536/4162/20683 3537/4161/20684 3802/4451/20685 -f 3802/4451/20686 3537/4161/20687 3804/4452/20688 -f 3804/4452/20689 3803/4453/20690 3802/4451/20691 -f 3802/4451/20692 3803/4453/20693 3565/4193/20694 -f 3565/4193/20695 3566/4192/20696 3802/4451/20697 -f 3803/4453/20698 3804/4452/20699 3806/4454/20700 -f 3806/4454/20701 3805/4455/20702 3803/4453/20703 -f 3803/4453/20704 3805/4455/20705 3568/4196/20706 -f 3568/4196/20707 3565/4193/20708 3803/4453/20709 -f 3805/4456/20710 3806/4457/20711 3637/4273/20712 -f 3637/4273/20713 3617/4252/20714 3805/4456/20715 -f 3805/4456/20716 3617/4252/20717 3585/4214/20718 -f 3585/4214/20719 3568/4217/20720 3805/4456/20721 -f 3806/4457/20722 3807/4459/20723 3808/4458/20724 -f 3808/4458/20725 3637/4273/20726 3806/4457/20727 -f 3806/4454/20728 3804/4452/20729 3809/4460/20730 -f 3809/4460/20731 3807/4461/20732 3806/4454/20733 -f 3809/4460/20734 3810/4463/20735 3811/4462/20736 -f 3811/4462/20737 3807/4461/20738 3809/4460/20739 -f 3809/4460/20740 3804/4452/20741 3537/4161/20742 -f 3537/4161/20743 3538/4163/20744 3809/4460/20745 -f 3809/4460/20746 3538/4163/20747 3812/4464/20748 -f 3812/4464/20749 3810/4463/20750 3809/4460/20751 -f 3812/4464/20752 3813/4466/20753 3814/4465/20754 -f 3814/4465/20755 3810/4463/20756 3812/4464/20757 -f 3812/4464/20758 3538/4163/20759 3534/4158/20760 -f 3534/4158/20761 3815/4467/20762 3812/4464/20763 -f 3812/4464/20764 3815/4467/20765 3816/4468/20766 -f 3816/4468/20767 3813/4466/20768 3812/4464/20769 -f 3816/4468/20770 3817/4470/20771 3818/4469/20772 -f 3818/4469/20773 3813/4466/20774 3816/4468/20775 -f 3816/4468/20776 3815/4467/20777 3820/4471/20778 -f 3820/4471/20779 3819/4472/20780 3816/4468/20781 -f 3816/4468/20782 3819/4472/20783 3821/4473/20784 -f 3821/4473/20785 3817/4470/20786 3816/4468/20787 -f 3821/4473/20788 3572/4201/20789 3573/4200/20790 -f 3573/4200/20791 3817/4470/20792 3821/4473/20793 -f 3821/4473/20794 3819/4472/20795 3822/4474/20796 -f 3822/4474/20797 3583/4213/20798 3821/4473/20799 -f 3821/4473/20800 3583/4213/20801 3576/4205/20802 -f 3576/4205/20803 3572/4201/20804 3821/4473/20805 -f 3822/4474/20806 3819/4472/20807 3820/4471/20808 -f 3820/4471/20809 3823/4475/20810 3822/4474/20811 -f 3824/4476/20812 3605/4242/20813 3596/4233/20814 -f 3824/4476/20815 3825/4479/20816 3827/4477/20817 -f 3827/4477/20818 3826/4478/20819 3824/4476/20820 -f 3824/4476/20821 3826/4478/20822 3606/4243/20823 -f 3606/4243/20824 3605/4242/20825 3824/4476/20826 -f 3826/4478/20827 3827/4477/20828 3829/4480/20829 -f 3829/4480/20830 3828/4481/20831 3826/4478/20832 -f 3826/4478/20833 3828/4481/20834 3607/4244/20835 -f 3607/4244/20836 3606/4243/20837 3826/4478/20838 -f 3828/4481/20839 3829/4480/20840 3830/4482/20841 -f 3830/4482/20842 3590/4223/20843 3828/4481/20844 -f 3828/4481/20845 3590/4223/20846 3591/4227/20847 -f 3591/4227/20848 3607/4244/20849 3828/4481/20850 -f 3830/4482/20851 3829/4480/20852 3832/4483/20853 -f 3832/4483/20854 3831/4484/20855 3830/4482/20856 -f 3830/4482/20857 3831/4484/20858 3833/4485/20859 -f 3833/4485/20860 3589/4224/20861 3830/4482/20862 -f 3830/4482/20863 3589/4224/20864 3590/4223/20865 -f 3833/4485/20866 3831/4484/20867 3835/4486/20868 -f 3835/4486/20869 3834/4487/20870 3833/4485/20871 -f 3833/4485/20872 3834/4487/20873 3836/4488/20874 -f 3836/4488/20875 3582/4209/20876 3833/4485/20877 -f 3833/4485/20878 3582/4209/20879 3580/4212/20880 -f 3580/4212/20881 3589/4224/20882 3833/4485/20883 -f 3836/4488/20884 3834/4487/20885 3837/4489/20886 -f 3837/4489/20887 3808/4458/20888 3836/4488/20889 -f 3836/4488/20890 3808/4458/20891 3807/4459/20892 -f 3807/4459/20893 3811/4490/20894 3836/4488/20895 -f 3836/4488/20896 3811/4490/20897 3581/4210/20898 -f 3581/4210/20899 3582/4209/20900 3836/4488/20901 -f 3837/4489/20902 3834/4487/20903 3835/4486/20904 -f 3835/4486/20905 3838/4491/20906 3837/4489/20907 -f 3837/4489/20908 3838/4491/20909 3839/4492/20910 -f 3839/4492/20911 3636/4274/20912 3837/4489/20913 -f 3837/4489/20914 3636/4274/20915 3637/4273/20916 -f 3637/4273/20917 3808/4458/20918 3837/4489/20919 -f 3839/4492/20920 3838/4491/20921 3840/4493/20922 -f 3840/4493/20923 3625/4261/20924 3839/4492/20925 -f 3839/4492/20926 3625/4261/20927 3626/4260/20928 -f 3626/4260/20929 3638/4276/20930 3839/4492/20931 -f 3839/4492/20932 3638/4276/20933 3616/4253/20934 -f 3616/4253/20935 3636/4274/20936 3839/4492/20937 -f 3840/4493/20938 3841/4496/20939 3843/4494/20940 -f 3843/4494/20941 3842/4495/20942 3840/4493/20943 -f 3840/4493/20944 3842/4495/20945 3629/4266/20946 -f 3629/4266/20947 3625/4261/20948 3840/4493/20949 -f 3840/4493/20950 3838/4491/20951 3835/4486/20952 -f 3835/4486/20953 3841/4496/20954 3840/4493/20955 -f 3842/4495/20956 3843/4494/20957 3845/4497/20958 -f 3845/4497/20959 3844/4498/20960 3842/4495/20961 -f 3842/4495/20962 3844/4498/20963 3846/4499/20964 -f 3846/4499/20965 3629/4266/20966 3842/4495/20967 -f 3846/4499/20968 3847/4500/20969 3628/4264/20970 -f 3628/4264/20971 3629/4266/20972 3846/4499/20973 -f 3845/4497/20974 3843/4494/20975 3849/4501/20976 -f 3849/4501/20977 3848/4502/20978 3845/4497/20979 -f 3849/4501/20980 3827/4477/20981 3825/4479/20982 -f 3825/4479/20983 3848/4502/20984 3849/4501/20985 -f 3849/4501/20986 3843/4494/20987 3841/4496/20988 -f 3841/4496/20989 3832/4483/20990 3849/4501/20991 -f 3849/4501/20992 3832/4483/20993 3829/4480/20994 -f 3829/4480/20995 3827/4477/20996 3849/4501/20997 -f 3841/4496/20998 3835/4486/20999 3831/4484/21000 -f 3831/4484/21001 3832/4483/21002 3841/4496/21003 -f 3850/4504/21004 3823/4475/21005 3820/4471/21006 -f 3820/4471/21007 3851/4503/21008 3850/4504/21009 -f 3850/4504/21010 3851/4503/21011 3540/4166/21012 -f 3540/4166/21013 3543/4169/21014 3850/4504/21015 -f 3851/4503/21016 3820/4471/21017 3815/4467/21018 -f 3815/4467/21019 3534/4158/21020 3851/4503/21021 -f 3851/4503/21022 3534/4158/21023 3535/4157/21024 -f 3535/4157/21025 3540/4166/21026 3851/4503/21027 -f 3818/4469/21028 3575/4203/21029 3578/4208/21030 -f 3818/4469/21031 3578/4208/21032 3814/4465/21033 -f 3814/4465/21034 3813/4466/21035 3818/4469/21036 -f 3818/4469/21037 3817/4470/21038 3573/4200/21039 -f 3573/4200/21040 3575/4203/21041 3818/4469/21042 -f 3814/4465/21043 3578/4208/21044 3579/4207/21045 -f 3579/4207/21046 3581/4505/21047 3814/4465/21048 -f 3814/4465/21049 3581/4505/21050 3811/4462/21051 -f 3811/4462/21052 3810/4463/21053 3814/4465/21054 -f 3799/4447/21055 3797/4445/21056 3518/4144/21057 -f 3518/4144/21058 3519/4143/21059 3799/4447/21060 -f 3799/4447/21061 3519/4143/21062 3530/4154/21063 -f 3530/4154/21064 3801/4449/21065 3799/4447/21066 -f 3797/4445/21067 3794/4444/21068 3520/4145/21069 -f 3520/4145/21070 3518/4144/21071 3797/4445/21072 -f 3520/4145/21073 3794/4444/21074 3494/4115/21075 -f 3494/4115/21076 3491/4118/21077 3520/4145/21078 -f 3791/4439/21079 3852/4507/21080 3853/4506/21081 -f 3853/4506/21082 3793/4441/21083 3791/4439/21084 -f 3852/4507/21085 3791/4439/21086 3855/4508/21087 -f 3855/4508/21088 3854/4509/21089 3852/4507/21090 -f 3857/4512/21091 3856/4513/21092 3859/4510/21093 -f 3859/4510/21094 3858/4511/21095 3857/4512/21096 -f 3857/4512/21097 3860/4515/21098 3861/4514/21099 -f 3861/4514/21100 3856/4513/21101 3857/4512/21102 -f 3862/4517/21103 3856/4513/21104 3861/4514/21105 -f 3861/4514/21106 3863/4516/21107 3862/4517/21108 -f 3861/4514/21109 3860/4515/21110 3757/4401/21111 -f 3757/4401/21112 3752/4397/21113 3861/4514/21114 -f 3859/4510/21115 3856/4513/21116 3862/4517/21117 -f 3862/4517/21118 3506/4131/21119 3859/4510/21120 -f 3863/4516/21121 3861/4514/21122 3752/4397/21123 -f 3752/4397/21124 3753/4396/21125 3863/4516/21126 -f 3864/4519/21127 3753/4396/21128 3751/4394/21129 -f 3751/4394/21130 3865/4518/21131 3864/4519/21132 -f 3866/4520/21133 3865/4518/21134 3751/4394/21135 -f 3751/4394/21136 3749/4392/21137 3866/4520/21138 -f 3866/4520/21139 3749/4392/21140 3744/4389/21141 -f 3744/4389/21142 3745/4388/21143 3866/4520/21144 -f 3460/4084/21145 3864/4519/21146 3865/4518/21147 -f 3865/4518/21148 3459/4080/21149 3460/4084/21150 -f 3458/4081/21151 3459/4080/21152 3865/4518/21153 -f 3865/4518/21154 3866/4520/21155 3458/4081/21156 -f 3458/4081/21157 3866/4520/21158 3745/4388/21159 -f 3745/4388/21160 3867/4521/21161 3458/4081/21162 -f 3868/4522/21163 3457/4082/21164 3458/4081/21165 -f 3458/4081/21166 3867/4521/21167 3868/4522/21168 -f 3868/4522/21169 3867/4521/21170 3870/4523/21171 -f 3870/4523/21172 3869/4524/21173 3868/4522/21174 -f 3871/4525/21175 3440/4062/21176 3868/4522/21177 -f 3868/4522/21178 3869/4524/21179 3871/4525/21180 -f 3436/4059/21181 3457/4082/21182 3868/4522/21183 -f 3868/4522/21184 3440/4062/21185 3436/4059/21186 -f 3445/4067/21187 3457/4082/21188 3436/4059/21189 -f 3436/4059/21190 3431/4054/21191 3445/4067/21192 -f 3423/4047/21193 3445/4067/21194 3431/4054/21195 -f 3431/4054/21196 3419/4045/21197 3423/4047/21198 -f 3873/4526/21199 3872/4527/21200 3871/4525/21201 -f 3871/4525/21202 3869/4524/21203 3873/4526/21204 -f 3871/4525/21205 3872/4527/21206 3875/4528/21207 -f 3875/4528/21208 3874/4529/21209 3871/4525/21210 -f 3871/4525/21211 3874/4529/21212 3439/4063/21213 -f 3439/4063/21214 3440/4062/21215 3871/4525/21216 -f 3874/4529/21217 3875/4528/21218 3877/4530/21219 -f 3877/4530/21220 3876/4531/21221 3874/4529/21222 -f 3874/4529/21223 3876/4531/21224 3441/4064/21225 -f 3441/4064/21226 3439/4063/21227 3874/4529/21228 -f 3876/4531/21229 3877/4530/21230 3467/4532/21231 -f 3467/4532/21232 3878/4533/21233 3876/4531/21234 -f 3876/4531/21235 3878/4533/21236 3879/4534/21237 -f 3879/4534/21238 3441/4064/21239 3876/4531/21240 -f 3416/4039/21241 3415/4038/21242 3879/4535/21243 -f 3879/4535/21244 3878/4536/21245 3416/4039/21246 -f 3879/4534/21247 3880/4537/21248 3437/4061/21249 -f 3437/4061/21250 3441/4064/21251 3879/4534/21252 -f 3880/4537/21253 3881/4538/21254 3438/4060/21255 -f 3438/4060/21256 3437/4061/21257 3880/4537/21258 -f 3881/4538/21259 3882/4540/21260 3883/4539/21261 -f 3883/4539/21262 3438/4060/21263 3881/4538/21264 -f 3883/4539/21265 3882/4540/21266 3885/4541/21267 -f 3885/4541/21268 3884/4542/21269 3883/4539/21270 -f 3883/4539/21271 3884/4542/21272 3887/4543/21273 -f 3887/4543/21274 3886/4544/21275 3883/4539/21276 -f 3883/4539/21277 3886/4544/21278 3434/4058/21279 -f 3434/4058/21280 3438/4060/21281 3883/4539/21282 -f 3886/4544/21283 3887/4543/21284 3888/4545/21285 -f 3888/4545/21286 3456/4079/21287 3886/4544/21288 -f 3886/4544/21289 3456/4079/21290 3430/4051/21291 -f 3430/4051/21292 3434/4058/21293 3886/4544/21294 -f 3888/4545/21295 3887/4543/21296 3890/4546/21297 -f 3890/4546/21298 3889/4547/21299 3888/4545/21300 -f 3888/4545/21301 3889/4547/21302 3892/4548/21303 -f 3892/4548/21304 3891/4549/21305 3888/4545/21306 -f 3888/4545/21307 3891/4549/21308 3455/4077/21309 -f 3455/4077/21310 3456/4079/21311 3888/4545/21312 -f 3891/4549/21313 3892/4548/21314 3562/4191/21315 -f 3562/4191/21316 3558/4186/21317 3891/4549/21318 -f 3891/4549/21319 3558/4186/21320 3893/4550/21321 -f 3893/4550/21322 3455/4077/21323 3891/4549/21324 -f 3893/4550/21325 3513/4138/21326 3454/4078/21327 -f 3454/4078/21328 3455/4077/21329 3893/4550/21330 -f 3893/4550/21331 3558/4186/21332 3559/4185/21333 -f 3559/4185/21334 3894/4551/21335 3893/4550/21336 -f 3893/4550/21337 3894/4551/21338 3512/4136/21339 -f 3512/4136/21340 3513/4138/21341 3893/4550/21342 -f 3894/4551/21343 3895/4553/21344 3896/4552/21345 -f 3896/4552/21346 3512/4136/21347 3894/4551/21348 -f 3894/4551/21349 3559/4185/21350 3897/4554/21351 -f 3897/4554/21352 3895/4553/21353 3894/4551/21354 -f 3897/4554/21355 3898/4556/21356 3899/4555/21357 -f 3899/4555/21358 3895/4553/21359 3897/4554/21360 -f 3897/4554/21361 3559/4185/21362 3556/4188/21363 -f 3556/4188/21364 3900/4557/21365 3897/4554/21366 -f 3897/4554/21367 3900/4557/21368 3901/4558/21369 -f 3901/4558/21370 3898/4556/21371 3897/4554/21372 -f 3901/4558/21373 3902/4560/21374 3903/4559/21375 -f 3903/4559/21376 3898/4556/21377 3901/4558/21378 -f 3901/4558/21379 3900/4557/21380 3905/4561/21381 -f 3905/4561/21382 3904/4562/21383 3901/4558/21384 -f 3901/4558/21385 3904/4562/21386 3906/4563/21387 -f 3906/4563/21388 3902/4560/21389 3901/4558/21390 -f 3906/4563/21391 3907/4565/21392 3908/4564/21393 -f 3908/4564/21394 3902/4560/21395 3906/4563/21396 -f 3906/4563/21397 3904/4562/21398 3910/4566/21399 -f 3910/4566/21400 3909/4567/21401 3906/4563/21402 -f 3906/4563/21403 3909/4567/21404 3911/4568/21405 -f 3911/4568/21406 3907/4565/21407 3906/4563/21408 -f 3911/4568/21409 3626/4260/21410 3623/4263/21411 -f 3623/4263/21412 3907/4565/21413 3911/4568/21414 -f 3911/4568/21415 3909/4567/21416 3912/4569/21417 -f 3912/4569/21418 3639/4275/21419 3911/4568/21420 -f 3911/4568/21421 3639/4275/21422 3638/4276/21423 -f 3638/4276/21424 3626/4260/21425 3911/4568/21426 -f 3912/4569/21427 3909/4567/21428 3910/4566/21429 -f 3910/4566/21430 3913/4570/21431 3912/4569/21432 -f 3912/4569/21433 3913/4570/21434 3643/4282/21435 -f 3643/4282/21436 3914/4571/21437 3912/4569/21438 -f 3912/4569/21439 3914/4571/21440 3619/4255/21441 -f 3619/4255/21442 3639/4275/21443 3912/4569/21444 -f 3914/4571/21445 3643/4282/21446 3641/4279/21447 -f 3641/4279/21448 3915/4572/21449 3914/4571/21450 -f 3914/4571/21451 3915/4572/21452 3618/4256/21453 -f 3618/4256/21454 3619/4255/21455 3914/4571/21456 -f 3913/4570/21457 3910/4566/21458 3917/4573/21459 -f 3917/4573/21460 3916/4574/21461 3913/4570/21462 -f 3913/4570/21463 3916/4574/21464 3645/4280/21465 -f 3645/4280/21466 3643/4282/21467 3913/4570/21468 -f 3916/4574/21469 3917/4573/21470 3919/4575/21471 -f 3919/4575/21472 3918/4576/21473 3916/4574/21474 -f 3918/4576/21475 3921/4577/21476 3920/4578/21477 -f 3916/4574/21478 3918/4576/21479 3920/4578/21480 -f 3920/4578/21481 3645/4280/21482 3916/4574/21483 -f 3920/4578/21484 3921/4577/21485 3922/4579/21486 -f 3920/4578/21487 3922/4579/21488 3924/4580/21489 -f 3924/4580/21490 3923/4581/21491 3920/4578/21492 -f 3920/4578/21493 3923/4581/21494 3644/4281/21495 -f 3644/4281/21496 3645/4280/21497 3920/4578/21498 -f 3923/4581/21499 3924/4580/21500 3926/4582/21501 -f 3926/4582/21502 3925/4583/21503 3923/4581/21504 -f 3923/4581/21505 3925/4583/21506 3646/4283/21507 -f 3646/4283/21508 3644/4281/21509 3923/4581/21510 -f 3925/4583/21511 3926/4582/21512 3928/4584/21513 -f 3928/4584/21514 3927/4585/21515 3925/4583/21516 -f 3925/4583/21517 3927/4585/21518 3929/4586/21519 -f 3929/4586/21520 3646/4283/21521 3925/4583/21522 -f 3929/4586/21523 3930/4587/21524 3642/4278/21525 -f 3642/4278/21526 3646/4283/21527 3929/4586/21528 -f 3929/4586/21529 3927/4585/21530 3714/4356/21531 -f 3714/4356/21532 3719/4361/21533 3929/4586/21534 -f 3929/4586/21535 3719/4361/21536 3931/4588/21537 -f 3931/4588/21538 3930/4587/21539 3929/4586/21540 -f 3931/4588/21541 3659/4296/21542 3660/4295/21543 -f 3660/4295/21544 3930/4587/21545 3931/4588/21546 -f 3931/4588/21547 3719/4361/21548 3720/4360/21549 -f 3720/4360/21550 3932/4589/21551 3931/4588/21552 -f 3931/4588/21553 3932/4589/21554 3663/4299/21555 -f 3663/4299/21556 3659/4296/21557 3931/4588/21558 -f 3932/4589/21559 3720/4360/21560 3724/4365/21561 -f 3724/4365/21562 3722/4364/21563 3932/4589/21564 -f 3932/4589/21565 3722/4364/21566 3721/4362/21567 -f 3721/4362/21568 3663/4299/21569 3932/4589/21570 -f 3930/4587/21571 3660/4295/21572 3640/4277/21573 -f 3640/4277/21574 3642/4278/21575 3930/4587/21576 -f 3927/4585/21577 3928/4584/21578 3713/4357/21579 -f 3713/4357/21580 3714/4356/21581 3927/4585/21582 -f 3933/4590/21583 3921/4577/21584 3918/4576/21585 -f 3933/4590/21586 3918/4576/21587 3935/4591/21588 -f 3935/4591/21589 3934/4592/21590 3933/4590/21591 -f 3934/4592/21592 3935/4591/21593 3937/4593/21594 -f 3937/4593/21595 3936/4594/21596 3934/4592/21597 -f 3937/4593/21598 3935/4591/21599 3939/4595/21600 -f 3939/4595/21601 3938/4596/21602 3937/4593/21603 -f 3937/4593/21604 3938/4596/21605 3718/4358/21606 -f 3718/4358/21607 3715/4355/21608 3937/4593/21609 -f 3937/4593/21610 3715/4355/21611 3716/4354/21612 -f 3716/4354/21613 3936/4594/21614 3937/4593/21615 -f 3938/4596/21616 3939/4595/21617 3709/4351/21618 -f 3709/4351/21619 3710/4350/21620 3938/4596/21621 -f 3938/4596/21622 3710/4350/21623 3725/4367/21624 -f 3725/4367/21625 3718/4358/21626 3938/4596/21627 -f 3939/4595/21628 3918/4576/21629 3919/4575/21630 -f 3919/4575/21631 3709/4351/21632 3939/4595/21633 -f 3939/4595/21634 3935/4591/21635 3918/4576/21636 -f 3919/4575/21637 3917/4573/21638 3905/4561/21639 -f 3905/4561/21640 3560/4190/21641 3919/4575/21642 -f 3919/4575/21643 3560/4190/21644 3561/4189/21645 -f 3561/4189/21646 3709/4351/21647 3919/4575/21648 -f 3917/4573/21649 3910/4566/21650 3904/4562/21651 -f 3904/4562/21652 3905/4561/21653 3917/4573/21654 -f 3908/4564/21655 3627/4265/21656 3542/4164/21657 -f 3542/4164/21658 3940/4597/21659 3908/4564/21660 -f 3908/4564/21661 3940/4597/21662 3903/4559/21663 -f 3903/4559/21664 3902/4560/21665 3908/4564/21666 -f 3908/4564/21667 3907/4565/21668 3623/4263/21669 -f 3623/4263/21670 3627/4265/21671 3908/4564/21672 -f 3940/4597/21673 3542/4164/21674 3539/4167/21675 -f 3539/4167/21676 3941/4598/21677 3940/4597/21678 -f 3940/4597/21679 3941/4598/21680 3942/4599/21681 -f 3942/4599/21682 3903/4559/21683 3940/4597/21684 -f 3942/4599/21685 3941/4598/21686 3944/4600/21687 -f 3944/4600/21688 3943/4601/21689 3942/4599/21690 -f 3942/4599/21691 3943/4601/21692 3945/4602/21693 -f 3945/4602/21694 3899/4555/21695 3942/4599/21696 -f 3942/4599/21697 3899/4555/21698 3898/4556/21699 -f 3898/4556/21700 3903/4559/21701 3942/4599/21702 -f 3945/4602/21703 3943/4601/21704 3947/4603/21705 -f 3947/4603/21706 3946/4604/21707 3945/4602/21708 -f 3945/4602/21709 3946/4604/21710 3948/4605/21711 -f 3948/4605/21712 3896/4552/21713 3945/4602/21714 -f 3945/4602/21715 3896/4552/21716 3895/4553/21717 -f 3895/4553/21718 3899/4555/21719 3945/4602/21720 -f 3948/4605/21721 3946/4604/21722 3950/4606/21723 -f 3950/4606/21724 3949/4607/21725 3948/4605/21726 -f 3948/4605/21727 3949/4607/21728 3488/4110/21729 -f 3488/4110/21730 3511/4137/21731 3948/4605/21732 -f 3948/4605/21733 3511/4137/21734 3512/4136/21735 -f 3512/4136/21736 3896/4552/21737 3948/4605/21738 -f 3949/4607/21739 3950/4606/21740 3490/4113/21741 -f 3490/4113/21742 3489/4114/21743 3949/4607/21744 -f 3949/4607/21745 3489/4114/21746 3487/4111/21747 -f 3487/4111/21748 3488/4110/21749 3949/4607/21750 -f 3950/4606/21751 3951/4609/21752 3952/4608/21753 -f 3952/4608/21754 3490/4113/21755 3950/4606/21756 -f 3950/4606/21757 3946/4604/21758 3947/4603/21759 -f 3947/4603/21760 3951/4609/21761 3950/4606/21762 -f 3952/4608/21763 3953/4610/21764 3492/4117/21765 -f 3492/4117/21766 3478/4099/21767 3952/4608/21768 -f 3952/4608/21769 3478/4099/21770 3475/4102/21771 -f 3475/4102/21772 3490/4113/21773 3952/4608/21774 -f 3952/4608/21775 3951/4609/21776 3528/4150/21777 -f 3528/4150/21778 3953/4610/21779 3952/4608/21780 -f 3953/4610/21781 3954/4611/21782 3491/4118/21783 -f 3491/4118/21784 3492/4117/21785 3953/4610/21786 -f 3953/4610/21787 3528/4150/21788 3525/4153/21789 -f 3525/4153/21790 3954/4611/21791 3953/4610/21792 -f 3951/4609/21793 3947/4603/21794 3527/4151/21795 -f 3527/4151/21796 3528/4150/21797 3951/4609/21798 -f 3947/4603/21799 3943/4601/21800 3944/4600/21801 -f 3944/4600/21802 3527/4151/21803 3947/4603/21804 -f 3944/4600/21805 3545/4170/21806 3531/4156/21807 -f 3531/4156/21808 3527/4151/21809 3944/4600/21810 -f 3944/4600/21811 3941/4598/21812 3539/4167/21813 -f 3539/4167/21814 3545/4170/21815 3944/4600/21816 -f 3905/4561/21817 3900/4557/21818 3556/4188/21819 -f 3556/4188/21820 3560/4190/21821 3905/4561/21822 -f 3892/4548/21823 3889/4547/21824 3956/4612/21825 -f 3956/4612/21826 3955/4613/21827 3892/4548/21828 -f 3892/4548/21829 3955/4613/21830 3708/4349/21831 -f 3708/4349/21832 3562/4191/21833 3892/4548/21834 -f 3955/4613/21835 3956/4612/21836 3958/4614/21837 -f 3958/4614/21838 3957/4615/21839 3955/4613/21840 -f 3955/4613/21841 3957/4615/21842 3959/4616/21843 -f 3959/4616/21844 3708/4349/21845 3955/4613/21846 -f 3959/4616/21847 3957/4615/21848 3961/4617/21849 -f 3961/4617/21850 3960/4618/21851 3959/4616/21852 -f 3959/4616/21853 3960/4618/21854 3963/4619/21855 -f 3963/4619/21856 3962/4620/21857 3959/4616/21858 -f 3959/4616/21859 3962/4620/21860 3705/4348/21861 -f 3705/4348/21862 3708/4349/21863 3959/4616/21864 -f 3962/4620/21865 3963/4619/21866 3965/4621/21867 -f 3965/4621/21868 3964/4622/21869 3962/4620/21870 -f 3962/4620/21871 3964/4622/21872 3707/4346/21873 -f 3707/4346/21874 3705/4348/21875 3962/4620/21876 -f 3964/4622/21877 3965/4621/21878 3967/4623/21879 -f 3967/4623/21880 3966/4624/21881 3964/4622/21882 -f 3964/4622/21883 3966/4624/21884 3704/4344/21885 -f 3704/4344/21886 3707/4346/21887 3964/4622/21888 -f 3966/4624/21889 3967/4623/21890 3969/4625/21891 -f 3969/4625/21892 3968/4626/21893 3966/4624/21894 -f 3966/4624/21895 3968/4626/21896 3701/4341/21897 -f 3701/4341/21898 3704/4344/21899 3966/4624/21900 -f 3968/4626/21901 3969/4625/21902 3971/4627/21903 -f 3971/4627/21904 3970/4628/21905 3968/4626/21906 -f 3968/4626/21907 3970/4628/21908 3700/4342/21909 -f 3700/4342/21910 3701/4341/21911 3968/4626/21912 -f 3970/4628/21913 3971/4627/21914 3972/4629/21915 -f 3972/4629/21916 3604/4630/21917 3970/4628/21918 -f 3970/4628/21919 3604/4630/21920 3600/4631/21921 -f 3600/4631/21922 3700/4342/21923 3970/4628/21924 -f 3972/4634/21925 3971/4635/21926 3974/4632/21927 -f 3974/4632/21928 3973/4633/21929 3972/4634/21930 -f 3972/4634/21931 3973/4633/21932 3976/4636/21933 -f 3976/4636/21934 3975/4637/21935 3972/4634/21936 -f 3972/4638/21937 3975/4639/21938 3602/4240/21939 -f 3602/4240/21940 3604/4241/21941 3972/4638/21942 -f 3975/4637/21943 3976/4636/21944 3978/4640/21945 -f 3978/4640/21946 3977/4641/21947 3975/4637/21948 -f 3975/4639/21949 3977/4642/21950 3603/4239/21951 -f 3603/4239/21952 3602/4240/21953 3975/4639/21954 -f 3976/4636/21955 3973/4633/21956 3980/4643/21957 -f 3980/4643/21958 3979/4644/21959 3976/4636/21960 -f 3976/4636/21961 3979/4644/21962 3981/4645/21963 -f 3981/4645/21964 3978/4640/21965 3976/4636/21966 -f 3981/4645/21967 3979/4644/21968 3983/4646/21969 -f 3983/4646/21970 3982/4647/21971 3981/4645/21972 -f 3981/4650/21973 3982/4651/21974 3985/4648/21975 -f 3985/4648/21976 3984/4649/21977 3981/4650/21978 -f 3981/4650/21979 3984/4649/21980 3554/4184/21981 -f 3554/4184/21982 3978/4652/21983 3981/4650/21984 -f 3984/4649/21985 3985/4648/21986 3987/4653/21987 -f 3987/4653/21988 3986/4654/21989 3984/4649/21990 -f 3984/4649/21991 3986/4654/21992 3555/4181/21993 -f 3555/4181/21994 3554/4184/21995 3984/4649/21996 -f 3987/4653/21997 3985/4648/21998 3989/4655/21999 -f 3989/4655/22000 3988/4656/22001 3987/4653/22002 -f 3987/4653/22003 3988/4656/22004 3991/4657/22005 -f 3991/4657/22006 3990/4658/22007 3987/4653/22008 -f 3987/4653/22009 3990/4658/22010 3555/4181/22011 -f 3555/4181/22012 3986/4654/22013 3987/4653/22014 -f 3990/4658/22015 3991/4657/22016 3993/4659/22017 -f 3993/4659/22018 3992/4660/22019 3990/4658/22020 -f 3990/4658/22021 3992/4660/22022 3621/4259/22023 -f 3621/4259/22024 3555/4181/22025 3990/4658/22026 -f 3992/4660/22027 3993/4659/22028 3995/4661/22029 -f 3995/4661/22030 3994/4662/22031 3992/4660/22032 -f 3992/4660/22033 3994/4662/22034 3996/4663/22035 -f 3996/4663/22036 3621/4259/22037 3992/4660/22038 -f 3996/4663/22039 3997/4664/22040 3622/4258/22041 -f 3622/4258/22042 3621/4259/22043 3996/4663/22044 -f 3996/4663/22045 3994/4662/22046 3999/4665/22047 -f 3999/4665/22048 3998/4666/22049 3996/4663/22050 -f 3996/4663/22051 3998/4666/22052 4000/4667/22053 -f 4000/4667/22054 3997/4664/22055 3996/4663/22056 -f 4000/4669/22057 3960/4618/22058 3961/4617/22059 -f 3961/4617/22060 3997/4668/22061 4000/4669/22062 -f 4000/4667/22063 3998/4666/22064 4002/4670/22065 -f 4002/4670/22066 4001/4671/22067 4000/4667/22068 -f 4000/4669/22069 4001/4672/22070 3963/4619/22071 -f 3963/4619/22072 3960/4618/22073 4000/4669/22074 -f 4001/4671/22075 4002/4670/22076 4004/4673/22077 -f 4004/4673/22078 4003/4674/22079 4001/4671/22080 -f 4001/4672/22081 4003/4675/22082 3965/4621/22083 -f 3965/4621/22084 3963/4619/22085 4001/4672/22086 -f 4003/4674/22087 4004/4673/22088 4006/4676/22089 -f 4006/4676/22090 4005/4677/22091 4003/4674/22092 -f 4003/4675/22093 4005/4678/22094 3967/4623/22095 -f 3967/4623/22096 3965/4621/22097 4003/4675/22098 -f 4005/4677/22099 4006/4676/22100 4008/4679/22101 -f 4008/4679/22102 4007/4680/22103 4005/4677/22104 -f 4005/4678/22105 4007/4681/22106 3969/4625/22107 -f 3969/4625/22108 3967/4623/22109 4005/4678/22110 -f 4007/4680/22111 4008/4679/22112 4009/4682/22113 -f 4009/4682/22114 3974/4632/22115 4007/4680/22116 -f 4007/4681/22117 3974/4683/22118 3971/4627/22119 -f 3971/4627/22120 3969/4625/22121 4007/4681/22122 -f 4009/4682/22123 4008/4679/22124 4011/4684/22125 -f 4011/4684/22126 4010/4685/22127 4009/4682/22128 -f 4009/4682/22129 4010/4685/22130 4012/4686/22131 -f 4012/4686/22132 3980/4643/22133 4009/4682/22134 -f 4009/4682/22135 3980/4643/22136 3973/4633/22137 -f 3973/4633/22138 3974/4632/22139 4009/4682/22140 -f 4012/4686/22141 4010/4685/22142 4014/4687/22143 -f 4014/4687/22144 4013/4688/22145 4012/4686/22146 -f 4012/4686/22147 4013/4688/22148 4015/4689/22149 -f 4015/4689/22150 3983/4646/22151 4012/4686/22152 -f 4012/4686/22153 3983/4646/22154 3979/4644/22155 -f 3979/4644/22156 3980/4643/22157 4012/4686/22158 -f 4015/4689/22159 4013/4688/22160 4017/4690/22161 -f 4017/4690/22162 4016/4691/22163 4015/4689/22164 -f 4015/4689/22165 4016/4691/22166 4019/4692/22167 -f 4019/4692/22168 4018/4693/22169 4015/4689/22170 -f 4015/4689/22171 4018/4693/22172 3982/4647/22173 -f 3982/4647/22174 3983/4646/22175 4015/4689/22176 -f 4018/4695/22177 4019/4696/22178 4020/4694/22179 -f 4020/4694/22180 3989/4655/22181 4018/4695/22182 -f 4018/4695/22183 3989/4655/22184 3985/4648/22185 -f 3985/4648/22186 3982/4651/22187 4018/4695/22188 -f 4020/4694/22189 4019/4696/22190 4022/4697/22191 -f 4022/4697/22192 4021/4698/22193 4020/4694/22194 -f 4020/4694/22195 4021/4698/22196 4024/4699/22197 -f 4024/4699/22198 4023/4700/22199 4020/4694/22200 -f 4020/4694/22201 4023/4700/22202 3988/4656/22203 -f 3988/4656/22204 3989/4655/22205 4020/4694/22206 -f 4023/4700/22207 4024/4699/22208 4026/4701/22209 -f 4026/4701/22210 4025/4702/22211 4023/4700/22212 -f 4023/4700/22213 4025/4702/22214 3991/4657/22215 -f 3991/4657/22216 3988/4656/22217 4023/4700/22218 -f 4025/4702/22219 4026/4701/22220 3687/4325/22221 -f 3687/4325/22222 4027/4703/22223 4025/4702/22224 -f 4025/4702/22225 4027/4703/22226 3993/4659/22227 -f 3993/4659/22228 3991/4657/22229 4025/4702/22230 -f 4027/4703/22231 3687/4325/22232 3688/4324/22233 -f 3688/4324/22234 4028/4704/22235 4027/4703/22236 -f 4027/4703/22237 4028/4704/22238 3995/4661/22239 -f 3995/4661/22240 3993/4659/22241 4027/4703/22242 -f 4028/4704/22243 3688/4324/22244 3689/4326/22245 -f 3689/4326/22246 4029/4705/22247 4028/4704/22248 -f 4028/4704/22249 4029/4705/22250 4030/4706/22251 -f 4030/4706/22252 3995/4661/22253 4028/4704/22254 -f 4030/4706/22255 3999/4665/22256 3994/4662/22257 -f 3994/4662/22258 3995/4661/22259 4030/4706/22260 -f 4030/4706/22261 4029/4705/22262 4032/4707/22263 -f 4032/4707/22264 4031/4708/22265 4030/4706/22266 -f 4030/4706/22267 4031/4708/22268 4033/4709/22269 -f 4033/4709/22270 3999/4665/22271 4030/4706/22272 -f 4033/4709/22273 4002/4670/22274 3998/4666/22275 -f 3998/4666/22276 3999/4665/22277 4033/4709/22278 -f 4033/4709/22279 4031/4708/22280 4035/4710/22281 -f 4035/4710/22282 4034/4711/22283 4033/4709/22284 -f 4033/4709/22285 4034/4711/22286 4004/4673/22287 -f 4004/4673/22288 4002/4670/22289 4033/4709/22290 -f 4034/4711/22291 4035/4710/22292 4037/4712/22293 -f 4037/4712/22294 4036/4713/22295 4034/4711/22296 -f 4034/4711/22297 4036/4713/22298 4006/4676/22299 -f 4006/4676/22300 4004/4673/22301 4034/4711/22302 -f 4036/4713/22303 4037/4712/22304 4038/4714/22305 -f 4038/4714/22306 4011/4684/22307 4036/4713/22308 -f 4036/4713/22309 4011/4684/22310 4008/4679/22311 -f 4008/4679/22312 4006/4676/22313 4036/4713/22314 -f 4038/4714/22315 4037/4712/22316 4040/4715/22317 -f 4040/4715/22318 4039/4716/22319 4038/4714/22320 -f 4038/4714/22321 4039/4716/22322 4041/4717/22323 -f 4041/4717/22324 4014/4687/22325 4038/4714/22326 -f 4038/4714/22327 4014/4687/22328 4010/4685/22329 -f 4010/4685/22330 4011/4684/22331 4038/4714/22332 -f 4041/4717/22333 4039/4716/22334 4043/4718/22335 -f 4043/4718/22336 4042/4719/22337 4041/4717/22338 -f 4041/4717/22339 4042/4719/22340 4044/4720/22341 -f 4044/4720/22342 4017/4690/22343 4041/4717/22344 -f 4041/4717/22345 4017/4690/22346 4013/4688/22347 -f 4013/4688/22348 4014/4687/22349 4041/4717/22350 -f 3711/4353/22351 3712/4352/22352 4044/4720/22353 -f 4044/4720/22354 4042/4719/22355 3711/4353/22356 -f 3696/4333/22357 4045/4721/22358 4044/4720/22359 -f 4044/4720/22360 3712/4352/22361 3696/4333/22362 -f 4044/4720/22363 4045/4721/22364 4016/4691/22365 -f 4016/4691/22366 4017/4690/22367 4044/4720/22368 -f 3681/4336/22369 4022/4722/22370 4045/4721/22371 -f 4045/4721/22372 3696/4333/22373 3681/4336/22374 -f 4045/4721/22375 4022/4722/22376 4019/4692/22377 -f 4019/4692/22378 4016/4691/22379 4045/4721/22380 -f 4021/4698/22381 4022/4697/22382 3681/4318/22383 -f 3681/4318/22384 4046/4723/22385 4021/4698/22386 -f 4021/4698/22387 4046/4723/22388 3667/4301/22389 -f 3667/4301/22390 4024/4699/22391 4021/4698/22392 -f 4024/4699/22393 3667/4301/22394 3664/4304/22395 -f 3664/4304/22396 4026/4701/22397 4024/4699/22398 -f 4026/4701/22399 3664/4304/22400 3669/4305/22401 -f 3669/4305/22402 3687/4325/22403 4026/4701/22404 -f 3711/4353/22405 4042/4719/22406 4043/4718/22407 -f 4043/4718/22408 4047/4724/22409 3711/4353/22410 -f 4049/4725/22411 4048/4726/22412 4047/4724/22413 -f 4047/4724/22414 4043/4718/22415 4049/4725/22416 -f 4047/4724/22417 4048/4726/22418 4050/4727/22419 -f 4050/4727/22420 3697/4337/22421 4047/4724/22422 -f 4047/4724/22423 3697/4337/22424 3695/4334/22425 -f 3695/4334/22426 3711/4353/22427 4047/4724/22428 -f 4050/4727/22429 4048/4726/22430 3698/4339/22431 -f 3698/4339/22432 3692/4329/22433 4050/4727/22434 -f 4050/4727/22435 3692/4329/22436 3683/4330/22437 -f 3683/4330/22438 3686/4728/22439 4050/4727/22440 -f 4050/4727/22441 3686/4728/22442 3682/4338/22443 -f 3682/4338/22444 3697/4337/22445 4050/4727/22446 -f 4051/4729/22447 3698/4339/22448 4048/4726/22449 -f 4048/4726/22450 4049/4725/22451 4051/4729/22452 -f 3691/4327/22453 3698/4339/22454 4051/4729/22455 -f 4051/4729/22456 4052/4730/22457 3691/4327/22458 -f 4049/4725/22459 4040/4715/22460 4053/4731/22461 -f 4053/4731/22462 4051/4729/22463 4049/4725/22464 -f 4049/4725/22465 4043/4718/22466 4039/4716/22467 -f 4039/4716/22468 4040/4715/22469 4049/4725/22470 -f 4053/4731/22471 4035/4710/22472 4031/4708/22473 -f 4031/4708/22474 4032/4707/22475 4053/4731/22476 -f 4053/4731/22477 4032/4707/22478 4052/4730/22479 -f 4052/4730/22480 4051/4729/22481 4053/4731/22482 -f 4053/4731/22483 4040/4715/22484 4037/4712/22485 -f 4037/4712/22486 4035/4710/22487 4053/4731/22488 -f 3691/4327/22489 4052/4730/22490 3689/4326/22491 -f 3689/4326/22492 3684/4321/22493 3691/4327/22494 -f 4052/4730/22495 4032/4707/22496 4029/4705/22497 -f 4029/4705/22498 3689/4326/22499 4052/4730/22500 -f 3997/4668/22501 3961/4617/22502 4054/4732/22503 -f 4054/4732/22504 3622/4733/22505 3997/4668/22506 -f 4054/4732/22507 3958/4614/22508 3502/4127/22509 -f 3502/4127/22510 3553/4177/22511 4054/4732/22512 -f 4054/4732/22513 3553/4177/22514 3552/4180/22515 -f 3552/4180/22516 3622/4733/22517 4054/4732/22518 -f 4054/4732/22519 3961/4617/22520 3957/4615/22521 -f 3957/4615/22522 3958/4614/22523 4054/4732/22524 -f 3958/4614/22525 3956/4612/22526 3501/4125/22527 -f 3501/4125/22528 3502/4127/22529 3958/4614/22530 -f 3956/4612/22531 3889/4547/22532 3890/4546/22533 -f 3890/4546/22534 3501/4125/22535 3956/4612/22536 -f 3890/4546/22537 3887/4543/22538 3884/4542/22539 -f 3884/4542/22540 4055/4734/22541 3890/4546/22542 -f 3890/4546/22543 4055/4734/22544 3500/4126/22545 -f 3500/4126/22546 3501/4125/22547 3890/4546/22548 -f 4055/4734/22549 3884/4542/22550 3885/4541/22551 -f 3885/4541/22552 4056/4735/22553 4055/4734/22554 -f 4055/4734/22555 4056/4735/22556 4057/4736/22557 -f 4057/4736/22558 3500/4126/22559 4055/4734/22560 -f 4059/4739/22561 4058/4740/22562 4057/4737/22563 -f 4057/4737/22564 4060/4738/22565 4059/4739/22566 -f 4057/4736/22567 4058/4741/22568 3497/4124/22569 -f 3497/4124/22570 3500/4126/22571 4057/4736/22572 -f 3471/4094/22573 3473/4742/22574 4058/4740/22575 -f 4058/4740/22576 4059/4739/22577 3471/4094/22578 -f 4058/4741/22579 3473/4743/22580 3474/4121/22581 -f 3474/4121/22582 3497/4124/22583 4058/4741/22584 -f 3472/4744/22585 3473/4742/22586 3471/4094/22587 -f 3471/4094/22588 3469/4092/22589 3472/4744/22590 -f 3469/4092/22591 3462/4086/22592 3472/4744/22593 -f 4059/4739/22594 4060/4738/22595 4062/4745/22596 -f 4062/4745/22597 4061/4746/22598 4059/4739/22599 -f 4059/4739/22600 4061/4746/22601 3468/4093/22602 -f 3468/4093/22603 3471/4094/22604 4059/4739/22605 -f 4061/4746/22606 4062/4745/22607 4064/4747/22608 -f 4064/4747/22609 4063/4748/22610 4061/4746/22611 -f 4061/4746/22612 4063/4748/22613 3470/4091/22614 -f 3470/4091/22615 3468/4093/22616 4061/4746/22617 -f 4063/4748/22618 4064/4747/22619 3404/4029/22620 -f 3404/4029/22621 3405/4028/22622 4063/4748/22623 -f 4063/4748/22624 3405/4028/22625 3414/4037/22626 -f 3414/4037/22627 3470/4091/22628 4063/4748/22629 -f 3406/4027/22630 3407/4031/22631 3414/4037/22632 -f 3414/4037/22633 3405/4028/22634 3406/4027/22635 -f 3414/4037/22636 3412/4036/22637 3462/4086/22638 -f 3462/4086/22639 3470/4091/22640 3414/4037/22641 -f 3390/4014/22642 3393/4016/22643 3404/4029/22644 -f 3404/4029/22645 3397/4019/22646 3390/4014/22647 -f 3404/4029/22648 4064/4747/22649 4065/4749/22650 -f 4065/4749/22651 3397/4019/22652 3404/4029/22653 -f 4065/4749/22654 4066/4750/22655 3396/4020/22656 -f 3396/4020/22657 3397/4019/22658 4065/4749/22659 -f 4065/4749/22660 4064/4747/22661 4062/4745/22662 -f 4062/4745/22663 4067/4751/22664 4065/4749/22665 -f 4065/4749/22666 4067/4751/22667 4068/4752/22668 -f 4068/4752/22669 4066/4750/22670 4065/4749/22671 -f 4068/4752/22672 4069/4754/22673 4070/4753/22674 -f 4070/4753/22675 4066/4750/22676 4068/4752/22677 -f 4068/4752/22678 4067/4751/22679 4072/4755/22680 -f 4072/4755/22681 4071/4756/22682 4068/4752/22683 -f 4068/4752/22684 4071/4756/22685 4073/4757/22686 -f 4073/4757/22687 4069/4754/22688 4068/4752/22689 -f 4073/4757/22690 4074/4759/22691 4075/4758/22692 -f 4075/4758/22693 4069/4754/22694 4073/4757/22695 -f 3885/4760/22696 3882/4761/22697 4073/4757/22698 -f 4073/4757/22699 4071/4756/22700 3885/4760/22701 -f 3881/4762/22702 4074/4759/22703 4073/4757/22704 -f 4073/4757/22705 3882/4761/22706 3881/4762/22707 -f 4076/4764/22708 4074/4759/22709 3881/4762/22710 -f 3881/4762/22711 3880/4763/22712 4076/4764/22713 -f 4076/4764/22714 3415/4038/22715 3400/4022/22716 -f 3400/4022/22717 3401/4021/22718 4076/4764/22719 -f 4076/4764/22720 3401/4021/22721 4075/4758/22722 -f 4075/4758/22723 4074/4759/22724 4076/4764/22725 -f 3415/4038/22726 4076/4764/22727 3880/4763/22728 -f 3880/4763/22729 3879/4535/22730 3415/4038/22731 -f 3885/4760/22732 4071/4756/22733 4072/4755/22734 -f 4072/4755/22735 4056/4765/22736 3885/4760/22737 -f 4057/4737/22738 4056/4765/22739 4072/4755/22740 -f 4072/4755/22741 4060/4738/22742 4057/4737/22743 -f 4075/4758/22744 3401/4021/22745 3398/4024/22746 -f 3398/4024/22747 4077/4766/22748 4075/4758/22749 -f 4075/4758/22750 4077/4766/22751 4070/4753/22752 -f 4070/4753/22753 4069/4754/22754 4075/4758/22755 -f 4077/4766/22756 3398/4024/22757 3377/3999/22758 -f 3377/3999/22759 3372/3998/22760 4077/4766/22761 -f 4077/4766/22762 3372/3998/22763 3373/3997/22764 -f 3373/3997/22765 4070/4753/22766 4077/4766/22767 -f 3396/4020/22768 3373/3997/22769 3374/3996/22770 -f 3374/3996/22771 3394/4018/22772 3396/4020/22773 -f 3373/3997/22774 3396/4020/22775 4066/4750/22776 -f 4066/4750/22777 4070/4753/22778 3373/3997/22779 -f 3377/3999/22780 3398/4024/22781 3399/4023/22782 -f 3399/4023/22783 3380/4002/22784 3377/3999/22785 -f 4072/4755/22786 4067/4751/22787 4062/4745/22788 -f 4062/4745/22789 4060/4738/22790 4072/4755/22791 -f 3416/4039/22792 3878/4536/22793 3467/4767/22794 -f 3467/4767/22795 3464/4768/22796 3416/4039/22797 -f 3877/4530/22798 3875/4528/22799 3548/4172/22800 -f 3548/4172/22801 3549/4171/22802 3877/4530/22803 -f 3877/4530/22804 3549/4171/22805 4078/4769/22806 -f 4078/4769/22807 3467/4532/22808 3877/4530/22809 -f 3875/4528/22810 3872/4527/22811 3551/4175/22812 -f 3551/4175/22813 3548/4172/22814 3875/4528/22815 -f 3551/4175/22816 3872/4527/22817 3873/4526/22818 -f 3873/4526/22819 3598/4235/22820 3551/4175/22821 -f 3740/4383/22822 3736/4379/22823 3598/4235/22824 -f 3598/4235/22825 3873/4526/22826 3740/4383/22827 -f 3740/4383/22828 3873/4526/22829 3869/4524/22830 -f 3869/4524/22831 3870/4523/22832 3740/4383/22833 -f 3597/4236/22834 3598/4235/22835 3736/4379/22836 -f 3736/4379/22837 3733/4376/22838 3597/4236/22839 -f 3743/4386/22840 3739/4384/22841 3740/4383/22842 -f 3740/4383/22843 3870/4523/22844 3743/4386/22845 -f 3743/4386/22846 3870/4523/22847 3867/4521/22848 -f 3867/4521/22849 3745/4388/22850 3743/4386/22851 -f 3600/4631/22852 3601/4371/22853 3699/4343/22854 -f 3699/4343/22855 3700/4342/22856 3600/4631/22857 -f 3523/4149/22858 3864/4519/22859 3460/4084/22860 -f 3460/4084/22861 3521/4147/22862 3523/4149/22863 -f 3863/4516/22864 3753/4396/22865 3864/4519/22866 -f 3864/4519/22867 3523/4149/22868 3863/4516/22869 -f 3863/4516/22870 3523/4149/22871 3524/4148/22872 -f 3524/4148/22873 3862/4517/22874 3863/4516/22875 -f 3485/4106/22876 3487/4111/22877 3506/4131/22878 -f 3506/4131/22879 3484/4107/22880 3485/4106/22881 -f 3504/4129/22882 3505/4128/22883 4080/4770/22884 -f 4080/4770/22885 4079/4771/22886 3504/4129/22887 -f 3504/4129/22888 4079/4771/22889 3858/4511/22890 -f 3858/4511/22891 3859/4510/22892 3504/4129/22893 -f 4082/4773/22894 4081/4774/22895 4083/4772/22896 -f 4083/4772/22897 3795/4443/22898 4082/4773/22899 -f 4082/4773/22900 3795/4443/22901 3793/4441/22902 -f 3793/4441/22903 3853/4506/22904 4082/4773/22905 -f 4083/4772/22906 4081/4774/22907 4085/4775/22908 -f 4085/4775/22909 4084/4776/22910 4083/4772/22911 -f 3493/4116/22912 3494/4115/22913 4083/4772/22914 -f 4083/4772/22915 4084/4776/22916 3493/4116/22917 -f 3493/4116/22918 4084/4776/22919 4086/4777/22920 -f 4086/4777/22921 3496/4119/22922 3493/4116/22923 -f 3496/4119/22924 4086/4777/22925 3505/4128/22926 -f 3505/4128/22927 3495/4120/22928 3496/4119/22929 -f 4086/4777/22930 4084/4776/22931 4085/4775/22932 -f 4085/4775/22933 4087/4778/22934 4086/4777/22935 -f 4086/4777/22936 4087/4778/22937 4080/4770/22938 -f 4080/4770/22939 3505/4128/22940 4086/4777/22941 -f 4088/4780/22942 3854/4781/22943 3855/4779/22944 -f 3855/4779/22945 3788/4434/22946 4088/4780/22947 -f 4088/4780/22948 3788/4434/22949 3785/4433/22950 -f 3785/4433/22951 3786/4432/22952 4088/4780/22953 -f 3855/4508/22954 3791/4439/22955 3790/4440/22956 -f 3855/4779/22957 3790/4437/22958 3787/4435/22959 -f 3787/4435/22960 3788/4434/22961 3855/4779/22962 -f 3725/4367/22963 3710/4350/22964 3706/4347/22965 -f 3706/4347/22966 3703/4345/22967 3725/4367/22968 -f 3721/4362/22969 3693/4331/22970 3662/4300/22971 -f 3662/4300/22972 3663/4299/22973 3721/4362/22974 -f 3706/4347/22975 3707/4346/22976 3704/4344/22977 -f 3704/4344/22978 3703/4345/22979 3706/4347/22980 -f 3686/4323/22981 3670/4307/22982 3666/4302/22983 -f 3666/4302/22984 3682/4317/22985 3686/4323/22986 -f 3660/4295/22987 3613/4249/22988 3608/4248/22989 -f 3608/4248/22990 3640/4277/22991 3660/4295/22992 -f 3656/4292/22993 3615/4254/22994 3618/4256/22995 -f 3618/4256/22996 3657/4294/22997 3656/4292/22998 -f 3915/4572/22999 3641/4279/23000 3609/4247/23001 -f 3609/4247/23002 3634/4271/23003 3915/4572/23004 -f 3652/4288/23005 3586/4218/23006 3584/4215/23007 -f 3584/4215/23008 3620/4257/23009 3652/4288/23010 -f 3650/4284/23011 3653/4291/23012 3635/4272/23013 -f 3635/4272/23014 3630/4270/23015 3650/4284/23016 -f 3627/4265/23017 3628/4264/23018 3541/4165/23019 -f 3541/4165/23020 3542/4164/23021 3627/4265/23022 -f 3628/4264/23023 3847/4500/23024 3544/4168/23025 -f 3544/4168/23026 3541/4165/23027 3628/4264/23028 -f 3607/4244/23029 3591/4227/23030 3593/4228/23031 -f 3593/4228/23032 3594/4230/23033 3607/4244/23034 -f 3596/4233/23035 3592/4232/23036 3587/4222/23037 -f 3587/4222/23038 3824/4476/23039 3596/4233/23040 -f 3553/4177/23041 3502/4127/23042 3499/4122/23043 -f 3499/4122/23044 3546/4178/23045 3553/4177/23046 -f 3549/4171/23047 3546/4174/23048 3499/4782/23049 -f 3499/4782/23050 4078/4769/23051 3549/4171/23052 -f 3545/4170/23053 3535/4157/23054 3532/4160/23055 -f 3532/4160/23056 3531/4156/23057 3545/4170/23058 -f 3529/4155/23059 3516/4140/23060 3517/4139/23061 -f 3529/4155/23062 3517/4139/23063 3954/4611/23064 -f 3954/4611/23065 3525/4153/23066 3529/4155/23067 -f 3529/4155/23068 3530/4154/23069 3519/4143/23070 -f 3519/4143/23071 3516/4140/23072 3529/4155/23073 -f 3450/4070/23074 3482/4109/23075 3483/4108/23076 -f 3483/4108/23077 3461/4083/23078 3450/4070/23079 -f 3450/4070/23080 3461/4083/23081 4089/4783/23082 -f 4089/4783/23083 3449/4071/23084 3450/4070/23085 -f 3449/4071/23086 4089/4783/23087 3432/4056/23088 -f 3432/4056/23089 3433/4055/23090 3449/4071/23091 -f 3433/4055/23092 3427/4048/23093 3453/4076/23094 -f 3453/4076/23095 3449/4071/23096 3433/4055/23097 -f 3433/4055/23098 3421/4043/23099 3422/4042/23100 -f 3422/4042/23101 3427/4048/23102 3433/4055/23103 -f 4089/4783/23104 3461/4083/23105 3446/4069/23106 -f 3446/4069/23107 3443/4065/23108 4089/4783/23109 -f 4089/4783/23110 3443/4065/23111 3424/4046/23112 -f 3424/4046/23113 3432/4056/23114 4089/4783/23115 -f 4090/4784/23116 3482/4109/23117 3450/4070/23118 -f 3450/4070/23119 3447/4073/23120 4090/4784/23121 -f 4090/4784/23122 4091/4787/23123 4093/4785/23124 -f 4093/4785/23125 4092/4786/23126 4090/4784/23127 -f 4090/4784/23128 4092/4786/23129 3485/4106/23130 -f 3485/4106/23131 3482/4109/23132 4090/4784/23133 -f 3451/4075/23134 4091/4787/23135 4090/4784/23136 -f 4090/4784/23137 3447/4073/23138 3451/4075/23139 -f 4094/4789/23140 4091/4787/23141 3451/4075/23142 -f 3451/4075/23143 4095/4788/23144 4094/4789/23145 -f 4095/4788/23146 3451/4075/23147 3452/4074/23148 -f 3452/4074/23149 4096/4790/23150 4095/4788/23151 -f 4096/4790/23152 3452/4074/23153 4098/4791/23154 -f 4098/4791/23155 4097/4792/23156 4096/4790/23157 -f 4100/4793/23158 4099/4794/23159 4097/4792/23160 -f 4097/4792/23161 4098/4791/23162 4100/4793/23163 -f 4099/4794/23164 4100/4793/23165 4102/4795/23166 -f 4102/4795/23167 4101/4796/23168 4099/4794/23169 -f 4101/4796/23170 4102/4795/23171 4104/4797/23172 -f 4104/4797/23173 4103/4798/23174 4101/4796/23175 -f 4103/4798/23176 4104/4797/23177 4106/4799/23178 -f 4106/4799/23179 4105/4800/23180 4103/4798/23181 -f 4107/4802/23182 4105/4800/23183 4106/4799/23184 -f 4106/4799/23185 4108/4801/23186 4107/4802/23187 -f 4106/4799/23188 4104/4797/23189 3509/4133/23190 -f 3509/4133/23191 3510/4132/23192 4106/4799/23193 -f 4106/4799/23194 3510/4132/23195 4109/4803/23196 -f 4109/4803/23197 4108/4801/23198 4106/4799/23199 -f 4109/4803/23200 3486/4112/23201 3485/4106/23202 -f 3485/4106/23203 4092/4786/23204 4109/4803/23205 -f 4109/4803/23206 4092/4786/23207 4093/4785/23208 -f 4093/4785/23209 4108/4801/23210 4109/4803/23211 -f 4109/4803/23212 3510/4132/23213 3507/4135/23214 -f 3507/4135/23215 3486/4112/23216 4109/4803/23217 -f 4108/4801/23218 4093/4785/23219 4110/4804/23220 -f 4110/4804/23221 4107/4802/23222 4108/4801/23223 -f 4104/4797/23224 4102/4795/23225 4111/4805/23226 -f 4111/4805/23227 3509/4133/23228 4104/4797/23229 -f 4111/4805/23230 4102/4795/23231 4100/4793/23232 -f 4100/4793/23233 4112/4806/23234 4111/4805/23235 -f 4111/4805/23236 4112/4806/23237 3428/4053/23238 -f 3428/4053/23239 3454/4078/23240 4111/4805/23241 -f 4111/4805/23242 3454/4078/23243 3513/4138/23244 -f 3513/4138/23245 3509/4133/23246 4111/4805/23247 -f 4113/4807/23248 4112/4806/23249 4100/4793/23250 -f 4100/4793/23251 4098/4791/23252 4113/4807/23253 -f 3428/4053/23254 4112/4806/23255 4113/4807/23256 -f 4113/4807/23257 3425/4050/23258 3428/4053/23259 -f 4113/4807/23260 4098/4791/23261 3452/4074/23262 -f 3452/4074/23263 3453/4076/23264 4113/4807/23265 -f 4113/4807/23266 3453/4076/23267 3427/4048/23268 -f 3427/4048/23269 3425/4050/23270 4113/4807/23271 -f 4094/4789/23272 4110/4804/23273 4093/4785/23274 -f 4093/4785/23275 4091/4787/23276 4094/4789/23277 -f 3511/4137/23278 3488/4110/23279 3486/4112/23280 -f 3486/4112/23281 3507/4135/23282 3511/4137/23283 -f 3499/4782/23284 3474/4095/23285 3466/4098/23286 -f 3466/4098/23287 4078/4769/23288 3499/4782/23289 -f 3481/4105/23290 3477/4100/23291 3493/4116/23292 -f 3493/4116/23293 3496/4119/23294 3481/4105/23295 -f 3464/4768/23296 3465/4808/23297 3388/4010/23298 -f 3388/4010/23299 3416/4039/23300 3464/4768/23301 -f 4114/4809/23302 3465/4087/23303 3418/4041/23304 -f 3418/4041/23305 3417/4040/23306 4114/4809/23307 -f 3387/4011/23308 3388/4010/23309 3465/4808/23310 -f 3465/4808/23311 4114/4810/23312 3387/4011/23313 -f 4114/4809/23314 3417/4040/23315 3410/4034/23316 -f 3410/4034/23317 4115/4811/23318 4114/4809/23319 -f 4114/4810/23320 4115/4811/23321 4116/4812/23322 -f 4116/4812/23323 3387/4011/23324 4114/4810/23325 -f 4116/4812/23326 4115/4811/23327 4118/4813/23328 -f 4118/4813/23329 4117/4814/23330 4116/4812/23331 -f 4116/4812/23332 4117/4814/23333 4120/4815/23334 -f 4120/4815/23335 4119/4816/23336 4116/4812/23337 -f 4116/4812/23338 4119/4816/23339 3385/4007/23340 -f 3385/4007/23341 3387/4011/23342 4116/4812/23343 -f 4120/4815/23344 3383/4006/23345 3379/4003/23346 -f 3379/4003/23347 4119/4816/23348 4120/4815/23349 -f 4118/4813/23350 4115/4811/23351 3410/4034/23352 -f 3410/4034/23353 3411/4033/23354 4118/4813/23355 -f 3400/4022/23356 3384/4008/23357 3380/4002/23358 -f 3380/4002/23359 3399/4023/23360 3400/4022/23361 -f 3394/4018/23362 3374/3996/23363 3378/4001/23364 -f 3378/4001/23365 3395/4017/23366 3394/4018/23367 -f 3395/4017/23368 3378/4001/23369 3382/4004/23370 -f 3382/4004/23371 3389/4015/23372 3395/4017/23373 -f 3480/4103/23374 3479/4104/23375 3495/4120/23376 -f 3477/4100/23377 3478/4099/23378 3492/4117/23379 -f 3492/4117/23380 3493/4116/23381 3477/4100/23382 -f 3666/4302/23383 3667/4301/23384 4046/4723/23385 -f 4046/4723/23386 3681/4318/23387 3666/4302/23388 -f 3550/4176/23389 3603/4239/23390 3977/4642/23391 -f 3977/4642/23392 3547/4173/23393 3550/4176/23394 -f 3801/4449/23395 3530/4154/23396 3531/4156/23397 -f 3531/4156/23398 4121/4817/23399 3801/4449/23400 -f 3531/4156/23401 3532/4160/23402 3536/4162/23403 -f 3536/4162/23404 4121/4817/23405 3531/4156/23406 -f 3536/4162/23407 3800/4450/23408 3801/4449/23409 -f 3801/4449/23410 4121/4817/23411 3536/4162/23412 -f 3634/4271/23413 3635/4272/23414 3653/4291/23415 -f 3653/4291/23416 3915/4572/23417 3634/4271/23418 -f 3653/4291/23419 3657/4294/23420 3618/4256/23421 -f 3618/4256/23422 3915/4572/23423 3653/4291/23424 -f 3522/4146/23425 3484/4107/23426 3506/4131/23427 -f 3506/4131/23428 3524/4148/23429 3522/4146/23430 -f 3506/4131/23431 3862/4517/23432 3524/4148/23433 -f 3494/4115/23434 3794/4444/23435 3795/4443/23436 -f 3795/4443/23437 4083/4772/23438 3494/4115/23439 -f 3503/4130/23440 3480/4103/23441 3495/4120/23442 -f 3506/4131/23443 3503/4130/23444 3504/4129/23445 -f 3504/4129/23446 3859/4510/23447 3506/4131/23448 -f 3460/4084/23449 3461/4083/23450 3483/4108/23451 -f 3483/4108/23452 3521/4147/23453 3460/4084/23454 -f 3599/4234/23455 3550/4176/23456 3551/4175/23457 -f 3554/4184/23458 3547/4183/23459 3977/4818/23460 -f 3977/4818/23461 3978/4652/23462 3554/4184/23463 -f 3383/4006/23464 4120/4815/23465 3382/4004/23466 -f 3382/4004/23467 3381/4005/23468 3383/4006/23469 -f 3411/4033/23470 3408/4030/23471 3403/4026/23472 -f 4120/4815/23473 4117/4814/23474 3389/4015/23475 -f 3389/4015/23476 3382/4004/23477 4120/4815/23478 -f 4118/4813/23479 3392/4012/23480 3389/4015/23481 -f 3389/4015/23482 4117/4814/23483 4118/4813/23484 -f 3411/4033/23485 3403/4026/23486 3392/4012/23487 -f 3392/4012/23488 4118/4813/23489 3411/4033/23490 -f 3467/4532/23491 4078/4769/23492 3466/4098/23493 -f 3472/4744/23494 3462/4086/23495 3463/4085/23496 -f 3463/4085/23497 3466/4090/23498 3472/4744/23499 -f 3385/4007/23500 4119/4816/23501 3379/4003/23502 -f 3936/4594/23503 3716/4354/23504 3713/4357/23505 -f 3713/4357/23506 3928/4584/23507 3936/4594/23508 -f 3922/4579/23509 3921/4577/23510 3933/4590/23511 -f 3933/4590/23512 3934/4592/23513 3924/4580/23514 -f 3924/4580/23515 3922/4579/23516 3933/4590/23517 -f 3934/4592/23518 3936/4594/23519 3928/4584/23520 -f 3928/4584/23521 3924/4580/23522 3934/4592/23523 -f 3928/4584/23524 3926/4582/23525 3924/4580/23526 -f 4097/4792/23527 4099/4794/23528 4101/4796/23529 -f 4107/4802/23530 4101/4796/23531 4103/4798/23532 -f 4103/4798/23533 4105/4800/23534 4107/4802/23535 -f 4101/4796/23536 4107/4802/23537 4097/4792/23538 -f 4097/4792/23539 4107/4802/23540 4110/4804/23541 -f 4110/4804/23542 4096/4790/23543 4097/4792/23544 -f 4095/4788/23545 4096/4790/23546 4110/4804/23547 -f 4110/4804/23548 4094/4789/23549 4095/4788/23550 -f 3491/4118/23551 3954/4611/23552 3517/4139/23553 -f 3517/4139/23554 3514/4142/23555 3491/4118/23556 -f 3514/4142/23557 3520/4145/23558 3491/4118/23559 -f 3543/4169/23560 3544/4168/23561 3847/4500/23562 -f 3847/4500/23563 3846/4499/23564 3543/4169/23565 -f 3543/4169/23566 3846/4499/23567 3844/4498/23568 -f 3844/4498/23569 3850/4504/23570 3543/4169/23571 -f 3850/4504/23572 3844/4498/23573 3845/4497/23574 -f 3845/4497/23575 3823/4475/23576 3850/4504/23577 -f 3822/4474/23578 3823/4475/23579 3845/4497/23580 -f 3845/4497/23581 3848/4502/23582 3822/4474/23583 -f 3848/4502/23584 4122/4819/23585 3822/4474/23586 -f 3588/4221/23587 3580/4220/23588 4122/4819/23589 -f 4122/4819/23590 3825/4479/23591 3588/4221/23592 -f 3824/4476/23593 3587/4222/23594 3588/4221/23595 -f 3588/4221/23596 3825/4479/23597 3824/4476/23598 -f 4122/4819/23599 3583/4213/23600 3822/4474/23601 -f 3848/4502/23602 3825/4479/23603 4122/4819/23604 -f 3580/4220/23605 3579/4207/23606 4122/4819/23607 -f 3579/4207/23608 3583/4213/23609 4122/4819/23610 -f 3632/4268/23611 3633/4267/23612 3610/4246/23613 -f 4288/4820/23614 4281/4821/23615 4290/4822/23616 -f 4290/4822/23617 4289/4823/23618 4288/4820/23619 -f 4344/4824/23620 4288/4820/23621 4289/4823/23622 -f 4289/4823/23623 4153/4825/23624 4344/4824/23625 -f 4153/4825/23626 4329/4826/23627 4328/4827/23628 -f 4328/4827/23629 4344/4824/23630 4153/4825/23631 -f 4293/4828/23632 4185/4829/23633 4280/4830/23634 -f 4280/4830/23635 4279/4831/23636 4293/4828/23637 -f 4166/4832/23638 4290/4822/23639 4280/4830/23640 -f 4280/4830/23641 4169/4833/23642 4166/4832/23643 -f 4146/4834/23644 4289/4823/23645 4290/4822/23646 -f 4290/4822/23647 4166/4832/23648 4146/4834/23649 -f 4154/4835/23650 4153/4825/23651 4289/4823/23652 -f 4289/4823/23653 4146/4834/23654 4154/4835/23655 -f 4155/4836/23656 4329/4826/23657 4153/4825/23658 -f 4153/4825/23659 4154/4835/23660 4155/4836/23661 -f 4280/4830/23662 4185/4829/23663 4191/4837/23664 -f 4191/4837/23665 4169/4833/23666 4280/4830/23667 -f 4186/4838/23668 4185/4829/23669 4293/4828/23670 -f 4293/4828/23671 4180/4839/23672 4186/4838/23673 -f 4192/4840/23674 4191/4837/23675 4185/4829/23676 -f 4185/4829/23677 4186/4838/23678 4192/4840/23679 -f 4200/4841/23680 4186/4838/23681 4180/4839/23682 -f 4180/4839/23683 4183/4842/23684 4200/4841/23685 -f 4193/4843/23686 4192/4840/23687 4186/4838/23688 -f 4186/4838/23689 4200/4841/23690 4193/4843/23691 -f 4330/4844/23692 4329/4826/23693 4155/4836/23694 -f 4155/4836/23695 4156/4845/23696 4330/4844/23697 -f 4331/4846/23698 4328/4827/23699 4329/4826/23700 -f 4329/4826/23701 4330/4844/23702 4331/4846/23703 -f 4181/4847/23704 4200/4841/23705 4183/4842/23706 -f 4183/4842/23707 4184/4848/23708 4181/4847/23709 -f 4182/4849/23710 4193/4843/23711 4200/4841/23712 -f 4200/4841/23713 4181/4847/23714 4182/4849/23715 -f 4149/4850/23716 4330/4844/23717 4156/4845/23718 -f 4156/4845/23719 4150/4851/23720 4149/4850/23721 -f 4327/4852/23722 4331/4846/23723 4330/4844/23724 -f 4330/4844/23725 4149/4850/23726 4327/4852/23727 -f 4136/4853/23728 4181/4847/23729 4184/4848/23730 -f 4184/4848/23731 4135/4854/23732 4136/4853/23733 -f 4137/4855/23734 4182/4849/23735 4181/4847/23736 -f 4181/4847/23737 4136/4853/23738 4137/4855/23739 -f 4141/4856/23740 4149/4850/23741 4150/4851/23742 -f 4150/4851/23743 4142/4857/23744 4141/4856/23745 -f 4139/4858/23746 4327/4852/23747 4149/4850/23748 -f 4149/4850/23749 4141/4856/23750 4139/4858/23751 -f 4133/4859/23752 4141/4856/23753 4142/4857/23754 -f 4142/4857/23755 4143/4860/23756 4133/4859/23757 -f 4134/4861/23758 4139/4858/23759 4141/4856/23760 -f 4141/4856/23761 4133/4859/23762 4134/4861/23763 -f 4136/4853/23764 4133/4859/23765 4143/4860/23766 -f 4143/4860/23767 4137/4855/23768 4136/4853/23769 -f 4135/4854/23770 4134/4861/23771 4133/4859/23772 -f 4133/4859/23773 4136/4853/23774 4135/4854/23775 -f 4279/4831/23776 4280/4830/23777 4290/4822/23778 -f 4290/4822/23779 4281/4821/23780 4279/4831/23781 -f 4288/4820/23782 4201/4862/23783 4283/4863/23784 -f 4283/4863/23785 4281/4821/23786 4288/4820/23787 -f 4332/4864/23788 4201/4862/23789 4288/4820/23790 -f 4288/4820/23791 4344/4824/23792 4332/4864/23793 -f 4333/4865/23794 4332/4864/23795 4344/4824/23796 -f 4344/4824/23797 4328/4827/23798 4333/4865/23799 -f 4315/4866/23800 4333/4865/23801 4328/4827/23802 -f 4328/4827/23803 4331/4846/23804 4315/4866/23805 -f 4331/4846/23806 4327/4852/23807 4313/4867/23808 -f 4313/4867/23809 4315/4866/23810 4331/4846/23811 -f 4327/4852/23812 4139/4858/23813 4140/4868/23814 -f 4140/4868/23815 4313/4867/23816 4327/4852/23817 -f 4139/4858/23818 4134/4861/23819 4127/4869/23820 -f 4127/4869/23821 4140/4868/23822 4139/4858/23823 -f 4172/4870/23824 4127/4869/23825 4134/4861/23826 -f 4134/4861/23827 4135/4854/23828 4172/4870/23829 -f 4173/4871/23830 4172/4870/23831 4135/4854/23832 -f 4135/4854/23833 4184/4848/23834 4173/4871/23835 -f 4184/4848/23836 4183/4842/23837 4179/4872/23838 -f 4179/4872/23839 4173/4871/23840 4184/4848/23841 -f 4183/4842/23842 4180/4839/23843 4187/4873/23844 -f 4187/4873/23845 4179/4872/23846 4183/4842/23847 -f 4293/4828/23848 4291/4874/23849 4222/4875/23850 -f 4222/4875/23851 4180/4839/23852 4293/4828/23853 -f 4293/4828/23854 4279/4831/23855 4282/4876/23856 -f 4282/4876/23857 4291/4874/23858 4293/4828/23859 -f 4282/4876/23860 4279/4831/23861 4281/4821/23862 -f 4281/4821/23863 4283/4863/23864 4282/4876/23865 -f 4283/4863/23866 4284/4877/23867 4285/4878/23868 -f 4285/4878/23869 4282/4876/23870 4283/4863/23871 -f 4187/4873/23872 4188/4879/23873 4175/4880/23874 -f 4175/4880/23875 4179/4872/23876 4187/4873/23877 -f 4126/4881/23878 4123/4882/23879 4188/4879/23880 -f 4188/4879/23881 4187/4873/23882 4126/4881/23883 -f 4282/4876/23884 4285/4878/23885 4292/4883/23886 -f 4292/4883/23887 4291/4874/23888 4282/4876/23889 -f 4223/4884/23890 4292/4883/23891 4230/4885/23892 -f 4230/4885/23893 4224/4886/23894 4223/4884/23895 -f 4292/4883/23896 4285/4878/23897 4294/4887/23898 -f 4294/4887/23899 4230/4885/23900 4292/4883/23901 -f 4294/4887/23902 4232/4888/23903 4231/4889/23904 -f 4231/4889/23905 4230/4885/23906 4294/4887/23907 -f 4231/4889/23908 4219/4890/23909 4224/4886/23910 -f 4224/4886/23911 4230/4885/23912 4231/4889/23913 -f 4177/4891/23914 4173/4871/23915 4179/4872/23916 -f 4179/4872/23917 4175/4880/23918 4177/4891/23919 -f 4128/4892/23920 4322/4893/23921 4140/4868/23922 -f 4140/4868/23923 4127/4869/23924 4128/4892/23925 -f 4128/4892/23926 4127/4869/23927 4172/4870/23928 -f 4172/4870/23929 4131/4894/23930 4128/4892/23931 -f 4131/4894/23932 4172/4870/23933 4173/4871/23934 -f 4173/4871/23935 4177/4891/23936 4131/4894/23937 -f 4333/4865/23938 4315/4866/23939 4316/4895/23940 -f 4316/4895/23941 4335/4896/23942 4333/4865/23943 -f 4316/4895/23944 4315/4866/23945 4313/4867/23946 -f 4313/4867/23947 4314/4897/23948 4316/4895/23949 -f 4313/4867/23950 4140/4868/23951 4322/4893/23952 -f 4322/4893/23953 4314/4897/23954 4313/4867/23955 -f 4333/4865/23956 4335/4896/23957 4334/4898/23958 -f 4334/4898/23959 4332/4864/23960 4333/4865/23961 -f 4218/4899/23962 4211/4900/23963 4123/4882/23964 -f 4123/4882/23965 4126/4881/23966 4218/4899/23967 -f 4219/4890/23968 4209/4901/23969 4220/4902/23970 -f 4220/4902/23971 4224/4886/23972 4219/4890/23973 -f 4218/4899/23974 4220/4902/23975 4209/4901/23976 -f 4209/4901/23977 4211/4900/23978 4218/4899/23979 -f 4209/4901/23980 4214/4903/23981 4213/4904/23982 -f 4213/4904/23983 4211/4900/23984 4209/4901/23985 -f 4213/4904/23986 4214/4903/23987 4216/4905/23988 -f 4216/4905/23989 4210/4906/23990 4213/4904/23991 -f 4212/4907/23992 4211/4900/23993 4213/4904/23994 -f 4213/4904/23995 4210/4906/23996 4212/4907/23997 -f 4124/4908/23998 4123/4882/23999 4211/4900/24000 -f 4211/4900/24001 4212/4907/24002 4124/4908/24003 -f 4223/4884/24004 4224/4886/24005 4220/4902/24006 -f 4220/4902/24007 4218/4899/24008 4223/4884/24009 -f 4218/4899/24010 4126/4881/24011 4222/4875/24012 -f 4222/4875/24013 4223/4884/24014 4218/4899/24015 -f 4125/4909/24016 4188/4879/24017 4123/4882/24018 -f 4123/4882/24019 4124/4908/24020 4125/4909/24021 -f 4174/4910/24022 4175/4880/24023 4188/4879/24024 -f 4188/4879/24025 4125/4909/24026 4174/4910/24027 -f 4178/4911/24028 4177/4891/24029 4175/4880/24030 -f 4175/4880/24031 4174/4910/24032 4178/4911/24033 -f 4177/4891/24034 4178/4911/24035 4132/4912/24036 -f 4132/4912/24037 4131/4894/24038 4177/4891/24039 -f 4132/4912/24040 4130/4913/24041 4129/4914/24042 -f 4129/4914/24043 4131/4894/24044 4132/4912/24045 -f 4131/4894/24046 4129/4914/24047 4321/4915/24048 -f 4321/4915/24049 4128/4892/24050 4131/4894/24051 -f 4320/4916/24052 4322/4893/24053 4128/4892/24054 -f 4128/4892/24055 4321/4915/24056 4320/4916/24057 -f 4312/4917/24058 4314/4897/24059 4322/4893/24060 -f 4322/4893/24061 4320/4916/24062 4312/4917/24063 -f 4312/4917/24064 4318/4918/24065 4316/4895/24066 -f 4316/4895/24067 4314/4897/24068 4312/4917/24069 -f 4339/4919/24070 4335/4896/24071 4316/4895/24072 -f 4316/4895/24073 4318/4918/24074 4339/4919/24075 -f 4202/4920/24076 4201/4862/24077 4332/4864/24078 -f 4332/4864/24079 4334/4898/24080 4202/4920/24081 -f 4284/4877/24082 4283/4863/24083 4201/4862/24084 -f 4201/4862/24085 4202/4920/24086 4284/4877/24087 -f 4335/4896/24088 4339/4919/24089 4336/4921/24090 -f 4336/4921/24091 4334/4898/24092 4335/4896/24093 -f 4206/4922/24094 4202/4920/24095 4334/4898/24096 -f 4334/4898/24097 4336/4921/24098 4206/4922/24099 -f 4296/4923/24100 4284/4877/24101 4202/4920/24102 -f 4202/4920/24103 4206/4922/24104 4296/4923/24105 -f 4285/4878/24106 4284/4877/24107 4286/4924/24108 -f 4286/4924/24109 4294/4887/24110 4285/4878/24111 -f 4284/4877/24112 4296/4923/24113 4297/4925/24114 -f 4297/4925/24115 4286/4924/24116 4284/4877/24117 -f 4287/4926/24118 4232/4888/24119 4294/4887/24120 -f 4294/4887/24121 4286/4924/24122 4287/4926/24123 -f 4219/4890/24124 4221/4927/24125 4227/4928/24126 -f 4227/4928/24127 4209/4901/24128 4219/4890/24129 -f 4232/4888/24130 4234/4929/24131 4233/4930/24132 -f 4233/4930/24133 4231/4889/24134 4232/4888/24135 -f 4219/4890/24136 4231/4889/24137 4233/4930/24138 -f 4233/4930/24139 4221/4927/24140 4219/4890/24141 -f 4214/4903/24142 4209/4901/24143 4227/4928/24144 -f 4227/4928/24145 4215/4931/24146 4214/4903/24147 -f 4216/4905/24148 4214/4903/24149 4215/4931/24150 -f 4215/4931/24151 4217/4932/24152 4216/4905/24153 -f 4287/4926/24154 4237/4933/24155 4234/4929/24156 -f 4234/4929/24157 4232/4888/24158 4287/4926/24159 -f 4237/4933/24160 4253/4934/24161 4251/4935/24162 -f 4251/4935/24163 4234/4929/24164 4237/4933/24165 -f 4253/4934/24166 4245/4936/24167 4239/4937/24168 -f 4239/4937/24169 4251/4935/24170 4253/4934/24171 -f 4247/4938/24172 4244/4939/24173 4240/4940/24174 -f 4240/4940/24175 4239/4937/24176 4247/4938/24177 -f 4217/4932/24178 4215/4931/24179 4240/4940/24180 -f 4240/4940/24181 4244/4939/24182 4217/4932/24183 -f 4221/4927/24184 4225/4941/24185 4228/4942/24186 -f 4228/4942/24187 4227/4928/24188 4221/4927/24189 -f 4234/4929/24190 4236/4943/24191 4235/4944/24192 -f 4235/4944/24193 4233/4930/24194 4234/4929/24195 -f 4225/4941/24196 4221/4927/24197 4233/4930/24198 -f 4233/4930/24199 4235/4944/24200 4225/4941/24201 -f 4215/4931/24202 4227/4928/24203 4228/4942/24204 -f 4228/4942/24205 4240/4940/24206 4215/4931/24207 -f 4240/4940/24208 4242/4945/24209 4241/4946/24210 -f 4241/4946/24211 4239/4937/24212 4240/4940/24213 -f 4251/4935/24214 4239/4937/24215 4241/4946/24216 -f 4241/4946/24217 4252/4947/24218 4251/4935/24219 -f 4228/4942/24220 4243/4948/24221 4242/4945/24222 -f 4242/4945/24223 4240/4940/24224 4228/4942/24225 -f 4228/4942/24226 4225/4941/24227 4226/4949/24228 -f 4226/4949/24229 4243/4948/24230 4228/4942/24231 -f 4236/4943/24232 4234/4929/24233 4251/4935/24234 -f 4251/4935/24235 4252/4947/24236 4236/4943/24237 -f 4235/4944/24238 4236/4943/24239 4226/4949/24240 -f 4226/4949/24241 4225/4941/24242 4235/4944/24243 -f 4226/4949/24244 4236/4943/24245 4252/4947/24246 -f 4252/4947/24247 4243/4948/24248 4226/4949/24249 -f 4242/4945/24250 4243/4948/24251 4252/4947/24252 -f 4252/4947/24253 4241/4946/24254 4242/4945/24255 -f 4296/4923/24256 4203/4950/24257 4298/4951/24258 -f 4298/4951/24259 4297/4925/24260 4296/4923/24261 -f 4310/4952/24262 4298/4951/24263 4203/4950/24264 -f 4203/4950/24265 4205/4953/24266 4310/4952/24267 -f 4205/4953/24268 4204/4954/24269 4308/4955/24270 -f 4308/4955/24271 4310/4952/24272 4205/4953/24273 -f 4551/4956/24274 4261/4957/24275 4308/4955/24276 -f 4308/4955/24277 4204/4954/24278 4551/4956/24279 -f 4551/4956/24280 4549/4958/24281 4259/4959/24282 -f 4259/4959/24283 4261/4957/24284 4551/4956/24285 -f 4268/4960/24286 4259/4959/24287 4549/4958/24288 -f 4549/4958/24289 4553/4961/24290 4268/4960/24291 -f 4268/4960/24292 4553/4961/24293 4554/4962/24294 -f 4554/4962/24295 4269/4963/24296 4268/4960/24297 -f 4286/4924/24298 4297/4925/24299 4299/4964/24300 -f 4299/4964/24301 4287/4926/24302 4286/4924/24303 -f 4297/4925/24304 4298/4951/24305 4295/4965/24306 -f 4295/4965/24307 4299/4964/24308 4297/4925/24309 -f 4298/4951/24310 4310/4952/24311 4309/4966/24312 -f 4309/4966/24313 4295/4965/24314 4298/4951/24315 -f 4310/4952/24316 4308/4955/24317 4311/4967/24318 -f 4311/4967/24319 4309/4966/24320 4310/4952/24321 -f 4308/4955/24322 4261/4957/24323 4260/4968/24324 -f 4260/4968/24325 4311/4967/24326 4308/4955/24327 -f 4261/4957/24328 4259/4959/24329 4258/4969/24330 -f 4258/4969/24331 4260/4968/24332 4261/4957/24333 -f 4259/4959/24334 4268/4960/24335 4267/4970/24336 -f 4267/4970/24337 4258/4969/24338 4259/4959/24339 -f 4272/4971/24340 4271/4972/24341 4269/4963/24342 -f 4269/4963/24343 4270/4973/24344 4272/4971/24345 -f 4260/4968/24346 4256/4974/24347 4300/4975/24348 -f 4300/4975/24349 4311/4967/24350 4260/4968/24351 -f 4260/4968/24352 4258/4969/24353 4276/4976/24354 -f 4276/4976/24355 4256/4974/24356 4260/4968/24357 -f 4258/4969/24358 4267/4970/24359 4262/4977/24360 -f 4262/4977/24361 4276/4976/24362 4258/4969/24363 -f 4301/4978/24364 4309/4966/24365 4311/4967/24366 -f 4311/4967/24367 4300/4975/24368 4301/4978/24369 -f 4295/4965/24370 4309/4966/24371 4301/4978/24372 -f 4301/4978/24373 4302/4979/24374 4295/4965/24375 -f 4302/4979/24376 4306/4980/24377 4299/4964/24378 -f 4299/4964/24379 4295/4965/24380 4302/4979/24381 -f 4254/4981/24382 4287/4926/24383 4299/4964/24384 -f 4299/4964/24385 4306/4980/24386 4254/4981/24387 -f 4238/4982/24388 4237/4933/24389 4287/4926/24390 -f 4287/4926/24391 4254/4981/24392 4238/4982/24393 -f 4238/4982/24394 4229/4983/24395 4253/4934/24396 -f 4253/4934/24397 4237/4933/24398 4238/4982/24399 -f 4246/4984/24400 4245/4936/24401 4253/4934/24402 -f 4253/4934/24403 4229/4983/24404 4246/4984/24405 -f 4249/4985/24406 4248/4986/24407 4245/4936/24408 -f 4245/4936/24409 4246/4984/24410 4249/4985/24411 -f 4274/4987/24412 4262/4977/24413 4265/4988/24414 -f 4265/4988/24415 4263/4989/24416 4274/4987/24417 -f 4273/4990/24418 4276/4976/24419 4262/4977/24420 -f 4262/4977/24421 4274/4987/24422 4273/4990/24423 -f 4257/4991/24424 4256/4974/24425 4276/4976/24426 -f 4276/4976/24427 4273/4990/24428 4257/4991/24429 -f 4257/4991/24430 4303/4992/24431 4300/4975/24432 -f 4300/4975/24433 4256/4974/24434 4257/4991/24435 -f 4301/4978/24436 4300/4975/24437 4303/4992/24438 -f 4303/4992/24439 4304/4993/24440 4301/4978/24441 -f 4302/4979/24442 4301/4978/24443 4304/4993/24444 -f 4304/4993/24445 4305/4994/24446 4302/4979/24447 -f 4306/4980/24448 4302/4979/24449 4305/4994/24450 -f 4305/4994/24451 4307/4995/24452 4306/4980/24453 -f 4255/4996/24454 4254/4981/24455 4306/4980/24456 -f 4306/4980/24457 4307/4995/24458 4255/4996/24459 -f 4277/4997/24460 4238/4982/24461 4254/4981/24462 -f 4254/4981/24463 4255/4996/24464 4277/4997/24465 -f 4275/4998/24466 4229/4983/24467 4238/4982/24468 -f 4238/4982/24469 4277/4997/24470 4275/4998/24471 -f 4278/4999/24472 4246/4984/24473 4229/4983/24474 -f 4229/4983/24475 4275/4998/24476 4278/4999/24477 -f 4249/4985/24478 4246/4984/24479 4278/4999/24480 -f 4278/4999/24481 4250/5000/24482 4249/4985/24483 -f 4305/4994/24484 4304/4993/24485 4303/4992/24486 -f 4303/4992/24487 4307/4995/24488 4305/4994/24489 -f 4257/4991/24490 4255/4996/24491 4307/4995/24492 -f 4307/4995/24493 4303/4992/24494 4257/4991/24495 -f 4273/4990/24496 4277/4997/24497 4255/4996/24498 -f 4255/4996/24499 4257/4991/24500 4273/4990/24501 -f 4274/4987/24502 4275/4998/24503 4277/4997/24504 -f 4277/4997/24505 4273/4990/24506 4274/4987/24507 -f 4270/4973/24508 4269/4963/24509 4554/4962/24510 -f 4554/4962/24511 4555/5001/24512 4270/4973/24513 -f 4269/4963/24514 4271/4972/24515 4267/4970/24516 -f 4267/4970/24517 4268/4960/24518 4269/4963/24519 -f 4271/4972/24520 4265/4988/24521 4262/4977/24522 -f 4262/4977/24523 4267/4970/24524 4271/4972/24525 -f 4263/4989/24526 4265/4988/24527 4266/5002/24528 -f 4266/5002/24529 4264/5003/24530 4263/4989/24531 -f 4275/4998/24532 4274/4987/24533 4263/4989/24534 -f 4263/4989/24535 4278/4999/24536 4275/4998/24537 -f 4263/4989/24538 4264/5003/24539 4250/5000/24540 -f 4250/5000/24541 4278/4999/24542 4263/4989/24543 -f 4296/4923/24544 4206/4922/24545 4208/5004/24546 -f 4208/5004/24547 4203/4950/24548 4296/4923/24549 -f 4206/4922/24550 4336/4921/24551 4337/5005/24552 -f 4337/5005/24553 4208/5004/24554 4206/4922/24555 -f 4336/4921/24556 4339/4919/24557 4340/5006/24558 -f 4340/5006/24559 4337/5005/24560 4336/4921/24561 -f 4207/5007/24562 4205/4953/24563 4203/4950/24564 -f 4203/4950/24565 4208/5004/24566 4207/5007/24567 -f 4547/5008/24568 4204/4954/24569 4205/4953/24570 -f 4205/4953/24571 4207/5007/24572 4547/5008/24573 -f 4545/5009/24574 4551/4956/24575 4204/4954/24576 -f 4204/4954/24577 4547/5008/24578 4545/5009/24579 -f 4552/5010/24580 4549/4958/24581 4551/4956/24582 -f 4551/4956/24583 4545/5009/24584 4552/5010/24585 -f 4550/5011/24586 4553/4961/24587 4549/4958/24588 -f 4549/4958/24589 4552/5010/24590 4550/5011/24591 -f 4556/5012/24592 4554/4962/24593 4553/4961/24594 -f 4553/4961/24595 4550/5011/24596 4556/5012/24597 -f 4556/5012/24598 4557/5013/24599 4555/5001/24600 -f 4555/5001/24601 4554/4962/24602 4556/5012/24603 -f 4338/5014/24604 4207/5007/24605 4208/5004/24606 -f 4208/5004/24607 4337/5005/24608 4338/5014/24609 -f 4547/5008/24610 4207/5007/24611 4338/5014/24612 -f 4338/5014/24613 4569/5015/24614 4547/5008/24615 -f 4548/5016/24616 4545/5009/24617 4547/5008/24618 -f 4547/5008/24619 4569/5015/24620 4548/5016/24621 -f 4545/5009/24622 4548/5016/24623 4546/5017/24624 -f 4546/5017/24625 4552/5010/24626 4545/5009/24627 -f 4558/5018/24628 4550/5011/24629 4552/5010/24630 -f 4552/5010/24631 4546/5017/24632 4558/5018/24633 -f 4559/5019/24634 4556/5012/24635 4550/5011/24636 -f 4550/5011/24637 4558/5018/24638 4559/5019/24639 -f 4556/5012/24640 4559/5019/24641 4560/5020/24642 -f 4560/5020/24643 4557/5013/24644 4556/5012/24645 -f 4337/5005/24646 4342/5021/24647 4574/5022/24648 -f 4574/5022/24649 4338/5014/24650 4337/5005/24651 -f 4570/5023/24652 4569/5015/24653 4338/5014/24654 -f 4338/5014/24655 4574/5022/24656 4570/5023/24657 -f 4571/5024/24658 4548/5016/24659 4569/5015/24660 -f 4569/5015/24661 4570/5023/24662 4571/5024/24663 -f 4561/5025/24664 4546/5017/24665 4548/5016/24666 -f 4548/5016/24667 4571/5024/24668 4561/5025/24669 -f 4563/5026/24670 4558/5018/24671 4546/5017/24672 -f 4546/5017/24673 4561/5025/24674 4563/5026/24675 -f 4565/5027/24676 4559/5019/24677 4558/5018/24678 -f 4558/5018/24679 4563/5026/24680 4565/5027/24681 -f 4565/5027/24682 4564/5028/24683 4560/5020/24684 -f 4560/5020/24685 4559/5019/24686 4565/5027/24687 -f 4337/5005/24688 4340/5006/24689 4341/5029/24690 -f 4341/5029/24691 4342/5021/24692 4337/5005/24693 -f 4339/4919/24694 4318/4918/24695 4319/5030/24696 -f 4319/5030/24697 4340/5006/24698 4339/4919/24699 -f 4318/4918/24700 4312/4917/24701 4317/5031/24702 -f 4317/5031/24703 4319/5030/24704 4318/4918/24705 -f 4312/4917/24706 4320/4916/24707 4323/5032/24708 -f 4323/5032/24709 4317/5031/24710 4312/4917/24711 -f 4320/4916/24712 4321/4915/24713 4324/5033/24714 -f 4324/5033/24715 4323/5032/24716 4320/4916/24717 -f 4325/5034/24718 4324/5033/24719 4321/4915/24720 -f 4321/4915/24721 4129/4914/24722 4325/5034/24723 -f 4129/4914/24724 4130/4913/24725 4326/5035/24726 -f 4326/5035/24727 4325/5034/24728 4129/4914/24729 -f 4563/5026/24730 4566/5036/24731 4567/5037/24732 -f 4567/5037/24733 4565/5027/24734 4563/5026/24735 -f 4563/5026/24736 4561/5025/24737 4562/5038/24738 -f 4562/5038/24739 4566/5036/24740 4563/5026/24741 -f 4571/5024/24742 4572/5039/24743 4562/5038/24744 -f 4562/5038/24745 4561/5025/24746 4571/5024/24747 -f 4579/5040/24748 4572/5039/24749 4571/5024/24750 -f 4571/5024/24751 4570/5023/24752 4579/5040/24753 -f 4579/5040/24754 4570/5023/24755 4574/5022/24756 -f 4574/5022/24757 4575/5041/24758 4579/5040/24759 -f 4574/5022/24760 4342/5021/24761 4343/5042/24762 -f 4343/5042/24763 4575/5041/24764 4574/5022/24765 -f 4342/5021/24766 4341/5029/24767 4679/5043/24768 -f 4679/5043/24769 4343/5042/24770 4342/5021/24771 -f 4679/5043/24772 4680/5044/24773 4682/5045/24774 -f 4682/5045/24775 4343/5042/24776 4679/5043/24777 -f 4682/5045/24778 4576/5046/24779 4575/5041/24780 -f 4575/5041/24781 4343/5042/24782 4682/5045/24783 -f 4575/5041/24784 4576/5046/24785 4581/5047/24786 -f 4581/5047/24787 4579/5040/24788 4575/5041/24789 -f 4579/5040/24790 4581/5047/24791 4573/5048/24792 -f 4573/5048/24793 4572/5039/24794 4579/5040/24795 -f 4562/5038/24796 4572/5039/24797 4573/5048/24798 -f 4573/5048/24799 4597/5049/24800 4562/5038/24801 -f 4598/5050/24802 4566/5036/24803 4562/5038/24804 -f 4562/5038/24805 4597/5049/24806 4598/5050/24807 -f 4604/5051/24808 4567/5037/24809 4566/5036/24810 -f 4566/5036/24811 4598/5050/24812 4604/5051/24813 -f 4605/5052/24814 4568/5053/24815 4567/5037/24816 -f 4567/5037/24817 4604/5051/24818 4605/5052/24819 -f 4681/5270/24820 4684/5273/24821 4682/5274/24822 -f 4682/5274/24823 4680/5275/24824 4681/5270/24825 -f 4582/5277/24826 4581/5278/24827 4576/5279/24828 -f 4576/5279/24829 4577/5280/24830 4582/5277/24831 -f 4583/5281/24832 4573/5282/24833 4581/5278/24834 -f 4581/5278/24835 4582/5277/24836 4583/5281/24837 -f 4573/5282/24838 4583/5281/24839 4599/5283/24840 -f 4599/5283/24841 4597/5284/24842 4573/5282/24843 -f 4601/5285/24844 4598/5286/24845 4597/5284/24846 -f 4597/5284/24847 4599/5283/24848 4601/5285/24849 -f 4607/5287/24850 4604/5288/24851 4598/5286/24852 -f 4598/5286/24853 4601/5285/24854 4607/5287/24855 -f 4606/5289/24856 4605/5290/24857 4604/5288/24858 -f 4604/5288/24859 4607/5287/24860 4606/5289/24861 -f 4607/5287/24862 4614/5291/24863 4615/5292/24864 -f 4615/5292/24865 4606/5289/24866 4607/5287/24867 -f 4607/5287/24868 4601/5285/24869 4603/5293/24870 -f 4603/5293/24871 4614/5291/24872 4607/5287/24873 -f 4601/5285/24874 4599/5283/24875 4600/5294/24876 -f 4600/5294/24877 4603/5293/24878 4601/5285/24879 -f 4584/5295/24880 4600/5294/24881 4599/5283/24882 -f 4599/5283/24883 4583/5281/24884 4584/5295/24885 -f 4582/5277/24886 4580/5296/24887 4584/5295/24888 -f 4584/5295/24889 4583/5281/24890 4582/5277/24891 -f 4578/5297/24892 4580/5296/24893 4582/5277/24894 -f 4582/5277/24895 4577/5280/24896 4578/5297/24897 -f 4577/5280/24898 4576/5279/24899 4683/5298/24900 -f 4683/5298/24901 4578/5297/24902 4577/5280/24903 -f 4682/5274/24904 4684/5273/24905 4683/5298/24906 -f 4683/5298/24907 4576/5279/24908 4682/5274/24909 -f 4678/5299/24910 4688/5300/24911 4686/5301/24912 -f 4686/5301/24913 4681/5270/24914 4678/5299/24915 -f 4711/5302/24916 4683/5298/24917 4684/5273/24918 -f 4684/5273/24919 4685/5303/24920 4711/5302/24921 -f 4712/5304/24922 4578/5297/24923 4683/5298/24924 -f 4683/5298/24925 4711/5302/24926 4712/5304/24927 -f 4586/5305/24928 4580/5296/24929 4578/5297/24930 -f 4578/5297/24931 4712/5304/24932 4586/5305/24933 -f 4585/5306/24934 4584/5295/24935 4580/5296/24936 -f 4580/5296/24937 4586/5305/24938 4585/5306/24939 -f 4590/5307/24940 4600/5294/24941 4584/5295/24942 -f 4584/5295/24943 4585/5306/24944 4590/5307/24945 -f 4602/5308/24946 4603/5293/24947 4600/5294/24948 -f 4600/5294/24949 4590/5307/24950 4602/5308/24951 -f 4609/5309/24952 4614/5291/24953 4603/5293/24954 -f 4603/5293/24955 4602/5308/24956 4609/5309/24957 -f 4612/5310/24958 4613/5311/24959 4615/5292/24960 -f 4615/5292/24961 4614/5291/24962 4612/5310/24963 -f 4611/5312/24964 4612/5310/24965 4614/5291/24966 -f 4614/5291/24967 4609/5309/24968 4611/5312/24969 -f 4610/5332/24970 4611/5312/24971 4609/5309/24972 -f 4609/5309/24973 4608/5333/24974 4610/5332/24975 -f 4592/5334/24976 4608/5333/24977 4609/5309/24978 -f 4609/5309/24979 4602/5308/24980 4592/5334/24981 -f 4591/5341/24982 4592/5334/24983 4602/5308/24984 -f 4602/5308/24985 4590/5307/24986 4591/5341/24987 -f 4593/5342/24988 4591/5341/24989 4590/5307/24990 -f 4590/5307/24991 4585/5306/24992 4593/5342/24993 -f 4716/5343/24994 4593/5342/24995 4585/5306/24996 -f 4585/5306/24997 4586/5305/24998 4716/5343/24999 -f 4586/5305/25000 4712/5304/25001 4713/5344/25002 -f 4713/5344/25003 4716/5343/25004 4586/5305/25005 -f 4714/5345/25006 4713/5344/25007 4712/5304/25008 -f 4712/5304/25009 4711/5302/25010 4714/5345/25011 -f 4711/5302/25012 4685/5303/25013 4687/5347/25014 -f 4687/5347/25015 4714/5345/25016 4711/5302/25017 -f 4681/5270/25018 4686/5301/25019 4685/5303/25020 -f 4685/5303/25021 4684/5273/25022 4681/5270/25023 -f 4685/5303/25024 4686/5301/25025 4688/5300/25026 -f 4688/5300/25027 4687/5347/25028 4685/5303/25029 -f 4678/5299/25030 4689/5348/25031 4692/5349/25032 -f 4692/5349/25033 4688/5300/25034 4678/5299/25035 -f 4689/5348/25036 4690/5350/25037 4693/5351/25038 -f 4693/5351/25039 4692/5349/25040 4689/5348/25041 -f 4588/5352/25042 4610/5332/25043 4608/5333/25044 -f 4608/5333/25045 4587/5353/25046 4588/5352/25047 -f 4592/5334/25048 4596/5354/25049 4587/5353/25050 -f 4587/5353/25051 4608/5333/25052 4592/5334/25053 -f 4592/5334/25054 4591/5341/25055 4594/5355/25056 -f 4594/5355/25057 4596/5354/25058 4592/5334/25059 -f 4593/5342/25060 4724/5356/25061 4594/5355/25062 -f 4594/5355/25063 4591/5341/25064 4593/5342/25065 -f 4593/5342/25066 4716/5343/25067 4715/5357/25068 -f 4715/5357/25069 4724/5356/25070 4593/5342/25071 -f 4716/5343/25072 4713/5344/25073 4719/5358/25074 -f 4719/5358/25075 4715/5357/25076 4716/5343/25077 -f 4713/5344/25078 4714/5345/25079 4717/5359/25080 -f 4717/5359/25081 4719/5358/25082 4713/5344/25083 -f 4714/5345/25084 4687/5347/25085 4718/5360/25086 -f 4718/5360/25087 4717/5359/25088 4714/5345/25089 -f 4687/5347/25090 4688/5300/25091 4691/5361/25092 -f 4691/5361/25093 4718/5360/25094 4687/5347/25095 -f 4688/5300/25096 4692/5349/25097 4694/5362/25098 -f 4694/5362/25099 4691/5361/25100 4688/5300/25101 -f 4695/5363/25102 4694/5362/25103 4692/5349/25104 -f 4692/5349/25105 4693/5351/25106 4695/5363/25107 -f 4596/5354/25108 4595/5364/25109 4588/5352/25110 -f 4588/5352/25111 4587/5353/25112 4596/5354/25113 -f 4596/5354/25114 4594/5355/25115 4589/5365/25116 -f 4589/5365/25117 4595/5364/25118 4596/5354/25119 -f 4594/5355/25120 4724/5356/25121 4722/5366/25122 -f 4722/5366/25123 4589/5365/25124 4594/5355/25125 -f 4724/5356/25126 4715/5357/25127 4723/5367/25128 -f 4723/5367/25129 4722/5366/25130 4724/5356/25131 -f 4721/5368/25132 4723/5367/25133 4715/5357/25134 -f 4715/5357/25135 4719/5358/25136 4721/5368/25137 -f 4717/5359/25138 4720/5369/25139 4721/5368/25140 -f 4721/5368/25141 4719/5358/25142 4717/5359/25143 -f 4717/5359/25144 4718/5360/25145 4725/5370/25146 -f 4725/5370/25147 4720/5369/25148 4717/5359/25149 -f 4726/5371/25150 4725/5370/25151 4718/5360/25152 -f 4718/5360/25153 4691/5361/25154 4726/5371/25155 -f 4691/5361/25156 4694/5362/25157 4727/5372/25158 -f 4727/5372/25159 4726/5371/25160 4691/5361/25161 -f 4694/5362/25162 4695/5363/25163 4728/5373/25164 -f 4728/5373/25165 4727/5372/25166 4694/5362/25167 -f 4143/4860/25168 4163/5054/25169 4138/5055/25170 -f 4138/5055/25171 4137/4855/25172 4143/4860/25173 -f 4189/5056/25174 4182/4849/25175 4137/4855/25176 -f 4137/4855/25177 4138/5055/25178 4189/5056/25179 -f 4193/4843/25180 4182/4849/25181 4189/5056/25182 -f 4189/5056/25183 4194/5057/25184 4193/4843/25185 -f 4192/4840/25186 4193/4843/25187 4194/5057/25188 -f 4194/5057/25189 4195/5058/25190 4192/4840/25191 -f 4191/4837/25192 4192/4840/25193 4195/5058/25194 -f 4195/5058/25195 4196/5059/25196 4191/4837/25197 -f 4169/4833/25198 4191/4837/25199 4196/5059/25200 -f 4196/5059/25201 4170/5060/25202 4169/4833/25203 -f 4166/4832/25204 4169/4833/25205 4170/5060/25206 -f 4170/5060/25207 4167/5061/25208 4166/4832/25209 -f 4147/5062/25210 4146/4834/25211 4166/4832/25212 -f 4166/4832/25213 4167/5061/25214 4147/5062/25215 -f 4154/4835/25216 4146/4834/25217 4147/5062/25218 -f 4147/5062/25219 4157/5063/25220 4154/4835/25221 -f 4155/4836/25222 4154/4835/25223 4157/5063/25224 -f 4157/5063/25225 4158/5064/25226 4155/4836/25227 -f 4156/4845/25228 4155/4836/25229 4158/5064/25230 -f 4158/5064/25231 4159/5065/25232 4156/4845/25233 -f 4150/4851/25234 4156/4845/25235 4159/5065/25236 -f 4159/5065/25237 4151/5066/25238 4150/4851/25239 -f 4142/4857/25240 4150/4851/25241 4151/5066/25242 -f 4151/5066/25243 4144/5067/25244 4142/4857/25245 -f 4142/4857/25246 4144/5067/25247 4163/5054/25248 -f 4163/5054/25249 4143/4860/25250 4142/4857/25251 -f 4163/5054/25252 4164/5068/25253 4165/5069/25254 -f 4165/5069/25255 4138/5055/25256 4163/5054/25257 -f 4189/5056/25258 4138/5055/25259 4165/5069/25260 -f 4165/5069/25261 4190/5070/25262 4189/5056/25263 -f 4194/5057/25264 4189/5056/25265 4190/5070/25266 -f 4190/5070/25267 4197/5071/25268 4194/5057/25269 -f 4195/5058/25270 4194/5057/25271 4197/5071/25272 -f 4197/5071/25273 4198/5072/25274 4195/5058/25275 -f 4196/5059/25276 4195/5058/25277 4198/5072/25278 -f 4198/5072/25279 4199/5073/25280 4196/5059/25281 -f 4170/5060/25282 4196/5059/25283 4199/5073/25284 -f 4199/5073/25285 4171/5074/25286 4170/5060/25287 -f 4168/5075/25288 4167/5061/25289 4170/5060/25290 -f 4170/5060/25291 4171/5074/25292 4168/5075/25293 -f 4147/5062/25294 4167/5061/25295 4168/5075/25296 -f 4168/5075/25297 4148/5076/25298 4147/5062/25299 -f 4157/5063/25300 4147/5062/25301 4148/5076/25302 -f 4148/5076/25303 4160/5077/25304 4157/5063/25305 -f 4158/5064/25306 4157/5063/25307 4160/5077/25308 -f 4160/5077/25309 4161/5078/25310 4158/5064/25311 -f 4159/5065/25312 4158/5064/25313 4161/5078/25314 -f 4161/5078/25315 4162/5079/25316 4159/5065/25317 -f 4151/5066/25318 4159/5065/25319 4162/5079/25320 -f 4162/5079/25321 4152/5080/25322 4151/5066/25323 -f 4145/5081/25324 4144/5067/25325 4151/5066/25326 -f 4151/5066/25327 4152/5080/25328 4145/5081/25329 -f 4164/5068/25330 4163/5054/25331 4144/5067/25332 -f 4144/5067/25333 4145/5081/25334 4164/5068/25335 -f 4222/4875/25336 4291/4874/25337 4292/4883/25338 -f 4292/4883/25339 4223/4884/25340 4222/4875/25341 -f 4180/4839/25342 4222/4875/25343 4126/4881/25344 -f 4126/4881/25345 4187/4873/25346 4180/4839/25347 -f 4245/4936/25348 4248/4986/25349 4247/4938/25350 -f 4247/4938/25351 4239/4937/25352 4245/4936/25353 -f 4272/4971/25354 4266/5002/25355 4265/4988/25356 -f 4265/4988/25357 4271/4972/25358 4272/4971/25359 -f 4568/5053/25360 4564/5028/25361 4565/5027/25362 -f 4565/5027/25363 4567/5037/25364 4568/5053/25365 -f 4487/5082/25366 4486/5083/25367 4485/5084/25368 -f 4485/5084/25369 4482/5085/25370 4487/5082/25371 -f 4532/5086/25372 4411/5087/25373 4486/5083/25374 -f 4486/5083/25375 4487/5082/25376 4532/5086/25377 -f 4411/5087/25378 4532/5086/25379 4522/5088/25380 -f 4522/5088/25381 4523/5089/25382 4411/5087/25383 -f 4474/5090/25384 4475/5091/25385 4476/5092/25386 -f 4476/5092/25387 4367/5093/25388 4474/5090/25389 -f 4394/5094/25390 4381/5095/25391 4476/5092/25392 -f 4476/5092/25393 4485/5084/25394 4394/5094/25395 -f 4397/5096/25396 4394/5094/25397 4485/5084/25398 -f 4485/5084/25399 4486/5083/25400 4397/5096/25401 -f 4412/5097/25402 4397/5096/25403 4486/5083/25404 -f 4486/5083/25405 4411/5087/25406 4412/5097/25407 -f 4413/5098/25408 4412/5097/25409 4411/5087/25410 -f 4411/5087/25411 4523/5089/25412 4413/5098/25413 -f 4476/5092/25414 4381/5095/25415 4372/5099/25416 -f 4372/5099/25417 4367/5093/25418 4476/5092/25419 -f 4361/5100/25420 4358/5101/25421 4474/5090/25422 -f 4474/5090/25423 4367/5093/25424 4361/5100/25425 -f 4373/5102/25426 4361/5100/25427 4367/5093/25428 -f 4367/5093/25429 4372/5099/25430 4373/5102/25431 -f 4368/5103/25432 4359/5104/25433 4358/5101/25434 -f 4358/5101/25435 4361/5100/25436 4368/5103/25437 -f 4374/5105/25438 4368/5103/25439 4361/5100/25440 -f 4361/5100/25441 4373/5102/25442 4374/5105/25443 -f 4524/5106/25444 4414/5107/25445 4413/5098/25446 -f 4413/5098/25447 4523/5089/25448 4524/5106/25449 -f 4525/5108/25450 4524/5106/25451 4523/5089/25452 -f 4523/5089/25453 4522/5088/25454 4525/5108/25455 -f 4362/5109/25456 4360/5110/25457 4359/5104/25458 -f 4359/5104/25459 4368/5103/25460 4362/5109/25461 -f 4363/5111/25462 4362/5109/25463 4368/5103/25464 -f 4368/5103/25465 4374/5105/25466 4363/5111/25467 -f 4409/5112/25468 4410/5113/25469 4414/5107/25470 -f 4414/5107/25471 4524/5106/25472 4409/5112/25473 -f 4521/5114/25474 4409/5112/25475 4524/5106/25476 -f 4524/5106/25477 4525/5108/25478 4521/5114/25479 -f 4364/5115/25480 4355/5116/25481 4360/5110/25482 -f 4360/5110/25483 4362/5109/25484 4364/5115/25485 -f 4365/5117/25486 4364/5115/25487 4362/5109/25488 -f 4362/5109/25489 4363/5111/25490 4365/5117/25491 -f 4408/5118/25492 4390/5119/25493 4410/5113/25494 -f 4410/5113/25495 4409/5112/25496 4408/5118/25497 -f 4386/5120/25498 4408/5118/25499 4409/5112/25500 -f 4409/5112/25501 4521/5114/25502 4386/5120/25503 -f 4384/5121/25504 4391/5122/25505 4390/5119/25506 -f 4390/5119/25507 4408/5118/25508 4384/5121/25509 -f 4385/5123/25510 4384/5121/25511 4408/5118/25512 -f 4408/5118/25513 4386/5120/25514 4385/5123/25515 -f 4364/5115/25516 4365/5117/25517 4391/5122/25518 -f 4391/5122/25519 4384/5121/25520 4364/5115/25521 -f 4355/5116/25522 4364/5115/25523 4384/5121/25524 -f 4384/5121/25525 4385/5123/25526 4355/5116/25527 -f 4475/5091/25528 4482/5085/25529 4485/5084/25530 -f 4485/5084/25531 4476/5092/25532 4475/5091/25533 -f 4487/5082/25534 4482/5085/25535 4483/5124/25536 -f 4483/5124/25537 4488/5125/25538 4487/5082/25539 -f 4533/5126/25540 4532/5086/25541 4487/5082/25542 -f 4487/5082/25543 4488/5125/25544 4533/5126/25545 -f 4534/5127/25546 4522/5088/25547 4532/5086/25548 -f 4532/5086/25549 4533/5126/25550 4534/5127/25551 -f 4527/5128/25552 4525/5108/25553 4522/5088/25554 -f 4522/5088/25555 4534/5127/25556 4527/5128/25557 -f 4525/5108/25558 4527/5128/25559 4520/5129/25560 -f 4520/5129/25561 4521/5114/25562 4525/5108/25563 -f 4521/5114/25564 4520/5129/25565 4387/5130/25566 -f 4387/5130/25567 4386/5120/25568 4521/5114/25569 -f 4386/5120/25570 4387/5130/25571 4349/5131/25572 -f 4349/5131/25573 4385/5123/25574 4386/5120/25575 -f 4354/5132/25576 4355/5116/25577 4385/5123/25578 -f 4385/5123/25579 4349/5131/25580 4354/5132/25581 -f 4353/5133/25582 4360/5110/25583 4355/5116/25584 -f 4355/5116/25585 4354/5132/25586 4353/5133/25587 -f 4360/5110/25588 4353/5133/25589 4352/5134/25590 -f 4352/5134/25591 4359/5104/25592 4360/5110/25593 -f 4359/5104/25594 4352/5134/25595 4356/5135/25596 -f 4356/5135/25597 4358/5101/25598 4359/5104/25599 -f 4474/5090/25600 4358/5101/25601 4423/5136/25602 -f 4423/5136/25603 4472/5137/25604 4474/5090/25605 -f 4474/5090/25606 4472/5137/25607 4477/5138/25608 -f 4477/5138/25609 4475/5091/25610 4474/5090/25611 -f 4477/5138/25612 4483/5124/25613 4482/5085/25614 -f 4482/5085/25615 4475/5091/25616 4477/5138/25617 -f 4483/5124/25618 4477/5138/25619 4479/5139/25620 -f 4479/5139/25621 4484/5140/25622 4483/5124/25623 -f 4356/5135/25624 4352/5134/25625 4176/5141/25626 -f 4176/5141/25627 4357/5142/25628 4356/5135/25629 -f 4346/5143/25630 4356/5135/25631 4357/5142/25632 -f 4357/5142/25633 4345/5144/25634 4346/5143/25635 -f 4477/5138/25636 4472/5137/25637 4473/5145/25638 -f 4473/5145/25639 4479/5139/25640 4477/5138/25641 -f 4427/5146/25642 4428/5147/25643 4445/5148/25644 -f 4445/5148/25645 4473/5145/25646 4427/5146/25647 -f 4473/5145/25648 4445/5148/25649 4478/5149/25650 -f 4478/5149/25651 4479/5139/25652 4473/5145/25653 -f 4478/5149/25654 4445/5148/25655 4446/5150/25656 -f 4446/5150/25657 4447/5151/25658 4478/5149/25659 -f 4446/5150/25660 4445/5148/25661 4428/5147/25662 -f 4428/5147/25663 4426/5152/25664 4446/5150/25665 -f 4351/5153/25666 4176/5141/25667 4352/5134/25668 -f 4352/5134/25669 4353/5133/25670 4351/5153/25671 -f 4350/5154/25672 4349/5131/25673 4387/5130/25674 -f 4387/5130/25675 4517/5155/25676 4350/5154/25677 -f 4350/5154/25678 4348/5156/25679 4354/5132/25680 -f 4354/5132/25681 4349/5131/25682 4350/5154/25683 -f 4348/5156/25684 4351/5153/25685 4353/5133/25686 -f 4353/5133/25687 4354/5132/25688 4348/5156/25689 -f 4534/5127/25690 4535/5157/25691 4528/5158/25692 -f 4528/5158/25693 4527/5128/25694 4534/5127/25695 -f 4528/5158/25696 4526/5159/25697 4520/5129/25698 -f 4520/5129/25699 4527/5128/25700 4528/5158/25701 -f 4520/5129/25702 4526/5159/25703 4517/5155/25704 -f 4517/5155/25705 4387/5130/25706 4520/5129/25707 -f 4534/5127/25708 4533/5126/25709 4536/5160/25710 -f 4536/5160/25711 4535/5157/25712 4534/5127/25713 -f 4420/5161/25714 4346/5143/25715 4345/5144/25716 -f 4345/5144/25717 4415/5162/25718 4420/5161/25719 -f 4426/5152/25720 4428/5147/25721 4421/5163/25722 -f 4421/5163/25723 4417/5164/25724 4426/5152/25725 -f 4420/5161/25726 4415/5162/25727 4417/5164/25728 -f 4417/5164/25729 4421/5163/25730 4420/5161/25731 -f 4417/5164/25732 4415/5162/25733 4416/5165/25734 -f 4416/5165/25735 4418/5166/25736 4417/5164/25737 -f 4416/5165/25738 4210/4906/25739 4216/4905/25740 -f 4216/4905/25741 4418/5166/25742 4416/5165/25743 -f 4212/4907/25744 4210/4906/25745 4416/5165/25746 -f 4416/5165/25747 4415/5162/25748 4212/4907/25749 -f 4124/4908/25750 4212/4907/25751 4415/5162/25752 -f 4415/5162/25753 4345/5144/25754 4124/4908/25755 -f 4427/5146/25756 4420/5161/25757 4421/5163/25758 -f 4421/5163/25759 4428/5147/25760 4427/5146/25761 -f 4420/5161/25762 4427/5146/25763 4423/5136/25764 -f 4423/5136/25765 4346/5143/25766 4420/5161/25767 -f 4125/4909/25768 4124/4908/25769 4345/5144/25770 -f 4345/5144/25771 4357/5142/25772 4125/4909/25773 -f 4174/4910/25774 4125/4909/25775 4357/5142/25776 -f 4357/5142/25777 4176/5141/25778 4174/4910/25779 -f 4178/4911/25780 4174/4910/25781 4176/5141/25782 -f 4176/5141/25783 4351/5153/25784 4178/4911/25785 -f 4351/5153/25786 4348/5156/25787 4132/4912/25788 -f 4132/4912/25789 4178/4911/25790 4351/5153/25791 -f 4132/4912/25792 4348/5156/25793 4347/5167/25794 -f 4347/5167/25795 4130/4913/25796 4132/4912/25797 -f 4348/5156/25798 4350/5154/25799 4514/5168/25800 -f 4514/5168/25801 4347/5167/25802 4348/5156/25803 -f 4516/5169/25804 4514/5168/25805 4350/5154/25806 -f 4350/5154/25807 4517/5155/25808 4516/5169/25809 -f 4519/5170/25810 4516/5169/25811 4517/5155/25812 -f 4517/5155/25813 4526/5159/25814 4519/5170/25815 -f 4519/5170/25816 4526/5159/25817 4528/5158/25818 -f 4528/5158/25819 4530/5171/25820 4519/5170/25821 -f 4540/5172/25822 4530/5171/25823 4528/5158/25824 -f 4528/5158/25825 4535/5157/25826 4540/5172/25827 -f 4489/5173/25828 4536/5160/25829 4533/5126/25830 -f 4533/5126/25831 4488/5125/25832 4489/5173/25833 -f 4484/5140/25834 4489/5173/25835 4488/5125/25836 -f 4488/5125/25837 4483/5124/25838 4484/5140/25839 -f 4535/5157/25840 4536/5160/25841 4537/5174/25842 -f 4537/5174/25843 4540/5172/25844 4535/5157/25845 -f 4510/5175/25846 4537/5174/25847 4536/5160/25848 -f 4536/5160/25849 4489/5173/25850 4510/5175/25851 -f 4502/5176/25852 4510/5175/25853 4489/5173/25854 -f 4489/5173/25855 4484/5140/25856 4502/5176/25857 -f 4479/5139/25858 4478/5149/25859 4480/5177/25860 -f 4480/5177/25861 4484/5140/25862 4479/5139/25863 -f 4484/5140/25864 4480/5177/25865 4500/5178/25866 -f 4500/5178/25867 4502/5176/25868 4484/5140/25869 -f 4481/5179/25870 4480/5177/25871 4478/5149/25872 -f 4478/5149/25873 4447/5151/25874 4481/5179/25875 -f 4426/5152/25876 4417/5164/25877 4434/5180/25878 -f 4434/5180/25879 4422/5181/25880 4426/5152/25881 -f 4447/5151/25882 4446/5150/25883 4448/5182/25884 -f 4448/5182/25885 4441/5183/25886 4447/5151/25887 -f 4426/5152/25888 4422/5181/25889 4448/5182/25890 -f 4448/5182/25891 4446/5150/25892 4426/5152/25893 -f 4418/5166/25894 4419/5184/25895 4434/5180/25896 -f 4434/5180/25897 4417/5164/25898 4418/5166/25899 -f 4216/4905/25900 4217/4932/25901 4419/5184/25902 -f 4419/5184/25903 4418/5166/25904 4216/4905/25905 -f 4481/5179/25906 4447/5151/25907 4441/5183/25908 -f 4441/5183/25909 4449/5185/25910 4481/5179/25911 -f 4449/5185/25912 4441/5183/25913 4439/5186/25914 -f 4439/5186/25915 4444/5187/25916 4449/5185/25917 -f 4444/5187/25918 4439/5186/25919 4429/5188/25920 -f 4429/5188/25921 4436/5189/25922 4444/5187/25923 -f 4247/4938/25924 4429/5188/25925 4430/5190/25926 -f 4430/5190/25927 4244/4939/25928 4247/4938/25929 -f 4217/4932/25930 4244/4939/25931 4430/5190/25932 -f 4430/5190/25933 4419/5184/25934 4217/4932/25935 -f 4422/5181/25936 4434/5180/25937 4435/5191/25938 -f 4435/5191/25939 4424/5192/25940 4422/5181/25941 -f 4441/5183/25942 4448/5182/25943 4442/5193/25944 -f 4442/5193/25945 4443/5194/25946 4441/5183/25947 -f 4424/5192/25948 4442/5193/25949 4448/5182/25950 -f 4448/5182/25951 4422/5181/25952 4424/5192/25953 -f 4419/5184/25954 4430/5190/25955 4435/5191/25956 -f 4435/5191/25957 4434/5180/25958 4419/5184/25959 -f 4430/5190/25960 4429/5188/25961 4431/5195/25962 -f 4431/5195/25963 4432/5196/25964 4430/5190/25965 -f 4439/5186/25966 4440/5197/25967 4431/5195/25968 -f 4431/5195/25969 4429/5188/25970 4439/5186/25971 -f 4435/5191/25972 4430/5190/25973 4432/5196/25974 -f 4432/5196/25975 4433/5198/25976 4435/5191/25977 -f 4435/5191/25978 4433/5198/25979 4425/5199/25980 -f 4425/5199/25981 4424/5192/25982 4435/5191/25983 -f 4443/5194/25984 4440/5197/25985 4439/5186/25986 -f 4439/5186/25987 4441/5183/25988 4443/5194/25989 -f 4442/5193/25990 4424/5192/25991 4425/5199/25992 -f 4425/5199/25993 4443/5194/25994 4442/5193/25995 -f 4425/5199/25996 4433/5198/25997 4440/5197/25998 -f 4440/5197/25999 4443/5194/26000 4425/5199/26001 -f 4432/5196/26002 4431/5195/26003 4440/5197/26004 -f 4440/5197/26005 4433/5198/26006 4432/5196/26007 -f 4502/5176/26008 4500/5178/26009 4501/5200/26010 -f 4501/5200/26011 4503/5201/26012 4502/5176/26013 -f 4507/5202/26014 4509/5203/26015 4503/5201/26016 -f 4503/5201/26017 4501/5200/26018 4507/5202/26019 -f 4509/5203/26020 4507/5202/26021 4505/5204/26022 -f 4505/5204/26023 4508/5205/26024 4509/5203/26025 -f 4621/5206/26026 4508/5205/26027 4505/5204/26028 -f 4505/5204/26029 4471/5207/26030 4621/5206/26031 -f 4621/5206/26032 4471/5207/26033 4469/5208/26034 -f 4469/5208/26035 4620/5209/26036 4621/5206/26037 -f 4457/5210/26038 4617/5211/26039 4620/5209/26040 -f 4620/5209/26041 4469/5208/26042 4457/5210/26043 -f 4457/5210/26044 4454/5212/26045 4616/5213/26046 -f 4616/5213/26047 4617/5211/26048 4457/5210/26049 -f 4480/5177/26050 4481/5179/26051 4492/5214/26052 -f 4492/5214/26053 4500/5178/26054 4480/5177/26055 -f 4500/5178/26056 4492/5214/26057 4499/5215/26058 -f 4499/5215/26059 4501/5200/26060 4500/5178/26061 -f 4501/5200/26062 4499/5215/26063 4506/5216/26064 -f 4506/5216/26065 4507/5202/26066 4501/5200/26067 -f 4507/5202/26068 4506/5216/26069 4504/5217/26070 -f 4504/5217/26071 4505/5204/26072 4507/5202/26073 -f 4505/5204/26074 4504/5217/26075 4470/5218/26076 -f 4470/5218/26077 4471/5207/26078 4505/5204/26079 -f 4471/5207/26080 4470/5218/26081 4468/5219/26082 -f 4468/5219/26083 4469/5208/26084 4471/5207/26085 -f 4469/5208/26086 4468/5219/26087 4456/5220/26088 -f 4456/5220/26089 4457/5210/26090 4469/5208/26091 -f 4272/4971/26092 4270/4973/26093 4454/5212/26094 -f 4454/5212/26095 4455/5221/26096 4272/4971/26097 -f 4470/5218/26098 4504/5217/26099 4493/5222/26100 -f 4493/5222/26101 4466/5223/26102 4470/5218/26103 -f 4470/5218/26104 4466/5223/26105 4462/5224/26106 -f 4462/5224/26107 4468/5219/26108 4470/5218/26109 -f 4468/5219/26110 4462/5224/26111 4453/5225/26112 -f 4453/5225/26113 4456/5220/26114 4468/5219/26115 -f 4494/5226/26116 4493/5222/26117 4504/5217/26118 -f 4504/5217/26119 4506/5216/26120 4494/5226/26121 -f 4499/5215/26122 4495/5227/26123 4494/5226/26124 -f 4494/5226/26125 4506/5216/26126 4499/5215/26127 -f 4495/5227/26128 4499/5215/26129 4492/5214/26130 -f 4492/5214/26131 4490/5228/26132 4495/5227/26133 -f 4464/5229/26134 4490/5228/26135 4492/5214/26136 -f 4492/5214/26137 4481/5179/26138 4464/5229/26139 -f 4450/5230/26140 4464/5229/26141 4481/5179/26142 -f 4481/5179/26143 4449/5185/26144 4450/5230/26145 -f 4450/5230/26146 4449/5185/26147 4444/5187/26148 -f 4444/5187/26149 4438/5231/26150 4450/5230/26151 -f 4437/5232/26152 4438/5231/26153 4444/5187/26154 -f 4444/5187/26155 4436/5189/26156 4437/5232/26157 -f 4249/4985/26158 4437/5232/26159 4436/5189/26160 -f 4436/5189/26161 4248/4986/26162 4249/4985/26163 -f 4459/5233/26164 4451/5234/26165 4452/5235/26166 -f 4452/5235/26167 4453/5225/26168 4459/5233/26169 -f 4461/5236/26170 4459/5233/26171 4453/5225/26172 -f 4453/5225/26173 4462/5224/26174 4461/5236/26175 -f 4467/5237/26176 4461/5236/26177 4462/5224/26178 -f 4462/5224/26179 4466/5223/26180 4467/5237/26181 -f 4467/5237/26182 4466/5223/26183 4493/5222/26184 -f 4493/5222/26185 4496/5238/26186 4467/5237/26187 -f 4494/5226/26188 4497/5239/26189 4496/5238/26190 -f 4496/5238/26191 4493/5222/26192 4494/5226/26193 -f 4495/5227/26194 4498/5240/26195 4497/5239/26196 -f 4497/5239/26197 4494/5226/26198 4495/5227/26199 -f 4490/5228/26200 4491/5241/26201 4498/5240/26202 -f 4498/5240/26203 4495/5227/26204 4490/5228/26205 -f 4465/5242/26206 4491/5241/26207 4490/5228/26208 -f 4490/5228/26209 4464/5229/26210 4465/5242/26211 -f 4463/5243/26212 4465/5242/26213 4464/5229/26214 -f 4464/5229/26215 4450/5230/26216 4463/5243/26217 -f 4460/5244/26218 4463/5243/26219 4450/5230/26220 -f 4450/5230/26221 4438/5231/26222 4460/5244/26223 -f 4458/5245/26224 4460/5244/26225 4438/5231/26226 -f 4438/5231/26227 4437/5232/26228 4458/5245/26229 -f 4249/4985/26230 4250/5000/26231 4458/5245/26232 -f 4458/5245/26233 4437/5232/26234 4249/4985/26235 -f 4498/5240/26236 4491/5241/26237 4496/5238/26238 -f 4496/5238/26239 4497/5239/26240 4498/5240/26241 -f 4467/5237/26242 4496/5238/26243 4491/5241/26244 -f 4491/5241/26245 4465/5242/26246 4467/5237/26247 -f 4461/5236/26248 4467/5237/26249 4465/5242/26250 -f 4465/5242/26251 4463/5243/26252 4461/5236/26253 -f 4459/5233/26254 4461/5236/26255 4463/5243/26256 -f 4463/5243/26257 4460/5244/26258 4459/5233/26259 -f 4270/4973/26260 4555/5001/26261 4616/5213/26262 -f 4616/5213/26263 4454/5212/26264 4270/4973/26265 -f 4454/5212/26266 4457/5210/26267 4456/5220/26268 -f 4456/5220/26269 4455/5221/26270 4454/5212/26271 -f 4455/5221/26272 4456/5220/26273 4453/5225/26274 -f 4453/5225/26275 4452/5235/26276 4455/5221/26277 -f 4451/5234/26278 4264/5003/26279 4266/5002/26280 -f 4266/5002/26281 4452/5235/26282 4451/5234/26283 -f 4460/5244/26284 4458/5245/26285 4451/5234/26286 -f 4451/5234/26287 4459/5233/26288 4460/5244/26289 -f 4451/5234/26290 4458/5245/26291 4250/5000/26292 -f 4250/5000/26293 4264/5003/26294 4451/5234/26295 -f 4502/5176/26296 4503/5201/26297 4512/5246/26298 -f 4512/5246/26299 4510/5175/26300 4502/5176/26301 -f 4510/5175/26302 4512/5246/26303 4538/5247/26304 -f 4538/5247/26305 4537/5174/26306 4510/5175/26307 -f 4537/5174/26308 4538/5247/26309 4541/5248/26310 -f 4541/5248/26311 4540/5172/26312 4537/5174/26313 -f 4511/5249/26314 4512/5246/26315 4503/5201/26316 -f 4503/5201/26317 4509/5203/26318 4511/5249/26319 -f 4629/5250/26320 4511/5249/26321 4509/5203/26322 -f 4509/5203/26323 4508/5205/26324 4629/5250/26325 -f 4628/5251/26326 4629/5250/26327 4508/5205/26328 -f 4508/5205/26329 4621/5206/26330 4628/5251/26331 -f 4622/5252/26332 4628/5251/26333 4621/5206/26334 -f 4621/5206/26335 4620/5209/26336 4622/5252/26337 -f 4619/5253/26338 4622/5252/26339 4620/5209/26340 -f 4620/5209/26341 4617/5211/26342 4619/5253/26343 -f 4618/5254/26344 4619/5253/26345 4617/5211/26346 -f 4617/5211/26347 4616/5213/26348 4618/5254/26349 -f 4618/5254/26350 4616/5213/26351 4555/5001/26352 -f 4555/5001/26353 4557/5013/26354 4618/5254/26355 -f 4539/5255/26356 4538/5247/26357 4512/5246/26358 -f 4512/5246/26359 4511/5249/26360 4539/5255/26361 -f 4629/5250/26362 4638/5256/26363 4539/5255/26364 -f 4539/5255/26365 4511/5249/26366 4629/5250/26367 -f 4630/5257/26368 4638/5256/26369 4629/5250/26370 -f 4629/5250/26371 4628/5251/26372 4630/5257/26373 -f 4628/5251/26374 4622/5252/26375 4625/5258/26376 -f 4625/5258/26377 4630/5257/26378 4628/5251/26379 -f 4624/5259/26380 4625/5258/26381 4622/5252/26382 -f 4622/5252/26383 4619/5253/26384 4624/5259/26385 -f 4623/5260/26386 4624/5259/26387 4619/5253/26388 -f 4619/5253/26389 4618/5254/26390 4623/5260/26391 -f 4618/5254/26392 4557/5013/26393 4560/5020/26394 -f 4560/5020/26395 4623/5260/26396 4618/5254/26397 -f 4538/5247/26398 4539/5255/26399 4642/5261/26400 -f 4642/5261/26401 4543/5262/26402 4538/5247/26403 -f 4639/5263/26404 4642/5261/26405 4539/5255/26406 -f 4539/5255/26407 4638/5256/26408 4639/5263/26409 -f 4640/5264/26410 4639/5263/26411 4638/5256/26412 -f 4638/5256/26413 4630/5257/26414 4640/5264/26415 -f 4626/5265/26416 4640/5264/26417 4630/5257/26418 -f 4630/5257/26419 4625/5258/26420 4626/5265/26421 -f 4632/5266/26422 4626/5265/26423 4625/5258/26424 -f 4625/5258/26425 4624/5259/26426 4632/5266/26427 -f 4631/5267/26428 4632/5266/26429 4624/5259/26430 -f 4624/5259/26431 4623/5260/26432 4631/5267/26433 -f 4631/5267/26434 4623/5260/26435 4560/5020/26436 -f 4560/5020/26437 4564/5028/26438 4631/5267/26439 -f 4538/5247/26440 4543/5262/26441 4542/5268/26442 -f 4542/5268/26443 4541/5248/26444 4538/5247/26445 -f 4540/5172/26446 4541/5248/26447 4531/5269/26448 -f 4531/5269/26449 4530/5171/26450 4540/5172/26451 -f 4530/5171/26452 4531/5269/26453 4529/5271/26454 -f 4529/5271/26455 4519/5170/26456 4530/5171/26457 -f 4519/5170/26458 4529/5271/26459 4518/5272/26460 -f 4518/5272/26461 4516/5169/26462 4519/5170/26463 -f 4516/5169/26464 4518/5272/26465 4515/5276/26466 -f 4515/5276/26467 4514/5168/26468 4516/5169/26469 -f 4513/5313/26470 4347/5167/26471 4514/5168/26472 -f 4514/5168/26473 4515/5276/26474 4513/5313/26475 -f 4347/5167/26476 4513/5313/26477 4326/5035/26478 -f 4326/5035/26479 4130/4913/26480 4347/5167/26481 -f 4632/5266/26482 4631/5267/26483 4633/5314/26484 -f 4633/5314/26485 4634/5315/26486 4632/5266/26487 -f 4632/5266/26488 4634/5315/26489 4627/5316/26490 -f 4627/5316/26491 4626/5265/26492 4632/5266/26493 -f 4640/5264/26494 4626/5265/26495 4627/5316/26496 -f 4627/5316/26497 4641/5317/26498 4640/5264/26499 -f 4649/5318/26500 4639/5263/26501 4640/5264/26502 -f 4640/5264/26503 4641/5317/26504 4649/5318/26505 -f 4649/5318/26506 4643/5319/26507 4642/5261/26508 -f 4642/5261/26509 4639/5263/26510 4649/5318/26511 -f 4642/5261/26512 4643/5319/26513 4544/5320/26514 -f 4544/5320/26515 4543/5262/26516 4642/5261/26517 -f 4543/5262/26518 4544/5320/26519 4698/5321/26520 -f 4698/5321/26521 4542/5268/26522 4543/5262/26523 -f 4698/5321/26524 4544/5320/26525 4701/5322/26526 -f 4701/5322/26527 4699/5323/26528 4698/5321/26529 -f 4701/5322/26530 4544/5320/26531 4643/5319/26532 -f 4643/5319/26533 4644/5324/26534 4701/5322/26535 -f 4643/5319/26536 4649/5318/26537 4647/5325/26538 -f 4647/5325/26539 4644/5324/26540 4643/5319/26541 -f 4649/5318/26542 4641/5317/26543 4635/5326/26544 -f 4635/5326/26545 4647/5325/26546 4649/5318/26547 -f 4627/5316/26548 4658/5327/26549 4635/5326/26550 -f 4635/5326/26551 4641/5317/26552 4627/5316/26553 -f 4654/5328/26554 4658/5327/26555 4627/5316/26556 -f 4627/5316/26557 4634/5315/26558 4654/5328/26559 -f 4653/5329/26560 4654/5328/26561 4634/5315/26562 -f 4634/5315/26563 4633/5314/26564 4653/5329/26565 -f 4605/5052/26566 4653/5329/26567 4633/5314/26568 -f 4633/5314/26569 4568/5053/26570 4605/5052/26571 -f 4700/5374/26572 4699/5375/26573 4701/5377/26574 -f 4701/5377/26575 4704/5378/26576 4700/5374/26577 -f 4648/5379/26578 4645/5380/26579 4644/5381/26580 -f 4644/5381/26581 4647/5382/26582 4648/5379/26583 -f 4636/5383/26584 4648/5379/26585 4647/5382/26586 -f 4647/5382/26587 4635/5384/26588 4636/5383/26589 -f 4635/5384/26590 4658/5385/26591 4659/5386/26592 -f 4659/5386/26593 4636/5383/26594 4635/5384/26595 -f 4655/5387/26596 4659/5386/26597 4658/5385/26598 -f 4658/5385/26599 4654/5388/26600 4655/5387/26601 -f 4656/5389/26602 4655/5387/26603 4654/5388/26604 -f 4654/5388/26605 4653/5390/26606 4656/5389/26607 -f 4606/5460/26608 4656/5389/26609 4653/5390/26610 -f 4653/5390/26611 4605/5461/26612 4606/5460/26613 -f 4656/5389/26614 4606/5460/26615 4615/5462/26616 -f 4615/5462/26617 4663/5391/26618 4656/5389/26619 -f 4656/5389/26620 4663/5391/26621 4657/5392/26622 -f 4657/5392/26623 4655/5387/26624 4656/5389/26625 -f 4655/5387/26626 4657/5392/26627 4660/5393/26628 -f 4660/5393/26629 4659/5386/26630 4655/5387/26631 -f 4637/5394/26632 4636/5383/26633 4659/5386/26634 -f 4659/5386/26635 4660/5393/26636 4637/5394/26637 -f 4648/5379/26638 4636/5383/26639 4637/5394/26640 -f 4637/5394/26641 4650/5396/26642 4648/5379/26643 -f 4646/5397/26644 4645/5380/26645 4648/5379/26646 -f 4648/5379/26647 4650/5396/26648 4646/5397/26649 -f 4645/5380/26650 4646/5397/26651 4702/5398/26652 -f 4702/5398/26653 4644/5381/26654 4645/5380/26655 -f 4701/5377/26656 4644/5381/26657 4702/5398/26658 -f 4702/5398/26659 4704/5378/26660 4701/5377/26661 -f 4696/5399/26662 4700/5374/26663 4705/5400/26664 -f 4705/5400/26665 4697/5401/26666 4696/5399/26667 -f 4729/5402/26668 4703/5403/26669 4704/5378/26670 -f 4704/5378/26671 4702/5398/26672 4729/5402/26673 -f 4730/5404/26674 4729/5402/26675 4702/5398/26676 -f 4702/5398/26677 4646/5397/26678 4730/5404/26679 -f 4652/5405/26680 4730/5404/26681 4646/5397/26682 -f 4646/5397/26683 4650/5396/26684 4652/5405/26685 -f 4651/5406/26686 4652/5405/26687 4650/5396/26688 -f 4650/5396/26689 4637/5394/26690 4651/5406/26691 -f 4670/5407/26692 4651/5406/26693 4637/5394/26694 -f 4637/5394/26695 4660/5393/26696 4670/5407/26697 -f 4661/5408/26698 4670/5407/26699 4660/5393/26700 -f 4660/5393/26701 4657/5392/26702 4661/5408/26703 -f 4665/5409/26704 4661/5408/26705 4657/5392/26706 -f 4657/5392/26707 4663/5391/26708 4665/5409/26709 -f 4662/5410/26710 4663/5391/26711 4615/5462/26712 -f 4615/5462/26713 4613/5463/26714 4662/5410/26715 -f 4664/5411/26716 4665/5409/26717 4663/5391/26718 -f 4663/5391/26719 4662/5410/26720 4664/5411/26721 -f 4669/5412/26722 4666/5413/26723 4665/5409/26724 -f 4665/5409/26725 4664/5411/26726 4669/5412/26727 -f 4671/5414/26728 4661/5408/26729 4665/5409/26730 -f 4665/5409/26731 4666/5413/26732 4671/5414/26733 -f 4672/5415/26734 4670/5407/26735 4661/5408/26736 -f 4661/5408/26737 4671/5414/26738 4672/5415/26739 -f 4673/5416/26740 4651/5406/26741 4670/5407/26742 -f 4670/5407/26743 4672/5415/26744 4673/5416/26745 -f 4733/5417/26746 4652/5405/26747 4651/5406/26748 -f 4651/5406/26749 4673/5416/26750 4733/5417/26751 -f 4652/5405/26752 4733/5417/26753 4731/5418/26754 -f 4731/5418/26755 4730/5404/26756 4652/5405/26757 -f 4732/5419/26758 4729/5402/26759 4730/5404/26760 -f 4730/5404/26761 4731/5418/26762 4732/5419/26763 -f 4729/5402/26764 4732/5419/26765 4706/5420/26766 -f 4706/5420/26767 4703/5403/26768 4729/5402/26769 -f 4700/5374/26770 4704/5378/26771 4703/5403/26772 -f 4703/5403/26773 4705/5400/26774 4700/5374/26775 -f 4703/5403/26776 4706/5420/26777 4697/5401/26778 -f 4697/5401/26779 4705/5400/26780 4703/5403/26781 -f 4696/5399/26782 4697/5401/26783 4708/5421/26784 -f 4708/5421/26785 4707/5422/26786 4696/5399/26787 -f 4707/5422/26788 4708/5421/26789 4693/5465/26790 -f 4693/5465/26791 4690/5464/26792 4707/5422/26793 -f 4668/5423/26794 4667/5424/26795 4666/5413/26796 -f 4666/5413/26797 4669/5412/26798 4668/5423/26799 -f 4671/5414/26800 4666/5413/26801 4667/5424/26802 -f 4667/5424/26803 4676/5425/26804 4671/5414/26805 -f 4671/5414/26806 4676/5425/26807 4674/5426/26808 -f 4674/5426/26809 4672/5415/26810 4671/5414/26811 -f 4673/5416/26812 4672/5415/26813 4674/5426/26814 -f 4674/5426/26815 4740/5427/26816 4673/5416/26817 -f 4673/5416/26818 4740/5427/26819 4734/5428/26820 -f 4734/5428/26821 4733/5417/26822 4673/5416/26823 -f 4733/5417/26824 4734/5428/26825 4737/5429/26826 -f 4737/5429/26827 4731/5418/26828 4733/5417/26829 -f 4731/5418/26830 4737/5429/26831 4735/5430/26832 -f 4735/5430/26833 4732/5419/26834 4731/5418/26835 -f 4732/5419/26836 4735/5430/26837 4736/5431/26838 -f 4736/5431/26839 4706/5420/26840 4732/5419/26841 -f 4706/5420/26842 4736/5431/26843 4710/5432/26844 -f 4710/5432/26845 4697/5401/26846 4706/5420/26847 -f 4697/5401/26848 4710/5432/26849 4709/5433/26850 -f 4709/5433/26851 4708/5421/26852 4697/5401/26853 -f 4695/5466/26854 4693/5465/26855 4708/5421/26856 -f 4708/5421/26857 4709/5433/26858 4695/5466/26859 -f 4676/5425/26860 4667/5424/26861 4668/5423/26862 -f 4668/5423/26863 4677/5434/26864 4676/5425/26865 -f 4676/5425/26866 4677/5434/26867 4675/5435/26868 -f 4675/5435/26869 4674/5426/26870 4676/5425/26871 -f 4674/5426/26872 4675/5435/26873 4741/5436/26874 -f 4741/5436/26875 4740/5427/26876 4674/5426/26877 -f 4740/5427/26878 4741/5436/26879 4742/5437/26880 -f 4742/5437/26881 4734/5428/26882 4740/5427/26883 -f 4739/5438/26884 4737/5429/26885 4734/5428/26886 -f 4734/5428/26887 4742/5437/26888 4739/5438/26889 -f 4735/5430/26890 4737/5429/26891 4739/5438/26892 -f 4739/5438/26893 4738/5439/26894 4735/5430/26895 -f 4735/5430/26896 4738/5439/26897 4744/5440/26898 -f 4744/5440/26899 4736/5431/26900 4735/5430/26901 -f 4745/5441/26902 4710/5432/26903 4736/5431/26904 -f 4736/5431/26905 4744/5440/26906 4745/5441/26907 -f 4710/5432/26908 4745/5441/26909 4743/5442/26910 -f 4743/5442/26911 4709/5433/26912 4710/5432/26913 -f 4709/5433/26914 4743/5442/26915 4728/5467/26916 -f 4728/5467/26917 4695/5466/26918 4709/5433/26919 -f 4391/5122/26920 4365/5117/26921 4366/5330/26922 -f 4366/5330/26923 4388/5331/26924 4391/5122/26925 -f 4369/5335/26926 4366/5330/26927 4365/5117/26928 -f 4365/5117/26929 4363/5111/26930 4369/5335/26931 -f 4374/5105/26932 4375/5336/26933 4369/5335/26934 -f 4369/5335/26935 4363/5111/26936 4374/5105/26937 -f 4373/5102/26938 4376/5337/26939 4375/5336/26940 -f 4375/5336/26941 4374/5105/26942 4373/5102/26943 -f 4372/5099/26944 4377/5338/26945 4376/5337/26946 -f 4376/5337/26947 4373/5102/26948 4372/5099/26949 -f 4381/5095/26950 4382/5339/26951 4377/5338/26952 -f 4377/5338/26953 4372/5099/26954 4381/5095/26955 -f 4394/5094/26956 4395/5340/26957 4382/5339/26958 -f 4382/5339/26959 4381/5095/26960 4394/5094/26961 -f 4398/5346/26962 4395/5340/26963 4394/5094/26964 -f 4394/5094/26965 4397/5096/26966 4398/5346/26967 -f 4412/5097/26968 4402/5376/26969 4398/5346/26970 -f 4398/5346/26971 4397/5096/26972 4412/5097/26973 -f 4413/5098/26974 4403/5395/26975 4402/5376/26976 -f 4402/5376/26977 4412/5097/26978 4413/5098/26979 -f 4414/5107/26980 4404/5443/26981 4403/5395/26982 -f 4403/5395/26983 4413/5098/26984 4414/5107/26985 -f 4410/5113/26986 4400/5444/26987 4404/5443/26988 -f 4404/5443/26989 4414/5107/26990 4410/5113/26991 -f 4390/5119/26992 4392/5445/26993 4400/5444/26994 -f 4400/5444/26995 4410/5113/26996 4390/5119/26997 -f 4390/5119/26998 4391/5122/26999 4388/5331/27000 -f 4388/5331/27001 4392/5445/27002 4390/5119/27003 -f 4388/5331/27004 4366/5330/27005 4371/5446/27006 -f 4371/5446/27007 4389/5447/27008 4388/5331/27009 -f 4369/5335/27010 4370/5448/27011 4371/5446/27012 -f 4371/5446/27013 4366/5330/27014 4369/5335/27015 -f 4375/5336/27016 4378/5449/27017 4370/5448/27018 -f 4370/5448/27019 4369/5335/27020 4375/5336/27021 -f 4376/5337/27022 4379/5450/27023 4378/5449/27024 -f 4378/5449/27025 4375/5336/27026 4376/5337/27027 -f 4377/5338/27028 4380/5451/27029 4379/5450/27030 -f 4379/5450/27031 4376/5337/27032 4377/5338/27033 -f 4382/5339/27034 4383/5452/27035 4380/5451/27036 -f 4380/5451/27037 4377/5338/27038 4382/5339/27039 -f 4396/5453/27040 4383/5452/27041 4382/5339/27042 -f 4382/5339/27043 4395/5340/27044 4396/5453/27045 -f 4398/5346/27046 4399/5454/27047 4396/5453/27048 -f 4396/5453/27049 4395/5340/27050 4398/5346/27051 -f 4402/5376/27052 4405/5455/27053 4399/5454/27054 -f 4399/5454/27055 4398/5346/27056 4402/5376/27057 -f 4403/5395/27058 4406/5456/27059 4405/5455/27060 -f 4405/5455/27061 4402/5376/27062 4403/5395/27063 -f 4404/5443/27064 4407/5457/27065 4406/5456/27066 -f 4406/5456/27067 4403/5395/27068 4404/5443/27069 -f 4400/5444/27070 4401/5458/27071 4407/5457/27072 -f 4407/5457/27073 4404/5443/27074 4400/5444/27075 -f 4393/5459/27076 4401/5458/27077 4400/5444/27078 -f 4400/5444/27079 4392/5445/27080 4393/5459/27081 -f 4389/5447/27082 4393/5459/27083 4392/5445/27084 -f 4392/5445/27085 4388/5331/27086 4389/5447/27087 -f 4423/5136/27088 4427/5146/27089 4473/5145/27090 -f 4473/5145/27091 4472/5137/27092 4423/5136/27093 -f 4358/5101/27094 4356/5135/27095 4346/5143/27096 -f 4346/5143/27097 4423/5136/27098 4358/5101/27099 -f 4436/5189/27100 4429/5188/27101 4247/4938/27102 -f 4247/4938/27103 4248/4986/27104 4436/5189/27105 -f 4272/4971/27106 4455/5221/27107 4452/5235/27108 -f 4452/5235/27109 4266/5002/27110 4272/4971/27111 -f 4568/5053/27112 4633/5314/27113 4631/5267/27114 -f 4631/5267/27115 4564/5028/27116 4568/5053/27117 -f 4770/5468/27118 4771/5469/27119 4746/5470/27120 -f 4746/5470/27121 4747/5471/27122 4770/5468/27123 -f 4749/5472/27124 4748/5473/27125 4747/5471/27126 -f 4747/5471/27127 4746/5470/27128 4749/5472/27129 -f 4750/5475/27130 4748/5473/27131 4749/5472/27132 -f 4749/5472/27133 4751/5474/27134 4750/5475/27135 -f 4752/5477/27136 4750/5475/27137 4751/5474/27138 -f 4751/5474/27139 4753/5476/27140 4752/5477/27141 -f 4753/5476/27142 4755/5478/27143 4754/5479/27144 -f 4754/5479/27145 4752/5477/27146 4753/5476/27147 -f 4757/5480/27148 4754/5479/27149 4755/5478/27150 -f 4755/5478/27151 4756/5481/27152 4757/5480/27153 -f 4758/5482/27154 4759/5483/27155 4757/5480/27156 -f 4757/5480/27157 4756/5481/27158 4758/5482/27159 -f 4761/5485/27160 4759/5483/27161 4758/5482/27162 -f 4758/5482/27163 4760/5484/27164 4761/5485/27165 -f 4761/5485/27166 4760/5484/27167 4763/5487/27168 -f 4763/5487/27169 4762/5486/27170 4761/5485/27171 -f 4763/5487/27172 4765/5488/27173 4764/5489/27174 -f 4764/5489/27175 4762/5486/27176 4763/5487/27177 -f 4765/5488/27178 4767/5490/27179 4766/5491/27180 -f 4766/5491/27181 4764/5489/27182 4765/5488/27183 -f 4768/5493/27184 4766/5491/27185 4767/5490/27186 -f 4767/5490/27187 4769/5492/27188 4768/5493/27189 -f 4773/5495/27190 4771/5469/27191 4770/5468/27192 -f 4770/5468/27193 4772/5494/27194 4773/5495/27195 -f 4773/5495/27196 4772/5494/27197 4774/5496/27198 -f 4774/5496/27199 4775/5497/27200 4773/5495/27201 -f 4777/5499/27202 4775/5497/27203 4774/5496/27204 -f 4774/5496/27205 4776/5498/27206 4777/5499/27207 -f 4777/5499/27208 4776/5498/27209 4778/5500/27210 -f 4778/5500/27211 4779/5501/27212 4777/5499/27213 -f 4784/5503/27214 4785/5504/27215 4783/5505/27216 -f 4783/5505/27217 4782/5502/27218 4784/5503/27219 -f 4782/5502/27220 4783/5505/27221 4781/5506/27222 -f 4781/5506/27223 4780/5507/27224 4782/5502/27225 -f 4780/5507/27226 4781/5506/27227 4779/5501/27228 -f 4779/5501/27229 4778/5500/27230 4780/5507/27231 -f 4794/5509/27232 4795/5510/27233 4793/5511/27234 -f 4793/5511/27235 4792/5508/27236 4794/5509/27237 -f 4792/5508/27238 4793/5511/27239 4791/5512/27240 -f 4791/5512/27241 4790/5513/27242 4792/5508/27243 -f 4790/5513/27244 4791/5512/27245 4789/5514/27246 -f 4789/5514/27247 4788/5515/27248 4790/5513/27249 -f 4788/5515/27250 4789/5514/27251 4787/5516/27252 -f 4787/5516/27253 4786/5517/27254 4788/5515/27255 -f 4787/5516/27256 4785/5504/27257 4784/5503/27258 -f 4784/5503/27259 4786/5517/27260 4787/5516/27261 -f 4804/5519/27262 4768/5493/27263 4769/5492/27264 -f 4769/5492/27265 4805/5518/27266 4804/5519/27267 -f 4803/5520/27268 4802/5521/27269 4804/5519/27270 -f 4804/5519/27271 4805/5518/27272 4803/5520/27273 -f 4801/5522/27274 4800/5523/27275 4802/5521/27276 -f 4802/5521/27277 4803/5520/27278 4801/5522/27279 -f 4799/5524/27280 4798/5525/27281 4800/5523/27282 -f 4800/5523/27283 4801/5522/27284 4799/5524/27285 -f 4796/5526/27286 4798/5525/27287 4799/5524/27288 -f 4799/5524/27289 4797/5527/27290 4796/5526/27291 -f 4806/5528/27292 4800/5523/27293 4798/5525/27294 -f 4798/5525/27295 4807/5529/27296 4806/5528/27297 -f 4808/5530/27298 4807/5529/27299 4798/5525/27300 -f 4798/5525/27301 4796/5526/27302 4808/5530/27303 -f 4796/5526/27304 4794/5509/27305 4809/5531/27306 -f 4809/5531/27307 4808/5530/27308 4796/5526/27309 -f 4794/5509/27310 4792/5508/27311 4810/5532/27312 -f 4810/5532/27313 4809/5531/27314 4794/5509/27315 -f 4792/5508/27316 4790/5513/27317 4811/5533/27318 -f 4811/5533/27319 4810/5532/27320 4792/5508/27321 -f 4786/5517/27322 4813/5534/27323 4812/5535/27324 -f 4812/5535/27325 4788/5515/27326 4786/5517/27327 -f 4780/5507/27328 4815/5536/27329 4814/5537/27330 -f 4814/5537/27331 4782/5502/27332 4780/5507/27333 -f 4786/5517/27334 4784/5503/27335 4782/5502/27336 -f 4782/5502/27337 4813/5534/27338 4786/5517/27339 -f 4813/5534/27340 4782/5502/27341 4814/5537/27342 -f 4814/5537/27343 4812/5535/27344 4813/5534/27345 -f 4816/5538/27346 4802/5521/27347 4800/5523/27348 -f 4800/5523/27349 4806/5528/27350 4816/5538/27351 -f 4817/5539/27352 4804/5519/27353 4802/5521/27354 -f 4802/5521/27355 4816/5538/27356 4817/5539/27357 -f 4804/5519/27358 4817/5539/27359 4818/5540/27360 -f 4818/5540/27361 4768/5493/27362 4804/5519/27363 -f 4907/5541/27364 4766/5491/27365 4768/5493/27366 -f 4768/5493/27367 4818/5540/27368 4907/5541/27369 -f 4842/5542/27370 4764/5489/27371 4766/5491/27372 -f 4766/5491/27373 4907/5541/27374 4842/5542/27375 -f 4819/5543/27376 4762/5486/27377 4764/5489/27378 -f 4764/5489/27379 4842/5542/27380 4819/5543/27381 -f 4819/5543/27382 4759/5483/27383 4761/5485/27384 -f 4761/5485/27385 4762/5486/27386 4819/5543/27387 -f 4820/5544/27388 4757/5480/27389 4759/5483/27390 -f 4759/5483/27391 4819/5543/27392 4820/5544/27393 -f 4757/5480/27394 4820/5544/27395 4821/5545/27396 -f 4821/5545/27397 4754/5479/27398 4757/5480/27399 -f 4754/5479/27400 4821/5545/27401 4822/5546/27402 -f 4822/5546/27403 4752/5477/27404 4754/5479/27405 -f 4823/5547/27406 4750/5475/27407 4752/5477/27408 -f 4752/5477/27409 4822/5546/27410 4823/5547/27411 -f 4824/5548/27412 4748/5473/27413 4750/5475/27414 -f 4750/5475/27415 4823/5547/27416 4824/5548/27417 -f 4825/5549/27418 4747/5471/27419 4748/5473/27420 -f 4748/5473/27421 4824/5548/27422 4825/5549/27423 -f 4747/5471/27424 4825/5549/27425 4826/5550/27426 -f 4826/5550/27427 4770/5468/27428 4747/5471/27429 -f 4772/5494/27430 4770/5468/27431 4826/5550/27432 -f 4826/5550/27433 4827/5551/27434 4772/5494/27435 -f 4828/5552/27436 4829/5553/27437 4776/5498/27438 -f 4776/5498/27439 4774/5496/27440 4828/5552/27441 -f 4778/5500/27442 4776/5498/27443 4829/5553/27444 -f 4829/5553/27445 4830/5554/27446 4778/5500/27447 -f 4815/5536/27448 4780/5507/27449 4778/5500/27450 -f 4778/5500/27451 4830/5554/27452 4815/5536/27453 -f 4815/5536/27454 4831/5555/27455 4812/5535/27456 -f 4812/5535/27457 4814/5537/27458 4815/5536/27459 -f 4832/5556/27460 4833/5557/27461 4810/5532/27462 -f 4810/5532/27463 4811/5533/27464 4832/5556/27465 -f 4834/5558/27466 4831/5555/27467 4815/5536/27468 -f 4815/5536/27469 4830/5554/27470 4834/5558/27471 -f 4810/5532/27472 4833/5557/27473 4835/5559/27474 -f 4835/5559/27475 4809/5531/27476 4810/5532/27477 -f 4809/5531/27478 4835/5559/27479 4836/5560/27480 -f 4836/5560/27481 4808/5530/27482 4809/5531/27483 -f 4808/5530/27484 4836/5560/27485 4837/5561/27486 -f 4837/5561/27487 4807/5529/27488 4808/5530/27489 -f 4845/5562/27490 4806/5528/27491 4807/5529/27492 -f 4807/5529/27493 4837/5561/27494 4845/5562/27495 -f 4839/5563/27496 4817/5539/27497 4816/5538/27498 -f 4816/5538/27499 4838/5564/27500 4839/5563/27501 -f 4841/5565/27502 4840/5566/27503 4821/5545/27504 -f 4821/5545/27505 4820/5544/27506 4841/5565/27507 -f 4841/5565/27508 4820/5544/27509 4819/5543/27510 -f 4819/5543/27511 4842/5542/27512 4841/5565/27513 -f 4818/5540/27514 4906/5567/27515 4907/5541/27516 -f 4905/5569/27517 4906/5567/27518 4818/5540/27519 -f 4818/5540/27520 4843/5568/27521 4905/5569/27522 -f 4843/5568/27523 4818/5540/27524 4817/5539/27525 -f 4817/5539/27526 4839/5563/27527 4843/5568/27528 -f 4843/5568/27529 4839/5563/27530 4844/5570/27531 -f 4844/5570/27532 4840/5566/27533 4843/5568/27534 -f 4845/5562/27535 4838/5564/27536 4816/5538/27537 -f 4816/5538/27538 4806/5528/27539 4845/5562/27540 -f 4840/5566/27541 4844/5570/27542 4822/5546/27543 -f 4822/5546/27544 4821/5545/27545 4840/5566/27546 -f 4846/5571/27547 4844/5570/27548 4839/5563/27549 -f 4839/5563/27550 4838/5564/27551 4846/5571/27552 -f 4847/5572/27553 4846/5571/27554 4838/5564/27555 -f 4838/5564/27556 4845/5562/27557 4847/5572/27558 -f 4845/5562/27559 4837/5561/27560 4848/5573/27561 -f 4848/5573/27562 4847/5572/27563 4845/5562/27564 -f 4836/5560/27565 4849/5574/27566 4848/5573/27567 -f 4848/5573/27568 4837/5561/27569 4836/5560/27570 -f 4850/5575/27571 4849/5574/27572 4836/5560/27573 -f 4836/5560/27574 4835/5559/27575 4850/5575/27576 -f 4833/5557/27577 4832/5556/27578 4831/5555/27579 -f 4831/5555/27580 4834/5558/27581 4833/5557/27582 -f 4833/5557/27583 4834/5558/27584 4850/5575/27585 -f 4850/5575/27586 4835/5559/27587 4833/5557/27588 -f 4851/5576/27589 4834/5558/27590 4830/5554/27591 -f 4830/5554/27592 4829/5553/27593 4851/5576/27594 -f 4834/5558/27595 4851/5576/27596 4852/5577/27597 -f 4852/5577/27598 4850/5575/27599 4834/5558/27600 -f 4853/5578/27601 4852/5577/27602 4851/5576/27603 -f 4851/5576/27604 4829/5553/27605 4853/5578/27606 -f 4854/5579/27607 4853/5578/27608 4829/5553/27609 -f 4829/5553/27610 4828/5552/27611 4854/5579/27612 -f 4855/5580/27613 4854/5579/27614 4828/5552/27615 -f 4828/5552/27616 4827/5551/27617 4855/5580/27618 -f 4827/5551/27619 4826/5550/27620 4856/5581/27621 -f 4856/5581/27622 4855/5580/27623 4827/5551/27624 -f 4856/5581/27625 4826/5550/27626 4825/5549/27627 -f 4825/5549/27628 4857/5582/27629 4856/5581/27630 -f 4858/5583/27631 4857/5582/27632 4825/5549/27633 -f 4825/5549/27634 4824/5548/27635 4858/5583/27636 -f 4859/5584/27637 4858/5583/27638 4824/5548/27639 -f 4824/5548/27640 4823/5547/27641 4859/5584/27642 -f 4823/5547/27643 4822/5546/27644 4860/5585/27645 -f 4860/5585/27646 4859/5584/27647 4823/5547/27648 -f 4844/5570/27649 4846/5571/27650 4860/5585/27651 -f 4860/5585/27652 4822/5546/27653 4844/5570/27654 -f 4861/5586/27655 4860/5585/27656 4846/5571/27657 -f 4846/5571/27658 4847/5572/27659 4861/5586/27660 -f 4847/5572/27661 4848/5573/27662 4862/5587/27663 -f 4862/5587/27664 4861/5586/27665 4847/5572/27666 -f 4863/5588/27667 4862/5587/27668 4848/5573/27669 -f 4848/5573/27670 4849/5574/27671 4863/5588/27672 -f 4850/5575/27673 4852/5577/27674 4863/5588/27675 -f 4863/5588/27676 4849/5574/27677 4850/5575/27678 -f 4864/5589/27679 4863/5588/27680 4852/5577/27681 -f 4852/5577/27682 4853/5578/27683 4864/5589/27684 -f 4863/5588/27685 4864/5589/27686 4865/5590/27687 -f 4865/5590/27688 4862/5587/27689 4863/5588/27690 -f 4866/5591/27691 4861/5586/27692 4862/5587/27693 -f 4862/5587/27694 4865/5590/27695 4866/5591/27696 -f 4860/5585/27697 4861/5586/27698 4866/5591/27699 -f 4866/5591/27700 4859/5584/27701 4860/5585/27702 -f 4859/5584/27703 4866/5591/27704 4867/5592/27705 -f 4867/5592/27706 4858/5583/27707 4859/5584/27708 -f 4858/5583/27709 4867/5592/27710 4868/5593/27711 -f 4868/5593/27712 4857/5582/27713 4858/5583/27714 -f 4869/5594/27715 4856/5581/27716 4857/5582/27717 -f 4857/5582/27718 4868/5593/27719 4869/5594/27720 -f 4856/5581/27721 4869/5594/27722 4870/5595/27723 -f 4870/5595/27724 4855/5580/27725 4856/5581/27726 -f 4855/5580/27727 4870/5595/27728 4871/5596/27729 -f 4871/5596/27730 4854/5579/27731 4855/5580/27732 -f 4853/5578/27733 4854/5579/27734 4871/5596/27735 -f 4871/5596/27736 4864/5589/27737 4853/5578/27738 -f 4867/5592/27739 4872/5597/27740 4869/5594/27741 -f 4869/5594/27742 4868/5593/27743 4867/5592/27744 -f 4872/5597/27745 4871/5596/27746 4870/5595/27747 -f 4870/5595/27748 4869/5594/27749 4872/5597/27750 -f 4866/5591/27751 4865/5590/27752 4872/5597/27753 -f 4872/5597/27754 4867/5592/27755 4866/5591/27756 -f 4872/5597/27757 4865/5590/27758 4864/5589/27759 -f 4864/5589/27760 4871/5596/27761 4872/5597/27762 -f 4873/5598/27763 4874/5599/27764 4771/5469/27765 -f 4771/5469/27766 4773/5495/27767 4873/5598/27768 -f 4875/5600/27769 4746/5470/27770 4771/5469/27771 -f 4771/5469/27772 4874/5599/27773 4875/5600/27774 -f 4876/5601/27775 4749/5472/27776 4746/5470/27777 -f 4746/5470/27778 4875/5600/27779 4876/5601/27780 -f 4877/5602/27781 4751/5474/27782 4749/5472/27783 -f 4749/5472/27784 4876/5601/27785 4877/5602/27786 -f 4751/5474/27787 4877/5602/27788 4878/5603/27789 -f 4878/5603/27790 4753/5476/27791 4751/5474/27792 -f 4753/5476/27793 4878/5603/27794 4879/5604/27795 -f 4879/5604/27796 4755/5478/27797 4753/5476/27798 -f 4755/5478/27799 4879/5604/27800 4880/5605/27801 -f 4880/5605/27802 4756/5481/27803 4755/5478/27804 -f 4756/5481/27805 4880/5605/27806 4881/5606/27807 -f 4881/5606/27808 4758/5482/27809 4756/5481/27810 -f 4758/5482/27811 4881/5606/27812 4882/5607/27813 -f 4882/5607/27814 4760/5484/27815 4758/5482/27816 -f 4760/5484/27817 4882/5630/27818 4883/5608/27819 -f 4883/5608/27820 4763/5487/27821 4760/5484/27822 -f 4883/5608/27823 4884/5609/27824 4765/5488/27825 -f 4765/5488/27826 4763/5487/27827 4883/5608/27828 -f 4885/5610/27829 4767/5490/27830 4765/5488/27831 -f 4765/5488/27832 4884/5609/27833 4885/5610/27834 -f 4886/5611/27835 4769/5492/27836 4767/5490/27837 -f 4767/5490/27838 4885/5610/27839 4886/5611/27840 -f 4769/5492/27841 4886/5611/27842 4887/5612/27843 -f 4887/5612/27844 4805/5518/27845 4769/5492/27846 -f 4805/5518/27847 4887/5612/27848 4888/5613/27849 -f 4888/5613/27850 4803/5520/27851 4805/5518/27852 -f 4803/5520/27853 4888/5631/27854 4889/5614/27855 -f 4889/5614/27856 4801/5522/27857 4803/5520/27858 -f 4890/5615/27859 4799/5524/27860 4801/5522/27861 -f 4801/5522/27862 4889/5614/27863 4890/5615/27864 -f 4799/5524/27865 4890/5615/27866 4891/5616/27867 -f 4891/5616/27868 4797/5527/27869 4799/5524/27870 -f 4797/5527/27871 4891/5616/27872 4892/5617/27873 -f 4892/5617/27874 4795/5510/27875 4797/5527/27876 -f 4793/5511/27877 4893/5619/27878 4894/5618/27879 -f 4894/5618/27880 4791/5512/27881 4793/5511/27882 -f 4791/5512/27883 4894/5618/27884 4895/5620/27885 -f 4895/5620/27886 4789/5514/27887 4791/5512/27888 -f 4789/5514/27889 4895/5620/27890 4896/5621/27891 -f 4896/5621/27892 4787/5516/27893 4789/5514/27894 -f 4787/5516/27895 4896/5621/27896 4897/5622/27897 -f 4897/5622/27898 4785/5504/27899 4787/5516/27900 -f 4785/5504/27901 4897/5632/27902 4898/5623/27903 -f 4898/5623/27904 4783/5505/27905 4785/5504/27906 -f 4783/5505/27907 4898/5623/27908 4899/5624/27909 -f 4899/5624/27910 4781/5506/27911 4783/5505/27912 -f 4781/5506/27913 4899/5624/27914 4900/5625/27915 -f 4900/5625/27916 4779/5501/27917 4781/5506/27918 -f 4779/5501/27919 4900/5625/27920 4901/5626/27921 -f 4901/5626/27922 4777/5499/27923 4779/5501/27924 -f 4777/5499/27925 4901/5626/27926 4902/5627/27927 -f 4902/5627/27928 4775/5497/27929 4777/5499/27930 -f 4775/5497/27931 4902/5627/27932 4873/5598/27933 -f 4873/5598/27934 4773/5495/27935 4775/5497/27936 -f 4898/5623/27937 4897/5632/27938 4903/5628/27939 -f 4883/5608/27940 4882/5630/27941 4904/5629/27942 -f 4831/5555/27943 4832/5556/27944 4811/5533/27945 -f 4811/5533/27946 4812/5535/27947 4831/5555/27948 -f 4840/5566/27949 4841/5565/27950 4905/5569/27951 -f 4841/5565/27952 4906/5567/27953 4905/5569/27954 -f 4906/5567/27955 4841/5565/27956 4842/5542/27957 -f 4842/5542/27958 4907/5541/27959 4906/5567/27960 -f 4905/5569/27961 4843/5568/27962 4840/5566/27963 -f 4812/5535/27964 4811/5533/27965 4790/5513/27966 -f 4790/5513/27967 4788/5515/27968 4812/5535/27969 -f 4827/5551/27970 4828/5552/27971 4774/5496/27972 -f 4774/5496/27973 4772/5494/27974 4827/5551/27975 -f 4893/5635/27976 4793/5511/27977 4795/5510/27978 -f 4795/5510/27979 4892/5617/27980 4893/5635/27981 -f 4796/5526/27982 4797/5527/27983 4795/5510/27984 -f 4795/5510/27985 4794/5509/27986 4796/5526/27987 -f 4882/5607/27988 4881/5606/27989 4904/5634/27990 -f 4897/5622/27991 4896/5621/27992 4903/5633/27993 -f 4929/5638/27994 4924/5639/27995 5081/5636/27996 -f 5081/5636/27997 5082/5637/27998 4929/5638/27999 -f 4924/5639/28000 4936/5641/28001 5083/5640/28002 -f 5083/5640/28003 5081/5636/28004 4924/5639/28005 -f 4936/5641/28006 4942/5643/28007 5084/5642/28008 -f 5084/5642/28009 5083/5640/28010 4936/5641/28011 -f 4942/5643/28012 4948/5645/28013 5085/5644/28014 -f 5085/5644/28015 5084/5642/28016 4942/5643/28017 -f 4948/5645/28018 4954/5647/28019 5086/5646/28020 -f 5086/5646/28021 5085/5644/28022 4948/5645/28023 -f 4954/5649/28024 4929/5638/28025 5082/5637/28026 -f 5082/5637/28027 5086/5648/28028 4954/5649/28029 -f 4914/5652/28030 4920/5653/28031 4912/5650/28032 -f 4912/5650/28033 4911/5651/28034 4914/5652/28035 -f 4914/5656/28036 4911/5651/28037 4910/5654/28038 -f 4910/5654/28039 4909/5655/28040 4914/5656/28041 -f 4915/5658/28042 4920/5659/28043 4914/5657/28044 -f 4914/5657/28045 4909/5655/28046 4915/5658/28047 -f 4909/5655/28048 4916/5661/28049 4908/5660/28050 -f 4908/5660/28051 4915/5658/28052 4909/5655/28053 -f 4910/5654/28054 4917/5662/28055 4916/5661/28056 -f 4916/5661/28057 4909/5655/28058 4910/5654/28059 -f 4911/5651/28060 4918/5663/28061 4917/5662/28062 -f 4917/5662/28063 4910/5654/28064 4911/5651/28065 -f 4912/5650/28066 4919/5664/28067 4918/5663/28068 -f 4918/5663/28069 4911/5651/28070 4912/5650/28071 -f 4920/5653/28072 4913/5665/28073 4919/5664/28074 -f 4919/5664/28075 4912/5650/28076 4920/5653/28077 -f 4915/5658/28078 4908/5660/28079 4913/5666/28080 -f 4913/5666/28081 4920/5659/28082 4915/5658/28083 -f 4928/5670/28084 4925/5671/28085 5087/5668/28086 -f 5087/5668/28087 5088/5669/28088 4928/5670/28089 -f 4921/5672/28090 4932/5673/28091 4908/5660/28092 -f 4908/5660/28093 4916/5661/28094 4921/5672/28095 -f 4922/5674/28096 4931/5675/28097 4932/5673/28098 -f 4932/5673/28099 4921/5672/28100 4922/5674/28101 -f 4923/5678/28102 4930/5679/28103 5070/5676/28104 -f 5070/5676/28105 5069/5677/28106 4923/5678/28107 -f 4924/5639/28108 4929/5638/28109 5076/5680/28110 -f 5076/5680/28111 5075/5681/28112 4924/5639/28113 -f 4925/5671/28114 4937/5683/28115 5089/5682/28116 -f 5089/5682/28117 5087/5668/28118 4925/5671/28119 -f 4933/5684/28120 4921/5672/28121 4916/5661/28122 -f 4916/5661/28123 4917/5662/28124 4933/5684/28125 -f 4934/5685/28126 4922/5674/28127 4921/5672/28128 -f 4921/5672/28129 4933/5684/28130 4934/5685/28131 -f 4935/5687/28132 4923/5678/28133 5069/5677/28134 -f 5069/5677/28135 5071/5686/28136 4935/5687/28137 -f 4936/5641/28138 4924/5639/28139 5075/5681/28140 -f 5075/5681/28141 5077/5688/28142 4936/5641/28143 -f 4937/5683/28144 4943/5690/28145 5090/5689/28146 -f 5090/5689/28147 5089/5682/28148 4937/5683/28149 -f 4939/5691/28150 4933/5684/28151 4917/5662/28152 -f 4917/5662/28153 4918/5663/28154 4939/5691/28155 -f 4940/5692/28156 4934/5685/28157 4933/5684/28158 -f 4933/5684/28159 4939/5691/28160 4940/5692/28161 -f 4941/5694/28162 4935/5687/28163 5071/5686/28164 -f 5071/5686/28165 5072/5693/28166 4941/5694/28167 -f 4942/5643/28168 4936/5641/28169 5077/5688/28170 -f 5077/5688/28171 5078/5695/28172 4942/5643/28173 -f 4943/5690/28174 4949/5697/28175 5091/5696/28176 -f 5091/5696/28177 5090/5689/28178 4943/5690/28179 -f 4945/5698/28180 4939/5691/28181 4918/5663/28182 -f 4918/5663/28183 4919/5664/28184 4945/5698/28185 -f 4946/5699/28186 4940/5692/28187 4939/5691/28188 -f 4939/5691/28189 4945/5698/28190 4946/5699/28191 -f 4947/5701/28192 4941/5694/28193 5072/5693/28194 -f 5072/5693/28195 5073/5700/28196 4947/5701/28197 -f 4948/5645/28198 4942/5643/28199 5078/5695/28200 -f 5078/5695/28201 5079/5702/28202 4948/5645/28203 -f 4949/5697/28204 4955/5704/28205 5092/5703/28206 -f 5092/5703/28207 5091/5696/28208 4949/5697/28209 -f 4951/5705/28210 4945/5698/28211 4919/5664/28212 -f 4919/5664/28213 4913/5665/28214 4951/5705/28215 -f 4952/5706/28216 4946/5699/28217 4945/5698/28218 -f 4945/5698/28219 4951/5705/28220 4952/5706/28221 -f 4953/5708/28222 4947/5701/28223 5073/5700/28224 -f 5073/5700/28225 5074/5707/28226 4953/5708/28227 -f 4954/5647/28228 4948/5645/28229 5079/5702/28230 -f 5079/5702/28231 5080/5709/28232 4954/5647/28233 -f 4955/5711/28234 4928/5670/28235 5088/5669/28236 -f 5088/5669/28237 5092/5710/28238 4955/5711/28239 -f 4908/5660/28240 4932/5673/28241 4951/5712/28242 -f 4951/5712/28243 4913/5666/28244 4908/5660/28245 -f 4931/5675/28246 4952/5713/28247 4951/5712/28248 -f 4951/5712/28249 4932/5673/28250 4931/5675/28251 -f 4930/5679/28252 4953/5715/28253 5074/5714/28254 -f 5074/5714/28255 5070/5676/28256 4930/5679/28257 -f 4929/5638/28258 4954/5649/28259 5080/5716/28260 -f 5080/5716/28261 5076/5680/28262 4929/5638/28263 -f 4958/5719/28264 4957/5720/28265 5100/5717/28266 -f 5100/5717/28267 5099/5718/28268 4958/5719/28269 -f 5003/5723/28270 5004/5724/28271 5094/5721/28272 -f 5094/5721/28273 5093/5722/28274 5003/5723/28275 -f 4957/5720/28276 4962/5726/28277 5101/5725/28278 -f 5101/5725/28279 5100/5717/28280 4957/5720/28281 -f 5004/5724/28282 5005/5728/28283 5095/5727/28284 -f 5095/5727/28285 5094/5721/28286 5004/5724/28287 -f 4962/5726/28288 4965/5730/28289 5102/5729/28290 -f 5102/5729/28291 5101/5725/28292 4962/5726/28293 -f 5005/5728/28294 5006/5732/28295 5096/5731/28296 -f 5096/5731/28297 5095/5727/28298 5005/5728/28299 -f 4965/5730/28300 4968/5734/28301 5103/5733/28302 -f 5103/5733/28303 5102/5729/28304 4965/5730/28305 -f 5006/5732/28306 5007/5736/28307 5097/5735/28308 -f 5097/5735/28309 5096/5731/28310 5006/5732/28311 -f 4968/5739/28312 4971/5740/28313 5104/5737/28314 -f 5104/5737/28315 5103/5738/28316 4968/5739/28317 -f 5007/5743/28318 5008/5744/28319 5098/5741/28320 -f 5098/5741/28321 5097/5742/28322 5007/5743/28323 -f 4971/5740/28324 4958/5719/28325 5099/5718/28326 -f 5099/5718/28327 5104/5737/28328 4971/5740/28329 -f 5008/5744/28330 5003/5723/28331 5093/5722/28332 -f 5093/5722/28333 5098/5741/28334 5008/5744/28335 -s 2 -f 4974/5747/28336 4973/5748/28337 5020/5745/28338 -f 5020/5745/28339 5021/5746/28340 4974/5747/28341 -f 4975/5750/28342 4974/5747/28343 5021/5888/28344 -f 5021/5888/28345 4970/5749/28346 4975/5750/28347 -f 4976/5752/28348 4975/5750/28349 4970/5889/28350 -f 4970/5889/28351 4967/5751/28352 4976/5752/28353 -f 4977/5755/28354 4976/5756/28355 4967/5753/28356 -f 4967/5753/28357 4964/5754/28358 4977/5755/28359 -f 4978/5758/28360 4977/5755/28361 4964/5890/28362 -f 4964/5890/28363 4961/5757/28364 4978/5758/28365 -f 4973/5748/28366 4978/5758/28367 4961/5891/28368 -f 4961/5891/28369 5020/5886/28370 4973/5748/28371 -f 4980/5761/28372 4979/5762/28373 4960/5759/28374 -f 4960/5759/28375 4959/5760/28376 4980/5761/28377 -f 4981/5764/28378 4980/5761/28379 4959/5887/28380 -f 4959/5887/28381 4963/5763/28382 4981/5764/28383 -f 4982/5766/28384 4981/5764/28385 4963/5893/28386 -f 4963/5893/28387 4966/5765/28388 4982/5766/28389 -f 4983/5768/28390 4982/5766/28391 4966/5894/28392 -f 4966/5894/28393 4969/5767/28394 4983/5768/28395 -f 4984/5771/28396 4983/5772/28397 4969/5769/28398 -f 4969/5769/28399 4972/5770/28400 4984/5771/28401 -f 4979/5762/28402 4984/5771/28403 4972/5895/28404 -f 4972/5895/28405 4960/5892/28406 4979/5762/28407 -s 1 -f 4986/5773/28408 4985/5774/28409 4973/5748/28410 -f 4973/5748/28411 4974/5747/28412 4986/5773/28413 -f 4987/5775/28414 4986/5773/28415 4974/5747/28416 -f 4974/5747/28417 4975/5750/28418 4987/5775/28419 -f 4988/5776/28420 4987/5775/28421 4975/5750/28422 -f 4975/5750/28423 4976/5752/28424 4988/5776/28425 -f 4989/5777/28426 4988/5778/28427 4976/5756/28428 -f 4976/5756/28429 4977/5755/28430 4989/5777/28431 -f 4990/5779/28432 4989/5777/28433 4977/5755/28434 -f 4977/5755/28435 4978/5758/28436 4990/5779/28437 -f 4985/5774/28438 4990/5779/28439 4978/5758/28440 -f 4978/5758/28441 4973/5748/28442 4985/5774/28443 -f 4992/5780/28444 4991/5781/28445 4979/5762/28446 -f 4979/5762/28447 4980/5761/28448 4992/5780/28449 -f 4993/5782/28450 4992/5780/28451 4980/5761/28452 -f 4980/5761/28453 4981/5764/28454 4993/5782/28455 -f 4994/5783/28456 4993/5782/28457 4981/5764/28458 -f 4981/5764/28459 4982/5766/28460 4994/5783/28461 -f 4995/5784/28462 4994/5783/28463 4982/5766/28464 -f 4982/5766/28465 4983/5768/28466 4995/5784/28467 -f 4996/5785/28468 4995/5786/28469 4983/5772/28470 -f 4983/5772/28471 4984/5771/28472 4996/5785/28473 -f 4991/5781/28474 4996/5785/28475 4984/5771/28476 -f 4984/5771/28477 4979/5762/28478 4991/5781/28479 -f 4998/5787/28480 4997/5788/28481 4985/5774/28482 -f 4985/5774/28483 4986/5773/28484 4998/5787/28485 -f 4999/5789/28486 4998/5787/28487 4986/5773/28488 -f 4986/5773/28489 4987/5775/28490 4999/5789/28491 -f 5000/5790/28492 4999/5789/28493 4987/5775/28494 -f 4987/5775/28495 4988/5776/28496 5000/5790/28497 -f 5001/5791/28498 5000/5792/28499 4988/5778/28500 -f 4988/5778/28501 4989/5777/28502 5001/5791/28503 -f 5002/5793/28504 5001/5791/28505 4989/5777/28506 -f 4989/5777/28507 4990/5779/28508 5002/5793/28509 -f 4997/5788/28510 5002/5793/28511 4990/5779/28512 -f 4990/5779/28513 4985/5774/28514 4997/5788/28515 -f 5004/5724/28516 5003/5723/28517 4991/5781/28518 -f 4991/5781/28519 4992/5780/28520 5004/5724/28521 -f 5005/5728/28522 5004/5724/28523 4992/5780/28524 -f 4992/5780/28525 4993/5782/28526 5005/5728/28527 -f 5006/5732/28528 5005/5728/28529 4993/5782/28530 -f 4993/5782/28531 4994/5783/28532 5006/5732/28533 -f 5007/5736/28534 5006/5732/28535 4994/5783/28536 -f 4994/5783/28537 4995/5784/28538 5007/5736/28539 -f 5008/5744/28540 5007/5743/28541 4995/5786/28542 -f 4995/5786/28543 4996/5785/28544 5008/5744/28545 -f 5003/5723/28546 5008/5744/28547 4996/5785/28548 -f 4996/5785/28549 4991/5781/28550 5003/5723/28551 -f 5012/5796/28552 5011/5797/28553 5010/5794/28554 -f 5010/5794/28555 5009/5795/28556 5012/5796/28557 -f 5012/5796/28558 5014/5799/28559 5013/5798/28560 -f 5013/5798/28561 5011/5797/28562 5012/5796/28563 -f 5015/5800/28564 5014/5799/28565 5012/5796/28566 -f 5012/5796/28567 5009/5795/28568 5015/5800/28569 -f 5014/5799/28570 5015/5800/28571 5016/5801/28572 -f 5016/5801/28573 5017/5802/28574 5014/5799/28575 -f 5013/5798/28576 5014/5799/28577 5017/5802/28578 -f 5017/5802/28579 5022/5803/28580 5013/5798/28581 -f 5011/5885/28582 5013/5798/28583 5022/5803/28584 -f 5022/5803/28585 5018/5804/28586 5011/5885/28587 -f 5010/5806/28588 5011/5885/28589 5018/5804/28590 -f 5018/5804/28591 5019/5805/28592 5010/5806/28593 -f 5009/5884/28594 5010/5809/28595 5019/5807/28596 -f 5019/5807/28597 5023/5808/28598 5009/5884/28599 -f 5015/5800/28600 5009/5884/28601 5023/5808/28602 -f 5023/5808/28603 5016/5801/28604 5015/5800/28605 -f 5021/5878/28606 5020/5667/28607 5105/5810/28608 -f 5105/5810/28609 5106/5811/28610 5021/5878/28611 -f 5020/5667/28612 4961/5883/28613 5107/5812/28614 -f 5107/5812/28615 5105/5810/28616 5020/5667/28617 -f 4961/5883/28618 4964/5882/28619 5108/5813/28620 -f 5108/5813/28621 5107/5812/28622 4961/5883/28623 -f 4964/5882/28624 4967/5881/28625 5109/5814/28626 -f 5109/5814/28627 5108/5813/28628 4964/5882/28629 -f 4967/5880/28630 4970/5879/28631 5110/5815/28632 -f 5110/5815/28633 5109/5816/28634 4967/5880/28635 -f 4970/5879/28636 5021/5878/28637 5106/5811/28638 -f 5106/5811/28639 5110/5815/28640 4970/5879/28641 -f 5030/5819/28642 5029/5820/28643 5024/5817/28644 -f 5024/5817/28645 5025/5818/28646 5030/5819/28647 -s 2 -f 5031/5822/28648 5030/5819/28649 5025/5818/28650 -f 5025/5818/28651 5026/5821/28652 5031/5822/28653 -s 4 -f 5032/5825/28654 5031/5826/28655 5026/5823/28656 -f 5026/5823/28657 5027/5824/28658 5032/5825/28659 -f 5033/5828/28660 5032/5825/28661 5027/5824/28662 -f 5027/5824/28663 5028/5827/28664 5033/5828/28665 -s 1 -f 5029/5820/28666 5033/5828/28667 5028/5827/28668 -f 5028/5827/28669 5024/5817/28670 5029/5820/28671 -f 5035/5829/28672 5034/5830/28673 5029/5820/28674 -f 5029/5820/28675 5030/5819/28676 5035/5829/28677 -s 2 -f 5036/5831/28678 5035/5829/28679 5030/5819/28680 -f 5030/5819/28681 5031/5822/28682 5036/5831/28683 -s 4 -f 5037/5832/28684 5036/5833/28685 5031/5826/28686 -f 5031/5826/28687 5032/5825/28688 5037/5832/28689 -f 5038/5834/28690 5037/5832/28691 5032/5825/28692 -f 5032/5825/28693 5033/5828/28694 5038/5834/28695 -s 1 -f 5034/5830/28696 5038/5834/28697 5033/5828/28698 -f 5033/5828/28699 5029/5820/28700 5034/5830/28701 -f 5040/5835/28702 5039/5836/28703 5034/5830/28704 -f 5034/5830/28705 5035/5829/28706 5040/5835/28707 -s 2 -f 5041/5837/28708 5040/5835/28709 5035/5829/28710 -f 5035/5829/28711 5036/5831/28712 5041/5837/28713 -s 4 -f 5042/5838/28714 5041/5839/28715 5036/5833/28716 -f 5036/5833/28717 5037/5832/28718 5042/5838/28719 -f 5043/5840/28720 5042/5838/28721 5037/5832/28722 -f 5037/5832/28723 5038/5834/28724 5043/5840/28725 -s 1 -f 5039/5836/28726 5043/5840/28727 5038/5834/28728 -f 5038/5834/28729 5034/5830/28730 5039/5836/28731 -f 5045/5841/28732 5044/5842/28733 5039/5836/28734 -f 5039/5836/28735 5040/5835/28736 5045/5841/28737 -s 2 -f 5046/5843/28738 5045/5841/28739 5040/5835/28740 -f 5040/5835/28741 5041/5837/28742 5046/5843/28743 -s 4 -f 5047/5844/28744 5046/5845/28745 5041/5839/28746 -f 5041/5839/28747 5042/5838/28748 5047/5844/28749 -f 5048/5846/28750 5047/5844/28751 5042/5838/28752 -f 5042/5838/28753 5043/5840/28754 5048/5846/28755 -s 1 -f 5044/5842/28756 5048/5846/28757 5043/5840/28758 -f 5043/5840/28759 5039/5836/28760 5044/5842/28761 -f 5050/5847/28762 5049/5848/28763 5044/5842/28764 -f 5044/5842/28765 5045/5841/28766 5050/5847/28767 -s 2 -f 5051/5849/28768 5050/5847/28769 5045/5841/28770 -f 5045/5841/28771 5046/5843/28772 5051/5849/28773 -s 4 -f 5052/5850/28774 5051/5851/28775 5046/5845/28776 -f 5046/5845/28777 5047/5844/28778 5052/5850/28779 -f 5053/5852/28780 5052/5850/28781 5047/5844/28782 -f 5047/5844/28783 5048/5846/28784 5053/5852/28785 -s 1 -f 5049/5848/28786 5053/5852/28787 5048/5846/28788 -f 5048/5846/28789 5044/5842/28790 5049/5848/28791 -f 5055/5853/28792 5054/5854/28793 5049/5848/28794 -f 5049/5848/28795 5050/5847/28796 5055/5853/28797 -s 2 -f 5056/5855/28798 5055/5853/28799 5050/5847/28800 -f 5050/5847/28801 5051/5849/28802 5056/5855/28803 -s 4 -f 5057/5856/28804 5056/5857/28805 5051/5851/28806 -f 5051/5851/28807 5052/5850/28808 5057/5856/28809 -f 5058/5858/28810 5057/5856/28811 5052/5850/28812 -f 5052/5850/28813 5053/5852/28814 5058/5858/28815 -s 1 -f 5054/5854/28816 5058/5858/28817 5053/5852/28818 -f 5053/5852/28819 5049/5848/28820 5054/5854/28821 -f 5060/5859/28822 5059/5860/28823 5054/5854/28824 -f 5054/5854/28825 5055/5853/28826 5060/5859/28827 -s 2 -f 5061/5861/28828 5060/5859/28829 5055/5853/28830 -f 5055/5853/28831 5056/5855/28832 5061/5861/28833 -s 4 -f 5062/5862/28834 5061/5863/28835 5056/5857/28836 -f 5056/5857/28837 5057/5856/28838 5062/5862/28839 -f 5063/5864/28840 5062/5862/28841 5057/5856/28842 -f 5057/5856/28843 5058/5858/28844 5063/5864/28845 -s 1 -f 5059/5860/28846 5063/5864/28847 5058/5858/28848 -f 5058/5858/28849 5054/5854/28850 5059/5860/28851 -f 5065/5865/28852 5064/5866/28853 5059/5860/28854 -f 5059/5860/28855 5060/5859/28856 5065/5865/28857 -s 2 -f 5066/5867/28858 5065/5865/28859 5060/5859/28860 -f 5060/5859/28861 5061/5861/28862 5066/5867/28863 -s 4 -f 5067/5868/28864 5066/5869/28865 5061/5863/28866 -f 5061/5863/28867 5062/5862/28868 5067/5868/28869 -f 5068/5870/28870 5067/5868/28871 5062/5862/28872 -f 5062/5862/28873 5063/5864/28874 5068/5870/28875 -s 1 -f 5064/5866/28876 5068/5870/28877 5063/5864/28878 -f 5063/5864/28879 5059/5860/28880 5064/5866/28881 -f 5069/5677/28882 5070/5676/28883 4931/5675/28884 -f 4931/5675/28885 4922/5674/28886 5069/5677/28887 -f 5071/5686/28888 5069/5677/28889 4922/5674/28890 -f 4922/5674/28891 4934/5685/28892 5071/5686/28893 -f 5072/5693/28894 5071/5686/28895 4934/5685/28896 -f 4934/5685/28897 4940/5692/28898 5072/5693/28899 -f 5073/5700/28900 5072/5693/28901 4940/5692/28902 -f 4940/5692/28903 4946/5699/28904 5073/5700/28905 -f 5074/5707/28906 5073/5700/28907 4946/5699/28908 -f 4946/5699/28909 4952/5706/28910 5074/5707/28911 -f 5070/5676/28912 5074/5714/28913 4952/5713/28914 -f 4952/5713/28915 4931/5675/28916 5070/5676/28917 -f 5075/5681/28918 5076/5680/28919 4930/5679/28920 -f 4930/5679/28921 4923/5678/28922 5075/5681/28923 -f 5077/5688/28924 5075/5681/28925 4923/5678/28926 -f 4923/5678/28927 4935/5687/28928 5077/5688/28929 -f 5078/5695/28930 5077/5688/28931 4935/5687/28932 -f 4935/5687/28933 4941/5694/28934 5078/5695/28935 -f 5079/5702/28936 5078/5695/28937 4941/5694/28938 -f 4941/5694/28939 4947/5701/28940 5079/5702/28941 -f 5080/5709/28942 5079/5702/28943 4947/5701/28944 -f 4947/5701/28945 4953/5708/28946 5080/5709/28947 -f 5076/5680/28948 5080/5716/28949 4953/5715/28950 -f 4953/5715/28951 4930/5679/28952 5076/5680/28953 -f 5082/5637/28954 5081/5636/28955 4925/5671/28956 -f 4925/5671/28957 4928/5670/28958 5082/5637/28959 -f 5081/5636/28960 5083/5640/28961 4937/5683/28962 -f 4937/5683/28963 4925/5671/28964 5081/5636/28965 -f 5083/5640/28966 5084/5642/28967 4943/5690/28968 -f 4943/5690/28969 4937/5683/28970 5083/5640/28971 -f 5084/5642/28972 5085/5644/28973 4949/5697/28974 -f 4949/5697/28975 4943/5690/28976 5084/5642/28977 -f 5085/5644/28978 5086/5646/28979 4955/5704/28980 -f 4955/5704/28981 4949/5697/28982 5085/5644/28983 -f 5086/5648/28984 5082/5637/28985 4928/5670/28986 -f 4928/5670/28987 4955/5711/28988 5086/5648/28989 -f 5088/5669/28990 5087/5668/28991 4926/5871/28992 -f 4926/5871/28993 4927/5872/28994 5088/5669/28995 -f 5087/5668/28996 5089/5682/28997 4938/5873/28998 -f 4938/5873/28999 4926/5871/29000 5087/5668/29001 -f 5089/5682/29002 5090/5689/29003 4944/5874/29004 -f 4944/5874/29005 4938/5873/29006 5089/5682/29007 -f 5090/5689/29008 5091/5696/29009 4950/5875/29010 -f 4950/5875/29011 4944/5874/29012 5090/5689/29013 -f 5091/5696/29014 5092/5703/29015 4956/5876/29016 -f 4956/5876/29017 4950/5875/29018 5091/5696/29019 -f 5092/5710/29020 5088/5669/29021 4927/5872/29022 -f 4927/5872/29023 4956/5877/29024 5092/5710/29025 -f 5093/5722/29026 5094/5721/29027 4957/5720/29028 -f 4957/5720/29029 4958/5719/29030 5093/5722/29031 -f 5094/5721/29032 5095/5727/29033 4962/5726/29034 -f 4962/5726/29035 4957/5720/29036 5094/5721/29037 -f 5095/5727/29038 5096/5731/29039 4965/5730/29040 -f 4965/5730/29041 4962/5726/29042 5095/5727/29043 -f 5096/5731/29044 5097/5735/29045 4968/5734/29046 -f 4968/5734/29047 4965/5730/29048 5096/5731/29049 -f 5097/5742/29050 5098/5741/29051 4971/5740/29052 -f 4971/5740/29053 4968/5739/29054 5097/5742/29055 -f 5098/5741/29056 5093/5722/29057 4958/5719/29058 -f 4958/5719/29059 4971/5740/29060 5098/5741/29061 -f 5099/5718/29062 5100/5717/29063 4997/5788/29064 -f 4997/5788/29065 4998/5787/29066 5099/5718/29067 -f 5100/5717/29068 5101/5725/29069 5002/5793/29070 -f 5002/5793/29071 4997/5788/29072 5100/5717/29073 -f 5101/5725/29074 5102/5729/29075 5001/5791/29076 -f 5001/5791/29077 5002/5793/29078 5101/5725/29079 -f 5102/5729/29080 5103/5733/29081 5000/5792/29082 -f 5000/5792/29083 5001/5791/29084 5102/5729/29085 -f 5103/5738/29086 5104/5737/29087 4999/5789/29088 -f 4999/5789/29089 5000/5790/29090 5103/5738/29091 -f 5104/5737/29092 5099/5718/29093 4998/5787/29094 -f 4998/5787/29095 4999/5789/29096 5104/5737/29097 -f 5106/5811/29098 5105/5810/29099 5017/5802/29100 -f 5017/5802/29101 5016/5801/29102 5106/5811/29103 -f 5105/5810/29104 5107/5812/29105 5022/5803/29106 -f 5022/5803/29107 5017/5802/29108 5105/5810/29109 -f 5107/5812/29110 5108/5813/29111 5018/5804/29112 -f 5018/5804/29113 5022/5803/29114 5107/5812/29115 -f 5108/5813/29116 5109/5814/29117 5019/5805/29118 -f 5019/5805/29119 5018/5804/29120 5108/5813/29121 -f 5109/5816/29122 5110/5815/29123 5023/5808/29124 -f 5023/5808/29125 5019/5807/29126 5109/5816/29127 -f 5110/5815/29128 5106/5811/29129 5016/5801/29130 -f 5016/5801/29131 5023/5808/29132 5110/5815/29133 -f 5111/5898/29134 5114/5901/29135 5113/5902/29136 -f 5113/5902/29137 5112/5897/29138 5111/5898/29139 -f 5113/5902/29140 5114/5901/29141 5115/5904/29142 -f 5115/5904/29143 5116/5906/29144 5113/5902/29145 -f 5118/5910/29146 5111/5898/29147 5112/5897/29148 -f 5112/5897/29149 5117/5907/29150 5118/5910/29151 -f 5120/5924/29152 5118/5910/29153 5117/5907/29154 -f 5117/5907/29155 5119/5912/29156 5120/5924/29157 -f 5116/5906/29158 5115/5904/29159 5173/5925/29160 -f 5173/5925/29161 5172/5926/29162 5116/5906/29163 -f 5121/5927/29164 5122/5928/29165 5119/5912/29166 -f 5119/5912/29167 5117/5907/29168 5121/5927/29169 -f 5123/5929/29170 5124/5930/29171 5122/5928/29172 -f 5122/5928/29173 5121/5927/29174 5123/5929/29175 -f 5126/5932/29176 5123/5929/29177 5121/5927/29178 -f 5121/5927/29179 5125/5931/29180 5126/5932/29181 -f 5128/5934/29182 5126/5932/29183 5125/5931/29184 -f 5125/5931/29185 5127/5933/29186 5128/5934/29187 -f 5129/5935/29188 5128/5934/29189 5127/5933/29190 -f 5131/5899/29191 5126/5900/29192 5128/5903/29193 -f 5128/5903/29194 5130/5896/29195 5131/5899/29196 -f 5132/5905/29197 5133/5908/29198 5124/5909/29199 -f 5124/5909/29200 5123/5911/29201 5132/5905/29202 -f 5123/5911/29203 5126/5900/29204 5131/5899/29205 -f 5131/5899/29206 5132/5905/29207 5123/5911/29208 -f 5133/5921/29209 5132/5922/29210 5134/5919/29211 -f 5134/5919/29212 5135/5920/29213 5133/5921/29214 -f 5132/5922/29215 5131/5966/29216 5136/5969/29217 -f 5136/5969/29218 5134/5919/29219 5132/5922/29220 -f 5136/5969/29221 5131/5966/29222 5130/5970/29223 -f 5130/5970/29224 5137/5974/29225 5136/5969/29226 -f 5128/5903/29227 5129/5913/29228 5138/5914/29229 -f 5138/5914/29230 5130/5896/29231 5128/5903/29232 -f 5137/5974/29233 5130/5970/29234 5138/5976/29235 -f 5138/5976/29236 5139/5975/29237 5137/5974/29238 -f 5142/5937/29239 5125/5931/29240 5121/5927/29241 -f 5121/5927/29242 5140/5936/29243 5142/5937/29244 -f 5140/5936/29245 5121/5927/29246 5117/5907/29247 -f 5117/5907/29248 5112/5897/29249 5140/5936/29250 -f 5112/5897/29251 5113/5902/29252 5140/5936/29253 -f 5141/5938/29254 5140/5936/29255 5113/5902/29256 -f 5113/5902/29257 5116/5906/29258 5141/5938/29259 -f 5143/5939/29260 5142/5937/29261 5140/5936/29262 -f 5140/5936/29263 5141/5938/29264 5143/5939/29265 -f 5125/5931/29266 5142/5937/29267 5144/5940/29268 -f 5144/5940/29269 5127/5933/29270 5125/5931/29271 -f 5144/5940/29272 5142/5937/29273 5145/5941/29274 -f 5127/5933/29275 5144/5940/29276 5146/5942/29277 -f 5146/5942/29278 5129/5935/29279 5127/5933/29280 -f 5145/5941/29281 5148/5943/29282 5144/5940/29283 -f 5147/5944/29284 5146/5942/29285 5144/5940/29286 -f 5148/5943/29287 5147/5944/29288 5144/5940/29289 -f 5149/5945/29290 5150/5946/29291 5148/5943/29292 -f 5148/5943/29293 5145/5941/29294 5149/5945/29295 -f 5145/5941/29296 5142/5937/29297 5151/5947/29298 -f 5151/5947/29299 5149/5945/29300 5145/5941/29301 -f 5152/5948/29302 5151/5947/29303 5142/5937/29304 -f 5142/5937/29305 5143/5939/29306 5152/5948/29307 -f 5143/5939/29308 5141/5938/29309 5154/5949/29310 -f 5153/5950/29311 5152/5948/29312 5143/5939/29313 -f 5143/5939/29314 5154/5949/29315 5153/5950/29316 -f 5156/5952/29317 5154/5949/29318 5157/5953/29319 -f 5157/5953/29320 5155/5951/29321 5156/5952/29322 -f 5159/5955/29323 5157/5953/29324 5161/5956/29325 -f 5161/5956/29326 5158/5954/29327 5159/5955/29328 -f 5141/5938/29329 5116/5906/29330 5161/5956/29331 -f 5160/5957/29332 5169/5959/29333 5116/5906/29334 -f 5116/5906/29335 5172/5926/29336 5160/5957/29337 -f 5161/5956/29338 5162/5962/29339 5163/5960/29340 -f 5163/5960/29341 5183/5961/29342 5161/5956/29343 -s 2 -f 5161/5956/29344 5183/5961/29345 5164/5963/29346 -f 5164/5963/29347 5158/5954/29348 5161/5956/29349 -f 5165/5964/29350 5180/5965/29351 5153/5950/29352 -f 5153/5950/29353 5154/5949/29354 5165/5964/29355 -s 4 -f 5166/5967/29356 5165/5964/29357 5154/5949/29358 -f 5154/5949/29359 5156/5952/29360 5166/5967/29361 -f 5157/5953/29362 5159/5955/29363 5167/5968/29364 -f 5167/5968/29365 5182/5978/29366 5157/5953/29367 -s 2 -f 5157/5953/29368 5182/5978/29369 5168/5985/29370 -f 5168/5985/29371 5155/5951/29372 5157/5953/29373 -s 8 -f 5166/5967/29374 5156/5952/29375 5155/5951/29376 -f 5155/5951/29377 5168/5985/29378 5166/5967/29379 -s 4 -f 5167/5968/29380 5159/5955/29381 5158/5954/29382 -f 5158/5954/29383 5164/5963/29384 5167/5968/29385 -s 1 -f 5169/5959/29386 5161/5956/29387 5116/5906/29388 -f 5162/5962/29389 5161/5956/29390 5169/5959/29391 -f 5162/5962/29392 5169/5959/29393 5170/5986/29394 -f 5170/5986/29395 5163/5960/29396 5162/5962/29397 -f 5160/5957/29398 5171/5987/29399 5170/5986/29400 -f 5170/5986/29401 5169/5959/29402 5160/5957/29403 -f 5171/5987/29404 5160/5957/29405 5172/5926/29406 -f 5172/5926/29407 5173/5925/29408 5171/5987/29409 -s 2 -f 5129/5935/29410 5146/5942/29411 5139/5988/29412 -f 5139/5988/29413 5138/5989/29414 5129/5935/29415 -f 5146/5942/29416 5147/5944/29417 5174/5990/29418 -f 5174/5990/29419 5139/5988/29420 5146/5942/29421 -s 1 -f 5139/5975/29422 5174/5979/29423 5175/5977/29424 -f 5175/5977/29425 5137/5974/29426 5139/5975/29427 -s 4 -f 5177/5998/29428 5150/5946/29429 5149/5945/29430 -f 5149/5945/29431 5176/5997/29432 5177/5998/29433 -f 5149/5945/29434 5151/5947/29435 5178/6001/29436 -f 5178/6001/29437 5176/5997/29438 5149/5945/29439 -f 5152/5948/29440 5179/6002/29441 5178/6001/29442 -f 5178/6001/29443 5151/5947/29444 5152/5948/29445 -f 5153/5950/29446 5180/5965/29447 5179/6002/29448 -f 5179/6002/29449 5152/5948/29450 5153/5950/29451 -s 1 -f 5180/5984/29452 5165/6005/29453 5181/5981/29454 -f 5181/5981/29455 5179/5982/29456 5180/5984/29457 -f 5166/6007/29458 5168/6008/29459 5182/6006/29460 -f 5182/6006/29461 5165/6005/29462 5166/6007/29463 -f 5167/6010/29464 5164/6011/29465 5183/6009/29466 -f 5183/6009/29467 5182/6006/29468 5167/6010/29469 -f 5163/6024/29470 5170/6025/29471 5184/6012/29472 -f 5184/6012/29473 5183/6009/29474 5163/6024/29475 -f 5184/6012/29476 5170/6025/29477 5171/6032/29478 -f 5171/6032/29479 5185/6063/29480 5184/6012/29481 -f 5186/6065/29482 5185/6063/29483 5171/6032/29484 -f 5171/6032/29485 5173/6064/29486 5186/6065/29487 -f 5188/6066/29488 5303/6177/29489 5186/6065/29490 -f 5188/5915/29491 5186/5916/29492 5115/5917/29493 -f 5115/5917/29494 5114/5918/29495 5188/5915/29496 -f 5186/5916/29497 5173/5923/29498 5115/5917/29499 -f 5187/5958/29500 5188/5915/29501 5114/5918/29502 -f 5114/5918/29503 5111/5971/29504 5187/5958/29505 -f 5188/6066/29506 5187/6073/29507 5302/6176/29508 -f 5302/6176/29509 5303/6177/29510 5188/6066/29511 -f 5184/6012/29512 5189/6075/29513 5190/6079/29514 -f 5190/6079/29515 5183/6009/29516 5184/6012/29517 -f 5182/6006/29518 5183/6009/29519 5190/6079/29520 -f 5165/6005/29521 5182/6006/29522 5190/6079/29523 -f 5190/6079/29524 5189/6075/29525 5181/5981/29526 -f 5181/5981/29527 5165/6005/29528 5190/6079/29529 -f 5191/6082/29530 5178/6086/29531 5179/5982/29532 -f 5179/5982/29533 5181/5981/29534 5191/6082/29535 -f 5192/6087/29536 5176/6088/29537 5178/6086/29538 -f 5178/6086/29539 5191/6082/29540 5192/6087/29541 -f 5176/6088/29542 5192/6087/29543 5193/6089/29544 -f 5193/6089/29545 5177/6090/29546 5176/6088/29547 -s 2 -f 5148/5943/29548 5150/5946/29549 5177/5998/29550 -f 5177/5998/29551 5193/6023/29552 5148/5943/29553 -s 4 -f 5147/5944/29554 5148/5943/29555 5193/6023/29556 -f 5193/6023/29557 5174/5990/29558 5147/5944/29559 -s 1 -f 5193/6023/29560 5175/6027/29561 5174/5990/29562 -f 5193/6089/29563 5192/6087/29564 5175/5977/29565 -f 5189/6075/29566 5194/6091/29567 5191/6082/29568 -f 5191/6082/29569 5181/5981/29570 5189/6075/29571 -f 5194/6091/29572 5192/6087/29573 5191/6082/29574 -f 5137/5974/29575 5175/5977/29576 5192/6087/29577 -f 5192/6087/29578 5194/6091/29579 5137/5974/29580 -f 5136/5969/29581 5137/5974/29582 5194/6091/29583 -f 5134/5919/29584 5136/5969/29585 5194/6091/29586 -f 5195/5973/29587 5187/5958/29588 5111/5971/29589 -f 5111/5971/29590 5118/5972/29591 5195/5973/29592 -f 5197/6093/29593 5187/6073/29594 5195/6094/29595 -f 5195/6094/29596 5196/6092/29597 5197/6093/29598 -f 5197/6093/29599 5302/6176/29600 5187/6073/29601 -f 5134/5919/29602 5194/6091/29603 5197/6093/29604 -f 5197/6093/29605 5196/6092/29606 5134/5919/29607 -f 5118/5972/29608 5120/5980/29609 5198/5983/29610 -f 5198/5983/29611 5195/5973/29612 5118/5972/29613 -f 5195/6094/29614 5198/6096/29615 5199/6095/29616 -f 5199/6095/29617 5196/6092/29618 5195/6094/29619 -f 5196/6092/29620 5199/6095/29621 5135/5920/29622 -f 5135/5920/29623 5134/5919/29624 5196/6092/29625 -f 5200/6029/29626 5201/6035/29627 5119/5912/29628 -f 5119/5912/29629 5122/5928/29630 5200/6029/29631 -f 5201/6035/29632 5200/6029/29633 5202/6036/29634 -f 5202/6036/29635 5203/6037/29636 5201/6035/29637 -f 5203/6037/29638 5202/6036/29639 5204/6038/29640 -f 5204/6038/29641 5205/6039/29642 5203/6037/29643 -f 5206/6040/29644 5200/6029/29645 5122/5928/29646 -f 5122/5928/29647 5124/5930/29648 5206/6040/29649 -f 5200/6029/29650 5206/6040/29651 5207/6041/29652 -f 5207/6041/29653 5202/6036/29654 5200/6029/29655 -f 5202/6036/29656 5207/6041/29657 5208/6042/29658 -f 5208/6042/29659 5204/6038/29660 5202/6036/29661 -f 5119/5912/29662 5201/6035/29663 5209/6043/29664 -f 5209/6043/29665 5120/5924/29666 5119/5912/29667 -f 5210/6044/29668 5209/6043/29669 5201/6035/29670 -f 5201/6035/29671 5203/6037/29672 5210/6044/29673 -f 5203/6037/29674 5205/6039/29675 5211/6045/29676 -f 5211/6045/29677 5210/6044/29678 5203/6037/29679 -f 5213/6047/29680 5205/6039/29681 5204/6038/29682 -f 5204/6038/29683 5212/6046/29684 5213/6047/29685 -f 5208/6042/29686 5214/6048/29687 5212/6046/29688 -f 5212/6046/29689 5204/6038/29690 5208/6042/29691 -f 5205/6039/29692 5213/6047/29693 5215/6049/29694 -f 5215/6049/29695 5211/6045/29696 5205/6039/29697 -f 5216/6050/29698 5217/6051/29699 5213/6047/29700 -f 5213/6047/29701 5212/6046/29702 5216/6050/29703 -f 5218/6052/29704 5216/6050/29705 5212/6046/29706 -f 5212/6046/29707 5214/6048/29708 5218/6052/29709 -f 5213/6047/29710 5217/6051/29711 5219/6053/29712 -f 5219/6053/29713 5215/6049/29714 5213/6047/29715 -f 5221/6098/29716 5135/5920/29717 5199/6095/29718 -f 5199/6095/29719 5220/6097/29720 5221/6098/29721 -f 5223/6100/29722 5221/6098/29723 5220/6097/29724 -f 5220/6097/29725 5222/6099/29726 5223/6100/29727 -f 5225/6102/29728 5223/6100/29729 5222/6099/29730 -f 5222/6099/29731 5224/6101/29732 5225/6102/29733 -f 5225/6102/29734 5224/6101/29735 5226/6103/29736 -f 5226/6103/29737 5227/6104/29738 5225/6102/29739 -f 5228/6105/29740 5220/6097/29741 5199/6095/29742 -f 5199/6095/29743 5198/6096/29744 5228/6105/29745 -f 5220/6097/29746 5228/6105/29747 5229/6106/29748 -f 5229/6106/29749 5222/6099/29750 5220/6097/29751 -f 5230/6107/29752 5224/6101/29753 5222/6099/29754 -f 5222/6099/29755 5229/6106/29756 5230/6107/29757 -f 5231/6108/29758 5226/6103/29759 5224/6101/29760 -f 5224/6101/29761 5230/6107/29762 5231/6108/29763 -f 5135/5920/29764 5221/6098/29765 5232/6109/29766 -f 5232/6109/29767 5133/5921/29768 5135/5920/29769 -f 5221/6098/29770 5223/6100/29771 5233/6110/29772 -f 5233/6110/29773 5232/6109/29774 5221/6098/29775 -f 5223/6100/29776 5225/6102/29777 5234/6111/29778 -f 5234/6111/29779 5233/6110/29780 5223/6100/29781 -f 5235/6112/29782 5234/6111/29783 5225/6102/29784 -f 5225/6102/29785 5227/6104/29786 5235/6112/29787 -f 5133/5908/29788 5232/5991/29789 5206/5992/29790 -f 5206/5992/29791 5124/5909/29792 5133/5908/29793 -f 5232/5991/29794 5233/5993/29795 5207/5994/29796 -f 5207/5994/29797 5206/5992/29798 5232/5991/29799 -f 5234/5995/29800 5208/5996/29801 5207/5994/29802 -f 5207/5994/29803 5233/5993/29804 5234/5995/29805 -f 5235/5999/29806 5214/6000/29807 5208/5996/29808 -f 5208/5996/29809 5234/5995/29810 5235/5999/29811 -f 5235/5999/29812 5218/6003/29813 5214/6000/29814 -f 5209/6004/29815 5228/6013/29816 5198/5983/29817 -f 5198/5983/29818 5120/5980/29819 5209/6004/29820 -f 5210/6014/29821 5229/6015/29822 5228/6013/29823 -f 5228/6013/29824 5209/6004/29825 5210/6014/29826 -f 5211/6016/29827 5230/6017/29828 5229/6015/29829 -f 5229/6015/29830 5210/6014/29831 5211/6016/29832 -f 5211/6016/29833 5215/6018/29834 5231/6019/29835 -f 5231/6019/29836 5230/6017/29837 5211/6016/29838 -f 5215/6018/29839 5219/6020/29840 5231/6019/29841 -f 5236/6021/29842 5237/6022/29843 5218/6003/29844 -f 5218/6003/29845 5235/5999/29846 5236/6021/29847 -f 5218/6052/29848 5237/6055/29849 5238/6054/29850 -f 5238/6054/29851 5216/6050/29852 5218/6052/29853 -f 5239/6114/29854 5236/6113/29855 5235/6112/29856 -f 5235/6112/29857 5227/6104/29858 5239/6114/29859 -f 5226/6103/29860 5240/6115/29861 5239/6114/29862 -f 5239/6114/29863 5227/6104/29864 5226/6103/29865 -f 5241/6116/29866 5240/6115/29867 5226/6103/29868 -f 5226/6103/29869 5231/6108/29870 5241/6116/29871 -f 5216/6050/29872 5238/6054/29873 5242/6056/29874 -f 5242/6056/29875 5217/6051/29876 5216/6050/29877 -f 5217/6051/29878 5242/6056/29879 5243/6057/29880 -f 5243/6057/29881 5219/6053/29882 5217/6051/29883 -f 5241/6028/29884 5231/6019/29885 5219/6020/29886 -f 5219/6020/29887 5243/6026/29888 5241/6028/29889 -f 5244/6058/29890 5245/6067/29891 5243/6057/29892 -f 5243/6057/29893 5242/6056/29894 5244/6058/29895 -f 5246/6117/29896 5247/6118/29897 5240/6115/29898 -f 5240/6115/29899 5241/6116/29900 5246/6117/29901 -f 5243/6026/29902 5245/6030/29903 5246/6031/29904 -f 5246/6031/29905 5241/6028/29906 5243/6026/29907 -f 5246/6031/29908 5245/6030/29909 5248/6033/29910 -f 5248/6033/29911 5249/6034/29912 5246/6031/29913 -f 5248/6068/29914 5245/6067/29915 5244/6058/29916 -f 5249/6119/29917 5247/6118/29918 5246/6117/29919 -f 5249/6071/29920 5248/6068/29921 5250/6069/29922 -f 5250/6069/29923 5251/6070/29924 5249/6071/29925 -f 5250/6069/29926 5248/6068/29927 5244/6058/29928 -f 5252/6072/29929 5253/6074/29930 5250/6069/29931 -f 5250/6069/29932 5244/6058/29933 5252/6072/29934 -f 5254/6076/29935 5255/6077/29936 5253/6074/29937 -f 5253/6074/29938 5252/6072/29939 5254/6076/29940 -f 5256/6078/29941 5252/6072/29942 5244/6058/29943 -f 5244/6058/29944 5242/6056/29945 5256/6078/29946 -f 5256/6078/29947 5254/6076/29948 5252/6072/29949 -f 5257/6080/29950 5258/6081/29951 5254/6076/29952 -f 5254/6076/29953 5256/6078/29954 5257/6080/29955 -f 5259/6084/29956 5260/6085/29957 5254/6076/29958 -f 5254/6076/29959 5258/6081/29960 5259/6084/29961 -f 5262/6147/29962 5259/6084/29963 5258/6081/29964 -f 5258/6081/29965 5261/6146/29966 5262/6147/29967 -f 5261/6146/29968 5258/6081/29969 5257/6080/29970 -f 5264/6149/29971 5262/6147/29972 5261/6146/29973 -f 5261/6146/29974 5263/6148/29975 5264/6149/29976 -f 5265/6150/29977 5263/6148/29978 5267/6152/29979 -f 5267/6152/29980 5268/6153/29981 5265/6150/29982 -f 5270/6155/29983 5268/6153/29984 5267/6152/29985 -f 5267/6152/29986 5269/6154/29987 5270/6155/29988 -f 5261/6146/29989 5257/6080/29990 5267/6152/29991 -f 5267/6152/29992 5263/6148/29993 5261/6146/29994 -f 5271/6156/29995 5272/6157/29996 5299/6158/29997 -f 5273/6159/29998 5271/6156/29999 5267/6152/30000 -f 5267/6152/30001 5257/6080/30002 5273/6159/30003 -f 5257/6080/30004 5256/6078/30005 5242/6056/30006 -f 5242/6056/30007 5238/6054/30008 5257/6080/30009 -f 5273/6159/30010 5257/6080/30011 5238/6054/30012 -f 5274/6160/30013 5273/6159/30014 5238/6054/30015 -f 5238/6054/30016 5237/6055/30017 5274/6160/30018 -f 5275/6161/30019 5271/6156/30020 5273/6159/30021 -f 5273/6159/30022 5274/6160/30023 5275/6161/30024 -f 5276/6060/30025 5274/6059/30026 5237/6022/30027 -f 5237/6022/30028 5236/6021/30029 5276/6060/30030 -f 5274/6059/30031 5276/6060/30032 5277/6061/30033 -f 5277/6061/30034 5275/6062/30035 5274/6059/30036 -f 5278/6120/30037 5279/6121/30038 5240/6115/30039 -f 5240/6115/30040 5247/6118/30041 5278/6120/30042 -f 5286/6122/30043 5280/6123/30044 5279/6121/30045 -f 5279/6121/30046 5278/6120/30047 5286/6122/30048 -f 5239/6114/30049 5240/6115/30050 5279/6121/30051 -f 5279/6121/30052 5280/6123/30053 5239/6114/30054 -f 5281/6124/30055 5239/6114/30056 5280/6123/30057 -f 5247/6118/30058 5249/6119/30059 5251/6125/30060 -f 5251/6125/30061 5278/6120/30062 5247/6118/30063 -f 5278/6120/30064 5251/6125/30065 5282/6126/30066 -f 5282/6126/30067 5286/6122/30068 5278/6120/30069 -f 5253/6074/30070 5282/6162/30071 5251/6070/30072 -f 5251/6070/30073 5250/6069/30074 5253/6074/30075 -f 5253/6074/30076 5255/6077/30077 5283/6163/30078 -f 5283/6163/30079 5282/6162/30080 5253/6074/30081 -f 5286/6122/30082 5282/6126/30083 5283/6127/30084 -s 2 -f 5285/6165/30085 5260/6085/30086 5259/6084/30087 -f 5259/6084/30088 5284/6164/30089 5285/6165/30090 -s 1 -f 5286/6122/30091 5285/6129/30092 5284/6130/30093 -f 5284/6130/30094 5288/6128/30095 5286/6122/30096 -s 4 -f 5285/6165/30097 5286/6166/30098 5254/6076/30099 -f 5254/6076/30100 5260/6085/30101 5285/6165/30102 -s 2 -f 5283/6163/30103 5255/6077/30104 5254/6076/30105 -f 5254/6076/30106 5286/6166/30107 5283/6163/30108 -f 5259/6084/30109 5262/6147/30110 5287/6167/30111 -f 5287/6167/30112 5284/6164/30113 5259/6084/30114 -s 1 -f 5288/6128/30115 5284/6130/30116 5287/6131/30117 -s 2 -f 5262/6147/30118 5264/6149/30119 5289/6168/30120 -f 5289/6168/30121 5287/6167/30122 5262/6147/30123 -s 1 -f 5287/6131/30124 5289/6133/30125 5290/6132/30126 -f 5290/6132/30127 5288/6128/30128 5287/6131/30129 -f 5286/6122/30130 5288/6128/30131 5280/6123/30132 -f 5280/6123/30133 5288/6128/30134 5290/6132/30135 -s 2 -f 5289/6168/30136 5264/6149/30137 5266/6151/30138 -f 5266/6151/30139 5291/6169/30140 5289/6168/30141 -s 1 -f 5289/6133/30142 5291/6135/30143 5292/6134/30144 -f 5292/6134/30145 5290/6132/30146 5289/6133/30147 -f 5293/6136/30148 5294/6137/30149 5290/6132/30150 -f 5290/6132/30151 5292/6134/30152 5293/6136/30153 -f 5280/6123/30154 5290/6132/30155 5294/6137/30156 -f 5294/6137/30157 5293/6136/30158 5295/6138/30159 -f 5295/6138/30160 5296/6139/30161 5294/6137/30162 -f 5280/6123/30163 5294/6137/30164 5297/6140/30165 -f 5297/6140/30166 5281/6124/30167 5280/6123/30168 -f 5297/6140/30169 5277/6141/30170 5276/6142/30171 -f 5276/6142/30172 5281/6124/30173 5297/6140/30174 -f 5236/6113/30175 5239/6114/30176 5281/6124/30177 -f 5281/6124/30178 5276/6142/30179 5236/6113/30180 -f 5294/6137/30181 5296/6139/30182 5300/6143/30183 -f 5297/6140/30184 5294/6137/30185 5300/6143/30186 -f 5297/6140/30187 5300/6143/30188 5301/6144/30189 -f 5301/6144/30190 5298/6145/30191 5277/6141/30192 -f 5277/6141/30193 5297/6140/30194 5301/6144/30195 -f 5275/6062/30196 5277/6061/30197 5298/6083/30198 -f 5275/6161/30199 5298/6170/30200 5272/6157/30201 -f 5272/6157/30202 5271/6156/30203 5275/6161/30204 -s 4 -f 5292/6171/30205 5291/6169/30206 5266/6151/30207 -f 5266/6151/30208 5265/6150/30209 5292/6171/30210 -s 1 -f 5293/6173/30211 5268/6153/30212 5270/6155/30213 -f 5270/6155/30214 5295/6172/30215 5293/6173/30216 -f 5268/6153/30217 5293/6173/30218 5292/6171/30219 -f 5292/6171/30220 5265/6150/30221 5268/6153/30222 -f 5295/6172/30223 5270/6155/30224 5269/6154/30225 -f 5269/6154/30226 5296/6174/30227 5295/6172/30228 -f 5296/6174/30229 5269/6154/30230 5299/6158/30231 -f 5299/6158/30232 5300/6175/30233 5296/6174/30234 -f 5271/6156/30235 5299/6158/30236 5269/6154/30237 -f 5269/6154/30238 5267/6152/30239 5271/6156/30240 -f 5272/6157/30241 5298/6170/30242 5300/6175/30243 -f 5300/6175/30244 5299/6158/30245 5272/6157/30246 -f 5300/6143/30247 5298/6145/30248 5301/6144/30249 -f 5154/5949/30250 5141/5938/30251 5157/5953/30252 -f 5157/5953/30253 5141/5938/30254 5161/5956/30255 -f 5266/6151/30256 5264/6149/30257 5263/6148/30258 -f 5263/6148/30259 5265/6150/30260 5266/6151/30261 -f 5197/6093/30262 5194/6091/30263 5189/6075/30264 -f 5189/6075/30265 5302/6176/30266 5197/6093/30267 -f 5189/6075/30268 5184/6012/30269 5303/6177/30270 -f 5303/6177/30271 5302/6176/30272 5189/6075/30273 -f 5184/6012/30274 5185/6063/30275 5186/6065/30276 -f 5186/6065/30277 5303/6177/30278 5184/6012/30279 -f 5304/6180/30280 5320/6181/30281 5321/6178/30282 -f 5321/6178/30283 5305/6179/30284 5304/6180/30285 -f 5305/6179/30286 5321/6178/30287 5322/6182/30288 -f 5322/6182/30289 5306/6183/30290 5305/6179/30291 -f 5306/6183/30292 5322/6182/30293 5323/6184/30294 -f 5323/6184/30295 5307/6185/30296 5306/6183/30297 -f 5307/6185/30298 5323/6184/30299 5324/6186/30300 -f 5324/6186/30301 5308/6187/30302 5307/6185/30303 -f 5308/6187/30304 5324/6186/30305 5325/6188/30306 -f 5325/6188/30307 5309/6189/30308 5308/6187/30309 -f 5309/6189/30310 5325/6188/30311 5326/6190/30312 -f 5326/6190/30313 5310/6191/30314 5309/6189/30315 -f 5310/6191/30316 5326/6190/30317 5327/6192/30318 -f 5327/6192/30319 5311/6193/30320 5310/6191/30321 -f 5311/6193/30322 5327/6192/30323 5328/6194/30324 -f 5328/6194/30325 5312/6195/30326 5311/6193/30327 -f 5312/6195/30328 5328/6194/30329 5329/6196/30330 -f 5329/6196/30331 5313/6197/30332 5312/6195/30333 -f 5313/6197/30334 5329/6196/30335 5330/6198/30336 -f 5330/6198/30337 5314/6199/30338 5313/6197/30339 -f 5314/6199/30340 5330/6198/30341 5331/6200/30342 -f 5331/6200/30343 5315/6201/30344 5314/6199/30345 -f 5315/6201/30346 5331/6200/30347 5332/6202/30348 -f 5332/6202/30349 5316/6203/30350 5315/6201/30351 -f 5316/6203/30352 5332/6202/30353 5333/6204/30354 -f 5333/6204/30355 5317/6205/30356 5316/6203/30357 -f 5317/6205/30358 5333/6204/30359 5334/6206/30360 -f 5334/6206/30361 5318/6207/30362 5317/6205/30363 -f 5318/6207/30364 5334/6206/30365 5335/6208/30366 -f 5335/6208/30367 5319/6209/30368 5318/6207/30369 -f 5319/6209/30370 5335/6208/30371 5320/6181/30372 -f 5320/6181/30373 5304/6180/30374 5319/6209/30375 -f 5320/6181/30376 5336/6211/30377 5337/6210/30378 -f 5337/6210/30379 5321/6178/30380 5320/6181/30381 -f 5321/6178/30382 5337/6210/30383 5338/6212/30384 -f 5338/6212/30385 5322/6182/30386 5321/6178/30387 -f 5322/6182/30388 5338/6212/30389 5339/6213/30390 -f 5339/6213/30391 5323/6184/30392 5322/6182/30393 -f 5323/6184/30394 5339/6213/30395 5340/6214/30396 -f 5340/6214/30397 5324/6186/30398 5323/6184/30399 -f 5324/6186/30400 5340/6214/30401 5341/6215/30402 -f 5341/6215/30403 5325/6188/30404 5324/6186/30405 -f 5325/6188/30406 5341/6215/30407 5342/6216/30408 -f 5342/6216/30409 5326/6190/30410 5325/6188/30411 -f 5326/6190/30412 5342/6216/30413 5343/6217/30414 -f 5343/6217/30415 5327/6192/30416 5326/6190/30417 -f 5327/6192/30418 5343/6217/30419 5344/6218/30420 -f 5344/6218/30421 5328/6194/30422 5327/6192/30423 -f 5328/6194/30424 5344/6218/30425 5345/6219/30426 -f 5345/6219/30427 5329/6196/30428 5328/6194/30429 -f 5329/6196/30430 5345/6219/30431 5346/6220/30432 -f 5346/6220/30433 5330/6198/30434 5329/6196/30435 -f 5330/6198/30436 5346/6220/30437 5347/6221/30438 -f 5347/6221/30439 5331/6200/30440 5330/6198/30441 -f 5331/6200/30442 5347/6221/30443 5348/6222/30444 -f 5348/6222/30445 5332/6202/30446 5331/6200/30447 -f 5332/6202/30448 5348/6222/30449 5349/6223/30450 -f 5349/6223/30451 5333/6204/30452 5332/6202/30453 -f 5333/6204/30454 5349/6223/30455 5350/6224/30456 -f 5350/6224/30457 5334/6206/30458 5333/6204/30459 -f 5334/6206/30460 5350/6224/30461 5351/6225/30462 -f 5351/6225/30463 5335/6208/30464 5334/6206/30465 -f 5335/6208/30466 5351/6225/30467 5336/6211/30468 -f 5336/6211/30469 5320/6181/30470 5335/6208/30471 -f 5336/6211/30472 5352/6227/30473 5353/6226/30474 -f 5353/6226/30475 5337/6210/30476 5336/6211/30477 -f 5337/6210/30478 5353/6226/30479 5354/6228/30480 -f 5354/6228/30481 5338/6212/30482 5337/6210/30483 -f 5338/6212/30484 5354/6380/30485 5355/6229/30486 -f 5355/6229/30487 5339/6213/30488 5338/6212/30489 -f 5339/6213/30490 5355/6229/30491 5356/6230/30492 -f 5356/6230/30493 5340/6214/30494 5339/6213/30495 -f 5340/6214/30496 5356/6230/30497 5357/6231/30498 -f 5357/6231/30499 5341/6215/30500 5340/6214/30501 -f 5341/6215/30502 5357/6381/30503 5358/6232/30504 -f 5358/6232/30505 5342/6216/30506 5341/6215/30507 -f 5342/6216/30508 5358/6232/30509 5359/6233/30510 -f 5359/6233/30511 5343/6217/30512 5342/6216/30513 -f 5343/6217/30514 5359/6233/30515 5360/6234/30516 -f 5360/6234/30517 5344/6218/30518 5343/6217/30519 -f 5344/6218/30520 5360/6382/30521 5361/6235/30522 -f 5361/6235/30523 5345/6219/30524 5344/6218/30525 -f 5345/6219/30526 5361/6235/30527 5362/6236/30528 -f 5362/6236/30529 5346/6220/30530 5345/6219/30531 -f 5346/6220/30532 5362/6383/30533 5363/6237/30534 -f 5363/6237/30535 5347/6221/30536 5346/6220/30537 -f 5347/6221/30538 5363/6237/30539 5364/6238/30540 -f 5364/6238/30541 5348/6222/30542 5347/6221/30543 -f 5348/6222/30544 5364/6384/30545 5365/6239/30546 -f 5365/6239/30547 5349/6223/30548 5348/6222/30549 -f 5349/6223/30550 5365/6239/30551 5366/6240/30552 -f 5366/6240/30553 5350/6224/30554 5349/6223/30555 -f 5350/6224/30556 5366/6240/30557 5367/6241/30558 -f 5367/6241/30559 5351/6225/30560 5350/6224/30561 -f 5351/6225/30562 5367/6385/30563 5352/6227/30564 -f 5352/6227/30565 5336/6211/30566 5351/6225/30567 -f 5352/6227/30568 5368/6243/30569 5369/6242/30570 -f 5369/6242/30571 5353/6226/30572 5352/6227/30573 -f 5353/6226/30574 5369/6242/30575 5370/6244/30576 -f 5370/6244/30577 5354/6228/30578 5353/6226/30579 -f 5354/6380/30580 5370/6386/30581 5371/6245/30582 -f 5371/6245/30583 5355/6229/30584 5354/6380/30585 -f 5355/6229/30586 5371/6245/30587 5372/6246/30588 -f 5372/6246/30589 5356/6230/30590 5355/6229/30591 -f 5356/6230/30592 5372/6246/30593 5373/6247/30594 -f 5373/6247/30595 5357/6231/30596 5356/6230/30597 -f 5357/6381/30598 5373/6387/30599 5374/6248/30600 -f 5374/6248/30601 5358/6232/30602 5357/6381/30603 -f 5358/6232/30604 5374/6248/30605 5375/6249/30606 -f 5375/6249/30607 5359/6233/30608 5358/6232/30609 -f 5359/6233/30610 5375/6249/30611 5376/6250/30612 -f 5376/6250/30613 5360/6234/30614 5359/6233/30615 -f 5360/6382/30616 5376/6388/30617 5377/6251/30618 -f 5377/6251/30619 5361/6235/30620 5360/6382/30621 -f 5361/6235/30622 5377/6251/30623 5378/6252/30624 -f 5378/6252/30625 5362/6236/30626 5361/6235/30627 -f 5362/6383/30628 5378/6389/30629 5379/6253/30630 -f 5379/6253/30631 5363/6237/30632 5362/6383/30633 -f 5363/6237/30634 5379/6253/30635 5380/6254/30636 -f 5380/6254/30637 5364/6238/30638 5363/6237/30639 -f 5364/6384/30640 5380/6390/30641 5381/6255/30642 -f 5381/6255/30643 5365/6239/30644 5364/6384/30645 -f 5365/6239/30646 5381/6255/30647 5382/6256/30648 -f 5382/6256/30649 5366/6240/30650 5365/6239/30651 -f 5366/6240/30652 5382/6256/30653 5383/6257/30654 -f 5383/6257/30655 5367/6241/30656 5366/6240/30657 -f 5367/6385/30658 5383/6391/30659 5368/6243/30660 -f 5368/6243/30661 5352/6227/30662 5367/6385/30663 -f 5401/6260/30664 5402/6261/30665 5403/6258/30666 -f 5403/6258/30667 5388/6259/30668 5401/6260/30669 -f 5386/6264/30670 5389/6265/30671 5390/6262/30672 -f 5390/6262/30673 5385/6263/30674 5386/6264/30675 -f 5386/6264/30676 5387/6267/30677 5404/6266/30678 -f 5404/6266/30679 5389/6265/30680 5386/6264/30681 -f 5387/6267/30682 5388/6259/30683 5403/6258/30684 -f 5403/6258/30685 5404/6266/30686 5387/6267/30687 -f 5385/6263/30688 5390/6262/30689 5391/6268/30690 -f 5391/6268/30691 5384/6269/30692 5385/6263/30693 -f 5391/6268/30694 5392/6271/30695 5393/6270/30696 -f 5393/6270/30697 5384/6269/30698 5391/6268/30699 -f 5393/6270/30700 5394/6273/30701 5395/6272/30702 -f 5395/6272/30703 5384/6269/30704 5393/6270/30705 -f 5385/6263/30706 5384/6269/30707 5395/6272/30708 -f 5395/6272/30709 5396/6274/30710 5385/6263/30711 -f 5386/6264/30712 5385/6263/30713 5396/6274/30714 -f 5396/6274/30715 5397/6275/30716 5386/6264/30717 -f 5398/6276/30718 5387/6267/30719 5386/6264/30720 -f 5386/6264/30721 5397/6275/30722 5398/6276/30723 -f 5399/6277/30724 5388/6259/30725 5387/6267/30726 -f 5387/6267/30727 5398/6276/30728 5399/6277/30729 -f 5388/6259/30730 5399/6277/30731 5400/6278/30732 -f 5400/6278/30733 5401/6260/30734 5388/6259/30735 -f 5390/6262/30736 5389/6265/30737 5304/6180/30738 -f 5304/6180/30739 5305/6179/30740 5390/6262/30741 -f 5391/6268/30742 5390/6262/30743 5305/6179/30744 -f 5305/6179/30745 5306/6183/30746 5391/6268/30747 -f 5392/6271/30748 5391/6268/30749 5306/6183/30750 -f 5306/6183/30751 5307/6185/30752 5392/6271/30753 -f 5393/6270/30754 5392/6271/30755 5307/6185/30756 -f 5307/6185/30757 5308/6187/30758 5393/6270/30759 -f 5394/6273/30760 5393/6270/30761 5308/6187/30762 -f 5308/6187/30763 5309/6189/30764 5394/6273/30765 -f 5395/6272/30766 5394/6273/30767 5309/6189/30768 -f 5309/6189/30769 5310/6191/30770 5395/6272/30771 -f 5396/6274/30772 5395/6272/30773 5310/6191/30774 -f 5310/6191/30775 5311/6193/30776 5396/6274/30777 -f 5397/6275/30778 5396/6274/30779 5311/6193/30780 -f 5311/6193/30781 5312/6195/30782 5397/6275/30783 -f 5398/6276/30784 5397/6275/30785 5312/6195/30786 -f 5312/6195/30787 5313/6197/30788 5398/6276/30789 -f 5399/6277/30790 5398/6276/30791 5313/6197/30792 -f 5313/6197/30793 5314/6199/30794 5399/6277/30795 -f 5400/6278/30796 5399/6277/30797 5314/6199/30798 -f 5314/6199/30799 5315/6201/30800 5400/6278/30801 -f 5401/6260/30802 5400/6278/30803 5315/6201/30804 -f 5315/6201/30805 5316/6203/30806 5401/6260/30807 -f 5402/6261/30808 5401/6260/30809 5316/6203/30810 -f 5316/6203/30811 5317/6205/30812 5402/6261/30813 -f 5403/6258/30814 5402/6261/30815 5317/6205/30816 -f 5317/6205/30817 5318/6207/30818 5403/6258/30819 -f 5404/6266/30820 5403/6258/30821 5318/6207/30822 -f 5318/6207/30823 5319/6209/30824 5404/6266/30825 -f 5389/6265/30826 5404/6266/30827 5319/6209/30828 -f 5319/6209/30829 5304/6180/30830 5389/6265/30831 -f 5405/6281/30832 5408/6282/30833 5407/6279/30834 -f 5407/6279/30835 5406/6280/30836 5405/6281/30837 -f 5408/6282/30838 5410/6284/30839 5409/6283/30840 -f 5409/6283/30841 5407/6279/30842 5408/6282/30843 -f 5410/6284/30844 5412/6286/30845 5411/6285/30846 -f 5411/6285/30847 5409/6283/30848 5410/6284/30849 -f 5412/6286/30850 5414/6288/30851 5413/6287/30852 -f 5413/6287/30853 5411/6285/30854 5412/6286/30855 -f 5414/6288/30856 5416/6290/30857 5415/6289/30858 -f 5415/6289/30859 5413/6287/30860 5414/6288/30861 -f 5416/6290/30862 5418/6292/30863 5417/6291/30864 -f 5417/6291/30865 5415/6289/30866 5416/6290/30867 -f 5418/6292/30868 5420/6294/30869 5419/6293/30870 -f 5419/6293/30871 5417/6291/30872 5418/6292/30873 -f 5420/6294/30874 5422/6296/30875 5421/6295/30876 -f 5421/6295/30877 5419/6293/30878 5420/6294/30879 -f 5422/6296/30880 5424/6298/30881 5423/6297/30882 -f 5423/6297/30883 5421/6295/30884 5422/6296/30885 -f 5424/6298/30886 5426/6300/30887 5425/6299/30888 -f 5425/6299/30889 5423/6297/30890 5424/6298/30891 -f 5426/6300/30892 5428/6302/30893 5427/6301/30894 -f 5427/6301/30895 5425/6299/30896 5426/6300/30897 -f 5428/6302/30898 5430/6304/30899 5429/6303/30900 -f 5429/6303/30901 5427/6301/30902 5428/6302/30903 -f 5430/6304/30904 5432/6306/30905 5431/6305/30906 -f 5431/6305/30907 5429/6303/30908 5430/6304/30909 -f 5432/6306/30910 5434/6308/30911 5433/6307/30912 -f 5433/6307/30913 5431/6305/30914 5432/6306/30915 -f 5434/6308/30916 5436/6310/30917 5435/6309/30918 -f 5435/6309/30919 5433/6307/30920 5434/6308/30921 -f 5436/6310/30922 5405/6281/30923 5406/6280/30924 -f 5406/6280/30925 5435/6309/30926 5436/6310/30927 -f 5406/6280/30928 5407/6279/30929 5438/6311/30930 -f 5438/6311/30931 5437/6312/30932 5406/6280/30933 -f 5407/6279/30934 5409/6283/30935 5439/6313/30936 -f 5439/6313/30937 5438/6311/30938 5407/6279/30939 -f 5409/6283/30940 5411/6285/30941 5440/6314/30942 -f 5440/6314/30943 5439/6313/30944 5409/6283/30945 -f 5411/6285/30946 5413/6287/30947 5441/6315/30948 -f 5441/6315/30949 5440/6314/30950 5411/6285/30951 -f 5413/6287/30952 5415/6289/30953 5442/6316/30954 -f 5442/6316/30955 5441/6315/30956 5413/6287/30957 -f 5415/6289/30958 5417/6291/30959 5443/6317/30960 -f 5443/6317/30961 5442/6316/30962 5415/6289/30963 -f 5417/6291/30964 5419/6293/30965 5444/6318/30966 -f 5444/6318/30967 5443/6317/30968 5417/6291/30969 -f 5419/6293/30970 5421/6295/30971 5445/6319/30972 -f 5445/6319/30973 5444/6318/30974 5419/6293/30975 -f 5421/6295/30976 5423/6297/30977 5446/6320/30978 -f 5446/6320/30979 5445/6319/30980 5421/6295/30981 -f 5423/6297/30982 5425/6299/30983 5447/6321/30984 -f 5447/6321/30985 5446/6320/30986 5423/6297/30987 -f 5425/6299/30988 5427/6301/30989 5448/6322/30990 -f 5448/6322/30991 5447/6321/30992 5425/6299/30993 -f 5427/6301/30994 5429/6303/30995 5449/6323/30996 -f 5449/6323/30997 5448/6322/30998 5427/6301/30999 -f 5429/6303/31000 5431/6305/31001 5450/6324/31002 -f 5450/6324/31003 5449/6323/31004 5429/6303/31005 -f 5431/6305/31006 5433/6307/31007 5451/6325/31008 -f 5451/6325/31009 5450/6324/31010 5431/6305/31011 -f 5433/6307/31012 5435/6309/31013 5452/6326/31014 -f 5452/6326/31015 5451/6325/31016 5433/6307/31017 -f 5435/6309/31018 5406/6280/31019 5437/6312/31020 -f 5437/6312/31021 5452/6326/31022 5435/6309/31023 -f 5437/6312/31024 5438/6311/31025 5454/6327/31026 -f 5454/6327/31027 5453/6328/31028 5437/6312/31029 -f 5438/6311/31030 5439/6313/31031 5455/6329/31032 -f 5455/6329/31033 5454/6392/31034 5438/6311/31035 -f 5439/6313/31036 5440/6314/31037 5456/6330/31038 -f 5456/6330/31039 5455/6329/31040 5439/6313/31041 -f 5440/6314/31042 5441/6315/31043 5457/6331/31044 -f 5457/6331/31045 5456/6330/31046 5440/6314/31047 -f 5441/6315/31048 5442/6316/31049 5458/6332/31050 -f 5458/6332/31051 5457/6393/31052 5441/6315/31053 -f 5442/6316/31054 5443/6317/31055 5459/6333/31056 -f 5459/6333/31057 5458/6332/31058 5442/6316/31059 -f 5443/6317/31060 5444/6318/31061 5460/6334/31062 -f 5460/6334/31063 5459/6333/31064 5443/6317/31065 -f 5444/6318/31066 5445/6319/31067 5461/6335/31068 -f 5461/6335/31069 5460/6394/31070 5444/6318/31071 -f 5445/6319/31072 5446/6320/31073 5462/6336/31074 -f 5462/6336/31075 5461/6335/31076 5445/6319/31077 -f 5446/6320/31078 5447/6321/31079 5463/6337/31080 -f 5463/6337/31081 5462/6395/31082 5446/6320/31083 -f 5447/6321/31084 5448/6322/31085 5464/6338/31086 -f 5464/6338/31087 5463/6337/31088 5447/6321/31089 -f 5448/6322/31090 5449/6323/31091 5465/6339/31092 -f 5465/6339/31093 5464/6396/31094 5448/6322/31095 -f 5449/6323/31096 5450/6324/31097 5466/6340/31098 -f 5466/6340/31099 5465/6339/31100 5449/6323/31101 -f 5450/6324/31102 5451/6325/31103 5467/6341/31104 -f 5467/6341/31105 5466/6340/31106 5450/6324/31107 -f 5451/6325/31108 5452/6326/31109 5468/6342/31110 -f 5468/6342/31111 5467/6397/31112 5451/6325/31113 -f 5452/6326/31114 5437/6312/31115 5453/6328/31116 -f 5453/6328/31117 5468/6342/31118 5452/6326/31119 -f 5453/6328/31120 5454/6327/31121 5470/6343/31122 -f 5470/6343/31123 5469/6344/31124 5453/6328/31125 -f 5454/6392/31126 5455/6329/31127 5471/6345/31128 -f 5471/6345/31129 5470/6398/31130 5454/6392/31131 -f 5455/6329/31132 5456/6330/31133 5472/6346/31134 -f 5472/6346/31135 5471/6345/31136 5455/6329/31137 -f 5456/6330/31138 5457/6331/31139 5473/6347/31140 -f 5473/6347/31141 5472/6346/31142 5456/6330/31143 -f 5457/6393/31144 5458/6332/31145 5474/6348/31146 -f 5474/6348/31147 5473/6399/31148 5457/6393/31149 -f 5458/6332/31150 5459/6333/31151 5475/6349/31152 -f 5475/6349/31153 5474/6348/31154 5458/6332/31155 -f 5459/6333/31156 5460/6334/31157 5476/6350/31158 -f 5476/6350/31159 5475/6349/31160 5459/6333/31161 -f 5460/6394/31162 5461/6335/31163 5477/6351/31164 -f 5477/6351/31165 5476/6400/31166 5460/6394/31167 -f 5461/6335/31168 5462/6336/31169 5478/6352/31170 -f 5478/6352/31171 5477/6351/31172 5461/6335/31173 -f 5462/6395/31174 5463/6337/31175 5479/6353/31176 -f 5479/6353/31177 5478/6401/31178 5462/6395/31179 -f 5463/6337/31180 5464/6338/31181 5480/6354/31182 -f 5480/6354/31183 5479/6353/31184 5463/6337/31185 -f 5464/6396/31186 5465/6339/31187 5481/6355/31188 -f 5481/6355/31189 5480/6402/31190 5464/6396/31191 -f 5465/6339/31192 5466/6340/31193 5482/6356/31194 -f 5482/6356/31195 5481/6355/31196 5465/6339/31197 -f 5466/6340/31198 5467/6341/31199 5483/6357/31200 -f 5483/6357/31201 5482/6356/31202 5466/6340/31203 -f 5467/6397/31204 5468/6342/31205 5484/6358/31206 -f 5484/6358/31207 5483/6403/31208 5467/6397/31209 -f 5468/6342/31210 5453/6328/31211 5469/6344/31212 -f 5469/6344/31213 5484/6358/31214 5468/6342/31215 -f 5485/6361/31216 5488/6362/31217 5487/6359/31218 -f 5487/6359/31219 5486/6360/31220 5485/6361/31221 -f 5492/6365/31222 5491/6366/31223 5490/6363/31224 -f 5490/6363/31225 5489/6364/31226 5492/6365/31227 -f 5492/6365/31228 5489/6364/31229 5493/6367/31230 -f 5493/6367/31231 5494/6368/31232 5492/6365/31233 -f 5494/6368/31234 5493/6367/31235 5487/6359/31236 -f 5487/6359/31237 5488/6362/31238 5494/6368/31239 -f 5491/6366/31240 5496/6370/31241 5495/6369/31242 -f 5495/6369/31243 5490/6363/31244 5491/6366/31245 -f 5495/6369/31246 5496/6370/31247 5498/6371/31248 -f 5498/6371/31249 5497/6372/31250 5495/6369/31251 -f 5498/6371/31252 5496/6370/31253 5500/6373/31254 -f 5500/6373/31255 5499/6374/31256 5498/6371/31257 -f 5491/6366/31258 5501/6375/31259 5500/6373/31260 -f 5500/6373/31261 5496/6370/31262 5491/6366/31263 -f 5492/6365/31264 5502/6376/31265 5501/6375/31266 -f 5501/6375/31267 5491/6366/31268 5492/6365/31269 -f 5503/6377/31270 5502/6376/31271 5492/6365/31272 -f 5492/6365/31273 5494/6368/31274 5503/6377/31275 -f 5504/6378/31276 5503/6377/31277 5494/6368/31278 -f 5494/6368/31279 5488/6362/31280 5504/6378/31281 -f 5488/6362/31282 5485/6361/31283 5505/6379/31284 -f 5505/6379/31285 5504/6378/31286 5488/6362/31287 -f 5490/6363/31288 5408/6282/31289 5405/6281/31290 -f 5405/6281/31291 5489/6364/31292 5490/6363/31293 -f 5495/6369/31294 5410/6284/31295 5408/6282/31296 -f 5408/6282/31297 5490/6363/31298 5495/6369/31299 -f 5497/6372/31300 5412/6286/31301 5410/6284/31302 -f 5410/6284/31303 5495/6369/31304 5497/6372/31305 -f 5498/6371/31306 5414/6288/31307 5412/6286/31308 -f 5412/6286/31309 5497/6372/31310 5498/6371/31311 -f 5499/6374/31312 5416/6290/31313 5414/6288/31314 -f 5414/6288/31315 5498/6371/31316 5499/6374/31317 -f 5500/6373/31318 5418/6292/31319 5416/6290/31320 -f 5416/6290/31321 5499/6374/31322 5500/6373/31323 -f 5501/6375/31324 5420/6294/31325 5418/6292/31326 -f 5418/6292/31327 5500/6373/31328 5501/6375/31329 -f 5502/6376/31330 5422/6296/31331 5420/6294/31332 -f 5420/6294/31333 5501/6375/31334 5502/6376/31335 -f 5503/6377/31336 5424/6298/31337 5422/6296/31338 -f 5422/6296/31339 5502/6376/31340 5503/6377/31341 -f 5504/6378/31342 5426/6300/31343 5424/6298/31344 -f 5424/6298/31345 5503/6377/31346 5504/6378/31347 -f 5505/6379/31348 5428/6302/31349 5426/6300/31350 -f 5426/6300/31351 5504/6378/31352 5505/6379/31353 -f 5485/6361/31354 5430/6304/31355 5428/6302/31356 -f 5428/6302/31357 5505/6379/31358 5485/6361/31359 -f 5486/6360/31360 5432/6306/31361 5430/6304/31362 -f 5430/6304/31363 5485/6361/31364 5486/6360/31365 -f 5487/6359/31366 5434/6308/31367 5432/6306/31368 -f 5432/6306/31369 5486/6360/31370 5487/6359/31371 -f 5493/6367/31372 5436/6310/31373 5434/6308/31374 -f 5434/6308/31375 5487/6359/31376 5493/6367/31377 -f 5489/6364/31378 5405/6281/31379 5436/6310/31380 -f 5436/6310/31381 5493/6367/31382 5489/6364/31383 -f 5520/6406/31384 5507/6407/31385 5596/6404/31386 -f 5596/6404/31387 5521/6405/31388 5520/6406/31389 -f 5522/6408/31390 5510/6409/31391 5507/6407/31392 -f 5507/6407/31393 5520/6406/31394 5522/6408/31395 -f 5515/6412/31396 5516/6413/31397 5531/6410/31398 -f 5531/6410/31399 5529/6411/31400 5515/6412/31401 -f 5519/6416/31402 5518/6417/31403 5528/6414/31404 -f 5528/6414/31405 5527/6415/31406 5519/6416/31407 -f 5508/6420/31408 5509/6421/31409 5524/6418/31410 -f 5524/6418/31411 5523/6419/31412 5508/6420/31413 -f 5526/6422/31414 5513/6423/31415 5519/6416/31416 -f 5519/6416/31417 5527/6415/31418 5526/6422/31419 -f 5519/6416/31420 5513/6423/31421 5525/6424/31422 -f 5525/6424/31423 5523/6419/31424 5519/6416/31425 -f 5508/6420/31426 5520/6406/31427 5521/6405/31428 -f 5521/6405/31429 5509/6421/31430 5508/6420/31431 -f 5511/6425/31432 5522/6408/31433 5520/6406/31434 -f 5520/6406/31435 5508/6420/31436 5511/6425/31437 -f 5523/6419/31438 5524/6418/31439 5518/6417/31440 -f 5518/6417/31441 5519/6416/31442 5523/6419/31443 -f 5508/6420/31444 5523/6419/31445 5525/6424/31446 -f 5525/6424/31447 5511/6425/31448 5508/6420/31449 -f 5527/6415/31450 5528/6414/31451 5516/6413/31452 -f 5516/6413/31453 5515/6412/31454 5527/6415/31455 -f 5512/6426/31456 5526/6422/31457 5527/6415/31458 -f 5527/6415/31459 5515/6412/31460 5512/6426/31461 -f 5529/6411/31462 5530/6427/31463 5512/6426/31464 -f 5512/6426/31465 5515/6412/31466 5529/6411/31467 -f 5529/6411/31468 5531/6410/31469 5517/6428/31470 -f 5517/6428/31471 5599/6429/31472 5529/6411/31473 -f 5542/6430/31474 5532/6431/31475 5510/6409/31476 -f 5510/6409/31477 5522/6408/31478 5542/6430/31479 -f 5543/6432/31480 5534/6433/31481 5532/6431/31482 -f 5532/6431/31483 5542/6430/31484 5543/6432/31485 -f 5544/6436/31486 5535/6437/31487 5533/6434/31488 -f 5533/6434/31489 5545/6435/31490 5544/6436/31491 -f 5547/6440/31492 5546/6441/31493 5538/6438/31494 -f 5538/6438/31495 5539/6439/31496 5547/6440/31497 -f 5526/6422/31498 5512/6426/31499 5538/6438/31500 -f 5538/6438/31501 5546/6441/31502 5526/6422/31503 -f 5530/6427/31504 5529/6411/31505 5599/6429/31506 -f 5599/6429/31507 5606/6442/31508 5530/6427/31509 -f 5606/6442/31510 5607/6444/31511 5548/6443/31512 -f 5548/6443/31513 5530/6427/31514 5606/6442/31515 -f 5533/6434/31516 5511/6425/31517 5525/6424/31518 -f 5525/6424/31519 5545/6435/31520 5533/6434/31521 -f 5533/6434/31522 5542/6430/31523 5522/6408/31524 -f 5522/6408/31525 5511/6425/31526 5533/6434/31527 -f 5535/6437/31528 5543/6432/31529 5542/6430/31530 -f 5542/6430/31531 5533/6434/31532 5535/6437/31533 -f 5536/6446/31534 5544/6436/31535 5545/6435/31536 -f 5545/6435/31537 5537/6445/31538 5536/6446/31539 -f 5545/6435/31540 5525/6424/31541 5513/6423/31542 -f 5513/6423/31543 5537/6445/31544 5545/6435/31545 -f 5546/6441/31546 5547/6440/31547 5536/6446/31548 -f 5536/6446/31549 5537/6445/31550 5546/6441/31551 -f 5513/6423/31552 5526/6422/31553 5546/6441/31554 -f 5546/6441/31555 5537/6445/31556 5513/6423/31557 -f 5530/6427/31558 5548/6443/31559 5538/6438/31560 -f 5538/6438/31561 5512/6426/31562 5530/6427/31563 -f 5548/6443/31564 5549/6447/31565 5539/6439/31566 -f 5539/6439/31567 5538/6438/31568 5548/6443/31569 -f 5607/6444/31570 5612/6448/31571 5549/6447/31572 -f 5549/6447/31573 5548/6443/31574 5607/6444/31575 -f 5565/6453/31576 5566/6473/31577 5551/6449/31578 -f 5551/6449/31579 5552/6450/31580 5565/6453/31581 -f 5567/6475/31582 5565/6453/31583 5552/6450/31584 -f 5552/6450/31585 5555/6474/31586 5567/6475/31587 -f 5560/6457/31588 5574/6458/31589 5576/6455/31590 -f 5576/6455/31591 5561/6456/31592 5560/6457/31593 -f 5564/6461/31594 5572/6462/31595 5573/6459/31596 -f 5573/6459/31597 5563/6460/31598 5564/6461/31599 -f 5553/6465/31600 5568/6466/31601 5569/6463/31602 -f 5569/6463/31603 5554/6464/31604 5553/6465/31605 -f 5571/6468/31606 5572/6462/31607 5564/6461/31608 -f 5564/6461/31609 5558/6467/31610 5571/6468/31611 -f 5564/6461/31612 5568/6466/31613 5570/6469/31614 -f 5570/6469/31615 5558/6467/31616 5564/6461/31617 -f 5553/6465/31618 5554/6464/31619 5566/6452/31620 -f 5566/6452/31621 5565/6451/31622 5553/6465/31623 -f 5556/6470/31624 5553/6465/31625 5565/6451/31626 -f 5565/6451/31627 5567/6454/31628 5556/6470/31629 -f 5568/6466/31630 5564/6461/31631 5563/6460/31632 -f 5563/6460/31633 5569/6463/31634 5568/6466/31635 -f 5553/6465/31636 5556/6470/31637 5570/6469/31638 -f 5570/6469/31639 5568/6466/31640 5553/6465/31641 -f 5572/6462/31642 5560/6457/31643 5561/6456/31644 -f 5561/6456/31645 5573/6459/31646 5572/6462/31647 -f 5557/6471/31648 5560/6457/31649 5572/6462/31650 -f 5572/6462/31651 5571/6468/31652 5557/6471/31653 -f 5574/6458/31654 5560/6457/31655 5557/6471/31656 -f 5557/6471/31657 5575/6472/31658 5574/6458/31659 -f 5574/6480/31660 5559/6481/31661 5562/6477/31662 -f 5562/6477/31663 5576/6478/31664 5574/6480/31665 -f 5587/6486/31666 5567/6475/31667 5555/6474/31668 -f 5555/6474/31669 5577/6485/31670 5587/6486/31671 -f 5588/6489/31672 5587/6486/31673 5577/6485/31674 -f 5577/6485/31675 5579/6487/31676 5588/6489/31677 -f 5589/6493/31678 5590/6494/31679 5578/6490/31680 -f 5578/6490/31681 5580/6492/31682 5589/6493/31683 -f 5592/6497/31684 5584/6498/31685 5583/6495/31686 -f 5583/6495/31687 5591/6496/31688 5592/6497/31689 -f 5571/6468/31690 5591/6484/31691 5583/6483/31692 -f 5583/6483/31693 5557/6471/31694 5571/6468/31695 -f 5575/6499/31696 5585/6500/31697 5559/6481/31698 -f 5559/6481/31699 5574/6480/31700 5575/6499/31701 -f 5585/6500/31702 5575/6499/31703 5593/6502/31704 -f 5593/6502/31705 5586/6506/31706 5585/6500/31707 -f 5578/6479/31708 5590/6482/31709 5570/6469/31710 -f 5570/6469/31711 5556/6470/31712 5578/6479/31713 -f 5578/6479/31714 5556/6470/31715 5567/6454/31716 -f 5567/6454/31717 5587/6476/31718 5578/6479/31719 -f 5580/6492/31720 5578/6490/31721 5587/6531/31722 -f 5587/6531/31723 5588/6532/31724 5580/6492/31725 -f 5581/6503/31726 5582/6504/31727 5590/6494/31728 -f 5590/6494/31729 5589/6493/31730 5581/6503/31731 -f 5590/6482/31732 5582/6491/31733 5558/6467/31734 -f 5558/6467/31735 5570/6469/31736 5590/6482/31737 -f 5591/6496/31738 5582/6504/31739 5581/6503/31740 -f 5581/6503/31741 5592/6497/31742 5591/6496/31743 -f 5558/6467/31744 5582/6491/31745 5591/6484/31746 -f 5591/6484/31747 5571/6468/31748 5558/6467/31749 -f 5575/6472/31750 5557/6471/31751 5583/6483/31752 -f 5583/6483/31753 5593/6488/31754 5575/6472/31755 -f 5593/6501/31756 5583/6495/31757 5584/6498/31758 -f 5584/6498/31759 5594/6505/31760 5593/6501/31761 -f 5586/6506/31762 5593/6502/31763 5594/6507/31764 -f 5594/6507/31765 5595/6508/31766 5586/6506/31767 -s 2 -f 5506/6539/31768 5597/6510/31769 5552/6450/31770 -f 5552/6450/31771 5551/6449/31772 5506/6539/31773 -f 5551/6533/31774 5596/6404/31775 5506/6509/31776 -f 5597/6510/31777 5598/6511/31778 5555/6474/31779 -f 5555/6474/31780 5552/6450/31781 5597/6510/31782 -s 4 -f 5531/6410/31783 5516/6413/31784 5561/6512/31785 -f 5561/6512/31786 5576/6536/31787 5531/6410/31788 -f 5528/6414/31789 5518/6417/31790 5563/6513/31791 -f 5563/6513/31792 5573/6514/31793 5528/6414/31794 -f 5524/6418/31795 5509/6421/31796 5554/6515/31797 -f 5554/6515/31798 5569/6516/31799 5524/6418/31800 -f 5509/6421/31801 5521/6405/31802 5566/6534/31803 -f 5566/6534/31804 5554/6515/31805 5509/6421/31806 -f 5518/6417/31807 5524/6418/31808 5569/6516/31809 -f 5569/6516/31810 5563/6513/31811 5518/6417/31812 -f 5516/6413/31813 5528/6414/31814 5573/6514/31815 -f 5573/6514/31816 5561/6512/31817 5516/6413/31818 -f 5576/6536/31819 5562/6535/31820 5517/6428/31821 -f 5517/6428/31822 5531/6410/31823 5576/6536/31824 -s 1 -f 5514/6518/31825 5600/6540/31826 5562/6477/31827 -f 5562/6477/31828 5559/6481/31829 5514/6518/31830 -s 2 -f 5598/6511/31831 5601/6519/31832 5577/6485/31833 -f 5577/6485/31834 5555/6474/31835 5598/6511/31836 -f 5601/6519/31837 5602/6541/31838 5579/6487/31839 -f 5579/6487/31840 5577/6485/31841 5601/6519/31842 -s 1 -f 5602/6520/31843 5608/6521/31844 5588/6532/31845 -f 5588/6532/31846 5579/6537/31847 5602/6520/31848 -f 5603/6522/31849 5609/6523/31850 5589/6493/31851 -f 5589/6493/31852 5580/6492/31853 5603/6522/31854 -f 5610/6524/31855 5605/6525/31856 5584/6498/31857 -f 5584/6498/31858 5592/6497/31859 5610/6524/31860 -f 5540/6526/31861 5514/6518/31862 5559/6481/31863 -f 5559/6481/31864 5585/6500/31865 5540/6526/31866 -f 5541/6527/31867 5540/6526/31868 5585/6500/31869 -f 5585/6500/31870 5586/6506/31871 5541/6527/31872 -f 5608/6521/31873 5603/6522/31874 5580/6492/31875 -f 5580/6492/31876 5588/6532/31877 5608/6521/31878 -f 5609/6523/31879 5604/6528/31880 5581/6503/31881 -f 5581/6503/31882 5589/6493/31883 5609/6523/31884 -f 5604/6528/31885 5610/6524/31886 5592/6497/31887 -f 5592/6497/31888 5581/6503/31889 5604/6528/31890 -f 5605/6525/31891 5611/6529/31892 5594/6505/31893 -f 5594/6505/31894 5584/6498/31895 5605/6525/31896 -f 5611/6529/31897 5550/6542/31898 5595/6538/31899 -f 5595/6538/31900 5594/6505/31901 5611/6529/31902 -f 5550/6530/31903 5541/6527/31904 5586/6506/31905 -f 5586/6506/31906 5595/6508/31907 5550/6530/31908 -s 2 -f 5507/6407/31909 5597/6510/31910 5506/6539/31911 -f 5506/6539/31912 5596/6404/31913 5507/6407/31914 -f 5510/6409/31915 5598/6511/31916 5597/6510/31917 -f 5597/6510/31918 5507/6407/31919 5510/6409/31920 -s 1 -f 5517/6428/31921 5600/6540/31922 5514/6518/31923 -f 5514/6518/31924 5599/6429/31925 5517/6428/31926 -s 2 -f 5532/6431/31927 5601/6519/31928 5598/6511/31929 -f 5598/6511/31930 5510/6409/31931 5532/6431/31932 -s 1 -f 5543/6432/31933 5608/6521/31934 5602/6520/31935 -f 5602/6520/31936 5534/6433/31937 5543/6432/31938 -s 2 -f 5534/6433/31939 5602/6541/31940 5601/6519/31941 -f 5601/6519/31942 5532/6431/31943 5534/6433/31944 -s 1 -f 5544/6436/31945 5609/6523/31946 5603/6522/31947 -f 5603/6522/31948 5535/6437/31949 5544/6436/31950 -f 5539/6439/31951 5605/6525/31952 5610/6524/31953 -f 5610/6524/31954 5547/6440/31955 5539/6439/31956 -f 5599/6429/31957 5514/6518/31958 5540/6526/31959 -f 5540/6526/31960 5606/6442/31961 5599/6429/31962 -f 5606/6442/31963 5540/6526/31964 5541/6527/31965 -f 5541/6527/31966 5607/6444/31967 5606/6442/31968 -f 5535/6437/31969 5603/6522/31970 5608/6521/31971 -f 5608/6521/31972 5543/6432/31973 5535/6437/31974 -f 5536/6446/31975 5604/6528/31976 5609/6523/31977 -f 5609/6523/31978 5544/6436/31979 5536/6446/31980 -f 5547/6440/31981 5610/6524/31982 5604/6528/31983 -f 5604/6528/31984 5536/6446/31985 5547/6440/31986 -f 5549/6447/31987 5611/6529/31988 5605/6525/31989 -f 5605/6525/31990 5539/6439/31991 5549/6447/31992 -f 5607/6444/31993 5541/6527/31994 5550/6530/31995 -f 5550/6530/31996 5612/6448/31997 5607/6444/31998 -f 5612/6448/31999 5550/6542/32000 5611/6529/32001 -f 5611/6529/32002 5549/6447/32003 5612/6448/32004 -f 5562/6535/32005 5600/6517/32006 5517/6428/32007 -s 4 -f 5566/6534/32008 5521/6405/32009 5596/6404/32010 -f 5596/6404/32011 5551/6533/32012 5566/6534/32013 -# 10671 faces - diff --git a/examples/web/models/resources/model/dwarf_diffuse.png b/examples/web/models/resources/model/dwarf_diffuse.png deleted file mode 100644 index 15dee61..0000000 Binary files a/examples/web/models/resources/model/dwarf_diffuse.png and /dev/null differ diff --git a/examples/web/models/resources/model/dwarf_normal.png b/examples/web/models/resources/model/dwarf_normal.png deleted file mode 100644 index ae2babf..0000000 Binary files a/examples/web/models/resources/model/dwarf_normal.png and /dev/null differ diff --git a/examples/web/models/resources/model/dwarf_specular.png b/examples/web/models/resources/model/dwarf_specular.png deleted file mode 100644 index 5f51039..0000000 Binary files a/examples/web/models/resources/model/dwarf_specular.png and /dev/null differ diff --git a/examples/web/models/resources/models/bridge.obj b/examples/web/models/resources/models/bridge.obj new file mode 100644 index 0000000..ad283f1 --- /dev/null +++ b/examples/web/models/resources/models/bridge.obj @@ -0,0 +1,1725 @@ +# (c) 2018 Medieval Assets Pack by Alberto Cano +# Licensed as Creative Commons Attribution-NonCommercial 4.0 + +# +# object bridge +# + +v 3.9982 -0.0023 11.9925 +v 4.0712 0.0000 6.5164 +v 3.9982 2.2042 6.5164 +v 3.9982 1.3553 8.7417 +v 4.1679 -0.0000 4.0663 +v 4.1413 1.0540 4.2689 +v 4.0712 2.8371 4.8031 +v 3.9982 2.2699 8.7359 +v 3.0685 2.2722 8.7359 +v 3.0685 0.9146 11.9866 +v 3.9982 0.9123 11.9866 +v 4.3287 2.2355 3.4001 +v 4.3287 3.3078 3.4952 +v 0.0000 0.0000 4.0663 +v 0.0000 1.4511 3.3640 +v 4.3287 1.4511 3.3640 +v 4.4633 3.0558 2.1675 +v 4.4633 3.7271 2.1035 +v 0.0000 2.4236 2.1918 +v 4.4633 2.4236 2.1918 +v 4.5231 3.3391 0.8674 +v 4.5231 3.8066 0.8674 +v 0.0000 2.7841 0.8674 +v 4.5231 2.7841 0.8674 +v 3.0685 2.2065 6.5164 +v 3.1415 2.8394 4.8031 +v 0.0000 2.8394 4.8031 +v 0.0000 2.2065 6.5164 +v 3.0685 1.3576 8.7417 +v 0.0000 1.3576 8.7417 +v 3.3990 3.3101 3.4952 +v 0.0000 3.3101 3.4952 +v 3.5336 3.7294 2.1035 +v 0.0000 3.7294 2.1035 +v 3.5934 3.8066 0.8674 +v 0.0000 3.8066 0.8674 +v 4.5862 3.4521 0.0062 +v 4.5862 3.8557 0.0062 +v 0.0000 2.9214 0.0062 +v 4.5862 2.9214 0.0062 +v 3.6565 3.8557 0.0062 +v 0.0000 3.8557 0.0062 +v 3.9982 1.3576 -8.7294 +v 3.9982 2.2065 -6.5040 +v 3.9982 0.0000 -6.5040 +v 3.9982 -0.0674 -11.9801 +v 4.0712 2.8394 -4.7908 +v 4.0712 1.0546 -4.2566 +v 4.0712 0.0000 -4.0540 +v 3.9982 0.8472 -11.9860 +v 3.0685 0.8472 -11.9860 +v 3.0685 2.2722 -8.7353 +v 3.9982 2.2722 -8.7353 +v 4.3287 3.3101 -3.4828 +v 4.3287 2.2361 -3.3877 +v 4.3287 1.4511 -3.3516 +v 0.0000 1.4511 -3.3516 +v 0.0000 0.0000 -4.0540 +v 4.4633 3.7294 -2.0911 +v 4.4633 3.0564 -2.1551 +v 4.4633 2.4236 -2.1794 +v 0.0000 2.4236 -2.1794 +v 4.5231 3.8066 -0.8551 +v 4.5231 3.3391 -0.8551 +v 4.5231 2.7841 -0.8551 +v 0.0000 2.7841 -0.8551 +v 0.0000 2.8394 -4.7908 +v 3.1415 2.8394 -4.7908 +v 3.0685 2.2065 -6.5040 +v 0.0000 2.2065 -6.5040 +v 3.0685 1.3576 -8.7294 +v 0.0000 1.3576 -8.7294 +v 0.0000 3.3101 -3.4828 +v 3.3990 3.3101 -3.4828 +v 0.0000 3.7294 -2.0911 +v 3.5336 3.7294 -2.0911 +v 0.0000 3.8066 -0.8551 +v 3.5934 3.8066 -0.8551 +v 0.0000 0.0000 11.9925 +v 3.0685 0.0000 11.9925 +v 3.9982 3.1188 6.5105 +v 4.0712 3.7517 4.7973 +v 3.1415 3.7540 4.7973 +v 3.0685 3.1211 6.5105 +v 4.3287 4.2224 3.4893 +v 3.3990 4.2247 3.4893 +v 4.4633 4.7189 1.8730 +v 3.5336 4.7213 1.8730 +v 4.5231 4.7213 0.8616 +v 3.5934 4.7213 0.8616 +v 4.5862 4.7213 0.0003 +v 3.6565 4.7213 0.0003 +v 3.0685 -0.0674 -11.9801 +v 0.0000 0.0000 -11.9801 +v 4.0712 3.7540 -4.7966 +v 3.9982 3.1211 -6.5099 +v 3.0685 3.1211 -6.5099 +v 3.1415 3.7540 -4.7966 +v 4.3287 4.2247 -3.4887 +v 3.3990 4.2247 -3.4887 +v 4.4633 4.7213 -1.8724 +v 3.5336 4.7213 -1.8724 +v 4.5231 4.7213 -0.8610 +v 3.5934 4.7213 -0.8610 +v 4.0914 1.3553 8.7417 +v 4.0914 2.2042 6.5164 +v 4.0914 3.1188 6.5105 +v 4.0914 2.2699 8.7359 +v 4.1643 2.8371 4.8031 +v 4.1643 3.7517 4.7973 +v 4.4218 3.3078 3.4952 +v 4.4218 4.2224 3.4893 +v 4.5564 3.7271 2.1035 +v 4.5564 4.7189 1.8730 +v 4.6162 3.8066 0.8674 +v 4.6163 4.7213 0.8616 +v 4.6793 3.8557 0.0062 +v 4.6793 4.7213 0.0003 +v 4.6162 3.8066 -0.8551 +v 4.6163 4.7213 -0.8610 +v 4.5564 3.7294 -2.0911 +v 4.5564 4.7213 -1.8724 +v 4.4218 3.3101 -3.4828 +v 4.4218 4.2247 -3.4887 +v 4.1643 2.8394 -4.7908 +v 4.1643 3.7540 -4.7966 +v 4.0914 2.2065 -6.5040 +v 4.0914 3.1211 -6.5099 +v 4.0914 1.3576 -8.7294 +v 4.0914 2.2722 -8.7353 +v 4.0913 -0.0674 -11.9801 +v 4.0914 0.8472 -11.9860 +v 3.9982 -0.0713 -13.3621 +v 3.0685 -0.0713 -13.3621 +v 3.0685 0.8434 -13.3680 +v 3.9982 0.8434 -13.3680 +v 3.0686 0.0039 13.3744 +v 3.9982 0.0016 13.3744 +v 3.9982 0.9162 13.3686 +v 3.0686 0.9185 13.3686 +v 4.0913 -0.0023 11.9925 +v 4.0914 0.9123 11.9866 +v 3.0685 1.8566 -11.9925 +v 3.9982 1.8566 -11.9925 +v 3.9982 1.8527 -13.3744 +v 3.0685 1.8527 -13.3744 +v 4.0913 -0.0713 -13.3621 +v 4.0914 0.8434 -13.3680 +v 4.0914 0.9162 13.3686 +v 4.0914 0.0016 13.3744 +v 4.0022 1.9216 11.9801 +v 3.0726 1.9239 11.9801 +v 3.0726 1.9278 13.3621 +v 4.0022 1.9255 13.3621 +v 4.3309 1.0532 -4.2736 +v 4.5388 2.3452 -3.4047 +v 4.5388 1.1804 -3.3687 +v 4.3102 -0.0008 -3.9892 +v 4.7395 3.1981 -2.1722 +v 4.7395 2.2978 -2.1965 +v 4.8125 3.4962 -0.8721 +v 4.8125 2.7824 -0.8721 +v 4.8215 3.5568 -0.0066 +v 4.8215 2.8673 -0.0066 +v 3.6673 0.0018 -3.9977 +v 3.8281 1.1836 -3.3772 +v 3.9627 2.3550 -2.2050 +v 4.0226 2.7850 -0.8806 +v 4.0856 2.8699 -0.0066 +v 4.5862 3.5594 -0.0066 +v 4.5231 3.4988 -0.8806 +v 4.4633 3.1460 -2.1807 +v 4.3287 2.3484 -3.4132 +v 4.0712 1.0557 -4.2821 +v 4.1503 -0.0013 -5.7369 +v 4.2574 1.0789 -5.6478 +v 3.9982 1.0815 -5.6563 +v 4.3309 1.0532 4.2604 +v 4.3102 -0.0008 3.9760 +v 4.5388 1.1804 3.3555 +v 4.5388 2.3452 3.3915 +v 4.7395 2.2978 2.1833 +v 4.7395 3.1981 2.1590 +v 4.8125 2.7824 0.8589 +v 4.8125 3.4962 0.8589 +v 3.6673 0.0018 3.9845 +v 3.8281 1.1836 3.3640 +v 3.9627 2.3550 2.1918 +v 4.0226 2.7850 0.8674 +v 4.5231 3.4988 0.8674 +v 4.4633 3.1460 2.1675 +v 4.3287 2.3484 3.4001 +v 4.1413 1.0557 4.2689 +v 4.2574 1.0789 5.6346 +v 4.1503 -0.0013 5.7237 +v 4.0712 1.0815 5.6346 +v 4.1764 4.0031 5.7280 +v 2.7107 4.0031 5.7280 +v 2.7107 4.0031 7.1178 +v 4.1764 4.0031 7.1178 +v 4.1764 0.0000 5.7280 +v 2.6101 0.0000 5.7280 +v 3.0500 2.0015 5.5403 +v 4.3606 2.0015 5.5403 +v 3.0500 2.0015 6.7032 +v 2.6101 0.0000 7.1178 +v 4.1764 0.0000 7.1178 +v 4.3606 2.0015 6.7032 +v 4.1764 4.0031 -5.7156 +v 4.1764 4.0031 -7.1054 +v 2.7107 4.0031 -7.1054 +v 2.7107 4.0031 -5.7156 +v 4.1764 -0.0000 -5.7156 +v 4.3606 2.0015 -5.5280 +v 3.0500 2.0015 -5.5280 +v 2.6101 -0.0000 -5.7156 +v 3.0500 2.0015 -6.6909 +v 2.6101 -0.0000 -7.1054 +v 4.3606 2.0015 -6.6909 +v 4.1764 -0.0000 -7.1054 +v -3.9982 -0.0023 11.9925 +v -3.9982 1.3553 8.7417 +v -3.9982 2.2042 6.5164 +v -4.0712 0.0000 6.5164 +v -4.0712 2.8371 4.8031 +v -4.1413 1.0540 4.2689 +v -4.1679 -0.0000 4.0663 +v -3.9982 2.2699 8.7359 +v -3.9982 0.9123 11.9866 +v -3.0685 0.9146 11.9866 +v -3.0685 2.2722 8.7359 +v -4.3287 3.3078 3.4952 +v -4.3287 2.2355 3.4001 +v -4.3287 1.4511 3.3640 +v -4.4633 3.7271 2.1035 +v -4.4633 3.0558 2.1675 +v -4.4633 2.4236 2.1918 +v -4.5231 3.8066 0.8674 +v -4.5231 3.3391 0.8674 +v -4.5231 2.7841 0.8674 +v -3.1415 2.8394 4.8031 +v -3.0685 2.2065 6.5164 +v -3.0685 1.3576 8.7417 +v -3.3990 3.3101 3.4952 +v -3.5336 3.7294 2.1035 +v -3.5934 3.8066 0.8674 +v -4.5862 3.8557 0.0062 +v -4.5862 3.4521 0.0062 +v -4.5862 2.9214 0.0062 +v -3.6565 3.8557 0.0062 +v -3.9982 1.3576 -8.7294 +v -3.9982 -0.0674 -11.9801 +v -3.9982 0.0000 -6.5040 +v -3.9982 2.2065 -6.5040 +v -4.0712 0.0000 -4.0540 +v -4.0712 1.0546 -4.2566 +v -4.0712 2.8394 -4.7908 +v -3.9982 0.8472 -11.9860 +v -3.9982 2.2722 -8.7353 +v -3.0685 2.2722 -8.7353 +v -3.0685 0.8472 -11.9860 +v -4.3287 2.2361 -3.3877 +v -4.3287 3.3101 -3.4828 +v -4.3287 1.4511 -3.3516 +v -4.4633 3.0564 -2.1551 +v -4.4633 3.7294 -2.0911 +v -4.4633 2.4236 -2.1794 +v -4.5231 3.3391 -0.8551 +v -4.5231 3.8066 -0.8551 +v -4.5231 2.7841 -0.8551 +v -3.0685 2.2065 -6.5040 +v -3.1415 2.8394 -4.7908 +v -3.0685 1.3576 -8.7294 +v -3.3990 3.3101 -3.4828 +v -3.5336 3.7294 -2.0911 +v -3.5934 3.8066 -0.8551 +v -3.0685 0.0000 11.9925 +v -3.1415 3.7540 4.7973 +v -4.0712 3.7517 4.7973 +v -3.9982 3.1188 6.5105 +v -3.0685 3.1211 6.5105 +v -3.3990 4.2247 3.4893 +v -4.3287 4.2224 3.4893 +v -3.5336 4.7213 1.8730 +v -4.4633 4.7189 1.8730 +v -3.5934 4.7213 0.8616 +v -4.5231 4.7213 0.8616 +v -3.6565 4.7213 0.0003 +v -4.5862 4.7213 0.0003 +v -3.0685 -0.0674 -11.9801 +v -3.0685 3.1211 -6.5099 +v -3.9982 3.1211 -6.5099 +v -4.0712 3.7540 -4.7966 +v -3.1415 3.7540 -4.7966 +v -4.3287 4.2247 -3.4887 +v -3.3990 4.2247 -3.4887 +v -4.4633 4.7213 -1.8724 +v -3.5336 4.7213 -1.8724 +v -4.5231 4.7213 -0.8610 +v -3.5934 4.7213 -0.8610 +v -4.0914 1.3553 8.7417 +v -4.0914 2.2699 8.7359 +v -4.0914 3.1188 6.5105 +v -4.0914 2.2042 6.5164 +v -4.1643 3.7517 4.7973 +v -4.1643 2.8371 4.8031 +v -4.4218 4.2224 3.4893 +v -4.4218 3.3078 3.4952 +v -4.5564 4.7189 1.8730 +v -4.5564 3.7271 2.1035 +v -4.6162 4.7213 0.8616 +v -4.6162 3.8066 0.8674 +v -4.6793 4.7213 0.0003 +v -4.6793 3.8557 0.0062 +v -4.6162 4.7213 -0.8610 +v -4.6162 3.8066 -0.8551 +v -4.5564 4.7213 -1.8724 +v -4.5564 3.7294 -2.0911 +v -4.4218 4.2247 -3.4887 +v -4.4218 3.3101 -3.4828 +v -4.1643 3.7540 -4.7966 +v -4.1643 2.8394 -4.7908 +v -4.0914 3.1211 -6.5099 +v -4.0914 2.2065 -6.5040 +v -4.0914 2.2722 -8.7353 +v -4.0914 1.3576 -8.7294 +v -4.0914 0.8472 -11.9860 +v -4.0913 -0.0674 -11.9801 +v -3.9982 -0.0713 -13.3621 +v -3.9982 0.8434 -13.3680 +v -3.0685 0.8434 -13.3680 +v -3.0685 -0.0713 -13.3621 +v -3.0686 0.0039 13.3744 +v -3.0686 0.9185 13.3686 +v -3.9982 0.9162 13.3686 +v -3.9982 0.0016 13.3744 +v -4.0913 -0.0023 11.9925 +v -4.0914 0.9123 11.9866 +v -3.0685 1.8566 -11.9925 +v -3.0685 1.8527 -13.3744 +v -3.9982 1.8527 -13.3744 +v -3.9982 1.8566 -11.9925 +v -4.0914 0.8434 -13.3680 +v -4.0913 -0.0713 -13.3621 +v -4.0914 0.0016 13.3744 +v -4.0914 0.9162 13.3686 +v -4.0022 1.9216 11.9801 +v -4.0022 1.9255 13.3621 +v -3.0726 1.9278 13.3621 +v -3.0726 1.9239 11.9801 +v -4.3309 1.0532 -4.2736 +v -4.3102 -0.0008 -3.9892 +v -4.5388 1.1804 -3.3687 +v -4.5388 2.3452 -3.4047 +v -4.7395 2.2978 -2.1965 +v -4.7395 3.1981 -2.1722 +v -4.8125 2.7824 -0.8721 +v -4.8125 3.4962 -0.8721 +v -4.8215 2.8673 -0.0066 +v -4.8215 3.5568 -0.0066 +v -3.6673 0.0018 -3.9977 +v -3.8281 1.1836 -3.3772 +v -3.9627 2.3550 -2.2050 +v -4.0226 2.7850 -0.8806 +v -4.0856 2.8699 -0.0066 +v -4.5862 3.5594 -0.0066 +v -4.5231 3.4988 -0.8806 +v -4.4633 3.1460 -2.1807 +v -4.3287 2.3484 -3.4132 +v -4.0712 1.0557 -4.2821 +v -4.2574 1.0789 -5.6478 +v -4.1503 -0.0013 -5.7369 +v -3.9982 1.0815 -5.6563 +v -4.3309 1.0532 4.2604 +v -4.5388 2.3452 3.3915 +v -4.5388 1.1804 3.3555 +v -4.3102 -0.0008 3.9760 +v -4.7395 3.1981 2.1590 +v -4.7395 2.2978 2.1833 +v -4.8125 3.4962 0.8589 +v -4.8125 2.7824 0.8589 +v -3.6673 0.0018 3.9845 +v -3.8281 1.1836 3.3640 +v -3.9627 2.3550 2.1918 +v -4.0226 2.7850 0.8674 +v -4.5231 3.4988 0.8674 +v -4.4633 3.1460 2.1675 +v -4.3287 2.3484 3.4001 +v -4.1413 1.0557 4.2689 +v -4.1503 -0.0013 5.7237 +v -4.2574 1.0789 5.6346 +v -4.0712 1.0815 5.6346 +v -4.1764 4.0031 5.7280 +v -4.1764 4.0031 7.1178 +v -2.7107 4.0031 7.1178 +v -2.7107 4.0031 5.7280 +v -4.1764 0.0000 5.7280 +v -4.3606 2.0015 5.5403 +v -3.0500 2.0015 5.5403 +v -2.6101 0.0000 5.7280 +v -3.0500 2.0015 6.7032 +v -2.6101 0.0000 7.1178 +v -4.3606 2.0015 6.7032 +v -4.1764 0.0000 7.1178 +v -4.1764 4.0031 -5.7156 +v -2.7107 4.0031 -5.7156 +v -2.7107 4.0031 -7.1054 +v -4.1764 4.0031 -7.1054 +v -4.1764 -0.0000 -5.7156 +v -2.6101 -0.0000 -5.7156 +v -3.0500 2.0015 -5.5280 +v -4.3606 2.0015 -5.5280 +v -3.0500 2.0015 -6.6909 +v -2.6101 -0.0000 -7.1054 +v -4.1764 -0.0000 -7.1054 +v -4.3606 2.0015 -6.6909 +# 416 vertices + +vn 0.9998 0.0187 0.0075 +vn 1.0000 -0.0000 -0.0000 +vn 0.9996 0.0187 0.0223 +vn 0.9995 0.0081 0.0318 +vn 0.9995 0.0135 0.0290 +vn 0.0041 0.9228 0.3854 +vn 0.9942 -0.0101 0.1073 +vn 0.9942 -0.0095 0.1071 +vn 0.0000 -0.4357 -0.9001 +vn -0.0000 -0.4357 -0.9001 +vn 0.9983 -0.0052 0.0581 +vn 0.9984 0.0054 0.0561 +vn -0.0000 -0.7696 -0.6385 +vn 0.0000 -0.7696 -0.6385 +vn 0.9996 0.0025 0.0265 +vn 0.9996 0.0000 0.0273 +vn 0.0000 -0.9649 -0.2627 +vn -0.0000 -0.9649 -0.2627 +vn 0.0000 0.9380 0.3465 +vn 0.0000 0.9343 0.3564 +vn -0.0000 0.9409 0.3386 +vn 0.0000 0.9409 0.3386 +vn -0.0000 0.9575 0.2885 +vn -0.0000 0.9981 0.0624 +vn 0.9991 0.0000 0.0413 +vn 0.0000 -0.9875 -0.1574 +vn 0.0000 0.9984 0.0568 +vn -0.0000 0.9984 0.0568 +vn 1.0000 0.0000 -0.0000 +vn 0.9997 -0.0065 -0.0216 +vn 0.9998 -0.0039 -0.0203 +vn 0.9999 0.0000 -0.0168 +vn -0.0000 0.9159 -0.4015 +vn 0.9942 -0.0095 -0.1071 +vn 0.9924 -0.0353 -0.1180 +vn 0.0000 -0.4357 0.9001 +vn 0.9984 0.0053 -0.0561 +vn 0.9983 -0.0051 -0.0581 +vn 0.0000 -0.7696 0.6385 +vn 0.9996 0.0000 -0.0273 +vn 0.9996 0.0025 -0.0265 +vn 0.0000 -0.9649 0.2627 +vn -0.0000 0.9380 -0.3465 +vn 0.0000 0.9380 -0.3465 +vn 0.0000 0.9343 -0.3564 +vn -0.0000 0.9343 -0.3564 +vn -0.0000 0.9409 -0.3386 +vn 0.0000 0.9575 -0.2885 +vn -0.0000 0.9575 -0.2885 +vn 0.0000 0.9981 -0.0624 +vn 0.9991 0.0000 -0.0413 +vn 0.0000 -0.9875 0.1574 +vn 0.0000 0.9984 -0.0568 +vn 0.0000 0.9228 0.3854 +vn 0.0041 0.9380 0.3466 +vn 0.0041 0.9343 0.3564 +vn 0.0042 0.9408 0.3390 +vn 0.0042 0.9558 0.2938 +vn -0.0000 1.0000 0.0023 +vn 0.0044 1.0000 0.0001 +vn 0.0000 1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn 0.0359 0.9222 -0.3851 +vn -0.0000 0.9559 -0.2937 +vn -0.0000 1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.9997 0.0002 0.0241 +vn 0.9939 0.0007 0.1107 +vn 0.9982 0.0136 0.0586 +vn 0.9989 0.0003 0.0470 +vn 0.9996 0.0002 0.0273 +vn 0.9994 0.0078 0.0334 +vn 0.9991 0.0003 0.0413 +vn 0.9991 -0.0003 -0.0413 +vn 0.9996 0.0061 -0.0277 +vn 0.9994 -0.0002 -0.0334 +vn 0.9985 -0.0004 -0.0544 +vn 0.9987 0.0111 -0.0503 +vn 0.9939 -0.0007 -0.1102 +vn 0.9997 -0.0002 -0.0240 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -0.0064 -1.0000 +vn -1.0000 0.0000 -0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.9997 0.0002 0.0240 +vn -0.9939 0.0007 0.1102 +vn -0.9982 -0.0129 0.0584 +vn -0.9989 0.0003 0.0468 +vn -0.9996 0.0002 0.0273 +vn -0.9994 -0.0074 0.0334 +vn -0.9991 0.0003 0.0413 +vn -0.9991 -0.0003 -0.0413 +vn -0.9996 -0.0064 -0.0277 +vn -0.9994 -0.0002 -0.0334 +vn -0.9985 -0.0004 -0.0546 +vn -0.9987 -0.0117 -0.0505 +vn -0.9939 -0.0007 -0.1107 +vn -0.9997 -0.0002 -0.0241 +vn 0.0000 0.0064 1.0000 +vn 0.0000 1.0000 -0.0028 +vn 0.0044 1.0000 -0.0028 +vn -0.0000 0.0064 1.0000 +vn -0.0000 -0.0064 -1.0000 +vn -1.0000 0.0022 0.0000 +vn 1.0000 -0.0023 -0.0000 +vn -0.0000 -0.9343 -0.3564 +vn 0.0000 -0.9380 -0.3465 +vn -0.0000 -0.9380 -0.3465 +vn -0.0000 -0.9409 -0.3386 +vn 0.0000 -0.9409 -0.3386 +vn -0.0000 -0.9575 -0.2885 +vn -0.0000 -0.9979 -0.0642 +vn -0.0000 -0.9984 -0.0568 +vn -0.0000 -0.9984 0.0568 +vn -0.0000 -0.9981 0.0624 +vn -0.0000 -0.9575 0.2885 +vn -0.0000 -0.9409 0.3386 +vn -0.0000 -0.9380 0.3465 +vn -0.0000 -0.9343 0.3564 +vn -0.0000 -0.9159 0.4015 +vn 0.0000 0.9159 -0.4015 +vn 0.0000 0.9409 -0.3386 +vn 0.0000 0.9559 -0.2937 +vn 0.0000 1.0000 0.0023 +vn 0.0000 0.9559 0.2937 +vn -0.0000 -0.9228 -0.3854 +vn 0.9918 -0.0040 -0.1281 +vn 0.9915 -0.0440 -0.1224 +vn 0.9956 0.0025 -0.0932 +vn 0.9956 -0.0029 -0.0934 +vn 0.9995 0.0000 -0.0317 +vn 0.9995 0.0008 -0.0314 +vn 1.0000 0.0000 -0.0059 +vn -0.0241 -0.4629 0.8861 +vn -0.0225 -0.4634 0.8859 +vn -0.0204 -0.7227 0.6909 +vn -0.1050 -0.7000 0.7064 +vn -0.1280 -0.9301 0.3443 +vn -0.0114 -0.9510 0.3091 +vn -0.0076 -0.9952 0.0976 +vn -0.0062 -0.9953 0.0969 +vn 0.0194 0.9974 -0.0699 +vn 0.0271 0.9742 -0.2243 +vn -0.2950 0.9241 -0.2431 +vn -0.2404 0.8084 -0.5373 +vn 0.0616 0.8362 -0.5450 +vn 0.0745 0.5518 -0.8306 +vn 0.0580 0.5524 -0.8315 +vn 0.9973 -0.0516 -0.0515 +vn 0.9993 -0.0193 -0.0305 +vn 0.0166 0.9997 0.0182 +vn 0.9915 -0.0440 0.1224 +vn 0.9918 -0.0040 0.1281 +vn 0.9956 -0.0029 0.0934 +vn 0.9956 0.0025 0.0932 +vn 0.9995 0.0008 0.0314 +vn 0.9995 0.0000 0.0317 +vn 1.0000 0.0000 0.0059 +vn -0.0225 -0.4634 -0.8859 +vn -0.0241 -0.4629 -0.8861 +vn -0.1050 -0.7000 -0.7064 +vn -0.0204 -0.7227 -0.6909 +vn -0.0114 -0.9510 -0.3091 +vn -0.1280 -0.9301 -0.3443 +vn -0.0062 -0.9953 -0.0969 +vn -0.0076 -0.9952 -0.0976 +vn 0.0194 0.9974 0.0699 +vn -0.2950 0.9241 0.2431 +vn 0.0271 0.9742 0.2243 +vn 0.0617 0.8362 0.5450 +vn -0.2404 0.8084 0.5373 +vn 0.0794 0.5516 0.8303 +vn 0.0745 0.5518 0.8306 +vn 0.9993 -0.0193 0.0305 +vn 0.9973 -0.0516 0.0515 +vn 0.0227 0.9996 -0.0182 +vn 0.0246 0.9995 -0.0180 +vn 0.0000 -0.0933 -0.9956 +vn 0.0000 0.0933 -0.9956 +vn -0.9955 -0.0952 -0.0000 +vn 0.0000 0.2028 0.9792 +vn 0.0000 -0.2028 0.9792 +vn 0.9987 -0.0519 0.0000 +vn 0.9987 -0.0519 -0.0000 +vn 0.9987 0.0519 -0.0000 +vn 0.0000 -0.0933 0.9956 +vn 0.0000 0.0933 0.9956 +vn 0.0000 0.2028 -0.9792 +vn 0.0000 -0.2028 -0.9792 +vn -0.9998 0.0187 0.0075 +vn -0.9995 0.0135 0.0290 +vn -0.9995 0.0081 0.0318 +vn -0.9996 0.0187 0.0223 +vn -0.0041 0.9228 0.3854 +vn -0.9942 -0.0095 0.1071 +vn -0.9942 -0.0101 0.1073 +vn -0.9984 0.0054 0.0561 +vn -0.9983 -0.0052 0.0581 +vn -0.9996 0.0000 0.0273 +vn -0.9996 0.0025 0.0265 +vn -0.0000 0.9380 0.3465 +vn -0.0000 0.9343 0.3564 +vn 0.0000 0.9575 0.2885 +vn 0.0000 0.9981 0.0624 +vn -0.9991 0.0000 0.0413 +vn -0.0000 -0.9875 -0.1574 +vn -0.9999 0.0000 -0.0168 +vn -0.9998 -0.0039 -0.0203 +vn -0.9997 -0.0065 -0.0216 +vn -0.9924 -0.0353 -0.1180 +vn -0.9942 -0.0095 -0.1071 +vn -0.0000 -0.4357 0.9001 +vn -0.9983 -0.0051 -0.0581 +vn -0.9984 0.0053 -0.0561 +vn -0.0000 -0.7696 0.6385 +vn -0.9996 0.0025 -0.0265 +vn -0.9996 0.0000 -0.0273 +vn -0.0000 -0.9649 0.2627 +vn -0.9991 0.0000 -0.0413 +vn -0.0000 -0.9875 0.1574 +vn -0.0000 0.9228 0.3854 +vn -0.0041 0.9380 0.3466 +vn -0.0041 0.9343 0.3564 +vn -0.0042 0.9408 0.3390 +vn -0.0042 0.9558 0.2938 +vn -0.0044 1.0000 0.0001 +vn -0.0359 0.9222 -0.3851 +vn -1.0000 -0.0000 -0.0000 +vn -0.9997 0.0002 0.0241 +vn -0.9939 0.0007 0.1107 +vn -0.9989 0.0003 0.0470 +vn -0.9982 0.0136 0.0586 +vn -0.9994 0.0078 0.0334 +vn -0.9996 0.0061 -0.0277 +vn -0.9987 0.0111 -0.0503 +vn -0.9985 -0.0004 -0.0544 +vn -0.9939 -0.0007 -0.1102 +vn -0.9997 -0.0002 -0.0240 +vn -1.0000 -0.0000 0.0000 +vn 0.9997 0.0002 0.0240 +vn 0.9939 0.0007 0.1102 +vn 0.9989 0.0003 0.0468 +vn 0.9982 -0.0129 0.0584 +vn 0.9994 -0.0074 0.0334 +vn 0.9996 -0.0064 -0.0277 +vn 0.9987 -0.0117 -0.0505 +vn 0.9985 -0.0004 -0.0546 +vn 0.9939 -0.0007 -0.1107 +vn 0.9997 -0.0002 -0.0241 +vn -0.0044 1.0000 -0.0028 +vn 1.0000 0.0000 0.0000 +vn 1.0000 0.0023 -0.0000 +vn -1.0000 -0.0023 0.0000 +vn 0.0000 -0.9343 -0.3564 +vn 0.0000 -0.9575 -0.2885 +vn 0.0000 -0.9979 -0.0642 +vn 0.0000 -0.9984 -0.0568 +vn 0.0000 -0.9984 0.0568 +vn 0.0000 -0.9981 0.0624 +vn 0.0000 -0.9575 0.2885 +vn 0.0000 -0.9409 0.3386 +vn 0.0000 -0.9380 0.3465 +vn 0.0000 -0.9343 0.3564 +vn 0.0000 -0.9159 0.4015 +vn -0.0000 1.0000 -0.0028 +vn -0.0000 0.9559 0.2937 +vn 0.0000 -0.9228 -0.3854 +vn -0.9915 -0.0440 -0.1224 +vn -0.9918 -0.0040 -0.1281 +vn -0.9956 -0.0029 -0.0934 +vn -0.9956 0.0025 -0.0932 +vn -0.9995 0.0008 -0.0314 +vn -0.9995 0.0000 -0.0317 +vn -1.0000 0.0000 -0.0059 +vn 0.0225 -0.4634 0.8859 +vn 0.0241 -0.4629 0.8861 +vn 0.1050 -0.7000 0.7064 +vn 0.0204 -0.7227 0.6909 +vn 0.0114 -0.9510 0.3091 +vn 0.1280 -0.9301 0.3443 +vn 0.0062 -0.9953 0.0969 +vn 0.0076 -0.9952 0.0976 +vn -0.0194 0.9974 -0.0699 +vn 0.2950 0.9240 -0.2431 +vn -0.0271 0.9742 -0.2243 +vn -0.0616 0.8362 -0.5450 +vn 0.2404 0.8084 -0.5373 +vn -0.0580 0.5524 -0.8315 +vn -0.0745 0.5518 -0.8306 +vn -0.9993 -0.0193 -0.0305 +vn -0.9973 -0.0516 -0.0515 +vn -0.0166 0.9997 0.0182 +vn -0.9918 -0.0040 0.1281 +vn -0.9915 -0.0440 0.1224 +vn -0.9956 0.0025 0.0932 +vn -0.9956 -0.0029 0.0934 +vn -0.9995 0.0000 0.0317 +vn -0.9995 0.0008 0.0314 +vn -1.0000 0.0000 0.0059 +vn 0.0241 -0.4629 -0.8861 +vn 0.0225 -0.4634 -0.8859 +vn 0.0204 -0.7227 -0.6909 +vn 0.1050 -0.7000 -0.7064 +vn 0.1280 -0.9301 -0.3443 +vn 0.0114 -0.9510 -0.3091 +vn 0.0076 -0.9952 -0.0976 +vn 0.0062 -0.9953 -0.0969 +vn -0.0194 0.9974 0.0699 +vn -0.0271 0.9742 0.2243 +vn 0.2950 0.9241 0.2431 +vn 0.2404 0.8084 0.5373 +vn -0.0617 0.8362 0.5450 +vn -0.0745 0.5518 0.8306 +vn -0.0794 0.5516 0.8303 +vn -0.9973 -0.0516 0.0515 +vn -0.9993 -0.0193 0.0305 +vn -0.0246 0.9995 -0.0180 +vn -0.0227 0.9996 -0.0182 +vn 0.9955 -0.0952 -0.0000 +vn -0.9987 -0.0519 -0.0000 +vn -0.9987 -0.0519 0.0000 +vn -0.9987 0.0519 -0.0000 +# 322 vertex normals + +vt 0.0055 0.7726 0.0000 +vt 0.2148 0.7727 0.0000 +vt 0.2147 0.8639 0.0000 +vt 0.1297 0.8288 0.0000 +vt 0.3085 0.7727 0.0000 +vt 0.3007 0.8163 0.0000 +vt 0.2802 0.8900 0.0000 +vt 0.1697 0.7009 0.0000 +vt 0.1692 0.6636 0.0000 +vt 0.0461 0.6643 0.0000 +vt 0.0466 0.7016 0.0000 +vt 0.3350 0.8652 0.0000 +vt 0.3315 0.9095 0.0000 +vt 0.3723 0.8137 0.0000 +vt 0.3999 0.8136 0.0000 +vt 0.4003 0.8870 0.0000 +vt 0.3726 0.8844 0.0000 +vt 0.3826 0.8991 0.0000 +vt 0.3850 0.9268 0.0000 +vt 0.4256 0.8135 0.0000 +vt 0.4259 0.8892 0.0000 +vt 0.4323 0.9108 0.0000 +vt 0.4323 0.9301 0.0000 +vt 0.4509 0.8134 0.0000 +vt 0.4513 0.8901 0.0000 +vt 0.7184 0.6451 0.0000 +vt 0.6550 0.6472 0.0000 +vt 0.6551 0.5407 0.0000 +vt 0.7182 0.5411 0.0000 +vt 0.8032 0.6449 0.0000 +vt 0.8031 0.5410 0.0000 +vt 0.6057 0.6561 0.0000 +vt 0.6059 0.5409 0.0000 +vt 0.5512 0.6609 0.0000 +vt 0.5513 0.5412 0.0000 +vt 0.5132 0.6630 0.0000 +vt 0.5135 0.5412 0.0000 +vt 0.4653 0.9155 0.0000 +vt 0.4653 0.9321 0.0000 +vt 0.4646 0.8133 0.0000 +vt 0.4649 0.8911 0.0000 +vt 0.4819 0.6653 0.0000 +vt 0.4828 0.5414 0.0000 +vt 0.8014 0.8288 0.0000 +vt 0.7163 0.8639 0.0000 +vt 0.7163 0.7727 0.0000 +vt 0.9256 0.7699 0.0000 +vt 0.6506 0.8901 0.0000 +vt 0.6305 0.8163 0.0000 +vt 0.6227 0.7727 0.0000 +vt 0.9143 0.7019 0.0000 +vt 0.9142 0.6646 0.0000 +vt 0.7893 0.6638 0.0000 +vt 0.7895 0.7012 0.0000 +vt 0.5992 0.9096 0.0000 +vt 0.5956 0.8652 0.0000 +vt 0.5572 0.8820 0.0000 +vt 0.5296 0.8865 0.0000 +vt 0.5293 0.8131 0.0000 +vt 0.5569 0.8130 0.0000 +vt 0.5457 0.9269 0.0000 +vt 0.5481 0.8991 0.0000 +vt 0.5041 0.8889 0.0000 +vt 0.5037 0.8132 0.0000 +vt 0.4984 0.9301 0.0000 +vt 0.4984 0.9108 0.0000 +vt 0.4787 0.8900 0.0000 +vt 0.4783 0.8133 0.0000 +vt 0.3106 0.5420 0.0000 +vt 0.3104 0.6485 0.0000 +vt 0.2476 0.6456 0.0000 +vt 0.2475 0.5417 0.0000 +vt 0.1628 0.6457 0.0000 +vt 0.1626 0.5418 0.0000 +vt 0.3598 0.5418 0.0000 +vt 0.3596 0.6570 0.0000 +vt 0.4144 0.5416 0.0000 +vt 0.4143 0.6613 0.0000 +vt 0.4522 0.5415 0.0000 +vt 0.4519 0.6633 0.0000 +vt 0.9501 0.5408 0.0000 +vt 0.9502 0.6448 0.0000 +vt 0.2519 0.7005 0.0000 +vt 0.3148 0.7031 0.0000 +vt 0.3144 0.6658 0.0000 +vt 0.2515 0.6631 0.0000 +vt 0.3626 0.7133 0.0000 +vt 0.3622 0.6759 0.0000 +vt 0.4197 0.7185 0.0000 +vt 0.4194 0.6812 0.0000 +vt 0.4522 0.7209 0.0000 +vt 0.4518 0.6836 0.0000 +vt 0.4798 0.7234 0.0000 +vt 0.4795 0.6861 0.0000 +vt 0.0142 0.6459 0.0000 +vt 0.0160 0.5419 0.0000 +vt 0.6444 0.7033 0.0000 +vt 0.7072 0.7007 0.0000 +vt 0.7071 0.6634 0.0000 +vt 0.6442 0.6660 0.0000 +vt 0.5967 0.7134 0.0000 +vt 0.5965 0.6761 0.0000 +vt 0.5397 0.7186 0.0000 +vt 0.5395 0.6813 0.0000 +vt 0.5073 0.7209 0.0000 +vt 0.5071 0.6836 0.0000 +vt 0.1376 0.8475 0.0000 +vt 0.2215 0.8831 0.0000 +vt 0.2222 0.9224 0.0000 +vt 0.1383 0.8869 0.0000 +vt 0.2862 0.9096 0.0000 +vt 0.2869 0.9489 0.0000 +vt 0.3369 0.9293 0.0000 +vt 0.3376 0.9686 0.0000 +vt 0.3898 0.9467 0.0000 +vt 0.3989 0.9893 0.0000 +vt 0.4364 0.9496 0.0000 +vt 0.4370 0.9890 0.0000 +vt 0.4689 0.9514 0.0000 +vt 0.4695 0.9886 0.0000 +vt 0.5015 0.9489 0.0000 +vt 0.5014 0.9883 0.0000 +vt 0.5485 0.9461 0.0000 +vt 0.5386 0.9886 0.0000 +vt 0.6024 0.9297 0.0000 +vt 0.6000 0.9690 0.0000 +vt 0.6546 0.9116 0.0000 +vt 0.6514 0.9508 0.0000 +vt 0.7217 0.8877 0.0000 +vt 0.7179 0.9270 0.0000 +vt 0.8091 0.8562 0.0000 +vt 0.8049 0.8954 0.0000 +vt 0.9376 0.8026 0.0000 +vt 0.9333 0.8418 0.0000 +vt 0.1175 0.2765 0.0000 +vt 0.1172 0.2184 0.0000 +vt 0.0528 0.2186 0.0000 +vt 0.0531 0.2766 0.0000 +vt 0.0149 0.7906 0.0000 +vt 0.0156 0.8299 0.0000 +vt 0.1171 0.1374 0.0000 +vt 0.0526 0.1376 0.0000 +vt 0.1279 0.1213 0.0000 +vt 0.0641 0.1216 0.0000 +vt 0.0639 0.0185 0.0000 +vt 0.1276 0.0182 0.0000 +vt 0.0533 0.3601 0.0000 +vt 0.1177 0.3599 0.0000 +vt 0.1175 0.2816 0.0000 +vt 0.0531 0.2818 0.0000 +vt 0.5233 0.0680 0.0000 +vt 0.5233 0.0146 0.0000 +vt 0.4613 0.0144 0.0000 +vt 0.4612 0.0679 0.0000 +vt 0.5230 0.2785 0.0000 +vt 0.5231 0.1970 0.0000 +vt 0.4611 0.1969 0.0000 +vt 0.4610 0.2783 0.0000 +vt 0.5232 0.1436 0.0000 +vt 0.4612 0.1434 0.0000 +vt 0.1397 0.8448 0.0000 +vt 0.2234 0.8802 0.0000 +vt 0.2877 0.9066 0.0000 +vt 0.3381 0.9262 0.0000 +vt 0.3905 0.9436 0.0000 +vt 0.4365 0.9465 0.0000 +vt 0.4689 0.9482 0.0000 +vt 0.5015 0.9458 0.0000 +vt 0.5478 0.9429 0.0000 +vt 0.6014 0.9266 0.0000 +vt 0.6534 0.9085 0.0000 +vt 0.7201 0.8848 0.0000 +vt 0.8072 0.8534 0.0000 +vt 0.9356 0.7998 0.0000 +vt 0.0479 0.2818 0.0000 +vt 0.0481 0.3601 0.0000 +vt 0.7895 0.7049 0.0000 +vt 0.9144 0.7056 0.0000 +vt 0.7072 0.7044 0.0000 +vt 0.6444 0.7070 0.0000 +vt 0.5967 0.7172 0.0000 +vt 0.5397 0.7224 0.0000 +vt 0.5073 0.7247 0.0000 +vt 0.4798 0.7272 0.0000 +vt 0.4522 0.7246 0.0000 +vt 0.4198 0.7222 0.0000 +vt 0.3627 0.7170 0.0000 +vt 0.3149 0.7068 0.0000 +vt 0.2520 0.7042 0.0000 +vt 0.1697 0.7047 0.0000 +vt 0.0466 0.7053 0.0000 +vt 0.0171 0.7879 0.0000 +vt 0.2846 0.0635 0.0000 +vt 0.3350 0.1014 0.0000 +vt 0.2869 0.0984 0.0000 +vt 0.2402 0.0697 0.0000 +vt 0.3662 0.1505 0.0000 +vt 0.3291 0.1463 0.0000 +vt 0.3743 0.1993 0.0000 +vt 0.3449 0.1967 0.0000 +vt 0.3741 0.2313 0.0000 +vt 0.3456 0.2288 0.0000 +vt 0.9520 0.3232 0.0000 +vt 0.9511 0.3553 0.0000 +vt 0.8725 0.3642 0.0000 +vt 0.8736 0.3287 0.0000 +vt 0.7872 0.3718 0.0000 +vt 0.7856 0.3328 0.0000 +vt 0.7246 0.3759 0.0000 +vt 0.7245 0.3364 0.0000 +vt 0.6884 0.3767 0.0000 +vt 0.6880 0.3399 0.0000 +vt 0.9747 0.5705 0.0000 +vt 0.9874 0.5713 0.0000 +vt 0.9855 0.6101 0.0000 +vt 0.9700 0.6102 0.0000 +vt 0.9823 0.6717 0.0000 +vt 0.9673 0.6738 0.0000 +vt 0.9698 0.7513 0.0000 +vt 0.9586 0.7517 0.0000 +vt 0.9671 0.8478 0.0000 +vt 0.9532 0.8490 0.0000 +vt 0.2458 0.0054 0.0000 +vt 0.2902 0.0130 0.0000 +vt 0.9667 0.9098 0.0000 +vt 0.9528 0.9110 0.0000 +vt 0.2569 0.3810 0.0000 +vt 0.2142 0.3671 0.0000 +vt 0.2651 0.3469 0.0000 +vt 0.3131 0.3524 0.0000 +vt 0.3151 0.3071 0.0000 +vt 0.3523 0.3095 0.0000 +vt 0.3393 0.2602 0.0000 +vt 0.3688 0.2628 0.0000 +vt 0.4237 0.3291 0.0000 +vt 0.5022 0.3328 0.0000 +vt 0.5041 0.3683 0.0000 +vt 0.4253 0.3612 0.0000 +vt 0.5903 0.3350 0.0000 +vt 0.5895 0.3740 0.0000 +vt 0.6514 0.3372 0.0000 +vt 0.6522 0.3767 0.0000 +vt 0.9748 0.5306 0.0000 +vt 0.9902 0.5325 0.0000 +vt 0.9790 0.4672 0.0000 +vt 0.9938 0.4708 0.0000 +vt 0.9769 0.3892 0.0000 +vt 0.9881 0.3902 0.0000 +vt 0.9762 0.2924 0.0000 +vt 0.9863 0.2934 0.0000 +vt 0.2535 0.4317 0.0000 +vt 0.2085 0.4314 0.0000 +vt 0.9763 0.2308 0.0000 +vt 0.9863 0.2315 0.0000 +vt 0.9781 0.1864 0.0000 +vt 0.8088 0.1864 0.0000 +vt 0.8088 0.0170 0.0000 +vt 0.9781 0.0170 0.0000 +vt 0.7807 0.0185 0.0000 +vt 0.6794 0.0178 0.0000 +vt 0.7064 0.1575 0.0000 +vt 0.7912 0.1581 0.0000 +vt 0.6831 0.2968 0.0000 +vt 0.7779 0.2975 0.0000 +vt 0.6498 0.1633 0.0000 +vt 0.5711 0.1633 0.0000 +vt 0.5431 0.3053 0.0000 +vt 0.6371 0.3053 0.0000 +vt 0.5431 0.0214 0.0000 +vt 0.6371 0.0214 0.0000 +vt 0.3995 0.7402 0.0000 +vt 0.3720 0.7430 0.0000 +vt 0.4252 0.7378 0.0000 +vt 0.4506 0.7367 0.0000 +vt 0.6552 0.4343 0.0000 +vt 0.7180 0.4371 0.0000 +vt 0.8029 0.4370 0.0000 +vt 0.6060 0.4257 0.0000 +vt 0.5513 0.4214 0.0000 +vt 0.5137 0.4195 0.0000 +vt 0.4643 0.7356 0.0000 +vt 0.4838 0.4175 0.0000 +vt 0.5566 0.7439 0.0000 +vt 0.5290 0.7397 0.0000 +vt 0.5033 0.7375 0.0000 +vt 0.4780 0.7366 0.0000 +vt 0.2473 0.4377 0.0000 +vt 0.3107 0.4356 0.0000 +vt 0.1624 0.4378 0.0000 +vt 0.3600 0.4267 0.0000 +vt 0.4145 0.4219 0.0000 +vt 0.4525 0.4198 0.0000 +vt 0.9499 0.4368 0.0000 +vt 0.0139 0.4380 0.0000 +# 294 texture coords + +o bridge +g bridge +f 1/1/1 2/2/1 3/3/1 +f 3/3/2 4/4/2 1/1/2 +f 3/3/3 2/2/3 5/5/3 +f 3/3/4 5/5/4 6/6/4 +f 3/3/5 6/6/5 7/7/5 +f 8/8/6 9/9/6 10/10/6 +f 10/10/6 11/11/6 8/8/6 +f 7/7/7 6/6/7 12/12/7 +f 12/12/8 13/13/8 7/7/8 +f 14/14/9 15/15/9 16/16/9 +f 16/16/10 5/17/10 14/14/10 +f 13/13/11 12/12/11 17/18/11 +f 17/18/12 18/19/12 13/13/12 +f 15/15/13 19/20/13 20/21/13 +f 20/21/14 16/16/14 15/15/14 +f 18/19/15 17/18/15 21/22/15 +f 21/22/16 22/23/16 18/19/16 +f 19/20/17 23/24/17 24/25/17 +f 24/25/18 20/21/18 19/20/18 +f 25/26/19 26/27/19 27/28/19 +f 27/28/19 28/29/19 25/26/19 +f 29/30/20 25/26/20 28/29/20 +f 28/29/20 30/31/20 29/30/20 +f 26/27/21 31/32/21 32/33/21 +f 32/33/22 27/28/22 26/27/22 +f 31/32/23 33/34/23 34/35/23 +f 34/35/23 32/33/23 31/32/23 +f 33/34/24 35/36/24 36/37/24 +f 36/37/24 34/35/24 33/34/24 +f 22/23/25 21/22/25 37/38/25 +f 37/38/25 38/39/25 22/23/25 +f 23/24/26 39/40/26 40/41/26 +f 40/41/26 24/25/26 23/24/26 +f 35/36/27 41/42/27 42/43/27 +f 42/43/28 36/37/28 35/36/28 +f 43/44/29 44/45/29 45/46/29 +f 45/46/29 46/47/29 43/44/29 +f 44/45/30 47/48/30 48/49/30 +f 44/45/31 48/49/31 49/50/31 +f 44/45/32 49/50/32 45/46/32 +f 50/51/33 51/52/33 52/53/33 +f 52/53/33 53/54/33 50/51/33 +f 47/48/34 54/55/34 55/56/34 +f 55/56/35 48/49/35 47/48/35 +f 49/57/36 56/58/36 57/59/36 +f 57/59/36 58/60/36 49/57/36 +f 54/55/37 59/61/37 60/62/37 +f 60/62/38 55/56/38 54/55/38 +f 56/58/39 61/63/39 62/64/39 +f 62/64/39 57/59/39 56/58/39 +f 59/61/40 63/65/40 64/66/40 +f 64/66/41 60/62/41 59/61/41 +f 61/63/42 65/67/42 66/68/42 +f 66/68/42 62/64/42 61/63/42 +f 67/69/43 68/70/43 69/71/43 +f 69/71/44 70/72/44 67/69/44 +f 70/72/45 69/71/45 71/73/45 +f 71/73/46 72/74/46 70/72/46 +f 73/75/47 74/76/47 68/70/47 +f 68/70/47 67/69/47 73/75/47 +f 75/77/48 76/78/48 74/76/48 +f 74/76/49 73/75/49 75/77/49 +f 77/79/50 78/80/50 76/78/50 +f 76/78/50 75/77/50 77/79/50 +f 63/65/51 38/39/51 37/38/51 +f 37/38/51 64/66/51 63/65/51 +f 65/67/52 40/41/52 39/40/52 +f 39/40/52 66/68/52 65/67/52 +f 42/43/53 41/42/53 78/80/53 +f 78/80/53 77/79/53 42/43/53 +f 29/30/54 30/31/54 79/81/54 +f 79/81/54 80/82/54 29/30/54 +f 81/83/55 82/84/55 83/85/55 +f 83/85/55 84/86/55 81/83/55 +f 8/8/56 81/83/56 84/86/56 +f 84/86/56 9/9/56 8/8/56 +f 82/84/57 85/87/57 86/88/57 +f 86/88/57 83/85/57 82/84/57 +f 85/87/58 87/89/58 88/90/58 +f 88/90/58 86/88/58 85/87/58 +f 87/89/59 89/91/59 90/92/59 +f 90/92/60 88/90/60 87/89/60 +f 89/91/61 91/93/61 92/94/61 +f 92/94/62 90/92/62 89/91/62 +f 93/95/63 94/96/63 72/74/63 +f 72/74/33 71/73/33 93/95/33 +f 95/97/44 96/98/44 97/99/44 +f 97/99/43 98/100/43 95/97/43 +f 96/98/46 53/54/46 52/53/46 +f 52/53/45 97/99/45 96/98/45 +f 99/101/47 95/97/47 98/100/47 +f 98/100/47 100/102/47 99/101/47 +f 101/103/64 99/101/64 100/102/64 +f 100/102/64 102/104/64 101/103/64 +f 103/105/65 101/103/65 102/104/65 +f 102/104/65 104/106/65 103/105/65 +f 91/93/65 103/105/65 104/106/65 +f 104/106/66 92/94/66 91/93/66 +f 105/107/2 106/108/2 107/109/2 +f 107/109/2 108/110/2 105/107/2 +f 106/108/67 109/111/67 110/112/67 +f 110/112/67 107/109/67 106/108/67 +f 109/111/68 111/113/68 112/114/68 +f 112/114/68 110/112/68 109/111/68 +f 111/113/69 113/115/69 114/116/69 +f 114/116/70 112/114/70 111/113/70 +f 113/115/71 115/117/71 116/118/71 +f 116/118/72 114/116/72 113/115/72 +f 115/117/73 117/119/73 118/120/73 +f 118/120/73 116/118/73 115/117/73 +f 117/119/74 119/121/74 120/122/74 +f 120/122/74 118/120/74 117/119/74 +f 119/121/75 121/123/75 122/124/75 +f 122/124/76 120/122/76 119/121/76 +f 121/123/77 123/125/77 124/126/77 +f 124/126/78 122/124/78 121/123/78 +f 123/125/79 125/127/79 126/128/79 +f 126/128/79 124/126/79 123/125/79 +f 125/127/80 127/129/80 128/130/80 +f 128/130/80 126/128/80 125/127/80 +f 127/129/81 129/131/81 130/132/81 +f 130/132/81 128/130/81 127/129/81 +f 129/131/81 131/133/81 132/134/81 +f 132/134/81 130/132/81 129/131/81 +f 133/135/82 134/136/82 135/137/82 +f 135/137/82 136/138/82 133/135/82 +f 93/139/83 71/107/83 52/110/83 +f 52/110/83 51/140/83 93/139/83 +f 71/107/83 69/108/83 97/109/83 +f 97/109/84 52/110/84 71/107/84 +f 69/108/85 68/111/85 98/112/85 +f 98/112/85 97/109/85 69/108/85 +f 68/111/86 74/113/86 100/114/86 +f 100/114/86 98/112/86 68/111/86 +f 74/113/87 76/115/87 102/116/87 +f 102/116/88 100/114/88 74/113/88 +f 76/115/89 78/117/89 104/118/89 +f 104/118/90 102/116/90 76/115/90 +f 78/117/91 41/119/91 92/120/91 +f 92/120/91 104/118/91 78/117/91 +f 41/119/92 35/121/92 90/122/92 +f 90/122/92 92/120/92 41/119/92 +f 35/121/93 33/123/93 88/124/93 +f 88/124/94 90/122/94 35/121/94 +f 33/123/95 31/125/95 86/126/95 +f 86/126/96 88/124/96 33/123/96 +f 31/125/97 26/127/97 83/128/97 +f 83/128/97 86/126/97 31/125/97 +f 26/127/98 25/129/98 84/130/98 +f 84/130/98 83/128/98 26/127/98 +f 25/129/84 29/131/84 9/132/84 +f 9/132/84 84/130/84 25/129/84 +f 29/131/84 80/133/84 10/134/84 +f 10/134/84 9/132/84 29/131/84 +f 137/136/99 138/135/99 139/138/99 +f 139/138/99 140/137/99 137/136/99 +f 141/139/2 105/107/2 108/110/2 +f 108/110/2 142/140/2 141/139/2 +f 93/141/83 51/142/83 135/137/83 +f 135/137/83 134/136/83 93/141/83 +f 143/143/100 144/144/100 145/145/100 +f 145/145/100 146/146/100 143/143/100 +f 132/147/81 131/148/81 147/149/81 +f 147/149/81 148/150/81 132/147/81 +f 141/148/2 142/147/2 149/150/2 +f 149/150/2 150/149/2 141/148/2 +f 151/145/101 152/146/101 153/143/101 +f 153/143/101 154/144/101 151/145/101 +f 10/142/84 80/141/84 137/136/84 +f 137/136/84 140/137/84 10/142/84 +f 51/151/102 50/152/102 144/153/102 +f 144/153/99 143/154/99 51/151/99 +f 50/155/29 136/156/29 145/157/29 +f 145/157/29 144/158/29 50/155/29 +f 136/156/82 135/159/82 146/160/82 +f 146/160/82 145/157/82 136/156/82 +f 135/159/83 51/151/83 143/154/83 +f 143/154/83 146/160/83 135/159/83 +f 11/152/103 10/151/103 152/154/103 +f 152/154/103 151/153/103 11/152/103 +f 10/151/104 140/159/104 153/160/104 +f 153/160/104 152/154/104 10/151/104 +f 140/159/99 139/156/99 154/157/99 +f 154/157/99 153/160/99 140/159/99 +f 139/156/105 11/155/105 151/158/105 +f 151/158/105 154/157/105 139/156/105 +f 4/161/106 3/162/106 106/108/106 +f 106/108/106 105/107/106 4/161/106 +f 3/162/107 7/163/107 109/111/107 +f 109/111/108 106/108/108 3/162/108 +f 7/163/109 13/164/109 111/113/109 +f 111/113/110 109/111/110 7/163/110 +f 13/164/111 18/165/111 113/115/111 +f 113/115/111 111/113/111 13/164/111 +f 18/165/112 22/166/112 115/117/112 +f 115/117/112 113/115/112 18/165/112 +f 22/166/113 38/167/113 117/119/113 +f 117/119/113 115/117/113 22/166/113 +f 38/167/114 63/168/114 119/121/114 +f 119/121/114 117/119/114 38/167/114 +f 63/168/115 59/169/115 121/123/115 +f 121/123/115 119/121/115 63/168/115 +f 59/169/116 54/170/116 123/125/116 +f 123/125/116 121/123/116 59/169/116 +f 54/170/117 47/171/117 125/127/117 +f 125/127/117 123/125/117 54/170/117 +f 47/171/118 44/172/118 127/129/118 +f 127/129/118 125/127/118 47/171/118 +f 44/172/119 43/173/119 129/131/119 +f 129/131/119 127/129/119 44/172/119 +f 43/173/120 46/174/120 131/133/120 +f 131/133/120 129/131/120 43/173/120 +f 133/135/103 136/138/103 148/150/103 +f 148/150/103 147/149/103 133/135/103 +f 136/175/100 50/176/100 132/147/100 +f 132/147/100 148/150/100 136/175/100 +f 50/51/121 53/54/121 130/177/121 +f 130/177/121 132/178/121 50/51/121 +f 53/54/45 96/98/45 128/179/45 +f 128/179/45 130/177/45 53/54/45 +f 96/98/44 95/97/44 126/180/44 +f 126/180/44 128/179/44 96/98/44 +f 95/97/122 99/101/122 124/181/122 +f 124/181/122 126/180/122 95/97/122 +f 99/101/123 101/103/123 122/182/123 +f 122/182/123 124/181/123 99/101/123 +f 101/103/66 103/105/66 120/183/66 +f 120/183/66 122/182/66 101/103/66 +f 103/105/66 91/93/66 118/184/66 +f 118/184/66 120/183/66 103/105/66 +f 91/93/61 89/91/61 116/185/61 +f 116/185/61 118/184/61 91/93/61 +f 89/91/124 87/89/124 114/186/124 +f 114/186/124 116/185/124 89/91/124 +f 87/89/125 85/87/125 112/187/125 +f 112/187/125 114/186/125 87/89/125 +f 85/87/22 82/84/22 110/188/22 +f 110/188/22 112/187/22 85/87/22 +f 82/84/19 81/83/19 107/189/19 +f 107/189/19 110/188/19 82/84/19 +f 81/83/20 8/8/20 108/190/20 +f 108/190/20 107/189/20 81/83/20 +f 8/8/54 11/11/54 142/191/54 +f 142/191/54 108/190/54 8/8/54 +f 11/176/100 139/175/100 149/150/100 +f 149/150/100 142/147/100 11/176/100 +f 139/138/99 138/135/99 150/149/99 +f 150/149/99 149/150/99 139/138/99 +f 1/192/126 4/161/126 105/107/126 +f 105/107/126 141/139/126 1/192/126 +f 155/193/127 156/194/127 157/195/127 +f 157/195/128 158/196/128 155/193/128 +f 156/194/129 159/197/129 160/198/129 +f 160/198/130 157/195/130 156/194/130 +f 159/197/131 161/199/131 162/200/131 +f 162/200/132 160/198/132 159/197/132 +f 161/199/133 163/201/133 164/202/133 +f 164/202/133 162/200/133 161/199/133 +f 165/203/134 158/204/134 157/205/134 +f 157/205/135 166/206/135 165/203/135 +f 166/206/136 157/205/136 160/207/136 +f 160/207/137 167/208/137 166/206/137 +f 167/208/138 160/207/138 162/209/138 +f 162/209/139 168/210/139 167/208/139 +f 168/210/140 162/209/140 164/211/140 +f 164/211/141 169/212/141 168/210/141 +f 170/213/142 163/214/142 161/215/142 +f 161/215/142 171/216/142 170/213/142 +f 171/216/143 161/215/143 159/217/143 +f 159/217/144 172/218/144 171/216/144 +f 172/218/145 159/217/145 156/219/145 +f 156/219/146 173/220/146 172/218/146 +f 173/220/147 156/219/147 155/221/147 +f 155/221/148 174/222/148 173/220/148 +f 158/196/149 175/223/149 176/224/149 +f 176/224/150 155/193/150 158/196/150 +f 155/221/151 176/225/151 177/226/151 +f 177/226/151 174/222/151 155/221/151 +f 178/227/152 179/228/152 180/229/152 +f 180/229/153 181/230/153 178/227/153 +f 181/230/154 180/229/154 182/231/154 +f 182/231/155 183/232/155 181/230/155 +f 183/232/156 182/231/156 184/233/156 +f 184/233/157 185/234/157 183/232/157 +f 185/234/158 184/233/158 164/202/158 +f 164/202/158 163/201/158 185/234/158 +f 186/235/159 187/236/159 180/237/159 +f 180/237/160 179/238/160 186/235/160 +f 187/236/161 188/239/161 182/240/161 +f 182/240/162 180/237/162 187/236/162 +f 188/239/163 189/241/163 184/242/163 +f 184/242/164 182/240/164 188/239/164 +f 189/241/165 169/212/165 164/211/165 +f 164/211/166 184/242/166 189/241/166 +f 170/213/167 190/243/167 185/244/167 +f 185/244/167 163/214/167 170/213/167 +f 190/243/168 191/245/168 183/246/168 +f 183/246/169 185/244/169 190/243/169 +f 191/245/170 192/247/170 181/248/170 +f 181/248/171 183/246/171 191/245/171 +f 192/247/172 193/249/172 178/250/172 +f 178/250/173 181/248/173 192/247/173 +f 179/228/174 178/227/174 194/251/174 +f 194/251/175 195/252/175 179/228/175 +f 178/250/176 193/249/176 196/253/176 +f 196/253/177 194/254/177 178/250/177 +f 197/255/61 198/256/61 199/257/61 +f 199/257/61 200/258/61 197/255/61 +f 201/259/178 202/260/178 203/261/178 +f 203/261/178 204/262/178 201/259/178 +f 204/262/179 203/261/179 198/263/179 +f 198/263/179 197/264/179 204/262/179 +f 203/265/180 205/266/180 199/267/180 +f 199/267/180 198/268/180 203/265/180 +f 206/260/181 207/259/181 208/262/181 +f 208/262/181 205/261/181 206/260/181 +f 205/261/182 208/262/182 200/264/182 +f 200/264/182 199/263/182 205/261/182 +f 207/269/183 201/270/183 204/265/183 +f 204/265/184 208/266/184 207/269/184 +f 208/266/185 204/265/185 197/268/185 +f 197/268/185 200/267/185 208/266/185 +f 209/258/61 210/255/61 211/256/61 +f 211/256/61 212/257/61 209/258/61 +f 213/259/186 214/262/186 215/261/186 +f 215/261/186 216/260/186 213/259/186 +f 214/262/187 209/264/187 212/263/187 +f 212/263/187 215/261/187 214/262/187 +f 215/265/180 212/268/180 211/267/180 +f 211/267/180 217/266/180 215/265/180 +f 218/260/188 217/261/188 219/262/188 +f 219/262/188 220/259/188 218/260/188 +f 217/261/189 211/263/189 210/264/189 +f 210/264/189 219/262/189 217/261/189 +f 220/269/184 219/266/184 214/265/184 +f 214/265/183 213/270/183 220/269/183 +f 219/266/185 210/267/185 209/268/185 +f 209/268/185 214/265/185 219/266/185 +f 221/1/83 222/4/83 223/3/83 +f 223/3/190 224/2/190 221/1/190 +f 223/3/191 225/7/191 226/6/191 +f 223/3/192 226/6/192 227/5/192 +f 223/3/193 227/5/193 224/2/193 +f 228/8/194 229/11/194 230/10/194 +f 230/10/194 231/9/194 228/8/194 +f 225/7/195 232/13/195 233/12/195 +f 233/12/196 226/6/196 225/7/196 +f 234/271/10 15/15/10 14/14/10 +f 14/14/9 227/272/9 234/271/9 +f 232/13/197 235/19/197 236/18/197 +f 236/18/198 233/12/198 232/13/198 +f 237/273/14 19/20/14 15/15/14 +f 15/15/13 234/271/13 237/273/13 +f 235/19/199 238/23/199 239/22/199 +f 239/22/200 236/18/200 235/19/200 +f 240/274/18 23/24/18 19/20/18 +f 19/20/17 237/273/17 240/274/17 +f 27/28/201 241/275/201 242/276/201 +f 242/276/19 28/29/19 27/28/19 +f 28/29/20 242/276/20 243/277/20 +f 243/277/202 30/31/202 28/29/202 +f 32/33/22 244/278/22 241/275/22 +f 241/275/21 27/28/21 32/33/21 +f 34/35/203 245/279/203 244/278/203 +f 244/278/203 32/33/203 34/35/203 +f 36/37/204 246/280/204 245/279/204 +f 245/279/204 34/35/204 36/37/204 +f 238/23/205 247/39/205 248/38/205 +f 248/38/205 239/22/205 238/23/205 +f 249/281/206 39/40/206 23/24/206 +f 23/24/206 240/274/206 249/281/206 +f 42/43/27 250/282/27 246/280/27 +f 246/280/27 36/37/27 42/43/27 +f 251/44/83 252/47/83 253/46/83 +f 253/46/83 254/45/83 251/44/83 +f 254/45/207 253/46/207 255/50/207 +f 254/45/208 255/50/208 256/49/208 +f 254/45/209 256/49/209 257/48/209 +f 258/51/121 259/54/121 260/53/121 +f 260/53/121 261/52/121 258/51/121 +f 257/48/210 256/49/210 262/56/210 +f 262/56/211 263/55/211 257/48/211 +f 255/283/36 58/60/36 57/59/36 +f 57/59/212 264/284/212 255/283/212 +f 263/55/213 262/56/213 265/62/213 +f 265/62/214 266/61/214 263/55/214 +f 264/284/215 57/59/215 62/64/215 +f 62/64/215 267/285/215 264/284/215 +f 266/61/216 265/62/216 268/66/216 +f 268/66/217 269/65/217 266/61/217 +f 267/285/218 62/64/218 66/68/218 +f 66/68/218 270/286/218 267/285/218 +f 271/287/44 272/288/44 67/69/44 +f 67/69/44 70/72/44 271/287/44 +f 273/289/45 271/287/45 70/72/45 +f 70/72/45 72/74/45 273/289/45 +f 272/288/122 274/290/122 73/75/122 +f 73/75/122 67/69/122 272/288/122 +f 274/290/48 275/291/48 75/77/48 +f 75/77/48 73/75/48 274/290/48 +f 275/291/50 276/292/50 77/79/50 +f 77/79/50 75/77/50 275/291/50 +f 269/65/219 268/66/219 248/38/219 +f 248/38/219 247/39/219 269/65/219 +f 270/286/220 66/68/220 39/40/220 +f 39/40/220 249/281/220 270/286/220 +f 276/292/53 250/282/53 42/43/53 +f 42/43/53 77/79/53 276/292/53 +f 243/277/54 277/293/54 79/81/54 +f 79/81/221 30/31/221 243/277/221 +f 278/85/222 279/84/222 280/83/222 +f 280/83/222 281/86/222 278/85/222 +f 281/86/223 280/83/223 228/8/223 +f 228/8/223 231/9/223 281/86/223 +f 282/88/224 283/87/224 279/84/224 +f 279/84/224 278/85/224 282/88/224 +f 284/90/225 285/89/225 283/87/225 +f 283/87/225 282/88/225 284/90/225 +f 286/92/124 287/91/124 285/89/124 +f 285/89/226 284/90/226 286/92/226 +f 288/94/61 289/93/61 287/91/61 +f 287/91/61 286/92/61 288/94/61 +f 290/294/121 273/289/121 72/74/121 +f 72/74/227 94/96/227 290/294/227 +f 291/99/44 292/98/44 293/97/44 +f 293/97/44 294/100/44 291/99/44 +f 260/53/45 259/54/45 292/98/45 +f 292/98/45 291/99/45 260/53/45 +f 294/100/122 293/97/122 295/101/122 +f 295/101/122 296/102/122 294/100/122 +f 296/102/123 295/101/123 297/103/123 +f 297/103/123 298/104/123 296/102/123 +f 298/104/66 297/103/66 299/105/66 +f 299/105/66 300/106/66 298/104/66 +f 300/106/66 299/105/66 289/93/66 +f 289/93/66 288/94/66 300/106/66 +f 301/131/228 302/132/228 303/130/228 +f 303/130/228 304/129/228 301/131/228 +f 304/129/229 303/130/229 305/128/229 +f 305/128/229 306/127/229 304/129/229 +f 306/127/230 305/128/230 307/126/230 +f 307/126/230 308/125/230 306/127/230 +f 308/125/231 307/126/231 309/124/231 +f 309/124/232 310/123/232 308/125/232 +f 310/123/233 309/124/233 311/122/233 +f 311/122/89 312/121/89 310/123/89 +f 312/121/91 311/122/91 313/120/91 +f 313/120/91 314/119/91 312/121/91 +f 314/119/92 313/120/92 315/118/92 +f 315/118/92 316/117/92 314/119/92 +f 316/117/94 315/118/94 317/116/94 +f 317/116/234 318/115/234 316/117/234 +f 318/115/235 317/116/235 319/114/235 +f 319/114/236 320/113/236 318/115/236 +f 320/113/237 319/114/237 321/112/237 +f 321/112/237 322/111/237 320/113/237 +f 322/111/238 321/112/238 323/109/238 +f 323/109/238 324/108/238 322/111/238 +f 324/108/239 323/109/239 325/110/239 +f 325/110/239 326/107/239 324/108/239 +f 326/107/239 325/110/239 327/140/239 +f 327/140/239 328/139/239 326/107/239 +f 329/135/103 330/138/103 331/137/103 +f 331/137/82 332/136/82 329/135/82 +f 290/139/29 261/140/29 260/110/29 +f 260/110/29 273/107/29 290/139/29 +f 273/107/29 260/110/29 291/109/29 +f 291/109/29 271/108/29 273/107/29 +f 271/108/240 291/109/240 294/112/240 +f 294/112/240 272/111/240 271/108/240 +f 272/111/241 294/112/241 296/114/241 +f 296/114/241 274/113/241 272/111/241 +f 274/113/242 296/114/242 298/116/242 +f 298/116/243 275/115/243 274/113/243 +f 275/115/244 298/116/244 300/118/244 +f 300/118/71 276/117/71 275/115/71 +f 276/117/73 300/118/73 288/120/73 +f 288/120/73 250/119/73 276/117/73 +f 250/119/74 288/120/74 286/122/74 +f 286/122/74 246/121/74 250/119/74 +f 246/121/76 286/122/76 284/124/76 +f 284/124/245 245/123/245 246/121/245 +f 245/123/246 284/124/246 282/126/246 +f 282/126/247 244/125/247 245/123/247 +f 244/125/248 282/126/248 278/128/248 +f 278/128/248 241/127/248 244/125/248 +f 241/127/249 278/128/249 281/130/249 +f 281/130/249 242/129/249 241/127/249 +f 242/129/29 281/130/29 231/132/29 +f 231/132/29 243/131/29 242/129/29 +f 243/131/29 231/132/29 230/134/29 +f 230/134/29 277/133/29 243/131/29 +f 333/136/102 334/137/102 335/138/102 +f 335/138/102 336/135/102 333/136/102 +f 337/133/228 338/134/228 302/132/228 +f 302/132/228 301/131/228 337/133/228 +f 290/141/29 332/136/29 331/137/29 +f 331/137/29 261/142/29 290/141/29 +f 339/144/100 340/145/100 341/146/100 +f 341/146/100 342/143/100 339/144/100 +f 327/147/239 343/150/239 344/149/239 +f 344/149/239 328/148/239 327/147/239 +f 337/148/228 345/149/228 346/150/228 +f 346/150/228 338/147/228 337/148/228 +f 347/146/250 348/143/250 349/144/250 +f 349/144/250 350/145/250 347/146/250 +f 230/142/251 334/137/251 333/136/251 +f 333/136/251 277/141/251 230/142/251 +f 261/151/99 339/154/99 342/153/99 +f 342/153/99 258/152/99 261/151/99 +f 258/155/83 342/158/83 341/157/83 +f 341/157/83 330/156/83 258/155/83 +f 330/156/82 341/157/82 340/160/82 +f 340/160/103 331/159/103 330/156/103 +f 331/159/29 340/160/29 339/154/29 +f 339/154/29 261/151/29 331/159/29 +f 229/152/82 347/153/82 350/154/82 +f 350/154/82 230/151/82 229/152/82 +f 230/151/252 350/154/252 349/160/252 +f 349/160/252 334/159/252 230/151/252 +f 334/159/102 349/160/102 348/157/102 +f 348/157/102 335/156/102 334/159/102 +f 335/156/253 348/157/253 347/158/253 +f 347/158/253 229/155/253 335/156/253 +f 222/173/254 301/131/254 304/129/254 +f 304/129/254 223/172/254 222/173/254 +f 223/172/107 304/129/107 306/127/107 +f 306/127/107 225/171/107 223/172/107 +f 225/171/110 306/127/110 308/125/110 +f 308/125/110 232/170/110 225/171/110 +f 232/170/255 308/125/255 310/123/255 +f 310/123/255 235/169/255 232/170/255 +f 235/169/256 310/123/256 312/121/256 +f 312/121/256 238/168/256 235/169/256 +f 238/168/257 312/121/257 314/119/257 +f 314/119/257 247/167/257 238/168/257 +f 247/167/258 314/119/258 316/117/258 +f 316/117/258 269/166/258 247/167/258 +f 269/166/259 316/117/259 318/115/259 +f 318/115/259 266/165/259 269/166/259 +f 266/165/260 318/115/260 320/113/260 +f 320/113/260 263/164/260 266/165/260 +f 263/164/261 320/113/261 322/111/261 +f 322/111/261 257/163/261 263/164/261 +f 257/163/262 322/111/262 324/108/262 +f 324/108/262 254/162/262 257/163/262 +f 254/162/263 324/108/263 326/107/263 +f 326/107/263 251/161/263 254/162/263 +f 251/161/264 326/107/264 328/139/264 +f 328/139/264 252/192/264 251/161/264 +f 329/135/82 344/149/82 343/150/82 +f 343/150/82 330/138/82 329/135/82 +f 330/175/265 343/150/265 327/147/265 +f 327/147/265 258/176/265 330/175/265 +f 258/51/33 327/178/33 325/177/33 +f 325/177/33 259/54/33 258/51/33 +f 259/54/46 325/177/46 323/179/46 +f 323/179/46 292/98/46 259/54/46 +f 292/98/43 323/179/43 321/180/43 +f 321/180/43 293/97/43 292/98/43 +f 293/97/47 321/180/47 319/181/47 +f 319/181/47 295/101/47 293/97/47 +f 295/101/64 319/181/64 317/182/64 +f 317/182/123 297/103/123 295/101/123 +f 297/103/66 317/182/66 315/183/66 +f 315/183/66 299/105/66 297/103/66 +f 299/105/66 315/183/66 313/184/66 +f 313/184/65 289/93/65 299/105/65 +f 289/93/62 313/184/62 311/185/62 +f 311/185/62 287/91/62 289/93/62 +f 287/91/59 311/185/59 309/186/59 +f 309/186/124 285/89/124 287/91/124 +f 285/89/125 309/186/125 307/187/125 +f 307/187/266 283/87/266 285/89/266 +f 283/87/21 307/187/21 305/188/21 +f 305/188/22 279/84/22 283/87/22 +f 279/84/19 305/188/19 303/189/19 +f 303/189/201 280/83/201 279/84/201 +f 280/83/202 303/189/202 302/190/202 +f 302/190/202 228/8/202 280/83/202 +f 228/8/221 302/190/221 338/191/221 +f 338/191/221 229/11/221 228/8/221 +f 229/176/265 338/147/265 346/150/265 +f 346/150/265 335/175/265 229/176/265 +f 335/138/102 346/150/102 345/149/102 +f 345/149/102 336/135/102 335/138/102 +f 221/174/267 337/133/267 301/131/267 +f 301/131/267 222/173/267 221/174/267 +f 351/193/268 352/196/268 353/195/268 +f 353/195/269 354/194/269 351/193/269 +f 354/194/270 353/195/270 355/198/270 +f 355/198/271 356/197/271 354/194/271 +f 356/197/272 355/198/272 357/200/272 +f 357/200/273 358/199/273 356/197/273 +f 358/199/274 357/200/274 359/202/274 +f 359/202/274 360/201/274 358/199/274 +f 361/203/275 362/206/275 353/205/275 +f 353/205/276 352/204/276 361/203/276 +f 362/206/277 363/208/277 355/207/277 +f 355/207/278 353/205/278 362/206/278 +f 363/208/279 364/210/279 357/209/279 +f 357/209/280 355/207/280 363/208/280 +f 364/210/281 365/212/281 359/211/281 +f 359/211/282 357/209/282 364/210/282 +f 366/213/283 367/216/283 358/215/283 +f 358/215/283 360/214/283 366/213/283 +f 367/216/284 368/218/284 356/217/284 +f 356/217/285 358/215/285 367/216/285 +f 368/218/286 369/220/286 354/219/286 +f 354/219/287 356/217/287 368/218/287 +f 369/220/288 370/222/288 351/221/288 +f 351/221/289 354/219/289 369/220/289 +f 352/196/290 351/193/290 371/224/290 +f 371/224/291 372/223/291 352/196/291 +f 351/221/292 370/222/292 373/226/292 +f 373/226/292 371/225/292 351/221/292 +f 374/227/293 375/230/293 376/229/293 +f 376/229/294 377/228/294 374/227/294 +f 375/230/295 378/232/295 379/231/295 +f 379/231/296 376/229/296 375/230/296 +f 378/232/297 380/234/297 381/233/297 +f 381/233/298 379/231/298 378/232/298 +f 380/234/299 360/201/299 359/202/299 +f 359/202/299 381/233/299 380/234/299 +f 382/235/300 377/238/300 376/237/300 +f 376/237/301 383/236/301 382/235/301 +f 383/236/302 376/237/302 379/240/302 +f 379/240/303 384/239/303 383/236/303 +f 384/239/304 379/240/304 381/242/304 +f 381/242/305 385/241/305 384/239/305 +f 385/241/306 381/242/306 359/211/306 +f 359/211/307 365/212/307 385/241/307 +f 366/213/308 360/214/308 380/244/308 +f 380/244/308 386/243/308 366/213/308 +f 386/243/309 380/244/309 378/246/309 +f 378/246/310 387/245/310 386/243/310 +f 387/245/311 378/246/311 375/248/311 +f 375/248/312 388/247/312 387/245/312 +f 388/247/313 375/248/313 374/250/313 +f 374/250/314 389/249/314 388/247/314 +f 377/228/315 390/252/315 391/251/315 +f 391/251/316 374/227/316 377/228/316 +f 374/250/317 391/254/317 392/253/317 +f 392/253/318 389/249/318 374/250/318 +f 393/256/61 394/257/61 395/258/61 +f 395/258/61 396/255/61 393/256/61 +f 397/259/178 398/262/178 399/261/178 +f 399/261/178 400/260/178 397/259/178 +f 398/262/179 393/264/179 396/263/179 +f 396/263/179 399/261/179 398/262/179 +f 399/265/319 396/268/319 395/267/319 +f 395/267/319 401/266/319 399/265/319 +f 402/260/181 401/261/181 403/262/181 +f 403/262/181 404/259/181 402/260/181 +f 401/261/182 395/263/182 394/264/182 +f 394/264/182 403/262/182 401/261/182 +f 404/269/320 403/266/320 398/265/320 +f 398/265/321 397/270/321 404/269/321 +f 403/266/322 394/267/322 393/268/322 +f 393/268/322 398/265/322 403/266/322 +f 405/257/61 406/258/61 407/255/61 +f 407/255/61 408/256/61 405/257/61 +f 409/259/186 410/260/186 411/261/186 +f 411/261/186 412/262/186 409/259/186 +f 412/262/187 411/261/187 406/263/187 +f 406/263/187 405/264/187 412/262/187 +f 411/265/319 413/266/319 407/267/319 +f 407/267/319 406/268/319 411/265/319 +f 414/260/188 415/259/188 416/262/188 +f 416/262/188 413/261/188 414/260/188 +f 413/261/189 416/262/189 408/264/189 +f 408/264/189 407/263/189 413/261/189 +f 415/269/321 409/270/321 412/265/321 +f 412/265/320 416/266/320 415/269/320 +f 416/266/322 412/265/322 405/268/322 +f 405/268/322 408/267/322 416/266/322 +# 676 faces + diff --git a/examples/web/models/resources/models/bridge_diffuse.png b/examples/web/models/resources/models/bridge_diffuse.png new file mode 100644 index 0000000..7aa3404 Binary files /dev/null and b/examples/web/models/resources/models/bridge_diffuse.png differ diff --git a/examples/web/models/resources/models/castle.obj b/examples/web/models/resources/models/castle.obj new file mode 100644 index 0000000..a4ec921 --- /dev/null +++ b/examples/web/models/resources/models/castle.obj @@ -0,0 +1,12919 @@ +# (c) 2018 Medieval Assets Pack by Alberto Cano +# Licensed as Creative Commons Attribution-NonCommercial 4.0 + +# +# object castle +# + +v -17.17 7.76 -10.68 +v -16.55 7.76 -12.98 +v -16.55 0.00 -12.98 +v -17.17 0.00 -10.68 +v -14.87 7.76 -14.66 +v -14.87 0.00 -14.66 +v -12.57 7.76 -15.28 +v -12.57 0.00 -15.28 +v -10.27 7.76 -14.66 +v -10.27 0.00 -14.66 +v -8.58 7.76 -12.98 +v -8.58 0.00 -12.98 +v -7.97 7.76 -10.68 +v -7.97 0.00 -10.68 +v -8.58 7.76 -8.38 +v -8.58 0.00 -8.38 +v -10.27 7.76 -6.69 +v -10.27 0.00 -6.69 +v -12.57 7.76 -6.08 +v -12.57 0.00 -6.08 +v -14.87 7.76 -6.69 +v -14.87 0.00 -6.69 +v -16.55 7.76 -8.38 +v -16.55 0.00 -8.38 +v -16.78 7.76 -13.11 +v -17.43 7.76 -10.68 +v -17.43 8.57 -10.68 +v -16.78 8.57 -13.11 +v -15.00 7.76 -14.89 +v -15.00 8.57 -14.89 +v -12.57 7.76 -15.54 +v -12.57 8.57 -15.54 +v -10.13 7.76 -14.89 +v -10.13 8.57 -14.89 +v -8.35 7.76 -13.11 +v -8.35 8.57 -13.11 +v -7.70 7.76 -10.68 +v -7.70 8.57 -10.68 +v -8.35 7.76 -8.24 +v -8.35 8.57 -8.24 +v -10.13 7.76 -6.46 +v -10.13 8.57 -6.46 +v -12.57 7.76 -5.81 +v -12.57 8.57 -5.81 +v -15.00 7.76 -6.46 +v -15.00 8.57 -6.46 +v -16.78 7.76 -8.24 +v -16.78 8.57 -8.24 +v -17.17 8.57 -10.68 +v -16.55 8.57 -12.98 +v -14.87 8.57 -14.66 +v -12.57 8.57 -15.28 +v -10.27 8.57 -14.66 +v -8.58 8.57 -12.98 +v -7.97 8.57 -10.68 +v -8.58 8.57 -8.38 +v -10.27 8.57 -6.69 +v -12.57 8.57 -6.08 +v -14.87 8.57 -6.69 +v -16.55 8.57 -8.38 +v -17.17 16.89 -10.68 +v -16.55 16.89 -12.98 +v -14.87 16.89 -14.66 +v -12.57 16.89 -15.28 +v -10.27 16.89 -14.66 +v -8.58 16.89 -12.98 +v -7.97 16.89 -10.68 +v -8.58 16.89 -8.38 +v -10.27 16.89 -6.69 +v -12.57 16.89 -6.08 +v -14.87 16.89 -6.69 +v -16.55 16.89 -8.38 +v -17.13 21.30 -13.31 +v -17.83 21.30 -10.68 +v -18.23 21.30 -10.68 +v -17.47 21.30 -13.51 +v -15.20 21.30 -15.24 +v -15.40 21.30 -15.58 +v -12.57 21.30 -15.94 +v -12.57 21.30 -16.34 +v -9.93 21.30 -15.24 +v -9.73 21.30 -15.58 +v -8.01 21.30 -13.31 +v -7.66 21.30 -13.51 +v -7.30 21.30 -10.68 +v -6.90 21.30 -10.68 +v -8.01 21.30 -8.04 +v -7.66 21.30 -7.84 +v -9.93 21.30 -6.12 +v -9.73 21.30 -5.77 +v -12.57 21.30 -5.41 +v -12.57 21.30 -5.01 +v -15.20 21.30 -6.12 +v -15.40 21.30 -5.77 +v -17.13 21.30 -8.04 +v -17.47 21.30 -7.84 +v -16.72 24.76 -10.68 +v -16.17 24.76 -12.76 +v -14.64 24.76 -14.28 +v -12.57 24.76 -14.83 +v -10.49 24.76 -14.28 +v -8.97 24.76 -12.76 +v -8.41 24.76 -10.68 +v -8.97 24.76 -8.60 +v -10.49 24.76 -7.08 +v -12.57 24.76 -6.52 +v -14.64 24.76 -7.08 +v -16.17 24.76 -8.60 +v -16.69 28.50 -10.68 +v -16.13 28.50 -12.74 +v -14.63 28.50 -14.24 +v -12.57 28.50 -14.80 +v -10.51 28.50 -14.24 +v -9.00 28.50 -12.74 +v -8.45 28.50 -10.68 +v -9.00 28.50 -8.62 +v -10.51 28.50 -7.11 +v -12.57 28.50 -6.56 +v -14.63 28.50 -7.11 +v -16.13 28.50 -8.62 +v -17.83 17.36 -10.68 +v -17.13 17.36 -13.31 +v -15.20 17.36 -15.24 +v -12.57 17.36 -15.94 +v -9.93 17.36 -15.24 +v -8.01 17.36 -13.31 +v -7.30 17.36 -10.68 +v -8.01 17.36 -8.04 +v -9.93 17.36 -6.12 +v -12.57 17.36 -5.41 +v -15.20 17.36 -6.12 +v -17.13 17.36 -8.04 +v -17.91 20.21 -10.37 +v -17.91 20.52 -10.80 +v -17.91 19.21 -10.80 +v -17.91 19.23 -10.37 +v -17.81 19.26 -10.03 +v -17.91 19.26 -10.04 +v -17.91 19.12 -10.04 +v -17.81 19.12 -10.03 +v -17.89 20.75 -10.80 +v -17.98 20.75 -10.81 +v -17.94 20.29 -10.15 +v -17.84 20.29 -10.15 +v -17.68 19.12 -11.55 +v -17.78 19.12 -11.56 +v -17.78 19.26 -11.56 +v -17.68 19.26 -11.55 +v -17.89 19.07 -10.80 +v -17.98 19.07 -10.81 +v -17.82 19.12 -11.45 +v -17.73 19.12 -11.45 +v -18.05 19.12 -10.16 +v -18.05 19.26 -10.16 +v -18.08 19.23 -10.39 +v -17.98 20.52 -10.81 +v -17.98 20.21 -10.38 +v -17.93 19.26 -11.46 +v -17.93 19.12 -11.46 +v -18.01 19.24 -11.24 +v -18.09 19.07 -10.82 +v -18.09 19.21 -10.82 +v -17.83 20.21 -11.23 +v -17.83 19.24 -11.23 +v -17.73 20.29 -11.45 +v -17.82 20.29 -11.45 +v -17.84 19.12 -10.15 +v -17.94 19.12 -10.15 +v -17.90 20.21 -11.23 +v -17.98 19.23 -10.38 +v -17.90 19.24 -11.23 +v -17.98 19.21 -10.81 +v -17.82 19.26 -11.45 +v -17.73 19.26 -11.45 +v -17.94 19.26 -10.15 +v -17.84 19.26 -10.15 +v -18.02 19.26 -10.05 +v -18.02 19.12 -10.05 +v -17.88 19.12 -11.57 +v -17.88 19.26 -11.57 +v -12.87 20.21 -16.02 +v -12.44 20.52 -16.02 +v -12.44 19.21 -16.02 +v -12.87 19.23 -16.02 +v -13.21 19.26 -15.92 +v -13.20 19.26 -16.02 +v -13.20 19.12 -16.02 +v -13.21 19.12 -15.92 +v -12.44 20.75 -16.00 +v -12.43 20.75 -16.10 +v -13.09 20.29 -16.05 +v -13.10 20.29 -15.95 +v -11.69 19.12 -15.79 +v -11.68 19.12 -15.89 +v -11.68 19.26 -15.89 +v -11.69 19.26 -15.79 +v -12.44 19.07 -16.00 +v -12.43 19.07 -16.10 +v -11.79 19.12 -15.94 +v -11.80 19.12 -15.84 +v -13.08 19.12 -16.16 +v -13.08 19.26 -16.16 +v -12.85 19.23 -16.20 +v -12.43 20.52 -16.10 +v -12.86 20.21 -16.09 +v -11.78 19.26 -16.04 +v -11.78 19.12 -16.04 +v -12.00 19.24 -16.12 +v -12.42 19.07 -16.20 +v -12.42 19.21 -16.20 +v -12.01 20.21 -15.94 +v -12.01 19.24 -15.94 +v -11.80 20.29 -15.84 +v -11.79 20.29 -15.94 +v -13.10 19.12 -15.95 +v -13.09 19.12 -16.05 +v -12.01 20.21 -16.01 +v -12.86 19.23 -16.09 +v -12.01 19.24 -16.01 +v -12.43 19.21 -16.10 +v -11.79 19.26 -15.94 +v -11.80 19.26 -15.84 +v -13.09 19.26 -16.05 +v -13.10 19.26 -15.95 +v -13.19 19.26 -16.13 +v -13.19 19.12 -16.13 +v -11.67 19.12 -16.00 +v -11.67 19.26 -16.00 +v -9.24 23.34 -12.52 +v -9.78 23.34 -13.29 +v -9.10 24.92 -13.76 +v -8.56 24.92 -12.99 +v -8.63 28.41 -12.92 +v -9.53 28.41 -12.29 +v -9.18 28.41 -13.70 +v -10.08 28.41 -13.07 +v -12.87 27.21 -14.81 +v -12.44 27.52 -14.82 +v -12.44 26.21 -14.82 +v -12.87 26.24 -14.81 +v -13.21 26.26 -14.72 +v -13.20 26.26 -14.82 +v -13.20 26.12 -14.82 +v -13.21 26.12 -14.72 +v -12.44 27.75 -14.80 +v -12.43 27.75 -14.89 +v -13.09 27.30 -14.85 +v -13.10 27.30 -14.75 +v -11.69 26.12 -14.59 +v -11.68 26.12 -14.69 +v -11.68 26.26 -14.69 +v -11.69 26.26 -14.59 +v -12.44 26.07 -14.80 +v -12.43 26.07 -14.89 +v -11.79 26.12 -14.73 +v -11.80 26.12 -14.64 +v -13.08 26.12 -14.96 +v -13.08 26.26 -14.96 +v -12.85 26.24 -14.99 +v -12.43 27.52 -14.89 +v -12.86 27.21 -14.89 +v -11.78 26.26 -14.84 +v -11.78 26.12 -14.84 +v -12.00 26.25 -14.92 +v -12.42 26.07 -15.00 +v -12.42 26.21 -15.00 +v -12.01 27.21 -14.74 +v -12.01 26.25 -14.74 +v -11.80 27.30 -14.64 +v -11.79 27.30 -14.73 +v -13.10 26.12 -14.75 +v -13.09 26.12 -14.85 +v -12.01 27.21 -14.81 +v -12.86 26.24 -14.89 +v -12.01 26.25 -14.81 +v -12.43 26.21 -14.89 +v -11.79 26.26 -14.73 +v -11.80 26.26 -14.64 +v -13.09 26.26 -14.85 +v -13.10 26.26 -14.75 +v -13.19 26.26 -14.93 +v -13.19 26.12 -14.93 +v -11.67 26.12 -14.79 +v -11.67 26.26 -14.79 +v -14.41 23.34 -14.01 +v -15.18 23.34 -13.46 +v -15.65 24.92 -14.14 +v -14.88 24.92 -14.68 +v -14.81 28.41 -14.61 +v -14.18 28.41 -13.71 +v -15.59 28.41 -14.07 +v -14.96 28.41 -13.17 +v -8.43 27.21 -10.98 +v -8.42 27.52 -10.55 +v -8.42 26.21 -10.55 +v -8.43 26.24 -10.98 +v -8.52 26.26 -11.32 +v -8.42 26.26 -11.31 +v -8.42 26.12 -11.31 +v -8.52 26.12 -11.32 +v -8.45 27.75 -10.55 +v -8.35 27.75 -10.54 +v -8.39 27.30 -11.20 +v -8.49 27.30 -11.21 +v -8.65 26.12 -9.80 +v -8.56 26.12 -9.79 +v -8.56 26.26 -9.79 +v -8.65 26.26 -9.80 +v -8.45 26.07 -10.55 +v -8.35 26.07 -10.54 +v -8.51 26.12 -9.90 +v -8.61 26.12 -9.91 +v -8.29 26.12 -11.19 +v -8.29 26.26 -11.19 +v -8.25 26.24 -10.96 +v -8.35 27.52 -10.54 +v -8.35 27.21 -10.97 +v -8.40 26.26 -9.89 +v -8.40 26.12 -9.89 +v -8.32 26.25 -10.11 +v -8.24 26.07 -10.53 +v -8.24 26.21 -10.53 +v -8.50 27.21 -10.13 +v -8.50 26.25 -10.13 +v -8.61 27.30 -9.91 +v -8.51 27.30 -9.90 +v -8.49 26.12 -11.21 +v -8.39 26.12 -11.20 +v -8.43 27.21 -10.12 +v -8.35 26.24 -10.97 +v -8.43 26.25 -10.12 +v -8.35 26.21 -10.54 +v -8.51 26.26 -9.90 +v -8.61 26.26 -9.91 +v -8.39 26.26 -11.20 +v -8.49 26.26 -11.21 +v -8.32 26.26 -11.30 +v -8.32 26.12 -11.30 +v -8.45 26.12 -9.78 +v -8.45 26.26 -9.78 +v -13.04 12.70 -6.81 +v -12.09 12.70 -6.81 +v -12.09 14.28 -5.99 +v -13.04 14.28 -5.99 +v -13.04 17.34 -5.64 +v -13.04 17.34 -6.74 +v -12.09 17.34 -5.64 +v -12.09 17.34 -6.74 +v -8.98 12.70 -12.20 +v -9.46 12.70 -13.02 +v -8.74 14.28 -13.43 +v -8.27 14.28 -12.61 +v -7.97 17.34 -12.79 +v -8.92 17.34 -12.24 +v -8.44 17.34 -13.61 +v -9.39 17.34 -13.06 +v -12.09 12.70 -14.54 +v -13.04 12.70 -14.54 +v -13.04 14.28 -15.36 +v -12.09 14.28 -15.36 +v -12.09 17.34 -15.71 +v -12.09 17.34 -14.62 +v -13.04 17.34 -15.71 +v -13.04 17.34 -14.62 +v -10.73 23.34 -7.35 +v -9.95 23.34 -7.89 +v -9.48 24.92 -7.22 +v -10.25 24.92 -6.67 +v -10.32 28.41 -6.74 +v -10.95 28.41 -7.65 +v -9.55 28.41 -7.29 +v -10.18 28.41 -8.19 +v -9.46 12.70 -8.34 +v -8.98 12.70 -9.15 +v -8.27 14.28 -8.74 +v -8.74 14.28 -7.92 +v -8.44 17.34 -7.75 +v -9.39 17.34 -8.30 +v -7.97 17.34 -8.57 +v -8.92 17.34 -9.12 +v -7.23 20.21 -10.98 +v -7.22 20.52 -10.55 +v -7.22 19.21 -10.55 +v -7.23 19.23 -10.98 +v -7.32 19.26 -11.32 +v -7.22 19.26 -11.31 +v -7.22 19.12 -11.31 +v -7.32 19.12 -11.32 +v -7.24 20.75 -10.55 +v -7.15 20.75 -10.54 +v -7.19 20.29 -11.20 +v -7.29 20.29 -11.21 +v -7.45 19.12 -9.80 +v -7.35 19.12 -9.79 +v -7.35 19.26 -9.79 +v -7.45 19.26 -9.80 +v -7.24 19.07 -10.55 +v -7.15 19.07 -10.54 +v -7.31 19.12 -9.90 +v -7.41 19.12 -9.91 +v -7.09 19.12 -11.19 +v -7.09 19.26 -11.19 +v -7.05 19.23 -10.96 +v -7.15 20.52 -10.54 +v -7.15 20.21 -10.97 +v -7.20 19.26 -9.89 +v -7.20 19.12 -9.89 +v -7.12 19.24 -10.11 +v -7.04 19.07 -10.53 +v -7.04 19.21 -10.53 +v -7.30 20.21 -10.13 +v -7.30 19.24 -10.13 +v -7.41 20.29 -9.91 +v -7.31 20.29 -9.90 +v -7.29 19.12 -11.21 +v -7.19 19.12 -11.20 +v -7.23 20.21 -10.12 +v -7.15 19.23 -10.97 +v -7.23 19.24 -10.12 +v -7.15 19.21 -10.54 +v -7.31 19.26 -9.90 +v -7.41 19.26 -9.91 +v -7.19 19.26 -11.20 +v -7.29 19.26 -11.21 +v -7.11 19.26 -11.30 +v -7.11 19.12 -11.30 +v -7.25 19.12 -9.78 +v -7.25 19.26 -9.78 +v -12.26 27.21 -6.54 +v -12.69 27.52 -6.53 +v -12.69 26.21 -6.53 +v -12.26 26.24 -6.54 +v -11.92 26.26 -6.63 +v -11.93 26.26 -6.53 +v -11.93 26.12 -6.53 +v -11.92 26.12 -6.63 +v -12.69 27.75 -6.56 +v -12.70 27.75 -6.46 +v -12.04 27.30 -6.51 +v -12.03 27.30 -6.60 +v -13.44 26.12 -6.76 +v -13.45 26.12 -6.67 +v -13.45 26.26 -6.67 +v -13.44 26.26 -6.76 +v -12.69 26.07 -6.56 +v -12.70 26.07 -6.46 +v -13.34 26.12 -6.62 +v -13.34 26.12 -6.72 +v -12.05 26.12 -6.40 +v -12.05 26.26 -6.40 +v -12.28 26.24 -6.36 +v -12.70 27.52 -6.46 +v -12.27 27.21 -6.47 +v -13.35 26.26 -6.51 +v -13.35 26.12 -6.51 +v -13.13 26.25 -6.43 +v -12.71 26.07 -6.35 +v -12.71 26.21 -6.35 +v -13.12 27.21 -6.61 +v -13.12 26.25 -6.61 +v -13.34 27.30 -6.72 +v -13.34 27.30 -6.62 +v -12.03 26.12 -6.60 +v -12.04 26.12 -6.51 +v -13.12 27.21 -6.54 +v -12.27 26.24 -6.47 +v -13.12 26.25 -6.54 +v -12.70 26.21 -6.46 +v -13.34 26.26 -6.62 +v -13.34 26.26 -6.72 +v -12.04 26.26 -6.51 +v -12.03 26.26 -6.60 +v -11.94 26.26 -6.43 +v -11.94 26.12 -6.43 +v -13.46 26.12 -6.56 +v -13.46 26.26 -6.56 +v -16.15 12.70 -9.15 +v -15.67 12.70 -8.34 +v -16.39 14.28 -7.92 +v -16.86 14.28 -8.74 +v -17.17 17.34 -8.57 +v -16.21 17.34 -9.12 +v -16.69 17.34 -7.75 +v -15.74 17.34 -8.30 +v -12.26 20.21 -5.34 +v -12.69 20.52 -5.33 +v -12.69 19.21 -5.33 +v -12.26 19.23 -5.34 +v -11.92 19.26 -5.43 +v -11.93 19.26 -5.33 +v -11.93 19.12 -5.33 +v -11.92 19.12 -5.43 +v -12.69 20.75 -5.36 +v -12.70 20.75 -5.26 +v -12.04 20.29 -5.30 +v -12.03 20.29 -5.40 +v -13.44 19.12 -5.56 +v -13.45 19.12 -5.47 +v -13.45 19.26 -5.47 +v -13.44 19.26 -5.56 +v -12.69 19.07 -5.36 +v -12.70 19.07 -5.26 +v -13.34 19.12 -5.42 +v -13.34 19.12 -5.52 +v -12.05 19.12 -5.20 +v -12.05 19.26 -5.20 +v -12.28 19.23 -5.16 +v -12.70 20.52 -5.26 +v -12.27 20.21 -5.26 +v -13.35 19.26 -5.31 +v -13.35 19.12 -5.31 +v -13.13 19.24 -5.23 +v -12.71 19.07 -5.15 +v -12.71 19.21 -5.15 +v -13.12 20.21 -5.41 +v -13.12 19.24 -5.41 +v -13.34 20.29 -5.52 +v -13.34 20.29 -5.42 +v -12.03 19.12 -5.40 +v -12.04 19.12 -5.30 +v -13.12 20.21 -5.34 +v -12.27 19.23 -5.26 +v -13.12 19.24 -5.34 +v -12.70 19.21 -5.26 +v -13.34 19.26 -5.42 +v -13.34 19.26 -5.52 +v -12.04 19.26 -5.30 +v -12.03 19.26 -5.40 +v -11.94 19.26 -5.23 +v -11.94 19.12 -5.23 +v -13.46 19.12 -5.36 +v -13.46 19.26 -5.36 +v -15.89 23.34 -8.84 +v -15.35 23.34 -8.06 +v -16.03 24.92 -7.59 +v -16.57 24.92 -8.36 +v -16.50 28.41 -8.43 +v -15.60 28.41 -9.06 +v -15.96 28.41 -7.66 +v -15.06 28.41 -8.29 +v -16.70 27.21 -10.37 +v -16.71 27.52 -10.80 +v -16.71 26.21 -10.80 +v -16.70 26.24 -10.37 +v -16.61 26.26 -10.03 +v -16.71 26.26 -10.04 +v -16.71 26.12 -10.04 +v -16.61 26.12 -10.03 +v -16.69 27.75 -10.80 +v -16.78 27.75 -10.81 +v -16.74 27.30 -10.15 +v -16.64 27.30 -10.15 +v -16.48 26.12 -11.55 +v -16.58 26.12 -11.56 +v -16.58 26.26 -11.56 +v -16.48 26.26 -11.55 +v -16.69 26.07 -10.80 +v -16.78 26.07 -10.81 +v -16.62 26.12 -11.45 +v -16.53 26.12 -11.45 +v -16.84 26.12 -10.16 +v -16.84 26.26 -10.16 +v -16.88 26.24 -10.39 +v -16.78 27.52 -10.81 +v -16.78 27.21 -10.38 +v -16.73 26.26 -11.46 +v -16.73 26.12 -11.46 +v -16.81 26.25 -11.24 +v -16.89 26.07 -10.82 +v -16.89 26.21 -10.82 +v -16.63 27.21 -11.23 +v -16.63 26.25 -11.23 +v -16.53 27.30 -11.45 +v -16.62 27.30 -11.45 +v -16.64 26.12 -10.15 +v -16.74 26.12 -10.15 +v -16.70 27.21 -11.23 +v -16.78 26.24 -10.38 +v -16.70 26.25 -11.23 +v -16.78 26.21 -10.81 +v -16.62 26.26 -11.45 +v -16.53 26.26 -11.45 +v -16.74 26.26 -10.15 +v -16.64 26.26 -10.15 +v -16.82 26.26 -10.05 +v -16.82 26.12 -10.05 +v -16.68 26.12 -11.57 +v -16.68 26.26 -11.57 +v -15.67 12.70 -13.02 +v -16.15 12.70 -12.20 +v -16.86 14.28 -12.61 +v -16.39 14.28 -13.43 +v -16.69 17.34 -13.61 +v -15.74 17.34 -13.06 +v -17.17 17.34 -12.79 +v -16.21 17.34 -12.24 +v -16.83 28.50 -13.14 +v -17.49 28.50 -10.68 +v -17.49 30.29 -10.68 +v -16.83 30.29 -13.14 +v -15.03 28.50 -14.94 +v -15.03 30.29 -14.94 +v -12.57 28.50 -15.60 +v -12.57 30.29 -15.60 +v -10.10 28.50 -14.94 +v -10.10 30.29 -14.94 +v -8.30 28.50 -13.14 +v -8.30 30.29 -13.14 +v -7.64 28.50 -10.68 +v -7.64 30.29 -10.68 +v -8.30 28.50 -8.21 +v -8.30 30.29 -8.21 +v -10.10 28.50 -6.41 +v -10.10 30.29 -6.41 +v -12.57 28.50 -5.75 +v -12.57 30.29 -5.75 +v -15.03 28.50 -6.41 +v -15.03 30.29 -6.41 +v -16.83 28.50 -8.21 +v -16.83 30.29 -8.21 +v -16.78 30.29 -10.68 +v -16.21 30.29 -12.78 +v -15.03 30.90 -14.94 +v -16.83 30.90 -13.14 +v -16.21 30.90 -12.78 +v -14.67 30.90 -14.32 +v -14.67 30.29 -14.32 +v -12.57 30.29 -14.89 +v -10.10 30.90 -14.94 +v -12.57 30.90 -15.60 +v -12.57 30.90 -14.89 +v -10.46 30.90 -14.32 +v -10.46 30.29 -14.32 +v -8.92 30.29 -12.78 +v -7.64 30.90 -10.68 +v -8.30 30.90 -13.14 +v -8.92 30.90 -12.78 +v -8.36 30.90 -10.68 +v -8.36 30.29 -10.68 +v -8.92 30.29 -8.57 +v -10.10 30.90 -6.41 +v -8.30 30.90 -8.21 +v -8.92 30.90 -8.57 +v -10.46 30.90 -7.03 +v -10.46 30.29 -7.03 +v -12.57 30.29 -6.47 +v -15.03 30.90 -6.41 +v -12.57 30.90 -5.75 +v -12.57 30.90 -6.47 +v -14.67 30.90 -7.03 +v -14.67 30.29 -7.03 +v -16.21 30.29 -8.57 +v -17.49 30.90 -10.68 +v -16.83 30.90 -8.21 +v -16.21 30.90 -8.57 +v -16.78 30.90 -10.68 +v -16.78 29.42 -10.68 +v -16.21 29.42 -12.78 +v -14.67 29.42 -14.32 +v -12.57 29.42 -14.89 +v -10.46 29.42 -14.32 +v -8.92 29.42 -12.78 +v -8.36 29.42 -10.68 +v -8.92 29.42 -8.57 +v -10.46 29.42 -7.03 +v -12.57 29.42 -6.47 +v -14.67 29.42 -7.03 +v -16.21 29.42 -8.57 +v -12.57 29.42 -10.68 +v 15.69 11.78 11.98 +v 15.69 11.78 -12.46 +v 10.74 17.79 -7.40 +v 10.74 17.79 7.40 +v -15.69 11.78 -12.46 +v -10.74 17.79 -7.40 +v -15.69 11.78 11.98 +v -10.74 17.79 7.40 +v 12.89 0.00 11.03 +v 12.89 0.00 -11.03 +v 12.89 11.78 -11.03 +v 12.89 11.78 11.03 +v -12.89 0.00 -11.03 +v -12.89 11.78 -11.03 +v -23.42 0.00 -6.76 +v -23.42 0.00 6.76 +v -23.42 6.95 6.76 +v -23.42 6.95 -6.76 +v -12.89 0.00 11.03 +v -12.89 11.78 11.03 +v 8.74 17.79 -3.62 +v 8.74 17.79 3.62 +v -8.74 17.79 -3.62 +v -8.74 17.79 3.62 +v -12.89 6.95 6.76 +v -12.89 0.00 6.76 +v -12.89 6.95 -6.76 +v -12.89 0.00 -6.76 +v -9.46 12.70 7.57 +v -8.74 14.28 7.16 +v -8.27 14.28 7.98 +v -8.98 12.70 8.39 +v -9.39 17.34 7.53 +v -8.44 17.34 6.98 +v -7.97 17.34 7.80 +v -8.92 17.34 8.35 +v -9.31 28.15 -0.00 +v -9.31 23.30 4.54 +v 0.00 22.65 4.30 +v -0.11 25.84 -0.00 +v -9.31 27.72 -0.00 +v -9.31 22.87 4.55 +v 0.00 22.23 4.31 +v 0.00 22.65 -4.30 +v -9.31 23.30 -4.54 +v -9.31 22.87 -4.55 +v 0.00 22.23 -4.31 +v 9.31 28.15 -0.00 +v 9.31 23.30 4.54 +v 9.31 27.72 -0.00 +v 9.31 22.87 4.55 +v 9.31 23.30 -4.54 +v 9.31 22.87 -4.55 +v 4.76 26.71 -0.63 +v 5.87 26.95 -0.63 +v 5.91 26.75 -0.63 +v 4.80 26.52 -0.63 +v 4.68 27.10 -0.11 +v 5.79 27.34 -0.11 +v 4.72 26.91 -0.11 +v 5.79 27.35 -0.00 +v 4.68 27.12 -0.00 +v 4.72 26.93 -0.00 +v 5.91 26.75 0.63 +v 5.87 26.95 0.63 +v 4.76 26.71 0.63 +v 4.80 26.52 0.63 +v 5.79 27.34 0.11 +v 4.68 27.10 0.11 +v 4.72 26.91 0.11 +v 3.88 26.49 -0.63 +v 5.00 26.69 -0.63 +v 5.03 26.49 -0.63 +v 3.91 26.30 -0.63 +v 3.81 26.89 -0.11 +v 4.93 27.08 -0.11 +v 3.84 26.69 -0.11 +v 4.92 27.09 -0.00 +v 3.81 26.90 -0.00 +v 3.84 26.71 -0.00 +v 5.03 26.49 0.63 +v 5.00 26.69 0.63 +v 3.88 26.49 0.63 +v 3.91 26.30 0.63 +v 4.93 27.08 0.11 +v 3.81 26.89 0.11 +v 3.84 26.69 0.11 +v 2.89 26.32 -0.63 +v 4.01 26.46 -0.63 +v 4.04 26.27 -0.63 +v 2.91 26.13 -0.63 +v 2.84 26.72 -0.11 +v 3.96 26.86 -0.11 +v 2.86 26.53 -0.11 +v 3.96 26.87 -0.00 +v 2.84 26.74 -0.00 +v 2.86 26.54 -0.00 +v 4.04 26.27 0.63 +v 4.01 26.46 0.63 +v 2.89 26.32 0.63 +v 2.91 26.13 0.63 +v 3.96 26.86 0.11 +v 2.84 26.72 0.11 +v 2.86 26.53 0.11 +v 1.88 26.15 -0.63 +v 3.00 26.29 -0.63 +v 3.02 26.09 -0.63 +v 1.90 25.96 -0.63 +v 1.83 26.55 -0.11 +v 2.95 26.69 -0.11 +v 1.85 26.36 -0.11 +v 2.95 26.70 -0.00 +v 1.83 26.56 -0.00 +v 1.85 26.37 -0.00 +v 3.02 26.09 0.63 +v 3.00 26.29 0.63 +v 1.88 26.15 0.63 +v 1.90 25.96 0.63 +v 2.95 26.69 0.11 +v 1.83 26.55 0.11 +v 1.85 26.36 0.11 +v 0.78 26.08 -0.63 +v 1.91 26.12 -0.63 +v 1.92 25.93 -0.63 +v 0.79 25.89 -0.63 +v 0.77 26.49 -0.11 +v 1.90 26.52 -0.11 +v 0.77 26.29 -0.11 +v 1.90 26.54 -0.00 +v 0.77 26.50 -0.00 +v 0.77 26.30 -0.00 +v 1.92 25.93 0.63 +v 1.91 26.12 0.63 +v 0.78 26.08 0.63 +v 0.79 25.89 0.63 +v 1.90 26.52 0.11 +v 0.77 26.49 0.11 +v 0.77 26.29 0.11 +v -0.35 26.05 -0.63 +v 0.78 26.11 -0.63 +v 0.79 25.91 -0.63 +v -0.34 25.85 -0.63 +v -0.37 26.45 -0.11 +v 0.76 26.51 -0.11 +v -0.36 26.25 -0.11 +v 0.76 26.52 -0.00 +v -0.38 26.46 -0.00 +v -0.37 26.27 -0.00 +v 0.79 25.91 0.63 +v 0.78 26.11 0.63 +v -0.35 26.05 0.63 +v -0.34 25.85 0.63 +v 0.76 26.51 0.11 +v -0.37 26.45 0.11 +v -0.36 26.25 0.11 +v 6.98 27.27 -0.63 +v 8.09 27.50 -0.63 +v 8.13 27.31 -0.63 +v 7.02 27.08 -0.63 +v 6.90 27.66 -0.11 +v 8.01 27.90 -0.11 +v 6.94 27.47 -0.11 +v 8.00 27.91 -0.00 +v 6.89 27.68 -0.00 +v 6.93 27.48 -0.00 +v 8.13 27.31 0.63 +v 8.09 27.50 0.63 +v 6.98 27.27 0.63 +v 7.02 27.08 0.63 +v 8.01 27.90 0.11 +v 6.90 27.66 0.11 +v 6.94 27.47 0.11 +v 5.87 26.96 -0.63 +v 6.98 27.20 -0.63 +v 7.02 27.01 -0.63 +v 5.91 26.77 -0.63 +v 5.79 27.36 -0.11 +v 6.90 27.59 -0.11 +v 5.83 27.17 -0.11 +v 6.89 27.60 -0.00 +v 5.79 27.37 -0.00 +v 5.83 27.18 -0.00 +v 7.02 27.01 0.63 +v 6.98 27.20 0.63 +v 5.87 26.96 0.63 +v 5.91 26.77 0.63 +v 6.90 27.59 0.11 +v 5.79 27.36 0.11 +v 5.83 27.17 0.11 +v -6.20 26.77 -0.63 +v -6.16 26.96 -0.63 +v -5.05 26.72 -0.63 +v -5.09 26.53 -0.63 +v -4.97 27.12 -0.11 +v -6.08 27.35 -0.11 +v -5.01 26.92 -0.11 +v -6.07 27.36 -0.00 +v -4.96 27.13 -0.00 +v -5.01 26.94 -0.00 +v -5.05 26.72 0.63 +v -6.16 26.96 0.63 +v -6.20 26.77 0.63 +v -5.09 26.53 0.63 +v -4.97 27.12 0.11 +v -6.08 27.35 0.11 +v -5.01 26.92 0.11 +v -5.32 26.52 -0.63 +v -5.28 26.71 -0.63 +v -4.17 26.51 -0.63 +v -4.20 26.32 -0.63 +v -4.10 26.91 -0.11 +v -5.21 27.11 -0.11 +v -4.13 26.72 -0.11 +v -5.21 27.12 -0.00 +v -4.10 26.92 -0.00 +v -4.13 26.73 -0.00 +v -4.17 26.51 0.63 +v -5.28 26.71 0.63 +v -5.32 26.52 0.63 +v -4.20 26.32 0.63 +v -4.10 26.91 0.11 +v -5.21 27.11 0.11 +v -4.13 26.72 0.11 +v -4.32 26.27 -0.63 +v -4.30 26.46 -0.63 +v -3.18 26.32 -0.63 +v -3.20 26.13 -0.63 +v -3.13 26.72 -0.11 +v -4.25 26.86 -0.11 +v -3.15 26.53 -0.11 +v -4.25 26.87 -0.00 +v -3.13 26.73 -0.00 +v -3.15 26.54 -0.00 +v -3.18 26.32 0.63 +v -4.30 26.46 0.63 +v -4.32 26.27 0.63 +v -3.20 26.13 0.63 +v -3.13 26.72 0.11 +v -4.25 26.86 0.11 +v -3.15 26.53 0.11 +v -3.31 26.05 -0.63 +v -3.29 26.24 -0.63 +v -2.16 26.11 -0.63 +v -2.19 25.91 -0.63 +v -2.12 26.50 -0.11 +v -3.24 26.64 -0.11 +v -2.14 26.31 -0.11 +v -3.24 26.65 -0.00 +v -2.11 26.52 -0.00 +v -2.14 26.32 -0.00 +v -2.16 26.11 0.63 +v -3.29 26.24 0.63 +v -3.31 26.05 0.63 +v -2.19 25.91 0.63 +v -2.12 26.50 0.11 +v -3.24 26.64 0.11 +v -2.14 26.31 0.11 +v -2.21 25.88 -0.63 +v -2.20 26.08 -0.63 +v -1.07 26.04 -0.63 +v -1.07 25.84 -0.63 +v -1.05 26.44 -0.11 +v -2.19 26.48 -0.11 +v -1.06 26.25 -0.11 +v -2.19 26.49 -0.00 +v -1.05 26.45 -0.00 +v -1.06 26.26 -0.00 +v -1.07 26.04 0.63 +v -2.20 26.08 0.63 +v -2.21 25.88 0.63 +v -1.07 25.84 0.63 +v -1.05 26.44 0.11 +v -2.19 26.48 0.11 +v -1.06 26.25 0.11 +v -1.08 25.87 -0.63 +v -1.07 26.06 -0.63 +v 0.07 26.00 -0.63 +v 0.06 25.80 -0.63 +v 0.09 26.40 -0.11 +v -1.04 26.46 -0.11 +v 0.08 26.21 -0.11 +v -1.04 26.47 -0.00 +v 0.09 26.41 -0.00 +v 0.08 26.22 -0.00 +v 0.07 26.00 0.63 +v -1.07 26.06 0.63 +v -1.08 25.87 0.63 +v 0.06 25.80 0.63 +v 0.09 26.40 0.11 +v -1.04 26.46 0.11 +v 0.08 26.21 0.11 +v -8.19 27.32 -0.63 +v -8.15 27.51 -0.63 +v -7.04 27.28 -0.63 +v -7.08 27.09 -0.63 +v -6.96 27.67 -0.11 +v -8.07 27.90 -0.11 +v -7.00 27.48 -0.11 +v -8.06 27.92 -0.00 +v -6.95 27.68 -0.00 +v -6.99 27.49 -0.00 +v -7.04 27.28 0.63 +v -8.15 27.51 0.63 +v -8.19 27.32 0.63 +v -7.08 27.09 0.63 +v -6.96 27.67 0.11 +v -8.07 27.90 0.11 +v -7.00 27.48 0.11 +v -7.06 27.02 -0.63 +v -7.02 27.21 -0.63 +v -5.92 26.97 -0.63 +v -5.96 26.78 -0.63 +v -5.83 27.37 -0.11 +v -6.94 27.60 -0.11 +v -5.87 27.18 -0.11 +v -6.94 27.61 -0.00 +v -5.83 27.38 -0.00 +v -5.87 27.19 -0.00 +v -5.92 26.97 0.63 +v -7.02 27.21 0.63 +v -7.06 27.02 0.63 +v -5.96 26.78 0.63 +v -5.83 27.37 0.11 +v -6.94 27.60 0.11 +v -5.87 27.18 0.11 +v -9.18 27.83 -0.63 +v -8.10 27.48 -0.63 +v -8.16 27.29 -0.63 +v -9.24 27.64 -0.63 +v -9.05 28.21 -0.11 +v -7.98 27.86 -0.11 +v -9.11 28.02 -0.11 +v -7.97 27.87 -0.00 +v -9.05 28.22 -0.00 +v -9.11 28.04 -0.00 +v -8.16 27.29 0.63 +v -8.10 27.48 0.63 +v -9.18 27.83 0.63 +v -9.24 27.64 0.63 +v -7.98 27.86 0.11 +v -9.05 28.21 0.11 +v -9.11 28.02 0.11 +v 8.19 27.28 -0.63 +v 8.13 27.46 -0.63 +v 9.21 27.81 -0.63 +v 9.27 27.63 -0.63 +v 9.08 28.20 -0.11 +v 8.01 27.84 -0.11 +v 9.15 28.01 -0.11 +v 8.00 27.86 -0.00 +v 9.08 28.21 -0.00 +v 9.14 28.02 -0.00 +v 9.21 27.81 0.63 +v 8.13 27.46 0.63 +v 8.19 27.28 0.63 +v 9.27 27.63 0.63 +v 9.08 28.20 0.11 +v 8.01 27.84 0.11 +v 9.15 28.01 0.11 +v 9.46 12.70 7.57 +v 8.98 12.70 8.39 +v 8.27 14.28 7.98 +v 8.74 14.28 7.16 +v 8.44 17.34 6.98 +v 9.39 17.34 7.53 +v 7.97 17.34 7.80 +v 8.92 17.34 8.35 +v -15.48 7.80 6.90 +v -15.48 7.80 6.03 +v -17.46 7.80 6.03 +v -17.46 7.80 6.90 +v -15.48 6.95 6.90 +v -15.48 6.95 6.03 +v -17.46 6.95 6.03 +v -17.46 6.95 6.90 +v -18.47 7.80 6.90 +v -18.47 7.80 6.03 +v -20.45 7.80 6.03 +v -20.45 7.80 6.90 +v -18.47 6.95 6.90 +v -18.47 6.95 6.03 +v -20.45 6.95 6.03 +v -20.45 6.95 6.90 +v -21.45 7.80 6.90 +v -21.45 7.80 6.03 +v -23.44 7.80 6.03 +v -23.44 7.80 6.90 +v -21.45 6.95 6.90 +v -21.45 6.95 6.03 +v -23.44 6.95 6.03 +v -23.44 6.95 6.90 +v -23.40 7.80 5.50 +v -22.53 7.80 5.50 +v -22.53 7.80 3.51 +v -23.40 7.80 3.51 +v -23.40 6.95 5.50 +v -22.53 6.95 5.50 +v -22.53 6.95 3.51 +v -23.40 6.95 3.51 +v -23.40 7.80 2.51 +v -22.53 7.80 2.51 +v -22.53 7.80 0.53 +v -23.40 7.80 0.53 +v -23.40 6.95 2.51 +v -22.53 6.95 2.51 +v -22.53 6.95 0.53 +v -23.40 6.95 0.53 +v -23.40 7.80 -0.48 +v -22.53 7.80 -0.48 +v -22.53 7.80 -2.46 +v -23.40 7.80 -2.46 +v -23.40 6.95 -0.48 +v -22.53 6.95 -0.48 +v -22.53 6.95 -2.46 +v -23.40 6.95 -2.46 +v -23.40 7.80 -3.47 +v -22.53 7.80 -3.47 +v -22.53 7.80 -5.45 +v -23.40 7.80 -5.45 +v -23.40 6.95 -3.47 +v -22.53 6.95 -3.47 +v -22.53 6.95 -5.45 +v -23.40 6.95 -5.45 +v -21.45 7.80 -6.02 +v -21.45 7.80 -6.88 +v -23.44 7.80 -6.88 +v -23.44 7.80 -6.02 +v -21.45 6.95 -6.02 +v -21.45 6.95 -6.88 +v -23.44 6.95 -6.88 +v -23.44 6.95 -6.02 +v -18.47 7.80 -6.02 +v -18.47 7.80 -6.88 +v -20.45 7.80 -6.88 +v -20.45 7.80 -6.02 +v -18.47 6.95 -6.02 +v -18.47 6.95 -6.88 +v -20.45 6.95 -6.88 +v -20.45 6.95 -6.02 +v -15.48 7.80 -6.02 +v -15.48 7.80 -6.88 +v -17.46 7.80 -6.88 +v -17.46 7.80 -6.02 +v -15.48 6.95 -6.02 +v -15.48 6.95 -6.88 +v -17.46 6.95 -6.88 +v -17.46 6.95 -6.02 +v -7.10 7.80 -12.06 +v -7.10 7.80 -12.93 +v -9.08 7.80 -12.93 +v -9.08 7.80 -12.06 +v -7.10 6.95 -12.06 +v -7.10 6.95 -12.93 +v -9.08 6.95 -12.93 +v -9.08 6.95 -12.06 +v -4.46 7.80 -12.06 +v -4.46 7.80 -12.93 +v -6.45 7.80 -12.93 +v -6.45 7.80 -12.06 +v -4.46 6.95 -12.06 +v -4.46 6.95 -12.93 +v -6.45 6.95 -12.93 +v -6.45 6.95 -12.06 +v -1.83 7.80 -12.06 +v -1.83 7.80 -12.93 +v -3.81 7.80 -12.93 +v -3.81 7.80 -12.06 +v -1.83 6.95 -12.06 +v -1.83 6.95 -12.93 +v -3.81 6.95 -12.93 +v -3.81 6.95 -12.06 +v 0.81 7.80 -12.06 +v 0.81 7.80 -12.93 +v -1.17 7.80 -12.93 +v -1.17 7.80 -12.06 +v 0.81 6.95 -12.06 +v 0.81 6.95 -12.93 +v -1.17 6.95 -12.93 +v -1.17 6.95 -12.06 +v 3.44 7.80 -12.06 +v 3.44 7.80 -12.93 +v 1.46 7.80 -12.93 +v 1.46 7.80 -12.06 +v 3.44 6.95 -12.06 +v 3.44 6.95 -12.93 +v 1.46 6.95 -12.93 +v 1.46 6.95 -12.06 +v 6.08 7.80 -12.06 +v 6.08 7.80 -12.93 +v 4.10 7.80 -12.93 +v 4.10 7.80 -12.06 +v 6.08 6.95 -12.06 +v 6.08 6.95 -12.93 +v 4.10 6.95 -12.93 +v 4.10 6.95 -12.06 +v 8.72 7.80 -12.06 +v 8.72 7.80 -12.93 +v 6.74 7.80 -12.93 +v 6.74 7.80 -12.06 +v 8.72 6.95 -12.06 +v 8.72 6.95 -12.93 +v 6.74 6.95 -12.93 +v 6.74 6.95 -12.06 +v -4.39 18.64 -6.78 +v -4.39 18.64 -7.64 +v -6.37 18.64 -7.64 +v -6.37 18.64 -6.78 +v -4.39 17.79 -6.78 +v -4.39 17.79 -7.64 +v -6.37 17.79 -7.64 +v -6.37 17.79 -6.78 +v -1.66 18.64 -6.78 +v -1.66 18.64 -7.64 +v -3.64 18.64 -7.64 +v -3.64 18.64 -6.78 +v -1.66 17.79 -6.78 +v -1.66 17.79 -7.64 +v -3.64 17.79 -7.64 +v -3.64 17.79 -6.78 +v 1.06 18.64 -6.78 +v 1.06 18.64 -7.64 +v -0.92 18.64 -7.64 +v -0.92 18.64 -6.78 +v 1.06 17.79 -6.78 +v 1.06 17.79 -7.64 +v -0.92 17.79 -7.64 +v -0.92 17.79 -6.78 +v 3.79 18.64 -6.78 +v 3.79 18.64 -7.64 +v 1.80 18.64 -7.64 +v 1.80 18.64 -6.78 +v 3.79 17.79 -6.78 +v 3.79 17.79 -7.64 +v 1.80 17.79 -7.64 +v 1.80 17.79 -6.78 +v 6.51 18.64 -6.78 +v 6.51 18.64 -7.64 +v 4.53 18.64 -7.64 +v 4.53 18.64 -6.78 +v 6.51 17.79 -6.78 +v 6.51 17.79 -7.64 +v 4.53 17.79 -7.64 +v 4.53 17.79 -6.78 +v 9.24 18.64 -6.78 +v 9.24 18.64 -7.64 +v 7.25 18.64 -7.64 +v 7.25 18.64 -6.78 +v 9.24 17.79 -6.78 +v 9.24 17.79 -7.64 +v 7.25 17.79 -7.64 +v 7.25 17.79 -6.78 +v -7.11 18.64 -6.78 +v -7.11 18.64 -7.64 +v -9.09 18.64 -7.64 +v -9.09 18.64 -6.78 +v -7.11 17.79 -6.78 +v -7.11 17.79 -7.64 +v -9.09 17.79 -7.64 +v -9.09 17.79 -6.78 +v -9.92 18.64 -6.55 +v -10.78 18.64 -6.55 +v -10.78 18.64 -4.56 +v -9.92 18.64 -4.56 +v -9.92 17.79 -6.55 +v -10.78 17.79 -6.55 +v -10.78 17.79 -4.56 +v -9.92 17.79 -4.56 +v -9.92 18.64 -3.82 +v -10.78 18.64 -3.82 +v -10.78 18.64 -1.84 +v -9.92 18.64 -1.84 +v -9.92 17.79 -3.82 +v -10.78 17.79 -3.82 +v -10.78 17.79 -1.84 +v -9.92 17.79 -1.84 +v -9.92 18.64 -1.10 +v -10.78 18.64 -1.10 +v -10.78 18.64 0.88 +v -9.92 18.64 0.88 +v -9.92 17.79 -1.10 +v -10.78 17.79 -1.10 +v -10.78 17.79 0.88 +v -9.92 17.79 0.88 +v -9.92 18.64 1.63 +v -10.78 18.64 1.63 +v -10.78 18.64 3.61 +v -9.92 18.64 3.61 +v -9.92 17.79 1.63 +v -10.78 17.79 1.63 +v -10.78 17.79 3.61 +v -9.92 17.79 3.61 +v -7.11 18.64 7.48 +v -7.11 18.64 6.62 +v -9.09 18.64 6.62 +v -9.09 18.64 7.48 +v -7.11 17.79 7.48 +v -7.11 17.79 6.62 +v -9.09 17.79 6.62 +v -9.09 17.79 7.48 +v -4.39 18.64 7.48 +v -4.39 18.64 6.62 +v -6.37 18.64 6.62 +v -6.37 18.64 7.48 +v -4.39 17.79 7.48 +v -4.39 17.79 6.62 +v -6.37 17.79 6.62 +v -6.37 17.79 7.48 +v -1.66 18.64 7.48 +v -1.66 18.64 6.62 +v -3.64 18.64 6.62 +v -3.64 18.64 7.48 +v -1.66 17.79 7.48 +v -1.66 17.79 6.62 +v -3.64 17.79 6.62 +v -3.64 17.79 7.48 +v 1.06 18.64 7.48 +v 1.06 18.64 6.62 +v -0.92 18.64 6.62 +v -0.92 18.64 7.48 +v 1.06 17.79 7.48 +v 1.06 17.79 6.62 +v -0.92 17.79 6.62 +v -0.92 17.79 7.48 +v 3.79 18.64 7.48 +v 3.79 18.64 6.62 +v 1.80 18.64 6.62 +v 1.80 18.64 7.48 +v 3.79 17.79 7.48 +v 3.79 17.79 6.62 +v 1.80 17.79 6.62 +v 1.80 17.79 7.48 +v 9.24 18.64 7.48 +v 9.24 18.64 6.62 +v 7.25 18.64 6.62 +v 7.25 18.64 7.48 +v 9.24 17.79 7.48 +v 9.24 17.79 6.62 +v 7.25 17.79 6.62 +v 7.25 17.79 7.48 +v 6.51 18.64 7.48 +v 6.51 18.64 6.62 +v 4.53 18.64 6.62 +v 4.53 18.64 7.48 +v 6.51 17.79 7.48 +v 6.51 17.79 6.62 +v 4.53 17.79 6.62 +v 4.53 17.79 7.48 +v 10.85 18.64 -6.55 +v 9.99 18.64 -6.55 +v 9.99 18.64 -4.56 +v 10.85 18.64 -4.56 +v 10.85 17.79 -6.55 +v 9.99 17.79 -6.55 +v 9.99 17.79 -4.56 +v 10.85 17.79 -4.56 +v 10.85 18.64 -3.82 +v 9.99 18.64 -3.82 +v 9.99 18.64 -1.84 +v 10.85 18.64 -1.84 +v 10.85 17.79 -3.82 +v 9.99 17.79 -3.82 +v 9.99 17.79 -1.84 +v 10.85 17.79 -1.84 +v 10.85 18.64 -1.10 +v 9.99 18.64 -1.10 +v 9.99 18.64 0.88 +v 10.85 18.64 0.88 +v 10.85 17.79 -1.10 +v 9.99 17.79 -1.10 +v 9.99 17.79 0.88 +v 10.85 17.79 0.88 +v 10.85 18.64 1.63 +v 9.99 18.64 1.63 +v 9.99 18.64 3.61 +v 10.85 18.64 3.61 +v 10.85 17.79 1.63 +v 9.99 17.79 1.63 +v 9.99 17.79 3.61 +v 10.85 17.79 3.61 +v 10.85 18.64 4.35 +v 9.99 18.64 4.35 +v 9.99 18.64 6.33 +v 10.85 18.64 6.33 +v 10.85 17.79 4.35 +v 9.99 17.79 4.35 +v 9.99 17.79 6.33 +v 10.85 17.79 6.33 +v 11.17 6.95 -11.03 +v 11.17 6.95 -12.83 +v -11.17 6.95 -12.83 +v -11.17 6.95 -11.03 +v 11.17 -0.02 -12.83 +v -11.17 -0.02 -12.83 +v -19.96 4.66 -6.77 +v -19.60 5.22 -6.77 +v -19.60 2.88 -6.77 +v -19.96 2.92 -6.77 +v -20.24 2.96 -6.83 +v -20.24 2.71 -6.83 +v -20.24 2.71 -6.75 +v -20.24 2.96 -6.75 +v -19.60 5.63 -6.83 +v -20.15 4.82 -6.83 +v -20.15 4.82 -6.75 +v -19.60 5.63 -6.75 +v -18.96 2.71 -6.83 +v -18.96 2.96 -6.83 +v -18.96 2.96 -6.75 +v -18.96 2.71 -6.75 +v -19.60 2.63 -6.83 +v -19.05 2.71 -6.83 +v -19.05 2.71 -6.75 +v -19.60 2.63 -6.75 +v -20.15 2.71 -6.92 +v -20.15 2.96 -6.92 +v -19.96 2.92 -6.92 +v -19.60 5.22 -6.83 +v -19.96 4.66 -6.83 +v -19.05 2.96 -6.92 +v -19.05 2.71 -6.92 +v -19.24 2.94 -6.92 +v -19.60 2.63 -6.92 +v -19.60 2.88 -6.92 +v -19.24 4.66 -6.77 +v -19.24 2.94 -6.77 +v -19.05 4.82 -6.83 +v -19.05 4.82 -6.75 +v -20.15 2.71 -6.83 +v -20.15 2.71 -6.75 +v -19.24 4.66 -6.83 +v -19.96 2.92 -6.83 +v -19.24 2.94 -6.83 +v -19.60 2.88 -6.83 +v -19.05 2.96 -6.83 +v -19.05 2.96 -6.75 +v -20.15 2.96 -6.83 +v -20.15 2.96 -6.75 +v -20.24 2.96 -6.92 +v -20.24 2.71 -6.92 +v -18.96 2.71 -6.92 +v -18.96 2.96 -6.92 +v -6.81 4.66 -12.83 +v -6.45 5.22 -12.83 +v -6.45 2.88 -12.83 +v -6.81 2.92 -12.83 +v -7.09 2.96 -12.89 +v -7.09 2.71 -12.89 +v -7.09 2.71 -12.81 +v -7.09 2.96 -12.81 +v -6.45 5.63 -12.89 +v -6.99 4.82 -12.89 +v -6.99 4.82 -12.81 +v -6.45 5.63 -12.81 +v -5.81 2.71 -12.89 +v -5.81 2.96 -12.89 +v -5.81 2.96 -12.81 +v -5.81 2.71 -12.81 +v -6.45 2.63 -12.89 +v -5.90 2.71 -12.89 +v -5.90 2.71 -12.81 +v -6.45 2.63 -12.81 +v -6.99 2.71 -12.98 +v -6.99 2.96 -12.98 +v -6.81 2.92 -12.98 +v -6.45 5.22 -12.89 +v -6.81 4.66 -12.89 +v -5.90 2.96 -12.98 +v -5.90 2.71 -12.98 +v -6.09 2.94 -12.98 +v -6.45 2.63 -12.98 +v -6.45 2.88 -12.98 +v -6.09 4.66 -12.83 +v -6.09 2.94 -12.83 +v -5.90 4.82 -12.89 +v -5.90 4.82 -12.81 +v -6.99 2.71 -12.89 +v -6.99 2.71 -12.81 +v -6.09 4.66 -12.89 +v -6.81 2.92 -12.89 +v -6.09 2.94 -12.89 +v -6.45 2.88 -12.89 +v -5.90 2.96 -12.89 +v -5.90 2.96 -12.81 +v -6.99 2.96 -12.89 +v -6.99 2.96 -12.81 +v -7.09 2.96 -12.98 +v -7.09 2.71 -12.98 +v -5.81 2.71 -12.98 +v -5.81 2.96 -12.98 +v -4.17 10.56 -11.04 +v -3.81 11.12 -11.04 +v -3.81 8.77 -11.04 +v -4.17 8.82 -11.04 +v -4.45 8.86 -11.10 +v -4.45 8.61 -11.10 +v -4.45 8.61 -11.02 +v -4.45 8.86 -11.02 +v -3.81 11.53 -11.10 +v -4.36 10.72 -11.10 +v -4.36 10.72 -11.02 +v -3.81 11.53 -11.02 +v -3.17 8.61 -11.10 +v -3.17 8.86 -11.10 +v -3.17 8.86 -11.02 +v -3.17 8.61 -11.02 +v -3.81 8.52 -11.10 +v -3.27 8.61 -11.10 +v -3.27 8.61 -11.02 +v -3.81 8.52 -11.02 +v -4.36 8.61 -11.19 +v -4.36 8.86 -11.19 +v -4.17 8.82 -11.19 +v -3.81 11.12 -11.10 +v -4.17 10.56 -11.10 +v -3.27 8.86 -11.19 +v -3.27 8.61 -11.19 +v -3.45 8.83 -11.19 +v -3.81 8.52 -11.19 +v -3.81 8.77 -11.19 +v -3.45 10.56 -11.04 +v -3.45 8.83 -11.04 +v -3.27 10.72 -11.10 +v -3.27 10.72 -11.02 +v -4.36 8.61 -11.10 +v -4.36 8.61 -11.02 +v -3.45 10.56 -11.10 +v -4.17 8.82 -11.10 +v -3.45 8.83 -11.10 +v -3.81 8.77 -11.10 +v -3.27 8.86 -11.10 +v -3.27 8.86 -11.02 +v -4.36 8.86 -11.10 +v -4.36 8.86 -11.02 +v -4.45 8.86 -11.19 +v -4.45 8.61 -11.19 +v -3.17 8.61 -11.19 +v -3.17 8.86 -11.19 +v 3.09 10.56 -11.04 +v 3.44 11.12 -11.04 +v 3.44 8.77 -11.04 +v 3.09 8.82 -11.04 +v 2.81 8.86 -11.10 +v 2.81 8.61 -11.10 +v 2.81 8.61 -11.02 +v 2.81 8.86 -11.02 +v 3.44 11.53 -11.10 +v 2.90 10.72 -11.10 +v 2.90 10.72 -11.02 +v 3.44 11.53 -11.02 +v 4.08 8.61 -11.10 +v 4.08 8.86 -11.10 +v 4.08 8.86 -11.02 +v 4.08 8.61 -11.02 +v 3.44 8.52 -11.10 +v 3.99 8.61 -11.10 +v 3.99 8.61 -11.02 +v 3.44 8.52 -11.02 +v 2.90 8.61 -11.19 +v 2.90 8.86 -11.19 +v 3.09 8.82 -11.19 +v 3.44 11.12 -11.10 +v 3.09 10.56 -11.10 +v 3.99 8.86 -11.19 +v 3.99 8.61 -11.19 +v 3.80 8.83 -11.19 +v 3.44 8.52 -11.19 +v 3.44 8.77 -11.19 +v 3.80 10.56 -11.04 +v 3.80 8.83 -11.04 +v 3.99 10.72 -11.10 +v 3.99 10.72 -11.02 +v 2.90 8.61 -11.10 +v 2.90 8.61 -11.02 +v 3.80 10.56 -11.10 +v 3.09 8.82 -11.10 +v 3.80 8.83 -11.10 +v 3.44 8.77 -11.10 +v 3.99 8.86 -11.10 +v 3.99 8.86 -11.02 +v 2.90 8.86 -11.10 +v 2.90 8.86 -11.02 +v 2.81 8.86 -11.19 +v 2.81 8.61 -11.19 +v 4.08 8.61 -11.19 +v 4.08 8.86 -11.19 +v 5.72 4.66 -12.83 +v 6.08 5.22 -12.83 +v 6.08 2.88 -12.83 +v 5.72 2.92 -12.83 +v 5.44 2.96 -12.89 +v 5.44 2.71 -12.89 +v 5.44 2.71 -12.81 +v 5.44 2.96 -12.81 +v 6.08 5.63 -12.89 +v 5.54 4.82 -12.89 +v 5.54 4.82 -12.81 +v 6.08 5.63 -12.81 +v 6.72 2.71 -12.89 +v 6.72 2.96 -12.89 +v 6.72 2.96 -12.81 +v 6.72 2.71 -12.81 +v 6.08 2.63 -12.89 +v 6.63 2.71 -12.89 +v 6.63 2.71 -12.81 +v 6.08 2.63 -12.81 +v 5.54 2.71 -12.98 +v 5.54 2.96 -12.98 +v 5.72 2.92 -12.98 +v 6.08 5.22 -12.89 +v 5.72 4.66 -12.89 +v 6.63 2.96 -12.98 +v 6.63 2.71 -12.98 +v 6.44 2.94 -12.98 +v 6.08 2.63 -12.98 +v 6.08 2.88 -12.98 +v 6.44 4.66 -12.83 +v 6.44 2.94 -12.83 +v 6.63 4.82 -12.89 +v 6.63 4.82 -12.81 +v 5.54 2.71 -12.89 +v 5.54 2.71 -12.81 +v 6.44 4.66 -12.89 +v 5.72 2.92 -12.89 +v 6.44 2.94 -12.89 +v 6.08 2.88 -12.89 +v 6.63 2.96 -12.89 +v 6.63 2.96 -12.81 +v 5.54 2.96 -12.89 +v 5.54 2.96 -12.81 +v 5.44 2.96 -12.98 +v 5.44 2.71 -12.98 +v 6.72 2.71 -12.98 +v 6.72 2.96 -12.98 +v -6.30 20.76 -3.63 +v -5.94 21.32 -3.63 +v -5.94 18.98 -3.63 +v -6.30 19.02 -3.63 +v -6.58 19.06 -3.69 +v -6.58 18.81 -3.69 +v -6.58 18.81 -3.60 +v -6.58 19.06 -3.60 +v -5.94 21.73 -3.69 +v -6.49 20.92 -3.69 +v -6.49 20.92 -3.60 +v -5.94 21.73 -3.60 +v -5.30 18.81 -3.69 +v -5.30 19.06 -3.69 +v -5.30 19.06 -3.60 +v -5.30 18.81 -3.60 +v -5.94 18.73 -3.69 +v -5.40 18.81 -3.69 +v -5.40 18.81 -3.60 +v -5.94 18.73 -3.60 +v -6.49 18.81 -3.78 +v -6.49 19.06 -3.78 +v -6.30 19.02 -3.78 +v -5.94 21.32 -3.69 +v -6.30 20.76 -3.69 +v -5.40 19.06 -3.78 +v -5.40 18.81 -3.78 +v -5.58 19.04 -3.78 +v -5.94 18.73 -3.78 +v -5.94 18.98 -3.78 +v -5.58 20.76 -3.63 +v -5.58 19.04 -3.63 +v -5.40 20.92 -3.69 +v -5.40 20.92 -3.60 +v -6.49 18.81 -3.69 +v -6.49 18.81 -3.60 +v -5.58 20.76 -3.69 +v -6.30 19.02 -3.69 +v -5.58 19.04 -3.69 +v -5.94 18.98 -3.69 +v -5.40 19.06 -3.69 +v -5.40 19.06 -3.60 +v -6.49 19.06 -3.69 +v -6.49 19.06 -3.60 +v -6.58 19.06 -3.78 +v -6.58 18.81 -3.78 +v -5.30 18.81 -3.78 +v -5.30 19.06 -3.78 +v 5.89 20.76 -3.63 +v 6.25 21.32 -3.63 +v 6.25 18.98 -3.63 +v 5.89 19.02 -3.63 +v 5.61 19.06 -3.69 +v 5.61 18.81 -3.69 +v 5.61 18.81 -3.60 +v 5.61 19.06 -3.60 +v 6.25 21.73 -3.69 +v 5.70 20.92 -3.69 +v 5.70 20.92 -3.60 +v 6.25 21.73 -3.60 +v 6.89 18.81 -3.69 +v 6.89 19.06 -3.69 +v 6.89 19.06 -3.60 +v 6.89 18.81 -3.60 +v 6.25 18.73 -3.69 +v 6.79 18.81 -3.69 +v 6.79 18.81 -3.60 +v 6.25 18.73 -3.60 +v 5.70 18.81 -3.78 +v 5.70 19.06 -3.78 +v 5.89 19.02 -3.78 +v 6.25 21.32 -3.69 +v 5.89 20.76 -3.69 +v 6.79 19.06 -3.78 +v 6.79 18.81 -3.78 +v 6.61 19.04 -3.78 +v 6.25 18.73 -3.78 +v 6.25 18.98 -3.78 +v 6.61 20.76 -3.63 +v 6.61 19.04 -3.63 +v 6.79 20.92 -3.69 +v 6.79 20.92 -3.60 +v 5.70 18.81 -3.69 +v 5.70 18.81 -3.60 +v 6.61 20.76 -3.69 +v 5.89 19.02 -3.69 +v 6.61 19.04 -3.69 +v 6.25 18.98 -3.69 +v 6.79 19.06 -3.69 +v 6.79 19.06 -3.60 +v 5.70 19.06 -3.69 +v 5.70 19.06 -3.60 +v 5.61 19.06 -3.78 +v 5.61 18.81 -3.78 +v 6.89 18.81 -3.78 +v 6.89 19.06 -3.78 +v -8.76 20.76 0.36 +v -8.76 21.32 -0.00 +v -8.76 18.98 -0.00 +v -8.76 19.02 0.36 +v -8.82 19.06 0.64 +v -8.82 18.81 0.64 +v -8.74 18.81 0.64 +v -8.74 19.06 0.64 +v -8.82 21.73 -0.00 +v -8.82 20.92 0.55 +v -8.74 20.92 0.55 +v -8.74 21.73 -0.00 +v -8.82 18.81 -0.64 +v -8.82 19.06 -0.64 +v -8.74 19.06 -0.64 +v -8.74 18.81 -0.64 +v -8.82 18.73 -0.00 +v -8.82 18.81 -0.55 +v -8.74 18.81 -0.55 +v -8.74 18.73 -0.00 +v -8.91 18.81 0.55 +v -8.91 19.06 0.55 +v -8.91 19.02 0.36 +v -8.82 21.32 -0.00 +v -8.82 20.76 0.36 +v -8.91 19.06 -0.55 +v -8.91 18.81 -0.55 +v -8.91 19.04 -0.36 +v -8.91 18.73 -0.00 +v -8.91 18.98 -0.00 +v -8.76 20.76 -0.36 +v -8.76 19.04 -0.36 +v -8.82 20.92 -0.55 +v -8.74 20.92 -0.55 +v -8.82 18.81 0.55 +v -8.74 18.81 0.55 +v -8.82 20.76 -0.36 +v -8.82 19.02 0.36 +v -8.82 19.04 -0.36 +v -8.82 18.98 -0.00 +v -8.82 19.06 -0.55 +v -8.74 19.06 -0.55 +v -8.82 19.06 0.55 +v -8.74 19.06 0.55 +v -8.91 19.06 0.64 +v -8.91 18.81 0.64 +v -8.91 18.81 -0.64 +v -8.91 19.06 -0.64 +v -23.42 4.66 -0.35 +v -23.42 2.92 -0.35 +v -23.42 2.88 0.01 +v -23.42 5.22 0.01 +v -23.48 2.96 -0.63 +v -23.40 2.96 -0.63 +v -23.40 2.71 -0.63 +v -23.48 2.71 -0.63 +v -23.48 5.63 0.01 +v -23.40 5.63 0.01 +v -23.40 4.82 -0.54 +v -23.48 4.82 -0.54 +v -23.48 2.71 0.65 +v -23.40 2.71 0.65 +v -23.40 2.96 0.65 +v -23.48 2.96 0.65 +v -23.48 2.63 0.01 +v -23.40 2.63 0.01 +v -23.40 2.71 0.55 +v -23.48 2.71 0.55 +v -23.57 2.71 -0.54 +v -23.57 2.92 -0.35 +v -23.57 2.96 -0.54 +v -23.48 5.22 0.01 +v -23.48 4.66 -0.35 +v -23.57 2.96 0.55 +v -23.57 2.94 0.37 +v -23.57 2.71 0.55 +v -23.57 2.63 0.01 +v -23.57 2.88 0.01 +v -23.42 4.66 0.37 +v -23.42 2.94 0.37 +v -23.48 4.82 0.55 +v -23.40 4.82 0.55 +v -23.48 2.71 -0.54 +v -23.40 2.71 -0.54 +v -23.48 4.66 0.37 +v -23.48 2.92 -0.35 +v -23.48 2.94 0.37 +v -23.48 2.88 0.01 +v -23.48 2.96 0.55 +v -23.40 2.96 0.55 +v -23.40 2.96 -0.54 +v -23.48 2.96 -0.54 +v -23.57 2.71 -0.63 +v -23.57 2.96 -0.63 +v -23.57 2.96 0.65 +v -23.57 2.71 0.65 +v -19.96 4.66 6.78 +v -19.96 2.92 6.78 +v -19.60 2.88 6.78 +v -19.60 5.22 6.78 +v -20.24 2.96 6.85 +v -20.24 2.96 6.76 +v -20.24 2.71 6.76 +v -20.24 2.71 6.85 +v -19.60 5.63 6.85 +v -19.60 5.63 6.76 +v -20.15 4.82 6.76 +v -20.15 4.82 6.85 +v -18.96 2.71 6.85 +v -18.96 2.71 6.76 +v -18.96 2.96 6.76 +v -18.96 2.96 6.85 +v -19.60 2.63 6.85 +v -19.60 2.63 6.76 +v -19.05 2.71 6.76 +v -19.05 2.71 6.85 +v -20.15 2.71 6.94 +v -19.96 2.92 6.94 +v -20.15 2.96 6.94 +v -19.60 5.22 6.85 +v -19.96 4.66 6.85 +v -19.05 2.96 6.94 +v -19.24 2.94 6.94 +v -19.05 2.71 6.94 +v -19.60 2.63 6.94 +v -19.60 2.88 6.94 +v -19.24 4.66 6.78 +v -19.24 2.94 6.78 +v -19.05 4.82 6.85 +v -19.05 4.82 6.76 +v -20.15 2.71 6.85 +v -20.15 2.71 6.76 +v -19.24 4.66 6.85 +v -19.96 2.92 6.85 +v -19.24 2.94 6.85 +v -19.60 2.88 6.85 +v -19.05 2.96 6.85 +v -19.05 2.96 6.76 +v -20.15 2.96 6.76 +v -20.15 2.96 6.85 +v -20.24 2.71 6.94 +v -20.24 2.96 6.94 +v -18.96 2.96 6.94 +v -18.96 2.71 6.94 +v -5.42 9.62 11.04 +v -5.42 7.88 11.04 +v -5.06 7.83 11.04 +v -5.06 10.18 11.04 +v -5.70 7.92 11.10 +v -5.70 7.92 11.01 +v -5.70 7.67 11.01 +v -5.70 7.67 11.10 +v -5.06 10.59 11.10 +v -5.06 10.59 11.01 +v -5.61 9.78 11.01 +v -5.61 9.78 11.10 +v -4.43 7.67 11.10 +v -4.43 7.67 11.01 +v -4.43 7.92 11.01 +v -4.43 7.92 11.10 +v -5.06 7.58 11.10 +v -5.06 7.58 11.01 +v -4.52 7.67 11.01 +v -4.52 7.67 11.10 +v -5.61 7.67 11.19 +v -5.42 7.88 11.19 +v -5.61 7.92 11.19 +v -5.06 10.18 11.10 +v -5.42 9.62 11.10 +v -4.52 7.92 11.19 +v -4.71 7.89 11.19 +v -4.52 7.67 11.19 +v -5.06 7.58 11.19 +v -5.06 7.83 11.19 +v -4.71 9.62 11.04 +v -4.71 7.89 11.04 +v -4.52 9.78 11.10 +v -4.52 9.78 11.01 +v -5.61 7.67 11.10 +v -5.61 7.67 11.01 +v -4.71 9.62 11.10 +v -5.42 7.88 11.10 +v -4.71 7.89 11.10 +v -5.06 7.83 11.10 +v -4.52 7.92 11.10 +v -4.52 7.92 11.01 +v -5.61 7.92 11.01 +v -5.61 7.92 11.10 +v -5.70 7.67 11.19 +v -5.70 7.92 11.19 +v -4.43 7.92 11.19 +v -4.43 7.67 11.19 +v 3.43 9.62 11.04 +v 3.43 7.88 11.04 +v 3.79 7.83 11.04 +v 3.79 10.18 11.04 +v 3.15 7.92 11.10 +v 3.15 7.92 11.01 +v 3.15 7.67 11.01 +v 3.15 7.67 11.10 +v 3.79 10.59 11.10 +v 3.79 10.59 11.01 +v 3.24 9.78 11.01 +v 3.24 9.78 11.10 +v 4.43 7.67 11.10 +v 4.43 7.67 11.01 +v 4.43 7.92 11.01 +v 4.43 7.92 11.10 +v 3.79 7.58 11.10 +v 3.79 7.58 11.01 +v 4.33 7.67 11.01 +v 4.33 7.67 11.10 +v 3.24 7.67 11.19 +v 3.43 7.88 11.19 +v 3.24 7.92 11.19 +v 3.79 10.18 11.10 +v 3.43 9.62 11.10 +v 4.33 7.92 11.19 +v 4.15 7.89 11.19 +v 4.33 7.67 11.19 +v 3.79 7.58 11.19 +v 3.79 7.83 11.19 +v 4.15 9.62 11.04 +v 4.15 7.89 11.04 +v 4.33 9.78 11.10 +v 4.33 9.78 11.01 +v 3.24 7.67 11.10 +v 3.24 7.67 11.01 +v 4.15 9.62 11.10 +v 3.43 7.88 11.10 +v 4.15 7.89 11.10 +v 3.79 7.83 11.10 +v 4.33 7.92 11.10 +v 4.33 7.92 11.01 +v 3.24 7.92 11.01 +v 3.24 7.92 11.10 +v 3.15 7.67 11.19 +v 3.15 7.92 11.19 +v 4.43 7.92 11.19 +v 4.43 7.67 11.19 +v -0.84 4.66 11.04 +v -0.84 2.92 11.04 +v -0.48 2.88 11.04 +v -0.48 5.22 11.04 +v -1.12 2.96 11.10 +v -1.12 2.96 11.01 +v -1.12 2.71 11.01 +v -1.12 2.71 11.10 +v -0.48 5.63 11.10 +v -0.48 5.63 11.01 +v -1.03 4.82 11.01 +v -1.03 4.82 11.10 +v 0.15 2.71 11.10 +v 0.15 2.71 11.01 +v 0.15 2.96 11.01 +v 0.15 2.96 11.10 +v -0.48 2.63 11.10 +v -0.48 2.63 11.01 +v 0.06 2.71 11.01 +v 0.06 2.71 11.10 +v -1.03 2.71 11.19 +v -0.84 2.92 11.19 +v -1.03 2.96 11.19 +v -0.48 5.22 11.10 +v -0.84 4.66 11.10 +v 0.06 2.96 11.19 +v -0.13 2.94 11.19 +v 0.06 2.71 11.19 +v -0.48 2.63 11.19 +v -0.48 2.88 11.19 +v -0.13 4.66 11.04 +v -0.13 2.94 11.04 +v 0.06 4.82 11.10 +v 0.06 4.82 11.01 +v -1.03 2.71 11.10 +v -1.03 2.71 11.01 +v -0.13 4.66 11.10 +v -0.84 2.92 11.10 +v -0.13 2.94 11.10 +v -0.48 2.88 11.10 +v 0.06 2.96 11.10 +v 0.06 2.96 11.01 +v -1.03 2.96 11.01 +v -1.03 2.96 11.10 +v -1.12 2.71 11.19 +v -1.12 2.96 11.19 +v 0.15 2.96 11.19 +v 0.15 2.71 11.19 +v 0.43 20.76 3.64 +v 0.07 21.32 3.64 +v 0.07 18.98 3.64 +v 0.43 19.02 3.64 +v 0.71 19.06 3.70 +v 0.71 18.81 3.70 +v 0.71 18.81 3.61 +v 0.71 19.06 3.61 +v 0.07 21.73 3.70 +v 0.62 20.92 3.70 +v 0.62 20.92 3.61 +v 0.07 21.73 3.61 +v -0.57 18.81 3.70 +v -0.57 19.06 3.70 +v -0.57 19.06 3.61 +v -0.57 18.81 3.61 +v 0.07 18.73 3.70 +v -0.47 18.81 3.70 +v -0.47 18.81 3.61 +v 0.07 18.73 3.61 +v 0.62 18.81 3.79 +v 0.62 19.06 3.79 +v 0.43 19.02 3.79 +v 0.07 21.32 3.70 +v 0.43 20.76 3.70 +v -0.47 19.06 3.79 +v -0.47 18.81 3.79 +v -0.29 19.04 3.79 +v 0.07 18.73 3.79 +v 0.07 18.98 3.79 +v -0.29 20.76 3.64 +v -0.29 19.04 3.64 +v -0.47 20.92 3.70 +v -0.47 20.92 3.61 +v 0.62 18.81 3.70 +v 0.62 18.81 3.61 +v -0.29 20.76 3.70 +v 0.43 19.02 3.70 +v -0.29 19.04 3.70 +v 0.07 18.98 3.70 +v -0.47 19.06 3.70 +v -0.47 19.06 3.61 +v 0.62 19.06 3.70 +v 0.62 19.06 3.61 +v 0.71 19.06 3.79 +v 0.71 18.81 3.79 +v -0.57 18.81 3.79 +v -0.57 19.06 3.79 +v 6.58 20.76 3.64 +v 6.22 21.32 3.64 +v 6.22 18.98 3.64 +v 6.58 19.02 3.64 +v 6.86 19.06 3.70 +v 6.86 18.81 3.70 +v 6.86 18.81 3.61 +v 6.86 19.06 3.61 +v 6.22 21.73 3.70 +v 6.76 20.92 3.70 +v 6.76 20.92 3.61 +v 6.22 21.73 3.61 +v 5.58 18.81 3.70 +v 5.58 19.06 3.70 +v 5.58 19.06 3.61 +v 5.58 18.81 3.61 +v 6.22 18.73 3.70 +v 5.67 18.81 3.70 +v 5.67 18.81 3.61 +v 6.22 18.73 3.61 +v 6.76 18.81 3.79 +v 6.76 19.06 3.79 +v 6.58 19.02 3.79 +v 6.22 21.32 3.70 +v 6.58 20.76 3.70 +v 5.67 19.06 3.79 +v 5.67 18.81 3.79 +v 5.86 19.04 3.79 +v 6.22 18.73 3.79 +v 6.22 18.98 3.79 +v 5.86 20.76 3.64 +v 5.86 19.04 3.64 +v 5.67 20.92 3.70 +v 5.67 20.92 3.61 +v 6.76 18.81 3.70 +v 6.76 18.81 3.61 +v 5.86 20.76 3.70 +v 6.58 19.02 3.70 +v 5.86 19.04 3.70 +v 6.22 18.98 3.70 +v 5.67 19.06 3.70 +v 5.67 19.06 3.61 +v 6.76 19.06 3.70 +v 6.76 19.06 3.61 +v 6.86 19.06 3.79 +v 6.86 18.81 3.79 +v 5.58 18.81 3.79 +v 5.58 19.06 3.79 +v 12.89 4.66 -3.98 +v 12.89 5.22 -3.62 +v 12.89 2.88 -3.62 +v 12.89 2.92 -3.98 +v 12.96 2.96 -4.26 +v 12.96 2.71 -4.26 +v 12.87 2.71 -4.26 +v 12.87 2.96 -4.26 +v 12.96 5.63 -3.62 +v 12.96 4.82 -4.17 +v 12.87 4.82 -4.17 +v 12.87 5.63 -3.62 +v 12.96 2.71 -2.98 +v 12.96 2.96 -2.98 +v 12.87 2.96 -2.98 +v 12.87 2.71 -2.98 +v 12.96 2.63 -3.62 +v 12.96 2.71 -3.08 +v 12.87 2.71 -3.08 +v 12.87 2.63 -3.62 +v 13.05 2.71 -4.17 +v 13.05 2.96 -4.17 +v 13.05 2.92 -3.98 +v 12.96 5.22 -3.62 +v 12.96 4.66 -3.98 +v 13.05 2.96 -3.08 +v 13.05 2.71 -3.08 +v 13.05 2.94 -3.26 +v 13.05 2.63 -3.62 +v 13.05 2.88 -3.62 +v 12.89 4.66 -3.26 +v 12.89 2.94 -3.26 +v 12.96 4.82 -3.08 +v 12.87 4.82 -3.08 +v 12.96 2.71 -4.17 +v 12.87 2.71 -4.17 +v 12.96 4.66 -3.26 +v 12.96 2.92 -3.98 +v 12.96 2.94 -3.26 +v 12.96 2.88 -3.62 +v 12.96 2.96 -3.08 +v 12.87 2.96 -3.08 +v 12.96 2.96 -4.17 +v 12.87 2.96 -4.17 +v 13.05 2.96 -4.26 +v 13.05 2.71 -4.26 +v 13.05 2.71 -2.98 +v 13.05 2.96 -2.98 +v 12.89 4.66 3.26 +v 12.89 5.22 3.62 +v 12.89 2.88 3.62 +v 12.89 2.92 3.26 +v 12.96 2.96 2.98 +v 12.96 2.71 2.98 +v 12.87 2.71 2.98 +v 12.87 2.96 2.98 +v 12.96 5.63 3.62 +v 12.96 4.82 3.08 +v 12.87 4.82 3.08 +v 12.87 5.63 3.62 +v 12.96 2.71 4.26 +v 12.96 2.96 4.26 +v 12.87 2.96 4.26 +v 12.87 2.71 4.26 +v 12.96 2.63 3.62 +v 12.96 2.71 4.17 +v 12.87 2.71 4.17 +v 12.87 2.63 3.62 +v 13.05 2.71 3.08 +v 13.05 2.96 3.08 +v 13.05 2.92 3.26 +v 12.96 5.22 3.62 +v 12.96 4.66 3.26 +v 13.05 2.96 4.17 +v 13.05 2.71 4.17 +v 13.05 2.94 3.98 +v 13.05 2.63 3.62 +v 13.05 2.88 3.62 +v 12.89 4.66 3.98 +v 12.89 2.94 3.98 +v 12.96 4.82 4.17 +v 12.87 4.82 4.17 +v 12.96 2.71 3.08 +v 12.87 2.71 3.08 +v 12.96 4.66 3.98 +v 12.96 2.92 3.26 +v 12.96 2.94 3.98 +v 12.96 2.88 3.62 +v 12.96 2.96 4.17 +v 12.87 2.96 4.17 +v 12.96 2.96 3.08 +v 12.87 2.96 3.08 +v 13.05 2.96 2.98 +v 13.05 2.71 2.98 +v 13.05 2.71 4.26 +v 13.05 2.96 4.26 +v 8.75 20.76 0.36 +v 8.75 19.02 0.36 +v 8.75 18.98 -0.00 +v 8.75 21.32 -0.00 +v 8.81 19.06 0.64 +v 8.73 19.06 0.64 +v 8.73 18.81 0.64 +v 8.81 18.81 0.64 +v 8.81 21.73 -0.00 +v 8.73 21.73 -0.00 +v 8.73 20.92 0.55 +v 8.81 20.92 0.55 +v 8.81 18.81 -0.64 +v 8.73 18.81 -0.64 +v 8.73 19.06 -0.64 +v 8.81 19.06 -0.64 +v 8.81 18.73 -0.00 +v 8.73 18.73 -0.00 +v 8.73 18.81 -0.55 +v 8.81 18.81 -0.55 +v 8.90 18.81 0.55 +v 8.90 19.02 0.36 +v 8.90 19.06 0.55 +v 8.81 21.32 -0.00 +v 8.81 20.76 0.36 +v 8.90 19.06 -0.55 +v 8.90 19.04 -0.36 +v 8.90 18.81 -0.55 +v 8.90 18.73 -0.00 +v 8.90 18.98 -0.00 +v 8.75 20.76 -0.36 +v 8.75 19.04 -0.36 +v 8.81 20.92 -0.55 +v 8.73 20.92 -0.55 +v 8.81 18.81 0.55 +v 8.73 18.81 0.55 +v 8.81 20.76 -0.36 +v 8.81 19.02 0.36 +v 8.81 19.04 -0.36 +v 8.81 18.98 -0.00 +v 8.81 19.06 -0.55 +v 8.73 19.06 -0.55 +v 8.73 19.06 0.55 +v 8.81 19.06 0.55 +v 8.90 18.81 0.64 +v 8.90 19.06 0.64 +v 8.90 19.06 -0.64 +v 8.90 18.81 -0.64 +v -5.91 20.76 3.64 +v -6.27 21.32 3.64 +v -6.27 18.98 3.64 +v -5.91 19.02 3.64 +v -5.63 19.06 3.70 +v -5.63 18.81 3.70 +v -5.63 18.81 3.61 +v -5.63 19.06 3.61 +v -6.27 21.73 3.70 +v -5.73 20.92 3.70 +v -5.73 20.92 3.61 +v -6.27 21.73 3.61 +v -6.91 18.81 3.70 +v -6.91 19.06 3.70 +v -6.91 19.06 3.61 +v -6.91 18.81 3.61 +v -6.27 18.73 3.70 +v -6.82 18.81 3.70 +v -6.82 18.81 3.61 +v -6.27 18.73 3.61 +v -5.73 18.81 3.79 +v -5.73 19.06 3.79 +v -5.91 19.02 3.79 +v -6.27 21.32 3.70 +v -5.91 20.76 3.70 +v -6.82 19.06 3.79 +v -6.82 18.81 3.79 +v -6.63 19.04 3.79 +v -6.27 18.73 3.79 +v -6.27 18.98 3.79 +v -6.63 20.76 3.64 +v -6.63 19.04 3.64 +v -6.82 20.92 3.70 +v -6.82 20.92 3.61 +v -5.73 18.81 3.70 +v -5.73 18.81 3.61 +v -6.63 20.76 3.70 +v -5.91 19.02 3.70 +v -6.63 19.04 3.70 +v -6.27 18.98 3.70 +v -6.82 19.06 3.70 +v -6.82 19.06 3.61 +v -5.73 19.06 3.70 +v -5.73 19.06 3.61 +v -5.63 19.06 3.79 +v -5.63 18.81 3.79 +v -6.91 18.81 3.79 +v -6.91 19.06 3.79 +v 1.22 3.89 -13.04 +v 1.22 0.00 -13.04 +v 0.00 0.00 -13.04 +v 0.00 4.45 -13.04 +v -2.44 3.02 -13.04 +v -1.22 3.89 -13.04 +v -1.22 0.00 -13.04 +v -2.44 0.00 -13.04 +v 2.44 3.02 -13.04 +v 2.44 0.00 -13.04 +v 2.76 0.00 -12.61 +v 2.76 0.00 -13.28 +v 2.72 2.63 -13.28 +v 2.72 2.63 -12.61 +v 2.32 0.00 -13.28 +v 2.28 2.21 -13.28 +v 2.32 0.00 -12.61 +v 2.28 2.21 -12.61 +v 1.57 4.51 -13.28 +v 1.57 4.51 -12.61 +v 1.32 3.79 -13.28 +v 1.32 3.79 -12.61 +v 0.00 5.20 -13.28 +v 0.00 5.20 -12.61 +v 0.00 4.45 -13.28 +v 0.00 4.45 -12.61 +v -1.57 4.51 -13.28 +v -1.57 4.51 -12.61 +v -1.32 3.79 -13.28 +v -1.32 3.79 -12.61 +v -2.72 2.63 -13.28 +v -2.72 2.63 -12.61 +v -2.28 2.21 -13.28 +v -2.28 2.21 -12.61 +v -2.76 0.00 -13.28 +v -2.76 0.00 -12.61 +v -2.32 0.00 -13.28 +v -2.32 0.00 -12.61 +v -23.02 0.02 -7.19 +v -23.81 0.02 -7.26 +v -23.50 3.76 -6.94 +v -22.95 3.76 -6.89 +v -23.10 0.02 -6.35 +v -23.01 3.76 -6.25 +v -23.88 0.02 -6.42 +v -23.56 3.76 -6.30 +v -23.00 6.77 -7.20 +v -23.83 6.77 -7.27 +v -23.08 7.23 -6.33 +v -23.90 7.23 -6.41 +v -23.14 6.61 -6.66 +v -23.14 6.39 0.01 +v -23.82 6.39 0.01 +v -23.82 6.61 -6.66 +v -23.82 7.03 0.01 +v -23.82 7.24 -6.66 +v -23.14 7.03 0.01 +v -23.14 7.24 -6.66 +v -23.14 6.61 6.68 +v -23.82 6.61 6.68 +v -23.82 7.24 6.68 +v -23.14 7.24 6.68 +v -10.64 6.61 -6.65 +v -17.31 6.39 -6.65 +v -17.31 6.39 -7.33 +v -10.64 6.61 -7.33 +v -17.31 7.03 -7.33 +v -10.64 7.24 -7.33 +v -17.31 7.03 -6.65 +v -10.64 7.24 -6.65 +v -23.99 6.61 -6.65 +v -23.99 6.61 -7.33 +v -23.99 7.24 -7.33 +v -23.99 7.24 -6.65 +v -23.02 0.02 7.20 +v -22.95 3.76 6.91 +v -23.50 3.76 6.95 +v -23.81 0.02 7.27 +v -23.10 0.02 6.37 +v -23.01 3.76 6.27 +v -23.88 0.02 6.44 +v -23.56 3.76 6.32 +v -23.00 6.77 7.22 +v -23.83 6.77 7.29 +v -23.08 7.23 6.35 +v -23.90 7.23 6.42 +v -10.64 6.61 6.68 +v -10.64 6.61 7.36 +v -17.31 6.39 7.36 +v -17.31 6.39 6.68 +v -10.64 7.24 7.36 +v -17.31 7.03 7.36 +v -10.64 7.24 6.68 +v -17.31 7.03 6.68 +v -23.99 6.61 7.36 +v -23.99 6.61 6.68 +v -23.99 7.24 7.36 +v -23.99 7.24 6.68 +v 8.74 6.44 10.70 +v 8.74 6.44 11.59 +v 0.00 6.16 11.59 +v 0.00 6.16 10.70 +v 8.74 7.27 11.59 +v 0.00 6.98 11.59 +v 8.74 7.27 10.70 +v 0.00 6.98 10.70 +v -8.74 6.44 11.59 +v -8.74 6.44 10.70 +v -8.74 7.27 11.59 +v -8.74 7.27 10.70 +v 8.74 17.79 -0.00 +v 8.74 27.72 -0.00 +v 8.74 23.62 3.62 +v 0.00 17.79 -3.62 +v 0.00 23.02 -3.62 +v 8.74 23.62 -3.62 +v -8.74 17.79 -0.00 +v -8.74 27.60 -0.00 +v -8.74 23.62 -3.62 +v 0.00 17.79 3.62 +v 0.00 23.02 3.62 +v -8.74 23.62 3.62 +v 8.34 17.58 -3.11 +v 8.50 20.48 -3.15 +v 8.50 20.48 -3.73 +v 8.34 17.58 -3.92 +v 8.34 24.35 -3.11 +v 8.34 23.76 -3.83 +v 9.14 17.58 -3.11 +v 9.09 20.48 -3.15 +v 9.14 24.35 -3.11 +v 9.14 17.58 -3.92 +v 9.09 20.48 -3.73 +v 9.14 23.76 -3.83 +v -0.81 20.18 -3.56 +v -0.81 17.74 -3.56 +v -0.81 17.74 -3.74 +v -0.81 20.18 -3.74 +v -0.95 20.13 -3.74 +v -0.95 17.74 -3.74 +v -0.95 17.74 -3.56 +v -0.95 20.13 -3.56 +v -1.04 20.10 -3.76 +v -1.04 20.10 -3.58 +v -1.04 20.32 -3.58 +v -1.04 20.32 -3.76 +v 1.04 20.32 -3.58 +v 1.04 20.10 -3.58 +v 1.04 20.10 -3.76 +v 1.04 20.32 -3.76 +v -0.39 20.29 -3.76 +v -0.39 20.29 -3.58 +v -0.39 20.51 -3.76 +v -0.39 20.51 -3.58 +v 0.94 20.15 -3.56 +v 0.94 17.74 -3.56 +v 0.94 17.74 -3.74 +v 0.94 20.15 -3.74 +v 0.80 17.74 -3.74 +v 0.80 20.19 -3.74 +v 0.80 17.74 -3.56 +v 0.80 20.19 -3.56 +v 0.39 20.29 -3.76 +v 0.39 20.29 -3.58 +v 0.39 20.51 -3.76 +v 0.39 20.51 -3.58 +v 0.00 20.34 -3.76 +v 0.00 20.34 -3.58 +v 0.00 20.56 -3.76 +v 0.00 20.56 -3.58 +v -0.01 17.69 -4.00 +v 0.78 17.69 -4.00 +v 0.78 17.66 -3.95 +v -0.01 17.66 -3.95 +v -0.01 17.76 -4.01 +v 0.78 17.76 -4.01 +v 0.78 17.75 -3.95 +v 0.78 17.85 -3.95 +v 0.78 17.85 -3.64 +v 0.78 17.75 -3.64 +v 0.78 17.82 -4.00 +v 0.78 17.66 -3.64 +v -0.01 17.85 -3.95 +v -0.01 17.85 -3.64 +v -0.01 17.82 -4.00 +v -0.80 17.66 -3.95 +v -0.80 17.69 -4.00 +v -0.80 17.76 -4.01 +v -0.80 17.85 -3.64 +v -0.80 17.85 -3.95 +v -0.80 17.75 -3.95 +v -0.80 17.75 -3.64 +v -0.80 17.82 -4.00 +v -0.80 17.66 -3.64 +v 0.86 20.19 -3.66 +v 0.86 17.72 -3.66 +v 0.02 17.72 -3.66 +v 0.02 20.45 -3.66 +v -0.82 20.19 -3.66 +v -0.82 17.72 -3.66 +v -9.14 17.58 -3.11 +v -8.97 20.48 -3.15 +v -8.97 20.48 -3.73 +v -9.14 17.58 -3.92 +v -9.14 24.35 -3.11 +v -9.14 23.76 -3.83 +v -8.34 17.58 -3.11 +v -8.39 20.48 -3.15 +v -8.34 24.35 -3.11 +v -8.34 17.58 -3.92 +v -8.39 20.48 -3.73 +v -8.34 23.76 -3.83 +v -9.14 17.58 3.11 +v -9.14 17.58 3.92 +v -8.97 20.48 3.73 +v -8.97 20.48 3.15 +v -9.14 23.76 3.83 +v -9.14 24.35 3.11 +v -8.34 17.58 3.11 +v -8.39 20.48 3.15 +v -8.34 24.35 3.11 +v -8.39 20.48 3.73 +v -8.34 17.58 3.92 +v -8.34 23.76 3.83 +v 8.34 17.58 3.11 +v 8.34 17.58 3.92 +v 8.50 20.48 3.73 +v 8.50 20.48 3.15 +v 8.34 23.76 3.83 +v 8.34 24.35 3.11 +v 9.14 17.58 3.11 +v 9.09 20.48 3.15 +v 9.14 24.35 3.11 +v 9.09 20.48 3.73 +v 9.14 17.58 3.92 +v 9.14 23.76 3.83 +v 12.59 6.44 -8.74 +v 13.48 6.44 -8.74 +v 13.48 6.16 -0.00 +v 12.59 6.16 -0.00 +v 13.48 7.27 -8.74 +v 13.48 6.98 -0.00 +v 12.59 7.27 -8.74 +v 12.59 6.98 -0.00 +v 13.48 6.44 8.74 +v 12.59 6.44 8.74 +v 13.48 7.27 8.74 +v 12.59 7.27 8.74 +v -9.92 18.64 4.67 +v -10.78 18.64 4.67 +v -10.78 18.64 6.66 +v -9.92 18.64 6.66 +v -9.92 17.79 4.67 +v -10.78 17.79 4.67 +v -10.78 17.79 6.66 +v -9.92 17.79 6.66 +v -12.40 7.80 6.90 +v -12.40 7.80 6.03 +v -14.38 7.80 6.03 +v -14.38 7.80 6.90 +v -12.40 6.95 6.90 +v -12.40 6.95 6.03 +v -14.38 6.95 6.03 +v -14.38 6.95 6.90 +v -12.40 7.80 -5.99 +v -12.40 7.80 -6.86 +v -14.38 7.80 -6.86 +v -14.38 7.80 -5.99 +v -12.40 6.95 -5.99 +v -12.40 6.95 -6.86 +v -14.38 6.95 -6.86 +v -14.38 6.95 -5.99 +v -16.55 0.00 12.98 +v -16.55 7.76 12.98 +v -17.17 7.76 10.68 +v -17.17 0.00 10.68 +v -14.87 0.00 14.66 +v -14.87 7.76 14.66 +v -12.57 0.00 15.28 +v -12.57 7.76 15.28 +v -10.27 0.00 14.66 +v -10.27 7.76 14.66 +v -8.58 0.00 12.98 +v -8.58 7.76 12.98 +v -7.97 0.00 10.68 +v -7.97 7.76 10.68 +v -8.58 0.00 8.38 +v -8.58 7.76 8.38 +v -10.27 0.00 6.69 +v -10.27 7.76 6.69 +v -12.57 0.00 6.08 +v -12.57 7.76 6.08 +v -14.87 0.00 6.69 +v -14.87 7.76 6.69 +v -16.55 0.00 8.38 +v -16.55 7.76 8.38 +v -16.78 7.76 13.11 +v -16.78 8.57 13.11 +v -17.43 8.57 10.68 +v -17.43 7.76 10.68 +v -15.00 7.76 14.89 +v -15.00 8.57 14.89 +v -12.57 7.76 15.54 +v -12.57 8.57 15.54 +v -10.13 7.76 14.89 +v -10.13 8.57 14.89 +v -8.35 7.76 13.11 +v -8.35 8.57 13.11 +v -7.70 7.76 10.68 +v -7.70 8.57 10.68 +v -8.35 7.76 8.24 +v -8.35 8.57 8.24 +v -10.13 7.76 6.46 +v -10.13 8.57 6.46 +v -12.57 7.76 5.81 +v -12.57 8.57 5.81 +v -15.00 7.76 6.46 +v -15.00 8.57 6.46 +v -16.78 7.76 8.24 +v -16.78 8.57 8.24 +v -17.17 8.57 10.68 +v -16.55 8.57 12.98 +v -14.87 8.57 14.66 +v -12.57 8.57 15.28 +v -10.27 8.57 14.66 +v -8.58 8.57 12.98 +v -7.97 8.57 10.68 +v -8.58 8.57 8.38 +v -10.27 8.57 6.69 +v -12.57 8.57 6.08 +v -14.87 8.57 6.69 +v -16.55 8.57 8.38 +v -16.55 16.89 12.98 +v -17.17 16.89 10.68 +v -14.87 16.89 14.66 +v -12.57 16.89 15.28 +v -10.27 16.89 14.66 +v -8.58 16.89 12.98 +v -7.97 16.89 10.68 +v -8.58 16.89 8.38 +v -10.27 16.89 6.69 +v -12.57 16.89 6.08 +v -14.87 16.89 6.69 +v -16.55 16.89 8.38 +v -17.13 21.30 13.31 +v -17.47 21.30 13.51 +v -18.23 21.30 10.68 +v -17.83 21.30 10.68 +v -15.20 21.30 15.24 +v -15.40 21.30 15.58 +v -12.57 21.30 15.94 +v -12.57 21.30 16.34 +v -9.93 21.30 15.24 +v -9.73 21.30 15.58 +v -8.01 21.30 13.31 +v -7.66 21.30 13.51 +v -7.30 21.30 10.68 +v -6.90 21.30 10.68 +v -8.01 21.30 8.04 +v -7.66 21.30 7.84 +v -9.93 21.30 6.12 +v -9.73 21.30 5.77 +v -12.57 21.30 5.41 +v -12.57 21.30 5.01 +v -15.20 21.30 6.12 +v -15.40 21.30 5.77 +v -17.13 21.30 8.04 +v -17.47 21.30 7.84 +v -16.17 24.76 12.76 +v -16.72 24.76 10.68 +v -14.64 24.76 14.28 +v -12.57 24.76 14.83 +v -10.49 24.76 14.28 +v -8.97 24.76 12.76 +v -8.41 24.76 10.68 +v -8.97 24.76 8.60 +v -10.49 24.76 7.08 +v -12.57 24.76 6.52 +v -14.64 24.76 7.08 +v -16.17 24.76 8.60 +v -16.13 28.50 12.74 +v -16.69 28.50 10.68 +v -14.63 28.50 14.24 +v -12.57 28.50 14.80 +v -10.51 28.50 14.24 +v -9.00 28.50 12.74 +v -8.45 28.50 10.68 +v -9.00 28.50 8.62 +v -10.51 28.50 7.11 +v -12.57 28.50 6.56 +v -14.63 28.50 7.11 +v -16.13 28.50 8.62 +v -17.13 17.36 13.31 +v -17.83 17.36 10.68 +v -15.20 17.36 15.24 +v -12.57 17.36 15.94 +v -9.93 17.36 15.24 +v -8.01 17.36 13.31 +v -7.30 17.36 10.68 +v -8.01 17.36 8.04 +v -9.93 17.36 6.12 +v -12.57 17.36 5.41 +v -15.20 17.36 6.12 +v -17.13 17.36 8.04 +v -17.91 20.21 10.37 +v -17.91 19.23 10.37 +v -17.91 19.21 10.80 +v -17.91 20.52 10.80 +v -17.81 19.26 10.03 +v -17.81 19.12 10.03 +v -17.91 19.12 10.04 +v -17.91 19.26 10.04 +v -17.89 20.75 10.80 +v -17.84 20.29 10.15 +v -17.94 20.29 10.15 +v -17.98 20.75 10.81 +v -17.68 19.12 11.55 +v -17.68 19.26 11.55 +v -17.78 19.26 11.56 +v -17.78 19.12 11.56 +v -17.89 19.07 10.80 +v -17.73 19.12 11.45 +v -17.82 19.12 11.45 +v -17.98 19.07 10.81 +v -18.05 19.12 10.16 +v -18.08 19.23 10.39 +v -18.05 19.26 10.16 +v -17.98 20.21 10.38 +v -17.98 20.52 10.81 +v -17.93 19.26 11.46 +v -18.01 19.24 11.24 +v -17.93 19.12 11.46 +v -18.09 19.07 10.82 +v -18.09 19.21 10.82 +v -17.83 20.21 11.23 +v -17.83 19.24 11.23 +v -17.73 20.29 11.45 +v -17.82 20.29 11.45 +v -17.84 19.12 10.15 +v -17.94 19.12 10.15 +v -17.90 20.21 11.23 +v -17.98 19.23 10.38 +v -17.90 19.24 11.23 +v -17.98 19.21 10.81 +v -17.82 19.26 11.45 +v -17.73 19.26 11.45 +v -17.84 19.26 10.15 +v -17.94 19.26 10.15 +v -18.02 19.12 10.05 +v -18.02 19.26 10.05 +v -17.88 19.26 11.57 +v -17.88 19.12 11.57 +v -12.87 20.21 16.02 +v -12.87 19.23 16.02 +v -12.44 19.21 16.02 +v -12.44 20.52 16.02 +v -13.21 19.26 15.92 +v -13.21 19.12 15.92 +v -13.20 19.12 16.02 +v -13.20 19.26 16.02 +v -12.44 20.75 16.00 +v -13.10 20.29 15.95 +v -13.09 20.29 16.05 +v -12.43 20.75 16.10 +v -11.69 19.12 15.79 +v -11.69 19.26 15.79 +v -11.68 19.26 15.89 +v -11.68 19.12 15.89 +v -12.44 19.07 16.00 +v -11.80 19.12 15.84 +v -11.79 19.12 15.94 +v -12.43 19.07 16.10 +v -13.08 19.12 16.16 +v -12.85 19.23 16.20 +v -13.08 19.26 16.16 +v -12.86 20.21 16.09 +v -12.43 20.52 16.10 +v -11.78 19.26 16.04 +v -12.00 19.24 16.12 +v -11.78 19.12 16.04 +v -12.42 19.07 16.20 +v -12.42 19.21 16.20 +v -12.01 20.21 15.94 +v -12.01 19.24 15.94 +v -11.80 20.29 15.84 +v -11.79 20.29 15.94 +v -13.10 19.12 15.95 +v -13.09 19.12 16.05 +v -12.01 20.21 16.01 +v -12.86 19.23 16.09 +v -12.01 19.24 16.01 +v -12.43 19.21 16.10 +v -11.79 19.26 15.94 +v -11.80 19.26 15.84 +v -13.10 19.26 15.95 +v -13.09 19.26 16.05 +v -13.19 19.12 16.13 +v -13.19 19.26 16.13 +v -11.67 19.26 16.00 +v -11.67 19.12 16.00 +v -9.24 23.34 12.52 +v -8.56 24.92 12.99 +v -9.10 24.92 13.76 +v -9.78 23.34 13.29 +v -9.53 28.41 12.29 +v -8.63 28.41 12.92 +v -9.18 28.41 13.70 +v -10.08 28.41 13.07 +v -12.87 27.21 14.81 +v -12.87 26.24 14.81 +v -12.44 26.21 14.82 +v -12.44 27.52 14.82 +v -13.21 26.26 14.72 +v -13.21 26.12 14.72 +v -13.20 26.12 14.82 +v -13.20 26.26 14.82 +v -12.44 27.75 14.80 +v -13.10 27.30 14.75 +v -13.09 27.30 14.85 +v -12.43 27.75 14.89 +v -11.69 26.12 14.59 +v -11.69 26.26 14.59 +v -11.68 26.26 14.69 +v -11.68 26.12 14.69 +v -12.44 26.07 14.80 +v -11.80 26.12 14.64 +v -11.79 26.12 14.73 +v -12.43 26.07 14.89 +v -13.08 26.12 14.96 +v -12.85 26.24 14.99 +v -13.08 26.26 14.96 +v -12.86 27.21 14.89 +v -12.43 27.52 14.89 +v -11.78 26.26 14.84 +v -12.00 26.25 14.92 +v -11.78 26.12 14.84 +v -12.42 26.07 15.00 +v -12.42 26.21 15.00 +v -12.01 27.21 14.74 +v -12.01 26.25 14.74 +v -11.80 27.30 14.64 +v -11.79 27.30 14.73 +v -13.10 26.12 14.75 +v -13.09 26.12 14.85 +v -12.01 27.21 14.81 +v -12.86 26.24 14.89 +v -12.01 26.25 14.81 +v -12.43 26.21 14.89 +v -11.79 26.26 14.73 +v -11.80 26.26 14.64 +v -13.10 26.26 14.75 +v -13.09 26.26 14.85 +v -13.19 26.12 14.93 +v -13.19 26.26 14.93 +v -11.67 26.26 14.79 +v -11.67 26.12 14.79 +v -14.41 23.34 14.01 +v -14.88 24.92 14.68 +v -15.65 24.92 14.14 +v -15.18 23.34 13.46 +v -14.18 28.41 13.71 +v -14.81 28.41 14.61 +v -15.59 28.41 14.07 +v -14.96 28.41 13.17 +v -8.43 27.21 10.98 +v -8.43 26.24 10.98 +v -8.42 26.21 10.55 +v -8.42 27.52 10.55 +v -8.52 26.26 11.32 +v -8.52 26.12 11.32 +v -8.42 26.12 11.31 +v -8.42 26.26 11.31 +v -8.45 27.75 10.55 +v -8.49 27.30 11.21 +v -8.39 27.30 11.20 +v -8.35 27.75 10.54 +v -8.65 26.12 9.80 +v -8.65 26.26 9.80 +v -8.56 26.26 9.79 +v -8.56 26.12 9.79 +v -8.45 26.07 10.55 +v -8.61 26.12 9.91 +v -8.51 26.12 9.90 +v -8.35 26.07 10.54 +v -8.29 26.12 11.19 +v -8.25 26.24 10.96 +v -8.29 26.26 11.19 +v -8.35 27.21 10.97 +v -8.35 27.52 10.54 +v -8.40 26.26 9.89 +v -8.32 26.25 10.11 +v -8.40 26.12 9.89 +v -8.24 26.07 10.53 +v -8.24 26.21 10.53 +v -8.50 27.21 10.13 +v -8.50 26.25 10.13 +v -8.61 27.30 9.91 +v -8.51 27.30 9.90 +v -8.49 26.12 11.21 +v -8.39 26.12 11.20 +v -8.43 27.21 10.12 +v -8.35 26.24 10.97 +v -8.43 26.25 10.12 +v -8.35 26.21 10.54 +v -8.51 26.26 9.90 +v -8.61 26.26 9.91 +v -8.49 26.26 11.21 +v -8.39 26.26 11.20 +v -8.32 26.12 11.30 +v -8.32 26.26 11.30 +v -8.45 26.26 9.78 +v -8.45 26.12 9.78 +v -13.04 12.70 6.81 +v -13.04 14.28 5.99 +v -12.09 14.28 5.99 +v -12.09 12.70 6.81 +v -13.04 17.34 6.74 +v -13.04 17.34 5.64 +v -12.09 17.34 5.64 +v -12.09 17.34 6.74 +v -8.98 12.70 12.20 +v -8.27 14.28 12.61 +v -8.74 14.28 13.43 +v -9.46 12.70 13.02 +v -8.92 17.34 12.24 +v -7.97 17.34 12.79 +v -8.44 17.34 13.61 +v -9.39 17.34 13.06 +v -12.09 12.70 14.54 +v -12.09 14.28 15.36 +v -13.04 14.28 15.36 +v -13.04 12.70 14.54 +v -12.09 17.34 14.62 +v -12.09 17.34 15.71 +v -13.04 17.34 15.71 +v -13.04 17.34 14.62 +v -10.73 23.34 7.35 +v -10.25 24.92 6.67 +v -9.48 24.92 7.22 +v -9.95 23.34 7.89 +v -10.95 28.41 7.65 +v -10.32 28.41 6.74 +v -9.55 28.41 7.29 +v -10.18 28.41 8.19 +v -9.46 12.70 8.34 +v -8.74 14.28 7.92 +v -8.27 14.28 8.74 +v -8.98 12.70 9.15 +v -9.39 17.34 8.30 +v -8.44 17.34 7.75 +v -7.97 17.34 8.57 +v -8.92 17.34 9.12 +v -7.23 20.21 10.98 +v -7.23 19.23 10.98 +v -7.22 19.21 10.55 +v -7.22 20.52 10.55 +v -7.32 19.26 11.32 +v -7.32 19.12 11.32 +v -7.22 19.12 11.31 +v -7.22 19.26 11.31 +v -7.24 20.75 10.55 +v -7.29 20.29 11.21 +v -7.19 20.29 11.20 +v -7.15 20.75 10.54 +v -7.45 19.12 9.80 +v -7.45 19.26 9.80 +v -7.35 19.26 9.79 +v -7.35 19.12 9.79 +v -7.24 19.07 10.55 +v -7.41 19.12 9.91 +v -7.31 19.12 9.90 +v -7.15 19.07 10.54 +v -7.09 19.12 11.19 +v -7.05 19.23 10.96 +v -7.09 19.26 11.19 +v -7.15 20.21 10.97 +v -7.15 20.52 10.54 +v -7.20 19.26 9.89 +v -7.12 19.24 10.11 +v -7.20 19.12 9.89 +v -7.04 19.07 10.53 +v -7.04 19.21 10.53 +v -7.30 20.21 10.13 +v -7.30 19.24 10.13 +v -7.41 20.29 9.91 +v -7.31 20.29 9.90 +v -7.29 19.12 11.21 +v -7.19 19.12 11.20 +v -7.23 20.21 10.12 +v -7.15 19.23 10.97 +v -7.23 19.24 10.12 +v -7.15 19.21 10.54 +v -7.31 19.26 9.90 +v -7.41 19.26 9.91 +v -7.29 19.26 11.21 +v -7.19 19.26 11.20 +v -7.11 19.12 11.30 +v -7.11 19.26 11.30 +v -7.25 19.26 9.78 +v -7.25 19.12 9.78 +v -12.26 27.21 6.54 +v -12.26 26.24 6.54 +v -12.69 26.21 6.53 +v -12.69 27.52 6.53 +v -11.92 26.26 6.63 +v -11.92 26.12 6.63 +v -11.93 26.12 6.53 +v -11.93 26.26 6.53 +v -12.69 27.75 6.56 +v -12.03 27.30 6.60 +v -12.04 27.30 6.51 +v -12.70 27.75 6.46 +v -13.44 26.12 6.76 +v -13.44 26.26 6.76 +v -13.45 26.26 6.67 +v -13.45 26.12 6.67 +v -12.69 26.07 6.56 +v -13.34 26.12 6.72 +v -13.34 26.12 6.62 +v -12.70 26.07 6.46 +v -12.05 26.12 6.40 +v -12.28 26.24 6.36 +v -12.05 26.26 6.40 +v -12.27 27.21 6.47 +v -12.70 27.52 6.46 +v -13.35 26.26 6.51 +v -13.13 26.25 6.43 +v -13.35 26.12 6.51 +v -12.71 26.07 6.35 +v -12.71 26.21 6.35 +v -13.12 27.21 6.61 +v -13.12 26.25 6.61 +v -13.34 27.30 6.72 +v -13.34 27.30 6.62 +v -12.03 26.12 6.60 +v -12.04 26.12 6.51 +v -13.12 27.21 6.54 +v -12.27 26.24 6.47 +v -13.12 26.25 6.54 +v -12.70 26.21 6.46 +v -13.34 26.26 6.62 +v -13.34 26.26 6.72 +v -12.03 26.26 6.60 +v -12.04 26.26 6.51 +v -11.94 26.12 6.43 +v -11.94 26.26 6.43 +v -13.46 26.26 6.56 +v -13.46 26.12 6.56 +v -16.15 12.70 9.15 +v -16.86 14.28 8.74 +v -16.39 14.28 7.92 +v -15.67 12.70 8.34 +v -16.21 17.34 9.12 +v -17.17 17.34 8.57 +v -16.69 17.34 7.75 +v -15.74 17.34 8.30 +v -12.26 20.21 5.34 +v -12.26 19.23 5.34 +v -12.69 19.21 5.33 +v -12.69 20.52 5.33 +v -11.92 19.26 5.43 +v -11.92 19.12 5.43 +v -11.93 19.12 5.33 +v -11.93 19.26 5.33 +v -12.69 20.75 5.36 +v -12.03 20.29 5.40 +v -12.04 20.29 5.30 +v -12.70 20.75 5.26 +v -13.44 19.12 5.56 +v -13.44 19.26 5.56 +v -13.45 19.26 5.47 +v -13.45 19.12 5.47 +v -12.69 19.07 5.36 +v -13.34 19.12 5.52 +v -13.34 19.12 5.42 +v -12.70 19.07 5.26 +v -12.05 19.12 5.20 +v -12.28 19.23 5.16 +v -12.05 19.26 5.20 +v -12.27 20.21 5.26 +v -12.70 20.52 5.26 +v -13.35 19.26 5.31 +v -13.13 19.24 5.23 +v -13.35 19.12 5.31 +v -12.71 19.07 5.15 +v -12.71 19.21 5.15 +v -13.12 20.21 5.41 +v -13.12 19.24 5.41 +v -13.34 20.29 5.52 +v -13.34 20.29 5.42 +v -12.03 19.12 5.40 +v -12.04 19.12 5.30 +v -13.12 20.21 5.34 +v -12.27 19.23 5.26 +v -13.12 19.24 5.34 +v -12.70 19.21 5.26 +v -13.34 19.26 5.42 +v -13.34 19.26 5.52 +v -12.03 19.26 5.40 +v -12.04 19.26 5.30 +v -11.94 19.12 5.23 +v -11.94 19.26 5.23 +v -13.46 19.26 5.36 +v -13.46 19.12 5.36 +v -15.89 23.34 8.84 +v -16.57 24.92 8.36 +v -16.03 24.92 7.59 +v -15.35 23.34 8.06 +v -15.60 28.41 9.06 +v -16.50 28.41 8.43 +v -15.96 28.41 7.66 +v -15.06 28.41 8.29 +v -16.70 27.21 10.37 +v -16.70 26.24 10.37 +v -16.71 26.21 10.80 +v -16.71 27.52 10.80 +v -16.61 26.26 10.03 +v -16.61 26.12 10.03 +v -16.71 26.12 10.04 +v -16.71 26.26 10.04 +v -16.69 27.75 10.80 +v -16.64 27.30 10.15 +v -16.74 27.30 10.15 +v -16.78 27.75 10.81 +v -16.48 26.12 11.55 +v -16.48 26.26 11.55 +v -16.58 26.26 11.56 +v -16.58 26.12 11.56 +v -16.69 26.07 10.80 +v -16.53 26.12 11.45 +v -16.62 26.12 11.45 +v -16.78 26.07 10.81 +v -16.84 26.12 10.16 +v -16.88 26.24 10.39 +v -16.84 26.26 10.16 +v -16.78 27.21 10.38 +v -16.78 27.52 10.81 +v -16.73 26.26 11.46 +v -16.81 26.25 11.24 +v -16.73 26.12 11.46 +v -16.89 26.07 10.82 +v -16.89 26.21 10.82 +v -16.63 27.21 11.23 +v -16.63 26.25 11.23 +v -16.53 27.30 11.45 +v -16.62 27.30 11.45 +v -16.64 26.12 10.15 +v -16.74 26.12 10.15 +v -16.70 27.21 11.23 +v -16.78 26.24 10.38 +v -16.70 26.25 11.23 +v -16.78 26.21 10.81 +v -16.62 26.26 11.45 +v -16.53 26.26 11.45 +v -16.64 26.26 10.15 +v -16.74 26.26 10.15 +v -16.82 26.12 10.05 +v -16.82 26.26 10.05 +v -16.68 26.26 11.57 +v -16.68 26.12 11.57 +v -15.67 12.70 13.02 +v -16.39 14.28 13.43 +v -16.86 14.28 12.61 +v -16.15 12.70 12.20 +v -15.74 17.34 13.06 +v -16.69 17.34 13.61 +v -17.17 17.34 12.79 +v -16.21 17.34 12.24 +v -16.83 28.50 13.14 +v -16.83 30.29 13.14 +v -17.49 30.29 10.68 +v -17.49 28.50 10.68 +v -15.03 28.50 14.94 +v -15.03 30.29 14.94 +v -12.57 28.50 15.60 +v -12.57 30.29 15.60 +v -10.10 28.50 14.94 +v -10.10 30.29 14.94 +v -8.30 28.50 13.14 +v -8.30 30.29 13.14 +v -7.64 28.50 10.68 +v -7.64 30.29 10.68 +v -8.30 28.50 8.21 +v -8.30 30.29 8.21 +v -10.10 28.50 6.41 +v -10.10 30.29 6.41 +v -12.57 28.50 5.75 +v -12.57 30.29 5.75 +v -15.03 28.50 6.41 +v -15.03 30.29 6.41 +v -16.83 28.50 8.21 +v -16.83 30.29 8.21 +v -16.21 30.29 12.78 +v -16.78 30.29 10.68 +v -15.03 30.90 14.94 +v -14.67 30.90 14.32 +v -16.21 30.90 12.78 +v -16.83 30.90 13.14 +v -12.57 30.29 14.89 +v -14.67 30.29 14.32 +v -10.10 30.90 14.94 +v -10.46 30.90 14.32 +v -12.57 30.90 14.89 +v -12.57 30.90 15.60 +v -8.92 30.29 12.78 +v -10.46 30.29 14.32 +v -7.64 30.90 10.68 +v -8.36 30.90 10.68 +v -8.92 30.90 12.78 +v -8.30 30.90 13.14 +v -8.92 30.29 8.57 +v -8.36 30.29 10.68 +v -10.10 30.90 6.41 +v -10.46 30.90 7.03 +v -8.92 30.90 8.57 +v -8.30 30.90 8.21 +v -12.57 30.29 6.47 +v -10.46 30.29 7.03 +v -15.03 30.90 6.41 +v -14.67 30.90 7.03 +v -12.57 30.90 6.47 +v -12.57 30.90 5.75 +v -16.21 30.29 8.57 +v -14.67 30.29 7.03 +v -17.49 30.90 10.68 +v -16.78 30.90 10.68 +v -16.21 30.90 8.57 +v -16.83 30.90 8.21 +v -16.21 29.42 12.78 +v -16.78 29.42 10.68 +v -14.67 29.42 14.32 +v -12.57 29.42 14.89 +v -10.46 29.42 14.32 +v -8.92 29.42 12.78 +v -8.36 29.42 10.68 +v -8.92 29.42 8.57 +v -10.46 29.42 7.03 +v -12.57 29.42 6.47 +v -14.67 29.42 7.03 +v -16.21 29.42 8.57 +v -12.57 29.42 10.68 +v 17.17 7.76 10.68 +v 16.55 7.76 12.98 +v 16.55 0.00 12.98 +v 17.17 0.00 10.68 +v 14.87 7.76 14.66 +v 14.87 0.00 14.66 +v 12.57 7.76 15.28 +v 12.57 0.00 15.28 +v 10.27 7.76 14.66 +v 10.27 0.00 14.66 +v 8.58 7.76 12.98 +v 8.58 0.00 12.98 +v 7.97 7.76 10.68 +v 7.97 0.00 10.68 +v 8.58 7.76 8.38 +v 8.58 0.00 8.38 +v 10.27 7.76 6.69 +v 10.27 0.00 6.69 +v 12.57 7.76 6.08 +v 12.57 0.00 6.08 +v 14.87 7.76 6.69 +v 14.87 0.00 6.69 +v 16.55 7.76 8.38 +v 16.55 0.00 8.38 +v 16.78 7.76 13.11 +v 17.43 7.76 10.68 +v 17.43 8.57 10.68 +v 16.78 8.57 13.11 +v 15.00 7.76 14.89 +v 15.00 8.57 14.89 +v 12.57 7.76 15.54 +v 12.57 8.57 15.54 +v 10.13 7.76 14.89 +v 10.13 8.57 14.89 +v 8.35 7.76 13.11 +v 8.35 8.57 13.11 +v 7.70 7.76 10.68 +v 7.70 8.57 10.68 +v 8.35 7.76 8.24 +v 8.35 8.57 8.24 +v 10.13 7.76 6.46 +v 10.13 8.57 6.46 +v 12.57 7.76 5.81 +v 12.57 8.57 5.81 +v 15.00 7.76 6.46 +v 15.00 8.57 6.46 +v 16.78 7.76 8.24 +v 16.78 8.57 8.24 +v 17.17 8.57 10.68 +v 16.55 8.57 12.98 +v 14.87 8.57 14.66 +v 12.57 8.57 15.28 +v 10.27 8.57 14.66 +v 8.58 8.57 12.98 +v 7.97 8.57 10.68 +v 8.58 8.57 8.38 +v 10.27 8.57 6.69 +v 12.57 8.57 6.08 +v 14.87 8.57 6.69 +v 16.55 8.57 8.38 +v 17.17 16.89 10.68 +v 16.55 16.89 12.98 +v 14.87 16.89 14.66 +v 12.57 16.89 15.28 +v 10.27 16.89 14.66 +v 8.58 16.89 12.98 +v 7.97 16.89 10.68 +v 8.58 16.89 8.38 +v 10.27 16.89 6.69 +v 12.57 16.89 6.08 +v 14.87 16.89 6.69 +v 16.55 16.89 8.38 +v 17.13 21.30 13.31 +v 17.83 21.30 10.68 +v 18.23 21.30 10.68 +v 17.47 21.30 13.51 +v 15.20 21.30 15.24 +v 15.40 21.30 15.58 +v 12.57 21.30 15.94 +v 12.57 21.30 16.34 +v 9.93 21.30 15.24 +v 9.73 21.30 15.58 +v 8.01 21.30 13.31 +v 7.66 21.30 13.51 +v 7.30 21.30 10.68 +v 6.90 21.30 10.68 +v 8.01 21.30 8.04 +v 7.66 21.30 7.84 +v 9.93 21.30 6.12 +v 9.73 21.30 5.77 +v 12.57 21.30 5.41 +v 12.57 21.30 5.01 +v 15.20 21.30 6.12 +v 15.40 21.30 5.77 +v 17.13 21.30 8.04 +v 17.47 21.30 7.84 +v 16.72 24.76 10.68 +v 16.17 24.76 12.76 +v 14.64 24.76 14.28 +v 12.57 24.76 14.83 +v 10.49 24.76 14.28 +v 8.97 24.76 12.76 +v 8.41 24.76 10.68 +v 8.97 24.76 8.60 +v 10.49 24.76 7.08 +v 12.57 24.76 6.52 +v 14.64 24.76 7.08 +v 16.17 24.76 8.60 +v 16.69 28.50 10.68 +v 16.13 28.50 12.74 +v 14.63 28.50 14.24 +v 12.57 28.50 14.80 +v 10.51 28.50 14.24 +v 9.00 28.50 12.74 +v 8.45 28.50 10.68 +v 9.00 28.50 8.62 +v 10.51 28.50 7.11 +v 12.57 28.50 6.56 +v 14.63 28.50 7.11 +v 16.13 28.50 8.62 +v 17.83 17.36 10.68 +v 17.13 17.36 13.31 +v 15.20 17.36 15.24 +v 12.57 17.36 15.94 +v 9.93 17.36 15.24 +v 8.01 17.36 13.31 +v 7.30 17.36 10.68 +v 8.01 17.36 8.04 +v 9.93 17.36 6.12 +v 12.57 17.36 5.41 +v 15.20 17.36 6.12 +v 17.13 17.36 8.04 +v 17.91 20.21 10.37 +v 17.91 20.52 10.80 +v 17.91 19.21 10.80 +v 17.91 19.23 10.37 +v 17.81 19.26 10.03 +v 17.91 19.26 10.04 +v 17.91 19.12 10.04 +v 17.81 19.12 10.03 +v 17.89 20.75 10.80 +v 17.98 20.75 10.81 +v 17.94 20.29 10.15 +v 17.84 20.29 10.15 +v 17.68 19.12 11.55 +v 17.78 19.12 11.56 +v 17.78 19.26 11.56 +v 17.68 19.26 11.55 +v 17.89 19.07 10.80 +v 17.98 19.07 10.81 +v 17.82 19.12 11.45 +v 17.73 19.12 11.45 +v 18.05 19.12 10.16 +v 18.05 19.26 10.16 +v 18.08 19.23 10.39 +v 17.98 20.52 10.81 +v 17.98 20.21 10.38 +v 17.93 19.26 11.46 +v 17.93 19.12 11.46 +v 18.01 19.24 11.24 +v 18.09 19.07 10.82 +v 18.09 19.21 10.82 +v 17.83 20.21 11.23 +v 17.83 19.24 11.23 +v 17.73 20.29 11.45 +v 17.82 20.29 11.45 +v 17.84 19.12 10.15 +v 17.94 19.12 10.15 +v 17.90 20.21 11.23 +v 17.98 19.23 10.38 +v 17.90 19.24 11.23 +v 17.98 19.21 10.81 +v 17.82 19.26 11.45 +v 17.73 19.26 11.45 +v 17.94 19.26 10.15 +v 17.84 19.26 10.15 +v 18.02 19.26 10.05 +v 18.02 19.12 10.05 +v 17.88 19.12 11.57 +v 17.88 19.26 11.57 +v 12.87 20.21 16.02 +v 12.44 20.52 16.02 +v 12.44 19.21 16.02 +v 12.87 19.23 16.02 +v 13.21 19.26 15.92 +v 13.20 19.26 16.02 +v 13.20 19.12 16.02 +v 13.21 19.12 15.92 +v 12.44 20.75 16.00 +v 12.43 20.75 16.10 +v 13.09 20.29 16.05 +v 13.10 20.29 15.95 +v 11.69 19.12 15.79 +v 11.68 19.12 15.89 +v 11.68 19.26 15.89 +v 11.69 19.26 15.79 +v 12.44 19.07 16.00 +v 12.43 19.07 16.10 +v 11.79 19.12 15.94 +v 11.80 19.12 15.84 +v 13.08 19.12 16.16 +v 13.08 19.26 16.16 +v 12.85 19.23 16.20 +v 12.43 20.52 16.10 +v 12.86 20.21 16.09 +v 11.78 19.26 16.04 +v 11.78 19.12 16.04 +v 12.00 19.24 16.12 +v 12.42 19.07 16.20 +v 12.42 19.21 16.20 +v 12.01 20.21 15.94 +v 12.01 19.24 15.94 +v 11.80 20.29 15.84 +v 11.79 20.29 15.94 +v 13.10 19.12 15.95 +v 13.09 19.12 16.05 +v 12.01 20.21 16.01 +v 12.86 19.23 16.09 +v 12.01 19.24 16.01 +v 12.43 19.21 16.10 +v 11.79 19.26 15.94 +v 11.80 19.26 15.84 +v 13.09 19.26 16.05 +v 13.10 19.26 15.95 +v 13.19 19.26 16.13 +v 13.19 19.12 16.13 +v 11.67 19.12 16.00 +v 11.67 19.26 16.00 +v 9.24 23.34 12.52 +v 9.78 23.34 13.29 +v 9.10 24.92 13.76 +v 8.56 24.92 12.99 +v 8.63 28.41 12.92 +v 9.53 28.41 12.29 +v 9.18 28.41 13.70 +v 10.08 28.41 13.07 +v 12.87 27.21 14.81 +v 12.44 27.52 14.82 +v 12.44 26.21 14.82 +v 12.87 26.24 14.81 +v 13.21 26.26 14.72 +v 13.20 26.26 14.82 +v 13.20 26.12 14.82 +v 13.21 26.12 14.72 +v 12.44 27.75 14.80 +v 12.43 27.75 14.89 +v 13.09 27.30 14.85 +v 13.10 27.30 14.75 +v 11.69 26.12 14.59 +v 11.68 26.12 14.69 +v 11.68 26.26 14.69 +v 11.69 26.26 14.59 +v 12.44 26.07 14.80 +v 12.43 26.07 14.89 +v 11.79 26.12 14.73 +v 11.80 26.12 14.64 +v 13.08 26.12 14.96 +v 13.08 26.26 14.96 +v 12.85 26.24 14.99 +v 12.43 27.52 14.89 +v 12.86 27.21 14.89 +v 11.78 26.26 14.84 +v 11.78 26.12 14.84 +v 12.00 26.25 14.92 +v 12.42 26.07 15.00 +v 12.42 26.21 15.00 +v 12.01 27.21 14.74 +v 12.01 26.25 14.74 +v 11.80 27.30 14.64 +v 11.79 27.30 14.73 +v 13.10 26.12 14.75 +v 13.09 26.12 14.85 +v 12.01 27.21 14.81 +v 12.86 26.24 14.89 +v 12.01 26.25 14.81 +v 12.43 26.21 14.89 +v 11.79 26.26 14.73 +v 11.80 26.26 14.64 +v 13.09 26.26 14.85 +v 13.10 26.26 14.75 +v 13.19 26.26 14.93 +v 13.19 26.12 14.93 +v 11.67 26.12 14.79 +v 11.67 26.26 14.79 +v 14.41 23.34 14.01 +v 15.18 23.34 13.46 +v 15.65 24.92 14.14 +v 14.88 24.92 14.68 +v 14.81 28.41 14.61 +v 14.18 28.41 13.71 +v 15.59 28.41 14.07 +v 14.96 28.41 13.17 +v 8.43 27.21 10.98 +v 8.42 27.52 10.55 +v 8.42 26.21 10.55 +v 8.43 26.24 10.98 +v 8.52 26.26 11.32 +v 8.42 26.26 11.31 +v 8.42 26.12 11.31 +v 8.52 26.12 11.32 +v 8.45 27.75 10.55 +v 8.35 27.75 10.54 +v 8.39 27.30 11.20 +v 8.49 27.30 11.21 +v 8.65 26.12 9.80 +v 8.56 26.12 9.79 +v 8.56 26.26 9.79 +v 8.65 26.26 9.80 +v 8.45 26.07 10.55 +v 8.35 26.07 10.54 +v 8.51 26.12 9.90 +v 8.61 26.12 9.91 +v 8.29 26.12 11.19 +v 8.29 26.26 11.19 +v 8.25 26.24 10.96 +v 8.35 27.52 10.54 +v 8.35 27.21 10.97 +v 8.40 26.26 9.89 +v 8.40 26.12 9.89 +v 8.32 26.25 10.11 +v 8.24 26.07 10.53 +v 8.24 26.21 10.53 +v 8.50 27.21 10.13 +v 8.50 26.25 10.13 +v 8.61 27.30 9.91 +v 8.51 27.30 9.90 +v 8.49 26.12 11.21 +v 8.39 26.12 11.20 +v 8.43 27.21 10.12 +v 8.35 26.24 10.97 +v 8.43 26.25 10.12 +v 8.35 26.21 10.54 +v 8.51 26.26 9.90 +v 8.61 26.26 9.91 +v 8.39 26.26 11.20 +v 8.49 26.26 11.21 +v 8.32 26.26 11.30 +v 8.32 26.12 11.30 +v 8.45 26.12 9.78 +v 8.45 26.26 9.78 +v 13.04 12.70 6.81 +v 12.09 12.70 6.81 +v 12.09 14.28 5.99 +v 13.04 14.28 5.99 +v 13.04 17.34 5.64 +v 13.04 17.34 6.74 +v 12.09 17.34 5.64 +v 12.09 17.34 6.74 +v 8.98 12.70 12.20 +v 9.46 12.70 13.02 +v 8.74 14.28 13.43 +v 8.27 14.28 12.61 +v 7.97 17.34 12.79 +v 8.92 17.34 12.24 +v 8.44 17.34 13.61 +v 9.39 17.34 13.06 +v 12.09 12.70 14.54 +v 13.04 12.70 14.54 +v 13.04 14.28 15.36 +v 12.09 14.28 15.36 +v 12.09 17.34 15.71 +v 12.09 17.34 14.62 +v 13.04 17.34 15.71 +v 13.04 17.34 14.62 +v 10.73 23.34 7.35 +v 9.95 23.34 7.89 +v 9.48 24.92 7.22 +v 10.25 24.92 6.67 +v 10.32 28.41 6.74 +v 10.95 28.41 7.65 +v 9.55 28.41 7.29 +v 10.18 28.41 8.19 +v 9.46 12.70 8.34 +v 8.98 12.70 9.15 +v 8.27 14.28 8.74 +v 8.74 14.28 7.92 +v 8.44 17.34 7.75 +v 9.39 17.34 8.30 +v 7.97 17.34 8.57 +v 8.92 17.34 9.12 +v 7.23 20.21 10.98 +v 7.22 20.52 10.55 +v 7.22 19.21 10.55 +v 7.23 19.23 10.98 +v 7.32 19.26 11.32 +v 7.22 19.26 11.31 +v 7.22 19.12 11.31 +v 7.32 19.12 11.32 +v 7.24 20.75 10.55 +v 7.15 20.75 10.54 +v 7.19 20.29 11.20 +v 7.29 20.29 11.21 +v 7.45 19.12 9.80 +v 7.35 19.12 9.79 +v 7.35 19.26 9.79 +v 7.45 19.26 9.80 +v 7.24 19.07 10.55 +v 7.15 19.07 10.54 +v 7.31 19.12 9.90 +v 7.41 19.12 9.91 +v 7.09 19.12 11.19 +v 7.09 19.26 11.19 +v 7.05 19.23 10.96 +v 7.15 20.52 10.54 +v 7.15 20.21 10.97 +v 7.20 19.26 9.89 +v 7.20 19.12 9.89 +v 7.12 19.24 10.11 +v 7.04 19.07 10.53 +v 7.04 19.21 10.53 +v 7.30 20.21 10.13 +v 7.30 19.24 10.13 +v 7.41 20.29 9.91 +v 7.31 20.29 9.90 +v 7.29 19.12 11.21 +v 7.19 19.12 11.20 +v 7.23 20.21 10.12 +v 7.15 19.23 10.97 +v 7.23 19.24 10.12 +v 7.15 19.21 10.54 +v 7.31 19.26 9.90 +v 7.41 19.26 9.91 +v 7.19 19.26 11.20 +v 7.29 19.26 11.21 +v 7.11 19.26 11.30 +v 7.11 19.12 11.30 +v 7.25 19.12 9.78 +v 7.25 19.26 9.78 +v 12.26 27.21 6.54 +v 12.69 27.52 6.53 +v 12.69 26.21 6.53 +v 12.26 26.24 6.54 +v 11.92 26.26 6.63 +v 11.93 26.26 6.53 +v 11.93 26.12 6.53 +v 11.92 26.12 6.63 +v 12.69 27.75 6.56 +v 12.70 27.75 6.46 +v 12.04 27.30 6.51 +v 12.03 27.30 6.60 +v 13.44 26.12 6.76 +v 13.45 26.12 6.67 +v 13.45 26.26 6.67 +v 13.44 26.26 6.76 +v 12.69 26.07 6.56 +v 12.70 26.07 6.46 +v 13.34 26.12 6.62 +v 13.34 26.12 6.72 +v 12.05 26.12 6.40 +v 12.05 26.26 6.40 +v 12.28 26.24 6.36 +v 12.70 27.52 6.46 +v 12.27 27.21 6.47 +v 13.35 26.26 6.51 +v 13.35 26.12 6.51 +v 13.13 26.25 6.43 +v 12.71 26.07 6.35 +v 12.71 26.21 6.35 +v 13.12 27.21 6.61 +v 13.12 26.25 6.61 +v 13.34 27.30 6.72 +v 13.34 27.30 6.62 +v 12.03 26.12 6.60 +v 12.04 26.12 6.51 +v 13.12 27.21 6.54 +v 12.27 26.24 6.47 +v 13.12 26.25 6.54 +v 12.70 26.21 6.46 +v 13.34 26.26 6.62 +v 13.34 26.26 6.72 +v 12.04 26.26 6.51 +v 12.03 26.26 6.60 +v 11.94 26.26 6.43 +v 11.94 26.12 6.43 +v 13.46 26.12 6.56 +v 13.46 26.26 6.56 +v 16.15 12.70 9.15 +v 15.67 12.70 8.34 +v 16.39 14.28 7.92 +v 16.86 14.28 8.74 +v 17.17 17.34 8.57 +v 16.21 17.34 9.12 +v 16.69 17.34 7.75 +v 15.74 17.34 8.30 +v 12.26 20.21 5.34 +v 12.69 20.52 5.33 +v 12.69 19.21 5.33 +v 12.26 19.23 5.34 +v 11.92 19.26 5.43 +v 11.93 19.26 5.33 +v 11.93 19.12 5.33 +v 11.92 19.12 5.43 +v 12.69 20.75 5.36 +v 12.70 20.75 5.26 +v 12.04 20.29 5.30 +v 12.03 20.29 5.40 +v 13.44 19.12 5.56 +v 13.45 19.12 5.47 +v 13.45 19.26 5.47 +v 13.44 19.26 5.56 +v 12.69 19.07 5.36 +v 12.70 19.07 5.26 +v 13.34 19.12 5.42 +v 13.34 19.12 5.52 +v 12.05 19.12 5.20 +v 12.05 19.26 5.20 +v 12.28 19.23 5.16 +v 12.70 20.52 5.26 +v 12.27 20.21 5.26 +v 13.35 19.26 5.31 +v 13.35 19.12 5.31 +v 13.13 19.24 5.23 +v 12.71 19.07 5.15 +v 12.71 19.21 5.15 +v 13.12 20.21 5.41 +v 13.12 19.24 5.41 +v 13.34 20.29 5.52 +v 13.34 20.29 5.42 +v 12.03 19.12 5.40 +v 12.04 19.12 5.30 +v 13.12 20.21 5.34 +v 12.27 19.23 5.26 +v 13.12 19.24 5.34 +v 12.70 19.21 5.26 +v 13.34 19.26 5.42 +v 13.34 19.26 5.52 +v 12.04 19.26 5.30 +v 12.03 19.26 5.40 +v 11.94 19.26 5.23 +v 11.94 19.12 5.23 +v 13.46 19.12 5.36 +v 13.46 19.26 5.36 +v 15.89 23.34 8.84 +v 15.35 23.34 8.06 +v 16.03 24.92 7.59 +v 16.57 24.92 8.36 +v 16.50 28.41 8.43 +v 15.60 28.41 9.06 +v 15.96 28.41 7.66 +v 15.06 28.41 8.29 +v 16.70 27.21 10.37 +v 16.71 27.52 10.80 +v 16.71 26.21 10.80 +v 16.70 26.24 10.37 +v 16.61 26.26 10.03 +v 16.71 26.26 10.04 +v 16.71 26.12 10.04 +v 16.61 26.12 10.03 +v 16.69 27.75 10.80 +v 16.78 27.75 10.81 +v 16.74 27.30 10.15 +v 16.64 27.30 10.15 +v 16.48 26.12 11.55 +v 16.58 26.12 11.56 +v 16.58 26.26 11.56 +v 16.48 26.26 11.55 +v 16.69 26.07 10.80 +v 16.78 26.07 10.81 +v 16.62 26.12 11.45 +v 16.53 26.12 11.45 +v 16.84 26.12 10.16 +v 16.84 26.26 10.16 +v 16.88 26.24 10.39 +v 16.78 27.52 10.81 +v 16.78 27.21 10.38 +v 16.73 26.26 11.46 +v 16.73 26.12 11.46 +v 16.81 26.25 11.24 +v 16.89 26.07 10.82 +v 16.89 26.21 10.82 +v 16.63 27.21 11.23 +v 16.63 26.25 11.23 +v 16.53 27.30 11.45 +v 16.62 27.30 11.45 +v 16.64 26.12 10.15 +v 16.74 26.12 10.15 +v 16.70 27.21 11.23 +v 16.78 26.24 10.38 +v 16.70 26.25 11.23 +v 16.78 26.21 10.81 +v 16.62 26.26 11.45 +v 16.53 26.26 11.45 +v 16.74 26.26 10.15 +v 16.64 26.26 10.15 +v 16.82 26.26 10.05 +v 16.82 26.12 10.05 +v 16.68 26.12 11.57 +v 16.68 26.26 11.57 +v 15.67 12.70 13.02 +v 16.15 12.70 12.20 +v 16.86 14.28 12.61 +v 16.39 14.28 13.43 +v 16.69 17.34 13.61 +v 15.74 17.34 13.06 +v 17.17 17.34 12.79 +v 16.21 17.34 12.24 +v 16.83 28.50 13.14 +v 17.49 28.50 10.68 +v 17.49 30.29 10.68 +v 16.83 30.29 13.14 +v 15.03 28.50 14.94 +v 15.03 30.29 14.94 +v 12.57 28.50 15.60 +v 12.57 30.29 15.60 +v 10.10 28.50 14.94 +v 10.10 30.29 14.94 +v 8.30 28.50 13.14 +v 8.30 30.29 13.14 +v 7.64 28.50 10.68 +v 7.64 30.29 10.68 +v 8.30 28.50 8.21 +v 8.30 30.29 8.21 +v 10.10 28.50 6.41 +v 10.10 30.29 6.41 +v 12.57 28.50 5.75 +v 12.57 30.29 5.75 +v 15.03 28.50 6.41 +v 15.03 30.29 6.41 +v 16.83 28.50 8.21 +v 16.83 30.29 8.21 +v 16.78 30.29 10.68 +v 16.21 30.29 12.78 +v 15.03 30.90 14.94 +v 16.83 30.90 13.14 +v 16.21 30.90 12.78 +v 14.67 30.90 14.32 +v 14.67 30.29 14.32 +v 12.57 30.29 14.89 +v 10.10 30.90 14.94 +v 12.57 30.90 15.60 +v 12.57 30.90 14.89 +v 10.46 30.90 14.32 +v 10.46 30.29 14.32 +v 8.92 30.29 12.78 +v 7.64 30.90 10.68 +v 8.30 30.90 13.14 +v 8.92 30.90 12.78 +v 8.36 30.90 10.68 +v 8.36 30.29 10.68 +v 8.92 30.29 8.57 +v 10.10 30.90 6.41 +v 8.30 30.90 8.21 +v 8.92 30.90 8.57 +v 10.46 30.90 7.03 +v 10.46 30.29 7.03 +v 12.57 30.29 6.47 +v 15.03 30.90 6.41 +v 12.57 30.90 5.75 +v 12.57 30.90 6.47 +v 14.67 30.90 7.03 +v 14.67 30.29 7.03 +v 16.21 30.29 8.57 +v 17.49 30.90 10.68 +v 16.83 30.90 8.21 +v 16.21 30.90 8.57 +v 16.78 30.90 10.68 +v 16.78 29.42 10.68 +v 16.21 29.42 12.78 +v 14.67 29.42 14.32 +v 12.57 29.42 14.89 +v 10.46 29.42 14.32 +v 8.92 29.42 12.78 +v 8.36 29.42 10.68 +v 8.92 29.42 8.57 +v 10.46 29.42 7.03 +v 12.57 29.42 6.47 +v 14.67 29.42 7.03 +v 16.21 29.42 8.57 +v 12.57 29.42 10.68 +v 16.55 0.00 -12.98 +v 16.55 7.76 -12.98 +v 17.17 7.76 -10.68 +v 17.17 0.00 -10.68 +v 14.87 0.00 -14.66 +v 14.87 7.76 -14.66 +v 12.57 0.00 -15.28 +v 12.57 7.76 -15.28 +v 10.27 0.00 -14.66 +v 10.27 7.76 -14.66 +v 8.58 0.00 -12.98 +v 8.58 7.76 -12.98 +v 7.97 0.00 -10.68 +v 7.97 7.76 -10.68 +v 8.58 0.00 -8.38 +v 8.58 7.76 -8.38 +v 10.27 0.00 -6.69 +v 10.27 7.76 -6.69 +v 12.57 0.00 -6.08 +v 12.57 7.76 -6.08 +v 14.87 0.00 -6.69 +v 14.87 7.76 -6.69 +v 16.55 0.00 -8.38 +v 16.55 7.76 -8.38 +v 16.78 7.76 -13.11 +v 16.78 8.57 -13.11 +v 17.43 8.57 -10.68 +v 17.43 7.76 -10.68 +v 15.00 7.76 -14.89 +v 15.00 8.57 -14.89 +v 12.57 7.76 -15.54 +v 12.57 8.57 -15.54 +v 10.13 7.76 -14.89 +v 10.13 8.57 -14.89 +v 8.35 7.76 -13.11 +v 8.35 8.57 -13.11 +v 7.70 7.76 -10.68 +v 7.70 8.57 -10.68 +v 8.35 7.76 -8.24 +v 8.35 8.57 -8.24 +v 10.13 7.76 -6.46 +v 10.13 8.57 -6.46 +v 12.57 7.76 -5.81 +v 12.57 8.57 -5.81 +v 15.00 7.76 -6.46 +v 15.00 8.57 -6.46 +v 16.78 7.76 -8.24 +v 16.78 8.57 -8.24 +v 17.17 8.57 -10.68 +v 16.55 8.57 -12.98 +v 14.87 8.57 -14.66 +v 12.57 8.57 -15.28 +v 10.27 8.57 -14.66 +v 8.58 8.57 -12.98 +v 7.97 8.57 -10.68 +v 8.58 8.57 -8.38 +v 10.27 8.57 -6.69 +v 12.57 8.57 -6.08 +v 14.87 8.57 -6.69 +v 16.55 8.57 -8.38 +v 16.55 16.89 -12.98 +v 17.17 16.89 -10.68 +v 14.87 16.89 -14.66 +v 12.57 16.89 -15.28 +v 10.27 16.89 -14.66 +v 8.58 16.89 -12.98 +v 7.97 16.89 -10.68 +v 8.58 16.89 -8.38 +v 10.27 16.89 -6.69 +v 12.57 16.89 -6.08 +v 14.87 16.89 -6.69 +v 16.55 16.89 -8.38 +v 17.13 21.30 -13.31 +v 17.47 21.30 -13.51 +v 18.23 21.30 -10.68 +v 17.83 21.30 -10.68 +v 15.20 21.30 -15.24 +v 15.40 21.30 -15.58 +v 12.57 21.30 -15.94 +v 12.57 21.30 -16.34 +v 9.93 21.30 -15.24 +v 9.73 21.30 -15.58 +v 8.01 21.30 -13.31 +v 7.66 21.30 -13.51 +v 7.30 21.30 -10.68 +v 6.90 21.30 -10.68 +v 8.01 21.30 -8.04 +v 7.66 21.30 -7.84 +v 9.93 21.30 -6.12 +v 9.73 21.30 -5.77 +v 12.57 21.30 -5.41 +v 12.57 21.30 -5.01 +v 15.20 21.30 -6.12 +v 15.40 21.30 -5.77 +v 17.13 21.30 -8.04 +v 17.47 21.30 -7.84 +v 16.17 24.76 -12.76 +v 16.72 24.76 -10.68 +v 14.64 24.76 -14.28 +v 12.57 24.76 -14.83 +v 10.49 24.76 -14.28 +v 8.97 24.76 -12.76 +v 8.41 24.76 -10.68 +v 8.97 24.76 -8.60 +v 10.49 24.76 -7.08 +v 12.57 24.76 -6.52 +v 14.64 24.76 -7.08 +v 16.17 24.76 -8.60 +v 16.13 28.50 -12.74 +v 16.69 28.50 -10.68 +v 14.63 28.50 -14.24 +v 12.57 28.50 -14.80 +v 10.51 28.50 -14.24 +v 9.00 28.50 -12.74 +v 8.45 28.50 -10.68 +v 9.00 28.50 -8.62 +v 10.51 28.50 -7.11 +v 12.57 28.50 -6.56 +v 14.63 28.50 -7.11 +v 16.13 28.50 -8.62 +v 17.13 17.36 -13.31 +v 17.83 17.36 -10.68 +v 15.20 17.36 -15.24 +v 12.57 17.36 -15.94 +v 9.93 17.36 -15.24 +v 8.01 17.36 -13.31 +v 7.30 17.36 -10.68 +v 8.01 17.36 -8.04 +v 9.93 17.36 -6.12 +v 12.57 17.36 -5.41 +v 15.20 17.36 -6.12 +v 17.13 17.36 -8.04 +v 17.91 20.21 -10.37 +v 17.91 19.23 -10.37 +v 17.91 19.21 -10.80 +v 17.91 20.52 -10.80 +v 17.81 19.26 -10.03 +v 17.81 19.12 -10.03 +v 17.91 19.12 -10.04 +v 17.91 19.26 -10.04 +v 17.89 20.75 -10.80 +v 17.84 20.29 -10.15 +v 17.94 20.29 -10.15 +v 17.98 20.75 -10.81 +v 17.68 19.12 -11.55 +v 17.68 19.26 -11.55 +v 17.78 19.26 -11.56 +v 17.78 19.12 -11.56 +v 17.89 19.07 -10.80 +v 17.73 19.12 -11.45 +v 17.82 19.12 -11.45 +v 17.98 19.07 -10.81 +v 18.05 19.12 -10.16 +v 18.08 19.23 -10.39 +v 18.05 19.26 -10.16 +v 17.98 20.21 -10.38 +v 17.98 20.52 -10.81 +v 17.93 19.26 -11.46 +v 18.01 19.24 -11.24 +v 17.93 19.12 -11.46 +v 18.09 19.07 -10.82 +v 18.09 19.21 -10.82 +v 17.83 20.21 -11.23 +v 17.83 19.24 -11.23 +v 17.73 20.29 -11.45 +v 17.82 20.29 -11.45 +v 17.84 19.12 -10.15 +v 17.94 19.12 -10.15 +v 17.90 20.21 -11.23 +v 17.98 19.23 -10.38 +v 17.90 19.24 -11.23 +v 17.98 19.21 -10.81 +v 17.82 19.26 -11.45 +v 17.73 19.26 -11.45 +v 17.84 19.26 -10.15 +v 17.94 19.26 -10.15 +v 18.02 19.12 -10.05 +v 18.02 19.26 -10.05 +v 17.88 19.26 -11.57 +v 17.88 19.12 -11.57 +v 12.87 20.21 -16.02 +v 12.87 19.23 -16.02 +v 12.44 19.21 -16.02 +v 12.44 20.52 -16.02 +v 13.21 19.26 -15.92 +v 13.21 19.12 -15.92 +v 13.20 19.12 -16.02 +v 13.20 19.26 -16.02 +v 12.44 20.75 -16.00 +v 13.10 20.29 -15.95 +v 13.09 20.29 -16.05 +v 12.43 20.75 -16.10 +v 11.69 19.12 -15.79 +v 11.69 19.26 -15.79 +v 11.68 19.26 -15.89 +v 11.68 19.12 -15.89 +v 12.44 19.07 -16.00 +v 11.80 19.12 -15.84 +v 11.79 19.12 -15.94 +v 12.43 19.07 -16.10 +v 13.08 19.12 -16.16 +v 12.85 19.23 -16.20 +v 13.08 19.26 -16.16 +v 12.86 20.21 -16.09 +v 12.43 20.52 -16.10 +v 11.78 19.26 -16.04 +v 12.00 19.24 -16.12 +v 11.78 19.12 -16.04 +v 12.42 19.07 -16.20 +v 12.42 19.21 -16.20 +v 12.01 20.21 -15.94 +v 12.01 19.24 -15.94 +v 11.80 20.29 -15.84 +v 11.79 20.29 -15.94 +v 13.10 19.12 -15.95 +v 13.09 19.12 -16.05 +v 12.01 20.21 -16.01 +v 12.86 19.23 -16.09 +v 12.01 19.24 -16.01 +v 12.43 19.21 -16.10 +v 11.79 19.26 -15.94 +v 11.80 19.26 -15.84 +v 13.10 19.26 -15.95 +v 13.09 19.26 -16.05 +v 13.19 19.12 -16.13 +v 13.19 19.26 -16.13 +v 11.67 19.26 -16.00 +v 11.67 19.12 -16.00 +v 9.24 23.34 -12.52 +v 8.56 24.92 -12.99 +v 9.10 24.92 -13.76 +v 9.78 23.34 -13.29 +v 9.53 28.41 -12.29 +v 8.63 28.41 -12.92 +v 9.18 28.41 -13.70 +v 10.08 28.41 -13.07 +v 12.87 27.21 -14.81 +v 12.87 26.24 -14.81 +v 12.44 26.21 -14.82 +v 12.44 27.52 -14.82 +v 13.21 26.26 -14.72 +v 13.21 26.12 -14.72 +v 13.20 26.12 -14.82 +v 13.20 26.26 -14.82 +v 12.44 27.75 -14.80 +v 13.10 27.30 -14.75 +v 13.09 27.30 -14.85 +v 12.43 27.75 -14.89 +v 11.69 26.12 -14.59 +v 11.69 26.26 -14.59 +v 11.68 26.26 -14.69 +v 11.68 26.12 -14.69 +v 12.44 26.07 -14.80 +v 11.80 26.12 -14.64 +v 11.79 26.12 -14.73 +v 12.43 26.07 -14.89 +v 13.08 26.12 -14.96 +v 12.85 26.24 -14.99 +v 13.08 26.26 -14.96 +v 12.86 27.21 -14.89 +v 12.43 27.52 -14.89 +v 11.78 26.26 -14.84 +v 12.00 26.25 -14.92 +v 11.78 26.12 -14.84 +v 12.42 26.07 -15.00 +v 12.42 26.21 -15.00 +v 12.01 27.21 -14.74 +v 12.01 26.25 -14.74 +v 11.80 27.30 -14.64 +v 11.79 27.30 -14.73 +v 13.10 26.12 -14.75 +v 13.09 26.12 -14.85 +v 12.01 27.21 -14.81 +v 12.86 26.24 -14.89 +v 12.01 26.25 -14.81 +v 12.43 26.21 -14.89 +v 11.79 26.26 -14.73 +v 11.80 26.26 -14.64 +v 13.10 26.26 -14.75 +v 13.09 26.26 -14.85 +v 13.19 26.12 -14.93 +v 13.19 26.26 -14.93 +v 11.67 26.26 -14.79 +v 11.67 26.12 -14.79 +v 14.41 23.34 -14.01 +v 14.88 24.92 -14.68 +v 15.65 24.92 -14.14 +v 15.18 23.34 -13.46 +v 14.18 28.41 -13.71 +v 14.81 28.41 -14.61 +v 15.59 28.41 -14.07 +v 14.96 28.41 -13.17 +v 8.43 27.21 -10.98 +v 8.43 26.24 -10.98 +v 8.42 26.21 -10.55 +v 8.42 27.52 -10.55 +v 8.52 26.26 -11.32 +v 8.52 26.12 -11.32 +v 8.42 26.12 -11.31 +v 8.42 26.26 -11.31 +v 8.45 27.75 -10.55 +v 8.49 27.30 -11.21 +v 8.39 27.30 -11.20 +v 8.35 27.75 -10.54 +v 8.65 26.12 -9.80 +v 8.65 26.26 -9.80 +v 8.56 26.26 -9.79 +v 8.56 26.12 -9.79 +v 8.45 26.07 -10.55 +v 8.61 26.12 -9.91 +v 8.51 26.12 -9.90 +v 8.35 26.07 -10.54 +v 8.29 26.12 -11.19 +v 8.25 26.24 -10.96 +v 8.29 26.26 -11.19 +v 8.35 27.21 -10.97 +v 8.35 27.52 -10.54 +v 8.40 26.26 -9.89 +v 8.32 26.25 -10.11 +v 8.40 26.12 -9.89 +v 8.24 26.07 -10.53 +v 8.24 26.21 -10.53 +v 8.50 27.21 -10.13 +v 8.50 26.25 -10.13 +v 8.61 27.30 -9.91 +v 8.51 27.30 -9.90 +v 8.49 26.12 -11.21 +v 8.39 26.12 -11.20 +v 8.43 27.21 -10.12 +v 8.35 26.24 -10.97 +v 8.43 26.25 -10.12 +v 8.35 26.21 -10.54 +v 8.51 26.26 -9.90 +v 8.61 26.26 -9.91 +v 8.49 26.26 -11.21 +v 8.39 26.26 -11.20 +v 8.32 26.12 -11.30 +v 8.32 26.26 -11.30 +v 8.45 26.26 -9.78 +v 8.45 26.12 -9.78 +v 13.04 12.70 -6.81 +v 13.04 14.28 -5.99 +v 12.09 14.28 -5.99 +v 12.09 12.70 -6.81 +v 13.04 17.34 -6.74 +v 13.04 17.34 -5.64 +v 12.09 17.34 -5.64 +v 12.09 17.34 -6.74 +v 8.98 12.70 -12.20 +v 8.27 14.28 -12.61 +v 8.74 14.28 -13.43 +v 9.46 12.70 -13.02 +v 8.92 17.34 -12.24 +v 7.97 17.34 -12.79 +v 8.44 17.34 -13.61 +v 9.39 17.34 -13.06 +v 12.09 12.70 -14.54 +v 12.09 14.28 -15.36 +v 13.04 14.28 -15.36 +v 13.04 12.70 -14.54 +v 12.09 17.34 -14.62 +v 12.09 17.34 -15.71 +v 13.04 17.34 -15.71 +v 13.04 17.34 -14.62 +v 10.73 23.34 -7.35 +v 10.25 24.92 -6.67 +v 9.48 24.92 -7.22 +v 9.95 23.34 -7.89 +v 10.95 28.41 -7.65 +v 10.32 28.41 -6.74 +v 9.55 28.41 -7.29 +v 10.18 28.41 -8.19 +v 9.46 12.70 -8.34 +v 8.74 14.28 -7.92 +v 8.27 14.28 -8.74 +v 8.98 12.70 -9.15 +v 9.39 17.34 -8.30 +v 8.44 17.34 -7.75 +v 7.97 17.34 -8.57 +v 8.92 17.34 -9.12 +v 7.23 20.21 -10.98 +v 7.23 19.23 -10.98 +v 7.22 19.21 -10.55 +v 7.22 20.52 -10.55 +v 7.32 19.26 -11.32 +v 7.32 19.12 -11.32 +v 7.22 19.12 -11.31 +v 7.22 19.26 -11.31 +v 7.24 20.75 -10.55 +v 7.29 20.29 -11.21 +v 7.19 20.29 -11.20 +v 7.15 20.75 -10.54 +v 7.45 19.12 -9.80 +v 7.45 19.26 -9.80 +v 7.35 19.26 -9.79 +v 7.35 19.12 -9.79 +v 7.24 19.07 -10.55 +v 7.41 19.12 -9.91 +v 7.31 19.12 -9.90 +v 7.15 19.07 -10.54 +v 7.09 19.12 -11.19 +v 7.05 19.23 -10.96 +v 7.09 19.26 -11.19 +v 7.15 20.21 -10.97 +v 7.15 20.52 -10.54 +v 7.20 19.26 -9.89 +v 7.12 19.24 -10.11 +v 7.20 19.12 -9.89 +v 7.04 19.07 -10.53 +v 7.04 19.21 -10.53 +v 7.30 20.21 -10.13 +v 7.30 19.24 -10.13 +v 7.41 20.29 -9.91 +v 7.31 20.29 -9.90 +v 7.29 19.12 -11.21 +v 7.19 19.12 -11.20 +v 7.23 20.21 -10.12 +v 7.15 19.23 -10.97 +v 7.23 19.24 -10.12 +v 7.15 19.21 -10.54 +v 7.31 19.26 -9.90 +v 7.41 19.26 -9.91 +v 7.29 19.26 -11.21 +v 7.19 19.26 -11.20 +v 7.11 19.12 -11.30 +v 7.11 19.26 -11.30 +v 7.25 19.26 -9.78 +v 7.25 19.12 -9.78 +v 12.26 27.21 -6.54 +v 12.26 26.24 -6.54 +v 12.69 26.21 -6.53 +v 12.69 27.52 -6.53 +v 11.92 26.26 -6.63 +v 11.92 26.12 -6.63 +v 11.93 26.12 -6.53 +v 11.93 26.26 -6.53 +v 12.69 27.75 -6.56 +v 12.03 27.30 -6.60 +v 12.04 27.30 -6.51 +v 12.70 27.75 -6.46 +v 13.44 26.12 -6.76 +v 13.44 26.26 -6.76 +v 13.45 26.26 -6.67 +v 13.45 26.12 -6.67 +v 12.69 26.07 -6.56 +v 13.34 26.12 -6.72 +v 13.34 26.12 -6.62 +v 12.70 26.07 -6.46 +v 12.05 26.12 -6.40 +v 12.28 26.24 -6.36 +v 12.05 26.26 -6.40 +v 12.27 27.21 -6.47 +v 12.70 27.52 -6.46 +v 13.35 26.26 -6.51 +v 13.13 26.25 -6.43 +v 13.35 26.12 -6.51 +v 12.71 26.07 -6.35 +v 12.71 26.21 -6.35 +v 13.12 27.21 -6.61 +v 13.12 26.25 -6.61 +v 13.34 27.30 -6.72 +v 13.34 27.30 -6.62 +v 12.03 26.12 -6.60 +v 12.04 26.12 -6.51 +v 13.12 27.21 -6.54 +v 12.27 26.24 -6.47 +v 13.12 26.25 -6.54 +v 12.70 26.21 -6.46 +v 13.34 26.26 -6.62 +v 13.34 26.26 -6.72 +v 12.03 26.26 -6.60 +v 12.04 26.26 -6.51 +v 11.94 26.12 -6.43 +v 11.94 26.26 -6.43 +v 13.46 26.26 -6.56 +v 13.46 26.12 -6.56 +v 16.15 12.70 -9.15 +v 16.86 14.28 -8.74 +v 16.39 14.28 -7.92 +v 15.67 12.70 -8.34 +v 16.21 17.34 -9.12 +v 17.17 17.34 -8.57 +v 16.69 17.34 -7.75 +v 15.74 17.34 -8.30 +v 12.26 20.21 -5.34 +v 12.26 19.23 -5.34 +v 12.69 19.21 -5.33 +v 12.69 20.52 -5.33 +v 11.92 19.26 -5.43 +v 11.92 19.12 -5.43 +v 11.93 19.12 -5.33 +v 11.93 19.26 -5.33 +v 12.69 20.75 -5.36 +v 12.03 20.29 -5.40 +v 12.04 20.29 -5.30 +v 12.70 20.75 -5.26 +v 13.44 19.12 -5.56 +v 13.44 19.26 -5.56 +v 13.45 19.26 -5.47 +v 13.45 19.12 -5.47 +v 12.69 19.07 -5.36 +v 13.34 19.12 -5.52 +v 13.34 19.12 -5.42 +v 12.70 19.07 -5.26 +v 12.05 19.12 -5.20 +v 12.28 19.23 -5.16 +v 12.05 19.26 -5.20 +v 12.27 20.21 -5.26 +v 12.70 20.52 -5.26 +v 13.35 19.26 -5.31 +v 13.13 19.24 -5.23 +v 13.35 19.12 -5.31 +v 12.71 19.07 -5.15 +v 12.71 19.21 -5.15 +v 13.12 20.21 -5.41 +v 13.12 19.24 -5.41 +v 13.34 20.29 -5.52 +v 13.34 20.29 -5.42 +v 12.03 19.12 -5.40 +v 12.04 19.12 -5.30 +v 13.12 20.21 -5.34 +v 12.27 19.23 -5.26 +v 13.12 19.24 -5.34 +v 12.70 19.21 -5.26 +v 13.34 19.26 -5.42 +v 13.34 19.26 -5.52 +v 12.03 19.26 -5.40 +v 12.04 19.26 -5.30 +v 11.94 19.12 -5.23 +v 11.94 19.26 -5.23 +v 13.46 19.26 -5.36 +v 13.46 19.12 -5.36 +v 15.89 23.34 -8.84 +v 16.57 24.92 -8.36 +v 16.03 24.92 -7.59 +v 15.35 23.34 -8.06 +v 15.60 28.41 -9.06 +v 16.50 28.41 -8.43 +v 15.96 28.41 -7.66 +v 15.06 28.41 -8.29 +v 16.70 27.21 -10.37 +v 16.70 26.24 -10.37 +v 16.71 26.21 -10.80 +v 16.71 27.52 -10.80 +v 16.61 26.26 -10.03 +v 16.61 26.12 -10.03 +v 16.71 26.12 -10.04 +v 16.71 26.26 -10.04 +v 16.69 27.75 -10.80 +v 16.64 27.30 -10.15 +v 16.74 27.30 -10.15 +v 16.78 27.75 -10.81 +v 16.48 26.12 -11.55 +v 16.48 26.26 -11.55 +v 16.58 26.26 -11.56 +v 16.58 26.12 -11.56 +v 16.69 26.07 -10.80 +v 16.53 26.12 -11.45 +v 16.62 26.12 -11.45 +v 16.78 26.07 -10.81 +v 16.84 26.12 -10.16 +v 16.88 26.24 -10.39 +v 16.84 26.26 -10.16 +v 16.78 27.21 -10.38 +v 16.78 27.52 -10.81 +v 16.73 26.26 -11.46 +v 16.81 26.25 -11.24 +v 16.73 26.12 -11.46 +v 16.89 26.07 -10.82 +v 16.89 26.21 -10.82 +v 16.63 27.21 -11.23 +v 16.63 26.25 -11.23 +v 16.53 27.30 -11.45 +v 16.62 27.30 -11.45 +v 16.64 26.12 -10.15 +v 16.74 26.12 -10.15 +v 16.70 27.21 -11.23 +v 16.78 26.24 -10.38 +v 16.70 26.25 -11.23 +v 16.78 26.21 -10.81 +v 16.62 26.26 -11.45 +v 16.53 26.26 -11.45 +v 16.64 26.26 -10.15 +v 16.74 26.26 -10.15 +v 16.82 26.12 -10.05 +v 16.82 26.26 -10.05 +v 16.68 26.26 -11.57 +v 16.68 26.12 -11.57 +v 15.67 12.70 -13.02 +v 16.39 14.28 -13.43 +v 16.86 14.28 -12.61 +v 16.15 12.70 -12.20 +v 15.74 17.34 -13.06 +v 16.69 17.34 -13.61 +v 17.17 17.34 -12.79 +v 16.21 17.34 -12.24 +v 16.83 28.50 -13.14 +v 16.83 30.29 -13.14 +v 17.49 30.29 -10.68 +v 17.49 28.50 -10.68 +v 15.03 28.50 -14.94 +v 15.03 30.29 -14.94 +v 12.57 28.50 -15.60 +v 12.57 30.29 -15.60 +v 10.10 28.50 -14.94 +v 10.10 30.29 -14.94 +v 8.30 28.50 -13.14 +v 8.30 30.29 -13.14 +v 7.64 28.50 -10.68 +v 7.64 30.29 -10.68 +v 8.30 28.50 -8.21 +v 8.30 30.29 -8.21 +v 10.10 28.50 -6.41 +v 10.10 30.29 -6.41 +v 12.57 28.50 -5.75 +v 12.57 30.29 -5.75 +v 15.03 28.50 -6.41 +v 15.03 30.29 -6.41 +v 16.83 28.50 -8.21 +v 16.83 30.29 -8.21 +v 16.21 30.29 -12.78 +v 16.78 30.29 -10.68 +v 15.03 30.90 -14.94 +v 14.67 30.90 -14.32 +v 16.21 30.90 -12.78 +v 16.83 30.90 -13.14 +v 12.57 30.29 -14.89 +v 14.67 30.29 -14.32 +v 10.10 30.90 -14.94 +v 10.46 30.90 -14.32 +v 12.57 30.90 -14.89 +v 12.57 30.90 -15.60 +v 8.92 30.29 -12.78 +v 10.46 30.29 -14.32 +v 7.64 30.90 -10.68 +v 8.36 30.90 -10.68 +v 8.92 30.90 -12.78 +v 8.30 30.90 -13.14 +v 8.92 30.29 -8.57 +v 8.36 30.29 -10.68 +v 10.10 30.90 -6.41 +v 10.46 30.90 -7.03 +v 8.92 30.90 -8.57 +v 8.30 30.90 -8.21 +v 12.57 30.29 -6.47 +v 10.46 30.29 -7.03 +v 15.03 30.90 -6.41 +v 14.67 30.90 -7.03 +v 12.57 30.90 -6.47 +v 12.57 30.90 -5.75 +v 16.21 30.29 -8.57 +v 14.67 30.29 -7.03 +v 17.49 30.90 -10.68 +v 16.78 30.90 -10.68 +v 16.21 30.90 -8.57 +v 16.83 30.90 -8.21 +v 16.21 29.42 -12.78 +v 16.78 29.42 -10.68 +v 14.67 29.42 -14.32 +v 12.57 29.42 -14.89 +v 10.46 29.42 -14.32 +v 8.92 29.42 -12.78 +v 8.36 29.42 -10.68 +v 8.92 29.42 -8.57 +v 10.46 29.42 -7.03 +v 12.57 29.42 -6.47 +v 14.67 29.42 -7.03 +v 16.21 29.42 -8.57 +v 12.57 29.42 -10.68 +# 4553 vertices + +vn -1.00 0.00 -0.00 +vn -0.48 0.00 -0.88 +vn -0.17 0.00 -0.99 +vn 0.00 0.00 -1.00 +vn 0.17 0.00 -0.99 +vn 0.48 0.00 -0.88 +vn 1.00 0.00 -0.00 +vn 0.48 0.00 0.88 +vn 0.17 0.00 0.99 +vn 0.00 0.00 1.00 +vn -0.17 0.00 0.99 +vn -0.48 0.00 0.88 +vn -0.73 0.00 -0.69 +vn -0.27 0.00 -0.96 +vn -0.08 0.00 -1.00 +vn 0.08 0.00 -1.00 +vn 0.27 0.00 -0.96 +vn 0.73 0.00 -0.69 +vn 0.73 0.00 0.69 +vn 0.27 0.00 0.96 +vn 0.08 0.00 1.00 +vn -0.08 0.00 1.00 +vn -0.27 0.00 0.96 +vn -0.73 0.00 0.69 +vn -0.72 0.00 0.69 +vn 0.00 -1.00 -0.00 +vn 0.00 1.00 -0.00 +vn -0.60 0.56 -0.57 +vn -0.26 0.33 -0.91 +vn -0.07 0.25 -0.96 +vn 0.07 0.25 -0.96 +vn 0.26 0.33 -0.91 +vn 0.60 0.56 -0.57 +vn 0.60 0.56 0.57 +vn 0.26 0.33 0.91 +vn 0.07 0.25 0.96 +vn -0.07 0.25 0.96 +vn -0.26 0.33 0.91 +vn -0.60 0.56 0.57 +vn -0.73 0.01 -0.69 +vn -0.27 0.01 -0.96 +vn -0.08 0.01 -1.00 +vn -0.07 0.01 -1.00 +vn 0.08 0.01 -1.00 +vn 0.27 0.01 -0.96 +vn 0.73 0.01 -0.69 +vn 0.72 0.01 0.69 +vn 0.73 0.01 0.69 +vn 0.27 0.01 0.96 +vn 0.08 0.01 1.00 +vn -0.08 0.01 1.00 +vn -0.07 0.01 1.00 +vn -0.27 0.01 0.96 +vn -0.73 0.01 0.69 +vn -0.72 0.01 0.69 +vn -0.30 -0.91 -0.29 +vn -0.18 -0.75 -0.64 +vn -0.18 -0.74 -0.64 +vn -0.06 -0.65 -0.76 +vn 0.06 -0.65 -0.76 +vn 0.18 -0.75 -0.64 +vn 0.18 -0.74 -0.64 +vn 0.30 -0.91 -0.29 +vn 0.30 -0.91 0.29 +vn 0.18 -0.74 0.64 +vn 0.18 -0.75 0.64 +vn 0.06 -0.65 0.76 +vn -0.06 -0.65 0.76 +vn -0.18 -0.74 0.64 +vn -0.18 -0.75 0.64 +vn -0.30 -0.91 0.29 +vn -1.00 0.00 0.06 +vn -0.02 0.00 1.00 +vn -0.02 0.65 0.76 +vn 0.02 0.00 -1.00 +vn 0.00 -0.99 -0.12 +vn -0.85 0.00 0.52 +vn -0.95 0.12 0.30 +vn -0.62 0.00 -0.78 +vn -0.76 -0.16 -0.63 +vn -0.83 0.00 -0.56 +vn 0.02 0.66 -0.75 +vn -0.00 -0.99 0.12 +vn -0.72 0.09 -0.69 +vn -0.96 -0.21 0.19 +vn 0.02 -0.64 -0.77 +vn -0.02 -0.64 0.77 +vn -0.00 0.99 0.13 +vn 0.00 1.00 -0.10 +vn 0.00 0.99 -0.17 +vn 0.01 0.99 -0.17 +vn -0.00 0.99 0.10 +vn -0.74 0.00 0.67 +vn -0.75 0.00 0.67 +vn -0.54 0.00 -0.84 +vn -0.00 0.00 -1.00 +vn -0.96 0.00 -0.29 +vn -0.95 0.00 -0.30 +vn -0.31 0.95 -0.10 +vn 0.95 0.00 0.30 +vn 0.96 0.00 0.29 +vn 0.03 -1.00 0.01 +vn -0.05 0.00 -1.00 +vn -0.03 0.04 -1.00 +vn 0.10 0.00 -1.00 +vn 0.07 -0.06 -1.00 +vn 0.05 0.00 -1.00 +vn 0.31 0.95 0.10 +vn -0.04 -1.00 -0.01 +vn 0.08 0.04 -1.00 +vn -0.02 -0.06 -1.00 +vn 0.32 -0.94 0.10 +vn -0.32 -0.94 -0.10 +vn -0.04 1.00 -0.01 +vn 0.03 1.00 0.01 +vn 0.05 1.00 0.01 +vn -0.03 1.00 -0.01 +vn -0.07 0.00 -1.00 +vn 0.12 0.00 -0.99 +vn 0.33 -0.45 -0.83 +vn 0.19 -0.00 0.98 +vn 0.37 0.03 -0.93 +vn -0.19 0.00 -0.98 +vn -0.01 0.00 -1.00 +vn -0.96 0.00 -0.30 +vn 0.31 0.95 0.09 +vn -0.18 -0.35 -0.92 +vn 0.37 -0.00 -0.93 +vn -0.19 0.02 -0.98 +vn -0.37 0.00 0.93 +vn 1.00 0.00 -0.06 +vn 0.02 0.65 -0.76 +vn 0.85 0.00 -0.52 +vn 0.95 0.12 -0.30 +vn 0.62 0.00 0.78 +vn 0.76 -0.16 0.63 +vn 0.83 0.00 0.56 +vn 0.82 0.00 0.57 +vn -0.02 0.66 0.75 +vn 0.72 0.09 0.69 +vn 0.96 -0.21 -0.19 +vn 0.00 0.99 -0.13 +vn -0.00 1.00 0.10 +vn -0.00 0.99 0.17 +vn 0.00 0.99 -0.10 +vn 0.75 0.00 -0.67 +vn 0.54 0.00 0.84 +vn 0.00 -0.30 0.95 +vn 0.00 -0.07 1.00 +vn 0.38 -0.49 -0.78 +vn 0.16 0.00 0.99 +vn 0.44 -0.12 -0.89 +vn -0.16 0.00 -0.99 +vn 0.00 -0.30 -0.95 +vn 0.00 -0.07 -1.00 +vn 0.18 -0.35 0.92 +vn -0.37 -0.00 0.93 +vn 0.19 0.02 0.98 +vn 0.37 0.00 -0.93 +vn 0.38 -0.49 0.78 +vn -0.16 0.00 0.99 +vn 0.44 -0.12 0.89 +vn 0.16 0.00 -0.99 +vn 0.01 0.00 1.00 +vn 0.96 0.00 0.30 +vn -0.03 -1.00 -0.01 +vn 0.05 0.00 1.00 +vn 0.03 0.04 1.00 +vn -0.10 0.00 1.00 +vn -0.07 -0.06 1.00 +vn -0.05 0.00 1.00 +vn -0.31 0.95 -0.09 +vn 0.04 -1.00 0.01 +vn -0.08 0.04 1.00 +vn 0.02 -0.06 1.00 +vn 0.04 1.00 0.01 +vn -0.05 1.00 -0.02 +vn 0.07 0.00 1.00 +vn -0.12 0.00 0.99 +vn -0.38 -0.49 0.78 +vn -0.44 -0.12 0.89 +vn -0.43 -0.12 0.89 +vn -0.33 -0.45 0.83 +vn -0.19 -0.00 -0.98 +vn -0.37 0.03 0.93 +vn 0.19 0.00 0.98 +vn -0.38 -0.49 -0.78 +vn -0.44 -0.12 -0.89 +vn -0.43 -0.12 -0.89 +vn 0.72 0.00 0.69 +vn -0.07 0.00 1.00 +vn -0.72 0.00 -0.69 +vn 0.07 0.00 -1.00 +vn 0.72 0.00 -0.69 +vn 0.44 0.00 -0.90 +vn 0.44 0.00 0.90 +vn -0.44 0.00 0.90 +vn -0.44 0.00 -0.90 +vn 0.50 0.87 -0.00 +vn 0.00 0.45 -0.89 +vn -0.50 0.87 -0.00 +vn 0.00 0.42 0.91 +vn 0.08 1.00 -0.00 +vn 0.04 0.55 0.83 +vn -0.00 0.55 0.83 +vn 0.01 0.01 1.00 +vn -0.00 0.55 -0.83 +vn 0.04 0.55 -0.83 +vn 0.01 0.01 -1.00 +vn -0.08 1.00 -0.00 +vn -0.04 0.55 0.83 +vn -0.01 0.01 1.00 +vn -0.04 0.55 -0.83 +vn -0.01 0.01 -1.00 +vn -0.06 0.60 -0.79 +vn -0.91 -0.41 0.00 +vn -0.10 0.98 -0.19 +vn -0.06 0.60 0.79 +vn -0.91 -0.41 -0.00 +vn -0.10 0.98 0.19 +vn -0.05 0.61 -0.79 +vn -0.94 -0.35 -0.00 +vn -0.08 0.98 -0.19 +vn -0.05 0.61 0.79 +vn -0.08 0.98 0.19 +vn -0.04 0.61 -0.79 +vn -0.03 0.61 -0.79 +vn -0.97 -0.25 0.00 +vn -0.97 -0.25 -0.00 +vn -0.06 0.98 -0.19 +vn -0.04 0.61 0.79 +vn -0.03 0.61 0.79 +vn -0.06 0.98 0.19 +vn -0.01 0.61 -0.79 +vn -1.00 -0.07 -0.00 +vn -0.02 0.98 -0.19 +vn -0.01 0.61 0.79 +vn -0.02 0.98 0.19 +vn -1.00 -0.07 0.00 +vn -0.02 0.61 -0.79 +vn -0.99 -0.11 -0.00 +vn -0.02 0.61 0.79 +vn -0.99 -0.11 0.00 +vn 0.06 0.60 -0.79 +vn 0.91 -0.41 0.00 +vn 0.10 0.98 -0.19 +vn 0.06 0.60 0.79 +vn 0.91 -0.41 -0.00 +vn 0.10 0.98 0.19 +vn 0.05 0.61 -0.79 +vn 0.94 -0.35 -0.00 +vn 0.08 0.98 -0.19 +vn 0.05 0.61 0.79 +vn 0.94 -0.35 0.00 +vn 0.08 0.98 0.19 +vn 0.03 0.61 -0.79 +vn 0.04 0.61 -0.79 +vn 0.97 -0.25 0.00 +vn 0.06 0.98 -0.19 +vn 0.03 0.61 0.79 +vn 0.97 -0.25 -0.00 +vn 0.06 0.98 0.19 +vn 0.04 0.61 0.79 +vn 0.01 0.61 -0.79 +vn 1.00 -0.07 -0.00 +vn 0.02 0.98 -0.19 +vn 0.01 0.61 0.79 +vn 0.02 0.98 0.19 +vn 1.00 -0.07 0.00 +vn 0.02 0.61 -0.79 +vn 0.99 -0.11 -0.00 +vn 0.02 0.61 0.79 +vn 0.99 -0.11 0.00 +vn 0.10 0.98 -0.20 +vn 0.10 0.98 0.20 +vn 0.09 0.59 -0.80 +vn -0.82 0.57 0.00 +vn -0.82 0.57 -0.00 +vn 0.15 0.97 -0.20 +vn 0.09 0.59 0.80 +vn 0.15 0.97 0.20 +vn -0.09 0.59 -0.80 +vn 0.82 0.57 0.00 +vn -0.15 0.97 -0.20 +vn -0.09 0.59 0.80 +vn 0.82 0.57 -0.00 +vn -0.15 0.97 0.20 +vn -0.57 0.82 -0.00 +vn 0.08 -1.00 -0.00 +vn 0.57 0.82 -0.00 +vn -0.08 -1.00 -0.00 +vn 0.59 -0.81 -0.00 +vn -0.59 -0.81 -0.00 +vn 0.06 1.00 -0.00 +vn 0.10 0.99 -0.00 +vn -0.06 1.00 -0.00 +vn -0.07 -1.00 -0.00 +vn 0.07 -1.00 -0.00 +vn 0.00 0.37 0.93 +vn 0.00 -0.97 -0.26 +vn 0.00 0.37 -0.93 +vn 0.00 -0.97 0.26 +vn 0.00 -0.36 -0.93 +vn 0.00 -0.36 0.93 +vn 0.00 0.96 0.28 +vn 0.00 0.98 -0.21 +vn 0.00 0.94 -0.35 +vn 0.00 0.98 0.22 +vn 0.00 0.96 -0.28 +vn 0.00 0.98 0.21 +vn 0.00 0.94 0.35 +vn 0.00 0.98 -0.22 +vn 0.11 0.99 -0.00 +vn -0.10 0.99 -0.00 +vn 1.00 0.04 -0.00 +vn 0.87 0.50 -0.00 +vn -1.00 -0.04 -0.00 +vn -0.87 -0.50 -0.00 +vn 0.40 0.92 -0.00 +vn -0.42 -0.91 -0.00 +vn -0.40 0.92 -0.00 +vn 0.42 -0.91 -0.00 +vn -0.87 0.50 -0.00 +vn 0.87 -0.50 -0.00 +vn -1.00 0.04 -0.00 +vn 1.00 -0.04 -0.00 +vn 0.02 0.05 -1.00 +vn 0.95 -0.05 0.30 +vn -0.02 -0.01 1.00 +vn -0.94 0.18 -0.29 +vn 0.03 -0.06 -1.00 +vn 0.02 -0.06 -1.00 +vn 0.96 0.05 0.27 +vn -0.02 0.01 1.00 +vn -0.96 -0.22 -0.19 +vn 0.00 -1.00 -0.05 +vn 0.00 1.00 0.05 +vn 0.00 -1.00 0.05 +vn 0.00 1.00 -0.05 +vn 0.02 -1.00 -0.00 +vn -0.02 1.00 -0.00 +vn -0.01 1.00 -0.00 +vn -0.01 -1.00 -0.00 +vn 0.01 1.00 -0.00 +vn 0.02 0.05 1.00 +vn 0.95 -0.05 -0.30 +vn -0.02 -0.01 -1.00 +vn -0.94 0.18 0.29 +vn 0.03 -0.06 1.00 +vn 0.96 0.05 -0.27 +vn -0.02 0.01 -1.00 +vn -0.96 -0.22 0.19 +vn -0.96 -0.22 0.18 +vn 0.01 -1.00 -0.00 +vn -0.02 -1.00 -0.00 +vn 0.02 1.00 -0.00 +vn -0.99 0.12 -0.00 +vn -1.00 0.01 0.04 +vn -0.99 -0.10 0.07 +vn 0.00 0.01 1.00 +vn 0.00 -0.00 1.00 +vn 1.00 0.01 0.01 +vn 1.00 -0.03 0.02 +vn 0.00 0.04 -1.00 +vn 0.00 0.01 -1.00 +vn 0.00 -0.02 -1.00 +vn 0.13 -0.99 -0.00 +vn -0.13 0.99 -0.00 +vn -0.13 -0.99 -0.00 +vn 0.13 0.99 -0.00 +vn -0.07 1.00 -0.00 +vn 0.07 1.00 -0.00 +vn 0.00 -0.67 -0.74 +vn 0.00 -0.13 -0.99 +vn 0.00 0.67 -0.74 +vn 0.00 0.13 -0.99 +vn 0.00 0.12 -0.99 +vn -1.00 0.01 -0.04 +vn -0.99 -0.10 -0.07 +vn 0.00 -0.00 -1.00 +vn 1.00 0.01 -0.01 +vn 1.00 -0.03 -0.02 +vn 0.00 0.04 1.00 +vn 0.00 -0.02 1.00 +vn 0.72 0.01 -0.69 +vn -0.72 0.01 -0.69 +vn -1.00 0.00 -0.06 +vn -0.02 0.00 -1.00 +vn -0.02 0.65 -0.76 +vn 0.02 0.00 1.00 +vn 0.00 -0.99 0.12 +vn -0.85 0.00 -0.52 +vn -0.95 0.12 -0.30 +vn -0.62 0.00 0.78 +vn -0.76 -0.16 0.63 +vn -0.83 0.00 0.56 +vn 0.02 0.66 0.75 +vn -0.00 -0.99 -0.12 +vn -0.72 0.09 0.69 +vn -0.96 -0.21 -0.19 +vn 0.02 -0.64 0.77 +vn -0.02 -0.64 -0.77 +vn -0.00 0.99 -0.13 +vn 0.00 1.00 0.10 +vn 0.00 0.99 0.17 +vn 0.01 0.99 0.17 +vn -0.00 0.99 -0.10 +vn -0.74 0.00 -0.67 +vn -0.75 0.00 -0.67 +vn -0.54 0.00 0.84 +vn -0.00 0.00 1.00 +vn -0.96 0.00 0.29 +vn -0.95 0.00 0.30 +vn -0.31 0.95 0.10 +vn 0.95 0.00 -0.30 +vn 0.96 0.00 -0.29 +vn 0.03 -1.00 -0.01 +vn -0.03 0.04 1.00 +vn 0.10 0.00 1.00 +vn 0.07 -0.06 1.00 +vn 0.31 0.95 -0.10 +vn -0.04 -1.00 0.01 +vn 0.08 0.04 1.00 +vn -0.02 -0.06 1.00 +vn 0.32 -0.94 -0.10 +vn -0.32 -0.94 0.10 +vn -0.04 1.00 0.01 +vn 0.03 1.00 -0.01 +vn 0.05 1.00 -0.01 +vn -0.03 1.00 0.01 +vn 0.12 0.00 0.99 +vn 0.33 -0.45 0.83 +vn 0.19 -0.00 -0.98 +vn 0.37 0.03 0.93 +vn -0.19 0.00 0.98 +vn -0.01 0.00 1.00 +vn -0.96 0.00 0.30 +vn 0.31 0.95 -0.09 +vn -0.18 -0.35 0.92 +vn 0.37 -0.00 0.93 +vn -0.19 0.02 0.98 +vn -0.37 0.00 -0.93 +vn 1.00 0.00 0.06 +vn 0.02 0.65 0.76 +vn 0.85 0.00 0.52 +vn 0.95 0.12 0.30 +vn 0.62 0.00 -0.78 +vn 0.76 -0.16 -0.63 +vn 0.83 0.00 -0.56 +vn 0.82 0.00 -0.57 +vn -0.02 0.66 -0.75 +vn 0.72 0.09 -0.69 +vn 0.96 -0.21 0.19 +vn 0.00 0.99 0.13 +vn -0.00 1.00 -0.10 +vn -0.00 0.99 -0.17 +vn 0.00 0.99 0.10 +vn 0.75 0.00 0.67 +vn 0.54 0.00 -0.84 +vn 0.18 -0.35 -0.92 +vn -0.37 -0.00 -0.93 +vn 0.19 0.02 -0.98 +vn 0.37 0.00 0.93 +vn 0.01 0.00 -1.00 +vn 0.96 0.00 -0.30 +vn -0.03 -1.00 0.01 +vn 0.03 0.04 -1.00 +vn -0.10 0.00 -1.00 +vn -0.07 -0.06 -1.00 +vn -0.31 0.95 0.09 +vn 0.04 -1.00 -0.01 +vn -0.08 0.04 -1.00 +vn 0.04 1.00 -0.01 +vn -0.05 1.00 0.02 +vn -0.12 0.00 -0.99 +vn -0.33 -0.45 -0.83 +vn -0.19 -0.00 0.98 +vn -0.37 0.03 -0.93 +vn 0.19 0.00 -0.98 +vn 0.74 0.00 -0.67 +vn -0.05 1.00 -0.01 +vn -0.82 0.00 -0.57 +vn 0.05 1.00 0.02 +vn 0.74 0.00 0.67 +vn -0.05 1.00 0.01 +vn -0.82 0.00 0.57 +vn 0.05 1.00 -0.02 +# 487 vertex normals + +vt 0.10 0.10 0.00 +vt 0.07 0.10 0.00 +vt 0.07 0.01 0.00 +vt 0.10 0.01 0.00 +vt 0.05 0.10 0.00 +vt 0.05 0.01 0.00 +vt 0.02 0.10 0.00 +vt 0.02 0.01 0.00 +vt 0.38 0.10 0.00 +vt 0.35 0.10 0.00 +vt 0.35 0.01 0.00 +vt 0.38 0.01 0.00 +vt 0.32 0.10 0.00 +vt 0.32 0.01 0.00 +vt 0.29 0.10 0.00 +vt 0.29 0.01 0.00 +vt 0.27 0.10 0.00 +vt 0.27 0.01 0.00 +vt 0.24 0.10 0.00 +vt 0.24 0.01 0.00 +vt 0.21 0.10 0.00 +vt 0.21 0.01 0.00 +vt 0.17 0.10 0.00 +vt 0.17 0.01 0.00 +vt 0.13 0.10 0.00 +vt 0.13 0.01 0.00 +vt 0.34 0.56 0.00 +vt 0.37 0.56 0.00 +vt 0.37 0.57 0.00 +vt 0.34 0.57 0.00 +vt 0.30 0.56 0.00 +vt 0.30 0.57 0.00 +vt 0.27 0.56 0.00 +vt 0.27 0.57 0.00 +vt 0.61 0.56 0.00 +vt 0.64 0.56 0.00 +vt 0.64 0.57 0.00 +vt 0.61 0.57 0.00 +vt 0.58 0.56 0.00 +vt 0.58 0.57 0.00 +vt 0.55 0.56 0.00 +vt 0.55 0.57 0.00 +vt 0.52 0.56 0.00 +vt 0.52 0.57 0.00 +vt 0.49 0.56 0.00 +vt 0.49 0.57 0.00 +vt 0.46 0.56 0.00 +vt 0.46 0.57 0.00 +vt 0.43 0.56 0.00 +vt 0.43 0.57 0.00 +vt 0.40 0.56 0.00 +vt 0.40 0.57 0.00 +vt 0.97 0.27 0.00 +vt 0.96 0.28 0.00 +vt 0.94 0.27 0.00 +vt 0.93 0.26 0.00 +vt 0.93 0.25 0.00 +vt 0.93 0.24 0.00 +vt 0.93 0.23 0.00 +vt 0.94 0.23 0.00 +vt 0.94 0.22 0.00 +vt 0.96 0.22 0.00 +vt 0.97 0.23 0.00 +vt 0.97 0.22 0.00 +vt 0.98 0.24 0.00 +vt 0.98 0.23 0.00 +vt 0.99 0.25 0.00 +vt 0.98 0.26 0.00 +vt 0.81 0.06 0.00 +vt 0.81 0.16 0.00 +vt 0.78 0.16 0.00 +vt 0.78 0.06 0.00 +vt 0.76 0.16 0.00 +vt 0.76 0.06 0.00 +vt 0.73 0.16 0.00 +vt 0.73 0.06 0.00 +vt 0.71 0.16 0.00 +vt 0.71 0.06 0.00 +vt 0.69 0.16 0.00 +vt 0.69 0.06 0.00 +vt 0.98 0.06 0.00 +vt 0.98 0.16 0.00 +vt 0.95 0.16 0.00 +vt 0.95 0.06 0.00 +vt 0.93 0.16 0.00 +vt 0.93 0.06 0.00 +vt 0.91 0.16 0.00 +vt 0.91 0.06 0.00 +vt 0.88 0.16 0.00 +vt 0.88 0.06 0.00 +vt 0.86 0.16 0.00 +vt 0.86 0.07 0.00 +vt 0.83 0.16 0.00 +vt 0.83 0.07 0.00 +vt 0.98 0.28 0.00 +vt 0.96 0.29 0.00 +vt 0.99 0.27 0.00 +vt 1.00 0.25 0.00 +vt 0.99 0.23 0.00 +vt 0.98 0.22 0.00 +vt 0.96 0.21 0.00 +vt 0.92 0.23 0.00 +vt 0.92 0.25 0.00 +vt 0.93 0.27 0.00 +vt 0.92 0.27 0.00 +vt 0.94 0.28 0.00 +vt 0.11 0.23 0.00 +vt 0.09 0.22 0.00 +vt 0.10 0.18 0.00 +vt 0.13 0.19 0.00 +vt 0.14 0.24 0.00 +vt 0.15 0.19 0.00 +vt 0.17 0.24 0.00 +vt 0.18 0.20 0.00 +vt 0.21 0.24 0.00 +vt 0.20 0.20 0.00 +vt 0.24 0.24 0.00 +vt 0.23 0.19 0.00 +vt 0.27 0.23 0.00 +vt 0.25 0.19 0.00 +vt 0.30 0.22 0.00 +vt 0.28 0.18 0.00 +vt 0.32 0.21 0.00 +vt 0.30 0.17 0.00 +vt 0.35 0.19 0.00 +vt 0.32 0.16 0.00 +vt 0.03 0.19 0.00 +vt 0.01 0.17 0.00 +vt 0.04 0.14 0.00 +vt 0.06 0.16 0.00 +vt 0.06 0.21 0.00 +vt 0.08 0.17 0.00 +vt 0.12 0.14 0.00 +vt 0.14 0.15 0.00 +vt 0.16 0.15 0.00 +vt 0.18 0.16 0.00 +vt 0.20 0.16 0.00 +vt 0.22 0.15 0.00 +vt 0.24 0.15 0.00 +vt 0.26 0.14 0.00 +vt 0.28 0.13 0.00 +vt 0.31 0.12 0.00 +vt 0.06 0.11 0.00 +vt 0.08 0.12 0.00 +vt 0.10 0.13 0.00 +vt 0.14 0.12 0.00 +vt 0.12 0.12 0.00 +vt 0.12 0.11 0.00 +vt 0.14 0.11 0.00 +vt 0.10 0.12 0.00 +vt 0.10 0.11 0.00 +vt 0.35 0.12 0.00 +vt 0.33 0.12 0.00 +vt 0.33 0.11 0.00 +vt 0.35 0.11 0.00 +vt 0.31 0.11 0.00 +vt 0.29 0.12 0.00 +vt 0.29 0.11 0.00 +vt 0.27 0.12 0.00 +vt 0.27 0.11 0.00 +vt 0.24 0.12 0.00 +vt 0.24 0.11 0.00 +vt 0.22 0.12 0.00 +vt 0.22 0.11 0.00 +vt 0.20 0.12 0.00 +vt 0.20 0.11 0.00 +vt 0.18 0.12 0.00 +vt 0.18 0.11 0.00 +vt 0.16 0.12 0.00 +vt 0.16 0.11 0.00 +vt 0.67 0.06 0.00 +vt 0.64 0.06 0.00 +vt 0.64 0.01 0.00 +vt 0.67 0.01 0.00 +vt 0.60 0.06 0.00 +vt 0.60 0.01 0.00 +vt 0.99 0.06 0.00 +vt 0.96 0.06 0.00 +vt 0.96 0.01 0.00 +vt 0.99 0.01 0.00 +vt 0.93 0.01 0.00 +vt 0.89 0.06 0.00 +vt 0.89 0.01 0.00 +vt 0.86 0.06 0.00 +vt 0.86 0.01 0.00 +vt 0.83 0.06 0.00 +vt 0.83 0.01 0.00 +vt 0.80 0.06 0.00 +vt 0.80 0.01 0.00 +vt 0.77 0.06 0.00 +vt 0.77 0.01 0.00 +vt 0.73 0.01 0.00 +vt 0.70 0.06 0.00 +vt 0.70 0.01 0.00 +vt 0.95 0.87 0.00 +vt 0.93 0.89 0.00 +vt 0.92 0.82 0.00 +vt 0.95 0.82 0.00 +vt 0.92 0.79 0.00 +vt 0.90 0.79 0.00 +vt 0.90 0.77 0.00 +vt 0.92 0.77 0.00 +vt 0.99 0.56 0.00 +vt 0.98 0.56 0.00 +vt 0.98 0.52 0.00 +vt 0.99 0.52 0.00 +vt 0.93 0.78 0.00 +vt 0.96 0.78 0.00 +vt 0.96 0.79 0.00 +vt 0.96 0.81 0.00 +vt 0.94 0.81 0.00 +vt 0.93 0.90 0.00 +vt 0.95 0.88 0.00 +vt 0.96 0.88 0.00 +vt 0.89 0.79 0.00 +vt 0.89 0.81 0.00 +vt 0.90 0.87 0.00 +vt 0.90 0.82 0.00 +vt 0.99 0.60 0.00 +vt 0.98 0.60 0.00 +vt 0.99 0.66 0.00 +vt 0.99 0.59 0.00 +vt 0.99 0.46 0.00 +vt 0.92 0.76 0.00 +vt 0.86 0.76 0.00 +vt 0.86 0.77 0.00 +vt 0.96 0.83 0.00 +vt 0.95 0.83 0.00 +vt 0.98 0.66 0.00 +vt 0.98 0.46 0.00 +vt 0.96 0.76 0.00 +vt 0.92 0.75 0.00 +vt 0.96 0.75 0.00 +vt 0.86 0.75 0.00 +vt 0.93 0.77 0.00 +vt 0.96 0.77 0.00 +vt 0.97 0.76 0.00 +vt 0.97 0.77 0.00 +vt 0.97 0.75 0.00 +vt 0.97 0.79 0.00 +vt 0.98 0.80 0.00 +vt 0.97 0.78 0.00 +vt 0.62 0.90 0.00 +vt 0.63 0.90 0.00 +vt 0.63 0.93 0.00 +vt 0.62 0.93 0.00 +vt 0.66 0.90 0.00 +vt 0.64 0.93 0.00 +vt 0.64 0.98 0.00 +vt 0.66 0.98 0.00 +vt 0.63 0.99 0.00 +vt 0.62 0.99 0.00 +vt 0.60 0.18 0.00 +vt 0.63 0.18 0.00 +vt 0.63 0.20 0.00 +vt 0.60 0.20 0.00 +vt 0.56 0.18 0.00 +vt 0.56 0.20 0.00 +vt 0.53 0.18 0.00 +vt 0.53 0.20 0.00 +vt 0.89 0.18 0.00 +vt 0.92 0.18 0.00 +vt 0.92 0.20 0.00 +vt 0.89 0.20 0.00 +vt 0.86 0.18 0.00 +vt 0.86 0.20 0.00 +vt 0.82 0.18 0.00 +vt 0.82 0.20 0.00 +vt 0.79 0.18 0.00 +vt 0.79 0.20 0.00 +vt 0.76 0.18 0.00 +vt 0.76 0.20 0.00 +vt 0.73 0.18 0.00 +vt 0.73 0.20 0.00 +vt 0.69 0.18 0.00 +vt 0.69 0.20 0.00 +vt 0.66 0.18 0.00 +vt 0.66 0.20 0.00 +vt 0.86 0.88 0.00 +vt 0.83 0.89 0.00 +vt 0.83 0.88 0.00 +vt 0.85 0.88 0.00 +vt 0.88 0.87 0.00 +vt 0.87 0.86 0.00 +vt 0.88 0.84 0.00 +vt 0.88 0.81 0.00 +vt 0.87 0.82 0.00 +vt 0.86 0.79 0.00 +vt 0.85 0.80 0.00 +vt 0.83 0.79 0.00 +vt 0.83 0.80 0.00 +vt 0.81 0.79 0.00 +vt 0.81 0.80 0.00 +vt 0.79 0.81 0.00 +vt 0.79 0.82 0.00 +vt 0.78 0.84 0.00 +vt 0.79 0.84 0.00 +vt 0.79 0.87 0.00 +vt 0.79 0.86 0.00 +vt 0.81 0.88 0.00 +vt 0.60 0.67 0.00 +vt 0.58 0.67 0.00 +vt 0.58 0.66 0.00 +vt 0.61 0.66 0.00 +vt 0.64 0.67 0.00 +vt 0.64 0.66 0.00 +vt 0.68 0.67 0.00 +vt 0.68 0.66 0.00 +vt 0.72 0.67 0.00 +vt 0.72 0.66 0.00 +vt 0.76 0.67 0.00 +vt 0.76 0.66 0.00 +vt 0.79 0.67 0.00 +vt 0.79 0.66 0.00 +vt 0.81 0.67 0.00 +vt 0.81 0.66 0.00 +vt 0.84 0.67 0.00 +vt 0.84 0.66 0.00 +vt 0.88 0.67 0.00 +vt 0.88 0.66 0.00 +vt 0.53 0.67 0.00 +vt 0.49 0.67 0.00 +vt 0.50 0.66 0.00 +vt 0.53 0.66 0.00 +vt 0.56 0.67 0.00 +vt 0.56 0.66 0.00 +vt 0.66 0.16 0.00 +vt 0.63 0.17 0.00 +vt 0.63 0.12 0.00 +vt 0.68 0.14 0.00 +vt 0.68 0.12 0.00 +vt 0.68 0.09 0.00 +vt 0.66 0.07 0.00 +vt 0.63 0.07 0.00 +vt 0.61 0.07 0.00 +vt 0.59 0.09 0.00 +vt 0.59 0.12 0.00 +vt 0.59 0.14 0.00 +vt 0.61 0.16 0.00 +vt 0.60 0.21 0.00 +vt 0.56 0.21 0.00 +vt 0.64 0.68 0.00 +vt 0.60 0.68 0.00 +vt 0.92 0.21 0.00 +vt 0.89 0.21 0.00 +vt 0.72 0.68 0.00 +vt 0.68 0.68 0.00 +vt 0.86 0.21 0.00 +vt 0.82 0.21 0.00 +vt 0.79 0.68 0.00 +vt 0.76 0.68 0.00 +vt 0.79 0.21 0.00 +vt 0.76 0.21 0.00 +vt 0.84 0.68 0.00 +vt 0.81 0.68 0.00 +vt 0.73 0.21 0.00 +vt 0.69 0.21 0.00 +vt 0.53 0.68 0.00 +vt 0.49 0.68 0.00 +vt 0.66 0.21 0.00 +vt 0.63 0.21 0.00 +vt 0.58 0.68 0.00 +vt 0.56 0.68 0.00 +vt 0.24 0.62 0.00 +vt 0.00 0.62 0.00 +vt 0.05 0.71 0.00 +vt 0.19 0.71 0.00 +vt 0.00 0.41 0.00 +vt 0.28 0.41 0.00 +vt 0.24 0.49 0.00 +vt 0.05 0.49 0.00 +vt 0.01 0.52 0.00 +vt 0.29 0.52 0.00 +vt 0.24 0.59 0.00 +vt 0.05 0.59 0.00 +vt 0.38 0.32 0.00 +vt 0.53 0.32 0.00 +vt 0.53 0.42 0.00 +vt 0.38 0.42 0.00 +vt 0.67 0.21 0.00 +vt 0.49 0.21 0.00 +vt 0.49 0.30 0.00 +vt 0.67 0.30 0.00 +vt 0.46 0.89 0.00 +vt 0.27 0.89 0.00 +vt 0.27 0.99 0.00 +vt 0.46 0.99 0.00 +vt 0.62 0.80 0.00 +vt 0.77 0.80 0.00 +vt 0.77 0.88 0.00 +vt 0.62 0.88 0.00 +vt 0.24 0.73 0.00 +vt 0.32 0.73 0.00 +vt 0.31 0.72 0.00 +vt 0.24 0.72 0.00 +vt 0.32 0.63 0.00 +vt 0.31 0.64 0.00 +vt 0.24 0.63 0.00 +vt 0.24 0.64 0.00 +vt 0.19 0.33 0.00 +vt 0.19 0.25 0.00 +vt 0.20 0.27 0.00 +vt 0.20 0.31 0.00 +vt 0.31 0.25 0.00 +vt 0.30 0.27 0.00 +vt 0.31 0.33 0.00 +vt 0.30 0.31 0.00 +vt 0.14 0.26 0.00 +vt 0.14 0.40 0.00 +vt 0.18 0.34 0.00 +vt 0.18 0.26 0.00 +vt 0.36 0.40 0.00 +vt 0.32 0.34 0.00 +vt 0.36 0.26 0.00 +vt 0.32 0.26 0.00 +vt 0.49 0.15 0.00 +vt 0.49 0.25 0.00 +vt 0.36 0.25 0.00 +vt 0.36 0.15 0.00 +vt 0.41 0.01 0.00 +vt 0.58 0.01 0.00 +vt 0.58 0.14 0.00 +vt 0.41 0.14 0.00 +vt 0.58 0.42 0.00 +vt 0.58 0.54 0.00 +vt 0.45 0.53 0.00 +vt 0.45 0.45 0.00 +vt 0.71 0.95 0.00 +vt 0.66 0.89 0.00 +vt 0.14 0.94 0.00 +vt 0.01 0.95 0.00 +vt 0.76 0.89 0.00 +vt 0.32 0.41 0.00 +vt 0.32 0.53 0.00 +vt 0.27 0.95 0.00 +vt 0.80 0.98 0.00 +vt 0.80 0.93 0.00 +vt 0.81 0.93 0.00 +vt 0.81 0.98 0.00 +vt 0.78 0.98 0.00 +vt 0.78 0.93 0.00 +vt 0.77 0.93 0.00 +vt 0.77 0.98 0.00 +vt 0.77 0.99 0.00 +vt 0.78 0.99 0.00 +vt 0.73 0.93 0.00 +vt 0.74 0.93 0.00 +vt 0.74 0.98 0.00 +vt 0.73 0.98 0.00 +vt 0.76 0.98 0.00 +vt 0.86 0.48 0.00 +vt 0.86 0.45 0.00 +vt 0.94 0.45 0.00 +vt 0.94 0.48 0.00 +vt 0.95 0.40 0.00 +vt 0.99 0.40 0.00 +vt 0.99 0.45 0.00 +vt 0.95 0.45 0.00 +vt 0.99 0.35 0.00 +vt 0.90 0.35 0.00 +vt 0.90 0.39 0.00 +vt 0.99 0.39 0.00 +vt 0.68 0.24 0.00 +vt 0.71 0.24 0.00 +vt 0.71 0.62 0.00 +vt 0.68 0.62 0.00 +vt 0.61 0.69 0.00 +vt 0.80 0.69 0.00 +vt 0.80 0.76 0.00 +vt 0.61 0.76 0.00 +vt 0.87 0.95 0.00 +vt 0.86 0.97 0.00 +vt 0.86 0.91 0.00 +vt 0.87 0.91 0.00 +vt 0.90 0.94 0.00 +vt 0.90 0.91 0.00 +vt 0.91 0.91 0.00 +vt 0.91 0.94 0.00 +vt 0.98 0.83 0.00 +vt 0.98 0.76 0.00 +vt 0.89 0.94 0.00 +vt 0.89 0.91 0.00 +vt 0.95 0.93 0.00 +vt 0.97 0.93 0.00 +vt 0.97 0.94 0.00 +vt 0.97 0.97 0.00 +vt 0.97 0.99 0.00 +vt 0.96 0.99 0.00 +vt 0.86 0.98 0.00 +vt 0.87 0.97 0.00 +vt 0.88 0.97 0.00 +vt 0.86 0.99 0.00 +vt 0.90 0.99 0.00 +vt 0.90 0.97 0.00 +vt 0.91 0.99 0.00 +vt 0.93 0.97 0.00 +vt 0.93 0.98 0.00 +vt 0.85 0.95 0.00 +vt 0.85 0.91 0.00 +vt 0.98 0.90 0.00 +vt 0.93 0.93 0.00 +vt 0.84 0.97 0.00 +vt 0.85 0.97 0.00 +vt 0.99 0.78 0.00 +vt 0.99 0.67 0.00 +vt 0.99 0.83 0.00 +vt 0.99 0.89 0.00 +vt 0.99 0.99 0.00 +vt 0.93 0.95 0.00 +vt 0.93 0.96 0.00 +vt 0.90 0.96 0.00 +vt 0.90 0.95 0.00 +vt 0.96 0.95 0.00 +vt 0.96 0.96 0.00 +vt 0.84 0.92 0.00 +vt 0.85 0.92 0.00 +vt 0.98 0.99 0.00 +vt 0.98 0.67 0.00 +vt 0.88 0.92 0.00 +vt 0.97 0.95 0.00 +vt 0.89 0.95 0.00 +vt 0.95 0.92 0.00 +vt 0.97 0.92 0.00 +vt 0.93 0.92 0.00 +vt 0.98 0.95 0.00 +vt 0.98 0.96 0.00 +vt 0.97 0.96 0.00 +vt 0.98 0.94 0.00 +vt 0.89 0.99 0.00 +vt 0.89 0.97 0.00 +vt 0.88 0.96 0.00 +vt 0.88 0.95 0.00 +vt 0.89 0.96 0.00 +vt 0.04 0.35 0.00 +vt 0.04 0.25 0.00 +vt 0.07 0.25 0.00 +vt 0.07 0.36 0.00 +vt 0.13 0.33 0.00 +vt 0.10 0.35 0.00 +vt 0.10 0.25 0.00 +vt 0.13 0.25 0.00 +vt 0.01 0.33 0.00 +vt 0.01 0.25 0.00 +vt 0.93 0.52 0.00 +vt 0.94 0.52 0.00 +vt 0.94 0.58 0.00 +vt 0.93 0.58 0.00 +vt 0.92 0.49 0.00 +vt 0.91 0.49 0.00 +vt 0.91 0.54 0.00 +vt 0.92 0.55 0.00 +vt 0.97 0.52 0.00 +vt 0.95 0.52 0.00 +vt 0.95 0.58 0.00 +vt 0.97 0.58 0.00 +vt 0.94 0.64 0.00 +vt 0.93 0.64 0.00 +vt 0.89 0.58 0.00 +vt 0.89 0.59 0.00 +vt 0.95 0.64 0.00 +vt 0.97 0.64 0.00 +vt 0.94 0.69 0.00 +vt 0.93 0.69 0.00 +vt 0.86 0.59 0.00 +vt 0.86 0.61 0.00 +vt 0.95 0.69 0.00 +vt 0.97 0.69 0.00 +vt 0.83 0.58 0.00 +vt 0.83 0.59 0.00 +vt 0.81 0.54 0.00 +vt 0.80 0.55 0.00 +vt 0.81 0.49 0.00 +vt 0.80 0.49 0.00 +vt 0.82 0.22 0.00 +vt 0.85 0.22 0.00 +vt 0.84 0.39 0.00 +vt 0.81 0.39 0.00 +vt 0.76 0.22 0.00 +vt 0.80 0.22 0.00 +vt 0.79 0.38 0.00 +vt 0.76 0.38 0.00 +vt 0.82 0.52 0.00 +vt 0.85 0.52 0.00 +vt 0.80 0.51 0.00 +vt 0.76 0.53 0.00 +vt 0.18 0.92 0.00 +vt 0.09 0.92 0.00 +vt 0.09 0.93 0.00 +vt 0.18 0.93 0.00 +vt 0.00 0.90 0.00 +vt 0.10 0.89 0.00 +vt 0.10 0.90 0.00 +vt 0.00 0.91 0.00 +vt 0.00 0.92 0.00 +vt 0.00 0.93 0.00 +vt 0.20 0.90 0.00 +vt 0.20 0.91 0.00 +vt 0.20 0.93 0.00 +vt 0.23 0.90 0.00 +vt 0.23 0.93 0.00 +vt 0.26 0.76 0.00 +vt 0.26 0.90 0.00 +vt 0.22 0.84 0.00 +vt 0.22 0.76 0.00 +vt 0.11 0.81 0.00 +vt 0.11 0.87 0.00 +vt 0.02 0.88 0.00 +vt 0.02 0.81 0.00 +vt 0.31 0.84 0.00 +vt 0.31 0.76 0.00 +vt 0.11 0.74 0.00 +vt 0.11 0.80 0.00 +vt 0.01 0.80 0.00 +vt 0.01 0.74 0.00 +vt 0.20 0.81 0.00 +vt 0.20 0.88 0.00 +vt 0.20 0.74 0.00 +vt 0.20 0.80 0.00 +vt 0.36 0.65 0.00 +vt 0.36 0.75 0.00 +vt 0.34 0.75 0.00 +vt 0.33 0.65 0.00 +vt 0.36 0.89 0.00 +vt 0.33 0.87 0.00 +vt 0.45 0.67 0.00 +vt 0.45 0.76 0.00 +vt 0.43 0.76 0.00 +vt 0.42 0.67 0.00 +vt 0.45 0.89 0.00 +vt 0.42 0.89 0.00 +vt 0.41 0.66 0.00 +vt 0.38 0.66 0.00 +vt 0.39 0.77 0.00 +vt 0.41 0.77 0.00 +vt 0.38 0.88 0.00 +vt 0.41 0.88 0.00 +vt 0.72 0.62 0.00 +vt 0.72 0.52 0.00 +vt 0.73 0.52 0.00 +vt 0.73 0.62 0.00 +vt 0.74 0.62 0.00 +vt 0.74 0.43 0.00 +vt 0.73 0.43 0.00 +vt 0.59 0.58 0.00 +vt 0.64 0.58 0.00 +vt 0.64 0.63 0.00 +vt 0.59 0.63 0.00 +vt 0.75 0.42 0.00 +vt 0.73 0.42 0.00 +vt 0.73 0.36 0.00 +vt 0.75 0.36 0.00 +vt 0.92 0.71 0.00 +vt 0.97 0.71 0.00 +vt 0.92 0.73 0.00 +vt 0.73 0.29 0.00 +vt 0.73 0.24 0.00 +vt 0.75 0.24 0.00 +vt 0.75 0.29 0.00 +vt 0.86 0.72 0.00 +vt 0.86 0.73 0.00 +vt 0.81 0.72 0.00 +vt 0.81 0.70 0.00 +vt 0.73 0.33 0.00 +vt 0.75 0.33 0.00 +vt 0.89 0.74 0.00 +vt 0.89 0.72 0.00 +vt 0.83 0.62 0.00 +vt 0.92 0.62 0.00 +vt 0.92 0.61 0.00 +vt 0.83 0.61 0.00 +vt 0.83 0.63 0.00 +vt 0.92 0.63 0.00 +vt 0.71 0.65 0.00 +vt 0.71 0.66 0.00 +vt 0.75 0.66 0.00 +vt 0.75 0.65 0.00 +vt 0.71 0.64 0.00 +vt 0.75 0.64 0.00 +vt 0.58 0.64 0.00 +vt 0.62 0.66 0.00 +vt 0.62 0.64 0.00 +vt 0.92 0.64 0.00 +vt 0.83 0.64 0.00 +vt 0.75 0.61 0.00 +vt 0.75 0.62 0.00 +vt 0.75 0.63 0.00 +vt 0.67 0.66 0.00 +vt 0.67 0.64 0.00 +vt 0.41 0.65 0.00 +vt 0.41 0.57 0.00 +vt 0.44 0.57 0.00 +vt 0.44 0.66 0.00 +vt 0.48 0.65 0.00 +vt 0.48 0.57 0.00 +# 694 texture coords + +o castle +g castle +f 1/1/1 2/2/2 3/3/2 +f 3/3/2 4/4/1 1/1/1 +f 2/2/2 5/5/3 6/6/3 +f 6/6/3 3/3/2 2/2/2 +f 5/5/3 7/7/4 8/8/4 +f 8/8/4 6/6/3 5/5/3 +f 7/9/4 9/10/5 10/11/5 +f 10/11/5 8/12/4 7/9/4 +f 9/10/5 11/13/6 12/14/6 +f 12/14/6 10/11/5 9/10/5 +f 11/13/6 13/15/7 14/16/7 +f 14/16/7 12/14/6 11/13/6 +f 13/15/7 15/17/8 16/18/8 +f 16/18/8 14/16/7 13/15/7 +f 15/17/8 17/19/9 18/20/9 +f 18/20/9 16/18/8 15/17/8 +f 17/19/9 19/21/10 20/22/10 +f 20/22/10 18/20/9 17/19/9 +f 19/21/10 21/23/11 22/24/11 +f 22/24/11 20/22/10 19/21/10 +f 21/23/11 23/25/12 24/26/12 +f 24/26/12 22/24/11 21/23/11 +f 23/25/12 1/1/1 4/4/1 +f 4/4/1 24/26/12 23/25/12 +f 25/27/13 26/28/13 27/29/13 +f 27/29/13 28/30/13 25/27/13 +f 29/31/14 25/27/14 28/30/14 +f 28/30/14 30/32/14 29/31/14 +f 31/33/15 29/31/15 30/32/15 +f 30/32/15 32/34/15 31/33/15 +f 33/35/16 31/36/16 32/37/16 +f 32/37/16 34/38/16 33/35/16 +f 35/39/17 33/35/17 34/38/17 +f 34/38/17 36/40/17 35/39/17 +f 37/41/18 35/39/18 36/40/18 +f 36/40/18 38/42/18 37/41/18 +f 39/43/19 37/41/19 38/42/19 +f 38/42/19 40/44/19 39/43/19 +f 41/45/20 39/43/20 40/44/20 +f 40/44/20 42/46/20 41/45/20 +f 43/47/21 41/45/21 42/46/21 +f 42/46/21 44/48/21 43/47/21 +f 45/49/22 43/47/22 44/48/22 +f 44/48/22 46/50/22 45/49/22 +f 47/51/23 45/49/23 46/50/23 +f 46/50/23 48/52/23 47/51/23 +f 26/28/24 47/51/25 48/52/25 +f 48/52/25 27/29/24 26/28/24 +f 2/53/26 1/54/26 26/54/26 +f 26/54/26 25/53/26 2/53/26 +f 1/54/26 23/55/26 47/55/26 +f 47/55/26 26/54/26 1/54/26 +f 23/55/26 21/56/26 45/56/26 +f 45/56/26 47/55/26 23/55/26 +f 21/56/26 19/57/26 43/57/26 +f 43/57/26 45/56/26 21/56/26 +f 19/57/26 17/58/26 41/59/26 +f 41/59/26 43/57/26 19/57/26 +f 17/58/26 15/60/26 39/61/26 +f 39/61/26 41/59/26 17/58/26 +f 15/60/26 13/62/26 37/62/26 +f 37/62/26 39/61/26 15/60/26 +f 13/62/26 11/63/26 35/64/26 +f 35/64/26 37/62/26 13/62/26 +f 11/63/26 9/65/26 33/66/26 +f 33/66/26 35/64/26 11/63/26 +f 9/65/26 7/67/26 31/67/26 +f 31/67/26 33/66/26 9/65/26 +f 7/67/26 5/68/26 29/68/26 +f 29/68/26 31/67/26 7/67/26 +f 5/68/26 2/53/26 25/53/26 +f 25/53/26 29/68/26 5/68/26 +f 49/54/27 50/53/27 28/53/27 +f 28/53/27 27/54/27 49/54/27 +f 50/53/27 51/68/27 30/68/27 +f 30/68/27 28/53/27 50/53/27 +f 51/68/27 52/67/27 32/67/27 +f 32/67/27 30/68/27 51/68/27 +f 52/67/27 53/65/27 34/66/27 +f 34/66/27 32/67/27 52/67/27 +f 53/65/27 54/63/27 36/64/27 +f 36/64/27 34/66/27 53/65/27 +f 54/63/27 55/62/27 38/62/27 +f 38/62/27 36/64/27 54/63/27 +f 55/62/27 56/60/27 40/61/27 +f 40/61/27 38/62/27 55/62/27 +f 56/60/27 57/58/27 42/59/27 +f 42/59/27 40/61/27 56/60/27 +f 57/58/27 58/57/27 44/57/27 +f 44/57/27 42/59/27 57/58/27 +f 58/57/27 59/56/27 46/56/27 +f 46/56/27 44/57/27 58/57/27 +f 59/56/27 60/55/27 48/55/27 +f 48/55/27 46/56/27 59/56/27 +f 60/55/27 49/54/27 27/54/27 +f 27/54/27 48/55/27 60/55/27 +f 49/69/1 61/70/1 62/71/2 +f 62/71/2 50/72/2 49/69/1 +f 50/72/2 62/71/2 63/73/14 +f 63/73/14 51/74/14 50/72/2 +f 51/74/15 63/73/15 64/75/15 +f 64/75/15 52/76/15 51/74/15 +f 52/76/16 64/75/16 65/77/5 +f 65/77/5 53/78/5 52/76/16 +f 53/78/5 65/77/5 66/79/6 +f 66/79/6 54/80/6 53/78/5 +f 54/81/6 66/82/6 67/83/7 +f 67/83/7 55/84/7 54/81/6 +f 55/84/7 67/83/7 68/85/8 +f 68/85/8 56/86/8 55/84/7 +f 56/86/8 68/85/8 69/87/9 +f 69/87/9 57/88/9 56/86/8 +f 57/88/9 69/87/9 70/89/10 +f 70/89/10 58/90/10 57/88/9 +f 58/90/10 70/89/10 71/91/11 +f 71/91/11 59/92/11 58/90/10 +f 59/92/11 71/91/11 72/93/12 +f 72/93/12 60/94/12 59/92/11 +f 60/94/12 72/93/12 61/70/1 +f 61/70/1 49/69/1 60/94/12 +f 73/95/26 74/96/26 75/96/26 +f 75/96/26 76/95/26 73/95/26 +f 77/97/26 73/95/26 76/95/26 +f 76/95/26 78/97/26 77/97/26 +f 79/67/26 77/97/26 78/97/26 +f 78/97/26 80/98/26 79/67/26 +f 81/99/26 79/67/26 80/98/26 +f 80/98/26 82/99/26 81/99/26 +f 83/100/26 81/99/26 82/99/26 +f 82/99/26 84/100/26 83/100/26 +f 85/101/26 83/100/26 84/100/26 +f 84/100/26 86/101/26 85/101/26 +f 87/61/26 85/101/26 86/101/26 +f 86/101/26 88/61/26 87/61/26 +f 89/59/26 87/61/26 88/61/26 +f 88/61/26 90/102/26 89/59/26 +f 91/103/26 89/59/26 90/102/26 +f 90/102/26 92/103/26 91/103/26 +f 93/104/26 91/103/26 92/103/26 +f 92/103/26 94/105/26 93/104/26 +f 95/106/26 93/104/26 94/105/26 +f 94/105/26 96/106/26 95/106/26 +f 74/96/26 95/106/26 96/106/26 +f 96/106/26 75/96/26 74/96/26 +f 76/107/28 75/108/28 97/109/28 +f 97/109/28 98/110/28 76/107/28 +f 78/111/29 76/107/29 98/110/29 +f 98/110/29 99/112/29 78/111/29 +f 80/113/30 78/111/30 99/112/30 +f 99/112/30 100/114/30 80/113/30 +f 82/115/31 80/113/31 100/114/31 +f 100/114/31 101/116/31 82/115/31 +f 84/117/32 82/115/32 101/116/32 +f 101/116/32 102/118/32 84/117/32 +f 86/119/33 84/117/33 102/118/33 +f 102/118/33 103/120/33 86/119/33 +f 88/121/34 86/119/34 103/120/34 +f 103/120/34 104/122/34 88/121/34 +f 90/123/35 88/121/35 104/122/35 +f 104/122/35 105/124/35 90/123/35 +f 92/125/36 90/123/36 105/124/36 +f 105/124/36 106/126/36 92/125/36 +f 94/127/37 92/128/37 106/129/37 +f 106/129/37 107/130/37 94/127/37 +f 96/131/38 94/127/38 107/130/38 +f 107/130/38 108/132/38 96/131/38 +f 75/108/39 96/131/39 108/132/39 +f 108/132/39 97/109/39 75/108/39 +f 98/110/40 97/109/40 109/133/40 +f 109/133/40 110/134/40 98/110/40 +f 99/112/41 98/110/41 110/134/41 +f 110/134/41 111/135/41 99/112/41 +f 100/114/42 99/112/42 111/135/42 +f 111/135/42 112/136/43 100/114/42 +f 101/116/44 100/114/44 112/136/44 +f 112/136/44 113/137/44 101/116/44 +f 102/118/45 101/116/45 113/137/45 +f 113/137/45 114/138/45 102/118/45 +f 103/120/46 102/118/46 114/138/46 +f 114/138/46 115/139/46 103/120/46 +f 104/122/47 103/120/48 115/139/48 +f 115/139/48 116/140/48 104/122/47 +f 105/124/49 104/122/49 116/140/49 +f 116/140/49 117/141/49 105/124/49 +f 106/126/50 105/124/50 117/141/50 +f 117/141/50 118/142/50 106/126/50 +f 107/130/51 106/129/51 118/143/52 +f 118/143/52 119/144/51 107/130/51 +f 108/132/53 107/130/53 119/144/53 +f 119/144/53 120/145/53 108/132/53 +f 97/109/54 108/132/55 120/145/54 +f 120/145/54 109/133/54 97/109/54 +f 121/146/56 122/147/56 62/148/56 +f 62/148/56 61/149/56 121/146/56 +f 122/147/57 123/150/58 63/151/58 +f 63/151/58 62/148/57 122/147/57 +f 123/152/59 124/153/59 64/154/59 +f 64/154/59 63/155/59 123/152/59 +f 124/153/60 125/142/60 65/156/60 +f 65/156/60 64/154/60 124/153/60 +f 125/142/61 126/157/62 66/158/61 +f 66/158/61 65/156/62 125/142/61 +f 126/157/63 127/159/63 67/160/63 +f 67/160/63 66/158/63 126/157/63 +f 127/159/64 128/161/64 68/162/64 +f 68/162/64 67/160/64 127/159/64 +f 128/161/65 129/163/66 69/164/66 +f 69/164/66 68/162/66 128/161/65 +f 129/163/67 130/165/67 70/166/67 +f 70/166/67 69/164/67 129/163/67 +f 130/165/68 131/167/68 71/168/68 +f 71/168/68 70/166/68 130/165/68 +f 131/167/69 132/169/70 72/170/70 +f 72/170/70 71/168/70 131/167/69 +f 132/169/71 121/146/71 61/149/71 +f 61/149/71 72/170/71 132/169/71 +f 74/171/1 73/172/2 122/173/2 +f 122/173/2 121/174/1 74/171/1 +f 73/172/2 77/175/3 123/176/3 +f 123/176/3 122/173/2 73/172/2 +f 77/177/3 79/178/4 124/179/4 +f 124/179/4 123/180/3 77/177/3 +f 79/178/4 81/86/5 125/181/5 +f 125/181/5 124/179/4 79/178/4 +f 81/86/5 83/182/6 126/183/6 +f 126/183/6 125/181/5 81/86/5 +f 83/182/6 85/184/7 127/185/7 +f 127/185/7 126/183/6 83/182/6 +f 85/184/7 87/186/8 128/187/8 +f 128/187/8 127/185/7 85/184/7 +f 87/186/8 89/188/9 129/189/9 +f 129/189/9 128/187/8 87/186/8 +f 89/188/9 91/190/10 130/191/10 +f 130/191/10 129/189/9 89/188/9 +f 91/190/10 93/76/11 131/192/11 +f 131/192/11 130/191/10 91/190/10 +f 93/76/11 95/193/12 132/194/12 +f 132/194/12 131/192/11 93/76/11 +f 95/193/12 74/171/1 121/174/1 +f 121/174/1 132/194/12 95/193/12 +f 133/195/72 134/196/72 135/197/72 +f 135/197/72 136/198/72 133/195/72 +f 137/199/73 138/200/73 139/201/73 +f 139/201/73 140/202/73 137/199/73 +f 141/203/74 142/204/74 143/205/74 +f 143/205/74 144/206/74 141/203/74 +f 145/202/75 146/201/75 147/200/75 +f 147/200/75 148/199/75 145/202/75 +f 149/207/76 150/207/76 151/208/76 +f 151/208/76 152/209/76 149/207/76 +f 153/209/77 154/210/77 155/211/77 +f 142/212/78 156/196/78 157/213/78 +f 157/213/78 143/214/78 142/212/78 +f 158/210/79 159/209/79 160/211/79 +f 161/215/80 162/216/80 160/211/80 +f 160/211/80 159/209/80 161/215/80 +f 163/217/81 164/218/81 135/197/81 +f 135/197/81 134/196/81 163/217/81 +f 165/219/82 166/220/82 142/204/82 +f 142/204/82 141/203/82 165/219/82 +f 167/209/83 168/208/83 150/207/83 +f 150/207/83 149/207/83 167/209/83 +f 142/212/84 166/214/84 169/213/84 +f 169/213/84 156/196/84 142/212/84 +f 161/215/85 153/209/85 155/211/85 +f 155/211/85 162/216/85 161/215/85 +f 170/221/75 157/222/75 133/222/75 +f 133/222/75 136/221/75 170/221/75 +f 157/222/86 156/203/86 134/203/86 +f 134/203/86 133/222/86 157/222/86 +f 156/203/87 169/206/87 163/206/87 +f 163/206/87 134/203/87 156/203/87 +f 169/206/73 171/223/73 164/223/73 +f 164/223/73 163/206/73 169/206/73 +f 171/224/88 172/225/88 135/226/88 +f 135/226/88 164/224/88 171/224/88 +f 172/225/89 170/224/89 136/224/89 +f 136/224/89 135/226/89 172/225/89 +f 166/214/79 173/227/79 171/228/79 +f 171/228/79 169/213/79 166/214/79 +f 173/229/75 166/220/75 165/219/75 +f 165/219/75 174/221/75 173/229/75 +f 144/206/73 143/205/73 175/230/73 +f 175/230/73 176/223/73 144/206/73 +f 175/227/77 143/214/77 157/213/77 +f 157/213/77 170/228/77 175/227/77 +f 139/201/73 138/200/73 177/199/73 +f 177/199/73 178/202/73 139/201/73 +f 175/231/90 170/224/90 155/232/90 +f 155/232/90 154/233/91 175/231/90 +f 170/224/89 172/225/89 162/234/89 +f 162/234/89 155/232/89 170/224/89 +f 172/225/88 171/224/88 160/232/88 +f 160/232/88 162/234/88 172/225/88 +f 171/224/92 173/231/92 158/233/92 +f 158/233/92 160/232/92 171/224/92 +f 147/200/75 146/201/75 179/202/75 +f 179/202/75 180/199/75 147/200/75 +f 151/208/76 150/207/76 161/235/76 +f 161/235/76 159/236/76 151/208/76 +f 150/207/83 168/208/83 153/236/83 +f 153/236/83 161/235/83 150/207/83 +f 176/236/27 175/231/27 138/237/27 +f 138/237/27 137/238/27 176/236/27 +f 175/231/27 154/233/27 177/239/27 +f 177/239/27 138/237/27 175/231/27 +f 154/210/93 153/209/93 178/240/94 +f 178/240/94 177/241/94 154/210/93 +f 153/236/26 168/208/26 139/242/26 +f 139/242/26 178/238/26 153/236/26 +f 168/208/26 167/209/26 140/240/26 +f 140/240/26 139/242/26 168/208/26 +f 152/209/26 151/208/26 146/242/26 +f 146/242/26 145/240/26 152/209/26 +f 151/208/26 159/236/26 179/238/26 +f 179/238/26 146/242/26 151/208/26 +f 159/209/95 158/210/95 180/241/95 +f 180/241/95 179/240/95 159/209/95 +f 158/233/27 173/231/27 147/237/27 +f 147/237/27 180/239/27 158/233/27 +f 173/231/27 174/236/27 148/238/27 +f 148/238/27 147/237/27 173/231/27 +f 181/195/96 182/196/96 183/197/96 +f 183/197/96 184/198/96 181/195/96 +f 185/199/97 186/200/98 187/201/98 +f 187/201/98 188/202/97 185/199/97 +f 189/203/99 190/204/99 191/205/99 +f 191/205/99 192/206/99 189/203/99 +f 193/202/100 194/201/101 195/200/101 +f 195/200/101 196/199/100 193/202/100 +f 197/207/102 198/207/102 199/208/102 +f 199/208/102 200/209/102 197/207/102 +f 201/209/103 202/210/103 203/211/103 +f 190/212/104 204/196/104 205/213/104 +f 205/213/104 191/214/104 190/212/104 +f 206/210/105 207/209/105 208/211/105 +f 209/215/106 210/216/106 208/211/106 +f 208/211/106 207/209/106 209/215/106 +f 211/217/107 212/218/107 183/197/107 +f 183/197/107 182/196/107 211/217/107 +f 213/219/108 214/220/108 190/204/108 +f 190/204/108 189/203/108 213/219/108 +f 215/209/109 216/208/109 198/207/109 +f 198/207/109 197/207/109 215/209/109 +f 190/212/110 214/214/110 217/213/110 +f 217/213/110 204/196/110 190/212/110 +f 209/215/111 201/209/111 203/211/111 +f 203/211/111 210/216/111 209/215/111 +f 218/221/100 205/222/100 181/222/101 +f 181/222/101 184/221/101 218/221/100 +f 205/222/112 204/203/112 182/203/112 +f 182/203/112 181/222/112 205/222/112 +f 204/203/113 217/206/113 211/206/113 +f 211/206/113 182/203/113 204/203/113 +f 217/206/98 219/223/98 212/223/98 +f 212/223/98 211/206/98 217/206/98 +f 219/224/114 220/225/114 183/226/114 +f 183/226/114 212/224/114 219/224/114 +f 220/225/115 218/224/115 184/224/115 +f 184/224/115 183/226/115 220/225/115 +f 214/214/105 221/227/105 219/228/105 +f 219/228/105 217/213/105 214/214/105 +f 221/229/100 214/220/100 213/219/100 +f 213/219/100 222/221/100 221/229/100 +f 192/206/98 191/205/98 223/230/98 +f 223/230/98 224/223/98 192/206/98 +f 223/227/103 191/214/103 205/213/103 +f 205/213/103 218/228/103 223/227/103 +f 187/201/98 186/200/98 225/199/97 +f 225/199/97 226/202/97 187/201/98 +f 223/231/116 218/224/116 203/232/116 +f 203/232/116 202/233/116 223/231/116 +f 218/224/115 220/225/115 210/234/115 +f 210/234/115 203/232/115 218/224/115 +f 220/225/114 219/224/114 208/232/114 +f 208/232/114 210/234/114 220/225/114 +f 219/224/117 221/231/117 206/233/117 +f 206/233/117 208/232/117 219/224/117 +f 195/200/101 194/201/101 227/202/100 +f 227/202/100 228/199/100 195/200/101 +f 199/208/102 198/207/102 209/235/102 +f 209/235/102 207/236/102 199/208/102 +f 198/207/109 216/208/109 201/236/109 +f 201/236/109 209/235/109 198/207/109 +f 224/236/27 223/231/27 186/237/27 +f 186/237/27 185/238/27 224/236/27 +f 223/231/27 202/233/27 225/239/27 +f 225/239/27 186/237/27 223/231/27 +f 202/210/118 201/209/118 226/240/118 +f 226/240/118 225/241/118 202/210/118 +f 201/236/26 216/208/26 187/242/26 +f 187/242/26 226/238/26 201/236/26 +f 216/208/26 215/209/26 188/240/26 +f 188/240/26 187/242/26 216/208/26 +f 200/209/26 199/208/26 194/242/26 +f 194/242/26 193/240/26 200/209/26 +f 199/208/26 207/236/26 227/238/26 +f 227/238/26 194/242/26 199/208/26 +f 207/209/119 206/210/119 228/241/119 +f 228/241/119 227/240/119 207/209/119 +f 206/233/27 221/231/27 195/237/27 +f 195/237/27 228/239/27 206/233/27 +f 221/231/27 222/236/27 196/238/27 +f 196/238/27 195/237/27 221/231/27 +f 229/243/120 230/244/120 231/245/120 +f 231/245/120 232/246/120 229/243/120 +f 229/247/121 232/248/121 233/249/121 +f 233/249/121 234/250/121 229/247/121 +f 232/246/122 231/245/122 235/251/122 +f 235/251/122 233/252/122 232/246/122 +f 231/248/123 230/247/123 236/250/123 +f 236/250/123 235/249/123 231/248/123 +f 237/195/124 238/196/124 239/197/124 +f 239/197/124 240/198/124 237/195/124 +f 241/199/125 242/200/98 243/201/98 +f 243/201/98 244/202/125 241/199/125 +f 245/203/99 246/204/99 247/205/99 +f 247/205/99 248/206/99 245/203/99 +f 249/202/100 250/201/101 251/200/101 +f 251/200/101 252/199/100 249/202/100 +f 253/207/102 254/207/102 255/208/102 +f 255/208/102 256/209/102 253/207/102 +f 257/209/103 258/210/103 259/211/103 +f 246/212/104 260/196/104 261/213/104 +f 261/213/104 247/214/104 246/212/104 +f 262/210/105 263/209/105 264/211/105 +f 265/215/106 266/216/106 264/211/106 +f 264/211/106 263/209/106 265/215/106 +f 267/217/107 268/218/107 239/197/107 +f 239/197/107 238/196/107 267/217/107 +f 269/219/126 270/220/126 246/204/108 +f 246/204/108 245/203/108 269/219/126 +f 271/209/109 272/208/109 254/207/109 +f 254/207/109 253/207/109 271/209/109 +f 246/212/110 270/214/110 273/213/110 +f 273/213/110 260/196/110 246/212/110 +f 265/215/111 257/209/111 259/211/111 +f 259/211/111 266/216/111 265/215/111 +f 274/221/100 261/222/100 237/222/100 +f 237/222/100 240/221/100 274/221/100 +f 261/222/112 260/203/112 238/203/112 +f 238/203/112 237/222/112 261/222/112 +f 260/203/113 273/206/113 267/206/113 +f 267/206/113 238/203/113 260/203/113 +f 273/206/98 275/223/98 268/223/98 +f 268/223/98 267/206/98 273/206/98 +f 275/224/114 276/225/114 239/226/114 +f 239/226/114 268/224/114 275/224/114 +f 276/225/115 274/224/115 240/224/115 +f 240/224/115 239/226/115 276/225/115 +f 270/214/105 277/227/105 275/228/105 +f 275/228/105 273/213/105 270/214/105 +f 277/229/101 270/220/101 269/219/101 +f 269/219/101 278/221/101 277/229/101 +f 248/206/98 247/205/97 279/230/97 +f 279/230/97 280/223/98 248/206/98 +f 279/227/103 247/214/103 261/213/103 +f 261/213/103 274/228/103 279/227/103 +f 243/201/98 242/200/98 281/199/97 +f 281/199/97 282/202/97 243/201/98 +f 279/231/116 274/224/116 259/232/116 +f 259/232/116 258/233/116 279/231/116 +f 274/224/115 276/225/115 266/234/115 +f 266/234/115 259/232/115 274/224/115 +f 276/225/114 275/224/114 264/232/114 +f 264/232/114 266/234/114 276/225/114 +f 275/224/117 277/231/117 262/233/117 +f 262/233/117 264/232/117 275/224/117 +f 251/200/101 250/201/101 283/202/100 +f 283/202/100 284/199/100 251/200/101 +f 255/208/102 254/207/102 265/235/102 +f 265/235/102 263/236/102 255/208/102 +f 254/207/109 272/208/109 257/236/109 +f 257/236/109 265/235/109 254/207/109 +f 280/236/27 279/231/27 242/237/27 +f 242/237/27 241/238/27 280/236/27 +f 279/231/27 258/233/27 281/239/27 +f 281/239/27 242/237/27 279/231/27 +f 258/210/118 257/209/118 282/240/118 +f 282/240/118 281/241/118 258/210/118 +f 257/236/26 272/208/26 243/242/26 +f 243/242/26 282/238/26 257/236/26 +f 272/208/26 271/209/26 244/240/26 +f 244/240/26 243/242/26 272/208/26 +f 256/209/26 255/208/26 250/242/26 +f 250/242/26 249/240/26 256/209/26 +f 255/208/26 263/236/26 283/238/26 +f 283/238/26 250/242/26 255/208/26 +f 263/209/119 262/210/119 284/241/119 +f 284/241/119 283/240/119 263/209/119 +f 262/233/27 277/231/27 251/237/27 +f 251/237/27 284/239/27 262/233/27 +f 277/231/27 278/236/27 252/238/27 +f 252/238/27 251/237/27 277/231/27 +f 285/243/127 286/244/127 287/245/127 +f 287/245/127 288/246/127 285/243/127 +f 285/247/128 288/248/128 289/249/128 +f 289/249/128 290/250/128 285/247/128 +f 288/246/129 287/245/129 291/251/129 +f 291/251/129 289/252/129 288/246/129 +f 287/248/130 286/247/130 292/250/130 +f 292/250/130 291/249/130 287/248/130 +f 293/195/131 294/196/131 295/197/131 +f 295/197/131 296/198/131 293/195/131 +f 297/199/75 298/200/75 299/201/75 +f 299/201/75 300/202/75 297/199/75 +f 301/203/132 302/204/132 303/205/132 +f 303/205/132 304/206/132 301/203/132 +f 305/202/73 306/201/73 307/200/73 +f 307/200/73 308/199/73 305/202/73 +f 309/207/83 310/207/83 311/208/83 +f 311/208/83 312/209/83 309/207/83 +f 313/209/133 314/210/133 315/211/133 +f 302/212/134 316/196/134 317/213/134 +f 317/213/134 303/214/134 302/212/134 +f 318/210/135 319/209/135 320/211/135 +f 321/215/136 322/216/136 320/211/136 +f 320/211/136 319/209/136 321/215/136 +f 323/217/137 324/218/137 295/197/138 +f 295/197/138 294/196/138 323/217/137 +f 325/219/139 326/220/139 302/204/139 +f 302/204/139 301/203/139 325/219/139 +f 327/209/76 328/208/76 310/207/76 +f 310/207/76 309/207/76 327/209/76 +f 302/212/140 326/214/140 329/213/140 +f 329/213/140 316/196/140 302/212/140 +f 321/215/141 313/209/141 315/211/141 +f 315/211/141 322/216/141 321/215/141 +f 330/221/73 317/222/73 293/222/73 +f 293/222/73 296/221/73 330/221/73 +f 317/222/87 316/203/87 294/203/87 +f 294/203/87 293/222/87 317/222/87 +f 316/203/86 329/206/86 323/206/86 +f 323/206/86 294/203/86 316/203/86 +f 329/206/75 331/223/75 324/223/75 +f 324/223/75 323/206/75 329/206/75 +f 331/224/142 332/225/142 295/226/142 +f 295/226/142 324/224/142 331/224/142 +f 332/225/143 330/224/143 296/224/143 +f 296/224/143 295/226/143 332/225/143 +f 326/214/135 333/227/135 331/228/135 +f 331/228/135 329/213/135 326/214/135 +f 333/229/73 326/220/73 325/219/73 +f 325/219/73 334/221/73 333/229/73 +f 304/206/75 303/205/75 335/230/75 +f 335/230/75 336/223/75 304/206/75 +f 335/227/133 303/214/133 317/213/133 +f 317/213/133 330/228/133 335/227/133 +f 299/201/75 298/200/75 337/199/75 +f 337/199/75 338/202/75 299/201/75 +f 335/231/144 330/224/144 315/232/144 +f 315/232/144 314/233/144 335/231/144 +f 330/224/143 332/225/143 322/234/143 +f 322/234/143 315/232/143 330/224/143 +f 332/225/142 331/224/142 320/232/142 +f 320/232/142 322/234/142 332/225/142 +f 331/224/145 333/231/145 318/233/145 +f 318/233/145 320/232/145 331/224/145 +f 307/200/73 306/201/73 339/202/73 +f 339/202/73 340/199/73 307/200/73 +f 311/208/83 310/207/83 321/235/83 +f 321/235/83 319/236/83 311/208/83 +f 310/207/76 328/208/76 313/236/76 +f 313/236/76 321/235/76 310/207/76 +f 336/236/27 335/231/27 298/237/27 +f 298/237/27 297/238/27 336/236/27 +f 335/231/27 314/233/27 337/239/27 +f 337/239/27 298/237/27 335/231/27 +f 314/210/146 313/209/146 338/240/146 +f 338/240/146 337/241/146 314/210/146 +f 313/236/26 328/208/26 299/242/26 +f 299/242/26 338/238/26 313/236/26 +f 328/208/26 327/209/26 300/240/26 +f 300/240/26 299/242/26 328/208/26 +f 312/209/26 311/208/26 306/242/26 +f 306/242/26 305/240/26 312/209/26 +f 311/208/26 319/236/26 339/238/26 +f 339/238/26 306/242/26 311/208/26 +f 319/209/147 318/210/147 340/241/147 +f 340/241/147 339/240/147 319/209/147 +f 318/233/27 333/231/27 307/237/27 +f 307/237/27 340/239/27 318/233/27 +f 333/231/27 334/236/27 308/238/27 +f 308/238/27 307/237/27 333/231/27 +f 341/243/148 342/244/148 343/245/148 +f 343/245/148 344/246/148 341/243/148 +f 341/247/1 344/248/1 345/249/1 +f 345/249/1 346/250/1 341/247/1 +f 344/246/149 343/245/149 347/251/149 +f 347/251/149 345/252/149 344/246/149 +f 343/248/7 342/247/7 348/250/7 +f 348/250/7 347/249/7 343/248/7 +f 349/243/150 350/244/150 351/245/150 +f 351/245/150 352/246/150 349/243/150 +f 349/247/151 352/248/151 353/249/151 +f 353/249/151 354/250/151 349/247/151 +f 352/246/152 351/245/152 355/251/152 +f 355/251/152 353/252/152 352/246/152 +f 351/248/153 350/247/153 356/250/153 +f 356/250/153 355/249/153 351/248/153 +f 357/243/154 358/244/154 359/245/154 +f 359/245/154 360/246/154 357/243/154 +f 357/247/7 360/248/7 361/249/7 +f 361/249/7 362/250/7 357/247/7 +f 360/246/155 359/245/155 363/251/155 +f 363/251/155 361/252/155 360/246/155 +f 359/248/1 358/247/1 364/250/1 +f 364/250/1 363/249/1 359/248/1 +f 365/243/156 366/244/156 367/245/156 +f 367/245/156 368/246/156 365/243/156 +f 365/247/157 368/248/157 369/249/157 +f 369/249/157 370/250/157 365/247/157 +f 368/246/158 367/245/158 371/251/158 +f 371/251/158 369/252/158 368/246/158 +f 367/248/159 366/247/159 372/250/159 +f 372/250/159 371/249/159 367/248/159 +f 373/243/160 374/244/160 375/245/160 +f 375/245/160 376/246/160 373/243/160 +f 373/247/161 376/248/161 377/249/161 +f 377/249/161 378/250/161 373/247/161 +f 376/246/162 375/245/162 379/251/162 +f 379/251/162 377/252/162 376/246/162 +f 375/248/163 374/247/163 380/250/163 +f 380/250/163 379/249/163 375/248/163 +f 381/195/131 382/196/131 383/197/131 +f 383/197/131 384/198/131 381/195/131 +f 385/199/75 386/200/75 387/201/75 +f 387/201/75 388/202/75 385/199/75 +f 389/203/132 390/204/132 391/205/132 +f 391/205/132 392/206/132 389/203/132 +f 393/202/73 394/201/73 395/200/73 +f 395/200/73 396/199/73 393/202/73 +f 397/207/83 398/207/83 399/208/83 +f 399/208/83 400/209/83 397/207/83 +f 401/209/133 402/210/133 403/211/133 +f 390/212/134 404/196/134 405/213/134 +f 405/213/134 391/214/134 390/212/134 +f 406/210/135 407/209/135 408/211/135 +f 409/215/136 410/216/136 408/211/136 +f 408/211/136 407/209/136 409/215/136 +f 411/217/137 412/218/137 383/197/138 +f 383/197/138 382/196/138 411/217/137 +f 413/219/139 414/220/139 390/204/139 +f 390/204/139 389/203/139 413/219/139 +f 415/209/76 416/208/76 398/207/76 +f 398/207/76 397/207/76 415/209/76 +f 390/212/140 414/214/140 417/213/140 +f 417/213/140 404/196/140 390/212/140 +f 409/215/141 401/209/141 403/211/141 +f 403/211/141 410/216/141 409/215/141 +f 418/221/73 405/222/73 381/222/73 +f 381/222/73 384/221/73 418/221/73 +f 405/222/87 404/203/87 382/203/87 +f 382/203/87 381/222/87 405/222/87 +f 404/203/86 417/206/86 411/206/86 +f 411/206/86 382/203/86 404/203/86 +f 417/206/75 419/223/75 412/223/75 +f 412/223/75 411/206/75 417/206/75 +f 419/224/142 420/225/142 383/226/142 +f 383/226/142 412/224/142 419/224/142 +f 420/225/143 418/224/143 384/224/143 +f 384/224/143 383/226/143 420/225/143 +f 414/214/135 421/227/135 419/228/135 +f 419/228/135 417/213/135 414/214/135 +f 421/229/73 414/220/73 413/219/73 +f 413/219/73 422/221/73 421/229/73 +f 392/206/75 391/205/75 423/230/75 +f 423/230/75 424/223/75 392/206/75 +f 423/227/133 391/214/133 405/213/133 +f 405/213/133 418/228/133 423/227/133 +f 387/201/75 386/200/75 425/199/75 +f 425/199/75 426/202/75 387/201/75 +f 423/231/144 418/224/144 403/232/144 +f 403/232/144 402/233/144 423/231/144 +f 418/224/143 420/225/143 410/234/143 +f 410/234/143 403/232/143 418/224/143 +f 420/225/142 419/224/142 408/232/142 +f 408/232/142 410/234/142 420/225/142 +f 419/224/145 421/231/145 406/233/145 +f 406/233/145 408/232/145 419/224/145 +f 395/200/73 394/201/73 427/202/73 +f 427/202/73 428/199/73 395/200/73 +f 399/208/83 398/207/83 409/235/83 +f 409/235/83 407/236/83 399/208/83 +f 398/207/76 416/208/76 401/236/76 +f 401/236/76 409/235/76 398/207/76 +f 424/236/27 423/231/27 386/237/27 +f 386/237/27 385/238/27 424/236/27 +f 423/231/27 402/233/27 425/239/27 +f 425/239/27 386/237/27 423/231/27 +f 402/210/146 401/209/146 426/240/146 +f 426/240/146 425/241/146 402/210/146 +f 401/236/26 416/208/26 387/242/26 +f 387/242/26 426/238/26 401/236/26 +f 416/208/26 415/209/26 388/240/26 +f 388/240/26 387/242/26 416/208/26 +f 400/209/26 399/208/26 394/242/26 +f 394/242/26 393/240/26 400/209/26 +f 399/208/26 407/236/26 427/238/26 +f 427/238/26 394/242/26 399/208/26 +f 407/209/147 406/210/147 428/241/147 +f 428/241/147 427/240/147 407/209/147 +f 406/233/27 421/231/27 395/237/27 +f 395/237/27 428/239/27 406/233/27 +f 421/231/27 422/236/27 396/238/27 +f 396/238/27 395/237/27 421/231/27 +f 429/195/164 430/196/10 431/197/10 +f 431/197/10 432/198/164 429/195/164 +f 433/199/165 434/200/165 435/201/165 +f 435/201/165 436/202/165 433/199/165 +f 437/203/108 438/204/108 439/205/108 +f 439/205/108 440/206/108 437/203/108 +f 441/202/125 442/201/125 443/200/125 +f 443/200/125 444/199/125 441/202/125 +f 445/207/166 446/207/166 447/208/166 +f 447/208/166 448/209/166 445/207/166 +f 449/209/167 450/210/167 451/211/167 +f 438/212/168 452/196/168 453/213/168 +f 453/213/168 439/214/168 438/212/168 +f 454/210/169 455/209/169 456/211/169 +f 457/215/170 458/216/170 456/211/170 +f 456/211/170 455/209/170 457/215/170 +f 459/217/171 460/218/171 431/197/171 +f 431/197/171 430/196/171 459/217/171 +f 461/219/172 462/220/99 438/204/99 +f 438/204/99 437/203/99 461/219/172 +f 463/209/173 464/208/173 446/207/173 +f 446/207/173 445/207/173 463/209/173 +f 438/212/174 462/214/174 465/213/174 +f 465/213/174 452/196/174 438/212/174 +f 457/215/175 449/209/175 451/211/175 +f 451/211/175 458/216/175 457/215/175 +f 466/221/125 453/222/125 429/222/125 +f 429/222/125 432/221/125 466/221/125 +f 453/222/113 452/203/113 430/203/113 +f 430/203/113 429/222/113 453/222/113 +f 452/203/112 465/206/112 459/206/112 +f 459/206/112 430/203/112 452/203/112 +f 465/206/165 467/223/165 460/223/165 +f 460/223/165 459/206/165 465/206/165 +f 467/224/176 468/225/176 431/226/176 +f 431/226/176 460/224/176 467/224/176 +f 468/225/117 466/224/117 432/224/117 +f 432/224/117 431/226/117 468/225/117 +f 462/214/169 469/227/169 467/228/169 +f 467/228/169 465/213/169 462/214/169 +f 469/229/125 462/220/125 461/219/125 +f 461/219/125 470/221/125 469/229/125 +f 440/206/165 439/205/165 471/230/165 +f 471/230/165 472/223/165 440/206/165 +f 471/227/167 439/214/167 453/213/167 +f 453/213/167 466/228/167 471/227/167 +f 435/201/165 434/200/165 473/199/165 +f 473/199/165 474/202/165 435/201/165 +f 471/231/177 466/224/177 451/232/177 +f 451/232/177 450/233/177 471/231/177 +f 466/224/117 468/225/117 458/234/117 +f 458/234/117 451/232/117 466/224/117 +f 468/225/176 467/224/176 456/232/176 +f 456/232/176 458/234/176 468/225/176 +f 467/224/115 469/231/115 454/233/115 +f 454/233/115 456/232/115 467/224/115 +f 443/200/125 442/201/125 475/202/125 +f 475/202/125 476/199/125 443/200/125 +f 447/208/166 446/207/166 457/235/166 +f 457/235/166 455/236/166 447/208/166 +f 446/207/173 464/208/173 449/236/173 +f 449/236/173 457/235/173 446/207/173 +f 472/236/27 471/231/27 434/237/27 +f 434/237/27 433/238/27 472/236/27 +f 471/231/27 450/233/27 473/239/27 +f 473/239/27 434/237/27 471/231/27 +f 450/210/178 449/209/178 474/240/178 +f 474/240/178 473/241/178 450/210/178 +f 449/236/26 464/208/26 435/242/26 +f 435/242/26 474/238/26 449/236/26 +f 464/208/26 463/209/26 436/240/26 +f 436/240/26 435/242/26 464/208/26 +f 448/209/26 447/208/26 442/242/26 +f 442/242/26 441/240/26 448/209/26 +f 447/208/26 455/236/26 475/238/26 +f 475/238/26 442/242/26 447/208/26 +f 455/209/179 454/210/179 476/241/179 +f 476/241/179 475/240/179 455/209/179 +f 454/233/27 469/231/27 443/237/27 +f 443/237/27 476/239/27 454/233/27 +f 469/231/27 470/236/27 444/238/27 +f 444/238/27 443/237/27 469/231/27 +f 477/243/180 478/244/180 479/245/180 +f 479/245/180 480/246/180 477/243/180 +f 477/247/153 480/248/153 481/249/153 +f 481/249/153 482/250/153 477/247/153 +f 480/246/181 479/245/181 483/251/181 +f 483/251/181 481/252/182 480/246/181 +f 479/248/151 478/247/151 484/250/151 +f 484/250/151 483/249/151 479/248/151 +f 485/195/10 486/196/10 487/197/10 +f 487/197/10 488/198/10 485/195/10 +f 489/199/165 490/200/165 491/201/165 +f 491/201/165 492/202/165 489/199/165 +f 493/203/108 494/204/108 495/205/108 +f 495/205/108 496/206/108 493/203/108 +f 497/202/125 498/201/125 499/200/125 +f 499/200/125 500/199/125 497/202/125 +f 501/207/166 502/207/166 503/208/166 +f 503/208/166 504/209/166 501/207/166 +f 505/209/167 506/210/167 507/211/167 +f 494/212/168 508/196/168 509/213/168 +f 509/213/168 495/214/168 494/212/168 +f 510/210/169 511/209/169 512/211/169 +f 513/215/170 514/216/170 512/211/170 +f 512/211/170 511/209/170 513/215/170 +f 515/217/171 516/218/171 487/197/171 +f 487/197/171 486/196/171 515/217/171 +f 517/219/99 518/220/99 494/204/172 +f 494/204/172 493/203/99 517/219/99 +f 519/209/173 520/208/173 502/207/173 +f 502/207/173 501/207/173 519/209/173 +f 494/212/174 518/214/174 521/213/174 +f 521/213/174 508/196/174 494/212/174 +f 513/215/175 505/209/175 507/211/175 +f 507/211/175 514/216/175 513/215/175 +f 522/221/125 509/222/125 485/222/125 +f 485/222/125 488/221/125 522/221/125 +f 509/222/113 508/203/113 486/203/113 +f 486/203/113 485/222/113 509/222/113 +f 508/203/112 521/206/112 515/206/112 +f 515/206/112 486/203/112 508/203/112 +f 521/206/165 523/223/165 516/223/165 +f 516/223/165 515/206/165 521/206/165 +f 523/224/176 524/225/176 487/226/176 +f 487/226/176 516/224/176 523/224/176 +f 524/225/117 522/224/117 488/224/117 +f 488/224/117 487/226/117 524/225/117 +f 518/214/169 525/227/169 523/228/169 +f 523/228/169 521/213/169 518/214/169 +f 525/229/125 518/220/125 517/219/125 +f 517/219/125 526/221/125 525/229/125 +f 496/206/165 495/205/165 527/230/165 +f 527/230/165 528/223/165 496/206/165 +f 527/227/167 495/214/167 509/213/167 +f 509/213/167 522/228/167 527/227/167 +f 491/201/165 490/200/165 529/199/165 +f 529/199/165 530/202/165 491/201/165 +f 527/231/177 522/224/177 507/232/177 +f 507/232/177 506/233/177 527/231/177 +f 522/224/117 524/225/117 514/234/117 +f 514/234/117 507/232/117 522/224/117 +f 524/225/176 523/224/176 512/232/176 +f 512/232/176 514/234/176 524/225/176 +f 523/224/115 525/231/115 510/233/115 +f 510/233/115 512/232/115 523/224/115 +f 499/200/125 498/201/125 531/202/125 +f 531/202/125 532/199/125 499/200/125 +f 503/208/166 502/207/166 513/235/166 +f 513/235/166 511/236/166 503/208/166 +f 502/207/173 520/208/173 505/236/173 +f 505/236/173 513/235/173 502/207/173 +f 528/236/27 527/231/27 490/237/27 +f 490/237/27 489/238/27 528/236/27 +f 527/231/27 506/233/27 529/239/27 +f 529/239/27 490/237/27 527/231/27 +f 506/210/178 505/209/178 530/240/178 +f 530/240/178 529/241/178 506/210/178 +f 505/236/26 520/208/26 491/242/26 +f 491/242/26 530/238/26 505/236/26 +f 520/208/26 519/209/26 492/240/26 +f 492/240/26 491/242/26 520/208/26 +f 504/209/26 503/208/26 498/242/26 +f 498/242/26 497/240/26 504/209/26 +f 503/208/26 511/236/26 531/238/26 +f 531/238/26 498/242/26 503/208/26 +f 511/209/179 510/210/179 532/241/179 +f 532/241/179 531/240/179 511/209/179 +f 510/233/27 525/231/27 499/237/27 +f 499/237/27 532/239/27 510/233/27 +f 525/231/27 526/236/27 500/238/27 +f 500/238/27 499/237/27 525/231/27 +f 533/243/183 534/244/183 535/245/183 +f 535/245/183 536/246/183 533/243/183 +f 533/247/184 536/248/184 537/249/184 +f 537/249/184 538/250/184 533/247/184 +f 536/246/185 535/245/185 539/251/185 +f 539/251/185 537/252/185 536/246/185 +f 535/248/186 534/247/186 540/250/186 +f 540/250/186 539/249/186 535/248/186 +f 541/195/72 542/196/72 543/197/72 +f 543/197/72 544/198/72 541/195/72 +f 545/199/73 546/200/73 547/201/73 +f 547/201/73 548/202/73 545/199/73 +f 549/203/74 550/204/74 551/205/74 +f 551/205/74 552/206/74 549/203/74 +f 553/202/75 554/201/75 555/200/75 +f 555/200/75 556/199/75 553/202/75 +f 557/207/76 558/207/76 559/208/76 +f 559/208/76 560/209/76 557/207/76 +f 561/209/77 562/210/77 563/211/77 +f 550/212/78 564/196/78 565/213/78 +f 565/213/78 551/214/78 550/212/78 +f 566/210/79 567/209/79 568/211/79 +f 569/215/80 570/216/80 568/211/80 +f 568/211/80 567/209/80 569/215/80 +f 571/217/81 572/218/81 543/197/81 +f 543/197/81 542/196/81 571/217/81 +f 573/219/82 574/220/82 550/204/82 +f 550/204/82 549/203/82 573/219/82 +f 575/209/83 576/208/83 558/207/83 +f 558/207/83 557/207/83 575/209/83 +f 550/212/84 574/214/84 577/213/84 +f 577/213/84 564/196/84 550/212/84 +f 569/215/85 561/209/85 563/211/85 +f 563/211/85 570/216/85 569/215/85 +f 578/221/75 565/222/75 541/222/75 +f 541/222/75 544/221/75 578/221/75 +f 565/222/86 564/203/86 542/203/86 +f 542/203/86 541/222/86 565/222/86 +f 564/203/87 577/206/87 571/206/87 +f 571/206/87 542/203/87 564/203/87 +f 577/206/73 579/223/73 572/223/73 +f 572/223/73 571/206/73 577/206/73 +f 579/224/88 580/225/88 543/226/88 +f 543/226/88 572/224/88 579/224/88 +f 580/225/89 578/224/89 544/224/89 +f 544/224/89 543/226/89 580/225/89 +f 574/214/79 581/227/79 579/228/79 +f 579/228/79 577/213/79 574/214/79 +f 581/229/75 574/220/75 573/219/75 +f 573/219/75 582/221/75 581/229/75 +f 552/206/73 551/205/73 583/230/73 +f 583/230/73 584/223/73 552/206/73 +f 583/227/77 551/214/77 565/213/77 +f 565/213/77 578/228/77 583/227/77 +f 547/201/73 546/200/73 585/199/73 +f 585/199/73 586/202/73 547/201/73 +f 583/231/90 578/224/90 563/232/90 +f 563/232/90 562/233/90 583/231/90 +f 578/224/89 580/225/89 570/234/89 +f 570/234/89 563/232/89 578/224/89 +f 580/225/88 579/224/88 568/232/88 +f 568/232/88 570/234/88 580/225/88 +f 579/224/92 581/231/92 566/233/92 +f 566/233/92 568/232/92 579/224/92 +f 555/200/75 554/201/75 587/202/75 +f 587/202/75 588/199/75 555/200/75 +f 559/208/76 558/207/76 569/235/76 +f 569/235/76 567/236/76 559/208/76 +f 558/207/83 576/208/83 561/236/83 +f 561/236/83 569/235/83 558/207/83 +f 584/236/27 583/231/27 546/237/27 +f 546/237/27 545/238/27 584/236/27 +f 583/231/27 562/233/27 585/239/27 +f 585/239/27 546/237/27 583/231/27 +f 562/210/94 561/209/94 586/240/94 +f 586/240/94 585/241/94 562/210/94 +f 561/236/26 576/208/26 547/242/26 +f 547/242/26 586/238/26 561/236/26 +f 576/208/26 575/209/26 548/240/26 +f 548/240/26 547/242/26 576/208/26 +f 560/209/26 559/208/26 554/242/26 +f 554/242/26 553/240/26 560/209/26 +f 559/208/26 567/236/26 587/238/26 +f 587/238/26 554/242/26 559/208/26 +f 567/209/95 566/210/95 588/241/95 +f 588/241/95 587/240/95 567/209/95 +f 566/233/27 581/231/27 555/237/27 +f 555/237/27 588/239/27 566/233/27 +f 581/231/27 582/236/27 556/238/27 +f 556/238/27 555/237/27 581/231/27 +f 589/243/187 590/244/187 591/245/187 +f 591/245/187 592/246/187 589/243/187 +f 589/247/163 592/248/163 593/249/163 +f 593/249/163 594/250/163 589/247/163 +f 592/246/188 591/245/188 595/251/189 +f 595/251/189 593/252/188 592/246/188 +f 591/248/161 590/247/161 596/250/161 +f 596/250/161 595/249/161 591/248/161 +f 597/253/13 598/254/13 599/255/13 +f 599/255/13 600/256/13 597/253/13 +f 601/257/14 597/253/14 600/256/14 +f 600/256/14 602/258/14 601/257/14 +f 603/259/118 601/257/118 602/258/118 +f 602/258/118 604/260/15 603/259/118 +f 605/261/16 603/262/16 604/263/16 +f 604/263/16 606/264/16 605/261/16 +f 607/265/17 605/261/17 606/264/17 +f 606/264/17 608/266/17 607/265/17 +f 609/267/18 607/265/18 608/266/18 +f 608/266/18 610/268/18 609/267/18 +f 611/269/190 609/267/19 610/268/19 +f 610/268/19 612/270/190 611/269/190 +f 613/271/20 611/269/20 612/270/20 +f 612/270/20 614/272/20 613/271/20 +f 615/273/21 613/271/21 614/272/21 +f 614/272/21 616/274/21 615/273/21 +f 617/275/191 615/273/191 616/274/22 +f 616/274/22 618/276/191 617/275/191 +f 619/277/23 617/275/23 618/276/23 +f 618/276/23 620/278/23 619/277/23 +f 598/254/24 619/277/25 620/278/25 +f 620/278/25 599/255/24 598/254/24 +f 600/279/27 599/280/27 621/281/27 +f 621/281/27 622/282/27 600/279/27 +f 623/283/27 624/279/27 625/282/27 +f 625/282/27 626/284/27 623/283/27 +f 604/285/27 602/283/27 627/284/27 +f 627/284/27 628/285/27 604/285/27 +f 629/286/27 630/285/27 631/285/27 +f 631/285/27 632/287/27 629/286/27 +f 608/288/27 606/286/27 633/287/27 +f 633/287/27 634/289/27 608/288/27 +f 635/290/27 636/288/27 637/289/27 +f 637/289/27 638/291/27 635/290/27 +f 612/292/27 610/290/27 639/291/27 +f 639/291/27 640/293/27 612/292/27 +f 641/294/27 642/292/27 643/293/27 +f 643/293/27 644/295/27 641/294/27 +f 616/296/27 614/294/27 645/295/27 +f 645/295/27 646/297/27 616/296/27 +f 647/298/27 648/296/27 649/297/27 +f 649/297/27 650/299/27 647/298/27 +f 620/300/27 618/298/27 651/299/27 +f 651/299/27 652/300/27 620/300/27 +f 653/280/27 654/300/27 655/300/27 +f 655/300/27 656/281/27 653/280/27 +f 622/301/19 621/302/19 657/303/19 +f 657/303/19 658/304/19 622/301/19 +f 627/305/20 622/301/20 658/304/20 +f 658/304/20 659/306/20 627/305/20 +f 628/307/21 627/305/21 659/306/21 +f 659/306/21 660/308/21 628/307/21 +f 633/309/22 628/307/22 660/308/22 +f 660/308/22 661/310/22 633/309/22 +f 634/311/23 633/309/23 661/310/23 +f 661/310/23 662/312/23 634/311/23 +f 639/313/24 634/311/24 662/312/24 +f 662/312/24 663/314/24 639/313/24 +f 640/315/192 639/313/13 663/314/13 +f 663/314/13 664/316/192 640/315/192 +f 645/317/14 640/315/14 664/316/14 +f 664/316/14 665/318/14 645/317/14 +f 646/319/15 645/317/15 665/318/15 +f 665/318/15 666/320/15 646/319/15 +f 651/321/16 646/322/16 666/323/193 +f 666/323/193 667/324/16 651/321/16 +f 652/325/17 651/321/17 667/324/17 +f 667/324/17 668/326/17 652/325/17 +f 621/302/18 652/325/194 668/326/194 +f 668/326/194 657/303/18 621/302/18 +f 658/327/27 657/328/27 669/329/27 +f 659/330/27 658/327/27 669/329/27 +f 660/331/27 659/330/27 669/329/27 +f 661/332/27 660/331/27 669/329/27 +f 662/333/27 661/332/27 669/329/27 +f 663/334/27 662/333/27 669/329/27 +f 664/335/27 663/334/27 669/329/27 +f 665/336/27 664/335/27 669/329/27 +f 666/337/27 665/336/27 669/329/27 +f 667/338/27 666/337/27 669/329/27 +f 668/339/27 667/338/27 669/329/27 +f 657/328/27 668/339/27 669/329/27 +f 602/258/14 600/256/14 624/340/14 +f 624/340/14 623/341/14 602/258/14 +f 600/279/161 622/282/161 625/282/161 +f 625/282/161 624/279/161 600/279/161 +f 622/301/20 627/305/20 626/342/20 +f 626/342/20 625/343/20 622/301/20 +f 627/284/195 602/283/195 623/283/195 +f 623/283/195 626/284/195 627/284/195 +f 606/264/16 604/263/16 630/344/193 +f 630/344/193 629/345/16 606/264/16 +f 604/285/1 628/285/1 631/285/1 +f 631/285/1 630/285/1 604/285/1 +f 628/307/22 633/309/22 632/346/22 +f 632/346/22 631/347/22 628/307/22 +f 633/287/196 606/286/196 629/286/196 +f 629/286/196 632/287/196 633/287/196 +f 610/268/18 608/266/18 636/348/18 +f 636/348/18 635/349/18 610/268/18 +f 608/288/153 634/289/153 637/289/153 +f 637/289/153 636/288/153 608/288/153 +f 634/311/24 639/313/24 638/350/24 +f 638/350/24 637/351/24 634/311/24 +f 639/291/10 610/290/10 635/290/10 +f 635/290/10 638/291/10 639/291/10 +f 614/272/20 612/270/20 642/352/20 +f 642/352/20 641/353/20 614/272/20 +f 612/292/163 640/293/163 643/293/163 +f 643/293/163 642/292/163 612/292/163 +f 640/315/14 645/317/14 644/354/14 +f 644/354/14 643/355/14 640/315/14 +f 645/295/197 614/294/197 641/294/197 +f 641/294/197 644/295/197 645/295/197 +f 618/276/191 616/274/22 648/356/22 +f 648/356/22 647/357/22 618/276/191 +f 616/296/7 646/297/7 649/297/7 +f 649/297/7 648/296/7 616/296/7 +f 646/322/16 651/321/16 650/358/16 +f 650/358/16 649/359/16 646/322/16 +f 651/299/198 618/298/198 647/298/198 +f 647/298/198 650/299/198 651/299/198 +f 599/255/24 620/278/25 654/360/24 +f 654/360/24 653/361/24 599/255/24 +f 620/300/151 652/300/151 655/300/151 +f 655/300/151 654/300/151 620/300/151 +f 652/325/194 621/302/18 656/362/18 +f 656/362/18 655/363/194 652/325/194 +f 621/281/4 599/280/4 653/280/4 +f 653/280/4 656/281/4 621/281/4 +f 670/364/199 671/365/199 672/366/199 +f 672/366/199 673/367/199 670/364/199 +f 671/368/200 674/369/200 675/370/200 +f 675/370/200 672/371/200 671/368/200 +f 674/365/201 676/364/201 677/367/201 +f 677/367/201 675/366/201 674/365/201 +f 676/372/202 670/373/202 673/374/202 +f 673/374/202 677/375/202 676/372/202 +f 678/376/7 679/377/7 680/378/7 +f 680/378/7 681/379/7 678/376/7 +f 679/380/4 682/381/4 683/382/4 +f 683/382/4 680/383/4 679/380/4 +f 684/384/1 685/385/1 686/386/1 +f 686/386/1 687/387/1 684/384/1 +f 688/388/10 678/389/10 681/390/10 +f 681/390/10 689/391/10 688/388/10 +f 676/392/26 674/393/26 683/394/26 +f 683/394/26 689/395/26 676/392/26 +f 683/394/26 674/393/26 671/396/26 +f 671/396/26 680/397/26 683/394/26 +f 680/397/26 671/396/26 670/398/26 +f 670/398/26 681/399/26 680/397/26 +f 681/399/26 670/398/26 676/392/26 +f 676/392/26 689/395/26 681/399/26 +f 673/400/27 672/401/27 690/402/27 +f 690/402/27 691/403/27 673/400/27 +f 672/401/27 675/404/27 692/405/27 +f 692/405/27 690/402/27 672/401/27 +f 675/404/27 677/406/27 693/407/27 +f 693/407/27 692/405/27 675/404/27 +f 677/406/27 673/400/27 691/403/27 +f 691/403/27 693/407/27 677/406/27 +f 688/408/1 689/409/1 694/410/1 +f 694/410/1 695/411/1 688/408/1 +f 689/409/1 683/412/1 696/413/1 +f 696/413/1 694/410/1 689/409/1 +f 683/412/1 682/414/1 697/415/1 +f 697/415/1 696/413/1 683/412/1 +f 695/416/10 694/417/10 686/418/10 +f 686/418/10 685/419/10 695/416/10 +f 694/420/27 696/421/27 687/422/27 +f 687/422/27 686/423/27 694/420/27 +f 696/417/4 697/416/4 684/419/4 +f 684/419/4 687/418/4 696/417/4 +f 698/243/150 699/246/150 700/245/150 +f 700/245/150 701/244/150 698/243/150 +f 698/247/153 702/250/153 703/249/153 +f 703/249/153 699/248/153 698/247/153 +f 699/246/152 703/252/152 704/251/152 +f 704/251/152 700/245/152 699/246/152 +f 700/248/151 704/249/151 705/250/151 +f 705/250/151 701/247/151 700/248/151 +f 706/424/203 707/425/204 708/426/205 +f 708/426/205 709/427/27 706/424/203 +f 710/428/1 711/429/1 707/429/1 +f 707/429/1 706/428/1 710/428/1 +f 712/430/206 708/430/206 707/431/206 +f 707/431/206 711/431/206 712/430/206 +f 706/424/203 709/427/27 713/426/207 +f 713/426/207 714/425/208 706/424/203 +f 710/428/1 706/428/1 714/432/1 +f 714/432/1 715/432/1 710/428/1 +f 714/431/209 713/430/209 716/430/209 +f 716/430/209 715/431/209 714/431/209 +f 717/433/210 709/427/27 708/426/205 +f 708/426/205 718/434/211 717/433/210 +f 719/428/7 717/428/7 718/429/7 +f 718/429/7 720/429/7 719/428/7 +f 718/435/212 708/430/212 712/430/212 +f 712/430/212 720/435/212 718/435/212 +f 717/433/210 721/434/213 713/426/207 +f 713/426/207 709/427/27 717/433/210 +f 719/428/7 722/432/7 721/432/7 +f 721/432/7 717/428/7 719/428/7 +f 716/430/214 713/430/214 721/435/214 +f 721/435/214 722/435/214 716/430/214 +f 723/436/4 724/437/4 725/438/4 +f 725/438/4 726/439/4 723/436/4 +f 724/437/215 723/436/215 727/440/215 +f 727/440/215 728/441/215 724/437/215 +f 723/436/216 726/439/216 729/440/216 +f 729/440/216 727/440/216 723/436/216 +f 730/442/217 728/441/217 727/440/217 +f 727/440/217 731/443/217 730/442/217 +f 732/444/216 731/443/216 727/440/216 +f 727/440/216 729/445/216 732/444/216 +f 733/446/10 734/447/10 735/448/10 +f 735/448/10 736/449/10 733/446/10 +f 734/447/218 737/442/218 738/443/218 +f 738/443/218 735/448/218 734/447/218 +f 735/448/219 738/443/219 739/450/219 +f 739/450/219 736/449/219 735/448/219 +f 738/443/220 737/442/220 730/442/220 +f 730/442/220 731/443/220 738/443/220 +f 732/444/219 739/444/219 738/443/219 +f 738/443/219 731/443/219 732/444/219 +f 740/436/4 741/437/4 742/438/4 +f 742/438/4 743/439/4 740/436/4 +f 741/437/221 740/436/221 744/440/221 +f 744/440/221 745/441/221 741/437/221 +f 740/436/222 743/439/222 746/440/222 +f 746/440/222 744/440/222 740/436/222 +f 747/442/223 745/441/223 744/440/223 +f 744/440/223 748/443/223 747/442/223 +f 749/444/222 748/443/222 744/440/222 +f 744/440/222 746/445/222 749/444/222 +f 750/446/10 751/447/10 752/448/10 +f 752/448/10 753/449/10 750/446/10 +f 751/447/224 754/442/224 755/443/224 +f 755/443/224 752/448/224 751/447/224 +f 752/448/222 755/443/222 756/450/222 +f 756/450/222 753/449/222 752/448/222 +f 755/443/225 754/442/225 747/442/225 +f 747/442/225 748/443/225 755/443/225 +f 749/444/222 756/444/222 755/443/222 +f 755/443/222 748/443/222 749/444/222 +f 757/436/4 758/437/4 759/438/4 +f 759/438/4 760/439/4 757/436/4 +f 758/437/226 757/436/226 761/440/226 +f 761/440/226 762/441/227 758/437/226 +f 757/436/228 760/439/228 763/440/229 +f 763/440/229 761/440/229 757/436/228 +f 764/442/230 762/441/230 761/440/230 +f 761/440/230 765/443/230 764/442/230 +f 766/444/228 765/443/228 761/440/228 +f 761/440/228 763/445/228 766/444/228 +f 767/446/10 768/447/10 769/448/10 +f 769/448/10 770/449/10 767/446/10 +f 768/447/231 771/442/232 772/443/231 +f 772/443/231 769/448/232 768/447/231 +f 769/448/229 772/443/229 773/450/229 +f 773/450/229 770/449/229 769/448/229 +f 772/443/233 771/442/233 764/442/233 +f 764/442/233 765/443/233 772/443/233 +f 766/444/229 773/444/229 772/443/229 +f 772/443/229 765/443/229 766/444/229 +f 774/436/4 775/437/4 776/438/4 +f 776/438/4 777/439/4 774/436/4 +f 775/437/226 774/436/227 778/440/227 +f 778/440/227 779/441/227 775/437/226 +f 774/436/229 777/439/229 780/440/229 +f 780/440/229 778/440/229 774/436/229 +f 781/442/230 779/441/230 778/440/230 +f 778/440/230 782/443/230 781/442/230 +f 783/444/229 782/443/229 778/440/229 +f 778/440/229 780/445/229 783/444/229 +f 784/446/10 785/447/10 786/448/10 +f 786/448/10 787/449/10 784/446/10 +f 785/447/231 788/442/232 789/443/232 +f 789/443/232 786/448/231 785/447/231 +f 786/448/228 789/443/229 790/450/229 +f 790/450/229 787/449/228 786/448/228 +f 789/443/233 788/442/233 781/442/233 +f 781/442/233 782/443/233 789/443/233 +f 783/444/229 790/444/229 789/443/229 +f 789/443/229 782/443/229 783/444/229 +f 791/436/4 792/437/4 793/438/4 +f 793/438/4 794/439/4 791/436/4 +f 792/437/234 791/436/234 795/440/234 +f 795/440/234 796/441/234 792/437/234 +f 791/436/235 794/439/235 797/440/235 +f 797/440/235 795/440/235 791/436/235 +f 798/442/236 796/441/236 795/440/236 +f 795/440/236 799/443/236 798/442/236 +f 800/444/235 799/443/235 795/440/235 +f 795/440/235 797/445/235 800/444/235 +f 801/446/10 802/447/10 803/448/10 +f 803/448/10 804/449/10 801/446/10 +f 802/447/237 805/442/237 806/443/237 +f 806/443/237 803/448/237 802/447/237 +f 803/448/235 806/443/235 807/450/235 +f 807/450/235 804/449/235 803/448/235 +f 806/443/238 805/442/238 798/442/238 +f 798/442/238 799/443/238 806/443/238 +f 800/444/239 807/444/239 806/443/239 +f 806/443/239 799/443/239 800/444/239 +f 808/436/4 809/437/4 810/438/4 +f 810/438/4 811/439/4 808/436/4 +f 809/437/240 808/436/240 812/440/240 +f 812/440/240 813/441/240 809/437/240 +f 808/436/241 811/439/241 814/440/241 +f 814/440/241 812/440/241 808/436/241 +f 815/442/236 813/441/236 812/440/236 +f 812/440/236 816/443/236 815/442/236 +f 817/444/241 816/443/241 812/440/241 +f 812/440/241 814/445/241 817/444/241 +f 818/446/10 819/447/10 820/448/10 +f 820/448/10 821/449/10 818/446/10 +f 819/447/242 822/442/242 823/443/242 +f 823/443/242 820/448/242 819/447/242 +f 820/448/243 823/443/241 824/450/241 +f 824/450/241 821/449/243 820/448/243 +f 823/443/238 822/442/238 815/442/238 +f 815/442/238 816/443/238 823/443/238 +f 817/444/241 824/444/241 823/443/241 +f 823/443/241 816/443/241 817/444/241 +f 825/436/4 826/437/4 827/438/4 +f 827/438/4 828/439/4 825/436/4 +f 826/437/215 825/436/215 829/440/215 +f 829/440/215 830/441/215 826/437/215 +f 825/436/216 828/439/216 831/440/216 +f 831/440/216 829/440/216 825/436/216 +f 832/442/217 830/441/217 829/440/217 +f 829/440/217 833/443/217 832/442/217 +f 834/444/216 833/443/216 829/440/216 +f 829/440/216 831/445/216 834/444/216 +f 835/446/10 836/447/10 837/448/10 +f 837/448/10 838/449/10 835/446/10 +f 836/447/218 839/442/218 840/443/218 +f 840/443/218 837/448/218 836/447/218 +f 837/448/219 840/443/219 841/450/219 +f 841/450/219 838/449/219 837/448/219 +f 840/443/220 839/442/220 832/442/220 +f 832/442/220 833/443/220 840/443/220 +f 834/444/219 841/444/219 840/443/219 +f 840/443/219 833/443/219 834/444/219 +f 842/436/4 843/437/4 844/438/4 +f 844/438/4 845/439/4 842/436/4 +f 843/437/215 842/436/215 846/440/215 +f 846/440/215 847/441/215 843/437/215 +f 842/436/216 845/439/216 848/440/216 +f 848/440/216 846/440/216 842/436/216 +f 849/442/217 847/441/217 846/440/217 +f 846/440/217 850/443/217 849/442/217 +f 851/444/216 850/443/216 846/440/216 +f 846/440/216 848/445/216 851/444/216 +f 852/446/10 853/447/10 854/448/10 +f 854/448/10 855/449/10 852/446/10 +f 853/447/218 856/442/218 857/443/218 +f 857/443/218 854/448/218 853/447/218 +f 854/448/219 857/443/219 858/450/219 +f 858/450/219 855/449/219 854/448/219 +f 857/443/220 856/442/220 849/442/220 +f 849/442/220 850/443/220 857/443/220 +f 851/444/219 858/444/219 857/443/219 +f 857/443/219 850/443/219 851/444/219 +f 859/438/4 860/437/4 861/436/4 +f 861/436/4 862/439/4 859/438/4 +f 863/440/244 861/436/244 860/437/244 +f 860/437/244 864/441/244 863/440/244 +f 865/440/245 862/439/245 861/436/245 +f 861/436/245 863/440/245 865/440/245 +f 863/440/246 864/441/246 866/442/246 +f 866/442/246 867/443/246 863/440/246 +f 868/444/245 865/445/245 863/440/245 +f 863/440/245 867/443/245 868/444/245 +f 869/448/10 870/447/10 871/446/10 +f 871/446/10 872/449/10 869/448/10 +f 873/443/247 874/442/247 870/447/247 +f 870/447/247 869/448/247 873/443/247 +f 875/450/248 873/443/248 869/448/248 +f 869/448/248 872/449/248 875/450/248 +f 866/442/249 874/442/249 873/443/249 +f 873/443/249 867/443/249 866/442/249 +f 868/444/248 867/443/248 873/443/248 +f 873/443/248 875/444/248 868/444/248 +f 876/438/4 877/437/4 878/436/4 +f 878/436/4 879/439/4 876/438/4 +f 880/440/250 878/436/250 877/437/250 +f 877/437/250 881/441/250 880/440/250 +f 882/440/251 879/439/251 878/436/251 +f 878/436/251 880/440/251 882/440/251 +f 880/440/252 881/441/252 883/442/252 +f 883/442/252 884/443/252 880/440/252 +f 885/444/251 882/445/251 880/440/251 +f 880/440/251 884/443/251 885/444/251 +f 886/448/10 887/447/10 888/446/10 +f 888/446/10 889/449/10 886/448/10 +f 890/443/253 891/442/253 887/447/253 +f 887/447/253 886/448/253 890/443/253 +f 892/450/251 890/443/251 886/448/254 +f 886/448/254 889/449/254 892/450/251 +f 883/442/255 891/442/255 890/443/255 +f 890/443/255 884/443/255 883/442/255 +f 885/444/251 884/443/251 890/443/251 +f 890/443/251 892/444/251 885/444/251 +f 893/438/4 894/437/4 895/436/4 +f 895/436/4 896/439/4 893/438/4 +f 897/440/256 895/436/257 894/437/256 +f 894/437/256 898/441/256 897/440/256 +f 899/440/258 896/439/258 895/436/258 +f 895/436/258 897/440/258 899/440/258 +f 897/440/259 898/441/259 900/442/259 +f 900/442/259 901/443/259 897/440/259 +f 902/444/258 899/445/258 897/440/258 +f 897/440/258 901/443/258 902/444/258 +f 903/448/10 904/447/10 905/446/10 +f 905/446/10 906/449/10 903/448/10 +f 907/443/260 908/442/260 904/447/260 +f 904/447/260 903/448/260 907/443/260 +f 909/450/261 907/443/261 903/448/261 +f 903/448/261 906/449/261 909/450/261 +f 900/442/262 908/442/262 907/443/262 +f 907/443/262 901/443/262 900/442/262 +f 902/444/261 901/443/261 907/443/261 +f 907/443/261 909/444/261 902/444/261 +f 910/438/4 911/437/4 912/436/4 +f 912/436/4 913/439/4 910/438/4 +f 914/440/257 912/436/257 911/437/257 +f 911/437/257 915/441/256 914/440/257 +f 916/440/261 913/439/261 912/436/261 +f 912/436/261 914/440/261 916/440/261 +f 914/440/259 915/441/259 917/442/259 +f 917/442/259 918/443/259 914/440/259 +f 919/444/261 916/445/261 914/440/261 +f 914/440/261 918/443/261 919/444/261 +f 920/448/10 921/447/10 922/446/10 +f 922/446/10 923/449/10 920/448/10 +f 924/443/263 925/442/260 921/447/263 +f 921/447/263 920/448/263 924/443/263 +f 926/450/258 924/443/258 920/448/261 +f 920/448/261 923/449/261 926/450/258 +f 917/442/262 925/442/262 924/443/262 +f 924/443/262 918/443/262 917/442/262 +f 919/444/261 918/443/261 924/443/261 +f 924/443/261 926/444/261 919/444/261 +f 927/438/4 928/437/4 929/436/4 +f 929/436/4 930/439/4 927/438/4 +f 931/440/264 929/436/264 928/437/264 +f 928/437/264 932/441/264 931/440/264 +f 933/440/265 930/439/265 929/436/265 +f 929/436/265 931/440/265 933/440/265 +f 931/440/266 932/441/266 934/442/266 +f 934/442/266 935/443/266 931/440/266 +f 936/444/265 933/445/265 931/440/265 +f 931/440/265 935/443/265 936/444/265 +f 937/448/10 938/447/10 939/446/10 +f 939/446/10 940/449/10 937/448/10 +f 941/443/267 942/442/267 938/447/267 +f 938/447/267 937/448/267 941/443/267 +f 943/450/265 941/443/265 937/448/265 +f 937/448/265 940/449/265 943/450/265 +f 934/442/268 942/442/268 941/443/268 +f 941/443/268 935/443/268 934/442/268 +f 936/444/269 935/443/269 941/443/269 +f 941/443/269 943/444/269 936/444/269 +f 944/438/4 945/437/4 946/436/4 +f 946/436/4 947/439/4 944/438/4 +f 948/440/270 946/436/270 945/437/270 +f 945/437/270 949/441/270 948/440/270 +f 950/440/271 947/439/271 946/436/271 +f 946/436/271 948/440/271 950/440/271 +f 948/440/266 949/441/266 951/442/266 +f 951/442/266 952/443/266 948/440/266 +f 953/444/271 950/445/271 948/440/271 +f 948/440/271 952/443/271 953/444/271 +f 954/448/10 955/447/10 956/446/10 +f 956/446/10 957/449/10 954/448/10 +f 958/443/272 959/442/272 955/447/272 +f 955/447/272 954/448/272 958/443/272 +f 960/450/271 958/443/271 954/448/273 +f 954/448/273 957/449/273 960/450/271 +f 951/442/268 959/442/268 958/443/268 +f 958/443/268 952/443/268 951/442/268 +f 953/444/271 952/443/271 958/443/271 +f 958/443/271 960/444/271 953/444/271 +f 961/438/4 962/437/4 963/436/4 +f 963/436/4 964/439/4 961/438/4 +f 965/440/244 963/436/244 962/437/244 +f 962/437/244 966/441/244 965/440/244 +f 967/440/245 964/439/245 963/436/245 +f 963/436/245 965/440/245 967/440/245 +f 965/440/246 966/441/246 968/442/274 +f 968/442/274 969/443/246 965/440/246 +f 970/444/245 967/445/245 965/440/245 +f 965/440/245 969/443/245 970/444/245 +f 971/448/10 972/447/10 973/446/10 +f 973/446/10 974/449/10 971/448/10 +f 975/443/247 976/442/247 972/447/247 +f 972/447/247 971/448/247 975/443/247 +f 977/450/248 975/443/248 971/448/248 +f 971/448/248 974/449/248 977/450/248 +f 968/442/275 976/442/249 975/443/249 +f 975/443/249 969/443/249 968/442/275 +f 970/444/248 969/443/248 975/443/248 +f 975/443/248 977/444/248 970/444/248 +f 978/438/4 979/437/4 980/436/4 +f 980/436/4 981/439/4 978/438/4 +f 982/440/244 980/436/244 979/437/244 +f 979/437/244 983/441/244 982/440/244 +f 984/440/245 981/439/245 980/436/245 +f 980/436/245 982/440/245 984/440/245 +f 982/440/246 983/441/246 985/442/246 +f 985/442/246 986/443/246 982/440/246 +f 987/444/245 984/445/245 982/440/245 +f 982/440/245 986/443/245 987/444/245 +f 988/448/10 989/447/10 990/446/10 +f 990/446/10 991/449/10 988/448/10 +f 992/443/247 993/442/247 989/447/247 +f 989/447/247 988/448/247 992/443/247 +f 994/450/248 992/443/248 988/448/248 +f 988/448/248 991/449/248 994/450/248 +f 985/442/249 993/442/249 992/443/249 +f 992/443/249 986/443/249 985/442/249 +f 987/444/248 986/443/248 992/443/248 +f 992/443/248 994/444/248 987/444/248 +f 995/436/4 996/437/4 997/438/4 +f 997/438/4 998/439/4 995/436/4 +f 996/437/276 995/436/276 999/440/276 +f 999/440/276 1000/441/276 996/437/276 +f 995/436/277 998/439/277 1001/440/278 +f 1001/440/278 999/440/278 995/436/277 +f 1002/442/279 1000/441/279 999/440/279 +f 999/440/279 1003/443/279 1002/442/279 +f 1004/444/277 1003/443/277 999/440/277 +f 999/440/277 1001/445/277 1004/444/277 +f 1005/446/10 1006/447/10 1007/448/10 +f 1007/448/10 1008/449/10 1005/446/10 +f 1006/447/280 1009/442/280 1010/443/280 +f 1010/443/280 1007/448/280 1006/447/280 +f 1007/448/278 1010/443/278 1011/450/278 +f 1011/450/278 1008/449/278 1007/448/278 +f 1010/443/281 1009/442/281 1002/442/281 +f 1002/442/281 1003/443/281 1010/443/281 +f 1004/444/278 1011/444/278 1010/443/278 +f 1010/443/278 1003/443/278 1004/444/278 +f 1012/438/4 1013/437/4 1014/436/4 +f 1014/436/4 1015/439/4 1012/438/4 +f 1016/440/282 1014/436/282 1013/437/282 +f 1013/437/282 1017/441/282 1016/440/282 +f 1018/440/283 1015/439/283 1014/436/283 +f 1014/436/283 1016/440/283 1018/440/283 +f 1016/440/284 1017/441/284 1019/442/284 +f 1019/442/284 1020/443/284 1016/440/284 +f 1021/444/283 1018/445/283 1016/440/283 +f 1016/440/283 1020/443/283 1021/444/283 +f 1022/448/10 1023/447/10 1024/446/10 +f 1024/446/10 1025/449/10 1022/448/10 +f 1026/443/285 1027/442/285 1023/447/285 +f 1023/447/285 1022/448/285 1026/443/285 +f 1028/450/286 1026/443/286 1022/448/286 +f 1022/448/286 1025/449/286 1028/450/286 +f 1019/442/287 1027/442/287 1026/443/287 +f 1026/443/287 1020/443/287 1019/442/287 +f 1021/444/286 1020/443/286 1026/443/286 +f 1026/443/286 1028/444/286 1021/444/286 +f 1029/243/187 1030/244/187 1031/245/187 +f 1031/245/187 1032/246/187 1029/243/187 +f 1029/247/163 1032/248/163 1033/249/163 +f 1033/249/163 1034/250/163 1029/247/163 +f 1032/246/188 1031/245/188 1035/251/188 +f 1035/251/188 1033/252/188 1032/246/188 +f 1031/248/161 1030/247/161 1036/250/161 +f 1036/250/161 1035/249/161 1031/248/161 +f 1037/451/27 1038/452/27 1039/453/27 +f 1039/453/27 1040/454/27 1037/451/27 +f 1041/455/7 1042/456/7 1038/457/7 +f 1038/457/7 1037/458/7 1041/455/7 +f 1042/459/4 1043/460/4 1039/461/4 +f 1039/461/4 1038/462/4 1042/459/4 +f 1043/456/1 1044/455/1 1040/458/1 +f 1040/458/1 1039/457/1 1043/456/1 +f 1044/460/10 1041/459/10 1037/462/10 +f 1037/462/10 1040/461/10 1044/460/10 +f 1045/451/27 1046/452/27 1047/453/27 +f 1047/453/27 1048/454/27 1045/451/27 +f 1049/455/7 1050/456/7 1046/457/7 +f 1046/457/7 1045/458/7 1049/455/7 +f 1050/459/4 1051/460/4 1047/461/4 +f 1047/461/4 1046/462/4 1050/459/4 +f 1051/456/1 1052/455/1 1048/458/1 +f 1048/458/1 1047/457/1 1051/456/1 +f 1052/460/10 1049/459/10 1045/462/10 +f 1045/462/10 1048/461/10 1052/460/10 +f 1053/451/27 1054/452/27 1055/453/27 +f 1055/453/27 1056/454/27 1053/451/27 +f 1057/455/7 1058/456/7 1054/457/7 +f 1054/457/7 1053/458/7 1057/455/7 +f 1058/459/4 1059/460/4 1055/461/4 +f 1055/461/4 1054/462/4 1058/459/4 +f 1059/456/1 1060/455/1 1056/458/1 +f 1056/458/1 1055/457/1 1059/456/1 +f 1060/460/10 1057/459/10 1053/462/10 +f 1053/462/10 1056/461/10 1060/460/10 +f 1061/451/27 1062/452/27 1063/453/27 +f 1063/453/27 1064/454/27 1061/451/27 +f 1065/455/10 1066/456/10 1062/457/10 +f 1062/457/10 1061/458/10 1065/455/10 +f 1066/459/7 1067/460/7 1063/461/7 +f 1063/461/7 1062/462/7 1066/459/7 +f 1067/456/4 1068/455/4 1064/458/4 +f 1064/458/4 1063/457/4 1067/456/4 +f 1068/460/1 1065/459/1 1061/462/1 +f 1061/462/1 1064/461/1 1068/460/1 +f 1069/451/27 1070/452/27 1071/453/27 +f 1071/453/27 1072/454/27 1069/451/27 +f 1073/455/10 1074/456/10 1070/457/10 +f 1070/457/10 1069/458/10 1073/455/10 +f 1074/459/7 1075/460/7 1071/461/7 +f 1071/461/7 1070/462/7 1074/459/7 +f 1075/456/4 1076/455/4 1072/458/4 +f 1072/458/4 1071/457/4 1075/456/4 +f 1076/460/1 1073/459/1 1069/462/1 +f 1069/462/1 1072/461/1 1076/460/1 +f 1077/451/27 1078/452/27 1079/453/27 +f 1079/453/27 1080/454/27 1077/451/27 +f 1081/455/10 1082/456/10 1078/457/10 +f 1078/457/10 1077/458/10 1081/455/10 +f 1082/459/7 1083/460/7 1079/461/7 +f 1079/461/7 1078/462/7 1082/459/7 +f 1083/456/4 1084/455/4 1080/458/4 +f 1080/458/4 1079/457/4 1083/456/4 +f 1084/460/1 1081/459/1 1077/462/1 +f 1077/462/1 1080/461/1 1084/460/1 +f 1085/451/27 1086/452/27 1087/453/27 +f 1087/453/27 1088/454/27 1085/451/27 +f 1089/455/10 1090/456/10 1086/457/10 +f 1086/457/10 1085/458/10 1089/455/10 +f 1090/459/7 1091/460/7 1087/461/7 +f 1087/461/7 1086/462/7 1090/459/7 +f 1091/456/4 1092/455/4 1088/458/4 +f 1088/458/4 1087/457/4 1091/456/4 +f 1092/460/1 1089/459/1 1085/462/1 +f 1085/462/1 1088/461/1 1092/460/1 +f 1093/451/27 1094/452/27 1095/453/27 +f 1095/453/27 1096/454/27 1093/451/27 +f 1097/455/7 1098/456/7 1094/457/7 +f 1094/457/7 1093/458/7 1097/455/7 +f 1098/459/4 1099/460/4 1095/461/4 +f 1095/461/4 1094/462/4 1098/459/4 +f 1099/456/1 1100/455/1 1096/458/1 +f 1096/458/1 1095/457/1 1099/456/1 +f 1100/460/10 1097/459/10 1093/462/10 +f 1093/462/10 1096/461/10 1100/460/10 +f 1101/451/27 1102/452/27 1103/453/27 +f 1103/453/27 1104/454/27 1101/451/27 +f 1105/455/7 1106/456/7 1102/457/7 +f 1102/457/7 1101/458/7 1105/455/7 +f 1106/459/4 1107/460/4 1103/461/4 +f 1103/461/4 1102/462/4 1106/459/4 +f 1107/456/1 1108/455/1 1104/458/1 +f 1104/458/1 1103/457/1 1107/456/1 +f 1108/460/10 1105/459/10 1101/462/10 +f 1101/462/10 1104/461/10 1108/460/10 +f 1109/451/27 1110/452/27 1111/453/27 +f 1111/453/27 1112/454/27 1109/451/27 +f 1113/455/7 1114/456/7 1110/457/7 +f 1110/457/7 1109/458/7 1113/455/7 +f 1114/459/4 1115/460/4 1111/461/4 +f 1111/461/4 1110/462/4 1114/459/4 +f 1115/456/1 1116/455/1 1112/458/1 +f 1112/458/1 1111/457/1 1115/456/1 +f 1116/460/10 1113/459/10 1109/462/10 +f 1109/462/10 1112/461/10 1116/460/10 +f 1117/451/27 1118/452/27 1119/453/27 +f 1119/453/27 1120/454/27 1117/451/27 +f 1121/455/7 1122/456/7 1118/457/7 +f 1118/457/7 1117/458/7 1121/455/7 +f 1122/459/4 1123/460/4 1119/461/4 +f 1119/461/4 1118/462/4 1122/459/4 +f 1123/456/1 1124/455/1 1120/458/1 +f 1120/458/1 1119/457/1 1123/456/1 +f 1124/460/10 1121/459/10 1117/462/10 +f 1117/462/10 1120/461/10 1124/460/10 +f 1125/451/27 1126/452/27 1127/453/27 +f 1127/453/27 1128/454/27 1125/451/27 +f 1129/455/7 1130/456/7 1126/457/7 +f 1126/457/7 1125/458/7 1129/455/7 +f 1130/459/4 1131/460/4 1127/461/4 +f 1127/461/4 1126/462/4 1130/459/4 +f 1131/456/1 1132/455/1 1128/458/1 +f 1128/458/1 1127/457/1 1131/456/1 +f 1132/460/10 1129/459/10 1125/462/10 +f 1125/462/10 1128/461/10 1132/460/10 +f 1133/451/27 1134/452/27 1135/453/27 +f 1135/453/27 1136/454/27 1133/451/27 +f 1137/455/7 1138/456/7 1134/457/7 +f 1134/457/7 1133/458/7 1137/455/7 +f 1138/459/4 1139/460/4 1135/461/4 +f 1135/461/4 1134/462/4 1138/459/4 +f 1139/456/1 1140/455/1 1136/458/1 +f 1136/458/1 1135/457/1 1139/456/1 +f 1140/460/10 1137/459/10 1133/462/10 +f 1133/462/10 1136/461/10 1140/460/10 +f 1141/451/27 1142/452/27 1143/453/27 +f 1143/453/27 1144/454/27 1141/451/27 +f 1145/455/7 1146/456/7 1142/457/7 +f 1142/457/7 1141/458/7 1145/455/7 +f 1146/459/4 1147/460/4 1143/461/4 +f 1143/461/4 1142/462/4 1146/459/4 +f 1147/456/1 1148/455/1 1144/458/1 +f 1144/458/1 1143/457/1 1147/456/1 +f 1148/460/10 1145/459/10 1141/462/10 +f 1141/462/10 1144/461/10 1148/460/10 +f 1149/451/27 1150/452/27 1151/453/27 +f 1151/453/27 1152/454/27 1149/451/27 +f 1153/455/7 1154/456/7 1150/457/7 +f 1150/457/7 1149/458/7 1153/455/7 +f 1154/459/4 1155/460/4 1151/461/4 +f 1151/461/4 1150/462/4 1154/459/4 +f 1155/456/1 1156/455/1 1152/458/1 +f 1152/458/1 1151/457/1 1155/456/1 +f 1156/460/10 1153/459/10 1149/462/10 +f 1149/462/10 1152/461/10 1156/460/10 +f 1157/451/27 1158/452/27 1159/453/27 +f 1159/453/27 1160/454/27 1157/451/27 +f 1161/455/7 1162/456/7 1158/457/7 +f 1158/457/7 1157/458/7 1161/455/7 +f 1162/459/4 1163/460/4 1159/461/4 +f 1159/461/4 1158/462/4 1162/459/4 +f 1163/456/1 1164/455/1 1160/458/1 +f 1160/458/1 1159/457/1 1163/456/1 +f 1164/460/10 1161/459/10 1157/462/10 +f 1157/462/10 1160/461/10 1164/460/10 +f 1165/451/27 1166/452/27 1167/453/27 +f 1167/453/27 1168/454/27 1165/451/27 +f 1169/455/7 1170/456/7 1166/457/7 +f 1166/457/7 1165/458/7 1169/455/7 +f 1170/459/4 1171/460/4 1167/461/4 +f 1167/461/4 1166/462/4 1170/459/4 +f 1171/456/1 1172/455/1 1168/458/1 +f 1168/458/1 1167/457/1 1171/456/1 +f 1172/460/10 1169/459/10 1165/462/10 +f 1165/462/10 1168/461/10 1172/460/10 +f 1173/451/27 1174/452/27 1175/453/27 +f 1175/453/27 1176/454/27 1173/451/27 +f 1177/455/7 1178/456/7 1174/457/7 +f 1174/457/7 1173/458/7 1177/455/7 +f 1178/459/4 1179/460/4 1175/461/4 +f 1175/461/4 1174/462/4 1178/459/4 +f 1179/456/1 1180/455/1 1176/458/1 +f 1176/458/1 1175/457/1 1179/456/1 +f 1180/460/10 1177/459/10 1173/462/10 +f 1173/462/10 1176/461/10 1180/460/10 +f 1181/451/27 1182/452/27 1183/453/27 +f 1183/453/27 1184/454/27 1181/451/27 +f 1185/455/7 1186/456/7 1182/457/7 +f 1182/457/7 1181/458/7 1185/455/7 +f 1186/459/4 1187/460/4 1183/461/4 +f 1183/461/4 1182/462/4 1186/459/4 +f 1187/456/1 1188/455/1 1184/458/1 +f 1184/458/1 1183/457/1 1187/456/1 +f 1188/460/10 1185/459/10 1181/462/10 +f 1181/462/10 1184/461/10 1188/460/10 +f 1189/451/27 1190/452/27 1191/453/27 +f 1191/453/27 1192/454/27 1189/451/27 +f 1193/455/7 1194/456/7 1190/457/7 +f 1190/457/7 1189/458/7 1193/455/7 +f 1194/459/4 1195/460/4 1191/461/4 +f 1191/461/4 1190/462/4 1194/459/4 +f 1195/456/1 1196/455/1 1192/458/1 +f 1192/458/1 1191/457/1 1195/456/1 +f 1196/460/10 1193/459/10 1189/462/10 +f 1189/462/10 1192/461/10 1196/460/10 +f 1197/451/27 1198/452/27 1199/453/27 +f 1199/453/27 1200/454/27 1197/451/27 +f 1201/455/7 1202/456/7 1198/457/7 +f 1198/457/7 1197/458/7 1201/455/7 +f 1202/459/4 1203/460/4 1199/461/4 +f 1199/461/4 1198/462/4 1202/459/4 +f 1203/456/1 1204/455/1 1200/458/1 +f 1200/458/1 1199/457/1 1203/456/1 +f 1204/460/10 1201/459/10 1197/462/10 +f 1197/462/10 1200/461/10 1204/460/10 +f 1205/451/27 1206/452/27 1207/453/27 +f 1207/453/27 1208/454/27 1205/451/27 +f 1209/455/7 1210/456/7 1206/457/7 +f 1206/457/7 1205/458/7 1209/455/7 +f 1210/459/4 1211/460/4 1207/461/4 +f 1207/461/4 1206/462/4 1210/459/4 +f 1211/456/1 1212/455/1 1208/458/1 +f 1208/458/1 1207/457/1 1211/456/1 +f 1212/460/10 1209/459/10 1205/462/10 +f 1205/462/10 1208/461/10 1212/460/10 +f 1213/451/27 1214/452/27 1215/453/27 +f 1215/453/27 1216/454/27 1213/451/27 +f 1217/455/7 1218/456/7 1214/457/7 +f 1214/457/7 1213/458/7 1217/455/7 +f 1218/459/4 1219/460/4 1215/461/4 +f 1215/461/4 1214/462/4 1218/459/4 +f 1219/456/1 1220/455/1 1216/458/1 +f 1216/458/1 1215/457/1 1219/456/1 +f 1220/460/10 1217/459/10 1213/462/10 +f 1213/462/10 1216/461/10 1220/460/10 +f 1221/451/27 1222/452/27 1223/453/27 +f 1223/453/27 1224/454/27 1221/451/27 +f 1225/455/7 1226/456/7 1222/457/7 +f 1222/457/7 1221/458/7 1225/455/7 +f 1226/459/4 1227/460/4 1223/461/4 +f 1223/461/4 1222/462/4 1226/459/4 +f 1227/456/1 1228/455/1 1224/458/1 +f 1224/458/1 1223/457/1 1227/456/1 +f 1228/460/10 1225/459/10 1221/462/10 +f 1221/462/10 1224/461/10 1228/460/10 +f 1229/451/27 1230/452/27 1231/453/27 +f 1231/453/27 1232/454/27 1229/451/27 +f 1233/455/4 1234/456/4 1230/457/4 +f 1230/457/4 1229/458/4 1233/455/4 +f 1234/459/1 1235/460/1 1231/461/1 +f 1231/461/1 1230/462/1 1234/459/1 +f 1235/456/10 1236/455/10 1232/458/10 +f 1232/458/10 1231/457/10 1235/456/10 +f 1236/460/7 1233/459/7 1229/462/7 +f 1229/462/7 1232/461/7 1236/460/7 +f 1237/451/27 1238/452/27 1239/453/27 +f 1239/453/27 1240/454/27 1237/451/27 +f 1241/455/4 1242/456/4 1238/457/4 +f 1238/457/4 1237/458/4 1241/455/4 +f 1242/459/1 1243/460/1 1239/461/1 +f 1239/461/1 1238/462/1 1242/459/1 +f 1243/456/10 1244/455/10 1240/458/10 +f 1240/458/10 1239/457/10 1243/456/10 +f 1244/460/7 1241/459/7 1237/462/7 +f 1237/462/7 1240/461/7 1244/460/7 +f 1245/451/27 1246/452/27 1247/453/27 +f 1247/453/27 1248/454/27 1245/451/27 +f 1249/455/4 1250/456/4 1246/457/4 +f 1246/457/4 1245/458/4 1249/455/4 +f 1250/459/1 1251/460/1 1247/461/1 +f 1247/461/1 1246/462/1 1250/459/1 +f 1251/456/10 1252/455/10 1248/458/10 +f 1248/458/10 1247/457/10 1251/456/10 +f 1252/460/7 1249/459/7 1245/462/7 +f 1245/462/7 1248/461/7 1252/460/7 +f 1253/451/27 1254/452/27 1255/453/27 +f 1255/453/27 1256/454/27 1253/451/27 +f 1257/455/4 1258/456/4 1254/457/4 +f 1254/457/4 1253/458/4 1257/455/4 +f 1258/459/1 1259/460/1 1255/461/1 +f 1255/461/1 1254/462/1 1258/459/1 +f 1259/456/10 1260/455/10 1256/458/10 +f 1256/458/10 1255/457/10 1259/456/10 +f 1260/460/7 1257/459/7 1253/462/7 +f 1253/462/7 1256/461/7 1260/460/7 +f 1261/451/27 1262/452/27 1263/453/27 +f 1263/453/27 1264/454/27 1261/451/27 +f 1265/455/7 1266/456/7 1262/457/7 +f 1262/457/7 1261/458/7 1265/455/7 +f 1266/459/4 1267/460/4 1263/461/4 +f 1263/461/4 1262/462/4 1266/459/4 +f 1267/456/1 1268/455/1 1264/458/1 +f 1264/458/1 1263/457/1 1267/456/1 +f 1268/460/10 1265/459/10 1261/462/10 +f 1261/462/10 1264/461/10 1268/460/10 +f 1269/451/27 1270/452/27 1271/453/27 +f 1271/453/27 1272/454/27 1269/451/27 +f 1273/455/7 1274/456/7 1270/457/7 +f 1270/457/7 1269/458/7 1273/455/7 +f 1274/459/4 1275/460/4 1271/461/4 +f 1271/461/4 1270/462/4 1274/459/4 +f 1275/456/1 1276/455/1 1272/458/1 +f 1272/458/1 1271/457/1 1275/456/1 +f 1276/460/10 1273/459/10 1269/462/10 +f 1269/462/10 1272/461/10 1276/460/10 +f 1277/451/27 1278/452/27 1279/453/27 +f 1279/453/27 1280/454/27 1277/451/27 +f 1281/455/7 1282/456/7 1278/457/7 +f 1278/457/7 1277/458/7 1281/455/7 +f 1282/459/4 1283/460/4 1279/461/4 +f 1279/461/4 1278/462/4 1282/459/4 +f 1283/456/1 1284/455/1 1280/458/1 +f 1280/458/1 1279/457/1 1283/456/1 +f 1284/460/10 1281/459/10 1277/462/10 +f 1277/462/10 1280/461/10 1284/460/10 +f 1285/451/27 1286/452/27 1287/453/27 +f 1287/453/27 1288/454/27 1285/451/27 +f 1289/455/7 1290/456/7 1286/457/7 +f 1286/457/7 1285/458/7 1289/455/7 +f 1290/459/4 1291/460/4 1287/461/4 +f 1287/461/4 1286/462/4 1290/459/4 +f 1291/456/1 1292/455/1 1288/458/1 +f 1288/458/1 1287/457/1 1291/456/1 +f 1292/460/10 1289/459/10 1285/462/10 +f 1285/462/10 1288/461/10 1292/460/10 +f 1293/451/27 1294/452/27 1295/453/27 +f 1295/453/27 1296/454/27 1293/451/27 +f 1297/455/7 1298/456/7 1294/457/7 +f 1294/457/7 1293/458/7 1297/455/7 +f 1298/459/4 1299/460/4 1295/461/4 +f 1295/461/4 1294/462/4 1298/459/4 +f 1299/456/1 1300/455/1 1296/458/1 +f 1296/458/1 1295/457/1 1299/456/1 +f 1300/460/10 1297/459/10 1293/462/10 +f 1293/462/10 1296/461/10 1300/460/10 +f 1301/451/27 1302/452/27 1303/453/27 +f 1303/453/27 1304/454/27 1301/451/27 +f 1305/455/7 1306/456/7 1302/457/7 +f 1302/457/7 1301/458/7 1305/455/7 +f 1306/459/4 1307/460/4 1303/461/4 +f 1303/461/4 1302/462/4 1306/459/4 +f 1307/456/1 1308/455/1 1304/458/1 +f 1304/458/1 1303/457/1 1307/456/1 +f 1308/460/10 1305/459/10 1301/462/10 +f 1301/462/10 1304/461/10 1308/460/10 +f 1309/451/27 1310/452/27 1311/453/27 +f 1311/453/27 1312/454/27 1309/451/27 +f 1313/455/7 1314/456/7 1310/457/7 +f 1310/457/7 1309/458/7 1313/455/7 +f 1314/459/4 1315/460/4 1311/461/4 +f 1311/461/4 1310/462/4 1314/459/4 +f 1315/456/1 1316/455/1 1312/458/1 +f 1312/458/1 1311/457/1 1315/456/1 +f 1316/460/10 1313/459/10 1309/462/10 +f 1309/462/10 1312/461/10 1316/460/10 +f 1317/451/27 1318/452/27 1319/453/27 +f 1319/453/27 1320/454/27 1317/451/27 +f 1321/455/4 1322/456/4 1318/457/4 +f 1318/457/4 1317/458/4 1321/455/4 +f 1322/459/1 1323/460/1 1319/461/1 +f 1319/461/1 1318/462/1 1322/459/1 +f 1323/456/10 1324/455/10 1320/458/10 +f 1320/458/10 1319/457/10 1323/456/10 +f 1324/460/7 1321/459/7 1317/462/7 +f 1317/462/7 1320/461/7 1324/460/7 +f 1325/451/27 1326/452/27 1327/453/27 +f 1327/453/27 1328/454/27 1325/451/27 +f 1329/455/4 1330/456/4 1326/457/4 +f 1326/457/4 1325/458/4 1329/455/4 +f 1330/459/1 1331/460/1 1327/461/1 +f 1327/461/1 1326/462/1 1330/459/1 +f 1331/456/10 1332/455/10 1328/458/10 +f 1328/458/10 1327/457/10 1331/456/10 +f 1332/460/7 1329/459/7 1325/462/7 +f 1325/462/7 1328/461/7 1332/460/7 +f 1333/451/27 1334/452/27 1335/453/27 +f 1335/453/27 1336/454/27 1333/451/27 +f 1337/455/4 1338/456/4 1334/457/4 +f 1334/457/4 1333/458/4 1337/455/4 +f 1338/459/1 1339/460/1 1335/461/1 +f 1335/461/1 1334/462/1 1338/459/1 +f 1339/456/10 1340/455/10 1336/458/10 +f 1336/458/10 1335/457/10 1339/456/10 +f 1340/460/7 1337/459/7 1333/462/7 +f 1333/462/7 1336/461/7 1340/460/7 +f 1341/451/27 1342/452/27 1343/453/27 +f 1343/453/27 1344/454/27 1341/451/27 +f 1345/455/4 1346/456/4 1342/457/4 +f 1342/457/4 1341/458/4 1345/455/4 +f 1346/459/1 1347/460/1 1343/461/1 +f 1343/461/1 1342/462/1 1346/459/1 +f 1347/456/10 1348/455/10 1344/458/10 +f 1344/458/10 1343/457/10 1347/456/10 +f 1348/460/7 1345/459/7 1341/462/7 +f 1341/462/7 1344/461/7 1348/460/7 +f 1349/451/27 1350/452/27 1351/453/27 +f 1351/453/27 1352/454/27 1349/451/27 +f 1353/455/4 1354/456/4 1350/457/4 +f 1350/457/4 1349/458/4 1353/455/4 +f 1354/459/1 1355/460/1 1351/461/1 +f 1351/461/1 1350/462/1 1354/459/1 +f 1355/456/10 1356/455/10 1352/458/10 +f 1352/458/10 1351/457/10 1355/456/10 +f 1356/460/7 1353/459/7 1349/462/7 +f 1349/462/7 1352/461/7 1356/460/7 +f 1357/463/27 1358/464/27 1359/465/27 +f 1359/465/27 1360/466/27 1357/463/27 +f 1361/467/4 1362/468/4 1359/469/4 +f 1359/469/4 1358/470/4 1361/467/4 +f 1363/471/4 1364/472/4 1365/473/4 +f 1365/473/4 1366/474/4 1363/471/4 +f 1367/475/1 1368/476/1 1369/477/1 +f 1369/477/1 1370/478/1 1367/475/1 +f 1371/479/27 1372/480/288 1373/480/288 +f 1373/480/288 1374/479/27 1371/479/27 +f 1375/476/7 1376/475/7 1377/481/7 +f 1377/481/7 1378/482/7 1375/476/7 +f 1379/483/26 1380/484/289 1381/485/289 +f 1381/485/289 1382/483/26 1379/483/26 +f 1383/486/4 1384/487/4 1385/488/4 +f 1386/489/4 1387/490/4 1372/491/4 +f 1372/491/4 1371/492/4 1386/489/4 +f 1388/493/4 1389/494/4 1390/495/4 +f 1391/496/4 1392/497/4 1390/495/4 +f 1390/495/4 1389/494/4 1391/496/4 +f 1393/498/4 1394/499/4 1365/473/4 +f 1365/473/4 1364/472/4 1393/498/4 +f 1395/500/290 1371/479/27 1374/479/27 +f 1374/479/27 1396/500/290 1395/500/290 +f 1397/501/291 1379/483/26 1382/483/26 +f 1382/483/26 1398/501/291 1397/501/291 +f 1395/502/4 1399/503/4 1386/489/4 +f 1386/489/4 1371/492/4 1395/502/4 +f 1391/496/4 1383/486/4 1385/488/4 +f 1385/488/4 1392/497/4 1391/496/4 +f 1387/504/7 1363/504/7 1366/505/7 +f 1366/505/7 1400/505/7 1387/504/7 +f 1386/506/292 1364/506/292 1363/504/292 +f 1363/504/292 1387/504/292 1386/506/292 +f 1399/507/293 1393/507/293 1364/506/293 +f 1364/506/293 1386/506/293 1399/507/293 +f 1401/508/1 1394/508/1 1393/507/1 +f 1393/507/1 1399/507/1 1401/508/1 +f 1402/509/210 1365/510/210 1394/511/210 +f 1394/511/210 1401/512/210 1402/509/210 +f 1400/513/294 1366/514/294 1365/510/294 +f 1365/510/294 1402/509/294 1400/513/294 +f 1403/515/4 1401/516/4 1399/503/4 +f 1399/503/4 1395/502/4 1403/515/4 +f 1395/500/7 1396/500/7 1404/517/7 +f 1404/517/7 1403/517/7 1395/500/7 +f 1372/480/1 1405/518/1 1406/518/1 +f 1406/518/1 1373/480/1 1372/480/1 +f 1405/519/4 1372/491/4 1387/490/4 +f 1387/490/4 1400/474/4 1405/519/4 +f 1367/475/1 1407/481/1 1408/482/1 +f 1408/482/1 1368/476/1 1367/475/1 +f 1400/513/295 1385/513/295 1384/485/295 +f 1384/485/295 1405/520/295 1400/513/295 +f 1402/509/294 1392/509/294 1385/513/294 +f 1385/513/294 1400/513/294 1402/509/294 +f 1401/512/210 1390/512/210 1392/509/210 +f 1392/509/210 1402/509/210 1401/512/210 +f 1403/521/296 1388/521/296 1390/512/296 +f 1390/512/296 1401/512/296 1403/521/296 +f 1375/476/7 1409/477/7 1410/478/7 +f 1410/478/7 1376/475/7 1375/476/7 +f 1379/483/289 1391/522/289 1389/523/289 +f 1389/523/289 1380/484/289 1379/483/289 +f 1397/501/291 1383/524/291 1391/522/291 +f 1391/522/291 1379/483/291 1397/501/291 +f 1405/520/27 1367/525/27 1370/526/27 +f 1370/526/27 1406/527/27 1405/520/27 +f 1384/485/27 1407/528/27 1367/525/27 +f 1367/525/27 1405/520/27 1384/485/27 +f 1383/486/4 1408/486/4 1407/487/4 +f 1407/487/4 1384/487/4 1383/486/4 +f 1397/501/26 1368/501/26 1408/524/26 +f 1408/524/26 1383/524/26 1397/501/26 +f 1398/501/26 1369/501/26 1368/501/26 +f 1368/501/26 1397/501/26 1398/501/26 +f 1380/484/26 1375/484/26 1378/485/26 +f 1378/485/26 1381/485/26 1380/484/26 +f 1389/523/26 1409/523/26 1375/484/26 +f 1375/484/26 1380/484/26 1389/523/26 +f 1388/493/4 1410/529/4 1409/530/4 +f 1409/530/4 1389/494/4 1388/493/4 +f 1403/521/27 1376/531/27 1410/532/27 +f 1410/532/27 1388/521/27 1403/521/27 +f 1404/533/27 1377/531/27 1376/531/27 +f 1376/531/27 1403/521/27 1404/533/27 +f 1411/471/4 1412/472/4 1413/473/4 +f 1413/473/4 1414/474/4 1411/471/4 +f 1415/475/1 1416/476/1 1417/477/1 +f 1417/477/1 1418/478/1 1415/475/1 +f 1419/479/27 1420/480/288 1421/480/288 +f 1421/480/288 1422/479/27 1419/479/27 +f 1423/476/7 1424/475/7 1425/481/7 +f 1425/481/7 1426/482/7 1423/476/7 +f 1427/483/26 1428/484/289 1429/485/289 +f 1429/485/289 1430/483/26 1427/483/26 +f 1431/486/4 1432/487/4 1433/488/4 +f 1434/489/4 1435/490/4 1420/491/4 +f 1420/491/4 1419/492/4 1434/489/4 +f 1436/493/4 1437/494/4 1438/495/4 +f 1439/496/4 1440/497/4 1438/495/4 +f 1438/495/4 1437/494/4 1439/496/4 +f 1441/498/4 1442/499/4 1413/473/4 +f 1413/473/4 1412/472/4 1441/498/4 +f 1443/500/290 1419/479/27 1422/479/27 +f 1422/479/27 1444/500/290 1443/500/290 +f 1445/501/291 1427/483/26 1430/483/26 +f 1430/483/26 1446/501/291 1445/501/291 +f 1443/502/4 1447/503/4 1434/489/4 +f 1434/489/4 1419/492/4 1443/502/4 +f 1439/496/4 1431/486/4 1433/488/4 +f 1433/488/4 1440/497/4 1439/496/4 +f 1435/504/7 1411/504/7 1414/505/7 +f 1414/505/7 1448/505/7 1435/504/7 +f 1434/506/292 1412/506/292 1411/504/292 +f 1411/504/292 1435/504/292 1434/506/292 +f 1447/507/293 1441/507/293 1412/506/293 +f 1412/506/293 1434/506/293 1447/507/293 +f 1449/508/1 1442/508/1 1441/507/1 +f 1441/507/1 1447/507/1 1449/508/1 +f 1450/509/210 1413/510/210 1442/511/210 +f 1442/511/210 1449/512/210 1450/509/210 +f 1448/513/294 1414/514/294 1413/510/294 +f 1413/510/294 1450/509/294 1448/513/294 +f 1451/515/4 1449/516/4 1447/503/4 +f 1447/503/4 1443/502/4 1451/515/4 +f 1443/500/7 1444/500/7 1452/517/7 +f 1452/517/7 1451/517/7 1443/500/7 +f 1420/480/1 1453/518/1 1454/518/1 +f 1454/518/1 1421/480/1 1420/480/1 +f 1453/519/4 1420/491/4 1435/490/4 +f 1435/490/4 1448/474/4 1453/519/4 +f 1415/475/1 1455/481/1 1456/482/1 +f 1456/482/1 1416/476/1 1415/475/1 +f 1448/513/295 1433/513/295 1432/485/295 +f 1432/485/295 1453/520/295 1448/513/295 +f 1450/509/294 1440/509/294 1433/513/294 +f 1433/513/294 1448/513/294 1450/509/294 +f 1449/512/210 1438/512/210 1440/509/210 +f 1440/509/210 1450/509/210 1449/512/210 +f 1451/521/296 1436/521/296 1438/512/296 +f 1438/512/296 1449/512/296 1451/521/296 +f 1423/476/7 1457/477/7 1458/478/7 +f 1458/478/7 1424/475/7 1423/476/7 +f 1427/483/289 1439/522/289 1437/523/289 +f 1437/523/289 1428/484/289 1427/483/289 +f 1445/501/291 1431/524/291 1439/522/291 +f 1439/522/291 1427/483/291 1445/501/291 +f 1453/520/27 1415/525/27 1418/526/27 +f 1418/526/27 1454/527/27 1453/520/27 +f 1432/485/27 1455/528/27 1415/525/27 +f 1415/525/27 1453/520/27 1432/485/27 +f 1431/486/4 1456/486/4 1455/487/4 +f 1455/487/4 1432/487/4 1431/486/4 +f 1445/501/26 1416/501/26 1456/524/26 +f 1456/524/26 1431/524/26 1445/501/26 +f 1446/501/26 1417/501/26 1416/501/26 +f 1416/501/26 1445/501/26 1446/501/26 +f 1428/484/26 1423/484/26 1426/485/26 +f 1426/485/26 1429/485/26 1428/484/26 +f 1437/523/26 1457/523/26 1423/484/26 +f 1423/484/26 1428/484/26 1437/523/26 +f 1436/493/4 1458/529/4 1457/530/4 +f 1457/530/4 1437/494/4 1436/493/4 +f 1451/521/27 1424/531/27 1458/532/27 +f 1458/532/27 1436/521/27 1451/521/27 +f 1452/533/27 1425/531/27 1424/531/27 +f 1424/531/27 1451/521/27 1452/533/27 +f 1459/471/4 1460/472/4 1461/473/4 +f 1461/473/4 1462/474/4 1459/471/4 +f 1463/475/1 1464/476/1 1465/477/1 +f 1465/477/1 1466/478/1 1463/475/1 +f 1467/479/27 1468/480/288 1469/480/288 +f 1469/480/288 1470/479/27 1467/479/27 +f 1471/476/7 1472/475/7 1473/481/7 +f 1473/481/7 1474/482/7 1471/476/7 +f 1475/483/26 1476/484/289 1477/485/289 +f 1477/485/289 1478/483/26 1475/483/26 +f 1479/486/4 1480/487/4 1481/488/4 +f 1482/489/4 1483/490/4 1468/491/4 +f 1468/491/4 1467/492/4 1482/489/4 +f 1484/493/4 1485/494/4 1486/495/4 +f 1487/496/4 1488/497/4 1486/495/4 +f 1486/495/4 1485/494/4 1487/496/4 +f 1489/498/4 1490/499/4 1461/473/4 +f 1461/473/4 1460/472/4 1489/498/4 +f 1491/500/290 1467/479/27 1470/479/27 +f 1470/479/27 1492/500/290 1491/500/290 +f 1493/501/291 1475/483/26 1478/483/26 +f 1478/483/26 1494/501/291 1493/501/291 +f 1491/502/4 1495/503/4 1482/489/4 +f 1482/489/4 1467/492/4 1491/502/4 +f 1487/496/4 1479/486/4 1481/488/4 +f 1481/488/4 1488/497/4 1487/496/4 +f 1483/504/7 1459/504/7 1462/505/7 +f 1462/505/7 1496/505/7 1483/504/7 +f 1482/506/292 1460/506/292 1459/504/292 +f 1459/504/292 1483/504/292 1482/506/292 +f 1495/507/293 1489/507/293 1460/506/293 +f 1460/506/293 1482/506/293 1495/507/293 +f 1497/508/1 1490/508/1 1489/507/1 +f 1489/507/1 1495/507/1 1497/508/1 +f 1498/509/210 1461/510/210 1490/511/210 +f 1490/511/210 1497/512/210 1498/509/210 +f 1496/513/294 1462/514/294 1461/510/294 +f 1461/510/294 1498/509/294 1496/513/294 +f 1499/515/4 1497/516/4 1495/503/4 +f 1495/503/4 1491/502/4 1499/515/4 +f 1491/500/7 1492/500/7 1500/517/7 +f 1500/517/7 1499/517/7 1491/500/7 +f 1468/480/1 1501/518/1 1502/518/1 +f 1502/518/1 1469/480/1 1468/480/1 +f 1501/519/4 1468/491/4 1483/490/4 +f 1483/490/4 1496/474/4 1501/519/4 +f 1463/475/1 1503/481/1 1504/482/1 +f 1504/482/1 1464/476/1 1463/475/1 +f 1496/513/295 1481/513/295 1480/485/295 +f 1480/485/295 1501/520/295 1496/513/295 +f 1498/509/294 1488/509/294 1481/513/294 +f 1481/513/294 1496/513/294 1498/509/294 +f 1497/512/210 1486/512/210 1488/509/210 +f 1488/509/210 1498/509/210 1497/512/210 +f 1499/521/296 1484/521/296 1486/512/296 +f 1486/512/296 1497/512/296 1499/521/296 +f 1471/476/7 1505/477/7 1506/478/7 +f 1506/478/7 1472/475/7 1471/476/7 +f 1475/483/289 1487/522/289 1485/523/289 +f 1485/523/289 1476/484/289 1475/483/289 +f 1493/501/291 1479/524/291 1487/522/291 +f 1487/522/291 1475/483/291 1493/501/291 +f 1501/520/27 1463/525/27 1466/526/27 +f 1466/526/27 1502/527/27 1501/520/27 +f 1480/485/27 1503/528/27 1463/525/27 +f 1463/525/27 1501/520/27 1480/485/27 +f 1479/486/4 1504/486/4 1503/487/4 +f 1503/487/4 1480/487/4 1479/486/4 +f 1493/501/26 1464/501/26 1504/524/26 +f 1504/524/26 1479/524/26 1493/501/26 +f 1494/501/26 1465/501/26 1464/501/26 +f 1464/501/26 1493/501/26 1494/501/26 +f 1476/484/26 1471/484/26 1474/485/26 +f 1474/485/26 1477/485/26 1476/484/26 +f 1485/523/26 1505/523/26 1471/484/26 +f 1471/484/26 1476/484/26 1485/523/26 +f 1484/493/4 1506/529/4 1505/530/4 +f 1505/530/4 1485/494/4 1484/493/4 +f 1499/521/27 1472/531/27 1506/532/27 +f 1506/532/27 1484/521/27 1499/521/27 +f 1500/533/27 1473/531/27 1472/531/27 +f 1472/531/27 1499/521/27 1500/533/27 +f 1507/471/4 1508/472/4 1509/473/4 +f 1509/473/4 1510/474/4 1507/471/4 +f 1511/475/1 1512/476/1 1513/477/1 +f 1513/477/1 1514/478/1 1511/475/1 +f 1515/479/27 1516/480/288 1517/480/288 +f 1517/480/288 1518/479/27 1515/479/27 +f 1519/476/7 1520/475/7 1521/481/7 +f 1521/481/7 1522/482/7 1519/476/7 +f 1523/483/26 1524/484/289 1525/485/289 +f 1525/485/289 1526/483/26 1523/483/26 +f 1527/486/4 1528/487/4 1529/488/4 +f 1530/489/4 1531/490/4 1516/491/4 +f 1516/491/4 1515/492/4 1530/489/4 +f 1532/493/4 1533/494/4 1534/495/4 +f 1535/496/4 1536/497/4 1534/495/4 +f 1534/495/4 1533/494/4 1535/496/4 +f 1537/498/4 1538/499/4 1509/473/4 +f 1509/473/4 1508/472/4 1537/498/4 +f 1539/500/290 1515/479/27 1518/479/27 +f 1518/479/27 1540/500/290 1539/500/290 +f 1541/501/291 1523/483/26 1526/483/26 +f 1526/483/26 1542/501/291 1541/501/291 +f 1539/502/4 1543/503/4 1530/489/4 +f 1530/489/4 1515/492/4 1539/502/4 +f 1535/496/4 1527/486/4 1529/488/4 +f 1529/488/4 1536/497/4 1535/496/4 +f 1531/504/7 1507/504/7 1510/505/7 +f 1510/505/7 1544/505/7 1531/504/7 +f 1530/506/292 1508/506/292 1507/504/292 +f 1507/504/292 1531/504/292 1530/506/292 +f 1543/507/293 1537/507/293 1508/506/293 +f 1508/506/293 1530/506/293 1543/507/293 +f 1545/508/1 1538/508/1 1537/507/1 +f 1537/507/1 1543/507/1 1545/508/1 +f 1546/509/210 1509/510/210 1538/511/210 +f 1538/511/210 1545/512/210 1546/509/210 +f 1544/513/294 1510/514/294 1509/510/294 +f 1509/510/294 1546/509/294 1544/513/294 +f 1547/515/4 1545/516/4 1543/503/4 +f 1543/503/4 1539/502/4 1547/515/4 +f 1539/500/7 1540/500/7 1548/517/7 +f 1548/517/7 1547/517/7 1539/500/7 +f 1516/480/1 1549/518/1 1550/518/1 +f 1550/518/1 1517/480/1 1516/480/1 +f 1549/519/4 1516/491/4 1531/490/4 +f 1531/490/4 1544/474/4 1549/519/4 +f 1511/475/1 1551/481/1 1552/482/1 +f 1552/482/1 1512/476/1 1511/475/1 +f 1544/513/295 1529/513/295 1528/485/295 +f 1528/485/295 1549/520/295 1544/513/295 +f 1546/509/294 1536/509/294 1529/513/294 +f 1529/513/294 1544/513/294 1546/509/294 +f 1545/512/210 1534/512/210 1536/509/210 +f 1536/509/210 1546/509/210 1545/512/210 +f 1547/521/296 1532/521/296 1534/512/296 +f 1534/512/296 1545/512/296 1547/521/296 +f 1519/476/7 1553/477/7 1554/478/7 +f 1554/478/7 1520/475/7 1519/476/7 +f 1523/483/289 1535/522/289 1533/523/289 +f 1533/523/289 1524/484/289 1523/483/289 +f 1541/501/291 1527/524/291 1535/522/291 +f 1535/522/291 1523/483/291 1541/501/291 +f 1549/520/27 1511/525/27 1514/526/27 +f 1514/526/27 1550/527/27 1549/520/27 +f 1528/485/27 1551/528/27 1511/525/27 +f 1511/525/27 1549/520/27 1528/485/27 +f 1527/486/4 1552/486/4 1551/487/4 +f 1551/487/4 1528/487/4 1527/486/4 +f 1541/501/26 1512/501/26 1552/524/26 +f 1552/524/26 1527/524/26 1541/501/26 +f 1542/501/26 1513/501/26 1512/501/26 +f 1512/501/26 1541/501/26 1542/501/26 +f 1524/484/26 1519/484/26 1522/485/26 +f 1522/485/26 1525/485/26 1524/484/26 +f 1533/523/26 1553/523/26 1519/484/26 +f 1519/484/26 1524/484/26 1533/523/26 +f 1532/493/4 1554/529/4 1553/530/4 +f 1553/530/4 1533/494/4 1532/493/4 +f 1547/521/27 1520/531/27 1554/532/27 +f 1554/532/27 1532/521/27 1547/521/27 +f 1548/533/27 1521/531/27 1520/531/27 +f 1520/531/27 1547/521/27 1548/533/27 +f 1555/471/4 1556/472/4 1557/473/4 +f 1557/473/4 1558/474/4 1555/471/4 +f 1559/475/1 1560/476/1 1561/477/1 +f 1561/477/1 1562/478/1 1559/475/1 +f 1563/479/27 1564/480/288 1565/480/288 +f 1565/480/288 1566/479/27 1563/479/27 +f 1567/476/7 1568/475/7 1569/481/7 +f 1569/481/7 1570/482/7 1567/476/7 +f 1571/483/26 1572/484/289 1573/485/289 +f 1573/485/289 1574/483/26 1571/483/26 +f 1575/486/4 1576/487/4 1577/488/4 +f 1578/489/4 1579/490/4 1564/491/4 +f 1564/491/4 1563/492/4 1578/489/4 +f 1580/493/4 1581/494/4 1582/495/4 +f 1583/496/4 1584/497/4 1582/495/4 +f 1582/495/4 1581/494/4 1583/496/4 +f 1585/498/4 1586/499/4 1557/473/4 +f 1557/473/4 1556/472/4 1585/498/4 +f 1587/500/290 1563/479/27 1566/479/27 +f 1566/479/27 1588/500/290 1587/500/290 +f 1589/501/291 1571/483/26 1574/483/26 +f 1574/483/26 1590/501/291 1589/501/291 +f 1587/502/4 1591/503/4 1578/489/4 +f 1578/489/4 1563/492/4 1587/502/4 +f 1583/496/4 1575/486/4 1577/488/4 +f 1577/488/4 1584/497/4 1583/496/4 +f 1579/504/7 1555/504/7 1558/505/7 +f 1558/505/7 1592/505/7 1579/504/7 +f 1578/506/292 1556/506/292 1555/504/292 +f 1555/504/292 1579/504/292 1578/506/292 +f 1591/507/293 1585/507/293 1556/506/293 +f 1556/506/293 1578/506/293 1591/507/293 +f 1593/508/1 1586/508/1 1585/507/1 +f 1585/507/1 1591/507/1 1593/508/1 +f 1594/509/210 1557/510/210 1586/511/210 +f 1586/511/210 1593/512/210 1594/509/210 +f 1592/513/294 1558/514/294 1557/510/294 +f 1557/510/294 1594/509/294 1592/513/294 +f 1595/515/4 1593/516/4 1591/503/4 +f 1591/503/4 1587/502/4 1595/515/4 +f 1587/500/7 1588/500/7 1596/517/7 +f 1596/517/7 1595/517/7 1587/500/7 +f 1564/480/1 1597/518/1 1598/518/1 +f 1598/518/1 1565/480/1 1564/480/1 +f 1597/519/4 1564/491/4 1579/490/4 +f 1579/490/4 1592/474/4 1597/519/4 +f 1559/475/1 1599/481/1 1600/482/1 +f 1600/482/1 1560/476/1 1559/475/1 +f 1592/513/295 1577/513/295 1576/485/295 +f 1576/485/295 1597/520/295 1592/513/295 +f 1594/509/294 1584/509/294 1577/513/294 +f 1577/513/294 1592/513/294 1594/509/294 +f 1593/512/210 1582/512/210 1584/509/210 +f 1584/509/210 1594/509/210 1593/512/210 +f 1595/521/296 1580/521/296 1582/512/296 +f 1582/512/296 1593/512/296 1595/521/296 +f 1567/476/7 1601/477/7 1602/478/7 +f 1602/478/7 1568/475/7 1567/476/7 +f 1571/483/289 1583/522/289 1581/523/289 +f 1581/523/289 1572/484/289 1571/483/289 +f 1589/501/291 1575/524/291 1583/522/291 +f 1583/522/291 1571/483/291 1589/501/291 +f 1597/520/27 1559/525/27 1562/526/27 +f 1562/526/27 1598/527/27 1597/520/27 +f 1576/485/27 1599/528/27 1559/525/27 +f 1559/525/27 1597/520/27 1576/485/27 +f 1575/486/4 1600/486/4 1599/487/4 +f 1599/487/4 1576/487/4 1575/486/4 +f 1589/501/26 1560/501/26 1600/524/26 +f 1600/524/26 1575/524/26 1589/501/26 +f 1590/501/26 1561/501/26 1560/501/26 +f 1560/501/26 1589/501/26 1590/501/26 +f 1572/484/26 1567/484/26 1570/485/26 +f 1570/485/26 1573/485/26 1572/484/26 +f 1581/523/26 1601/523/26 1567/484/26 +f 1567/484/26 1572/484/26 1581/523/26 +f 1580/493/4 1602/529/4 1601/530/4 +f 1601/530/4 1581/494/4 1580/493/4 +f 1595/521/27 1568/531/27 1602/532/27 +f 1602/532/27 1580/521/27 1595/521/27 +f 1596/533/27 1569/531/27 1568/531/27 +f 1568/531/27 1595/521/27 1596/533/27 +f 1603/471/4 1604/472/4 1605/473/4 +f 1605/473/4 1606/474/4 1603/471/4 +f 1607/475/1 1608/476/1 1609/477/1 +f 1609/477/1 1610/478/1 1607/475/1 +f 1611/479/27 1612/480/288 1613/480/288 +f 1613/480/288 1614/479/27 1611/479/27 +f 1615/476/7 1616/475/7 1617/481/7 +f 1617/481/7 1618/482/7 1615/476/7 +f 1619/483/26 1620/484/289 1621/485/289 +f 1621/485/289 1622/483/26 1619/483/26 +f 1623/486/4 1624/487/4 1625/488/4 +f 1626/489/4 1627/490/4 1612/491/4 +f 1612/491/4 1611/492/4 1626/489/4 +f 1628/493/4 1629/494/4 1630/495/4 +f 1631/496/4 1632/497/4 1630/495/4 +f 1630/495/4 1629/494/4 1631/496/4 +f 1633/498/4 1634/499/4 1605/473/4 +f 1605/473/4 1604/472/4 1633/498/4 +f 1635/500/290 1611/479/27 1614/479/27 +f 1614/479/27 1636/500/290 1635/500/290 +f 1637/501/291 1619/483/26 1622/483/26 +f 1622/483/26 1638/501/291 1637/501/291 +f 1635/502/4 1639/503/4 1626/489/4 +f 1626/489/4 1611/492/4 1635/502/4 +f 1631/496/4 1623/486/4 1625/488/4 +f 1625/488/4 1632/497/4 1631/496/4 +f 1627/504/7 1603/504/7 1606/505/7 +f 1606/505/7 1640/505/7 1627/504/7 +f 1626/506/292 1604/506/292 1603/504/292 +f 1603/504/292 1627/504/292 1626/506/292 +f 1639/507/293 1633/507/293 1604/506/293 +f 1604/506/293 1626/506/293 1639/507/293 +f 1641/508/1 1634/508/1 1633/507/1 +f 1633/507/1 1639/507/1 1641/508/1 +f 1642/509/210 1605/510/210 1634/511/210 +f 1634/511/210 1641/512/210 1642/509/210 +f 1640/513/294 1606/514/294 1605/510/294 +f 1605/510/294 1642/509/294 1640/513/294 +f 1643/515/4 1641/516/4 1639/503/4 +f 1639/503/4 1635/502/4 1643/515/4 +f 1635/500/7 1636/500/7 1644/517/7 +f 1644/517/7 1643/517/7 1635/500/7 +f 1612/480/1 1645/518/1 1646/518/1 +f 1646/518/1 1613/480/1 1612/480/1 +f 1645/519/4 1612/491/4 1627/490/4 +f 1627/490/4 1640/474/4 1645/519/4 +f 1607/475/1 1647/481/1 1648/482/1 +f 1648/482/1 1608/476/1 1607/475/1 +f 1640/513/295 1625/513/295 1624/485/295 +f 1624/485/295 1645/520/295 1640/513/295 +f 1642/509/294 1632/509/294 1625/513/294 +f 1625/513/294 1640/513/294 1642/509/294 +f 1641/512/210 1630/512/210 1632/509/210 +f 1632/509/210 1642/509/210 1641/512/210 +f 1643/521/296 1628/521/296 1630/512/296 +f 1630/512/296 1641/512/296 1643/521/296 +f 1615/476/7 1649/477/7 1650/478/7 +f 1650/478/7 1616/475/7 1615/476/7 +f 1619/483/289 1631/522/289 1629/523/289 +f 1629/523/289 1620/484/289 1619/483/289 +f 1637/501/291 1623/524/291 1631/522/297 +f 1631/522/297 1619/483/297 1637/501/291 +f 1645/520/27 1607/525/27 1610/526/27 +f 1610/526/27 1646/527/27 1645/520/27 +f 1624/485/27 1647/528/27 1607/525/27 +f 1607/525/27 1645/520/27 1624/485/27 +f 1623/486/4 1648/486/4 1647/487/4 +f 1647/487/4 1624/487/4 1623/486/4 +f 1637/501/26 1608/501/26 1648/524/26 +f 1648/524/26 1623/524/26 1637/501/26 +f 1638/501/26 1609/501/26 1608/501/26 +f 1608/501/26 1637/501/26 1638/501/26 +f 1620/484/26 1615/484/26 1618/485/26 +f 1618/485/26 1621/485/26 1620/484/26 +f 1629/523/26 1649/523/26 1615/484/26 +f 1615/484/26 1620/484/26 1629/523/26 +f 1628/493/4 1650/529/4 1649/530/4 +f 1649/530/4 1629/494/4 1628/493/4 +f 1643/521/27 1616/531/27 1650/532/27 +f 1650/532/27 1628/521/27 1643/521/27 +f 1644/533/27 1617/531/27 1616/531/27 +f 1616/531/27 1643/521/27 1644/533/27 +f 1651/471/4 1652/472/4 1653/473/4 +f 1653/473/4 1654/474/4 1651/471/4 +f 1655/475/1 1656/476/1 1657/477/1 +f 1657/477/1 1658/478/1 1655/475/1 +f 1659/479/27 1660/480/288 1661/480/288 +f 1661/480/288 1662/479/27 1659/479/27 +f 1663/476/7 1664/475/7 1665/481/7 +f 1665/481/7 1666/482/7 1663/476/7 +f 1667/483/26 1668/484/289 1669/485/289 +f 1669/485/289 1670/483/26 1667/483/26 +f 1671/486/4 1672/487/4 1673/488/4 +f 1674/489/4 1675/490/4 1660/491/4 +f 1660/491/4 1659/492/4 1674/489/4 +f 1676/493/4 1677/494/4 1678/495/4 +f 1679/496/4 1680/497/4 1678/495/4 +f 1678/495/4 1677/494/4 1679/496/4 +f 1681/498/4 1682/499/4 1653/473/4 +f 1653/473/4 1652/472/4 1681/498/4 +f 1683/500/290 1659/479/27 1662/479/27 +f 1662/479/27 1684/500/290 1683/500/290 +f 1685/501/291 1667/483/26 1670/483/26 +f 1670/483/26 1686/501/291 1685/501/291 +f 1683/502/4 1687/503/4 1674/489/4 +f 1674/489/4 1659/492/4 1683/502/4 +f 1679/496/4 1671/486/4 1673/488/4 +f 1673/488/4 1680/497/4 1679/496/4 +f 1675/504/7 1651/504/7 1654/505/7 +f 1654/505/7 1688/505/7 1675/504/7 +f 1674/506/292 1652/506/292 1651/504/292 +f 1651/504/292 1675/504/292 1674/506/292 +f 1687/507/293 1681/507/293 1652/506/293 +f 1652/506/293 1674/506/293 1687/507/293 +f 1689/508/1 1682/508/1 1681/507/1 +f 1681/507/1 1687/507/1 1689/508/1 +f 1690/509/210 1653/510/210 1682/511/210 +f 1682/511/210 1689/512/210 1690/509/210 +f 1688/513/294 1654/514/294 1653/510/294 +f 1653/510/294 1690/509/294 1688/513/294 +f 1691/515/4 1689/516/4 1687/503/4 +f 1687/503/4 1683/502/4 1691/515/4 +f 1683/500/7 1684/500/7 1692/517/7 +f 1692/517/7 1691/517/7 1683/500/7 +f 1660/480/1 1693/518/1 1694/518/1 +f 1694/518/1 1661/480/1 1660/480/1 +f 1693/519/4 1660/491/4 1675/490/4 +f 1675/490/4 1688/474/4 1693/519/4 +f 1655/475/1 1695/481/1 1696/482/1 +f 1696/482/1 1656/476/1 1655/475/1 +f 1688/513/295 1673/513/295 1672/485/295 +f 1672/485/295 1693/520/295 1688/513/295 +f 1690/509/294 1680/509/294 1673/513/294 +f 1673/513/294 1688/513/294 1690/509/294 +f 1689/512/210 1678/512/210 1680/509/210 +f 1680/509/210 1690/509/210 1689/512/210 +f 1691/521/296 1676/521/296 1678/512/296 +f 1678/512/296 1689/512/296 1691/521/296 +f 1663/476/7 1697/477/7 1698/478/7 +f 1698/478/7 1664/475/7 1663/476/7 +f 1667/483/298 1679/522/298 1677/523/289 +f 1677/523/289 1668/484/289 1667/483/298 +f 1685/501/291 1671/524/291 1679/522/297 +f 1679/522/297 1667/483/297 1685/501/291 +f 1693/520/27 1655/525/27 1658/526/27 +f 1658/526/27 1694/527/27 1693/520/27 +f 1672/485/27 1695/528/27 1655/525/27 +f 1655/525/27 1693/520/27 1672/485/27 +f 1671/486/4 1696/486/4 1695/487/4 +f 1695/487/4 1672/487/4 1671/486/4 +f 1685/501/26 1656/501/26 1696/524/26 +f 1696/524/26 1671/524/26 1685/501/26 +f 1686/501/26 1657/501/26 1656/501/26 +f 1656/501/26 1685/501/26 1686/501/26 +f 1668/484/26 1663/484/26 1666/485/26 +f 1666/485/26 1669/485/26 1668/484/26 +f 1677/523/26 1697/523/26 1663/484/26 +f 1663/484/26 1668/484/26 1677/523/26 +f 1676/493/4 1698/529/4 1697/530/4 +f 1697/530/4 1677/494/4 1676/493/4 +f 1691/521/27 1664/531/27 1698/532/27 +f 1698/532/27 1676/521/27 1691/521/27 +f 1692/533/27 1665/531/27 1664/531/27 +f 1664/531/27 1691/521/27 1692/533/27 +f 1699/471/1 1700/472/1 1701/473/1 +f 1701/473/1 1702/474/1 1699/471/1 +f 1703/475/10 1704/476/10 1705/477/10 +f 1705/477/10 1706/478/10 1703/475/10 +f 1707/479/27 1708/480/299 1709/480/299 +f 1709/480/299 1710/479/27 1707/479/27 +f 1711/476/4 1712/475/4 1713/481/4 +f 1713/481/4 1714/482/4 1711/476/4 +f 1715/483/26 1716/484/300 1717/485/300 +f 1717/485/300 1718/483/26 1715/483/26 +f 1719/486/1 1720/487/1 1721/488/1 +f 1722/489/1 1723/490/1 1708/491/1 +f 1708/491/1 1707/492/1 1722/489/1 +f 1724/493/1 1725/494/1 1726/495/1 +f 1727/496/1 1728/497/1 1726/495/1 +f 1726/495/1 1725/494/1 1727/496/1 +f 1729/498/1 1730/499/1 1701/473/1 +f 1701/473/1 1700/472/1 1729/498/1 +f 1731/500/301 1707/479/27 1710/479/27 +f 1710/479/27 1732/500/301 1731/500/301 +f 1733/501/302 1715/483/26 1718/483/26 +f 1718/483/26 1734/501/302 1733/501/302 +f 1731/502/1 1735/503/1 1722/489/1 +f 1722/489/1 1707/492/1 1731/502/1 +f 1727/496/1 1719/486/1 1721/488/1 +f 1721/488/1 1728/497/1 1727/496/1 +f 1723/504/4 1699/504/4 1702/505/4 +f 1702/505/4 1736/505/4 1723/504/4 +f 1722/506/303 1700/506/303 1699/504/303 +f 1699/504/303 1723/504/303 1722/506/303 +f 1735/507/304 1729/507/304 1700/506/304 +f 1700/506/304 1722/506/304 1735/507/304 +f 1737/508/10 1730/508/10 1729/507/10 +f 1729/507/10 1735/507/10 1737/508/10 +f 1738/509/305 1701/510/305 1730/511/305 +f 1730/511/305 1737/512/305 1738/509/305 +f 1736/513/306 1702/514/306 1701/510/306 +f 1701/510/306 1738/509/306 1736/513/306 +f 1739/515/1 1737/516/1 1735/503/1 +f 1735/503/1 1731/502/1 1739/515/1 +f 1731/500/4 1732/500/4 1740/517/4 +f 1740/517/4 1739/517/4 1731/500/4 +f 1708/480/10 1741/518/10 1742/518/10 +f 1742/518/10 1709/480/10 1708/480/10 +f 1741/519/1 1708/491/1 1723/490/1 +f 1723/490/1 1736/474/1 1741/519/1 +f 1703/475/10 1743/481/10 1744/482/10 +f 1744/482/10 1704/476/10 1703/475/10 +f 1736/513/307 1721/513/307 1720/485/307 +f 1720/485/307 1741/520/307 1736/513/307 +f 1738/509/306 1728/509/306 1721/513/306 +f 1721/513/306 1736/513/306 1738/509/306 +f 1737/512/305 1726/512/305 1728/509/305 +f 1728/509/305 1738/509/305 1737/512/305 +f 1739/521/308 1724/521/308 1726/512/308 +f 1726/512/308 1737/512/308 1739/521/308 +f 1711/476/4 1745/477/4 1746/478/4 +f 1746/478/4 1712/475/4 1711/476/4 +f 1715/483/300 1727/522/300 1725/523/300 +f 1725/523/300 1716/484/300 1715/483/300 +f 1733/501/302 1719/524/302 1727/522/302 +f 1727/522/302 1715/483/302 1733/501/302 +f 1741/520/27 1703/525/27 1706/526/27 +f 1706/526/27 1742/527/27 1741/520/27 +f 1720/485/27 1743/528/27 1703/525/27 +f 1703/525/27 1741/520/27 1720/485/27 +f 1719/486/1 1744/486/1 1743/487/1 +f 1743/487/1 1720/487/1 1719/486/1 +f 1733/501/26 1704/501/26 1744/524/26 +f 1744/524/26 1719/524/26 1733/501/26 +f 1734/501/26 1705/501/26 1704/501/26 +f 1704/501/26 1733/501/26 1734/501/26 +f 1716/484/26 1711/484/26 1714/485/26 +f 1714/485/26 1717/485/26 1716/484/26 +f 1725/523/26 1745/523/26 1711/484/26 +f 1711/484/26 1716/484/26 1725/523/26 +f 1724/493/1 1746/529/1 1745/530/1 +f 1745/530/1 1725/494/1 1724/493/1 +f 1739/521/27 1712/531/27 1746/532/27 +f 1746/532/27 1724/521/27 1739/521/27 +f 1740/533/27 1713/531/27 1712/531/27 +f 1712/531/27 1739/521/27 1740/533/27 +f 1747/471/1 1748/474/1 1749/473/1 +f 1749/473/1 1750/472/1 1747/471/1 +f 1751/475/4 1752/478/4 1753/477/4 +f 1753/477/4 1754/476/4 1751/475/4 +f 1755/479/27 1756/479/27 1757/480/301 +f 1757/480/301 1758/480/301 1755/479/27 +f 1759/476/10 1760/482/10 1761/481/10 +f 1761/481/10 1762/475/10 1759/476/10 +f 1763/483/26 1764/483/26 1765/485/302 +f 1765/485/302 1766/484/302 1763/483/26 +f 1767/486/1 1768/488/1 1769/487/1 +f 1770/489/1 1755/492/1 1758/491/1 +f 1758/491/1 1771/490/1 1770/489/1 +f 1772/493/1 1773/495/1 1774/494/1 +f 1775/496/1 1774/494/1 1773/495/1 +f 1773/495/1 1776/497/1 1775/496/1 +f 1777/498/1 1750/472/1 1749/473/1 +f 1749/473/1 1778/499/1 1777/498/1 +f 1779/500/299 1780/500/299 1756/479/27 +f 1756/479/27 1755/479/27 1779/500/299 +f 1781/501/300 1782/501/300 1764/483/26 +f 1764/483/26 1763/483/26 1781/501/300 +f 1779/502/1 1755/492/1 1770/489/1 +f 1770/489/1 1783/503/1 1779/502/1 +f 1775/496/1 1776/497/1 1768/488/1 +f 1768/488/1 1767/486/1 1775/496/1 +f 1771/504/10 1784/505/10 1748/505/10 +f 1748/505/10 1747/504/10 1771/504/10 +f 1770/506/304 1771/504/304 1747/504/304 +f 1747/504/304 1750/506/304 1770/506/304 +f 1783/507/303 1770/506/303 1750/506/303 +f 1750/506/303 1777/507/303 1783/507/303 +f 1785/508/4 1783/507/4 1777/507/4 +f 1777/507/4 1778/508/4 1785/508/4 +f 1786/509/309 1785/512/309 1778/511/309 +f 1778/511/309 1749/510/309 1786/509/309 +f 1784/513/310 1786/509/310 1749/510/310 +f 1749/510/310 1748/514/310 1784/513/310 +f 1787/515/1 1779/502/1 1783/503/1 +f 1783/503/1 1785/516/1 1787/515/1 +f 1779/500/10 1787/517/10 1788/517/10 +f 1788/517/10 1780/500/10 1779/500/10 +f 1758/480/4 1757/480/4 1789/518/4 +f 1789/518/4 1790/518/4 1758/480/4 +f 1790/519/1 1784/474/1 1771/490/1 +f 1771/490/1 1758/491/1 1790/519/1 +f 1751/475/4 1754/476/4 1791/482/4 +f 1791/482/4 1792/481/4 1751/475/4 +f 1784/513/311 1790/520/311 1769/485/311 +f 1769/485/311 1768/513/311 1784/513/311 +f 1786/509/310 1784/513/310 1768/513/310 +f 1768/513/310 1776/509/310 1786/509/310 +f 1785/512/309 1786/509/309 1776/509/309 +f 1776/509/309 1773/512/309 1785/512/309 +f 1787/521/312 1785/512/312 1773/512/312 +f 1773/512/312 1772/521/312 1787/521/312 +f 1759/476/10 1762/475/10 1793/478/10 +f 1793/478/10 1794/477/10 1759/476/10 +f 1763/483/302 1766/484/302 1774/523/302 +f 1774/523/302 1775/522/302 1763/483/302 +f 1781/501/300 1763/483/300 1775/522/300 +f 1775/522/300 1767/524/300 1781/501/300 +f 1790/520/27 1789/527/27 1752/526/27 +f 1752/526/27 1751/525/27 1790/520/27 +f 1769/485/27 1790/520/27 1751/525/27 +f 1751/525/27 1792/528/27 1769/485/27 +f 1767/486/1 1769/487/1 1792/487/1 +f 1792/487/1 1791/486/1 1767/486/1 +f 1781/501/26 1767/524/26 1791/524/26 +f 1791/524/26 1754/501/26 1781/501/26 +f 1782/501/26 1781/501/26 1754/501/26 +f 1754/501/26 1753/501/26 1782/501/26 +f 1766/484/26 1765/485/26 1760/485/26 +f 1760/485/26 1759/484/26 1766/484/26 +f 1774/523/26 1766/484/26 1759/484/26 +f 1759/484/26 1794/523/26 1774/523/26 +f 1772/493/1 1774/494/1 1794/530/1 +f 1794/530/1 1793/529/1 1772/493/1 +f 1787/521/27 1772/521/27 1793/532/27 +f 1793/532/27 1762/531/27 1787/521/27 +f 1788/533/27 1787/521/27 1762/531/27 +f 1762/531/27 1761/531/27 1788/533/27 +f 1795/471/10 1796/474/10 1797/473/10 +f 1797/473/10 1798/472/10 1795/471/10 +f 1799/475/1 1800/478/1 1801/477/1 +f 1801/477/1 1802/476/1 1799/475/1 +f 1803/479/27 1804/479/27 1805/480/288 +f 1805/480/288 1806/480/288 1803/479/27 +f 1807/476/7 1808/482/7 1809/481/7 +f 1809/481/7 1810/475/7 1807/476/7 +f 1811/483/26 1812/483/26 1813/485/289 +f 1813/485/289 1814/484/289 1811/483/26 +f 1815/486/10 1816/488/10 1817/487/10 +f 1818/489/10 1803/492/10 1806/491/10 +f 1806/491/10 1819/490/10 1818/489/10 +f 1820/493/10 1821/495/10 1822/494/10 +f 1823/496/10 1822/494/10 1821/495/10 +f 1821/495/10 1824/497/10 1823/496/10 +f 1825/498/10 1798/472/10 1797/473/10 +f 1797/473/10 1826/499/10 1825/498/10 +f 1827/500/290 1828/500/290 1804/479/27 +f 1804/479/27 1803/479/27 1827/500/290 +f 1829/501/291 1830/501/291 1812/483/26 +f 1812/483/26 1811/483/26 1829/501/291 +f 1827/502/10 1803/492/10 1818/489/10 +f 1818/489/10 1831/503/10 1827/502/10 +f 1823/496/10 1824/497/10 1816/488/10 +f 1816/488/10 1815/486/10 1823/496/10 +f 1819/504/7 1832/505/7 1796/505/7 +f 1796/505/7 1795/504/7 1819/504/7 +f 1818/506/292 1819/504/292 1795/504/292 +f 1795/504/292 1798/506/292 1818/506/292 +f 1831/507/293 1818/506/293 1798/506/293 +f 1798/506/293 1825/507/293 1831/507/293 +f 1833/508/1 1831/507/1 1825/507/1 +f 1825/507/1 1826/508/1 1833/508/1 +f 1834/509/210 1833/512/210 1826/511/210 +f 1826/511/210 1797/510/210 1834/509/210 +f 1832/513/294 1834/509/294 1797/510/294 +f 1797/510/294 1796/514/294 1832/513/294 +f 1835/515/10 1827/502/10 1831/503/10 +f 1831/503/10 1833/516/10 1835/515/10 +f 1827/500/7 1835/517/7 1836/517/7 +f 1836/517/7 1828/500/7 1827/500/7 +f 1806/480/1 1805/480/1 1837/518/1 +f 1837/518/1 1838/518/1 1806/480/1 +f 1838/519/10 1832/474/10 1819/490/10 +f 1819/490/10 1806/491/10 1838/519/10 +f 1799/475/1 1802/476/1 1839/482/1 +f 1839/482/1 1840/481/1 1799/475/1 +f 1832/513/313 1838/520/295 1817/485/295 +f 1817/485/295 1816/513/313 1832/513/313 +f 1834/509/294 1832/513/294 1816/513/294 +f 1816/513/294 1824/509/294 1834/509/294 +f 1833/512/210 1834/509/210 1824/509/210 +f 1824/509/210 1821/512/210 1833/512/210 +f 1835/521/296 1833/512/296 1821/512/296 +f 1821/512/296 1820/521/296 1835/521/296 +f 1807/476/7 1810/475/7 1841/478/7 +f 1841/478/7 1842/477/7 1807/476/7 +f 1811/483/289 1814/484/289 1822/523/289 +f 1822/523/289 1823/522/289 1811/483/289 +f 1829/501/291 1811/483/291 1823/522/291 +f 1823/522/291 1815/524/291 1829/501/291 +f 1838/520/27 1837/527/27 1800/526/27 +f 1800/526/27 1799/525/27 1838/520/27 +f 1817/485/27 1838/520/27 1799/525/27 +f 1799/525/27 1840/528/27 1817/485/27 +f 1815/486/10 1817/487/10 1840/487/10 +f 1840/487/10 1839/486/10 1815/486/10 +f 1829/501/26 1815/524/26 1839/524/26 +f 1839/524/26 1802/501/26 1829/501/26 +f 1830/501/26 1829/501/26 1802/501/26 +f 1802/501/26 1801/501/26 1830/501/26 +f 1814/484/26 1813/485/26 1808/485/26 +f 1808/485/26 1807/484/26 1814/484/26 +f 1822/523/26 1814/484/26 1807/484/26 +f 1807/484/26 1842/523/26 1822/523/26 +f 1820/493/10 1822/494/10 1842/530/10 +f 1842/530/10 1841/529/10 1820/493/10 +f 1835/521/27 1820/521/27 1841/532/27 +f 1841/532/27 1810/531/27 1835/521/27 +f 1836/533/27 1835/521/27 1810/531/27 +f 1810/531/27 1809/531/27 1836/533/27 +f 1843/471/10 1844/474/10 1845/473/10 +f 1845/473/10 1846/472/10 1843/471/10 +f 1847/475/1 1848/478/1 1849/477/1 +f 1849/477/1 1850/476/1 1847/475/1 +f 1851/479/27 1852/479/27 1853/480/288 +f 1853/480/288 1854/480/288 1851/479/27 +f 1855/476/7 1856/482/7 1857/481/7 +f 1857/481/7 1858/475/7 1855/476/7 +f 1859/483/26 1860/483/26 1861/485/289 +f 1861/485/289 1862/484/289 1859/483/26 +f 1863/486/10 1864/488/10 1865/487/10 +f 1866/489/10 1851/492/10 1854/491/10 +f 1854/491/10 1867/490/10 1866/489/10 +f 1868/493/10 1869/495/10 1870/494/10 +f 1871/496/10 1870/494/10 1869/495/10 +f 1869/495/10 1872/497/10 1871/496/10 +f 1873/498/10 1846/472/10 1845/473/10 +f 1845/473/10 1874/499/10 1873/498/10 +f 1875/500/290 1876/500/290 1852/479/27 +f 1852/479/27 1851/479/27 1875/500/290 +f 1877/501/291 1878/501/291 1860/483/26 +f 1860/483/26 1859/483/26 1877/501/291 +f 1875/502/10 1851/492/10 1866/489/10 +f 1866/489/10 1879/503/10 1875/502/10 +f 1871/496/10 1872/497/10 1864/488/10 +f 1864/488/10 1863/486/10 1871/496/10 +f 1867/504/7 1880/505/7 1844/505/7 +f 1844/505/7 1843/504/7 1867/504/7 +f 1866/506/292 1867/504/292 1843/504/292 +f 1843/504/292 1846/506/292 1866/506/292 +f 1879/507/293 1866/506/293 1846/506/293 +f 1846/506/293 1873/507/293 1879/507/293 +f 1881/508/1 1879/507/1 1873/507/1 +f 1873/507/1 1874/508/1 1881/508/1 +f 1882/509/210 1881/512/210 1874/511/210 +f 1874/511/210 1845/510/210 1882/509/210 +f 1880/513/294 1882/509/294 1845/510/294 +f 1845/510/294 1844/514/294 1880/513/294 +f 1883/515/10 1875/502/10 1879/503/10 +f 1879/503/10 1881/516/10 1883/515/10 +f 1875/500/7 1883/517/7 1884/517/7 +f 1884/517/7 1876/500/7 1875/500/7 +f 1854/480/1 1853/480/1 1885/518/1 +f 1885/518/1 1886/518/1 1854/480/1 +f 1886/519/10 1880/474/10 1867/490/10 +f 1867/490/10 1854/491/10 1886/519/10 +f 1847/475/1 1850/476/1 1887/482/1 +f 1887/482/1 1888/481/1 1847/475/1 +f 1880/513/295 1886/520/295 1865/485/295 +f 1865/485/295 1864/513/295 1880/513/295 +f 1882/509/294 1880/513/294 1864/513/294 +f 1864/513/294 1872/509/294 1882/509/294 +f 1881/512/210 1882/509/210 1872/509/210 +f 1872/509/210 1869/512/210 1881/512/210 +f 1883/521/296 1881/512/296 1869/512/296 +f 1869/512/296 1868/521/296 1883/521/296 +f 1855/476/7 1858/475/7 1889/478/7 +f 1889/478/7 1890/477/7 1855/476/7 +f 1859/483/289 1862/484/289 1870/523/289 +f 1870/523/289 1871/522/289 1859/483/289 +f 1877/501/291 1859/483/291 1871/522/291 +f 1871/522/291 1863/524/291 1877/501/291 +f 1886/520/27 1885/527/27 1848/526/27 +f 1848/526/27 1847/525/27 1886/520/27 +f 1865/485/27 1886/520/27 1847/525/27 +f 1847/525/27 1888/528/27 1865/485/27 +f 1863/486/10 1865/487/10 1888/487/10 +f 1888/487/10 1887/486/10 1863/486/10 +f 1877/501/26 1863/524/26 1887/524/26 +f 1887/524/26 1850/501/26 1877/501/26 +f 1878/501/26 1877/501/26 1850/501/26 +f 1850/501/26 1849/501/26 1878/501/26 +f 1862/484/26 1861/485/26 1856/485/26 +f 1856/485/26 1855/484/26 1862/484/26 +f 1870/523/26 1862/484/26 1855/484/26 +f 1855/484/26 1890/523/26 1870/523/26 +f 1868/493/10 1870/494/10 1890/530/10 +f 1890/530/10 1889/529/10 1868/493/10 +f 1883/521/27 1868/521/27 1889/532/27 +f 1889/532/27 1858/531/27 1883/521/27 +f 1884/533/27 1883/521/27 1858/531/27 +f 1858/531/27 1857/531/27 1884/533/27 +f 1891/471/10 1892/474/10 1893/473/10 +f 1893/473/10 1894/472/10 1891/471/10 +f 1895/475/1 1896/478/1 1897/477/1 +f 1897/477/1 1898/476/1 1895/475/1 +f 1899/479/27 1900/479/27 1901/480/288 +f 1901/480/288 1902/480/288 1899/479/27 +f 1903/476/7 1904/482/7 1905/481/7 +f 1905/481/7 1906/475/7 1903/476/7 +f 1907/483/26 1908/483/26 1909/485/289 +f 1909/485/289 1910/484/289 1907/483/26 +f 1911/486/10 1912/488/10 1913/487/10 +f 1914/489/10 1899/492/10 1902/491/10 +f 1902/491/10 1915/490/10 1914/489/10 +f 1916/493/10 1917/495/10 1918/494/10 +f 1919/496/10 1918/494/10 1917/495/10 +f 1917/495/10 1920/497/10 1919/496/10 +f 1921/498/10 1894/472/10 1893/473/10 +f 1893/473/10 1922/499/10 1921/498/10 +f 1923/500/290 1924/500/290 1900/479/27 +f 1900/479/27 1899/479/27 1923/500/290 +f 1925/501/291 1926/501/291 1908/483/26 +f 1908/483/26 1907/483/26 1925/501/291 +f 1923/502/10 1899/492/10 1914/489/10 +f 1914/489/10 1927/503/10 1923/502/10 +f 1919/496/10 1920/497/10 1912/488/10 +f 1912/488/10 1911/486/10 1919/496/10 +f 1915/504/7 1928/505/7 1892/505/7 +f 1892/505/7 1891/504/7 1915/504/7 +f 1914/506/292 1915/504/292 1891/504/292 +f 1891/504/292 1894/506/292 1914/506/292 +f 1927/507/293 1914/506/293 1894/506/293 +f 1894/506/293 1921/507/293 1927/507/293 +f 1929/508/1 1927/507/1 1921/507/1 +f 1921/507/1 1922/508/1 1929/508/1 +f 1930/509/210 1929/512/210 1922/511/210 +f 1922/511/210 1893/510/210 1930/509/210 +f 1928/513/294 1930/509/294 1893/510/294 +f 1893/510/294 1892/514/294 1928/513/294 +f 1931/515/10 1923/502/10 1927/503/10 +f 1927/503/10 1929/516/10 1931/515/10 +f 1923/500/7 1931/517/7 1932/517/7 +f 1932/517/7 1924/500/7 1923/500/7 +f 1902/480/1 1901/480/1 1933/518/1 +f 1933/518/1 1934/518/1 1902/480/1 +f 1934/519/10 1928/474/10 1915/490/10 +f 1915/490/10 1902/491/10 1934/519/10 +f 1895/475/1 1898/476/1 1935/482/1 +f 1935/482/1 1936/481/1 1895/475/1 +f 1928/513/295 1934/520/295 1913/485/295 +f 1913/485/295 1912/513/295 1928/513/295 +f 1930/509/294 1928/513/294 1912/513/294 +f 1912/513/294 1920/509/294 1930/509/294 +f 1929/512/210 1930/509/210 1920/509/210 +f 1920/509/210 1917/512/210 1929/512/210 +f 1931/521/296 1929/512/296 1917/512/296 +f 1917/512/296 1916/521/296 1931/521/296 +f 1903/476/7 1906/475/7 1937/478/7 +f 1937/478/7 1938/477/7 1903/476/7 +f 1907/483/289 1910/484/289 1918/523/289 +f 1918/523/289 1919/522/289 1907/483/289 +f 1925/501/291 1907/483/291 1919/522/291 +f 1919/522/291 1911/524/291 1925/501/291 +f 1934/520/27 1933/527/27 1896/526/27 +f 1896/526/27 1895/525/27 1934/520/27 +f 1913/485/27 1934/520/27 1895/525/27 +f 1895/525/27 1936/528/27 1913/485/27 +f 1911/486/10 1913/487/10 1936/487/10 +f 1936/487/10 1935/486/10 1911/486/10 +f 1925/501/26 1911/524/26 1935/524/26 +f 1935/524/26 1898/501/26 1925/501/26 +f 1926/501/26 1925/501/26 1898/501/26 +f 1898/501/26 1897/501/26 1926/501/26 +f 1910/484/26 1909/485/26 1904/485/26 +f 1904/485/26 1903/484/26 1910/484/26 +f 1918/523/26 1910/484/26 1903/484/26 +f 1903/484/26 1938/523/26 1918/523/26 +f 1916/493/10 1918/494/10 1938/530/10 +f 1938/530/10 1937/529/10 1916/493/10 +f 1931/521/27 1916/521/27 1937/532/27 +f 1937/532/27 1906/531/27 1931/521/27 +f 1932/533/27 1931/521/27 1906/531/27 +f 1906/531/27 1905/531/27 1932/533/27 +f 1939/471/10 1940/474/10 1941/473/10 +f 1941/473/10 1942/472/10 1939/471/10 +f 1943/475/1 1944/478/1 1945/477/1 +f 1945/477/1 1946/476/1 1943/475/1 +f 1947/479/27 1948/479/27 1949/480/288 +f 1949/480/288 1950/480/288 1947/479/27 +f 1951/476/7 1952/482/7 1953/481/7 +f 1953/481/7 1954/475/7 1951/476/7 +f 1955/483/26 1956/483/26 1957/485/289 +f 1957/485/289 1958/484/289 1955/483/26 +f 1959/486/10 1960/488/10 1961/487/10 +f 1962/489/10 1947/492/10 1950/491/10 +f 1950/491/10 1963/490/10 1962/489/10 +f 1964/493/10 1965/495/10 1966/494/10 +f 1967/496/10 1966/494/10 1965/495/10 +f 1965/495/10 1968/497/10 1967/496/10 +f 1969/498/10 1942/472/10 1941/473/10 +f 1941/473/10 1970/499/10 1969/498/10 +f 1971/500/290 1972/500/290 1948/479/27 +f 1948/479/27 1947/479/27 1971/500/290 +f 1973/501/291 1974/501/291 1956/483/26 +f 1956/483/26 1955/483/26 1973/501/291 +f 1971/502/10 1947/492/10 1962/489/10 +f 1962/489/10 1975/503/10 1971/502/10 +f 1967/496/10 1968/497/10 1960/488/10 +f 1960/488/10 1959/486/10 1967/496/10 +f 1963/504/7 1976/505/7 1940/505/7 +f 1940/505/7 1939/504/7 1963/504/7 +f 1962/506/292 1963/504/292 1939/504/292 +f 1939/504/292 1942/506/292 1962/506/292 +f 1975/507/293 1962/506/293 1942/506/293 +f 1942/506/293 1969/507/293 1975/507/293 +f 1977/508/1 1975/507/1 1969/507/1 +f 1969/507/1 1970/508/1 1977/508/1 +f 1978/509/210 1977/512/210 1970/511/210 +f 1970/511/210 1941/510/210 1978/509/210 +f 1976/513/294 1978/509/294 1941/510/294 +f 1941/510/294 1940/514/294 1976/513/294 +f 1979/515/10 1971/502/10 1975/503/10 +f 1975/503/10 1977/516/10 1979/515/10 +f 1971/500/7 1979/517/7 1980/517/7 +f 1980/517/7 1972/500/7 1971/500/7 +f 1950/480/1 1949/480/1 1981/518/1 +f 1981/518/1 1982/518/1 1950/480/1 +f 1982/519/10 1976/474/10 1963/490/10 +f 1963/490/10 1950/491/10 1982/519/10 +f 1943/475/1 1946/476/1 1983/482/1 +f 1983/482/1 1984/481/1 1943/475/1 +f 1976/513/295 1982/520/295 1961/485/295 +f 1961/485/295 1960/513/295 1976/513/295 +f 1978/509/294 1976/513/294 1960/513/294 +f 1960/513/294 1968/509/294 1978/509/294 +f 1977/512/210 1978/509/210 1968/509/210 +f 1968/509/210 1965/512/210 1977/512/210 +f 1979/521/296 1977/512/296 1965/512/296 +f 1965/512/296 1964/521/296 1979/521/296 +f 1951/476/7 1954/475/7 1985/478/7 +f 1985/478/7 1986/477/7 1951/476/7 +f 1955/483/289 1958/484/289 1966/523/289 +f 1966/523/289 1967/522/289 1955/483/289 +f 1973/501/291 1955/483/291 1967/522/291 +f 1967/522/291 1959/524/291 1973/501/291 +f 1982/520/27 1981/527/27 1944/526/27 +f 1944/526/27 1943/525/27 1982/520/27 +f 1961/485/27 1982/520/27 1943/525/27 +f 1943/525/27 1984/528/27 1961/485/27 +f 1959/486/10 1961/487/10 1984/487/10 +f 1984/487/10 1983/486/10 1959/486/10 +f 1973/501/26 1959/524/26 1983/524/26 +f 1983/524/26 1946/501/26 1973/501/26 +f 1974/501/26 1973/501/26 1946/501/26 +f 1946/501/26 1945/501/26 1974/501/26 +f 1958/484/26 1957/485/26 1952/485/26 +f 1952/485/26 1951/484/26 1958/484/26 +f 1966/523/26 1958/484/26 1951/484/26 +f 1951/484/26 1986/523/26 1966/523/26 +f 1964/493/10 1966/494/10 1986/530/10 +f 1986/530/10 1985/529/10 1964/493/10 +f 1979/521/27 1964/521/27 1985/532/27 +f 1985/532/27 1954/531/27 1979/521/27 +f 1980/533/27 1979/521/27 1954/531/27 +f 1954/531/27 1953/531/27 1980/533/27 +f 1987/471/10 1988/472/10 1989/473/10 +f 1989/473/10 1990/474/10 1987/471/10 +f 1991/475/7 1992/476/7 1993/477/7 +f 1993/477/7 1994/478/7 1991/475/7 +f 1995/479/27 1996/480/290 1997/480/290 +f 1997/480/290 1998/479/27 1995/479/27 +f 1999/476/1 2000/475/1 2001/481/1 +f 2001/481/1 2002/482/1 1999/476/1 +f 2003/483/26 2004/484/291 2005/485/291 +f 2005/485/291 2006/483/26 2003/483/26 +f 2007/486/10 2008/487/10 2009/488/10 +f 2010/489/10 2011/490/10 1996/491/10 +f 1996/491/10 1995/492/10 2010/489/10 +f 2012/493/10 2013/494/10 2014/495/10 +f 2015/496/10 2016/497/10 2014/495/10 +f 2014/495/10 2013/494/10 2015/496/10 +f 2017/498/10 2018/499/10 1989/473/10 +f 1989/473/10 1988/472/10 2017/498/10 +f 2019/500/288 1995/479/27 1998/479/27 +f 1998/479/27 2020/500/288 2019/500/288 +f 2021/501/289 2003/483/26 2006/483/26 +f 2006/483/26 2022/501/289 2021/501/289 +f 2019/502/10 2023/503/10 2010/489/10 +f 2010/489/10 1995/492/10 2019/502/10 +f 2015/496/10 2007/486/10 2009/488/10 +f 2009/488/10 2016/497/10 2015/496/10 +f 2011/504/1 1987/504/1 1990/505/1 +f 1990/505/1 2024/505/1 2011/504/1 +f 2010/506/293 1988/506/293 1987/504/293 +f 1987/504/293 2011/504/293 2010/506/293 +f 2023/507/292 2017/507/292 1988/506/292 +f 1988/506/292 2010/506/292 2023/507/292 +f 2025/508/7 2018/508/7 2017/507/7 +f 2017/507/7 2023/507/7 2025/508/7 +f 2026/509/203 1989/510/203 2018/511/203 +f 2018/511/203 2025/512/203 2026/509/203 +f 2024/513/296 1990/514/296 1989/510/296 +f 1989/510/296 2026/509/296 2024/513/296 +f 2027/515/10 2025/516/10 2023/503/10 +f 2023/503/10 2019/502/10 2027/515/10 +f 2019/500/1 2020/500/1 2028/517/1 +f 2028/517/1 2027/517/1 2019/500/1 +f 1996/480/7 2029/518/7 2030/518/7 +f 2030/518/7 1997/480/7 1996/480/7 +f 2029/519/10 1996/491/10 2011/490/10 +f 2011/490/10 2024/474/10 2029/519/10 +f 1991/475/7 2031/481/7 2032/482/7 +f 2032/482/7 1992/476/7 1991/475/7 +f 2024/513/314 2009/513/314 2008/485/314 +f 2008/485/314 2029/520/314 2024/513/314 +f 2026/509/296 2016/509/296 2009/513/296 +f 2009/513/296 2024/513/296 2026/509/296 +f 2025/512/203 2014/512/203 2016/509/203 +f 2016/509/203 2026/509/203 2025/512/203 +f 2027/521/294 2012/521/294 2014/512/294 +f 2014/512/294 2025/512/294 2027/521/294 +f 1999/476/1 2033/477/1 2034/478/1 +f 2034/478/1 2000/475/1 1999/476/1 +f 2003/483/291 2015/522/291 2013/523/291 +f 2013/523/291 2004/484/291 2003/483/291 +f 2021/501/289 2007/524/289 2015/522/289 +f 2015/522/289 2003/483/289 2021/501/289 +f 2029/520/27 1991/525/27 1994/526/27 +f 1994/526/27 2030/527/27 2029/520/27 +f 2008/485/27 2031/528/27 1991/525/27 +f 1991/525/27 2029/520/27 2008/485/27 +f 2007/486/10 2032/486/10 2031/487/10 +f 2031/487/10 2008/487/10 2007/486/10 +f 2021/501/26 1992/501/26 2032/524/26 +f 2032/524/26 2007/524/26 2021/501/26 +f 2022/501/26 1993/501/26 1992/501/26 +f 1992/501/26 2021/501/26 2022/501/26 +f 2004/484/26 1999/484/26 2002/485/26 +f 2002/485/26 2005/485/26 2004/484/26 +f 2013/523/26 2033/523/26 1999/484/26 +f 1999/484/26 2004/484/26 2013/523/26 +f 2012/493/10 2034/529/10 2033/530/10 +f 2033/530/10 2013/494/10 2012/493/10 +f 2027/521/27 2000/531/27 2034/532/27 +f 2034/532/27 2012/521/27 2027/521/27 +f 2028/533/27 2001/531/27 2000/531/27 +f 2000/531/27 2027/521/27 2028/533/27 +f 2035/471/10 2036/472/10 2037/473/10 +f 2037/473/10 2038/474/10 2035/471/10 +f 2039/475/7 2040/476/7 2041/477/7 +f 2041/477/7 2042/478/7 2039/475/7 +f 2043/479/27 2044/480/290 2045/480/290 +f 2045/480/290 2046/479/27 2043/479/27 +f 2047/476/1 2048/475/1 2049/481/1 +f 2049/481/1 2050/482/1 2047/476/1 +f 2051/483/26 2052/484/291 2053/485/291 +f 2053/485/291 2054/483/26 2051/483/26 +f 2055/486/10 2056/487/10 2057/488/10 +f 2058/489/10 2059/490/10 2044/491/10 +f 2044/491/10 2043/492/10 2058/489/10 +f 2060/493/10 2061/494/10 2062/495/10 +f 2063/496/10 2064/497/10 2062/495/10 +f 2062/495/10 2061/494/10 2063/496/10 +f 2065/498/10 2066/499/10 2037/473/10 +f 2037/473/10 2036/472/10 2065/498/10 +f 2067/500/288 2043/479/27 2046/479/27 +f 2046/479/27 2068/500/288 2067/500/288 +f 2069/501/289 2051/483/26 2054/483/26 +f 2054/483/26 2070/501/289 2069/501/289 +f 2067/502/10 2071/503/10 2058/489/10 +f 2058/489/10 2043/492/10 2067/502/10 +f 2063/496/10 2055/486/10 2057/488/10 +f 2057/488/10 2064/497/10 2063/496/10 +f 2059/504/1 2035/504/1 2038/505/1 +f 2038/505/1 2072/505/1 2059/504/1 +f 2058/506/293 2036/506/293 2035/504/293 +f 2035/504/293 2059/504/293 2058/506/293 +f 2071/507/292 2065/507/292 2036/506/292 +f 2036/506/292 2058/506/292 2071/507/292 +f 2073/508/7 2066/508/7 2065/507/7 +f 2065/507/7 2071/507/7 2073/508/7 +f 2074/509/203 2037/510/203 2066/511/203 +f 2066/511/203 2073/512/203 2074/509/203 +f 2072/513/296 2038/514/296 2037/510/296 +f 2037/510/296 2074/509/296 2072/513/296 +f 2075/515/10 2073/516/10 2071/503/10 +f 2071/503/10 2067/502/10 2075/515/10 +f 2067/500/1 2068/500/1 2076/517/1 +f 2076/517/1 2075/517/1 2067/500/1 +f 2044/480/7 2077/518/7 2078/518/7 +f 2078/518/7 2045/480/7 2044/480/7 +f 2077/519/10 2044/491/10 2059/490/10 +f 2059/490/10 2072/474/10 2077/519/10 +f 2039/475/7 2079/481/7 2080/482/7 +f 2080/482/7 2040/476/7 2039/475/7 +f 2072/513/314 2057/513/314 2056/485/314 +f 2056/485/314 2077/520/314 2072/513/314 +f 2074/509/296 2064/509/296 2057/513/296 +f 2057/513/296 2072/513/296 2074/509/296 +f 2073/512/203 2062/512/203 2064/509/203 +f 2064/509/203 2074/509/203 2073/512/203 +f 2075/521/294 2060/521/294 2062/512/294 +f 2062/512/294 2073/512/294 2075/521/294 +f 2047/476/1 2081/477/1 2082/478/1 +f 2082/478/1 2048/475/1 2047/476/1 +f 2051/483/291 2063/522/291 2061/523/291 +f 2061/523/291 2052/484/291 2051/483/291 +f 2069/501/289 2055/524/289 2063/522/298 +f 2063/522/298 2051/483/298 2069/501/289 +f 2077/520/27 2039/525/27 2042/526/27 +f 2042/526/27 2078/527/27 2077/520/27 +f 2056/485/27 2079/528/27 2039/525/27 +f 2039/525/27 2077/520/27 2056/485/27 +f 2055/486/10 2080/486/10 2079/487/10 +f 2079/487/10 2056/487/10 2055/486/10 +f 2069/501/26 2040/501/26 2080/524/26 +f 2080/524/26 2055/524/26 2069/501/26 +f 2070/501/26 2041/501/26 2040/501/26 +f 2040/501/26 2069/501/26 2070/501/26 +f 2052/484/26 2047/484/26 2050/485/26 +f 2050/485/26 2053/485/26 2052/484/26 +f 2061/523/26 2081/523/26 2047/484/26 +f 2047/484/26 2052/484/26 2061/523/26 +f 2060/493/10 2082/529/10 2081/530/10 +f 2081/530/10 2061/494/10 2060/493/10 +f 2075/521/27 2048/531/27 2082/532/27 +f 2082/532/27 2060/521/27 2075/521/27 +f 2076/533/27 2049/531/27 2048/531/27 +f 2048/531/27 2075/521/27 2076/533/27 +f 2083/471/7 2084/472/7 2085/473/7 +f 2085/473/7 2086/474/7 2083/471/7 +f 2087/475/4 2088/476/4 2089/477/4 +f 2089/477/4 2090/478/4 2087/475/4 +f 2091/479/27 2092/480/301 2093/480/301 +f 2093/480/301 2094/479/27 2091/479/27 +f 2095/476/10 2096/475/10 2097/481/10 +f 2097/481/10 2098/482/10 2095/476/10 +f 2099/483/26 2100/484/302 2101/485/302 +f 2101/485/302 2102/483/26 2099/483/26 +f 2103/486/7 2104/487/7 2105/488/7 +f 2106/489/7 2107/490/7 2092/491/7 +f 2092/491/7 2091/492/7 2106/489/7 +f 2108/493/7 2109/494/7 2110/495/7 +f 2111/496/7 2112/497/7 2110/495/7 +f 2110/495/7 2109/494/7 2111/496/7 +f 2113/498/7 2114/499/7 2085/473/7 +f 2085/473/7 2084/472/7 2113/498/7 +f 2115/500/299 2091/479/27 2094/479/27 +f 2094/479/27 2116/500/299 2115/500/299 +f 2117/501/300 2099/483/26 2102/483/26 +f 2102/483/26 2118/501/300 2117/501/300 +f 2115/502/7 2119/503/7 2106/489/7 +f 2106/489/7 2091/492/7 2115/502/7 +f 2111/496/7 2103/486/7 2105/488/7 +f 2105/488/7 2112/497/7 2111/496/7 +f 2107/504/10 2083/504/10 2086/505/10 +f 2086/505/10 2120/505/10 2107/504/10 +f 2106/506/304 2084/506/304 2083/504/304 +f 2083/504/304 2107/504/304 2106/506/304 +f 2119/507/303 2113/507/303 2084/506/303 +f 2084/506/303 2106/506/303 2119/507/303 +f 2121/508/4 2114/508/4 2113/507/4 +f 2113/507/4 2119/507/4 2121/508/4 +f 2122/509/309 2085/510/309 2114/511/309 +f 2114/511/309 2121/512/309 2122/509/309 +f 2120/513/310 2086/514/310 2085/510/310 +f 2085/510/310 2122/509/310 2120/513/310 +f 2123/515/7 2121/516/7 2119/503/7 +f 2119/503/7 2115/502/7 2123/515/7 +f 2115/500/10 2116/500/10 2124/517/10 +f 2124/517/10 2123/517/10 2115/500/10 +f 2092/480/4 2125/518/4 2126/518/4 +f 2126/518/4 2093/480/4 2092/480/4 +f 2125/519/7 2092/491/7 2107/490/7 +f 2107/490/7 2120/474/7 2125/519/7 +f 2087/475/4 2127/481/4 2128/482/4 +f 2128/482/4 2088/476/4 2087/475/4 +f 2120/513/311 2105/513/311 2104/485/311 +f 2104/485/311 2125/520/311 2120/513/311 +f 2122/509/310 2112/509/310 2105/513/310 +f 2105/513/310 2120/513/310 2122/509/310 +f 2121/512/309 2110/512/309 2112/509/309 +f 2112/509/309 2122/509/309 2121/512/309 +f 2123/521/312 2108/521/312 2110/512/312 +f 2110/512/312 2121/512/312 2123/521/312 +f 2095/476/10 2129/477/10 2130/478/10 +f 2130/478/10 2096/475/10 2095/476/10 +f 2099/483/302 2111/522/302 2109/523/302 +f 2109/523/302 2100/484/302 2099/483/302 +f 2117/501/300 2103/524/300 2111/522/300 +f 2111/522/300 2099/483/300 2117/501/300 +f 2125/520/27 2087/525/27 2090/526/27 +f 2090/526/27 2126/527/27 2125/520/27 +f 2104/485/27 2127/528/27 2087/525/27 +f 2087/525/27 2125/520/27 2104/485/27 +f 2103/486/7 2128/486/7 2127/487/7 +f 2127/487/7 2104/487/7 2103/486/7 +f 2117/501/26 2088/501/26 2128/524/26 +f 2128/524/26 2103/524/26 2117/501/26 +f 2118/501/26 2089/501/26 2088/501/26 +f 2088/501/26 2117/501/26 2118/501/26 +f 2100/484/26 2095/484/26 2098/485/26 +f 2098/485/26 2101/485/26 2100/484/26 +f 2109/523/26 2129/523/26 2095/484/26 +f 2095/484/26 2100/484/26 2109/523/26 +f 2108/493/7 2130/529/7 2129/530/7 +f 2129/530/7 2109/494/7 2108/493/7 +f 2123/521/27 2096/531/27 2130/532/27 +f 2130/532/27 2108/521/27 2123/521/27 +f 2124/533/27 2097/531/27 2096/531/27 +f 2096/531/27 2123/521/27 2124/533/27 +f 2131/471/7 2132/472/7 2133/473/7 +f 2133/473/7 2134/474/7 2131/471/7 +f 2135/475/4 2136/476/4 2137/477/4 +f 2137/477/4 2138/478/4 2135/475/4 +f 2139/479/27 2140/480/301 2141/480/301 +f 2141/480/301 2142/479/27 2139/479/27 +f 2143/476/10 2144/475/10 2145/481/10 +f 2145/481/10 2146/482/10 2143/476/10 +f 2147/483/26 2148/484/302 2149/485/302 +f 2149/485/302 2150/483/26 2147/483/26 +f 2151/486/7 2152/487/7 2153/488/7 +f 2154/489/7 2155/490/7 2140/491/7 +f 2140/491/7 2139/492/7 2154/489/7 +f 2156/493/7 2157/494/7 2158/495/7 +f 2159/496/7 2160/497/7 2158/495/7 +f 2158/495/7 2157/494/7 2159/496/7 +f 2161/498/7 2162/499/7 2133/473/7 +f 2133/473/7 2132/472/7 2161/498/7 +f 2163/500/299 2139/479/27 2142/479/27 +f 2142/479/27 2164/500/299 2163/500/299 +f 2165/501/300 2147/483/26 2150/483/26 +f 2150/483/26 2166/501/300 2165/501/300 +f 2163/502/7 2167/503/7 2154/489/7 +f 2154/489/7 2139/492/7 2163/502/7 +f 2159/496/7 2151/486/7 2153/488/7 +f 2153/488/7 2160/497/7 2159/496/7 +f 2155/504/10 2131/504/10 2134/505/10 +f 2134/505/10 2168/505/10 2155/504/10 +f 2154/506/304 2132/506/304 2131/504/304 +f 2131/504/304 2155/504/304 2154/506/304 +f 2167/507/303 2161/507/303 2132/506/303 +f 2132/506/303 2154/506/303 2167/507/303 +f 2169/508/4 2162/508/4 2161/507/4 +f 2161/507/4 2167/507/4 2169/508/4 +f 2170/509/309 2133/510/309 2162/511/309 +f 2162/511/309 2169/512/309 2170/509/309 +f 2168/513/310 2134/514/310 2133/510/310 +f 2133/510/310 2170/509/310 2168/513/310 +f 2171/515/7 2169/516/7 2167/503/7 +f 2167/503/7 2163/502/7 2171/515/7 +f 2163/500/10 2164/500/10 2172/517/10 +f 2172/517/10 2171/517/10 2163/500/10 +f 2140/480/4 2173/518/4 2174/518/4 +f 2174/518/4 2141/480/4 2140/480/4 +f 2173/519/7 2140/491/7 2155/490/7 +f 2155/490/7 2168/474/7 2173/519/7 +f 2135/475/4 2175/481/4 2176/482/4 +f 2176/482/4 2136/476/4 2135/475/4 +f 2168/513/311 2153/513/311 2152/485/311 +f 2152/485/311 2173/520/311 2168/513/311 +f 2170/509/310 2160/509/310 2153/513/310 +f 2153/513/310 2168/513/310 2170/509/310 +f 2169/512/309 2158/512/309 2160/509/309 +f 2160/509/309 2170/509/309 2169/512/309 +f 2171/521/312 2156/521/312 2158/512/312 +f 2158/512/312 2169/512/312 2171/521/312 +f 2143/476/10 2177/477/10 2178/478/10 +f 2178/478/10 2144/475/10 2143/476/10 +f 2147/483/302 2159/522/302 2157/523/302 +f 2157/523/302 2148/484/302 2147/483/302 +f 2165/501/300 2151/524/300 2159/522/300 +f 2159/522/300 2147/483/300 2165/501/300 +f 2173/520/27 2135/525/27 2138/526/27 +f 2138/526/27 2174/527/27 2173/520/27 +f 2152/485/27 2175/528/27 2135/525/27 +f 2135/525/27 2173/520/27 2152/485/27 +f 2151/486/7 2176/486/7 2175/487/7 +f 2175/487/7 2152/487/7 2151/486/7 +f 2165/501/26 2136/501/26 2176/524/26 +f 2176/524/26 2151/524/26 2165/501/26 +f 2166/501/26 2137/501/26 2136/501/26 +f 2136/501/26 2165/501/26 2166/501/26 +f 2148/484/26 2143/484/26 2146/485/26 +f 2146/485/26 2149/485/26 2148/484/26 +f 2157/523/26 2177/523/26 2143/484/26 +f 2143/484/26 2148/484/26 2157/523/26 +f 2156/493/7 2178/529/7 2177/530/7 +f 2177/530/7 2157/494/7 2156/493/7 +f 2171/521/27 2144/531/27 2178/532/27 +f 2178/532/27 2156/521/27 2171/521/27 +f 2172/533/27 2145/531/27 2144/531/27 +f 2144/531/27 2171/521/27 2172/533/27 +f 2179/471/7 2180/474/7 2181/473/7 +f 2181/473/7 2182/472/7 2179/471/7 +f 2183/475/10 2184/478/10 2185/477/10 +f 2185/477/10 2186/476/10 2183/475/10 +f 2187/479/27 2188/479/27 2189/480/299 +f 2189/480/299 2190/480/299 2187/479/27 +f 2191/476/4 2192/482/4 2193/481/4 +f 2193/481/4 2194/475/4 2191/476/4 +f 2195/483/26 2196/483/26 2197/485/300 +f 2197/485/300 2198/484/300 2195/483/26 +f 2199/486/7 2200/488/7 2201/487/7 +f 2202/489/7 2187/492/7 2190/491/7 +f 2190/491/7 2203/490/7 2202/489/7 +f 2204/493/7 2205/495/7 2206/494/7 +f 2207/496/7 2206/494/7 2205/495/7 +f 2205/495/7 2208/497/7 2207/496/7 +f 2209/498/7 2182/472/7 2181/473/7 +f 2181/473/7 2210/499/7 2209/498/7 +f 2211/500/301 2212/500/301 2188/479/27 +f 2188/479/27 2187/479/27 2211/500/301 +f 2213/501/302 2214/501/302 2196/483/26 +f 2196/483/26 2195/483/26 2213/501/302 +f 2211/502/7 2187/492/7 2202/489/7 +f 2202/489/7 2215/503/7 2211/502/7 +f 2207/496/7 2208/497/7 2200/488/7 +f 2200/488/7 2199/486/7 2207/496/7 +f 2203/504/4 2216/505/4 2180/505/4 +f 2180/505/4 2179/504/4 2203/504/4 +f 2202/506/303 2203/504/303 2179/504/303 +f 2179/504/303 2182/506/303 2202/506/303 +f 2215/507/304 2202/506/304 2182/506/304 +f 2182/506/304 2209/507/304 2215/507/304 +f 2217/508/10 2215/507/10 2209/507/10 +f 2209/507/10 2210/508/10 2217/508/10 +f 2218/509/305 2217/512/305 2210/511/305 +f 2210/511/305 2181/510/305 2218/509/305 +f 2216/513/306 2218/509/306 2181/510/306 +f 2181/510/306 2180/514/306 2216/513/306 +f 2219/515/7 2211/502/7 2215/503/7 +f 2215/503/7 2217/516/7 2219/515/7 +f 2211/500/4 2219/517/4 2220/517/4 +f 2220/517/4 2212/500/4 2211/500/4 +f 2190/480/10 2189/480/10 2221/518/10 +f 2221/518/10 2222/518/10 2190/480/10 +f 2222/519/7 2216/474/7 2203/490/7 +f 2203/490/7 2190/491/7 2222/519/7 +f 2183/475/10 2186/476/10 2223/482/10 +f 2223/482/10 2224/481/10 2183/475/10 +f 2216/513/307 2222/520/307 2201/485/307 +f 2201/485/307 2200/513/307 2216/513/307 +f 2218/509/306 2216/513/306 2200/513/306 +f 2200/513/306 2208/509/306 2218/509/306 +f 2217/512/305 2218/509/305 2208/509/305 +f 2208/509/305 2205/512/305 2217/512/305 +f 2219/521/308 2217/512/308 2205/512/308 +f 2205/512/308 2204/521/308 2219/521/308 +f 2191/476/4 2194/475/4 2225/478/4 +f 2225/478/4 2226/477/4 2191/476/4 +f 2195/483/300 2198/484/300 2206/523/300 +f 2206/523/300 2207/522/300 2195/483/300 +f 2213/501/302 2195/483/302 2207/522/302 +f 2207/522/302 2199/524/302 2213/501/302 +f 2222/520/27 2221/527/27 2184/526/27 +f 2184/526/27 2183/525/27 2222/520/27 +f 2201/485/27 2222/520/27 2183/525/27 +f 2183/525/27 2224/528/27 2201/485/27 +f 2199/486/7 2201/487/7 2224/487/7 +f 2224/487/7 2223/486/7 2199/486/7 +f 2213/501/26 2199/524/26 2223/524/26 +f 2223/524/26 2186/501/26 2213/501/26 +f 2214/501/26 2213/501/26 2186/501/26 +f 2186/501/26 2185/501/26 2214/501/26 +f 2198/484/26 2197/485/26 2192/485/26 +f 2192/485/26 2191/484/26 2198/484/26 +f 2206/523/26 2198/484/26 2191/484/26 +f 2191/484/26 2226/523/26 2206/523/26 +f 2204/493/7 2206/494/7 2226/530/7 +f 2226/530/7 2225/529/7 2204/493/7 +f 2219/521/27 2204/521/27 2225/532/27 +f 2225/532/27 2194/531/27 2219/521/27 +f 2220/533/27 2219/521/27 2194/531/27 +f 2194/531/27 2193/531/27 2220/533/27 +f 2227/471/10 2228/472/10 2229/473/10 +f 2229/473/10 2230/474/10 2227/471/10 +f 2231/475/7 2232/476/7 2233/477/7 +f 2233/477/7 2234/478/7 2231/475/7 +f 2235/479/27 2236/480/290 2237/480/290 +f 2237/480/290 2238/479/27 2235/479/27 +f 2239/476/1 2240/475/1 2241/481/1 +f 2241/481/1 2242/482/1 2239/476/1 +f 2243/483/26 2244/484/291 2245/485/291 +f 2245/485/291 2246/483/26 2243/483/26 +f 2247/486/10 2248/487/10 2249/488/10 +f 2250/489/10 2251/490/10 2236/491/10 +f 2236/491/10 2235/492/10 2250/489/10 +f 2252/493/10 2253/494/10 2254/495/10 +f 2255/496/10 2256/497/10 2254/495/10 +f 2254/495/10 2253/494/10 2255/496/10 +f 2257/498/10 2258/499/10 2229/473/10 +f 2229/473/10 2228/472/10 2257/498/10 +f 2259/500/288 2235/479/27 2238/479/27 +f 2238/479/27 2260/500/288 2259/500/288 +f 2261/501/289 2243/483/26 2246/483/26 +f 2246/483/26 2262/501/289 2261/501/289 +f 2259/502/10 2263/503/10 2250/489/10 +f 2250/489/10 2235/492/10 2259/502/10 +f 2255/496/10 2247/486/10 2249/488/10 +f 2249/488/10 2256/497/10 2255/496/10 +f 2251/504/1 2227/504/1 2230/505/1 +f 2230/505/1 2264/505/1 2251/504/1 +f 2250/506/293 2228/506/293 2227/504/293 +f 2227/504/293 2251/504/293 2250/506/293 +f 2263/507/292 2257/507/292 2228/506/292 +f 2228/506/292 2250/506/292 2263/507/292 +f 2265/508/7 2258/508/7 2257/507/7 +f 2257/507/7 2263/507/7 2265/508/7 +f 2266/509/203 2229/510/203 2258/511/203 +f 2258/511/203 2265/512/203 2266/509/203 +f 2264/513/296 2230/514/296 2229/510/296 +f 2229/510/296 2266/509/296 2264/513/296 +f 2267/515/10 2265/516/10 2263/503/10 +f 2263/503/10 2259/502/10 2267/515/10 +f 2259/500/1 2260/500/1 2268/517/1 +f 2268/517/1 2267/517/1 2259/500/1 +f 2236/480/7 2269/518/7 2270/518/7 +f 2270/518/7 2237/480/7 2236/480/7 +f 2269/519/10 2236/491/10 2251/490/10 +f 2251/490/10 2264/474/10 2269/519/10 +f 2231/475/7 2271/481/7 2272/482/7 +f 2272/482/7 2232/476/7 2231/475/7 +f 2264/513/314 2249/513/314 2248/485/314 +f 2248/485/314 2269/520/314 2264/513/314 +f 2266/509/296 2256/509/296 2249/513/296 +f 2249/513/296 2264/513/296 2266/509/296 +f 2265/512/203 2254/512/203 2256/509/203 +f 2256/509/203 2266/509/203 2265/512/203 +f 2267/521/294 2252/521/294 2254/512/294 +f 2254/512/294 2265/512/294 2267/521/294 +f 2239/476/1 2273/477/1 2274/478/1 +f 2274/478/1 2240/475/1 2239/476/1 +f 2243/483/297 2255/522/297 2253/523/291 +f 2253/523/291 2244/484/291 2243/483/297 +f 2261/501/289 2247/524/289 2255/522/289 +f 2255/522/289 2243/483/289 2261/501/289 +f 2269/520/27 2231/525/27 2234/526/27 +f 2234/526/27 2270/527/27 2269/520/27 +f 2248/485/27 2271/528/27 2231/525/27 +f 2231/525/27 2269/520/27 2248/485/27 +f 2247/486/10 2272/486/10 2271/487/10 +f 2271/487/10 2248/487/10 2247/486/10 +f 2261/501/26 2232/501/26 2272/524/26 +f 2272/524/26 2247/524/26 2261/501/26 +f 2262/501/26 2233/501/26 2232/501/26 +f 2232/501/26 2261/501/26 2262/501/26 +f 2244/484/26 2239/484/26 2242/485/26 +f 2242/485/26 2245/485/26 2244/484/26 +f 2253/523/26 2273/523/26 2239/484/26 +f 2239/484/26 2244/484/26 2253/523/26 +f 2252/493/10 2274/529/10 2273/530/10 +f 2273/530/10 2253/494/10 2252/493/10 +f 2267/521/27 2240/531/27 2274/532/27 +f 2274/532/27 2252/521/27 2267/521/27 +f 2268/533/27 2241/531/27 2240/531/27 +f 2240/531/27 2267/521/27 2268/533/27 +f 2275/534/4 2276/535/4 2277/536/4 +f 2277/536/4 2278/537/4 2275/534/4 +f 2279/538/4 2280/539/4 2281/540/4 +f 2281/540/4 2282/541/4 2279/538/4 +f 2283/542/4 2284/543/4 2276/535/4 +f 2276/535/4 2275/534/4 2283/542/4 +f 2280/539/4 2278/537/4 2277/536/4 +f 2277/536/4 2281/540/4 2280/539/4 +f 2285/544/315 2286/545/315 2287/546/316 +f 2287/546/316 2288/547/316 2285/544/315 +f 2286/548/4 2289/549/4 2290/550/4 +f 2290/550/4 2287/551/4 2286/548/4 +f 2289/552/317 2291/553/317 2292/554/318 +f 2292/554/318 2290/555/318 2289/552/317 +f 2288/547/316 2287/546/316 2293/556/319 +f 2293/556/319 2294/557/319 2288/547/316 +f 2287/551/4 2290/550/4 2295/558/4 +f 2295/558/4 2293/559/4 2287/551/4 +f 2290/555/318 2292/554/318 2296/560/320 +f 2296/560/320 2295/561/320 2290/555/318 +f 2294/557/319 2293/556/319 2297/562/27 +f 2297/562/27 2298/563/27 2294/557/319 +f 2293/559/4 2295/558/4 2299/564/4 +f 2299/564/4 2297/565/4 2293/559/4 +f 2295/561/320 2296/560/320 2300/566/26 +f 2300/566/26 2299/567/26 2295/561/320 +f 2298/563/27 2297/562/27 2301/556/321 +f 2301/556/321 2302/557/321 2298/563/27 +f 2297/565/4 2299/564/4 2303/568/4 +f 2303/568/4 2301/569/4 2297/565/4 +f 2299/567/26 2300/566/26 2304/560/322 +f 2304/560/322 2303/561/322 2299/567/26 +f 2302/557/321 2301/556/321 2305/546/323 +f 2305/546/323 2306/547/323 2302/557/321 +f 2301/569/4 2303/568/4 2307/570/4 +f 2307/570/4 2305/571/4 2301/569/4 +f 2303/561/322 2304/560/322 2308/554/324 +f 2308/554/324 2307/555/324 2303/561/322 +f 2306/547/323 2305/546/323 2309/545/325 +f 2309/545/325 2310/544/325 2306/547/323 +f 2305/571/4 2307/570/4 2311/572/4 +f 2311/572/4 2309/573/4 2305/571/4 +f 2307/555/324 2308/554/324 2312/553/326 +f 2312/553/326 2311/552/326 2307/555/324 +f 2313/574/327 2314/575/327 2315/576/327 +f 2315/576/327 2316/577/327 2313/574/327 +f 2317/578/328 2313/579/328 2316/580/328 +f 2316/580/328 2318/581/328 2317/578/328 +f 2319/579/329 2317/578/329 2318/581/329 +f 2318/581/329 2320/580/329 2319/579/329 +f 2319/578/330 2320/581/330 2315/580/330 +f 2315/580/330 2314/579/330 2319/578/330 +f 2321/582/331 2316/577/331 2315/576/331 +f 2315/576/331 2322/583/332 2321/582/331 +f 2318/581/333 2316/580/333 2321/584/333 +f 2321/584/333 2323/585/333 2318/581/333 +f 2324/584/334 2320/580/334 2318/581/334 +f 2318/581/334 2323/585/334 2324/584/334 +f 2322/584/335 2315/580/335 2320/581/335 +f 2320/581/335 2324/585/335 2322/584/335 +f 2325/586/336 2326/587/26 2327/588/26 +f 2327/588/26 2328/589/336 2325/586/336 +f 2328/590/1 2327/591/1 2329/592/1 +f 2329/592/1 2330/593/1 2328/590/1 +f 2330/589/337 2329/588/27 2331/587/27 +f 2331/587/27 2332/586/337 2330/589/337 +f 2327/588/26 2326/587/26 2333/594/338 +f 2333/594/338 2334/595/338 2327/588/26 +f 2329/592/1 2327/591/1 2334/596/1 +f 2334/596/1 2335/597/1 2329/592/1 +f 2331/587/27 2329/588/27 2335/595/339 +f 2335/595/339 2336/594/339 2331/587/27 +f 2337/586/340 2338/587/26 2339/588/26 +f 2339/588/26 2340/589/340 2337/586/340 +f 2340/590/4 2339/591/4 2341/592/4 +f 2341/592/4 2342/593/4 2340/590/4 +f 2342/589/341 2341/588/27 2343/587/27 +f 2343/587/27 2344/586/342 2342/589/341 +f 2339/588/26 2338/587/26 2345/594/343 +f 2345/594/343 2346/595/343 2339/588/26 +f 2341/592/4 2339/591/4 2346/596/4 +f 2346/596/4 2347/597/4 2341/592/4 +f 2343/587/27 2341/588/27 2347/595/344 +f 2347/595/344 2348/594/344 2343/587/27 +f 2347/598/1 2346/596/1 2345/599/1 +f 2345/599/1 2348/600/1 2347/598/1 +f 2349/574/345 2350/577/345 2351/576/345 +f 2351/576/345 2352/575/345 2349/574/345 +f 2353/578/346 2354/581/346 2350/580/346 +f 2350/580/346 2349/579/346 2353/578/346 +f 2355/579/347 2356/580/347 2354/581/347 +f 2354/581/347 2353/578/347 2355/579/347 +f 2355/578/348 2352/579/348 2351/580/348 +f 2351/580/348 2356/581/348 2355/578/348 +f 2357/582/175 2358/583/349 2351/576/349 +f 2351/576/349 2350/577/349 2357/582/175 +f 2354/581/350 2359/585/350 2357/584/350 +f 2357/584/350 2350/580/350 2354/581/350 +f 2360/584/351 2359/585/351 2354/581/351 +f 2354/581/351 2356/580/351 2360/584/351 +f 2358/584/352 2360/585/352 2356/581/353 +f 2356/581/353 2351/580/352 2358/584/352 +f 2361/586/340 2362/589/340 2363/588/26 +f 2363/588/26 2364/587/26 2361/586/340 +f 2362/590/10 2365/593/10 2366/592/10 +f 2366/592/10 2363/591/10 2362/590/10 +f 2365/589/341 2367/586/342 2368/587/27 +f 2368/587/27 2366/588/27 2365/589/341 +f 2363/588/26 2369/595/343 2370/594/343 +f 2370/594/343 2364/587/26 2363/588/26 +f 2366/592/10 2371/597/10 2369/596/10 +f 2369/596/10 2363/591/10 2366/592/10 +f 2368/587/27 2372/594/344 2371/595/344 +f 2371/595/344 2366/588/27 2368/587/27 +f 2370/599/1 2369/596/1 2371/598/1 +f 2371/598/1 2372/600/1 2370/599/1 +f 2373/586/354 2374/589/340 2375/588/26 +f 2375/588/26 2376/587/26 2373/586/354 +f 2374/590/10 2377/593/10 2378/592/10 +f 2378/592/10 2375/591/10 2374/590/10 +f 2377/589/342 2379/586/341 2380/587/27 +f 2380/587/27 2378/588/27 2377/589/342 +f 2375/588/26 2381/595/355 2382/594/355 +f 2382/594/355 2376/587/26 2375/588/26 +f 2378/592/10 2383/597/10 2381/596/10 +f 2381/596/10 2375/591/10 2378/592/10 +f 2380/587/27 2384/594/356 2383/595/344 +f 2383/595/344 2378/588/27 2380/587/27 +f 2385/601/7 2386/602/7 2387/603/7 +f 2387/603/7 691/604/7 2385/601/7 +f 2388/605/4 2389/606/4 2390/607/4 +f 2390/607/4 690/608/4 2388/605/4 +f 2391/601/1 2392/602/1 2393/609/1 +f 2393/609/1 692/610/1 2391/601/1 +f 2394/611/10 2395/612/10 2396/613/10 +f 2396/613/10 693/614/10 2394/611/10 +f 690/610/7 2390/609/7 2386/602/7 +f 2386/602/7 2385/601/7 690/610/7 +f 693/604/1 2396/603/1 2392/602/1 +f 2392/602/1 2391/601/1 693/604/1 +f 692/615/4 2393/616/4 2389/606/4 +f 2389/606/4 2388/605/4 692/615/4 +f 691/617/10 2387/618/10 2395/612/10 +f 2395/612/10 2394/611/10 691/617/10 +f 2397/619/357 2398/620/358 2399/621/358 +f 2399/621/358 2400/622/357 2397/619/357 +f 2398/620/358 2401/623/359 2402/624/359 +f 2402/624/359 2399/621/358 2398/620/358 +f 2403/625/360 2404/626/10 2398/627/10 +f 2398/627/10 2397/628/360 2403/625/360 +f 2398/627/10 2404/626/10 2405/629/361 +f 2405/629/361 2401/630/361 2398/627/10 +f 2403/619/315 2406/622/315 2407/621/362 +f 2407/621/362 2404/620/362 2403/619/315 +f 2404/620/362 2407/621/362 2408/624/363 +f 2408/624/363 2405/623/363 2404/620/362 +f 2406/631/364 2400/632/364 2399/633/365 +f 2399/633/365 2407/634/365 2406/631/364 +f 2399/633/365 2402/635/366 2408/636/366 +f 2408/636/366 2407/634/365 2399/633/365 +f 2409/637/7 2410/638/7 2411/639/7 +f 2411/639/7 2412/640/7 2409/637/7 +f 2413/640/4 2412/641/4 2411/642/4 +f 2411/642/4 2414/643/4 2413/640/4 +f 2413/637/1 2414/638/1 2415/639/1 +f 2415/639/1 2416/640/1 2413/637/1 +f 2417/644/1 2418/645/1 2419/646/1 +f 2419/646/1 2420/647/1 2417/644/1 +f 2421/647/7 2422/644/7 2423/645/7 +f 2423/645/7 2424/646/7 2421/647/7 +f 2418/648/367 2417/649/367 2425/650/367 +f 2425/650/367 2426/651/367 2418/648/367 +f 2425/652/4 2417/567/4 2420/653/4 +f 2420/653/4 2427/654/4 2425/652/4 +f 2420/648/368 2419/649/368 2428/650/368 +f 2428/650/368 2427/651/368 2420/648/368 +f 2429/637/7 2430/638/7 2431/639/7 +f 2431/639/7 2432/640/7 2429/637/7 +f 2432/640/4 2431/643/4 2433/642/4 +f 2433/642/4 2434/641/4 2432/640/4 +f 2434/637/1 2433/638/1 2435/639/1 +f 2435/639/1 2436/640/1 2434/637/1 +f 2437/655/369 2423/656/369 2422/657/369 +f 2422/657/369 2438/658/369 2437/655/369 +f 2437/659/4 2439/660/4 2424/661/4 +f 2424/661/4 2423/662/4 2437/659/4 +f 2440/655/370 2421/656/370 2424/657/370 +f 2424/657/370 2439/658/370 2440/655/370 +f 2441/663/298 2442/664/298 2426/651/298 +f 2426/651/298 2425/650/298 2441/663/298 +f 2427/654/4 2443/665/4 2441/666/4 +f 2441/666/4 2425/652/4 2427/654/4 +f 2444/663/371 2443/664/371 2427/651/371 +f 2427/651/371 2428/650/371 2444/663/371 +f 2437/655/297 2438/658/297 2442/664/297 +f 2442/664/297 2441/663/297 2437/655/297 +f 2439/660/4 2437/659/4 2441/666/4 +f 2441/666/4 2443/665/4 2439/660/4 +f 2440/655/372 2439/658/372 2443/664/372 +f 2443/664/372 2444/663/372 2440/655/372 +f 2445/667/373 2446/668/373 2447/669/373 +f 2447/669/373 2448/670/373 2445/667/373 +f 2449/671/374 2450/672/374 2446/668/374 +f 2446/668/374 2445/667/374 2449/671/374 +f 2451/673/7 2452/674/7 2453/675/7 +f 2453/675/7 2454/676/7 2451/673/7 +f 2451/673/7 2450/673/7 2455/673/7 +f 2455/673/7 2452/674/7 2451/673/7 +f 2451/673/7 2447/677/7 2446/677/7 +f 2446/677/7 2450/673/7 2451/673/7 +f 2456/678/7 2447/677/7 2451/673/7 +f 2451/673/7 2454/676/7 2456/678/7 +f 2453/679/27 2452/303/27 2457/680/27 +f 2457/680/27 2458/681/27 2453/679/27 +f 2452/682/375 2455/672/375 2459/671/375 +f 2459/671/375 2457/683/375 2452/682/375 +f 2455/672/376 2450/672/377 2449/671/377 +f 2449/671/377 2459/671/376 2455/672/376 +f 2460/684/373 2461/685/373 2445/667/373 +f 2445/667/373 2448/670/373 2460/684/373 +f 2461/685/374 2462/686/374 2449/671/374 +f 2449/671/374 2445/667/374 2461/685/374 +f 2463/678/1 2464/677/1 2465/673/1 +f 2465/673/1 2466/676/1 2463/678/1 +f 2465/673/1 2464/677/1 2467/677/1 +f 2467/677/1 2462/673/1 2465/673/1 +f 2465/673/1 2462/673/1 2461/673/1 +f 2461/673/1 2460/674/1 2465/673/1 +f 2465/673/1 2460/674/1 2468/675/1 +f 2468/675/1 2466/676/1 2465/673/1 +f 2457/680/27 2464/687/27 2463/688/27 +f 2463/688/27 2458/681/27 2457/680/27 +f 2459/671/375 2467/686/375 2464/678/375 +f 2464/678/375 2457/683/375 2459/671/375 +f 2449/671/377 2462/686/377 2467/686/376 +f 2467/686/376 2459/671/376 2449/671/377 +f 2469/689/4 2470/690/4 2471/691/4 +f 2471/691/4 2472/692/4 2469/689/4 +f 2473/693/4 2472/692/4 2471/691/4 +f 2471/691/4 2474/694/4 2473/693/4 +f 2475/619/357 2476/620/358 2477/621/358 +f 2477/621/358 2478/622/357 2475/619/357 +f 2476/620/358 2479/623/359 2480/624/359 +f 2480/624/359 2477/621/358 2476/620/358 +f 2481/625/360 2482/626/10 2476/627/10 +f 2476/627/10 2475/628/360 2481/625/360 +f 2476/627/10 2482/626/10 2483/629/361 +f 2483/629/361 2479/630/361 2476/627/10 +f 2481/619/315 2484/622/315 2485/621/362 +f 2485/621/362 2482/620/362 2481/619/315 +f 2482/620/362 2485/621/362 2486/624/363 +f 2486/624/363 2483/623/363 2482/620/362 +f 2484/631/364 2478/632/364 2477/633/365 +f 2477/633/365 2485/634/365 2484/631/364 +f 2477/633/365 2480/635/366 2486/636/366 +f 2486/636/366 2485/634/365 2477/633/365 +f 2487/619/357 2488/622/357 2489/621/378 +f 2489/621/378 2490/620/378 2487/619/357 +f 2490/620/378 2489/621/378 2491/624/379 +f 2491/624/379 2492/623/379 2490/620/378 +f 2493/625/365 2487/628/365 2490/627/4 +f 2490/627/4 2494/626/4 2493/625/365 +f 2490/627/4 2492/630/380 2495/629/380 +f 2495/629/380 2494/626/4 2490/627/4 +f 2493/619/315 2494/620/381 2496/621/381 +f 2496/621/381 2497/622/315 2493/619/315 +f 2494/620/381 2495/623/382 2498/624/382 +f 2498/624/382 2496/621/381 2494/620/381 +f 2497/631/383 2496/634/360 2489/633/360 +f 2489/633/360 2488/632/383 2497/631/383 +f 2489/633/360 2496/634/360 2498/636/384 +f 2498/636/384 2491/635/384 2489/633/360 +f 2499/619/357 2500/622/357 2501/621/378 +f 2501/621/378 2502/620/378 2499/619/357 +f 2502/620/378 2501/621/378 2503/624/379 +f 2503/624/379 2504/623/379 2502/620/378 +f 2505/625/365 2499/628/365 2502/627/4 +f 2502/627/4 2506/626/4 2505/625/365 +f 2502/627/4 2504/630/380 2507/629/380 +f 2507/629/380 2506/626/4 2502/627/4 +f 2505/619/315 2506/620/381 2508/621/381 +f 2508/621/381 2509/622/315 2505/619/315 +f 2506/620/381 2507/623/382 2510/624/382 +f 2510/624/382 2508/621/381 2506/620/381 +f 2509/631/383 2508/634/360 2501/633/360 +f 2501/633/360 2500/632/383 2509/631/383 +f 2501/633/360 2508/634/360 2510/636/384 +f 2510/636/384 2503/635/384 2501/633/360 +f 2511/586/336 2512/589/336 2513/588/26 +f 2513/588/26 2514/587/26 2511/586/336 +f 2512/590/7 2515/593/7 2516/592/7 +f 2516/592/7 2513/591/7 2512/590/7 +f 2515/589/337 2517/586/337 2518/587/27 +f 2518/587/27 2516/588/27 2515/589/337 +f 2513/588/26 2519/595/338 2520/594/338 +f 2520/594/338 2514/587/26 2513/588/26 +f 2516/592/7 2521/597/7 2519/596/7 +f 2519/596/7 2513/591/7 2516/592/7 +f 2518/587/27 2522/594/339 2521/595/339 +f 2521/595/339 2516/588/27 2518/587/27 +f 2523/451/27 2524/452/27 2525/453/27 +f 2525/453/27 2526/454/27 2523/451/27 +f 2527/455/4 2528/456/4 2524/457/4 +f 2524/457/4 2523/458/4 2527/455/4 +f 2528/459/1 2529/460/1 2525/461/1 +f 2525/461/1 2524/462/1 2528/459/1 +f 2529/456/10 2530/455/10 2526/458/10 +f 2526/458/10 2525/457/10 2529/456/10 +f 2530/460/7 2527/459/7 2523/462/7 +f 2523/462/7 2526/461/7 2530/460/7 +f 2531/451/27 2532/452/27 2533/453/27 +f 2533/453/27 2534/454/27 2531/451/27 +f 2535/455/7 2536/456/7 2532/457/7 +f 2532/457/7 2531/458/7 2535/455/7 +f 2536/459/4 2537/460/4 2533/461/4 +f 2533/461/4 2532/462/4 2536/459/4 +f 2537/456/1 2538/455/1 2534/458/1 +f 2534/458/1 2533/457/1 2537/456/1 +f 2538/460/10 2535/459/10 2531/462/10 +f 2531/462/10 2534/461/10 2538/460/10 +f 2539/451/27 2540/452/27 2541/453/27 +f 2541/453/27 2542/454/27 2539/451/27 +f 2543/455/7 2544/456/7 2540/457/7 +f 2540/457/7 2539/458/7 2543/455/7 +f 2544/459/4 2545/460/4 2541/461/4 +f 2541/461/4 2540/462/4 2544/459/4 +f 2545/456/1 2546/455/1 2542/458/1 +f 2542/458/1 2541/457/1 2545/456/1 +f 2546/460/10 2543/459/10 2539/462/10 +f 2539/462/10 2542/461/10 2546/460/10 +f 2547/3/12 2548/2/12 2549/1/1 +f 2549/1/1 2550/4/1 2547/3/12 +f 2551/6/11 2552/5/11 2548/2/12 +f 2548/2/12 2547/3/12 2551/6/11 +f 2553/8/10 2554/7/10 2552/5/11 +f 2552/5/11 2551/6/11 2553/8/10 +f 2555/11/9 2556/10/9 2554/9/10 +f 2554/9/10 2553/12/10 2555/11/9 +f 2557/14/8 2558/13/8 2556/10/9 +f 2556/10/9 2555/11/9 2557/14/8 +f 2559/16/7 2560/15/7 2558/13/8 +f 2558/13/8 2557/14/8 2559/16/7 +f 2561/18/6 2562/17/6 2560/15/7 +f 2560/15/7 2559/16/7 2561/18/6 +f 2563/20/5 2564/19/5 2562/17/6 +f 2562/17/6 2561/18/6 2563/20/5 +f 2565/22/4 2566/21/4 2564/19/5 +f 2564/19/5 2563/20/5 2565/22/4 +f 2567/24/3 2568/23/3 2566/21/4 +f 2566/21/4 2565/22/4 2567/24/3 +f 2569/26/2 2570/25/2 2568/23/3 +f 2568/23/3 2567/24/3 2569/26/2 +f 2550/4/1 2549/1/1 2570/25/2 +f 2570/25/2 2569/26/2 2550/4/1 +f 2571/27/24 2572/30/24 2573/29/24 +f 2573/29/24 2574/28/24 2571/27/24 +f 2575/31/23 2576/32/23 2572/30/23 +f 2572/30/23 2571/27/23 2575/31/23 +f 2577/33/22 2578/34/22 2576/32/22 +f 2576/32/22 2575/31/22 2577/33/22 +f 2579/35/21 2580/38/21 2578/37/21 +f 2578/37/21 2577/36/21 2579/35/21 +f 2581/39/20 2582/40/20 2580/38/20 +f 2580/38/20 2579/35/20 2581/39/20 +f 2583/41/19 2584/42/19 2582/40/19 +f 2582/40/19 2581/39/19 2583/41/19 +f 2585/43/18 2586/44/18 2584/42/18 +f 2584/42/18 2583/41/18 2585/43/18 +f 2587/45/17 2588/46/17 2586/44/17 +f 2586/44/17 2585/43/17 2587/45/17 +f 2589/47/16 2590/48/16 2588/46/16 +f 2588/46/16 2587/45/16 2589/47/16 +f 2591/49/15 2592/50/15 2590/48/15 +f 2590/48/15 2589/47/15 2591/49/15 +f 2593/51/14 2594/52/14 2592/50/14 +f 2592/50/14 2591/49/14 2593/51/14 +f 2574/28/13 2573/29/13 2594/52/192 +f 2594/52/192 2593/51/192 2574/28/13 +f 2548/53/26 2571/53/26 2574/54/26 +f 2574/54/26 2549/54/26 2548/53/26 +f 2549/54/26 2574/54/26 2593/55/26 +f 2593/55/26 2570/55/26 2549/54/26 +f 2570/55/26 2593/55/26 2591/56/26 +f 2591/56/26 2568/56/26 2570/55/26 +f 2568/56/26 2591/56/26 2589/57/26 +f 2589/57/26 2566/57/26 2568/56/26 +f 2566/57/26 2589/57/26 2587/59/26 +f 2587/59/26 2564/58/26 2566/57/26 +f 2564/58/26 2587/59/26 2585/61/26 +f 2585/61/26 2562/60/26 2564/58/26 +f 2562/60/26 2585/61/26 2583/62/26 +f 2583/62/26 2560/62/26 2562/60/26 +f 2560/62/26 2583/62/26 2581/64/26 +f 2581/64/26 2558/63/26 2560/62/26 +f 2558/63/26 2581/64/26 2579/66/26 +f 2579/66/26 2556/65/26 2558/63/26 +f 2556/65/26 2579/66/26 2577/67/26 +f 2577/67/26 2554/67/26 2556/65/26 +f 2554/67/26 2577/67/26 2575/68/26 +f 2575/68/26 2552/68/26 2554/67/26 +f 2552/68/26 2575/68/26 2571/53/26 +f 2571/53/26 2548/53/26 2552/68/26 +f 2595/54/27 2573/54/27 2572/53/27 +f 2572/53/27 2596/53/27 2595/54/27 +f 2596/53/27 2572/53/27 2576/68/27 +f 2576/68/27 2597/68/27 2596/53/27 +f 2597/68/27 2576/68/27 2578/67/27 +f 2578/67/27 2598/67/27 2597/68/27 +f 2598/67/27 2578/67/27 2580/66/27 +f 2580/66/27 2599/65/27 2598/67/27 +f 2599/65/27 2580/66/27 2582/64/27 +f 2582/64/27 2600/63/27 2599/65/27 +f 2600/63/27 2582/64/27 2584/62/27 +f 2584/62/27 2601/62/27 2600/63/27 +f 2601/62/27 2584/62/27 2586/61/27 +f 2586/61/27 2602/60/27 2601/62/27 +f 2602/60/27 2586/61/27 2588/59/27 +f 2588/59/27 2603/58/27 2602/60/27 +f 2603/58/27 2588/59/27 2590/57/27 +f 2590/57/27 2604/57/27 2603/58/27 +f 2604/57/27 2590/57/27 2592/56/27 +f 2592/56/27 2605/56/27 2604/57/27 +f 2605/56/27 2592/56/27 2594/55/27 +f 2594/55/27 2606/55/27 2605/56/27 +f 2606/55/27 2594/55/27 2573/54/27 +f 2573/54/27 2595/54/27 2606/55/27 +f 2607/71/12 2608/70/1 2595/69/1 +f 2595/69/1 2596/72/12 2607/71/12 +f 2609/73/23 2607/71/12 2596/72/12 +f 2596/72/12 2597/74/23 2609/73/23 +f 2610/75/22 2609/73/22 2597/74/22 +f 2597/74/22 2598/76/22 2610/75/22 +f 2611/77/9 2610/75/21 2598/76/21 +f 2598/76/21 2599/78/9 2611/77/9 +f 2612/79/8 2611/77/9 2599/78/9 +f 2599/78/9 2600/80/8 2612/79/8 +f 2613/83/7 2612/82/8 2600/81/8 +f 2600/81/8 2601/84/7 2613/83/7 +f 2614/85/6 2613/83/7 2601/84/7 +f 2601/84/7 2602/86/6 2614/85/6 +f 2615/87/5 2614/85/6 2602/86/6 +f 2602/86/6 2603/88/5 2615/87/5 +f 2616/89/4 2615/87/5 2603/88/5 +f 2603/88/5 2604/90/4 2616/89/4 +f 2617/91/3 2616/89/4 2604/90/4 +f 2604/90/4 2605/92/3 2617/91/3 +f 2618/93/2 2617/91/3 2605/92/3 +f 2605/92/3 2606/94/2 2618/93/2 +f 2608/70/1 2618/93/2 2606/94/2 +f 2606/94/2 2595/69/1 2608/70/1 +f 2619/95/26 2620/95/26 2621/96/26 +f 2621/96/26 2622/96/26 2619/95/26 +f 2623/97/26 2624/97/26 2620/95/26 +f 2620/95/26 2619/95/26 2623/97/26 +f 2625/67/26 2626/98/26 2624/97/26 +f 2624/97/26 2623/97/26 2625/67/26 +f 2627/99/26 2628/99/26 2626/98/26 +f 2626/98/26 2625/67/26 2627/99/26 +f 2629/100/26 2630/100/26 2628/99/26 +f 2628/99/26 2627/99/26 2629/100/26 +f 2631/101/26 2632/101/26 2630/100/26 +f 2630/100/26 2629/100/26 2631/101/26 +f 2633/61/26 2634/61/26 2632/101/26 +f 2632/101/26 2631/101/26 2633/61/26 +f 2635/59/26 2636/102/26 2634/61/26 +f 2634/61/26 2633/61/26 2635/59/26 +f 2637/103/26 2638/103/26 2636/102/26 +f 2636/102/26 2635/59/26 2637/103/26 +f 2639/104/26 2640/105/26 2638/103/26 +f 2638/103/26 2637/103/26 2639/104/26 +f 2641/106/26 2642/106/26 2640/105/26 +f 2640/105/26 2639/104/26 2641/106/26 +f 2622/96/26 2621/96/26 2642/106/26 +f 2642/106/26 2641/106/26 2622/96/26 +f 2620/107/39 2643/110/39 2644/109/39 +f 2644/109/39 2621/108/39 2620/107/39 +f 2624/111/38 2645/112/38 2643/110/38 +f 2643/110/38 2620/107/38 2624/111/38 +f 2626/113/37 2646/114/37 2645/112/37 +f 2645/112/37 2624/111/37 2626/113/37 +f 2628/115/36 2647/116/36 2646/114/36 +f 2646/114/36 2626/113/36 2628/115/36 +f 2630/117/35 2648/118/35 2647/116/35 +f 2647/116/35 2628/115/35 2630/117/35 +f 2632/119/34 2649/120/34 2648/118/34 +f 2648/118/34 2630/117/34 2632/119/34 +f 2634/121/33 2650/122/33 2649/120/33 +f 2649/120/33 2632/119/33 2634/121/33 +f 2636/123/32 2651/124/32 2650/122/32 +f 2650/122/32 2634/121/32 2636/123/32 +f 2638/125/31 2652/126/31 2651/124/31 +f 2651/124/31 2636/123/31 2638/125/31 +f 2640/127/30 2653/130/30 2652/129/30 +f 2652/129/30 2638/128/30 2640/127/30 +f 2642/131/29 2654/132/29 2653/130/29 +f 2653/130/29 2640/127/29 2642/131/29 +f 2621/108/28 2644/109/28 2654/132/28 +f 2654/132/28 2642/131/28 2621/108/28 +f 2643/110/54 2655/134/54 2656/133/54 +f 2656/133/54 2644/109/54 2643/110/54 +f 2645/112/53 2657/135/53 2655/134/53 +f 2655/134/53 2643/110/53 2645/112/53 +f 2646/114/51 2658/136/52 2657/135/51 +f 2657/135/51 2645/112/51 2646/114/51 +f 2647/116/50 2659/137/50 2658/136/50 +f 2658/136/50 2646/114/50 2647/116/50 +f 2648/118/49 2660/138/49 2659/137/49 +f 2659/137/49 2647/116/49 2648/118/49 +f 2649/120/48 2661/139/48 2660/138/48 +f 2660/138/48 2648/118/48 2649/120/48 +f 2650/122/385 2662/140/46 2661/139/46 +f 2661/139/46 2649/120/46 2650/122/385 +f 2651/124/45 2663/141/45 2662/140/45 +f 2662/140/45 2650/122/45 2651/124/45 +f 2652/126/44 2664/142/44 2663/141/44 +f 2663/141/44 2651/124/44 2652/126/44 +f 2653/130/42 2665/144/42 2664/143/43 +f 2664/143/43 2652/129/42 2653/130/42 +f 2654/132/41 2666/145/41 2665/144/41 +f 2665/144/41 2653/130/41 2654/132/41 +f 2644/109/40 2656/133/40 2666/145/40 +f 2666/145/40 2654/132/386 2644/109/40 +f 2607/148/71 2667/147/71 2668/146/71 +f 2668/146/71 2608/149/71 2607/148/71 +f 2609/151/69 2669/150/70 2667/147/70 +f 2667/147/70 2607/148/69 2609/151/69 +f 2610/154/68 2670/153/68 2669/152/68 +f 2669/152/68 2609/155/68 2610/154/68 +f 2611/156/67 2671/142/67 2670/153/67 +f 2670/153/67 2610/154/67 2611/156/67 +f 2612/158/65 2672/157/66 2671/142/66 +f 2671/142/66 2611/156/65 2612/158/65 +f 2613/160/64 2673/159/64 2672/157/64 +f 2672/157/64 2612/158/64 2613/160/64 +f 2614/162/63 2674/161/63 2673/159/63 +f 2673/159/63 2613/160/63 2614/162/63 +f 2615/164/62 2675/163/61 2674/161/61 +f 2674/161/61 2614/162/62 2615/164/62 +f 2616/166/60 2676/165/60 2675/163/60 +f 2675/163/60 2615/164/60 2616/166/60 +f 2617/168/59 2677/167/59 2676/165/59 +f 2676/165/59 2616/166/59 2617/168/59 +f 2618/170/58 2678/169/57 2677/167/57 +f 2677/167/57 2617/168/57 2618/170/58 +f 2608/149/56 2668/146/56 2678/169/56 +f 2678/169/56 2618/170/56 2608/149/56 +f 2667/173/12 2619/172/12 2622/171/1 +f 2622/171/1 2668/174/1 2667/173/12 +f 2669/176/11 2623/175/11 2619/172/12 +f 2619/172/12 2667/173/12 2669/176/11 +f 2670/179/10 2625/178/10 2623/177/11 +f 2623/177/11 2669/180/11 2670/179/10 +f 2671/181/9 2627/86/9 2625/178/10 +f 2625/178/10 2670/179/10 2671/181/9 +f 2672/183/8 2629/182/8 2627/86/9 +f 2627/86/9 2671/181/9 2672/183/8 +f 2673/185/7 2631/184/7 2629/182/8 +f 2629/182/8 2672/183/8 2673/185/7 +f 2674/187/6 2633/186/6 2631/184/7 +f 2631/184/7 2673/185/7 2674/187/6 +f 2675/189/5 2635/188/5 2633/186/6 +f 2633/186/6 2674/187/6 2675/189/5 +f 2676/191/4 2637/190/4 2635/188/5 +f 2635/188/5 2675/189/5 2676/191/4 +f 2677/192/3 2639/76/3 2637/190/4 +f 2637/190/4 2676/191/4 2677/192/3 +f 2678/194/2 2641/193/2 2639/76/3 +f 2639/76/3 2677/192/3 2678/194/2 +f 2668/174/1 2622/171/1 2641/193/2 +f 2641/193/2 2678/194/2 2668/174/1 +f 2679/195/387 2680/198/387 2681/197/387 +f 2681/197/387 2682/196/387 2679/195/387 +f 2683/199/388 2684/202/388 2685/201/388 +f 2685/201/388 2686/200/388 2683/199/388 +f 2687/203/389 2688/206/389 2689/205/389 +f 2689/205/389 2690/204/389 2687/203/389 +f 2691/202/390 2692/199/390 2693/200/390 +f 2693/200/390 2694/201/390 2691/202/390 +f 2695/207/391 2696/209/391 2697/208/391 +f 2697/208/391 2698/207/391 2695/207/391 +f 2699/209/392 2700/211/392 2701/210/392 +f 2690/212/393 2689/214/393 2702/213/393 +f 2702/213/393 2703/196/393 2690/212/393 +f 2704/210/394 2705/211/394 2706/209/394 +f 2707/215/395 2706/209/395 2705/211/395 +f 2705/211/395 2708/216/395 2707/215/395 +f 2709/217/396 2682/196/396 2681/197/396 +f 2681/197/396 2710/218/396 2709/217/396 +f 2711/219/397 2687/203/397 2690/204/397 +f 2690/204/397 2712/220/397 2711/219/397 +f 2713/209/398 2695/207/398 2698/207/398 +f 2698/207/398 2714/208/398 2713/209/398 +f 2690/212/399 2703/196/399 2715/213/399 +f 2715/213/399 2712/214/399 2690/212/399 +f 2707/215/400 2708/216/400 2700/211/400 +f 2700/211/400 2699/209/400 2707/215/400 +f 2716/221/390 2680/221/390 2679/222/390 +f 2679/222/390 2702/222/390 2716/221/390 +f 2702/222/401 2679/222/401 2682/203/401 +f 2682/203/401 2703/203/401 2702/222/401 +f 2703/203/402 2682/203/402 2709/206/402 +f 2709/206/402 2715/206/402 2703/203/402 +f 2715/206/388 2709/206/388 2710/223/388 +f 2710/223/388 2717/223/388 2715/206/388 +f 2717/224/403 2710/224/403 2681/226/403 +f 2681/226/403 2718/225/403 2717/224/403 +f 2718/225/404 2681/226/404 2680/224/404 +f 2680/224/404 2716/224/404 2718/225/404 +f 2712/214/394 2715/213/394 2717/228/394 +f 2717/228/394 2719/227/394 2712/214/394 +f 2719/229/390 2720/221/390 2711/219/390 +f 2711/219/390 2712/220/390 2719/229/390 +f 2688/206/388 2721/223/388 2722/230/388 +f 2722/230/388 2689/205/388 2688/206/388 +f 2722/227/392 2716/228/392 2702/213/392 +f 2702/213/392 2689/214/392 2722/227/392 +f 2685/201/388 2723/202/388 2724/199/388 +f 2724/199/388 2686/200/388 2685/201/388 +f 2722/231/405 2701/233/406 2700/232/405 +f 2700/232/405 2716/224/405 2722/231/405 +f 2716/224/404 2700/232/404 2708/234/404 +f 2708/234/404 2718/225/404 2716/224/404 +f 2718/225/403 2708/234/403 2705/232/403 +f 2705/232/403 2717/224/403 2718/225/403 +f 2717/224/407 2705/232/407 2704/233/407 +f 2704/233/407 2719/231/407 2717/224/407 +f 2693/200/390 2725/199/390 2726/202/390 +f 2726/202/390 2694/201/390 2693/200/390 +f 2697/208/391 2706/236/391 2707/235/391 +f 2707/235/391 2698/207/391 2697/208/391 +f 2698/207/398 2707/235/398 2699/236/398 +f 2699/236/398 2714/208/398 2698/207/398 +f 2721/236/27 2683/238/27 2686/237/27 +f 2686/237/27 2722/231/27 2721/236/27 +f 2722/231/27 2686/237/27 2724/239/27 +f 2724/239/27 2701/233/27 2722/231/27 +f 2701/210/408 2724/241/409 2723/240/409 +f 2723/240/409 2699/209/408 2701/210/408 +f 2699/236/26 2723/238/26 2685/242/26 +f 2685/242/26 2714/208/26 2699/236/26 +f 2714/208/26 2685/242/26 2684/240/26 +f 2684/240/26 2713/209/26 2714/208/26 +f 2696/209/26 2691/240/26 2694/242/26 +f 2694/242/26 2697/208/26 2696/209/26 +f 2697/208/26 2694/242/26 2726/238/26 +f 2726/238/26 2706/236/26 2697/208/26 +f 2706/209/410 2726/240/410 2725/241/410 +f 2725/241/410 2704/210/410 2706/209/410 +f 2704/233/27 2725/239/27 2693/237/27 +f 2693/237/27 2719/231/27 2704/233/27 +f 2719/231/27 2693/237/27 2692/238/27 +f 2692/238/27 2720/236/27 2719/231/27 +f 2727/195/411 2728/198/411 2729/197/411 +f 2729/197/411 2730/196/411 2727/195/411 +f 2731/199/412 2732/202/412 2733/201/413 +f 2733/201/413 2734/200/413 2731/199/412 +f 2735/203/414 2736/206/414 2737/205/414 +f 2737/205/414 2738/204/414 2735/203/414 +f 2739/202/415 2740/199/415 2741/200/416 +f 2741/200/416 2742/201/416 2739/202/415 +f 2743/207/417 2744/209/417 2745/208/417 +f 2745/208/417 2746/207/417 2743/207/417 +f 2747/209/171 2748/211/171 2749/210/171 +f 2738/212/418 2737/214/418 2750/213/418 +f 2750/213/418 2751/196/418 2738/212/418 +f 2752/210/419 2753/211/419 2754/209/419 +f 2755/215/420 2754/209/420 2753/211/420 +f 2753/211/420 2756/216/420 2755/215/420 +f 2757/217/167 2730/196/167 2729/197/167 +f 2729/197/167 2758/218/167 2757/217/167 +f 2759/219/421 2735/203/421 2738/204/421 +f 2738/204/421 2760/220/421 2759/219/421 +f 2761/209/422 2743/207/422 2746/207/422 +f 2746/207/422 2762/208/422 2761/209/422 +f 2738/212/423 2751/196/423 2763/213/423 +f 2763/213/423 2760/214/423 2738/212/423 +f 2755/215/424 2756/216/424 2748/211/424 +f 2748/211/424 2747/209/424 2755/215/424 +f 2764/221/415 2728/221/416 2727/222/416 +f 2727/222/416 2750/222/415 2764/221/415 +f 2750/222/425 2727/222/425 2730/203/425 +f 2730/203/425 2751/203/425 2750/222/425 +f 2751/203/426 2730/203/426 2757/206/426 +f 2757/206/426 2763/206/426 2751/203/426 +f 2763/206/413 2757/206/413 2758/223/413 +f 2758/223/413 2765/223/413 2763/206/413 +f 2765/224/427 2758/224/427 2729/226/427 +f 2729/226/427 2766/225/427 2765/224/427 +f 2766/225/428 2729/226/428 2728/224/428 +f 2728/224/428 2764/224/428 2766/225/428 +f 2760/214/419 2763/213/419 2765/228/419 +f 2765/228/419 2767/227/419 2760/214/419 +f 2767/229/415 2768/221/415 2759/219/415 +f 2759/219/415 2760/220/415 2767/229/415 +f 2736/206/413 2769/223/413 2770/230/413 +f 2770/230/413 2737/205/413 2736/206/413 +f 2770/227/171 2764/228/171 2750/213/171 +f 2750/213/171 2737/214/171 2770/227/171 +f 2733/201/413 2771/202/412 2772/199/412 +f 2772/199/412 2734/200/413 2733/201/413 +f 2770/231/429 2749/233/429 2748/232/429 +f 2748/232/429 2764/224/429 2770/231/429 +f 2764/224/428 2748/232/428 2756/234/428 +f 2756/234/428 2766/225/428 2764/224/428 +f 2766/225/427 2756/234/427 2753/232/427 +f 2753/232/427 2765/224/427 2766/225/427 +f 2765/224/430 2753/232/430 2752/233/430 +f 2752/233/430 2767/231/430 2765/224/430 +f 2741/200/416 2773/199/415 2774/202/415 +f 2774/202/415 2742/201/416 2741/200/416 +f 2745/208/417 2754/236/417 2755/235/417 +f 2755/235/417 2746/207/417 2745/208/417 +f 2746/207/422 2755/235/422 2747/236/422 +f 2747/236/422 2762/208/422 2746/207/422 +f 2769/236/27 2731/238/27 2734/237/27 +f 2734/237/27 2770/231/27 2769/236/27 +f 2770/231/27 2734/237/27 2772/239/27 +f 2772/239/27 2749/233/27 2770/231/27 +f 2749/210/191 2772/241/191 2771/240/191 +f 2771/240/191 2747/209/191 2749/210/191 +f 2747/236/26 2771/238/26 2733/242/26 +f 2733/242/26 2762/208/26 2747/236/26 +f 2762/208/26 2733/242/26 2732/240/26 +f 2732/240/26 2761/209/26 2762/208/26 +f 2744/209/26 2739/240/26 2742/242/26 +f 2742/242/26 2745/208/26 2744/209/26 +f 2745/208/26 2742/242/26 2774/238/26 +f 2774/238/26 2754/236/26 2745/208/26 +f 2754/209/431 2774/240/431 2773/241/431 +f 2773/241/431 2752/210/431 2754/209/431 +f 2752/233/27 2773/239/27 2741/237/27 +f 2741/237/27 2767/231/27 2752/233/27 +f 2767/231/27 2741/237/27 2740/238/27 +f 2740/238/27 2768/236/27 2767/231/27 +f 2775/243/432 2776/246/432 2777/245/432 +f 2777/245/432 2778/244/432 2775/243/432 +f 2775/247/433 2779/250/433 2780/249/433 +f 2780/249/433 2776/248/433 2775/247/433 +f 2776/246/434 2780/252/434 2781/251/434 +f 2781/251/434 2777/245/434 2776/246/434 +f 2777/248/435 2781/249/435 2782/250/435 +f 2782/250/435 2778/247/435 2777/248/435 +f 2783/195/436 2784/198/436 2785/197/436 +f 2785/197/436 2786/196/436 2783/195/436 +f 2787/199/437 2788/202/437 2789/201/413 +f 2789/201/413 2790/200/413 2787/199/437 +f 2791/203/414 2792/206/414 2793/205/414 +f 2793/205/414 2794/204/414 2791/203/414 +f 2795/202/415 2796/199/415 2797/200/416 +f 2797/200/416 2798/201/416 2795/202/415 +f 2799/207/417 2800/209/417 2801/208/417 +f 2801/208/417 2802/207/417 2799/207/417 +f 2803/209/171 2804/211/171 2805/210/171 +f 2794/212/418 2793/214/418 2806/213/418 +f 2806/213/418 2807/196/418 2794/212/418 +f 2808/210/419 2809/211/419 2810/209/419 +f 2811/215/420 2810/209/420 2809/211/420 +f 2809/211/420 2812/216/420 2811/215/420 +f 2813/217/167 2786/196/167 2785/197/167 +f 2785/197/167 2814/218/167 2813/217/167 +f 2815/219/438 2791/203/421 2794/204/421 +f 2794/204/421 2816/220/438 2815/219/438 +f 2817/209/422 2799/207/422 2802/207/422 +f 2802/207/422 2818/208/422 2817/209/422 +f 2794/212/423 2807/196/423 2819/213/423 +f 2819/213/423 2816/214/423 2794/212/423 +f 2811/215/424 2812/216/424 2804/211/424 +f 2804/211/424 2803/209/424 2811/215/424 +f 2820/221/415 2784/221/415 2783/222/415 +f 2783/222/415 2806/222/415 2820/221/415 +f 2806/222/425 2783/222/425 2786/203/425 +f 2786/203/425 2807/203/425 2806/222/425 +f 2807/203/426 2786/203/426 2813/206/426 +f 2813/206/426 2819/206/426 2807/203/426 +f 2819/206/413 2813/206/413 2814/223/413 +f 2814/223/413 2821/223/413 2819/206/413 +f 2821/224/427 2814/224/427 2785/226/427 +f 2785/226/427 2822/225/427 2821/224/427 +f 2822/225/428 2785/226/428 2784/224/428 +f 2784/224/428 2820/224/428 2822/225/428 +f 2816/214/419 2819/213/419 2821/228/419 +f 2821/228/419 2823/227/419 2816/214/419 +f 2823/229/416 2824/221/416 2815/219/416 +f 2815/219/416 2816/220/416 2823/229/416 +f 2792/206/413 2825/223/413 2826/230/412 +f 2826/230/412 2793/205/412 2792/206/413 +f 2826/227/171 2820/228/171 2806/213/171 +f 2806/213/171 2793/214/171 2826/227/171 +f 2789/201/413 2827/202/412 2828/199/412 +f 2828/199/412 2790/200/413 2789/201/413 +f 2826/231/429 2805/233/429 2804/232/429 +f 2804/232/429 2820/224/429 2826/231/429 +f 2820/224/428 2804/232/428 2812/234/428 +f 2812/234/428 2822/225/428 2820/224/428 +f 2822/225/427 2812/234/427 2809/232/427 +f 2809/232/427 2821/224/427 2822/225/427 +f 2821/224/430 2809/232/430 2808/233/430 +f 2808/233/430 2823/231/430 2821/224/430 +f 2797/200/416 2829/199/415 2830/202/415 +f 2830/202/415 2798/201/416 2797/200/416 +f 2801/208/417 2810/236/417 2811/235/417 +f 2811/235/417 2802/207/417 2801/208/417 +f 2802/207/422 2811/235/422 2803/236/422 +f 2803/236/422 2818/208/422 2802/207/422 +f 2825/236/27 2787/238/27 2790/237/27 +f 2790/237/27 2826/231/27 2825/236/27 +f 2826/231/27 2790/237/27 2828/239/27 +f 2828/239/27 2805/233/27 2826/231/27 +f 2805/210/191 2828/241/191 2827/240/191 +f 2827/240/191 2803/209/191 2805/210/191 +f 2803/236/26 2827/238/26 2789/242/26 +f 2789/242/26 2818/208/26 2803/236/26 +f 2818/208/26 2789/242/26 2788/240/26 +f 2788/240/26 2817/209/26 2818/208/26 +f 2800/209/26 2795/240/26 2798/242/26 +f 2798/242/26 2801/208/26 2800/209/26 +f 2801/208/26 2798/242/26 2830/238/26 +f 2830/238/26 2810/236/26 2801/208/26 +f 2810/209/431 2830/240/431 2829/241/431 +f 2829/241/431 2808/210/431 2810/209/431 +f 2808/233/27 2829/239/27 2797/237/27 +f 2797/237/27 2823/231/27 2808/233/27 +f 2823/231/27 2797/237/27 2796/238/27 +f 2796/238/27 2824/236/27 2823/231/27 +f 2831/243/439 2832/246/439 2833/245/439 +f 2833/245/439 2834/244/439 2831/243/439 +f 2831/247/440 2835/250/440 2836/249/440 +f 2836/249/440 2832/248/440 2831/247/440 +f 2832/246/441 2836/252/441 2837/251/441 +f 2837/251/441 2833/245/441 2832/246/441 +f 2833/248/442 2837/249/442 2838/250/442 +f 2838/250/442 2834/247/442 2833/248/442 +f 2839/195/443 2840/198/443 2841/197/443 +f 2841/197/443 2842/196/443 2839/195/443 +f 2843/199/390 2844/202/390 2845/201/390 +f 2845/201/390 2846/200/390 2843/199/390 +f 2847/203/444 2848/206/444 2849/205/444 +f 2849/205/444 2850/204/444 2847/203/444 +f 2851/202/388 2852/199/388 2853/200/388 +f 2853/200/388 2854/201/388 2851/202/388 +f 2855/207/398 2856/209/398 2857/208/398 +f 2857/208/398 2858/207/398 2855/207/398 +f 2859/209/445 2860/211/445 2861/210/445 +f 2850/212/446 2849/214/446 2862/213/446 +f 2862/213/446 2863/196/446 2850/212/446 +f 2864/210/447 2865/211/447 2866/209/447 +f 2867/215/448 2866/209/448 2865/211/448 +f 2865/211/448 2868/216/448 2867/215/448 +f 2869/217/449 2842/196/450 2841/197/450 +f 2841/197/450 2870/218/449 2869/217/449 +f 2871/219/451 2847/203/451 2850/204/451 +f 2850/204/451 2872/220/451 2871/219/451 +f 2873/209/391 2855/207/391 2858/207/391 +f 2858/207/391 2874/208/391 2873/209/391 +f 2850/212/452 2863/196/452 2875/213/452 +f 2875/213/452 2872/214/452 2850/212/452 +f 2867/215/453 2868/216/453 2860/211/453 +f 2860/211/453 2859/209/453 2867/215/453 +f 2876/221/388 2840/221/388 2839/222/388 +f 2839/222/388 2862/222/388 2876/221/388 +f 2862/222/402 2839/222/402 2842/203/402 +f 2842/203/402 2863/203/402 2862/222/402 +f 2863/203/401 2842/203/401 2869/206/401 +f 2869/206/401 2875/206/401 2863/203/401 +f 2875/206/390 2869/206/390 2870/223/390 +f 2870/223/390 2877/223/390 2875/206/390 +f 2877/224/454 2870/224/454 2841/226/454 +f 2841/226/454 2878/225/454 2877/224/454 +f 2878/225/455 2841/226/455 2840/224/455 +f 2840/224/455 2876/224/455 2878/225/455 +f 2872/214/447 2875/213/447 2877/228/447 +f 2877/228/447 2879/227/447 2872/214/447 +f 2879/229/388 2880/221/388 2871/219/388 +f 2871/219/388 2872/220/388 2879/229/388 +f 2848/206/390 2881/223/390 2882/230/390 +f 2882/230/390 2849/205/390 2848/206/390 +f 2882/227/445 2876/228/445 2862/213/445 +f 2862/213/445 2849/214/445 2882/227/445 +f 2845/201/390 2883/202/390 2884/199/390 +f 2884/199/390 2846/200/390 2845/201/390 +f 2882/231/456 2861/233/456 2860/232/456 +f 2860/232/456 2876/224/456 2882/231/456 +f 2876/224/455 2860/232/455 2868/234/455 +f 2868/234/455 2878/225/455 2876/224/455 +f 2878/225/454 2868/234/454 2865/232/454 +f 2865/232/454 2877/224/454 2878/225/454 +f 2877/224/457 2865/232/457 2864/233/457 +f 2864/233/457 2879/231/457 2877/224/457 +f 2853/200/388 2885/199/388 2886/202/388 +f 2886/202/388 2854/201/388 2853/200/388 +f 2857/208/398 2866/236/398 2867/235/398 +f 2867/235/398 2858/207/398 2857/208/398 +f 2858/207/391 2867/235/391 2859/236/391 +f 2859/236/391 2874/208/391 2858/207/391 +f 2881/236/27 2843/238/27 2846/237/27 +f 2846/237/27 2882/231/27 2881/236/27 +f 2882/231/27 2846/237/27 2884/239/27 +f 2884/239/27 2861/233/27 2882/231/27 +f 2861/210/458 2884/241/458 2883/240/458 +f 2883/240/458 2859/209/458 2861/210/458 +f 2859/236/26 2883/238/26 2845/242/26 +f 2845/242/26 2874/208/26 2859/236/26 +f 2874/208/26 2845/242/26 2844/240/26 +f 2844/240/26 2873/209/26 2874/208/26 +f 2856/209/26 2851/240/26 2854/242/26 +f 2854/242/26 2857/208/26 2856/209/26 +f 2857/208/26 2854/242/26 2886/238/26 +f 2886/238/26 2866/236/26 2857/208/26 +f 2866/209/459 2886/240/459 2885/241/459 +f 2885/241/459 2864/210/459 2866/209/459 +f 2864/233/27 2885/239/27 2853/237/27 +f 2853/237/27 2879/231/27 2864/233/27 +f 2879/231/27 2853/237/27 2852/238/27 +f 2852/238/27 2880/236/27 2879/231/27 +f 2887/243/154 2888/246/154 2889/245/154 +f 2889/245/154 2890/244/154 2887/243/154 +f 2887/247/1 2891/250/1 2892/249/1 +f 2892/249/1 2888/248/1 2887/247/1 +f 2888/246/155 2892/252/155 2893/251/155 +f 2893/251/155 2889/245/155 2888/246/155 +f 2889/248/7 2893/249/7 2894/250/7 +f 2894/250/7 2890/247/7 2889/248/7 +f 2895/243/160 2896/246/160 2897/245/160 +f 2897/245/160 2898/244/160 2895/243/160 +f 2895/247/163 2899/250/163 2900/249/163 +f 2900/249/163 2896/248/163 2895/247/163 +f 2896/246/162 2900/252/162 2901/251/162 +f 2901/251/162 2897/245/162 2896/246/162 +f 2897/248/161 2901/249/161 2902/250/161 +f 2902/250/161 2898/247/161 2897/248/161 +f 2903/243/148 2904/246/148 2905/245/148 +f 2905/245/148 2906/244/148 2903/243/148 +f 2903/247/7 2907/250/7 2908/249/7 +f 2908/249/7 2904/248/7 2903/247/7 +f 2904/246/149 2908/252/149 2909/251/149 +f 2909/251/149 2905/245/149 2904/246/149 +f 2905/248/1 2909/249/1 2910/250/1 +f 2910/250/1 2906/247/1 2905/248/1 +f 2911/243/460 2912/246/460 2913/245/460 +f 2913/245/460 2914/244/460 2911/243/460 +f 2911/247/461 2915/250/461 2916/249/461 +f 2916/249/461 2912/248/461 2911/247/461 +f 2912/246/462 2916/252/462 2917/251/462 +f 2917/251/462 2913/245/462 2912/246/462 +f 2913/248/463 2917/249/463 2918/250/463 +f 2918/250/463 2914/247/463 2913/248/463 +f 2919/243/150 2920/246/150 2921/245/150 +f 2921/245/150 2922/244/150 2919/243/150 +f 2919/247/153 2923/250/153 2924/249/153 +f 2924/249/153 2920/248/153 2919/247/153 +f 2920/246/152 2924/252/152 2925/251/152 +f 2925/251/152 2921/245/152 2920/246/152 +f 2921/248/151 2925/249/151 2926/250/151 +f 2926/250/151 2922/247/151 2921/248/151 +f 2927/195/443 2928/198/443 2929/197/443 +f 2929/197/443 2930/196/443 2927/195/443 +f 2931/199/390 2932/202/390 2933/201/390 +f 2933/201/390 2934/200/390 2931/199/390 +f 2935/203/444 2936/206/444 2937/205/444 +f 2937/205/444 2938/204/444 2935/203/444 +f 2939/202/388 2940/199/388 2941/200/388 +f 2941/200/388 2942/201/388 2939/202/388 +f 2943/207/398 2944/209/398 2945/208/398 +f 2945/208/398 2946/207/398 2943/207/398 +f 2947/209/445 2948/211/445 2949/210/445 +f 2938/212/446 2937/214/446 2950/213/446 +f 2950/213/446 2951/196/446 2938/212/446 +f 2952/210/447 2953/211/447 2954/209/447 +f 2955/215/448 2954/209/448 2953/211/448 +f 2953/211/448 2956/216/448 2955/215/448 +f 2957/217/449 2930/196/450 2929/197/450 +f 2929/197/450 2958/218/449 2957/217/449 +f 2959/219/451 2935/203/451 2938/204/451 +f 2938/204/451 2960/220/451 2959/219/451 +f 2961/209/391 2943/207/391 2946/207/391 +f 2946/207/391 2962/208/391 2961/209/391 +f 2938/212/452 2951/196/452 2963/213/452 +f 2963/213/452 2960/214/452 2938/212/452 +f 2955/215/453 2956/216/453 2948/211/453 +f 2948/211/453 2947/209/453 2955/215/453 +f 2964/221/388 2928/221/388 2927/222/388 +f 2927/222/388 2950/222/388 2964/221/388 +f 2950/222/402 2927/222/402 2930/203/402 +f 2930/203/402 2951/203/402 2950/222/402 +f 2951/203/401 2930/203/401 2957/206/401 +f 2957/206/401 2963/206/401 2951/203/401 +f 2963/206/390 2957/206/390 2958/223/390 +f 2958/223/390 2965/223/390 2963/206/390 +f 2965/224/454 2958/224/454 2929/226/454 +f 2929/226/454 2966/225/454 2965/224/454 +f 2966/225/455 2929/226/455 2928/224/455 +f 2928/224/455 2964/224/455 2966/225/455 +f 2960/214/447 2963/213/447 2965/228/447 +f 2965/228/447 2967/227/447 2960/214/447 +f 2967/229/388 2968/221/388 2959/219/388 +f 2959/219/388 2960/220/388 2967/229/388 +f 2936/206/390 2969/223/390 2970/230/390 +f 2970/230/390 2937/205/390 2936/206/390 +f 2970/227/445 2964/228/445 2950/213/445 +f 2950/213/445 2937/214/445 2970/227/445 +f 2933/201/390 2971/202/390 2972/199/390 +f 2972/199/390 2934/200/390 2933/201/390 +f 2970/231/456 2949/233/456 2948/232/456 +f 2948/232/456 2964/224/456 2970/231/456 +f 2964/224/455 2948/232/455 2956/234/455 +f 2956/234/455 2966/225/455 2964/224/455 +f 2966/225/454 2956/234/454 2953/232/454 +f 2953/232/454 2965/224/454 2966/225/454 +f 2965/224/457 2953/232/457 2952/233/457 +f 2952/233/457 2967/231/457 2965/224/457 +f 2941/200/388 2973/199/388 2974/202/388 +f 2974/202/388 2942/201/388 2941/200/388 +f 2945/208/398 2954/236/398 2955/235/398 +f 2955/235/398 2946/207/398 2945/208/398 +f 2946/207/391 2955/235/391 2947/236/391 +f 2947/236/391 2962/208/391 2946/207/391 +f 2969/236/27 2931/238/27 2934/237/27 +f 2934/237/27 2970/231/27 2969/236/27 +f 2970/231/27 2934/237/27 2972/239/27 +f 2972/239/27 2949/233/27 2970/231/27 +f 2949/210/458 2972/241/458 2971/240/458 +f 2971/240/458 2947/209/458 2949/210/458 +f 2947/236/26 2971/238/26 2933/242/26 +f 2933/242/26 2962/208/26 2947/236/26 +f 2962/208/26 2933/242/26 2932/240/26 +f 2932/240/26 2961/209/26 2962/208/26 +f 2944/209/26 2939/240/26 2942/242/26 +f 2942/242/26 2945/208/26 2944/209/26 +f 2945/208/26 2942/242/26 2974/238/26 +f 2974/238/26 2954/236/26 2945/208/26 +f 2954/209/459 2974/240/459 2973/241/459 +f 2973/241/459 2952/210/459 2954/209/459 +f 2952/233/27 2973/239/27 2941/237/27 +f 2941/237/27 2967/231/27 2952/233/27 +f 2967/231/27 2941/237/27 2940/238/27 +f 2940/238/27 2968/236/27 2967/231/27 +f 2975/195/464 2976/198/464 2977/197/4 +f 2977/197/4 2978/196/4 2975/195/464 +f 2979/199/465 2980/202/465 2981/201/465 +f 2981/201/465 2982/200/465 2979/199/465 +f 2983/203/421 2984/206/421 2985/205/421 +f 2985/205/421 2986/204/421 2983/203/421 +f 2987/202/437 2988/199/437 2989/200/437 +f 2989/200/437 2990/201/437 2987/202/437 +f 2991/207/466 2992/209/466 2993/208/466 +f 2993/208/466 2994/207/466 2991/207/466 +f 2995/209/107 2996/211/107 2997/210/107 +f 2986/212/467 2985/214/467 2998/213/467 +f 2998/213/467 2999/196/467 2986/212/467 +f 3000/210/468 3001/211/468 3002/209/468 +f 3003/215/469 3002/209/469 3001/211/469 +f 3001/211/469 3004/216/469 3003/215/469 +f 3005/217/103 2978/196/103 2977/197/103 +f 2977/197/103 3006/218/103 3005/217/103 +f 3007/219/470 2983/203/414 2986/204/414 +f 2986/204/414 3008/220/414 3007/219/470 +f 3009/209/471 2991/207/471 2994/207/471 +f 2994/207/471 3010/208/471 3009/209/471 +f 2986/212/472 2999/196/472 3011/213/472 +f 3011/213/472 3008/214/472 2986/212/472 +f 3003/215/332 3004/216/332 2996/211/332 +f 2996/211/332 2995/209/332 3003/215/332 +f 3012/221/437 2976/221/437 2975/222/437 +f 2975/222/437 2998/222/437 3012/221/437 +f 2998/222/426 2975/222/426 2978/203/426 +f 2978/203/426 2999/203/426 2998/222/426 +f 2999/203/425 2978/203/425 3005/206/425 +f 3005/206/425 3011/206/425 2999/203/425 +f 3011/206/465 3005/206/465 3006/223/465 +f 3006/223/465 3013/223/465 3011/206/465 +f 3013/224/473 3006/224/473 2977/226/473 +f 2977/226/473 3014/225/473 3013/224/473 +f 3014/225/430 2977/226/430 2976/224/430 +f 2976/224/430 3012/224/430 3014/225/430 +f 3008/214/468 3011/213/468 3013/228/468 +f 3013/228/468 3015/227/468 3008/214/468 +f 3015/229/437 3016/221/437 3007/219/437 +f 3007/219/437 3008/220/437 3015/229/437 +f 2984/206/465 3017/223/465 3018/230/465 +f 3018/230/465 2985/205/465 2984/206/465 +f 3018/227/107 3012/228/107 2998/213/107 +f 2998/213/107 2985/214/107 3018/227/107 +f 2981/201/465 3019/202/465 3020/199/465 +f 3020/199/465 2982/200/465 2981/201/465 +f 3018/231/474 2997/233/474 2996/232/474 +f 2996/232/474 3012/224/474 3018/231/474 +f 3012/224/430 2996/232/430 3004/234/430 +f 3004/234/430 3014/225/430 3012/224/430 +f 3014/225/473 3004/234/473 3001/232/473 +f 3001/232/473 3013/224/473 3014/225/473 +f 3013/224/428 3001/232/428 3000/233/428 +f 3000/233/428 3015/231/428 3013/224/428 +f 2989/200/437 3021/199/437 3022/202/437 +f 3022/202/437 2990/201/437 2989/200/437 +f 2993/208/466 3002/236/466 3003/235/466 +f 3003/235/466 2994/207/466 2993/208/466 +f 2994/207/471 3003/235/471 2995/236/471 +f 2995/236/471 3010/208/471 2994/207/471 +f 3017/236/27 2979/238/27 2982/237/27 +f 2982/237/27 3018/231/27 3017/236/27 +f 3018/231/27 2982/237/27 3020/239/27 +f 3020/239/27 2997/233/27 3018/231/27 +f 2997/210/193 3020/241/193 3019/240/193 +f 3019/240/193 2995/209/193 2997/210/193 +f 2995/236/26 3019/238/26 2981/242/26 +f 2981/242/26 3010/208/26 2995/236/26 +f 3010/208/26 2981/242/26 2980/240/26 +f 2980/240/26 3009/209/26 3010/208/26 +f 2992/209/26 2987/240/26 2990/242/26 +f 2990/242/26 2993/208/26 2992/209/26 +f 2993/208/26 2990/242/26 3022/238/26 +f 3022/238/26 3002/236/26 2993/208/26 +f 3002/209/475 3022/240/475 3021/241/475 +f 3021/241/475 3000/210/475 3002/209/475 +f 3000/233/27 3021/239/27 2989/237/27 +f 2989/237/27 3015/231/27 3000/233/27 +f 3015/231/27 2989/237/27 2988/238/27 +f 2988/238/27 3016/236/27 3015/231/27 +f 3023/243/187 3024/246/187 3025/245/187 +f 3025/245/187 3026/244/187 3023/243/187 +f 3023/247/161 3027/250/161 3028/249/161 +f 3028/249/161 3024/248/161 3023/247/161 +f 3024/246/188 3028/252/189 3029/251/188 +f 3029/251/188 3025/245/188 3024/246/188 +f 3025/248/163 3029/249/163 3030/250/163 +f 3030/250/163 3026/247/163 3025/248/163 +f 3031/195/4 3032/198/4 3033/197/4 +f 3033/197/4 3034/196/4 3031/195/4 +f 3035/199/465 3036/202/465 3037/201/465 +f 3037/201/465 3038/200/465 3035/199/465 +f 3039/203/421 3040/206/421 3041/205/421 +f 3041/205/421 3042/204/421 3039/203/421 +f 3043/202/437 3044/199/437 3045/200/437 +f 3045/200/437 3046/201/437 3043/202/437 +f 3047/207/466 3048/209/466 3049/208/466 +f 3049/208/466 3050/207/466 3047/207/466 +f 3051/209/107 3052/211/107 3053/210/107 +f 3042/212/467 3041/214/467 3054/213/467 +f 3054/213/467 3055/196/467 3042/212/467 +f 3056/210/468 3057/211/468 3058/209/468 +f 3059/215/469 3058/209/469 3057/211/469 +f 3057/211/469 3060/216/469 3059/215/469 +f 3061/217/103 3034/196/103 3033/197/103 +f 3033/197/103 3062/218/103 3061/217/103 +f 3063/219/414 3039/203/414 3042/204/470 +f 3042/204/470 3064/220/414 3063/219/414 +f 3065/209/471 3047/207/471 3050/207/471 +f 3050/207/471 3066/208/471 3065/209/471 +f 3042/212/472 3055/196/472 3067/213/472 +f 3067/213/472 3064/214/472 3042/212/472 +f 3059/215/332 3060/216/332 3052/211/332 +f 3052/211/332 3051/209/332 3059/215/332 +f 3068/221/437 3032/221/437 3031/222/437 +f 3031/222/437 3054/222/437 3068/221/437 +f 3054/222/426 3031/222/426 3034/203/426 +f 3034/203/426 3055/203/426 3054/222/426 +f 3055/203/425 3034/203/425 3061/206/425 +f 3061/206/425 3067/206/425 3055/203/425 +f 3067/206/465 3061/206/465 3062/223/465 +f 3062/223/465 3069/223/465 3067/206/465 +f 3069/224/473 3062/224/473 3033/226/473 +f 3033/226/473 3070/225/473 3069/224/473 +f 3070/225/430 3033/226/430 3032/224/430 +f 3032/224/430 3068/224/430 3070/225/430 +f 3064/214/468 3067/213/468 3069/228/468 +f 3069/228/468 3071/227/468 3064/214/468 +f 3071/229/437 3072/221/437 3063/219/437 +f 3063/219/437 3064/220/437 3071/229/437 +f 3040/206/465 3073/223/465 3074/230/465 +f 3074/230/465 3041/205/465 3040/206/465 +f 3074/227/107 3068/228/107 3054/213/107 +f 3054/213/107 3041/214/107 3074/227/107 +f 3037/201/465 3075/202/465 3076/199/465 +f 3076/199/465 3038/200/465 3037/201/465 +f 3074/231/474 3053/233/474 3052/232/474 +f 3052/232/474 3068/224/474 3074/231/474 +f 3068/224/430 3052/232/430 3060/234/430 +f 3060/234/430 3070/225/430 3068/224/430 +f 3070/225/473 3060/234/473 3057/232/473 +f 3057/232/473 3069/224/473 3070/225/473 +f 3069/224/428 3057/232/428 3056/233/428 +f 3056/233/428 3071/231/428 3069/224/428 +f 3045/200/437 3077/199/437 3078/202/437 +f 3078/202/437 3046/201/437 3045/200/437 +f 3049/208/466 3058/236/466 3059/235/466 +f 3059/235/466 3050/207/466 3049/208/466 +f 3050/207/471 3059/235/471 3051/236/471 +f 3051/236/471 3066/208/471 3050/207/471 +f 3073/236/27 3035/238/27 3038/237/27 +f 3038/237/27 3074/231/27 3073/236/27 +f 3074/231/27 3038/237/27 3076/239/27 +f 3076/239/27 3053/233/27 3074/231/27 +f 3053/210/193 3076/241/193 3075/240/193 +f 3075/240/193 3051/209/193 3053/210/193 +f 3051/236/26 3075/238/26 3037/242/26 +f 3037/242/26 3066/208/26 3051/236/26 +f 3066/208/26 3037/242/26 3036/240/26 +f 3036/240/26 3065/209/26 3066/208/26 +f 3048/209/26 3043/240/26 3046/242/26 +f 3046/242/26 3049/208/26 3048/209/26 +f 3049/208/26 3046/242/26 3078/238/26 +f 3078/238/26 3058/236/26 3049/208/26 +f 3058/209/475 3078/240/475 3077/241/475 +f 3077/241/475 3056/210/475 3058/209/475 +f 3056/233/27 3077/239/27 3045/237/27 +f 3045/237/27 3071/231/27 3056/233/27 +f 3071/231/27 3045/237/27 3044/238/27 +f 3044/238/27 3072/236/27 3071/231/27 +f 3079/243/476 3080/246/476 3081/245/476 +f 3081/245/476 3082/244/476 3079/243/476 +f 3079/247/477 3083/250/477 3084/249/477 +f 3084/249/477 3080/248/477 3079/247/477 +f 3080/246/478 3084/252/478 3085/251/478 +f 3085/251/478 3081/245/478 3080/246/478 +f 3081/248/479 3085/249/479 3086/250/479 +f 3086/250/479 3082/247/479 3081/248/479 +f 3087/195/387 3088/198/387 3089/197/387 +f 3089/197/387 3090/196/387 3087/195/387 +f 3091/199/388 3092/202/388 3093/201/388 +f 3093/201/388 3094/200/388 3091/199/388 +f 3095/203/389 3096/206/389 3097/205/389 +f 3097/205/389 3098/204/389 3095/203/389 +f 3099/202/390 3100/199/390 3101/200/390 +f 3101/200/390 3102/201/390 3099/202/390 +f 3103/207/391 3104/209/391 3105/208/391 +f 3105/208/391 3106/207/391 3103/207/391 +f 3107/209/392 3108/211/392 3109/210/392 +f 3098/212/393 3097/214/393 3110/213/393 +f 3110/213/393 3111/196/393 3098/212/393 +f 3112/210/394 3113/211/394 3114/209/394 +f 3115/215/395 3114/209/395 3113/211/395 +f 3113/211/395 3116/216/395 3115/215/395 +f 3117/217/396 3090/196/396 3089/197/396 +f 3089/197/396 3118/218/396 3117/217/396 +f 3119/219/397 3095/203/397 3098/204/397 +f 3098/204/397 3120/220/397 3119/219/397 +f 3121/209/398 3103/207/398 3106/207/398 +f 3106/207/398 3122/208/398 3121/209/398 +f 3098/212/399 3111/196/399 3123/213/399 +f 3123/213/399 3120/214/399 3098/212/399 +f 3115/215/400 3116/216/400 3108/211/400 +f 3108/211/400 3107/209/400 3115/215/400 +f 3124/221/390 3088/221/390 3087/222/390 +f 3087/222/390 3110/222/390 3124/221/390 +f 3110/222/401 3087/222/401 3090/203/401 +f 3090/203/401 3111/203/401 3110/222/401 +f 3111/203/402 3090/203/402 3117/206/402 +f 3117/206/402 3123/206/402 3111/203/402 +f 3123/206/388 3117/206/388 3118/223/388 +f 3118/223/388 3125/223/388 3123/206/388 +f 3125/224/403 3118/224/403 3089/226/403 +f 3089/226/403 3126/225/403 3125/224/403 +f 3126/225/404 3089/226/404 3088/224/404 +f 3088/224/404 3124/224/404 3126/225/404 +f 3120/214/394 3123/213/394 3125/228/394 +f 3125/228/394 3127/227/394 3120/214/394 +f 3127/229/390 3128/221/390 3119/219/390 +f 3119/219/390 3120/220/390 3127/229/390 +f 3096/206/388 3129/223/388 3130/230/388 +f 3130/230/388 3097/205/388 3096/206/388 +f 3130/227/392 3124/228/392 3110/213/392 +f 3110/213/392 3097/214/392 3130/227/392 +f 3093/201/388 3131/202/388 3132/199/388 +f 3132/199/388 3094/200/388 3093/201/388 +f 3130/231/405 3109/233/405 3108/232/405 +f 3108/232/405 3124/224/405 3130/231/405 +f 3124/224/404 3108/232/404 3116/234/404 +f 3116/234/404 3126/225/404 3124/224/404 +f 3126/225/403 3116/234/403 3113/232/403 +f 3113/232/403 3125/224/403 3126/225/403 +f 3125/224/407 3113/232/407 3112/233/407 +f 3112/233/407 3127/231/407 3125/224/407 +f 3101/200/390 3133/199/390 3134/202/390 +f 3134/202/390 3102/201/390 3101/200/390 +f 3105/208/391 3114/236/391 3115/235/391 +f 3115/235/391 3106/207/391 3105/208/391 +f 3106/207/398 3115/235/398 3107/236/398 +f 3107/236/398 3122/208/398 3106/207/398 +f 3129/236/27 3091/238/27 3094/237/27 +f 3094/237/27 3130/231/27 3129/236/27 +f 3130/231/27 3094/237/27 3132/239/27 +f 3132/239/27 3109/233/27 3130/231/27 +f 3109/210/409 3132/241/409 3131/240/409 +f 3131/240/409 3107/209/409 3109/210/409 +f 3107/236/26 3131/238/26 3093/242/26 +f 3093/242/26 3122/208/26 3107/236/26 +f 3122/208/26 3093/242/26 3092/240/26 +f 3092/240/26 3121/209/26 3122/208/26 +f 3104/209/26 3099/240/26 3102/242/26 +f 3102/242/26 3105/208/26 3104/209/26 +f 3105/208/26 3102/242/26 3134/238/26 +f 3134/238/26 3114/236/26 3105/208/26 +f 3114/209/410 3134/240/410 3133/241/410 +f 3133/241/410 3112/210/410 3114/209/410 +f 3112/233/27 3133/239/27 3101/237/27 +f 3101/237/27 3127/231/27 3112/233/27 +f 3127/231/27 3101/237/27 3100/238/27 +f 3100/238/27 3128/236/27 3127/231/27 +f 3135/243/180 3136/246/180 3137/245/180 +f 3137/245/180 3138/244/180 3135/243/180 +f 3135/247/151 3139/250/151 3140/249/151 +f 3140/249/151 3136/248/151 3135/247/151 +f 3136/246/181 3140/252/181 3141/251/182 +f 3141/251/182 3137/245/181 3136/246/181 +f 3137/248/153 3141/249/153 3142/250/153 +f 3142/250/153 3138/247/153 3137/248/153 +f 3143/253/24 3144/256/24 3145/255/24 +f 3145/255/24 3146/254/24 3143/253/24 +f 3147/257/23 3148/258/23 3144/256/23 +f 3144/256/23 3143/253/23 3147/257/23 +f 3149/259/191 3150/260/22 3148/258/191 +f 3148/258/191 3147/257/191 3149/259/191 +f 3151/261/21 3152/264/21 3150/263/21 +f 3150/263/21 3149/262/21 3151/261/21 +f 3153/265/20 3154/266/20 3152/264/20 +f 3152/264/20 3151/261/20 3153/265/20 +f 3155/267/19 3156/268/19 3154/266/19 +f 3154/266/19 3153/265/19 3155/267/19 +f 3157/269/194 3158/270/194 3156/268/18 +f 3156/268/18 3155/267/18 3157/269/194 +f 3159/271/17 3160/272/17 3158/270/17 +f 3158/270/17 3157/269/17 3159/271/17 +f 3161/273/16 3162/274/16 3160/272/16 +f 3160/272/16 3159/271/16 3161/273/16 +f 3163/275/118 3164/276/118 3162/274/15 +f 3162/274/15 3161/273/118 3163/275/118 +f 3165/277/14 3166/278/14 3164/276/14 +f 3164/276/14 3163/275/14 3165/277/14 +f 3146/254/13 3145/255/13 3166/278/192 +f 3166/278/192 3165/277/192 3146/254/13 +f 3144/279/27 3167/282/27 3168/281/27 +f 3168/281/27 3145/280/27 3144/279/27 +f 3169/283/27 3170/284/27 3171/282/27 +f 3171/282/27 3172/279/27 3169/283/27 +f 3150/285/27 3173/285/27 3174/284/27 +f 3174/284/27 3148/283/27 3150/285/27 +f 3175/286/27 3176/287/27 3177/285/27 +f 3177/285/27 3178/285/27 3175/286/27 +f 3154/288/27 3179/289/27 3180/287/27 +f 3180/287/27 3152/286/27 3154/288/27 +f 3181/290/27 3182/291/27 3183/289/27 +f 3183/289/27 3184/288/27 3181/290/27 +f 3158/292/27 3185/293/27 3186/291/27 +f 3186/291/27 3156/290/27 3158/292/27 +f 3187/294/27 3188/295/27 3189/293/27 +f 3189/293/27 3190/292/27 3187/294/27 +f 3162/296/27 3191/297/27 3192/295/27 +f 3192/295/27 3160/294/27 3162/296/27 +f 3193/298/27 3194/299/27 3195/297/27 +f 3195/297/27 3196/296/27 3193/298/27 +f 3166/300/27 3197/300/27 3198/299/27 +f 3198/299/27 3164/298/27 3166/300/27 +f 3199/280/27 3200/281/27 3201/300/27 +f 3201/300/27 3202/300/27 3199/280/27 +f 3167/301/18 3203/304/18 3204/303/18 +f 3204/303/18 3168/302/18 3167/301/18 +f 3174/305/17 3205/306/17 3203/304/17 +f 3203/304/17 3167/301/17 3174/305/17 +f 3173/307/16 3206/308/16 3205/306/16 +f 3205/306/16 3174/305/16 3173/307/16 +f 3180/309/15 3207/310/15 3206/308/15 +f 3206/308/15 3173/307/15 3180/309/15 +f 3179/311/14 3208/312/14 3207/310/14 +f 3207/310/14 3180/309/14 3179/311/14 +f 3186/313/13 3209/314/13 3208/312/13 +f 3208/312/13 3179/311/13 3186/313/13 +f 3185/315/25 3210/316/25 3209/314/24 +f 3209/314/24 3186/313/24 3185/315/25 +f 3192/317/23 3211/318/23 3210/316/23 +f 3210/316/23 3185/315/23 3192/317/23 +f 3191/319/22 3212/320/22 3211/318/22 +f 3211/318/22 3192/317/22 3191/319/22 +f 3198/321/21 3213/324/21 3212/323/178 +f 3212/323/178 3191/322/21 3198/321/21 +f 3197/325/20 3214/326/20 3213/324/20 +f 3213/324/20 3198/321/20 3197/325/20 +f 3168/302/19 3204/303/19 3214/326/190 +f 3214/326/190 3197/325/190 3168/302/19 +f 3203/327/27 3215/329/27 3204/328/27 +f 3205/330/27 3215/329/27 3203/327/27 +f 3206/331/27 3215/329/27 3205/330/27 +f 3207/332/27 3215/329/27 3206/331/27 +f 3208/333/27 3215/329/27 3207/332/27 +f 3209/334/27 3215/329/27 3208/333/27 +f 3210/335/27 3215/329/27 3209/334/27 +f 3211/336/27 3215/329/27 3210/335/27 +f 3212/337/27 3215/329/27 3211/336/27 +f 3213/338/27 3215/329/27 3212/337/27 +f 3214/339/27 3215/329/27 3213/338/27 +f 3204/328/27 3215/329/27 3214/339/27 +f 3148/258/23 3169/341/23 3172/340/23 +f 3172/340/23 3144/256/23 3148/258/23 +f 3144/279/153 3172/279/153 3171/282/153 +f 3171/282/153 3167/282/153 3144/279/153 +f 3167/301/17 3171/343/17 3170/342/17 +f 3170/342/17 3174/305/17 3167/301/17 +f 3174/284/196 3170/284/196 3169/283/196 +f 3169/283/196 3148/283/196 3174/284/196 +f 3152/264/21 3175/345/21 3178/344/178 +f 3178/344/178 3150/263/21 3152/264/21 +f 3150/285/1 3178/285/1 3177/285/1 +f 3177/285/1 3173/285/1 3150/285/1 +f 3173/307/15 3177/347/15 3176/346/15 +f 3176/346/15 3180/309/15 3173/307/15 +f 3180/287/195 3176/287/195 3175/286/195 +f 3175/286/195 3152/286/195 3180/287/195 +f 3156/268/19 3181/349/19 3184/348/19 +f 3184/348/19 3154/266/19 3156/268/19 +f 3154/288/161 3184/288/161 3183/289/161 +f 3183/289/161 3179/289/161 3154/288/161 +f 3179/311/13 3183/351/13 3182/350/13 +f 3182/350/13 3186/313/13 3179/311/13 +f 3186/291/4 3182/291/4 3181/290/4 +f 3181/290/4 3156/290/4 3186/291/4 +f 3160/272/17 3187/353/17 3190/352/17 +f 3190/352/17 3158/270/17 3160/272/17 +f 3158/292/151 3190/292/151 3189/293/151 +f 3189/293/151 3185/293/151 3158/292/151 +f 3185/315/23 3189/355/23 3188/354/23 +f 3188/354/23 3192/317/23 3185/315/23 +f 3192/295/198 3188/295/198 3187/294/198 +f 3187/294/198 3160/294/198 3192/295/198 +f 3164/276/118 3193/357/15 3196/356/15 +f 3196/356/15 3162/274/15 3164/276/118 +f 3162/296/7 3196/296/7 3195/297/7 +f 3195/297/7 3191/297/7 3162/296/7 +f 3191/322/21 3195/359/21 3194/358/21 +f 3194/358/21 3198/321/21 3191/322/21 +f 3198/299/197 3194/299/197 3193/298/197 +f 3193/298/197 3164/298/197 3198/299/197 +f 3145/255/13 3199/361/13 3202/360/13 +f 3202/360/13 3166/278/192 3145/255/13 +f 3166/300/163 3202/300/163 3201/300/163 +f 3201/300/163 3197/300/163 3166/300/163 +f 3197/325/190 3201/363/190 3200/362/19 +f 3200/362/19 3168/302/19 3197/325/190 +f 3168/281/10 3200/281/10 3199/280/10 +f 3199/280/10 3145/280/10 3168/281/10 +f 3216/1/7 3217/2/8 3218/3/8 +f 3218/3/8 3219/4/7 3216/1/7 +f 3217/2/8 3220/5/9 3221/6/9 +f 3221/6/9 3218/3/8 3217/2/8 +f 3220/5/9 3222/7/10 3223/8/10 +f 3223/8/10 3221/6/9 3220/5/9 +f 3222/9/10 3224/10/11 3225/11/11 +f 3225/11/11 3223/12/10 3222/9/10 +f 3224/10/11 3226/13/12 3227/14/12 +f 3227/14/12 3225/11/11 3224/10/11 +f 3226/13/12 3228/15/1 3229/16/1 +f 3229/16/1 3227/14/12 3226/13/12 +f 3228/15/1 3230/17/2 3231/18/2 +f 3231/18/2 3229/16/1 3228/15/1 +f 3230/17/2 3232/19/3 3233/20/3 +f 3233/20/3 3231/18/2 3230/17/2 +f 3232/19/3 3234/21/4 3235/22/4 +f 3235/22/4 3233/20/3 3232/19/3 +f 3234/21/4 3236/23/5 3237/24/5 +f 3237/24/5 3235/22/4 3234/21/4 +f 3236/23/5 3238/25/6 3239/26/6 +f 3239/26/6 3237/24/5 3236/23/5 +f 3238/25/6 3216/1/7 3219/4/7 +f 3219/4/7 3239/26/6 3238/25/6 +f 3240/27/19 3241/28/19 3242/29/19 +f 3242/29/19 3243/30/19 3240/27/19 +f 3244/31/20 3240/27/20 3243/30/20 +f 3243/30/20 3245/32/20 3244/31/20 +f 3246/33/21 3244/31/21 3245/32/21 +f 3245/32/21 3247/34/21 3246/33/21 +f 3248/35/22 3246/36/22 3247/37/22 +f 3247/37/22 3249/38/22 3248/35/22 +f 3250/39/23 3248/35/23 3249/38/23 +f 3249/38/23 3251/40/23 3250/39/23 +f 3252/41/24 3250/39/24 3251/40/24 +f 3251/40/24 3253/42/24 3252/41/24 +f 3254/43/13 3252/41/13 3253/42/13 +f 3253/42/13 3255/44/13 3254/43/13 +f 3256/45/14 3254/43/14 3255/44/14 +f 3255/44/14 3257/46/14 3256/45/14 +f 3258/47/15 3256/45/15 3257/46/15 +f 3257/46/15 3259/48/15 3258/47/15 +f 3260/49/16 3258/47/16 3259/48/16 +f 3259/48/16 3261/50/16 3260/49/16 +f 3262/51/17 3260/49/17 3261/50/17 +f 3261/50/17 3263/52/17 3262/51/17 +f 3241/28/18 3262/51/194 3263/52/18 +f 3263/52/18 3242/29/18 3241/28/18 +f 3217/53/26 3216/54/26 3241/54/26 +f 3241/54/26 3240/53/26 3217/53/26 +f 3216/54/26 3238/55/26 3262/55/26 +f 3262/55/26 3241/54/26 3216/54/26 +f 3238/55/26 3236/56/26 3260/56/26 +f 3260/56/26 3262/55/26 3238/55/26 +f 3236/56/26 3234/57/26 3258/57/26 +f 3258/57/26 3260/56/26 3236/56/26 +f 3234/57/26 3232/58/26 3256/59/26 +f 3256/59/26 3258/57/26 3234/57/26 +f 3232/58/26 3230/60/26 3254/61/26 +f 3254/61/26 3256/59/26 3232/58/26 +f 3230/60/26 3228/62/26 3252/62/26 +f 3252/62/26 3254/61/26 3230/60/26 +f 3228/62/26 3226/63/26 3250/64/26 +f 3250/64/26 3252/62/26 3228/62/26 +f 3226/63/26 3224/65/26 3248/66/26 +f 3248/66/26 3250/64/26 3226/63/26 +f 3224/65/26 3222/67/26 3246/67/26 +f 3246/67/26 3248/66/26 3224/65/26 +f 3222/67/26 3220/68/26 3244/68/26 +f 3244/68/26 3246/67/26 3222/67/26 +f 3220/68/26 3217/53/26 3240/53/26 +f 3240/53/26 3244/68/26 3220/68/26 +f 3264/54/27 3265/53/27 3243/53/27 +f 3243/53/27 3242/54/27 3264/54/27 +f 3265/53/27 3266/68/27 3245/68/27 +f 3245/68/27 3243/53/27 3265/53/27 +f 3266/68/27 3267/67/27 3247/67/27 +f 3247/67/27 3245/68/27 3266/68/27 +f 3267/67/27 3268/65/27 3249/66/27 +f 3249/66/27 3247/67/27 3267/67/27 +f 3268/65/27 3269/63/27 3251/64/27 +f 3251/64/27 3249/66/27 3268/65/27 +f 3269/63/27 3270/62/27 3253/62/27 +f 3253/62/27 3251/64/27 3269/63/27 +f 3270/62/27 3271/60/27 3255/61/27 +f 3255/61/27 3253/62/27 3270/62/27 +f 3271/60/27 3272/58/27 3257/59/27 +f 3257/59/27 3255/61/27 3271/60/27 +f 3272/58/27 3273/57/27 3259/57/27 +f 3259/57/27 3257/59/27 3272/58/27 +f 3273/57/27 3274/56/27 3261/56/27 +f 3261/56/27 3259/57/27 3273/57/27 +f 3274/56/27 3275/55/27 3263/55/27 +f 3263/55/27 3261/56/27 3274/56/27 +f 3275/55/27 3264/54/27 3242/54/27 +f 3242/54/27 3263/55/27 3275/55/27 +f 3264/69/7 3276/70/7 3277/71/8 +f 3277/71/8 3265/72/8 3264/69/7 +f 3265/72/8 3277/71/8 3278/73/20 +f 3278/73/20 3266/74/20 3265/72/8 +f 3266/74/21 3278/73/21 3279/75/21 +f 3279/75/21 3267/76/21 3266/74/21 +f 3267/76/22 3279/75/22 3280/77/11 +f 3280/77/11 3268/78/11 3267/76/22 +f 3268/78/11 3280/77/11 3281/79/12 +f 3281/79/12 3269/80/12 3268/78/11 +f 3269/81/12 3281/82/12 3282/83/1 +f 3282/83/1 3270/84/1 3269/81/12 +f 3270/84/1 3282/83/1 3283/85/2 +f 3283/85/2 3271/86/2 3270/84/1 +f 3271/86/2 3283/85/2 3284/87/3 +f 3284/87/3 3272/88/3 3271/86/2 +f 3272/88/3 3284/87/3 3285/89/4 +f 3285/89/4 3273/90/4 3272/88/3 +f 3273/90/4 3285/89/4 3286/91/5 +f 3286/91/5 3274/92/5 3273/90/4 +f 3274/92/5 3286/91/5 3287/93/6 +f 3287/93/6 3275/94/6 3274/92/5 +f 3275/94/6 3287/93/6 3276/70/7 +f 3276/70/7 3264/69/7 3275/94/6 +f 3288/95/26 3289/96/26 3290/96/26 +f 3290/96/26 3291/95/26 3288/95/26 +f 3292/97/26 3288/95/26 3291/95/26 +f 3291/95/26 3293/97/26 3292/97/26 +f 3294/67/26 3292/97/26 3293/97/26 +f 3293/97/26 3295/98/26 3294/67/26 +f 3296/99/26 3294/67/26 3295/98/26 +f 3295/98/26 3297/99/26 3296/99/26 +f 3298/100/26 3296/99/26 3297/99/26 +f 3297/99/26 3299/100/26 3298/100/26 +f 3300/101/26 3298/100/26 3299/100/26 +f 3299/100/26 3301/101/26 3300/101/26 +f 3302/61/26 3300/101/26 3301/101/26 +f 3301/101/26 3303/61/26 3302/61/26 +f 3304/59/26 3302/61/26 3303/61/26 +f 3303/61/26 3305/102/26 3304/59/26 +f 3306/103/26 3304/59/26 3305/102/26 +f 3305/102/26 3307/103/26 3306/103/26 +f 3308/104/26 3306/103/26 3307/103/26 +f 3307/103/26 3309/105/26 3308/104/26 +f 3310/106/26 3308/104/26 3309/105/26 +f 3309/105/26 3311/106/26 3310/106/26 +f 3289/96/26 3310/106/26 3311/106/26 +f 3311/106/26 3290/96/26 3289/96/26 +f 3291/107/34 3290/108/34 3312/109/34 +f 3312/109/34 3313/110/34 3291/107/34 +f 3293/111/35 3291/107/35 3313/110/35 +f 3313/110/35 3314/112/35 3293/111/35 +f 3295/113/36 3293/111/36 3314/112/36 +f 3314/112/36 3315/114/36 3295/113/36 +f 3297/115/37 3295/113/37 3315/114/37 +f 3315/114/37 3316/116/37 3297/115/37 +f 3299/117/38 3297/115/38 3316/116/38 +f 3316/116/38 3317/118/38 3299/117/38 +f 3301/119/39 3299/117/39 3317/118/39 +f 3317/118/39 3318/120/39 3301/119/39 +f 3303/121/28 3301/119/28 3318/120/28 +f 3318/120/28 3319/122/28 3303/121/28 +f 3305/123/29 3303/121/29 3319/122/29 +f 3319/122/29 3320/124/29 3305/123/29 +f 3307/125/30 3305/123/30 3320/124/30 +f 3320/124/30 3321/126/30 3307/125/30 +f 3309/127/31 3307/128/31 3321/129/31 +f 3321/129/31 3322/130/31 3309/127/31 +f 3311/131/32 3309/127/32 3322/130/32 +f 3322/130/32 3323/132/32 3311/131/32 +f 3290/108/33 3311/131/33 3323/132/33 +f 3323/132/33 3312/109/33 3290/108/33 +f 3313/110/48 3312/109/48 3324/133/48 +f 3324/133/48 3325/134/48 3313/110/48 +f 3314/112/49 3313/110/49 3325/134/49 +f 3325/134/49 3326/135/49 3314/112/49 +f 3315/114/50 3314/112/50 3326/135/50 +f 3326/135/50 3327/136/50 3315/114/50 +f 3316/116/51 3315/114/51 3327/136/52 +f 3327/136/52 3328/137/51 3316/116/51 +f 3317/118/53 3316/116/53 3328/137/53 +f 3328/137/53 3329/138/53 3317/118/53 +f 3318/120/54 3317/118/54 3329/138/54 +f 3329/138/54 3330/139/54 3318/120/54 +f 3319/122/386 3318/120/40 3330/139/40 +f 3330/139/40 3331/140/40 3319/122/386 +f 3320/124/41 3319/122/41 3331/140/41 +f 3331/140/41 3332/141/41 3320/124/41 +f 3321/126/42 3320/124/42 3332/141/42 +f 3332/141/42 3333/142/43 3321/126/42 +f 3322/130/44 3321/129/44 3333/143/44 +f 3333/143/44 3334/144/44 3322/130/44 +f 3323/132/45 3322/130/45 3334/144/45 +f 3334/144/45 3335/145/45 3323/132/45 +f 3312/109/46 3323/132/385 3335/145/46 +f 3335/145/46 3324/133/46 3312/109/46 +f 3336/146/64 3337/147/64 3277/148/64 +f 3277/148/64 3276/149/64 3336/146/64 +f 3337/147/66 3338/150/66 3278/151/65 +f 3278/151/65 3277/148/65 3337/147/66 +f 3338/152/67 3339/153/67 3279/154/67 +f 3279/154/67 3278/155/67 3338/152/67 +f 3339/153/68 3340/142/68 3280/156/68 +f 3280/156/68 3279/154/68 3339/153/68 +f 3340/142/70 3341/157/70 3281/158/69 +f 3281/158/69 3280/156/69 3340/142/70 +f 3341/157/71 3342/159/71 3282/160/71 +f 3282/160/71 3281/158/71 3341/157/71 +f 3342/159/56 3343/161/56 3283/162/56 +f 3283/162/56 3282/160/56 3342/159/56 +f 3343/161/57 3344/163/57 3284/164/58 +f 3284/164/58 3283/162/58 3343/161/57 +f 3344/163/59 3345/165/59 3285/166/59 +f 3285/166/59 3284/164/59 3344/163/59 +f 3345/165/60 3346/167/60 3286/168/60 +f 3286/168/60 3285/166/60 3345/165/60 +f 3346/167/61 3347/169/61 3287/170/61 +f 3287/170/61 3286/168/62 3346/167/61 +f 3347/169/63 3336/146/63 3276/149/63 +f 3276/149/63 3287/170/63 3347/169/63 +f 3289/171/7 3288/172/8 3337/173/8 +f 3337/173/8 3336/174/7 3289/171/7 +f 3288/172/8 3292/175/9 3338/176/9 +f 3338/176/9 3337/173/8 3288/172/8 +f 3292/177/9 3294/178/10 3339/179/10 +f 3339/179/10 3338/180/9 3292/177/9 +f 3294/178/10 3296/86/11 3340/181/11 +f 3340/181/11 3339/179/10 3294/178/10 +f 3296/86/11 3298/182/12 3341/183/12 +f 3341/183/12 3340/181/11 3296/86/11 +f 3298/182/12 3300/184/1 3342/185/1 +f 3342/185/1 3341/183/12 3298/182/12 +f 3300/184/1 3302/186/2 3343/187/2 +f 3343/187/2 3342/185/1 3300/184/1 +f 3302/186/2 3304/188/3 3344/189/3 +f 3344/189/3 3343/187/2 3302/186/2 +f 3304/188/3 3306/190/4 3345/191/4 +f 3345/191/4 3344/189/3 3304/188/3 +f 3306/190/4 3308/76/5 3346/192/5 +f 3346/192/5 3345/191/4 3306/190/4 +f 3308/76/5 3310/193/6 3347/194/6 +f 3347/194/6 3346/192/5 3308/76/5 +f 3310/193/6 3289/171/7 3336/174/7 +f 3336/174/7 3347/194/6 3310/193/6 +f 3348/195/131 3349/196/131 3350/197/131 +f 3350/197/131 3351/198/131 3348/195/131 +f 3352/199/75 3353/200/75 3354/201/75 +f 3354/201/75 3355/202/75 3352/199/75 +f 3356/203/132 3357/204/132 3358/205/132 +f 3358/205/132 3359/206/132 3356/203/132 +f 3360/202/73 3361/201/73 3362/200/73 +f 3362/200/73 3363/199/73 3360/202/73 +f 3364/207/83 3365/207/83 3366/208/83 +f 3366/208/83 3367/209/83 3364/207/83 +f 3368/209/133 3369/210/133 3370/211/133 +f 3357/212/134 3371/196/134 3372/213/134 +f 3372/213/134 3358/214/134 3357/212/134 +f 3373/210/135 3374/209/135 3375/211/135 +f 3376/215/136 3377/216/136 3375/211/136 +f 3375/211/136 3374/209/136 3376/215/136 +f 3378/217/137 3379/218/137 3350/197/137 +f 3350/197/137 3349/196/137 3378/217/137 +f 3380/219/139 3381/220/139 3357/204/139 +f 3357/204/139 3356/203/139 3380/219/139 +f 3382/209/76 3383/208/76 3365/207/76 +f 3365/207/76 3364/207/76 3382/209/76 +f 3357/212/140 3381/214/140 3384/213/140 +f 3384/213/140 3371/196/140 3357/212/140 +f 3376/215/141 3368/209/141 3370/211/141 +f 3370/211/141 3377/216/141 3376/215/141 +f 3385/221/73 3372/222/73 3348/222/73 +f 3348/222/73 3351/221/73 3385/221/73 +f 3372/222/87 3371/203/87 3349/203/87 +f 3349/203/87 3348/222/87 3372/222/87 +f 3371/203/86 3384/206/86 3378/206/86 +f 3378/206/86 3349/203/86 3371/203/86 +f 3384/206/75 3386/223/75 3379/223/75 +f 3379/223/75 3378/206/75 3384/206/75 +f 3386/224/142 3387/225/142 3350/226/142 +f 3350/226/142 3379/224/142 3386/224/142 +f 3387/225/143 3385/224/143 3351/224/143 +f 3351/224/143 3350/226/143 3387/225/143 +f 3381/214/135 3388/227/135 3386/228/135 +f 3386/228/135 3384/213/135 3381/214/135 +f 3388/229/73 3381/220/73 3380/219/73 +f 3380/219/73 3389/221/73 3388/229/73 +f 3359/206/75 3358/205/75 3390/230/75 +f 3390/230/75 3391/223/75 3359/206/75 +f 3390/227/133 3358/214/133 3372/213/133 +f 3372/213/133 3385/228/133 3390/227/133 +f 3354/201/75 3353/200/75 3392/199/75 +f 3392/199/75 3393/202/75 3354/201/75 +f 3390/231/144 3385/224/144 3370/232/144 +f 3370/232/144 3369/233/144 3390/231/144 +f 3385/224/143 3387/225/143 3377/234/143 +f 3377/234/143 3370/232/143 3385/224/143 +f 3387/225/142 3386/224/142 3375/232/142 +f 3375/232/142 3377/234/142 3387/225/142 +f 3386/224/145 3388/231/145 3373/233/145 +f 3373/233/145 3375/232/145 3386/224/145 +f 3362/200/73 3361/201/73 3394/202/73 +f 3394/202/73 3395/199/73 3362/200/73 +f 3366/208/83 3365/207/83 3376/235/83 +f 3376/235/83 3374/236/83 3366/208/83 +f 3365/207/76 3383/208/76 3368/236/76 +f 3368/236/76 3376/235/76 3365/207/76 +f 3391/236/27 3390/231/27 3353/237/27 +f 3353/237/27 3352/238/27 3391/236/27 +f 3390/231/27 3369/233/27 3392/239/27 +f 3392/239/27 3353/237/27 3390/231/27 +f 3369/210/480 3368/209/480 3393/240/480 +f 3393/240/480 3392/241/480 3369/210/480 +f 3368/236/26 3383/208/26 3354/242/26 +f 3354/242/26 3393/238/26 3368/236/26 +f 3383/208/26 3382/209/26 3355/240/26 +f 3355/240/26 3354/242/26 3383/208/26 +f 3367/209/26 3366/208/26 3361/242/26 +f 3361/242/26 3360/240/26 3367/209/26 +f 3366/208/26 3374/236/26 3394/238/26 +f 3394/238/26 3361/242/26 3366/208/26 +f 3374/209/147 3373/210/147 3395/241/147 +f 3395/241/147 3394/240/147 3374/209/147 +f 3373/233/27 3388/231/27 3362/237/27 +f 3362/237/27 3395/239/27 3373/233/27 +f 3388/231/27 3389/236/27 3363/238/27 +f 3363/238/27 3362/237/27 3388/231/27 +f 3396/195/10 3397/196/10 3398/197/10 +f 3398/197/10 3399/198/10 3396/195/10 +f 3400/199/101 3401/200/100 3402/201/100 +f 3402/201/100 3403/202/101 3400/199/101 +f 3404/203/108 3405/204/108 3406/205/108 +f 3406/205/108 3407/206/108 3404/203/108 +f 3408/202/98 3409/201/97 3410/200/97 +f 3410/200/97 3411/199/98 3408/202/98 +f 3412/207/166 3413/207/166 3414/208/166 +f 3414/208/166 3415/209/166 3412/207/166 +f 3416/209/167 3417/210/167 3418/211/167 +f 3405/212/168 3419/196/168 3420/213/168 +f 3420/213/168 3406/214/168 3405/212/168 +f 3421/210/169 3422/209/169 3423/211/169 +f 3424/215/170 3425/216/170 3423/211/170 +f 3423/211/170 3422/209/170 3424/215/170 +f 3426/217/171 3427/218/171 3398/197/171 +f 3398/197/171 3397/196/171 3426/217/171 +f 3428/219/99 3429/220/99 3405/204/99 +f 3405/204/99 3404/203/99 3428/219/99 +f 3430/209/173 3431/208/173 3413/207/173 +f 3413/207/173 3412/207/173 3430/209/173 +f 3405/212/174 3429/214/174 3432/213/174 +f 3432/213/174 3419/196/174 3405/212/174 +f 3424/215/175 3416/209/175 3418/211/175 +f 3418/211/175 3425/216/175 3424/215/175 +f 3433/221/98 3420/222/98 3396/222/97 +f 3396/222/97 3399/221/97 3433/221/98 +f 3420/222/113 3419/203/113 3397/203/113 +f 3397/203/113 3396/222/113 3420/222/113 +f 3419/203/112 3432/206/112 3426/206/112 +f 3426/206/112 3397/203/112 3419/203/112 +f 3432/206/100 3434/223/100 3427/223/100 +f 3427/223/100 3426/206/100 3432/206/100 +f 3434/224/176 3435/225/176 3398/226/176 +f 3398/226/176 3427/224/176 3434/224/176 +f 3435/225/117 3433/224/117 3399/224/117 +f 3399/224/117 3398/226/117 3435/225/117 +f 3429/214/169 3436/227/169 3434/228/169 +f 3434/228/169 3432/213/169 3429/214/169 +f 3436/229/98 3429/220/98 3428/219/98 +f 3428/219/98 3437/221/98 3436/229/98 +f 3407/206/100 3406/205/100 3438/230/100 +f 3438/230/100 3439/223/100 3407/206/100 +f 3438/227/167 3406/214/167 3420/213/167 +f 3420/213/167 3433/228/167 3438/227/167 +f 3402/201/100 3401/200/100 3440/199/101 +f 3440/199/101 3441/202/101 3402/201/100 +f 3438/231/481 3433/224/481 3418/232/481 +f 3418/232/481 3417/233/481 3438/231/481 +f 3433/224/117 3435/225/117 3425/234/117 +f 3425/234/117 3418/232/117 3433/224/117 +f 3435/225/176 3434/224/176 3423/232/176 +f 3423/232/176 3425/234/176 3435/225/176 +f 3434/224/115 3436/231/115 3421/233/115 +f 3421/233/115 3423/232/115 3434/224/115 +f 3410/200/97 3409/201/97 3442/202/98 +f 3442/202/98 3443/199/98 3410/200/97 +f 3414/208/166 3413/207/166 3424/235/166 +f 3424/235/166 3422/236/166 3414/208/166 +f 3413/207/173 3431/208/173 3416/236/173 +f 3416/236/173 3424/235/173 3413/207/173 +f 3439/236/27 3438/231/27 3401/237/27 +f 3401/237/27 3400/238/27 3439/236/27 +f 3438/231/27 3417/233/27 3440/239/27 +f 3440/239/27 3401/237/27 3438/231/27 +f 3417/210/178 3416/209/178 3441/240/178 +f 3441/240/178 3440/241/178 3417/210/178 +f 3416/236/26 3431/208/26 3402/242/26 +f 3402/242/26 3441/238/26 3416/236/26 +f 3431/208/26 3430/209/26 3403/240/26 +f 3403/240/26 3402/242/26 3431/208/26 +f 3415/209/26 3414/208/26 3409/242/26 +f 3409/242/26 3408/240/26 3415/209/26 +f 3414/208/26 3422/236/26 3442/238/26 +f 3442/238/26 3409/242/26 3414/208/26 +f 3422/209/179 3421/210/179 3443/241/179 +f 3443/241/179 3442/240/179 3422/209/179 +f 3421/233/27 3436/231/27 3410/237/27 +f 3410/237/27 3443/239/27 3421/233/27 +f 3436/231/27 3437/236/27 3411/238/27 +f 3411/238/27 3410/237/27 3436/231/27 +f 3444/243/183 3445/244/183 3446/245/183 +f 3446/245/183 3447/246/183 3444/243/183 +f 3444/247/184 3447/248/184 3448/249/184 +f 3448/249/184 3449/250/184 3444/247/184 +f 3447/246/185 3446/245/185 3450/251/185 +f 3450/251/185 3448/252/185 3447/246/185 +f 3446/248/186 3445/247/186 3451/250/186 +f 3451/250/186 3450/249/186 3446/248/186 +f 3452/195/164 3453/196/164 3454/197/164 +f 3454/197/164 3455/198/164 3452/195/164 +f 3456/199/101 3457/200/100 3458/201/100 +f 3458/201/100 3459/202/101 3456/199/101 +f 3460/203/108 3461/204/108 3462/205/108 +f 3462/205/108 3463/206/108 3460/203/108 +f 3464/202/98 3465/201/97 3466/200/97 +f 3466/200/97 3467/199/98 3464/202/98 +f 3468/207/166 3469/207/166 3470/208/166 +f 3470/208/166 3471/209/166 3468/207/166 +f 3472/209/167 3473/210/167 3474/211/167 +f 3461/212/168 3475/196/168 3476/213/168 +f 3476/213/168 3462/214/168 3461/212/168 +f 3477/210/169 3478/209/169 3479/211/169 +f 3480/215/170 3481/216/170 3479/211/170 +f 3479/211/170 3478/209/170 3480/215/170 +f 3482/217/171 3483/218/171 3454/197/171 +f 3454/197/171 3453/196/171 3482/217/171 +f 3484/219/172 3485/220/172 3461/204/99 +f 3461/204/99 3460/203/99 3484/219/172 +f 3486/209/173 3487/208/173 3469/207/173 +f 3469/207/173 3468/207/173 3486/209/173 +f 3461/212/174 3485/214/174 3488/213/174 +f 3488/213/174 3475/196/174 3461/212/174 +f 3480/215/175 3472/209/175 3474/211/175 +f 3474/211/175 3481/216/175 3480/215/175 +f 3489/221/98 3476/222/98 3452/222/98 +f 3452/222/98 3455/221/98 3489/221/98 +f 3476/222/113 3475/203/113 3453/203/113 +f 3453/203/113 3452/222/113 3476/222/113 +f 3475/203/112 3488/206/112 3482/206/112 +f 3482/206/112 3453/203/112 3475/203/112 +f 3488/206/100 3490/223/100 3483/223/100 +f 3483/223/100 3482/206/100 3488/206/100 +f 3490/224/176 3491/225/176 3454/226/176 +f 3454/226/176 3483/224/176 3490/224/176 +f 3491/225/117 3489/224/117 3455/224/117 +f 3455/224/117 3454/226/117 3491/225/117 +f 3485/214/169 3492/227/169 3490/228/169 +f 3490/228/169 3488/213/169 3485/214/169 +f 3492/229/125 3485/220/125 3484/219/97 +f 3484/219/97 3493/221/97 3492/229/125 +f 3463/206/100 3462/205/101 3494/230/101 +f 3494/230/101 3495/223/100 3463/206/100 +f 3494/227/167 3462/214/167 3476/213/167 +f 3476/213/167 3489/228/167 3494/227/167 +f 3458/201/100 3457/200/100 3496/199/101 +f 3496/199/101 3497/202/101 3458/201/100 +f 3494/231/481 3489/224/481 3474/232/481 +f 3474/232/481 3473/233/481 3494/231/481 +f 3489/224/117 3491/225/117 3481/234/117 +f 3481/234/117 3474/232/117 3489/224/117 +f 3491/225/176 3490/224/176 3479/232/176 +f 3479/232/176 3481/234/176 3491/225/176 +f 3490/224/115 3492/231/115 3477/233/115 +f 3477/233/115 3479/232/115 3490/224/115 +f 3466/200/97 3465/201/97 3498/202/98 +f 3498/202/98 3499/199/98 3466/200/97 +f 3470/208/166 3469/207/166 3480/235/166 +f 3480/235/166 3478/236/166 3470/208/166 +f 3469/207/173 3487/208/173 3472/236/173 +f 3472/236/173 3480/235/173 3469/207/173 +f 3495/236/27 3494/231/27 3457/237/27 +f 3457/237/27 3456/238/27 3495/236/27 +f 3494/231/27 3473/233/27 3496/239/27 +f 3496/239/27 3457/237/27 3494/231/27 +f 3473/210/178 3472/209/178 3497/240/178 +f 3497/240/178 3496/241/178 3473/210/178 +f 3472/236/26 3487/208/26 3458/242/26 +f 3458/242/26 3497/238/26 3472/236/26 +f 3487/208/26 3486/209/26 3459/240/26 +f 3459/240/26 3458/242/26 3487/208/26 +f 3471/209/26 3470/208/26 3465/242/26 +f 3465/242/26 3464/240/26 3471/209/26 +f 3470/208/26 3478/236/26 3498/238/26 +f 3498/238/26 3465/242/26 3470/208/26 +f 3478/209/179 3477/210/179 3499/241/179 +f 3499/241/179 3498/240/179 3478/209/179 +f 3477/233/27 3492/231/27 3466/237/27 +f 3466/237/27 3499/239/27 3477/233/27 +f 3492/231/27 3493/236/27 3467/238/27 +f 3467/238/27 3466/237/27 3492/231/27 +f 3500/243/156 3501/244/156 3502/245/156 +f 3502/245/156 3503/246/156 3500/243/156 +f 3500/247/157 3503/248/157 3504/249/157 +f 3504/249/157 3505/250/157 3500/247/157 +f 3503/246/158 3502/245/158 3506/251/158 +f 3506/251/158 3504/252/158 3503/246/158 +f 3502/248/159 3501/247/159 3507/250/159 +f 3507/250/159 3506/249/159 3502/248/159 +f 3508/195/72 3509/196/72 3510/197/72 +f 3510/197/72 3511/198/72 3508/195/72 +f 3512/199/73 3513/200/73 3514/201/73 +f 3514/201/73 3515/202/73 3512/199/73 +f 3516/203/74 3517/204/74 3518/205/74 +f 3518/205/74 3519/206/74 3516/203/74 +f 3520/202/75 3521/201/75 3522/200/75 +f 3522/200/75 3523/199/75 3520/202/75 +f 3524/207/76 3525/207/76 3526/208/76 +f 3526/208/76 3527/209/76 3524/207/76 +f 3528/209/77 3529/210/77 3530/211/77 +f 3517/212/78 3531/196/78 3532/213/78 +f 3532/213/78 3518/214/78 3517/212/78 +f 3533/210/79 3534/209/79 3535/211/79 +f 3536/215/80 3537/216/80 3535/211/80 +f 3535/211/80 3534/209/80 3536/215/80 +f 3538/217/81 3539/218/81 3510/197/482 +f 3510/197/482 3509/196/482 3538/217/81 +f 3540/219/82 3541/220/82 3517/204/82 +f 3517/204/82 3516/203/82 3540/219/82 +f 3542/209/83 3543/208/83 3525/207/83 +f 3525/207/83 3524/207/83 3542/209/83 +f 3517/212/84 3541/214/84 3544/213/84 +f 3544/213/84 3531/196/84 3517/212/84 +f 3536/215/85 3528/209/85 3530/211/85 +f 3530/211/85 3537/216/85 3536/215/85 +f 3545/221/75 3532/222/75 3508/222/75 +f 3508/222/75 3511/221/75 3545/221/75 +f 3532/222/86 3531/203/86 3509/203/86 +f 3509/203/86 3508/222/86 3532/222/86 +f 3531/203/87 3544/206/87 3538/206/87 +f 3538/206/87 3509/203/87 3531/203/87 +f 3544/206/73 3546/223/73 3539/223/73 +f 3539/223/73 3538/206/73 3544/206/73 +f 3546/224/88 3547/225/88 3510/226/88 +f 3510/226/88 3539/224/88 3546/224/88 +f 3547/225/89 3545/224/89 3511/224/89 +f 3511/224/89 3510/226/89 3547/225/89 +f 3541/214/79 3548/227/79 3546/228/79 +f 3546/228/79 3544/213/79 3541/214/79 +f 3548/229/75 3541/220/75 3540/219/75 +f 3540/219/75 3549/221/75 3548/229/75 +f 3519/206/73 3518/205/73 3550/230/73 +f 3550/230/73 3551/223/73 3519/206/73 +f 3550/227/77 3518/214/77 3532/213/77 +f 3532/213/77 3545/228/77 3550/227/77 +f 3514/201/73 3513/200/73 3552/199/73 +f 3552/199/73 3553/202/73 3514/201/73 +f 3550/231/90 3545/224/90 3530/232/90 +f 3530/232/90 3529/233/90 3550/231/90 +f 3545/224/89 3547/225/89 3537/234/89 +f 3537/234/89 3530/232/89 3545/224/89 +f 3547/225/88 3546/224/88 3535/232/88 +f 3535/232/88 3537/234/88 3547/225/88 +f 3546/224/92 3548/231/92 3533/233/92 +f 3533/233/92 3535/232/92 3546/224/92 +f 3522/200/75 3521/201/75 3554/202/75 +f 3554/202/75 3555/199/75 3522/200/75 +f 3526/208/76 3525/207/76 3536/235/76 +f 3536/235/76 3534/236/76 3526/208/76 +f 3525/207/83 3543/208/83 3528/236/83 +f 3528/236/83 3536/235/83 3525/207/83 +f 3551/236/27 3550/231/27 3513/237/27 +f 3513/237/27 3512/238/27 3551/236/27 +f 3550/231/27 3529/233/27 3552/239/27 +f 3552/239/27 3513/237/27 3550/231/27 +f 3529/210/94 3528/209/94 3553/240/94 +f 3553/240/94 3552/241/94 3529/210/94 +f 3528/236/26 3543/208/26 3514/242/26 +f 3514/242/26 3553/238/26 3528/236/26 +f 3543/208/26 3542/209/26 3515/240/26 +f 3515/240/26 3514/242/26 3543/208/26 +f 3527/209/26 3526/208/26 3521/242/26 +f 3521/242/26 3520/240/26 3527/209/26 +f 3526/208/26 3534/236/26 3554/238/26 +f 3554/238/26 3521/242/26 3526/208/26 +f 3534/209/95 3533/210/95 3555/241/95 +f 3555/241/95 3554/240/95 3534/209/95 +f 3533/233/27 3548/231/27 3522/237/27 +f 3522/237/27 3555/239/27 3533/233/27 +f 3548/231/27 3549/236/27 3523/238/27 +f 3523/238/27 3522/237/27 3548/231/27 +f 3556/243/154 3557/244/154 3558/245/154 +f 3558/245/154 3559/246/154 3556/243/154 +f 3556/247/7 3559/248/7 3560/249/7 +f 3560/249/7 3561/250/7 3556/247/7 +f 3559/246/155 3558/245/155 3562/251/155 +f 3562/251/155 3560/252/155 3559/246/155 +f 3558/248/1 3557/247/1 3563/250/1 +f 3563/250/1 3562/249/1 3558/248/1 +f 3564/243/180 3565/244/180 3566/245/180 +f 3566/245/180 3567/246/180 3564/243/180 +f 3564/247/153 3567/248/153 3568/249/153 +f 3568/249/153 3569/250/153 3564/247/153 +f 3567/246/181 3566/245/181 3570/251/181 +f 3570/251/181 3568/252/181 3567/246/181 +f 3566/248/151 3565/247/151 3571/250/151 +f 3571/250/151 3570/249/151 3566/248/151 +f 3572/243/148 3573/244/148 3574/245/148 +f 3574/245/148 3575/246/148 3572/243/148 +f 3572/247/1 3575/248/1 3576/249/1 +f 3576/249/1 3577/250/1 3572/247/1 +f 3575/246/149 3574/245/149 3578/251/149 +f 3578/251/149 3576/252/149 3575/246/149 +f 3574/248/7 3573/247/7 3579/250/7 +f 3579/250/7 3578/249/7 3574/248/7 +f 3580/243/127 3581/244/127 3582/245/127 +f 3582/245/127 3583/246/127 3580/243/127 +f 3580/247/128 3583/248/128 3584/249/128 +f 3584/249/128 3585/250/128 3580/247/128 +f 3583/246/129 3582/245/129 3586/251/129 +f 3586/251/129 3584/252/129 3583/246/129 +f 3582/248/130 3581/247/130 3587/250/130 +f 3587/250/130 3586/249/130 3582/248/130 +f 3588/243/187 3589/244/187 3590/245/187 +f 3590/245/187 3591/246/187 3588/243/187 +f 3588/247/163 3591/248/163 3592/249/163 +f 3592/249/163 3593/250/163 3588/247/163 +f 3591/246/188 3590/245/188 3594/251/188 +f 3594/251/188 3592/252/188 3591/246/188 +f 3590/248/161 3589/247/161 3595/250/161 +f 3595/250/161 3594/249/161 3590/248/161 +f 3596/195/72 3597/196/72 3598/197/72 +f 3598/197/72 3599/198/72 3596/195/72 +f 3600/199/73 3601/200/73 3602/201/73 +f 3602/201/73 3603/202/73 3600/199/73 +f 3604/203/74 3605/204/74 3606/205/74 +f 3606/205/74 3607/206/74 3604/203/74 +f 3608/202/75 3609/201/75 3610/200/75 +f 3610/200/75 3611/199/75 3608/202/75 +f 3612/207/76 3613/207/76 3614/208/76 +f 3614/208/76 3615/209/76 3612/207/76 +f 3616/209/77 3617/210/77 3618/211/77 +f 3605/212/78 3619/196/78 3620/213/78 +f 3620/213/78 3606/214/78 3605/212/78 +f 3621/210/79 3622/209/79 3623/211/79 +f 3624/215/80 3625/216/80 3623/211/80 +f 3623/211/80 3622/209/80 3624/215/80 +f 3626/217/81 3627/218/81 3598/197/482 +f 3598/197/482 3597/196/482 3626/217/81 +f 3628/219/82 3629/220/82 3605/204/82 +f 3605/204/82 3604/203/82 3628/219/82 +f 3630/209/83 3631/208/83 3613/207/83 +f 3613/207/83 3612/207/83 3630/209/83 +f 3605/212/84 3629/214/84 3632/213/84 +f 3632/213/84 3619/196/84 3605/212/84 +f 3624/215/85 3616/209/85 3618/211/85 +f 3618/211/85 3625/216/85 3624/215/85 +f 3633/221/75 3620/222/75 3596/222/75 +f 3596/222/75 3599/221/75 3633/221/75 +f 3620/222/86 3619/203/86 3597/203/86 +f 3597/203/86 3596/222/86 3620/222/86 +f 3619/203/87 3632/206/87 3626/206/87 +f 3626/206/87 3597/203/87 3619/203/87 +f 3632/206/73 3634/223/73 3627/223/73 +f 3627/223/73 3626/206/73 3632/206/73 +f 3634/224/88 3635/225/88 3598/226/88 +f 3598/226/88 3627/224/88 3634/224/88 +f 3635/225/89 3633/224/89 3599/224/89 +f 3599/224/89 3598/226/89 3635/225/89 +f 3629/214/79 3636/227/79 3634/228/79 +f 3634/228/79 3632/213/79 3629/214/79 +f 3636/229/75 3629/220/75 3628/219/75 +f 3628/219/75 3637/221/75 3636/229/75 +f 3607/206/73 3606/205/73 3638/230/73 +f 3638/230/73 3639/223/73 3607/206/73 +f 3638/227/77 3606/214/77 3620/213/77 +f 3620/213/77 3633/228/77 3638/227/77 +f 3602/201/73 3601/200/73 3640/199/73 +f 3640/199/73 3641/202/73 3602/201/73 +f 3638/231/90 3633/224/90 3618/232/90 +f 3618/232/90 3617/233/90 3638/231/90 +f 3633/224/89 3635/225/89 3625/234/89 +f 3625/234/89 3618/232/89 3633/224/89 +f 3635/225/88 3634/224/88 3623/232/88 +f 3623/232/88 3625/234/88 3635/225/88 +f 3634/224/92 3636/231/92 3621/233/92 +f 3621/233/92 3623/232/92 3634/224/92 +f 3610/200/75 3609/201/75 3642/202/75 +f 3642/202/75 3643/199/75 3610/200/75 +f 3614/208/76 3613/207/76 3624/235/76 +f 3624/235/76 3622/236/76 3614/208/76 +f 3613/207/83 3631/208/83 3616/236/83 +f 3616/236/83 3624/235/83 3613/207/83 +f 3639/236/27 3638/231/27 3601/237/27 +f 3601/237/27 3600/238/27 3639/236/27 +f 3638/231/27 3617/233/27 3640/239/27 +f 3640/239/27 3601/237/27 3638/231/27 +f 3617/210/94 3616/209/94 3641/240/94 +f 3641/240/94 3640/241/94 3617/210/94 +f 3616/236/26 3631/208/26 3602/242/26 +f 3602/242/26 3641/238/26 3616/236/26 +f 3631/208/26 3630/209/26 3603/240/26 +f 3603/240/26 3602/242/26 3631/208/26 +f 3615/209/26 3614/208/26 3609/242/26 +f 3609/242/26 3608/240/26 3615/209/26 +f 3614/208/26 3622/236/26 3642/238/26 +f 3642/238/26 3609/242/26 3614/208/26 +f 3622/209/95 3621/210/95 3643/241/95 +f 3643/241/95 3642/240/95 3622/209/95 +f 3621/233/27 3636/231/27 3610/237/27 +f 3610/237/27 3643/239/27 3621/233/27 +f 3636/231/27 3637/236/27 3611/238/27 +f 3611/238/27 3610/237/27 3636/231/27 +f 3644/195/124 3645/196/96 3646/197/96 +f 3646/197/96 3647/198/124 3644/195/124 +f 3648/199/125 3649/200/125 3650/201/125 +f 3650/201/125 3651/202/125 3648/199/125 +f 3652/203/99 3653/204/99 3654/205/99 +f 3654/205/99 3655/206/99 3652/203/99 +f 3656/202/165 3657/201/165 3658/200/165 +f 3658/200/165 3659/199/165 3656/202/165 +f 3660/207/102 3661/207/102 3662/208/102 +f 3662/208/102 3663/209/102 3660/207/102 +f 3664/209/103 3665/210/103 3666/211/103 +f 3653/212/104 3667/196/104 3668/213/104 +f 3668/213/104 3654/214/104 3653/212/104 +f 3669/210/105 3670/209/105 3671/211/105 +f 3672/215/106 3673/216/106 3671/211/106 +f 3671/211/106 3670/209/106 3672/215/106 +f 3674/217/107 3675/218/107 3646/197/107 +f 3646/197/107 3645/196/107 3674/217/107 +f 3676/219/126 3677/220/108 3653/204/108 +f 3653/204/108 3652/203/108 3676/219/126 +f 3678/209/109 3679/208/109 3661/207/109 +f 3661/207/109 3660/207/109 3678/209/109 +f 3653/212/110 3677/214/110 3680/213/110 +f 3680/213/110 3667/196/110 3653/212/110 +f 3672/215/111 3664/209/111 3666/211/111 +f 3666/211/111 3673/216/111 3672/215/111 +f 3681/221/165 3668/222/165 3644/222/165 +f 3644/222/165 3647/221/165 3681/221/165 +f 3668/222/112 3667/203/112 3645/203/112 +f 3645/203/112 3644/222/112 3668/222/112 +f 3667/203/113 3680/206/113 3674/206/113 +f 3674/206/113 3645/203/113 3667/203/113 +f 3680/206/125 3682/223/125 3675/223/125 +f 3675/223/125 3674/206/125 3680/206/125 +f 3682/224/114 3683/225/114 3646/226/114 +f 3646/226/114 3675/224/114 3682/224/114 +f 3683/225/115 3681/224/115 3647/224/115 +f 3647/224/115 3646/226/115 3683/225/115 +f 3677/214/105 3684/227/105 3682/228/105 +f 3682/228/105 3680/213/105 3677/214/105 +f 3684/229/165 3677/220/165 3676/219/165 +f 3676/219/165 3685/221/165 3684/229/165 +f 3655/206/125 3654/205/125 3686/230/125 +f 3686/230/125 3687/223/125 3655/206/125 +f 3686/227/103 3654/214/103 3668/213/103 +f 3668/213/103 3681/228/103 3686/227/103 +f 3650/201/125 3649/200/125 3688/199/125 +f 3688/199/125 3689/202/125 3650/201/125 +f 3686/231/483 3681/224/483 3666/232/483 +f 3666/232/483 3665/233/483 3686/231/483 +f 3681/224/115 3683/225/115 3673/234/115 +f 3673/234/115 3666/232/115 3681/224/115 +f 3683/225/114 3682/224/114 3671/232/114 +f 3671/232/114 3673/234/114 3683/225/114 +f 3682/224/117 3684/231/117 3669/233/117 +f 3669/233/117 3671/232/117 3682/224/117 +f 3658/200/165 3657/201/165 3690/202/165 +f 3690/202/165 3691/199/165 3658/200/165 +f 3662/208/102 3661/207/102 3672/235/102 +f 3672/235/102 3670/236/102 3662/208/102 +f 3661/207/109 3679/208/109 3664/236/109 +f 3664/236/109 3672/235/109 3661/207/109 +f 3687/236/27 3686/231/27 3649/237/27 +f 3649/237/27 3648/238/27 3687/236/27 +f 3686/231/27 3665/233/27 3688/239/27 +f 3688/239/27 3649/237/27 3686/231/27 +f 3665/210/118 3664/209/118 3689/240/118 +f 3689/240/118 3688/241/118 3665/210/118 +f 3664/236/26 3679/208/26 3650/242/26 +f 3650/242/26 3689/238/26 3664/236/26 +f 3679/208/26 3678/209/26 3651/240/26 +f 3651/240/26 3650/242/26 3679/208/26 +f 3663/209/26 3662/208/26 3657/242/26 +f 3657/242/26 3656/240/26 3663/209/26 +f 3662/208/26 3670/236/26 3690/238/26 +f 3690/238/26 3657/242/26 3662/208/26 +f 3670/209/119 3669/210/119 3691/241/119 +f 3691/241/119 3690/240/119 3670/209/119 +f 3669/233/27 3684/231/27 3658/237/27 +f 3658/237/27 3691/239/27 3669/233/27 +f 3684/231/27 3685/236/27 3659/238/27 +f 3659/238/27 3658/237/27 3684/231/27 +f 3692/243/150 3693/244/150 3694/245/150 +f 3694/245/150 3695/246/150 3692/243/150 +f 3692/247/151 3695/248/151 3696/249/151 +f 3696/249/151 3697/250/151 3692/247/151 +f 3695/246/152 3694/245/152 3698/251/152 +f 3698/251/152 3696/252/152 3695/246/152 +f 3694/248/153 3693/247/153 3699/250/153 +f 3699/250/153 3698/249/153 3694/248/153 +f 3700/195/96 3701/196/124 3702/197/124 +f 3702/197/124 3703/198/96 3700/195/96 +f 3704/199/125 3705/200/125 3706/201/125 +f 3706/201/125 3707/202/125 3704/199/125 +f 3708/203/99 3709/204/99 3710/205/99 +f 3710/205/99 3711/206/99 3708/203/99 +f 3712/202/165 3713/201/165 3714/200/165 +f 3714/200/165 3715/199/165 3712/202/165 +f 3716/207/102 3717/207/102 3718/208/102 +f 3718/208/102 3719/209/102 3716/207/102 +f 3720/209/103 3721/210/103 3722/211/103 +f 3709/212/104 3723/196/104 3724/213/104 +f 3724/213/104 3710/214/104 3709/212/104 +f 3725/210/105 3726/209/105 3727/211/105 +f 3728/215/106 3729/216/106 3727/211/106 +f 3727/211/106 3726/209/106 3728/215/106 +f 3730/217/107 3731/218/107 3702/197/107 +f 3702/197/107 3701/196/107 3730/217/107 +f 3732/219/108 3733/220/108 3709/204/126 +f 3709/204/126 3708/203/108 3732/219/108 +f 3734/209/109 3735/208/109 3717/207/109 +f 3717/207/109 3716/207/109 3734/209/109 +f 3709/212/110 3733/214/110 3736/213/110 +f 3736/213/110 3723/196/110 3709/212/110 +f 3728/215/111 3720/209/111 3722/211/111 +f 3722/211/111 3729/216/111 3728/215/111 +f 3737/221/165 3724/222/165 3700/222/165 +f 3700/222/165 3703/221/165 3737/221/165 +f 3724/222/112 3723/203/112 3701/203/112 +f 3701/203/112 3700/222/112 3724/222/112 +f 3723/203/113 3736/206/113 3730/206/113 +f 3730/206/113 3701/203/113 3723/203/113 +f 3736/206/125 3738/223/125 3731/223/125 +f 3731/223/125 3730/206/125 3736/206/125 +f 3738/224/114 3739/225/114 3702/226/114 +f 3702/226/114 3731/224/114 3738/224/114 +f 3739/225/115 3737/224/115 3703/224/115 +f 3703/224/115 3702/226/115 3739/225/115 +f 3733/214/105 3740/227/105 3738/228/105 +f 3738/228/105 3736/213/105 3733/214/105 +f 3740/229/165 3733/220/165 3732/219/165 +f 3732/219/165 3741/221/165 3740/229/165 +f 3711/206/125 3710/205/125 3742/230/125 +f 3742/230/125 3743/223/125 3711/206/125 +f 3742/227/103 3710/214/103 3724/213/103 +f 3724/213/103 3737/228/103 3742/227/103 +f 3706/201/125 3705/200/125 3744/199/125 +f 3744/199/125 3745/202/125 3706/201/125 +f 3742/231/483 3737/224/483 3722/232/483 +f 3722/232/483 3721/233/483 3742/231/483 +f 3737/224/115 3739/225/115 3729/234/115 +f 3729/234/115 3722/232/115 3737/224/115 +f 3739/225/114 3738/224/114 3727/232/114 +f 3727/232/114 3729/234/114 3739/225/114 +f 3738/224/117 3740/231/117 3725/233/117 +f 3725/233/117 3727/232/117 3738/224/117 +f 3714/200/165 3713/201/165 3746/202/165 +f 3746/202/165 3747/199/165 3714/200/165 +f 3718/208/102 3717/207/102 3728/235/102 +f 3728/235/102 3726/236/102 3718/208/102 +f 3717/207/109 3735/208/109 3720/236/109 +f 3720/236/109 3728/235/109 3717/207/109 +f 3743/236/27 3742/231/27 3705/237/27 +f 3705/237/27 3704/238/27 3743/236/27 +f 3742/231/27 3721/233/27 3744/239/27 +f 3744/239/27 3705/237/27 3742/231/27 +f 3721/210/118 3720/209/118 3745/240/118 +f 3745/240/118 3744/241/118 3721/210/118 +f 3720/236/26 3735/208/26 3706/242/26 +f 3706/242/26 3745/238/26 3720/236/26 +f 3735/208/26 3734/209/26 3707/240/26 +f 3707/240/26 3706/242/26 3735/208/26 +f 3719/209/26 3718/208/26 3713/242/26 +f 3713/242/26 3712/240/26 3719/209/26 +f 3718/208/26 3726/236/26 3746/238/26 +f 3746/238/26 3713/242/26 3718/208/26 +f 3726/209/119 3725/210/119 3747/241/119 +f 3747/241/119 3746/240/119 3726/209/119 +f 3725/233/27 3740/231/27 3714/237/27 +f 3714/237/27 3747/239/27 3725/233/27 +f 3740/231/27 3741/236/27 3715/238/27 +f 3715/238/27 3714/237/27 3740/231/27 +f 3748/243/120 3749/244/120 3750/245/120 +f 3750/245/120 3751/246/120 3748/243/120 +f 3748/247/121 3751/248/121 3752/249/121 +f 3752/249/121 3753/250/121 3748/247/121 +f 3751/246/122 3750/245/122 3754/251/122 +f 3754/251/122 3752/252/122 3751/246/122 +f 3750/248/123 3749/247/123 3755/250/123 +f 3755/250/123 3754/249/123 3750/248/123 +f 3756/195/131 3757/196/131 3758/197/131 +f 3758/197/131 3759/198/131 3756/195/131 +f 3760/199/75 3761/200/75 3762/201/75 +f 3762/201/75 3763/202/75 3760/199/75 +f 3764/203/132 3765/204/132 3766/205/132 +f 3766/205/132 3767/206/132 3764/203/132 +f 3768/202/73 3769/201/73 3770/200/73 +f 3770/200/73 3771/199/73 3768/202/73 +f 3772/207/83 3773/207/83 3774/208/83 +f 3774/208/83 3775/209/83 3772/207/83 +f 3776/209/133 3777/210/133 3778/211/133 +f 3765/212/134 3779/196/134 3780/213/134 +f 3780/213/134 3766/214/134 3765/212/134 +f 3781/210/135 3782/209/135 3783/211/135 +f 3784/215/136 3785/216/136 3783/211/136 +f 3783/211/136 3782/209/136 3784/215/136 +f 3786/217/137 3787/218/137 3758/197/137 +f 3758/197/137 3757/196/137 3786/217/137 +f 3788/219/139 3789/220/139 3765/204/139 +f 3765/204/139 3764/203/139 3788/219/139 +f 3790/209/76 3791/208/76 3773/207/76 +f 3773/207/76 3772/207/76 3790/209/76 +f 3765/212/140 3789/214/140 3792/213/140 +f 3792/213/140 3779/196/140 3765/212/140 +f 3784/215/141 3776/209/141 3778/211/141 +f 3778/211/141 3785/216/141 3784/215/141 +f 3793/221/73 3780/222/73 3756/222/73 +f 3756/222/73 3759/221/73 3793/221/73 +f 3780/222/87 3779/203/87 3757/203/87 +f 3757/203/87 3756/222/87 3780/222/87 +f 3779/203/86 3792/206/86 3786/206/86 +f 3786/206/86 3757/203/86 3779/203/86 +f 3792/206/75 3794/223/75 3787/223/75 +f 3787/223/75 3786/206/75 3792/206/75 +f 3794/224/142 3795/225/142 3758/226/142 +f 3758/226/142 3787/224/142 3794/224/142 +f 3795/225/143 3793/224/143 3759/224/143 +f 3759/224/143 3758/226/143 3795/225/143 +f 3789/214/135 3796/227/135 3794/228/135 +f 3794/228/135 3792/213/135 3789/214/135 +f 3796/229/73 3789/220/73 3788/219/73 +f 3788/219/73 3797/221/73 3796/229/73 +f 3767/206/75 3766/205/75 3798/230/75 +f 3798/230/75 3799/223/75 3767/206/75 +f 3798/227/133 3766/214/133 3780/213/133 +f 3780/213/133 3793/228/133 3798/227/133 +f 3762/201/75 3761/200/75 3800/199/75 +f 3800/199/75 3801/202/75 3762/201/75 +f 3798/231/144 3793/224/144 3778/232/144 +f 3778/232/144 3777/233/144 3798/231/144 +f 3793/224/143 3795/225/143 3785/234/143 +f 3785/234/143 3778/232/143 3793/224/143 +f 3795/225/142 3794/224/142 3783/232/142 +f 3783/232/142 3785/234/142 3795/225/142 +f 3794/224/145 3796/231/145 3781/233/145 +f 3781/233/145 3783/232/145 3794/224/145 +f 3770/200/73 3769/201/73 3802/202/73 +f 3802/202/73 3803/199/73 3770/200/73 +f 3774/208/83 3773/207/83 3784/235/83 +f 3784/235/83 3782/236/83 3774/208/83 +f 3773/207/76 3791/208/76 3776/236/76 +f 3776/236/76 3784/235/76 3773/207/76 +f 3799/236/27 3798/231/27 3761/237/27 +f 3761/237/27 3760/238/27 3799/236/27 +f 3798/231/27 3777/233/27 3800/239/27 +f 3800/239/27 3761/237/27 3798/231/27 +f 3777/210/480 3776/209/480 3801/240/480 +f 3801/240/480 3800/241/480 3777/210/480 +f 3776/236/26 3791/208/26 3762/242/26 +f 3762/242/26 3801/238/26 3776/236/26 +f 3791/208/26 3790/209/26 3763/240/26 +f 3763/240/26 3762/242/26 3791/208/26 +f 3775/209/26 3774/208/26 3769/242/26 +f 3769/242/26 3768/240/26 3775/209/26 +f 3774/208/26 3782/236/26 3802/238/26 +f 3802/238/26 3769/242/26 3774/208/26 +f 3782/209/147 3781/210/147 3803/241/147 +f 3803/241/147 3802/240/147 3782/209/147 +f 3781/233/27 3796/231/27 3770/237/27 +f 3770/237/27 3803/239/27 3781/233/27 +f 3796/231/27 3797/236/27 3771/238/27 +f 3771/238/27 3770/237/27 3796/231/27 +f 3804/243/160 3805/244/160 3806/245/160 +f 3806/245/160 3807/246/160 3804/243/160 +f 3804/247/161 3807/248/161 3808/249/161 +f 3808/249/161 3809/250/161 3804/247/161 +f 3807/246/162 3806/245/162 3810/251/162 +f 3810/251/162 3808/252/162 3807/246/162 +f 3806/248/163 3805/247/163 3811/250/163 +f 3811/250/163 3810/249/163 3806/248/163 +f 3812/253/19 3813/254/19 3814/255/19 +f 3814/255/19 3815/256/19 3812/253/19 +f 3816/257/20 3812/253/20 3815/256/20 +f 3815/256/20 3817/258/20 3816/257/20 +f 3818/259/21 3816/257/21 3817/258/21 +f 3817/258/21 3819/260/21 3818/259/21 +f 3820/261/22 3818/262/191 3819/263/22 +f 3819/263/22 3821/264/22 3820/261/22 +f 3822/265/23 3820/261/23 3821/264/23 +f 3821/264/23 3823/266/23 3822/265/23 +f 3824/267/24 3822/265/24 3823/266/24 +f 3823/266/24 3825/268/24 3824/267/24 +f 3826/269/192 3824/267/13 3825/268/13 +f 3825/268/13 3827/270/192 3826/269/192 +f 3828/271/14 3826/269/14 3827/270/14 +f 3827/270/14 3829/272/14 3828/271/14 +f 3830/273/118 3828/271/15 3829/272/15 +f 3829/272/15 3831/274/15 3830/273/118 +f 3832/275/16 3830/273/16 3831/274/16 +f 3831/274/16 3833/276/16 3832/275/16 +f 3834/277/17 3832/275/17 3833/276/17 +f 3833/276/17 3835/278/17 3834/277/17 +f 3813/254/18 3834/277/194 3835/278/194 +f 3835/278/194 3814/255/18 3813/254/18 +f 3815/279/27 3814/280/27 3836/281/27 +f 3836/281/27 3837/282/27 3815/279/27 +f 3838/283/27 3839/279/27 3840/282/27 +f 3840/282/27 3841/284/27 3838/283/27 +f 3819/285/27 3817/283/27 3842/284/27 +f 3842/284/27 3843/285/27 3819/285/27 +f 3844/286/27 3845/285/27 3846/285/27 +f 3846/285/27 3847/287/27 3844/286/27 +f 3823/288/27 3821/286/27 3848/287/27 +f 3848/287/27 3849/289/27 3823/288/27 +f 3850/290/27 3851/288/27 3852/289/27 +f 3852/289/27 3853/291/27 3850/290/27 +f 3827/292/27 3825/290/27 3854/291/27 +f 3854/291/27 3855/293/27 3827/292/27 +f 3856/294/27 3857/292/27 3858/293/27 +f 3858/293/27 3859/295/27 3856/294/27 +f 3831/296/27 3829/294/27 3860/295/27 +f 3860/295/27 3861/297/27 3831/296/27 +f 3862/298/27 3863/296/27 3864/297/27 +f 3864/297/27 3865/299/27 3862/298/27 +f 3835/300/27 3833/298/27 3866/299/27 +f 3866/299/27 3867/300/27 3835/300/27 +f 3868/280/27 3869/300/27 3870/300/27 +f 3870/300/27 3871/281/27 3868/280/27 +f 3837/301/13 3836/302/13 3872/303/13 +f 3872/303/13 3873/304/13 3837/301/13 +f 3842/305/14 3837/301/14 3873/304/14 +f 3873/304/14 3874/306/14 3842/305/14 +f 3843/307/15 3842/305/118 3874/306/15 +f 3874/306/15 3875/308/15 3843/307/15 +f 3848/309/16 3843/307/16 3875/308/16 +f 3875/308/16 3876/310/16 3848/309/16 +f 3849/311/17 3848/309/17 3876/310/17 +f 3876/310/17 3877/312/17 3849/311/17 +f 3854/313/18 3849/311/18 3877/312/18 +f 3877/312/18 3878/314/18 3854/313/18 +f 3855/315/190 3854/313/19 3878/314/19 +f 3878/314/19 3879/316/190 3855/315/190 +f 3860/317/20 3855/315/20 3879/316/20 +f 3879/316/20 3880/318/20 3860/317/20 +f 3861/319/21 3860/317/21 3880/318/21 +f 3880/318/21 3881/320/21 3861/319/21 +f 3866/321/191 3861/322/22 3881/323/22 +f 3881/323/22 3882/324/22 3866/321/191 +f 3867/325/23 3866/321/23 3882/324/23 +f 3882/324/23 3883/326/23 3867/325/23 +f 3836/302/24 3867/325/25 3883/326/25 +f 3883/326/25 3872/303/24 3836/302/24 +f 3873/327/27 3872/328/27 3884/329/27 +f 3874/330/27 3873/327/27 3884/329/27 +f 3875/331/27 3874/330/27 3884/329/27 +f 3876/332/27 3875/331/27 3884/329/27 +f 3877/333/27 3876/332/27 3884/329/27 +f 3878/334/27 3877/333/27 3884/329/27 +f 3879/335/27 3878/334/27 3884/329/27 +f 3880/336/27 3879/335/27 3884/329/27 +f 3881/337/27 3880/336/27 3884/329/27 +f 3882/338/27 3881/337/27 3884/329/27 +f 3883/339/27 3882/338/27 3884/329/27 +f 3872/328/27 3883/339/27 3884/329/27 +f 3817/258/20 3815/256/20 3839/340/20 +f 3839/340/20 3838/341/20 3817/258/20 +f 3815/279/163 3837/282/163 3840/282/163 +f 3840/282/163 3839/279/163 3815/279/163 +f 3837/301/14 3842/305/14 3841/342/14 +f 3841/342/14 3840/343/14 3837/301/14 +f 3842/284/197 3817/283/197 3838/283/197 +f 3838/283/197 3841/284/197 3842/284/197 +f 3821/264/22 3819/263/22 3845/344/22 +f 3845/344/22 3844/345/22 3821/264/22 +f 3819/285/7 3843/285/7 3846/285/7 +f 3846/285/7 3845/285/7 3819/285/7 +f 3843/307/16 3848/309/16 3847/346/16 +f 3847/346/16 3846/347/16 3843/307/16 +f 3848/287/198 3821/286/198 3844/286/198 +f 3844/286/198 3847/287/198 3848/287/198 +f 3825/268/24 3823/266/24 3851/348/24 +f 3851/348/24 3850/349/24 3825/268/24 +f 3823/288/151 3849/289/151 3852/289/151 +f 3852/289/151 3851/288/151 3823/288/151 +f 3849/311/18 3854/313/18 3853/350/18 +f 3853/350/18 3852/351/18 3849/311/18 +f 3854/291/4 3825/290/4 3850/290/4 +f 3850/290/4 3853/291/4 3854/291/4 +f 3829/272/14 3827/270/14 3857/352/14 +f 3857/352/14 3856/353/14 3829/272/14 +f 3827/292/161 3855/293/161 3858/293/161 +f 3858/293/161 3857/292/161 3827/292/161 +f 3855/315/20 3860/317/20 3859/354/20 +f 3859/354/20 3858/355/20 3855/315/20 +f 3860/295/195 3829/294/195 3856/294/195 +f 3856/294/195 3859/295/195 3860/295/195 +f 3833/276/16 3831/274/16 3863/356/193 +f 3863/356/193 3862/357/16 3833/276/16 +f 3831/296/1 3861/297/1 3864/297/1 +f 3864/297/1 3863/296/1 3831/296/1 +f 3861/322/22 3866/321/191 3865/358/22 +f 3865/358/22 3864/359/22 3861/322/22 +f 3866/299/196 3833/298/196 3862/298/196 +f 3862/298/196 3865/299/196 3866/299/196 +f 3814/255/18 3835/278/194 3869/360/18 +f 3869/360/18 3868/361/18 3814/255/18 +f 3835/300/153 3867/300/153 3870/300/153 +f 3870/300/153 3869/300/153 3835/300/153 +f 3867/325/25 3836/302/24 3871/362/24 +f 3871/362/24 3870/363/25 3867/325/25 +f 3836/281/10 3814/280/10 3868/280/10 +f 3868/280/10 3871/281/10 3836/281/10 +f 3885/3/6 3886/2/6 3887/1/7 +f 3887/1/7 3888/4/7 3885/3/6 +f 3889/6/5 3890/5/5 3886/2/6 +f 3886/2/6 3885/3/6 3889/6/5 +f 3891/8/4 3892/7/4 3890/5/5 +f 3890/5/5 3889/6/5 3891/8/4 +f 3893/11/3 3894/10/3 3892/9/4 +f 3892/9/4 3891/12/4 3893/11/3 +f 3895/14/2 3896/13/2 3894/10/3 +f 3894/10/3 3893/11/3 3895/14/2 +f 3897/16/1 3898/15/1 3896/13/2 +f 3896/13/2 3895/14/2 3897/16/1 +f 3899/18/12 3900/17/12 3898/15/1 +f 3898/15/1 3897/16/1 3899/18/12 +f 3901/20/11 3902/19/11 3900/17/12 +f 3900/17/12 3899/18/12 3901/20/11 +f 3903/22/10 3904/21/10 3902/19/11 +f 3902/19/11 3901/20/11 3903/22/10 +f 3905/24/9 3906/23/9 3904/21/10 +f 3904/21/10 3903/22/10 3905/24/9 +f 3907/26/8 3908/25/8 3906/23/9 +f 3906/23/9 3905/24/9 3907/26/8 +f 3888/4/7 3887/1/7 3908/25/8 +f 3908/25/8 3907/26/8 3888/4/7 +f 3909/27/18 3910/30/18 3911/29/18 +f 3911/29/18 3912/28/18 3909/27/18 +f 3913/31/17 3914/32/17 3910/30/17 +f 3910/30/17 3909/27/17 3913/31/17 +f 3915/33/16 3916/34/16 3914/32/16 +f 3914/32/16 3913/31/16 3915/33/16 +f 3917/35/15 3918/38/15 3916/37/15 +f 3916/37/15 3915/36/15 3917/35/15 +f 3919/39/14 3920/40/14 3918/38/14 +f 3918/38/14 3917/35/14 3919/39/14 +f 3921/41/13 3922/42/13 3920/40/13 +f 3920/40/13 3919/39/13 3921/41/13 +f 3923/43/24 3924/44/24 3922/42/24 +f 3922/42/24 3921/41/24 3923/43/24 +f 3925/45/23 3926/46/23 3924/44/23 +f 3924/44/23 3923/43/23 3925/45/23 +f 3927/47/22 3928/48/22 3926/46/22 +f 3926/46/22 3925/45/22 3927/47/22 +f 3929/49/21 3930/50/21 3928/48/21 +f 3928/48/21 3927/47/21 3929/49/21 +f 3931/51/20 3932/52/20 3930/50/20 +f 3930/50/20 3929/49/20 3931/51/20 +f 3912/28/19 3911/29/19 3932/52/19 +f 3932/52/19 3931/51/190 3912/28/19 +f 3886/53/26 3909/53/26 3912/54/26 +f 3912/54/26 3887/54/26 3886/53/26 +f 3887/54/26 3912/54/26 3931/55/26 +f 3931/55/26 3908/55/26 3887/54/26 +f 3908/55/26 3931/55/26 3929/56/26 +f 3929/56/26 3906/56/26 3908/55/26 +f 3906/56/26 3929/56/26 3927/57/26 +f 3927/57/26 3904/57/26 3906/56/26 +f 3904/57/26 3927/57/26 3925/59/26 +f 3925/59/26 3902/58/26 3904/57/26 +f 3902/58/26 3925/59/26 3923/61/26 +f 3923/61/26 3900/60/26 3902/58/26 +f 3900/60/26 3923/61/26 3921/62/26 +f 3921/62/26 3898/62/26 3900/60/26 +f 3898/62/26 3921/62/26 3919/64/26 +f 3919/64/26 3896/63/26 3898/62/26 +f 3896/63/26 3919/64/26 3917/66/26 +f 3917/66/26 3894/65/26 3896/63/26 +f 3894/65/26 3917/66/26 3915/67/26 +f 3915/67/26 3892/67/26 3894/65/26 +f 3892/67/26 3915/67/26 3913/68/26 +f 3913/68/26 3890/68/26 3892/67/26 +f 3890/68/26 3913/68/26 3909/53/26 +f 3909/53/26 3886/53/26 3890/68/26 +f 3933/54/27 3911/54/27 3910/53/27 +f 3910/53/27 3934/53/27 3933/54/27 +f 3934/53/27 3910/53/27 3914/68/27 +f 3914/68/27 3935/68/27 3934/53/27 +f 3935/68/27 3914/68/27 3916/67/27 +f 3916/67/27 3936/67/27 3935/68/27 +f 3936/67/27 3916/67/27 3918/66/27 +f 3918/66/27 3937/65/27 3936/67/27 +f 3937/65/27 3918/66/27 3920/64/27 +f 3920/64/27 3938/63/27 3937/65/27 +f 3938/63/27 3920/64/27 3922/62/27 +f 3922/62/27 3939/62/27 3938/63/27 +f 3939/62/27 3922/62/27 3924/61/27 +f 3924/61/27 3940/60/27 3939/62/27 +f 3940/60/27 3924/61/27 3926/59/27 +f 3926/59/27 3941/58/27 3940/60/27 +f 3941/58/27 3926/59/27 3928/57/27 +f 3928/57/27 3942/57/27 3941/58/27 +f 3942/57/27 3928/57/27 3930/56/27 +f 3930/56/27 3943/56/27 3942/57/27 +f 3943/56/27 3930/56/27 3932/55/27 +f 3932/55/27 3944/55/27 3943/56/27 +f 3944/55/27 3932/55/27 3911/54/27 +f 3911/54/27 3933/54/27 3944/55/27 +f 3945/71/6 3946/70/7 3933/69/7 +f 3933/69/7 3934/72/6 3945/71/6 +f 3947/73/17 3945/71/6 3934/72/6 +f 3934/72/6 3935/74/17 3947/73/17 +f 3948/75/16 3947/73/16 3935/74/16 +f 3935/74/16 3936/76/16 3948/75/16 +f 3949/77/3 3948/75/15 3936/76/15 +f 3936/76/15 3937/78/3 3949/77/3 +f 3950/79/2 3949/77/3 3937/78/3 +f 3937/78/3 3938/80/2 3950/79/2 +f 3951/83/1 3950/82/2 3938/81/2 +f 3938/81/2 3939/84/1 3951/83/1 +f 3952/85/12 3951/83/1 3939/84/1 +f 3939/84/1 3940/86/12 3952/85/12 +f 3953/87/11 3952/85/12 3940/86/12 +f 3940/86/12 3941/88/11 3953/87/11 +f 3954/89/10 3953/87/11 3941/88/11 +f 3941/88/11 3942/90/10 3954/89/10 +f 3955/91/9 3954/89/10 3942/90/10 +f 3942/90/10 3943/92/9 3955/91/9 +f 3956/93/8 3955/91/9 3943/92/9 +f 3943/92/9 3944/94/8 3956/93/8 +f 3946/70/7 3956/93/8 3944/94/8 +f 3944/94/8 3933/69/7 3946/70/7 +f 3957/95/26 3958/95/26 3959/96/26 +f 3959/96/26 3960/96/26 3957/95/26 +f 3961/97/26 3962/97/26 3958/95/26 +f 3958/95/26 3957/95/26 3961/97/26 +f 3963/67/26 3964/98/26 3962/97/26 +f 3962/97/26 3961/97/26 3963/67/26 +f 3965/99/26 3966/99/26 3964/98/26 +f 3964/98/26 3963/67/26 3965/99/26 +f 3967/100/26 3968/100/26 3966/99/26 +f 3966/99/26 3965/99/26 3967/100/26 +f 3969/101/26 3970/101/26 3968/100/26 +f 3968/100/26 3967/100/26 3969/101/26 +f 3971/61/26 3972/61/26 3970/101/26 +f 3970/101/26 3969/101/26 3971/61/26 +f 3973/59/26 3974/102/26 3972/61/26 +f 3972/61/26 3971/61/26 3973/59/26 +f 3975/103/26 3976/103/26 3974/102/26 +f 3974/102/26 3973/59/26 3975/103/26 +f 3977/104/26 3978/105/26 3976/103/26 +f 3976/103/26 3975/103/26 3977/104/26 +f 3979/106/26 3980/106/26 3978/105/26 +f 3978/105/26 3977/104/26 3979/106/26 +f 3960/96/26 3959/96/26 3980/106/26 +f 3980/106/26 3979/106/26 3960/96/26 +f 3958/107/33 3981/110/33 3982/109/33 +f 3982/109/33 3959/108/33 3958/107/33 +f 3962/111/32 3983/112/32 3981/110/32 +f 3981/110/32 3958/107/32 3962/111/32 +f 3964/113/31 3984/114/31 3983/112/31 +f 3983/112/31 3962/111/31 3964/113/31 +f 3966/115/30 3985/116/30 3984/114/30 +f 3984/114/30 3964/113/30 3966/115/30 +f 3968/117/29 3986/118/29 3985/116/29 +f 3985/116/29 3966/115/29 3968/117/29 +f 3970/119/28 3987/120/28 3986/118/28 +f 3986/118/28 3968/117/28 3970/119/28 +f 3972/121/39 3988/122/39 3987/120/39 +f 3987/120/39 3970/119/39 3972/121/39 +f 3974/123/38 3989/124/38 3988/122/38 +f 3988/122/38 3972/121/38 3974/123/38 +f 3976/125/37 3990/126/37 3989/124/37 +f 3989/124/37 3974/123/37 3976/125/37 +f 3978/127/36 3991/130/36 3990/129/36 +f 3990/129/36 3976/128/36 3978/127/36 +f 3980/131/35 3992/132/35 3991/130/35 +f 3991/130/35 3978/127/35 3980/131/35 +f 3959/108/34 3982/109/34 3992/132/34 +f 3992/132/34 3980/131/34 3959/108/34 +f 3981/110/46 3993/134/46 3994/133/46 +f 3994/133/46 3982/109/46 3981/110/46 +f 3983/112/45 3995/135/45 3993/134/45 +f 3993/134/45 3981/110/45 3983/112/45 +f 3984/114/44 3996/136/44 3995/135/44 +f 3995/135/44 3983/112/44 3984/114/44 +f 3985/116/42 3997/137/42 3996/136/43 +f 3996/136/43 3984/114/42 3985/116/42 +f 3986/118/41 3998/138/41 3997/137/41 +f 3997/137/41 3985/116/41 3986/118/41 +f 3987/120/40 3999/139/40 3998/138/40 +f 3998/138/40 3986/118/40 3987/120/40 +f 3988/122/55 4000/140/54 3999/139/54 +f 3999/139/54 3987/120/54 3988/122/55 +f 3989/124/53 4001/141/53 4000/140/53 +f 4000/140/53 3988/122/53 3989/124/53 +f 3990/126/51 4002/142/52 4001/141/51 +f 4001/141/51 3989/124/51 3990/126/51 +f 3991/130/50 4003/144/50 4002/143/50 +f 4002/143/50 3990/129/50 3991/130/50 +f 3992/132/49 4004/145/49 4003/144/49 +f 4003/144/49 3991/130/49 3992/132/49 +f 3982/109/48 3994/133/48 4004/145/48 +f 4004/145/48 3992/132/47 3982/109/48 +f 3945/148/63 4005/147/63 4006/146/63 +f 4006/146/63 3946/149/63 3945/148/63 +f 3947/151/62 4007/150/61 4005/147/61 +f 4005/147/61 3945/148/62 3947/151/62 +f 3948/154/60 4008/153/60 4007/152/60 +f 4007/152/60 3947/155/60 3948/154/60 +f 3949/156/59 4009/142/59 4008/153/59 +f 4008/153/59 3948/154/59 3949/156/59 +f 3950/158/58 4010/157/57 4009/142/57 +f 4009/142/57 3949/156/58 3950/158/58 +f 3951/160/56 4011/159/56 4010/157/56 +f 4010/157/56 3950/158/56 3951/160/56 +f 3952/162/71 4012/161/71 4011/159/71 +f 4011/159/71 3951/160/71 3952/162/71 +f 3953/164/69 4013/163/70 4012/161/70 +f 4012/161/70 3952/162/69 3953/164/69 +f 3954/166/68 4014/165/68 4013/163/68 +f 4013/163/68 3953/164/68 3954/166/68 +f 3955/168/67 4015/167/67 4014/165/67 +f 4014/165/67 3954/166/67 3955/168/67 +f 3956/170/66 4016/169/66 4015/167/66 +f 4015/167/66 3955/168/65 3956/170/66 +f 3946/149/64 4006/146/64 4016/169/64 +f 4016/169/64 3956/170/64 3946/149/64 +f 4005/173/6 3957/172/6 3960/171/7 +f 3960/171/7 4006/174/7 4005/173/6 +f 4007/176/5 3961/175/5 3957/172/6 +f 3957/172/6 4005/173/6 4007/176/5 +f 4008/179/4 3963/178/4 3961/177/5 +f 3961/177/5 4007/180/5 4008/179/4 +f 4009/181/3 3965/86/3 3963/178/4 +f 3963/178/4 4008/179/4 4009/181/3 +f 4010/183/2 3967/182/2 3965/86/3 +f 3965/86/3 4009/181/3 4010/183/2 +f 4011/185/1 3969/184/1 3967/182/2 +f 3967/182/2 4010/183/2 4011/185/1 +f 4012/187/12 3971/186/12 3969/184/1 +f 3969/184/1 4011/185/1 4012/187/12 +f 4013/189/11 3973/188/11 3971/186/12 +f 3971/186/12 4012/187/12 4013/189/11 +f 4014/191/10 3975/190/10 3973/188/11 +f 3973/188/11 4013/189/11 4014/191/10 +f 4015/192/9 3977/76/9 3975/190/10 +f 3975/190/10 4014/191/10 4015/192/9 +f 4016/194/8 3979/193/8 3977/76/9 +f 3977/76/9 4015/192/9 4016/194/8 +f 4006/174/7 3960/171/7 3979/193/8 +f 3979/193/8 4016/194/8 4006/174/7 +f 4017/195/443 4018/198/443 4019/197/443 +f 4019/197/443 4020/196/443 4017/195/443 +f 4021/199/390 4022/202/390 4023/201/390 +f 4023/201/390 4024/200/390 4021/199/390 +f 4025/203/444 4026/206/444 4027/205/444 +f 4027/205/444 4028/204/444 4025/203/444 +f 4029/202/388 4030/199/388 4031/200/388 +f 4031/200/388 4032/201/388 4029/202/388 +f 4033/207/398 4034/209/398 4035/208/398 +f 4035/208/398 4036/207/398 4033/207/398 +f 4037/209/445 4038/211/445 4039/210/445 +f 4028/212/446 4027/214/446 4040/213/446 +f 4040/213/446 4041/196/446 4028/212/446 +f 4042/210/447 4043/211/447 4044/209/447 +f 4045/215/448 4044/209/448 4043/211/448 +f 4043/211/448 4046/216/448 4045/215/448 +f 4047/217/449 4020/196/449 4019/197/449 +f 4019/197/449 4048/218/449 4047/217/449 +f 4049/219/451 4025/203/451 4028/204/451 +f 4028/204/451 4050/220/451 4049/219/451 +f 4051/209/391 4033/207/391 4036/207/391 +f 4036/207/391 4052/208/391 4051/209/391 +f 4028/212/452 4041/196/452 4053/213/452 +f 4053/213/452 4050/214/452 4028/212/452 +f 4045/215/453 4046/216/453 4038/211/453 +f 4038/211/453 4037/209/453 4045/215/453 +f 4054/221/388 4018/221/388 4017/222/388 +f 4017/222/388 4040/222/388 4054/221/388 +f 4040/222/402 4017/222/402 4020/203/402 +f 4020/203/402 4041/203/402 4040/222/402 +f 4041/203/401 4020/203/401 4047/206/401 +f 4047/206/401 4053/206/401 4041/203/401 +f 4053/206/390 4047/206/390 4048/223/390 +f 4048/223/390 4055/223/390 4053/206/390 +f 4055/224/454 4048/224/454 4019/226/454 +f 4019/226/454 4056/225/454 4055/224/454 +f 4056/225/455 4019/226/455 4018/224/455 +f 4018/224/455 4054/224/455 4056/225/455 +f 4050/214/447 4053/213/447 4055/228/447 +f 4055/228/447 4057/227/447 4050/214/447 +f 4057/229/388 4058/221/388 4049/219/388 +f 4049/219/388 4050/220/388 4057/229/388 +f 4026/206/390 4059/223/390 4060/230/390 +f 4060/230/390 4027/205/390 4026/206/390 +f 4060/227/445 4054/228/445 4040/213/445 +f 4040/213/445 4027/214/445 4060/227/445 +f 4023/201/390 4061/202/390 4062/199/390 +f 4062/199/390 4024/200/390 4023/201/390 +f 4060/231/456 4039/233/456 4038/232/456 +f 4038/232/456 4054/224/456 4060/231/456 +f 4054/224/455 4038/232/455 4046/234/455 +f 4046/234/455 4056/225/455 4054/224/455 +f 4056/225/454 4046/234/454 4043/232/454 +f 4043/232/454 4055/224/454 4056/225/454 +f 4055/224/457 4043/232/457 4042/233/457 +f 4042/233/457 4057/231/457 4055/224/457 +f 4031/200/388 4063/199/388 4064/202/388 +f 4064/202/388 4032/201/388 4031/200/388 +f 4035/208/398 4044/236/398 4045/235/398 +f 4045/235/398 4036/207/398 4035/208/398 +f 4036/207/391 4045/235/391 4037/236/391 +f 4037/236/391 4052/208/391 4036/207/391 +f 4059/236/27 4021/238/27 4024/237/27 +f 4024/237/27 4060/231/27 4059/236/27 +f 4060/231/27 4024/237/27 4062/239/27 +f 4062/239/27 4039/233/27 4060/231/27 +f 4039/210/484 4062/241/484 4061/240/484 +f 4061/240/484 4037/209/484 4039/210/484 +f 4037/236/26 4061/238/26 4023/242/26 +f 4023/242/26 4052/208/26 4037/236/26 +f 4052/208/26 4023/242/26 4022/240/26 +f 4022/240/26 4051/209/26 4052/208/26 +f 4034/209/26 4029/240/26 4032/242/26 +f 4032/242/26 4035/208/26 4034/209/26 +f 4035/208/26 4032/242/26 4064/238/26 +f 4064/238/26 4044/236/26 4035/208/26 +f 4044/209/459 4064/240/459 4063/241/459 +f 4063/241/459 4042/210/459 4044/209/459 +f 4042/233/27 4063/239/27 4031/237/27 +f 4031/237/27 4057/231/27 4042/233/27 +f 4057/231/27 4031/237/27 4030/238/27 +f 4030/238/27 4058/236/27 4057/231/27 +f 4065/195/4 4066/198/4 4067/197/4 +f 4067/197/4 4068/196/4 4065/195/4 +f 4069/199/416 4070/202/416 4071/201/415 +f 4071/201/415 4072/200/415 4069/199/416 +f 4073/203/421 4074/206/421 4075/205/421 +f 4075/205/421 4076/204/421 4073/203/421 +f 4077/202/413 4078/199/413 4079/200/412 +f 4079/200/412 4080/201/412 4077/202/413 +f 4081/207/466 4082/209/466 4083/208/466 +f 4083/208/466 4084/207/466 4081/207/466 +f 4085/209/107 4086/211/107 4087/210/107 +f 4076/212/467 4075/214/467 4088/213/467 +f 4088/213/467 4089/196/467 4076/212/467 +f 4090/210/468 4091/211/468 4092/209/468 +f 4093/215/469 4092/209/469 4091/211/469 +f 4091/211/469 4094/216/469 4093/215/469 +f 4095/217/103 4068/196/103 4067/197/103 +f 4067/197/103 4096/218/103 4095/217/103 +f 4097/219/414 4073/203/414 4076/204/414 +f 4076/204/414 4098/220/414 4097/219/414 +f 4099/209/471 4081/207/471 4084/207/471 +f 4084/207/471 4100/208/471 4099/209/471 +f 4076/212/472 4089/196/472 4101/213/472 +f 4101/213/472 4098/214/472 4076/212/472 +f 4093/215/332 4094/216/332 4086/211/332 +f 4086/211/332 4085/209/332 4093/215/332 +f 4102/221/413 4066/221/412 4065/222/412 +f 4065/222/412 4088/222/413 4102/221/413 +f 4088/222/426 4065/222/426 4068/203/426 +f 4068/203/426 4089/203/426 4088/222/426 +f 4089/203/425 4068/203/425 4095/206/425 +f 4095/206/425 4101/206/425 4089/203/425 +f 4101/206/415 4095/206/415 4096/223/415 +f 4096/223/415 4103/223/415 4101/206/415 +f 4103/224/473 4096/224/473 4067/226/473 +f 4067/226/473 4104/225/473 4103/224/473 +f 4104/225/430 4067/226/430 4066/224/430 +f 4066/224/430 4102/224/430 4104/225/430 +f 4098/214/468 4101/213/468 4103/228/468 +f 4103/228/468 4105/227/468 4098/214/468 +f 4105/229/413 4106/221/413 4097/219/413 +f 4097/219/413 4098/220/413 4105/229/413 +f 4074/206/415 4107/223/415 4108/230/415 +f 4108/230/415 4075/205/415 4074/206/415 +f 4108/227/107 4102/228/107 4088/213/107 +f 4088/213/107 4075/214/107 4108/227/107 +f 4071/201/415 4109/202/416 4110/199/416 +f 4110/199/416 4072/200/415 4071/201/415 +f 4108/231/485 4087/233/485 4086/232/485 +f 4086/232/485 4102/224/485 4108/231/485 +f 4102/224/430 4086/232/430 4094/234/430 +f 4094/234/430 4104/225/430 4102/224/430 +f 4104/225/473 4094/234/473 4091/232/473 +f 4091/232/473 4103/224/473 4104/225/473 +f 4103/224/428 4091/232/428 4090/233/428 +f 4090/233/428 4105/231/428 4103/224/428 +f 4079/200/412 4111/199/413 4112/202/413 +f 4112/202/413 4080/201/412 4079/200/412 +f 4083/208/466 4092/236/466 4093/235/466 +f 4093/235/466 4084/207/466 4083/208/466 +f 4084/207/471 4093/235/471 4085/236/471 +f 4085/236/471 4100/208/471 4084/207/471 +f 4107/236/27 4069/238/27 4072/237/27 +f 4072/237/27 4108/231/27 4107/236/27 +f 4108/231/27 4072/237/27 4110/239/27 +f 4110/239/27 4087/233/27 4108/231/27 +f 4087/210/193 4110/241/193 4109/240/193 +f 4109/240/193 4085/209/193 4087/210/193 +f 4085/236/26 4109/238/26 4071/242/26 +f 4071/242/26 4100/208/26 4085/236/26 +f 4100/208/26 4071/242/26 4070/240/26 +f 4070/240/26 4099/209/26 4100/208/26 +f 4082/209/26 4077/240/26 4080/242/26 +f 4080/242/26 4083/208/26 4082/209/26 +f 4083/208/26 4080/242/26 4112/238/26 +f 4112/238/26 4092/236/26 4083/208/26 +f 4092/209/475 4112/240/475 4111/241/475 +f 4111/241/475 4090/210/475 4092/209/475 +f 4090/233/27 4111/239/27 4079/237/27 +f 4079/237/27 4105/231/27 4090/233/27 +f 4105/231/27 4079/237/27 4078/238/27 +f 4078/238/27 4106/236/27 4105/231/27 +f 4113/243/476 4114/246/476 4115/245/476 +f 4115/245/476 4116/244/476 4113/243/476 +f 4113/247/477 4117/250/477 4118/249/477 +f 4118/249/477 4114/248/477 4113/247/477 +f 4114/246/478 4118/252/478 4119/251/478 +f 4119/251/478 4115/245/478 4114/246/478 +f 4115/248/479 4119/249/479 4120/250/479 +f 4120/250/479 4116/247/479 4115/248/479 +f 4121/195/464 4122/198/464 4123/197/464 +f 4123/197/464 4124/196/464 4121/195/464 +f 4125/199/416 4126/202/416 4127/201/415 +f 4127/201/415 4128/200/415 4125/199/416 +f 4129/203/421 4130/206/421 4131/205/421 +f 4131/205/421 4132/204/421 4129/203/421 +f 4133/202/413 4134/199/413 4135/200/412 +f 4135/200/412 4136/201/412 4133/202/413 +f 4137/207/466 4138/209/466 4139/208/466 +f 4139/208/466 4140/207/466 4137/207/466 +f 4141/209/107 4142/211/107 4143/210/107 +f 4132/212/467 4131/214/467 4144/213/467 +f 4144/213/467 4145/196/467 4132/212/467 +f 4146/210/468 4147/211/468 4148/209/468 +f 4149/215/469 4148/209/469 4147/211/469 +f 4147/211/469 4150/216/469 4149/215/469 +f 4151/217/103 4124/196/103 4123/197/103 +f 4123/197/103 4152/218/103 4151/217/103 +f 4153/219/470 4129/203/414 4132/204/414 +f 4132/204/414 4154/220/470 4153/219/470 +f 4155/209/471 4137/207/471 4140/207/471 +f 4140/207/471 4156/208/471 4155/209/471 +f 4132/212/472 4145/196/472 4157/213/472 +f 4157/213/472 4154/214/472 4132/212/472 +f 4149/215/332 4150/216/332 4142/211/332 +f 4142/211/332 4141/209/332 4149/215/332 +f 4158/221/413 4122/221/413 4121/222/413 +f 4121/222/413 4144/222/413 4158/221/413 +f 4144/222/426 4121/222/426 4124/203/426 +f 4124/203/426 4145/203/426 4144/222/426 +f 4145/203/425 4124/203/425 4151/206/425 +f 4151/206/425 4157/206/425 4145/203/425 +f 4157/206/415 4151/206/415 4152/223/415 +f 4152/223/415 4159/223/415 4157/206/415 +f 4159/224/473 4152/224/473 4123/226/473 +f 4123/226/473 4160/225/473 4159/224/473 +f 4160/225/430 4123/226/430 4122/224/430 +f 4122/224/430 4158/224/430 4160/225/430 +f 4154/214/468 4157/213/468 4159/228/468 +f 4159/228/468 4161/227/468 4154/214/468 +f 4161/229/437 4162/221/412 4153/219/412 +f 4153/219/412 4154/220/437 4161/229/437 +f 4130/206/415 4163/223/415 4164/230/416 +f 4164/230/416 4131/205/416 4130/206/415 +f 4164/227/107 4158/228/107 4144/213/107 +f 4144/213/107 4131/214/107 4164/227/107 +f 4127/201/415 4165/202/416 4166/199/416 +f 4166/199/416 4128/200/415 4127/201/415 +f 4164/231/485 4143/233/485 4142/232/485 +f 4142/232/485 4158/224/485 4164/231/485 +f 4158/224/430 4142/232/430 4150/234/430 +f 4150/234/430 4160/225/430 4158/224/430 +f 4160/225/473 4150/234/473 4147/232/473 +f 4147/232/473 4159/224/473 4160/225/473 +f 4159/224/428 4147/232/428 4146/233/428 +f 4146/233/428 4161/231/428 4159/224/428 +f 4135/200/412 4167/199/413 4168/202/413 +f 4168/202/413 4136/201/412 4135/200/412 +f 4139/208/466 4148/236/466 4149/235/466 +f 4149/235/466 4140/207/466 4139/208/466 +f 4140/207/471 4149/235/471 4141/236/471 +f 4141/236/471 4156/208/471 4140/207/471 +f 4163/236/27 4125/238/27 4128/237/27 +f 4128/237/27 4164/231/27 4163/236/27 +f 4164/231/27 4128/237/27 4166/239/27 +f 4166/239/27 4143/233/27 4164/231/27 +f 4143/210/193 4166/241/193 4165/240/193 +f 4165/240/193 4141/209/193 4143/210/193 +f 4141/236/26 4165/238/26 4127/242/26 +f 4127/242/26 4156/208/26 4141/236/26 +f 4156/208/26 4127/242/26 4126/240/26 +f 4126/240/26 4155/209/26 4156/208/26 +f 4138/209/26 4133/240/26 4136/242/26 +f 4136/242/26 4139/208/26 4138/209/26 +f 4139/208/26 4136/242/26 4168/238/26 +f 4168/238/26 4148/236/26 4139/208/26 +f 4148/209/475 4168/240/475 4167/241/475 +f 4167/241/475 4146/210/475 4148/209/475 +f 4146/233/27 4167/239/27 4135/237/27 +f 4135/237/27 4161/231/27 4146/233/27 +f 4161/231/27 4135/237/27 4134/238/27 +f 4134/238/27 4162/236/27 4161/231/27 +f 4169/243/460 4170/246/460 4171/245/460 +f 4171/245/460 4172/244/460 4169/243/460 +f 4169/247/461 4173/250/461 4174/249/461 +f 4174/249/461 4170/248/461 4169/247/461 +f 4170/246/462 4174/252/462 4175/251/462 +f 4175/251/462 4171/245/462 4170/246/462 +f 4171/248/463 4175/249/463 4176/250/463 +f 4176/250/463 4172/247/463 4171/248/463 +f 4177/195/387 4178/198/387 4179/197/387 +f 4179/197/387 4180/196/387 4177/195/387 +f 4181/199/388 4182/202/388 4183/201/388 +f 4183/201/388 4184/200/388 4181/199/388 +f 4185/203/389 4186/206/389 4187/205/389 +f 4187/205/389 4188/204/389 4185/203/389 +f 4189/202/390 4190/199/390 4191/200/390 +f 4191/200/390 4192/201/390 4189/202/390 +f 4193/207/391 4194/209/391 4195/208/391 +f 4195/208/391 4196/207/391 4193/207/391 +f 4197/209/392 4198/211/392 4199/210/392 +f 4188/212/393 4187/214/393 4200/213/393 +f 4200/213/393 4201/196/393 4188/212/393 +f 4202/210/394 4203/211/394 4204/209/394 +f 4205/215/395 4204/209/395 4203/211/395 +f 4203/211/395 4206/216/395 4205/215/395 +f 4207/217/396 4180/196/486 4179/197/486 +f 4179/197/486 4208/218/396 4207/217/396 +f 4209/219/397 4185/203/397 4188/204/397 +f 4188/204/397 4210/220/397 4209/219/397 +f 4211/209/398 4193/207/398 4196/207/398 +f 4196/207/398 4212/208/398 4211/209/398 +f 4188/212/399 4201/196/399 4213/213/399 +f 4213/213/399 4210/214/399 4188/212/399 +f 4205/215/400 4206/216/400 4198/211/400 +f 4198/211/400 4197/209/400 4205/215/400 +f 4214/221/390 4178/221/390 4177/222/390 +f 4177/222/390 4200/222/390 4214/221/390 +f 4200/222/401 4177/222/401 4180/203/401 +f 4180/203/401 4201/203/401 4200/222/401 +f 4201/203/402 4180/203/402 4207/206/402 +f 4207/206/402 4213/206/402 4201/203/402 +f 4213/206/388 4207/206/388 4208/223/388 +f 4208/223/388 4215/223/388 4213/206/388 +f 4215/224/403 4208/224/403 4179/226/403 +f 4179/226/403 4216/225/403 4215/224/403 +f 4216/225/404 4179/226/404 4178/224/404 +f 4178/224/404 4214/224/404 4216/225/404 +f 4210/214/394 4213/213/394 4215/228/394 +f 4215/228/394 4217/227/394 4210/214/394 +f 4217/229/390 4218/221/390 4209/219/390 +f 4209/219/390 4210/220/390 4217/229/390 +f 4186/206/388 4219/223/388 4220/230/388 +f 4220/230/388 4187/205/388 4186/206/388 +f 4220/227/392 4214/228/392 4200/213/392 +f 4200/213/392 4187/214/392 4220/227/392 +f 4183/201/388 4221/202/388 4222/199/388 +f 4222/199/388 4184/200/388 4183/201/388 +f 4220/231/405 4199/233/405 4198/232/405 +f 4198/232/405 4214/224/405 4220/231/405 +f 4214/224/404 4198/232/404 4206/234/404 +f 4206/234/404 4216/225/404 4214/224/404 +f 4216/225/403 4206/234/403 4203/232/403 +f 4203/232/403 4215/224/403 4216/225/403 +f 4215/224/407 4203/232/407 4202/233/407 +f 4202/233/407 4217/231/407 4215/224/407 +f 4191/200/390 4223/199/390 4224/202/390 +f 4224/202/390 4192/201/390 4191/200/390 +f 4195/208/391 4204/236/391 4205/235/391 +f 4205/235/391 4196/207/391 4195/208/391 +f 4196/207/398 4205/235/398 4197/236/398 +f 4197/236/398 4212/208/398 4196/207/398 +f 4219/236/27 4181/238/27 4184/237/27 +f 4184/237/27 4220/231/27 4219/236/27 +f 4220/231/27 4184/237/27 4222/239/27 +f 4222/239/27 4199/233/27 4220/231/27 +f 4199/210/409 4222/241/409 4221/240/409 +f 4221/240/409 4197/209/409 4199/210/409 +f 4197/236/26 4221/238/26 4183/242/26 +f 4183/242/26 4212/208/26 4197/236/26 +f 4212/208/26 4183/242/26 4182/240/26 +f 4182/240/26 4211/209/26 4212/208/26 +f 4194/209/26 4189/240/26 4192/242/26 +f 4192/242/26 4195/208/26 4194/209/26 +f 4195/208/26 4192/242/26 4224/238/26 +f 4224/238/26 4204/236/26 4195/208/26 +f 4204/209/410 4224/240/410 4223/241/410 +f 4223/241/410 4202/210/410 4204/209/410 +f 4202/233/27 4223/239/27 4191/237/27 +f 4191/237/27 4217/231/27 4202/233/27 +f 4217/231/27 4191/237/27 4190/238/27 +f 4190/238/27 4218/236/27 4217/231/27 +f 4225/243/148 4226/246/148 4227/245/148 +f 4227/245/148 4228/244/148 4225/243/148 +f 4225/247/7 4229/250/7 4230/249/7 +f 4230/249/7 4226/248/7 4225/247/7 +f 4226/246/149 4230/252/149 4231/251/149 +f 4231/251/149 4227/245/149 4226/246/149 +f 4227/248/1 4231/249/1 4232/250/1 +f 4232/250/1 4228/247/1 4227/248/1 +f 4233/243/187 4234/246/187 4235/245/187 +f 4235/245/187 4236/244/187 4233/243/187 +f 4233/247/161 4237/250/161 4238/249/161 +f 4238/249/161 4234/248/161 4233/247/161 +f 4234/246/188 4238/252/188 4239/251/188 +f 4239/251/188 4235/245/188 4234/246/188 +f 4235/248/163 4239/249/163 4240/250/163 +f 4240/250/163 4236/247/163 4235/248/163 +f 4241/243/154 4242/246/154 4243/245/154 +f 4243/245/154 4244/244/154 4241/243/154 +f 4241/247/1 4245/250/1 4246/249/1 +f 4246/249/1 4242/248/1 4241/247/1 +f 4242/246/155 4246/252/155 4247/251/155 +f 4247/251/155 4243/245/155 4242/246/155 +f 4243/248/7 4247/249/7 4248/250/7 +f 4248/250/7 4244/247/7 4243/248/7 +f 4249/243/439 4250/246/439 4251/245/439 +f 4251/245/439 4252/244/439 4249/243/439 +f 4249/247/440 4253/250/440 4254/249/440 +f 4254/249/440 4250/248/440 4249/247/440 +f 4250/246/441 4254/252/441 4255/251/441 +f 4255/251/441 4251/245/441 4250/246/441 +f 4251/248/442 4255/249/442 4256/250/442 +f 4256/250/442 4252/247/442 4251/248/442 +f 4257/243/180 4258/246/180 4259/245/180 +f 4259/245/180 4260/244/180 4257/243/180 +f 4257/247/151 4261/250/151 4262/249/151 +f 4262/249/151 4258/248/151 4257/247/151 +f 4258/246/181 4262/252/181 4263/251/181 +f 4263/251/181 4259/245/181 4258/246/181 +f 4259/248/153 4263/249/153 4264/250/153 +f 4264/250/153 4260/247/153 4259/248/153 +f 4265/195/387 4266/198/387 4267/197/387 +f 4267/197/387 4268/196/387 4265/195/387 +f 4269/199/388 4270/202/388 4271/201/388 +f 4271/201/388 4272/200/388 4269/199/388 +f 4273/203/389 4274/206/389 4275/205/389 +f 4275/205/389 4276/204/389 4273/203/389 +f 4277/202/390 4278/199/390 4279/200/390 +f 4279/200/390 4280/201/390 4277/202/390 +f 4281/207/391 4282/209/391 4283/208/391 +f 4283/208/391 4284/207/391 4281/207/391 +f 4285/209/392 4286/211/392 4287/210/392 +f 4276/212/393 4275/214/393 4288/213/393 +f 4288/213/393 4289/196/393 4276/212/393 +f 4290/210/394 4291/211/394 4292/209/394 +f 4293/215/395 4292/209/395 4291/211/395 +f 4291/211/395 4294/216/395 4293/215/395 +f 4295/217/396 4268/196/486 4267/197/486 +f 4267/197/486 4296/218/396 4295/217/396 +f 4297/219/397 4273/203/397 4276/204/397 +f 4276/204/397 4298/220/397 4297/219/397 +f 4299/209/398 4281/207/398 4284/207/398 +f 4284/207/398 4300/208/398 4299/209/398 +f 4276/212/399 4289/196/399 4301/213/399 +f 4301/213/399 4298/214/399 4276/212/399 +f 4293/215/400 4294/216/400 4286/211/400 +f 4286/211/400 4285/209/400 4293/215/400 +f 4302/221/390 4266/221/390 4265/222/390 +f 4265/222/390 4288/222/390 4302/221/390 +f 4288/222/401 4265/222/401 4268/203/401 +f 4268/203/401 4289/203/401 4288/222/401 +f 4289/203/402 4268/203/402 4295/206/402 +f 4295/206/402 4301/206/402 4289/203/402 +f 4301/206/388 4295/206/388 4296/223/388 +f 4296/223/388 4303/223/388 4301/206/388 +f 4303/224/403 4296/224/403 4267/226/403 +f 4267/226/403 4304/225/403 4303/224/403 +f 4304/225/404 4267/226/404 4266/224/404 +f 4266/224/404 4302/224/404 4304/225/404 +f 4298/214/394 4301/213/394 4303/228/394 +f 4303/228/394 4305/227/394 4298/214/394 +f 4305/229/390 4306/221/390 4297/219/390 +f 4297/219/390 4298/220/390 4305/229/390 +f 4274/206/388 4307/223/388 4308/230/388 +f 4308/230/388 4275/205/388 4274/206/388 +f 4308/227/392 4302/228/392 4288/213/392 +f 4288/213/392 4275/214/392 4308/227/392 +f 4271/201/388 4309/202/388 4310/199/388 +f 4310/199/388 4272/200/388 4271/201/388 +f 4308/231/405 4287/233/405 4286/232/405 +f 4286/232/405 4302/224/405 4308/231/405 +f 4302/224/404 4286/232/404 4294/234/404 +f 4294/234/404 4304/225/404 4302/224/404 +f 4304/225/403 4294/234/403 4291/232/403 +f 4291/232/403 4303/224/403 4304/225/403 +f 4303/224/407 4291/232/407 4290/233/407 +f 4290/233/407 4305/231/407 4303/224/407 +f 4279/200/390 4311/199/390 4312/202/390 +f 4312/202/390 4280/201/390 4279/200/390 +f 4283/208/391 4292/236/391 4293/235/391 +f 4293/235/391 4284/207/391 4283/208/391 +f 4284/207/398 4293/235/398 4285/236/398 +f 4285/236/398 4300/208/398 4284/207/398 +f 4307/236/27 4269/238/27 4272/237/27 +f 4272/237/27 4308/231/27 4307/236/27 +f 4308/231/27 4272/237/27 4310/239/27 +f 4310/239/27 4287/233/27 4308/231/27 +f 4287/210/409 4310/241/409 4309/240/409 +f 4309/240/409 4285/209/409 4287/210/409 +f 4285/236/26 4309/238/26 4271/242/26 +f 4271/242/26 4300/208/26 4285/236/26 +f 4300/208/26 4271/242/26 4270/240/26 +f 4270/240/26 4299/209/26 4300/208/26 +f 4282/209/26 4277/240/26 4280/242/26 +f 4280/242/26 4283/208/26 4282/209/26 +f 4283/208/26 4280/242/26 4312/238/26 +f 4312/238/26 4292/236/26 4283/208/26 +f 4292/209/410 4312/240/410 4311/241/410 +f 4311/241/410 4290/210/410 4292/209/410 +f 4290/233/27 4311/239/27 4279/237/27 +f 4279/237/27 4305/231/27 4290/233/27 +f 4305/231/27 4279/237/27 4278/238/27 +f 4278/238/27 4306/236/27 4305/231/27 +f 4313/195/436 4314/198/436 4315/197/411 +f 4315/197/411 4316/196/411 4313/195/436 +f 4317/199/437 4318/202/437 4319/201/437 +f 4319/201/437 4320/200/437 4317/199/437 +f 4321/203/414 4322/206/414 4323/205/414 +f 4323/205/414 4324/204/414 4321/203/414 +f 4325/202/465 4326/199/465 4327/200/465 +f 4327/200/465 4328/201/465 4325/202/465 +f 4329/207/417 4330/209/417 4331/208/417 +f 4331/208/417 4332/207/417 4329/207/417 +f 4333/209/171 4334/211/171 4335/210/171 +f 4324/212/418 4323/214/418 4336/213/418 +f 4336/213/418 4337/196/418 4324/212/418 +f 4338/210/419 4339/211/419 4340/209/419 +f 4341/215/420 4340/209/420 4339/211/420 +f 4339/211/420 4342/216/420 4341/215/420 +f 4343/217/167 4316/196/167 4315/197/167 +f 4315/197/167 4344/218/167 4343/217/167 +f 4345/219/438 4321/203/421 4324/204/421 +f 4324/204/421 4346/220/421 4345/219/438 +f 4347/209/422 4329/207/422 4332/207/422 +f 4332/207/422 4348/208/422 4347/209/422 +f 4324/212/423 4337/196/423 4349/213/423 +f 4349/213/423 4346/214/423 4324/212/423 +f 4341/215/424 4342/216/424 4334/211/424 +f 4334/211/424 4333/209/424 4341/215/424 +f 4350/221/465 4314/221/465 4313/222/465 +f 4313/222/465 4336/222/465 4350/221/465 +f 4336/222/425 4313/222/425 4316/203/425 +f 4316/203/425 4337/203/425 4336/222/425 +f 4337/203/426 4316/203/426 4343/206/426 +f 4343/206/426 4349/206/426 4337/203/426 +f 4349/206/437 4343/206/437 4344/223/437 +f 4344/223/437 4351/223/437 4349/206/437 +f 4351/224/427 4344/224/427 4315/226/427 +f 4315/226/427 4352/225/427 4351/224/427 +f 4352/225/428 4315/226/428 4314/224/428 +f 4314/224/428 4350/224/428 4352/225/428 +f 4346/214/419 4349/213/419 4351/228/419 +f 4351/228/419 4353/227/419 4346/214/419 +f 4353/229/465 4354/221/465 4345/219/465 +f 4345/219/465 4346/220/465 4353/229/465 +f 4322/206/437 4355/223/437 4356/230/437 +f 4356/230/437 4323/205/437 4322/206/437 +f 4356/227/171 4350/228/171 4336/213/171 +f 4336/213/171 4323/214/171 4356/227/171 +f 4319/201/437 4357/202/437 4358/199/437 +f 4358/199/437 4320/200/437 4319/201/437 +f 4356/231/487 4335/233/487 4334/232/487 +f 4334/232/487 4350/224/487 4356/231/487 +f 4350/224/428 4334/232/428 4342/234/428 +f 4342/234/428 4352/225/428 4350/224/428 +f 4352/225/427 4342/234/427 4339/232/427 +f 4339/232/427 4351/224/427 4352/225/427 +f 4351/224/430 4339/232/430 4338/233/430 +f 4338/233/430 4353/231/430 4351/224/430 +f 4327/200/465 4359/199/465 4360/202/465 +f 4360/202/465 4328/201/465 4327/200/465 +f 4331/208/417 4340/236/417 4341/235/417 +f 4341/235/417 4332/207/417 4331/208/417 +f 4332/207/422 4341/235/422 4333/236/422 +f 4333/236/422 4348/208/422 4332/207/422 +f 4355/236/27 4317/238/27 4320/237/27 +f 4320/237/27 4356/231/27 4355/236/27 +f 4356/231/27 4320/237/27 4358/239/27 +f 4358/239/27 4335/233/27 4356/231/27 +f 4335/210/191 4358/241/191 4357/240/191 +f 4357/240/191 4333/209/191 4335/210/191 +f 4333/236/26 4357/238/26 4319/242/26 +f 4319/242/26 4348/208/26 4333/236/26 +f 4348/208/26 4319/242/26 4318/240/26 +f 4318/240/26 4347/209/26 4348/208/26 +f 4330/209/26 4325/240/26 4328/242/26 +f 4328/242/26 4331/208/26 4330/209/26 +f 4331/208/26 4328/242/26 4360/238/26 +f 4360/238/26 4340/236/26 4331/208/26 +f 4340/209/431 4360/240/431 4359/241/431 +f 4359/241/431 4338/210/431 4340/209/431 +f 4338/233/27 4359/239/27 4327/237/27 +f 4327/237/27 4353/231/27 4338/233/27 +f 4353/231/27 4327/237/27 4326/238/27 +f 4326/238/27 4354/236/27 4353/231/27 +f 4361/243/160 4362/246/160 4363/245/160 +f 4363/245/160 4364/244/160 4361/243/160 +f 4361/247/163 4365/250/163 4366/249/163 +f 4366/249/163 4362/248/163 4361/247/163 +f 4362/246/162 4366/252/162 4367/251/162 +f 4367/251/162 4363/245/162 4362/246/162 +f 4363/248/161 4367/249/161 4368/250/161 +f 4368/250/161 4364/247/161 4363/248/161 +f 4369/195/411 4370/198/411 4371/197/436 +f 4371/197/436 4372/196/436 4369/195/411 +f 4373/199/437 4374/202/437 4375/201/437 +f 4375/201/437 4376/200/437 4373/199/437 +f 4377/203/414 4378/206/414 4379/205/414 +f 4379/205/414 4380/204/414 4377/203/414 +f 4381/202/465 4382/199/465 4383/200/465 +f 4383/200/465 4384/201/465 4381/202/465 +f 4385/207/417 4386/209/417 4387/208/417 +f 4387/208/417 4388/207/417 4385/207/417 +f 4389/209/171 4390/211/171 4391/210/171 +f 4380/212/418 4379/214/418 4392/213/418 +f 4392/213/418 4393/196/418 4380/212/418 +f 4394/210/419 4395/211/419 4396/209/419 +f 4397/215/420 4396/209/420 4395/211/420 +f 4395/211/420 4398/216/420 4397/215/420 +f 4399/217/167 4372/196/167 4371/197/167 +f 4371/197/167 4400/218/167 4399/217/167 +f 4401/219/421 4377/203/421 4380/204/438 +f 4380/204/438 4402/220/421 4401/219/421 +f 4403/209/422 4385/207/422 4388/207/422 +f 4388/207/422 4404/208/422 4403/209/422 +f 4380/212/423 4393/196/423 4405/213/423 +f 4405/213/423 4402/214/423 4380/212/423 +f 4397/215/424 4398/216/424 4390/211/424 +f 4390/211/424 4389/209/424 4397/215/424 +f 4406/221/465 4370/221/465 4369/222/465 +f 4369/222/465 4392/222/465 4406/221/465 +f 4392/222/425 4369/222/425 4372/203/425 +f 4372/203/425 4393/203/425 4392/222/425 +f 4393/203/426 4372/203/426 4399/206/426 +f 4399/206/426 4405/206/426 4393/203/426 +f 4405/206/437 4399/206/437 4400/223/437 +f 4400/223/437 4407/223/437 4405/206/437 +f 4407/224/427 4400/224/427 4371/226/427 +f 4371/226/427 4408/225/427 4407/224/427 +f 4408/225/428 4371/226/428 4370/224/428 +f 4370/224/428 4406/224/428 4408/225/428 +f 4402/214/419 4405/213/419 4407/228/419 +f 4407/228/419 4409/227/419 4402/214/419 +f 4409/229/465 4410/221/465 4401/219/465 +f 4401/219/465 4402/220/465 4409/229/465 +f 4378/206/437 4411/223/437 4412/230/437 +f 4412/230/437 4379/205/437 4378/206/437 +f 4412/227/171 4406/228/171 4392/213/171 +f 4392/213/171 4379/214/171 4412/227/171 +f 4375/201/437 4413/202/437 4414/199/437 +f 4414/199/437 4376/200/437 4375/201/437 +f 4412/231/487 4391/233/487 4390/232/487 +f 4390/232/487 4406/224/487 4412/231/487 +f 4406/224/428 4390/232/428 4398/234/428 +f 4398/234/428 4408/225/428 4406/224/428 +f 4408/225/427 4398/234/427 4395/232/427 +f 4395/232/427 4407/224/427 4408/225/427 +f 4407/224/430 4395/232/430 4394/233/430 +f 4394/233/430 4409/231/430 4407/224/430 +f 4383/200/465 4415/199/465 4416/202/465 +f 4416/202/465 4384/201/465 4383/200/465 +f 4387/208/417 4396/236/417 4397/235/417 +f 4397/235/417 4388/207/417 4387/208/417 +f 4388/207/422 4397/235/422 4389/236/422 +f 4389/236/422 4404/208/422 4388/207/422 +f 4411/236/27 4373/238/27 4376/237/27 +f 4376/237/27 4412/231/27 4411/236/27 +f 4412/231/27 4376/237/27 4414/239/27 +f 4414/239/27 4391/233/27 4412/231/27 +f 4391/210/191 4414/241/191 4413/240/191 +f 4413/240/191 4389/209/191 4391/210/191 +f 4389/236/26 4413/238/26 4375/242/26 +f 4375/242/26 4404/208/26 4389/236/26 +f 4404/208/26 4375/242/26 4374/240/26 +f 4374/240/26 4403/209/26 4404/208/26 +f 4386/209/26 4381/240/26 4384/242/26 +f 4384/242/26 4387/208/26 4386/209/26 +f 4387/208/26 4384/242/26 4416/238/26 +f 4416/238/26 4396/236/26 4387/208/26 +f 4396/209/431 4416/240/431 4415/241/431 +f 4415/241/431 4394/210/431 4396/209/431 +f 4394/233/27 4415/239/27 4383/237/27 +f 4383/237/27 4409/231/27 4394/233/27 +f 4409/231/27 4383/237/27 4382/238/27 +f 4382/238/27 4410/236/27 4409/231/27 +f 4417/243/432 4418/246/432 4419/245/432 +f 4419/245/432 4420/244/432 4417/243/432 +f 4417/247/433 4421/250/433 4422/249/433 +f 4422/249/433 4418/248/433 4417/247/433 +f 4418/246/434 4422/252/434 4423/251/434 +f 4423/251/434 4419/245/434 4418/246/434 +f 4419/248/435 4423/249/435 4424/250/435 +f 4424/250/435 4420/247/435 4419/248/435 +f 4425/195/443 4426/198/443 4427/197/443 +f 4427/197/443 4428/196/443 4425/195/443 +f 4429/199/390 4430/202/390 4431/201/390 +f 4431/201/390 4432/200/390 4429/199/390 +f 4433/203/444 4434/206/444 4435/205/444 +f 4435/205/444 4436/204/444 4433/203/444 +f 4437/202/388 4438/199/388 4439/200/388 +f 4439/200/388 4440/201/388 4437/202/388 +f 4441/207/398 4442/209/398 4443/208/398 +f 4443/208/398 4444/207/398 4441/207/398 +f 4445/209/445 4446/211/445 4447/210/445 +f 4436/212/446 4435/214/446 4448/213/446 +f 4448/213/446 4449/196/446 4436/212/446 +f 4450/210/447 4451/211/447 4452/209/447 +f 4453/215/448 4452/209/448 4451/211/448 +f 4451/211/448 4454/216/448 4453/215/448 +f 4455/217/449 4428/196/449 4427/197/449 +f 4427/197/449 4456/218/449 4455/217/449 +f 4457/219/451 4433/203/451 4436/204/451 +f 4436/204/451 4458/220/451 4457/219/451 +f 4459/209/391 4441/207/391 4444/207/391 +f 4444/207/391 4460/208/391 4459/209/391 +f 4436/212/452 4449/196/452 4461/213/452 +f 4461/213/452 4458/214/452 4436/212/452 +f 4453/215/453 4454/216/453 4446/211/453 +f 4446/211/453 4445/209/453 4453/215/453 +f 4462/221/388 4426/221/388 4425/222/388 +f 4425/222/388 4448/222/388 4462/221/388 +f 4448/222/402 4425/222/402 4428/203/402 +f 4428/203/402 4449/203/402 4448/222/402 +f 4449/203/401 4428/203/401 4455/206/401 +f 4455/206/401 4461/206/401 4449/203/401 +f 4461/206/390 4455/206/390 4456/223/390 +f 4456/223/390 4463/223/390 4461/206/390 +f 4463/224/454 4456/224/454 4427/226/454 +f 4427/226/454 4464/225/454 4463/224/454 +f 4464/225/455 4427/226/455 4426/224/455 +f 4426/224/455 4462/224/455 4464/225/455 +f 4458/214/447 4461/213/447 4463/228/447 +f 4463/228/447 4465/227/447 4458/214/447 +f 4465/229/388 4466/221/388 4457/219/388 +f 4457/219/388 4458/220/388 4465/229/388 +f 4434/206/390 4467/223/390 4468/230/390 +f 4468/230/390 4435/205/390 4434/206/390 +f 4468/227/445 4462/228/445 4448/213/445 +f 4448/213/445 4435/214/445 4468/227/445 +f 4431/201/390 4469/202/390 4470/199/390 +f 4470/199/390 4432/200/390 4431/201/390 +f 4468/231/456 4447/233/456 4446/232/456 +f 4446/232/456 4462/224/456 4468/231/456 +f 4462/224/455 4446/232/455 4454/234/455 +f 4454/234/455 4464/225/455 4462/224/455 +f 4464/225/454 4454/234/454 4451/232/454 +f 4451/232/454 4463/224/454 4464/225/454 +f 4463/224/457 4451/232/457 4450/233/457 +f 4450/233/457 4465/231/457 4463/224/457 +f 4439/200/388 4471/199/388 4472/202/388 +f 4472/202/388 4440/201/388 4439/200/388 +f 4443/208/398 4452/236/398 4453/235/398 +f 4453/235/398 4444/207/398 4443/208/398 +f 4444/207/391 4453/235/391 4445/236/391 +f 4445/236/391 4460/208/391 4444/207/391 +f 4467/236/27 4429/238/27 4432/237/27 +f 4432/237/27 4468/231/27 4467/236/27 +f 4468/231/27 4432/237/27 4470/239/27 +f 4470/239/27 4447/233/27 4468/231/27 +f 4447/210/484 4470/241/484 4469/240/484 +f 4469/240/484 4445/209/484 4447/210/484 +f 4445/236/26 4469/238/26 4431/242/26 +f 4431/242/26 4460/208/26 4445/236/26 +f 4460/208/26 4431/242/26 4430/240/26 +f 4430/240/26 4459/209/26 4460/208/26 +f 4442/209/26 4437/240/26 4440/242/26 +f 4440/242/26 4443/208/26 4442/209/26 +f 4443/208/26 4440/242/26 4472/238/26 +f 4472/238/26 4452/236/26 4443/208/26 +f 4452/209/459 4472/240/459 4471/241/459 +f 4471/241/459 4450/210/459 4452/209/459 +f 4450/233/27 4471/239/27 4439/237/27 +f 4439/237/27 4465/231/27 4450/233/27 +f 4465/231/27 4439/237/27 4438/238/27 +f 4438/238/27 4466/236/27 4465/231/27 +f 4473/243/150 4474/246/150 4475/245/150 +f 4475/245/150 4476/244/150 4473/243/150 +f 4473/247/153 4477/250/153 4478/249/153 +f 4478/249/153 4474/248/153 4473/247/153 +f 4474/246/152 4478/252/152 4479/251/152 +f 4479/251/152 4475/245/152 4474/246/152 +f 4475/248/151 4479/249/151 4480/250/151 +f 4480/250/151 4476/247/151 4475/248/151 +f 4481/253/18 4482/256/18 4483/255/18 +f 4483/255/18 4484/254/18 4481/253/18 +f 4485/257/17 4486/258/17 4482/256/17 +f 4482/256/17 4481/253/17 4485/257/17 +f 4487/259/16 4488/260/16 4486/258/16 +f 4486/258/16 4485/257/16 4487/259/16 +f 4489/261/15 4490/264/15 4488/263/15 +f 4488/263/15 4487/262/118 4489/261/15 +f 4491/265/14 4492/266/14 4490/264/14 +f 4490/264/14 4489/261/14 4491/265/14 +f 4493/267/13 4494/268/13 4492/266/13 +f 4492/266/13 4491/265/13 4493/267/13 +f 4495/269/25 4496/270/25 4494/268/24 +f 4494/268/24 4493/267/24 4495/269/25 +f 4497/271/23 4498/272/23 4496/270/23 +f 4496/270/23 4495/269/23 4497/271/23 +f 4499/273/191 4500/274/22 4498/272/22 +f 4498/272/22 4497/271/22 4499/273/191 +f 4501/275/21 4502/276/21 4500/274/21 +f 4500/274/21 4499/273/21 4501/275/21 +f 4503/277/20 4504/278/20 4502/276/20 +f 4502/276/20 4501/275/20 4503/277/20 +f 4484/254/19 4483/255/19 4504/278/190 +f 4504/278/190 4503/277/190 4484/254/19 +f 4482/279/27 4505/282/27 4506/281/27 +f 4506/281/27 4483/280/27 4482/279/27 +f 4507/283/27 4508/284/27 4509/282/27 +f 4509/282/27 4510/279/27 4507/283/27 +f 4488/285/27 4511/285/27 4512/284/27 +f 4512/284/27 4486/283/27 4488/285/27 +f 4513/286/27 4514/287/27 4515/285/27 +f 4515/285/27 4516/285/27 4513/286/27 +f 4492/288/27 4517/289/27 4518/287/27 +f 4518/287/27 4490/286/27 4492/288/27 +f 4519/290/27 4520/291/27 4521/289/27 +f 4521/289/27 4522/288/27 4519/290/27 +f 4496/292/27 4523/293/27 4524/291/27 +f 4524/291/27 4494/290/27 4496/292/27 +f 4525/294/27 4526/295/27 4527/293/27 +f 4527/293/27 4528/292/27 4525/294/27 +f 4500/296/27 4529/297/27 4530/295/27 +f 4530/295/27 4498/294/27 4500/296/27 +f 4531/298/27 4532/299/27 4533/297/27 +f 4533/297/27 4534/296/27 4531/298/27 +f 4504/300/27 4535/300/27 4536/299/27 +f 4536/299/27 4502/298/27 4504/300/27 +f 4537/280/27 4538/281/27 4539/300/27 +f 4539/300/27 4540/300/27 4537/280/27 +f 4505/301/24 4541/304/24 4542/303/24 +f 4542/303/24 4506/302/24 4505/301/24 +f 4512/305/23 4543/306/23 4541/304/23 +f 4541/304/23 4505/301/23 4512/305/23 +f 4511/307/22 4544/308/22 4543/306/22 +f 4543/306/22 4512/305/191 4511/307/22 +f 4518/309/21 4545/310/21 4544/308/21 +f 4544/308/21 4511/307/21 4518/309/21 +f 4517/311/20 4546/312/20 4545/310/20 +f 4545/310/20 4518/309/20 4517/311/20 +f 4524/313/19 4547/314/19 4546/312/19 +f 4546/312/19 4517/311/19 4524/313/19 +f 4523/315/194 4548/316/194 4547/314/18 +f 4547/314/18 4524/313/18 4523/315/194 +f 4530/317/17 4549/318/17 4548/316/17 +f 4548/316/17 4523/315/17 4530/317/17 +f 4529/319/16 4550/320/16 4549/318/16 +f 4549/318/16 4530/317/16 4529/319/16 +f 4536/321/118 4551/324/15 4550/323/15 +f 4550/323/15 4529/322/15 4536/321/118 +f 4535/325/14 4552/326/14 4551/324/14 +f 4551/324/14 4536/321/14 4535/325/14 +f 4506/302/13 4542/303/13 4552/326/192 +f 4552/326/192 4535/325/192 4506/302/13 +f 4541/327/27 4553/329/27 4542/328/27 +f 4543/330/27 4553/329/27 4541/327/27 +f 4544/331/27 4553/329/27 4543/330/27 +f 4545/332/27 4553/329/27 4544/331/27 +f 4546/333/27 4553/329/27 4545/332/27 +f 4547/334/27 4553/329/27 4546/333/27 +f 4548/335/27 4553/329/27 4547/334/27 +f 4549/336/27 4553/329/27 4548/335/27 +f 4550/337/27 4553/329/27 4549/336/27 +f 4551/338/27 4553/329/27 4550/337/27 +f 4552/339/27 4553/329/27 4551/338/27 +f 4542/328/27 4553/329/27 4552/339/27 +f 4486/258/17 4507/341/17 4510/340/17 +f 4510/340/17 4482/256/17 4486/258/17 +f 4482/279/151 4510/279/151 4509/282/151 +f 4509/282/151 4505/282/151 4482/279/151 +f 4505/301/23 4509/343/23 4508/342/23 +f 4508/342/23 4512/305/23 4505/301/23 +f 4512/284/198 4508/284/198 4507/283/198 +f 4507/283/198 4486/283/198 4512/284/198 +f 4490/264/15 4513/345/15 4516/344/15 +f 4516/344/15 4488/263/15 4490/264/15 +f 4488/285/7 4516/285/7 4515/285/7 +f 4515/285/7 4511/285/7 4488/285/7 +f 4511/307/21 4515/347/21 4514/346/21 +f 4514/346/21 4518/309/21 4511/307/21 +f 4518/287/197 4514/287/197 4513/286/197 +f 4513/286/197 4490/286/197 4518/287/197 +f 4494/268/13 4519/349/13 4522/348/13 +f 4522/348/13 4492/266/13 4494/268/13 +f 4492/288/163 4522/288/163 4521/289/163 +f 4521/289/163 4517/289/163 4492/288/163 +f 4517/311/19 4521/351/19 4520/350/19 +f 4520/350/19 4524/313/19 4517/311/19 +f 4524/291/10 4520/291/10 4519/290/10 +f 4519/290/10 4494/290/10 4524/291/10 +f 4498/272/23 4525/353/23 4528/352/23 +f 4528/352/23 4496/270/23 4498/272/23 +f 4496/292/153 4528/292/153 4527/293/153 +f 4527/293/153 4523/293/153 4496/292/153 +f 4523/315/17 4527/355/17 4526/354/17 +f 4526/354/17 4530/317/17 4523/315/17 +f 4530/295/196 4526/295/196 4525/294/196 +f 4525/294/196 4498/294/196 4530/295/196 +f 4502/276/21 4531/357/21 4534/356/178 +f 4534/356/178 4500/274/21 4502/276/21 +f 4500/296/1 4534/296/1 4533/297/1 +f 4533/297/1 4529/297/1 4500/296/1 +f 4529/322/15 4533/359/15 4532/358/15 +f 4532/358/15 4536/321/118 4529/322/15 +f 4536/299/195 4532/299/195 4531/298/195 +f 4531/298/195 4502/298/195 4536/299/195 +f 4483/255/19 4537/361/19 4540/360/19 +f 4540/360/19 4504/278/190 4483/255/19 +f 4504/300/161 4540/300/161 4539/300/161 +f 4539/300/161 4535/300/161 4504/300/161 +f 4535/325/192 4539/363/192 4538/362/13 +f 4538/362/13 4506/302/13 4535/325/192 +f 4506/281/4 4538/281/4 4537/280/4 +f 4537/280/4 4483/280/4 4506/281/4 +# 7168 faces + diff --git a/examples/web/models/resources/models/castle_diffuse.png b/examples/web/models/resources/models/castle_diffuse.png new file mode 100644 index 0000000..b616e1d Binary files /dev/null and b/examples/web/models/resources/models/castle_diffuse.png differ diff --git a/examples/web/models/resources/models/cube.obj b/examples/web/models/resources/models/cube.obj new file mode 100644 index 0000000..bf7e3be --- /dev/null +++ b/examples/web/models/resources/models/cube.obj @@ -0,0 +1,68 @@ +# reference material +#mtllib cube.mtl + +# object box + +# vertex (XZY) +v 5.5 0 1.5 +v 8.5 0 1.5 +v 5.5 0 -1.5 +v 8.5 0 -1.5 +v 5.5 3 1.5 +v 8.5 3 1.5 +v 5.5 3 -1.5 +v 8.5 3 -1.5 + +# normals (XYZ) +vn 0 -1 0 +vn 0 1 0 +vn 0 0 1 +vn 1 0 0 +vn 0 0 -1 +vn -1 0 0 + +# UVs (XY) +vt 0.5 0 0 +vt 1 0 0 +vt 1 0.5 0 +vt 0.5 0.5 0 +vt 0.5 0.5 0 +vt 1 0.5 0 +vt 0.5 1 0 +vt 1 1 0 +vt 0 0.5 0 +vt 1 0.5 0 +vt 1 0 0 +vt 0 0 0 +vt 0 0.5 0 +vt 1 0.5 0 +vt 1 1 0 +vt 0 1 0 +vt 0.5 0 0 +vt 0 0 0 +vt 0 0.5 0 +vt 0.5 0.5 0 +vt 0 0.5 0 +vt 0.5 0.5 0 +vt 0.5 1 0 +vt 0 1 0 + +# merger +g box + +# reference material +#usemtl mat01 + +# faces +f 1/9/1 3/10/1 4/11/1 +f 4/11/1 2/12/1 1/9/1 +f 5/13/2 6/14/2 8/15/2 +f 8/15/2 7/16/2 5/13/2 +f 1/17/6 2/18/6 6/19/6 +f 6/19/6 5/20/6 1/17/6 +f 2/6/1 4/5/1 8/7/1 +f 8/7/1 6/8/1 2/6/1 +f 4/2/3 3/1/3 7/4/3 +f 7/4/3 8/3/3 4/2/3 +f 3/22/5 1/21/5 5/24/5 +f 5/24/5 7/23/5 3/22/5 diff --git a/examples/web/models/resources/models/cube_diffuse.png b/examples/web/models/resources/models/cube_diffuse.png new file mode 100644 index 0000000..25e0377 Binary files /dev/null and b/examples/web/models/resources/models/cube_diffuse.png differ diff --git a/examples/web/models/resources/models/house.obj b/examples/web/models/resources/models/house.obj new file mode 100644 index 0000000..67d2c88 --- /dev/null +++ b/examples/web/models/resources/models/house.obj @@ -0,0 +1,4564 @@ +# (c) 2018 Medieval Assets Pack by Alberto Cano +# Licensed as Creative Commons Attribution-NonCommercial 4.0 + +# +# object house +# + +v -6.3138 8.7250 -0.7017 +v -7.4057 8.9558 -0.7017 +v -7.3659 9.1439 -0.7017 +v -6.2741 8.9132 -0.7017 +v -7.2840 9.5316 -0.1884 +v -6.1921 9.3008 -0.1884 +v -6.2319 9.1127 -0.1884 +v -6.1895 9.3135 -0.0777 +v -7.2813 9.5443 -0.0777 +v -6.2292 9.1254 -0.0777 +v -6.3138 8.7250 0.5464 +v -6.2741 8.9132 0.5464 +v -7.3659 9.1439 0.5464 +v -7.4057 8.9558 0.5464 +v -6.1921 9.3008 0.0331 +v -7.2840 9.5316 0.0331 +v -6.2319 9.1127 0.0331 +v -5.1675 8.5556 -0.7017 +v -6.2794 8.6512 -0.7017 +v -6.2629 8.8428 -0.7017 +v -5.1510 8.7472 -0.7017 +v -6.2290 9.2375 -0.1884 +v -5.1171 9.1420 -0.1884 +v -5.1335 8.9504 -0.1884 +v -5.1160 9.1549 -0.0777 +v -6.2279 9.2504 -0.0777 +v -5.1324 8.9633 -0.0777 +v -5.1675 8.5556 0.5464 +v -5.1510 8.7472 0.5464 +v -6.2629 8.8428 0.5464 +v -6.2794 8.6512 0.5464 +v -5.1171 9.1420 0.0331 +v -6.2290 9.2375 0.0331 +v -5.1335 8.9504 0.0331 +v -3.1858 8.2183 -0.7017 +v -4.3011 8.2559 -0.7017 +v -4.2946 8.4481 -0.7017 +v -3.1793 8.4104 -0.7017 +v -4.2813 8.8441 -0.1884 +v -3.1659 8.8064 -0.1884 +v -3.1724 8.6143 -0.1884 +v -3.1655 8.8194 -0.0777 +v -4.2808 8.8570 -0.0777 +v -3.1720 8.6272 -0.0777 +v -3.1858 8.2183 0.5464 +v -3.1793 8.4104 0.5464 +v -4.2946 8.4481 0.5464 +v -4.3011 8.2559 0.5464 +v -3.1659 8.8064 0.0331 +v -4.2813 8.8441 0.0331 +v -3.1724 8.6143 0.0331 +v -4.2172 8.3089 -0.7017 +v -5.3250 8.4436 -0.7017 +v -5.3018 8.6344 -0.7017 +v -4.1940 8.4997 -0.7017 +v -5.2540 9.0278 -0.1884 +v -4.1462 8.8931 -0.1884 +v -4.1694 8.7022 -0.1884 +v -4.1446 8.9059 -0.0777 +v -5.2524 9.0406 -0.0777 +v -4.1678 8.7150 -0.0777 +v -4.2172 8.3089 0.5464 +v -4.1940 8.4997 0.5464 +v -5.3018 8.6344 0.5464 +v -5.3250 8.4436 0.5464 +v -4.1462 8.8931 0.0331 +v -5.2540 9.0278 0.0331 +v -4.1694 8.7022 0.0331 +v 6.7499 10.4845 -0.7017 +v 6.7434 10.6766 -0.7017 +v 7.8588 10.7143 -0.7017 +v 7.8653 10.5221 -0.7017 +v 7.8454 11.1103 -0.1884 +v 6.7301 11.0726 -0.1884 +v 6.7366 10.8805 -0.1884 +v 6.7296 11.0856 -0.0777 +v 7.8450 11.1232 -0.0777 +v 6.7361 10.8934 -0.0777 +v 6.7499 10.4845 0.5464 +v 7.8653 10.5221 0.5464 +v 7.8588 10.7143 0.5464 +v 6.7434 10.6766 0.5464 +v 7.8454 11.1103 0.0331 +v 6.7301 11.0726 0.0331 +v 6.7366 10.8805 0.0331 +v 5.8327 10.2129 -0.7017 +v 5.7996 10.4023 -0.7017 +v 6.8989 10.5944 -0.7017 +v 6.9320 10.4050 -0.7017 +v 6.8307 10.9847 -0.1884 +v 5.7314 10.7926 -0.1884 +v 5.7645 10.6032 -0.1884 +v 5.7291 10.8054 -0.0777 +v 6.8284 10.9974 -0.0777 +v 5.7622 10.6159 -0.0777 +v 5.8327 10.2129 0.5464 +v 6.9320 10.4050 0.5464 +v 6.8989 10.5944 0.5464 +v 5.7996 10.4023 0.5464 +v 6.8307 10.9847 0.0331 +v 5.7314 10.7926 0.0331 +v 5.7645 10.6032 0.0331 +v 4.8462 10.0032 -0.7017 +v 4.8230 10.1940 -0.7017 +v 5.9308 10.3287 -0.7017 +v 5.9540 10.1379 -0.7017 +v 5.8830 10.7221 -0.1884 +v 4.7752 10.5874 -0.1884 +v 4.7984 10.3965 -0.1884 +v 4.7736 10.6002 -0.0777 +v 5.8814 10.7349 -0.0777 +v 4.7968 10.4094 -0.0777 +v 4.8462 10.0032 0.5464 +v 5.9540 10.1379 0.5464 +v 5.9308 10.3287 0.5464 +v 4.8230 10.1940 0.5464 +v 5.8830 10.7221 0.0331 +v 4.7752 10.5874 0.0331 +v 4.7984 10.3965 0.0331 +v 3.8496 9.8167 -0.7017 +v 3.8264 10.0075 -0.7017 +v 4.9342 10.1423 -0.7017 +v 4.9574 9.9514 -0.7017 +v 4.8864 10.5356 -0.1884 +v 3.7786 10.4009 -0.1884 +v 3.8018 10.2100 -0.1884 +v 3.7770 10.4137 -0.0777 +v 4.8848 10.5484 -0.0777 +v 3.8002 10.2229 -0.0777 +v 3.8496 9.8167 0.5464 +v 4.9574 9.9514 0.5464 +v 4.9342 10.1423 0.5464 +v 3.8264 10.0076 0.5464 +v 4.8864 10.5356 0.0331 +v 3.7786 10.4009 0.0331 +v 3.8018 10.2100 0.0331 +v 2.9090 9.7161 -0.7017 +v 2.9025 9.9083 -0.7017 +v 4.0178 9.9460 -0.7017 +v 4.0243 9.7538 -0.7017 +v 4.0044 10.3420 -0.1884 +v 2.8891 10.3043 -0.1884 +v 2.8956 10.1121 -0.1884 +v 2.8887 10.3173 -0.0777 +v 4.0040 10.3549 -0.0777 +v 2.8952 10.1251 -0.0777 +v 2.9090 9.7161 0.5464 +v 4.0243 9.7538 0.5464 +v 4.0178 9.9460 0.5464 +v 2.9025 9.9083 0.5464 +v 4.0044 10.3420 0.0331 +v 2.8891 10.3043 0.0331 +v 2.8956 10.1121 0.0331 +v 1.9911 9.6053 -0.7017 +v 1.9808 9.7973 -0.7017 +v 3.0952 9.8570 -0.7017 +v 3.1055 9.6650 -0.7017 +v 3.0740 10.2527 -0.1884 +v 1.9596 10.1930 -0.1884 +v 1.9699 10.0010 -0.1884 +v 1.9589 10.2059 -0.0777 +v 3.0733 10.2656 -0.0777 +v 1.9692 10.0139 -0.0777 +v 1.9911 9.6053 0.5464 +v 3.1055 9.6650 0.5464 +v 3.0952 9.8570 0.5464 +v 1.9808 9.7973 0.5464 +v 3.0740 10.2527 0.0331 +v 1.9596 10.1930 0.0331 +v 1.9699 10.0010 0.0331 +v -3.0236 10.4055 -0.7017 +v -4.1154 10.6363 -0.7017 +v -4.0757 10.8244 -0.7017 +v -2.9838 10.5936 -0.7017 +v -3.9937 11.2121 -0.1884 +v -2.9019 10.9813 -0.1884 +v -2.9417 10.7932 -0.1884 +v -2.8992 10.9940 -0.0777 +v -3.9911 11.2247 -0.0777 +v -2.9390 10.8059 -0.0777 +v -3.0236 10.4055 0.5464 +v -2.9838 10.5937 0.5464 +v -4.0757 10.8244 0.5464 +v -4.1154 10.6363 0.5464 +v -2.9019 10.9813 0.0331 +v -3.9937 11.2121 0.0331 +v -2.9417 10.7932 0.0331 +v -1.8772 10.2361 -0.7017 +v -2.9891 10.3316 -0.7017 +v -2.9726 10.5232 -0.7017 +v -1.8608 10.4277 -0.7017 +v -2.9387 10.9180 -0.1884 +v -1.8268 10.8225 -0.1884 +v -1.8433 10.6309 -0.1884 +v -1.8257 10.8354 -0.0777 +v -2.9376 10.9309 -0.0777 +v -1.8422 10.6438 -0.0777 +v -1.8772 10.2361 0.5464 +v -1.8608 10.4277 0.5464 +v -2.9726 10.5232 0.5464 +v -2.9891 10.3316 0.5464 +v -1.8268 10.8225 0.0331 +v -2.9387 10.9180 0.0331 +v -1.8433 10.6309 0.0331 +v -0.9270 9.9893 -0.7017 +v -2.0348 10.1241 -0.7017 +v -2.0116 10.3149 -0.7017 +v -0.9038 10.1802 -0.7017 +v -1.9637 10.7083 -0.1884 +v -0.8559 10.5736 -0.1884 +v -0.8791 10.3827 -0.1884 +v -0.8544 10.5864 -0.0777 +v -1.9622 10.7211 -0.0777 +v -0.8776 10.3955 -0.0777 +v -0.9270 9.9893 0.5464 +v -0.9038 10.1802 0.5464 +v -2.0116 10.3149 0.5464 +v -2.0348 10.1241 0.5464 +v -0.8559 10.5736 0.0331 +v -1.9637 10.7083 0.0331 +v -0.8791 10.3827 0.0331 +v 0.1045 9.8987 -0.7017 +v -1.0109 9.9364 -0.7017 +v -1.0044 10.1286 -0.7017 +v 0.1109 10.0909 -0.7017 +v -0.9910 10.5246 -0.1884 +v 0.1243 10.4869 -0.1884 +v 0.1178 10.2947 -0.1884 +v 0.1248 10.4999 -0.0777 +v -0.9906 10.5375 -0.0777 +v 0.1183 10.3077 -0.0777 +v 0.1045 9.8987 0.5464 +v 0.1109 10.0909 0.5464 +v -1.0044 10.1286 0.5464 +v -1.0109 9.9364 0.5464 +v 0.1243 10.4869 0.0331 +v -0.9910 10.5246 0.0331 +v 0.1178 10.2947 0.0331 +v 1.1663 9.7500 -0.7017 +v 0.0510 9.7876 -0.7017 +v 0.0575 9.9798 -0.7017 +v 1.1728 9.9421 -0.7017 +v 0.0708 10.3758 -0.1884 +v 1.1862 10.3381 -0.1884 +v 1.1797 10.1460 -0.1884 +v 1.1866 10.3511 -0.0777 +v 0.0713 10.3887 -0.0777 +v 1.1801 10.1589 -0.0777 +v 1.1663 9.7500 0.5464 +v 1.1728 9.9422 0.5464 +v 0.0575 9.9798 0.5464 +v 0.0510 9.7876 0.5464 +v 1.1862 10.3381 0.0331 +v 0.0708 10.3758 0.0331 +v 1.1797 10.1460 0.0331 +v 2.0591 9.7227 -0.7017 +v 0.9513 9.5879 -0.7017 +v 0.9281 9.7788 -0.7017 +v 2.0359 9.9135 -0.7017 +v 0.8803 10.1721 -0.1884 +v 1.9881 10.3069 -0.1884 +v 2.0113 10.1160 -0.1884 +v 1.9865 10.3197 -0.0777 +v 0.8787 10.1850 -0.0777 +v 2.0097 10.1289 -0.0777 +v 2.0591 9.7227 0.5464 +v 2.0359 9.9135 0.5464 +v 0.9281 9.7788 0.5464 +v 0.9513 9.5879 0.5464 +v 1.9881 10.3069 0.0331 +v 0.8803 10.1721 0.0331 +v 2.0113 10.1160 0.0331 +v 0.9445 11.6574 4.7943 +v 0.9445 11.7921 5.9021 +v 0.9445 11.9830 5.8789 +v 0.9445 11.8483 4.7711 +v 1.4578 12.3763 5.8310 +v 1.4578 12.2416 4.7232 +v 1.4578 12.0508 4.7465 +v 1.5686 12.2545 4.7217 +v 1.5686 12.3892 5.8295 +v 1.5686 12.0636 4.7449 +v 2.1926 11.6574 4.7943 +v 2.1926 11.8483 4.7711 +v 2.1926 11.9830 5.8789 +v 2.1926 11.7921 5.9021 +v 1.6793 12.2416 4.7232 +v 1.6793 12.3763 5.8310 +v 1.6793 12.0508 4.7465 +v 0.9445 11.4668 3.7151 +v 0.9445 11.5624 4.8270 +v 0.9445 11.7540 4.8105 +v 0.9445 11.6584 3.6987 +v 1.4578 12.1487 4.7766 +v 1.4578 12.0532 3.6647 +v 1.4578 11.8616 3.6812 +v 1.5686 12.0661 3.6636 +v 1.5686 12.1616 4.7755 +v 1.5686 11.8745 3.6801 +v 2.1926 11.4668 3.7151 +v 2.1926 11.6584 3.6987 +v 2.1926 11.7540 4.8105 +v 2.1926 11.5624 4.8270 +v 1.6793 12.0532 3.6647 +v 1.6793 12.1487 4.7766 +v 1.6793 11.8616 3.6812 +v 0.9445 11.2863 3.3077 +v 0.9445 11.3239 4.4230 +v 0.9445 11.5161 4.4165 +v 0.9445 11.4784 3.3012 +v 1.4578 11.9121 4.4032 +v 1.4578 11.8745 3.2879 +v 1.4578 11.6823 3.2943 +v 1.5686 11.8874 3.2874 +v 1.5686 11.9250 4.4027 +v 1.5686 11.6952 3.2939 +v 2.1926 11.2863 3.3077 +v 2.1926 11.4784 3.3012 +v 2.1926 11.5161 4.4165 +v 2.1926 11.3239 4.4230 +v 1.6793 11.8745 3.2879 +v 1.6793 11.9121 4.4032 +v 1.6793 11.6823 3.2943 +v 2.1926 11.3823 3.3259 +v 2.1926 11.5170 2.2181 +v 2.1926 11.7079 2.2413 +v 2.1926 11.5732 3.3492 +v 1.6793 12.1012 2.2892 +v 1.6793 11.9665 3.3970 +v 1.6793 11.7757 3.3738 +v 1.5686 11.9794 3.3985 +v 1.5686 12.1141 2.2907 +v 1.5686 11.7885 3.3753 +v 0.9445 11.3823 3.3259 +v 0.9445 11.5732 3.3492 +v 0.9445 11.7079 2.2413 +v 0.9445 11.5170 2.2181 +v 1.4578 11.9665 3.3970 +v 1.4578 12.1012 2.2892 +v 1.4578 11.7757 3.3738 +v 2.1926 11.5582 2.4201 +v 2.1926 11.6929 1.3123 +v 2.1926 11.8838 1.3355 +v 2.1926 11.7491 2.4433 +v 1.6793 12.2771 1.3833 +v 1.6793 12.1424 2.4911 +v 1.6793 11.9516 2.4679 +v 1.5686 12.1553 2.4927 +v 1.5686 12.2900 1.3849 +v 1.5686 11.9644 2.4695 +v 0.9445 11.5582 2.4201 +v 0.9445 11.7491 2.4433 +v 0.9445 11.8838 1.3355 +v 0.9445 11.6929 1.3123 +v 1.4578 12.1424 2.4911 +v 1.4578 12.2771 1.3833 +v 1.4578 11.9516 2.4679 +v 2.1926 11.7610 1.6115 +v 2.1926 11.8957 0.5037 +v 2.1926 12.0866 0.5269 +v 2.1926 11.9519 1.6347 +v 1.6793 12.4799 0.5747 +v 1.6793 12.3452 1.6826 +v 1.6793 12.1543 1.6593 +v 1.5686 12.3580 1.6841 +v 1.5686 12.4928 0.5763 +v 1.5686 12.1672 1.6609 +v 0.9445 11.7610 1.6115 +v 0.9445 11.9519 1.6347 +v 0.9445 12.0866 0.5269 +v 0.9445 11.8957 0.5037 +v 1.4578 12.3452 1.6826 +v 1.4578 12.4799 0.5747 +v 1.4578 12.1543 1.6593 +v -1.1371 7.4582 -4.0955 +v -4.2338 7.4582 -4.3121 +v -4.2273 7.6317 -4.5957 +v -1.1338 7.6317 -4.3617 +v -3.2516 7.7677 3.5028 +v -4.2338 7.4582 4.2507 +v -4.6406 11.0258 -0.0777 +v -3.2516 10.6900 -0.0777 +v -3.2516 7.7677 -3.8461 +v -0.6460 7.7677 -3.6582 +v -4.6406 11.2779 -0.0777 +v -1.3405 10.5888 -0.0777 +v -1.1371 7.4582 3.9402 +v 1.9596 7.4582 3.9402 +v 1.9596 7.6317 4.2064 +v -1.1338 7.6317 4.2064 +v -0.6460 7.7677 3.5028 +v 1.9596 7.7677 3.5028 +v 1.9596 10.0791 -0.0777 +v 1.9596 7.4582 -4.0955 +v 1.9596 7.6317 -4.3617 +v 1.9596 7.7677 -3.6582 +v -4.2273 7.6317 4.5343 +v 8.1465 7.6317 -4.5957 +v 8.1530 7.4582 -4.3121 +v 5.0563 7.4582 -4.0955 +v 5.0531 7.6317 -4.3617 +v 7.1709 7.7677 3.5028 +v 7.1709 10.6900 -0.0777 +v 8.5599 11.0258 -0.0777 +v 8.1530 7.4582 4.2507 +v 7.1709 7.7677 -3.8461 +v 4.5652 7.7677 -3.6582 +v 5.2597 10.5888 -0.0777 +v 8.5599 11.2779 -0.0777 +v 5.0563 7.4582 3.9402 +v 5.0531 7.6317 4.2064 +v 4.5652 7.7677 3.5028 +v 8.1465 7.6317 4.5343 +v -4.6567 6.8869 -2.9522 +v -7.7534 6.8869 -3.1079 +v -7.7469 7.0605 -3.3117 +v -4.6535 7.0605 -3.1435 +v -6.7712 7.1965 2.5090 +v -7.7534 6.8869 3.0465 +v -8.1602 9.3059 -0.0645 +v -6.7712 8.9701 -0.0645 +v -6.7712 7.1965 -2.7729 +v -4.1656 7.1965 -2.6379 +v -8.1602 9.5581 -0.0645 +v -4.8601 8.8689 -0.0645 +v -4.6567 6.8869 2.8233 +v -3.2516 6.8869 2.8233 +v -3.2516 7.0605 3.0146 +v -4.6535 7.0605 3.0146 +v -4.1656 7.1965 2.5090 +v -3.2516 7.1965 2.5090 +v -3.2516 8.5897 -0.0645 +v -3.2516 6.8869 -2.9522 +v -3.2516 7.0605 -3.1435 +v -3.2516 7.1965 -2.6379 +v -7.7469 7.0605 3.2504 +v -6.7232 3.1632 -3.0057 +v -7.2373 3.1632 -3.0057 +v -7.2146 4.8291 -2.9829 +v -6.8069 4.8291 -2.9829 +v -6.7232 3.1632 -2.4581 +v -6.8069 4.8291 -2.5099 +v -7.2373 3.1632 -2.4581 +v -7.2146 4.8291 -2.5099 +v -6.6744 6.9707 -3.0545 +v -7.2862 6.9707 -3.0545 +v -6.6744 7.4227 -2.4093 +v -7.2862 7.4227 -2.4093 +v -7.1861 2.8938 -0.0777 +v -3.1845 2.8938 -0.0777 +v -3.1845 2.8938 2.8036 +v -7.1861 2.8938 2.8036 +v -3.1845 7.0912 2.8036 +v -7.1861 7.0912 2.8036 +v -3.1845 2.8938 -2.9589 +v -7.1861 2.8938 -2.9589 +v -7.1861 7.0912 -2.9589 +v -3.1845 7.0912 -2.9589 +v -7.1861 9.1993 -0.0777 +v -7.1931 5.9506 -0.5142 +v -7.1931 4.9600 -0.5142 +v -7.1931 4.9340 -0.0777 +v -7.1931 6.2676 -0.0777 +v -7.1671 4.9838 -0.8556 +v -7.1671 4.8411 -0.8556 +v -7.2673 4.8411 -0.8556 +v -7.2673 4.9838 -0.8556 +v -7.1671 6.5014 -0.0777 +v -7.1671 6.0404 -0.7429 +v -7.2673 6.0404 -0.7429 +v -7.2673 6.5014 -0.0777 +v -7.1671 4.8411 0.7003 +v -7.1671 4.9838 0.7003 +v -7.2673 4.9838 0.7003 +v -7.2673 4.8411 0.7003 +v -7.1671 4.7914 -0.0777 +v -7.1671 4.8411 0.5875 +v -7.2673 4.8411 0.5875 +v -7.2673 4.7914 -0.0777 +v -7.3772 4.8411 -0.7429 +v -7.3772 4.9600 -0.5142 +v -7.3772 4.9838 -0.7429 +v -7.2673 5.9506 -0.5142 +v -7.2673 6.2676 -0.0777 +v -7.3772 4.9838 0.5875 +v -7.3772 4.9692 0.3589 +v -7.3772 4.8411 0.5875 +v -7.3772 4.7914 -0.0777 +v -7.3772 4.9340 -0.0777 +v -7.1931 5.9506 0.3589 +v -7.1931 4.9692 0.3589 +v -7.1671 6.0404 0.5875 +v -7.2673 6.0404 0.5875 +v -7.1671 4.8411 -0.7429 +v -7.2673 4.8411 -0.7429 +v -7.2673 5.9506 0.3589 +v -7.2673 4.9600 -0.5142 +v -7.2673 4.9692 0.3589 +v -7.2673 4.9340 -0.0777 +v -7.2673 4.9838 0.5875 +v -7.1671 4.9838 0.5875 +v -7.1671 4.9838 -0.7429 +v -7.2673 4.9838 -0.7429 +v -7.3772 4.8411 -0.8556 +v -7.3772 4.9838 -0.8556 +v -7.3772 4.9838 0.7003 +v -7.3772 4.8411 0.7003 +v -7.4310 3.2178 2.3310 +v -7.4310 2.7084 2.3310 +v -7.4310 2.7084 2.8790 +v -7.4310 3.2178 2.8790 +v -2.7750 2.7084 2.8790 +v -5.1030 2.5335 2.8790 +v -5.1030 2.5335 2.3310 +v -2.7750 2.7084 2.3310 +v -2.7750 3.2178 2.8790 +v -5.1030 3.0429 2.8790 +v -2.7750 3.2178 2.3310 +v -5.1030 3.0429 2.3310 +v -7.4310 3.2178 -2.4864 +v -7.4310 3.2178 -3.0343 +v -7.4310 2.7084 -3.0343 +v -7.4310 2.7084 -2.4864 +v -2.7750 2.7084 -3.0343 +v -2.7750 2.7084 -2.4864 +v -5.1030 2.5335 -2.4864 +v -5.1030 2.5335 -3.0343 +v -2.7750 3.2178 -3.0343 +v -5.1030 3.0429 -3.0343 +v -2.7750 3.2178 -2.4864 +v -5.1030 3.0429 -2.4864 +v -6.8803 -0.0302 2.7568 +v -6.8202 0.4686 2.6769 +v -6.8202 0.4686 1.9103 +v -6.8803 -0.0302 1.8305 +v -6.1832 -0.0302 2.7568 +v -6.2433 0.4686 2.6769 +v -6.1832 -0.0302 1.8305 +v -6.2433 0.4686 1.9103 +v -6.7553 3.1304 2.0287 +v -6.6814 1.5987 2.0734 +v -6.6814 1.5987 2.5139 +v -6.7553 3.1304 2.5586 +v -6.3096 1.5987 2.5139 +v -6.3082 3.1304 2.5586 +v -6.3096 1.5987 2.0734 +v -6.3082 3.1304 2.0287 +v -6.7553 0.5951 2.5586 +v -6.7553 0.5951 2.0287 +v -6.7995 0.5454 1.9480 +v -6.7995 0.5454 2.6393 +v -6.3082 0.5951 2.0287 +v -6.2639 0.5454 1.9480 +v -6.3082 0.5951 2.5586 +v -6.2639 0.5454 2.6393 +v -6.8803 -0.0302 -1.9648 +v -6.8202 0.4686 -2.0447 +v -6.8202 0.4686 -2.8113 +v -6.8803 -0.0302 -2.8911 +v -6.1832 -0.0302 -1.9648 +v -6.2433 0.4686 -2.0447 +v -6.1832 -0.0302 -2.8911 +v -6.2433 0.4686 -2.8113 +v -6.7553 3.1304 -2.6929 +v -6.6814 1.5987 -2.6482 +v -6.6814 1.5987 -2.2077 +v -6.7553 3.1304 -2.1631 +v -6.3096 1.5987 -2.2077 +v -6.3082 3.1304 -2.1631 +v -6.3096 1.5987 -2.6482 +v -6.3082 3.1304 -2.6929 +v -6.7553 0.5951 -2.1631 +v -6.7553 0.5951 -2.6929 +v -6.7995 0.5454 -2.7737 +v -6.7995 0.5454 -2.0823 +v -6.3082 0.5951 -2.6929 +v -6.2639 0.5454 -2.7737 +v -6.3082 0.5951 -2.1631 +v -6.2639 0.5454 -2.0823 +v -3.2516 2.9096 3.5028 +v 7.1709 2.9096 3.5028 +v 7.1709 7.9373 3.5028 +v -3.2516 7.9373 3.5028 +v 7.1709 2.9096 -0.0777 +v 7.1709 10.8036 -0.0777 +v 7.1709 2.9096 -3.6582 +v -3.2516 2.9096 -3.6582 +v -3.2516 7.9373 -3.6582 +v 7.1709 7.9373 -3.6582 +v -3.2516 2.9096 -0.0777 +v -3.2516 10.8036 -0.0777 +v -2.8467 2.9096 3.2440 +v 6.7660 2.9096 3.2440 +v -2.8467 2.9096 -0.0777 +v -2.8467 2.9096 -3.3994 +v 6.7660 2.9096 -3.3994 +v 6.7660 2.9096 -0.0777 +v -2.8468 -0.0302 3.2440 +v 6.7660 -0.0302 3.2440 +v -2.8468 -0.0302 -0.0777 +v -2.8468 -0.0302 -3.3994 +v 6.7660 -0.0302 -3.3994 +v 6.7660 -0.0302 -0.0777 +v 7.0102 3.0089 -4.2256 +v 7.5581 3.0089 -4.2256 +v 7.5581 2.4996 -4.2256 +v 7.0102 2.4996 -4.2256 +v 7.0102 3.0089 4.1317 +v 7.0102 2.4996 4.1317 +v 7.5581 2.4996 4.1317 +v 7.5581 3.0089 4.1317 +v -3.7439 3.0089 3.3027 +v -3.7439 2.4996 3.3027 +v -3.7439 2.4996 3.8506 +v -3.7439 3.0089 3.8506 +v 7.7366 3.0089 3.3027 +v 7.7366 3.0089 3.8506 +v 7.7366 2.4996 3.8506 +v 7.7366 2.4996 3.3027 +v -3.7439 3.0089 -3.4580 +v -3.7439 3.0089 -4.0060 +v -3.7439 2.4996 -4.0060 +v -3.7439 2.4996 -3.4580 +v 7.7366 3.0089 -3.4580 +v 7.7366 2.4996 -3.4580 +v 7.7366 2.4996 -4.0060 +v 7.7366 3.0089 -4.0060 +v -2.5135 6.6183 -3.5180 +v -2.5135 5.7934 -6.4571 +v 0.6090 5.7934 -6.4571 +v 0.6090 6.6183 -3.5180 +v -2.5135 6.8326 -3.5754 +v 0.6090 6.8326 -3.5754 +v 0.6090 6.0078 -6.5145 +v -2.5135 6.0078 -6.5145 +v 0.3848 3.3060 -6.2601 +v -2.4169 3.3060 -6.2601 +v -2.4169 3.3060 -3.5850 +v 0.3848 3.3060 -3.5850 +v 0.3848 2.8320 -3.5850 +v 0.3848 2.8320 -6.2601 +v -2.4169 2.8320 -6.2601 +v -2.4169 2.8320 -3.5850 +v -2.9596 2.9096 -4.0064 +v -3.5423 2.9096 -4.0064 +v -3.2948 5.6756 -3.7907 +v -2.8870 5.6756 -3.7907 +v -2.9596 2.9096 -3.3856 +v -2.8870 5.6756 -3.3177 +v -3.5423 2.9096 -3.3856 +v -3.2948 5.6756 -3.3177 +v -2.9450 7.9058 -4.0186 +v -3.5568 7.9058 -4.0186 +v -2.9450 8.2459 -3.3733 +v -3.5568 8.2459 -3.3733 +v -2.9596 2.9096 3.8510 +v -2.8870 5.6756 3.6354 +v -3.2948 5.6756 3.6354 +v -3.5423 2.9096 3.8510 +v -2.9596 2.9096 3.2303 +v -2.8870 5.6756 3.1623 +v -3.5423 2.9096 3.2303 +v -3.2948 5.6756 3.1623 +v -2.9450 7.9058 3.8633 +v -3.5568 7.9058 3.8633 +v -2.9450 8.2459 3.2180 +v -3.5568 8.2459 3.2180 +v -1.8648 5.8242 -3.6286 +v -0.5551 5.8242 -3.6286 +v -0.5551 5.8242 -3.9835 +v -1.8648 5.8242 -3.9835 +v -0.5551 3.3060 -3.6286 +v -0.5551 3.3060 -3.9835 +v -0.7855 3.3060 -3.8323 +v -1.6344 3.3060 -3.8323 +v -1.6344 5.4437 -3.8323 +v -0.7855 5.4437 -3.8323 +v -1.8648 3.3060 -3.9835 +v -1.8648 3.3060 -3.6286 +v -1.6344 5.4437 -3.9835 +v -1.6344 3.3060 -3.9835 +v -0.7855 5.4437 -3.9835 +v -0.7855 3.3060 -3.9835 +v 0.3607 2.7805 -6.2096 +v 1.9873 1.2273 -6.1877 +v 1.9873 1.2273 -5.9635 +v 0.3607 2.7805 -5.9635 +v 2.3459 1.5102 -5.9635 +v 2.3459 1.5102 -6.2096 +v 0.3607 3.3463 -6.2096 +v 0.3607 3.3463 -5.9635 +v 3.2877 -0.0134 -6.2096 +v 4.0129 -0.0134 -6.2096 +v 3.2877 -0.0134 -5.9635 +v 4.0129 -0.0134 -5.9635 +v -2.3337 -0.0302 -5.9479 +v -2.0764 -0.0302 -5.9479 +v -2.0324 2.9450 -5.7109 +v -2.2898 2.9450 -5.7109 +v -2.3337 -0.0302 -6.2053 +v -2.2898 2.9450 -5.9682 +v -2.0764 -0.0302 -6.2053 +v -2.0324 2.9450 -5.9682 +v -2.3337 5.9816 -5.9479 +v -2.0764 5.9816 -5.9479 +v -2.3337 5.9816 -6.2053 +v -2.0764 5.9816 -6.2053 +v -0.0074 -0.0302 -5.9479 +v 0.2500 -0.0302 -5.9479 +v 0.2939 2.9450 -5.7109 +v 0.0366 2.9450 -5.7109 +v -0.0074 -0.0302 -6.2053 +v 0.0366 2.9450 -5.9682 +v 0.2500 -0.0302 -6.2053 +v 0.2939 2.9450 -5.9682 +v -0.0074 5.9816 -5.9479 +v 0.2500 5.9816 -5.9479 +v -0.0074 5.9816 -6.2053 +v 0.2500 5.9816 -6.2053 +v -2.6217 0.0000 -3.7376 +v -3.2044 0.0000 -3.7376 +v -2.9569 1.0456 -3.5220 +v -2.5492 1.0456 -3.5220 +v -2.6217 0.0000 -3.1169 +v -2.5492 1.0456 -3.0489 +v -3.2044 0.0000 -3.1169 +v -2.9569 1.0456 -3.0489 +v -2.6072 2.9699 -3.7499 +v -3.2190 2.9699 -3.7499 +v -2.6072 3.0985 -3.1046 +v -3.2190 3.0985 -3.1046 +v 4.8927 5.3687 -5.8348 +v 4.8927 5.2326 -5.8348 +v 4.8927 5.2326 -5.9129 +v 4.8927 5.3687 -5.9129 +v 4.8927 5.0965 -5.8348 +v 4.8927 5.0965 -5.9129 +v 4.8927 4.9605 -5.8348 +v 4.8927 4.9605 -5.9129 +v 4.8927 4.7832 -5.8348 +v 4.8927 4.8244 -5.9129 +v 4.8927 5.3687 -5.9909 +v 4.8927 5.2540 -5.9909 +v 4.8927 5.2754 -6.0690 +v 4.8927 5.3687 -6.0690 +v 4.8927 5.1730 -5.9909 +v 4.8927 5.1792 -6.0690 +v 4.8927 5.3687 -6.2250 +v 4.8927 5.3687 -6.1470 +v 4.8927 5.2540 -6.1470 +v 4.8927 5.2326 -6.2250 +v 4.8927 5.1730 -6.1470 +v 4.8927 5.0965 -6.2250 +v 4.8927 5.3687 -6.3030 +v 4.8927 5.2326 -6.3030 +v 4.8927 5.2326 -6.3811 +v 4.8927 5.3687 -6.3811 +v 4.8927 5.0965 -6.3030 +v 4.8927 5.0965 -6.3811 +v 4.8927 4.9605 -6.3030 +v 4.8927 4.9605 -6.3811 +v 4.8927 4.7832 -6.3030 +v 4.8927 4.8244 -6.3811 +v 4.8927 5.3687 -5.7568 +v 4.8927 5.2326 -5.7568 +v 4.8927 5.0965 -5.7568 +v 4.8927 4.9605 -5.7568 +v 4.8927 4.8244 -5.7568 +v 4.8927 4.9605 -6.2250 +v 4.8927 4.8244 -6.2250 +v 4.8927 5.4217 -6.8979 +v 4.8927 4.9763 -6.8979 +v 4.8927 4.9763 -7.1386 +v 4.8927 5.4217 -7.1386 +v 4.8927 4.5310 -6.8979 +v 4.8927 4.5310 -7.1386 +v 4.8927 4.0856 -6.8979 +v 4.8927 4.0856 -7.1386 +v 4.8927 3.6402 -6.8979 +v 4.8927 3.7482 -7.1386 +v 4.8927 4.9763 -7.3794 +v 4.8927 5.4217 -7.3794 +v 4.8927 4.5310 -7.3794 +v 4.8927 4.0856 -7.3794 +v 4.8927 3.8020 -7.3794 +v 4.8927 4.9763 -7.6201 +v 4.8927 5.4217 -7.6201 +v 4.8927 4.5310 -7.6201 +v 4.8927 4.0856 -7.6201 +v 4.8927 3.7482 -7.6201 +v 4.8927 4.9763 -7.8609 +v 4.8927 5.4217 -7.8609 +v 4.8927 4.5310 -7.8609 +v 4.8927 4.0856 -7.8609 +v 4.8927 3.6402 -7.8609 +v 4.8983 5.4267 -4.2675 +v 4.8983 5.3567 -6.1034 +v 4.9561 5.3919 -6.1034 +v 4.9561 5.4619 -4.2675 +v 4.8983 5.4971 -4.2675 +v 4.8983 5.4271 -6.1034 +v 4.8983 5.4971 -7.9394 +v 4.9561 5.4619 -7.9394 +v 4.8983 5.4267 -7.9394 +v 5.2716 4.9661 -3.7293 +v 3.3567 4.9661 -3.7293 +v 3.3567 6.2120 -3.7293 +v 5.2716 6.2120 -3.7293 +v 5.4434 4.8376 -3.8169 +v 3.2170 4.8376 -3.8169 +v 3.3567 4.9661 -3.8169 +v 5.2716 4.9661 -3.8169 +v 3.2170 6.3098 -3.8169 +v 3.3567 6.2120 -3.8169 +v 5.4434 6.3098 -3.8169 +v 5.2716 6.2120 -3.8169 +v 3.2170 4.8376 -3.5927 +v 5.4434 4.8376 -3.5927 +v 3.2170 6.3098 -3.5927 +v 5.4434 6.3098 -3.5927 +v 3.1685 4.7720 -3.6639 +v 3.6230 4.7720 -4.9127 +v 3.7254 4.7720 -4.8755 +v 3.2708 4.7720 -3.6267 +v 3.1685 6.3098 -3.6639 +v 3.2708 6.3098 -3.6267 +v 3.7254 6.3098 -4.8755 +v 3.6230 6.3098 -4.9127 +v 5.3873 4.7720 -3.6267 +v 4.9328 4.7720 -4.8755 +v 5.0351 4.7720 -4.9127 +v 5.4897 4.7720 -3.6639 +v 5.3873 6.3098 -3.6267 +v 5.4897 6.3098 -3.6639 +v 5.0351 6.3098 -4.9127 +v 4.9328 6.3098 -4.8755 +v 6.8788 2.9096 -4.0064 +v 6.8063 5.6756 -3.7907 +v 7.2140 5.6756 -3.7907 +v 7.4615 2.9096 -4.0064 +v 6.8788 2.9096 -3.3856 +v 6.8063 5.6756 -3.3177 +v 7.4615 2.9096 -3.3856 +v 7.2140 5.6756 -3.3177 +v 6.8642 7.9058 -4.0186 +v 7.4761 7.9058 -4.0186 +v 6.8642 8.2459 -3.3734 +v 7.4761 8.2459 -3.3734 +v 6.8788 2.9096 3.8510 +v 7.4615 2.9096 3.8510 +v 7.2140 5.6756 3.6354 +v 6.8063 5.6756 3.6354 +v 6.8788 2.9096 3.2303 +v 6.8063 5.6756 3.1623 +v 7.4615 2.9096 3.2303 +v 7.2140 5.6756 3.1623 +v 6.8642 7.9058 3.8633 +v 7.4761 7.9058 3.8633 +v 6.8642 8.2459 3.2180 +v 7.4761 8.2459 3.2180 +v -1.0499 7.1920 0.8801 +v 1.5686 7.1920 0.8801 +v 1.5686 7.1920 5.9052 +v -1.0499 7.1920 5.9052 +v 1.5686 12.3427 5.9052 +v -1.0499 10.1678 5.9052 +v 4.1870 7.1920 5.9052 +v 4.1870 7.1920 0.8801 +v 4.1870 10.1678 0.8801 +v 4.1870 10.1678 5.9052 +v 1.5686 12.3427 0.8801 +v -1.0499 10.1678 0.8801 +v 1.0847 11.4972 -1.1541 +v 1.0847 12.4648 -1.1541 +v 2.0524 12.4648 -1.1541 +v 2.0524 11.4972 -1.1541 +v 1.2329 10.9471 0.9987 +v 1.2329 11.5276 0.9987 +v 1.9042 11.5276 0.9987 +v 1.9042 10.9471 0.9987 +v 1.5686 12.6046 6.6574 +v 1.5686 11.7979 3.3926 +v -1.5299 9.9268 3.3926 +v -1.6653 9.9268 6.6574 +v 4.8024 9.9268 6.6574 +v 4.6670 9.9268 3.3926 +v -1.6653 9.6585 6.6574 +v 1.5686 12.3363 6.6574 +v 4.8024 9.6585 6.6574 +v 4.6670 9.6585 3.3926 +v 4.8024 9.6585 0.1279 +v 1.5686 12.3363 0.1279 +v 1.5686 12.6046 0.1279 +v 4.8024 9.9268 0.1279 +v -1.6653 9.6585 0.1279 +v -1.6653 9.9268 0.1279 +v -1.5299 9.6585 3.3926 +v 1.5686 11.5296 3.3926 +v 0.9445 11.9887 1.1864 +v 0.9445 12.1807 1.1967 +v 0.9445 12.2404 0.0823 +v 0.9445 12.0484 0.0720 +v 1.4578 12.4440 0.0932 +v 1.4578 12.6360 0.1035 +v 1.4578 12.5763 1.2179 +v 1.4578 12.3843 1.2076 +v 1.5686 12.6490 0.1042 +v 1.5686 12.4569 0.0939 +v 1.5686 12.5893 1.2186 +v 1.5686 12.3972 1.2083 +v 2.1926 11.9887 1.1864 +v 2.1926 12.0484 0.0720 +v 2.1926 12.2404 0.0823 +v 2.1926 12.1807 1.1967 +v 1.6793 12.4440 0.0932 +v 1.6793 12.6360 0.1035 +v 1.6793 12.5763 1.2179 +v 1.6793 12.3843 1.2076 +v 0.9445 12.0392 6.7986 +v 0.9445 12.2301 6.7754 +v 0.9445 12.0954 5.6676 +v 0.9445 11.9045 5.6908 +v 1.4578 12.2978 5.6430 +v 1.4578 12.4887 5.6198 +v 1.4578 12.6234 6.7276 +v 1.4578 12.4325 6.7508 +v 1.5686 12.5016 5.6182 +v 1.5686 12.3107 5.6414 +v 1.5686 12.6363 6.7260 +v 1.5686 12.4454 6.7492 +v 2.1926 12.0392 6.7986 +v 2.1926 11.9045 5.6908 +v 2.1926 12.0954 5.6676 +v 2.1926 12.2301 6.7754 +v 1.6793 12.2978 5.6430 +v 1.6793 12.4887 5.6198 +v 1.6793 12.6234 6.7276 +v 1.6793 12.4325 6.7508 +v -4.7348 10.7447 -0.7017 +v -4.7116 10.9356 -0.7017 +v -3.6038 10.8009 -0.7017 +v -3.6270 10.6100 -0.7017 +v -3.5792 11.0033 -0.1884 +v -3.5560 11.1942 -0.1884 +v -4.6638 11.3289 -0.1884 +v -4.6870 11.1380 -0.1884 +v -3.5544 11.2071 -0.0777 +v -3.5776 11.0162 -0.0777 +v -4.6622 11.3418 -0.0777 +v -4.6854 11.1509 -0.0777 +v -4.7348 10.7447 0.5464 +v -3.6270 10.6100 0.5464 +v -3.6038 10.8009 0.5464 +v -4.7116 10.9356 0.5464 +v -3.5792 11.0033 0.0331 +v -3.5560 11.1942 0.0331 +v -4.6638 11.3289 0.0331 +v -4.6870 11.1380 0.0331 +v -4.7348 10.7185 -0.7017 +v -4.7116 10.9094 -0.7017 +v -3.6038 10.7747 -0.7017 +v -3.6270 10.5838 -0.7017 +v -3.5792 10.9772 -0.1884 +v -3.5560 11.1680 -0.1884 +v -4.6638 11.3028 -0.1884 +v -4.6870 11.1119 -0.1884 +v -3.5544 11.1809 -0.0777 +v -3.5776 10.9900 -0.0777 +v -4.6622 11.3156 -0.0777 +v -4.6854 11.1247 -0.0777 +v -4.7348 10.7185 0.5464 +v -3.6270 10.5838 0.5464 +v -3.6038 10.7747 0.5464 +v -4.7116 10.9094 0.5464 +v -3.5792 10.9772 0.0331 +v -3.5560 11.1680 0.0331 +v -4.6638 11.3028 0.0331 +v -4.6870 11.1119 0.0331 +v -5.3701 9.6711 0.4061 +v -5.3701 10.6387 0.4061 +v -5.3701 10.6387 -0.5615 +v -5.3701 9.6711 -0.5615 +v -3.2173 9.1210 0.2580 +v -3.2173 9.7015 0.2580 +v -3.2173 9.7015 -0.4133 +v -3.2173 9.1210 -0.4133 +v -8.2811 9.1402 -0.7017 +v -8.2579 9.3310 -0.7017 +v -7.1501 9.1963 -0.7017 +v -7.1733 9.0054 -0.7017 +v -7.1255 9.3988 -0.1884 +v -7.1023 9.5897 -0.1884 +v -8.2101 9.7244 -0.1884 +v -8.2333 9.5335 -0.1884 +v -7.1007 9.6025 -0.0777 +v -7.1239 9.4116 -0.0777 +v -8.2085 9.7372 -0.0777 +v -8.2317 9.5463 -0.0777 +v -8.2811 9.1402 0.5464 +v -7.1733 9.0054 0.5464 +v -7.1501 9.1963 0.5464 +v -8.2579 9.3310 0.5464 +v -7.1255 9.3988 0.0331 +v -7.1023 9.5897 0.0331 +v -8.2101 9.7244 0.0331 +v -8.2333 9.5335 0.0331 +v -9.2893 8.2216 0.4061 +v -9.2893 9.1892 0.4061 +v -9.2893 9.1892 -0.5615 +v -9.2893 8.2216 -0.5615 +v -7.1365 7.6714 0.2580 +v -7.1365 8.2520 0.2580 +v -7.1365 8.2520 -0.4133 +v -7.1365 7.6714 -0.4133 +v 8.6541 10.7185 -0.7017 +v 7.5463 10.5838 -0.7017 +v 7.5230 10.7747 -0.7017 +v 8.6309 10.9094 -0.7017 +v 7.4984 10.9772 -0.1884 +v 7.4752 11.1680 -0.1884 +v 8.5830 11.3028 -0.1884 +v 8.6062 11.1119 -0.1884 +v 7.4969 10.9900 -0.0777 +v 7.4736 11.1809 -0.0777 +v 8.5814 11.3156 -0.0777 +v 8.6047 11.1247 -0.0777 +v 8.6541 10.7185 0.5464 +v 8.6308 10.9094 0.5464 +v 7.5230 10.7747 0.5464 +v 7.5463 10.5838 0.5464 +v 7.4752 11.1680 0.0331 +v 7.4984 10.9772 0.0331 +v 8.5830 11.3028 0.0331 +v 8.6062 11.1119 0.0331 +v 1.0847 11.4972 7.9394 +v 2.0524 11.4972 7.9394 +v 2.0524 12.4648 7.9394 +v 1.0847 12.4648 7.9394 +v 1.2329 10.9471 5.7866 +v 1.2329 11.5276 5.7866 +v 1.9042 11.5276 5.7866 +v 1.9042 10.9471 5.7866 +v 4.7414 7.7419 5.5111 +v 4.7414 7.7419 6.0591 +v 4.7414 7.2325 6.0591 +v 4.7414 7.2325 5.5111 +v -1.6043 7.7419 5.5111 +v -1.6043 7.2325 5.5111 +v -1.6043 7.2325 6.0591 +v -1.6043 7.7419 6.0591 +v 1.5686 7.1097 6.0591 +v 1.5686 7.1097 5.5111 +v 1.5686 7.6191 6.0591 +v 1.5686 7.6191 5.5111 +v -1.2469 7.6233 5.5056 +v -1.2469 7.6233 6.0196 +v -1.2309 8.9468 5.9403 +v -1.2309 8.9468 5.5326 +v -0.6993 7.6233 5.5056 +v -0.7579 8.9468 5.5326 +v -0.6993 7.6233 6.0196 +v -0.7579 8.9468 5.9403 +v -1.2958 10.1392 5.4567 +v -1.2958 10.1392 6.0685 +v -0.6505 10.5249 5.4567 +v -0.6505 10.5249 6.0685 +v -0.6744 7.6552 6.1897 +v -1.2224 7.6552 6.1897 +v -1.2224 7.1458 6.1897 +v -0.6744 7.1458 6.1897 +v -0.6744 7.0906 4.5742 +v -1.2224 7.0906 4.5742 +v -1.2224 7.2524 3.0420 +v -0.6744 7.2524 3.0420 +v -1.2224 7.6000 4.5742 +v -1.2224 7.7618 3.0420 +v -0.6744 7.6000 4.5742 +v -0.6744 7.7618 3.0420 +v -0.1324 5.2606 3.5028 +v -0.1877 6.0816 4.8319 +v -0.7894 6.0816 4.8319 +v -0.8447 5.2606 3.5028 +v -0.1324 6.0605 3.5028 +v -0.1877 6.3358 4.2867 +v -0.8447 6.0605 3.5028 +v -0.7894 6.3358 4.2867 +v -0.1324 7.1920 5.8631 +v -0.8447 7.1920 5.8631 +v -0.1324 7.1920 5.1509 +v -0.8447 7.1920 5.1509 +v -2.6217 0.0000 3.5823 +v -2.5492 1.0456 3.3666 +v -2.9569 1.0456 3.3666 +v -3.2044 0.0000 3.5823 +v -2.6217 0.0000 2.9615 +v -2.5492 1.0456 2.8936 +v -3.2044 0.0000 2.9615 +v -2.9569 1.0456 2.8936 +v -2.6072 2.9699 3.5946 +v -3.2190 2.9699 3.5946 +v -2.6072 3.0985 2.9493 +v -3.2190 3.0985 2.9493 +v -6.7232 3.1632 2.8503 +v -6.8069 4.8291 2.8276 +v -7.2146 4.8291 2.8276 +v -7.2373 3.1632 2.8503 +v -6.7232 3.1632 2.3028 +v -6.8069 4.8291 2.3546 +v -7.2373 3.1632 2.3028 +v -7.2146 4.8291 2.3546 +v -6.6744 6.9707 2.8992 +v -7.2862 6.9707 2.8992 +v -6.6744 7.4227 2.2539 +v -7.2862 7.4227 2.2539 +v -6.7182 3.2178 3.0952 +v -7.2662 3.2178 3.0952 +v -7.2662 2.7084 3.0952 +v -6.7182 2.7084 3.0952 +v -6.7182 3.2178 -3.2505 +v -6.7182 2.7084 -3.2505 +v -7.2662 2.7084 -3.2505 +v -7.2662 3.2178 -3.2505 +v -7.2662 2.5856 -0.0777 +v -6.7182 2.5856 -0.0777 +v -7.2662 3.0950 -0.0777 +v -6.7182 3.0950 -0.0777 +v 3.2696 5.2606 3.5028 +v 3.9818 5.2606 3.5028 +v 3.9265 6.0816 4.8319 +v 3.3249 6.0816 4.8319 +v 3.2696 6.0605 3.5028 +v 3.3249 6.3358 4.2867 +v 3.9818 6.0605 3.5028 +v 3.9265 6.3358 4.2867 +v 3.2696 7.1920 5.8631 +v 3.9818 7.1920 5.8631 +v 3.2696 7.1920 5.1509 +v 3.9818 7.1920 5.1509 +v 2.0051 9.8771 5.9061 +v 1.5686 10.1940 5.9061 +v 1.5686 8.8605 5.9061 +v 2.0051 8.8864 5.9061 +v 2.3465 8.9102 5.8801 +v 2.3465 8.9102 5.9803 +v 2.3465 8.7676 5.9803 +v 2.3465 8.7676 5.8801 +v 1.5686 10.4279 5.8801 +v 1.5686 10.4279 5.9803 +v 2.2338 9.9669 5.9803 +v 2.2338 9.9669 5.8801 +v 0.7906 8.7676 5.8801 +v 0.7906 8.7676 5.9803 +v 0.7906 8.9102 5.9803 +v 0.7906 8.9102 5.8801 +v 1.5686 8.7179 5.8801 +v 1.5686 8.7179 5.9803 +v 0.9033 8.7676 5.9803 +v 0.9033 8.7676 5.8801 +v 2.2338 8.7676 6.0902 +v 2.2338 8.9102 6.0902 +v 2.0051 8.8864 6.0902 +v 1.5686 10.1940 5.9803 +v 2.0051 9.8771 5.9803 +v 0.9033 8.9102 6.0902 +v 0.9033 8.7676 6.0902 +v 1.1320 8.8957 6.0902 +v 1.5686 8.7179 6.0902 +v 1.5686 8.8605 6.0902 +v 1.1320 9.8771 5.9061 +v 1.1320 8.8957 5.9061 +v 0.9033 9.9669 5.8801 +v 0.9033 9.9669 5.9803 +v 2.2338 8.7676 5.8801 +v 2.2338 8.7676 5.9803 +v 1.1320 9.8771 5.9803 +v 2.0051 8.8864 5.9803 +v 1.1320 8.8957 5.9803 +v 1.5686 8.8605 5.9803 +v 0.9033 8.9102 5.9803 +v 0.9033 8.9102 5.8801 +v 2.2338 8.9102 5.9803 +v 2.2338 8.9102 5.8801 +v 2.3465 8.9102 6.0902 +v 2.3465 8.7676 6.0902 +v 0.7906 8.7676 6.0902 +v 0.7906 8.9102 6.0902 +v 7.1954 5.9506 -0.5142 +v 7.1954 6.2676 -0.0777 +v 7.1954 4.9340 -0.0777 +v 7.1954 4.9600 -0.5142 +v 7.1694 4.9838 -0.8556 +v 7.2696 4.9838 -0.8556 +v 7.2696 4.8411 -0.8556 +v 7.1694 4.8411 -0.8556 +v 7.1694 6.5014 -0.0777 +v 7.2696 6.5014 -0.0777 +v 7.2696 6.0404 -0.7429 +v 7.1694 6.0404 -0.7429 +v 7.1694 4.8411 0.7003 +v 7.2696 4.8411 0.7003 +v 7.2696 4.9838 0.7003 +v 7.1694 4.9838 0.7003 +v 7.1694 4.7914 -0.0777 +v 7.2696 4.7914 -0.0777 +v 7.2696 4.8411 0.5875 +v 7.1694 4.8411 0.5875 +v 7.3796 4.8411 -0.7429 +v 7.3796 4.9838 -0.7429 +v 7.3796 4.9600 -0.5142 +v 7.2696 6.2676 -0.0777 +v 7.2696 5.9506 -0.5142 +v 7.3796 4.9838 0.5875 +v 7.3796 4.8411 0.5875 +v 7.3796 4.9692 0.3589 +v 7.3796 4.7914 -0.0777 +v 7.3796 4.9340 -0.0777 +v 7.1954 5.9506 0.3589 +v 7.1954 4.9692 0.3589 +v 7.1694 6.0404 0.5875 +v 7.2696 6.0404 0.5875 +v 7.1694 4.8411 -0.7429 +v 7.2696 4.8411 -0.7429 +v 7.2696 5.9506 0.3589 +v 7.2696 4.9600 -0.5142 +v 7.2696 4.9692 0.3589 +v 7.2696 4.9340 -0.0777 +v 7.2696 4.9838 0.5875 +v 7.1694 4.9838 0.5875 +v 7.2696 4.9838 -0.7429 +v 7.1694 4.9838 -0.7429 +v 7.3796 4.9838 -0.8556 +v 7.3796 4.8411 -0.8556 +v 7.3796 4.8411 0.7003 +v 7.3796 4.9838 0.7003 +v 6.4902 0.0000 3.5823 +v 7.0730 0.0000 3.5823 +v 6.8254 1.0456 3.3666 +v 6.4177 1.0456 3.3666 +v 6.4902 0.0000 2.9615 +v 6.4177 1.0456 2.8936 +v 7.0730 0.0000 2.9615 +v 6.8254 1.0456 2.8936 +v 6.4757 2.9699 3.5946 +v 7.0875 2.9699 3.5946 +v 6.4757 3.0985 2.9493 +v 7.0875 3.0985 2.9493 +v 6.4902 0.0000 -3.7376 +v 6.4177 1.0456 -3.5220 +v 6.8254 1.0456 -3.5220 +v 7.0730 0.0000 -3.7376 +v 6.4902 0.0000 -3.1169 +v 6.4177 1.0456 -3.0489 +v 7.0730 0.0000 -3.1169 +v 6.8254 1.0456 -3.0489 +v 6.4757 2.9699 -3.7499 +v 7.0875 2.9699 -3.7499 +v 6.4757 3.0985 -3.1046 +v 7.0875 3.0985 -3.1046 +v 9.2893 9.6711 0.4061 +v 9.2893 9.6711 -0.5615 +v 9.2893 10.6387 -0.5615 +v 9.2893 10.6387 0.4061 +v 7.1365 9.1210 0.2580 +v 7.1365 9.7015 0.2580 +v 7.1365 9.7015 -0.4133 +v 7.1365 9.1210 -0.4133 +v 2.3881 0.8227 -4.2558 +v 3.0109 0.8227 -4.2558 +v 3.0109 0.8227 -5.9635 +v 2.3881 0.8227 -5.9635 +v 3.0109 0.7221 -4.2558 +v 3.0109 0.7221 -5.9635 +v 2.7807 0.4301 -4.2558 +v 3.4035 0.4301 -4.2558 +v 3.4035 0.4301 -5.9635 +v 2.7807 0.4301 -5.9635 +v 3.4035 0.3295 -4.2558 +v 3.4035 0.3295 -5.9635 +v 3.2028 0.2090 -4.2558 +v 3.8256 0.2090 -4.2558 +v 3.8256 0.2090 -5.9635 +v 3.2028 0.2090 -5.9635 +v 3.8256 0.1084 -4.2558 +v 3.8256 0.1084 -5.9635 +v 0.3607 2.7805 -4.2760 +v 1.9873 1.2273 -4.2541 +v 1.9873 1.2273 -4.0299 +v 0.3607 2.7805 -4.0299 +v 2.3459 1.5102 -4.0299 +v 2.3459 1.5102 -4.2760 +v 0.3607 3.3463 -4.2760 +v 0.3607 3.3463 -4.0299 +v 3.2877 -0.0134 -4.2760 +v 4.0129 -0.0134 -4.2760 +v 3.2877 -0.0134 -4.0299 +v 4.0129 -0.0134 -4.0299 +v 1.2101 2.0007 -4.2558 +v 1.8329 2.0007 -4.2558 +v 1.8329 2.0007 -5.9635 +v 1.2101 2.0007 -5.9635 +v 1.8329 1.9001 -4.2558 +v 1.8329 1.9001 -5.9635 +v 1.9954 1.2154 -4.2558 +v 2.6182 1.2154 -4.2558 +v 2.6182 1.2154 -5.9635 +v 1.9954 1.2154 -5.9635 +v 2.6182 1.1148 -4.2558 +v 2.6182 1.1148 -5.9635 +v 1.6028 1.6080 -4.2558 +v 2.2256 1.6080 -4.2558 +v 2.2256 1.6080 -5.9635 +v 1.6028 1.6080 -5.9635 +v 2.2256 1.5074 -4.2558 +v 2.2256 1.5074 -5.9635 +v 0.8175 2.3933 -4.2558 +v 1.4403 2.3933 -4.2558 +v 1.4403 2.3933 -5.9635 +v 0.8175 2.3933 -5.9635 +v 1.4403 2.2927 -4.2558 +v 1.4403 2.2927 -5.9635 +v 0.4248 2.7860 -4.2558 +v 1.0476 2.7860 -4.2558 +v 1.0476 2.7860 -5.9635 +v 0.4248 2.7860 -5.9635 +v 1.0476 2.6854 -4.2558 +v 1.0476 2.6854 -5.9635 +v 4.3804 4.9359 -3.7128 +v 4.3804 4.9359 -3.8100 +v 4.3804 6.2446 -3.8100 +v 4.3804 6.2446 -3.7128 +v 4.2479 4.9359 -3.8100 +v 4.2479 6.2446 -3.8100 +v 4.2479 4.9359 -3.7128 +v 4.2479 6.2446 -3.7128 +v 4.3840 7.5263 5.5056 +v 4.3681 8.8497 5.5326 +v 4.3681 8.8497 5.9403 +v 4.3840 7.5263 6.0196 +v 3.8365 7.5263 5.5056 +v 3.8950 8.8497 5.5326 +v 3.8365 7.5263 6.0196 +v 3.8950 8.8497 5.9403 +v 4.4329 10.0421 5.4567 +v 4.4329 10.0421 6.0685 +v 3.7876 10.4278 5.4567 +v 3.7876 10.4278 6.0685 +v 3.8116 7.6552 6.1897 +v 3.8116 7.1458 6.1897 +v 4.3595 7.1458 6.1897 +v 4.3595 7.6552 6.1897 +v 3.8116 7.0906 4.5742 +v 3.8116 7.2524 3.0420 +v 4.3595 7.2524 3.0420 +v 4.3595 7.0906 4.5742 +v 4.3595 7.7618 3.0420 +v 4.3595 7.6000 4.5742 +v 3.8116 7.7618 3.0420 +v 3.8116 7.6000 4.5742 +v -1.4771 5.0898 -6.4637 +v -1.9428 5.1372 -6.7076 +v -2.0334 5.8873 -6.3814 +v -1.4996 5.8873 -6.3814 +v -0.9691 5.1030 -6.5948 +v -0.9657 5.8873 -6.3814 +v -0.4435 5.1002 -6.5399 +v -0.4319 5.8873 -6.3814 +v 0.0759 5.0635 -6.4447 +v 0.1019 5.8873 -6.3814 +v -1.4413 4.3211 -6.5007 +v -1.7739 4.4052 -6.9063 +v -0.9920 4.3538 -6.7854 +v -0.5263 4.3417 -6.5267 +v -0.0178 4.2732 -6.3949 +v -1.3879 3.5934 -6.5914 +v -1.5246 3.7366 -7.0874 +v -0.9385 3.6267 -6.8777 +v -0.4313 3.6518 -6.7088 +v -0.2051 3.5484 -6.2310 +v -1.2861 2.9368 -6.7930 +v -1.7756 3.1551 -6.8101 +v -0.7710 2.9815 -6.6713 +v -0.3018 3.0074 -6.9315 +v 0.1094 3.0048 -6.5830 +# 1383 vertices + +vn 0.0000 0.0000 -1.0000 +vn 0.4638 0.6957 -0.5486 +vn 0.4636 0.6954 -0.5490 +vn 0.4638 0.6957 -0.5485 +vn 0.9977 -0.0673 -0.0000 +vn 0.5491 0.8298 -0.0992 +vn 0.9977 -0.0673 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.4638 0.6957 0.5485 +vn 0.4637 0.6955 0.5489 +vn 0.4638 0.6957 0.5486 +vn 0.4637 0.6956 0.5488 +vn 0.5491 0.8298 0.0992 +vn 0.5492 0.8298 0.0991 +vn 0.2072 0.7740 -0.5984 +vn 0.2072 0.7738 -0.5986 +vn 0.2072 0.7741 -0.5981 +vn 0.9997 -0.0244 -0.0000 +vn 0.9995 -0.0305 -0.0000 +vn 0.2596 0.9591 -0.1127 +vn 0.2596 0.9591 -0.1126 +vn 0.2568 0.9599 -0.1127 +vn 0.2568 0.9599 -0.1128 +vn 0.9997 -0.0244 0.0000 +vn 0.9995 -0.0305 0.0000 +vn 0.2072 0.7740 0.5984 +vn 0.2596 0.9591 0.1126 +vn 0.2568 0.9599 0.1128 +vn 0.2568 0.9599 0.1127 +vn 0.2596 0.9591 0.1127 +vn 0.0825 0.7882 -0.6099 +vn 0.0855 0.7881 -0.6096 +vn 0.0855 0.7882 -0.6095 +vn 0.9999 -0.0122 -0.0000 +vn 0.1037 0.9879 -0.1155 +vn 0.1037 0.9879 -0.1153 +vn 0.1037 0.9879 -0.1154 +vn 0.0855 0.7880 0.6097 +vn 0.0855 0.7881 0.6096 +vn 0.0825 0.7882 0.6098 +vn 0.1037 0.9879 0.1155 +vn 0.1037 0.9879 0.1154 +vn 0.2867 0.7565 -0.5878 +vn 0.2896 0.7561 -0.5869 +vn 0.2868 0.7568 -0.5874 +vn 0.9993 -0.0367 -0.0000 +vn 0.3544 0.9287 -0.1096 +vn 0.9993 -0.0367 0.0000 +vn 0.2896 0.7559 0.5871 +vn 0.2867 0.7565 0.5878 +vn 0.2868 0.7568 0.5874 +vn 0.3544 0.9287 0.1096 +vn -0.0851 0.7903 -0.6068 +vn -0.0851 0.7905 -0.6065 +vn -0.9999 -0.0122 -0.0000 +vn -0.1037 0.9879 -0.1154 +vn -0.1037 0.9879 -0.1157 +vn -0.1037 0.9879 -0.1155 +vn -0.1037 0.9879 -0.1153 +vn -0.0851 0.7903 0.6068 +vn -0.1037 0.9879 0.1153 +vn -0.1037 0.9879 0.1155 +vn -0.1037 0.9879 0.1156 +vn -0.1037 0.9879 0.1154 +vn -0.3972 0.7211 -0.5676 +vn -0.3974 0.7215 -0.5671 +vn -0.9981 -0.0609 -0.0000 +vn -0.9985 -0.0548 -0.0000 +vn -0.4788 0.8717 -0.1041 +vn -0.4788 0.8717 -0.1043 +vn -0.4788 0.8717 -0.1044 +vn -0.4788 0.8717 -0.1042 +vn -0.3974 0.7215 0.5671 +vn -0.3972 0.7211 0.5676 +vn -0.3972 0.7212 0.5676 +vn -0.9981 -0.0609 0.0000 +vn -0.4788 0.8717 0.1041 +vn -0.4788 0.8717 0.1043 +vn -0.2868 0.7566 -0.5877 +vn -0.2868 0.7568 -0.5874 +vn -0.2895 0.7558 -0.5874 +vn -0.2896 0.7560 -0.5870 +vn -0.9993 -0.0367 -0.0000 +vn -0.3544 0.9287 -0.1095 +vn -0.3544 0.9287 -0.1096 +vn -0.9993 -0.0367 0.0000 +vn -0.2896 0.7559 0.5871 +vn -0.2868 0.7566 0.5877 +vn -0.2896 0.7560 0.5870 +vn -0.3544 0.9287 0.1096 +vn -0.3544 0.9287 0.1095 +vn -0.2896 0.7561 -0.5869 +vn -0.9991 -0.0428 -0.0000 +vn -0.9991 -0.0428 0.0000 +vn -0.0821 0.7905 -0.6069 +vn -0.0825 0.7884 -0.6096 +vn -0.9999 -0.0122 0.0000 +vn -0.0825 0.7882 0.6099 +vn -0.0821 0.7905 0.6069 +vn -0.1316 0.7835 -0.6073 +vn -0.1310 0.7857 -0.6045 +vn -0.1315 0.7830 -0.6079 +vn -0.9998 -0.0183 -0.0000 +vn -0.1668 0.9793 -0.1149 +vn -0.1653 0.9795 -0.1150 +vn -0.1653 0.9795 -0.1152 +vn -0.1643 0.9797 -0.1147 +vn -0.1668 0.9793 -0.1150 +vn -0.1315 0.7830 0.6079 +vn -0.1310 0.7859 0.6043 +vn -0.1316 0.7835 0.6073 +vn -0.1668 0.9793 0.1150 +vn -0.1643 0.9797 0.1146 +vn -0.1653 0.9795 0.1150 +vn -0.1668 0.9793 0.1149 +vn -0.9998 -0.0183 0.0000 +vn 0.4615 0.6968 -0.5491 +vn 0.4637 0.6955 -0.5489 +vn 0.4612 0.6964 -0.5498 +vn 0.9981 -0.0610 -0.0000 +vn 0.9973 -0.0732 -0.0000 +vn 0.5492 0.8298 -0.0991 +vn 0.5491 0.8298 -0.0994 +vn 0.9981 -0.0610 0.0000 +vn 0.4615 0.6968 0.5491 +vn 0.4611 0.6963 0.5501 +vn 0.5491 0.8298 0.0994 +vn 0.2082 0.7714 -0.6013 +vn 0.2082 0.7715 -0.6012 +vn 0.2081 0.7713 -0.6014 +vn 0.2082 0.7717 -0.6010 +vn 0.2567 0.9600 -0.1121 +vn 0.2567 0.9600 -0.1120 +vn 0.2581 0.9596 -0.1120 +vn 0.2082 0.7715 0.6012 +vn 0.2081 0.7714 0.6014 +vn 0.2567 0.9600 0.1120 +vn 0.2581 0.9596 0.1120 +vn 0.2567 0.9600 0.1121 +vn 0.2896 0.7560 -0.5870 +vn 0.2889 0.7562 -0.5871 +vn 0.2874 0.7563 -0.5878 +vn 0.9993 -0.0366 -0.0000 +vn 0.9991 -0.0427 -0.0000 +vn 0.3550 0.9284 -0.1096 +vn 0.9993 -0.0366 0.0000 +vn 0.2869 0.7569 0.5872 +vn 0.2889 0.7562 0.5872 +vn 0.2896 0.7560 0.5870 +vn 0.3550 0.9284 0.1096 +vn 0.0844 0.7904 -0.6067 +vn 0.0844 0.7899 -0.6074 +vn 0.0827 0.7884 -0.6096 +vn 0.0848 0.7882 -0.6095 +vn 0.1051 0.9877 -0.1155 +vn 0.1052 0.9877 -0.1153 +vn 0.1052 0.9877 -0.1155 +vn 0.0827 0.7882 0.6099 +vn 0.0844 0.7899 0.6074 +vn 0.0844 0.7904 0.6067 +vn 0.0848 0.7881 0.6097 +vn 0.1051 0.9877 0.1155 +vn 0.1052 0.9877 0.1155 +vn 0.1052 0.9878 0.1152 +vn 0.0823 0.7905 -0.6069 +vn 0.0821 0.7905 -0.6069 +vn 0.0847 0.7875 -0.6105 +vn 0.1029 0.9879 -0.1157 +vn 0.1050 0.9877 -0.1155 +vn 0.1052 0.9878 -0.1152 +vn 0.0821 0.7905 0.6069 +vn 0.0823 0.7905 0.6069 +vn 0.1050 0.9877 0.1155 +vn 0.1029 0.9880 0.1155 +vn 0.1052 0.9877 0.1153 +vn 0.9999 -0.0122 0.0000 +vn -0.2889 0.7562 -0.5871 +vn -0.2889 0.7563 -0.5870 +vn 0.9993 0.0366 0.0000 +vn 0.9991 0.0427 0.0000 +vn -0.3550 0.9284 -0.1096 +vn -0.3550 0.9284 -0.1095 +vn -0.2889 0.7562 0.5871 +vn -0.2889 0.7561 0.5873 +vn -0.3550 0.9284 0.1095 +vn -0.3550 0.9284 0.1096 +vn -1.0000 0.0000 -0.0000 +vn -0.9244 0.3783 -0.0488 +vn -0.9245 0.3784 -0.0458 +vn 0.0000 -0.1222 -0.9925 +vn -0.3448 0.9318 -0.1134 +vn -0.3462 0.9313 -0.1133 +vn -0.3461 0.9310 -0.1164 +vn -0.3447 0.9315 -0.1164 +vn 1.0000 0.0000 -0.0000 +vn 0.9245 0.3784 -0.0458 +vn 0.9244 0.3783 -0.0488 +vn 0.3462 0.9313 -0.1133 +vn 0.3461 0.9310 -0.1164 +vn -0.9250 0.3785 -0.0336 +vn 0.0000 -0.0856 -0.9963 +vn -0.3434 0.9359 -0.0790 +vn -0.3433 0.9356 -0.0820 +vn -0.3420 0.9364 -0.0790 +vn 0.9250 0.3785 -0.0336 +vn 0.3434 0.9359 -0.0790 +vn 0.3433 0.9356 -0.0820 +vn -0.9254 0.3787 -0.0122 +vn 0.0000 -0.0367 -0.9993 +vn 0.0000 -0.0366 -0.9993 +vn -0.3429 0.9389 -0.0305 +vn -0.3456 0.9379 -0.0305 +vn -0.3443 0.9384 -0.0305 +vn 0.9254 0.3787 -0.0122 +vn 0.3443 0.9384 -0.0305 +vn 0.3456 0.9379 -0.0305 +vn 0.9245 0.3784 0.0458 +vn 0.0000 -0.1222 0.9925 +vn 0.3462 0.9313 0.1133 +vn 0.3448 0.9318 0.1134 +vn 0.3448 0.9316 0.1149 +vn -0.9245 0.3784 0.0458 +vn -0.3462 0.9313 0.1133 +vn -0.3461 0.9311 0.1149 +vn -0.3448 0.9318 0.1134 +vn 0.0000 -0.1220 0.9925 +vn -0.9244 0.3786 0.0458 +vn 0.9245 0.3783 0.0461 +vn 0.3462 0.9313 0.1137 +vn 0.3448 0.9317 0.1142 +vn -0.9245 0.3783 0.0461 +vn -0.3462 0.9313 0.1137 +vn -0.3448 0.9317 0.1142 +vn 0.1113 -0.8478 -0.5185 +vn 0.1128 -0.8477 -0.5184 +vn 0.1284 -0.8312 -0.5409 +vn 0.1276 -0.8313 -0.5410 +vn -0.5831 -0.6350 -0.5068 +vn -0.5830 -0.6349 -0.5069 +vn -0.5055 -0.6699 -0.5437 +vn -0.5053 -0.6697 -0.5442 +vn -0.5051 -0.6694 -0.5447 +vn -0.5049 -0.6691 0.5454 +vn -0.5051 -0.6693 0.5449 +vn -0.5072 -0.6661 0.5469 +vn -0.1315 -0.7827 0.6084 +vn -0.1285 -0.7830 0.6086 +vn -0.1284 -0.7824 0.6095 +vn -0.1342 -0.7809 0.6101 +vn -0.1357 -0.7807 0.6099 +vn -0.1378 -0.7857 0.6030 +vn -0.1356 -0.7860 0.6032 +vn -0.1341 -0.7861 0.6033 +vn 0.4588 0.6974 -0.5506 +vn 0.4585 0.6969 -0.5515 +vn 0.1356 0.8168 -0.5607 +vn 0.1334 0.8170 -0.5609 +vn 0.1341 0.8170 -0.5609 +vn 0.0000 -0.8372 0.5469 +vn 0.0000 -0.8172 -0.5763 +vn 0.0000 0.8673 0.4978 +vn 0.0000 0.8680 0.4965 +vn 0.3717 0.7678 0.5219 +vn 0.3701 0.7677 0.5231 +vn 0.3693 0.7676 0.5239 +vn 0.0000 -0.8372 -0.5469 +vn 0.0000 -0.8172 0.5763 +vn 0.3700 0.7673 -0.5237 +vn 0.3701 0.7677 -0.5231 +vn 0.3717 0.7678 -0.5219 +vn 0.0000 0.8681 -0.4965 +vn 0.0000 0.8673 -0.4978 +vn 0.1682 -0.8258 0.5383 +vn 0.1700 -0.8418 0.5124 +vn 0.1708 -0.8417 0.5123 +vn -0.1354 -0.8945 -0.4260 +vn -0.1339 -0.8947 -0.4261 +vn 0.1830 0.8114 0.5551 +vn 0.1838 0.8113 0.5551 +vn 0.1853 0.8085 0.5585 +vn 0.4591 0.7053 0.5402 +vn 0.4589 0.7051 0.5405 +vn 0.4608 0.7019 0.5432 +vn -0.1158 -0.8474 -0.5182 +vn -0.1128 -0.8477 -0.5184 +vn -0.1284 -0.8312 -0.5409 +vn 0.5072 -0.6661 -0.5469 +vn 0.5054 -0.6698 -0.5441 +vn 0.5056 -0.6700 -0.5435 +vn 0.5809 -0.6359 -0.5081 +vn 0.5811 -0.6361 -0.5077 +vn 0.1284 -0.7824 0.6094 +vn 0.1285 -0.7830 0.6086 +vn 0.5072 -0.6661 0.5469 +vn 0.5051 -0.6694 0.5447 +vn 0.5049 -0.6691 0.5454 +vn 0.1341 -0.7861 0.6033 +vn 0.1371 -0.7858 0.6031 +vn 0.1342 -0.7809 0.6101 +vn -0.4585 0.6969 -0.5515 +vn -0.4587 0.6972 -0.5509 +vn -0.4588 0.6974 -0.5506 +vn -0.1341 0.8170 -0.5609 +vn -0.1341 0.8169 -0.5610 +vn -0.3719 0.7681 0.5212 +vn -0.3715 0.7674 0.5225 +vn -0.3717 0.7678 0.5219 +vn -0.3717 0.7678 -0.5219 +vn -0.3715 0.7674 -0.5225 +vn -0.3713 0.7669 -0.5234 +vn -0.1682 -0.8258 0.5383 +vn -0.1712 -0.8254 0.5380 +vn -0.1708 -0.8417 0.5123 +vn 0.1339 -0.8947 -0.4261 +vn -0.1838 0.8089 0.5585 +vn -0.1860 0.8109 0.5548 +vn -0.1830 0.8114 0.5551 +vn -0.4584 0.7029 0.5439 +vn -0.4568 0.7066 0.5404 +vn -0.4566 0.7062 0.5411 +vn 0.9996 0.0000 -0.0288 +vn 0.9997 -0.0183 -0.0183 +vn 0.9996 0.0000 -0.0291 +vn 0.9996 -0.0000 0.0282 +vn 0.9996 -0.0000 0.0285 +vn 0.9998 -0.0122 0.0183 +vn 0.9998 -0.0122 0.0152 +vn -0.9998 -0.0122 0.0183 +vn -0.9996 -0.0000 0.0285 +vn -0.9996 -0.0000 0.0282 +vn -0.9998 -0.0122 0.0152 +vn -0.9997 -0.0183 -0.0183 +vn -0.9996 0.0000 -0.0288 +vn -0.9996 0.0000 -0.0291 +vn 0.1039 -0.7575 -0.6445 +vn 0.1156 -0.7365 -0.6665 +vn 0.1096 -0.7370 -0.6669 +vn 0.1126 -0.7367 -0.6667 +vn -0.2503 -0.7694 -0.5877 +vn -0.2501 -0.7687 -0.5887 +vn -0.2503 -0.7693 -0.5879 +vn -0.5318 -0.6968 -0.4812 +vn -0.5318 -0.6968 -0.4813 +vn -0.5172 -0.6815 0.5177 +vn -0.5195 -0.6784 0.5195 +vn 0.2383 -0.8127 0.5316 +vn 0.2322 -0.8126 0.5346 +vn 0.2323 -0.8130 0.5338 +vn -0.1162 -0.6727 0.7308 +vn -0.1160 -0.6775 0.7263 +vn -0.1220 -0.6770 0.7258 +vn 0.4650 0.7097 -0.5292 +vn 0.4650 0.7098 -0.5291 +vn 0.4674 0.7088 -0.5283 +vn 0.0854 0.8601 -0.5030 +vn 0.0854 0.8600 -0.5032 +vn 0.0000 -0.7399 0.6727 +vn 0.0000 -0.7132 -0.7010 +vn 0.0000 0.8956 0.4448 +vn 0.0000 0.8960 0.4440 +vn 0.4281 0.7828 0.4516 +vn 0.4280 0.7826 0.4522 +vn 0.4279 0.7825 0.4524 +vn 0.0000 -0.7399 -0.6727 +vn 0.0000 -0.7132 0.7010 +vn 0.4279 0.7825 -0.4524 +vn 0.4280 0.7826 -0.4522 +vn 0.4281 0.7828 -0.4516 +vn 0.0000 0.8960 -0.4440 +vn 0.0000 0.8956 -0.4448 +vn 0.1524 -0.7316 0.6645 +vn 0.1494 -0.7319 0.6648 +vn 0.1528 -0.7516 0.6416 +vn -0.1223 -0.8258 -0.5505 +vn -0.1218 -0.8284 -0.5467 +vn 0.1223 0.8564 0.5016 +vn 0.1187 0.8583 0.4992 +vn 0.1193 0.8566 0.5019 +vn 0.4673 0.7148 0.5203 +vn 0.4648 0.7156 0.5214 +vn 0.4700 0.7141 0.5188 +vn -0.9995 -0.0183 0.0274 +vn -0.9992 -0.0000 0.0395 +vn -0.9992 -0.0000 0.0391 +vn -0.9995 -0.0183 -0.0274 +vn -0.9992 0.0000 -0.0399 +vn -0.9992 0.0000 -0.0404 +vn 0.0000 0.0122 -0.9999 +vn 0.0000 -0.0091 -1.0000 +vn 0.9999 0.0152 0.0000 +vn 0.0000 0.0305 0.9995 +vn -1.0000 0.0030 0.0000 +vn -1.0000 -0.0030 -0.0000 +vn 0.0000 -0.0305 -0.9995 +vn 0.9998 -0.0213 -0.0000 +vn 0.9998 -0.0183 -0.0000 +vn 0.9998 -0.0183 0.0122 +vn 0.9998 -0.0183 0.0107 +vn 0.0000 -0.0366 0.9993 +vn 0.0000 -0.0397 0.9992 +vn -0.9999 -0.0122 0.0061 +vn -1.0000 -0.0061 0.0061 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.8224 -0.5689 +vn 0.0000 -0.9972 0.0743 +vn 0.0000 0.8224 0.5689 +vn 0.0000 -0.9973 -0.0740 +vn 0.0000 -0.9972 -0.0747 +vn 0.0000 -0.8101 0.5863 +vn 0.0000 -0.8103 0.5860 +vn 0.0000 -0.8103 -0.5860 +vn 0.0000 -0.8101 -0.5863 +vn 0.0000 0.9968 -0.0804 +vn 0.0000 0.9968 -0.0803 +vn 0.0000 0.9982 0.0594 +vn 0.0000 0.9982 0.0591 +vn 0.0000 0.9946 0.1037 +vn 0.0000 0.9946 0.1034 +vn 0.0000 0.9980 -0.0633 +vn 0.0000 -0.9972 0.0745 +vn 0.0000 -0.9972 -0.0745 +vn 0.2289 -0.9735 -0.0000 +vn -0.2289 0.9735 0.0000 +vn -0.2260 -0.9741 -0.0000 +vn 0.2318 0.9728 0.0000 +vn -0.9993 0.0383 0.0000 +vn -0.9993 0.0385 0.0000 +vn 0.0000 0.1578 0.9875 +vn 0.0000 0.1581 0.9874 +vn 0.0000 0.1580 0.9874 +vn 0.0000 0.1579 0.9875 +vn 0.9993 0.0383 0.0000 +vn 0.9993 0.0385 0.0000 +vn 0.0000 0.1581 -0.9874 +vn 0.0000 0.1583 -0.9874 +vn -0.9999 -0.0152 -0.0000 +vn -1.0000 0.0046 0.0000 +vn 0.0000 -0.0275 0.9996 +vn 0.0000 0.0076 1.0000 +vn 0.0000 -0.0275 -0.9996 +vn 0.0000 0.0076 -1.0000 +vn -0.9622 0.2725 0.0000 +vn -0.9623 0.2722 0.0000 +vn 0.0000 0.8520 -0.5235 +vn 0.0000 0.8512 -0.5248 +vn 0.9623 0.2722 0.0000 +vn 0.9622 0.2725 0.0000 +vn 0.0000 0.8520 0.5235 +vn 0.0000 0.8513 0.5246 +vn -0.9963 0.0856 0.0000 +vn -0.9964 0.0852 0.0000 +vn 0.0000 0.4396 -0.8982 +vn 0.9964 0.0852 0.0000 +vn 0.9963 0.0856 0.0000 +vn 0.0000 0.4405 0.8978 +vn 0.0000 0.4402 0.8979 +vn -0.9997 0.0236 0.0000 +vn 0.0000 0.0446 0.9990 +vn 1.0000 0.0004 0.0000 +vn 0.0000 0.0446 -0.9990 +vn 0.0000 0.1583 0.9874 +vn 0.0000 0.1579 -0.9875 +vn 0.0000 -0.0274 -0.9996 +vn 0.0000 0.8513 -0.5246 +vn 0.0000 0.4402 -0.8979 +vn 0.0000 0.4405 -0.8978 +vn 0.0000 0.4396 0.8982 +vn -0.9997 0.0232 0.0000 +vn 0.0000 0.0447 -0.9990 +vn 0.0000 -0.9633 0.2683 +vn 0.0000 0.9626 -0.2711 +vn 0.0000 0.9633 -0.2683 +vn 0.0000 -0.2569 -0.9664 +vn 0.0000 0.0762 -0.9971 +vn 0.0000 -0.0122 -0.9999 +vn 1.0000 -0.0091 -0.0000 +vn 1.0000 -0.0061 -0.0000 +vn 0.0000 -0.0244 0.9997 +vn -0.9996 0.0274 0.0000 +vn -1.0000 -0.0061 0.0030 +vn -1.0000 -0.0061 -0.0000 +vn 0.0000 -0.1037 -0.9946 +vn 1.0000 0.0061 0.0000 +vn 1.0000 0.0061 -0.0030 +vn 0.0000 0.0244 0.9997 +vn 0.0000 0.0183 0.9998 +vn -0.9994 -0.0306 0.0153 +vn -0.9994 -0.0306 0.0183 +vn 0.0000 0.0762 0.9971 +vn 0.0000 -0.0122 0.9999 +vn 0.0000 -0.0244 -0.9997 +vn -1.0000 -0.0061 -0.0030 +vn 0.0000 -0.1037 0.9946 +vn 1.0000 0.0061 0.0030 +vn 0.0000 0.0244 -0.9997 +vn 0.0000 0.0183 -0.9998 +vn -0.9994 -0.0306 -0.0153 +vn -0.9994 -0.0306 -0.0183 +vn -0.9483 -0.3173 -0.0000 +vn -0.9486 -0.3165 -0.0000 +vn 0.9451 0.3267 0.0000 +vn 0.9452 0.3265 0.0000 +vn -0.0122 -0.0025 -0.9999 +vn -0.1127 -0.0320 -0.9931 +vn -0.0870 -0.0321 -0.9957 +vn 0.9442 0.3295 0.0000 +vn -0.0061 -0.0030 -1.0000 +vn 0.0000 -0.0795 0.9968 +vn -1.0000 0.0047 0.0000 +vn 0.0000 0.0795 -0.9968 +vn 1.0000 -0.0047 -0.0000 +vn 0.0000 0.0795 0.9968 +vn 0.0000 -0.0795 -0.9968 +vn 0.0000 0.2019 -0.9794 +vn 0.0000 0.0458 -0.9989 +vn 0.0000 0.0420 -0.9991 +vn 0.9998 -0.0221 -0.0000 +vn 0.0000 -0.0649 0.9979 +vn 0.0000 -0.0648 0.9979 +vn -0.9972 0.0751 0.0000 +vn -0.9999 0.0152 0.0000 +vn -0.9998 0.0175 0.0000 +vn 0.0000 -0.1161 -0.9932 +vn 1.0000 0.0099 0.0000 +vn 1.0000 0.0091 0.0000 +vn 1.0000 0.0091 -0.0030 +vn 1.0000 0.0092 -0.0031 +vn 0.0000 0.0274 0.9996 +vn -0.9992 -0.0397 0.0061 +vn -0.9992 -0.0397 0.0092 +vn -0.5810 -0.8134 0.0306 +vn -0.5603 -0.8283 -0.0000 +vn 0.9999 0.0122 0.0000 +vn -0.5600 0.8279 -0.0304 +vn -0.5812 0.8137 0.0000 +vn -0.5810 -0.8134 -0.0306 +vn -0.5629 0.8260 0.0306 +vn 0.9932 -0.0000 0.1161 +vn 0.9933 -0.0000 0.1158 +vn 0.7528 0.0000 -0.6583 +vn 0.7514 0.0000 -0.6598 +vn -0.9933 0.0000 -0.1158 +vn -0.9932 0.0000 -0.1161 +vn 0.9933 0.0000 -0.1158 +vn -0.7514 0.0000 -0.6598 +vn -0.9932 -0.0000 0.1161 +vn -0.9933 -0.0000 0.1158 +vn -1.0000 -0.0091 -0.0000 +vn 0.9996 0.0274 0.0000 +vn -1.0000 0.0061 -0.0030 +vn -1.0000 0.0061 0.0000 +vn 0.9994 -0.0305 0.0152 +vn 0.9994 -0.0305 0.0183 +vn -1.0000 0.0061 0.0030 +vn 0.9994 -0.0305 -0.0152 +vn -0.9998 -0.0000 0.0221 +vn 0.0000 0.9167 0.3995 +vn 0.0000 0.9170 0.3989 +vn 0.9998 -0.0000 0.0221 +vn 0.0000 -0.9687 -0.2483 +vn 0.0000 -0.9685 -0.2490 +vn 0.0476 0.9818 -0.1841 +vn 0.0805 0.9968 0.0000 +vn -0.9123 0.4095 0.0000 +vn -0.9330 0.3598 -0.0122 +vn 0.9134 0.4033 -0.0550 +vn 0.8857 0.4642 0.0000 +vn 0.9999 0.0000 -0.0122 +vn -0.9999 -0.0000 0.0122 +vn -0.9999 -0.0000 0.0133 +vn -0.9133 -0.4032 -0.0575 +vn -0.8857 -0.4642 -0.0000 +vn -0.9100 -0.4146 -0.0000 +vn -0.9308 -0.3546 -0.0886 +vn 0.9137 -0.4027 -0.0538 +vn 0.8857 -0.4642 -0.0000 +vn 0.9100 -0.4146 -0.0000 +vn 0.9330 -0.3598 -0.0123 +vn 0.0475 0.9816 0.1852 +vn -0.9330 0.3598 0.0123 +vn 0.9133 0.4032 0.0576 +vn 0.9999 -0.0000 0.0132 +vn 0.9999 -0.0000 0.0122 +vn -0.9999 0.0000 -0.0122 +vn -0.9134 -0.4033 0.0550 +vn -0.9311 -0.3547 0.0856 +vn 0.9137 -0.4027 0.0549 +vn 0.9330 -0.3598 0.0122 +vn 0.0000 0.0488 -0.9988 +vn -0.9252 0.3789 0.0206 +vn -0.9253 0.3787 0.0206 +vn -0.9253 0.3787 0.0204 +vn -0.9252 0.3789 0.0204 +vn 0.0000 -0.0488 0.9988 +vn -0.3440 0.9376 0.0502 +vn -0.3440 0.9376 0.0501 +vn -0.3440 0.9376 0.0500 +vn 0.9253 0.3787 0.0204 +vn 0.9253 0.3787 0.0206 +vn 0.3427 0.9381 0.0503 +vn 0.3427 0.9381 0.0501 +vn 0.3427 0.9381 0.0502 +vn 0.0000 -0.1218 -0.9926 +vn 0.0000 0.1218 0.9926 +vn 0.3447 0.9315 -0.1164 +vn 0.2867 0.7564 -0.5879 +vn -0.9993 0.0367 0.0000 +vn 0.3544 0.9287 -0.1095 +vn 0.3544 0.9287 0.1095 +vn -0.9993 0.0367 -0.0000 +vn 0.2868 0.7566 0.5877 +vn 0.2106 -0.0000 0.9776 +vn 0.2135 -0.0000 0.9769 +vn 0.8058 0.5922 0.0000 +vn 0.8087 0.5882 0.0000 +vn 0.2106 0.0000 -0.9776 +vn 0.2135 0.0000 -0.9769 +vn -0.6251 -0.7806 -0.0000 +vn -0.6232 -0.7821 -0.0000 +vn 0.9991 -0.0426 -0.0000 +vn 0.2867 0.7563 -0.5880 +vn 0.2868 0.7567 -0.5875 +vn -0.9993 0.0366 0.0000 +vn 0.2868 0.7567 0.5875 +vn 0.2867 0.7564 0.5880 +vn 0.3544 0.9287 0.1097 +vn -0.9993 0.0366 -0.0000 +vn 0.2075 -0.0000 0.9782 +vn 0.2075 0.0000 -0.9782 +vn -0.6269 -0.7791 -0.0000 +vn -0.9993 -0.0366 -0.0000 +vn -0.2867 0.7564 -0.5879 +vn -0.2868 0.7567 -0.5875 +vn -0.9993 -0.0366 0.0000 +vn -0.3544 0.9287 -0.1094 +vn -0.2868 0.7567 0.5875 +vn 0.9993 0.0366 -0.0000 +vn -0.9997 0.0000 -0.0244 +vn 0.0000 0.9176 -0.3976 +vn 0.9997 0.0000 -0.0244 +vn 0.0000 -0.9679 0.2512 +vn 0.1188 -0.9929 -0.0000 +vn -0.1218 0.9926 0.0000 +vn -0.1188 -0.9929 -0.0000 +vn 0.1218 0.9926 0.0000 +vn 0.0000 0.0609 0.9981 +vn 0.0122 -0.0244 0.9996 +vn 0.0000 -0.0669 -0.9978 +vn 0.0946 -0.0488 -0.9943 +vn 0.1415 -0.0852 0.9863 +vn 0.1559 -0.0856 0.9841 +vn 0.0000 -0.9993 -0.0366 +vn 0.0000 -0.9946 -0.1037 +vn 0.0000 0.9993 0.0366 +vn 0.0000 -0.9993 0.0366 +vn 0.0000 0.9993 -0.0366 +vn 0.0000 -0.8504 0.5261 +vn 0.0000 -0.7737 0.6336 +vn 0.9999 0.0061 0.0122 +vn 0.9999 0.0122 0.0061 +vn 0.0000 0.9434 -0.3317 +vn 0.0000 0.8477 -0.5305 +vn -0.9999 0.0061 0.0153 +vn -1.0000 -0.0000 0.0061 +vn -0.9998 -0.0000 0.0214 +vn 0.0000 -0.6823 0.7311 +vn 0.0000 0.7102 -0.7040 +vn 0.0000 0.2019 0.9794 +vn 0.0000 0.0420 0.9991 +vn 0.0000 0.0458 0.9989 +vn 0.9998 -0.0220 -0.0000 +vn 0.0000 -0.0648 -0.9979 +vn -0.9972 0.0752 0.0000 +vn 0.0000 -0.1161 0.9932 +vn 1.0000 0.0092 0.0031 +vn 1.0000 0.0091 0.0030 +vn 0.0000 0.0274 -0.9996 +vn -0.9992 -0.0397 -0.0061 +vn -0.9992 -0.0397 -0.0092 +vn 0.0000 0.0152 0.9999 +vn 0.0000 -0.0091 1.0000 +vn 0.0000 0.0305 -0.9995 +vn 0.0000 0.0336 -0.9994 +vn 0.0000 -0.0367 0.9993 +vn 0.9998 -0.0152 -0.0122 +vn 0.9998 -0.0183 -0.0122 +vn 0.0000 -0.0397 -0.9992 +vn -0.9999 -0.0122 -0.0061 +vn -1.0000 -0.0061 -0.0061 +vn 0.0000 -0.9992 0.0397 +vn 0.0000 0.9992 -0.0397 +vn 0.0000 -0.9992 -0.0397 +vn 0.0000 0.9992 0.0397 +vn -0.9999 0.0061 0.0122 +vn -0.9999 0.0122 0.0061 +vn 0.9999 0.0061 0.0152 +vn 0.9998 -0.0000 0.0213 +vn 1.0000 -0.0000 0.0061 +vn 0.9095 0.4158 0.0000 +vn -0.2267 -0.9740 -0.0000 +vn -0.9096 0.4155 0.0000 +vn 0.2267 -0.9740 -0.0000 +vn -0.9153 -0.4027 -0.0000 +vn 0.9153 -0.4027 -0.0000 +vn 0.2447 0.9696 0.0000 +vn 0.2454 0.9694 0.0000 +vn -0.1847 0.9828 0.0000 +vn -0.3094 0.9509 0.0000 +vn 0.1957 0.9807 0.0000 +vn 0.0000 -0.8100 0.5864 +vn 0.0000 0.9982 0.0593 +vn -0.9998 -0.0220 -0.0000 +vn -0.9998 -0.0221 -0.0000 +vn 0.9971 0.0755 0.0000 +vn 0.9998 0.0175 0.0000 +vn 0.9972 0.0754 0.0000 +vn -1.0000 0.0099 0.0000 +vn -1.0000 0.0091 0.0000 +vn -1.0000 0.0091 0.0030 +vn 0.9992 -0.0396 -0.0061 +vn 0.9992 -0.0396 -0.0091 +vn 0.0000 -0.0650 0.9979 +vn -1.0000 0.0091 -0.0030 +vn 0.9992 -0.0396 0.0061 +vn 0.9992 -0.0396 0.0091 +vn -0.2135 -0.0000 0.9769 +vn -0.8058 0.5922 0.0000 +vn -0.8087 0.5882 0.0000 +vn -0.2135 0.0000 -0.9769 +vn 0.6269 -0.7791 -0.0000 +vn -0.1131 -0.0321 -0.9931 +vn -0.9999 0.0122 0.0000 +vn -0.0152 -0.0244 0.9996 +vn -0.0946 -0.0488 -0.9943 +vn -0.0915 -0.0488 -0.9946 +vn -0.9997 -0.0244 -0.0000 +vn -0.1430 -0.0852 0.9860 +vn -0.1559 -0.0856 0.9841 +vn 0.1677 0.1769 -0.9698 +vn 0.8852 0.1526 -0.4395 +vn 0.3225 0.1704 -0.9311 +vn -0.0915 0.1647 -0.9821 +vn -0.0990 0.1675 -0.9809 +vn 0.0351 0.2381 -0.9706 +vn 0.4087 0.0824 -0.9089 +vn 0.0681 0.1522 -0.9860 +vn 0.4566 0.0335 -0.8890 +vn 0.2185 0.1406 -0.9657 +vn 0.9746 0.1098 -0.1952 +vn -0.0808 0.1708 -0.9820 +vn 0.7953 0.0367 -0.6051 +vn 0.5738 -0.1465 -0.8058 +vn 0.5406 0.0855 -0.8369 +vn 0.9869 0.0793 -0.1403 +vn -0.4059 0.0183 -0.9138 +vn 0.9062 0.1768 -0.3841 +vn 0.9727 0.1342 -0.1891 +vn 0.6202 0.0823 -0.7801 +vn -0.3954 -0.3511 -0.8488 +vn -0.5274 -0.0761 -0.8462 +vn 0.4245 0.0701 -0.9027 +vn 0.9479 0.2046 -0.2443 +# 763 vertex normals + +vt 0.1653 0.1021 0.0000 +vt 0.1651 0.0040 0.0000 +vt 0.1820 0.0040 0.0000 +vt 0.1822 0.1021 0.0000 +vt 0.2390 0.0039 0.0000 +vt 0.2392 0.1021 0.0000 +vt 0.2288 0.1154 0.0000 +vt 0.1718 0.1155 0.0000 +vt 0.2488 0.1016 0.0000 +vt 0.2488 0.0038 0.0000 +vt 0.2488 0.1182 0.0000 +vt 0.2389 0.1192 0.0000 +vt 0.3830 0.9833 0.0000 +vt 0.4937 0.9905 0.0000 +vt 0.4968 0.9761 0.0000 +vt 0.3847 0.9691 0.0000 +vt 0.6248 0.0480 0.0000 +vt 0.6387 0.0358 0.0000 +vt 0.6762 0.1456 0.0000 +vt 0.6504 0.1422 0.0000 +vt 0.5881 0.0420 0.0000 +vt 0.5812 0.0529 0.0000 +vt 0.5194 0.7064 0.0000 +vt 0.3946 0.7339 0.0000 +vt 0.2729 0.9827 0.0000 +vt 0.2728 0.9686 0.0000 +vt 0.5372 0.0542 0.0000 +vt 0.5369 0.0436 0.0000 +vt 0.2725 0.7531 0.0000 +vt 0.0490 0.9765 0.0000 +vt 0.0520 0.9909 0.0000 +vt 0.1627 0.9835 0.0000 +vt 0.1610 0.9693 0.0000 +vt 0.1503 0.7341 0.0000 +vt 0.0254 0.7068 0.0000 +vt 0.0129 0.7181 0.0000 +vt 0.0276 0.9777 0.0000 +vt 0.5319 0.7177 0.0000 +vt 0.5181 0.9773 0.0000 +vt 0.6276 0.2100 0.0000 +vt 0.7886 0.2167 0.0000 +vt 0.7880 0.2311 0.0000 +vt 0.6271 0.2239 0.0000 +vt 0.4417 0.0530 0.0000 +vt 0.4170 0.0379 0.0000 +vt 0.4116 0.1636 0.0000 +vt 0.4454 0.1617 0.0000 +vt 0.4931 0.0459 0.0000 +vt 0.5057 0.0598 0.0000 +vt 0.7706 0.5706 0.0000 +vt 0.8113 0.7913 0.0000 +vt 0.6338 0.7720 0.0000 +vt 0.6173 0.5801 0.0000 +vt 0.5547 0.2097 0.0000 +vt 0.5544 0.2235 0.0000 +vt 0.5281 0.0606 0.0000 +vt 0.5276 0.0471 0.0000 +vt 0.5480 0.5803 0.0000 +vt 0.5491 0.7648 0.0000 +vt 0.5131 0.2010 0.0000 +vt 0.8012 0.2068 0.0000 +vt 0.7879 0.1921 0.0000 +vt 0.5137 0.1820 0.0000 +vt 0.9505 0.4390 0.0000 +vt 0.9294 0.4390 0.0000 +vt 0.9268 0.5619 0.0000 +vt 0.9416 0.5619 0.0000 +vt 0.9656 0.4348 0.0000 +vt 0.9905 0.4348 0.0000 +vt 0.9819 0.5570 0.0000 +vt 0.9629 0.5570 0.0000 +vt 0.9511 0.6874 0.0000 +vt 0.9289 0.6874 0.0000 +vt 0.9910 0.6819 0.0000 +vt 0.9651 0.6969 0.0000 +vt 0.4778 0.5469 0.0000 +vt 0.4769 0.4583 0.0000 +vt 0.5358 0.4581 0.0000 +vt 0.5367 0.5468 0.0000 +vt 0.6262 0.4580 0.0000 +vt 0.6271 0.5466 0.0000 +vt 0.4789 0.6840 0.0000 +vt 0.5368 0.6372 0.0000 +vt 0.4840 0.2971 0.0000 +vt 0.4836 0.2217 0.0000 +vt 0.4504 0.2199 0.0000 +vt 0.4509 0.3214 0.0000 +vt 0.4283 0.2164 0.0000 +vt 0.4283 0.1990 0.0000 +vt 0.4162 0.1990 0.0000 +vt 0.4162 0.2164 0.0000 +vt 0.4609 0.4514 0.0000 +vt 0.4609 0.4281 0.0000 +vt 0.4583 0.4281 0.0000 +vt 0.4583 0.4514 0.0000 +vt 0.4865 0.1873 0.0000 +vt 0.5044 0.1875 0.0000 +vt 0.5045 0.1849 0.0000 +vt 0.4865 0.1847 0.0000 +vt 0.6103 0.2288 0.0000 +vt 0.5859 0.2443 0.0000 +vt 0.6117 0.2447 0.0000 +vt 0.4590 0.3365 0.0000 +vt 0.5049 0.3047 0.0000 +vt 0.4891 0.2985 0.0000 +vt 0.4590 0.3204 0.0000 +vt 0.5355 0.2298 0.0000 +vt 0.5369 0.2457 0.0000 +vt 0.4175 0.2974 0.0000 +vt 0.4172 0.2227 0.0000 +vt 0.4609 0.4747 0.0000 +vt 0.4583 0.4747 0.0000 +vt 0.4655 0.5044 0.0000 +vt 0.4632 0.5044 0.0000 +vt 0.4632 0.4694 0.0000 +vt 0.4655 0.4694 0.0000 +vt 0.4632 0.4503 0.0000 +vt 0.4655 0.4503 0.0000 +vt 0.4632 0.4312 0.0000 +vt 0.4655 0.4312 0.0000 +vt 0.4632 0.3965 0.0000 +vt 0.4655 0.3965 0.0000 +vt 0.4486 0.1864 0.0000 +vt 0.4487 0.1898 0.0000 +vt 0.4128 0.1905 0.0000 +vt 0.4128 0.1871 0.0000 +vt 0.4891 0.2302 0.0000 +vt 0.5049 0.2318 0.0000 +vt 0.4583 0.5052 0.0000 +vt 0.4609 0.5052 0.0000 +vt 0.4609 0.3976 0.0000 +vt 0.4583 0.3976 0.0000 +vt 0.4674 0.1860 0.0000 +vt 0.4673 0.1809 0.0000 +vt 0.4485 0.1813 0.0000 +vt 0.4127 0.1820 0.0000 +vt 0.5045 0.1821 0.0000 +vt 0.4865 0.1818 0.0000 +vt 0.4675 0.1906 0.0000 +vt 0.4768 0.1904 0.0000 +vt 0.4767 0.1858 0.0000 +vt 0.4766 0.1807 0.0000 +vt 0.6243 0.2436 0.0000 +vt 0.6229 0.2277 0.0000 +vt 0.5075 0.1821 0.0000 +vt 0.5075 0.1850 0.0000 +vt 0.5075 0.1876 0.0000 +vt 0.1703 0.1211 0.0000 +vt 0.2654 0.1211 0.0000 +vt 0.2654 0.2162 0.0000 +vt 0.1703 0.2162 0.0000 +vt 0.8033 0.5516 0.0000 +vt 0.7284 0.5516 0.0000 +vt 0.7284 0.5346 0.0000 +vt 0.8033 0.5346 0.0000 +vt 0.7612 0.2899 0.0000 +vt 0.8771 0.2848 0.0000 +vt 0.8771 0.2638 0.0000 +vt 0.7612 0.2689 0.0000 +vt 0.6536 0.5516 0.0000 +vt 0.6536 0.5346 0.0000 +vt 0.9930 0.2899 0.0000 +vt 0.9930 0.2689 0.0000 +vt 0.7695 0.3379 0.0000 +vt 0.7630 0.3785 0.0000 +vt 0.7061 0.3785 0.0000 +vt 0.7007 0.3379 0.0000 +vt 0.7465 0.4731 0.0000 +vt 0.7420 0.5110 0.0000 +vt 0.6983 0.5110 0.0000 +vt 0.6938 0.4731 0.0000 +vt 0.5336 0.4511 0.0000 +vt 0.5358 0.3703 0.0000 +vt 0.5581 0.3703 0.0000 +vt 0.5604 0.4511 0.0000 +vt 0.5044 0.4512 0.0000 +vt 0.5079 0.3704 0.0000 +vt 0.5257 0.3704 0.0000 +vt 0.5258 0.4512 0.0000 +vt 0.7541 0.3903 0.0000 +vt 0.7147 0.3904 0.0000 +vt 0.7088 0.3850 0.0000 +vt 0.7601 0.3849 0.0000 +vt 0.7371 0.5221 0.0000 +vt 0.7033 0.5221 0.0000 +vt 0.6999 0.5170 0.0000 +vt 0.7404 0.5170 0.0000 +vt 0.5336 0.3173 0.0000 +vt 0.5604 0.3173 0.0000 +vt 0.5044 0.3174 0.0000 +vt 0.5258 0.3174 0.0000 +vt 0.2295 0.5679 0.0000 +vt 0.2295 0.7248 0.0000 +vt 0.1491 0.7248 0.0000 +vt 0.1491 0.5679 0.0000 +vt 0.0734 0.3884 0.0000 +vt 0.0734 0.5343 0.0000 +vt 0.1303 0.4803 0.0000 +vt 0.1303 0.3884 0.0000 +vt 0.3285 0.3780 0.0000 +vt 0.3285 0.5521 0.0000 +vt 0.2393 0.5521 0.0000 +vt 0.2393 0.3780 0.0000 +vt 0.0724 0.5388 0.0000 +vt 0.0724 0.7084 0.0000 +vt 0.1385 0.6456 0.0000 +vt 0.1385 0.5388 0.0000 +vt 0.0133 0.3872 0.0000 +vt 0.0133 0.4806 0.0000 +vt 0.0711 0.5356 0.0000 +vt 0.0711 0.3872 0.0000 +vt 0.0056 0.5388 0.0000 +vt 0.0056 0.6456 0.0000 +vt 0.0717 0.7084 0.0000 +vt 0.0717 0.5388 0.0000 +vt 0.7780 0.1420 0.0000 +vt 0.9957 0.1420 0.0000 +vt 0.9872 0.1360 0.0000 +vt 0.7865 0.1360 0.0000 +vt 0.8376 0.2361 0.0000 +vt 0.9159 0.2361 0.0000 +vt 0.9159 0.2269 0.0000 +vt 0.8433 0.2269 0.0000 +vt 0.9942 0.2361 0.0000 +vt 0.9885 0.2269 0.0000 +vt 0.9872 0.0716 0.0000 +vt 0.7865 0.0716 0.0000 +vt 0.9159 0.1545 0.0000 +vt 0.8433 0.1545 0.0000 +vt 0.9885 0.1545 0.0000 +vt 0.9876 0.0658 0.0000 +vt 0.9876 0.0428 0.0000 +vt 0.6555 0.0428 0.0000 +vt 0.6555 0.0658 0.0000 +vt 0.4488 0.0337 0.0000 +vt 0.9905 0.0337 0.0000 +vt 0.9905 0.0094 0.0000 +vt 0.4488 0.0094 0.0000 +vt 0.9148 0.8638 0.0000 +vt 0.9148 0.9891 0.0000 +vt 0.8086 0.9891 0.0000 +vt 0.8086 0.8638 0.0000 +vt 0.9707 0.8288 0.0000 +vt 0.8024 0.8287 0.0000 +vt 0.8033 0.8422 0.0000 +vt 0.9717 0.8424 0.0000 +vt 0.3342 0.1880 0.0000 +vt 0.2823 0.1880 0.0000 +vt 0.2823 0.1347 0.0000 +vt 0.3342 0.1347 0.0000 +vt 0.2844 0.1207 0.0000 +vt 0.3817 0.1207 0.0000 +vt 0.3817 0.1011 0.0000 +vt 0.2844 0.1011 0.0000 +vt 0.8802 0.3593 0.0000 +vt 0.9103 0.3593 0.0000 +vt 0.8975 0.5055 0.0000 +vt 0.8764 0.5055 0.0000 +vt 0.8320 0.3574 0.0000 +vt 0.8649 0.3574 0.0000 +vt 0.8535 0.5016 0.0000 +vt 0.8284 0.5016 0.0000 +vt 0.8794 0.6233 0.0000 +vt 0.9111 0.6233 0.0000 +vt 0.8656 0.6178 0.0000 +vt 0.8314 0.6355 0.0000 +vt 0.4228 0.7112 0.0000 +vt 0.4228 0.6424 0.0000 +vt 0.4423 0.6424 0.0000 +vt 0.4423 0.7112 0.0000 +vt 0.4425 0.5680 0.0000 +vt 0.4227 0.5680 0.0000 +vt 0.4227 0.7116 0.0000 +vt 0.4425 0.7116 0.0000 +vt 0.4065 0.5654 0.0000 +vt 0.3637 0.5654 0.0000 +vt 0.3637 0.6823 0.0000 +vt 0.4065 0.6823 0.0000 +vt 0.3520 0.5654 0.0000 +vt 0.3520 0.7031 0.0000 +vt 0.4182 0.7031 0.0000 +vt 0.4182 0.5654 0.0000 +vt 0.3394 0.5706 0.0000 +vt 0.3394 0.7049 0.0000 +vt 0.3486 0.7049 0.0000 +vt 0.3486 0.5706 0.0000 +vt 0.3548 0.7182 0.0000 +vt 0.4174 0.7182 0.0000 +vt 0.4174 0.7064 0.0000 +vt 0.3548 0.7064 0.0000 +vt 0.1513 0.0157 0.0000 +vt 0.0741 0.0157 0.0000 +vt 0.0741 0.0084 0.0000 +vt 0.1513 0.0084 0.0000 +vt 0.2558 0.0882 0.0000 +vt 0.3008 0.0414 0.0000 +vt 0.3107 0.0499 0.0000 +vt 0.2558 0.1052 0.0000 +vt 0.3368 0.0041 0.0000 +vt 0.3569 0.0041 0.0000 +vt 0.0100 0.0157 0.0000 +vt 0.0100 0.0084 0.0000 +vt 0.3418 0.3603 0.0000 +vt 0.3577 0.3603 0.0000 +vt 0.3604 0.5475 0.0000 +vt 0.3445 0.5475 0.0000 +vt 0.3638 0.3511 0.0000 +vt 0.3799 0.3511 0.0000 +vt 0.3947 0.5483 0.0000 +vt 0.3786 0.5483 0.0000 +vt 0.9865 0.8562 0.0000 +vt 0.9634 0.8562 0.0000 +vt 0.9732 0.9032 0.0000 +vt 0.9893 0.9032 0.0000 +vt 0.9534 0.8563 0.0000 +vt 0.9269 0.8563 0.0000 +vt 0.9361 0.9027 0.0000 +vt 0.9563 0.9027 0.0000 +vt 0.9870 0.9897 0.0000 +vt 0.9628 0.9897 0.0000 +vt 0.9264 0.9882 0.0000 +vt 0.9540 0.9939 0.0000 +vt 0.3862 0.0933 0.0000 +vt 0.3862 0.0789 0.0000 +vt 0.3785 0.0789 0.0000 +vt 0.3785 0.0933 0.0000 +vt 0.3862 0.0646 0.0000 +vt 0.3785 0.0646 0.0000 +vt 0.3862 0.0502 0.0000 +vt 0.3785 0.0502 0.0000 +vt 0.3862 0.0314 0.0000 +vt 0.3785 0.0358 0.0000 +vt 0.3708 0.0933 0.0000 +vt 0.3708 0.0812 0.0000 +vt 0.3630 0.0835 0.0000 +vt 0.3630 0.0933 0.0000 +vt 0.3708 0.0726 0.0000 +vt 0.3630 0.0733 0.0000 +vt 0.3476 0.0933 0.0000 +vt 0.3553 0.0933 0.0000 +vt 0.3553 0.0812 0.0000 +vt 0.3476 0.0789 0.0000 +vt 0.3553 0.0726 0.0000 +vt 0.3476 0.0646 0.0000 +vt 0.3398 0.0933 0.0000 +vt 0.3398 0.0789 0.0000 +vt 0.3321 0.0789 0.0000 +vt 0.3321 0.0933 0.0000 +vt 0.3398 0.0646 0.0000 +vt 0.3321 0.0646 0.0000 +vt 0.3398 0.0502 0.0000 +vt 0.3321 0.0502 0.0000 +vt 0.3398 0.0314 0.0000 +vt 0.3321 0.0358 0.0000 +vt 0.3940 0.0933 0.0000 +vt 0.3940 0.0789 0.0000 +vt 0.3940 0.0646 0.0000 +vt 0.3940 0.0502 0.0000 +vt 0.3940 0.0358 0.0000 +vt 0.3476 0.0502 0.0000 +vt 0.3476 0.0358 0.0000 +vt 0.0870 0.2093 0.0000 +vt 0.0870 0.1769 0.0000 +vt 0.1033 0.1769 0.0000 +vt 0.1033 0.2093 0.0000 +vt 0.0870 0.1445 0.0000 +vt 0.1033 0.1445 0.0000 +vt 0.0870 0.1122 0.0000 +vt 0.1033 0.1122 0.0000 +vt 0.0870 0.0798 0.0000 +vt 0.1033 0.0879 0.0000 +vt 0.1195 0.1769 0.0000 +vt 0.1195 0.2093 0.0000 +vt 0.1195 0.1445 0.0000 +vt 0.1195 0.1122 0.0000 +vt 0.1195 0.0919 0.0000 +vt 0.1358 0.1769 0.0000 +vt 0.1358 0.2093 0.0000 +vt 0.1358 0.1445 0.0000 +vt 0.1358 0.1122 0.0000 +vt 0.1358 0.0879 0.0000 +vt 0.1521 0.1769 0.0000 +vt 0.1521 0.2093 0.0000 +vt 0.1521 0.1445 0.0000 +vt 0.1521 0.1122 0.0000 +vt 0.1521 0.0798 0.0000 +vt 0.9805 0.3515 0.0000 +vt 0.8919 0.3515 0.0000 +vt 0.8919 0.3478 0.0000 +vt 0.9816 0.3476 0.0000 +vt 0.9830 0.3553 0.0000 +vt 0.8919 0.3552 0.0000 +vt 0.8919 0.3440 0.0000 +vt 0.9824 0.3437 0.0000 +vt 0.9965 0.3561 0.0000 +vt 0.9831 0.3494 0.0000 +vt 0.9965 0.3427 0.0000 +vt 0.7419 0.2470 0.0000 +vt 0.6431 0.2470 0.0000 +vt 0.6431 0.3190 0.0000 +vt 0.7419 0.3190 0.0000 +vt 0.7507 0.2396 0.0000 +vt 0.6359 0.2396 0.0000 +vt 0.6359 0.3246 0.0000 +vt 0.7507 0.3246 0.0000 +vt 0.6389 0.1517 0.0000 +vt 0.6389 0.1732 0.0000 +vt 0.8323 0.1732 0.0000 +vt 0.8323 0.1517 0.0000 +vt 0.8265 0.2627 0.0000 +vt 0.8140 0.2627 0.0000 +vt 0.8140 0.1773 0.0000 +vt 0.8265 0.1773 0.0000 +vt 0.6510 0.1648 0.0000 +vt 0.8174 0.1648 0.0000 +vt 0.8174 0.1732 0.0000 +vt 0.6510 0.1732 0.0000 +vt 0.8189 0.1848 0.0000 +vt 0.8189 0.2570 0.0000 +vt 0.8140 0.2570 0.0000 +vt 0.8140 0.1848 0.0000 +vt 0.5178 0.0689 0.0000 +vt 0.4575 0.0689 0.0000 +vt 0.4575 0.0739 0.0000 +vt 0.5178 0.0739 0.0000 +vt 0.5266 0.0771 0.0000 +vt 0.4556 0.0771 0.0000 +vt 0.4556 0.1622 0.0000 +vt 0.5266 0.1622 0.0000 +vt 0.4526 0.0711 0.0000 +vt 0.4480 0.0711 0.0000 +vt 0.4480 0.1341 0.0000 +vt 0.4526 0.1341 0.0000 +vt 0.0867 0.2315 0.0000 +vt 0.0133 0.2315 0.0000 +vt 0.0133 0.3783 0.0000 +vt 0.0867 0.3783 0.0000 +vt 0.2532 0.5764 0.0000 +vt 0.2532 0.7062 0.0000 +vt 0.3181 0.6514 0.0000 +vt 0.3181 0.5764 0.0000 +vt 0.1025 0.2299 0.0000 +vt 0.3167 0.2299 0.0000 +vt 0.3167 0.3662 0.0000 +vt 0.1025 0.3662 0.0000 +vt 0.1508 0.3732 0.0000 +vt 0.1508 0.4723 0.0000 +vt 0.2003 0.4304 0.0000 +vt 0.2003 0.3732 0.0000 +vt 0.2287 0.4613 0.0000 +vt 0.2287 0.5184 0.0000 +vt 0.1793 0.5602 0.0000 +vt 0.1793 0.4613 0.0000 +vt 0.4010 0.2138 0.0000 +vt 0.4010 0.2947 0.0000 +vt 0.3310 0.3538 0.0000 +vt 0.3310 0.2138 0.0000 +vt 0.5641 0.3335 0.0000 +vt 0.5946 0.3335 0.0000 +vt 0.6439 0.4416 0.0000 +vt 0.5931 0.4416 0.0000 +vt 0.6529 0.4224 0.0000 +vt 0.6831 0.4224 0.0000 +vt 0.6898 0.5217 0.0000 +vt 0.6462 0.5217 0.0000 +vt 0.5446 0.8121 0.0000 +vt 0.6711 0.8320 0.0000 +vt 0.6711 0.9870 0.0000 +vt 0.5446 0.9872 0.0000 +vt 0.4371 0.3303 0.0000 +vt 0.4358 0.5309 0.0000 +vt 0.4457 0.5400 0.0000 +vt 0.4471 0.3395 0.0000 +vt 0.4093 0.5489 0.0000 +vt 0.4272 0.5489 0.0000 +vt 0.4272 0.3265 0.0000 +vt 0.4093 0.3265 0.0000 +vt 0.6195 0.0640 0.0000 +vt 0.5319 0.0641 0.0000 +vt 0.5319 0.1713 0.0000 +vt 0.6195 0.1791 0.0000 +vt 0.7976 0.8121 0.0000 +vt 0.7976 0.9872 0.0000 +vt 0.0096 0.1316 0.0000 +vt 0.0232 0.1315 0.0000 +vt 0.0232 0.2108 0.0000 +vt 0.0096 0.2108 0.0000 +vt 0.0617 0.2213 0.0000 +vt 0.0151 0.2219 0.0000 +vt 0.0690 0.2103 0.0000 +vt 0.0690 0.1320 0.0000 +vt 0.0151 0.1205 0.0000 +vt 0.0616 0.1211 0.0000 +vt 0.0764 0.2116 0.0000 +vt 0.0694 0.2244 0.0000 +vt 0.0764 0.1307 0.0000 +vt 0.0694 0.1180 0.0000 +vt 0.8502 0.6523 0.0000 +vt 0.8216 0.6519 0.0000 +vt 0.8262 0.7280 0.0000 +vt 0.8489 0.7283 0.0000 +vt 0.8996 0.6351 0.0000 +vt 0.8678 0.6351 0.0000 +vt 0.8688 0.7106 0.0000 +vt 0.8962 0.7106 0.0000 +vt 0.8524 0.7973 0.0000 +vt 0.8184 0.7968 0.0000 +vt 0.8650 0.7842 0.0000 +vt 0.9025 0.8081 0.0000 +vt 0.8800 0.2990 0.0000 +vt 0.8800 0.3360 0.0000 +vt 0.7763 0.3478 0.0000 +vt 0.7763 0.3107 0.0000 +vt 0.9894 0.3030 0.0000 +vt 0.9894 0.3400 0.0000 +vt 0.8122 0.5069 0.0000 +vt 0.8110 0.4335 0.0000 +vt 0.7852 0.4335 0.0000 +vt 0.7817 0.5069 0.0000 +vt 0.6664 0.4078 0.0000 +vt 0.7042 0.4222 0.0000 +vt 0.7305 0.4089 0.0000 +vt 0.6664 0.3660 0.0000 +vt 0.7582 0.5158 0.0000 +vt 0.7594 0.5000 0.0000 +vt 0.7724 0.5000 0.0000 +vt 0.7736 0.5158 0.0000 +vt 0.8133 0.3622 0.0000 +vt 0.7828 0.3622 0.0000 +vt 0.7458 0.4669 0.0000 +vt 0.7801 0.4669 0.0000 +vt 0.7582 0.4758 0.0000 +vt 0.7736 0.4758 0.0000 +vt 0.0071 0.1053 0.0000 +vt 0.0071 0.0766 0.0000 +vt 0.0724 0.0766 0.0000 +vt 0.0724 0.1053 0.0000 +vt 0.0071 0.0727 0.0000 +vt 0.0724 0.0727 0.0000 +vt 0.4675 0.5387 0.0000 +vt 0.4559 0.5387 0.0000 +vt 0.4559 0.6952 0.0000 +vt 0.4675 0.6952 0.0000 +vt 0.4704 0.5364 0.0000 +vt 0.4532 0.5364 0.0000 +vt 0.4532 0.6969 0.0000 +vt 0.4704 0.6969 0.0000 +vt 0.9357 0.7417 0.0000 +vt 0.9172 0.7417 0.0000 +vt 0.9172 0.7159 0.0000 +vt 0.9357 0.7159 0.0000 +vt 0.9541 0.7417 0.0000 +vt 0.9541 0.7159 0.0000 +vt 0.9725 0.7417 0.0000 +vt 0.9725 0.7159 0.0000 +vt 0.9909 0.7417 0.0000 +vt 0.9909 0.7159 0.0000 +vt 0.9357 0.7675 0.0000 +vt 0.9172 0.7675 0.0000 +vt 0.9541 0.7675 0.0000 +vt 0.9725 0.7675 0.0000 +vt 0.9909 0.7675 0.0000 +vt 0.9357 0.7933 0.0000 +vt 0.9172 0.7933 0.0000 +vt 0.9541 0.7933 0.0000 +vt 0.9725 0.7933 0.0000 +vt 0.9909 0.7933 0.0000 +vt 0.9357 0.8191 0.0000 +vt 0.9172 0.8191 0.0000 +vt 0.9541 0.8191 0.0000 +vt 0.9725 0.8191 0.0000 +vt 0.9909 0.8191 0.0000 +# 572 texture coords + +o house +g house +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 4/4/1 1/1/1 +f 5/5/2 6/6/3 4/4/4 +f 4/4/4 3/3/3 5/5/2 +f 6/6/5 7/7/5 1/8/5 +f 1/8/5 4/4/5 6/6/5 +f 8/9/6 6/6/6 5/5/6 +f 5/5/6 9/10/6 8/9/6 +f 10/11/5 7/12/5 6/6/5 +f 6/6/5 8/9/7 10/11/7 +f 11/1/8 12/4/8 13/3/8 +f 13/3/8 14/2/8 11/1/8 +f 12/4/9 15/6/10 16/5/11 +f 16/5/11 13/3/12 12/4/9 +f 11/8/5 17/7/5 15/6/5 +f 15/6/7 12/4/5 11/8/5 +f 8/9/13 9/10/13 16/5/13 +f 16/5/14 15/6/14 8/9/13 +f 10/11/5 8/9/5 15/6/5 +f 15/6/7 17/12/7 10/11/7 +f 18/1/1 19/2/1 20/3/1 +f 20/3/1 21/4/1 18/1/1 +f 22/5/15 23/6/15 21/4/16 +f 21/4/16 20/3/17 22/5/15 +f 23/6/18 24/7/18 18/8/18 +f 18/8/18 21/4/19 23/6/18 +f 25/9/20 23/6/21 22/5/22 +f 22/5/22 26/10/23 25/9/21 +f 27/11/19 24/12/18 23/6/18 +f 23/6/18 25/9/24 27/11/25 +f 28/1/8 29/4/8 30/3/8 +f 30/3/8 31/2/8 28/1/8 +f 29/4/26 32/6/26 33/5/26 +f 33/5/26 30/3/26 29/4/26 +f 28/8/18 34/7/18 32/6/18 +f 32/6/18 29/4/18 28/8/18 +f 25/9/27 26/10/28 33/5/29 +f 33/5/28 32/6/30 25/9/30 +f 27/11/19 25/9/18 32/6/18 +f 32/6/24 34/12/24 27/11/19 +f 35/1/1 36/2/1 37/3/1 +f 37/3/1 38/4/1 35/1/1 +f 39/5/31 40/6/32 38/4/33 +f 38/4/33 37/3/33 39/5/31 +f 40/6/34 41/7/34 35/8/34 +f 35/8/34 38/4/34 40/6/34 +f 42/9/35 40/6/36 39/5/35 +f 39/5/35 43/10/37 42/9/35 +f 44/11/34 41/12/34 40/6/34 +f 40/6/34 42/9/34 44/11/34 +f 45/1/8 46/4/8 47/3/8 +f 47/3/8 48/2/8 45/1/8 +f 46/4/38 49/6/39 50/5/40 +f 50/5/40 47/3/38 46/4/38 +f 45/8/34 51/7/34 49/6/34 +f 49/6/34 46/4/34 45/8/34 +f 42/9/41 43/10/42 50/5/41 +f 50/5/41 49/6/42 42/9/41 +f 44/11/34 42/9/34 49/6/34 +f 49/6/34 51/12/34 44/11/34 +f 52/1/1 53/2/1 54/3/1 +f 54/3/1 55/4/1 52/1/1 +f 56/5/43 57/6/43 55/4/44 +f 55/4/44 54/3/45 56/5/43 +f 57/6/46 58/7/46 52/8/46 +f 52/8/46 55/4/46 57/6/46 +f 59/9/47 57/6/47 56/5/47 +f 56/5/47 60/10/47 59/9/47 +f 61/11/46 58/12/46 57/6/46 +f 57/6/46 59/9/48 61/11/48 +f 62/1/8 63/4/8 64/3/8 +f 64/3/8 65/2/8 62/1/8 +f 63/4/49 66/6/50 67/5/50 +f 67/5/50 64/3/51 63/4/49 +f 62/8/46 68/7/46 66/6/46 +f 66/6/46 63/4/46 62/8/46 +f 59/9/52 60/10/52 67/5/52 +f 67/5/52 66/6/52 59/9/52 +f 61/11/46 59/9/46 66/6/46 +f 66/6/46 68/12/46 61/11/46 +f 69/1/1 70/4/1 71/3/1 +f 71/3/1 72/2/1 69/1/1 +f 73/5/53 71/3/54 70/4/54 +f 70/4/54 74/6/53 73/5/53 +f 74/6/55 70/4/55 69/8/55 +f 69/8/55 75/7/55 74/6/55 +f 76/9/56 77/10/56 73/5/57 +f 73/5/58 74/6/58 76/9/59 +f 78/11/55 76/9/55 74/6/55 +f 74/6/55 75/12/55 78/11/55 +f 79/1/8 80/2/8 81/3/8 +f 81/3/8 82/4/8 79/1/8 +f 82/4/60 81/3/60 83/5/60 +f 83/5/60 84/6/60 82/4/60 +f 79/8/55 82/4/55 84/6/55 +f 84/6/55 85/7/55 79/8/55 +f 76/9/61 84/6/62 83/5/63 +f 83/5/63 77/10/64 76/9/64 +f 78/11/55 85/12/55 84/6/55 +f 84/6/55 76/9/55 78/11/55 +f 86/1/1 87/4/1 88/3/1 +f 88/3/1 89/2/1 86/1/1 +f 90/5/65 88/3/65 87/4/66 +f 87/4/66 91/6/65 90/5/65 +f 91/6/67 87/4/67 86/8/68 +f 86/8/68 92/7/67 91/6/67 +f 93/9/69 94/10/70 90/5/71 +f 90/5/71 91/6/71 93/9/72 +f 95/11/67 93/9/67 91/6/67 +f 91/6/67 92/12/67 95/11/67 +f 96/1/8 97/2/8 98/3/8 +f 98/3/8 99/4/8 96/1/8 +f 99/4/73 98/3/74 100/5/75 +f 100/5/75 101/6/75 99/4/73 +f 96/8/68 99/4/67 101/6/76 +f 101/6/67 102/7/67 96/8/68 +f 93/9/77 101/6/78 100/5/78 +f 100/5/78 94/10/78 93/9/77 +f 95/11/67 102/12/76 101/6/76 +f 101/6/67 93/9/67 95/11/67 +f 103/1/1 104/4/1 105/3/1 +f 105/3/1 106/2/1 103/1/1 +f 107/5/79 105/3/80 104/4/81 +f 104/4/81 108/6/82 107/5/79 +f 108/6/83 104/4/83 103/8/83 +f 103/8/83 109/7/83 108/6/83 +f 110/9/84 111/10/84 107/5/85 +f 107/5/85 108/6/85 110/9/85 +f 112/11/86 110/9/86 108/6/83 +f 108/6/83 109/12/83 112/11/83 +f 113/1/8 114/2/8 115/3/8 +f 115/3/8 116/4/8 113/1/8 +f 116/4/87 115/3/88 117/5/88 +f 117/5/88 118/6/89 116/4/87 +f 113/8/83 116/4/83 118/6/86 +f 118/6/83 119/7/83 113/8/83 +f 110/9/90 118/6/90 117/5/90 +f 117/5/91 111/10/91 110/9/91 +f 112/11/83 119/12/86 118/6/86 +f 118/6/83 110/9/83 112/11/83 +f 120/1/1 121/4/1 122/3/1 +f 122/3/1 123/2/1 120/1/1 +f 124/5/82 122/3/92 121/4/92 +f 121/4/92 125/6/82 124/5/82 +f 125/6/83 121/4/93 120/8/83 +f 120/8/83 126/7/93 125/6/83 +f 127/9/85 128/10/85 124/5/85 +f 124/5/85 125/6/85 127/9/85 +f 129/11/83 127/9/83 125/6/83 +f 125/6/83 126/12/93 129/11/83 +f 130/1/8 131/2/8 132/3/8 +f 132/3/8 133/4/8 130/1/8 +f 133/4/88 132/3/87 134/5/89 +f 134/5/89 135/6/89 133/4/88 +f 130/8/83 133/4/83 135/6/86 +f 135/6/83 136/7/93 130/8/83 +f 127/9/90 135/6/90 134/5/90 +f 134/5/90 128/10/90 127/9/90 +f 129/11/83 136/12/94 135/6/86 +f 135/6/83 127/9/83 129/11/83 +f 137/1/1 138/4/1 139/3/1 +f 139/3/1 140/2/1 137/1/1 +f 141/5/95 139/3/96 138/4/96 +f 138/4/96 142/6/95 141/5/95 +f 142/6/55 138/4/55 137/8/55 +f 137/8/55 143/7/55 142/6/55 +f 144/9/58 145/10/58 141/5/58 +f 141/5/58 142/6/59 144/9/58 +f 146/11/55 144/9/55 142/6/55 +f 142/6/55 143/12/55 146/11/97 +f 147/1/8 148/2/8 149/3/8 +f 149/3/8 150/4/8 147/1/8 +f 150/4/98 149/3/98 151/5/99 +f 151/5/99 152/6/99 150/4/98 +f 147/8/55 150/4/55 152/6/55 +f 152/6/55 153/7/55 147/8/55 +f 144/9/63 152/6/61 151/5/62 +f 151/5/62 145/10/62 144/9/62 +f 146/11/55 153/12/55 152/6/55 +f 152/6/55 144/9/97 146/11/97 +f 154/1/1 155/4/1 156/3/1 +f 156/3/1 157/2/1 154/1/1 +f 158/5/100 156/3/101 155/4/102 +f 155/4/102 159/6/102 158/5/100 +f 159/6/103 155/4/103 154/8/103 +f 154/8/103 160/7/103 159/6/103 +f 161/9/104 162/10/105 158/5/105 +f 158/5/106 159/6/107 161/9/108 +f 163/11/103 161/9/103 159/6/103 +f 159/6/103 160/12/103 163/11/103 +f 164/1/8 165/2/8 166/3/8 +f 166/3/8 167/4/8 164/1/8 +f 167/4/109 166/3/110 168/5/111 +f 168/5/111 169/6/109 167/4/109 +f 164/8/103 167/4/103 169/6/103 +f 169/6/103 170/7/103 164/8/103 +f 161/9/112 169/6/113 168/5/114 +f 168/5/114 162/10/114 161/9/115 +f 163/11/116 170/12/116 169/6/116 +f 169/6/103 161/9/103 163/11/103 +f 171/1/1 172/2/1 173/3/1 +f 173/3/1 174/4/1 171/1/1 +f 175/5/117 176/6/118 174/4/3 +f 174/4/3 173/3/119 175/5/117 +f 176/6/120 177/7/120 171/8/121 +f 171/8/121 174/4/121 176/6/120 +f 178/9/122 176/6/6 175/5/6 +f 175/5/6 179/10/123 178/9/6 +f 180/11/120 177/12/120 176/6/120 +f 176/6/120 178/9/124 180/11/124 +f 181/1/8 182/4/8 183/3/8 +f 183/3/8 184/2/8 181/1/8 +f 182/4/12 185/6/10 186/5/125 +f 186/5/125 183/3/126 182/4/12 +f 181/8/121 187/7/120 185/6/120 +f 185/6/124 182/4/121 181/8/121 +f 178/9/13 179/10/127 186/5/13 +f 186/5/14 185/6/14 178/9/14 +f 180/11/120 178/9/120 185/6/120 +f 185/6/124 187/12/124 180/11/124 +f 188/1/1 189/2/1 190/3/1 +f 190/3/1 191/4/1 188/1/1 +f 192/5/128 193/6/129 191/4/130 +f 191/4/130 190/3/131 192/5/128 +f 193/6/18 194/7/18 188/8/19 +f 188/8/19 191/4/18 193/6/18 +f 195/9/132 193/6/133 192/5/134 +f 192/5/134 196/10/134 195/9/133 +f 197/11/18 194/12/18 193/6/18 +f 193/6/18 195/9/24 197/11/24 +f 198/1/8 199/4/8 200/3/8 +f 200/3/8 201/2/8 198/1/8 +f 199/4/135 202/6/135 203/5/136 +f 203/5/136 200/3/135 199/4/135 +f 198/8/19 204/7/18 202/6/18 +f 202/6/18 199/4/18 198/8/19 +f 195/9/137 196/10/138 203/5/138 +f 203/5/138 202/6/139 195/9/139 +f 197/11/18 195/9/18 202/6/18 +f 202/6/24 204/12/24 197/11/18 +f 205/1/1 206/2/1 207/3/1 +f 207/3/1 208/4/1 205/1/1 +f 209/5/140 210/6/141 208/4/142 +f 208/4/142 207/3/44 209/5/140 +f 210/6/143 211/7/143 205/8/143 +f 205/8/143 208/4/144 210/6/143 +f 212/9/145 210/6/145 209/5/47 +f 209/5/47 213/10/47 212/9/145 +f 214/11/143 211/12/143 210/6/143 +f 210/6/143 212/9/146 214/11/146 +f 215/1/8 216/4/8 217/3/8 +f 217/3/8 218/2/8 215/1/8 +f 216/4/147 219/6/148 220/5/149 +f 220/5/149 217/3/49 216/4/147 +f 215/8/143 221/7/143 219/6/143 +f 219/6/143 216/4/143 215/8/143 +f 212/9/150 213/10/52 220/5/52 +f 220/5/52 219/6/150 212/9/150 +f 214/11/143 212/9/143 219/6/143 +f 219/6/143 221/12/143 214/11/143 +f 222/1/1 223/2/1 224/3/1 +f 224/3/1 225/4/1 222/1/1 +f 226/5/151 227/6/152 225/4/153 +f 225/4/153 224/3/154 226/5/151 +f 227/6/34 228/7/34 222/8/34 +f 222/8/34 225/4/34 227/6/34 +f 229/9/155 227/6/155 226/5/156 +f 226/5/156 230/10/157 229/9/155 +f 231/11/34 228/12/34 227/6/34 +f 227/6/34 229/9/34 231/11/34 +f 232/1/8 233/4/8 234/3/8 +f 234/3/8 235/2/8 232/1/8 +f 233/4/158 236/6/159 237/5/160 +f 237/5/160 234/3/161 233/4/158 +f 232/8/34 238/7/34 236/6/34 +f 236/6/34 233/4/34 232/8/34 +f 229/9/162 230/10/163 237/5/164 +f 237/5/164 236/6/162 229/9/162 +f 231/11/34 229/9/34 236/6/34 +f 236/6/34 238/12/34 231/11/34 +f 239/1/1 240/2/1 241/3/1 +f 241/3/1 242/4/1 239/1/1 +f 243/5/165 244/6/166 242/4/167 +f 242/4/167 241/3/153 243/5/165 +f 244/6/34 245/7/34 239/8/34 +f 239/8/34 242/4/34 244/6/34 +f 246/9/156 244/6/168 243/5/169 +f 243/5/169 247/10/169 246/9/170 +f 248/11/34 245/12/34 244/6/34 +f 244/6/34 246/9/34 248/11/34 +f 249/1/8 250/4/8 251/3/8 +f 251/3/8 252/2/8 249/1/8 +f 250/4/161 253/6/171 254/5/172 +f 254/5/172 251/3/158 250/4/161 +f 249/8/34 255/7/34 253/6/34 +f 253/6/34 250/4/34 249/8/34 +f 246/9/164 247/10/173 254/5/173 +f 254/5/173 253/6/174 246/9/175 +f 248/11/34 246/9/34 253/6/34 +f 253/6/176 255/12/176 248/11/34 +f 256/1/1 257/2/1 258/3/1 +f 258/3/1 259/4/1 256/1/1 +f 260/5/177 261/6/82 259/4/92 +f 259/4/92 258/3/178 260/5/177 +f 261/6/179 262/7/179 256/8/180 +f 256/8/180 259/4/179 261/6/179 +f 263/9/85 261/6/85 260/5/181 +f 260/5/181 264/10/182 263/9/84 +f 265/11/179 262/12/179 261/6/179 +f 261/6/179 263/9/179 265/11/179 +f 266/1/8 267/4/8 268/3/8 +f 268/3/8 269/2/8 266/1/8 +f 267/4/87 270/6/89 271/5/183 +f 271/5/183 268/3/184 267/4/87 +f 266/8/180 272/7/179 270/6/179 +f 270/6/179 267/4/179 266/8/180 +f 263/9/91 264/10/185 271/5/185 +f 271/5/186 270/6/90 263/9/90 +f 265/11/179 263/9/179 270/6/179 +f 270/6/179 272/12/179 265/11/179 +f 273/1/187 274/2/187 275/3/187 +f 275/3/187 276/4/187 273/1/187 +f 277/5/188 278/6/189 276/4/189 +f 276/4/189 275/3/188 277/5/188 +f 278/6/190 279/7/190 273/8/190 +f 273/8/190 276/4/190 278/6/190 +f 280/9/191 278/6/192 277/5/193 +f 277/5/193 281/10/194 280/9/191 +f 282/11/190 279/12/190 278/6/190 +f 278/6/190 280/9/190 282/11/190 +f 283/1/195 284/4/195 285/3/195 +f 285/3/195 286/2/195 283/1/195 +f 284/4/196 287/6/196 288/5/197 +f 288/5/197 285/3/197 284/4/196 +f 283/8/190 289/7/190 287/6/190 +f 287/6/190 284/4/190 283/8/190 +f 280/9/198 281/10/199 288/5/199 +f 288/5/199 287/6/198 280/9/198 +f 282/11/190 280/9/190 287/6/190 +f 287/6/190 289/12/190 282/11/190 +f 290/1/187 291/2/187 292/3/187 +f 292/3/187 293/4/187 290/1/187 +f 294/5/200 295/6/200 293/4/200 +f 293/4/200 292/3/200 294/5/200 +f 295/6/201 296/7/201 290/8/201 +f 290/8/201 293/4/201 295/6/201 +f 297/9/202 295/6/202 294/5/203 +f 294/5/203 298/10/204 297/9/202 +f 299/11/201 296/12/201 295/6/201 +f 295/6/201 297/9/201 299/11/201 +f 300/1/195 301/4/195 302/3/195 +f 302/3/195 303/2/195 300/1/195 +f 301/4/205 304/6/205 305/5/205 +f 305/5/205 302/3/205 301/4/205 +f 300/8/201 306/7/201 304/6/201 +f 304/6/201 301/4/201 300/8/201 +f 297/9/206 298/10/206 305/5/207 +f 305/5/207 304/6/206 297/9/206 +f 299/11/201 297/9/201 304/6/201 +f 304/6/201 306/12/201 299/11/201 +f 307/1/187 308/2/187 309/3/187 +f 309/3/187 310/4/187 307/1/187 +f 311/5/208 312/6/208 310/4/208 +f 310/4/208 309/3/208 311/5/208 +f 312/6/209 313/7/210 307/8/210 +f 307/8/210 310/4/210 312/6/209 +f 314/9/211 312/6/212 311/5/213 +f 311/5/213 315/10/213 314/9/211 +f 316/11/210 313/12/210 312/6/209 +f 312/6/209 314/9/210 316/11/210 +f 317/1/195 318/4/195 319/3/195 +f 319/3/195 320/2/195 317/1/195 +f 318/4/214 321/6/214 322/5/214 +f 322/5/214 319/3/214 318/4/214 +f 317/8/210 323/7/210 321/6/209 +f 321/6/209 318/4/210 317/8/210 +f 314/9/215 315/10/215 322/5/215 +f 322/5/215 321/6/216 314/9/215 +f 316/11/210 314/9/210 321/6/209 +f 321/6/209 323/12/210 316/11/210 +f 324/1/195 325/2/195 326/3/195 +f 326/3/195 327/4/195 324/1/195 +f 328/5/217 329/6/217 327/4/217 +f 327/4/217 326/3/217 328/5/217 +f 329/6/218 330/7/218 324/8/218 +f 324/8/218 327/4/218 329/6/218 +f 331/9/219 329/6/219 328/5/220 +f 328/5/220 332/10/221 331/9/219 +f 333/11/218 330/12/218 329/6/218 +f 329/6/218 331/9/218 333/11/218 +f 334/1/187 335/4/187 336/3/187 +f 336/3/187 337/2/187 334/1/187 +f 335/4/222 338/6/222 339/5/222 +f 339/5/222 336/3/222 335/4/222 +f 334/8/218 340/7/218 338/6/218 +f 338/6/218 335/4/218 334/8/218 +f 331/9/223 332/10/224 339/5/225 +f 339/5/225 338/6/225 331/9/223 +f 333/11/218 331/9/218 338/6/218 +f 338/6/218 340/12/218 333/11/218 +f 341/1/195 342/2/195 343/3/195 +f 343/3/195 344/4/195 341/1/195 +f 345/5/217 346/6/217 344/4/217 +f 344/4/217 343/3/217 345/5/217 +f 346/6/226 347/7/226 341/8/226 +f 341/8/226 344/4/226 346/6/226 +f 348/9/219 346/6/219 345/5/220 +f 345/5/220 349/10/220 348/9/219 +f 350/11/218 347/12/226 346/6/226 +f 346/6/226 348/9/226 350/11/218 +f 351/1/187 352/4/187 353/3/187 +f 353/3/187 354/2/187 351/1/187 +f 352/4/222 355/6/222 356/5/222 +f 356/5/222 353/3/227 352/4/222 +f 351/8/226 357/7/226 355/6/226 +f 355/6/226 352/4/226 351/8/226 +f 348/9/223 349/10/223 356/5/225 +f 356/5/225 355/6/225 348/9/223 +f 350/11/218 348/9/226 355/6/226 +f 355/6/226 357/12/226 350/11/218 +f 358/1/195 359/2/195 360/3/195 +f 360/3/195 361/4/195 358/1/195 +f 362/5/228 363/6/217 361/4/217 +f 361/4/217 360/3/228 362/5/228 +f 363/6/226 364/7/226 358/8/226 +f 358/8/226 361/4/226 363/6/226 +f 365/9/219 363/6/219 362/5/229 +f 362/5/229 366/10/230 365/9/219 +f 367/11/218 364/12/226 363/6/226 +f 363/6/226 365/9/226 367/11/218 +f 368/1/187 369/4/187 370/3/187 +f 370/3/187 371/2/187 368/1/187 +f 369/4/222 372/6/222 373/5/231 +f 373/5/231 370/3/231 369/4/222 +f 368/8/226 374/7/226 372/6/226 +f 372/6/226 369/4/226 368/8/226 +f 365/9/223 366/10/232 373/5/233 +f 373/5/233 372/6/225 365/9/223 +f 367/11/218 365/9/226 372/6/226 +f 372/6/226 374/12/226 367/11/218 +f 375/13/234 376/14/235 377/15/235 +f 377/15/236 378/16/237 375/13/237 +f 379/17/238 380/18/238 381/19/239 +f 381/19/240 382/20/241 379/17/242 +f 382/20/243 381/19/244 376/18/245 +f 376/18/246 383/17/247 382/20/248 +f 383/17/249 376/18/249 375/21/250 +f 375/21/251 384/22/252 383/17/253 +f 377/15/254 385/23/255 386/24/255 +f 386/24/256 378/16/257 377/15/258 +f 387/13/259 388/25/259 389/26/259 +f 389/26/259 390/16/259 387/13/259 +f 391/22/260 392/27/260 388/28/260 +f 388/28/260 387/21/260 391/22/260 +f 390/16/261 389/26/261 393/29/262 +f 393/29/263 386/24/264 390/16/265 +f 394/25/266 375/13/266 378/16/266 +f 378/16/266 395/26/266 394/25/266 +f 384/22/267 375/21/267 394/28/267 +f 394/28/267 396/27/267 384/22/267 +f 378/16/268 386/24/269 393/29/270 +f 393/29/271 395/26/272 378/16/272 +f 380/14/273 387/13/273 390/16/273 +f 390/16/274 397/15/275 380/14/275 +f 379/17/260 391/22/260 387/21/260 +f 387/21/276 380/18/277 379/17/277 +f 397/15/278 390/16/279 386/24/280 +f 386/24/281 385/23/282 397/15/283 +f 398/30/284 399/31/284 400/32/285 +f 400/32/286 401/33/286 398/30/286 +f 402/17/287 403/20/288 404/19/289 +f 404/19/290 405/18/291 402/17/291 +f 403/20/292 406/17/293 399/18/293 +f 399/18/294 404/19/295 403/20/296 +f 406/17/297 407/22/298 400/21/298 +f 400/21/299 399/18/299 406/17/299 +f 408/34/300 409/35/301 398/30/302 +f 398/30/303 401/33/303 408/34/304 +f 389/26/259 388/25/259 410/32/259 +f 410/32/259 411/33/259 389/26/259 +f 388/28/260 392/27/260 412/22/260 +f 412/22/260 410/21/260 388/28/260 +f 393/29/262 389/26/261 411/33/261 +f 411/33/305 408/34/306 393/29/307 +f 401/33/266 400/32/266 394/25/266 +f 394/25/266 395/26/266 401/33/266 +f 407/22/267 396/27/267 394/28/267 +f 394/28/267 400/21/267 407/22/267 +f 401/33/272 395/26/272 393/29/271 +f 393/29/308 408/34/309 401/33/310 +f 411/33/311 410/32/311 405/31/312 +f 405/31/313 413/30/313 411/33/313 +f 410/21/260 412/22/260 402/17/260 +f 402/17/314 405/18/314 410/21/314 +f 408/34/315 411/33/316 413/30/317 +f 413/30/318 409/35/319 408/34/320 +f 404/36/321 399/37/322 398/30/322 +f 398/30/322 409/35/323 404/36/321 +f 404/36/324 409/35/325 413/30/326 +f 413/30/326 405/37/327 404/36/324 +f 397/15/328 385/23/329 381/38/330 +f 381/38/330 380/39/331 397/15/328 +f 377/15/332 376/39/332 381/38/333 +f 381/38/333 385/23/334 377/15/332 +f 414/40/335 415/41/335 416/42/335 +f 416/42/336 417/43/337 414/40/338 +f 418/44/339 419/45/340 420/46/341 +f 420/46/342 421/47/342 418/44/343 +f 421/47/344 420/46/344 415/45/345 +f 415/45/346 422/44/347 421/47/348 +f 422/44/349 415/45/349 414/48/349 +f 414/48/350 423/49/350 422/44/351 +f 416/50/352 424/51/353 425/52/354 +f 425/52/355 417/53/356 416/50/356 +f 426/40/357 427/54/357 428/55/357 +f 428/55/357 429/43/357 426/40/357 +f 430/49/358 431/56/358 427/57/358 +f 427/57/358 426/48/358 430/49/358 +f 429/53/359 428/58/359 432/59/360 +f 432/59/361 425/52/362 429/53/363 +f 433/54/364 414/40/364 417/43/364 +f 417/43/364 434/55/364 433/54/364 +f 423/49/365 414/48/365 433/57/365 +f 433/57/365 435/56/365 423/49/365 +f 417/53/366 425/52/367 432/59/368 +f 432/59/369 434/58/370 417/53/370 +f 419/41/371 426/40/371 429/43/372 +f 429/43/373 436/42/373 419/41/373 +f 418/44/358 430/49/358 426/48/358 +f 426/48/374 419/45/374 418/44/375 +f 436/50/376 429/53/377 425/52/378 +f 425/52/379 424/51/380 436/50/381 +f 436/60/382 424/61/383 420/62/384 +f 420/62/384 419/63/382 436/60/382 +f 416/60/385 415/63/385 420/62/386 +f 420/62/386 424/61/387 416/60/385 +f 437/64/388 438/65/388 439/66/389 +f 439/66/389 440/67/389 437/64/388 +f 441/68/390 437/69/390 440/70/390 +f 440/70/390 442/71/390 441/68/390 +f 443/64/391 441/65/391 442/66/391 +f 442/66/391 444/67/391 443/64/391 +f 443/68/392 444/71/393 439/70/393 +f 439/70/393 438/69/392 443/68/392 +f 445/72/394 440/67/389 439/66/389 +f 439/66/389 446/73/394 445/72/394 +f 442/71/395 440/70/395 445/74/396 +f 445/74/397 447/75/397 442/71/398 +f 448/72/399 444/67/400 442/66/400 +f 442/66/400 447/73/399 448/72/399 +f 446/74/401 439/70/393 444/71/393 +f 444/71/393 448/75/402 446/74/401 +f 449/76/403 450/77/403 451/78/403 +f 451/78/403 452/79/403 449/76/403 +f 452/79/8 451/78/8 453/80/8 +f 453/80/8 454/81/8 452/79/8 +f 455/78/1 456/79/1 457/81/1 +f 457/81/1 458/80/1 455/78/1 +f 449/76/187 459/82/187 457/83/187 +f 457/83/187 456/79/187 449/76/187 +f 456/79/403 455/78/403 450/77/403 +f 450/77/403 449/76/403 456/79/403 +f 452/79/187 454/83/187 459/82/187 +f 459/82/187 449/76/187 452/79/187 +f 460/84/187 461/85/187 462/86/187 +f 462/86/187 463/87/187 460/84/187 +f 464/88/1 465/89/1 466/90/1 +f 466/90/1 467/91/1 464/88/1 +f 468/92/404 469/93/405 470/94/405 +f 470/94/405 471/95/404 468/92/404 +f 472/89/8 473/88/8 474/91/8 +f 474/91/8 475/90/8 472/89/8 +f 476/96/403 477/97/406 478/98/406 +f 478/98/406 479/99/403 476/96/403 +f 480/100/187 481/101/187 482/102/187 +f 471/103/187 470/104/187 483/105/187 +f 483/105/187 484/106/187 471/103/187 +f 485/102/187 486/101/187 487/100/187 +f 488/107/187 487/100/187 486/101/187 +f 486/101/187 489/108/187 488/107/187 +f 490/109/187 463/87/187 462/86/187 +f 462/86/187 491/110/187 490/109/187 +f 492/111/407 468/92/404 471/95/404 +f 471/95/404 493/112/407 492/111/407 +f 494/97/408 476/96/403 479/99/403 +f 479/99/403 495/98/409 494/97/408 +f 471/103/187 484/106/187 496/105/187 +f 496/105/187 493/104/187 471/103/187 +f 488/107/187 489/108/187 481/101/187 +f 481/101/187 480/100/187 488/107/187 +f 497/113/8 461/114/8 460/115/8 +f 460/115/8 483/116/8 497/113/8 +f 483/116/410 460/115/410 463/117/411 +f 463/117/411 484/118/411 483/116/410 +f 484/118/412 463/117/412 490/119/413 +f 490/119/413 496/120/413 484/118/412 +f 496/120/1 490/119/1 491/121/1 +f 491/121/1 498/122/1 496/120/1 +f 498/123/414 491/124/414 462/125/415 +f 462/125/415 499/126/415 498/123/414 +f 499/126/416 462/125/416 461/124/417 +f 461/124/417 497/123/417 499/126/416 +f 493/104/187 496/105/187 498/127/187 +f 498/127/187 500/128/187 493/104/187 +f 500/129/8 501/130/8 492/111/8 +f 492/111/8 493/112/8 500/129/8 +f 469/93/1 502/131/1 503/132/1 +f 503/132/1 470/94/1 469/93/1 +f 503/128/187 497/127/187 483/105/187 +f 483/105/187 470/104/187 503/128/187 +f 466/90/1 504/89/1 505/88/1 +f 505/88/1 467/91/1 466/90/1 +f 503/133/418 482/134/418 481/135/419 +f 481/135/419 497/123/419 503/133/418 +f 497/123/417 481/135/417 489/136/416 +f 489/136/416 499/126/416 497/123/417 +f 499/126/415 489/136/415 486/135/414 +f 486/135/414 498/123/414 499/126/415 +f 498/123/420 486/135/420 485/134/420 +f 485/134/420 500/133/420 498/123/420 +f 474/91/8 506/88/8 507/89/8 +f 507/89/8 475/90/8 474/91/8 +f 478/98/406 487/137/406 488/138/421 +f 488/138/421 479/99/421 478/98/406 +f 479/99/422 488/138/422 480/137/409 +f 480/137/409 495/98/409 479/99/422 +f 502/139/404 464/140/404 467/141/404 +f 467/141/404 503/133/404 502/139/404 +f 503/133/404 467/141/404 505/142/404 +f 505/142/404 482/134/404 503/133/404 +f 482/102/187 505/143/187 504/144/187 +f 504/144/187 480/100/187 482/102/187 +f 480/137/403 504/145/403 466/146/403 +f 466/146/403 495/98/403 480/137/403 +f 495/98/403 466/146/403 465/147/403 +f 465/147/403 494/97/403 495/98/403 +f 477/97/403 472/147/403 475/146/403 +f 475/146/403 478/98/403 477/97/403 +f 478/98/403 475/146/403 507/145/403 +f 507/145/403 487/137/403 478/98/403 +f 487/100/187 507/144/187 506/143/187 +f 506/143/187 485/102/187 487/100/187 +f 485/134/404 506/142/404 474/141/404 +f 474/141/404 500/133/404 485/134/404 +f 500/133/404 474/141/404 473/140/404 +f 473/140/404 501/139/404 500/133/404 +f 508/148/187 509/149/187 510/150/187 +f 510/150/187 511/151/187 508/148/187 +f 512/152/423 513/153/403 514/154/403 +f 514/154/403 515/155/423 512/152/423 +f 516/156/8 517/157/8 513/158/8 +f 513/158/8 512/159/8 516/156/8 +f 518/155/424 519/154/404 517/153/404 +f 517/153/404 516/152/424 518/155/424 +f 510/160/425 509/161/425 514/154/403 +f 514/154/403 513/153/403 510/160/425 +f 511/162/8 510/163/8 513/158/8 +f 513/158/8 517/157/8 511/162/8 +f 508/161/426 511/160/426 517/153/404 +f 517/153/404 519/154/404 508/161/426 +f 520/148/187 521/151/187 522/150/187 +f 522/150/187 523/149/187 520/148/187 +f 524/152/423 525/155/423 526/154/403 +f 526/154/403 527/153/403 524/152/423 +f 528/156/1 524/159/1 527/158/1 +f 527/158/1 529/157/1 528/156/1 +f 530/155/424 528/152/424 529/153/404 +f 529/153/404 531/154/404 530/155/424 +f 522/160/425 527/153/403 526/154/403 +f 526/154/403 523/161/425 522/160/425 +f 521/162/1 529/157/1 527/158/1 +f 527/158/1 522/163/1 521/162/1 +f 520/161/426 531/154/404 529/153/404 +f 529/153/404 521/160/426 520/161/426 +f 532/164/427 533/165/428 534/166/428 +f 534/166/428 535/167/427 532/164/427 +f 536/168/429 537/169/430 533/170/430 +f 533/170/430 532/171/431 536/168/432 +f 538/164/433 539/165/434 537/166/434 +f 537/166/434 536/167/433 538/164/433 +f 535/168/435 534/169/436 539/170/436 +f 539/170/436 538/171/435 535/168/435 +f 540/172/437 541/173/438 542/174/438 +f 542/174/438 543/175/437 540/172/437 +f 543/176/439 542/177/440 544/178/440 +f 544/178/440 545/179/439 543/176/439 +f 545/172/195 544/173/195 546/174/195 +f 546/174/195 547/175/195 545/172/195 +f 547/179/441 546/178/442 541/177/442 +f 541/177/442 540/176/441 547/179/441 +f 548/180/443 549/181/443 550/182/444 +f 550/182/444 551/183/444 548/180/443 +f 549/184/445 552/185/445 553/186/446 +f 553/186/446 550/187/445 549/184/445 +f 552/180/447 554/181/447 555/182/448 +f 555/182/448 553/183/448 552/180/447 +f 554/184/449 548/185/449 551/186/450 +f 551/186/450 555/187/450 554/184/449 +f 533/165/451 551/183/452 550/182/452 +f 550/182/452 534/166/451 533/165/451 +f 534/169/453 550/187/453 553/186/453 +f 553/186/453 539/170/453 534/169/453 +f 539/165/454 553/183/455 555/182/455 +f 555/182/455 537/166/454 539/165/454 +f 537/169/456 555/187/457 551/186/457 +f 551/186/457 533/170/457 537/169/456 +f 549/188/458 548/189/458 542/174/438 +f 542/174/438 541/173/438 549/188/458 +f 548/190/459 554/191/459 544/178/440 +f 544/178/440 542/177/440 548/190/459 +f 554/188/460 552/189/460 546/174/195 +f 546/174/195 544/173/195 554/188/460 +f 552/191/461 549/190/461 541/177/442 +f 541/177/442 546/178/442 552/191/461 +f 556/164/427 557/165/428 558/166/428 +f 558/166/428 559/167/427 556/164/427 +f 560/168/430 561/169/462 557/170/462 +f 557/170/462 556/171/430 560/168/430 +f 562/164/433 563/165/434 561/166/434 +f 561/166/434 560/167/433 562/164/433 +f 559/168/463 558/169/435 563/170/435 +f 563/170/435 562/171/463 559/168/463 +f 564/172/437 565/173/438 566/174/438 +f 566/174/438 567/175/437 564/172/437 +f 567/176/439 566/177/440 568/178/440 +f 568/178/440 569/179/439 567/176/439 +f 569/175/195 568/174/195 570/173/195 +f 570/173/195 571/172/195 569/175/195 +f 571/179/464 570/178/442 565/177/442 +f 565/177/442 564/176/464 571/179/464 +f 572/180/443 573/181/443 574/182/444 +f 574/182/444 575/183/444 572/180/443 +f 573/184/446 576/185/465 577/186/465 +f 577/186/465 574/187/465 573/184/446 +f 576/180/448 578/181/448 579/182/447 +f 579/182/447 577/183/447 576/180/448 +f 578/184/449 572/185/449 575/186/449 +f 575/186/449 579/187/449 578/184/449 +f 557/165/451 575/183/452 574/182/452 +f 574/182/452 558/166/451 557/165/451 +f 558/169/466 574/187/467 577/186/466 +f 577/186/466 563/170/467 558/169/466 +f 563/165/455 577/183/454 579/182/454 +f 579/182/454 561/166/455 563/165/455 +f 561/169/468 579/187/468 575/186/468 +f 575/186/468 557/170/468 561/169/468 +f 573/188/469 572/189/469 566/174/438 +f 566/174/438 565/173/438 573/188/469 +f 572/190/459 578/191/459 568/178/440 +f 568/178/440 566/177/440 572/190/459 +f 578/189/460 576/188/460 570/173/195 +f 570/173/195 568/174/195 578/189/460 +f 576/191/470 573/190/470 565/177/442 +f 565/177/442 570/178/442 576/191/470 +f 580/192/8 581/193/8 582/194/8 +f 582/194/8 583/195/8 580/192/8 +f 584/196/195 585/197/195 582/198/195 +f 582/198/195 581/199/195 584/196/195 +f 586/200/1 587/201/1 588/202/1 +f 588/202/1 589/203/1 586/200/1 +f 590/204/187 591/205/187 588/206/187 +f 588/206/187 587/207/187 590/204/187 +f 586/208/195 589/209/195 585/210/195 +f 585/210/195 584/211/195 586/208/195 +f 580/212/187 583/213/187 591/214/187 +f 591/214/187 590/215/187 580/212/187 +f 581/216/403 580/217/403 592/218/403 +f 592/218/403 593/219/403 581/216/403 +f 580/220/403 590/221/403 594/222/403 +f 594/222/403 592/223/403 580/220/403 +f 590/221/403 587/224/403 595/225/403 +f 595/225/403 594/222/403 590/221/403 +f 587/217/403 586/216/403 596/219/403 +f 596/219/403 595/218/403 587/217/403 +f 586/224/403 584/221/403 597/222/403 +f 597/222/403 596/225/403 586/224/403 +f 584/221/403 581/220/403 593/223/403 +f 593/223/403 597/222/403 584/221/403 +f 593/219/8 592/218/8 598/226/8 +f 598/226/8 599/227/8 593/219/8 +f 592/223/187 594/222/187 600/228/187 +f 600/228/187 598/229/187 592/223/187 +f 594/222/187 595/225/187 601/230/187 +f 601/230/187 600/228/187 594/222/187 +f 595/218/1 596/219/1 602/227/1 +f 602/227/1 601/226/1 595/218/1 +f 596/225/195 597/222/195 603/228/195 +f 603/228/195 602/230/195 596/225/195 +f 597/222/195 593/223/195 599/229/195 +f 599/229/195 603/228/195 597/222/195 +f 604/151/1 605/150/1 606/149/1 +f 606/149/1 607/148/1 604/151/1 +f 608/151/8 609/148/8 610/149/8 +f 610/149/8 611/150/8 608/151/8 +f 607/231/403 606/232/403 610/233/403 +f 610/233/403 609/234/403 607/231/403 +f 606/232/195 605/231/195 611/234/195 +f 611/234/195 610/233/195 606/232/195 +f 605/234/404 604/233/404 608/232/404 +f 608/232/404 611/231/404 605/234/404 +f 612/151/187 613/148/187 614/149/187 +f 614/149/187 615/150/187 612/151/187 +f 616/151/195 617/150/195 618/149/195 +f 618/149/195 619/148/195 616/151/195 +f 613/235/403 619/236/403 618/237/403 +f 618/237/403 614/238/403 613/235/403 +f 614/238/8 618/237/8 617/236/8 +f 617/236/8 615/235/8 614/238/8 +f 615/238/404 617/237/404 616/236/404 +f 616/236/404 612/235/404 615/238/404 +f 620/151/187 621/150/187 622/149/187 +f 622/149/187 623/148/187 620/151/187 +f 624/151/195 625/148/195 626/149/195 +f 626/149/195 627/150/195 624/151/195 +f 623/235/403 622/238/403 626/237/403 +f 626/237/403 625/236/403 623/235/403 +f 622/238/1 621/235/1 627/236/1 +f 627/236/1 626/237/1 622/238/1 +f 621/238/404 620/235/404 624/236/404 +f 624/236/404 627/237/404 621/238/404 +f 628/239/471 629/240/471 630/241/471 +f 630/241/471 631/242/471 628/239/471 +f 632/242/472 633/239/472 634/240/473 +f 634/240/473 635/241/473 632/242/472 +f 631/243/195 630/244/195 634/245/195 +f 634/245/195 633/246/195 631/243/195 +f 630/244/474 629/243/474 635/246/474 +f 635/246/474 634/245/474 630/244/474 +f 629/244/187 628/243/187 632/246/187 +f 632/246/187 635/245/187 629/244/187 +f 636/247/404 637/248/404 638/249/404 +f 638/249/404 639/250/404 636/247/404 +f 636/251/195 639/252/195 640/253/195 +f 640/253/195 641/254/195 636/251/195 +f 637/252/1 636/251/1 641/254/1 +f 641/254/1 642/253/1 637/252/1 +f 638/252/187 637/251/187 642/254/187 +f 642/254/187 643/253/187 638/252/187 +f 644/255/475 645/256/475 646/257/476 +f 646/257/476 647/258/476 644/255/475 +f 648/259/477 644/260/477 647/261/478 +f 647/261/478 649/262/478 648/259/477 +f 650/260/479 648/259/479 649/262/479 +f 649/262/479 651/261/479 650/260/479 +f 650/259/480 651/262/481 646/261/482 +f 646/261/482 645/260/480 650/259/480 +f 652/263/483 647/258/476 646/257/476 +f 646/257/476 653/264/483 652/263/483 +f 649/262/484 647/261/484 652/265/484 +f 652/265/485 654/266/485 649/262/485 +f 655/265/486 651/261/487 649/262/486 +f 649/262/486 654/266/486 655/265/486 +f 653/265/488 646/261/482 651/262/481 +f 651/262/481 655/266/489 653/265/488 +f 656/255/490 657/258/491 658/257/491 +f 658/257/491 659/256/490 656/255/490 +f 660/259/477 661/262/478 657/261/478 +f 657/261/478 656/260/477 660/259/477 +f 662/260/492 663/261/492 661/262/492 +f 661/262/492 660/259/492 662/260/492 +f 662/259/480 659/260/480 658/261/482 +f 658/261/482 663/262/493 662/259/480 +f 664/263/494 665/264/494 658/257/491 +f 658/257/491 657/258/491 664/263/494 +f 661/262/495 666/266/495 664/265/495 +f 664/265/484 657/261/484 661/262/484 +f 667/265/496 666/266/496 661/262/496 +f 661/262/496 663/261/497 667/265/496 +f 665/265/498 667/266/499 663/262/493 +f 663/262/493 658/261/482 665/265/498 +f 668/267/404 669/268/404 670/269/404 +f 670/269/404 671/270/404 668/267/404 +f 672/271/195 673/272/195 670/273/195 +f 670/273/195 669/274/195 672/271/195 +f 674/275/1 675/276/1 676/277/1 +f 676/277/1 677/278/1 674/275/1 +f 678/272/187 679/271/187 668/274/187 +f 668/274/187 671/273/187 678/272/187 +f 678/279/1 671/280/1 680/277/1 +f 680/277/1 681/276/1 678/279/1 +f 671/280/1 670/281/1 682/278/1 +f 682/278/1 680/277/1 671/280/1 +f 670/281/1 673/282/1 683/275/1 +f 683/275/1 682/278/1 670/281/1 +f 681/283/195 680/284/195 676/285/195 +f 676/285/195 675/286/195 681/283/195 +f 680/287/403 682/288/403 677/289/403 +f 677/289/403 676/290/403 680/287/403 +f 682/284/187 683/283/187 674/286/187 +f 674/286/187 677/285/187 682/284/187 +f 684/291/500 685/292/501 686/293/501 +f 686/293/501 687/294/500 684/291/500 +f 688/293/502 689/292/502 690/291/503 +f 690/291/503 691/294/503 688/293/502 +f 687/295/8 686/296/8 688/297/8 +f 688/297/8 691/298/8 687/295/8 +f 692/299/504 685/296/505 689/297/506 +f 689/297/506 693/300/1 692/299/504 +f 692/301/501 694/302/501 686/293/501 +f 686/293/501 685/292/501 692/301/501 +f 695/302/507 693/301/507 689/292/502 +f 689/292/502 688/293/502 695/302/507 +f 694/299/8 695/300/8 688/297/8 +f 688/297/8 686/296/8 694/299/8 +f 684/295/508 690/298/1 689/297/506 +f 689/297/506 685/296/505 684/295/508 +f 696/303/509 697/304/509 698/305/8 +f 698/305/8 699/306/8 696/303/509 +f 700/307/510 696/308/510 699/309/187 +f 699/309/187 701/310/187 700/307/510 +f 702/304/511 700/303/511 701/306/1 +f 701/306/1 703/305/1 702/304/511 +f 697/308/512 702/307/512 703/310/195 +f 703/310/195 698/309/195 697/308/512 +f 704/303/513 699/306/8 698/305/8 +f 698/305/8 705/304/513 704/303/513 +f 706/307/482 701/310/187 699/309/187 +f 699/309/187 704/308/482 706/307/482 +f 707/304/514 703/305/1 701/306/1 +f 701/306/1 706/303/514 707/304/514 +f 705/308/484 698/309/195 703/310/195 +f 703/310/195 707/307/484 705/308/484 +f 708/303/509 709/304/509 710/305/8 +f 710/305/8 711/306/8 708/303/509 +f 712/307/510 708/308/510 711/309/187 +f 711/309/187 713/310/187 712/307/510 +f 714/304/511 712/303/511 713/306/1 +f 713/306/1 715/305/1 714/304/511 +f 709/308/512 714/307/512 715/310/195 +f 715/310/195 710/309/195 709/308/512 +f 716/303/513 711/306/8 710/305/8 +f 710/305/8 717/304/513 716/303/513 +f 718/307/482 713/310/187 711/309/187 +f 711/309/187 716/308/482 718/307/482 +f 719/304/514 715/305/1 713/306/1 +f 713/306/1 718/303/514 719/304/514 +f 717/308/484 710/309/195 715/310/195 +f 715/310/195 719/307/484 717/308/484 +f 720/311/515 721/312/515 722/313/516 +f 722/313/516 723/314/517 720/311/515 +f 724/315/518 720/316/518 723/317/518 +f 723/317/518 725/318/518 724/315/518 +f 726/312/519 724/311/519 725/314/520 +f 725/314/520 727/313/520 726/312/519 +f 726/315/521 727/318/522 722/317/523 +f 722/317/523 721/316/521 726/315/521 +f 728/319/524 723/314/517 722/313/516 +f 722/313/516 729/320/524 728/319/524 +f 725/318/525 723/317/525 728/321/526 +f 728/321/527 730/322/527 725/318/528 +f 731/320/529 727/313/529 725/314/529 +f 725/314/529 730/319/529 731/320/529 +f 729/321/530 722/317/523 727/318/522 +f 727/318/522 731/322/531 729/321/530 +f 732/323/195 733/324/195 734/325/195 +f 734/325/195 735/326/195 732/323/195 +f 733/324/195 736/327/195 737/328/195 +f 737/328/195 734/325/195 733/324/195 +f 736/327/195 738/329/195 739/330/195 +f 739/330/195 737/328/195 736/327/195 +f 738/329/195 740/331/195 741/332/195 +f 741/332/195 739/330/195 738/329/195 +f 742/333/195 743/334/195 744/335/195 +f 744/335/195 745/336/195 742/333/195 +f 743/334/195 746/337/195 747/338/195 +f 747/338/195 744/335/195 743/334/195 +f 748/339/195 749/340/195 750/341/195 +f 750/341/195 751/342/195 748/339/195 +f 751/342/195 750/341/195 752/343/195 +f 752/343/195 753/344/195 751/342/195 +f 754/345/195 755/346/195 756/347/195 +f 756/347/195 757/348/195 754/345/195 +f 755/346/195 758/349/195 759/350/195 +f 759/350/195 756/347/195 755/346/195 +f 758/349/195 760/351/195 761/352/195 +f 761/352/195 759/350/195 758/349/195 +f 760/351/195 762/353/195 763/354/195 +f 763/354/195 761/352/195 760/351/195 +f 764/355/195 765/356/195 733/324/195 +f 733/324/195 732/323/195 764/355/195 +f 765/356/195 766/357/195 736/327/195 +f 736/327/195 733/324/195 765/356/195 +f 766/357/195 767/358/195 738/329/195 +f 738/329/195 736/327/195 766/357/195 +f 767/358/195 768/359/195 740/331/195 +f 740/331/195 738/329/195 767/358/195 +f 748/339/195 751/342/195 755/346/195 +f 755/346/195 754/345/195 748/339/195 +f 751/342/195 753/344/195 758/349/195 +f 758/349/195 755/346/195 751/342/195 +f 753/344/195 769/360/195 760/351/195 +f 760/351/195 758/349/195 753/344/195 +f 769/360/195 770/361/195 762/353/195 +f 762/353/195 760/351/195 769/360/195 +f 735/326/195 734/325/195 743/334/195 +f 743/334/195 742/333/195 735/326/195 +f 734/325/195 737/328/195 746/337/195 +f 746/337/195 743/334/195 734/325/195 +f 749/340/195 745/336/195 744/335/195 +f 744/335/195 750/341/195 749/340/195 +f 750/341/195 744/335/195 747/338/195 +f 747/338/195 752/343/195 750/341/195 +f 771/362/195 772/363/195 773/364/195 +f 773/364/195 774/365/195 771/362/195 +f 772/363/195 775/366/195 776/367/195 +f 776/367/195 773/364/195 772/363/195 +f 775/366/195 777/368/195 778/369/195 +f 778/369/195 776/367/195 775/366/195 +f 777/368/195 779/370/195 780/371/195 +f 780/371/195 778/369/195 777/368/195 +f 774/365/195 773/364/195 781/372/195 +f 781/372/195 782/373/195 774/365/195 +f 773/364/195 776/367/195 783/374/195 +f 783/374/195 781/372/195 773/364/195 +f 776/367/195 778/369/195 784/375/195 +f 784/375/195 783/374/195 776/367/195 +f 778/369/195 780/371/195 785/376/195 +f 785/376/195 784/375/195 778/369/195 +f 782/373/195 781/372/195 786/377/195 +f 786/377/195 787/378/195 782/373/195 +f 781/372/195 783/374/195 788/379/195 +f 788/379/195 786/377/195 781/372/195 +f 783/374/195 784/375/195 789/380/195 +f 789/380/195 788/379/195 783/374/195 +f 784/375/195 785/376/195 790/381/195 +f 790/381/195 789/380/195 784/375/195 +f 787/378/195 786/377/195 791/382/195 +f 791/382/195 792/383/195 787/378/195 +f 786/377/195 788/379/195 793/384/195 +f 793/384/195 791/382/195 786/377/195 +f 788/379/195 789/380/195 794/385/195 +f 794/385/195 793/384/195 788/379/195 +f 789/380/195 790/381/195 795/386/195 +f 795/386/195 794/385/195 789/380/195 +f 796/387/532 797/388/533 798/389/34 +f 798/389/34 799/390/534 796/387/532 +f 800/391/535 801/392/536 797/388/533 +f 797/388/533 796/387/532 800/391/535 +f 799/390/534 798/389/34 801/393/536 +f 801/393/536 800/394/535 799/390/534 +f 802/395/1 803/396/1 804/397/1 +f 804/387/537 803/390/534 798/389/34 +f 798/389/34 797/388/533 804/387/537 +f 802/391/538 804/387/537 797/388/533 +f 797/388/533 801/392/536 802/391/538 +f 803/390/534 802/394/538 801/393/536 +f 801/393/536 798/389/34 803/390/534 +f 805/398/1 806/399/1 807/400/1 +f 807/400/1 808/401/1 805/398/1 +f 809/402/1 810/403/1 811/399/1 +f 811/399/1 812/398/1 809/402/1 +f 810/403/1 813/404/1 814/400/1 +f 814/400/1 811/399/1 810/403/1 +f 813/404/1 815/405/1 816/401/1 +f 816/401/1 814/400/1 813/404/1 +f 815/405/1 809/402/1 812/398/1 +f 812/398/1 816/401/1 815/405/1 +f 817/406/403 810/407/403 809/408/403 +f 809/408/403 818/409/403 817/406/403 +f 819/410/187 813/411/187 810/412/187 +f 810/412/187 817/413/187 819/410/187 +f 819/406/404 820/409/404 815/408/404 +f 815/408/404 813/407/404 819/406/404 +f 818/413/195 809/412/195 815/411/195 +f 815/411/195 820/410/195 818/413/195 +f 806/414/404 805/415/404 812/416/404 +f 812/416/404 811/417/404 806/414/404 +f 805/418/187 808/419/187 816/420/187 +f 816/420/187 812/421/187 805/418/187 +f 808/415/403 807/414/403 814/417/403 +f 814/417/403 816/416/403 808/415/403 +f 807/419/195 806/418/195 811/421/195 +f 811/421/195 814/420/195 807/419/195 +f 821/422/403 822/423/403 823/424/403 +f 823/424/403 824/425/403 821/422/403 +f 825/422/404 826/425/404 827/424/404 +f 827/424/404 828/423/404 825/422/404 +f 824/426/539 823/427/540 827/428/540 +f 827/428/540 826/429/539 824/426/539 +f 823/430/541 822/431/542 828/432/542 +f 828/432/542 827/433/541 823/430/541 +f 822/427/543 821/426/544 825/429/544 +f 825/429/544 828/428/543 822/427/543 +f 829/422/403 830/423/403 831/424/403 +f 831/424/403 832/425/403 829/422/403 +f 833/422/404 834/425/404 835/424/404 +f 835/424/404 836/423/404 833/422/404 +f 832/426/545 831/427/545 835/428/545 +f 835/428/545 834/429/545 832/426/545 +f 831/430/546 830/431/546 836/432/546 +f 836/432/546 835/433/546 831/430/546 +f 830/427/547 829/426/548 833/429/548 +f 833/429/548 836/428/547 830/427/547 +f 837/255/475 838/258/476 839/257/476 +f 839/257/476 840/256/475 837/255/475 +f 841/259/549 842/262/482 838/261/482 +f 838/261/482 837/260/549 841/259/549 +f 843/260/479 844/261/479 842/262/479 +f 842/262/479 841/259/479 843/260/479 +f 843/259/550 840/260/550 839/261/478 +f 839/261/478 844/262/478 843/259/550 +f 845/263/483 846/264/483 839/257/476 +f 839/257/476 838/258/476 845/263/483 +f 842/262/551 847/266/551 845/265/551 +f 845/265/552 838/261/552 842/262/552 +f 848/265/486 847/266/486 842/262/486 +f 842/262/486 844/261/487 848/265/486 +f 846/265/553 848/266/554 844/262/478 +f 844/262/478 839/261/478 846/265/553 +f 849/255/490 850/256/490 851/257/491 +f 851/257/491 852/258/491 849/255/490 +f 853/259/549 849/260/549 852/261/482 +f 852/261/482 854/262/482 853/259/549 +f 855/260/492 853/259/492 854/262/492 +f 854/262/492 856/261/492 855/260/492 +f 855/259/550 856/262/478 851/261/478 +f 851/261/478 850/260/550 855/259/550 +f 857/263/494 852/258/491 851/257/491 +f 851/257/491 858/264/494 857/263/494 +f 854/262/552 852/261/552 857/265/552 +f 857/265/555 859/266/555 854/262/555 +f 860/265/496 856/261/497 854/262/496 +f 854/262/496 859/266/496 860/265/496 +f 858/265/556 851/261/478 856/262/478 +f 856/262/478 860/266/556 858/265/556 +f 861/434/403 862/435/403 863/436/403 +f 863/436/403 864/437/403 861/434/403 +f 863/438/8 865/439/8 866/440/8 +f 866/440/8 864/441/8 863/438/8 +f 867/442/195 868/443/195 869/444/195 +f 869/444/195 870/445/195 867/442/195 +f 862/446/1 871/447/1 869/448/1 +f 869/448/1 868/449/1 862/446/1 +f 861/443/187 864/442/187 866/445/187 +f 866/445/187 872/444/187 861/443/187 +f 868/434/403 867/437/403 863/436/403 +f 863/436/403 862/435/403 868/434/403 +f 867/450/8 870/451/8 865/452/8 +f 865/452/8 863/453/8 867/450/8 +f 861/454/1 872/455/1 871/456/1 +f 871/456/1 862/457/1 861/454/1 +f 873/148/1 874/149/1 875/150/1 +f 875/150/1 876/151/1 873/148/1 +f 877/458/557 878/459/557 874/460/557 +f 874/460/557 873/461/557 877/458/557 +f 878/462/558 879/463/558 875/464/559 +f 875/464/559 874/465/559 878/462/558 +f 879/459/560 880/458/560 876/461/560 +f 876/461/560 875/460/560 879/459/560 +f 880/463/561 877/462/561 873/465/562 +f 873/465/562 876/464/562 880/463/561 +f 881/466/563 882/467/564 883/468/565 +f 883/468/565 884/469/566 881/466/563 +f 885/469/567 886/468/568 882/467/564 +f 882/467/564 881/466/563 885/469/567 +f 887/470/8 888/471/8 881/472/8 +f 881/472/8 884/473/8 887/470/8 +f 888/471/8 889/470/8 885/473/8 +f 885/473/8 881/472/8 888/471/8 +f 890/474/569 886/475/569 885/476/569 +f 885/476/569 889/477/569 890/474/569 +f 891/470/1 892/471/1 893/472/1 +f 893/472/1 894/473/1 891/470/1 +f 892/471/1 895/470/1 896/473/1 +f 896/473/1 893/472/1 892/471/1 +f 897/474/570 883/475/570 896/476/571 +f 896/476/571 895/477/571 897/474/570 +f 891/478/572 890/479/573 898/480/574 +f 898/480/574 892/481/575 891/478/572 +f 892/481/576 898/480/577 897/479/578 +f 897/479/578 895/478/579 892/481/576 +f 893/482/580 896/483/581 883/468/565 +f 883/468/565 882/467/564 893/482/580 +f 894/483/582 893/482/580 882/467/564 +f 882/467/564 886/468/568 894/483/582 +f 891/477/583 894/476/583 886/475/584 +f 886/475/584 890/474/584 891/477/583 +f 887/477/585 884/476/585 883/475/585 +f 883/475/585 897/474/585 887/477/585 +f 889/478/586 888/481/587 898/480/574 +f 898/480/574 890/479/573 889/478/586 +f 888/481/588 887/478/589 897/479/578 +f 897/479/578 898/480/577 888/481/588 +f 899/484/187 900/485/187 901/486/187 +f 901/486/187 902/487/187 899/484/187 +f 903/488/590 902/489/590 901/486/590 +f 901/486/590 904/490/590 903/488/590 +f 900/485/591 905/491/592 904/490/593 +f 904/490/593 901/486/594 900/485/591 +f 899/492/595 906/493/595 905/491/595 +f 905/491/595 900/485/595 899/492/595 +f 903/488/590 904/490/590 907/494/590 +f 907/494/590 908/495/590 903/488/590 +f 909/496/596 907/494/597 904/490/598 +f 904/490/598 905/491/596 909/496/596 +f 910/497/595 909/496/595 905/491/595 +f 905/491/595 906/493/595 910/497/595 +f 911/484/195 912/487/195 913/486/195 +f 913/486/195 914/485/195 911/484/195 +f 913/486/590 912/489/590 915/488/590 +f 915/488/590 916/490/590 913/486/590 +f 916/490/599 917/491/600 914/485/600 +f 914/485/600 913/486/599 916/490/599 +f 917/491/595 918/493/595 911/492/595 +f 911/492/595 914/485/595 917/491/595 +f 915/488/590 908/495/590 907/494/590 +f 907/494/590 916/490/590 915/488/590 +f 909/496/601 917/491/601 916/490/602 +f 916/490/602 907/494/603 909/496/601 +f 910/497/595 918/493/595 917/491/595 +f 917/491/595 909/496/595 910/497/595 +f 919/484/187 920/485/187 921/486/187 +f 921/486/187 922/487/187 919/484/187 +f 923/488/604 922/489/604 921/486/604 +f 921/486/604 924/490/604 923/488/604 +f 920/485/188 925/491/188 924/490/188 +f 924/490/188 921/486/188 920/485/188 +f 919/492/605 926/493/605 925/491/605 +f 925/491/605 920/485/605 919/492/605 +f 923/488/604 924/490/604 927/494/604 +f 927/494/604 928/495/604 923/488/604 +f 929/496/193 927/494/193 924/490/193 +f 924/490/193 925/491/193 929/496/193 +f 930/497/605 929/496/605 925/491/605 +f 925/491/605 926/493/605 930/497/605 +f 931/484/195 932/487/195 933/486/195 +f 933/486/195 934/485/195 931/484/195 +f 933/486/604 932/489/604 935/488/604 +f 935/488/604 936/490/604 933/486/604 +f 936/490/197 937/491/197 934/485/197 +f 934/485/197 933/486/197 936/490/197 +f 937/491/605 938/493/605 931/492/605 +f 931/492/605 934/485/605 937/491/605 +f 935/488/604 928/495/604 927/494/604 +f 927/494/604 936/490/604 935/488/604 +f 929/496/606 937/491/606 936/490/606 +f 936/490/606 927/494/606 929/496/606 +f 930/497/605 938/493/605 937/491/605 +f 937/491/605 929/496/605 930/497/605 +f 939/484/1 940/485/1 941/486/1 +f 941/486/1 942/487/1 939/484/1 +f 943/488/46 942/489/46 941/486/46 +f 941/486/46 944/490/46 943/488/46 +f 940/485/607 945/491/140 944/490/140 +f 944/490/140 941/486/44 940/485/607 +f 939/492/608 946/493/608 945/491/608 +f 945/491/608 940/485/608 939/492/608 +f 943/488/46 944/490/46 947/494/48 +f 947/494/46 948/495/46 943/488/46 +f 949/496/47 947/494/47 944/490/47 +f 944/490/47 945/491/47 949/496/609 +f 950/497/608 949/496/608 945/491/608 +f 945/491/608 946/493/608 950/497/608 +f 951/484/8 952/487/8 953/486/8 +f 953/486/8 954/485/8 951/484/8 +f 953/486/46 952/489/46 955/488/46 +f 955/488/46 956/490/46 953/486/46 +f 956/490/149 957/491/149 954/485/147 +f 954/485/147 953/486/49 956/490/149 +f 957/491/608 958/493/608 951/492/608 +f 951/492/608 954/485/608 957/491/608 +f 955/488/46 948/495/46 947/494/46 +f 947/494/46 956/490/46 955/488/46 +f 949/496/610 957/491/610 956/490/610 +f 956/490/52 947/494/52 949/496/52 +f 950/497/611 958/493/611 957/491/611 +f 957/491/608 949/496/608 950/497/608 +f 959/484/1 960/485/1 961/486/1 +f 961/486/1 962/487/1 959/484/1 +f 963/488/46 962/489/46 961/486/46 +f 961/486/46 964/490/46 963/488/46 +f 960/485/607 965/491/140 964/490/140 +f 964/490/140 961/486/44 960/485/607 +f 959/492/608 966/493/608 965/491/608 +f 965/491/608 960/485/608 959/492/608 +f 963/488/46 964/490/46 967/494/48 +f 967/494/46 968/495/46 963/488/46 +f 969/496/47 967/494/47 964/490/47 +f 964/490/47 965/491/47 969/496/609 +f 970/497/608 969/496/608 965/491/608 +f 965/491/608 966/493/608 970/497/608 +f 971/484/8 972/487/8 973/486/8 +f 973/486/8 974/485/8 971/484/8 +f 973/486/46 972/489/46 975/488/46 +f 975/488/46 976/490/46 973/486/46 +f 976/490/149 977/491/149 974/485/612 +f 974/485/612 973/486/49 976/490/149 +f 977/491/608 978/493/608 971/492/608 +f 971/492/608 974/485/608 977/491/608 +f 975/488/46 968/495/46 967/494/46 +f 967/494/46 976/490/46 975/488/46 +f 969/496/610 977/491/610 976/490/610 +f 976/490/52 967/494/52 969/496/52 +f 970/497/611 978/493/611 977/491/611 +f 977/491/608 969/496/608 970/497/608 +f 979/148/187 980/149/187 981/150/187 +f 981/150/187 982/151/187 979/148/187 +f 983/458/613 984/459/613 980/460/614 +f 980/460/614 979/461/614 983/458/613 +f 984/462/615 985/463/615 981/464/616 +f 981/464/616 980/465/616 984/462/615 +f 985/459/617 986/458/617 982/461/618 +f 982/461/618 981/460/618 985/459/617 +f 986/463/619 983/462/619 979/465/620 +f 979/465/620 982/464/620 986/463/619 +f 987/484/1 988/485/1 989/486/1 +f 989/486/1 990/487/1 987/484/1 +f 991/488/143 990/489/143 989/486/143 +f 989/486/143 992/490/621 991/488/143 +f 988/485/45 993/491/622 992/490/623 +f 992/490/623 989/486/45 988/485/45 +f 987/492/624 994/493/624 993/491/624 +f 993/491/624 988/485/624 987/492/624 +f 991/488/143 992/490/621 995/494/146 +f 995/494/143 996/495/143 991/488/143 +f 997/496/47 995/494/47 992/490/47 +f 992/490/47 993/491/47 997/496/47 +f 998/497/624 997/496/624 993/491/624 +f 993/491/624 994/493/624 998/497/624 +f 999/484/8 1000/487/8 1001/486/8 +f 1001/486/8 1002/485/8 999/484/8 +f 1001/486/143 1000/489/143 1003/488/143 +f 1003/488/143 1004/490/621 1001/486/143 +f 1004/490/625 1005/491/626 1002/485/612 +f 1002/485/612 1001/486/612 1004/490/625 +f 1005/491/624 1006/493/624 999/492/624 +f 999/492/624 1002/485/624 1005/491/624 +f 1003/488/143 996/495/143 995/494/143 +f 995/494/143 1004/490/621 1003/488/143 +f 997/496/52 1005/491/52 1004/490/627 +f 1004/490/627 995/494/52 997/496/52 +f 998/497/628 1006/493/628 1005/491/628 +f 1005/491/624 997/496/624 998/497/624 +f 1007/148/187 1008/149/187 1009/150/187 +f 1009/150/187 1010/151/187 1007/148/187 +f 1011/458/629 1012/459/629 1008/460/614 +f 1008/460/614 1007/461/614 1011/458/629 +f 1012/462/615 1013/463/615 1009/464/615 +f 1009/464/615 1008/465/615 1012/462/615 +f 1013/459/630 1014/458/630 1010/461/618 +f 1010/461/618 1009/460/618 1013/459/630 +f 1014/463/631 1011/462/631 1007/465/620 +f 1007/465/620 1010/464/620 1014/463/631 +f 1015/484/1 1016/487/1 1017/486/1 +f 1017/486/1 1018/485/1 1015/484/1 +f 1019/488/632 1020/490/632 1017/486/632 +f 1017/486/632 1016/489/632 1019/488/632 +f 1018/485/80 1017/486/633 1020/490/79 +f 1020/490/79 1021/491/634 1018/485/80 +f 1015/492/179 1018/485/179 1021/491/179 +f 1021/491/179 1022/493/179 1015/492/179 +f 1019/488/632 1023/495/632 1024/494/632 +f 1024/494/635 1020/490/632 1019/488/632 +f 1025/496/84 1021/491/636 1020/490/636 +f 1020/490/85 1024/494/85 1025/496/85 +f 1026/497/179 1022/493/179 1021/491/179 +f 1021/491/179 1025/496/179 1026/497/179 +f 1027/484/8 1028/485/8 1029/486/8 +f 1029/486/8 1030/487/8 1027/484/8 +f 1029/486/632 1031/490/632 1032/488/632 +f 1032/488/632 1030/489/632 1029/486/632 +f 1031/490/88 1029/486/88 1028/485/88 +f 1028/485/88 1033/491/637 1031/490/88 +f 1033/491/179 1028/485/179 1027/492/179 +f 1027/492/179 1034/493/179 1033/491/179 +f 1032/488/632 1031/490/632 1024/494/632 +f 1024/494/632 1023/495/632 1032/488/632 +f 1025/496/90 1024/494/90 1031/490/90 +f 1031/490/91 1033/491/91 1025/496/91 +f 1026/497/179 1025/496/179 1033/491/179 +f 1033/491/638 1034/493/638 1026/497/638 +f 1035/148/8 1036/151/8 1037/150/8 +f 1037/150/8 1038/149/8 1035/148/8 +f 1039/458/639 1035/461/639 1038/460/639 +f 1038/460/639 1040/459/639 1039/458/639 +f 1040/462/640 1038/465/640 1037/464/640 +f 1037/464/640 1041/463/640 1040/462/640 +f 1041/459/641 1037/460/641 1036/461/641 +f 1036/461/641 1042/458/641 1041/459/641 +f 1042/463/642 1036/464/642 1035/465/642 +f 1035/465/642 1039/462/642 1042/463/642 +f 1043/149/195 1044/150/195 1045/151/195 +f 1045/151/195 1046/148/195 1043/149/195 +f 1047/148/187 1048/149/187 1049/150/187 +f 1049/150/187 1050/151/187 1047/148/187 +f 1045/160/643 1051/153/403 1052/154/403 +f 1052/154/403 1046/161/643 1045/160/643 +f 1044/162/8 1053/157/8 1051/158/8 +f 1051/158/8 1045/163/8 1044/162/8 +f 1043/161/644 1054/154/404 1053/153/404 +f 1053/153/404 1044/160/644 1043/161/644 +f 1049/152/645 1048/155/645 1052/154/403 +f 1052/154/403 1051/153/403 1049/152/645 +f 1050/156/8 1049/159/8 1051/158/8 +f 1051/158/8 1053/157/8 1050/156/8 +f 1047/155/646 1050/152/646 1053/153/404 +f 1053/153/404 1054/154/404 1047/155/646 +f 1055/498/552 1056/499/552 1057/500/482 +f 1057/500/482 1058/501/482 1055/498/552 +f 1059/502/497 1055/503/497 1058/504/497 +f 1058/504/497 1060/505/497 1059/502/497 +f 1061/499/534 1059/498/534 1060/501/534 +f 1060/501/534 1062/500/534 1061/499/534 +f 1061/502/647 1062/505/648 1057/504/479 +f 1057/504/479 1056/503/647 1061/502/647 +f 1063/506/103 1058/501/482 1057/500/482 +f 1057/500/482 1064/507/103 1063/506/103 +f 1060/505/649 1058/504/649 1063/508/649 +f 1063/508/650 1065/509/650 1060/505/650 +f 1066/507/18 1062/500/18 1060/501/18 +f 1060/501/18 1065/506/18 1066/507/18 +f 1064/508/651 1057/504/479 1062/505/648 +f 1062/505/648 1066/509/652 1064/508/651 +f 1067/150/8 1068/151/8 1069/148/8 +f 1069/148/8 1070/149/8 1067/150/8 +f 1071/154/653 1072/153/653 1073/160/654 +f 1073/160/654 1074/161/654 1071/154/653 +f 1072/510/187 1075/511/187 1076/512/187 +f 1076/512/187 1073/513/187 1072/510/187 +f 1075/153/655 1077/154/655 1078/161/418 +f 1078/161/418 1076/160/418 1075/153/655 +f 1070/155/656 1069/152/656 1072/153/653 +f 1072/153/653 1071/154/653 1070/155/656 +f 1069/514/187 1068/515/187 1075/511/187 +f 1075/511/187 1072/510/187 1069/514/187 +f 1068/152/657 1067/155/657 1077/154/655 +f 1077/154/655 1075/153/655 1068/152/657 +f 1079/516/658 1080/517/659 1081/518/659 +f 1081/518/659 1082/519/658 1079/516/658 +f 1083/520/660 1084/521/661 1080/522/478 +f 1080/522/478 1079/523/584 1083/520/660 +f 1085/524/662 1086/525/663 1084/526/663 +f 1084/526/663 1083/527/662 1085/524/662 +f 1082/523/664 1081/522/482 1086/521/665 +f 1086/521/665 1085/520/666 1082/523/664 +f 1087/528/667 1088/529/667 1081/518/659 +f 1081/518/659 1080/517/659 1087/528/667 +f 1089/530/396 1087/531/396 1080/522/478 +f 1080/522/478 1084/521/661 1089/530/396 +f 1090/532/668 1089/533/668 1084/526/663 +f 1084/526/663 1086/525/663 1090/532/668 +f 1088/531/103 1090/530/103 1086/521/665 +f 1086/521/665 1081/522/482 1088/531/103 +f 1091/311/669 1092/314/670 1093/313/671 +f 1093/313/671 1094/312/669 1091/311/669 +f 1095/315/672 1096/318/518 1092/317/518 +f 1092/317/518 1091/316/518 1095/315/672 +f 1097/312/673 1098/313/673 1096/314/673 +f 1096/314/673 1095/311/673 1097/312/673 +f 1097/315/674 1094/316/521 1093/317/523 +f 1093/317/523 1098/318/522 1097/315/674 +f 1099/319/675 1100/320/675 1093/313/671 +f 1093/313/671 1092/314/670 1099/319/675 +f 1096/318/676 1101/322/677 1099/321/677 +f 1099/321/526 1092/317/525 1096/318/525 +f 1102/320/678 1101/319/678 1096/314/678 +f 1096/314/678 1098/313/678 1102/320/678 +f 1100/321/679 1102/322/680 1098/318/522 +f 1098/318/522 1093/317/523 1100/321/679 +f 1103/64/681 1104/67/682 1105/66/682 +f 1105/66/682 1106/65/681 1103/64/681 +f 1107/68/390 1108/71/390 1104/70/390 +f 1104/70/390 1103/69/390 1107/68/390 +f 1109/64/683 1110/67/683 1108/66/684 +f 1108/66/684 1107/65/683 1109/64/683 +f 1109/68/392 1106/69/392 1105/70/393 +f 1105/70/393 1110/71/393 1109/68/392 +f 1111/72/685 1112/73/685 1105/66/682 +f 1105/66/682 1104/67/682 1111/72/685 +f 1108/71/686 1113/75/687 1111/74/687 +f 1111/74/396 1104/70/396 1108/71/396 +f 1114/72/210 1113/73/210 1108/66/688 +f 1108/66/688 1110/67/688 1114/72/210 +f 1112/74/689 1114/75/690 1110/71/393 +f 1110/71/393 1105/70/393 1112/74/689 +f 1115/149/8 1116/150/8 1117/151/8 +f 1117/151/8 1118/148/8 1115/149/8 +f 1119/148/1 1120/149/1 1121/150/1 +f 1121/150/1 1122/151/1 1119/148/1 +f 1117/160/691 1123/153/403 1124/154/403 +f 1124/154/403 1118/161/691 1117/160/691 +f 1116/162/187 1125/157/187 1123/158/187 +f 1123/158/187 1117/163/187 1116/162/187 +f 1115/161/692 1126/154/404 1125/153/404 +f 1125/153/404 1116/160/692 1115/161/692 +f 1121/152/693 1120/155/693 1124/154/403 +f 1124/154/403 1123/153/403 1121/152/693 +f 1122/156/187 1121/159/187 1123/158/187 +f 1123/158/187 1125/157/187 1122/156/187 +f 1119/155/694 1122/152/694 1125/153/404 +f 1125/153/404 1126/154/404 1119/155/694 +f 1127/516/658 1128/519/658 1129/518/659 +f 1129/518/659 1130/517/659 1127/516/658 +f 1131/520/695 1127/523/570 1130/522/482 +f 1130/522/482 1132/521/696 1131/520/695 +f 1133/524/662 1131/527/662 1132/526/663 +f 1132/526/663 1134/525/663 1133/524/662 +f 1128/523/697 1133/520/698 1134/521/699 +f 1134/521/699 1129/522/478 1128/523/697 +f 1135/528/667 1130/517/659 1129/518/659 +f 1129/518/659 1136/529/667 1135/528/667 +f 1137/530/103 1132/521/696 1130/522/482 +f 1130/522/482 1135/531/103 1137/530/103 +f 1138/532/668 1134/525/663 1132/526/663 +f 1132/526/663 1137/533/668 1138/532/668 +f 1136/531/396 1129/522/478 1134/521/699 +f 1134/521/699 1138/530/396 1136/531/396 +f 1139/84/8 1140/87/8 1141/86/8 +f 1141/86/8 1142/85/8 1139/84/8 +f 1143/88/195 1144/91/195 1145/90/195 +f 1145/90/195 1146/89/195 1143/88/195 +f 1147/92/404 1148/95/404 1149/94/700 +f 1149/94/700 1150/93/700 1147/92/404 +f 1151/89/187 1152/90/187 1153/91/187 +f 1153/91/187 1154/88/187 1151/89/187 +f 1155/96/403 1156/99/403 1157/98/701 +f 1157/98/701 1158/97/701 1155/96/403 +f 1159/100/8 1160/102/8 1161/101/8 +f 1148/103/8 1162/106/8 1163/105/8 +f 1163/105/8 1149/104/8 1148/103/8 +f 1164/102/8 1165/100/8 1166/101/8 +f 1167/107/8 1168/108/8 1166/101/8 +f 1166/101/8 1165/100/8 1167/107/8 +f 1169/109/8 1170/110/8 1141/86/8 +f 1141/86/8 1140/87/8 1169/109/8 +f 1171/111/702 1172/112/702 1148/95/404 +f 1148/95/404 1147/92/404 1171/111/702 +f 1173/97/703 1174/98/703 1156/99/403 +f 1156/99/403 1155/96/403 1173/97/703 +f 1148/103/8 1172/104/8 1175/105/8 +f 1175/105/8 1162/106/8 1148/103/8 +f 1167/107/8 1159/100/8 1161/101/8 +f 1161/101/8 1168/108/8 1167/107/8 +f 1176/113/187 1163/116/187 1139/115/187 +f 1139/115/187 1142/114/187 1176/113/187 +f 1163/116/704 1162/118/704 1140/117/704 +f 1140/117/704 1139/115/704 1163/116/704 +f 1162/118/705 1175/120/705 1169/119/705 +f 1169/119/705 1140/117/705 1162/118/705 +f 1175/120/195 1177/122/195 1170/121/195 +f 1170/121/195 1169/119/195 1175/120/195 +f 1177/123/706 1178/126/707 1141/125/707 +f 1141/125/707 1170/124/706 1177/123/706 +f 1178/126/708 1176/123/708 1142/124/708 +f 1142/124/708 1141/125/708 1178/126/708 +f 1172/104/8 1179/128/8 1177/127/8 +f 1177/127/8 1175/105/8 1172/104/8 +f 1179/129/187 1172/112/187 1171/111/187 +f 1171/111/187 1180/130/187 1179/129/187 +f 1150/93/195 1149/94/195 1181/132/195 +f 1181/132/195 1182/131/195 1150/93/195 +f 1181/128/8 1149/104/8 1163/105/8 +f 1163/105/8 1176/127/8 1181/128/8 +f 1145/90/195 1144/91/195 1183/88/195 +f 1183/88/195 1184/89/195 1145/90/195 +f 1181/133/709 1176/123/709 1161/135/709 +f 1161/135/709 1160/134/709 1181/133/709 +f 1176/123/708 1178/126/708 1168/136/708 +f 1168/136/708 1161/135/708 1176/123/708 +f 1178/126/707 1177/123/706 1166/135/706 +f 1166/135/706 1168/136/707 1178/126/707 +f 1177/123/710 1179/133/710 1164/134/710 +f 1164/134/710 1166/135/710 1177/123/710 +f 1153/91/187 1152/90/187 1185/89/187 +f 1185/89/187 1186/88/187 1153/91/187 +f 1157/98/701 1156/99/701 1167/138/701 +f 1167/138/701 1165/137/701 1157/98/701 +f 1156/99/703 1174/98/703 1159/137/703 +f 1159/137/703 1167/138/703 1156/99/703 +f 1182/139/404 1181/133/404 1144/141/404 +f 1144/141/404 1143/140/404 1182/139/404 +f 1181/133/404 1160/134/404 1183/142/404 +f 1183/142/404 1144/141/404 1181/133/404 +f 1160/102/8 1159/100/8 1184/144/8 +f 1184/144/8 1183/143/8 1160/102/8 +f 1159/137/403 1174/98/403 1145/146/403 +f 1145/146/403 1184/145/403 1159/137/403 +f 1174/98/403 1173/97/403 1146/147/403 +f 1146/147/403 1145/146/403 1174/98/403 +f 1158/97/403 1157/98/403 1152/146/403 +f 1152/146/403 1151/147/403 1158/97/403 +f 1157/98/403 1165/137/403 1185/145/403 +f 1185/145/403 1152/146/403 1157/98/403 +f 1165/100/8 1164/102/8 1186/143/8 +f 1186/143/8 1185/144/8 1165/100/8 +f 1164/134/404 1179/133/404 1153/141/404 +f 1153/141/404 1186/142/404 1164/134/404 +f 1179/133/404 1180/139/404 1154/140/404 +f 1154/140/404 1153/141/404 1179/133/404 +f 1187/84/195 1188/87/195 1189/86/195 +f 1189/86/195 1190/85/195 1187/84/195 +f 1191/88/1 1192/91/1 1193/90/1 +f 1193/90/1 1194/89/1 1191/88/1 +f 1195/92/404 1196/95/404 1197/94/405 +f 1197/94/405 1198/93/405 1195/92/404 +f 1199/89/8 1200/90/8 1201/91/8 +f 1201/91/8 1202/88/8 1199/89/8 +f 1203/96/403 1204/99/403 1205/98/406 +f 1205/98/406 1206/97/406 1203/96/403 +f 1207/100/195 1208/102/195 1209/101/195 +f 1196/103/195 1210/106/195 1211/105/195 +f 1211/105/195 1197/104/195 1196/103/195 +f 1212/102/195 1213/100/195 1214/101/195 +f 1215/107/195 1216/108/195 1214/101/195 +f 1214/101/195 1213/100/195 1215/107/195 +f 1217/109/195 1218/110/195 1189/86/195 +f 1189/86/195 1188/87/195 1217/109/195 +f 1219/111/407 1220/112/407 1196/95/404 +f 1196/95/404 1195/92/404 1219/111/407 +f 1221/97/409 1222/98/408 1204/99/403 +f 1204/99/403 1203/96/403 1221/97/409 +f 1196/103/195 1220/104/195 1223/105/195 +f 1223/105/195 1210/106/195 1196/103/195 +f 1215/107/195 1207/100/195 1209/101/195 +f 1209/101/195 1216/108/195 1215/107/195 +f 1224/113/8 1211/116/8 1187/115/8 +f 1187/115/8 1190/114/8 1224/113/8 +f 1211/116/410 1210/118/711 1188/117/711 +f 1188/117/711 1187/115/410 1211/116/410 +f 1210/118/413 1223/120/413 1217/119/413 +f 1217/119/413 1188/117/413 1210/118/413 +f 1223/120/1 1225/122/1 1218/121/1 +f 1218/121/1 1217/119/1 1223/120/1 +f 1225/123/414 1226/126/415 1189/125/415 +f 1189/125/415 1218/124/414 1225/123/414 +f 1226/126/712 1224/123/417 1190/124/417 +f 1190/124/417 1189/125/416 1226/126/712 +f 1220/104/195 1227/128/195 1225/127/195 +f 1225/127/195 1223/105/195 1220/104/195 +f 1227/129/8 1220/112/8 1219/111/8 +f 1219/111/8 1228/130/8 1227/129/8 +f 1198/93/1 1197/94/1 1229/132/1 +f 1229/132/1 1230/131/1 1198/93/1 +f 1229/128/195 1197/104/195 1211/105/195 +f 1211/105/195 1224/127/195 1229/128/195 +f 1193/90/1 1192/91/1 1231/88/1 +f 1231/88/1 1232/89/1 1193/90/1 +f 1229/133/418 1224/123/419 1209/135/419 +f 1209/135/419 1208/134/418 1229/133/418 +f 1224/123/417 1226/126/712 1216/136/416 +f 1216/136/416 1209/135/417 1224/123/417 +f 1226/126/415 1225/123/414 1214/135/414 +f 1214/135/414 1216/136/415 1226/126/415 +f 1225/123/420 1227/133/420 1212/134/420 +f 1212/134/420 1214/135/420 1225/123/420 +f 1201/91/8 1200/90/8 1233/89/8 +f 1233/89/8 1234/88/8 1201/91/8 +f 1205/98/406 1204/99/421 1215/138/421 +f 1215/138/421 1213/137/406 1205/98/406 +f 1204/99/422 1222/98/408 1207/137/408 +f 1207/137/408 1215/138/422 1204/99/422 +f 1230/139/404 1229/133/404 1192/141/404 +f 1192/141/404 1191/140/404 1230/139/404 +f 1229/133/404 1208/134/404 1231/142/404 +f 1231/142/404 1192/141/404 1229/133/404 +f 1208/102/195 1207/100/195 1232/144/195 +f 1232/144/195 1231/143/195 1208/102/195 +f 1207/137/403 1222/98/403 1193/146/403 +f 1193/146/403 1232/145/403 1207/137/403 +f 1222/98/403 1221/97/403 1194/147/403 +f 1194/147/403 1193/146/403 1222/98/403 +f 1206/97/403 1205/98/403 1200/146/403 +f 1200/146/403 1199/147/403 1206/97/403 +f 1205/98/403 1213/137/403 1233/145/403 +f 1233/145/403 1200/146/403 1205/98/403 +f 1213/100/195 1212/102/195 1234/143/195 +f 1234/143/195 1233/144/195 1213/100/195 +f 1212/134/404 1227/133/404 1201/141/404 +f 1201/141/404 1234/142/404 1212/134/404 +f 1227/133/404 1228/139/404 1202/140/404 +f 1202/140/404 1201/141/404 1227/133/404 +f 1235/311/669 1236/312/669 1237/313/671 +f 1237/313/671 1238/314/670 1235/311/669 +f 1239/315/713 1235/316/714 1238/317/714 +f 1238/317/714 1240/318/714 1239/315/713 +f 1241/312/673 1239/311/673 1240/314/673 +f 1240/314/673 1242/313/673 1241/312/673 +f 1241/315/715 1242/318/390 1237/317/716 +f 1237/317/716 1236/316/717 1241/315/715 +f 1243/319/675 1238/314/670 1237/313/671 +f 1237/313/671 1244/320/675 1243/319/675 +f 1240/318/718 1238/317/718 1243/321/719 +f 1243/321/720 1245/322/720 1240/318/720 +f 1246/320/678 1242/313/678 1240/314/678 +f 1240/314/678 1245/319/678 1246/320/678 +f 1244/321/721 1237/317/716 1242/318/390 +f 1242/318/390 1246/322/722 1244/321/721 +f 1247/311/515 1248/314/517 1249/313/516 +f 1249/313/516 1250/312/515 1247/311/515 +f 1251/315/714 1252/318/714 1248/317/714 +f 1248/317/714 1247/316/714 1251/315/714 +f 1253/312/723 1254/313/520 1252/314/520 +f 1252/314/520 1251/311/723 1253/312/723 +f 1253/315/717 1250/316/717 1249/317/716 +f 1249/317/716 1254/318/390 1253/315/717 +f 1255/319/524 1256/320/524 1249/313/516 +f 1249/313/516 1248/314/517 1255/319/524 +f 1252/318/724 1257/322/724 1255/321/724 +f 1255/321/719 1248/317/718 1252/318/718 +f 1258/320/529 1257/319/529 1252/314/529 +f 1252/314/529 1254/313/529 1258/320/529 +f 1256/321/725 1258/322/726 1254/318/390 +f 1254/318/390 1249/317/716 1256/321/725 +f 1259/148/195 1260/151/195 1261/150/195 +f 1261/150/195 1262/149/195 1259/148/195 +f 1263/458/727 1259/461/727 1262/460/727 +f 1262/460/727 1264/459/727 1263/458/727 +f 1264/462/728 1262/465/729 1261/464/729 +f 1261/464/729 1265/463/728 1264/462/728 +f 1265/459/730 1261/460/730 1260/461/730 +f 1260/461/730 1266/458/730 1265/459/730 +f 1266/463/731 1260/464/731 1259/465/731 +f 1259/465/731 1263/462/731 1266/463/731 +f 1267/534/404 1268/535/404 1269/536/404 +f 1269/536/404 1270/537/404 1267/534/404 +f 1271/538/195 1272/539/195 1269/536/195 +f 1269/536/195 1268/535/195 1271/538/195 +f 1273/534/404 1274/535/404 1275/536/404 +f 1275/536/404 1276/537/404 1273/534/404 +f 1277/538/195 1278/539/195 1275/536/195 +f 1275/536/195 1274/535/195 1277/538/195 +f 1279/534/404 1280/535/404 1281/536/404 +f 1281/536/404 1282/537/404 1279/534/404 +f 1283/538/195 1284/539/195 1281/536/195 +f 1281/536/195 1280/535/195 1283/538/195 +f 1285/291/500 1286/292/501 1287/293/501 +f 1287/293/501 1288/294/500 1285/291/500 +f 1289/293/502 1290/292/502 1291/291/503 +f 1291/291/503 1292/294/503 1289/293/502 +f 1288/295/8 1287/296/8 1289/297/8 +f 1289/297/8 1292/298/8 1288/295/8 +f 1293/299/504 1286/296/732 1290/297/506 +f 1290/297/506 1294/300/1 1293/299/504 +f 1293/301/501 1295/302/501 1287/293/501 +f 1287/293/501 1286/292/501 1293/301/501 +f 1296/302/507 1294/301/507 1290/292/502 +f 1290/292/502 1289/293/502 1296/302/507 +f 1295/299/8 1296/300/8 1289/297/8 +f 1289/297/8 1287/296/8 1295/299/8 +f 1285/295/508 1291/298/1 1290/297/506 +f 1290/297/506 1286/296/732 1285/295/508 +f 1297/534/404 1298/535/404 1299/536/404 +f 1299/536/404 1300/537/404 1297/534/404 +f 1301/538/195 1302/539/195 1299/536/195 +f 1299/536/195 1298/535/195 1301/538/195 +f 1303/534/404 1304/535/404 1305/536/404 +f 1305/536/404 1306/537/404 1303/534/404 +f 1307/538/195 1308/539/195 1305/536/195 +f 1305/536/195 1304/535/195 1307/538/195 +f 1309/534/404 1310/535/404 1311/536/404 +f 1311/536/404 1312/537/404 1309/534/404 +f 1313/538/195 1314/539/195 1311/536/195 +f 1311/536/195 1310/535/195 1313/538/195 +f 1315/534/404 1316/535/404 1317/536/404 +f 1317/536/404 1318/537/404 1315/534/404 +f 1319/538/195 1320/539/195 1317/536/195 +f 1317/536/195 1316/535/195 1319/538/195 +f 1321/534/404 1322/535/404 1323/536/404 +f 1323/536/404 1324/537/404 1321/534/404 +f 1325/538/195 1326/539/195 1323/536/195 +f 1323/536/195 1322/535/195 1325/538/195 +f 1327/540/195 1328/541/195 1329/542/195 +f 1329/542/195 1330/543/195 1327/540/195 +f 1328/544/1 1331/545/1 1332/546/1 +f 1332/546/1 1329/547/1 1328/544/1 +f 1331/541/187 1333/540/187 1334/543/187 +f 1334/543/187 1332/542/187 1331/541/187 +f 1335/498/484 1336/501/478 1337/500/478 +f 1337/500/478 1338/499/484 1335/498/484 +f 1339/502/497 1340/505/497 1336/504/497 +f 1336/504/497 1335/503/497 1339/502/497 +f 1341/499/733 1342/500/733 1340/501/733 +f 1340/501/733 1339/498/733 1341/499/733 +f 1341/502/647 1338/503/647 1337/504/479 +f 1337/504/479 1342/505/734 1341/502/647 +f 1343/506/396 1344/507/396 1337/500/478 +f 1337/500/478 1336/501/478 1343/506/396 +f 1340/505/735 1345/509/736 1343/508/736 +f 1343/508/649 1336/504/649 1340/505/649 +f 1346/507/737 1345/506/737 1340/501/737 +f 1340/501/737 1342/500/737 1346/507/737 +f 1344/508/738 1346/509/739 1342/505/734 +f 1342/505/734 1337/504/479 1344/508/738 +f 1347/150/8 1348/149/8 1349/148/8 +f 1349/148/8 1350/151/8 1347/150/8 +f 1351/154/653 1352/161/654 1353/160/654 +f 1353/160/654 1354/153/653 1351/154/653 +f 1354/510/195 1353/513/195 1355/512/195 +f 1355/512/195 1356/511/195 1354/510/195 +f 1356/153/655 1355/160/418 1357/161/418 +f 1357/161/418 1358/154/655 1356/153/655 +f 1348/155/656 1351/154/653 1354/153/653 +f 1354/153/653 1349/152/656 1348/155/656 +f 1349/514/195 1354/510/195 1356/511/195 +f 1356/511/195 1350/515/195 1349/514/195 +f 1350/152/657 1356/153/655 1358/154/655 +f 1358/154/655 1347/155/657 1350/152/657 +f 1359/548/740 1360/549/741 1361/550/742 +f 1361/550/742 1362/551/743 1359/548/740 +f 1363/552/744 1359/548/740 1362/551/743 +f 1362/551/743 1364/553/745 1363/552/744 +f 1365/554/746 1363/552/744 1364/553/745 +f 1364/553/745 1366/555/747 1365/554/746 +f 1367/556/748 1365/554/746 1366/555/747 +f 1366/555/747 1368/557/511 1367/556/748 +f 1369/558/749 1370/559/750 1360/549/741 +f 1360/549/741 1359/548/740 1369/558/749 +f 1371/560/751 1369/558/749 1359/548/740 +f 1359/548/740 1363/552/744 1371/560/751 +f 1372/561/752 1371/560/751 1363/552/744 +f 1363/552/744 1365/554/746 1372/561/752 +f 1373/562/753 1372/561/752 1365/554/746 +f 1365/554/746 1367/556/748 1373/562/753 +f 1374/563/754 1375/564/755 1370/559/750 +f 1370/559/750 1369/558/749 1374/563/754 +f 1376/565/756 1374/563/754 1369/558/749 +f 1369/558/749 1371/560/751 1376/565/756 +f 1377/566/757 1376/565/756 1371/560/751 +f 1371/560/751 1372/561/752 1377/566/757 +f 1378/567/758 1377/566/757 1372/561/752 +f 1372/561/752 1373/562/753 1378/567/758 +f 1379/568/759 1380/569/760 1375/564/755 +f 1375/564/755 1374/563/754 1379/568/759 +f 1381/570/761 1379/568/759 1374/563/754 +f 1374/563/754 1376/565/756 1381/570/761 +f 1382/571/762 1381/570/761 1376/565/756 +f 1376/565/756 1377/566/757 1382/571/762 +f 1383/572/763 1382/571/762 1377/566/757 +f 1377/566/757 1378/567/758 1383/572/763 +# 1829 faces + diff --git a/examples/web/models/resources/models/house_diffuse.png b/examples/web/models/resources/models/house_diffuse.png new file mode 100644 index 0000000..9ab726e Binary files /dev/null and b/examples/web/models/resources/models/house_diffuse.png differ diff --git a/examples/web/models/resources/models/market.obj b/examples/web/models/resources/models/market.obj new file mode 100644 index 0000000..14b56c9 --- /dev/null +++ b/examples/web/models/resources/models/market.obj @@ -0,0 +1,7301 @@ +# (c) 2018 Medieval Assets Pack by Alberto Cano +# Licensed as Creative Commons Attribution-NonCommercial 4.0 + +# +# object market +# + +v 3.5020 2.5780 0.6000 +v 3.5857 2.3300 -0.3566 +v 0.9034 2.4385 -0.3059 +v 0.7972 2.5666 0.3634 +v 7.0514 2.3106 -0.0534 +v 6.9677 2.5586 0.9032 +v 10.0279 2.4607 0.6293 +v 9.9809 2.5751 1.1668 +v 3.4183 2.7080 1.5566 +v 0.6157 2.7701 1.3114 +v 6.8840 2.6886 1.8598 +v 9.8972 2.7851 2.1234 +v 3.3346 3.0185 2.5132 +v 0.4535 3.1325 2.2611 +v 6.8004 2.9991 2.8164 +v 9.8135 3.1163 3.0800 +v 3.2509 3.4794 3.4697 +v 0.2754 3.5551 3.2094 +v 6.7167 3.4600 3.7729 +v 9.7298 3.4639 4.0366 +v 10.0455 2.8240 2.2646 +v 10.2142 2.4497 0.4830 +v 9.9850 2.4497 0.4630 +v 9.8767 2.8240 2.2499 +v 10.0391 2.6661 2.3384 +v 10.2064 2.2594 0.5720 +v 9.8703 2.6661 2.3236 +v 9.9773 2.2594 0.5519 +v 9.6576 3.4698 3.8991 +v 9.9399 3.4698 3.9238 +v 9.9304 3.2353 4.0334 +v 9.6480 3.2353 4.0087 +v 10.2259 2.6757 0.6552 +v 10.2479 2.6757 0.4044 +v 9.9655 2.6757 0.3797 +v 9.9436 2.6757 0.6305 +v 10.1948 1.3380 0.5581 +v 10.2479 0.0002 0.4044 +v 9.9655 0.0002 0.3797 +v 10.0260 1.3380 0.5433 +v 10.1801 1.3380 0.7269 +v 10.2259 0.0002 0.6552 +v 10.0113 1.3380 0.7121 +v 9.9436 0.0002 0.6305 +v -2.5487 5.3313 -3.7528 +v -6.4595 7.4224 -4.0554 +v -6.4595 7.8989 -0.3361 +v -2.5487 5.4078 -0.1848 +v -6.4595 7.8989 -7.7747 +v -10.3703 5.1783 -7.3209 +v -10.3703 5.1783 -3.7528 +v -2.5487 5.0684 -0.1976 +v -2.5487 4.9919 -3.7784 +v -6.4595 8.5550 -11.4939 +v -6.4595 8.8943 -11.4939 +v -2.5487 5.1783 -10.8889 +v -2.5487 4.8389 -10.9401 +v -10.3703 5.1783 -10.8889 +v -10.3703 4.8389 -10.8889 +v -10.3703 4.8389 -7.3209 +v -10.3703 4.8389 -3.7528 +v -6.4595 8.5550 3.3832 +v -6.4595 8.8943 3.3832 +v -10.3703 5.1783 3.3832 +v -10.3703 4.8389 3.3832 +v -2.5487 5.4843 3.3832 +v -2.5487 5.1449 3.3832 +v -6.4595 7.5595 -0.3361 +v -6.4595 7.0830 -4.0554 +v -10.3703 4.8389 -0.1848 +v -2.5487 5.2548 -7.3209 +v -10.3703 5.1783 -0.1848 +v -2.5487 4.9154 -7.3592 +v -6.4595 7.5595 -7.7747 +v -6.8581 7.8263 -12.4808 +v -6.8581 8.6234 -12.4808 +v -6.0610 8.6234 -12.4808 +v -6.0610 7.8263 -12.4808 +v -6.1229 7.4442 -11.5026 +v -6.1229 8.1175 -11.5026 +v -6.1553 7.9193 -10.5120 +v -6.1553 7.3108 -10.5120 +v -6.7962 7.4442 -11.5026 +v -6.7638 7.3108 -10.5120 +v -6.7638 7.9193 -10.5120 +v -6.7962 8.1175 -11.5026 +v -6.4595 0.0002 -10.1354 +v -6.4595 8.2940 -10.6813 +v -2.8857 5.2975 -10.1354 +v -2.8857 0.0002 -10.1354 +v -10.0333 5.2975 2.7784 +v -10.0333 5.2975 -10.1354 +v -10.0333 0.0002 -10.1354 +v -10.0333 0.0002 2.7784 +v -2.8857 5.2975 2.7784 +v -2.8857 0.0002 2.7784 +v -6.4595 0.0002 2.7784 +v -6.4595 8.2940 2.7784 +v -6.8605 5.0137 -10.5121 +v -6.4595 5.3049 -10.5121 +v -6.4595 4.0799 -10.4446 +v -6.8605 4.1037 -10.4446 +v -7.1742 4.1256 -10.4781 +v -7.1742 3.9945 -10.4781 +v -7.1742 3.9945 -10.3860 +v -7.1742 4.1256 -10.3860 +v -6.4595 5.5197 -10.5456 +v -7.0706 5.0963 -10.5456 +v -7.0706 5.0963 -10.4535 +v -6.4595 5.5197 -10.4535 +v -5.7449 3.9945 -10.4781 +v -5.7449 4.1256 -10.4781 +v -5.7449 4.1256 -10.3860 +v -5.7449 3.9945 -10.3860 +v -6.4595 3.9489 -10.4781 +v -5.8484 3.9945 -10.4781 +v -5.8484 3.9945 -10.3860 +v -6.4595 3.9489 -10.3860 +v -7.0706 4.1256 -10.5790 +v -6.8605 4.1037 -10.5790 +v -7.0706 3.9945 -10.5790 +v -6.4595 5.3049 -10.5456 +v -6.8605 5.0137 -10.5456 +v -5.8484 3.9945 -10.5790 +v -6.0585 4.1122 -10.5790 +v -5.8484 4.1256 -10.5790 +v -6.4595 3.9489 -10.5790 +v -6.4595 4.0799 -10.5790 +v -6.0585 5.0137 -10.5121 +v -6.0585 4.1122 -10.4446 +v -5.8484 5.0963 -10.5456 +v -5.8484 5.0963 -10.4535 +v -7.0706 3.9945 -10.4781 +v -7.0706 3.9945 -10.3860 +v -6.0585 5.0137 -10.5456 +v -6.8605 4.1037 -10.4781 +v -6.0585 4.1122 -10.4781 +v -6.4595 4.0799 -10.4781 +v -5.8484 4.1256 -10.4781 +v -5.8484 4.1256 -10.3860 +v -7.0706 4.1256 -10.4781 +v -7.0706 4.1256 -10.3860 +v -7.1742 4.1256 -10.5790 +v -7.1742 3.9945 -10.5790 +v -5.7449 3.9945 -10.5790 +v -5.7449 4.1256 -10.5790 +v -4.8366 2.9155 -11.3065 +v -4.8366 2.9155 -9.8475 +v -5.1698 0.0002 -9.8475 +v -5.1698 0.0002 -11.3065 +v -7.8178 2.9295 -10.3475 +v -5.1012 2.9295 -10.3475 +v -5.3801 0.0002 -10.3475 +v -7.5389 0.0002 -10.3475 +v -8.0825 2.9295 -9.8475 +v -8.0825 2.9154 -11.3065 +v -7.7492 0.0002 -11.3065 +v -7.7492 0.0002 -9.8475 +v -7.8178 2.9155 -11.3065 +v -7.5389 0.0002 -11.3065 +v -5.3801 0.0002 -11.3065 +v -5.1012 2.9155 -11.3065 +v -4.9724 1.3976 -11.3539 +v -4.9724 1.3976 -11.0656 +v -5.1101 0.0002 -11.1185 +v -5.1101 0.0002 -11.5366 +v -5.2488 1.3976 -11.3539 +v -5.4726 0.0002 -11.5366 +v -5.4726 0.0002 -11.1185 +v -5.2488 1.3976 -11.0656 +v -4.8038 2.9493 -11.1125 +v -4.8038 2.9493 -11.5426 +v -5.1768 2.9493 -11.5426 +v -5.1768 2.9493 -11.1125 +v -4.9146 0.0002 -10.3720 +v -4.7725 1.3976 -10.2190 +v -5.0597 1.3976 -10.1939 +v -5.3311 0.0002 -10.3356 +v -4.7966 1.3976 -10.4942 +v -4.9462 0.0002 -10.7332 +v -5.0838 1.3976 -10.4691 +v -5.3627 0.0002 -10.6968 +v -4.5534 2.8021 -10.2285 +v -4.9819 2.9493 -10.1910 +v -4.5859 2.8021 -10.6000 +v -5.0144 2.9493 -10.5625 +v -7.9466 1.3976 -11.3539 +v -7.8090 0.0002 -11.5366 +v -7.8090 0.0002 -11.1185 +v -7.9466 1.3976 -11.0656 +v -7.6703 1.3976 -11.3539 +v -7.4464 0.0002 -11.5366 +v -7.6703 1.3976 -11.0656 +v -7.4464 0.0002 -11.1185 +v -8.1152 2.9493 -11.1125 +v -8.1152 2.9493 -11.5426 +v -7.7423 2.9493 -11.5426 +v -7.7423 2.9493 -11.1125 +v -7.8593 1.3976 -10.1939 +v -8.1465 1.3976 -10.2190 +v -8.0045 0.0002 -10.3720 +v -7.5880 0.0002 -10.3356 +v -8.1224 1.3976 -10.4942 +v -7.9729 0.0002 -10.7332 +v -7.8353 1.3976 -10.4691 +v -7.5564 0.0002 -10.6968 +v -7.9372 2.9493 -10.1910 +v -8.3656 2.8021 -10.2285 +v -8.3331 2.8021 -10.6000 +v -7.9047 2.9493 -10.5625 +v -6.4595 2.8457 -10.1867 +v -6.4595 3.2124 -11.6295 +v -4.5275 2.6373 -11.6295 +v -4.5275 2.6373 -10.1867 +v -6.4595 3.4690 -11.6295 +v -6.4595 3.4690 -10.1867 +v -4.5275 2.8939 -10.1867 +v -4.5275 2.8939 -11.6295 +v -8.3915 2.8939 -10.1867 +v -8.3915 2.8939 -11.6295 +v -8.3915 2.6373 -11.6295 +v -8.3915 2.6373 -10.1867 +v -10.1121 2.4684 -10.3295 +v -10.3137 0.0002 -10.5615 +v -10.3137 0.0002 -9.7906 +v -10.1121 2.4684 -9.8940 +v -10.3137 4.9367 -9.7906 +v -10.3137 4.9367 -10.5615 +v -9.6716 2.4684 -10.3295 +v -9.5338 0.0002 -10.5615 +v -9.5338 5.4628 -10.5615 +v -9.6716 2.4684 -9.8940 +v -9.5338 0.0002 -9.7906 +v -9.5338 5.4628 -9.7906 +v -11.8271 0.0002 -7.0338 +v -10.6584 1.3390 -7.2308 +v -10.6584 1.3390 -6.7139 +v -11.8271 0.0002 -6.5169 +v -11.1508 1.6838 -7.2308 +v -12.4282 0.0002 -7.0338 +v -11.1508 1.6838 -6.7139 +v -12.4282 0.0002 -6.5169 +v -10.0210 2.4484 -7.0338 +v -10.0210 2.4484 -6.5169 +v -9.9166 3.3186 -7.0338 +v -9.9166 3.3186 -6.5169 +v -10.6584 1.3390 -0.3375 +v -10.6584 1.3390 0.1794 +v -11.8271 0.0002 -0.0176 +v -11.8271 0.0002 -0.5345 +v -11.1508 1.6838 0.1794 +v -12.4282 0.0002 -0.0176 +v -11.1508 1.6838 -0.3375 +v -12.4282 0.0002 -0.5345 +v -10.0210 2.4484 -0.5345 +v -10.0210 2.4484 -0.0176 +v -9.9166 3.3186 -0.0176 +v -9.9166 3.3186 -0.5345 +v -10.1121 2.4684 2.8671 +v -10.1121 2.4684 2.4316 +v -10.3137 0.0002 2.3281 +v -10.3137 0.0002 3.0991 +v -10.3137 4.9367 3.0991 +v -10.3137 4.9367 2.3281 +v -9.5338 0.0002 3.0991 +v -9.6716 2.4684 2.8671 +v -9.5338 5.4628 3.0991 +v -9.5338 0.0002 2.3281 +v -9.6716 2.4684 2.4316 +v -9.5338 5.4628 2.3281 +v -2.8142 2.4684 -10.1938 +v -2.8142 2.4684 -9.7583 +v -2.6125 0.0002 -9.6549 +v -2.6125 0.0002 -10.4258 +v -2.6125 4.9367 -10.4258 +v -2.6125 4.9367 -9.6549 +v -3.3925 0.0002 -10.4258 +v -3.2547 2.4684 -10.1938 +v -3.3925 5.4628 -10.4258 +v -3.3925 0.0002 -9.6549 +v -3.2547 2.4684 -9.7583 +v -3.3925 5.4628 -9.6549 +v -7.0328 8.4497 -10.4019 +v -7.0328 8.6617 -11.4049 +v -7.0328 8.4889 -11.4414 +v -7.0328 8.2769 -10.4384 +v -6.5612 8.6330 -10.3631 +v -6.5612 8.8059 -10.3266 +v -6.5612 9.0178 -11.3296 +v -6.5612 8.8450 -11.3661 +v -6.4595 8.6447 -10.3607 +v -6.4595 8.8175 -10.3241 +v -6.4595 9.0295 -11.3272 +v -6.4595 8.8567 -11.3637 +v -5.8863 8.4497 -10.4019 +v -5.8863 8.2769 -10.4384 +v -5.8863 8.4889 -11.4414 +v -5.8863 8.6617 -11.4049 +v -6.3578 8.6330 -10.3631 +v -6.3578 8.8059 -10.3266 +v -6.3578 9.0178 -11.3296 +v -6.3578 8.8450 -11.3661 +v -7.0328 8.3601 -10.5036 +v -7.0328 8.1873 -10.5401 +v -7.0328 7.9753 -9.5371 +v -7.0328 8.1481 -9.5005 +v -6.5612 8.5043 -9.4253 +v -6.5613 8.7162 -10.4283 +v -6.5612 8.3315 -9.4618 +v -6.4595 8.5159 -9.4228 +v -6.4595 8.7279 -10.4258 +v -6.4595 8.3431 -9.4594 +v -5.8863 8.3601 -10.5036 +v -5.8863 8.1481 -9.5005 +v -5.8863 7.9753 -9.5371 +v -5.8863 8.1873 -10.5401 +v -6.3578 8.7162 -10.4283 +v -6.3578 8.5043 -9.4253 +v -6.3578 8.3315 -9.4618 +v -7.0328 8.1098 -9.7108 +v -7.0328 7.9358 -9.7412 +v -7.0328 7.7594 -8.7313 +v -7.0328 7.9334 -8.7009 +v -6.5612 8.2919 -8.6383 +v -6.5612 8.4684 -9.6482 +v -6.5612 8.1179 -8.6687 +v -6.4595 8.3037 -8.6362 +v -6.4595 8.4801 -9.6461 +v -6.4595 8.1297 -8.6666 +v -5.8863 8.1098 -9.7108 +v -5.8863 7.9334 -8.7009 +v -5.8863 7.7594 -8.7313 +v -5.8863 7.9358 -9.7412 +v -6.3578 8.4684 -9.6482 +v -6.3578 8.2919 -8.6383 +v -6.3578 8.1179 -8.6687 +v -7.0328 7.8694 -8.8215 +v -7.0328 7.6941 -8.8428 +v -7.0328 7.5703 -7.8251 +v -7.0328 7.7457 -7.8038 +v -6.5613 8.1070 -7.7599 +v -6.5612 8.2307 -8.7775 +v -6.5613 7.9316 -7.7812 +v -6.4595 8.1188 -7.7584 +v -6.4595 8.2425 -8.7761 +v -6.4595 7.9434 -7.7798 +v -5.8863 7.8694 -8.8215 +v -5.8863 7.7457 -7.8038 +v -5.8863 7.5703 -7.8251 +v -5.8863 7.6941 -8.8428 +v -6.3578 8.2307 -8.7775 +v -6.3578 8.1070 -7.7599 +v -6.3578 7.9316 -7.7812 +v -7.0328 7.6652 -7.9060 +v -7.0328 7.4898 -7.9273 +v -7.0328 7.3661 -6.9097 +v -7.0328 7.5414 -6.8883 +v -6.5612 7.9027 -6.8444 +v -6.5613 8.0265 -7.8621 +v -6.5612 7.7274 -6.8657 +v -6.4595 7.9145 -6.8430 +v -6.4595 8.0383 -7.8606 +v -6.4595 7.7392 -6.8643 +v -5.8863 7.6652 -7.9060 +v -5.8863 7.5414 -6.8883 +v -5.8863 7.3661 -6.9097 +v -5.8863 7.4898 -7.9273 +v -6.3578 8.0265 -7.8621 +v -6.3578 7.9027 -6.8444 +v -6.3578 7.7274 -6.8657 +v -7.0328 7.4996 -6.9305 +v -7.0328 7.3243 -6.9519 +v -7.0328 7.2005 -5.9342 +v -7.0328 7.3759 -5.9129 +v -6.5612 7.7372 -5.8689 +v -6.5613 7.8610 -6.8866 +v -6.5612 7.5619 -5.8902 +v -6.4595 7.7490 -5.8675 +v -6.4595 7.8728 -6.8852 +v -6.4595 7.5737 -5.8888 +v -5.8863 7.4996 -6.9305 +v -5.8863 7.3759 -5.9129 +v -5.8863 7.2005 -5.9342 +v -5.8863 7.3243 -6.9519 +v -6.3578 7.8610 -6.8866 +v -6.3578 7.7372 -5.8689 +v -6.3578 7.5619 -5.8902 +v -7.0328 7.3800 -6.2166 +v -7.0328 7.2037 -6.2260 +v -7.0328 7.1488 -5.2023 +v -7.0328 7.3252 -5.1929 +v -6.5612 7.6887 -5.1734 +v -6.5612 7.7435 -6.1971 +v -6.5612 7.5123 -5.1828 +v -6.4595 7.7006 -5.1728 +v -6.4595 7.7554 -6.1965 +v -6.4595 7.5242 -5.1822 +v -5.8863 7.3800 -6.2166 +v -5.8863 7.3252 -5.1929 +v -5.8863 7.1488 -5.2023 +v -5.8863 7.2037 -6.2260 +v -6.3578 7.7435 -6.1971 +v -6.3578 7.6887 -5.1734 +v -6.3578 7.5123 -5.1828 +v -7.0328 8.0466 0.2463 +v -7.0328 7.8713 0.2676 +v -7.0328 7.9950 1.2853 +v -7.0328 8.1704 1.2639 +v -6.5612 8.4080 0.2023 +v -6.5612 8.2326 0.2237 +v -6.5612 8.5317 1.2200 +v -6.5612 8.3564 1.2413 +v -6.4595 8.4198 0.2009 +v -6.4595 8.2444 0.2222 +v -6.4595 8.5435 1.2186 +v -6.4595 8.3682 1.2399 +v -5.8863 8.0466 0.2463 +v -5.8863 8.1704 1.2639 +v -5.8863 7.9950 1.2853 +v -5.8863 7.8713 0.2676 +v -6.3578 8.2326 0.2237 +v -6.3578 8.4080 0.2023 +v -6.3578 8.5317 1.2200 +v -6.3578 8.3564 1.2413 +v -7.0328 7.9614 0.3570 +v -7.0328 7.9268 -0.6676 +v -7.0328 7.7502 -0.6617 +v -7.0328 7.7848 0.3629 +v -6.5612 8.3251 0.3447 +v -6.5612 8.2906 -0.6799 +v -6.5612 8.1140 -0.6740 +v -6.4595 8.3370 0.3443 +v -6.4595 8.3025 -0.6803 +v -6.4595 8.1259 -0.6744 +v -5.8863 7.9614 0.3570 +v -5.8863 7.7848 0.3629 +v -5.8863 7.7502 -0.6617 +v -5.8863 7.9268 -0.6676 +v -6.3578 8.3251 0.3447 +v -6.3578 8.2906 -0.6799 +v -6.3578 8.1140 -0.6740 +v -7.0328 7.8315 -0.6424 +v -7.0328 7.7437 -1.6638 +v -7.0328 7.5677 -1.6487 +v -7.0328 7.6555 -0.6273 +v -6.5612 8.1941 -0.6736 +v -6.5612 8.1064 -1.6950 +v -6.5612 7.9304 -1.6799 +v -6.4595 8.2060 -0.6746 +v -6.4595 8.1182 -1.6960 +v -6.4595 7.9422 -1.6809 +v -5.8863 7.8315 -0.6424 +v -5.8863 7.6555 -0.6273 +v -5.8863 7.5677 -1.6487 +v -5.8863 7.7437 -1.6638 +v -6.3578 8.1941 -0.6736 +v -6.3578 8.1064 -1.6950 +v -6.3578 7.9304 -1.6799 +v -7.0328 7.6668 -1.5253 +v -7.0328 7.5431 -2.5430 +v -7.0328 7.3677 -2.5216 +v -7.0328 7.4915 -1.5040 +v -6.5612 8.0282 -1.5692 +v -6.5612 7.9044 -2.5869 +v -6.5612 7.7291 -2.5656 +v -6.4595 8.0400 -1.5707 +v -6.4595 7.9162 -2.5883 +v -6.4595 7.7409 -2.5670 +v -5.8863 7.6668 -1.5253 +v -5.8863 7.4915 -1.5040 +v -5.8863 7.3677 -2.5216 +v -5.8863 7.5431 -2.5430 +v -6.3578 8.0282 -1.5692 +v -6.3578 7.9044 -2.5869 +v -6.3578 7.7291 -2.5656 +v -7.0328 7.4696 -2.4408 +v -7.0328 7.3458 -3.4585 +v -7.0328 7.1705 -3.4371 +v -7.0328 7.2943 -2.4195 +v -6.5612 7.8309 -2.4847 +v -6.5612 7.7072 -3.5024 +v -6.5613 7.5318 -3.4811 +v -6.4595 7.8427 -2.4862 +v -6.4595 7.7190 -3.5038 +v -6.4595 7.5436 -3.4825 +v -5.8863 7.4696 -2.4408 +v -5.8863 7.2943 -2.4195 +v -5.8863 7.1705 -3.4371 +v -5.8863 7.3459 -3.4585 +v -6.3578 7.8309 -2.4847 +v -6.3578 7.7072 -3.5024 +v -6.3578 7.5318 -3.4811 +v -7.0328 7.2372 -3.4260 +v -7.0328 7.2026 -4.4506 +v -7.0328 7.0261 -4.4446 +v -7.0328 7.0606 -3.4200 +v -6.5612 7.6010 -3.4383 +v -6.5612 7.5664 -4.4629 +v -6.5612 7.3898 -4.4569 +v -6.4595 7.6129 -3.4387 +v -6.4595 7.5783 -4.4633 +v -6.4595 7.4017 -4.4573 +v -5.8863 7.2372 -3.4260 +v -5.8863 7.0606 -3.4200 +v -5.8863 7.0261 -4.4446 +v -5.8863 7.2026 -4.4506 +v -6.3578 7.6010 -3.4383 +v -6.3578 7.5664 -4.4629 +v -6.3578 7.3898 -4.4569 +v -7.0328 7.1416 -4.2258 +v -7.0328 7.2654 -5.2435 +v -7.0328 7.0900 -5.2648 +v -7.0328 6.9662 -4.2471 +v -6.5612 7.5029 -4.1819 +v -6.5612 7.6267 -5.1995 +v -6.5612 7.4513 -5.2209 +v -6.4595 7.5147 -4.1804 +v -6.4595 7.6385 -5.1981 +v -6.4595 7.4631 -5.2194 +v -5.8863 7.1416 -4.2258 +v -5.8863 6.9662 -4.2471 +v -5.8863 7.0900 -5.2648 +v -5.8863 7.2654 -5.2435 +v -6.3578 7.5029 -4.1819 +v -6.3578 7.6267 -5.1995 +v -6.3578 7.4513 -5.2209 +v -7.0328 8.2934 1.2567 +v -7.0328 8.1180 1.2780 +v -7.0328 8.2418 2.2957 +v -7.0328 8.4171 2.2744 +v -6.5612 8.6547 1.2127 +v -6.5612 8.4794 1.2341 +v -6.5612 8.7784 2.2304 +v -6.5612 8.6031 2.2517 +v -6.4595 8.6665 1.2113 +v -6.4595 8.4912 1.2326 +v -6.4595 8.7903 2.2290 +v -6.4595 8.6149 2.2503 +v -5.8863 8.2934 1.2567 +v -5.8863 8.4171 2.2744 +v -5.8863 8.2418 2.2957 +v -5.8863 8.1180 1.2780 +v -6.3578 8.4794 1.2341 +v -6.3578 8.6547 1.2127 +v -6.3578 8.7784 2.2304 +v -6.3578 8.6031 2.2517 +v -7.0328 8.5448 2.0888 +v -7.0328 8.3694 2.1101 +v -7.0328 8.4932 3.1278 +v -7.0328 8.6685 3.1065 +v -6.5612 8.9061 2.0448 +v -6.5612 8.7308 2.0662 +v -6.5612 9.0299 3.0625 +v -6.5612 8.8545 3.0838 +v -6.4595 8.9179 2.0434 +v -6.4595 8.7426 2.0647 +v -6.4595 9.0417 3.0611 +v -6.4595 8.8663 3.0824 +v -5.8863 8.5448 2.0888 +v -5.8863 8.6685 3.1065 +v -5.8863 8.4932 3.1278 +v -5.8863 8.3695 2.1101 +v -6.3578 8.7308 2.0662 +v -6.3578 8.9061 2.0448 +v -6.3578 9.0299 3.0625 +v -6.3578 8.8545 3.0838 +v -10.0333 0.3779 -9.7364 +v -10.1350 0.3779 -9.7364 +v -10.1350 0.3779 2.5266 +v -10.0333 0.3779 2.5266 +v -10.1350 0.0002 -9.7364 +v -10.1350 0.0002 2.5266 +v -7.5634 0.3779 2.7526 +v -9.7086 0.3779 2.7526 +v -9.7086 0.3779 2.8543 +v -7.5634 0.3779 2.8543 +v -9.7086 0.0002 2.8543 +v -7.5634 0.0002 2.8543 +v -10.0175 0.3779 -10.1929 +v -2.9336 0.3779 -10.1929 +v -2.9336 0.3779 -10.2946 +v -10.0175 0.3779 -10.2946 +v -2.9336 0.0002 -10.2946 +v -10.0175 0.0002 -10.2946 +v -2.8857 0.3779 -9.7364 +v -2.8857 0.3779 2.5266 +v -2.7840 0.3779 2.5266 +v -2.7840 0.3779 -9.7364 +v -2.7840 0.0002 2.5266 +v -2.7840 0.0002 -9.7364 +v 0.5342 2.4385 -0.3182 +v 0.8185 2.3300 -2.9858 +v -0.1417 2.5780 -2.9858 +v -0.1417 2.5666 -0.2707 +v 0.8185 2.3106 -6.4648 +v -0.1417 2.5586 -6.4648 +v 0.3978 2.4607 -9.4895 +v -0.1417 2.5751 -9.4895 +v -1.1020 2.7080 -2.9858 +v -1.1020 2.7701 -0.1725 +v -1.1020 2.6886 -6.4648 +v -1.1020 2.7851 -9.4895 +v -2.0622 3.0185 -2.9858 +v -2.0622 3.1325 -0.0938 +v -2.0622 2.9991 -6.4648 +v -2.0622 3.1163 -9.4895 +v -3.0224 3.4794 -2.9858 +v -3.0224 3.5551 0.0010 +v -3.0224 3.4600 -6.4648 +v -3.0224 3.4639 -9.4895 +v -1.2297 2.8239 -9.6496 +v -1.2297 2.8239 -9.4801 +v 0.5598 2.4497 -9.4323 +v 0.5598 2.4497 -9.6623 +v 0.4705 2.2594 -9.6623 +v -1.3037 2.6661 -9.6496 +v -1.3037 2.6661 -9.4801 +v 0.4705 2.2594 -9.4323 +v -2.8918 3.4698 -9.4056 +v -2.8918 3.4698 -9.6890 +v -3.0018 3.2353 -9.6890 +v -3.0018 3.2353 -9.4056 +v 0.3893 2.6757 -9.6890 +v 0.3893 2.6757 -9.4056 +v 0.6411 2.6757 -9.4056 +v 0.6411 2.6757 -9.6890 +v 0.4834 1.3380 -9.6496 +v 0.4834 1.3380 -9.4801 +v 0.6411 0.0002 -9.4056 +v 0.6411 0.0002 -9.6890 +v 0.3893 0.0002 -9.6890 +v 0.3139 1.3380 -9.6496 +v 0.3139 1.3380 -9.4801 +v 0.3893 0.0002 -9.4056 +v 0.2950 7.8989 5.9442 +v 4.0001 7.4224 6.2684 +v 4.0396 5.3313 2.3461 +v 0.4851 5.4078 2.0351 +v 3.3579 5.1783 10.1379 +v 6.9123 5.1783 10.4489 +v 7.7052 7.8989 6.5925 +v 4.0651 4.9919 2.3483 +v 0.4979 5.0684 2.0362 +v 11.1484 5.1783 2.9680 +v 11.4104 8.8943 6.9167 +v 11.4104 8.5550 6.9167 +v 11.1994 4.8389 2.9725 +v 10.4667 5.1783 10.7598 +v 10.4667 4.8389 10.7598 +v 3.3579 4.8389 10.1379 +v 6.9123 4.8389 10.4489 +v -3.7510 5.1783 9.5159 +v -3.4102 8.8943 5.6200 +v -3.4102 8.5550 5.6200 +v -3.7510 4.8389 9.5159 +v -3.0693 5.4843 1.7241 +v -3.0693 5.1449 1.7241 +v 4.0001 7.0830 6.2684 +v 0.2950 7.5595 5.9442 +v -0.1966 4.8389 9.8269 +v 7.5940 5.2548 2.6571 +v -0.1966 5.1783 9.8269 +v 7.6322 4.9154 2.6604 +v 7.7052 7.5595 6.5925 +v 12.3587 7.8263 7.3997 +v 12.4282 7.8263 6.6057 +v 12.4282 8.6234 6.6057 +v 12.3587 8.6234 7.3997 +v 11.4483 7.4442 6.5821 +v 10.4587 7.3108 6.5280 +v 10.4587 7.9194 6.5280 +v 11.4483 8.1175 6.5821 +v 11.3896 7.4442 7.2528 +v 10.4056 7.3108 7.1342 +v 11.3896 8.1175 7.2528 +v 10.4056 7.9194 7.1342 +v 10.3684 5.2975 3.2381 +v 10.6008 8.2940 6.8458 +v 10.0570 0.0002 6.7983 +v 10.3684 0.0002 3.2381 +v -3.1191 5.2975 9.2330 +v -3.1191 0.0002 9.2330 +v 9.7455 0.0002 10.3585 +v 9.7455 5.2975 10.3585 +v -2.4962 0.0002 2.1125 +v -2.4962 5.2975 2.1125 +v -2.8077 0.0002 5.6727 +v -2.8077 8.2940 5.6728 +v 10.3650 4.0799 6.8252 +v 10.4322 5.3049 6.8311 +v 10.3973 5.0138 7.2306 +v 10.3300 4.1037 7.2247 +v 10.3361 4.1256 7.5401 +v 10.2444 4.1256 7.5321 +v 10.2444 3.9945 7.5321 +v 10.3361 3.9945 7.5401 +v 10.4656 5.5197 6.8340 +v 10.3739 5.5197 6.8260 +v 10.3206 5.0963 7.4347 +v 10.4124 5.0963 7.4428 +v 10.4606 3.9945 6.1162 +v 10.3689 3.9945 6.1082 +v 10.3689 4.1256 6.1082 +v 10.4606 4.1256 6.1162 +v 10.3984 3.9489 6.8281 +v 10.3066 3.9489 6.8201 +v 10.3599 3.9945 6.2113 +v 10.4516 3.9945 6.2194 +v 10.4640 4.1037 7.2364 +v 10.4457 4.1256 7.4457 +v 10.4457 3.9945 7.4457 +v 10.4656 5.3049 6.8340 +v 10.4307 5.0138 7.2335 +v 10.5339 4.1122 6.4374 +v 10.5522 3.9945 6.2282 +v 10.5522 4.1256 6.2282 +v 10.4989 4.0799 6.8369 +v 10.4989 3.9489 6.8369 +v 10.3999 4.1122 6.4257 +v 10.4672 5.0138 6.4316 +v 10.5189 5.0963 6.2253 +v 10.4272 5.0963 6.2172 +v 10.3451 3.9945 7.4369 +v 10.2534 3.9945 7.4289 +v 10.5006 5.0138 6.4345 +v 10.3634 4.1037 7.2276 +v 10.4333 4.1122 6.4286 +v 10.3984 4.0799 6.8281 +v 10.4516 4.1256 6.2194 +v 10.3599 4.1256 6.2113 +v 10.3451 4.1256 7.4369 +v 10.2534 4.1256 7.4289 +v 10.4367 4.1256 7.5489 +v 10.4367 3.9945 7.5489 +v 10.5612 3.9945 6.1250 +v 10.5612 4.1256 6.1250 +v 11.3651 2.9155 5.2836 +v 11.3361 0.0002 5.6155 +v 9.8826 0.0002 5.4884 +v 9.9117 2.9155 5.1564 +v 10.1499 2.9295 8.1699 +v 10.1742 0.0002 7.8920 +v 10.3624 0.0002 5.7415 +v 10.3867 2.9295 5.4636 +v 9.6288 2.9295 8.3900 +v 9.6578 0.0002 8.0580 +v 11.1113 0.0002 8.1851 +v 11.0822 2.9155 8.5171 +v 11.1053 2.9155 8.2535 +v 11.1296 0.0002 7.9756 +v 11.3420 2.9155 5.5472 +v 11.3177 0.0002 5.8250 +v 11.4004 1.3976 5.4230 +v 11.5704 0.0002 5.5761 +v 11.1539 0.0002 5.5396 +v 11.1133 1.3976 5.3979 +v 11.3763 1.3976 5.6983 +v 11.5388 0.0002 5.9373 +v 11.0892 1.3976 5.6732 +v 11.1223 0.0002 5.9008 +v 11.1747 2.9493 5.2340 +v 11.6031 2.9493 5.2715 +v 11.5706 2.9493 5.6430 +v 11.1421 2.9493 5.6055 +v 10.2372 1.3976 5.4089 +v 10.2873 1.3976 5.1250 +v 10.4274 0.0002 5.2798 +v 10.3548 0.0002 5.6916 +v 10.5594 1.3976 5.1730 +v 10.7844 0.0002 5.3428 +v 10.5093 1.3976 5.4568 +v 10.7118 0.0002 5.7545 +v 10.2411 2.9493 5.3311 +v 10.3158 2.8021 4.9075 +v 10.6831 2.8021 4.9723 +v 10.6084 2.9493 5.3958 +v 11.1412 1.3976 8.3859 +v 10.8540 1.3976 8.3608 +v 10.9187 0.0002 8.2282 +v 11.3352 0.0002 8.2647 +v 11.1653 1.3976 8.1106 +v 11.3668 0.0002 7.9035 +v 10.9503 0.0002 7.8671 +v 10.8781 1.3976 8.0855 +v 10.8860 2.9493 8.5328 +v 11.3145 2.9493 8.5703 +v 11.3470 2.9493 8.1988 +v 10.9185 2.9493 8.1613 +v 10.1581 0.0002 8.3580 +v 9.9932 1.3976 8.4861 +v 9.9932 1.3976 8.1978 +v 10.1581 0.0002 7.9399 +v 10.2695 1.3976 8.4861 +v 10.5206 0.0002 8.3580 +v 10.2695 1.3976 8.1978 +v 10.5206 0.0002 7.9399 +v 9.9836 2.8021 8.7052 +v 9.9836 2.9493 8.2751 +v 10.3565 2.8021 8.7052 +v 10.3565 2.9493 8.2751 +v 11.7138 2.6373 5.0039 +v 11.5454 3.2124 6.9285 +v 10.1081 2.8457 6.8027 +v 10.2765 2.6373 4.8781 +v 11.5454 3.4690 6.9285 +v 11.7138 2.8940 5.0039 +v 10.2765 2.8940 4.8781 +v 10.1081 3.4690 6.8027 +v 9.9397 2.8940 8.7274 +v 9.9397 2.6373 8.7274 +v 11.3770 2.6373 8.8531 +v 11.3770 2.8940 8.8531 +v 9.9320 2.4684 10.4539 +v 9.4982 2.4684 10.4159 +v 9.3776 0.0002 10.6078 +v 10.1455 0.0002 10.6750 +v 10.1455 4.9367 10.6750 +v 9.3776 4.9367 10.6078 +v 10.2135 0.0002 9.8980 +v 9.9704 2.4684 10.0150 +v 10.2135 5.4628 9.8980 +v 9.4455 0.0002 9.8308 +v 9.5366 2.4684 9.9770 +v 9.4455 5.4628 9.8308 +v -3.2143 2.4684 9.3037 +v -3.4630 0.0002 9.4844 +v -2.6950 0.0002 9.5515 +v -2.7805 2.4684 9.3417 +v -2.6950 4.9367 9.5515 +v -3.4630 4.9367 9.4844 +v -3.1759 2.4684 8.8648 +v -3.3950 0.0002 8.7074 +v -3.3950 5.4628 8.7074 +v -2.7421 2.4684 8.9028 +v -2.6270 0.0002 8.7746 +v -2.6270 5.4628 8.7746 +v 10.4329 2.4684 3.1719 +v 10.6816 0.0002 2.9912 +v 9.9136 0.0002 2.9240 +v 9.9991 2.4684 3.1339 +v 9.9136 4.9367 2.9240 +v 10.6816 4.9367 2.9912 +v 10.3945 2.4684 3.6107 +v 10.6136 0.0002 3.7682 +v 10.6136 5.4628 3.7682 +v 9.9607 2.4684 3.5728 +v 9.8456 0.0002 3.7010 +v 9.8456 5.4628 3.7010 +v 10.2725 8.4537 7.3926 +v 10.3089 8.2809 7.3957 +v 11.3081 8.4928 7.4832 +v 11.2717 8.6657 7.4800 +v 10.2386 8.8098 6.9163 +v 10.2750 8.6370 6.9194 +v 11.2378 9.0218 7.0037 +v 11.2742 8.8490 7.0069 +v 10.2450 8.8214 6.8147 +v 10.2814 8.6486 6.8179 +v 11.2442 9.0334 6.9021 +v 11.2806 8.8606 6.9053 +v 10.3724 8.4537 6.2504 +v 11.3716 8.6657 6.3378 +v 11.4080 8.4928 6.3410 +v 10.4088 8.2809 6.2536 +v 10.2927 8.6370 6.7168 +v 10.2563 8.8098 6.7136 +v 11.2555 9.0218 6.8010 +v 11.2919 8.8490 6.8042 +v 10.3738 8.3641 7.4014 +v 9.3746 8.1521 7.3140 +v 9.4110 7.9793 7.3172 +v 10.4102 8.1912 7.4046 +v 10.3399 8.7202 6.9251 +v 9.3407 8.5082 6.8377 +v 9.3771 8.3354 6.8409 +v 10.3463 8.7318 6.8236 +v 9.3471 8.5198 6.7362 +v 9.3835 8.3470 6.7393 +v 10.4737 8.3641 6.2593 +v 10.5101 8.1912 6.2625 +v 9.5109 7.9793 6.1751 +v 9.4745 8.1521 6.1719 +v 10.3576 8.7202 6.7225 +v 9.3584 8.5082 6.6350 +v 9.3948 8.3354 6.6382 +v 9.5841 8.1138 7.3323 +v 8.5780 7.9373 7.2443 +v 8.6083 7.7633 7.2470 +v 9.6143 7.9398 7.3350 +v 9.5627 8.4723 6.8571 +v 8.5567 8.2959 6.7691 +v 8.5870 8.1219 6.7718 +v 9.5696 8.4840 6.7556 +v 8.5635 8.3076 6.6676 +v 8.5938 8.1336 6.6703 +v 9.6840 8.1138 6.1902 +v 9.7143 7.9398 6.1928 +v 8.7082 7.7633 6.1048 +v 8.6779 7.9373 6.1022 +v 9.5805 8.4723 6.6545 +v 8.5744 8.2959 6.5664 +v 8.6047 8.1219 6.5691 +v 8.6981 7.8694 7.2548 +v 7.6843 7.7457 7.1661 +v 7.7055 7.5703 7.1680 +v 8.7194 7.6941 7.2567 +v 8.6954 8.2307 6.7813 +v 7.6816 8.1070 6.6926 +v 7.7029 7.9316 6.6944 +v 8.7029 8.2425 6.6798 +v 7.6891 8.1188 6.5911 +v 7.7103 7.9435 6.5930 +v 8.7980 7.8694 6.1127 +v 8.8193 7.6941 6.1145 +v 7.8055 7.5703 6.0258 +v 7.7842 7.7457 6.0240 +v 8.7132 8.2307 6.5786 +v 7.6994 8.1070 6.4899 +v 7.7206 7.9316 6.4917 +v 7.7861 7.6652 7.1750 +v 6.7723 7.5414 7.0863 +v 6.7936 7.3661 7.0882 +v 7.8074 7.4898 7.1769 +v 7.7834 8.0265 6.7015 +v 6.7696 7.9027 6.6128 +v 6.7909 7.7274 6.6146 +v 7.7909 8.0383 6.6000 +v 6.7771 7.9145 6.5113 +v 6.7983 7.7392 6.5132 +v 7.8860 7.6652 6.0329 +v 7.9073 7.4898 6.0348 +v 6.8935 7.3661 5.9461 +v 6.8722 7.5414 5.9442 +v 7.8012 8.0265 6.4988 +v 6.7874 7.9027 6.4101 +v 6.8086 7.7274 6.4120 +v 6.8144 7.4996 7.0900 +v 5.8006 7.3759 7.0013 +v 5.8218 7.2005 7.0032 +v 6.8356 7.3243 7.0919 +v 6.8117 7.8610 6.6164 +v 5.7979 7.7372 6.5277 +v 5.8191 7.5619 6.5296 +v 6.8191 7.8728 6.5150 +v 5.8053 7.7490 6.4263 +v 5.8266 7.5737 6.4281 +v 6.9143 7.4996 5.9479 +v 6.9355 7.3243 5.9497 +v 5.9217 7.2005 5.8610 +v 5.9005 7.3759 5.8592 +v 6.8294 7.8610 6.4138 +v 5.8156 7.7372 6.3251 +v 5.8369 7.5619 6.3269 +v 6.1031 7.3800 7.0278 +v 5.0833 7.3252 6.9386 +v 5.0927 7.1488 6.9394 +v 6.1125 7.2037 7.0286 +v 6.1248 7.7435 6.5564 +v 5.1050 7.6887 6.4671 +v 5.1144 7.5123 6.4680 +v 6.1330 7.7554 6.4550 +v 5.1132 7.7006 6.3657 +v 5.1226 7.5242 6.3666 +v 6.2030 7.3800 5.8856 +v 6.2124 7.2037 5.8865 +v 5.1926 7.1488 5.7972 +v 5.1832 7.3252 5.7964 +v 6.1425 7.7435 6.3537 +v 5.1227 7.6887 6.2645 +v 5.1321 7.5123 6.2653 +v -0.3351 8.0506 6.4645 +v -1.3489 8.1743 6.3758 +v -1.3702 7.9990 6.3739 +v -0.3564 7.8752 6.4626 +v -0.2715 8.2366 5.9967 +v -0.2503 8.4119 5.9986 +v -1.2641 8.5356 5.9099 +v -1.2853 8.3603 5.9080 +v -0.2612 8.2484 5.8955 +v -0.2400 8.4237 5.8974 +v -1.2538 8.5475 5.8087 +v -1.2750 8.3721 5.8068 +v -0.2352 8.0506 5.3224 +v -0.2564 7.8752 5.3205 +v -1.2703 7.9990 5.2318 +v -1.2490 8.1743 5.2337 +v -0.2538 8.2366 5.7941 +v -0.2325 8.4119 5.7959 +v -1.2463 8.5356 5.7072 +v -1.2676 8.3603 5.7054 +v -0.4454 7.9614 6.4549 +v -0.4513 7.7848 6.4543 +v 0.5694 7.7502 6.5436 +v 0.5753 7.9268 6.5442 +v 0.6286 8.2906 6.0755 +v -0.3921 8.3251 5.9862 +v 0.6227 8.1140 6.0750 +v 0.6379 8.3025 5.9742 +v -0.3828 8.3370 5.8849 +v 0.6320 8.1259 5.9737 +v -0.3455 7.9614 5.3127 +v 0.6752 7.9268 5.4020 +v 0.6693 7.7502 5.4015 +v -0.3514 7.7848 5.3122 +v -0.3743 8.3251 5.7835 +v 0.6464 8.2906 5.8728 +v 0.6404 8.1140 5.8723 +v 0.5502 7.8315 6.5420 +v 0.5351 7.6555 6.5406 +v 1.5526 7.5677 6.6297 +v 1.5677 7.7437 6.6310 +v 1.6398 8.1064 6.1640 +v 0.6223 8.1941 6.0749 +v 1.6248 7.9304 6.1626 +v 1.6497 8.1182 6.0627 +v 0.6322 8.2060 5.9737 +v 1.6346 7.9422 6.0614 +v 0.6501 7.8315 5.3998 +v 1.6676 7.7437 5.4889 +v 1.6525 7.5677 5.4875 +v 0.6350 7.6555 5.3985 +v 0.6400 8.1941 5.8723 +v 1.6576 8.1064 5.9613 +v 1.6425 7.9304 5.9600 +v 1.4297 7.6668 6.6189 +v 1.4084 7.4915 6.6170 +v 2.4223 7.3677 6.7057 +v 2.4435 7.5431 6.7076 +v 2.5284 7.9044 6.2417 +v 1.5146 8.0282 6.1530 +v 2.5071 7.7291 6.2398 +v 2.5387 7.9162 6.1405 +v 1.5249 8.0400 6.0518 +v 2.5174 7.7409 6.1386 +v 1.5296 7.6668 5.4768 +v 2.5434 7.5431 5.5655 +v 2.5222 7.3677 5.5636 +v 1.5084 7.4915 5.4749 +v 1.5323 8.0282 5.9503 +v 2.5461 7.9044 6.0390 +v 2.5249 7.7291 6.0372 +v 2.3417 7.4696 6.6987 +v 2.3204 7.2943 6.6968 +v 3.3342 7.1705 6.7855 +v 3.3555 7.3458 6.7874 +v 3.4404 7.7072 6.3215 +v 2.4266 7.8309 6.2328 +v 3.4191 7.5318 6.3196 +v 3.4507 7.7190 6.2203 +v 2.4369 7.8427 6.1316 +v 3.4294 7.5436 6.2184 +v 2.4416 7.4696 5.5566 +v 3.4554 7.3459 5.6453 +v 3.4342 7.1705 5.6434 +v 2.4204 7.2943 5.5547 +v 2.4443 7.8309 6.0301 +v 3.4581 7.7072 6.1188 +v 3.4368 7.5318 6.1170 +v 3.3231 7.2372 6.7846 +v 3.3172 7.0606 6.7840 +v 4.3379 7.0261 6.8733 +v 4.3438 7.2026 6.8739 +v 4.3972 7.5664 6.4052 +v 3.3765 7.6010 6.3159 +v 4.3912 7.3898 6.4047 +v 4.4064 7.5783 6.3039 +v 3.3857 7.6129 6.2146 +v 4.4005 7.4017 6.3034 +v 3.4231 7.2372 5.6424 +v 4.4438 7.2026 5.7317 +v 4.4378 7.0261 5.7312 +v 3.4171 7.0606 5.6419 +v 3.3942 7.6010 6.1132 +v 4.4149 7.5664 6.2025 +v 4.4090 7.3898 6.2020 +v 4.1199 7.1416 6.8543 +v 4.1412 6.9662 6.8561 +v 5.1550 7.0900 6.9448 +v 5.1337 7.2654 6.9430 +v 5.1310 7.6267 6.4694 +v 4.1172 7.5029 6.3807 +v 5.1523 7.4513 6.4713 +v 5.1385 7.6385 6.3679 +v 4.1247 7.5147 6.2793 +v 5.1597 7.4632 6.3698 +v 4.2198 7.1416 5.7121 +v 5.2336 7.2654 5.8008 +v 5.2549 7.0900 5.8027 +v 4.2411 6.9662 5.7140 +v 4.1350 7.5029 6.1780 +v 5.1488 7.6267 6.2667 +v 5.1700 7.4513 6.2686 +v -1.3417 8.2934 6.3764 +v -2.3555 8.4171 6.2877 +v -2.3767 8.2418 6.2859 +v -1.3629 8.1180 6.3746 +v -1.2781 8.4794 5.9087 +v -1.2568 8.6547 5.9105 +v -2.2706 8.7785 5.8218 +v -2.2919 8.6031 5.8200 +v -1.2678 8.4912 5.8075 +v -1.2465 8.6665 5.8093 +v -2.2603 8.7903 5.7206 +v -2.2816 8.6149 5.7188 +v -1.2418 8.2934 5.2343 +v -1.2630 8.1180 5.2325 +v -2.2768 8.2418 5.1438 +v -2.2556 8.4171 5.1456 +v -1.2603 8.4794 5.7060 +v -1.2391 8.6547 5.7079 +v -2.2529 8.7785 5.6192 +v -2.2741 8.6031 5.6173 +v -2.1706 8.5487 6.3039 +v -3.1844 8.6725 6.2152 +v -3.2057 8.4971 6.2134 +v -2.1919 8.3734 6.3021 +v -2.1070 8.7347 5.8362 +v -2.0858 8.9101 5.8380 +v -3.0996 9.0338 5.7493 +v -3.1208 8.8585 5.7475 +v -2.0967 8.7465 5.7349 +v -2.0755 8.9219 5.7368 +v -3.0893 9.0456 5.6481 +v -3.1105 8.8703 5.6463 +v -2.0707 8.5487 5.1618 +v -2.0919 8.3734 5.1599 +v -3.1058 8.4971 5.0712 +v -3.0845 8.6725 5.0731 +v -2.0893 8.7347 5.6335 +v -2.0680 8.9101 5.6353 +v -3.0818 9.0338 5.5466 +v -3.1031 8.8585 5.5448 +v 9.3480 0.3779 10.3237 +v -2.8683 0.3779 9.2549 +v -2.8772 0.3779 9.3562 +v 9.3392 0.3779 10.4250 +v -2.8772 0.0002 9.3562 +v 9.3392 0.0002 10.4250 +v -2.8782 0.3779 6.7747 +v -2.9795 0.3779 6.7658 +v -3.1664 0.3779 8.9028 +v -3.0651 0.3779 8.9117 +v -2.9795 0.0002 6.7658 +v -3.1664 0.0002 8.9028 +v 9.8042 0.3779 10.3477 +v 9.9055 0.3779 10.3566 +v 10.5229 0.3779 3.2996 +v 10.4216 0.3779 3.2907 +v 9.9055 0.0002 10.3566 +v 10.5229 0.0002 3.2996 +v 9.9710 0.3779 3.2033 +v 9.9798 0.3779 3.1020 +v -2.2365 0.3779 2.0332 +v -2.2454 0.3779 2.1345 +v 9.9798 0.0002 3.1020 +v -2.2365 0.0002 2.0332 +v 6.2825 1.3390 10.6899 +v 6.7975 1.3390 10.7349 +v 6.4994 0.0002 11.8820 +v 5.9844 0.0002 11.8370 +v 6.7546 1.6838 11.2254 +v 6.4470 0.0002 12.4808 +v 6.2396 1.6838 11.1803 +v 5.9321 0.0002 12.4357 +v 6.1419 2.4485 10.0377 +v 6.6568 2.4485 10.0827 +v 6.6659 3.3186 9.9788 +v 6.1510 3.3186 9.9337 +v -0.4901 0.0002 11.2705 +v -0.5845 1.3390 10.0891 +v -0.0696 1.3390 10.1341 +v 0.0248 0.0002 11.3156 +v -0.6274 1.6838 10.5795 +v -0.5425 0.0002 11.8693 +v -0.1125 1.6838 10.6246 +v -0.0276 0.0002 11.9143 +v -0.3327 2.4485 9.4712 +v 0.1822 2.4485 9.5163 +v -0.3236 3.3186 9.3673 +v 0.1913 3.3186 9.4123 +v 0.4752 3.2250 2.8977 +v 0.5226 2.5917 0.6116 +v -1.1298 2.5281 1.2709 +v -0.6899 3.2157 2.9125 +v 0.6472 2.3846 -0.1240 +v -1.5696 2.8885 0.0197 +v -3.1039 3.3135 1.9302 +v -2.6769 3.1809 2.7944 +v -2.8102 3.4446 0.1425 +v -1.2386 2.9112 -0.2054 +v -1.2238 2.9112 -0.0365 +v 0.5631 2.5370 -0.1449 +v 0.5430 2.5370 -0.3740 +v 0.4541 2.3467 -0.3662 +v -1.3123 2.7534 -0.1989 +v -1.2976 2.7534 -0.0301 +v 0.4741 2.3467 -0.1371 +v -2.8731 3.5571 0.1826 +v -2.8978 3.5571 -0.0998 +v -3.0074 3.3226 -0.0902 +v -2.9827 3.3226 0.1921 +v 0.6848 2.9267 1.5054 +v 0.8535 2.5525 -0.2762 +v 0.6244 2.5525 -0.2962 +v 0.5160 2.9267 1.4906 +v 0.6784 2.7689 1.5792 +v 0.8457 2.3622 -0.1873 +v 0.5096 2.7689 1.5644 +v 0.6166 2.3622 -0.2073 +v 0.2969 3.5726 3.1399 +v 0.5793 3.5726 3.1646 +v 0.5697 3.3381 3.2742 +v 0.2873 3.3381 3.2495 +v 0.3963 2.6757 -0.1902 +v 0.8470 2.6757 -0.0261 +v 0.9928 2.6757 -0.4266 +v 0.5420 2.6757 -0.5906 +v 0.5420 0.0002 -0.5906 +v 0.5134 1.3380 -0.3170 +v 0.7829 1.3380 -0.2189 +v 0.9928 0.0002 -0.4266 +v 0.3963 0.0002 -0.1902 +v 0.4154 1.3380 -0.0475 +v 0.6848 1.3380 0.0506 +v 0.8470 0.0002 -0.0261 +v -6.7958 5.4344 6.3699 +v -6.7911 8.0770 6.3442 +v -6.7911 8.0770 6.8626 +v -6.7958 5.4344 7.0678 +v -6.7958 10.7195 6.3699 +v -6.7958 10.7195 7.0678 +v -7.3095 8.0770 6.3442 +v -7.4937 5.4344 6.3699 +v -7.4937 10.7195 6.3699 +v -7.3095 8.0770 6.8626 +v -7.4937 5.4344 7.0678 +v -7.4937 10.7195 7.0678 +v -6.7763 11.1923 3.0462 +v -6.7763 11.1923 6.3332 +v -2.9784 11.1924 6.3332 +v -2.9784 11.1923 3.0462 +v -2.6969 11.1924 2.7017 +v -2.6969 11.1924 6.6778 +v -2.6969 0.0002 6.6777 +v -2.6969 0.0002 2.7017 +v -7.0579 11.1923 2.7017 +v -7.0579 0.0002 2.7017 +v -7.0579 11.1924 6.6777 +v -7.0579 0.0002 6.6777 +v -2.9784 11.6198 3.0462 +v -2.9784 11.6355 6.3332 +v -2.6969 11.6355 6.6778 +v -2.6969 11.6198 2.7017 +v -6.7763 11.6198 3.0462 +v -7.0579 11.6198 2.7017 +v -6.7763 11.6355 6.3332 +v -7.0579 11.6355 6.6777 +v -2.7270 0.0002 6.5128 +v -2.7223 2.6427 6.4871 +v -2.7223 2.6427 7.0055 +v -2.7270 0.0002 7.2107 +v -2.7270 5.2853 6.5128 +v -2.7270 5.2853 7.2107 +v -3.2407 2.6427 6.4871 +v -3.4249 0.0002 6.5128 +v -3.4249 5.2853 6.5128 +v -3.2407 2.6427 7.0055 +v -3.4249 0.0002 7.2107 +v -3.4249 5.2853 7.2107 +v -6.7958 0.0002 6.3699 +v -6.7911 2.6427 6.3442 +v -6.7911 2.6427 6.8626 +v -6.7958 0.0002 7.0678 +v -6.7958 5.2853 6.3699 +v -6.7958 5.2853 7.0678 +v -7.3095 2.6427 6.3442 +v -7.4937 0.0002 6.3699 +v -7.4937 5.2853 6.3699 +v -7.3095 2.6427 6.8626 +v -7.4937 0.0002 7.0678 +v -7.4937 5.2853 7.0678 +v -6.9779 0.0002 2.5398 +v -6.9732 2.6427 2.5141 +v -6.9732 2.6427 3.0325 +v -6.9779 0.0002 3.2377 +v -6.9779 5.2853 2.5398 +v -6.9779 5.2853 3.2377 +v -7.4916 2.6427 2.5141 +v -7.6758 0.0002 2.5398 +v -7.6758 5.2853 2.5398 +v -7.4916 2.6427 3.0325 +v -7.6758 0.0002 3.2377 +v -7.6758 5.2853 3.2377 +v -6.9779 5.4344 2.5398 +v -6.9732 8.0770 2.5141 +v -6.9732 8.0770 3.0325 +v -6.9779 5.4344 3.2377 +v -6.9779 10.7195 2.5398 +v -6.9779 10.7195 3.2377 +v -7.4916 8.0770 2.5141 +v -7.6758 5.4344 2.5398 +v -7.6758 10.7195 2.5398 +v -7.4916 8.0770 3.0325 +v -7.6758 5.4344 3.2377 +v -7.6758 10.7195 3.2377 +v -2.0520 11.1446 4.6897 +v -2.0520 11.1446 7.2398 +v -2.0520 10.4007 7.2398 +v -2.0520 10.2636 4.6897 +v -4.8774 11.1446 2.1397 +v -2.0520 11.1446 2.1397 +v -2.0520 10.4007 2.1397 +v -4.8774 10.2636 2.1397 +v -7.7027 11.1446 4.6897 +v -7.7027 11.1446 2.1397 +v -7.7027 10.4007 2.1397 +v -7.7027 10.2636 4.6897 +v -4.8774 11.1446 7.2398 +v -7.7027 11.1446 7.2398 +v -7.7027 10.4007 7.2398 +v -4.8774 10.2636 7.2398 +v -4.8774 10.2636 6.6777 +v -2.6969 10.4007 6.6777 +v -7.0579 10.2636 4.6897 +v -7.0579 10.4007 6.6777 +v -4.8774 10.2636 2.7017 +v -7.0579 10.4007 2.7017 +v -2.6969 10.2636 4.6897 +v -2.6969 10.4007 2.7017 +v -2.6969 11.1446 4.6897 +v -2.6969 11.1446 6.6777 +v -4.8774 11.1446 2.7017 +v -2.6969 11.1446 2.7017 +v -7.0579 11.1446 4.6897 +v -7.0579 11.1446 2.7017 +v -4.8774 11.1446 6.6777 +v -7.0579 11.1446 6.6777 +v -2.0520 5.7104 4.6897 +v -2.0520 5.7104 7.2398 +v -2.0520 4.9664 7.2398 +v -2.0520 4.8293 4.6897 +v -4.8774 5.7104 2.1397 +v -2.0520 5.7104 2.1397 +v -2.0520 4.9664 2.1397 +v -4.8774 4.8293 2.1397 +v -7.7027 5.7104 4.6897 +v -7.7027 5.7104 2.1397 +v -7.7027 4.9664 2.1397 +v -7.7027 4.8293 4.6897 +v -4.8774 5.7104 7.2398 +v -7.7027 5.7104 7.2398 +v -7.7027 4.9664 7.2398 +v -4.8774 4.8293 7.2398 +v -4.8774 4.8293 6.6777 +v -2.6969 4.9664 6.6777 +v -7.0579 4.8293 4.6897 +v -7.0579 4.9664 6.6777 +v -4.8774 4.8293 2.7017 +v -7.0579 4.9664 2.7017 +v -2.6969 4.8293 4.6897 +v -2.6969 4.9664 2.7017 +v -2.6969 5.7104 4.6897 +v -2.6969 5.7104 6.6777 +v -4.8774 5.7104 2.7017 +v -2.6969 5.7104 2.7017 +v -7.0579 5.7104 4.6897 +v -7.0579 5.7104 2.7017 +v -4.8774 5.7104 6.6777 +v -7.0579 5.7104 6.6777 +v -2.9788 5.4344 3.1190 +v -2.9812 8.0770 3.1450 +v -3.0264 8.0770 2.6286 +v -3.0396 5.4344 2.4238 +v -2.9788 10.7195 3.1190 +v -3.0396 10.7195 2.4238 +v -2.4648 8.0770 3.0998 +v -2.2836 5.4344 3.0582 +v -2.2836 10.7195 3.0582 +v -2.5100 8.0770 2.5834 +v -2.3444 5.4344 2.3629 +v -2.3444 10.7195 2.3629 +v -6.5153 13.0097 3.5380 +v -6.4668 13.0097 3.7033 +v -6.2096 12.6417 3.5380 +v -6.3366 13.0097 3.8161 +v -6.1661 13.0155 3.8406 +v -6.0094 13.0155 3.7691 +v -5.9163 13.0097 3.6241 +v -5.9163 13.0097 3.4519 +v -6.0094 13.0097 3.3070 +v -6.1661 13.0097 3.2354 +v -6.3366 13.0097 3.2599 +v -6.4668 13.0097 3.3727 +v -6.6423 11.7965 3.8161 +v -6.4316 12.1656 3.6807 +v -6.4735 12.1656 3.5380 +v -6.7239 11.7965 3.5380 +v -6.4233 11.7965 4.0059 +v -6.3192 12.1656 3.7781 +v -6.1364 11.7965 4.0471 +v -6.1720 12.1656 3.7992 +v -5.8728 11.7965 3.9267 +v -6.0368 12.1656 3.7375 +v -5.7161 11.7965 3.6829 +v -5.9564 12.1656 3.6124 +v -5.7161 11.7965 3.3931 +v -5.9564 12.1656 3.4637 +v -5.8728 11.7965 3.1493 +v -6.0368 12.1656 3.3386 +v -6.1364 11.7965 3.0289 +v -6.1720 12.1656 3.2768 +v -6.4233 11.7965 3.0702 +v -6.3192 12.1656 3.2980 +v -6.6423 11.7965 3.2599 +v -6.4316 12.1656 3.3954 +v -6.6804 11.4811 3.8406 +v -6.7693 11.4811 3.5380 +v -6.4421 11.4811 4.0471 +v -6.1299 11.4811 4.0920 +v -5.8431 11.4811 3.9610 +v -5.6726 11.4811 3.6957 +v -5.6726 11.4811 3.3803 +v -5.8431 11.4811 3.1150 +v -6.1299 11.4811 2.9840 +v -6.4421 11.4811 3.0289 +v -6.6804 11.4811 3.2354 +v -6.5691 11.1913 3.7691 +v -6.6369 11.1913 3.5380 +v -6.3871 11.1913 3.9267 +v -6.1488 11.1913 3.9610 +v -5.9298 11.1913 3.8610 +v -5.7996 11.1913 3.6584 +v -5.7996 11.1913 3.4176 +v -5.9298 11.1913 3.2151 +v -6.1488 11.1913 3.1150 +v -6.3871 11.1913 3.1493 +v -6.5691 11.1913 3.3070 +v -5.6312 12.2475 5.0831 +v -5.6312 12.2475 6.1931 +v -4.5212 12.2475 6.1931 +v -4.5212 12.2475 5.0831 +v -4.5629 11.7199 5.1248 +v -4.5629 11.7199 6.1513 +v -4.5212 11.1924 6.1931 +v -4.5212 11.1924 5.0831 +v -5.5895 11.7199 5.1248 +v -5.6312 11.1924 5.0831 +v -5.5895 11.7199 6.1513 +v -5.6312 11.1924 6.1931 +v -4.9724 13.3027 5.0831 +v -4.9724 13.3027 6.1931 +v -3.8624 13.3027 6.1931 +v -3.8624 13.3027 5.0831 +v -3.9042 12.7751 5.1248 +v -3.9042 12.7751 6.1513 +v -3.8624 12.2475 6.1931 +v -3.8624 12.2475 5.0831 +v -4.9307 12.7751 5.1248 +v -4.9724 12.2475 5.0831 +v -4.9307 12.7751 6.1513 +v -4.9724 12.2475 6.1931 +v -4.3095 12.2475 5.0831 +v -4.3095 12.2475 6.1931 +v -3.1995 12.2475 6.1931 +v -3.1995 12.2475 5.0831 +v -3.2412 11.7199 5.1248 +v -3.2412 11.7199 6.1513 +v -3.1995 11.1924 6.1931 +v -3.1995 11.1924 5.0831 +v -4.2677 11.7199 5.1248 +v -4.3095 11.1924 5.0831 +v -4.2677 11.7199 6.1513 +v -4.3095 11.1924 6.1931 +v -2.1016 1.0554 -10.4453 +v -2.1016 1.0554 -9.3353 +v -0.9916 1.0554 -9.3353 +v -0.9916 1.0554 -10.4453 +v -1.0333 0.5278 -10.4035 +v -1.0333 0.5278 -9.3770 +v -0.9916 0.0002 -9.3353 +v -0.9916 0.0002 -10.4453 +v -2.0599 0.5278 -10.4035 +v -2.1016 0.0002 -10.4453 +v -2.0599 0.5278 -9.3770 +v -2.1016 0.0002 -9.3353 +v -0.4238 9.0911 1.0076 +v -0.7481 9.1307 1.2453 +v -0.7462 8.2490 1.2440 +v -0.4209 8.1698 1.0056 +v 0.8136 8.7366 0.1412 +v 0.8501 9.3745 0.1156 +v 0.5590 9.2199 0.3088 +v 0.5648 8.4275 0.3048 +v 0.2346 8.2590 0.5361 +v 0.2298 9.1357 0.5394 +v -0.0995 9.0515 0.7700 +v -0.0957 8.0906 0.7673 +v -1.0298 9.2376 1.4426 +v -0.7500 10.0124 1.2467 +v -1.0784 10.0124 1.4766 +v -0.4267 10.0124 1.0097 +v -0.4392 10.5501 0.9784 +v -0.7754 10.5323 1.2333 +v 0.8866 10.0124 0.0901 +v 0.9081 11.0342 -0.0655 +v 0.5695 10.8552 0.1951 +v 0.5533 10.0124 0.3129 +v 0.2250 10.0124 0.5428 +v 0.2333 10.7115 0.4593 +v -0.1030 10.5679 0.7235 +v -0.1033 10.0124 0.7727 +v -1.1141 10.6391 1.4846 +v -0.8008 11.0523 1.2199 +v -1.1499 11.2658 1.4927 +v 1.1412 9.5290 -0.0776 +v 1.2199 10.0124 -0.1327 +v -1.2163 8.6765 1.5731 +v -0.9812 8.4627 1.4086 +v -1.3115 9.3444 1.6398 +v -0.4517 11.0878 0.9471 +v -0.1026 11.1234 0.6743 +v 0.9297 12.0560 -0.2212 +v 1.2468 11.2131 -0.3262 +v 1.2737 12.4139 -0.5197 +v 0.2415 11.4107 0.3758 +v 0.5856 11.6980 0.0773 +v -1.4067 10.0124 1.7065 +v -1.4529 10.7459 1.7360 +v 1.0625 9.0457 -0.0225 +v -1.4990 11.4794 1.7655 +v 1.2550 12.4098 -0.5440 +v -2.8087 10.9913 2.8559 +v -2.8274 10.9872 2.8316 +v 1.2409 12.4366 -0.5498 +v -2.8415 11.0140 2.8258 +v 1.2508 12.4573 -0.5291 +v -2.8316 11.0347 2.8465 +v 1.2711 12.4433 -0.5105 +v -2.8113 11.0207 2.8651 +v -9.3037 6.0183 6.5129 +v -9.2221 5.9964 6.4478 +v -10.8287 0.0002 6.1684 +v -10.9648 0.0221 6.2770 +v -9.2725 6.0099 6.6182 +v -10.9128 0.0137 6.4526 +v -9.1716 5.9829 6.6182 +v -10.7447 -0.0133 6.4526 +v -9.1405 5.9745 6.5129 +v -10.6927 -0.0217 6.2770 +v -7.6658 12.0061 6.4018 +v -7.5650 11.9791 6.4018 +v -7.5338 11.9708 6.2964 +v -7.6970 12.0145 6.2964 +v -7.6154 11.9926 6.2313 +v -8.4187 8.9945 6.3155 +v -8.5003 9.0164 6.3806 +v -8.4692 9.0080 6.4860 +v -8.3683 8.9810 6.4860 +v -8.3371 8.9727 6.3806 +v -7.7049 11.7782 4.9479 +v -7.6811 11.7472 4.9479 +v -7.6812 11.7472 6.3000 +v -7.7049 11.7782 6.3000 +v -7.6835 11.8125 4.9479 +v -7.6835 11.8125 6.3000 +v -7.6465 11.8026 4.9479 +v -7.6465 11.8026 6.3000 +v -7.6451 11.7622 4.9479 +v -7.6451 11.7622 6.3000 +v -9.3037 6.0183 5.0900 +v -9.2221 5.9964 5.0249 +v -10.8287 0.0002 4.7556 +v -10.9560 0.0221 4.8572 +v -9.2725 6.0099 5.1954 +v -10.9074 0.0137 5.0216 +v -9.1716 5.9829 5.1954 +v -10.7501 -0.0133 5.0216 +v -9.1405 5.9745 5.0900 +v -10.7014 -0.0217 4.8572 +v -7.6658 12.0061 4.9789 +v -7.5650 11.9791 4.9789 +v -7.5338 11.9708 4.8735 +v -7.6970 12.0145 4.8735 +v -7.6154 11.9926 4.8084 +v -8.4187 8.9945 4.8926 +v -8.5003 9.0164 4.9577 +v -8.4692 9.0080 5.0631 +v -8.3683 8.9810 5.0631 +v -8.3371 8.9727 4.9577 +v -7.8916 11.0814 4.9479 +v -7.8679 11.0503 4.9479 +v -7.8679 11.0503 6.3000 +v -7.8916 11.0814 6.3000 +v -7.8702 11.1156 4.9479 +v -7.8702 11.1156 6.3000 +v -7.8332 11.1057 4.9479 +v -7.8332 11.1057 6.3000 +v -7.8318 11.0654 4.9479 +v -7.8318 11.0654 6.3000 +v -2.9837 8.0770 6.8093 +v -2.9837 8.0770 6.2910 +v -2.9790 5.4344 6.3166 +v -2.9790 5.4344 7.0145 +v -2.9790 10.7195 6.3166 +v -2.9790 10.7195 7.0145 +v -2.4653 8.0770 6.2910 +v -2.2811 5.4344 6.3166 +v -2.2811 10.7195 6.3166 +v -2.4653 8.0770 6.8093 +v -2.2811 5.4344 7.0145 +v -2.2811 10.7195 7.0145 +v -8.2650 9.6877 4.9479 +v -8.2413 9.6567 4.9479 +v -8.2413 9.6567 6.3000 +v -8.2650 9.6877 6.3000 +v -8.2436 9.7220 4.9479 +v -8.2436 9.7220 6.3000 +v -8.2067 9.7121 4.9479 +v -8.2067 9.7121 6.3000 +v -8.2052 9.6717 4.9479 +v -8.2052 9.6717 6.3000 +v -8.4517 8.9909 5.0144 +v -8.4280 8.9599 5.0144 +v -8.4280 8.9599 6.3665 +v -8.4517 8.9909 6.3665 +v -8.4303 9.0251 5.0144 +v -8.4303 9.0251 6.3665 +v -8.3934 9.0152 5.0144 +v -8.3934 9.0152 6.3665 +v -8.3919 8.9749 5.0144 +v -8.3919 8.9749 6.3665 +v -8.6384 8.2941 5.0875 +v -8.6147 8.2630 5.0875 +v -8.6147 8.2630 6.4396 +v -8.6384 8.2941 6.4396 +v -8.6170 8.3283 5.0875 +v -8.6170 8.3283 6.4396 +v -8.5801 8.3184 5.0875 +v -8.5801 8.3184 6.4396 +v -8.5787 8.2781 5.0875 +v -8.5787 8.2781 6.4396 +v -8.8252 7.5972 5.0440 +v -8.8014 7.5662 5.0440 +v -8.8014 7.5662 6.3961 +v -8.8252 7.5972 6.3961 +v -8.8038 7.6315 5.0440 +v -8.8038 7.6315 6.3961 +v -8.7668 7.6216 5.0440 +v -8.7668 7.6216 6.3961 +v -8.7654 7.5812 5.0440 +v -8.7654 7.5812 6.3961 +v -9.1986 6.2036 5.1576 +v -9.1749 6.1725 5.1576 +v -9.1749 6.1725 6.5097 +v -9.1986 6.2036 6.5097 +v -9.1772 6.2378 5.1576 +v -9.1772 6.2378 6.5097 +v -9.1402 6.2279 5.1576 +v -9.1402 6.2279 6.5097 +v -9.1388 6.1876 5.1576 +v -9.1388 6.1876 6.5097 +v -9.5720 4.8099 5.1447 +v -9.5483 4.7789 5.1447 +v -9.5483 4.7789 6.4968 +v -9.5720 4.8099 6.4968 +v -9.5506 4.8442 5.1447 +v -9.5506 4.8442 6.4968 +v -9.5137 4.8343 5.1447 +v -9.5137 4.8343 6.4968 +v -9.5122 4.7939 5.1447 +v -9.5122 4.7939 6.4968 +v -9.3853 5.5068 5.1362 +v -9.3616 5.4757 5.1362 +v -9.3616 5.4757 6.4883 +v -9.3853 5.5068 6.4883 +v -9.3639 5.5410 5.1362 +v -9.3639 5.5410 6.4883 +v -9.3269 5.5311 5.1362 +v -9.3269 5.5311 6.4883 +v -9.3255 5.4907 5.1362 +v -9.3255 5.4907 6.4883 +v -9.0119 6.9004 5.0881 +v -8.9882 6.8694 5.0881 +v -8.9882 6.8694 6.4401 +v -9.0119 6.9004 6.4401 +v -8.9905 6.9346 5.0881 +v -8.9905 6.9346 6.4401 +v -8.9535 6.9247 5.0881 +v -8.9535 6.9247 6.4401 +v -8.9521 6.8844 5.0881 +v -8.9521 6.8844 6.4401 +v -9.7587 4.1131 5.1029 +v -9.7350 4.0820 5.1029 +v -9.7350 4.0820 6.4550 +v -9.7587 4.1131 6.4550 +v -9.7373 4.1473 5.1029 +v -9.7373 4.1473 6.4550 +v -9.7004 4.1374 5.1029 +v -9.7004 4.1374 6.4550 +v -9.6989 4.0971 5.1029 +v -9.6989 4.0971 6.4550 +v -9.9455 3.4163 5.0642 +v -9.9217 3.3852 5.0642 +v -9.9217 3.3852 6.4163 +v -9.9455 3.4163 6.4163 +v -9.9240 3.4505 5.0642 +v -9.9240 3.4505 6.4163 +v -9.8871 3.4406 5.0642 +v -9.8871 3.4406 6.4163 +v -9.8857 3.4002 5.0642 +v -9.8857 3.4002 6.4163 +v -10.1322 2.7194 5.1111 +v -10.1084 2.6884 5.1111 +v -10.1084 2.6884 6.4632 +v -10.1322 2.7194 6.4632 +v -10.1108 2.7537 5.1111 +v -10.1108 2.7537 6.4632 +v -10.0738 2.7438 5.1111 +v -10.0738 2.7438 6.4632 +v -10.0724 2.7034 5.1111 +v -10.0724 2.7034 6.4632 +v -10.3189 2.0226 5.0244 +v -10.2952 1.9915 5.0244 +v -10.2952 1.9915 6.3764 +v -10.3189 2.0226 6.3764 +v -10.2975 2.0568 5.0244 +v -10.2975 2.0568 6.3764 +v -10.2605 2.0469 5.0244 +v -10.2605 2.0469 6.3764 +v -10.2591 2.0066 5.0244 +v -10.2591 2.0066 6.3764 +v -10.5056 1.3258 4.9479 +v -10.4819 1.2947 4.9479 +v -10.4819 1.2947 6.3000 +v -10.5056 1.3258 6.3000 +v -10.4842 1.3600 4.9479 +v -10.4842 1.3600 6.3000 +v -10.4472 1.3501 4.9479 +v -10.4472 1.3501 6.3000 +v -10.4458 1.3098 4.9479 +v -10.4458 1.3098 6.3000 +v -10.6923 0.6289 4.9479 +v -10.6686 0.5979 4.9479 +v -10.6686 0.5979 6.3000 +v -10.6923 0.6289 6.3000 +v -10.6709 0.6632 4.9479 +v -10.6709 0.6632 6.3000 +v -10.6340 0.6533 4.9479 +v -10.6340 0.6533 6.3000 +v -10.6325 0.6129 4.9479 +v -10.6325 0.6129 6.3000 +v -2.5116 2.8029 2.1331 +v -2.2308 0.5479 2.1282 +v -2.7703 0.5479 1.6755 +v -2.8164 2.8029 1.8774 +v -2.7703 5.0580 1.6755 +v -2.2308 5.0580 2.1282 +v -2.7703 2.8029 2.4415 +v -2.6888 0.5479 2.6741 +v -2.6888 5.5387 2.6741 +v -3.0751 2.8029 2.1857 +v -3.2284 0.5479 2.2214 +v -3.2284 5.5387 2.2214 +v -8.0783 10.3846 4.9479 +v -8.0546 10.3535 4.9479 +v -8.0546 10.3535 6.3000 +v -8.0783 10.3846 6.3000 +v -8.0569 10.4188 4.9479 +v -8.0569 10.4188 6.3000 +v -8.0199 10.4089 4.9479 +v -8.0199 10.4089 6.3000 +v -8.0185 10.3685 4.9479 +v -8.0185 10.3685 6.3000 +v -0.4624 0.6639 -8.4482 +v -0.4624 1.1792 -8.4482 +v 0.9419 0.5798 -8.4482 +v 0.9419 0.4156 -8.4482 +v -0.4624 1.0343 -6.6030 +v -0.4624 0.5190 -6.6030 +v -0.3985 1.2576 -8.3389 +v 0.8795 0.6805 -8.3389 +v 0.9426 0.6693 -8.4482 +v -0.4617 1.2687 -8.4482 +v -0.4617 1.1238 -6.6030 +v -0.3985 1.1127 -6.6030 +v 0.8795 0.5356 -6.6030 +v 0.8787 0.5909 -8.3389 +v 0.8787 0.4585 -6.6030 +v -0.3993 1.1680 -8.3389 +v 0.7683 0.5204 -6.4465 +v -0.2351 1.0678 -6.4465 +v -0.2351 1.0443 -5.0016 +v 0.7683 0.4970 -5.0016 +v 0.9419 0.4348 -6.6030 +v 0.9419 0.4067 -4.8671 +v 0.9419 0.2426 -4.8671 +v 0.9419 0.2707 -6.6030 +v 0.8795 0.5074 -4.8671 +v 0.9426 0.4962 -4.8671 +v 0.9426 0.5244 -6.6030 +v -0.3985 1.0845 -4.8671 +v -0.3993 1.0195 -4.8671 +v -0.3993 1.0195 -6.6030 +v -0.4624 1.0061 -4.8671 +v -0.4624 0.4908 -4.8671 +v -0.4617 1.0957 -4.8671 +v 0.8787 0.4351 -4.8671 +v 0.7657 0.6533 -8.1839 +v -0.2352 1.2001 -8.1839 +v -0.2352 1.0782 -6.7233 +v 0.7657 0.5313 -6.7233 +v 0.7414 0.4585 -6.4575 +v 0.7414 0.4351 -5.0126 +v 0.7517 0.4351 -4.8671 +v -0.2607 1.1414 -8.2012 +v 0.7402 0.5946 -8.2012 +v -0.2607 1.0195 -6.7406 +v 0.7402 0.4726 -6.7406 +v 0.7402 0.4585 -6.6030 +v -0.2620 1.0059 -6.4575 +v -0.2620 0.9525 -5.0065 +v -0.2607 1.0059 -6.6030 +v 0.9419 0.5798 -1.2860 +v -0.4624 1.1792 -1.2860 +v -0.4624 0.6639 -1.2860 +v 0.9419 0.4156 -1.2860 +v -0.4624 1.0343 -3.1312 +v -0.4624 0.5190 -3.1312 +v -0.3985 1.2576 -1.3954 +v -0.4617 1.2688 -1.2860 +v 0.9426 0.6693 -1.2860 +v 0.8795 0.6805 -1.3954 +v -0.3985 1.1127 -3.1312 +v -0.4617 1.1238 -3.1312 +v 0.8795 0.5356 -3.1312 +v 0.8787 0.4585 -3.1312 +v 0.8787 0.5909 -1.3954 +v -0.3993 1.1680 -1.3954 +v -0.2351 1.0443 -4.7326 +v -0.2351 1.0678 -3.2877 +v 0.7683 0.5204 -3.2877 +v 0.7683 0.4970 -4.7326 +v 0.9419 0.4348 -3.1312 +v 0.9419 0.2707 -3.1312 +v 0.9426 0.5244 -3.1312 +v -0.3993 1.0195 -3.1312 +v -0.2352 1.0782 -3.0109 +v -0.2352 1.2001 -1.5503 +v 0.7657 0.6533 -1.5503 +v 0.7657 0.5313 -3.0109 +v 0.7414 0.4585 -3.2767 +v 0.7414 0.4351 -4.7216 +v -0.2607 1.1414 -1.5330 +v 0.7402 0.5946 -1.5330 +v -0.2607 1.0195 -2.9936 +v 0.7402 0.4726 -2.9936 +v 0.7402 0.4585 -3.1312 +v -0.2620 1.0059 -3.2767 +v -0.2620 0.9525 -4.7277 +v -0.2607 1.0059 -3.1312 +v 0.3667 0.9579 -7.4260 +v 0.4136 0.8449 -7.4260 +v 0.5265 0.9579 -7.3598 +v 0.5265 0.7981 -7.4260 +v 0.6395 0.8449 -7.4260 +v 0.6863 0.9579 -7.4260 +v 0.6395 1.0709 -7.4260 +v 0.5265 1.1177 -7.4260 +v 0.4136 1.0709 -7.4260 +v 0.3667 0.7981 -7.5858 +v 0.3006 0.9579 -7.5858 +v 0.6863 0.7981 -7.5858 +v 0.5265 0.7319 -7.5858 +v 0.7525 0.9579 -7.5858 +v 0.6863 1.1177 -7.5858 +v 0.5265 1.1839 -7.5858 +v 0.3667 1.1177 -7.5858 +v 0.4136 0.8449 -7.7456 +v 0.3667 0.9579 -7.7456 +v 0.6395 0.8449 -7.7456 +v 0.5265 0.7981 -7.7456 +v 0.6863 0.9579 -7.7456 +v 0.6395 1.0709 -7.7456 +v 0.5265 1.1177 -7.7456 +v 0.4136 1.0709 -7.7456 +v 0.5265 0.9579 -7.8118 +v 0.0422 1.0581 -7.1382 +v 0.0890 0.9451 -7.1382 +v 0.2020 1.0581 -7.0720 +v 0.2020 0.8983 -7.1382 +v 0.3150 0.9451 -7.1382 +v 0.3618 1.0581 -7.1382 +v 0.3150 1.1711 -7.1382 +v 0.2020 1.2179 -7.1382 +v 0.0890 1.1711 -7.1382 +v 0.0422 0.8983 -7.2980 +v -0.0240 1.0581 -7.2980 +v 0.3618 0.8983 -7.2980 +v 0.2020 0.8322 -7.2980 +v 0.4280 1.0581 -7.2980 +v 0.3618 1.2179 -7.2980 +v 0.2020 1.2841 -7.2980 +v 0.0422 1.2179 -7.2980 +v 0.0890 0.9451 -7.4578 +v 0.0422 1.0581 -7.4578 +v 0.3150 0.9451 -7.4578 +v 0.2020 0.8983 -7.4578 +v 0.3618 1.0581 -7.4578 +v 0.3150 1.1711 -7.4578 +v 0.2020 1.2179 -7.4578 +v 0.0890 1.1711 -7.4578 +v 0.2020 1.0581 -7.5240 +v 0.3667 0.9579 -6.8213 +v 0.4136 0.8449 -6.8213 +v 0.5265 0.9579 -6.7551 +v 0.5265 0.7981 -6.8213 +v 0.6395 0.8449 -6.8213 +v 0.6863 0.9579 -6.8213 +v 0.6395 1.0709 -6.8213 +v 0.5265 1.1177 -6.8213 +v 0.4136 1.0709 -6.8213 +v 0.3667 0.7981 -6.9811 +v 0.3006 0.9579 -6.9811 +v 0.6863 0.7981 -6.9811 +v 0.5265 0.7319 -6.9811 +v 0.7525 0.9579 -6.9811 +v 0.6863 1.1177 -6.9811 +v 0.5265 1.1839 -6.9811 +v 0.3667 1.1177 -6.9811 +v 0.4136 0.8449 -7.1409 +v 0.3667 0.9579 -7.1409 +v 0.6395 0.8449 -7.1409 +v 0.5265 0.7981 -7.1409 +v 0.6863 0.9579 -7.1409 +v 0.6395 1.0709 -7.1409 +v 0.5265 1.1177 -7.1409 +v 0.4136 1.0709 -7.1409 +v 0.5265 0.9579 -7.2071 +v 1.1147 -0.1222 -7.2632 +v 1.1615 -0.1949 -7.3498 +v 1.2745 -0.1729 -7.2207 +v 1.2745 -0.2249 -7.3856 +v 1.3875 -0.1949 -7.3498 +v 1.4343 -0.1222 -7.2632 +v 1.3875 -0.0496 -7.1766 +v 1.2745 -0.0195 -7.1408 +v 1.1615 -0.0496 -7.1766 +v 1.1147 -0.1025 -7.4883 +v 1.0485 0.0002 -7.3659 +v 1.2745 -0.1451 -7.5390 +v 1.4343 -0.1025 -7.4883 +v 1.5005 0.0002 -7.3659 +v 1.4343 0.1029 -7.2435 +v 1.2745 0.1455 -7.1928 +v 1.1147 0.1029 -7.2435 +v 0.9039 0.2883 -8.3941 +v 0.9039 0.2883 -8.3135 +v 0.9392 0.0002 -8.3242 +v 0.9392 0.0002 -8.4305 +v 0.8329 0.0002 -8.4305 +v 0.8232 0.2883 -8.3941 +v 0.8329 0.0002 -8.3242 +v 0.8232 0.2883 -8.3135 +v 0.9392 0.5764 -8.3242 +v 0.9392 0.5764 -8.4305 +v 0.8329 0.5764 -8.4305 +v 0.8329 0.5764 -8.3242 +v -0.2959 0.3757 -8.3941 +v -0.2959 0.3757 -8.3135 +v -0.2606 0.0002 -8.3242 +v -0.2606 0.0002 -8.4305 +v -0.3668 0.0002 -8.4305 +v -0.3766 0.3757 -8.3941 +v -0.3668 0.0002 -8.3242 +v -0.3766 0.3757 -8.3135 +v -0.2606 0.7511 -8.3242 +v -0.2606 0.7511 -8.4305 +v -0.3668 0.7511 -8.4305 +v -0.3668 0.7511 -8.3242 +v 0.9039 0.2883 -1.3718 +v 0.9392 0.0002 -1.3355 +v 0.9392 0.0002 -1.4417 +v 0.9039 0.2883 -1.4525 +v 0.8232 0.2883 -1.3718 +v 0.8329 0.0002 -1.3355 +v 0.8232 0.2883 -1.4525 +v 0.8329 0.0002 -1.4417 +v 0.9392 0.5764 -1.4417 +v 0.9392 0.5764 -1.3355 +v 0.8329 0.5764 -1.3355 +v 0.8329 0.5764 -1.4417 +v 1.4770 0.6639 0.6729 +v 1.4770 1.1792 0.6729 +v 1.4770 0.5798 -0.7314 +v 1.4770 0.4156 -0.7314 +v 3.3223 1.0343 0.6729 +v 3.3223 0.5190 0.6729 +v 1.5864 1.2576 0.6090 +v 1.5864 0.6805 -0.6690 +v 1.4770 0.6693 -0.7321 +v 1.4770 1.2688 0.6721 +v 3.3223 1.1238 0.6721 +v 3.3223 1.1127 0.6090 +v 3.3223 0.5356 -0.6690 +v 1.5864 0.5909 -0.6683 +v 3.3223 0.4585 -0.6683 +v 1.5864 1.1680 0.6097 +v 3.4787 0.5204 -0.5578 +v 3.4787 1.0678 0.4456 +v 4.9236 1.0443 0.4456 +v 4.9236 0.4970 -0.5578 +v 3.3223 0.4348 -0.7314 +v 5.0581 0.4067 -0.7314 +v 5.0581 0.2426 -0.7314 +v 3.3223 0.2707 -0.7314 +v 5.0581 0.5074 -0.6690 +v 5.0581 0.4962 -0.7321 +v 3.3223 0.5244 -0.7321 +v 5.0581 1.0845 0.6090 +v 5.0581 1.0195 0.6097 +v 3.3223 1.0195 0.6097 +v 5.0581 1.0061 0.6729 +v 5.0581 0.4908 0.6729 +v 5.0581 1.0957 0.6721 +v 5.0581 0.4351 -0.6683 +v 1.7413 0.6533 -0.5552 +v 1.7413 1.2001 0.4457 +v 3.2019 1.0782 0.4457 +v 3.2019 0.5313 -0.5552 +v 3.4678 0.4585 -0.5310 +v 4.9126 0.4351 -0.5310 +v 5.0581 0.4351 -0.5413 +v 1.7240 1.1414 0.4712 +v 1.7240 0.5946 -0.5297 +v 3.1846 1.0195 0.4712 +v 3.1846 0.4726 -0.5297 +v 3.3223 0.4585 -0.5297 +v 3.4678 1.0059 0.4724 +v 4.9188 0.9525 0.4724 +v 3.3223 1.0059 0.4712 +v 8.6393 0.5798 -0.7314 +v 8.6393 1.1792 0.6729 +v 8.6393 0.6639 0.6729 +v 8.6393 0.4156 -0.7314 +v 6.7940 1.0343 0.6729 +v 6.7940 0.5190 0.6729 +v 8.5299 1.2576 0.6090 +v 8.6393 1.2688 0.6721 +v 8.6393 0.6693 -0.7321 +v 8.5299 0.6805 -0.6690 +v 6.7940 1.1127 0.6090 +v 6.7940 1.1238 0.6721 +v 6.7940 0.5356 -0.6690 +v 6.7940 0.4585 -0.6683 +v 8.5299 0.5909 -0.6683 +v 8.5299 1.1680 0.6097 +v 5.1927 1.0443 0.4456 +v 6.6376 1.0678 0.4456 +v 6.6376 0.5204 -0.5578 +v 5.1927 0.4970 -0.5578 +v 6.7940 0.4348 -0.7314 +v 6.7940 0.2707 -0.7314 +v 6.7940 0.5244 -0.7321 +v 6.7940 1.0195 0.6097 +v 6.9144 1.0782 0.4457 +v 8.3750 1.2001 0.4457 +v 8.3750 0.6533 -0.5552 +v 6.9144 0.5313 -0.5552 +v 6.6485 0.4585 -0.5310 +v 5.2036 0.4351 -0.5310 +v 8.3922 1.1414 0.4712 +v 8.3922 0.5946 -0.5297 +v 6.9316 1.0195 0.4712 +v 6.9316 0.4726 -0.5297 +v 6.7940 0.4585 -0.5297 +v 6.6485 1.0059 0.4724 +v 5.1975 0.9525 0.4724 +v 6.7940 1.0059 0.4712 +v 1.5311 0.2883 -0.6934 +v 1.6118 0.2883 -0.6934 +v 1.6010 0.0002 -0.7287 +v 1.4947 0.0002 -0.7287 +v 1.4947 0.0002 -0.6225 +v 1.5311 0.2883 -0.6127 +v 1.6010 0.0002 -0.6225 +v 1.6118 0.2883 -0.6127 +v 1.6010 0.5764 -0.7287 +v 1.4947 0.5764 -0.7287 +v 1.4947 0.5764 -0.6225 +v 1.6010 0.5764 -0.6225 +v 8.5534 0.2883 -0.6934 +v 8.5898 0.0002 -0.7287 +v 8.4835 0.0002 -0.7287 +v 8.4727 0.2883 -0.6934 +v 8.5534 0.2883 -0.6127 +v 8.5898 0.0002 -0.6225 +v 8.4727 0.2883 -0.6127 +v 8.4835 0.0002 -0.6225 +v 8.4835 0.5764 -0.7287 +v 8.5898 0.5764 -0.7287 +v 8.5898 0.5764 -0.6225 +v 8.4835 0.5764 -0.6225 +v 8.5309 0.3757 0.5064 +v 8.6116 0.3757 0.5064 +v 8.6008 0.0002 0.4710 +v 8.4946 0.0002 0.4710 +v 8.4946 0.0002 0.5773 +v 8.5309 0.3757 0.5870 +v 8.6008 0.0002 0.5773 +v 8.6116 0.3757 0.5870 +v 8.6008 0.7511 0.4710 +v 8.4946 0.7511 0.4710 +v 8.4946 0.7511 0.5773 +v 8.6008 0.7511 0.5773 +# 2114 vertices + +vn 0.0135 0.9890 -0.1472 +vn 0.0265 0.9811 -0.1915 +vn 0.0343 0.9897 -0.1389 +vn 0.0088 0.9885 -0.1511 +vn 0.0132 0.9813 -0.1923 +vn 0.0130 0.9890 -0.1472 +vn -0.0074 0.9871 -0.1602 +vn 0.0084 0.9868 -0.1617 +vn 0.0296 0.9851 -0.1694 +vn 0.0423 0.9755 -0.2159 +vn 0.0010 0.9852 -0.1717 +vn -0.0153 0.9773 -0.2113 +vn 0.0486 0.9565 -0.2876 +vn 0.0664 0.9545 -0.2906 +vn 0.0082 0.9566 -0.2914 +vn -0.0177 0.9650 -0.2617 +vn 0.0456 0.9392 -0.3403 +vn 0.0534 0.9486 -0.3121 +vn 0.0320 0.9392 -0.3418 +vn 0.0217 0.9641 -0.2647 +vn 0.7309 0.6762 -0.0923 +vn 0.6082 0.7906 -0.0702 +vn -0.5892 0.7907 -0.1663 +vn -0.7004 0.6803 -0.2159 +vn 0.6800 -0.7039 0.2052 +vn 0.7681 -0.6150 0.1785 +vn -0.7015 -0.7078 0.0832 +vn -0.7927 -0.6074 0.0519 +vn -0.7481 0.6065 -0.2693 +vn 0.7787 0.6144 -0.1266 +vn 0.6121 -0.7546 0.2365 +vn -0.6447 -0.7553 0.1175 +vn 0.5398 0.5886 0.6019 +vn 0.6298 0.5285 -0.5693 +vn -0.5283 0.5227 -0.6691 +vn -0.6435 0.5818 0.4974 +vn 0.7933 0.0000 -0.6089 +vn 0.7351 0.1309 -0.6652 +vn -0.6128 0.1464 -0.7765 +vn -0.6699 -0.0000 -0.7425 +vn 0.6184 0.0000 0.7859 +vn 0.6674 -0.0308 0.7441 +vn -0.7403 -0.0000 0.6723 +vn -0.7914 -0.0125 0.6112 +vn 0.8663 0.4993 0.0145 +vn -0.0156 0.9999 0.0053 +vn -0.0237 0.9882 -0.1511 +vn 0.8851 0.4651 0.0153 +vn -0.0042 0.9878 0.1556 +vn -0.8945 0.4464 -0.0229 +vn -0.8736 0.4860 -0.0229 +vn 0.4646 -0.8851 0.0267 +vn 0.4990 -0.8662 0.0267 +vn -0.0504 -0.3407 -0.9388 +vn 0.0031 0.8403 -0.5420 +vn 0.8256 0.3438 -0.4475 +vn 0.3418 -0.7581 -0.5554 +vn -0.7897 0.2845 -0.5436 +vn -0.3254 -0.8004 -0.5035 +vn -0.4463 -0.8948 -0.0114 +vn -0.4860 -0.8739 -0.0130 +vn 0.0504 -0.3664 0.9291 +vn -0.0195 0.8638 0.5035 +vn -0.7132 0.2945 0.6361 +vn -0.3239 -0.7703 0.5493 +vn 0.7201 0.3096 0.6209 +vn 0.3250 -0.7693 0.5500 +vn 0.0237 -0.9882 0.1511 +vn 0.0156 -0.9999 -0.0053 +vn 0.8919 0.4520 0.0160 +vn 0.4516 -0.8918 0.0259 +vn 0.0034 -0.9878 -0.1556 +vn -0.6115 -0.4809 -0.6283 +vn -0.5722 0.6865 -0.4486 +vn 0.5707 0.6755 -0.4669 +vn 0.6072 -0.4795 -0.6336 +vn 0.6848 -0.7208 -0.1072 +vn 0.7274 0.6486 0.2239 +vn 0.7192 0.6808 0.1389 +vn 0.6627 -0.7476 -0.0443 +vn -0.6873 -0.7135 -0.1362 +vn -0.6935 -0.7165 -0.0755 +vn -0.7458 0.6588 0.0984 +vn -0.7268 0.6617 0.1843 +vn -0.0366 -0.0859 -0.9956 +vn -0.0359 -0.0858 -0.9957 +vn 0.6649 0.0000 -0.7469 +vn 0.7033 0.0000 -0.7109 +vn -0.5485 -0.0000 0.8361 +vn -0.6858 -0.0000 -0.7278 +vn -0.7107 -0.0000 -0.7035 +vn -0.7033 -0.0000 0.7109 +vn 0.9997 0.0000 0.0259 +vn 0.0370 0.0000 0.9993 +vn 0.7225 -0.3788 -0.5783 +vn -0.0019 -0.8215 -0.5703 +vn -0.0320 0.6989 -0.7145 +vn 0.5859 0.5261 -0.6164 +vn -0.7068 0.7071 -0.0183 +vn -0.7068 -0.7071 -0.0183 +vn -0.7213 -0.6923 -0.0187 +vn -0.7210 0.6927 -0.0187 +vn -0.0027 0.8048 -0.5936 +vn -0.7086 0.3271 -0.6252 +vn -0.9038 0.4273 -0.0236 +vn -0.0240 0.9997 -0.0008 +vn 0.7068 -0.7071 0.0183 +vn 0.7068 0.7071 0.0183 +vn 0.6928 0.7209 0.0179 +vn 0.6928 -0.7209 0.0179 +vn 0.0000 -1.0000 -0.0000 +vn 0.0404 -0.9992 0.0011 +vn 0.0420 -0.9991 0.0011 +vn -0.0031 -1.0000 0.0000 +vn 0.0164 0.7193 -0.6945 +vn 0.0351 0.7011 -0.7122 +vn -0.0557 -0.6963 -0.7156 +vn -0.0443 -0.4832 -0.8744 +vn 0.4696 -0.3061 -0.8281 +vn 0.0008 -0.6981 -0.7160 +vn -0.0805 0.7054 -0.7042 +vn -0.0492 0.7136 -0.6989 +vn -0.0229 -0.7244 -0.6890 +vn -0.0366 0.6888 -0.7240 +vn -0.7321 -0.3736 -0.5696 +vn -0.5955 0.5250 -0.6081 +vn 0.6985 0.3294 -0.6352 +vn 0.8969 0.4417 0.0233 +vn -0.0404 -0.9992 -0.0011 +vn -0.0389 -0.9992 -0.0011 +vn -0.4967 -0.2784 -0.8221 +vn 0.3800 0.8850 -0.2689 +vn -0.4028 0.8657 -0.2972 +vn -0.0114 0.9999 -0.0004 +vn 0.2930 0.9038 -0.3120 +vn 0.7000 0.7139 0.0183 +vn -0.3109 0.8885 -0.3376 +vn -0.6710 0.7412 -0.0175 +vn -0.5787 0.5808 -0.5726 +vn -0.5787 -0.5808 -0.5726 +vn 0.5757 -0.5742 -0.5821 +vn 0.5757 0.5742 -0.5821 +vn 0.7234 -0.0792 -0.6859 +vn 0.9941 -0.1050 0.0259 +vn 0.6760 -0.0743 -0.7332 +vn 0.7175 0.0654 -0.6935 +vn -0.7255 0.0617 -0.6855 +vn -0.6889 0.0583 -0.7225 +vn 0.6809 0.0623 -0.7297 +vn -0.9942 -0.1045 -0.0252 +vn -0.7328 -0.0749 -0.6763 +vn -0.6843 -0.0695 -0.7259 +vn -0.9942 -0.1046 -0.0259 +vn 0.6832 0.0628 -0.7275 +vn 0.7205 0.0660 -0.6903 +vn -0.7283 0.0622 -0.6825 +vn -0.6908 0.0588 -0.7206 +vn 0.7373 -0.0758 -0.6714 +vn 0.6969 -0.0659 0.7141 +vn 0.6977 -0.0956 0.7099 +vn 0.6433 0.0724 -0.7622 +vn -0.7342 0.0777 -0.6744 +vn -0.6902 0.2141 -0.6912 +vn -0.7418 0.0796 0.6659 +vn -0.6779 0.0615 0.7326 +vn 0.7397 -0.0461 0.6714 +vn 0.6794 -0.1869 -0.7095 +vn -0.6646 -0.0883 -0.7420 +vn -0.7012 0.0601 0.7104 +vn 0.7777 -0.1556 0.6090 +vn 0.7449 -0.1260 0.6552 +vn -0.6013 0.0107 0.7990 +vn -0.7084 0.0357 0.7049 +vn 0.6653 -0.0423 -0.7454 +vn 0.5569 0.1291 -0.8205 +vn -0.7843 0.1316 -0.6062 +vn -0.7358 0.2610 -0.6248 +vn 0.7308 -0.0961 0.6758 +vn -0.7232 0.0330 0.6899 +vn 0.5284 -0.1613 -0.8336 +vn -0.8211 -0.0103 -0.5707 +vn -0.7446 -0.0717 -0.6637 +vn -0.6516 0.0699 -0.7554 +vn -0.6896 -0.1018 0.7170 +vn -0.6890 -0.0703 0.7214 +vn 0.7266 0.0827 -0.6820 +vn 0.6806 0.2272 -0.6966 +vn 0.6862 0.0572 0.7251 +vn 0.7495 0.0758 0.6576 +vn -0.7323 -0.0485 0.6793 +vn -0.6882 -0.1760 -0.7039 +vn 0.6566 -0.0928 -0.7485 +vn 0.7090 0.0565 0.7029 +vn 0.6096 0.0072 0.7927 +vn -0.7373 -0.1337 0.6622 +vn -0.7709 -0.1659 0.6149 +vn 0.7160 0.0337 0.6973 +vn -0.6736 -0.0394 -0.7381 +vn -0.5646 0.1268 -0.8156 +vn 0.7780 0.1403 -0.6124 +vn 0.7255 0.2768 -0.6301 +vn 0.7206 0.0306 0.6927 +vn -0.7134 -0.1004 0.6935 +vn -0.5485 -0.1517 -0.8222 +vn 0.8246 -0.0113 -0.5656 +vn -0.0023 -0.9818 -0.1900 +vn -0.0370 -0.5484 -0.8354 +vn 0.4890 -0.6629 -0.5669 +vn 0.6481 -0.7614 0.0168 +vn -0.0145 0.7649 -0.6439 +vn -0.0122 0.9999 0.0000 +vn 0.7999 0.5998 0.0206 +vn 0.6452 0.4725 -0.6004 +vn -0.8163 0.5772 -0.0214 +vn -0.6531 0.4740 -0.5906 +vn -0.4845 -0.6734 -0.5585 +vn -0.6813 -0.7318 -0.0175 +vn -0.7224 -0.0000 -0.6915 +vn -0.6947 0.1354 -0.7065 +vn -0.7045 0.0948 0.7033 +vn -0.6985 -0.0000 0.7156 +vn -0.5433 -0.0900 0.8347 +vn -0.5257 -0.1391 -0.8392 +vn 0.7189 0.0115 -0.6950 +vn 0.6828 0.1275 -0.7194 +vn 0.8659 -0.0899 -0.4921 +vn 0.7115 0.0066 0.7027 +vn 0.7085 0.0729 0.7020 +vn 0.8598 -0.0578 0.5073 +vn 0.4360 -0.5183 -0.7357 +vn 0.5749 -0.3782 -0.7256 +vn 0.6416 -0.4248 0.6386 +vn 0.4532 -0.1733 0.8744 +vn -0.5657 0.3819 -0.7309 +vn -0.7454 0.4359 -0.5043 +vn -0.5947 0.4293 0.6798 +vn -0.6462 0.5506 0.5285 +vn 0.7385 -0.2551 -0.6241 +vn -0.0122 -0.2025 0.9792 +vn -0.7576 0.5683 -0.3212 +vn -0.8054 0.5220 0.2807 +vn 0.6245 -0.4408 -0.6448 +vn 0.5934 -0.3613 0.7193 +vn 0.4612 -0.4908 0.7392 +vn 0.4295 -0.2011 -0.8804 +vn -0.5432 0.4033 0.7364 +vn -0.7339 0.4466 0.5117 +vn -0.6155 0.4102 -0.6730 +vn -0.6641 0.5308 -0.5265 +vn -0.0748 -0.2061 -0.9757 +vn 0.7536 -0.2519 0.6072 +vn -0.7618 0.5860 0.2762 +vn -0.8011 0.5032 -0.3242 +vn -0.7151 -0.0000 0.6991 +vn -0.7061 -0.0000 -0.7081 +vn -0.7126 0.0892 -0.6959 +vn -0.6861 0.1439 0.7132 +vn -0.4959 -0.1470 0.8558 +vn -0.5711 -0.0850 -0.8165 +vn 0.6910 0.1200 0.7128 +vn 0.7263 0.0107 0.6873 +vn 0.8561 -0.0852 0.5097 +vn 0.7004 0.0775 -0.7095 +vn 0.7038 0.0070 -0.7103 +vn 0.8696 -0.0610 -0.4900 +vn 0.7151 0.0000 -0.6991 +vn 0.7062 0.0000 0.7080 +vn 0.7127 0.0892 0.6958 +vn 0.6863 0.1440 -0.7130 +vn 0.4959 -0.1470 -0.8559 +vn 0.5710 -0.0850 0.8165 +vn -0.6908 0.1200 -0.7130 +vn -0.7262 0.0107 -0.6874 +vn -0.8559 -0.0852 -0.5100 +vn -0.7004 0.0775 0.7095 +vn -0.7038 0.0070 0.7103 +vn -0.8696 -0.0610 0.4900 +vn -0.7095 0.1789 0.6816 +vn -0.7115 0.4588 -0.5322 +vn -0.8524 0.1339 -0.5055 +vn -0.8921 -0.1267 0.4337 +vn 0.0355 -0.2669 0.9631 +vn -0.2980 0.5435 0.7848 +vn -0.3090 0.8198 -0.4822 +vn -0.0355 0.2669 -0.9631 +vn 0.0263 0.5715 0.8202 +vn -0.0153 0.8618 -0.5070 +vn 0.7172 0.1799 0.6733 +vn 0.8851 -0.1185 0.4502 +vn 0.8669 0.1389 -0.4788 +vn 0.6997 0.4689 -0.5391 +vn 0.3300 0.5331 0.7790 +vn 0.2891 0.8257 -0.4844 +vn -0.9151 0.4011 0.0408 +vn -0.9997 -0.0000 -0.0259 +vn -0.8923 -0.1267 0.4334 +vn -0.7097 0.1787 0.6815 +vn -0.2979 0.5432 0.7849 +vn -0.3967 0.9078 0.1358 +vn 0.0107 0.9872 0.1594 +vn 0.9197 0.3832 0.0854 +vn 0.7173 0.1799 0.6731 +vn 0.4216 0.8935 0.1549 +vn -0.9130 0.4068 0.0305 +vn -0.8900 -0.1068 0.4433 +vn -0.7084 0.2058 0.6752 +vn -0.2964 0.5722 0.7647 +vn -0.3952 0.9118 0.1114 +vn 0.0359 -0.2232 0.9741 +vn 0.0256 0.6008 0.7990 +vn 0.0095 0.9912 0.1320 +vn 0.9179 0.3895 0.0755 +vn 0.7167 0.2060 0.6663 +vn 0.8823 -0.1001 0.4600 +vn 0.4192 0.8985 0.1305 +vn 0.3277 0.5623 0.7593 +vn -0.9099 0.4147 0.0145 +vn -0.8866 -0.0765 0.4562 +vn -0.7065 0.2453 0.6638 +vn -0.2941 0.6132 0.7332 +vn -0.3933 0.9164 0.0748 +vn 0.0362 -0.1574 0.9869 +vn 0.0244 0.6426 0.7658 +vn 0.0084 0.9957 0.0923 +vn 0.9152 0.3985 0.0610 +vn 0.7155 0.2441 0.6545 +vn 0.8781 -0.0717 0.4730 +vn 0.4158 0.9045 0.0946 +vn 0.3243 0.6035 0.7284 +vn 0.8781 -0.0719 0.4730 +vn 0.0362 -0.1572 0.9869 +vn -0.9057 0.4238 -0.0061 +vn -0.8824 -0.0345 0.4692 +vn -0.7045 0.2952 0.6453 +vn -0.2914 0.6638 0.6888 +vn -0.3910 0.9200 0.0275 +vn 0.0366 -0.0700 0.9969 +vn 0.0229 0.6943 0.7193 +vn 0.0065 0.9991 0.0412 +vn 0.9115 0.4093 0.0404 +vn 0.7145 0.2924 0.6356 +vn 0.8725 -0.0326 0.4876 +vn 0.4116 0.9101 0.0481 +vn 0.3201 0.6550 0.6845 +vn -0.7156 0.2441 -0.6544 +vn -0.8781 -0.0719 -0.4730 +vn -0.8715 0.0807 0.4837 +vn -0.7008 0.4154 0.5800 +vn -0.3243 0.6035 -0.7285 +vn -0.0362 -0.1574 -0.9869 +vn -0.2888 0.7788 0.5569 +vn 0.0362 0.1574 0.9869 +vn -0.0244 0.6426 -0.7658 +vn -0.0362 -0.1572 -0.9869 +vn 0.0179 0.8129 0.5821 +vn 0.7065 0.2453 -0.6639 +vn 0.7122 0.4076 0.5715 +vn 0.8587 0.0772 0.5066 +vn 0.8865 -0.0765 -0.4563 +vn 0.2937 0.6132 -0.7333 +vn 0.3120 0.7715 0.5544 +vn -0.9105 0.4121 -0.0343 +vn -0.7141 0.3063 -0.6295 +vn -0.8711 -0.0208 -0.4907 +vn -0.4108 0.9111 -0.0343 +vn -0.3189 0.6697 -0.6707 +vn -0.0366 -0.0443 -0.9983 +vn -0.0061 0.9996 -0.0259 +vn -0.0221 0.7090 -0.7049 +vn -0.0366 -0.0441 -0.9984 +vn 0.9046 0.4261 0.0122 +vn 0.8812 -0.0219 -0.4723 +vn 0.7040 0.3096 -0.6392 +vn 0.3906 0.9205 -0.0137 +vn 0.2911 0.6781 -0.6749 +vn -0.0370 -0.0443 -0.9983 +vn -0.9133 0.4042 -0.0504 +vn -0.7147 0.2697 -0.6453 +vn -0.8753 -0.0517 -0.4808 +vn -0.4135 0.9078 -0.0702 +vn -0.3220 0.6310 -0.7059 +vn -0.0366 -0.1118 -0.9931 +vn -0.0072 0.9978 -0.0656 +vn -0.0237 0.6702 -0.7418 +vn 0.9077 0.4196 -0.0038 +vn 0.8846 -0.0547 -0.4631 +vn 0.7055 0.2716 -0.6546 +vn 0.3921 0.9185 -0.0504 +vn 0.2926 0.6401 -0.7104 +vn -0.9152 0.3984 -0.0610 +vn -0.4158 0.9045 -0.0946 +vn -0.0084 0.9957 -0.0923 +vn 0.9099 0.4147 -0.0145 +vn 0.8866 -0.0765 -0.4562 +vn 0.3933 0.9164 -0.0748 +vn 0.2941 0.6132 -0.7331 +vn -0.7156 0.2441 -0.6545 +vn -0.3243 0.6035 -0.7284 +vn -0.0244 0.6426 -0.7659 +vn 0.2941 0.6132 -0.7332 +vn -0.7141 0.3063 -0.6294 +vn -0.4105 0.9112 -0.0343 +vn 0.2911 0.6784 -0.6745 +vn -0.9022 0.4309 0.0168 +vn -0.7122 0.4078 -0.5714 +vn -0.8587 0.0772 -0.5066 +vn -0.4032 0.9121 0.0740 +vn -0.3120 0.7715 -0.5545 +vn -0.0362 0.1574 -0.9869 +vn -0.0019 0.9957 0.0923 +vn -0.0179 0.8129 -0.5822 +vn 0.8957 0.4400 0.0641 +vn 0.8715 0.0807 -0.4836 +vn 0.7008 0.4155 -0.5799 +vn 0.3884 0.9166 0.0954 +vn 0.2888 0.7786 -0.5571 +vn -0.7008 0.4154 0.5799 +vn -0.2888 0.7787 0.5569 +vn 0.0179 0.8129 0.5822 +vn 0.3117 0.7716 0.5546 +vn -0.8715 0.0807 0.4836 +vn -0.7008 0.4155 0.5799 +vn 0.3120 0.7715 0.5545 +vn -0.0000 1.0000 0.0000 +vn -0.6928 0.7209 -0.0183 +vn -0.7210 0.6927 -0.0191 +vn 0.0267 0.6925 0.7209 +vn 0.0256 0.7208 0.6927 +vn -0.0267 0.6924 -0.7210 +vn -0.0256 0.7207 -0.6927 +vn -0.0369 -0.0000 -0.9993 +vn 0.6928 0.7209 0.0183 +vn 0.7211 0.6926 0.0191 +vn 0.1987 0.9800 -0.0099 +vn 0.2689 0.9632 -0.0000 +vn 0.2073 0.9783 0.0046 +vn 0.2140 0.9768 0.0084 +vn 0.2691 0.9631 0.0099 +vn 0.2075 0.9782 0.0053 +vn 0.2241 0.9743 0.0206 +vn 0.2270 0.9738 0.0099 +vn 0.2382 0.9712 -0.0038 +vn 0.3086 0.9512 -0.0076 +vn 0.2388 0.9709 0.0160 +vn 0.2892 0.9568 0.0305 +vn 0.3959 0.9183 -0.0053 +vn 0.4034 0.9149 -0.0168 +vn 0.3965 0.9177 0.0221 +vn 0.3576 0.9331 0.0366 +vn 0.4604 0.8877 0.0015 +vn 0.4276 0.9039 -0.0061 +vn 0.4608 0.8874 0.0107 +vn 0.3647 0.9311 0.0107 +vn 0.1907 0.6629 -0.7240 +vn 0.2444 0.6550 0.7151 +vn 0.1665 0.7388 0.6531 +vn 0.1318 0.7242 -0.6769 +vn -0.1907 -0.6270 -0.7553 +vn -0.2251 -0.6890 -0.6889 +vn -0.1814 -0.7064 0.6842 +vn -0.1629 -0.6523 0.7402 +vn 0.3247 0.5993 0.7317 +vn 0.2728 0.6545 -0.7051 +vn -0.2506 -0.6841 -0.6850 +vn -0.1732 -0.6751 0.7171 +vn -0.5606 0.5834 -0.5877 +vn -0.5557 0.5670 0.6081 +vn 0.6070 0.5343 0.5882 +vn 0.6068 0.5339 -0.5888 +vn 0.6859 0.0000 -0.7277 +vn 0.7024 0.0000 0.7118 +vn 0.7127 0.1240 0.6905 +vn 0.7138 0.1081 -0.6920 +vn -0.6903 -0.0073 -0.7235 +vn -0.7306 -0.0000 -0.6828 +vn -0.7311 -0.0000 0.6823 +vn -0.6748 0.0186 0.7378 +vn 0.2096 0.9771 0.0359 +vn -0.0057 0.9999 0.0130 +vn 0.0853 0.5578 -0.8256 +vn 0.0862 0.5307 -0.8431 +vn -0.0729 0.5479 0.8334 +vn -0.0746 0.5157 0.8535 +vn -0.2161 0.9763 -0.0130 +vn 0.0295 -0.8296 -0.5576 +vn 0.0267 -0.8474 -0.5303 +vn 0.5819 0.3933 -0.7118 +vn 0.5131 0.8572 0.0450 +vn 0.9162 -0.3916 0.0847 +vn 0.5894 -0.7327 -0.3403 +vn 0.5106 0.3556 0.7828 +vn 0.4916 -0.7532 0.4372 +vn -0.0477 -0.8368 0.5455 +vn -0.0450 -0.8565 0.5142 +vn -0.6762 0.3579 0.6439 +vn -0.4914 0.8706 -0.0267 +vn -0.9075 -0.4109 -0.0870 +vn -0.5824 -0.7427 0.3304 +vn -0.5474 0.3789 -0.7462 +vn -0.5233 -0.7274 -0.4440 +vn 0.0055 -0.9999 -0.0130 +vn -0.2096 -0.9771 -0.0366 +vn 0.0866 0.5201 -0.8497 +vn 0.0256 -0.8536 -0.5203 +vn 0.2159 -0.9763 0.0137 +vn 0.5787 -0.4414 0.6857 +vn 0.6890 -0.4416 -0.5747 +vn 0.4547 0.7093 -0.5386 +vn 0.3547 0.7091 0.6094 +vn 0.2192 -0.7156 -0.6632 +vn 0.1354 -0.7445 -0.6537 +vn -0.1110 0.6529 -0.7492 +vn -0.2283 0.6210 -0.7498 +vn 0.1007 -0.7155 0.6913 +vn 0.0198 -0.7444 0.6674 +vn -0.3550 0.6211 0.6987 +vn -0.2395 0.6528 0.7186 +vn 0.8165 0.0000 -0.5773 +vn 0.9944 -0.0607 0.0870 +vn 0.7658 0.0000 -0.6431 +vn -0.8544 -0.0000 0.5195 +vn -0.7659 -0.0000 0.6430 +vn 0.6428 0.0000 0.7660 +vn 0.7040 0.0000 0.7102 +vn 0.0870 0.0000 -0.9962 +vn -0.9962 -0.0000 -0.0870 +vn 0.7096 0.7014 0.0679 +vn 0.5953 -0.8018 0.0519 +vn 0.6383 -0.4253 -0.6416 +vn 0.6501 0.5443 -0.5303 +vn -0.0616 0.7071 0.7044 +vn -0.0616 -0.7073 0.7042 +vn 0.6132 0.7881 0.0534 +vn -0.0752 0.5062 0.8591 +vn 0.5560 0.3933 0.7322 +vn 0.0616 -0.7073 -0.7042 +vn 0.0616 0.7072 -0.7043 +vn 0.0025 -0.9996 -0.0282 +vn 0.7120 0.7019 0.0183 +vn 0.6981 0.7153 0.0328 +vn 0.7091 -0.7003 0.0816 +vn 0.8304 -0.5524 0.0725 +vn 0.8785 -0.3013 -0.3708 +vn 0.6996 0.7075 0.0999 +vn 0.7126 -0.7003 0.0427 +vn 0.6975 0.7122 0.0786 +vn 0.7160 0.6948 0.0679 +vn 0.6920 -0.7194 0.0603 +vn 0.5489 0.5385 0.6393 +vn 0.5171 -0.4257 0.7425 +vn 0.6745 0.3934 -0.6247 +vn 0.0752 0.5062 -0.8591 +vn -0.0025 -0.9996 0.0282 +vn 0.8009 -0.3015 0.5173 +vn 0.3172 0.8858 -0.3388 +vn 0.2588 0.8838 0.3899 +vn -0.0008 1.0000 0.0076 +vn 0.3405 0.8988 -0.2762 +vn 0.0603 0.7216 -0.6897 +vn 0.2945 0.8992 0.3235 +vn -0.0603 0.7216 0.6897 +vn 0.5247 0.5773 0.6256 +vn 0.5247 -0.5773 0.6256 +vn 0.6254 -0.5774 -0.5249 +vn 0.6254 0.5774 -0.5249 +vn 0.7322 -0.1102 -0.6721 +vn 0.7939 -0.1002 -0.5998 +vn 0.0862 -0.1487 -0.9851 +vn 0.7425 0.0909 -0.6637 +vn 0.7894 0.0844 -0.6080 +vn 0.6721 0.0844 0.7356 +vn 0.6159 0.0909 0.7826 +vn -0.0875 -0.1479 0.9851 +vn -0.0862 -0.1480 0.9852 +vn 0.6775 -0.1003 0.7286 +vn 0.6014 -0.1106 0.7912 +vn 0.7870 0.0852 -0.6110 +vn 0.7382 0.0918 -0.6683 +vn 0.6689 0.0852 0.7384 +vn 0.6108 0.0918 0.7865 +vn 0.7414 -0.1027 -0.6632 +vn 0.8144 0.0076 -0.5803 +vn -0.6630 -0.1133 -0.7400 +vn -0.6521 -0.0949 -0.7522 +vn 0.6316 0.1055 0.7681 +vn 0.6075 0.2294 0.7605 +vn -0.7872 0.0869 0.6106 +vn -0.7122 0.1350 0.6889 +vn -0.6004 -0.0871 -0.7949 +vn 0.7481 -0.1777 -0.6394 +vn 0.6821 -0.0426 0.7300 +vn -0.7715 0.0625 0.6331 +vn -0.8473 0.0519 0.5286 +vn -0.5909 -0.1532 -0.7921 +vn -0.5646 -0.1650 -0.8087 +vn -0.7549 0.1160 0.6455 +vn 0.8093 -0.0832 -0.5815 +vn 0.8678 0.0495 -0.4945 +vn 0.5600 0.1604 0.8128 +vn 0.5301 0.2864 0.7981 +vn -0.7879 0.0437 0.6142 +vn -0.5917 -0.1473 -0.7926 +vn 0.8352 -0.1717 -0.5225 +vn 0.5196 0.0145 0.8543 +vn 0.6149 -0.1027 0.7819 +vn -0.7730 -0.0949 0.6273 +vn -0.7816 -0.1133 0.6134 +vn 0.7010 0.0076 0.7132 +vn 0.7552 0.1055 -0.6469 +vn 0.7303 0.2295 -0.6434 +vn -0.5818 0.1351 -0.8021 +vn -0.6693 0.0869 -0.7379 +vn -0.7295 -0.0871 0.6784 +vn 0.6260 -0.1777 0.7593 +vn 0.7985 -0.0426 -0.6005 +vn -0.6498 0.0625 -0.7575 +vn -0.6965 -0.1651 0.6983 +vn -0.7194 -0.1532 0.6775 +vn -0.7427 0.0519 -0.6676 +vn -0.6311 0.1160 -0.7669 +vn 0.6960 -0.0832 0.7132 +vn 0.7686 0.0495 0.6378 +vn 0.6925 0.1603 -0.7034 +vn 0.6605 0.2861 -0.6942 +vn -0.7204 -0.1473 0.6777 +vn -0.6693 0.0437 -0.7417 +vn 0.7316 -0.1716 0.6597 +vn 0.6604 0.0145 -0.7508 +vn 0.6092 -0.6437 -0.4631 +vn 0.8347 -0.5459 0.0732 +vn 0.2647 -0.9640 0.0229 +vn 0.0591 -0.7354 -0.6751 +vn 0.6581 0.7508 0.0572 +vn 0.6428 0.5040 -0.5769 +vn 0.0681 0.6242 -0.7783 +vn -0.0681 0.6241 0.7783 +vn -0.0589 -0.7354 0.6750 +vn 0.5196 -0.6440 0.5615 +vn 0.5328 0.5040 0.6798 +vn 0.6483 0.0000 0.7614 +vn -0.7808 -0.0000 0.6248 +vn -0.7488 0.1037 0.6546 +vn 0.6321 0.1361 0.7628 +vn 0.7496 -0.1320 0.6487 +vn -0.8390 -0.0957 0.5356 +vn 0.7638 0.1125 -0.6356 +vn 0.7633 0.0103 -0.6460 +vn 0.6262 -0.0897 -0.7745 +vn -0.6325 0.0792 -0.7705 +vn -0.6508 0.0071 -0.7592 +vn -0.4791 -0.0678 -0.8751 +vn -0.7707 -0.0000 0.6372 +vn -0.7549 0.1360 0.6416 +vn 0.6235 0.1036 0.7749 +vn 0.6604 0.0000 0.7509 +vn 0.7335 -0.0957 0.6729 +vn -0.8507 -0.1320 0.5089 +vn -0.6398 0.0103 -0.7685 +vn -0.6418 0.1125 -0.7586 +vn -0.4822 -0.0897 -0.8714 +vn 0.7727 0.0071 -0.6348 +vn 0.7569 0.0792 -0.6487 +vn 0.6236 -0.0678 -0.7788 +vn 0.7708 0.0000 -0.6371 +vn 0.7549 0.1360 -0.6415 +vn -0.6235 0.1036 -0.7749 +vn -0.6606 -0.0000 -0.7508 +vn -0.7335 -0.0956 -0.6729 +vn 0.8507 -0.1320 -0.5089 +vn 0.6399 0.0103 0.7684 +vn 0.6418 0.1125 0.7586 +vn 0.4822 -0.0897 0.8715 +vn -0.7727 0.0071 0.6348 +vn -0.7570 0.0792 0.6486 +vn -0.6235 -0.0678 0.7789 +vn -0.7361 0.2604 0.6249 +vn -0.6206 -0.1072 0.7768 +vn 0.4593 0.1041 0.8822 +vn 0.4541 0.5106 0.7301 +vn -0.8117 0.5630 0.1556 +vn -0.9778 -0.1913 -0.0854 +vn 0.4768 0.8355 0.2731 +vn 0.9778 0.1913 0.0855 +vn -0.8202 0.5676 -0.0717 +vn 0.5203 0.8528 0.0458 +vn -0.6163 0.2604 -0.7432 +vn 0.5739 0.5108 -0.6401 +vn 0.6056 0.1041 -0.7889 +vn -0.4761 -0.1072 -0.8728 +vn -0.7722 0.5630 -0.2945 +vn 0.5169 0.8356 -0.1862 +vn -0.1877 0.4927 0.8497 +vn -0.6205 -0.1072 0.7769 +vn -0.0872 -0.0000 0.9962 +vn -0.2384 0.9290 0.2830 +vn -0.8116 0.5631 0.1556 +vn -0.9778 -0.1913 -0.0855 +vn -0.2224 0.9747 -0.0198 +vn -0.0374 0.4925 -0.8695 +vn 0.0872 0.0000 -0.9962 +vn -0.6165 0.2604 -0.7431 +vn -0.1858 0.9291 -0.3197 +vn -0.1688 0.4952 0.8522 +vn -0.7266 0.2838 0.6257 +vn -0.6224 -0.0889 0.7776 +vn -0.2031 0.9362 0.2869 +vn -0.7913 0.5907 0.1579 +vn -0.9835 -0.1591 -0.0862 +vn -0.1854 0.9825 -0.0160 +vn -0.7996 0.5964 -0.0702 +vn -0.0181 0.4949 -0.8687 +vn -0.4774 -0.0889 -0.8742 +vn -0.6067 0.2838 -0.7425 +vn -0.1503 0.9363 -0.3174 +vn -0.7518 0.5907 -0.2930 +vn -0.1408 0.4974 0.8560 +vn -0.7111 0.3178 0.6272 +vn -0.6238 -0.0620 0.7791 +vn -0.1505 0.9447 0.2914 +vn -0.7596 0.6299 0.1617 +vn -0.9900 -0.1114 -0.0870 +vn -0.1303 0.9914 -0.0114 +vn -0.7676 0.6374 -0.0671 +vn 0.0101 0.4974 -0.8674 +vn -0.4789 -0.0620 -0.8757 +vn -0.5911 0.3178 -0.7414 +vn -0.0975 0.9445 -0.3136 +vn -0.7198 0.6300 -0.2914 +vn -0.7110 0.3177 0.6273 +vn -0.6239 -0.0620 0.7790 +vn -0.1507 0.9447 0.2914 +vn -0.1301 0.9914 -0.0114 +vn -0.0977 0.9445 -0.3136 +vn -0.7675 0.6375 -0.0671 +vn -0.1043 0.4982 0.8608 +vn -0.6883 0.3607 0.6294 +vn -0.6239 -0.0273 0.7810 +vn -0.0816 0.9510 0.2983 +vn -0.7156 0.6785 0.1663 +vn -0.9950 -0.0494 -0.0870 +vn -0.0580 0.9983 -0.0053 +vn -0.7228 0.6882 -0.0633 +vn 0.0467 0.4982 -0.8658 +vn -0.4789 -0.0273 -0.8775 +vn -0.5685 0.3607 -0.7394 +vn -0.0284 0.9509 -0.3082 +vn -0.6757 0.6784 -0.2884 +vn 0.5911 0.3178 0.7414 +vn -0.6164 0.4639 0.6363 +vn -0.6147 0.0610 0.7864 +vn 0.4789 -0.0620 0.8757 +vn 0.9899 -0.1116 0.0870 +vn 0.7198 0.6300 0.2914 +vn -0.5875 0.7891 0.1793 +vn -0.9900 0.1114 -0.0870 +vn 0.9900 -0.1114 0.0870 +vn 0.7676 0.6374 0.0671 +vn -0.5924 0.8040 -0.0519 +vn 0.7111 0.3178 -0.6272 +vn 0.6238 -0.0620 -0.7791 +vn -0.4690 0.0610 -0.8811 +vn -0.4963 0.4639 -0.7338 +vn 0.7596 0.6300 -0.1617 +vn -0.5475 0.7891 -0.2785 +vn -0.0574 0.4978 0.8654 +vn 0.4784 -0.0172 0.8780 +vn 0.5610 0.3729 0.7391 +vn 0.6623 0.6922 0.2869 +vn 0.0082 0.9518 0.3067 +vn 0.9957 -0.0311 0.0870 +vn 0.7092 0.7023 0.0618 +vn 0.0364 0.9993 0.0031 +vn 0.0937 0.4978 -0.8622 +vn 0.6810 0.3729 -0.6303 +vn 0.6237 -0.0172 -0.7814 +vn 0.0871 0.0000 -0.9962 +vn 0.0612 0.9518 -0.3006 +vn 0.7021 0.6920 -0.1678 +vn -0.0292 0.4982 0.8666 +vn 0.4791 -0.0439 0.8766 +vn 0.5798 0.3403 0.7403 +vn 0.6973 0.6556 0.2899 +vn 0.0616 0.9486 0.3105 +vn 0.9931 -0.0790 0.0870 +vn 0.7446 0.6643 0.0648 +vn 0.0925 0.9957 0.0084 +vn 0.1217 0.4982 -0.8585 +vn 0.6994 0.3403 -0.6286 +vn 0.6243 -0.0439 -0.7800 +vn 0.1146 0.9485 -0.2953 +vn 0.7369 0.6557 -0.1640 +vn -0.0101 0.4974 0.8674 +vn 0.7199 0.6300 0.2914 +vn 0.0977 0.9445 0.3136 +vn 0.1303 0.9914 0.0114 +vn 0.1408 0.4974 -0.8560 +vn 0.1505 0.9447 -0.2914 +vn 0.4783 -0.0172 0.8780 +vn 0.6622 0.6922 0.2869 +vn 0.6238 -0.0172 -0.7814 +vn 0.7020 0.6921 -0.1678 +vn -0.1400 0.4883 0.8614 +vn 0.4689 0.0610 0.8811 +vn 0.4965 0.4637 0.7338 +vn 0.5475 0.7891 0.2785 +vn -0.1507 0.9442 0.2930 +vn 0.9900 0.1114 0.0870 +vn 0.5925 0.8039 0.0519 +vn 0.0117 0.4883 -0.8726 +vn 0.6164 0.4639 -0.6363 +vn 0.6147 0.0610 -0.7864 +vn -0.0975 0.9441 -0.3151 +vn 0.5876 0.7891 -0.1793 +vn -0.4691 0.0610 -0.8810 +vn -0.4965 0.4637 -0.7338 +vn 0.4790 -0.0620 0.8756 +vn -0.4966 0.4637 -0.7338 +vn -0.7045 0.7070 -0.0618 +vn 0.7044 0.7071 0.0618 +vn 0.9962 0.0000 0.0870 +vn -0.6045 -0.5330 -0.5921 +vn 0.7548 -0.4607 -0.4669 +vn 0.8091 -0.5137 -0.2853 +vn -0.8513 -0.2926 -0.4356 +vn 0.6794 0.4787 0.5562 +vn 0.3839 0.6087 0.6943 +vn -0.7292 0.5187 0.4463 +vn -0.5018 0.6546 0.5653 +vn -0.9262 -0.2822 -0.2502 +vn 0.7838 -0.3283 -0.5272 +vn 0.3097 0.6756 0.6691 +vn -0.4288 0.6329 0.6447 +vn -0.7472 -0.5135 -0.4219 +vn -0.6621 -0.4605 -0.5913 +vn 0.6980 -0.5328 -0.4784 +vn 0.9141 -0.2926 -0.2808 +vn -0.7657 0.4787 0.4295 +vn -0.4986 0.6086 0.6172 +vn 0.6408 0.5186 0.5661 +vn 0.3959 0.6547 0.6439 +vn -0.6802 -0.3283 -0.6554 +vn 0.9555 -0.2821 -0.0862 +vn -0.4212 0.6757 0.6050 +vn 0.3105 0.6332 0.7089 +vn -0.0198 0.9780 -0.2075 +vn -0.1722 0.9594 -0.2236 +vn 0.1265 0.9884 -0.0847 +vn -0.0153 0.9527 -0.3037 +vn 0.2132 0.9613 -0.1747 +vn 0.3605 0.9244 0.1243 +vn 0.4048 0.9138 0.0328 +vn -0.0248 0.9917 0.1259 +vn 0.4482 0.8868 0.1129 +vn 0.0996 0.6702 -0.7354 +vn 0.3283 0.6486 0.6867 +vn 0.2445 0.7467 0.6186 +vn 0.0437 0.7171 -0.6956 +vn -0.2775 -0.6071 -0.7446 +vn -0.3035 -0.6842 -0.6632 +vn -0.0984 -0.7122 0.6951 +vn -0.0755 -0.6694 0.7391 +vn 0.4027 0.5785 0.7093 +vn 0.1919 0.6731 -0.7142 +vn -0.3319 -0.6902 -0.6431 +vn -0.0797 -0.6712 0.7370 +vn -0.7004 0.6803 -0.2160 +vn 0.7679 -0.6151 0.1785 +vn -0.7927 -0.6073 0.0519 +vn -0.7481 0.6064 -0.2693 +vn 0.6120 -0.7546 0.2365 +vn -0.6449 -0.7552 0.1175 +vn -0.7446 0.6024 0.2876 +vn 0.3855 0.5740 0.7224 +vn 0.7714 0.5030 -0.3899 +vn -0.3155 0.4810 -0.8180 +vn -0.3497 0.2346 -0.9070 +vn -0.4784 -0.0000 -0.8782 +vn 0.9344 0.0000 -0.3563 +vn 0.8702 0.2228 -0.4395 +vn -0.9323 -0.0413 0.3594 +vn -0.8895 -0.0000 0.4570 +vn 0.3501 0.0000 0.9367 +vn 0.4708 -0.0163 0.8821 +vn 0.7055 -0.0105 -0.7086 +vn 0.7008 0.0000 -0.7134 +vn 0.7348 0.0000 0.6783 +vn 0.6868 0.0708 0.7234 +vn 0.7055 0.0105 -0.7086 +vn 0.6868 -0.0708 0.7234 +vn -0.6929 -0.0000 -0.7210 +vn -0.7269 0.0367 -0.6857 +vn -0.7269 -0.0368 -0.6857 +vn -0.7122 -0.0000 0.7019 +vn -0.6904 0.1207 0.7133 +vn -0.6904 -0.1207 0.7133 +vn 0.5788 0.5809 0.5723 +vn 0.5757 0.5742 -0.5822 +vn -0.5787 0.5809 -0.5723 +vn -0.5759 0.5741 0.5820 +vn 0.7031 0.0000 -0.7111 +vn 0.7109 0.0000 0.7033 +vn -0.7109 -0.0000 -0.7033 +vn -0.2926 0.9112 0.2899 +vn -0.3105 0.8976 -0.3128 +vn 0.5789 0.5810 0.5722 +vn 0.5757 0.5741 -0.5822 +vn 0.3178 0.8964 0.3090 +vn -0.5787 0.5806 -0.5728 +vn 0.2849 0.9124 -0.2937 +vn -0.5759 0.5742 0.5820 +vn 0.7347 0.0000 0.6784 +vn -0.6931 -0.0000 -0.7208 +vn 0.7069 0.7071 0.0183 +vn 0.5788 0.5808 0.5724 +vn 0.5868 -0.5689 0.5762 +vn 0.6977 -0.7162 0.0168 +vn -0.0259 0.7072 -0.7066 +vn 0.5758 0.5741 -0.5821 +vn 0.5835 -0.5623 -0.5860 +vn -0.0240 -0.7186 -0.6951 +vn -0.7069 0.7071 -0.0183 +vn -0.5789 0.5808 -0.5723 +vn -0.5869 -0.5689 -0.5761 +vn -0.6977 -0.7162 -0.0168 +vn 0.0259 0.7073 0.7065 +vn -0.5757 0.5742 0.5822 +vn -0.5833 -0.5625 0.5860 +vn 0.0240 -0.7186 0.6951 +vn 0.0027 -1.0000 -0.0000 +vn -0.0015 -1.0000 0.0015 +vn 0.0000 -1.0000 -0.0023 +vn 0.0011 -1.0000 0.0008 +vn -0.0027 -1.0000 0.0000 +vn 0.0015 -1.0000 -0.0015 +vn 0.0000 -1.0000 0.0023 +vn -0.0011 -1.0000 -0.0008 +vn -0.6376 -0.0107 0.7703 +vn -0.6326 -0.0000 0.7745 +vn -0.7934 -0.0000 -0.6087 +vn -0.7508 0.0682 -0.6570 +vn -0.6376 0.0107 0.7703 +vn -0.7508 -0.0683 -0.6570 +vn 0.7566 0.0000 0.6539 +vn 0.7871 0.0362 0.6158 +vn 0.7871 -0.0362 0.6158 +vn 0.6444 0.0000 -0.7647 +vn 0.6222 0.1241 -0.7729 +vn 0.6222 -0.1242 -0.7729 +vn -0.4426 0.8966 -0.0153 +vn -0.4547 0.8724 0.1793 +vn -0.0008 1.0000 -0.0023 +vn -0.3155 0.8195 0.4785 +vn 0.1209 0.8231 0.5548 +vn 0.4017 0.8668 0.2953 +vn 0.4432 0.8926 0.0824 +vn 0.4524 0.8892 -0.0687 +vn 0.4181 0.8485 -0.3244 +vn 0.0965 0.8110 -0.5770 +vn -0.3109 0.8384 -0.4477 +vn -0.4300 0.8837 -0.1847 +vn -0.8452 0.3597 0.3953 +vn -0.8767 0.2880 0.3853 +vn -0.9641 0.2643 -0.0252 +vn -0.9435 0.3307 -0.0214 +vn -0.4566 0.4067 0.7913 +vn -0.4883 0.3422 0.8028 +vn 0.1900 0.4124 0.8910 +vn 0.2110 0.3513 0.9122 +vn 0.7010 0.3693 0.6102 +vn 0.7366 0.2976 0.6073 +vn 0.9169 0.3330 0.2198 +vn 0.9392 0.2659 0.2174 +vn 0.9223 0.3403 -0.1831 +vn 0.9466 0.2716 -0.1739 +vn 0.6946 0.3845 -0.6080 +vn 0.7320 0.3135 -0.6049 +vn 0.1446 0.4173 -0.8972 +vn 0.1526 0.3586 -0.9209 +vn -0.4841 0.3941 -0.7813 +vn -0.5207 0.3250 -0.7895 +vn -0.8400 0.3468 -0.4173 +vn -0.8684 0.2769 -0.4113 +vn -0.8938 -0.1408 0.4257 +vn -0.9914 -0.1289 -0.0214 +vn -0.4862 -0.1589 0.8593 +vn 0.1995 -0.1608 0.9666 +vn 0.7412 -0.1446 0.6555 +vn 0.9637 -0.1299 0.2335 +vn 0.9714 -0.1329 -0.1968 +vn 0.7379 -0.1507 -0.6578 +vn 0.1553 -0.1625 -0.9744 +vn -0.5125 -0.1543 -0.8447 +vn -0.8853 -0.1356 -0.4448 +vn -0.8320 -0.4234 0.3586 +vn -0.9210 -0.3887 -0.0244 +vn -0.4574 -0.4944 0.7392 +vn 0.1995 -0.5049 0.8398 +vn 0.6989 -0.4361 0.5669 +vn 0.8969 -0.3914 0.2060 +vn 0.9022 -0.3996 -0.1625 +vn 0.6903 -0.4583 -0.5599 +vn 0.1415 -0.5142 -0.8459 +vn -0.4917 -0.4731 -0.7310 +vn -0.8273 -0.4074 -0.3868 +vn -0.5952 0.5356 -0.5990 +vn -0.5926 0.5265 0.6096 +vn 0.5952 0.5356 0.5991 +vn 0.5925 0.5264 -0.6097 +vn 0.7107 0.0000 -0.7035 +vn 0.7183 0.0000 0.6958 +vn 0.6997 0.1206 0.7042 +vn 0.6913 0.1282 -0.7111 +vn -0.7183 -0.0000 -0.6958 +vn -0.6997 0.1206 -0.7042 +vn -0.7107 -0.0000 0.7035 +vn -0.6913 0.1282 0.7111 +vn -0.5949 0.5356 -0.5993 +vn -0.5925 0.5266 0.6096 +vn 0.5950 0.5358 0.5991 +vn 0.5925 0.5266 -0.6096 +vn 0.7108 0.0000 -0.7034 +vn 0.7182 0.0000 0.6958 +vn 0.6995 0.1205 0.7044 +vn -0.6995 0.1205 -0.7044 +vn -0.7107 -0.0000 0.7034 +vn 0.7234 0.0000 0.6904 +vn 0.7160 0.0000 0.6981 +vn 0.6857 0.0025 0.7279 +vn 0.6898 0.0019 0.7240 +vn 0.6994 -0.0002 0.7147 +vn 0.7023 0.0000 0.7119 +vn 0.7084 0.0000 0.7058 +vn 0.7166 0.0000 0.6975 +vn 0.7157 0.0271 0.6979 +vn 0.7084 0.0122 0.7057 +vn 0.7232 0.0332 0.6898 +vn 0.7311 0.0656 0.6791 +vn 0.7335 0.0542 0.6776 +vn 0.6915 0.0643 0.7195 +vn 0.7015 0.1234 0.7019 +vn 0.7119 0.1116 0.6934 +vn 0.7000 0.0574 0.7118 +vn 0.7076 0.0500 0.7049 +vn 0.7226 0.0967 0.6845 +vn 0.7288 0.0763 0.6804 +vn 0.7157 0.0391 0.6974 +vn 0.7314 0.0261 0.6814 +vn 0.7500 0.0544 0.6592 +vn 0.7515 0.0277 0.6592 +vn 0.6888 0.0061 0.7249 +vn 0.6909 0.0772 0.7188 +vn 0.7390 0.0650 0.6705 +vn 0.7434 0.0744 0.6647 +vn 0.7147 0.1205 0.6890 +vn 0.6987 0.1308 0.7033 +vn 0.7104 0.1282 0.6921 +vn 0.7380 0.0938 0.6682 +vn 0.7239 0.1091 0.6812 +vn 0.7084 0.0019 0.7058 +vn 0.7283 0.0057 0.6852 +vn 0.6817 0.0082 0.7316 +vn 0.7459 0.0078 0.6660 +vn 0.3522 -0.5390 -0.7651 +vn 0.9098 -0.4135 -0.0366 +vn 0.6909 -0.6014 0.4013 +vn -0.1072 -0.9197 -0.3777 +vn -0.0796 0.3017 -0.9501 +vn -0.7758 0.1783 -0.6052 +vn 0.2146 0.9219 -0.3225 +vn -0.2037 0.9705 0.1289 +vn 0.8262 0.4990 0.2617 +vn 0.6217 0.4208 0.6606 +vn -0.9376 0.2333 -0.2579 +vn -0.0053 -0.0067 -1.0000 +vn -0.0240 0.0578 -0.9980 +vn -0.9300 0.2485 -0.2708 +vn -0.5910 0.1646 0.7897 +vn -0.6324 0.1389 0.7621 +vn 0.6093 -0.1348 0.7814 +vn 0.6033 -0.1670 0.7799 +vn 0.9433 -0.2321 -0.2373 +vn 0.9410 -0.2129 -0.2632 +vn -0.3342 0.7081 0.6220 +vn 0.6496 0.4493 0.6133 +vn 0.8970 0.3906 -0.2068 +vn -0.5706 0.7909 -0.2213 +vn 0.1400 0.5421 -0.8286 +vn -0.0164 -0.0521 -0.9985 +vn -0.9368 0.2178 -0.2739 +vn -0.5951 0.1923 0.7803 +vn 0.6266 -0.1124 0.7712 +vn 0.9346 -0.2476 -0.2556 +vn -0.9986 -0.0462 -0.0259 +vn -0.2396 -0.9709 -0.0061 +vn -0.2869 -0.9579 -0.0076 +vn -0.9987 -0.0443 -0.0259 +vn -0.3517 0.9361 -0.0092 +vn -0.3941 0.9190 -0.0099 +vn 0.7982 0.6020 0.0206 +vn 0.7805 0.6248 0.0206 +vn 0.8549 -0.5184 0.0221 +vn 0.8423 -0.5386 0.0221 +vn -0.9378 0.2325 -0.2578 +vn -0.0053 -0.0076 -1.0000 +vn -0.0191 0.0543 -0.9983 +vn -0.9299 0.2472 -0.2724 +vn -0.5911 0.1637 0.7898 +vn -0.6300 0.1363 0.7645 +vn 0.6090 -0.1358 0.7814 +vn 0.6046 -0.1693 0.7783 +vn 0.9429 -0.2329 -0.2380 +vn 0.9409 -0.2143 -0.2624 +vn -0.3342 0.7080 0.6221 +vn 0.6266 -0.1123 0.7712 +vn 0.7806 0.6247 0.0206 +vn 0.8547 -0.5186 0.0221 +vn -0.7272 -0.0000 0.6865 +vn -0.7085 -0.0000 -0.7057 +vn -0.7135 -0.0098 -0.7006 +vn -0.6791 0.0751 0.7302 +vn -0.7135 0.0099 -0.7006 +vn -0.6791 -0.0750 0.7302 +vn 0.6850 0.0000 -0.7286 +vn 0.7194 0.0390 -0.6935 +vn 0.7194 -0.0389 -0.6935 +vn 0.7197 0.0000 0.6943 +vn 0.6986 0.1135 0.7065 +vn 0.6986 -0.1135 0.7065 +vn 0.8423 -0.5385 0.0221 +vn 0.7984 0.6018 0.0206 +vn -0.3940 0.9190 -0.0099 +vn 0.8548 -0.5185 0.0221 +vn 0.8548 -0.5186 0.0221 +vn -0.9987 -0.0442 -0.0259 +vn 0.9969 0.0000 -0.0786 +vn 0.9905 0.1147 -0.0763 +vn -0.0626 0.1158 -0.9913 +vn -0.0950 -0.0000 -0.9955 +vn -0.2796 -0.1066 -0.9542 +vn 0.9918 -0.1139 0.0572 +vn 0.0675 0.0125 0.9976 +vn 0.0858 0.1349 0.9871 +vn -0.2052 -0.1025 0.9733 +vn -0.9975 0.0058 0.0710 +vn -0.9944 0.0650 0.0839 +vn -0.9715 -0.0552 0.2304 +vn -0.6855 -0.0000 -0.7280 +vn -0.7117 0.0026 -0.7025 +vn 0.7023 -0.0028 -0.7118 +vn 0.7627 0.0000 -0.6468 +vn -0.9997 0.0036 -0.0259 +vn 0.4753 0.8514 0.2220 +vn 0.0696 0.8741 0.4806 +vn 0.6676 0.4555 -0.5890 +vn -0.4571 0.6835 -0.5692 +vn -0.6398 0.7685 0.0107 +vn 0.7779 0.6269 0.0443 +vn -0.6398 0.7685 0.0122 +vn -0.4795 0.6298 0.6111 +vn -0.6954 0.7186 0.0092 +vn 0.6698 0.4569 0.5854 +vn 0.7990 0.3105 -0.5150 +vn -0.2519 0.8301 -0.4974 +vn -0.3190 0.7414 0.5904 +vn 0.7329 0.2053 0.6486 +vn 0.9997 -0.0036 0.0259 +vn 0.9997 -0.0037 0.0259 +vn -0.6548 0.7558 -0.0076 +vn 0.7651 0.6433 0.0275 +vn 0.7776 0.6272 0.0435 +vn 0.7660 0.6422 0.0282 +vn 0.8665 0.4984 0.0267 +vn 0.7381 0.6733 0.0427 +vn -0.6555 0.7551 -0.0076 +vn -0.6893 0.7243 -0.0153 +vn 0.8177 0.3500 -0.4570 +vn -0.2476 0.8669 -0.4326 +vn -0.2987 0.6636 0.6859 +vn 0.7069 0.1493 0.6914 +vn 0.4515 0.8535 -0.2602 +vn 0.5074 0.7968 0.3281 +vn 0.2501 0.9682 -0.0061 +vn 0.0654 0.9367 -0.3441 +vn 0.5489 0.8311 -0.0893 +vn -0.1656 0.9075 0.3861 +vn 0.5310 0.7600 0.3746 +vn 0.2636 0.9637 0.0435 +vn -0.0326 0.9558 -0.2922 +vn 0.1663 0.9031 0.3960 +vn 0.3174 0.9472 0.0450 +vn 0.7101 -0.0026 0.7041 +vn -0.7040 0.0028 0.7101 +vn -0.6740 -0.0000 0.7387 +vn 0.7631 0.0000 0.6462 +vn 0.4643 0.8641 -0.1946 +vn -0.4633 0.6740 0.5753 +vn 0.6767 0.4566 0.5775 +vn 0.0267 0.8740 -0.4853 +vn 0.7777 0.6287 -0.0031 +vn -0.6401 0.7670 -0.0450 +vn -0.6401 0.7669 -0.0465 +vn -0.6958 0.7169 -0.0435 +vn -0.4748 0.6371 -0.6072 +vn 0.6614 0.4545 -0.5967 +vn -0.3107 0.7496 -0.5844 +vn -0.2569 0.8267 0.5005 +vn 0.8059 0.3091 0.5050 +vn 0.7241 0.2003 -0.6600 +vn 0.7774 0.6290 -0.0015 +vn 0.7856 0.6186 0.0130 +vn -0.6184 0.7855 -0.0259 +vn 0.7377 0.6751 -0.0061 +vn 0.8560 0.5167 0.0175 +vn 0.7864 0.6176 0.0130 +vn -0.6191 0.7849 -0.0259 +vn -0.7177 0.6960 -0.0214 +vn -0.2913 0.6731 -0.6798 +vn -0.2523 0.8636 0.4364 +vn 0.8233 0.3467 0.4494 +vn 0.6989 0.1445 -0.7005 +vn 0.4549 0.8433 0.2861 +vn 0.5026 0.8103 -0.3014 +vn 0.2321 0.9725 0.0175 +vn 0.0992 0.9370 0.3349 +vn 0.5483 0.8273 0.1221 +vn -0.2085 0.9002 -0.3822 +vn 0.5234 0.7768 -0.3502 +vn 0.2615 0.9647 -0.0298 +vn 0.0050 0.9600 0.2800 +vn 0.1246 0.9101 -0.3953 +vn 0.3153 0.9486 -0.0282 +vn -0.8169 -0.0000 0.5768 +vn -0.6258 -0.3861 0.6777 +vn 0.0195 0.0000 0.9998 +vn 0.2014 -0.6946 0.6906 +vn 0.5961 -0.5506 0.5844 +vn 0.8169 0.0000 0.5768 +vn 0.5961 0.5506 0.5844 +vn 0.0128 0.8059 0.5918 +vn -0.5834 0.5641 0.5844 +vn -0.9336 -0.3574 -0.0244 +vn -0.9998 -0.0000 -0.0175 +vn 0.7233 -0.6904 0.0122 +vn 0.4091 -0.9123 0.0198 +vn 0.9998 0.0000 0.0175 +vn 0.7233 0.6904 0.0122 +vn -0.7233 0.6904 -0.0122 +vn -0.6408 -0.3639 -0.6760 +vn -0.8169 -0.0000 -0.5768 +vn 0.5834 -0.5641 -0.5844 +vn 0.1585 -0.7154 -0.6805 +vn 0.8169 0.0000 -0.5768 +vn 0.5834 0.5641 -0.5844 +vn -0.0128 0.8059 -0.5918 +vn -0.5961 0.5506 -0.5844 +vn -0.0195 -0.0000 -0.9998 +vn -0.7818 -0.5180 0.3471 +vn -0.5596 -0.8286 0.0130 +vn 0.0134 -0.8211 0.5707 +vn -0.0069 -0.9903 -0.1389 +vn 0.5627 -0.8261 0.0298 +vn 0.7819 -0.5022 0.3693 +vn 0.6193 -0.1894 0.7620 +vn 0.0208 -0.0265 0.9994 +vn -0.6067 -0.1945 0.7707 +vn -0.6661 0.0305 -0.7452 +vn -0.8609 0.3989 -0.3159 +vn -0.0139 -0.1853 -0.9826 +vn 0.6618 0.0254 -0.7492 +vn 0.8571 0.4195 -0.2991 +vn 0.6506 0.7470 0.1366 +vn 0.0113 0.9122 0.4097 +vn -0.6614 0.7353 0.1480 +vn 0.7166 0.0000 -0.6975 +vn 0.6728 0.0000 0.7399 +vn 0.7442 0.0499 0.6660 +vn 0.6789 0.1998 -0.7065 +vn -0.6653 0.0996 -0.7399 +vn -0.7553 -0.0000 -0.6554 +vn -0.7063 -0.0584 0.7055 +vn -0.6993 -0.0000 0.7149 +vn 0.7442 -0.0499 0.6660 +vn 0.6789 -0.1999 -0.7065 +vn -0.6653 -0.0996 -0.7399 +vn -0.7063 0.0584 0.7055 +vn 0.7130 0.0000 -0.7011 +vn 0.6819 0.0000 0.7315 +vn 0.7372 0.0373 0.6746 +vn 0.6867 0.1546 -0.7103 +vn -0.6761 0.0753 -0.7330 +vn -0.7451 -0.0000 -0.6670 +vn -0.7055 -0.0449 0.7072 +vn -0.7000 -0.0000 0.7141 +vn 0.7372 -0.0373 0.6746 +vn 0.6867 -0.1545 -0.7103 +vn -0.6761 -0.0752 -0.7330 +vn -0.7055 0.0449 0.7072 +vn 0.7240 0.0000 0.6898 +vn 0.6883 0.1882 0.7005 +vn 0.7366 0.0524 -0.6743 +vn 0.6648 0.0000 -0.7470 +vn -0.7486 -0.0000 0.6630 +vn -0.6573 0.1050 0.7462 +vn -0.7070 -0.0000 -0.7072 +vn -0.7139 -0.0549 -0.6981 +vn 0.7366 -0.0524 -0.6743 +vn 0.6883 -0.1883 0.7005 +vn -0.6573 -0.1050 0.7462 +vn -0.7139 0.0549 -0.6981 +vn -0.7144 -0.0000 0.6997 +vn -0.7018 0.0040 0.7124 +vn -0.7122 -0.0038 -0.7019 +vn -0.6630 -0.0000 -0.7486 +vn 0.0370 0.0051 0.9993 +vn 0.0368 0.0000 0.9993 +vn 0.1970 0.8805 -0.4311 +vn 0.4866 0.8721 0.0511 +vn -0.5691 0.5103 -0.6448 +vn -0.5652 0.6469 0.5119 +vn 0.0637 0.7472 0.6615 +vn 0.0055 0.6457 -0.7636 +vn 0.0658 0.7470 0.6615 +vn 0.6125 0.5972 0.5179 +vn 0.0610 0.7200 0.6913 +vn 0.5926 0.4910 -0.6386 +vn -0.5277 0.2999 -0.7947 +vn -0.5278 0.8091 0.2586 +vn 0.5964 0.7372 0.3174 +vn 0.6129 0.2264 -0.7570 +vn -0.0370 -0.0051 -0.9993 +vn -0.0369 -0.0052 -0.9993 +vn -0.0368 -0.0000 -0.9993 +vn 0.0370 0.7675 0.6400 +vn -0.0173 0.6369 -0.7708 +vn 0.0040 0.6464 -0.7630 +vn -0.0174 0.6352 -0.7721 +vn -0.0256 0.5730 -0.8192 +vn 0.0086 0.6883 -0.7254 +vn 0.0369 0.0052 0.9993 +vn 0.0371 0.7667 0.6409 +vn 0.0324 0.6979 0.7155 +vn -0.4877 0.3418 -0.8033 +vn -0.4669 0.8470 0.2540 +vn 0.6844 0.6729 0.2808 +vn 0.6434 0.1783 -0.7444 +vn -0.3576 0.8403 -0.4074 +vn 0.3627 0.8148 -0.4524 +vn -0.0227 0.9859 -0.1656 +vn -0.3447 0.9387 -0.0099 +vn -0.1041 0.8438 -0.5265 +vn 0.3559 0.9189 0.1701 +vn 0.4420 0.7767 -0.4487 +vn 0.0456 0.9798 -0.1945 +vn -0.2251 0.9725 0.0603 +vn 0.3389 0.9403 -0.0298 +vn 0.0446 0.9713 -0.2334 +vn 0.7046 -0.0040 -0.7096 +vn 0.7093 0.0038 0.7049 +vn 0.7206 0.0000 0.6934 +vn 0.6479 0.0000 -0.7617 +vn 0.0364 0.0051 0.9993 +vn -0.2314 0.8668 -0.4417 +vn 0.5686 0.6552 0.4974 +vn 0.5669 0.5062 -0.6499 +vn -0.4793 0.8774 0.0198 +vn -0.0635 0.6433 -0.7630 +vn -0.0130 0.7493 0.6621 +vn -0.0151 0.7492 0.6621 +vn -0.0124 0.7219 0.6919 +vn -0.6067 0.5916 0.5309 +vn -0.5964 0.4954 -0.6316 +vn -0.5948 0.7318 0.3327 +vn 0.5299 0.8110 0.2480 +vn 0.5228 0.2972 -0.7990 +vn -0.6162 0.2332 -0.7523 +vn -0.0366 -0.0051 -0.9993 +vn -0.0367 -0.0052 -0.9993 +vn -0.0618 0.6437 -0.7628 +vn -0.0392 0.6622 -0.7483 +vn 0.0119 0.7383 0.6743 +vn -0.0591 0.6863 -0.7249 +vn -0.0352 0.5516 -0.8334 +vn -0.0392 0.6609 -0.7494 +vn 0.0367 0.0052 0.9993 +vn 0.0119 0.7376 0.6752 +vn 0.0190 0.7262 0.6873 +vn -0.6832 0.6682 0.2945 +vn 0.4686 0.8490 0.2441 +vn 0.4822 0.3392 -0.8077 +vn -0.6481 0.1849 -0.7388 +vn 0.3254 0.8529 -0.4082 +vn -0.3965 0.7992 -0.4517 +vn 0.0114 0.9837 -0.1793 +vn 0.3544 0.9349 0.0183 +vn 0.0637 0.8450 -0.5310 +vn -0.3515 0.9262 0.1366 +vn -0.4719 0.7568 -0.4523 +vn -0.0595 0.9786 -0.1968 +vn 0.2373 0.9673 0.0900 +vn -0.3380 0.9391 -0.0618 +vn -0.0622 0.9698 -0.2357 +vn -0.7219 -0.0000 -0.6920 +vn 0.7481 0.0000 -0.6636 +vn 0.6577 0.0992 -0.7467 +vn -0.6897 0.1871 -0.6995 +vn -0.7360 0.0580 0.6744 +vn -0.6648 -0.0000 0.7470 +vn 0.7123 -0.0540 0.6997 +vn 0.7086 0.0000 0.7056 +vn 0.6577 -0.0992 -0.7467 +vn -0.6897 -0.1871 -0.6995 +vn -0.7360 -0.0580 0.6744 +vn 0.7123 0.0540 0.6997 +vn 0.7145 0.0000 -0.6996 +vn 0.6807 0.1988 -0.7050 +vn -0.6659 0.0942 -0.7401 +vn 0.6733 0.0000 0.7394 +vn 0.7439 0.0552 0.6661 +vn -0.7010 -0.0000 0.7132 +vn -0.7046 -0.0575 0.7073 +vn -0.6659 -0.0942 -0.7401 +vn 0.6807 -0.1988 -0.7050 +vn 0.7439 -0.0552 0.6661 +vn -0.7046 0.0575 0.7073 +vn -0.7191 -0.0000 -0.6949 +vn 0.7378 0.0000 -0.6751 +vn 0.6685 0.0750 -0.7399 +vn -0.6966 0.1446 -0.7028 +vn -0.7292 0.0437 0.6829 +vn -0.6741 -0.0000 0.7387 +vn 0.7118 -0.0415 0.7011 +vn 0.7092 0.0000 0.7051 +vn 0.6685 -0.0750 -0.7399 +vn -0.6966 -0.1446 -0.7028 +vn -0.7292 -0.0437 0.6829 +vn 0.7118 0.0415 0.7011 +# 1436 vertex normals + +vt 0.5543 0.3819 0.0000 +vt 0.5766 0.3819 0.0000 +vt 0.5699 0.3290 0.0000 +vt 0.5544 0.3281 0.0000 +vt 0.5766 0.4508 0.0000 +vt 0.5543 0.4508 0.0000 +vt 0.5668 0.5107 0.0000 +vt 0.5544 0.5107 0.0000 +vt 0.5323 0.3819 0.0000 +vt 0.5323 0.3262 0.0000 +vt 0.5323 0.4508 0.0000 +vt 0.5322 0.5107 0.0000 +vt 0.5099 0.3818 0.0000 +vt 0.5098 0.3244 0.0000 +vt 0.5099 0.4508 0.0000 +vt 0.5097 0.5109 0.0000 +vt 0.4869 0.3816 0.0000 +vt 0.4870 0.3221 0.0000 +vt 0.4870 0.4509 0.0000 +vt 0.4872 0.5110 0.0000 +vt 0.9115 0.1697 0.0000 +vt 0.9096 0.0208 0.0000 +vt 0.9278 0.0207 0.0000 +vt 0.9249 0.1696 0.0000 +vt 0.9657 0.1761 0.0000 +vt 0.9500 0.1783 0.0000 +vt 0.9522 0.0253 0.0000 +vt 0.9711 0.0226 0.0000 +vt 0.9317 0.3184 0.0000 +vt 0.9092 0.3185 0.0000 +vt 0.9871 0.3257 0.0000 +vt 0.9639 0.3290 0.0000 +vt 0.3011 0.1842 0.0000 +vt 0.3011 0.1683 0.0000 +vt 0.2824 0.1683 0.0000 +vt 0.2824 0.1842 0.0000 +vt 0.2731 0.1015 0.0000 +vt 0.2757 0.0096 0.0000 +vt 0.2570 0.0096 0.0000 +vt 0.2619 0.1015 0.0000 +vt 0.2914 0.0825 0.0000 +vt 0.2817 0.0825 0.0000 +vt 0.2860 0.0077 0.0000 +vt 0.3004 0.0077 0.0000 +vt 0.2570 0.1933 0.0000 +vt 0.2757 0.1933 0.0000 +vt 0.3004 0.1573 0.0000 +vt 0.2860 0.1573 0.0000 +vt 0.2831 0.5415 0.0000 +vt 0.2876 0.7272 0.0000 +vt 0.1570 0.7301 0.0000 +vt 0.1588 0.5391 0.0000 +vt 0.1600 0.5278 0.0000 +vt 0.2845 0.5302 0.0000 +vt 0.5593 0.7492 0.0000 +vt 0.5495 0.7564 0.0000 +vt 0.5310 0.5442 0.0000 +vt 0.5411 0.5368 0.0000 +vt 0.0350 0.5359 0.0000 +vt 0.0236 0.7419 0.0000 +vt 0.0133 0.7352 0.0000 +vt 0.0247 0.5291 0.0000 +vt 0.3718 0.4361 0.0000 +vt 0.4116 0.4372 0.0000 +vt 0.4148 0.5077 0.0000 +vt 0.3731 0.5041 0.0000 +vt 0.3312 0.5052 0.0000 +vt 0.3320 0.4348 0.0000 +vt 0.4175 0.7369 0.0000 +vt 0.4073 0.5435 0.0000 +vt 0.4090 0.5322 0.0000 +vt 0.5335 0.5329 0.0000 +vt 0.0354 0.5246 0.0000 +vt 0.2925 0.4331 0.0000 +vt 0.2885 0.5097 0.0000 +vt 0.4511 0.4380 0.0000 +vt 0.4572 0.5147 0.0000 +vt 0.4798 0.4212 0.0000 +vt 0.3807 0.4212 0.0000 +vt 0.3807 0.3221 0.0000 +vt 0.4798 0.3221 0.0000 +vt 0.2850 0.3118 0.0000 +vt 0.2850 0.3380 0.0000 +vt 0.2499 0.3303 0.0000 +vt 0.2499 0.3066 0.0000 +vt 0.3086 0.4106 0.0000 +vt 0.3086 0.3690 0.0000 +vt 0.2423 0.3710 0.0000 +vt 0.2423 0.4086 0.0000 +vt 0.3196 0.3267 0.0000 +vt 0.3196 0.3576 0.0000 +vt 0.3742 0.3652 0.0000 +vt 0.3742 0.4144 0.0000 +vt 0.4938 0.7770 0.0000 +vt 0.4938 0.9928 0.0000 +vt 0.5823 0.9148 0.0000 +vt 0.5823 0.7770 0.0000 +vt 0.0099 0.8916 0.0000 +vt 0.2078 0.8916 0.0000 +vt 0.2078 0.8042 0.0000 +vt 0.0099 0.8042 0.0000 +vt 0.1904 0.9949 0.0000 +vt 0.0053 0.9949 0.0000 +vt 0.0053 0.9131 0.0000 +vt 0.1904 0.9131 0.0000 +vt 0.4053 0.9148 0.0000 +vt 0.4053 0.7770 0.0000 +vt 0.2678 0.8611 0.0000 +vt 0.2678 0.7781 0.0000 +vt 0.3211 0.7781 0.0000 +vt 0.3211 0.9081 0.0000 +vt 0.8981 0.4255 0.0000 +vt 0.8858 0.4345 0.0000 +vt 0.8856 0.3969 0.0000 +vt 0.8979 0.3976 0.0000 +vt 0.9296 0.3584 0.0000 +vt 0.9296 0.3243 0.0000 +vt 0.9534 0.3243 0.0000 +vt 0.9534 0.3584 0.0000 +vt 0.9376 0.5171 0.0000 +vt 0.9376 0.4718 0.0000 +vt 0.9427 0.4718 0.0000 +vt 0.9427 0.5171 0.0000 +vt 0.9079 0.3584 0.0000 +vt 0.9079 0.3243 0.0000 +vt 0.9341 0.3999 0.0000 +vt 0.9546 0.4002 0.0000 +vt 0.9546 0.4032 0.0000 +vt 0.9341 0.4029 0.0000 +vt 0.9308 0.3930 0.0000 +vt 0.9175 0.3916 0.0000 +vt 0.9308 0.3847 0.0000 +vt 0.8856 0.4425 0.0000 +vt 0.8991 0.4326 0.0000 +vt 0.9062 0.4354 0.0000 +vt 0.8856 0.4497 0.0000 +vt 0.8535 0.3847 0.0000 +vt 0.8668 0.3922 0.0000 +vt 0.8535 0.3930 0.0000 +vt 0.8922 0.3818 0.0000 +vt 0.8922 0.3901 0.0000 +vt 0.8734 0.4256 0.0000 +vt 0.8733 0.3979 0.0000 +vt 0.9376 0.5625 0.0000 +vt 0.9427 0.5625 0.0000 +vt 0.9137 0.3997 0.0000 +vt 0.9136 0.4026 0.0000 +vt 0.8720 0.4326 0.0000 +vt 0.8649 0.4354 0.0000 +vt 0.9497 0.4833 0.0000 +vt 0.9497 0.4152 0.0000 +vt 0.9542 0.4152 0.0000 +vt 0.9542 0.4833 0.0000 +vt 0.9497 0.5204 0.0000 +vt 0.9542 0.5204 0.0000 +vt 0.9497 0.5575 0.0000 +vt 0.9542 0.5575 0.0000 +vt 0.9542 0.6250 0.0000 +vt 0.9497 0.6250 0.0000 +vt 0.8866 0.3751 0.0000 +vt 0.8570 0.3757 0.0000 +vt 0.8570 0.3729 0.0000 +vt 0.8866 0.3723 0.0000 +vt 0.9161 0.3745 0.0000 +vt 0.9161 0.3717 0.0000 +vt 0.8649 0.4026 0.0000 +vt 0.8720 0.4022 0.0000 +vt 0.9427 0.6217 0.0000 +vt 0.9376 0.6217 0.0000 +vt 0.9376 0.4126 0.0000 +vt 0.9427 0.4126 0.0000 +vt 0.8991 0.4019 0.0000 +vt 0.9062 0.4026 0.0000 +vt 0.9160 0.3675 0.0000 +vt 0.9315 0.3672 0.0000 +vt 0.9316 0.3714 0.0000 +vt 0.8865 0.3681 0.0000 +vt 0.8569 0.3687 0.0000 +vt 0.8414 0.3690 0.0000 +vt 0.8415 0.3732 0.0000 +vt 0.9341 0.3967 0.0000 +vt 0.9546 0.3970 0.0000 +vt 0.9137 0.3964 0.0000 +vt 0.9392 0.3712 0.0000 +vt 0.9393 0.3751 0.0000 +vt 0.9317 0.3752 0.0000 +vt 0.9391 0.3670 0.0000 +vt 0.9374 0.3847 0.0000 +vt 0.9374 0.3930 0.0000 +vt 0.9102 0.3996 0.0000 +vt 0.9102 0.3963 0.0000 +vt 0.9102 0.4026 0.0000 +vt 0.9581 0.4003 0.0000 +vt 0.9580 0.4033 0.0000 +vt 0.9581 0.3970 0.0000 +vt 0.8469 0.3930 0.0000 +vt 0.8469 0.3847 0.0000 +vt 0.8339 0.3733 0.0000 +vt 0.8338 0.3691 0.0000 +vt 0.8339 0.3771 0.0000 +vt 0.8416 0.3770 0.0000 +vt 0.6537 0.7500 0.0000 +vt 0.5717 0.7500 0.0000 +vt 0.5717 0.5730 0.0000 +vt 0.6537 0.5730 0.0000 +vt 0.6192 0.8707 0.0000 +vt 0.7028 0.8707 0.0000 +vt 0.6942 0.7769 0.0000 +vt 0.6278 0.7769 0.0000 +vt 0.5717 0.7509 0.0000 +vt 0.6192 0.8702 0.0000 +vt 0.6213 0.7769 0.0000 +vt 0.6111 0.8702 0.0000 +vt 0.7007 0.7769 0.0000 +vt 0.7028 0.8702 0.0000 +vt 0.7110 0.8702 0.0000 +vt 0.5998 0.7509 0.0000 +vt 0.5998 0.5730 0.0000 +vt 0.7566 0.8777 0.0000 +vt 0.7430 0.8777 0.0000 +vt 0.7455 0.8046 0.0000 +vt 0.7653 0.8046 0.0000 +vt 0.7197 0.8767 0.0000 +vt 0.7332 0.8767 0.0000 +vt 0.7265 0.8006 0.0000 +vt 0.7088 0.8006 0.0000 +vt 0.7452 0.9590 0.0000 +vt 0.7656 0.9590 0.0000 +vt 0.7232 0.9613 0.0000 +vt 0.7414 0.9613 0.0000 +vt 0.8245 0.8198 0.0000 +vt 0.8176 0.8887 0.0000 +vt 0.8307 0.8887 0.0000 +vt 0.8434 0.8198 0.0000 +vt 0.7950 0.8927 0.0000 +vt 0.7777 0.8923 0.0000 +vt 0.7895 0.8025 0.0000 +vt 0.8121 0.8029 0.0000 +vt 0.8080 0.9580 0.0000 +vt 0.8276 0.9653 0.0000 +vt 0.7767 0.9897 0.0000 +vt 0.8000 0.9901 0.0000 +vt 0.6832 0.7109 0.0000 +vt 0.6832 0.6133 0.0000 +vt 0.8256 0.6133 0.0000 +vt 0.8256 0.7109 0.0000 +vt 0.8172 0.6055 0.0000 +vt 0.6847 0.6055 0.0000 +vt 0.6847 0.5792 0.0000 +vt 0.8172 0.5792 0.0000 +vt 0.6843 0.7193 0.0000 +vt 0.6793 0.7379 0.0000 +vt 0.8273 0.7329 0.0000 +vt 0.8323 0.7143 0.0000 +vt 0.7770 0.1495 0.0000 +vt 0.7887 0.0175 0.0000 +vt 0.7500 0.0175 0.0000 +vt 0.7552 0.1495 0.0000 +vt 0.7500 0.2815 0.0000 +vt 0.7887 0.2815 0.0000 +vt 0.6720 0.1497 0.0000 +vt 0.6501 0.1497 0.0000 +vt 0.6432 0.0228 0.0000 +vt 0.6820 0.0228 0.0000 +vt 0.6820 0.2766 0.0000 +vt 0.6432 0.3036 0.0000 +vt 0.7224 0.1415 0.0000 +vt 0.7006 0.1415 0.0000 +vt 0.6960 0.0189 0.0000 +vt 0.7348 0.0189 0.0000 +vt 0.6954 0.2903 0.0000 +vt 0.7341 0.2903 0.0000 +vt 0.2296 0.2265 0.0000 +vt 0.2377 0.3163 0.0000 +vt 0.2165 0.3163 0.0000 +vt 0.2085 0.2265 0.0000 +vt 0.1711 0.3177 0.0000 +vt 0.1936 0.3147 0.0000 +vt 0.1836 0.2466 0.0000 +vt 0.1646 0.2356 0.0000 +vt 0.2296 0.4035 0.0000 +vt 0.2085 0.4035 0.0000 +vt 0.1915 0.3650 0.0000 +vt 0.1772 0.3973 0.0000 +vt 0.3399 0.3448 0.0000 +vt 0.3399 0.2955 0.0000 +vt 0.3315 0.2955 0.0000 +vt 0.3315 0.3447 0.0000 +vt 0.3349 0.3516 0.0000 +vt 0.3638 0.3512 0.0000 +vt 0.3684 0.3444 0.0000 +vt 0.3684 0.2958 0.0000 +vt 0.3638 0.2890 0.0000 +vt 0.3349 0.2886 0.0000 +vt 0.3687 0.3532 0.0000 +vt 0.3730 0.3452 0.0000 +vt 0.3730 0.2950 0.0000 +vt 0.3687 0.2871 0.0000 +vt 0.3420 0.2223 0.0000 +vt 0.3325 0.2223 0.0000 +vt 0.3326 0.2774 0.0000 +vt 0.3421 0.2774 0.0000 +vt 0.3741 0.2774 0.0000 +vt 0.3740 0.2222 0.0000 +vt 0.3362 0.2850 0.0000 +vt 0.3683 0.2849 0.0000 +vt 0.3795 0.2772 0.0000 +vt 0.3795 0.2222 0.0000 +vt 0.3740 0.2871 0.0000 +vt 0.3795 0.2865 0.0000 +vt 0.3281 0.7749 0.0000 +vt 0.3281 0.7711 0.0000 +vt 0.0089 0.7656 0.0000 +vt 0.0088 0.7694 0.0000 +vt 0.3283 0.7604 0.0000 +vt 0.0091 0.7549 0.0000 +vt 0.0711 0.7886 0.0000 +vt 0.0084 0.7886 0.0000 +vt 0.0084 0.7858 0.0000 +vt 0.0711 0.7858 0.0000 +vt 0.0084 0.7747 0.0000 +vt 0.0711 0.7747 0.0000 +vt 0.2599 0.7974 0.0000 +vt 0.0814 0.7941 0.0000 +vt 0.0814 0.7923 0.0000 +vt 0.2599 0.7956 0.0000 +vt 0.0815 0.7850 0.0000 +vt 0.2601 0.7883 0.0000 +vt 0.3904 0.9914 0.0000 +vt 0.3904 0.9117 0.0000 +vt 0.2102 0.9117 0.0000 +vt 0.2102 0.9914 0.0000 +vt 0.4064 0.1943 0.0000 +vt 0.3356 0.2009 0.0000 +vt 0.3508 0.1509 0.0000 +vt 0.4040 0.1592 0.0000 +vt 0.3141 0.2067 0.0000 +vt 0.3128 0.1381 0.0000 +vt 0.3695 0.0881 0.0000 +vt 0.3952 0.1005 0.0000 +vt 0.3151 0.0965 0.0000 +vt 0.5998 0.0056 0.0000 +vt 0.5984 0.1602 0.0000 +vt 0.6271 0.1602 0.0000 +vt 0.6385 0.0056 0.0000 +vt 0.5998 0.3148 0.0000 +vt 0.6385 0.3148 0.0000 +vt 0.5792 0.1625 0.0000 +vt 0.5495 0.1625 0.0000 +vt 0.5498 0.0090 0.0000 +vt 0.5897 0.0090 0.0000 +vt 0.5897 0.3161 0.0000 +vt 0.5498 0.3161 0.0000 +vt 0.1025 0.5132 0.0000 +vt 0.0149 0.5132 0.0000 +vt 0.0149 0.4236 0.0000 +vt 0.1025 0.4236 0.0000 +vt 0.1578 0.3962 0.0000 +vt 0.0854 0.3962 0.0000 +vt 0.0854 0.1884 0.0000 +vt 0.1578 0.1884 0.0000 +vt 0.0058 0.1784 0.0000 +vt 0.0667 0.1784 0.0000 +vt 0.0667 0.0037 0.0000 +vt 0.0058 0.0037 0.0000 +vt 0.0800 0.1790 0.0000 +vt 0.1409 0.1790 0.0000 +vt 0.1409 0.0042 0.0000 +vt 0.0800 0.0042 0.0000 +vt 0.0787 0.4021 0.0000 +vt 0.0041 0.4021 0.0000 +vt 0.0041 0.1881 0.0000 +vt 0.0787 0.1881 0.0000 +vt 0.0057 0.4170 0.0000 +vt 0.1117 0.4170 0.0000 +vt 0.1117 0.5198 0.0000 +vt 0.0057 0.5198 0.0000 +vt 0.1578 0.4044 0.0000 +vt 0.0854 0.4044 0.0000 +vt 0.0058 0.1853 0.0000 +vt 0.0667 0.1853 0.0000 +vt 0.0800 0.1859 0.0000 +vt 0.1409 0.1859 0.0000 +vt 0.0787 0.4106 0.0000 +vt 0.0041 0.4106 0.0000 +vt 0.1234 0.5153 0.0000 +vt 0.2286 0.5153 0.0000 +vt 0.2286 0.5003 0.0000 +vt 0.1234 0.5003 0.0000 +vt 0.1981 0.4483 0.0000 +vt 0.1195 0.4483 0.0000 +vt 0.1195 0.4224 0.0000 +vt 0.1981 0.4177 0.0000 +vt 0.2025 0.4850 0.0000 +vt 0.2869 0.4850 0.0000 +vt 0.2869 0.4598 0.0000 +vt 0.2025 0.4551 0.0000 +vt 0.2767 0.4483 0.0000 +vt 0.2767 0.4224 0.0000 +vt 0.1182 0.4850 0.0000 +vt 0.1182 0.4598 0.0000 +vt 0.2519 0.2562 0.0000 +vt 0.2598 0.2562 0.0000 +vt 0.2598 0.2285 0.0000 +vt 0.2519 0.2203 0.0000 +vt 0.2878 0.2921 0.0000 +vt 0.2878 0.2839 0.0000 +vt 0.2598 0.2839 0.0000 +vt 0.2519 0.2921 0.0000 +vt 0.3237 0.2562 0.0000 +vt 0.3157 0.2562 0.0000 +vt 0.3157 0.2839 0.0000 +vt 0.3237 0.2921 0.0000 +vt 0.2878 0.2203 0.0000 +vt 0.2878 0.2285 0.0000 +vt 0.3157 0.2285 0.0000 +vt 0.3237 0.2203 0.0000 +vt 0.4345 0.1722 0.0000 +vt 0.4256 0.1733 0.0000 +vt 0.4270 0.1485 0.0000 +vt 0.4169 0.1712 0.0000 +vt 0.4170 0.1257 0.0000 +vt 0.4257 0.1234 0.0000 +vt 0.4346 0.1245 0.0000 +vt 0.4424 0.1289 0.0000 +vt 0.4483 0.1356 0.0000 +vt 0.4515 0.1440 0.0000 +vt 0.4515 0.1530 0.0000 +vt 0.4483 0.1613 0.0000 +vt 0.4424 0.1680 0.0000 +vt 0.4148 0.0240 0.0000 +vt 0.4045 0.0414 0.0000 +vt 0.3976 0.0383 0.0000 +vt 0.4037 0.0190 0.0000 +vt 0.4245 0.0314 0.0000 +vt 0.4105 0.0459 0.0000 +vt 0.4324 0.0410 0.0000 +vt 0.4152 0.0515 0.0000 +vt 0.4382 0.0525 0.0000 +vt 0.4182 0.0578 0.0000 +vt 0.3409 0.0445 0.0000 +vt 0.3589 0.0536 0.0000 +vt 0.3564 0.0601 0.0000 +vt 0.3361 0.0564 0.0000 +vt 0.3480 0.0344 0.0000 +vt 0.3632 0.0477 0.0000 +vt 0.3571 0.0262 0.0000 +vt 0.3688 0.0427 0.0000 +vt 0.3678 0.0204 0.0000 +vt 0.3754 0.0391 0.0000 +vt 0.3796 0.0172 0.0000 +vt 0.3827 0.0371 0.0000 +vt 0.3917 0.0167 0.0000 +vt 0.3902 0.0369 0.0000 +vt 0.4221 0.0116 0.0000 +vt 0.4080 0.0053 0.0000 +vt 0.4344 0.0210 0.0000 +vt 0.4441 0.0327 0.0000 +vt 0.4513 0.0455 0.0000 +vt 0.3286 0.0372 0.0000 +vt 0.3224 0.0505 0.0000 +vt 0.3374 0.0247 0.0000 +vt 0.3489 0.0144 0.0000 +vt 0.3625 0.0070 0.0000 +vt 0.3774 0.0029 0.0000 +vt 0.3928 0.0023 0.0000 +vt 0.4102 0.2721 0.0000 +vt 0.3951 0.2794 0.0000 +vt 0.3897 0.2637 0.0000 +vt 0.4061 0.2601 0.0000 +vt 0.4170 0.2828 0.0000 +vt 0.4040 0.2934 0.0000 +vt 0.4261 0.2917 0.0000 +vt 0.4159 0.3050 0.0000 +vt 0.4371 0.2981 0.0000 +vt 0.4302 0.3135 0.0000 +vt 0.4390 0.1981 0.0000 +vt 0.4328 0.1825 0.0000 +vt 0.4489 0.1782 0.0000 +vt 0.4513 0.1948 0.0000 +vt 0.4279 0.2041 0.0000 +vt 0.4182 0.1904 0.0000 +vt 0.4184 0.2126 0.0000 +vt 0.4058 0.2015 0.0000 +vt 0.4112 0.2231 0.0000 +vt 0.3964 0.2152 0.0000 +vt 0.4066 0.2349 0.0000 +vt 0.3903 0.2307 0.0000 +vt 0.4048 0.2475 0.0000 +vt 0.3880 0.2471 0.0000 +vt 0.7282 0.5246 0.0000 +vt 0.7378 0.5238 0.0000 +vt 0.7411 0.5710 0.0000 +vt 0.7328 0.5717 0.0000 +vt 0.7186 0.5257 0.0000 +vt 0.7245 0.5726 0.0000 +vt 0.7163 0.5737 0.0000 +vt 0.7090 0.5267 0.0000 +vt 0.6995 0.5283 0.0000 +vt 0.7081 0.5751 0.0000 +vt 0.7957 0.5247 0.0000 +vt 0.8053 0.5255 0.0000 +vt 0.7990 0.5727 0.0000 +vt 0.7908 0.5717 0.0000 +vt 0.7860 0.5239 0.0000 +vt 0.7826 0.5710 0.0000 +vt 0.7763 0.5233 0.0000 +vt 0.7743 0.5705 0.0000 +vt 0.7667 0.5230 0.0000 +vt 0.7660 0.5703 0.0000 +vt 0.7571 0.5230 0.0000 +vt 0.7577 0.5703 0.0000 +vt 0.7474 0.5233 0.0000 +vt 0.7494 0.5705 0.0000 +vt 0.2323 0.2005 0.0000 +vt 0.1605 0.2005 0.0000 +vt 0.1605 0.1287 0.0000 +vt 0.2323 0.1287 0.0000 +vt 0.2493 0.0649 0.0000 +vt 0.1549 0.0649 0.0000 +vt 0.1510 0.0139 0.0000 +vt 0.2531 0.0139 0.0000 +vt 0.1510 0.1160 0.0000 +vt 0.2531 0.1160 0.0000 +vt 0.8932 0.8530 0.0000 +vt 0.8784 0.8552 0.0000 +vt 0.8769 0.8224 0.0000 +vt 0.8917 0.8188 0.0000 +vt 0.9487 0.8371 0.0000 +vt 0.9515 0.8608 0.0000 +vt 0.9383 0.8557 0.0000 +vt 0.9371 0.8262 0.0000 +vt 0.9218 0.8207 0.0000 +vt 0.9232 0.8532 0.0000 +vt 0.9081 0.8508 0.0000 +vt 0.9066 0.8151 0.0000 +vt 0.8658 0.8597 0.0000 +vt 0.8798 0.8879 0.0000 +vt 0.8649 0.8886 0.0000 +vt 0.8947 0.8872 0.0000 +vt 0.8960 0.9072 0.0000 +vt 0.8803 0.9073 0.0000 +vt 0.9543 0.8844 0.0000 +vt 0.9601 0.9224 0.0000 +vt 0.9439 0.9164 0.0000 +vt 0.9394 0.8851 0.0000 +vt 0.9245 0.8858 0.0000 +vt 0.9278 0.9118 0.0000 +vt 0.9117 0.9072 0.0000 +vt 0.9096 0.8865 0.0000 +vt 0.8648 0.9120 0.0000 +vt 0.8807 0.9266 0.0000 +vt 0.8646 0.9353 0.0000 +vt 0.9648 0.8659 0.0000 +vt 0.9692 0.8836 0.0000 +vt 0.8564 0.8393 0.0000 +vt 0.8666 0.8309 0.0000 +vt 0.8532 0.8643 0.0000 +vt 0.8972 0.9272 0.0000 +vt 0.9137 0.9278 0.0000 +vt 0.9659 0.9604 0.0000 +vt 0.9763 0.9283 0.0000 +vt 0.9833 0.9730 0.0000 +vt 0.9311 0.9378 0.0000 +vt 0.9484 0.9478 0.0000 +vt 0.8501 0.8893 0.0000 +vt 0.8493 0.9166 0.0000 +vt 0.9603 0.8481 0.0000 +vt 0.8485 0.9440 0.0000 +vt 0.9897 0.8367 0.0000 +vt 0.9878 0.8367 0.0000 +vt 0.9878 0.5203 0.0000 +vt 0.9897 0.5203 0.0000 +vt 0.9916 0.8367 0.0000 +vt 0.9916 0.5203 0.0000 +vt 0.9839 0.8367 0.0000 +vt 0.9818 0.8367 0.0000 +vt 0.9818 0.5203 0.0000 +vt 0.9839 0.5203 0.0000 +vt 0.9859 0.8367 0.0000 +vt 0.9859 0.5203 0.0000 +vt 0.9958 0.8502 0.0000 +vt 0.9868 0.8563 0.0000 +vt 0.9783 0.8496 0.0000 +vt 0.9928 0.8397 0.0000 +vt 0.9820 0.8393 0.0000 +vt 0.9203 0.5099 0.0000 +vt 0.9177 0.5100 0.0000 +vt 0.9146 0.4105 0.0000 +vt 0.9189 0.4103 0.0000 +vt 0.9223 0.5099 0.0000 +vt 0.9221 0.4104 0.0000 +vt 0.9252 0.5099 0.0000 +vt 0.9269 0.4107 0.0000 +vt 0.9272 0.5099 0.0000 +vt 0.9301 0.4107 0.0000 +vt 0.9151 0.5100 0.0000 +vt 0.9104 0.4108 0.0000 +vt 0.9068 0.6461 0.0000 +vt 0.9068 0.6257 0.0000 +vt 0.9272 0.6194 0.0000 +vt 0.9272 0.6524 0.0000 +vt 0.9398 0.6359 0.0000 +vt 0.9182 0.5597 0.0000 +vt 0.9208 0.5597 0.0000 +vt 0.9228 0.5596 0.0000 +vt 0.9257 0.5596 0.0000 +vt 0.9277 0.5597 0.0000 +vt 0.9156 0.5597 0.0000 +vt 0.9188 0.6094 0.0000 +vt 0.9214 0.6094 0.0000 +vt 0.9234 0.6094 0.0000 +vt 0.9263 0.6093 0.0000 +vt 0.9283 0.6094 0.0000 +vt 0.9162 0.6094 0.0000 +vt 0.9909 0.4977 0.0000 +vt 0.9862 0.4977 0.0000 +vt 0.9862 0.3406 0.0000 +vt 0.9909 0.3406 0.0000 +vt 0.9718 0.4977 0.0000 +vt 0.9671 0.4977 0.0000 +vt 0.9671 0.3406 0.0000 +vt 0.9718 0.3406 0.0000 +vt 0.9766 0.4977 0.0000 +vt 0.9766 0.3406 0.0000 +vt 0.9814 0.4977 0.0000 +vt 0.9814 0.3406 0.0000 +vt 0.4627 0.1545 0.0000 +vt 0.4900 0.1545 0.0000 +vt 0.4886 0.0081 0.0000 +vt 0.4519 0.0081 0.0000 +vt 0.4886 0.3010 0.0000 +vt 0.4519 0.3010 0.0000 +vt 0.5082 0.1567 0.0000 +vt 0.4982 0.0112 0.0000 +vt 0.5360 0.0112 0.0000 +vt 0.5362 0.1567 0.0000 +vt 0.5360 0.3022 0.0000 +vt 0.4982 0.3022 0.0000 +vt 0.8396 0.7268 0.0000 +vt 0.8396 0.7694 0.0000 +vt 0.9436 0.7198 0.0000 +vt 0.9436 0.7062 0.0000 +vt 0.6527 0.5196 0.0000 +vt 0.5818 0.5262 0.0000 +vt 0.5823 0.5023 0.0000 +vt 0.6532 0.4957 0.0000 +vt 0.8263 0.3959 0.0000 +vt 0.8263 0.3521 0.0000 +vt 0.8299 0.3500 0.0000 +vt 0.8299 0.3981 0.0000 +vt 0.7694 0.3981 0.0000 +vt 0.7694 0.3959 0.0000 +vt 0.8397 0.7769 0.0000 +vt 0.9437 0.7272 0.0000 +vt 0.6526 0.5237 0.0000 +vt 0.5817 0.5303 0.0000 +vt 0.6942 0.3326 0.0000 +vt 0.7990 0.3325 0.0000 +vt 0.7985 0.3269 0.0000 +vt 0.6938 0.3278 0.0000 +vt 0.9750 0.7589 0.0000 +vt 0.8460 0.8162 0.0000 +vt 0.8459 0.8073 0.0000 +vt 0.9749 0.7500 0.0000 +vt 0.7029 0.3584 0.0000 +vt 0.7029 0.4454 0.0000 +vt 0.6025 0.4454 0.0000 +vt 0.6025 0.3584 0.0000 +vt 0.6885 0.4818 0.0000 +vt 0.5970 0.4799 0.0000 +vt 0.5977 0.4706 0.0000 +vt 0.6891 0.4725 0.0000 +vt 0.7694 0.3521 0.0000 +vt 0.7125 0.3521 0.0000 +vt 0.7125 0.3500 0.0000 +vt 0.7694 0.3500 0.0000 +vt 0.6881 0.4868 0.0000 +vt 0.5967 0.4849 0.0000 +vt 0.6961 0.3466 0.0000 +vt 0.5980 0.3534 0.0000 +vt 0.5976 0.3494 0.0000 +vt 0.6956 0.3408 0.0000 +vt 0.7235 0.5183 0.0000 +vt 0.7240 0.4945 0.0000 +vt 0.7125 0.3959 0.0000 +vt 0.7125 0.3981 0.0000 +vt 0.7234 0.5225 0.0000 +vt 0.5899 0.3399 0.0000 +vt 0.5896 0.3354 0.0000 +vt 0.7801 0.4810 0.0000 +vt 0.7795 0.4903 0.0000 +vt 0.7791 0.4953 0.0000 +vt 0.7943 0.3415 0.0000 +vt 0.7948 0.3470 0.0000 +vt 0.7756 0.4056 0.0000 +vt 0.7227 0.4056 0.0000 +vt 0.7174 0.4000 0.0000 +vt 0.7810 0.4000 0.0000 +vt 0.7174 0.4051 0.0000 +vt 0.8395 0.4464 0.0000 +vt 0.8395 0.4056 0.0000 +vt 0.8445 0.4000 0.0000 +vt 0.8445 0.4521 0.0000 +vt 0.7860 0.4464 0.0000 +vt 0.7810 0.4521 0.0000 +vt 0.7860 0.4056 0.0000 +vt 0.7810 0.4056 0.0000 +vt 0.7957 0.4563 0.0000 +vt 0.8479 0.4563 0.0000 +vt 0.8479 0.4601 0.0000 +vt 0.7957 0.4601 0.0000 +vt 0.7389 0.4601 0.0000 +vt 0.7389 0.4563 0.0000 +vt 0.7071 0.4601 0.0000 +vt 0.7071 0.4563 0.0000 +vt 0.6117 0.4563 0.0000 +vt 0.6117 0.4601 0.0000 +vt 0.7810 0.4464 0.0000 +vt 0.7756 0.4465 0.0000 +vt 0.7225 0.4465 0.0000 +vt 0.7174 0.4521 0.0000 +vt 0.8927 0.0885 0.0000 +vt 0.8969 0.0810 0.0000 +vt 0.9040 0.0969 0.0000 +vt 0.7896 0.0803 0.0000 +vt 0.8005 0.0831 0.0000 +vt 0.7899 0.0962 0.0000 +vt 0.8040 0.0926 0.0000 +vt 0.8032 0.1028 0.0000 +vt 0.7986 0.1119 0.0000 +vt 0.8969 0.1127 0.0000 +vt 0.8927 0.1052 0.0000 +vt 0.8917 0.0969 0.0000 +vt 0.8804 0.0738 0.0000 +vt 0.8804 0.0857 0.0000 +vt 0.8177 0.0918 0.0000 +vt 0.8187 0.0777 0.0000 +vt 0.8166 0.1056 0.0000 +vt 0.8156 0.1197 0.0000 +vt 0.8804 0.1080 0.0000 +vt 0.8804 0.1199 0.0000 +vt 0.8804 0.0969 0.0000 +vt 0.8639 0.0810 0.0000 +vt 0.8681 0.0885 0.0000 +vt 0.8311 0.0946 0.0000 +vt 0.8360 0.0857 0.0000 +vt 0.8303 0.1048 0.0000 +vt 0.8336 0.1146 0.0000 +vt 0.8681 0.1052 0.0000 +vt 0.8639 0.1127 0.0000 +vt 0.8691 0.0969 0.0000 +vt 0.8568 0.0969 0.0000 +vt 0.8472 0.0847 0.0000 +vt 0.8445 0.1003 0.0000 +vt 0.8552 0.1486 0.0000 +vt 0.8618 0.1328 0.0000 +vt 0.8776 0.1486 0.0000 +vt 0.8776 0.1262 0.0000 +vt 0.8933 0.1328 0.0000 +vt 0.8999 0.1486 0.0000 +vt 0.8933 0.1644 0.0000 +vt 0.8776 0.1709 0.0000 +vt 0.8618 0.1644 0.0000 +vt 0.8921 0.2853 0.0000 +vt 0.8780 0.2903 0.0000 +vt 0.8731 0.2809 0.0000 +vt 0.8852 0.2721 0.0000 +vt 0.8950 0.3000 0.0000 +vt 0.8800 0.3007 0.0000 +vt 0.8934 0.3149 0.0000 +vt 0.8789 0.3112 0.0000 +vt 0.8876 0.3287 0.0000 +vt 0.8748 0.3209 0.0000 +vt 0.8780 0.3402 0.0000 +vt 0.8680 0.3291 0.0000 +vt 0.8616 0.2542 0.0000 +vt 0.8564 0.2683 0.0000 +vt 0.8460 0.2661 0.0000 +vt 0.8469 0.2512 0.0000 +vt 0.8747 0.2614 0.0000 +vt 0.8657 0.2733 0.0000 +vt 0.8151 0.1246 0.0000 +vt 0.8347 0.1328 0.0000 +vt 0.7954 0.1328 0.0000 +vt 0.8151 0.1802 0.0000 +vt 0.7954 0.1721 0.0000 +vt 0.8347 0.1721 0.0000 +vt 0.7873 0.1524 0.0000 +vt 0.8429 0.1524 0.0000 +vt 0.8717 0.2132 0.0000 +vt 0.8609 0.2131 0.0000 +vt 0.8603 0.1878 0.0000 +vt 0.8719 0.1869 0.0000 +vt 0.8834 0.1879 0.0000 +vt 0.8825 0.2133 0.0000 +vt 0.8956 0.1897 0.0000 +vt 0.8925 0.2133 0.0000 +vt 0.8509 0.2131 0.0000 +vt 0.8481 0.1893 0.0000 +vt 0.8600 0.2384 0.0000 +vt 0.8715 0.2395 0.0000 +vt 0.8831 0.2386 0.0000 +vt 0.8953 0.2370 0.0000 +vt 0.8478 0.2367 0.0000 +vt 0.6535 0.9321 0.0000 +vt 0.6428 0.9320 0.0000 +vt 0.6438 0.8990 0.0000 +vt 0.6559 0.8983 0.0000 +vt 0.6680 0.9016 0.0000 +vt 0.6635 0.9322 0.0000 +vt 0.6314 0.9001 0.0000 +vt 0.6327 0.9319 0.0000 +vt 0.6228 0.9318 0.0000 +vt 0.6185 0.8998 0.0000 +vt 0.6434 0.9650 0.0000 +vt 0.6555 0.9660 0.0000 +vt 0.6676 0.9629 0.0000 +vt 0.6310 0.9636 0.0000 +vt 0.6181 0.9637 0.0000 +# 820 texture coords + +o market +g market +f 1/1/1 2/2/2 3/3/3 +f 3/3/3 4/4/4 1/1/1 +f 5/5/5 2/2/2 1/1/1 +f 1/1/1 6/6/6 5/5/5 +f 7/7/7 5/5/5 6/6/6 +f 6/6/6 8/8/8 7/7/7 +f 9/9/9 1/1/1 4/4/4 +f 4/4/4 10/10/10 9/9/9 +f 6/6/6 1/1/1 9/9/9 +f 9/9/9 11/11/11 6/6/6 +f 8/8/8 6/6/6 11/11/11 +f 11/11/11 12/12/12 8/8/8 +f 13/13/13 9/9/9 10/10/10 +f 10/10/10 14/14/14 13/13/13 +f 11/11/11 9/9/9 13/13/13 +f 13/13/13 15/15/15 11/11/11 +f 12/12/12 11/11/11 15/15/15 +f 15/15/15 16/16/16 12/12/12 +f 17/17/17 13/13/13 14/14/14 +f 14/14/14 18/18/18 17/17/17 +f 15/15/15 13/13/13 17/17/17 +f 17/17/17 19/19/19 15/15/15 +f 16/16/16 15/15/15 19/19/19 +f 19/19/19 20/20/20 16/16/16 +f 21/21/21 22/22/22 23/23/23 +f 23/23/23 24/24/24 21/21/21 +f 21/25/21 25/26/25 26/27/26 +f 26/27/26 22/28/22 21/25/21 +f 27/24/27 28/23/28 26/22/26 +f 26/22/26 25/21/25 27/24/27 +f 24/25/24 23/28/23 28/27/28 +f 28/27/28 27/26/27 24/25/24 +f 29/29/29 30/30/30 21/21/21 +f 21/21/21 24/24/24 29/29/29 +f 30/31/30 31/32/31 25/26/25 +f 25/26/25 21/25/21 30/31/30 +f 31/30/31 32/29/32 27/24/27 +f 27/24/27 25/21/25 31/30/31 +f 27/26/27 32/32/32 29/31/29 +f 29/31/29 24/25/24 27/26/27 +f 33/33/33 34/34/34 35/35/35 +f 35/35/35 36/36/36 33/33/33 +f 37/37/37 38/38/38 39/39/39 +f 39/39/39 40/40/40 37/37/37 +f 37/41/37 41/42/41 42/43/42 +f 42/43/42 38/44/38 37/41/37 +f 43/40/43 44/39/44 42/38/42 +f 42/38/42 41/37/41 43/40/43 +f 40/41/40 39/44/39 44/43/44 +f 44/43/44 43/42/43 40/41/40 +f 35/45/35 34/46/34 37/37/37 +f 37/37/37 40/40/40 35/45/35 +f 37/41/37 34/47/34 33/48/33 +f 33/48/33 41/42/41 37/41/37 +f 33/46/33 36/45/36 43/40/43 +f 43/40/43 41/37/41 33/46/33 +f 36/48/36 35/47/35 40/41/40 +f 40/41/40 43/42/43 36/48/36 +f 45/49/45 46/50/46 47/51/47 +f 47/51/47 48/52/48 45/49/45 +f 46/50/46 49/51/49 50/52/50 +f 50/52/50 51/49/51 46/50/46 +f 45/49/45 48/52/48 52/53/52 +f 52/53/52 53/54/53 45/49/45 +f 54/55/54 55/56/55 56/57/56 +f 56/57/56 57/58/57 54/55/54 +f 58/59/58 55/60/55 54/61/54 +f 54/61/54 59/62/59 58/59/58 +f 51/49/51 50/52/50 60/53/60 +f 60/53/60 61/54/61 51/49/51 +f 62/55/62 63/56/63 64/57/64 +f 64/57/64 65/58/65 62/55/62 +f 66/59/66 63/60/63 62/61/62 +f 62/61/62 67/62/67 66/59/66 +f 53/63/53 52/64/52 68/65/68 +f 68/65/68 69/66/69 53/63/53 +f 61/63/61 69/66/69 68/67/68 +f 68/67/68 70/68/60 61/63/61 +f 56/57/56 55/56/55 49/69/49 +f 49/69/49 71/70/70 56/57/56 +f 71/70/70 49/69/49 46/50/46 +f 46/50/46 45/49/45 71/70/70 +f 66/59/66 48/52/48 47/51/47 +f 47/51/47 63/60/63 66/59/66 +f 64/57/64 63/56/63 47/69/47 +f 47/69/47 72/70/50 64/57/64 +f 47/69/47 46/50/46 51/49/51 +f 51/49/51 72/70/50 47/69/47 +f 58/59/58 50/52/50 49/51/49 +f 49/51/49 55/60/55 58/59/58 +f 56/57/56 71/70/70 73/71/71 +f 73/71/71 57/72/57 56/57/56 +f 71/70/70 45/49/45 53/54/53 +f 53/54/53 73/71/71 71/70/70 +f 67/73/67 52/53/52 48/52/48 +f 48/52/48 66/59/66 67/73/67 +f 64/57/64 72/70/50 70/71/60 +f 70/71/60 65/72/65 64/57/64 +f 72/70/50 51/49/51 61/54/61 +f 61/54/61 70/71/60 72/70/50 +f 59/73/59 60/53/60 50/52/50 +f 50/52/50 58/59/58 59/73/59 +f 57/74/57 73/68/71 74/67/72 +f 74/67/72 54/75/54 57/74/57 +f 73/68/71 53/63/53 69/66/69 +f 69/66/69 74/67/72 73/68/71 +f 67/76/67 62/77/62 68/65/68 +f 68/65/68 52/64/52 67/76/67 +f 59/76/59 54/77/54 74/65/72 +f 74/65/72 60/64/60 59/76/59 +f 60/64/60 74/65/72 69/66/69 +f 69/66/69 61/63/61 60/64/60 +f 65/74/65 70/68/60 68/67/68 +f 68/67/68 62/75/62 65/74/65 +f 75/78/73 76/79/74 77/80/75 +f 77/80/75 78/81/76 75/78/73 +f 79/82/77 80/83/78 81/84/79 +f 81/84/79 82/85/80 79/82/77 +f 83/86/81 79/87/77 82/88/80 +f 82/88/80 84/89/82 83/86/81 +f 85/84/83 86/83/84 83/82/81 +f 83/82/81 84/85/82 85/84/83 +f 80/87/78 86/86/84 85/89/83 +f 85/89/83 81/88/79 80/87/78 +f 78/90/76 77/91/75 80/83/78 +f 80/83/78 79/82/77 78/90/76 +f 78/92/76 79/87/77 83/86/81 +f 83/86/81 75/93/73 78/92/76 +f 75/90/73 83/82/81 86/83/84 +f 86/83/84 76/91/74 75/90/73 +f 76/93/74 86/86/84 80/87/78 +f 80/87/78 77/92/75 76/93/74 +f 87/94/85 88/95/86 89/96/87 +f 89/96/87 90/97/88 87/94/85 +f 91/98/89 92/99/90 93/100/91 +f 93/100/91 94/101/92 91/98/89 +f 89/102/87 95/103/93 96/104/93 +f 96/104/93 90/105/88 89/102/87 +f 92/106/90 88/95/86 87/94/85 +f 87/94/85 93/107/91 92/106/90 +f 91/108/89 94/109/92 97/110/94 +f 97/110/94 98/111/94 91/108/89 +f 99/112/95 100/113/96 101/114/97 +f 101/114/97 102/115/98 99/112/95 +f 103/116/99 104/117/100 105/118/101 +f 105/118/101 106/119/102 103/116/99 +f 107/120/103 108/121/104 109/122/105 +f 109/122/105 110/123/106 107/120/103 +f 111/117/107 112/116/108 113/124/109 +f 113/124/109 114/125/110 111/117/107 +f 115/126/111 116/127/112 117/128/113 +f 117/128/113 118/129/114 115/126/111 +f 119/130/115 120/131/116 121/132/117 +f 122/133/118 123/134/119 108/135/104 +f 108/135/104 107/136/103 122/133/118 +f 124/137/120 125/138/121 126/139/122 +f 127/140/123 128/141/124 125/138/121 +f 125/138/121 124/137/120 127/140/123 +f 129/142/125 130/143/126 101/114/97 +f 101/114/97 100/113/96 129/142/125 +f 131/144/127 107/120/103 110/123/106 +f 110/123/106 132/145/128 131/144/127 +f 133/146/129 115/126/111 118/129/114 +f 118/129/114 134/147/130 133/146/129 +f 135/148/131 122/133/118 107/136/103 +f 107/136/103 131/149/127 135/148/131 +f 120/131/116 128/141/124 127/140/123 +f 127/140/123 121/132/117 120/131/116 +f 99/150/95 102/151/98 136/152/132 +f 136/152/132 123/153/119 99/150/95 +f 100/154/96 99/150/95 123/153/119 +f 123/153/119 122/155/118 100/154/96 +f 129/156/125 100/154/96 122/155/118 +f 122/155/118 135/157/131 129/156/125 +f 137/158/133 130/159/126 129/156/125 +f 129/156/125 135/157/131 137/158/133 +f 101/160/97 130/161/126 137/162/133 +f 137/162/133 138/163/134 101/160/97 +f 102/164/98 101/160/97 138/163/134 +f 138/163/134 136/165/132 102/164/98 +f 135/148/131 131/149/127 139/166/135 +f 139/166/135 137/167/133 135/148/131 +f 132/145/128 140/168/136 139/169/135 +f 139/169/135 131/144/127 132/145/128 +f 109/122/105 108/121/104 141/170/137 +f 141/170/137 142/171/138 109/122/105 +f 123/134/119 136/172/132 141/173/137 +f 141/173/137 108/135/104 123/134/119 +f 143/124/139 144/125/140 104/117/100 +f 104/117/100 103/116/99 143/124/139 +f 120/174/116 119/175/115 141/176/137 +f 141/176/137 136/165/132 120/174/116 +f 128/177/124 120/174/116 136/165/132 +f 136/165/132 138/163/134 128/177/124 +f 125/178/121 128/177/124 138/163/134 +f 138/163/134 137/162/133 125/178/121 +f 126/179/122 125/178/121 137/162/133 +f 137/162/133 139/180/135 126/179/122 +f 145/118/141 146/119/142 112/116/108 +f 112/116/108 111/117/107 145/118/141 +f 127/181/123 124/182/120 116/127/112 +f 116/127/112 115/126/111 127/181/123 +f 121/183/117 127/181/123 115/126/111 +f 115/126/111 133/146/129 121/183/117 +f 103/184/99 106/185/102 142/186/138 +f 142/186/138 141/176/137 103/184/99 +f 143/187/139 103/184/99 141/176/137 +f 141/176/137 119/175/115 143/187/139 +f 144/188/140 143/189/139 119/130/115 +f 119/130/115 121/132/117 144/188/140 +f 104/190/100 144/191/140 121/183/117 +f 121/183/117 133/146/129 104/190/100 +f 105/192/101 104/190/100 133/146/129 +f 133/146/129 134/147/130 105/192/101 +f 111/193/107 114/194/110 117/128/113 +f 117/128/113 116/127/112 111/193/107 +f 145/195/141 111/193/107 116/127/112 +f 116/127/112 124/182/120 145/195/141 +f 146/196/142 145/197/141 124/137/120 +f 124/137/120 126/139/122 146/196/142 +f 112/198/108 146/199/142 126/179/122 +f 126/179/122 139/180/135 112/198/108 +f 113/200/109 112/198/108 139/180/135 +f 139/180/135 140/201/136 113/200/109 +f 147/202/143 148/203/144 149/204/144 +f 149/204/144 150/205/145 147/202/143 +f 151/206/146 152/207/147 153/208/148 +f 153/208/148 154/209/149 151/206/146 +f 155/210/150 156/202/151 157/205/152 +f 157/205/152 158/204/153 155/210/150 +f 159/211/154 160/209/155 157/212/152 +f 157/212/152 156/213/151 159/211/154 +f 150/214/145 161/208/156 162/215/157 +f 162/215/157 147/216/143 150/214/145 +f 151/217/146 154/218/149 160/205/155 +f 160/205/155 159/202/154 151/217/146 +f 153/218/148 152/217/147 162/202/157 +f 162/202/157 161/205/156 153/218/148 +f 163/219/158 164/220/159 165/221/160 +f 165/221/160 166/222/161 163/219/158 +f 167/223/162 163/224/158 166/225/161 +f 166/225/161 168/226/163 167/223/162 +f 169/221/164 170/220/165 167/219/162 +f 167/219/162 168/222/163 169/221/164 +f 165/225/160 164/224/159 170/223/165 +f 170/223/165 169/226/164 165/225/160 +f 171/227/166 164/220/159 163/219/158 +f 163/219/158 172/228/167 171/227/166 +f 173/229/168 172/230/167 163/224/158 +f 163/224/158 167/223/162 173/229/168 +f 174/227/169 173/228/168 167/219/162 +f 167/219/162 170/220/165 174/227/169 +f 174/229/169 170/223/165 164/224/159 +f 164/224/159 171/230/166 174/229/169 +f 175/231/170 176/232/171 177/233/172 +f 177/233/172 178/234/173 175/231/170 +f 179/235/174 176/236/171 175/237/170 +f 175/237/170 180/238/175 179/235/174 +f 181/233/176 179/232/174 180/231/175 +f 180/231/175 182/234/177 181/233/176 +f 178/237/173 177/236/172 181/235/176 +f 181/235/176 182/238/177 178/237/173 +f 183/239/178 184/240/179 177/233/172 +f 177/233/172 176/232/171 183/239/178 +f 183/241/178 176/236/171 179/235/174 +f 179/235/174 185/242/180 183/241/178 +f 185/239/180 179/232/174 181/233/176 +f 181/233/176 186/240/181 185/239/180 +f 184/241/179 186/242/181 181/235/176 +f 181/235/176 177/236/172 184/241/179 +f 187/219/182 188/222/183 189/221/184 +f 189/221/184 190/220/185 187/219/182 +f 191/223/186 192/226/187 188/225/183 +f 188/225/183 187/224/182 191/223/186 +f 191/219/186 193/220/188 194/221/189 +f 194/221/189 192/222/187 191/219/186 +f 193/223/188 190/224/185 189/225/184 +f 189/225/184 194/226/189 193/223/188 +f 195/227/190 196/228/191 187/219/182 +f 187/219/182 190/220/185 195/227/190 +f 187/224/182 196/230/191 197/229/192 +f 197/229/192 191/223/186 187/224/182 +f 191/219/186 197/228/192 198/227/193 +f 198/227/193 193/220/188 191/219/186 +f 198/229/193 195/230/190 190/224/185 +f 190/224/185 193/223/188 198/229/193 +f 199/233/194 200/232/195 201/231/196 +f 201/231/196 202/234/197 199/233/194 +f 203/235/198 204/238/199 201/237/196 +f 201/237/196 200/236/195 203/235/198 +f 205/233/200 206/234/201 204/231/199 +f 204/231/199 203/232/198 205/233/200 +f 205/235/200 199/236/194 202/237/197 +f 202/237/197 206/238/201 205/235/200 +f 199/233/194 207/240/202 208/239/203 +f 208/239/203 200/232/195 199/233/194 +f 208/241/203 209/242/204 203/235/198 +f 203/235/198 200/236/195 208/241/203 +f 209/239/204 210/240/205 205/233/200 +f 205/233/200 203/232/198 209/239/204 +f 205/235/200 210/242/205 207/241/202 +f 207/241/202 199/236/194 205/235/200 +f 211/243/206 212/244/207 213/245/208 +f 213/245/208 214/246/209 211/243/206 +f 215/244/210 216/243/211 217/246/212 +f 217/246/212 218/245/213 215/244/210 +f 218/247/213 217/248/212 214/249/209 +f 214/249/209 213/250/208 218/247/213 +f 212/251/207 215/252/210 218/253/213 +f 218/253/213 213/254/208 212/251/207 +f 219/248/214 220/247/215 221/250/216 +f 221/250/216 222/249/217 219/248/214 +f 221/245/216 212/244/207 211/243/206 +f 211/243/206 222/246/217 221/245/216 +f 219/246/214 216/243/211 215/244/210 +f 215/244/210 220/245/215 219/246/214 +f 220/253/215 215/252/210 212/251/207 +f 212/251/207 221/254/216 220/253/215 +f 223/255/218 224/256/219 225/257/220 +f 225/257/220 226/258/221 223/255/218 +f 227/259/222 228/260/223 223/255/218 +f 223/255/218 226/258/221 227/259/222 +f 223/261/218 229/262/224 230/263/225 +f 230/263/225 224/264/219 223/261/218 +f 228/265/223 231/266/226 229/262/224 +f 229/262/224 223/261/218 228/265/223 +f 229/267/224 232/268/227 233/269/228 +f 233/269/228 230/270/225 229/267/224 +f 234/271/229 232/268/227 229/267/224 +f 229/267/224 231/272/226 234/271/229 +f 226/261/221 225/264/220 233/263/228 +f 233/263/228 232/262/227 226/261/221 +f 227/265/222 226/261/221 232/262/227 +f 232/262/227 234/266/229 227/265/222 +f 235/273/230 236/274/231 237/275/232 +f 237/275/232 238/276/233 235/273/230 +f 239/277/234 236/278/231 235/279/230 +f 235/279/230 240/280/235 239/277/234 +f 241/275/236 239/274/234 240/273/235 +f 240/273/235 242/276/237 241/275/236 +f 238/279/233 237/278/232 241/277/236 +f 241/277/236 242/280/237 238/279/233 +f 243/281/238 244/282/239 237/275/232 +f 237/275/232 236/274/231 243/281/238 +f 243/283/238 236/278/231 239/277/234 +f 239/277/234 245/284/240 243/283/238 +f 245/281/240 239/274/234 241/275/236 +f 241/275/236 246/282/241 245/281/240 +f 244/283/239 246/284/241 241/277/236 +f 241/277/236 237/278/232 244/283/239 +f 247/275/242 248/274/243 249/273/244 +f 249/273/244 250/276/245 247/275/242 +f 251/277/246 252/280/247 249/279/244 +f 249/279/244 248/278/243 251/277/246 +f 253/275/248 254/276/249 252/273/247 +f 252/273/247 251/274/246 253/275/248 +f 253/277/248 247/278/242 250/279/245 +f 250/279/245 254/280/249 253/277/248 +f 247/275/242 255/282/250 256/281/251 +f 256/281/251 248/274/243 247/275/242 +f 256/283/251 257/284/252 251/277/246 +f 251/277/246 248/278/243 256/283/251 +f 257/281/252 258/282/253 253/275/248 +f 253/275/248 251/274/246 257/281/252 +f 253/277/248 258/284/253 255/283/250 +f 255/283/250 247/278/242 253/277/248 +f 259/255/254 260/258/255 261/257/256 +f 261/257/256 262/256/257 259/255/254 +f 259/255/254 263/260/258 264/259/259 +f 264/259/259 260/258/255 259/255/254 +f 265/263/260 266/262/261 259/261/254 +f 259/261/254 262/264/257 265/263/260 +f 266/262/261 267/266/262 263/265/258 +f 263/265/258 259/261/254 266/262/261 +f 268/269/263 269/268/264 266/267/261 +f 266/267/261 265/270/260 268/269/263 +f 270/271/265 267/272/262 266/267/261 +f 266/267/261 269/268/264 270/271/265 +f 260/261/255 269/262/264 268/263/263 +f 268/263/263 261/264/256 260/261/255 +f 264/265/259 270/266/265 269/262/264 +f 269/262/264 260/261/255 264/265/259 +f 271/255/266 272/258/267 273/257/268 +f 273/257/268 274/256/269 271/255/266 +f 271/255/266 275/260/270 276/259/271 +f 276/259/271 272/258/267 271/255/266 +f 277/263/272 278/262/273 271/261/266 +f 271/261/266 274/264/269 277/263/272 +f 278/262/273 279/266/274 275/265/270 +f 275/265/270 271/261/266 278/262/273 +f 280/269/275 281/268/276 278/267/273 +f 278/267/273 277/270/272 280/269/275 +f 282/271/277 279/272/274 278/267/273 +f 278/267/273 281/268/276 282/271/277 +f 272/261/267 281/262/276 280/263/275 +f 280/263/275 273/264/268 272/261/267 +f 276/265/271 282/266/277 281/262/276 +f 281/262/276 272/261/267 276/265/271 +f 283/285/278 284/286/279 285/287/280 +f 285/287/280 286/288/281 283/285/278 +f 283/285/278 286/289/281 287/290/282 +f 287/290/282 288/291/283 283/285/278 +f 288/291/283 289/292/284 284/286/279 +f 284/286/279 283/285/278 288/291/283 +f 284/286/279 289/292/284 290/293/285 +f 290/293/285 285/294/280 284/286/279 +f 291/295/282 292/296/286 288/291/283 +f 288/291/283 287/290/282 291/295/282 +f 288/291/283 292/296/286 293/297/287 +f 293/297/287 289/292/284 288/291/283 +f 289/292/284 293/297/287 294/298/285 +f 294/298/285 290/293/285 289/292/284 +f 295/285/288 296/288/289 297/287/290 +f 297/287/290 298/286/291 295/285/288 +f 299/290/282 296/289/289 295/285/288 +f 295/285/288 300/291/292 299/290/282 +f 298/286/291 301/292/293 300/291/292 +f 300/291/292 295/285/288 298/286/291 +f 298/286/291 297/294/290 302/293/285 +f 302/293/285 301/292/293 298/286/291 +f 300/291/292 292/296/286 291/295/282 +f 291/295/282 299/290/282 300/291/292 +f 300/291/292 301/292/293 293/297/287 +f 293/297/287 292/296/286 300/291/292 +f 301/292/293 302/293/285 294/298/285 +f 294/298/285 293/297/287 301/292/293 +f 303/299/294 304/300/295 305/301/296 +f 305/301/296 306/302/297 303/299/294 +f 306/302/297 307/303/298 308/304/299 +f 308/304/299 303/299/294 306/302/297 +f 306/302/297 305/305/296 309/306/282 +f 309/306/282 307/303/298 306/302/297 +f 308/304/299 307/303/298 310/307/286 +f 310/307/286 311/308/300 308/304/299 +f 307/303/298 309/309/282 312/310/282 +f 312/310/282 310/307/286 307/303/298 +f 313/299/301 314/302/302 315/301/289 +f 315/301/289 316/300/93 313/299/301 +f 317/304/303 318/303/292 314/302/302 +f 314/302/302 313/299/301 317/304/303 +f 314/302/302 318/303/292 319/306/282 +f 319/306/282 315/305/289 314/302/302 +f 317/304/303 311/308/300 310/307/286 +f 310/307/286 318/303/292 317/304/303 +f 318/303/292 310/307/286 312/310/282 +f 312/310/282 319/309/282 318/303/292 +f 320/299/304 321/300/295 322/301/305 +f 322/301/305 323/302/306 320/299/304 +f 323/302/306 324/303/307 325/304/308 +f 325/304/308 320/299/304 323/302/306 +f 323/302/306 322/305/305 326/306/309 +f 326/306/309 324/303/307 323/302/306 +f 325/304/308 324/303/307 327/307/310 +f 327/307/310 328/308/311 325/304/308 +f 324/303/307 326/309/309 329/310/309 +f 329/310/309 327/307/310 324/303/307 +f 330/299/312 331/302/313 332/301/314 +f 332/301/314 333/300/93 330/299/312 +f 334/304/315 335/303/316 331/302/313 +f 331/302/313 330/299/312 334/304/315 +f 331/302/313 335/303/316 336/306/309 +f 336/306/309 332/305/314 331/302/313 +f 334/304/315 328/308/311 327/307/310 +f 327/307/310 335/303/316 334/304/315 +f 335/303/316 327/307/310 329/310/309 +f 329/310/309 336/309/309 335/303/316 +f 337/299/317 338/300/295 339/301/318 +f 339/301/318 340/302/319 337/299/317 +f 340/302/319 341/303/320 342/304/321 +f 342/304/321 337/299/317 340/302/319 +f 340/302/319 339/305/318 343/306/322 +f 343/306/322 341/303/320 340/302/319 +f 342/304/321 341/303/320 344/307/323 +f 344/307/323 345/308/324 342/304/321 +f 341/303/320 343/309/322 346/310/322 +f 346/310/322 344/307/323 341/303/320 +f 347/299/325 348/302/326 349/301/327 +f 349/301/327 350/300/93 347/299/325 +f 351/304/328 352/303/329 348/302/326 +f 348/302/326 347/299/325 351/304/328 +f 348/302/326 352/303/329 353/306/322 +f 353/306/322 349/305/327 348/302/326 +f 351/304/328 345/308/324 344/307/323 +f 344/307/323 352/303/329 351/304/328 +f 352/303/329 344/307/323 346/310/322 +f 346/310/322 353/309/322 352/303/329 +f 354/299/317 355/300/295 356/301/318 +f 356/301/318 357/302/319 354/299/317 +f 357/302/319 358/303/320 359/304/321 +f 359/304/321 354/299/317 357/302/319 +f 357/302/319 356/305/318 360/306/322 +f 360/306/322 358/303/320 357/302/319 +f 359/304/321 358/303/320 361/307/323 +f 361/307/323 362/308/324 359/304/321 +f 358/303/320 360/309/322 363/310/322 +f 363/310/322 361/307/323 358/303/320 +f 364/299/325 365/302/326 366/301/330 +f 366/301/330 367/300/93 364/299/325 +f 368/304/328 369/303/329 365/302/326 +f 365/302/326 364/299/325 368/304/328 +f 365/302/326 369/303/329 370/306/322 +f 370/306/322 366/305/330 365/302/326 +f 368/304/328 362/308/324 361/307/323 +f 361/307/323 369/303/329 368/304/328 +f 369/303/329 361/307/323 363/310/322 +f 363/310/322 370/309/322 369/303/329 +f 371/299/317 372/300/295 373/301/318 +f 373/301/318 374/302/319 371/299/317 +f 374/302/319 375/303/320 376/304/321 +f 376/304/321 371/299/317 374/302/319 +f 374/302/319 373/305/318 377/306/331 +f 377/306/331 375/303/320 374/302/319 +f 376/304/321 375/303/320 378/307/323 +f 378/307/323 379/308/324 376/304/321 +f 375/303/320 377/309/331 380/310/322 +f 380/310/322 378/307/323 375/303/320 +f 381/299/325 382/302/326 383/301/330 +f 383/301/330 384/300/93 381/299/325 +f 385/304/328 386/303/329 382/302/326 +f 382/302/326 381/299/325 385/304/328 +f 382/302/326 386/303/329 387/306/322 +f 387/306/322 383/305/330 382/302/326 +f 385/304/328 379/308/324 378/307/323 +f 378/307/323 386/303/329 385/304/328 +f 386/303/329 378/307/323 380/310/322 +f 380/310/322 387/309/322 386/303/329 +f 388/299/332 389/300/295 390/301/333 +f 390/301/333 391/302/334 388/299/332 +f 391/302/334 392/303/335 393/304/336 +f 393/304/336 388/299/332 391/302/334 +f 391/302/334 390/305/333 394/306/337 +f 394/306/337 392/303/335 391/302/334 +f 393/304/336 392/303/335 395/307/338 +f 395/307/338 396/308/339 393/304/336 +f 392/303/335 394/309/337 397/310/337 +f 397/310/337 395/307/338 392/303/335 +f 398/299/340 399/302/341 400/301/342 +f 400/301/342 401/300/93 398/299/340 +f 402/304/343 403/303/344 399/302/341 +f 399/302/341 398/299/340 402/304/343 +f 399/302/341 403/303/344 404/306/337 +f 404/306/337 400/305/342 399/302/341 +f 402/304/343 396/308/339 395/307/338 +f 395/307/338 403/303/344 402/304/343 +f 403/303/344 395/307/338 397/310/337 +f 397/310/337 404/309/337 403/303/344 +f 405/285/345 406/288/346 407/287/347 +f 407/287/347 408/286/348 405/285/345 +f 405/285/345 409/291/349 410/290/350 +f 410/290/350 406/289/346 405/285/345 +f 409/291/349 405/285/345 408/286/348 +f 408/286/348 411/292/351 409/291/349 +f 412/293/352 411/292/351 408/286/348 +f 408/286/348 407/294/347 412/293/352 +f 409/291/349 413/296/353 414/295/354 +f 414/295/354 410/290/350 409/291/349 +f 409/291/349 411/292/351 415/297/355 +f 415/297/355 413/296/353 409/291/349 +f 411/292/351 412/293/352 416/298/352 +f 416/298/352 415/297/355 411/292/351 +f 417/285/356 418/286/357 419/287/358 +f 419/287/358 420/288/359 417/285/356 +f 421/290/350 422/291/360 417/285/356 +f 417/285/356 420/289/359 421/290/350 +f 418/286/357 417/285/356 422/291/360 +f 422/291/360 423/292/361 418/286/357 +f 424/293/352 419/294/358 418/286/357 +f 418/286/357 423/292/361 424/293/352 +f 414/295/354 413/296/353 422/291/360 +f 422/291/360 421/290/350 414/295/354 +f 422/291/360 413/296/353 415/297/355 +f 415/297/355 423/292/361 422/291/360 +f 423/292/361 415/297/355 416/298/352 +f 416/298/352 424/293/352 423/292/361 +f 425/299/362 426/302/363 427/301/364 +f 427/301/364 428/300/295 425/299/362 +f 426/302/363 425/299/362 429/304/365 +f 429/304/365 430/303/366 426/302/363 +f 431/306/367 427/305/364 426/302/363 +f 426/302/363 430/303/366 431/306/367 +f 429/304/365 432/308/368 433/307/369 +f 433/307/369 430/303/366 429/304/365 +f 430/303/366 433/307/369 434/310/370 +f 434/310/370 431/309/367 430/303/366 +f 435/299/371 436/300/93 437/301/372 +f 437/301/372 438/302/373 435/299/371 +f 439/304/374 435/299/371 438/302/373 +f 438/302/373 440/303/375 439/304/374 +f 441/306/376 440/303/375 438/302/373 +f 438/302/373 437/305/372 441/306/376 +f 439/304/374 440/303/375 433/307/369 +f 433/307/369 432/308/368 439/304/374 +f 440/303/375 441/309/376 434/310/370 +f 434/310/370 433/307/369 440/303/375 +f 442/299/377 443/302/378 444/301/379 +f 444/301/379 445/300/295 442/299/377 +f 443/302/378 442/299/377 446/304/380 +f 446/304/380 447/303/381 443/302/378 +f 448/306/382 444/305/379 443/302/378 +f 443/302/378 447/303/381 448/306/382 +f 446/304/380 449/308/383 450/307/384 +f 450/307/384 447/303/381 446/304/380 +f 447/303/381 450/307/384 451/310/382 +f 451/310/382 448/309/382 447/303/381 +f 452/299/385 453/300/93 454/301/386 +f 454/301/386 455/302/387 452/299/385 +f 456/304/388 452/299/385 455/302/387 +f 455/302/387 457/303/389 456/304/388 +f 458/306/382 457/303/389 455/302/387 +f 455/302/387 454/305/386 458/306/382 +f 456/304/388 457/303/389 450/307/384 +f 450/307/384 449/308/383 456/304/388 +f 457/303/389 458/309/382 451/310/382 +f 451/310/382 450/307/384 457/303/389 +f 459/299/390 460/302/345 461/301/346 +f 461/301/346 462/300/295 459/299/390 +f 460/302/345 459/299/390 463/304/391 +f 463/304/391 464/303/349 460/302/345 +f 465/306/350 461/305/346 460/302/345 +f 460/302/345 464/303/349 465/306/350 +f 463/304/391 466/308/392 467/307/353 +f 467/307/353 464/303/349 463/304/391 +f 464/303/349 467/307/353 468/310/350 +f 468/310/350 465/309/350 464/303/349 +f 469/299/393 470/300/93 471/301/394 +f 471/301/394 472/302/356 469/299/393 +f 473/304/395 469/299/393 472/302/356 +f 472/302/356 474/303/396 473/304/395 +f 475/306/350 474/303/396 472/302/356 +f 472/302/356 471/305/394 475/306/350 +f 473/304/395 474/303/396 467/307/353 +f 467/307/353 466/308/392 473/304/395 +f 474/303/396 475/309/350 468/310/350 +f 468/310/350 467/307/353 474/303/396 +f 476/299/390 477/302/397 478/301/346 +f 478/301/346 479/300/295 476/299/390 +f 477/302/397 476/299/390 480/304/391 +f 480/304/391 481/303/398 477/302/397 +f 482/306/350 478/305/346 477/302/397 +f 477/302/397 481/303/398 482/306/350 +f 480/304/391 483/308/392 484/307/399 +f 484/307/399 481/303/398 480/304/391 +f 481/303/398 484/307/399 485/310/350 +f 485/310/350 482/309/350 481/303/398 +f 486/299/393 487/300/93 488/301/394 +f 488/301/394 489/302/356 486/299/393 +f 490/304/395 486/299/393 489/302/356 +f 489/302/356 491/303/400 490/304/395 +f 492/306/350 491/303/400 489/302/356 +f 489/302/356 488/305/394 492/306/350 +f 490/304/395 491/303/400 484/307/399 +f 484/307/399 483/308/392 490/304/395 +f 491/303/400 492/309/350 485/310/350 +f 485/310/350 484/307/399 491/303/400 +f 493/299/362 494/302/401 495/301/364 +f 495/301/364 496/300/295 493/299/362 +f 494/302/401 493/299/362 497/304/402 +f 497/304/402 498/303/366 494/302/401 +f 499/306/367 495/305/364 494/302/401 +f 494/302/401 498/303/366 499/306/367 +f 497/304/402 500/308/368 501/307/369 +f 501/307/369 498/303/366 497/304/402 +f 498/303/366 501/307/369 502/310/370 +f 502/310/370 499/309/367 498/303/366 +f 503/299/371 504/300/93 505/301/372 +f 505/301/372 506/302/373 503/299/371 +f 507/304/374 503/299/371 506/302/373 +f 506/302/373 508/303/403 507/304/374 +f 509/306/367 508/303/403 506/302/373 +f 506/302/373 505/305/372 509/306/367 +f 507/304/374 508/303/403 501/307/369 +f 501/307/369 500/308/368 507/304/374 +f 508/303/403 509/309/367 502/310/370 +f 502/310/370 501/307/369 508/303/403 +f 510/299/404 511/302/405 512/301/406 +f 512/301/406 513/300/295 510/299/404 +f 511/302/405 510/299/404 514/304/407 +f 514/304/407 515/303/408 511/302/405 +f 516/306/409 512/305/406 511/302/405 +f 511/302/405 515/303/408 516/306/409 +f 514/304/407 517/308/410 518/307/411 +f 518/307/411 515/303/408 514/304/407 +f 515/303/408 518/307/411 519/310/409 +f 519/310/409 516/309/409 515/303/408 +f 520/299/412 521/300/93 522/301/413 +f 522/301/413 523/302/414 520/299/412 +f 524/304/415 520/299/412 523/302/414 +f 523/302/414 525/303/416 524/304/415 +f 526/306/409 525/303/416 523/302/414 +f 523/302/414 522/305/413 526/306/409 +f 524/304/415 525/303/416 518/307/411 +f 518/307/411 517/308/410 524/304/415 +f 525/303/416 526/309/409 519/310/409 +f 519/310/409 518/307/411 525/303/416 +f 527/285/345 528/288/346 529/287/347 +f 529/287/347 530/286/417 527/285/345 +f 527/285/345 531/291/349 532/290/350 +f 532/290/350 528/289/346 527/285/345 +f 531/291/349 527/285/345 530/286/417 +f 530/286/417 533/292/418 531/291/349 +f 534/293/352 533/292/418 530/286/417 +f 530/286/417 529/294/347 534/293/352 +f 531/291/349 535/296/353 536/295/350 +f 536/295/350 532/290/350 531/291/349 +f 531/291/349 533/292/418 537/297/419 +f 537/297/419 535/296/353 531/291/349 +f 533/292/418 534/293/352 538/298/352 +f 538/298/352 537/297/419 533/292/418 +f 539/285/356 540/286/357 541/287/358 +f 541/287/358 542/288/394 539/285/356 +f 543/290/350 544/291/396 539/285/356 +f 539/285/356 542/289/394 543/290/350 +f 540/286/357 539/285/356 544/291/396 +f 544/291/396 545/292/420 540/286/357 +f 546/293/352 541/294/358 540/286/357 +f 540/286/357 545/292/420 546/293/352 +f 536/295/350 535/296/353 544/291/396 +f 544/291/396 543/290/350 536/295/350 +f 544/291/396 535/296/353 537/297/419 +f 537/297/419 545/292/420 544/291/396 +f 545/292/420 537/297/419 538/298/352 +f 538/298/352 546/293/352 545/292/420 +f 547/285/345 548/288/346 549/287/421 +f 549/287/421 550/286/422 547/285/345 +f 547/285/345 551/291/349 552/290/350 +f 552/290/350 548/289/346 547/285/345 +f 551/291/349 547/285/345 550/286/422 +f 550/286/422 553/292/418 551/291/349 +f 554/293/352 553/292/418 550/286/422 +f 550/286/422 549/294/421 554/293/352 +f 551/291/349 555/296/353 556/295/354 +f 556/295/354 552/290/350 551/291/349 +f 551/291/349 553/292/418 557/297/419 +f 557/297/419 555/296/353 551/291/349 +f 553/292/418 554/293/352 558/298/352 +f 558/298/352 557/297/419 553/292/418 +f 559/285/356 560/286/357 561/287/358 +f 561/287/358 562/288/394 559/285/356 +f 563/290/350 564/291/360 559/285/356 +f 559/285/356 562/289/394 563/290/350 +f 560/286/357 559/285/356 564/291/360 +f 564/291/360 565/292/423 560/286/357 +f 566/293/352 561/294/358 560/286/357 +f 560/286/357 565/292/423 566/293/352 +f 556/295/354 555/296/353 564/291/360 +f 564/291/360 563/290/350 556/295/354 +f 564/291/360 555/296/353 557/297/419 +f 557/297/419 565/292/423 564/291/360 +f 565/292/423 557/297/419 558/298/352 +f 558/298/352 566/293/352 565/292/423 +f 567/311/424 568/312/425 569/313/426 +f 569/313/426 570/314/424 567/311/424 +f 568/312/425 571/315/295 572/316/295 +f 572/316/295 569/313/426 568/312/425 +f 573/317/424 574/318/424 575/319/427 +f 575/319/427 576/320/428 573/317/424 +f 576/320/428 575/319/427 577/321/94 +f 577/321/94 578/322/94 576/320/428 +f 579/323/424 580/324/424 581/325/429 +f 581/325/429 582/326/430 579/323/424 +f 582/326/430 581/325/429 583/327/431 +f 583/327/431 584/328/431 582/326/430 +f 585/311/424 586/314/424 587/313/432 +f 587/313/432 588/312/433 585/311/424 +f 588/312/433 587/313/432 589/316/93 +f 589/316/93 590/315/93 588/312/433 +f 591/3/434 592/2/435 593/1/436 +f 593/1/436 594/4/437 591/3/434 +f 595/5/438 596/6/439 593/1/436 +f 593/1/436 592/2/435 595/5/438 +f 597/7/440 598/8/441 596/6/439 +f 596/6/439 595/5/438 597/7/440 +f 594/4/437 593/1/436 599/9/442 +f 599/9/442 600/10/443 594/4/437 +f 596/6/439 601/11/444 599/9/442 +f 599/9/442 593/1/436 596/6/439 +f 598/8/441 602/12/445 601/11/444 +f 601/11/444 596/6/439 598/8/441 +f 600/10/443 599/9/442 603/13/446 +f 603/13/446 604/14/447 600/10/443 +f 601/11/444 605/15/448 603/13/446 +f 603/13/446 599/9/442 601/11/444 +f 602/12/445 606/16/449 605/15/448 +f 605/15/448 601/11/444 602/12/445 +f 604/14/447 603/13/446 607/17/450 +f 607/17/450 608/18/451 604/14/447 +f 605/15/448 609/19/452 607/17/450 +f 607/17/450 603/13/446 605/15/448 +f 606/16/449 610/20/453 609/19/452 +f 609/19/452 605/15/448 606/16/449 +f 611/21/454 612/24/455 613/23/456 +f 613/23/456 614/22/457 611/21/454 +f 615/27/458 616/26/459 611/25/454 +f 611/25/454 614/28/457 615/27/458 +f 617/24/460 616/21/459 615/22/458 +f 615/22/458 618/23/461 617/24/460 +f 612/25/455 617/26/460 618/27/461 +f 618/27/461 613/28/456 612/25/455 +f 619/29/462 612/24/455 611/21/454 +f 611/21/454 620/30/463 619/29/462 +f 620/31/463 611/25/454 616/26/459 +f 616/26/459 621/32/464 620/31/463 +f 621/30/464 616/21/459 617/24/460 +f 617/24/460 622/29/465 621/30/464 +f 619/31/462 622/32/465 617/26/460 +f 617/26/460 612/25/455 619/31/462 +f 623/33/466 624/36/467 625/35/468 +f 625/35/468 626/34/469 623/33/466 +f 627/37/470 628/40/471 629/39/472 +f 629/39/472 630/38/473 627/37/470 +f 631/43/474 632/42/475 627/41/470 +f 627/41/470 630/44/473 631/43/474 +f 633/40/476 632/37/475 631/38/474 +f 631/38/474 634/39/477 633/40/476 +f 628/41/471 633/42/476 634/43/477 +f 634/43/477 629/44/472 628/41/471 +f 625/45/468 628/40/471 627/37/470 +f 627/37/470 626/46/469 625/45/468 +f 623/48/466 626/47/469 627/41/470 +f 627/41/470 632/42/475 623/48/466 +f 623/46/466 632/37/475 633/40/476 +f 633/40/476 624/45/467 623/46/466 +f 624/48/467 633/42/476 628/41/471 +f 628/41/471 625/47/468 624/48/467 +f 635/51/478 636/50/479 637/49/480 +f 637/49/480 638/52/481 635/51/478 +f 636/50/479 639/49/482 640/52/483 +f 640/52/483 641/51/484 636/50/479 +f 637/49/480 642/54/485 643/53/486 +f 643/53/486 638/52/481 637/49/480 +f 644/57/487 645/56/488 646/55/489 +f 646/55/489 647/58/490 644/57/487 +f 648/59/491 649/62/492 646/61/489 +f 646/61/489 645/60/488 648/59/491 +f 639/49/482 650/54/493 651/53/494 +f 651/53/494 640/52/483 639/49/482 +f 652/57/495 653/56/496 654/55/497 +f 654/55/497 655/58/498 652/57/495 +f 656/59/499 657/62/500 654/61/497 +f 654/61/497 653/60/496 656/59/499 +f 642/63/485 658/66/501 659/65/502 +f 659/65/502 643/64/486 642/63/485 +f 659/67/502 658/66/501 650/63/493 +f 650/63/493 660/68/494 659/67/502 +f 641/69/484 645/56/488 644/57/487 +f 644/57/487 661/70/503 641/69/484 +f 636/50/479 641/69/484 661/70/503 +f 661/70/503 637/49/480 636/50/479 +f 656/59/499 653/60/496 635/51/478 +f 635/51/478 638/52/481 656/59/499 +f 635/69/478 653/56/496 652/57/495 +f 652/57/495 662/70/483 635/69/478 +f 635/69/478 662/70/483 639/49/482 +f 639/49/482 636/50/479 635/69/478 +f 648/59/491 645/60/488 641/51/484 +f 641/51/484 640/52/483 648/59/491 +f 644/57/487 647/72/490 663/71/504 +f 663/71/504 661/70/503 644/57/487 +f 661/70/503 663/71/504 642/54/485 +f 642/54/485 637/49/480 661/70/503 +f 657/73/500 656/59/499 638/52/481 +f 638/52/481 643/53/486 657/73/500 +f 652/57/495 655/72/498 660/71/494 +f 660/71/494 662/70/483 652/57/495 +f 662/70/483 660/71/494 650/54/493 +f 650/54/493 639/49/482 662/70/483 +f 649/73/492 648/59/491 640/52/483 +f 640/52/483 651/53/494 649/73/492 +f 647/74/490 646/75/489 664/67/505 +f 664/67/505 663/68/504 647/74/490 +f 663/68/504 664/67/505 658/66/501 +f 658/66/501 642/63/485 663/68/504 +f 659/65/502 654/77/497 657/76/500 +f 657/76/500 643/64/486 659/65/502 +f 664/65/505 646/77/489 649/76/492 +f 649/76/492 651/64/494 664/65/505 +f 658/66/501 664/65/505 651/64/494 +f 651/64/494 650/63/493 658/66/501 +f 655/74/498 654/75/497 659/67/502 +f 659/67/502 660/68/494 655/74/498 +f 665/78/506 666/81/507 667/80/508 +f 667/80/508 668/79/509 665/78/506 +f 669/82/510 670/85/511 671/84/512 +f 671/84/512 672/83/513 669/82/510 +f 673/86/514 674/89/515 670/88/511 +f 670/88/511 669/87/510 673/86/514 +f 673/82/514 675/83/516 676/84/517 +f 676/84/517 674/85/515 673/82/514 +f 672/87/513 671/88/512 676/89/517 +f 676/89/517 675/86/516 672/87/513 +f 672/83/513 667/91/508 666/90/507 +f 666/90/507 669/82/510 672/83/513 +f 666/92/507 665/93/506 673/86/514 +f 673/86/514 669/87/510 666/92/507 +f 665/90/506 668/91/509 675/83/516 +f 675/83/516 673/82/514 665/90/506 +f 668/93/509 667/92/508 672/87/513 +f 672/87/513 675/86/516 668/93/509 +f 677/96/518 678/95/519 679/94/519 +f 679/94/519 680/97/520 677/96/518 +f 681/98/521 682/101/522 683/100/523 +f 683/100/523 684/99/524 681/98/521 +f 677/329/518 680/330/520 685/331/525 +f 685/331/525 686/332/525 677/329/518 +f 684/106/524 683/107/523 679/94/519 +f 679/94/519 678/95/519 684/106/524 +f 687/110/526 682/109/522 681/108/521 +f 681/108/521 688/111/526 687/110/526 +f 689/114/527 690/113/528 691/112/529 +f 691/112/529 692/115/530 689/114/527 +f 693/116/531 694/119/531 695/118/532 +f 695/118/532 696/117/532 693/116/531 +f 697/120/533 698/123/424 699/122/534 +f 699/122/534 700/121/535 697/120/533 +f 701/117/536 702/125/536 703/124/537 +f 703/124/537 704/116/537 701/117/536 +f 705/126/111 706/129/111 707/128/538 +f 707/128/538 708/127/538 705/126/111 +f 709/131/539 710/130/540 711/132/541 +f 712/133/542 697/136/533 700/135/535 +f 700/135/535 713/134/543 712/133/542 +f 714/138/544 715/137/545 716/139/546 +f 714/138/544 717/141/547 718/140/548 +f 718/140/548 715/137/545 714/138/544 +f 689/114/527 719/143/549 720/142/550 +f 720/142/550 690/113/528 689/114/527 +f 721/144/551 722/145/552 698/123/424 +f 698/123/424 697/120/533 721/144/551 +f 723/146/553 724/147/553 706/129/111 +f 706/129/111 705/126/111 723/146/553 +f 725/148/554 721/149/551 697/136/533 +f 697/136/533 712/133/542 725/148/554 +f 709/131/539 711/132/541 718/140/548 +f 718/140/548 717/141/547 709/131/539 +f 691/150/529 713/153/543 726/152/555 +f 726/152/555 692/151/530 691/150/529 +f 690/154/528 712/155/542 713/153/543 +f 713/153/543 691/150/529 690/154/528 +f 720/156/550 725/157/554 712/155/542 +f 712/155/542 690/154/528 720/156/550 +f 720/156/550 719/159/549 727/158/556 +f 727/158/556 725/157/554 720/156/550 +f 689/160/527 728/163/557 727/162/556 +f 727/162/556 719/161/549 689/160/527 +f 692/164/530 726/165/555 728/163/557 +f 728/163/557 689/160/527 692/164/530 +f 729/166/558 721/149/551 725/148/554 +f 725/148/554 727/167/556 729/166/558 +f 722/145/552 721/144/551 729/169/558 +f 729/169/558 730/168/559 722/145/552 +f 731/170/560 700/121/535 699/122/534 +f 699/122/534 732/171/561 731/170/560 +f 713/134/543 700/135/535 731/173/560 +f 731/173/560 726/172/555 713/134/543 +f 733/124/562 693/116/531 696/117/532 +f 696/117/532 734/125/563 733/124/562 +f 709/174/539 726/165/555 731/176/560 +f 731/176/560 710/175/540 709/174/539 +f 717/177/547 728/163/557 726/165/555 +f 726/165/555 709/174/539 717/177/547 +f 714/178/544 727/162/556 728/163/557 +f 728/163/557 717/177/547 714/178/544 +f 716/179/546 729/180/558 727/162/556 +f 727/162/556 714/178/544 716/179/546 +f 735/118/564 701/117/536 704/116/537 +f 704/116/537 736/119/565 735/118/564 +f 718/181/548 705/126/111 708/127/538 +f 708/127/538 715/182/545 718/181/548 +f 711/183/541 723/146/553 705/126/111 +f 705/126/111 718/181/548 711/183/541 +f 693/184/531 731/176/560 732/186/561 +f 732/186/561 694/185/531 693/184/531 +f 733/187/562 710/175/540 731/176/560 +f 731/176/560 693/184/531 733/187/562 +f 734/188/563 711/132/541 710/130/540 +f 710/130/540 733/189/562 734/188/563 +f 696/190/532 723/146/553 711/183/541 +f 711/183/541 734/191/563 696/190/532 +f 695/192/532 724/147/553 723/146/553 +f 723/146/553 696/190/532 695/192/532 +f 701/193/536 708/127/538 707/128/538 +f 707/128/538 702/194/536 701/193/536 +f 735/195/564 715/182/545 708/127/538 +f 708/127/538 701/193/536 735/195/564 +f 736/196/565 716/139/546 715/137/545 +f 715/137/545 735/197/564 736/196/565 +f 704/198/537 729/180/558 716/179/546 +f 716/179/546 736/199/565 704/198/537 +f 703/200/537 730/201/559 729/180/558 +f 729/180/558 704/198/537 703/200/537 +f 737/202/566 738/205/567 739/204/568 +f 739/204/568 740/203/568 737/202/566 +f 741/206/569 742/209/570 743/208/571 +f 743/208/571 744/207/572 741/206/569 +f 745/210/573 746/204/574 747/205/575 +f 747/205/575 748/202/576 745/210/573 +f 749/211/577 748/213/576 747/212/575 +f 747/212/575 750/209/578 749/211/577 +f 751/215/579 752/208/580 738/214/567 +f 738/214/567 737/216/566 751/215/579 +f 741/217/569 749/202/577 750/205/578 +f 750/205/578 742/218/570 741/217/569 +f 743/218/571 752/205/580 751/202/579 +f 751/202/579 744/217/572 743/218/571 +f 753/219/581 754/222/582 755/221/583 +f 755/221/583 756/220/584 753/219/581 +f 757/223/585 758/226/586 754/225/582 +f 754/225/582 753/224/581 757/223/585 +f 757/219/585 759/220/587 760/221/588 +f 760/221/588 758/222/586 757/219/585 +f 759/223/587 756/224/584 755/225/583 +f 755/225/583 760/226/588 759/223/587 +f 761/227/589 762/228/590 753/219/581 +f 753/219/581 756/220/584 761/227/589 +f 753/224/581 762/230/590 763/229/591 +f 763/229/591 757/223/585 753/224/581 +f 757/219/585 763/228/591 764/227/592 +f 764/227/592 759/220/587 757/219/585 +f 764/229/592 761/230/589 756/224/584 +f 756/224/584 759/223/587 764/229/592 +f 765/233/593 766/232/594 767/231/595 +f 767/231/595 768/234/596 765/233/593 +f 769/235/597 770/238/598 767/237/595 +f 767/237/595 766/236/594 769/235/597 +f 771/233/599 772/234/600 770/231/598 +f 770/231/598 769/232/597 771/233/599 +f 771/235/599 765/236/593 768/237/596 +f 768/237/596 772/238/600 771/235/599 +f 765/233/593 773/240/601 774/239/602 +f 774/239/602 766/232/594 765/233/593 +f 774/241/602 775/242/603 769/235/597 +f 769/235/597 766/236/594 774/241/602 +f 775/239/603 776/240/604 771/233/599 +f 771/233/599 769/232/597 775/239/603 +f 771/235/599 776/242/604 773/241/601 +f 773/241/601 765/236/593 771/235/599 +f 777/219/605 778/220/606 779/221/607 +f 779/221/607 780/222/608 777/219/605 +f 781/223/609 777/224/605 780/225/608 +f 780/225/608 782/226/610 781/223/609 +f 783/221/611 784/220/612 781/219/609 +f 781/219/609 782/222/610 783/221/611 +f 779/225/607 778/224/606 784/223/612 +f 784/223/612 783/226/611 779/225/607 +f 785/227/613 778/220/606 777/219/605 +f 777/219/605 786/228/614 785/227/613 +f 787/229/615 786/230/614 777/224/605 +f 777/224/605 781/223/609 787/229/615 +f 788/227/616 787/228/615 781/219/609 +f 781/219/609 784/220/612 788/227/616 +f 788/229/616 784/223/612 778/224/606 +f 778/224/606 785/230/613 788/229/616 +f 789/231/617 790/232/618 791/233/619 +f 791/233/619 792/234/620 789/231/617 +f 793/235/621 790/236/618 789/237/617 +f 789/237/617 794/238/622 793/235/621 +f 795/233/623 793/232/621 794/231/622 +f 794/231/622 796/234/624 795/233/623 +f 792/237/620 791/236/619 795/235/623 +f 795/235/623 796/238/624 792/237/620 +f 797/239/625 798/240/626 791/233/619 +f 791/233/619 790/232/618 797/239/625 +f 797/241/625 790/236/618 793/235/621 +f 793/235/621 799/242/627 797/241/625 +f 799/239/627 793/232/621 795/233/623 +f 795/233/623 800/240/628 799/239/627 +f 798/241/626 800/242/628 795/235/623 +f 795/235/623 791/236/619 798/241/626 +f 801/245/629 802/244/630 803/243/631 +f 803/243/631 804/246/632 801/245/629 +f 805/244/633 806/245/634 807/246/635 +f 807/246/635 808/243/424 805/244/633 +f 806/247/634 801/250/629 804/249/632 +f 804/249/632 807/248/635 806/247/634 +f 806/253/634 805/252/633 802/251/630 +f 802/251/630 801/254/629 806/253/634 +f 809/248/636 810/249/637 811/250/638 +f 811/250/638 812/247/639 809/248/636 +f 811/245/638 810/246/637 803/243/631 +f 803/243/631 802/244/630 811/245/638 +f 809/246/636 812/245/639 805/244/633 +f 805/244/633 808/243/424 809/246/636 +f 812/253/639 811/254/638 802/251/630 +f 802/251/630 805/252/633 812/253/639 +f 813/255/640 814/258/641 815/257/642 +f 815/257/642 816/256/643 813/255/640 +f 813/255/640 817/260/644 818/259/645 +f 818/259/645 814/258/641 813/255/640 +f 819/263/646 820/262/647 813/261/640 +f 813/261/640 816/264/643 819/263/646 +f 820/262/647 821/266/648 817/265/644 +f 817/265/644 813/261/640 820/262/647 +f 822/269/649 823/268/650 820/267/647 +f 820/267/647 819/270/646 822/269/649 +f 824/271/651 821/272/648 820/267/647 +f 820/267/647 823/268/650 824/271/651 +f 814/261/641 823/262/650 822/263/649 +f 822/263/649 815/264/642 814/261/641 +f 818/265/645 824/266/651 823/262/650 +f 823/262/650 814/261/641 818/265/645 +f 825/255/652 826/256/653 827/257/654 +f 827/257/654 828/258/655 825/255/652 +f 829/259/656 830/260/657 825/255/652 +f 825/255/652 828/258/655 829/259/656 +f 825/261/652 831/262/658 832/263/659 +f 832/263/659 826/264/653 825/261/652 +f 830/265/657 833/266/660 831/262/658 +f 831/262/658 825/261/652 830/265/657 +f 831/267/658 834/268/661 835/269/662 +f 835/269/662 832/270/659 831/267/658 +f 836/271/663 834/268/661 831/267/658 +f 831/267/658 833/272/660 836/271/663 +f 828/261/655 827/264/654 835/263/662 +f 835/263/662 834/262/661 828/261/655 +f 829/265/656 828/261/655 834/262/661 +f 834/262/661 836/266/663 829/265/656 +f 837/255/664 838/256/665 839/257/666 +f 839/257/666 840/258/667 837/255/664 +f 841/259/668 842/260/669 837/255/664 +f 837/255/664 840/258/667 841/259/668 +f 837/261/664 843/262/670 844/263/671 +f 844/263/671 838/264/665 837/261/664 +f 842/265/669 845/266/672 843/262/670 +f 843/262/670 837/261/664 842/265/669 +f 843/267/670 846/268/673 847/269/674 +f 847/269/674 844/270/671 843/267/670 +f 848/271/675 846/268/673 843/267/670 +f 843/267/670 845/272/672 848/271/675 +f 840/261/667 839/264/666 847/263/674 +f 847/263/674 846/262/673 840/261/667 +f 841/265/668 840/261/667 846/262/673 +f 846/262/673 848/266/675 841/265/668 +f 849/285/676 850/288/677 851/287/678 +f 851/287/678 852/286/679 849/285/676 +f 849/285/676 853/291/680 854/290/681 +f 854/290/681 850/289/677 849/285/676 +f 853/291/680 849/285/676 852/286/679 +f 852/286/679 855/292/682 853/291/680 +f 856/293/683 855/292/682 852/286/679 +f 852/286/679 851/294/678 856/293/683 +f 853/291/680 857/296/684 858/295/681 +f 858/295/681 854/290/681 853/291/680 +f 853/291/680 855/292/682 859/297/685 +f 859/297/685 857/296/684 853/291/680 +f 855/292/682 856/293/683 860/298/683 +f 860/298/683 859/297/685 855/292/682 +f 861/285/686 862/286/687 863/287/688 +f 863/287/688 864/288/689 861/285/686 +f 865/290/681 866/291/690 861/285/686 +f 861/285/686 864/289/689 865/290/681 +f 862/286/687 861/285/686 866/291/690 +f 866/291/690 867/292/691 862/286/687 +f 868/293/683 863/294/688 862/286/687 +f 862/286/687 867/292/691 868/293/683 +f 858/295/681 857/296/684 866/291/690 +f 866/291/690 865/290/681 858/295/681 +f 866/291/690 857/296/684 859/297/685 +f 859/297/685 867/292/691 866/291/690 +f 867/292/691 859/297/685 860/298/683 +f 860/298/683 868/293/683 867/292/691 +f 869/299/692 870/302/676 871/301/693 +f 871/301/693 872/300/694 869/299/692 +f 870/302/676 869/299/692 873/304/695 +f 873/304/695 874/303/696 870/302/676 +f 875/306/697 871/305/693 870/302/676 +f 870/302/676 874/303/696 875/306/697 +f 873/304/695 876/308/698 877/307/684 +f 877/307/684 874/303/696 873/304/695 +f 874/303/696 877/307/684 878/310/697 +f 878/310/697 875/309/697 874/303/696 +f 879/299/699 880/300/700 881/301/689 +f 881/301/689 882/302/701 879/299/699 +f 883/304/702 879/299/699 882/302/701 +f 882/302/701 884/303/690 883/304/702 +f 885/306/697 884/303/690 882/302/701 +f 882/302/701 881/305/689 885/306/697 +f 883/304/702 884/303/690 877/307/684 +f 877/307/684 876/308/698 883/304/702 +f 884/303/690 885/309/697 878/310/697 +f 878/310/697 877/307/684 884/303/690 +f 886/299/703 887/302/704 888/301/705 +f 888/301/705 889/300/694 886/299/703 +f 887/302/704 886/299/703 890/304/706 +f 890/304/706 891/303/707 887/302/704 +f 892/306/708 888/305/705 887/302/704 +f 887/302/704 891/303/707 892/306/708 +f 890/304/706 893/308/709 894/307/710 +f 894/307/710 891/303/707 890/304/706 +f 891/303/707 894/307/710 895/310/708 +f 895/310/708 892/309/708 891/303/707 +f 896/299/711 897/300/525 898/301/712 +f 898/301/712 899/302/713 896/299/711 +f 900/304/714 896/299/711 899/302/713 +f 899/302/713 901/303/715 900/304/714 +f 902/306/708 901/303/715 899/302/713 +f 899/302/713 898/305/712 902/306/708 +f 900/304/714 901/303/715 894/307/710 +f 894/307/710 893/308/709 900/304/714 +f 901/303/715 902/309/708 895/310/708 +f 895/310/708 894/307/710 901/303/715 +f 903/299/716 904/302/717 905/301/718 +f 905/301/718 906/300/694 903/299/716 +f 904/302/717 903/299/716 907/304/719 +f 907/304/719 908/303/720 904/302/717 +f 909/306/721 905/305/718 904/302/717 +f 904/302/717 908/303/720 909/306/721 +f 907/304/719 910/308/722 911/307/723 +f 911/307/723 908/303/720 907/304/719 +f 908/303/720 911/307/723 912/310/721 +f 912/310/721 909/309/721 908/303/720 +f 913/299/724 914/300/525 915/301/725 +f 915/301/725 916/302/726 913/299/724 +f 917/304/727 913/299/724 916/302/726 +f 916/302/726 918/303/728 917/304/727 +f 919/306/721 918/303/728 916/302/726 +f 916/302/726 915/305/725 919/306/721 +f 917/304/727 918/303/728 911/307/723 +f 911/307/723 910/308/722 917/304/727 +f 918/303/728 919/309/721 912/310/721 +f 912/310/721 911/307/723 918/303/728 +f 920/299/716 921/302/729 922/301/730 +f 922/301/730 923/300/694 920/299/716 +f 921/302/729 920/299/716 924/304/731 +f 924/304/731 925/303/720 921/302/729 +f 926/306/721 922/305/730 921/302/729 +f 921/302/729 925/303/720 926/306/721 +f 924/304/731 927/308/732 928/307/723 +f 928/307/723 925/303/720 924/304/731 +f 925/303/720 928/307/723 929/310/721 +f 929/310/721 926/309/721 925/303/720 +f 930/299/724 931/300/525 932/301/725 +f 932/301/725 933/302/726 930/299/724 +f 934/304/733 930/299/724 933/302/726 +f 933/302/726 935/303/728 934/304/733 +f 936/306/721 935/303/728 933/302/726 +f 933/302/726 932/305/725 936/306/721 +f 934/304/733 935/303/728 928/307/723 +f 928/307/723 927/308/732 934/304/733 +f 935/303/728 936/309/721 929/310/721 +f 929/310/721 928/307/723 935/303/728 +f 937/299/716 938/302/717 939/301/730 +f 939/301/730 940/300/694 937/299/716 +f 938/302/717 937/299/716 941/304/731 +f 941/304/731 942/303/720 938/302/717 +f 943/306/721 939/305/730 938/302/717 +f 938/302/717 942/303/720 943/306/721 +f 941/304/731 944/308/722 945/307/734 +f 945/307/734 942/303/720 941/304/731 +f 942/303/720 945/307/734 946/310/721 +f 946/310/721 943/309/721 942/303/720 +f 947/299/724 948/300/700 949/301/725 +f 949/301/725 950/302/726 947/299/724 +f 951/304/733 947/299/724 950/302/726 +f 950/302/726 952/303/728 951/304/733 +f 953/306/721 952/303/728 950/302/726 +f 950/302/726 949/305/725 953/306/721 +f 951/304/733 952/303/728 945/307/734 +f 945/307/734 944/308/722 951/304/733 +f 952/303/728 953/309/721 946/310/721 +f 946/310/721 945/307/734 952/303/728 +f 954/299/735 955/302/736 956/301/737 +f 956/301/737 957/300/694 954/299/735 +f 955/302/736 954/299/735 958/304/738 +f 958/304/738 959/303/739 955/302/736 +f 960/306/740 956/305/737 955/302/736 +f 955/302/736 959/303/739 960/306/740 +f 958/304/738 961/308/741 962/307/742 +f 962/307/742 959/303/739 958/304/738 +f 959/303/739 962/307/742 963/310/740 +f 963/310/740 960/309/740 959/303/739 +f 964/299/743 965/300/525 966/301/744 +f 966/301/744 967/302/745 964/299/743 +f 968/304/746 964/299/743 967/302/745 +f 967/302/745 969/303/747 968/304/746 +f 970/306/740 969/303/747 967/302/745 +f 967/302/745 966/305/744 970/306/740 +f 968/304/746 969/303/747 962/307/742 +f 962/307/742 961/308/741 968/304/746 +f 969/303/747 970/309/740 963/310/740 +f 963/310/740 962/307/742 969/303/747 +f 971/285/748 972/286/749 973/287/750 +f 973/287/750 974/288/751 971/285/748 +f 971/285/748 974/289/751 975/290/752 +f 975/290/752 976/291/753 971/285/748 +f 976/291/753 977/292/754 972/286/749 +f 972/286/749 971/285/748 976/291/753 +f 972/286/749 977/292/754 978/293/755 +f 978/293/755 973/294/750 972/286/749 +f 979/295/756 980/296/757 976/291/753 +f 976/291/753 975/290/752 979/295/756 +f 976/291/753 980/296/757 981/297/758 +f 981/297/758 977/292/754 976/291/753 +f 977/292/754 981/297/758 982/298/755 +f 982/298/755 978/293/755 977/292/754 +f 983/285/759 984/288/760 985/287/761 +f 985/287/761 986/286/762 983/285/759 +f 987/290/752 984/289/760 983/285/759 +f 983/285/759 988/291/763 987/290/752 +f 986/286/762 989/292/764 988/291/763 +f 988/291/763 983/285/759 986/286/762 +f 986/286/762 985/294/761 990/293/755 +f 990/293/755 989/292/764 986/286/762 +f 988/291/763 980/296/757 979/295/756 +f 979/295/756 987/290/752 988/291/763 +f 988/291/763 989/292/764 981/297/758 +f 981/297/758 980/296/757 988/291/763 +f 989/292/764 990/293/755 982/298/755 +f 982/298/755 981/297/758 989/292/764 +f 991/299/765 992/300/694 993/301/766 +f 993/301/766 994/302/767 991/299/765 +f 994/302/767 995/303/768 996/304/769 +f 996/304/769 991/299/765 994/302/767 +f 994/302/767 993/305/766 997/306/770 +f 997/306/770 995/303/768 994/302/767 +f 996/304/769 995/303/768 998/307/771 +f 998/307/771 999/308/772 996/304/769 +f 995/303/768 997/309/770 1000/310/770 +f 1000/310/770 998/307/771 995/303/768 +f 1001/299/773 1002/302/774 1003/301/775 +f 1003/301/775 1004/300/776 1001/299/773 +f 1005/304/777 1006/303/778 1002/302/774 +f 1002/302/774 1001/299/773 1005/304/777 +f 1002/302/774 1006/303/778 1007/306/770 +f 1007/306/770 1003/305/775 1002/302/774 +f 1005/304/777 999/308/772 998/307/771 +f 998/307/771 1006/303/778 1005/304/777 +f 1006/303/778 998/307/771 1000/310/770 +f 1000/310/770 1007/309/770 1006/303/778 +f 1008/299/779 1009/300/694 1010/301/780 +f 1010/301/780 1011/302/781 1008/299/779 +f 1011/302/781 1012/303/782 1013/304/783 +f 1013/304/783 1008/299/779 1011/302/781 +f 1011/302/781 1010/305/780 1014/306/784 +f 1014/306/784 1012/303/782 1011/302/781 +f 1013/304/783 1012/303/782 1015/307/785 +f 1015/307/785 1016/308/786 1013/304/783 +f 1012/303/782 1014/309/784 1017/310/784 +f 1017/310/784 1015/307/785 1012/303/782 +f 1018/299/787 1019/302/788 1020/301/789 +f 1020/301/789 1021/300/525 1018/299/787 +f 1022/304/790 1023/303/791 1019/302/788 +f 1019/302/788 1018/299/787 1022/304/790 +f 1019/302/788 1023/303/791 1024/306/784 +f 1024/306/784 1020/305/789 1019/302/788 +f 1022/304/790 1016/308/786 1015/307/785 +f 1015/307/785 1023/303/791 1022/304/790 +f 1023/303/791 1015/307/785 1017/310/784 +f 1017/310/784 1024/309/784 1023/303/791 +f 1025/299/792 1026/300/694 1027/301/751 +f 1027/301/751 1028/302/748 1025/299/792 +f 1028/302/748 1029/303/793 1030/304/794 +f 1030/304/794 1025/299/792 1028/302/748 +f 1028/302/748 1027/305/751 1031/306/756 +f 1031/306/756 1029/303/793 1028/302/748 +f 1030/304/794 1029/303/793 1032/307/757 +f 1032/307/757 1033/308/795 1030/304/794 +f 1029/303/793 1031/309/756 1034/310/756 +f 1034/310/756 1032/307/757 1029/303/793 +f 1035/299/796 1036/302/759 1037/301/760 +f 1037/301/760 1038/300/700 1035/299/796 +f 1039/304/797 1040/303/763 1036/302/759 +f 1036/302/759 1035/299/796 1039/304/797 +f 1036/302/759 1040/303/763 1041/306/756 +f 1041/306/756 1037/305/760 1036/302/759 +f 1039/304/797 1033/308/795 1032/307/757 +f 1032/307/757 1040/303/763 1039/304/797 +f 1040/303/763 1032/307/757 1034/310/756 +f 1034/310/756 1041/309/756 1040/303/763 +f 1042/299/792 1043/300/694 1044/301/751 +f 1044/301/751 1045/302/748 1042/299/792 +f 1045/302/748 1046/303/753 1047/304/794 +f 1047/304/794 1042/299/792 1045/302/748 +f 1045/302/748 1044/305/751 1048/306/756 +f 1048/306/756 1046/303/753 1045/302/748 +f 1047/304/794 1046/303/753 1049/307/757 +f 1049/307/757 1050/308/795 1047/304/794 +f 1046/303/753 1048/309/756 1051/310/756 +f 1051/310/756 1049/307/757 1046/303/753 +f 1052/299/796 1053/302/759 1054/301/760 +f 1054/301/760 1055/300/700 1052/299/796 +f 1056/304/797 1057/303/763 1053/302/759 +f 1053/302/759 1052/299/796 1056/304/797 +f 1053/302/759 1057/303/763 1058/306/756 +f 1058/306/756 1054/305/760 1053/302/759 +f 1056/304/797 1050/308/795 1049/307/757 +f 1049/307/757 1057/303/763 1056/304/797 +f 1057/303/763 1049/307/757 1051/310/756 +f 1051/310/756 1058/309/756 1057/303/763 +f 1059/299/765 1060/300/694 1061/301/798 +f 1061/301/798 1062/302/767 1059/299/765 +f 1062/302/767 1063/303/799 1064/304/769 +f 1064/304/769 1059/299/765 1062/302/767 +f 1062/302/767 1061/305/798 1065/306/770 +f 1065/306/770 1063/303/799 1062/302/767 +f 1064/304/769 1063/303/799 1066/307/771 +f 1066/307/771 1067/308/772 1064/304/769 +f 1063/303/799 1065/309/770 1068/310/770 +f 1068/310/770 1066/307/771 1063/303/799 +f 1069/299/773 1070/302/774 1071/301/800 +f 1071/301/800 1072/300/525 1069/299/773 +f 1073/304/777 1074/303/801 1070/302/774 +f 1070/302/774 1069/299/773 1073/304/777 +f 1070/302/774 1074/303/801 1075/306/770 +f 1075/306/770 1071/305/800 1070/302/774 +f 1073/304/777 1067/308/772 1066/307/771 +f 1066/307/771 1074/303/801 1073/304/777 +f 1074/303/801 1066/307/771 1068/310/770 +f 1068/310/770 1075/309/770 1074/303/801 +f 1076/299/802 1077/300/694 1078/301/803 +f 1078/301/803 1079/302/804 1076/299/802 +f 1079/302/804 1080/303/805 1081/304/806 +f 1081/304/806 1076/299/802 1079/302/804 +f 1079/302/804 1078/305/803 1082/306/807 +f 1082/306/807 1080/303/805 1079/302/804 +f 1081/304/806 1080/303/805 1083/307/808 +f 1083/307/808 1084/308/722 1081/304/806 +f 1080/303/805 1082/309/807 1085/310/807 +f 1085/310/807 1083/307/808 1080/303/805 +f 1086/299/809 1087/302/810 1088/301/811 +f 1088/301/811 1089/300/700 1086/299/809 +f 1090/304/812 1091/303/813 1087/302/810 +f 1087/302/810 1086/299/809 1090/304/812 +f 1087/302/810 1091/303/813 1092/306/807 +f 1092/306/807 1088/305/811 1087/302/810 +f 1090/304/812 1084/308/722 1083/307/808 +f 1083/307/808 1091/303/813 1090/304/812 +f 1091/303/813 1083/307/808 1085/310/807 +f 1085/310/807 1092/309/807 1091/303/813 +f 1093/285/748 1094/286/749 1095/287/750 +f 1095/287/750 1096/288/751 1093/285/748 +f 1093/285/748 1096/289/751 1097/290/752 +f 1097/290/752 1098/291/753 1093/285/748 +f 1098/291/753 1099/292/754 1094/286/749 +f 1094/286/749 1093/285/748 1098/291/753 +f 1094/286/749 1099/292/754 1100/293/755 +f 1100/293/755 1095/294/750 1094/286/749 +f 1101/295/756 1102/296/757 1098/291/753 +f 1098/291/753 1097/290/752 1101/295/756 +f 1098/291/753 1102/296/757 1103/297/758 +f 1103/297/758 1099/292/754 1098/291/753 +f 1099/292/754 1103/297/758 1104/298/755 +f 1104/298/755 1100/293/755 1099/292/754 +f 1105/285/759 1106/288/760 1107/287/814 +f 1107/287/814 1108/286/815 1105/285/759 +f 1109/290/752 1106/289/760 1105/285/759 +f 1105/285/759 1110/291/763 1109/290/752 +f 1108/286/815 1111/292/764 1110/291/763 +f 1110/291/763 1105/285/759 1108/286/815 +f 1108/286/815 1107/294/814 1112/293/755 +f 1112/293/755 1111/292/764 1108/286/815 +f 1110/291/763 1102/296/757 1101/295/756 +f 1101/295/756 1109/290/752 1110/291/763 +f 1110/291/763 1111/292/764 1103/297/758 +f 1103/297/758 1102/296/757 1110/291/763 +f 1111/292/764 1112/293/755 1104/298/755 +f 1104/298/755 1103/297/758 1111/292/764 +f 1113/285/748 1114/286/749 1115/287/750 +f 1115/287/750 1116/288/816 1113/285/748 +f 1113/285/748 1116/289/816 1117/290/752 +f 1117/290/752 1118/291/793 1113/285/748 +f 1118/291/793 1119/292/754 1114/286/749 +f 1114/286/749 1113/285/748 1118/291/793 +f 1114/286/749 1119/292/754 1120/293/755 +f 1120/293/755 1115/294/750 1114/286/749 +f 1121/295/756 1122/296/757 1118/291/793 +f 1118/291/793 1117/290/752 1121/295/756 +f 1118/291/793 1122/296/757 1123/297/758 +f 1123/297/758 1119/292/754 1118/291/793 +f 1119/292/754 1123/297/758 1124/298/755 +f 1124/298/755 1120/293/755 1119/292/754 +f 1125/285/759 1126/288/760 1127/287/814 +f 1127/287/814 1128/286/817 1125/285/759 +f 1129/290/752 1126/289/760 1125/285/759 +f 1125/285/759 1130/291/763 1129/290/752 +f 1128/286/817 1131/292/764 1130/291/763 +f 1130/291/763 1125/285/759 1128/286/817 +f 1128/286/817 1127/294/814 1132/293/755 +f 1132/293/755 1131/292/764 1128/286/817 +f 1130/291/763 1122/296/757 1121/295/756 +f 1121/295/756 1129/290/752 1130/291/763 +f 1130/291/763 1131/292/764 1123/297/758 +f 1123/297/758 1122/296/757 1130/291/763 +f 1131/292/764 1132/293/755 1124/298/755 +f 1124/298/755 1123/297/758 1131/292/764 +f 1133/311/424 1134/314/424 1135/313/531 +f 1135/313/531 1136/312/531 1133/311/424 +f 1136/312/531 1135/313/531 1137/316/694 +f 1137/316/694 1138/315/694 1136/312/531 +f 1139/317/424 1140/320/818 1141/319/818 +f 1141/319/818 1142/318/424 1139/317/424 +f 1140/320/818 1143/322/526 1144/321/526 +f 1144/321/526 1141/319/818 1140/320/818 +f 1145/323/424 1146/326/819 1147/325/819 +f 1147/325/819 1148/324/424 1145/323/424 +f 1146/326/819 1149/328/820 1150/327/820 +f 1150/327/820 1147/325/819 1146/326/819 +f 1151/311/424 1152/312/537 1153/313/537 +f 1153/313/537 1154/314/424 1151/311/424 +f 1152/312/537 1155/315/525 1156/316/525 +f 1156/316/525 1153/313/537 1152/312/537 +f 1157/275/821 1158/274/822 1159/273/823 +f 1159/273/823 1160/276/824 1157/275/821 +f 1161/277/825 1162/280/826 1159/279/823 +f 1159/279/823 1158/278/822 1161/277/825 +f 1163/275/827 1164/276/828 1162/273/826 +f 1162/273/826 1161/274/825 1163/275/827 +f 1163/277/827 1157/278/821 1160/279/824 +f 1160/279/824 1164/280/828 1163/277/827 +f 1157/275/821 1165/282/829 1166/281/830 +f 1166/281/830 1158/274/822 1157/275/821 +f 1166/283/830 1167/284/831 1161/277/825 +f 1161/277/825 1158/278/822 1166/283/830 +f 1167/281/831 1168/282/832 1163/275/827 +f 1163/275/827 1161/274/825 1167/281/831 +f 1163/277/827 1168/284/832 1165/283/829 +f 1165/283/829 1157/278/821 1163/277/827 +f 1169/273/833 1170/274/834 1171/275/835 +f 1171/275/835 1172/276/836 1169/273/833 +f 1173/277/837 1170/278/834 1169/279/833 +f 1169/279/833 1174/280/838 1173/277/837 +f 1175/275/839 1173/274/837 1174/273/838 +f 1174/273/838 1176/276/840 1175/275/839 +f 1172/279/836 1171/278/835 1175/277/839 +f 1175/277/839 1176/280/840 1172/279/836 +f 1177/281/841 1178/282/842 1171/275/835 +f 1171/275/835 1170/274/834 1177/281/841 +f 1177/283/841 1170/278/834 1173/277/837 +f 1173/277/837 1179/284/843 1177/283/841 +f 1179/281/843 1173/274/837 1175/275/839 +f 1175/275/839 1180/282/844 1179/281/843 +f 1178/283/842 1180/284/844 1175/277/839 +f 1175/277/839 1171/278/835 1178/283/842 +f 1181/333/845 1182/334/846 1183/335/847 +f 1183/335/847 1184/336/848 1181/333/845 +f 1182/334/846 1185/337/849 1186/338/850 +f 1186/338/850 1183/335/847 1182/334/846 +f 1183/335/847 1187/339/851 1188/340/852 +f 1188/340/852 1184/336/848 1183/335/847 +f 1183/335/847 1186/338/850 1189/341/853 +f 1189/341/853 1187/339/851 1183/335/847 +f 1190/21/854 1191/24/855 1192/23/856 +f 1192/23/856 1193/22/857 1190/21/854 +f 1194/27/858 1195/26/859 1190/25/854 +f 1190/25/854 1193/28/857 1194/27/858 +f 1196/24/860 1195/21/859 1194/22/858 +f 1194/22/858 1197/23/861 1196/24/860 +f 1191/25/855 1196/26/860 1197/27/861 +f 1197/27/861 1192/28/856 1191/25/855 +f 1198/29/862 1191/24/855 1190/21/854 +f 1190/21/854 1199/30/863 1198/29/862 +f 1199/31/863 1190/25/854 1195/26/859 +f 1195/26/859 1200/32/864 1199/31/863 +f 1200/30/864 1195/21/859 1196/24/860 +f 1196/24/860 1201/29/865 1200/30/864 +f 1198/31/862 1201/32/865 1196/26/860 +f 1196/26/860 1191/25/855 1198/31/862 +f 1202/21/21 1203/22/22 1204/23/23 +f 1204/23/23 1205/24/866 1202/21/21 +f 1202/25/21 1206/26/25 1207/27/867 +f 1207/27/867 1203/28/22 1202/25/21 +f 1208/24/27 1209/23/868 1207/22/867 +f 1207/22/867 1206/21/25 1208/24/27 +f 1205/25/866 1204/28/23 1209/27/868 +f 1209/27/868 1208/26/27 1205/25/866 +f 1210/29/869 1211/30/30 1202/21/21 +f 1202/21/21 1205/24/866 1210/29/869 +f 1211/31/30 1212/32/870 1206/26/25 +f 1206/26/25 1202/25/21 1211/31/30 +f 1212/30/870 1213/29/871 1208/24/27 +f 1208/24/27 1206/21/25 1212/30/870 +f 1208/26/27 1213/32/871 1210/31/869 +f 1210/31/869 1205/25/866 1208/26/27 +f 1214/33/872 1215/36/873 1216/35/874 +f 1216/35/874 1217/34/875 1214/33/872 +f 1218/38/876 1219/37/877 1220/40/878 +f 1220/40/878 1221/39/879 1218/38/876 +f 1222/43/880 1223/42/881 1219/41/877 +f 1219/41/877 1218/44/876 1222/43/880 +f 1224/40/882 1223/37/881 1222/38/880 +f 1222/38/880 1225/39/883 1224/40/882 +f 1220/41/878 1224/42/882 1225/43/883 +f 1225/43/883 1221/44/879 1220/41/878 +f 1217/46/875 1216/45/874 1220/40/878 +f 1220/40/878 1219/37/877 1217/46/875 +f 1214/48/872 1217/47/875 1219/41/877 +f 1219/41/877 1223/42/881 1214/48/872 +f 1214/46/872 1223/37/881 1224/40/882 +f 1224/40/882 1215/45/873 1214/46/872 +f 1215/48/873 1224/42/882 1220/41/878 +f 1220/41/878 1216/47/874 1215/48/873 +f 1226/342/884 1227/343/885 1228/344/886 +f 1228/344/886 1229/345/887 1226/342/884 +f 1230/346/888 1231/347/889 1228/344/886 +f 1228/344/886 1227/343/885 1230/346/888 +f 1232/348/890 1227/349/885 1226/350/884 +f 1226/350/884 1233/351/891 1232/348/890 +f 1232/348/890 1234/352/892 1230/353/888 +f 1230/353/888 1227/349/885 1232/348/890 +f 1235/344/893 1232/343/890 1233/342/891 +f 1233/342/891 1236/345/894 1235/344/893 +f 1235/344/893 1237/347/895 1234/346/892 +f 1234/346/892 1232/343/890 1235/344/893 +f 1229/350/887 1228/349/886 1235/348/893 +f 1235/348/893 1236/351/894 1229/350/887 +f 1231/353/889 1237/352/895 1235/348/893 +f 1235/348/893 1228/349/886 1231/353/889 +f 1238/354/896 1239/355/897 1240/356/898 +f 1240/356/898 1241/357/899 1238/354/896 +f 1242/358/900 1243/359/901 1244/360/901 +f 1244/360/901 1245/361/88 1242/358/900 +f 1246/362/902 1242/363/900 1245/364/88 +f 1245/364/88 1247/365/902 1246/362/902 +f 1248/366/92 1246/367/902 1247/368/902 +f 1247/368/902 1249/369/92 1248/366/92 +f 1243/370/901 1248/371/92 1249/372/92 +f 1249/372/92 1244/373/901 1243/370/901 +f 1250/357/903 1251/356/904 1252/374/905 +f 1252/374/905 1253/375/906 1250/357/903 +f 1254/354/907 1250/357/903 1253/375/906 +f 1253/375/906 1255/376/908 1254/354/907 +f 1256/355/909 1254/354/907 1255/376/908 +f 1255/376/908 1257/377/910 1256/355/909 +f 1251/356/904 1256/355/909 1257/377/910 +f 1257/377/910 1252/374/905 1251/356/904 +f 1253/378/906 1252/379/905 1243/359/901 +f 1243/359/901 1242/358/900 1253/378/906 +f 1255/380/908 1253/381/906 1242/363/900 +f 1242/363/900 1246/362/902 1255/380/908 +f 1257/382/910 1255/383/908 1246/367/902 +f 1246/367/902 1248/366/92 1257/382/910 +f 1252/384/905 1257/385/910 1248/371/92 +f 1248/371/92 1243/370/901 1252/384/905 +f 1251/386/904 1250/387/903 1241/388/899 +f 1241/388/899 1240/389/898 1251/386/904 +f 1256/386/909 1251/387/904 1240/388/898 +f 1240/388/898 1239/389/897 1256/386/909 +f 1254/386/907 1256/387/909 1239/388/897 +f 1239/388/897 1238/389/896 1254/386/907 +f 1250/387/903 1254/386/907 1238/389/896 +f 1238/389/896 1241/388/899 1250/387/903 +f 1258/342/884 1259/343/885 1260/344/886 +f 1260/344/886 1261/345/887 1258/342/884 +f 1262/346/888 1263/347/889 1260/344/886 +f 1260/344/886 1259/343/885 1262/346/888 +f 1264/348/890 1259/349/885 1258/350/884 +f 1258/350/884 1265/351/891 1264/348/890 +f 1264/348/890 1266/352/892 1262/353/888 +f 1262/353/888 1259/349/885 1264/348/890 +f 1267/344/893 1264/343/890 1265/342/891 +f 1265/342/891 1268/345/894 1267/344/893 +f 1267/344/893 1269/347/895 1266/346/892 +f 1266/346/892 1264/343/890 1267/344/893 +f 1261/350/887 1260/349/886 1267/348/893 +f 1267/348/893 1268/351/894 1261/350/887 +f 1263/353/889 1269/352/895 1267/348/893 +f 1267/348/893 1260/349/886 1263/353/889 +f 1270/342/884 1271/343/885 1272/344/886 +f 1272/344/886 1273/345/887 1270/342/884 +f 1274/346/888 1275/347/889 1272/344/886 +f 1272/344/886 1271/343/885 1274/346/888 +f 1276/348/890 1271/349/885 1270/350/884 +f 1270/350/884 1277/351/891 1276/348/890 +f 1276/348/890 1278/352/892 1274/353/888 +f 1274/353/888 1271/349/885 1276/348/890 +f 1279/344/893 1276/343/890 1277/342/891 +f 1277/342/891 1280/345/894 1279/344/893 +f 1279/344/893 1281/347/895 1278/346/892 +f 1278/346/892 1276/343/890 1279/344/893 +f 1273/350/887 1272/349/886 1279/348/893 +f 1279/348/893 1280/351/894 1273/350/887 +f 1275/353/889 1281/352/895 1279/348/893 +f 1279/348/893 1272/349/886 1275/353/889 +f 1282/342/884 1283/343/885 1284/344/911 +f 1284/344/911 1285/345/887 1282/342/884 +f 1286/346/888 1287/347/889 1284/344/911 +f 1284/344/911 1283/343/885 1286/346/888 +f 1288/348/912 1283/349/885 1282/350/884 +f 1282/350/884 1289/351/891 1288/348/912 +f 1288/348/912 1290/352/892 1286/353/888 +f 1286/353/888 1283/349/885 1288/348/912 +f 1291/344/893 1288/343/912 1289/342/891 +f 1289/342/891 1292/345/894 1291/344/893 +f 1291/344/893 1293/347/895 1290/346/892 +f 1290/346/892 1288/343/912 1291/344/893 +f 1285/350/887 1284/349/911 1291/348/893 +f 1291/348/893 1292/351/894 1285/350/887 +f 1287/353/889 1293/352/895 1291/348/893 +f 1291/348/893 1284/349/911 1287/353/889 +f 1294/342/884 1295/343/885 1296/344/911 +f 1296/344/911 1297/345/887 1294/342/884 +f 1298/346/888 1299/347/889 1296/344/911 +f 1296/344/911 1295/343/885 1298/346/888 +f 1300/348/912 1295/349/885 1294/350/884 +f 1294/350/884 1301/351/891 1300/348/912 +f 1300/348/912 1302/352/892 1298/353/888 +f 1298/353/888 1295/349/885 1300/348/912 +f 1303/344/893 1300/343/912 1301/342/891 +f 1301/342/891 1304/345/894 1303/344/893 +f 1303/344/893 1305/347/895 1302/346/892 +f 1302/346/892 1300/343/912 1303/344/893 +f 1297/350/887 1296/349/911 1303/348/893 +f 1303/348/893 1304/351/894 1297/350/887 +f 1299/353/889 1305/352/895 1303/348/893 +f 1303/348/893 1296/349/911 1299/353/889 +f 1306/390/913 1307/391/914 1308/392/915 +f 1308/392/915 1309/393/916 1306/390/913 +f 1310/394/917 1311/395/918 1312/396/919 +f 1312/396/919 1313/397/920 1310/394/917 +f 1314/390/921 1315/398/922 1316/399/923 +f 1316/399/923 1317/393/924 1314/390/921 +f 1318/394/925 1319/400/926 1320/401/927 +f 1320/401/927 1321/397/928 1318/394/925 +f 1321/402/928 1322/403/929 1323/404/930 +f 1323/404/930 1308/405/915 1321/402/928 +f 1317/406/924 1324/407/931 1325/408/932 +f 1325/408/932 1320/409/927 1317/406/924 +f 1313/410/920 1326/411/933 1327/412/934 +f 1327/412/934 1316/413/923 1313/410/920 +f 1309/414/916 1328/415/935 1329/416/936 +f 1329/416/936 1312/417/919 1309/414/916 +f 1306/414/913 1330/415/424 1331/404/424 +f 1331/404/424 1307/405/914 1306/414/913 +f 1310/410/917 1332/411/424 1333/416/424 +f 1333/416/424 1311/417/918 1310/410/917 +f 1314/406/921 1334/407/424 1335/412/424 +f 1335/412/424 1315/413/922 1314/406/921 +f 1318/402/925 1336/403/424 1337/408/424 +f 1337/408/424 1319/409/926 1318/402/925 +f 1320/392/927 1319/391/926 1314/390/921 +f 1314/390/921 1317/393/924 1320/392/927 +f 1308/396/915 1307/395/914 1318/394/925 +f 1318/394/925 1321/397/928 1308/396/915 +f 1325/408/932 1322/403/929 1321/402/928 +f 1321/402/928 1320/409/927 1325/408/932 +f 1327/412/934 1324/407/931 1317/406/924 +f 1317/406/924 1316/413/923 1327/412/934 +f 1329/416/936 1326/411/933 1313/410/920 +f 1313/410/920 1312/417/919 1329/416/936 +f 1337/408/424 1334/407/424 1314/406/921 +f 1314/406/921 1319/409/926 1337/408/424 +f 1331/404/424 1336/403/424 1318/402/925 +f 1318/402/925 1307/405/914 1331/404/424 +f 1312/399/919 1311/398/918 1306/390/913 +f 1306/390/913 1309/393/916 1312/399/919 +f 1316/401/923 1315/400/922 1310/394/917 +f 1310/394/917 1313/397/920 1316/401/923 +f 1323/404/930 1328/415/935 1309/414/916 +f 1309/414/916 1308/405/915 1323/404/930 +f 1333/416/424 1330/415/424 1306/414/913 +f 1306/414/913 1311/417/918 1333/416/424 +f 1335/412/424 1332/411/424 1310/410/917 +f 1310/410/917 1315/413/922 1335/412/424 +f 1338/390/913 1339/391/914 1340/392/915 +f 1340/392/915 1341/393/916 1338/390/913 +f 1342/394/917 1343/395/918 1344/396/919 +f 1344/396/919 1345/397/920 1342/394/917 +f 1346/390/921 1347/398/922 1348/399/923 +f 1348/399/923 1349/393/924 1346/390/921 +f 1350/394/925 1351/400/926 1352/401/927 +f 1352/401/927 1353/397/928 1350/394/925 +f 1353/402/928 1354/403/929 1355/404/930 +f 1355/404/930 1340/405/915 1353/402/928 +f 1349/406/924 1356/407/931 1357/408/932 +f 1357/408/932 1352/409/927 1349/406/924 +f 1345/410/920 1358/411/933 1359/412/934 +f 1359/412/934 1348/413/923 1345/410/920 +f 1341/414/916 1360/415/935 1361/416/936 +f 1361/416/936 1344/417/919 1341/414/916 +f 1338/414/913 1362/415/424 1363/404/424 +f 1363/404/424 1339/405/914 1338/414/913 +f 1342/410/917 1364/411/424 1365/416/424 +f 1365/416/424 1343/417/918 1342/410/917 +f 1346/406/921 1366/407/424 1367/412/424 +f 1367/412/424 1347/413/922 1346/406/921 +f 1350/402/925 1368/403/424 1369/408/424 +f 1369/408/424 1351/409/926 1350/402/925 +f 1352/392/927 1351/391/926 1346/390/921 +f 1346/390/921 1349/393/924 1352/392/927 +f 1340/396/915 1339/395/914 1350/394/925 +f 1350/394/925 1353/397/928 1340/396/915 +f 1357/408/932 1354/403/929 1353/402/928 +f 1353/402/928 1352/409/927 1357/408/932 +f 1359/412/934 1356/407/931 1349/406/924 +f 1349/406/924 1348/413/923 1359/412/934 +f 1361/416/936 1358/411/933 1345/410/920 +f 1345/410/920 1344/417/919 1361/416/936 +f 1369/408/424 1366/407/424 1346/406/921 +f 1346/406/921 1351/409/926 1369/408/424 +f 1363/404/424 1368/403/424 1350/402/925 +f 1350/402/925 1339/405/914 1363/404/424 +f 1344/399/919 1343/398/918 1338/390/913 +f 1338/390/913 1341/393/916 1344/399/919 +f 1348/401/923 1347/400/922 1342/394/917 +f 1342/394/917 1345/397/920 1348/401/923 +f 1355/404/930 1360/415/935 1341/414/916 +f 1341/414/916 1340/405/915 1355/404/930 +f 1365/416/424 1362/415/424 1338/414/913 +f 1338/414/913 1343/417/918 1365/416/424 +f 1367/412/424 1364/411/424 1342/410/917 +f 1342/410/917 1347/413/922 1367/412/424 +f 1370/342/937 1371/343/938 1372/344/939 +f 1372/344/939 1373/345/940 1370/342/937 +f 1374/346/941 1375/347/942 1372/344/939 +f 1372/344/939 1371/343/938 1374/346/941 +f 1376/348/943 1371/349/938 1370/350/937 +f 1370/350/937 1377/351/944 1376/348/943 +f 1376/348/943 1378/352/945 1374/353/941 +f 1374/353/941 1371/349/938 1376/348/943 +f 1379/344/946 1376/343/943 1377/342/944 +f 1377/342/944 1380/345/947 1379/344/946 +f 1379/344/946 1381/347/948 1378/346/945 +f 1378/346/945 1376/343/943 1379/344/946 +f 1373/350/940 1372/349/939 1379/348/946 +f 1379/348/946 1380/351/947 1373/350/940 +f 1375/353/942 1381/352/948 1379/348/946 +f 1379/348/946 1372/349/939 1375/353/942 +f 1382/418/949 1383/419/950 1384/420/951 +f 1383/419/950 1385/421/952 1384/420/951 +f 1385/422/952 1386/423/953 1384/420/951 +f 1386/423/953 1387/424/954 1384/420/951 +f 1387/424/954 1388/425/955 1384/420/951 +f 1388/425/955 1389/426/956 1384/420/951 +f 1389/426/956 1390/427/957 1384/420/951 +f 1390/427/957 1391/428/958 1384/420/951 +f 1391/428/958 1392/429/959 1384/420/951 +f 1392/429/959 1393/430/960 1384/420/951 +f 1393/430/960 1382/418/949 1384/420/951 +f 1394/431/961 1395/432/962 1396/433/963 +f 1396/433/963 1397/434/964 1394/431/961 +f 1398/435/965 1399/436/966 1395/432/962 +f 1395/432/962 1394/431/961 1398/435/965 +f 1400/437/967 1401/438/968 1399/436/966 +f 1399/436/966 1398/435/965 1400/437/967 +f 1402/439/969 1403/440/970 1401/438/968 +f 1401/438/968 1400/437/967 1402/439/969 +f 1404/441/971 1405/442/972 1403/443/970 +f 1403/443/970 1402/444/969 1404/441/971 +f 1406/445/973 1407/446/974 1405/442/972 +f 1405/442/972 1404/441/971 1406/445/973 +f 1408/447/975 1409/448/976 1407/446/974 +f 1407/446/974 1406/445/973 1408/447/975 +f 1410/449/977 1411/450/978 1409/448/976 +f 1409/448/976 1408/447/975 1410/449/977 +f 1412/451/979 1413/452/980 1411/450/978 +f 1411/450/978 1410/449/977 1412/451/979 +f 1414/453/981 1415/454/982 1413/452/980 +f 1413/452/980 1412/451/979 1414/453/981 +f 1397/434/964 1396/433/963 1415/454/982 +f 1415/454/982 1414/453/981 1397/434/964 +f 1416/455/983 1394/431/961 1397/434/964 +f 1397/434/964 1417/456/984 1416/455/983 +f 1418/457/985 1398/435/965 1394/431/961 +f 1394/431/961 1416/455/983 1418/457/985 +f 1419/458/986 1400/437/967 1398/435/965 +f 1398/435/965 1418/457/985 1419/458/986 +f 1420/459/987 1402/439/969 1400/437/967 +f 1400/437/967 1419/458/986 1420/459/987 +f 1421/460/988 1404/441/971 1402/444/969 +f 1402/444/969 1420/461/987 1421/460/988 +f 1422/462/989 1406/445/973 1404/441/971 +f 1404/441/971 1421/460/988 1422/462/989 +f 1423/463/990 1408/447/975 1406/445/973 +f 1406/445/973 1422/462/989 1423/463/990 +f 1424/464/991 1410/449/977 1408/447/975 +f 1408/447/975 1423/463/990 1424/464/991 +f 1425/465/992 1412/451/979 1410/449/977 +f 1410/449/977 1424/464/991 1425/465/992 +f 1426/466/993 1414/453/981 1412/451/979 +f 1412/451/979 1425/465/992 1426/466/993 +f 1417/456/984 1397/434/964 1414/453/981 +f 1414/453/981 1426/466/993 1417/456/984 +f 1427/467/994 1416/468/983 1417/469/984 +f 1417/469/984 1428/470/995 1427/467/994 +f 1429/471/996 1418/472/985 1416/468/983 +f 1416/468/983 1427/467/994 1429/471/996 +f 1430/473/997 1419/474/986 1418/472/985 +f 1418/472/985 1429/471/996 1430/473/997 +f 1431/475/998 1420/476/987 1419/474/986 +f 1419/474/986 1430/473/997 1431/475/998 +f 1432/477/999 1421/478/988 1420/479/987 +f 1420/479/987 1431/480/998 1432/477/999 +f 1433/481/1000 1422/482/989 1421/478/988 +f 1421/478/988 1432/477/999 1433/481/1000 +f 1434/483/1001 1423/484/990 1422/482/989 +f 1422/482/989 1433/481/1000 1434/483/1001 +f 1435/485/1002 1424/486/991 1423/484/990 +f 1423/484/990 1434/483/1001 1435/485/1002 +f 1436/487/1003 1425/488/992 1424/486/991 +f 1424/486/991 1435/485/1002 1436/487/1003 +f 1437/489/1004 1426/490/993 1425/488/992 +f 1425/488/992 1436/487/1003 1437/489/1004 +f 1428/470/995 1417/469/984 1426/490/993 +f 1426/490/993 1437/489/1004 1428/470/995 +f 1383/491/950 1382/492/949 1396/493/963 +f 1396/493/963 1395/494/962 1383/491/950 +f 1385/495/952 1383/491/950 1395/494/962 +f 1395/494/962 1399/496/966 1385/495/952 +f 1401/497/968 1386/498/953 1385/495/952 +f 1385/495/952 1399/496/966 1401/497/968 +f 1387/499/954 1386/498/953 1401/497/968 +f 1401/497/968 1403/500/970 1387/499/954 +f 1388/501/955 1387/502/954 1403/503/970 +f 1403/503/970 1405/504/972 1388/501/955 +f 1389/505/956 1388/501/955 1405/504/972 +f 1405/504/972 1407/506/974 1389/505/956 +f 1390/507/957 1389/505/956 1407/506/974 +f 1407/506/974 1409/508/976 1390/507/957 +f 1391/509/958 1390/507/957 1409/508/976 +f 1409/508/976 1411/510/978 1391/509/958 +f 1392/511/959 1391/509/958 1411/510/978 +f 1411/510/978 1413/512/980 1392/511/959 +f 1393/513/960 1392/511/959 1413/512/980 +f 1413/512/980 1415/514/982 1393/513/960 +f 1382/492/949 1393/513/960 1415/514/982 +f 1415/514/982 1396/493/963 1382/492/949 +f 1438/515/1005 1439/516/1006 1440/517/1007 +f 1440/517/1007 1441/518/1008 1438/515/1005 +f 1442/519/1009 1443/520/1010 1444/521/1011 +f 1444/521/1011 1445/522/1012 1442/519/1009 +f 1446/520/1013 1442/519/1009 1445/522/1012 +f 1445/522/1012 1447/521/1014 1446/520/1013 +f 1448/520/1015 1446/519/1013 1447/522/1014 +f 1447/522/1014 1449/521/1016 1448/520/1015 +f 1443/519/1010 1448/520/1015 1449/521/1016 +f 1449/521/1016 1444/522/1011 1443/519/1010 +f 1440/523/1007 1443/520/1010 1442/519/1009 +f 1442/519/1009 1441/524/1008 1440/523/1007 +f 1441/524/1008 1442/519/1009 1446/520/1013 +f 1446/520/1013 1438/523/1005 1441/524/1008 +f 1438/524/1005 1446/519/1013 1448/520/1015 +f 1448/520/1015 1439/523/1006 1438/524/1005 +f 1439/523/1006 1448/520/1015 1443/519/1010 +f 1443/519/1010 1440/524/1007 1439/523/1006 +f 1450/515/1005 1451/516/1006 1452/517/1007 +f 1452/517/1007 1453/518/1008 1450/515/1005 +f 1454/519/1009 1455/520/1010 1456/521/1011 +f 1456/521/1011 1457/522/1012 1454/519/1009 +f 1458/520/1013 1454/519/1009 1457/522/1012 +f 1457/522/1012 1459/521/1014 1458/520/1013 +f 1460/520/1015 1458/519/1013 1459/522/1014 +f 1459/522/1014 1461/521/1016 1460/520/1015 +f 1455/519/1010 1460/520/1015 1461/521/1016 +f 1461/521/1016 1456/522/1011 1455/519/1010 +f 1452/523/1007 1455/520/1010 1454/519/1009 +f 1454/519/1009 1453/524/1008 1452/523/1007 +f 1453/524/1008 1454/519/1009 1458/520/1013 +f 1458/520/1013 1450/523/1005 1453/524/1008 +f 1450/524/1005 1458/519/1013 1460/520/1015 +f 1460/520/1015 1451/523/1006 1450/524/1005 +f 1451/523/1006 1460/520/1015 1455/519/1010 +f 1455/519/1010 1452/524/1007 1451/523/1006 +f 1462/515/1005 1463/516/1006 1464/517/1007 +f 1464/517/1007 1465/518/1008 1462/515/1005 +f 1466/519/1009 1467/520/1010 1468/521/1011 +f 1468/521/1011 1469/522/1012 1466/519/1009 +f 1470/520/1013 1466/519/1009 1469/522/1012 +f 1469/522/1012 1471/521/1014 1470/520/1013 +f 1472/520/1015 1470/519/1013 1471/522/1014 +f 1471/522/1014 1473/521/1016 1472/520/1015 +f 1467/519/1010 1472/520/1015 1473/521/1016 +f 1473/521/1016 1468/522/1011 1467/519/1010 +f 1464/523/1007 1467/520/1010 1466/519/1009 +f 1466/519/1009 1465/524/1008 1464/523/1007 +f 1465/524/1008 1466/519/1009 1470/520/1013 +f 1470/520/1013 1462/523/1005 1465/524/1008 +f 1462/524/1005 1470/519/1013 1472/520/1015 +f 1472/520/1015 1463/523/1006 1462/524/1005 +f 1463/523/1006 1472/520/1015 1467/519/1010 +f 1467/519/1010 1464/524/1007 1463/523/1006 +f 1474/515/1017 1475/516/1018 1476/517/1019 +f 1476/517/1019 1477/518/1020 1474/515/1017 +f 1478/519/1021 1479/520/1022 1480/521/1023 +f 1480/521/1023 1481/522/1012 1478/519/1021 +f 1482/520/1013 1478/519/1021 1481/522/1012 +f 1481/522/1012 1483/521/1024 1482/520/1013 +f 1484/520/1025 1482/519/1013 1483/522/1024 +f 1483/522/1024 1485/521/1016 1484/520/1025 +f 1479/519/1022 1484/520/1025 1485/521/1016 +f 1485/521/1016 1480/522/1023 1479/519/1022 +f 1476/523/1019 1479/520/1022 1478/519/1021 +f 1478/519/1021 1477/524/1020 1476/523/1019 +f 1477/524/1020 1478/519/1021 1482/520/1013 +f 1482/520/1013 1474/523/1017 1477/524/1020 +f 1474/524/1017 1482/519/1013 1484/520/1025 +f 1484/520/1025 1475/523/1018 1474/524/1017 +f 1475/523/1018 1484/520/1025 1479/519/1022 +f 1479/519/1022 1476/524/1019 1475/523/1018 +f 1486/525/1026 1487/526/1027 1488/527/1022 +f 1488/527/1022 1489/528/1026 1486/525/1026 +f 1490/529/1028 1491/530/1029 1492/531/1030 +f 1492/531/1030 1493/532/1031 1490/529/1028 +f 1494/533/1032 1495/534/1032 1496/535/1027 +f 1496/535/1027 1497/536/1033 1494/533/1032 +f 1498/537/1032 1487/526/1027 1499/538/1034 +f 1499/538/1034 1500/539/1035 1498/537/1032 +f 1501/540/1036 1502/541/1037 1503/542/1038 +f 1503/542/1038 1499/538/1034 1501/540/1036 +f 1504/543/1039 1505/544/1040 1506/545/1041 +f 1506/545/1041 1507/546/1042 1504/543/1039 +f 1508/547/1043 1509/548/1044 1510/549/1045 +f 1510/549/1045 1511/550/1046 1508/547/1043 +f 1512/551/1047 1503/542/1038 1513/552/1048 +f 1513/552/1048 1514/553/1049 1512/551/1047 +f 1511/550/1046 1501/540/1036 1486/525/1026 +f 1486/525/1026 1496/535/1027 1511/550/1046 +f 1504/543/1039 1491/530/1029 1515/554/1050 +f 1515/554/1050 1516/555/1051 1504/543/1039 +f 1508/547/1043 1495/534/1032 1492/531/1030 +f 1492/531/1030 1507/546/1042 1508/547/1043 +f 1517/556/1032 1518/557/1032 1498/537/1032 +f 1498/537/1032 1519/558/1032 1517/556/1032 +f 1520/559/1052 1502/541/1037 1510/549/1045 +f 1510/549/1045 1521/560/1053 1520/559/1052 +f 1522/561/1054 1505/544/1040 1523/562/1055 +f 1523/562/1055 1524/563/1056 1522/561/1054 +f 1525/564/1057 1509/548/1044 1506/545/1041 +f 1506/545/1041 1526/565/1058 1525/564/1057 +f 1527/566/1059 1500/539/1035 1512/551/1047 +f 1512/551/1047 1528/567/1060 1527/566/1059 +f 1496/535/1027 1486/525/1026 1489/528/1026 +f 1489/528/1026 1497/536/1033 1496/535/1027 +f 1529/568/1061 1515/554/1050 1491/530/1029 +f 1491/530/1029 1490/529/1028 1529/568/1061 +f 1493/532/1031 1492/531/1030 1495/534/1032 +f 1495/534/1032 1494/533/1032 1493/532/1031 +f 1519/558/1032 1498/537/1032 1500/539/1035 +f 1500/539/1035 1527/566/1059 1519/558/1032 +f 1511/550/1046 1510/549/1045 1502/541/1037 +f 1502/541/1037 1501/540/1036 1511/550/1046 +f 1516/555/1051 1523/562/1055 1505/544/1040 +f 1505/544/1040 1504/543/1039 1516/555/1051 +f 1507/546/1042 1506/545/1041 1509/548/1044 +f 1509/548/1044 1508/547/1043 1507/546/1042 +f 1528/567/1060 1512/551/1047 1514/553/1049 +f 1514/553/1049 1530/569/1062 1528/567/1060 +f 1487/526/1027 1486/525/1026 1501/540/1036 +f 1501/540/1036 1499/538/1034 1487/526/1027 +f 1507/546/1042 1492/531/1030 1491/530/1029 +f 1491/530/1029 1504/543/1039 1507/546/1042 +f 1511/550/1046 1496/535/1027 1495/534/1032 +f 1495/534/1032 1508/547/1043 1511/550/1046 +f 1487/526/1027 1498/537/1032 1518/557/1032 +f 1518/557/1032 1488/527/1022 1487/526/1027 +f 1513/552/1048 1503/542/1038 1502/541/1037 +f 1502/541/1037 1520/559/1052 1513/552/1048 +f 1526/565/1058 1506/545/1041 1505/544/1040 +f 1505/544/1040 1522/561/1054 1526/565/1058 +f 1521/560/1053 1510/549/1045 1509/548/1044 +f 1509/548/1044 1525/564/1057 1521/560/1053 +f 1503/542/1038 1512/551/1047 1500/539/1035 +f 1500/539/1035 1499/538/1034 1503/542/1038 +f 1531/570/1063 1524/571/1064 1532/572/1065 +f 1532/572/1065 1533/573/1066 1531/570/1063 +f 1534/574/1067 1531/570/1063 1533/573/1066 +f 1533/573/1066 1535/575/1068 1534/574/1067 +f 1536/576/1069 1534/577/1067 1535/578/1068 +f 1535/578/1068 1537/579/1070 1536/576/1069 +f 1538/580/1071 1536/576/1069 1537/579/1070 +f 1537/579/1070 1539/581/1072 1538/580/1071 +f 1524/571/1064 1538/580/1071 1539/581/1072 +f 1539/581/1072 1532/572/1065 1524/571/1064 +f 1534/582/1067 1536/583/1069 1538/584/1071 +f 1531/585/1063 1534/582/1067 1538/584/1071 +f 1524/586/1064 1531/585/1063 1538/584/1071 +f 1540/587/1073 1541/588/1074 1542/589/1075 +f 1542/589/1075 1543/590/1076 1540/587/1073 +f 1544/591/1077 1540/587/1073 1543/590/1076 +f 1543/590/1076 1545/592/1078 1544/591/1077 +f 1546/593/1079 1544/591/1077 1545/592/1078 +f 1545/592/1078 1547/594/1080 1546/593/1079 +f 1548/595/1081 1546/593/1079 1547/594/1080 +f 1547/594/1080 1549/596/1082 1548/595/1081 +f 1541/588/1074 1548/597/1081 1549/598/1082 +f 1549/598/1082 1542/589/1075 1541/588/1074 +f 1550/599/1083 1551/600/1084 1552/601/1085 +f 1553/602/1086 1550/599/1083 1552/601/1085 +f 1554/603/1087 1553/602/1086 1552/601/1085 +f 1555/604/1088 1541/588/1074 1540/587/1073 +f 1540/587/1073 1556/605/1089 1555/604/1088 +f 1556/605/1089 1540/587/1073 1544/591/1077 +f 1544/591/1077 1557/606/1090 1556/605/1089 +f 1557/606/1090 1544/591/1077 1546/593/1079 +f 1546/593/1079 1558/607/1091 1557/606/1090 +f 1558/607/1091 1546/593/1079 1548/595/1081 +f 1548/595/1081 1559/608/1092 1558/607/1091 +f 1559/609/1092 1548/597/1081 1541/588/1074 +f 1541/588/1074 1555/604/1088 1559/609/1092 +f 1554/610/1087 1555/604/1088 1556/605/1089 +f 1556/605/1089 1553/611/1086 1554/610/1087 +f 1553/611/1086 1556/605/1089 1557/606/1090 +f 1557/606/1090 1550/612/1083 1553/611/1086 +f 1550/612/1083 1557/606/1090 1558/607/1091 +f 1558/607/1091 1551/613/1084 1550/612/1083 +f 1551/613/1084 1558/607/1091 1559/608/1092 +f 1559/608/1092 1552/614/1085 1551/613/1084 +f 1552/615/1085 1559/609/1092 1555/604/1088 +f 1555/604/1088 1554/610/1087 1552/615/1085 +f 1560/616/1093 1561/617/1094 1562/618/1095 +f 1562/618/1095 1563/619/1096 1560/616/1093 +f 1564/620/1097 1560/621/1093 1563/622/1096 +f 1563/622/1096 1565/623/1098 1564/620/1097 +f 1566/624/1099 1564/620/1097 1565/623/1098 +f 1565/623/1098 1567/625/1100 1566/624/1099 +f 1568/626/1101 1566/624/1099 1567/625/1100 +f 1567/625/1100 1569/627/1102 1568/626/1101 +f 1561/617/1094 1568/626/1101 1569/627/1102 +f 1569/627/1102 1562/618/1095 1561/617/1094 +f 1570/587/1103 1571/588/1104 1572/589/1105 +f 1572/589/1105 1573/590/1106 1570/587/1103 +f 1574/591/1107 1570/587/1103 1573/590/1106 +f 1573/590/1106 1575/592/1108 1574/591/1107 +f 1576/593/1109 1574/591/1107 1575/592/1108 +f 1575/592/1108 1577/594/1110 1576/593/1109 +f 1578/595/1111 1576/593/1109 1577/594/1110 +f 1577/594/1110 1579/596/1112 1578/595/1111 +f 1571/588/1104 1578/597/1111 1579/598/1112 +f 1579/598/1112 1572/589/1105 1571/588/1104 +f 1580/599/1113 1581/600/1084 1582/601/1085 +f 1583/602/1086 1580/599/1113 1582/601/1085 +f 1584/603/1087 1583/602/1086 1582/601/1085 +f 1585/604/1088 1571/588/1104 1570/587/1103 +f 1570/587/1103 1586/605/1089 1585/604/1088 +f 1586/605/1089 1570/587/1103 1574/591/1107 +f 1574/591/1107 1587/606/1090 1586/605/1089 +f 1587/606/1090 1574/591/1107 1576/593/1109 +f 1576/593/1109 1588/607/1114 1587/606/1090 +f 1588/607/1114 1576/593/1109 1578/595/1111 +f 1578/595/1111 1589/608/1092 1588/607/1114 +f 1589/609/1092 1578/597/1111 1571/588/1104 +f 1571/588/1104 1585/604/1088 1589/609/1092 +f 1584/610/1087 1585/604/1088 1586/605/1089 +f 1586/605/1089 1583/611/1086 1584/610/1087 +f 1583/611/1086 1586/605/1089 1587/606/1090 +f 1587/606/1090 1580/612/1113 1583/611/1086 +f 1580/612/1113 1587/606/1090 1588/607/1114 +f 1588/607/1114 1581/613/1084 1580/612/1113 +f 1581/613/1084 1588/607/1114 1589/608/1092 +f 1589/608/1092 1582/614/1085 1581/613/1084 +f 1582/615/1085 1589/609/1092 1585/604/1088 +f 1585/604/1088 1584/610/1087 1582/615/1085 +f 1590/616/1093 1591/617/1094 1592/618/1095 +f 1592/618/1095 1593/619/1096 1590/616/1093 +f 1594/620/1097 1590/621/1093 1593/622/1096 +f 1593/622/1096 1595/623/1098 1594/620/1097 +f 1596/624/1099 1594/620/1097 1595/623/1098 +f 1595/623/1098 1597/625/1115 1596/624/1099 +f 1598/626/1116 1596/624/1099 1597/625/1115 +f 1597/625/1115 1599/627/1102 1598/626/1116 +f 1591/617/1094 1598/626/1116 1599/627/1102 +f 1599/627/1102 1592/618/1095 1591/617/1094 +f 1600/628/1117 1601/629/1118 1602/630/1119 +f 1602/630/1119 1603/631/1120 1600/628/1117 +f 1604/632/1121 1601/629/1118 1600/628/1117 +f 1600/628/1117 1605/633/1122 1604/632/1121 +f 1606/634/1123 1607/635/1124 1602/636/1119 +f 1602/636/1119 1601/637/1118 1606/634/1123 +f 1604/638/1121 1608/639/1125 1606/634/1123 +f 1606/634/1123 1601/637/1118 1604/638/1121 +f 1609/628/1126 1610/631/1127 1607/630/1124 +f 1607/630/1124 1606/629/1123 1609/628/1126 +f 1608/632/1125 1611/633/1128 1609/628/1126 +f 1609/628/1126 1606/629/1123 1608/632/1125 +f 1609/634/1126 1600/637/1117 1603/636/1120 +f 1603/636/1120 1610/635/1127 1609/634/1126 +f 1605/638/1122 1600/637/1117 1609/634/1126 +f 1609/634/1126 1611/639/1128 1605/638/1122 +f 1612/616/1093 1613/617/1094 1614/618/1095 +f 1614/618/1095 1615/619/1096 1612/616/1093 +f 1616/620/1097 1612/621/1093 1615/622/1096 +f 1615/622/1096 1617/623/1098 1616/620/1097 +f 1618/624/1099 1616/620/1097 1617/623/1098 +f 1617/623/1098 1619/625/1115 1618/624/1099 +f 1620/626/1116 1618/624/1099 1619/625/1115 +f 1619/625/1115 1621/627/1129 1620/626/1116 +f 1613/617/1094 1620/626/1116 1621/627/1129 +f 1621/627/1129 1614/618/1095 1613/617/1094 +f 1622/616/1093 1623/617/1094 1624/618/1095 +f 1624/618/1095 1625/619/1096 1622/616/1093 +f 1626/620/1097 1622/621/1093 1625/622/1096 +f 1625/622/1096 1627/623/1098 1626/620/1097 +f 1628/624/1099 1626/620/1097 1627/623/1098 +f 1627/623/1098 1629/625/1115 1628/624/1099 +f 1630/626/1101 1628/624/1099 1629/625/1115 +f 1629/625/1115 1631/627/1129 1630/626/1101 +f 1623/617/1094 1630/626/1101 1631/627/1129 +f 1631/627/1129 1624/618/1095 1623/617/1094 +f 1632/616/1093 1633/617/1094 1634/618/1095 +f 1634/618/1095 1635/619/1096 1632/616/1093 +f 1636/620/1097 1632/621/1093 1635/622/1096 +f 1635/622/1096 1637/623/1098 1636/620/1097 +f 1638/624/1130 1636/620/1097 1637/623/1098 +f 1637/623/1098 1639/625/1100 1638/624/1130 +f 1640/626/1101 1638/624/1130 1639/625/1100 +f 1639/625/1100 1641/627/1102 1640/626/1101 +f 1633/617/1094 1640/626/1101 1641/627/1102 +f 1641/627/1102 1634/618/1095 1633/617/1094 +f 1642/616/1093 1643/617/1094 1644/618/1095 +f 1644/618/1095 1645/619/1096 1642/616/1093 +f 1646/620/1097 1642/621/1093 1645/622/1096 +f 1645/622/1096 1647/623/1098 1646/620/1097 +f 1648/624/1099 1646/620/1097 1647/623/1098 +f 1647/623/1098 1649/625/1115 1648/624/1099 +f 1650/626/1116 1648/624/1099 1649/625/1115 +f 1649/625/1115 1651/627/1102 1650/626/1116 +f 1643/617/1094 1650/626/1116 1651/627/1102 +f 1651/627/1102 1644/618/1095 1643/617/1094 +f 1652/616/1093 1653/617/1094 1654/618/1095 +f 1654/618/1095 1655/619/1096 1652/616/1093 +f 1656/620/1097 1652/621/1093 1655/622/1096 +f 1655/622/1096 1657/623/1098 1656/620/1097 +f 1658/624/1099 1656/620/1097 1657/623/1098 +f 1657/623/1098 1659/625/1115 1658/624/1099 +f 1660/626/1101 1658/624/1099 1659/625/1115 +f 1659/625/1115 1661/627/1102 1660/626/1101 +f 1653/617/1094 1660/626/1101 1661/627/1102 +f 1661/627/1102 1654/618/1095 1653/617/1094 +f 1662/616/1093 1663/617/1094 1664/618/1095 +f 1664/618/1095 1665/619/1096 1662/616/1093 +f 1666/620/1097 1662/621/1093 1665/622/1096 +f 1665/622/1096 1667/623/1098 1666/620/1097 +f 1668/624/1099 1666/620/1097 1667/623/1098 +f 1667/623/1098 1669/625/1100 1668/624/1099 +f 1670/626/1101 1668/624/1099 1669/625/1100 +f 1669/625/1100 1671/627/1102 1670/626/1101 +f 1663/617/1094 1670/626/1101 1671/627/1102 +f 1671/627/1102 1664/618/1095 1663/617/1094 +f 1672/616/1093 1673/617/1094 1674/618/1095 +f 1674/618/1095 1675/619/1096 1672/616/1093 +f 1676/620/1097 1672/621/1093 1675/622/1096 +f 1675/622/1096 1677/623/1131 1676/620/1097 +f 1678/624/1099 1676/620/1097 1677/623/1131 +f 1677/623/1131 1679/625/1100 1678/624/1099 +f 1680/626/1132 1678/624/1099 1679/625/1100 +f 1679/625/1100 1681/627/1102 1680/626/1132 +f 1673/617/1094 1680/626/1132 1681/627/1102 +f 1681/627/1102 1674/618/1095 1673/617/1094 +f 1682/616/1093 1683/617/1094 1684/618/1095 +f 1684/618/1095 1685/619/1096 1682/616/1093 +f 1686/620/1097 1682/621/1093 1685/622/1096 +f 1685/622/1096 1687/623/1098 1686/620/1097 +f 1688/624/1099 1686/620/1097 1687/623/1098 +f 1687/623/1098 1689/625/1115 1688/624/1099 +f 1690/626/1116 1688/624/1099 1689/625/1115 +f 1689/625/1115 1691/627/1102 1690/626/1116 +f 1683/617/1094 1690/626/1116 1691/627/1102 +f 1691/627/1102 1684/618/1095 1683/617/1094 +f 1692/616/1093 1693/617/1094 1694/618/1095 +f 1694/618/1095 1695/619/1096 1692/616/1093 +f 1696/620/1097 1692/621/1093 1695/622/1096 +f 1695/622/1096 1697/623/1098 1696/620/1097 +f 1698/624/1130 1696/620/1097 1697/623/1098 +f 1697/623/1098 1699/625/1100 1698/624/1130 +f 1700/626/1133 1698/624/1130 1699/625/1100 +f 1699/625/1100 1701/627/1102 1700/626/1133 +f 1693/617/1094 1700/626/1133 1701/627/1102 +f 1701/627/1102 1694/618/1095 1693/617/1094 +f 1702/616/1093 1703/617/1094 1704/618/1095 +f 1704/618/1095 1705/619/1096 1702/616/1093 +f 1706/620/1097 1702/621/1093 1705/622/1096 +f 1705/622/1096 1707/623/1131 1706/620/1097 +f 1708/624/1099 1706/620/1097 1707/623/1131 +f 1707/623/1131 1709/625/1100 1708/624/1099 +f 1710/626/1101 1708/624/1099 1709/625/1100 +f 1709/625/1100 1711/627/1102 1710/626/1101 +f 1703/617/1094 1710/626/1101 1711/627/1102 +f 1711/627/1102 1704/618/1095 1703/617/1094 +f 1712/616/1093 1713/617/1094 1714/618/1095 +f 1714/618/1095 1715/619/1096 1712/616/1093 +f 1716/620/1097 1712/621/1093 1715/622/1096 +f 1715/622/1096 1717/623/1098 1716/620/1097 +f 1718/624/1130 1716/620/1097 1717/623/1098 +f 1717/623/1098 1719/625/1100 1718/624/1130 +f 1720/626/1101 1718/624/1130 1719/625/1100 +f 1719/625/1100 1721/627/1102 1720/626/1101 +f 1713/617/1094 1720/626/1101 1721/627/1102 +f 1721/627/1102 1714/618/1095 1713/617/1094 +f 1722/616/1093 1723/617/1094 1724/618/1095 +f 1724/618/1095 1725/619/1096 1722/616/1093 +f 1726/620/1097 1722/621/1093 1725/622/1096 +f 1725/622/1096 1727/623/1098 1726/620/1097 +f 1728/624/1130 1726/620/1097 1727/623/1098 +f 1727/623/1098 1729/625/1100 1728/624/1130 +f 1730/626/1101 1728/624/1130 1729/625/1100 +f 1729/625/1100 1731/627/1102 1730/626/1101 +f 1723/617/1094 1730/626/1101 1731/627/1102 +f 1731/627/1102 1724/618/1095 1723/617/1094 +f 1732/616/1093 1733/617/1094 1734/618/1095 +f 1734/618/1095 1735/619/1134 1732/616/1093 +f 1736/620/1097 1732/621/1093 1735/622/1134 +f 1735/622/1134 1737/623/1098 1736/620/1097 +f 1738/624/1130 1736/620/1097 1737/623/1098 +f 1737/623/1098 1739/625/1100 1738/624/1130 +f 1740/626/1101 1738/624/1130 1739/625/1100 +f 1739/625/1100 1741/627/1102 1740/626/1101 +f 1733/617/1094 1740/626/1101 1741/627/1102 +f 1741/627/1102 1734/618/1095 1733/617/1094 +f 1742/616/1093 1743/617/1094 1744/618/1095 +f 1744/618/1095 1745/619/1134 1742/616/1093 +f 1746/620/1097 1742/621/1093 1745/622/1134 +f 1745/622/1134 1747/623/1098 1746/620/1097 +f 1748/624/1130 1746/620/1097 1747/623/1098 +f 1747/623/1098 1749/625/1100 1748/624/1130 +f 1750/626/1101 1748/624/1130 1749/625/1100 +f 1749/625/1100 1751/627/1102 1750/626/1101 +f 1743/617/1094 1750/626/1101 1751/627/1102 +f 1751/627/1102 1744/618/1095 1743/617/1094 +f 1752/255/1135 1753/256/1136 1754/257/1137 +f 1754/257/1137 1755/258/1138 1752/255/1135 +f 1756/259/1139 1757/260/1140 1752/255/1135 +f 1752/255/1135 1755/258/1138 1756/259/1139 +f 1752/261/1135 1758/262/1141 1759/263/1142 +f 1759/263/1142 1753/264/1136 1752/261/1135 +f 1757/265/1140 1760/266/1143 1758/262/1141 +f 1758/262/1141 1752/261/1135 1757/265/1140 +f 1758/267/1141 1761/268/1144 1762/269/1145 +f 1762/269/1145 1759/270/1142 1758/267/1141 +f 1763/271/1146 1761/268/1144 1758/267/1141 +f 1758/267/1141 1760/272/1143 1763/271/1146 +f 1755/261/1138 1754/264/1137 1762/263/1145 +f 1762/263/1145 1761/262/1144 1755/261/1138 +f 1756/265/1139 1755/261/1138 1761/262/1144 +f 1761/262/1144 1763/266/1146 1756/265/1139 +f 1764/616/1093 1765/617/1094 1766/618/1095 +f 1766/618/1095 1767/619/1096 1764/616/1093 +f 1768/620/1097 1764/621/1093 1767/622/1096 +f 1767/622/1096 1769/623/1098 1768/620/1097 +f 1770/624/1099 1768/620/1097 1769/623/1098 +f 1769/623/1098 1771/625/1115 1770/624/1099 +f 1772/626/1116 1770/624/1099 1771/625/1115 +f 1771/625/1115 1773/627/1129 1772/626/1116 +f 1765/617/1094 1772/626/1116 1773/627/1129 +f 1773/627/1129 1766/618/1095 1765/617/1094 +f 1774/640/1147 1775/641/1148 1776/642/1149 +f 1776/642/1149 1777/643/1150 1774/640/1147 +f 1778/644/1151 1775/645/1148 1774/646/1147 +f 1774/646/1147 1779/647/295 1778/644/1151 +f 1780/648/1152 1781/649/1153 1782/650/1154 +f 1782/650/1154 1783/651/1155 1780/648/1152 +f 1784/652/1156 1785/653/1157 1780/648/1152 +f 1780/648/1152 1783/651/1155 1784/652/1156 +f 1775/641/1148 1783/654/1155 1782/655/1154 +f 1782/655/1154 1776/642/1149 1775/641/1148 +f 1784/656/1156 1783/657/1155 1775/645/1148 +f 1775/645/1148 1778/644/1151 1784/656/1156 +f 1786/658/1158 1781/659/1153 1787/660/1159 +f 1787/660/1159 1788/661/1160 1786/658/1158 +f 1781/662/1153 1780/663/1152 1789/664/1161 +f 1789/664/1161 1787/665/1159 1781/662/1153 +f 1790/666/1162 1791/667/1163 1792/668/1164 +f 1792/668/1164 1793/669/1165 1790/666/1162 +f 1794/670/1166 1795/671/1167 1796/672/93 +f 1796/672/93 1797/673/93 1794/670/1166 +f 1786/674/1158 1798/675/1168 1799/676/1169 +f 1799/676/1169 1800/677/1170 1786/674/1158 +f 1800/678/1170 1799/679/1169 1795/671/1167 +f 1795/671/1167 1794/670/1166 1800/678/1170 +f 1785/680/1157 1801/681/1171 1802/682/1172 +f 1802/682/1172 1803/683/1173 1785/680/1157 +f 1804/684/1151 1778/644/1151 1779/647/295 +f 1779/647/295 1805/685/295 1804/684/1151 +f 1801/686/1171 1785/653/1157 1784/652/1156 +f 1784/652/1156 1806/687/1174 1801/686/1171 +f 1806/688/1174 1784/656/1156 1778/644/1151 +f 1778/644/1151 1804/684/1151 1806/688/1174 +f 1798/689/1168 1786/658/1158 1788/661/1160 +f 1788/661/1160 1807/690/1175 1798/689/1168 +f 1808/666/1176 1809/667/1177 1810/668/1178 +f 1810/668/1178 1811/669/1179 1808/666/1176 +f 1777/691/1150 1776/692/1149 1794/670/1166 +f 1794/670/1166 1797/673/93 1777/691/1150 +f 1781/649/1153 1786/674/1158 1800/677/1170 +f 1800/677/1170 1782/650/1154 1781/649/1153 +f 1776/692/1149 1782/693/1154 1800/678/1170 +f 1800/678/1170 1794/670/1166 1776/692/1149 +f 1789/694/1161 1780/695/1152 1785/680/1157 +f 1785/680/1157 1803/683/1173 1789/694/1161 +f 1812/696/1180 1813/697/1181 1807/698/1175 +f 1807/698/1175 1788/699/1160 1812/696/1180 +f 1807/698/1175 1813/697/1181 1814/700/1182 +f 1815/701/1183 1816/702/1184 1787/703/1159 +f 1787/703/1159 1789/704/1161 1815/701/1183 +f 1817/705/1185 1815/701/1183 1789/704/1161 +f 1789/704/1161 1803/706/1173 1817/705/1185 +f 1788/699/1160 1818/707/1186 1819/708/1187 +f 1790/709/1162 1793/710/1165 1813/711/1181 +f 1813/711/1181 1812/712/1180 1790/709/1162 +f 1820/713/1188 1791/714/1163 1790/709/1162 +f 1790/709/1162 1812/712/1180 1820/713/1188 +f 1821/715/1189 1792/716/1164 1791/714/1163 +f 1791/714/1163 1820/713/1188 1821/715/1189 +f 1793/717/1165 1792/716/1164 1821/715/1189 +f 1821/715/1189 1813/718/1181 1793/717/1165 +f 1808/713/1176 1811/715/1179 1818/716/1186 +f 1818/716/1186 1816/714/1184 1808/713/1176 +f 1815/709/1183 1809/712/1177 1808/713/1176 +f 1808/713/1176 1816/714/1184 1815/709/1183 +f 1817/710/1185 1810/711/1178 1809/712/1177 +f 1809/712/1177 1815/709/1183 1817/710/1185 +f 1811/715/1179 1810/718/1178 1817/717/1185 +f 1817/717/1185 1818/716/1186 1811/715/1179 +f 1822/719/1190 1819/708/1187 1818/707/1186 +f 1818/707/1186 1817/705/1185 1822/719/1190 +f 1820/720/1188 1812/696/1180 1819/708/1187 +f 1819/708/1187 1822/719/1190 1820/720/1188 +f 1821/721/1189 1802/722/1172 1814/700/1182 +f 1814/700/1182 1813/697/1181 1821/721/1189 +f 1803/706/1173 1820/720/1188 1822/719/1190 +f 1816/702/1184 1818/707/1186 1788/699/1160 +f 1788/699/1160 1787/703/1159 1816/702/1184 +f 1819/708/1187 1812/696/1180 1788/699/1160 +f 1821/721/1189 1820/720/1188 1803/706/1173 +f 1803/706/1173 1802/722/1172 1821/721/1189 +f 1822/719/1190 1817/705/1185 1803/706/1173 +f 1823/642/1191 1824/641/1192 1825/640/1193 +f 1825/640/1193 1826/643/1194 1823/642/1191 +f 1827/644/1151 1828/647/295 1825/646/1193 +f 1825/646/1193 1824/645/1192 1827/644/1151 +f 1829/648/1195 1830/651/1196 1831/650/1197 +f 1831/650/1197 1832/649/1198 1829/648/1195 +f 1829/648/1195 1833/653/1199 1834/652/1200 +f 1834/652/1200 1830/651/1196 1829/648/1195 +f 1831/655/1197 1830/654/1196 1824/641/1192 +f 1824/641/1192 1823/642/1191 1831/655/1197 +f 1834/656/1200 1827/644/1151 1824/645/1192 +f 1824/645/1192 1830/657/1196 1834/656/1200 +f 1835/658/1201 1836/661/1202 1837/660/1203 +f 1837/660/1203 1832/659/1198 1835/658/1201 +f 1832/662/1198 1837/665/1203 1838/664/1204 +f 1838/664/1204 1829/663/1195 1832/662/1198 +f 1839/668/1205 1840/667/1206 1841/666/1207 +f 1841/666/1207 1842/669/1208 1839/668/1205 +f 1843/670/1166 1844/673/93 1796/672/93 +f 1796/672/93 1795/671/1167 1843/670/1166 +f 1835/674/1201 1845/677/1209 1799/676/1210 +f 1799/676/1210 1798/675/1211 1835/674/1201 +f 1845/678/1209 1843/670/1166 1795/671/1167 +f 1795/671/1167 1799/679/1210 1845/678/1209 +f 1833/680/1199 1846/683/1212 1802/682/1213 +f 1802/682/1213 1801/681/1214 1833/680/1199 +f 1804/684/1151 1805/685/295 1828/647/295 +f 1828/647/295 1827/644/1151 1804/684/1151 +f 1801/686/1214 1806/687/1215 1834/652/1200 +f 1834/652/1200 1833/653/1199 1801/686/1214 +f 1806/688/1215 1804/684/1151 1827/644/1151 +f 1827/644/1151 1834/656/1200 1806/688/1215 +f 1798/689/1211 1807/690/1216 1836/661/1202 +f 1836/661/1202 1835/658/1201 1798/689/1211 +f 1847/668/1217 1848/667/1218 1849/666/1219 +f 1849/666/1219 1850/669/1220 1847/668/1217 +f 1843/670/1166 1823/692/1191 1826/691/1194 +f 1826/691/1194 1844/673/93 1843/670/1166 +f 1832/649/1198 1831/650/1197 1845/677/1209 +f 1845/677/1209 1835/674/1201 1832/649/1198 +f 1845/678/1209 1831/693/1197 1823/692/1191 +f 1823/692/1191 1843/670/1166 1845/678/1209 +f 1833/680/1199 1829/695/1195 1838/694/1204 +f 1838/694/1204 1846/683/1212 1833/680/1199 +f 1851/696/1221 1836/699/1202 1807/698/1216 +f 1807/698/1216 1852/697/1222 1851/696/1221 +f 1852/697/1222 1807/698/1216 1814/700/1223 +f 1853/701/1224 1838/704/1204 1837/703/1203 +f 1837/703/1203 1854/702/1225 1853/701/1224 +f 1855/705/1226 1846/706/1212 1838/704/1204 +f 1838/704/1204 1853/701/1224 1855/705/1226 +f 1856/707/1227 1836/699/1202 1857/708/1228 +f 1841/709/1207 1851/712/1221 1852/711/1222 +f 1852/711/1222 1842/710/1208 1841/709/1207 +f 1841/709/1207 1840/714/1206 1858/713/1229 +f 1858/713/1229 1851/712/1221 1841/709/1207 +f 1840/714/1206 1839/716/1205 1859/715/1230 +f 1859/715/1230 1858/713/1229 1840/714/1206 +f 1842/717/1208 1852/718/1222 1859/715/1230 +f 1859/715/1230 1839/716/1205 1842/717/1208 +f 1849/713/1219 1854/714/1225 1856/716/1227 +f 1856/716/1227 1850/715/1220 1849/713/1219 +f 1849/713/1219 1848/712/1218 1853/709/1224 +f 1853/709/1224 1854/714/1225 1849/713/1219 +f 1848/712/1218 1847/711/1217 1855/710/1226 +f 1855/710/1226 1853/709/1224 1848/712/1218 +f 1850/715/1220 1856/716/1227 1855/717/1226 +f 1855/717/1226 1847/718/1217 1850/715/1220 +f 1860/719/1231 1855/705/1226 1856/707/1227 +f 1856/707/1227 1857/708/1228 1860/719/1231 +f 1858/720/1229 1860/719/1231 1857/708/1228 +f 1857/708/1228 1851/696/1221 1858/720/1229 +f 1814/700/1223 1802/722/1213 1859/721/1230 +f 1859/721/1230 1852/697/1222 1814/700/1223 +f 1858/720/1229 1846/706/1212 1860/719/1231 +f 1854/702/1225 1837/703/1203 1836/699/1202 +f 1836/699/1202 1856/707/1227 1854/702/1225 +f 1851/696/1221 1857/708/1228 1836/699/1202 +f 1859/721/1230 1802/722/1213 1846/706/1212 +f 1846/706/1212 1858/720/1229 1859/721/1230 +f 1855/705/1226 1860/719/1231 1846/706/1212 +f 1861/723/1232 1862/724/1233 1863/725/1234 +f 1862/726/1233 1864/727/1235 1863/728/1234 +f 1864/727/1235 1865/729/1236 1863/728/1234 +f 1865/729/1236 1866/730/1237 1863/728/1234 +f 1866/730/1237 1867/731/1238 1863/728/1234 +f 1867/732/1238 1868/733/1239 1863/725/1234 +f 1868/733/1239 1869/734/1240 1863/725/1234 +f 1869/734/1240 1861/723/1232 1863/725/1234 +f 1870/735/1241 1862/724/1233 1861/723/1232 +f 1861/723/1232 1871/736/1242 1870/735/1241 +f 1872/737/1243 1865/729/1236 1864/727/1235 +f 1864/727/1235 1873/738/1244 1872/737/1243 +f 1874/739/1245 1866/730/1237 1865/729/1236 +f 1865/729/1236 1872/737/1243 1874/739/1245 +f 1875/740/1246 1867/731/1238 1866/730/1237 +f 1866/730/1237 1874/739/1245 1875/740/1246 +f 1876/741/424 1868/733/1239 1867/732/1238 +f 1867/732/1238 1875/742/1246 1876/741/424 +f 1877/743/1247 1869/734/1240 1868/733/1239 +f 1868/733/1239 1876/741/424 1877/743/1247 +f 1871/736/1242 1861/723/1232 1869/734/1240 +f 1869/734/1240 1877/743/1247 1871/736/1242 +f 1878/744/1248 1870/735/1241 1871/736/1242 +f 1871/736/1242 1879/745/1249 1878/744/1248 +f 1880/746/1250 1872/737/1243 1873/738/1244 +f 1873/738/1244 1881/747/1251 1880/746/1250 +f 1882/748/1252 1874/739/1245 1872/737/1243 +f 1872/737/1243 1880/746/1250 1882/748/1252 +f 1883/749/1253 1875/740/1246 1874/739/1245 +f 1874/739/1245 1882/748/1252 1883/749/1253 +f 1884/750/1254 1876/741/424 1875/742/1246 +f 1875/742/1246 1883/751/1253 1884/750/1254 +f 1885/752/1255 1877/743/1247 1876/741/424 +f 1876/741/424 1884/750/1254 1885/752/1255 +f 1879/745/1249 1871/736/1242 1877/743/1247 +f 1877/743/1247 1885/752/1255 1879/745/1249 +f 1878/744/1248 1879/745/1249 1886/753/1256 +f 1881/747/1251 1878/754/1248 1886/755/1256 +f 1880/746/1250 1881/747/1251 1886/755/1256 +f 1882/748/1252 1880/746/1250 1886/755/1256 +f 1883/749/1253 1882/748/1252 1886/755/1256 +f 1884/750/1254 1883/751/1253 1886/753/1256 +f 1885/752/1255 1884/750/1254 1886/753/1256 +f 1879/745/1249 1885/752/1255 1886/753/1256 +f 1887/723/1232 1888/724/1233 1889/725/1234 +f 1888/726/1233 1890/727/1235 1889/728/1234 +f 1890/727/1235 1891/729/1236 1889/728/1234 +f 1891/729/1236 1892/730/1237 1889/728/1234 +f 1892/730/1237 1893/731/1238 1889/728/1234 +f 1893/732/1238 1894/733/1239 1889/725/1234 +f 1894/733/1239 1895/734/1240 1889/725/1234 +f 1895/734/1240 1887/723/1232 1889/725/1234 +f 1896/735/1241 1888/724/1233 1887/723/1232 +f 1887/723/1232 1897/736/1242 1896/735/1241 +f 1898/737/1243 1891/729/1236 1890/727/1235 +f 1890/727/1235 1899/738/1244 1898/737/1243 +f 1900/739/1245 1892/730/1237 1891/729/1236 +f 1891/729/1236 1898/737/1243 1900/739/1245 +f 1901/740/1246 1893/731/1238 1892/730/1237 +f 1892/730/1237 1900/739/1245 1901/740/1246 +f 1902/741/424 1894/733/1239 1893/732/1238 +f 1893/732/1238 1901/742/1246 1902/741/424 +f 1903/743/1247 1895/734/1240 1894/733/1239 +f 1894/733/1239 1902/741/424 1903/743/1247 +f 1897/736/1242 1887/723/1232 1895/734/1240 +f 1895/734/1240 1903/743/1247 1897/736/1242 +f 1904/744/1248 1896/735/1241 1897/736/1242 +f 1897/736/1242 1905/745/1249 1904/744/1248 +f 1906/746/1250 1898/737/1243 1899/738/1244 +f 1899/738/1244 1907/747/1251 1906/746/1250 +f 1908/748/1252 1900/739/1245 1898/737/1243 +f 1898/737/1243 1906/746/1250 1908/748/1252 +f 1909/749/1253 1901/740/1246 1900/739/1245 +f 1900/739/1245 1908/748/1252 1909/749/1253 +f 1910/750/1254 1902/741/424 1901/742/1246 +f 1901/742/1246 1909/751/1253 1910/750/1254 +f 1911/752/1255 1903/743/1247 1902/741/424 +f 1902/741/424 1910/750/1254 1911/752/1255 +f 1905/745/1249 1897/736/1242 1903/743/1247 +f 1903/743/1247 1911/752/1255 1905/745/1249 +f 1904/744/1248 1905/745/1249 1912/753/1256 +f 1907/747/1251 1904/754/1248 1912/755/1256 +f 1906/746/1250 1907/747/1251 1912/755/1256 +f 1908/748/1252 1906/746/1250 1912/755/1256 +f 1909/749/1253 1908/748/1252 1912/755/1256 +f 1910/750/1254 1909/751/1253 1912/753/1256 +f 1911/752/1255 1910/750/1254 1912/753/1256 +f 1905/745/1249 1911/752/1255 1912/753/1256 +f 1913/723/1232 1914/724/1233 1915/725/1234 +f 1914/726/1233 1916/727/1235 1915/728/1234 +f 1916/727/1235 1917/729/1236 1915/728/1234 +f 1917/729/1236 1918/730/1237 1915/728/1234 +f 1918/730/1237 1919/731/1238 1915/728/1234 +f 1919/732/1238 1920/733/1239 1915/725/1234 +f 1920/733/1239 1921/734/1240 1915/725/1234 +f 1921/734/1240 1913/723/1232 1915/725/1234 +f 1922/735/1241 1914/724/1233 1913/723/1232 +f 1913/723/1232 1923/736/1242 1922/735/1241 +f 1924/737/1243 1917/729/1236 1916/727/1235 +f 1916/727/1235 1925/738/1244 1924/737/1243 +f 1926/739/1245 1918/730/1237 1917/729/1236 +f 1917/729/1236 1924/737/1243 1926/739/1245 +f 1927/740/1246 1919/731/1238 1918/730/1237 +f 1918/730/1237 1926/739/1245 1927/740/1246 +f 1928/741/424 1920/733/1239 1919/732/1238 +f 1919/732/1238 1927/742/1246 1928/741/424 +f 1929/743/1247 1921/734/1240 1920/733/1239 +f 1920/733/1239 1928/741/424 1929/743/1247 +f 1923/736/1242 1913/723/1232 1921/734/1240 +f 1921/734/1240 1929/743/1247 1923/736/1242 +f 1930/744/1248 1922/735/1241 1923/736/1242 +f 1923/736/1242 1931/745/1249 1930/744/1248 +f 1932/746/1250 1924/737/1243 1925/738/1244 +f 1925/738/1244 1933/747/1251 1932/746/1250 +f 1934/748/1252 1926/739/1245 1924/737/1243 +f 1924/737/1243 1932/746/1250 1934/748/1252 +f 1935/749/1253 1927/740/1246 1926/739/1245 +f 1926/739/1245 1934/748/1252 1935/749/1253 +f 1936/750/1254 1928/741/424 1927/742/1246 +f 1927/742/1246 1935/751/1253 1936/750/1254 +f 1937/752/1255 1929/743/1247 1928/741/424 +f 1928/741/424 1936/750/1254 1937/752/1255 +f 1931/745/1249 1923/736/1242 1929/743/1247 +f 1929/743/1247 1937/752/1255 1931/745/1249 +f 1930/744/1248 1931/745/1249 1938/753/1256 +f 1933/747/1251 1930/754/1248 1938/755/1256 +f 1932/746/1250 1933/747/1251 1938/755/1256 +f 1934/748/1252 1932/746/1250 1938/755/1256 +f 1935/749/1253 1934/748/1252 1938/755/1256 +f 1936/750/1254 1935/751/1253 1938/753/1256 +f 1937/752/1255 1936/750/1254 1938/753/1256 +f 1931/745/1249 1937/752/1255 1938/753/1256 +f 1939/756/1257 1940/757/1258 1941/758/1259 +f 1940/757/1258 1942/759/1260 1941/758/1259 +f 1942/759/1260 1943/760/1261 1941/758/1259 +f 1943/760/1261 1944/761/1262 1941/758/1259 +f 1944/761/1262 1945/762/1263 1941/758/1259 +f 1945/762/1263 1946/763/1264 1941/758/1259 +f 1946/763/1264 1947/764/1265 1941/758/1259 +f 1947/764/1265 1939/756/1257 1941/758/1259 +f 1948/765/1266 1940/766/1258 1939/767/1257 +f 1939/767/1257 1949/768/1267 1948/765/1266 +f 1950/769/1268 1942/770/1260 1940/766/1258 +f 1940/766/1258 1948/765/1266 1950/769/1268 +f 1951/771/1269 1943/772/1261 1942/770/1260 +f 1942/770/1260 1950/769/1268 1951/771/1269 +f 1952/773/1270 1944/774/1262 1943/772/1261 +f 1943/772/1261 1951/771/1269 1952/773/1270 +f 1953/775/1271 1945/776/1263 1944/774/1262 +f 1944/774/1262 1952/773/1270 1953/775/1271 +f 1954/777/1272 1946/778/1264 1945/779/1263 +f 1945/779/1263 1953/780/1271 1954/777/1272 +f 1955/781/1273 1947/782/1265 1946/778/1264 +f 1946/778/1264 1954/777/1272 1955/781/1273 +f 1949/768/1267 1939/767/1257 1947/782/1265 +f 1947/782/1265 1955/781/1273 1949/768/1267 +f 1950/783/1268 1948/784/1266 1951/785/1269 +f 1954/786/1272 1953/787/1271 1955/788/1273 +f 1953/787/1271 1952/789/1270 1949/790/1267 +f 1949/790/1267 1955/788/1273 1953/787/1271 +f 1952/789/1270 1951/785/1269 1948/784/1266 +f 1948/784/1266 1949/790/1267 1952/789/1270 +f 1956/791/1274 1957/792/1275 1958/793/1276 +f 1958/793/1276 1959/794/1277 1956/791/1274 +f 1960/795/1278 1961/796/1279 1956/791/1274 +f 1956/791/1274 1959/794/1277 1960/795/1278 +f 1962/797/1280 1963/798/1281 1961/796/1279 +f 1961/796/1279 1960/795/1278 1962/797/1280 +f 1957/792/1275 1963/799/1281 1962/800/1280 +f 1962/800/1280 1958/793/1276 1957/792/1275 +f 1964/801/1282 1957/792/1275 1956/791/1274 +f 1956/791/1274 1965/802/1283 1964/801/1282 +f 1966/803/1284 1965/802/1283 1956/791/1274 +f 1956/791/1274 1961/796/1279 1966/803/1284 +f 1967/804/1285 1966/803/1284 1961/796/1279 +f 1961/796/1279 1963/798/1281 1967/804/1285 +f 1967/805/1285 1963/799/1281 1957/792/1275 +f 1957/792/1275 1964/801/1282 1967/805/1285 +f 1968/806/1286 1969/807/1287 1970/808/1288 +f 1970/808/1288 1971/809/1289 1968/806/1286 +f 1972/810/1290 1973/811/1291 1968/806/1286 +f 1968/806/1286 1971/809/1289 1972/810/1290 +f 1974/812/1292 1975/813/1293 1973/814/1291 +f 1973/814/1291 1972/815/1290 1974/812/1292 +f 1969/807/1287 1975/813/1293 1974/812/1292 +f 1974/812/1292 1970/808/1288 1969/807/1287 +f 1976/816/1294 1969/807/1287 1968/806/1286 +f 1968/806/1286 1977/817/1295 1976/816/1294 +f 1978/818/1296 1977/817/1295 1968/806/1286 +f 1968/806/1286 1973/811/1291 1978/818/1296 +f 1979/819/1297 1978/820/1296 1973/814/1291 +f 1973/814/1291 1975/813/1293 1979/819/1297 +f 1979/819/1297 1975/813/1293 1969/807/1287 +f 1969/807/1287 1976/816/1294 1979/819/1297 +f 1980/791/1298 1981/794/1299 1982/793/1300 +f 1982/793/1300 1983/792/1301 1980/791/1298 +f 1980/791/1298 1984/796/1302 1985/795/1303 +f 1985/795/1303 1981/794/1299 1980/791/1298 +f 1984/796/1302 1986/798/1304 1987/797/1305 +f 1987/797/1305 1985/795/1303 1984/796/1302 +f 1983/792/1301 1982/793/1300 1987/800/1305 +f 1987/800/1305 1986/799/1304 1983/792/1301 +f 1988/801/1306 1989/802/1307 1980/791/1298 +f 1980/791/1298 1983/792/1301 1988/801/1306 +f 1980/791/1298 1989/802/1307 1990/803/1308 +f 1990/803/1308 1984/796/1302 1980/791/1298 +f 1984/796/1302 1990/803/1308 1991/804/1309 +f 1991/804/1309 1986/798/1304 1984/796/1302 +f 1991/805/1309 1988/801/1306 1983/792/1301 +f 1983/792/1301 1986/799/1304 1991/805/1309 +f 1992/640/1310 1993/641/1311 1994/642/1312 +f 1994/642/1312 1995/643/1313 1992/640/1310 +f 1996/644/1314 1993/645/1311 1992/646/1310 +f 1992/646/1310 1997/647/1315 1996/644/1314 +f 1998/648/1316 1999/649/1317 2000/650/1318 +f 2000/650/1318 2001/651/1319 1998/648/1316 +f 2002/652/1320 2003/653/1321 1998/648/1316 +f 1998/648/1316 2001/651/1319 2002/652/1320 +f 1993/641/1311 2001/654/1319 2000/655/1318 +f 2000/655/1318 1994/642/1312 1993/641/1311 +f 2002/656/1320 2001/657/1319 1993/645/1311 +f 1993/645/1311 1996/644/1314 2002/656/1320 +f 2004/658/1322 1999/659/1317 2005/660/1323 +f 2005/660/1323 2006/661/1324 2004/658/1322 +f 1999/662/1317 1998/663/1316 2007/664/1325 +f 2007/664/1325 2005/665/1323 1999/662/1317 +f 2008/666/1326 2009/667/1327 2010/668/1328 +f 2010/668/1328 2011/669/1329 2008/666/1326 +f 2012/670/1330 2013/671/1331 2014/672/1332 +f 2014/672/1332 2015/673/431 2012/670/1330 +f 2004/674/1322 2016/675/1333 2017/676/1334 +f 2017/676/1334 2018/677/1335 2004/674/1322 +f 2018/678/1335 2017/679/1334 2013/671/1331 +f 2013/671/1331 2012/670/1330 2018/678/1335 +f 2003/680/1321 2019/681/1336 2020/682/1337 +f 2020/682/1337 2021/683/1338 2003/680/1321 +f 2022/684/1339 1996/644/1314 1997/647/1315 +f 1997/647/1315 2023/685/1315 2022/684/1339 +f 2019/686/1336 2003/653/1321 2002/652/1320 +f 2002/652/1320 2024/687/1340 2019/686/1336 +f 2024/688/1340 2002/656/1320 1996/644/1314 +f 1996/644/1314 2022/684/1339 2024/688/1340 +f 2016/689/1333 2004/658/1322 2006/661/1324 +f 2006/661/1324 2025/690/1341 2016/689/1333 +f 2026/666/1342 2027/667/1343 2028/668/1344 +f 2028/668/1344 2029/669/1345 2026/666/1342 +f 1995/691/1313 1994/692/1312 2012/670/1330 +f 2012/670/1330 2015/673/431 1995/691/1313 +f 1999/649/1317 2004/674/1322 2018/677/1335 +f 2018/677/1335 2000/650/1318 1999/649/1317 +f 1994/692/1312 2000/693/1318 2018/678/1335 +f 2018/678/1335 2012/670/1330 1994/692/1312 +f 2007/694/1325 1998/695/1316 2003/680/1321 +f 2003/680/1321 2021/683/1338 2007/694/1325 +f 2030/696/1346 2031/697/1347 2025/698/1341 +f 2025/698/1341 2006/699/1324 2030/696/1346 +f 2025/698/1341 2031/697/1347 2032/700/1348 +f 2033/701/1349 2034/702/1350 2005/703/1323 +f 2005/703/1323 2007/704/1325 2033/701/1349 +f 2035/705/1351 2033/701/1349 2007/704/1325 +f 2007/704/1325 2021/706/1338 2035/705/1351 +f 2006/699/1324 2036/707/1352 2037/708/1353 +f 2008/709/1326 2011/710/1329 2031/711/1347 +f 2031/711/1347 2030/712/1346 2008/709/1326 +f 2038/713/1354 2009/714/1327 2008/709/1326 +f 2008/709/1326 2030/712/1346 2038/713/1354 +f 2039/715/1355 2010/716/1328 2009/714/1327 +f 2009/714/1327 2038/713/1354 2039/715/1355 +f 2011/717/1329 2010/716/1328 2039/715/1355 +f 2039/715/1355 2031/718/1347 2011/717/1329 +f 2026/713/1342 2029/715/1345 2036/716/1352 +f 2036/716/1352 2034/714/1350 2026/713/1342 +f 2033/709/1349 2027/712/1343 2026/713/1342 +f 2026/713/1342 2034/714/1350 2033/709/1349 +f 2035/710/1351 2028/711/1344 2027/712/1343 +f 2027/712/1343 2033/709/1349 2035/710/1351 +f 2029/715/1345 2028/718/1344 2035/717/1351 +f 2035/717/1351 2036/716/1352 2029/715/1345 +f 2040/719/1356 2037/708/1353 2036/707/1352 +f 2036/707/1352 2035/705/1351 2040/719/1356 +f 2038/720/1354 2030/696/1346 2037/708/1353 +f 2037/708/1353 2040/719/1356 2038/720/1354 +f 2039/721/1355 2020/722/1337 2032/700/1348 +f 2032/700/1348 2031/697/1347 2039/721/1355 +f 2021/706/1338 2038/720/1354 2040/719/1356 +f 2034/702/1350 2036/707/1352 2006/699/1324 +f 2006/699/1324 2005/703/1323 2034/702/1350 +f 2037/708/1353 2030/696/1346 2006/699/1324 +f 2039/721/1355 2038/720/1354 2021/706/1338 +f 2021/706/1338 2020/722/1337 2039/721/1355 +f 2040/719/1356 2035/705/1351 2021/706/1338 +f 2041/642/1357 2042/641/1358 2043/640/1359 +f 2043/640/1359 2044/643/1360 2041/642/1357 +f 2045/644/1361 2046/647/1315 2043/646/1359 +f 2043/646/1359 2042/645/1358 2045/644/1361 +f 2047/648/1362 2048/651/1363 2049/650/1364 +f 2049/650/1364 2050/649/1365 2047/648/1362 +f 2047/648/1362 2051/653/1366 2052/652/1367 +f 2052/652/1367 2048/651/1363 2047/648/1362 +f 2049/655/1364 2048/654/1363 2042/641/1358 +f 2042/641/1358 2041/642/1357 2049/655/1364 +f 2052/656/1367 2045/644/1361 2042/645/1358 +f 2042/645/1358 2048/657/1363 2052/656/1367 +f 2053/658/1368 2054/661/1369 2055/660/1370 +f 2055/660/1370 2050/659/1365 2053/658/1368 +f 2050/662/1365 2055/665/1370 2056/664/1371 +f 2056/664/1371 2047/663/1362 2050/662/1365 +f 2057/668/1372 2058/667/1373 2059/666/1374 +f 2059/666/1374 2060/669/1375 2057/668/1372 +f 2061/670/1376 2062/673/431 2014/672/431 +f 2014/672/431 2013/671/1377 2061/670/1376 +f 2053/674/1368 2063/677/1378 2017/676/1379 +f 2017/676/1379 2016/675/1380 2053/674/1368 +f 2063/678/1378 2061/670/1376 2013/671/1377 +f 2013/671/1377 2017/679/1379 2063/678/1378 +f 2051/680/1366 2064/683/1381 2020/682/1382 +f 2020/682/1382 2019/681/1383 2051/680/1366 +f 2022/684/1384 2023/685/1315 2046/647/1315 +f 2046/647/1315 2045/644/1361 2022/684/1384 +f 2019/686/1383 2024/687/1385 2052/652/1367 +f 2052/652/1367 2051/653/1366 2019/686/1383 +f 2024/688/1385 2022/684/1384 2045/644/1361 +f 2045/644/1361 2052/656/1367 2024/688/1385 +f 2016/689/1380 2025/690/1386 2054/661/1369 +f 2054/661/1369 2053/658/1368 2016/689/1380 +f 2065/668/1387 2066/667/1388 2067/666/1389 +f 2067/666/1389 2068/669/1390 2065/668/1387 +f 2061/670/1376 2041/692/1357 2044/691/1360 +f 2044/691/1360 2062/673/431 2061/670/1376 +f 2050/649/1365 2049/650/1364 2063/677/1378 +f 2063/677/1378 2053/674/1368 2050/649/1365 +f 2063/678/1378 2049/693/1364 2041/692/1357 +f 2041/692/1357 2061/670/1376 2063/678/1378 +f 2051/680/1366 2047/695/1362 2056/694/1371 +f 2056/694/1371 2064/683/1381 2051/680/1366 +f 2069/696/1391 2054/699/1369 2025/698/1386 +f 2025/698/1386 2070/697/1392 2069/696/1391 +f 2070/697/1392 2025/698/1386 2032/700/1393 +f 2071/701/1394 2056/704/1371 2055/703/1370 +f 2055/703/1370 2072/702/1395 2071/701/1394 +f 2073/705/1396 2064/706/1381 2056/704/1371 +f 2056/704/1371 2071/701/1394 2073/705/1396 +f 2074/707/1397 2054/699/1369 2075/708/1398 +f 2059/709/1374 2069/712/1391 2070/711/1392 +f 2070/711/1392 2060/710/1375 2059/709/1374 +f 2059/709/1374 2058/714/1373 2076/713/1399 +f 2076/713/1399 2069/712/1391 2059/709/1374 +f 2058/714/1373 2057/716/1372 2077/715/1400 +f 2077/715/1400 2076/713/1399 2058/714/1373 +f 2060/717/1375 2070/718/1392 2077/715/1400 +f 2077/715/1400 2057/716/1372 2060/717/1375 +f 2067/713/1389 2072/714/1395 2074/716/1397 +f 2074/716/1397 2068/715/1390 2067/713/1389 +f 2067/713/1389 2066/712/1388 2071/709/1394 +f 2071/709/1394 2072/714/1395 2067/713/1389 +f 2066/712/1388 2065/711/1387 2073/710/1396 +f 2073/710/1396 2071/709/1394 2066/712/1388 +f 2068/715/1390 2074/716/1397 2073/717/1396 +f 2073/717/1396 2065/718/1387 2068/715/1390 +f 2078/719/1401 2073/705/1396 2074/707/1397 +f 2074/707/1397 2075/708/1398 2078/719/1401 +f 2076/720/1399 2078/719/1401 2075/708/1398 +f 2075/708/1398 2069/696/1391 2076/720/1399 +f 2032/700/1393 2020/722/1382 2077/721/1400 +f 2077/721/1400 2070/697/1392 2032/700/1393 +f 2076/720/1399 2064/706/1381 2078/719/1401 +f 2072/702/1395 2055/703/1370 2054/699/1369 +f 2054/699/1369 2074/707/1397 2072/702/1395 +f 2069/696/1391 2075/708/1398 2054/699/1369 +f 2077/721/1400 2020/722/1382 2064/706/1381 +f 2064/706/1381 2076/720/1399 2077/721/1400 +f 2073/705/1396 2078/719/1401 2064/706/1381 +f 2079/791/1402 2080/792/1403 2081/793/1404 +f 2081/793/1404 2082/794/1405 2079/791/1402 +f 2083/795/1406 2084/796/1407 2079/791/1402 +f 2079/791/1402 2082/794/1405 2083/795/1406 +f 2085/797/1408 2086/798/1409 2084/796/1407 +f 2084/796/1407 2083/795/1406 2085/797/1408 +f 2080/792/1403 2086/799/1409 2085/800/1408 +f 2085/800/1408 2081/793/1404 2080/792/1403 +f 2087/801/1410 2080/792/1403 2079/791/1402 +f 2079/791/1402 2088/802/1411 2087/801/1410 +f 2089/803/1412 2088/802/1411 2079/791/1402 +f 2079/791/1402 2084/796/1407 2089/803/1412 +f 2090/804/1413 2089/803/1412 2084/796/1407 +f 2084/796/1407 2086/798/1409 2090/804/1413 +f 2090/805/1413 2086/799/1409 2080/792/1403 +f 2080/792/1403 2087/801/1410 2090/805/1413 +f 2091/791/1414 2092/794/1415 2093/793/1416 +f 2093/793/1416 2094/792/1279 2091/791/1414 +f 2091/791/1414 2095/796/1417 2096/795/1418 +f 2096/795/1418 2092/794/1415 2091/791/1414 +f 2095/796/1417 2097/798/1419 2098/797/1420 +f 2098/797/1420 2096/795/1418 2095/796/1417 +f 2094/792/1279 2093/793/1416 2098/800/1420 +f 2098/800/1420 2097/799/1419 2094/792/1279 +f 2099/801/1421 2100/802/1422 2091/791/1414 +f 2091/791/1414 2094/792/1279 2099/801/1421 +f 2091/791/1414 2100/802/1422 2101/803/1423 +f 2101/803/1423 2095/796/1417 2091/791/1414 +f 2095/796/1417 2101/803/1423 2102/804/1424 +f 2102/804/1424 2097/798/1419 2095/796/1417 +f 2102/805/1424 2099/801/1421 2094/792/1279 +f 2094/792/1279 2097/799/1419 2102/805/1424 +f 2103/806/1425 2104/807/1426 2105/808/1427 +f 2105/808/1427 2106/809/1428 2103/806/1425 +f 2107/810/1429 2108/811/1430 2103/806/1425 +f 2103/806/1425 2106/809/1428 2107/810/1429 +f 2109/812/1431 2110/813/1432 2108/814/1430 +f 2108/814/1430 2107/815/1429 2109/812/1431 +f 2104/807/1426 2110/813/1432 2109/812/1431 +f 2109/812/1431 2105/808/1427 2104/807/1426 +f 2111/816/1433 2104/807/1426 2103/806/1425 +f 2103/806/1425 2112/817/1434 2111/816/1433 +f 2113/818/1435 2112/817/1434 2103/806/1425 +f 2103/806/1425 2108/811/1430 2113/818/1435 +f 2114/819/1436 2113/820/1435 2108/814/1430 +f 2108/814/1430 2110/813/1432 2114/819/1436 +f 2114/819/1436 2110/813/1432 2104/807/1426 +f 2104/807/1426 2111/816/1433 2114/819/1436 +# 2914 faces + diff --git a/examples/web/models/resources/models/market_diffuse.png b/examples/web/models/resources/models/market_diffuse.png new file mode 100644 index 0000000..f38fbbb Binary files /dev/null and b/examples/web/models/resources/models/market_diffuse.png differ diff --git a/examples/web/models/resources/models/turret.obj b/examples/web/models/resources/models/turret.obj new file mode 100644 index 0000000..bf7caac --- /dev/null +++ b/examples/web/models/resources/models/turret.obj @@ -0,0 +1,1888 @@ +# (c) 2018 Medieval Assets Pack by Alberto Cano +# Licensed as Creative Commons Attribution-NonCommercial 4.0 + +# +# object turret +# + +v 0.0000 13.3010 3.5973 +v 0.0000 12.1596 2.3386 +v 2.5639 12.1596 2.3386 +v 3.4913 13.3010 3.5973 +v 3.5203 14.0462 3.0738 +v 3.9444 14.0450 3.1421 +v 3.9444 14.0369 -0.0000 +v 3.4351 14.0369 -0.0000 +v 3.4352 14.0462 2.9719 +v 3.3643 13.3303 2.9127 +v 0.0000 13.3303 2.9127 +v 0.0000 13.3010 2.9740 +v 3.4352 13.3010 2.9740 +v 0.0000 14.0462 2.9719 +v 3.9444 13.2918 -0.0000 +v 3.9444 13.2998 3.1441 +v 3.4913 14.0462 3.5952 +v 3.3643 13.3303 -0.0000 +v 0.0000 13.3303 -0.0000 +v 0.0000 14.0462 3.5952 +v 2.5639 12.1504 -0.0000 +v 3.4352 13.2918 -0.0000 +v 3.5237 14.9316 3.0740 +v 3.9478 14.9305 3.1422 +v 3.4947 14.9316 3.5953 +v 3.5271 16.4764 1.4274 +v 3.9512 16.4752 1.4274 +v 3.9512 15.9080 2.0774 +v 3.5271 15.9092 2.0092 +v 1.8327 16.4815 3.5953 +v 1.8617 16.4815 3.0742 +v 2.5117 15.9086 3.0742 +v 2.4725 15.9086 3.5953 +v 3.9512 16.4757 3.1424 +v 3.4981 16.4769 3.5955 +v 3.5271 16.4769 3.0742 +v 2.5639 12.1596 -2.3386 +v 0.0000 12.1596 -2.3386 +v 0.0000 13.3010 -3.5973 +v 3.4913 13.3010 -3.5973 +v 3.5203 14.0462 -3.0738 +v 3.4351 14.0462 -2.9720 +v 3.9444 14.0450 -3.1421 +v 0.0000 13.3010 -2.9740 +v 0.0000 13.3303 -2.9127 +v 3.3643 13.3303 -2.9127 +v 3.4352 13.3010 -2.9740 +v 0.0000 14.0462 -2.9719 +v 3.9444 13.2998 -3.1441 +v 3.4913 14.0462 -3.5952 +v 0.0000 14.0462 -3.5952 +v 3.9478 14.9305 -3.1422 +v 3.5237 14.9316 -3.0740 +v 3.4947 14.9316 -3.5953 +v 3.9512 15.9080 -2.0774 +v 3.9512 16.4752 -1.4274 +v 3.5271 16.4764 -1.4274 +v 3.5271 15.9092 -2.0092 +v 2.5117 15.9086 -3.0742 +v 1.8617 16.4815 -3.0742 +v 1.8327 16.4815 -3.5954 +v 2.4725 15.9086 -3.5953 +v 3.4981 16.4769 -3.5955 +v 3.9512 16.4757 -3.1424 +v 3.5271 16.4769 -3.0742 +v -2.5639 12.1596 2.3386 +v -3.4913 13.3010 3.5973 +v -3.5203 14.0462 3.0738 +v -3.4351 14.0462 2.9720 +v -3.4351 14.0369 0.0000 +v -3.9444 14.0369 0.0000 +v -3.9444 14.0450 3.1421 +v -3.3643 13.3303 2.9127 +v -3.4351 13.3010 2.9740 +v -3.9444 13.2918 0.0000 +v -3.9444 13.2998 3.1441 +v -3.4913 14.0462 3.5952 +v -3.3643 13.3303 0.0000 +v -2.5639 12.1504 0.0000 +v -3.4351 13.2918 0.0000 +v -3.9478 14.9305 3.1422 +v -3.5237 14.9316 3.0740 +v -3.4947 14.9316 3.5954 +v -3.9512 15.9080 2.0774 +v -3.9512 16.4752 1.4274 +v -3.5271 16.4764 1.4274 +v -3.5271 15.9092 2.0092 +v -2.5117 15.9086 3.0742 +v -1.8617 16.4815 3.0742 +v -1.8327 16.4815 3.5954 +v -2.4725 15.9086 3.5953 +v -3.4981 16.4769 3.5955 +v -3.9512 16.4757 3.1424 +v -3.5271 16.4769 3.0742 +v -2.5639 12.1596 -2.3386 +v -3.4913 13.3010 -3.5972 +v -3.5203 14.0462 -3.0738 +v -3.9444 14.0450 -3.1421 +v -3.4351 14.0462 -2.9719 +v -3.3643 13.3303 -2.9127 +v -3.4351 13.3010 -2.9740 +v -3.9444 13.2998 -3.1441 +v -3.4913 14.0462 -3.5952 +v -3.5237 14.9316 -3.0740 +v -3.9478 14.9305 -3.1422 +v -3.4947 14.9316 -3.5953 +v -3.5271 16.4764 -1.4274 +v -3.9512 16.4752 -1.4274 +v -3.9512 15.9080 -2.0774 +v -3.5271 15.9092 -2.0092 +v -1.8327 16.4815 -3.5953 +v -1.8617 16.4815 -3.0742 +v -2.5117 15.9086 -3.0742 +v -2.4725 15.9086 -3.5953 +v -3.9512 16.4757 -3.1424 +v -3.4981 16.4769 -3.5955 +v -3.5271 16.4769 -3.0742 +v 0.1550 14.0277 -3.1544 +v 0.1550 14.0277 -3.5335 +v 0.1550 16.9018 -3.5335 +v 0.1550 16.9018 -3.1544 +v -0.5341 14.0277 -3.5335 +v -0.5341 16.9018 -3.5335 +v -0.5341 14.0277 -3.1544 +v -0.5341 16.9018 -3.1544 +v -3.5170 14.0277 -0.3456 +v -3.8961 14.0277 -0.3456 +v -3.8961 16.9018 -0.3456 +v -3.5170 16.9018 -0.3456 +v -3.8961 14.0277 0.3435 +v -3.8961 16.9018 0.3435 +v -3.5170 14.0277 0.3435 +v -3.5170 16.9018 0.3435 +v -0.3446 14.0277 3.1662 +v -0.3446 14.0277 3.5453 +v -0.3446 16.9018 3.5453 +v -0.3446 16.9018 3.1662 +v 0.3445 14.0277 3.5453 +v 0.3445 16.9018 3.5453 +v 0.3445 14.0277 3.1662 +v 0.3445 16.9018 3.1662 +v 3.5160 14.0277 0.3435 +v 3.8951 14.0277 0.3435 +v 3.8951 16.9018 0.3435 +v 3.5160 16.9018 0.3435 +v 3.8951 14.0277 -0.3456 +v 3.8951 16.9018 -0.3456 +v 3.5160 14.0277 -0.3456 +v 3.5160 16.9018 -0.3456 +v 0.0000 8.6187 2.3766 +v 0.4715 8.6467 2.3766 +v 0.4598 9.7167 2.3896 +v -0.0117 10.0591 2.3896 +v 0.8403 8.5183 2.4160 +v 0.8403 8.5183 2.3077 +v 0.8403 8.6724 2.3077 +v 0.8403 8.6724 2.4160 +v 0.7068 9.8138 2.4290 +v 0.7068 9.8138 2.3207 +v -0.0117 10.3117 2.3207 +v -0.0117 10.3117 2.4290 +v -0.8403 8.6724 2.4160 +v -0.8403 8.6724 2.3077 +v -0.8403 8.5183 2.3077 +v -0.8403 8.5183 2.4160 +v -0.7186 8.5183 2.4160 +v -0.7186 8.5183 2.3077 +v -0.0000 8.4646 2.3077 +v -0.0000 8.4646 2.4160 +v 0.7185 8.5183 2.5347 +v 0.7185 8.6724 2.5347 +v 0.4715 8.6467 2.5347 +v 0.4598 9.7167 2.4290 +v -0.0117 10.0591 2.4290 +v -0.7186 8.6724 2.5347 +v -0.7186 8.5183 2.5347 +v -0.4715 8.6567 2.5347 +v -0.0000 8.4646 2.5347 +v -0.0000 8.6187 2.5347 +v -0.4833 9.7167 2.3896 +v -0.4715 8.6567 2.3766 +v -0.7303 9.8138 2.3207 +v -0.7302 9.8138 2.4290 +v 0.7185 8.5183 2.3077 +v 0.7185 8.5183 2.4160 +v -0.4832 9.7167 2.4290 +v 0.4715 8.6467 2.4160 +v -0.4716 8.6567 2.4160 +v -0.0000 8.6187 2.4160 +v -0.7186 8.6724 2.4160 +v -0.7186 8.6724 2.3077 +v 0.7185 8.6724 2.4160 +v 0.7185 8.6724 2.3077 +v 0.8403 8.5183 2.5347 +v 0.8403 8.6724 2.5347 +v -0.8403 8.6724 2.5347 +v -0.8403 8.5183 2.5347 +v 2.6080 8.6187 -0.0010 +v 2.6080 8.6467 -0.4725 +v 2.6210 9.7167 -0.4608 +v 2.6210 10.0591 0.0107 +v 2.6474 8.5183 -0.8413 +v 2.5392 8.5183 -0.8413 +v 2.5392 8.6724 -0.8413 +v 2.6474 8.6724 -0.8413 +v 2.6604 9.8138 -0.7079 +v 2.5522 9.8138 -0.7078 +v 2.5522 10.3117 0.0107 +v 2.6604 10.3117 0.0107 +v 2.6474 8.6724 0.8393 +v 2.5392 8.6724 0.8393 +v 2.5392 8.5183 0.8393 +v 2.6474 8.5183 0.8393 +v 2.6474 8.5183 0.7175 +v 2.5392 8.5183 0.7175 +v 2.5392 8.4646 -0.0010 +v 2.6474 8.4646 -0.0010 +v 2.7661 8.5183 -0.7195 +v 2.7661 8.6724 -0.7195 +v 2.7661 8.6467 -0.4725 +v 2.6604 9.7167 -0.4609 +v 2.6604 10.0591 0.0107 +v 2.7661 8.6724 0.7175 +v 2.7661 8.5183 0.7175 +v 2.7661 8.6567 0.4705 +v 2.7661 8.4646 -0.0010 +v 2.7661 8.6187 -0.0010 +v 2.6210 9.7167 0.4822 +v 2.6080 8.6567 0.4705 +v 2.5522 9.8138 0.7292 +v 2.6604 9.8138 0.7292 +v 2.5392 8.5183 -0.7196 +v 2.6474 8.5183 -0.7195 +v 2.6604 9.7167 0.4822 +v 2.6474 8.6467 -0.4725 +v 2.6474 8.6567 0.4705 +v 2.6474 8.6187 -0.0010 +v 2.6474 8.6724 0.7175 +v 2.5392 8.6724 0.7175 +v 2.6474 8.6724 -0.7195 +v 2.5392 8.6724 -0.7196 +v 2.7661 8.5183 -0.8413 +v 2.7661 8.6724 -0.8413 +v 2.7661 8.6724 0.8393 +v 2.7661 8.5183 0.8393 +v -2.6159 8.6187 -0.0010 +v -2.6159 8.6467 0.4705 +v -2.6289 9.7167 0.4588 +v -2.6289 10.0591 -0.0127 +v -2.6553 8.5183 0.8393 +v -2.5470 8.5183 0.8393 +v -2.5470 8.6724 0.8393 +v -2.6553 8.6724 0.8393 +v -2.6683 9.8138 0.7058 +v -2.5600 9.8138 0.7058 +v -2.5600 10.3117 -0.0127 +v -2.6683 10.3117 -0.0127 +v -2.6553 8.6724 -0.8413 +v -2.5470 8.6724 -0.8413 +v -2.5470 8.5183 -0.8413 +v -2.6553 8.5183 -0.8413 +v -2.6553 8.5183 -0.7195 +v -2.5470 8.5183 -0.7195 +v -2.5470 8.4646 -0.0010 +v -2.6553 8.4646 -0.0010 +v -2.7740 8.5183 0.7175 +v -2.7740 8.6724 0.7175 +v -2.7740 8.6467 0.4705 +v -2.6683 9.7167 0.4589 +v -2.6683 10.0591 -0.0127 +v -2.7740 8.6724 -0.7195 +v -2.7740 8.5183 -0.7195 +v -2.7740 8.6567 -0.4725 +v -2.7740 8.4646 -0.0010 +v -2.7740 8.6187 -0.0010 +v -2.6289 9.7167 -0.4843 +v -2.6159 8.6567 -0.4725 +v -2.5600 9.8138 -0.7312 +v -2.6683 9.8138 -0.7312 +v -2.5470 8.5183 0.7175 +v -2.6553 8.5183 0.7175 +v -2.6683 9.7167 -0.4842 +v -2.6553 8.6467 0.4705 +v -2.6553 8.6567 -0.4725 +v -2.6553 8.6187 -0.0010 +v -2.6553 8.6724 -0.7195 +v -2.5470 8.6724 -0.7195 +v -2.6553 8.6724 0.7175 +v -2.5470 8.6724 0.7175 +v -2.7740 8.5183 0.8393 +v -2.7740 8.6724 0.8393 +v -2.7740 8.6724 -0.8413 +v -2.7740 8.5183 -0.8413 +v -2.5639 0.0000 -2.3386 +v -2.5639 0.0000 2.3365 +v -2.5639 12.1411 2.3365 +v 2.5639 -0.0000 2.3365 +v 2.5639 12.1411 2.3365 +v 2.5639 -0.0000 -2.3386 +v -3.3222 12.8680 -0.0010 +v -3.3222 12.8680 -2.9994 +v -3.3222 11.9932 -2.9994 +v -3.3222 11.8321 -0.0010 +v -0.0000 12.8680 2.9974 +v -3.3222 12.8680 2.9974 +v -3.3222 11.9932 2.9974 +v -0.0000 11.8320 2.9974 +v 3.3221 12.8680 -0.0010 +v 3.3221 12.8680 2.9974 +v 3.3221 11.9932 2.9974 +v 3.3221 11.8320 -0.0010 +v -0.0000 12.8680 -2.9994 +v 3.3221 12.8680 -2.9994 +v 3.3221 11.9932 -2.9994 +v -0.0000 11.8320 -2.9994 +v -2.5639 11.9932 -2.3386 +v -0.0000 11.8320 -2.3386 +v 2.5639 11.9932 -2.3386 +v 2.5639 11.8321 -0.0010 +v 2.5639 11.9932 2.3365 +v -0.0000 11.8321 2.3365 +v -2.5639 11.9932 2.3365 +v -2.5639 11.8321 -0.0010 +v -2.5639 12.8680 -2.3386 +v -2.5639 12.8680 -0.0010 +v -2.5639 12.8680 2.3365 +v -0.0000 12.8680 2.3365 +v 2.5639 12.8680 2.3365 +v 2.5639 12.8680 -0.0010 +v 2.5639 12.8680 -2.3386 +v -0.0000 12.8680 -2.3386 +v -3.3222 6.6605 -0.0010 +v -3.3222 6.6605 -2.9994 +v -3.3222 5.7858 -2.9994 +v -3.3222 5.6246 -0.0010 +v -0.0000 6.6605 2.9974 +v -3.3222 6.6605 2.9974 +v -3.3222 5.7858 2.9974 +v -0.0000 5.6246 2.9974 +v 3.3221 6.6605 -0.0010 +v 3.3221 6.6605 2.9974 +v 3.3221 5.7858 2.9974 +v 3.3221 5.6246 -0.0010 +v -0.0000 6.6605 -2.9994 +v 3.3221 6.6605 -2.9994 +v 3.3221 5.7858 -2.9994 +v -0.0000 5.6246 -2.9994 +v -2.5639 5.7858 -2.3386 +v -0.0000 5.6246 -2.3386 +v 2.5639 5.7858 -2.3386 +v 2.5639 5.6246 -0.0010 +v 2.5639 5.7858 2.3365 +v -0.0000 5.6246 2.3365 +v -2.5639 5.7858 2.3365 +v -2.5639 5.6246 -0.0010 +v -2.5639 6.6605 -2.3386 +v -2.5639 6.6605 -0.0010 +v -2.5639 6.6605 2.3365 +v -0.0000 6.6605 2.3365 +v 2.5639 6.6605 2.3365 +v 2.5639 6.6605 -0.0010 +v 2.5639 6.6605 -2.3386 +v -0.0000 6.6605 -2.3386 +v -2.6103 9.3882 2.4561 +v -2.6767 9.3882 1.9558 +v -2.9138 6.4859 1.8341 +v -2.9138 6.4859 2.7406 +v -2.9138 12.2904 1.8341 +v -2.9138 12.2904 2.7406 +v -1.9967 6.4859 2.7406 +v -2.0923 9.3882 2.4561 +v -1.9967 11.6821 2.7406 +v -1.9967 6.4859 1.8341 +v -2.1587 9.3882 1.9558 +v -1.9967 11.6821 1.8341 +v -2.6103 9.4353 -2.4582 +v -2.9138 6.5331 -2.7426 +v -2.9138 6.5331 -1.8362 +v -2.6767 9.4353 -1.9578 +v -2.9138 12.3375 -1.8362 +v -2.9138 12.3375 -2.7426 +v -2.0923 9.4353 -2.4581 +v -1.9967 6.5331 -2.7426 +v -1.9967 11.7293 -2.7426 +v -2.1587 9.4353 -1.9578 +v -1.9967 6.5331 -1.8362 +v -1.9967 11.7293 -1.8362 +v -2.6103 2.9022 -2.4582 +v -2.9138 0.0000 -2.7426 +v -2.9138 0.0000 -1.8362 +v -2.6767 2.9022 -1.9578 +v -2.9138 5.8044 -1.8362 +v -2.9138 5.8044 -2.7426 +v -2.0923 2.9022 -2.4581 +v -1.9967 0.0000 -2.7426 +v -1.9967 6.4231 -2.7426 +v -2.1587 2.9022 -1.9578 +v -1.9967 0.0000 -1.8362 +v -1.9967 6.4231 -1.8362 +v 2.6103 9.4517 2.4561 +v 2.9138 6.5495 2.7406 +v 2.9138 6.5495 1.8341 +v 2.6767 9.4517 1.9558 +v 2.9138 12.3539 1.8341 +v 2.9138 12.3539 2.7406 +v 2.0923 9.4517 2.4561 +v 1.9967 6.5495 2.7406 +v 1.9967 11.7456 2.7406 +v 2.1587 9.4517 1.9558 +v 1.9967 6.5495 1.8341 +v 1.9967 11.7456 1.8341 +v 2.6103 2.9022 -2.4581 +v 2.6767 2.9022 -1.9578 +v 2.9138 -0.0000 -1.8362 +v 2.9138 -0.0000 -2.7426 +v 2.9138 5.8044 -1.8362 +v 2.9138 5.8044 -2.7426 +v 1.9967 -0.0000 -2.7426 +v 2.0923 2.9022 -2.4581 +v 1.9967 6.4231 -2.7426 +v 1.9967 -0.0000 -1.8362 +v 2.1587 2.9022 -1.9578 +v 1.9967 6.4231 -1.8362 +v 2.6103 9.4353 -2.4582 +v 2.6767 9.4353 -1.9578 +v 2.9138 6.5331 -1.8362 +v 2.9138 6.5331 -2.7427 +v 2.9138 12.3375 -1.8362 +v 2.9138 12.3375 -2.7427 +v 1.9967 6.5331 -2.7427 +v 2.0923 9.4353 -2.4581 +v 1.9967 11.7293 -2.7427 +v 1.9967 6.5331 -1.8362 +v 2.1587 9.4353 -1.9578 +v 1.9967 11.7293 -1.8362 +v 2.6103 2.9022 2.4561 +v 2.9138 -0.0000 2.7406 +v 2.9138 -0.0000 1.8341 +v 2.6767 2.9022 1.9558 +v 2.9138 5.8044 1.8341 +v 2.9138 5.8044 2.7406 +v 2.0923 2.9022 2.4561 +v 1.9967 -0.0000 2.7406 +v 1.9967 6.4231 2.7406 +v 2.1587 2.9022 1.9558 +v 1.9967 -0.0000 1.8341 +v 1.9967 6.4231 1.8341 +v -2.6103 2.9022 2.4561 +v -2.6767 2.9022 1.9558 +v -2.9138 0.0000 1.8341 +v -2.9138 0.0000 2.7406 +v -2.9138 5.8044 1.8341 +v -2.9138 5.8044 2.7406 +v -1.9967 0.0000 2.7406 +v -2.0923 2.9022 2.4561 +v -1.9967 6.4231 2.7406 +v -1.9967 0.0000 1.8341 +v -2.1587 2.9022 1.9558 +v -1.9967 6.4231 1.8341 +v -1.5453 5.6703 -3.5469 +v -1.5453 7.5835 -3.4309 +v -0.7727 7.5835 -3.4309 +v -0.7727 4.7854 -3.5469 +v -1.5453 9.4968 -3.2987 +v -0.7727 9.4968 -3.2987 +v -1.5453 11.4101 -3.3804 +v -0.7727 11.4101 -3.3804 +v -1.5453 13.3234 -3.5469 +v -0.7727 13.3234 -3.5469 +v -0.0000 7.5835 -3.4309 +v -0.0000 4.2830 -3.5469 +v -0.0000 9.4968 -3.2987 +v -0.0000 11.4101 -3.3804 +v -0.0000 13.3234 -3.5469 +v 0.7726 7.5835 -3.4309 +v 0.7726 4.7854 -3.5469 +v 0.7726 9.4968 -3.2987 +v 0.7726 11.4101 -3.3804 +v 0.7726 13.3234 -3.5469 +v 1.5453 7.5835 -3.4309 +v 1.5453 5.6702 -3.5469 +v 1.5453 9.4968 -3.2987 +v 1.5453 11.4101 -3.3804 +v 1.5453 13.3234 -3.5469 +v 0.0000 23.5750 -0.0000 +v -4.1897 16.4768 -3.9339 +v -4.1897 16.4768 3.9339 +v 4.1897 16.4768 3.9339 +v 4.1897 16.4768 -3.9339 +v -1.2971 3.7738 -2.1572 +v -1.2971 3.7738 -2.6666 +v -1.7173 3.6544 -2.6666 +v -1.7173 3.6544 -2.1572 +v -1.2971 -0.0000 -2.6666 +v -1.2971 3.3171 -2.6666 +v -1.2971 3.3171 -2.4156 +v -1.2971 -0.0000 -2.4156 +v -1.7173 -0.0000 -2.6666 +v -1.7173 3.3171 -2.6666 +v -1.7173 -0.0000 -2.1572 +v -1.7173 3.3171 -2.1572 +v 1.2970 3.7738 -2.6666 +v 1.2970 3.7738 -2.1572 +v 1.7173 3.6544 -2.1572 +v 1.7173 3.6544 -2.6666 +v 1.2970 -0.0000 -2.4156 +v 1.2970 3.3171 -2.4156 +v 1.2970 3.3171 -2.6666 +v 1.2970 -0.0000 -2.6666 +v 1.7173 -0.0000 -2.6666 +v 1.7173 3.3171 -2.6666 +v 1.7173 3.3171 -2.1572 +v 1.7173 -0.0000 -2.1572 +v -0.0000 4.3176 -2.6666 +v -0.0000 4.3176 -2.1572 +v -0.0000 3.7437 -2.6666 +v -0.0000 3.7437 -2.4156 +v -0.0000 -0.0000 -2.4156 +# 518 vertices + +vn 0.0000 -0.7408 0.6718 +vn 0.0016 1.0000 -0.0028 +vn -0.0000 0.9024 0.4309 +vn 0.0000 -0.0028 -1.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.4189 -0.8046 0.4210 +vn 0.7071 0.0020 0.7071 +vn -0.0000 1.0000 -0.0000 +vn 0.0000 0.0028 1.0000 +vn 0.6366 -0.7712 0.0024 +vn 0.4322 0.9018 -0.0014 +vn -1.0000 -0.0000 0.0000 +vn 0.1589 -0.0004 -0.9873 +vn -0.9985 0.0039 -0.0555 +vn 0.7071 -0.0029 0.7071 +vn 0.0524 -0.7346 -0.6765 +vn -0.6635 -0.7469 -0.0434 +vn 0.7071 -0.0016 0.7071 +vn -1.0000 0.0014 -0.0007 +vn 1.0000 -0.0014 0.0007 +vn 0.1062 -0.7327 -0.6723 +vn -0.0001 -0.0001 1.0000 +vn -0.0000 0.0001 -1.0000 +vn -0.6920 -0.7204 -0.0452 +vn 0.0000 -0.7408 -0.6718 +vn 0.0016 1.0000 0.0028 +vn -0.0000 0.9024 -0.4309 +vn 0.0000 -0.0028 1.0000 +vn 0.4189 -0.8046 -0.4210 +vn 0.7071 0.0020 -0.7071 +vn -0.0000 1.0000 0.0000 +vn -0.0000 0.0028 -1.0000 +vn 0.6366 -0.7712 -0.0024 +vn 0.4322 0.9018 0.0014 +vn 0.1589 -0.0004 0.9873 +vn -0.9985 0.0039 0.0555 +vn 0.7071 -0.0029 -0.7071 +vn 0.0524 -0.7346 0.6765 +vn -0.6635 -0.7469 0.0434 +vn 0.7071 -0.0016 -0.7071 +vn -1.0000 0.0014 0.0007 +vn 1.0000 -0.0014 -0.0007 +vn 0.1062 -0.7327 0.6723 +vn -0.0001 -0.0001 -1.0000 +vn -0.0000 0.0001 1.0000 +vn -0.6920 -0.7204 0.0452 +vn -0.0000 -0.7408 0.6718 +vn -0.0016 1.0000 -0.0028 +vn 0.0000 0.9024 0.4309 +vn -0.0000 -0.0028 -1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.4189 -0.8046 0.4210 +vn -0.7071 0.0020 0.7071 +vn 0.0000 1.0000 -0.0000 +vn -0.6366 -0.7712 0.0024 +vn -0.4322 0.9018 -0.0014 +vn -0.4321 0.9018 -0.0014 +vn 1.0000 -0.0000 -0.0000 +vn -0.1589 -0.0004 -0.9873 +vn 0.9985 0.0039 -0.0555 +vn -0.7071 -0.0029 0.7071 +vn -0.0524 -0.7346 -0.6765 +vn 0.6635 -0.7469 -0.0434 +vn -0.7071 -0.0016 0.7071 +vn 1.0000 0.0014 -0.0007 +vn -1.0000 -0.0014 0.0007 +vn -0.1062 -0.7327 -0.6723 +vn 0.0001 -0.0001 1.0000 +vn 0.0000 0.0001 -1.0000 +vn 0.6920 -0.7204 -0.0452 +vn -0.0000 -0.7408 -0.6718 +vn -0.0016 1.0000 0.0028 +vn 0.0000 0.9024 -0.4309 +vn -0.0000 -0.0028 1.0000 +vn -0.4189 -0.8046 -0.4210 +vn -0.7071 0.0020 -0.7071 +vn 0.0000 1.0000 0.0000 +vn -0.6366 -0.7712 -0.0024 +vn -0.4321 0.9018 0.0014 +vn -0.4322 0.9018 0.0014 +vn -0.1589 -0.0004 0.9873 +vn 0.9985 0.0039 0.0555 +vn -0.7071 -0.0029 -0.7071 +vn -0.0524 -0.7346 0.6765 +vn 0.6635 -0.7469 0.0434 +vn -0.7071 -0.0016 -0.7071 +vn 1.0000 0.0014 0.0007 +vn -1.0000 -0.0014 -0.0007 +vn -0.1062 -0.7327 0.6723 +vn 0.0001 -0.0001 -1.0000 +vn 0.0000 0.0001 1.0000 +vn 0.6920 -0.7204 0.0452 +vn -0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.0035 -0.0104 0.9999 +vn 1.0000 -0.0000 -0.0002 +vn 0.5696 0.8219 -0.0001 +vn -0.0745 -0.9972 0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 0.0000 1.0000 +vn 0.0033 -0.0104 0.9999 +vn -0.5696 0.8219 0.0001 +vn 0.0745 -0.9972 0.0000 +vn 0.0000 -0.0000 1.0000 +vn -0.9999 -0.0109 0.0008 +vn -0.5875 -0.8092 0.0009 +vn 0.5875 -0.8092 -0.0008 +vn 0.9999 0.0111 -0.0004 +vn 0.0803 0.9968 0.0001 +vn -0.0593 0.9982 -0.0000 +vn -0.0027 -0.0118 0.9999 +vn -0.9999 -0.0102 0.0001 +vn 0.9999 0.0103 -0.0002 +vn 0.0029 -0.0117 0.9999 +vn 1.0000 -0.0000 0.0001 +vn -0.1034 0.9946 0.0000 +vn -0.0593 0.9982 0.0000 +vn 0.0803 0.9968 -0.0000 +vn 0.0634 0.9980 -0.0000 +vn -1.0000 0.0000 0.0001 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn -0.0001 0.0000 1.0000 +vn 0.9999 -0.0104 0.0035 +vn -0.0001 0.0000 -1.0000 +vn -0.0001 0.8219 -0.5696 +vn -0.0000 -0.9972 0.0745 +vn 1.0000 -0.0000 0.0000 +vn 0.9999 -0.0104 -0.0034 +vn 0.0001 0.8219 0.5696 +vn 0.0000 -0.9972 -0.0745 +vn 0.0008 -0.0109 0.9999 +vn 0.0008 -0.8092 0.5875 +vn -0.0008 -0.8092 -0.5875 +vn -0.0004 0.0111 -0.9999 +vn 0.0000 0.9968 -0.0803 +vn -0.0000 0.9982 0.0593 +vn 0.9999 -0.0118 0.0027 +vn 0.0001 -0.0102 0.9999 +vn -0.0002 0.0103 -0.9999 +vn 0.9999 -0.0117 -0.0029 +vn 0.0001 -0.0000 -1.0000 +vn 0.0000 0.9946 0.1034 +vn 0.0000 0.9982 0.0593 +vn 0.0000 0.9968 -0.0804 +vn 0.0000 0.9980 -0.0634 +vn 0.0001 -0.0000 1.0000 +vn -0.0000 -0.9972 -0.0745 +vn -0.0000 -1.0000 -0.0000 +vn -0.9999 -0.0104 -0.0035 +vn 0.0002 -0.0000 1.0000 +vn -1.0000 0.0000 -0.0000 +vn -0.9999 -0.0104 0.0033 +vn -0.0008 -0.0109 -0.9999 +vn -0.0009 -0.8092 -0.5875 +vn 0.0007 -0.8092 0.5875 +vn 0.0004 0.0111 0.9999 +vn -0.0001 0.9968 0.0803 +vn 0.0000 0.9982 -0.0593 +vn -0.9999 -0.0118 -0.0027 +vn -0.0001 -0.0102 -0.9999 +vn 0.0002 0.0103 0.9999 +vn -0.9999 -0.0117 0.0029 +vn -0.0001 -0.0000 1.0000 +vn 0.0000 0.9946 -0.1034 +vn 0.0000 0.9968 0.0803 +vn 0.0000 0.9980 0.0634 +vn -1.0000 0.0000 -0.0001 +vn 0.0000 -0.0000 -1.0000 +vn -0.0547 -0.9980 0.0314 +vn -0.0263 -0.9978 -0.0603 +vn 0.0547 -0.9980 -0.0314 +vn 0.0263 -0.9978 0.0603 +vn 0.0547 -0.9980 0.0314 +vn -0.0263 -0.9978 0.0603 +vn -0.0547 -0.9980 -0.0314 +vn 0.0263 -0.9978 -0.0603 +vn -0.9945 0.0939 0.0469 +vn -0.9945 -0.0939 0.0469 +vn 0.0000 0.0976 0.9952 +vn -0.0469 -0.1106 0.9928 +vn 0.9980 0.0430 -0.0471 +vn 0.9974 -0.0543 -0.0471 +vn -0.0000 0.0419 -0.9991 +vn -0.0199 -0.0471 -0.9987 +vn -0.9945 0.0939 -0.0469 +vn -0.9945 -0.0939 -0.0469 +vn 0.0000 0.0976 -0.9952 +vn -0.0469 -0.1106 -0.9928 +vn 0.9980 0.0430 0.0471 +vn 0.9974 -0.0543 0.0471 +vn 0.0000 0.0419 0.9991 +vn -0.0199 -0.0471 0.9987 +vn 0.0375 -0.0870 -0.9955 +vn 0.9983 -0.0354 0.0471 +vn 0.0162 -0.0377 0.9992 +vn 0.9945 0.0939 0.0469 +vn 0.9945 -0.0939 0.0469 +vn -0.0000 0.0976 0.9952 +vn 0.0469 -0.1106 0.9928 +vn -0.9980 0.0430 -0.0471 +vn -0.9974 -0.0543 -0.0471 +vn 0.0199 -0.0471 -0.9987 +vn 0.9945 0.0939 -0.0469 +vn 0.9945 -0.0939 -0.0469 +vn -0.0000 0.0976 -0.9952 +vn -0.0375 -0.0870 -0.9955 +vn -0.9980 0.0430 0.0471 +vn -0.9983 -0.0354 0.0471 +vn -0.0162 -0.0377 0.9992 +vn 0.0469 -0.1106 -0.9928 +vn -0.9974 -0.0543 0.0471 +vn 0.0199 -0.0471 0.9987 +vn -0.0375 -0.0870 0.9955 +vn -0.9983 -0.0354 -0.0471 +vn -0.0162 -0.0377 -0.9992 +vn 0.0375 -0.0870 0.9955 +vn 0.9983 -0.0354 -0.0471 +vn 0.0162 -0.0377 -0.9992 +vn 0.0281 0.0492 -0.9984 +vn 0.0141 0.0591 -0.9982 +vn 0.0101 0.0563 -0.9984 +vn 0.0163 0.0408 -0.9990 +vn -0.0000 0.0132 -0.9999 +vn -0.0000 -0.0647 -0.9979 +vn -0.0000 -0.0867 -0.9962 +vn -0.0000 0.0535 -0.9986 +vn -0.0000 0.0380 -0.9993 +vn -0.0101 0.0563 -0.9984 +vn -0.0163 0.0408 -0.9990 +vn -0.0141 0.0591 -0.9982 +vn -0.0281 0.0492 -0.9984 +vn -0.8612 0.5083 0.0000 +vn 0.0000 0.4847 0.8747 +vn 0.8612 0.5083 -0.0000 +vn -0.0000 0.4847 -0.8747 +vn -0.2731 0.9620 0.0000 +vn 0.2731 0.9620 0.0000 +vn 0.3867 0.9222 0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 0.3124 -0.9499 -0.0000 +vn -0.3867 0.9222 0.0000 +vn -0.3124 -0.9499 0.0000 +# 244 vertex normals + +vt 0.4672 0.7287 0.0000 +vt 0.4672 0.6812 0.0000 +vt 0.5381 0.6812 0.0000 +vt 0.5637 0.7287 0.0000 +vt 0.4511 0.6743 0.0000 +vt 0.4498 0.6669 0.0000 +vt 0.5101 0.6669 0.0000 +vt 0.5101 0.6758 0.0000 +vt 0.4531 0.6758 0.0000 +vt 0.6996 0.8663 0.0000 +vt 0.6083 0.8663 0.0000 +vt 0.6083 0.8881 0.0000 +vt 0.6996 0.8881 0.0000 +vt 0.6083 0.9203 0.0000 +vt 0.6996 0.9203 0.0000 +vt 0.6348 0.6259 0.0000 +vt 0.6348 0.6557 0.0000 +vt 0.5033 0.6557 0.0000 +vt 0.5033 0.6259 0.0000 +vt 0.4860 0.7374 0.0000 +vt 0.4587 0.8045 0.0000 +vt 0.4433 0.8046 0.0000 +vt 0.7663 0.6259 0.0000 +vt 0.7905 0.6258 0.0000 +vt 0.7905 0.6557 0.0000 +vt 0.7664 0.6557 0.0000 +vt 0.5578 0.5104 0.0000 +vt 0.6319 0.5104 0.0000 +vt 0.6319 0.6024 0.0000 +vt 0.5578 0.6024 0.0000 +vt 0.4411 0.6748 0.0000 +vt 0.4531 0.7357 0.0000 +vt 0.4411 0.7357 0.0000 +vt 0.5654 0.8042 0.0000 +vt 0.5654 0.7371 0.0000 +vt 0.5169 0.8663 0.0000 +vt 0.5169 0.8881 0.0000 +vt 0.5169 0.9203 0.0000 +vt 0.7344 0.2540 0.0000 +vt 0.7344 0.2807 0.0000 +vt 0.7215 0.2807 0.0000 +vt 0.7215 0.2540 0.0000 +vt 0.7532 0.2524 0.0000 +vt 0.7532 0.2800 0.0000 +vt 0.7370 0.2800 0.0000 +vt 0.7370 0.2524 0.0000 +vt 0.8440 0.5063 0.0000 +vt 0.8440 0.5248 0.0000 +vt 0.8307 0.5248 0.0000 +vt 0.8307 0.5063 0.0000 +vt 0.7344 0.3486 0.0000 +vt 0.7215 0.3486 0.0000 +vt 0.7215 0.3237 0.0000 +vt 0.7344 0.3237 0.0000 +vt 0.7532 0.3506 0.0000 +vt 0.7370 0.3506 0.0000 +vt 0.7370 0.3238 0.0000 +vt 0.7532 0.3238 0.0000 +vt 0.8440 0.5570 0.0000 +vt 0.8307 0.5570 0.0000 +vt 0.8364 0.5997 0.0000 +vt 0.7950 0.5997 0.0000 +vt 0.8096 0.5854 0.0000 +vt 0.8364 0.5608 0.0000 +vt 0.8663 0.5452 0.0000 +vt 0.8798 0.5570 0.0000 +vt 0.8093 0.5451 0.0000 +vt 0.7959 0.5570 0.0000 +vt 0.8620 0.5854 0.0000 +vt 0.8784 0.5997 0.0000 +vt 0.6756 0.2660 0.0000 +vt 0.6505 0.2660 0.0000 +vt 0.6505 0.4622 0.0000 +vt 0.6756 0.4622 0.0000 +vt 0.6058 0.3002 0.0000 +vt 0.6440 0.3002 0.0000 +vt 0.6440 0.4741 0.0000 +vt 0.6058 0.4741 0.0000 +vt 0.6280 0.0055 0.0000 +vt 0.6545 0.0069 0.0000 +vt 0.6548 0.0671 0.0000 +vt 0.6284 0.0865 0.0000 +vt 0.6000 0.2239 0.0000 +vt 0.6163 0.2239 0.0000 +vt 0.6163 0.2472 0.0000 +vt 0.6000 0.2472 0.0000 +vt 0.6822 0.1033 0.0000 +vt 0.6903 0.1033 0.0000 +vt 0.6903 0.1767 0.0000 +vt 0.6822 0.1767 0.0000 +vt 0.5852 0.2472 0.0000 +vt 0.5852 0.2239 0.0000 +vt 0.6098 0.1405 0.0000 +vt 0.6145 0.1405 0.0000 +vt 0.6140 0.1724 0.0000 +vt 0.6093 0.1724 0.0000 +vt 0.6552 0.1246 0.0000 +vt 0.6681 0.1246 0.0000 +vt 0.6659 0.1454 0.0000 +vt 0.6571 0.0825 0.0000 +vt 0.6723 0.0885 0.0000 +vt 0.6279 0.1193 0.0000 +vt 0.6279 0.1037 0.0000 +vt 0.6681 0.2453 0.0000 +vt 0.6552 0.2453 0.0000 +vt 0.6668 0.2246 0.0000 +vt 0.6507 0.1850 0.0000 +vt 0.6636 0.1850 0.0000 +vt 0.6018 0.0674 0.0000 +vt 0.6015 0.0077 0.0000 +vt 0.6903 0.2501 0.0000 +vt 0.6822 0.2501 0.0000 +vt 0.6135 0.2044 0.0000 +vt 0.6089 0.2043 0.0000 +vt 0.5834 0.0885 0.0000 +vt 0.5987 0.0825 0.0000 +vt 0.6955 0.1208 0.0000 +vt 0.6955 0.0105 0.0000 +vt 0.7028 0.0105 0.0000 +vt 0.7028 0.1208 0.0000 +vt 0.7028 0.1808 0.0000 +vt 0.6955 0.1808 0.0000 +vt 0.7028 0.2409 0.0000 +vt 0.6955 0.2409 0.0000 +vt 0.7028 0.3501 0.0000 +vt 0.6955 0.3501 0.0000 +vt 0.6375 0.2580 0.0000 +vt 0.6331 0.2581 0.0000 +vt 0.6322 0.2120 0.0000 +vt 0.6366 0.2119 0.0000 +vt 0.6312 0.1659 0.0000 +vt 0.6356 0.1658 0.0000 +vt 0.5834 0.0179 0.0000 +vt 0.5987 0.0169 0.0000 +vt 0.6903 0.3459 0.0000 +vt 0.6822 0.3459 0.0000 +vt 0.6822 0.0075 0.0000 +vt 0.6903 0.0075 0.0000 +vt 0.6571 0.0163 0.0000 +vt 0.6723 0.0179 0.0000 +vt 0.6242 0.1418 0.0000 +vt 0.6307 0.1417 0.0000 +vt 0.6247 0.1661 0.0000 +vt 0.6256 0.2121 0.0000 +vt 0.6265 0.2583 0.0000 +vt 0.6335 0.2823 0.0000 +vt 0.6270 0.2824 0.0000 +vt 0.6047 0.1405 0.0000 +vt 0.6042 0.1724 0.0000 +vt 0.6038 0.2043 0.0000 +vt 0.6365 0.1297 0.0000 +vt 0.6367 0.1416 0.0000 +vt 0.6305 0.1298 0.0000 +vt 0.6240 0.1300 0.0000 +vt 0.6681 0.1144 0.0000 +vt 0.6552 0.1144 0.0000 +vt 0.6037 0.2097 0.0000 +vt 0.6088 0.2097 0.0000 +vt 0.6135 0.2098 0.0000 +vt 0.6145 0.1351 0.0000 +vt 0.6099 0.1351 0.0000 +vt 0.6048 0.1351 0.0000 +vt 0.6552 0.2555 0.0000 +vt 0.6681 0.2555 0.0000 +vt 0.6272 0.2943 0.0000 +vt 0.6337 0.2942 0.0000 +vt 0.6395 0.2822 0.0000 +vt 0.6397 0.2940 0.0000 +vt 0.1601 0.2593 0.0000 +vt 0.1601 0.0045 0.0000 +vt 0.2454 0.0045 0.0000 +vt 0.2454 0.2590 0.0000 +vt 0.2838 0.5470 0.0000 +vt 0.2838 0.2690 0.0000 +vt 0.1765 0.2690 0.0000 +vt 0.1765 0.5470 0.0000 +vt 0.1150 0.3564 0.0000 +vt 0.1150 0.0538 0.0000 +vt 0.0116 0.0538 0.0000 +vt 0.0116 0.3569 0.0000 +vt 0.0100 0.6667 0.0000 +vt 0.0100 0.3673 0.0000 +vt 0.1291 0.3673 0.0000 +vt 0.1291 0.6667 0.0000 +vt 0.9942 0.1083 0.0000 +vt 0.9942 0.2099 0.0000 +vt 0.9659 0.2099 0.0000 +vt 0.9607 0.1083 0.0000 +vt 0.9942 0.0068 0.0000 +vt 0.9659 0.0068 0.0000 +vt 0.3004 0.5798 0.0000 +vt 0.2911 0.5701 0.0000 +vt 0.2911 0.6124 0.0000 +vt 0.3004 0.6124 0.0000 +vt 0.3004 0.6450 0.0000 +vt 0.2911 0.6547 0.0000 +vt 0.3334 0.6547 0.0000 +vt 0.3334 0.6450 0.0000 +vt 0.3663 0.6450 0.0000 +vt 0.3757 0.6547 0.0000 +vt 0.3757 0.6124 0.0000 +vt 0.3663 0.6124 0.0000 +vt 0.3663 0.5798 0.0000 +vt 0.3757 0.5701 0.0000 +vt 0.3334 0.5701 0.0000 +vt 0.3334 0.5798 0.0000 +vt 0.2876 0.5671 0.0000 +vt 0.2747 0.5537 0.0000 +vt 0.3334 0.5537 0.0000 +vt 0.3334 0.5671 0.0000 +vt 0.3793 0.5671 0.0000 +vt 0.3922 0.5537 0.0000 +vt 0.3922 0.6125 0.0000 +vt 0.3793 0.6125 0.0000 +vt 0.3793 0.6578 0.0000 +vt 0.3922 0.6712 0.0000 +vt 0.3334 0.6712 0.0000 +vt 0.3334 0.6578 0.0000 +vt 0.2876 0.6578 0.0000 +vt 0.2747 0.6712 0.0000 +vt 0.2747 0.6125 0.0000 +vt 0.2876 0.6125 0.0000 +vt 0.9513 0.1060 0.0000 +vt 0.9513 0.0044 0.0000 +vt 0.9230 0.0044 0.0000 +vt 0.9178 0.1060 0.0000 +vt 0.9097 0.1060 0.0000 +vt 0.9097 0.0044 0.0000 +vt 0.8814 0.0044 0.0000 +vt 0.8762 0.1060 0.0000 +vt 0.8814 0.2076 0.0000 +vt 0.9097 0.2076 0.0000 +vt 0.9230 0.2075 0.0000 +vt 0.9513 0.2075 0.0000 +vt 0.8658 0.1132 0.0000 +vt 0.8487 0.1132 0.0000 +vt 0.8445 0.0044 0.0000 +vt 0.8755 0.0044 0.0000 +vt 0.8445 0.2221 0.0000 +vt 0.8755 0.2221 0.0000 +vt 0.7801 0.1104 0.0000 +vt 0.7912 0.0058 0.0000 +vt 0.7576 0.0058 0.0000 +vt 0.7611 0.1104 0.0000 +vt 0.7912 0.2151 0.0000 +vt 0.7576 0.2374 0.0000 +vt 0.7362 0.1124 0.0000 +vt 0.7464 0.0064 0.0000 +vt 0.7139 0.0064 0.0000 +vt 0.7182 0.1124 0.0000 +vt 0.7139 0.2409 0.0000 +vt 0.7464 0.2409 0.0000 +vt 0.8231 0.1080 0.0000 +vt 0.8044 0.1080 0.0000 +vt 0.7986 0.0056 0.0000 +vt 0.8316 0.0056 0.0000 +vt 0.8316 0.2103 0.0000 +vt 0.7986 0.2321 0.0000 +vt 0.3996 0.1076 0.0000 +vt 0.3999 0.1680 0.0000 +vt 0.3755 0.1681 0.0000 +vt 0.3751 0.0799 0.0000 +vt 0.4002 0.2285 0.0000 +vt 0.3758 0.2286 0.0000 +vt 0.4005 0.2888 0.0000 +vt 0.3761 0.2890 0.0000 +vt 0.4008 0.3494 0.0000 +vt 0.3764 0.3495 0.0000 +vt 0.3512 0.1683 0.0000 +vt 0.3507 0.0641 0.0000 +vt 0.3515 0.2287 0.0000 +vt 0.3518 0.2891 0.0000 +vt 0.3521 0.3496 0.0000 +vt 0.3268 0.1684 0.0000 +vt 0.3264 0.0801 0.0000 +vt 0.3271 0.2288 0.0000 +vt 0.3274 0.2892 0.0000 +vt 0.3277 0.3497 0.0000 +vt 0.3025 0.1685 0.0000 +vt 0.3022 0.1081 0.0000 +vt 0.3028 0.2289 0.0000 +vt 0.3031 0.2893 0.0000 +vt 0.3033 0.3498 0.0000 +vt 0.1505 0.9738 0.0000 +vt 0.0042 0.6813 0.0000 +vt 0.2968 0.6813 0.0000 +vt 0.9446 0.3902 0.0000 +vt 0.9268 0.3902 0.0000 +vt 0.9268 0.3744 0.0000 +vt 0.9446 0.3744 0.0000 +vt 0.8974 0.3747 0.0000 +vt 0.8974 0.4922 0.0000 +vt 0.9065 0.4922 0.0000 +vt 0.9065 0.3747 0.0000 +vt 0.9924 0.3882 0.0000 +vt 0.9924 0.5080 0.0000 +vt 0.9766 0.5080 0.0000 +vt 0.9766 0.3882 0.0000 +vt 0.9160 0.3747 0.0000 +vt 0.9160 0.4922 0.0000 +vt 0.9924 0.5202 0.0000 +vt 0.9766 0.5245 0.0000 +vt 0.9160 0.5041 0.0000 +vt 0.8974 0.5041 0.0000 +vt 0.9268 0.4879 0.0000 +vt 0.9446 0.4879 0.0000 +vt 0.9446 0.5038 0.0000 +vt 0.9268 0.5038 0.0000 +vt 0.8789 0.3882 0.0000 +vt 0.8789 0.5080 0.0000 +vt 0.8630 0.5080 0.0000 +vt 0.8630 0.3882 0.0000 +vt 0.8789 0.5245 0.0000 +vt 0.8630 0.5202 0.0000 +vt 0.9268 0.4391 0.0000 +vt 0.9446 0.4391 0.0000 +vt 0.9277 0.5235 0.0000 +vt 0.9277 0.5442 0.0000 +vt 0.9356 0.4391 0.0000 +vt 0.9356 0.3902 0.0000 +vt 0.9356 0.4879 0.0000 +vt 0.4150 0.4926 0.0000 +vt 0.3619 0.5102 0.0000 +vt 0.3617 0.3568 0.0000 +vt 0.4148 0.3567 0.0000 +vt 0.3087 0.4928 0.0000 +vt 0.3085 0.3569 0.0000 +# 327 texture coords + +o turret +g turret +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 4/4/1 1/1/1 +f 5/5/2 6/6/2 7/7/2 +f 5/5/2 7/7/2 8/8/2 +f 5/5/2 8/8/2 9/9/2 +f 10/10/3 11/11/3 12/12/3 +f 12/12/3 13/13/3 10/10/3 +f 12/12/4 14/14/4 9/15/4 +f 9/15/4 13/13/4 12/12/4 +f 15/16/5 7/17/5 6/18/5 +f 6/18/5 16/19/5 15/16/5 +f 3/20/6 16/21/6 4/22/6 +f 4/23/7 16/24/7 6/25/7 +f 6/25/7 17/26/7 4/23/7 +f 10/27/8 18/28/8 19/29/8 +f 19/29/8 11/30/8 10/27/8 +f 17/31/8 5/5/8 9/9/8 +f 17/31/8 9/9/8 14/32/8 +f 17/31/8 14/32/8 20/33/8 +f 4/23/9 17/26/9 20/17/9 +f 20/17/9 1/16/9 4/23/9 +f 15/34/10 16/21/10 3/20/10 +f 3/20/10 21/35/10 15/34/10 +f 10/36/11 13/37/11 22/12/11 +f 22/12/11 18/11/11 10/36/11 +f 13/37/12 9/38/12 8/14/12 +f 8/14/12 22/12/12 13/37/12 +f 5/39/13 23/40/13 24/41/13 +f 24/41/13 6/42/13 5/39/13 +f 17/43/14 25/44/14 23/45/14 +f 23/45/14 5/46/14 17/43/14 +f 6/47/15 24/48/15 25/49/15 +f 25/49/15 17/50/15 6/47/15 +f 26/51/16 27/52/16 28/53/16 +f 28/53/16 29/54/16 26/51/16 +f 30/55/17 31/56/17 32/57/17 +f 32/57/17 33/58/17 30/55/17 +f 34/59/18 35/60/18 25/49/18 +f 25/49/18 24/48/18 34/59/18 +f 36/61/19 26/62/19 29/63/19 +f 29/63/19 23/64/19 36/61/19 +f 28/65/20 27/66/20 34/59/20 +f 34/59/20 24/48/20 28/65/20 +f 24/41/21 23/40/21 29/54/21 +f 29/54/21 28/53/21 24/41/21 +f 33/67/22 25/49/22 35/60/22 +f 35/60/22 30/68/22 33/67/22 +f 32/69/23 31/70/23 36/61/23 +f 36/61/23 23/64/23 32/69/23 +f 23/45/24 25/44/24 33/58/24 +f 33/58/24 32/57/24 23/45/24 +f 37/3/25 38/2/25 39/1/25 +f 39/1/25 40/4/25 37/3/25 +f 41/5/26 42/9/26 8/8/26 +f 41/5/26 8/8/26 7/7/26 +f 41/5/26 7/7/26 43/6/26 +f 44/12/27 45/11/27 46/10/27 +f 46/10/27 47/13/27 44/12/27 +f 42/15/28 48/14/28 44/12/28 +f 44/12/28 47/13/28 42/15/28 +f 43/18/5 7/17/5 15/16/5 +f 15/16/5 49/19/5 43/18/5 +f 37/20/29 40/22/29 49/21/29 +f 40/23/30 50/26/30 43/25/30 +f 43/25/30 49/24/30 40/23/30 +f 19/29/31 18/28/31 46/27/31 +f 46/27/31 45/30/31 19/29/31 +f 50/31/31 51/33/31 48/32/31 +f 50/31/31 48/32/31 42/9/31 +f 50/31/31 42/9/31 41/5/31 +f 51/17/32 50/26/32 40/23/32 +f 40/23/32 39/16/32 51/17/32 +f 15/34/33 21/35/33 37/20/33 +f 37/20/33 49/21/33 15/34/33 +f 22/12/34 47/37/34 46/36/34 +f 46/36/34 18/11/34 22/12/34 +f 8/14/12 42/38/12 47/37/12 +f 47/37/12 22/12/12 8/14/12 +f 52/41/35 53/40/35 41/39/35 +f 41/39/35 43/42/35 52/41/35 +f 53/45/36 54/44/36 50/43/36 +f 50/43/36 41/46/36 53/45/36 +f 54/49/37 52/48/37 43/47/37 +f 43/47/37 50/50/37 54/49/37 +f 55/53/38 56/52/38 57/51/38 +f 57/51/38 58/54/38 55/53/38 +f 59/57/39 60/56/39 61/55/39 +f 61/55/39 62/58/39 59/57/39 +f 54/49/40 63/60/40 64/59/40 +f 64/59/40 52/48/40 54/49/40 +f 58/63/41 57/62/41 65/61/41 +f 65/61/41 53/64/41 58/63/41 +f 55/65/42 52/48/42 64/59/42 +f 64/59/42 56/66/42 55/65/42 +f 52/41/43 55/53/43 58/54/43 +f 58/54/43 53/40/43 52/41/43 +f 63/60/44 54/49/44 62/67/44 +f 62/67/44 61/68/44 63/60/44 +f 59/69/45 53/64/45 65/61/45 +f 65/61/45 60/70/45 59/69/45 +f 53/45/46 59/57/46 62/58/46 +f 62/58/46 54/44/46 53/45/46 +f 66/3/47 2/2/47 1/1/47 +f 1/1/47 67/4/47 66/3/47 +f 68/5/48 69/9/48 70/8/48 +f 68/5/48 70/8/48 71/7/48 +f 68/5/48 71/7/48 72/6/48 +f 12/12/49 11/11/49 73/10/49 +f 73/10/49 74/13/49 12/12/49 +f 69/15/50 14/14/50 12/12/50 +f 12/12/50 74/13/50 69/15/50 +f 72/18/51 71/17/51 75/16/51 +f 75/16/51 76/19/51 72/18/51 +f 66/20/52 67/22/52 76/21/52 +f 67/23/53 77/26/53 72/25/53 +f 72/25/53 76/24/53 67/23/53 +f 19/29/54 78/28/54 73/27/54 +f 73/27/54 11/30/54 19/29/54 +f 77/31/54 20/33/54 14/32/54 +f 77/31/54 14/32/54 69/9/54 +f 77/31/54 69/9/54 68/5/54 +f 20/17/9 77/26/9 67/23/9 +f 67/23/9 1/16/9 20/17/9 +f 75/34/55 79/35/55 66/20/55 +f 66/20/55 76/21/55 75/34/55 +f 80/12/56 74/37/57 73/36/57 +f 73/36/57 78/11/56 80/12/56 +f 70/14/58 69/38/58 74/37/58 +f 74/37/58 80/12/58 70/14/58 +f 81/41/59 82/40/59 68/39/59 +f 68/39/59 72/42/59 81/41/59 +f 82/45/60 83/44/60 77/43/60 +f 77/43/60 68/46/60 82/45/60 +f 83/49/61 81/48/61 72/47/61 +f 72/47/61 77/50/61 83/49/61 +f 84/53/62 85/52/62 86/51/62 +f 86/51/62 87/54/62 84/53/62 +f 88/57/63 89/56/63 90/55/63 +f 90/55/63 91/58/63 88/57/63 +f 83/49/64 92/60/64 93/59/64 +f 93/59/64 81/48/64 83/49/64 +f 87/63/65 86/62/65 94/61/65 +f 94/61/65 82/64/65 87/63/65 +f 84/65/66 81/48/66 93/59/66 +f 93/59/66 85/66/66 84/65/66 +f 81/41/67 84/53/67 87/54/67 +f 87/54/67 82/40/67 81/41/67 +f 92/60/68 83/49/68 91/67/68 +f 91/67/68 90/68/68 92/60/68 +f 88/69/69 82/64/69 94/61/69 +f 94/61/69 89/70/69 88/69/69 +f 82/45/70 88/57/70 91/58/70 +f 91/58/70 83/44/70 82/45/70 +f 39/1/71 38/2/71 95/3/71 +f 95/3/71 96/4/71 39/1/71 +f 97/5/72 98/6/72 71/7/72 +f 97/5/72 71/7/72 70/8/72 +f 97/5/72 70/8/72 99/9/72 +f 100/10/73 45/11/73 44/12/73 +f 44/12/73 101/13/73 100/10/73 +f 44/12/74 48/14/74 99/15/74 +f 99/15/74 101/13/74 44/12/74 +f 75/16/51 71/17/51 98/18/51 +f 98/18/51 102/19/51 75/16/51 +f 95/20/75 102/21/75 96/22/75 +f 96/23/76 102/24/76 98/25/76 +f 98/25/76 103/26/76 96/23/76 +f 100/27/77 78/28/77 19/29/77 +f 19/29/77 45/30/77 100/27/77 +f 103/31/77 97/5/77 99/9/77 +f 103/31/77 99/9/77 48/32/77 +f 103/31/77 48/32/77 51/33/77 +f 96/23/32 103/26/32 51/17/32 +f 51/17/32 39/16/32 96/23/32 +f 75/34/78 102/21/78 95/20/78 +f 95/20/78 79/35/78 75/34/78 +f 100/36/79 101/37/79 80/12/80 +f 80/12/80 78/11/80 100/36/79 +f 101/37/58 99/38/58 70/14/58 +f 70/14/58 80/12/58 101/37/58 +f 97/39/81 104/40/81 105/41/81 +f 105/41/81 98/42/81 97/39/81 +f 103/43/82 106/44/82 104/45/82 +f 104/45/82 97/46/82 103/43/82 +f 98/47/83 105/48/83 106/49/83 +f 106/49/83 103/50/83 98/47/83 +f 107/51/84 108/52/84 109/53/84 +f 109/53/84 110/54/84 107/51/84 +f 111/55/85 112/56/85 113/57/85 +f 113/57/85 114/58/85 111/55/85 +f 115/59/86 116/60/86 106/49/86 +f 106/49/86 105/48/86 115/59/86 +f 117/61/87 107/62/87 110/63/87 +f 110/63/87 104/64/87 117/61/87 +f 109/65/88 108/66/88 115/59/88 +f 115/59/88 105/48/88 109/65/88 +f 105/41/89 104/40/89 110/54/89 +f 110/54/89 109/53/89 105/41/89 +f 114/67/90 106/49/90 116/60/90 +f 116/60/90 111/68/90 114/67/90 +f 113/69/91 112/70/91 117/61/91 +f 117/61/91 104/64/91 113/69/91 +f 104/45/92 106/44/92 114/58/92 +f 114/58/92 113/57/92 104/45/92 +f 118/71/58 119/72/58 120/73/58 +f 120/73/58 121/74/58 118/71/58 +f 119/75/93 122/76/93 123/77/93 +f 123/77/93 120/78/93 119/75/93 +f 122/72/51 124/71/51 125/74/51 +f 125/74/51 123/73/51 122/72/51 +f 126/71/93 127/72/93 128/73/93 +f 128/73/93 129/74/93 126/71/93 +f 127/75/51 130/76/51 131/77/51 +f 131/77/51 128/78/51 127/75/51 +f 130/72/94 132/71/94 133/74/94 +f 133/74/94 131/73/94 130/72/94 +f 134/71/51 135/72/51 136/73/51 +f 136/73/51 137/74/51 134/71/51 +f 135/75/94 138/76/94 139/77/94 +f 139/77/94 136/78/94 135/75/94 +f 138/72/58 140/71/58 141/74/58 +f 141/74/58 139/73/58 138/72/58 +f 142/71/94 143/72/94 144/73/94 +f 144/73/94 145/74/94 142/71/94 +f 143/75/58 146/76/58 147/77/58 +f 147/77/58 144/78/58 143/75/58 +f 146/72/93 148/71/93 149/74/93 +f 149/74/93 147/73/93 146/72/93 +f 150/79/95 151/80/95 152/81/95 +f 152/81/95 153/82/95 150/79/95 +f 154/83/96 155/84/96 156/85/96 +f 156/85/96 157/86/96 154/83/96 +f 158/87/97 159/88/97 160/89/97 +f 160/89/97 161/90/97 158/87/97 +f 162/86/51 163/91/51 164/92/51 +f 164/92/51 165/83/51 162/86/51 +f 166/93/98 167/94/98 168/95/98 +f 168/95/98 169/96/98 166/93/98 +f 170/97/99 171/98/99 172/99/99 +f 173/100/99 158/101/99 161/102/99 +f 161/102/99 174/103/99 173/100/99 +f 175/104/100 176/105/100 177/106/100 +f 177/106/99 176/105/99 178/107/99 +f 178/107/99 179/108/99 177/106/99 +f 150/79/101 153/82/101 180/109/101 +f 180/109/101 181/110/101 150/79/101 +f 161/90/102 160/89/102 182/111/102 +f 182/111/102 183/112/102 161/90/102 +f 169/96/103 168/95/103 184/113/103 +f 184/113/103 185/114/103 169/96/103 +f 174/103/100 161/102/100 183/115/100 +f 183/115/100 186/116/100 174/103/100 +f 172/99/104 179/108/104 178/107/104 +f 178/107/104 170/97/104 172/99/104 +f 152/117/105 151/118/105 187/119/105 +f 187/119/105 173/120/105 152/117/105 +f 152/117/106 173/120/106 174/121/106 +f 174/121/106 153/122/106 152/117/106 +f 153/122/107 174/121/107 186/123/107 +f 186/123/107 180/124/107 153/122/107 +f 180/124/108 186/123/108 188/125/108 +f 188/125/108 181/126/108 180/124/108 +f 181/127/109 188/128/109 189/129/109 +f 189/129/109 150/130/109 181/127/109 +f 150/130/110 189/129/110 187/131/110 +f 187/131/110 151/132/110 150/130/110 +f 190/133/111 188/134/111 186/116/111 +f 186/116/111 183/115/111 190/133/111 +f 182/111/112 191/135/112 190/136/112 +f 190/136/112 183/112/112 182/111/112 +f 192/137/113 193/138/113 159/88/113 +f 159/88/113 158/87/113 192/137/113 +f 173/100/114 187/139/114 192/140/114 +f 192/140/114 158/101/114 173/100/114 +f 194/92/115 154/83/115 157/86/115 +f 157/86/115 195/91/115 194/92/115 +f 171/141/116 192/142/116 187/131/116 +f 187/131/116 172/143/116 171/141/116 +f 172/143/117 187/131/117 189/129/117 +f 189/129/117 179/144/117 172/143/117 +f 179/144/118 189/129/118 188/128/118 +f 188/128/118 177/145/118 179/144/118 +f 177/145/119 188/128/119 190/146/119 +f 190/146/119 175/147/119 177/145/119 +f 196/85/120 162/86/120 165/83/120 +f 165/83/120 197/84/120 196/85/120 +f 176/148/98 166/93/98 169/96/98 +f 169/96/98 178/149/98 176/148/98 +f 178/149/103 169/96/103 185/114/103 +f 185/114/103 170/150/103 178/149/103 +f 156/151/54 193/152/54 192/142/54 +f 192/142/54 157/153/54 156/151/54 +f 157/153/8 192/142/8 171/141/8 +f 171/141/8 195/154/8 157/153/8 +f 195/155/104 171/98/104 170/97/104 +f 170/97/104 194/156/104 195/155/104 +f 194/157/121 170/150/121 185/114/121 +f 185/114/121 154/158/121 194/157/121 +f 154/158/121 185/114/121 184/113/121 +f 184/113/121 155/159/121 154/158/121 +f 164/160/122 167/94/122 166/93/122 +f 166/93/122 165/161/122 164/160/122 +f 165/161/123 166/93/123 176/148/123 +f 176/148/123 197/162/123 165/161/123 +f 197/163/124 176/105/124 175/104/124 +f 175/104/124 196/164/124 197/163/124 +f 196/165/54 175/147/54 190/146/54 +f 190/146/54 162/166/54 196/165/54 +f 162/166/54 190/146/54 191/167/54 +f 191/167/54 163/168/54 162/166/54 +f 198/79/125 199/80/125 200/81/125 +f 200/81/125 201/82/125 198/79/125 +f 202/83/126 203/84/126 204/85/126 +f 204/85/126 205/86/126 202/83/126 +f 206/87/127 207/88/127 208/89/127 +f 208/89/127 209/90/127 206/87/127 +f 210/86/104 211/91/104 212/92/104 +f 212/92/104 213/83/104 210/86/104 +f 214/93/128 215/94/128 216/95/128 +f 216/95/128 217/96/128 214/93/128 +f 218/97/58 219/98/58 220/99/58 +f 221/100/129 206/101/129 209/102/129 +f 209/102/129 222/103/129 221/100/129 +f 223/104/129 224/105/129 225/106/129 +f 225/106/58 224/105/58 226/107/58 +f 226/107/58 227/108/58 225/106/58 +f 198/79/130 201/82/130 228/109/130 +f 228/109/130 229/110/130 198/79/130 +f 209/90/131 208/89/131 230/111/131 +f 230/111/131 231/112/131 209/90/131 +f 217/96/132 216/95/132 232/113/132 +f 232/113/132 233/114/132 217/96/132 +f 222/103/58 209/102/58 231/115/58 +f 231/115/58 234/116/58 222/103/58 +f 220/99/5 227/108/5 226/107/5 +f 226/107/5 218/97/5 220/99/5 +f 200/117/133 199/118/133 235/119/133 +f 235/119/133 221/120/133 200/117/133 +f 200/117/134 221/120/134 222/121/134 +f 222/121/134 201/122/134 200/117/134 +f 201/122/135 222/121/135 234/123/135 +f 234/123/135 228/124/135 201/122/135 +f 228/124/136 234/123/136 236/125/136 +f 236/125/136 229/126/136 228/124/136 +f 229/127/137 236/128/137 237/129/137 +f 237/129/137 198/130/137 229/127/137 +f 198/130/138 237/129/138 235/131/138 +f 235/131/138 199/132/138 198/130/138 +f 238/133/139 236/134/139 234/116/139 +f 234/116/139 231/115/139 238/133/139 +f 230/111/140 239/135/140 238/136/140 +f 238/136/140 231/112/140 230/111/140 +f 240/137/141 241/138/141 207/88/141 +f 207/88/141 206/87/141 240/137/141 +f 221/100/142 235/139/142 240/140/142 +f 240/140/142 206/101/142 221/100/142 +f 242/92/143 202/83/143 205/86/143 +f 205/86/143 243/91/143 242/92/143 +f 219/141/144 240/142/144 235/131/144 +f 235/131/144 220/143/144 219/141/144 +f 220/143/145 235/131/145 237/129/145 +f 237/129/145 227/144/145 220/143/145 +f 227/144/146 237/129/146 236/128/146 +f 236/128/146 225/145/146 227/144/146 +f 225/145/147 236/128/147 238/146/147 +f 238/146/147 223/147/147 225/145/147 +f 244/85/148 210/86/148 213/83/148 +f 213/83/148 245/84/148 244/85/148 +f 224/148/128 214/93/128 217/96/128 +f 217/96/128 226/149/128 224/148/128 +f 226/149/149 217/96/149 233/114/149 +f 233/114/149 218/150/149 226/149/149 +f 204/151/8 241/152/8 240/142/8 +f 240/142/8 205/153/8 204/151/8 +f 205/153/8 240/142/8 219/141/8 +f 219/141/8 243/154/8 205/153/8 +f 243/155/58 219/98/58 218/97/58 +f 218/97/58 242/156/58 243/155/58 +f 242/157/121 218/150/121 233/114/121 +f 233/114/121 202/158/121 242/157/121 +f 202/158/122 233/114/122 232/113/122 +f 232/113/122 203/159/122 202/158/122 +f 212/160/121 215/94/121 214/93/121 +f 214/93/121 213/161/121 212/160/121 +f 213/161/150 214/93/150 224/148/150 +f 224/148/150 245/162/150 213/161/150 +f 245/163/115 224/105/115 223/104/115 +f 223/104/115 244/164/115 245/163/115 +f 244/165/54 223/147/54 238/146/54 +f 238/146/54 210/166/54 244/165/54 +f 210/166/54 238/146/54 239/167/54 +f 239/167/54 211/168/54 210/166/54 +f 246/79/151 247/80/151 248/81/151 +f 248/81/151 249/82/151 246/79/151 +f 250/83/152 251/84/152 252/85/152 +f 252/85/152 253/86/152 250/83/152 +f 254/87/131 255/88/131 256/89/131 +f 256/89/131 257/90/131 254/87/131 +f 258/86/93 259/91/93 260/92/93 +f 260/92/93 261/83/93 258/86/93 +f 262/93/149 263/94/149 264/95/149 +f 264/95/149 265/96/149 262/93/149 +f 266/97/51 267/98/51 268/99/51 +f 269/100/12 254/101/12 257/102/12 +f 257/102/12 270/103/12 269/100/12 +f 271/104/153 272/105/153 273/106/153 +f 273/106/12 272/105/12 274/107/12 +f 274/107/12 275/108/12 273/106/12 +f 246/79/154 249/82/154 276/109/154 +f 276/109/154 277/110/154 246/79/154 +f 257/90/127 256/89/127 278/111/127 +f 278/111/127 279/112/127 257/90/127 +f 265/96/128 264/95/128 280/113/128 +f 280/113/128 281/114/128 265/96/128 +f 270/103/12 257/102/12 279/115/12 +f 279/115/12 282/116/12 270/103/12 +f 268/99/51 275/108/51 274/107/51 +f 274/107/51 266/97/51 268/99/51 +f 248/117/155 247/118/155 283/119/155 +f 283/119/155 269/120/155 248/117/155 +f 248/117/156 269/120/156 270/121/156 +f 270/121/156 249/122/156 248/117/156 +f 249/122/157 270/121/157 282/123/157 +f 282/123/157 276/124/157 249/122/157 +f 276/124/158 282/123/158 284/125/158 +f 284/125/158 277/126/158 276/124/158 +f 277/127/159 284/128/159 285/129/159 +f 285/129/159 246/130/159 277/127/159 +f 246/130/160 285/129/160 283/131/160 +f 283/131/160 247/132/160 246/130/160 +f 286/133/161 284/134/161 282/116/161 +f 282/116/161 279/115/161 286/133/161 +f 278/111/162 287/135/162 286/136/162 +f 286/136/162 279/112/162 278/111/162 +f 288/137/163 289/138/163 255/88/163 +f 255/88/163 254/87/163 288/137/163 +f 269/100/164 283/139/164 288/140/164 +f 288/140/164 254/101/164 269/100/164 +f 290/92/165 250/83/165 253/86/165 +f 253/86/165 291/91/165 290/92/165 +f 267/141/166 288/142/166 283/131/166 +f 283/131/166 268/143/166 267/141/166 +f 268/143/160 283/131/160 285/129/160 +f 285/129/160 275/144/160 268/143/160 +f 275/144/167 285/129/167 284/128/167 +f 284/128/167 273/145/167 275/144/167 +f 273/145/168 284/128/168 286/146/168 +f 286/146/168 271/147/168 273/145/168 +f 292/85/126 258/86/126 261/83/126 +f 261/83/126 293/84/126 292/85/126 +f 272/148/149 262/93/149 265/96/149 +f 265/96/149 274/149/149 272/148/149 +f 274/149/128 265/96/128 281/114/128 +f 281/114/128 266/150/128 274/149/128 +f 252/151/54 289/152/54 288/142/54 +f 288/142/54 253/153/54 252/151/54 +f 253/153/54 288/142/54 267/141/54 +f 267/141/54 291/154/54 253/153/54 +f 291/155/51 267/98/51 266/97/51 +f 266/97/51 290/156/51 291/155/51 +f 290/157/123 266/150/123 281/114/123 +f 281/114/123 250/158/123 290/157/123 +f 250/158/121 281/114/121 280/113/121 +f 280/113/121 251/159/121 250/158/121 +f 260/160/121 263/94/121 262/93/121 +f 262/93/121 261/161/121 260/160/121 +f 261/161/121 262/93/121 272/148/121 +f 272/148/121 293/162/121 261/161/121 +f 293/163/169 272/105/169 271/104/169 +f 271/104/169 292/164/169 293/163/169 +f 292/165/54 271/147/54 286/146/54 +f 286/146/54 258/166/54 292/165/54 +f 258/166/54 286/146/54 287/167/54 +f 287/167/54 259/168/54 258/166/54 +f 95/169/51 294/170/51 295/171/51 +f 295/171/51 296/172/51 95/169/51 +f 296/173/94 295/174/94 297/175/94 +f 297/175/94 298/176/94 296/173/94 +f 298/177/58 297/178/58 299/179/58 +f 299/179/58 37/180/58 298/177/58 +f 37/181/170 299/182/170 294/183/170 +f 294/183/170 95/184/170 37/181/170 +f 300/185/51 301/186/51 302/187/51 +f 302/187/51 303/188/51 300/185/51 +f 304/185/100 305/189/100 306/190/100 +f 306/190/100 307/188/100 304/185/100 +f 308/185/58 309/189/58 310/190/58 +f 310/190/58 311/188/58 308/185/58 +f 312/185/93 313/186/93 314/187/93 +f 314/187/93 315/188/93 312/185/93 +f 316/191/171 302/192/171 315/193/171 +f 315/193/171 317/194/171 316/191/171 +f 318/195/172 314/196/172 311/197/172 +f 311/197/172 319/198/172 318/195/172 +f 320/199/173 310/200/173 307/201/173 +f 307/201/173 321/202/173 320/199/173 +f 322/203/174 306/204/174 303/205/174 +f 303/205/174 323/206/174 322/203/174 +f 324/207/54 301/208/54 300/209/54 +f 300/209/54 325/210/54 324/207/54 +f 326/211/8 305/212/8 304/213/8 +f 304/213/8 327/214/8 326/211/8 +f 328/215/77 309/216/77 308/217/77 +f 308/217/77 329/218/77 328/215/77 +f 330/219/77 313/220/77 312/221/77 +f 312/221/77 331/222/77 330/219/77 +f 308/185/58 311/188/58 314/187/58 +f 314/187/58 313/186/58 308/185/58 +f 312/185/93 315/188/93 302/190/93 +f 302/190/93 301/189/93 312/185/93 +f 318/195/175 317/194/175 315/193/175 +f 315/193/175 314/196/175 318/195/175 +f 320/199/176 319/198/176 311/197/176 +f 311/197/176 310/200/176 320/199/176 +f 322/203/177 321/202/177 307/201/177 +f 307/201/177 306/204/177 322/203/177 +f 330/219/54 329/218/54 308/217/54 +f 308/217/54 313/220/54 330/219/54 +f 324/207/31 331/222/31 312/221/31 +f 312/221/31 301/208/31 324/207/31 +f 300/185/51 303/188/51 306/190/51 +f 306/190/51 305/189/51 300/185/51 +f 304/185/94 307/188/94 310/187/94 +f 310/187/94 309/186/94 304/185/94 +f 316/191/178 323/206/178 303/205/178 +f 303/205/178 302/192/178 316/191/178 +f 326/211/77 325/210/77 300/209/77 +f 300/209/77 305/212/77 326/211/77 +f 328/215/77 327/214/77 304/213/77 +f 304/213/77 309/216/77 328/215/77 +f 332/185/51 333/186/51 334/187/51 +f 334/187/51 335/188/51 332/185/51 +f 336/223/94 337/224/94 338/225/94 +f 338/225/94 339/226/94 336/223/94 +f 340/227/58 341/228/58 342/229/58 +f 342/229/58 343/230/58 340/227/58 +f 344/185/93 345/186/93 346/187/93 +f 346/187/93 347/188/93 344/185/93 +f 348/191/171 334/192/171 347/193/171 +f 347/193/171 349/194/171 348/191/171 +f 350/195/172 346/196/172 343/197/172 +f 343/197/172 351/198/172 350/195/172 +f 352/199/173 342/200/173 339/201/173 +f 339/201/173 353/202/173 352/199/173 +f 354/203/174 338/204/174 335/205/174 +f 335/205/174 355/206/174 354/203/174 +f 356/207/54 333/208/54 332/209/54 +f 332/209/54 357/210/54 356/207/54 +f 358/211/8 337/212/8 336/213/8 +f 336/213/8 359/214/8 358/211/8 +f 360/215/54 341/216/54 340/217/54 +f 340/217/54 361/218/54 360/215/54 +f 362/219/77 345/220/77 344/221/77 +f 344/221/77 363/222/77 362/219/77 +f 340/227/58 343/230/58 346/231/58 +f 346/231/58 345/232/58 340/227/58 +f 344/185/93 347/188/93 334/190/93 +f 334/190/93 333/189/93 344/185/93 +f 350/195/175 349/194/175 347/193/175 +f 347/193/175 346/196/175 350/195/175 +f 352/199/176 351/198/176 343/197/176 +f 343/197/176 342/200/176 352/199/176 +f 354/203/177 353/202/177 339/201/177 +f 339/201/177 338/204/177 354/203/177 +f 362/219/54 361/218/54 340/217/54 +f 340/217/54 345/220/54 362/219/54 +f 356/207/31 363/222/31 344/221/31 +f 344/221/31 333/208/31 356/207/31 +f 332/185/51 335/188/51 338/190/51 +f 338/190/51 337/189/51 332/185/51 +f 336/223/94 339/226/94 342/233/94 +f 342/233/94 341/234/94 336/223/94 +f 348/191/178 355/206/178 335/205/178 +f 335/205/178 334/192/178 348/191/178 +f 358/211/77 357/210/77 332/209/77 +f 332/209/77 337/212/77 358/211/77 +f 360/215/54 359/214/54 336/213/54 +f 336/213/54 341/216/54 360/215/54 +f 364/235/179 365/236/179 366/237/179 +f 366/237/179 367/238/179 364/235/179 +f 368/239/180 365/236/180 364/235/180 +f 364/235/180 369/240/180 368/239/180 +f 364/241/181 367/242/181 370/243/181 +f 370/243/181 371/244/181 364/241/181 +f 369/245/182 364/241/182 371/244/182 +f 371/244/182 372/246/182 369/245/182 +f 371/247/183 370/248/183 373/249/183 +f 373/249/183 374/250/183 371/247/183 +f 375/251/184 372/252/184 371/247/184 +f 371/247/184 374/250/184 375/251/184 +f 365/253/185 374/254/185 373/255/185 +f 373/255/185 366/256/185 365/253/185 +f 368/257/186 375/258/186 374/254/186 +f 374/254/186 365/253/186 368/257/186 +f 376/235/187 377/238/187 378/237/187 +f 378/237/187 379/236/187 376/235/187 +f 380/239/188 381/240/188 376/235/188 +f 376/235/188 379/236/188 380/239/188 +f 376/241/189 382/244/189 383/243/189 +f 383/243/189 377/242/189 376/241/189 +f 381/245/190 384/246/190 382/244/190 +f 382/244/190 376/241/190 381/245/190 +f 382/247/191 385/250/191 386/249/191 +f 386/249/191 383/248/191 382/247/191 +f 387/251/192 385/250/192 382/247/192 +f 382/247/192 384/252/192 387/251/192 +f 379/253/193 378/256/193 386/255/193 +f 386/255/193 385/254/193 379/253/193 +f 380/257/194 379/253/194 385/254/194 +f 385/254/194 387/258/194 380/257/194 +f 388/235/187 389/238/187 390/237/187 +f 390/237/187 391/236/187 388/235/187 +f 392/239/188 393/240/188 388/235/188 +f 388/235/188 391/236/188 392/239/188 +f 388/241/189 394/244/189 395/243/189 +f 395/243/189 389/242/189 388/241/189 +f 393/245/195 396/246/195 394/244/195 +f 394/244/195 388/241/195 393/245/195 +f 394/247/191 397/250/191 398/249/191 +f 398/249/191 395/248/191 394/247/191 +f 399/251/196 397/250/196 394/247/196 +f 394/247/196 396/252/196 399/251/196 +f 391/253/193 390/256/193 398/255/193 +f 398/255/193 397/254/193 391/253/193 +f 392/257/197 391/253/197 397/254/197 +f 397/254/197 399/258/197 392/257/197 +f 400/235/198 401/238/198 402/237/198 +f 402/237/198 403/236/198 400/235/198 +f 404/239/199 405/240/199 400/235/199 +f 400/235/199 403/236/199 404/239/199 +f 400/241/200 406/244/200 407/243/200 +f 407/243/200 401/242/200 400/241/200 +f 405/245/201 408/246/201 406/244/201 +f 406/244/201 400/241/201 405/245/201 +f 406/247/202 409/250/202 410/249/202 +f 410/249/202 407/248/202 406/247/202 +f 411/251/203 409/250/203 406/247/203 +f 406/247/203 408/252/203 411/251/203 +f 403/253/185 402/256/185 410/255/185 +f 410/255/185 409/254/185 403/253/185 +f 404/257/204 403/253/204 409/254/204 +f 409/254/204 411/258/204 404/257/204 +f 412/235/205 413/236/205 414/237/205 +f 414/237/205 415/238/205 412/235/205 +f 416/239/206 413/236/206 412/235/206 +f 412/235/206 417/240/206 416/239/206 +f 412/241/207 415/242/207 418/243/207 +f 418/243/207 419/244/207 412/241/207 +f 417/245/208 412/241/208 419/244/208 +f 419/244/208 420/246/208 417/245/208 +f 419/247/209 418/248/209 421/249/209 +f 421/249/209 422/250/209 419/247/209 +f 423/251/210 420/252/210 419/247/210 +f 419/247/210 422/250/210 423/251/210 +f 413/253/193 422/254/193 421/255/193 +f 421/255/193 414/256/193 413/253/193 +f 416/257/211 423/258/211 422/254/211 +f 422/254/211 413/253/211 416/257/211 +f 424/235/205 425/236/205 426/237/205 +f 426/237/205 427/238/205 424/235/205 +f 428/239/206 425/236/206 424/235/206 +f 424/235/206 429/240/206 428/239/206 +f 424/241/207 427/242/207 430/243/207 +f 430/243/207 431/244/207 424/241/207 +f 429/245/212 424/241/212 431/244/212 +f 431/244/212 432/246/212 429/245/212 +f 431/247/209 430/248/209 433/249/209 +f 433/249/209 434/250/209 431/247/209 +f 435/251/213 432/252/213 431/247/213 +f 431/247/213 434/250/213 435/251/213 +f 425/253/193 434/254/193 433/255/193 +f 433/255/193 426/256/193 425/253/193 +f 428/257/214 435/258/214 434/254/214 +f 434/254/214 425/253/214 428/257/214 +f 436/235/198 437/238/198 438/237/198 +f 438/237/198 439/236/198 436/235/198 +f 440/239/199 441/240/199 436/235/199 +f 436/235/199 439/236/199 440/239/199 +f 436/241/200 442/244/200 443/243/200 +f 443/243/200 437/242/200 436/241/200 +f 441/245/215 444/246/215 442/244/215 +f 442/244/215 436/241/215 441/245/215 +f 442/247/202 445/250/202 446/249/202 +f 446/249/202 443/248/202 442/247/202 +f 447/251/216 445/250/216 442/247/216 +f 442/247/216 444/252/216 447/251/216 +f 439/253/185 438/256/185 446/255/185 +f 446/255/185 445/254/185 439/253/185 +f 440/257/217 439/253/217 445/254/217 +f 445/254/217 447/258/217 440/257/217 +f 448/235/179 449/236/179 450/237/179 +f 450/237/179 451/238/179 448/235/179 +f 452/239/180 449/236/180 448/235/180 +f 448/235/180 453/240/180 452/239/180 +f 448/241/181 451/242/181 454/243/181 +f 454/243/181 455/244/181 448/241/181 +f 453/245/218 448/241/218 455/244/218 +f 455/244/218 456/246/218 453/245/218 +f 455/247/183 454/248/183 457/249/183 +f 457/249/183 458/250/183 455/247/183 +f 459/251/219 456/252/219 455/247/219 +f 455/247/219 458/250/219 459/251/219 +f 449/253/185 458/254/185 457/255/185 +f 457/255/185 450/256/185 449/253/185 +f 452/257/220 459/258/220 458/254/220 +f 458/254/220 449/253/220 452/257/220 +f 460/259/221 461/260/222 462/261/223 +f 462/261/223 463/262/224 460/259/221 +f 461/260/222 464/263/225 465/264/225 +f 465/264/225 462/261/223 461/260/222 +f 464/263/225 466/265/226 467/266/226 +f 467/266/226 465/264/225 464/263/225 +f 466/265/226 468/267/227 469/268/227 +f 469/268/227 467/266/226 466/265/226 +f 463/262/224 462/261/223 470/269/228 +f 470/269/228 471/270/229 463/262/224 +f 462/261/223 465/264/225 472/271/225 +f 472/271/225 470/269/228 462/261/223 +f 465/264/225 467/266/226 473/272/226 +f 473/272/226 472/271/225 465/264/225 +f 467/266/226 469/268/227 474/273/227 +f 474/273/227 473/272/226 467/266/226 +f 471/270/229 470/269/228 475/274/230 +f 475/274/230 476/275/231 471/270/229 +f 470/269/228 472/271/225 477/276/225 +f 477/276/225 475/274/230 470/269/228 +f 472/271/225 473/272/226 478/277/226 +f 478/277/226 477/276/225 472/271/225 +f 473/272/226 474/273/227 479/278/227 +f 479/278/227 478/277/226 473/272/226 +f 476/275/231 475/274/230 480/279/232 +f 480/279/232 481/280/233 476/275/231 +f 475/274/230 477/276/225 482/281/225 +f 482/281/225 480/279/232 475/274/230 +f 477/276/225 478/277/226 483/282/226 +f 483/282/226 482/281/225 477/276/225 +f 478/277/226 479/278/227 484/283/227 +f 484/283/227 483/282/226 478/277/226 +f 485/284/234 486/285/234 487/286/234 +f 485/284/235 487/285/235 488/286/235 +f 485/284/236 488/285/236 489/286/236 +f 485/284/237 489/285/237 486/286/237 +f 490/287/238 491/288/238 492/289/238 +f 492/289/238 493/290/238 490/287/238 +f 494/291/58 495/292/58 496/293/58 +f 496/293/58 497/294/58 494/291/58 +f 498/295/93 499/296/93 495/297/93 +f 495/297/93 494/298/93 498/295/93 +f 500/299/153 501/300/153 499/292/153 +f 499/292/153 498/291/153 500/299/153 +f 492/301/93 491/302/93 495/297/93 +f 495/297/93 499/296/93 492/301/93 +f 493/303/153 492/304/153 499/292/153 +f 499/292/153 501/300/153 493/303/153 +f 502/305/239 503/306/239 504/307/239 +f 504/307/239 505/308/239 502/305/239 +f 506/294/153 507/293/153 508/292/153 +f 508/292/153 509/291/153 506/294/153 +f 510/291/129 511/292/129 512/300/129 +f 512/300/129 513/299/129 510/291/129 +f 509/309/93 508/310/93 511/311/93 +f 511/311/93 510/312/93 509/309/93 +f 505/304/129 504/303/129 512/300/129 +f 512/300/129 511/292/129 505/304/129 +f 502/313/93 505/314/93 511/311/93 +f 511/311/93 508/310/93 502/313/93 +f 502/305/240 514/315/77 515/316/77 +f 515/316/77 503/306/240 502/305/240 +f 508/310/93 516/317/241 514/318/241 +f 514/318/241 502/313/93 508/310/93 +f 516/315/242 517/319/242 496/320/242 +f 496/320/242 495/288/242 516/315/242 +f 491/288/243 490/287/243 515/316/77 +f 515/316/77 514/315/77 491/288/243 +f 495/297/170 491/302/170 514/318/241 +f 514/318/241 516/317/241 495/297/170 +f 508/305/244 507/321/244 517/319/244 +f 517/319/244 516/315/244 508/305/244 +f 496/322/170 517/323/170 518/324/170 +f 518/324/170 497/325/170 496/322/170 +f 517/323/93 507/326/93 506/327/93 +f 506/327/93 518/324/93 517/323/93 +# 782 faces + diff --git a/examples/web/models/resources/models/turret_diffuse.png b/examples/web/models/resources/models/turret_diffuse.png new file mode 100644 index 0000000..08db495 Binary files /dev/null and b/examples/web/models/resources/models/turret_diffuse.png differ diff --git a/examples/web/models/resources/models/well.obj b/examples/web/models/resources/models/well.obj new file mode 100644 index 0000000..9f26e58 --- /dev/null +++ b/examples/web/models/resources/models/well.obj @@ -0,0 +1,1030 @@ +# (c) 2018 Medieval Assets Pack by Alberto Cano +# Licensed as Creative Commons Attribution-NonCommercial 4.0 + +# +# object well +# + +v 2.4349 0.3719 -0.9996 +v 2.4286 0.3719 1.0149 +v 2.4526 -0.0641 1.0250 +v 2.4590 -0.0641 -1.0095 +v 1.3014 0.7560 -0.5342 +v 1.2980 0.7560 0.5425 +v 1.2552 1.8149 0.5246 +v 1.2585 1.8149 -0.5166 +v 0.9996 0.3719 2.4349 +v 1.0095 -0.0641 2.4590 +v 0.5342 0.7560 1.3014 +v 0.5166 1.8149 1.2585 +v -1.0149 0.3719 2.4286 +v -1.0250 -0.0641 2.4526 +v -0.5425 0.7560 1.2980 +v -0.5246 1.8149 1.2552 +v -2.4349 0.3719 0.9996 +v -2.4590 -0.0641 1.0095 +v -1.3014 0.7560 0.5342 +v -1.2585 1.8149 0.5166 +v -2.4286 0.3719 -1.0149 +v -2.4526 -0.0641 -1.0250 +v -1.2980 0.7560 -0.5425 +v -1.2552 1.8149 -0.5246 +v -0.9996 0.3719 -2.4349 +v -1.0095 -0.0641 -2.4590 +v -0.5342 0.7560 -1.3014 +v -0.5166 1.8149 -1.2585 +v 1.0149 0.3719 -2.4286 +v 1.0250 -0.0641 -2.4526 +v 0.5425 0.7560 -1.2980 +v 0.5246 1.8149 -1.2552 +v 2.1428 1.8318 -0.8796 +v 2.1372 1.8318 0.8932 +v 2.0129 1.4147 0.8412 +v 2.0182 1.4147 -0.8285 +v 0.8796 1.8318 2.1428 +v 0.8285 1.4147 2.0182 +v -0.8932 1.8318 2.1372 +v -0.8412 1.4147 2.0129 +v -2.1428 1.8318 0.8796 +v -2.0182 1.4147 0.8285 +v -2.1372 1.8318 -0.8932 +v -2.0129 1.4147 -0.8412 +v -0.8796 1.8318 -2.1428 +v -0.8285 1.4147 -2.0182 +v 0.8932 1.8318 -2.1372 +v 0.8412 1.4147 -2.0129 +v 0.4215 2.1696 1.0809 +v 0.8827 2.1696 1.3472 +v 0.8143 1.8149 1.3867 +v 0.4215 1.8149 1.1599 +v 0.4215 2.5243 1.1599 +v 0.4215 2.5243 1.2443 +v 0.7412 2.5243 1.4289 +v 0.8143 2.5243 1.3867 +v 0.4215 1.8149 1.2443 +v 0.7412 1.8149 1.4289 +v 0.8827 2.1696 1.8798 +v 0.8143 1.8149 1.8403 +v 0.7412 2.5243 1.7981 +v 0.8143 2.5243 1.8403 +v 0.7412 1.8149 1.7981 +v 0.4215 2.1696 2.1461 +v 0.4215 1.8149 2.0671 +v 0.4215 2.5243 1.9827 +v 0.4215 2.5243 2.0671 +v 0.4215 1.8149 1.9827 +v -0.0397 2.1696 1.8798 +v 0.0287 1.8149 1.8403 +v 0.1017 2.5243 1.7981 +v 0.0287 2.5243 1.8403 +v 0.1017 1.8149 1.7981 +v -0.0397 2.1696 1.3472 +v 0.0287 1.8149 1.3867 +v 0.1017 2.5243 1.4289 +v 0.0287 2.5243 1.3867 +v 0.1017 1.8149 1.4289 +v 0.8059 2.5243 1.6104 +v 0.7586 2.5265 1.5850 +v 0.7735 2.5748 1.5456 +v 0.8229 2.5963 1.5597 +v 0.7586 2.5220 1.6358 +v 0.7735 2.6139 1.5784 +v 0.8398 2.6683 1.4739 +v 0.7884 2.6449 1.4621 +v 0.7016 2.7447 1.3431 +v 0.7409 2.7822 1.3381 +v 0.7884 2.6839 1.4949 +v 0.7016 2.7838 1.3758 +v 0.5259 2.8041 1.2723 +v 0.5405 2.8499 1.2575 +v 0.5259 2.8432 1.3051 +v 0.3171 2.8041 1.2723 +v 0.3024 2.8499 1.2575 +v 0.3171 2.8432 1.3051 +v 0.1414 2.7447 1.3431 +v 0.1021 2.7822 1.3381 +v 0.1414 2.7838 1.3758 +v 0.0546 2.6449 1.4621 +v 0.0032 2.6683 1.4739 +v 0.0546 2.6839 1.4949 +v 0.0695 2.5748 1.5456 +v 0.0201 2.5963 1.5597 +v 0.0695 2.6139 1.5784 +v 0.0843 2.5265 1.5850 +v 0.0370 2.5243 1.6104 +v 0.0843 2.5220 1.6358 +v 0.0235 3.7677 0.2755 +v 0.0235 3.7677 0.2601 +v 0.0081 3.7677 0.2601 +v 0.0081 3.7677 0.2755 +v -1.5438 3.5501 0.2185 +v -1.3084 4.6406 1.4987 +v -1.7540 4.6406 1.4987 +v -1.9516 3.5501 0.2185 +v -1.7540 4.6406 1.1371 +v -1.9631 3.9325 0.2185 +v -1.3084 4.6406 1.1371 +v -1.5551 3.9325 0.2185 +v -1.7540 4.6406 -1.4441 +v -1.3084 4.6406 -1.4441 +v -1.5438 3.5501 -0.1639 +v -1.9516 3.5501 -0.1639 +v -1.7540 4.6406 -1.0825 +v -1.9631 3.9325 -0.1639 +v -1.3084 4.6406 -1.0825 +v -1.5551 3.9325 -0.1639 +v -1.5544 3.8720 0.2185 +v -1.9999 3.8720 0.2185 +v -1.7540 1.7269 0.2185 +v -1.3084 1.7269 0.2185 +v -1.9999 3.8720 -0.1639 +v -1.7540 1.7269 -0.1639 +v -1.5544 3.8720 -0.1639 +v -1.3084 1.7269 -0.1639 +v -1.3084 5.9529 0.2185 +v -1.7540 6.0405 0.2185 +v -1.7540 6.0405 -0.1639 +v -1.3084 5.9529 -0.1639 +v -1.3084 4.6406 -1.5881 +v -1.3084 4.6406 1.6293 +v -1.7540 4.6406 1.6293 +v -1.7540 4.6406 -1.5881 +v -1.7540 5.0230 1.2025 +v -1.7540 5.0230 -1.0636 +v -1.3084 5.0230 1.2025 +v -1.3084 5.0230 -1.0636 +v 1.7856 4.6406 1.4987 +v 1.3401 4.6406 1.4987 +v 1.5755 3.5501 0.2185 +v 1.9832 3.5501 0.2185 +v 1.7856 4.6406 1.1371 +v 1.9947 3.9325 0.2185 +v 1.3401 4.6406 1.1371 +v 1.5867 3.9325 0.2185 +v 1.5755 3.5501 -0.1639 +v 1.3401 4.6406 -1.4441 +v 1.7856 4.6406 -1.4441 +v 1.9832 3.5501 -0.1639 +v 1.7856 4.6406 -1.0825 +v 1.9947 3.9325 -0.1639 +v 1.3401 4.6406 -1.0825 +v 1.5867 3.9325 -0.1639 +v 1.7856 1.7269 0.2185 +v 2.0315 3.8720 0.2185 +v 1.5860 3.8720 0.2185 +v 1.3401 1.7269 0.2185 +v 1.7856 1.7269 -0.1639 +v 2.0315 3.8720 -0.1639 +v 1.3401 1.7269 -0.1639 +v 1.5860 3.8720 -0.1639 +v 1.7856 6.0405 0.2185 +v 1.3401 5.9529 0.2185 +v 1.7856 6.0405 -0.1639 +v 1.3401 5.9529 -0.1639 +v 1.3401 4.6406 -1.5881 +v 1.7856 4.6406 -1.5881 +v 1.7856 4.6406 1.6293 +v 1.3401 4.6406 1.6293 +v 1.7856 5.0230 -1.0636 +v 1.7856 5.0230 1.2025 +v 1.3401 5.0230 -1.0636 +v 1.3401 5.0230 1.2025 +v 0.0158 3.3853 -0.1777 +v 0.0158 3.3853 0.2678 +v -1.5551 3.6592 0.1980 +v -1.5551 3.6592 -0.1317 +v 0.0158 3.7677 0.2678 +v -1.5551 4.0416 0.1980 +v 0.0158 3.7677 -0.1777 +v -1.5551 4.0416 -0.1317 +v 1.5798 3.6592 -0.1190 +v 1.5798 3.6592 0.1925 +v 1.5977 4.0416 0.1982 +v 1.5978 4.0416 -0.1247 +v 2.3235 4.2740 -2.1877 +v 2.3235 6.4188 0.0227 +v 2.3257 6.1975 0.0227 +v 2.3235 4.0678 -2.1877 +v -0.0629 5.6948 0.0227 +v -0.0629 3.7727 -2.1877 +v -0.0629 3.9789 -2.1877 +v -0.0629 5.9161 0.0227 +v -2.4516 6.1975 0.0227 +v -2.4494 6.4188 0.0227 +v -2.4494 4.2740 -2.1877 +v -2.4494 4.0678 -2.1877 +v 1.8518 1.4319 -0.7602 +v 1.8470 1.4319 0.7719 +v 1.7317 0.9075 0.7237 +v 1.7363 0.9075 -0.7128 +v 0.7719 1.4319 -1.8470 +v 0.7237 0.9075 -1.7317 +v -0.7602 1.4319 -1.8518 +v -0.7128 0.9075 -1.7363 +v -1.8470 1.4319 -0.7719 +v -1.7317 0.9075 -0.7237 +v -1.8518 1.4319 0.7602 +v -1.7363 0.9075 0.7128 +v -0.7719 1.4319 1.8470 +v -0.7237 0.9075 1.7317 +v 0.7602 1.4319 1.8518 +v 0.7128 0.9075 1.7363 +v 0.7058 0.3719 1.7193 +v 1.7148 0.3719 0.7166 +v -0.7166 0.3719 1.7148 +v -1.7193 0.3719 0.7058 +v -1.7148 0.3719 -0.7166 +v -0.7058 0.3719 -1.7193 +v 0.7166 0.3719 -1.7148 +v 1.7193 0.3719 -0.7058 +v -2.4494 4.2740 2.2332 +v -2.4494 4.0678 2.2332 +v -0.0629 3.7727 2.2332 +v -0.0629 3.9789 2.2332 +v 2.3235 4.2740 2.2332 +v 2.3235 4.0678 2.2332 +# 238 vertices + +vn 0.9985 0.0551 0.0032 +vn -0.9992 -0.0404 -0.0032 +vn 0.7038 0.0551 0.7083 +vn -0.7043 -0.0404 -0.7088 +vn -0.0032 0.0551 0.9985 +vn 0.0032 -0.0404 -0.9992 +vn -0.7083 0.0551 0.7038 +vn 0.7088 -0.0404 -0.7043 +vn -0.9985 0.0551 -0.0032 +vn 0.9992 -0.0404 0.0032 +vn -0.7038 0.0551 -0.7083 +vn 0.7043 -0.0404 0.7088 +vn 0.0032 0.0551 -0.9985 +vn -0.0032 -0.0404 0.9992 +vn 0.7083 0.0551 -0.7038 +vn -0.7088 -0.0404 0.7043 +vn 0.9583 -0.2859 0.0030 +vn 0.6755 -0.2859 0.6797 +vn -0.0030 -0.2859 0.9583 +vn -0.6797 -0.2859 0.6755 +vn -0.9583 -0.2859 -0.0030 +vn -0.6755 -0.2859 -0.6797 +vn 0.0030 -0.2859 -0.9583 +vn 0.6797 -0.2859 -0.6755 +vn 0.0000 1.0000 0.0000 +vn 0.4910 -0.1894 -0.8504 +vn -0.5000 -0.0000 0.8660 +vn 0.9819 -0.1894 -0.0000 +vn -1.0000 0.0000 -0.0000 +vn 0.4910 -0.1894 0.8504 +vn -0.5000 -0.0000 -0.8660 +vn -0.4910 -0.1894 0.8504 +vn -0.0000 1.0000 0.0000 +vn 0.5000 -0.0000 -0.8660 +vn -0.9819 -0.1894 0.0000 +vn 1.0000 0.0000 -0.0000 +vn -0.4910 -0.1894 -0.8504 +vn 0.5000 -0.0000 0.8660 +vn 0.4910 0.1894 -0.8504 +vn 0.9819 0.1894 -0.0000 +vn 0.4910 0.1894 0.8504 +vn -0.4910 0.1894 0.8504 +vn -0.9819 0.1894 0.0000 +vn -0.4910 0.1894 -0.8504 +vn 0.4000 -0.6147 -0.6798 +vn -0.9844 0.1624 -0.0673 +vn 0.4299 0.4376 0.7897 +vn 0.4104 -0.5289 -0.7429 +vn -0.8731 -0.3134 0.3735 +vn 0.4104 0.8234 0.3918 +vn 0.2376 -0.3681 -0.8989 +vn -0.4653 -0.5690 0.6781 +vn 0.2376 0.9492 0.2064 +vn 0.0000 -0.3090 -0.9511 +vn 0.0000 -0.6428 0.7660 +vn -0.0000 0.9903 0.1392 +vn -0.2376 -0.3681 -0.8989 +vn 0.4653 -0.5690 0.6781 +vn -0.2376 0.9492 0.2064 +vn -0.4104 -0.5289 -0.7429 +vn 0.8731 -0.3134 0.3734 +vn -0.4104 0.8234 0.3918 +vn -0.4550 -0.7224 -0.5207 +vn 0.9908 0.0868 -0.1035 +vn -0.4550 0.6382 0.6210 +vn 0.4550 -0.7224 -0.5207 +vn -0.9908 0.0868 -0.1035 +vn 0.4550 0.6382 0.6210 +vn -0.4000 -0.6147 -0.6798 +vn 0.9844 0.1624 -0.0673 +vn -0.4299 0.4376 0.7897 +vn -0.0000 -0.7612 0.6485 +vn -0.9898 0.0808 0.1170 +vn 0.0000 0.7920 -0.6105 +vn 0.9859 -0.0989 -0.1353 +vn 0.0000 -0.7612 -0.6485 +vn -0.9898 0.0808 -0.1170 +vn 0.0000 0.7920 0.6105 +vn 0.9859 -0.0989 0.1353 +vn 0.0000 -0.0000 1.0000 +vn -0.9935 -0.1139 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.9935 0.1139 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.9936 0.1127 0.0000 +vn -0.0000 0.0000 -1.0000 +vn 0.9931 -0.1174 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -0.7612 0.6485 +vn 0.9898 0.0808 0.1170 +vn -0.9859 -0.0989 -0.1353 +vn 0.9898 0.0808 -0.1170 +vn -0.9859 -0.0989 0.1353 +vn 0.9935 -0.1139 0.0000 +vn -0.9935 0.1139 0.0000 +vn 0.9936 0.1127 0.0000 +vn -0.9931 -0.1174 -0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.1717 -0.9851 0.0000 +vn -0.0444 -0.0000 0.9990 +vn 0.1717 0.9851 0.0000 +vn -0.0293 0.0000 -0.9996 +vn 0.1725 -0.9850 0.0000 +vn 0.0475 -0.0086 0.9988 +vn -0.1706 0.9853 -0.0000 +vn 0.0369 -0.0083 -0.9993 +vn 1.0000 0.0053 -0.0056 +vn 0.1223 -0.7317 0.6705 +vn -0.1219 0.7292 -0.6733 +vn -1.0000 0.0053 -0.0056 +vn -0.1223 -0.7317 0.6705 +vn 0.1219 0.7292 -0.6733 +vn 0.9766 -0.2148 0.0031 +vn 0.6928 -0.2148 -0.6884 +vn 0.0031 -0.2148 -0.9766 +vn -0.6884 -0.2148 -0.6928 +vn -0.9766 -0.2148 -0.0031 +vn -0.6928 -0.2148 0.6884 +vn -0.0031 -0.2148 0.9766 +vn 0.6884 -0.2148 0.6928 +vn -0.1030 -0.9947 -0.0003 +vn -0.0726 -0.9947 -0.0731 +vn 0.0003 -0.9947 -0.1030 +vn 0.0731 -0.9947 -0.0726 +vn 0.1030 -0.9947 0.0003 +vn 0.0726 -0.9947 0.0731 +vn -0.0003 -0.9947 0.1030 +vn -0.0731 -0.9947 0.0726 +vn 0.7045 -0.0317 0.7090 +vn -0.0032 -0.0317 0.9995 +vn -0.7090 -0.0317 0.7045 +vn -0.9995 -0.0317 -0.0032 +vn -0.7045 -0.0317 -0.7090 +vn 0.0032 -0.0317 -0.9995 +vn 0.7090 -0.0317 -0.7045 +vn 0.9995 -0.0317 0.0032 +vn 0.0000 1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn 0.0135 0.9998 -0.0134 +vn 0.0001 0.9998 -0.0190 +vn -0.0134 0.9998 -0.0135 +vn -0.0190 0.9998 -0.0001 +vn -0.0135 0.9998 0.0134 +vn -0.0001 0.9998 0.0190 +vn 0.0134 0.9998 0.0135 +vn 0.0190 0.9998 0.0001 +vn -1.0000 0.0053 0.0056 +vn -0.1223 -0.7317 -0.6705 +vn 0.1219 0.7292 0.6733 +vn 1.0000 0.0053 0.0056 +vn 0.1223 -0.7317 -0.6705 +vn -0.1219 0.7292 0.6733 +# 154 vertex normals + +vt 0.2239 0.9582 0.0000 +vt 0.2956 0.9582 0.0000 +vt 0.2956 0.9813 0.0000 +vt 0.2239 0.9813 0.0000 +vt 0.6981 0.4745 0.0000 +vt 0.6481 0.4745 0.0000 +vt 0.6481 0.4250 0.0000 +vt 0.6981 0.4250 0.0000 +vt 0.0089 0.9582 0.0000 +vt 0.0805 0.9582 0.0000 +vt 0.0805 0.9813 0.0000 +vt 0.0089 0.9813 0.0000 +vt 0.1500 0.9582 0.0000 +vt 0.1500 0.9813 0.0000 +vt 0.2217 0.9582 0.0000 +vt 0.2217 0.9813 0.0000 +vt 0.1522 0.9582 0.0000 +vt 0.1522 0.9813 0.0000 +vt 0.2694 0.8091 0.0000 +vt 0.3575 0.8091 0.0000 +vt 0.3575 0.8362 0.0000 +vt 0.2694 0.8362 0.0000 +vt 0.0050 0.8091 0.0000 +vt 0.0931 0.8091 0.0000 +vt 0.0931 0.8362 0.0000 +vt 0.0050 0.8362 0.0000 +vt 0.1813 0.8091 0.0000 +vt 0.1813 0.8362 0.0000 +vt 0.9021 0.7436 0.0000 +vt 0.9884 0.7433 0.0000 +vt 0.9886 0.7791 0.0000 +vt 0.9022 0.7794 0.0000 +vt 0.9273 0.7182 0.0000 +vt 0.9631 0.7181 0.0000 +vt 0.9633 0.8045 0.0000 +vt 0.9276 0.8046 0.0000 +vt 0.4225 0.7567 0.0000 +vt 0.3739 0.7478 0.0000 +vt 0.3792 0.7144 0.0000 +vt 0.4236 0.7209 0.0000 +vt 0.4096 0.7906 0.0000 +vt 0.4029 0.7965 0.0000 +vt 0.3668 0.7872 0.0000 +vt 0.3687 0.7804 0.0000 +vt 0.9628 0.8255 0.0000 +vt 0.9859 0.8256 0.0000 +vt 0.9856 0.8700 0.0000 +vt 0.9625 0.8699 0.0000 +vt 0.3297 0.7421 0.0000 +vt 0.3319 0.7086 0.0000 +vt 0.3267 0.7831 0.0000 +vt 0.3273 0.7760 0.0000 +vt 0.2845 0.7412 0.0000 +vt 0.2835 0.7076 0.0000 +vt 0.2858 0.7825 0.0000 +vt 0.2856 0.7753 0.0000 +vt 0.2860 0.7825 0.0000 +vt 0.0756 0.6646 0.0000 +vt 0.0832 0.6680 0.0000 +vt 0.0803 0.6775 0.0000 +vt 0.0716 0.6780 0.0000 +vt 0.3119 0.6839 0.0000 +vt 0.2977 0.6888 0.0000 +vt 0.2975 0.6818 0.0000 +vt 0.3061 0.6799 0.0000 +vt 0.2061 0.7218 0.0000 +vt 0.1979 0.7267 0.0000 +vt 0.1950 0.7215 0.0000 +vt 0.2058 0.7160 0.0000 +vt 0.0693 0.6955 0.0000 +vt 0.0782 0.6946 0.0000 +vt 0.0903 0.7196 0.0000 +vt 0.0830 0.7239 0.0000 +vt 0.2823 0.6822 0.0000 +vt 0.2824 0.6892 0.0000 +vt 0.2578 0.6899 0.0000 +vt 0.2577 0.6828 0.0000 +vt 0.1859 0.7298 0.0000 +vt 0.1894 0.7350 0.0000 +vt 0.1688 0.7416 0.0000 +vt 0.1672 0.7359 0.0000 +vt 0.1153 0.7380 0.0000 +vt 0.1113 0.7447 0.0000 +vt 0.2304 0.6905 0.0000 +vt 0.2302 0.6834 0.0000 +vt 0.1447 0.7400 0.0000 +vt 0.1453 0.7346 0.0000 +vt 0.1469 0.7465 0.0000 +vt 0.1468 0.7543 0.0000 +vt 0.2016 0.6916 0.0000 +vt 0.2013 0.6846 0.0000 +vt 0.1206 0.7317 0.0000 +vt 0.1235 0.7271 0.0000 +vt 0.1781 0.7441 0.0000 +vt 0.1816 0.7517 0.0000 +vt 0.1742 0.6930 0.0000 +vt 0.1738 0.6860 0.0000 +vt 0.1006 0.7183 0.0000 +vt 0.1053 0.7147 0.0000 +vt 0.2030 0.7310 0.0000 +vt 0.2093 0.7374 0.0000 +vt 0.1496 0.6944 0.0000 +vt 0.1492 0.6874 0.0000 +vt 0.0874 0.7010 0.0000 +vt 0.0934 0.6991 0.0000 +vt 0.2133 0.7170 0.0000 +vt 0.2193 0.7232 0.0000 +vt 0.1344 0.6954 0.0000 +vt 0.1340 0.6883 0.0000 +vt 0.0867 0.6887 0.0000 +vt 0.0925 0.6872 0.0000 +vt 0.2177 0.7080 0.0000 +vt 0.2256 0.7108 0.0000 +vt 0.1198 0.6917 0.0000 +vt 0.1252 0.6872 0.0000 +vt 0.0853 0.6791 0.0000 +vt 0.0900 0.6756 0.0000 +vt 0.8686 0.4503 0.0000 +vt 0.8602 0.4537 0.0000 +vt 0.8568 0.4454 0.0000 +vt 0.8652 0.4419 0.0000 +vt 0.4316 0.2725 0.0000 +vt 0.4412 0.4245 0.0000 +vt 0.4715 0.4254 0.0000 +vt 0.4631 0.2738 0.0000 +vt 0.4354 0.4803 0.0000 +vt 0.6812 0.4986 0.0000 +vt 0.6391 0.5296 0.0000 +vt 0.4677 0.5253 0.0000 +vt 0.7540 0.7227 0.0000 +vt 0.7259 0.7227 0.0000 +vt 0.7104 0.5721 0.0000 +vt 0.7385 0.5721 0.0000 +vt 0.7328 0.3910 0.0000 +vt 0.7072 0.3910 0.0000 +vt 0.7072 0.2553 0.0000 +vt 0.7328 0.2553 0.0000 +vt 0.7385 0.8750 0.0000 +vt 0.7104 0.8689 0.0000 +vt 0.7328 0.5281 0.0000 +vt 0.7072 0.5281 0.0000 +vt 0.4336 0.8157 0.0000 +vt 0.5568 0.8159 0.0000 +vt 0.5567 0.8330 0.0000 +vt 0.4336 0.8328 0.0000 +vt 0.6156 0.5421 0.0000 +vt 0.5880 0.5670 0.0000 +vt 0.4416 0.5670 0.0000 +vt 0.4077 0.5421 0.0000 +vt 0.5414 0.8438 0.0000 +vt 0.5414 0.8626 0.0000 +vt 0.4454 0.8625 0.0000 +vt 0.4454 0.8436 0.0000 +vt 0.5880 0.5650 0.0000 +vt 0.6156 0.5400 0.0000 +vt 0.4077 0.5400 0.0000 +vt 0.4416 0.5650 0.0000 +vt 0.8568 0.8820 0.0000 +vt 0.8568 0.8568 0.0000 +vt 0.7762 0.8607 0.0000 +vt 0.7762 0.8794 0.0000 +vt 0.8579 0.8109 0.0000 +vt 0.8579 0.8320 0.0000 +vt 0.7705 0.8472 0.0000 +vt 0.7705 0.8260 0.0000 +vt 0.9371 0.8787 0.0000 +vt 0.9371 0.8610 0.0000 +vt 0.9450 0.8260 0.0000 +vt 0.9460 0.8472 0.0000 +vt 0.9380 0.8607 0.0000 +vt 0.9380 0.8790 0.0000 +vt 0.0988 0.4994 0.0000 +vt 0.0988 0.6767 0.0000 +vt 0.0897 0.6679 0.0000 +vt 0.0903 0.4912 0.0000 +vt 0.8296 0.5549 0.0000 +vt 0.8296 0.4722 0.0000 +vt 0.8972 0.4776 0.0000 +vt 0.8978 0.5642 0.0000 +vt 0.2369 0.4875 0.0000 +vt 0.0992 0.4876 0.0000 +vt 0.2368 0.4756 0.0000 +vt 0.2377 0.6567 0.0000 +vt 0.3859 0.6664 0.0000 +vt 0.3768 0.6754 0.0000 +vt 0.3751 0.4981 0.0000 +vt 0.3835 0.4897 0.0000 +vt 0.7620 0.4776 0.0000 +vt 0.7613 0.5642 0.0000 +vt 0.3746 0.4863 0.0000 +vt 0.2718 0.8593 0.0000 +vt 0.3599 0.8593 0.0000 +vt 0.3599 0.8934 0.0000 +vt 0.2718 0.8934 0.0000 +vt 0.1836 0.8593 0.0000 +vt 0.1836 0.8934 0.0000 +vt 0.0955 0.8593 0.0000 +vt 0.0955 0.8934 0.0000 +vt 0.0073 0.8593 0.0000 +vt 0.0073 0.8934 0.0000 +vt 0.6906 0.6470 0.0000 +vt 0.6907 0.6100 0.0000 +vt 0.6947 0.6083 0.0000 +vt 0.6946 0.6487 0.0000 +vt 0.6643 0.6730 0.0000 +vt 0.6660 0.6771 0.0000 +vt 0.6273 0.6729 0.0000 +vt 0.6256 0.6769 0.0000 +vt 0.6012 0.6467 0.0000 +vt 0.5972 0.6483 0.0000 +vt 0.6014 0.6097 0.0000 +vt 0.5973 0.6080 0.0000 +vt 0.6276 0.5836 0.0000 +vt 0.6260 0.5796 0.0000 +vt 0.6646 0.5837 0.0000 +vt 0.6663 0.5797 0.0000 +vt 0.0955 0.9283 0.0000 +vt 0.0073 0.9283 0.0000 +vt 0.1836 0.9283 0.0000 +vt 0.2718 0.9283 0.0000 +vt 0.3599 0.9283 0.0000 +vt 0.6553 0.7336 0.0000 +vt 0.6147 0.7338 0.0000 +vt 0.6062 0.7134 0.0000 +vt 0.6637 0.7132 0.0000 +vt 0.5861 0.7626 0.0000 +vt 0.5656 0.7542 0.0000 +vt 0.5862 0.8032 0.0000 +vt 0.5658 0.8117 0.0000 +vt 0.6150 0.8318 0.0000 +vt 0.6066 0.8522 0.0000 +vt 0.6556 0.8317 0.0000 +vt 0.6641 0.8521 0.0000 +vt 0.6842 0.8029 0.0000 +vt 0.7047 0.8113 0.0000 +vt 0.6841 0.7623 0.0000 +vt 0.7045 0.7537 0.0000 +vt 0.4901 0.7084 0.0000 +vt 0.5278 0.7080 0.0000 +vt 0.5414 0.7398 0.0000 +vt 0.4772 0.7405 0.0000 +vt 0.4632 0.6821 0.0000 +vt 0.4314 0.6956 0.0000 +vt 0.4628 0.6444 0.0000 +vt 0.4307 0.6315 0.0000 +vt 0.4891 0.6175 0.0000 +vt 0.4755 0.5857 0.0000 +vt 0.5268 0.6171 0.0000 +vt 0.5397 0.5850 0.0000 +vt 0.5537 0.6434 0.0000 +vt 0.5855 0.6298 0.0000 +vt 0.5541 0.6811 0.0000 +vt 0.5862 0.6939 0.0000 +# 253 texture coords + +o well +g well +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 4/4/1 1/1/1 +f 5/5/2 6/6/2 7/7/2 +f 7/7/2 8/8/2 5/5/2 +f 2/9/3 9/10/3 10/11/3 +f 10/11/3 3/12/3 2/9/3 +f 6/5/4 11/6/4 12/7/4 +f 12/7/4 7/8/4 6/5/4 +f 9/10/5 13/13/5 14/14/5 +f 14/14/5 10/11/5 9/10/5 +f 11/5/6 15/6/6 16/7/6 +f 16/7/6 12/8/6 11/5/6 +f 13/13/7 17/15/7 18/16/7 +f 18/16/7 14/14/7 13/13/7 +f 15/5/8 19/6/8 20/7/8 +f 20/7/8 16/8/8 15/5/8 +f 17/15/9 21/2/9 22/3/9 +f 22/3/9 18/16/9 17/15/9 +f 19/5/10 23/6/10 24/7/10 +f 24/7/10 20/8/10 19/5/10 +f 21/9/11 25/10/11 26/11/11 +f 26/11/11 22/12/11 21/9/11 +f 23/5/12 27/6/12 28/7/12 +f 28/7/12 24/8/12 23/5/12 +f 25/10/13 29/17/13 30/18/13 +f 30/18/13 26/11/13 25/10/13 +f 28/8/14 27/5/14 31/6/14 +f 31/6/14 32/7/14 28/8/14 +f 29/17/15 1/1/15 4/4/15 +f 4/4/15 30/18/15 29/17/15 +f 32/8/16 31/5/16 5/6/16 +f 5/6/16 8/7/16 32/8/16 +f 33/19/17 34/20/17 35/21/17 +f 35/21/17 36/22/17 33/19/17 +f 34/23/18 37/24/18 38/25/18 +f 38/25/18 35/26/18 34/23/18 +f 37/24/19 39/27/19 40/28/19 +f 40/28/19 38/25/19 37/24/19 +f 39/27/20 41/19/20 42/22/20 +f 42/22/20 40/28/20 39/27/20 +f 41/19/21 43/20/21 44/21/21 +f 44/21/21 42/22/21 41/19/21 +f 43/23/22 45/24/22 46/25/22 +f 46/25/22 44/26/22 43/23/22 +f 45/24/23 47/27/23 48/28/23 +f 48/28/23 46/25/23 45/24/23 +f 47/27/24 33/19/24 36/22/24 +f 36/22/24 48/28/24 47/27/24 +f 19/29/25 6/30/25 5/31/25 +f 5/31/25 23/32/25 19/29/25 +f 6/30/25 19/29/25 15/33/25 +f 15/33/25 11/34/25 6/30/25 +f 23/32/25 5/31/25 31/35/25 +f 31/35/25 27/36/25 23/32/25 +f 49/37/26 50/38/26 51/39/26 +f 51/39/26 52/40/26 49/37/26 +f 53/41/25 54/42/25 55/43/25 +f 55/43/25 56/44/25 53/41/25 +f 57/45/27 58/46/27 55/47/27 +f 55/47/27 54/48/27 57/45/27 +f 50/38/28 59/49/28 60/50/28 +f 60/50/28 51/39/28 50/38/28 +f 56/44/25 55/43/25 61/51/25 +f 61/51/25 62/52/25 56/44/25 +f 58/45/29 63/46/29 61/47/29 +f 61/47/29 55/48/29 58/45/29 +f 59/49/30 64/53/30 65/54/30 +f 65/54/30 60/50/30 59/49/30 +f 62/52/25 61/51/25 66/55/25 +f 66/55/25 67/56/25 62/52/25 +f 63/45/31 68/46/31 66/47/31 +f 66/47/31 61/48/31 63/45/31 +f 64/53/32 69/49/32 70/50/32 +f 70/50/32 65/54/32 64/53/32 +f 67/56/33 66/57/33 71/51/33 +f 71/51/33 72/52/33 67/56/33 +f 68/45/34 73/46/34 71/47/34 +f 71/47/34 66/48/34 68/45/34 +f 69/49/35 74/38/35 75/39/35 +f 75/39/35 70/50/35 69/49/35 +f 72/52/25 71/51/25 76/43/25 +f 76/43/25 77/44/25 72/52/25 +f 73/45/36 78/46/36 76/47/36 +f 76/47/36 71/48/36 73/45/36 +f 74/38/37 49/37/37 52/40/37 +f 52/40/37 75/39/37 74/38/37 +f 77/44/25 76/43/25 54/42/25 +f 54/42/25 53/41/25 77/44/25 +f 76/48/38 78/45/38 57/46/38 +f 57/46/38 54/47/38 76/48/38 +f 53/41/39 56/44/39 50/38/39 +f 50/38/39 49/37/39 53/41/39 +f 56/44/40 62/52/40 59/49/40 +f 59/49/40 50/38/40 56/44/40 +f 62/52/41 67/56/41 64/53/41 +f 64/53/41 59/49/41 62/52/41 +f 67/56/42 72/52/42 69/49/42 +f 69/49/42 64/53/42 67/56/42 +f 72/52/43 77/44/43 74/38/43 +f 74/38/43 69/49/43 72/52/43 +f 77/44/44 53/41/44 49/37/44 +f 49/37/44 74/38/44 77/44/44 +f 79/58/45 80/59/45 81/60/45 +f 81/60/45 82/61/45 79/58/45 +f 83/62/46 84/63/46 81/64/46 +f 81/64/46 80/65/46 83/62/46 +f 79/66/47 82/67/47 84/68/47 +f 84/68/47 83/69/47 79/66/47 +f 85/70/48 86/71/48 87/72/48 +f 87/72/48 88/73/48 85/70/48 +f 86/74/49 89/75/49 90/76/49 +f 90/76/49 87/77/49 86/74/49 +f 89/78/50 85/79/50 88/80/50 +f 88/80/50 90/81/50 89/78/50 +f 88/73/51 87/72/51 91/82/51 +f 91/82/51 92/83/51 88/73/51 +f 87/77/52 90/76/52 93/84/52 +f 93/84/52 91/85/52 87/77/52 +f 90/81/53 88/80/53 92/86/53 +f 92/86/53 93/87/53 90/81/53 +f 92/83/54 91/82/54 94/88/54 +f 94/88/54 95/89/54 92/83/54 +f 91/85/55 93/84/55 96/90/55 +f 96/90/55 94/91/55 91/85/55 +f 93/87/56 92/86/56 95/92/56 +f 95/92/56 96/93/56 93/87/56 +f 95/89/57 94/88/57 97/94/57 +f 97/94/57 98/95/57 95/89/57 +f 94/91/58 96/90/58 99/96/58 +f 99/96/58 97/97/58 94/91/58 +f 96/93/59 95/92/59 98/98/59 +f 98/98/59 99/99/59 96/93/59 +f 98/95/60 97/94/60 100/100/60 +f 100/100/60 101/101/60 98/95/60 +f 97/97/61 99/96/61 102/102/61 +f 102/102/61 100/103/61 97/97/61 +f 99/99/62 98/98/62 101/104/62 +f 101/104/62 102/105/62 99/99/62 +f 100/100/63 103/106/63 104/107/63 +f 104/107/63 101/101/63 100/100/63 +f 102/102/64 105/108/64 103/109/64 +f 103/109/64 100/103/64 102/102/64 +f 102/105/65 101/104/65 104/110/65 +f 104/110/65 105/111/65 102/105/65 +f 86/71/66 85/70/66 82/61/66 +f 82/61/66 81/60/66 86/71/66 +f 89/75/67 86/74/67 81/64/67 +f 81/64/67 84/63/67 89/75/67 +f 82/67/68 85/79/68 89/78/68 +f 89/78/68 84/68/68 82/67/68 +f 103/106/69 106/112/69 107/113/69 +f 107/113/69 104/107/69 103/106/69 +f 108/114/70 106/115/70 103/109/70 +f 103/109/70 105/108/70 108/114/70 +f 107/116/71 108/117/71 105/111/71 +f 105/111/71 104/110/71 107/116/71 +f 109/118/25 110/119/25 111/120/25 +f 111/120/25 112/121/25 109/118/25 +f 109/118/25 110/119/25 111/120/25 +f 111/120/25 112/121/25 109/118/25 +f 113/122/72 114/123/72 115/124/72 +f 115/124/72 116/125/72 113/122/72 +f 116/126/73 115/127/73 117/128/73 +f 117/128/73 118/129/73 116/126/73 +f 118/122/74 117/123/74 119/124/74 +f 119/124/74 120/125/74 118/122/74 +f 120/129/75 119/128/75 114/127/75 +f 114/127/75 113/126/75 120/129/75 +f 121/123/76 122/124/76 123/125/76 +f 123/125/76 124/122/76 121/123/76 +f 125/128/77 121/127/77 124/126/77 +f 124/126/77 126/129/77 125/128/77 +f 127/124/78 125/123/78 126/122/78 +f 126/122/78 128/125/78 127/124/78 +f 122/127/79 127/128/79 128/129/79 +f 128/129/79 123/126/79 122/127/79 +f 129/130/80 130/131/80 131/132/80 +f 131/132/80 132/133/80 129/130/80 +f 130/134/81 133/135/81 134/136/81 +f 134/136/81 131/137/81 130/134/81 +f 133/131/82 135/130/82 136/133/82 +f 136/133/82 134/132/82 133/131/82 +f 135/135/83 129/134/83 132/137/83 +f 132/137/83 136/136/83 135/135/83 +f 129/130/84 137/138/84 138/139/84 +f 138/139/84 130/131/84 129/130/84 +f 130/134/85 138/140/85 139/141/85 +f 139/141/85 133/135/85 130/134/85 +f 133/131/86 139/139/86 140/138/86 +f 140/138/86 135/130/86 133/131/86 +f 135/135/87 140/141/87 137/140/87 +f 137/140/87 129/134/87 135/135/87 +f 141/142/88 142/143/88 143/144/88 +f 143/144/88 144/145/88 141/142/88 +f 143/146/89 145/147/89 146/148/89 +f 146/148/89 144/149/89 143/146/89 +f 145/150/25 147/151/25 148/152/25 +f 148/152/25 146/153/25 145/150/25 +f 147/154/90 142/155/90 141/156/90 +f 141/156/90 148/157/90 147/154/90 +f 149/123/91 150/124/91 151/125/91 +f 151/125/91 152/122/91 149/123/91 +f 153/128/92 149/127/92 152/126/92 +f 152/126/92 154/129/92 153/128/92 +f 155/124/74 153/123/74 154/122/74 +f 154/122/74 156/125/74 155/124/74 +f 150/127/93 155/128/93 156/129/93 +f 156/129/93 151/126/93 150/127/93 +f 157/125/76 158/124/76 159/123/76 +f 159/123/76 160/122/76 157/125/76 +f 160/126/94 159/127/94 161/128/94 +f 161/128/94 162/129/94 160/126/94 +f 162/122/78 161/123/78 163/124/78 +f 163/124/78 164/125/78 162/122/78 +f 164/129/95 163/128/95 158/127/95 +f 158/127/95 157/126/95 164/129/95 +f 165/133/84 166/130/84 167/131/84 +f 167/131/84 168/132/84 165/133/84 +f 169/136/96 170/135/96 166/134/96 +f 166/134/96 165/137/96 169/136/96 +f 171/132/82 172/131/82 170/130/82 +f 170/130/82 169/133/82 171/132/82 +f 168/137/97 167/134/97 172/135/97 +f 172/135/97 171/136/97 168/137/97 +f 173/138/80 174/139/80 167/131/80 +f 167/131/80 166/130/80 173/138/80 +f 175/141/98 173/140/98 166/134/98 +f 166/134/98 170/135/98 175/141/98 +f 176/139/82 175/138/82 170/130/82 +f 170/130/82 172/131/82 176/139/82 +f 174/140/99 176/141/99 172/135/99 +f 172/135/99 167/134/99 174/140/99 +f 177/143/88 178/144/88 179/145/88 +f 179/145/88 180/142/88 177/143/88 +f 181/157/36 182/154/36 179/155/36 +f 179/155/36 178/156/36 181/157/36 +f 183/151/25 184/152/25 182/153/25 +f 182/153/25 181/150/25 183/151/25 +f 177/156/100 180/155/100 184/154/100 +f 184/154/100 183/157/100 177/156/100 +f 185/158/101 186/159/101 187/160/101 +f 187/160/101 188/161/101 185/158/101 +f 186/162/102 189/163/102 190/164/102 +f 190/164/102 187/165/102 186/162/102 +f 189/159/103 191/158/103 192/161/103 +f 192/161/103 190/160/103 189/159/103 +f 191/163/104 185/162/104 188/165/104 +f 188/165/104 192/164/104 191/163/104 +f 185/158/105 193/166/105 194/167/105 +f 194/167/105 186/159/105 185/158/105 +f 186/162/106 194/168/106 195/169/106 +f 195/169/106 189/163/106 186/162/106 +f 189/159/107 195/170/107 196/171/107 +f 196/171/107 191/158/107 189/159/107 +f 191/163/108 196/169/108 193/168/108 +f 193/168/108 185/162/108 191/163/108 +f 197/172/109 198/173/109 199/174/109 +f 199/174/109 200/175/109 197/172/109 +f 201/176/110 202/177/110 200/178/110 +f 200/178/110 199/179/110 201/176/110 +f 203/180/82 197/172/82 200/181/82 +f 200/181/82 202/182/82 203/180/82 +f 204/183/111 198/173/111 197/172/111 +f 197/172/111 203/180/111 204/183/111 +f 205/184/112 206/185/112 207/186/112 +f 207/186/112 208/187/112 205/184/112 +f 208/188/113 202/177/113 201/176/113 +f 201/176/113 205/189/113 208/188/113 +f 208/190/82 207/186/82 203/180/82 +f 203/180/82 202/182/82 208/190/82 +f 207/186/114 206/185/114 204/183/114 +f 204/183/114 203/180/114 207/186/114 +f 209/191/115 210/192/115 211/193/115 +f 211/193/115 212/194/115 209/191/115 +f 213/195/116 209/191/116 212/194/116 +f 212/194/116 214/196/116 213/195/116 +f 215/197/117 213/195/117 214/196/117 +f 214/196/117 216/198/117 215/197/117 +f 217/199/118 215/197/118 216/198/118 +f 216/198/118 218/200/118 217/199/118 +f 219/191/119 217/192/119 218/193/119 +f 218/193/119 220/194/119 219/191/119 +f 221/195/120 219/191/120 220/194/120 +f 220/194/120 222/196/120 221/195/120 +f 223/197/121 221/195/121 222/196/121 +f 222/196/121 224/198/121 223/197/121 +f 210/199/122 223/197/122 224/198/122 +f 224/198/122 211/200/122 210/199/122 +f 210/201/123 209/202/123 36/203/123 +f 36/203/123 35/204/123 210/201/123 +f 223/205/124 210/201/124 35/204/124 +f 35/204/124 38/206/124 223/205/124 +f 221/207/125 223/205/125 38/206/125 +f 38/206/125 40/208/125 221/207/125 +f 219/209/126 221/207/126 40/208/126 +f 40/208/126 42/210/126 219/209/126 +f 217/211/127 219/209/127 42/210/127 +f 42/210/127 44/212/127 217/211/127 +f 215/213/128 217/211/128 44/212/128 +f 44/212/128 46/214/128 215/213/128 +f 213/215/129 215/213/129 46/214/129 +f 46/214/129 48/216/129 213/215/129 +f 209/202/130 213/215/130 48/216/130 +f 48/216/130 36/203/130 209/202/130 +f 211/200/131 224/198/131 225/217/131 +f 225/217/131 226/218/131 211/200/131 +f 224/198/132 222/196/132 227/219/132 +f 227/219/132 225/217/132 224/198/132 +f 222/196/133 220/194/133 228/220/133 +f 228/220/133 227/219/133 222/196/133 +f 220/194/134 218/193/134 229/221/134 +f 229/221/134 228/220/134 220/194/134 +f 218/200/135 216/198/135 230/217/135 +f 230/217/135 229/218/135 218/200/135 +f 216/198/136 214/196/136 231/219/136 +f 231/219/136 230/217/136 216/198/136 +f 214/196/137 212/194/137 232/220/137 +f 232/220/137 231/219/137 214/196/137 +f 212/194/138 211/193/138 226/221/138 +f 226/221/138 232/220/138 212/194/138 +f 232/222/33 226/223/33 2/224/33 +f 2/224/33 1/225/33 232/222/33 +f 226/223/139 225/226/139 9/227/139 +f 9/227/139 2/224/139 226/223/139 +f 225/226/33 227/228/33 13/229/33 +f 13/229/33 9/227/33 225/226/33 +f 227/228/25 228/230/25 17/231/25 +f 17/231/25 13/229/25 227/228/25 +f 228/230/139 229/232/139 21/233/139 +f 21/233/139 17/231/139 228/230/139 +f 229/232/25 230/234/25 25/235/25 +f 25/235/25 21/233/25 229/232/25 +f 230/234/25 231/236/25 29/237/25 +f 29/237/25 25/235/25 230/234/25 +f 231/236/140 232/222/140 1/225/140 +f 1/225/140 29/237/140 231/236/140 +f 16/238/141 20/239/141 41/240/141 +f 41/240/141 39/241/141 16/238/141 +f 12/242/142 16/238/142 39/241/142 +f 39/241/142 37/243/142 12/242/142 +f 7/244/143 12/242/143 37/243/143 +f 37/243/143 34/245/143 7/244/143 +f 8/246/144 7/244/144 34/245/144 +f 34/245/144 33/247/144 8/246/144 +f 32/248/145 8/246/145 33/247/145 +f 33/247/145 47/249/145 32/248/145 +f 28/250/146 32/248/146 47/249/146 +f 47/249/146 45/251/146 28/250/146 +f 24/252/147 28/250/147 45/251/147 +f 45/251/147 43/253/147 24/252/147 +f 20/239/148 24/252/148 43/253/148 +f 43/253/148 41/240/148 20/239/148 +f 233/172/149 206/173/149 205/174/149 +f 205/174/149 234/175/149 233/172/149 +f 201/176/150 235/177/150 234/178/150 +f 234/178/150 205/179/150 201/176/150 +f 236/180/84 233/172/84 234/181/84 +f 234/181/84 235/182/84 236/180/84 +f 204/183/151 206/173/151 233/172/151 +f 233/172/151 236/180/151 204/183/151 +f 199/184/152 198/185/152 237/186/152 +f 237/186/152 238/187/152 199/184/152 +f 238/188/153 235/177/153 201/176/153 +f 201/176/153 199/189/153 238/188/153 +f 238/190/84 237/186/84 236/180/84 +f 236/180/84 235/182/84 238/190/84 +f 237/186/154 198/185/154 204/183/154 +f 204/183/154 236/180/154 237/186/154 +# 368 faces + diff --git a/examples/web/models/resources/models/well_diffuse.png b/examples/web/models/resources/models/well_diffuse.png new file mode 100644 index 0000000..df22941 Binary files /dev/null and b/examples/web/models/resources/models/well_diffuse.png differ diff --git a/examples/web/models/resources/pinetree.hdr b/examples/web/models/resources/pinetree.hdr deleted file mode 100644 index 9d4306e..0000000 Binary files a/examples/web/models/resources/pinetree.hdr and /dev/null differ diff --git a/examples/web/models/resources/plane.png b/examples/web/models/resources/plane.png index 9f28ddb..58951ea 100644 Binary files a/examples/web/models/resources/plane.png and b/examples/web/models/resources/plane.png differ diff --git a/examples/web/models/resources/shaders/brdf.fs b/examples/web/models/resources/shaders/brdf.fs index 59ae384..d04bc66 100644 --- a/examples/web/models/resources/shaders/brdf.fs +++ b/examples/web/models/resources/shaders/brdf.fs @@ -1,60 +1,50 @@ /******************************************************************************************* * -* rPBR [shader] - Bidirectional reflectance distribution function fragment shader +* BRDF LUT Generation - Bidirectional reflectance distribution function fragment shader +* +* REF: https://github.com/HectorMF/BRDFGenerator * * Copyright (c) 2017 Victor Fisac * **********************************************************************************************/ #version 330 -#define MAX_SAMPLES 1024u + // Input vertex attributes (from vertex shader) in vec2 fragTexCoord; // Constant values const float PI = 3.14159265359; +const uint MAX_SAMPLES = 1024u; // Output fragment color out vec4 finalColor; -float DistributionGGX(vec3 N, vec3 H, float roughness); -float RadicalInverse_VdC(uint bits); vec2 Hammersley(uint i, uint N); -vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); +float RadicalInverseVdC(uint bits); float GeometrySchlickGGX(float NdotV, float roughness); float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); +vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); vec2 IntegrateBRDF(float NdotV, float roughness); -float DistributionGGX(vec3 N, vec3 H, float roughness) -{ - float a = roughness*roughness; - float a2 = a*a; - float NdotH = max(dot(N, H), 0.0); - float NdotH2 = NdotH*NdotH; - - float nom = a2; - float denom = (NdotH2*(a2 - 1.0) + 1.0); - denom = PI*denom*denom; - - return nom/denom; -} - -float RadicalInverse_VdC(uint bits) +float RadicalInverseVdC(uint bits) { - bits = (bits << 16u) | (bits >> 16u); - bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); - bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); - bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); - bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); - return float(bits) * 2.3283064365386963e-10; // / 0x100000000 + bits = (bits << 16u) | (bits >> 16u); + bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); + bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); + bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); + bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); + return float(bits) * 2.3283064365386963e-10; // / 0x100000000 } +// Compute Hammersley coordinates vec2 Hammersley(uint i, uint N) { - return vec2(float(i)/float(N), RadicalInverse_VdC(i)); + return vec2(float(i)/float(N), RadicalInverseVdC(i)); } +// Integrate number of importance samples for (roughness and NoV) vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) { float a = roughness*roughness; @@ -85,6 +75,7 @@ float GeometrySchlickGGX(float NdotV, float roughness) return nom/denom; } +// Compute the geometry term for the BRDF given roughness squared, NoV, NoL float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) { float NdotV = max(dot(N, V), 0.0); @@ -97,29 +88,31 @@ float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) vec2 IntegrateBRDF(float NdotV, float roughness) { - vec3 V = vec3(sqrt(1.0 - NdotV*NdotV), 0.0, NdotV); float A = 0.0; - float B = 0.0; + float B = 0.0; + vec3 V = vec3(sqrt(1.0 - NdotV*NdotV), 0.0, NdotV); vec3 N = vec3(0.0, 0.0, 1.0); - for(uint i = 0u; i < MAX_SAMPLES; i++) + for (uint i = 0u; i < MAX_SAMPLES; i++) { // Generate a sample vector that's biased towards the preferred alignment direction (importance sampling) - vec2 Xi = Hammersley(i, MAX_SAMPLES); - vec3 H = ImportanceSampleGGX(Xi, N, roughness); - vec3 L = normalize(2.0*dot(V, H)*H - V); - float NdotL = max(L.z, 0.0); - float NdotH = max(H.z, 0.0); - float VdotH = max(dot(V, H), 0.0); + + vec2 Xi = Hammersley(i, MAX_SAMPLES); // Compute a Hammersely coordinate + vec3 H = ImportanceSampleGGX(Xi, N, roughness); // Integrate number of importance samples for (roughness and NoV) + vec3 L = normalize(2.0*dot(V, H)*H - V); // Compute reflection vector L + + float NdotL = max(L.z, 0.0); // Compute normal dot light + float NdotH = max(H.z, 0.0); // Compute normal dot half + float VdotH = max(dot(V, H), 0.0); // Compute view dot half if (NdotL > 0.0) { - float G = GeometrySmith(N, V, L, roughness); - float G_Vis = (G*VdotH)/(NdotH*NdotV); - float Fc = pow(1.0 - VdotH, 5.0); + float G = GeometrySmith(N, V, L, roughness); // Compute the geometry term for the BRDF given roughness squared, NoV, NoL + float GVis = (G*VdotH)/(NdotH*NdotV); // Compute the visibility term given G, VoH, NoH, NoV, NoL + float Fc = pow(1.0 - VdotH, 5.0); // Compute the fresnel term given VoH - A += (1.0 - Fc)*G_Vis; - B += Fc*G_Vis; + A += (1.0 - Fc)*GVis; // Sum the result given fresnel, geometry, visibility + B += Fc*GVis; } } diff --git a/examples/web/models/resources/shaders/cubemap.fs b/examples/web/models/resources/shaders/cubemap.fs index 09ae62f..e8e2853 100644 --- a/examples/web/models/resources/shaders/cubemap.fs +++ b/examples/web/models/resources/shaders/cubemap.fs @@ -9,7 +9,7 @@ #version 330 // Input vertex attributes (from vertex shader) -in vec3 fragPos; +in vec3 fragPosition; // Input uniform values uniform sampler2D equirectangularMap; @@ -28,7 +28,7 @@ vec2 SampleSphericalMap(vec3 v) void main() { // Normalize local position - vec2 uv = SampleSphericalMap(normalize(fragPos)); + vec2 uv = SampleSphericalMap(normalize(fragPosition)); // Fetch color from texture map vec3 color = texture(equirectangularMap, uv).rgb; diff --git a/examples/web/models/resources/shaders/cubemap.vs b/examples/web/models/resources/shaders/cubemap.vs index 6e0bf4e..5721eaa 100644 --- a/examples/web/models/resources/shaders/cubemap.vs +++ b/examples/web/models/resources/shaders/cubemap.vs @@ -16,12 +16,12 @@ uniform mat4 projection; uniform mat4 view; // Output vertex attributes (to fragment shader) -out vec3 fragPos; +out vec3 fragPosition; void main() { // Calculate fragment position based on model transformations - fragPos = vertexPosition; + fragPosition = vertexPosition; // Calculate final vertex position gl_Position = projection*view*vec4(vertexPosition, 1.0); diff --git a/examples/web/models/resources/shaders/irradiance.fs b/examples/web/models/resources/shaders/irradiance.fs index 8711367..b42d214 100644 --- a/examples/web/models/resources/shaders/irradiance.fs +++ b/examples/web/models/resources/shaders/irradiance.fs @@ -9,7 +9,7 @@ #version 330 // Input vertex attributes (from vertex shader) -in vec3 fragPos; +in vec3 fragPosition; // Input uniform values uniform samplerCube environmentMap; @@ -23,7 +23,7 @@ out vec4 finalColor; void main() { // The sample direction equals the hemisphere's orientation - vec3 normal = normalize(fragPos); + vec3 normal = normalize(fragPosition); vec3 irradiance = vec3(0.0); diff --git a/examples/web/models/resources/shaders/pbr.vs b/examples/web/models/resources/shaders/pbr.vs index e852ac1..8bd3faa 100644 --- a/examples/web/models/resources/shaders/pbr.vs +++ b/examples/web/models/resources/shaders/pbr.vs @@ -12,11 +12,11 @@ in vec3 vertexPosition; in vec2 vertexTexCoord; in vec3 vertexNormal; -in vec3 vertexTangent; +in vec4 vertexTangent; // Input uniform values uniform mat4 mvp; -uniform mat4 mMatrix; +uniform mat4 matModel; // Output vertex attributes (to fragment shader) out vec3 fragPosition; @@ -28,18 +28,18 @@ out vec3 fragBinormal; void main() { // Calculate binormal from vertex normal and tangent - vec3 vertexBinormal = cross(vertexNormal, vertexTangent); + vec3 vertexBinormal = cross(vertexNormal, vec3(vertexTangent)); // Calculate fragment normal based on normal transformations - mat3 normalMatrix = transpose(inverse(mat3(mMatrix))); + mat3 normalMatrix = transpose(inverse(mat3(matModel))); // Calculate fragment position based on model transformations - fragPosition = vec3(mMatrix*vec4(vertexPosition, 1.0f)); + fragPosition = vec3(matModel*vec4(vertexPosition, 1.0f)); // Send vertex attributes to fragment shader fragTexCoord = vertexTexCoord; fragNormal = normalize(normalMatrix*vertexNormal); - fragTangent = normalize(normalMatrix*vertexTangent); + fragTangent = normalize(normalMatrix*vec3(vertexTangent)); fragTangent = normalize(fragTangent - dot(fragTangent, fragNormal)*fragNormal); fragBinormal = normalize(normalMatrix*vertexBinormal); fragBinormal = cross(fragNormal, fragTangent); diff --git a/examples/web/models/resources/shaders/prefilter.fs b/examples/web/models/resources/shaders/prefilter.fs index f5cf64b..9439810 100644 --- a/examples/web/models/resources/shaders/prefilter.fs +++ b/examples/web/models/resources/shaders/prefilter.fs @@ -11,7 +11,7 @@ #define CUBEMAP_RESOLUTION 1024.0 // Input vertex attributes (from vertex shader) -in vec3 fragPos; +in vec3 fragPosition; // Input uniform values uniform samplerCube environmentMap; @@ -79,7 +79,7 @@ vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) void main() { // Make the simplyfying assumption that V equals R equals the normal - vec3 N = normalize(fragPos); + vec3 N = normalize(fragPosition); vec3 R = N; vec3 V = R; diff --git a/examples/web/models/resources/shaders/skybox.fs b/examples/web/models/resources/shaders/skybox.fs index 0bd2f32..053a251 100644 --- a/examples/web/models/resources/shaders/skybox.fs +++ b/examples/web/models/resources/shaders/skybox.fs @@ -9,7 +9,7 @@ #version 330 // Input vertex attributes (from vertex shader) -in vec3 fragPos; +in vec3 fragPosition; // Input uniform values uniform samplerCube environmentMap; @@ -20,7 +20,7 @@ out vec4 finalColor; void main() { // Fetch color from texture map - vec3 color = texture(environmentMap, fragPos).rgb; + vec3 color = texture(environmentMap, fragPosition).rgb; // Apply gamma correction color = color/(color + vec3(1.0)); diff --git a/examples/web/models/resources/shaders/skybox.vs b/examples/web/models/resources/shaders/skybox.vs index f40d615..dcbe6c3 100644 --- a/examples/web/models/resources/shaders/skybox.vs +++ b/examples/web/models/resources/shaders/skybox.vs @@ -16,12 +16,12 @@ uniform mat4 projection; uniform mat4 view; // Output vertex attributes (to fragment shader) -out vec3 fragPos; +out vec3 fragPosition; void main() { // Calculate fragment position based on model transformations - fragPos = vertexPosition; + fragPosition = vertexPosition; // Remove translation from the view matrix mat4 rotView = mat4(mat3(view)); diff --git a/examples/web/models/resources/tower.obj b/examples/web/models/resources/tower.obj deleted file mode 100644 index ea03a9f..0000000 --- a/examples/web/models/resources/tower.obj +++ /dev/null @@ -1,456 +0,0 @@ -# Blender v2.78 (sub 0) OBJ File: 'lowpoly-tower.blend' -# www.blender.org -o Grid -v -4.000000 0.000000 4.000000 -v -2.327363 0.000000 4.654725 -v 0.000000 0.000000 4.654725 -v 2.327363 0.000000 4.654725 -v 4.000000 0.000000 4.000000 -v -4.654725 0.955085 2.327363 -v -2.000000 0.815050 2.000000 -v 0.000000 0.476341 2.423448 -v 2.000000 0.476341 2.000000 -v 4.654725 0.000000 2.327363 -v -4.654725 1.649076 0.000000 -v -2.423448 1.092402 0.000000 -v 2.423448 0.198579 0.000000 -v 4.654725 0.000000 0.000000 -v -4.654725 1.649076 -2.327363 -v -2.000000 1.092402 -2.000000 -v 0.000000 0.476341 -2.423448 -v 2.000000 -0.012791 -2.000000 -v 4.654725 0.000000 -2.612731 -v -4.000000 0.955085 -4.000000 -v -2.327363 0.955085 -4.654725 -v 0.000000 0.955085 -4.654725 -v 2.327363 0.000000 -4.654725 -v 4.000000 0.000000 -4.000000 -v 2.423448 0.682825 0.000000 -v 2.000000 0.565423 -2.000000 -v -4.654725 -0.020560 2.327363 -v -4.654725 0.000000 0.000000 -v -4.654725 0.000000 -2.327363 -v -4.000000 0.000000 -4.000000 -v -2.327363 0.000000 -4.654725 -v 0.000000 -0.020560 -4.654725 -v 0.000000 0.709880 -1.230535 -v -0.000000 7.395413 0.000000 -v 0.962071 0.709880 -0.767226 -v -0.533909 0.709880 1.108674 -v -1.199683 0.709880 0.273820 -v -0.962071 0.709880 -0.767226 -v 1.506076 0.859071 1.325337 -v 1.199683 0.709880 0.273820 -v 0.533909 0.709880 1.108674 -v 0.000000 1.875340 -1.177842 -v -0.000000 2.293973 -0.649884 -v -0.000000 4.365648 -0.627970 -v 0.000000 6.167194 -0.942957 -v 0.000000 6.232434 -1.708677 -v 1.335898 6.232434 -1.065343 -v 0.737233 6.167195 -0.587924 -v 0.490966 4.365648 -0.391533 -v 0.508100 2.293973 -0.405196 -v 0.920874 1.875340 -0.734372 -v -0.741367 6.232434 1.539465 -v -0.409133 6.167195 0.849574 -v -0.272466 4.365648 0.565781 -v -0.281974 2.293973 0.585526 -v -0.511047 1.875340 1.061199 -v -1.665837 6.232434 0.380217 -v -0.919314 6.167195 0.209828 -v -0.612225 4.365648 0.139736 -v -0.633590 2.293973 0.144613 -v -1.148311 1.875340 0.262095 -v -1.335898 6.232434 -1.065343 -v -0.737233 6.167195 -0.587924 -v -0.490967 4.365648 -0.391533 -v -0.508100 2.293973 -0.405196 -v -0.920874 1.875340 -0.734372 -v 1.665837 6.232434 0.380216 -v 0.919315 6.167195 0.209828 -v 0.612225 4.365648 0.139736 -v 0.633590 2.293973 0.144613 -v 1.148311 1.875340 0.262095 -v 0.741367 6.232434 1.539465 -v 0.409133 6.167195 0.849575 -v 0.272466 4.365648 0.565781 -v 0.281974 2.293973 0.585526 -v 0.511046 1.875340 1.061199 -v 0.000000 5.012550 -0.969733 -v 0.758168 5.012550 -0.604618 -v -0.420751 5.012550 0.873699 -v -0.945419 5.012550 0.215786 -v -0.758168 5.012550 -0.604618 -v 0.945419 5.012550 0.215786 -v 0.420751 5.012550 0.873699 -vt 0.0523 0.5444 -vt 0.1817 0.4284 -vt 0.1641 0.5859 -vt 0.0177 0.4451 -vt 0.1526 0.3090 -vt 0.0189 0.1737 -vt 0.0188 0.3088 -vt 0.0561 0.0762 -vt 0.1757 0.1924 -vt 0.3024 0.4534 -vt 0.3071 0.5902 -vt 0.3413 0.2459 -vt 0.2906 0.1614 -vt 0.4116 0.1801 -vt 0.2834 0.3774 -vt 0.1526 0.0362 -vt 0.2917 0.1622 -vt 0.4446 0.5865 -vt 0.4443 0.2989 -vt 0.3711 0.3021 -vt 0.4396 0.0275 -vt 0.4094 0.1829 -vt 0.4219 0.4255 -vt 0.5474 0.5381 -vt 0.5811 0.4376 -vt 0.5715 0.1505 -vt 0.5811 0.2997 -vt 0.5272 0.0533 -vt 0.2208 0.2194 -vt 0.3456 0.3610 -vt 0.2878 0.0321 -vt 0.2321 0.3392 -vt 0.4432 0.0177 -vt 0.7347 0.7934 -vt 0.7382 0.7595 -vt 0.8982 0.7768 -vt 0.6169 0.7595 -vt 0.6139 0.7879 -vt 0.4951 0.7634 -vt 0.1551 0.6832 -vt 0.2925 0.6268 -vt 0.2925 0.6832 -vt 0.7795 0.6832 -vt 0.6421 0.6268 -vt 0.7795 0.6255 -vt 0.5046 0.7241 -vt 0.6421 0.7241 -vt 0.3986 0.6268 -vt 0.3986 0.6832 -vt 0.5046 0.6268 -vt 0.0177 0.6268 -vt 0.1551 0.6255 -vt 0.8856 0.6268 -vt 0.1899 0.9579 -vt 0.1194 0.8696 -vt 0.2324 0.8696 -vt 0.1899 0.7813 -vt 0.0943 0.7595 -vt 0.0177 0.8206 -vt 0.0177 0.9186 -vt 0.0943 0.9797 -vt 0.2793 0.2349 -vt 0.2304 0.2758 -vt 0.6597 0.0177 -vt 0.6954 0.0993 -vt 0.6367 0.0768 -vt 0.7558 0.0777 -vt 0.7238 0.0440 -vt 0.8840 0.1330 -vt 0.7385 0.1141 -vt 0.9157 0.0886 -vt 0.9781 0.1232 -vt 0.9224 0.1276 -vt 0.2677 0.8141 -vt 0.3463 0.8037 -vt 0.3086 0.8339 -vt 0.6387 0.3550 -vt 0.7130 0.3801 -vt 0.6596 0.4053 -vt 0.7245 0.3245 -vt 0.6919 0.3383 -vt 0.8655 0.3566 -vt 0.7351 0.3577 -vt 0.9770 0.3365 -vt 0.9078 0.3751 -vt 0.9174 0.3282 -vt 0.2677 0.9018 -vt 0.3086 0.8821 -vt 0.6803 0.2948 -vt 0.6251 0.3035 -vt 0.7194 0.2854 -vt 0.8764 0.2832 -vt 0.9221 0.2861 -vt 0.3363 0.9565 -vt 0.3464 0.9122 -vt 0.6751 0.2482 -vt 0.6178 0.2499 -vt 0.7179 0.2431 -vt 0.9823 0.2484 -vt 0.9247 0.2452 -vt 0.3935 0.9014 -vt 0.6755 0.1996 -vt 0.6164 0.1941 -vt 0.7201 0.1992 -vt 0.8793 0.2446 -vt 0.9823 0.2060 -vt 0.9257 0.2051 -vt 0.4598 0.8580 -vt 0.4144 0.8579 -vt 0.6819 0.1498 -vt 0.6222 0.1361 -vt 0.7266 0.1555 -vt 0.8831 0.1684 -vt 0.9252 0.1659 -vt 0.4218 0.7790 -vt 0.3934 0.8145 -vt 0.3363 0.7595 -vt 0.8815 0.2060 -vt 0.8720 0.3208 -vt 0.8825 0.1012 -vt 0.9735 0.0816 -vt 0.9718 0.3817 -vt 0.9807 0.2918 -vt 0.4218 0.9370 -vt 0.9810 0.1644 -vn 0.1035 0.8806 0.4623 -vn 0.0964 0.9481 0.3030 -vn 0.0000 0.9780 0.2088 -vn 0.0659 0.9835 0.1683 -vn 0.2325 0.9320 0.2779 -vn 0.0553 0.9960 -0.0702 -vn 0.2827 0.9564 0.0728 -vn 0.1873 0.9776 -0.0961 -vn 0.2421 0.9703 0.0000 -vn 0.0921 0.9772 -0.1913 -vn -0.0277 0.9947 -0.0993 -vn 0.2308 0.9274 -0.2944 -vn 0.2771 0.9572 -0.0837 -vn 0.3724 0.9074 0.1947 -vn 0.0777 0.9770 -0.1985 -vn -0.1094 0.9539 0.2794 -vn 0.0364 0.9844 0.1721 -vn 0.1683 0.9835 0.0659 -vn 0.0674 0.9901 0.1230 -vn 0.4338 0.8823 0.1829 -vn 0.2845 0.9565 0.0649 -vn 0.0886 0.9961 0.0000 -vn 0.2000 0.9789 0.0424 -vn 0.1417 0.9830 0.1171 -vn 0.3021 0.9524 0.0412 -vn -0.0193 0.9986 -0.0493 -vn 0.0000 0.9777 0.2098 -vn 0.0005 0.9781 -0.2083 -vn 0.1879 0.9782 -0.0887 -vn 0.2249 0.0000 0.9744 -vn 0.9783 0.0000 -0.2071 -vn 0.9783 0.0000 0.2071 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 -vn -0.3645 0.0000 -0.9312 -vn -0.9312 0.0000 -0.3645 -vn -0.9312 0.0000 0.3645 -vn 0.2615 0.7979 -0.5431 -vn 0.5877 0.7979 -0.1341 -vn 0.4713 0.7979 0.3758 -vn -0.0000 0.7979 0.6028 -vn -0.4713 0.7979 0.3758 -vn -0.5877 0.7979 -0.1341 -vn -0.2615 0.7979 -0.5431 -vn -0.1285 0.9864 -0.1025 -vn 0.0929 0.8937 0.4389 -vn -0.4335 0.0407 -0.9002 -vn -0.2867 0.7507 -0.5952 -vn -0.4339 0.0095 -0.9009 -vn -0.4338 0.0209 -0.9008 -vn -0.0408 -0.9956 -0.0848 -vn -0.9741 0.0407 -0.2223 -vn -0.6441 0.7507 -0.1470 -vn -0.9749 0.0095 -0.2225 -vn -0.9747 0.0209 -0.2225 -vn -0.0918 -0.9956 -0.0209 -vn -0.7812 0.0407 0.6230 -vn -0.5165 0.7507 0.4119 -vn -0.7818 0.0095 0.6235 -vn -0.7817 0.0209 0.6234 -vn -0.0736 -0.9956 0.0587 -vn -0.0000 0.0407 0.9992 -vn 0.0000 0.7507 0.6607 -vn 0.0000 0.0095 1.0000 -vn -0.0000 0.0209 0.9998 -vn -0.0000 -0.9956 0.0941 -vn 0.7812 0.0407 0.6230 -vn 0.5165 0.7507 0.4119 -vn 0.7818 0.0095 0.6235 -vn 0.7817 0.0209 0.6234 -vn 0.0736 -0.9956 0.0587 -vn 0.9741 0.0407 -0.2223 -vn 0.6441 0.7507 -0.1470 -vn 0.9749 0.0095 -0.2225 -vn 0.9747 0.0209 -0.2225 -vn 0.0918 -0.9956 -0.0209 -vn 0.4335 0.0407 -0.9002 -vn 0.2867 0.7507 -0.5952 -vn 0.4339 0.0095 -0.9009 -vn 0.4338 0.0209 -0.9008 -vn 0.0408 -0.9956 -0.0848 -vn 0.3918 -0.4298 -0.8135 -vn 0.8803 -0.4298 -0.2009 -vn 0.7059 -0.4298 0.5630 -vn -0.0000 -0.4298 0.9029 -vn -0.7059 -0.4298 0.5630 -vn -0.8803 -0.4298 -0.2009 -vn -0.3918 -0.4298 -0.8135 -vn 0.0210 0.9998 -0.0048 -vn 0.0482 0.9981 -0.0385 -vn -0.0166 0.9914 -0.1301 -vn -0.0090 0.9904 -0.1379 -vn 0.2820 0.9576 0.0597 -vn -0.0000 0.9846 0.1749 -vn -0.0921 0.9772 -0.1913 -vn -0.1734 0.9794 0.1036 -s off -f 1/1/1 7/2/1 6/3/1 -f 2/4/2 8/5/2 7/2/2 -f 4/6/3 8/5/3 3/7/3 -f 5/8/4 9/9/4 4/6/4 -f 6/3/5 12/10/5 11/11/5 -f 35/12/6 25/13/6 26/14/6 -f 7/2/7 37/15/7 12/10/7 -f 10/16/8 13/17/8 9/9/8 -f 12/10/9 15/18/9 11/11/9 -f 35/12/10 17/19/10 33/20/10 -f 13/17/11 19/21/11 18/22/11 -f 16/23/12 20/24/12 15/18/12 -f 17/19/13 21/25/13 16/23/13 -f 17/19/14 23/26/14 22/27/14 -f 26/14/15 24/28/15 23/26/15 -f 1/1/16 2/4/16 7/2/16 -f 2/4/3 3/7/3 8/5/3 -f 4/6/17 9/9/17 8/5/17 -f 5/8/18 10/16/18 9/9/18 -f 6/3/19 7/2/19 12/10/19 -f 25/13/20 39/29/20 9/9/20 -f 38/30/21 12/10/21 37/15/21 -f 10/16/22 14/31/22 13/17/22 -f 12/10/23 16/23/23 15/18/23 -f 8/5/24 36/32/24 7/2/24 -f 38/30/25 17/19/25 16/23/25 -f 13/17/22 14/31/22 19/21/22 -f 16/23/26 21/25/26 20/24/26 -f 17/19/27 22/27/27 21/25/27 -f 17/19/28 26/14/28 23/26/28 -f 26/14/29 19/33/29 24/28/29 -f 26/34/30 18/35/30 19/36/30 -f 26/34/31 13/37/31 18/35/31 -f 25/38/32 9/39/32 13/37/32 -f 22/40/33 31/41/33 21/42/33 -f 6/43/34 28/44/34 27/45/34 -f 15/46/34 28/44/34 11/47/34 -f 21/42/35 30/48/35 20/49/35 -f 20/49/36 29/50/36 15/46/36 -f 22/40/33 23/51/33 32/52/33 -f 6/43/37 27/45/37 1/53/37 -f 46/54/38 34/55/38 47/56/38 -f 47/56/39 34/55/39 67/57/39 -f 67/57/40 34/55/40 72/58/40 -f 72/58/41 34/55/41 52/59/41 -f 52/59/42 34/55/42 57/60/42 -f 57/60/43 34/55/43 62/61/43 -f 62/61/44 34/55/44 46/54/44 -f 40/62/45 41/63/45 39/29/45 -f 39/29/46 8/5/46 9/9/46 -f 38/64/47 42/65/47 33/66/47 -f 65/67/48 42/65/48 66/68/48 -f 65/67/49 44/69/49 43/70/49 -f 81/71/50 45/72/50 77/73/50 -f 62/74/51 45/75/51 63/76/51 -f 37/77/52 66/78/52 38/79/52 -f 60/80/53 66/78/53 61/81/53 -f 60/80/54 64/82/54 65/83/54 -f 58/84/55 81/85/55 80/86/55 -f 57/87/56 63/76/56 58/88/56 -f 56/89/57 37/77/57 36/90/57 -f 55/91/58 61/81/58 56/89/58 -f 54/92/59 60/80/59 55/91/59 -f 79/93/60 58/84/60 80/86/60 -f 52/94/61 58/88/61 53/95/61 -f 76/96/62 36/90/62 41/97/62 -f 75/98/63 56/89/63 76/96/63 -f 75/98/64 54/92/64 55/91/64 -f 73/99/65 79/93/65 83/100/65 -f 73/101/66 52/94/66 53/95/66 -f 71/102/67 41/97/67 40/103/67 -f 70/104/68 76/96/68 71/102/68 -f 70/104/69 74/105/69 75/98/69 -f 68/106/70 83/100/70 82/107/70 -f 67/108/71 73/101/71 68/109/71 -f 51/110/72 40/103/72 35/111/72 -f 50/112/73 71/102/73 51/110/73 -f 49/113/74 70/104/74 50/112/74 -f 78/114/75 68/106/75 82/107/75 -f 47/115/76 68/109/76 48/116/76 -f 42/65/77 35/111/77 33/66/77 -f 43/70/78 51/110/78 42/65/78 -f 44/69/79 50/112/79 43/70/79 -f 45/72/80 78/114/80 77/73/80 -f 46/117/81 48/116/81 45/75/81 -f 44/69/82 78/114/82 49/113/82 -f 49/113/83 82/107/83 69/118/83 -f 82/107/84 74/105/84 69/118/84 -f 83/100/85 54/92/85 74/105/85 -f 79/93/86 59/119/86 54/92/86 -f 80/86/87 64/82/87 59/119/87 -f 64/120/88 77/73/88 44/69/88 -f 35/12/89 40/62/89 25/13/89 -f 7/2/90 36/32/90 37/15/90 -f 35/12/91 26/14/91 17/19/91 -f 25/13/92 40/62/92 39/29/92 -f 38/30/93 16/23/93 12/10/93 -f 8/5/94 41/63/94 36/32/94 -f 38/30/95 33/20/95 17/19/95 -f 26/34/31 25/38/31 13/37/31 -f 22/40/33 32/52/33 31/41/33 -f 6/43/34 11/47/34 28/44/34 -f 15/46/34 29/50/34 28/44/34 -f 21/42/35 31/41/35 30/48/35 -f 20/49/36 30/48/36 29/50/36 -f 39/29/96 41/63/96 8/5/96 -f 38/64/47 66/68/47 42/65/47 -f 65/67/48 43/70/48 42/65/48 -f 65/67/49 64/120/49 44/69/49 -f 81/71/50 63/121/50 45/72/50 -f 62/74/51 46/117/51 45/75/51 -f 37/77/52 61/81/52 66/78/52 -f 60/80/53 65/83/53 66/78/53 -f 60/80/54 59/119/54 64/82/54 -f 58/84/55 63/122/55 81/85/55 -f 57/87/56 62/74/56 63/76/56 -f 56/89/57 61/81/57 37/77/57 -f 55/91/58 60/80/58 61/81/58 -f 54/92/59 59/119/59 60/80/59 -f 79/93/60 53/123/60 58/84/60 -f 52/94/61 57/87/61 58/88/61 -f 76/96/62 56/89/62 36/90/62 -f 75/98/63 55/91/63 56/89/63 -f 75/98/64 74/105/64 54/92/64 -f 73/99/65 53/123/65 79/93/65 -f 73/101/66 72/124/66 52/94/66 -f 71/102/67 76/96/67 41/97/67 -f 70/104/68 75/98/68 76/96/68 -f 70/104/69 69/118/69 74/105/69 -f 68/106/70 73/99/70 83/100/70 -f 67/108/71 72/124/71 73/101/71 -f 51/110/72 71/102/72 40/103/72 -f 50/112/73 70/104/73 71/102/73 -f 49/113/74 69/118/74 70/104/74 -f 78/114/75 48/125/75 68/106/75 -f 47/115/76 67/108/76 68/109/76 -f 42/65/77 51/110/77 35/111/77 -f 43/70/78 50/112/78 51/110/78 -f 44/69/79 49/113/79 50/112/79 -f 45/72/80 48/125/80 78/114/80 -f 46/117/81 47/115/81 48/116/81 -f 44/69/82 77/73/82 78/114/82 -f 49/113/83 78/114/83 82/107/83 -f 82/107/84 83/100/84 74/105/84 -f 83/100/85 79/93/85 54/92/85 -f 79/93/86 80/86/86 59/119/86 -f 80/86/87 81/85/87 64/82/87 -f 64/120/88 81/71/88 77/73/88 diff --git a/examples/web/models/resources/tower.png b/examples/web/models/resources/tower.png deleted file mode 100644 index 7c9239e..0000000 Binary files a/examples/web/models/resources/tower.png and /dev/null differ diff --git a/examples/web/models/rlgl.h b/examples/web/models/rlgl.h new file mode 100644 index 0000000..639a107 --- /dev/null +++ b/examples/web/models/rlgl.h @@ -0,0 +1,4614 @@ +/********************************************************************************************** +* +* rlgl - raylib OpenGL abstraction layer +* +* rlgl is a wrapper for multiple OpenGL versions (1.1, 2.1, 3.3 Core, ES 2.0) to +* pseudo-OpenGL 1.1 style functions (rlVertex, rlTranslate, rlRotate...). +* +* When chosing an OpenGL version greater than OpenGL 1.1, rlgl stores vertex data on internal +* VBO buffers (and VAOs if available). It requires calling 3 functions: +* rlglInit() - Initialize internal buffers and auxiliar resources +* rlglDraw() - Process internal buffers and send required draw calls +* rlglClose() - De-initialize internal buffers data and other auxiliar resources +* +* CONFIGURATION: +* +* #define GRAPHICS_API_OPENGL_11 +* #define GRAPHICS_API_OPENGL_21 +* #define GRAPHICS_API_OPENGL_33 +* #define GRAPHICS_API_OPENGL_ES2 +* Use selected OpenGL graphics backend, should be supported by platform +* Those preprocessor defines are only used on rlgl module, if OpenGL version is +* required by any other module, use rlGetVersion() tocheck it +* +* #define RLGL_IMPLEMENTATION +* Generates the implementation of the library into the included file. +* If not defined, the library is in header only mode and can be included in other headers +* or source files without problems. But only ONE file should hold the implementation. +* +* #define RLGL_STANDALONE +* Use rlgl as standalone library (no raylib dependency) +* +* #define SUPPORT_VR_SIMULATOR +* Support VR simulation functionality (stereo rendering) +* +* DEPENDENCIES: +* raymath - 3D math functionality (Vector3, Matrix, Quaternion) +* GLAD - OpenGL extensions loading (OpenGL 3.3 Core only) +* +* +* LICENSE: zlib/libpng +* +* Copyright (c) 2014-2019 Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#ifndef RLGL_H +#define RLGL_H + +#if defined(RLGL_STANDALONE) + #define RAYMATH_STANDALONE + #define RAYMATH_HEADER_ONLY + + #if defined(_WIN32) && defined(BUILD_LIBTYPE_SHARED) + #define RLAPI __declspec(dllexport) // We are building raylib as a Win32 shared library (.dll) + #elif defined(_WIN32) && defined(USE_LIBTYPE_SHARED) + #define RLAPI __declspec(dllimport) // We are using raylib as a Win32 shared library (.dll) + #else + #define RLAPI // We are building or using raylib as a static library (or Linux shared library) + #endif + + // Allow custom memory allocators + #ifndef RL_MALLOC + #define RL_MALLOC(sz) malloc(sz) + #endif + #ifndef RL_CALLOC + #define RL_CALLOC(n,sz) calloc(n,sz) + #endif + #ifndef RL_FREE + #define RL_FREE(p) free(p) + #endif +#else + #include "raylib.h" // Required for: Model, Shader, Texture2D, TraceLog() +#endif + +#include "raymath.h" // Required for: Vector3, Matrix + +// Security check in case no GRAPHICS_API_OPENGL_* defined +#if !defined(GRAPHICS_API_OPENGL_11) && \ + !defined(GRAPHICS_API_OPENGL_21) && \ + !defined(GRAPHICS_API_OPENGL_33) && \ + !defined(GRAPHICS_API_OPENGL_ES2) + #define GRAPHICS_API_OPENGL_33 +#endif + +// Security check in case multiple GRAPHICS_API_OPENGL_* defined +#if defined(GRAPHICS_API_OPENGL_11) + #if defined(GRAPHICS_API_OPENGL_21) + #undef GRAPHICS_API_OPENGL_21 + #endif + #if defined(GRAPHICS_API_OPENGL_33) + #undef GRAPHICS_API_OPENGL_33 + #endif + #if defined(GRAPHICS_API_OPENGL_ES2) + #undef GRAPHICS_API_OPENGL_ES2 + #endif +#endif + +#if defined(GRAPHICS_API_OPENGL_21) + #define GRAPHICS_API_OPENGL_33 +#endif + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) + // This is the maximum amount of elements (quads) per batch + // NOTE: Be careful with text, every letter maps to a quad + #define MAX_BATCH_ELEMENTS 8192 +#elif defined(GRAPHICS_API_OPENGL_ES2) + // We reduce memory sizes for embedded systems (RPI and HTML5) + // NOTE: On HTML5 (emscripten) this is allocated on heap, by default it's only 16MB!...just take care... + #define MAX_BATCH_ELEMENTS 2048 +#endif + +#define MAX_BATCH_BUFFERING 1 // Max number of buffers for batching (multi-buffering) +#define MAX_MATRIX_STACK_SIZE 32 // Max size of Matrix stack +#define MAX_DRAWCALL_REGISTERED 256 // Max draws by state changes (mode, texture) + +// Texture parameters (equivalent to OpenGL defines) +#define RL_TEXTURE_WRAP_S 0x2802 // GL_TEXTURE_WRAP_S +#define RL_TEXTURE_WRAP_T 0x2803 // GL_TEXTURE_WRAP_T +#define RL_TEXTURE_MAG_FILTER 0x2800 // GL_TEXTURE_MAG_FILTER +#define RL_TEXTURE_MIN_FILTER 0x2801 // GL_TEXTURE_MIN_FILTER +#define RL_TEXTURE_ANISOTROPIC_FILTER 0x3000 // Anisotropic filter (custom identifier) + +#define RL_FILTER_NEAREST 0x2600 // GL_NEAREST +#define RL_FILTER_LINEAR 0x2601 // GL_LINEAR +#define RL_FILTER_MIP_NEAREST 0x2700 // GL_NEAREST_MIPMAP_NEAREST +#define RL_FILTER_NEAREST_MIP_LINEAR 0x2702 // GL_NEAREST_MIPMAP_LINEAR +#define RL_FILTER_LINEAR_MIP_NEAREST 0x2701 // GL_LINEAR_MIPMAP_NEAREST +#define RL_FILTER_MIP_LINEAR 0x2703 // GL_LINEAR_MIPMAP_LINEAR + +#define RL_WRAP_REPEAT 0x2901 // GL_REPEAT +#define RL_WRAP_CLAMP 0x812F // GL_CLAMP_TO_EDGE +#define RL_WRAP_MIRROR_REPEAT 0x8370 // GL_MIRRORED_REPEAT +#define RL_WRAP_MIRROR_CLAMP 0x8742 // GL_MIRROR_CLAMP_EXT + +// Matrix modes (equivalent to OpenGL) +#define RL_MODELVIEW 0x1700 // GL_MODELVIEW +#define RL_PROJECTION 0x1701 // GL_PROJECTION +#define RL_TEXTURE 0x1702 // GL_TEXTURE + +// Primitive assembly draw modes +#define RL_LINES 0x0001 // GL_LINES +#define RL_TRIANGLES 0x0004 // GL_TRIANGLES +#define RL_QUADS 0x0007 // GL_QUADS + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; + +typedef unsigned char byte; + +#if defined(RLGL_STANDALONE) + #ifndef __cplusplus + // Boolean type + typedef enum { false, true } bool; + #endif + + // Color type, RGBA (32bit) + typedef struct Color { + unsigned char r; + unsigned char g; + unsigned char b; + unsigned char a; + } Color; + + // Texture2D type + // NOTE: Data stored in GPU memory + typedef struct Texture2D { + unsigned int id; // OpenGL texture id + int width; // Texture base width + int height; // Texture base height + int mipmaps; // Mipmap levels, 1 by default + int format; // Data format (PixelFormat) + } Texture2D; + + // Texture type, same as Texture2D + typedef Texture2D Texture; + + // TextureCubemap type, actually, same as Texture2D + typedef Texture2D TextureCubemap; + + // RenderTexture2D type, for texture rendering + typedef struct RenderTexture2D { + unsigned int id; // OpenGL framebuffer (fbo) id + Texture2D texture; // Color buffer attachment texture + Texture2D depth; // Depth buffer attachment texture + bool depthTexture; // Track if depth attachment is a texture or renderbuffer + } RenderTexture2D; + + // RenderTexture type, same as RenderTexture2D + typedef RenderTexture2D RenderTexture; + + // Vertex data definning a mesh + typedef struct Mesh { + int vertexCount; // number of vertices stored in arrays + int triangleCount; // number of triangles stored (indexed or not) + float *vertices; // vertex position (XYZ - 3 components per vertex) (shader-location = 0) + float *texcoords; // vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + float *texcoords2; // vertex second texture coordinates (useful for lightmaps) (shader-location = 5) + float *normals; // vertex normals (XYZ - 3 components per vertex) (shader-location = 2) + float *tangents; // vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) + unsigned char *colors; // vertex colors (RGBA - 4 components per vertex) (shader-location = 3) + unsigned short *indices;// vertex indices (in case vertex data comes indexed) + + // Animation vertex data + float *animVertices; // Animated vertex positions (after bones transformations) + float *animNormals; // Animated normals (after bones transformations) + int *boneIds; // Vertex bone ids, up to 4 bones influence by vertex (skinning) + float *boneWeights; // Vertex bone weight, up to 4 bones influence by vertex (skinning) + + // OpenGL identifiers + unsigned int vaoId; // OpenGL Vertex Array Object id + unsigned int vboId[7]; // OpenGL Vertex Buffer Objects id (7 types of vertex data) + } Mesh; + + // Shader and material limits + #define MAX_SHADER_LOCATIONS 32 + #define MAX_MATERIAL_MAPS 12 + + // Shader type (generic) + typedef struct Shader { + unsigned int id; // Shader program id + int locs[MAX_SHADER_LOCATIONS]; // Shader locations array + } Shader; + + // Material texture map + typedef struct MaterialMap { + Texture2D texture; // Material map texture + Color color; // Material map color + float value; // Material map value + } MaterialMap; + + // Material type (generic) + typedef struct Material { + Shader shader; // Material shader + MaterialMap maps[MAX_MATERIAL_MAPS]; // Material maps + float *params; // Material generic parameters (if required) + } Material; + + // Camera type, defines a camera position/orientation in 3d space + typedef struct Camera { + Vector3 position; // Camera position + Vector3 target; // Camera target it looks-at + Vector3 up; // Camera up vector (rotation over its axis) + float fovy; // Camera field-of-view apperture in Y (degrees) + } Camera; + + // Head-Mounted-Display device parameters + typedef struct VrDeviceInfo { + int hResolution; // HMD horizontal resolution in pixels + int vResolution; // HMD vertical resolution in pixels + float hScreenSize; // HMD horizontal size in meters + float vScreenSize; // HMD vertical size in meters + float vScreenCenter; // HMD screen center in meters + float eyeToScreenDistance; // HMD distance between eye and display in meters + float lensSeparationDistance; // HMD lens separation distance in meters + float interpupillaryDistance; // HMD IPD (distance between pupils) in meters + float lensDistortionValues[4]; // HMD lens distortion constant parameters + float chromaAbCorrection[4]; // HMD chromatic aberration correction parameters + } VrDeviceInfo; + + // VR Stereo rendering configuration for simulator + typedef struct VrStereoConfig { + Shader distortionShader; // VR stereo rendering distortion shader + Matrix eyesProjection[2]; // VR stereo rendering eyes projection matrices + Matrix eyesViewOffset[2]; // VR stereo rendering eyes view offset matrices + int eyeViewportRight[4]; // VR stereo rendering right eye viewport [x, y, w, h] + int eyeViewportLeft[4]; // VR stereo rendering left eye viewport [x, y, w, h] + } VrStereoConfig; + + + // TraceLog message types + typedef enum { + LOG_ALL, + LOG_TRACE, + LOG_DEBUG, + LOG_INFO, + LOG_WARNING, + LOG_ERROR, + LOG_FATAL, + LOG_NONE + } TraceLogType; + + // Texture formats (support depends on OpenGL version) + typedef enum { + UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) + UNCOMPRESSED_GRAY_ALPHA, + UNCOMPRESSED_R5G6B5, // 16 bpp + UNCOMPRESSED_R8G8B8, // 24 bpp + UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) + UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) + UNCOMPRESSED_R8G8B8A8, // 32 bpp + UNCOMPRESSED_R32, // 32 bpp (1 channel - float) + UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float) + UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float) + COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) + COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) + COMPRESSED_DXT3_RGBA, // 8 bpp + COMPRESSED_DXT5_RGBA, // 8 bpp + COMPRESSED_ETC1_RGB, // 4 bpp + COMPRESSED_ETC2_RGB, // 4 bpp + COMPRESSED_ETC2_EAC_RGBA, // 8 bpp + COMPRESSED_PVRT_RGB, // 4 bpp + COMPRESSED_PVRT_RGBA, // 4 bpp + COMPRESSED_ASTC_4x4_RGBA, // 8 bpp + COMPRESSED_ASTC_8x8_RGBA // 2 bpp + } PixelFormat; + + // Texture parameters: filter mode + // NOTE 1: Filtering considers mipmaps if available in the texture + // NOTE 2: Filter is accordingly set for minification and magnification + typedef enum { + FILTER_POINT = 0, // No filter, just pixel aproximation + FILTER_BILINEAR, // Linear filtering + FILTER_TRILINEAR, // Trilinear filtering (linear with mipmaps) + FILTER_ANISOTROPIC_4X, // Anisotropic filtering 4x + FILTER_ANISOTROPIC_8X, // Anisotropic filtering 8x + FILTER_ANISOTROPIC_16X, // Anisotropic filtering 16x + } TextureFilterMode; + + // Color blending modes (pre-defined) + typedef enum { + BLEND_ALPHA = 0, + BLEND_ADDITIVE, + BLEND_MULTIPLIED + } BlendMode; + + // Shader location point type + typedef enum { + LOC_VERTEX_POSITION = 0, + LOC_VERTEX_TEXCOORD01, + LOC_VERTEX_TEXCOORD02, + LOC_VERTEX_NORMAL, + LOC_VERTEX_TANGENT, + LOC_VERTEX_COLOR, + LOC_MATRIX_MVP, + LOC_MATRIX_MODEL, + LOC_MATRIX_VIEW, + LOC_MATRIX_PROJECTION, + LOC_VECTOR_VIEW, + LOC_COLOR_DIFFUSE, + LOC_COLOR_SPECULAR, + LOC_COLOR_AMBIENT, + LOC_MAP_ALBEDO, // LOC_MAP_DIFFUSE + LOC_MAP_METALNESS, // LOC_MAP_SPECULAR + LOC_MAP_NORMAL, + LOC_MAP_ROUGHNESS, + LOC_MAP_OCCLUSION, + LOC_MAP_EMISSION, + LOC_MAP_HEIGHT, + LOC_MAP_CUBEMAP, + LOC_MAP_IRRADIANCE, + LOC_MAP_PREFILTER, + LOC_MAP_BRDF + } ShaderLocationIndex; + + // Shader uniform data types + typedef enum { + UNIFORM_FLOAT = 0, + UNIFORM_VEC2, + UNIFORM_VEC3, + UNIFORM_VEC4, + UNIFORM_INT, + UNIFORM_IVEC2, + UNIFORM_IVEC3, + UNIFORM_IVEC4, + UNIFORM_SAMPLER2D + } ShaderUniformDataType; + + #define LOC_MAP_DIFFUSE LOC_MAP_ALBEDO + #define LOC_MAP_SPECULAR LOC_MAP_METALNESS + + // Material map type + typedef enum { + MAP_ALBEDO = 0, // MAP_DIFFUSE + MAP_METALNESS = 1, // MAP_SPECULAR + MAP_NORMAL = 2, + MAP_ROUGHNESS = 3, + MAP_OCCLUSION, + MAP_EMISSION, + MAP_HEIGHT, + MAP_CUBEMAP, // NOTE: Uses GL_TEXTURE_CUBE_MAP + MAP_IRRADIANCE, // NOTE: Uses GL_TEXTURE_CUBE_MAP + MAP_PREFILTER, // NOTE: Uses GL_TEXTURE_CUBE_MAP + MAP_BRDF + } MaterialMapType; + + #define MAP_DIFFUSE MAP_ALBEDO + #define MAP_SPECULAR MAP_METALNESS +#endif + +#if defined(__cplusplus) +extern "C" { // Prevents name mangling of functions +#endif + +//------------------------------------------------------------------------------------ +// Functions Declaration - Matrix operations +//------------------------------------------------------------------------------------ +RLAPI void rlMatrixMode(int mode); // Choose the current matrix to be transformed +RLAPI void rlPushMatrix(void); // Push the current matrix to stack +RLAPI void rlPopMatrix(void); // Pop lattest inserted matrix from stack +RLAPI void rlLoadIdentity(void); // Reset current matrix to identity matrix +RLAPI void rlTranslatef(float x, float y, float z); // Multiply the current matrix by a translation matrix +RLAPI void rlRotatef(float angleDeg, float x, float y, float z); // Multiply the current matrix by a rotation matrix +RLAPI void rlScalef(float x, float y, float z); // Multiply the current matrix by a scaling matrix +RLAPI void rlMultMatrixf(float *matf); // Multiply the current matrix by another matrix +RLAPI void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar); +RLAPI void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar); +RLAPI void rlViewport(int x, int y, int width, int height); // Set the viewport area + +//------------------------------------------------------------------------------------ +// Functions Declaration - Vertex level operations +//------------------------------------------------------------------------------------ +RLAPI void rlBegin(int mode); // Initialize drawing mode (how to organize vertex) +RLAPI void rlEnd(void); // Finish vertex providing +RLAPI void rlVertex2i(int x, int y); // Define one vertex (position) - 2 int +RLAPI void rlVertex2f(float x, float y); // Define one vertex (position) - 2 float +RLAPI void rlVertex3f(float x, float y, float z); // Define one vertex (position) - 3 float +RLAPI void rlTexCoord2f(float x, float y); // Define one vertex (texture coordinate) - 2 float +RLAPI void rlNormal3f(float x, float y, float z); // Define one vertex (normal) - 3 float +RLAPI void rlColor4ub(byte r, byte g, byte b, byte a); // Define one vertex (color) - 4 byte +RLAPI void rlColor3f(float x, float y, float z); // Define one vertex (color) - 3 float +RLAPI void rlColor4f(float x, float y, float z, float w); // Define one vertex (color) - 4 float + +//------------------------------------------------------------------------------------ +// Functions Declaration - OpenGL equivalent functions (common to 1.1, 3.3+, ES2) +// NOTE: This functions are used to completely abstract raylib code from OpenGL layer +//------------------------------------------------------------------------------------ +RLAPI void rlEnableTexture(unsigned int id); // Enable texture usage +RLAPI void rlDisableTexture(void); // Disable texture usage +RLAPI void rlTextureParameters(unsigned int id, int param, int value); // Set texture parameters (filter, wrap) +RLAPI void rlEnableRenderTexture(unsigned int id); // Enable render texture (fbo) +RLAPI void rlDisableRenderTexture(void); // Disable render texture (fbo), return to default framebuffer +RLAPI void rlEnableDepthTest(void); // Enable depth test +RLAPI void rlDisableDepthTest(void); // Disable depth test +RLAPI void rlEnableBackfaceCulling(void); // Enable backface culling +RLAPI void rlDisableBackfaceCulling(void); // Disable backface culling +RLAPI void rlEnableWireMode(void); // Enable wire mode +RLAPI void rlDisableWireMode(void); // Disable wire mode +RLAPI void rlDeleteTextures(unsigned int id); // Delete OpenGL texture from GPU +RLAPI void rlDeleteRenderTextures(RenderTexture2D target); // Delete render textures (fbo) from GPU +RLAPI void rlDeleteShader(unsigned int id); // Delete OpenGL shader program from GPU +RLAPI void rlDeleteVertexArrays(unsigned int id); // Unload vertex data (VAO) from GPU memory +RLAPI void rlDeleteBuffers(unsigned int id); // Unload vertex data (VBO) from GPU memory +RLAPI void rlClearColor(byte r, byte g, byte b, byte a); // Clear color buffer with color +RLAPI void rlClearScreenBuffers(void); // Clear used screen buffers (color and depth) +RLAPI void rlUpdateBuffer(int bufferId, void *data, int dataSize); // Update GPU buffer with new data +RLAPI unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *buffer, int size, bool dynamic); // Load a new attributes buffer + +//------------------------------------------------------------------------------------ +// Functions Declaration - rlgl functionality +//------------------------------------------------------------------------------------ +RLAPI void rlglInit(int width, int height); // Initialize rlgl (buffers, shaders, textures, states) +RLAPI void rlglClose(void); // De-inititialize rlgl (buffers, shaders, textures) +RLAPI void rlglDraw(void); // Update and draw default internal buffers + +RLAPI int rlGetVersion(void); // Returns current OpenGL version +RLAPI bool rlCheckBufferLimit(int vCount); // Check internal buffer overflow for a given number of vertex +RLAPI void rlSetDebugMarker(const char *text); // Set debug marker for analysis +RLAPI void rlLoadExtensions(void *loader); // Load OpenGL extensions +RLAPI Vector3 rlUnproject(Vector3 source, Matrix proj, Matrix view); // Get world coordinates from screen coordinates + +// Textures data management +RLAPI unsigned int rlLoadTexture(void *data, int width, int height, int format, int mipmapCount); // Load texture in GPU +RLAPI unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderBuffer); // Load depth texture/renderbuffer (to be attached to fbo) +RLAPI unsigned int rlLoadTextureCubemap(void *data, int size, int format); // Load texture cubemap +RLAPI void rlUpdateTexture(unsigned int id, int width, int height, int format, const void *data); // Update GPU texture with new data +RLAPI void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType); // Get OpenGL internal formats +RLAPI void rlUnloadTexture(unsigned int id); // Unload texture from GPU memory + +RLAPI void rlGenerateMipmaps(Texture2D *texture); // Generate mipmap data for selected texture +RLAPI void *rlReadTexturePixels(Texture2D texture); // Read texture pixel data +RLAPI unsigned char *rlReadScreenPixels(int width, int height); // Read screen pixel data (color buffer) + +// Render texture management (fbo) +RLAPI RenderTexture2D rlLoadRenderTexture(int width, int height, int format, int depthBits, bool useDepthTexture); // Load a render texture (with color and depth attachments) +RLAPI void rlRenderTextureAttach(RenderTexture target, unsigned int id, int attachType); // Attach texture/renderbuffer to an fbo +RLAPI bool rlRenderTextureComplete(RenderTexture target); // Verify render texture is complete + +// Vertex data management +RLAPI void rlLoadMesh(Mesh *mesh, bool dynamic); // Upload vertex data into GPU and provided VAO/VBO ids +RLAPI void rlUpdateMesh(Mesh mesh, int buffer, int numVertex); // Update vertex data on GPU (upload new data to one buffer) +RLAPI void rlDrawMesh(Mesh mesh, Material material, Matrix transform); // Draw a 3d mesh with material and transform +RLAPI void rlUnloadMesh(Mesh *mesh); // Unload mesh data from CPU and GPU + +// NOTE: There is a set of shader related functions that are available to end user, +// to avoid creating function wrappers through core module, they have been directly declared in raylib.h + +#if defined(RLGL_STANDALONE) +//------------------------------------------------------------------------------------ +// Shaders System Functions (Module: rlgl) +// NOTE: This functions are useless when using OpenGL 1.1 +//------------------------------------------------------------------------------------ +// Shader loading/unloading functions +RLAPI char *LoadText(const char *fileName); // Load chars array from text file +RLAPI Shader LoadShader(const char *vsFileName, const char *fsFileName); // Load shader from files and bind default locations +RLAPI Shader LoadShaderCode(char *vsCode, char *fsCode); // Load shader from code strings and bind default locations +RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) + +RLAPI Shader GetShaderDefault(void); // Get default shader +RLAPI Texture2D GetTextureDefault(void); // Get default texture + +// Shader configuration functions +RLAPI int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location +RLAPI void SetShaderValue(Shader shader, int uniformLoc, const void *value, int uniformType); // Set shader uniform value +RLAPI void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int uniformType, int count); // Set shader uniform value vector +RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) +RLAPI void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix) +RLAPI void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix) +RLAPI Matrix GetMatrixModelview(); // Get internal modelview matrix + +// Texture maps generation (PBR) +// NOTE: Required shaders should be provided +RLAPI Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size); // Generate cubemap texture from HDR texture +RLAPI Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size); // Generate irradiance texture using cubemap data +RLAPI Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size); // Generate prefilter texture using cubemap data +RLAPI Texture2D GenTextureBRDF(Shader shader, int size); // Generate BRDF texture using cubemap data + +// Shading begin/end functions +RLAPI void BeginShaderMode(Shader shader); // Begin custom shader drawing +RLAPI void EndShaderMode(void); // End custom shader drawing (use default shader) +RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) +RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending) + +// VR control functions +RLAPI void InitVrSimulator(void); // Init VR simulator for selected device parameters +RLAPI void CloseVrSimulator(void); // Close VR simulator for current device +RLAPI void UpdateVrTracking(Camera *camera); // Update VR tracking (position and orientation) and camera +RLAPI void SetVrConfiguration(VrDeviceInfo info, Shader distortion); // Set stereo rendering configuration parameters +RLAPI bool IsVrSimulatorReady(void); // Detect if VR simulator is ready +RLAPI void ToggleVrMode(void); // Enable/Disable VR experience +RLAPI void BeginVrDrawing(void); // Begin VR simulator stereo rendering +RLAPI void EndVrDrawing(void); // End VR simulator stereo rendering + +RLAPI void TraceLog(int msgType, const char *text, ...); // Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG) +RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data size in bytes (image or texture) +#endif + +#if defined(__cplusplus) +} +#endif + +#endif // RLGL_H + +/*********************************************************************************** +* +* RLGL IMPLEMENTATION +* +************************************************************************************/ + +#if defined(RLGL_IMPLEMENTATION) + +#if !defined(RLGL_STANDALONE) + // Check if config flags have been externally provided on compilation line + #if !defined(EXTERNAL_CONFIG_FLAGS) + #include "config.h" // Defines module configuration flags + #endif +#endif + +#include // Required for: fopen(), fclose(), fread()... [Used only on LoadText()] +#include // Required for: malloc(), free(), rand() +#include // Required for: strcmp(), strlen(), strtok() [Used only in extensions loading] +#include // Required for: atan2() + +#if !defined(RLGL_STANDALONE) + #include "raymath.h" // Required for: Vector3 and Matrix functions +#endif + +#if defined(GRAPHICS_API_OPENGL_11) + #if defined(__APPLE__) + #include // OpenGL 1.1 library for OSX + #include + #else + // APIENTRY for OpenGL function pointer declarations is required + #ifndef APIENTRY + #if defined(_WIN32) + #define APIENTRY __stdcall + #else + #define APIENTRY + #endif + #endif + // WINGDIAPI definition. Some Windows OpenGL headers need it + #if !defined(WINGDIAPI) && defined(_WIN32) + #define WINGDIAPI __declspec(dllimport) + #endif + + #include // OpenGL 1.1 library + #endif +#endif + +#if defined(GRAPHICS_API_OPENGL_21) + #define GRAPHICS_API_OPENGL_33 // OpenGL 2.1 uses mostly OpenGL 3.3 Core functionality +#endif + +#if defined(GRAPHICS_API_OPENGL_33) + #if defined(__APPLE__) + #include // OpenGL 3 library for OSX + #include // OpenGL 3 extensions library for OSX + #else + #define GLAD_IMPLEMENTATION + #if defined(RLGL_STANDALONE) + #include "glad.h" // GLAD extensions loading library, includes OpenGL headers + #else + #include "external/glad.h" // GLAD extensions loading library, includes OpenGL headers + #endif + #endif +#endif + +#if defined(GRAPHICS_API_OPENGL_ES2) + #include // EGL library + #include // OpenGL ES 2.0 library + #include // OpenGL ES 2.0 extensions library +#endif + +#if defined(RLGL_STANDALONE) + #include // Required for: va_list, va_start(), vfprintf(), va_end() [Used only on TraceLog()] +#endif + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +#ifndef GL_SHADING_LANGUAGE_VERSION + #define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#endif + +#ifndef GL_COMPRESSED_RGB_S3TC_DXT1_EXT + #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 +#endif +#ifndef GL_COMPRESSED_RGBA_S3TC_DXT1_EXT + #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 +#endif +#ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT + #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 +#endif +#ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT + #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 +#endif +#ifndef GL_ETC1_RGB8_OES + #define GL_ETC1_RGB8_OES 0x8D64 +#endif +#ifndef GL_COMPRESSED_RGB8_ETC2 + #define GL_COMPRESSED_RGB8_ETC2 0x9274 +#endif +#ifndef GL_COMPRESSED_RGBA8_ETC2_EAC + #define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 +#endif +#ifndef GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG + #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 +#endif +#ifndef GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG + #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 +#endif +#ifndef GL_COMPRESSED_RGBA_ASTC_4x4_KHR + #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93b0 +#endif +#ifndef GL_COMPRESSED_RGBA_ASTC_8x8_KHR + #define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93b7 +#endif + +#ifndef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT + #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF +#endif + +#ifndef GL_TEXTURE_MAX_ANISOTROPY_EXT + #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE +#endif + +#if defined(GRAPHICS_API_OPENGL_11) + #define GL_UNSIGNED_SHORT_5_6_5 0x8363 + #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 + #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#endif + +#if defined(GRAPHICS_API_OPENGL_21) + #define GL_LUMINANCE 0x1909 + #define GL_LUMINANCE_ALPHA 0x190A +#endif + +#if defined(GRAPHICS_API_OPENGL_ES2) + #define glClearDepth glClearDepthf + #define GL_READ_FRAMEBUFFER GL_FRAMEBUFFER + #define GL_DRAW_FRAMEBUFFER GL_FRAMEBUFFER +#endif + +// Default vertex attribute names on shader to set location points +#define DEFAULT_ATTRIB_POSITION_NAME "vertexPosition" // shader-location = 0 +#define DEFAULT_ATTRIB_TEXCOORD_NAME "vertexTexCoord" // shader-location = 1 +#define DEFAULT_ATTRIB_NORMAL_NAME "vertexNormal" // shader-location = 2 +#define DEFAULT_ATTRIB_COLOR_NAME "vertexColor" // shader-location = 3 +#define DEFAULT_ATTRIB_TANGENT_NAME "vertexTangent" // shader-location = 4 +#define DEFAULT_ATTRIB_TEXCOORD2_NAME "vertexTexCoord2" // shader-location = 5 + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- + +// Dynamic vertex buffers (position + texcoords + colors + indices arrays) +typedef struct DynamicBuffer { + int vCounter; // vertex position counter to process (and draw) from full buffer + int tcCounter; // vertex texcoord counter to process (and draw) from full buffer + int cCounter; // vertex color counter to process (and draw) from full buffer + float *vertices; // vertex position (XYZ - 3 components per vertex) (shader-location = 0) + float *texcoords; // vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + unsigned char *colors; // vertex colors (RGBA - 4 components per vertex) (shader-location = 3) +#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) + unsigned int *indices; // vertex indices (in case vertex data comes indexed) (6 indices per quad) +#elif defined(GRAPHICS_API_OPENGL_ES2) + unsigned short *indices; // vertex indices (in case vertex data comes indexed) (6 indices per quad) + // NOTE: 6*2 byte = 12 byte, not alignment problem! +#endif + unsigned int vaoId; // OpenGL Vertex Array Object id + unsigned int vboId[4]; // OpenGL Vertex Buffer Objects id (4 types of vertex data) +} DynamicBuffer; + +// Draw call type +typedef struct DrawCall { + int mode; // Drawing mode: LINES, TRIANGLES, QUADS + int vertexCount; // Number of vertex of the draw + int vertexAlignment; // Number of vertex required for index alignment (LINES, TRIANGLES) + //unsigned int vaoId; // Vertex Array id to be used on the draw + //unsigned int shaderId; // Shader id to be used on the draw + unsigned int textureId; // Texture id to be used on the draw + // TODO: Support additional texture units? + + //Matrix projection; // Projection matrix for this draw + //Matrix modelview; // Modelview matrix for this draw +} DrawCall; + +#if defined(SUPPORT_VR_SIMULATOR) +// VR Stereo rendering configuration for simulator +typedef struct VrStereoConfig { + Shader distortionShader; // VR stereo rendering distortion shader + Matrix eyesProjection[2]; // VR stereo rendering eyes projection matrices + Matrix eyesViewOffset[2]; // VR stereo rendering eyes view offset matrices + int eyeViewportRight[4]; // VR stereo rendering right eye viewport [x, y, w, h] + int eyeViewportLeft[4]; // VR stereo rendering left eye viewport [x, y, w, h] +} VrStereoConfig; +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) +static Matrix stack[MAX_MATRIX_STACK_SIZE] = { 0 }; +static int stackCounter = 0; + +static Matrix modelview = { 0 }; +static Matrix projection = { 0 }; +static Matrix *currentMatrix = NULL; +static int currentMatrixMode = -1; +static float currentDepth = -1.0f; + +// Default dynamic buffer for elements data +// NOTE: A multi-buffering system is supported +static DynamicBuffer vertexData[MAX_BATCH_BUFFERING] = { 0 }; +static int currentBuffer = 0; + +// Transform matrix to be used with rlTranslate, rlRotate, rlScale +static Matrix transformMatrix = { 0 }; +static bool useTransformMatrix = false; + +// Default buffers draw calls +static DrawCall *draws = NULL; +static int drawsCounter = 0; + +// Default texture (1px white) useful for plain color polys (required by shader) +static unsigned int defaultTextureId; + +// Default shaders +static unsigned int defaultVShaderId; // Default vertex shader id (used by default shader program) +static unsigned int defaultFShaderId; // Default fragment shader Id (used by default shader program) + +static Shader defaultShader; // Basic shader, support vertex color and diffuse texture +static Shader currentShader; // Shader to be used on rendering (by default, defaultShader) + +// Extension supported flag: VAO +static bool vaoSupported = false; // VAO support (OpenGL ES2 could not support VAO extension) + +// Extension supported flag: Compressed textures +static bool texCompDXTSupported = false; // DDS texture compression support +static bool texCompETC1Supported = false; // ETC1 texture compression support +static bool texCompETC2Supported = false; // ETC2/EAC texture compression support +static bool texCompPVRTSupported = false; // PVR texture compression support +static bool texCompASTCSupported = false; // ASTC texture compression support + +// Extension supported flag: Textures format +static bool texNPOTSupported = false; // NPOT textures full support +static bool texFloatSupported = false; // float textures support (32 bit per channel) +static bool texDepthSupported = false; // Depth textures supported +static int maxDepthBits = 16; // Maximum bits for depth component + +// Extension supported flag: Clamp mirror wrap mode +static bool texMirrorClampSupported = false; // Clamp mirror wrap mode supported + +// Extension supported flag: Anisotropic filtering +static bool texAnisotropicFilterSupported = false; // Anisotropic texture filtering support +static float maxAnisotropicLevel = 0.0f; // Maximum anisotropy level supported (minimum is 2.0f) + +static bool debugMarkerSupported = false; // Debug marker support + +#if defined(GRAPHICS_API_OPENGL_ES2) +// NOTE: VAO functionality is exposed through extensions (OES) +static PFNGLGENVERTEXARRAYSOESPROC glGenVertexArrays; +static PFNGLBINDVERTEXARRAYOESPROC glBindVertexArray; +static PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArrays; +//static PFNGLISVERTEXARRAYOESPROC glIsVertexArray; // NOTE: Fails in WebGL, omitted +#endif + +#if defined(SUPPORT_VR_SIMULATOR) +// VR global variables +static VrStereoConfig vrConfig = { 0 }; // VR stereo configuration for simulator +static RenderTexture2D stereoFbo; // VR stereo rendering framebuffer +static bool vrSimulatorReady = false; // VR simulator ready flag +static bool vrStereoRender = false; // VR stereo rendering enabled/disabled flag + // NOTE: This flag is useful to render data over stereo image (i.e. FPS) +#endif // SUPPORT_VR_SIMULATOR + +#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 + +static int blendMode = 0; // Track current blending mode + +// Default framebuffer size +static int screenWidth; // Default framebuffer width +static int screenHeight; // Default framebuffer height + +//---------------------------------------------------------------------------------- +// Module specific Functions Declaration +//---------------------------------------------------------------------------------- +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) +static unsigned int CompileShader(const char *shaderStr, int type); // Compile custom shader and return shader id +static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShaderId); // Load custom shader program + +static Shader LoadShaderDefault(void); // Load default shader (just vertex positioning and texture coloring) +static void SetShaderDefaultLocations(Shader *shader); // Bind default shader locations (attributes and uniforms) +static void UnloadShaderDefault(void); // Unload default shader + +static void LoadBuffersDefault(void); // Load default internal buffers +static void UpdateBuffersDefault(void); // Update default internal buffers (VAOs/VBOs) with vertex data +static void DrawBuffersDefault(void); // Draw default internal buffers vertex data +static void UnloadBuffersDefault(void); // Unload default internal buffers vertex data from CPU and GPU + +static void GenDrawCube(void); // Generate and draw cube +static void GenDrawQuad(void); // Generate and draw quad + +#if defined(SUPPORT_VR_SIMULATOR) +static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView); // Set internal projection and modelview matrix depending on eye +#endif + +#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 + +#if defined(GRAPHICS_API_OPENGL_11) +static int GenerateMipmaps(unsigned char *data, int baseWidth, int baseHeight); +static Color *GenNextMipmap(Color *srcData, int srcWidth, int srcHeight); +#endif + +//---------------------------------------------------------------------------------- +// Module Functions Definition - Matrix operations +//---------------------------------------------------------------------------------- + +#if defined(GRAPHICS_API_OPENGL_11) + +// Fallback to OpenGL 1.1 function calls +//--------------------------------------- +void rlMatrixMode(int mode) +{ + switch (mode) + { + case RL_PROJECTION: glMatrixMode(GL_PROJECTION); break; + case RL_MODELVIEW: glMatrixMode(GL_MODELVIEW); break; + case RL_TEXTURE: glMatrixMode(GL_TEXTURE); break; + default: break; + } +} + +void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar) +{ + glFrustum(left, right, bottom, top, znear, zfar); +} + +void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar) +{ + glOrtho(left, right, bottom, top, znear, zfar); +} + +void rlPushMatrix(void) { glPushMatrix(); } +void rlPopMatrix(void) { glPopMatrix(); } +void rlLoadIdentity(void) { glLoadIdentity(); } +void rlTranslatef(float x, float y, float z) { glTranslatef(x, y, z); } +void rlRotatef(float angleDeg, float x, float y, float z) { glRotatef(angleDeg, x, y, z); } +void rlScalef(float x, float y, float z) { glScalef(x, y, z); } +void rlMultMatrixf(float *matf) { glMultMatrixf(matf); } + +#elif defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + +// Choose the current matrix to be transformed +void rlMatrixMode(int mode) +{ + if (mode == RL_PROJECTION) currentMatrix = &projection; + else if (mode == RL_MODELVIEW) currentMatrix = &modelview; + //else if (mode == RL_TEXTURE) // Not supported + + currentMatrixMode = mode; +} + +// Push the current matrix into stack +void rlPushMatrix(void) +{ + if (stackCounter >= MAX_MATRIX_STACK_SIZE) TraceLog(LOG_ERROR, "Matrix stack overflow"); + + if (currentMatrixMode == RL_MODELVIEW) + { + useTransformMatrix = true; + currentMatrix = &transformMatrix; + } + + stack[stackCounter] = *currentMatrix; + stackCounter++; +} + +// Pop lattest inserted matrix from stack +void rlPopMatrix(void) +{ + if (stackCounter > 0) + { + Matrix mat = stack[stackCounter - 1]; + *currentMatrix = mat; + stackCounter--; + } + + if ((stackCounter == 0) && (currentMatrixMode == RL_MODELVIEW)) + { + currentMatrix = &modelview; + useTransformMatrix = false; + } +} + +// Reset current matrix to identity matrix +void rlLoadIdentity(void) +{ + *currentMatrix = MatrixIdentity(); +} + +// Multiply the current matrix by a translation matrix +void rlTranslatef(float x, float y, float z) +{ + Matrix matTranslation = MatrixTranslate(x, y, z); + + // NOTE: We transpose matrix with multiplication order + *currentMatrix = MatrixMultiply(matTranslation, *currentMatrix); +} + +// Multiply the current matrix by a rotation matrix +void rlRotatef(float angleDeg, float x, float y, float z) +{ + Matrix matRotation = MatrixIdentity(); + + Vector3 axis = (Vector3){ x, y, z }; + matRotation = MatrixRotate(Vector3Normalize(axis), angleDeg*DEG2RAD); + + // NOTE: We transpose matrix with multiplication order + *currentMatrix = MatrixMultiply(matRotation, *currentMatrix); +} + +// Multiply the current matrix by a scaling matrix +void rlScalef(float x, float y, float z) +{ + Matrix matScale = MatrixScale(x, y, z); + + // NOTE: We transpose matrix with multiplication order + *currentMatrix = MatrixMultiply(matScale, *currentMatrix); +} + +// Multiply the current matrix by another matrix +void rlMultMatrixf(float *matf) +{ + // Matrix creation from array + Matrix mat = { matf[0], matf[4], matf[8], matf[12], + matf[1], matf[5], matf[9], matf[13], + matf[2], matf[6], matf[10], matf[14], + matf[3], matf[7], matf[11], matf[15] }; + + *currentMatrix = MatrixMultiply(*currentMatrix, mat); +} + +// Multiply the current matrix by a perspective matrix generated by parameters +void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar) +{ + Matrix matPerps = MatrixFrustum(left, right, bottom, top, znear, zfar); + + *currentMatrix = MatrixMultiply(*currentMatrix, matPerps); +} + +// Multiply the current matrix by an orthographic matrix generated by parameters +void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar) +{ + Matrix matOrtho = MatrixOrtho(left, right, bottom, top, znear, zfar); + + *currentMatrix = MatrixMultiply(*currentMatrix, matOrtho); +} + +#endif + +// Set the viewport area (transformation from normalized device coordinates to window coordinates) +// NOTE: Updates global variables: screenWidth, screenHeight +void rlViewport(int x, int y, int width, int height) +{ + glViewport(x, y, width, height); +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition - Vertex level operations +//---------------------------------------------------------------------------------- +#if defined(GRAPHICS_API_OPENGL_11) + +// Fallback to OpenGL 1.1 function calls +//--------------------------------------- +void rlBegin(int mode) +{ + switch (mode) + { + case RL_LINES: glBegin(GL_LINES); break; + case RL_TRIANGLES: glBegin(GL_TRIANGLES); break; + case RL_QUADS: glBegin(GL_QUADS); break; + default: break; + } +} + +void rlEnd() { glEnd(); } +void rlVertex2i(int x, int y) { glVertex2i(x, y); } +void rlVertex2f(float x, float y) { glVertex2f(x, y); } +void rlVertex3f(float x, float y, float z) { glVertex3f(x, y, z); } +void rlTexCoord2f(float x, float y) { glTexCoord2f(x, y); } +void rlNormal3f(float x, float y, float z) { glNormal3f(x, y, z); } +void rlColor4ub(byte r, byte g, byte b, byte a) { glColor4ub(r, g, b, a); } +void rlColor3f(float x, float y, float z) { glColor3f(x, y, z); } +void rlColor4f(float x, float y, float z, float w) { glColor4f(x, y, z, w); } + +#elif defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + +// Initialize drawing mode (how to organize vertex) +void rlBegin(int mode) +{ + // Draw mode can be RL_LINES, RL_TRIANGLES and RL_QUADS + // NOTE: In all three cases, vertex are accumulated over default internal vertex buffer + if (draws[drawsCounter - 1].mode != mode) + { + if (draws[drawsCounter - 1].vertexCount > 0) + { + // Make sure current draws[i].vertexCount is aligned a multiple of 4, + // that way, following QUADS drawing will keep aligned with index processing + // It implies adding some extra alignment vertex at the end of the draw, + // those vertex are not processed but they are considered as an additional offset + // for the next set of vertex to be drawn + if (draws[drawsCounter - 1].mode == RL_LINES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? draws[drawsCounter - 1].vertexCount : draws[drawsCounter - 1].vertexCount%4); + else if (draws[drawsCounter - 1].mode == RL_TRIANGLES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? 1 : (4 - (draws[drawsCounter - 1].vertexCount%4))); + + if (rlCheckBufferLimit(draws[drawsCounter - 1].vertexAlignment)) rlglDraw(); + else + { + vertexData[currentBuffer].vCounter += draws[drawsCounter - 1].vertexAlignment; + vertexData[currentBuffer].cCounter += draws[drawsCounter - 1].vertexAlignment; + vertexData[currentBuffer].tcCounter += draws[drawsCounter - 1].vertexAlignment; + + drawsCounter++; + } + } + + if (drawsCounter >= MAX_DRAWCALL_REGISTERED) rlglDraw(); + + draws[drawsCounter - 1].mode = mode; + draws[drawsCounter - 1].vertexCount = 0; + draws[drawsCounter - 1].textureId = defaultTextureId; + } +} + +// Finish vertex providing +void rlEnd(void) +{ + // Make sure vertexCount is the same for vertices, texcoords, colors and normals + // NOTE: In OpenGL 1.1, one glColor call can be made for all the subsequent glVertex calls + + // Make sure colors count match vertex count + if (vertexData[currentBuffer].vCounter != vertexData[currentBuffer].cCounter) + { + int addColors = vertexData[currentBuffer].vCounter - vertexData[currentBuffer].cCounter; + + for (int i = 0; i < addColors; i++) + { + vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 4]; + vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 1] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 3]; + vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 2] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 2]; + vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 3] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 1]; + vertexData[currentBuffer].cCounter++; + } + } + + // Make sure texcoords count match vertex count + if (vertexData[currentBuffer].vCounter != vertexData[currentBuffer].tcCounter) + { + int addTexCoords = vertexData[currentBuffer].vCounter - vertexData[currentBuffer].tcCounter; + + for (int i = 0; i < addTexCoords; i++) + { + vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter] = 0.0f; + vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter + 1] = 0.0f; + vertexData[currentBuffer].tcCounter++; + } + } + + // TODO: Make sure normals count match vertex count... if normals support is added in a future... :P + + // NOTE: Depth increment is dependant on rlOrtho(): z-near and z-far values, + // as well as depth buffer bit-depth (16bit or 24bit or 32bit) + // Correct increment formula would be: depthInc = (zfar - znear)/pow(2, bits) + currentDepth += (1.0f/20000.0f); + + // Verify internal buffers limits + // NOTE: This check is combined with usage of rlCheckBufferLimit() + if ((vertexData[currentBuffer].vCounter) >= (MAX_BATCH_ELEMENTS*4 - 4)) + { + // WARNING: If we are between rlPushMatrix() and rlPopMatrix() and we need to force a rlglDraw(), + // we need to call rlPopMatrix() before to recover *currentMatrix (modelview) for the next forced draw call! + // Also noted that if we had multiple matrix pushed, it will require "stackCounter" pops before launching the draw + rlPopMatrix(); + rlglDraw(); + } +} + +// Define one vertex (position) +// NOTE: Vertex position data is the basic information required for drawing +void rlVertex3f(float x, float y, float z) +{ + Vector3 vec = { x, y, z }; + + // Transform provided vector if required + if (useTransformMatrix) vec = Vector3Transform(vec, transformMatrix); + + // Verify that MAX_BATCH_ELEMENTS limit not reached + if (vertexData[currentBuffer].vCounter < (MAX_BATCH_ELEMENTS*4)) + { + vertexData[currentBuffer].vertices[3*vertexData[currentBuffer].vCounter] = vec.x; + vertexData[currentBuffer].vertices[3*vertexData[currentBuffer].vCounter + 1] = vec.y; + vertexData[currentBuffer].vertices[3*vertexData[currentBuffer].vCounter + 2] = vec.z; + vertexData[currentBuffer].vCounter++; + + draws[drawsCounter - 1].vertexCount++; + } + else TraceLog(LOG_ERROR, "MAX_BATCH_ELEMENTS overflow"); +} + +// Define one vertex (position) +void rlVertex2f(float x, float y) +{ + rlVertex3f(x, y, currentDepth); +} + +// Define one vertex (position) +void rlVertex2i(int x, int y) +{ + rlVertex3f((float)x, (float)y, currentDepth); +} + +// Define one vertex (texture coordinate) +// NOTE: Texture coordinates are limited to QUADS only +void rlTexCoord2f(float x, float y) +{ + vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter] = x; + vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter + 1] = y; + vertexData[currentBuffer].tcCounter++; +} + +// Define one vertex (normal) +// NOTE: Normals limited to TRIANGLES only? +void rlNormal3f(float x, float y, float z) +{ + // TODO: Normals usage... +} + +// Define one vertex (color) +void rlColor4ub(byte x, byte y, byte z, byte w) +{ + vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter] = x; + vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 1] = y; + vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 2] = z; + vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 3] = w; + vertexData[currentBuffer].cCounter++; +} + +// Define one vertex (color) +void rlColor4f(float r, float g, float b, float a) +{ + rlColor4ub((byte)(r*255), (byte)(g*255), (byte)(b*255), (byte)(a*255)); +} + +// Define one vertex (color) +void rlColor3f(float x, float y, float z) +{ + rlColor4ub((byte)(x*255), (byte)(y*255), (byte)(z*255), 255); +} + +#endif + +//---------------------------------------------------------------------------------- +// Module Functions Definition - OpenGL equivalent functions (common to 1.1, 3.3+, ES2) +//---------------------------------------------------------------------------------- + +// Enable texture usage +void rlEnableTexture(unsigned int id) +{ +#if defined(GRAPHICS_API_OPENGL_11) + glEnable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, id); +#endif + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (draws[drawsCounter - 1].textureId != id) + { + if (draws[drawsCounter - 1].vertexCount > 0) + { + // Make sure current draws[i].vertexCount is aligned a multiple of 4, + // that way, following QUADS drawing will keep aligned with index processing + // It implies adding some extra alignment vertex at the end of the draw, + // those vertex are not processed but they are considered as an additional offset + // for the next set of vertex to be drawn + if (draws[drawsCounter - 1].mode == RL_LINES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? draws[drawsCounter - 1].vertexCount : draws[drawsCounter - 1].vertexCount%4); + else if (draws[drawsCounter - 1].mode == RL_TRIANGLES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? 1 : (4 - (draws[drawsCounter - 1].vertexCount%4))); + + if (rlCheckBufferLimit(draws[drawsCounter - 1].vertexAlignment)) rlglDraw(); + else + { + vertexData[currentBuffer].vCounter += draws[drawsCounter - 1].vertexAlignment; + vertexData[currentBuffer].cCounter += draws[drawsCounter - 1].vertexAlignment; + vertexData[currentBuffer].tcCounter += draws[drawsCounter - 1].vertexAlignment; + + drawsCounter++; + } + } + + if (drawsCounter >= MAX_DRAWCALL_REGISTERED) rlglDraw(); + + draws[drawsCounter - 1].textureId = id; + draws[drawsCounter - 1].vertexCount = 0; + } +#endif +} + +// Disable texture usage +void rlDisableTexture(void) +{ +#if defined(GRAPHICS_API_OPENGL_11) + glDisable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, 0); +#else + // NOTE: If quads batch limit is reached, + // we force a draw call and next batch starts + if (vertexData[currentBuffer].vCounter >= (MAX_BATCH_ELEMENTS*4)) rlglDraw(); +#endif +} + +// Set texture parameters (wrap mode/filter mode) +void rlTextureParameters(unsigned int id, int param, int value) +{ + glBindTexture(GL_TEXTURE_2D, id); + + switch (param) + { + case RL_TEXTURE_WRAP_S: + case RL_TEXTURE_WRAP_T: + { + if (value == RL_WRAP_MIRROR_CLAMP) + { +#if !defined(GRAPHICS_API_OPENGL_11) + if (!texMirrorClampSupported) TraceLog(LOG_WARNING, "Clamp mirror wrap mode not supported"); +#endif + } + else glTexParameteri(GL_TEXTURE_2D, param, value); + } break; + case RL_TEXTURE_MAG_FILTER: + case RL_TEXTURE_MIN_FILTER: glTexParameteri(GL_TEXTURE_2D, param, value); break; + case RL_TEXTURE_ANISOTROPIC_FILTER: + { +#if !defined(GRAPHICS_API_OPENGL_11) + if (value <= maxAnisotropicLevel) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value); + else if (maxAnisotropicLevel > 0.0f) + { + TraceLog(LOG_WARNING, "[TEX ID %i] Maximum anisotropic filter level supported is %iX", id, maxAnisotropicLevel); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value); + } + else TraceLog(LOG_WARNING, "Anisotropic filtering not supported"); +#endif + } break; + default: break; + } + + glBindTexture(GL_TEXTURE_2D, 0); +} + +// Enable rendering to texture (fbo) +void rlEnableRenderTexture(unsigned int id) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + glBindFramebuffer(GL_FRAMEBUFFER, id); + + //glDisable(GL_CULL_FACE); // Allow double side drawing for texture flipping + //glCullFace(GL_FRONT); +#endif +} + +// Disable rendering to texture +void rlDisableRenderTexture(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + //glEnable(GL_CULL_FACE); + //glCullFace(GL_BACK); +#endif +} + +// Enable depth test +void rlEnableDepthTest(void) +{ + glEnable(GL_DEPTH_TEST); +} + +// Disable depth test +void rlDisableDepthTest(void) +{ + glDisable(GL_DEPTH_TEST); +} + +// Enable backface culling +void rlEnableBackfaceCulling(void) +{ + glEnable(GL_CULL_FACE); +} + +// Disable backface culling +void rlDisableBackfaceCulling(void) +{ + glDisable(GL_CULL_FACE); +} + +// Enable wire mode +void rlEnableWireMode(void) +{ +#if defined (GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) + // NOTE: glPolygonMode() not available on OpenGL ES + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); +#endif +} + +// Disable wire mode +void rlDisableWireMode(void) +{ +#if defined (GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) + // NOTE: glPolygonMode() not available on OpenGL ES + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); +#endif +} + +// Unload texture from GPU memory +void rlDeleteTextures(unsigned int id) +{ + if (id > 0) glDeleteTextures(1, &id); +} + +// Unload render texture from GPU memory +void rlDeleteRenderTextures(RenderTexture2D target) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (target.texture.id > 0) glDeleteTextures(1, &target.texture.id); + if (target.depth.id > 0) + { + if (target.depthTexture) glDeleteTextures(1, &target.depth.id); + else glDeleteRenderbuffers(1, &target.depth.id); + } + + if (target.id > 0) glDeleteFramebuffers(1, &target.id); + + TraceLog(LOG_INFO, "[FBO ID %i] Unloaded render texture data from VRAM (GPU)", target.id); +#endif +} + +// Unload shader from GPU memory +void rlDeleteShader(unsigned int id) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (id != 0) glDeleteProgram(id); +#endif +} + +// Unload vertex data (VAO) from GPU memory +void rlDeleteVertexArrays(unsigned int id) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (vaoSupported) + { + if (id != 0) glDeleteVertexArrays(1, &id); + TraceLog(LOG_INFO, "[VAO ID %i] Unloaded model data from VRAM (GPU)", id); + } +#endif +} + +// Unload vertex data (VBO) from GPU memory +void rlDeleteBuffers(unsigned int id) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (id != 0) + { + glDeleteBuffers(1, &id); + if (!vaoSupported) TraceLog(LOG_INFO, "[VBO ID %i] Unloaded model vertex data from VRAM (GPU)", id); + } +#endif +} + +// Clear color buffer with color +void rlClearColor(byte r, byte g, byte b, byte a) +{ + // Color values clamp to 0.0f(0) and 1.0f(255) + float cr = (float)r/255; + float cg = (float)g/255; + float cb = (float)b/255; + float ca = (float)a/255; + + glClearColor(cr, cg, cb, ca); +} + +// Clear used screen buffers (color and depth) +void rlClearScreenBuffers(void) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear used buffers: Color and Depth (Depth is used for 3D) + //glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); // Stencil buffer not used... +} + +// Update GPU buffer with new data +void rlUpdateBuffer(int bufferId, void *data, int dataSize) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + glBindBuffer(GL_ARRAY_BUFFER, bufferId); + glBufferSubData(GL_ARRAY_BUFFER, 0, dataSize, data); +#endif +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition - rlgl Functions +//---------------------------------------------------------------------------------- + +// Initialize rlgl: OpenGL extensions, default buffers/shaders/textures, OpenGL states +void rlglInit(int width, int height) +{ + // Check OpenGL information and capabilities + //------------------------------------------------------------------------------ + + // Print current OpenGL and GLSL version + TraceLog(LOG_INFO, "GPU: Vendor: %s", glGetString(GL_VENDOR)); + TraceLog(LOG_INFO, "GPU: Renderer: %s", glGetString(GL_RENDERER)); + TraceLog(LOG_INFO, "GPU: Version: %s", glGetString(GL_VERSION)); + TraceLog(LOG_INFO, "GPU: GLSL: %s", glGetString(GL_SHADING_LANGUAGE_VERSION)); + + // NOTE: We can get a bunch of extra information about GPU capabilities (glGet*) + //int maxTexSize; + //glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTexSize); + //TraceLog(LOG_INFO, "GL_MAX_TEXTURE_SIZE: %i", maxTexSize); + + //GL_MAX_TEXTURE_IMAGE_UNITS + //GL_MAX_VIEWPORT_DIMS + + //int numAuxBuffers; + //glGetIntegerv(GL_AUX_BUFFERS, &numAuxBuffers); + //TraceLog(LOG_INFO, "GL_AUX_BUFFERS: %i", numAuxBuffers); + + //GLint numComp = 0; + //GLint format[32] = { 0 }; + //glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numComp); + //glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS, format); + //for (int i = 0; i < numComp; i++) TraceLog(LOG_INFO, "Supported compressed format: 0x%x", format[i]); + + // NOTE: We don't need that much data on screen... right now... + + // TODO: Automatize extensions loading using rlLoadExtensions() and GLAD + // Actually, when rlglInit() is called in InitWindow() in core.c, + // OpenGL required extensions have already been loaded (PLATFORM_DESKTOP) + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // Get supported extensions list + GLint numExt = 0; + +#if defined(GRAPHICS_API_OPENGL_33) + // NOTE: On OpenGL 3.3 VAO and NPOT are supported by default + vaoSupported = true; + + // Multiple texture extensions supported by default + texNPOTSupported = true; + texFloatSupported = true; + texDepthSupported = true; + + // We get a list of available extensions and we check for some of them (compressed textures) + // NOTE: We don't need to check again supported extensions but we do (GLAD already dealt with that) + glGetIntegerv(GL_NUM_EXTENSIONS, &numExt); + + const char **extList = RL_MALLOC(sizeof(const char *)*numExt); + for (int i = 0; i < numExt; i++) extList[i] = (char *)glGetStringi(GL_EXTENSIONS, i); + +#elif defined(GRAPHICS_API_OPENGL_ES2) + char *extensions = (char *)glGetString(GL_EXTENSIONS); // One big const string + + // NOTE: We have to duplicate string because glGetString() returns a const string + int len = strlen(extensions) + 1; + char *extensionsDup = (char *)RL_MALLOC(len); + strcpy(extensionsDup, extensions); + + // NOTE: String could be splitted using strtok() function (string.h) + // NOTE: strtok() modifies the passed string, it can not be const + + // Allocate 512 strings pointers (2 KB) + const char **extList = RL_MALLOC(sizeof(const char *)*512); + + extList[numExt] = strtok(extensionsDup, " "); + while (extList[numExt] != NULL) + { + numExt++; + extList[numExt] = strtok(NULL, " "); + } + + RL_FREE(extensionsDup); // Duplicated string must be deallocated + + numExt -= 1; +#endif + + TraceLog(LOG_INFO, "Number of supported extensions: %i", numExt); + + // Show supported extensions + //for (int i = 0; i < numExt; i++) TraceLog(LOG_INFO, "Supported extension: %s", extList[i]); + + // Check required extensions + for (int i = 0; i < numExt; i++) + { +#if defined(GRAPHICS_API_OPENGL_ES2) + // Check VAO support + // NOTE: Only check on OpenGL ES, OpenGL 3.3 has VAO support as core feature + if (strcmp(extList[i], (const char *)"GL_OES_vertex_array_object") == 0) + { + // The extension is supported by our hardware and driver, try to get related functions pointers + // NOTE: emscripten does not support VAOs natively, it uses emulation and it reduces overall performance... + glGenVertexArrays = (PFNGLGENVERTEXARRAYSOESPROC)eglGetProcAddress("glGenVertexArraysOES"); + glBindVertexArray = (PFNGLBINDVERTEXARRAYOESPROC)eglGetProcAddress("glBindVertexArrayOES"); + glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSOESPROC)eglGetProcAddress("glDeleteVertexArraysOES"); + //glIsVertexArray = (PFNGLISVERTEXARRAYOESPROC)eglGetProcAddress("glIsVertexArrayOES"); // NOTE: Fails in WebGL, omitted + + if ((glGenVertexArrays != NULL) && (glBindVertexArray != NULL) && (glDeleteVertexArrays != NULL)) vaoSupported = true; + } + + // Check NPOT textures support + // NOTE: Only check on OpenGL ES, OpenGL 3.3 has NPOT textures full support as core feature + if (strcmp(extList[i], (const char *)"GL_OES_texture_npot") == 0) texNPOTSupported = true; + + // Check texture float support + if (strcmp(extList[i], (const char *)"GL_OES_texture_float") == 0) texFloatSupported = true; + + // Check depth texture support + if ((strcmp(extList[i], (const char *)"GL_OES_depth_texture") == 0) || + (strcmp(extList[i], (const char *)"GL_WEBGL_depth_texture") == 0)) texDepthSupported = true; + + if (strcmp(extList[i], (const char *)"GL_OES_depth24") == 0) maxDepthBits = 24; + if (strcmp(extList[i], (const char *)"GL_OES_depth32") == 0) maxDepthBits = 32; +#endif + // DDS texture compression support + if ((strcmp(extList[i], (const char *)"GL_EXT_texture_compression_s3tc") == 0) || + (strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_s3tc") == 0) || + (strcmp(extList[i], (const char *)"GL_WEBKIT_WEBGL_compressed_texture_s3tc") == 0)) texCompDXTSupported = true; + + // ETC1 texture compression support + if ((strcmp(extList[i], (const char *)"GL_OES_compressed_ETC1_RGB8_texture") == 0) || + (strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_etc1") == 0)) texCompETC1Supported = true; + + // ETC2/EAC texture compression support + if (strcmp(extList[i], (const char *)"GL_ARB_ES3_compatibility") == 0) texCompETC2Supported = true; + + // PVR texture compression support + if (strcmp(extList[i], (const char *)"GL_IMG_texture_compression_pvrtc") == 0) texCompPVRTSupported = true; + + // ASTC texture compression support + if (strcmp(extList[i], (const char *)"GL_KHR_texture_compression_astc_hdr") == 0) texCompASTCSupported = true; + + // Anisotropic texture filter support + if (strcmp(extList[i], (const char *)"GL_EXT_texture_filter_anisotropic") == 0) + { + texAnisotropicFilterSupported = true; + glGetFloatv(0x84FF, &maxAnisotropicLevel); // GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT + } + + // Clamp mirror wrap mode supported + if (strcmp(extList[i], (const char *)"GL_EXT_texture_mirror_clamp") == 0) texMirrorClampSupported = true; + + // Debug marker support + if (strcmp(extList[i], (const char *)"GL_EXT_debug_marker") == 0) debugMarkerSupported = true; + } + + RL_FREE(extList); + +#if defined(GRAPHICS_API_OPENGL_ES2) + if (vaoSupported) TraceLog(LOG_INFO, "[EXTENSION] VAO extension detected, VAO functions initialized successfully"); + else TraceLog(LOG_WARNING, "[EXTENSION] VAO extension not found, VAO usage not supported"); + + if (texNPOTSupported) TraceLog(LOG_INFO, "[EXTENSION] NPOT textures extension detected, full NPOT textures supported"); + else TraceLog(LOG_WARNING, "[EXTENSION] NPOT textures extension not found, limited NPOT support (no-mipmaps, no-repeat)"); +#endif + + if (texCompDXTSupported) TraceLog(LOG_INFO, "[EXTENSION] DXT compressed textures supported"); + if (texCompETC1Supported) TraceLog(LOG_INFO, "[EXTENSION] ETC1 compressed textures supported"); + if (texCompETC2Supported) TraceLog(LOG_INFO, "[EXTENSION] ETC2/EAC compressed textures supported"); + if (texCompPVRTSupported) TraceLog(LOG_INFO, "[EXTENSION] PVRT compressed textures supported"); + if (texCompASTCSupported) TraceLog(LOG_INFO, "[EXTENSION] ASTC compressed textures supported"); + + if (texAnisotropicFilterSupported) TraceLog(LOG_INFO, "[EXTENSION] Anisotropic textures filtering supported (max: %.0fX)", maxAnisotropicLevel); + if (texMirrorClampSupported) TraceLog(LOG_INFO, "[EXTENSION] Mirror clamp wrap texture mode supported"); + + if (debugMarkerSupported) TraceLog(LOG_INFO, "[EXTENSION] Debug Marker supported"); + + // Initialize buffers, default shaders and default textures + //---------------------------------------------------------- + // Init default white texture + unsigned char pixels[4] = { 255, 255, 255, 255 }; // 1 pixel RGBA (4 bytes) + defaultTextureId = rlLoadTexture(pixels, 1, 1, UNCOMPRESSED_R8G8B8A8, 1); + + if (defaultTextureId != 0) TraceLog(LOG_INFO, "[TEX ID %i] Base white texture loaded successfully", defaultTextureId); + else TraceLog(LOG_WARNING, "Base white texture could not be loaded"); + + // Init default Shader (customized for GL 3.3 and ES2) + defaultShader = LoadShaderDefault(); + currentShader = defaultShader; + + // Init default vertex arrays buffers + LoadBuffersDefault(); + + // Init transformations matrix accumulator + transformMatrix = MatrixIdentity(); + + // Init draw calls tracking system + draws = (DrawCall *)RL_MALLOC(sizeof(DrawCall)*MAX_DRAWCALL_REGISTERED); + + for (int i = 0; i < MAX_DRAWCALL_REGISTERED; i++) + { + draws[i].mode = RL_QUADS; + draws[i].vertexCount = 0; + draws[i].vertexAlignment = 0; + //draws[i].vaoId = 0; + //draws[i].shaderId = 0; + draws[i].textureId = defaultTextureId; + //draws[i].projection = MatrixIdentity(); + //draws[i].modelview = MatrixIdentity(); + } + + drawsCounter = 1; + + // Init internal matrix stack (emulating OpenGL 1.1) + for (int i = 0; i < MAX_MATRIX_STACK_SIZE; i++) stack[i] = MatrixIdentity(); + + // Init internal projection and modelview matrices + projection = MatrixIdentity(); + modelview = MatrixIdentity(); + currentMatrix = &modelview; +#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 + + // Initialize OpenGL default states + //---------------------------------------------------------- + + // Init state: Depth test + glDepthFunc(GL_LEQUAL); // Type of depth testing to apply + glDisable(GL_DEPTH_TEST); // Disable depth testing for 2D (only used for 3D) + + // Init state: Blending mode + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Color blending function (how colors are mixed) + glEnable(GL_BLEND); // Enable color blending (required to work with transparencies) + + // Init state: Culling + // NOTE: All shapes/models triangles are drawn CCW + glCullFace(GL_BACK); // Cull the back face (default) + glFrontFace(GL_CCW); // Front face are defined counter clockwise (default) + glEnable(GL_CULL_FACE); // Enable backface culling + +#if defined(GRAPHICS_API_OPENGL_11) + // Init state: Color hints (deprecated in OpenGL 3.0+) + glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Improve quality of color and texture coordinate interpolation + glShadeModel(GL_SMOOTH); // Smooth shading between vertex (vertex colors interpolation) +#endif + + // Init state: Color/Depth buffers clear + glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Set clear color (black) + glClearDepth(1.0f); // Set clear depth value (default) + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear color and depth buffers (depth buffer required for 3D) + + // Store screen size into global variables + screenWidth = width; + screenHeight = height; + + TraceLog(LOG_INFO, "OpenGL default states initialized successfully"); +} + +// Vertex Buffer Object deinitialization (memory free) +void rlglClose(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + UnloadShaderDefault(); // Unload default shader + UnloadBuffersDefault(); // Unload default buffers + glDeleteTextures(1, &defaultTextureId); // Unload default texture + + TraceLog(LOG_INFO, "[TEX ID %i] Unloaded texture data (base white texture) from VRAM", defaultTextureId); + + RL_FREE(draws); +#endif +} + +// Update and draw internal buffers +void rlglDraw(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // Only process data if we have data to process + if (vertexData[currentBuffer].vCounter > 0) + { + UpdateBuffersDefault(); + DrawBuffersDefault(); // NOTE: Stereo rendering is checked inside + } +#endif +} + +// Returns current OpenGL version +int rlGetVersion(void) +{ +#if defined(GRAPHICS_API_OPENGL_11) + return OPENGL_11; +#elif defined(GRAPHICS_API_OPENGL_21) + #if defined(__APPLE__) + return OPENGL_33; // NOTE: Force OpenGL 3.3 on OSX + #else + return OPENGL_21; + #endif +#elif defined(GRAPHICS_API_OPENGL_33) + return OPENGL_33; +#elif defined(GRAPHICS_API_OPENGL_ES2) + return OPENGL_ES_20; +#endif +} + +// Check internal buffer overflow for a given number of vertex +bool rlCheckBufferLimit(int vCount) +{ + bool overflow = false; +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if ((vertexData[currentBuffer].vCounter + vCount) >= (MAX_BATCH_ELEMENTS*4)) overflow = true; +#endif + return overflow; +} + +// Set debug marker +void rlSetDebugMarker(const char *text) +{ +#if defined(GRAPHICS_API_OPENGL_33) + if (debugMarkerSupported) glInsertEventMarkerEXT(0, text); +#endif +} + +// Load OpenGL extensions +// NOTE: External loader function could be passed as a pointer +void rlLoadExtensions(void *loader) +{ +#if defined(GRAPHICS_API_OPENGL_33) + // NOTE: glad is generated and contains only required OpenGL 3.3 Core extensions (and lower versions) + #if !defined(__APPLE__) + if (!gladLoadGLLoader((GLADloadproc)loader)) TraceLog(LOG_WARNING, "GLAD: Cannot load OpenGL extensions"); + else TraceLog(LOG_INFO, "GLAD: OpenGL extensions loaded successfully"); + + #if defined(GRAPHICS_API_OPENGL_21) + if (GLAD_GL_VERSION_2_1) TraceLog(LOG_INFO, "OpenGL 2.1 profile supported"); + #elif defined(GRAPHICS_API_OPENGL_33) + if (GLAD_GL_VERSION_3_3) TraceLog(LOG_INFO, "OpenGL 3.3 Core profile supported"); + else TraceLog(LOG_ERROR, "OpenGL 3.3 Core profile not supported"); + #endif + #endif + + // With GLAD, we can check if an extension is supported using the GLAD_GL_xxx booleans + //if (GLAD_GL_ARB_vertex_array_object) // Use GL_ARB_vertex_array_object +#endif +} + +// Get world coordinates from screen coordinates +Vector3 rlUnproject(Vector3 source, Matrix proj, Matrix view) +{ + Vector3 result = { 0.0f, 0.0f, 0.0f }; + + // Calculate unproject matrix (multiply view patrix by projection matrix) and invert it + Matrix matViewProj = MatrixMultiply(view, proj); + matViewProj = MatrixInvert(matViewProj); + + // Create quaternion from source point + Quaternion quat = { source.x, source.y, source.z, 1.0f }; + + // Multiply quat point by unproject matrix + quat = QuaternionTransform(quat, matViewProj); + + // Normalized world points in vectors + result.x = quat.x/quat.w; + result.y = quat.y/quat.w; + result.z = quat.z/quat.w; + + return result; +} + +// Convert image data to OpenGL texture (returns OpenGL valid Id) +unsigned int rlLoadTexture(void *data, int width, int height, int format, int mipmapCount) +{ + glBindTexture(GL_TEXTURE_2D, 0); // Free any old binding + + unsigned int id = 0; + + // Check texture format support by OpenGL 1.1 (compressed textures not supported) +#if defined(GRAPHICS_API_OPENGL_11) + if (format >= COMPRESSED_DXT1_RGB) + { + TraceLog(LOG_WARNING, "OpenGL 1.1 does not support GPU compressed texture formats"); + return id; + } +#else + if ((!texCompDXTSupported) && ((format == COMPRESSED_DXT1_RGB) || (format == COMPRESSED_DXT1_RGBA) || + (format == COMPRESSED_DXT3_RGBA) || (format == COMPRESSED_DXT5_RGBA))) + { + TraceLog(LOG_WARNING, "DXT compressed texture format not supported"); + return id; + } +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if ((!texCompETC1Supported) && (format == COMPRESSED_ETC1_RGB)) + { + TraceLog(LOG_WARNING, "ETC1 compressed texture format not supported"); + return id; + } + + if ((!texCompETC2Supported) && ((format == COMPRESSED_ETC2_RGB) || (format == COMPRESSED_ETC2_EAC_RGBA))) + { + TraceLog(LOG_WARNING, "ETC2 compressed texture format not supported"); + return id; + } + + if ((!texCompPVRTSupported) && ((format == COMPRESSED_PVRT_RGB) || (format == COMPRESSED_PVRT_RGBA))) + { + TraceLog(LOG_WARNING, "PVRT compressed texture format not supported"); + return id; + } + + if ((!texCompASTCSupported) && ((format == COMPRESSED_ASTC_4x4_RGBA) || (format == COMPRESSED_ASTC_8x8_RGBA))) + { + TraceLog(LOG_WARNING, "ASTC compressed texture format not supported"); + return id; + } +#endif +#endif // GRAPHICS_API_OPENGL_11 + + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + + glGenTextures(1, &id); // Generate texture id + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + //glActiveTexture(GL_TEXTURE0); // If not defined, using GL_TEXTURE0 by default (shader texture) +#endif + + glBindTexture(GL_TEXTURE_2D, id); + + int mipWidth = width; + int mipHeight = height; + int mipOffset = 0; // Mipmap data offset + + TraceLog(LOG_DEBUG, "Load texture from data memory address: 0x%x", data); + + // Load the different mipmap levels + for (int i = 0; i < mipmapCount; i++) + { + unsigned int mipSize = GetPixelDataSize(mipWidth, mipHeight, format); + + unsigned int glInternalFormat, glFormat, glType; + rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType); + + TraceLog(LOG_DEBUG, "Load mipmap level %i (%i x %i), size: %i, offset: %i", i, mipWidth, mipHeight, mipSize, mipOffset); + + if (glInternalFormat != -1) + { + if (format < COMPRESSED_DXT1_RGB) glTexImage2D(GL_TEXTURE_2D, i, glInternalFormat, mipWidth, mipHeight, 0, glFormat, glType, (unsigned char *)data + mipOffset); + #if !defined(GRAPHICS_API_OPENGL_11) + else glCompressedTexImage2D(GL_TEXTURE_2D, i, glInternalFormat, mipWidth, mipHeight, 0, mipSize, (unsigned char *)data + mipOffset); + #endif + + #if defined(GRAPHICS_API_OPENGL_33) + if (format == UNCOMPRESSED_GRAYSCALE) + { + GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_ONE }; + glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask); + } + else if (format == UNCOMPRESSED_GRAY_ALPHA) + { + #if defined(GRAPHICS_API_OPENGL_21) + GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_ALPHA }; + #elif defined(GRAPHICS_API_OPENGL_33) + GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_GREEN }; + #endif + glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask); + } + #endif + } + + mipWidth /= 2; + mipHeight /= 2; + mipOffset += mipSize; + + // Security check for NPOT textures + if (mipWidth < 1) mipWidth = 1; + if (mipHeight < 1) mipHeight = 1; + } + + // Texture parameters configuration + // NOTE: glTexParameteri does NOT affect texture uploading, just the way it's used +#if defined(GRAPHICS_API_OPENGL_ES2) + // NOTE: OpenGL ES 2.0 with no GL_OES_texture_npot support (i.e. WebGL) has limited NPOT support, so CLAMP_TO_EDGE must be used + if (texNPOTSupported) + { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // Set texture to repeat on x-axis + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); // Set texture to repeat on y-axis + } + else + { + // NOTE: If using negative texture coordinates (LoadOBJ()), it does not work! + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); // Set texture to clamp on x-axis + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); // Set texture to clamp on y-axis + } +#else + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // Set texture to repeat on x-axis + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); // Set texture to repeat on y-axis +#endif + + // Magnification and minification filters + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); // Alternative: GL_LINEAR + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); // Alternative: GL_LINEAR + +#if defined(GRAPHICS_API_OPENGL_33) + if (mipmapCount > 1) + { + // Activate Trilinear filtering if mipmaps are available + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + } +#endif + + // At this point we have the texture loaded in GPU and texture parameters configured + + // NOTE: If mipmaps were not in data, they are not generated automatically + + // Unbind current texture + glBindTexture(GL_TEXTURE_2D, 0); + + if (id > 0) TraceLog(LOG_INFO, "[TEX ID %i] Texture created successfully (%ix%i - %i mipmaps)", id, width, height, mipmapCount); + else TraceLog(LOG_WARNING, "Texture could not be created"); + + return id; +} + +// Load depth texture/renderbuffer (to be attached to fbo) +// WARNING: OpenGL ES 2.0 requires GL_OES_depth_texture/WEBGL_depth_texture extensions +unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderBuffer) +{ + unsigned int id = 0; + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + unsigned int glInternalFormat = GL_DEPTH_COMPONENT16; + + if ((bits != 16) && (bits != 24) && (bits != 32)) bits = 16; + + if (bits == 24) + { +#if defined(GRAPHICS_API_OPENGL_33) + glInternalFormat = GL_DEPTH_COMPONENT24; +#elif defined(GRAPHICS_API_OPENGL_ES2) + if (maxDepthBits >= 24) glInternalFormat = GL_DEPTH_COMPONENT24_OES; +#endif + } + + if (bits == 32) + { +#if defined(GRAPHICS_API_OPENGL_33) + glInternalFormat = GL_DEPTH_COMPONENT32; +#elif defined(GRAPHICS_API_OPENGL_ES2) + if (maxDepthBits == 32) glInternalFormat = GL_DEPTH_COMPONENT32_OES; +#endif + } + + if (!useRenderBuffer && texDepthSupported) + { + glGenTextures(1, &id); + glBindTexture(GL_TEXTURE_2D, id); + glTexImage2D(GL_TEXTURE_2D, 0, glInternalFormat, width, height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glBindTexture(GL_TEXTURE_2D, 0); + } + else + { + // Create the renderbuffer that will serve as the depth attachment for the framebuffer + // NOTE: A renderbuffer is simpler than a texture and could offer better performance on embedded devices + glGenRenderbuffers(1, &id); + glBindRenderbuffer(GL_RENDERBUFFER, id); + glRenderbufferStorage(GL_RENDERBUFFER, glInternalFormat, width, height); + + glBindRenderbuffer(GL_RENDERBUFFER, 0); + } +#endif + + return id; +} + +// Load texture cubemap +// NOTE: Cubemap data is expected to be 6 images in a single column, +// expected the following convention: +X, -X, +Y, -Y, +Z, -Z +unsigned int rlLoadTextureCubemap(void *data, int size, int format) +{ + unsigned int cubemapId = 0; + unsigned int dataSize = GetPixelDataSize(size, size, format); + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + glGenTextures(1, &cubemapId); + glBindTexture(GL_TEXTURE_CUBE_MAP, cubemapId); + + unsigned int glInternalFormat, glFormat, glType; + rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType); + + if (glInternalFormat != -1) + { + // Load cubemap faces + for (unsigned int i = 0; i < 6; i++) + { + if (format < COMPRESSED_DXT1_RGB) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, glFormat, glType, (unsigned char *)data + i*dataSize); +#if !defined(GRAPHICS_API_OPENGL_11) + else glCompressedTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, dataSize, (unsigned char *)data + i*dataSize); +#endif +#if defined(GRAPHICS_API_OPENGL_33) + if (format == UNCOMPRESSED_GRAYSCALE) + { + GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_ONE }; + glTexParameteriv(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask); + } + else if (format == UNCOMPRESSED_GRAY_ALPHA) + { +#if defined(GRAPHICS_API_OPENGL_21) + GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_ALPHA }; +#elif defined(GRAPHICS_API_OPENGL_33) + GLint swizzleMask[] = { GL_RED, GL_RED, GL_RED, GL_GREEN }; +#endif + glTexParameteriv(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask); + } +#endif + } + } + + // Set cubemap texture sampling parameters + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); +#if defined(GRAPHICS_API_OPENGL_33) + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); // Flag not supported on OpenGL ES 2.0 +#endif + + glBindTexture(GL_TEXTURE_CUBE_MAP, 0); +#endif + + return cubemapId; +} + +// Update already loaded texture in GPU with new data +// NOTE: We don't know safely if internal texture format is the expected one... +void rlUpdateTexture(unsigned int id, int width, int height, int format, const void *data) +{ + glBindTexture(GL_TEXTURE_2D, id); + + unsigned int glInternalFormat, glFormat, glType; + rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType); + + if ((glInternalFormat != -1) && (format < COMPRESSED_DXT1_RGB)) + { + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, glFormat, glType, (unsigned char *)data); + } + else TraceLog(LOG_WARNING, "Texture format updating not supported"); +} + +// Get OpenGL internal formats and data type from raylib PixelFormat +void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType) +{ + *glInternalFormat = -1; + *glFormat = -1; + *glType = -1; + + switch (format) + { + #if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_ES2) + // NOTE: on OpenGL ES 2.0 (WebGL), internalFormat must match format and options allowed are: GL_LUMINANCE, GL_RGB, GL_RGBA + case UNCOMPRESSED_GRAYSCALE: *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_UNSIGNED_BYTE; break; + case UNCOMPRESSED_GRAY_ALPHA: *glInternalFormat = GL_LUMINANCE_ALPHA; *glFormat = GL_LUMINANCE_ALPHA; *glType = GL_UNSIGNED_BYTE; break; + case UNCOMPRESSED_R5G6B5: *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_UNSIGNED_SHORT_5_6_5; break; + case UNCOMPRESSED_R8G8B8: *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_UNSIGNED_BYTE; break; + case UNCOMPRESSED_R5G5B5A1: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_5_5_5_1; break; + case UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break; + case UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break; + #if !defined(GRAPHICS_API_OPENGL_11) + case UNCOMPRESSED_R32: if (texFloatSupported) *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float + case UNCOMPRESSED_R32G32B32: if (texFloatSupported) *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float + case UNCOMPRESSED_R32G32B32A32: if (texFloatSupported) *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float + #endif + #elif defined(GRAPHICS_API_OPENGL_33) + case UNCOMPRESSED_GRAYSCALE: *glInternalFormat = GL_R8; *glFormat = GL_RED; *glType = GL_UNSIGNED_BYTE; break; + case UNCOMPRESSED_GRAY_ALPHA: *glInternalFormat = GL_RG8; *glFormat = GL_RG; *glType = GL_UNSIGNED_BYTE; break; + case UNCOMPRESSED_R5G6B5: *glInternalFormat = GL_RGB565; *glFormat = GL_RGB; *glType = GL_UNSIGNED_SHORT_5_6_5; break; + case UNCOMPRESSED_R8G8B8: *glInternalFormat = GL_RGB8; *glFormat = GL_RGB; *glType = GL_UNSIGNED_BYTE; break; + case UNCOMPRESSED_R5G5B5A1: *glInternalFormat = GL_RGB5_A1; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_5_5_5_1; break; + case UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA4; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break; + case UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA8; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break; + case UNCOMPRESSED_R32: if (texFloatSupported) *glInternalFormat = GL_R32F; *glFormat = GL_RED; *glType = GL_FLOAT; break; + case UNCOMPRESSED_R32G32B32: if (texFloatSupported) *glInternalFormat = GL_RGB32F; *glFormat = GL_RGB; *glType = GL_FLOAT; break; + case UNCOMPRESSED_R32G32B32A32: if (texFloatSupported) *glInternalFormat = GL_RGBA32F; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; + #endif + #if !defined(GRAPHICS_API_OPENGL_11) + case COMPRESSED_DXT1_RGB: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGB_S3TC_DXT1_EXT; break; + case COMPRESSED_DXT1_RGBA: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; break; + case COMPRESSED_DXT3_RGBA: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; break; + case COMPRESSED_DXT5_RGBA: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; break; + case COMPRESSED_ETC1_RGB: if (texCompETC1Supported) *glInternalFormat = GL_ETC1_RGB8_OES; break; // NOTE: Requires OpenGL ES 2.0 or OpenGL 4.3 + case COMPRESSED_ETC2_RGB: if (texCompETC2Supported) *glInternalFormat = GL_COMPRESSED_RGB8_ETC2; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 + case COMPRESSED_ETC2_EAC_RGBA: if (texCompETC2Supported) *glInternalFormat = GL_COMPRESSED_RGBA8_ETC2_EAC; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 + case COMPRESSED_PVRT_RGB: if (texCompPVRTSupported) *glInternalFormat = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU + case COMPRESSED_PVRT_RGBA: if (texCompPVRTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU + case COMPRESSED_ASTC_4x4_RGBA: if (texCompASTCSupported) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_4x4_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 + case COMPRESSED_ASTC_8x8_RGBA: if (texCompASTCSupported) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_8x8_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 + #endif + default: TraceLog(LOG_WARNING, "Texture format not supported"); break; + } +} + +// Unload texture from GPU memory +void rlUnloadTexture(unsigned int id) +{ + if (id > 0) glDeleteTextures(1, &id); +} + +// Load a texture to be used for rendering (fbo with default color and depth attachments) +// NOTE: If colorFormat or depthBits are no supported, no attachment is done +RenderTexture2D rlLoadRenderTexture(int width, int height, int format, int depthBits, bool useDepthTexture) +{ + RenderTexture2D target = { 0 }; + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (useDepthTexture && texDepthSupported) target.depthTexture = true; + + // Create the framebuffer object + glGenFramebuffers(1, &target.id); + glBindFramebuffer(GL_FRAMEBUFFER, target.id); + + // Create fbo color texture attachment + //----------------------------------------------------------------------------------------------------- + if ((format != -1) && (format < COMPRESSED_DXT1_RGB)) + { + // WARNING: Some texture formats are not supported for fbo color attachment + target.texture.id = rlLoadTexture(NULL, width, height, format, 1); + target.texture.width = width; + target.texture.height = height; + target.texture.format = format; + target.texture.mipmaps = 1; + } + //----------------------------------------------------------------------------------------------------- + + // Create fbo depth renderbuffer/texture + //----------------------------------------------------------------------------------------------------- + if (depthBits > 0) + { + target.depth.id = rlLoadTextureDepth(width, height, depthBits, !useDepthTexture); + target.depth.width = width; + target.depth.height = height; + target.depth.format = 19; //DEPTH_COMPONENT_24BIT? + target.depth.mipmaps = 1; + } + //----------------------------------------------------------------------------------------------------- + + // Attach color texture and depth renderbuffer to FBO + //----------------------------------------------------------------------------------------------------- + rlRenderTextureAttach(target, target.texture.id, 0); // COLOR attachment + rlRenderTextureAttach(target, target.depth.id, 1); // DEPTH attachment + //----------------------------------------------------------------------------------------------------- + + // Check if fbo is complete with attachments (valid) + //----------------------------------------------------------------------------------------------------- + if (rlRenderTextureComplete(target)) TraceLog(LOG_INFO, "[FBO ID %i] Framebuffer object created successfully", target.id); + //----------------------------------------------------------------------------------------------------- + + glBindFramebuffer(GL_FRAMEBUFFER, 0); +#endif + + return target; +} + +// Attach color buffer texture to an fbo (unloads previous attachment) +// NOTE: Attach type: 0-Color, 1-Depth renderbuffer, 2-Depth texture +void rlRenderTextureAttach(RenderTexture2D target, unsigned int id, int attachType) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + glBindFramebuffer(GL_FRAMEBUFFER, target.id); + + if (attachType == 0) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, id, 0); + else if (attachType == 1) + { + if (target.depthTexture) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, id, 0); + else glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, id); + } + + glBindFramebuffer(GL_FRAMEBUFFER, 0); +#endif +} + +// Verify render texture is complete +bool rlRenderTextureComplete(RenderTexture target) +{ + bool result = false; + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + glBindFramebuffer(GL_FRAMEBUFFER, target.id); + + GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); + + if (status != GL_FRAMEBUFFER_COMPLETE) + { + switch (status) + { + case GL_FRAMEBUFFER_UNSUPPORTED: TraceLog(LOG_WARNING, "Framebuffer is unsupported"); break; + case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: TraceLog(LOG_WARNING, "Framebuffer has incomplete attachment"); break; +#if defined(GRAPHICS_API_OPENGL_ES2) + case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: TraceLog(LOG_WARNING, "Framebuffer has incomplete dimensions"); break; +#endif + case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: TraceLog(LOG_WARNING, "Framebuffer has a missing attachment"); break; + default: break; + } + } + + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + result = (status == GL_FRAMEBUFFER_COMPLETE); +#endif + + return result; +} + +// Generate mipmap data for selected texture +void rlGenerateMipmaps(Texture2D *texture) +{ + glBindTexture(GL_TEXTURE_2D, texture->id); + + // Check if texture is power-of-two (POT) + bool texIsPOT = false; + + if (((texture->width > 0) && ((texture->width & (texture->width - 1)) == 0)) && + ((texture->height > 0) && ((texture->height & (texture->height - 1)) == 0))) texIsPOT = true; + +#if defined(GRAPHICS_API_OPENGL_11) + if (texIsPOT) + { + // WARNING: Manual mipmap generation only works for RGBA 32bit textures! + if (texture->format == UNCOMPRESSED_R8G8B8A8) + { + // Retrieve texture data from VRAM + void *data = rlReadTexturePixels(*texture); + + // NOTE: data size is reallocated to fit mipmaps data + // NOTE: CPU mipmap generation only supports RGBA 32bit data + int mipmapCount = GenerateMipmaps(data, texture->width, texture->height); + + int size = texture->width*texture->height*4; + int offset = size; + + int mipWidth = texture->width/2; + int mipHeight = texture->height/2; + + // Load the mipmaps + for (int level = 1; level < mipmapCount; level++) + { + glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA8, mipWidth, mipHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, (unsigned char *)data + offset); + + size = mipWidth*mipHeight*4; + offset += size; + + mipWidth /= 2; + mipHeight /= 2; + } + + texture->mipmaps = mipmapCount + 1; + RL_FREE(data); // Once mipmaps have been generated and data has been uploaded to GPU VRAM, we can discard RAM data + + TraceLog(LOG_WARNING, "[TEX ID %i] Mipmaps [%i] generated manually on CPU side", texture->id, texture->mipmaps); + } + else TraceLog(LOG_WARNING, "[TEX ID %i] Mipmaps could not be generated for texture format", texture->id); + } +#elif defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if ((texIsPOT) || (texNPOTSupported)) + { + //glHint(GL_GENERATE_MIPMAP_HINT, GL_DONT_CARE); // Hint for mipmaps generation algorythm: GL_FASTEST, GL_NICEST, GL_DONT_CARE + glGenerateMipmap(GL_TEXTURE_2D); // Generate mipmaps automatically + TraceLog(LOG_INFO, "[TEX ID %i] Mipmaps generated automatically", texture->id); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); // Activate Trilinear filtering for mipmaps + + #define MIN(a,b) (((a)<(b))?(a):(b)) + #define MAX(a,b) (((a)>(b))?(a):(b)) + + texture->mipmaps = 1 + (int)floor(log(MAX(texture->width, texture->height))/log(2)); + } +#endif + else TraceLog(LOG_WARNING, "[TEX ID %i] Mipmaps can not be generated", texture->id); + + glBindTexture(GL_TEXTURE_2D, 0); +} + +// Upload vertex data into a VAO (if supported) and VBO +void rlLoadMesh(Mesh *mesh, bool dynamic) +{ + if (mesh->vaoId > 0) + { + // Check if mesh has already been loaded in GPU + TraceLog(LOG_WARNING, "Trying to re-load an already loaded mesh"); + return; + } + + mesh->vaoId = 0; // Vertex Array Object + mesh->vboId[0] = 0; // Vertex positions VBO + mesh->vboId[1] = 0; // Vertex texcoords VBO + mesh->vboId[2] = 0; // Vertex normals VBO + mesh->vboId[3] = 0; // Vertex colors VBO + mesh->vboId[4] = 0; // Vertex tangents VBO + mesh->vboId[5] = 0; // Vertex texcoords2 VBO + mesh->vboId[6] = 0; // Vertex indices VBO + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + int drawHint = GL_STATIC_DRAW; + if (dynamic) drawHint = GL_DYNAMIC_DRAW; + + if (vaoSupported) + { + // Initialize Quads VAO (Buffer A) + glGenVertexArrays(1, &mesh->vaoId); + glBindVertexArray(mesh->vaoId); + } + + // NOTE: Attributes must be uploaded considering default locations points + + // Enable vertex attributes: position (shader-location = 0) + glGenBuffers(1, &mesh->vboId[0]); + glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[0]); + glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*mesh->vertexCount, mesh->vertices, drawHint); + glVertexAttribPointer(0, 3, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(0); + + // Enable vertex attributes: texcoords (shader-location = 1) + glGenBuffers(1, &mesh->vboId[1]); + glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[1]); + glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*mesh->vertexCount, mesh->texcoords, drawHint); + glVertexAttribPointer(1, 2, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(1); + + // Enable vertex attributes: normals (shader-location = 2) + if (mesh->normals != NULL) + { + glGenBuffers(1, &mesh->vboId[2]); + glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[2]); + glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*mesh->vertexCount, mesh->normals, drawHint); + glVertexAttribPointer(2, 3, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(2); + } + else + { + // Default color vertex attribute set to WHITE + glVertexAttrib3f(2, 1.0f, 1.0f, 1.0f); + glDisableVertexAttribArray(2); + } + + // Default color vertex attribute (shader-location = 3) + if (mesh->colors != NULL) + { + glGenBuffers(1, &mesh->vboId[3]); + glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[3]); + glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*mesh->vertexCount, mesh->colors, drawHint); + glVertexAttribPointer(3, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); + glEnableVertexAttribArray(3); + } + else + { + // Default color vertex attribute set to WHITE + glVertexAttrib4f(3, 1.0f, 1.0f, 1.0f, 1.0f); + glDisableVertexAttribArray(3); + } + + // Default tangent vertex attribute (shader-location = 4) + if (mesh->tangents != NULL) + { + glGenBuffers(1, &mesh->vboId[4]); + glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[4]); + glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*mesh->vertexCount, mesh->tangents, drawHint); + glVertexAttribPointer(4, 4, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(4); + } + else + { + // Default tangents vertex attribute + glVertexAttrib4f(4, 0.0f, 0.0f, 0.0f, 0.0f); + glDisableVertexAttribArray(4); + } + + // Default texcoord2 vertex attribute (shader-location = 5) + if (mesh->texcoords2 != NULL) + { + glGenBuffers(1, &mesh->vboId[5]); + glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[5]); + glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*mesh->vertexCount, mesh->texcoords2, drawHint); + glVertexAttribPointer(5, 2, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(5); + } + else + { + // Default texcoord2 vertex attribute + glVertexAttrib2f(5, 0.0f, 0.0f); + glDisableVertexAttribArray(5); + } + + if (mesh->indices != NULL) + { + glGenBuffers(1, &mesh->vboId[6]); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh->vboId[6]); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned short)*mesh->triangleCount*3, mesh->indices, GL_STATIC_DRAW); + } + + if (vaoSupported) + { + if (mesh->vaoId > 0) TraceLog(LOG_INFO, "[VAO ID %i] Mesh uploaded successfully to VRAM (GPU)", mesh->vaoId); + else TraceLog(LOG_WARNING, "Mesh could not be uploaded to VRAM (GPU)"); + } + else + { + TraceLog(LOG_INFO, "[VBOs] Mesh uploaded successfully to VRAM (GPU)"); + } +#endif +} + +// Load a new attributes buffer +unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *buffer, int size, bool dynamic) +{ + unsigned int id = 0; + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + int drawHint = GL_STATIC_DRAW; + if (dynamic) drawHint = GL_DYNAMIC_DRAW; + + if (vaoSupported) glBindVertexArray(vaoId); + + glGenBuffers(1, &id); + glBindBuffer(GL_ARRAY_BUFFER, id); + glBufferData(GL_ARRAY_BUFFER, size, buffer, drawHint); + glVertexAttribPointer(shaderLoc, 2, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(shaderLoc); + + if (vaoSupported) glBindVertexArray(0); +#endif + + return id; +} + +// Update vertex data on GPU (upload new data to one buffer) +void rlUpdateMesh(Mesh mesh, int buffer, int numVertex) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // Activate mesh VAO + if (vaoSupported) glBindVertexArray(mesh.vaoId); + + switch (buffer) + { + case 0: // Update vertices (vertex position) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[0]); + if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*numVertex, mesh.vertices, GL_DYNAMIC_DRAW); + else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*numVertex, mesh.vertices); + + } break; + case 1: // Update texcoords (vertex texture coordinates) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[1]); + if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*numVertex, mesh.texcoords, GL_DYNAMIC_DRAW); + else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*numVertex, mesh.texcoords); + + } break; + case 2: // Update normals (vertex normals) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[2]); + if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*numVertex, mesh.normals, GL_DYNAMIC_DRAW); + else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*numVertex, mesh.normals); + + } break; + case 3: // Update colors (vertex colors) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[3]); + if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*numVertex, mesh.colors, GL_DYNAMIC_DRAW); + else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*numVertex, mesh.colors); + + } break; + case 4: // Update tangents (vertex tangents) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[4]); + if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*numVertex, mesh.tangents, GL_DYNAMIC_DRAW); + else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*4*numVertex, mesh.tangents); + } break; + case 5: // Update texcoords2 (vertex second texture coordinates) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[5]); + if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*numVertex, mesh.texcoords2, GL_DYNAMIC_DRAW); + else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*numVertex, mesh.texcoords2); + } break; + default: break; + } + + // Unbind the current VAO + if (vaoSupported) glBindVertexArray(0); + + // Another option would be using buffer mapping... + //mesh.vertices = glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); + // Now we can modify vertices + //glUnmapBuffer(GL_ARRAY_BUFFER); +#endif +} + +// Draw a 3d mesh with material and transform +void rlDrawMesh(Mesh mesh, Material material, Matrix transform) +{ +#if defined(GRAPHICS_API_OPENGL_11) + glEnable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, material.maps[MAP_DIFFUSE].texture.id); + + // NOTE: On OpenGL 1.1 we use Vertex Arrays to draw model + glEnableClientState(GL_VERTEX_ARRAY); // Enable vertex array + glEnableClientState(GL_TEXTURE_COORD_ARRAY); // Enable texture coords array + if (mesh.normals != NULL) glEnableClientState(GL_NORMAL_ARRAY); // Enable normals array + if (mesh.colors != NULL) glEnableClientState(GL_COLOR_ARRAY); // Enable colors array + + glVertexPointer(3, GL_FLOAT, 0, mesh.vertices); // Pointer to vertex coords array + glTexCoordPointer(2, GL_FLOAT, 0, mesh.texcoords); // Pointer to texture coords array + if (mesh.normals != NULL) glNormalPointer(GL_FLOAT, 0, mesh.normals); // Pointer to normals array + if (mesh.colors != NULL) glColorPointer(4, GL_UNSIGNED_BYTE, 0, mesh.colors); // Pointer to colors array + + rlPushMatrix(); + rlMultMatrixf(MatrixToFloat(transform)); + rlColor4ub(material.maps[MAP_DIFFUSE].color.r, material.maps[MAP_DIFFUSE].color.g, material.maps[MAP_DIFFUSE].color.b, material.maps[MAP_DIFFUSE].color.a); + + if (mesh.indices != NULL) glDrawElements(GL_TRIANGLES, mesh.triangleCount*3, GL_UNSIGNED_SHORT, mesh.indices); + else glDrawArrays(GL_TRIANGLES, 0, mesh.vertexCount); + rlPopMatrix(); + + glDisableClientState(GL_VERTEX_ARRAY); // Disable vertex array + glDisableClientState(GL_TEXTURE_COORD_ARRAY); // Disable texture coords array + if (mesh.normals != NULL) glDisableClientState(GL_NORMAL_ARRAY); // Disable normals array + if (mesh.colors != NULL) glDisableClientState(GL_NORMAL_ARRAY); // Disable colors array + + glDisable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, 0); +#endif + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // Bind shader program + glUseProgram(material.shader.id); + + // Matrices and other values required by shader + //----------------------------------------------------- + // Calculate and send to shader model matrix (used by PBR shader) + if (material.shader.locs[LOC_MATRIX_MODEL] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_MODEL], transform); + + // Upload to shader material.colDiffuse + if (material.shader.locs[LOC_COLOR_DIFFUSE] != -1) + glUniform4f(material.shader.locs[LOC_COLOR_DIFFUSE], (float)material.maps[MAP_DIFFUSE].color.r/255.0f, + (float)material.maps[MAP_DIFFUSE].color.g/255.0f, + (float)material.maps[MAP_DIFFUSE].color.b/255.0f, + (float)material.maps[MAP_DIFFUSE].color.a/255.0f); + + // Upload to shader material.colSpecular (if available) + if (material.shader.locs[LOC_COLOR_SPECULAR] != -1) + glUniform4f(material.shader.locs[LOC_COLOR_SPECULAR], (float)material.maps[MAP_SPECULAR].color.r/255.0f, + (float)material.maps[MAP_SPECULAR].color.g/255.0f, + (float)material.maps[MAP_SPECULAR].color.b/255.0f, + (float)material.maps[MAP_SPECULAR].color.a/255.0f); + + if (material.shader.locs[LOC_MATRIX_VIEW] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_VIEW], modelview); + if (material.shader.locs[LOC_MATRIX_PROJECTION] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_PROJECTION], projection); + + // At this point the modelview matrix just contains the view matrix (camera) + // That's because BeginMode3D() sets it an no model-drawing function modifies it, all use rlPushMatrix() and rlPopMatrix() + Matrix matView = modelview; // View matrix (camera) + Matrix matProjection = projection; // Projection matrix (perspective) + + // Calculate model-view matrix combining matModel and matView + Matrix matModelView = MatrixMultiply(transform, matView); // Transform to camera-space coordinates + //----------------------------------------------------- + + // Bind active texture maps (if available) + for (int i = 0; i < MAX_MATERIAL_MAPS; i++) + { + if (material.maps[i].texture.id > 0) + { + glActiveTexture(GL_TEXTURE0 + i); + if ((i == MAP_IRRADIANCE) || (i == MAP_PREFILTER) || (i == MAP_CUBEMAP)) glBindTexture(GL_TEXTURE_CUBE_MAP, material.maps[i].texture.id); + else glBindTexture(GL_TEXTURE_2D, material.maps[i].texture.id); + + glUniform1i(material.shader.locs[LOC_MAP_DIFFUSE + i], i); + } + } + + // Bind vertex array objects (or VBOs) + if (vaoSupported) glBindVertexArray(mesh.vaoId); + else + { + // Bind mesh VBO data: vertex position (shader-location = 0) + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[0]); + glVertexAttribPointer(material.shader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(material.shader.locs[LOC_VERTEX_POSITION]); + + // Bind mesh VBO data: vertex texcoords (shader-location = 1) + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[1]); + glVertexAttribPointer(material.shader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(material.shader.locs[LOC_VERTEX_TEXCOORD01]); + + // Bind mesh VBO data: vertex normals (shader-location = 2, if available) + if (material.shader.locs[LOC_VERTEX_NORMAL] != -1) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[2]); + glVertexAttribPointer(material.shader.locs[LOC_VERTEX_NORMAL], 3, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(material.shader.locs[LOC_VERTEX_NORMAL]); + } + + // Bind mesh VBO data: vertex colors (shader-location = 3, if available) + if (material.shader.locs[LOC_VERTEX_COLOR] != -1) + { + if (mesh.vboId[3] != 0) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[3]); + glVertexAttribPointer(material.shader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); + glEnableVertexAttribArray(material.shader.locs[LOC_VERTEX_COLOR]); + } + else + { + // Set default value for unused attribute + // NOTE: Required when using default shader and no VAO support + glVertexAttrib4f(material.shader.locs[LOC_VERTEX_COLOR], 1.0f, 1.0f, 1.0f, 1.0f); + glDisableVertexAttribArray(material.shader.locs[LOC_VERTEX_COLOR]); + } + } + + // Bind mesh VBO data: vertex tangents (shader-location = 4, if available) + if (material.shader.locs[LOC_VERTEX_TANGENT] != -1) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[4]); + glVertexAttribPointer(material.shader.locs[LOC_VERTEX_TANGENT], 4, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(material.shader.locs[LOC_VERTEX_TANGENT]); + } + + // Bind mesh VBO data: vertex texcoords2 (shader-location = 5, if available) + if (material.shader.locs[LOC_VERTEX_TEXCOORD02] != -1) + { + glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[5]); + glVertexAttribPointer(material.shader.locs[LOC_VERTEX_TEXCOORD02], 2, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(material.shader.locs[LOC_VERTEX_TEXCOORD02]); + } + + if (mesh.indices != NULL) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh.vboId[6]); + } + + int eyesCount = 1; +#if defined(SUPPORT_VR_SIMULATOR) + if (vrStereoRender) eyesCount = 2; +#endif + + for (int eye = 0; eye < eyesCount; eye++) + { + if (eyesCount == 1) modelview = matModelView; + #if defined(SUPPORT_VR_SIMULATOR) + else SetStereoView(eye, matProjection, matModelView); + #endif + + // Calculate model-view-projection matrix (MVP) + Matrix matMVP = MatrixMultiply(modelview, projection); // Transform to screen-space coordinates + + // Send combined model-view-projection matrix to shader + glUniformMatrix4fv(material.shader.locs[LOC_MATRIX_MVP], 1, false, MatrixToFloat(matMVP)); + + // Draw call! + if (mesh.indices != NULL) glDrawElements(GL_TRIANGLES, mesh.triangleCount*3, GL_UNSIGNED_SHORT, 0); // Indexed vertices draw + else glDrawArrays(GL_TRIANGLES, 0, mesh.vertexCount); + } + + // Unbind all binded texture maps + for (int i = 0; i < MAX_MATERIAL_MAPS; i++) + { + glActiveTexture(GL_TEXTURE0 + i); // Set shader active texture + if ((i == MAP_IRRADIANCE) || (i == MAP_PREFILTER) || (i == MAP_CUBEMAP)) glBindTexture(GL_TEXTURE_CUBE_MAP, 0); + else glBindTexture(GL_TEXTURE_2D, 0); // Unbind current active texture + } + + // Unind vertex array objects (or VBOs) + if (vaoSupported) glBindVertexArray(0); + else + { + glBindBuffer(GL_ARRAY_BUFFER, 0); + if (mesh.indices != NULL) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); + } + + // Unbind shader program + glUseProgram(0); + + // Restore projection/modelview matrices + // NOTE: In stereo rendering matrices are being modified to fit every eye + projection = matProjection; + modelview = matView; +#endif +} + +// Unload mesh data from CPU and GPU +void rlUnloadMesh(Mesh *mesh) +{ + RL_FREE(mesh->vertices); + RL_FREE(mesh->texcoords); + RL_FREE(mesh->normals); + RL_FREE(mesh->colors); + RL_FREE(mesh->tangents); + RL_FREE(mesh->texcoords2); + RL_FREE(mesh->indices); + + RL_FREE(mesh->animVertices); + RL_FREE(mesh->animNormals); + RL_FREE(mesh->boneWeights); + RL_FREE(mesh->boneIds); + + rlDeleteBuffers(mesh->vboId[0]); // vertex + rlDeleteBuffers(mesh->vboId[1]); // texcoords + rlDeleteBuffers(mesh->vboId[2]); // normals + rlDeleteBuffers(mesh->vboId[3]); // colors + rlDeleteBuffers(mesh->vboId[4]); // tangents + rlDeleteBuffers(mesh->vboId[5]); // texcoords2 + rlDeleteBuffers(mesh->vboId[6]); // indices + + rlDeleteVertexArrays(mesh->vaoId); +} + +// Read screen pixel data (color buffer) +unsigned char *rlReadScreenPixels(int width, int height) +{ + unsigned char *screenData = (unsigned char *)RL_CALLOC(width*height*4, sizeof(unsigned char)); + + // NOTE 1: glReadPixels returns image flipped vertically -> (0,0) is the bottom left corner of the framebuffer + // NOTE 2: We are getting alpha channel! Be careful, it can be transparent if not cleared properly! + glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, screenData); + + // Flip image vertically! + unsigned char *imgData = (unsigned char *)RL_MALLOC(width*height*sizeof(unsigned char)*4); + + for (int y = height - 1; y >= 0; y--) + { + for (int x = 0; x < (width*4); x++) + { + imgData[((height - 1) - y)*width*4 + x] = screenData[(y*width*4) + x]; // Flip line + + // Set alpha component value to 255 (no trasparent image retrieval) + // NOTE: Alpha value has already been applied to RGB in framebuffer, we don't need it! + if (((x + 1)%4) == 0) imgData[((height - 1) - y)*width*4 + x] = 255; + } + } + + RL_FREE(screenData); + + return imgData; // NOTE: image data should be freed +} + +// Read texture pixel data +void *rlReadTexturePixels(Texture2D texture) +{ + void *pixels = NULL; + +#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) + glBindTexture(GL_TEXTURE_2D, texture.id); + + // NOTE: Using texture.id, we can retrieve some texture info (but not on OpenGL ES 2.0) + // Possible texture info: GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE + //int width, height, format; + //glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &width); + //glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &height); + //glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT, &format); + + // NOTE: Each row written to or read from by OpenGL pixel operations like glGetTexImage are aligned to a 4 byte boundary by default, which may add some padding. + // Use glPixelStorei to modify padding with the GL_[UN]PACK_ALIGNMENT setting. + // GL_PACK_ALIGNMENT affects operations that read from OpenGL memory (glReadPixels, glGetTexImage, etc.) + // GL_UNPACK_ALIGNMENT affects operations that write to OpenGL memory (glTexImage, etc.) + glPixelStorei(GL_PACK_ALIGNMENT, 1); + + unsigned int glInternalFormat, glFormat, glType; + rlGetGlTextureFormats(texture.format, &glInternalFormat, &glFormat, &glType); + unsigned int size = GetPixelDataSize(texture.width, texture.height, texture.format); + + if ((glInternalFormat != -1) && (texture.format < COMPRESSED_DXT1_RGB)) + { + pixels = (unsigned char *)RL_MALLOC(size); + glGetTexImage(GL_TEXTURE_2D, 0, glFormat, glType, pixels); + } + else TraceLog(LOG_WARNING, "Texture data retrieval not suported for pixel format"); + + glBindTexture(GL_TEXTURE_2D, 0); +#endif + +#if defined(GRAPHICS_API_OPENGL_ES2) + // glGetTexImage() is not available on OpenGL ES 2.0 + // Texture2D width and height are required on OpenGL ES 2.0. There is no way to get it from texture id. + // Two possible Options: + // 1 - Bind texture to color fbo attachment and glReadPixels() + // 2 - Create an fbo, activate it, render quad with texture, glReadPixels() + // We are using Option 1, just need to care for texture format on retrieval + // NOTE: This behaviour could be conditioned by graphic driver... + RenderTexture2D fbo = rlLoadRenderTexture(texture.width, texture.height, UNCOMPRESSED_R8G8B8A8, 16, false); + + glBindFramebuffer(GL_FRAMEBUFFER, fbo.id); + glBindTexture(GL_TEXTURE_2D, 0); + + // Attach our texture to FBO + // NOTE: Previoust attached texture is automatically detached + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture.id, 0); + + // Allocate enough memory to read back our texture data + pixels = (unsigned char *)RL_MALLOC(GetPixelDataSize(texture.width, texture.height, texture.format)); + + // Get OpenGL internal formats and data type from our texture format + unsigned int glInternalFormat, glFormat, glType; + rlGetGlTextureFormats(texture.format, &glInternalFormat, &glFormat, &glType); + + // NOTE: We read data as RGBA because FBO texture is configured as RGBA, despite binding a RGB texture... + glReadPixels(0, 0, texture.width, texture.height, glFormat, glType, pixels); + + // Re-attach internal FBO color texture before deleting it + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fbo.texture.id, 0); + + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + // Clean up temporal fbo + rlDeleteRenderTextures(fbo); +#endif + + return pixels; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition - Shaders Functions +// NOTE: Those functions are exposed directly to the user in raylib.h +//---------------------------------------------------------------------------------- + +// Get default internal texture (white texture) +Texture2D GetTextureDefault(void) +{ + Texture2D texture = { 0 }; +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + texture.id = defaultTextureId; + texture.width = 1; + texture.height = 1; + texture.mipmaps = 1; + texture.format = UNCOMPRESSED_R8G8B8A8; +#endif + return texture; +} + +// Get default shader +Shader GetShaderDefault(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + return defaultShader; +#else + Shader shader = { 0 }; + return shader; +#endif +} + +// Load text data from file +// NOTE: text chars array should be freed manually +char *LoadText(const char *fileName) +{ + FILE *textFile = NULL; + char *text = NULL; + + if (fileName != NULL) + { + textFile = fopen(fileName,"rt"); + + if (textFile != NULL) + { + fseek(textFile, 0, SEEK_END); + int size = ftell(textFile); + fseek(textFile, 0, SEEK_SET); + + if (size > 0) + { + text = (char *)RL_MALLOC(sizeof(char)*(size + 1)); + int count = fread(text, sizeof(char), size, textFile); + text[count] = '\0'; + } + + fclose(textFile); + } + else TraceLog(LOG_WARNING, "[%s] Text file could not be opened", fileName); + } + + return text; +} + +// Load shader from files and bind default locations +// NOTE: If shader string is NULL, using default vertex/fragment shaders +Shader LoadShader(const char *vsFileName, const char *fsFileName) +{ + Shader shader = { 0 }; + + char *vShaderStr = NULL; + char *fShaderStr = NULL; + + if (vsFileName != NULL) vShaderStr = LoadText(vsFileName); + if (fsFileName != NULL) fShaderStr = LoadText(fsFileName); + + shader = LoadShaderCode(vShaderStr, fShaderStr); + + if (vShaderStr != NULL) RL_FREE(vShaderStr); + if (fShaderStr != NULL) RL_FREE(fShaderStr); + + return shader; +} + +// Load shader from code strings +// NOTE: If shader string is NULL, using default vertex/fragment shaders +Shader LoadShaderCode(char *vsCode, char *fsCode) +{ + Shader shader = { 0 }; + + // NOTE: All locations must be reseted to -1 (no location) + for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) shader.locs[i] = -1; + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + unsigned int vertexShaderId = defaultVShaderId; + unsigned int fragmentShaderId = defaultFShaderId; + + if (vsCode != NULL) vertexShaderId = CompileShader(vsCode, GL_VERTEX_SHADER); + if (fsCode != NULL) fragmentShaderId = CompileShader(fsCode, GL_FRAGMENT_SHADER); + + if ((vertexShaderId == defaultVShaderId) && (fragmentShaderId == defaultFShaderId)) shader = defaultShader; + else + { + shader.id = LoadShaderProgram(vertexShaderId, fragmentShaderId); + + if (vertexShaderId != defaultVShaderId) glDeleteShader(vertexShaderId); + if (fragmentShaderId != defaultFShaderId) glDeleteShader(fragmentShaderId); + + if (shader.id == 0) + { + TraceLog(LOG_WARNING, "Custom shader could not be loaded"); + shader = defaultShader; + } + + // After shader loading, we TRY to set default location names + if (shader.id > 0) SetShaderDefaultLocations(&shader); + } + + // Get available shader uniforms + // NOTE: This information is useful for debug... + int uniformCount = -1; + + glGetProgramiv(shader.id, GL_ACTIVE_UNIFORMS, &uniformCount); + + for(int i = 0; i < uniformCount; i++) + { + int namelen = -1; + int num = -1; + char name[256]; // Assume no variable names longer than 256 + GLenum type = GL_ZERO; + + // Get the name of the uniforms + glGetActiveUniform(shader.id, i,sizeof(name) - 1, &namelen, &num, &type, name); + + name[namelen] = 0; + + // Get the location of the named uniform + unsigned int location = glGetUniformLocation(shader.id, name); + + TraceLog(LOG_DEBUG, "[SHDR ID %i] Active uniform [%s] set at location: %i", shader.id, name, location); + } +#endif + + return shader; +} + +// Unload shader from GPU memory (VRAM) +void UnloadShader(Shader shader) +{ + if (shader.id > 0) + { + rlDeleteShader(shader.id); + TraceLog(LOG_INFO, "[SHDR ID %i] Unloaded shader program data", shader.id); + } +} + +// Begin custom shader mode +void BeginShaderMode(Shader shader) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (currentShader.id != shader.id) + { + rlglDraw(); + currentShader = shader; + } +#endif +} + +// End custom shader mode (returns to default shader) +void EndShaderMode(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + BeginShaderMode(defaultShader); +#endif +} + +// Get shader uniform location +int GetShaderLocation(Shader shader, const char *uniformName) +{ + int location = -1; +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + location = glGetUniformLocation(shader.id, uniformName); + + if (location == -1) TraceLog(LOG_WARNING, "[SHDR ID %i][%s] Shader uniform could not be found", shader.id, uniformName); + else TraceLog(LOG_INFO, "[SHDR ID %i][%s] Shader uniform set at location: %i", shader.id, uniformName, location); +#endif + return location; +} + +// Set shader uniform value +void SetShaderValue(Shader shader, int uniformLoc, const void *value, int uniformType) +{ + SetShaderValueV(shader, uniformLoc, value, uniformType, 1); +} + +// Set shader uniform value vector +void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int uniformType, int count) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + glUseProgram(shader.id); + + switch (uniformType) + { + case UNIFORM_FLOAT: glUniform1fv(uniformLoc, count, (float *)value); break; + case UNIFORM_VEC2: glUniform2fv(uniformLoc, count, (float *)value); break; + case UNIFORM_VEC3: glUniform3fv(uniformLoc, count, (float *)value); break; + case UNIFORM_VEC4: glUniform4fv(uniformLoc, count, (float *)value); break; + case UNIFORM_INT: glUniform1iv(uniformLoc, count, (int *)value); break; + case UNIFORM_IVEC2: glUniform2iv(uniformLoc, count, (int *)value); break; + case UNIFORM_IVEC3: glUniform3iv(uniformLoc, count, (int *)value); break; + case UNIFORM_IVEC4: glUniform4iv(uniformLoc, count, (int *)value); break; + case UNIFORM_SAMPLER2D: glUniform1iv(uniformLoc, count, (int *)value); break; + default: TraceLog(LOG_WARNING, "Shader uniform could not be set data type not recognized"); + } + + //glUseProgram(0); // Avoid reseting current shader program, in case other uniforms are set +#endif +} + + +// Set shader uniform value (matrix 4x4) +void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + glUseProgram(shader.id); + + glUniformMatrix4fv(uniformLoc, 1, false, MatrixToFloat(mat)); + + //glUseProgram(0); +#endif +} + +// Set shader uniform value for texture +void SetShaderValueTexture(Shader shader, int uniformLoc, Texture2D texture) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + glUseProgram(shader.id); + + glUniform1i(uniformLoc, texture.id); + + //glUseProgram(0); +#endif +} + +// Set a custom projection matrix (replaces internal projection matrix) +void SetMatrixProjection(Matrix proj) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + projection = proj; +#endif +} + +// Set a custom modelview matrix (replaces internal modelview matrix) +void SetMatrixModelview(Matrix view) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + modelview = view; +#endif +} + +// Return internal modelview matrix +Matrix GetMatrixModelview() +{ + Matrix matrix = MatrixIdentity(); +#if defined(GRAPHICS_API_OPENGL_11) + float mat[16]; + glGetFloatv(GL_MODELVIEW_MATRIX, mat); +#else + matrix = modelview; +#endif + return matrix; +} + +// Generate cubemap texture from HDR texture +// TODO: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 +Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size) +{ + Texture2D cubemap = { 0 }; +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // NOTE: SetShaderDefaultLocations() already setups locations for projection and view Matrix in shader + // Other locations should be setup externally in shader before calling the function + + // Set up depth face culling and cubemap seamless + glDisable(GL_CULL_FACE); +#if defined(GRAPHICS_API_OPENGL_33) + glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); // Flag not supported on OpenGL ES 2.0 +#endif + + // Setup framebuffer + unsigned int fbo, rbo; + glGenFramebuffers(1, &fbo); + glGenRenderbuffers(1, &rbo); + glBindFramebuffer(GL_FRAMEBUFFER, fbo); + glBindRenderbuffer(GL_RENDERBUFFER, rbo); +#if defined(GRAPHICS_API_OPENGL_33) + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); +#elif defined(GRAPHICS_API_OPENGL_ES2) + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, size, size); +#endif + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); + + // Set up cubemap to render and attach to framebuffer + // NOTE: Faces are stored as 32 bit floating point values + glGenTextures(1, &cubemap.id); + glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap.id); + for (unsigned int i = 0; i < 6; i++) + { +#if defined(GRAPHICS_API_OPENGL_33) + glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB32F, size, size, 0, GL_RGB, GL_FLOAT, NULL); +#elif defined(GRAPHICS_API_OPENGL_ES2) + if (texFloatSupported) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB, size, size, 0, GL_RGB, GL_FLOAT, NULL); +#endif + } + + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); +#if defined(GRAPHICS_API_OPENGL_33) + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); // Flag not supported on OpenGL ES 2.0 +#endif + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + // Create projection and different views for each face + Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0); + Matrix fboViews[6] = { + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) + }; + + // Convert HDR equirectangular environment map to cubemap equivalent + glUseProgram(shader.id); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, skyHDR.id); + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + + // Note: don't forget to configure the viewport to the capture dimensions + glViewport(0, 0, size, size); + glBindFramebuffer(GL_FRAMEBUFFER, fbo); + + for (int i = 0; i < 6; i++) + { + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_VIEW], fboViews[i]); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, cubemap.id, 0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + GenDrawCube(); + } + + // Unbind framebuffer and textures + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + // Reset viewport dimensions to default + glViewport(0, 0, screenWidth, screenHeight); + //glEnable(GL_CULL_FACE); + + // NOTE: Texture2D is a GL_TEXTURE_CUBE_MAP, not a GL_TEXTURE_2D! + cubemap.width = size; + cubemap.height = size; + cubemap.mipmaps = 1; + cubemap.format = UNCOMPRESSED_R32G32B32; +#endif + return cubemap; +} + +// Generate irradiance texture using cubemap data +// TODO: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 +Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size) +{ + Texture2D irradiance = { 0 }; + +#if defined(GRAPHICS_API_OPENGL_33) // || defined(GRAPHICS_API_OPENGL_ES2) + // NOTE: SetShaderDefaultLocations() already setups locations for projection and view Matrix in shader + // Other locations should be setup externally in shader before calling the function + + // Setup framebuffer + unsigned int fbo, rbo; + glGenFramebuffers(1, &fbo); + glGenRenderbuffers(1, &rbo); + glBindFramebuffer(GL_FRAMEBUFFER, fbo); + glBindRenderbuffer(GL_RENDERBUFFER, rbo); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); + + // Create an irradiance cubemap, and re-scale capture FBO to irradiance scale + glGenTextures(1, &irradiance.id); + glBindTexture(GL_TEXTURE_CUBE_MAP, irradiance.id); + for (unsigned int i = 0; i < 6; i++) + { + glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB16F, size, size, 0, GL_RGB, GL_FLOAT, NULL); + } + + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + // Create projection (transposed) and different views for each face + Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0); + Matrix fboViews[6] = { + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) + }; + + // Solve diffuse integral by convolution to create an irradiance cubemap + glUseProgram(shader.id); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap.id); + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + + // Note: don't forget to configure the viewport to the capture dimensions + glViewport(0, 0, size, size); + glBindFramebuffer(GL_FRAMEBUFFER, fbo); + + for (int i = 0; i < 6; i++) + { + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_VIEW], fboViews[i]); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, irradiance.id, 0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + GenDrawCube(); + } + + // Unbind framebuffer and textures + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + // Reset viewport dimensions to default + glViewport(0, 0, screenWidth, screenHeight); + + irradiance.width = size; + irradiance.height = size; + irradiance.mipmaps = 1; + //irradiance.format = UNCOMPRESSED_R16G16B16; +#endif + return irradiance; +} + +// Generate prefilter texture using cubemap data +// TODO: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 +Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size) +{ + Texture2D prefilter = { 0 }; + +#if defined(GRAPHICS_API_OPENGL_33) // || defined(GRAPHICS_API_OPENGL_ES2) + // NOTE: SetShaderDefaultLocations() already setups locations for projection and view Matrix in shader + // Other locations should be setup externally in shader before calling the function + // TODO: Locations should be taken out of this function... too shader dependant... + int roughnessLoc = GetShaderLocation(shader, "roughness"); + + // Setup framebuffer + unsigned int fbo, rbo; + glGenFramebuffers(1, &fbo); + glGenRenderbuffers(1, &rbo); + glBindFramebuffer(GL_FRAMEBUFFER, fbo); + glBindRenderbuffer(GL_RENDERBUFFER, rbo); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); + + // Create a prefiltered HDR environment map + glGenTextures(1, &prefilter.id); + glBindTexture(GL_TEXTURE_CUBE_MAP, prefilter.id); + for (unsigned int i = 0; i < 6; i++) + { + glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB16F, size, size, 0, GL_RGB, GL_FLOAT, NULL); + } + + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + // Generate mipmaps for the prefiltered HDR texture + glGenerateMipmap(GL_TEXTURE_CUBE_MAP); + + // Create projection (transposed) and different views for each face + Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0); + Matrix fboViews[6] = { + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) + }; + + // Prefilter HDR and store data into mipmap levels + glUseProgram(shader.id); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap.id); + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + + glBindFramebuffer(GL_FRAMEBUFFER, fbo); + + #define MAX_MIPMAP_LEVELS 5 // Max number of prefilter texture mipmaps + + for (int mip = 0; mip < MAX_MIPMAP_LEVELS; mip++) + { + // Resize framebuffer according to mip-level size. + unsigned int mipWidth = size*(int)powf(0.5f, (float)mip); + unsigned int mipHeight = size*(int)powf(0.5f, (float)mip); + + glBindRenderbuffer(GL_RENDERBUFFER, rbo); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, mipWidth, mipHeight); + glViewport(0, 0, mipWidth, mipHeight); + + float roughness = (float)mip/(float)(MAX_MIPMAP_LEVELS - 1); + glUniform1f(roughnessLoc, roughness); + + for (int i = 0; i < 6; i++) + { + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_VIEW], fboViews[i]); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, prefilter.id, mip); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + GenDrawCube(); + } + } + + // Unbind framebuffer and textures + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + // Reset viewport dimensions to default + glViewport(0, 0, screenWidth, screenHeight); + + prefilter.width = size; + prefilter.height = size; + //prefilter.mipmaps = 1 + (int)floor(log(size)/log(2)); + //prefilter.format = UNCOMPRESSED_R16G16B16; +#endif + return prefilter; +} + +// Generate BRDF texture using cubemap data +// NOTE: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 +// TODO: Review implementation: https://github.com/HectorMF/BRDFGenerator +Texture2D GenTextureBRDF(Shader shader, int size) +{ + Texture2D brdf = { 0 }; +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // Generate BRDF convolution texture + glGenTextures(1, &brdf.id); + glBindTexture(GL_TEXTURE_2D, brdf.id); +#if defined(GRAPHICS_API_OPENGL_33) + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB32F, size, size, 0, GL_RGB, GL_FLOAT, NULL); +#elif defined(GRAPHICS_API_OPENGL_ES2) + if (texFloatSupported) glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, size, size, 0, GL_RGB, GL_FLOAT, NULL); +#endif + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + // Render BRDF LUT into a quad using FBO + unsigned int fbo, rbo; + glGenFramebuffers(1, &fbo); + glGenRenderbuffers(1, &rbo); + glBindFramebuffer(GL_FRAMEBUFFER, fbo); + glBindRenderbuffer(GL_RENDERBUFFER, rbo); +#if defined(GRAPHICS_API_OPENGL_33) + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); +#elif defined(GRAPHICS_API_OPENGL_ES2) + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, size, size); +#endif + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, brdf.id, 0); + + glViewport(0, 0, size, size); + glUseProgram(shader.id); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + GenDrawQuad(); + + // Unbind framebuffer and textures + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + // Unload framebuffer but keep color texture + glDeleteRenderbuffers(1, &rbo); + glDeleteFramebuffers(1, &fbo); + + // Reset viewport dimensions to default + glViewport(0, 0, screenWidth, screenHeight); + + brdf.width = size; + brdf.height = size; + brdf.mipmaps = 1; + brdf.format = UNCOMPRESSED_R32G32B32; +#endif + return brdf; +} + +// Begin blending mode (alpha, additive, multiplied) +// NOTE: Only 3 blending modes supported, default blend mode is alpha +void BeginBlendMode(int mode) +{ + if ((blendMode != mode) && (mode < 3)) + { + rlglDraw(); + + switch (mode) + { + case BLEND_ALPHA: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); break; + case BLEND_ADDITIVE: glBlendFunc(GL_SRC_ALPHA, GL_ONE); break; // Alternative: glBlendFunc(GL_ONE, GL_ONE); + case BLEND_MULTIPLIED: glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); break; + default: break; + } + + blendMode = mode; + } +} + +// End blending mode (reset to default: alpha blending) +void EndBlendMode(void) +{ + BeginBlendMode(BLEND_ALPHA); +} + +// Begin scissor mode (define screen area for following drawing) +// NOTE: Scissor rec refers to bottom-left corner, we change it to upper-left +void BeginScissorMode(int x, int y, int width, int height) +{ + rlglDraw(); // Force drawing elements + + glEnable(GL_SCISSOR_TEST); + glScissor(x, screenHeight - (y + height), width, height); +} + +// End scissor mode +void EndScissorMode(void) +{ + rlglDraw(); // Force drawing elements + + glDisable(GL_SCISSOR_TEST); +} + +#if defined(SUPPORT_VR_SIMULATOR) +// Init VR simulator for selected device parameters +// NOTE: It modifies the global variable: stereoFbo +void InitVrSimulator(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // Initialize framebuffer and textures for stereo rendering + // NOTE: Screen size should match HMD aspect ratio + stereoFbo = rlLoadRenderTexture(screenWidth, screenHeight, UNCOMPRESSED_R8G8B8A8, 24, false); + + vrSimulatorReady = true; +#else + TraceLog(LOG_WARNING, "VR Simulator not supported on OpenGL 1.1"); +#endif +} + +// Update VR tracking (position and orientation) and camera +// NOTE: Camera (position, target, up) gets update with head tracking information +void UpdateVrTracking(Camera *camera) +{ + // TODO: Simulate 1st person camera system +} + +// Close VR simulator for current device +void CloseVrSimulator(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (vrSimulatorReady) rlDeleteRenderTextures(stereoFbo); // Unload stereo framebuffer and texture +#endif +} + +// Set stereo rendering configuration parameters +void SetVrConfiguration(VrDeviceInfo hmd, Shader distortion) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // Reset vrConfig for a new values assignment + memset(&vrConfig, 0, sizeof(vrConfig)); + + // Assign distortion shader + vrConfig.distortionShader = distortion; + + // Compute aspect ratio + float aspect = ((float)hmd.hResolution*0.5f)/(float)hmd.vResolution; + + // Compute lens parameters + float lensShift = (hmd.hScreenSize*0.25f - hmd.lensSeparationDistance*0.5f)/hmd.hScreenSize; + float leftLensCenter[2] = { 0.25f + lensShift, 0.5f }; + float rightLensCenter[2] = { 0.75f - lensShift, 0.5f }; + float leftScreenCenter[2] = { 0.25f, 0.5f }; + float rightScreenCenter[2] = { 0.75f, 0.5f }; + + // Compute distortion scale parameters + // NOTE: To get lens max radius, lensShift must be normalized to [-1..1] + float lensRadius = (float)fabs(-1.0f - 4.0f*lensShift); + float lensRadiusSq = lensRadius*lensRadius; + float distortionScale = hmd.lensDistortionValues[0] + + hmd.lensDistortionValues[1]*lensRadiusSq + + hmd.lensDistortionValues[2]*lensRadiusSq*lensRadiusSq + + hmd.lensDistortionValues[3]*lensRadiusSq*lensRadiusSq*lensRadiusSq; + + TraceLog(LOG_DEBUG, "VR: Distortion Scale: %f", distortionScale); + + float normScreenWidth = 0.5f; + float normScreenHeight = 1.0f; + float scaleIn[2] = { 2.0f/normScreenWidth, 2.0f/normScreenHeight/aspect }; + float scale[2] = { normScreenWidth*0.5f/distortionScale, normScreenHeight*0.5f*aspect/distortionScale }; + + TraceLog(LOG_DEBUG, "VR: Distortion Shader: LeftLensCenter = { %f, %f }", leftLensCenter[0], leftLensCenter[1]); + TraceLog(LOG_DEBUG, "VR: Distortion Shader: RightLensCenter = { %f, %f }", rightLensCenter[0], rightLensCenter[1]); + TraceLog(LOG_DEBUG, "VR: Distortion Shader: Scale = { %f, %f }", scale[0], scale[1]); + TraceLog(LOG_DEBUG, "VR: Distortion Shader: ScaleIn = { %f, %f }", scaleIn[0], scaleIn[1]); + + // Fovy is normally computed with: 2*atan2(hmd.vScreenSize, 2*hmd.eyeToScreenDistance) + // ...but with lens distortion it is increased (see Oculus SDK Documentation) + //float fovy = 2.0f*atan2(hmd.vScreenSize*0.5f*distortionScale, hmd.eyeToScreenDistance); // Really need distortionScale? + float fovy = 2.0f*(float)atan2(hmd.vScreenSize*0.5f, hmd.eyeToScreenDistance); + + // Compute camera projection matrices + float projOffset = 4.0f*lensShift; // Scaled to projection space coordinates [-1..1] + Matrix proj = MatrixPerspective(fovy, aspect, 0.01, 1000.0); + vrConfig.eyesProjection[0] = MatrixMultiply(proj, MatrixTranslate(projOffset, 0.0f, 0.0f)); + vrConfig.eyesProjection[1] = MatrixMultiply(proj, MatrixTranslate(-projOffset, 0.0f, 0.0f)); + + // Compute camera transformation matrices + // NOTE: Camera movement might seem more natural if we model the head. + // Our axis of rotation is the base of our head, so we might want to add + // some y (base of head to eye level) and -z (center of head to eye protrusion) to the camera positions. + vrConfig.eyesViewOffset[0] = MatrixTranslate(-hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); + vrConfig.eyesViewOffset[1] = MatrixTranslate(hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); + + // Compute eyes Viewports + vrConfig.eyeViewportRight[2] = hmd.hResolution/2; + vrConfig.eyeViewportRight[3] = hmd.vResolution; + + vrConfig.eyeViewportLeft[0] = hmd.hResolution/2; + vrConfig.eyeViewportLeft[1] = 0; + vrConfig.eyeViewportLeft[2] = hmd.hResolution/2; + vrConfig.eyeViewportLeft[3] = hmd.vResolution; + + if (vrConfig.distortionShader.id > 0) + { + // Update distortion shader with lens and distortion-scale parameters + SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "leftLensCenter"), leftLensCenter, UNIFORM_VEC2); + SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "rightLensCenter"), rightLensCenter, UNIFORM_VEC2); + SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "leftScreenCenter"), leftScreenCenter, UNIFORM_VEC2); + SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "rightScreenCenter"), rightScreenCenter, UNIFORM_VEC2); + + SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "scale"), scale, UNIFORM_VEC2); + SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "scaleIn"), scaleIn, UNIFORM_VEC2); + SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "hmdWarpParam"), hmd.lensDistortionValues, UNIFORM_VEC4); + SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "chromaAbParam"), hmd.chromaAbCorrection, UNIFORM_VEC4); + } +#endif +} + +// Detect if VR simulator is running +bool IsVrSimulatorReady(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + return vrSimulatorReady; +#else + return false; +#endif +} + +// Enable/Disable VR experience (device or simulator) +void ToggleVrMode(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + vrSimulatorReady = !vrSimulatorReady; + + if (!vrSimulatorReady) + { + vrStereoRender = false; + + // Reset viewport and default projection-modelview matrices + rlViewport(0, 0, screenWidth, screenHeight); + projection = MatrixOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); + modelview = MatrixIdentity(); + } + else vrStereoRender = true; +#endif +} + +// Begin VR drawing configuration +void BeginVrDrawing(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (vrSimulatorReady) + { + + rlEnableRenderTexture(stereoFbo.id); // Setup framebuffer for stereo rendering + //glEnable(GL_FRAMEBUFFER_SRGB); // Enable SRGB framebuffer (only if required) + + //glViewport(0, 0, buffer.width, buffer.height); // Useful if rendering to separate framebuffers (every eye) + rlClearScreenBuffers(); // Clear current framebuffer + + vrStereoRender = true; + } +#endif +} + +// End VR drawing process (and desktop mirror) +void EndVrDrawing(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (vrSimulatorReady) + { + vrStereoRender = false; // Disable stereo render + + rlDisableRenderTexture(); // Unbind current framebuffer + + rlClearScreenBuffers(); // Clear current framebuffer + + // Set viewport to default framebuffer size (screen size) + rlViewport(0, 0, screenWidth, screenHeight); + + // Let rlgl reconfigure internal matrices + rlMatrixMode(RL_PROJECTION); // Enable internal projection matrix + rlLoadIdentity(); // Reset internal projection matrix + rlOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); // Recalculate internal projection matrix + rlMatrixMode(RL_MODELVIEW); // Enable internal modelview matrix + rlLoadIdentity(); // Reset internal modelview matrix + + // Draw RenderTexture (stereoFbo) using distortion shader if available + if (vrConfig.distortionShader.id > 0) currentShader = vrConfig.distortionShader; + else currentShader = GetShaderDefault(); + + rlEnableTexture(stereoFbo.texture.id); + + rlPushMatrix(); + rlBegin(RL_QUADS); + rlColor4ub(255, 255, 255, 255); + rlNormal3f(0.0f, 0.0f, 1.0f); + + // Bottom-left corner for texture and quad + rlTexCoord2f(0.0f, 1.0f); + rlVertex2f(0.0f, 0.0f); + + // Bottom-right corner for texture and quad + rlTexCoord2f(0.0f, 0.0f); + rlVertex2f(0.0f, (float)stereoFbo.texture.height); + + // Top-right corner for texture and quad + rlTexCoord2f(1.0f, 0.0f); + rlVertex2f( (float)stereoFbo.texture.width, (float)stereoFbo.texture.height); + + // Top-left corner for texture and quad + rlTexCoord2f(1.0f, 1.0f); + rlVertex2f( (float)stereoFbo.texture.width, 0.0f); + rlEnd(); + rlPopMatrix(); + + rlDisableTexture(); + + // Update and draw render texture fbo with distortion to backbuffer + UpdateBuffersDefault(); + DrawBuffersDefault(); + + // Restore defaultShader + currentShader = defaultShader; + + // Reset viewport and default projection-modelview matrices + rlViewport(0, 0, screenWidth, screenHeight); + projection = MatrixOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); + modelview = MatrixIdentity(); + + rlDisableDepthTest(); + } +#endif +} +#endif // SUPPORT_VR_SIMULATOR + +//---------------------------------------------------------------------------------- +// Module specific Functions Definition +//---------------------------------------------------------------------------------- + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) +// Compile custom shader and return shader id +static unsigned int CompileShader(const char *shaderStr, int type) +{ + unsigned int shader = glCreateShader(type); + glShaderSource(shader, 1, &shaderStr, NULL); + + GLint success = 0; + glCompileShader(shader); + glGetShaderiv(shader, GL_COMPILE_STATUS, &success); + + if (success != GL_TRUE) + { + TraceLog(LOG_WARNING, "[SHDR ID %i] Failed to compile shader...", shader); + int maxLength = 0; + int length; + glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &maxLength); + +#if defined(_MSC_VER) + char *log = RL_MALLOC(maxLength); +#else + char log[maxLength]; +#endif + glGetShaderInfoLog(shader, maxLength, &length, log); + + TraceLog(LOG_INFO, "%s", log); + +#if defined(_MSC_VER) + RL_FREE(log); +#endif + } + else TraceLog(LOG_INFO, "[SHDR ID %i] Shader compiled successfully", shader); + + return shader; +} + +// Load custom shader strings and return program id +static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShaderId) +{ + unsigned int program = 0; + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + + GLint success = 0; + program = glCreateProgram(); + + glAttachShader(program, vShaderId); + glAttachShader(program, fShaderId); + + // NOTE: Default attribute shader locations must be binded before linking + glBindAttribLocation(program, 0, DEFAULT_ATTRIB_POSITION_NAME); + glBindAttribLocation(program, 1, DEFAULT_ATTRIB_TEXCOORD_NAME); + glBindAttribLocation(program, 2, DEFAULT_ATTRIB_NORMAL_NAME); + glBindAttribLocation(program, 3, DEFAULT_ATTRIB_COLOR_NAME); + glBindAttribLocation(program, 4, DEFAULT_ATTRIB_TANGENT_NAME); + glBindAttribLocation(program, 5, DEFAULT_ATTRIB_TEXCOORD2_NAME); + + // NOTE: If some attrib name is no found on the shader, it locations becomes -1 + + glLinkProgram(program); + + // NOTE: All uniform variables are intitialised to 0 when a program links + + glGetProgramiv(program, GL_LINK_STATUS, &success); + + if (success == GL_FALSE) + { + TraceLog(LOG_WARNING, "[SHDR ID %i] Failed to link shader program...", program); + + int maxLength = 0; + int length; + + glGetProgramiv(program, GL_INFO_LOG_LENGTH, &maxLength); + +#if defined(_MSC_VER) + char *log = RL_MALLOC(maxLength); +#else + char log[maxLength]; +#endif + glGetProgramInfoLog(program, maxLength, &length, log); + + TraceLog(LOG_INFO, "%s", log); + +#if defined(_MSC_VER) + RL_FREE(log); +#endif + glDeleteProgram(program); + + program = 0; + } + else TraceLog(LOG_INFO, "[SHDR ID %i] Shader program loaded successfully", program); +#endif + return program; +} + + +// Load default shader (just vertex positioning and texture coloring) +// NOTE: This shader program is used for internal buffers +static Shader LoadShaderDefault(void) +{ + Shader shader = { 0 }; + + // NOTE: All locations must be reseted to -1 (no location) + for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) shader.locs[i] = -1; + + // Vertex shader directly defined, no external file required + char defaultVShaderStr[] = +#if defined(GRAPHICS_API_OPENGL_21) + "#version 120 \n" +#elif defined(GRAPHICS_API_OPENGL_ES2) + "#version 100 \n" +#endif +#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21) + "attribute vec3 vertexPosition; \n" + "attribute vec2 vertexTexCoord; \n" + "attribute vec4 vertexColor; \n" + "varying vec2 fragTexCoord; \n" + "varying vec4 fragColor; \n" +#elif defined(GRAPHICS_API_OPENGL_33) + "#version 330 \n" + "in vec3 vertexPosition; \n" + "in vec2 vertexTexCoord; \n" + "in vec4 vertexColor; \n" + "out vec2 fragTexCoord; \n" + "out vec4 fragColor; \n" +#endif + "uniform mat4 mvp; \n" + "void main() \n" + "{ \n" + " fragTexCoord = vertexTexCoord; \n" + " fragColor = vertexColor; \n" + " gl_Position = mvp*vec4(vertexPosition, 1.0); \n" + "} \n"; + + // Fragment shader directly defined, no external file required + char defaultFShaderStr[] = +#if defined(GRAPHICS_API_OPENGL_21) + "#version 120 \n" +#elif defined(GRAPHICS_API_OPENGL_ES2) + "#version 100 \n" + "precision mediump float; \n" // precision required for OpenGL ES2 (WebGL) +#endif +#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21) + "varying vec2 fragTexCoord; \n" + "varying vec4 fragColor; \n" +#elif defined(GRAPHICS_API_OPENGL_33) + "#version 330 \n" + "in vec2 fragTexCoord; \n" + "in vec4 fragColor; \n" + "out vec4 finalColor; \n" +#endif + "uniform sampler2D texture0; \n" + "uniform vec4 colDiffuse; \n" + "void main() \n" + "{ \n" +#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21) + " vec4 texelColor = texture2D(texture0, fragTexCoord); \n" // NOTE: texture2D() is deprecated on OpenGL 3.3 and ES 3.0 + " gl_FragColor = texelColor*colDiffuse*fragColor; \n" +#elif defined(GRAPHICS_API_OPENGL_33) + " vec4 texelColor = texture(texture0, fragTexCoord); \n" + " finalColor = texelColor*colDiffuse*fragColor; \n" +#endif + "} \n"; + + // NOTE: Compiled vertex/fragment shaders are kept for re-use + defaultVShaderId = CompileShader(defaultVShaderStr, GL_VERTEX_SHADER); // Compile default vertex shader + defaultFShaderId = CompileShader(defaultFShaderStr, GL_FRAGMENT_SHADER); // Compile default fragment shader + + shader.id = LoadShaderProgram(defaultVShaderId, defaultFShaderId); + + if (shader.id > 0) + { + TraceLog(LOG_INFO, "[SHDR ID %i] Default shader loaded successfully", shader.id); + + // Set default shader locations: attributes locations + shader.locs[LOC_VERTEX_POSITION] = glGetAttribLocation(shader.id, "vertexPosition"); + shader.locs[LOC_VERTEX_TEXCOORD01] = glGetAttribLocation(shader.id, "vertexTexCoord"); + shader.locs[LOC_VERTEX_COLOR] = glGetAttribLocation(shader.id, "vertexColor"); + + // Set default shader locations: uniform locations + shader.locs[LOC_MATRIX_MVP] = glGetUniformLocation(shader.id, "mvp"); + shader.locs[LOC_COLOR_DIFFUSE] = glGetUniformLocation(shader.id, "colDiffuse"); + shader.locs[LOC_MAP_DIFFUSE] = glGetUniformLocation(shader.id, "texture0"); + + // NOTE: We could also use below function but in case DEFAULT_ATTRIB_* points are + // changed for external custom shaders, we just use direct bindings above + //SetShaderDefaultLocations(&shader); + } + else TraceLog(LOG_WARNING, "[SHDR ID %i] Default shader could not be loaded", shader.id); + + return shader; +} + +// Get location handlers to for shader attributes and uniforms +// NOTE: If any location is not found, loc point becomes -1 +static void SetShaderDefaultLocations(Shader *shader) +{ + // NOTE: Default shader attrib locations have been fixed before linking: + // vertex position location = 0 + // vertex texcoord location = 1 + // vertex normal location = 2 + // vertex color location = 3 + // vertex tangent location = 4 + // vertex texcoord2 location = 5 + + // Get handles to GLSL input attibute locations + shader->locs[LOC_VERTEX_POSITION] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_POSITION_NAME); + shader->locs[LOC_VERTEX_TEXCOORD01] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_TEXCOORD_NAME); + shader->locs[LOC_VERTEX_TEXCOORD02] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_TEXCOORD2_NAME); + shader->locs[LOC_VERTEX_NORMAL] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_NORMAL_NAME); + shader->locs[LOC_VERTEX_TANGENT] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_TANGENT_NAME); + shader->locs[LOC_VERTEX_COLOR] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_COLOR_NAME); + + // Get handles to GLSL uniform locations (vertex shader) + shader->locs[LOC_MATRIX_MVP] = glGetUniformLocation(shader->id, "mvp"); + shader->locs[LOC_MATRIX_PROJECTION] = glGetUniformLocation(shader->id, "projection"); + shader->locs[LOC_MATRIX_VIEW] = glGetUniformLocation(shader->id, "view"); + + // Get handles to GLSL uniform locations (fragment shader) + shader->locs[LOC_COLOR_DIFFUSE] = glGetUniformLocation(shader->id, "colDiffuse"); + shader->locs[LOC_MAP_DIFFUSE] = glGetUniformLocation(shader->id, "texture0"); + shader->locs[LOC_MAP_SPECULAR] = glGetUniformLocation(shader->id, "texture1"); + shader->locs[LOC_MAP_NORMAL] = glGetUniformLocation(shader->id, "texture2"); +} + +// Unload default shader +static void UnloadShaderDefault(void) +{ + glUseProgram(0); + + glDetachShader(defaultShader.id, defaultVShaderId); + glDetachShader(defaultShader.id, defaultFShaderId); + glDeleteShader(defaultVShaderId); + glDeleteShader(defaultFShaderId); + + glDeleteProgram(defaultShader.id); +} + +// Load default internal buffers +static void LoadBuffersDefault(void) +{ + // Initialize CPU (RAM) arrays (vertex position, texcoord, color data and indexes) + //-------------------------------------------------------------------------------------------- + for (int i = 0; i < MAX_BATCH_BUFFERING; i++) + { + vertexData[i].vertices = (float *)RL_MALLOC(sizeof(float)*3*4*MAX_BATCH_ELEMENTS); // 3 float by vertex, 4 vertex by quad + vertexData[i].texcoords = (float *)RL_MALLOC(sizeof(float)*2*4*MAX_BATCH_ELEMENTS); // 2 float by texcoord, 4 texcoord by quad + vertexData[i].colors = (unsigned char *)RL_MALLOC(sizeof(unsigned char)*4*4*MAX_BATCH_ELEMENTS); // 4 float by color, 4 colors by quad +#if defined(GRAPHICS_API_OPENGL_33) + vertexData[i].indices = (unsigned int *)RL_MALLOC(sizeof(unsigned int)*6*MAX_BATCH_ELEMENTS); // 6 int by quad (indices) +#elif defined(GRAPHICS_API_OPENGL_ES2) + vertexData[i].indices = (unsigned short *)RL_MALLOC(sizeof(unsigned short)*6*MAX_BATCH_ELEMENTS); // 6 int by quad (indices) +#endif + + for (int j = 0; j < (3*4*MAX_BATCH_ELEMENTS); j++) vertexData[i].vertices[j] = 0.0f; + for (int j = 0; j < (2*4*MAX_BATCH_ELEMENTS); j++) vertexData[i].texcoords[j] = 0.0f; + for (int j = 0; j < (4*4*MAX_BATCH_ELEMENTS); j++) vertexData[i].colors[j] = 0; + + int k = 0; + + // Indices can be initialized right now + for (int j = 0; j < (6*MAX_BATCH_ELEMENTS); j += 6) + { + vertexData[i].indices[j] = 4*k; + vertexData[i].indices[j + 1] = 4*k + 1; + vertexData[i].indices[j + 2] = 4*k + 2; + vertexData[i].indices[j + 3] = 4*k; + vertexData[i].indices[j + 4] = 4*k + 2; + vertexData[i].indices[j + 5] = 4*k + 3; + + k++; + } + + vertexData[i].vCounter = 0; + vertexData[i].tcCounter = 0; + vertexData[i].cCounter = 0; + } + + TraceLog(LOG_INFO, "Internal buffers initialized successfully (CPU)"); + //-------------------------------------------------------------------------------------------- + + // Upload to GPU (VRAM) vertex data and initialize VAOs/VBOs + //-------------------------------------------------------------------------------------------- + for (int i = 0; i < MAX_BATCH_BUFFERING; i++) + { + if (vaoSupported) + { + // Initialize Quads VAO + glGenVertexArrays(1, &vertexData[i].vaoId); + glBindVertexArray(vertexData[i].vaoId); + } + + // Quads - Vertex buffers binding and attributes enable + // Vertex position buffer (shader-location = 0) + glGenBuffers(1, &vertexData[i].vboId[0]); + glBindBuffer(GL_ARRAY_BUFFER, vertexData[i].vboId[0]); + glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_BATCH_ELEMENTS, vertexData[i].vertices, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_POSITION]); + glVertexAttribPointer(currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); + + // Vertex texcoord buffer (shader-location = 1) + glGenBuffers(1, &vertexData[i].vboId[1]); + glBindBuffer(GL_ARRAY_BUFFER, vertexData[i].vboId[1]); + glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_BATCH_ELEMENTS, vertexData[i].texcoords, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_TEXCOORD01]); + glVertexAttribPointer(currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); + + // Vertex color buffer (shader-location = 3) + glGenBuffers(1, &vertexData[i].vboId[2]); + glBindBuffer(GL_ARRAY_BUFFER, vertexData[i].vboId[2]); + glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*4*MAX_BATCH_ELEMENTS, vertexData[i].colors, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_COLOR]); + glVertexAttribPointer(currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); + + // Fill index buffer + glGenBuffers(1, &vertexData[i].vboId[3]); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vertexData[i].vboId[3]); +#if defined(GRAPHICS_API_OPENGL_33) + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(int)*6*MAX_BATCH_ELEMENTS, vertexData[i].indices, GL_STATIC_DRAW); +#elif defined(GRAPHICS_API_OPENGL_ES2) + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(short)*6*MAX_BATCH_ELEMENTS, vertexData[i].indices, GL_STATIC_DRAW); +#endif + } + + TraceLog(LOG_INFO, "Internal buffers uploaded successfully (GPU)"); + + // Unbind the current VAO + if (vaoSupported) glBindVertexArray(0); + //-------------------------------------------------------------------------------------------- +} + +// Update default internal buffers (VAOs/VBOs) with vertex array data +// NOTE: If there is not vertex data, buffers doesn't need to be updated (vertexCount > 0) +// TODO: If no data changed on the CPU arrays --> No need to re-update GPU arrays (change flag required) +static void UpdateBuffersDefault(void) +{ + // Update vertex buffers data + if (vertexData[currentBuffer].vCounter > 0) + { + // Activate elements VAO + if (vaoSupported) glBindVertexArray(vertexData[currentBuffer].vaoId); + + // Vertex positions buffer + glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[0]); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*vertexData[currentBuffer].vCounter, vertexData[currentBuffer].vertices); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_BATCH_ELEMENTS, vertexData[currentBuffer].vertices, GL_DYNAMIC_DRAW); // Update all buffer + + // Texture coordinates buffer + glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[1]); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*vertexData[currentBuffer].vCounter, vertexData[currentBuffer].texcoords); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_BATCH_ELEMENTS, vertexData[currentBuffer].texcoords, GL_DYNAMIC_DRAW); // Update all buffer + + // Colors buffer + glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[2]); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*vertexData[currentBuffer].vCounter, vertexData[currentBuffer].colors); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*MAX_BATCH_ELEMENTS, vertexData[currentBuffer].colors, GL_DYNAMIC_DRAW); // Update all buffer + + // NOTE: glMapBuffer() causes sync issue. + // If GPU is working with this buffer, glMapBuffer() will wait(stall) until GPU to finish its job. + // To avoid waiting (idle), you can call first glBufferData() with NULL pointer before glMapBuffer(). + // If you do that, the previous data in PBO will be discarded and glMapBuffer() returns a new + // allocated pointer immediately even if GPU is still working with the previous data. + + // Another option: map the buffer object into client's memory + // Probably this code could be moved somewhere else... + // vertexData[currentBuffer].vertices = (float *)glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); + // if (vertexData[currentBuffer].vertices) + // { + // Update vertex data + // } + // glUnmapBuffer(GL_ARRAY_BUFFER); + + // Unbind the current VAO + if (vaoSupported) glBindVertexArray(0); + } +} + +// Draw default internal buffers vertex data +static void DrawBuffersDefault(void) +{ + Matrix matProjection = projection; + Matrix matModelView = modelview; + + int eyesCount = 1; +#if defined(SUPPORT_VR_SIMULATOR) + if (vrStereoRender) eyesCount = 2; +#endif + + for (int eye = 0; eye < eyesCount; eye++) + { +#if defined(SUPPORT_VR_SIMULATOR) + if (eyesCount == 2) SetStereoView(eye, matProjection, matModelView); +#endif + + // Draw buffers + if (vertexData[currentBuffer].vCounter > 0) + { + // Set current shader and upload current MVP matrix + glUseProgram(currentShader.id); + + // Create modelview-projection matrix + Matrix matMVP = MatrixMultiply(modelview, projection); + + glUniformMatrix4fv(currentShader.locs[LOC_MATRIX_MVP], 1, false, MatrixToFloat(matMVP)); + glUniform4f(currentShader.locs[LOC_COLOR_DIFFUSE], 1.0f, 1.0f, 1.0f, 1.0f); + glUniform1i(currentShader.locs[LOC_MAP_DIFFUSE], 0); // Provided value refers to the texture unit (active) + + // TODO: Support additional texture units on custom shader + //if (currentShader->locs[LOC_MAP_SPECULAR] > 0) glUniform1i(currentShader.locs[LOC_MAP_SPECULAR], 1); + //if (currentShader->locs[LOC_MAP_NORMAL] > 0) glUniform1i(currentShader.locs[LOC_MAP_NORMAL], 2); + + // NOTE: Right now additional map textures not considered for default buffers drawing + + int vertexOffset = 0; + + if (vaoSupported) glBindVertexArray(vertexData[currentBuffer].vaoId); + else + { + // Bind vertex attrib: position (shader-location = 0) + glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[0]); + glVertexAttribPointer(currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_POSITION]); + + // Bind vertex attrib: texcoord (shader-location = 1) + glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[1]); + glVertexAttribPointer(currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_TEXCOORD01]); + + // Bind vertex attrib: color (shader-location = 3) + glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[2]); + glVertexAttribPointer(currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); + glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_COLOR]); + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vertexData[currentBuffer].vboId[3]); + } + + glActiveTexture(GL_TEXTURE0); + + for (int i = 0; i < drawsCounter; i++) + { + glBindTexture(GL_TEXTURE_2D, draws[i].textureId); + + // TODO: Find some way to bind additional textures --> Use global texture IDs? Register them on draw[i]? + //if (currentShader->locs[LOC_MAP_SPECULAR] > 0) { glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, textureUnit1_id); } + //if (currentShader->locs[LOC_MAP_SPECULAR] > 0) { glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, textureUnit2_id); } + + if ((draws[i].mode == RL_LINES) || (draws[i].mode == RL_TRIANGLES)) glDrawArrays(draws[i].mode, vertexOffset, draws[i].vertexCount); + else + { +#if defined(GRAPHICS_API_OPENGL_33) + // We need to define the number of indices to be processed: quadsCount*6 + // NOTE: The final parameter tells the GPU the offset in bytes from the + // start of the index buffer to the location of the first index to process + glDrawElements(GL_TRIANGLES, draws[i].vertexCount/4*6, GL_UNSIGNED_INT, (GLvoid *)(sizeof(GLuint)*vertexOffset/4*6)); +#elif defined(GRAPHICS_API_OPENGL_ES2) + glDrawElements(GL_TRIANGLES, draws[i].vertexCount/4*6, GL_UNSIGNED_SHORT, (GLvoid *)(sizeof(GLushort)*vertexOffset/4*6)); +#endif + } + + vertexOffset += (draws[i].vertexCount + draws[i].vertexAlignment); + } + + if (!vaoSupported) + { + glBindBuffer(GL_ARRAY_BUFFER, 0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); + } + + glBindTexture(GL_TEXTURE_2D, 0); // Unbind textures + } + + if (vaoSupported) glBindVertexArray(0); // Unbind VAO + + glUseProgram(0); // Unbind shader program + } + + // Reset vertex counters for next frame + vertexData[currentBuffer].vCounter = 0; + vertexData[currentBuffer].tcCounter = 0; + vertexData[currentBuffer].cCounter = 0; + + // Reset depth for next draw + currentDepth = -1.0f; + + // Restore projection/modelview matrices + projection = matProjection; + modelview = matModelView; + + // Reset draws array + for (int i = 0; i < MAX_DRAWCALL_REGISTERED; i++) + { + draws[i].mode = RL_QUADS; + draws[i].vertexCount = 0; + draws[i].textureId = defaultTextureId; + } + + drawsCounter = 1; + + // Change to next buffer in the list + currentBuffer++; + if (currentBuffer >= MAX_BATCH_BUFFERING) currentBuffer = 0; +} + +// Unload default internal buffers vertex data from CPU and GPU +static void UnloadBuffersDefault(void) +{ + // Unbind everything + if (vaoSupported) glBindVertexArray(0); + glDisableVertexAttribArray(0); + glDisableVertexAttribArray(1); + glDisableVertexAttribArray(2); + glDisableVertexAttribArray(3); + glBindBuffer(GL_ARRAY_BUFFER, 0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); + + for (int i = 0; i < MAX_BATCH_BUFFERING; i++) + { + // Delete VBOs from GPU (VRAM) + glDeleteBuffers(1, &vertexData[i].vboId[0]); + glDeleteBuffers(1, &vertexData[i].vboId[1]); + glDeleteBuffers(1, &vertexData[i].vboId[2]); + glDeleteBuffers(1, &vertexData[i].vboId[3]); + + // Delete VAOs from GPU (VRAM) + if (vaoSupported) glDeleteVertexArrays(1, &vertexData[i].vaoId); + + // Free vertex arrays memory from CPU (RAM) + RL_FREE(vertexData[i].vertices); + RL_FREE(vertexData[i].texcoords); + RL_FREE(vertexData[i].colors); + RL_FREE(vertexData[i].indices); + } +} + +// Renders a 1x1 XY quad in NDC +static void GenDrawQuad(void) +{ + unsigned int quadVAO = 0; + unsigned int quadVBO = 0; + + float vertices[] = { + // Positions // Texture Coords + -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, + 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, + 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, + }; + + // Set up plane VAO + glGenVertexArrays(1, &quadVAO); + glGenBuffers(1, &quadVBO); + glBindVertexArray(quadVAO); + + // Fill buffer + glBindBuffer(GL_ARRAY_BUFFER, quadVBO); + glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), &vertices, GL_STATIC_DRAW); + + // Link vertex attributes + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)0); + glEnableVertexAttribArray(1); + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)(3*sizeof(float))); + + // Draw quad + glBindVertexArray(quadVAO); + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); + glBindVertexArray(0); + + glDeleteBuffers(1, &quadVBO); + glDeleteVertexArrays(1, &quadVAO); +} + +// Renders a 1x1 3D cube in NDC +static void GenDrawCube(void) +{ + unsigned int cubeVAO = 0; + unsigned int cubeVBO = 0; + + float vertices[] = { + -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, + 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f, + 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, + -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, + -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, + 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, + -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + -1.0f, 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 1.0f, + -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, + -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, + 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + 1.0f, -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, + -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, + 1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, + 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, + 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, + -1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, + -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, + -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f , 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, + 1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, + -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, + -1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f + }; + + // Set up cube VAO + glGenVertexArrays(1, &cubeVAO); + glGenBuffers(1, &cubeVBO); + + // Fill buffer + glBindBuffer(GL_ARRAY_BUFFER, cubeVBO); + glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); + + // Link vertex attributes + glBindVertexArray(cubeVAO); + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)0); + glEnableVertexAttribArray(1); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(3*sizeof(float))); + glEnableVertexAttribArray(2); + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(6*sizeof(float))); + glBindBuffer(GL_ARRAY_BUFFER, 0); + glBindVertexArray(0); + + // Draw cube + glBindVertexArray(cubeVAO); + glDrawArrays(GL_TRIANGLES, 0, 36); + glBindVertexArray(0); + + glDeleteBuffers(1, &cubeVBO); + glDeleteVertexArrays(1, &cubeVAO); +} + +#if defined(SUPPORT_VR_SIMULATOR) +// Set internal projection and modelview matrix depending on eyes tracking data +static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView) +{ + Matrix eyeProjection = matProjection; + Matrix eyeModelView = matModelView; + + // Setup viewport and projection/modelview matrices using tracking data + rlViewport(eye*screenWidth/2, 0, screenWidth/2, screenHeight); + + // Apply view offset to modelview matrix + eyeModelView = MatrixMultiply(matModelView, vrConfig.eyesViewOffset[eye]); + + // Set current eye projection matrix + eyeProjection = vrConfig.eyesProjection[eye]; + + SetMatrixModelview(eyeModelView); + SetMatrixProjection(eyeProjection); +} +#endif // SUPPORT_VR_SIMULATOR + +#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 + +#if defined(GRAPHICS_API_OPENGL_11) +// Mipmaps data is generated after image data +// NOTE: Only works with RGBA (4 bytes) data! +static int GenerateMipmaps(unsigned char *data, int baseWidth, int baseHeight) +{ + int mipmapCount = 1; // Required mipmap levels count (including base level) + int width = baseWidth; + int height = baseHeight; + int size = baseWidth*baseHeight*4; // Size in bytes (will include mipmaps...), RGBA only + + // Count mipmap levels required + while ((width != 1) && (height != 1)) + { + if (width != 1) width /= 2; + if (height != 1) height /= 2; + + TraceLog(LOG_DEBUG, "Next mipmap size: %i x %i", width, height); + + mipmapCount++; + + size += (width*height*4); // Add mipmap size (in bytes) + } + + TraceLog(LOG_DEBUG, "Total mipmaps required: %i", mipmapCount); + TraceLog(LOG_DEBUG, "Total size of data required: %i", size); + + unsigned char *temp = realloc(data, size); + + if (temp != NULL) data = temp; + else TraceLog(LOG_WARNING, "Mipmaps required memory could not be allocated"); + + width = baseWidth; + height = baseHeight; + size = (width*height*4); + + // Generate mipmaps + // NOTE: Every mipmap data is stored after data + Color *image = (Color *)RL_MALLOC(width*height*sizeof(Color)); + Color *mipmap = NULL; + int offset = 0; + int j = 0; + + for (int i = 0; i < size; i += 4) + { + image[j].r = data[i]; + image[j].g = data[i + 1]; + image[j].b = data[i + 2]; + image[j].a = data[i + 3]; + j++; + } + + TraceLog(LOG_DEBUG, "Mipmap base (%ix%i)", width, height); + + for (int mip = 1; mip < mipmapCount; mip++) + { + mipmap = GenNextMipmap(image, width, height); + + offset += (width*height*4); // Size of last mipmap + j = 0; + + width /= 2; + height /= 2; + size = (width*height*4); // Mipmap size to store after offset + + // Add mipmap to data + for (int i = 0; i < size; i += 4) + { + data[offset + i] = mipmap[j].r; + data[offset + i + 1] = mipmap[j].g; + data[offset + i + 2] = mipmap[j].b; + data[offset + i + 3] = mipmap[j].a; + j++; + } + + RL_FREE(image); + + image = mipmap; + mipmap = NULL; + } + + RL_FREE(mipmap); // free mipmap data + + return mipmapCount; +} + +// Manual mipmap generation (basic scaling algorithm) +static Color *GenNextMipmap(Color *srcData, int srcWidth, int srcHeight) +{ + int x2, y2; + Color prow, pcol; + + int width = srcWidth/2; + int height = srcHeight/2; + + Color *mipmap = (Color *)RL_MALLOC(width*height*sizeof(Color)); + + // Scaling algorithm works perfectly (box-filter) + for (int y = 0; y < height; y++) + { + y2 = 2*y; + + for (int x = 0; x < width; x++) + { + x2 = 2*x; + + prow.r = (srcData[y2*srcWidth + x2].r + srcData[y2*srcWidth + x2 + 1].r)/2; + prow.g = (srcData[y2*srcWidth + x2].g + srcData[y2*srcWidth + x2 + 1].g)/2; + prow.b = (srcData[y2*srcWidth + x2].b + srcData[y2*srcWidth + x2 + 1].b)/2; + prow.a = (srcData[y2*srcWidth + x2].a + srcData[y2*srcWidth + x2 + 1].a)/2; + + pcol.r = (srcData[(y2+1)*srcWidth + x2].r + srcData[(y2+1)*srcWidth + x2 + 1].r)/2; + pcol.g = (srcData[(y2+1)*srcWidth + x2].g + srcData[(y2+1)*srcWidth + x2 + 1].g)/2; + pcol.b = (srcData[(y2+1)*srcWidth + x2].b + srcData[(y2+1)*srcWidth + x2 + 1].b)/2; + pcol.a = (srcData[(y2+1)*srcWidth + x2].a + srcData[(y2+1)*srcWidth + x2 + 1].a)/2; + + mipmap[y*width + x].r = (prow.r + pcol.r)/2; + mipmap[y*width + x].g = (prow.g + pcol.g)/2; + mipmap[y*width + x].b = (prow.b + pcol.b)/2; + mipmap[y*width + x].a = (prow.a + pcol.a)/2; + } + } + + TraceLog(LOG_DEBUG, "Mipmap generated successfully (%ix%i)", width, height); + + return mipmap; +} +#endif + +#if defined(RLGL_STANDALONE) +// Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG) +void TraceLog(int msgType, const char *text, ...) +{ + va_list args; + va_start(args, text); + + switch (msgType) + { + case LOG_INFO: fprintf(stdout, "INFO: "); break; + case LOG_ERROR: fprintf(stdout, "ERROR: "); break; + case LOG_WARNING: fprintf(stdout, "WARNING: "); break; + case LOG_DEBUG: fprintf(stdout, "DEBUG: "); break; + default: break; + } + + vfprintf(stdout, text, args); + fprintf(stdout, "\n"); + + va_end(args); + + if (msgType == LOG_ERROR) exit(1); +} + +// Get pixel data size in bytes (image or texture) +// NOTE: Size depends on pixel format +int GetPixelDataSize(int width, int height, int format) +{ + int dataSize = 0; // Size in bytes + int bpp = 0; // Bits per pixel + + switch (format) + { + case UNCOMPRESSED_GRAYSCALE: bpp = 8; break; + case UNCOMPRESSED_GRAY_ALPHA: + case UNCOMPRESSED_R5G6B5: + case UNCOMPRESSED_R5G5B5A1: + case UNCOMPRESSED_R4G4B4A4: bpp = 16; break; + case UNCOMPRESSED_R8G8B8A8: bpp = 32; break; + case UNCOMPRESSED_R8G8B8: bpp = 24; break; + case UNCOMPRESSED_R32: bpp = 32; break; + case UNCOMPRESSED_R32G32B32: bpp = 32*3; break; + case UNCOMPRESSED_R32G32B32A32: bpp = 32*4; break; + case COMPRESSED_DXT1_RGB: + case COMPRESSED_DXT1_RGBA: + case COMPRESSED_ETC1_RGB: + case COMPRESSED_ETC2_RGB: + case COMPRESSED_PVRT_RGB: + case COMPRESSED_PVRT_RGBA: bpp = 4; break; + case COMPRESSED_DXT3_RGBA: + case COMPRESSED_DXT5_RGBA: + case COMPRESSED_ETC2_EAC_RGBA: + case COMPRESSED_ASTC_4x4_RGBA: bpp = 8; break; + case COMPRESSED_ASTC_8x8_RGBA: bpp = 2; break; + default: break; + } + + dataSize = width*height*bpp/8; // Total data size in bytes + + return dataSize; +} +#endif // RLGL_STANDALONE + +#endif // RLGL_IMPLEMENTATION \ No newline at end of file diff --git a/examples/web/models/rlights.h b/examples/web/models/rlights.h new file mode 100644 index 0000000..1950447 --- /dev/null +++ b/examples/web/models/rlights.h @@ -0,0 +1,177 @@ +/********************************************************************************************** +* +* raylib.lights - Some useful functions to deal with lights data +* +* CONFIGURATION: +* +* #define RLIGHTS_IMPLEMENTATION +* Generates the implementation of the library into the included file. +* If not defined, the library is in header only mode and can be included in other headers +* or source files without problems. But only ONE file should hold the implementation. +* +* LICENSE: zlib/libpng +* +* Copyright (c) 2017 Victor Fisac and Ramon Santamaria +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#ifndef RLIGHTS_H +#define RLIGHTS_H + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +#define MAX_LIGHTS 4 // Max lights supported by shader +#define LIGHT_DISTANCE 3.5f // Light distance from world center +#define LIGHT_HEIGHT 1.0f // Light height position + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +typedef enum { + LIGHT_DIRECTIONAL, + LIGHT_POINT +} LightType; + +typedef struct { + bool enabled; + LightType type; + Vector3 position; + Vector3 target; + Color color; + int enabledLoc; + int typeLoc; + int posLoc; + int targetLoc; + int colorLoc; +} Light; + +#ifdef __cplusplus +extern "C" { // Prevents name mangling of functions +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int lightsCount = 0; // Current amount of created lights + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +Light CreateLight(int type, Vector3 pos, Vector3 targ, Color color, Shader shader); // Defines a light and get locations from PBR shader +void UpdateLightValues(Shader shader, Light light); // Send to PBR shader light values + +#ifdef __cplusplus +} +#endif + +#endif // RLIGHTS_H + + +/*********************************************************************************** +* +* RLIGHTS IMPLEMENTATION +* +************************************************************************************/ + +#if defined(RLIGHTS_IMPLEMENTATION) + +#include "raylib.h" + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Module specific Functions Declaration +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- + +// Defines a light and get locations from PBR shader +Light CreateLight(int type, Vector3 pos, Vector3 targ, Color color, Shader shader) +{ + Light light = { 0 }; + + if (lightsCount < MAX_LIGHTS) + { + light.enabled = true; + light.type = type; + light.position = pos; + light.target = targ; + light.color = color; + + char enabledName[32] = "lights[x].enabled\0"; + char typeName[32] = "lights[x].type\0"; + char posName[32] = "lights[x].position\0"; + char targetName[32] = "lights[x].target\0"; + char colorName[32] = "lights[x].color\0"; + enabledName[7] = '0' + lightsCount; + typeName[7] = '0' + lightsCount; + posName[7] = '0' + lightsCount; + targetName[7] = '0' + lightsCount; + colorName[7] = '0' + lightsCount; + + light.enabledLoc = GetShaderLocation(shader, enabledName); + light.typeLoc = GetShaderLocation(shader, typeName); + light.posLoc = GetShaderLocation(shader, posName); + light.targetLoc = GetShaderLocation(shader, targetName); + light.colorLoc = GetShaderLocation(shader, colorName); + + UpdateLightValues(shader, light); + lightsCount++; + } + + return light; +} + +// Send to PBR shader light values +void UpdateLightValues(Shader shader, Light light) +{ + // Send to shader light enabled state and type + SetShaderValue(shader, light.enabledLoc, &light.enabled, UNIFORM_INT); + SetShaderValue(shader, light.typeLoc, &light.type, UNIFORM_INT); + + // Send to shader light position values + float position[3] = { light.position.x, light.position.y, light.position.z }; + SetShaderValue(shader, light.posLoc, position, UNIFORM_VEC3); + + // Send to shader light target position values + float target[3] = { light.target.x, light.target.y, light.target.z }; + SetShaderValue(shader, light.targetLoc, target, UNIFORM_VEC3); + + // Send to shader light color values + float diff[4] = { (float)light.color.r/(float)255, (float)light.color.g/(float)255, (float)light.color.b/(float)255, (float)light.color.a/(float)255 }; + SetShaderValue(shader, light.colorLoc, diff, UNIFORM_VEC4); +} + +#endif // RLIGHTS_IMPLEMENTATION \ No newline at end of file -- cgit v1.2.3